diff --git a/FGBLH/Web鱼壳海豚.json b/FGBLH/Web鱼壳海豚.json index 06721548..f49d3c0e 100644 --- a/FGBLH/Web鱼壳海豚.json +++ b/FGBLH/Web鱼壳海豚.json @@ -108,6 +108,32 @@ "homePage":"https://fgblh.github.io/uhuj.github.io/youtube.html" }, { + "key":"youtube2", + "name":"🐬油管直播,py[其他]", + "type": 3, + "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/HKL/refs/heads/main/py/油管.py" + }, + { + "key":"youtube", + "name":"🐬油管[其他]", + "type":3, + "api":"csp_yt", + "homePage":"https://fgblh.github.io/uhuj.github.io/youtube.html" + }, + { + "key": "ppx", + "name": "🐬皮皮虾.py[追剧]", + "type": 3, + "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/HKL/refs/heads/main/py/皮皮虾.py", + "ext": "http://43.248.117.123:4680" + }, + { + "key": "ww", + "name": "🐬哇哇APP.py(关梯)[追剧]", + "type": 3, + "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/HKL/refs/heads/main/py/哇哇APP.py" + }, + { "key": "ppx", "name": "🐬皮皮虾.py[追剧]", "type": 3, diff --git a/FGBLH/Web鱼壳海豚py.json b/FGBLH/Web鱼壳海豚py.json index 0be3fd2c..99068a83 100644 --- a/FGBLH/Web鱼壳海豚py.json +++ b/FGBLH/Web鱼壳海豚py.json @@ -53,6 +53,12 @@ "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/HKL/refs/heads/main/py/聚合直播.py" }, { + "key":"youtube", + "name":"🐬油管直播,py[其他]", + "type": 3, + "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/HKL/refs/heads/main/py/油管.py" + }, + { "key": "ppx", "name": "🐬皮皮虾.py[追剧]", "type": 3, diff --git a/FGBLH/Web鱼壳海豚无18加.json b/FGBLH/Web鱼壳海豚无18加.json index dd8f0f2c..55b61e4f 100644 --- a/FGBLH/Web鱼壳海豚无18加.json +++ b/FGBLH/Web鱼壳海豚无18加.json @@ -108,6 +108,12 @@ "homePage":"https://fgblh.github.io/uhuj.github.io/youtube.html" }, { + "key":"youtube2", + "name":"🐬油管直播,py", + "type": 3, + "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/HKL/refs/heads/main/py/油管.py" + }, + { "key": "ppx", "name": "🐬皮皮虾.py", "type": 3, diff --git a/FGBLH/ok海豚.json b/FGBLH/ok海豚.json index 3574a5cc..65508753 100644 --- a/FGBLH/ok海豚.json +++ b/FGBLH/ok海豚.json @@ -65,6 +65,12 @@ "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/HKL/refs/heads/main/py/芒果TV.py" }, { + "key":"youtube", + "name":"🐬油管直播,py", + "type": 3, + "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/HKL/refs/heads/main/py/油管.py" + }, + { "key": "ppx", "name": "🐬皮皮虾.py", "type": 3, diff --git a/FGBLH/ok海豚py.json b/FGBLH/ok海豚py.json index cb48f707..44dc65fe 100644 --- a/FGBLH/ok海豚py.json +++ b/FGBLH/ok海豚py.json @@ -23,6 +23,12 @@ "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/HKL/refs/heads/main/py/优酷视频.py" }, { + "key":"youtube", + "name":"🐬油管直播,py", + "type": 3, + "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/HKL/refs/heads/main/py/油管.py" + }, + { "key": "ppx", "name": "🐬皮皮虾.py", "type": 3, diff --git a/FGBLH/ok海豚无18加.json b/FGBLH/ok海豚无18加.json index 267ddd8c..6ec6d02b 100644 --- a/FGBLH/ok海豚无18加.json +++ b/FGBLH/ok海豚无18加.json @@ -64,6 +64,12 @@ "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/HKL/refs/heads/main/py/芒果TV.py" }, { + "key":"youtube", + "name":"🐬油管直播,py", + "type": 3, + "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/HKL/refs/heads/main/py/油管.py" + }, + { "key": "ppx", "name": "🐬皮皮虾.py", "type": 3, diff --git a/FGBLH/py/油管.py b/FGBLH/py/油管.py new file mode 100644 index 00000000..773ddcb2 --- /dev/null +++ b/FGBLH/py/油管.py @@ -0,0 +1,723 @@ +#coding=utf-8 +#!/usr/bin/python +import re +import sys +import json +import html +import time +from urllib.parse import quote, unquote, urljoin + +import requests +from base.spider import Spider + +sys.path.append('..') + +DEBUG_LOG = '/sdcard/Download/ytblive_debug.log' + +LIVE_CLASSES = [ + {'type_id': 'live', 'type_name': '正在直播'}, + {'type_id': 'news live', 'type_name': '新闻直播'}, + {'type_id': 'music live', 'type_name': '音乐直播'}, + {'type_id': 'lofi live', 'type_name': 'Lofi直播'}, + {'type_id': 'space live', 'type_name': '太空直播'}, + {'type_id': 'nature live', 'type_name': '自然直播'}, + {'type_id': 'game live', 'type_name': '游戏直播'}, + {'type_id': 'sports live', 'type_name': '体育直播'}, +] + + +def debug_log(message, data=None): + try: + line = f"[{time.strftime('%Y-%m-%d %H:%M:%S')}] {message}" + if data is not None: + if isinstance(data, (dict, list)): + line += ' ' + json.dumps(data, ensure_ascii=False, default=str) + else: + line += ' ' + str(data) + with open(DEBUG_LOG, 'a', encoding='utf-8') as f: + f.write(line + '\n') + except Exception: + pass + + +class YouTubeLiveLite: + def __init__(self, session, headers=None, config=None): + self.session = session + self.headers = headers or {} + self.config = config or {} + self.cache = {} + self.cache_ttl = int(self.config.get('live_cache_ttl') or 45) + + @staticmethod + def extract_video_id(text): + text = str(text or '').strip() + for pattern in [ + r'(?:v=|/v/|/embed/|/shorts/|youtu\.be/)([0-9A-Za-z_-]{11})', + r'^([0-9A-Za-z_-]{11})$', + ]: + match = re.search(pattern, text) + if match: + return match.group(1) + raise Exception('无法识别 YouTube 视频 ID') + + def extract_live(self, url_or_id): + video_id = self.extract_video_id(url_or_id) + now = time.time() + cached = self.cache.get(video_id) + if cached and cached.get('expires', 0) > now: + debug_log('live cache hit', {'video_id': video_id, 'ttl': int(cached.get('expires', 0) - now)}) + return cached.get('data') + + watch_url = f'https://www.youtube.com/watch?v={video_id}' + debug_log('live extract start', {'input': url_or_id, 'video_id': video_id}) + response = self._get(watch_url) + page = response.text + player_response = self._extract_initial_player_response(page) or {} + ytcfg = self._extract_ytcfg(page) or {} + api_key = ytcfg.get('INNERTUBE_API_KEY') or self._search(r'"INNERTUBE_API_KEY":"([^"]+)"', page) + visitor_data = self._extract_visitor_data(ytcfg, player_response) + status_obj = player_response.get('playabilityStatus') or {} + streaming = player_response.get('streamingData') or {} + details = player_response.get('videoDetails') or {} + + debug_log('live page parsed', { + 'status': status_obj.get('status'), + 'reason': status_obj.get('reason'), + 'is_live': details.get('isLiveContent'), + 'has_hls': bool(streaming.get('hlsManifestUrl')), + 'has_api_key': bool(api_key), + 'has_visitor': bool(visitor_data), + }) + + page_hls_url = streaming.get('hlsManifestUrl') or '' + hls_source = 'page' if page_hls_url else '' + api_data = None + if api_key: + api_data = self._call_player_api(video_id, api_key, ytcfg, watch_url, visitor_data) + if api_data: + api_streaming = api_data.get('streamingData') or {} + api_details = api_data.get('videoDetails') or {} + api_hls_url = api_streaming.get('hlsManifestUrl') or '' + if api_hls_url: + streaming = api_streaming + hls_source = api_data.get('_client_name') or 'api' + elif not page_hls_url and api_streaming: + streaming = api_streaming + hls_source = api_data.get('_client_name') or 'api_no_hls' + if api_details: + details = api_details + status_obj = api_data.get('playabilityStatus') or status_obj + if not (streaming.get('hlsManifestUrl') or '') and page_hls_url: + streaming = dict(streaming or {}) + streaming['hlsManifestUrl'] = page_hls_url + hls_source = 'page_fallback' + + hls_url = streaming.get('hlsManifestUrl') or '' + is_live = bool(details.get('isLiveContent') or hls_url) + status = status_obj.get('status') or '' + reason = status_obj.get('reason') or '' + title = details.get('title') or video_id + + data = { + 'id': video_id, + 'title': title, + 'is_live': is_live, + 'status': status, + 'reason': reason, + 'hls_url': hls_url, + 'duration': int(details.get('lengthSeconds') or 0), + } + debug_log('live extract result', { + 'video_id': video_id, + 'status': status, + 'is_live': is_live, + 'has_hls': bool(hls_url), + 'hls_source': hls_source, + 'duration': data.get('duration'), + }) + self.cache[video_id] = {'data': data, 'expires': time.time() + self.cache_ttl} + return data + + def _get(self, url, **kwargs): + headers = self.headers.copy() + headers.update(kwargs.pop('headers', {}) or {}) + response = self.session.get(url, headers=headers, timeout=kwargs.pop('timeout', 15), **kwargs) + response.raise_for_status() + return response + + def _post_json(self, url, payload, headers=None): + final_headers = self.headers.copy() + final_headers.update({'Content-Type': 'application/json', 'Origin': 'https://www.youtube.com'}) + if headers: + final_headers.update({k: v for k, v in headers.items() if v}) + response = self.session.post(url, json=payload, headers=final_headers, timeout=15) + response.raise_for_status() + return response.json() + + def _call_player_api(self, video_id, api_key, ytcfg, referer, visitor_data=None): + context = ytcfg.get('INNERTUBE_CONTEXT') or { + 'client': {'clientName': 'WEB', 'clientVersion': '2.20240310.01.00', 'hl': 'en', 'gl': 'US'} + } + clients = [ + {'client': {'clientName': 'ANDROID', 'clientVersion': '21.02.35', 'androidSdkVersion': 30, 'userAgent': 'com.google.android.youtube/21.02.35 (Linux; U; Android 11) gzip', 'osName': 'Android', 'osVersion': '11', 'hl': 'en', 'gl': 'US'}}, + {'client': {'clientName': 'IOS', 'clientVersion': '21.02.3', 'deviceMake': 'Apple', 'deviceModel': 'iPhone16,2', 'userAgent': 'com.google.ios.youtube/21.02.3 (iPhone16,2; U; CPU iOS 18_3_2 like Mac OS X;)', 'osName': 'iPhone', 'osVersion': '18.3.2.22D82', 'hl': 'en', 'gl': 'US'}}, + {'client': {'clientName': 'MWEB', 'clientVersion': '2.20260115.01.00', 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1', 'hl': 'en', 'gl': 'US'}}, + context, + ] + for ctx in clients: + client = ctx.get('client') or {} + client_name = client.get('clientName') or 'WEB' + try: + url = f'https://www.youtube.com/youtubei/v1/player?key={quote(api_key)}&prettyPrint=false' + headers = { + 'Referer': referer, + 'X-YouTube-Client-Name': str(self._client_name_id(client_name)), + 'X-YouTube-Client-Version': client.get('clientVersion') or '', + } + if visitor_data: + headers['X-Goog-Visitor-Id'] = visitor_data + if client.get('userAgent'): + headers['User-Agent'] = client.get('userAgent') + payload = { + 'context': ctx, + 'videoId': video_id, + 'contentCheckOk': True, + 'racyCheckOk': True, + } + data = self._post_json(url, payload, headers=headers) + streaming = data.get('streamingData') or {} + status = (data.get('playabilityStatus') or {}).get('status') + debug_log('live api client', { + 'client': client_name, + 'status': status, + 'has_hls': bool(streaming.get('hlsManifestUrl')), + 'has_streaming': bool(streaming), + }) + if streaming.get('hlsManifestUrl'): + data['_client_name'] = client_name + return data + except Exception as e: + debug_log('live api client error', {'client': client_name, 'error': repr(e)}) + return None + + def _extract_visitor_data(self, ytcfg, player_response): + return ( + self.config.get('visitor_data') + or ytcfg.get('VISITOR_DATA') + or (((ytcfg.get('INNERTUBE_CONTEXT') or {}).get('client') or {}).get('visitorData')) + or ((player_response.get('responseContext') or {}).get('visitorData')) + ) + + def _extract_ytcfg(self, text): + match = re.search(r'ytcfg\.set\s*\(\s*({.+?})\s*\)\s*;', text or '', re.S) + if not match: + return None + try: + return json.loads(match.group(1)) + except Exception: + return None + + def _extract_initial_player_response(self, text): + return self._extract_json_after(text, 'ytInitialPlayerResponse') + + def _extract_json_after(self, text, marker): + pos = (text or '').find(marker) + if pos < 0: + return None + start = text.find('{', pos) + if start < 0: + return None + depth = 0 + in_str = None + escape = False + for index in range(start, len(text)): + char = text[index] + if escape: + escape = False + continue + if char == '\\': + escape = True + continue + if in_str: + if char == in_str: + in_str = None + continue + if char in ('"', "'"): + in_str = char + continue + if char == '{': + depth += 1 + elif char == '}': + depth -= 1 + if depth == 0: + try: + return json.loads(text[start:index + 1]) + except Exception: + return None + return None + + @staticmethod + def _search(pattern, text, default=None): + match = re.search(pattern, text or '', re.S) + return match.group(1) if match else default + + def _client_name_id(self, client_name): + return { + 'WEB': 1, + 'MWEB': 2, + 'ANDROID': 3, + 'IOS': 5, + 'TVHTML5': 7, + 'ANDROID_VR': 28, + 'WEB_EMBEDDED_PLAYER': 56, + 'WEB_REMIX': 67, + }.get(client_name, 1) + + +class Spider(Spider): + def getName(self): + return 'YouTube直播' + + def init(self, extend): + try: + self.extendDict = json.loads(extend) if extend else {} + except Exception: + self.extendDict = {} + self.session = requests.Session() + self.proxy_str = None + proxy_val = self.extendDict.get('proxy') + if proxy_val: + if isinstance(proxy_val, dict): + self.session.proxies = proxy_val + self.proxy_str = (proxy_val.get('http') or proxy_val.get('https') or '').replace('http://', '').replace('https://', '') + elif isinstance(proxy_val, str): + self.proxy_str = proxy_val.replace('http://', '').replace('https://', '') + proxy_url = f'http://{self.proxy_str}' + self.session.proxies = {'http': proxy_url, 'https': proxy_url} + self.header = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36', + 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', + 'Referer': 'https://www.youtube.com/' + } + self.session.headers.update(self.header) + self.yt = YouTubeLiveLite(self.session, self.header, self.extendDict) + self.search_page_cache = {} + self.hls_url_cache = {} + self.hls_proxy_enabled = self.extendDict.get('hls_proxy', True) is not False + debug_log('spider init', {'has_proxy': bool(self.proxy_str or self.session.proxies), 'hls_proxy': self.hls_proxy_enabled}) + + def homeContent(self, filter): + return {'class': LIVE_CLASSES} + + def homeVideoContent(self): + return {'list': []} + + def categoryContent(self, cid, page, filter, ext): + page = int(page or 1) + keyword = self._build_live_keyword(cid, ext if isinstance(ext, dict) else {}) + videos, has_more = self._search_youtube_page(keyword, page) + return {'list': videos, 'page': page, 'pagecount': page + 1 if has_more else page, 'limit': len(videos), 'total': len(videos)} + + def searchContent(self, key, quick, pg=1): + page = int(pg or 1) + keyword = str(key or '').strip() + if 'live' not in keyword.lower() and '直播' not in keyword: + keyword = f'{keyword} live' + videos, has_more = self._search_youtube_page(keyword, page) + return {'list': videos, 'page': page, 'pagecount': page + 1 if has_more else page, 'limit': len(videos), 'total': len(videos)} + + def detailContent(self, did): + video_id = did[0] + title = self._get_video_title(video_id) + status = '直播' + try: + data = self.yt.extract_live(video_id) + title = data.get('title') or title + if data.get('hls_url'): + status = '直播中' + elif data.get('status') == 'LIVE_STREAM_OFFLINE': + status = data.get('reason') or '未开播' + elif data.get('status') and data.get('status') != 'OK': + status = data.get('reason') or data.get('status') + else: + status = '无HLS' + debug_log('detail live status', {'video_id': video_id, 'status': status, 'has_hls': bool(data.get('hls_url'))}) + except Exception as e: + debug_log('detail live error', {'video_id': video_id, 'error': repr(e)}) + safe_title = self._safe_title(title) + vod = { + 'vod_id': video_id, + 'vod_name': title, + 'vod_pic': f'https://img.youtube.com/vi/{video_id}/hqdefault.jpg', + 'vod_remarks': status, + 'vod_play_from': '直播', + 'vod_play_url': f'{safe_title}${video_id}@live' + } + return {'list': [vod]} + + def playerContent(self, flag, pid, vipFlags): + raw_pid = pid.split('$')[-1] + video_id = raw_pid.rsplit('@', 1)[0] if '@' in raw_pid else raw_pid + debug_log('player live', {'flag': flag, 'pid': pid, 'video_id': video_id}) + try: + data = self.yt.extract_live(video_id) + hls_url = data.get('hls_url') or '' + if not hls_url: + status = data.get('status') or 'NO_HLS' + reason = data.get('reason') or '未获取到直播 HLS 地址' + debug_log('player live no hls', {'video_id': video_id, 'status': status, 'reason': reason}) + raise Exception(reason) + if self.extendDict.get('hls_probe'): + self._probe_hls(video_id, hls_url) + play_url = hls_url + if self.hls_proxy_enabled: + play_url = self._cache_hls_url(hls_url, video_id, 'master') + debug_log('return live hls', {'video_id': video_id, 'url_len': len(hls_url), 'status': data.get('status'), 'proxy': self.hls_proxy_enabled}) + return { + 'parse': 0, + 'jx': 0, + 'url': play_url, + 'header': self.header, + 'format': 'application/x-mpegURL' + } + except Exception as e: + debug_log('player live error', {'video_id': video_id, 'error': repr(e)}) + return {'parse': 1, 'jx': 1, 'url': pid} + + def _probe_hls(self, video_id, hls_url): + try: + response = self.session.get(hls_url, headers=self.header, timeout=10) + full_text = response.text or '' + text = full_text[:5000] + lines = [line.strip() for line in full_text.splitlines() if line.strip()][:12] + variant_url = self._pick_variant_playlist(hls_url, full_text) + debug_log('hls master probe', { + 'video_id': video_id, + 'status': response.status_code, + 'content_type': response.headers.get('content-type'), + 'length': len(response.text or ''), + 'has_extm3u': text.startswith('#EXTM3U'), + 'has_stream_inf': '#EXT-X-STREAM-INF' in text, + 'has_media_sequence': '#EXT-X-MEDIA-SEQUENCE' in text, + 'variant': bool(variant_url), + 'sample': lines, + }) + if variant_url: + child = self.session.get(variant_url, headers=self.header, timeout=10) + child_text = child.text[:5000] if child.text else '' + child_lines = [line.strip() for line in child_text.splitlines() if line.strip()][:12] + debug_log('hls variant probe', { + 'video_id': video_id, + 'status': child.status_code, + 'content_type': child.headers.get('content-type'), + 'length': len(child.text or ''), + 'has_extm3u': child_text.startswith('#EXTM3U'), + 'has_media_sequence': '#EXT-X-MEDIA-SEQUENCE' in child_text, + 'has_segments': bool(re.search(r'^[^#].+', child_text, re.M)), + 'sample': child_lines, + }) + except Exception as e: + debug_log('hls probe error', {'video_id': video_id, 'error': repr(e)}) + + def _pick_variant_playlist(self, base_url, text): + lines = [line.strip() for line in (text or '').splitlines()] + best_score = -1 + best_url = '' + for index, line in enumerate(lines): + if not line.startswith('#EXT-X-STREAM-INF'): + continue + score = 0 + bandwidth = re.search(r'BANDWIDTH=(\d+)', line) + resolution = re.search(r'RESOLUTION=(\d+)x(\d+)', line) + if bandwidth: + score += int(bandwidth.group(1)) + if resolution: + score += int(resolution.group(1)) * int(resolution.group(2)) + for next_line in lines[index + 1:]: + if not next_line or next_line.startswith('#'): + continue + if score > best_score: + best_score = score + best_url = urljoin(base_url, next_line) + break + return best_url + + # 不同类型缓存的存活时间:master/playlist 会被播放器长期反复复用(直播刷新同一 + # 播放列表 URL),需要长 TTL;media 分段一次性消费,用短 TTL 即可。 + HLS_TTL = {'master': 6 * 3600, 'playlist': 6 * 3600, 'media': 120, 'media_retry': 120} + + def _hls_ttl(self, kind): + return self.HLS_TTL.get(kind, 180) + + def _prune_hls_cache(self): + # 清理过期项,避免长时间直播时 media key 无限膨胀导致内存泄漏。 + now = time.time() + expired = [k for k, v in self.hls_url_cache.items() if v.get('expires', 0) < now] + for k in expired: + self.hls_url_cache.pop(k, None) + + def _cache_hls_url(self, target_url, video_id='', kind='media'): + self._prune_hls_cache() + # 用单调递增计数器而非 len(dict) 生成后缀,避免清理后长度回落造成 key 碰撞。 + self._hls_key_seq = getattr(self, '_hls_key_seq', 0) + 1 + key = f'{int(time.time() * 1000)}_{self._hls_key_seq}' + self.hls_url_cache[key] = { + 'url': target_url, + 'video_id': video_id, + 'kind': kind, + 'expires': time.time() + self._hls_ttl(kind), + } + return f'http://127.0.0.1:9978/proxy?do=py&type=hls&key={quote(key)}' + + def localProxy(self, params): + if params.get('do') != 'py' or params.get('type') != 'hls': + return None + key = params.get('key') or '' + item = self.hls_url_cache.get(key) + if not item or item.get('expires', 0) < time.time(): + debug_log('hls proxy missing', {'key': key}) + return [404, 'text/plain', 'HLS 缓存已过期'] + # 访问续期:只要播放器还在反复刷新该 URL(尤其是 master/playlist), + # 就保持其存活,避免固定 TTL 到期后直播中途 404 卡顿。 + item['expires'] = time.time() + self._hls_ttl(item.get('kind')) + target_url = item.get('url') or '' + try: + headers = self._hls_headers(target_url, item.get('kind')) + response = self.session.get(target_url, headers=headers, stream=True, timeout=15) + retried = False + if item.get('kind') == 'media' and response.status_code == 403: + retry_headers = self._hls_headers(target_url, 'media_retry') + response.close() + retried = True + response = self.session.get(target_url, headers=retry_headers, stream=True, timeout=15) + content_type = response.headers.get('content-type') or '' + is_m3u8 = item.get('kind') in ('master', 'playlist') or 'mpegurl' in content_type.lower() or target_url.split('?')[0].endswith('.m3u8') + debug_log('hls proxy response', { + 'key': key, + 'kind': item.get('kind'), + 'status': response.status_code, + 'content_type': content_type, + 'is_m3u8': is_m3u8, + 'url_len': len(target_url), + 'path_tail': target_url.split('?')[0][-80:], + 'retried': retried, + }) + if is_m3u8: + text = response.text + rewritten = self._rewrite_m3u8(text, target_url, item.get('video_id') or '') + return [response.status_code, 'application/vnd.apple.mpegurl', rewritten, {'Content-Type': 'application/vnd.apple.mpegurl', 'Cache-Control': 'no-cache'}] + resp_headers = {'Content-Type': content_type or 'application/octet-stream', 'Cache-Control': 'no-cache'} + if response.headers.get('content-length'): + resp_headers['Content-Length'] = response.headers.get('content-length') + return [response.status_code, content_type or 'application/octet-stream', response.content, resp_headers] + except Exception as e: + debug_log('hls proxy error', {'key': key, 'error': repr(e)}) + return [500, 'text/plain', f'HLS 代理失败: {str(e)}'] + + def _hls_headers(self, target_url, kind=None): + if kind == 'media_retry': + return { + 'User-Agent': 'com.google.android.youtube/21.02.35 (Linux; U; Android 11) gzip', + 'Accept': '*/*', + } + headers = self.header.copy() + headers['Accept'] = '*/*' + if kind in ('master', 'playlist'): + headers['Origin'] = 'https://www.youtube.com' + headers['Referer'] = 'https://www.youtube.com/' + elif kind == 'media': + headers['User-Agent'] = 'com.google.android.youtube/21.02.35 (Linux; U; Android 11) gzip' + headers.pop('Origin', None) + headers.pop('Referer', None) + return headers + + def _rewrite_m3u8(self, text, base_url, video_id=''): + output = [] + for line in (text or '').splitlines(): + stripped = line.strip() + if not stripped: + output.append(line) + continue + if stripped.startswith('#'): + output.append(self._rewrite_m3u8_tag(line, base_url, video_id)) + continue + absolute = urljoin(base_url, stripped) + kind = 'playlist' if stripped.endswith('.m3u8') or '/hls_playlist/' in stripped else 'media' + output.append(self._cache_hls_url(absolute, video_id, kind)) + return '\n'.join(output) + '\n' + + def _rewrite_m3u8_tag(self, line, base_url, video_id=''): + def replace_uri(match): + raw_url = match.group(1) + absolute = urljoin(base_url, raw_url) + proxied = self._cache_hls_url(absolute, video_id, 'media') + return f'URI="{proxied}"' + return re.sub(r'URI="([^"]+)"', replace_uri, line) + + def _build_live_keyword(self, cid, filters=None): + raw = str(cid or '').strip() + terms = [raw if raw else 'live'] + if isinstance(filters, dict): + for value in filters.values(): + term = self._normalize_filter_term(value) + if term: + terms.append(term) + keyword = ' '.join([x for x in terms if x]).strip() + if 'live' not in keyword.lower() and '直播' not in keyword: + keyword = f'{keyword} live' + return keyword + + def _normalize_filter_term(self, value): + if isinstance(value, (list, tuple)): + return ' '.join([self._normalize_filter_term(item) for item in value if item]) + if isinstance(value, dict): + return ' '.join([self._normalize_filter_term(item) for item in value.values() if item]) + return re.sub(r'\s+', ' ', str(value or '')).strip()[:180] + + def _search_cache_key(self, key): + return re.sub(r'\s+', ' ', str(key or '')).strip().lower() + + def _search_youtube_page(self, key, page=1): + page = max(1, int(page or 1)) + cache_key = self._search_cache_key(key) + session = self.search_page_cache.get(cache_key) + if page == 1 or not session: + session = self._fetch_search_first_page(key) + self.search_page_cache[cache_key] = session + while len(session.get('pages', [])) < page and session.get('next'): + data = self._fetch_search_continuation(session) + videos = self._extract_videos_from_api(data, 30) + session.setdefault('pages', []).append(videos) + session['next'] = self._extract_continuation_token(data) + pages = session.get('pages', []) + videos = pages[page - 1] if len(pages) >= page else [] + has_more = bool(session.get('next')) or len(pages) > page + debug_log('search page', {'key': key, 'page': page, 'count': len(videos), 'has_more': has_more}) + return videos, has_more + + def _fetch_search_first_page(self, key): + search_url = f'https://www.youtube.com/results?search_query={quote(str(key or ""))}&sp=EgJAAQ%253D%253D' + response = self.session.get(search_url, timeout=10) + html_str = response.text + data = self.yt._extract_json_after(html_str, 'ytInitialData') or {} + ytcfg = self.yt._extract_ytcfg(html_str) or {} + api_key = ytcfg.get('INNERTUBE_API_KEY') or self.yt._search(r'"INNERTUBE_API_KEY":"([^"]+)"', html_str) + context = ytcfg.get('INNERTUBE_CONTEXT') or {'client': {'clientName': 'WEB', 'clientVersion': '2.20240310.01.00', 'hl': 'zh-CN', 'gl': 'US'}} + client = context.get('client') or {} + return { + 'key': key, + 'api_key': api_key, + 'context': context, + 'client_name': client.get('clientName') or 'WEB', + 'client_version': client.get('clientVersion') or '2.20240310.01.00', + 'referer': search_url, + 'pages': [self._extract_videos_from_api(data, 30)], + 'next': self._extract_continuation_token(data), + } + + def _fetch_search_continuation(self, session): + token = session.get('next') + api_key = session.get('api_key') + if not token or not api_key: + return {} + url = f'https://www.youtube.com/youtubei/v1/search?key={quote(api_key)}' + headers = self.header.copy() + headers.update({ + 'Content-Type': 'application/json', + 'Origin': 'https://www.youtube.com', + 'Referer': session.get('referer') or 'https://www.youtube.com/', + 'X-YouTube-Client-Name': str(self.yt._client_name_id(session.get('client_name'))), + 'X-YouTube-Client-Version': session.get('client_version') or '2.20240310.01.00', + }) + payload = {'context': session.get('context') or {}, 'continuation': token} + response = self.session.post(url, json=payload, headers=headers, timeout=10) + response.raise_for_status() + return response.json() + + def _extract_continuation_token(self, data): + tokens = [] + def scan(obj): + if isinstance(obj, dict): + endpoint = obj.get('continuationEndpoint') or {} + token = endpoint.get('continuationCommand', {}).get('token') + if token: + tokens.append(token) + renderer = obj.get('continuationItemRenderer') or {} + token = renderer.get('continuationEndpoint', {}).get('continuationCommand', {}).get('token') + if token: + tokens.append(token) + for value in obj.values(): + scan(value) + elif isinstance(obj, list): + for value in obj: + scan(value) + scan(data) + return tokens[0] if tokens else '' + + def _extract_videos_from_api(self, data, limit=30): + videos = [] + seen = set() + def scan(obj): + if len(videos) >= limit: + return + if isinstance(obj, dict): + for key in ('videoRenderer', 'compactVideoRenderer', 'gridVideoRenderer'): + if key in obj: + item = self._parse_renderer(obj[key]) + if item and item['vod_id'] not in seen: + seen.add(item['vod_id']) + videos.append(item) + for value in obj.values(): + scan(value) + elif isinstance(obj, list): + for value in obj: + scan(value) + scan(data) + return videos[:limit] + + def _parse_renderer(self, renderer): + try: + video_id = renderer.get('videoId') + if not video_id: + nav = renderer.get('navigationEndpoint') or {} + video_id = (nav.get('watchEndpoint') or {}).get('videoId') + if not video_id: + return None + title_obj = renderer.get('title') or renderer.get('headline') or {} + title = title_obj.get('simpleText') or ''.join([x.get('text', '') for x in title_obj.get('runs', [])]) or 'YouTube Live' + badges = json.dumps(renderer.get('badges') or renderer.get('ownerBadges') or [], ensure_ascii=False) + overlays = json.dumps(renderer.get('thumbnailOverlays') or [], ensure_ascii=False) + view_text = self._text_from_obj(renderer.get('viewCountText')) + metadata = ' '.join([badges, overlays, view_text]).lower() + is_live = 'live' in metadata or '直播' in metadata or 'watching' in view_text.lower() + remarks = '直播' if is_live else (self._text_from_obj(renderer.get('lengthText')) or 'Live') + return { + 'vod_id': video_id, + 'vod_name': html.unescape(title), + 'vod_pic': f'https://img.youtube.com/vi/{video_id}/hqdefault.jpg', + 'vod_remarks': remarks, + } + except Exception as e: + debug_log('parse renderer error', repr(e)) + return None + + def _text_from_obj(self, obj): + if not obj: + return '' + if isinstance(obj, str): + return obj + if isinstance(obj, dict): + return obj.get('simpleText') or ''.join([x.get('text', '') for x in obj.get('runs', [])]) + return '' + + def _get_video_title(self, video_id): + try: + response = self.session.get(f'https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v={video_id}&format=json', timeout=5) + return response.json().get('title') or video_id + except Exception: + return video_id + + def _safe_title(self, title): + if not title: + return 'live' + return re.sub(r'[#$@%&!?*|\\/:<>]', ' ', title)[:60] diff --git a/TB18/MH.jpg b/TB18/MH.jpg index 117b4666..98cc9348 100644 --- a/TB18/MH.jpg +++ b/TB18/MH.jpg @@ -1003,7 +1003,6 @@ { "key": "😍皮皮影院", "name": "🍁┃皮皮┃影院", - "jar": "https://d.kstore.dev/download/12194/自用/BPQ.jar", "type": 3, "api": "csp_XBPQ", "ext": { @@ -1026,7 +1025,6 @@ "name": "🍁┃4k┃影院", "type": 3, "api": "csp_XBPQ", - "jar": "https://d.kstore.dev/download/12194/自用/BPQ.jar", "ext": { "主页url": "http://www.dgpengcheng.com/", "分类url": "http://www.dgpengcheng.com/vodshow/{cateId}-{area}-{by}-{class}-{lang}-{letter}---{catePg}---{year}.html", @@ -1049,7 +1047,6 @@ "name": "🍁┃秒映┃短剧", "type": 3, "api": "csp_XBPQ", - "jar": "https://d.kstore.dev/download/12194/自用/BPQ.jar", "ext": { "作者": "冰水", "站名": "秒映短剧260529", @@ -1094,7 +1091,6 @@ "name": "😍┃看球┃直播", "type": 3, "api": "csp_XBPQ", - "jar": "https://d.kstore.dev/download/12194/自用/BPQ.jar", "ext": { "数组": "j:data.list", "标题": "j:title", @@ -1246,5 +1242,5 @@ "url": "https://d.kstore.dev/download/12194/直播.txt", "epg": "https://epg.112114.eu.org/?ch={name}&date={date}" }], -"spider": "https://gitee.com/lyun_1_0/tb/raw/master/JAR/00.jar", +"spider": "https://gitee.com/lyun_1_0/tb/raw/master/JAR/MX.jar", "ads": ["wan.51img1.com","iqiyi.hbuioo.com","vip.ffzyad.com"]} diff --git a/TB18/YS.jpg b/TB18/YS.jpg index 8c9394ff..d483c5e4 100644 --- a/TB18/YS.jpg +++ b/TB18/YS.jpg @@ -30,7 +30,7 @@ "key": "js_liuyun", "name": "🍘┃琉璃┃ 影視", "type": 3, - "api": "https://d.kstore.dev/download/12194/TS/琉璃.js", + "api": "https://gitee.com/lyun_1_0/tb/raw/master/TS/琉璃.js", "类型": "影視" }, { @@ -87,7 +87,7 @@ "key": "csp_Jianpian", "name": "🍀┃影視┃ 荐片", "type": 3, - "api": "https://d.kstore.dev/download/12194/TS/jianp.js", + "api": "https://gitee.com/lyun_1_0/tb/raw/master/TS/荐片.js", "ext": "https://api.ztcgi.com", "类型": "影視" }, @@ -111,7 +111,7 @@ "name": "✏️┃影視┃ 金牌", "type": 3, "api": "csp_Jpys", - "ext": "https://y2s52n7.com,https://m.hkybqufgh.com,https://m.sizhengxt.com,https://m.jiabaide.cn" + "ext": "https://www.tjrongze.com,https://y2s52n7.com,https://m.hkybqufgh.com" }, { "key": "js_星辰影院", @@ -171,7 +171,7 @@ "type": 3, "api": "csp_XBPQ", "ext": "https://gitee.com/lyun_1_0/tb/raw/master/XP/枫叶.json", - "jar" : "https://gitee.com/lyun_1_0/tb/raw/master/JAR/00.jar" + "jar" : "https://gitee.com/lyun_1_0/tb/raw/master/JAR/MX.jar" }, { "key" : "csp_岚猫", @@ -179,7 +179,7 @@ "type" : 3, "api" : "csp_XBPQ", "ext" : "https://gitee.com/lyun_1_0/tb/raw/master/XP/岚猫.json", - "jar" : "https://gitee.com/lyun_1_0/tb/raw/master/JAR/00.jar" + "jar" : "https://gitee.com/lyun_1_0/tb/raw/master/JAR/MX.jar" }, { "key" : "csp_青禾", @@ -187,7 +187,7 @@ "type" : 3, "api" : "csp_XBPQ", "ext" : "https://gitee.com/lyun_1_0/tb/raw/master/XP/青禾.json", - "jar" : "https://gitee.com/lyun_1_0/tb/raw/master/JAR/00.jar" + "jar" : "https://gitee.com/lyun_1_0/tb/raw/master/JAR/MX.jar" }, { "key" : "csp_三星", @@ -195,7 +195,7 @@ "type" : 3, "api" : "csp_XBPQ", "ext" : "https://gitee.com/lyun_1_0/tb/raw/master/XP/三星.json", - "jar" : "https://gitee.com/lyun_1_0/tb/raw/master/JAR/00.jar" + "jar" : "https://gitee.com/lyun_1_0/tb/raw/master/JAR/MX.jar" }, { "key": "csp_huayi", @@ -623,7 +623,7 @@ "name": "⚽┃看球┃直播", "type": 3, "api": "csp_XBPQ", - "jar": "https://d.kstore.dev/download/12194/自用/BPQ.jar", + "jar": "https://gitee.com/lyun_1_0/tb/raw/master/JAR/MX.jar", "ext": { "数组": "j:data.list", "标题": "j:title", @@ -639,18 +639,6 @@ "分类": "足球$1#篮球$2#原声$4#回放$13#电竟$11#其他$9#", "分类url": "https://aapi2.xbncs.com/api/room/page?navId={cateId}&page={catePg}&pageSize=30"} }, -{ - "key" : "yslmPY", - "name" : "🌐┃央视┃栏目", - "type" : 3, - "api" : "https://mpimg.cn/down.php/2dfd46b7b542f1f4ac34e0af4ec5549b.py" -}, -{ - "key" : "yszyPY", - "name" : "🌐┃央视┃综艺", - "type" : 3, - "api" : "https://mpimg.cn/down.php/83d7645e7fa012dba942c467774e7b2b.py" -}, { "key": "csp_双星", "name": "💮┃双星┃动漫", diff --git a/catvod/Motorola/demo.json b/catvod/Motorola/demo.json new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/catvod/Motorola/demo.json @@ -0,0 +1 @@ + diff --git a/catvod/Motorola/index.config.js b/catvod/Motorola/index.config.js new file mode 100644 index 00000000..22566e40 --- /dev/null +++ b/catvod/Motorola/index.config.js @@ -0,0 +1,434 @@ +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// src/index.config.js +var index_config_exports = {}; +__export(index_config_exports, { + default: () => index_config_default +}); +module.exports = __toCommonJS(index_config_exports); +var index_config_default = { + ali: { + token: "" + }, + quark: { + cookie: "" + }, + uc: { + cookie: "", + token: "" + }, + y115: { + cookie: "", + offline: { + savePath: "0", + pollAttempts: 6, + pollIntervalMs: 1500 + } + }, + baidu: { + cookie: "" + }, + tianyi: { + username: "", + password: "" + }, + pan123: { + username: "", + password: "" + }, + muou: { + urls: ["https://123.666291.xyz", "https://666.666291.xyz", "https://www.muou.asia", "https://www.muou.site"] + }, + wogg: { + urls: ["https://wogg.333232.xyz", "https://wogg.xxooo.cf", "https://woggpan.888484.xyz", "https://www.wogg.lol", "https://www.wogg.one"] + }, + leijing: { + urls: ["https://www.leijing1.com", "https://leijing1.com", "https://www.leijing.xyz"] + }, + duoduo: { + urls: ["https://tv.214521.xyz", "https://tv.yydsys.cc", "https://tv.yydsys.top"] + }, + zhizhen: { + urls: ["http://www.miqk.cc", "https://mihdr.top", "https://www.mihdr.top", "https://www.miqk.cc", "https://www.zhizhenpan.fun", "https://xiaomi666.fun", "https://xiaomiai.site"] + }, + ouge: { + urls: ["https://woog.430520.xyz", "https://woog.nxog.eu.org", "https://woog.nxog.fun"] + }, + labi: { + urls: ["http://feimo.fun", "http://fmao.shop", "http://fmao.site", "http://xiaocge.fun", "http://xiaocgege.shop", "https://feimao666.fun"] + }, + kuaiying: { + urls: ["http://38.76.197.172:12521", "http://xsayang.fun:12512"] + }, + huban: { + urls: ["http://38.76.197.172:16969", "http://xhban.xyz:20720"] + }, + erxiao: { + urls: ["https://www.2xiaopan.top/", "https://2xiaopan.top/", "https://www.erxiaozhan.top/", "https://www.2xiaozhan.top/", "https://wexwp.cc/"] + }, + shandian: { + urls: ["http://shandian.blog", "https://sd.sduc.site"] + }, + tgsou: { + tgPic: true, + count: 0, + url: "https://tgsou.lmentor.dpdns.org", + channelUsername: "tgsearchers7,Aliyun_4K_Movies,bdbdndn11,yunpanx,bsbdbfjfjff,yp123pan,yunpanxunlei,tianyifc,BaiduCloudDisk,txtyzy,peccxinpd,gotopan,PanjClub,baicaoZY,MCPH01,MCPH02,MCPH03,bdwpzhpd,ysxb48,jdjdn1111,yggpan,MCPH086,zaihuayun,Q66Share,ucwpzy,shareAliyun,alyp_1,dianyingshare,Quark_Movies,ydypzyfx,ucquark,xx123pan,yingshifenxiang123,zyfb123,tyypzhpd,tianyirigeng,cloudtianyi,hdhhd21,Lsp115,oneonefivewpfx,qixingzhenren,taoxgzy,Channel_Shares_115,tyysypzypd,vip115hot,wp123zy,yunpan139,yunpan189,yunpanuc,yydf_hzl,leoziyuan,Q_dongman,yoyokuakeduanju,TG654TG,WFYSFX02,QukanMovie,yeqingjie_GJG666,movielover8888_film3,Baidu_netdisk,D_wusun,FLMdongtianfudi,KaiPanshare,QQZYDAPP,rjyxfx,PikPak_Share_Channel,btzhi,newproductsourcing,cctv1211,duan_ju,QuarkFree,yunpanNB,kkdj001,xxzlzn,pxyunpanxunlei,jxwpzy,kuakedongman,liangxingzhinan,xiangnikanj,guoman4K,zdqxm,kduanju,cilidianying,CBduanju,SharePanFilms,dzsgx,BooksRealm,Oscar_4Kmovies,douerpan,baidu_yppan,Q_jilupian,Netdisk_Movies,yunpanquark,ammmziyuan,ciliziyuanku,cili8888,jzmm_123pan,Q_dianying,domgmingapk,dianying4k,q_dianshiju,tgbokee,ucshare,godupan,gokuapan,gimy115,WFYSFX03,peccxin,Movie888035,xlwpzy,zyywpzy,wydwpzy,gimy100,ucshare,gimy115iso,aliyunys,clouddriveresources,XunLeiPinDao,ydwpzy,a123fxme,WPpindao,kuyupan,djya5,yingshiziyuanpindao,zh_vip,pan_guangya,zyzhpd123,zhenyingsg,gdsharing,weichengduanju666,yingxiangkj,duanjucabian,kuakenetpan,kelea555,tianyiyunpanpindao,PikPakShareChannel,tgyy678,xuexixiaonengshou1,google_yppan,ayzgzf" + }, + tgchannel: { + url: "https://t.me", + count: 4, + enableImage: true, + homeChannelUsername: ["tgsearchers7", "douerpan"], + channelUsername: ["Q66Share", "alyp_TV", "ucpanpan", "ucquark", "tianyirigeng", "hao115", "guaguale115", "ydypzyfx", "tgsearchers6", "NewQuark", "dianyingshare", "XiangxiuNB", "yunpanpan", "kuakeyun", "Quark_Movies", "qixingzhenren", "longzbija", "alyp_4K_Movies", "yunpanshare", "shareAliyun", "alyp_1", "xx123pan"], + channelRemark: { + tgsearchers7: "资源宇宙", + douerpan: "豆儿盘" + } + }, + sites: { + list: [] + }, + pans: { + list: [] + }, + danmuBuiltin: { + enabled: true, + host: "127.0.0.1", + port: 9321, + token: "87654321", + autoStart: true + }, + danmu: { + urls: [ + { address: "http://127.0.0.1:9321/87654321", name: "内置" }, + { address: "http://47.107.188.112:6008/87654321", name: "公益1" }, + { address: "http://ecs.dysobo.cn:9321/87654321", name: "公益2" } + ], + format: "xml", + autoPush: true, + autoPushBlacklist: ["aishangtingshu", "i275", "kafeizhibo", "aiting_music", "tingleme", "tingyou", "bili_all", "bili_official", "88kanqiu", "douyu", "fengye_music", "douyinlive", "huaren_live", "live"] + }, + t4: { + list: [] + }, + cms: { + list: [] + }, + pansou: { + api_urls: "https://so.hk.111651.xyz", + channels: "", + plugins: "", + cloud_types: "", + include: "", + exclude: "", + count: 20, + pancheck: "", + pancheck_enabled: false, + pancheck_mode: "off" + }, + emby: [ + { + name: "embysim服", + server: "http://192.168.50.119:8096", + username: "emby", + password: "1234", + deviceName: "Hills Windows", + client: "Hills Windows", + clientVersion: "0.2.3", + enablePlaybackReport: true + // 播放进度上报EMBY服务器 + }, + { + name: "示例", + server: "", + username: "", + password: "", + deviceName: "", + client: "", + clientVersion: "", + enablePlaybackReport: false + } + ], + live: [ + { + name: "", + url: "", + ua: "okhttp/3.15", + enabled: true, + logoUrl: "" + } + ], + alist: [ + { + name: "测试", + server: "http://118.122.130.22:5678", + username: "", + password: "", + enabled: true + } + ], + alist_tvbox: { + base_url: "http://127.0.0.1:4567", + token: "", + custom_classes: "" + }, + webdav: [ + { + name: "亿苯正经", + server: "https://pan.lm379.cn:443", + path: "/dav", + username: "public_dav", + password: "public", + enabled: true + }, + { + name: "追番", + server: "https://zhuifan.link:443", + path: "/dav", + username: "zhuifan", + password: "zhuifan", + enabled: true + }, + { + name: "七米兰", + server: "https://al.chirmyram.com", + path: "/dav", + username: "alist", + password: "alist", + enabled: true + } + ], + bilibili: { + cookie: "", + classes: "" + }, + color: [ + { + light: { + bg: "https://i2.100024.xyz/2024/01/13/pptcej.webp", + bgMask: "0x50ffffff", + primary: "0xff446732", + onPrimary: "0xffffffff", + primaryContainer: "0xffc5efab", + onPrimaryContainer: "0xff072100", + secondary: "0xff55624c", + onSecondary: "0xffffffff", + secondaryContainer: "0xffd9e7cb", + onSecondaryContainer: "0xff131f0d", + tertiary: "0xff386666", + onTertiary: "0xffffffff", + tertiaryContainer: "0xffbbebec", + onTertiaryContainer: "0xff002020", + error: "0xffba1a1a", + onError: "0xffffffff", + errorContainer: "0xffffdad6", + onErrorContainer: "0xff410002", + background: "0xfff8faf0", + onBackground: "0xff191d16", + surface: "0xfff8faf0", + onSurface: "0xff191d16", + surfaceVariant: "0xffe0e4d6", + onSurfaceVariant: "0xff191d16", + inverseSurface: "0xff2e312b", + inverseOnSurface: "0xfff0f2e7", + outline: "0xff74796d", + outlineVariant: "0xffc3c8bb", + shadow: "0xff000000", + scrim: "0xff000000", + inversePrimary: "0xffaad291", + surfaceTint: "0xff446732" + }, + dark: { + bg: "https://i2.100024.xyz/2024/01/13/pptg3z.webp", + bgMask: "0x50000000", + primary: "0xffaad291", + onPrimary: "0xff173807", + primaryContainer: "0xff2d4f1c", + onPrimaryContainer: "0xffc5efab", + secondary: "0xffbdcbb0", + onSecondary: "0xff283420", + secondaryContainer: "0xff3e4a35", + onSecondaryContainer: "0xffd9e7cb", + tertiary: "0xffa0cfcf", + onTertiary: "0xff003738", + tertiaryContainer: "0xff1e4e4e", + onTertiaryContainer: "0xffbbebec", + error: "0xffffb4ab", + onError: "0xff690005", + errorContainer: "0xff93000a", + onErrorContainer: "0xffffdad6", + background: "0xff11140e", + onBackground: "0xffe1e4d9", + surface: "0xff11140e", + onSurface: "0xffe1e4d9", + surfaceVariant: "0xff43483e", + onSurfaceVariant: "0xffe1e4d9", + inverseSurface: "0xffe1e4d9", + inverseOnSurface: "0xff2e312b", + outline: "0xff8d9286", + outlineVariant: "0xff43483e", + shadow: "0xff000000", + scrim: "0xff000000", + inversePrimary: "0xff446732", + surfaceTint: "0xffaad291" + } + }, + { + light: { + bg: "https://i2.100024.xyz/2024/01/13/pi2rpw.webp", + bgMask: "0x50ffffff", + primary: "0xff666014", + onPrimary: "0xffffffff", + primaryContainer: "0xffeee58c", + onPrimaryContainer: "0xff1f1c00", + secondary: "0xff625f42", + onSecondary: "0xffffffff", + secondaryContainer: "0xffe9e4be", + onSecondaryContainer: "0xff1e1c05", + tertiary: "0xff3f6654", + onTertiary: "0xffffffff", + tertiaryContainer: "0xffc1ecd5", + onTertiaryContainer: "0xff002114", + error: "0xffba1a1a", + onError: "0xffffffff", + errorContainer: "0xffffdad6", + onErrorContainer: "0xff410002", + background: "0xfffef9eb", + onBackground: "0xff1d1c14", + surface: "0xfffef9eb", + onSurface: "0xff1d1c14", + surfaceVariant: "0xffe7e3d0", + onSurfaceVariant: "0xff1d1c14", + inverseSurface: "0xff323128", + inverseOnSurface: "0xfff5f1e3", + outline: "0xff7a7768", + outlineVariant: "0xffcbc7b5", + shadow: "0xff000000", + scrim: "0xff000000", + inversePrimary: "0xffd1c973", + surfaceTint: "0xff666014" + }, + dark: { + bg: "https://i2.100024.xyz/2024/01/13/pi2reo.webp", + bgMask: "0x50000000", + primary: "0xffd1c973", + onPrimary: "0xff353100", + primaryContainer: "0xff4d4800", + onPrimaryContainer: "0xffeee58c", + secondary: "0xffcdc8a3", + onSecondary: "0xff333117", + secondaryContainer: "0xff4a482c", + onSecondaryContainer: "0xffe9e4be", + tertiary: "0xffa6d0b9", + onTertiary: "0xff0e3727", + tertiaryContainer: "0xff274e3d", + onTertiaryContainer: "0xffc1ecd5", + error: "0xffffb4ab", + onError: "0xff690005", + errorContainer: "0xff93000a", + onErrorContainer: "0xffffdad6", + background: "0xff14140c", + onBackground: "0xffe7e2d5", + surface: "0xff14140c", + onSurface: "0xffe7e2d5", + surfaceVariant: "0xff49473a", + onSurfaceVariant: "0xffe7e2d5", + inverseSurface: "0xffe7e2d5", + inverseOnSurface: "0xff323128", + outline: "0xff949181", + outlineVariant: "0xff49473a", + shadow: "0xff000000", + scrim: "0xff000000", + inversePrimary: "0xff666014", + surfaceTint: "0xffd1c973" + } + }, + { + light: { + bg: "https://i2.100024.xyz/2024/01/13/qrnuwt.webp", + bgMask: "0x50ffffff", + primary: "0xFF2B6C00", + onPrimary: "0xFFFFFFFF", + primaryContainer: "0xFFA6F779", + onPrimaryContainer: "0xFF082100", + secondary: "0xFF55624C", + onSecondary: "0xFFFFFFFF", + secondaryContainer: "0xFFD9E7CA", + onSecondaryContainer: "0xFF131F0D", + tertiary: "0xFF386666", + onTertiary: "0xFFFFFFFF", + tertiaryContainer: "0xFFBBEBEB", + onTertiaryContainer: "0xFF002020", + error: "0xFFBA1A1A", + onError: "0xFFFFFFFF", + errorContainer: "0xFFFFDAD6", + onErrorContainer: "0xFF410002", + background: "0xFFFDFDF5", + onBackground: "0xFF1A1C18", + surface: "0xFFFDFDF5", + onSurface: "0xFF1A1C18", + surfaceVariant: "0xFFE0E4D6", + onSurfaceVariant: "0xFF1A1C18", + inverseSurface: "0xFF2F312C", + onInverseSurface: "0xFFF1F1EA", + outline: "0xFF74796D", + outlineVariant: "0xFFC3C8BB", + shadow: "0xFF000000", + scrim: "0xFF000000", + inversePrimary: "0xFF8CDA60", + surfaceTint: "0xFF2B6C00" + }, + dark: { + bg: "https://i2.100024.xyz/2024/01/13/qrc37o.webp", + bgMask: "0x50000000", + primary: "0xFF8CDA60", + onPrimary: "0xFF133800", + primaryContainer: "0xFF1F5100", + onPrimaryContainer: "0xFFA6F779", + secondary: "0xFFBDCBAF", + onSecondary: "0xFF283420", + secondaryContainer: "0xFF3E4A35", + onSecondaryContainer: "0xFFD9E7CA", + tertiary: "0xFFA0CFCF", + onTertiary: "0xFF003737", + tertiaryContainer: "0xFF1E4E4E", + onTertiaryContainer: "0xFFBBEBEB", + error: "0xFFFFB4AB", + errorContainer: "0xFF93000A", + onError: "0xFF690005", + onErrorContainer: "0xFFFFDAD6", + background: "0xFF1A1C18", + onBackground: "0xFFE3E3DC", + outline: "0xFF8D9286", + onInverseSurface: "0xFF1A1C18", + inverseSurface: "0xFFE3E3DC", + inversePrimary: "0xFF2B6C00", + shadow: "0xFF000000", + surfaceTint: "0xFF8CDA60", + outlineVariant: "0xFF43483E", + scrim: "0xFF000000", + surface: "0xFF1A1C18", + onSurface: "0xFFC7C7C0", + surfaceVariant: "0xFF43483E", + onSurfaceVariant: "0xFFC7C7C0" + } + } + ] +}; diff --git a/catvod/Motorola/index.config.js.md5 b/catvod/Motorola/index.config.js.md5 new file mode 100644 index 00000000..962fc437 --- /dev/null +++ b/catvod/Motorola/index.config.js.md5 @@ -0,0 +1 @@ +78f278d1b156d40ea102c3e79c3c76c4 \ No newline at end of file diff --git a/catvod/Motorola/index.js b/catvod/Motorola/index.js new file mode 100644 index 00000000..e3525be6 --- /dev/null +++ b/catvod/Motorola/index.js @@ -0,0 +1,10938 @@ + +globalThis.websiteBundle = (() => { + return [ + '(function() {', + ' const exports = {};', + ' const module = { exports };', + "var Hp=Object.create;var or=Object.defineProperty,qp=Object.defineProperties,jp=Object.getOwnPropertyDescriptor,Yp=Object.getOwnPropertyDescriptors,Kp=Object.getOwnPropertyNames,co=Object.getOwnPropertySymbols,Jp=Object.getPrototypeOf,Ga=Object.prototype.hasOwnProperty,Zs=Object.prototype.propertyIsEnumerable;var Qs=(e,t,n)=>t in e?or(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,C=(e,t)=>{for(var n in t||(t={}))Ga.call(t,n)&&Qs(e,n,t[n]);if(co)for(var n of co(t))Zs.call(t,n)&&Qs(e,n,t[n]);return e},I=(e,t)=>qp(e,Yp(t));var Ft=(e,t)=>{var n={};for(var r in e)Ga.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&co)for(var r of co(e))t.indexOf(r)<0&&Zs.call(e,r)&&(n[r]=e[r]);return n};var ke=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Xp=(e,t)=>{for(var n in t)or(e,n,{get:t[n],enumerable:!0})},Rs=(e,t,n,r)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let o of Kp(t))!Ga.call(e,o)&&o!==n&&or(e,o,{get:()=>t[o],enumerable:!(r=jp(t,o))||r.enumerable});return e};var B=(e,t,n)=>(n=e!=null?Hp(Jp(e)):{},Rs(t||!e||!e.__esModule?or(n,\"default\",{value:e,enumerable:!0}):n,e)),Qp=e=>Rs(or({},\"__esModule\",{value:!0}),e);var R=ke((bC,el)=>{el.exports=window.React});var uo=ke((xC,tl)=>{tl.exports=window.ReactDOM});var rl=ke(Ha=>{\"use strict\";var nl=uo();Ha.createRoot=nl.createRoot,Ha.hydrateRoot=nl.hydrateRoot;var vC});var Pe=ke((wC,ol)=>{ol.exports=window.antd});var nt=ke((CC,al)=>{al.exports=window.axios});var sl=ke((SC,il)=>{il.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],r=0;r{\"use strict\";var Zp=sl(),ll={\"text/plain\":\"Text\",\"text/html\":\"Url\",default:\"Text\"},Rp=\"Copy to clipboard: #{key}, Enter\";function em(e){var t=(/mac os x/i.test(navigator.userAgent)?\"\\u2318\":\"Ctrl\")+\"+C\";return e.replace(/#{\\s*key\\s*}/g,t)}function tm(e,t){var n,r,o,a,i,s,l=!1;t||(t={}),n=t.debug||!1;try{o=Zp(),a=document.createRange(),i=document.getSelection(),s=document.createElement(\"span\"),s.textContent=e,s.ariaHidden=\"true\",s.style.all=\"unset\",s.style.position=\"fixed\",s.style.top=0,s.style.clip=\"rect(0, 0, 0, 0)\",s.style.whiteSpace=\"pre\",s.style.webkitUserSelect=\"text\",s.style.MozUserSelect=\"text\",s.style.msUserSelect=\"text\",s.style.userSelect=\"text\",s.addEventListener(\"copy\",function(f){if(f.stopPropagation(),t.format)if(f.preventDefault(),typeof f.clipboardData>\"u\"){n&&console.warn(\"unable to use e.clipboardData\"),n&&console.warn(\"trying IE specific stuff\"),window.clipboardData.clearData();var d=ll[t.format]||ll.default;window.clipboardData.setData(d,e)}else f.clipboardData.clearData(),f.clipboardData.setData(t.format,e);t.onCopy&&(f.preventDefault(),t.onCopy(f.clipboardData))}),document.body.appendChild(s),a.selectNodeContents(s),i.addRange(a);var u=document.execCommand(\"copy\");if(!u)throw new Error(\"copy command was unsuccessful\");l=!0}catch(f){n&&console.error(\"unable to copy using execCommand: \",f),n&&console.warn(\"trying IE specific stuff\");try{window.clipboardData.setData(t.format||\"text\",e),t.onCopy&&t.onCopy(window.clipboardData),l=!0}catch(d){n&&console.error(\"unable to copy using clipboardData: \",d),n&&console.error(\"falling back to prompt\"),r=em(\"message\"in t?t.message:Rp),window.prompt(r,e)}}finally{i&&(typeof i.removeRange==\"function\"?i.removeRange(a):i.removeAllRanges()),s&&document.body.removeChild(s),o()}return l}dl.exports=tm});var vl=ke((JC,go)=>{(function(){\"use strict\";var e={}.hasOwnProperty;function t(){for(var o=\"\",a=0;a{\"use strict\";var kr=R();function fb(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var pb=typeof Object.is==\"function\"?Object.is:fb,mb=kr.useSyncExternalStore,gb=kr.useRef,hb=kr.useEffect,bb=kr.useMemo,xb=kr.useDebugValue;Tc.useSyncExternalStoreWithSelector=function(e,t,n,r,o){var a=gb(null);if(a.current===null){var i={hasValue:!1,value:null};a.current=i}else i=a.current;a=bb(function(){function l(m){if(!u){if(u=!0,f=m,m=r(m),o!==void 0&&i.hasValue){var x=i.value;if(o(x,m))return d=x}return d=m}if(x=d,pb(f,m))return x;var v=r(m);return o!==void 0&&o(x,v)?(f=m,x):(f=m,d=v)}var u=!1,f,d,c=n===void 0?null:n;return[function(){return l(t())},c===null?void 0:function(){return l(c())}]},[t,n,r,o]);var s=mb(e,a[0],a[1]);return hb(function(){i.hasValue=!0,i.value=s},[s]),xb(s),s}});var Fc=ke((jD,Nc)=>{\"use strict\";Nc.exports=kc()});var ms=ke((vI,Df)=>{function Y1(e){var t=typeof e;return e!=null&&(t==\"object\"||t==\"function\")}Df.exports=Y1});var Ef=ke((yI,If)=>{var K1=typeof global==\"object\"&&global&&global.Object===Object&&global;If.exports=K1});var gs=ke((wI,Tf)=>{var J1=Ef(),X1=typeof self==\"object\"&&self&&self.Object===Object&&self,Q1=J1||X1||Function(\"return this\")();Tf.exports=Q1});var Nf=ke((CI,kf)=>{var Z1=gs(),R1=function(){return Z1.Date.now()};kf.exports=R1});var Af=ke((SI,Ff)=>{var ew=/\\s/;function tw(e){for(var t=e.length;t--&&ew.test(e.charAt(t)););return t}Ff.exports=tw});var _f=ke((OI,Pf)=>{var nw=Af(),rw=/^\\s+/;function ow(e){return e&&e.slice(0,nw(e)+1).replace(rw,\"\")}Pf.exports=ow});var hs=ke((DI,Bf)=>{var aw=gs(),iw=aw.Symbol;Bf.exports=iw});var zf=ke((II,Vf)=>{var Lf=hs(),Mf=Object.prototype,sw=Mf.hasOwnProperty,lw=Mf.toString,Qr=Lf?Lf.toStringTag:void 0;function dw(e){var t=sw.call(e,Qr),n=e[Qr];try{e[Qr]=void 0;var r=!0}catch(a){}var o=lw.call(e);return r&&(t?e[Qr]=n:delete e[Qr]),o}Vf.exports=dw});var Uf=ke((EI,$f)=>{var cw=Object.prototype,uw=cw.toString;function fw(e){return uw.call(e)}$f.exports=fw});var qf=ke((TI,Hf)=>{var Wf=hs(),pw=zf(),mw=Uf(),gw=\"[object Null]\",hw=\"[object Undefined]\",Gf=Wf?Wf.toStringTag:void 0;function bw(e){return e==null?e===void 0?hw:gw:Gf&&Gf in Object(e)?pw(e):mw(e)}Hf.exports=bw});var Yf=ke((kI,jf)=>{function xw(e){return e!=null&&typeof e==\"object\"}jf.exports=xw});var Jf=ke((NI,Kf)=>{var vw=qf(),yw=Yf(),ww=\"[object Symbol]\";function Cw(e){return typeof e==\"symbol\"||yw(e)&&vw(e)==ww}Kf.exports=Cw});var Rf=ke((FI,Zf)=>{var Sw=_f(),Xf=ms(),Ow=Jf(),Qf=NaN,Dw=/^[-+]0x[0-9a-f]+$/i,Iw=/^0b[01]+$/i,Ew=/^0o[0-7]+$/i,Tw=parseInt;function kw(e){if(typeof e==\"number\")return e;if(Ow(e))return Qf;if(Xf(e)){var t=typeof e.valueOf==\"function\"?e.valueOf():e;e=Xf(t)?t+\"\":t}if(typeof e!=\"string\")return e===0?e:+e;e=Sw(e);var n=Iw.test(e);return n||Ew.test(e)?Tw(e.slice(2),n?2:8):Dw.test(e)?Qf:+e}Zf.exports=kw});var np=ke((AI,tp)=>{var Nw=ms(),bs=Nf(),ep=Rf(),Fw=\"Expected a function\",Aw=Math.max,Pw=Math.min;function _w(e,t,n){var r,o,a,i,s,l,u=0,f=!1,d=!1,c=!0;if(typeof e!=\"function\")throw new TypeError(Fw);t=ep(t)||0,Nw(n)&&(f=!!n.leading,d=\"maxWait\"in n,a=d?Aw(ep(n.maxWait)||0,t):a,c=\"trailing\"in n?!!n.trailing:c);function m(S){var F=r,T=o;return r=o=void 0,u=S,i=e.apply(T,F),i}function x(S){return u=S,s=setTimeout(y,t),f?m(S):i}function v(S){var F=S-l,T=S-u,P=t-F;return d?Pw(P,a-T):P}function h(S){var F=S-l,T=S-u;return l===void 0||F>=t||F<0||d&&T>=a}function y(){var S=bs();if(h(S))return b(S);s=setTimeout(y,v(S))}function b(S){return s=void 0,c&&r?m(S):(r=o=void 0,i)}function O(){s!==void 0&&clearTimeout(s),u=0,r=l=o=s=void 0}function w(){return s===void 0?i:b(bs())}function D(){var S=bs(),F=h(S);if(r=arguments,o=this,l=S,F){if(s===void 0)return x(l);if(d)return clearTimeout(s),s=setTimeout(y,t),m(l)}return s===void 0&&(s=setTimeout(y,t)),i}return D.cancel=O,D.flush=w,D}tp.exports=_w});var gC={};Xp(gC,{AccountInfo:()=>Fa,AliQrcodeCard:()=>Os,CMS:()=>Bp,DanmuSetting:()=>Pp,EmbyConfigWithSave:()=>zs,Pans:()=>Es,PansouSetting:()=>$s,QrcodeCard:()=>Zt,QrcodeImage:()=>Zr,SiteDomainSetting:()=>Va,Sites:()=>Vs,T4:()=>_p,TGChannel:()=>Ls,TGSou:()=>Bs,UCDualQrcodeCard:()=>Is,UCUt:()=>Ms,XunleiAccountInfo:()=>Ds,renderClient:()=>mC});module.exports=Qp(gC);var p=B(R(),1),Fp=B(rl(),1),g=B(Pe(),1),io=B(nt(),1),za=B(cl(),1);var ul=B(R()),nm=(0,ul.createContext)({}),fo=nm;function ee(){return ee=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nparseFloat(o));for(let o=0;o<3;o+=1)r[o]=t(r[o]||0,n[o]||\"\",o);return n[3]?r[3]=n[3].includes(\"%\")?r[3]/100:r[3]:r[3]=1,r}var yl=(e,t,n)=>n===0?e:e/100;function ar(e,t){let n=t||255;return e>n?n:e<0?0:e}var nn=class e{constructor(t){je(this,\"isValid\",!0),je(this,\"r\",0),je(this,\"g\",0),je(this,\"b\",0),je(this,\"a\",1),je(this,\"_h\",void 0),je(this,\"_s\",void 0),je(this,\"_l\",void 0),je(this,\"_v\",void 0),je(this,\"_max\",void 0),je(this,\"_min\",void 0),je(this,\"_brightness\",void 0);function n(r){return r[0]in t&&r[1]in t&&r[2]in t}if(t)if(typeof t==\"string\"){let o=function(a){return r.startsWith(a)},r=t.trim();/^#?[A-F\\d]{3,8}$/i.test(r)?this.fromHexString(r):o(\"rgb\")?this.fromRgbString(r):o(\"hsl\")?this.fromHslString(r):(o(\"hsv\")||o(\"hsb\"))&&this.fromHsvString(r)}else if(t instanceof e)this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this._h=t._h,this._s=t._s,this._l=t._l,this._v=t._v;else if(n(\"rgb\"))this.r=ar(t.r),this.g=ar(t.g),this.b=ar(t.b),this.a=typeof t.a==\"number\"?ar(t.a,1):1;else if(n(\"hsl\"))this.fromHsl(t);else if(n(\"hsv\"))this.fromHsv(t);else throw new Error(\"@ant-design/fast-color: unsupported input \"+JSON.stringify(t))}setR(t){return this._sc(\"r\",t)}setG(t){return this._sc(\"g\",t)}setB(t){return this._sc(\"b\",t)}setA(t){return this._sc(\"a\",t,1)}setHue(t){let n=this.toHsv();return n.h=t,this._c(n)}getLuminance(){function t(a){let i=a/255;return i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4)}let n=t(this.r),r=t(this.g),o=t(this.b);return .2126*n+.7152*r+.0722*o}getHue(){if(typeof this._h>\"u\"){let t=this.getMax()-this.getMin();t===0?this._h=0:this._h=Ye(60*(this.r===this.getMax()?(this.g-this.b)/t+(this.g\"u\"){let t=this.getMax()-this.getMin();t===0?this._s=0:this._s=t/this.getMax()}return this._s}getLightness(){return typeof this._l>\"u\"&&(this._l=(this.getMax()+this.getMin())/510),this._l}getValue(){return typeof this._v>\"u\"&&(this._v=this.getMax()/255),this._v}getBrightness(){return typeof this._brightness>\"u\"&&(this._brightness=(this.r*299+this.g*587+this.b*114)/1e3),this._brightness}darken(t=10){let n=this.getHue(),r=this.getSaturation(),o=this.getLightness()-t/100;return o<0&&(o=0),this._c({h:n,s:r,l:o,a:this.a})}lighten(t=10){let n=this.getHue(),r=this.getSaturation(),o=this.getLightness()+t/100;return o>1&&(o=1),this._c({h:n,s:r,l:o,a:this.a})}mix(t,n=50){let r=this._c(t),o=n/100,a=s=>(r[s]-this[s])*o+this[s],i={r:Ye(a(\"r\")),g:Ye(a(\"g\")),b:Ye(a(\"b\")),a:Ye(a(\"a\")*100)/100};return this._c(i)}tint(t=10){return this.mix({r:255,g:255,b:255,a:1},t)}shade(t=10){return this.mix({r:0,g:0,b:0,a:1},t)}onBackground(t){let n=this._c(t),r=this.a+n.a*(1-this.a),o=a=>Ye((this[a]*this.a+n[a]*n.a*(1-this.a))/r);return this._c({r:o(\"r\"),g:o(\"g\"),b:o(\"b\"),a:r})}isDark(){return this.getBrightness()<128}isLight(){return this.getBrightness()>=128}equals(t){return this.r===t.r&&this.g===t.g&&this.b===t.b&&this.a===t.a}clone(){return this._c(this)}toHexString(){let t=\"#\",n=(this.r||0).toString(16);t+=n.length===2?n:\"0\"+n;let r=(this.g||0).toString(16);t+=r.length===2?r:\"0\"+r;let o=(this.b||0).toString(16);if(t+=o.length===2?o:\"0\"+o,typeof this.a==\"number\"&&this.a>=0&&this.a<1){let a=Ye(this.a*255).toString(16);t+=a.length===2?a:\"0\"+a}return t}toHsl(){return{h:this.getHue(),s:this.getSaturation(),l:this.getLightness(),a:this.a}}toHslString(){let t=this.getHue(),n=Ye(this.getSaturation()*100),r=Ye(this.getLightness()*100);return this.a!==1?\"hsla(\".concat(t,\",\").concat(n,\"%,\").concat(r,\"%,\").concat(this.a,\")\"):\"hsl(\".concat(t,\",\").concat(n,\"%,\").concat(r,\"%)\")}toHsv(){return{h:this.getHue(),s:this.getSaturation(),v:this.getValue(),a:this.a}}toRgb(){return{r:this.r,g:this.g,b:this.b,a:this.a}}toRgbString(){return this.a!==1?\"rgba(\".concat(this.r,\",\").concat(this.g,\",\").concat(this.b,\",\").concat(this.a,\")\"):\"rgb(\".concat(this.r,\",\").concat(this.g,\",\").concat(this.b,\")\")}toString(){return this.toRgbString()}_sc(t,n,r){let o=this.clone();return o[t]=ar(n,r),o}_c(t){return new this.constructor(t)}getMax(){return typeof this._max>\"u\"&&(this._max=Math.max(this.r,this.g,this.b)),this._max}getMin(){return typeof this._min>\"u\"&&(this._min=Math.min(this.r,this.g,this.b)),this._min}fromHexString(t){let n=t.replace(\"#\",\"\");function r(o,a){return parseInt(n[o]+n[a||o],16)}n.length<6?(this.r=r(0),this.g=r(1),this.b=r(2),this.a=n[3]?r(3)/255:1):(this.r=r(0,1),this.g=r(2,3),this.b=r(4,5),this.a=n[6]?r(6,7)/255:1)}fromHsl({h:t,s:n,l:r,a:o}){if(this._h=t%360,this._s=n,this._l=r,this.a=typeof o==\"number\"?o:1,n<=0){let c=Ye(r*255);this.r=c,this.g=c,this.b=c}let a=0,i=0,s=0,l=t/60,u=(1-Math.abs(2*r-1))*n,f=u*(1-Math.abs(l%2-1));l>=0&&l<1?(a=u,i=f):l>=1&&l<2?(a=f,i=u):l>=2&&l<3?(i=u,s=f):l>=3&&l<4?(i=f,s=u):l>=4&&l<5?(a=f,s=u):l>=5&&l<6&&(a=u,s=f);let d=r-u/2;this.r=Ye((a+d)*255),this.g=Ye((i+d)*255),this.b=Ye((s+d)*255)}fromHsv({h:t,s:n,v:r,a:o}){this._h=t%360,this._s=n,this._v=r,this.a=typeof o==\"number\"?o:1;let a=Ye(r*255);if(this.r=a,this.g=a,this.b=a,n<=0)return;let i=t/60,s=Math.floor(i),l=i-s,u=Ye(r*(1-n)*255),f=Ye(r*(1-n*l)*255),d=Ye(r*(1-n*(1-l))*255);switch(s){case 0:this.g=d,this.b=u;break;case 1:this.r=f,this.b=u;break;case 2:this.r=u,this.b=d;break;case 3:this.r=u,this.g=f;break;case 4:this.r=d,this.g=u;break;case 5:default:this.g=u,this.b=f;break}}fromHsvString(t){let n=ja(t,yl);this.fromHsv({h:n[0],s:n[1],v:n[2],a:n[3]})}fromHslString(t){let n=ja(t,yl);this.fromHsl({h:n[0],s:n[1],l:n[2],a:n[3]})}fromRgbString(t){let n=ja(t,(r,o)=>o.includes(\"%\")?Ye(r/100*255):r);this.r=n[0],this.g=n[1],this.b=n[2],this.a=n[3]}};var ho=2,wl=.16,rm=.05,om=.05,am=.15,Dl=5,Il=4,im=[{index:7,amount:15},{index:6,amount:25},{index:5,amount:30},{index:5,amount:45},{index:5,amount:65},{index:5,amount:85},{index:4,amount:90},{index:3,amount:95},{index:2,amount:97},{index:1,amount:98}];function Cl(e,t,n){var r;return Math.round(e.h)>=60&&Math.round(e.h)<=240?r=n?Math.round(e.h)-ho*t:Math.round(e.h)+ho*t:r=n?Math.round(e.h)+ho*t:Math.round(e.h)-ho*t,r<0?r+=360:r>=360&&(r-=360),r}function Sl(e,t,n){if(e.h===0&&e.s===0)return e.s;var r;return n?r=e.s-wl*t:t===Il?r=e.s+wl:r=e.s+rm*t,r>1&&(r=1),n&&t===Dl&&r>.1&&(r=.1),r<.06&&(r=.06),Math.round(r*100)/100}function Ol(e,t,n){var r;return n?r=e.v+om*t:r=e.v-am*t,r=Math.max(0,Math.min(1,r)),Math.round(r*100)/100}function bo(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[],r=new nn(e),o=r.toHsv(),a=Dl;a>0;a-=1){var i=new nn({h:Cl(o,a,!0),s:Sl(o,a,!0),v:Ol(o,a,!0)});n.push(i)}n.push(r);for(var s=1;s<=Il;s+=1){var l=new nn({h:Cl(o,s),s:Sl(o,s),v:Ol(o,s)});n.push(l)}return t.theme===\"dark\"?im.map(function(u){var f=u.index,d=u.amount;return new nn(t.backgroundColor||\"#141414\").mix(n[f],d).toHexString()}):n.map(function(u){return u.toHexString()})}var El=[\"#fff1f0\",\"#ffccc7\",\"#ffa39e\",\"#ff7875\",\"#ff4d4f\",\"#f5222d\",\"#cf1322\",\"#a8071a\",\"#820014\",\"#5c0011\"];El.primary=El[5];var Tl=[\"#fff2e8\",\"#ffd8bf\",\"#ffbb96\",\"#ff9c6e\",\"#ff7a45\",\"#fa541c\",\"#d4380d\",\"#ad2102\",\"#871400\",\"#610b00\"];Tl.primary=Tl[5];var kl=[\"#fff7e6\",\"#ffe7ba\",\"#ffd591\",\"#ffc069\",\"#ffa940\",\"#fa8c16\",\"#d46b08\",\"#ad4e00\",\"#873800\",\"#612500\"];kl.primary=kl[5];var Nl=[\"#fffbe6\",\"#fff1b8\",\"#ffe58f\",\"#ffd666\",\"#ffc53d\",\"#faad14\",\"#d48806\",\"#ad6800\",\"#874d00\",\"#613400\"];Nl.primary=Nl[5];var Fl=[\"#feffe6\",\"#ffffb8\",\"#fffb8f\",\"#fff566\",\"#ffec3d\",\"#fadb14\",\"#d4b106\",\"#ad8b00\",\"#876800\",\"#614700\"];Fl.primary=Fl[5];var Al=[\"#fcffe6\",\"#f4ffb8\",\"#eaff8f\",\"#d3f261\",\"#bae637\",\"#a0d911\",\"#7cb305\",\"#5b8c00\",\"#3f6600\",\"#254000\"];Al.primary=Al[5];var Pl=[\"#f6ffed\",\"#d9f7be\",\"#b7eb8f\",\"#95de64\",\"#73d13d\",\"#52c41a\",\"#389e0d\",\"#237804\",\"#135200\",\"#092b00\"];Pl.primary=Pl[5];var _l=[\"#e6fffb\",\"#b5f5ec\",\"#87e8de\",\"#5cdbd3\",\"#36cfc9\",\"#13c2c2\",\"#08979c\",\"#006d75\",\"#00474f\",\"#002329\"];_l.primary=_l[5];var xo=[\"#e6f4ff\",\"#bae0ff\",\"#91caff\",\"#69b1ff\",\"#4096ff\",\"#1677ff\",\"#0958d9\",\"#003eb3\",\"#002c8c\",\"#001d66\"];xo.primary=xo[5];var Bl=[\"#f0f5ff\",\"#d6e4ff\",\"#adc6ff\",\"#85a5ff\",\"#597ef7\",\"#2f54eb\",\"#1d39c4\",\"#10239e\",\"#061178\",\"#030852\"];Bl.primary=Bl[5];var Ll=[\"#f9f0ff\",\"#efdbff\",\"#d3adf7\",\"#b37feb\",\"#9254de\",\"#722ed1\",\"#531dab\",\"#391085\",\"#22075e\",\"#120338\"];Ll.primary=Ll[5];var Ml=[\"#fff0f6\",\"#ffd6e7\",\"#ffadd2\",\"#ff85c0\",\"#f759ab\",\"#eb2f96\",\"#c41d7f\",\"#9e1068\",\"#780650\",\"#520339\"];Ml.primary=Ml[5];var Vl=[\"#a6a6a6\",\"#999999\",\"#8c8c8c\",\"#808080\",\"#737373\",\"#666666\",\"#404040\",\"#1a1a1a\",\"#000000\",\"#000000\"];Vl.primary=Vl[5];var zl=[\"#2a1215\",\"#431418\",\"#58181c\",\"#791a1f\",\"#a61d24\",\"#d32029\",\"#e84749\",\"#f37370\",\"#f89f9a\",\"#fac8c3\"];zl.primary=zl[5];var $l=[\"#2b1611\",\"#441d12\",\"#592716\",\"#7c3118\",\"#aa3e19\",\"#d84a1b\",\"#e87040\",\"#f3956a\",\"#f8b692\",\"#fad4bc\"];$l.primary=$l[5];var Ul=[\"#2b1d11\",\"#442a11\",\"#593815\",\"#7c4a15\",\"#aa6215\",\"#d87a16\",\"#e89a3c\",\"#f3b765\",\"#f8cf8d\",\"#fae3b7\"];Ul.primary=Ul[5];var Wl=[\"#2b2111\",\"#443111\",\"#594214\",\"#7c5914\",\"#aa7714\",\"#d89614\",\"#e8b339\",\"#f3cc62\",\"#f8df8b\",\"#faedb5\"];Wl.primary=Wl[5];var Gl=[\"#2b2611\",\"#443b11\",\"#595014\",\"#7c6e14\",\"#aa9514\",\"#d8bd14\",\"#e8d639\",\"#f3ea62\",\"#f8f48b\",\"#fafab5\"];Gl.primary=Gl[5];var Hl=[\"#1f2611\",\"#2e3c10\",\"#3e4f13\",\"#536d13\",\"#6f9412\",\"#8bbb11\",\"#a9d134\",\"#c9e75d\",\"#e4f88b\",\"#f0fab5\"];Hl.primary=Hl[5];var ql=[\"#162312\",\"#1d3712\",\"#274916\",\"#306317\",\"#3c8618\",\"#49aa19\",\"#6abe39\",\"#8fd460\",\"#b2e58b\",\"#d5f2bb\"];ql.primary=ql[5];var jl=[\"#112123\",\"#113536\",\"#144848\",\"#146262\",\"#138585\",\"#13a8a8\",\"#33bcb7\",\"#58d1c9\",\"#84e2d8\",\"#b2f1e8\"];jl.primary=jl[5];var Yl=[\"#111a2c\",\"#112545\",\"#15325b\",\"#15417e\",\"#1554ad\",\"#1668dc\",\"#3c89e8\",\"#65a9f3\",\"#8dc5f8\",\"#b7dcfa\"];Yl.primary=Yl[5];var Kl=[\"#131629\",\"#161d40\",\"#1c2755\",\"#203175\",\"#263ea0\",\"#2b4acb\",\"#5273e0\",\"#7f9ef3\",\"#a8c1f8\",\"#d2e0fa\"];Kl.primary=Kl[5];var Jl=[\"#1a1325\",\"#24163a\",\"#301c4d\",\"#3e2069\",\"#51258f\",\"#642ab5\",\"#854eca\",\"#ab7ae0\",\"#cda8f0\",\"#ebd7fa\"];Jl.primary=Jl[5];var Xl=[\"#291321\",\"#40162f\",\"#551c3b\",\"#75204f\",\"#a02669\",\"#cb2b83\",\"#e0529c\",\"#f37fb7\",\"#f8a8cc\",\"#fad2e3\"];Xl.primary=Xl[5];var Ql=[\"#151515\",\"#1f1f1f\",\"#2d2d2d\",\"#393939\",\"#494949\",\"#5a5a5a\",\"#6a6a6a\",\"#7b7b7b\",\"#888888\",\"#969696\"];Ql.primary=Ql[5];function Zl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function ft(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:{},t=e.mark;return t?t.startsWith(\"data-\")?t:\"data-\".concat(t):sm}function Xa(e){if(e.attachTo)return e.attachTo;var t=document.querySelector(\"head\");return t||document.body}function lm(e){return e===\"queue\"?\"prependQueue\":e?\"prepend\":\"append\"}function Qa(e){return Array.from((Ja.get(e)||e).children).filter(function(t){return t.tagName===\"STYLE\"})}function nd(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Ya())return null;var n=t.csp,r=t.prepend,o=t.priority,a=o===void 0?0:o,i=lm(r),s=i===\"prependQueue\",l=document.createElement(\"style\");l.setAttribute(Rl,i),s&&a&&l.setAttribute(ed,\"\".concat(a)),n!=null&&n.nonce&&(l.nonce=n==null?void 0:n.nonce),l.innerHTML=e;var u=Xa(t),f=u.firstChild;if(r){if(s){var d=(t.styles||Qa(u)).filter(function(c){if(![\"prepend\",\"prependQueue\"].includes(c.getAttribute(Rl)))return!1;var m=Number(c.getAttribute(ed)||0);return a>=m});if(d.length)return u.insertBefore(l,d[d.length-1].nextSibling),l}u.insertBefore(l,f)}else u.appendChild(l);return l}function dm(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=Xa(t);return(t.styles||Qa(n)).find(function(r){return r.getAttribute(td(t))===e})}function cm(e,t){var n=Ja.get(e);if(!n||!Ka(document,n)){var r=nd(\"\",t),o=r.parentNode;Ja.set(e,o),e.removeChild(r)}}function rd(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=Xa(n),o=Qa(r),a=ft(ft({},n),{},{styles:o});cm(r,a);var i=dm(t,a);if(i){var s,l;if((s=a.csp)!==null&&s!==void 0&&s.nonce&&i.nonce!==((l=a.csp)===null||l===void 0?void 0:l.nonce)){var u;i.nonce=(u=a.csp)===null||u===void 0?void 0:u.nonce}return i.innerHTML!==e&&(i.innerHTML=e),i}var f=nd(e,a);return f.setAttribute(td(a),t),f}function od(e){var t;return e==null||(t=e.getRootNode)===null||t===void 0?void 0:t.call(e)}function um(e){return od(e)instanceof ShadowRoot}function ad(e){return um(e)?od(e):null}var Za={},fm=[],pm=function(t){fm.push(t)};function mm(e,t){if(0)var n}function gm(e,t){if(0)var n}function hm(){Za={}}function id(e,t,n){!t&&!Za[n]&&(e(!1,n),Za[n]=!0)}function vo(e,t){id(mm,e,t)}function bm(e,t){id(gm,e,t)}vo.preMessage=pm;vo.resetWarned=hm;vo.noteOnce=bm;var sd=vo;var rn=B(R());function xm(e){return e.replace(/-(.)/g,function(t,n){return n.toUpperCase()})}function dd(e,t){sd(e,\"[@ant-design/icons] \".concat(t))}function Ra(e){return At(e)===\"object\"&&typeof e.name==\"string\"&&typeof e.theme==\"string\"&&(At(e.icon)===\"object\"||typeof e.icon==\"function\")}function ld(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(e).reduce(function(t,n){var r=e[n];switch(n){case\"class\":t.className=r,delete t.class;break;default:delete t[n],t[xm(n)]=r}return t},{})}function yo(e,t,n){return n?rn.default.createElement(e.tag,ft(ft({key:t},ld(e.attrs)),n),(e.children||[]).map(function(r,o){return yo(r,\"\".concat(t,\"-\").concat(e.tag,\"-\").concat(o))})):rn.default.createElement(e.tag,ft({key:t},ld(e.attrs)),(e.children||[]).map(function(r,o){return yo(r,\"\".concat(t,\"-\").concat(e.tag,\"-\").concat(o))}))}function ei(e){return bo(e)[0]}function wo(e){return e?Array.isArray(e)?e:[e]:[]}var vm=\"\\n.anticon {\\n display: inline-flex;\\n align-items: center;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\",cd=function(t){var n=(0,rn.useContext)(fo),r=n.csp,o=n.prefixCls,a=n.layer,i=vm;o&&(i=i.replace(/anticon/g,o)),a&&(i=\"@layer \".concat(a,\" {\\n\").concat(i,\"\\n}\")),(0,rn.useEffect)(function(){var s=t.current,l=ad(s);rd(i,\"@ant-design-icons\",{prepend:!a,csp:r,attachTo:l})},[])};var ym=[\"icon\",\"className\",\"onClick\",\"style\",\"primaryColor\",\"secondaryColor\"],ir={primaryColor:\"#333\",secondaryColor:\"#E6E6E6\",calculated:!1};function wm(e){var t=e.primaryColor,n=e.secondaryColor;ir.primaryColor=t,ir.secondaryColor=n||ei(t),ir.calculated=!!n}function Cm(){return ft({},ir)}var Co=function(t){var n=t.icon,r=t.className,o=t.onClick,a=t.style,i=t.primaryColor,s=t.secondaryColor,l=mo(t,ym),u=ud.useRef(),f=ir;if(i&&(f={primaryColor:i,secondaryColor:s||ei(i)}),cd(u),dd(Ra(n),\"icon should be icon definiton, but got \".concat(n)),!Ra(n))return null;var d=n;return d&&typeof d.icon==\"function\"&&(d=ft(ft({},d),{},{icon:d.icon(f.primaryColor,f.secondaryColor)})),yo(d.icon,\"svg-\".concat(d.name),ft(ft({className:r,onClick:o,style:a,\"data-icon\":d.name,width:\"1em\",height:\"1em\",fill:\"currentColor\",\"aria-hidden\":\"true\"},l),{},{ref:u}))};Co.displayName=\"IconReact\";Co.getTwoToneColors=Cm;Co.setTwoToneColors=wm;var sr=Co;function ti(e){var t=wo(e),n=po(t,2),r=n[0],o=n[1];return sr.setTwoToneColors({primaryColor:r,secondaryColor:o})}function fd(){var e=sr.getTwoToneColors();return e.calculated?[e.primaryColor,e.secondaryColor]:e.primaryColor}var Sm=[\"className\",\"icon\",\"spin\",\"rotate\",\"tabIndex\",\"onClick\",\"twoToneColor\"];ti(xo.primary);var So=on.forwardRef(function(e,t){var n=e.className,r=e.icon,o=e.spin,a=e.rotate,i=e.tabIndex,s=e.onClick,l=e.twoToneColor,u=mo(e,Sm),f=on.useContext(fo),d=f.prefixCls,c=d===void 0?\"anticon\":d,m=f.rootClassName,x=(0,pd.default)(m,c,je(je({},\"\".concat(c,\"-\").concat(r.name),!!r.name),\"\".concat(c,\"-spin\"),!!o||r.name===\"loading\"),n),v=i;v===void 0&&s&&(v=-1);var h=a?{msTransform:\"rotate(\".concat(a,\"deg)\"),transform:\"rotate(\".concat(a,\"deg)\")}:void 0,y=wo(l),b=po(y,2),O=b[0],w=b[1];return on.createElement(\"span\",ee({role:\"img\",\"aria-label\":r.name},u,{ref:t,tabIndex:v,onClick:s,className:x}),on.createElement(sr,{icon:r,primaryColor:O,secondaryColor:w,style:h}))});So.displayName=\"AntdIcon\";So.getTwoToneColor=fd;So.setTwoToneColor=ti;var ne=So;var Oo=B(R());var Om={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 00-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 000 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7 35.3 0 68.4 13.7 93.4 38.7 24.9 24.9 38.7 58.1 38.7 93.4 0 35.3-13.8 68.4-38.7 93.4zm-190.2 105a8.03 8.03 0 00-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 00-11.3 0L363 475.3l-43-43a7.85 7.85 0 00-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 69-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 000 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 01-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7a131.32 131.32 0 01-38.7-93.4c0-35.3 13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4z\"}}]},name:\"api\",theme:\"outlined\"},md=Om;var Dm=function(t,n){return Oo.createElement(ne,ee({},t,{ref:n,icon:md}))},Im=Oo.forwardRef(Dm),Do=Im;var Io=B(R());var Em={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M862 465.3h-81c-4.6 0-9 2-12.1 5.5L550 723.1V160c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v563.1L255.1 470.8c-3-3.5-7.4-5.5-12.1-5.5h-81c-6.8 0-10.5 8.1-6 13.2L487.9 861a31.96 31.96 0 0048.3 0L868 478.5c4.5-5.2.8-13.2-6-13.2z\"}}]},name:\"arrow-down\",theme:\"outlined\"},gd=Em;var Tm=function(t,n){return Io.createElement(ne,ee({},t,{ref:n,icon:gd}))},km=Io.forwardRef(Tm),an=km;var Eo=B(R());var Nm={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M868 545.5L536.1 163a31.96 31.96 0 00-48.3 0L156 545.5a7.97 7.97 0 006 13.2h81c4.6 0 9-2 12.1-5.5L474 300.9V864c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V300.9l218.9 252.3c3 3.5 7.4 5.5 12.1 5.5h81c6.8 0 10.5-8 6-13.2z\"}}]},name:\"arrow-up\",theme:\"outlined\"},hd=Nm;var Fm=function(t,n){return Eo.createElement(ne,ee({},t,{ref:n,icon:hd}))},Am=Eo.forwardRef(Fm),sn=Am;var To=B(R());var Pm={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"defs\",attrs:{},children:[{tag:\"style\",attrs:{}}]},{tag:\"path\",attrs:{d:\"M899.1 869.6l-53-305.6H864c14.4 0 26-11.6 26-26V346c0-14.4-11.6-26-26-26H618V138c0-14.4-11.6-26-26-26H432c-14.4 0-26 11.6-26 26v182H160c-14.4 0-26 11.6-26 26v192c0 14.4 11.6 26 26 26h17.9l-53 305.6a25.95 25.95 0 0025.6 30.4h723c1.5 0 3-.1 4.4-.4a25.88 25.88 0 0021.2-30zM204 390h272V182h72v208h272v104H204V390zm468 440V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H416V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H202.8l45.1-260H776l45.1 260H672z\"}}]},name:\"clear\",theme:\"outlined\"},bd=Pm;var _m=function(t,n){return To.createElement(ne,ee({},t,{ref:n,icon:bd}))},Bm=To.forwardRef(_m),An=Bm;var ko=B(R());var Lm={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z\"}}]},name:\"copy\",theme:\"outlined\"},xd=Lm;var Mm=function(t,n){return ko.createElement(ne,ee({},t,{ref:n,icon:xd}))},Vm=ko.forwardRef(Mm),lr=Vm;var No=B(R());var zm={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z\"}}]},name:\"delete\",theme:\"outlined\"},vd=zm;var $m=function(t,n){return No.createElement(ne,ee({},t,{ref:n,icon:vd}))},Um=No.forwardRef($m),Ue=Um;var Fo=B(R());var Wm={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z\"}}]},name:\"down\",theme:\"outlined\"},yd=Wm;var Gm=function(t,n){return Fo.createElement(ne,ee({},t,{ref:n,icon:yd}))},Hm=Fo.forwardRef(Gm),Pt=Hm;var Ao=B(R());var qm={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z\"}}]},name:\"edit\",theme:\"outlined\"},wd=qm;var jm=function(t,n){return Ao.createElement(ne,ee({},t,{ref:n,icon:wd}))},Ym=Ao.forwardRef(jm),dr=Ym;var Po=B(R());var Km={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z\"}}]},name:\"folder-open\",theme:\"outlined\"},Cd=Km;var Jm=function(t,n){return Po.createElement(ne,ee({},t,{ref:n,icon:Cd}))},Xm=Po.forwardRef(Jm),cr=Xm;var _o=B(R());var Qm={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z\"}}]},name:\"folder\",theme:\"outlined\"},Sd=Qm;var Zm=function(t,n){return _o.createElement(ne,ee({},t,{ref:n,icon:Sd}))},Rm=_o.forwardRef(Zm),ni=Rm;var Bo=B(R());var eg={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M854.4 800.9c.2-.3.5-.6.7-.9C920.6 722.1 960 621.7 960 512s-39.4-210.1-104.8-288c-.2-.3-.5-.5-.7-.8-1.1-1.3-2.1-2.5-3.2-3.7-.4-.5-.8-.9-1.2-1.4l-4.1-4.7-.1-.1c-1.5-1.7-3.1-3.4-4.6-5.1l-.1-.1c-3.2-3.4-6.4-6.8-9.7-10.1l-.1-.1-4.8-4.8-.3-.3c-1.5-1.5-3-2.9-4.5-4.3-.5-.5-1-1-1.6-1.5-1-1-2-1.9-3-2.8-.3-.3-.7-.6-1-1C736.4 109.2 629.5 64 512 64s-224.4 45.2-304.3 119.2c-.3.3-.7.6-1 1-1 .9-2 1.9-3 2.9-.5.5-1 1-1.6 1.5-1.5 1.4-3 2.9-4.5 4.3l-.3.3-4.8 4.8-.1.1c-3.3 3.3-6.5 6.7-9.7 10.1l-.1.1c-1.6 1.7-3.1 3.4-4.6 5.1l-.1.1c-1.4 1.5-2.8 3.1-4.1 4.7-.4.5-.8.9-1.2 1.4-1.1 1.2-2.1 2.5-3.2 3.7-.2.3-.5.5-.7.8C103.4 301.9 64 402.3 64 512s39.4 210.1 104.8 288c.2.3.5.6.7.9l3.1 3.7c.4.5.8.9 1.2 1.4l4.1 4.7c0 .1.1.1.1.2 1.5 1.7 3 3.4 4.6 5l.1.1c3.2 3.4 6.4 6.8 9.6 10.1l.1.1c1.6 1.6 3.1 3.2 4.7 4.7l.3.3c3.3 3.3 6.7 6.5 10.1 9.6 80.1 74 187 119.2 304.5 119.2s224.4-45.2 304.3-119.2a300 300 0 0010-9.6l.3-.3c1.6-1.6 3.2-3.1 4.7-4.7l.1-.1c3.3-3.3 6.5-6.7 9.6-10.1l.1-.1c1.5-1.7 3.1-3.3 4.6-5 0-.1.1-.1.1-.2 1.4-1.5 2.8-3.1 4.1-4.7.4-.5.8-.9 1.2-1.4a99 99 0 003.3-3.7zm4.1-142.6c-13.8 32.6-32 62.8-54.2 90.2a444.07 444.07 0 00-81.5-55.9c11.6-46.9 18.8-98.4 20.7-152.6H887c-3 40.9-12.6 80.6-28.5 118.3zM887 484H743.5c-1.9-54.2-9.1-105.7-20.7-152.6 29.3-15.6 56.6-34.4 81.5-55.9A373.86 373.86 0 01887 484zM658.3 165.5c39.7 16.8 75.8 40 107.6 69.2a394.72 394.72 0 01-59.4 41.8c-15.7-45-35.8-84.1-59.2-115.4 3.7 1.4 7.4 2.9 11 4.4zm-90.6 700.6c-9.2 7.2-18.4 12.7-27.7 16.4V697a389.1 389.1 0 01115.7 26.2c-8.3 24.6-17.9 47.3-29 67.8-17.4 32.4-37.8 58.3-59 75.1zm59-633.1c11 20.6 20.7 43.3 29 67.8A389.1 389.1 0 01540 327V141.6c9.2 3.7 18.5 9.1 27.7 16.4 21.2 16.7 41.6 42.6 59 75zM540 640.9V540h147.5c-1.6 44.2-7.1 87.1-16.3 127.8l-.3 1.2A445.02 445.02 0 00540 640.9zm0-156.9V383.1c45.8-2.8 89.8-12.5 130.9-28.1l.3 1.2c9.2 40.7 14.7 83.5 16.3 127.8H540zm-56 56v100.9c-45.8 2.8-89.8 12.5-130.9 28.1l-.3-1.2c-9.2-40.7-14.7-83.5-16.3-127.8H484zm-147.5-56c1.6-44.2 7.1-87.1 16.3-127.8l.3-1.2c41.1 15.6 85 25.3 130.9 28.1V484H336.5zM484 697v185.4c-9.2-3.7-18.5-9.1-27.7-16.4-21.2-16.7-41.7-42.7-59.1-75.1-11-20.6-20.7-43.3-29-67.8 37.2-14.6 75.9-23.3 115.8-26.1zm0-370a389.1 389.1 0 01-115.7-26.2c8.3-24.6 17.9-47.3 29-67.8 17.4-32.4 37.8-58.4 59.1-75.1 9.2-7.2 18.4-12.7 27.7-16.4V327zM365.7 165.5c3.7-1.5 7.3-3 11-4.4-23.4 31.3-43.5 70.4-59.2 115.4-21-12-40.9-26-59.4-41.8 31.8-29.2 67.9-52.4 107.6-69.2zM165.5 365.7c13.8-32.6 32-62.8 54.2-90.2 24.9 21.5 52.2 40.3 81.5 55.9-11.6 46.9-18.8 98.4-20.7 152.6H137c3-40.9 12.6-80.6 28.5-118.3zM137 540h143.5c1.9 54.2 9.1 105.7 20.7 152.6a444.07 444.07 0 00-81.5 55.9A373.86 373.86 0 01137 540zm228.7 318.5c-39.7-16.8-75.8-40-107.6-69.2 18.5-15.8 38.4-29.7 59.4-41.8 15.7 45 35.8 84.1 59.2 115.4-3.7-1.4-7.4-2.9-11-4.4zm292.6 0c-3.7 1.5-7.3 3-11 4.4 23.4-31.3 43.5-70.4 59.2-115.4 21 12 40.9 26 59.4 41.8a373.81 373.81 0 01-107.6 69.2z\"}}]},name:\"global\",theme:\"outlined\"},Od=eg;var tg=function(t,n){return Bo.createElement(ne,ee({},t,{ref:n,icon:Od}))},ng=Bo.forwardRef(tg),ln=ng;var Lo=B(R());var rg={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"}},{tag:\"path\",attrs:{d:\"M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z\"}}]},name:\"info-circle\",theme:\"outlined\"},Dd=rg;var og=function(t,n){return Lo.createElement(ne,ee({},t,{ref:n,icon:Dd}))},ag=Lo.forwardRef(og),jt=ag;var Mo=B(R());var ig={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M608 112c-167.9 0-304 136.1-304 304 0 70.3 23.9 135 63.9 186.5l-41.1 41.1-62.3-62.3a8.15 8.15 0 00-11.4 0l-39.8 39.8a8.15 8.15 0 000 11.4l62.3 62.3-44.9 44.9-62.3-62.3a8.15 8.15 0 00-11.4 0l-39.8 39.8a8.15 8.15 0 000 11.4l62.3 62.3-65.3 65.3a8.03 8.03 0 000 11.3l42.3 42.3c3.1 3.1 8.2 3.1 11.3 0l253.6-253.6A304.06 304.06 0 00608 720c167.9 0 304-136.1 304-304S775.9 112 608 112zm161.2 465.2C726.2 620.3 668.9 644 608 644c-60.9 0-118.2-23.7-161.2-66.8-43.1-43-66.8-100.3-66.8-161.2 0-60.9 23.7-118.2 66.8-161.2 43-43.1 100.3-66.8 161.2-66.8 60.9 0 118.2 23.7 161.2 66.8 43.1 43 66.8 100.3 66.8 161.2 0 60.9-23.7 118.2-66.8 161.2z\"}}]},name:\"key\",theme:\"outlined\"},Id=ig;var sg=function(t,n){return Mo.createElement(ne,ee({},t,{ref:n,icon:Id}))},lg=Mo.forwardRef(sg),Pn=lg;var Vo=B(R());var dg={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z\"}}]},name:\"link\",theme:\"outlined\"},Ed=dg;var cg=function(t,n){return Vo.createElement(ne,ee({},t,{ref:n,icon:Ed}))},ug=Vo.forwardRef(cg),ur=ug;var zo=B(R());var fg={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM332 240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224H332V240zm460 600H232V536h560v304zM484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 10-56 0z\"}}]},name:\"lock\",theme:\"outlined\"},Td=fg;var pg=function(t,n){return zo.createElement(ne,ee({},t,{ref:n,icon:Td}))},mg=zo.forwardRef(pg),fr=mg;var $o=B(R());var gg={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"}},{tag:\"path\",attrs:{d:\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"}}]},name:\"minus-circle\",theme:\"outlined\"},kd=gg;var hg=function(t,n){return $o.createElement(ne,ee({},t,{ref:n,icon:kd}))},bg=$o.forwardRef(hg),dn=bg;var Uo=B(R());var xg={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z\"}},{tag:\"path\",attrs:{d:\"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z\"}}]},name:\"plus\",theme:\"outlined\"},Nd=xg;var vg=function(t,n){return Uo.createElement(ne,ee({},t,{ref:n,icon:Nd}))},yg=Uo.forwardRef(vg),Re=yg;var Wo=B(R());var wg={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z\"}}]},name:\"reload\",theme:\"outlined\"},Fd=wg;var Cg=function(t,n){return Wo.createElement(ne,ee({},t,{ref:n,icon:Fd}))},Sg=Wo.forwardRef(Cg),cn=Sg;var Go=B(R());var Og={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zm-405.8-201c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0026 0l212.6-292.7c3.8-5.3 0-12.7-6.5-12.7h-55.2c-5.1 0-10 2.5-13 6.6L468.9 542.4l-64.7-89.1z\"}}]},name:\"safety-certificate\",theme:\"outlined\"},Ad=Og;var Dg=function(t,n){return Go.createElement(ne,ee({},t,{ref:n,icon:Ad}))},Ig=Go.forwardRef(Dg),_n=Ig;var Ho=B(R());var Eg={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z\"}}]},name:\"save\",theme:\"outlined\"},Pd=Eg;var Tg=function(t,n){return Ho.createElement(ne,ee({},t,{ref:n,icon:Pd}))},kg=Ho.forwardRef(Tg),Yt=kg;var qo=B(R());var Ng={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z\"}}]},name:\"setting\",theme:\"outlined\"},_d=Ng;var Fg=function(t,n){return qo.createElement(ne,ee({},t,{ref:n,icon:_d}))},Ag=qo.forwardRef(Fg),pr=Ag;var jo=B(R());var Pg={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z\"}}]},name:\"up\",theme:\"outlined\"},Bd=Pg;var _g=function(t,n){return jo.createElement(ne,ee({},t,{ref:n,icon:Bd}))},Bg=jo.forwardRef(_g),_t=Bg;var Yo=B(R());var Lg={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z\"}}]},name:\"upload\",theme:\"outlined\"},Ld=Lg;var Mg=function(t,n){return Yo.createElement(ne,ee({},t,{ref:n,icon:Ld}))},Vg=Yo.forwardRef(Mg),mr=Vg;var Ko=B(R());var zg={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z\"}}]},name:\"user\",theme:\"outlined\"},Md=zg;var $g=function(t,n){return Ko.createElement(ne,ee({},t,{ref:n,icon:Md}))},Ug=Ko.forwardRef($g),Bn=Ug;var A=B(R()),hn=B(uo());var _e=B(R());function zd(){for(var e=arguments.length,t=new Array(e),n=0;nr=>{t.forEach(o=>o(r))},t)}var gr=typeof window<\"u\"&&typeof window.document<\"u\"&&typeof window.document.createElement<\"u\";function un(e){let t=Object.prototype.toString.call(e);return t===\"[object Window]\"||t===\"[object global]\"}function Jo(e){return\"nodeType\"in e}function ot(e){var t,n;return e?un(e)?e:Jo(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function Xo(e){let{Document:t}=ot(e);return e instanceof t}function Ln(e){return un(e)?!1:e instanceof ot(e).HTMLElement}function oi(e){return e instanceof ot(e).SVGElement}function fn(e){return e?un(e)?e.document:Jo(e)?Xo(e)?e:Ln(e)||oi(e)?e.ownerDocument:document:document:document}var yt=gr?_e.useLayoutEffect:_e.useEffect;function Qo(e){let t=(0,_e.useRef)(e);return yt(()=>{t.current=e}),(0,_e.useCallback)(function(){for(var n=arguments.length,r=new Array(n),o=0;o{e.current=setInterval(r,o)},[]),n=(0,_e.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Mn(e,t){t===void 0&&(t=[e]);let n=(0,_e.useRef)(e);return yt(()=>{n.current!==e&&(n.current=e)},t),n}function Vn(e,t){let n=(0,_e.useRef)();return(0,_e.useMemo)(()=>{let r=e(n.current);return n.current=r,r},[...t])}function hr(e){let t=Qo(e),n=(0,_e.useRef)(null),r=(0,_e.useCallback)(o=>{o!==n.current&&(t==null||t(o,n.current)),n.current=o},[]);return[n,r]}function Zo(e){let t=(0,_e.useRef)();return(0,_e.useEffect)(()=>{t.current=e},[e]),t.current}var ri={};function pn(e,t){return(0,_e.useMemo)(()=>{if(t)return t;let n=ri[e]==null?0:ri[e]+1;return ri[e]=n,e+\"-\"+n},[e,t])}function Ud(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o{let s=Object.entries(i);for(let[l,u]of s){let f=a[l];f!=null&&(a[l]=f+e*u)}return a},C({},t))}}var mn=Ud(1),zn=Ud(-1);function Wg(e){return\"clientX\"in e&&\"clientY\"in e}function br(e){if(!e)return!1;let{KeyboardEvent:t}=ot(e.target);return t&&e instanceof t}function Gg(e){if(!e)return!1;let{TouchEvent:t}=ot(e.target);return t&&e instanceof t}function xr(e){if(Gg(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return Wg(e)?{x:e.clientX,y:e.clientY}:null}var Bt=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return\"translate3d(\"+(t?Math.round(t):0)+\"px, \"+(n?Math.round(n):0)+\"px, 0)\"}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return\"scaleX(\"+t+\") scaleY(\"+n+\")\"}},Transform:{toString(e){if(e)return[Bt.Translate.toString(e),Bt.Scale.toString(e)].join(\" \")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+\" \"+n+\"ms \"+r}}}),Vd=\"a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]\";function Wd(e){return e.matches(Vd)?e:e.querySelector(Vd)}var gn=B(R()),Hg={display:\"none\"};function Gd(e){let{id:t,value:n}=e;return gn.default.createElement(\"div\",{id:t,style:Hg},n)}function Hd(e){let{id:t,announcement:n,ariaLiveType:r=\"assertive\"}=e,o={position:\"fixed\",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:\"hidden\",clip:\"rect(0 0 0 0)\",clipPath:\"inset(100%)\",whiteSpace:\"nowrap\"};return gn.default.createElement(\"div\",{id:t,style:o,role:\"status\",\"aria-live\":r,\"aria-atomic\":!0},n)}function qd(){let[e,t]=(0,gn.useState)(\"\");return{announce:(0,gn.useCallback)(r=>{r!=null&&t(r)},[]),announcement:e}}var nc=(0,A.createContext)(null);function qg(e){let t=(0,A.useContext)(nc);(0,A.useEffect)(()=>{if(!t)throw new Error(\"useDndMonitor must be used within a children of \");return t(e)},[e,t])}function jg(){let[e]=(0,A.useState)(()=>new Set),t=(0,A.useCallback)(r=>(e.add(r),()=>e.delete(r)),[e]);return[(0,A.useCallback)(r=>{let{type:o,event:a}=r;e.forEach(i=>{var s;return(s=i[o])==null?void 0:s.call(i,a)})},[e]),t]}var Yg={draggable:\"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"},Kg={onDragStart(e){let{active:t}=e;return\"Picked up draggable item \"+t.id+\".\"},onDragOver(e){let{active:t,over:n}=e;return n?\"Draggable item \"+t.id+\" was moved over droppable area \"+n.id+\".\":\"Draggable item \"+t.id+\" is no longer over a droppable area.\"},onDragEnd(e){let{active:t,over:n}=e;return n?\"Draggable item \"+t.id+\" was dropped over droppable area \"+n.id:\"Draggable item \"+t.id+\" was dropped.\"},onDragCancel(e){let{active:t}=e;return\"Dragging was cancelled. Draggable item \"+t.id+\" was dropped.\"}};function Jg(e){let{announcements:t=Kg,container:n,hiddenTextDescribedById:r,screenReaderInstructions:o=Yg}=e,{announce:a,announcement:i}=qd(),s=pn(\"DndLiveRegion\"),[l,u]=(0,A.useState)(!1);if((0,A.useEffect)(()=>{u(!0)},[]),qg((0,A.useMemo)(()=>({onDragStart(d){let{active:c}=d;a(t.onDragStart({active:c}))},onDragMove(d){let{active:c,over:m}=d;t.onDragMove&&a(t.onDragMove({active:c,over:m}))},onDragOver(d){let{active:c,over:m}=d;a(t.onDragOver({active:c,over:m}))},onDragEnd(d){let{active:c,over:m}=d;a(t.onDragEnd({active:c,over:m}))},onDragCancel(d){let{active:c,over:m}=d;a(t.onDragCancel({active:c,over:m}))}}),[a,t])),!l)return null;let f=A.default.createElement(A.default.Fragment,null,A.default.createElement(Gd,{id:r,value:o.draggable}),A.default.createElement(Hd,{id:s,announcement:i}));return n?(0,hn.createPortal)(f,n):f}var We;(function(e){e.DragStart=\"dragStart\",e.DragMove=\"dragMove\",e.DragEnd=\"dragEnd\",e.DragCancel=\"dragCancel\",e.DragOver=\"dragOver\",e.RegisterDroppable=\"registerDroppable\",e.SetDroppableDisabled=\"setDroppableDisabled\",e.UnregisterDroppable=\"unregisterDroppable\"})(We||(We={}));function ea(){}function Sr(e,t){return(0,A.useMemo)(()=>({sensor:e,options:t!=null?t:{}}),[e,t])}function Or(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}var It=Object.freeze({x:0,y:0});function Xg(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function rc(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function Qg(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),o=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),i=o-r,s=a-n;if(r{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,o=[];for(let a of r){let{id:i}=a,s=n.get(i);if(s){let l=Qg(s,t);l>0&&o.push({id:i,data:{droppableContainer:a,value:l}})}}return o.sort(Xg)};function Rg(e,t,n){return I(C({},e),{scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1})}function oc(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:It}function eh(e){return function(n){for(var r=arguments.length,o=new Array(r>1?r-1:0),a=1;aI(C({},i),{top:i.top+e*s.y,bottom:i.bottom+e*s.y,left:i.left+e*s.x,right:i.right+e*s.x}),C({},n))}}var th=eh(1);function nh(e){if(e.startsWith(\"matrix3d(\")){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith(\"matrix(\")){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function rh(e,t,n){let r=nh(t);if(!r)return e;let{scaleX:o,scaleY:a,x:i,y:s}=r,l=e.left-i-(1-o)*parseFloat(n),u=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(\" \")+1)),f=o?e.width/o:e.width,d=a?e.height/a:e.height;return{width:f,height:d,top:u,right:l+f,bottom:u+d,left:l}}var oh={ignoreTransform:!1};function vn(e,t){t===void 0&&(t=oh);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:u,transformOrigin:f}=ot(e).getComputedStyle(e);u&&(n=rh(n,u,f))}let{top:r,left:o,width:a,height:i,bottom:s,right:l}=n;return{top:r,left:o,width:a,height:i,bottom:s,right:l}}function jd(e){return vn(e,{ignoreTransform:!0})}function ah(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function ih(e,t){return t===void 0&&(t=ot(e).getComputedStyle(e)),t.position===\"fixed\"}function sh(e,t){t===void 0&&(t=ot(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[\"overflow\",\"overflowX\",\"overflowY\"].some(o=>{let a=t[o];return typeof a==\"string\"?n.test(a):!1})}function ra(e,t){let n=[];function r(o){if(t!=null&&n.length>=t||!o)return n;if(Xo(o)&&o.scrollingElement!=null&&!n.includes(o.scrollingElement))return n.push(o.scrollingElement),n;if(!Ln(o)||oi(o)||n.includes(o))return n;let a=ot(e).getComputedStyle(o);return o!==e&&sh(o,a)&&n.push(o),ih(o,a)?n:r(o.parentNode)}return e?r(e):n}function ac(e){let[t]=ra(e,1);return t!=null?t:null}function ai(e){return!gr||!e?null:un(e)?e:Jo(e)?Xo(e)||e===fn(e).scrollingElement?window:Ln(e)?e:null:null}function ic(e){return un(e)?e.scrollX:e.scrollLeft}function sc(e){return un(e)?e.scrollY:e.scrollTop}function li(e){return{x:ic(e),y:sc(e)}}var Ke;(function(e){e[e.Forward=1]=\"Forward\",e[e.Backward=-1]=\"Backward\"})(Ke||(Ke={}));function lc(e){return!gr||!e?!1:e===document.scrollingElement}function dc(e){let t={x:0,y:0},n=lc(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},o=e.scrollTop<=t.y,a=e.scrollLeft<=t.x,i=e.scrollTop>=r.y,s=e.scrollLeft>=r.x;return{isTop:o,isLeft:a,isBottom:i,isRight:s,maxScroll:r,minScroll:t}}var lh={x:.2,y:.2};function dh(e,t,n,r,o){let{top:a,left:i,right:s,bottom:l}=n;r===void 0&&(r=10),o===void 0&&(o=lh);let{isTop:u,isBottom:f,isLeft:d,isRight:c}=dc(e),m={x:0,y:0},x={x:0,y:0},v={height:t.height*o.y,width:t.width*o.x};return!u&&a<=t.top+v.height?(m.y=Ke.Backward,x.y=r*Math.abs((t.top+v.height-a)/v.height)):!f&&l>=t.bottom-v.height&&(m.y=Ke.Forward,x.y=r*Math.abs((t.bottom-v.height-l)/v.height)),!c&&s>=t.right-v.width?(m.x=Ke.Forward,x.x=r*Math.abs((t.right-v.width-s)/v.width)):!d&&i<=t.left+v.width&&(m.x=Ke.Backward,x.x=r*Math.abs((t.left+v.width-i)/v.width)),{direction:m,speed:x}}function ch(e){if(e===document.scrollingElement){let{innerWidth:a,innerHeight:i}=window;return{top:0,left:0,right:a,bottom:i,width:a,height:i}}let{top:t,left:n,right:r,bottom:o}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:o,width:e.clientWidth,height:e.clientHeight}}function cc(e){return e.reduce((t,n)=>mn(t,li(n)),It)}function uh(e){return e.reduce((t,n)=>t+ic(n),0)}function fh(e){return e.reduce((t,n)=>t+sc(n),0)}function ph(e,t){if(t===void 0&&(t=vn),!e)return;let{top:n,left:r,bottom:o,right:a}=t(e);ac(e)&&(o<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:\"center\",inline:\"center\"})}var mh=[[\"x\",[\"left\",\"right\"],uh],[\"y\",[\"top\",\"bottom\"],fh]],yr=class{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let r=ra(n),o=cc(r);this.rect=C({},t),this.width=t.width,this.height=t.height;for(let[a,i,s]of mh)for(let l of i)Object.defineProperty(this,l,{get:()=>{let u=s(r),f=o[a]-u;return this.rect[l]+f},enumerable:!0});Object.defineProperty(this,\"rect\",{enumerable:!1})}},bn=class{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var o;(o=this.target)==null||o.addEventListener(t,n,r),this.listeners.push([t,n,r])}};function gh(e){let{EventTarget:t}=ot(e);return e instanceof t?e:fn(e)}function ii(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==\"number\"?Math.sqrt(n**2+r**2)>t:\"x\"in t&&\"y\"in t?n>t.x&&r>t.y:\"x\"in t?n>t.x:\"y\"in t?r>t.y:!1}var wt;(function(e){e.Click=\"click\",e.DragStart=\"dragstart\",e.Keydown=\"keydown\",e.ContextMenu=\"contextmenu\",e.Resize=\"resize\",e.SelectionChange=\"selectionchange\",e.VisibilityChange=\"visibilitychange\"})(wt||(wt={}));function Yd(e){e.preventDefault()}function hh(e){e.stopPropagation()}var ye;(function(e){e.Space=\"Space\",e.Down=\"ArrowDown\",e.Right=\"ArrowRight\",e.Left=\"ArrowLeft\",e.Up=\"ArrowUp\",e.Esc=\"Escape\",e.Enter=\"Enter\",e.Tab=\"Tab\"})(ye||(ye={}));var uc={start:[ye.Space,ye.Enter],cancel:[ye.Esc],end:[ye.Space,ye.Enter,ye.Tab]},bh=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case ye.Right:return I(C({},n),{x:n.x+25});case ye.Left:return I(C({},n),{x:n.x-25});case ye.Down:return I(C({},n),{y:n.y+25});case ye.Up:return I(C({},n),{y:n.y-25})}},ta=class{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;let{event:{target:n}}=t;this.props=t,this.listeners=new bn(fn(n)),this.windowListeners=new bn(ot(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(wt.Resize,this.handleCancel),this.windowListeners.add(wt.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(wt.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&ph(r),n(It)}handleKeyDown(t){if(br(t)){let{active:n,context:r,options:o}=this.props,{keyboardCodes:a=uc,coordinateGetter:i=bh,scrollBehavior:s=\"smooth\"}=o,{code:l}=t;if(a.end.includes(l)){this.handleEnd(t);return}if(a.cancel.includes(l)){this.handleCancel(t);return}let{collisionRect:u}=r.current,f=u?{x:u.left,y:u.top}:It;this.referenceCoordinates||(this.referenceCoordinates=f);let d=i(t,{active:n,context:r.current,currentCoordinates:f});if(d){let c=zn(d,f),m={x:0,y:0},{scrollableAncestors:x}=r.current;for(let v of x){let h=t.code,{isTop:y,isRight:b,isLeft:O,isBottom:w,maxScroll:D,minScroll:S}=dc(v),F=ch(v),T={x:Math.min(h===ye.Right?F.right-F.width/2:F.right,Math.max(h===ye.Right?F.left:F.left+F.width/2,d.x)),y:Math.min(h===ye.Down?F.bottom-F.height/2:F.bottom,Math.max(h===ye.Down?F.top:F.top+F.height/2,d.y))},P=h===ye.Right&&!b||h===ye.Left&&!O,V=h===ye.Down&&!w||h===ye.Up&&!y;if(P&&T.x!==d.x){let E=v.scrollLeft+c.x,N=h===ye.Right&&E<=D.x||h===ye.Left&&E>=S.x;if(N&&!c.y){v.scrollTo({left:E,behavior:s});return}N?m.x=v.scrollLeft-E:m.x=h===ye.Right?v.scrollLeft-D.x:v.scrollLeft-S.x,m.x&&v.scrollBy({left:-m.x,behavior:s});break}else if(V&&T.y!==d.y){let E=v.scrollTop+c.y,N=h===ye.Down&&E<=D.y||h===ye.Up&&E>=S.y;if(N&&!c.x){v.scrollTo({top:E,behavior:s});return}N?m.y=v.scrollTop-E:m.y=h===ye.Down?v.scrollTop-D.y:v.scrollTop-S.y,m.y&&v.scrollBy({top:-m.y,behavior:s});break}}this.handleMove(t,mn(zn(d,this.referenceCoordinates),m))}}}handleMove(t,n){let{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){let{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){let{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};ta.activators=[{eventName:\"onKeyDown\",handler:(e,t,n)=>{let{keyboardCodes:r=uc,onActivation:o}=t,{active:a}=n,{code:i}=e.nativeEvent;if(r.start.includes(i)){let s=a.activatorNode.current;return s&&e.target!==s?!1:(e.preventDefault(),o==null||o({event:e.nativeEvent}),!0)}return!1}}];function Kd(e){return!!(e&&\"distance\"in e)}function Jd(e){return!!(e&&\"delay\"in e)}var wr=class{constructor(t,n,r){var o;r===void 0&&(r=gh(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;let{event:a}=t,{target:i}=a;this.props=t,this.events=n,this.document=fn(i),this.documentListeners=new bn(this.document),this.listeners=new bn(r),this.windowListeners=new bn(ot(i)),this.initialCoordinates=(o=xr(a))!=null?o:It,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:t,props:{options:{activationConstraint:n,bypassActivationConstraint:r}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),t.cancel&&this.listeners.add(t.cancel.name,this.handleCancel),this.windowListeners.add(wt.Resize,this.handleCancel),this.windowListeners.add(wt.DragStart,Yd),this.windowListeners.add(wt.VisibilityChange,this.handleCancel),this.windowListeners.add(wt.ContextMenu,Yd),this.documentListeners.add(wt.Keydown,this.handleKeydown),n){if(r!=null&&r({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Jd(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(Kd(n)){this.handlePending(n);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(t,n){let{active:r,onPending:o}=this.props;o(r,t,this.initialCoordinates,n)}handleStart(){let{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(wt.Click,hh,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(wt.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;let{activated:r,initialCoordinates:o,props:a}=this,{onMove:i,options:{activationConstraint:s}}=a;if(!o)return;let l=(n=xr(t))!=null?n:It,u=zn(o,l);if(!r&&s){if(Kd(s)){if(s.tolerance!=null&&ii(u,s.tolerance))return this.handleCancel();if(ii(u,s.distance))return this.handleStart()}if(Jd(s)&&ii(u,s.tolerance))return this.handleCancel();this.handlePending(s,u);return}t.cancelable&&t.preventDefault(),i(l)}handleEnd(){let{onAbort:t,onEnd:n}=this.props;this.detach(),this.activated||t(this.props.active),n()}handleCancel(){let{onAbort:t,onCancel:n}=this.props;this.detach(),this.activated||t(this.props.active),n()}handleKeydown(t){t.code===ye.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}},xh={cancel:{name:\"pointercancel\"},move:{name:\"pointermove\"},end:{name:\"pointerup\"}},Vt=class extends wr{constructor(t){let{event:n}=t,r=fn(n.target);super(t,xh,r)}};Vt.activators=[{eventName:\"onPointerDown\",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];var vh={move:{name:\"mousemove\"},end:{name:\"mouseup\"}},di;(function(e){e[e.RightClick=2]=\"RightClick\"})(di||(di={}));var ci=class extends wr{constructor(t){super(t,vh,fn(t.event.target))}};ci.activators=[{eventName:\"onMouseDown\",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===di.RightClick?!1:(r==null||r({event:n}),!0)}}];var si={cancel:{name:\"touchcancel\"},move:{name:\"touchmove\"},end:{name:\"touchend\"}},ui=class extends wr{constructor(t){super(t,si)}static setup(){return window.addEventListener(si.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(si.move.name,t)};function t(){}}};ui.activators=[{eventName:\"onTouchStart\",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:o}=n;return o.length>1?!1:(r==null||r({event:n}),!0)}}];var vr;(function(e){e[e.Pointer=0]=\"Pointer\",e[e.DraggableRect=1]=\"DraggableRect\"})(vr||(vr={}));var na;(function(e){e[e.TreeOrder=0]=\"TreeOrder\",e[e.ReversedTreeOrder=1]=\"ReversedTreeOrder\"})(na||(na={}));function yh(e){let{acceleration:t,activator:n=vr.Pointer,canScroll:r,draggingRect:o,enabled:a,interval:i=5,order:s=na.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:f,delta:d,threshold:c}=e,m=Ch({delta:d,disabled:!a}),[x,v]=$d(),h=(0,A.useRef)({x:0,y:0}),y=(0,A.useRef)({x:0,y:0}),b=(0,A.useMemo)(()=>{switch(n){case vr.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case vr.DraggableRect:return o}},[n,o,l]),O=(0,A.useRef)(null),w=(0,A.useCallback)(()=>{let S=O.current;if(!S)return;let F=h.current.x*y.current.x,T=h.current.y*y.current.y;S.scrollBy(F,T)},[]),D=(0,A.useMemo)(()=>s===na.TreeOrder?[...u].reverse():u,[s,u]);(0,A.useEffect)(()=>{if(!a||!u.length||!b){v();return}for(let S of D){if((r==null?void 0:r(S))===!1)continue;let F=u.indexOf(S),T=f[F];if(!T)continue;let{direction:P,speed:V}=dh(S,T,b,t,c);for(let E of[\"x\",\"y\"])m[E][P[E]]||(V[E]=0,P[E]=0);if(V.x>0||V.y>0){v(),O.current=S,x(w,i),h.current=V,y.current=P;return}}h.current={x:0,y:0},y.current={x:0,y:0},v()},[t,w,r,v,a,i,JSON.stringify(b),JSON.stringify(m),x,u,D,f,JSON.stringify(c)])}var wh={x:{[Ke.Backward]:!1,[Ke.Forward]:!1},y:{[Ke.Backward]:!1,[Ke.Forward]:!1}};function Ch(e){let{delta:t,disabled:n}=e,r=Zo(t);return Vn(o=>{if(n||!r||!o)return wh;let a={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Ke.Backward]:o.x[Ke.Backward]||a.x===-1,[Ke.Forward]:o.x[Ke.Forward]||a.x===1},y:{[Ke.Backward]:o.y[Ke.Backward]||a.y===-1,[Ke.Forward]:o.y[Ke.Forward]||a.y===1}}},[n,t,r])}function Sh(e,t){let n=t!=null?e.get(t):void 0,r=n?n.node.current:null;return Vn(o=>{var a;return t==null?null:(a=r!=null?r:o)!=null?a:null},[r,t])}function Oh(e,t){return(0,A.useMemo)(()=>e.reduce((n,r)=>{let{sensor:o}=r,a=o.activators.map(i=>({eventName:i.eventName,handler:t(i.handler,r)}));return[...n,...a]},[]),[e,t])}var Cr;(function(e){e[e.Always=0]=\"Always\",e[e.BeforeDragging=1]=\"BeforeDragging\",e[e.WhileDragging=2]=\"WhileDragging\"})(Cr||(Cr={}));var fi;(function(e){e.Optimized=\"optimized\"})(fi||(fi={}));var Xd=new Map;function Dh(e,t){let{dragging:n,dependencies:r,config:o}=t,[a,i]=(0,A.useState)(null),{frequency:s,measure:l,strategy:u}=o,f=(0,A.useRef)(e),d=h(),c=Mn(d),m=(0,A.useCallback)(function(y){y===void 0&&(y=[]),!c.current&&i(b=>b===null?y:b.concat(y.filter(O=>!b.includes(O))))},[c]),x=(0,A.useRef)(null),v=Vn(y=>{if(d&&!n)return Xd;if(!y||y===Xd||f.current!==e||a!=null){let b=new Map;for(let O of e){if(!O)continue;if(a&&a.length>0&&!a.includes(O.id)&&O.rect.current){b.set(O.id,O.rect.current);continue}let w=O.node.current,D=w?new yr(l(w),w):null;O.rect.current=D,D&&b.set(O.id,D)}return b}return y},[e,a,n,d,l]);return(0,A.useEffect)(()=>{f.current=e},[e]),(0,A.useEffect)(()=>{d||m()},[n,d]),(0,A.useEffect)(()=>{a&&a.length>0&&i(null)},[JSON.stringify(a)]),(0,A.useEffect)(()=>{d||typeof s!=\"number\"||x.current!==null||(x.current=setTimeout(()=>{m(),x.current=null},s))},[s,d,m,...r]),{droppableRects:v,measureDroppableContainers:m,measuringScheduled:a!=null};function h(){switch(u){case Cr.Always:return!1;case Cr.BeforeDragging:return n;default:return!n}}}function fc(e,t){return Vn(n=>e?n||(typeof t==\"function\"?t(e):e):null,[t,e])}function Ih(e,t){return fc(e,t)}function Eh(e){let{callback:t,disabled:n}=e,r=Qo(t),o=(0,A.useMemo)(()=>{if(n||typeof window>\"u\"||typeof window.MutationObserver>\"u\")return;let{MutationObserver:a}=window;return new a(r)},[r,n]);return(0,A.useEffect)(()=>()=>o==null?void 0:o.disconnect(),[o]),o}function oa(e){let{callback:t,disabled:n}=e,r=Qo(t),o=(0,A.useMemo)(()=>{if(n||typeof window>\"u\"||typeof window.ResizeObserver>\"u\")return;let{ResizeObserver:a}=window;return new a(r)},[n]);return(0,A.useEffect)(()=>()=>o==null?void 0:o.disconnect(),[o]),o}function Th(e){return new yr(vn(e),e)}function Qd(e,t,n){t===void 0&&(t=Th);let[r,o]=(0,A.useState)(null);function a(){o(l=>{if(!e)return null;if(e.isConnected===!1){var u;return(u=l!=null?l:n)!=null?u:null}let f=t(e);return JSON.stringify(l)===JSON.stringify(f)?l:f})}let i=Eh({callback(l){if(e)for(let u of l){let{type:f,target:d}=u;if(f===\"childList\"&&d instanceof HTMLElement&&d.contains(e)){a();break}}}}),s=oa({callback:a});return yt(()=>{a(),e?(s==null||s.observe(e),i==null||i.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),i==null||i.disconnect())},[e]),r}function kh(e){let t=fc(e);return oc(e,t)}var Zd=[];function Nh(e){let t=(0,A.useRef)(e),n=Vn(r=>e?r&&r!==Zd&&e&&t.current&&e.parentNode===t.current.parentNode?r:ra(e):Zd,[e]);return(0,A.useEffect)(()=>{t.current=e},[e]),n}function Fh(e){let[t,n]=(0,A.useState)(null),r=(0,A.useRef)(e),o=(0,A.useCallback)(a=>{let i=ai(a.target);i&&n(s=>s?(s.set(i,li(i)),new Map(s)):null)},[]);return(0,A.useEffect)(()=>{let a=r.current;if(e!==a){i(a);let s=e.map(l=>{let u=ai(l);return u?(u.addEventListener(\"scroll\",o,{passive:!0}),[u,li(u)]):null}).filter(l=>l!=null);n(s.length?new Map(s):null),r.current=e}return()=>{i(e),i(a)};function i(s){s.forEach(l=>{let u=ai(l);u==null||u.removeEventListener(\"scroll\",o)})}},[o,e]),(0,A.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((a,i)=>mn(a,i),It):cc(e):It,[e,t])}function Rd(e,t){t===void 0&&(t=[]);let n=(0,A.useRef)(null);return(0,A.useEffect)(()=>{n.current=null},t),(0,A.useEffect)(()=>{let r=e!==It;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?zn(e,n.current):It}function Ah(e){(0,A.useEffect)(()=>{if(!gr)return;let t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(let n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function Ph(e,t){return(0,A.useMemo)(()=>e.reduce((n,r)=>{let{eventName:o,handler:a}=r;return n[o]=i=>{a(i,t)},n},{}),[e,t])}function pc(e){return(0,A.useMemo)(()=>e?ah(e):null,[e])}var ec=[];function _h(e,t){t===void 0&&(t=vn);let[n]=e,r=pc(n?ot(n):null),[o,a]=(0,A.useState)(ec);function i(){a(()=>e.length?e.map(l=>lc(l)?r:new yr(t(l),l)):ec)}let s=oa({callback:i});return yt(()=>{s==null||s.disconnect(),i(),e.forEach(l=>s==null?void 0:s.observe(l))},[e]),o}function Bh(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return Ln(t)?t:e}function Lh(e){let{measure:t}=e,[n,r]=(0,A.useState)(null),o=(0,A.useCallback)(u=>{for(let{target:f}of u)if(Ln(f)){r(d=>{let c=t(f);return d?I(C({},d),{width:c.width,height:c.height}):c});break}},[t]),a=oa({callback:o}),i=(0,A.useCallback)(u=>{let f=Bh(u);a==null||a.disconnect(),f&&(a==null||a.observe(f)),r(f?t(f):null)},[t,a]),[s,l]=hr(i);return(0,A.useMemo)(()=>({nodeRef:s,rect:n,setRef:l}),[n,s,l])}var Mh=[{sensor:Vt,options:{}},{sensor:ta,options:{}}],Vh={current:{}},Ro={draggable:{measure:jd},droppable:{measure:jd,strategy:Cr.WhileDragging,frequency:fi.Optimized},dragOverlay:{measure:vn}},xn=class extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}},zh={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new xn,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:ea},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Ro,measureDroppableContainers:ea,windowRect:null,measuringScheduled:!1},$h={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:\"\"},dispatch:ea,draggableNodes:new Map,over:null,measureDroppableContainers:ea},aa=(0,A.createContext)($h),mc=(0,A.createContext)(zh);function Uh(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new xn}}}function Wh(e,t){switch(t.type){case We.DragStart:return I(C({},e),{draggable:I(C({},e.draggable),{initialCoordinates:t.initialCoordinates,active:t.active})});case We.DragMove:return e.draggable.active==null?e:I(C({},e),{draggable:I(C({},e.draggable),{translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}})});case We.DragEnd:case We.DragCancel:return I(C({},e),{draggable:I(C({},e.draggable),{active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}})});case We.RegisterDroppable:{let{element:n}=t,{id:r}=n,o=new xn(e.droppable.containers);return o.set(r,n),I(C({},e),{droppable:I(C({},e.droppable),{containers:o})})}case We.SetDroppableDisabled:{let{id:n,key:r,disabled:o}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let i=new xn(e.droppable.containers);return i.set(n,I(C({},a),{disabled:o})),I(C({},e),{droppable:I(C({},e.droppable),{containers:i})})}case We.UnregisterDroppable:{let{id:n,key:r}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;let a=new xn(e.droppable.containers);return a.delete(n),I(C({},e),{droppable:I(C({},e.droppable),{containers:a})})}default:return e}}function Gh(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:o}=(0,A.useContext)(aa),a=Zo(r),i=Zo(n==null?void 0:n.id);return(0,A.useEffect)(()=>{if(!t&&!r&&a&&i!=null){if(!br(a)||document.activeElement===a.target)return;let s=o.get(i);if(!s)return;let{activatorNode:l,node:u}=s;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(let f of[l.current,u.current]){if(!f)continue;let d=Wd(f);if(d){d.focus();break}}})}},[r,t,o,i,a]),null}function Hh(e,t){let o=t,{transform:n}=o,r=Ft(o,[\"transform\"]);return e!=null&&e.length?e.reduce((a,i)=>i(C({transform:a},r)),n):n}function qh(e){return(0,A.useMemo)(()=>({draggable:C(C({},Ro.draggable),e==null?void 0:e.draggable),droppable:C(C({},Ro.droppable),e==null?void 0:e.droppable),dragOverlay:C(C({},Ro.dragOverlay),e==null?void 0:e.dragOverlay)}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function jh(e){let{activeNode:t,measure:n,initialRect:r,config:o=!0}=e,a=(0,A.useRef)(!1),{x:i,y:s}=typeof o==\"boolean\"?{x:o,y:o}:o;yt(()=>{if(!i&&!s||!t){a.current=!1;return}if(a.current||!r)return;let u=t==null?void 0:t.node.current;if(!u||u.isConnected===!1)return;let f=n(u),d=oc(f,r);if(i||(d.x=0),s||(d.y=0),a.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){let c=ac(u);c&&c.scrollBy({top:d.y,left:d.x})}},[t,i,s,r,n])}var gc=(0,A.createContext)(I(C({},It),{scaleX:1,scaleY:1})),Kt;(function(e){e[e.Uninitialized=0]=\"Uninitialized\",e[e.Initializing=1]=\"Initializing\",e[e.Initialized=2]=\"Initialized\"})(Kt||(Kt={}));var Dr=(0,A.memo)(function(t){var n,r,o,a;let Xs=t,{id:i,accessibility:s,autoScroll:l=!0,children:u,sensors:f=Mh,collisionDetection:d=Zg,measuring:c,modifiers:m}=Xs,x=Ft(Xs,[\"id\",\"accessibility\",\"autoScroll\",\"children\",\"sensors\",\"collisionDetection\",\"measuring\",\"modifiers\"]),v=(0,A.useReducer)(Wh,void 0,Uh),[h,y]=v,[b,O]=jg(),[w,D]=(0,A.useState)(Kt.Uninitialized),S=w===Kt.Initialized,{draggable:{active:F,nodes:T,translate:P},droppable:{containers:V}}=h,E=F!=null?T.get(F):null,N=(0,A.useRef)({initial:null,translated:null}),U=(0,A.useMemo)(()=>{var tt;return F!=null?{id:F,data:(tt=E==null?void 0:E.data)!=null?tt:Vh,rect:N}:null},[F,E]),K=(0,A.useRef)(null),[se,he]=(0,A.useState)(null),[Ce,He]=(0,A.useState)(null),Ve=Mn(x,Object.values(x)),zt=pn(\"DndDescribedBy\",i),$t=(0,A.useMemo)(()=>V.getEnabled(),[V]),qe=qh(c),{droppableRects:rt,measureDroppableContainers:Et,measuringScheduled:Lt}=Dh($t,{dragging:S,dependencies:[P.x,P.y],config:qe.droppable}),Qe=Sh(T,F),tn=(0,A.useMemo)(()=>Ce?xr(Ce):null,[Ce]),Tt=Gp(),st=Ih(Qe,qe.draggable.measure);jh({activeNode:F!=null?T.get(F):null,config:Tt.layoutShiftCompensation,initialRect:st,measure:qe.draggable.measure});let ve=Qd(Qe,qe.draggable.measure,st),In=Qd(Qe?Qe.parentElement:null),Fe=(0,A.useRef)({activatorEvent:null,active:null,activeNode:Qe,collisionRect:null,collisions:null,droppableRects:rt,draggableNodes:T,draggingNode:null,draggingNodeRect:null,droppableContainers:V,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),lt=V.getNodeFor((n=Fe.current.over)==null?void 0:n.id),xt=Lh({measure:qe.dragOverlay.measure}),En=(r=xt.nodeRef.current)!=null?r:Qe,Tn=S?(o=xt.rect)!=null?o:ve:null,Ws=!!(xt.nodeRef.current&&xt.rect),Gs=kh(Ws?null:ve),$a=pc(En?ot(En):null),Ut=Nh(S?lt!=null?lt:Qe:null),so=_h(Ut),lo=Hh(m,{transform:{x:P.x-Gs.x,y:P.y-Gs.y,scaleX:1,scaleY:1},activatorEvent:Ce,active:U,activeNodeRect:ve,containerNodeRect:In,draggingNodeRect:Tn,over:Fe.current.over,overlayNodeRect:xt.rect,scrollableAncestors:Ut,scrollableAncestorRects:so,windowRect:$a}),Hs=tn?mn(tn,P):null,qs=Fh(Ut),Lp=Rd(qs),Mp=Rd(qs,[ve]),kn=mn(lo,Lp),Nn=Tn?th(Tn,lo):null,er=U&&Nn?d({active:U,collisionRect:Nn,droppableRects:rt,droppableContainers:$t,pointerCoordinates:Hs}):null,js=rc(er,\"id\"),[Wt,Ys]=(0,A.useState)(null),Vp=Ws?lo:mn(lo,Mp),zp=Rg(Vp,(a=Wt==null?void 0:Wt.rect)!=null?a:null,ve),Ua=(0,A.useRef)(null),Ks=(0,A.useCallback)((tt,dt)=>{let{sensor:ct,options:Gt}=dt;if(K.current==null)return;let vt=T.get(K.current);if(!vt)return;let ut=tt.nativeEvent,kt=new ct({active:K.current,activeNode:vt,event:ut,options:Gt,context:Fe,onAbort(Ze){if(!T.get(Ze))return;let{onDragAbort:Nt}=Ve.current,Mt={id:Ze};Nt==null||Nt(Mt),b({type:\"onDragAbort\",event:Mt})},onPending(Ze,Ht,Nt,Mt){if(!T.get(Ze))return;let{onDragPending:nr}=Ve.current,qt={id:Ze,constraint:Ht,initialCoordinates:Nt,offset:Mt};nr==null||nr(qt),b({type:\"onDragPending\",event:qt})},onStart(Ze){let Ht=K.current;if(Ht==null)return;let Nt=T.get(Ht);if(!Nt)return;let{onDragStart:Mt}=Ve.current,tr={activatorEvent:ut,active:{id:Ht,data:Nt.data,rect:N}};(0,hn.unstable_batchedUpdates)(()=>{Mt==null||Mt(tr),D(Kt.Initializing),y({type:We.DragStart,initialCoordinates:Ze,active:Ht}),b({type:\"onDragStart\",event:tr}),he(Ua.current),He(ut)})},onMove(Ze){y({type:We.DragMove,coordinates:Ze})},onEnd:Fn(We.DragEnd),onCancel:Fn(We.DragCancel)});Ua.current=kt;function Fn(Ze){return async function(){let{active:Nt,collisions:Mt,over:tr,scrollAdjustedTranslate:nr}=Fe.current,qt=null;if(Nt&&nr){let{cancelDrop:rr}=Ve.current;qt={activatorEvent:ut,active:Nt,collisions:Mt,delta:nr,over:tr},Ze===We.DragEnd&&typeof rr==\"function\"&&await Promise.resolve(rr(qt))&&(Ze=We.DragCancel)}K.current=null,(0,hn.unstable_batchedUpdates)(()=>{y({type:Ze}),D(Kt.Uninitialized),Ys(null),he(null),He(null),Ua.current=null;let rr=Ze===We.DragEnd?\"onDragEnd\":\"onDragCancel\";if(qt){let Wa=Ve.current[rr];Wa==null||Wa(qt),b({type:rr,event:qt})}})}}},[T]),$p=(0,A.useCallback)((tt,dt)=>(ct,Gt)=>{let vt=ct.nativeEvent,ut=T.get(Gt);if(K.current!==null||!ut||vt.dndKit||vt.defaultPrevented)return;let kt={active:ut};tt(ct,dt.options,kt)===!0&&(vt.dndKit={capturedBy:dt.sensor},K.current=Gt,Ks(ct,dt))},[T,Ks]),Js=Oh(f,$p);Ah(f),yt(()=>{ve&&w===Kt.Initializing&&D(Kt.Initialized)},[ve,w]),(0,A.useEffect)(()=>{let{onDragMove:tt}=Ve.current,{active:dt,activatorEvent:ct,collisions:Gt,over:vt}=Fe.current;if(!dt||!ct)return;let ut={active:dt,activatorEvent:ct,collisions:Gt,delta:{x:kn.x,y:kn.y},over:vt};(0,hn.unstable_batchedUpdates)(()=>{tt==null||tt(ut),b({type:\"onDragMove\",event:ut})})},[kn.x,kn.y]),(0,A.useEffect)(()=>{let{active:tt,activatorEvent:dt,collisions:ct,droppableContainers:Gt,scrollAdjustedTranslate:vt}=Fe.current;if(!tt||K.current==null||!dt||!vt)return;let{onDragOver:ut}=Ve.current,kt=Gt.get(js),Fn=kt&&kt.rect.current?{id:kt.id,rect:kt.rect.current,data:kt.data,disabled:kt.disabled}:null,Ze={active:tt,activatorEvent:dt,collisions:ct,delta:{x:vt.x,y:vt.y},over:Fn};(0,hn.unstable_batchedUpdates)(()=>{Ys(Fn),ut==null||ut(Ze),b({type:\"onDragOver\",event:Ze})})},[js]),yt(()=>{Fe.current={activatorEvent:Ce,active:U,activeNode:Qe,collisionRect:Nn,collisions:er,droppableRects:rt,draggableNodes:T,draggingNode:En,draggingNodeRect:Tn,droppableContainers:V,over:Wt,scrollableAncestors:Ut,scrollAdjustedTranslate:kn},N.current={initial:Tn,translated:Nn}},[U,Qe,er,Nn,T,En,Tn,rt,V,Wt,Ut,kn]),yh(I(C({},Tt),{delta:P,draggingRect:Nn,pointerCoordinates:Hs,scrollableAncestors:Ut,scrollableAncestorRects:so}));let Up=(0,A.useMemo)(()=>({active:U,activeNode:Qe,activeNodeRect:ve,activatorEvent:Ce,collisions:er,containerNodeRect:In,dragOverlay:xt,draggableNodes:T,droppableContainers:V,droppableRects:rt,over:Wt,measureDroppableContainers:Et,scrollableAncestors:Ut,scrollableAncestorRects:so,measuringConfiguration:qe,measuringScheduled:Lt,windowRect:$a}),[U,Qe,ve,Ce,er,In,xt,T,V,rt,Wt,Et,Ut,so,qe,Lt,$a]),Wp=(0,A.useMemo)(()=>({activatorEvent:Ce,activators:Js,active:U,activeNodeRect:ve,ariaDescribedById:{draggable:zt},dispatch:y,draggableNodes:T,over:Wt,measureDroppableContainers:Et}),[Ce,Js,U,ve,y,zt,T,Wt,Et]);return A.default.createElement(nc.Provider,{value:O},A.default.createElement(aa.Provider,{value:Wp},A.default.createElement(mc.Provider,{value:Up},A.default.createElement(gc.Provider,{value:zp},u)),A.default.createElement(Gh,{disabled:(s==null?void 0:s.restoreFocus)===!1})),A.default.createElement(Jg,I(C({},s),{hiddenTextDescribedById:zt})));function Gp(){let tt=(se==null?void 0:se.autoScrollEnabled)===!1,dt=typeof l==\"object\"?l.enabled===!1:l===!1,ct=S&&!tt&&!dt;return typeof l==\"object\"?I(C({},l),{enabled:ct}):{enabled:ct}}}),Yh=(0,A.createContext)(null),tc=\"button\",Kh=\"Draggable\";function hc(e){let{id:t,data:n,disabled:r=!1,attributes:o}=e,a=pn(Kh),{activators:i,activatorEvent:s,active:l,activeNodeRect:u,ariaDescribedById:f,draggableNodes:d,over:c}=(0,A.useContext)(aa),{role:m=tc,roleDescription:x=\"draggable\",tabIndex:v=0}=o!=null?o:{},h=(l==null?void 0:l.id)===t,y=(0,A.useContext)(h?gc:Yh),[b,O]=hr(),[w,D]=hr(),S=Ph(i,t),F=Mn(n);yt(()=>(d.set(t,{id:t,key:a,node:b,activatorNode:w,data:F}),()=>{let P=d.get(t);P&&P.key===a&&d.delete(t)}),[d,t]);let T=(0,A.useMemo)(()=>({role:m,tabIndex:v,\"aria-disabled\":r,\"aria-pressed\":h&&m===tc?!0:void 0,\"aria-roledescription\":x,\"aria-describedby\":f.draggable}),[r,m,v,h,x,f.draggable]);return{active:l,activatorEvent:s,activeNodeRect:u,attributes:T,isDragging:h,listeners:r?void 0:S,node:b,over:c,setNodeRef:O,setActivatorNodeRef:D,transform:y}}function bc(){return(0,A.useContext)(mc)}var Jh=\"Droppable\",Xh={timeout:25};function xc(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:o}=e,a=pn(Jh),{active:i,dispatch:s,over:l,measureDroppableContainers:u}=(0,A.useContext)(aa),f=(0,A.useRef)({disabled:n}),d=(0,A.useRef)(!1),c=(0,A.useRef)(null),m=(0,A.useRef)(null),{disabled:x,updateMeasurementsFor:v,timeout:h}=C(C({},Xh),o),y=Mn(v!=null?v:r),b=(0,A.useCallback)(()=>{if(!d.current){d.current=!0;return}m.current!=null&&clearTimeout(m.current),m.current=setTimeout(()=>{u(Array.isArray(y.current)?y.current:[y.current]),m.current=null},h)},[h]),O=oa({callback:b,disabled:x||!i}),w=(0,A.useCallback)((T,P)=>{O&&(P&&(O.unobserve(P),d.current=!1),T&&O.observe(T))},[O]),[D,S]=hr(w),F=Mn(t);return(0,A.useEffect)(()=>{!O||!D.current||(O.disconnect(),d.current=!1,O.observe(D.current))},[D,O]),(0,A.useEffect)(()=>(s({type:We.RegisterDroppable,element:{id:r,key:a,disabled:n,node:D,rect:c,data:F}}),()=>s({type:We.UnregisterDroppable,key:a,id:r})),[r]),(0,A.useEffect)(()=>{n!==f.current.disabled&&(s({type:We.SetDroppableDisabled,id:r,key:a,disabled:n}),f.current.disabled=n)},[r,a,n,s]),{active:i,rect:c,isOver:(l==null?void 0:l.id)===r,node:D,over:l,setNodeRef:S}}var Ir=e=>{let{transform:t}=e;return I(C({},t),{x:0})};var Be=B(R());function pt(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function Qh(e,t){return e.reduce((n,r,o)=>{let a=t.get(r);return a&&(n[o]=a),n},Array(e.length))}function ia(e){return e!==null&&e>=0}function Zh(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n{let{rects:t,activeIndex:n,overIndex:r,index:o}=e,a=pt(t,r,n),i=t[o],s=a[o];return!s||!i?null:{x:s.left-i.left,y:s.top-i.top,scaleX:s.width/i.width,scaleY:s.height/i.height}};var sa={scaleX:1,scaleY:1},Er=e=>{var t;let{activeIndex:n,activeNodeRect:r,index:o,rects:a,overIndex:i}=e,s=(t=a[n])!=null?t:r;if(!s)return null;if(o===n){let u=a[i];return u?C({x:0,y:nn&&o<=i?C({x:0,y:-s.height-l},sa):o=i?C({x:0,y:s.height+l},sa):C({x:0,y:0},sa)};function eb(e,t,n){let r=e[t],o=e[t-1],a=e[t+1];return r?nr.map(S=>typeof S==\"object\"&&\"id\"in S?S.id:S),[r]),x=i!=null,v=i?m.indexOf(i.id):-1,h=u?m.indexOf(u.id):-1,y=(0,Be.useRef)(m),b=!Zh(m,y.current),O=h!==-1&&v===-1||b,w=Rh(a);yt(()=>{b&&x&&f(m)},[b,m,x,f]),(0,Be.useEffect)(()=>{y.current=m},[m]);let D=(0,Be.useMemo)(()=>({activeIndex:v,containerId:d,disabled:w,disableTransforms:O,items:m,overIndex:h,useDragOverlay:c,sortedRects:Qh(m,l),strategy:o}),[v,d,w.draggable,w.droppable,O,m,h,l,c,o]);return Be.default.createElement(wc.Provider,{value:D},t)}var tb=e=>{let{id:t,items:n,activeIndex:r,overIndex:o}=e;return pt(n,r,o).indexOf(t)},nb=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:o,items:a,newIndex:i,previousItems:s,previousContainerId:l,transition:u}=e;return!u||!r||s!==a&&o===i?!1:n?!0:i!==o&&t===l},rb={duration:200,easing:\"ease\"},Cc=\"transform\",ob=Bt.Transition.toString({property:Cc,duration:0,easing:\"linear\"}),ab={roleDescription:\"sortable\"};function ib(e){let{disabled:t,index:n,node:r,rect:o}=e,[a,i]=(0,Be.useState)(null),s=(0,Be.useRef)(n);return yt(()=>{if(!t&&n!==s.current&&r.current){let l=o.current;if(l){let u=vn(r.current,{ignoreTransform:!0}),f={x:l.left-u.left,y:l.top-u.top,scaleX:l.width/u.width,scaleY:l.height/u.height};(f.x||f.y)&&i(f)}}n!==s.current&&(s.current=n)},[t,n,r,o]),(0,Be.useEffect)(()=>{a&&i(null)},[a]),a}function la(e){let{animateLayoutChanges:t=nb,attributes:n,disabled:r,data:o,getNewIndex:a=tb,id:i,strategy:s,resizeObserverConfig:l,transition:u=rb}=e,{items:f,containerId:d,activeIndex:c,disabled:m,disableTransforms:x,sortedRects:v,overIndex:h,useDragOverlay:y,strategy:b}=(0,Be.useContext)(wc),O=sb(r,m),w=f.indexOf(i),D=(0,Be.useMemo)(()=>C({sortable:{containerId:d,index:w,items:f}},o),[d,o,w,f]),S=(0,Be.useMemo)(()=>f.slice(f.indexOf(i)),[f,i]),{rect:F,node:T,isOver:P,setNodeRef:V}=xc({id:i,data:D,disabled:O.droppable,resizeObserverConfig:C({updateMeasurementsFor:S},l)}),{active:E,activatorEvent:N,activeNodeRect:U,attributes:K,setNodeRef:se,listeners:he,isDragging:Ce,over:He,setActivatorNodeRef:Ve,transform:zt}=hc({id:i,data:D,attributes:C(C({},ab),n),disabled:O.draggable}),$t=zd(V,se),qe=!!E,rt=qe&&!x&&ia(c)&&ia(h),Et=!y&&Ce,Lt=Et&&rt?zt:null,Qe=s!=null?s:b,tn=rt?Lt!=null?Lt:Qe({rects:v,activeNodeRect:U,activeIndex:c,overIndex:h,index:w}):null,Tt=ia(c)&&ia(h)?a({id:i,items:f,activeIndex:c,overIndex:h}):w,st=E==null?void 0:E.id,ve=(0,Be.useRef)({activeId:st,items:f,newIndex:Tt,containerId:d}),In=f!==ve.current.items,Fe=t({active:E,containerId:d,isDragging:Ce,isSorting:qe,id:i,index:w,items:f,newIndex:ve.current.newIndex,previousItems:ve.current.items,previousContainerId:ve.current.containerId,transition:u,wasDragging:ve.current.activeId!=null}),lt=ib({disabled:!Fe,index:w,node:T,rect:F});return(0,Be.useEffect)(()=>{qe&&ve.current.newIndex!==Tt&&(ve.current.newIndex=Tt),d!==ve.current.containerId&&(ve.current.containerId=d),f!==ve.current.items&&(ve.current.items=f)},[qe,Tt,d,f]),(0,Be.useEffect)(()=>{if(st===ve.current.activeId)return;if(st!=null&&ve.current.activeId==null){ve.current.activeId=st;return}let En=setTimeout(()=>{ve.current.activeId=st},50);return()=>clearTimeout(En)},[st]),{active:E,activeIndex:c,attributes:K,data:D,rect:F,index:w,newIndex:Tt,items:f,isOver:P,isSorting:qe,isDragging:Ce,listeners:he,node:T,overIndex:h,over:He,setNodeRef:$t,setActivatorNodeRef:Ve,setDroppableNodeRef:V,setDraggableNodeRef:se,transform:lt!=null?lt:tn,transition:xt()};function xt(){if(lt||In&&ve.current.newIndex===w)return ob;if(!(Et&&!br(N)||!u)&&(qe||Fe))return Bt.Transition.toString(I(C({},u),{property:Cc}))}}function sb(e,t){var n,r;return typeof e==\"boolean\"?{draggable:e,droppable:!1}:{draggable:(n=e==null?void 0:e.draggable)!=null?n:t.draggable,droppable:(r=e==null?void 0:e.droppable)!=null?r:t.droppable}}var zD=[ye.Down,ye.Right,ye.Up,ye.Left];if(typeof window<\"u\"){let e=document.createElement(\"style\");e.textContent=':root {\\n --bg-primary: #ffffff;\\n --bg-secondary: #f5f5f5;\\n --bg-tertiary: #fafafa;\\n --text-primary: rgba(0, 0, 0, 0.88);\\n --text-secondary: rgba(0, 0, 0, 0.65);\\n --text-tertiary: rgba(0, 0, 0, 0.45);\\n --border-color: #d9d9d9;\\n --border-color-light: #f0f0f0;\\n --shadow-color: rgba(0, 0, 0, 0.08);\\n --shadow-hover: rgba(0, 0, 0, 0.12);\\n --primary-color: #1890ff;\\n --primary-hover: #40a9ff;\\n --primary-active: #096dd9;\\n --spacing-xs: 4px;\\n --spacing-sm: 8px;\\n --spacing-md: 16px;\\n --spacing-lg: 24px;\\n --spacing-xl: 32px;\\n --radius-sm: 4px;\\n --radius-md: 8px;\\n --radius-lg: 12px;\\n --radius-xl: 16px;\\n --transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);\\n --transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);\\n --transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1);\\n}\\n@media (prefers-color-scheme: dark) {\\n :root {\\n --bg-primary: #141414;\\n --bg-secondary: #1f1f1f;\\n --bg-tertiary: #2a2a2a;\\n --text-primary: rgba(255, 255, 255, 0.85);\\n --text-secondary: rgba(255, 255, 255, 0.65);\\n --text-tertiary: rgba(255, 255, 255, 0.45);\\n --border-color: #424242;\\n --border-color-light: #303030;\\n --shadow-color: rgba(0, 0, 0, 0.45);\\n --shadow-hover: rgba(0, 0, 0, 0.65);\\n }\\n}\\n.force-light-tabs.ant-tabs .ant-tabs-nav {\\n background: #ffffff !important;\\n}\\n.force-light-tabs.ant-tabs .ant-tabs-nav .ant-tabs-tab {\\n color: rgba(0, 0, 0, 0.88) !important;\\n background: transparent !important;\\n}\\n.force-light-tabs.ant-tabs .ant-tabs-nav .ant-tabs-tab.ant-tabs-tab-active {\\n background: #ffffff !important;\\n}\\n.force-light-tabs.ant-tabs .ant-tabs-nav .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {\\n color: #1890ff !important;\\n}\\n.force-light-tabs.ant-tabs .ant-tabs-nav .ant-tabs-tab:hover {\\n color: #40a9ff !important;\\n}\\n.force-light-tabs.ant-tabs .ant-tabs-nav .ant-tabs-ink-bar {\\n background: #1890ff !important;\\n}\\n.force-light-table-header .ant-table-thead > tr > th {\\n background: #fafafa !important;\\n color: rgba(0, 0, 0, 0.88) !important;\\n border-bottom: 1px solid #f0f0f0 !important;\\n}\\n.force-light-table-header .ant-table-tbody > tr > td {\\n color: rgba(0, 0, 0, 0.88) !important;\\n}\\n.force-light-form-label {\\n background: #ffffff !important;\\n padding: 16px !important;\\n border-radius: 8px !important;\\n}\\n.force-light-form-label .ant-form-item-label label {\\n color: rgba(0, 0, 0, 0.88) !important;\\n font-weight: 600 !important;\\n font-size: 14px !important;\\n}\\n.force-light-form-label .ant-form-item-control .ant-form-item-explain {\\n color: rgba(0, 0, 0, 0.65) !important;\\n}\\n.force-light-form-label .ant-form-item-control .ant-input,\\n.force-light-form-label .ant-form-item-control .ant-input-number-input,\\n.force-light-form-label .ant-form-item-control .ant-select-selector,\\n.force-light-form-label .ant-form-item-control .ant-input-textarea {\\n color: rgba(0, 0, 0, 0.88) !important;\\n background: #ffffff !important;\\n border-color: #d9d9d9 !important;\\n}\\n.force-light-form-label .ant-form-item-control .ant-input::placeholder,\\n.force-light-form-label .ant-form-item-control .ant-input-number-input::placeholder,\\n.force-light-form-label .ant-form-item-control .ant-select-selector::placeholder,\\n.force-light-form-label .ant-form-item-control .ant-input-textarea::placeholder {\\n color: rgba(0, 0, 0, 0.45) !important;\\n}\\n.force-light-form-label .ant-form-item-label > label.ant-form-item-required::before {\\n color: #ff4d4f !important;\\n}\\n.force-light-form-label .ant-switch {\\n background: rgba(0, 0, 0, 0.25) !important;\\n}\\n.force-light-form-label .ant-switch.ant-switch-checked {\\n background: #1890ff !important;\\n}\\n.force-light-form-label .ant-select .ant-select-selection-item {\\n color: rgba(0, 0, 0, 0.88) !important;\\n}\\n.force-light-form-label .ant-select .ant-select-arrow {\\n color: rgba(0, 0, 0, 0.45) !important;\\n}\\n.force-light-form-label .ant-select .ant-select-dropdown {\\n background: #ffffff !important;\\n}\\n.force-light-form-label .ant-select .ant-select-dropdown .ant-select-item {\\n color: rgba(0, 0, 0, 0.88) !important;\\n}\\n.force-light-form-label .ant-select .ant-select-dropdown .ant-select-item.ant-select-item-option-selected {\\n background: #e6f7ff !important;\\n color: #1890ff !important;\\n}\\n.force-light-form-label .ant-select .ant-select-dropdown .ant-select-item:hover {\\n background: #f5f5f5 !important;\\n}\\n.force-light-form-label .ant-btn {\\n color: rgba(0, 0, 0, 0.88) !important;\\n background: #ffffff !important;\\n border-color: #d9d9d9 !important;\\n}\\n.force-light-form-label .ant-btn.ant-btn-primary {\\n color: #ffffff !important;\\n background: #1890ff !important;\\n border-color: #1890ff !important;\\n}\\n.force-light-form-label .ant-alert {\\n background: #e6f7ff !important;\\n border: 1px solid #91d5ff !important;\\n}\\n.force-light-form-label .ant-alert .ant-alert-message {\\n color: rgba(0, 0, 0, 0.88) !important;\\n font-weight: 500 !important;\\n}\\n.force-light-form-label .ant-alert .ant-alert-description {\\n color: rgba(0, 0, 0, 0.65) !important;\\n}\\n.force-light-form-label .ant-divider {\\n color: rgba(0, 0, 0, 0.45) !important;\\n border-color: #f0f0f0 !important;\\n}\\n.force-light-form-label .ant-divider .ant-divider-inner-text {\\n color: rgba(0, 0, 0, 0.88) !important;\\n}\\n.force-light-form-label .ant-tabs-tab {\\n color: rgba(0, 0, 0, 0.88) !important;\\n}\\n.force-light-form-label .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {\\n color: #1890ff !important;\\n}\\n* {\\n -webkit-tap-highlight-color: transparent;\\n box-sizing: border-box;\\n}\\nbody {\\n margin: 0;\\n padding: 0;\\n overflow-x: hidden;\\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\nhtml {\\n scroll-behavior: smooth;\\n}\\n@keyframes fadeIn {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 1;\\n }\\n}\\n@keyframes slideInUp {\\n from {\\n opacity: 0;\\n transform: translateY(20px);\\n }\\n to {\\n opacity: 1;\\n transform: translateY(0);\\n }\\n}\\n@keyframes slideInRight {\\n from {\\n opacity: 0;\\n transform: translateX(20px);\\n }\\n to {\\n opacity: 1;\\n transform: translateX(0);\\n }\\n}\\n@keyframes scaleIn {\\n from {\\n opacity: 0;\\n transform: scale(0.95);\\n }\\n to {\\n opacity: 1;\\n transform: scale(1);\\n }\\n}\\n.app-layout {\\n width: 100vw;\\n min-height: 100vh;\\n box-sizing: border-box;\\n padding: var(--spacing-md);\\n padding-top: max(var(--spacing-md), env(safe-area-inset-top));\\n padding-bottom: max(var(--spacing-md), env(safe-area-inset-bottom));\\n padding-left: max(var(--spacing-md), env(safe-area-inset-left));\\n padding-right: max(var(--spacing-md), env(safe-area-inset-right));\\n max-width: 1200px;\\n margin: 0 auto;\\n background: var(--bg-secondary);\\n}\\n@media (max-width: 575px) {\\n .app-layout {\\n padding: var(--spacing-sm);\\n padding-top: max(var(--spacing-sm), env(safe-area-inset-top));\\n padding-bottom: max(var(--spacing-sm), env(safe-area-inset-bottom));\\n }\\n}\\n@media (min-width: 768px) and (max-width: 991px) {\\n .app-layout {\\n padding: var(--spacing-lg);\\n }\\n}\\n@media (min-width: 992px) and (max-width: 1199px) {\\n .app-layout {\\n padding: var(--spacing-xl);\\n }\\n}\\n@media (min-width: 1200px) {\\n .app-layout {\\n padding: 48px;\\n }\\n}\\n.app-layout .app-header-row {\\n display: flex;\\n justify-content: flex-end;\\n margin-bottom: var(--spacing-md);\\n padding: var(--spacing-sm) var(--spacing-md);\\n background: var(--bg-primary);\\n border-radius: var(--radius-lg);\\n box-shadow: 0 4px 12px var(--shadow-color);\\n}\\n.app-layout .app-header-row .import-export-buttons {\\n gap: var(--spacing-sm);\\n}\\n@media (max-width: 575px) {\\n .app-layout .app-header-row .import-export-buttons {\\n flex-wrap: wrap;\\n justify-content: flex-end;\\n width: 100%;\\n }\\n}\\n@media (max-width: 575px) {\\n .app-layout .app-header-row {\\n margin-bottom: var(--spacing-sm);\\n padding: var(--spacing-xs) var(--spacing-sm);\\n border-radius: var(--radius-md);\\n }\\n}\\n.app-layout .ant-tabs {\\n background: var(--bg-primary);\\n border-radius: var(--radius-lg);\\n box-shadow: 0 4px 12px var(--shadow-color);\\n min-height: calc(100vh - (2 * var(--spacing-md)));\\n display: flex;\\n flex-direction: column;\\n}\\n@media (max-width: 575px) {\\n .app-layout .ant-tabs {\\n border-radius: var(--radius-md);\\n min-height: calc(100vh - (2 * var(--spacing-sm)));\\n }\\n}\\n.app-layout .ant-tabs .ant-tabs-nav .ant-tabs-extra-content {\\n margin-left: auto;\\n display: flex;\\n align-items: center;\\n gap: var(--spacing-sm);\\n}\\n@media (max-width: 767px) {\\n .app-layout .ant-tabs .ant-tabs-nav .ant-tabs-extra-content {\\n flex-wrap: wrap;\\n justify-content: flex-end;\\n margin-top: var(--spacing-sm);\\n }\\n}\\n@media (max-width: 767px) {\\n .app-layout .ant-tabs .ant-tabs-nav {\\n padding-bottom: var(--spacing-sm);\\n }\\n}\\n.app-layout .ant-tabs .ant-tabs-content-holder {\\n padding: var(--spacing-md);\\n}\\n@media (max-width: 575px) {\\n .app-layout .ant-tabs .ant-tabs-content-holder {\\n padding: var(--spacing-sm);\\n }\\n}\\n.ant-tabs {\\n height: 100%;\\n display: flex;\\n flex-direction: column;\\n}\\n.ant-tabs .ant-tabs-content {\\n transition: opacity var(--transition-base);\\n flex: 1;\\n overflow: hidden;\\n}\\n.ant-tabs .ant-tabs-tabpane {\\n animation: fadeIn var(--transition-base);\\n height: 100%;\\n}\\n.ant-tabs .ant-tabs-nav {\\n margin-bottom: 0;\\n padding: var(--spacing-md) var(--spacing-md) 0;\\n flex-shrink: 0;\\n}\\n@media (max-width: 575px) {\\n .ant-tabs .ant-tabs-nav {\\n padding: var(--spacing-sm) var(--spacing-sm) 0;\\n }\\n}\\n.ant-tabs .ant-tabs-tab {\\n padding: 12px 16px;\\n font-size: 14px;\\n transition: all var(--transition-fast);\\n border-radius: var(--radius-sm) var(--radius-sm) 0 0;\\n}\\n.ant-tabs .ant-tabs-tab:hover {\\n color: var(--primary-hover);\\n}\\n.ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {\\n color: var(--primary-color);\\n font-weight: 600;\\n}\\n@media (max-width: 575px) {\\n .ant-tabs .ant-tabs-tab {\\n padding: 10px 12px;\\n font-size: 13px;\\n }\\n}\\n.ant-tabs .ant-tabs-content-holder {\\n padding: var(--spacing-md);\\n overflow-y: auto;\\n overflow-x: hidden;\\n -webkit-overflow-scrolling: touch;\\n flex: 1;\\n}\\n@media (max-width: 575px) {\\n .ant-tabs .ant-tabs-content-holder {\\n padding: var(--spacing-sm);\\n }\\n}\\n.ant-tabs .ant-tabs-extra-content {\\n display: flex;\\n align-items: center;\\n gap: var(--spacing-sm);\\n}\\n@media (max-width: 575px) {\\n .ant-tabs .ant-tabs-extra-content {\\n flex-wrap: wrap;\\n }\\n}\\n@media (min-width: 768px) {\\n .ant-tabs .ant-tabs-nav {\\n flex-wrap: nowrap !important;\\n }\\n}\\n@media (max-width: 767px) {\\n .ant-tabs .ant-tabs-nav {\\n flex-wrap: wrap;\\n }\\n .ant-tabs .ant-tabs-nav-list {\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n flex-wrap: nowrap;\\n }\\n .ant-tabs .ant-tabs-nav-list::-webkit-scrollbar {\\n height: 4px;\\n }\\n .ant-tabs .ant-tabs-nav-list::-webkit-scrollbar-thumb {\\n background: var(--border-color);\\n border-radius: 2px;\\n }\\n}\\n@media (max-width: 767px) and (max-width: 400px) {\\n .container > .ant-card > .ant-card-body > .ant-tabs .ant-tabs-extra-content {\\n flex: 1 1 100%;\\n margin-top: var(--spacing-sm);\\n justify-content: flex-end;\\n }\\n}\\n.qrcodeCard {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n padding: var(--spacing-lg);\\n animation: slideInUp var(--transition-base);\\n}\\n.qrcodeCard img {\\n width: 180px;\\n height: 180px;\\n cursor: pointer;\\n border-radius: var(--radius-md);\\n box-shadow: 0 2px 8px var(--shadow-color);\\n transition: transform var(--transition-base), box-shadow var(--transition-base);\\n}\\n.qrcodeCard img:hover {\\n transform: scale(1.05);\\n box-shadow: 0 4px 16px var(--shadow-hover);\\n}\\n.qrcodeCard img:active {\\n transform: scale(0.98);\\n}\\n@media (max-width: 575px) {\\n .qrcodeCard img {\\n width: 140px;\\n height: 140px;\\n }\\n}\\n@media (min-width: 576px) and (max-width: 767px) {\\n .qrcodeCard img {\\n width: 160px;\\n height: 160px;\\n }\\n}\\n@media (min-width: 1200px) {\\n .qrcodeCard img {\\n width: 200px;\\n height: 200px;\\n }\\n}\\n.qrcodeCard .btns {\\n display: flex;\\n justify-content: space-around;\\n margin-top: var(--spacing-lg);\\n width: 100%;\\n gap: var(--spacing-md);\\n}\\n@media (max-width: 575px) {\\n .qrcodeCard .btns {\\n flex-direction: column;\\n gap: var(--spacing-sm);\\n }\\n .qrcodeCard .btns .ant-btn {\\n width: 100%;\\n margin: 0 !important;\\n justify-content: center;\\n }\\n}\\n@media (min-width: 576px) {\\n .qrcodeCard .btns .ant-btn {\\n flex: 1;\\n margin: 0 !important;\\n }\\n}\\n@media (min-width: 1200px) {\\n .qrcodeCard .btns {\\n gap: var(--spacing-md);\\n margin-top: var(--spacing-xl);\\n }\\n}\\n.ant-form {\\n animation: fadeIn var(--transition-base);\\n}\\n.ant-form .ant-form-item {\\n margin-bottom: var(--spacing-md);\\n}\\n@media (max-width: 575px) {\\n .ant-form .ant-form-item {\\n margin-bottom: var(--spacing-sm);\\n }\\n}\\n.ant-form .ant-form-item-label {\\n padding-bottom: var(--spacing-xs);\\n}\\n.ant-form .ant-form-item-label label {\\n font-weight: 500;\\n}\\n.ant-input,\\n.ant-input-number,\\n.ant-select-selector,\\n.ant-input-textarea {\\n border-radius: var(--radius-sm);\\n transition: all var(--transition-fast);\\n}\\n.ant-input:hover,\\n.ant-input-number:hover,\\n.ant-select-selector:hover,\\n.ant-input-textarea:hover {\\n border-color: var(--primary-hover);\\n}\\n.ant-input:focus,\\n.ant-input-number:focus,\\n.ant-select-selector:focus,\\n.ant-input-textarea:focus,\\n.ant-input.ant-input-focused,\\n.ant-input-number.ant-input-focused,\\n.ant-select-selector.ant-input-focused,\\n.ant-input-textarea.ant-input-focused {\\n border-color: var(--primary-color);\\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);\\n}\\n@media (max-width: 767px) {\\n .ant-input,\\n .ant-input-number-input,\\n .ant-select-selector,\\n .ant-input-textarea {\\n font-size: 16px !important;\\n min-height: 44px;\\n }\\n}\\n.ant-btn {\\n border-radius: var(--radius-sm);\\n font-weight: 500;\\n transition: all var(--transition-fast);\\n}\\n.ant-btn:hover {\\n transform: translateY(-1px);\\n box-shadow: 0 2px 8px var(--shadow-color);\\n}\\n.ant-btn:active {\\n transform: translateY(0);\\n}\\n@media (max-width: 767px) {\\n .ant-btn {\\n min-height: 44px;\\n font-size: 14px;\\n padding: 0 16px;\\n }\\n}\\n@media (max-width: 767px) {\\n .ant-btn.ant-btn-lg {\\n min-height: 48px;\\n font-size: 16px;\\n }\\n}\\n@media (max-width: 767px) {\\n .ant-btn.ant-btn-sm {\\n min-height: 36px;\\n font-size: 13px;\\n }\\n}\\n.ant-card {\\n border-radius: var(--radius-md);\\n transition: box-shadow var(--transition-base);\\n}\\n.ant-card:hover {\\n box-shadow: 0 4px 12px var(--shadow-color);\\n}\\n.ant-card .ant-card-head {\\n border-bottom: 1px solid var(--border-color-light);\\n padding: var(--spacing-md) var(--spacing-lg);\\n}\\n@media (max-width: 575px) {\\n .ant-card .ant-card-head {\\n padding: var(--spacing-sm) var(--spacing-md);\\n }\\n}\\n.ant-card .ant-card-head .ant-card-head-title {\\n font-weight: 600;\\n}\\n.ant-card .ant-card-body {\\n padding: var(--spacing-lg);\\n}\\n@media (max-width: 575px) {\\n .ant-card .ant-card-body {\\n padding: var(--spacing-md);\\n }\\n}\\n.sites-table,\\n.ant-table-wrapper {\\n animation: fadeIn var(--transition-base);\\n}\\n.sites-table .ant-table,\\n.ant-table-wrapper .ant-table {\\n border-radius: var(--radius-sm);\\n overflow: hidden;\\n}\\n.sites-table .ant-table-thead > tr > th,\\n.ant-table-wrapper .ant-table-thead > tr > th {\\n background: var(--bg-tertiary);\\n font-weight: 600;\\n white-space: nowrap;\\n}\\n.sites-table .ant-table-tbody > tr,\\n.ant-table-wrapper .ant-table-tbody > tr {\\n transition: background var(--transition-fast);\\n}\\n.sites-table .ant-table-tbody > tr:hover,\\n.ant-table-wrapper .ant-table-tbody > tr:hover {\\n background: var(--bg-tertiary);\\n}\\n.sites-table .ant-table-tbody > tr > td,\\n.ant-table-wrapper .ant-table-tbody > tr > td {\\n padding: 12px 16px;\\n white-space: nowrap;\\n}\\n@media (max-width: 575px) {\\n .sites-table .ant-table-tbody > tr > td,\\n .ant-table-wrapper .ant-table-tbody > tr > td {\\n padding: 8px 12px;\\n font-size: 13px;\\n }\\n}\\n@media (min-width: 1200px) {\\n .sites-table .ant-table-tbody > tr > td,\\n .ant-table-wrapper .ant-table-tbody > tr > td {\\n padding: 14px 20px;\\n font-size: 15px;\\n }\\n}\\n@media (max-width: 767px) {\\n .sites-table,\\n .ant-table-wrapper {\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n }\\n .sites-table .ant-btn,\\n .ant-table-wrapper .ant-btn {\\n padding: 4px 8px;\\n font-size: 12px;\\n min-height: 32px;\\n }\\n}\\n.dynamic-delete-button {\\n position: relative;\\n top: 2px;\\n margin: 0 var(--spacing-sm);\\n color: var(--text-secondary);\\n font-size: 18px;\\n cursor: pointer;\\n transition: all var(--transition-fast);\\n min-width: 44px;\\n min-height: 44px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: var(--radius-sm);\\n}\\n.dynamic-delete-button:hover {\\n color: var(--text-primary);\\n background: var(--bg-tertiary);\\n}\\n.dynamic-delete-button:active {\\n transform: scale(0.95);\\n}\\n.dynamic-delete-button[disabled] {\\n cursor: not-allowed;\\n opacity: 0.5;\\n}\\n@media (max-width: 575px) {\\n .dynamic-delete-button {\\n font-size: 20px;\\n margin: 0 var(--spacing-xs);\\n }\\n}\\n@media (min-width: 1200px) {\\n .dynamic-delete-button {\\n font-size: 22px;\\n min-width: 48px;\\n min-height: 48px;\\n }\\n}\\n@media (max-width: 767px) {\\n .tg-channel-item {\\n display: flex !important;\\n flex-direction: row !important;\\n align-items: flex-start !important;\\n gap: var(--spacing-sm) !important;\\n width: 100%;\\n margin-bottom: var(--spacing-md) !important;\\n }\\n .tg-channel-item .tg-channel-input,\\n .tg-channel-item .tg-remark-input {\\n flex: 1 1 40%;\\n min-width: 0;\\n }\\n .tg-channel-item .tg-channel-input .ant-input,\\n .tg-channel-item .tg-remark-input .ant-input {\\n font-size: 16px !important;\\n min-height: 44px;\\n padding: 8px 11px;\\n border-radius: var(--radius-sm);\\n }\\n .tg-channel-item .tg-delete-btn {\\n flex: 0 0 44px;\\n min-width: 44px;\\n min-height: 44px;\\n }\\n .tg-channel-item .tg-delete-btn .ant-btn {\\n min-width: 44px !important;\\n min-height: 44px !important;\\n padding: 0 !important;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: var(--radius-sm);\\n }\\n}\\n.ant-alert {\\n border-radius: var(--radius-sm);\\n animation: slideInUp var(--transition-base);\\n}\\n@media (max-width: 575px) {\\n .ant-alert {\\n font-size: 13px;\\n padding: var(--spacing-sm) var(--spacing-md);\\n }\\n}\\n@media (min-width: 1200px) {\\n .ant-alert {\\n font-size: 15px;\\n padding: var(--spacing-md) var(--spacing-lg);\\n }\\n}\\n.ant-switch {\\n transition: all var(--transition-fast);\\n}\\n@media (max-width: 767px) {\\n .ant-switch {\\n min-width: 44px;\\n height: 24px;\\n }\\n}\\n@media (min-width: 1200px) {\\n .ant-switch {\\n min-width: 52px;\\n height: 28px;\\n }\\n}\\n@media (max-width: 575px) {\\n .ant-modal {\\n margin: var(--spacing-sm);\\n max-width: calc(100vw - var(--spacing-md));\\n }\\n}\\n.ant-modal .ant-modal-content {\\n border-radius: var(--radius-md);\\n overflow: hidden;\\n}\\n.ant-modal .ant-modal-header {\\n border-bottom: 1px solid var(--border-color-light);\\n padding: var(--spacing-md) var(--spacing-lg);\\n}\\n@media (min-width: 1200px) {\\n .ant-modal .ant-modal-header {\\n padding: var(--spacing-lg) var(--spacing-xl);\\n }\\n}\\n.ant-modal .ant-modal-body {\\n padding: var(--spacing-lg);\\n}\\n@media (max-width: 575px) {\\n .ant-modal .ant-modal-body {\\n padding: var(--spacing-md);\\n }\\n}\\n@media (min-width: 1200px) {\\n .ant-modal .ant-modal-body {\\n padding: var(--spacing-xl);\\n font-size: 15px;\\n }\\n}\\n.ant-divider {\\n margin: var(--spacing-md) 0;\\n}\\n@media (max-width: 575px) {\\n .ant-divider {\\n margin: var(--spacing-sm) 0;\\n }\\n}\\n.ant-space.ant-space-vertical {\\n width: 100%;\\n}\\n.ant-tag {\\n border-radius: var(--radius-sm);\\n padding: 2px 8px;\\n font-size: 12px;\\n transition: all var(--transition-fast);\\n}\\n.ant-tag:hover {\\n opacity: 0.8;\\n}\\n.ant-list .ant-list-item {\\n padding: var(--spacing-md);\\n transition: background var(--transition-fast);\\n border-radius: var(--radius-sm);\\n}\\n.ant-list .ant-list-item:hover {\\n background: var(--bg-tertiary);\\n}\\n@media (max-width: 575px) {\\n .ant-list .ant-list-item {\\n padding: var(--spacing-sm);\\n }\\n}\\n::-webkit-scrollbar {\\n width: 8px;\\n height: 8px;\\n}\\n::-webkit-scrollbar-track {\\n background: var(--bg-secondary);\\n}\\n::-webkit-scrollbar-thumb {\\n background: var(--border-color);\\n border-radius: 4px;\\n}\\n::-webkit-scrollbar-thumb:hover {\\n background: var(--text-tertiary);\\n}\\n.ant-skeleton {\\n animation: fadeIn var(--transition-base);\\n}\\n.fade-in {\\n animation: fadeIn var(--transition-base);\\n}\\n.slide-in-up {\\n animation: slideInUp var(--transition-base);\\n}\\n.slide-in-right {\\n animation: slideInRight var(--transition-base);\\n}\\n.scale-in {\\n animation: scaleIn var(--transition-base);\\n}\\n.ant-spin .ant-spin-dot {\\n font-size: 24px;\\n}\\n@media (max-width: 575px) {\\n .ant-spin .ant-spin-dot {\\n font-size: 20px;\\n }\\n}\\n.loading-overlay {\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n background: rgba(0, 0, 0, 0.45);\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n z-index: 9999;\\n backdrop-filter: blur(4px);\\n animation: fadeIn var(--transition-fast);\\n}\\n@media (max-width: 767px) {\\n .ant-btn,\\n .ant-tabs-tab,\\n .ant-list-item,\\n .ant-table-row,\\n .dynamic-delete-button {\\n -webkit-tap-highlight-color: rgba(24, 144, 255, 0.1);\\n }\\n .ant-btn:active,\\n .ant-tabs-tab:active,\\n .ant-list-item:active,\\n .ant-table-row:active,\\n .dynamic-delete-button:active {\\n opacity: 0.8;\\n }\\n .ant-tabs-content,\\n .ant-card-body,\\n .ant-table-wrapper,\\n .ant-modal-body {\\n -webkit-overflow-scrolling: touch;\\n overscroll-behavior: contain;\\n }\\n body {\\n overscroll-behavior-y: contain;\\n }\\n}\\n.ant-btn:focus-visible,\\n.ant-input:focus-visible,\\n.ant-select:focus-visible,\\n.ant-tabs-tab:focus-visible {\\n outline: 2px solid var(--primary-color);\\n outline-offset: 2px;\\n}\\n.ant-btn:focus:not(:focus-visible),\\n.ant-input:focus:not(:focus-visible),\\n.ant-select:focus:not(:focus-visible),\\n.ant-tabs-tab:focus:not(:focus-visible) {\\n outline: none;\\n}\\n.ant-empty {\\n padding: var(--spacing-xl) var(--spacing-md);\\n}\\n.ant-empty .ant-empty-image {\\n height: 100px;\\n margin-bottom: var(--spacing-md);\\n}\\n@media (max-width: 575px) {\\n .ant-empty .ant-empty-image {\\n height: 80px;\\n }\\n}\\n.ant-empty .ant-empty-description {\\n color: var(--text-secondary);\\n font-size: 14px;\\n}\\n@media (max-width: 575px) {\\n .ant-empty .ant-empty-description {\\n font-size: 13px;\\n }\\n}\\n.ant-message {\\n top: 20px;\\n}\\n@media (max-width: 575px) {\\n .ant-message {\\n top: 10px;\\n }\\n}\\n.ant-message .ant-message-notice-content {\\n border-radius: var(--radius-md);\\n box-shadow: 0 4px 12px var(--shadow-color);\\n padding: 12px 16px;\\n}\\n@media (max-width: 575px) {\\n .ant-message .ant-message-notice-content {\\n padding: 10px 14px;\\n font-size: 14px;\\n }\\n}\\n.ant-skeleton .ant-skeleton-content .ant-skeleton-title {\\n height: 20px;\\n border-radius: var(--radius-sm);\\n}\\n.ant-skeleton .ant-skeleton-content .ant-skeleton-paragraph > li {\\n height: 16px;\\n border-radius: var(--radius-sm);\\n}\\n.ant-skeleton .ant-skeleton-avatar {\\n border-radius: var(--radius-md);\\n}\\n.ant-skeleton .ant-skeleton-button {\\n border-radius: var(--radius-sm);\\n}\\n.ant-drawer .ant-drawer-content {\\n border-radius: var(--radius-lg) var(--radius-lg) 0 0;\\n}\\n@media (max-width: 575px) {\\n .ant-drawer .ant-drawer-content {\\n border-radius: var(--radius-md) var(--radius-md) 0 0;\\n }\\n}\\n.ant-drawer .ant-drawer-header {\\n padding: var(--spacing-md) var(--spacing-lg);\\n border-bottom: 1px solid var(--border-color-light);\\n}\\n@media (max-width: 575px) {\\n .ant-drawer .ant-drawer-header {\\n padding: var(--spacing-sm) var(--spacing-md);\\n }\\n}\\n.ant-drawer .ant-drawer-body {\\n padding: var(--spacing-lg);\\n}\\n@media (max-width: 575px) {\\n .ant-drawer .ant-drawer-body {\\n padding: var(--spacing-md);\\n }\\n}\\n.ant-popover .ant-popover-inner,\\n.ant-tooltip .ant-popover-inner,\\n.ant-popover .ant-tooltip-inner,\\n.ant-tooltip .ant-tooltip-inner {\\n border-radius: var(--radius-sm);\\n box-shadow: 0 4px 12px var(--shadow-color);\\n}\\n.ant-badge .ant-badge-count {\\n border-radius: var(--radius-sm);\\n box-shadow: 0 2px 4px var(--shadow-color);\\n}\\n.ant-progress .ant-progress-inner {\\n border-radius: var(--radius-sm);\\n}\\n.ant-progress .ant-progress-bg {\\n border-radius: var(--radius-sm);\\n}\\n.ant-steps .ant-steps-item-icon {\\n border-radius: 50%;\\n transition: all var(--transition-fast);\\n}\\n.ant-steps .ant-steps-item-title {\\n font-weight: 500;\\n}\\n.ant-collapse {\\n border-radius: var(--radius-md);\\n border: 1px solid var(--border-color-light);\\n}\\n.ant-collapse .ant-collapse-item {\\n border-bottom: 1px solid var(--border-color-light);\\n}\\n.ant-collapse .ant-collapse-item:last-child {\\n border-bottom: none;\\n border-radius: 0 0 var(--radius-md) var(--radius-md);\\n}\\n.ant-collapse .ant-collapse-header {\\n padding: var(--spacing-md) var(--spacing-lg);\\n font-weight: 500;\\n transition: background var(--transition-fast);\\n}\\n.ant-collapse .ant-collapse-header:hover {\\n background: var(--bg-tertiary);\\n}\\n@media (max-width: 575px) {\\n .ant-collapse .ant-collapse-header {\\n padding: var(--spacing-sm) var(--spacing-md);\\n }\\n}\\n.ant-collapse .ant-collapse-content-box {\\n padding: var(--spacing-md) var(--spacing-lg);\\n}\\n@media (max-width: 575px) {\\n .ant-collapse .ant-collapse-content-box {\\n padding: var(--spacing-sm) var(--spacing-md);\\n }\\n}\\n.ant-timeline .ant-timeline-item-head {\\n border-radius: 50%;\\n}\\n.ant-timeline .ant-timeline-item-content {\\n margin-left: var(--spacing-lg);\\n}\\n@media (max-width: 575px) {\\n .ant-timeline .ant-timeline-item-content {\\n margin-left: var(--spacing-md);\\n }\\n}\\n.ant-result {\\n padding: var(--spacing-xl) var(--spacing-lg);\\n}\\n@media (max-width: 575px) {\\n .ant-result {\\n padding: var(--spacing-lg) var(--spacing-md);\\n }\\n}\\n.ant-result .ant-result-icon {\\n margin-bottom: var(--spacing-lg);\\n}\\n@media (max-width: 575px) {\\n .ant-result .ant-result-icon {\\n margin-bottom: var(--spacing-md);\\n }\\n}\\n.ant-result .ant-result-title {\\n font-size: 24px;\\n font-weight: 600;\\n}\\n@media (max-width: 575px) {\\n .ant-result .ant-result-title {\\n font-size: 20px;\\n }\\n}\\n.ant-result .ant-result-subtitle {\\n font-size: 14px;\\n color: var(--text-secondary);\\n}\\n@media (max-width: 575px) {\\n .ant-result .ant-result-subtitle {\\n font-size: 13px;\\n }\\n}\\n.ant-descriptions .ant-descriptions-item-label {\\n font-weight: 500;\\n color: var(--text-primary);\\n}\\n.ant-descriptions .ant-descriptions-item-content {\\n color: var(--text-secondary);\\n}\\n@media (max-width: 575px) {\\n .ant-descriptions .ant-descriptions-item-label,\\n .ant-descriptions .ant-descriptions-item-content {\\n font-size: 13px;\\n }\\n}\\n.ant-statistic .ant-statistic-title {\\n font-size: 14px;\\n color: var(--text-secondary);\\n margin-bottom: var(--spacing-xs);\\n}\\n@media (max-width: 575px) {\\n .ant-statistic .ant-statistic-title {\\n font-size: 13px;\\n }\\n}\\n.ant-statistic .ant-statistic-content {\\n font-size: 24px;\\n font-weight: 600;\\n color: var(--text-primary);\\n}\\n@media (max-width: 575px) {\\n .ant-statistic .ant-statistic-content {\\n font-size: 20px;\\n }\\n}\\n.ant-segmented {\\n border-radius: var(--radius-sm);\\n padding: 2px;\\n background: var(--bg-tertiary);\\n}\\n.ant-segmented .ant-segmented-item {\\n border-radius: var(--radius-sm);\\n transition: all var(--transition-fast);\\n}\\n.ant-segmented .ant-segmented-item:hover {\\n color: var(--primary-hover);\\n}\\n@media (max-width: 575px) {\\n .ant-segmented .ant-segmented-item {\\n padding: 6px 12px;\\n font-size: 13px;\\n }\\n}\\n.ant-segmented .ant-segmented-item-selected {\\n background: var(--bg-primary);\\n box-shadow: 0 2px 4px var(--shadow-color);\\n}\\n.ant-rate .ant-rate-star {\\n transition: all var(--transition-fast);\\n}\\n.ant-rate .ant-rate-star:hover {\\n transform: scale(1.1);\\n}\\n@media (max-width: 575px) {\\n .ant-rate {\\n font-size: 18px;\\n }\\n}\\n.ant-slider .ant-slider-rail {\\n border-radius: var(--radius-sm);\\n}\\n.ant-slider .ant-slider-track {\\n border-radius: var(--radius-sm);\\n}\\n.ant-slider .ant-slider-handle {\\n border-radius: 50%;\\n box-shadow: 0 2px 4px var(--shadow-color);\\n transition: all var(--transition-fast);\\n}\\n.ant-slider .ant-slider-handle:hover,\\n.ant-slider .ant-slider-handle:focus {\\n box-shadow: 0 4px 8px var(--shadow-hover);\\n}\\n@media (max-width: 575px) {\\n .ant-slider .ant-slider-handle {\\n width: 20px;\\n height: 20px;\\n }\\n}\\n.ant-mentions {\\n border-radius: var(--radius-sm);\\n transition: all var(--transition-fast);\\n}\\n.ant-mentions:hover {\\n border-color: var(--primary-hover);\\n}\\n.ant-mentions:focus,\\n.ant-mentions.ant-mentions-focused {\\n border-color: var(--primary-color);\\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);\\n}\\n@media (max-width: 575px) {\\n .ant-mentions {\\n font-size: 16px !important;\\n min-height: 44px;\\n }\\n}\\n.ant-transfer .ant-transfer-list {\\n border-radius: var(--radius-md);\\n border: 1px solid var(--border-color-light);\\n}\\n@media (max-width: 575px) {\\n .ant-transfer .ant-transfer-list {\\n width: 100%;\\n }\\n}\\n.ant-transfer .ant-transfer-list-header {\\n border-radius: var(--radius-md) var(--radius-md) 0 0;\\n background: var(--bg-tertiary);\\n padding: var(--spacing-sm) var(--spacing-md);\\n}\\n@media (max-width: 575px) {\\n .ant-transfer .ant-transfer-list-body {\\n font-size: 14px;\\n }\\n}\\n.ant-tree .ant-tree-node-content-wrapper {\\n border-radius: var(--radius-sm);\\n transition: all var(--transition-fast);\\n}\\n.ant-tree .ant-tree-node-content-wrapper:hover {\\n background: var(--bg-tertiary);\\n}\\n.ant-tree .ant-tree-node-selected .ant-tree-node-content-wrapper {\\n background: rgba(24, 144, 255, 0.1);\\n}\\n@media (max-width: 575px) {\\n .ant-tree .ant-tree-title {\\n font-size: 14px;\\n }\\n}\\n.ant-picker-calendar {\\n border-radius: var(--radius-md);\\n}\\n.ant-picker-calendar .ant-picker-calendar-header {\\n padding: var(--spacing-md);\\n}\\n@media (max-width: 575px) {\\n .ant-picker-calendar .ant-picker-calendar-header {\\n padding: var(--spacing-sm);\\n }\\n}\\n.ant-picker-calendar .ant-picker-cell {\\n border-radius: var(--radius-sm);\\n}\\n.ant-picker-calendar .ant-picker-cell:hover .ant-picker-cell-inner {\\n background: var(--bg-tertiary);\\n}\\n.ant-picker-calendar .ant-picker-cell-selected .ant-picker-cell-inner {\\n background: var(--primary-color);\\n color: white;\\n}\\n.ant-image {\\n border-radius: var(--radius-md);\\n overflow: hidden;\\n}\\n.ant-image img {\\n transition: transform var(--transition-base);\\n}\\n.ant-image:hover img {\\n transform: scale(1.05);\\n}\\n.ant-watermark {\\n opacity: 0.15;\\n}\\n.ant-qrcode {\\n border-radius: var(--radius-md);\\n padding: var(--spacing-md);\\n background: white;\\n box-shadow: 0 2px 8px var(--shadow-color);\\n}\\n.ant-float-btn {\\n border-radius: 50%;\\n box-shadow: 0 4px 12px var(--shadow-color);\\n transition: all var(--transition-fast);\\n}\\n.ant-float-btn:hover {\\n transform: translateY(-2px);\\n box-shadow: 0 6px 16px var(--shadow-hover);\\n}\\n@media (max-width: 575px) {\\n .ant-float-btn {\\n width: 48px;\\n height: 48px;\\n }\\n}\\n.ant-tour .ant-tour-content {\\n border-radius: var(--radius-md);\\n box-shadow: 0 4px 12px var(--shadow-color);\\n}\\n.ant-tour .ant-tour-arrow::before {\\n background: var(--bg-primary);\\n}\\n@media print {\\n .container {\\n padding: 0;\\n background: white;\\n }\\n .ant-tabs-nav,\\n .ant-btn,\\n .ant-tabs-extra-content {\\n display: none !important;\\n }\\n * {\\n animation: none !important;\\n transition: none !important;\\n }\\n}\\n',document.head.appendChild(e)}var Sc=\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAICAgICAQICAgIDAgIDAwYEAwMDAwcFBQQGCAcJCAgHCAgJCg0LCQoMCggICw8LDA0ODg8OCQsQERAOEQ0ODg7/2wBDAQIDAwMDAwcEBAcOCQgJDg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg7/wgARCAE8ATwDAREAAhEBAxEB/8QAHQAAAgIDAQEBAAAAAAAAAAAABQYABAIDBwEJCP/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAPv4QhCEIQhCEIQhCEIQhCEIQhCEIQhCEIQhCGsoFU8IQhD0tG80FgtEKxQNRkXDMpmZfNpSMDcVDQQhCEMi6XTIgMEEWzI9IQ8MRjGQCh4PngtCKUjaN4QE43j6XRQKwZFIEGw9IQxMhyHcskARycDjCbTwhrF4KnRCsEzSUgOIxsKQ6DaI4MOgGg58XxsEQ2B0h4ZFUXRyOpF8gBOVG8cwQVS2FhPKZ1MLGAqi0aSoYC8Nw5iUKoyEFMNDeJo1B0DGkIlwRAudSL5ACcsLQZObgcMHRwQUTpZZN4KEYrjMLwCD4SFwGF8JgAuDaKA0mk50UxoH0UwmdSL5ACcrLZeOVAINnVimUB5BBbKQjBU6gQBAI2hw1A4UxYGkchPGcGnLiiNx00WQodSL5ACcrLYaObgcLnRgUDzo5SAZgBDadRLQiA4bS+JwpgMrDsMwljSaDnhTGgfRSCZ1IvkAJyosDoCCoWguJxTOpF0DmIugo6EbTlwROjmIiCEHBlDJpOejQMAFNISLYhhc6kXyAI5OCBjNp4emoXQmdFKhdK4tFUMhYQQoOJTKolDOGDEhzY2h8hD0pi4OZ1EvkBggCyZEPTwxMRlGUWzQYFQEgsNgkZxtKBfF0rgUuDqLIJNh4Q9MT0cx5LRDWUCmDikXCkDz0NBUWheChVOaAQ3mY8DuXw8UxFEIvHSxhNhrBZgFCA0JDAbiEIaxXF0Oi+KxiHw2AjaNYHOTAAtFsJlwJHRBgFk5iLA2HSxqKghFEfC0IxfH4tkIeFcDlIJgoAlYqmstlMOBQRBaGcPmAsi0NQ7C6c6F8vj8dEBRzUqj0NgmhA6WXiHhVForDQXweJgvmQZChzsEjGbzwtDQaRbAIDLwJF01Bk6CPYrimGA+MgOLo0FghVFoVi2PATA5ycXx6HwrHIRHDZ0UKCGfk8/aAUMjmgFChTNQ1DiNoIF0sG4Ih8Mlg9IUBNF03h8aiockBR0YZxVOXiyO510rn5DPnEdwPrGBxbK5vF8rDYHBwCAqiQBxpOhDGbCEKgpHOxUGE6oZHPwSOQYOZiWXjpB0c+UQiC+GD6oHIjs5fAInggYB7GUtmYnCmP4yBAKGZAac+Ofi+FDpRmbS4XzE5WKI1HRT8bCcfvA+cZ+0wOfJA+uYfDYCE0zD4YN4xm0EjoUy8OJZIVRbF0VBaCw2jiUCsMQrHNCiHD5Gn1dL4GD46HzfOjHeguagSaCyNhrKIyDUMhqLodNpCFMVBTAYujKdHIahqB5yAQTSfJY+shsLZ086afOUJH6cB5vGMoi2XSuL4WGwPDeMhZIQhWE8VwUKgUG8vhkaTQIApAU+c53s/RAYG4JHxmPqAdjKgPGYuCKJhiaAWQJj8dGGQ2kIYA8UxHBwYMimNA5lYFG0FiCfJs/Yp+rDn583DrR+8jqxvFY9DgKEM2l8WACYhw6mdLLpDQCjM2AkEi0XS4Q3goqhYsGAKPw4cFLR+nTvYYG4yNhSFAEA0Oj4Czm5QGU6idELZAYJRBtLwuHPhiN4pGYeCYIF0ohYegSaQ6bAOKgTHQXzlANIOJ1ACnJzadJH8MmZCkKQtBIKCSLI/B0ClA0jSbgCK5VOmFosjEeigcvMx7BwiBADGZ04ggjGPofLZ6QoCaADwFCYUxvD54CRdDYeNYvnh0o2F0ZgYJYIMjEAgULAYHnShxFoolsbRtN5AaJx6bRSA54bzaQGi8Fg0CgeMAwkGAMCUKAbCArAYMF4rAcLjaCRJKx086gXiFQWigQpGshD0IGsVw4XxIA4WBwcGYCnPQKEAyVAudFN56JAhHhqK4eOoHRC4QEHNRYNxmeEMTSMw8mgsCocxBZdPTaZlEDmgJDsaS+PwNCYqHOSgUy6dEOmDKbiAE5OUhqMzE9PBULI/AkKi0c0KQYGEXgCeFYxLQfPBgOjEN4ogUyFA0jUdKHUskAJystDcLZQLwxiqDxtFcaS+LZXMQaKxZN4qFQ3HpmHhqLpkCg+M4vFIsjWNJvIATlhaChzACBo6eDSgPpSDodNRpFg5ULR0EIHNDEZgebyyLpsG8YRnGQzMTAsFk9IATlZbLxysBBs6qUygdCNQWDgJFwDCwK4bLIlhk6gazeDzngbOkDCDD0YCAE3h42kAJywtDAIIICo/AMHjyBS6NILEY0l8Ai+ajANHVC8bBcEkeg8UBMKo6m0BhsdSyQAnKTMdioVzeXBLK5000CuXg8UhcAYXAgICxoHA9CRrFMYQGKIJNocN4yD2MhuIAzlIBDJtIQ1gUOnVwgLItF4vCMBB9BwnG4qBwaxqN4rCsKYFPRkDwACJ0gdCwQoiaL5D0hDwgwDkXSsLJXLItGI0lYWDUeF8bw+ZgcTwOYGYfDAuFMaxpN5DE0GkhCEIQ2lgyPDSYmRpIbzE0nhDIsG0hgVjAhDabTSYG43npCEIQhCEIQhCEIQhCEIQhCEIQhCEIQhCEIf/8QAJRAAAwEBAAIBBAMBAQEAAAAAAwQFAgEAFRAGBwgUERITFiBQ/9oACAEBAAECAP8Ax/P/AMTWyudpez9n7P2fs80xu9Y64I/O+EPqj7PNIbWmdUBviL3RGcN9Y297P2fs/Z+z9nikFnPfhwtOn2xyr7T2ntO1c2ZtTTO3J7GD6YpOtWPcAszaDLLVNCqgydl+qpTI49W5Y9p7T2ntO1QWZNBbXxS7Y0sqGT6r1XJJZLCsjQA6nLrsOZpUzmHxPuImiBpKJ9ns0aTtCSYu3/EUMSPU+q5JPKICDpHvxT8p8kC5wz3sgPfxVFM5Mx/gQVEGu71+qXRSRO6PVZwym+31kEfhvD5kBNsj/KSzZ8URwvEfml5S8k+PHoUPZzqSJ6nk7xE3aGWniPMpbyo8lxBHhWmgeuXW/lzcnw3hvJfazTdPNSS+MtLyH4j80vKfknyn5T+Jfkzyn5O8Foxl3X3Wyx+ohYnHTNxUI521D5fc23E0bw3k3y3455nyJ4Dyj5D8R+aXlPyT48ChO9ZOnIAqcm+JhbnbB1ZudLHM8c1QeW8RQNig4zSNwU6Omzg3kvlZVubmXJQwKl5D8R+aflTskvPDo+tAh5VLM7N6bwifFqGVOTDUCUiRfE+sdrLFDOnCkKJUsH7IMYZJ/JqybG6BYXiPzS5Yyq0Gv7X2vKpa7LUjK5SUQONunPzSVM7lDUbv7PH3emDJ4Zxag/p/xF/Ff2vteVmKuzwcI/LYqkzUfkz13rfXdnYkzJul2QjZITvG3BU8VzNxO7GNXSjKHDN0pbWBvSeSPWeu9d63ssEiSitj41gqeph1MiyqbHS4MmTenddwqpRDRPw+XAsxnQ0AHDhtKoo1iYxNawt6vUwwBBFOLO1hLQf/ACTyj0exapbIXBkGtvHOpxbFYNRXi40BzgB/bQqzKGiU8Vs8ZlVZlITDbVKolXn0GmHnpTimvnvSFYwOdhNyaSX2eQeNfraPPpH3USwghMxFJIoId5Koip1ar729pmkOpsVXX2VdymtboBjCS58mM5QWeV7/AFa6+/qtgic86tYitMFnm/1FmVWm2T8bn/3xWdcJ5nCSshAK9bGUV5CU8YDzkJ4MfBiPOHMhlLXNUe2DLeSVU16Pbu+mn+Sk2122efmWq8qo4vUGHOEzprqIpodBp9T/AAw3iovTV0IXOfDPHx70GinWVYo9r+Jbkl4zVqVW88hLzFao/uF9+/uz9Ufjb+QYGm2jIYk9E4RUqpVcIYMCgm/zB5uJuB9+T9pFpuEpSH5rD7NAIUpYWt2G9lSUiIDN+RH5P/b38R/vL9CfYD7FaY+iPvMm0QreXc8NPdnuBpZq6JXXECUvg67Y9fDfa2nQlVlaSdKYCfEFgvBsp5Xk4n7/ADP+7f4i/Zl/dL8SJAfrL6ZBqP8AUS9UZqWDeAMrSE8KghUdKsqoJnc7a3yYbk1iRQndGm9P2sJwyjORVZb6yzwrn5B/U/03o1rTUtMET85fov8AGuiDAmzn2r1VYai7QwvJuIjF5tNREWfj+D8fMfrae+yHUmWAqpqipCuAKP8An7ucXa/unmBhXz8+af4ny8yjopoBhuRCLAcba1tF1WyrbnuB7z/wfNFbYnDm8nhWbxVScX25inNNCZk/l39vfxl+uupIzk/D/Uf3x+5P24+mU1HJgAJbOpTmGCMBk9dy0m/IrTnxa+e+HXopOJDngAXOBzMgMeh1rIHJ31h9ufqX6P8Atz+U0j6l+ufvZ96/yT/Gz7LSdzNN6Y4sUVB9pzafDKuIkHjc9mAdPvwQhXgtEXJJZmG8UBpQR9UDGHpdzT+HPqn6V+uPwaf/ABRl/h79ufxczFSRWZ0cSromaRK3WZnFEqiDwxDmow0lc/DfXSpOKtdLTaOab4905VyKi/RbXMTrk+guZzqyoZHYzqJmZ51uWeP44rgMXCGLWXxT0I8pJIefhjL4N6SeJSq1xuyTl4VEogvpPnywi8sjybkqya4R77W09meVF2qzvI02xTnJLlTBUpaKPgS878M7fZ7jo23XTL9QexX7Vbo6cQqZrkrNvIdnlM8iyIjrjjnU+TdlefwXDTpFuwi7Cyrx5e5Nog38N4bVVRYScmai8h4lev8AXNI7WSS4gyDAUlhtc3PGRupX7TTolovu4wvJ5JNH2jOcFYepuPKNfT5Uu/B+tF4/ultn/b/b/bJQjamkkIS2AUdgJ+zp6e4KhRrPUP2Vmx7NiSBRTo9LWVzMZpbf52ajDTUz8PErPfv5Y/2/3/36xx6U+HWh55Ycfew5hr+uGe1z0SE8T8Sw1mRwXdkBq3xlbSmsJ8jYm4Fz4p+V+IJAk9meu5MLIdSlcwclIDNkTaeU0kuIvg6Loe58AQFDb0c6pOh/tU0FBmS1PAtMLJYX78U/KfkjOzM1vdq1hnq5n+b4XEsTU00D/nuzGmTnTQYmMiyPgP4HlEq9nNvdUhZS+5rEH/nl4c5EGfin5S8k+US0m/3Zjc4tPyd4AO5yCvAdW0CpivoPY+KOX+JLiknmKSzTzEV2gmCOgkLH6vU+Ljxn5p+U/JPlLlPP9ZmZnKfk7xbemkjc202eyd91MiyDrdFncYaSbMlaVUVOrKkzJvFztLUgGOY1FR4Wvil5S8k+NrPyvSoSU1qnJ3gsn4i4Buh42IGO8cUKPnnUpQZvSbHux4MUpfrLFejWSrJ2D1dlmZW58U/KnZTA2CY/XEPZ6jEvqIXUDDSazoyTmeNgFSUWFoQNJukaS3QDkC7dGuewR5Yo2x0Jxp2Q8+KObAQ7FQ9j7D2G6BtxwTMGC9PKJNg56Z18Tw1wf16bnUiKKKInRcQb235pYac6ZuQdScSQdfvwyKhK1C5E9L6X0nYmIU6UqL+DBbngnmRZjrRFUHZpYXofQKxkURi7hxRyRqB/zo/p5CPqa3FDEnogz8dzpf8AS/R/R/R/R/R4lhfPPO86Hi/Q9U4pkOgdS/R/R4ngXx3HVf0f0eJYW/y6rxLAOc/+T//EAD0QAAICAQMCAgkCBQEGBwAAAAECAAMRBBIhBTEGEwcQIiMkQVFScRQyCCBCYYFiM1BykbLRJVNzgqGiwv/aAAgBAQADPwD+Qf7lABipnmL90T74n3xPvi/fE++J90V/nBjvFz3gccTI9QQHJirnmL9win+oRXHeALmICfaiv85uEwIEzFPzgwYqkjdE++J98X7hF+4RfuEX74pz7UDjvMj1lK2jV2MA0sNh9qWkZ3GW/cZb9xlv3GWgdzLBZgtGsIBaHyMywXEZhIEATvBsPMKI5Bjq7ANLT2Yx9+C0a2vvGFBliWNzHawDdN9Q5ipSeZsdhuhezvCNOTmMljYaWsT7Ut+plv3GW/cZb9xlw+Zj7+WjW/Obq/WRU8Y6lxHusjGuGGExhWcR6rTGF4ENmljG3OIaq4awRCcjML0NiO95h8omGu+EgCb9KYQ7EQ16qBaO8IrYZjPe3MZrYf0ZjPewj2w7O0Pq4PEZEaPVqSIdwmafX7p5nVtAbOZXXpsmVIx5Ep+olT/MSuzT5ihyQJjWCA6cZiRfLOIeSIa3OTPNXEO/diLXURA2omMRV0h5ilmxNt+YfKxmNdWYwvmLRPgz+IDqz+YvlCV1VSlWPIlJ+YlTnGYjUGAaoz3onufVwZ7p58Y359RTSHB+UcWtzH+6O1wG6F9JM7p8ZBXpgYofG6B07xBW0QOcGeZbN2nJx8o/OBHFxJENCQtSQDLLWbvLd2dssSBasGIXMzcJ8GfxPjD+ZimFKG5jC1vaj7/3RnsXmF9JPfme+nufVwZ7p58W3q+Fb8T3rww+eJ8H/ifunxkb9HxLFuMIQjMY1Ngx2uOYTesD6fGIhydsrr3cCYsIEax4uzJWVITwJUiGbNwBhe88zc4nwZ/E+MP5nw09y0PnNPbE96s+DP8Awz3899Pc+v3Tz4tvzOYX0bcRmub2Y/2x1tHswpo5jdM6yb9LOWOI9bECNYhBmCTNmqE9wIErYzFrAGefbAFzieXScDtGrLR2yMx78yw3Z2xkI4m3SET4w/mZoheo8RzY3Ebd+0xksHEKaMz35nvp7n1+6eY1bQC2V2abBlTk8CVZ7CVI3YSuvTEQGxpnWCAacZlbAxXcnERKzkRfam3VQCkQGh8Q/q2mXERaIj1sJlHMP6kwWAZErVclJXX8oF0zTGrP5i+UORK7aj2lTEnAlOewlVbdhETTmBtUZ70T3PrJqeMNQ5jU3QhMZ9ePnCayAY9tpjG8GGvSwi0jMVk5MCocTzCYK2zAh25i2aU8wNqmnIhr08LORPM07GfEHj5xUrGZXWmAYrEjdPM0zRk1LGNXDtxn1kdjGesjMa3Uw7hMU+vfWY1ljkLLRYeJaBLZb9JbLCOxjl+RCjjiEUERltYwoCMxrYyAsYEU8zbd3gOnILQWXzOIX08fzoxohFhOJ+nRhCXIDQvd3nm6SM7khZaGOAZcPkZb9JbLvoZaR2MfzORDXjiba/WCDFfPEr5O2VpngSrfjAlRTtKkzwJSD8pTnuJWe0XyYh3YM32nEJr5E8uhoQ7CEGMEPMJsgQDmVmrlpW7dxFsrilDgRl34jrecwV3DJiPWBmV3DOIh/pErUH2ZUhPAlLuRK3XsJWiHgSpHifKe7/l90YQGxLPPMbyJYC2Jd5h5Mu39zHU8mZoPMZrDzAX5i+TC1D4EIufiEtGcdo4/pMsq+REtq+ZjC4ZaB6hkwPVEKNmIHcieXf3hV1BaBkGWitXnMVKm5myxsNM38vFdO8zSxBjLeRmF7AMzdV/JgQAERbcwb84mKyIHzxEBPErWCrIEdzjMOzM8i6Bl27pXdpzEYtxPf9ojJyJWU/bEVD7MCbsR6ruIUIBMHkfugCsN0NrtzM2E5jK4wZZkDJjHTRlpbmWW2NzLUtBlvAJMZ9LHOoJjC4ZmKf5AqmbGbmeZZiB0girW0WpmEDOQDDqGhLZxBXpjDXe+IaruTN1eN0/UzZlsRKnxKzTECHE84tOCwEOmu+mIRURmWW5IMcucws8LuJ2mzSRiGENlxyINucQVvB5OILLO0FR7Tanr2qZgMMw2WGe9zAKoCJil43nvHfUQtgkRESKtLQeY+IRcZZZYBGKjImzTNPIvcs2FHJM8NaX+IhOgrovO8CLmi/rg3GwXZ/2qp86R2PG49x9DR1TplGs0Wor1mjvrWym+lwyWIwyrKw4IIIOYc8iKunaEXPtlhYxnryRNmeJmyBecRa8CB6MQuCcQUuZXXxmVgkboH+cW2ALkTA9ZNZjbmgrY5ldZ7iKxwGgdJmh5794BqIu0QJSYAjjdBa74MLXzdauRFGmBxMUPPRh4K6pqdH1DxCnUup1Eh9D0pP1NqkdwSDsU/wBmYTwD429IbeIvBXQeoeH9TqWLdRq1IrWq9/8AzVVGOxj/AFckHv3zm/0c9Wo8J+ML7NX4F1FmKruXfpTk/vUdzUTyyDt3HzB0l/SaNbo769VpL6ltouqcMliMMqykcEEEEERXyoM/UMx7zyyTtgprIIi7jEF0UpgQs8wgzFaqEZKiWVFpYbTzLHIhWsZg2fyDaYih4ELbWj+ccNGe4DM9z3gNJGYbnbEsF5OJYAIyaU/iNvcZMNlhhstyFzCrqcTTdP6LfrNZeml0mnqa2+61gqVooJZiT2AAJnWfHvVtf4V8Bau7pHglSarNVVmvU9U7gknulR+SdyOW+g8eeMtBR1fxFangrolwD1fqqTZrLVPIIpyNoP1dgf7Gein0ZXp4W8NdX6t4m8aIwPUbrtTUNLoR9hVKwTYfpu9n5zXelPxGOsdZFvTfAmjtxqtSOH1rDvTUf+p/lOm9C8J6bp2gSrp/Sen6VKaKwdqUU1rtVeewVQJ4K9Ifijr3TPDPVf1mq6VdstDDaL07edV99e7K5/7qTWaxkypk4xCwbEdXaFLJ7QBaV7O8qRe4iNxuiXVGLtcwHVxVpBi1DvA/zmV9ZFbSzc0sdmjhicGeXcIBph7UNpwDPM7iVp3ErXgTNDYjF3OIVu5iAjMqrQciX9H8D9M9GXRtSab+sV/q+sOh5/SqxFdX4d1JP9q8dmnTdf04elfxTpE1QS8p4d0lyZUMhw2qI7EhgVT6FSZU9Vg3cEYO0kH/AJieZ/EvbqT1p7fR3a51dpsuLa0sWydOSe+Sf9qecf3mi6N4c0fR+j6Ovp/TNJUKtNpqF2pWo7ACabxr6NOteGOpW31aLqWmNFtmntKOueQQR9CBweD2IIJB8VegX+KX28jqfRdZtuVSVr12nb/82IQR9CfqJpuqeF+ndY6df5+g12mr1Oms7b63UMp/5EQscFottPMTa0xa0KHvHXsZay9zLFfljMpgtPOqMLarIHzhTTSwOY5cZnu/XuUwWE8RAG9mKqtgRqbeIwwpMFuMmKKMiFMxzbiedR2gKOdsFFrcdjPJc8wqmN01fij+NHxed5sNWsr6fpq88KKkWvA/LBj+TNN4Z9H/AEXw9oMJo+m6GrS1BRjIRQufycZMLg+3DdaeZ5xEDU5KSjp3jTwV4ppqxZrtLfotSQPnSwdP8kWvL+rfwhdFS5za/T9Tfo8nvtV96j/CuBHV49aRrlMdmPEcAw74DTBUpIhrt7zzgATKzgxPLxBa3Amwzah/kAUxU3CC4mDYxhpumCOYHoEFomLYBVAaXh32YlgtMtEv6L/GZ4vuvTc1XXP1e36qxFo/+CINVoKdVQ4sourWytx2ZSMgx/qYxsEAAzKv0v8AiaUaD0d9GRwdSbNZqXX7VArRf+ZLS2r+Eim+wYTWdX1N1X91G2v/AKq2hNZOI6ORiGw4Igas8TYjcQ0W9psrIm9DHFuYa25MCJ3gZsbolqxCn8uUMdt0atyTAKmnmXGOpzDTUATFPBaJY8BSB62nmu/EJJ9mNXu9majp3pD6T4701HwHU6V0escDtqKwdhP/ABV8D/0jKPGnoQo8OazUA+JegVCiyt29u/TDiq0fUAYQ/QgfcIwsxiHvtn6VOZpen9K1Or1mpTTaSio2XXWuFStFBLMSewABJmq9M/8AFFqtf0am7VaIunTeg6YD23rDEKcfV3Zm/wDcBNN4N9EHhrwpQwcdO0SVWuOz2n2rH/y5YxX0/aDk4i02SsjES2huJhmIEet2EawQqpOI1bx1jq3eYCgtBag5m5f5AYrq0O18CWFmG0xhZlli1pCVO2W+ZHDDM2VcmIMjMrscyqxIjA8Tonj30bdW8K9doL6DW17d6Ab6XHKWIfkykAiekT+Hn08U2h7endQ0thfpvVaUzp9fV9RnhgRwyHt2M8D+JNHptF43x4O67gK9zBrNHe3zYOBmvP0fgfcZ4L1/TF1PT/FnRtdQV3CyjqdLjH+Gnos8HaCx+p+Nem3XqONJoLxqryfkNlWSM/VsCdd9JNV/h3oNN3QPCBf26i2dRrsHjzSOAv8AoBI+pM1nRNXV6QfGOhbT9UKf+DaC8YegMCDdYp7MQcKD2GTC165g8gRPLMzYcRq35iCrBaVvW3Ii+e0Umb6TgQqWO2bSZiMLBHYCZp9e0GBGIzBaMZi3IYrEkrEqRjibLiILRyJWgyRK6TAUIDR3JwZaGOcwoOTEKcmVB+4nhTx/4Nv6B4s6Pp+tdLtO7y7hzW3IDo4wyNyfaUg8zVfrr9b6OvFNL6Y8p07rmVZPqBdWp3f2yg/M9OeivNdXhKjXJ99HWdIF/wDvYpnpY6peB1duleHKP6zfrPOcD+wqDA/5YTwX4A11HVLxZ4p8RVkMmt1tYFdLfWqrkL+SWI+RlgP7TDQ4JE8urGY1sLgkieTUTGqYgNHcEbobLDzHZxC+n5EC0tkTZawE3EgRnsBxCgHE21+sipsR1taMtnJissTYYgreBtWcGZqHzhFJxLRaY5bmK8U15AjVA4lqsZYpjGxQTN+lzH3kCG1+REZOViYPswUoxAhrtIzBYYp00HkWRmveWEQq/MXeuYn6aDyXm+9oXccQYU7YK6+02r68oYuWMNVp2wqeTAKG9qcuN08zU8njMQ0gZldlUqYkxKQYK7duYllQ5lVqSshjEQnE26oTdpxFJiKYuyIqGA1PG89o9bz4fkwNQ3MD3mVmntEqc4nl3YzC9HeGyhoW1ZyPnK0xkSutB2ibcCZHr2o09phDa5j1KTLFrYCW2WMY4uzzHqUAw7CJlTCyNG87OYyiHZBtIzBbnEJ1IMCaaAPibzB5PJi1o0Wx2BMFxzBXyJ5CYz2hcEZh87MIpxGfdGF8ygzFt00StyYunzzBvxunm45m5PWTW0ZrjPrB5DYjMx4jN/TCD+2Onylv0Mtlqo3Bji7tLGHAMtFWcGWV5jvbNgDQVptzGteFBmCqk8wDeA0zectK9nLSvyjzAzMFj33R2GdssC42x9hysNFhyIKDgtK/JI3xGRsNCXbBlhvjttmafWNhiI7ZlSEgNK2XGZS2ZT9RKfqJT9RKT9JVbFepsCe/PswImSJXVQZWC0TzTESmYt7xCMkytKe4g8pgHhd25h3d43YGWPXH3kmBrhkRBR2lQOJW1JgQNiGu04jgY3GOwOWhsMLuOIUA4m2r17amjJa+DLWc4aWkdzLvqZd9TLvqZaB3MsV+TGZwMxX0/Mr82KlJIhrrbmMbH5h3HmO64zHJzzHo+ccKRujWAjMLE+rLyvyOYgc4g88YhGj4j+eY3kczKNC1jcRlXsYRBviELE2CAL68VPCdS8820RfLyREHylX0EQ/IRfKOFnlWtCl4nl6OEakjMNtEZ62lnnNxHh3jMUUHiBS2I5c4jiEerYYUqxum9+8BuERtPKy5MSug8wOWAi2seJigkLHV24joe0srIEZkEzX6uDPdPPi2g8yJVpoiMeYn3RHfvFs00GWmNTCdBx9JZ+rP5jNSAZ5tU3OfZgH9MFGTiLUjCC21p5wmyljibHYQtGjiOXj0nM8tMFoD84XrIBjXWmZ7iCzTniBnPsz/AEwo/aGqbU9funnxjfn1FdK2DHFz8mPnuY5uHJhbRT90+MgfSRWuJIgQRTX2lXOQJTsPAiCt8Rw7gRjfzE8kZiDStB+oYCeY+JupziMjdoW+UNVLGWVuRLbGllqRu5EFWMiIUxEb5CV4PEqWIO0wvr908+Lf8/8Af1fCt+IfNeH6Q+eJjRj8T90+MgGkieZFaDycwVAwKSN089WGZ5oY4hpvPEFKYzBZp2G6F7zM3iLZphxAzdoFTtFTTtxN97AD5wsw9mKlYyolVdRldLkZis+N0Vl7wKp5gRyMwWPNyev3Tz4xvzOYbNGY72NhY/2mOloO2GvSYmN0+Mjfo+JYtxzChwTA9MZ62xLfNPeOG5itURN24gRqnMezKxic4my8QCgRIhrOJmp4G1cRagYlCd8RBWw3zLnDwi7looqHtRWU4eNbacHMfMIrHr908xqmirbyZW9HJlLse0olKStKCMwNYwzM6sQPphBtY7Y1NxxCDgmLbVKyGOBEpDYgNxGYLqIqk8RRdE8qKmpgWjvGYnBjskNlJhTVQVafvMbgHjlj7caxv3Rt8tRP3Ry+GaLYRkxNkG315qeN57y2q0y1V7mW/WWSyWFSMyy14/nAmYpED1mAhjiNRacRxxCNO0sYvLHvhGlEJVsCOlxlhQiWC3MsPEa0Amba4HqORNhc4j1hgJa7NLSZYX7GM57Qig8R6rTLK3xGZBM1+vejTzXYhYd54jj5R/oY/wBDH+2P9Id/InlPyJsT1BkPE3scCFW7QmojEZ3bibH/AGzZTjE81GhLn2Yfthz+2FH7QVqMiKqwFDA6NxC7txCSfZn+iYblYK/6YDSeJudsLCr9oasTCevIitE+giRIkSJEip8oF9WRAYBAYh+URfkIAICDEPyiRIg+QgX1giKc5ESJEirBiISciIPkIEmB/ur/xAAUEQEAAAAAAAAAAAAAAAAAAACg/9oACAECAQE/AEgf/8QAFBEBAAAAAAAAAAAAAAAAAAAAoP/aAAgBAwEBPwBIH//Z\";var k=B(R(),1),z=B(Pe(),1);var G=B(R()),Hr=B(uo());function at(e){return\"Minified Redux error #\".concat(e,\"; visit https://redux.js.org/Errors?code=\").concat(e,\" for the full message or use the non-minified dev environment for full errors. \")}var db=typeof Symbol==\"function\"&&Symbol.observable||\"@@observable\",Oc=db,pi=()=>Math.random().toString(36).substring(7).split(\"\").join(\".\"),cb={INIT:\"@@redux/INIT\".concat(pi()),REPLACE:\"@@redux/REPLACE\".concat(pi()),PROBE_UNKNOWN_ACTION:()=>\"@@redux/PROBE_UNKNOWN_ACTION\".concat(pi())},Dc=cb;function ub(e){if(typeof e!=\"object\"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function mi(e,t,n){if(typeof e!=\"function\")throw new Error(at(2));if(typeof t==\"function\"&&typeof n==\"function\"||typeof n==\"function\"&&typeof arguments[3]==\"function\")throw new Error(at(0));if(typeof t==\"function\"&&typeof n>\"u\"&&(n=t,t=void 0),typeof n<\"u\"){if(typeof n!=\"function\")throw new Error(at(1));return n(mi)(e,t)}let r=e,o=t,a=new Map,i=a,s=0,l=!1;function u(){i===a&&(i=new Map,a.forEach((h,y)=>{i.set(y,h)}))}function f(){if(l)throw new Error(at(3));return o}function d(h){if(typeof h!=\"function\")throw new Error(at(4));if(l)throw new Error(at(5));let y=!0;u();let b=s++;return i.set(b,h),function(){if(y){if(l)throw new Error(at(6));y=!1,u(),i.delete(b),a=null}}}function c(h){if(!ub(h))throw new Error(at(7));if(typeof h.type>\"u\")throw new Error(at(8));if(typeof h.type!=\"string\")throw new Error(at(17));if(l)throw new Error(at(9));try{l=!0,o=r(o,h)}finally{l=!1}return(a=i).forEach(b=>{b()}),h}function m(h){if(typeof h!=\"function\")throw new Error(at(10));r=h,c({type:Dc.REPLACE})}function x(){let h=d;return{subscribe(y){if(typeof y!=\"object\"||y===null)throw new Error(at(11));function b(){let w=y;w.next&&w.next(f())}return b(),{unsubscribe:h(b)}},[Oc](){return this}}}return c({type:Dc.INIT}),{dispatch:c,subscribe:d,getState:f,replaceReducer:m,[Oc]:x}}function Ic(e,t){return function(...n){return t(e.apply(this,n))}}function gi(e,t){if(typeof e==\"function\")return Ic(e,t);if(typeof e!=\"object\"||e===null)throw new Error(at(16));let n={};for(let r in e){let o=e[r];typeof o==\"function\"&&(n[r]=Ic(o,t))}return n}function hi(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...r)=>t(n(...r)))}function Ec(...e){return t=>(n,r)=>{let o=t(n,r),a=()=>{throw new Error(at(15))},i={getState:o.getState,dispatch:(l,...u)=>a(l,...u)},s=e.map(l=>l(i));return a=hi(...s)(o.dispatch),I(C({},o),{dispatch:a})}}var ie=B(R(),1),ux=B(Fc(),1);var vb=ie.version.startsWith(\"19\"),yb=Symbol.for(vb?\"react.transitional.element\":\"react.element\"),wb=Symbol.for(\"react.portal\"),Cb=Symbol.for(\"react.fragment\"),Sb=Symbol.for(\"react.strict_mode\"),Ob=Symbol.for(\"react.profiler\"),Db=Symbol.for(\"react.consumer\"),Ib=Symbol.for(\"react.context\"),Vc=Symbol.for(\"react.forward_ref\"),Eb=Symbol.for(\"react.suspense\"),Tb=Symbol.for(\"react.suspense_list\"),Ci=Symbol.for(\"react.memo\"),kb=Symbol.for(\"react.lazy\");var Nb=Vc,Fb=Ci;function Ab(e){if(typeof e==\"object\"&&e!==null){let{$$typeof:t}=e;switch(t){case yb:switch(e=e.type,e){case Cb:case Ob:case Sb:case Eb:case Tb:return e;default:switch(e=e&&e.$$typeof,e){case Ib:case Vc:case kb:case Ci:return e;case Db:return e;default:return t}}case wb:return t}}}function Pb(e){return Ab(e)===Ci}function _b(e,t,n,r,{areStatesEqual:o,areOwnPropsEqual:a,areStatePropsEqual:i}){let s=!1,l,u,f,d,c;function m(b,O){return l=b,u=O,f=e(l,u),d=t(r,u),c=n(f,d,u),s=!0,c}function x(){return f=e(l,u),t.dependsOnOwnProps&&(d=t(r,u)),c=n(f,d,u),c}function v(){return e.dependsOnOwnProps&&(f=e(l,u)),t.dependsOnOwnProps&&(d=t(r,u)),c=n(f,d,u),c}function h(){let b=e(l,u),O=!i(b,f);return f=b,O&&(c=n(f,d,u)),c}function y(b,O){let w=!a(O,u),D=!o(b,l,O,u);return l=b,u=O,w&&D?x():w?v():D?h():c}return function(O,w){return s?y(O,w):m(O,w)}}function Bb(e,a){var i=a,{initMapStateToProps:t,initMapDispatchToProps:n,initMergeProps:r}=i,o=Ft(i,[\"initMapStateToProps\",\"initMapDispatchToProps\",\"initMergeProps\"]);let s=t(e,o),l=n(e,o),u=r(e,o);return _b(s,l,u,e,o)}function Lb(e,t){let n={};for(let r in e){let o=e[r];typeof o==\"function\"&&(n[r]=(...a)=>t(o(...a)))}return n}function yi(e){return function(n){let r=e(n);function o(){return r}return o.dependsOnOwnProps=!1,o}}function Ac(e){return e.dependsOnOwnProps?!!e.dependsOnOwnProps:e.length!==1}function zc(e,t){return function(r,{displayName:o}){let a=function(s,l){return a.dependsOnOwnProps?a.mapToProps(s,l):a.mapToProps(s,void 0)};return a.dependsOnOwnProps=!0,a.mapToProps=function(s,l){a.mapToProps=e,a.dependsOnOwnProps=Ac(e);let u=a(s,l);return typeof u==\"function\"&&(a.mapToProps=u,a.dependsOnOwnProps=Ac(u),u=a(s,l)),u},a}}function Si(e,t){return(n,r)=>{throw new Error(\"Invalid value of type \".concat(typeof e,\" for \").concat(t,\" argument when connecting component \").concat(r.wrappedComponentName,\".\"))}}function Mb(e){return e&&typeof e==\"object\"?yi(t=>Lb(e,t)):e?typeof e==\"function\"?zc(e,\"mapDispatchToProps\"):Si(e,\"mapDispatchToProps\"):yi(t=>({dispatch:t}))}function Vb(e){return e?typeof e==\"function\"?zc(e,\"mapStateToProps\"):Si(e,\"mapStateToProps\"):yi(()=>({}))}function zb(e,t,n){return C(C(C({},n),e),t)}function $b(e){return function(n,{displayName:r,areMergedPropsEqual:o}){let a=!1,i;return function(l,u,f){let d=e(l,u,f);return a?o(d,i)||(i=d):(a=!0,i=d),i}}}function Ub(e){return e?typeof e==\"function\"?$b(e):Si(e,\"mergeProps\"):()=>zb}function Wb(e){e()}function Gb(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Wb(()=>{let n=e;for(;n;)n.callback(),n=n.next})},get(){let n=[],r=e;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0,o=t={callback:n,next:null,prev:t};return o.prev?o.prev.next=o:e=o,function(){!r||e===null||(r=!1,o.next?o.next.prev=o.prev:t=o.prev,o.prev?o.prev.next=o.next:e=o.next)}}}}var Pc={notify(){},get:()=>[]};function $c(e,t){let n,r=Pc,o=0,a=!1;function i(v){f();let h=r.subscribe(v),y=!1;return()=>{y||(y=!0,h(),d())}}function s(){r.notify()}function l(){x.onStateChange&&x.onStateChange()}function u(){return a}function f(){o++,n||(n=t?t.addNestedSub(l):e.subscribe(l),r=Gb())}function d(){o--,n&&o===0&&(n(),n=void 0,r.clear(),r=Pc)}function c(){a||(a=!0,f())}function m(){a&&(a=!1,d())}let x={addNestedSub:i,notifyNestedSubs:s,handleChangeWrapper:l,isSubscribed:u,trySubscribe:c,tryUnsubscribe:m,getListeners:()=>r};return x}var Hb=()=>typeof window<\"u\"&&typeof window.document<\"u\"&&typeof window.document.createElement<\"u\",qb=Hb(),jb=()=>typeof navigator<\"u\"&&navigator.product===\"ReactNative\",Yb=jb(),Kb=()=>qb||Yb?ie.useLayoutEffect:ie.useEffect,da=Kb();function _c(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function bi(e,t){if(_c(e,t))return!0;if(typeof e!=\"object\"||e===null||typeof t!=\"object\"||t===null)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let o=0;oe(...t),n)}function ix(e,t,n,r,o,a){e.current=r,n.current=!1,o.current&&(o.current=null,a())}function sx(e,t,n,r,o,a,i,s,l,u,f){if(!e)return()=>{};let d=!1,c=null,m=()=>{if(d||!s.current)return;let v=t.getState(),h,y;try{h=r(v,o.current)}catch(b){y=b,c=b}y||(c=null),h===a.current?i.current||u():(a.current=h,l.current=h,i.current=!0,f())};return n.onStateChange=m,n.trySubscribe(),m(),()=>{if(d=!0,n.tryUnsubscribe(),n.onStateChange=null,c)throw c}}function lx(e,t){return e===t}function dx(e,t,n,{pure:r,areStatesEqual:o=lx,areOwnPropsEqual:a=bi,areStatePropsEqual:i=bi,areMergedPropsEqual:s=bi,forwardRef:l=!1,context:u=Wc}={}){let f=u,d=Vb(e),c=Mb(t),m=Ub(n),x=!!e;return h=>{let y=h.displayName||h.name||\"Component\",b=\"Connect(\".concat(y,\")\"),O={shouldHandleStateChanges:x,displayName:b,wrappedComponentName:y,WrappedComponent:h,initMapStateToProps:d,initMapDispatchToProps:c,initMergeProps:m,areStatesEqual:o,areStatePropsEqual:i,areOwnPropsEqual:a,areMergedPropsEqual:s};function w(F){let[T,P,V]=ie.useMemo(()=>{let xt=F,{reactReduxForwardedRef:Fe}=xt,lt=Ft(xt,[\"reactReduxForwardedRef\"]);return[F.context,Fe,lt]},[F]),E=ie.useMemo(()=>{let Fe=f;return T!=null&&T.Consumer,Fe},[T,f]),N=ie.useContext(E),U=!!F.store&&!!F.store.getState&&!!F.store.dispatch,K=!!N&&!!N.store,se=U?F.store:N.store,he=K?N.getServerState:se.getState,Ce=ie.useMemo(()=>Bb(se.dispatch,O),[se]),[He,Ve]=ie.useMemo(()=>{if(!x)return ox;let Fe=$c(se,U?void 0:N.subscription),lt=Fe.notifyNestedSubs.bind(Fe);return[Fe,lt]},[se,U,N]),zt=ie.useMemo(()=>U?N:I(C({},N),{subscription:He}),[U,N,He]),$t=ie.useRef(void 0),qe=ie.useRef(V),rt=ie.useRef(void 0),Et=ie.useRef(!1),Lt=ie.useRef(!1),Qe=ie.useRef(void 0);da(()=>(Lt.current=!0,()=>{Lt.current=!1}),[]);let tn=ie.useMemo(()=>()=>rt.current&&V===qe.current?rt.current:Ce(se.getState(),V),[se,V]),Tt=ie.useMemo(()=>lt=>He?sx(x,se,He,Ce,qe,$t,Et,Lt,rt,Ve,lt):()=>{},[He]);ax(ix,[qe,$t,Et,V,rt,Ve]);let st;try{st=ie.useSyncExternalStore(Tt,tn,he?()=>Ce(he(),V):tn)}catch(Fe){throw Qe.current&&(Fe.message+=\"\\nThe error may be correlated with this previous error:\\n\".concat(Qe.current.stack,\"\\n\\n\")),Fe}da(()=>{Qe.current=void 0,rt.current=void 0,$t.current=st});let ve=ie.useMemo(()=>ie.createElement(h,I(C({},st),{ref:P})),[P,h,st]);return ie.useMemo(()=>x?ie.createElement(E.Provider,{value:zt},ve):ve,[E,ve,zt])}let S=ie.memo(w);if(S.WrappedComponent=h,S.displayName=w.displayName=b,l){let T=ie.forwardRef(function(V,E){return ie.createElement(S,I(C({},V),{reactReduxForwardedRef:E}))});return T.displayName=b,T.WrappedComponent=h,wi(T,h)}return wi(S,h)}}var Oi=dx;function cx(e){let{children:t,context:n,serverState:r,store:o}=e,a=ie.useMemo(()=>{let l=$c(o);return{store:o,subscription:l,getServerState:r?()=>r:void 0}},[o,r]),i=ie.useMemo(()=>o.getState(),[o]);return da(()=>{let{subscription:l}=a;return l.onStateChange=l.notifyNestedSubs,l.trySubscribe(),i!==o.getState()&&l.notifyNestedSubs(),()=>{l.tryUnsubscribe(),l.onStateChange=void 0}},[a,i]),ie.createElement((n||Wc).Provider,{value:a},t)}var Gc=cx;var fx=!0,Di=\"Invariant failed\";function Hc(e,t){if(!e){if(fx)throw new Error(Di);var n=typeof t==\"function\"?t():t,r=n?\"\".concat(Di,\": \").concat(n):Di;throw new Error(r)}}var St=function(t){var n=t.top,r=t.right,o=t.bottom,a=t.left,i=r-a,s=o-n,l={top:n,right:r,bottom:o,left:a,width:i,height:s,x:a,y:n,center:{x:(r+a)/2,y:(o+n)/2}};return l},ca=function(t,n){return{top:t.top-n.top,left:t.left-n.left,bottom:t.bottom+n.bottom,right:t.right+n.right}},qc=function(t,n){return{top:t.top+n.top,left:t.left+n.left,bottom:t.bottom-n.bottom,right:t.right-n.right}},px=function(t,n){return{top:t.top+n.y,left:t.left+n.x,bottom:t.bottom+n.y,right:t.right+n.x}},Ii={top:0,right:0,bottom:0,left:0},ua=function(t){var n=t.borderBox,r=t.margin,o=r===void 0?Ii:r,a=t.border,i=a===void 0?Ii:a,s=t.padding,l=s===void 0?Ii:s,u=St(ca(n,o)),f=St(qc(n,i)),d=St(qc(f,l));return{marginBox:u,borderBox:St(n),paddingBox:f,contentBox:d,margin:o,border:i,padding:l}},Ct=function(t){var n=t.slice(0,-2),r=t.slice(-2);if(r!==\"px\")return 0;var o=Number(n);return isNaN(o)&&Hc(!1),o},mx=function(){return{x:window.pageXOffset,y:window.pageYOffset}},Nr=function(t,n){var r=t.borderBox,o=t.border,a=t.margin,i=t.padding,s=px(r,n);return ua({borderBox:s,border:o,margin:a,padding:i})},Fr=function(t,n){return n===void 0&&(n=mx()),Nr(t,n)},Ei=function(t,n){var r={top:Ct(n.marginTop),right:Ct(n.marginRight),bottom:Ct(n.marginBottom),left:Ct(n.marginLeft)},o={top:Ct(n.paddingTop),right:Ct(n.paddingRight),bottom:Ct(n.paddingBottom),left:Ct(n.paddingLeft)},a={top:Ct(n.borderTopWidth),right:Ct(n.borderRightWidth),bottom:Ct(n.borderBottomWidth),left:Ct(n.borderLeftWidth)};return ua({borderBox:t,margin:r,padding:o,border:a})},Ti=function(t){var n=t.getBoundingClientRect(),r=window.getComputedStyle(t);return Ei(n,r)};var gx=function(t){var n=[],r=null,o=function(){for(var i=arguments.length,s=new Array(i),l=0;le.replace(bx,\" \").replace(xx,\"\").trim(),vx=e=>jc(\"\\n %c@hello-pangea/dnd\\n\\n %c\".concat(jc(e),\"\\n\\n %c\\u{1F477}\\u200D This is a development only message. It will be removed in production builds.\\n\")),yx=e=>[vx(e),\"color: #00C584; font-size: 1.2em; font-weight: bold;\",\"line-height: 1.5\",\"color: #723874;\"],wx=\"__@hello-pangea/dnd-disable-dev-warnings\";function yu(e,t){hx||typeof window<\"u\"&&window[wx]||console[e](...yx(t))}var oI=yu.bind(null,\"warn\"),Cx=yu.bind(null,\"error\");function Jt(){}function Sx(e,t){return C(C({},e),t)}function Ot(e,t,n){let r=t.map(o=>{let a=Sx(n,o.options);return e.addEventListener(o.eventName,o.fn,a),function(){e.removeEventListener(o.eventName,o.fn,a)}});return function(){r.forEach(a=>{a()})}}var Ox=!0,Yc=\"Invariant failed\",Cn=class extends Error{};Cn.prototype.toString=function(){return this.message};function _(e,t){throw Ox?new Cn(Yc):new Cn(\"\".concat(Yc,\": \").concat(t||\"\"))}var zi=class extends G.default.Component{constructor(...t){super(...t),this.callbacks=null,this.unbind=Jt,this.onWindowError=n=>{let r=this.getCallbacks();r.isDragging()&&r.tryAbort(),n.error instanceof Cn&&n.preventDefault()},this.getCallbacks=()=>{if(!this.callbacks)throw new Error(\"Unable to find AppCallbacks in \");return this.callbacks},this.setCallbacks=n=>{this.callbacks=n}}componentDidMount(){this.unbind=Ot(window,[{eventName:\"error\",fn:this.onWindowError}])}componentDidCatch(t){if(t instanceof Cn){this.setState({});return}throw t}componentWillUnmount(){this.unbind()}render(){return this.props.children(this.setCallbacks)}},Dx=\"\\n Press space bar to start a drag.\\n When dragging you can use the arrow keys to move the item around and escape to cancel.\\n Some screen readers may require you to be in focus mode or to use your pass through key\\n\",ha=e=>e+1,Ix=e=>\"\\n You have lifted an item in position \".concat(ha(e.source.index),\"\\n\"),wu=(e,t)=>{let n=e.droppableId===t.droppableId,r=ha(e.index),o=ha(t.index);return n?\"\\n You have moved the item from position \".concat(r,\"\\n to position \").concat(o,\"\\n \"):\"\\n You have moved the item from position \".concat(r,\"\\n in list \").concat(e.droppableId,\"\\n to list \").concat(t.droppableId,\"\\n in position \").concat(o,\"\\n \")},Cu=(e,t,n)=>t.droppableId===n.droppableId?\"\\n The item \".concat(e,\"\\n has been combined with \").concat(n.draggableId):\"\\n The item \".concat(e,\"\\n in list \").concat(t.droppableId,\"\\n has been combined with \").concat(n.draggableId,\"\\n in list \").concat(n.droppableId,\"\\n \"),Ex=e=>{let t=e.destination;if(t)return wu(e.source,t);let n=e.combine;return n?Cu(e.draggableId,e.source,n):\"You are over an area that cannot be dropped on\"},Kc=e=>\"\\n The item has returned to its starting position\\n of \".concat(ha(e.index),\"\\n\"),Tx=e=>{if(e.reason===\"CANCEL\")return\"\\n Movement cancelled.\\n \".concat(Kc(e.source),\"\\n \");let t=e.destination,n=e.combine;return t?\"\\n You have dropped the item.\\n \".concat(wu(e.source,t),\"\\n \"):n?\"\\n You have dropped the item.\\n \".concat(Cu(e.draggableId,e.source,n),\"\\n \"):\"\\n The item has been dropped while not over a drop area.\\n \".concat(Kc(e.source),\"\\n \")},ga={dragHandleUsageInstructions:Dx,onDragStart:Ix,onDragUpdate:Ex,onDragEnd:Tx};function kx(e,t){return!!(e===t||Number.isNaN(e)&&Number.isNaN(t))}function Su(e,t){if(e.length!==t.length)return!1;for(let n=0;n({inputs:t,result:e()}))[0],r=(0,G.useRef)(!0),o=(0,G.useRef)(n),i=r.current||!!(t&&o.current.inputs&&Su(t,o.current.inputs))?o.current:{inputs:t,result:e()};return(0,G.useEffect)(()=>{r.current=!1,o.current=i},[i]),i.result}function X(e,t){return be(()=>e,t)}var Xe={x:0,y:0},et=(e,t)=>({x:e.x+t.x,y:e.y+t.y}),mt=(e,t)=>({x:e.x-t.x,y:e.y-t.y}),Xt=(e,t)=>e.x===t.x&&e.y===t.y,Hn=e=>({x:e.x!==0?-e.x:0,y:e.y!==0?-e.y:0}),Sn=(e,t,n=0)=>e===\"x\"?{x:t,y:n}:{x:n,y:t},Mr=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2),Jc=(e,t)=>Math.min(...t.map(n=>Mr(e,n))),Ou=e=>t=>({x:e(t.x),y:e(t.y)}),Nx=(e,t)=>{let n=St({top:Math.max(t.top,e.top),right:Math.min(t.right,e.right),bottom:Math.min(t.bottom,e.bottom),left:Math.max(t.left,e.left)});return n.width<=0||n.height<=0?null:n},qr=(e,t)=>({top:e.top+t.y,left:e.left+t.x,bottom:e.bottom+t.y,right:e.right+t.x}),Xc=e=>[{x:e.left,y:e.top},{x:e.right,y:e.top},{x:e.left,y:e.bottom},{x:e.right,y:e.bottom}],Fx={top:0,right:0,bottom:0,left:0},Ax=(e,t)=>t?qr(e,t.scroll.diff.displacement):e,Px=(e,t,n)=>n&&n.increasedBy?I(C({},e),{[t.end]:e[t.end]+n.increasedBy[t.line]}):e,_x=(e,t)=>t&&t.shouldClipSubject?Nx(t.pageMarginBox,e):St(e),Un=({page:e,withPlaceholder:t,axis:n,frame:r})=>{let o=Ax(e.marginBox,r),a=Px(o,n,t),i=_x(a,r);return{page:e,withPlaceholder:t,active:i}},Yi=(e,t)=>{e.frame||_();let n=e.frame,r=mt(t,n.scroll.initial),o=Hn(r),a=I(C({},n),{scroll:{initial:n.scroll.initial,current:t,diff:{value:r,displacement:o},max:n.scroll.max}}),i=Un({page:e.subject.page,withPlaceholder:e.subject.withPlaceholder,axis:e.axis,frame:a});return I(C({},e),{frame:a,subject:i})};function Je(e,t=Su){let n=null;function r(...o){if(n&&n.lastThis===this&&t(o,n.lastArgs))return n.lastResult;let a=e.apply(this,o);return n={lastResult:a,lastArgs:o,lastThis:this},a}return r.clear=function(){n=null},r}var Du=Je(e=>e.reduce((t,n)=>(t[n.descriptor.id]=n,t),{})),Iu=Je(e=>e.reduce((t,n)=>(t[n.descriptor.id]=n,t),{})),va=Je(e=>Object.values(e)),Bx=Je(e=>Object.values(e)),qn=Je((e,t)=>Bx(t).filter(r=>e===r.descriptor.droppableId).sort((r,o)=>r.descriptor.index-o.descriptor.index));function Ki(e){return e.at&&e.at.type===\"REORDER\"?e.at.destination:null}function ya(e){return e.at&&e.at.type===\"COMBINE\"?e.at.combine:null}var wa=Je((e,t)=>t.filter(n=>n.descriptor.id!==e.descriptor.id)),Lx=({isMovingForward:e,draggable:t,destination:n,insideDestination:r,previousImpact:o})=>{if(!n.isCombineEnabled||!Ki(o))return null;function i(m){let x={type:\"COMBINE\",combine:{draggableId:m,droppableId:n.descriptor.id}};return I(C({},o),{at:x})}let s=o.displaced.all,l=s.length?s[0]:null;if(e)return l?i(l):null;let u=wa(t,r);if(!l){if(!u.length)return null;let m=u[u.length-1];return i(m.descriptor.id)}let f=u.findIndex(m=>m.descriptor.id===l);f===-1&&_();let d=f-1;if(d<0)return null;let c=u[d];return i(c.descriptor.id)},jn=(e,t)=>e.descriptor.droppableId===t.descriptor.id,Eu={point:Xe,value:0},Vr={invisible:{},visible:{},all:[]},Mx={displaced:Vr,displacedBy:Eu,at:null},Dt=(e,t)=>n=>e<=n&&n<=t,Tu=e=>{let t=Dt(e.top,e.bottom),n=Dt(e.left,e.right);return r=>{if(t(r.top)&&t(r.bottom)&&n(r.left)&&n(r.right))return!0;let a=t(r.top)||t(r.bottom),i=n(r.left)||n(r.right);if(a&&i)return!0;let l=r.tope.bottom,u=r.lefte.right;return l&&u?!0:l&&i||u&&a}},Vx=e=>{let t=Dt(e.top,e.bottom),n=Dt(e.left,e.right);return r=>t(r.top)&&t(r.bottom)&&n(r.left)&&n(r.right)},Ji={direction:\"vertical\",line:\"y\",crossAxisLine:\"x\",start:\"top\",end:\"bottom\",size:\"height\",crossAxisStart:\"left\",crossAxisEnd:\"right\",crossAxisSize:\"width\"},ku={direction:\"horizontal\",line:\"x\",crossAxisLine:\"y\",start:\"left\",end:\"right\",size:\"width\",crossAxisStart:\"top\",crossAxisEnd:\"bottom\",crossAxisSize:\"height\"},zx=e=>t=>{let n=Dt(t.top,t.bottom),r=Dt(t.left,t.right);return o=>e===Ji?n(o.top)&&n(o.bottom):r(o.left)&&r(o.right)},$x=(e,t)=>{let n=t.frame?t.frame.scroll.diff.displacement:Xe;return qr(e,n)},Ux=(e,t,n)=>t.subject.active?n(t.subject.active)(e):!1,Wx=(e,t,n)=>n(t)(e),Xi=({target:e,destination:t,viewport:n,withDroppableDisplacement:r,isVisibleThroughFrameFn:o})=>{let a=r?$x(e,t):e;return Ux(a,t,o)&&Wx(a,n,o)},Gx=e=>Xi(I(C({},e),{isVisibleThroughFrameFn:Tu})),Nu=e=>Xi(I(C({},e),{isVisibleThroughFrameFn:Vx})),Hx=e=>Xi(I(C({},e),{isVisibleThroughFrameFn:zx(e.destination.axis)})),qx=(e,t,n)=>{if(typeof n==\"boolean\")return n;if(!t)return!0;let{invisible:r,visible:o}=t;if(r[e])return!1;let a=o[e];return a?a.shouldAnimate:!0};function jx(e,t){let n=e.page.marginBox,r={top:t.point.y,right:0,bottom:0,left:t.point.x};return St(ca(n,r))}function zr({afterDragging:e,destination:t,displacedBy:n,viewport:r,forceShouldAnimate:o,last:a}){return e.reduce(function(s,l){let u=jx(l,n),f=l.descriptor.id;if(s.all.push(f),!Gx({target:u,destination:t,viewport:r,withDroppableDisplacement:!0}))return s.invisible[l.descriptor.id]=!0,s;let c=qx(f,a,o),m={draggableId:f,shouldAnimate:c};return s.visible[f]=m,s},{all:[],visible:{},invisible:{}})}function Yx(e,t){if(!e.length)return 0;let n=e[e.length-1].descriptor.index;return t.inHomeList?n:n+1}function Qc({insideDestination:e,inHomeList:t,displacedBy:n,destination:r}){let o=Yx(e,{inHomeList:t});return{displaced:Vr,displacedBy:n,at:{type:\"REORDER\",destination:{droppableId:r.descriptor.id,index:o}}}}function ba({draggable:e,insideDestination:t,destination:n,viewport:r,displacedBy:o,last:a,index:i,forceShouldAnimate:s}){let l=jn(e,n);if(i==null)return Qc({insideDestination:t,inHomeList:l,displacedBy:o,destination:n});let u=t.find(x=>x.descriptor.index===i);if(!u)return Qc({insideDestination:t,inHomeList:l,displacedBy:o,destination:n});let f=wa(e,t),d=t.indexOf(u),c=f.slice(d);return{displaced:zr({afterDragging:c,destination:n,displacedBy:o,last:a,viewport:r.frame,forceShouldAnimate:s}),displacedBy:o,at:{type:\"REORDER\",destination:{droppableId:n.descriptor.id,index:i}}}}function Qt(e,t){return!!t.effected[e]}var Kx=({isMovingForward:e,destination:t,draggables:n,combine:r,afterCritical:o})=>{if(!t.isCombineEnabled)return null;let a=r.draggableId,s=n[a].descriptor.index;return Qt(a,o)?e?s:s-1:e?s+1:s},Jx=({isMovingForward:e,isInHomeList:t,insideDestination:n,location:r})=>{if(!n.length)return null;let o=r.index,a=e?o+1:o-1,i=n[0].descriptor.index,s=n[n.length-1].descriptor.index,l=t?s:s+1;return al?null:a},Xx=({isMovingForward:e,isInHomeList:t,draggable:n,draggables:r,destination:o,insideDestination:a,previousImpact:i,viewport:s,afterCritical:l})=>{let u=i.at;if(u||_(),u.type===\"REORDER\"){let d=Jx({isMovingForward:e,isInHomeList:t,location:u.destination,insideDestination:a});return d==null?null:ba({draggable:n,insideDestination:a,destination:o,viewport:s,last:i.displaced,displacedBy:i.displacedBy,index:d})}let f=Kx({isMovingForward:e,destination:o,displaced:i.displaced,draggables:r,combine:u.combine,afterCritical:l});return f==null?null:ba({draggable:n,insideDestination:a,destination:o,viewport:s,last:i.displaced,displacedBy:i.displacedBy,index:f})},Qx=({displaced:e,afterCritical:t,combineWith:n,displacedBy:r})=>{let o=!!(e.visible[n]||e.invisible[n]);return Qt(n,t)?o?Xe:Hn(r.point):o?r.point:Xe},Zx=({afterCritical:e,impact:t,draggables:n})=>{let r=ya(t);r||_();let o=r.draggableId,a=n[o].page.borderBox.center,i=Qx({displaced:t.displaced,afterCritical:e,combineWith:o,displacedBy:t.displacedBy});return et(a,i)},Fu=(e,t)=>t.margin[e.start]+t.borderBox[e.size]/2,Rx=(e,t)=>t.margin[e.end]+t.borderBox[e.size]/2,Qi=(e,t,n)=>t[e.crossAxisStart]+n.margin[e.crossAxisStart]+n.borderBox[e.crossAxisSize]/2,Zc=({axis:e,moveRelativeTo:t,isMoving:n})=>Sn(e.line,t.marginBox[e.end]+Fu(e,n),Qi(e,t.marginBox,n)),Rc=({axis:e,moveRelativeTo:t,isMoving:n})=>Sn(e.line,t.marginBox[e.start]-Rx(e,n),Qi(e,t.marginBox,n)),ev=({axis:e,moveInto:t,isMoving:n})=>Sn(e.line,t.contentBox[e.start]+Fu(e,n),Qi(e,t.contentBox,n)),tv=({impact:e,draggable:t,draggables:n,droppable:r,afterCritical:o})=>{let a=qn(r.descriptor.id,n),i=t.page,s=r.axis;if(!a.length)return ev({axis:s,moveInto:r.page,isMoving:i});let{displaced:l,displacedBy:u}=e,f=l.all[0];if(f){let c=n[f];if(Qt(f,o))return Rc({axis:s,moveRelativeTo:c.page,isMoving:i});let m=Nr(c.page,u.point);return Rc({axis:s,moveRelativeTo:m,isMoving:i})}let d=a[a.length-1];if(d.descriptor.id===t.descriptor.id)return i.borderBox.center;if(Qt(d.descriptor.id,o)){let c=Nr(d.page,Hn(o.displacedBy.point));return Zc({axis:s,moveRelativeTo:c,isMoving:i})}return Zc({axis:s,moveRelativeTo:d.page,isMoving:i})},$i=(e,t)=>{let n=e.frame;return n?et(t,n.scroll.diff.displacement):t},nv=({impact:e,draggable:t,droppable:n,draggables:r,afterCritical:o})=>{let a=t.page.borderBox.center,i=e.at;return!n||!i?a:i.type===\"REORDER\"?tv({impact:e,draggable:t,draggables:r,droppable:n,afterCritical:o}):Zx({impact:e,draggables:r,afterCritical:o})},Ca=e=>{let t=nv(e),n=e.droppable;return n?$i(n,t):t},Au=(e,t)=>{let n=mt(t,e.scroll.initial),r=Hn(n);return{frame:St({top:t.y,bottom:t.y+e.frame.height,left:t.x,right:t.x+e.frame.width}),scroll:{initial:e.scroll.initial,max:e.scroll.max,current:t,diff:{value:n,displacement:r}}}};function eu(e,t){return e.map(n=>t[n])}function rv(e,t){for(let n=0;n{let a=Au(t,et(t.scroll.current,o)),i=n.frame?Yi(n,et(n.frame.scroll.current,o)):n,s=e.displaced,l=zr({afterDragging:eu(s.all,r),destination:n,displacedBy:e.displacedBy,viewport:a.frame,last:s,forceShouldAnimate:!1}),u=zr({afterDragging:eu(s.all,r),destination:i,displacedBy:e.displacedBy,viewport:t.frame,last:s,forceShouldAnimate:!1}),f={},d={},c=[s,l,u];return s.all.forEach(x=>{let v=rv(x,c);if(v){d[x]=v;return}f[x]=!0}),I(C({},e),{displaced:{all:s.all,invisible:f,visible:d}})},av=(e,t)=>et(e.scroll.diff.displacement,t),Zi=({pageBorderBoxCenter:e,draggable:t,viewport:n})=>{let r=av(n,e),o=mt(r,t.page.borderBox.center);return et(t.client.borderBox.center,o)},Pu=({draggable:e,destination:t,newPageBorderBoxCenter:n,viewport:r,withDroppableDisplacement:o,onlyOnMainAxis:a=!1})=>{let i=mt(n,e.page.borderBox.center),l={target:qr(e.page.borderBox,i),destination:t,withDroppableDisplacement:o,viewport:r};return a?Hx(l):Nu(l)},iv=({isMovingForward:e,draggable:t,destination:n,draggables:r,previousImpact:o,viewport:a,previousPageBorderBoxCenter:i,previousClientSelection:s,afterCritical:l})=>{if(!n.isEnabled)return null;let u=qn(n.descriptor.id,r),f=jn(t,n),d=Lx({isMovingForward:e,draggable:t,destination:n,insideDestination:u,previousImpact:o})||Xx({isMovingForward:e,isInHomeList:f,draggable:t,draggables:r,destination:n,insideDestination:u,previousImpact:o,viewport:a,afterCritical:l});if(!d)return null;let c=Ca({impact:d,draggable:t,droppable:n,draggables:r,afterCritical:l});if(Pu({draggable:t,destination:n,newPageBorderBoxCenter:c,viewport:a.frame,withDroppableDisplacement:!1,onlyOnMainAxis:!0}))return{clientSelection:Zi({pageBorderBoxCenter:c,draggable:t,viewport:a}),impact:d,scrollJumpRequest:null};let x=mt(c,i),v=ov({impact:d,viewport:a,destination:n,draggables:r,maxScrollChange:x});return{clientSelection:s,impact:v,scrollJumpRequest:x}},it=e=>{let t=e.subject.active;return t||_(),t},sv=({isMovingForward:e,pageBorderBoxCenter:t,source:n,droppables:r,viewport:o})=>{let a=n.subject.active;if(!a)return null;let i=n.axis,s=Dt(a[i.start],a[i.end]),l=va(r).filter(f=>f!==n).filter(f=>f.isEnabled).filter(f=>!!f.subject.active).filter(f=>Tu(o.frame)(it(f))).filter(f=>{let d=it(f);return e?a[i.crossAxisEnd]{let d=it(f),c=Dt(d[i.start],d[i.end]);return s(d[i.start])||s(d[i.end])||c(a[i.start])||c(a[i.end])}).sort((f,d)=>{let c=it(f)[i.crossAxisStart],m=it(d)[i.crossAxisStart];return e?c-m:m-c}).filter((f,d,c)=>it(f)[i.crossAxisStart]===it(c[0])[i.crossAxisStart]);if(!l.length)return null;if(l.length===1)return l[0];let u=l.filter(f=>Dt(it(f)[i.start],it(f)[i.end])(t[i.line]));return u.length===1?u[0]:u.length>1?u.sort((f,d)=>it(f)[i.start]-it(d)[i.start])[0]:l.sort((f,d)=>{let c=Jc(t,Xc(it(f))),m=Jc(t,Xc(it(d)));return c!==m?c-m:it(f)[i.start]-it(d)[i.start]})[0]},tu=(e,t)=>{let n=e.page.borderBox.center;return Qt(e.descriptor.id,t)?mt(n,t.displacedBy.point):n},lv=(e,t)=>{let n=e.page.borderBox;return Qt(e.descriptor.id,t)?qr(n,Hn(t.displacedBy.point)):n},dv=({pageBorderBoxCenter:e,viewport:t,destination:n,insideDestination:r,afterCritical:o})=>r.filter(i=>Nu({target:lv(i,o),destination:n,viewport:t.frame,withDroppableDisplacement:!0})).sort((i,s)=>{let l=Mr(e,$i(n,tu(i,o))),u=Mr(e,$i(n,tu(s,o)));return l{let r=e.axis;if(e.descriptor.mode===\"virtual\")return Sn(r.line,t[r.line]);let o=e.subject.page.contentBox[r.size],l=qn(e.descriptor.id,n).reduce((u,f)=>u+f.client.marginBox[r.size],0)+t[r.line]-o;return l<=0?null:Sn(r.line,l)},_u=(e,t)=>I(C({},e),{scroll:I(C({},e.scroll),{max:t})}),Bu=(e,t,n)=>{let r=e.frame;jn(t,e)&&_(),e.subject.withPlaceholder&&_();let o=jr(e.axis,t.displaceBy).point,a=cv(e,o,n),i={placeholderSize:o,increasedBy:a,oldFrameMaxScroll:e.frame?e.frame.scroll.max:null};if(!r){let f=Un({page:e.subject.page,withPlaceholder:i,axis:e.axis,frame:e.frame});return I(C({},e),{subject:f})}let s=a?et(r.scroll.max,a):r.scroll.max,l=_u(r,s),u=Un({page:e.subject.page,withPlaceholder:i,axis:e.axis,frame:l});return I(C({},e),{subject:u,frame:l})},uv=e=>{let t=e.subject.withPlaceholder;t||_();let n=e.frame;if(!n){let i=Un({page:e.subject.page,axis:e.axis,frame:null,withPlaceholder:null});return I(C({},e),{subject:i})}let r=t.oldFrameMaxScroll;r||_();let o=_u(n,r),a=Un({page:e.subject.page,axis:e.axis,frame:o,withPlaceholder:null});return I(C({},e),{subject:a,frame:o})},fv=({previousPageBorderBoxCenter:e,moveRelativeTo:t,insideDestination:n,draggable:r,draggables:o,destination:a,viewport:i,afterCritical:s})=>{if(!t){if(n.length)return null;let d={displaced:Vr,displacedBy:Eu,at:{type:\"REORDER\",destination:{droppableId:a.descriptor.id,index:0}}},c=Ca({impact:d,draggable:r,droppable:a,draggables:o,afterCritical:s}),m=jn(r,a)?a:Bu(a,r,o);return Pu({draggable:r,destination:m,newPageBorderBoxCenter:c,viewport:i.frame,withDroppableDisplacement:!1,onlyOnMainAxis:!0})?d:null}let l=e[a.axis.line]<=t.page.borderBox.center[a.axis.line],u=(()=>{let d=t.descriptor.index;return t.descriptor.id===r.descriptor.id||l?d:d+1})(),f=jr(a.axis,r.displaceBy);return ba({draggable:r,insideDestination:n,destination:a,viewport:i,displacedBy:f,last:Vr,index:u})},pv=({isMovingForward:e,previousPageBorderBoxCenter:t,draggable:n,isOver:r,draggables:o,droppables:a,viewport:i,afterCritical:s})=>{let l=sv({isMovingForward:e,pageBorderBoxCenter:t,source:r,droppables:a,viewport:i});if(!l)return null;let u=qn(l.descriptor.id,o),f=dv({pageBorderBoxCenter:t,viewport:i,destination:l,insideDestination:u,afterCritical:s}),d=fv({previousPageBorderBoxCenter:t,destination:l,draggable:n,draggables:o,moveRelativeTo:f,insideDestination:u,viewport:i,afterCritical:s});if(!d)return null;let c=Ca({impact:d,draggable:n,droppable:l,draggables:o,afterCritical:s});return{clientSelection:Zi({pageBorderBoxCenter:c,draggable:n,viewport:i}),impact:d,scrollJumpRequest:null}},gt=e=>{let t=e.at;return t?t.type===\"REORDER\"?t.destination.droppableId:t.combine.droppableId:null},mv=(e,t)=>{let n=gt(e);return n?t[n]:null},gv=({state:e,type:t})=>{let n=mv(e.impact,e.dimensions.droppables),r=!!n,o=e.dimensions.droppables[e.critical.droppable.id],a=n||o,i=a.axis.direction,s=i===\"vertical\"&&(t===\"MOVE_UP\"||t===\"MOVE_DOWN\")||i===\"horizontal\"&&(t===\"MOVE_LEFT\"||t===\"MOVE_RIGHT\");if(s&&!r)return null;let l=t===\"MOVE_DOWN\"||t===\"MOVE_RIGHT\",u=e.dimensions.draggables[e.critical.draggable.id],f=e.current.page.borderBoxCenter,{draggables:d,droppables:c}=e.dimensions;return s?iv({isMovingForward:l,previousPageBorderBoxCenter:f,draggable:u,destination:a,draggables:d,viewport:e.viewport,previousClientSelection:e.current.client.selection,previousImpact:e.impact,afterCritical:e.afterCritical}):pv({isMovingForward:l,previousPageBorderBoxCenter:f,draggable:u,isOver:a,draggables:d,droppables:c,viewport:e.viewport,afterCritical:e.afterCritical})};function wn(e){return e.phase===\"DRAGGING\"||e.phase===\"COLLECTING\"}function Lu(e){let t=Dt(e.top,e.bottom),n=Dt(e.left,e.right);return function(o){return t(o.y)&&n(o.x)}}function hv(e,t){return e.leftt.left&&e.topt.top}function bv({pageBorderBox:e,draggable:t,candidates:n}){let r=t.page.borderBox.center,o=n.map(a=>{let i=a.axis,s=Sn(a.axis.line,e.center[i.line],a.page.borderBox.center[i.crossAxisLine]);return{id:a.descriptor.id,distance:Mr(r,s)}}).sort((a,i)=>i.distance-a.distance);return o[0]?o[0].id:null}function xv({pageBorderBox:e,draggable:t,droppables:n}){let r=va(n).filter(o=>{if(!o.isEnabled)return!1;let a=o.subject.active;if(!a||!hv(e,a))return!1;if(Lu(a)(e.center))return!0;let i=o.axis,s=a.center[i.crossAxisLine],l=e[i.crossAxisStart],u=e[i.crossAxisEnd],f=Dt(a[i.crossAxisStart],a[i.crossAxisEnd]),d=f(l),c=f(u);return!d&&!c?!0:d?ls});return r.length?r.length===1?r[0].descriptor.id:bv({pageBorderBox:e,draggable:t,candidates:r}):null}var Mu=(e,t)=>St(qr(e,t)),vv=(e,t)=>{let n=e.frame;return n?Mu(t,n.scroll.diff.value):t};function Vu({displaced:e,id:t}){return!!(e.visible[t]||e.invisible[t])}function yv({draggable:e,closest:t,inHomeList:n}){return t?n&&t.descriptor.index>e.descriptor.index?t.descriptor.index-1:t.descriptor.index:null}var wv=({pageBorderBoxWithDroppableScroll:e,draggable:t,destination:n,insideDestination:r,last:o,viewport:a,afterCritical:i})=>{let s=n.axis,l=jr(n.axis,t.displaceBy),u=l.value,f=e[s.start],d=e[s.end],m=wa(t,r).find(v=>{let h=v.descriptor.id,y=v.page.borderBox.center[s.line],b=Qt(h,i),O=Vu({displaced:o,id:h});return b?O?d<=y:f{if(!r.isCombineEnabled)return null;let i=r.axis,s=jr(r.axis,e.displaceBy),l=s.value,u=t[i.start],f=t[i.end],c=wa(e,o).find(x=>{let v=x.descriptor.id,h=x.page.borderBox,b=h[i.size]/Cv,O=Qt(v,a),w=Vu({displaced:n.displaced,id:v});return O?w?f>h[i.start]+b&&fh[i.start]-l+b&&uh[i.start]+l+b&&fh[i.start]+b&&u{let s=Mu(t.page.borderBox,e),l=xv({pageBorderBox:s,draggable:t,droppables:r});if(!l)return Mx;let u=r[l],f=qn(u.descriptor.id,n),d=vv(u,s);return Sv({pageBorderBoxWithDroppableScroll:d,draggable:t,previousImpact:o,destination:u,insideDestination:f,afterCritical:i})||wv({pageBorderBoxWithDroppableScroll:d,draggable:t,destination:u,insideDestination:f,last:o.displaced,viewport:a,afterCritical:i})},Ri=(e,t)=>I(C({},e),{[t.descriptor.id]:t}),Ov=({previousImpact:e,impact:t,droppables:n})=>{let r=gt(e),o=gt(t);if(!r||r===o)return n;let a=n[r];if(!a.subject.withPlaceholder)return n;let i=uv(a);return Ri(n,i)},Dv=({draggable:e,draggables:t,droppables:n,previousImpact:r,impact:o})=>{let a=Ov({previousImpact:r,impact:o,droppables:n}),i=gt(o);if(!i)return a;let s=n[i];if(jn(e,s)||s.subject.withPlaceholder)return a;let l=Bu(s,e,t);return Ri(a,l)},Br=({state:e,clientSelection:t,dimensions:n,viewport:r,impact:o,scrollJumpRequest:a})=>{let i=r||e.viewport,s=n||e.dimensions,l=t||e.current.client.selection,u=mt(l,e.initial.client.selection),f={offset:u,selection:l,borderBoxCenter:et(e.initial.client.borderBoxCenter,u)},d={selection:et(f.selection,i.scroll.current),borderBoxCenter:et(f.borderBoxCenter,i.scroll.current),offset:et(f.offset,i.scroll.diff.value)},c={client:f,page:d};if(e.phase===\"COLLECTING\")return I(C({},e),{dimensions:s,viewport:i,current:c});let m=s.draggables[e.critical.draggable.id],x=o||zu({pageOffset:d.offset,draggable:m,draggables:s.draggables,droppables:s.droppables,previousImpact:e.impact,viewport:i,afterCritical:e.afterCritical}),v=Dv({draggable:m,impact:x,previousImpact:e.impact,draggables:s.draggables,droppables:s.droppables});return I(C({},e),{current:c,dimensions:{draggables:s.draggables,droppables:v},impact:x,viewport:i,scrollJumpRequest:a||null,forceShouldAnimate:a?!1:null})};function Iv(e,t){return e.map(n=>t[n])}var $u=({impact:e,viewport:t,draggables:n,destination:r,forceShouldAnimate:o})=>{let a=e.displaced,i=Iv(a.all,n),s=zr({afterDragging:i,destination:r,displacedBy:e.displacedBy,viewport:t.frame,forceShouldAnimate:o,last:a});return I(C({},e),{displaced:s})},Uu=({impact:e,draggable:t,droppable:n,draggables:r,viewport:o,afterCritical:a})=>{let i=Ca({impact:e,draggable:t,draggables:r,droppable:n,afterCritical:a});return Zi({pageBorderBoxCenter:i,draggable:t,viewport:o})},Wu=({state:e,dimensions:t,viewport:n})=>{e.movementMode!==\"SNAP\"&&_();let r=e.impact,o=n||e.viewport,a=t||e.dimensions,{draggables:i,droppables:s}=a,l=i[e.critical.draggable.id],u=gt(r);u||_();let f=s[u],d=$u({impact:r,viewport:o,destination:f,draggables:i}),c=Uu({impact:d,draggable:l,droppable:f,draggables:i,viewport:o,afterCritical:e.afterCritical});return Br({impact:d,clientSelection:c,state:e,dimensions:a,viewport:o})},Ev=e=>({index:e.index,droppableId:e.droppableId}),Gu=({draggable:e,home:t,draggables:n,viewport:r})=>{let o=jr(t.axis,e.displaceBy),a=qn(t.descriptor.id,n),i=a.indexOf(e);i===-1&&_();let s=a.slice(i+1),l=s.reduce((c,m)=>(c[m.descriptor.id]=!0,c),{}),u={inVirtualList:t.descriptor.mode===\"virtual\",displacedBy:o,effected:l};return{impact:{displaced:zr({afterDragging:s,destination:t,displacedBy:o,last:null,viewport:r.frame,forceShouldAnimate:!1}),displacedBy:o,at:{type:\"REORDER\",destination:Ev(e.descriptor)}},afterCritical:u}},Tv=(e,t)=>({draggables:e.draggables,droppables:Ri(e.droppables,t)}),Yr=e=>{},Kr=e=>{},kv=({draggable:e,offset:t,initialWindowScroll:n})=>{let r=Nr(e.client,t),o=Fr(r,n);return I(C({},e),{placeholder:I(C({},e.placeholder),{client:r}),client:r,page:o})},Nv=e=>{let t=e.frame;return t||_(),t},Fv=({additions:e,updatedDroppables:t,viewport:n})=>{let r=n.scroll.diff.value;return e.map(o=>{let a=o.descriptor.droppableId,i=t[a],l=Nv(i).scroll.diff.value,u=et(r,l);return kv({draggable:o,offset:u,initialWindowScroll:n.scroll.initial})})},Av=({state:e,published:t})=>{Yr();let n=t.modified.map(y=>{let b=e.dimensions.droppables[y.droppableId];return Yi(b,y.scroll)}),r=C(C({},e.dimensions.droppables),Du(n)),o=Iu(Fv({additions:t.additions,updatedDroppables:r,viewport:e.viewport})),a=C(C({},e.dimensions.draggables),o);t.removals.forEach(y=>{delete a[y]});let i={droppables:r,draggables:a},s=gt(e.impact),l=s?i.droppables[s]:null,u=i.draggables[e.critical.draggable.id],f=i.droppables[e.critical.droppable.id],{impact:d,afterCritical:c}=Gu({draggable:u,home:f,draggables:a,viewport:e.viewport}),m=l&&l.isCombineEnabled?e.impact:d,x=zu({pageOffset:e.current.page.offset,draggable:i.draggables[e.critical.draggable.id],draggables:i.draggables,droppables:i.droppables,previousImpact:m,viewport:e.viewport,afterCritical:c});Kr();let v=I(C({},e),{phase:\"DRAGGING\",impact:x,onLiftImpact:d,dimensions:i,afterCritical:c,forceShouldAnimate:!1});return e.phase===\"COLLECTING\"?v:I(C({},v),{phase:\"DROP_PENDING\",reason:e.reason,isWaiting:!1})},Ui=e=>e.movementMode===\"SNAP\",ki=(e,t,n)=>{let r=Tv(e.dimensions,t);return!Ui(e)||n?Br({state:e,dimensions:r}):Wu({state:e,dimensions:r})};function Ni(e){return e.isDragging&&e.movementMode===\"SNAP\"?I(C({},e),{scrollJumpRequest:null}):e}var nu={phase:\"IDLE\",completed:null,shouldFlush:!1},Pv=(e=nu,t)=>{if(t.type===\"FLUSH\")return I(C({},nu),{shouldFlush:!0});if(t.type===\"INITIAL_PUBLISH\"){e.phase!==\"IDLE\"&&_();let{critical:n,clientSelection:r,viewport:o,dimensions:a,movementMode:i}=t.payload,s=a.draggables[n.draggable.id],l=a.droppables[n.droppable.id],u={selection:r,borderBoxCenter:s.client.borderBox.center,offset:Xe},f={client:u,page:{selection:et(u.selection,o.scroll.initial),borderBoxCenter:et(u.selection,o.scroll.initial),offset:et(u.selection,o.scroll.diff.value)}},d=va(a.droppables).every(v=>!v.isFixedOnPage),{impact:c,afterCritical:m}=Gu({draggable:s,home:l,draggables:a.draggables,viewport:o});return{phase:\"DRAGGING\",isDragging:!0,critical:n,movementMode:i,dimensions:a,initial:f,current:f,isWindowScrollAllowed:d,impact:c,afterCritical:m,onLiftImpact:c,viewport:o,scrollJumpRequest:null,forceShouldAnimate:null}}if(t.type===\"COLLECTION_STARTING\")return e.phase===\"COLLECTING\"||e.phase===\"DROP_PENDING\"?e:(e.phase!==\"DRAGGING\"&&_(),I(C({},e),{phase:\"COLLECTING\"}));if(t.type===\"PUBLISH_WHILE_DRAGGING\")return e.phase===\"COLLECTING\"||e.phase===\"DROP_PENDING\"||_(),Av({state:e,published:t.payload});if(t.type===\"MOVE\"){if(e.phase===\"DROP_PENDING\")return e;wn(e)||_();let{client:n}=t.payload;return Xt(n,e.current.client.selection)?e:Br({state:e,clientSelection:n,impact:Ui(e)?e.impact:null})}if(t.type===\"UPDATE_DROPPABLE_SCROLL\"){if(e.phase===\"DROP_PENDING\"||e.phase===\"COLLECTING\")return Ni(e);wn(e)||_();let{id:n,newScroll:r}=t.payload,o=e.dimensions.droppables[n];if(!o)return e;let a=Yi(o,r);return ki(e,a,!1)}if(t.type===\"UPDATE_DROPPABLE_IS_ENABLED\"){if(e.phase===\"DROP_PENDING\")return e;wn(e)||_();let{id:n,isEnabled:r}=t.payload,o=e.dimensions.droppables[n];o||_(),o.isEnabled===r&&_();let a=I(C({},o),{isEnabled:r});return ki(e,a,!0)}if(t.type===\"UPDATE_DROPPABLE_IS_COMBINE_ENABLED\"){if(e.phase===\"DROP_PENDING\")return e;wn(e)||_();let{id:n,isCombineEnabled:r}=t.payload,o=e.dimensions.droppables[n];o||_(),o.isCombineEnabled===r&&_();let a=I(C({},o),{isCombineEnabled:r});return ki(e,a,!0)}if(t.type===\"MOVE_BY_WINDOW_SCROLL\"){if(e.phase===\"DROP_PENDING\"||e.phase===\"DROP_ANIMATING\")return e;wn(e)||_(),e.isWindowScrollAllowed||_();let n=t.payload.newScroll;if(Xt(e.viewport.scroll.current,n))return Ni(e);let r=Au(e.viewport,n);return Ui(e)?Wu({state:e,viewport:r}):Br({state:e,viewport:r})}if(t.type===\"UPDATE_VIEWPORT_MAX_SCROLL\"){if(!wn(e))return e;let n=t.payload.maxScroll;if(Xt(n,e.viewport.scroll.max))return e;let r=I(C({},e.viewport),{scroll:I(C({},e.viewport.scroll),{max:n})});return I(C({},e),{viewport:r})}if(t.type===\"MOVE_UP\"||t.type===\"MOVE_DOWN\"||t.type===\"MOVE_LEFT\"||t.type===\"MOVE_RIGHT\"){if(e.phase===\"COLLECTING\"||e.phase===\"DROP_PENDING\")return e;e.phase!==\"DRAGGING\"&&_();let n=gv({state:e,type:t.type});return n?Br({state:e,impact:n.impact,clientSelection:n.clientSelection,scrollJumpRequest:n.scrollJumpRequest}):e}if(t.type===\"DROP_PENDING\"){let n=t.payload.reason;return e.phase!==\"COLLECTING\"&&_(),I(C({},e),{phase:\"DROP_PENDING\",isWaiting:!0,reason:n})}if(t.type===\"DROP_ANIMATE\"){let{completed:n,dropDuration:r,newHomeClientOffset:o}=t.payload;return e.phase===\"DRAGGING\"||e.phase===\"DROP_PENDING\"||_(),{phase:\"DROP_ANIMATING\",completed:n,dropDuration:r,newHomeClientOffset:o,dimensions:e.dimensions}}if(t.type===\"DROP_COMPLETE\"){let{completed:n}=t.payload;return{phase:\"IDLE\",completed:n,shouldFlush:!1}}return e};function Se(e,t){return e instanceof Object&&\"type\"in e&&e.type===t}var _v=e=>({type:\"BEFORE_INITIAL_CAPTURE\",payload:e}),Bv=e=>({type:\"LIFT\",payload:e}),Lv=e=>({type:\"INITIAL_PUBLISH\",payload:e}),Mv=e=>({type:\"PUBLISH_WHILE_DRAGGING\",payload:e}),Vv=()=>({type:\"COLLECTION_STARTING\",payload:null}),zv=e=>({type:\"UPDATE_DROPPABLE_SCROLL\",payload:e}),$v=e=>({type:\"UPDATE_DROPPABLE_IS_ENABLED\",payload:e}),Uv=e=>({type:\"UPDATE_DROPPABLE_IS_COMBINE_ENABLED\",payload:e}),Hu=e=>({type:\"MOVE\",payload:e}),Wv=e=>({type:\"MOVE_BY_WINDOW_SCROLL\",payload:e}),Gv=e=>({type:\"UPDATE_VIEWPORT_MAX_SCROLL\",payload:e}),Hv=()=>({type:\"MOVE_UP\",payload:null}),qv=()=>({type:\"MOVE_DOWN\",payload:null}),jv=()=>({type:\"MOVE_RIGHT\",payload:null}),Yv=()=>({type:\"MOVE_LEFT\",payload:null}),es=()=>({type:\"FLUSH\",payload:null}),Kv=e=>({type:\"DROP_ANIMATE\",payload:e}),ts=e=>({type:\"DROP_COMPLETE\",payload:e}),qu=e=>({type:\"DROP\",payload:e}),Jv=e=>({type:\"DROP_PENDING\",payload:e}),ju=()=>({type:\"DROP_ANIMATION_FINISHED\",payload:null});var Xv=e=>({getState:t,dispatch:n})=>r=>o=>{if(!Se(o,\"LIFT\")){r(o);return}let{id:a,clientSelection:i,movementMode:s}=o.payload,l=t();l.phase===\"DROP_ANIMATING\"&&n(ts({completed:l.completed})),t().phase!==\"IDLE\"&&_(),n(es()),n(_v({draggableId:a,movementMode:s}));let f={draggableId:a,scrollOptions:{shouldPublishImmediately:s===\"SNAP\"}},{critical:d,dimensions:c,viewport:m}=e.startPublishing(f);n(Lv({critical:d,dimensions:c,clientSelection:i,movementMode:s,viewport:m}))},Qv=e=>()=>t=>n=>{Se(n,\"INITIAL_PUBLISH\")&&e.dragging(),Se(n,\"DROP_ANIMATE\")&&e.dropping(n.payload.completed.result.reason),(Se(n,\"FLUSH\")||Se(n,\"DROP_COMPLETE\"))&&e.resting(),t(n)},ns={outOfTheWay:\"cubic-bezier(0.2, 0, 0, 1)\",drop:\"cubic-bezier(.2,1,.1,1)\"},$r={opacity:{drop:0,combining:.7},scale:{drop:.75}},Yu={outOfTheWay:.2,minDropTime:.33,maxDropTime:.55},yn=\"\".concat(Yu.outOfTheWay,\"s \").concat(ns.outOfTheWay),Lr={fluid:\"opacity \".concat(yn),snap:\"transform \".concat(yn,\", opacity \").concat(yn),drop:e=>{let t=\"\".concat(e,\"s \").concat(ns.drop);return\"transform \".concat(t,\", opacity \").concat(t)},outOfTheWay:\"transform \".concat(yn),placeholder:\"height \".concat(yn,\", width \").concat(yn,\", margin \").concat(yn)},ru=e=>Xt(e,Xe)?void 0:\"translate(\".concat(e.x,\"px, \").concat(e.y,\"px)\"),Wi={moveTo:ru,drop:(e,t)=>{let n=ru(e);if(n)return t?\"\".concat(n,\" scale(\").concat($r.scale.drop,\")\"):n}},{minDropTime:Gi,maxDropTime:Ku}=Yu,Zv=Ku-Gi,ou=1500,Rv=.6,ey=({current:e,destination:t,reason:n})=>{let r=Mr(e,t);if(r<=0)return Gi;if(r>=ou)return Ku;let o=r/ou,a=Gi+Zv*o,i=n===\"CANCEL\"?a*Rv:a;return Number(i.toFixed(2))},ty=({impact:e,draggable:t,dimensions:n,viewport:r,afterCritical:o})=>{let{draggables:a,droppables:i}=n,s=gt(e),l=s?i[s]:null,u=i[t.descriptor.droppableId],f=Uu({impact:e,draggable:t,draggables:a,afterCritical:o,droppable:l||u,viewport:r});return mt(f,t.client.borderBox.center)},ny=({draggables:e,reason:t,lastImpact:n,home:r,viewport:o,onLiftImpact:a})=>!n.at||t!==\"DROP\"?{impact:$u({draggables:e,impact:a,destination:r,viewport:o,forceShouldAnimate:!0}),didDropInsideDroppable:!1}:n.at.type===\"REORDER\"?{impact:n,didDropInsideDroppable:!0}:{impact:I(C({},n),{displaced:Vr}),didDropInsideDroppable:!0},ry=({getState:e,dispatch:t})=>n=>r=>{if(!Se(r,\"DROP\")){n(r);return}let o=e(),a=r.payload.reason;if(o.phase===\"COLLECTING\"){t(Jv({reason:a}));return}if(o.phase===\"IDLE\")return;o.phase===\"DROP_PENDING\"&&o.isWaiting&&_(),o.phase===\"DRAGGING\"||o.phase===\"DROP_PENDING\"||_();let s=o.critical,l=o.dimensions,u=l.draggables[o.critical.draggable.id],{impact:f,didDropInsideDroppable:d}=ny({reason:a,lastImpact:o.impact,afterCritical:o.afterCritical,onLiftImpact:o.onLiftImpact,home:o.dimensions.droppables[o.critical.droppable.id],viewport:o.viewport,draggables:o.dimensions.draggables}),c=d?Ki(f):null,m=d?ya(f):null,x={index:s.draggable.index,droppableId:s.droppable.id},v={draggableId:u.descriptor.id,type:u.descriptor.type,source:x,reason:a,mode:o.movementMode,destination:c,combine:m},h=ty({impact:f,draggable:u,dimensions:l,viewport:o.viewport,afterCritical:o.afterCritical}),y={critical:o.critical,afterCritical:o.afterCritical,result:v,impact:f};if(!(!Xt(o.current.client.offset,h)||!!v.combine)){t(ts({completed:y}));return}let O=ey({current:o.current.client.offset,destination:h,reason:a});t(Kv({newHomeClientOffset:h,dropDuration:O,completed:y}))},Ju=()=>({x:window.pageXOffset,y:window.pageYOffset});function oy(e){return{eventName:\"scroll\",options:{passive:!0,capture:!1},fn:t=>{t.target!==window&&t.target!==window.document||e()}}}function ay({onWindowScroll:e}){function t(){e(Ju())}let n=$n(t),r=oy(n),o=Jt;function a(){return o!==Jt}function i(){a()&&_(),o=Ot(window,[r])}function s(){a()||_(),n.cancel(),o(),o=Jt}return{start:i,stop:s,isActive:a}}var iy=e=>Se(e,\"DROP_COMPLETE\")||Se(e,\"DROP_ANIMATE\")||Se(e,\"FLUSH\"),sy=e=>{let t=ay({onWindowScroll:n=>{e.dispatch(Wv({newScroll:n}))}});return n=>r=>{!t.isActive()&&Se(r,\"INITIAL_PUBLISH\")&&t.start(),t.isActive()&&iy(r)&&t.stop(),n(r)}},ly=e=>{let t=!1,n=!1,r=setTimeout(()=>{n=!0}),o=a=>{t||n||(t=!0,e(a),clearTimeout(r))};return o.wasCalled=()=>t,o},dy=()=>{let e=[],t=o=>{let a=e.findIndex(s=>s.timerId===o);a===-1&&_();let[i]=e.splice(a,1);i.callback()};return{add:o=>{let a=setTimeout(()=>t(a)),i={timerId:a,callback:o};e.push(i)},flush:()=>{if(!e.length)return;let o=[...e];e.length=0,o.forEach(a=>{clearTimeout(a.timerId),a.callback()})}}},cy=(e,t)=>e==null&&t==null?!0:e==null||t==null?!1:e.droppableId===t.droppableId&&e.index===t.index,uy=(e,t)=>e==null&&t==null?!0:e==null||t==null?!1:e.draggableId===t.draggableId&&e.droppableId===t.droppableId,fy=(e,t)=>{if(e===t)return!0;let n=e.draggable.id===t.draggable.id&&e.draggable.droppableId===t.draggable.droppableId&&e.draggable.type===t.draggable.type&&e.draggable.index===t.draggable.index,r=e.droppable.id===t.droppable.id&&e.droppable.type===t.droppable.type;return n&&r},Ar=(e,t)=>{Yr(),t(),Kr()},fa=(e,t)=>({draggableId:e.draggable.id,type:e.droppable.type,source:{droppableId:e.droppable.id,index:e.draggable.index},mode:t});function Fi(e,t,n,r){if(!e){n(r(t));return}let o=ly(n);e(t,{announce:o}),o.wasCalled()||n(r(t))}var py=(e,t)=>{let n=dy(),r=null,o=(d,c)=>{r&&_(),Ar(\"onBeforeCapture\",()=>{let m=e().onBeforeCapture;m&&m({draggableId:d,mode:c})})},a=(d,c)=>{r&&_(),Ar(\"onBeforeDragStart\",()=>{let m=e().onBeforeDragStart;m&&m(fa(d,c))})},i=(d,c)=>{r&&_();let m=fa(d,c);r={mode:c,lastCritical:d,lastLocation:m.source,lastCombine:null},n.add(()=>{Ar(\"onDragStart\",()=>Fi(e().onDragStart,m,t,ga.onDragStart))})},s=(d,c)=>{let m=Ki(c),x=ya(c);r||_();let v=!fy(d,r.lastCritical);v&&(r.lastCritical=d);let h=!cy(r.lastLocation,m);h&&(r.lastLocation=m);let y=!uy(r.lastCombine,x);if(y&&(r.lastCombine=x),!v&&!h&&!y)return;let b=I(C({},fa(d,r.mode)),{combine:x,destination:m});n.add(()=>{Ar(\"onDragUpdate\",()=>Fi(e().onDragUpdate,b,t,ga.onDragUpdate))})},l=()=>{r||_(),n.flush()},u=d=>{r||_(),r=null,Ar(\"onDragEnd\",()=>Fi(e().onDragEnd,d,t,ga.onDragEnd))};return{beforeCapture:o,beforeStart:a,start:i,update:s,flush:l,drop:u,abort:()=>{if(!r)return;let d=I(C({},fa(r.lastCritical,r.mode)),{combine:null,destination:null,reason:\"CANCEL\"});u(d)}}},my=(e,t)=>{let n=py(e,t);return r=>o=>a=>{if(Se(a,\"BEFORE_INITIAL_CAPTURE\")){n.beforeCapture(a.payload.draggableId,a.payload.movementMode);return}if(Se(a,\"INITIAL_PUBLISH\")){let s=a.payload.critical;n.beforeStart(s,a.payload.movementMode),o(a),n.start(s,a.payload.movementMode);return}if(Se(a,\"DROP_COMPLETE\")){let s=a.payload.completed.result;n.flush(),o(a),n.drop(s);return}if(o(a),Se(a,\"FLUSH\")){n.abort();return}let i=r.getState();i.phase===\"DRAGGING\"&&n.update(i.critical,i.impact)}},gy=e=>t=>n=>{if(!Se(n,\"DROP_ANIMATION_FINISHED\")){t(n);return}let r=e.getState();r.phase!==\"DROP_ANIMATING\"&&_(),e.dispatch(ts({completed:r.completed}))},hy=e=>{let t=null,n=null;function r(){n&&(cancelAnimationFrame(n),n=null),t&&(t(),t=null)}return o=>a=>{if((Se(a,\"FLUSH\")||Se(a,\"DROP_COMPLETE\")||Se(a,\"DROP_ANIMATION_FINISHED\"))&&r(),o(a),!Se(a,\"DROP_ANIMATE\"))return;let i={eventName:\"scroll\",options:{capture:!0,passive:!1,once:!0},fn:function(){e.getState().phase===\"DROP_ANIMATING\"&&e.dispatch(ju())}};n=requestAnimationFrame(()=>{n=null,t=Ot(window,[i])})}},by=e=>()=>t=>n=>{(Se(n,\"DROP_COMPLETE\")||Se(n,\"FLUSH\")||Se(n,\"DROP_ANIMATE\"))&&e.stopPublishing(),t(n)},xy=e=>{let t=!1;return()=>n=>r=>{if(Se(r,\"INITIAL_PUBLISH\")){t=!0,e.tryRecordFocus(r.payload.critical.draggable.id),n(r),e.tryRestoreFocusRecorded();return}if(n(r),!!t){if(Se(r,\"FLUSH\")){t=!1,e.tryRestoreFocusRecorded();return}if(Se(r,\"DROP_COMPLETE\")){t=!1;let o=r.payload.completed.result;o.combine&&e.tryShiftRecord(o.draggableId,o.combine.draggableId),e.tryRestoreFocusRecorded()}}}},vy=e=>Se(e,\"DROP_COMPLETE\")||Se(e,\"DROP_ANIMATE\")||Se(e,\"FLUSH\"),yy=e=>t=>n=>r=>{if(vy(r)){e.stop(),n(r);return}if(Se(r,\"INITIAL_PUBLISH\")){n(r);let o=t.getState();o.phase!==\"DRAGGING\"&&_(),e.start(o);return}n(r),e.scroll(t.getState())},wy=e=>t=>n=>{if(t(n),!Se(n,\"PUBLISH_WHILE_DRAGGING\"))return;let r=e.getState();r.phase===\"DROP_PENDING\"&&(r.isWaiting||e.dispatch(qu({reason:r.reason})))},Cy=hi,Sy=({dimensionMarshal:e,focusMarshal:t,styleMarshal:n,getResponders:r,announce:o,autoScroller:a})=>mi(Pv,Cy(Ec(Qv(n),by(e),Xv(e),ry,gy,hy,wy,yy(a),sy,xy(t),my(r,o)))),Ai=()=>({additions:{},removals:{},modified:{}});function Oy({registry:e,callbacks:t}){let n=Ai(),r=null,o=()=>{r||(t.collectionStarting(),r=requestAnimationFrame(()=>{r=null,Yr();let{additions:l,removals:u,modified:f}=n,d=Object.keys(l).map(x=>e.draggable.getById(x).getDimension(Xe)).sort((x,v)=>x.descriptor.index-v.descriptor.index),c=Object.keys(f).map(x=>{let h=e.droppable.getById(x).callbacks.getScrollWhileDragging();return{droppableId:x,scroll:h}}),m={additions:d,removals:Object.keys(u),modified:c};n=Ai(),Kr(),t.publish(m)}))};return{add:l=>{let u=l.descriptor.id;n.additions[u]=l,n.modified[l.descriptor.droppableId]=!0,n.removals[u]&&delete n.removals[u],o()},remove:l=>{let u=l.descriptor;n.removals[u.id]=!0,n.modified[u.droppableId]=!0,n.additions[u.id]&&delete n.additions[u.id],o()},stop:()=>{r&&(cancelAnimationFrame(r),r=null,n=Ai())}}}var Xu=({scrollHeight:e,scrollWidth:t,height:n,width:r})=>{let o=mt({x:t,y:e},{x:r,y:n});return{x:Math.max(0,o.x),y:Math.max(0,o.y)}},Qu=()=>{let e=document.documentElement;return e||_(),e},Zu=()=>{let e=Qu();return Xu({scrollHeight:e.scrollHeight,scrollWidth:e.scrollWidth,width:e.clientWidth,height:e.clientHeight})},Dy=()=>{let e=Ju(),t=Zu(),n=e.y,r=e.x,o=Qu(),a=o.clientWidth,i=o.clientHeight,s=r+a,l=n+i;return{frame:St({top:n,left:r,right:s,bottom:l}),scroll:{initial:e,current:e,max:t,diff:{value:Xe,displacement:Xe}}}},Iy=({critical:e,scrollOptions:t,registry:n})=>{Yr();let r=Dy(),o=r.scroll.current,a=e.droppable,i=n.droppable.getAllByType(a.type).map(f=>f.callbacks.getDimensionAndWatchScroll(o,t)),s=n.draggable.getAllByType(e.draggable.type).map(f=>f.getDimension(o)),l={draggables:Iu(s),droppables:Du(i)};return Kr(),{dimensions:l,critical:e,viewport:r}};function au(e,t,n){return!(n.descriptor.id===t.id||n.descriptor.type!==t.type||e.droppable.getById(n.descriptor.droppableId).descriptor.mode!==\"virtual\")}var Ey=(e,t)=>{let n=null,r=Oy({callbacks:{publish:t.publishWhileDragging,collectionStarting:t.collectionStarting},registry:e}),o=(c,m)=>{e.droppable.exists(c)||_(),n&&t.updateDroppableIsEnabled({id:c,isEnabled:m})},a=(c,m)=>{n&&(e.droppable.exists(c)||_(),t.updateDroppableIsCombineEnabled({id:c,isCombineEnabled:m}))},i=(c,m)=>{n&&(e.droppable.exists(c)||_(),t.updateDroppableScroll({id:c,newScroll:m}))},s=(c,m)=>{n&&e.droppable.getById(c).callbacks.scroll(m)},l=()=>{if(!n)return;r.stop();let c=n.critical.droppable;e.droppable.getAllByType(c.type).forEach(m=>m.callbacks.dragStopped()),n.unsubscribe(),n=null},u=c=>{n||_();let m=n.critical.draggable;c.type===\"ADDITION\"&&au(e,m,c.value)&&r.add(c.value),c.type===\"REMOVAL\"&&au(e,m,c.value)&&r.remove(c.value)};return{updateDroppableIsEnabled:o,updateDroppableIsCombineEnabled:a,scrollDroppable:s,updateDroppableScroll:i,startPublishing:c=>{n&&_();let m=e.draggable.getById(c.draggableId),x=e.droppable.getById(m.descriptor.droppableId),v={draggable:m.descriptor,droppable:x.descriptor},h=e.subscribe(u);return n={critical:v,unsubscribe:h},Iy({critical:v,registry:e,scrollOptions:c.scrollOptions})},stopPublishing:l}},Ru=(e,t)=>e.phase===\"IDLE\"?!0:e.phase!==\"DROP_ANIMATING\"||e.completed.result.draggableId===t?!1:e.completed.result.reason===\"DROP\",Ty=e=>{window.scrollBy(e.x,e.y)},ky=Je(e=>va(e).filter(t=>!(!t.isEnabled||!t.frame))),Ny=(e,t)=>ky(t).find(r=>(r.frame||_(),Lu(r.frame.pageMarginBox)(e)))||null,Fy=({center:e,destination:t,droppables:n})=>{if(t){let o=n[t];return o.frame?o:null}return Ny(e,n)},Ur={startFromPercentage:.25,maxScrollAtPercentage:.05,maxPixelScroll:28,ease:e=>e**2,durationDampening:{stopDampeningAt:1200,accelerateAt:360},disabled:!1},Ay=(e,t,n=()=>Ur)=>{let r=n(),o=e[t.size]*r.startFromPercentage,a=e[t.size]*r.maxScrollAtPercentage;return{startScrollingFrom:o,maxScrollValueAt:a}},ef=({startOfRange:e,endOfRange:t,current:n})=>{let r=t-e;return r===0?0:(n-e)/r},rs=1,Py=(e,t,n=()=>Ur)=>{let r=n();if(e>t.startScrollingFrom)return 0;if(e<=t.maxScrollValueAt)return r.maxPixelScroll;if(e===t.startScrollingFrom)return rs;let a=1-ef({startOfRange:t.maxScrollValueAt,endOfRange:t.startScrollingFrom,current:e}),i=r.maxPixelScroll*r.ease(a);return Math.ceil(i)},_y=(e,t,n)=>{let r=n(),o=r.durationDampening.accelerateAt,a=r.durationDampening.stopDampeningAt,i=t,s=a,u=Date.now()-i;if(u>=a)return e;if(u{let a=Py(e,t,o);return a===0?0:r?Math.max(_y(a,n,o),rs):a},su=({container:e,distanceToEdges:t,dragStartTime:n,axis:r,shouldUseTimeDampening:o,getAutoScrollerOptions:a})=>{let i=Ay(e,r,a);return t[r.end]{let r=t.height>e.height,o=t.width>e.width;return!o&&!r?n:o&&r?null:{x:o?0:n.x,y:r?0:n.y}},Ly=Ou(e=>e===0?0:e),tf=({dragStartTime:e,container:t,subject:n,center:r,shouldUseTimeDampening:o,getAutoScrollerOptions:a})=>{let i={top:r.y-t.top,right:t.right-r.x,bottom:t.bottom-r.y,left:r.x-t.left},s=su({container:t,distanceToEdges:i,dragStartTime:e,axis:Ji,shouldUseTimeDampening:o,getAutoScrollerOptions:a}),l=su({container:t,distanceToEdges:i,dragStartTime:e,axis:ku,shouldUseTimeDampening:o,getAutoScrollerOptions:a}),u=Ly({x:l,y:s});if(Xt(u,Xe))return null;let f=By({container:t,subject:n,proposedScroll:u});return f?Xt(f,Xe)?null:f:null},My=Ou(e=>e===0?0:e>0?1:-1),os=(()=>{let e=(t,n)=>t<0?t:t>n?t-n:0;return({current:t,max:n,change:r})=>{let o=et(t,r),a={x:e(o.x,n.x),y:e(o.y,n.y)};return Xt(a,Xe)?null:a}})(),nf=({max:e,current:t,change:n})=>{let r={x:Math.max(t.x,e.x),y:Math.max(t.y,e.y)},o=My(n),a=os({max:r,current:t,change:o});return!a||o.x!==0&&a.x===0||o.y!==0&&a.y===0},as=(e,t)=>nf({current:e.scroll.current,max:e.scroll.max,change:t}),Vy=(e,t)=>{if(!as(e,t))return null;let n=e.scroll.max,r=e.scroll.current;return os({current:r,max:n,change:t})},is=(e,t)=>{let n=e.frame;return n?nf({current:n.scroll.current,max:n.scroll.max,change:t}):!1},zy=(e,t)=>{let n=e.frame;return!n||!is(e,t)?null:os({current:n.scroll.current,max:n.scroll.max,change:t})},$y=({viewport:e,subject:t,center:n,dragStartTime:r,shouldUseTimeDampening:o,getAutoScrollerOptions:a})=>{let i=tf({dragStartTime:r,container:e.frame,subject:t,center:n,shouldUseTimeDampening:o,getAutoScrollerOptions:a});return i&&as(e,i)?i:null},Uy=({droppable:e,subject:t,center:n,dragStartTime:r,shouldUseTimeDampening:o,getAutoScrollerOptions:a})=>{let i=e.frame;if(!i)return null;let s=tf({dragStartTime:r,container:i.pageMarginBox,subject:t,center:n,shouldUseTimeDampening:o,getAutoScrollerOptions:a});return s&&is(e,s)?s:null},lu=({state:e,dragStartTime:t,shouldUseTimeDampening:n,scrollWindow:r,scrollDroppable:o,getAutoScrollerOptions:a})=>{let i=e.current.page.borderBoxCenter,l=e.dimensions.draggables[e.critical.draggable.id].page.marginBox;if(e.isWindowScrollAllowed){let d=e.viewport,c=$y({dragStartTime:t,viewport:d,subject:l,center:i,shouldUseTimeDampening:n,getAutoScrollerOptions:a});if(c){r(c);return}}let u=Fy({center:i,destination:gt(e.impact),droppables:e.dimensions.droppables});if(!u)return;let f=Uy({dragStartTime:t,droppable:u,subject:l,center:i,shouldUseTimeDampening:n,getAutoScrollerOptions:a});f&&o(u.descriptor.id,f)},Wy=({scrollWindow:e,scrollDroppable:t,getAutoScrollerOptions:n=()=>Ur})=>{let r=$n(e),o=$n(t),a=null,i=u=>{a||_();let{shouldUseTimeDampening:f,dragStartTime:d}=a;lu({state:u,scrollWindow:r,scrollDroppable:o,dragStartTime:d,shouldUseTimeDampening:f,getAutoScrollerOptions:n})};return{start:u=>{Yr(),a&&_();let f=Date.now(),d=!1,c=()=>{d=!0};lu({state:u,dragStartTime:0,shouldUseTimeDampening:!1,scrollWindow:c,scrollDroppable:c,getAutoScrollerOptions:n}),a={dragStartTime:f,shouldUseTimeDampening:d},Kr(),d&&i(u)},stop:()=>{a&&(r.cancel(),o.cancel(),a=null)},scroll:i}},Gy=({move:e,scrollDroppable:t,scrollWindow:n})=>{let r=(s,l)=>{let u=et(s.current.client.selection,l);e({client:u})},o=(s,l)=>{if(!is(s,l))return l;let u=zy(s,l);if(!u)return t(s.descriptor.id,l),null;let f=mt(l,u);return t(s.descriptor.id,f),mt(l,f)},a=(s,l,u)=>{if(!s||!as(l,u))return u;let f=Vy(l,u);if(!f)return n(u),null;let d=mt(u,f);return n(d),mt(u,d)};return s=>{let l=s.scrollJumpRequest;if(!l)return;let u=gt(s.impact);u||_();let f=o(s.dimensions.droppables[u],l);if(!f)return;let d=s.viewport,c=a(s.isWindowScrollAllowed,d,f);c&&r(s,c)}},Hy=({scrollDroppable:e,scrollWindow:t,move:n,getAutoScrollerOptions:r})=>{let o=Wy({scrollWindow:t,scrollDroppable:e,getAutoScrollerOptions:r}),a=Gy({move:n,scrollWindow:t,scrollDroppable:e});return{scroll:l=>{if(!(r().disabled||l.phase!==\"DRAGGING\")){if(l.movementMode===\"FLUID\"){o.scroll(l);return}l.scrollJumpRequest&&a(l)}},start:o.start,stop:o.stop}},Wn=\"data-rfd\",Gn=(()=>{let e=\"\".concat(Wn,\"-drag-handle\");return{base:e,draggableId:\"\".concat(e,\"-draggable-id\"),contextId:\"\".concat(e,\"-context-id\")}})(),Hi=(()=>{let e=\"\".concat(Wn,\"-draggable\");return{base:e,contextId:\"\".concat(e,\"-context-id\"),id:\"\".concat(e,\"-id\")}})(),qy=(()=>{let e=\"\".concat(Wn,\"-droppable\");return{base:e,contextId:\"\".concat(e,\"-context-id\"),id:\"\".concat(e,\"-id\")}})(),du={contextId:\"\".concat(Wn,\"-scroll-container-context-id\")},jy=e=>t=>\"[\".concat(t,'=\"').concat(e,'\"]'),Pr=(e,t)=>e.map(n=>{let r=n.styles[t];return r?\"\".concat(n.selector,\" { \").concat(r,\" }\"):\"\"}).join(\" \"),Yy=\"pointer-events: none;\",Ky=e=>{let t=jy(e),n=(()=>{let s=\"\\n cursor: -webkit-grab;\\n cursor: grab;\\n \";return{selector:t(Gn.contextId),styles:{always:\"\\n -webkit-touch-callout: none;\\n -webkit-tap-highlight-color: rgba(0,0,0,0);\\n touch-action: manipulation;\\n \",resting:s,dragging:Yy,dropAnimating:s}}})(),r=(()=>{let s=\"\\n transition: \".concat(Lr.outOfTheWay,\";\\n \");return{selector:t(Hi.contextId),styles:{dragging:s,dropAnimating:s,userCancel:s}}})(),o={selector:t(qy.contextId),styles:{always:\"overflow-anchor: none;\"}},i=[r,n,o,{selector:\"body\",styles:{dragging:\"\\n cursor: grabbing;\\n cursor: -webkit-grabbing;\\n user-select: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n overflow-anchor: none;\\n \"}}];return{always:Pr(i,\"always\"),resting:Pr(i,\"resting\"),dragging:Pr(i,\"dragging\"),dropAnimating:Pr(i,\"dropAnimating\"),userCancel:Pr(i,\"userCancel\")}},ht=typeof window<\"u\"&&typeof window.document<\"u\"&&typeof window.document.createElement<\"u\"?G.useLayoutEffect:G.useEffect,Pi=()=>{let e=document.querySelector(\"head\");return e||_(),e},cu=e=>{let t=document.createElement(\"style\");return e&&t.setAttribute(\"nonce\",e),t.type=\"text/css\",t};function Jy(e,t){let n=be(()=>Ky(e),[e]),r=(0,G.useRef)(null),o=(0,G.useRef)(null),a=X(Je(d=>{let c=o.current;c||_(),c.textContent=d}),[]),i=X(d=>{let c=r.current;c||_(),c.textContent=d},[]);ht(()=>{!r.current&&!o.current||_();let d=cu(t),c=cu(t);return r.current=d,o.current=c,d.setAttribute(\"\".concat(Wn,\"-always\"),e),c.setAttribute(\"\".concat(Wn,\"-dynamic\"),e),Pi().appendChild(d),Pi().appendChild(c),i(n.always),a(n.resting),()=>{let m=x=>{let v=x.current;v||_(),Pi().removeChild(v),x.current=null};m(r),m(o)}},[t,i,a,n.always,n.resting,e]);let s=X(()=>a(n.dragging),[a,n.dragging]),l=X(d=>{if(d===\"DROP\"){a(n.dropAnimating);return}a(n.userCancel)},[a,n.dropAnimating,n.userCancel]),u=X(()=>{o.current&&a(n.resting)},[a,n.resting]);return be(()=>({dragging:s,dropping:l,resting:u}),[s,l,u])}function rf(e,t){return Array.from(e.querySelectorAll(t))}var of=e=>e&&e.ownerDocument&&e.ownerDocument.defaultView?e.ownerDocument.defaultView:window;function Jr(e){return e instanceof of(e).HTMLElement}function af(e,t){let n=\"[\".concat(Gn.contextId,'=\"').concat(e,'\"]'),r=rf(document,n);if(!r.length)return null;let o=r.find(a=>a.getAttribute(Gn.draggableId)===t);return!o||!Jr(o)?null:o}function Xy(e){let t=(0,G.useRef)({}),n=(0,G.useRef)(null),r=(0,G.useRef)(null),o=(0,G.useRef)(!1),a=X(function(c,m){let x={id:c,focus:m};return t.current[c]=x,function(){let h=t.current;h[c]!==x&&delete h[c]}},[]),i=X(function(c){let m=af(e,c);m&&m!==document.activeElement&&m.focus()},[e]),s=X(function(c,m){n.current===c&&(n.current=m)},[]),l=X(function(){r.current||o.current&&(r.current=requestAnimationFrame(()=>{r.current=null;let c=n.current;c&&i(c)}))},[i]),u=X(function(c){n.current=null;let m=document.activeElement;m&&m.getAttribute(Gn.draggableId)===c&&(n.current=c)},[]);return ht(()=>(o.current=!0,function(){o.current=!1;let c=r.current;c&&cancelAnimationFrame(c)}),[]),be(()=>({register:a,tryRecordFocus:u,tryRestoreFocusRecorded:l,tryShiftRecord:s}),[a,u,l,s])}function Qy(){let e={draggables:{},droppables:{}},t=[];function n(d){return t.push(d),function(){let m=t.indexOf(d);m!==-1&&t.splice(m,1)}}function r(d){t.length&&t.forEach(c=>c(d))}function o(d){return e.draggables[d]||null}function a(d){let c=o(d);return c||_(),c}let i={register:d=>{e.draggables[d.descriptor.id]=d,r({type:\"ADDITION\",value:d})},update:(d,c)=>{let m=e.draggables[c.descriptor.id];m&&m.uniqueId===d.uniqueId&&(delete e.draggables[c.descriptor.id],e.draggables[d.descriptor.id]=d)},unregister:d=>{let c=d.descriptor.id,m=o(c);m&&d.uniqueId===m.uniqueId&&(delete e.draggables[c],e.droppables[d.descriptor.droppableId]&&r({type:\"REMOVAL\",value:d}))},getById:a,findById:o,exists:d=>!!o(d),getAllByType:d=>Object.values(e.draggables).filter(c=>c.descriptor.type===d)};function s(d){return e.droppables[d]||null}function l(d){let c=s(d);return c||_(),c}let u={register:d=>{e.droppables[d.descriptor.id]=d},unregister:d=>{let c=s(d.descriptor.id);c&&d.uniqueId===c.uniqueId&&delete e.droppables[d.descriptor.id]},getById:l,findById:s,exists:d=>!!s(d),getAllByType:d=>Object.values(e.droppables).filter(c=>c.descriptor.type===d)};function f(){e.draggables={},e.droppables={},t.length=0}return{draggable:i,droppable:u,subscribe:n,clean:f}}function Zy(){let e=be(Qy,[]);return(0,G.useEffect)(()=>function(){e.clean()},[e]),e}var ss=G.default.createContext(null),Wr=()=>{let e=document.body;return e||_(),e},Ry={position:\"absolute\",width:\"1px\",height:\"1px\",margin:\"-1px\",border:\"0\",padding:\"0\",overflow:\"hidden\",clip:\"rect(0 0 0 0)\",\"clip-path\":\"inset(100%)\"},e0=e=>\"rfd-announcement-\".concat(e);function t0(e){let t=be(()=>e0(e),[e]),n=(0,G.useRef)(null);return(0,G.useEffect)(function(){let a=document.createElement(\"div\");return n.current=a,a.id=t,a.setAttribute(\"aria-live\",\"assertive\"),a.setAttribute(\"aria-atomic\",\"true\"),ee(a.style,Ry),Wr().appendChild(a),function(){setTimeout(function(){let l=Wr();l.contains(a)&&l.removeChild(a),a===n.current&&(n.current=null)})}},[t]),X(o=>{let a=n.current;if(a){a.textContent=o;return}},[])}var n0={separator:\"::\"};function ls(e,t=n0){let n=G.default.useId();return be(()=>\"\".concat(e).concat(t.separator).concat(n),[t.separator,e,n])}function r0({contextId:e,uniqueId:t}){return\"rfd-hidden-text-\".concat(e,\"-\").concat(t)}function o0({contextId:e,text:t}){let n=ls(\"hidden-text\",{separator:\"-\"}),r=be(()=>r0({contextId:e,uniqueId:n}),[n,e]);return(0,G.useEffect)(function(){let a=document.createElement(\"div\");return a.id=r,a.textContent=t,a.style.display=\"none\",Wr().appendChild(a),function(){let s=Wr();s.contains(a)&&s.removeChild(a)}},[r,t]),r}var Sa=G.default.createContext(null),a0={react:\"^18.0.0 || ^19.0.0\"},i0=/(\\d+)\\.(\\d+)\\.(\\d+)/,uu=e=>{let t=i0.exec(e);t==null&&_();let n=Number(t[1]),r=Number(t[2]),o=Number(t[3]);return{major:n,minor:r,patch:o,raw:e}},s0=(e,t)=>t.major>e.major?!0:t.majore.minor?!0:t.minor=e.patch,l0=(e,t)=>{let n=uu(e),r=uu(t);s0(n,r)};var d0=e=>{let t=e.doctype;t&&(t.name.toLowerCase(),t.publicId)};function Xr(e,t){}function c0(){Xr(()=>{l0(a0.react,G.default.version),d0(document)},[])}function ds(e){let t=(0,G.useRef)(e);return(0,G.useEffect)(()=>{t.current=e}),t}function u0(){let e=null;function t(){return!!e}function n(i){return i===e}function r(i){e&&_();let s={abandon:i};return e=s,s}function o(){e||_(),e=null}function a(){e&&(e.abandon(),o())}return{isClaimed:t,isActive:n,claim:r,release:o,tryAbandon:a}}function Gr(e){return e.phase===\"IDLE\"||e.phase===\"DROP_ANIMATING\"?!1:e.isDragging}var f0=9,p0=13,cs=27,sf=32,m0=33,g0=34,h0=35,b0=36,x0=37,v0=38,y0=39,w0=40,C0={[p0]:!0,[f0]:!0},lf=e=>{C0[e.keyCode]&&e.preventDefault()},Oa=(()=>{let e=\"visibilitychange\";return typeof document>\"u\"?e:[e,\"ms\".concat(e),\"webkit\".concat(e),\"moz\".concat(e),\"o\".concat(e)].find(r=>\"on\".concat(r)in document)||e})(),df=0,fu=5;function S0(e,t){return Math.abs(t.x-e.x)>=fu||Math.abs(t.y-e.y)>=fu}var pu={type:\"IDLE\"};function O0({cancel:e,completed:t,getPhase:n,setPhase:r}){return[{eventName:\"mousemove\",fn:o=>{let{button:a,clientX:i,clientY:s}=o;if(a!==df)return;let l={x:i,y:s},u=n();if(u.type===\"DRAGGING\"){o.preventDefault(),u.actions.move(l);return}u.type!==\"PENDING\"&&_();let f=u.point;if(!S0(f,l))return;o.preventDefault();let d=u.actions.fluidLift(l);r({type:\"DRAGGING\",actions:d})}},{eventName:\"mouseup\",fn:o=>{let a=n();if(a.type!==\"DRAGGING\"){e();return}o.preventDefault(),a.actions.drop({shouldBlockNextClick:!0}),t()}},{eventName:\"mousedown\",fn:o=>{n().type===\"DRAGGING\"&&o.preventDefault(),e()}},{eventName:\"keydown\",fn:o=>{if(n().type===\"PENDING\"){e();return}if(o.keyCode===cs){o.preventDefault(),e();return}lf(o)}},{eventName:\"resize\",fn:e},{eventName:\"scroll\",options:{passive:!0,capture:!1},fn:()=>{n().type===\"PENDING\"&&e()}},{eventName:\"webkitmouseforcedown\",fn:o=>{let a=n();if(a.type===\"IDLE\"&&_(),a.actions.shouldRespectForcePress()){e();return}o.preventDefault()}},{eventName:Oa,fn:e}]}function D0(e){let t=(0,G.useRef)(pu),n=(0,G.useRef)(Jt),r=be(()=>({eventName:\"mousedown\",fn:function(d){if(d.defaultPrevented||d.button!==df||d.ctrlKey||d.metaKey||d.shiftKey||d.altKey)return;let c=e.findClosestDraggableId(d);if(!c)return;let m=e.tryGetLock(c,i,{sourceEvent:d});if(!m)return;d.preventDefault();let x={x:d.clientX,y:d.clientY};n.current(),u(m,x)}}),[e]),o=be(()=>({eventName:\"webkitmouseforcewillbegin\",fn:f=>{if(f.defaultPrevented)return;let d=e.findClosestDraggableId(f);if(!d)return;let c=e.findOptionsForDraggable(d);c&&(c.shouldRespectForcePress||e.canGetLock(d)&&f.preventDefault())}}),[e]),a=X(function(){let d={passive:!1,capture:!0};n.current=Ot(window,[o,r],d)},[o,r]),i=X(()=>{t.current.type!==\"IDLE\"&&(t.current=pu,n.current(),a())},[a]),s=X(()=>{let f=t.current;i(),f.type===\"DRAGGING\"&&f.actions.cancel({shouldBlockNextClick:!0}),f.type===\"PENDING\"&&f.actions.abort()},[i]),l=X(function(){let d={capture:!0,passive:!1},c=O0({cancel:s,completed:i,getPhase:()=>t.current,setPhase:m=>{t.current=m}});n.current=Ot(window,c,d)},[s,i]),u=X(function(d,c){t.current.type!==\"IDLE\"&&_(),t.current={type:\"PENDING\",point:c,actions:d},l()},[l]);ht(function(){return a(),function(){n.current()}},[a])}function I0(){}var E0={[g0]:!0,[m0]:!0,[b0]:!0,[h0]:!0};function T0(e,t){function n(){t(),e.cancel()}function r(){t(),e.drop()}return[{eventName:\"keydown\",fn:o=>{if(o.keyCode===cs){o.preventDefault(),n();return}if(o.keyCode===sf){o.preventDefault(),r();return}if(o.keyCode===w0){o.preventDefault(),e.moveDown();return}if(o.keyCode===v0){o.preventDefault(),e.moveUp();return}if(o.keyCode===y0){o.preventDefault(),e.moveRight();return}if(o.keyCode===x0){o.preventDefault(),e.moveLeft();return}if(E0[o.keyCode]){o.preventDefault();return}lf(o)}},{eventName:\"mousedown\",fn:n},{eventName:\"mouseup\",fn:n},{eventName:\"click\",fn:n},{eventName:\"touchstart\",fn:n},{eventName:\"resize\",fn:n},{eventName:\"wheel\",fn:n,options:{passive:!0}},{eventName:Oa,fn:n}]}function k0(e){let t=(0,G.useRef)(I0),n=be(()=>({eventName:\"keydown\",fn:function(a){if(a.defaultPrevented||a.keyCode!==sf)return;let i=e.findClosestDraggableId(a);if(!i)return;let s=e.tryGetLock(i,f,{sourceEvent:a});if(!s)return;a.preventDefault();let l=!0,u=s.snapLift();t.current();function f(){l||_(),l=!1,t.current(),r()}t.current=Ot(window,T0(u,f),{capture:!0,passive:!1})}}),[e]),r=X(function(){let a={passive:!1,capture:!0};t.current=Ot(window,[n],a)},[n]);ht(function(){return r(),function(){t.current()}},[r])}var _i={type:\"IDLE\"},N0=120,F0=.15;function A0({cancel:e,getPhase:t}){return[{eventName:\"orientationchange\",fn:e},{eventName:\"resize\",fn:e},{eventName:\"contextmenu\",fn:n=>{n.preventDefault()}},{eventName:\"keydown\",fn:n=>{if(t().type!==\"DRAGGING\"){e();return}n.keyCode===cs&&n.preventDefault(),e()}},{eventName:Oa,fn:e}]}function P0({cancel:e,completed:t,getPhase:n}){return[{eventName:\"touchmove\",options:{capture:!1},fn:r=>{let o=n();if(o.type!==\"DRAGGING\"){e();return}o.hasMoved=!0;let{clientX:a,clientY:i}=r.touches[0],s={x:a,y:i};r.preventDefault(),o.actions.move(s)}},{eventName:\"touchend\",fn:r=>{let o=n();if(o.type!==\"DRAGGING\"){e();return}r.preventDefault(),o.actions.drop({shouldBlockNextClick:!0}),t()}},{eventName:\"touchcancel\",fn:r=>{if(n().type!==\"DRAGGING\"){e();return}r.preventDefault(),e()}},{eventName:\"touchforcechange\",fn:r=>{let o=n();o.type===\"IDLE\"&&_();let a=r.touches[0];if(!a||!(a.force>=F0))return;let s=o.actions.shouldRespectForcePress();if(o.type===\"PENDING\"){s&&e();return}if(s){if(o.hasMoved){r.preventDefault();return}e();return}r.preventDefault()}},{eventName:Oa,fn:e}]}function _0(e){let t=(0,G.useRef)(_i),n=(0,G.useRef)(Jt),r=X(function(){return t.current},[]),o=X(function(m){t.current=m},[]),a=be(()=>({eventName:\"touchstart\",fn:function(m){if(m.defaultPrevented)return;let x=e.findClosestDraggableId(m);if(!x)return;let v=e.tryGetLock(x,s,{sourceEvent:m});if(!v)return;let h=m.touches[0],{clientX:y,clientY:b}=h,O={x:y,y:b};n.current(),d(v,O)}}),[e]),i=X(function(){let m={capture:!0,passive:!1};n.current=Ot(window,[a],m)},[a]),s=X(()=>{let c=t.current;c.type!==\"IDLE\"&&(c.type===\"PENDING\"&&clearTimeout(c.longPressTimerId),o(_i),n.current(),i())},[i,o]),l=X(()=>{let c=t.current;s(),c.type===\"DRAGGING\"&&c.actions.cancel({shouldBlockNextClick:!0}),c.type===\"PENDING\"&&c.actions.abort()},[s]),u=X(function(){let m={capture:!0,passive:!1},x={cancel:l,completed:s,getPhase:r},v=Ot(window,P0(x),m),h=Ot(window,A0(x),m);n.current=function(){v(),h()}},[l,r,s]),f=X(function(){let m=r();m.type!==\"PENDING\"&&_();let x=m.actions.fluidLift(m.point);o({type:\"DRAGGING\",actions:x,hasMoved:!1})},[r,o]),d=X(function(m,x){r().type!==\"IDLE\"&&_();let v=setTimeout(f,N0);o({type:\"PENDING\",point:x,actions:m,longPressTimerId:v}),u()},[u,r,o,f]);ht(function(){return i(),function(){n.current();let x=r();x.type===\"PENDING\"&&(clearTimeout(x.longPressTimerId),o(_i))}},[r,i,o]),ht(function(){return Ot(window,[{eventName:\"touchmove\",fn:()=>{},options:{capture:!1,passive:!1}}])},[])}function B0(e){}var L0=[\"input\",\"button\",\"textarea\",\"select\",\"option\",\"optgroup\",\"video\",\"audio\"];function cf(e,t){if(t==null)return!1;if(L0.includes(t.tagName.toLowerCase()))return!0;let r=t.getAttribute(\"contenteditable\");return r===\"true\"||r===\"\"?!0:t===e?!1:cf(e,t.parentElement)}function M0(e,t){let n=t.target;return Jr(n)?cf(e,n):!1}var V0=e=>St(e.getBoundingClientRect()).center;function z0(e){return e instanceof of(e).Element}var $0=(()=>{let e=\"matches\";return typeof document>\"u\"?e:[e,\"msMatchesSelector\",\"webkitMatchesSelector\"].find(r=>r in Element.prototype)||e})();function uf(e,t){return e==null?null:e[$0](t)?e:uf(e.parentElement,t)}function U0(e,t){return e.closest?e.closest(t):uf(e,t)}function W0(e){return\"[\".concat(Gn.contextId,'=\"').concat(e,'\"]')}function G0(e,t){let n=t.target;if(!z0(n))return null;let r=W0(e),o=U0(n,r);return!o||!Jr(o)?null:o}function H0(e,t){let n=G0(e,t);return n?n.getAttribute(Gn.draggableId):null}function q0(e,t){let n=\"[\".concat(Hi.contextId,'=\"').concat(e,'\"]'),o=rf(document,n).find(a=>a.getAttribute(Hi.id)===t);return!o||!Jr(o)?null:o}function j0(e){e.preventDefault()}function pa({expected:e,phase:t,isLockActive:n,shouldWarn:r}){return!(!n()||e!==t)}function ff({lockAPI:e,store:t,registry:n,draggableId:r}){if(e.isClaimed())return!1;let o=n.draggable.findById(r);return!(!o||!o.options.isEnabled||!Ru(t.getState(),r))}function Y0({lockAPI:e,contextId:t,store:n,registry:r,draggableId:o,forceSensorStop:a,sourceEvent:i}){if(!ff({lockAPI:e,store:n,registry:r,draggableId:o}))return null;let l=r.draggable.getById(o),u=q0(t,l.descriptor.id);if(!u||i&&!l.options.canDragInteractiveElements&&M0(u,i))return null;let f=e.claim(a||Jt),d=\"PRE_DRAG\";function c(){return l.options.shouldRespectForcePress}function m(){return e.isActive(f)}function x(D,S){pa({expected:D,phase:d,isLockActive:m,shouldWarn:!0})&&n.dispatch(S())}let v=x.bind(null,\"DRAGGING\");function h(D){function S(){e.release(),d=\"COMPLETED\"}d!==\"PRE_DRAG\"&&(S(),_()),n.dispatch(Bv(D.liftActionArgs)),d=\"DRAGGING\";function F(T,P={shouldBlockNextClick:!1}){if(D.cleanup(),P.shouldBlockNextClick){let V=Ot(window,[{eventName:\"click\",fn:j0,options:{once:!0,passive:!1,capture:!0}}]);setTimeout(V)}S(),n.dispatch(qu({reason:T}))}return C({isActive:()=>pa({expected:\"DRAGGING\",phase:d,isLockActive:m,shouldWarn:!1}),shouldRespectForcePress:c,drop:T=>F(\"DROP\",T),cancel:T=>F(\"CANCEL\",T)},D.actions)}function y(D){let S=$n(T=>{v(()=>Hu({client:T}))}),F=h({liftActionArgs:{id:o,clientSelection:D,movementMode:\"FLUID\"},cleanup:()=>S.cancel(),actions:{move:S}});return I(C({},F),{move:S})}function b(){let D={moveUp:()=>v(Hv),moveRight:()=>v(jv),moveDown:()=>v(qv),moveLeft:()=>v(Yv)};return h({liftActionArgs:{id:o,clientSelection:V0(u),movementMode:\"SNAP\"},cleanup:Jt,actions:D})}function O(){pa({expected:\"PRE_DRAG\",phase:d,isLockActive:m,shouldWarn:!0})&&e.release()}return{isActive:()=>pa({expected:\"PRE_DRAG\",phase:d,isLockActive:m,shouldWarn:!1}),shouldRespectForcePress:c,fluidLift:y,snapLift:b,abort:O}}var K0=[D0,k0,_0];function J0({contextId:e,store:t,registry:n,customSensors:r,enableDefaultSensors:o}){let a=[...o?K0:[],...r||[]],i=(0,G.useState)(()=>u0())[0],s=X(function(h,y){Gr(h)&&!Gr(y)&&i.tryAbandon()},[i]);ht(function(){let h=t.getState();return t.subscribe(()=>{let b=t.getState();s(h,b),h=b})},[i,t,s]),ht(()=>i.tryAbandon,[i.tryAbandon]);let l=X(v=>ff({lockAPI:i,registry:n,store:t,draggableId:v}),[i,n,t]),u=X((v,h,y)=>Y0({lockAPI:i,registry:n,contextId:e,store:t,draggableId:v,forceSensorStop:h||null,sourceEvent:y&&y.sourceEvent?y.sourceEvent:null}),[e,i,n,t]),f=X(v=>H0(e,v),[e]),d=X(v=>{let h=n.draggable.findById(v);return h?h.options:null},[n.draggable]),c=X(function(){i.isClaimed()&&(i.tryAbandon(),t.getState().phase!==\"IDLE\"&&t.dispatch(es()))},[i,t]),m=X(()=>i.isClaimed(),[i]),x=be(()=>({canGetLock:l,tryGetLock:u,findClosestDraggableId:f,findOptionsForDraggable:d,tryReleaseLock:c,isLockClaimed:m}),[l,u,f,d,c,m]);B0(a);for(let v=0;v({onBeforeCapture:t=>{(0,Hr.flushSync)(()=>{e.onBeforeCapture&&e.onBeforeCapture(t)})},onBeforeDragStart:e.onBeforeDragStart,onDragStart:e.onDragStart,onDragEnd:e.onDragEnd,onDragUpdate:e.onDragUpdate}),Q0=e=>I(C(C({},Ur),e.autoScrollerOptions),{durationDampening:C(C({},Ur.durationDampening),e.autoScrollerOptions)});function _r(e){return e.current||_(),e.current}function Z0(e){let{contextId:t,setCallbacks:n,sensors:r,nonce:o,dragHandleUsageInstructions:a}=e,i=(0,G.useRef)(null);c0();let s=ds(e),l=X(()=>X0(s.current),[s]),u=X(()=>Q0(s.current),[s]),f=t0(t),d=o0({contextId:t,text:a}),c=Jy(t,o),m=X(V=>{_r(i).dispatch(V)},[]),x=be(()=>gi({publishWhileDragging:Mv,updateDroppableScroll:zv,updateDroppableIsEnabled:$v,updateDroppableIsCombineEnabled:Uv,collectionStarting:Vv},m),[m]),v=Zy(),h=be(()=>Ey(v,x),[v,x]),y=be(()=>Hy(C({scrollWindow:Ty,scrollDroppable:h.scrollDroppable,getAutoScrollerOptions:u},gi({move:Hu},m))),[h.scrollDroppable,m,u]),b=Xy(t),O=be(()=>Sy({announce:f,autoScroller:y,dimensionMarshal:h,focusMarshal:b,getResponders:l,styleMarshal:c}),[f,y,h,b,l,c]);i.current=O;let w=X(()=>{let V=_r(i);V.getState().phase!==\"IDLE\"&&V.dispatch(es())},[]),D=X(()=>{let V=_r(i).getState();return V.phase===\"DROP_ANIMATING\"?!0:V.phase===\"IDLE\"?!1:V.isDragging},[]),S=be(()=>({isDragging:D,tryAbort:w}),[D,w]);n(S);let F=X(V=>Ru(_r(i).getState(),V),[]),T=X(()=>wn(_r(i).getState()),[]),P=be(()=>({marshal:h,focus:b,contextId:t,canLift:F,isMovementAllowed:T,dragHandleUsageInstructionsId:d,registry:v}),[t,h,d,b,F,T,v]);return J0({contextId:t,store:O,registry:v,customSensors:r||null,enableDefaultSensors:e.enableDefaultSensors!==!1}),(0,G.useEffect)(()=>w,[w]),G.default.createElement(Sa.Provider,{value:P},G.default.createElement(Gc,{context:ss,store:O},e.children))}function R0(){return G.default.useId()}function Da(e){let t=R0(),n=e.dragHandleUsageInstructions||ga.dragHandleUsageInstructions;return G.default.createElement(zi,null,r=>G.default.createElement(Z0,{nonce:e.nonce,contextId:t,setCallbacks:r,dragHandleUsageInstructions:n,enableDefaultSensors:e.enableDefaultSensors,sensors:e.sensors,onBeforeCapture:e.onBeforeCapture,onBeforeDragStart:e.onBeforeDragStart,onDragStart:e.onDragStart,onDragUpdate:e.onDragUpdate,onDragEnd:e.onDragEnd,autoScrollerOptions:e.autoScrollerOptions},e.children))}var mu={dragging:5e3,dropAnimating:4500},e1=(e,t)=>t?Lr.drop(t.duration):e?Lr.snap:Lr.fluid,t1=(e,t)=>{if(e)return t?$r.opacity.drop:$r.opacity.combining},n1=e=>e.forceShouldAnimate!=null?e.forceShouldAnimate:e.mode===\"SNAP\";function r1(e){let n=e.dimension.client,{offset:r,combineWith:o,dropping:a}=e,i=!!o,s=n1(e),l=!!a,u=l?Wi.drop(r,i):Wi.moveTo(r);return{position:\"fixed\",top:n.marginBox.top,left:n.marginBox.left,boxSizing:\"border-box\",width:n.borderBox.width,height:n.borderBox.height,transition:e1(s,a),transform:u,opacity:t1(i,l),zIndex:l?mu.dropAnimating:mu.dragging,pointerEvents:\"none\"}}function o1(e){return{transform:Wi.moveTo(e.offset),transition:e.shouldAnimateDisplacement?void 0:\"none\"}}function a1(e){return e.type===\"DRAGGING\"?r1(e):o1(e)}function i1(e,t,n=Xe){let r=window.getComputedStyle(t),o=t.getBoundingClientRect(),a=Ei(o,r),i=Fr(a,n),s={client:a,tagName:t.tagName.toLowerCase(),display:r.display},l={x:a.marginBox.width,y:a.marginBox.height};return{descriptor:e,placeholder:s,displaceBy:l,client:a,page:i}}function s1(e){let t=ls(\"draggable\"),{descriptor:n,registry:r,getDraggableRef:o,canDragInteractiveElements:a,shouldRespectForcePress:i,isEnabled:s}=e,l=be(()=>({canDragInteractiveElements:a,shouldRespectForcePress:i,isEnabled:s}),[a,s,i]),u=X(m=>{let x=o();return x||_(),i1(n,x,m)},[n,o]),f=be(()=>({uniqueId:t,descriptor:n,options:l,getDimension:u}),[n,u,l,t]),d=(0,G.useRef)(f),c=(0,G.useRef)(!0);ht(()=>(r.draggable.register(d.current),()=>r.draggable.unregister(d.current)),[r.draggable]),ht(()=>{if(c.current){c.current=!1;return}let m=d.current;d.current=f,r.draggable.update(f,m)},[f,r.draggable])}var us=G.default.createContext(null);function pf(e){e&&Jr(e)||_()}function l1(e,t,n){Xr(()=>{function r(a){return\"Draggable[id: \".concat(a,\"]: \")}let o=e.draggableId;o||_(!1),typeof o!=\"string\"&&_(!1),Number.isInteger(e.index)||_(!1),e.mapped.type!==\"DRAGGING\"&&(pf(n()),e.isEnabled&&(af(t,o)||_(!1)))})}function d1(e){}function xa(e){let t=(0,G.useContext)(e);return t||_(),t}function c1(e){e.preventDefault()}var u1=e=>{let t=(0,G.useRef)(null),n=X((S=null)=>{t.current=S},[]),r=X(()=>t.current,[]),{contextId:o,dragHandleUsageInstructionsId:a,registry:i}=xa(Sa),{type:s,droppableId:l}=xa(us),u=be(()=>({id:e.draggableId,index:e.index,type:s,droppableId:l}),[e.draggableId,e.index,s,l]),{children:f,draggableId:d,isEnabled:c,shouldRespectForcePress:m,canDragInteractiveElements:x,isClone:v,mapped:h,dropAnimationFinished:y}=e;if(l1(e,o,r),d1(v),!v){let S=be(()=>({descriptor:u,registry:i,getDraggableRef:r,canDragInteractiveElements:x,shouldRespectForcePress:m,isEnabled:c}),[u,i,r,x,m,c]);s1(S)}let b=be(()=>c?{tabIndex:0,role:\"button\",\"aria-describedby\":a,\"data-rfd-drag-handle-draggable-id\":d,\"data-rfd-drag-handle-context-id\":o,draggable:!1,onDragStart:c1}:null,[o,a,d,c]),O=X(S=>{h.type===\"DRAGGING\"&&h.dropping&&S.propertyName===\"transform\"&&(0,Hr.flushSync)(y)},[y,h]),w=be(()=>{let S=a1(h),F=h.type===\"DRAGGING\"&&h.dropping?O:void 0;return{innerRef:n,draggableProps:{\"data-rfd-draggable-context-id\":o,\"data-rfd-draggable-id\":d,style:S,onTransitionEnd:F},dragHandleProps:b}},[o,b,d,h,O,n]),D=be(()=>({draggableId:u.id,type:u.type,source:{index:u.index,droppableId:u.droppableId}}),[u.droppableId,u.id,u.index,u.type]);return G.default.createElement(G.default.Fragment,null,f(w,h.snapshot,D))},mf=(e,t)=>e===t,gf=e=>{let{combine:t,destination:n}=e;return n?n.droppableId:t?t.droppableId:null},f1=e=>e.combine?e.combine.draggableId:null,p1=e=>e.at&&e.at.type===\"COMBINE\"?e.at.combine.draggableId:null;function m1(){let e=Je((o,a)=>({x:o,y:a})),t=Je((o,a,i=null,s=null,l=null)=>({isDragging:!0,isClone:a,isDropAnimating:!!l,dropAnimation:l,mode:o,draggingOver:i,combineWith:s,combineTargetFor:null})),n=Je((o,a,i,s,l=null,u=null,f=null)=>({mapped:{type:\"DRAGGING\",dropping:null,draggingOver:l,combineWith:u,mode:a,offset:o,dimension:i,forceShouldAnimate:f,snapshot:t(a,s,l,u,null)}}));return(o,a)=>{if(Gr(o)){if(o.critical.draggable.id!==a.draggableId)return null;let i=o.current.client.offset,s=o.dimensions.draggables[a.draggableId],l=gt(o.impact),u=p1(o.impact),f=o.forceShouldAnimate;return n(e(i.x,i.y),o.movementMode,s,a.isClone,l,u,f)}if(o.phase===\"DROP_ANIMATING\"){let i=o.completed;if(i.result.draggableId!==a.draggableId)return null;let s=a.isClone,l=o.dimensions.draggables[a.draggableId],u=i.result,f=u.mode,d=gf(u),c=f1(u),x={duration:o.dropDuration,curve:ns.drop,moveTo:o.newHomeClientOffset,opacity:c?$r.opacity.drop:null,scale:c?$r.scale.drop:null};return{mapped:{type:\"DRAGGING\",offset:o.newHomeClientOffset,dimension:l,dropping:x,draggingOver:d,combineWith:c,mode:f,forceShouldAnimate:null,snapshot:t(f,s,d,c,x)}}}return null}}function hf(e=null){return{isDragging:!1,isDropAnimating:!1,isClone:!1,dropAnimation:null,mode:null,draggingOver:null,combineTargetFor:e,combineWith:null}}var g1={mapped:{type:\"SECONDARY\",offset:Xe,combineTargetFor:null,shouldAnimateDisplacement:!0,snapshot:hf(null)}};function h1(){let e=Je((i,s)=>({x:i,y:s})),t=Je(hf),n=Je((i,s=null,l)=>({mapped:{type:\"SECONDARY\",offset:i,combineTargetFor:s,shouldAnimateDisplacement:l,snapshot:t(s)}})),r=i=>i?n(Xe,i,!0):null,o=(i,s,l,u)=>{let f=l.displaced.visible[i],d=!!(u.inVirtualList&&u.effected[i]),c=ya(l),m=c&&c.draggableId===i?s:null;if(!f){if(!d)return r(m);if(l.displaced.invisible[i])return null;let h=Hn(u.displacedBy.point),y=e(h.x,h.y);return n(y,m,!0)}if(d)return r(m);let x=l.displacedBy.point,v=e(x.x,x.y);return n(v,m,f.shouldAnimate)};return(i,s)=>{if(Gr(i))return i.critical.draggable.id===s.draggableId?null:o(s.draggableId,i.critical.draggable.id,i.impact,i.afterCritical);if(i.phase===\"DROP_ANIMATING\"){let l=i.completed;return l.result.draggableId===s.draggableId?null:o(s.draggableId,l.result.draggableId,l.impact,l.afterCritical)}return null}}var b1=()=>{let e=m1(),t=h1();return(r,o)=>e(r,o)||t(r,o)||g1},x1={dropAnimationFinished:ju},v1=Oi(b1,x1,null,{context:ss,areStatePropsEqual:mf})(u1);function bf(e){return xa(us).isUsingCloneFor===e.draggableId&&!e.isClone?null:G.default.createElement(v1,e)}function Ia(e){let t=typeof e.isDragDisabled==\"boolean\"?!e.isDragDisabled:!0,n=!!e.disableInteractiveElementBlocking,r=!!e.shouldRespectForcePress;return G.default.createElement(bf,ee({},e,{isClone:!1,isEnabled:t,canDragInteractiveElements:n,shouldRespectForcePress:r}))}var fs=e=>t=>e===t,y1=fs(\"scroll\"),w1=fs(\"auto\"),C1=fs(\"visible\"),gu=(e,t)=>t(e.overflowX)||t(e.overflowY),S1=(e,t)=>t(e.overflowX)&&t(e.overflowY),xf=e=>{let t=window.getComputedStyle(e),n={overflowX:t.overflowX,overflowY:t.overflowY};return gu(n,y1)||gu(n,w1)},O1=()=>!1,vf=e=>e==null?null:e===document.body?O1()?e:null:e===document.documentElement?null:xf(e)?e:vf(e.parentElement);var qi=e=>({x:e.scrollLeft,y:e.scrollTop}),yf=e=>e?window.getComputedStyle(e).position===\"fixed\"?!0:yf(e.parentElement):!1,D1=e=>{let t=vf(e),n=yf(e);return{closestScrollable:t,isFixedOnPage:n}},I1=({descriptor:e,isEnabled:t,isCombineEnabled:n,isFixedOnPage:r,direction:o,client:a,page:i,closest:s})=>{let l=(()=>{if(!s)return null;let{scrollSize:c,client:m}=s,x=Xu({scrollHeight:c.scrollHeight,scrollWidth:c.scrollWidth,height:m.paddingBox.height,width:m.paddingBox.width});return{pageMarginBox:s.page.marginBox,frameClient:m,scrollSize:c,shouldClipSubject:s.shouldClipSubject,scroll:{initial:s.scroll,current:s.scroll,max:x,diff:{value:Xe,displacement:Xe}}}})(),u=o===\"vertical\"?Ji:ku,f=Un({page:i,withPlaceholder:null,axis:u,frame:l});return{descriptor:e,isCombineEnabled:n,isFixedOnPage:r,axis:u,isEnabled:t,client:a,page:i,frame:l,subject:f}},E1=(e,t)=>{let n=Ti(e);if(!t||e!==t)return n;let r=n.paddingBox.top-t.scrollTop,o=n.paddingBox.left-t.scrollLeft,a=r+t.scrollHeight,i=o+t.scrollWidth,l=ca({top:r,right:i,bottom:a,left:o},n.border);return ua({borderBox:l,margin:n.margin,border:n.border,padding:n.padding})},T1=({ref:e,descriptor:t,env:n,windowScroll:r,direction:o,isDropDisabled:a,isCombineEnabled:i,shouldClipSubject:s})=>{let l=n.closestScrollable,u=E1(e,l),f=Fr(u,r),d=(()=>{if(!l)return null;let m=Ti(l),x={scrollHeight:l.scrollHeight,scrollWidth:l.scrollWidth};return{client:m,page:Fr(m,r),scroll:qi(l),scrollSize:x,shouldClipSubject:s}})();return I1({descriptor:t,isEnabled:!a,isCombineEnabled:i,isFixedOnPage:n.isFixedOnPage,direction:o,client:u,page:f,closest:d})},k1={passive:!1},N1={passive:!0},hu=e=>e.shouldPublishImmediately?k1:N1,ma=e=>e&&e.env.closestScrollable||null;function F1(e){let t=(0,G.useRef)(null),n=xa(Sa),r=ls(\"droppable\"),{registry:o,marshal:a}=n,i=ds(e),s=be(()=>({id:e.droppableId,type:e.type,mode:e.mode}),[e.droppableId,e.mode,e.type]),l=(0,G.useRef)(s),u=be(()=>Je((w,D)=>{t.current||_();let S={x:w,y:D};a.updateDroppableScroll(s.id,S)}),[s.id,a]),f=X(()=>{let w=t.current;return!w||!w.env.closestScrollable?Xe:qi(w.env.closestScrollable)},[]),d=X(()=>{let w=f();u(w.x,w.y)},[f,u]),c=be(()=>$n(d),[d]),m=X(()=>{let w=t.current,D=ma(w);if(w&&D||_(),w.scrollOptions.shouldPublishImmediately){d();return}c()},[c,d]),x=X((w,D)=>{t.current&&_();let S=i.current,F=S.getDroppableRef();F||_();let T=D1(F),P={ref:F,descriptor:s,env:T,scrollOptions:D};t.current=P;let V=T1({ref:F,descriptor:s,env:T,windowScroll:w,direction:S.direction,isDropDisabled:S.isDropDisabled,isCombineEnabled:S.isCombineEnabled,shouldClipSubject:!S.ignoreContainerClipping}),E=T.closestScrollable;return E&&(E.setAttribute(du.contextId,n.contextId),E.addEventListener(\"scroll\",m,hu(P.scrollOptions))),V},[n.contextId,s,m,i]),v=X(()=>{let w=t.current,D=ma(w);return w&&D||_(),qi(D)},[]),h=X(()=>{let w=t.current;w||_();let D=ma(w);t.current=null,D&&(c.cancel(),D.removeAttribute(du.contextId),D.removeEventListener(\"scroll\",m,hu(w.scrollOptions)))},[m,c]),y=X(w=>{let D=t.current;D||_();let S=ma(D);S||_(),S.scrollTop+=w.y,S.scrollLeft+=w.x},[]),b=be(()=>({getDimensionAndWatchScroll:x,getScrollWhileDragging:v,dragStopped:h,scroll:y}),[h,x,v,y]),O=be(()=>({uniqueId:r,descriptor:s,callbacks:b}),[b,s,r]);ht(()=>(l.current=O.descriptor,o.droppable.register(O),()=>{t.current&&h(),o.droppable.unregister(O)}),[b,s,h,O,a,o.droppable]),ht(()=>{t.current&&a.updateDroppableIsEnabled(l.current.id,!e.isDropDisabled)},[e.isDropDisabled,a]),ht(()=>{t.current&&a.updateDroppableIsCombineEnabled(l.current.id,e.isCombineEnabled)},[e.isCombineEnabled,a])}function Bi(){}var bu={width:0,height:0,margin:Fx},A1=({isAnimatingOpenOnMount:e,placeholder:t,animate:n})=>e||n===\"close\"?bu:{height:t.client.borderBox.height,width:t.client.borderBox.width,margin:t.client.margin},P1=({isAnimatingOpenOnMount:e,placeholder:t,animate:n})=>{let r=A1({isAnimatingOpenOnMount:e,placeholder:t,animate:n});return{display:t.display,boxSizing:\"border-box\",width:r.width,height:r.height,marginTop:r.margin.top,marginRight:r.margin.right,marginBottom:r.margin.bottom,marginLeft:r.margin.left,flexShrink:\"0\",flexGrow:\"0\",pointerEvents:\"none\",transition:n!==\"none\"?Lr.placeholder:null}},_1=e=>{let t=(0,G.useRef)(null),n=X(()=>{t.current&&(clearTimeout(t.current),t.current=null)},[]),{animate:r,onTransitionEnd:o,onClose:a,contextId:i}=e,[s,l]=(0,G.useState)(e.animate===\"open\");(0,G.useEffect)(()=>s?r!==\"open\"?(n(),l(!1),Bi):t.current?Bi:(t.current=setTimeout(()=>{t.current=null,l(!1)}),n):Bi,[r,s,n]);let u=X(d=>{d.propertyName===\"height\"&&(o(),r===\"close\"&&a())},[r,a,o]),f=P1({isAnimatingOpenOnMount:s,animate:e.animate,placeholder:e.placeholder});return G.default.createElement(e.placeholder.tagName,{style:f,\"data-rfd-placeholder-context-id\":i,onTransitionEnd:u,ref:e.innerRef})},B1=G.default.memo(_1);function Li(e){return typeof e==\"boolean\"}function Mi(e,t){t.forEach(n=>n(e))}var L1=[function({props:t}){t.droppableId||_(),typeof t.droppableId!=\"string\"&&_()},function({props:t}){Li(t.isDropDisabled)||_(),Li(t.isCombineEnabled)||_(),Li(t.ignoreContainerClipping)||_()},function({getDroppableRef:t}){pf(t())}],M1=[function({props:t,getPlaceholderRef:n}){!t.placeholder||n()}],V1=[function({props:t}){t.renderClone||_()},function({getPlaceholderRef:t}){t()&&_()}];function z1(e){Xr(()=>{Mi(e,L1),e.props.mode===\"standard\"&&Mi(e,M1),e.props.mode===\"virtual\"&&Mi(e,V1)})}var ji=class extends G.default.PureComponent{constructor(...t){super(...t),this.state={isVisible:!!this.props.on,data:this.props.on,animate:this.props.shouldAnimate&&this.props.on?\"open\":\"none\"},this.onClose=()=>{this.state.animate===\"close\"&&this.setState({isVisible:!1})}}static getDerivedStateFromProps(t,n){return t.shouldAnimate?t.on?{isVisible:!0,data:t.on,animate:\"open\"}:n.isVisible?{isVisible:!0,data:n.data,animate:\"close\"}:{isVisible:!1,animate:\"close\",data:null}:{isVisible:!!t.on,data:t.on,animate:\"none\"}}render(){if(!this.state.isVisible)return null;let t={onClose:this.onClose,data:this.state.data,animate:this.state.animate};return this.props.children(t)}},$1=e=>{let t=(0,G.useContext)(Sa);t||_();let{contextId:n,isMovementAllowed:r}=t,o=(0,G.useRef)(null),a=(0,G.useRef)(null),{children:i,droppableId:s,type:l,mode:u,direction:f,ignoreContainerClipping:d,isDropDisabled:c,isCombineEnabled:m,snapshot:x,useClone:v,updateViewportMaxScroll:h,getContainerForClone:y}=e,b=X(()=>o.current,[]),O=X((N=null)=>{o.current=N},[]),w=X(()=>a.current,[]),D=X((N=null)=>{a.current=N},[]);z1({props:e,getDroppableRef:b,getPlaceholderRef:w});let S=X(()=>{r()&&h({maxScroll:Zu()})},[r,h]);F1({droppableId:s,type:l,mode:u,direction:f,isDropDisabled:c,isCombineEnabled:m,ignoreContainerClipping:d,getDroppableRef:b});let F=be(()=>G.default.createElement(ji,{on:e.placeholder,shouldAnimate:e.shouldAnimatePlaceholder},({onClose:N,data:U,animate:K})=>G.default.createElement(B1,{placeholder:U,onClose:N,innerRef:D,animate:K,contextId:n,onTransitionEnd:S})),[n,S,e.placeholder,e.shouldAnimatePlaceholder,D]),T=be(()=>({innerRef:O,placeholder:F,droppableProps:{\"data-rfd-droppable-id\":s,\"data-rfd-droppable-context-id\":n}}),[n,s,F,O]),P=v?v.dragging.draggableId:null,V=be(()=>({droppableId:s,type:l,isUsingCloneFor:P}),[s,P,l]);function E(){if(!v)return null;let{dragging:N,render:U}=v,K=G.default.createElement(bf,{draggableId:N.draggableId,index:N.source.index,isClone:!0,isEnabled:!0,shouldRespectForcePress:!1,canDragInteractiveElements:!0},(se,he)=>U(se,he,N));return Hr.default.createPortal(K,y())}return G.default.createElement(us.Provider,{value:V},i(T,x),E())};function U1(){return document.body||_(),document.body}var xu={mode:\"standard\",type:\"DEFAULT\",direction:\"vertical\",isDropDisabled:!1,isCombineEnabled:!1,ignoreContainerClipping:!1,renderClone:null,getContainerForClone:U1},wf=e=>{let t=C({},e),n;for(n in xu)e[n]===void 0&&(t=I(C({},t),{[n]:xu[n]}));return t},Vi=(e,t)=>e===t.droppable.type,vu=(e,t)=>t.draggables[e.draggable.id],W1=()=>{let e={placeholder:null,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:!1,draggingOverWith:null,draggingFromThisWith:null,isUsingPlaceholder:!1},useClone:null},t=I(C({},e),{shouldAnimatePlaceholder:!1}),n=Je(a=>({draggableId:a.id,type:a.type,source:{index:a.index,droppableId:a.droppableId}})),r=Je((a,i,s,l,u,f)=>{let d=u.descriptor.id;if(u.descriptor.droppableId===a){let x=f?{render:f,dragging:n(u.descriptor)}:null,v={isDraggingOver:s,draggingOverWith:s?d:null,draggingFromThisWith:d,isUsingPlaceholder:!0};return{placeholder:u.placeholder,shouldAnimatePlaceholder:!1,snapshot:v,useClone:x}}if(!i)return t;if(!l)return e;let m={isDraggingOver:s,draggingOverWith:d,draggingFromThisWith:null,isUsingPlaceholder:!0};return{placeholder:u.placeholder,shouldAnimatePlaceholder:!0,snapshot:m,useClone:null}});return(a,i)=>{let s=wf(i),l=s.droppableId,u=s.type,f=!s.isDropDisabled,d=s.renderClone;if(Gr(a)){let c=a.critical;if(!Vi(u,c))return t;let m=vu(c,a.dimensions),x=gt(a.impact)===l;return r(l,f,x,x,m,d)}if(a.phase===\"DROP_ANIMATING\"){let c=a.completed;if(!Vi(u,c.critical))return t;let m=vu(c.critical,a.dimensions);return r(l,f,gf(c.result)===l,gt(c.impact)===l,m,d)}if(a.phase===\"IDLE\"&&a.completed&&!a.shouldFlush){let c=a.completed;if(!Vi(u,c.critical))return t;let m=gt(c.impact)===l,x=!!(c.impact.at&&c.impact.at.type===\"COMBINE\"),v=c.critical.droppable.id===l;return m?x?e:t:v?e:t}return t}},G1={updateViewportMaxScroll:Gv},Ea=Oi(W1,G1,(e,t,n)=>C(C(C({},wf(n)),e),t),{context:ss,areStatePropsEqual:mf})($1);var{Title:H1,Text:ze}=z.Typography,{Panel:Ta}=z.Collapse,{Option:pI}=z.Select,Yn=()=>\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e===\"x\"?t:t&3|8).toString(16)});function q1({config:e,updateConfig:t}){let n={name:\"\",server:\"\",username:\"\",password:\"\",token:\"\",userId:\"\",deviceName:\"Hills Windows\",client:\"Hills Windows\",clientVersion:\"0.2.2\",deviceId:\"\",enabled:!0,cacheViews:!0,enablePlaybackReport:!0,timeout:15e3,retryCount:3,maxConcurrent:5,isJellyfin:!1},[r,o]=(0,k.useState)(()=>{let y=(e==null?void 0:e.emby)||[];return y.length===0?[I(C({},n),{name:\"\\u9ED8\\u8BA4\\u670D\\u52A1\\u5668 1\",id:Yn()}),I(C({},n),{name:\"\\u9ED8\\u8BA4\\u670D\\u52A1\\u5668 2\",id:Yn()})]:y.map(b=>I(C(C({},n),b),{id:b.id||Yn(),enablePlaybackReport:b.enablePlaybackReport!==!1,isJellyfin:b.isJellyfin||!1}))}),[a,i]=(0,k.useState)([]),s=(0,k.useCallback)(y=>{if(!y.destination)return;let b=Array.from(r),[O]=b.splice(y.source.index,1);b.splice(y.destination.index,0,O),o(b)},[r]),l=(0,k.useCallback)(()=>\"\\u65B0\\u670D\\u52A1\\u5668 \".concat(r.length+1),[r.length]),u=(0,k.useCallback)(()=>{let y=Yn(),b=I(C({},n),{name:l(),id:y,deviceId:\"\"});o([...r,b]),i(O=>[...O,y]),z.message.success(\"\\u5DF2\\u6DFB\\u52A0\\u65B0\\u670D\\u52A1\\u5668\")},[r,l]),f=(0,k.useCallback)(y=>{if(r.length<=1){z.message.warning(\"\\u81F3\\u5C11\\u9700\\u8981\\u4FDD\\u7559\\u4E00\\u4E2A\\u670D\\u52A1\\u5668\");return}o(b=>b.filter(O=>O.id!==y)),i(b=>b.filter(O=>O!==y)),z.message.success(\"\\u670D\\u52A1\\u5668\\u5DF2\\u5220\\u9664\")},[r]),d=(0,k.useCallback)(y=>{let b=r.find(D=>D.id===y);if(!b)return;let O=Yn(),w=I(C({},b),{name:\"\".concat(b.name,\" (\\u526F\\u672C)\"),id:O,deviceId:\"\"});o([...r,w]),i(D=>[...D,O]),z.message.success(\"\\u670D\\u52A1\\u5668\\u5DF2\\u590D\\u5236\")},[r]),c=(0,k.useCallback)((y,b,O)=>{o(w=>w.map(D=>D.id===y?I(C({},D),{[b]:O}):D))},[]),m=(0,k.useCallback)((y,b)=>{let O=r.findIndex(S=>S.id===y);if(b===\"up\"&&O===0||b===\"down\"&&O===r.length-1)return;let w=b===\"up\"?O-1:O+1,D=[...r];[D[O],D[w]]=[D[w],D[O]],o(D)},[r]),x=(0,k.useCallback)(y=>{i(b=>b.includes(y)?b.filter(O=>O!==y):[...b,y])},[]),v=(0,k.useCallback)(y=>y?!y.startsWith(\"http://\")&&!y.startsWith(\"https://\")?\"\\u670D\\u52A1\\u5668\\u5730\\u5740\\u5FC5\\u987B\\u4EE5 http:// \\u6216 https:// \\u5F00\\u5934\":null:\"\\u670D\\u52A1\\u5668\\u5730\\u5740\\u4E0D\\u80FD\\u4E3A\\u7A7A\",[]),h=(0,k.useCallback)(y=>y?k.default.createElement(z.Tag,{color:\"green\",style:{fontSize:11,marginLeft:4}},k.default.createElement(Do,null),\" Jellyfin\"):k.default.createElement(z.Tag,{color:\"blue\",style:{fontSize:11,marginLeft:4}},\"Emby\"),[]);return(0,k.useEffect)(()=>{t&&t(I(C({},e),{emby:r}))},[r,e,t]),k.default.createElement(\"div\",{className:\"emby-config-container\"},k.default.createElement(\"div\",{style:{marginBottom:16,padding:\"16px 20px\",background:\"#fff\",borderRadius:8,boxShadow:\"0 2px 8px rgba(0,0,0,0.06)\",display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\"}},k.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:12}},k.default.createElement(H1,{level:4,style:{margin:0,display:\"flex\",alignItems:\"center\",gap:8}},k.default.createElement(pr,null)),k.default.createElement(z.Tag,{color:\"blue\",style:{fontSize:14}},\"\\u5171 \",r.length,\" \\u4E2A\\u670D\\u52A1\\u5668\")),k.default.createElement(z.Space,null,k.default.createElement(z.Button,{type:\"primary\",onClick:u,icon:k.default.createElement(Re,null),size:\"large\"},\"\\u65B0\\u589E\\u670D\\u52A1\\u5668\"))),k.default.createElement(Da,{onDragEnd:s},k.default.createElement(Ea,{droppableId:\"emby-servers\"},y=>k.default.createElement(\"div\",I(C({},y.droppableProps),{ref:y.innerRef}),r.map((b,O)=>{let w=a.includes(b.id),D=b.isJellyfin?\"#52c41a\":\"#1890ff\",S=v(b.server);return k.default.createElement(Ia,{key:b.id,draggableId:b.id,index:O},F=>k.default.createElement(\"div\",I(C({ref:F.innerRef},F.draggableProps),{style:{marginBottom:12}}),k.default.createElement(z.Card,{size:\"small\",style:C({borderRadius:8,borderLeft:\"4px solid \".concat(D)},S&&!w&&{borderColor:\"#ff4d4f\"})},k.default.createElement(\"div\",I(C({},F.dragHandleProps),{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"flex-start\",cursor:\"pointer\",paddingLeft:8,minHeight:48,gap:8},onClick:()=>x(b.id)}),k.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:12,flex:1,minWidth:0}},k.default.createElement(\"div\",{style:{flex:1,minWidth:0}},k.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,marginBottom:4,flexWrap:\"wrap\"}},k.default.createElement(ze,{strong:!0,style:{fontSize:14,wordBreak:\"break-word\"}},b.name||\"\\u672A\\u547D\\u540D\\u670D\\u52A1\\u5668\"),k.default.createElement(z.Tag,{color:\"default\",style:{fontSize:10,marginLeft:4}},\"ID: \",b.id.slice(0,8)),h(b.isJellyfin),!b.enabled&&k.default.createElement(z.Tag,{color:\"default\"},\"\\u5DF2\\u7981\\u7528\"),S&&!w&&k.default.createElement(z.Tag,{color:\"error\",style:{fontSize:11}},\"\\u914D\\u7F6E\\u9519\\u8BEF\")),k.default.createElement(\"div\",null,k.default.createElement(ze,{type:\"secondary\",style:{fontSize:12,wordBreak:\"break-all\"}},b.server||\"\\u672A\\u8BBE\\u7F6E\\u670D\\u52A1\\u5668\\u5730\\u5740\")))),k.default.createElement(z.Space,{onClick:T=>T.stopPropagation(),style:{flexShrink:0,alignSelf:\"flex-start\",marginTop:4}},k.default.createElement(z.Tooltip,{title:\"\\u590D\\u5236\\u670D\\u52A1\\u5668\"},k.default.createElement(z.Button,{type:\"text\",size:\"small\",icon:k.default.createElement(lr,null),onClick:()=>d(b.id)})),k.default.createElement(z.Tooltip,{title:\"\\u4E0A\\u79FB\"},k.default.createElement(z.Button,{type:\"text\",size:\"small\",icon:k.default.createElement(sn,null),disabled:O===0,onClick:()=>m(b.id,\"up\")})),k.default.createElement(z.Tooltip,{title:\"\\u4E0B\\u79FB\"},k.default.createElement(z.Button,{type:\"text\",size:\"small\",icon:k.default.createElement(an,null),disabled:O===r.length-1,onClick:()=>m(b.id,\"down\")})),r.length>1&&k.default.createElement(z.Popconfirm,{title:\"\\u786E\\u5B9A\\u8981\\u5220\\u9664\\u8FD9\\u4E2A\\u670D\\u52A1\\u5668\\u5417\\uFF1F\",onConfirm:()=>f(b.id),okText:\"\\u786E\\u5B9A\",cancelText:\"\\u53D6\\u6D88\",placement:\"topRight\"},k.default.createElement(z.Tooltip,{title:\"\\u5220\\u9664\"},k.default.createElement(z.Button,{type:\"text\",danger:!0,size:\"small\",icon:k.default.createElement(Ue,null)}))))),w&&k.default.createElement(k.default.Fragment,null,k.default.createElement(z.Divider,{style:{margin:\"12px 0\"}}),k.default.createElement(z.Collapse,{defaultActiveKey:[\"basic\",\"playback\"],ghost:!0},k.default.createElement(Ta,{header:\"\\u57FA\\u7840\\u914D\\u7F6E\",key:\"basic\"},k.default.createElement(z.Row,{gutter:[16,12]},k.default.createElement(z.Col,{span:24},k.default.createElement(ze,{type:\"secondary\"},\"\\u5B9E\\u4F8B\\u540D\\u79F0\"),k.default.createElement(z.Input,{placeholder:\"\\u5982\\uFF1A\\u6211\\u7684\\u5916\\u7F51\\u670D\",value:b.name,onChange:T=>c(b.id,\"name\",T.target.value),status:b.name?\"\":\"warning\"})),k.default.createElement(z.Col,{span:24},k.default.createElement(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",marginBottom:4}},k.default.createElement(ze,{type:\"secondary\"},\"\\u670D\\u52A1\\u5668\\u5730\\u5740\"),S&&k.default.createElement(ze,{type:\"danger\",style:{fontSize:12}},S)),k.default.createElement(z.Input,{placeholder:\"http://example.com:8096\",value:b.server,onChange:T=>c(b.id,\"server\",T.target.value),status:S?\"error\":\"\"}),k.default.createElement(ze,{type:\"secondary\",style:{fontSize:12,marginTop:4}},\"\\u793A\\u4F8B: http://192.168.1.100:8096 \\u6216 https://emby.example.com\")),k.default.createElement(z.Col,{span:12},k.default.createElement(ze,{type:\"secondary\"},\"\\u7528\\u6237\\u540D\"),k.default.createElement(z.Input,{placeholder:\"Username\",value:b.username,onChange:T=>c(b.id,\"username\",T.target.value)})),k.default.createElement(z.Col,{span:12},k.default.createElement(ze,{type:\"secondary\"},\"\\u5BC6\\u7801\"),k.default.createElement(z.Input.Password,{placeholder:\"Password\",value:b.password,onChange:T=>c(b.id,\"password\",T.target.value)})),k.default.createElement(z.Col,{span:12},k.default.createElement(ze,{type:\"secondary\"},\"Token\"),k.default.createElement(z.Input,{placeholder:\"\\u53EF\\u9009\\uFF0C\\u76F4\\u63A5\\u586B\\u5199Token\",value:b.token,onChange:T=>c(b.id,\"token\",T.target.value)})),k.default.createElement(z.Col,{span:12},k.default.createElement(ze,{type:\"secondary\"},\"User ID\"),k.default.createElement(z.Input,{placeholder:\"\\u53EF\\u9009\\uFF0C\\u7528\\u6237ID\",value:b.userId,onChange:T=>c(b.id,\"userId\",T.target.value)})))),k.default.createElement(Ta,{header:\"\\u5BA2\\u6237\\u7AEF\\u4FE1\\u606F\",key:\"client\"},k.default.createElement(z.Row,{gutter:[16,12]},k.default.createElement(z.Col,{span:12},k.default.createElement(ze,{type:\"secondary\"},\"\\u8BBE\\u5907\\u540D\\u79F0\"),k.default.createElement(z.Input,{placeholder:\"\\u5982: Hills Windows\",value:b.deviceName,onChange:T=>c(b.id,\"deviceName\",T.target.value)})),k.default.createElement(z.Col,{span:12},k.default.createElement(ze,{type:\"secondary\"},\"\\u5BA2\\u6237\\u7AEF\\u7C7B\\u578B\"),k.default.createElement(z.Input,{placeholder:\"\\u5982: Hills Windows\",value:b.client,onChange:T=>c(b.id,\"client\",T.target.value)})),k.default.createElement(z.Col,{span:12},k.default.createElement(ze,{type:\"secondary\"},\"\\u5BA2\\u6237\\u7AEF\\u7248\\u672C\"),k.default.createElement(z.Input,{placeholder:\"\\u5982: 4.8.0.50\",value:b.clientVersion,onChange:T=>c(b.id,\"clientVersion\",T.target.value)})),k.default.createElement(z.Col,{span:12},k.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\"}},k.default.createElement(ze,{type:\"secondary\"},\"\\u8BBE\\u5907ID\"),k.default.createElement(z.Button,{type:\"link\",size:\"small\",onClick:()=>c(b.id,\"deviceId\",Yn())},\"\\u91CD\\u65B0\\u751F\\u6210\")),k.default.createElement(z.Input,{placeholder:\"\\u7559\\u7A7A\\u81EA\\u52A8\\u751F\\u6210\",value:b.deviceId,onChange:T=>c(b.id,\"deviceId\",T.target.value)}),k.default.createElement(ze,{type:\"secondary\",style:{fontSize:12,marginTop:4}},\"\\u6807\\u51C6UUID\\u683C\\u5F0F\\uFF0C\\u5982: 550e8400-e29b-41d4-a716-446655440000\")))),k.default.createElement(Ta,{header:\"\\u529F\\u80FD\\u5F00\\u5173\",key:\"features\"},k.default.createElement(z.Row,{gutter:[16,12]},k.default.createElement(z.Col,{span:8},k.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",marginBottom:8}},k.default.createElement(z.Switch,{size:\"small\",checked:b.enabled,onChange:T=>c(b.id,\"enabled\",T)}),k.default.createElement(\"span\",{style:{marginLeft:8}},\"\\u542F\\u7528\\u72B6\\u6001\"))),k.default.createElement(z.Col,{span:8},k.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",marginBottom:8}},k.default.createElement(z.Switch,{size:\"small\",checked:b.cacheViews,onChange:T=>c(b.id,\"cacheViews\",T)}),k.default.createElement(\"span\",{style:{marginLeft:8}},\"\\u7F13\\u5B58\\u89C6\\u56FE\"))),k.default.createElement(z.Col,{span:8},k.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",marginBottom:8}},k.default.createElement(z.Switch,{size:\"small\",checked:b.enablePlaybackReport,onChange:T=>c(b.id,\"enablePlaybackReport\",T)}),k.default.createElement(\"span\",{style:{marginLeft:8}},\"\\u64AD\\u653E\\u8FDB\\u5EA6\\u540C\\u6B65\")))),k.default.createElement(z.Row,{gutter:[16,12]},k.default.createElement(z.Col,{span:24},k.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",padding:\"8px 12px\",background:\"#f6ffed\",borderRadius:4,border:\"1px solid #b7eb8f\"}},k.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\"}},k.default.createElement(Do,{style:{marginRight:8,color:\"#52c41a\"}}),k.default.createElement(\"div\",null,k.default.createElement(ze,{strong:!0},\"\\u670D\\u52A1\\u5668\\u7C7B\\u578B\"),k.default.createElement(\"div\",{style:{fontSize:12,color:\"#666\"}},b.isJellyfin?\"Jellyfin \\u662F\\u4E00\\u4E2A\\u5F00\\u6E90\\u7684\\u5A92\\u4F53\\u670D\\u52A1\\u5668\\uFF0C\\u4E0E Emby \\u517C\\u5BB9\":\"Emby \\u662F\\u4E00\\u4E2A\\u5A92\\u4F53\\u670D\\u52A1\\u5668\\uFF0C\\u652F\\u6301\\u672C\\u5730\\u548C\\u8FDC\\u7A0B\\u6D41\\u5A92\\u4F53\"))),k.default.createElement(z.Switch,{checked:b.isJellyfin,onChange:T=>c(b.id,\"isJellyfin\",T),checkedChildren:\"Jellyfin\",unCheckedChildren:\"Emby\"}))))),k.default.createElement(Ta,{header:\"\\u8BF7\\u6C42\\u914D\\u7F6E\",key:\"request\"},k.default.createElement(z.Row,{gutter:[16,12]},k.default.createElement(z.Col,{span:8},k.default.createElement(ze,{type:\"secondary\"},\"\\u8D85\\u65F6\\u65F6\\u95F4(ms)\"),k.default.createElement(z.InputNumber,{style:{width:\"100%\"},min:1e3,max:6e4,step:1e3,value:b.timeout,onChange:T=>c(b.id,\"timeout\",T)})),k.default.createElement(z.Col,{span:8},k.default.createElement(ze,{type:\"secondary\"},\"\\u91CD\\u8BD5\\u6B21\\u6570\"),k.default.createElement(z.InputNumber,{style:{width:\"100%\"},min:0,max:10,value:b.retryCount,onChange:T=>c(b.id,\"retryCount\",T)})),k.default.createElement(z.Col,{span:8},k.default.createElement(ze,{type:\"secondary\"},\"\\u6700\\u5927\\u5E76\\u53D1\\u6570\"),k.default.createElement(z.InputNumber,{style:{width:\"100%\"},min:1,max:20,value:b.maxConcurrent,onChange:T=>c(b.id,\"maxConcurrent\",T)})))))))))}),y.placeholder))),r.length>0&&k.default.createElement(\"div\",{style:{marginTop:20,padding:\"16px\",background:\"#fafafa\",borderRadius:8}},k.default.createElement(ze,{type:\"secondary\",style:{fontSize:12}},\"\\u63D0\\u793A\\uFF1A\\u914D\\u7F6E\\u4FEE\\u6539\\u540E\\u8BF7\\u624B\\u52A8\\u4FDD\\u5B58\")))}var Cf=k.default.memo(q1);var W=B(R(),1),J=B(Pe(),1);var ps=B(nt(),1);var{Text:bt}=J.Typography,{TabPane:Sf}=J.Tabs,Jn=ps.default.create({baseURL:\"/website\"});Jn.interceptors.response.use(e=>{if(e.data.code!==0){let t=new Error(e.data.message);throw t.responseData=e.data,t}return e.data.data},e=>Promise.reject(e));var Kn=[\"\\u4E00\\u53E3\\u6C14\\u6C99\\u96D5\\u52A8\\u6F2B\",\"\\u7EAA\\u5F55\\u7247\\u8D85\\u6E05\",\"\\u6F14\\u5531\\u4F1A\\u8D85\\u6E05\",\"\\u7F8E\\u98DF\\u8D85\\u6E05\",\"\\u98DF\\u8C31\",\"\\u4F53\\u80B2\\u8D85\\u6E05\",\"\\u7403\\u661F\",\"\\u65C5\\u6E38\",\"\\u98CE\\u666F4K\",\"\\u8BF4\\u6848\",\"\\u77E5\\u540DUP\\u4E3B\",\"\\u63A2\\u7D22\\u53D1\\u73B0\\u8D85\\u6E05\",\"\\u9B3C\\u755C\",\"\\u641E\\u7B11\\u8D85\\u6E05\",\"\\u513F\\u7AE5\\u8D85\\u6E05\",\"\\u52A8\\u7269\\u4E16\\u754C\\u8D85\\u6E05\",\"\\u76F8\\u58F0\\u5C0F\\u54C1\\u8D85\\u6E05\",\"\\u620F\\u66F2\",\"\\u89E3\\u8BF4\",\"\\u6F14\\u8BB2\",\"\\u5C0F\\u59D0\\u59D0\\u8D85\\u6E05\",\"\\u8352\\u91CE\\u6C42\\u751F\\u8D85\\u6E05\",\"\\u5065\\u8EAB\",\"\\u5E15\\u6885\\u62C9\",\"\\u592A\\u6781\\u62F3\",\"\\u5E7F\\u573A\\u821E\",\"\\u821E\\u8E48\",\"\\u97F3\\u4E50\",\"\\u6B4C\\u66F2\",\"MV4K\",\"\\u821E\\u66F2\\u8D85\\u6E05\",\"4K\",\"\\u7535\\u5F71\",\"\\u7535\\u89C6\\u5267\",\"\\u767D\\u566A\\u97F3\\u8D85\\u6E05\",\"\\u8003\\u516C\\u8003\\u8BC1\",\"\\u5E73\\u9762\\u8BBE\\u8BA1\\u6559\\u5B66\",\"\\u8F6F\\u4EF6\\u6559\\u7A0B\",\"Windows\",\"\\u9009\\u7F8E\",\"\\u6A21\\u7279\",\"\\u6CF3\\u88C5\\u79C0\",\"\\u5185\\u8863\\u79C0\",\"4K\\u97F3\\u4E50\",\"MV\",\"4K MV\",\"\\u5973\\u56E2\",\"\\u76F4\\u64AD\\u5E73\\u53F0\",\"\\u6F14\\u5531\\u4F1A\",\"\\u8BFE\\u7A0B\\u8F85\\u5BFC\",\"\\u98CE\\u666F\",\"\\u7F8E\\u98DF\",\"\\u76F8\\u58F0\\u5C0F\\u54C1\",\"\\u52A8\\u7269\\u4E16\\u754C\",\"\\u513F\\u7AE5\\u5C11\\u513F\"];function j1(){let[e]=J.Form.useForm(),[t,n]=(0,W.useState)(!1),[r,o]=(0,W.useState)(!1),[a,i]=(0,W.useState)({hasCookie:!1,cookieLength:0,lastUpdate:\"\\u672A\\u77E5\"}),[s,l]=(0,W.useState)(null),[u,f]=(0,W.useState)(null),[d,c]=(0,W.useState)(\"basic\"),[m,x]=(0,W.useState)([]),v=async()=>{var E;try{let N=await Jn.get(\"/bilibili/config\"),U=\"\",K=!1;if(N.classes_all&&N.classes_all.trim())try{let he=JSON.parse(N.classes_all.trim());if(Array.isArray(he)){if(typeof he[0]==\"string\")x(he),U=JSON.stringify(he,null,2);else{let Ce=he.filter(He=>He&&He.type_id).map(He=>He.type_id);x(Ce),U=JSON.stringify(Ce,null,2)}K=!0}}catch(he){console.warn(\"\\u89E3\\u6790classes_all\\u5931\\u8D25:\",he)}if(!K){console.log(\"\\u6570\\u636E\\u5E93\\u4E2D\\u6CA1\\u6709\\u5206\\u7C7B\\u6570\\u636E\\uFF0C\\u4F7F\\u7528\\u5E76\\u4FDD\\u5B58\\u9ED8\\u8BA4\\u5206\\u7C7B\"),x(Kn),U=JSON.stringify(Kn,null,2);try{let he={classes_all:JSON.stringify(Kn)};await Jn.put(\"/bilibili/config\",he),console.log(\"\\u9ED8\\u8BA4\\u5206\\u7C7B\\u5DF2\\u4FDD\\u5B58\\u5230\\u6570\\u636E\\u5E93\")}catch(he){console.error(\"\\u4FDD\\u5B58\\u9ED8\\u8BA4\\u5206\\u7C7B\\u5931\\u8D25:\",he)}}let se={cookie:N.cookie||\"\",classes_all:U};e.getFieldValue(\"cookie\")||e.setFieldsValue(se),i({hasCookie:!!(N.cookie&&N.cookie.length>0),cookieLength:((E=N.cookie)==null?void 0:E.length)||0,lastUpdate:N.lastUpdate?new Date(N.lastUpdate).toLocaleString():\"\\u672A\\u77E5\"}),l(N.user_info||null),f(null)}catch(N){console.error(\"\\u52A0\\u8F7D\\u914D\\u7F6E\\u5931\\u8D25:\",N),J.message.error(\"\\u52A0\\u8F7D\\u914D\\u7F6E\\u5931\\u8D25\"),x(Kn)}},h=async()=>{var E,N;try{o(!0),f(null);let{cookie:U}=e.getFieldsValue([\"cookie\"]);if(!U||U.trim().length<50){J.message.warning(\"\\u8BF7\\u8F93\\u5165\\u5B8C\\u6574\\u7684Cookie\");return}let K=await ps.default.post(\"/spider/bili_all/3/validate-cookie\",{cookie:U.trim()});K.data.code===0?(f(K.data.data),J.message.success(\"Cookie\\u9A8C\\u8BC1\\u6210\\u529F\\uFF01\")):J.message.warning(K.data.message||\"Cookie\\u65E0\\u6548\\u6216\\u5DF2\\u8FC7\\u671F\")}catch(U){console.error(\"\\u9A8C\\u8BC1\\u5931\\u8D25:\",U),J.message.error(\"\\u9A8C\\u8BC1\\u5931\\u8D25: \"+(((N=(E=U.response)==null?void 0:E.data)==null?void 0:N.message)||U.message))}finally{o(!1)}},y=async()=>{var E,N,U,K;try{n(!0);let he={cookie:(await e.validateFields()).cookie||\"\",classes_all:e.getFieldValue(\"classes_all\")||JSON.stringify(m)},Ce=await Jn.put(\"/bilibili/config\",he);(E=Ce.testResult)!=null&&E.success?J.message.success(\"Cookie\\u4FDD\\u5B58\\u6210\\u529F\\uFF0C\\u5DF2\\u751F\\u6548\"):J.message.success(\"\\u57FA\\u7840\\u914D\\u7F6E\\u4FDD\\u5B58\\u6210\\u529F\"),l(Ce.userInfo||null),f(null),i({hasCookie:!!he.cookie,cookieLength:((N=he.cookie)==null?void 0:N.length)||0,lastUpdate:Ce.lastUpdate?new Date(Ce.lastUpdate).toLocaleString():new Date().toLocaleString()})}catch(se){(K=(U=se.responseData)==null?void 0:U.data)!=null&&K.validationFailed?J.message.warning(se.message||\"Cookie\\u65E0\\u6548\\uFF0C\\u914D\\u7F6E\\u672A\\u4FDD\\u5B58\"):J.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25: \"+(se.message||\"\\u672A\\u77E5\\u9519\\u8BEF\"))}finally{n(!1)}},b=async()=>{try{n(!0);let E=JSON.stringify(m.filter(U=>U&&U.trim()!==\"\")),N={classes_all:E};await Jn.put(\"/bilibili/config\",N),J.message.success(\"\\u5206\\u7C7B\\u914D\\u7F6E\\u4FDD\\u5B58\\u6210\\u529F\"),e.setFieldsValue({classes_all:E}),await v()}catch(E){J.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25: \"+(E.message||\"\\u672A\\u77E5\\u9519\\u8BEF\"))}finally{n(!1)}},O=async()=>{try{await Jn.delete(\"/bilibili/config\"),J.message.success(\"\\u914D\\u7F6E\\u5DF2\\u6E05\\u9664\"),f(null),x(Kn),await v()}catch(E){J.message.error(\"\\u6E05\\u9664\\u5931\\u8D25: \"+(E.message||\"\\u672A\\u77E5\\u9519\\u8BEF\"))}},w=()=>{let E=[...m,\"\\u65B0\\u5206\\u7C7B\"];x(E)},D=(E,N)=>{let U=[...m];U[E]=N,x(U)},S=E=>{let N=[...m];N.splice(E,1),x(N)},F=()=>{x([]),J.message.success(\"\\u5DF2\\u6E05\\u7A7A\\u6240\\u6709\\u5206\\u7C7B\")},T=E=>{if(!E.destination)return;let N=Array.from(m),[U]=N.splice(E.source.index,1);N.splice(E.destination.index,0,U),x(N)},P=()=>{x(Kn),J.message.success(\"\\u5DF2\\u52A0\\u8F7D\\u9ED8\\u8BA4\\u5206\\u7C7B\")};(0,W.useEffect)(()=>{v()},[]);let V=u||s;return W.default.createElement(J.Card,null,W.default.createElement(J.Tabs,{activeKey:d,onChange:c,tabBarStyle:{marginBottom:16,whiteSpace:\"nowrap\",overflowX:\"auto\",overflowY:\"hidden\",WebkitOverflowScrolling:\"touch\"},tabBarGutter:8},W.default.createElement(Sf,{tab:\"\\u57FA\\u7840\\u914D\\u7F6E\",key:\"basic\"},W.default.createElement(J.Row,{gutter:24},W.default.createElement(J.Col,{span:24},W.default.createElement(J.Card,{size:\"small\",title:\"\\u5F53\\u524D\\u767B\\u5F55\\u4FE1\\u606F\",style:{marginBottom:16}},V?W.default.createElement(J.Row,{gutter:16,align:\"middle\"},W.default.createElement(J.Col,null,W.default.createElement(J.Avatar,{src:V.face,size:64})),W.default.createElement(J.Col,null,W.default.createElement(bt,{strong:!0,style:{fontSize:16}},V.nickname),W.default.createElement(\"br\",null),W.default.createElement(bt,{type:\"secondary\"},\"\\u7B49\\u7EA7 LV\",V.level||\"?\"),W.default.createElement(\"br\",null),W.default.createElement(bt,{type:\"success\",strong:!0},V.vip),u&&W.default.createElement(bt,{type:\"warning\",style:{marginLeft:8}},\"(\\u4EC5\\u6D4B\\u8BD5\\uFF0C\\u672A\\u4FDD\\u5B58)\"))):W.default.createElement(bt,{type:\"warning\"},\"\\u672A\\u767B\\u5F55\\u6216Cookie\\u65E0\\u6548\")),W.default.createElement(J.Card,{size:\"small\",style:{marginBottom:16}},W.default.createElement(J.Row,{gutter:16},W.default.createElement(J.Col,{span:8},W.default.createElement(bt,{strong:!0},\"Cookie\\u72B6\\u6001: \"),W.default.createElement(bt,{type:a.hasCookie?\"success\":\"warning\"},a.hasCookie?\"\\u5DF2\\u8BBE\\u7F6E\":\"\\u672A\\u8BBE\\u7F6E\")),W.default.createElement(J.Col,{span:8},W.default.createElement(bt,{strong:!0},\"\\u957F\\u5EA6: \"),W.default.createElement(bt,null,a.cookieLength,\" \\u5B57\\u7B26\")),W.default.createElement(J.Col,{span:8},W.default.createElement(bt,{strong:!0},\"\\u6700\\u540E\\u66F4\\u65B0: \"),W.default.createElement(bt,null,a.lastUpdate)))),W.default.createElement(J.Form,{form:e,layout:\"vertical\"},W.default.createElement(J.Form.Item,{label:\"\\u7528\\u6237 Cookie\",name:\"cookie\",rules:[{validator:(E,N)=>N&&N.trim().length>0&&N.trim().length<50?Promise.reject(new Error(\"Cookie\\u592A\\u77ED\\uFF0C\\u8BF7\\u68C0\\u67E5\\u683C\\u5F0F\")):Promise.resolve()}]},W.default.createElement(J.Input.TextArea,{rows:4,placeholder:\"SESSDATA=xxx; bili_jct=xxx; DedeUserID=xxx; ...\"})),W.default.createElement(J.Form.Item,null,W.default.createElement(J.Space,null,W.default.createElement(J.Button,{onClick:h,loading:r,type:\"default\"},\"\\u9A8C\\u8BC1 Cookie\"),W.default.createElement(J.Button,{onClick:O,danger:!0},\"\\u6E05\\u9664\\u6240\\u6709\\u914D\\u7F6E\"))),W.default.createElement(J.Form.Item,null,W.default.createElement(J.Button,{type:\"primary\",onClick:y,loading:t,block:!0,size:\"large\"},\"\\u4FDD\\u5B58\\u57FA\\u7840\\u914D\\u7F6E\"))),W.default.createElement(J.Input.TextArea,{name:\"classes_all\",hidden:!0})))),W.default.createElement(Sf,{tab:\"\\u5206\\u7C7B\\u914D\\u7F6E\",key:\"classes\"},W.default.createElement(J.Row,{gutter:24},W.default.createElement(J.Col,{span:24},W.default.createElement(\"div\",{style:{marginBottom:16}},W.default.createElement(bt,{type:\"secondary\"},\"\\u5206\\u7C7B\\u5C06\\u4F5C\\u4E3A\\u641C\\u7D22\\u5173\\u952E\\u8BCD\\u4F7F\\u7528\\u3002\\u62D6\\u52A8\\u5206\\u7C7B\\u53EF\\u4EE5\\u91CD\\u65B0\\u6392\\u5E8F\\u3002\")),W.default.createElement(Da,{onDragEnd:T},W.default.createElement(Ea,{droppableId:\"classes\"},E=>W.default.createElement(\"div\",I(C({},E.droppableProps),{ref:E.innerRef,style:{minHeight:200}}),m.map((N,U)=>W.default.createElement(Ia,{key:U,draggableId:U.toString(),index:U},K=>W.default.createElement(\"div\",I(C(C({ref:K.innerRef},K.draggableProps),K.dragHandleProps),{style:I(C({},K.draggableProps.style),{marginBottom:8,padding:8,border:\"1px solid #d9d9d9\",borderRadius:4,backgroundColor:\"#fff\",display:\"flex\",alignItems:\"center\"})}),W.default.createElement(\"div\",{style:{marginRight:8,cursor:\"move\"}},W.default.createElement(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},W.default.createElement(\"path\",{d:\"M8 7H16M8 12H16M8 17H16\",stroke:\"#999\",strokeWidth:\"2\",strokeLinecap:\"round\"}))),W.default.createElement(J.Input,{value:N,onChange:se=>D(U,se.target.value),style:{flex:1},placeholder:\"\\u8F93\\u5165\\u5206\\u7C7B\\u540D\\u79F0\"}),W.default.createElement(J.Button,{danger:!0,onClick:()=>S(U),style:{marginLeft:8}},\"\\u5220\\u9664\")))),E.placeholder))),m.length===0&&W.default.createElement(bt,{type:\"secondary\",style:{display:\"block\",textAlign:\"center\",padding:\"20px\"}},'\\u6682\\u65E0\\u5206\\u7C7B\\uFF0C\\u70B9\\u51FB\"\\u6DFB\\u52A0\\u5206\\u7C7B\"\\u6309\\u94AE\\u6DFB\\u52A0'),W.default.createElement(\"div\",{style:{marginTop:16,display:\"flex\",justifyContent:\"space-between\"}},W.default.createElement(J.Button,{type:\"dashed\",onClick:w},\"\\u6DFB\\u52A0\\u5206\\u7C7B\"),W.default.createElement(J.Button,{type:\"dashed\",onClick:P},\"\\u52A0\\u8F7D\\u9ED8\\u8BA4\\u5206\\u7C7B\"),W.default.createElement(J.Button,{danger:!0,onClick:F},\"\\u6E05\\u7A7A\\u5206\\u7C7B\")),W.default.createElement(\"div\",{style:{marginTop:24}},W.default.createElement(J.Button,{type:\"primary\",onClick:b,loading:t,block:!0,size:\"large\"},\"\\u4FDD\\u5B58\\u5206\\u7C7B\\u914D\\u7F6E\")))))))}var Of=j1;var L=B(R(),1),$=B(Pe(),1);var op=B(nt(),1),ap=B(np(),1);var{Text:ka,Title:_I}=$.Typography,Bw=e=>{let t=op.default.create({baseURL:e});return t.interceptors.response.use(n=>{if(n.data.code!==0)throw $.message.error(n.data.message||\"\\u8BF7\\u6C42\\u5931\\u8D25\"),new Error(n.data.message);return n.data.data},n=>{var r,o;return $.message.error(((o=(r=n.response)==null?void 0:r.data)==null?void 0:o.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"),Promise.reject(n)}),t},xs=Bw(\"/website/live\"),rp={name:\"\\u65B0\\u76F4\\u64AD\\u6E90_\".concat(Date.now().toString().slice(-4)),url:\"\",ua:\"okhttp/3.15\",enabled:!0,logoUrl:\"\"},ip=L.default.memo(({field:e,remove:t,fieldsCount:n,onCopy:r,index:o})=>{let m=e,{key:a,name:i,fieldKey:s}=m,l=Ft(m,[\"key\",\"name\",\"fieldKey\"]),[u,f]=(0,L.useState)(!1),d=$.Form.useFormInstance(),c=$.Form.useWatch([\"liveSources\",i],d)||{};return L.default.createElement($.Card,{size:\"small\",style:{marginBottom:12,borderLeft:\"4px solid #1890ff\",borderRadius:8},bodyStyle:{padding:16}},L.default.createElement(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"flex-start\",marginBottom:u?12:0,cursor:\"pointer\",gap:8},onClick:()=>f(!u)},L.default.createElement(\"div\",{style:{flex:1,minWidth:0}},L.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,marginBottom:4,flexWrap:\"wrap\"}},L.default.createElement(ka,{strong:!0,style:{color:\"#1890ff\",fontSize:14}},c.name||\"\\u76F4\\u64AD\\u6E90 #\".concat(o+1)),c.enabled!==!1&&L.default.createElement($.Tag,{color:\"green\",style:{fontSize:10}},\"\\u5DF2\\u542F\\u7528\"),c.enabled===!1&&L.default.createElement($.Tag,{color:\"default\",style:{fontSize:10}},\"\\u5DF2\\u7981\\u7528\")),L.default.createElement(\"div\",null,L.default.createElement(ka,{type:\"secondary\",style:{fontSize:12,wordBreak:\"break-all\"}},c.url||\"\\u672A\\u8BBE\\u7F6E\\u5730\\u5740\"))),L.default.createElement($.Space,{onClick:x=>x.stopPropagation(),style:{flexShrink:0,alignSelf:\"flex-start\"}},L.default.createElement($.Tooltip,{title:\"\\u590D\\u5236\\u914D\\u7F6E\"},L.default.createElement($.Button,{type:\"text\",size:\"small\",icon:L.default.createElement(lr,null),onClick:()=>r(e.name),style:{minWidth:36,minHeight:36}})),n>1&&L.default.createElement($.Popconfirm,{title:\"\\u786E\\u5B9A\\u5220\\u9664\\u8BE5\\u914D\\u7F6E\\u5417\\uFF1F\",onConfirm:()=>t(i),okText:\"\\u5220\\u9664\",cancelText:\"\\u53D6\\u6D88\",placement:\"topRight\"},L.default.createElement($.Button,{type:\"text\",danger:!0,size:\"small\",icon:L.default.createElement(Ue,null),style:{minWidth:36,minHeight:36}})))),u&&L.default.createElement(L.default.Fragment,null,L.default.createElement(\"div\",{style:{height:12}}),L.default.createElement($.Row,{gutter:[16,12]},L.default.createElement($.Col,{xs:24,md:12},L.default.createElement($.Form.Item,I(C({},l),{name:[i,\"name\"],label:L.default.createElement($.Space,{size:\"small\"},L.default.createElement(\"span\",null,\"\\u76F4\\u64AD\\u6E90\\u540D\\u79F0\"),L.default.createElement($.Tooltip,{title:\"\\u5FC5\\u586B\\uFF0C\\u7528\\u4E8E\\u6807\\u8BC6\\u76F4\\u64AD\\u6E90\"},L.default.createElement(jt,{style:{color:\"#999\",fontSize:\"12px\"}}))),rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u540D\\u79F0\"},{max:50,message:\"\\u540D\\u79F0\\u4E0D\\u80FD\\u8D85\\u8FC750\\u4E2A\\u5B57\\u7B26\"}]}),L.default.createElement($.Input,{placeholder:\"\\u5982\\uFF1A\\u80A5\\u7F8A\\u76F4\\u64AD\",maxLength:50,showCount:!0}))),L.default.createElement($.Col,{xs:24,md:12},L.default.createElement($.Form.Item,I(C({},l),{name:[i,\"url\"],label:L.default.createElement($.Space,{size:\"small\"},L.default.createElement(\"span\",null,\"\\u76F4\\u64AD\\u6E90\\u5730\\u5740\"),L.default.createElement($.Tooltip,{title:\"\\u5FC5\\u586B\\uFF0C\\u652F\\u6301\\u6DFB\\u52A0\\u81EA\\u5B9A\\u4E49\\u8BF7\\u6C42\\u5934\\uFF0C\\u5982\\uFF1Ahttp://example.com/live.m3u|Referer=xxx&Origin=xxx\"},L.default.createElement(jt,{style:{color:\"#999\",fontSize:\"12px\"}}))),rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u5730\\u5740\"},{type:\"url\",message:\"\\u8BF7\\u8F93\\u5165\\u6709\\u6548\\u7684URL\\u5730\\u5740\"}]}),L.default.createElement($.Input,{placeholder:\"https://xxx.com/live.m3u\"})))),L.default.createElement($.Row,{gutter:[16,12]},L.default.createElement($.Col,{xs:24,md:12},L.default.createElement($.Form.Item,I(C({},l),{name:[i,\"ua\"],label:\"User-Agent\",initialValue:\"okhttp/3.15\"}),L.default.createElement($.Input,{placeholder:\"\\u4E0D\\u586B\\u9ED8\\u8BA4\\u4E3A: okhttp/3.15\",suffix:L.default.createElement($.Tooltip,{title:\"\\u9ED8\\u8BA4\\u503C\\uFF1Aokhttp/3.15\"},L.default.createElement(jt,{style:{color:\"#999\"}}))}))),L.default.createElement($.Col,{xs:24,md:12},L.default.createElement($.Form.Item,I(C({},l),{name:[i,\"logoUrl\"],label:L.default.createElement($.Space,{size:\"small\"},L.default.createElement(\"span\",null,\"Logo\\u5730\\u5740\"),L.default.createElement($.Tooltip,{title:\"\\u7559\\u7A7A\\u5C06\\u4F7F\\u7528\\u9ED8\\u8BA4logo\\uFF0C\\u5EFA\\u8BAE\\u4F7F\\u7528100\\xD7100\\u50CF\\u7D20\\u7684\\u56FE\\u7247\"},L.default.createElement(jt,{style:{color:\"#999\",fontSize:\"12px\"}})))}),L.default.createElement($.Input,{placeholder:\"https://xxx.com/logo.png\",suffix:L.default.createElement($.Tooltip,{title:\"\\u5EFA\\u8BAE\\u4F7F\\u7528HTTPS\\u94FE\\u63A5\"},L.default.createElement(jt,{style:{color:\"#999\"}}))})))),L.default.createElement($.Row,{justify:\"space-between\",align:\"middle\"},L.default.createElement($.Col,null,L.default.createElement($.Form.Item,I(C({},l),{name:[i,\"enabled\"],valuePropName:\"checked\",initialValue:!0,label:\"\\u72B6\\u6001\",style:{marginBottom:0}}),L.default.createElement($.Switch,{checkedChildren:\"\\u542F\\u7528\",unCheckedChildren:\"\\u7981\\u7528\",size:\"default\"}))))))});ip.displayName=\"LiveSourceItem\";function Lw(){let[e]=$.Form.useForm(),[t,n]=(0,L.useState)(!1),[r,o]=(0,L.useState)(!1),a=(0,L.useCallback)(async()=>{try{n(!0);let f=await xs.get(\"/config\"),d=Array.isArray(f)?f.map(c=>I(C({},c),{ua:c.ua||\"okhttp/3.15\",logoUrl:c.logoUrl||\"\"})):[];e.setFieldsValue({liveSources:d})}catch(f){console.error(\"\\u52A0\\u8F7D\\u914D\\u7F6E\\u5931\\u8D25:\",f),$.message.error(\"\\u52A0\\u8F7D\\u914D\\u7F6E\\u5931\\u8D25\")}finally{n(!1)}},[e]),i=(0,L.useCallback)((0,ap.default)(async f=>{try{o(!0);let d=(f.liveSources||[]).filter(c=>{var m,x;return((m=c.name)==null?void 0:m.trim())&&((x=c.url)==null?void 0:x.trim())}).map(c=>I(C({},c),{ua:c.ua||\"okhttp/3.15\",logoUrl:c.logoUrl||\"\"}));if(d.length===0){$.message.warning(\"\\u8BF7\\u81F3\\u5C11\\u6DFB\\u52A0\\u4E00\\u4E2A\\u6709\\u6548\\u7684\\u76F4\\u64AD\\u6E90\");return}await xs.put(\"/config\",d),$.message.success(\"\\u914D\\u7F6E\\u4FDD\\u5B58\\u6210\\u529F\"),await a()}catch(d){console.error(\"\\u4FDD\\u5B58\\u5931\\u8D25:\",d),$.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\")}finally{o(!1)}},300),[a]),s=async()=>{try{let f=await e.validateFields();await i(f)}catch(f){console.error(\"\\u8868\\u5355\\u9A8C\\u8BC1\\u5931\\u8D25:\",f)}},l=async()=>{try{await xs.delete(\"/config\"),$.message.success(\"\\u6240\\u6709\\u914D\\u7F6E\\u5DF2\\u6E05\\u7A7A\"),await a()}catch(f){console.error(\"\\u6E05\\u9664\\u914D\\u7F6E\\u5931\\u8D25:\",f),$.message.error(\"\\u6E05\\u9664\\u914D\\u7F6E\\u5931\\u8D25\")}},u=(0,L.useCallback)(f=>{let d=e.getFieldValue(\"liveSources\")||[],c=d[f];if(c){let m=I(C({},c),{name:\"\".concat(c.name,\"_\\u526F\\u672C\").concat(Date.now().toString().slice(-4))}),x=[...d,m];e.setFieldsValue({liveSources:x}),$.message.success(\"\\u914D\\u7F6E\\u9879\\u5DF2\\u590D\\u5236\")}},[e]);return(0,L.useEffect)(()=>{a()},[a]),L.default.createElement($.Spin,{spinning:t,tip:\"\\u52A0\\u8F7D\\u914D\\u7F6E\\u4E2D...\"},L.default.createElement($.Card,{title:\"\\u76F4\\u64AD\\u6E90\\u914D\\u7F6E\",extra:L.default.createElement(ka,{type:\"secondary\"},\"\\u6700\\u540E\\u66F4\\u65B0: \",new Date().toLocaleDateString()),style:{borderRadius:8},headStyle:{borderBottom:\"1px solid #f0f0f0\"}},L.default.createElement($.Alert,{message:null,description:L.default.createElement(\"div\",{style:{fontSize:\"13px\"}},L.default.createElement(\"p\",null,\"1. UA\\u7559\\u7A7A\\u65F6\\uFF0C\\u5C06\\u4F7F\\u7528\\u9ED8\\u8BA4\\u503C\\uFF1Aokhttp/3.15\"),L.default.createElement(\"p\",null,\"2. \\u53EF\\u5728URL\\u540E\\u6DFB\\u52A0\\u81EA\\u5B9A\\u4E49\\u8BF7\\u6C42\\u5934\\uFF0C\\u683C\\u5F0F\\uFF1Ahttp://example.com/live.m3u|Referer=xxx&Origin=xxx\")),type:\"info\",showIcon:!0,icon:L.default.createElement(jt,null),style:{marginBottom:20}}),L.default.createElement($.Form,{form:e,layout:\"vertical\",initialValues:{liveSources:[]},size:\"middle\"},L.default.createElement($.Form.List,{name:\"liveSources\"},(f,{add:d,remove:c})=>L.default.createElement(L.default.Fragment,null,L.default.createElement(\"div\",{style:{marginBottom:16,display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\"}},L.default.createElement(ka,{strong:!0},\"\\u76F4\\u64AD\\u6E90\\u5217\\u8868 (\",f.length,\")\"),L.default.createElement($.Space,null,L.default.createElement($.Button,{type:\"dashed\",onClick:()=>d(rp),icon:L.default.createElement(Re,null),size:\"middle\"},\"\\u65B0\\u589E\\u76F4\\u64AD\\u6E90\"),f.length>0&&L.default.createElement($.Popconfirm,{title:\"\\u786E\\u5B9A\\u6E05\\u7A7A\\u6240\\u6709\\u76F4\\u64AD\\u6E90\\u5417\\uFF1F\",onConfirm:l,okText:\"\\u786E\\u5B9A\",cancelText:\"\\u53D6\\u6D88\"},L.default.createElement($.Button,{danger:!0,size:\"middle\"},\"\\u6E05\\u7A7A\\u5168\\u90E8\")))),f.length===0?L.default.createElement($.Empty,{description:\"\\u6682\\u65E0\\u76F4\\u64AD\\u6E90\\u914D\\u7F6E\",image:$.Empty.PRESENTED_IMAGE_SIMPLE,style:{margin:\"40px 0\"}},L.default.createElement($.Button,{type:\"primary\",onClick:()=>d(rp),icon:L.default.createElement(Re,null)},\"\\u6DFB\\u52A0\\u7B2C\\u4E00\\u4E2A\\u76F4\\u64AD\\u6E90\")):L.default.createElement(\"div\",{style:{paddingRight:8}},f.map((m,x)=>L.default.createElement(ip,{key:m.key,field:m,remove:c,fieldsCount:f.length,onCopy:u,index:x}))),f.length>0&&L.default.createElement(\"div\",{style:{background:\"#fff\",padding:\"16px 0\",borderTop:\"1px solid #f0f0f0\",marginTop:16}},L.default.createElement($.Space,{size:\"middle\"},L.default.createElement($.Button,{type:\"primary\",icon:L.default.createElement(Yt,null),onClick:s,loading:r,size:\"large\",style:{minWidth:120}},r?\"\\u4FDD\\u5B58\\u4E2D...\":\"\\u4FDD\\u5B58\\u914D\\u7F6E\"),L.default.createElement($.Button,{onClick:()=>window.location.reload(),size:\"large\"},\"\\u5237\\u65B0\\u9875\\u9762\"))))))))}var sp=L.default.memo(Lw);var M=B(R(),1),j=B(Pe(),1);var{Title:$I,Text:Mw,Paragraph:UI}=j.Typography,{useToken:Vw}=j.theme,vs=()=>\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e===\"x\"?t:t&3|8).toString(16)});function zw(){let[e]=j.Form.useForm(),[t,n]=(0,M.useState)({}),[r,o]=(0,M.useState)(!1),[a,i]=(0,M.useState)({}),{token:s}=Vw(),l=\"/website/alist/config\",u=async()=>{o(!0);try{let x=await(await fetch(l)).json();if(x.code===0&&x.data){let v=(Array.isArray(x.data)?x.data:[]).map(b=>I(C({},b),{id:b.id||vs()}));e.setFieldsValue({servers:v});let h={},y={};v.forEach(b=>{h[b.id]=!1,y[b.id]=b.token?\"token\":\"password\"}),n(h),i(y)}}catch(m){console.error(\"\\u52A0\\u8F7DAlist\\u914D\\u7F6E\\u5931\\u8D25:\",m),j.message.error(\"\\u52A0\\u8F7D\\u914D\\u7F6E\\u5931\\u8D25\")}finally{o(!1)}},f=m=>{n(x=>I(C({},x),{[m]:!x[m]}))},d=async()=>{o(!0);try{let v=((await e.validateFields()).servers||[]).map(b=>I(C({},b),{id:b.id||vs(),timeout:3e4})),y=await(await fetch(l,{method:\"PUT\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(v)})).json();if(y.code===0)j.message.success({content:\"Alist\\u914D\\u7F6E\\u4FDD\\u5B58\\u6210\\u529F\",style:{marginTop:\"50vh\"}});else throw new Error(y.message)}catch(m){console.error(\"\\u4FDD\\u5B58\\u5931\\u8D25:\",m),j.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25: \".concat(m.message))}finally{o(!1)}};(0,M.useEffect)(()=>{u()},[]);let c={background:\"linear-gradient(135deg, \".concat(s.colorPrimaryBg,\" 0%, \").concat(s.colorBgContainer,\" 100%)\"),borderRadius:s.borderRadiusLG,padding:\"16px 20px\",margin:\"-1px -1px 0 -1px\",borderBottom:\"1px solid \".concat(s.colorBorderSecondary)};return M.default.createElement(j.ConfigProvider,{theme:{token:{borderRadius:8,colorPrimary:\"#722ed1\"},components:{Card:{paddingLG:20},Form:{labelFontSize:13,verticalLabelPadding:\"0 0 6px\"}}}},M.default.createElement(\"div\",{style:{maxWidth:1200,margin:\"0 auto\"}},M.default.createElement(\"div\",{style:{marginBottom:24}},M.default.createElement(j.Alert,{message:\"\\u8BA4\\u8BC1\\u65B9\\u5F0F\\u8BF4\\u660E\",description:M.default.createElement(\"div\",null,M.default.createElement(\"p\",null,\"\\u2022 \",M.default.createElement(\"strong\",null,\"\\u7528\\u6237\\u540D/\\u5BC6\\u7801\\u8BA4\\u8BC1\"),\"\\uFF1A\\u4F7F\\u7528 Alist \\u7BA1\\u7406\\u5458\\u7684\\u8D26\\u53F7\\u5BC6\\u7801\\u767B\\u5F55\"),M.default.createElement(\"p\",null,\"\\u2022 \",M.default.createElement(\"strong\",null,\"Token \\u8BA4\\u8BC1\"),\"\\uFF1A\\u5728 Alist \\u540E\\u53F0\\u751F\\u6210\\u7684\\u8BBF\\u95EE\\u4EE4\\u724C\\uFF0C\\u66F4\\u5B89\\u5168\"),M.default.createElement(\"p\",null,\"\\u2022 \\u4E24\\u79CD\\u8BA4\\u8BC1\\u65B9\\u5F0F\\u9009\\u62E9\\u4E00\\u79CD\\u5373\\u53EF\\uFF0CToken \\u8BA4\\u8BC1\\u4F18\\u5148\\u7EA7\\u66F4\\u9AD8\")),type:\"info\",showIcon:!0,icon:M.default.createElement(Pn,null),style:{background:s.colorPrimaryBg,border:\"1px solid \".concat(s.colorPrimaryBorder),borderRadius:s.borderRadiusLG,marginBottom:24}})),M.default.createElement(j.Form,{form:e,layout:\"vertical\"},M.default.createElement(j.Form.List,{name:\"servers\"},(m,{add:x,remove:v})=>{let h=()=>{let O=vs(),w={id:O,name:\"Alist\\u670D\\u52A1\\u5668 \".concat(m.length+1),server:\"\",username:\"\",password:\"\",token:\"\",enabled:!0};x(w),n(D=>I(C({},D),{[O]:!0})),i(D=>I(C({},D),{[O]:\"password\"}))},y=O=>{if(m.length<=1){j.message.warning(\"\\u81F3\\u5C11\\u4FDD\\u7559\\u4E00\\u4E2A\\u670D\\u52A1\\u5668\\u914D\\u7F6E\");return}let w=m.findIndex(D=>{let S=e.getFieldValue([\"servers\",D.name]);return S&&S.id===O});w!==-1&&(v(w),n(D=>{let S=C({},D);return delete S[O],S}),i(D=>{let S=C({},D);return delete S[O],S}))},b=(O,w)=>{i(D=>I(C({},D),{[O]:w}))};return M.default.createElement(\"div\",{style:{marginBottom:24}},m.map(O=>{let w=e.getFieldValue([\"servers\",O.name,\"id\"]),D=e.getFieldValue([\"servers\",O.name,\"name\"])||\"Alist\\u670D\\u52A1\\u5668 \".concat(O.name+1),S=e.getFieldValue([\"servers\",O.name,\"enabled\"])!==!1,F=a[w]||\"password\",T=t[w]||!1;return M.default.createElement(j.Card,{key:O.key,style:{marginBottom:16,borderRadius:s.borderRadiusLG,border:\"1px solid \".concat(S?\"#722ed1\":s.colorBorderSecondary),boxShadow:\"0 2px 8px rgba(114,46,209,0.08)\",overflow:\"hidden\",transition:\"all 0.3s\"},bodyStyle:{padding:0}},M.default.createElement(\"div\",{style:I(C({},c),{borderLeft:S?\"4px solid #722ed1\":\"4px solid transparent\"})},M.default.createElement(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\"}},M.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:12}},M.default.createElement(j.Badge,{color:S?\"#722ed1\":\"default\",text:M.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8}},M.default.createElement(\"span\",{style:{fontWeight:500,fontSize:15,color:s.colorTextHeading}},D),!S&&M.default.createElement(j.Tag,{color:\"default\",style:{fontSize:11}},\"\\u5DF2\\u7981\\u7528\"),M.default.createElement(j.Tag,{color:\"purple\",style:{fontSize:11,background:\"rgba(114,46,209,0.1)\"}},\"Alist\"))})),M.default.createElement(j.Space,null,M.default.createElement(j.Form.Item,I(C({},O),{name:[O.name,\"enabled\"],valuePropName:\"checked\",noStyle:!0}),M.default.createElement(j.Switch,{checkedChildren:\"\\u542F\\u7528\",unCheckedChildren:\"\\u7981\\u7528\",size:\"small\",style:{background:S?\"#722ed1\":void 0}})),M.default.createElement(j.Button,{type:\"text\",size:\"small\",icon:T?M.default.createElement(_t,null):M.default.createElement(Pt,null),onClick:()=>f(w),style:{color:s.colorTextSecondary}}),m.length>1&&M.default.createElement(j.Tooltip,{title:\"\\u5220\\u9664\\u670D\\u52A1\\u5668\"},M.default.createElement(j.Button,{type:\"text\",size:\"small\",danger:!0,icon:M.default.createElement(Ue,null),onClick:()=>y(w)}))))),T&&M.default.createElement(\"div\",{style:{padding:\"24px 20px\",background:s.colorBgLayout}},M.default.createElement(j.Row,{gutter:[24,16]},M.default.createElement(j.Col,{span:24},M.default.createElement(j.Form.Item,I(C({},O),{label:M.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:6}},M.default.createElement(ur,{style:{fontSize:12}}),M.default.createElement(\"span\",null,\"\\u670D\\u52A1\\u5668\\u540D\\u79F0\")),name:[O.name,\"name\"],rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u670D\\u52A1\\u5668\\u540D\\u79F0\"}]}),M.default.createElement(j.Input,{placeholder:\"\\u4F8B\\u5982\\uFF1A\\u6211\\u7684Alist\\u670D\\u52A1\\u5668\",size:\"middle\"}))),M.default.createElement(j.Col,{span:24},M.default.createElement(j.Form.Item,I(C({},O),{label:\"\\u670D\\u52A1\\u5668\\u5730\\u5740\",name:[O.name,\"server\"],rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u670D\\u52A1\\u5668\\u5730\\u5740\"},{pattern:/^https?:\\/\\/.+/,message:\"\\u8BF7\\u8F93\\u5165\\u6B63\\u786E\\u7684URL\\uFF08\\u5305\\u542Bhttp://\\u6216https://\\uFF09\"}],tooltip:\"Alist\\u9ED8\\u8BA4\\u7AEF\\u53E3\\u4E3A5244\\uFF0C\\u5982\\uFF1Ahttp://192.168.1.100:5244\"}),M.default.createElement(j.Input,{placeholder:\"http://example.com:5244\",prefix:M.default.createElement(ln,{style:{color:s.colorTextQuaternary}}),size:\"middle\"}))),M.default.createElement(j.Col,{span:24},M.default.createElement(\"div\",{style:{marginBottom:16}},M.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,marginBottom:12}},M.default.createElement(Pn,{style:{color:\"#722ed1\"}}),M.default.createElement(Mw,{strong:!0,style:{fontSize:14}},\"\\u9009\\u62E9\\u8BA4\\u8BC1\\u65B9\\u5F0F\")),M.default.createElement(j.Segmented,{options:[{label:M.default.createElement(\"div\",{style:{padding:\"4px 8px\"}},M.default.createElement(Bn,{style:{marginRight:6}}),\"\\u7528\\u6237\\u540D/\\u5BC6\\u7801\"),value:\"password\"},{label:M.default.createElement(\"div\",{style:{padding:\"4px 8px\"}},M.default.createElement(_n,{style:{marginRight:6}}),\"Token\\u8BA4\\u8BC1\"),value:\"token\"}],value:F,onChange:P=>b(w,P),block:!0}))),F===\"password\"?M.default.createElement(M.default.Fragment,null,M.default.createElement(j.Col,{span:12},M.default.createElement(j.Form.Item,I(C({},O),{label:\"\\u7528\\u6237\\u540D\",name:[O.name,\"username\"]}),M.default.createElement(j.Input,{placeholder:\"Alist\\u7BA1\\u7406\\u5458\\u8D26\\u53F7\",prefix:M.default.createElement(Bn,{style:{color:s.colorTextQuaternary}}),size:\"middle\"}))),M.default.createElement(j.Col,{span:12},M.default.createElement(j.Form.Item,I(C({},O),{label:\"\\u5BC6\\u7801\",name:[O.name,\"password\"]}),M.default.createElement(j.Input.Password,{placeholder:\"\\u7BA1\\u7406\\u5458\\u5BC6\\u7801\",prefix:M.default.createElement(fr,{style:{color:s.colorTextQuaternary}}),size:\"middle\"})))):M.default.createElement(j.Col,{span:24},M.default.createElement(j.Form.Item,I(C({},O),{label:M.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:6}},M.default.createElement(_n,null),M.default.createElement(\"span\",null,\"Token\\u4EE4\\u724C\")),name:[O.name,\"token\"],tooltip:M.default.createElement(\"div\",null,M.default.createElement(\"p\",null,\"\\u5728Alist\\u540E\\u53F0\\u751F\\u6210\\uFF1A\\u8BBE\\u7F6E \\u2192 \\u8D26\\u53F7\\u8BBE\\u7F6E \\u2192 \\u4EE4\\u724C\"),M.default.createElement(\"p\",null,\"\\u6216\\u901A\\u8FC7API\\u83B7\\u53D6\\uFF1A/api/auth/login\"))}),M.default.createElement(j.Input.TextArea,{placeholder:\"\\u8BF7\\u8F93\\u5165Alist Token\",rows:3,style:{fontFamily:\"monospace\",fontSize:13}}))))))}),M.default.createElement(j.Button,{type:\"dashed\",onClick:h,block:!0,icon:M.default.createElement(Re,null),size:\"large\",style:{height:56,borderRadius:s.borderRadiusLG,borderStyle:\"dashed\",borderWidth:2,fontSize:15,borderColor:\"#722ed1\",color:\"#722ed1\"}},\"\\u6DFB\\u52A0\\u65B0\\u7684 Alist \\u670D\\u52A1\\u5668\"))}),M.default.createElement(\"div\",{style:{position:\"sticky\",bottom:0,background:s.colorBgContainer,padding:\"16px 0\",borderTop:\"1px solid \".concat(s.colorBorderSecondary),marginTop:24,zIndex:10}},M.default.createElement(j.Space,{size:\"middle\"},M.default.createElement(j.Button,{type:\"primary\",onClick:d,loading:r,size:\"large\",style:{minWidth:120,height:40,boxShadow:\"0 2px 6px rgba(114,46,209,0.2)\",background:\"#722ed1\",borderColor:\"#722ed1\"}},\"\\u4FDD\\u5B58\\u914D\\u7F6E\"),M.default.createElement(j.Button,{onClick:async()=>{o(!0);try{let x=await(await fetch(l,{method:\"DELETE\"})).json();if(x.code===0)j.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\"),await u();else throw new Error(x.message)}catch(m){j.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25: \"+m.message)}finally{o(!1)}},loading:r,size:\"large\",style:{height:40}},\"\\u91CD\\u7F6E\\u9ED8\\u8BA4\"))))))}var lp=zw;var q=B(R(),1),Q=B(Pe(),1);var{Title:KI,Text:JI,Paragraph:XI}=Q.Typography,{useToken:$w}=Q.theme,ys=()=>\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e===\"x\"?t:t&3|8).toString(16)});function Uw(){let[e]=Q.Form.useForm(),[t,n]=(0,q.useState)({}),[r,o]=(0,q.useState)(!1),{token:a}=$w(),i=\"/website/webdav/config\",s=async()=>{o(!0);try{let c=await(await fetch(i)).json();if(c.code===0&&c.data){let m=(Array.isArray(c.data)?c.data:[]).map(v=>I(C({},v),{id:v.id||ys()}));e.setFieldsValue({servers:m});let x={};m.forEach(v=>{x[v.id]=!1}),n(x)}}catch(d){console.error(\"\\u52A0\\u8F7DWebDAV\\u914D\\u7F6E\\u5931\\u8D25:\",d),Q.message.error(\"\\u52A0\\u8F7D\\u914D\\u7F6E\\u5931\\u8D25\")}finally{o(!1)}},l=d=>{n(c=>I(C({},c),{[d]:!c[d]}))},u=async()=>{o(!0);try{let m=((await e.validateFields()).servers||[]).map(h=>I(C({},h),{id:h.id||ys(),timeout:3e4})),v=await(await fetch(i,{method:\"PUT\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(m)})).json();if(v.code===0)Q.message.success({content:\"\\u914D\\u7F6E\\u4FDD\\u5B58\\u6210\\u529F\",style:{marginTop:\"50vh\"}});else throw new Error(v.message)}catch(d){console.error(\"\\u4FDD\\u5B58\\u5931\\u8D25:\",d),Q.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25: \".concat(d.message))}finally{o(!1)}};(0,q.useEffect)(()=>{s()},[]);let f={background:\"linear-gradient(135deg, \".concat(a.colorPrimaryBg,\" 0%, \").concat(a.colorBgContainer,\" 100%)\"),borderRadius:a.borderRadiusLG,padding:\"16px 20px\",margin:\"-1px -1px 0 -1px\",borderBottom:\"1px solid \".concat(a.colorBorderSecondary)};return q.default.createElement(Q.ConfigProvider,{theme:{token:{borderRadius:8,colorPrimary:\"#1890ff\"},components:{Card:{paddingLG:20},Form:{labelFontSize:13,verticalLabelPadding:\"0 0 6px\"}}}},q.default.createElement(\"div\",{style:{maxWidth:1200,margin:\"0 auto\"}},q.default.createElement(Q.Form,{form:e,layout:\"vertical\"},q.default.createElement(Q.Form.List,{name:\"servers\"},(d,{add:c,remove:m})=>{let x=()=>{let h=ys(),y={id:h,name:\"WebDAV\\u670D\\u52A1\\u5668 \".concat(d.length+1),server:\"\",path:\"/\",username:\"\",password:\"\",enabled:!0};c(y),n(b=>I(C({},b),{[h]:!0}))},v=h=>{if(d.length<=1){Q.message.warning(\"\\u81F3\\u5C11\\u4FDD\\u7559\\u4E00\\u4E2A\\u670D\\u52A1\\u5668\\u914D\\u7F6E\");return}let y=d.findIndex(b=>{let O=e.getFieldValue([\"servers\",b.name]);return O&&O.id===h});y!==-1&&(m(y),n(b=>{let O=C({},b);return delete O[h],O}))};return q.default.createElement(\"div\",{style:{marginBottom:24}},d.map(h=>{let y=e.getFieldValue([\"servers\",h.name,\"id\"]),b=e.getFieldValue([\"servers\",h.name,\"name\"])||\"\\u670D\\u52A1\\u5668 \".concat(h.name+1),O=e.getFieldValue([\"servers\",h.name,\"enabled\"])!==!1,w=t[y]||!1;return q.default.createElement(Q.Card,{key:h.key,style:{marginBottom:16,borderRadius:a.borderRadiusLG,border:\"1px solid \".concat(O?a.colorBorder:a.colorBorderSecondary),boxShadow:\"0 2px 8px rgba(0,0,0,0.06)\",overflow:\"hidden\",transition:\"all 0.3s\"},bodyStyle:{padding:0}},q.default.createElement(\"div\",{style:f},q.default.createElement(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\"}},q.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:12}},q.default.createElement(Q.Badge,{status:O?\"success\":\"default\",text:q.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8}},q.default.createElement(\"span\",{style:{fontWeight:500,fontSize:15,color:a.colorTextHeading}},b),!O&&q.default.createElement(Q.Tag,{color:\"default\",style:{fontSize:11}},\"\\u5DF2\\u7981\\u7528\"))})),q.default.createElement(Q.Space,null,q.default.createElement(Q.Form.Item,I(C({},h),{name:[h.name,\"enabled\"],valuePropName:\"checked\",noStyle:!0}),q.default.createElement(Q.Switch,{checkedChildren:\"\\u542F\\u7528\",unCheckedChildren:\"\\u7981\\u7528\",size:\"small\"})),q.default.createElement(Q.Button,{type:\"text\",size:\"small\",icon:w?q.default.createElement(_t,null):q.default.createElement(Pt,null),onClick:()=>l(y),style:{color:a.colorTextSecondary}}),d.length>1&&q.default.createElement(Q.Tooltip,{title:\"\\u5220\\u9664\\u670D\\u52A1\\u5668\"},q.default.createElement(Q.Button,{type:\"text\",size:\"small\",danger:!0,icon:q.default.createElement(Ue,null),onClick:()=>v(y)}))))),w&&q.default.createElement(\"div\",{style:{padding:\"24px 20px\",background:a.colorBgLayout}},q.default.createElement(Q.Row,{gutter:[24,16]},q.default.createElement(Q.Col,{span:24},q.default.createElement(Q.Form.Item,I(C({},h),{label:q.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:6}},q.default.createElement(ur,{style:{fontSize:12}}),q.default.createElement(\"span\",null,\"\\u670D\\u52A1\\u5668\\u540D\\u79F0\")),name:[h.name,\"name\"],rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u670D\\u52A1\\u5668\\u540D\\u79F0\"}]}),q.default.createElement(Q.Input,{placeholder:\"\\u4F8B\\u5982\\uFF1A\\u6211\\u7684WebDAV\\u670D\\u52A1\\u5668\",size:\"middle\"}))),q.default.createElement(Q.Col,{span:24},q.default.createElement(Q.Form.Item,I(C({},h),{label:\"\\u670D\\u52A1\\u5668\\u5730\\u5740\",name:[h.name,\"server\"],rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u670D\\u52A1\\u5668\\u5730\\u5740\"},{pattern:/^https?:\\/\\/.+/,message:\"\\u8BF7\\u8F93\\u5165\\u6B63\\u786E\\u7684URL\\uFF08\\u5305\\u542Bhttp://\\u6216https://\\uFF09\"}],tooltip:\"\\u5305\\u542B\\u534F\\u8BAE\\u548C\\u7AEF\\u53E3\\uFF0C\\u5982\\uFF1Ahttps://example.com:5244\"}),q.default.createElement(Q.Input,{placeholder:\"http://example.com:5244\",prefix:q.default.createElement(ln,{style:{color:a.colorTextQuaternary}}),size:\"middle\"}))),q.default.createElement(Q.Col,{span:24},q.default.createElement(Q.Form.Item,I(C({},h),{label:q.default.createElement(Q.Tooltip,{title:\"WebDAV\\u670D\\u52A1\\u5668\\u4E0A\\u7684\\u8DEF\\u5F84\"},q.default.createElement(\"span\",null,\"\\u8BBF\\u95EE\\u8DEF\\u5F84\")),name:[h.name,\"path\"],initialValue:\"/\"}),q.default.createElement(Q.Input,{placeholder:\"/\",prefix:q.default.createElement(ni,{style:{color:a.colorTextQuaternary}}),size:\"middle\"}))),q.default.createElement(Q.Col,{span:12},q.default.createElement(Q.Form.Item,I(C({},h),{label:q.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:6}},q.default.createElement(Bn,{style:{fontSize:12}}),q.default.createElement(\"span\",null,\"\\u7528\\u6237\\u540D\")),name:[h.name,\"username\"]}),q.default.createElement(Q.Input,{placeholder:\"\\u7559\\u7A7A\\u8868\\u793A\\u4E0D\\u9700\\u8981\\u8BA4\\u8BC1\",size:\"middle\"}))),q.default.createElement(Q.Col,{span:12},q.default.createElement(Q.Form.Item,I(C({},h),{label:q.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:6}},q.default.createElement(fr,{style:{fontSize:12}}),q.default.createElement(\"span\",null,\"\\u5BC6\\u7801\")),name:[h.name,\"password\"]}),q.default.createElement(Q.Input.Password,{placeholder:\"\\u7559\\u7A7A\\u8868\\u793A\\u4E0D\\u9700\\u8981\\u5BC6\\u7801\",size:\"middle\"}))))))}),q.default.createElement(Q.Button,{type:\"dashed\",onClick:x,block:!0,icon:q.default.createElement(Re,null),size:\"large\",style:{height:56,borderRadius:a.borderRadiusLG,borderStyle:\"dashed\",borderWidth:2,fontSize:15,color:a.colorTextSecondary}},\"\\u6DFB\\u52A0\\u65B0\\u7684 WebDAV \\u670D\\u52A1\\u5668\"))}),q.default.createElement(\"div\",{style:{position:\"sticky\",bottom:0,background:a.colorBgContainer,padding:\"16px 0\",borderTop:\"1px solid \".concat(a.colorBorderSecondary),marginTop:24,zIndex:10}},q.default.createElement(Q.Space,{size:\"middle\"},q.default.createElement(Q.Button,{type:\"primary\",onClick:u,loading:r,size:\"large\",style:{minWidth:120,height:40,boxShadow:\"0 2px 6px rgba(0,0,0,0.1)\"}},\"\\u4FDD\\u5B58\\u914D\\u7F6E\"),q.default.createElement(Q.Button,{onClick:async()=>{o(!0);try{let c=await(await fetch(i,{method:\"DELETE\"})).json();if(c.code===0)Q.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\"),await s();else throw new Error(c.message)}catch(d){Q.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25: \"+d.message)}finally{o(!1)}},loading:r,size:\"large\",style:{height:40}},\"\\u91CD\\u7F6E\\u9ED8\\u8BA4\"))))))}var dp=Uw;var Z=B(R(),1),xe=B(Pe(),1);var Y=B(R(),1),re=B(Pe(),1);var cp=B(nt(),1);var{Text:ws}=re.Typography,On=cp.default.create({baseURL:\"/website/115\"});On.interceptors.response.use(e=>{var t,n;if(((t=e.data)==null?void 0:t.code)!==0){let r=((n=e.data)==null?void 0:n.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\";throw re.message.error(r),new Error(r)}return e.data.data},e=>{var n,r;let t=((r=(n=e.response)==null?void 0:n.data)==null?void 0:r.message)||e.message||\"\\u8BF7\\u6C42\\u5931\\u8D25\";return re.message.error(t),Promise.reject(e)});function Ww({value:e,onChange:t}){let[n,r]=(0,Y.useState)(!1),[o,a]=(0,Y.useState)([]),[i,s]=(0,Y.useState)(!1),[l,u]=(0,Y.useState)(\"\"),f=(0,Y.useCallback)(v=>({title:v.name,key:String(v.cid),isLeaf:!v.has_children}),[]),d=(0,Y.useCallback)(async()=>{s(!0);try{let v=await On.get(\"/folders\",{params:{cid:\"0\"}});a([{title:\"\\u6839\\u76EE\\u5F55 (/)\",key:\"0\",children:(v||[]).map(f),isLeaf:(v||[]).length===0}])}finally{s(!1)}},[f]);(0,Y.useEffect)(()=>{n&&o.length===0&&d()},[n,o.length,d]);let c=(0,Y.useCallback)(async v=>{if(!(v!=null&&v.key)||v.key===\"0\")return;let y=(await On.get(\"/folders\",{params:{cid:v.key}})||[]).map(f);a(b=>up(b,v.key,y))},[f]),m=(v,h)=>{let y=v==null?void 0:v[0];y&&(u(h.node.title===\"\\u6839\\u76EE\\u5F55 (/)\"?\"\\u6839\\u76EE\\u5F55\":String(h.node.title||\"\")),t==null||t(String(y)))},x=e&&e!==\"0\"?\"\".concat(l||\"\\u5DF2\\u9009\\u76EE\\u5F55\",\" (cid=\").concat(e,\")\"):\"\\u6839\\u76EE\\u5F55 (cid=0)\";return Y.default.createElement(Y.default.Fragment,null,Y.default.createElement(re.Space.Compact,{style:{width:\"100%\"}},Y.default.createElement(re.Button,{icon:Y.default.createElement(cr,null),onClick:()=>r(!0),style:{flex:1,textAlign:\"left\"}},x)),Y.default.createElement(re.Modal,{title:\"\\u9009\\u62E9 \\u78C1\\u529B \\u8F6C\\u5B58\\u76EE\\u5F55\",open:n,onCancel:()=>r(!1),onOk:()=>r(!1),okText:\"\\u786E\\u5B9A\",cancelText:\"\\u53D6\\u6D88\",destroyOnClose:!0,width:520},Y.default.createElement(re.Spin,{spinning:i},Y.default.createElement(re.Tree,{treeData:o,loadData:c,onSelect:m,selectedKeys:e?[String(e)]:[],height:420,blockNode:!0})),Y.default.createElement(\"div\",{style:{marginTop:8}},Y.default.createElement(ws,{type:\"secondary\"},\"\\u70B9\\u51FB\\u6587\\u4EF6\\u5939\\u5C55\\u5F00\\uFF0C\\u5355\\u51FB\\u9009\\u4E2D\\u5373\\u4F5C\\u4E3A\\u8F6C\\u5B58\\u4F4D\\u7F6E\\uFF1B\\u4E0D\\u9009\\u9ED8\\u8BA4\\u6839\\u76EE\\u5F55\\u3002\"))))}function up(e,t,n){return e.map(r=>String(r.key)===String(t)?I(C({},r),{children:n}):r.children?I(C({},r),{children:up(r.children,t,n)}):r)}function Cs(){let[e,t]=(0,Y.useState)(\"0\"),[n,r]=(0,Y.useState)(20),[o,a]=(0,Y.useState)(1500),[i,s]=(0,Y.useState)(!1),[l,u]=(0,Y.useState)(!1),[f,d]=(0,Y.useState)(null),[c,m]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{s(!0),On.get(\"/offline/settings\").then(y=>{var b,O,w;y&&(t(String((b=y.savePath)!=null?b:\"0\")),r(Number((O=y.pollAttempts)!=null?O:20)),a(Number((w=y.pollIntervalMs)!=null?w:1500)))}).catch(()=>{}).finally(()=>s(!1))},[]);let x=async()=>{u(!0);try{await On.post(\"/offline/settings\",{savePath:e,pollAttempts:n,pollIntervalMs:o}),re.message.success(\"\\u78C1\\u529B\\u914D\\u7F6E\\u4FDD\\u5B58\\u6210\\u529F\")}catch(y){}finally{u(!1)}},v=async y=>{d(y?\"delete\":\"keep\");try{await On.post(\"/offline/clear\",{deleteSource:y}),re.message.success(y?\"\\u5DF2\\u6E05\\u7A7A\\u79BB\\u7EBF\\u5217\\u8868\\u5E76\\u5220\\u9664\\u6E90\\u6587\\u4EF6\":\"\\u5DF2\\u6E05\\u7A7A\\u79BB\\u7EBF\\u5217\\u8868\\uFF08\\u7F51\\u76D8\\u6587\\u4EF6\\u4FDD\\u7559\\uFF09\")}catch(b){}finally{d(null)}},h=async(y,b,O)=>{var w;m(O);try{let D=await On.post(\"/files/clean\",{recent:y,recycle:b}),S=[];D!=null&&D.recent&&S.push(D.recent.found?\"\\u300C\\u6700\\u8FD1\\u63A5\\u6536\\u300D\\u5DF2\\u6E05\\u7406 \".concat(D.recent.moved,\" \\u4E2A\\u6587\\u4EF6\").concat(b?\"\\uFF08\\u5DF2\\u6C38\\u4E45\\u5220\\u9664\\uFF09\":\"\\uFF08\\u5DF2\\u79FB\\u5165\\u56DE\\u6536\\u7AD9\\uFF0C\\u53EF\\u6062\\u590D\\uFF09\"):\"\\u672A\\u627E\\u5230\\u300C\\u6700\\u8FD1\\u63A5\\u6536\\u300D\\u76EE\\u5F55\"),(w=D==null?void 0:D.recycle)!=null&&w.cleared&&S.push(\"\\u56DE\\u6536\\u7AD9\\u5DF2\\u6E05\\u7A7A\"),re.message.success(S.join(\"\\uFF1B\")||\"\\u64CD\\u4F5C\\u5B8C\\u6210\")}catch(D){}finally{m(null)}};return Y.default.createElement(re.Spin,{spinning:i},Y.default.createElement(re.Form,{layout:\"vertical\"},Y.default.createElement(re.Alert,{type:\"info\",showIcon:!0,style:{marginBottom:16},message:\"\\u6D88\\u8017 115 \\u79BB\\u7EBF\\u6B21\\u6570\\u64AD\\u653E\\u78C1\\u529B\\u94FE\\u63A5\",description:\"\\u6BCF\\u6761\\u65B0\\u78C1\\u529B\\u90FD\\u4F1A\\u6D88\\u8017\\u4E00\\u6B21 115 \\u79BB\\u7EBF\\u914D\\u989D\\u3002\"}),Y.default.createElement(re.Form.Item,{label:\"\\u78C1\\u529B \\u8F6C\\u5B58\\u76EE\\u5F55\",help:\"\\u78C1\\u529B\\u8F6C\\u5B58\\u7684\\u76EE\\u6807\\u6587\\u4EF6\\u5939\\u3002115 \\u79BB\\u7EBF\\u628A\\u6BCF\\u4E2A\\u79CD\\u5B50\\u8F6C\\u6210\\u6B64\\u76EE\\u5F55\\u4E0B\\u7684\\u4E00\\u4E2A\\u65B0\\u5B50\\u6587\\u4EF6\\u5939\\u3002\"},Y.default.createElement(Ww,{value:e,onChange:t})),Y.default.createElement(re.Form.Item,{label:\"\\u8F6C\\u5B58\\u8F6E\\u8BE2\\u6B21\\u6570\",help:\"\\u78C1\\u529B \\u8F6C\\u5B58\\u540E\\u672A\\u7ACB\\u5373\\u8FD4\\u56DE\\u5B8C\\u6574\\u6587\\u4EF6\\u65F6\\uFF0C\\u626B\\u63CF\\u8F6C\\u5B58\\u76EE\\u5F55\\u7684\\u6700\\u5927\\u6B21\\u6570\\u3002\"},Y.default.createElement(re.InputNumber,{min:0,max:50,value:n,onChange:y=>r(Number(y)||0),style:{width:\"100%\"}})),Y.default.createElement(re.Form.Item,{label:\"\\u8F6E\\u8BE2\\u95F4\\u9694 (ms)\"},Y.default.createElement(re.InputNumber,{min:200,max:1e4,step:100,value:o,onChange:y=>a(Number(y)||1500),style:{width:\"100%\"}})),Y.default.createElement(re.Button,{type:\"primary\",onClick:x,loading:l,block:!0},\"\\u4FDD\\u5B58\\u78C1\\u529B\\u914D\\u7F6E\"),Y.default.createElement(re.Divider,{style:{margin:\"24px 0 12px\"}},\"\\u6E05\\u7A7A 115 \\u79BB\\u7EBF\\u5217\\u8868\"),Y.default.createElement(ws,{type:\"secondary\",style:{display:\"block\",marginBottom:12,fontSize:12}},\"\\u6CE8\\u610F\\uFF1A\",Y.default.createElement(\"b\",null,\"\\u8FDB\\u884C\\u4E2D\"),\" \\u7684\\u4EFB\\u52A1 115 \\u534F\\u8BAE\\u4E0D\\u5141\\u8BB8\\u6E05\\uFF0C\\u9700\\u5230 115 \\u7F51\\u9875\\u7AEF\\u624B\\u52A8\\u5220\\uFF1B\\u6E05\\u4EFB\\u52A1\\u8BB0\\u5F55\\u4E0D\\u4F1A\\u91CA\\u653E\\u79BB\\u7EBF\\u914D\\u989D\\u3002\"),Y.default.createElement(re.Space,{direction:\"vertical\",style:{width:\"100%\"},size:8},Y.default.createElement(re.Popconfirm,{title:\"\\u6E05\\u7A7A\\u79BB\\u7EBF\\u5217\\u8868\",description:\"\\u6E05\\u6389\\u5DF2\\u5B8C\\u6210 / \\u5931\\u8D25\\u7684\\u4EFB\\u52A1\\u8BB0\\u5F55\\uFF0C\\u5DF2\\u8F6C\\u5B58\\u5230\\u7F51\\u76D8\\u7684\\u89C6\\u9891\\u6587\\u4EF6\\u4FDD\\u7559\\u3002\",okText:\"\\u786E\\u8BA4\\u6E05\\u7A7A\",cancelText:\"\\u53D6\\u6D88\",okButtonProps:{danger:!0},onConfirm:()=>v(!1)},Y.default.createElement(re.Button,{icon:Y.default.createElement(An,null),loading:f===\"keep\",disabled:f===\"delete\",block:!0},\"\\u6E05\\u7A7A\\uFF08\\u4FDD\\u7559\\u7F51\\u76D8\\u6587\\u4EF6\\uFF09\")),Y.default.createElement(re.Popconfirm,{title:\"\\u6E05\\u7A7A + \\u5220\\u9664\\u6E90\\u6587\\u4EF6\",description:\"\\u6E05\\u6389\\u5DF2\\u5B8C\\u6210 / \\u5931\\u8D25\\u7684\\u4EFB\\u52A1\\u8BB0\\u5F55\\uFF0C\\u5E76\\u5220\\u9664\\u5DF2\\u8F6C\\u5B58\\u5230\\u7F51\\u76D8\\u7684\\u6E90\\u6587\\u4EF6\\u3002\\u4E0D\\u53EF\\u9006\\uFF0C\\u8BF7\\u786E\\u8BA4\\u3002\",okText:\"\\u6211\\u6E05\\u695A\\uFF0C\\u5168\\u90E8\\u5220\\u9664\",cancelText:\"\\u53D6\\u6D88\",okButtonProps:{danger:!0},onConfirm:()=>v(!0)},Y.default.createElement(re.Button,{icon:Y.default.createElement(Ue,null),danger:!0,loading:f===\"delete\",disabled:f===\"keep\",block:!0},\"\\u6E05\\u7A7A\\uFF08\\u8FDE\\u540C\\u5220\\u9664\\u6E90\\u6587\\u4EF6\\uFF09\"))),Y.default.createElement(re.Divider,{style:{margin:\"24px 0 12px\"}},\"\\u6E05\\u7406 115 \\u6587\\u4EF6\"),Y.default.createElement(ws,{type:\"secondary\",style:{display:\"block\",marginBottom:12,fontSize:12}},\"\\u6CE8\\u610F\\uFF1A\\u4F1A\\u9012\\u5F52\\u5220\\u300C\\u6700\\u8FD1\\u63A5\\u6536\\u300D\\u91CC\\u6240\\u6709\\u6587\\u4EF6\\uFF0C\\u5220\\u7A7A\\u540E\\u7684\\u7A7A\\u6587\\u4EF6\\u5939\\u5916\\u58F3\\u53EF\\u80FD\\u6B8B\\u7559\\u3002\"),Y.default.createElement(re.Space,{direction:\"vertical\",style:{width:\"100%\"},size:8},Y.default.createElement(re.Popconfirm,{title:\"\\u6E05\\u7A7A \\u6700\\u8FD1\\u63A5\\u6536\",description:\"\\u628A\\u300C\\u6700\\u8FD1\\u63A5\\u6536\\u300D\\u91CC\\u7684\\u6240\\u6709\\u6587\\u4EF6\\u79FB\\u5165\\u56DE\\u6536\\u7AD9\\uFF08\\u53EF\\u5728\\u56DE\\u6536\\u7AD9\\u6062\\u590D\\uFF09\\u3002\",okText:\"\\u786E\\u8BA4\\u6E05\\u7A7A\",cancelText:\"\\u53D6\\u6D88\",okButtonProps:{danger:!0},onConfirm:()=>h(!0,!1,\"recent\")},Y.default.createElement(re.Button,{icon:Y.default.createElement(An,null),loading:c===\"recent\",disabled:!!c&&c!==\"recent\",block:!0},\"\\u6E05\\u7A7A \\u6700\\u8FD1\\u63A5\\u6536\\uFF08\\u79FB\\u5165\\u56DE\\u6536\\u7AD9\\uFF09\")),Y.default.createElement(re.Popconfirm,{title:\"\\u6E05\\u7A7A \\u56DE\\u6536\\u7AD9\",description:\"\\u6C38\\u4E45\\u6E05\\u7A7A\\u6574\\u4E2A\\u56DE\\u6536\\u7AD9\\uFF0C\\u4E0D\\u53EF\\u6062\\u590D\\u3002\",okText:\"\\u6211\\u6E05\\u695A\\uFF0C\\u6C38\\u4E45\\u6E05\\u7A7A\",cancelText:\"\\u53D6\\u6D88\",okButtonProps:{danger:!0},onConfirm:()=>h(!1,!0,\"recycle\")},Y.default.createElement(re.Button,{icon:Y.default.createElement(Ue,null),danger:!0,loading:c===\"recycle\",disabled:!!c&&c!==\"recycle\",block:!0},\"\\u6E05\\u7A7A \\u56DE\\u6536\\u7AD9\\uFF08\\u6C38\\u4E45\\u5220\\u9664\\uFF09\")),Y.default.createElement(re.Popconfirm,{title:\"\\u6E05\\u7A7A \\u6700\\u8FD1\\u63A5\\u6536 + \\u56DE\\u6536\\u7AD9\",description:\"\\u628A\\u300C\\u6700\\u8FD1\\u63A5\\u6536\\u300D\\u79FB\\u5165\\u56DE\\u6536\\u7AD9\\u540E\\u7ACB\\u5373\\u6C38\\u4E45\\u6E05\\u7A7A\\uFF0C\\u5F7B\\u5E95\\u5220\\u9664\\uFF0C\\u4E0D\\u53EF\\u9006\\uFF0C\\u8BF7\\u786E\\u8BA4\\u3002\",okText:\"\\u6211\\u6E05\\u695A\\uFF0C\\u5168\\u90E8\\u6C38\\u4E45\\u5220\\u9664\",cancelText:\"\\u53D6\\u6D88\",okButtonProps:{danger:!0},onConfirm:()=>h(!0,!0,\"both\")},Y.default.createElement(re.Button,{icon:Y.default.createElement(Ue,null),danger:!0,loading:c===\"both\",disabled:!!c&&c!==\"both\",block:!0},\"\\u6E05\\u7A7A \\u6700\\u8FD1\\u63A5\\u6536 + \\u56DE\\u6536\\u7AD9\\uFF08\\u6C38\\u4E45\\u5220\\u9664\\uFF09\")))))}var oe=B(R(),1),ge=B(Pe(),1);var fp=B(nt(),1);var{Text:pp}=ge.Typography,Xn=fp.default.create({baseURL:\"/website/guangya\"});Xn.interceptors.response.use(e=>{var t,n;if(((t=e.data)==null?void 0:t.code)!==0){let r=((n=e.data)==null?void 0:n.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\";throw ge.message.error(r),new Error(r)}return e.data.data},e=>{var n,r;let t=((r=(n=e.response)==null?void 0:n.data)==null?void 0:r.message)||e.message||\"\\u8BF7\\u6C42\\u5931\\u8D25\";return ge.message.error(t),Promise.reject(e)});function mp(e,t,n){return e.map(r=>String(r.key)===String(t)?I(C({},r),{children:n,isLeaf:n.length===0}):r.children?I(C({},r),{children:mp(r.children,t,n)}):r)}function Gw({value:e,valueName:t,onChange:n}){let[r,o]=(0,oe.useState)(!1),[a,i]=(0,oe.useState)([]),[s,l]=(0,oe.useState)(!1),u=(0,oe.useCallback)(x=>({title:x.name,key:String(x.fileId),isLeaf:!1}),[]),f=(0,oe.useCallback)(async()=>{l(!0);try{let x=await Xn.get(\"/cloud/folders\",{params:{parentId:\"\"}});i([{title:\"\\u6839\\u76EE\\u5F55 (/)\",key:\"root\",children:(x||[]).map(u),isLeaf:!1}])}finally{l(!1)}},[u]);(0,oe.useEffect)(()=>{r&&a.length===0&&f()},[r,f,a.length]);let d=(0,oe.useCallback)(async x=>{if(!(x!=null&&x.key)||String(x.key)===\"root\")return;let v=await Xn.get(\"/cloud/folders\",{params:{parentId:x.key}});i(h=>mp(h,x.key,(v||[]).map(u)))},[u]),c=(x,v)=>{let h=String((x==null?void 0:x[0])||\"\");if(!h)return;let y=h===\"root\"?\"\\u6839\\u76EE\\u5F55\":String(v.node.title||h);n==null||n(h,y)},m=t||(e===\"root\"?\"\\u6839\\u76EE\\u5F55\":String(e||\"\\u6839\\u76EE\\u5F55\"));return oe.default.createElement(oe.default.Fragment,null,oe.default.createElement(ge.Button,{icon:oe.default.createElement(cr,null),onClick:()=>o(!0),block:!0,style:{textAlign:\"left\"}},e&&e!==\"root\"?\"\".concat(m,\" (fileId=\").concat(e,\")\"):m),oe.default.createElement(ge.Modal,{title:\"\\u9009\\u62E9\\u5149\\u9E2D\\u4E91\\u8F6C\\u5B58\\u76EE\\u5F55\",open:r,onCancel:()=>o(!1),onOk:()=>o(!1),okText:\"\\u786E\\u5B9A\",cancelText:\"\\u53D6\\u6D88\",destroyOnClose:!0,width:520},oe.default.createElement(ge.Spin,{spinning:s},oe.default.createElement(ge.Tree,{treeData:a,loadData:d,onSelect:c,selectedKeys:e?[String(e)]:[\"root\"],height:420,blockNode:!0})),oe.default.createElement(pp,{type:\"secondary\",style:{display:\"block\",marginTop:8}},\"\\u9ED8\\u8BA4\\u4F7F\\u7528\\u5149\\u9E2D\\u6839\\u76EE\\u5F55\\uFF0C\\u4E5F\\u53EF\\u9009\\u62E9\\u4EFB\\u610F\\u5B50\\u76EE\\u5F55\\u3002\")))}function Ss(){let[e,t]=(0,oe.useState)(\"root\"),[n,r]=(0,oe.useState)(\"\\u6839\\u76EE\\u5F55\"),[o,a]=(0,oe.useState)(20),[i,s]=(0,oe.useState)(1500),[l,u]=(0,oe.useState)(!1),[f,d]=(0,oe.useState)(!1),[c,m]=(0,oe.useState)(null);(0,oe.useEffect)(()=>{u(!0),Xn.get(\"/cloud/settings\").then(h=>{let y=!(h!=null&&h.savePath)||h.savePath===\"auto\"?\"root\":String(h.savePath);t(y),r(y===\"root\"?\"\\u6839\\u76EE\\u5F55\":String((h==null?void 0:h.savePathName)||y)),a(Number((h==null?void 0:h.pollAttempts)||20)),s(Number((h==null?void 0:h.pollIntervalMs)||1500))}).catch(()=>{}).finally(()=>u(!1))},[]);let x=async()=>{d(!0);try{await Xn.post(\"/cloud/settings\",{savePath:e,savePathName:n,pollAttempts:o,pollIntervalMs:i}),ge.message.success(\"\\u5149\\u9E2D\\u4E91\\u8F6C\\u5B58\\u914D\\u7F6E\\u4FDD\\u5B58\\u6210\\u529F\")}catch(h){}finally{d(!1)}},v=async h=>{m(h?\"files\":\"tasks\");try{let y=await Xn.post(\"/cloud/clear\",{deleteFiles:h}),b=\"\\u5DF2\\u6E05\\u7406 \".concat(Number((y==null?void 0:y.taskCount)||0),\" \\u4E2A\\u4E91\\u8F6C\\u5B58\\u4EFB\\u52A1\"),O=h?\"\\uFF0C\\u5DF2\\u5220\\u9664 \".concat(Number((y==null?void 0:y.fileCount)||0),\" \\u4E2A\\u8F6C\\u5B58\\u6587\\u4EF6\\u6216\\u76EE\\u5F55\"):\"\";ge.message.success(\"\".concat(b).concat(O))}catch(y){}finally{m(null)}};return oe.default.createElement(ge.Spin,{spinning:l},oe.default.createElement(ge.Form,{layout:\"vertical\"},oe.default.createElement(ge.Alert,{type:\"info\",showIcon:!0,style:{marginBottom:16},message:\"\\u4F7F\\u7528\\u5149\\u9E2D\\u4E91\\u8F6C\\u5B58\\u64AD\\u653E\\u78C1\\u529B\\u94FE\\u63A5\",description:\"\\u9700\\u8981\\u5148\\u767B\\u5F55\\u5149\\u9E2D\\u3002\\u78C1\\u529B\\u5185\\u5BB9\\u8F6C\\u5B58\\u5230\\u6240\\u9009\\u4E2A\\u4EBA\\u76D8\\u76EE\\u5F55\\uFF0C\\u518D\\u901A\\u8FC7\\u5149\\u9E2D\\u539F\\u753B\\u76F4\\u94FE\\u64AD\\u653E\\u3002\"}),oe.default.createElement(ge.Form.Item,{label:\"\\u5149\\u9E2D\\u4E91\\u8F6C\\u5B58\\u76EE\\u5F55\",help:\"\\u6BCF\\u4E2A\\u78C1\\u529B\\u4EFB\\u52A1\\u4F1A\\u5728\\u8BE5\\u76EE\\u5F55\\u4E2D\\u751F\\u6210\\u5BF9\\u5E94\\u7684\\u8F6C\\u5B58\\u6587\\u4EF6\\u6216\\u5B50\\u76EE\\u5F55\\u3002\"},oe.default.createElement(Gw,{value:e,valueName:n,onChange:(h,y)=>{t(h),r(y)}})),oe.default.createElement(ge.Form.Item,{label:\"\\u8F6C\\u5B58\\u8F6E\\u8BE2\\u6B21\\u6570\",help:\"\\u4EFB\\u52A1\\u63D0\\u4EA4\\u540E\\u626B\\u63CF\\u8F6C\\u5B58\\u76EE\\u5F55\\u7684\\u6700\\u5927\\u6B21\\u6570\\u3002\"},oe.default.createElement(ge.InputNumber,{min:1,max:50,value:o,onChange:h=>a(Number(h)||20),style:{width:\"100%\"}})),oe.default.createElement(ge.Form.Item,{label:\"\\u8F6E\\u8BE2\\u95F4\\u9694 (ms)\"},oe.default.createElement(ge.InputNumber,{min:200,max:1e4,step:100,value:i,onChange:h=>s(Number(h)||1500),style:{width:\"100%\"}})),oe.default.createElement(ge.Button,{type:\"primary\",onClick:x,loading:f,block:!0},\"\\u4FDD\\u5B58\\u5149\\u9E2D\\u4E91\\u8F6C\\u5B58\\u914D\\u7F6E\"),oe.default.createElement(ge.Divider,{style:{margin:\"24px 0 12px\"}},\"\\u6E05\\u7406\\u5149\\u9E2D\\u4E91\\u8F6C\\u5B58\"),oe.default.createElement(pp,{type:\"secondary\",style:{display:\"block\",marginBottom:12,fontSize:12}},\"\\u6E05\\u7406\\u4EFB\\u52A1\\u53EA\\u5220\\u9664\\u4E91\\u8F6C\\u5B58\\u8BB0\\u5F55\\uFF1B\\u540C\\u65F6\\u6E05\\u7406\\u6587\\u4EF6\\u4F1A\\u5220\\u9664\\u4EFB\\u52A1\\u5BF9\\u5E94\\u7684\\u8F6C\\u5B58\\u6587\\u4EF6\\u6216\\u76EE\\u5F55\\uFF0C\\u6587\\u4EF6\\u6309\\u5149\\u9E2D\\u89C4\\u5219\\u8FDB\\u5165\\u56DE\\u6536\\u7AD9\\u3002\"),oe.default.createElement(ge.Space,{direction:\"vertical\",style:{width:\"100%\"},size:8},oe.default.createElement(ge.Popconfirm,{title:\"\\u6E05\\u7406\\u4E91\\u8F6C\\u5B58\\u4EFB\\u52A1\",description:\"\\u6E05\\u7406\\u8FDB\\u884C\\u4E2D\\u3001\\u5931\\u8D25\\u3001\\u53D6\\u6D88\\u548C\\u5DF2\\u5B8C\\u6210\\u7684\\u5149\\u9E2D\\u4E91\\u8F6C\\u5B58\\u4EFB\\u52A1\\u8BB0\\u5F55\\uFF0C\\u5DF2\\u8F6C\\u5B58\\u6587\\u4EF6\\u4FDD\\u7559\\u3002\",okText:\"\\u786E\\u8BA4\\u6E05\\u7406\",cancelText:\"\\u53D6\\u6D88\",okButtonProps:{danger:!0},onConfirm:()=>v(!1)},oe.default.createElement(ge.Button,{icon:oe.default.createElement(An,null),loading:c===\"tasks\",disabled:c===\"files\",block:!0},\"\\u6E05\\u7406\\u4E91\\u8F6C\\u5B58\\u4EFB\\u52A1\")),oe.default.createElement(ge.Popconfirm,{title:\"\\u6E05\\u7406\\u4EFB\\u52A1\\u548C\\u4E91\\u8F6C\\u5B58\\u6587\\u4EF6\",description:\"\\u6E05\\u7406\\u5168\\u90E8\\u4E91\\u8F6C\\u5B58\\u4EFB\\u52A1\\uFF0C\\u5E76\\u5220\\u9664\\u8FD9\\u4E9B\\u4EFB\\u52A1\\u5BF9\\u5E94\\u7684\\u5149\\u9E2D\\u6587\\u4EF6\\u6216\\u76EE\\u5F55\\u3002\\u8BF7\\u786E\\u8BA4\\u540E\\u7EE7\\u7EED\\u3002\",okText:\"\\u6211\\u6E05\\u695A\\uFF0C\\u7EE7\\u7EED\\u6E05\\u7406\",cancelText:\"\\u53D6\\u6D88\",okButtonProps:{danger:!0},onConfirm:()=>v(!0)},oe.default.createElement(ge.Button,{icon:oe.default.createElement(Ue,null),danger:!0,loading:c===\"files\",disabled:c===\"tasks\",block:!0},\"\\u6E05\\u7406\\u4E91\\u8F6C\\u5B58\\u4EFB\\u52A1\\u548C\\u4E91\\u8F6C\\u5B58\\u6587\\u4EF6\")))))}var gp=B(nt(),1),Na=gp.default.create({baseURL:\"/website\"}),Hw=[\"quark\",\"uc\",\"xunlei\",\"ali\"],qw=()=>{let[e,t]=(0,Z.useState)(Date.now()),[n,r]=(0,Z.useState)(!1),[o,a]=(0,Z.useState)(\"\\u70B9\\u51FB\\u4E8C\\u7EF4\\u7801\\u751F\\u6210\\u767B\\u5F55\\u4F1A\\u8BDD\\uFF0C\\u626B\\u7801\\u786E\\u8BA4\\u540E\\u70B9\\u51FB\\u201C\\u626B\\u7801\\u540E\\u70B9\\u6211\\u201D\"),i=()=>{t(Date.now()),a(\"\\u8BF7\\u4F7F\\u7528\\u5149\\u9E2D\\u626B\\u7801\\u5E76\\u786E\\u8BA4\\u767B\\u5F55\")},s=async()=>{r(!0);try{let l=await Na.post(\"/guangya/cookie\");l===\"CONFIRMED\"?(a(\"\\u767B\\u5F55\\u6210\\u529F\\uFF0C\\u5DF2\\u4FDD\\u5B58\\u5149\\u9E2D\\u8D26\\u53F7\"),xe.message.success(\"\\u5149\\u9E2D\\u767B\\u5F55\\u6210\\u529F\")):a(l===\"EXPIRED\"||l===\"CANCELED\"?\"\\u767B\\u5F55\\u4F1A\\u8BDD\\u5DF2\\u5931\\u6548\\uFF0C\\u8BF7\\u5237\\u65B0\\u4E8C\\u7EF4\\u7801\\u91CD\\u8BD5\":\"\\u7B49\\u5F85\\u626B\\u7801\\u786E\\u8BA4\")}catch(l){a((l==null?void 0:l.message)||\"\\u68C0\\u67E5\\u767B\\u5F55\\u72B6\\u6001\\u5931\\u8D25\")}finally{r(!1)}};return Z.default.createElement(\"div\",{className:\"qrcodeCard\"},Z.default.createElement(Zr,{src:\"/website/guangya/qrcode?t=\".concat(e)}),Z.default.createElement(xe.Divider,null,Z.default.createElement(xe.Button,{loading:n,onClick:s},\"\\u626B\\u7801\\u540E\\u70B9\\u6211\")),Z.default.createElement(xe.Input.TextArea,{value:o,readOnly:!0,rows:4}),Z.default.createElement(\"div\",{className:\"btns\"},Z.default.createElement(xe.Button,{onClick:i,color:\"cyan\",variant:\"solid\",size:\"large\"},\"\\u5237\\u65B0\\u4E8C\\u7EF4\\u7801\"),Z.default.createElement(xe.Button,{type:\"primary\",loading:n,onClick:s,size:\"large\"},\"\\u68C0\\u67E5\\u767B\\u5F55\")))};Na.interceptors.response.use(function(e){if(e.data.code!==0)throw xe.message.error(e.data.message),new Error(e.data);return e.data.data},function(e){return Promise.reject(e)});var jw=({driveKey:e})=>{let t=e.startsWith(\"nodejs_\")?e.substring(7):e;switch((o=>o.startsWith(\"pan123_\")?\"pan123\":o)(t)){case\"quark\":return Z.default.createElement(Zt,{qrcodeUrl:\"/website/quark/qrcode\",cacheUrl:\"/quark/cookie\"});case\"uc\":return Z.default.createElement(Is,null);case\"115\":return Z.default.createElement(Zt,{qrcodeUrl:\"/website/115/qrcode\",cacheUrl:\"/115/cookie\"});case\"baidu\":return Z.default.createElement(Zt,{qrcodeUrl:\"/website/baidu/qrcode\",cacheUrl:\"/baidu/cookie\"});case\"tianyi\":return Z.default.createElement(Fa,{api:\"/tianyi/account\"});case\"123\":return Z.default.createElement(Fa,{api:\"/pan123/account\"});case\"xunlei\":return Z.default.createElement(Ds,{api:\"/xunlei/account\"});case\"ali\":return Z.default.createElement(Os,null);case\"guangya\":return Z.default.createElement(qw,null);case\"uc-tv\":return Z.default.createElement(Zt,{qrcodeUrl:\"/website/uc-tv/qrcode\",cacheUrl:\"/uc-tv/token\"});case\"magnet\":return Z.default.createElement(Cs,null);case\"magnet_guangya\":return Z.default.createElement(Ss,null);default:return Z.default.createElement(\"p\",null,\"\\u76F4\\u63A5\\u89C2\\u770B\\uFF0C\\u4E0D\\u9700\\u8981cookie\")}},Yw=()=>{let[e,t]=(0,Z.useState)(!1),[n,r]=(0,Z.useState)(null),[o,a]=(0,Z.useState)(.5),[i,s]=(0,Z.useState)(32),[l,u]=(0,Z.useState)(!0),[f,d]=(0,Z.useState)(!1),[c,m]=(0,Z.useState)(!1),x=S=>S==null?void 0:S.replace(\"nodejs_\",\"\"),v=S=>[\"quark\",\"uc\"].includes(S),h=S=>Hw.includes(S),y=S=>S===\"uc\"?.0625:.5,b=S=>S===\"uc\"?16:S===\"ali\"||S===\"xunlei\"?4:32,O=S=>{let F=x(S.key);a(y(F)),s(b(F)),u(!0),d(!1),r(S),t(!0)},w=()=>{t(!1),r(null),a(.5),s(32),u(!0),d(!1),m(!1)};(0,Z.useEffect)(()=>{if(!n)return;let S=x(n.key);h(S)&&(m(!0),Na.get(\"/\".concat(S,\"/config\")).then(F=>{let T=F.chunkSize/1048576;a(T>0?T:y(S)),s(F.poolSize>0?F.poolSize:b(S));let P=v(S)?F.enableFast===!0:!1;u(S===\"quark\"&&P?!1:F.useMultithread!==!1),d(P)}).catch(F=>{console.error(\"\\u52A0\\u8F7D\\u914D\\u7F6E\\u5931\\u8D25\",F),xe.message.warning(\"\\u52A0\\u8F7D\\u914D\\u7F6E\\u5931\\u8D25\\uFF0C\\u4F7F\\u7528\\u9ED8\\u8BA4\\u503C\"),a(y(S)),s(b(S)),u(!0),d(!1)}).finally(()=>m(!1)))},[n]);let D=(0,Z.useMemo)(()=>[{title:\"\\u626B\\u7801\",key:\"action\",render:(S,F)=>Z.default.createElement(xe.Space,{size:\"middle\"},Z.default.createElement(xe.Button,{type:\"primary\",size:\"small\",icon:Z.default.createElement(dr,null),onClick:()=>O(F)})),width:100,align:\"center\"}],[]);return Z.default.createElement(Z.default.Fragment,null,Z.default.createElement(Es,{extraColumns:D}),Z.default.createElement(xe.Modal,{title:n?\"\\u4FEE\\u6539 \".concat(n.name,\" \\u914D\\u7F6E\"):\"\\u4FEE\\u6539\\u914D\\u7F6E\",open:e,onCancel:w,footer:null,destroyOnClose:!0,className:\"force-light-form-label\"},Z.default.createElement(jw,{driveKey:n==null?void 0:n.key}),n&&h(n.key.replace(\"nodejs_\",\"\"))&&Z.default.createElement(\"div\",{style:{marginTop:16}},Z.default.createElement(xe.Divider,null,\"\\u4EE3\\u7406\\u8BBE\\u7F6E\"),Z.default.createElement(xe.Form,{layout:\"vertical\"},Z.default.createElement(xe.Form.Item,{label:\"\\u542F\\u7528\\u4EE3\\u7406\\u52A0\\u901F\",extra:n.key.replace(\"nodejs_\",\"\")===\"quark\"&&f?\"\\u5DF2\\u542F\\u7528\\u5FEB\\u4F20\\uFF0C\\u4EE3\\u7406\\u52A0\\u901F\\u4F1A\\u5931\\u6548\\uFF1B\\u5173\\u95ED\\u201C\\u542F\\u7528\\u5FEB\\u4F20\\u201D\\u540E\\u624D\\u80FD\\u6253\\u5F00\\u4EE3\\u7406\\u52A0\\u901F\\u3002\":void 0},Z.default.createElement(xe.Switch,{checked:l,onChange:u,disabled:c||n.key.replace(\"nodejs_\",\"\")===\"quark\"&&f})),v(n.key.replace(\"nodejs_\",\"\"))&&Z.default.createElement(xe.Form.Item,{label:\"\\u542F\\u7528\\u5FEB\\u4F20\",extra:n.key.replace(\"nodejs_\",\"\")===\"uc\"?\"\\u5F00\\u542F\\u540E\\u4EC5\\u8F93\\u51FA\\u5FEB\\u4F20\\u7EBF\\u8DEF\\uFF0C\\u5176\\u5B83 \\u64AD\\u653E\\u6A21\\u5F0F\\u81EA\\u52A8\\u5931\\u6548\\u3002\":void 0},Z.default.createElement(xe.Switch,{checked:f,onChange:S=>{d(S),n.key.replace(\"nodejs_\",\"\")===\"quark\"&&S&&u(!1)},disabled:c})),Z.default.createElement(xe.Form.Item,{label:\"\\u7EBF\\u7A0B\\u6570\"},Z.default.createElement(xe.InputNumber,{min:1,max:100,value:i,onChange:s,style:{width:\"100%\"},disabled:c})),Z.default.createElement(xe.Form.Item,{label:\"\\u5206\\u7247\\u5927\\u5C0F (MB)\"},Z.default.createElement(xe.InputNumber,{min:.01,max:10,value:o,onChange:a,style:{width:\"100%\"},disabled:c})),Z.default.createElement(xe.Button,{type:\"primary\",onClick:async()=>{let S=n.key.replace(\"nodejs_\",\"\"),F=S===\"quark\"&&f?!1:l;try{let T={chunkSize:o*1024*1024,poolSize:i,useMultithread:F};v(S)&&(T.enableFast=f),await Na.put(\"/\".concat(S,\"/config\"),T),xe.message.success(\"\\u4EE3\\u7406\\u914D\\u7F6E\\u4FDD\\u5B58\\u6210\\u529F\")}catch(T){xe.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\")}},loading:c,block:!0},\"\\u4FDD\\u5B58\\u4EE3\\u7406\\u914D\\u7F6E\")))))},hp=Yw;var ue=B(R(),1),en=B(Pe(),1);var $e=B(R(),1),Le=B(Pe(),1),bp=B(nt(),1),Aa=bp.default.create({baseURL:\"/website\"});Aa.interceptors.response.use(e=>{if(e.data.code!==0)throw new Error(e.data.message||\"\\u8BF7\\u6C42\\u5931\\u8D25\");return e.data.data});function Ts({prefix:e=\"/panlian\",title:t=\"\\u76D8\\u94FE\"}){let[n]=Le.Form.useForm(),[r,o]=(0,$e.useState)({hasCookie:!1,cookieLength:0}),[a,i]=(0,$e.useState)(!1),s=async()=>{let f=await Aa.get(\"\".concat(e,\"/config\"));n.setFieldsValue({username:f.username||\"\",password:f.password||\"\",cookie:f.cookie||\"\"}),o({hasCookie:!!f.hasCookie,cookieLength:String(f.cookie||\"\").trim().length})};(0,$e.useEffect)(()=>{s()},[e]);let l=async()=>{i(!0);try{await Aa.post(\"\".concat(e,\"/clear\")),await s(),Le.message.success(\"\".concat(t,\"\\u8D26\\u53F7\\u6570\\u636E\\u5DF2\\u6E05\\u7A7A\"))}finally{i(!1)}},u=async()=>{i(!0);try{let f=await n.validateFields([\"username\",\"password\"]),d=await Aa.post(\"\".concat(e,\"/login\"),f);await s(),Le.message.success(\"\".concat(t,\"\\u767B\\u5F55\\u6210\\u529F\\uFF1A\").concat((d==null?void 0:d.message)||\"\\u5DF2\\u5199\\u5165 Cookie\"))}finally{i(!1)}};return $e.default.createElement(Le.Card,{variant:\"borderless\"},$e.default.createElement(\"div\",{style:{marginBottom:12,display:\"flex\",gap:8,flexWrap:\"wrap\"}},$e.default.createElement(Le.Tag,{color:r.hasCookie?\"success\":\"default\"},r.hasCookie?\"\\u5DF2\\u5199\\u5165 Cookie\":\"\\u672A\\u5199\\u5165 Cookie\"),$e.default.createElement(Le.Tag,{color:\"blue\"},\"\\u957F\\u5EA6 \",r.cookieLength)),$e.default.createElement(Le.Form,{form:n,layout:\"vertical\"},$e.default.createElement(Le.Form.Item,{label:\"\\u8D26\\u53F7\",name:\"username\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u8D26\\u53F7\"}]},$e.default.createElement(Le.Input,{placeholder:\"\".concat(t,\"\\u8D26\\u53F7\")})),$e.default.createElement(Le.Form.Item,{label:\"\\u5BC6\\u7801\",name:\"password\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u5BC6\\u7801\"}]},$e.default.createElement(Le.Input.Password,{placeholder:\"\".concat(t,\"\\u5BC6\\u7801\")})),$e.default.createElement(Le.Form.Item,{label:\"\\u5F53\\u524D Cookie\",name:\"cookie\"},$e.default.createElement(Le.Input.TextArea,{rows:4,readOnly:!0,placeholder:\"\\u767B\\u5F55\\u6210\\u529F\\u540E\\u4F1A\\u81EA\\u52A8\\u56DE\\u586B Cookie\"})),$e.default.createElement(\"div\",{style:{display:\"flex\",gap:8,flexWrap:\"wrap\"}},$e.default.createElement(Le.Button,{type:\"primary\",onClick:u,loading:a},\"\\u767B\\u5F55\"),$e.default.createElement(Le.Button,{danger:!0,onClick:l,loading:a},\"\\u6E05\\u7A7A\"))))}var Ne=B(R(),1),Te=B(Pe(),1),xp=B(nt(),1),Qn=xp.default.create({baseURL:\"/website\"});Qn.interceptors.response.use(e=>{if(e.data.code!==0)throw new Error(e.data.message||\"\\u8BF7\\u6C42\\u5931\\u8D25\");return e.data.data});var Rr=\"/filejin\";function ks(){let[e]=Te.Form.useForm(),[t,n]=(0,Ne.useState)({hasCookie:!1,cookieLength:0,site:\"\"}),[r,o]=(0,Ne.useState)(!1),a=async()=>{let u=await Qn.get(\"\".concat(Rr,\"/config\"));e.setFieldsValue({site:u.site||\"\",username:u.username||\"\",password:u.password||\"\",cookie:u.cookie||\"\"}),n({hasCookie:!!u.hasCookie,cookieLength:String(u.cookie||\"\").trim().length,site:u.site||\"\"})};(0,Ne.useEffect)(()=>{a()},[]);let i=async()=>{o(!0);try{let{site:u}=await e.validateFields([\"site\"]);await Qn.put(\"\".concat(Rr,\"/config\"),{site:String(u||\"\").trim()}),await a(),Te.message.success(\"\\u89C2\\u5F71\\u7F51\\u5740\\u5DF2\\u4FDD\\u5B58\")}finally{o(!1)}},s=async()=>{o(!0);try{await Qn.post(\"\".concat(Rr,\"/clear\")),await a(),Te.message.success(\"\\u89C2\\u5F71\\u8D26\\u53F7\\u6570\\u636E\\u5DF2\\u6E05\\u7A7A\")}finally{o(!1)}},l=async()=>{o(!0);try{let u=await e.validateFields([\"site\",\"username\",\"password\"]);await Qn.put(\"\".concat(Rr,\"/config\"),{site:String(u.site||\"\").trim()});let f=await Qn.post(\"\".concat(Rr,\"/login\"),{username:u.username,password:u.password});await a(),Te.message.success(\"\\u89C2\\u5F71\\u767B\\u5F55\\u6210\\u529F\\uFF1A\".concat((f==null?void 0:f.message)||\"\\u5DF2\\u5199\\u5165 Cookie\"))}finally{o(!1)}};return Ne.default.createElement(Te.Card,{variant:\"borderless\"},Ne.default.createElement(\"div\",{style:{marginBottom:12,display:\"flex\",gap:8,flexWrap:\"wrap\"}},Ne.default.createElement(Te.Tag,{color:t.hasCookie?\"success\":\"default\"},t.hasCookie?\"\\u5DF2\\u5199\\u5165 Cookie\":\"\\u672A\\u5199\\u5165 Cookie\"),Ne.default.createElement(Te.Tag,{color:\"blue\"},\"\\u957F\\u5EA6 \",t.cookieLength),Ne.default.createElement(Te.Tag,{color:t.site?\"geekblue\":\"default\"},t.site?\"\\u81EA\\u5B9A\\u4E49\\u7F51\\u5740\\uFF1A\".concat(t.site):\"\\u4F7F\\u7528\\u9ED8\\u8BA4\\u7F51\\u5740\")),Ne.default.createElement(Te.Form,{form:e,layout:\"vertical\"},Ne.default.createElement(Te.Form.Item,{label:\"\\u81EA\\u5B9A\\u4E49\\u7F51\\u5740\",name:\"site\",extra:\"\\u7559\\u7A7A\\u5219\\u4F7F\\u7528\\u5185\\u7F6E\\u9ED8\\u8BA4\\u7F51\\u5740\\u3002\\u7F51\\u5740\\u53D8\\u52A8\\u65F6\\u5728\\u6B64\\u4FEE\\u6539\\uFF0C\\u65E0\\u9700\\u6539\\u4EE3\\u7801\\u3002\\u793A\\u4F8B\\uFF1Ahttps://www.example.com\"},Ne.default.createElement(Te.Input,{placeholder:\"\\u4F8B\\u5982 https://www.example.com\",allowClear:!0})),Ne.default.createElement(Te.Form.Item,{label:\"\\u8D26\\u53F7\",name:\"username\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u8D26\\u53F7\"}]},Ne.default.createElement(Te.Input,{placeholder:\"\\u89C2\\u5F71\\u8D26\\u53F7\"})),Ne.default.createElement(Te.Form.Item,{label:\"\\u5BC6\\u7801\",name:\"password\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u5BC6\\u7801\"}]},Ne.default.createElement(Te.Input.Password,{placeholder:\"\\u89C2\\u5F71\\u5BC6\\u7801\"})),Ne.default.createElement(Te.Form.Item,{label:\"\\u5F53\\u524D Cookie\",name:\"cookie\"},Ne.default.createElement(Te.Input.TextArea,{rows:4,readOnly:!0,placeholder:\"\\u767B\\u5F55\\u6210\\u529F\\u540E\\u4F1A\\u81EA\\u52A8\\u56DE\\u586B Cookie\"})),Ne.default.createElement(\"div\",{style:{display:\"flex\",gap:8,flexWrap:\"wrap\"}},Ne.default.createElement(Te.Button,{onClick:i,loading:r},\"\\u4FDD\\u5B58\\u7F51\\u5740\"),Ne.default.createElement(Te.Button,{type:\"primary\",onClick:l,loading:r},\"\\u767B\\u5F55\"),Ne.default.createElement(Te.Button,{danger:!0,onClick:s,loading:r},\"\\u6E05\\u7A7A\"))))}var Ae=B(R(),1),De=B(Pe(),1),vp=B(nt(),1);var eo=vp.default.create({baseURL:\"/website\"});eo.interceptors.response.use(e=>{if(e.data.code!==0)throw new Error(e.data.message||\"\\u8BF7\\u6C42\\u5931\\u8D25\");return e.data.data});var Pa=\"/pan1\";function Ns(){let[e]=De.Form.useForm(),[t,n]=(0,Ae.useState)(!1),[r,o]=(0,Ae.useState)({hasCookie:!1,cookieLength:0,valid:null,uid:\"\"}),a=async()=>{let l=await eo.get(\"\".concat(Pa,\"/config\"));e.setFieldsValue({cookie:l.cookie||\"\",autoReply:l.autoReply!==!1,replyMessage:l.replyMessage||\"\\u611F\\u8C22\\u5206\\u4EAB\\uFF0C\\u8F9B\\u82E6\\u6574\\u7406\\u4E86\"}),o(u=>I(C({},u),{hasCookie:!!l.hasCookie,cookieLength:Number(l.cookieLength||0)}))};(0,Ae.useEffect)(()=>{a()},[]);let i=async(l=!1)=>{n(!0);try{let u=await e.validateFields();await eo.put(\"\".concat(Pa,\"/config\"),u);let f={valid:null,uid:\"\"};if(l){let d=await eo.post(\"\".concat(Pa,\"/validate\"));f={valid:!0,uid:(d==null?void 0:d.uid)||\"\"},De.message.success(\"\\u8BBA\\u575B Cookie \\u6709\\u6548\\uFF0C\\u8D44\\u6E90\\u7248\\u8BBF\\u95EE\\u6B63\\u5E38\")}else De.message.success(\"pan1 \\u914D\\u7F6E\\u5DF2\\u4FDD\\u5B58\");await a(),o(d=>C(C({},d),f))}finally{n(!1)}},s=async()=>{n(!0);try{await eo.post(\"\".concat(Pa,\"/clear\")),await a(),o(l=>I(C({},l),{valid:null,uid:\"\"})),De.message.success(\"\\u8BBA\\u575B Cookie \\u5DF2\\u6E05\\u7A7A\")}finally{n(!1)}};return Ae.default.createElement(De.Card,null,Ae.default.createElement(De.Space,{wrap:!0,style:{marginBottom:12}},Ae.default.createElement(De.Tag,{color:r.hasCookie?\"success\":\"default\"},r.hasCookie?\"\\u5DF2\\u586B\\u5199 Cookie\":\"\\u672A\\u586B\\u5199 Cookie\"),Ae.default.createElement(De.Tag,{color:\"blue\"},\"\\u957F\\u5EA6 \",r.cookieLength),r.valid===!0&&Ae.default.createElement(De.Tag,{color:\"success\"},\"\\u9A8C\\u8BC1\\u6210\\u529F\",r.uid?\" \\xB7 UID \".concat(r.uid):\"\")),Ae.default.createElement(De.Form,{form:e,layout:\"vertical\",initialValues:{autoReply:!0}},Ae.default.createElement(De.Form.Item,{label:\"\\u8BBA\\u575B Cookie\",name:\"cookie\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165 pan1.me \\u767B\\u5F55 Cookie\"}],extra:\"\\u4ECE\\u6D4F\\u89C8\\u5668\\u767B\\u5F55 pan1.me \\u540E\\u590D\\u5236\\u5B8C\\u6574 Cookie\\u3002\\u81F3\\u5C11\\u5E94\\u5305\\u542B bbs_sid \\u548C bbs_token\\u3002\"},Ae.default.createElement(De.Input.TextArea,{autoSize:{minRows:4,maxRows:8},placeholder:\"bbs_sid=...; bbs_token=...\"})),Ae.default.createElement(De.Form.Item,{label:\"\\u81EA\\u52A8\\u56DE\\u590D\\u9690\\u85CF\\u5E16\",name:\"autoReply\",valuePropName:\"checked\"},Ae.default.createElement(De.Switch,{checkedChildren:\"\\u5F00\\u542F\",unCheckedChildren:\"\\u5173\\u95ED\"})),Ae.default.createElement(De.Form.Item,{label:\"\\u81EA\\u52A8\\u56DE\\u590D\\u5185\\u5BB9\",name:\"replyMessage\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u81EA\\u52A8\\u56DE\\u590D\\u5185\\u5BB9\"}]},Ae.default.createElement(De.Input,{maxLength:120,showCount:!0,placeholder:\"\\u611F\\u8C22\\u5206\\u4EAB\\uFF0C\\u8F9B\\u82E6\\u6574\\u7406\\u4E86\"})),Ae.default.createElement(De.Space,{wrap:!0},Ae.default.createElement(De.Button,{type:\"primary\",loading:t,onClick:()=>i(!0)},\"\\u4FDD\\u5B58\\u5E76\\u9A8C\\u8BC1\"),Ae.default.createElement(De.Button,{loading:t,onClick:()=>i(!1)},\"\\u4EC5\\u4FDD\\u5B58\"),Ae.default.createElement(De.Button,{danger:!0,loading:t,onClick:s},\"\\u6E05\\u7A7A Cookie\"))))}var Ge=B(R(),1),Ie=B(Pe(),1),yp=B(nt(),1);var to=yp.default.create({baseURL:\"/website\"});to.interceptors.response.use(e=>{if(e.data.code!==0)throw new Error(e.data.message||\"\\u8BF7\\u6C42\\u5931\\u8D25\");return e.data.data});var _a=\"/guangyaqsxy\";function Fs(){let[e]=Ie.Form.useForm(),[t,n]=(0,Ge.useState)(!1),[r,o]=(0,Ge.useState)({hasCookie:!1,cookieLength:0,valid:null,username:\"\"}),a=async()=>{let l=await to.get(\"\".concat(_a,\"/config\"));e.setFieldsValue({cookie:l.cookie||\"\"}),o(u=>I(C({},u),{hasCookie:!!l.hasCookie,cookieLength:Number(l.cookieLength||0)}))};(0,Ge.useEffect)(()=>{a()},[]);let i=async(l=!1)=>{n(!0);try{let u=await e.validateFields();await to.put(\"\".concat(_a,\"/config\"),u);let f={valid:null,username:\"\"};if(l){let d=await to.post(\"\".concat(_a,\"/validate\"));f={valid:!0,username:(d==null?void 0:d.username)||\"\"},Ie.message.success(\"\\u9A8C\\u8BC1\\u6210\\u529F\\uFF0C\\u8D44\\u6E90\\u94FE\\u63A5\\u5DF2\\u89E3\\u9501\")}else Ie.message.success(\"\\u5149\\u9E2D\\u81FB\\u5F71\\u793E Cookie \\u5DF2\\u4FDD\\u5B58\");await a(),o(d=>C(C({},d),f))}catch(u){Ie.message.error((u==null?void 0:u.message)||\"\\u4FDD\\u5B58\\u5931\\u8D25\")}finally{n(!1)}},s=async()=>{n(!0);try{await to.post(\"\".concat(_a,\"/clear\")),await a(),o(l=>I(C({},l),{valid:null,username:\"\"})),Ie.message.success(\"Cookie \\u5DF2\\u6E05\\u7A7A\")}catch(l){Ie.message.error((l==null?void 0:l.message)||\"\\u6E05\\u7A7A\\u5931\\u8D25\")}finally{n(!1)}};return Ge.default.createElement(Ie.Card,null,Ge.default.createElement(Ie.Alert,{type:\"info\",showIcon:!0,style:{marginBottom:12},message:\"Cookie \\u53EA\\u7528\\u4E8E\\u8BBF\\u95EE guangya.qsxy.top \\u7684\\u767B\\u5F55\\u8D44\\u6E90\\u6B63\\u6587\\uFF0C\\u4E0D\\u4F1A\\u5199\\u5165\\u7AD9\\u6E90\\u4EE3\\u7801\\u3002\"}),Ge.default.createElement(Ie.Space,{wrap:!0,style:{marginBottom:12}},Ge.default.createElement(Ie.Tag,{color:r.hasCookie?\"success\":\"default\"},r.hasCookie?\"\\u5DF2\\u586B\\u5199 Cookie\":\"\\u672A\\u586B\\u5199 Cookie\"),Ge.default.createElement(Ie.Tag,{color:\"blue\"},\"\\u957F\\u5EA6 \",r.cookieLength),r.valid===!0&&Ge.default.createElement(Ie.Tag,{color:\"success\"},\"\\u8D44\\u6E90\\u6743\\u9650\\u6B63\\u5E38\",r.username?\" \\xB7 \".concat(r.username):\"\")),Ge.default.createElement(Ie.Form,{form:e,layout:\"vertical\"},Ge.default.createElement(Ie.Form.Item,{label:\"\\u7AD9\\u70B9 Cookie\",name:\"cookie\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165 guangya.qsxy.top \\u767B\\u5F55 Cookie\"}],extra:\"\\u5728\\u6D4F\\u89C8\\u5668\\u767B\\u5F55 guangya.qsxy.top \\u540E\\uFF0C\\u590D\\u5236\\u5B8C\\u6574 Cookie\\u3002Cookie \\u5931\\u6548\\u540E\\u9700\\u91CD\\u65B0\\u586B\\u5199\\u3002\"},Ge.default.createElement(Ie.Input.TextArea,{autoSize:{minRows:5,maxRows:10},placeholder:\"wordpress_logged_in_...=...; PHPSESSID=...\"})),Ge.default.createElement(Ie.Space,{wrap:!0},Ge.default.createElement(Ie.Button,{type:\"primary\",loading:t,onClick:()=>i(!0)},\"\\u4FDD\\u5B58\\u5E76\\u9A8C\\u8BC1\"),Ge.default.createElement(Ie.Button,{loading:t,onClick:()=>i(!1)},\"\\u4EC5\\u4FDD\\u5B58\"),Ge.default.createElement(Ie.Button,{danger:!0,loading:t,onClick:s},\"\\u6E05\\u7A7A Cookie\"))))}var Oe=B(R(),1),Me=B(Pe(),1),wp=B(nt(),1);var Ba=wp.default.create({baseURL:\"/website\"});Ba.interceptors.response.use(e=>{if(e.data.code!==0){let t=new Error(e.data.message||\"\\u8BF7\\u6C42\\u5931\\u8D25\");throw t.responseData=e.data,t}return e.data.data});var Kw=e=>{let{attributes:t,listeners:n,setNodeRef:r,transform:o,transition:a,isDragging:i}=la({id:e[\"data-row-key\"]}),s=C(I(C({},e.style),{transform:Bt.Translate.toString(o),transition:a,cursor:\"move\"}),i?{position:\"relative\",zIndex:9999}:{});return Oe.default.createElement(\"tr\",C(C(I(C({},e),{ref:r,style:s}),t),n))};function Jw(e=[],t={}){let n=(t==null?void 0:t.classes)||{};return e.map((r,o)=>{let a=n[r.type_id]||{},i=Number.isFinite(Number(a.order))?Number(a.order):o+1;return{key:r.type_id,type_id:r.type_id,origin_name:r.type_name,custom_name:typeof a.name==\"string\"?a.name:\"\",hidden:a.hidden===!0,order:i}}).sort((r,o)=>r.order-o.order||r.origin_name.localeCompare(o.origin_name,\"zh-CN\"))}function Xw(e=[]){let t={};return e.forEach((n,r)=>{t[n.type_id]={name:(n.custom_name||\"\").trim(),hidden:n.hidden===!0,order:r+1}}),{classes:t,updatedAt:Date.now()}}function As(){let[e,t]=(0,Oe.useState)([]),[n,r]=(0,Oe.useState)(!1),[o,a]=(0,Oe.useState)(!1),i=Or(Sr(Vt,{activationConstraint:{distance:1}})),s=async()=>{r(!0);try{let c=await Ba.get(\"/zhuiju/config\");t(Jw((c==null?void 0:c.classes)||[],(c==null?void 0:c.config)||{}))}catch(c){console.error(c),Me.message.error(\"\\u52A0\\u8F7D\\u5931\\u8D25\\uFF1A\".concat((c==null?void 0:c.message)||\"\\u672A\\u77E5\\u9519\\u8BEF\"))}finally{r(!1)}};(0,Oe.useEffect)(()=>{s()},[]);let l=({active:c,over:m})=>{!m||c.id===m.id||t(x=>{let v=x.findIndex(y=>y.key===c.id),h=x.findIndex(y=>y.key===m.id);return v<0||h<0?x:pt(x,v,h).map((y,b)=>I(C({},y),{order:b+1}))})},u=(0,Oe.useMemo)(()=>[{title:\"\\u5206\\u7C7B\\u540D\",dataIndex:\"origin_name\",render:(c,m)=>{var x;return Oe.default.createElement(\"div\",null,Oe.default.createElement(\"div\",{style:{fontWeight:600}},((x=m.custom_name)==null?void 0:x.trim())||m.origin_name),Oe.default.createElement(\"div\",{style:{fontSize:12,opacity:.65}},m.origin_name))}},{title:\"\\u91CD\\u547D\\u540D\",dataIndex:\"custom_name\",render:(c,m,x)=>Oe.default.createElement(Me.Input,{placeholder:m.origin_name,value:c,onChange:v=>{let h=[...e];h[x].custom_name=v.target.value,t(h)}}),width:220},{title:\"\\u5C4F\\u853D\",dataIndex:\"hidden\",width:80,align:\"center\",render:(c,m,x)=>Oe.default.createElement(Me.Switch,{checked:c,onChange:v=>{let h=[...e];h[x].hidden=v,t(h)}})},{title:\"\\u6392\\u5E8F\",dataIndex:\"order\",width:90,align:\"center\",render:(c,m,x)=>Oe.default.createElement(Me.Space,{size:2},Oe.default.createElement(Me.Button,{icon:Oe.default.createElement(_t,null),size:\"small\",type:\"text\",disabled:x===0,onClick:()=>t(v=>pt(v,x,x-1).map((h,y)=>I(C({},h),{order:y+1})))}),Oe.default.createElement(Me.Button,{icon:Oe.default.createElement(Pt,null),size:\"small\",type:\"text\",disabled:x===e.length-1,onClick:()=>t(v=>pt(v,x,x+1).map((h,y)=>I(C({},h),{order:y+1})))}))}],[e]),f=async()=>{a(!0);try{await Ba.put(\"/zhuiju/config\",Xw(e)),Me.message.success(\"\\u4FDD\\u5B58\\u6210\\u529F\\uFF0Czhuiju \\u5206\\u7C7B\\u81EA\\u5B9A\\u4E49\\u5DF2\\u5165\\u5E93\"),await s()}catch(c){console.error(c),Me.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\\uFF1A\".concat((c==null?void 0:c.message)||\"\\u672A\\u77E5\\u9519\\u8BEF\"))}finally{a(!1)}},d=async()=>{a(!0);try{await Ba.delete(\"/zhuiju/config\"),Me.message.success(\"\\u5DF2\\u91CD\\u7F6E\\u4E3A\\u9ED8\\u8BA4\\u5206\\u7C7B\"),await s()}catch(c){console.error(c),Me.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((c==null?void 0:c.message)||\"\\u672A\\u77E5\\u9519\\u8BEF\"))}finally{a(!1)}};return Oe.default.createElement(\"div\",null,Oe.default.createElement(\"div\",{className:\"force-light-table-header\"},Oe.default.createElement(Dr,{sensors:i,modifiers:[Ir],onDragEnd:l},Oe.default.createElement(Tr,{items:e.map(c=>c.key),strategy:Er},Oe.default.createElement(Me.Table,{components:{body:{row:Kw}},rowKey:\"key\",loading:n,columns:u,dataSource:e,pagination:!1,size:\"small\",scroll:{x:\"max-content\",y:420}})))),Oe.default.createElement(Me.Space,{style:{marginTop:16,width:\"100%\"},direction:\"vertical\"},Oe.default.createElement(Me.Button,{icon:Oe.default.createElement(cn,null),block:!0,onClick:s,disabled:o},\"\\u5237\\u65B0\\u5206\\u7C7B\\u5217\\u8868\"),Oe.default.createElement(Me.Button,{type:\"primary\",block:!0,loading:o,onClick:f},\"\\u4FDD\\u5B58\"),Oe.default.createElement(Me.Button,{danger:!0,block:!0,loading:o,onClick:d},\"\\u91CD\\u7F6E\")))}var pe=B(R(),1),le=B(Pe(),1),Cp=B(nt(),1),no=Cp.default.create({baseURL:\"/website\"});no.interceptors.response.use(e=>{if(e.data.code!==0)throw new Error(e.data.message||\"\\u8BF7\\u6C42\\u5931\\u8D25\");return e.data},e=>Promise.reject(e));function Ps(){let[e]=le.Form.useForm(),[t,n]=(0,pe.useState)(!1),[r,o]=(0,pe.useState)(!1),[a,i]=(0,pe.useState)(null),s=async()=>{let{data:d}=await no.get(\"/yingchao/config\");e.setFieldsValue({tmdb_api_key:d.tmdb_api_key||\"\",tmdb_bearer_token:d.tmdb_bearer_token||\"\",tmdb_auth_mode:d.tmdb_auth_mode||\"\",tmdb_language:d.tmdb_language||\"zh-CN\",tmdb_region:d.tmdb_region||\"CN\",hdhive_api_base_url:d.hdhive_api_base_url||\"https://hdhive.com/api/open\",hdhive_api_key:d.hdhive_api_key||\"\",hdhive_proxy_url:d.hdhive_proxy_url||\"\",hdhive_username:d.hdhive_username||\"\",hdhive_password:\"\",billing_mode:d.billing_mode||\"all\",hide_invalid:d.hide_invalid!==!1})};(0,pe.useEffect)(()=>{s()},[]);let l=async()=>{n(!0);try{let d=await e.validateFields();await no.put(\"/yingchao/config\",d),le.message.success(\"\\u5F71\\u5DE2\\u914D\\u7F6E\\u5DF2\\u4FDD\\u5B58\"),await s()}finally{n(!1)}},u=async()=>{n(!0);try{await no.delete(\"/yingchao/config\"),le.message.success(\"\\u5F71\\u5DE2\\u914D\\u7F6E\\u5DF2\\u91CD\\u7F6E\"),await s()}finally{n(!1)}},f=async d=>{var c;o(!0),i(null);try{let m=await no.post(\"/yingchao/checkin\",{gamble:d});le.message.success(m.message||\"\\u7B7E\\u5230\\u6210\\u529F\"),i({type:\"success\",message:m.message,logs:((c=m.data)==null?void 0:c.logs)||[]})}catch(m){le.message.error(m.message||\"\\u7B7E\\u5230\\u5931\\u8D25\"),i({type:\"error\",message:m.message||\"\\u7B7E\\u5230\\u5931\\u8D25\",logs:[]})}finally{o(!1)}};return pe.default.createElement(le.Card,{variant:\"borderless\"},pe.default.createElement(le.Form,{form:e,layout:\"vertical\"},pe.default.createElement(le.Form.Item,{label:\"TMDB API Key\",name:\"tmdb_api_key\"},pe.default.createElement(le.Input,{placeholder:\"\\u672A\\u586B\\u5219\\u4F7F\\u7528\\u9ED8\\u8BA4\\u503C TMDB_API_KEY\"})),pe.default.createElement(le.Form.Item,{label:\"HDHive API \\u5730\\u5740\",name:\"hdhive_api_base_url\"},pe.default.createElement(le.Input,{placeholder:\"https://hdhive.com/api/open\"})),pe.default.createElement(le.Form.Item,{label:\"HDHive API Key\",name:\"hdhive_api_key\"},pe.default.createElement(le.Input.Password,{placeholder:\"\\u5FC5\\u586B HDHIVE_API_KEY\"})),pe.default.createElement(le.Form.Item,{label:\"HDHive \\u4EE3\\u7406 URL\",name:\"hdhive_proxy_url\"},pe.default.createElement(le.Input,{placeholder:\"\\u4F8B\\u5982 http://127.0.0.1:7890 \\u6216 http://user:pass@host:port\\uFF08\\u7B7E\\u5230\\u4E5F\\u4F1A\\u590D\\u7528\\uFF09\"})),pe.default.createElement(le.Card,{size:\"small\",type:\"inner\",title:\"\\u6BCF\\u65E5\\u7B7E\\u5230\",style:{marginBottom:16}},pe.default.createElement(le.Form.Item,{label:\"HDHive \\u7528\\u6237\\u540D\",name:\"hdhive_username\"},pe.default.createElement(le.Input,{placeholder:\"HDHive \\u7F51\\u7AD9\\u8D26\\u53F7\",autoComplete:\"username\"})),pe.default.createElement(le.Form.Item,{label:\"HDHive \\u5BC6\\u7801\",name:\"hdhive_password\",extra:\"\\u51FA\\u4E8E\\u5B89\\u5168\\u8003\\u8651\\uFF0C\\u5BC6\\u7801\\u4E0D\\u56DE\\u663E\\uFF1B\\u7559\\u7A7A\\u4FDD\\u5B58\\u8868\\u793A\\u6CBF\\u7528\\u5DF2\\u5B58\\u5BC6\\u7801\"},pe.default.createElement(le.Input.Password,{placeholder:\"\\u7559\\u7A7A\\u8868\\u793A\\u4E0D\\u4FEE\\u6539\",autoComplete:\"new-password\"})),pe.default.createElement(le.Space,{wrap:!0},pe.default.createElement(le.Button,{onClick:()=>f(!1),loading:r},\"\\u7ACB\\u5373\\u7B7E\\u5230\"),pe.default.createElement(le.Button,{onClick:()=>f(!0),loading:r,danger:!0},\"\\u8D4C\\u72D7\\u7B7E\\u5230\")),a&&pe.default.createElement(le.Alert,{style:{marginTop:12},type:a.type,showIcon:!0,message:a.message,description:a.logs&&a.logs.length>0?pe.default.createElement(\"pre\",{style:{margin:0,whiteSpace:\"pre-wrap\",fontSize:12}},a.logs.join(\"\\n\")):null})),pe.default.createElement(le.Form.Item,{label:\"\\u8D44\\u6E90\\u8FC7\\u6EE4\",name:\"billing_mode\"},pe.default.createElement(le.Radio.Group,null,pe.default.createElement(le.Space,{direction:\"vertical\"},pe.default.createElement(le.Radio,{value:\"all\"},\"\\u5168\\u90E8\\u663E\\u793A\"),pe.default.createElement(le.Radio,{value:\"free_only\"},\"\\u4EC5\\u514D\\u8D39\\u8D44\\u6E90\"),pe.default.createElement(le.Radio,{value:\"paid_only\"},\"\\u4EC5\\u4ED8\\u8D39\\u8D44\\u6E90\")))),pe.default.createElement(le.Form.Item,{label:\"\\u9690\\u85CF\\u65E0\\u6548\\u8D44\\u6E90\",name:\"hide_invalid\",valuePropName:\"checked\"},pe.default.createElement(le.Switch,null)),pe.default.createElement(\"div\",{style:{display:\"flex\",gap:8,flexWrap:\"wrap\"}},pe.default.createElement(le.Button,{type:\"primary\",onClick:l,loading:t},\"\\u4FDD\\u5B58\\u914D\\u7F6E\"),pe.default.createElement(le.Button,{danger:!0,onClick:u,loading:t},\"\\u91CD\\u7F6E\\u9ED8\\u8BA4\"))))}var H=B(R(),1),ae=B(Pe(),1);var Sp=B(nt(),1),{Text:Rt}=ae.Typography,Dn=Sp.default.create({baseURL:\"/website/dudb\"}),Op=3;Dn.interceptors.response.use(e=>{var t,n;if(((t=e.data)==null?void 0:t.code)!==0){let r=((n=e.data)==null?void 0:n.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\";throw ae.message.error(r),new Error(r)}return e.data},e=>{var n,r;let t=((r=(n=e.response)==null?void 0:n.data)==null?void 0:r.message)||e.message||\"\\u8BF7\\u6C42\\u5931\\u8D25\";return ae.message.error(t),Promise.reject(e)});function Qw(e){if(!e)return\"-\";try{return new Date(Number(e)).toLocaleString()}catch(t){return\"-\"}}function La(e){let t=Number(e);return!Number.isFinite(t)||t<=0?Op:Math.max(1,Math.floor(t))}function Zw(){let[e,t]=(0,H.useState)(!1),[n,r]=(0,H.useState)(!1),[o,a]=(0,H.useState)(!1),[i,s]=(0,H.useState)(!1),[l,u]=(0,H.useState)([]),[f,d]=(0,H.useState)(\"\"),[c,m]=(0,H.useState)(!1),[x,v]=(0,H.useState)(!1),[h,y]=(0,H.useState)(Op),b=(0,H.useCallback)(async()=>{var N,U,K;try{t(!0);let[se,he]=await Promise.all([Dn.get(\"/list\"),Dn.get(\"/settings\")]);u(((N=se.data)==null?void 0:N.files)||[]),d(((U=se.data)==null?void 0:U.dir)||\"\"),y(La((K=he.data)==null?void 0:K.searchDbLimit)),m(!1),v(!1)}catch(se){}finally{t(!1)}},[]);(0,H.useEffect)(()=>{b()},[b]);let O=(0,H.useCallback)((N,U)=>{u(K=>{let se=[...K],he=N+U;return he<0||he>=se.length?K:([se[N],se[he]]=[se[he],se[N]],se)}),m(!0)},[]),w=(0,H.useCallback)(async()=>{try{r(!0),await Dn.put(\"/order\",{order:l.map(N=>N.name)}),m(!1),ae.message.success(\"\\u6392\\u5E8F\\u5DF2\\u4FDD\\u5B58\")}catch(N){}finally{r(!1)}},[l]),D=(0,H.useCallback)(async()=>{var U;let N=La(h);try{a(!0);let K=await Dn.post(\"/settings\",{searchDbLimit:N});y(La((U=K.data)==null?void 0:U.searchDbLimit)),v(!1),ae.message.success(\"\\u641C\\u7D22\\u8BBE\\u7F6E\\u5DF2\\u4FDD\\u5B58\")}catch(K){}finally{a(!1)}},[h]),S=(0,H.useCallback)(N=>{y(La(N)),v(!0)},[]),F=(0,H.useCallback)(async N=>{try{await Dn.delete(\"/file/\".concat(encodeURIComponent(N))),ae.message.success(\"\\u5DF2\\u5220\\u9664 \".concat(N)),await b()}catch(U){}},[b]),T=(0,H.useCallback)(N=>new Promise(U=>{ae.Modal.confirm({title:\"\\u8986\\u76D6\\u5DF2\\u6709\\u6587\\u4EF6 \".concat(N,\"?\"),content:\"\\u540C\\u540D .db \\u6587\\u4EF6\\u5DF2\\u5B58\\u5728\\uFF0C\\u7EE7\\u7EED\\u4E0A\\u4F20\\u4F1A\\u66FF\\u6362\\u78C1\\u76D8\\u4E0A\\u7684\\u539F\\u6587\\u4EF6\\u3002\",okText:\"\\u8986\\u76D6\",okType:\"danger\",cancelText:\"\\u53D6\\u6D88\",onOk:()=>U(!0),onCancel:()=>U(!1)})}),[]),P=(0,H.useCallback)(async({file:N,onSuccess:U,onError:K,onProgress:se})=>{let he=l.some(Ve=>Ve.name===N.name),Ce=!1;if(he&&(Ce=await T(N.name),!Ce)){K==null||K(new Error(\"\\u7528\\u6237\\u53D6\\u6D88\\u8986\\u76D6\"));return}let He=new FormData;He.append(\"file\",N);try{s(!0),await Dn.post(\"/upload\".concat(Ce?\"?overwrite=1\":\"\"),He,{headers:{\"Content-Type\":\"multipart/form-data\"},onUploadProgress:Ve=>{Ve.total&&(se==null||se({percent:Math.round(Ve.loaded/Ve.total*100)}))}}),ae.message.success(\"\".concat(Ce?\"\\u8986\\u76D6\":\"\\u4E0A\\u4F20\",\"\\u6210\\u529F: \").concat(N.name)),U==null||U({},N),await b()}catch(Ve){K==null||K(Ve)}finally{s(!1)}},[T,l,b]),V=(0,H.useCallback)(N=>/\\.db$/i.test(N.name)?!0:(ae.message.error(\"\\u53EA\\u80FD\\u4E0A\\u4F20 .db \\u6587\\u4EF6\"),ae.Upload.LIST_IGNORE),[]),E=(0,H.useMemo)(()=>[{title:\"#\",width:50,responsive:[\"sm\"],render:(N,U,K)=>H.default.createElement(Rt,{type:\"secondary\"},K+1)},{title:\"\\u6587\\u4EF6\\u540D\",dataIndex:\"name\",render:N=>H.default.createElement(Rt,{strong:!0,style:{wordBreak:\"break-all\"}},N)},{title:\"\\u5927\\u5C0F\",dataIndex:\"size_str\",width:90,responsive:[\"sm\"],render:N=>H.default.createElement(ae.Tag,{color:\"blue\"},N)},{title:\"\\u4FEE\\u6539\\u65F6\\u95F4\",dataIndex:\"mtime\",width:180,responsive:[\"md\"],render:N=>H.default.createElement(Rt,{type:\"secondary\",style:{fontSize:12}},Qw(N))},{title:\"\\u64CD\\u4F5C\",width:132,fixed:\"right\",align:\"center\",render:(N,U,K)=>H.default.createElement(ae.Space,{size:4},H.default.createElement(ae.Tooltip,{title:\"\\u4E0A\\u79FB\"},H.default.createElement(ae.Button,{size:\"small\",icon:H.default.createElement(sn,null),disabled:K===0,onClick:()=>O(K,-1)})),H.default.createElement(ae.Tooltip,{title:\"\\u4E0B\\u79FB\"},H.default.createElement(ae.Button,{size:\"small\",icon:H.default.createElement(an,null),disabled:K===l.length-1,onClick:()=>O(K,1)})),H.default.createElement(ae.Popconfirm,{title:\"\\u786E\\u5B9A\\u5220\\u9664 \".concat(U.name,\"?\"),description:\"\\u6587\\u4EF6\\u4F1A\\u4ECE\\u78C1\\u76D8\\u6C38\\u4E45\\u79FB\\u9664\",onConfirm:()=>F(U.name),okText:\"\\u5220\\u9664\",okType:\"danger\",cancelText:\"\\u53D6\\u6D88\"},H.default.createElement(ae.Button,{size:\"small\",danger:!0,icon:H.default.createElement(Ue,null)})))}],[l.length,O,F]);return H.default.createElement(ae.Spin,{spinning:e,tip:\"\\u52A0\\u8F7D\\u4E2D...\"},H.default.createElement(ae.Card,{title:\"\\u672C\\u5730 DB \\u6587\\u4EF6\\u7BA1\\u7406\",extra:H.default.createElement(ae.Space,{wrap:!0},H.default.createElement(ae.Upload,{customRequest:P,beforeUpload:V,accept:\".db\",showUploadList:!1,multiple:!0},H.default.createElement(ae.Button,{type:\"primary\",icon:H.default.createElement(mr,null),loading:i},\"\\u4E0A\\u4F20 DB\")),H.default.createElement(ae.Button,{icon:H.default.createElement(cn,null),onClick:b},\"\\u5237\\u65B0\"),H.default.createElement(ae.Button,{type:\"primary\",ghost:!0,icon:H.default.createElement(Yt,null),loading:n,disabled:!c,onClick:w},\"\\u4FDD\\u5B58\\u6392\\u5E8F\"))},H.default.createElement(ae.Alert,{type:\"info\",showIcon:!0,style:{marginBottom:16},message:H.default.createElement(Rt,{style:{fontSize:13}},\"\\u4E0A\\u4F20\\u5230\\u56FA\\u5B9A\\u76EE\\u5F55\\uFF1A\",H.default.createElement(Rt,{code:!0,copyable:!0},f||\"(\\u672A\\u52A0\\u8F7D)\")),description:H.default.createElement(\"div\",{style:{fontSize:12}},H.default.createElement(\"p\",{style:{margin:0}},\"1. \\u4EC5\\u8BC6\\u522B .db \\u6587\\u4EF6\\uFF0C\\u4E14\\u6587\\u4EF6\\u5927\\u5C0F \\u2265 1KB\"),H.default.createElement(\"p\",{style:{margin:0}},'2. \\u6392\\u5E8F\\u901A\\u8FC7 \\u2191\\u2193 \\u8C03\\u6574\\uFF0C\\u8C03\\u6574\\u540E\\u70B9\"\\u4FDD\\u5B58\\u6392\\u5E8F\"\\u6301\\u4E45\\u5316'),H.default.createElement(\"p\",{style:{margin:0}},\"3. \\u5220\\u9664\\u4F1A\\u7ACB\\u5373\\u4ECE\\u78C1\\u76D8\\u79FB\\u9664\\uFF0C\\u4E0D\\u53EF\\u6062\\u590D\"))}),H.default.createElement(ae.Space,{wrap:!0,align:\"center\",style:{marginBottom:16}},H.default.createElement(Rt,{strong:!0},\"\\u641C\\u7D22\\u8BBE\\u7F6E\"),H.default.createElement(Rt,{type:\"secondary\"},\"\\u53EA\\u641C\\u7D22\\u6392\\u5E8F\\u524D\"),H.default.createElement(ae.InputNumber,{min:1,step:1,precision:0,value:h,onChange:S,style:{width:120}}),H.default.createElement(Rt,{type:\"secondary\"},\"\\u4E2A DB \\u6587\\u4EF6\"),H.default.createElement(ae.Button,{icon:H.default.createElement(Yt,null),loading:o,disabled:!x,onClick:D},\"\\u4FDD\\u5B58\\u8BBE\\u7F6E\")),l.length===0?H.default.createElement(ae.Empty,{description:\"\\u8FD8\\u6CA1\\u6709 DB \\u6587\\u4EF6\\uFF0C\\u70B9\\u4E0A\\u4F20\\u5F00\\u59CB\"}):H.default.createElement(ae.Table,{rowKey:\"name\",size:\"small\",dataSource:l,columns:E,pagination:!1,scroll:{x:420}})))}var Dp=H.default.memo(Zw);var te=B(R(),1),de=B(Pe(),1);var Ip=B(nt(),1),{Text:Zn}=de.Typography,ro=Ip.default.create({baseURL:\"/website/js\"});ro.interceptors.response.use(e=>{var t,n;if(((t=e.data)==null?void 0:t.code)!==0){let r=((n=e.data)==null?void 0:n.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\";throw de.message.error(r),new Error(r)}return e.data},e=>{var n,r;let t=((r=(n=e.response)==null?void 0:n.data)==null?void 0:r.message)||e.message||\"\\u8BF7\\u6C42\\u5931\\u8D25\";return de.message.error(t),Promise.reject(e)});function Rw(e){if(!e)return\"-\";try{return new Date(Number(e)).toLocaleString()}catch(t){return\"-\"}}function eC(){let[e,t]=(0,te.useState)(!1),[n,r]=(0,te.useState)(!1),[o,a]=(0,te.useState)(!1),[i,s]=(0,te.useState)([]),[l,u]=(0,te.useState)(\"\"),[f,d]=(0,te.useState)(!1),c=(0,te.useCallback)(async()=>{var w,D;try{t(!0);let S=await ro.get(\"/list\");s(((w=S.data)==null?void 0:w.files)||[]),u(((D=S.data)==null?void 0:D.dir)||\"\"),d(!1)}catch(S){}finally{t(!1)}},[]);(0,te.useEffect)(()=>{c()},[c]);let m=(0,te.useCallback)((w,D)=>{s(S=>{let F=[...S],T=w+D;return T<0||T>=F.length?S:([F[w],F[T]]=[F[T],F[w]],F)}),d(!0)},[]),x=(0,te.useCallback)(async()=>{try{r(!0),await ro.put(\"/order\",{order:i.map(w=>w.name)}),d(!1),de.message.success(\"\\u6392\\u5E8F\\u5DF2\\u4FDD\\u5B58\")}catch(w){}finally{r(!1)}},[i]),v=(0,te.useCallback)(async w=>{try{await ro.delete(\"/file/\".concat(encodeURIComponent(w))),de.message.success(\"\\u5DF2\\u5220\\u9664 \".concat(w)),await c()}catch(D){}},[c]),h=(0,te.useCallback)(w=>new Promise(D=>{de.Modal.confirm({title:\"\\u8986\\u76D6\\u5DF2\\u6709\\u6587\\u4EF6 \".concat(w,\"?\"),content:\"\\u540C\\u540D .js \\u6587\\u4EF6\\u5DF2\\u5B58\\u5728\\uFF0C\\u7EE7\\u7EED\\u4E0A\\u4F20\\u4F1A\\u66FF\\u6362\\u78C1\\u76D8\\u4E0A\\u7684\\u539F\\u6587\\u4EF6\\u3002\",okText:\"\\u8986\\u76D6\",okType:\"danger\",cancelText:\"\\u53D6\\u6D88\",onOk:()=>D(!0),onCancel:()=>D(!1)})}),[]),y=(0,te.useCallback)(async({file:w,onSuccess:D,onError:S,onProgress:F})=>{let T=i.some(E=>E.name===w.name),P=!1;if(T&&(P=await h(w.name),!P)){S==null||S(new Error(\"\\u7528\\u6237\\u53D6\\u6D88\\u8986\\u76D6\"));return}let V=new FormData;V.append(\"file\",w);try{a(!0),await ro.post(\"/upload\".concat(P?\"?overwrite=1\":\"\"),V,{headers:{\"Content-Type\":\"multipart/form-data\"},onUploadProgress:E=>{E.total&&(F==null||F({percent:Math.round(E.loaded/E.total*100)}))}}),de.message.success(\"\".concat(P?\"\\u8986\\u76D6\":\"\\u4E0A\\u4F20\",\"\\u6210\\u529F: \").concat(w.name)),D==null||D({},w),await c()}catch(E){S==null||S(E)}finally{a(!1)}},[h,i,c]),b=(0,te.useCallback)(w=>/\\.js$/i.test(w.name)?!0:(de.message.error(\"\\u53EA\\u80FD\\u4E0A\\u4F20 .js \\u6587\\u4EF6\"),de.Upload.LIST_IGNORE),[]),O=(0,te.useMemo)(()=>[{title:\"#\",width:50,responsive:[\"sm\"],render:(w,D,S)=>te.default.createElement(Zn,{type:\"secondary\"},S+1)},{title:\"\\u6587\\u4EF6\\u540D\",dataIndex:\"name\",render:(w,D)=>te.default.createElement(\"div\",null,te.default.createElement(Zn,{strong:!0,style:{wordBreak:\"break-all\"}},w),te.default.createElement(\"br\",null),te.default.createElement(Zn,{type:\"secondary\",style:{fontSize:12}},\"key: \",D.key))},{title:\"\\u5927\\u5C0F\",dataIndex:\"size_str\",width:90,responsive:[\"sm\"],render:w=>te.default.createElement(de.Tag,{color:\"blue\"},w)},{title:\"\\u4FEE\\u6539\\u65F6\\u95F4\",dataIndex:\"mtime\",width:180,responsive:[\"md\"],render:w=>te.default.createElement(Zn,{type:\"secondary\",style:{fontSize:12}},Rw(w))},{title:\"\\u64CD\\u4F5C\",width:132,fixed:\"right\",align:\"center\",render:(w,D,S)=>te.default.createElement(de.Space,{size:4},te.default.createElement(de.Tooltip,{title:\"\\u4E0A\\u79FB\"},te.default.createElement(de.Button,{size:\"small\",icon:te.default.createElement(sn,null),disabled:S===0,onClick:()=>m(S,-1)})),te.default.createElement(de.Tooltip,{title:\"\\u4E0B\\u79FB\"},te.default.createElement(de.Button,{size:\"small\",icon:te.default.createElement(an,null),disabled:S===i.length-1,onClick:()=>m(S,1)})),te.default.createElement(de.Popconfirm,{title:\"\\u786E\\u5B9A\\u5220\\u9664 \".concat(D.name,\"?\"),description:\"\\u6587\\u4EF6\\u4F1A\\u4ECE\\u78C1\\u76D8\\u6C38\\u4E45\\u79FB\\u9664\",onConfirm:()=>v(D.name),okText:\"\\u5220\\u9664\",okType:\"danger\",cancelText:\"\\u53D6\\u6D88\"},te.default.createElement(de.Button,{size:\"small\",danger:!0,icon:te.default.createElement(Ue,null)})))}],[i.length,m,v]);return te.default.createElement(de.Spin,{spinning:e,tip:\"\\u52A0\\u8F7D\\u4E2D...\"},te.default.createElement(de.Card,{title:\"\\u672C\\u5730 JS \\u6587\\u4EF6\\u7BA1\\u7406\",extra:te.default.createElement(de.Space,{wrap:!0},te.default.createElement(de.Upload,{customRequest:y,beforeUpload:b,accept:\"\",showUploadList:!1,multiple:!0},te.default.createElement(de.Button,{type:\"primary\",icon:te.default.createElement(mr,null),loading:o},\"\\u4E0A\\u4F20 JS\")),te.default.createElement(de.Button,{icon:te.default.createElement(cn,null),onClick:c},\"\\u5237\\u65B0\"),te.default.createElement(de.Button,{type:\"primary\",ghost:!0,icon:te.default.createElement(Yt,null),loading:n,disabled:!f,onClick:x},\"\\u4FDD\\u5B58\\u6392\\u5E8F\"))},te.default.createElement(de.Alert,{type:\"info\",showIcon:!0,style:{marginBottom:16},message:te.default.createElement(Zn,{style:{fontSize:13}},\"\\u4E0A\\u4F20\\u5230\\u56FA\\u5B9A\\u76EE\\u5F55\\uFF1A\",te.default.createElement(Zn,{code:!0,copyable:!0},l||\"(\\u672A\\u52A0\\u8F7D)\")),description:te.default.createElement(\"div\",{style:{fontSize:12}},te.default.createElement(\"p\",{style:{margin:0}},\"\\u4EC5\\u8BC6\\u522B .js \\u6587\\u4EF6\\uFF1B\\u6587\\u4EF6\\u540D\\u4F1A\\u4F5C\\u4E3A\\u7AD9\\u70B9 key \\u7684\\u57FA\\u7840\\u503C\"))}),i.length===0?te.default.createElement(de.Empty,{description:\"\\u8FD8\\u6CA1\\u6709 JS \\u6587\\u4EF6\\uFF0C\\u70B9\\u4E0A\\u4F20\\u5F00\\u59CB\"}):te.default.createElement(de.Table,{rowKey:\"name\",size:\"small\",dataSource:i,columns:O,pagination:!1,scroll:{x:420}})))}var Ep=te.default.memo(eC);var we=B(R(),1),Ee=B(Pe(),1);var{useToken:tC}=Ee.theme,_s=\"/website/alist_tvbox/config\";function nC(){let[e]=Ee.Form.useForm(),[t,n]=(0,we.useState)(!1),{token:r}=tC(),o=async()=>{n(!0);try{let l=await(await fetch(_s)).json();if(l.code===0){let u=l.data||{};e.setFieldsValue({base_url:u.base_url||\"\",token:u.token||\"\",custom_classes:u.custom_classes||\"\"})}}catch(s){console.error(\"\\u52A0\\u8F7D AListTvbox \\u914D\\u7F6E\\u5931\\u8D25:\",s),Ee.message.error(\"\\u52A0\\u8F7D\\u914D\\u7F6E\\u5931\\u8D25\")}finally{n(!1)}},a=async()=>{n(!0);try{let s=await e.validateFields(),l={base_url:String(s.base_url||\"\").trim(),token:String(s.token||\"\").trim(),custom_classes:String(s.custom_classes||\"\").trim()},f=await(await fetch(_s,{method:\"PUT\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(l)})).json();if(f.code===0)Ee.message.success(\"AListTvbox \\u914D\\u7F6E\\u4FDD\\u5B58\\u6210\\u529F\");else throw new Error(f.message||\"\\u4FDD\\u5B58\\u5931\\u8D25\")}catch(s){console.error(\"\\u4FDD\\u5B58\\u5931\\u8D25:\",s),Ee.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25: \".concat(s.message))}finally{n(!1)}},i=async()=>{n(!0);try{let l=await(await fetch(_s,{method:\"DELETE\"})).json();if(l.code===0)Ee.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\"),await o();else throw new Error(l.message)}catch(s){Ee.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25: \"+s.message)}finally{n(!1)}};return(0,we.useEffect)(()=>{o()},[]),we.default.createElement(Ee.ConfigProvider,{theme:{token:{borderRadius:8,colorPrimary:\"#1677ff\"},components:{Form:{labelFontSize:13,verticalLabelPadding:\"0 0 6px\"}}}},we.default.createElement(\"div\",{style:{maxWidth:1200,margin:\"0 auto\"}},we.default.createElement(\"div\",{style:{marginBottom:24}},we.default.createElement(Ee.Alert,{message:\"AListTvbox \\u8BF4\\u660E\",description:we.default.createElement(\"div\",null,we.default.createElement(\"p\",null,\"\\u2022 \",we.default.createElement(\"strong\",null,\"BASE_URL\"),\"\\uFF1AAList Tvbox \\u670D\\u52A1\\u5730\\u5740\\uFF0C\\u9ED8\\u8BA4 http://127.0.0.1:4567\"),we.default.createElement(\"p\",null,\"\\u2022 \",we.default.createElement(\"strong\",null,\"Token\"),\"\\uFF1AAList\\u7AD9\\u70B9 \\u2192 \\u7F16\\u8F91 \\u2192 \\u8BA4\\u8BC1Token\"),we.default.createElement(\"p\",null,\"\\u2022 \",we.default.createElement(\"strong\",null,\"\\u81EA\\u5B9A\\u4E49\\u5206\\u7C7B\"),'\\uFF1AJSON \\u6570\\u7EC4\\uFF0C\\u5982 [{\"type_id\":\"1\",\"type_name\":\"\\u7535\\u5F71\"}]\\uFF0C\\u7559\\u7A7A\\u4F7F\\u7528\\u9ED8\\u8BA4\\u5206\\u7C7B')),type:\"info\",showIcon:!0,icon:we.default.createElement(Pn,null),style:{background:r.colorPrimaryBg,border:\"1px solid \".concat(r.colorPrimaryBorder),borderRadius:r.borderRadiusLG,marginBottom:24}})),we.default.createElement(Ee.Form,{form:e,layout:\"vertical\"},we.default.createElement(Ee.Form.Item,{label:we.default.createElement(\"span\",null,we.default.createElement(ln,{style:{marginRight:6}}),\"BASE_URL\"),name:\"base_url\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165 BASE_URL\"}],tooltip:\"AList Tvbox \\u63A5\\u53E3\\u5730\\u5740\\uFF0C\\u5982 http://127.0.0.1:4567\"},we.default.createElement(Ee.Input,{placeholder:\"http://127.0.0.1:4567\"})),we.default.createElement(Ee.Form.Item,{label:we.default.createElement(\"span\",null,we.default.createElement(_n,{style:{marginRight:6}}),\"Token (XIAOYA_TOKEN)\"),name:\"token\",tooltip:\"AListTvbox \\u8BA4\\u8BC1Token\"},we.default.createElement(Ee.Input.TextArea,{placeholder:\"\\u8BF7\\u8F93\\u5165 AListTvbox Token\",rows:2,style:{fontFamily:\"monospace\",fontSize:13}})),we.default.createElement(Ee.Form.Item,{label:\"\\u81EA\\u5B9A\\u4E49\\u5206\\u7C7B (JSON)\",name:\"custom_classes\",tooltip:'JSON \\u6570\\u7EC4\\uFF0C\\u5982 [{\"type_id\":\"1\",\"type_name\":\"\\u7535\\u5F71\"}]\\uFF0C\\u7559\\u7A7A\\u4F7F\\u7528\\u9ED8\\u8BA4\\u5206\\u7C7B'},we.default.createElement(Ee.Input.TextArea,{rows:4,placeholder:'[{\"type_id\":\"1\",\"type_name\":\"\\u7535\\u5F71\"}]',style:{fontFamily:\"monospace\",fontSize:12}})),we.default.createElement(\"div\",{style:{position:\"sticky\",bottom:0,background:r.colorBgContainer,padding:\"16px 0\",borderTop:\"1px solid \".concat(r.colorBorderSecondary),marginTop:24,zIndex:10}},we.default.createElement(Ee.Space,{size:\"middle\"},we.default.createElement(Ee.Button,{type:\"primary\",onClick:a,loading:t,size:\"large\",style:{minWidth:120,height:40,boxShadow:\"0 2px 6px rgba(22,119,255,0.2)\"}},\"\\u4FDD\\u5B58\\u914D\\u7F6E\"),we.default.createElement(Ee.Button,{onClick:i,loading:t,size:\"large\",style:{height:40}},\"\\u91CD\\u7F6E\\u9ED8\\u8BA4\"))))))}var Tp=nC;var me=B(R(),1),fe=B(Pe(),1),kp=B(nt(),1);var{Paragraph:rC,Text:Ma}=fe.Typography,oC=new Set([\"sharemount\",\"115share\",\"alishare\",\"quarkshare\",\"ucshare\",\"123share\",\"139share\",\"baidushare\",\"smb\"]),aC={title:\"\\u5408\\u96C6\\u6302\\u8F7D\\u914D\\u7F6E\",baseURL:\"/website/sharemount\",success:\"\\u5408\\u96C6\\u6302\\u8F7D\\u914D\\u7F6E\\u5DF2\\u4FDD\\u5B58\",maxBatchSize:5e3,label:\"\\u6302\\u8F7D\\u5217\\u8868\",example:\"115\\u5408\\u96C6 \\u539F\\u76D8 https://115.com/s/example?password=1234\",example2:\"\\u963F\\u91CC\\u5408\\u96C6 \\u539F\\u76D8/\\u7EAA\\u5F55\\u7247 https://www.alipan.com/s/example\",example3:\"SMB\\u5408\\u96C6 # smb://192.168.1.10/Videos\"},iC={mycloud:{title:\"\\u6211\\u7684\\u7F51\\u76D8\",baseURL:\"/website/mycloud\",success:\"\\u6211\\u7684\\u7F51\\u76D8\\u914D\\u7F6E\\u5DF2\\u4FDD\\u5B58\",label:\"\\u7F51\\u76D8\\u5206\\u7C7B\\u5217\\u8868\",hideBatch:!0,example:\"\\u6211\\u7684\\u767E\\u5EA6 0\\u3001\\u6211\\u7684\\u5938\\u514B 0\\u3001\\u6211\\u7684\\u963F\\u91CC 0\\u3001\\u6211\\u7684115 0\\u3001\\u6211\\u7684123 0\\u3001\\u6211\\u7684\\u5929\\u7FFC 0\\u3001\\u6211\\u7684UC 0\\u3001\\u6211\\u7684\\u8FC5\\u96F7 0\\u3001\\u6211\\u7684\\u5149\\u9E2D 0\",example2:\"\\u6211\\u7684\\u767E\\u5EA6 /\\u7535\\u5F71\\u3001\\u6211\\u7684\\u5938\\u514B 63f8xxxx\\u3001\\u6211\\u7684\\u963F\\u91CC 642fxxxx\\u3001\\u6211\\u7684115 258xxxx\\u3001\\u6211\\u7684123 123456\\u3001\\u6211\\u7684\\u5929\\u7FFC 67890\\u3001\\u6211\\u7684UC 63f8xxxx\\u3001\\u6211\\u7684\\u8FC5\\u96F7 VODxxxxx\",desc:\"\\u6309\\u987A\\u5E8F\\u586B\\u5199\\u5206\\u7C7B\\uFF0C\\u683C\\u5F0F\\u4E3A\\u201C\\u5206\\u7C7B\\u540D\\u79F0 \\u76EE\\u5F55\\u6807\\u8BC6\\u201D\\uFF0C\\u652F\\u6301\\u6362\\u884C\\u3001\\u987F\\u53F7\\u6216\\u9017\\u53F7\\u5206\\u9694\\uFF1B0 \\u8868\\u793A\\u6302\\u8F7D\\u6839\\u76EE\\u5F55\\u3002\\u767E\\u5EA6\\u56FA\\u5B9A\\u76EE\\u5F55\\u586B\\u5199\\u76EE\\u5F55\\u8DEF\\u5F84\\uFF0C\\u5982 /\\u7535\\u5F71\\uFF1B\\u5176\\u4ED6\\u7F51\\u76D8\\u586B\\u5199\\u76EE\\u5F55 ID\\uFF1A\\u963F\\u91CC file_id\\uFF0C\\u5938\\u514B\\u548C UC \\u586B fid\\uFF0C115 \\u586B cid\\uFF0C123 \\u586B FileId\\uFF0C\\u5929\\u7FFC\\u586B\\u76EE\\u5F55 id\\uFF0C\\u8FC5\\u96F7\\u548C\\u5149\\u9E2D\\u586B\\u6587\\u4EF6\\u5939 id\\u3002\\u9700\\u8981\\u6302\\u8F7D\\u591A\\u4E2A\\u76EE\\u5F55\\u65F6\\u91CD\\u590D\\u586B\\u5199\\u540C\\u4E00\\u5206\\u7C7B\\u540D\\uFF0C\\u4F8B\\u5982\\u201C\\u6211\\u7684\\u767E\\u5EA6 /\\u7535\\u5F71\\u3001\\u6211\\u7684\\u767E\\u5EA6 /\\u7535\\u89C6\\u5267\\u201D\\uFF1B\\u5206\\u7C7B\\u5217\\u8868\\u53EA\\u663E\\u793A\\u4E00\\u4E2A\\u201C\\u6211\\u7684\\u767E\\u5EA6\\u201D\\uFF0C\\u76EE\\u5F55\\u901A\\u8FC7\\u8BE5\\u5206\\u7C7B\\u4E0B\\u7684\\u201C\\u76EE\\u5F55\\u201D\\u7B5B\\u9009\\u5207\\u6362\\u3002\"}};function oo({type:e}){let t=e===\"mycloud\"?iC.mycloud:aC,n=kp.default.create({baseURL:t.baseURL});n.interceptors.response.use(c=>{if(c.data.code!==0)throw fe.message.error(c.data.message||\"\\u8BF7\\u6C42\\u5931\\u8D25\"),new Error(c.data.message||\"\\u8BF7\\u6C42\\u5931\\u8D25\");return c.data.data});let[r]=fe.Form.useForm(),[o,a]=(0,me.useState)(!1),[i,s]=(0,me.useState)(!1),l=oC.has(e)||!e,u=async()=>{a(!0);try{let c=await n.get(\"/settings\");r.setFieldsValue(c?C({},c):{text:\"\",searchLimit:30,searchMaxShares:10,searchIntervalMs:600,searchCacheTtlMs:6e5})}catch(c){console.error(\"[\".concat(e,\"] load settings failed\"),c),fe.message.error(\"\\u52A0\\u8F7D\\u5931\\u8D25\\uFF1A\".concat((c==null?void 0:c.message)||c))}finally{a(!1)}},f=async()=>{let c=await r.validateFields(),m=l?(b=>{var O=b,{batchTiers:x,batchSize:v,batchIntervalMs:h}=O,y=Ft(O,[\"batchTiers\",\"batchSize\",\"batchIntervalMs\"]);return y})(c):c;s(!0);try{let x=await n.post(\"/settings\",m);r.setFieldsValue(x),fe.message.success(t.success)}catch(x){console.error(\"[\".concat(e,\"] save settings failed\"),x),fe.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\\uFF1A\".concat((x==null?void 0:x.message)||x))}finally{s(!1)}};(0,me.useEffect)(()=>{u()},[e]);let d=me.default.createElement(fe.Space,{direction:\"vertical\",size:4},me.default.createElement(Ma,null,\"\\u5206\\u7C7B\\u548C\\u76EE\\u5F55\\u987A\\u5E8F\\u6309\\u914D\\u7F6E\\u884C\\u9996\\u6B21\\u51FA\\u73B0\\u7684\\u987A\\u5E8F\\u751F\\u6210\\uFF1BSMB\\u5408\\u96C6\\u4F7F\\u7528 smb:// \\u94FE\\u63A5\\uFF0C\\u5176\\u5B83\\u5408\\u96C6\\u4F7F\\u7528 http(s) \\u94FE\\u63A5\\u3002\"));return me.default.createElement(fe.Form,{form:r,layout:\"vertical\",disabled:o},me.default.createElement(fe.Alert,{type:\"info\",showIcon:!0,style:{marginBottom:12},message:t.title,description:l?d:t.desc}),me.default.createElement(fe.Form.Item,{name:\"text\",label:t.label||\"\\u5206\\u4EAB\\u94FE\\u63A5\\u5217\\u8868\",rules:[{required:!1}],extra:me.default.createElement(fe.Space,{direction:\"vertical\",size:2},me.default.createElement(Ma,{type:\"secondary\"},\"\\u793A\\u4F8B\\uFF1A\",t.example),me.default.createElement(Ma,{type:\"secondary\"},\"\\u793A\\u4F8B\\uFF1A\",t.example2),l&&me.default.createElement(Ma,{type:\"secondary\"},\"\\u793A\\u4F8B\\uFF1A\",t.example3))},me.default.createElement(fe.Input.TextArea,{rows:l?14:10,placeholder:l?\"\".concat(t.example,\"\\n\").concat(t.example2,\"\\n\").concat(t.example3):\"\".concat(t.example,\"\\n\").concat(t.example2)})),!t.hideBatch&&(l?me.default.createElement(me.default.Fragment,null,me.default.createElement(fe.Divider,{orientation:\"left\",plain:!0},\"115\\u641C\\u7D22\"),me.default.createElement(rC,{type:\"secondary\",style:{marginBottom:12}},\"\\u4EC5 115\\u5408\\u96C6 \\u4F7F\\u7528\\u8FD9\\u4E9B\\u641C\\u7D22\\u53C2\\u6570\\uFF1B\\u5176\\u5B83\\u5408\\u96C6\\u4FDD\\u6301\\u4E0D\\u53EF\\u641C\\u7D22\\u3002\"),me.default.createElement(fe.Space,{align:\"start\",wrap:!0},me.default.createElement(fe.Form.Item,{name:\"searchLimit\",label:\"\\u6BCF\\u6B21\\u641C\\u7D22\\u6570\\u91CF\",initialValue:30,rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u6BCF\\u6B21\\u641C\\u7D22\\u6570\\u91CF\"}]},me.default.createElement(fe.InputNumber,{min:1,max:100,style:{width:160}})),me.default.createElement(fe.Form.Item,{name:\"searchMaxShares\",label:\"\\u641C\\u7D22\\u94FE\\u63A5\\u6570\\u91CF\",initialValue:10,rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u641C\\u7D22\\u94FE\\u63A5\\u6570\\u91CF\"}]},me.default.createElement(fe.InputNumber,{min:1,style:{width:160}})),me.default.createElement(fe.Form.Item,{name:\"searchIntervalMs\",label:\"\\u641C\\u7D22\\u95F4\\u9694\\uFF08\\u6BEB\\u79D2\\uFF09\",initialValue:600,rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u641C\\u7D22\\u95F4\\u9694\"}]},me.default.createElement(fe.InputNumber,{min:0,max:5e3,step:100,style:{width:180}})),me.default.createElement(fe.Form.Item,{name:\"searchCacheTtlMs\",label:\"\\u641C\\u7D22\\u7F13\\u5B58\\uFF08\\u6BEB\\u79D2\\uFF09\",initialValue:6e5,rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u641C\\u7D22\\u7F13\\u5B58\\u65F6\\u95F4\"}]},me.default.createElement(fe.InputNumber,{min:0,max:36e5,step:6e4,style:{width:180}})))):me.default.createElement(fe.Space,{align:\"start\",wrap:!0},me.default.createElement(fe.Form.Item,{name:\"batchSize\",label:\"\\u6BCF\\u6279\\u8BFB\\u53D6\\u6570\\u91CF\",initialValue:500,rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u6BCF\\u6279\\u8BFB\\u53D6\\u6570\\u91CF\"}]},me.default.createElement(fe.InputNumber,{min:1,max:t.maxBatchSize,style:{width:160}})),me.default.createElement(fe.Form.Item,{name:\"batchIntervalMs\",label:\"\\u6279\\u6B21\\u95F4\\u9694\\uFF08\\u6BEB\\u79D2\\uFF09\",initialValue:1e3,rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u6279\\u6B21\\u95F4\\u9694\"}]},me.default.createElement(fe.InputNumber,{min:0,max:1e4,step:100,style:{width:180}})))),me.default.createElement(\"div\",{style:{marginTop:8}},me.default.createElement(fe.Space,null,me.default.createElement(fe.Button,{type:\"primary\",onClick:f,loading:i},\"\\u4FDD\\u5B58\"),me.default.createElement(fe.Button,{onClick:u,loading:o},\"\\u91CD\\u65B0\\u52A0\\u8F7D\"))))}var sC=[{key:\"wogg\",name:\"\\u73A9\\u5076\",api:\"/wogg/urls\"},{key:\"muou\",name:\"\\u6728\\u5076\",api:\"/muou/urls\"},{key:\"erxiao\",name:\"\\u4E8C\\u5C0F\",api:\"/erxiao/urls\"},{key:\"zhizhen\",name:\"\\u81F3\\u81FB\",api:\"/zhizhen/urls\"},{key:\"ouge\",name:\"\\u6B27\\u6B4C\",api:\"/ouge/urls\"},{key:\"labi\",name:\"\\u8721\\u7B14\",api:\"/labi/urls\"},{key:\"huban\",name:\"\\u864E\\u6591\",api:\"/huban/urls\"},{key:\"kuaiying\",name:\"\\u5FEB\\u6620\",api:\"/kuaiying/urls\"},{key:\"duoduo\",name:\"\\u591A\\u591A\",api:\"/duoduo/urls\"},{key:\"shandian\",name:\"\\u95EA\\u7535\",api:\"/shandian/urls\"}],lC=()=>ue.default.createElement(en.Collapse,{defaultActiveKey:[\"wogg\"],items:sC.map(e=>({key:e.key,label:e.name,children:ue.default.createElement(Va,{api:e.api,name:e.name})}))}),dC=e=>{let t=e.startsWith(\"nodejs_\")?e.substring(7):e,r=(a=>a===\"alist_tvbox\"||a.startsWith(\"alist_tvbox_\")?\"alist_tvbox\":a.startsWith(\"emby_\")?\"emby\":a.startsWith(\"alist_\")?\"alist\":a.startsWith(\"webdav_\")?\"webdav\":a===\"sharemount\"?\"sharemount\":a===\"115share\"?\"115share\":a===\"alishare\"?\"alishare\":a===\"quarkshare\"?\"quarkshare\":a===\"ucshare\"?\"ucshare\":a===\"123share\"?\"123share\":a===\"139share\"?\"139share\":a===\"baidushare\"?\"baidushare\":a===\"smb\"?\"smb\":a===\"mycloud\"?\"mycloud\":a)(t);return[\"bili_all\",\"tgchannel\",\"tgsou\",\"pansou\",\"panlian\",\"filejin\",\"pan1\",\"guangyaqsxy\",\"live\",\"zhuiju\",\"yingchao\",\"emby\",\"alist\",\"webdav\",\"alist_tvbox\",\"sharemount\",\"115share\",\"alishare\",\"quarkshare\",\"ucshare\",\"123share\",\"139share\",\"baidushare\",\"smb\",\"mycloud\",\"uc-tv\",\"dudb\",\"js\",\"wanoujuhe\",\"leijing\"].includes(r)},cC=({sourceKey:e,sourceName:t})=>{let n=e.startsWith(\"nodejs_\")?e.substring(7):e,o=(a=>a===\"alist_tvbox\"||a.startsWith(\"alist_tvbox_\")?\"alist_tvbox\":a.startsWith(\"emby_\")?\"emby\":a.startsWith(\"alist_\")?\"alist\":a.startsWith(\"webdav_\")?\"webdav\":a===\"sharemount\"?\"sharemount\":a===\"115share\"?\"115share\":a===\"alishare\"?\"alishare\":a===\"quarkshare\"?\"quarkshare\":a===\"ucshare\"?\"ucshare\":a===\"123share\"?\"123share\":a===\"139share\"?\"139share\":a===\"baidushare\"?\"baidushare\":a===\"smb\"?\"smb\":a===\"mycloud\"?\"mycloud\":a)(n);switch(o){case\"bili_all\":return ue.default.createElement(Of,null);case\"tgchannel\":return ue.default.createElement(Ls,null);case\"tgsou\":return ue.default.createElement(Bs,null);case\"pansou\":return ue.default.createElement($s,null);case\"panlian\":return ue.default.createElement(Ts,null);case\"filejin\":return ue.default.createElement(ks,null);case\"pan1\":return ue.default.createElement(Ns,null);case\"guangyaqsxy\":return ue.default.createElement(Fs,null);case\"live\":return ue.default.createElement(sp,null);case\"zhuiju\":return ue.default.createElement(As,null);case\"yingchao\":return ue.default.createElement(Ps,null);case\"emby\":return ue.default.createElement(zs,null);case\"alist\":return ue.default.createElement(lp,null);case\"webdav\":return ue.default.createElement(dp,null);case\"alist_tvbox\":return ue.default.createElement(Tp,null);case\"sharemount\":return ue.default.createElement(oo,{type:\"sharemount\"});case\"alishare\":case\"quarkshare\":case\"ucshare\":case\"123share\":case\"139share\":case\"baidushare\":case\"smb\":case\"115share\":return ue.default.createElement(oo,{type:o});case\"mycloud\":return ue.default.createElement(oo,{type:\"mycloud\"});case\"uc-tv\":return ue.default.createElement(Ms,null);case\"dudb\":return ue.default.createElement(Dp,null);case\"js\":return ue.default.createElement(Ep,null);case\"wanoujuhe\":return ue.default.createElement(lC,null);case\"leijing\":return ue.default.createElement(Va,{api:\"/leijing/urls\",name:\"\\u96F7\\u9CB8\"});default:return ue.default.createElement(\"p\",null,\"\\u65E0\\u914D\\u7F6E\\u754C\\u9762\")}},uC=()=>{let[e,t]=(0,ue.useState)(!1),[n,r]=(0,ue.useState)(null),o=s=>{r(s),t(!0)},a=()=>{t(!1),r(null)},i=(0,ue.useMemo)(()=>[{title:\"\\u914D\\u7F6E\",key:\"action\",render:(s,l)=>dC(l.key)?ue.default.createElement(en.Space,{size:\"middle\"},ue.default.createElement(en.Button,{type:\"primary\",size:\"small\",icon:ue.default.createElement(dr,null),onClick:()=>o(l)})):null,width:80,align:\"center\"}],[]);return ue.default.createElement(ue.default.Fragment,null,ue.default.createElement(Vs,{extraColumns:i}),ue.default.createElement(en.Modal,{title:n?\"\\u4FEE\\u6539 \".concat(n.name,\" \\u914D\\u7F6E\"):\"\\u4FEE\\u6539\\u914D\\u7F6E\",open:e,onCancel:a,footer:null,destroyOnClose:!0,width:800,className:\"force-light-form-label\"},n&&ue.default.createElement(cC,{sourceKey:n.key,sourceName:n.name})))},Np=uC;var{TabPane:Rn}=g.Tabs,ce=io.default.create({baseURL:\"/website\"});ce.interceptors.response.use(function(e){if(e.data.code!==0){g.message.error(e.data.message);let t=new Error(e.data.message||\"\\u8BF7\\u6C42\\u5931\\u8D25\");throw t.responseData=e.data,t}else return e.data.data},function(e){return Promise.reject(e)});g.message.config({top:\"40%\"});function Zr({src:e}){let[t,n]=p.default.useState(!1);return p.default.createElement(\"img\",{src:t?e:Sc,onClick:()=>n(!0)})}function Zt({qrcodeUrl:e,cacheUrl:t}){let[n,r]=p.default.useState(\"\"),o=async()=>{let s=await ce.post(t);r(s)},a=async()=>{await ce.put(t,{cookie:n}),g.message.success(\"\\u5165\\u5E93\\u6210\\u529F\")},i=s=>{(0,za.default)(s),g.message.success(\"\\u590D\\u5236\\u6210\\u529F\")};return(0,p.useEffect)(()=>{ce.get(t).then(s=>{r(s)})},[]),p.default.createElement(\"div\",{className:\"qrcodeCard\"},p.default.createElement(Zr,{src:e}),p.default.createElement(g.Divider,null,p.default.createElement(g.Button,{onClick:o},\"\\u626B\\u7801\\u540E\\u70B9\\u6211\")),p.default.createElement(g.Input.TextArea,{value:n,onChange:s=>r(s.target.value),rows:4}),p.default.createElement(\"div\",{className:\"btns\"},p.default.createElement(g.Button,{onClick:()=>i(n),color:\"cyan\",variant:\"solid\",style:{marginRight:24},size:\"large\"},\"\\u590D\\u5236\"),p.default.createElement(g.Button,{onClick:a,type:\"primary\",size:\"large\"},\"\\u5165\\u5E93\")))}function Os(){let[e,t]=p.default.useState({token:\"\"}),n=\"/ali/token\",r=async()=>{let i=await ce.post(n);t(i)},o=async()=>{await ce.put(n,{data:e}),g.message.success(\"\\u5165\\u5E93\\u6210\\u529F\")},a=i=>{(0,za.default)(i.token||\"\"),g.message.success(\"\\u590D\\u5236\\u6210\\u529F\")};return(0,p.useEffect)(()=>{ce.get(n).then(i=>{t(i)})},[]),p.default.createElement(\"div\",{className:\"qrcodeCard\"},p.default.createElement(Zr,{src:\"/website/ali/qrcode\"}),p.default.createElement(g.Divider,null,p.default.createElement(g.Button,{onClick:r},\"\\u626B\\u7801\\u540E\\u70B9\\u6211\")),p.default.createElement(g.Input.TextArea,{value:e.token||\"\",onChange:i=>t(I(C({},e),{token:i.target.value})),rows:4}),p.default.createElement(\"div\",{className:\"btns\"},p.default.createElement(g.Button,{onClick:()=>a(e),color:\"cyan\",variant:\"solid\",style:{marginRight:24},size:\"large\"},\"\\u590D\\u5236\"),p.default.createElement(g.Button,{onClick:o,type:\"primary\",size:\"large\"},\"\\u5165\\u5E93\")))}function Va({api:e,name:t}){let[n]=g.Form.useForm(),r={labelCol:{xs:{span:24},sm:{span:6}},wrapperCol:{xs:{span:24},sm:{span:18}}},o={wrapperCol:{xs:{span:24,offset:0},sm:{span:18,offset:6}}},a=async()=>{let l=await ce.get(e);n.setFieldsValue({urls:l})},i=async()=>{let l=await n.validateFields();try{await ce.put(e,l.urls),g.message.success(\"\\u5165\\u5E93\\u6210\\u529F\")}catch(u){console.error(u),g.message.error(\"\\u5165\\u5E93\\u5931\\u8D25\\uFF1A\".concat(u==null?void 0:u.message))}},s=async()=>{try{await ce.delete(e),a(),g.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(l){console.error(l),g.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(l==null?void 0:l.message))}};return(0,p.useEffect)(()=>{a()},[]),p.default.createElement(g.Form,C({form:n},r),p.default.createElement(g.Alert,{message:\"\\u542F\\u52A8\\u65F6\\u5C06\\u81EA\\u52A8\\u9009\\u62E9\\u901F\\u5EA6\\u6700\\u5FEB\\u7684\\u57DF\\u540D\",type:\"info\",style:{marginBottom:12}}),p.default.createElement(g.Form.List,{name:\"urls\",rules:[{required:!0,message:\"\\u8BF7\\u6DFB\\u52A0\\u57DF\\u540D\"}]},(l,{add:u,remove:f},{errors:d})=>p.default.createElement(p.default.Fragment,null,l.map((c,m)=>p.default.createElement(g.Form.Item,I(C({label:m===0?\"\\u57DF\\u540D\\u5217\\u8868\":\"\",required:!1,key:c.key},m===0?r:o),{style:{marginBottom:12}}),p.default.createElement(g.Space.Compact,{style:{width:\"100%\"}},p.default.createElement(g.Form.Item,I(C({},c),{validateTrigger:[\"onChange\",\"onBlur\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\".concat(t,\"\\u57DF\\u540D\")}],noStyle:!0}),p.default.createElement(g.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\".concat(t,\"\\u57DF\\u540D\"),style:{width:\"100%\"}})),l.length>1&&p.default.createElement(g.Button,{danger:!0,icon:p.default.createElement(dn,null),onClick:()=>f(c.name)})))),p.default.createElement(g.Form.Item,C({label:\"\"},o),p.default.createElement(g.Button,{type:\"dashed\",onClick:()=>u(),block:!0,icon:p.default.createElement(Re,null)},\"\\u6DFB\\u52A0\\u57DF\\u540D\"),p.default.createElement(g.Form.ErrorList,{errors:d})))),p.default.createElement(g.Form.Item,C({label:null},o),p.default.createElement(g.Space,{style:{width:\"100%\"},direction:\"vertical\"},p.default.createElement(g.Button,{type:\"primary\",onClick:i,block:!0},\"\\u4FDD\\u5B58\"),p.default.createElement(g.Button,{danger:!0,onClick:s,block:!0},\"\\u91CD\\u7F6E\"))))}function Fa({api:e}){let[t]=g.Form.useForm(),n=async()=>{try{let r=await t.validateFields();await ce.put(e,r),g.message.success(\"\\u5165\\u5E93\\u6210\\u529F\")}catch(r){console.error(r),g.message.error(\"\\u5165\\u5E93\\u5931\\u8D25\\uFF1A\".concat(r==null?void 0:r.message))}};return(0,p.useEffect)(()=>{ce.get(e).then(r=>{t.setFieldsValue(r)})},[]),p.default.createElement(g.Form,{form:t,layout:\"vertical\"},p.default.createElement(g.Form.Item,{label:\"\\u8D26\\u53F7\",name:\"username\"},p.default.createElement(g.Input,null)),p.default.createElement(g.Form.Item,{label:\"\\u5BC6\\u7801\",name:\"password\"},p.default.createElement(g.Input.Password,null)),p.default.createElement(g.Form.Item,{label:null},p.default.createElement(g.Button,{type:\"primary\",onClick:n,block:!0},\"\\u4FDD\\u5B58\")))}var Us=e=>{if(!e)return\"\";try{let t=new URL(e);return t.searchParams.get(\"redirect_uri\")||t.searchParams.set(\"redirect_uri\",\"\".concat(window.location.origin,\"/website/xunlei/verify-callback\")),t.toString()}catch(t){return e}};function Ds({api:e}){let[t]=g.Form.useForm(),[n,r]=p.default.useState(!1),[o,a]=p.default.useState(!1),[i,s]=p.default.useState(\"\"),[l,u]=p.default.useState({verificationId:\"\",expiryAt:0,remaining:null}),[f,d]=p.default.useState(0),[c,m]=p.default.useState(\"\"),[x,v]=p.default.useState(!1),h=p.default.useRef(null),y=()=>{s(\"\"),u({verificationId:\"\",expiryAt:0,remaining:null}),t.setFieldValue(\"verificationCode\",\"\"),m(\"\"),v(!1)},b=async()=>{var V,E,N;let P=await ce.get(e);if(t.setFieldsValue({phone:P.username||\"\",password:P.password||\"\",verificationCode:\"\"}),(V=P==null?void 0:P.verification)!=null&&V.verificationId){u({verificationId:P.verification.verificationId,expiryAt:Number(P.verification.expiresAt||0)||0,remaining:(E=P.verification.remaining)!=null?E:null}),v(!1),m(\"\"),s(((N=P==null?void 0:P.verification)==null?void 0:N.message)||\"\\u5DF2\\u6062\\u590D\\u4E0A\\u4E00\\u6B21\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\\u4F1A\\u8BDD\\uFF0C\\u53EF\\u76F4\\u63A5\\u8F93\\u5165\\u9A8C\\u8BC1\\u7801\\u767B\\u5F55\");return}u({verificationId:\"\",expiryAt:0,remaining:null})},O=()=>{h.current&&!h.current.closed&&h.current.close(),h.current=null},w=(P,V)=>{v(!1),m(\"\"),s(\"\"),O(),u({verificationId:P.verificationId,expiryAt:Number(P.expiresAt||0)||Date.now()+Number(P.expiresIn||300)*1e3,remaining:P.remaining}),t.setFieldValue(\"verificationCode\",\"\"),g.message.success(V)},D=P=>{var E;if(!P)return;let V=window.open(P,\"xunlei-security-verify\",\"width=520,height=780\");if(V){h.current=V,(E=V.focus)==null||E.call(V);return}g.message.warning(\"\\u6D4F\\u89C8\\u5668\\u62E6\\u622A\\u4E86\\u5B89\\u5168\\u9A8C\\u8BC1\\u7A97\\u53E3\\uFF0C\\u8BF7\\u624B\\u52A8\\u6253\\u5F00\\u4E0B\\u65B9\\u94FE\\u63A5\")},S=async({phone:P,password:V})=>{let E=await ce.post(\"/xunlei/verification\",{username:P,password:V});if((E==null?void 0:E.status)===\"auto_logged_in\"){y(),O(),g.message.success(\"\\u8D26\\u53F7\\u65E0\\u9700\\u77ED\\u4FE1\\u9A8C\\u8BC1\\uFF0C\\u5DF2\\u76F4\\u63A5\\u767B\\u5F55\\u6210\\u529F\"),await b();return}if((E==null?void 0:E.status)===\"verify_required\"){let N=Us(E.verifyUrl||\"\");s(\"\\u9700\\u8981\\u5148\\u5B8C\\u6210\\u5B89\\u5168\\u9A8C\\u8BC1\\uFF0C\\u9A8C\\u8BC1\\u5B8C\\u6210\\u540E\\u4F1A\\u81EA\\u52A8\\u8865\\u53D1\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\\u3002\"),u({verificationId:\"\",expiryAt:0,remaining:null}),t.setFieldValue(\"verificationCode\",\"\"),v(!0),m(N),N?(D(N),g.message.info(\"\\u5DF2\\u6253\\u5F00\\u5B89\\u5168\\u9A8C\\u8BC1\\u9875\\uFF0C\\u9A8C\\u8BC1\\u5B8C\\u6210\\u540E\\u4F1A\\u81EA\\u52A8\\u8865\\u53D1\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\")):g.message.warning(\"\\u9700\\u8981\\u5148\\u5B8C\\u6210\\u5B89\\u5168\\u9A8C\\u8BC1\\uFF0C\\u518D\\u7B49\\u5F85\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\\u4E0B\\u53D1\");return}if((E==null?void 0:E.status)===\"sent\"){w(E,(E==null?void 0:E.message)||(E!=null&&E.reused?\"\\u53D1\\u9001\\u8FC7\\u4E8E\\u9891\\u7E41\\uFF0C\\u7EE7\\u7EED\\u4F7F\\u7528\\u5F53\\u524D\\u9A8C\\u8BC1\\u7801\":\"\\u9A8C\\u8BC1\\u7801\\u5DF2\\u53D1\\u9001\\uFF0C\\u8BF7\\u67E5\\u770B\\u77ED\\u4FE1\"));return}throw new Error((E==null?void 0:E.message)||\"\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\\u5931\\u8D25\")},F=async()=>{try{let P=await t.validateFields([\"phone\",\"password\"]);r(!0),await S(P)}catch(P){console.error(P),s(\"\\u53D1\\u9001\\u5931\\u8D25\\uFF1A\".concat((P==null?void 0:P.message)||\"\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\\u5931\\u8D25\")),g.message.error(\"\\u53D1\\u9001\\u5931\\u8D25\\uFF1A\".concat(P==null?void 0:P.message))}finally{r(!1)}},T=async()=>{var P,V;try{let E=await t.validateFields([\"phone\",\"password\",\"verificationCode\"]);if(!l.verificationId&&!c&&!x){g.message.warning(\"\\u8BF7\\u5148\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\");return}if(l.verificationId&&f<=0){g.message.warning(\"\\u9A8C\\u8BC1\\u7801\\u5DF2\\u8FC7\\u671F\\uFF0C\\u8BF7\\u91CD\\u65B0\\u53D1\\u9001\");return}a(!0),await ce.post(\"/xunlei/login\",{username:E.phone,password:E.password,verificationId:l.verificationId,verificationCode:E.verificationCode}),s(\"\"),g.message.success(\"\\u767B\\u5F55\\u6210\\u529F\\uFF0C\\u5DF2\\u4FDD\\u5B58\\u8D26\\u53F7\\u4E0E\\u767B\\u5F55\\u6001\"),y(),O(),await b()}catch(E){console.error(E);let N=Us(((V=(P=E==null?void 0:E.responseData)==null?void 0:P.data)==null?void 0:V.verifyUrl)||\"\");N&&(v(!0),m(N),D(N)),g.message.error(\"\\u767B\\u5F55\\u5931\\u8D25\\uFF1A\".concat(E==null?void 0:E.message))}finally{a(!1)}};return(0,p.useEffect)(()=>{let P=V=>{var N,U,K;if(V.origin!==window.location.origin)return;let E=V.data||{};if(E.type===\"xunlei-verification-sent\"){w(E.data||{},\"\\u5B89\\u5168\\u9A8C\\u8BC1\\u5B8C\\u6210\\uFF0C\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\\u5DF2\\u53D1\\u9001\");return}if(E.type===\"xunlei-verification-required\"){let se=Us(((N=E==null?void 0:E.data)==null?void 0:N.verifyUrl)||\"\");s(\"\\u5B89\\u5168\\u9A8C\\u8BC1\\u5C1A\\u672A\\u901A\\u8FC7\\uFF0C\\u8BF7\\u91CD\\u65B0\\u5B8C\\u6210\\u9A8C\\u8BC1\\u3002\"),v(!0),m(se),se&&g.message.warning(\"\\u5B89\\u5168\\u9A8C\\u8BC1\\u5C1A\\u672A\\u901A\\u8FC7\\uFF0C\\u8BF7\\u91CD\\u65B0\\u5B8C\\u6210\\u9A8C\\u8BC1\");return}E.type===\"xunlei-verification-error\"&&(v(!1),s(((U=E==null?void 0:E.data)==null?void 0:U.message)||\"\\u5B89\\u5168\\u9A8C\\u8BC1\\u540E\\u81EA\\u52A8\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\\u5931\\u8D25\"),g.message.error(((K=E==null?void 0:E.data)==null?void 0:K.message)||\"\\u5B89\\u5168\\u9A8C\\u8BC1\\u540E\\u81EA\\u52A8\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\\u5931\\u8D25\"))};return window.addEventListener(\"message\",P),()=>{window.removeEventListener(\"message\",P),O()}},[]),(0,p.useEffect)(()=>{b()},[]),(0,p.useEffect)(()=>{if(!l.verificationId||!l.expiryAt){d(0);return}let P=()=>{let E=Math.max(0,Math.ceil((l.expiryAt-Date.now())/1e3));d(E),E<=0&&(u({remaining:l.remaining,verificationId:\"\",expiryAt:0}),v(!1))};P();let V=setInterval(P,1e3);return()=>clearInterval(V)},[l.verificationId,l.expiryAt]),p.default.createElement(g.Form,{form:t,layout:\"vertical\",onValuesChange:P=>{(Object.prototype.hasOwnProperty.call(P,\"phone\")||Object.prototype.hasOwnProperty.call(P,\"password\"))&&y()}},p.default.createElement(g.Alert,{type:\"info\",showIcon:!0,style:{marginBottom:12},message:\"\\u4EC5\\u4FDD\\u7559\\u624B\\u673A\\u53F7 + \\u5BC6\\u7801 + \\u5B89\\u5168\\u9A8C\\u8BC1 + \\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\\u8FD9\\u4E00\\u6761\\u767B\\u5F55\\u94FE\\u8DEF\\u3002\\u70B9\\u51FB\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\\u540E\\uFF0C\\u5982\\u9700\\u98CE\\u63A7\\u9A8C\\u8BC1\\u4F1A\\u81EA\\u52A8\\u62C9\\u8D77\\u9A8C\\u8BC1\\u9875\\uFF0C\\u9A8C\\u8BC1\\u5B8C\\u6210\\u540E\\u81EA\\u52A8\\u8865\\u53D1\\u77ED\\u4FE1\\u3002\"}),i&&p.default.createElement(g.Alert,{type:\"warning\",showIcon:!0,style:{marginBottom:12},message:i}),p.default.createElement(g.Form.Item,{label:\"\\u624B\\u673A\\u53F7\",name:\"phone\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u624B\\u673A\\u53F7\"}]},p.default.createElement(g.Input,{placeholder:\"\\u4F8B\\u5982\\uFF1A13800138000\"})),p.default.createElement(g.Form.Item,{label:\"\\u5BC6\\u7801\",name:\"password\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u5BC6\\u7801\"}]},p.default.createElement(g.Input.Password,null)),p.default.createElement(g.Form.Item,{label:\"\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\",name:\"verificationCode\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\"}],extra:x?\"\\u6B63\\u5728\\u7B49\\u5F85\\u5B89\\u5168\\u9A8C\\u8BC1\\u5B8C\\u6210\\u5E76\\u81EA\\u52A8\\u8865\\u53D1\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\\u3002\\u82E5\\u5DF2\\u6536\\u5230\\u77ED\\u4FE1\\uFF0C\\u4E5F\\u53EF\\u4EE5\\u76F4\\u63A5\\u8F93\\u5165\\u9A8C\\u8BC1\\u7801\\u767B\\u5F55\":l.verificationId&&f>0?\"\\u9A8C\\u8BC1\\u7801\\u5269\\u4F59 \".concat(f,\" \\u79D2\\u6709\\u6548\"):\"\\u5148\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\\uFF0C\\u518D\\u8F93\\u5165\\u77ED\\u4FE1\\u4E2D\\u7684 6 \\u4F4D\\u9A8C\\u8BC1\\u7801\"},p.default.createElement(g.Space.Compact,{style:{width:\"100%\"}},p.default.createElement(g.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\",maxLength:6}),p.default.createElement(g.Button,{onClick:F,loading:n},\"\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\"))),l.remaining!==null&&l.verificationId&&p.default.createElement(g.Alert,{type:\"warning\",showIcon:!0,style:{marginBottom:12},message:\"\\u4ECA\\u65E5\\u77ED\\u4FE1\\u53D1\\u9001\\u5269\\u4F59\\u6B21\\u6570\\uFF1A\".concat(l.remaining)}),c&&p.default.createElement(g.Alert,{type:\"warning\",showIcon:!0,style:{marginBottom:12},message:x?\"\\u5B89\\u5168\\u9A8C\\u8BC1\\u9875\\u5DF2\\u81EA\\u52A8\\u6253\\u5F00\\uFF0C\\u9A8C\\u8BC1\\u5B8C\\u6210\\u540E\\u4F1A\\u81EA\\u52A8\\u8865\\u53D1\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\\u3002\":\"\\u9700\\u8981\\u5148\\u5B8C\\u6210\\u5B89\\u5168\\u9A8C\\u8BC1\\u3002\",description:p.default.createElement(g.Space,{wrap:!0},p.default.createElement(g.Button,{type:\"link\",href:c,target:\"_blank\",rel:\"noreferrer\"},\"\\u6253\\u5F00\\u5B89\\u5168\\u9A8C\\u8BC1\\u9875\"),p.default.createElement(g.Button,{onClick:()=>(0,za.default)(c)},\"\\u590D\\u5236\\u9A8C\\u8BC1\\u94FE\\u63A5\"))}),p.default.createElement(g.Form.Item,{label:null},p.default.createElement(g.Space,{style:{width:\"100%\"},direction:\"vertical\"},p.default.createElement(g.Button,{type:\"primary\",onClick:T,block:!0,loading:o},\"\\u767B\\u5F55\"))))}function Bs(){let[e]=g.Form.useForm(),t={labelCol:{xs:{span:24},sm:{span:6}},wrapperCol:{xs:{span:24},sm:{span:18}}},n={wrapperCol:{xs:{span:24,offset:0},sm:{span:18,offset:6}}},r=async()=>{let o=await e.validateFields();console.log(\"data\",o);try{await ce.put(\"/tgsou/config\",o),g.message.success(\"\\u5165\\u5E93\\u6210\\u529F\")}catch(a){console.error(a),g.message.error(\"\\u5165\\u5E93\\u5931\\u8D25\\uFF1A\".concat(a==null?void 0:a.message))}};return(0,p.useEffect)(()=>{ce.get(\"/tgsou/config\").then(o=>{e.setFieldsValue(o)})},[]),p.default.createElement(g.Form,C({form:e},t),p.default.createElement(g.Form.Item,{label:\"\\u670D\\u52A1\\u5668\\u5730\\u5740\",name:\"url\"},p.default.createElement(g.Input,null)),p.default.createElement(g.Form.List,{name:\"channelUsername\",rules:[{required:!0,message:\"\\u8BF7\\u6DFB\\u52A0\\u9891\\u9053\"}]},(o,{add:a,remove:i},{errors:s})=>p.default.createElement(p.default.Fragment,null,o.map((l,u)=>p.default.createElement(g.Form.Item,I(C({label:u===0?\"\\u9891\\u9053\\u5217\\u8868\":\"\",required:!1,key:l.key},u===0?t:n),{style:{marginBottom:12}}),p.default.createElement(g.Space.Compact,{style:{width:\"100%\"}},p.default.createElement(g.Form.Item,I(C({},l),{validateTrigger:[\"onChange\",\"onBlur\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u9891\\u9053\\u540D\"}],noStyle:!0}),p.default.createElement(g.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u9891\\u9053\\u540D\",style:{width:\"100%\"}})),o.length>1&&p.default.createElement(g.Button,{danger:!0,icon:p.default.createElement(dn,null),onClick:()=>i(l.name)})))),p.default.createElement(g.Form.Item,C({label:\"\"},n),p.default.createElement(g.Button,{type:\"dashed\",onClick:()=>a(),block:!0,icon:p.default.createElement(Re,null)},\"\\u6DFB\\u52A0\\u9891\\u9053\"),p.default.createElement(g.Form.ErrorList,{errors:s})))),p.default.createElement(g.Form.Item,{label:\"\\u5355\\u9891\\u9053\\u8D44\\u6E90\\u6570\\u91CF\",name:\"count\"},p.default.createElement(g.InputNumber,{min:1,style:{width:\"100%\"}})),p.default.createElement(g.Form.Item,{label:\"\\u663E\\u793A\\u56FE\\u7247\",name:\"pic\",valuePropName:\"checked\"},p.default.createElement(g.Switch,null)),p.default.createElement(g.Form.Item,C({label:null},n),p.default.createElement(g.Button,{type:\"primary\",onClick:r,block:!0},\"\\u4FDD\\u5B58\")))}function Ls(){let[e]=g.Form.useForm(),t={labelCol:{xs:{span:24},sm:{span:6}},wrapperCol:{xs:{span:24},sm:{span:18}}},n={wrapperCol:{xs:{span:24,offset:0},sm:{span:18,offset:6}}},r=\"/tgchannel/config\",[o,a]=(0,p.useState)({}),[i,s]=(0,p.useState)(!1),[l,u]=(0,p.useState)(!1),[f,d]=(0,p.useState)({url:\"\",count:1,enableImage:!0,homeChannelUsername:[],channelUsername:[]}),c=(b,O)=>{if(d(w=>C(C({},w),O)),b.homeChannelUsername||b.channelUsername){let w=[...O.homeChannelUsername||[],...O.channelUsername||[]],D=C({},o);Object.keys(D).forEach(S=>{w.includes(S)||delete D[S]}),a(D)}},m=async()=>{if(!i){s(!0);try{let b=await e.validateFields();console.log(\"\\u8868\\u5355\\u9A8C\\u8BC1\\u901A\\u8FC7:\",b);let O=!!b.enableImage;console.log(\"enableImage \\u8F6C\\u6362\\u540E:\",O,\"\\u7C7B\\u578B:\",typeof O);let w={url:b.url||\"\",count:Number(b.count)||1,enableImage:O,homeChannelUsername:Array.isArray(b.homeChannelUsername)?b.homeChannelUsername.filter(Boolean):[],channelUsername:Array.isArray(b.channelUsername)?b.channelUsername.filter(Boolean):[],channelRemark:o};console.log(\"\\u63D0\\u4EA4\\u7684\\u6570\\u636E:\",w);try{await ce.put(r,w),g.message.success(\"\\u4FDD\\u5B58\\u6210\\u529F\"),d({url:w.url,count:w.count,enableImage:w.enableImage,homeChannelUsername:w.homeChannelUsername,channelUsername:w.channelUsername});try{localStorage.setItem(\"tgchannel_config_backup\",JSON.stringify(w)),localStorage.setItem(\"tgchannel_config_time\",new Date().toISOString())}catch(D){console.warn(\"\\u672C\\u5730\\u5B58\\u50A8\\u5907\\u4EFD\\u5931\\u8D25:\",D)}}catch(D){console.error(\"\\u4FDD\\u5B58\\u8BF7\\u6C42\\u5931\\u8D25:\",D),g.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\\uFF1A\".concat((D==null?void 0:D.message)||\"\\u672A\\u77E5\\u9519\\u8BEF\"))}}catch(b){console.error(\"\\u8868\\u5355\\u9A8C\\u8BC1\\u5931\\u8D25:\",b),g.message.error(\"\\u8BF7\\u68C0\\u67E5\\u8868\\u5355\\u586B\\u5199\\u662F\\u5426\\u6B63\\u786E\")}finally{s(!1)}}},x=async()=>{s(!0);try{let b=null;try{let D=localStorage.getItem(\"tgchannel_config_backup\");D&&(b=JSON.parse(D),console.log(\"\\u4ECE\\u672C\\u5730\\u5B58\\u50A8\\u6062\\u590D\\u6570\\u636E:\",b))}catch(D){console.warn(\"\\u672C\\u5730\\u5B58\\u50A8\\u6062\\u590D\\u5931\\u8D25:\",D)}let O;try{O=await ce.get(r),console.log(\"\\u670D\\u52A1\\u5668\\u52A0\\u8F7D\\u7684\\u6570\\u636E:\",O)}catch(D){console.error(\"\\u670D\\u52A1\\u5668\\u52A0\\u8F7D\\u5931\\u8D25:\",D),O=b||{url:\"\",count:1,enableImage:!0,homeChannelUsername:[],channelUsername:[],channelRemark:{}}}let w=O||b||{url:\"\",count:1,enableImage:!0,homeChannelUsername:[],channelUsername:[],channelRemark:{}};console.log(\"\\u6700\\u7EC8\\u521D\\u59CB\\u5316\\u6570\\u636E:\",w),console.log(\"enableImage \\u503C:\",w.enableImage,\"\\u7C7B\\u578B:\",typeof w.enableImage),e.setFieldsValue({url:w.url||\"\",count:w.count||1,enableImage:w.enableImage===!0||w.enableImage===\"true\"||w.enableImage===1,homeChannelUsername:Array.isArray(w.homeChannelUsername)?w.homeChannelUsername.filter(Boolean):[],channelUsername:Array.isArray(w.channelUsername)?w.channelUsername.filter(Boolean):[]}),w.channelRemark&&typeof w.channelRemark==\"object\"&&a(w.channelRemark),d({url:w.url||\"\",count:w.count||1,enableImage:w.enableImage===!0||w.enableImage===\"true\"||w.enableImage===1,homeChannelUsername:Array.isArray(w.homeChannelUsername)?w.homeChannelUsername.filter(Boolean):[],channelUsername:Array.isArray(w.channelUsername)?w.channelUsername.filter(Boolean):[]}),u(!0)}catch(b){console.error(\"\\u521D\\u59CB\\u5316\\u5931\\u8D25:\",b),g.message.error(\"\\u52A0\\u8F7D\\u914D\\u7F6E\\u5931\\u8D25\\uFF0C\\u4F7F\\u7528\\u9ED8\\u8BA4\\u914D\\u7F6E\"),e.setFieldsValue({url:\"\",count:1,enableImage:!0,homeChannelUsername:[],channelUsername:[]}),d({url:\"\",count:1,enableImage:!0,homeChannelUsername:[],channelUsername:[]}),a({}),u(!0)}finally{s(!1)}},v=(b,O)=>{if(!b||b.trim()===\"\")return;let w=C({},o);O.trim()===\"\"?delete w[b]:w[b]=O.trim(),a(w);try{let D=C({},w);localStorage.setItem(\"tgchannel_remarks_backup\",JSON.stringify(D))}catch(D){console.warn(\"\\u5907\\u6CE8\\u672C\\u5730\\u5B58\\u50A8\\u5931\\u8D25:\",D)}};(0,p.useEffect)(()=>{x()},[]);let h=b=>e.getFieldsValue()[b]||[],y=(b,O,w,D,S)=>p.default.createElement(g.Form.Item,{noStyle:!0,shouldUpdate:(F,T)=>{var E,N;let P=(E=F[S])==null?void 0:E[O],V=(N=T[S])==null?void 0:N[O];return P!==V}},({getFieldValue:F})=>{let T=F([S,O])||\"\";return p.default.createElement(\"div\",{key:b.key,className:\"tg-channel-item\",style:{marginBottom:12,display:\"flex\",gap:\"8px\",alignItems:\"flex-start\"}},p.default.createElement(\"div\",{className:\"tg-channel-input\",style:{flex:\"1 1 40%\",minWidth:0}},p.default.createElement(g.Form.Item,I(C({},b),{validateTrigger:[\"onChange\",\"onBlur\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u9891\\u9053\\u540D\"}],noStyle:!0}),p.default.createElement(g.Input,{placeholder:\"\\u9891\\u9053\\u540D\",style:{width:\"100%\"},onChange:P=>{let V=P.target.value,E=T;if(E&&E!==V&&o[E]){let N=C({},o);N[V]=N[E],delete N[E],a(N)}}}))),p.default.createElement(\"div\",{className:\"tg-remark-input\",style:{flex:\"1 1 40%\",minWidth:0}},p.default.createElement(g.Input,{placeholder:\"\\u5907\\u6CE8\",value:o[T]||\"\",onChange:P=>v(T,P.target.value),onBlur:P=>v(T,P.target.value),style:{width:\"100%\"},disabled:!T||T.trim()===\"\"})),w.length>1&&p.default.createElement(\"div\",{className:\"tg-delete-btn\",style:{flex:\"0 0 auto\"}},p.default.createElement(g.Button,{danger:!0,icon:p.default.createElement(dn,null),onClick:()=>{if(T&&o[T]){let P=C({},o);delete P[T],a(P)}D(b.name)},style:{minWidth:\"44px\",minHeight:\"44px\"}})))});return i&&!l?p.default.createElement(g.Card,{loading:!0,style:{minHeight:300}},\"\\u52A0\\u8F7D\\u914D\\u7F6E\\u4E2D...\"):p.default.createElement(g.Form,I(C({form:e},t),{onValuesChange:c}),p.default.createElement(g.Form.Item,{label:\"TG\\u57DF\\u540D\",name:\"url\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165TG\\u57DF\\u540D\"}],extra:p.default.createElement(\"div\",{style:{fontSize:\"12px\"}},\"\\u9700\\u5B8C\\u6574\\u4EE3\\u7406t.me\\u57DF\\u540D\\uFF0C\\u81F3\\u5C11\\u9700\\u8981\\u652F\\u6301\\u4EE5\\u4E0B\\u94FE\\u63A5\",p.default.createElement(\"p\",{style:{margin:\"4px 0\"}},\"1. \\u9891\\u9053\\u9875\\u9762\\uFF1Ahttps://t.me/s/xx\\uFF0C\\u5E76\\u4E14\\u4F1A\\u5E26\\u5206\\u9875\\u53C2\\u6570before=yy\\u3001\\u641C\\u7D22\\u53C2\\u6570q=zz\"),p.default.createElement(\"p\",{style:{margin:\"4px 0\"}},\"2. \\u6D88\\u606F\\u8BE6\\u60C5\\u9875\\uFF1Ahttps://t.me/xx/yy\"))},p.default.createElement(g.Input,null)),p.default.createElement(g.Row,{gutter:16},p.default.createElement(g.Col,{xs:24,sm:12,md:12,lg:12},p.default.createElement(g.Form.Item,{label:\"\\u83B7\\u53D6\\u56FE\\u7247\",name:\"enableImage\",valuePropName:\"checked\",labelCol:{xs:{span:12},sm:{span:8}},wrapperCol:{xs:{span:12},sm:{span:16}}},p.default.createElement(g.Switch,null))),p.default.createElement(g.Col,{xs:24,sm:12,md:12,lg:12},p.default.createElement(g.Form.Item,{label:\"\\u5355\\u9891\\u9053\\u8D44\\u6E90\\u6570\\u91CF\",name:\"count\",labelCol:{xs:{span:12},sm:{span:10}},wrapperCol:{xs:{span:12},sm:{span:14}}},p.default.createElement(g.InputNumber,{min:1,disabled:i,style:{width:\"100%\"}})))),p.default.createElement(g.Divider,{orientation:\"left\"},\"\\u9996\\u9875\"),p.default.createElement(g.Form.List,{name:\"homeChannelUsername\",rules:[{required:!0,message:\"\\u8BF7\\u6DFB\\u52A0\\u9891\\u9053\"}]},(b,{add:O,remove:w},{errors:D})=>p.default.createElement(p.default.Fragment,null,b.map((S,F)=>y(S,F,b,w,\"homeChannelUsername\")),p.default.createElement(g.Form.Item,null,p.default.createElement(\"div\",{style:{display:\"flex\",justifyContent:\"center\"}},p.default.createElement(g.Button,{type:\"dashed\",onClick:()=>O(),icon:p.default.createElement(Re,null),disabled:i,style:{width:\"100%\",maxWidth:\"400px\"}},\"\\u6DFB\\u52A0\\u9891\\u9053\")),p.default.createElement(g.Form.ErrorList,{errors:D})))),p.default.createElement(g.Divider,{orientation:\"left\"},\"\\u641C\\u7D22\"),p.default.createElement(g.Form.List,{name:\"channelUsername\",rules:[{required:!0,message:\"\\u8BF7\\u6DFB\\u52A0\\u9891\\u9053\"}]},(b,{add:O,remove:w},{errors:D})=>p.default.createElement(p.default.Fragment,null,b.map((S,F)=>y(S,F,b,w,\"channelUsername\")),p.default.createElement(g.Form.Item,null,p.default.createElement(\"div\",{style:{display:\"flex\",justifyContent:\"center\"}},p.default.createElement(g.Button,{type:\"dashed\",onClick:()=>O(),icon:p.default.createElement(Re,null),disabled:i,style:{width:\"100%\",maxWidth:\"400px\"}},\"\\u6DFB\\u52A0\\u9891\\u9053\")),p.default.createElement(g.Form.ErrorList,{errors:D})))),p.default.createElement(g.Form.Item,null,p.default.createElement(\"div\",{style:{display:\"flex\",justifyContent:\"center\",width:\"100%\"}},p.default.createElement(g.Space,{style:{width:\"100%\",maxWidth:\"600px\"},direction:\"vertical\"},p.default.createElement(g.Button,{type:\"primary\",onClick:m,loading:i,disabled:!l,block:!0},\"\\u4FDD\\u5B58\\u914D\\u7F6E\"),p.default.createElement(g.Space.Compact,{style:{width:\"100%\"}},p.default.createElement(g.Button,{onClick:()=>{window.confirm(\"\\u786E\\u5B9A\\u8981\\u91CD\\u7F6E\\u8868\\u5355\\u5417\\uFF1F\\u8FD9\\u5C06\\u6E05\\u9664\\u6240\\u6709\\u672A\\u4FDD\\u5B58\\u7684\\u4FEE\\u6539\\u3002\")&&x()},disabled:i,style:{flex:1}},\"\\u91CD\\u7F6E\"),p.default.createElement(g.Button,{onClick:()=>{window.confirm(\"\\u786E\\u5B9A\\u8981\\u6E05\\u7A7A\\u6240\\u6709\\u5907\\u6CE8\\u5417\\uFF1F\")&&(a({}),localStorage.removeItem(\"tgchannel_remarks_backup\"),g.message.success(\"\\u5907\\u6CE8\\u5DF2\\u6E05\\u7A7A\"))},disabled:i,style:{flex:1}},\"\\u6E05\\u7A7A\\u5907\\u6CE8\"))))))}function Is(){return p.default.createElement(\"div\",null,p.default.createElement(g.Alert,{message:\"\\u4F1A\\u5458\\u53EA\\u626B\\u7B2C\\u4E00\\u4E2A\\uFF0C\\u975E\\u4F1A\\u5458\\u4E24\\u4E2A\\u90FD\\u626B\",type:\"info\",style:{marginBottom:16}}),p.default.createElement(g.Card,{title:\"UC \\u7F51\\u76D8\",style:{marginBottom:16}},p.default.createElement(Zt,{qrcodeUrl:\"/website/uc/qrcode\",cacheUrl:\"/uc/cookie\"})),p.default.createElement(g.Card,{title:\"UC TV\"},p.default.createElement(Zt,{qrcodeUrl:\"/website/uc-tv/qrcode\",cacheUrl:\"/uc-tv/token\"})))}function Ms(){let[e,t]=p.default.useState(\"\"),n=\"/uc/ut\",r=async()=>{try{await ce.put(n,{ut:e}),g.message.success(\"\\u8BBE\\u7F6E\\u6210\\u529F\")}catch(o){console.error(o),g.message.error(\"\\u8BBE\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(o==null?void 0:o.message))}};return(0,p.useEffect)(()=>{ce.get(n).then(o=>{t(o)})},[]),p.default.createElement(\"div\",null,p.default.createElement(g.Alert,{message:\"\\u5173\\u6CE8\\u5FAE\\u4FE1\\u516C\\u4F17\\u53F7\\u201C\\u738B\\u4E8C\\u5C0F\\u653E\\u725B\\u5A03\\u201D\\uFF0C\\u8F93\\u5165\\u201C\\u673A\\u5668\\u7801\\u201D\\u5373\\u53EF\\u83B7\\u5F97\",type:\"info\",style:{marginBottom:16}}),p.default.createElement(g.Input.TextArea,{placeholder:\"\\u8BF7\\u8F93\\u5165UC\\u673A\\u5668\\u7801\",value:e,onChange:o=>t(o.target.value),rows:4}),p.default.createElement(g.Button,{type:\"primary\",onClick:r,style:{marginTop:16}},\"\\u4FDD\\u5B58\"))}var Ap=e=>{let{attributes:t,listeners:n,setNodeRef:r,transform:o,transition:a,isDragging:i}=la({id:e[\"data-row-key\"]}),s=C(I(C({},e.style),{transform:Bt.Translate.toString(o),transition:a,cursor:\"move\"}),i?{position:\"relative\",zIndex:9999}:{});return p.default.createElement(\"tr\",C(C(I(C({},e),{ref:r,style:s}),t),n))};function Vs({extraColumns:e=[]}){let[t,n]=(0,p.useState)([]),[r,o]=(0,p.useState)(null),a=(0,p.useMemo)(()=>{let d=[{title:\"\\u7AD9\\u6E90\",dataIndex:\"key\",render(m,x,v){let h=r===x.key;return p.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\"}},h?p.default.createElement(g.Input,{value:x.name,onChange:y=>{let b=[...t];b[v].name=y.target.value,n(b)},onPressEnter:()=>{o(null)},onBlur:()=>{o(null)},autoFocus:!0,style:{width:\"100%\"}}):p.default.createElement(\"div\",{style:{cursor:\"pointer\",padding:\"4px 8px\",borderRadius:\"4px\",width:\"100%\",minHeight:\"32px\",display:\"flex\",alignItems:\"center\",flexWrap:\"wrap\",gap:\"4px\"},onClick:()=>{o(x.key)},title:\"\\u70B9\\u51FB\\u4FEE\\u6539\\u540D\\u79F0\"},p.default.createElement(\"span\",null,x.name),x.t4&&p.default.createElement(g.Tag,{style:{marginLeft:4},color:\"blue\"},\"T4\"),x.cms&&p.default.createElement(g.Tag,{style:{marginLeft:4},color:\"blue\"},\"CMS\")))}},{title:\"\\u542F\\u7528\",dataIndex:\"enable\",render(m,x,v){return p.default.createElement(g.Switch,{checked:m,onChange:h=>{let y=[...t];y[v].enable=h,n(y)}})},width:60,align:\"center\"},{title:\"\\u6392\\u5E8F\",dataIndex:\"op\",render(m,x,v){return p.default.createElement(g.Space,{size:2,style:{display:\"flex\",justifyContent:\"center\"}},p.default.createElement(g.Button,{icon:p.default.createElement(_t,null),size:\"small\",type:\"text\",disabled:v===0,onClick:()=>{n(h=>pt(h,v,v-1))},style:{padding:\"4px\",minWidth:\"24px\",height:\"24px\"}}),p.default.createElement(g.Button,{icon:p.default.createElement(Pt,null),size:\"small\",type:\"text\",disabled:v===t.length-1,onClick:()=>{n(h=>pt(h,v,v+1))},style:{padding:\"4px\",minWidth:\"24px\",height:\"24px\"}}))},width:70,align:\"center\"}];return[...d.slice(0,1),...e.map(m=>I(C({},m),{width:50})),...d.slice(1)]},[t,r,e]),i=Or(Sr(Vt,{activationConstraint:{distance:1}})),s=({active:d,over:c})=>{d.id!==(c==null?void 0:c.id)&&n(m=>{let x=m.findIndex(h=>h.key===d.id),v=m.findIndex(h=>h.key===(c==null?void 0:c.id));return pt(m,x,v)})},l=async()=>{let c=(await io.default.get(\"/full-config\")).data.video.sites,m=await ce.get(\"/sites/list\"),x={},v={};c.forEach(y=>{v[y.key]=y});let h=m.filter(y=>(x[y.key]=!0,v[y.key]));c.forEach(y=>{x[y.key]||h.push({key:y.key,name:y.name,enable:!0,t4:y.t4,cms:y.cms})}),console.log(\"dataSource\",h,m,c),n(h)},u=async()=>{try{o(null),await ce.put(\"/sites/list\",{list:t}),g.message.success({content:p.default.createElement(p.default.Fragment,null,\"\\u8BBE\\u7F6E\\u6210\\u529F\",p.default.createElement(\"br\",null),\"\\u7AD9\\u6E90\\u540D\\u79F0\\u5DF2\\u66F4\\u65B0\",p.default.createElement(\"br\",null),\"\\u9700\\u91CD\\u65B0\\u52A0\\u8F7D\\u6E90\\uFF01\",p.default.createElement(\"br\",null),\"\\u9700\\u91CD\\u65B0\\u52A0\\u8F7D\\u6E90\\uFF01\",p.default.createElement(\"br\",null),\"\\u9700\\u91CD\\u65B0\\u52A0\\u8F7D\\u6E90\\uFF01\",p.default.createElement(\"br\",null)),duration:5})}catch(d){console.error(d),g.message.error(\"\\u8BBE\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(d==null?void 0:d.message))}},f=async()=>{try{await ce.delete(\"/sites/list\"),l(),g.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(d){console.error(d),g.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(d==null?void 0:d.message))}};return(0,p.useEffect)(()=>{l()},[]),p.default.createElement(\"div\",null,p.default.createElement(g.Alert,{description:\"\\u70B9\\u51FB\\u7AD9\\u6E90\\u540D\\u79F0\\u53EF\\u7F16\\u8F91\\uFF0C\\u62D6\\u52A8\\u884C\\u6216\\u4F7F\\u7528\\u4E0A\\u4E0B\\u6309\\u94AE\\u8C03\\u6574\\u987A\\u5E8F\",type:\"info\",style:{marginBottom:16},closable:!0}),p.default.createElement(\"div\",{className:\"force-light-table-header\"},p.default.createElement(Dr,{sensors:i,modifiers:[Ir],onDragEnd:s},p.default.createElement(Tr,{items:t.map(d=>d.key),strategy:Er},p.default.createElement(g.Table,{components:{body:{row:Ap}},rowKey:\"key\",columns:a,dataSource:t,pagination:!1,className:\"sites-table\",size:\"small\",scroll:{x:\"max-content\"}})))),p.default.createElement(g.Space,{style:{marginTop:16,width:\"100%\"},direction:\"vertical\"},p.default.createElement(g.Button,{type:\"primary\",block:!0,onClick:u},\"\\u4FDD\\u5B58\"),p.default.createElement(g.Button,{danger:!0,block:!0,onClick:f},\"\\u91CD\\u7F6E\")))}function Es({extraColumns:e=[]}){let[t,n]=(0,p.useState)([]),[r,o]=(0,p.useState)(null),a=(0,p.useMemo)(()=>{let d=[{title:\"\\u7F51\\u76D8\",dataIndex:\"key\",render(m,x,v){let h=r===x.key;return p.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\"}},h?p.default.createElement(g.Input,{value:x.name,onChange:y=>{let b=[...t];b[v].name=y.target.value,n(b)},onPressEnter:()=>o(null),onBlur:()=>o(null),autoFocus:!0,style:{width:\"100%\"}}):p.default.createElement(\"div\",{style:{cursor:\"pointer\",padding:\"4px 8px\",borderRadius:\"4px\",width:\"100%\",minHeight:\"32px\",display:\"flex\",alignItems:\"center\"},onClick:()=>o(x.key),title:\"\\u70B9\\u51FB\\u4FEE\\u6539\\u540D\\u79F0\"},x.name))}},{title:\"\\u542F\\u7528\",dataIndex:\"enable\",render(m,x,v){return p.default.createElement(g.Switch,{checked:m,onChange:h=>{let y=t.map((b,O)=>O===v?I(C({},b),{enable:h}):C({},b));if(h&&[\"magnet\",\"magnet_guangya\"].includes(x.key))for(let b of y)b.key!==x.key&&[\"magnet\",\"magnet_guangya\"].includes(b.key)&&(b.enable=!1);n(y)}})},width:60,align:\"center\"},{title:\"\\u6392\\u5E8F\",dataIndex:\"op\",render(m,x,v){return p.default.createElement(g.Space,{size:2,style:{display:\"flex\",justifyContent:\"center\"}},p.default.createElement(g.Button,{icon:p.default.createElement(_t,null),size:\"small\",type:\"text\",disabled:v===0,onClick:()=>{n(h=>pt(h,v,v-1))},style:{padding:\"4px\",minWidth:\"24px\",height:\"24px\"}}),p.default.createElement(g.Button,{icon:p.default.createElement(Pt,null),size:\"small\",type:\"text\",disabled:v===t.length-1,onClick:()=>{n(h=>pt(h,v,v+1))},style:{padding:\"4px\",minWidth:\"24px\",height:\"24px\"}}))},width:70,align:\"center\"}];return[...d.slice(0,1),...e.map(m=>I(C({},m),{width:50})),...d.slice(1)]},[t,r,e]),i=Or(Sr(Vt,{activationConstraint:{distance:1}})),s=({active:d,over:c})=>{d.id!==(c==null?void 0:c.id)&&n(m=>{let x=m.findIndex(h=>h.key===d.id),v=m.findIndex(h=>h.key===(c==null?void 0:c.id));return pt(m,x,v)})},l=async()=>{let d=await ce.get(\"/pans/list\");n(d)},u=async()=>{try{await ce.put(\"/pans/list\",{list:t}),g.message.success(\"\\u8BBE\\u7F6E\\u6210\\u529F\")}catch(d){console.error(d),g.message.error(\"\\u8BBE\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(d==null?void 0:d.message))}},f=async()=>{try{await ce.delete(\"/pans/list\"),l(),g.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(d){console.error(d),g.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(d==null?void 0:d.message))}};return(0,p.useEffect)(()=>{l()},[]),p.default.createElement(\"div\",null,p.default.createElement(g.Alert,{description:\"\\u62D6\\u52A8\\u884C\\u6216\\u4F7F\\u7528\\u4E0A\\u4E0B\\u6309\\u94AE\\u8C03\\u6574\\u7F51\\u76D8\\u987A\\u5E8F\\uFF0C\\u5173\\u95ED\\u7684\\u7F51\\u76D8\\u4E0D\\u4F1A\\u663E\\u793A\\u5728\\u64AD\\u653E\\u7EBF\\u8DEF\\u4E2D\",type:\"info\",style:{marginBottom:16},closable:!0}),p.default.createElement(\"div\",{className:\"force-light-table-header\"},p.default.createElement(Dr,{sensors:i,modifiers:[Ir],onDragEnd:s},p.default.createElement(Tr,{items:t.map(d=>d.key),strategy:Er},p.default.createElement(g.Table,{components:{body:{row:Ap}},rowKey:\"key\",columns:a,dataSource:t,pagination:!1,size:\"small\",scroll:{x:\"max-content\"}})))),p.default.createElement(g.Space,{style:{marginTop:16,width:\"100%\"},direction:\"vertical\"},p.default.createElement(g.Button,{type:\"primary\",block:!0,onClick:u},\"\\u4FDD\\u5B58\"),p.default.createElement(g.Button,{danger:!0,block:!0,onClick:f},\"\\u91CD\\u7F6E\")))}function Pp(){let[e]=g.Form.useForm(),[t,n]=(0,p.useState)([]),[r,o]=(0,p.useState)(!1),a={labelCol:{xs:{span:24},sm:{span:4}},wrapperCol:{xs:{span:24},sm:{span:20}}},i={wrapperCol:{xs:{span:24,offset:0},sm:{span:20,offset:4}}},s=\"/danmu/setting\",l=async()=>{var c;o(!0);try{let x=((c=(await io.default.get(\"/full-config\")).data.video)==null?void 0:c.sites)||[],h=[...new Set(x.map(y=>({key:y.key.replace(\"nodejs_\",\"\"),name:y.name})).filter(y=>y.key&&y.name))].map(y=>({label:\"\".concat(y.name),value:y.key}));n(h)}catch(m){console.error(\"\\u52A0\\u8F7D\\u722C\\u866B\\u5217\\u8868\\u5931\\u8D25:\",m),g.message.error(\"\\u52A0\\u8F7D\\u722C\\u866B\\u5217\\u8868\\u5931\\u8D25\")}finally{o(!1)}},u=async()=>{await l();let c=await ce.get(s);e.setFieldsValue(c)},f=async()=>{let c=await e.validateFields();try{await ce.put(s,c),g.message.success(\"\\u5165\\u5E93\\u6210\\u529F\")}catch(m){console.error(m),g.message.error(\"\\u5165\\u5E93\\u5931\\u8D25\\uFF1A\".concat(m==null?void 0:m.message))}},d=async()=>{try{await ce.delete(s),u(),g.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(c){console.error(c),g.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(c==null?void 0:c.message))}};return(0,p.useEffect)(()=>{u()},[]),p.default.createElement(g.Form,I(C({form:e},a),{className:\"force-light-form-label\"}),p.default.createElement(g.Alert,{message:\"\\u5F00\\u542F\\u81EA\\u52A8\\u63A8\\u9001\\u65F6\\uFF0C\\u81EA\\u52A8\\u9009\\u53D6\\u6700\\u5FEB\\u54CD\\u5E94\\u7684API\",type:\"info\",style:{marginBottom:12}}),p.default.createElement(g.Form.List,{name:\"urls\",rules:[{required:!0,message:\"\\u8BF7\\u6DFB\\u52A0API\\u5730\\u5740\"}]},(c,{add:m,remove:x},{errors:v})=>p.default.createElement(p.default.Fragment,null,c.map((h,y)=>p.default.createElement(g.Form.Item,I(C({label:y===0?\"API\\u5217\\u8868\":\"\",required:!1,key:h.key},y===0?a:i),{style:{marginBottom:12}}),p.default.createElement(g.Space,{direction:\"vertical\",style:{width:\"100%\"}},p.default.createElement(g.Form.Item,I(C({},h),{name:[h.name,\"address\"],validateTrigger:[\"onChange\",\"onBlur\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165API\\u5730\\u5740\"}],noStyle:!0}),p.default.createElement(g.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165API\\u5730\\u5740\",style:{width:\"100%\"}})),p.default.createElement(g.Space.Compact,{style:{width:\"100%\"}},p.default.createElement(g.Form.Item,I(C({},h),{name:[h.name,\"name\"],validateTrigger:[\"onChange\",\"onBlur\"],noStyle:!0}),p.default.createElement(g.Input,{placeholder:\"\\u522B\\u540D\",style:{width:\"100%\"}})),c.length>1&&p.default.createElement(g.Button,{danger:!0,icon:p.default.createElement(dn,null),onClick:()=>x(h.name)}))))),p.default.createElement(g.Form.Item,C({label:\"\"},i),p.default.createElement(g.Button,{type:\"dashed\",onClick:()=>m(),block:!0,icon:p.default.createElement(Re,null)},\"\\u6DFB\\u52A0API\"),p.default.createElement(g.Form.ErrorList,{errors:v})))),p.default.createElement(g.Form.Item,C({label:null},i),p.default.createElement(g.Space,{style:{width:\"100%\"},direction:\"vertical\"},p.default.createElement(fC,null))),p.default.createElement(g.Form.Item,{label:\"\\u81EA\\u52A8\\u63A8\\u9001\",name:\"autoPush\",valuePropName:\"checked\"},p.default.createElement(g.Switch,null)),p.default.createElement(g.Form.Item,{label:\"\\u5F39\\u5E55\\u683C\\u5F0F\",name:\"format\",initialValue:\"xml\",tooltip:\"\\u63A7\\u5236\\u81EA\\u52A8\\u5F39\\u5E55\\u548C\\u624B\\u52A8\\u5F39\\u5E55\\u7684\\u8F93\\u51FA\\u683C\\u5F0F\"},p.default.createElement(g.Select,{options:[{label:\"XML\",value:\"xml\"},{label:\"JSON\",value:\"json\"}]})),p.default.createElement(g.Form.Item,{label:\"\\u63A8\\u9001\\u9ED1\\u540D\\u5355\",name:\"autoPushBlacklist\",tooltip:\"\\u9ED1\\u540D\\u5355\\u4E2D\\u7684\\u7AD9\\u70B9\\u4E0D\\u4F1A\\u81EA\\u52A8\\u63A8\\u9001\\u5F39\\u5E55\"},p.default.createElement(g.Select,{mode:\"multiple\",placeholder:\"\\u9009\\u62E9\\u4E0D\\u9700\\u8981\\u81EA\\u52A8\\u63A8\\u9001\\u5F39\\u5E55\\u7684\\u7AD9\\u70B9\",style:{width:\"100%\"},options:t,loading:r,showSearch:!1,virtual:!1,dropdownMatchSelectWidth:!1,dropdownRender:c=>p.default.createElement(\"div\",null,p.default.createElement(\"div\",{style:{padding:\"4px 8px\",color:\"#666\",fontSize:\"12px\"}},\"\\u70B9\\u51FB\\u9009\\u62E9\\u9ED1\\u540D\\u5355\\u7AD9\\u70B9\"),c)})),p.default.createElement(g.Form.Item,C({label:null},i),p.default.createElement(g.Space,{style:{width:\"100%\"},direction:\"vertical\"},p.default.createElement(g.Button,{type:\"primary\",onClick:f,block:!0},\"\\u4FDD\\u5B58\"),p.default.createElement(g.Button,{danger:!0,onClick:d,block:!0},\"\\u91CD\\u7F6E\"),p.default.createElement(g.Button,{onClick:l,loading:r,block:!0,type:\"default\"},\"\\u5237\\u65B0\\u7AD9\\u70B9\\u5217\\u8868\"))))}function fC(){let e=p.default.useCallback(()=>{try{window.location.href=\"/internal-danmu/ui\"}catch(t){console.error(t),g.message.error(\"\\u6253\\u5F00\\u5B8C\\u6574\\u5F39\\u5E55UI\\u5931\\u8D25\")}},[]);return p.default.createElement(g.Button,{icon:p.default.createElement(pr,null),block:!0,onClick:e},\"\\u5185\\u7F6E\\u5F39\\u5E55UI\")}function _p(){let[e]=g.Form.useForm(),t={labelCol:{span:0},wrapperCol:{span:24}},n={wrapperCol:{span:24,offset:0}},r=\"/t4/list\",o=async()=>{let s=await ce.get(r);e.setFieldsValue({list:s})},a=async()=>{let s=await e.validateFields();try{await ce.put(r,s.list),g.message.success({content:p.default.createElement(p.default.Fragment,null,\"\\u4FDD\\u5B58\\u6210\\u529F\",p.default.createElement(\"br\",null),\"\\u9700\\u91CD\\u65B0\\u52A0\\u8F7D\\u6E90\\uFF01\",p.default.createElement(\"br\",null),\"\\u9700\\u91CD\\u65B0\\u52A0\\u8F7D\\u6E90\\uFF01\",p.default.createElement(\"br\",null),\"\\u9700\\u91CD\\u65B0\\u52A0\\u8F7D\\u6E90\\uFF01\",p.default.createElement(\"br\",null)),duration:5})}catch(l){console.error(l),g.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\\uFF1A\".concat(l==null?void 0:l.message))}},i=async()=>{try{await ce.delete(r),o(),g.message.success(\"\\u6E05\\u7A7A\\u6210\\u529F\")}catch(s){console.error(s),g.message.error(\"\\u6E05\\u7A7A\\u5931\\u8D25\\uFF1A\".concat(s==null?void 0:s.message))}};return(0,p.useEffect)(()=>{o()},[]),p.default.createElement(g.Form,I(C({form:e},t),{className:\"force-light-form-label\"}),p.default.createElement(g.Form.List,{name:\"list\"},(s,{add:l,remove:u},{errors:f})=>p.default.createElement(p.default.Fragment,null,s.map((d,c)=>p.default.createElement(g.Form.Item,I(C({required:!1,key:d.key},t),{style:{marginBottom:12}}),p.default.createElement(g.Space,{direction:\"vertical\",style:{width:\"100%\"}},p.default.createElement(g.Form.Item,I(C({},d),{name:[d.name,\"address\"],validateTrigger:[\"onChange\",\"onBlur\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165T4\\u63A5\\u53E3\\u5730\\u5740\"}],noStyle:!0}),p.default.createElement(g.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165T4\\u63A5\\u53E3\\u5730\\u5740\",style:{width:\"100%\"}})),p.default.createElement(g.Space.Compact,{style:{width:\"100%\"}},p.default.createElement(g.Form.Item,I(C({},d),{name:[d.name,\"name\"],validateTrigger:[\"onChange\",\"onBlur\"],noStyle:!0,rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u540D\\u79F0\"}]}),p.default.createElement(g.Input,{placeholder:\"\\u540D\\u79F0\",style:{width:\"100%\"}})),p.default.createElement(g.Button,{danger:!0,icon:p.default.createElement(dn,null),onClick:()=>u(d.name)}))))),p.default.createElement(g.Form.Item,C({label:\"\"},n),p.default.createElement(g.Button,{type:\"dashed\",onClick:()=>l(),block:!0,icon:p.default.createElement(Re,null)},\"\\u6DFB\\u52A0T4\\u63A5\\u53E3\"),p.default.createElement(g.Form.ErrorList,{errors:f})))),p.default.createElement(g.Form.Item,{label:null},p.default.createElement(g.Space,{style:{width:\"100%\"},direction:\"vertical\"},p.default.createElement(g.Button,{type:\"primary\",onClick:a,block:!0},\"\\u4FDD\\u5B58\"),p.default.createElement(g.Button,{danger:!0,onClick:i,block:!0},\"\\u6E05\\u7A7A\"))))}function Bp(){let e=\"/cms/list\",[t,n]=(0,p.useState)([]),[r,o]=(0,p.useState)(\"\"),[a,i]=(0,p.useState)([]),[s,l]=(0,p.useState)({}),u=[{title:\"\\u540D\\u79F0\",dataIndex:\"name\",key:\"name\"},{title:\"API\",dataIndex:\"address\",key:\"address\",render:w=>w.startsWith(\"csp_\")?p.default.createElement(g.Tag,{color:\"red\"},\"\\u5DF2\\u8FC7\\u6EE4: \",w):w},{title:\"\\u64CD\\u4F5C\",key:\"action\",width:80,render:(w,D)=>D.address.startsWith(\"csp_\")?p.default.createElement(g.Tag,{color:\"default\"},\"\\u5DF2\\u81EA\\u52A8\\u8FC7\\u6EE4\"):p.default.createElement(g.Button,{type:\"link\",danger:!0,onClick:()=>h(D.key)},\"\\u5220\\u9664\")}],f=w=>w.filter(D=>!(D.api||D.address||\"\").startsWith(\"csp_\")),d=async()=>{let w=await ce.get(e),D=f(w);i(D);let S=[...new Set(D.map(F=>{try{if(F.address&&F.address.startsWith(\"http\")){let T=new URL(F.address);return\"\".concat(T.protocol,\"//\").concat(T.host)}}catch(T){}return null}).filter(Boolean))];S.length>0&&n(S)},c=()=>{if(!r.trim()){g.message.error(\"\\u8BF7\\u8F93\\u5165CMS\\u63A5\\u53E3\\u5730\\u5740\");return}let w=r.trim();w.startsWith(\"http\")||(w=\"http://\"+w);try{new URL(w),t.includes(w)?g.message.warning(\"\\u8BE5\\u5730\\u5740\\u5DF2\\u5B58\\u5728\"):(n([...t,w]),o(\"\"))}catch(D){g.message.error(\"\\u8BF7\\u8F93\\u5165\\u6709\\u6548\\u7684URL\\u5730\\u5740\")}},m=w=>{let D=[...t];D.splice(w,1),n(D)},x=async(w,D)=>{l(I(C({},s),{[D]:!0}));try{let{data:S}=await io.default.get(w.trim(),{timeout:1e4});if(S.sites&&S.sites.length){let F=f(S.sites),T=F.map(E=>({key:\"\".concat(w,\"-\").concat(E.api||E.name),name:E.name,address:E.api||w}));i(E=>{let N=new Set(E.map(K=>K.key)),U=T.filter(K=>!N.has(K.key));return[...E,...U]});let P=S.sites.length-F.length,V=\"\".concat(w,\" \\u89E3\\u6790\\u6210\\u529F\\uFF0C\\u65B0\\u589E\").concat(T.length,\"\\u4E2A\\u7AD9\\u70B9\");P>0&&(V+=\"\\uFF0C\\u81EA\\u52A8\\u8FC7\\u6EE4\".concat(P,\"\\u4E2Acsp_\\u5F00\\u5934\\u7684\\u7AD9\\u70B9\")),g.message.success(V)}else g.message.warning(\"\".concat(w,\" \\u6CA1\\u6709\\u627E\\u5230\\u53EF\\u7528\\u7684\\u7AD9\\u70B9\\u6570\\u636E\"))}catch(S){console.error(S),g.message.error(\"\".concat(w,\" \\u63A5\\u53E3\\u89E3\\u6790\\u5931\\u8D25: \").concat(S.message))}finally{let S=C({},s);delete S[D],l(S)}},v=async()=>{if(t.length===0){g.message.error(\"\\u8BF7\\u5148\\u6DFB\\u52A0CMS\\u63A5\\u53E3\\u5730\\u5740\");return}window.confirm(\"\\u662F\\u5426\\u6E05\\u7A7A\\u73B0\\u6709\\u7AD9\\u70B9\\u6570\\u636E\\uFF0C\\u91CD\\u65B0\\u4ECE\\u6240\\u6709CMS\\u63A5\\u53E3\\u89E3\\u6790\\uFF1F\")&&i([]);let D=0;for(let S=0;S{i(a.filter(D=>D.key!==w))},y=()=>{i([])},b=async()=>{let w=f(a);try{await ce.put(e,w),g.message.success({content:p.default.createElement(p.default.Fragment,null,\"\\u4FDD\\u5B58\\u6210\\u529F\",p.default.createElement(\"br\",null),\"\\u5171\\u4FDD\\u5B58\\u4E86\",w.length,\"\\u4E2A\\u7AD9\\u70B9\",p.default.createElement(\"br\",null),a.length-w.length>0&&\"\\u5DF2\\u81EA\\u52A8\\u8FC7\\u6EE4\".concat(a.length-w.length,\"\\u4E2Acsp_\\u5F00\\u5934\\u7684\\u7AD9\\u70B9\"),p.default.createElement(\"br\",null),\"\\u9700\\u91CD\\u65B0\\u52A0\\u8F7D\\u6E90\\uFF01\",p.default.createElement(\"br\",null)),duration:5})}catch(D){console.error(D),g.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\\uFF1A\".concat(D==null?void 0:D.message))}},O=async()=>{try{await ce.delete(e),i([]),n([]),o(\"\"),g.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(w){console.error(w),g.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(w==null?void 0:w.message))}};return(0,p.useEffect)(()=>{d()},[]),p.default.createElement(\"div\",{className:\"force-light-table-header\"},p.default.createElement(g.Card,{title:\"CMS\\u63A5\\u53E3\\u5730\\u5740\\u7BA1\\u7406\",style:{marginBottom:16}},p.default.createElement(g.Space.Compact,{style:{width:\"100%\",marginBottom:12}},p.default.createElement(g.Input,{placeholder:\"\\u8F93\\u5165XPTV CMS\\u63A5\\u53E3\\u5730\\u5740 (\\u5982: http://example.com/api.php)\",value:r,onChange:w=>o(w.target.value),onPressEnter:c}),p.default.createElement(g.Button,{type:\"primary\",onClick:c},\"\\u6DFB\\u52A0\")),t.length>0&&p.default.createElement(\"div\",{style:{marginBottom:16}},p.default.createElement(g.Divider,null,\"\\u5DF2\\u6DFB\\u52A0\\u7684CMS\\u63A5\\u53E3\\u5730\\u5740 (\",t.length,\"\\u4E2A)\"),p.default.createElement(g.List,{size:\"small\",dataSource:t,renderItem:(w,D)=>p.default.createElement(g.List.Item,{actions:[p.default.createElement(g.Button,{key:\"parse\",type:\"link\",loading:s[D],onClick:()=>x(w,D)},\"\\u89E3\\u6790\"),p.default.createElement(g.Button,{key:\"delete\",type:\"link\",danger:!0,onClick:()=>m(D)},\"\\u5220\\u9664\")]},p.default.createElement(g.Tag,{color:\"blue\"},w))}),p.default.createElement(\"div\",{style:{marginTop:16,display:\"flex\",gap:\"8px\",flexWrap:\"wrap\"}},p.default.createElement(g.Button,{type:\"primary\",onClick:v,loading:Object.values(s).some(Boolean)},\"\\u6279\\u91CF\\u89E3\\u6790\\u6240\\u6709CMS\\u63A5\\u53E3\"),p.default.createElement(g.Button,{danger:!0,onClick:y},\"\\u6E05\\u7A7A\\u6240\\u6709\\u7AD9\\u70B9\")))),p.default.createElement(g.Card,{title:\"\\u89E3\\u6790\\u51FA\\u7684\\u7AD9\\u70B9\\u5217\\u8868\"},p.default.createElement(g.Alert,{message:\"\\u5DF2\\u89E3\\u6790\\u51FA \".concat(a.length,\" \\u4E2A\\u7AD9\\u70B9\\uFF0C\\u7CFB\\u7EDF\\u4F1A\\u81EA\\u52A8\\u8FC7\\u6EE4csp_\\u5F00\\u5934\\u7684\\u7AD9\\u70B9\"),type:\"info\",showIcon:!0,style:{marginBottom:12}}),p.default.createElement(g.Table,{columns:u,dataSource:a,pagination:!1,rowKey:\"key\",scroll:{y:300},locale:{emptyText:\"\\u6682\\u65E0\\u7AD9\\u70B9\\u6570\\u636E\\uFF0C\\u8BF7\\u5148\\u6DFB\\u52A0CMS\\u63A5\\u53E3\\u5E76\\u89E3\\u6790\"}}),p.default.createElement(\"div\",{style:{marginTop:16,textAlign:\"center\"}},p.default.createElement(g.Button,{type:\"primary\",onClick:b,style:{marginRight:8}},\"\\u4FDD\\u5B58\\u7AD9\\u70B9\\u914D\\u7F6E (\",a.length,\"\\u4E2A)\"),p.default.createElement(g.Button,{danger:!0,onClick:O},\"\\u91CD\\u7F6E\\u6240\\u6709\\u914D\\u7F6E\"))))}var ao=()=>\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e===\"x\"?t:t&3|8).toString(16)});function zs(){let[e,t]=(0,p.useState)([]),[n,r]=(0,p.useState)(!1),[o,a]=(0,p.useState)(!1);(0,p.useEffect)(()=>{r(!0),ce.get(\"/emby/config\").then(s=>{let l=Array.isArray(s)?s:[];l.length===0?l=[{id:ao(),name:\"\\u9ED8\\u8BA4\\u670D\\u52A1\\u5668 1\",server:\"\",enabled:!0,username:\"\",password:\"\",token:\"\",isJellyfin:!1,playStrategies:\"custom\",playStrategyOrder:[\"stream\",\"direct\",\"directPlay\",\"transcoding\",\"master\"]},{id:ao(),name:\"\\u9ED8\\u8BA4\\u670D\\u52A1\\u5668 2\",server:\"\",enabled:!0,username:\"\",password:\"\",token:\"\",isJellyfin:!1,playStrategies:\"custom\",playStrategyOrder:[\"stream\",\"direct\",\"directPlay\",\"transcoding\",\"master\"]}]:l=l.map(u=>I(C({},u),{id:u.id?String(u.id):ao()})),t(l)}).catch(s=>{console.error(\"\\u52A0\\u8F7DEmby\\u914D\\u7F6E\\u51FA\\u9519:\",s),t([{id:ao(),name:\"\\u9ED8\\u8BA4\\u670D\\u52A1\\u5668 1\",server:\"\",enabled:!0,isJellyfin:!1,playStrategies:\"custom\"},{id:ao(),name:\"\\u9ED8\\u8BA4\\u670D\\u52A1\\u5668 2\",server:\"\",enabled:!0,isJellyfin:!1,playStrategies:\"custom\"}])}).finally(()=>{r(!1),a(!0)})},[]);let i=async()=>{r(!0);try{await ce.put(\"/emby/config\",e),g.message.success(\"\\u4FDD\\u5B58\\u6210\\u529F\")}catch(s){g.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25: \"+s.message)}finally{r(!1)}};return o?p.default.createElement(g.Card,{bordered:!1},p.default.createElement(Cf,{config:{emby:e},updateConfig:s=>t(s.emby)}),p.default.createElement(g.Divider,null),p.default.createElement(g.Button,{type:\"primary\",block:!0,size:\"large\",onClick:i,loading:n},\"\\u4FDD\\u5B58\\u914D\\u7F6E\")):p.default.createElement(g.Card,{loading:!0,bordered:!1})}function $s(){let[e]=g.Form.useForm(),t=\"/pansou/config\",n=g.Form.useWatch(\"pancheck_mode\",e)||\"off\",r=async()=>{let a=await ce.get(t),i=I(C({},a),{pancheck_mode:a.pancheck_mode||(a.pancheck_enabled?\"pancheck\":\"off\"),selected_platforms:a.selected_platforms_str||(Array.isArray(a.selected_platforms)?a.selected_platforms.join(\",\"):\"\")});e.setFieldsValue(i)},o=async()=>{let a=await e.validateFields();await ce.put(t,a),g.message.success(\"Pansou\\u914D\\u7F6E\\u5DF2\\u4FDD\\u5B58\")};return(0,p.useEffect)(()=>{r()},[]),p.default.createElement(g.Card,{variant:\"borderless\"},p.default.createElement(g.Form,{form:e,layout:\"vertical\"},p.default.createElement(g.Form.Item,{label:\"\\u76D8\\u641C API (\\u591A\\u4E2A\\u4EE5\\u9017\\u53F7\\u5206\\u9694)\",name:\"api_urls\"},p.default.createElement(g.Input.TextArea,{rows:2})),p.default.createElement(g.Row,{gutter:16},p.default.createElement(g.Col,{span:12},p.default.createElement(g.Form.Item,{label:\"\\u81EA\\u5B9A\\u4E49\\u9891\\u9053\",name:\"channels\"},p.default.createElement(g.Input,{placeholder:\"\\u7559\\u7A7A\\u641C\\u7D22\\u5168\\u90E8\\u9891\\u9053\"}))),p.default.createElement(g.Col,{span:12},p.default.createElement(g.Form.Item,{label:\"\\u81EA\\u5B9A\\u4E49\\u63D2\\u4EF6\",name:\"plugins\"},p.default.createElement(g.Input,{placeholder:\"\\u7559\\u7A7A\\u641C\\u7D22\\u5168\\u90E8\\u63D2\\u4EF6\"})))),p.default.createElement(g.Form.Item,{label:\"\\u641C\\u7D22\\u7684\\u7F51\\u76D8\\u7C7B\\u578B\",name:\"cloud_types\",extra:p.default.createElement(\"div\",{style:{fontSize:\"12px\",color:\"#666\"}},\"\\u7559\\u7A7A\\u9ED8\\u8BA4\\u641C\\u7D22\\uFF1Abaidu,aliyun,quark,tianyi,uc,mobile,115,123\",p.default.createElement(\"br\",null),\"\\u591A\\u4E2A\\u7528\\u9017\\u53F7\\u5206\\u9694\")},p.default.createElement(g.Input,{placeholder:\"baidu,aliyun,quark,tianyi,uc,mobile,115,123\"})),p.default.createElement(g.Row,{gutter:16},p.default.createElement(g.Col,{span:12},p.default.createElement(g.Form.Item,{label:\"\\u5305\\u542B\\u8BCD (Include)\",name:\"include\"},p.default.createElement(g.Input,{placeholder:\"\\u591A\\u4E2A\\u9017\\u53F7\\u5206\\u9694\"}))),p.default.createElement(g.Col,{span:12},p.default.createElement(g.Form.Item,{label:\"\\u6392\\u9664\\u8BCD (Exclude)\",name:\"exclude\"},p.default.createElement(g.Input,{placeholder:\"\\u591A\\u4E2A\\u9017\\u53F7\\u5206\\u9694\"})))),p.default.createElement(g.Form.Item,{label:\"\\u68C0\\u6D4B\\u6A21\\u5F0F\",name:\"pancheck_mode\",initialValue:\"off\",extra:\"\\u5173\\u95ED\\uFF1A\\u4E0D\\u68C0\\u6D4B\\uFF1B\\u68C0\\u6D4B\\uFF1A\\u590D\\u7528 pansou \\u81EA\\u5E26\\u68C0\\u6D4B\\u63A5\\u53E3\\uFF1Bpancheck\\uFF1A\\u4F7F\\u7528\\u5916\\u90E8 pancheck \\u670D\\u52A1\"},p.default.createElement(g.Radio.Group,null,p.default.createElement(g.Radio.Button,{value:\"off\"},\"\\u5173\\u95ED\"),p.default.createElement(g.Radio.Button,{value:\"detect\"},\"\\u68C0\\u6D4B\"),p.default.createElement(g.Radio.Button,{value:\"pancheck\"},\"pancheck\"))),p.default.createElement(g.Form.Item,{label:\"\\u68C0\\u6D4B\\u7684\\u7F51\\u76D8\\u7C7B\\u578B\",name:\"selected_platforms\",extra:p.default.createElement(\"div\",{style:{fontSize:\"12px\",color:\"#666\"}},\"\\u7559\\u7A7A\\u9ED8\\u8BA4\\u68C0\\u6D4B\\uFF1Aquark,uc,tianyi,pan123,pan115,cmcc,baidu,aliyun\",p.default.createElement(\"br\",null),\"\\u591A\\u4E2A\\u7528\\u9017\\u53F7\\u5206\\u9694\")},p.default.createElement(g.Input,{placeholder:\"quark,uc,tianyi,pan123,pan115,cmcc,baidu,aliyun\"})),n===\"pancheck\"?p.default.createElement(g.Form.Item,{label:\"Pancheck \\u670D\\u52A1\\u5730\\u5740\",name:\"pancheck\"},p.default.createElement(g.Input,{placeholder:\"https://vyzdeslmqkfx.ap-northeast-1.clawcloudrun.com\"})):null,p.default.createElement(g.Row,{gutter:16},p.default.createElement(g.Col,{span:8},p.default.createElement(g.Form.Item,{label:\"\\u6BCF\\u7C7B\\u7F51\\u76D8\\u8D44\\u6E90\\u6570\\u91CF\",name:\"count\",extra:\"0 \\u4E3A\\u4E0D\\u9650\\u5236\\uFF0C\\u9ED8\\u8BA4 0\"},p.default.createElement(g.InputNumber,{min:0,style:{width:\"100%\"}})))),p.default.createElement(g.Form.Item,null,p.default.createElement(g.Button,{type:\"primary\",onClick:o,block:!0},\"\\u4FDD\\u5B58\\u914D\\u7F6E\"))))}function pC(){let[e,t]=(0,p.useState)(!1);return(0,p.useEffect)(()=>{let r=()=>{t(window.innerWidth<768)};return r(),window.addEventListener(\"resize\",r),()=>window.removeEventListener(\"resize\",r)},[]),p.default.createElement(\"div\",{className:\"app-layout\"},p.default.createElement(\"div\",{className:\"app-header-row\"},p.default.createElement(g.Space,{className:\"import-export-buttons\"},p.default.createElement(g.Upload,C({},{accept:\".json\",showUploadList:!1,beforeUpload(r){let o=new FileReader;return o.onload=async a=>{try{let i=JSON.parse(a.target.result);console.log(\"Parsed JSON data:\",i),await ce.put(\"/backup\",i),g.message.success(\"\".concat(r.name,\"\\u5BFC\\u5165\\u6210\\u529F\"))}catch(i){g.message.error(\"\".concat(r.name,\"\\u5BFC\\u5165\\u5931\\u8D25: \").concat(i.message)),console.error(\"Error parsing JSON:\",i)}},o.readAsText(r),!1}}),p.default.createElement(g.Button,{type:\"primary\",size:\"small\"},\"\\u5BFC\\u5165\")),p.default.createElement(g.Button,{type:\"default\",size:\"small\",href:\"/website/backup\",target:\"_blank\"},\"\\u5BFC\\u51FA\"))),p.default.createElement(g.Tabs,{defaultActiveKey:\"cloud_drives\",centered:e,tabPosition:\"top\",style:{minHeight:\"100vh\"},className:\"force-light-tabs\"},p.default.createElement(Rn,{tab:\"\\u7F51\\u76D8\",key:\"cloud_drives\"},p.default.createElement(hp,null)),p.default.createElement(Rn,{tab:\"\\u7AD9\\u6E90\",key:\"sources\"},p.default.createElement(Np,null)),p.default.createElement(Rn,{tab:\"\\u5F39\\u5E55\",key:\"danmu\"},p.default.createElement(Pp,null)),p.default.createElement(Rn,{tab:\"T4/CMS\",key:\"t4_cms\"},p.default.createElement(g.Tabs,{animated:{inkBar:!0,tabPane:!0},destroyInactiveTabPane:!0,tabPosition:e?\"top\":\"left\",tabBarStyle:{width:e?\"auto\":120,marginBottom:16,whiteSpace:\"nowrap\",overflowX:\"auto\",overflowY:\"hidden\",WebkitOverflowScrolling:\"touch\"},className:\"force-light-tabs\"},p.default.createElement(Rn,{tab:\"T4\\u63A5\\u53E3\",key:\"t4\"},p.default.createElement(_p,null)),p.default.createElement(Rn,{tab:\"CMS\\u63A5\\u53E3\",key:\"cms\"},p.default.createElement(Bp,null))))))}function mC(){(0,Fp.createRoot)(document.getElementById(\"app\")).render(p.default.createElement(pC,null))}\n/*! Bundled license information:\n\nclassnames/index.js:\n (*!\n \tCopyright (c) 2018 Jed Watson.\n \tLicensed under the MIT License (MIT), see\n \thttp://jedwatson.github.io/classnames\n *)\n\nuse-sync-external-store/cjs/use-sync-external-store-with-selector.production.js:\n (**\n * @license React\n * use-sync-external-store-with-selector.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n", + ' module.exports.renderClient();', + '})();' + ].join('\n'); +})(); + + + +globalThis.danmuBundle = (() => { + return [ + '(function() {', + ' const exports = {};', + ' const module = { exports };', + "var Or=Object.create;var te=Object.defineProperty,Tr=Object.defineProperties,br=Object.getOwnPropertyDescriptor,Cr=Object.getOwnPropertyDescriptors,wr=Object.getOwnPropertyNames,Ge=Object.getOwnPropertySymbols,yr=Object.getPrototypeOf,Ze=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable;var Ke=(t,e,r)=>e in t?te(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,J=(t,e)=>{for(var r in e||(e={}))Ze.call(e,r)&&Ke(t,r,e[r]);if(Ge)for(var r of Ge(e))Sr.call(e,r)&&Ke(t,r,e[r]);return t},X=(t,e)=>Tr(t,Cr(e));var ee=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Fr=(t,e)=>{for(var r in e)te(t,r,{get:e[r],enumerable:!0})},Qe=(t,e,r,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let a of wr(e))!Ze.call(t,a)&&a!==r&&te(t,a,{get:()=>e[a],enumerable:!(o=br(e,a))||o.enumerable});return t};var P=(t,e,r)=>(r=t!=null?Or(yr(t)):{},Qe(e||!t||!t.__esModule?te(r,\"default\",{value:t,enumerable:!0}):r,t)),vr=t=>Qe(te({},\"__esModule\",{value:!0}),t);var H=ee((So,Ye)=>{Ye.exports=window.React});var Xe=ee((Fo,Je)=>{Je.exports=window.ReactDOM});var tt=ee(Fe=>{\"use strict\";var et=Xe();Fe.createRoot=et.createRoot,Fe.hydrateRoot=et.hydrateRoot;var vo});var ot=ee((ko,rt)=>{rt.exports=window.antd});var mt=ee((Xo,de)=>{(function(){\"use strict\";var t={}.hasOwnProperty;function e(){for(var a=\"\",l=0;l{mr.exports=window.axios});var wo={};Fr(wo,{Danmu:()=>gr,renderDanmu:()=>Co});module.exports=vr(wo);var f=P(H(),1),xr=P(tt(),1),h=P(ot(),1);var at=P(H()),Dr=(0,at.createContext)({}),ne=Dr;function M(){return M=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,o=Array(e);rparseFloat(a));for(let a=0;a<3;a+=1)o[a]=e(o[a]||0,r[a]||\"\",a);return r[3]?o[3]=r[3].includes(\"%\")?o[3]/100:o[3]:o[3]=1,o}var ct=(t,e,r)=>r===0?t:t/100;function re(t,e){let r=e||255;return t>r?r:t<0?0:t}var K=class t{constructor(e){D(this,\"isValid\",!0),D(this,\"r\",0),D(this,\"g\",0),D(this,\"b\",0),D(this,\"a\",1),D(this,\"_h\",void 0),D(this,\"_s\",void 0),D(this,\"_l\",void 0),D(this,\"_v\",void 0),D(this,\"_max\",void 0),D(this,\"_min\",void 0),D(this,\"_brightness\",void 0);function r(o){return o[0]in e&&o[1]in e&&o[2]in e}if(e)if(typeof e==\"string\"){let a=function(l){return o.startsWith(l)},o=e.trim();/^#?[A-F\\d]{3,8}$/i.test(o)?this.fromHexString(o):a(\"rgb\")?this.fromRgbString(o):a(\"hsl\")?this.fromHslString(o):(a(\"hsv\")||a(\"hsb\"))&&this.fromHsvString(o)}else if(e instanceof t)this.r=e.r,this.g=e.g,this.b=e.b,this.a=e.a,this._h=e._h,this._s=e._s,this._l=e._l,this._v=e._v;else if(r(\"rgb\"))this.r=re(e.r),this.g=re(e.g),this.b=re(e.b),this.a=typeof e.a==\"number\"?re(e.a,1):1;else if(r(\"hsl\"))this.fromHsl(e);else if(r(\"hsv\"))this.fromHsv(e);else throw new Error(\"@ant-design/fast-color: unsupported input \"+JSON.stringify(e))}setR(e){return this._sc(\"r\",e)}setG(e){return this._sc(\"g\",e)}setB(e){return this._sc(\"b\",e)}setA(e){return this._sc(\"a\",e,1)}setHue(e){let r=this.toHsv();return r.h=e,this._c(r)}getLuminance(){function e(l){let n=l/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)}let r=e(this.r),o=e(this.g),a=e(this.b);return .2126*r+.7152*o+.0722*a}getHue(){if(typeof this._h>\"u\"){let e=this.getMax()-this.getMin();e===0?this._h=0:this._h=k(60*(this.r===this.getMax()?(this.g-this.b)/e+(this.g\"u\"){let e=this.getMax()-this.getMin();e===0?this._s=0:this._s=e/this.getMax()}return this._s}getLightness(){return typeof this._l>\"u\"&&(this._l=(this.getMax()+this.getMin())/510),this._l}getValue(){return typeof this._v>\"u\"&&(this._v=this.getMax()/255),this._v}getBrightness(){return typeof this._brightness>\"u\"&&(this._brightness=(this.r*299+this.g*587+this.b*114)/1e3),this._brightness}darken(e=10){let r=this.getHue(),o=this.getSaturation(),a=this.getLightness()-e/100;return a<0&&(a=0),this._c({h:r,s:o,l:a,a:this.a})}lighten(e=10){let r=this.getHue(),o=this.getSaturation(),a=this.getLightness()+e/100;return a>1&&(a=1),this._c({h:r,s:o,l:a,a:this.a})}mix(e,r=50){let o=this._c(e),a=r/100,l=c=>(o[c]-this[c])*a+this[c],n={r:k(l(\"r\")),g:k(l(\"g\")),b:k(l(\"b\")),a:k(l(\"a\")*100)/100};return this._c(n)}tint(e=10){return this.mix({r:255,g:255,b:255,a:1},e)}shade(e=10){return this.mix({r:0,g:0,b:0,a:1},e)}onBackground(e){let r=this._c(e),o=this.a+r.a*(1-this.a),a=l=>k((this[l]*this.a+r[l]*r.a*(1-this.a))/o);return this._c({r:a(\"r\"),g:a(\"g\"),b:a(\"b\"),a:o})}isDark(){return this.getBrightness()<128}isLight(){return this.getBrightness()>=128}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}clone(){return this._c(this)}toHexString(){let e=\"#\",r=(this.r||0).toString(16);e+=r.length===2?r:\"0\"+r;let o=(this.g||0).toString(16);e+=o.length===2?o:\"0\"+o;let a=(this.b||0).toString(16);if(e+=a.length===2?a:\"0\"+a,typeof this.a==\"number\"&&this.a>=0&&this.a<1){let l=k(this.a*255).toString(16);e+=l.length===2?l:\"0\"+l}return e}toHsl(){return{h:this.getHue(),s:this.getSaturation(),l:this.getLightness(),a:this.a}}toHslString(){let e=this.getHue(),r=k(this.getSaturation()*100),o=k(this.getLightness()*100);return this.a!==1?\"hsla(\".concat(e,\",\").concat(r,\"%,\").concat(o,\"%,\").concat(this.a,\")\"):\"hsl(\".concat(e,\",\").concat(r,\"%,\").concat(o,\"%)\")}toHsv(){return{h:this.getHue(),s:this.getSaturation(),v:this.getValue(),a:this.a}}toRgb(){return{r:this.r,g:this.g,b:this.b,a:this.a}}toRgbString(){return this.a!==1?\"rgba(\".concat(this.r,\",\").concat(this.g,\",\").concat(this.b,\",\").concat(this.a,\")\"):\"rgb(\".concat(this.r,\",\").concat(this.g,\",\").concat(this.b,\")\")}toString(){return this.toRgbString()}_sc(e,r,o){let a=this.clone();return a[e]=re(r,o),a}_c(e){return new this.constructor(e)}getMax(){return typeof this._max>\"u\"&&(this._max=Math.max(this.r,this.g,this.b)),this._max}getMin(){return typeof this._min>\"u\"&&(this._min=Math.min(this.r,this.g,this.b)),this._min}fromHexString(e){let r=e.replace(\"#\",\"\");function o(a,l){return parseInt(r[a]+r[l||a],16)}r.length<6?(this.r=o(0),this.g=o(1),this.b=o(2),this.a=r[3]?o(3)/255:1):(this.r=o(0,1),this.g=o(2,3),this.b=o(4,5),this.a=r[6]?o(6,7)/255:1)}fromHsl({h:e,s:r,l:o,a}){if(this._h=e%360,this._s=r,this._l=o,this.a=typeof a==\"number\"?a:1,r<=0){let d=k(o*255);this.r=d,this.g=d,this.b=d}let l=0,n=0,c=0,m=e/60,u=(1-Math.abs(2*o-1))*r,g=u*(1-Math.abs(m%2-1));m>=0&&m<1?(l=u,n=g):m>=1&&m<2?(l=g,n=u):m>=2&&m<3?(n=u,c=g):m>=3&&m<4?(n=g,c=u):m>=4&&m<5?(l=g,c=u):m>=5&&m<6&&(l=u,c=g);let b=o-u/2;this.r=k((l+b)*255),this.g=k((n+b)*255),this.b=k((c+b)*255)}fromHsv({h:e,s:r,v:o,a}){this._h=e%360,this._s=r,this._v=o,this.a=typeof a==\"number\"?a:1;let l=k(o*255);if(this.r=l,this.g=l,this.b=l,r<=0)return;let n=e/60,c=Math.floor(n),m=n-c,u=k(o*(1-r)*255),g=k(o*(1-r*m)*255),b=k(o*(1-r*(1-m))*255);switch(c){case 0:this.g=b,this.b=u;break;case 1:this.r=g,this.b=u;break;case 2:this.r=u,this.b=b;break;case 3:this.r=u,this.g=g;break;case 4:this.r=b,this.g=u;break;case 5:default:this.g=u,this.b=g;break}}fromHsvString(e){let r=De(e,ct);this.fromHsv({h:r[0],s:r[1],v:r[2],a:r[3]})}fromHslString(e){let r=De(e,ct);this.fromHsl({h:r[0],s:r[1],l:r[2],a:r[3]})}fromRgbString(e){let r=De(e,(o,a)=>a.includes(\"%\")?k(o/100*255):o);this.r=r[0],this.g=r[1],this.b=r[2],this.a=r[3]}};var se=2,pt=.16,kr=.05,Ar=.05,Er=.15,Ot=5,Tt=4,Pr=[{index:7,amount:15},{index:6,amount:25},{index:5,amount:30},{index:5,amount:45},{index:5,amount:65},{index:5,amount:85},{index:4,amount:90},{index:3,amount:95},{index:2,amount:97},{index:1,amount:98}];function xt(t,e,r){var o;return Math.round(t.h)>=60&&Math.round(t.h)<=240?o=r?Math.round(t.h)-se*e:Math.round(t.h)+se*e:o=r?Math.round(t.h)+se*e:Math.round(t.h)-se*e,o<0?o+=360:o>=360&&(o-=360),o}function ht(t,e,r){if(t.h===0&&t.s===0)return t.s;var o;return r?o=t.s-pt*e:e===Tt?o=t.s+pt:o=t.s+kr*e,o>1&&(o=1),r&&e===Ot&&o>.1&&(o=.1),o<.06&&(o=.06),Math.round(o*100)/100}function gt(t,e,r){var o;return r?o=t.v+Ar*e:o=t.v-Er*e,o=Math.max(0,Math.min(1,o)),Math.round(o*100)/100}function ue(t){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=[],o=new K(t),a=o.toHsv(),l=Ot;l>0;l-=1){var n=new K({h:xt(a,l,!0),s:ht(a,l,!0),v:gt(a,l,!0)});r.push(n)}r.push(o);for(var c=1;c<=Tt;c+=1){var m=new K({h:xt(a,c),s:ht(a,c),v:gt(a,c)});r.push(m)}return e.theme===\"dark\"?Pr.map(function(u){var g=u.index,b=u.amount;return new K(e.backgroundColor||\"#141414\").mix(r[g],b).toHexString()}):r.map(function(u){return u.toHexString()})}var bt=[\"#fff1f0\",\"#ffccc7\",\"#ffa39e\",\"#ff7875\",\"#ff4d4f\",\"#f5222d\",\"#cf1322\",\"#a8071a\",\"#820014\",\"#5c0011\"];bt.primary=bt[5];var Ct=[\"#fff2e8\",\"#ffd8bf\",\"#ffbb96\",\"#ff9c6e\",\"#ff7a45\",\"#fa541c\",\"#d4380d\",\"#ad2102\",\"#871400\",\"#610b00\"];Ct.primary=Ct[5];var wt=[\"#fff7e6\",\"#ffe7ba\",\"#ffd591\",\"#ffc069\",\"#ffa940\",\"#fa8c16\",\"#d46b08\",\"#ad4e00\",\"#873800\",\"#612500\"];wt.primary=wt[5];var yt=[\"#fffbe6\",\"#fff1b8\",\"#ffe58f\",\"#ffd666\",\"#ffc53d\",\"#faad14\",\"#d48806\",\"#ad6800\",\"#874d00\",\"#613400\"];yt.primary=yt[5];var St=[\"#feffe6\",\"#ffffb8\",\"#fffb8f\",\"#fff566\",\"#ffec3d\",\"#fadb14\",\"#d4b106\",\"#ad8b00\",\"#876800\",\"#614700\"];St.primary=St[5];var Ft=[\"#fcffe6\",\"#f4ffb8\",\"#eaff8f\",\"#d3f261\",\"#bae637\",\"#a0d911\",\"#7cb305\",\"#5b8c00\",\"#3f6600\",\"#254000\"];Ft.primary=Ft[5];var vt=[\"#f6ffed\",\"#d9f7be\",\"#b7eb8f\",\"#95de64\",\"#73d13d\",\"#52c41a\",\"#389e0d\",\"#237804\",\"#135200\",\"#092b00\"];vt.primary=vt[5];var Dt=[\"#e6fffb\",\"#b5f5ec\",\"#87e8de\",\"#5cdbd3\",\"#36cfc9\",\"#13c2c2\",\"#08979c\",\"#006d75\",\"#00474f\",\"#002329\"];Dt.primary=Dt[5];var me=[\"#e6f4ff\",\"#bae0ff\",\"#91caff\",\"#69b1ff\",\"#4096ff\",\"#1677ff\",\"#0958d9\",\"#003eb3\",\"#002c8c\",\"#001d66\"];me.primary=me[5];var kt=[\"#f0f5ff\",\"#d6e4ff\",\"#adc6ff\",\"#85a5ff\",\"#597ef7\",\"#2f54eb\",\"#1d39c4\",\"#10239e\",\"#061178\",\"#030852\"];kt.primary=kt[5];var At=[\"#f9f0ff\",\"#efdbff\",\"#d3adf7\",\"#b37feb\",\"#9254de\",\"#722ed1\",\"#531dab\",\"#391085\",\"#22075e\",\"#120338\"];At.primary=At[5];var Et=[\"#fff0f6\",\"#ffd6e7\",\"#ffadd2\",\"#ff85c0\",\"#f759ab\",\"#eb2f96\",\"#c41d7f\",\"#9e1068\",\"#780650\",\"#520339\"];Et.primary=Et[5];var Pt=[\"#a6a6a6\",\"#999999\",\"#8c8c8c\",\"#808080\",\"#737373\",\"#666666\",\"#404040\",\"#1a1a1a\",\"#000000\",\"#000000\"];Pt.primary=Pt[5];var Mt=[\"#2a1215\",\"#431418\",\"#58181c\",\"#791a1f\",\"#a61d24\",\"#d32029\",\"#e84749\",\"#f37370\",\"#f89f9a\",\"#fac8c3\"];Mt.primary=Mt[5];var Rt=[\"#2b1611\",\"#441d12\",\"#592716\",\"#7c3118\",\"#aa3e19\",\"#d84a1b\",\"#e87040\",\"#f3956a\",\"#f8b692\",\"#fad4bc\"];Rt.primary=Rt[5];var It=[\"#2b1d11\",\"#442a11\",\"#593815\",\"#7c4a15\",\"#aa6215\",\"#d87a16\",\"#e89a3c\",\"#f3b765\",\"#f8cf8d\",\"#fae3b7\"];It.primary=It[5];var _t=[\"#2b2111\",\"#443111\",\"#594214\",\"#7c5914\",\"#aa7714\",\"#d89614\",\"#e8b339\",\"#f3cc62\",\"#f8df8b\",\"#faedb5\"];_t.primary=_t[5];var Bt=[\"#2b2611\",\"#443b11\",\"#595014\",\"#7c6e14\",\"#aa9514\",\"#d8bd14\",\"#e8d639\",\"#f3ea62\",\"#f8f48b\",\"#fafab5\"];Bt.primary=Bt[5];var Lt=[\"#1f2611\",\"#2e3c10\",\"#3e4f13\",\"#536d13\",\"#6f9412\",\"#8bbb11\",\"#a9d134\",\"#c9e75d\",\"#e4f88b\",\"#f0fab5\"];Lt.primary=Lt[5];var Nt=[\"#162312\",\"#1d3712\",\"#274916\",\"#306317\",\"#3c8618\",\"#49aa19\",\"#6abe39\",\"#8fd460\",\"#b2e58b\",\"#d5f2bb\"];Nt.primary=Nt[5];var Ht=[\"#112123\",\"#113536\",\"#144848\",\"#146262\",\"#138585\",\"#13a8a8\",\"#33bcb7\",\"#58d1c9\",\"#84e2d8\",\"#b2f1e8\"];Ht.primary=Ht[5];var qt=[\"#111a2c\",\"#112545\",\"#15325b\",\"#15417e\",\"#1554ad\",\"#1668dc\",\"#3c89e8\",\"#65a9f3\",\"#8dc5f8\",\"#b7dcfa\"];qt.primary=qt[5];var Vt=[\"#131629\",\"#161d40\",\"#1c2755\",\"#203175\",\"#263ea0\",\"#2b4acb\",\"#5273e0\",\"#7f9ef3\",\"#a8c1f8\",\"#d2e0fa\"];Vt.primary=Vt[5];var zt=[\"#1a1325\",\"#24163a\",\"#301c4d\",\"#3e2069\",\"#51258f\",\"#642ab5\",\"#854eca\",\"#ab7ae0\",\"#cda8f0\",\"#ebd7fa\"];zt.primary=zt[5];var Ut=[\"#291321\",\"#40162f\",\"#551c3b\",\"#75204f\",\"#a02669\",\"#cb2b83\",\"#e0529c\",\"#f37fb7\",\"#f8a8cc\",\"#fad2e3\"];Ut.primary=Ut[5];var $t=[\"#151515\",\"#1f1f1f\",\"#2d2d2d\",\"#393939\",\"#494949\",\"#5a5a5a\",\"#6a6a6a\",\"#7b7b7b\",\"#888888\",\"#969696\"];$t.primary=$t[5];function jt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function I(t){for(var e=1;e0&&arguments[0]!==void 0?arguments[0]:{},e=t.mark;return e?e.startsWith(\"data-\")?e:\"data-\".concat(e):Mr}function Pe(t){if(t.attachTo)return t.attachTo;var e=document.querySelector(\"head\");return e||document.body}function Rr(t){return t===\"queue\"?\"prependQueue\":t?\"prepend\":\"append\"}function Me(t){return Array.from((Ee.get(t)||t).children).filter(function(e){return e.tagName===\"STYLE\"})}function Zt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!ke())return null;var r=e.csp,o=e.prepend,a=e.priority,l=a===void 0?0:a,n=Rr(o),c=n===\"prependQueue\",m=document.createElement(\"style\");m.setAttribute(Wt,n),c&&l&&m.setAttribute(Gt,\"\".concat(l)),r!=null&&r.nonce&&(m.nonce=r==null?void 0:r.nonce),m.innerHTML=t;var u=Pe(e),g=u.firstChild;if(o){if(c){var b=(e.styles||Me(u)).filter(function(d){if(![\"prepend\",\"prependQueue\"].includes(d.getAttribute(Wt)))return!1;var p=Number(d.getAttribute(Gt)||0);return l>=p});if(b.length)return u.insertBefore(m,b[b.length-1].nextSibling),m}u.insertBefore(m,g)}else u.appendChild(m);return m}function Ir(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=Pe(e);return(e.styles||Me(r)).find(function(o){return o.getAttribute(Kt(e))===t})}function _r(t,e){var r=Ee.get(t);if(!r||!Ae(document,r)){var o=Zt(\"\",e),a=o.parentNode;Ee.set(t,a),t.removeChild(o)}}function Qt(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=Pe(r),a=Me(o),l=I(I({},r),{},{styles:a});_r(o,l);var n=Ir(e,l);if(n){var c,m;if((c=l.csp)!==null&&c!==void 0&&c.nonce&&n.nonce!==((m=l.csp)===null||m===void 0?void 0:m.nonce)){var u;n.nonce=(u=l.csp)===null||u===void 0?void 0:u.nonce}return n.innerHTML!==t&&(n.innerHTML=t),n}var g=Zt(t,l);return g.setAttribute(Kt(l),e),g}function Yt(t){var e;return t==null||(e=t.getRootNode)===null||e===void 0?void 0:e.call(t)}function Br(t){return Yt(t)instanceof ShadowRoot}function Jt(t){return Br(t)?Yt(t):null}var Re={},Lr=[],Nr=function(e){Lr.push(e)};function Hr(t,e){if(0)var r}function qr(t,e){if(0)var r}function Vr(){Re={}}function Xt(t,e,r){!e&&!Re[r]&&(t(!1,r),Re[r]=!0)}function ce(t,e){Xt(Hr,t,e)}function zr(t,e){Xt(qr,t,e)}ce.preMessage=Nr;ce.resetWarned=Vr;ce.noteOnce=zr;var er=ce;var Z=P(H());function Ur(t){return t.replace(/-(.)/g,function(e,r){return r.toUpperCase()})}function rr(t,e){er(t,\"[@ant-design/icons] \".concat(e))}function Ie(t){return q(t)===\"object\"&&typeof t.name==\"string\"&&typeof t.theme==\"string\"&&(q(t.icon)===\"object\"||typeof t.icon==\"function\")}function tr(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(t).reduce(function(e,r){var o=t[r];switch(r){case\"class\":e.className=o,delete e.class;break;default:delete e[r],e[Ur(r)]=o}return e},{})}function pe(t,e,r){return r?Z.default.createElement(t.tag,I(I({key:e},tr(t.attrs)),r),(t.children||[]).map(function(o,a){return pe(o,\"\".concat(e,\"-\").concat(t.tag,\"-\").concat(a))})):Z.default.createElement(t.tag,I({key:e},tr(t.attrs)),(t.children||[]).map(function(o,a){return pe(o,\"\".concat(e,\"-\").concat(t.tag,\"-\").concat(a))}))}function _e(t){return ue(t)[0]}function xe(t){return t?Array.isArray(t)?t:[t]:[]}var $r=\"\\n.anticon {\\n display: inline-flex;\\n align-items: center;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\",or=function(e){var r=(0,Z.useContext)(ne),o=r.csp,a=r.prefixCls,l=r.layer,n=$r;a&&(n=n.replace(/anticon/g,a)),l&&(n=\"@layer \".concat(l,\" {\\n\").concat(n,\"\\n}\")),(0,Z.useEffect)(function(){var c=e.current,m=Jt(c);Qt(n,\"@ant-design-icons\",{prepend:!l,csp:o,attachTo:m})},[])};var jr=[\"icon\",\"className\",\"onClick\",\"style\",\"primaryColor\",\"secondaryColor\"],oe={primaryColor:\"#333\",secondaryColor:\"#E6E6E6\",calculated:!1};function Wr(t){var e=t.primaryColor,r=t.secondaryColor;oe.primaryColor=e,oe.secondaryColor=r||_e(e),oe.calculated=!!r}function Gr(){return I({},oe)}var he=function(e){var r=e.icon,o=e.className,a=e.onClick,l=e.style,n=e.primaryColor,c=e.secondaryColor,m=fe(e,jr),u=ar.useRef(),g=oe;if(n&&(g={primaryColor:n,secondaryColor:c||_e(n)}),or(u),rr(Ie(r),\"icon should be icon definiton, but got \".concat(r)),!Ie(r))return null;var b=r;return b&&typeof b.icon==\"function\"&&(b=I(I({},b),{},{icon:b.icon(g.primaryColor,g.secondaryColor)})),pe(b.icon,\"svg-\".concat(b.name),I(I({className:o,onClick:a,style:l,\"data-icon\":b.name,width:\"1em\",height:\"1em\",fill:\"currentColor\",\"aria-hidden\":\"true\"},m),{},{ref:u}))};he.displayName=\"IconReact\";he.getTwoToneColors=Gr;he.setTwoToneColors=Wr;var ae=he;function Be(t){var e=xe(t),r=ie(e,2),o=r[0],a=r[1];return ae.setTwoToneColors({primaryColor:o,secondaryColor:a})}function lr(){var t=ae.getTwoToneColors();return t.calculated?[t.primaryColor,t.secondaryColor]:t.primaryColor}var Kr=[\"className\",\"icon\",\"spin\",\"rotate\",\"tabIndex\",\"onClick\",\"twoToneColor\"];Be(me.primary);var ge=Q.forwardRef(function(t,e){var r=t.className,o=t.icon,a=t.spin,l=t.rotate,n=t.tabIndex,c=t.onClick,m=t.twoToneColor,u=fe(t,Kr),g=Q.useContext(ne),b=g.prefixCls,d=b===void 0?\"anticon\":b,p=g.rootClassName,C=(0,nr.default)(p,d,D(D({},\"\".concat(d,\"-\").concat(o.name),!!o.name),\"\".concat(d,\"-spin\"),!!a||o.name===\"loading\"),r),w=n;w===void 0&&c&&(w=-1);var A=l?{msTransform:\"rotate(\".concat(l,\"deg)\"),transform:\"rotate(\".concat(l,\"deg)\")}:void 0,_=xe(m),O=ie(_,2),y=O[0],E=O[1];return Q.createElement(\"span\",M({role:\"img\",\"aria-label\":o.name},u,{ref:e,tabIndex:w,onClick:c,className:C}),Q.createElement(ae,{icon:o,primaryColor:y,secondaryColor:E,style:A}))});ge.displayName=\"AntdIcon\";ge.getTwoToneColor=lr;ge.setTwoToneColor=Be;var V=ge;var Oe=P(H());var Zr={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z\"}},{tag:\"path\",attrs:{d:\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"}}]},name:\"check-circle\",theme:\"outlined\"},ir=Zr;var Qr=function(e,r){return Oe.createElement(V,M({},e,{ref:r,icon:ir}))},Yr=Oe.forwardRef(Qr),Le=Yr;var Te=P(H());var Jr={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"}},{tag:\"path\",attrs:{d:\"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z\"}}]},name:\"clock-circle\",theme:\"outlined\"},fr=Jr;var Xr=function(e,r){return Te.createElement(V,M({},e,{ref:r,icon:fr}))},eo=Te.forwardRef(Xr),Ne=eo;var be=P(H());var to={icon:{tag:\"svg\",attrs:{\"fill-rule\":\"evenodd\",viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm0 76c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm128.01 198.83c.03 0 .05.01.09.06l45.02 45.01a.2.2 0 01.05.09.12.12 0 010 .07c0 .02-.01.04-.05.08L557.25 512l127.87 127.86a.27.27 0 01.05.06v.02a.12.12 0 010 .07c0 .03-.01.05-.05.09l-45.02 45.02a.2.2 0 01-.09.05.12.12 0 01-.07 0c-.02 0-.04-.01-.08-.05L512 557.25 384.14 685.12c-.04.04-.06.05-.08.05a.12.12 0 01-.07 0c-.03 0-.05-.01-.09-.05l-45.02-45.02a.2.2 0 01-.05-.09.12.12 0 010-.07c0-.02.01-.04.06-.08L466.75 512 338.88 384.14a.27.27 0 01-.05-.06l-.01-.02a.12.12 0 010-.07c0-.03.01-.05.05-.09l45.02-45.02a.2.2 0 01.09-.05.12.12 0 01.07 0c.02 0 .04.01.08.06L512 466.75l127.86-127.86c.04-.05.06-.06.08-.06a.12.12 0 01.07 0z\"}}]},name:\"close-circle\",theme:\"outlined\"},dr=to;var ro=function(e,r){return be.createElement(V,M({},e,{ref:r,icon:dr}))},oo=be.forwardRef(ro),He=oo;var Ce=P(H());var ao={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM416 702h-76V172c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v530h-76c-6.7 0-10.5 7.8-6.3 13l112 141.9a8 8 0 0012.6 0l112-141.9c4.1-5.2.4-13-6.3-13z\"}}]},name:\"sort-ascending\",theme:\"outlined\"},sr=ao;var lo=function(e,r){return Ce.createElement(V,M({},e,{ref:r,icon:sr}))},no=Ce.forwardRef(lo),qe=no;var we=P(H());var io={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM310.3 167.1a8 8 0 00-12.6 0L185.7 309c-4.2 5.3-.4 13 6.3 13h76v530c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V322h76c6.7 0 10.5-7.8 6.3-13l-112-141.9z\"}}]},name:\"sort-descending\",theme:\"outlined\"},ur=io;var fo=function(e,r){return we.createElement(V,M({},e,{ref:r,icon:ur}))},so=we.forwardRef(fo),Ve=so;var Y=P(cr(),1);var ze=class{constructor(e=100,r=5*60*1e3){this.maxSize=e,this.ttl=r,this.cache=new Map}get(e){let r=this.cache.get(e);return r?Date.now()-r.timestamp>this.ttl?(this.cache.delete(e),null):(this.cache.delete(e),this.cache.set(e,r),r.value):null}set(e,r){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){let o=this.cache.keys().next().value;o!==void 0&&this.cache.delete(o)}this.cache.set(e,{value:r,timestamp:Date.now()})}delete(e){return this.cache.delete(e)}clear(){this.cache.clear()}get size(){return this.cache.size}cleanup(){let e=Date.now(),r=0;for(let[o,a]of this.cache.entries())e-a.timestamp>this.ttl&&(this.cache.delete(o),r++);return r}getStats(){return{size:this.cache.size,maxSize:this.maxSize,ttl:this.ttl,utilizationRate:(this.cache.size/this.maxSize*100).toFixed(2)+\"%\"}}*entries(){let e=Date.now();for(let[r,o]of[...this.cache.entries()]){if(e-o.timestamp>this.ttl){this.cache.delete(r);continue}yield[r,o.value]}}},Ue=ze;var uo=[\"\\u5F71\\u7247\",\"\\u7247\\u5B50\",\"\\u7247\\u82B1\",\"\\u7247\\u6BB5\",\"\\u9884\\u544A\",\"\\u9884\\u544A\\u7247\",\"\\u82B1\\u7D6E\",\"\\u5E55\\u540E\",\"\\u8BBF\\u8C08\",\"\\u7279\\u522B\\u7BC7\",\"\\u756A\\u5916\\u7BC7\",\"OVA\",\"OAD\",\"SP\",\"TV\\u7248\",\"\\u5267\\u573A\\u7248\",\"\\u7535\\u5F71\\u7248\",\"\\u5F71\\u7248\",\"\\u5267\\u7248\",\"\\u56FD\\u8BED\\u7248\",\"\\u666E\\u901A\\u8BDD\\u7248\",\"\\u7CA4\\u8BED\\u7248\",\"\\u95FD\\u5357\\u8BED\\u7248\",\"\\u5BA2\\u5BB6\\u8BED\\u7248\",\"\\u5434\\u8BED\\u7248\",\"\\u5DDD\\u8BED\\u7248\",\"\\u6E58\\u8BED\\u7248\",\"\\u8D63\\u8BED\\u7248\",\"\\u7CA4\\u8BED\\u914D\\u97F3\\u7248\",\"\\u56FD\\u8BED\\u914D\\u97F3\\u7248\",\"\\u666E\\u901A\\u8BDD\\u914D\\u97F3\\u7248\",\"\\u65B9\\u8A00\\u7248\",\"\\u539F\\u7248\\u914D\\u97F3\",\"\\u539F\\u97F3\\u7248\",\"\\u53F0\\u8BED\\u7248\",\"\\u7CA4\\u8BED\\u4E2D\\u5B57\\u7248\",\"\\u56FD\\u8BED\\u4E2D\\u5B57\\u7248\",\"\\u666E\\u901A\\u8BDD\\u4E2D\\u5B57\\u7248\",\"\\u7CA4\\u8BED\\u539F\\u58F0\\u7248\",\"\\u56FD\\u8BED\\u539F\\u58F0\\u7248\",\"\\u666E\\u901A\\u8BDD\\u539F\\u58F0\\u7248\",\"\\u7CA4\\u8BED\\u5185\\u5D4C\\u5B57\\u5E55\\u7248\",\"\\u56FD\\u8BED\\u5185\\u5D4C\\u5B57\\u5E55\\u7248\",\"\\u666E\\u901A\\u8BDD\\u5185\\u5D4C\\u5B57\\u5E55\\u7248\",\"\\u52A8\\u753B\\u7248\",\"\\u771F\\u4EBA\\u7248\",\"\\u6539\\u7F16\\u7248\",\"\\u91CD\\u5236\\u7248\",\"\\u4FEE\\u590D\\u7248\",\"\\u52A0\\u957F\\u7248\",\"\\u672A\\u5220\\u51CF\\u7248\",\"\\u5B8C\\u6574\\u7248\",\"\\u5BFC\\u6F14\\u526A\\u8F91\\u7248\",\"\\u7EC8\\u6781\\u7248\",\"\\u7279\\u522B\\u7248\",\"\\u9650\\u5B9A\\u7248\",\"\\u6536\\u85CF\\u7248\",\"\\u8C6A\\u534E\\u7248\",\"\\u5178\\u85CF\\u7248\",\"\\u9AD8\\u6E05\\u7248\",\"\\u8D85\\u6E05\\u7248\",\"\\u6807\\u6E05\\u7248\",\"HD\\u7248\",\"UHD\\u7248\",\"4K\\u7248\",\"\\u84DD\\u5149\\u7248\",\"DVD\\u7248\",\"BD\\u7248\",\"WEB\\u7248\",\"TVrip\",\"BDrip\",\"DVDrip\",\"HDrip\",\"WEB-DL\",\"HDTV\",\"DVDRip\",\"BRRip\",\"HDRip\",\"BluRay\",\"TS\",\"TC\",\"CAM\",\"\\u62A2\\u5148\\u7248\",\"\\u67AA\\u7248\",\"\\u5077\\u62CD\\u7248\",\"\\u6CC4\\u9732\\u7248\",\"\\u62A2\\u5148\\u770B\",\"\\u6B63\\u7247\",\"\\u6B63\\u7247\\u7247\\u6BB5\",\"\\u6B63\\u7247\\u7CBE\\u534E\",\"\\u82B1\\u7D6E\\u96C6\\u9526\",\"\\u5E55\\u540E\\u82B1\\u7D6E\",\"\\u5236\\u4F5C\\u7279\\u8F91\",\"\\u8BBF\\u8C08\\u5F55\",\"\\u9996\\u6620\\u793C\",\"\\u7EA2\\u6BEF\\u79C0\",\"\\u8DEF\\u6F14\",\"\\u53D1\\u5E03\\u4F1A\",\"\\u9884\\u544A\\u7247\\u5408\\u96C6\",\"\\u9884\\u544A\\u7247\\u82B1\\u7D6E\",\"\\u7247\\u82B1\\u9884\\u544A\",\"\\u7CBE\\u5F69\\u7247\\u6BB5\",\"\\u7CBE\\u5F69\\u96C6\\u9526\",\"\\u7CBE\\u9009\\u7247\\u6BB5\",\"\\u9AD8\\u80FD\\u7247\\u6BB5\",\"\\u9AD8\\u5149\\u65F6\\u523B\",\"\\u526A\\u8F91\\u7248\",\"\\u6DF7\\u526A\",\"MV\",\"\\u4E3B\\u9898\\u66F2\",\"\\u63D2\\u66F2\",\"\\u7247\\u5C3E\\u66F2\",\"\\u914D\\u4E50\",\"\\u539F\\u58F0\",\"OST\",\"\\u539F\\u58F0\\u5E26\",\"\\u539F\\u58F0\\u5927\\u789F\",\"\\u97F3\\u4E50\\u96C6\",\"\\u97F3\\u4E50\\u4F1A\",\"\\u6F14\\u5531\",\"Live\",\"Live\\u7248\",\"\\u73B0\\u573A\\u7248\",\"\\u73B0\\u573A\\u5F55\\u5236\",\"\\u821E\\u53F0\\u7248\",\"\\u821E\\u53F0\\u5267\",\"\\u8BDD\\u5267\",\"\\u6B4C\\u5267\",\"\\u821E\\u5267\",\"\\u620F\\u66F2\",\"\\u4EAC\\u5267\",\"\\u8D8A\\u5267\",\"\\u7CA4\\u5267\",\"\\u8BC4\\u5267\",\"\\u9EC4\\u6885\\u620F\",\"\\u4E8C\\u4EBA\\u8F6C\",\"\\u76F8\\u58F0\",\"\\u5C0F\\u54C1\",\"\\u7EFC\\u827A\\u79C0\",\"\\u771F\\u4EBA\\u79C0\",\"\\u8131\\u53E3\\u79C0\",\"\\u8BBF\\u8C08\\u8282\\u76EE\",\"\\u7EAA\\u5F55\\u7247\\u7CFB\\u5217\",\"\\u4E13\\u9898\\u7247\",\"\\u79D1\\u6559\\u7247\",\"\\u52A8\\u753B\\u7247\",\"\\u52A8\\u6F2B\\u7247\",\"\\u52A8\\u753B\\u77ED\\u7247\",\"\\u52A8\\u753B\\u7535\\u5F71\",\"\\u52A8\\u753B\\u7CFB\\u5217\",\"\\u52A8\\u753B\\u5267\\u96C6\",\"\\u52A8\\u753B\\u8FDE\\u7EED\\u5267\",\"\\u52A8\\u753BOVA\",\"\\u52A8\\u753BOAD\",\"\\u52A8\\u753BSP\",\"\\u52A8\\u753B\\u7279\\u5178\",\"\\u52A8\\u753B\\u5408\\u96C6\",\"\\u52A8\\u753B\\u7CBE\\u9009\",\"\\u7535\\u5F71\\u5408\\u96C6\",\"\\u5F71\\u7247\\u5408\\u96C6\",\"\\u7CFB\\u5217\\u5408\\u96C6\",\"\\u5408\\u96C6\\u7248\",\"\\u5957\\u88C5\\u7248\",\"\\u5957\\u88C5\\u5408\\u96C6\",\"\\u5168\\u96C6\",\"\\u5168\\u7CFB\\u5217\",\"\\u5168\\u5B63\",\"\\u66F4\\u65B0\\u4E2D\",\"\\u5B8C\\u7ED3\",\"\\u5B8C\\u7ED3\\u7BC7\",\"\\u5B8C\\u7ED3\\u5B63\",\"\\u6700\\u7EC8\\u5B63\",\"\\u6700\\u7EC8\\u7AE0\",\"\\u7EC8\\u7AE0\",\"\\u7EC8\\u7BC7\",\"\\u5927\\u7ED3\\u5C40\",\"\\u5927\\u7D50\\u5C40\",\"\\u7279\\u522B\\u7BC7\\u5B8C\\u7ED3\",\"\\u756A\\u5916\\u5B8C\\u7ED3\",\"OVA\\u5B8C\\u7ED3\",\"OAD\\u5B8C\\u7ED3\",\"SP\\u5B8C\\u7ED3\",\"\\u5168\\u5267\\u7EC8\",\"\\u5B8C\\u7ED3\\u6492\\u82B1\",\"\\u5B8C\\u7ED3\\u7EAA\\u5FF5\",\"\\u5B8C\\u7ED3\\u7279\\u8F91\",\"\\u5B8C\\u7ED3\\u8BBF\\u8C08\",\"\\u5B8C\\u7ED3\\u82B1\\u7D6E\",\"\\u5B8C\\u7ED3\\u5408\\u96C6\",\"\\u5B8C\\u7ED3\\u7BC7\\u5408\\u96C6\",\"\\u5B8C\\u7ED3\\u7EAA\\u5FF5\\u5408\\u96C6\",\"\\u5B8C\\u7ED3\\u7279\\u8F91\\u5408\\u96C6\",\"\\u5B8C\\u7ED3\\u8BBF\\u8C08\\u5408\\u96C6\",\"\\u5B8C\\u7ED3\\u82B1\\u7D6E\\u5408\\u96C6\",\"\\u5B8C\\u7ED3\\u7EAA\\u5FF5\\u7279\\u8F91\",\"\\u5B8C\\u7ED3\\u7EAA\\u5FF5\\u8BBF\\u8C08\",\"\\u5B8C\\u7ED3\\u7EAA\\u5FF5\\u82B1\\u7D6E\",\"\\u5B8C\\u7ED3\\u7EAA\\u5FF5\\u5408\\u96C6\\u7279\\u8F91\",\"\\u5B8C\\u7ED3\\u7EAA\\u5FF5\\u5408\\u96C6\\u8BBF\\u8C08\",\"\\u5B8C\\u7ED3\\u7EAA\\u5FF5\\u5408\\u96C6\\u82B1\\u7D6E\",\"\\u5B8C\\u7ED3\\u7EAA\\u5FF5\\u7279\\u8F91\\u8BBF\\u8C08\",\"\\u5B8C\\u7ED3\\u7EAA\\u5FF5\\u7279\\u8F91\\u82B1\\u7D6E\",\"\\u5B8C\\u7ED3\\u7EAA\\u5FF5\\u8BBF\\u8C08\\u82B1\\u7D6E\",\"\\u5B8C\\u7ED3\\u7EAA\\u5FF5\\u5408\\u96C6\\u7279\\u8F91\\u8BBF\\u8C08\\u82B1\\u7D6E\",\"BD\",\"BDRIP\",\"WEB-DL\",\"HDRip\",\"DVDRip\",\"BDRip\",\"BRRip\",\"Rip\",\"BluRay\",\"IMAX\",\"CAM\",\"HD\",\"HDR\",\"UHD\",\"4K\",\"1080p\",\"720p\",\"2160p\",\"480p\",\"120fps\",\"60fps\",\"x264\",\"x265\",\"H264\",\"HEVC\",\"AAC\",\"dts\",\"ddp\",\"truehd\",\"10bit\",\"8bit\",\"5.1\",\"7.1\",\"\\u56FD\\u8BED\",\"\\u7CA4\\u8BED\",\"\\u82F1\\u8BED\",\"\\u65E5\\u8BED\",\"\\u97E9\\u8BED\",\"\\u6CF0\\u8BED\",\"\\u6CD5\\u8BED\",\"\\u5FB7\\u8BED\",\"\\u897F\\u73ED\\u7259\\u8BED\",\"\\u4FC4\\u8BED\",\"\\u8461\\u8404\\u7259\\u8BED\",\"\\u610F\\u5927\\u5229\\u8BED\",\"\\u81FB\\u5F69\",\"\\u4E2D\\u5B57\",\"\\u7B80\\u4E2D\",\"\\u7E41\\u4E2D\",\"\\u7B80\\u7E41\\u4E2D\\u5B57\",\"\\u4E2D\\u82F1\\u53CC\\u5B57\",\"\\u5185\\u5D4C\",\"\\u5185\\u5C01\",\"\\u675C\\u6BD4\\u5168\\u666F\\u58F0\",\"\\u675C\\u6BD4\\u97F3\\u6548\",\"\\u65E0\\u6C34\\u5370\",\"\\u5B8C\\u6574\\u7248\",\"\\u539F\\u58F0\\u7248\",\"\\u89E3\\u8BF4\\u7248\",\"\\u9884\\u544A\\u7247\",\"\\u672A\\u5220\\u51CF\\u7248\",\"\\u52A0\\u957F\\u7248\",\"\\u84DD\\u5149\",\"\\u62A2\\u5148\\u7248\",\"TC\\u7248\",\"\\u62A2\\u5148\",\"TC\",\"\\u4E24\\u5B63\\u5168\",\"\\u5168\\u5B63\",\"\\u5168\\u96C6\",\"DV\",\"\\u538B\\u5236\",\"HQ\",\"\\u5E27\",\"\\u7535\\u5F71\\u7248\",\"\\u8C46\\u74E3\",\"\\u66F4\\u65B0\",\"\\u66F4\\u65B0\\u5230\",\"\\u63A8\\u8350\",\"\\u52A8\\u4F5C\",\"\\u5192\\u9669\",\"\\u7231\\u60C5\",\"\\u79D1\\u5E7B\",\"\\u60AC\\u7591\",\"\\u60CA\\u609A\",\"\\u6050\\u6016\",\"\\u559C\\u5267\",\"\\u60B2\\u5267\",\"\\u5267\\u60C5\",\"\\u5947\\u5E7B\",\"\\u72AF\\u7F6A\",\"\\u6218\\u4E89\",\"\\u5386\\u53F2\",\"\\u4F20\\u8BB0\",\"\\u97F3\\u4E50\",\"\\u6B4C\\u821E\",\"\\u5BB6\\u5EAD\",\"\\u513F\\u7AE5\",\"\\u4F53\\u80B2\",\"\\u707E\\u96BE\",\"\\u4F26\\u7406\",\"\\u77ED\\u7247\",\"\\u5FAE\\u7535\\u5F71\",\"\\u9AD8\\u6E05\",\"\\u8D85\\u6E05\",\"\\u6807\\u6E05\",\"\\u62A2\\u9C9C\\u770B\",\"\\u9996\\u64AD\",\"\\u72EC\\u64AD\",\"\\u70ED\\u64AD\",\"\\u8FDE\\u8F7D\\u4E2D\",\"\\u6700\\u65B0\",\"\\u7ECF\\u5178\",\"\\u70ED\\u95E8\",\"\\u83B7\\u5956\",\"\\u53E3\\u7891\",\"\\u597D\\u8BC4\",\"\\u9AD8\\u5206\",\"\\u8C46\\u74E3\\u9AD8\\u5206\",\"IMDb\\u9AD8\\u5206\",\"\\u672A\\u5206\\u7EA7\",\"\\u9650\\u5236\\u7EA7\",\"\\u5BFC\\u6F14\\u526A\\u8F91\",\"\\u52A0\\u957F\",\"\\u7279\\u522B\\u52A0\\u957F\",\"\\u7EC8\\u6781\\u526A\\u8F91\",\"\\u6536\\u85CF\",\"\\u8C6A\\u534E\",\"\\u7EAA\\u5FF5\",\"\\u9650\\u5B9A\",\"\\u91CD\\u6620\",\"\\u4FEE\\u590D\",\"\\u6570\\u7801\\u4FEE\\u590D\",\"\\u91CD\\u5236\",\"\\u84DD\\u5149\\u4FEE\\u590D\",\"\\u91CD\\u5236\\u9AD8\\u6E05\",\"\\u9AD8\\u6E05\\u91CD\\u5236\",\"\\u91CD\\u7F16\",\"\\u91CD\\u526A\",\"\\u914D\\u97F3\",\"\\u8BD1\\u5236\",\"\\u539F\\u58F0\",\"\\u53CC\\u8BED\",\"\\u591A\\u8BED\",\"\\u591A\\u58F0\\u9053\",\"\\u73AF\\u7ED5\\u58F0\",\"\\u5168\\u666F\\u58F0\",\"3D\",\"VR\",\"\\u5168\\u666F\",\"360\\u5EA6\",\"8K\",\"\\u539F\\u753B\",\"\\u65E0\\u635F\",\"\\u6709\\u635F\",\"\\u538B\\u7F29\",\"\\u672A\\u538B\\u7F29\",\"\\u9AD8\\u7801\\u7387\",\"\\u4F4E\\u7801\\u7387\",\"\\u91CD\\u7F16\\u7801\",\"\\u591A\\u5B57\\u5E55\",\"\\u591A\\u97F3\\u8F68\",\"\\u53CC\\u97F3\\u8F68\",\"\\u591A\\u7248\\u672C\",\"\\u5408\\u96C6\",\"\\u5957\\u88C5\",\"\\u7CFB\\u5217\",\"\\u5B8C\\u7ED3\\u7248\",\"\\u6700\\u7EC8\\u5B63\",\"\\u6700\\u7EC8\\u7AE0\",\"\\u7EC8\\u7AE0\",\"\\u5927\\u7ED3\\u5C40\",\"\\u7279\\u522B\\u7BC7\",\"\\u756A\\u5916\\u7BC7\",\"OVA\",\"OAD\",\"SP\",\"\\u5267\\u573A\\u7248\",\"\\u7535\\u5F71\\u7248\",\"\\u5F71\\u7248\",\"\\u5267\\u7248\",\"\\u52A8\\u753B\\u7248\",\"\\u771F\\u4EBA\\u7248\",\"\\u6539\\u7F16\\u7248\",\"\\u539F\\u521B\",\"\\u884D\\u751F\",\"\\u756A\\u5916\",\"\\u7EED\\u96C6\",\"\\u524D\\u4F20\",\"\\u540E\\u4F20\",\"\\u91CD\\u542F\",\"\\u7FFB\\u62CD\",\"\\u91CD\\u62CD\",\"\\u81F4\\u656C\",\"\\u7EAA\\u5FF5\",\"\\u732E\\u793C\",\"\\u8D3A\\u5C81\",\"\\u6691\\u671F\\u6863\",\"\\u56FD\\u5E86\\u6863\",\"\\u8D3A\\u5C81\\u6863\",\"\\u6625\\u8282\\u6863\",\"\\u60C5\\u4EBA\\u8282\\u6863\",\"\\u4E2D\\u79CB\\u6863\",\"\\u6863\\u671F\",\"\\u4E0A\\u6620\",\"\\u5B9A\\u6863\",\"\\u9996\\u6620\",\"\\u516C\\u6620\",\"\\u4E0A\\u6620\\u65F6\\u95F4\",\"\\u4E0A\\u6620\\u65E5\\u671F\",\"\\u7968\\u623F\",\"\\u7968\\u623F\\u51A0\\u519B\",\"\\u7968\\u623F\\u699C\",\"\\u53E3\\u7891\\u699C\",\"\\u8BC4\\u5206\\u699C\",\"\\u6392\\u884C\\u699C\",\"\\u699C\\u5355\",\"\\u699C\\u5355\\u7B2C\\u4E00\",\"\\u70ED\\u95E8\\u699C\",\"\\u70ED\\u641C\",\"\\u70ED\\u8BAE\",\"\\u8BDD\\u9898\",\"\\u70ED\\u8BAE\\u8BDD\\u9898\",\"\\u70ED\\u95E8\\u8BDD\\u9898\",\"\\u8BA8\\u8BBA\\u5EA6\",\"\\u5173\\u6CE8\\u5EA6\",\"\\u70ED\\u5EA6\",\"\\u70ED\\u5EA6\\u699C\",\"\\u70ED\\u95E8\\u63A8\\u8350\",\"\\u7CBE\\u9009\",\"\\u529B\\u8350\",\"\\u5F3A\\u70C8\\u63A8\\u8350\",\"\\u5FC5\\u770B\",\"\\u4E0D\\u53EF\\u9519\\u8FC7\",\"\\u7ECF\\u5178\\u4E4B\\u4F5C\",\"\\u795E\\u4F5C\",\"\\u4F73\\u4F5C\",\"\\u9AD8\\u5206\\u4F73\\u4F5C\",\"\\u9AD8\\u5206\\u795E\\u4F5C\",\"\\u70C2\\u7247\",\"\\u5DEE\\u8BC4\",\"\\u4F4E\\u5206\",\"\\u53E3\\u7891\\u7206\\u68DA\",\"\\u53E3\\u7891\\u6251\\u8857\",\"\\u53E3\\u7891\\u4E24\\u6781\",\"\\u53E3\\u7891\\u5206\\u5316\",\"\\u4E89\\u8BAE\",\"\\u70ED\\u8BAE\\u4E0D\\u65AD\",\"\\u5907\\u53D7\\u5173\\u6CE8\",\"\\u4E07\\u4F17\\u671F\\u5F85\",\"\\u671F\\u5F85\\u5DF2\\u4E45\",\"\\u4E07\\u4F17\\u77A9\\u76EE\",\"\\u5E74\\u5EA6\\u6700\\u4F73\",\"\\u5E74\\u5EA6\\u6700\\u5DEE\",\"\\u5E74\\u5EA6\\u4E4B\\u4F5C\",\"\\u5E74\\u5EA6\\u9ED1\\u9A6C\",\"\\u5E74\\u5EA6\\u60CA\\u559C\",\"\\u5E74\\u5EA6\\u5931\\u671B\",\"\\u538B\\u8F74\\u4E4B\\u4F5C\",\"\\u6536\\u5B98\\u4E4B\\u4F5C\",\"\\u6536\\u5B98\",\"\\u6536\\u5B98\\u5B63\",\"\\u6536\\u5B98\\u6218\",\"\\u5927\\u7ED3\\u5C40\\u524D\\u7BC7\",\"\\u5927\\u7ED3\\u5C40\\u540E\\u7BC7\",\"\\u6700\\u7EC8\\u56DE\",\"\\u6700\\u7EC8\\u8BDD\",\"\\u6700\\u7EC8\\u7AE0\\u524D\\u7BC7\",\"\\u6700\\u7EC8\\u7AE0\\u540E\\u7BC7\"];function mo(t){return String(t).replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\")}var co=new RegExp(uo.map(mo).sort((t,e)=>e.length-t.length).join(\"|\"),\"ig\"),z=new Ue(500,60*60*1e3),Dl=new Ue(1e3,60*60*1e3);function $e(t){if(!t||!t.trim())return\"\";let e=t.trim(),r=z.get(t);if(r!==null)return r;e=e.replace(new RegExp(\"^[\\\\u{1F300}-\\\\u{1F9FF}\\\\u{2600}-\\\\u{26FF}\\\\u{2700}-\\\\u{27BF}]+\\\\s*\",\"u\"),\"\");let o=e.indexOf(\"\\u300A\"),a=e.indexOf(\"\\u300B\");if(o!==-1&&a!==-1&&oString.fromCharCode(parseInt(p,16))).replace(/<[^>]+>/g,\"\").replace(/&[a-z]+;/gi,\"\").trim();let n=e.match(/\\[([^\\]]+)\\]/g);if(n&&n.length>=2){let d=e.replace(/\\[([^\\]]+)\\]/g,\"\").trim();if(!/[\\u4e00-\\u9fa5]/.test(d))for(let A of n){let _=A.slice(1,-1);if(/[\\u4e00-\\u9fa5]/.test(_)&&!/全球|封装|字幕|语言|下载/.test(_)){let O=_;if(O.includes(\".\")){let y=O.split(\".\").filter(E=>E.trim());for(let E of y)if(/[\\u4e00-\\u9fa5]/.test(E)&&!/全\\d+季/.test(E)){O=E.trim();break}}return z.set(t,O),O}}let C=n[0].slice(1,-1),w=n[1].slice(1,-1);if(/夸克|百度|迅雷|阿里|天翼|115|下载/.test(C)&&/[\\u4e00-\\u9fa5]/.test(w))return z.set(t,w),w}let c=e.indexOf(\"|\"),m=e.lastIndexOf(\"|\");if(c!==-1&&c!==m){let d=e.substring(c+1,m).trim();return z.set(t,d),d}e=e.replace(/[/g,\"[\").replace(/]/g,\"]\"),e=e.replace(/\\[([^\\]]*)\\]/g,(d,p)=>/第[一二三四五六七八九十\\d]+季|S\\d+|Season\\s*\\d+/i.test(p)?d:\"\").trim(),e=e.replace(/[((].*?[))]/g,\"\").replace(/【.*?】/g,\"\").trim(),e=e.replace(/\\b\\d+(\\.\\d+)?[GMK]B?\\b/gi,\"\").replace(/\\b(2160|1080|720|480)[pP]\\b/gi,\"\").replace(/\\b(4K|2K|HDR|HD|SD|FHD|UHD)\\b/gi,\"\").replace(/\\bx264|x265|H264|HEVC\\b/gi,\"\").replace(/\\bAAC|AC3|DTS|FLAC\\b/gi,\"\").replace(/\\b(10bit|8bit|60fps|120fps)\\b/gi,\"\").replace(/\\bWEB-DL\\b/gi,\"\").replace(/\\bWEB-MKV\\b/gi,\"\").replace(/\\bWEB-\\b/gi,\"\").replace(/\\bWEB\\b/gi,\"\").replace(/\\bREMUX\\b/gi,\"\").replace(/S\\d+E\\d+(-S\\d+E\\d+)?/gi,\"\").replace(/完结\\s*\\d+\\s*集/g,\"\").replace(/更新\\s*\\d+\\s*集/g,\"\").replace(/更新至\\s*\\d+\\s*集/g,\"\").replace(/更至\\s*\\d+\\s*集/g,\"\").replace(/全\\s*\\d+\\s*集/g,\"\").replace(/第\\s*\\d+\\s*集/g,\"\").replace(/最新/g,\"\").replace(/臻彩/g,\"\").replace(co,\"\").replace(/[\\u200E\\u200F\\u202A-\\u202E]/g,\"\").replace(/\\s+/g,\" \").trim();let u=e.match(/([\\u4e00-\\u9fa5]{2,})/);if(u){let d=u[1],p=new RegExp(d+\"\\\\d*\"+d,\"g\");e=e.replace(p,d)}if(e=e.replace(/\\d{4}$/g,\"\").trim(),e=e.replace(/[((][))]/g,\"\").replace(/【】/g,\"\").replace(/\\[\\]/g,\"\").trim(),e.includes(\".\")){let d=e.split(\".\").filter(C=>C.trim()),p=\"\";for(let C of d)if(/[\\u4e00-\\u9fa5]/.test(C)){p=C.trim();break}if(p){let C=p.match(/全\\d+季/);if(C)e=p.substring(0,C.index).trim();else{e=p;for(let w of d){let A=w.match(/^S(\\d+)$/i);if(A){e=e+\" \"+A[0];break}}}}}let g=!1;if(e.includes(\"-\")){let d=e.split(\"-\"),p=\"\";for(let C of d)if(/[\\u4e00-\\u9fa5]/.test(C)){p=C.trim();break}if(p)if(/第[一二三四五六七八九十\\d]+季|S\\d+|Season\\s*\\d+/i.test(p))e=p,g=!0;else{let C=e.match(/第[一二三四五六七八九十\\d]+季|S(\\d+)|Season\\s*(\\d+)/i);if(C)return e=p+\" \"+C[0],g=!0,z.set(t,e),e;e=p,g=!0}}if(e.includes(\"/\")){let d=e.split(\"/\");for(let p of d)if(/[\\u4e00-\\u9fa5]/.test(p)){e=p.trim();break}}if(!g&&e.includes(\" \")){let d=e.split(\" \").filter(w=>w.trim());if(d.length>1&&d[0].length===1&&/[a-zA-Z]/.test(d[0])){let w=d.slice(0,2).join(\" \");return z.set(t,w),w}if(d.length===2&&/[\\u4e00-\\u9fa5]/.test(d[0])&&/^(第[一二三四五六七八九十\\d]+季|S\\d+|Season\\s*\\d+)$/i.test(d[1]))return z.set(t,e),e;let p=[],C=!1;for(let w=0;w0?e=p.join(\" \"):d.length>0&&(e=d[0])}e=e.replace(/[::·.。]+$/,\"\").replace(/\\.全\\d+季$/,\"\").replace(/\\.第[一二三四五六七八九十\\d]+季$/,\"\").replace(/\\.$/,\"\").replace(/未删减版$/,\"\").replace(/无删减版$/,\"\").replace(/删减版$/,\"\").replace(/完整版$/,\"\").replace(/\\s+$/,\"\").trim();let b=e||t;return z.set(t,b),b}if(typeof window<\"u\"){let t=document.createElement(\"style\");t.textContent=\"html,\\nbody,\\n#app {\\n height: 100%;\\n margin: 0;\\n padding: 0;\\n overflow: hidden;\\n}\\n.danmu-container {\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n padding: 20px;\\n box-sizing: border-box;\\n}\\n.danmu-container .main-title {\\n text-align: center;\\n transition: all 0.3s ease-out;\\n max-height: 50px;\\n opacity: 1;\\n margin-bottom: 20px;\\n overflow: hidden;\\n}\\n.danmu-container .main-title.hidden {\\n max-height: 0;\\n opacity: 0;\\n margin: 0;\\n}\\n.danmu-container .search-input {\\n margin-bottom: 20px;\\n}\\n.danmu-container .result-container {\\n flex-grow: 1;\\n overflow: hidden;\\n display: flex;\\n flex-direction: column;\\n}\\n.danmu-container .result-container .spin-container {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n height: 100%;\\n}\\n.danmu-container .result-container > .ant-tabs {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n}\\n.danmu-container .result-container > .ant-tabs .ant-tabs-content-holder {\\n overflow-y: auto;\\n flex-grow: 1;\\n}\\n.drawer {\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n}\\n.drawer .ant-drawer-mask {\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n}\\n.drawer .ant-drawer-content-wrapper {\\n left: 0;\\n right: 0;\\n}\\n.drawer .ant-drawer-title {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.drawer .ant-list-item {\\n padding: 16px 24px;\\n}\\n@media (max-width: 768px) {\\n .danmu-container {\\n padding: 10px;\\n }\\n .danmu-container .search-input {\\n margin-bottom: 8px;\\n }\\n .danmu-container .ant-tabs-left > .ant-tabs-nav {\\n width: 80px;\\n }\\n .danmu-container .ant-tabs-nav {\\n margin: 0;\\n }\\n .danmu-container .ant-tabs-tab {\\n font-size: 12px;\\n padding: 8px 12px;\\n }\\n .danmu-container .anime-episode-container {\\n flex-direction: column;\\n }\\n .danmu-container .anime-episode-container .anime-list-col,\\n .danmu-container .anime-episode-container .episode-list-col {\\n width: 100%;\\n border-right: none;\\n max-height: 50vh;\\n }\\n .danmu-container .anime-episode-container .anime-list-col {\\n border-bottom: 1px solid #f0f0f0;\\n }\\n .drawer .ant-drawer-header {\\n padding: 16px 12px;\\n }\\n .drawer .ant-list-item {\\n padding: 12px;\\n }\\n}\\n\",document.head.appendChild(t)}var{Search:po}=h.Input,{Title:xo}=h.Typography,ye=\"danmu_search_cache\",pr=\"danmu_search_order\",ho=5,go=10*60*1e3,Oo=t=>{let e=localStorage.getItem(ye);if(!e)return null;try{let r=JSON.parse(e),o=r[t];return o?Date.now()-o.timestamp>go?(delete r[t],localStorage.setItem(ye,JSON.stringify(r)),null):o.data:null}catch(r){return console.error(\"\\u7F13\\u5B58\\u8BFB\\u53D6\\u5931\\u8D25:\",r),null}},To=(t,e)=>{let r=[];try{r=JSON.parse(localStorage.getItem(pr)||\"[]\")}catch(a){}let o={};try{o=JSON.parse(localStorage.getItem(ye)||\"{}\")}catch(a){}if(r=r.filter(a=>a!==t),r.unshift(t),o[t]={data:e,timestamp:Date.now()},r.length>ho){let a=r.pop();delete o[a]}localStorage.setItem(pr,JSON.stringify(r)),localStorage.setItem(ye,JSON.stringify(o))},je=50,hr=t=>String(t||\"\").trim().toLowerCase()===\"json\"?\"json\":\"xml\",bo=({animes:t,sourceUrl:e,inputValue:r,danmuFormat:o=\"xml\"})=>{var W;let[a,l]=(0,f.useState)(!1),[n,c]=(0,f.useState)(null),[m,u]=(0,f.useState)(!1),[g,b]=(0,f.useState)(\"\"),[d,p]=(0,f.useState)(0),C=(0,f.useRef)(null),w=(r||\"\").trim(),A=hr(o),_=async i=>{var s,R,U,$,j,G,N;let S=new AbortController;C.current=S,console.log(\"[DanmuFE] \\u624B\\u52A8\\u63A8\\u9001\\u5F00\\u59CB\",{inputValue:w,sourceUrl:e,danmuFormat:A,animeTitle:n==null?void 0:n.animeTitle,episodeId:i==null?void 0:i.episodeId,episodeTitle:i==null?void 0:i.episodeTitle});let x=\"\",F=\"\";try{let T=await Y.default.get(\"/website/danmu/current-play\",{timeout:3e3}),We=((s=T==null?void 0:T.data)==null?void 0:s.data)||{};if(x=We.flag||window.currentPlayFlag||\"\",F=We.id||window.currentPlayId||\"\",!x||!F){let Se=await messageToDart({action:\"getPlayInfo\"});Se&&(x=Se.flag||\"\",F=Se.id||\"\")}}catch(T){console.warn(\"\\u65E0\\u6CD5\\u83B7\\u53D6\\u64AD\\u653E\\u4FE1\\u606F\\uFF0Cflag/id \\u53EF\\u80FD\\u4E3A\\u7A7A\",T)}try{let T=await Y.default.post(\"/website/danmu/push\",{url:\"/website/danmu/comment?source=\".concat(encodeURIComponent(e),\"&episodeId=\").concat(encodeURIComponent(i.episodeId),\"&format=\").concat(encodeURIComponent(A)),sourceUrl:e,anime:n,title:w,format:A,flag:x,id:F},{signal:S.signal});if(console.log(\"[DanmuFE] \\u624B\\u52A8\\u63A8\\u9001\\u6210\\u529F\",{inputValue:w,sourceUrl:e,danmuFormat:A,animeTitle:n==null?void 0:n.animeTitle,episodeId:i==null?void 0:i.episodeId,episodeTitle:i==null?void 0:i.episodeTitle,flag:x,id:F}),(R=T==null?void 0:T.data)!=null&&R.code&&T.data.code!==0)throw new Error(((U=T==null?void 0:T.data)==null?void 0:U.message)||\"\\u63A8\\u9001\\u5931\\u8D25\");h.message.success(\"\\u5DF2\\u63A8\\u9001 \".concat((j=($=T==null?void 0:T.data)==null?void 0:$.danmuCount)!=null?j:0,\" \\u6761\\u5F39\\u5E55\\uFF0C\\u8BF7\\u7B49\\u5F85\\u5F39\\u5E55\\u52A0\\u8F7D\\u5B8C\\u6210\")),l(!1)}catch(T){if(Y.default.isCancel(T)){console.log(\"\\u63A8\\u9001\\u8BF7\\u6C42\\u5DF2\\u53D6\\u6D88\");return}console.error(\"[DanmuFE] \\u624B\\u52A8\\u63A8\\u9001\\u5931\\u8D25\",{inputValue:w,sourceUrl:e,danmuFormat:A,animeTitle:n==null?void 0:n.animeTitle,episodeId:i==null?void 0:i.episodeId,episodeTitle:i==null?void 0:i.episodeTitle,flag:x,id:F,message:T==null?void 0:T.message,status:(G=T==null?void 0:T.response)==null?void 0:G.status,data:(N=T==null?void 0:T.response)==null?void 0:N.data}),console.error(T),h.message.error((T==null?void 0:T.message)||\"\\u63A8\\u9001\\u5931\\u8D25\")}finally{C.current===S&&(C.current=null)}},O=i=>{let S=Array.isArray(i==null?void 0:i.episodes)?i.episodes:[];c(X(J({},i),{episodes:S})),b(\"\"),p(0),l(!0),u(!1)},y=()=>{if(n){let i=Array.isArray(n.episodes)?n.episodes:[];c(X(J({},n),{episodes:[...i].reverse()})),u(S=>!S)}},E=i=>{var F,s;let S=(s=(F=i==null?void 0:i.episodeNumber)!=null?F:i==null?void 0:i.number)!=null?s:\"?\",x=(i==null?void 0:i.episodeTitle)||(i==null?void 0:i.title)||(i==null?void 0:i.name)||\"\";return x?\"\\u7B2C\".concat(S,\"\\u96C6 - \").concat(x):\"\\u7B2C\".concat(S,\"\\u96C6\")},B=Array.isArray(n==null?void 0:n.episodes)?n.episodes.filter(i=>{var s,R;let S=g.trim().toLowerCase();if(!S)return!0;let x=String((R=(s=i==null?void 0:i.episodeNumber)!=null?s:i==null?void 0:i.number)!=null?R:\"\"),F=E(i).toLowerCase();return x.includes(S)||F.includes(S)}):[],v=Array.from({length:Math.max(1,Math.ceil(B.length/je))},(i,S)=>{let x=S*je,F=Math.min(B.length,x+je);return{key:S,label:\"\".concat(x+1,\"-\").concat(F),items:B.slice(x,F)}}),L=Math.min(d,Math.max(v.length-1,0)),le=((W=v[L])==null?void 0:W.items)||[];return!t||t.length===0?f.default.createElement(h.Empty,{description:\"\\u8BE5\\u6765\\u6E90\\u4E0B\\u65E0\\u7ED3\\u679C\"}):f.default.createElement(f.default.Fragment,null,f.default.createElement(h.List,{dataSource:t,renderItem:i=>{let S=Array.isArray(i==null?void 0:i.episodes)?i.episodes.length:(i==null?void 0:i.episodeCount)||(i==null?void 0:i.episodesCount)||0;return f.default.createElement(h.List.Item,{onClick:()=>O(i)},f.default.createElement(\"div\",{style:{display:\"flex\",width:\"100%\",justifyContent:\"space-between\",gap:12}},f.default.createElement(\"span\",null,i.animeTitle),f.default.createElement(h.Tag,{color:\"blue\"},S,\"\\u96C6\")))}}),n&&f.default.createElement(h.Drawer,{title:n.animeTitle,placement:\"bottom\",onClose:()=>l(!1),open:a,height:\"80%\",destroyOnClose:!0,closable:!1,bodyStyle:{padding:0},rootClassName:\"drawer\",extra:f.default.createElement(h.Button,{icon:m?f.default.createElement(qe,null):f.default.createElement(Ve,null),onClick:y,style:{marginLeft:16}})},f.default.createElement(\"div\",{style:{padding:\"12px 16px\",borderBottom:\"1px solid #f0f0f0\",display:\"flex\",flexDirection:\"column\",gap:12}},f.default.createElement(h.Input,{placeholder:\"\\u8F93\\u5165\\u96C6\\u6570\\u6216\\u6807\\u9898\\u5173\\u952E\\u8BCD\\uFF0C\\u5B9E\\u65F6\\u8FC7\\u6EE4\",value:g,onChange:i=>{b(i.target.value),p(0)},allowClear:!0}),v.length>1&&f.default.createElement(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:8}},v.map(i=>f.default.createElement(h.Tag,{key:i.key,color:L===i.key?\"processing\":\"default\",style:{cursor:\"pointer\",marginInlineEnd:0},onClick:()=>p(i.key)},i.label)))),f.default.createElement(h.List,{dataSource:le,locale:{emptyText:\"\\u6CA1\\u6709\\u5339\\u914D\\u5230\\u53EF\\u9009\\u5267\\u96C6\"},renderItem:i=>f.default.createElement(h.List.Item,{onClick:()=>_(i)},E(i))})))};function gr(){let[t,e]=(0,f.useState)([]),[r,o]=(0,f.useState)(\"xml\"),[a,l]=(0,f.useState)(!1),[n,c]=(0,f.useState)([]),[m,u]=(0,f.useState)({}),[g,b]=(0,f.useState)(!1),[d,p]=(0,f.useState)(()=>{let O=new URLSearchParams(window.location.search).get(\"keyword\")||\"\";return $e(O||\"\").trim()||O.trim()}),C=(0,f.useRef)(null);(0,f.useEffect)(()=>{Y.default.get(\"/website/danmu/setting\").then(O=>{if(O.data.code===0&&O.data.data&&O.data.data.urls){o(hr(O.data.data.format));let y=[],E=new Set;O.data.data.urls.forEach(B=>{let v={name:B.name||new URL(B.address).hostname,url:B.address},L=\"\".concat(v.name,\"@@\").concat(v.url);E.has(L)||(E.add(L),y.push(v))}),e(y)}else h.message.error(\"\\u83B7\\u53D6\\u5F39\\u5E55\\u6E90\\u5931\\u8D25\")}).catch(O=>{console.error(O),h.message.error(\"\\u83B7\\u53D6\\u5F39\\u5E55\\u6E90\\u5931\\u8D25\")})},[]);let w=(0,f.useCallback)((O,y=!1)=>{let B=(O||\"\").trim(),v=y&&$e(B).trim()||B;if(!v){y||h.message.warning(\"\\u8BF7\\u8F93\\u5165\\u641C\\u7D22\\u5173\\u952E\\u8BCD\");return}if(t.length===0&&!y){h.message.error(\"\\u6CA1\\u6709\\u53EF\\u7528\\u7684\\u5F39\\u5E55\\u6E90\");return}if(p(v),!y){let x=new URL(window.location);x.searchParams.set(\"keyword\",v),window.history.pushState({},\"\",x)}if(y){let x=Oo(v);if(x){c(x),b(!0),l(!1);let F={};x.forEach(s=>{F[s.sourceName]={status:\"success\",fromCache:!0}}),u(F),h.message.success(\"\\u4ECE\\u7F13\\u5B58\\u52A0\\u8F7D\\u4E86\\u7ED3\\u679C\");return}}C.current&&C.current.abort();let L=new AbortController;C.current=L,l(!0),b(!0),c([]),u({});let le=0,W=[],i=Date.now(),S={};t.forEach(x=>{S[x.name]={status:\"loading\",duration:0}}),u(S),t.forEach(x=>{let F=Date.now();console.log(\"[DanmuFE] \\u624B\\u52A8\\u641C\\u7D22\\u5F00\\u59CB\",{keyword:v,sourceName:x.name,sourceUrl:x.url}),Y.default.get(\"/website/danmu/search\",{params:{source:x.url,anime:v},timeout:1e4,signal:L.signal}).then(s=>{var $,j,G;if(C.current!==L)return;let R=Date.now()-F,U=Array.isArray(($=s==null?void 0:s.data)==null?void 0:$.animes)?s.data.animes:[];if(console.log(\"[DanmuFE] \\u624B\\u52A8\\u641C\\u7D22\\u54CD\\u5E94\",{keyword:v,sourceName:x.name,sourceUrl:x.url,duration:R,status:s==null?void 0:s.status,success:(j=s==null?void 0:s.data)==null?void 0:j.success,animeCount:U.length,preview:U.slice(0,5).map(N=>N==null?void 0:N.animeTitle)}),s.data.success&&s.data.animes&&s.data.animes.length>0){let N={sourceName:x.name,sourceUrl:x.url,data:s.data};W.push(N),c(T=>[...T,N]),u(T=>X(J({},T),{[x.name]:{status:\"success\",duration:R,count:s.data.animes.length}}))}else console.warn(\"[DanmuFE] \\u624B\\u52A8\\u641C\\u7D22\\u65E0\\u7ED3\\u679C\\u6216\\u672A\\u6EE1\\u8DB3\\u6210\\u529F\\u5224\\u5B9A\",{keyword:v,sourceName:x.name,sourceUrl:x.url,duration:R,status:s==null?void 0:s.status,success:(G=s==null?void 0:s.data)==null?void 0:G.success,animeCount:U.length,rawData:s==null?void 0:s.data}),u(N=>X(J({},N),{[x.name]:{status:\"empty\",duration:R}}))}).catch(s=>{var $,j;if(C.current!==L)return;if(Y.default.isCancel(s)){console.log(\"\\u641C\\u7D22\\u8BF7\\u6C42\\u5DF2\\u53D6\\u6D88: \".concat(x.name));return}let R=Date.now()-F;console.error(\"[DanmuFE] \\u624B\\u52A8\\u641C\\u7D22\\u5931\\u8D25: \".concat(x.name),{keyword:v,sourceName:x.name,sourceUrl:x.url,duration:R,message:s==null?void 0:s.message,code:s==null?void 0:s.code,status:($=s==null?void 0:s.response)==null?void 0:$.status,data:(j=s==null?void 0:s.response)==null?void 0:j.data});let U=s.code===\"ECONNABORTED\"?\"\\u8D85\\u65F6\":\"\\u5931\\u8D25\";u(G=>X(J({},G),{[x.name]:{status:\"error\",duration:R,error:U}}))}).finally(()=>{if(C.current===L&&(le++,le===t.length)){l(!1);let s=Date.now()-i;console.log(\"\\u641C\\u7D22\\u5B8C\\u6210\\uFF0C\\u603B\\u8017\\u65F6: \".concat(s,\"ms\")),W.length>0?(To(v,W),h.message.success(\"\\u627E\\u5230 \".concat(W.length,\" \\u4E2A\\u6E90\\u7684\\u7ED3\\u679C\"))):h.message.warning(\"\\u672A\\u627E\\u5230\\u4EFB\\u4F55\\u7ED3\\u679C\")}})})},[t]);(0,f.useEffect)(()=>{if(t.length>0){let y=new URLSearchParams(window.location.search).get(\"keyword\");y&&w(y,!0)}},[t,w]);let A=O=>{let y=m[O];if(!y)return null;if(y.fromCache)return f.default.createElement(h.Tag,{color:\"blue\",style:{marginLeft:8}},\"\\u7F13\\u5B58\");switch(y.status){case\"loading\":return f.default.createElement(h.Tag,{icon:f.default.createElement(Ne,null),color:\"processing\",style:{marginLeft:8}},\"\\u641C\\u7D22\\u4E2D\");case\"success\":return f.default.createElement(h.Tag,{icon:f.default.createElement(Le,null),color:\"success\",style:{marginLeft:8}},y.count,\"\\u4E2A\\u7ED3\\u679C (\",y.duration,\"ms)\");case\"empty\":return f.default.createElement(h.Tag,{color:\"default\",style:{marginLeft:8}},\"\\u65E0\\u7ED3\\u679C (\",y.duration,\"ms)\");case\"error\":return f.default.createElement(h.Tag,{icon:f.default.createElement(He,null),color:\"error\",style:{marginLeft:8}},y.error,\" (\",y.duration,\"ms)\");default:return null}},_=n.map((O,y)=>({key:\"\".concat(O.sourceName,\"-\").concat(y),label:f.default.createElement(\"span\",null,O.sourceName,A(O.sourceName)),children:f.default.createElement(bo,{animes:O.data.animes,sourceUrl:O.sourceUrl,inputValue:d,danmuFormat:r})}));return f.default.createElement(\"div\",{className:\"danmu-container\"},f.default.createElement(xo,{level:2,className:\"main-title \".concat(g?\"hidden\":\"\")},\"\\u5F39\\u5E55\\u641C\\u7D22\"),f.default.createElement(\"div\",{style:{display:\"flex\",gap:12,alignItems:\"center\"}},f.default.createElement(po,{placeholder:\"\\u8F93\\u5165\\u5F71\\u89C6\\u540D\\u79F0...\",enterButton:\"\\u641C\\u7D22\",size:\"large\",onSearch:O=>w(O),loading:a,className:\"search-input\",value:d,onChange:O=>p(O.target.value)})),f.default.createElement(\"div\",{className:\"result-container\"},g&&n.length===0&&a&&f.default.createElement(\"div\",{className:\"spin-container\"},f.default.createElement(h.Spin,{size:\"large\"})),n.length>0&&f.default.createElement(h.Tabs,{items:_,size:\"small\"}),g&&n.length===0&&!a&&f.default.createElement(h.Empty,{description:\"\\u672A\\u627E\\u5230\\u76F8\\u5173\\u7ED3\\u679C\"})))}function Co(){(0,xr.createRoot)(document.getElementById(\"app\")).render(f.default.createElement(gr,null))}\n/*! Bundled license information:\n\nclassnames/index.js:\n (*!\n \tCopyright (c) 2018 Jed Watson.\n \tLicensed under the MIT License (MIT), see\n \thttp://jedwatson.github.io/classnames\n *)\n*/\n", + ' module.exports.renderDanmu();', + '})();' + ].join('\n'); +})(); + + + +globalThis.danmuAdvancedBundle = function() { + return ''; +}(); + + + +(function(){ + var firstBootLogWrite = true; + var bootLogPath = ''; + function bootSafeString(value) { + try { return String(value); } catch (_) { return '[unstringifiable]'; } + } + function bootBaseDir() { + try { + if (typeof process !== 'undefined' && process && process.env && process.env.NODE_PATH) { + return process.env.NODE_PATH; + } + } catch (_) {} + try { + if (typeof process !== 'undefined' && process && typeof process.cwd === 'function') { + return process.cwd(); + } + } catch (_) {} + return '.'; + } + function bootLog(message) { + try { + var req = eval('require'); + var fs = req('fs'); + var path = req('path'); + if (!bootLogPath) bootLogPath = path.join(bootBaseDir(), 'cat-boot.log'); + var line = '[' + new Date().toISOString() + '] ' + bootSafeString(message) + '\n'; + fs.writeFileSync(bootLogPath, line, { flag: firstBootLogWrite ? 'w' : 'a' }); + firstBootLogWrite = false; + } catch (_) {} + } + globalThis.__catpawBootLog = bootLog; + bootLog('boot banner ran node=' + (typeof process !== 'undefined' && process ? process.version : 'unknown') + ' cwd=' + bootBaseDir()); +})(); + +try { + +(function(){ + var injected = false; + var diag = 'before: fetch=' + typeof globalThis.fetch + ' Headers=' + typeof globalThis.Headers + ' Request=' + typeof globalThis.Request; + try { + // eval 绕过 esbuild 静态分析,让 require('undici') 在 iOS 运行期由 nodejs-mobile 解析 + var _require = eval('require'); + var u = _require('undici'); + diag += ' | undici keys=' + (u ? Object.keys(u).length : 'null'); + if (u && u.Request && u.Headers && u.fetch) { + // 必须整套对齐到同一个 undici 实例,否则 fetch 和 Request 类不互认 + globalThis.fetch = u.fetch; + globalThis.Headers = u.Headers; + globalThis.Request = u.Request; + globalThis.Response = u.Response; + if (u.FormData) globalThis.FormData = u.FormData; + if (u.File) globalThis.File = u.File; + if (u.Blob) globalThis.Blob = u.Blob; + injected = true; + } + } catch (e) { + diag += ' | require undici threw: ' + (e && e.message); + } + diag += ' | injected=' + injected; + if (typeof globalThis.__catpawBootLog === 'function') { + globalThis.__catpawBootLog('[webApiGlobalsShim] ' + diag); + } + function ensure(name, ctor){ + try { + if (typeof globalThis[name] === 'undefined') globalThis[name] = ctor; + } catch (_) {} + } + if (!injected) { + // 最坏 fallback:require undici 失败时给个能 new 的 stub,至少让 bundle 加载不报 + // "X is not a constructor"。运行期 fetch 通讯可能仍不工作。 + if (typeof globalThis.Headers !== 'function') { + var H = function Headers(init){ + this._m = Object.create(null); + var setOne = (k, v) => { this._m[String(k).toLowerCase()] = String(v); }; + if (!init) return; + if (typeof init.forEach === 'function' && !Array.isArray(init)) init.forEach((v, k) => setOne(k, v)); + else if (Symbol.iterator in Object(init)) { for (var p of init) setOne(p[0], p[1]); } + else if (typeof init === 'object') { for (var k in init) if (Object.prototype.hasOwnProperty.call(init, k)) setOne(k, init[k]); } + }; + H.prototype.set = function(k, v){ this._m[String(k).toLowerCase()] = String(v); }; + H.prototype.get = function(k){ var n = String(k).toLowerCase(); return Object.prototype.hasOwnProperty.call(this._m, n) ? this._m[n] : null; }; + H.prototype.has = function(k){ return Object.prototype.hasOwnProperty.call(this._m, String(k).toLowerCase()); }; + H.prototype.delete = function(k){ delete this._m[String(k).toLowerCase()]; }; + H.prototype.append = function(k, v){ var n = String(k).toLowerCase(); if (Object.prototype.hasOwnProperty.call(this._m, n)) this._m[n] += ', ' + v; else this._m[n] = String(v); }; + H.prototype.forEach = function(cb, thisArg){ for (var k in this._m) cb.call(thisArg, this._m[k], k, this); }; + H.prototype.entries = function*(){ for (var k in this._m) yield [k, this._m[k]]; }; + H.prototype.keys = function*(){ for (var k in this._m) yield k; }; + H.prototype.values = function*(){ for (var k in this._m) yield this._m[k]; }; + H.prototype[Symbol.iterator] = H.prototype.entries; + globalThis.Headers = H; + } + if (typeof globalThis.Request !== 'function') { + var R = function Request(input, init){ + init = init || {}; + var isReq = input && typeof input === 'object' && typeof input.url !== 'undefined'; + this.url = isReq ? input.url : String(input); + this.method = init.method || (isReq ? input.method : 'GET'); + this.headers = new globalThis.Headers(init.headers || (isReq ? input.headers : undefined)); + this.body = init.body !== undefined ? init.body : (isReq ? input.body : undefined); + this.redirect = init.redirect || (isReq ? input.redirect : 'follow'); + }; + R.prototype.toString = function(){ return this.url; }; + globalThis.Request = R; + } + if (typeof globalThis.Response !== 'function') { + globalThis.Response = function Response(body, init){ + init = init || {}; + this.status = init.status || 200; + this.ok = this.status >= 200 && this.status < 300; + this.headers = new globalThis.Headers(init.headers); + this._body = body; + }; + globalThis.Response.prototype.text = function(){ return Promise.resolve(String(this._body == null ? '' : this._body)); }; + globalThis.Response.prototype.json = function(){ return Promise.resolve(JSON.parse(String(this._body == null ? 'null' : this._body))); }; + } + } + // 这几个无论 undici 路径还是 fallback 路径都补 + ensure('File', class File {}); + ensure('FileList', class FileList {}); + ensure('FileReader', class FileReader {}); + ensure('FormData', class FormData { + constructor(){ this._e = []; } + append(k, v){ this._e.push([String(k), v]); } + get(k){ var e = this._e.find(p => p[0] === String(k)); return e ? e[1] : null; } + has(k){ return this._e.some(p => p[0] === String(k)); } + forEach(cb, thisArg){ this._e.forEach(p => cb.call(thisArg, p[1], p[0], this)); } + *entries(){ for (var e of this._e) yield e; } + [Symbol.iterator](){ return this.entries(); } + }); + + // 终极兜底 fetch:iOS nodejs-mobile 若既没暴露 globalThis.fetch 又没法 require('undici'), + // 用 node:http/https 手写一个最小 fetch。仅满足 youtubei.js HTTPClient 的 POST JSON + 读 body 场景。 + // 不实现 redirect / streaming / fancy body 类型;够 spider 业务用。 + if (typeof globalThis.fetch !== 'function') { + var _req2 = eval('require'); + var http_ = _req2('http'); + var https_ = _req2('https'); + globalThis.fetch = function fetch(input, init){ + init = init || {}; + return new Promise(function(resolve, reject){ + var urlStr = typeof input === 'string' ? input : (input && (input.url || input.toString && input.toString())) || String(input); + var u; + try { u = new URL(urlStr); } catch (e) { reject(new TypeError('Failed to parse URL: ' + urlStr)); return; } + var lib = u.protocol === 'https:' ? https_ : http_; + var headers = {}; + var inHdr = init.headers || (input && input.headers); + if (inHdr) { + if (typeof inHdr.forEach === 'function') inHdr.forEach(function(v,k){ headers[k]=String(v); }); + else if (typeof inHdr === 'object') for (var k in inHdr) headers[k] = String(inHdr[k]); + } + var method = init.method || (input && input.method) || 'GET'; + var body = init.body !== undefined ? init.body : (input && input.body); + var req = lib.request({ + method: method, + hostname: u.hostname, + port: u.port || (u.protocol === 'https:' ? 443 : 80), + path: u.pathname + u.search, + headers: headers, + }, function(res){ + // 简单 redirect: 3xx 跟一次,避免主流接口偶发 redirect 直接挂 + if (res.statusCode >= 300 && res.statusCode < 400 && res.headers.location && (init._redirHops || 0) < 5) { + res.resume(); + var nextUrl = new URL(res.headers.location, urlStr).toString(); + resolve(globalThis.fetch(nextUrl, Object.assign({}, init, { _redirHops: (init._redirHops || 0) + 1 }))); + return; + } + var chunks = []; + res.on('data', function(c){ chunks.push(c); }); + res.on('end', function(){ + var buf = Buffer.concat(chunks); + var bodyStr = null; + resolve({ + ok: res.statusCode >= 200 && res.statusCode < 300, + status: res.statusCode, + statusText: res.statusMessage || '', + url: urlStr, + headers: new globalThis.Headers(res.headers), + text: function(){ if (bodyStr == null) bodyStr = buf.toString('utf8'); return Promise.resolve(bodyStr); }, + json: function(){ return this.text().then(JSON.parse); }, + arrayBuffer: function(){ return Promise.resolve(buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength)); }, + clone: function(){ return this; } + }); + }); + }); + req.on('error', reject); + if (body != null && body !== '') { + if (typeof body === 'string' || Buffer.isBuffer(body) || body instanceof Uint8Array) req.write(body); + else req.write(String(body)); + } + req.end(); + }); + }; + if (typeof globalThis.__catpawBootLog === 'function') { + globalThis.__catpawBootLog('[webApiGlobalsShim] installed http/https-based fetch fallback'); + } + } +})(); + +(function(){ + if (typeof globalThis.Intl !== 'undefined' && globalThis.Intl && typeof globalThis.Intl.DateTimeFormat === 'function') return; + function DateTimeFormat(){ + return { + resolvedOptions: function(){ return { timeZone: 'UTC', locale: 'en-US', calendar: 'gregory', numberingSystem: 'latn' }; }, + format: function(d){ try { return new Date(d == null ? Date.now() : d).toISOString(); } catch(_) { return ''; } }, + formatToParts: function(){ return []; }, + formatRange: function(a, b){ return String(a) + ' - ' + String(b); }, + formatRangeToParts: function(){ return []; } + }; + } + function NumberFormat(){ + return { + resolvedOptions: function(){ return { locale: 'en-US' }; }, + format: function(n){ return String(n); }, + formatToParts: function(){ return []; } + }; + } + function Collator(){ + return { compare: function(a, b){ a = String(a); b = String(b); return a < b ? -1 : a > b ? 1 : 0; } }; + } + function PluralRules(){ return { select: function(){ return 'other'; } }; } + function RelativeTimeFormat(){ + return { + format: function(v, u){ return String(v) + ' ' + String(u); }, + formatToParts: function(){ return []; } + }; + } + function ListFormat(){ + return { format: function(arr){ return (arr || []).join(', '); }, formatToParts: function(){ return []; } }; + } + function DisplayNames(){ + return { of: function(s){ return s; } }; + } + function Segmenter(){ + return { segment: function(s){ return { [Symbol.iterator]: function*(){ for (var ch of String(s || '')) yield { segment: ch, index: 0, input: s }; } }; } }; + } + function Locale(tag){ + var t = String(tag || 'en-US'); + this.baseName = t; + this.language = t.split('-')[0] || 'en'; + this.region = (t.split('-')[1] || '').toUpperCase() || undefined; + } + var IntlObj = globalThis.Intl || {}; + IntlObj.DateTimeFormat = DateTimeFormat; + IntlObj.NumberFormat = NumberFormat; + IntlObj.Collator = Collator; + IntlObj.PluralRules = PluralRules; + IntlObj.RelativeTimeFormat = RelativeTimeFormat; + IntlObj.ListFormat = ListFormat; + IntlObj.DisplayNames = DisplayNames; + IntlObj.Segmenter = Segmenter; + IntlObj.Locale = Locale; + IntlObj.getCanonicalLocales = function(loc){ + if (Array.isArray(loc)) return loc.map(String); + return loc == null ? [] : [String(loc)]; + }; + IntlObj.supportedValuesOf = function(){ return []; }; + globalThis.Intl = IntlObj; +})(); + +(function(){ + if (typeof String.prototype.toWellFormed !== 'function') { + Object.defineProperty(String.prototype, 'toWellFormed', { + value: function toWellFormed(){ return String(this); }, + writable: true, configurable: true, enumerable: false + }); + } + if (typeof String.prototype.isWellFormed !== 'function') { + Object.defineProperty(String.prototype, 'isWellFormed', { + value: function isWellFormed(){ return true; }, + writable: true, configurable: true, enumerable: false + }); + } +})(); + +(function(){ + if (typeof TextDecoder === 'undefined') return; + var _TD = TextDecoder; + function isIcu(e){ return e && (e.code === 'ERR_NO_ICU' || e.code === 'ERR_ENCODING_NOT_SUPPORTED'); } + function SafeTD(label, options){ + if (!(this instanceof SafeTD)) return new SafeTD(label, options); + try { return Reflect.construct(_TD, [label, options]); } + catch (e) { + if (!isIcu(e)) throw e; + var safeLabel = (typeof label === 'string' && /^utf-?8$/i.test(label)) ? label : 'utf-8'; + var safeOpts = options ? Object.assign({}, options, { fatal: false }) : { fatal: false }; + return Reflect.construct(_TD, [safeLabel, safeOpts]); + } + } + SafeTD.prototype = _TD.prototype; + globalThis.TextDecoder = SafeTD; +})(); + +var AZt=Object.create;var J3=Object.defineProperty;var EZt=Object.getOwnPropertyDescriptor;var yZt=Object.getOwnPropertyNames;var vZt=Object.getPrototypeOf,SZt=Object.prototype.hasOwnProperty;var oe=(e,t)=>()=>(e&&(t=e(e=0)),t);var S=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Bt=(e,t)=>{for(var r in t)J3(e,r,{get:t[r],enumerable:!0})},xke=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of yZt(t))!SZt.call(e,s)&&s!==r&&J3(e,s,{get:()=>t[s],enumerable:!(n=EZt(t,s))||n.enumerable});return e};var we=(e,t,r)=>(r=e!=null?AZt(vZt(e)):{},xke(t||!e||!e.__esModule?J3(r,"default",{value:e,enumerable:!0}):r,e)),TZt=e=>xke(J3({},"__esModule",{value:!0}),e);var Nke=S((_3n,wke)=>{"use strict";function bZt(e){var t=new e,r=t;function n(){var i=t;return i.next?t=i.next:(t=new e,r=t),i.next=null,i}function s(i){r.next=i,r=i}return{get:n,release:s}}wke.exports=bZt});var Dke=S((A3n,YX)=>{"use strict";var IZt=Nke();function Oke(e,t,r){if(typeof e=="function"&&(r=t,t=e,e=null),!(r>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");var n=IZt(RZt),s=null,i=null,a=0,o=null,c={push:m,drain:Xl,saturated:Xl,pause:l,paused:!1,get concurrency(){return r},set concurrency(v){if(!(v>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");if(r=v,!c.paused)for(;s&&a=r||c.paused?i?(i.next=C,i=C):(s=C,i=C,c.saturated()):(a++,t.call(e,C.value,C.worked))}function g(v,T){var C=n.get();C.context=e,C.release=_,C.value=v,C.callback=T||Xl,C.errorHandler=o,a>=r||c.paused?s?(C.next=s,s=C):(s=C,i=C,c.saturated()):(a++,t.call(e,C.value,C.worked))}function _(v){v&&n.release(v);var T=s;T&&a<=r?c.paused?a--:(i===s&&(i=null),s=T.next,T.next=null,t.call(e,T.value,T.worked),i===null&&c.empty()):--a===0&&c.drain()}function y(){s=null,i=null,c.drain=Xl}function E(){s=null,i=null,c.drain(),c.drain=Xl}function A(v){o=v}}function Xl(){}function RZt(){this.value=null,this.callback=Xl,this.next=null,this.release=Xl,this.context=null,this.errorHandler=null;var e=this;this.worked=function(r,n){var s=e.callback,i=e.errorHandler,a=e.value;e.value=null,e.callback=Xl,e.errorHandler&&i(r,a),s.call(e.context,r,n),e.release(e)}}function CZt(e,t,r){typeof e=="function"&&(r=t,t=e,e=null);function n(l,d){t.call(this,l).then(function(f){d(null,f)},d)}var s=Oke(e,n,r),i=s.push,a=s.unshift;return s.push=o,s.unshift=c,s.drained=u,s;function o(l){var d=new Promise(function(f,h){i(l,function(p,m){if(p){h(p);return}f(m)})});return d.catch(Xl),d}function c(l){var d=new Promise(function(f,h){a(l,function(p,m){if(p){h(p);return}f(m)})});return d.catch(Xl),d}function u(){var l=new Promise(function(d){process.nextTick(function(){if(s.idle())d();else{var f=s.drain;s.drain=function(){typeof f=="function"&&f(),d(),s.drain=f}}})});return l}}YX.exports=Oke;YX.exports.promise=CZt});var zX=S((E3n,Z3)=>{"use strict";var{format:xZt}=require("node:util");function wZt(){return`${this.name} [${this.code}]: ${this.message}`}function QX(e,t,r=500,n=Error){if(!e)throw new Error("Fastify error code must not be empty");if(!t)throw new Error("Fastify error message must not be empty");e=e.toUpperCase(),!r&&(r=void 0);function s(...i){if(!new.target)return new s(...i);this.code=e,this.name="FastifyError",this.statusCode=r;let a=i.length-1;a!==-1&&i[a]&&typeof i[a]=="object"&&"cause"in i[a]&&(this.cause=i.pop().cause),this.message=xZt(t,...i),Error.stackTraceLimit!==0&&Error.captureStackTrace(this,s)}return s.prototype=Object.create(n.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),s.prototype[Symbol.toStringTag]="Error",s.prototype.toString=wZt,s}Z3.exports=QX;Z3.exports.default=QX;Z3.exports.createError=QX});var eU=S((y3n,Pke)=>{"use strict";var{createError:S_}=zX();Pke.exports={AVV_ERR_EXPOSE_ALREADY_DEFINED:S_("AVV_ERR_EXPOSE_ALREADY_DEFINED","'%s' is already defined, specify an expose option for '%s'"),AVV_ERR_ATTRIBUTE_ALREADY_DEFINED:S_("AVV_ERR_ATTRIBUTE_ALREADY_DEFINED","'%s' is already defined"),AVV_ERR_CALLBACK_NOT_FN:S_("AVV_ERR_CALLBACK_NOT_FN","Callback for '%s' hook is not a function. Received: '%s'"),AVV_ERR_PLUGIN_NOT_VALID:S_("AVV_ERR_PLUGIN_NOT_VALID","Plugin must be a function or a promise. Received: '%s'"),AVV_ERR_ROOT_PLG_BOOTED:S_("AVV_ERR_ROOT_PLG_BOOTED","Root plugin has already booted"),AVV_ERR_PARENT_PLG_LOADED:S_("AVV_ERR_PARENT_PLG_LOADED","Impossible to load '%s' plugin because the parent '%s' was already loaded"),AVV_ERR_READY_TIMEOUT:S_("AVV_ERR_READY_TIMEOUT","Plugin did not start in time: '%s'. You may have forgotten to call 'done' function or to resolve a Promise"),AVV_ERR_PLUGIN_EXEC_TIMEOUT:S_("AVV_ERR_PLUGIN_EXEC_TIMEOUT","Plugin did not start in time: '%s'. You may have forgotten to call 'done' function or to resolve a Promise")}});var Yb=S((v3n,Lke)=>{"use strict";var NZt=Symbol("avvio.Boot"),OZt=Symbol("isOnCloseHandler"),DZt=Symbol("avvio.ThenifyDoNotWrap"),PZt=Symbol("avvio.TimeTree.untrackNode"),LZt=Symbol("avvio.TimeTree.trackNode"),MZt=Symbol("avvio.TimeTree.getParent"),kZt=Symbol("avvio.TimeTree.getNode"),BZt=Symbol("avvio.TimeTree.addNode"),UZt=Symbol.for("plugin-meta");Lke.exports={kAvvio:NZt,kIsOnCloseHandler:OZt,kThenifyDoNotWrap:DZt,kUntrackNode:PZt,kTrackNode:LZt,kGetParent:MZt,kGetNode:kZt,kAddNode:BZt,kPluginMeta:UZt}});var qke=S((S3n,$ke)=>{"use strict";var{kUntrackNode:Mke,kTrackNode:WX,kGetParent:kke,kGetNode:Bke,kAddNode:Uke}=Yb(),XX=class{constructor(){this.root=null,this.tableId=new Map,this.tableLabel=new Map}[WX](t){this.tableId.set(t.id,t),this.tableLabel.has(t.label)?this.tableLabel.get(t.label).push(t):this.tableLabel.set(t.label,[t])}[Mke](t){this.tableId.delete(t.id);let r=this.tableLabel.get(t.label);r.pop(),r.length===0&&this.tableLabel.delete(t.label)}[kke](t){if(t===null)return null;if(this.tableLabel.has(t)){let r=this.tableLabel.get(t);return r[r.length-1]}else return null}[Bke](t){return this.tableId.get(t)}[Uke](t,r,n){let s=this[kke](t);if(s===null)return this.root={parent:null,id:"root",label:r,nodes:[],start:n,stop:null,diff:-1},this[WX](this.root),this.root.id;let a=`${r}-${Math.random()}`,o={parent:t,id:a,label:r,nodes:[],start:n,stop:null,diff:-1};return s.nodes.push(o),this[WX](o),a}start(t,r,n=Date.now()){return this[Uke](t,r,n)}stop(t,r=Date.now()){let n=this[Bke](t);n&&(n.stop=r,n.diff=n.stop-n.start||0,this[Mke](n))}toJSON(){return Object.assign({},this.root)}prettyPrint(){return Fke(this.toJSON())}};function Fke(e,t=""){let r=t,n=e.nodes.length,s=n-1;r+=`${e.label} ${e.diff} ms +`;for(let i=0;i{"use strict";var{debuglog:FZt}=require("node:util"),$Zt=FZt("avvio");Hke.exports={debug:$Zt}});var jke=S((b3n,Vke)=>{"use strict";function qZt(){let e={resolve:null,reject:null,promise:null};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}Vke.exports={createPromise:qZt}});var Gke=S((I3n,Kke)=>{"use strict";var{kPluginMeta:JX}=Yb();function HZt(e,t){return e[JX]&&e[JX].name?e[JX].name:t&&t.name?t.name:e.name?e.name:e.toString().split(` +`).slice(0,2).map(r=>r.trim()).join(" -- ")}Kke.exports={getPluginName:HZt}});var rU=S((R3n,Yke)=>{"use strict";function VZt(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}Yke.exports={isPromiseLike:VZt}});var zke=S((C3n,Qke)=>{"use strict";var{EventEmitter:jZt}=require("node:events"),{inherits:KZt}=require("node:util"),{debug:eo}=tU(),{createPromise:GZt}=jke(),{AVV_ERR_PLUGIN_EXEC_TIMEOUT:YZt}=eU(),{getPluginName:QZt}=Gke(),{isPromiseLike:zZt}=rU();function Qb(e,t,r,n,s){this.queue=e,this.func=t,this.options=r,this.isAfter=n,this.timeout=s,this.started=!1,this.name=QZt(t,r),this.queue.pause(),this._error=null,this.loaded=!1,this._promise=null,this.startTime=null}KZt(Qb,jZt);Qb.prototype.exec=function(e,t){eo("exec",this.name),this.server=e;let r=this.func,n=this.name,s=!1;this.options=typeof this.options=="function"?this.options(this.server):this.options;let i=null,a=c=>{if(s){eo("loading complete",n);return}this._error=c,eo(c?"exec errored":"exec completed",n),s=!0,i&&clearTimeout(i),t(c)};this.timeout>0&&(eo("setting up timeout",n,this.timeout),i=setTimeout(function(){eo("timed out",n),i=null;let c=new YZt(n);c.fn=r,a(c)},this.timeout)),this.started=!0,this.startTime=Date.now(),this.emit("start",this.server?this.server.name:null,this.name,Date.now());let o=r(this.server,this.options,a);zZt(o)&&(eo("exec: resolving promise",n),o.then(()=>process.nextTick(a),c=>process.nextTick(a,c)))};Qb.prototype.loadedSoFar=function(){if(eo("loadedSoFar",this.name),this.loaded)return Promise.resolve();let e=()=>{this.server.after((r,n)=>{this._error=r,this.queue.pause(),this._promise&&(r?(eo("rejecting promise",this.name,r),this._promise.reject(r)):(eo("resolving promise",this.name),this._promise.resolve()),this._promise=null),process.nextTick(n,r)}),this.queue.resume()},t;return this._promise?t=Promise.resolve():(this._promise=GZt(),t=this._promise.promise,this.server?e():this.on("start",e)),t};Qb.prototype.enqueue=function(e,t){eo("enqueue",this.name,e.name),this.emit("enqueue",this.server?this.server.name:null,this.name,Date.now()),this.queue.push(e,t)};Qb.prototype.finish=function(e,t){eo("finish",this.name,e);let r=()=>{this.loaded||(eo("loaded",this.name),this.emit("loaded",this.server?this.server.name:null,this.name,Date.now()),this.loaded=!0,t(e))};if(e){this._promise&&(this._promise.reject(e),this._promise=null),r();return}let n=()=>{if(eo("check",this.name,this.queue.length(),this.queue.running(),this._promise),this.queue.length()===0&&this.queue.running()===0)if(this._promise){let s=()=>{eo("wrap"),queueMicrotask(n)};this._promise.resolve(),this._promise.promise.then(s,s),this._promise=null}else r();else eo("delayed",this.name),this.queue.drain=()=>{eo("drain",this.name),this.queue.drain=WZt,queueMicrotask(n)}};queueMicrotask(n),this.queue.resume()};function WZt(){}Qke.exports={Plugin:Qb}});var Xke=S((x3n,Wke)=>{"use strict";var{AVV_ERR_PLUGIN_NOT_VALID:ZX}=eU();function XZt(e){if(!(e&&(typeof e=="function"||typeof e.then=="function")))throw Array.isArray(e)?new ZX("array"):e===null?new ZX("null"):new ZX(typeof e)}Wke.exports={validatePlugin:XZt}});var Zke=S((w3n,Jke)=>{"use strict";function JZt(e){return e!==null&&typeof e=="object"&&typeof e.default=="function"}Jke.exports={isBundledOrTypescriptPlugin:JZt}});var r4e=S((N3n,t4e)=>{"use strict";var{debug:e4e}=tU(),{kThenifyDoNotWrap:eJ}=Yb();function ZZt(){if(this.booted){e4e("thenify returning undefined because we are already booted");return}if(this[eJ]){this[eJ]=!1;return}return e4e("thenify"),(e,t)=>this._loadRegistered().then(()=>(this[eJ]=!0,e(this._server)),t)}t4e.exports={thenify:ZZt}});var s4e=S((O3n,n4e)=>{"use strict";var{isPromiseLike:eer}=rU(),{kAvvio:ter}=Yb();function rer(e,t,r){let n=e.apply(e,t);eer(n)&&!n[ter]?n.then(()=>process.nextTick(r),s=>process.nextTick(r,s)):r&&process.nextTick(r)}n4e.exports={executeWithThenable:rer}});var f4e=S((D3n,rJ)=>{"use strict";var nU=Dke(),ner=require("node:events").EventEmitter,ser=require("node:util").inherits,{AVV_ERR_EXPOSE_ALREADY_DEFINED:SN,AVV_ERR_CALLBACK_NOT_FN:zb,AVV_ERR_ROOT_PLG_BOOTED:ier,AVV_ERR_READY_TIMEOUT:aer,AVV_ERR_ATTRIBUTE_ALREADY_DEFINED:oer}=eU(),{kAvvio:o4e,kIsOnCloseHandler:c4e}=Yb(),{TimeTree:cer}=qke(),{Plugin:u4e}=zke(),{debug:Wb}=tU(),{validatePlugin:uer}=Xke(),{isBundledOrTypescriptPlugin:ler}=Zke(),{isPromiseLike:der}=rU(),{thenify:l4e}=r4e(),{executeWithThenable:i4e}=s4e();function Ii(e,t,r){if(typeof e=="function"&&arguments.length===1&&(r=e,t={},e=null),typeof t=="function"&&(r=t,t={}),t=t||{},t.autostart=t.autostart!==!1,t.timeout=Number(t.timeout)||0,t.expose=t.expose||{},!new.target)return new Ii(e,t,r);this._server=e||this,this._opts=t,e&&this._expose(),this._current=[],this._error=null,this._lastUsed=null,this.setMaxListeners(0),r&&this.once("start",r),this.started=!1,this.booted=!1,this.pluginTree=new cer,this._readyQ=nU(this,d4e,1),this._readyQ.pause(),this._readyQ.drain=()=>{this.emit("start"),this._readyQ.drain=a4e},this._closeQ=nU(this,her,1),this._closeQ.pause(),this._closeQ.drain=()=>{this.emit("close"),this._closeQ.drain=a4e},this._doStart=null;let n=this;this._root=new u4e(nU(this,this._loadPluginNextTick,1),function(i,a,o){n._doStart=o,a.autostart&&n.start()},t,!1,0),this._trackPluginLoading(this._root),this._loadPlugin(this._root,s=>{Wb("root plugin ready");try{this.emit("preReady"),this._root=null}catch(i){s=s||this._error||i}if(s){if(this._error=s,this._readyQ.length()===0)throw s}else this.booted=!0;this._readyQ.resume()})}ser(Ii,ner);Ii.prototype.start=function(){return this.started=!0,process.nextTick(this._doStart),this};Ii.prototype.override=function(e,t,r){return e};Ii.prototype[o4e]=!0;Ii.prototype.use=function(e,t){return this._lastUsed=this._addPlugin(e,t,!1),this};Ii.prototype._loadRegistered=function(){let e=this._current[0];return!this.started&&!this.booted&&process.nextTick(()=>this._root.queue.resume()),e?e.loadedSoFar():Promise.resolve()};Object.defineProperty(Ii.prototype,"then",{get:l4e});Ii.prototype._addPlugin=function(e,t,r){if(ler(e)&&(e=e.default),uer(e),t=t||{},this.booted)throw new ier;let n=this._current[0],s=this._opts.timeout;if(!n.loaded&&n.timeout>0){let a=Date.now()-n.startTime;s=n.timeout-(a+3)}let i=new u4e(nU(this,this._loadPluginNextTick,1),e,t,r,s);if(this._trackPluginLoading(i),n.loaded)throw new Error(i.name,n.name);return n.enqueue(i,a=>{a&&(this._error=a)}),i};Ii.prototype._expose=function(){let t=this,r=t._server,{use:n="use",after:s="after",ready:i="ready",onClose:a="onClose",close:o="close"}=this._opts.expose;if(r[n])throw new SN(n,"use");if(r[n]=function(c,u){return t.use(c,u),this},r[s])throw new SN(s,"after");if(r[s]=function(c){return typeof c!="function"?t._loadRegistered():(t.after(tJ(c,this)),this)},r[i])throw new SN(i,"ready");if(r[i]=function(c){if(c&&typeof c!="function")throw new zb(i,typeof c);return t.ready(c?tJ(c,this):void 0)},r[a])throw new SN(a,"onClose");if(r[a]=function(c){if(typeof c!="function")throw new zb(a,typeof c);return t.onClose(per(c,this)),this},r[o])throw new SN(o,"close");if(r[o]=function(c){if(c&&typeof c!="function")throw new zb(o,typeof c);return c?(t.close(tJ(c,this)),this):t.close()},r.then)throw new oer("then");Object.defineProperty(r,"then",{get:l4e.bind(t)}),r[o4e]=!0};Ii.prototype.after=function(e){if(!e)return this._loadRegistered();this._addPlugin(t.bind(this),{},!0);function t(r,n,s){d4e.call(this,e,s)}return this};Ii.prototype.onClose=function(e){if(typeof e!="function")throw new zb("onClose",typeof e);return e[c4e]=!0,this._closeQ.unshift(e,t=>{t&&(this._error=t)}),this};Ii.prototype.close=function(e){let t;if(e){if(typeof e!="function")throw new zb("close",typeof e)}else t=new Promise(function(r,n){e=function(s){if(s)return n(s);r()}});return this.ready(()=>{this._error=null,this._closeQ.push(e),process.nextTick(this._closeQ.resume.bind(this._closeQ))}),t};Ii.prototype.ready=function(e){if(e){if(typeof e!="function")throw new zb("ready",typeof e);this._readyQ.push(e),queueMicrotask(this.start.bind(this));return}return new Promise((t,r)=>{this._readyQ.push(s),this.start();let n=this._current[0].server;function s(i,a,o){i?r(i):t(n),process.nextTick(o)}})};Ii.prototype._trackPluginLoading=function(e){let t=this._current[0]?.name||null;e.once("start",(r,n,s)=>{let i=this.pluginTree.start(t||null,n,s);e.once("loaded",(a,o,c)=>{this.pluginTree.stop(i,c)})})};Ii.prototype.prettyPrint=function(){return this.pluginTree.prettyPrint()};Ii.prototype.toJSON=function(){return this.pluginTree.toJSON()};Ii.prototype._loadPlugin=function(e,t){let r=this;if(der(e.func)){e.func.then(a=>{typeof a.default=="function"&&(a=a.default),e.func=a,this._loadPlugin(e,t)},t);return}let n=r._current[0];if(r._current.unshift(e),r._error&&!e.isAfter){Wb("skipping loading of plugin as instance errored and it is not an after",e.name),process.nextTick(i);return}let s=n&&n.server||r._server;if(!e.isAfter)try{s=r.override(s,e.func,e.options)}catch(a){return Wb("override errored",e.name),i(a)}e.exec(s,i);function i(a){e.finish(a,o=>{r._current.shift(),t(o)})}};Ii.prototype._loadPluginNextTick=function(e,t){process.nextTick(this._loadPlugin.bind(this),e,t)};function a4e(){}function d4e(e,t){let r=this._server,n=this._error;if(this._error=null,e.length===0)this._error=n,i4e(e,[],t);else if(e.length===1)i4e(e,[n],t);else if(this._opts.timeout===0){let s=i=>{this._error=i,t(this._error)};e.length===2?e(n,s):e(n,r,s)}else fer.call(this,e,n,r,t)}function fer(e,t,r,n){let s=e.unwrappedName??e.name;Wb("setting up ready timeout",s,this._opts.timeout);let i=setTimeout(()=>{Wb("timed out",s),i=null;let o=new aer(s);o.fn=e,this._error=o,n(o)},this._opts.timeout);e.length===2?e(t,a.bind(this)):e(t,r,a.bind(this));function a(o){i&&(clearTimeout(i),this._error=o,n(this._error))}}function her(e,t){let r=this._server,n=e[c4e];if(e.length===0||e.length===1){let s;n?s=e(r):s=e(this._error),s&&typeof s.then=="function"?(Wb("resolving close/onClose promise"),s.then(()=>process.nextTick(t),i=>process.nextTick(t,i))):process.nextTick(t)}else e.length===2?e(n?r:this._error,t):n?e(r,t):e(this._error,r,t)}function per(e,t){return r.bind(t);function r(n,s){let i;e.length===0?(i=e(),i&&i.then?i.then(function(){process.nextTick(s)},s):process.nextTick(s)):e.length===1?(i=e(this),i&&i.then?i.then(function(){process.nextTick(s)},s):process.nextTick(s)):e(this,s)}}function tJ(e,t){let r=n.bind(t);return r.unwrappedName=e.name,r;function n(s,i){let a;e?e.length===0?(a=e(),a&&a.then?a.then(function(){process.nextTick(i,s)},i):process.nextTick(i,s)):e.length===1?(a=e(s),a&&a.then?a.then(function(){process.nextTick(i)},i):process.nextTick(i)):e.length===2?e(s,i):e(s,this,i):process.nextTick(i)}}rJ.exports=Ii;rJ.exports.express=function(e){return Ii(e,{expose:{use:"load"}})}});var Sa=S((P3n,h4e)=>{"use strict";var mer={kAvvioBoot:Symbol("fastify.avvioBoot"),kChildren:Symbol("fastify.children"),kServerBindings:Symbol("fastify.serverBindings"),kBodyLimit:Symbol("fastify.bodyLimit"),kRoutePrefix:Symbol("fastify.routePrefix"),kLogLevel:Symbol("fastify.logLevel"),kLogSerializers:Symbol("fastify.logSerializers"),kHooks:Symbol("fastify.hooks"),kContentTypeParser:Symbol("fastify.contentTypeParser"),kState:Symbol("fastify.state"),kOptions:Symbol("fastify.options"),kDisableRequestLogging:Symbol("fastify.disableRequestLogging"),kPluginNameChain:Symbol("fastify.pluginNameChain"),kRouteContext:Symbol("fastify.context"),kPublicRouteContext:Symbol("fastify.routeOptions"),kGenReqId:Symbol("fastify.genReqId"),kSchemaController:Symbol("fastify.schemaController"),kSchemaHeaders:Symbol("headers-schema"),kSchemaParams:Symbol("params-schema"),kSchemaQuerystring:Symbol("querystring-schema"),kSchemaBody:Symbol("body-schema"),kSchemaResponse:Symbol("response-schema"),kSchemaErrorFormatter:Symbol("fastify.schemaErrorFormatter"),kSchemaVisited:Symbol("fastify.schemas.visited"),kRequest:Symbol("fastify.Request"),kRequestPayloadStream:Symbol("fastify.RequestPayloadStream"),kRequestAcceptVersion:Symbol("fastify.RequestAcceptVersion"),kRequestCacheValidateFns:Symbol("fastify.request.cache.validateFns"),kRequestOriginalUrl:Symbol("fastify.request.originalUrl"),kFourOhFour:Symbol("fastify.404"),kCanSetNotFoundHandler:Symbol("fastify.canSetNotFoundHandler"),kFourOhFourLevelInstance:Symbol("fastify.404LogLevelInstance"),kFourOhFourContext:Symbol("fastify.404ContextKey"),kDefaultJsonParse:Symbol("fastify.defaultJSONParse"),kReply:Symbol("fastify.Reply"),kReplySerializer:Symbol("fastify.reply.serializer"),kReplyIsError:Symbol("fastify.reply.isError"),kReplyHeaders:Symbol("fastify.reply.headers"),kReplyTrailers:Symbol("fastify.reply.trailers"),kReplyHasStatusCode:Symbol("fastify.reply.hasStatusCode"),kReplyHijacked:Symbol("fastify.reply.hijacked"),kReplyStartTime:Symbol("fastify.reply.startTime"),kReplyNextErrorHandler:Symbol("fastify.reply.nextErrorHandler"),kReplyEndTime:Symbol("fastify.reply.endTime"),kReplyErrorHandlerCalled:Symbol("fastify.reply.errorHandlerCalled"),kReplyIsRunningOnErrorHook:Symbol("fastify.reply.isRunningOnErrorHook"),kReplySerializerDefault:Symbol("fastify.replySerializerDefault"),kReplyCacheSerializeFns:Symbol("fastify.reply.cache.serializeFns"),kTestInternals:Symbol("fastify.testInternals"),kErrorHandler:Symbol("fastify.errorHandler"),kChildLoggerFactory:Symbol("fastify.childLoggerFactory"),kHasBeenDecorated:Symbol("fastify.hasBeenDecorated"),kKeepAliveConnections:Symbol("fastify.keepAliveConnections"),kRouteByFastify:Symbol("fastify.routeByFastify")};h4e.exports=mer});var iJ=S((L3n,sU)=>{"use strict";var{format:nJ}=require("node:util");function ger(e){return p4e({...e,name:"DeprecationWarning"})}function p4e({name:e,code:t,message:r,unlimited:n=!1}={}){if(!e)throw new Error("Warning name must not be empty");if(!t)throw new Error("Warning code must not be empty");if(!r)throw new Error("Warning message must not be empty");if(typeof n!="boolean")throw new Error("Warning opts.unlimited must be a boolean");t=t.toUpperCase();let s={[e]:function(a,o,c){i.emitted===!0&&i.unlimited!==!0||(i.emitted=!0,process.emitWarning(i.format(a,o,c),i.name,i.code))}};n&&(s={[e]:function(a,o,c){i.emitted=!0,process.emitWarning(i.format(a,o,c),i.name,i.code)}});let i=s[e];return i.emitted=!1,i.message=r,i.unlimited=n,i.code=t,i.format=function(a,o,c){let u;return a&&o&&c?u=nJ(r,a,o,c):a&&o?u=nJ(r,a,o):a?u=nJ(r,a):u=r,u},i}var sJ={createWarning:p4e,createDeprecation:ger};sU.exports=sJ;sU.exports.default=sJ;sU.exports.processWarning=sJ});var kp=S((M3n,g4e)=>{"use strict";var{createDeprecation:No,createWarning:m4e}=iJ(),_er=No({code:"FSTDEP005",message:'You are accessing the deprecated "request.connection" property. Use "request.socket" instead.'}),Aer=No({code:"FSTDEP006",message:"You are decorating Request/Reply with a reference type. This reference is shared amongst all requests. Use onRequest hook instead. Property: %s"}),Eer=No({code:"FSTDEP007",message:'You are trying to set a HEAD route using "exposeHeadRoute" route flag when a sibling route is already set. See documentation for more info.'}),yer=No({code:"FSTDEP008",message:'You are using route constraints via the route { version: "..." } option, use { constraints: { version: "..." } } option instead.'}),ver=No({code:"FSTDEP009",message:'You are using a custom route versioning strategy via the server { versioning: "..." } option, use { constraints: { version: "..." } } option instead.'}),Ser=No({code:"FSTDEP010",message:'Modifying the "reply.sent" property is deprecated. Use the "reply.hijack()" method instead.'}),Ter=No({code:"FSTDEP011",message:'Variadic listen method is deprecated. Please use ".listen(optionsObject)" instead. The variadic signature will be removed in `fastify@5`.'}),ber=No({code:"FSTDEP012",message:'request.context property access is deprecated. Please use "request.routeOptions.config" or "request.routeOptions.schema" instead for accessing Route settings. The "request.context" will be removed in `fastify@5`.'}),Ier=No({code:"FSTDEP013",message:'Direct return of "trailers" function is deprecated. Please use "callback" or "async-await" for return value. The support of direct return will removed in `fastify@5`.'}),Rer=No({code:"FSTDEP014",message:"You are trying to set/access the default route. This property is deprecated. Please, use setNotFoundHandler if you want to custom a 404 handler or the wildcard (*) to match all routes."}),Cer=No({code:"FSTDEP015",message:'You are accessing the deprecated "request.routeSchema" property. Use "request.routeOptions.schema" instead. Property "req.routeSchema" will be removed in `fastify@5`.'}),xer=No({code:"FSTDEP016",message:'You are accessing the deprecated "request.routeConfig" property. Use "request.routeOptions.config" instead. Property "req.routeConfig" will be removed in `fastify@5`.'}),wer=No({code:"FSTDEP017",message:'You are accessing the deprecated "request.routerPath" property. Use "request.routeOptions.url" instead. Property "req.routerPath" will be removed in `fastify@5`.'}),Ner=No({code:"FSTDEP018",message:'You are accessing the deprecated "request.routerMethod" property. Use "request.routeOptions.method" instead. Property "req.routerMethod" will be removed in `fastify@5`.'}),Oer=No({code:"FSTDEP019",message:'reply.context property access is deprecated. Please use "request.routeOptions.config" or "request.routeOptions.schema" instead for accessing Route settings. The "reply.context" will be removed in `fastify@5`.'}),Der=No({code:"FSTDEP020",message:'You are using the deprecated "reply.getResponseTime()"" method. Use the "request.elapsedTime" property instead. Method "reply.getResponseTime()" will be removed in `fastify@5`.'}),Per=m4e({name:"FastifyWarning",code:"FSTWRN001",message:"The %s schema for %s: %s is missing. This may indicate the schema is not well specified.",unlimited:!0}),Ler=m4e({name:"FastifyWarning",code:"FSTWRN002",message:"The %s plugin being registered mixes async and callback styles, which will result in an error in `fastify@5`",unlimited:!0});g4e.exports={FSTDEP005:_er,FSTDEP006:Aer,FSTDEP007:Eer,FSTDEP008:yer,FSTDEP009:ver,FSTDEP010:Ser,FSTDEP011:Ter,FSTDEP012:ber,FSTDEP013:Ier,FSTDEP014:Rer,FSTDEP015:Cer,FSTDEP016:xer,FSTDEP017:wer,FSTDEP018:Ner,FSTDEP019:Oer,FSTDEP020:Der,FSTWRN001:Per,FSTWRN002:Ler}});var Oo=S((k3n,iU)=>{"use strict";var nt=zX(),Xb={FST_ERR_NOT_FOUND:nt("FST_ERR_NOT_FOUND","Not Found",404),FST_ERR_OPTIONS_NOT_OBJ:nt("FST_ERR_OPTIONS_NOT_OBJ","Options must be an object",500,TypeError),FST_ERR_QSP_NOT_FN:nt("FST_ERR_QSP_NOT_FN","querystringParser option should be a function, instead got '%s'",500,TypeError),FST_ERR_SCHEMA_CONTROLLER_BUCKET_OPT_NOT_FN:nt("FST_ERR_SCHEMA_CONTROLLER_BUCKET_OPT_NOT_FN","schemaController.bucket option should be a function, instead got '%s'",500,TypeError),FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN:nt("FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN","schemaErrorFormatter option should be a non async function. Instead got '%s'.",500,TypeError),FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_OBJ:nt("FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_OBJ","ajv.customOptions option should be an object, instead got '%s'",500,TypeError),FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_ARR:nt("FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_ARR","ajv.plugins option should be an array, instead got '%s'",500,TypeError),FST_ERR_VERSION_CONSTRAINT_NOT_STR:nt("FST_ERR_VERSION_CONSTRAINT_NOT_STR","Version constraint should be a string.",500,TypeError),FST_ERR_VALIDATION:nt("FST_ERR_VALIDATION","%s",400),FST_ERR_LISTEN_OPTIONS_INVALID:nt("FST_ERR_LISTEN_OPTIONS_INVALID","Invalid listen options: '%s'",500,TypeError),FST_ERR_CTP_ALREADY_PRESENT:nt("FST_ERR_CTP_ALREADY_PRESENT","Content type parser '%s' already present."),FST_ERR_CTP_INVALID_TYPE:nt("FST_ERR_CTP_INVALID_TYPE","The content type should be a string or a RegExp",500,TypeError),FST_ERR_CTP_EMPTY_TYPE:nt("FST_ERR_CTP_EMPTY_TYPE","The content type cannot be an empty string",500,TypeError),FST_ERR_CTP_INVALID_HANDLER:nt("FST_ERR_CTP_INVALID_HANDLER","The content type handler should be a function",500,TypeError),FST_ERR_CTP_INVALID_PARSE_TYPE:nt("FST_ERR_CTP_INVALID_PARSE_TYPE","The body parser can only parse your data as 'string' or 'buffer', you asked '%s' which is not supported.",500,TypeError),FST_ERR_CTP_BODY_TOO_LARGE:nt("FST_ERR_CTP_BODY_TOO_LARGE","Request body is too large",413,RangeError),FST_ERR_CTP_INVALID_MEDIA_TYPE:nt("FST_ERR_CTP_INVALID_MEDIA_TYPE","Unsupported Media Type: %s",415),FST_ERR_CTP_INVALID_CONTENT_LENGTH:nt("FST_ERR_CTP_INVALID_CONTENT_LENGTH","Request body size did not match Content-Length",400,RangeError),FST_ERR_CTP_EMPTY_JSON_BODY:nt("FST_ERR_CTP_EMPTY_JSON_BODY","Body cannot be empty when content-type is set to 'application/json'",400),FST_ERR_CTP_INSTANCE_ALREADY_STARTED:nt("FST_ERR_CTP_INSTANCE_ALREADY_STARTED",'Cannot call "%s" when fastify instance is already started!',400),FST_ERR_DEC_ALREADY_PRESENT:nt("FST_ERR_DEC_ALREADY_PRESENT","The decorator '%s' has already been added!"),FST_ERR_DEC_DEPENDENCY_INVALID_TYPE:nt("FST_ERR_DEC_DEPENDENCY_INVALID_TYPE","The dependencies of decorator '%s' must be of type Array.",500,TypeError),FST_ERR_DEC_MISSING_DEPENDENCY:nt("FST_ERR_DEC_MISSING_DEPENDENCY","The decorator is missing dependency '%s'."),FST_ERR_DEC_AFTER_START:nt("FST_ERR_DEC_AFTER_START","The decorator '%s' has been added after start!"),FST_ERR_HOOK_INVALID_TYPE:nt("FST_ERR_HOOK_INVALID_TYPE","The hook name must be a string",500,TypeError),FST_ERR_HOOK_INVALID_HANDLER:nt("FST_ERR_HOOK_INVALID_HANDLER","%s hook should be a function, instead got %s",500,TypeError),FST_ERR_HOOK_INVALID_ASYNC_HANDLER:nt("FST_ERR_HOOK_INVALID_ASYNC_HANDLER","Async function has too many arguments. Async hooks should not use the 'done' argument.",500,TypeError),FST_ERR_HOOK_NOT_SUPPORTED:nt("FST_ERR_HOOK_NOT_SUPPORTED","%s hook not supported!",500,TypeError),FST_ERR_MISSING_MIDDLEWARE:nt("FST_ERR_MISSING_MIDDLEWARE","You must register a plugin for handling middlewares, visit fastify.dev/docs/latest/Reference/Middleware/ for more info.",500),FST_ERR_HOOK_TIMEOUT:nt("FST_ERR_HOOK_TIMEOUT","A callback for '%s' hook timed out. You may have forgotten to call 'done' function or to resolve a Promise"),FST_ERR_LOG_INVALID_DESTINATION:nt("FST_ERR_LOG_INVALID_DESTINATION","Cannot specify both logger.stream and logger.file options"),FST_ERR_LOG_INVALID_LOGGER:nt("FST_ERR_LOG_INVALID_LOGGER","Invalid logger object provided. The logger instance should have these functions(s): '%s'.",500,TypeError),FST_ERR_REP_INVALID_PAYLOAD_TYPE:nt("FST_ERR_REP_INVALID_PAYLOAD_TYPE","Attempted to send payload of invalid type '%s'. Expected a string or Buffer.",500,TypeError),FST_ERR_REP_RESPONSE_BODY_CONSUMED:nt("FST_ERR_REP_RESPONSE_BODY_CONSUMED","Response.body is already consumed."),FST_ERR_REP_ALREADY_SENT:nt("FST_ERR_REP_ALREADY_SENT",'Reply was already sent, did you forget to "return reply" in "%s" (%s)?'),FST_ERR_REP_SENT_VALUE:nt("FST_ERR_REP_SENT_VALUE","The only possible value for reply.sent is true.",500,TypeError),FST_ERR_SEND_INSIDE_ONERR:nt("FST_ERR_SEND_INSIDE_ONERR","You cannot use `send` inside the `onError` hook"),FST_ERR_SEND_UNDEFINED_ERR:nt("FST_ERR_SEND_UNDEFINED_ERR","Undefined error has occurred"),FST_ERR_BAD_STATUS_CODE:nt("FST_ERR_BAD_STATUS_CODE","Called reply with an invalid status code: %s"),FST_ERR_BAD_TRAILER_NAME:nt("FST_ERR_BAD_TRAILER_NAME","Called reply.trailer with an invalid header name: %s"),FST_ERR_BAD_TRAILER_VALUE:nt("FST_ERR_BAD_TRAILER_VALUE","Called reply.trailer('%s', fn) with an invalid type: %s. Expected a function."),FST_ERR_FAILED_ERROR_SERIALIZATION:nt("FST_ERR_FAILED_ERROR_SERIALIZATION","Failed to serialize an error. Error: %s. Original error: %s"),FST_ERR_MISSING_SERIALIZATION_FN:nt("FST_ERR_MISSING_SERIALIZATION_FN",'Missing serialization function. Key "%s"'),FST_ERR_MISSING_CONTENTTYPE_SERIALIZATION_FN:nt("FST_ERR_MISSING_CONTENTTYPE_SERIALIZATION_FN",'Missing serialization function. Key "%s:%s"'),FST_ERR_REQ_INVALID_VALIDATION_INVOCATION:nt("FST_ERR_REQ_INVALID_VALIDATION_INVOCATION",'Invalid validation invocation. Missing validation function for HTTP part "%s" nor schema provided.'),FST_ERR_SCH_MISSING_ID:nt("FST_ERR_SCH_MISSING_ID","Missing schema $id property"),FST_ERR_SCH_ALREADY_PRESENT:nt("FST_ERR_SCH_ALREADY_PRESENT","Schema with id '%s' already declared!"),FST_ERR_SCH_CONTENT_MISSING_SCHEMA:nt("FST_ERR_SCH_CONTENT_MISSING_SCHEMA","Schema is missing for the content type '%s'"),FST_ERR_SCH_DUPLICATE:nt("FST_ERR_SCH_DUPLICATE","Schema with '%s' already present!"),FST_ERR_SCH_VALIDATION_BUILD:nt("FST_ERR_SCH_VALIDATION_BUILD","Failed building the validation schema for %s: %s, due to error %s"),FST_ERR_SCH_SERIALIZATION_BUILD:nt("FST_ERR_SCH_SERIALIZATION_BUILD","Failed building the serialization schema for %s: %s, due to error %s"),FST_ERR_SCH_RESPONSE_SCHEMA_NOT_NESTED_2XX:nt("FST_ERR_SCH_RESPONSE_SCHEMA_NOT_NESTED_2XX",'response schemas should be nested under a valid status code, e.g { 2xx: { type: "object" } }'),FST_ERR_HTTP2_INVALID_VERSION:nt("FST_ERR_HTTP2_INVALID_VERSION","HTTP2 is available only from node >= 8.8.1"),FST_ERR_INIT_OPTS_INVALID:nt("FST_ERR_INIT_OPTS_INVALID","Invalid initialization options: '%s'"),FST_ERR_FORCE_CLOSE_CONNECTIONS_IDLE_NOT_AVAILABLE:nt("FST_ERR_FORCE_CLOSE_CONNECTIONS_IDLE_NOT_AVAILABLE","Cannot set forceCloseConnections to 'idle' as your HTTP server does not support closeIdleConnections method"),FST_ERR_DUPLICATED_ROUTE:nt("FST_ERR_DUPLICATED_ROUTE","Method '%s' already declared for route '%s'"),FST_ERR_BAD_URL:nt("FST_ERR_BAD_URL","'%s' is not a valid url component",400,URIError),FST_ERR_ASYNC_CONSTRAINT:nt("FST_ERR_ASYNC_CONSTRAINT","Unexpected error from async constraint",500),FST_ERR_DEFAULT_ROUTE_INVALID_TYPE:nt("FST_ERR_DEFAULT_ROUTE_INVALID_TYPE","The defaultRoute type should be a function",500,TypeError),FST_ERR_INVALID_URL:nt("FST_ERR_INVALID_URL","URL must be a string. Received '%s'",400,TypeError),FST_ERR_ROUTE_OPTIONS_NOT_OBJ:nt("FST_ERR_ROUTE_OPTIONS_NOT_OBJ",'Options for "%s:%s" route must be an object',500,TypeError),FST_ERR_ROUTE_DUPLICATED_HANDLER:nt("FST_ERR_ROUTE_DUPLICATED_HANDLER",'Duplicate handler for "%s:%s" route is not allowed!',500),FST_ERR_ROUTE_HANDLER_NOT_FN:nt("FST_ERR_ROUTE_HANDLER_NOT_FN","Error Handler for %s:%s route, if defined, must be a function",500,TypeError),FST_ERR_ROUTE_MISSING_HANDLER:nt("FST_ERR_ROUTE_MISSING_HANDLER",'Missing handler function for "%s:%s" route.',500),FST_ERR_ROUTE_METHOD_INVALID:nt("FST_ERR_ROUTE_METHOD_INVALID","Provided method is invalid!",500,TypeError),FST_ERR_ROUTE_METHOD_NOT_SUPPORTED:nt("FST_ERR_ROUTE_METHOD_NOT_SUPPORTED","%s method is not supported.",500),FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED:nt("FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED","Body validation schema for %s:%s route is not supported!",500),FST_ERR_ROUTE_BODY_LIMIT_OPTION_NOT_INT:nt("FST_ERR_ROUTE_BODY_LIMIT_OPTION_NOT_INT","'bodyLimit' option must be an integer > 0. Got '%s'",500,TypeError),FST_ERR_ROUTE_REWRITE_NOT_STR:nt("FST_ERR_ROUTE_REWRITE_NOT_STR",'Rewrite url for "%s" needs to be of type "string" but received "%s"',500,TypeError),FST_ERR_REOPENED_CLOSE_SERVER:nt("FST_ERR_REOPENED_CLOSE_SERVER","Fastify has already been closed and cannot be reopened"),FST_ERR_REOPENED_SERVER:nt("FST_ERR_REOPENED_SERVER","Fastify is already listening"),FST_ERR_INSTANCE_ALREADY_LISTENING:nt("FST_ERR_INSTANCE_ALREADY_LISTENING","Fastify instance is already listening. %s"),FST_ERR_PLUGIN_VERSION_MISMATCH:nt("FST_ERR_PLUGIN_VERSION_MISMATCH","fastify-plugin: %s - expected '%s' fastify version, '%s' is installed"),FST_ERR_PLUGIN_NOT_PRESENT_IN_INSTANCE:nt("FST_ERR_PLUGIN_NOT_PRESENT_IN_INSTANCE","The decorator '%s'%s is not present in %s"),FST_ERR_PLUGIN_CALLBACK_NOT_FN:nt("FST_ERR_PLUGIN_CALLBACK_NOT_FN","fastify-plugin: %s",500,TypeError),FST_ERR_PLUGIN_NOT_VALID:nt("FST_ERR_PLUGIN_NOT_VALID","fastify-plugin: %s"),FST_ERR_ROOT_PLG_BOOTED:nt("FST_ERR_ROOT_PLG_BOOTED","fastify-plugin: %s"),FST_ERR_PARENT_PLUGIN_BOOTED:nt("FST_ERR_PARENT_PLUGIN_BOOTED","fastify-plugin: %s"),FST_ERR_PLUGIN_TIMEOUT:nt("FST_ERR_PLUGIN_TIMEOUT","fastify-plugin: %s")};function Mer(e,t){return t.cause=e,t}iU.exports=Xb;iU.exports.appendStackTrace=Mer;iU.exports.AVVIO_ERRORS_MAP={AVV_ERR_CALLBACK_NOT_FN:Xb.FST_ERR_PLUGIN_CALLBACK_NOT_FN,AVV_ERR_PLUGIN_NOT_VALID:Xb.FST_ERR_PLUGIN_NOT_VALID,AVV_ERR_ROOT_PLG_BOOTED:Xb.FST_ERR_ROOT_PLG_BOOTED,AVV_ERR_PARENT_PLG_LOADED:Xb.FST_ERR_PARENT_PLUGIN_BOOTED,AVV_ERR_READY_TIMEOUT:Xb.FST_ERR_PLUGIN_TIMEOUT}});var T_=S((B3n,I4e)=>{"use strict";var ker=["onRoute","onRegister","onReady","onListen","preClose","onClose"],y4e=["onTimeout","onRequest","preParsing","preValidation","preSerialization","preHandler","onSend","onResponse","onError","onRequestAbort"],Ber=y4e.concat(ker),{FST_ERR_HOOK_INVALID_TYPE:Uer,FST_ERR_HOOK_INVALID_HANDLER:Fer,FST_ERR_SEND_UNDEFINED_ERR:aU,FST_ERR_HOOK_TIMEOUT:$er,FST_ERR_HOOK_NOT_SUPPORTED:qer,AVVIO_ERRORS_MAP:_4e,appendStackTrace:A4e}=Oo(),{kChildren:TN,kHooks:v4e,kRequestPayloadStream:E4e}=Sa();function bN(){this.onRequest=[],this.preParsing=[],this.preValidation=[],this.preSerialization=[],this.preHandler=[],this.onResponse=[],this.onSend=[],this.onError=[],this.onRoute=[],this.onRegister=[],this.onReady=[],this.onListen=[],this.onTimeout=[],this.onRequestAbort=[],this.preClose=[]}bN.prototype=Object.create(null);bN.prototype.validate=function(e,t){if(typeof e!="string")throw new Uer;if(Array.isArray(this[e])===!1)throw new qer(e);if(typeof t!="function")throw new Fer(e,Object.prototype.toString.call(t))};bN.prototype.add=function(e,t){this.validate(e,t),this[e].push(t)};function Her(e){let t=new bN;return t.onRequest=e.onRequest.slice(),t.preParsing=e.preParsing.slice(),t.preValidation=e.preValidation.slice(),t.preSerialization=e.preSerialization.slice(),t.preHandler=e.preHandler.slice(),t.onSend=e.onSend.slice(),t.onResponse=e.onResponse.slice(),t.onError=e.onError.slice(),t.onRoute=e.onRoute.slice(),t.onRegister=e.onRegister.slice(),t.onTimeout=e.onTimeout.slice(),t.onRequestAbort=e.onRequestAbort.slice(),t.onReady=[],t.onListen=[],t.preClose=[],t}function S4e(e,t,r,n){let s=r[v4e][e],i=0,a=0;c();function o(l){if(l){l.code==="AVV_ERR_READY_TIMEOUT"?l=A4e(l,new $er(e)):l=_4e[l.code]!=null?A4e(l,new _4e[l.code](l.message)):l,n(l);return}n()}function c(l){if(l){o(l);return}if(i===s.length&&a===r[TN].length){i===0&&a===0?o():t(function(f,h){o(f),h(f)});return}if(i===s.length&&a{"use strict";var Jer=require("node:http"),Zer=require("node:https"),etr=require("node:dns"),{FSTDEP011:R4e}=kp(),{kState:Do,kOptions:ttr,kServerBindings:rtr}=Sa(),{onListenHookRunner:oU}=T_(),{FST_ERR_HTTP2_INVALID_VERSION:ntr,FST_ERR_REOPENED_CLOSE_SERVER:w4e,FST_ERR_REOPENED_SERVER:N4e,FST_ERR_LISTEN_OPTIONS_INVALID:str}=Oo();oJ.exports.createServer=itr;oJ.exports.compileValidateHTTPVersion=otr;function O4e(e){return`Server listening at ${e}`}function itr(e,t){let r=P4e(e,t);function n(s,...i){let a=i.slice(-1).pop(),o=Object.prototype.toString.call(arguments[0]);if(arguments.length===0)s=aJ([]);else if(arguments.length>0&&o!=="[object Object]"&&o!=="[object Function]")R4e(),s=aJ(Array.from(arguments)),a=s.cb;else if(i.length>1){R4e();let u=s.path?[s.path]:[s.port??0,s.host??"localhost"];Object.assign(s,aJ([...u,...i]))}else s.cb=a;if(s.signal){if(typeof s.signal.on!="function"&&typeof s.signal.addEventListener!="function")throw new str("Invalid options.signal");if(s.signal.aborted)this.close();else{let u=()=>{this.close()};s.signal.addEventListener("abort",u,{once:!0})}}let c;if(s.path==null?c=s.host??"localhost":c=s.host,Object.prototype.hasOwnProperty.call(s,"host")===!1&&(s.host=c),c==="localhost"?s.cb=(u,l)=>{if(u){a(u,l);return}C4e.call(this,r,t,e,s,()=>{this[Do].listening=!0,a(null,l),oU(this)})}:s.cb=(u,l)=>{if(u){a(u,l);return}this[Do].listening=!0,a(null,l),oU(this)},a===void 0)return atr.call(this,r,s).then(l=>new Promise((d,f)=>{c==="localhost"?C4e.call(this,r,t,e,s,()=>{this[Do].listening=!0,d(l),oU(this)}):(d(l),oU(this))}));this.ready(D4e.call(this,r,s))}return{server:r,listen:n}}function C4e(e,t,r,n,s){this[Do].listening=!1,etr.lookup(n.host,{all:!0},(i,a)=>{if(i){s();return}let o=e.listening&&r.serverFactory,c=0,u=0;if(!o){let d=e.address();for(let f of a)if(f.address!==d.address){c++;let h=Object.assign({},n,{host:f.address,port:d.port,cb:g=>{u++,g||this[rtr].push(p),u===c&&s()}}),p=P4e(r,t),m=()=>{p.close(()=>{}),r.forceCloseConnections==="idle"?p.closeIdleConnections():typeof p.closeAllConnections=="function"&&r.forceCloseConnections&&p.closeAllConnections()};p.on("upgrade",e.emit.bind(e,"upgrade")),e.on("unref",m),e.on("close",m),e.on("error",m),this[Do].listening=!1,D4e.call(this,p,h)()}}if(c===0){s();return}let l=e.unref;e.unref=function(){l.call(e),e.emit("unref")}})}function D4e(e,t){let r=n=>{if(e.removeListener("error",r),n)this[Do].listening=!1,t.cb(n,null);else{let s=L4e.call(this,e,t.listenTextResolver||O4e);t.cb(null,s)}};return n=>{if(n!=null)return t.cb(n);if(this[Do].listening&&this[Do].closing)return t.cb(new w4e,null);if(this[Do].listening)return t.cb(new N4e,null);e.once("error",r),this[Do].closing||(e.listen(t,r),this[Do].listening=!0)}}function atr(e,t){return this[Do].listening&&this[Do].closing?Promise.reject(new w4e):this[Do].listening?Promise.reject(new N4e):this.ready().then(()=>{let r,n=new Promise((i,a)=>{r=o=>{this[Do].listening=!1,a(o)},e.once("error",r)}),s=new Promise((i,a)=>{e.listen(t,()=>{e.removeListener("error",r),i(L4e.call(this,e,t.listenTextResolver||O4e))}),this[Do].listening=!0});return Promise.race([n,s])})}function otr(e){let t=!1,r=new Map;return e.serverFactory&&(t=!0),e.http2?(r.set("2.0",!0),e.https&&e.https.allowHTTP1===!0&&(r.set("1.1",!0),r.set("1.0",!0))):(r.set("1.1",!0),r.set("1.0",!0)),function(s){return t||r.has(s)}}function P4e(e,t){let r=null,n=e.https===!0?{}:e.https;return e.serverFactory?r=e.serverFactory(t,e):e.http2?(typeof n=="object"?r=x4e().createSecureServer(n,t):r=x4e().createServer(t),r.on("session",utr(e.http2SessionTimeout))):(n?r=Zer.createServer(n,t):r=Jer.createServer(e.http,t),r.keepAliveTimeout=e.keepAliveTimeout,r.requestTimeout=e.requestTimeout,e.maxRequestsPerSocket>0&&(r.maxRequestsPerSocket=e.maxRequestsPerSocket)),e.serverFactory||r.setTimeout(e.connectionTimeout),r}function aJ(e){if(e.length===0)return{port:0,host:"localhost"};let r={cb:typeof e[e.length-1]=="function"?e.pop():void 0},n=e[0],s=e.length,i=e[s-1];return typeof n=="string"&&isNaN(n)?(r.path=n,r.backlog=s>1?i:void 0):(r.port=s>=1&&Number.isInteger(n)?n:ctr(n),r.host=s>=2&&e[1]?e[1]:"localhost",r.backlog=s>=3?e[2]:void 0),r}function ctr(e){let t=Number(e);return t>=0&&!Number.isNaN(t)&&Number.isInteger(t)?t:0}function L4e(e,t){let r=e.address(),n=typeof r=="string";n||(r.address.indexOf(":")===-1?r=r.address+":"+r.port:r="["+r.address+"]:"+r.port),r=(n?"":"http"+(this[ttr].https?"s":"")+"://")+r;let s=t(r);return this.log.info(s),r}function x4e(){try{return require("node:http2")}catch{throw new ntr}}function utr(e){return function(t){t.setTimeout(e,ltr)}}function ltr(){this.close()}});var dJ=S((F3n,B4e)=>{"use strict";var{kSchemaHeaders:lU,kSchemaParams:cJ,kSchemaQuerystring:uJ,kSchemaBody:lJ,kSchemaResponse:k4e}=Sa(),dtr=/^[1-5]{1}[0-9]{2}$|^[1-5]xx$|^default$/,{FST_ERR_SCH_RESPONSE_SCHEMA_NOT_NESTED_2XX:ftr}=Oo(),{FSTWRN001:cU}=kp();function htr(e,t){if(!e.schema||!e.schema.response)return;let{method:r,url:n}=e.config||{};e[k4e]=Object.keys(e.schema.response).reduce(function(s,i){let a=e.schema.response[i];if(i=i.toLowerCase(),!dtr.exec(i))throw new ftr;if(a.content){let o={};for(let c of Object.keys(a.content)){let u=a.content[c].schema;o[c]=t({schema:u,url:n,method:r,httpStatus:i,contentType:c})}s[i]=o}else s[i]=t({schema:a,url:n,method:r,httpStatus:i});return s},{})}function ptr(e,t,r){let{schema:n}=e;if(!n)return;let{method:s,url:i}=e.config||{},a=n.headers;if(a&&(r||Object.getPrototypeOf(a)!==Object.prototype))e[lU]=t({schema:a,method:s,url:i,httpPart:"headers"});else if(a){let o={};Object.keys(a).forEach(c=>{o[c]=a[c]}),o.required instanceof Array&&(o.required=o.required.map(c=>c.toLowerCase())),a.properties&&(o.properties={},Object.keys(a.properties).forEach(c=>{o.properties[c.toLowerCase()]=a.properties[c]})),e[lU]=t({schema:o,method:s,url:i,httpPart:"headers"})}else Object.prototype.hasOwnProperty.call(n,"headers")&&cU("headers",s,i);n.body?e[lJ]=t({schema:n.body,method:s,url:i,httpPart:"body"}):Object.prototype.hasOwnProperty.call(n,"body")&&cU("body",s,i),n.querystring?e[uJ]=t({schema:n.querystring,method:s,url:i,httpPart:"querystring"}):Object.prototype.hasOwnProperty.call(n,"querystring")&&cU("querystring",s,i),n.params?e[cJ]=t({schema:n.params,method:s,url:i,httpPart:"params"}):Object.prototype.hasOwnProperty.call(n,"params")&&cU("params",s,i)}function uU(e,t,r){let n=t[r]===void 0,s=e&&e(n?null:t[r]);if(s?.then)return s.then(a=>i(a)).catch(a=>a);return i(s);function i(a){return a===!1?e.errors:a&&a.error?a.error:(a&&a.value&&(t[r]=a.value),!1)}}function dU(e,t,r){let n=r===void 0;if(n||!r.skipParams){let i=uU(e[cJ],t,"params");if(i)return typeof i.then!="function"?b_(i,"params",e.schemaErrorFormatter):mtr(i,e,t)}if(n||!r.skipBody){let i=uU(e[lJ],t,"body");if(i)return typeof i.then!="function"?b_(i,"body",e.schemaErrorFormatter):gtr(i,e,t)}if(n||!r.skipQuery){let i=uU(e[uJ],t,"query");if(i)return typeof i.then!="function"?b_(i,"querystring",e.schemaErrorFormatter):_tr(i,e,t)}let s=uU(e[lU],t,"headers");return s?typeof s.then!="function"?b_(s,"headers",e.schemaErrorFormatter):Atr(s,e,t):!1}function mtr(e,t,r){return e.then(n=>n?b_(n,"params",t.schemaErrorFormatter):dU(t,r,{skipParams:!0}))}function gtr(e,t,r){return e.then(n=>n?b_(n,"body",t.schemaErrorFormatter):dU(t,r,{skipParams:!0,skipBody:!0}))}function _tr(e,t,r){return e.then(n=>n?b_(n,"querystring",t.schemaErrorFormatter):dU(t,r,{skipParams:!0,skipBody:!0,skipQuery:!0}))}function Atr(e,t,r){return e.then(n=>n?b_(n,"headers",t.schemaErrorFormatter):!1)}function b_(e,t,r){if(e instanceof Error)return e.statusCode=e.statusCode||400,e.code=e.code||"FST_ERR_VALIDATION",e.validationContext=e.validationContext||t,e;let n=r(e,t);return n.statusCode=n.statusCode||400,n.code=n.code||"FST_ERR_VALIDATION",n.validation=e,n.validationContext=t,n}B4e.exports={symbols:{bodySchema:lJ,querystringSchema:uJ,responseSchema:k4e,paramsSchema:cJ,headersSchema:lU},compileSchemasForValidation:ptr,compileSchemasForSerialization:htr,validate:dU}});var fJ=S(($3n,F4e)=>{"use strict";var{kReplyIsError:U4e,kReplyHijacked:Etr}=Sa();function ytr(e,t){e.then(function(r){if(t[Etr]!==!0&&(r!==void 0||t.sent===!1&&t.raw.headersSent===!1&&t.request.raw.aborted===!1))try{t.send(r)}catch(n){t[U4e]=!0,t.send(n)}},function(r){if(t.sent===!0){t.log.error({err:r},"Promise errored, but reply.sent = true was set");return}t[U4e]=!0;try{t.send(r)}catch(n){t.send(n)}})}F4e.exports=ytr});var gJ=S((q3n,mJ)=>{"use strict";var{validate:vtr}=dJ(),{preValidationHookRunner:Str,preHandlerHookRunner:Ttr}=T_(),btr=fJ(),{kReplyIsError:fU,kRouteContext:R_}=Sa();function Itr(e,t,r){if(r.sent===!0)return;if(e!=null){r[fU]=!0,r.send(e);return}let n=t.raw.method,s=t.headers,i=t[R_];if(n==="GET"||n==="HEAD"){I_(t,r);return}let a=s["content-type"];if(n==="POST"||n==="PUT"||n==="PATCH"||n==="TRACE"||n==="SEARCH"){a===void 0?s["transfer-encoding"]===void 0&&(s["content-length"]==="0"||s["content-length"]===void 0)?I_(t,r):i.contentTypeParser.run("",I_,t,r):i.contentTypeParser.run(a,I_,t,r);return}if(n==="OPTIONS"||n==="DELETE"){a!==void 0&&(s["transfer-encoding"]!==void 0||s["content-length"]!==void 0)?i.contentTypeParser.run(a,I_,t,r):I_(t,r);return}I_(t,r)}function I_(e,t){try{e[R_].preValidation!==null?Str(e[R_].preValidation,e,t,hJ):hJ(null,e,t)}catch(r){hJ(r,e,t)}}function hJ(e,t,r){if(r.sent===!0)return;if(e!=null){r[fU]=!0,r.send(e);return}let n=vtr(r[R_],t);if(n&&typeof n.then=="function"||!1){let i=$4e.bind(null,t,r);n.then(i,i)}else $4e(t,r,n)}function $4e(e,t,r){if(r){if(t[R_].attachValidation===!1){t.send(r);return}t.request.validationError=r}e[R_].preHandler!==null?Ttr(e[R_].preHandler,e,t,pJ):pJ(null,e,t)}function pJ(e,t,r){if(r.sent)return;if(e!=null){r[fU]=!0,r.send(e);return}let n;try{n=t[R_].handler(t,r)}catch(s){r[fU]=!0,r.send(s);return}n!==void 0&&(n!==null&&typeof n.then=="function"?btr(n,r):r.send(n))}mJ.exports=Itr;mJ.exports[Symbol.for("internals")]={handler:I_,preHandlerCallback:pJ}});var H4e=S((H3n,q4e)=>{"use strict";function Zb(){}var Rtr={fatal:Zb,error:Zb,warn:Zb,info:Zb,debug:Zb,trace:Zb};Object.defineProperty(q4e,"exports",{get(){return Object.create(Rtr)}})});var AJ=S((V3n,K4e)=>{"use strict";var RN=e=>e&&typeof e.message=="string",_J=e=>{if(!e)return;let t=e.cause;if(typeof t=="function"){let r=e.cause();return RN(r)?r:void 0}else return RN(t)?t:void 0},V4e=(e,t)=>{if(!RN(e))return"";let r=e.stack||"";if(t.has(e))return r+` +causes have become circular...`;let n=_J(e);return n?(t.add(e),r+` +caused by: `+V4e(n,t)):r},Ctr=e=>V4e(e,new Set),j4e=(e,t,r)=>{if(!RN(e))return"";let n=r?"":e.message||"";if(t.has(e))return n+": ...";let s=_J(e);if(s){t.add(e);let i=typeof e.cause=="function";return n+(i?"":": ")+j4e(s,t,i)}else return n},xtr=e=>j4e(e,new Set);K4e.exports={isErrorLike:RN,getErrorCause:_J,stackWithCauses:Ctr,messageWithCauses:xtr}});var EJ=S((j3n,Y4e)=>{"use strict";var wtr=Symbol("circular-ref-tag"),hU=Symbol("pino-raw-err-ref"),G4e=Object.create({},{type:{enumerable:!0,writable:!0,value:void 0},message:{enumerable:!0,writable:!0,value:void 0},stack:{enumerable:!0,writable:!0,value:void 0},aggregateErrors:{enumerable:!0,writable:!0,value:void 0},raw:{enumerable:!1,get:function(){return this[hU]},set:function(e){this[hU]=e}}});Object.defineProperty(G4e,hU,{writable:!0,value:{}});Y4e.exports={pinoErrProto:G4e,pinoErrorSymbols:{seen:wtr,rawSymbol:hU}}});var W4e=S((K3n,z4e)=>{"use strict";z4e.exports=vJ;var{messageWithCauses:Ntr,stackWithCauses:Otr,isErrorLike:Q4e}=AJ(),{pinoErrProto:Dtr,pinoErrorSymbols:Ptr}=EJ(),{seen:yJ}=Ptr,{toString:Ltr}=Object.prototype;function vJ(e){if(!Q4e(e))return e;e[yJ]=void 0;let t=Object.create(Dtr);t.type=Ltr.call(e.constructor)==="[object Function]"?e.constructor.name:e.name,t.message=Ntr(e),t.stack=Otr(e),Array.isArray(e.errors)&&(t.aggregateErrors=e.errors.map(r=>vJ(r)));for(let r in e)if(t[r]===void 0){let n=e[r];Q4e(n)?r!=="cause"&&!Object.prototype.hasOwnProperty.call(n,yJ)&&(t[r]=vJ(n)):t[r]=n}return delete e[yJ],t.raw=e,t}});var J4e=S((G3n,X4e)=>{"use strict";X4e.exports=mU;var{isErrorLike:SJ}=AJ(),{pinoErrProto:Mtr,pinoErrorSymbols:ktr}=EJ(),{seen:pU}=ktr,{toString:Btr}=Object.prototype;function mU(e){if(!SJ(e))return e;e[pU]=void 0;let t=Object.create(Mtr);t.type=Btr.call(e.constructor)==="[object Function]"?e.constructor.name:e.name,t.message=e.message,t.stack=e.stack,Array.isArray(e.errors)&&(t.aggregateErrors=e.errors.map(r=>mU(r))),SJ(e.cause)&&!Object.prototype.hasOwnProperty.call(e.cause,pU)&&(t.cause=mU(e.cause));for(let r in e)if(t[r]===void 0){let n=e[r];SJ(n)?Object.prototype.hasOwnProperty.call(n,pU)||(t[r]=mU(n)):t[r]=n}return delete e[pU],t.raw=e,t}});var rBe=S((Y3n,tBe)=>{"use strict";tBe.exports={mapHttpRequest:Utr,reqSerializer:eBe};var TJ=Symbol("pino-raw-req-ref"),Z4e=Object.create({},{id:{enumerable:!0,writable:!0,value:""},method:{enumerable:!0,writable:!0,value:""},url:{enumerable:!0,writable:!0,value:""},query:{enumerable:!0,writable:!0,value:""},params:{enumerable:!0,writable:!0,value:""},headers:{enumerable:!0,writable:!0,value:{}},remoteAddress:{enumerable:!0,writable:!0,value:""},remotePort:{enumerable:!0,writable:!0,value:""},raw:{enumerable:!1,get:function(){return this[TJ]},set:function(e){this[TJ]=e}}});Object.defineProperty(Z4e,TJ,{writable:!0,value:{}});function eBe(e){let t=e.info||e.socket,r=Object.create(Z4e);if(r.id=typeof e.id=="function"?e.id():e.id||(e.info?e.info.id:void 0),r.method=e.method,e.originalUrl)r.url=e.originalUrl;else{let n=e.path;r.url=typeof n=="string"?n:e.url?e.url.path||e.url:void 0}return e.query&&(r.query=e.query),e.params&&(r.params=e.params),r.headers=e.headers,r.remoteAddress=t&&t.remoteAddress,r.remotePort=t&&t.remotePort,r.raw=e.raw||e,r}function Utr(e){return{req:eBe(e)}}});var aBe=S((Q3n,iBe)=>{"use strict";iBe.exports={mapHttpResponse:Ftr,resSerializer:sBe};var bJ=Symbol("pino-raw-res-ref"),nBe=Object.create({},{statusCode:{enumerable:!0,writable:!0,value:0},headers:{enumerable:!0,writable:!0,value:""},raw:{enumerable:!1,get:function(){return this[bJ]},set:function(e){this[bJ]=e}}});Object.defineProperty(nBe,bJ,{writable:!0,value:{}});function sBe(e){let t=Object.create(nBe);return t.statusCode=e.headersSent?e.statusCode:null,t.headers=e.getHeaders?e.getHeaders():e._headers,t.raw=e,t}function Ftr(e){return{res:sBe(e)}}});var RJ=S((z3n,oBe)=>{"use strict";var IJ=W4e(),$tr=J4e(),gU=rBe(),_U=aBe();oBe.exports={err:IJ,errWithCause:$tr,mapHttpRequest:gU.mapHttpRequest,mapHttpResponse:_U.mapHttpResponse,req:gU.reqSerializer,res:_U.resSerializer,wrapErrorSerializer:function(t){return t===IJ?t:function(n){return t(IJ(n))}},wrapRequestSerializer:function(t){return t===gU.reqSerializer?t:function(n){return t(gU.reqSerializer(n))}},wrapResponseSerializer:function(t){return t===_U.resSerializer?t:function(n){return t(_U.resSerializer(n))}}}});var CJ=S((W3n,cBe)=>{"use strict";function qtr(e,t){return t}cBe.exports=function(){let t=Error.prepareStackTrace;Error.prepareStackTrace=qtr;let r=new Error().stack;if(Error.prepareStackTrace=t,!Array.isArray(r))return;let n=r.slice(2),s=[];for(let i of n)i&&s.push(i.getFileName());return s}});var lBe=S((X3n,uBe)=>{"use strict";uBe.exports=Htr;function Htr(e={}){let{ERR_PATHS_MUST_BE_STRINGS:t=()=>"fast-redact - Paths must be (non-empty) strings",ERR_INVALID_PATH:r=n=>`fast-redact \u2013 Invalid path (${n})`}=e;return function({paths:s}){s.forEach(i=>{if(typeof i!="string")throw Error(t());try{if(/〇/.test(i))throw Error();let a=(i[0]==="["?"":".")+i.replace(/^\*/,"\u3007").replace(/\.\*/g,".\u3007").replace(/\[\*\]/g,"[\u3007]");if(/\n|\r|;/.test(a)||/\/\*/.test(a))throw Error();Function(` + 'use strict' + const o = new Proxy({}, { get: () => o, set: () => { throw Error() } }); + const \u3007 = null; + o${a} + if ([o${a}].length !== 1) throw Error()`)()}catch{throw Error(r(i))}})}}});var AU=S((J3n,dBe)=>{"use strict";dBe.exports=/[^.[\]]+|\[((?:.)*?)\]/g});var hBe=S((Z3n,fBe)=>{"use strict";var Vtr=AU();fBe.exports=jtr;function jtr({paths:e}){let t=[];var r=0;let n=e.reduce(function(s,i,a){var o=i.match(Vtr).map(l=>l.replace(/'|"|`/g,""));let c=i[0]==="[";o=o.map(l=>l[0]==="["?l.substr(1,l.length-2):l);let u=o.indexOf("*");if(u>-1){let l=o.slice(0,u),d=l.join("."),f=o.slice(u+1,o.length),h=f.length>0;r++,t.push({before:l,beforeStr:d,after:f,nested:h})}else s[i]={path:o,val:void 0,precensored:!1,circle:"",escPath:JSON.stringify(i),leadingBracket:c};return s},{});return{wildcards:t,wcLen:r,secret:n}}});var mBe=S((eUn,pBe)=>{"use strict";var Ktr=AU();pBe.exports=Gtr;function Gtr({secret:e,serialize:t,wcLen:r,strict:n,isCensorFct:s,censorFctTakesPath:i},a){let o=Function("o",` + if (typeof o !== 'object' || o == null) { + ${Wtr(n,t)} + } + const { censor, secret } = this + const originalSecret = {} + const secretKeys = Object.keys(secret) + for (var i = 0; i < secretKeys.length; i++) { + originalSecret[secretKeys[i]] = secret[secretKeys[i]] + } + + ${Ytr(e,s,i)} + this.compileRestore() + ${Qtr(r>0,s,i)} + this.secret = originalSecret + ${ztr(t)} + `).bind(a);return o.state=a,t===!1&&(o.restore=c=>a.restore(c)),o}function Ytr(e,t,r){return Object.keys(e).map(n=>{let{escPath:s,leadingBracket:i,path:a}=e[n],o=i?1:0,c=i?"":".",u=[];for(var l;(l=Ktr.exec(n))!==null;){let[,p]=l,{index:m,input:g}=l;m>o&&u.push(g.substring(0,m-(p?0:1)))}var d=u.map(p=>`o${c}${p}`).join(" && ");d.length===0?d+=`o${c}${n} != null`:d+=` && o${c}${n} != null`;let f=` + switch (true) { + ${u.reverse().map(p=>` + case o${c}${p} === censor: + secret[${s}].circle = ${JSON.stringify(p)} + break + `).join(` +`)} + } + `,h=r?`val, ${JSON.stringify(a)}`:"val";return` + if (${d}) { + const val = o${c}${n} + if (val === censor) { + secret[${s}].precensored = true + } else { + secret[${s}].val = val + o${c}${n} = ${t?`censor(${h})`:"censor"} + ${f} + } + } + `}).join(` +`)}function Qtr(e,t,r){return e===!0?` + { + const { wildcards, wcLen, groupRedact, nestedRedact } = this + for (var i = 0; i < wcLen; i++) { + const { before, beforeStr, after, nested } = wildcards[i] + if (nested === true) { + secret[beforeStr] = secret[beforeStr] || [] + nestedRedact(secret[beforeStr], o, before, after, censor, ${t}, ${r}) + } else secret[beforeStr] = groupRedact(o, before, censor, ${t}, ${r}) + } + } + `:""}function ztr(e){return e===!1?"return o":` + var s = this.serialize(o) + this.restore(o) + return s + `}function Wtr(e,t){return e===!0?"throw Error('fast-redact: primitives cannot be redacted')":t===!1?"return o":"return this.serialize(o)"}});var wJ=S((tUn,ABe)=>{"use strict";ABe.exports={groupRedact:Jtr,groupRestore:Xtr,nestedRedact:err,nestedRestore:Ztr};function Xtr({keys:e,values:t,target:r}){if(r==null||typeof r=="string")return;let n=e.length;for(var s=0;s0;a--)i=i[n[a]];i[n[0]]=s}}function err(e,t,r,n,s,i,a){let o=gBe(t,r);if(o==null)return;let c=Object.keys(o),u=c.length;for(var l=0;l{"use strict";var{groupRestore:nrr,nestedRestore:srr}=wJ();EBe.exports=irr;function irr(){return function(){if(this.restore){this.restore.state.secret=this.secret;return}let{secret:t,wcLen:r}=this,n=Object.keys(t),s=arr(t,n),i=r>0,a=i?{secret:t,groupRestore:nrr,nestedRestore:srr}:{secret:t};this.restore=Function("o",orr(s,n,i)).bind(a),this.restore.state=a}}function arr(e,t){return t.map(r=>{let{circle:n,escPath:s,leadingBracket:i}=e[r],o=n?`o.${n} = secret[${s}].val`:`o${i?"":"."}${r} = secret[${s}].val`,c=`secret[${s}].val = undefined`;return` + if (secret[${s}].val !== undefined) { + try { ${o} } catch (e) {} + ${c} + } + `}).join("")}function orr(e,t,r){return` + const secret = this.secret + ${r===!0?` + const keys = Object.keys(secret) + const len = keys.length + for (var i = len - 1; i >= ${t.length}; i--) { + const k = keys[i] + const o = secret[k] + if (o) { + if (o.flat === true) this.groupRestore(o) + else this.nestedRestore(o) + secret[k] = null + } + } + `:""} + ${e} + return o + `}});var SBe=S((nUn,vBe)=>{"use strict";vBe.exports=crr;function crr(e){let{secret:t,censor:r,compileRestore:n,serialize:s,groupRedact:i,nestedRedact:a,wildcards:o,wcLen:c}=e,u=[{secret:t,censor:r,compileRestore:n}];return s!==!1&&u.push({serialize:s}),c>0&&u.push({groupRedact:i,nestedRedact:a,wildcards:o,wcLen:c}),Object.assign(...u)}});var IBe=S((sUn,bBe)=>{"use strict";var TBe=lBe(),urr=hBe(),lrr=mBe(),drr=yBe(),{groupRedact:frr,nestedRedact:hrr}=wJ(),prr=SBe(),mrr=AU(),grr=TBe(),NJ=e=>e;NJ.restore=NJ;var _rr="[REDACTED]";OJ.rx=mrr;OJ.validator=TBe;bBe.exports=OJ;function OJ(e={}){let t=Array.from(new Set(e.paths||[])),r="serialize"in e&&(e.serialize===!1||typeof e.serialize=="function")?e.serialize:JSON.stringify,n=e.remove;if(n===!0&&r!==JSON.stringify)throw Error("fast-redact \u2013 remove option may only be set when serializer is JSON.stringify");let s=n===!0?void 0:"censor"in e?e.censor:_rr,i=typeof s=="function",a=i&&s.length>1;if(t.length===0)return r||NJ;grr({paths:t,serialize:r,censor:s});let{wildcards:o,wcLen:c,secret:u}=urr({paths:t,censor:s}),l=drr(),d="strict"in e?e.strict:!0;return lrr({secret:u,wcLen:c,serialize:r,strict:d,isCensorFct:i,censorFctTakesPath:a},prr({secret:u,censor:s,compileRestore:l,serialize:r,groupRedact:frr,nestedRedact:hrr,wildcards:o,wcLen:c}))}});var e1=S((iUn,RBe)=>{"use strict";var Arr=Symbol("pino.setLevel"),Err=Symbol("pino.getLevel"),yrr=Symbol("pino.levelVal"),vrr=Symbol("pino.levelComp"),Srr=Symbol("pino.useLevelLabels"),Trr=Symbol("pino.useOnlyCustomLevels"),brr=Symbol("pino.mixin"),Irr=Symbol("pino.lsCache"),Rrr=Symbol("pino.chindings"),Crr=Symbol("pino.asJson"),xrr=Symbol("pino.write"),wrr=Symbol("pino.redactFmt"),Nrr=Symbol("pino.time"),Orr=Symbol("pino.timeSliceIndex"),Drr=Symbol("pino.stream"),Prr=Symbol("pino.stringify"),Lrr=Symbol("pino.stringifySafe"),Mrr=Symbol("pino.stringifiers"),krr=Symbol("pino.end"),Brr=Symbol("pino.formatOpts"),Urr=Symbol("pino.messageKey"),Frr=Symbol("pino.errorKey"),$rr=Symbol("pino.nestedKey"),qrr=Symbol("pino.nestedKeyStr"),Hrr=Symbol("pino.mixinMergeStrategy"),Vrr=Symbol("pino.msgPrefix"),jrr=Symbol("pino.wildcardFirst"),Krr=Symbol.for("pino.serializers"),Grr=Symbol.for("pino.formatters"),Yrr=Symbol.for("pino.hooks"),Qrr=Symbol.for("pino.metadata");RBe.exports={setLevelSym:Arr,getLevelSym:Err,levelValSym:yrr,levelCompSym:vrr,useLevelLabelsSym:Srr,mixinSym:brr,lsCacheSym:Irr,chindingsSym:Rrr,asJsonSym:Crr,writeSym:xrr,serializersSym:Krr,redactFmtSym:wrr,timeSym:Nrr,timeSliceIndexSym:Orr,streamSym:Drr,stringifySym:Prr,stringifySafeSym:Lrr,stringifiersSym:Mrr,endSym:krr,formatOptsSym:Brr,messageKeySym:Urr,errorKeySym:Frr,nestedKeySym:$rr,wildcardFirstSym:jrr,needsMetadataGsym:Qrr,useOnlyCustomLevelsSym:Trr,formattersSym:Grr,hooksSym:Yrr,nestedKeyStrSym:qrr,mixinMergeStrategySym:Hrr,msgPrefixSym:Vrr}});var LJ=S((aUn,NBe)=>{"use strict";var PJ=IBe(),{redactFmtSym:zrr,wildcardFirstSym:EU}=e1(),{rx:DJ,validator:Wrr}=PJ,CBe=Wrr({ERR_PATHS_MUST_BE_STRINGS:()=>"pino \u2013 redacted paths must be strings",ERR_INVALID_PATH:e=>`pino \u2013 redact paths array contains an invalid path (${e})`}),xBe="[Redacted]",wBe=!1;function Xrr(e,t){let{paths:r,censor:n}=Jrr(e),s=r.reduce((o,c)=>{DJ.lastIndex=0;let u=DJ.exec(c),l=DJ.exec(c),d=u[1]!==void 0?u[1].replace(/^(?:"|'|`)(.*)(?:"|'|`)$/,"$1"):u[0];if(d==="*"&&(d=EU),l===null)return o[d]=null,o;if(o[d]===null)return o;let{index:f}=l,h=`${c.substr(f,c.length-1)}`;return o[d]=o[d]||[],d!==EU&&o[d].length===0&&o[d].push(...o[EU]||[]),d===EU&&Object.keys(o).forEach(function(p){o[p]&&o[p].push(h)}),o[d].push(h),o},{}),i={[zrr]:PJ({paths:r,censor:n,serialize:t,strict:wBe})},a=(...o)=>t(typeof n=="function"?n(...o):n);return[...Object.keys(s),...Object.getOwnPropertySymbols(s)].reduce((o,c)=>{if(s[c]===null)o[c]=u=>a(u,[c]);else{let u=typeof n=="function"?(l,d)=>n(l,[c,...d]):n;o[c]=PJ({paths:s[c],censor:u,serialize:t,strict:wBe})}return o},i)}function Jrr(e){if(Array.isArray(e))return e={paths:e,censor:xBe},CBe(e),e;let{paths:t,censor:r=xBe,remove:n}=e;if(Array.isArray(t)===!1)throw Error("pino \u2013 redact must contain an array of strings");return n===!0&&(r=void 0),CBe({paths:t,censor:r}),{paths:t,censor:r}}NBe.exports=Xrr});var DBe=S((oUn,OBe)=>{"use strict";var Zrr=()=>"",enr=()=>`,"time":${Date.now()}`,tnr=()=>`,"time":${Math.round(Date.now()/1e3)}`,rnr=()=>`,"time":"${new Date(Date.now()).toISOString()}"`;OBe.exports={nullTime:Zrr,epochTime:enr,unixTime:tnr,isoTime:rnr}});var LBe=S((cUn,PBe)=>{"use strict";function nnr(e){try{return JSON.stringify(e)}catch{return'"[Circular]"'}}PBe.exports=snr;function snr(e,t,r){var n=r&&r.stringify||nnr,s=1;if(typeof e=="object"&&e!==null){var i=t.length+s;if(i===1)return e;var a=new Array(i);a[0]=n(e);for(var o=1;o-1?d:0,e.charCodeAt(h+1)){case 100:case 102:if(l>=c||t[l]==null)break;d=c||t[l]==null)break;d=c||t[l]===void 0)break;d",d=h+2,h++;break}u+=n(t[l]),d=h+2,h++;break;case 115:if(l>=c)break;d{"use strict";if(typeof SharedArrayBuffer<"u"&&typeof Atomics<"u"){let t=function(r){if((r>0&&r<1/0)===!1)throw typeof r!="number"&&typeof r!="bigint"?TypeError("sleep: ms must be a number"):RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity");Atomics.wait(e,0,0,Number(r))},e=new Int32Array(new SharedArrayBuffer(4));MJ.exports=t}else{let e=function(t){if((t>0&&t<1/0)===!1)throw typeof t!="number"&&typeof t!="bigint"?TypeError("sleep: ms must be a number"):RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity");let n=Date.now()+Number(t);for(;n>Date.now(););};MJ.exports=e}});var HBe=S((lUn,qBe)=>{"use strict";var Ri=require("fs"),inr=require("events"),anr=require("util").inherits,MBe=require("path"),UJ=kJ(),yU=100,vU=Buffer.allocUnsafe(0),onr=16*1024,kBe="buffer",BBe="utf8";function UBe(e,t){t._opening=!0,t._writing=!0,t._asyncDrainScheduled=!1;function r(i,a){if(i){t._reopening=!1,t._writing=!1,t._opening=!1,t.sync?process.nextTick(()=>{t.listenerCount("error")>0&&t.emit("error",i)}):t.emit("error",i);return}let o=t._reopening;t.fd=a,t.file=e,t._reopening=!1,t._opening=!1,t._writing=!1,t.sync?process.nextTick(()=>t.emit("ready")):t.emit("ready"),!t.destroyed&&(!t._writing&&t._len>t.minLength||t._flushPending?t._actualWrite():o&&process.nextTick(()=>t.emit("drain")))}let n=t.append?"a":"w",s=t.mode;if(t.sync)try{t.mkdir&&Ri.mkdirSync(MBe.dirname(e),{recursive:!0});let i=Ri.openSync(e,n,s);r(null,i)}catch(i){throw r(i),i}else t.mkdir?Ri.mkdir(MBe.dirname(e),{recursive:!0},i=>{if(i)return r(i);Ri.open(e,n,s,r)}):Ri.open(e,n,s,r)}function ff(e){if(!(this instanceof ff))return new ff(e);let{fd:t,dest:r,minLength:n,maxLength:s,maxWrite:i,sync:a,append:o=!0,mkdir:c,retryEAGAIN:u,fsync:l,contentMode:d,mode:f}=e||{};t=t||r,this._len=0,this.fd=-1,this._bufs=[],this._lens=[],this._writing=!1,this._ending=!1,this._reopening=!1,this._asyncDrainScheduled=!1,this._flushPending=!1,this._hwm=Math.max(n||0,16387),this.file=null,this.destroyed=!1,this.minLength=n||0,this.maxLength=s||0,this.maxWrite=i||onr,this.sync=a||!1,this.writable=!0,this._fsync=l||!1,this.append=o||!1,this.mode=f,this.retryEAGAIN=u||(()=>!0),this.mkdir=c||!1;let h,p;if(d===kBe)this._writingBuf=vU,this.write=lnr,this.flush=fnr,this.flushSync=pnr,this._actualWrite=gnr,h=()=>Ri.writeSync(this.fd,this._writingBuf),p=()=>Ri.write(this.fd,this._writingBuf,this.release);else if(d===void 0||d===BBe)this._writingBuf="",this.write=unr,this.flush=dnr,this.flushSync=hnr,this._actualWrite=mnr,h=()=>Ri.writeSync(this.fd,this._writingBuf,"utf8"),p=()=>Ri.write(this.fd,this._writingBuf,"utf8",this.release);else throw new Error(`SonicBoom supports "${BBe}" and "${kBe}", but passed ${d}`);if(typeof t=="number")this.fd=t,process.nextTick(()=>this.emit("ready"));else if(typeof t=="string")UBe(t,this);else throw new Error("SonicBoom supports only file descriptors and files");if(this.minLength>=this.maxWrite)throw new Error(`minLength should be smaller than maxWrite (${this.maxWrite})`);this.release=(m,g)=>{if(m){if((m.code==="EAGAIN"||m.code==="EBUSY")&&this.retryEAGAIN(m,this._writingBuf.length,this._len-this._writingBuf.length))if(this.sync)try{UJ(yU),this.release(void 0,0)}catch(E){this.release(E)}else setTimeout(p,yU);else this._writing=!1,this.emit("error",m);return}this.emit("write",g);let _=BJ(this._writingBuf,this._len,g);if(this._len=_.len,this._writingBuf=_.writingBuf,this._writingBuf.length){if(!this.sync){p();return}try{do{let E=h(),A=BJ(this._writingBuf,this._len,E);this._len=A.len,this._writingBuf=A.writingBuf}while(this._writingBuf.length)}catch(E){this.release(E);return}}this._fsync&&Ri.fsyncSync(this.fd);let y=this._len;this._reopening?(this._writing=!1,this._reopening=!1,this.reopen()):y>this.minLength?this._actualWrite():this._ending?y>0?this._actualWrite():(this._writing=!1,SU(this)):(this._writing=!1,this.sync?this._asyncDrainScheduled||(this._asyncDrainScheduled=!0,process.nextTick(cnr,this)):this.emit("drain"))},this.on("newListener",function(m){m==="drain"&&(this._asyncDrainScheduled=!1)})}function BJ(e,t,r){return typeof e=="string"&&Buffer.byteLength(e)!==r&&(r=Buffer.from(e).subarray(0,r).toString().length),t=Math.max(t-r,0),e=e.slice(r),{writingBuf:e,len:t}}function cnr(e){e.listenerCount("drain")>0&&(e._asyncDrainScheduled=!1,e.emit("drain"))}anr(ff,inr);function FBe(e,t){return e.length===0?vU:e.length===1?e[0]:Buffer.concat(e,t)}function unr(e){if(this.destroyed)throw new Error("SonicBoom destroyed");let t=this._len+e.length,r=this._bufs;return this.maxLength&&t>this.maxLength?(this.emit("drop",e),this._lenthis.maxWrite?r.push(""+e):r[r.length-1]+=e,this._len=t,!this._writing&&this._len>=this.minLength&&this._actualWrite(),this._lenthis.maxLength?(this.emit("drop",e),this._lenthis.maxWrite?(r.push([e]),n.push(e.length)):(r[r.length-1].push(e),n[n.length-1]+=e.length),this._len=t,!this._writing&&this._len>=this.minLength&&this._actualWrite(),this._len{this._fsync?(this._flushPending=!1,e()):Ri.fsync(this.fd,n=>{this._flushPending=!1,e(n)}),this.off("error",r)},r=n=>{this._flushPending=!1,e(n),this.off("drain",t)};this.once("drain",t),this.once("error",r)}function dnr(e){if(e!=null&&typeof e!="function")throw new Error("flush cb must be a function");if(this.destroyed){let t=new Error("SonicBoom destroyed");if(e){e(t);return}throw t}if(this.minLength<=0){e?.();return}e&&$Be.call(this,e),!this._writing&&(this._bufs.length===0&&this._bufs.push(""),this._actualWrite())}function fnr(e){if(e!=null&&typeof e!="function")throw new Error("flush cb must be a function");if(this.destroyed){let t=new Error("SonicBoom destroyed");if(e){e(t);return}throw t}if(this.minLength<=0){e?.();return}e&&$Be.call(this,e),!this._writing&&(this._bufs.length===0&&(this._bufs.push([]),this._lens.push(0)),this._actualWrite())}ff.prototype.reopen=function(e){if(this.destroyed)throw new Error("SonicBoom destroyed");if(this._opening){this.once("ready",()=>{this.reopen(e)});return}if(this._ending)return;if(!this.file)throw new Error("Unable to reopen a file descriptor, you must pass a file to SonicBoom");if(e&&(this.file=e),this._reopening=!0,this._writing)return;let t=this.fd;this.once("ready",()=>{t!==this.fd&&Ri.close(t,r=>{if(r)return this.emit("error",r)})}),UBe(this.file,this)};ff.prototype.end=function(){if(this.destroyed)throw new Error("SonicBoom destroyed");if(this._opening){this.once("ready",()=>{this.end()});return}this._ending||(this._ending=!0,!this._writing&&(this._len>0&&this.fd>=0?this._actualWrite():SU(this)))};function hnr(){if(this.destroyed)throw new Error("SonicBoom destroyed");if(this.fd<0)throw new Error("sonic boom is not ready yet");!this._writing&&this._writingBuf.length>0&&(this._bufs.unshift(this._writingBuf),this._writingBuf="");let e="";for(;this._bufs.length||e;){e.length<=0&&(e=this._bufs[0]);try{let t=Ri.writeSync(this.fd,e,"utf8"),r=BJ(e,this._len,t);e=r.writingBuf,this._len=r.len,e.length<=0&&this._bufs.shift()}catch(t){if((t.code==="EAGAIN"||t.code==="EBUSY")&&!this.retryEAGAIN(t,e.length,this._len-e.length))throw t;UJ(yU)}}try{Ri.fsyncSync(this.fd)}catch{}}function pnr(){if(this.destroyed)throw new Error("SonicBoom destroyed");if(this.fd<0)throw new Error("sonic boom is not ready yet");!this._writing&&this._writingBuf.length>0&&(this._bufs.unshift([this._writingBuf]),this._writingBuf=vU);let e=vU;for(;this._bufs.length||e.length;){e.length<=0&&(e=FBe(this._bufs[0],this._lens[0]));try{let t=Ri.writeSync(this.fd,e);e=e.subarray(t),this._len=Math.max(this._len-t,0),e.length<=0&&(this._bufs.shift(),this._lens.shift())}catch(t){if((t.code==="EAGAIN"||t.code==="EBUSY")&&!this.retryEAGAIN(t,e.length,this._len-e.length))throw t;UJ(yU)}}}ff.prototype.destroy=function(){this.destroyed||SU(this)};function mnr(){let e=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf||this._bufs.shift()||"",this.sync)try{let t=Ri.writeSync(this.fd,this._writingBuf,"utf8");e(null,t)}catch(t){e(t)}else Ri.write(this.fd,this._writingBuf,"utf8",e)}function gnr(){let e=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf.length?this._writingBuf:FBe(this._bufs.shift(),this._lens.shift()),this.sync)try{let t=Ri.writeSync(this.fd,this._writingBuf);e(null,t)}catch(t){e(t)}else Ri.write(this.fd,this._writingBuf,e)}function SU(e){if(e.fd===-1){e.once("ready",SU.bind(null,e));return}e.destroyed=!0,e._bufs=[],e._lens=[],Ri.fsync(e.fd,t);function t(){e.fd!==1&&e.fd!==2?Ri.close(e.fd,r):r()}function r(n){if(n){e.emit("error",n);return}e._ending&&!e._writing&&e.emit("finish"),e.emit("close")}}ff.SonicBoom=ff;ff.default=ff;qBe.exports=ff});var FJ=S((dUn,YBe)=>{"use strict";var hf={exit:[],beforeExit:[]},VBe={exit:Enr,beforeExit:ynr},t1;function _nr(){t1===void 0&&(t1=new FinalizationRegistry(vnr))}function Anr(e){hf[e].length>0||process.on(e,VBe[e])}function jBe(e){hf[e].length>0||(process.removeListener(e,VBe[e]),hf.exit.length===0&&hf.beforeExit.length===0&&(t1=void 0))}function Enr(){KBe("exit")}function ynr(){KBe("beforeExit")}function KBe(e){for(let t of hf[e]){let r=t.deref(),n=t.fn;r!==void 0&&n(r,e)}hf[e]=[]}function vnr(e){for(let t of["exit","beforeExit"]){let r=hf[t].indexOf(e);hf[t].splice(r,r+1),jBe(t)}}function GBe(e,t,r){if(t===void 0)throw new Error("the object can't be undefined");Anr(e);let n=new WeakRef(t);n.fn=r,_nr(),t1.register(t,n),hf[e].push(n)}function Snr(e,t){GBe("exit",e,t)}function Tnr(e,t){GBe("beforeExit",e,t)}function bnr(e){if(t1!==void 0){t1.unregister(e);for(let t of["exit","beforeExit"])hf[t]=hf[t].filter(r=>{let n=r.deref();return n&&n!==e}),jBe(t)}}YBe.exports={register:Snr,registerBeforeExit:Tnr,unregister:bnr}});var QBe=S((fUn,Inr)=>{Inr.exports={name:"thread-stream",version:"2.7.0",description:"A streaming way to send data to a Node.js Worker Thread",main:"index.js",types:"index.d.ts",dependencies:{"real-require":"^0.2.0"},devDependencies:{"@types/node":"^20.1.0","@types/tap":"^15.0.0","@yao-pkg/pkg":"^5.11.5",desm:"^1.3.0",fastbench:"^1.0.1",husky:"^9.0.6","pino-elasticsearch":"^8.0.0","sonic-boom":"^3.0.0",standard:"^17.0.0",tap:"^16.2.0","ts-node":"^10.8.0",typescript:"^5.3.2","why-is-node-running":"^2.2.2"},scripts:{test:'standard && npm run transpile && tap "test/**/*.test.*js" && tap --ts test/*.test.*ts',"test:ci":"standard && npm run transpile && npm run test:ci:js && npm run test:ci:ts","test:ci:js":'tap --no-check-coverage --timeout=120 --coverage-report=lcovonly "test/**/*.test.*js"',"test:ci:ts":'tap --ts --no-check-coverage --coverage-report=lcovonly "test/**/*.test.*ts"',"test:yarn":'npm run transpile && tap "test/**/*.test.js" --no-check-coverage',transpile:"sh ./test/ts/transpile.sh",prepare:"husky install"},standard:{ignore:["test/ts/**/*"]},repository:{type:"git",url:"git+https://github.com/mcollina/thread-stream.git"},keywords:["worker","thread","threads","stream"],author:"Matteo Collina ",license:"MIT",bugs:{url:"https://github.com/mcollina/thread-stream/issues"},homepage:"https://github.com/mcollina/thread-stream#readme"}});var WBe=S((hUn,zBe)=>{"use strict";function Rnr(e,t,r,n,s){let i=Date.now()+n,a=Atomics.load(e,t);if(a===r){s(null,"ok");return}let o=a,c=u=>{Date.now()>i?s(null,"timed-out"):setTimeout(()=>{o=a,a=Atomics.load(e,t),a===o?c(u>=1e3?1e3:u*2):a===r?s(null,"ok"):s(null,"not-equal")},u)};c(1)}function Cnr(e,t,r,n,s){let i=Date.now()+n,a=Atomics.load(e,t);if(a!==r){s(null,"ok");return}let o=c=>{Date.now()>i?s(null,"timed-out"):setTimeout(()=>{a=Atomics.load(e,t),a!==r?s(null,"ok"):o(c>=1e3?1e3:c*2)},c)};o(1)}zBe.exports={wait:Rnr,waitDiff:Cnr}});var JBe=S((pUn,XBe)=>{"use strict";XBe.exports={WRITE_INDEX:4,READ_INDEX:8}});var n3e=S((mUn,r3e)=>{"use strict";var{version:xnr}=QBe(),{EventEmitter:wnr}=require("events"),{Worker:Nnr}=require("worker_threads"),{join:Onr}=require("path"),{pathToFileURL:Dnr}=require("url"),{wait:Pnr}=WBe(),{WRITE_INDEX:lu,READ_INDEX:B0}=JBe(),Lnr=require("buffer"),Mnr=require("assert"),He=Symbol("kImpl"),knr=Lnr.constants.MAX_STRING_LENGTH,xN=class{constructor(t){this._value=t}deref(){return this._value}},bU=class{register(){}unregister(){}},Bnr=process.env.NODE_V8_COVERAGE?bU:global.FinalizationRegistry||bU,Unr=process.env.NODE_V8_COVERAGE?xN:global.WeakRef||xN,ZBe=new Bnr(e=>{e.exited||e.terminate()});function Fnr(e,t){let{filename:r,workerData:n}=t,i=("__bundlerPathsOverrides"in globalThis?globalThis.__bundlerPathsOverrides:{})["thread-stream-worker"]||Onr(__dirname,"lib","worker.js"),a=new Nnr(i,{...t.workerOpts,trackUnmanagedFds:!1,workerData:{filename:r.indexOf("file://")===0?r:Dnr(r).href,dataBuf:e[He].dataBuf,stateBuf:e[He].stateBuf,workerData:{$context:{threadStreamVersion:xnr},...n}}});return a.stream=new xN(e),a.on("message",$nr),a.on("exit",t3e),ZBe.register(e,a),a}function e3e(e){Mnr(!e[He].sync),e[He].needDrain&&(e[He].needDrain=!1,e.emit("drain"))}function TU(e){let t=Atomics.load(e[He].state,lu),r=e[He].data.length-t;if(r>0){if(e[He].buf.length===0){e[He].flushing=!1,e[He].ending?jJ(e):e[He].needDrain&&process.nextTick(e3e,e);return}let n=e[He].buf.slice(0,r),s=Buffer.byteLength(n);s<=r?(e[He].buf=e[He].buf.slice(r),IU(e,n,TU.bind(null,e))):e.flush(()=>{if(!e.destroyed){for(Atomics.store(e[He].state,B0,0),Atomics.store(e[He].state,lu,0);s>e[He].data.length;)r=r/2,n=e[He].buf.slice(0,r),s=Buffer.byteLength(n);e[He].buf=e[He].buf.slice(r),IU(e,n,TU.bind(null,e))}})}else if(r===0){if(t===0&&e[He].buf.length===0)return;e.flush(()=>{Atomics.store(e[He].state,B0,0),Atomics.store(e[He].state,lu,0),TU(e)})}else U0(e,new Error("overwritten"))}function $nr(e){let t=this.stream.deref();if(t===void 0){this.exited=!0,this.terminate();return}switch(e.code){case"READY":this.stream=new Unr(t),t.flush(()=>{t[He].ready=!0,t.emit("ready")});break;case"ERROR":U0(t,e.err);break;case"EVENT":Array.isArray(e.args)?t.emit(e.name,...e.args):t.emit(e.name,e.args);break;case"WARNING":process.emitWarning(e.err);break;default:U0(t,new Error("this should not happen: "+e.code))}}function t3e(e){let t=this.stream.deref();t!==void 0&&(ZBe.unregister(t),t.worker.exited=!0,t.worker.off("exit",t3e),U0(t,e!==0?new Error("the worker thread exited"):null))}var qJ=class extends wnr{constructor(t={}){if(super(),t.bufferSize<4)throw new Error("bufferSize must at least fit a 4-byte utf-8 char");this[He]={},this[He].stateBuf=new SharedArrayBuffer(128),this[He].state=new Int32Array(this[He].stateBuf),this[He].dataBuf=new SharedArrayBuffer(t.bufferSize||4*1024*1024),this[He].data=Buffer.from(this[He].dataBuf),this[He].sync=t.sync||!1,this[He].ending=!1,this[He].ended=!1,this[He].needDrain=!1,this[He].destroyed=!1,this[He].flushing=!1,this[He].ready=!1,this[He].finished=!1,this[He].errored=null,this[He].closed=!1,this[He].buf="",this.worker=Fnr(this,t),this.on("message",(r,n)=>{this.worker.postMessage(r,n)})}write(t){if(this[He].destroyed)return HJ(this,new Error("the worker has exited")),!1;if(this[He].ending)return HJ(this,new Error("the worker is ending")),!1;if(this[He].flushing&&this[He].buf.length+t.length>=knr)try{$J(this),this[He].flushing=!0}catch(r){return U0(this,r),!1}if(this[He].buf+=t,this[He].sync)try{return $J(this),!0}catch(r){return U0(this,r),!1}return this[He].flushing||(this[He].flushing=!0,setImmediate(TU,this)),this[He].needDrain=this[He].data.length-this[He].buf.length-Atomics.load(this[He].state,lu)<=0,!this[He].needDrain}end(){this[He].destroyed||(this[He].ending=!0,jJ(this))}flush(t){if(this[He].destroyed){typeof t=="function"&&process.nextTick(t,new Error("the worker has exited"));return}let r=Atomics.load(this[He].state,lu);Pnr(this[He].state,B0,r,1/0,(n,s)=>{if(n){U0(this,n),process.nextTick(t,n);return}if(s==="not-equal"){this.flush(t);return}process.nextTick(t)})}flushSync(){this[He].destroyed||($J(this),VJ(this))}unref(){this.worker.unref()}ref(){this.worker.ref()}get ready(){return this[He].ready}get destroyed(){return this[He].destroyed}get closed(){return this[He].closed}get writable(){return!this[He].destroyed&&!this[He].ending}get writableEnded(){return this[He].ending}get writableFinished(){return this[He].finished}get writableNeedDrain(){return this[He].needDrain}get writableObjectMode(){return!1}get writableErrored(){return this[He].errored}};function HJ(e,t){setImmediate(()=>{e.emit("error",t)})}function U0(e,t){e[He].destroyed||(e[He].destroyed=!0,t&&(e[He].errored=t,HJ(e,t)),e.worker.exited?setImmediate(()=>{e[He].closed=!0,e.emit("close")}):e.worker.terminate().catch(()=>{}).then(()=>{e[He].closed=!0,e.emit("close")}))}function IU(e,t,r){let n=Atomics.load(e[He].state,lu),s=Buffer.byteLength(t);return e[He].data.write(t,n),Atomics.store(e[He].state,lu,n+s),Atomics.notify(e[He].state,lu),r(),!0}function jJ(e){if(!(e[He].ended||!e[He].ending||e[He].flushing)){e[He].ended=!0;try{e.flushSync();let t=Atomics.load(e[He].state,B0);Atomics.store(e[He].state,lu,-1),Atomics.notify(e[He].state,lu);let r=0;for(;t!==-1;){if(Atomics.wait(e[He].state,B0,t,1e3),t=Atomics.load(e[He].state,B0),t===-2){U0(e,new Error("end() failed"));return}if(++r===10){U0(e,new Error("end() took too long (10s)"));return}}process.nextTick(()=>{e[He].finished=!0,e.emit("finish")})}catch(t){U0(e,t)}}}function $J(e){let t=()=>{e[He].ending?jJ(e):e[He].needDrain&&process.nextTick(e3e,e)};for(e[He].flushing=!1;e[He].buf.length!==0;){let r=Atomics.load(e[He].state,lu),n=e[He].data.length-r;if(n===0){VJ(e),Atomics.store(e[He].state,B0,0),Atomics.store(e[He].state,lu,0);continue}else if(n<0)throw new Error("overwritten");let s=e[He].buf.slice(0,n),i=Buffer.byteLength(s);if(i<=n)e[He].buf=e[He].buf.slice(n),IU(e,s,t);else{for(VJ(e),Atomics.store(e[He].state,B0,0),Atomics.store(e[He].state,lu,0);i>e[He].buf.length;)n=n/2,s=e[He].buf.slice(0,n),i=Buffer.byteLength(s);e[He].buf=e[He].buf.slice(n),IU(e,s,t)}}}function VJ(e){if(e[He].flushing)throw new Error("unable to flush while flushing");let t=Atomics.load(e[He].state,lu),r=0;for(;;){let n=Atomics.load(e[He].state,B0);if(n===-2)throw Error("_flushSync failed");if(n!==t)Atomics.wait(e[He].state,B0,n,1e3);else break;if(++r===10)throw new Error("_flushSync took too long (10s)")}}r3e.exports=qJ});var YJ=S((gUn,s3e)=>{"use strict";var{createRequire:qnr}=require("module"),Hnr=CJ(),{join:KJ,isAbsolute:Vnr,sep:jnr}=require("path"),Knr=kJ(),GJ=FJ(),Gnr=n3e();function Ynr(e){GJ.register(e,znr),GJ.registerBeforeExit(e,Wnr),e.on("close",function(){GJ.unregister(e)})}function Qnr(e,t,r){let n=new Gnr({filename:e,workerData:t,workerOpts:r});n.on("ready",s),n.on("close",function(){process.removeListener("exit",i)}),process.on("exit",i);function s(){process.removeListener("exit",i),n.unref(),r.autoEnd!==!1&&Ynr(n)}function i(){n.closed||(n.flushSync(),Knr(100),n.end())}return n}function znr(e){e.ref(),e.flushSync(),e.end(),e.once("close",function(){e.unref()})}function Wnr(e){e.flushSync()}function Xnr(e){let{pipeline:t,targets:r,levels:n,dedupe:s,options:i={},worker:a={},caller:o=Hnr()}=e,c=typeof o=="string"?[o]:o,u="__bundlerPathsOverrides"in globalThis?globalThis.__bundlerPathsOverrides:{},l=e.target;if(l&&r)throw new Error("only one of target or targets can be specified");return r?(l=u["pino-worker"]||KJ(__dirname,"worker.js"),i.targets=r.map(f=>({...f,target:d(f.target)}))):t&&(l=u["pino-pipeline-worker"]||KJ(__dirname,"worker-pipeline.js"),i.targets=t.map(f=>({...f,target:d(f.target)}))),n&&(i.levels=n),s&&(i.dedupe=s),i.pinoWillSendConfig=!0,Qnr(d(l),i,a);function d(f){if(f=u[f]||f,Vnr(f)||f.indexOf("file://")===0)return f;if(f==="pino/file")return KJ(__dirname,"..","file.js");let h;for(let p of c)try{let m=p==="node:repl"?process.cwd()+jnr:p;h=qnr(m).resolve(f);break}catch{continue}if(!h)throw new Error(`unable to determine transport target for "${f}"`);return h}}s3e.exports=Xnr});var xU=S((_Un,m3e)=>{"use strict";var i3e=LBe(),{mapHttpRequest:Jnr,mapHttpResponse:Znr}=RJ(),zJ=HBe(),a3e=FJ(),{lsCacheSym:esr,chindingsSym:u3e,writeSym:o3e,serializersSym:l3e,formatOptsSym:c3e,endSym:tsr,stringifiersSym:d3e,stringifySym:f3e,stringifySafeSym:WJ,wildcardFirstSym:h3e,nestedKeySym:rsr,formattersSym:p3e,messageKeySym:nsr,errorKeySym:ssr,nestedKeyStrSym:isr,msgPrefixSym:RU}=e1(),{isMainThread:asr}=require("worker_threads"),osr=YJ();function r1(){}function csr(e,t){if(!t)return r;return function(...s){t.call(this,s,r,e)};function r(n,...s){if(typeof n=="object"){let i=n;n!==null&&(n.method&&n.headers&&n.socket?n=Jnr(n):typeof n.setHeader=="function"&&(n=Znr(n)));let a;i===null&&s.length===0?a=[null]:(i=s.shift(),a=s),typeof this[RU]=="string"&&i!==void 0&&i!==null&&(i=this[RU]+i),this[o3e](n,i3e(i,a,this[c3e]),e)}else{let i=n===void 0?s.shift():n;typeof this[RU]=="string"&&i!==void 0&&i!==null&&(i=this[RU]+i),this[o3e](null,i3e(i,s,this[c3e]),e)}}}function QJ(e){let t="",r=0,n=!1,s=255,i=e.length;if(i>100)return JSON.stringify(e);for(var a=0;a=32;a++)s=e.charCodeAt(a),(s===34||s===92)&&(t+=e.slice(r,a)+"\\",r=a,n=!0);return n?t+=e.slice(r):t=e,s<32?JSON.stringify(e):'"'+t+'"'}function usr(e,t,r,n){let s=this[f3e],i=this[WJ],a=this[d3e],o=this[tsr],c=this[u3e],u=this[l3e],l=this[p3e],d=this[nsr],f=this[ssr],h=this[esr][r]+n;h=h+c;let p;l.log&&(e=l.log(e));let m=a[h3e],g="";for(let y in e)if(p=e[y],Object.prototype.hasOwnProperty.call(e,y)&&p!==void 0){u[y]?p=u[y](p):y===f&&u.err&&(p=u.err(p));let E=a[y]||m;switch(typeof p){case"undefined":case"function":continue;case"number":Number.isFinite(p)===!1&&(p=null);case"boolean":E&&(p=E(p));break;case"string":p=(E||QJ)(p);break;default:p=(E||s)(p,i)}if(p===void 0)continue;let A=QJ(y);g+=","+A+":"+p}let _="";if(t!==void 0){p=u[d]?u[d](t):t;let y=a[d]||m;switch(typeof p){case"function":break;case"number":Number.isFinite(p)===!1&&(p=null);case"boolean":y&&(p=y(p)),_=',"'+d+'":'+p;break;case"string":p=(y||QJ)(p),_=',"'+d+'":'+p;break;default:p=(y||s)(p,i),_=',"'+d+'":'+p}}return this[rsr]&&g?h+this[isr]+g.slice(1)+"}"+_+o:h+g+_+o}function lsr(e,t){let r,n=e[u3e],s=e[f3e],i=e[WJ],a=e[d3e],o=a[h3e],c=e[l3e],u=e[p3e].bindings;t=u(t);for(let l in t)if(r=t[l],(l!=="level"&&l!=="serializers"&&l!=="formatters"&&l!=="customLevels"&&t.hasOwnProperty(l)&&r!==void 0)===!0){if(r=c[l]?c[l](r):r,r=(a[l]||o||s)(r,i),r===void 0)continue;n+=',"'+l+'":'+r}return n}function dsr(e){return e.write!==e.constructor.prototype.write}var fsr=process.env.NODE_V8_COVERAGE||process.env.V8_COVERAGE;function CU(e){let t=new zJ(e);return t.on("error",r),!fsr&&!e.sync&&asr&&(a3e.register(t,hsr),t.on("close",function(){a3e.unregister(t)})),t;function r(n){if(n.code==="EPIPE"){t.write=r1,t.end=r1,t.flushSync=r1,t.destroy=r1;return}t.removeListener("error",r),t.emit("error",n)}}function hsr(e,t){e.destroyed||(t==="beforeExit"?(e.flush(),e.on("drain",function(){e.end()})):e.flushSync())}function psr(e){return function(r,n,s={},i){if(typeof s=="string")i=CU({dest:s}),s={};else if(typeof i=="string"){if(s&&s.transport)throw Error("only one of option.transport or stream can be specified");i=CU({dest:i})}else if(s instanceof zJ||s.writable||s._writableState)i=s,s={};else if(s.transport){if(s.transport instanceof zJ||s.transport.writable||s.transport._writableState)throw Error("option.transport do not allow stream, please pass to option directly. e.g. pino(transport)");if(s.transport.targets&&s.transport.targets.length&&s.formatters&&typeof s.formatters.level=="function")throw Error("option.transport.targets do not allow custom level formatters");let c;s.customLevels&&(c=s.useOnlyCustomLevels?s.customLevels:Object.assign({},s.levels,s.customLevels)),i=osr({caller:n,...s.transport,levels:c})}if(s=Object.assign({},e,s),s.serializers=Object.assign({},e.serializers,s.serializers),s.formatters=Object.assign({},e.formatters,s.formatters),s.prettyPrint)throw new Error("prettyPrint option is no longer supported, see the pino-pretty package (https://github.com/pinojs/pino-pretty)");let{enabled:a,onChild:o}=s;return a===!1&&(s.level="silent"),o||(s.onChild=r1),i||(dsr(process.stdout)?i=process.stdout:i=CU({fd:process.stdout.fd||1})),{opts:s,stream:i}}}function msr(e,t){try{return JSON.stringify(e)}catch{try{return(t||this[WJ])(e)}catch{return'"[unable to serialize, circular reference is too complex to analyze]"'}}}function gsr(e,t,r){return{level:e,bindings:t,log:r}}function _sr(e){let t=Number(e);return typeof e=="string"&&Number.isFinite(t)?t:e===void 0?1:e}m3e.exports={noop:r1,buildSafeSonicBoom:CU,asChindings:lsr,asJson:usr,genLog:csr,createArgsNormalizer:psr,stringify:msr,buildFormatters:gsr,normalizeDestFileDescriptor:_sr}});var wU=S((AUn,g3e)=>{var Asr={trace:10,debug:20,info:30,warn:40,error:50,fatal:60},Esr={ASC:"ASC",DESC:"DESC"};g3e.exports={DEFAULT_LEVELS:Asr,SORTING_ORDER:Esr}});var ZJ=S((EUn,y3e)=>{"use strict";var{lsCacheSym:ysr,levelValSym:XJ,useOnlyCustomLevelsSym:vsr,streamSym:Ssr,formattersSym:Tsr,hooksSym:bsr,levelCompSym:_3e}=e1(),{noop:Isr,genLog:Ny}=xU(),{DEFAULT_LEVELS:F0,SORTING_ORDER:A3e}=wU(),E3e={fatal:e=>{let t=Ny(F0.fatal,e);return function(...r){let n=this[Ssr];if(t.call(this,...r),typeof n.flushSync=="function")try{n.flushSync()}catch{}}},error:e=>Ny(F0.error,e),warn:e=>Ny(F0.warn,e),info:e=>Ny(F0.info,e),debug:e=>Ny(F0.debug,e),trace:e=>Ny(F0.trace,e)},JJ=Object.keys(F0).reduce((e,t)=>(e[F0[t]]=t,e),{}),Rsr=Object.keys(JJ).reduce((e,t)=>(e[t]='{"level":'+Number(t),e),{});function Csr(e){let t=e[Tsr].level,{labels:r}=e.levels,n={};for(let s in r){let i=t(r[s],Number(s));n[s]=JSON.stringify(i).slice(0,-1)}return e[ysr]=n,e}function xsr(e,t){if(t)return!1;switch(e){case"fatal":case"error":case"warn":case"info":case"debug":case"trace":return!0;default:return!1}}function wsr(e){let{labels:t,values:r}=this.levels;if(typeof e=="number"){if(t[e]===void 0)throw Error("unknown level value"+e);e=t[e]}if(r[e]===void 0)throw Error("unknown level "+e);let n=this[XJ],s=this[XJ]=r[e],i=this[vsr],a=this[_3e],o=this[bsr].logMethod;for(let c in r){if(a(r[c],s)===!1){this[c]=Isr;continue}this[c]=xsr(c,i)?E3e[c](o):Ny(r[c],o)}this.emit("level-change",e,s,t[n],n,this)}function Nsr(e){let{levels:t,levelVal:r}=this;return t&&t.labels?t.labels[r]:""}function Osr(e){let{values:t}=this.levels,r=t[e];return r!==void 0&&this[_3e](r,this[XJ])}function Dsr(e,t,r){return e===A3e.DESC?t<=r:t>=r}function Psr(e){return typeof e=="string"?Dsr.bind(null,e):e}function Lsr(e=null,t=!1){let r=e?Object.keys(e).reduce((i,a)=>(i[e[a]]=a,i),{}):null,n=Object.assign(Object.create(Object.prototype,{Infinity:{value:"silent"}}),t?null:JJ,r),s=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),t?null:F0,e);return{labels:n,values:s}}function Msr(e,t,r){if(typeof e=="number"){if(![].concat(Object.keys(t||{}).map(i=>t[i]),r?[]:Object.keys(JJ).map(i=>+i),1/0).includes(e))throw Error(`default level:${e} must be included in custom levels`);return}let n=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),r?null:F0,t);if(!(e in n))throw Error(`default level:${e} must be included in custom levels`)}function ksr(e,t){let{labels:r,values:n}=e;for(let s in t){if(s in n)throw Error("levels cannot be overridden");if(t[s]in r)throw Error("pre-existing level values cannot be used for new levels")}}function Bsr(e){if(typeof e!="function"&&!(typeof e=="string"&&Object.values(A3e).includes(e)))throw new Error('Levels comparison should be one of "ASC", "DESC" or "function" type')}y3e.exports={initialLsCache:Rsr,genLsCache:Csr,levelMethods:E3e,getLevel:Nsr,setLevel:wsr,isLevelEnabled:Osr,mappings:Lsr,assertNoLevelCollisions:ksr,assertDefaultLevelFound:Msr,genLevelComparison:Psr,assertLevelComparison:Bsr}});var eZ=S((yUn,v3e)=>{"use strict";v3e.exports={version:"8.21.0"}});var D3e=S((SUn,O3e)=>{"use strict";var{EventEmitter:Usr}=require("events"),{lsCacheSym:Fsr,levelValSym:$sr,setLevelSym:rZ,getLevelSym:S3e,chindingsSym:nZ,parsedChindingsSym:qsr,mixinSym:Hsr,asJsonSym:C3e,writeSym:Vsr,mixinMergeStrategySym:jsr,timeSym:Ksr,timeSliceIndexSym:Gsr,streamSym:x3e,serializersSym:Oy,formattersSym:tZ,errorKeySym:Ysr,messageKeySym:Qsr,useOnlyCustomLevelsSym:zsr,needsMetadataGsym:Wsr,redactFmtSym:Xsr,stringifySym:Jsr,formatOptsSym:Zsr,stringifiersSym:eir,msgPrefixSym:T3e}=e1(),{getLevel:tir,setLevel:rir,isLevelEnabled:nir,mappings:sir,initialLsCache:iir,genLsCache:air,assertNoLevelCollisions:oir}=ZJ(),{asChindings:w3e,asJson:cir,buildFormatters:b3e,stringify:I3e}=xU(),{version:uir}=eZ(),lir=LJ(),dir=class{},N3e={constructor:dir,child:fir,bindings:hir,setBindings:pir,flush:Air,isLevelEnabled:nir,version:uir,get level(){return this[S3e]()},set level(e){this[rZ](e)},get levelVal(){return this[$sr]},set levelVal(e){throw Error("levelVal is read-only")},[Fsr]:iir,[Vsr]:gir,[C3e]:cir,[S3e]:tir,[rZ]:rir};Object.setPrototypeOf(N3e,Usr.prototype);O3e.exports=function(){return Object.create(N3e)};var R3e=e=>e;function fir(e,t){if(!e)throw Error("missing bindings for child Pino");t=t||{};let r=this[Oy],n=this[tZ],s=Object.create(this);if(t.hasOwnProperty("serializers")===!0){s[Oy]=Object.create(null);for(let l in r)s[Oy][l]=r[l];let c=Object.getOwnPropertySymbols(r);for(var i=0;i{"use strict";var{hasOwnProperty:wN}=Object.prototype,Py=aZ();Py.configure=aZ;Py.stringify=Py;Py.default=Py;oZ.stringify=Py;oZ.configure=aZ;M3e.exports=Py;var Eir=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;function C_(e){return e.length<5e3&&!Eir.test(e)?`"${e}"`:JSON.stringify(e)}function sZ(e,t){if(e.length>200||t)return e.sort(t);for(let r=1;rn;)e[s]=e[s-1],s--;e[s]=n}return e}var yir=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function iZ(e){return yir.call(e)!==void 0&&e.length!==0}function P3e(e,t,r){e.length= 1`)}return r===void 0?1/0:r}function Dy(e){return e===1?"1 item":`${e} items`}function bir(e){let t=new Set;for(let r of e)(typeof r=="string"||typeof r=="number")&&t.add(String(r));return t}function Iir(e){if(wN.call(e,"strict")){let t=e.strict;if(typeof t!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(t)return r=>{let n=`Object can not safely be stringified. Received type ${typeof r}`;throw typeof r!="function"&&(n+=` (${r.toString()})`),new Error(n)}}}function aZ(e){e={...e};let t=Iir(e);t&&(e.bigint===void 0&&(e.bigint=!1),"circularValue"in e||(e.circularValue=Error));let r=vir(e),n=Tir(e,"bigint"),s=Sir(e),i=typeof s=="function"?s:void 0,a=L3e(e,"maximumDepth"),o=L3e(e,"maximumBreadth");function c(h,p,m,g,_,y){let E=p[h];switch(typeof E=="object"&&E!==null&&typeof E.toJSON=="function"&&(E=E.toJSON(h)),E=g.call(p,h,E),typeof E){case"string":return C_(E);case"object":{if(E===null)return"null";if(m.indexOf(E)!==-1)return r;let A="",v=",",T=y;if(Array.isArray(E)){if(E.length===0)return"[]";if(ao){let Y=E.length-o-1;A+=`${v}"... ${Dy(Y)} not stringified"`}return _!==""&&(A+=` +${T}`),m.pop(),`[${A}]`}let C=Object.keys(E),b=C.length;if(b===0)return"{}";if(ao){let M=b-o;A+=`${w}"...":${x}"${Dy(M)} not stringified"`,w=v}return _!==""&&w.length>1&&(A=` +${y}${A} +${T}`),m.pop(),`{${A}}`}case"number":return isFinite(E)?String(E):t?t(E):"null";case"boolean":return E===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(E);default:return t?t(E):void 0}}function u(h,p,m,g,_,y){switch(typeof p=="object"&&p!==null&&typeof p.toJSON=="function"&&(p=p.toJSON(h)),typeof p){case"string":return C_(p);case"object":{if(p===null)return"null";if(m.indexOf(p)!==-1)return r;let E=y,A="",v=",";if(Array.isArray(p)){if(p.length===0)return"[]";if(ao){let P=p.length-o-1;A+=`${v}"... ${Dy(P)} not stringified"`}return _!==""&&(A+=` +${E}`),m.pop(),`[${A}]`}m.push(p);let T="";_!==""&&(y+=_,v=`, +${y}`,T=" ");let C="";for(let b of g){let x=u(b,p[b],m,g,_,y);x!==void 0&&(A+=`${C}${C_(b)}:${T}${x}`,C=v)}return _!==""&&C.length>1&&(A=` +${y}${A} +${E}`),m.pop(),`{${A}}`}case"number":return isFinite(p)?String(p):t?t(p):"null";case"boolean":return p===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(p);default:return t?t(p):void 0}}function l(h,p,m,g,_){switch(typeof p){case"string":return C_(p);case"object":{if(p===null)return"null";if(typeof p.toJSON=="function"){if(p=p.toJSON(h),typeof p!="object")return l(h,p,m,g,_);if(p===null)return"null"}if(m.indexOf(p)!==-1)return r;let y=_;if(Array.isArray(p)){if(p.length===0)return"[]";if(ao){let U=p.length-o-1;x+=`${w}"... ${Dy(U)} not stringified"`}return x+=` +${y}`,m.pop(),`[${x}]`}let E=Object.keys(p),A=E.length;if(A===0)return"{}";if(ao){let x=A-o;T+=`${C}"...": "${Dy(x)} not stringified"`,C=v}return C!==""&&(T=` +${_}${T} +${y}`),m.pop(),`{${T}}`}case"number":return isFinite(p)?String(p):t?t(p):"null";case"boolean":return p===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(p);default:return t?t(p):void 0}}function d(h,p,m){switch(typeof p){case"string":return C_(p);case"object":{if(p===null)return"null";if(typeof p.toJSON=="function"){if(p=p.toJSON(h),typeof p!="object")return d(h,p,m);if(p===null)return"null"}if(m.indexOf(p)!==-1)return r;let g="",_=p.length!==void 0;if(_&&Array.isArray(p)){if(p.length===0)return"[]";if(ao){let x=p.length-o-1;g+=`,"... ${Dy(x)} not stringified"`}return m.pop(),`[${g}]`}let y=Object.keys(p),E=y.length;if(E===0)return"{}";if(ao){let T=E-o;g+=`${A}"...":"${Dy(T)} not stringified"`}return m.pop(),`{${g}}`}case"number":return isFinite(p)?String(p):t?t(p):"null";case"boolean":return p===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(p);default:return t?t(p):void 0}}function f(h,p,m){if(arguments.length>1){let g="";if(typeof m=="number"?g=" ".repeat(Math.min(m,10)):typeof m=="string"&&(g=m.slice(0,10)),p!=null){if(typeof p=="function")return c("",{"":h},[],p,g,"");if(Array.isArray(p))return u("",h,[],bir(p),g,"")}if(g.length!==0)return l("",h,[],g,"")}return d("",h,[])}return f}});var F3e=S((TUn,U3e)=>{"use strict";var cZ=Symbol.for("pino.metadata"),{DEFAULT_LEVELS:B3e}=wU(),Rir=B3e.info;function Cir(e,t){let r=0;e=e||[],t=t||{dedupe:!1};let n=Object.create(B3e);n.silent=1/0,t.levels&&typeof t.levels=="object"&&Object.keys(t.levels).forEach(d=>{n[d]=t.levels[d]});let s={write:i,add:c,emit:a,flushSync:o,end:u,minLevel:0,streams:[],clone:l,[cZ]:!0,streamLevels:n};return Array.isArray(e)?e.forEach(c,s):c.call(s,e),e=null,s;function i(d){let f,h=this.lastLevel,{streams:p}=this,m=0,g;for(let _=wir(p.length,t.dedupe);Oir(_,p.length,t.dedupe);_=Nir(_,t.dedupe))if(f=p[_],f.level<=h){if(m!==0&&m!==f.level)break;if(g=f.stream,g[cZ]){let{lastTime:y,lastMsg:E,lastObj:A,lastLogger:v}=this;g.lastLevel=h,g.lastTime=y,g.lastMsg=E,g.lastObj=A,g.lastLogger=v}g.write(d),t.dedupe&&(m=f.level)}else if(!t.dedupe)break}function a(...d){for(let{stream:f}of this.streams)typeof f.emit=="function"&&f.emit(...d)}function o(){for(let{stream:d}of this.streams)typeof d.flushSync=="function"&&d.flushSync()}function c(d){if(!d)return s;let f=typeof d.write=="function"||d.stream,h=d.write?d:d.stream;if(!f)throw Error("stream object needs to implement either StreamEntry or DestinationStream interface");let{streams:p,streamLevels:m}=this,g;typeof d.levelVal=="number"?g=d.levelVal:typeof d.level=="string"?g=m[d.level]:typeof d.level=="number"?g=d.level:g=Rir;let _={stream:h,level:g,levelVal:void 0,id:r++};return p.unshift(_),p.sort(xir),this.minLevel=p[0].level,s}function u(){for(let{stream:d}of this.streams)typeof d.flushSync=="function"&&d.flushSync(),d.end()}function l(d){let f=new Array(this.streams.length);for(let h=0;h=0:e{"use strict";var Dir=require("os"),Y3e=RJ(),Pir=CJ(),Lir=LJ(),Q3e=DBe(),Mir=D3e(),z3e=e1(),{configure:kir}=k3e(),{assertDefaultLevelFound:Bir,mappings:W3e,genLsCache:Uir,genLevelComparison:Fir,assertLevelComparison:$ir}=ZJ(),{DEFAULT_LEVELS:qir,SORTING_ORDER:Hir}=wU(),{createArgsNormalizer:Vir,asChindings:jir,buildSafeSonicBoom:$3e,buildFormatters:Kir,stringify:uZ,normalizeDestFileDescriptor:q3e,noop:Gir}=xU(),{version:Yir}=eZ(),{chindingsSym:H3e,redactFmtSym:Qir,serializersSym:V3e,timeSym:zir,timeSliceIndexSym:Wir,streamSym:Xir,stringifySym:j3e,stringifySafeSym:lZ,stringifiersSym:K3e,setLevelSym:Jir,endSym:Zir,formatOptsSym:ear,messageKeySym:tar,errorKeySym:rar,nestedKeySym:nar,mixinSym:sar,levelCompSym:iar,useOnlyCustomLevelsSym:aar,formattersSym:G3e,hooksSym:oar,nestedKeyStrSym:car,mixinMergeStrategySym:uar,msgPrefixSym:lar}=z3e,{epochTime:X3e,nullTime:dar}=Q3e,{pid:far}=process,har=Dir.hostname(),par=Y3e.err,mar={level:"info",levelComparison:Hir.ASC,levels:qir,messageKey:"msg",errorKey:"err",nestedKey:null,enabled:!0,base:{pid:far,hostname:har},serializers:Object.assign(Object.create(null),{err:par}),formatters:Object.assign(Object.create(null),{bindings(e){return e},level(e,t){return{level:t}}}),hooks:{logMethod:void 0},timestamp:X3e,name:void 0,redact:null,customLevels:null,useOnlyCustomLevels:!1,depthLimit:5,edgeLimit:100},gar=Vir(mar),_ar=Object.assign(Object.create(null),Y3e);function dZ(...e){let t={},{opts:r,stream:n}=gar(t,Pir(),...e),{redact:s,crlf:i,serializers:a,timestamp:o,messageKey:c,errorKey:u,nestedKey:l,base:d,name:f,level:h,customLevels:p,levelComparison:m,mixin:g,mixinMergeStrategy:_,useOnlyCustomLevels:y,formatters:E,hooks:A,depthLimit:v,edgeLimit:T,onChild:C,msgPrefix:b}=r,x=kir({maximumDepth:v,maximumBreadth:T}),w=Kir(E.level,E.bindings,E.log),P=uZ.bind({[lZ]:x}),M=s?Lir(s,P):{},L=s?{stringify:M[Qir]}:{stringify:P},U="}"+(i?`\r +`:` +`),Y=jir.bind(null,{[H3e]:"",[V3e]:a,[K3e]:M,[j3e]:uZ,[lZ]:x,[G3e]:w}),$="";d!==null&&(f===void 0?$=Y(d):$=Y(Object.assign({},d,{name:f})));let V=o instanceof Function?o:o?X3e:dar,W=V().indexOf(":")+1;if(y&&!p)throw Error("customLevels is required if useOnlyCustomLevels is set true");if(g&&typeof g!="function")throw Error(`Unknown mixin type "${typeof g}" - expected "function"`);if(b&&typeof b!="string")throw Error(`Unknown msgPrefix type "${typeof b}" - expected "string"`);Bir(h,p,y);let G=W3e(p,y);typeof n.emit=="function"&&n.emit("message",{code:"PINO_CONFIG",config:{levels:G,messageKey:c,errorKey:u}}),$ir(m);let se=Fir(m);return Object.assign(t,{levels:G,[iar]:se,[aar]:y,[Xir]:n,[zir]:V,[Wir]:W,[j3e]:uZ,[lZ]:x,[K3e]:M,[Zir]:U,[ear]:L,[tar]:c,[rar]:u,[nar]:l,[car]:l?`,${JSON.stringify(l)}:{`:"",[V3e]:a,[sar]:g,[uar]:_,[H3e]:$,[G3e]:w,[oar]:A,silent:Gir,onChild:C,[lar]:b}),Object.setPrototypeOf(t,Mir()),Uir(t),t[Jir](h),t}Jl.exports=dZ;Jl.exports.destination=(e=process.stdout.fd)=>typeof e=="object"?(e.dest=q3e(e.dest||process.stdout.fd),$3e(e)):$3e({dest:q3e(e),minLength:0});Jl.exports.transport=YJ();Jl.exports.multistream=F3e();Jl.exports.levels=W3e();Jl.exports.stdSerializers=_ar;Jl.exports.stdTimeFunctions=Object.assign({},Q3e);Jl.exports.symbols=z3e;Jl.exports.version=Yir;Jl.exports.default=dZ;Jl.exports.pino=dZ});var NN=S((IUn,nUe)=>{"use strict";var Aar=H4e(),NU=J3e(),{serializersSym:Z3e}=NU.symbols,{FST_ERR_LOG_INVALID_DESTINATION:Ear,FST_ERR_LOG_INVALID_LOGGER:yar}=Oo();function eUe(e){if(e.stream&&e.file)throw new Ear;e.file&&(e.stream=NU.destination(e.file),delete e.file);let t=e.logger,r=e.genReqId,n=null;return t?(e.logger=void 0,e.genReqId=void 0,t[Z3e]&&(e.serializers=Object.assign({},e.serializers,t[Z3e])),n=t.child({},e),e.logger=t,e.genReqId=r):n=NU(e,e.stream),n}var fZ={req:function(t){return{method:t.method,url:t.url,version:t.headers&&t.headers["accept-version"],hostname:t.hostname,remoteAddress:t.ip,remotePort:t.socket?t.socket.remotePort:void 0}},err:NU.stdSerializers.err,res:function(t){return{statusCode:t.statusCode}}};function Sar(){let e=process.hrtime();return e[0]*1e3+e[1]/1e6}function Tar(e){if(!e.logger){let n=Aar;return n.child=()=>n,{logger:n,hasLogger:!1}}if(tUe(e.logger))return{logger:eUe({logger:e.logger,serializers:Object.assign({},fZ,e.logger.serializers)}),hasLogger:!0};let t={};return Object.prototype.toString.call(e.logger)==="[object Object]"&&Reflect.ownKeys(e.logger).forEach(n=>{Object.defineProperty(t,n,{value:e.logger[n],writable:!0,enumerable:!0,configurable:!0})}),t.level=t.level||"info",t.serializers=Object.assign({},fZ,t.serializers),e.logger=t,{logger:eUe(e.logger),hasLogger:!0}}function tUe(e,t){let r=["info","error","debug","fatal","warn","trace","child"],n=e?r.filter(s=>!e[s]||typeof e[s]!="function"):r;if(n.length){if(n.length===r.length&&!t)return!1;throw yar(n.join(","))}else return!0}function bar(e,t,r,n,s){let i={[e.requestIdLogLabel]:n},a=e.childLoggerFactory.call(e.server,t,i,s||{},r);return e.childLoggerFactory!==rUe&&tUe(a,!0),a}function rUe(e,t,r){return e.child(t,r)}nUe.exports={createLogger:Tar,createChildLogger:bar,defaultChildLoggerFactory:rUe,serializers:fZ,now:Sar}});var OU=S((RUn,sUe)=>{"use strict";sUe.exports=Iar;function n1(e){return e instanceof Buffer?Buffer.from(e):new e.constructor(e.buffer.slice(),e.byteOffset,e.length)}function Iar(e){if(e=e||{},e.circles)return Rar(e);let t=new Map;if(t.set(Date,a=>new Date(a)),t.set(Map,(a,o)=>new Map(n(Array.from(a),o))),t.set(Set,(a,o)=>new Set(n(Array.from(a),o))),e.constructorHandlers)for(let a of e.constructorHandlers)t.set(a[0],a[1]);let r=null;return e.proto?i:s;function n(a,o){let c=Object.keys(a),u=new Array(c.length);for(let l=0;lnew Date(c)),n.set(Map,(c,u)=>new Map(i(Array.from(c),u))),n.set(Set,(c,u)=>new Set(i(Array.from(c),u))),e.constructorHandlers)for(let c of e.constructorHandlers)n.set(c[0],c[1]);let s=null;return e.proto?o:a;function i(c,u){let l=Object.keys(c),d=new Array(l.length);for(let f=0;f{"use strict";var Car=OU()({circles:!1,proto:!0}),{kSchemaVisited:iUe,kSchemaResponse:xar}=Sa(),pZ=Symbol.for("fluent-schema-object"),{FST_ERR_SCH_MISSING_ID:war,FST_ERR_SCH_ALREADY_PRESENT:Nar,FST_ERR_SCH_DUPLICATE:Oar,FST_ERR_SCH_CONTENT_MISSING_SCHEMA:Dar}=Oo(),oUe=["params","body","querystring","query","headers"];function DU(e){this.store=e||{}}DU.prototype.add=function(e){let t=Car(e.isFluentSchema||e.isFluentJSONSchema||e[pZ]?e.valueOf():e),r=t.$id;if(!r)throw new war;if(this.store[r])throw new Nar(r);this.store[r]=t};DU.prototype.getSchemas=function(){return Object.assign({},this.store)};DU.prototype.getSchema=function(e){return this.store[e]};function aUe(e){return typeof e=="object"&&Object.getPrototypeOf(e)!==Object.prototype}function Par(e,t){if(e[iUe])return e;if(e.query){if(e.querystring)throw new Oar("querystring");e.querystring=e.query}Lar(e);for(let r of oUe){let n=e[r];n&&!aUe(n)&&(e[r]=hZ(n,t.jsonShorthand))}if(e.response){let r=Object.keys(e.response);for(let n of r){if(aUe(e.response[n]))continue;let s=e.response[n].content,i=!1;if(s){let a=Object.keys(s);for(let o=0;o{"use strict";var kar=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;lUe.exports=class uUe{constructor(t){switch(t&&t.rounding){case"floor":this.parseInteger=Math.floor;break;case"ceil":this.parseInteger=Math.ceil;break;case"round":this.parseInteger=Math.round;break;case"trunc":default:this.parseInteger=Math.trunc;break}this._options=t}asInteger(t){if(Number.isInteger(t))return""+t;if(typeof t=="bigint")return t.toString();let r=this.parseInteger(t);if(r===1/0||r===-1/0||r!==r)throw new Error(`The value "${t}" cannot be converted to an integer.`);return""+r}asNumber(t){let r=Number(t);if(r!==r)throw new Error(`The value "${t}" cannot be converted to a number.`);return r===1/0||r===-1/0?"null":""+r}asBoolean(t){return t&&"true"||"false"}asDateTime(t){if(t===null)return'""';if(t instanceof Date)return'"'+t.toISOString()+'"';if(typeof t=="string")return'"'+t+'"';throw new Error(`The value "${t}" cannot be converted to a date-time.`)}asDate(t){if(t===null)return'""';if(t instanceof Date)return'"'+new Date(t.getTime()-t.getTimezoneOffset()*6e4).toISOString().slice(0,10)+'"';if(typeof t=="string")return'"'+t+'"';throw new Error(`The value "${t}" cannot be converted to a date.`)}asTime(t){if(t===null)return'""';if(t instanceof Date)return'"'+new Date(t.getTime()-t.getTimezoneOffset()*6e4).toISOString().slice(11,19)+'"';if(typeof t=="string")return'"'+t+'"';throw new Error(`The value "${t}" cannot be converted to a time.`)}asString(t){let r=t.length;if(r<42){let s="",i=-1,a=255;for(var n=0;n=55296&&a<=57343)return JSON.stringify(t);return i===-1&&'"'+t+'"'||'"'+s+t.slice(i)+'"'}else return r<5e3&&kar.test(t)===!1?'"'+t+'"':JSON.stringify(t)}asUnsafeString(t){return'"'+t+'"'}getState(){return this._options}static restoreFromState(t){return new uUe(t)}}});var LN=S(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.regexpCode=Sn.getEsmExportName=Sn.getProperty=Sn.safeStringify=Sn.stringify=Sn.strConcat=Sn.addCodeArg=Sn.str=Sn._=Sn.nil=Sn._Code=Sn.Name=Sn.IDENTIFIER=Sn._CodeOrName=void 0;var DN=class{};Sn._CodeOrName=DN;Sn.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Ly=class extends DN{constructor(t){if(super(),!Sn.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Sn.Name=Ly;var Zl=class extends DN{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let t=this._items[0];return t===""||t==='""'}get str(){var t;return(t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof Ly&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Sn._Code=Zl;Sn.nil=new Zl("");function dUe(e,...t){let r=[e[0]],n=0;for(;n{"use strict";Object.defineProperty(fu,"__esModule",{value:!0});fu.ValueScope=fu.ValueScopeName=fu.Scope=fu.varKinds=fu.UsedValueState=void 0;var du=LN(),AZ=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},PU;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(PU||(fu.UsedValueState=PU={}));fu.varKinds={const:new du.Name("const"),let:new du.Name("let"),var:new du.Name("var")};var LU=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof du.Name?t:this.name(t)}name(t){return new du.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return`${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};fu.Scope=LU;var MU=class extends du.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,du._)`.${new du.Name(r)}[${n}]`}};fu.ValueScopeName=MU;var Kar=(0,du._)`\n`,EZ=class extends LU{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?Kar:du.nil}}get(){return this._scope}name(t){return new MU(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(t),{prefix:i}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,o=this._values[i];if(o){let l=o.get(a);if(l)return l}else o=this._values[i]=new Map;o.set(a,s);let c=this._scope[i]||(this._scope[i]=[]),u=c.length;return c[u]=r.ref,s.setValue(r,{property:i,itemIndex:u}),s}getValue(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,du._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(t,r,n={},s){let i=du.nil;for(let a in t){let o=t[a];if(!o)continue;let c=n[a]=n[a]||new Map;o.forEach(u=>{if(c.has(u))return;c.set(u,PU.Started);let l=r(u);if(l){let d=this.opts.es5?fu.varKinds.var:fu.varKinds.const;i=(0,du._)`${i}${d} ${u} = ${l};${this.opts._n}`}else if(l=s?.(u))i=(0,du._)`${i}${l}${this.opts._n}`;else throw new AZ(u);c.set(u,PU.Completed)})}return i}};fu.ValueScope=EZ});var Ar=S(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.or=Ir.and=Ir.not=Ir.CodeGen=Ir.operators=Ir.varKinds=Ir.ValueScopeName=Ir.ValueScope=Ir.Scope=Ir.Name=Ir.regexpCode=Ir.stringify=Ir.getProperty=Ir.nil=Ir.strConcat=Ir.str=Ir._=void 0;var Zr=LN(),pf=yZ(),x_=LN();Object.defineProperty(Ir,"_",{enumerable:!0,get:function(){return x_._}});Object.defineProperty(Ir,"str",{enumerable:!0,get:function(){return x_.str}});Object.defineProperty(Ir,"strConcat",{enumerable:!0,get:function(){return x_.strConcat}});Object.defineProperty(Ir,"nil",{enumerable:!0,get:function(){return x_.nil}});Object.defineProperty(Ir,"getProperty",{enumerable:!0,get:function(){return x_.getProperty}});Object.defineProperty(Ir,"stringify",{enumerable:!0,get:function(){return x_.stringify}});Object.defineProperty(Ir,"regexpCode",{enumerable:!0,get:function(){return x_.regexpCode}});Object.defineProperty(Ir,"Name",{enumerable:!0,get:function(){return x_.Name}});var FU=yZ();Object.defineProperty(Ir,"Scope",{enumerable:!0,get:function(){return FU.Scope}});Object.defineProperty(Ir,"ValueScope",{enumerable:!0,get:function(){return FU.ValueScope}});Object.defineProperty(Ir,"ValueScopeName",{enumerable:!0,get:function(){return FU.ValueScopeName}});Object.defineProperty(Ir,"varKinds",{enumerable:!0,get:function(){return FU.varKinds}});Ir.operators={GT:new Zr._Code(">"),GTE:new Zr._Code(">="),LT:new Zr._Code("<"),LTE:new Zr._Code("<="),EQ:new Zr._Code("==="),NEQ:new Zr._Code("!=="),NOT:new Zr._Code("!"),OR:new Zr._Code("||"),AND:new Zr._Code("&&"),ADD:new Zr._Code("+")};var Up=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},vZ=class extends Up{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n}render({es5:t,_n:r}){let n=t?pf.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${s};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=i1(this.rhs,t,r)),this}get names(){return this.rhs instanceof Zr._CodeOrName?this.rhs.names:{}}},kU=class extends Up{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof Zr.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=i1(this.rhs,t,r),this}get names(){let t=this.lhs instanceof Zr.Name?{}:{...this.lhs.names};return UU(t,this.rhs)}},SZ=class extends kU{constructor(t,r,n,s){super(t,n,s),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},TZ=class extends Up{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},bZ=class extends Up{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},IZ=class extends Up{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},RZ=class extends Up{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,r){return this.code=i1(this.code,t,r),this}get names(){return this.code instanceof Zr._CodeOrName?this.code.names:{}}},MN=class extends Up{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1)}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,s=n.length;for(;s--;){let i=n[s];i.optimizeNames(t,r)||(Gar(t,i.names),n.splice(s,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>By(t,r.names),{})}},Fp=class extends MN{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},CZ=class extends MN{},s1=class extends Fp{};s1.kind="else";var My=class e extends Fp{constructor(t,r){super(r),this.condition=t}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new s1(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(hUe(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=i1(this.condition,t,r),this}get names(){let t=super.names;return UU(t,this.condition),this.else&&By(t,this.else.names),t}};My.kind="if";var ky=class extends Fp{};ky.kind="for";var xZ=class extends ky{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=i1(this.iteration,t,r),this}get names(){return By(super.names,this.iteration.names)}},wZ=class extends ky{constructor(t,r,n,s){super(),this.varKind=t,this.name=r,this.from=n,this.to=s}render(t){let r=t.es5?pf.varKinds.var:this.varKind,{name:n,from:s,to:i}=this;return`for(${r} ${n}=${s}; ${n}<${i}; ${n}++)`+super.render(t)}get names(){let t=UU(super.names,this.from);return UU(t,this.to)}},BU=class extends ky{constructor(t,r,n,s){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=s}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=i1(this.iterable,t,r),this}get names(){return By(super.names,this.iterable.names)}},kN=class extends Fp{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};kN.kind="func";var BN=class extends MN{render(t){return"return "+super.render(t)}};BN.kind="return";var NZ=class extends Fp{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,s;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(s=this.finally)===null||s===void 0||s.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&By(t,this.catch.names),this.finally&&By(t,this.finally.names),t}},UN=class extends Fp{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};UN.kind="catch";var FN=class extends Fp{render(t){return"finally"+super.render(t)}};FN.kind="finally";var OZ=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?` +`:""},this._extScope=t,this._scope=new pf.Scope({parent:t}),this._nodes=[new CZ]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let n=this._extScope.value(t,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,n,s){let i=this._scope.toName(r);return n!==void 0&&s&&(this._constants[i.str]=n),this._leafNode(new vZ(t,i,n)),i}const(t,r,n){return this._def(pf.varKinds.const,t,r,n)}let(t,r,n){return this._def(pf.varKinds.let,t,r,n)}var(t,r,n){return this._def(pf.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new kU(t,r,n))}add(t,r){return this._leafNode(new SZ(t,Ir.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==Zr.nil&&this._leafNode(new RZ(t)),this}object(...t){let r=["{"];for(let[n,s]of t)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0,Zr.addCodeArg)(r,s));return r.push("}"),new Zr._Code(r)}if(t,r,n){if(this._blockNode(new My(t)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new My(t))}else(){return this._elseNode(new s1)}endIf(){return this._endBlockNode(My,s1)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new xZ(t),r)}forRange(t,r,n,s,i=this.opts.es5?pf.varKinds.var:pf.varKinds.let){let a=this._scope.toName(t);return this._for(new wZ(i,a,r,n),()=>s(a))}forOf(t,r,n,s=pf.varKinds.const){let i=this._scope.toName(t);if(this.opts.es5){let a=r instanceof Zr.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,Zr._)`${a}.length`,o=>{this.var(i,(0,Zr._)`${a}[${o}]`),n(i)})}return this._for(new BU("of",s,i,r),()=>n(i))}forIn(t,r,n,s=this.opts.es5?pf.varKinds.var:pf.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,Zr._)`Object.keys(${r})`,n);let i=this._scope.toName(t);return this._for(new BU("in",s,i,r),()=>n(i))}endFor(){return this._endBlockNode(ky)}label(t){return this._leafNode(new TZ(t))}break(t){return this._leafNode(new bZ(t))}return(t){let r=new BN;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(BN)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new NZ;if(this._blockNode(s),this.code(t),r){let i=this.name("e");this._currNode=s.catch=new UN(i),r(i)}return n&&(this._currNode=s.finally=new FN,this.code(n)),this._endBlockNode(UN,FN)}throw(t){return this._leafNode(new IZ(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=Zr.nil,n,s){return this._blockNode(new kN(t,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(kN)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t)}_endBlockNode(t,r){let n=this._currNode;if(n instanceof t||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof My))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t}};Ir.CodeGen=OZ;function By(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function UU(e,t){return t instanceof Zr._CodeOrName?By(e,t.names):e}function i1(e,t,r){if(e instanceof Zr.Name)return n(e);if(!s(e))return e;return new Zr._Code(e._items.reduce((i,a)=>(a instanceof Zr.Name&&(a=n(a)),a instanceof Zr._Code?i.push(...a._items):i.push(a),i),[]));function n(i){let a=r[i.str];return a===void 0||t[i.str]!==1?i:(delete t[i.str],a)}function s(i){return i instanceof Zr._Code&&i._items.some(a=>a instanceof Zr.Name&&t[a.str]===1&&r[a.str]!==void 0)}}function Gar(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function hUe(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,Zr._)`!${DZ(e)}`}Ir.not=hUe;var Yar=pUe(Ir.operators.AND);function Qar(...e){return e.reduce(Yar)}Ir.and=Qar;var zar=pUe(Ir.operators.OR);function War(...e){return e.reduce(zar)}Ir.or=War;function pUe(e){return(t,r)=>t===Zr.nil?r:r===Zr.nil?t:(0,Zr._)`${DZ(t)} ${e} ${DZ(r)}`}function DZ(e){return e instanceof Zr.Name?e:(0,Zr._)`(${e})`}});var dn=S(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.checkStrictMode=wr.getErrorPath=wr.Type=wr.useFunc=wr.setEvaluated=wr.evaluatedPropsToName=wr.mergeEvaluated=wr.eachItem=wr.unescapeJsonPointer=wr.escapeJsonPointer=wr.escapeFragment=wr.unescapeFragment=wr.schemaRefOrVal=wr.schemaHasRulesButRef=wr.schemaHasRules=wr.checkUnknownRules=wr.alwaysValidSchema=wr.toHash=void 0;var ms=Ar(),Xar=LN();function Jar(e){let t={};for(let r of e)t[r]=!0;return t}wr.toHash=Jar;function Zar(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(_Ue(e,t),!AUe(t,e.self.RULES.all))}wr.alwaysValidSchema=Zar;function _Ue(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let s=n.RULES.keywords;for(let i in t)s[i]||vUe(e,`unknown keyword: "${i}"`)}wr.checkUnknownRules=_Ue;function AUe(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}wr.schemaHasRules=AUe;function eor(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}wr.schemaHasRulesButRef=eor;function tor({topSchemaRef:e,schemaPath:t},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,ms._)`${r}`}return(0,ms._)`${e}${t}${(0,ms.getProperty)(n)}`}wr.schemaRefOrVal=tor;function ror(e){return EUe(decodeURIComponent(e))}wr.unescapeFragment=ror;function nor(e){return encodeURIComponent(LZ(e))}wr.escapeFragment=nor;function LZ(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}wr.escapeJsonPointer=LZ;function EUe(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}wr.unescapeJsonPointer=EUe;function sor(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}wr.eachItem=sor;function mUe({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(s,i,a,o)=>{let c=a===void 0?i:a instanceof ms.Name?(i instanceof ms.Name?e(s,i,a):t(s,i,a),a):i instanceof ms.Name?(t(s,a,i),i):r(i,a);return o===ms.Name&&!(c instanceof ms.Name)?n(s,c):c}}wr.mergeEvaluated={props:mUe({mergeNames:(e,t,r)=>e.if((0,ms._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,ms._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,ms._)`${r} || {}`).code((0,ms._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,ms._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,ms._)`${r} || {}`),MZ(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:yUe}),items:mUe({mergeNames:(e,t,r)=>e.if((0,ms._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,ms._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,ms._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,ms._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function yUe(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,ms._)`{}`);return t!==void 0&&MZ(e,r,t),r}wr.evaluatedPropsToName=yUe;function MZ(e,t,r){Object.keys(r).forEach(n=>e.assign((0,ms._)`${t}${(0,ms.getProperty)(n)}`,!0))}wr.setEvaluated=MZ;var gUe={};function ior(e,t){return e.scopeValue("func",{ref:t,code:gUe[t.code]||(gUe[t.code]=new Xar._Code(t.code))})}wr.useFunc=ior;var PZ;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(PZ||(wr.Type=PZ={}));function aor(e,t,r){if(e instanceof ms.Name){let n=t===PZ.Num;return r?n?(0,ms._)`"[" + ${e} + "]"`:(0,ms._)`"['" + ${e} + "']"`:n?(0,ms._)`"/" + ${e}`:(0,ms._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,ms.getProperty)(e).toString():"/"+LZ(e)}wr.getErrorPath=aor;function vUe(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}wr.checkStrictMode=vUe});var $p=S(kZ=>{"use strict";Object.defineProperty(kZ,"__esModule",{value:!0});var Po=Ar(),oor={data:new Po.Name("data"),valCxt:new Po.Name("valCxt"),instancePath:new Po.Name("instancePath"),parentData:new Po.Name("parentData"),parentDataProperty:new Po.Name("parentDataProperty"),rootData:new Po.Name("rootData"),dynamicAnchors:new Po.Name("dynamicAnchors"),vErrors:new Po.Name("vErrors"),errors:new Po.Name("errors"),this:new Po.Name("this"),self:new Po.Name("self"),scope:new Po.Name("scope"),json:new Po.Name("json"),jsonPos:new Po.Name("jsonPos"),jsonLen:new Po.Name("jsonLen"),jsonPart:new Po.Name("jsonPart")};kZ.default=oor});var $N=S(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.extendErrors=Lo.resetErrorsCount=Lo.reportExtraError=Lo.reportError=Lo.keyword$DataError=Lo.keywordError=void 0;var fn=Ar(),$U=dn(),Cc=$p();Lo.keywordError={message:({keyword:e})=>(0,fn.str)`must pass "${e}" keyword validation`};Lo.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,fn.str)`"${e}" keyword must be ${t} ($data)`:(0,fn.str)`"${e}" keyword is invalid ($data)`};function cor(e,t=Lo.keywordError,r,n){let{it:s}=e,{gen:i,compositeRule:a,allErrors:o}=s,c=bUe(e,t,r);n??(a||o)?SUe(i,c):TUe(s,(0,fn._)`[${c}]`)}Lo.reportError=cor;function uor(e,t=Lo.keywordError,r){let{it:n}=e,{gen:s,compositeRule:i,allErrors:a}=n,o=bUe(e,t,r);SUe(s,o),i||a||TUe(n,Cc.default.vErrors)}Lo.reportExtraError=uor;function lor(e,t){e.assign(Cc.default.errors,t),e.if((0,fn._)`${Cc.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,fn._)`${Cc.default.vErrors}.length`,t),()=>e.assign(Cc.default.vErrors,null)))}Lo.resetErrorsCount=lor;function dor({gen:e,keyword:t,schemaValue:r,data:n,errsCount:s,it:i}){if(s===void 0)throw new Error("ajv implementation error");let a=e.name("err");e.forRange("i",s,Cc.default.errors,o=>{e.const(a,(0,fn._)`${Cc.default.vErrors}[${o}]`),e.if((0,fn._)`${a}.instancePath === undefined`,()=>e.assign((0,fn._)`${a}.instancePath`,(0,fn.strConcat)(Cc.default.instancePath,i.errorPath))),e.assign((0,fn._)`${a}.schemaPath`,(0,fn.str)`${i.errSchemaPath}/${t}`),i.opts.verbose&&(e.assign((0,fn._)`${a}.schema`,r),e.assign((0,fn._)`${a}.data`,n))})}Lo.extendErrors=dor;function SUe(e,t){let r=e.const("err",t);e.if((0,fn._)`${Cc.default.vErrors} === null`,()=>e.assign(Cc.default.vErrors,(0,fn._)`[${r}]`),(0,fn._)`${Cc.default.vErrors}.push(${r})`),e.code((0,fn._)`${Cc.default.errors}++`)}function TUe(e,t){let{gen:r,validateName:n,schemaEnv:s}=e;s.$async?r.throw((0,fn._)`new ${e.ValidationError}(${t})`):(r.assign((0,fn._)`${n}.errors`,t),r.return(!1))}var Uy={keyword:new fn.Name("keyword"),schemaPath:new fn.Name("schemaPath"),params:new fn.Name("params"),propertyName:new fn.Name("propertyName"),message:new fn.Name("message"),schema:new fn.Name("schema"),parentSchema:new fn.Name("parentSchema")};function bUe(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,fn._)`{}`:hor(e,t,r)}function hor(e,t,r={}){let{gen:n,it:s}=e,i=[por(s,r),mor(e,r)];return gor(e,t,i),n.object(...i)}function por({errorPath:e},{instancePath:t}){let r=t?(0,fn.str)`${e}${(0,$U.getErrorPath)(t,$U.Type.Str)}`:e;return[Cc.default.instancePath,(0,fn.strConcat)(Cc.default.instancePath,r)]}function mor({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let s=n?t:(0,fn.str)`${t}/${e}`;return r&&(s=(0,fn.str)`${s}${(0,$U.getErrorPath)(r,$U.Type.Str)}`),[Uy.schemaPath,s]}function gor(e,{params:t,message:r},n){let{keyword:s,data:i,schemaValue:a,it:o}=e,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=o;n.push([Uy.keyword,s],[Uy.params,typeof t=="function"?t(e):t||(0,fn._)`{}`]),c.messages&&n.push([Uy.message,typeof r=="function"?r(e):r]),c.verbose&&n.push([Uy.schema,a],[Uy.parentSchema,(0,fn._)`${l}${d}`],[Cc.default.data,i]),u&&n.push([Uy.propertyName,u])}});var RUe=S(a1=>{"use strict";Object.defineProperty(a1,"__esModule",{value:!0});a1.boolOrEmptySchema=a1.topBoolOrEmptySchema=void 0;var _or=$N(),Aor=Ar(),Eor=$p(),yor={message:"boolean schema is false"};function vor(e){let{gen:t,schema:r,validateName:n}=e;r===!1?IUe(e,!1):typeof r=="object"&&r.$async===!0?t.return(Eor.default.data):(t.assign((0,Aor._)`${n}.errors`,null),t.return(!0))}a1.topBoolOrEmptySchema=vor;function Sor(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),IUe(e)):r.var(t,!0)}a1.boolOrEmptySchema=Sor;function IUe(e,t){let{gen:r,data:n}=e,s={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,_or.reportError)(s,yor,void 0,t)}});var BZ=S(o1=>{"use strict";Object.defineProperty(o1,"__esModule",{value:!0});o1.getRules=o1.isJSONType=void 0;var Tor=["string","number","integer","boolean","null","object","array"],bor=new Set(Tor);function Ior(e){return typeof e=="string"&&bor.has(e)}o1.isJSONType=Ior;function Ror(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}o1.getRules=Ror});var UZ=S(w_=>{"use strict";Object.defineProperty(w_,"__esModule",{value:!0});w_.shouldUseRule=w_.shouldUseGroup=w_.schemaHasRulesForType=void 0;function Cor({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&CUe(e,n)}w_.schemaHasRulesForType=Cor;function CUe(e,t){return t.rules.some(r=>xUe(e,r))}w_.shouldUseGroup=CUe;function xUe(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}w_.shouldUseRule=xUe});var qN=S(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.reportTypeError=Mo.checkDataTypes=Mo.checkDataType=Mo.coerceAndCheckDataType=Mo.getJSONTypes=Mo.getSchemaTypes=Mo.DataType=void 0;var xor=BZ(),wor=UZ(),Nor=$N(),dr=Ar(),wUe=dn(),c1;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(c1||(Mo.DataType=c1={}));function Oor(e){let t=NUe(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}Mo.getSchemaTypes=Oor;function NUe(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(xor.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}Mo.getJSONTypes=NUe;function Dor(e,t){let{gen:r,data:n,opts:s}=e,i=Por(t,s.coerceTypes),a=t.length>0&&!(i.length===0&&t.length===1&&(0,wor.schemaHasRulesForType)(e,t[0]));if(a){let o=$Z(t,n,s.strictNumbers,c1.Wrong);r.if(o,()=>{i.length?Lor(e,t,i):qZ(e)})}return a}Mo.coerceAndCheckDataType=Dor;var OUe=new Set(["string","number","integer","boolean","null"]);function Por(e,t){return t?e.filter(r=>OUe.has(r)||t==="array"&&r==="array"):[]}function Lor(e,t,r){let{gen:n,data:s,opts:i}=e,a=n.let("dataType",(0,dr._)`typeof ${s}`),o=n.let("coerced",(0,dr._)`undefined`);i.coerceTypes==="array"&&n.if((0,dr._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0,dr._)`${s}[0]`).assign(a,(0,dr._)`typeof ${s}`).if($Z(t,s,i.strictNumbers),()=>n.assign(o,s))),n.if((0,dr._)`${o} !== undefined`);for(let u of r)(OUe.has(u)||u==="array"&&i.coerceTypes==="array")&&c(u);n.else(),qZ(e),n.endIf(),n.if((0,dr._)`${o} !== undefined`,()=>{n.assign(s,o),Mor(e,o)});function c(u){switch(u){case"string":n.elseIf((0,dr._)`${a} == "number" || ${a} == "boolean"`).assign(o,(0,dr._)`"" + ${s}`).elseIf((0,dr._)`${s} === null`).assign(o,(0,dr._)`""`);return;case"number":n.elseIf((0,dr._)`${a} == "boolean" || ${s} === null + || (${a} == "string" && ${s} && ${s} == +${s})`).assign(o,(0,dr._)`+${s}`);return;case"integer":n.elseIf((0,dr._)`${a} === "boolean" || ${s} === null + || (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(o,(0,dr._)`+${s}`);return;case"boolean":n.elseIf((0,dr._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(o,!1).elseIf((0,dr._)`${s} === "true" || ${s} === 1`).assign(o,!0);return;case"null":n.elseIf((0,dr._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(o,null);return;case"array":n.elseIf((0,dr._)`${a} === "string" || ${a} === "number" + || ${a} === "boolean" || ${s} === null`).assign(o,(0,dr._)`[${s}]`)}}}function Mor({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,dr._)`${t} !== undefined`,()=>e.assign((0,dr._)`${t}[${r}]`,n))}function FZ(e,t,r,n=c1.Correct){let s=n===c1.Correct?dr.operators.EQ:dr.operators.NEQ,i;switch(e){case"null":return(0,dr._)`${t} ${s} null`;case"array":i=(0,dr._)`Array.isArray(${t})`;break;case"object":i=(0,dr._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":i=a((0,dr._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":i=a();break;default:return(0,dr._)`typeof ${t} ${s} ${e}`}return n===c1.Correct?i:(0,dr.not)(i);function a(o=dr.nil){return(0,dr.and)((0,dr._)`typeof ${t} == "number"`,o,r?(0,dr._)`isFinite(${t})`:dr.nil)}}Mo.checkDataType=FZ;function $Z(e,t,r,n){if(e.length===1)return FZ(e[0],t,r,n);let s,i=(0,wUe.toHash)(e);if(i.array&&i.object){let a=(0,dr._)`typeof ${t} != "object"`;s=i.null?a:(0,dr._)`!${t} || ${a}`,delete i.null,delete i.array,delete i.object}else s=dr.nil;i.number&&delete i.integer;for(let a in i)s=(0,dr.and)(s,FZ(a,t,r,n));return s}Mo.checkDataTypes=$Z;var kor={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,dr._)`{type: ${e}}`:(0,dr._)`{type: ${t}}`};function qZ(e){let t=Bor(e);(0,Nor.reportError)(t,kor)}Mo.reportTypeError=qZ;function Bor(e){let{gen:t,data:r,schema:n}=e,s=(0,wUe.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:e}}});var PUe=S(qU=>{"use strict";Object.defineProperty(qU,"__esModule",{value:!0});qU.assignDefaults=void 0;var u1=Ar(),Uor=dn();function For(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let s in r)DUe(e,s,r[s].default);else t==="array"&&Array.isArray(n)&&n.forEach((s,i)=>DUe(e,i,s.default))}qU.assignDefaults=For;function DUe(e,t,r){let{gen:n,compositeRule:s,data:i,opts:a}=e;if(r===void 0)return;let o=(0,u1._)`${i}${(0,u1.getProperty)(t)}`;if(s){(0,Uor.checkStrictMode)(e,`default is ignored for: ${o}`);return}let c=(0,u1._)`${o} === undefined`;a.useDefaults==="empty"&&(c=(0,u1._)`${c} || ${o} === null || ${o} === ""`),n.if(c,(0,u1._)`${o} = ${(0,u1.stringify)(r)}`)}});var ed=S(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});rs.validateUnion=rs.validateArray=rs.usePattern=rs.callValidateCode=rs.schemaProperties=rs.allSchemaProperties=rs.noPropertyInData=rs.propertyInData=rs.isOwnProperty=rs.hasPropFunc=rs.reportMissingProp=rs.checkMissingProp=rs.checkReportMissingProp=void 0;var Ps=Ar(),HZ=dn(),N_=$p(),$or=dn();function qor(e,t){let{gen:r,data:n,it:s}=e;r.if(jZ(r,n,t,s.opts.ownProperties),()=>{e.setParams({missingProperty:(0,Ps._)`${t}`},!0),e.error()})}rs.checkReportMissingProp=qor;function Hor({gen:e,data:t,it:{opts:r}},n,s){return(0,Ps.or)(...n.map(i=>(0,Ps.and)(jZ(e,t,i,r.ownProperties),(0,Ps._)`${s} = ${i}`)))}rs.checkMissingProp=Hor;function Vor(e,t){e.setParams({missingProperty:t},!0),e.error()}rs.reportMissingProp=Vor;function LUe(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Ps._)`Object.prototype.hasOwnProperty`})}rs.hasPropFunc=LUe;function VZ(e,t,r){return(0,Ps._)`${LUe(e)}.call(${t}, ${r})`}rs.isOwnProperty=VZ;function jor(e,t,r,n){let s=(0,Ps._)`${t}${(0,Ps.getProperty)(r)} !== undefined`;return n?(0,Ps._)`${s} && ${VZ(e,t,r)}`:s}rs.propertyInData=jor;function jZ(e,t,r,n){let s=(0,Ps._)`${t}${(0,Ps.getProperty)(r)} === undefined`;return n?(0,Ps.or)(s,(0,Ps.not)(VZ(e,t,r))):s}rs.noPropertyInData=jZ;function MUe(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}rs.allSchemaProperties=MUe;function Kor(e,t){return MUe(t).filter(r=>!(0,HZ.alwaysValidSchema)(e,t[r]))}rs.schemaProperties=Kor;function Gor({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:i},it:a},o,c,u){let l=u?(0,Ps._)`${e}, ${t}, ${n}${s}`:t,d=[[N_.default.instancePath,(0,Ps.strConcat)(N_.default.instancePath,i)],[N_.default.parentData,a.parentData],[N_.default.parentDataProperty,a.parentDataProperty],[N_.default.rootData,N_.default.rootData]];a.opts.dynamicRef&&d.push([N_.default.dynamicAnchors,N_.default.dynamicAnchors]);let f=(0,Ps._)`${l}, ${r.object(...d)}`;return c!==Ps.nil?(0,Ps._)`${o}.call(${c}, ${f})`:(0,Ps._)`${o}(${f})`}rs.callValidateCode=Gor;var Yor=(0,Ps._)`new RegExp`;function Qor({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:s}=t.code,i=s(r,n);return e.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,Ps._)`${s.code==="new RegExp"?Yor:(0,$or.useFunc)(e,s)}(${r}, ${n})`})}rs.usePattern=Qor;function zor(e){let{gen:t,data:r,keyword:n,it:s}=e,i=t.name("valid");if(s.allErrors){let o=t.let("valid",!0);return a(()=>t.assign(o,!1)),o}return t.var(i,!0),a(()=>t.break()),i;function a(o){let c=t.const("len",(0,Ps._)`${r}.length`);t.forRange("i",0,c,u=>{e.subschema({keyword:n,dataProp:u,dataPropType:HZ.Type.Num},i),t.if((0,Ps.not)(i),o)})}}rs.validateArray=zor;function Wor(e){let{gen:t,schema:r,keyword:n,it:s}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,HZ.alwaysValidSchema)(s,c))&&!s.opts.unevaluated)return;let a=t.let("valid",!1),o=t.name("_valid");t.block(()=>r.forEach((c,u)=>{let l=e.subschema({keyword:n,schemaProp:u,compositeRule:!0},o);t.assign(a,(0,Ps._)`${a} || ${o}`),e.mergeValidEvaluated(l,o)||t.if((0,Ps.not)(a))})),e.result(a,()=>e.reset(),()=>e.error(!0))}rs.validateUnion=Wor});var UUe=S($0=>{"use strict";Object.defineProperty($0,"__esModule",{value:!0});$0.validateKeywordUsage=$0.validSchemaType=$0.funcKeywordCode=$0.macroKeywordCode=void 0;var xc=Ar(),Fy=$p(),Xor=ed(),Jor=$N();function Zor(e,t){let{gen:r,keyword:n,schema:s,parentSchema:i,it:a}=e,o=t.macro.call(a.self,s,i,a),c=BUe(r,n,o);a.opts.validateSchema!==!1&&a.self.validateSchema(o,!0);let u=r.name("valid");e.subschema({schema:o,schemaPath:xc.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),e.pass(u,()=>e.error(!0))}$0.macroKeywordCode=Zor;function ecr(e,t){var r;let{gen:n,keyword:s,schema:i,parentSchema:a,$data:o,it:c}=e;rcr(c,t);let u=!o&&t.compile?t.compile.call(c.self,i,a,c):t.validate,l=BUe(n,s,u),d=n.let("valid");e.block$data(d,f),e.ok((r=t.valid)!==null&&r!==void 0?r:d);function f(){if(t.errors===!1)m(),t.modifying&&kUe(e),g(()=>e.error());else{let _=t.async?h():p();t.modifying&&kUe(e),g(()=>tcr(e,_))}}function h(){let _=n.let("ruleErrs",null);return n.try(()=>m((0,xc._)`await `),y=>n.assign(d,!1).if((0,xc._)`${y} instanceof ${c.ValidationError}`,()=>n.assign(_,(0,xc._)`${y}.errors`),()=>n.throw(y))),_}function p(){let _=(0,xc._)`${l}.errors`;return n.assign(_,null),m(xc.nil),_}function m(_=t.async?(0,xc._)`await `:xc.nil){let y=c.opts.passContext?Fy.default.this:Fy.default.self,E=!("compile"in t&&!o||t.schema===!1);n.assign(d,(0,xc._)`${_}${(0,Xor.callValidateCode)(e,l,y,E)}`,t.modifying)}function g(_){var y;n.if((0,xc.not)((y=t.valid)!==null&&y!==void 0?y:d),_)}}$0.funcKeywordCode=ecr;function kUe(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,xc._)`${n.parentData}[${n.parentDataProperty}]`))}function tcr(e,t){let{gen:r}=e;r.if((0,xc._)`Array.isArray(${t})`,()=>{r.assign(Fy.default.vErrors,(0,xc._)`${Fy.default.vErrors} === null ? ${t} : ${Fy.default.vErrors}.concat(${t})`).assign(Fy.default.errors,(0,xc._)`${Fy.default.vErrors}.length`),(0,Jor.extendErrors)(e)},()=>e.error())}function rcr({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function BUe(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,xc.stringify)(r)})}function ncr(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}$0.validSchemaType=ncr;function scr({schema:e,opts:t,self:r,errSchemaPath:n},s,i){if(Array.isArray(s.keyword)?!s.keyword.includes(i):s.keyword!==i)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(o=>!Object.prototype.hasOwnProperty.call(e,o)))throw new Error(`parent schema must have dependencies of ${i}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(e[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}$0.validateKeywordUsage=scr});var $Ue=S(O_=>{"use strict";Object.defineProperty(O_,"__esModule",{value:!0});O_.extendSubschemaMode=O_.extendSubschemaData=O_.getSubschema=void 0;var q0=Ar(),FUe=dn();function icr(e,{keyword:t,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:i,topSchemaRef:a}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let o=e.schema[t];return r===void 0?{schema:o,schemaPath:(0,q0._)`${e.schemaPath}${(0,q0.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:o[r],schemaPath:(0,q0._)`${e.schemaPath}${(0,q0.getProperty)(t)}${(0,q0.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,FUe.escapeFragment)(r)}`}}if(n!==void 0){if(s===void 0||i===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:s,topSchemaRef:a,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}O_.getSubschema=icr;function acr(e,t,{dataProp:r,dataPropType:n,data:s,dataTypes:i,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:o}=t;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=t,f=o.let("data",(0,q0._)`${t.data}${(0,q0.getProperty)(r)}`,!0);c(f),e.errorPath=(0,q0.str)`${u}${(0,FUe.getErrorPath)(r,n,d.jsPropertySyntax)}`,e.parentDataProperty=(0,q0._)`${r}`,e.dataPathArr=[...l,e.parentDataProperty]}if(s!==void 0){let u=s instanceof q0.Name?s:o.let("data",s,!0);c(u),a!==void 0&&(e.propertyName=a)}i&&(e.dataTypes=i);function c(u){e.data=u,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,u]}}O_.extendSubschemaData=acr;function ocr(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:i}){n!==void 0&&(e.compositeRule=n),s!==void 0&&(e.createErrors=s),i!==void 0&&(e.allErrors=i),e.jtdDiscriminator=t,e.jtdMetadata=r}O_.extendSubschemaMode=ocr});var td=S((VUn,qUe)=>{"use strict";qUe.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,s,i;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(s=n;s--!==0;)if(!e(t[s],r[s]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(i=Object.keys(t),n=i.length,n!==Object.keys(r).length)return!1;for(s=n;s--!==0;)if(!Object.prototype.hasOwnProperty.call(r,i[s]))return!1;for(s=n;s--!==0;){var a=i[s];if(!e(t[a],r[a]))return!1}return!0}return t!==t&&r!==r}});var VUe=S((jUn,HUe)=>{"use strict";var D_=HUe.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};HU(t,n,s,e,"",e)};D_.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};D_.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};D_.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};D_.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function HU(e,t,r,n,s,i,a,o,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,s,i,a,o,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in D_.arrayKeywords)for(var f=0;f{"use strict";Object.defineProperty(hu,"__esModule",{value:!0});hu.getSchemaRefs=hu.resolveUrl=hu.normalizeId=hu._getFullPath=hu.getFullPath=hu.inlineRef=void 0;var ucr=dn(),lcr=td(),dcr=VUe(),fcr=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function hcr(e,t=!0){return typeof e=="boolean"?!0:t===!0?!KZ(e):t?jUe(e)<=t:!1}hu.inlineRef=hcr;var pcr=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function KZ(e){for(let t in e){if(pcr.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(KZ)||typeof r=="object"&&KZ(r))return!0}return!1}function jUe(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!fcr.has(r)&&(typeof e[r]=="object"&&(0,ucr.eachItem)(e[r],n=>t+=jUe(n)),t===1/0))return 1/0}return t}function KUe(e,t="",r){r!==!1&&(t=l1(t));let n=e.parse(t);return GUe(e,n)}hu.getFullPath=KUe;function GUe(e,t){return e.serialize(t).split("#")[0]+"#"}hu._getFullPath=GUe;var mcr=/#\/?$/;function l1(e){return e?e.replace(mcr,""):""}hu.normalizeId=l1;function gcr(e,t,r){return r=l1(r),e.resolve(t,r)}hu.resolveUrl=gcr;var _cr=/^[a-z_][-a-z0-9._]*$/i;function Acr(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,s=l1(e[r]||t),i={"":s},a=KUe(n,s,!1),o={},c=new Set;return dcr(e,{allKeys:!0},(d,f,h,p)=>{if(p===void 0)return;let m=a+f,g=i[p];typeof d[r]=="string"&&(g=_.call(this,d[r])),y.call(this,d.$anchor),y.call(this,d.$dynamicAnchor),i[f]=g;function _(E){let A=this.opts.uriResolver.resolve;if(E=l1(g?A(g,E):E),c.has(E))throw l(E);c.add(E);let v=this.refs[E];return typeof v=="string"&&(v=this.refs[v]),typeof v=="object"?u(d,v.schema,E):E!==l1(m)&&(E[0]==="#"?(u(d,o[E],E),o[E]=d):this.refs[E]=m),E}function y(E){if(typeof E=="string"){if(!_cr.test(E))throw new Error(`invalid anchor "${E}"`);_.call(this,`#${E}`)}}}),o;function u(d,f,h){if(f!==void 0&&!lcr(d,f))throw l(h)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}hu.getSchemaRefs=Acr});var KN=S(P_=>{"use strict";Object.defineProperty(P_,"__esModule",{value:!0});P_.getData=P_.KeywordCxt=P_.validateFunctionCode=void 0;var XUe=RUe(),YUe=qN(),YZ=UZ(),VU=qN(),Ecr=PUe(),jN=UUe(),GZ=$Ue(),vt=Ar(),Wt=$p(),ycr=HN(),qp=dn(),VN=$N();function vcr(e){if(eFe(e)&&(tFe(e),ZUe(e))){bcr(e);return}JUe(e,()=>(0,XUe.topBoolOrEmptySchema)(e))}P_.validateFunctionCode=vcr;function JUe({gen:e,validateName:t,schema:r,schemaEnv:n,opts:s},i){s.code.es5?e.func(t,(0,vt._)`${Wt.default.data}, ${Wt.default.valCxt}`,n.$async,()=>{e.code((0,vt._)`"use strict"; ${QUe(r,s)}`),Tcr(e,s),e.code(i)}):e.func(t,(0,vt._)`${Wt.default.data}, ${Scr(s)}`,n.$async,()=>e.code(QUe(r,s)).code(i))}function Scr(e){return(0,vt._)`{${Wt.default.instancePath}="", ${Wt.default.parentData}, ${Wt.default.parentDataProperty}, ${Wt.default.rootData}=${Wt.default.data}${e.dynamicRef?(0,vt._)`, ${Wt.default.dynamicAnchors}={}`:vt.nil}}={}`}function Tcr(e,t){e.if(Wt.default.valCxt,()=>{e.var(Wt.default.instancePath,(0,vt._)`${Wt.default.valCxt}.${Wt.default.instancePath}`),e.var(Wt.default.parentData,(0,vt._)`${Wt.default.valCxt}.${Wt.default.parentData}`),e.var(Wt.default.parentDataProperty,(0,vt._)`${Wt.default.valCxt}.${Wt.default.parentDataProperty}`),e.var(Wt.default.rootData,(0,vt._)`${Wt.default.valCxt}.${Wt.default.rootData}`),t.dynamicRef&&e.var(Wt.default.dynamicAnchors,(0,vt._)`${Wt.default.valCxt}.${Wt.default.dynamicAnchors}`)},()=>{e.var(Wt.default.instancePath,(0,vt._)`""`),e.var(Wt.default.parentData,(0,vt._)`undefined`),e.var(Wt.default.parentDataProperty,(0,vt._)`undefined`),e.var(Wt.default.rootData,Wt.default.data),t.dynamicRef&&e.var(Wt.default.dynamicAnchors,(0,vt._)`{}`)})}function bcr(e){let{schema:t,opts:r,gen:n}=e;JUe(e,()=>{r.$comment&&t.$comment&&nFe(e),wcr(e),n.let(Wt.default.vErrors,null),n.let(Wt.default.errors,0),r.unevaluated&&Icr(e),rFe(e),Dcr(e)})}function Icr(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,vt._)`${r}.evaluated`),t.if((0,vt._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,vt._)`${e.evaluated}.props`,(0,vt._)`undefined`)),t.if((0,vt._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,vt._)`${e.evaluated}.items`,(0,vt._)`undefined`))}function QUe(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,vt._)`/*# sourceURL=${r} */`:vt.nil}function Rcr(e,t){if(eFe(e)&&(tFe(e),ZUe(e))){Ccr(e,t);return}(0,XUe.boolOrEmptySchema)(e,t)}function ZUe({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function eFe(e){return typeof e.schema!="boolean"}function Ccr(e,t){let{schema:r,gen:n,opts:s}=e;s.$comment&&r.$comment&&nFe(e),Ncr(e),Ocr(e);let i=n.const("_errs",Wt.default.errors);rFe(e,i),n.var(t,(0,vt._)`${i} === ${Wt.default.errors}`)}function tFe(e){(0,qp.checkUnknownRules)(e),xcr(e)}function rFe(e,t){if(e.opts.jtd)return zUe(e,[],!1,t);let r=(0,YUe.getSchemaTypes)(e.schema),n=(0,YUe.coerceAndCheckDataType)(e,r);zUe(e,r,!n,t)}function xcr(e){let{schema:t,errSchemaPath:r,opts:n,self:s}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,qp.schemaHasRulesButRef)(t,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function wcr(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,qp.checkStrictMode)(e,"default is ignored in the schema root")}function Ncr(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,ycr.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function Ocr(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function nFe({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:s}){let i=r.$comment;if(s.$comment===!0)e.code((0,vt._)`${Wt.default.self}.logger.log(${i})`);else if(typeof s.$comment=="function"){let a=(0,vt.str)`${n}/$comment`,o=e.scopeValue("root",{ref:t.root});e.code((0,vt._)`${Wt.default.self}.opts.$comment(${i}, ${a}, ${o}.schema)`)}}function Dcr(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:s,opts:i}=e;r.$async?t.if((0,vt._)`${Wt.default.errors} === 0`,()=>t.return(Wt.default.data),()=>t.throw((0,vt._)`new ${s}(${Wt.default.vErrors})`)):(t.assign((0,vt._)`${n}.errors`,Wt.default.vErrors),i.unevaluated&&Pcr(e),t.return((0,vt._)`${Wt.default.errors} === 0`))}function Pcr({gen:e,evaluated:t,props:r,items:n}){r instanceof vt.Name&&e.assign((0,vt._)`${t}.props`,r),n instanceof vt.Name&&e.assign((0,vt._)`${t}.items`,n)}function zUe(e,t,r,n){let{gen:s,schema:i,data:a,allErrors:o,opts:c,self:u}=e,{RULES:l}=u;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,qp.schemaHasRulesButRef)(i,l))){s.block(()=>iFe(e,"$ref",l.all.$ref.definition));return}c.jtd||Lcr(e,t),s.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,YZ.shouldUseGroup)(i,f)&&(f.type?(s.if((0,VU.checkDataType)(f.type,a,c.strictNumbers)),WUe(e,f),t.length===1&&t[0]===f.type&&r&&(s.else(),(0,VU.reportTypeError)(e)),s.endIf()):WUe(e,f),o||s.if((0,vt._)`${Wt.default.errors} === ${n||0}`))}}function WUe(e,t){let{gen:r,schema:n,opts:{useDefaults:s}}=e;s&&(0,Ecr.assignDefaults)(e,t.type),r.block(()=>{for(let i of t.rules)(0,YZ.shouldUseRule)(n,i)&&iFe(e,i.keyword,i.definition,t.type)})}function Lcr(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(Mcr(e,t),e.opts.allowUnionTypes||kcr(e,t),Bcr(e,e.dataTypes))}function Mcr(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{sFe(e.dataTypes,r)||QZ(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),Fcr(e,t)}}function kcr(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&QZ(e,"use allowUnionTypes to allow union type keyword")}function Bcr(e,t){let r=e.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0,YZ.shouldUseRule)(e.schema,s)){let{type:i}=s.definition;i.length&&!i.some(a=>Ucr(t,a))&&QZ(e,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function Ucr(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function sFe(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function Fcr(e,t){let r=[];for(let n of e.dataTypes)sFe(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function QZ(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,qp.checkStrictMode)(e,t,e.opts.strictTypes)}var jU=class{constructor(t,r,n){if((0,jN.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,qp.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",aFe(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,jN.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",Wt.default.errors))}result(t,r,n){this.failResult((0,vt.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,vt.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,vt._)`${r} !== undefined && (${(0,vt.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?VN.reportExtraError:VN.reportError)(this,this.def.error,r)}$dataError(){(0,VN.reportError)(this,this.def.$dataError||VN.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,VN.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=vt.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=vt.nil,r=vt.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:i,def:a}=this;n.if((0,vt.or)((0,vt._)`${s} === undefined`,r)),t!==vt.nil&&n.assign(t,!0),(i.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==vt.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:s,it:i}=this;return(0,vt.or)(a(),o());function a(){if(n.length){if(!(r instanceof vt.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,vt._)`${(0,VU.checkDataTypes)(c,r,i.opts.strictNumbers,VU.DataType.Wrong)}`}return vt.nil}function o(){if(s.validateSchema){let c=t.scopeValue("validate$data",{ref:s.validateSchema});return(0,vt._)`!${c}(${r})`}return vt.nil}}subschema(t,r){let n=(0,GZ.getSubschema)(this.it,t);(0,GZ.extendSubschemaData)(n,this.it,t),(0,GZ.extendSubschemaMode)(n,t);let s={...this.it,...n,items:void 0,props:void 0};return Rcr(s,r),s}mergeEvaluated(t,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=qp.mergeEvaluated.props(s,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=qp.mergeEvaluated.items(s,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return s.if(r,()=>this.mergeEvaluated(t,vt.Name)),!0}};P_.KeywordCxt=jU;function iFe(e,t,r,n){let s=new jU(e,r,t);"code"in r?r.code(s,n):s.$data&&r.validate?(0,jN.funcKeywordCode)(s,r):"macro"in r?(0,jN.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0,jN.funcKeywordCode)(s,r)}var $cr=/^\/(?:[^~]|~0|~1)*$/,qcr=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function aFe(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let s,i;if(e==="")return Wt.default.rootData;if(e[0]==="/"){if(!$cr.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);s=e,i=Wt.default.rootData}else{let u=qcr.exec(e);if(!u)throw new Error(`Invalid JSON-pointer: ${e}`);let l=+u[1];if(s=u[2],s==="#"){if(l>=t)throw new Error(c("property/index",l));return n[t-l]}if(l>t)throw new Error(c("data",l));if(i=r[t-l],!s)return i}let a=i,o=s.split("/");for(let u of o)u&&(i=(0,vt._)`${i}${(0,vt.getProperty)((0,qp.unescapeJsonPointer)(u))}`,a=(0,vt._)`${a} && ${i}`);return a;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${t}`}}P_.getData=aFe});var KU=S(WZ=>{"use strict";Object.defineProperty(WZ,"__esModule",{value:!0});var zZ=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};WZ.default=zZ});var GN=S(ZZ=>{"use strict";Object.defineProperty(ZZ,"__esModule",{value:!0});var XZ=HN(),JZ=class extends Error{constructor(t,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,XZ.resolveUrl)(t,r,n),this.missingSchema=(0,XZ.normalizeId)((0,XZ.getFullPath)(t,this.missingRef))}};ZZ.default=JZ});var YU=S(rd=>{"use strict";Object.defineProperty(rd,"__esModule",{value:!0});rd.resolveSchema=rd.getCompilingSchema=rd.resolveRef=rd.compileSchema=rd.SchemaEnv=void 0;var mf=Ar(),Hcr=KU(),$y=$p(),gf=HN(),oFe=dn(),Vcr=KN(),d1=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,gf.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};rd.SchemaEnv=d1;function tee(e){let t=cFe.call(this,e);if(t)return t;let r=(0,gf.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new mf.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o;e.$async&&(o=a.scopeValue("Error",{ref:Hcr.default,code:(0,mf._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");e.validateName=c;let u={gen:a,allErrors:this.opts.allErrors,data:$y.default.data,parentData:$y.default.parentData,parentDataProperty:$y.default.parentDataProperty,dataNames:[$y.default.data],dataPathArr:[mf.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,mf.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:o,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:mf.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,mf._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(e),(0,Vcr.validateFunctionCode)(u),a.optimize(this.opts.code.optimize);let d=a.toString();l=`${a.scopeRefs($y.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,e));let h=new Function(`${$y.default.self}`,`${$y.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:h}),h.errors=null,h.schema=e.schema,h.schemaEnv=e,e.$async&&(h.$async=!0),this.opts.code.source===!0&&(h.source={validateName:c,validateCode:d,scopeValues:a._values}),this.opts.unevaluated){let{props:p,items:m}=u;h.evaluated={props:p instanceof mf.Name?void 0:p,items:m instanceof mf.Name?void 0:m,dynamicProps:p instanceof mf.Name,dynamicItems:m instanceof mf.Name},h.source&&(h.source.evaluated=(0,mf.stringify)(h.evaluated))}return e.validate=h,e}catch(d){throw delete e.validate,delete e.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(e)}}rd.compileSchema=tee;function jcr(e,t,r){var n;r=(0,gf.resolveUrl)(this.opts.uriResolver,t,r);let s=e.refs[r];if(s)return s;let i=Ycr.call(this,e,r);if(i===void 0){let a=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:o}=this.opts;a&&(i=new d1({schema:a,schemaId:o,root:e,baseId:t}))}if(i!==void 0)return e.refs[r]=Kcr.call(this,i)}rd.resolveRef=jcr;function Kcr(e){return(0,gf.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:tee.call(this,e)}function cFe(e){for(let t of this._compilations)if(Gcr(t,e))return t}rd.getCompilingSchema=cFe;function Gcr(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function Ycr(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||GU.call(this,e,t)}function GU(e,t){let r=this.opts.uriResolver.parse(t),n=(0,gf._getFullPath)(this.opts.uriResolver,r),s=(0,gf.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===s)return eee.call(this,r,e);let i=(0,gf.normalizeId)(n),a=this.refs[i]||this.schemas[i];if(typeof a=="string"){let o=GU.call(this,e,a);return typeof o?.schema!="object"?void 0:eee.call(this,r,o)}if(typeof a?.schema=="object"){if(a.validate||tee.call(this,a),i===(0,gf.normalizeId)(t)){let{schema:o}=a,{schemaId:c}=this.opts,u=o[c];return u&&(s=(0,gf.resolveUrl)(this.opts.uriResolver,s,u)),new d1({schema:o,schemaId:c,root:e,baseId:s})}return eee.call(this,r,a)}}rd.resolveSchema=GU;var Qcr=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function eee(e,{baseId:t,schema:r,root:n}){var s;if(((s=e.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let o of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,oFe.unescapeFragment)(o)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!Qcr.has(o)&&u&&(t=(0,gf.resolveUrl)(this.opts.uriResolver,t,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,oFe.schemaHasRulesButRef)(r,this.RULES)){let o=(0,gf.resolveUrl)(this.opts.uriResolver,t,r.$ref);i=GU.call(this,n,o)}let{schemaId:a}=this.opts;if(i=i||new d1({schema:r,schemaId:a,root:n,baseId:t}),i.schema!==i.root.schema)return i}});var uFe=S((WUn,zcr)=>{zcr.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var nee=S((XUn,hFe)=>{"use strict";var Wcr=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),dFe=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function ree(e){let t="",r=0,n=0;for(n=0;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var Xcr=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function lFe(e){return e.length=0,!0}function Jcr(e,t,r){if(e.length){let n=ree(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function Zcr(e){let t=0,r={error:!1,address:"",zone:""},n=[],s=[],i=!1,a=!1,o=Jcr;for(let c=0;c7){r.error=!0;break}c>0&&e[c-1]===":"&&(i=!0),n.push(":");continue}else if(u==="%"){if(!o(s,n,r))break;o=lFe}else{s.push(u);continue}}return s.length&&(o===lFe?r.zone=s.join(""):a?n.push(s.join("")):n.push(ree(s))),r.address=n.join(""),r}function fFe(e){if(eur(e,":")<2)return{host:e,isIPV6:!1};let t=Zcr(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function eur(e,t){let r=0;for(let n=0;n{"use strict";var{isUUID:sur}=nee(),iur=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,aur=["http","https","ws","wss","urn","urn:uuid"];function our(e){return aur.indexOf(e)!==-1}function see(e){return e.secure===!0?!0:e.secure===!1?!1:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):!1}function pFe(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function mFe(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function cur(e){return e.secure=see(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function uur(e){if((e.port===(see(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function lur(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(iur);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let s=`${n}:${t.nid||e.nid}`,i=iee(s);e.path=void 0,i&&(e=i.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function dur(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),s=`${r}:${t.nid||n}`,i=iee(s);i&&(e=i.serialize(e,t));let a=e,o=e.nss;return a.path=`${n||t.nid}:${o}`,t.skipEscape=!0,a}function fur(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!sur(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function hur(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var gFe={scheme:"http",domainHost:!0,parse:pFe,serialize:mFe},pur={scheme:"https",domainHost:gFe.domainHost,parse:pFe,serialize:mFe},QU={scheme:"ws",domainHost:!0,parse:cur,serialize:uur},mur={scheme:"wss",domainHost:QU.domainHost,parse:QU.parse,serialize:QU.serialize},gur={scheme:"urn",parse:lur,serialize:dur,skipNormalize:!0},_ur={scheme:"urn:uuid",parse:fur,serialize:hur,skipNormalize:!0},zU={http:gFe,https:pur,ws:QU,wss:mur,urn:gur,"urn:uuid":_ur};Object.setPrototypeOf(zU,null);function iee(e){return e&&(zU[e]||zU[e.toLowerCase()])||void 0}_Fe.exports={wsIsSecure:see,SCHEMES:zU,isValidSchemeName:our,getSchemeHandler:iee}});var vFe=S((ZUn,XU)=>{"use strict";var{normalizeIPv6:Aur,removeDotSegments:YN,recomposeAuthority:Eur,normalizeComponentEncoding:WU,isIPv4:yur,nonSimpleDomain:vur}=nee(),{SCHEMES:Sur,getSchemeHandler:EFe}=AFe();function Tur(e,t){return typeof e=="string"?e=H0(Hp(e,t),t):typeof e=="object"&&(e=Hp(H0(e,t),t)),e}function bur(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=yFe(Hp(e,n),Hp(t,n),n,!0);return n.skipEscape=!0,H0(s,n)}function yFe(e,t,r,n){let s={};return n||(e=Hp(H0(e,r),r),t=Hp(H0(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(s.scheme=t.scheme,s.userinfo=t.userinfo,s.host=t.host,s.port=t.port,s.path=YN(t.path||""),s.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(s.userinfo=t.userinfo,s.host=t.host,s.port=t.port,s.path=YN(t.path||""),s.query=t.query):(t.path?(t.path[0]==="/"?s.path=YN(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?s.path="/"+t.path:e.path?s.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:s.path=t.path,s.path=YN(s.path)),s.query=t.query):(s.path=e.path,t.query!==void 0?s.query=t.query:s.query=e.query),s.userinfo=e.userinfo,s.host=e.host,s.port=e.port),s.scheme=e.scheme),s.fragment=t.fragment,s}function Iur(e,t,r){return typeof e=="string"?(e=unescape(e),e=H0(WU(Hp(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=H0(WU(e,!0),{...r,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=H0(WU(Hp(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=H0(WU(t,!0),{...r,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function H0(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),s=[],i=EFe(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&s.push(r.scheme,":");let a=Eur(r);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let o=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(o=YN(o)),a===void 0&&o[0]==="/"&&o[1]==="/"&&(o="/%2F"+o.slice(2)),s.push(o)}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var Rur=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Hp(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let i=e.match(Rur);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host)if(yur(n.host)===!1){let c=Aur(n.host);n.host=c.host.toLowerCase(),s=c.isIPV6}else s=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=EFe(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===!1&&vur(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(o){n.error=n.error||"Host's domain name can not be converted to ASCII: "+o}(!a||a&&!a.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var aee={SCHEMES:Sur,normalize:Tur,resolve:bur,resolveComponent:yFe,equal:Iur,serialize:H0,parse:Hp};XU.exports=aee;XU.exports.default=aee;XU.exports.fastUri=aee});var TFe=S(oee=>{"use strict";Object.defineProperty(oee,"__esModule",{value:!0});var SFe=vFe();SFe.code='require("ajv/dist/runtime/uri").default';oee.default=SFe});var OFe=S(to=>{"use strict";Object.defineProperty(to,"__esModule",{value:!0});to.CodeGen=to.Name=to.nil=to.stringify=to.str=to._=to.KeywordCxt=void 0;var Cur=KN();Object.defineProperty(to,"KeywordCxt",{enumerable:!0,get:function(){return Cur.KeywordCxt}});var f1=Ar();Object.defineProperty(to,"_",{enumerable:!0,get:function(){return f1._}});Object.defineProperty(to,"str",{enumerable:!0,get:function(){return f1.str}});Object.defineProperty(to,"stringify",{enumerable:!0,get:function(){return f1.stringify}});Object.defineProperty(to,"nil",{enumerable:!0,get:function(){return f1.nil}});Object.defineProperty(to,"Name",{enumerable:!0,get:function(){return f1.Name}});Object.defineProperty(to,"CodeGen",{enumerable:!0,get:function(){return f1.CodeGen}});var xur=KU(),xFe=GN(),wur=BZ(),QN=YU(),Nur=Ar(),zN=HN(),JU=qN(),uee=dn(),bFe=uFe(),Our=TFe(),wFe=(e,t)=>new RegExp(e,t);wFe.code="new RegExp";var Dur=["removeAdditional","useDefaults","coerceTypes"],Pur=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Lur={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},Mur={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},IFe=200;function kur(e){var t,r,n,s,i,a,o,c,u,l,d,f,h,p,m,g,_,y,E,A,v,T,C,b,x;let w=e.strict,P=(t=e.code)===null||t===void 0?void 0:t.optimize,M=P===!0||P===void 0?1:P||0,L=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:wFe,U=(s=e.uriResolver)!==null&&s!==void 0?s:Our.default;return{strictSchema:(a=(i=e.strictSchema)!==null&&i!==void 0?i:w)!==null&&a!==void 0?a:!0,strictNumbers:(c=(o=e.strictNumbers)!==null&&o!==void 0?o:w)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=e.strictTypes)!==null&&u!==void 0?u:w)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=e.strictTuples)!==null&&d!==void 0?d:w)!==null&&f!==void 0?f:"log",strictRequired:(p=(h=e.strictRequired)!==null&&h!==void 0?h:w)!==null&&p!==void 0?p:!1,code:e.code?{...e.code,optimize:M,regExp:L}:{optimize:M,regExp:L},loopRequired:(m=e.loopRequired)!==null&&m!==void 0?m:IFe,loopEnum:(g=e.loopEnum)!==null&&g!==void 0?g:IFe,meta:(_=e.meta)!==null&&_!==void 0?_:!0,messages:(y=e.messages)!==null&&y!==void 0?y:!0,inlineRefs:(E=e.inlineRefs)!==null&&E!==void 0?E:!0,schemaId:(A=e.schemaId)!==null&&A!==void 0?A:"$id",addUsedSchema:(v=e.addUsedSchema)!==null&&v!==void 0?v:!0,validateSchema:(T=e.validateSchema)!==null&&T!==void 0?T:!0,validateFormats:(C=e.validateFormats)!==null&&C!==void 0?C:!0,unicodeRegExp:(b=e.unicodeRegExp)!==null&&b!==void 0?b:!0,int32range:(x=e.int32range)!==null&&x!==void 0?x:!0,uriResolver:U}}var WN=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...kur(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new Nur.ValueScope({scope:{},prefixes:Pur,es5:r,lines:n}),this.logger=Hur(t.logger);let s=t.validateFormats;t.validateFormats=!1,this.RULES=(0,wur.getRules)(),RFe.call(this,Lur,t,"NOT SUPPORTED"),RFe.call(this,Mur,t,"DEPRECATED","warn"),this._metaOpts=$ur.call(this),t.formats&&Uur.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&Fur.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),Bur.call(this),t.validateFormats=s}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,s=bFe;n==="id"&&(s={...bFe},s.id=s.$id,delete s.$id),r&&t&&this.addMetaSchema(s,s[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let s=n(r);return"$async"in n||(this.errors=n.errors),s}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,t,r);async function s(l,d){await i.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||a.call(this,f)}async function i(l){l&&!this.getSchema(l)&&await s.call(this,{$ref:l},!0)}async function a(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof xFe.default))throw d;return o.call(this,d),await c.call(this,d.missingSchema),a.call(this,l)}}function o({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await i.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(t,r,n,s=this.opts.validateSchema){if(Array.isArray(t)){for(let a of t)this.addSchema(a,void 0,n,s);return this}let i;if(typeof t=="object"){let{schemaId:a}=this.opts;if(i=t[a],i!==void 0&&typeof i!="string")throw new Error(`schema ${a} must be string`)}return r=(0,zN.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,s,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let s=this.validate(n,t);if(!s&&r){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return s}getSchema(t){let r;for(;typeof(r=CFe.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,s=new QN.SchemaEnv({schema:{},schemaId:n});if(r=QN.resolveSchema.call(this,s,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=CFe.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,zN.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(jur.call(this,n,r),!r)return(0,uee.eachItem)(n,i=>cee.call(this,i)),this;Gur.call(this,r);let s={...r,type:(0,JU.getJSONTypes)(r.type),schemaType:(0,JU.getJSONTypes)(r.schemaType)};return(0,uee.eachItem)(n,s.type.length===0?i=>cee.call(this,i,s):i=>s.type.forEach(a=>cee.call(this,i,s,a))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let s=n.rules.findIndex(i=>i.keyword===t);s>=0&&n.rules.splice(s,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,i)=>s+r+i)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let s of r){let i=s.split("/").slice(1),a=t;for(let o of i)a=a[o];for(let o in n){let c=n[o];if(typeof c!="object")continue;let{$data:u}=c.definition,l=a[o];u&&l&&(a[o]=NFe(l))}}return t}_removeAllSchemas(t,r){for(let n in t){let s=t[n];(!r||r.test(n))&&(typeof s=="string"?delete t[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete t[n]))}}_addSchema(t,r,n,s=this.opts.validateSchema,i=this.opts.addUsedSchema){let a,{schemaId:o}=this.opts;if(typeof t=="object")a=t[o];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(t);if(c!==void 0)return c;n=(0,zN.normalizeId)(a||n);let u=zN.getSchemaRefs.call(this,t,n);return c=new QN.SchemaEnv({schema:t,schemaId:o,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),i&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),s&&this.validateSchema(t,!0),c}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):QN.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{QN.compileSchema.call(this,t)}finally{this.opts=r}}};WN.ValidationError=xur.default;WN.MissingRefError=xFe.default;to.default=WN;function RFe(e,t,r,n="error"){for(let s in e){let i=s;i in t&&this.logger[n](`${r}: option ${s}. ${e[i]}`)}}function CFe(e){return e=(0,zN.normalizeId)(e),this.schemas[e]||this.refs[e]}function Bur(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function Uur(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function Fur(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function $ur(){let e={...this.opts};for(let t of Dur)delete e[t];return e}var qur={log(){},warn(){},error(){}};function Hur(e){if(e===!1)return qur;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var Vur=/^[a-z_$][a-z0-9_$:-]*$/i;function jur(e,t){let{RULES:r}=this;if((0,uee.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!Vur.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function cee(e,t,r){var n;let s=t?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,a=s?i.post:i.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},i.rules.push(a)),i.keywords[e]=!0,!t)return;let o={keyword:e,definition:{...t,type:(0,JU.getJSONTypes)(t.type),schemaType:(0,JU.getJSONTypes)(t.schemaType)}};t.before?Kur.call(this,a,o,t.before):a.rules.push(o),i.all[e]=o,(n=t.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function Kur(e,t,r){let n=e.rules.findIndex(s=>s.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function Gur(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=NFe(t)),e.validateSchema=this.compile(t,!0))}var Yur={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function NFe(e){return{anyOf:[e,Yur]}}});var DFe=S(lee=>{"use strict";Object.defineProperty(lee,"__esModule",{value:!0});var Qur={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};lee.default=Qur});var kFe=S(qy=>{"use strict";Object.defineProperty(qy,"__esModule",{value:!0});qy.callRef=qy.getValidate=void 0;var zur=GN(),PFe=ed(),pu=Ar(),h1=$p(),LFe=YU(),ZU=dn(),Wur={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:s,schemaEnv:i,validateName:a,opts:o,self:c}=n,{root:u}=i;if((r==="#"||r==="#/")&&s===u.baseId)return d();let l=LFe.resolveRef.call(c,u,s,r);if(l===void 0)throw new zur.default(n.opts.uriResolver,s,r);if(l instanceof LFe.SchemaEnv)return f(l);return h(l);function d(){if(i===u)return eF(e,a,i,i.$async);let p=t.scopeValue("root",{ref:u});return eF(e,(0,pu._)`${p}.validate`,u,u.$async)}function f(p){let m=MFe(e,p);eF(e,m,p,p.$async)}function h(p){let m=t.scopeValue("schema",o.code.source===!0?{ref:p,code:(0,pu.stringify)(p)}:{ref:p}),g=t.name("valid"),_=e.subschema({schema:p,dataTypes:[],schemaPath:pu.nil,topSchemaRef:m,errSchemaPath:r},g);e.mergeEvaluated(_),e.ok(g)}}};function MFe(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,pu._)`${r.scopeValue("wrapper",{ref:t})}.validate`}qy.getValidate=MFe;function eF(e,t,r,n){let{gen:s,it:i}=e,{allErrors:a,schemaEnv:o,opts:c}=i,u=c.passContext?h1.default.this:pu.nil;n?l():d();function l(){if(!o.$async)throw new Error("async schema referenced by sync schema");let p=s.let("valid");s.try(()=>{s.code((0,pu._)`await ${(0,PFe.callValidateCode)(e,t,u)}`),h(t),a||s.assign(p,!0)},m=>{s.if((0,pu._)`!(${m} instanceof ${i.ValidationError})`,()=>s.throw(m)),f(m),a||s.assign(p,!1)}),e.ok(p)}function d(){e.result((0,PFe.callValidateCode)(e,t,u),()=>h(t),()=>f(t))}function f(p){let m=(0,pu._)`${p}.errors`;s.assign(h1.default.vErrors,(0,pu._)`${h1.default.vErrors} === null ? ${m} : ${h1.default.vErrors}.concat(${m})`),s.assign(h1.default.errors,(0,pu._)`${h1.default.vErrors}.length`)}function h(p){var m;if(!i.opts.unevaluated)return;let g=(m=r?.validate)===null||m===void 0?void 0:m.evaluated;if(i.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(i.props=ZU.mergeEvaluated.props(s,g.props,i.props));else{let _=s.var("props",(0,pu._)`${p}.evaluated.props`);i.props=ZU.mergeEvaluated.props(s,_,i.props,pu.Name)}if(i.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(i.items=ZU.mergeEvaluated.items(s,g.items,i.items));else{let _=s.var("items",(0,pu._)`${p}.evaluated.items`);i.items=ZU.mergeEvaluated.items(s,_,i.items,pu.Name)}}}qy.callRef=eF;qy.default=Wur});var BFe=S(dee=>{"use strict";Object.defineProperty(dee,"__esModule",{value:!0});var Xur=DFe(),Jur=kFe(),Zur=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Xur.default,Jur.default];dee.default=Zur});var UFe=S(fee=>{"use strict";Object.defineProperty(fee,"__esModule",{value:!0});var tF=Ar(),L_=tF.operators,rF={maximum:{okStr:"<=",ok:L_.LTE,fail:L_.GT},minimum:{okStr:">=",ok:L_.GTE,fail:L_.LT},exclusiveMaximum:{okStr:"<",ok:L_.LT,fail:L_.GTE},exclusiveMinimum:{okStr:">",ok:L_.GT,fail:L_.LTE}},elr={message:({keyword:e,schemaCode:t})=>(0,tF.str)`must be ${rF[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,tF._)`{comparison: ${rF[e].okStr}, limit: ${t}}`},tlr={keyword:Object.keys(rF),type:"number",schemaType:"number",$data:!0,error:elr,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,tF._)`${r} ${rF[t].fail} ${n} || isNaN(${r})`)}};fee.default=tlr});var FFe=S(hee=>{"use strict";Object.defineProperty(hee,"__esModule",{value:!0});var XN=Ar(),rlr={message:({schemaCode:e})=>(0,XN.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,XN._)`{multipleOf: ${e}}`},nlr={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:rlr,code(e){let{gen:t,data:r,schemaCode:n,it:s}=e,i=s.opts.multipleOfPrecision,a=t.let("res"),o=i?(0,XN._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${i}`:(0,XN._)`${a} !== parseInt(${a})`;e.fail$data((0,XN._)`(${n} === 0 || (${a} = ${r}/${n}, ${o}))`)}};hee.default=nlr});var qFe=S(pee=>{"use strict";Object.defineProperty(pee,"__esModule",{value:!0});function $Fe(e){let t=e.length,r=0,n=0,s;for(;n=55296&&s<=56319&&n{"use strict";Object.defineProperty(mee,"__esModule",{value:!0});var Hy=Ar(),slr=dn(),ilr=qFe(),alr={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,Hy.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,Hy._)`{limit: ${e}}`},olr={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:alr,code(e){let{keyword:t,data:r,schemaCode:n,it:s}=e,i=t==="maxLength"?Hy.operators.GT:Hy.operators.LT,a=s.opts.unicode===!1?(0,Hy._)`${r}.length`:(0,Hy._)`${(0,slr.useFunc)(e.gen,ilr.default)}(${r})`;e.fail$data((0,Hy._)`${a} ${i} ${n}`)}};mee.default=olr});var VFe=S(gee=>{"use strict";Object.defineProperty(gee,"__esModule",{value:!0});var clr=ed(),ulr=dn(),p1=Ar(),llr={message:({schemaCode:e})=>(0,p1.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,p1._)`{pattern: ${e}}`},dlr={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:llr,code(e){let{gen:t,data:r,$data:n,schema:s,schemaCode:i,it:a}=e,o=a.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=a.opts.code,u=c.code==="new RegExp"?(0,p1._)`new RegExp`:(0,ulr.useFunc)(t,c),l=t.let("valid");t.try(()=>t.assign(l,(0,p1._)`${u}(${i}, ${o}).test(${r})`),()=>t.assign(l,!1)),e.fail$data((0,p1._)`!${l}`)}else{let c=(0,clr.usePattern)(e,s);e.fail$data((0,p1._)`!${c}.test(${r})`)}}};gee.default=dlr});var jFe=S(_ee=>{"use strict";Object.defineProperty(_ee,"__esModule",{value:!0});var JN=Ar(),flr={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,JN.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,JN._)`{limit: ${e}}`},hlr={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:flr,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxProperties"?JN.operators.GT:JN.operators.LT;e.fail$data((0,JN._)`Object.keys(${r}).length ${s} ${n}`)}};_ee.default=hlr});var KFe=S(Aee=>{"use strict";Object.defineProperty(Aee,"__esModule",{value:!0});var ZN=ed(),eO=Ar(),plr=dn(),mlr={message:({params:{missingProperty:e}})=>(0,eO.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,eO._)`{missingProperty: ${e}}`},glr={keyword:"required",type:"object",schemaType:"array",$data:!0,error:mlr,code(e){let{gen:t,schema:r,schemaCode:n,data:s,$data:i,it:a}=e,{opts:o}=a;if(!i&&r.length===0)return;let c=r.length>=o.loopRequired;if(a.allErrors?u():l(),o.strictRequired){let h=e.parentSchema.properties,{definedProperties:p}=e.it;for(let m of r)if(h?.[m]===void 0&&!p.has(m)){let g=a.schemaEnv.baseId+a.errSchemaPath,_=`required property "${m}" is not defined at "${g}" (strictRequired)`;(0,plr.checkStrictMode)(a,_,a.opts.strictRequired)}}function u(){if(c||i)e.block$data(eO.nil,d);else for(let h of r)(0,ZN.checkReportMissingProp)(e,h)}function l(){let h=t.let("missing");if(c||i){let p=t.let("valid",!0);e.block$data(p,()=>f(h,p)),e.ok(p)}else t.if((0,ZN.checkMissingProp)(e,r,h)),(0,ZN.reportMissingProp)(e,h),t.else()}function d(){t.forOf("prop",n,h=>{e.setParams({missingProperty:h}),t.if((0,ZN.noPropertyInData)(t,s,h,o.ownProperties),()=>e.error())})}function f(h,p){e.setParams({missingProperty:h}),t.forOf(h,n,()=>{t.assign(p,(0,ZN.propertyInData)(t,s,h,o.ownProperties)),t.if((0,eO.not)(p),()=>{e.error(),t.break()})},eO.nil)}}};Aee.default=glr});var GFe=S(Eee=>{"use strict";Object.defineProperty(Eee,"__esModule",{value:!0});var tO=Ar(),_lr={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,tO.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,tO._)`{limit: ${e}}`},Alr={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:_lr,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxItems"?tO.operators.GT:tO.operators.LT;e.fail$data((0,tO._)`${r}.length ${s} ${n}`)}};Eee.default=Alr});var rO=S(yee=>{"use strict";Object.defineProperty(yee,"__esModule",{value:!0});var YFe=td();YFe.code='require("ajv/dist/runtime/equal").default';yee.default=YFe});var QFe=S(See=>{"use strict";Object.defineProperty(See,"__esModule",{value:!0});var vee=qN(),ro=Ar(),Elr=dn(),ylr=rO(),vlr={message:({params:{i:e,j:t}})=>(0,ro.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,ro._)`{i: ${e}, j: ${t}}`},Slr={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:vlr,code(e){let{gen:t,data:r,$data:n,schema:s,parentSchema:i,schemaCode:a,it:o}=e;if(!n&&!s)return;let c=t.let("valid"),u=i.items?(0,vee.getSchemaTypes)(i.items):[];e.block$data(c,l,(0,ro._)`${a} === false`),e.ok(c);function l(){let p=t.let("i",(0,ro._)`${r}.length`),m=t.let("j");e.setParams({i:p,j:m}),t.assign(c,!0),t.if((0,ro._)`${p} > 1`,()=>(d()?f:h)(p,m))}function d(){return u.length>0&&!u.some(p=>p==="object"||p==="array")}function f(p,m){let g=t.name("item"),_=(0,vee.checkDataTypes)(u,g,o.opts.strictNumbers,vee.DataType.Wrong),y=t.const("indices",(0,ro._)`{}`);t.for((0,ro._)`;${p}--;`,()=>{t.let(g,(0,ro._)`${r}[${p}]`),t.if(_,(0,ro._)`continue`),u.length>1&&t.if((0,ro._)`typeof ${g} == "string"`,(0,ro._)`${g} += "_"`),t.if((0,ro._)`typeof ${y}[${g}] == "number"`,()=>{t.assign(m,(0,ro._)`${y}[${g}]`),e.error(),t.assign(c,!1).break()}).code((0,ro._)`${y}[${g}] = ${p}`)})}function h(p,m){let g=(0,Elr.useFunc)(t,ylr.default),_=t.name("outer");t.label(_).for((0,ro._)`;${p}--;`,()=>t.for((0,ro._)`${m} = ${p}; ${m}--;`,()=>t.if((0,ro._)`${g}(${r}[${p}], ${r}[${m}])`,()=>{e.error(),t.assign(c,!1).break(_)})))}}};See.default=Slr});var zFe=S(bee=>{"use strict";Object.defineProperty(bee,"__esModule",{value:!0});var Tee=Ar(),Tlr=dn(),blr=rO(),Ilr={message:"must be equal to constant",params:({schemaCode:e})=>(0,Tee._)`{allowedValue: ${e}}`},Rlr={keyword:"const",$data:!0,error:Ilr,code(e){let{gen:t,data:r,$data:n,schemaCode:s,schema:i}=e;n||i&&typeof i=="object"?e.fail$data((0,Tee._)`!${(0,Tlr.useFunc)(t,blr.default)}(${r}, ${s})`):e.fail((0,Tee._)`${i} !== ${r}`)}};bee.default=Rlr});var WFe=S(Iee=>{"use strict";Object.defineProperty(Iee,"__esModule",{value:!0});var nO=Ar(),Clr=dn(),xlr=rO(),wlr={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,nO._)`{allowedValues: ${e}}`},Nlr={keyword:"enum",schemaType:"array",$data:!0,error:wlr,code(e){let{gen:t,data:r,$data:n,schema:s,schemaCode:i,it:a}=e;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let o=s.length>=a.opts.loopEnum,c,u=()=>c??(c=(0,Clr.useFunc)(t,xlr.default)),l;if(o||n)l=t.let("valid"),e.block$data(l,d);else{if(!Array.isArray(s))throw new Error("ajv implementation error");let h=t.const("vSchema",i);l=(0,nO.or)(...s.map((p,m)=>f(h,m)))}e.pass(l);function d(){t.assign(l,!1),t.forOf("v",i,h=>t.if((0,nO._)`${u()}(${r}, ${h})`,()=>t.assign(l,!0).break()))}function f(h,p){let m=s[p];return typeof m=="object"&&m!==null?(0,nO._)`${u()}(${r}, ${h}[${p}])`:(0,nO._)`${r} === ${m}`}}};Iee.default=Nlr});var XFe=S(Ree=>{"use strict";Object.defineProperty(Ree,"__esModule",{value:!0});var Olr=UFe(),Dlr=FFe(),Plr=HFe(),Llr=VFe(),Mlr=jFe(),klr=KFe(),Blr=GFe(),Ulr=QFe(),Flr=zFe(),$lr=WFe(),qlr=[Olr.default,Dlr.default,Plr.default,Llr.default,Mlr.default,klr.default,Blr.default,Ulr.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Flr.default,$lr.default];Ree.default=qlr});var xee=S(sO=>{"use strict";Object.defineProperty(sO,"__esModule",{value:!0});sO.validateAdditionalItems=void 0;var Vy=Ar(),Cee=dn(),Hlr={message:({params:{len:e}})=>(0,Vy.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Vy._)`{limit: ${e}}`},Vlr={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Hlr,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,Cee.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}JFe(e,n)}};function JFe(e,t){let{gen:r,schema:n,data:s,keyword:i,it:a}=e;a.items=!0;let o=r.const("len",(0,Vy._)`${s}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,Vy._)`${o} <= ${t.length}`);else if(typeof n=="object"&&!(0,Cee.alwaysValidSchema)(a,n)){let u=r.var("valid",(0,Vy._)`${o} <= ${t.length}`);r.if((0,Vy.not)(u),()=>c(u)),e.ok(u)}function c(u){r.forRange("i",t.length,o,l=>{e.subschema({keyword:i,dataProp:l,dataPropType:Cee.Type.Num},u),a.allErrors||r.if((0,Vy.not)(u),()=>r.break())})}}sO.validateAdditionalItems=JFe;sO.default=Vlr});var wee=S(iO=>{"use strict";Object.defineProperty(iO,"__esModule",{value:!0});iO.validateTuple=void 0;var ZFe=Ar(),nF=dn(),jlr=ed(),Klr={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return e6e(e,"additionalItems",t);r.items=!0,!(0,nF.alwaysValidSchema)(r,t)&&e.ok((0,jlr.validateArray)(e))}};function e6e(e,t,r=e.schema){let{gen:n,parentSchema:s,data:i,keyword:a,it:o}=e;l(s),o.opts.unevaluated&&r.length&&o.items!==!0&&(o.items=nF.mergeEvaluated.items(n,r.length,o.items));let c=n.name("valid"),u=n.const("len",(0,ZFe._)`${i}.length`);r.forEach((d,f)=>{(0,nF.alwaysValidSchema)(o,d)||(n.if((0,ZFe._)`${u} > ${f}`,()=>e.subschema({keyword:a,schemaProp:f,dataProp:f},c)),e.ok(c))});function l(d){let{opts:f,errSchemaPath:h}=o,p=r.length,m=p===d.minItems&&(p===d.maxItems||d[t]===!1);if(f.strictTuples&&!m){let g=`"${a}" is ${p}-tuple, but minItems or maxItems/${t} are not specified or different at path "${h}"`;(0,nF.checkStrictMode)(o,g,f.strictTuples)}}}iO.validateTuple=e6e;iO.default=Klr});var t6e=S(Nee=>{"use strict";Object.defineProperty(Nee,"__esModule",{value:!0});var Glr=wee(),Ylr={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,Glr.validateTuple)(e,"items")};Nee.default=Ylr});var n6e=S(Oee=>{"use strict";Object.defineProperty(Oee,"__esModule",{value:!0});var r6e=Ar(),Qlr=dn(),zlr=ed(),Wlr=xee(),Xlr={message:({params:{len:e}})=>(0,r6e.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,r6e._)`{limit: ${e}}`},Jlr={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Xlr,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:s}=r;n.items=!0,!(0,Qlr.alwaysValidSchema)(n,t)&&(s?(0,Wlr.validateAdditionalItems)(e,s):e.ok((0,zlr.validateArray)(e)))}};Oee.default=Jlr});var s6e=S(Dee=>{"use strict";Object.defineProperty(Dee,"__esModule",{value:!0});var nd=Ar(),sF=dn(),Zlr={message:({params:{min:e,max:t}})=>t===void 0?(0,nd.str)`must contain at least ${e} valid item(s)`:(0,nd.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,nd._)`{minContains: ${e}}`:(0,nd._)`{minContains: ${e}, maxContains: ${t}}`},edr={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Zlr,code(e){let{gen:t,schema:r,parentSchema:n,data:s,it:i}=e,a,o,{minContains:c,maxContains:u}=n;i.opts.next?(a=c===void 0?1:c,o=u):a=1;let l=t.const("len",(0,nd._)`${s}.length`);if(e.setParams({min:a,max:o}),o===void 0&&a===0){(0,sF.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(o!==void 0&&a>o){(0,sF.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,sF.alwaysValidSchema)(i,r)){let m=(0,nd._)`${l} >= ${a}`;o!==void 0&&(m=(0,nd._)`${m} && ${l} <= ${o}`),e.pass(m);return}i.items=!0;let d=t.name("valid");o===void 0&&a===1?h(d,()=>t.if(d,()=>t.break())):a===0?(t.let(d,!0),o!==void 0&&t.if((0,nd._)`${s}.length > 0`,f)):(t.let(d,!1),f()),e.result(d,()=>e.reset());function f(){let m=t.name("_valid"),g=t.let("count",0);h(m,()=>t.if(m,()=>p(g)))}function h(m,g){t.forRange("i",0,l,_=>{e.subschema({keyword:"contains",dataProp:_,dataPropType:sF.Type.Num,compositeRule:!0},m),g()})}function p(m){t.code((0,nd._)`${m}++`),o===void 0?t.if((0,nd._)`${m} >= ${a}`,()=>t.assign(d,!0).break()):(t.if((0,nd._)`${m} > ${o}`,()=>t.assign(d,!1).break()),a===1?t.assign(d,!0):t.if((0,nd._)`${m} >= ${a}`,()=>t.assign(d,!0)))}}};Dee.default=edr});var o6e=S(V0=>{"use strict";Object.defineProperty(V0,"__esModule",{value:!0});V0.validateSchemaDeps=V0.validatePropertyDeps=V0.error=void 0;var Pee=Ar(),tdr=dn(),aO=ed();V0.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,Pee.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,Pee._)`{property: ${e}, + missingProperty: ${n}, + depsCount: ${t}, + deps: ${r}}`};var rdr={keyword:"dependencies",type:"object",schemaType:"object",error:V0.error,code(e){let[t,r]=ndr(e);i6e(e,t),a6e(e,r)}};function ndr({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let s=Array.isArray(e[n])?t:r;s[n]=e[n]}return[t,r]}function i6e(e,t=e.schema){let{gen:r,data:n,it:s}=e;if(Object.keys(t).length===0)return;let i=r.let("missing");for(let a in t){let o=t[a];if(o.length===0)continue;let c=(0,aO.propertyInData)(r,n,a,s.opts.ownProperties);e.setParams({property:a,depsCount:o.length,deps:o.join(", ")}),s.allErrors?r.if(c,()=>{for(let u of o)(0,aO.checkReportMissingProp)(e,u)}):(r.if((0,Pee._)`${c} && (${(0,aO.checkMissingProp)(e,o,i)})`),(0,aO.reportMissingProp)(e,i),r.else())}}V0.validatePropertyDeps=i6e;function a6e(e,t=e.schema){let{gen:r,data:n,keyword:s,it:i}=e,a=r.name("valid");for(let o in t)(0,tdr.alwaysValidSchema)(i,t[o])||(r.if((0,aO.propertyInData)(r,n,o,i.opts.ownProperties),()=>{let c=e.subschema({keyword:s,schemaProp:o},a);e.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),e.ok(a))}V0.validateSchemaDeps=a6e;V0.default=rdr});var u6e=S(Lee=>{"use strict";Object.defineProperty(Lee,"__esModule",{value:!0});var c6e=Ar(),sdr=dn(),idr={message:"property name must be valid",params:({params:e})=>(0,c6e._)`{propertyName: ${e.propertyName}}`},adr={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:idr,code(e){let{gen:t,schema:r,data:n,it:s}=e;if((0,sdr.alwaysValidSchema)(s,r))return;let i=t.name("valid");t.forIn("key",n,a=>{e.setParams({propertyName:a}),e.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},i),t.if((0,c6e.not)(i),()=>{e.error(!0),s.allErrors||t.break()})}),e.ok(i)}};Lee.default=adr});var kee=S(Mee=>{"use strict";Object.defineProperty(Mee,"__esModule",{value:!0});var iF=ed(),_f=Ar(),odr=$p(),aF=dn(),cdr={message:"must NOT have additional properties",params:({params:e})=>(0,_f._)`{additionalProperty: ${e.additionalProperty}}`},udr={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:cdr,code(e){let{gen:t,schema:r,parentSchema:n,data:s,errsCount:i,it:a}=e;if(!i)throw new Error("ajv implementation error");let{allErrors:o,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,aF.alwaysValidSchema)(a,r))return;let u=(0,iF.allSchemaProperties)(n.properties),l=(0,iF.allSchemaProperties)(n.patternProperties);d(),e.ok((0,_f._)`${i} === ${odr.default.errors}`);function d(){t.forIn("key",s,g=>{!u.length&&!l.length?p(g):t.if(f(g),()=>p(g))})}function f(g){let _;if(u.length>8){let y=(0,aF.schemaRefOrVal)(a,n.properties,"properties");_=(0,iF.isOwnProperty)(t,y,g)}else u.length?_=(0,_f.or)(...u.map(y=>(0,_f._)`${g} === ${y}`)):_=_f.nil;return l.length&&(_=(0,_f.or)(_,...l.map(y=>(0,_f._)`${(0,iF.usePattern)(e,y)}.test(${g})`))),(0,_f.not)(_)}function h(g){t.code((0,_f._)`delete ${s}[${g}]`)}function p(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){h(g);return}if(r===!1){e.setParams({additionalProperty:g}),e.error(),o||t.break();return}if(typeof r=="object"&&!(0,aF.alwaysValidSchema)(a,r)){let _=t.name("valid");c.removeAdditional==="failing"?(m(g,_,!1),t.if((0,_f.not)(_),()=>{e.reset(),h(g)})):(m(g,_),o||t.if((0,_f.not)(_),()=>t.break()))}}function m(g,_,y){let E={keyword:"additionalProperties",dataProp:g,dataPropType:aF.Type.Str};y===!1&&Object.assign(E,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(E,_)}}};Mee.default=udr});var f6e=S(Uee=>{"use strict";Object.defineProperty(Uee,"__esModule",{value:!0});var ldr=KN(),l6e=ed(),Bee=dn(),d6e=kee(),ddr={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:s,it:i}=e;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&d6e.default.code(new ldr.KeywordCxt(i,d6e.default,"additionalProperties"));let a=(0,l6e.allSchemaProperties)(r);for(let d of a)i.definedProperties.add(d);i.opts.unevaluated&&a.length&&i.props!==!0&&(i.props=Bee.mergeEvaluated.props(t,(0,Bee.toHash)(a),i.props));let o=a.filter(d=>!(0,Bee.alwaysValidSchema)(i,r[d]));if(o.length===0)return;let c=t.name("valid");for(let d of o)u(d)?l(d):(t.if((0,l6e.propertyInData)(t,s,d,i.opts.ownProperties)),l(d),i.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(d),e.ok(c);function u(d){return i.opts.useDefaults&&!i.compositeRule&&r[d].default!==void 0}function l(d){e.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Uee.default=ddr});var g6e=S(Fee=>{"use strict";Object.defineProperty(Fee,"__esModule",{value:!0});var h6e=ed(),oF=Ar(),p6e=dn(),m6e=dn(),fdr={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:s,it:i}=e,{opts:a}=i,o=(0,h6e.allSchemaProperties)(r),c=o.filter(m=>(0,p6e.alwaysValidSchema)(i,r[m]));if(o.length===0||c.length===o.length&&(!i.opts.unevaluated||i.props===!0))return;let u=a.strictSchema&&!a.allowMatchingProperties&&s.properties,l=t.name("valid");i.props!==!0&&!(i.props instanceof oF.Name)&&(i.props=(0,m6e.evaluatedPropsToName)(t,i.props));let{props:d}=i;f();function f(){for(let m of o)u&&h(m),i.allErrors?p(m):(t.var(l,!0),p(m),t.if(l))}function h(m){for(let g in u)new RegExp(m).test(g)&&(0,p6e.checkStrictMode)(i,`property ${g} matches pattern ${m} (use allowMatchingProperties)`)}function p(m){t.forIn("key",n,g=>{t.if((0,oF._)`${(0,h6e.usePattern)(e,m)}.test(${g})`,()=>{let _=c.includes(m);_||e.subschema({keyword:"patternProperties",schemaProp:m,dataProp:g,dataPropType:m6e.Type.Str},l),i.opts.unevaluated&&d!==!0?t.assign((0,oF._)`${d}[${g}]`,!0):!_&&!i.allErrors&&t.if((0,oF.not)(l),()=>t.break())})})}}};Fee.default=fdr});var _6e=S($ee=>{"use strict";Object.defineProperty($ee,"__esModule",{value:!0});var hdr=dn(),pdr={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,hdr.alwaysValidSchema)(n,r)){e.fail();return}let s=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),e.failResult(s,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};$ee.default=pdr});var A6e=S(qee=>{"use strict";Object.defineProperty(qee,"__esModule",{value:!0});var mdr=ed(),gdr={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:mdr.validateUnion,error:{message:"must match a schema in anyOf"}};qee.default=gdr});var E6e=S(Hee=>{"use strict";Object.defineProperty(Hee,"__esModule",{value:!0});var cF=Ar(),_dr=dn(),Adr={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,cF._)`{passingSchemas: ${e.passing}}`},Edr={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Adr,code(e){let{gen:t,schema:r,parentSchema:n,it:s}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let i=r,a=t.let("valid",!1),o=t.let("passing",null),c=t.name("_valid");e.setParams({passing:o}),t.block(u),e.result(a,()=>e.reset(),()=>e.error(!0));function u(){i.forEach((l,d)=>{let f;(0,_dr.alwaysValidSchema)(s,l)?t.var(c,!0):f=e.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&t.if((0,cF._)`${c} && ${a}`).assign(a,!1).assign(o,(0,cF._)`[${o}, ${d}]`).else(),t.if(c,()=>{t.assign(a,!0),t.assign(o,d),f&&e.mergeEvaluated(f,cF.Name)})})}}};Hee.default=Edr});var y6e=S(Vee=>{"use strict";Object.defineProperty(Vee,"__esModule",{value:!0});var ydr=dn(),vdr={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=t.name("valid");r.forEach((i,a)=>{if((0,ydr.alwaysValidSchema)(n,i))return;let o=e.subschema({keyword:"allOf",schemaProp:a},s);e.ok(s),e.mergeEvaluated(o)})}};Vee.default=vdr});var T6e=S(jee=>{"use strict";Object.defineProperty(jee,"__esModule",{value:!0});var uF=Ar(),S6e=dn(),Sdr={message:({params:e})=>(0,uF.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,uF._)`{failingKeyword: ${e.ifClause}}`},Tdr={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Sdr,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,S6e.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=v6e(n,"then"),i=v6e(n,"else");if(!s&&!i)return;let a=t.let("valid",!0),o=t.name("_valid");if(c(),e.reset(),s&&i){let l=t.let("ifClause");e.setParams({ifClause:l}),t.if(o,u("then",l),u("else",l))}else s?t.if(o,u("then")):t.if((0,uF.not)(o),u("else"));e.pass(a,()=>e.error(!0));function c(){let l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},o);e.mergeEvaluated(l)}function u(l,d){return()=>{let f=e.subschema({keyword:l},o);t.assign(a,o),e.mergeValidEvaluated(f,a),d?t.assign(d,(0,uF._)`${l}`):e.setParams({ifClause:l})}}}};function v6e(e,t){let r=e.schema[t];return r!==void 0&&!(0,S6e.alwaysValidSchema)(e,r)}jee.default=Tdr});var b6e=S(Kee=>{"use strict";Object.defineProperty(Kee,"__esModule",{value:!0});var bdr=dn(),Idr={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,bdr.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};Kee.default=Idr});var I6e=S(Gee=>{"use strict";Object.defineProperty(Gee,"__esModule",{value:!0});var Rdr=xee(),Cdr=t6e(),xdr=wee(),wdr=n6e(),Ndr=s6e(),Odr=o6e(),Ddr=u6e(),Pdr=kee(),Ldr=f6e(),Mdr=g6e(),kdr=_6e(),Bdr=A6e(),Udr=E6e(),Fdr=y6e(),$dr=T6e(),qdr=b6e();function Hdr(e=!1){let t=[kdr.default,Bdr.default,Udr.default,Fdr.default,$dr.default,qdr.default,Ddr.default,Pdr.default,Odr.default,Ldr.default,Mdr.default];return e?t.push(Cdr.default,wdr.default):t.push(Rdr.default,xdr.default),t.push(Ndr.default),t}Gee.default=Hdr});var R6e=S(Yee=>{"use strict";Object.defineProperty(Yee,"__esModule",{value:!0});var Ci=Ar(),Vdr={message:({schemaCode:e})=>(0,Ci.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Ci._)`{format: ${e}}`},jdr={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Vdr,code(e,t){let{gen:r,data:n,$data:s,schema:i,schemaCode:a,it:o}=e,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=o;if(!c.validateFormats)return;s?f():h();function f(){let p=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),m=r.const("fDef",(0,Ci._)`${p}[${a}]`),g=r.let("fType"),_=r.let("format");r.if((0,Ci._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>r.assign(g,(0,Ci._)`${m}.type || "string"`).assign(_,(0,Ci._)`${m}.validate`),()=>r.assign(g,(0,Ci._)`"string"`).assign(_,m)),e.fail$data((0,Ci.or)(y(),E()));function y(){return c.strictSchema===!1?Ci.nil:(0,Ci._)`${a} && !${_}`}function E(){let A=l.$async?(0,Ci._)`(${m}.async ? await ${_}(${n}) : ${_}(${n}))`:(0,Ci._)`${_}(${n})`,v=(0,Ci._)`(typeof ${_} == "function" ? ${A} : ${_}.test(${n}))`;return(0,Ci._)`${_} && ${_} !== true && ${g} === ${t} && !${v}`}}function h(){let p=d.formats[i];if(!p){y();return}if(p===!0)return;let[m,g,_]=E(p);m===t&&e.pass(A());function y(){if(c.strictSchema===!1){d.logger.warn(v());return}throw new Error(v());function v(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function E(v){let T=v instanceof RegExp?(0,Ci.regexpCode)(v):c.code.formats?(0,Ci._)`${c.code.formats}${(0,Ci.getProperty)(i)}`:void 0,C=r.scopeValue("formats",{key:i,ref:v,code:T});return typeof v=="object"&&!(v instanceof RegExp)?[v.type||"string",v.validate,(0,Ci._)`${C}.validate`]:["string",v,C]}function A(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Ci._)`await ${_}(${n})`}return typeof g=="function"?(0,Ci._)`${_}(${n})`:(0,Ci._)`${_}.test(${n})`}}}};Yee.default=jdr});var C6e=S(Qee=>{"use strict";Object.defineProperty(Qee,"__esModule",{value:!0});var Kdr=R6e(),Gdr=[Kdr.default];Qee.default=Gdr});var x6e=S(m1=>{"use strict";Object.defineProperty(m1,"__esModule",{value:!0});m1.contentVocabulary=m1.metadataVocabulary=void 0;m1.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];m1.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var N6e=S(zee=>{"use strict";Object.defineProperty(zee,"__esModule",{value:!0});var Ydr=BFe(),Qdr=XFe(),zdr=I6e(),Wdr=C6e(),w6e=x6e(),Xdr=[Ydr.default,Qdr.default,(0,zdr.default)(),Wdr.default,w6e.metadataVocabulary,w6e.contentVocabulary];zee.default=Xdr});var D6e=S(lF=>{"use strict";Object.defineProperty(lF,"__esModule",{value:!0});lF.DiscrError=void 0;var O6e;(function(e){e.Tag="tag",e.Mapping="mapping"})(O6e||(lF.DiscrError=O6e={}))});var L6e=S(Xee=>{"use strict";Object.defineProperty(Xee,"__esModule",{value:!0});var g1=Ar(),Wee=D6e(),P6e=YU(),Jdr=GN(),Zdr=dn(),efr={message:({params:{discrError:e,tagName:t}})=>e===Wee.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,g1._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},tfr={keyword:"discriminator",type:"object",schemaType:"object",error:efr,code(e){let{gen:t,data:r,schema:n,parentSchema:s,it:i}=e,{oneOf:a}=s;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let o=n.propertyName;if(typeof o!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),u=t.const("tag",(0,g1._)`${r}${(0,g1.getProperty)(o)}`);t.if((0,g1._)`typeof ${u} == "string"`,()=>l(),()=>e.error(!1,{discrError:Wee.DiscrError.Tag,tag:u,tagName:o})),e.ok(c);function l(){let h=f();t.if(!1);for(let p in h)t.elseIf((0,g1._)`${u} === ${p}`),t.assign(c,d(h[p]));t.else(),e.error(!1,{discrError:Wee.DiscrError.Mapping,tag:u,tagName:o}),t.endIf()}function d(h){let p=t.name("valid"),m=e.subschema({keyword:"oneOf",schemaProp:h},p);return e.mergeEvaluated(m,g1.Name),p}function f(){var h;let p={},m=_(s),g=!0;for(let A=0;A{rfr.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var Zee=S((Ls,Jee)=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});Ls.MissingRefError=Ls.ValidationError=Ls.CodeGen=Ls.Name=Ls.nil=Ls.stringify=Ls.str=Ls._=Ls.KeywordCxt=Ls.Ajv=void 0;var nfr=OFe(),sfr=N6e(),ifr=L6e(),k6e=M6e(),afr=["/properties"],dF="http://json-schema.org/draft-07/schema",_1=class extends nfr.default{_addVocabularies(){super._addVocabularies(),sfr.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(ifr.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(k6e,afr):k6e;this.addMetaSchema(t,dF,!1),this.refs["http://json-schema.org/schema"]=dF}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(dF)?dF:void 0)}};Ls.Ajv=_1;Jee.exports=Ls=_1;Jee.exports.Ajv=_1;Object.defineProperty(Ls,"__esModule",{value:!0});Ls.default=_1;var ofr=KN();Object.defineProperty(Ls,"KeywordCxt",{enumerable:!0,get:function(){return ofr.KeywordCxt}});var A1=Ar();Object.defineProperty(Ls,"_",{enumerable:!0,get:function(){return A1._}});Object.defineProperty(Ls,"str",{enumerable:!0,get:function(){return A1.str}});Object.defineProperty(Ls,"stringify",{enumerable:!0,get:function(){return A1.stringify}});Object.defineProperty(Ls,"nil",{enumerable:!0,get:function(){return A1.nil}});Object.defineProperty(Ls,"Name",{enumerable:!0,get:function(){return A1.Name}});Object.defineProperty(Ls,"CodeGen",{enumerable:!0,get:function(){return A1.CodeGen}});var cfr=KU();Object.defineProperty(Ls,"ValidationError",{enumerable:!0,get:function(){return cfr.default}});var ufr=GN();Object.defineProperty(Ls,"MissingRefError",{enumerable:!0,get:function(){return ufr.default}})});var U6e=S((HFn,B6e)=>{"use strict";var lfr={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};B6e.exports={HEX:lfr}});var G6e=S((VFn,K6e)=>{"use strict";var{HEX:dfr}=U6e();function H6e(e){if(j6e(e,".")<3)return{host:e,isIPV4:!1};let t=e.match(/^(\b[01]?\d{1,2}|\b2[0-4]\d|\b25[0-5])(\.([01]?\d{1,2}|2[0-4]\d|25[0-5])){3}$/u)||[],[r]=t;return r?{host:hfr(r,"."),isIPV4:!0}:{host:e,isIPV4:!1}}function ete(e){let t="",r=!0;for(let n of e){if(n!=="0"&&r===!0&&(r=!1),dfr[n]===void 0)return;r||(t+=n)}return t}function ffr(e){let t=0,r={error:!1,address:"",zone:""},n=[],s=[],i=!1,a=!1,o=!1;function c(){if(s.length){if(i===!1){let u=ete(s.join(""));if(u!==void 0)n.push(u);else return r.error=!0,!1}s.length=0}return!0}for(let u=0;u7){r.error=!0;break}u-1>=0&&e[u-1]===":"&&(a=!0);continue}else if(l==="%"){if(!c())break;i=!0}else{s.push(l);continue}}return s.length&&(i?r.zone=s.join(""):o?n.push(s.join("")):n.push(ete(s.join("")))),r.address=n.join(""),r}function V6e(e,t={}){if(j6e(e,":")<2)return{host:e,isIPV6:!1};let r=ffr(e);if(r.error)return{host:e,isIPV6:!1};{let n=r.address,s=r.address;return r.zone&&(n+="%"+r.zone,s+="%25"+r.zone),{host:n,escapedHost:s,isIPV6:!0}}}function hfr(e,t){let r="",n=!0,s=e.length;for(let i=0;i{"use strict";var Afr=/^[\da-f]{8}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{12}$/iu,Efr=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function Y6e(e){return typeof e.secure=="boolean"?e.secure:String(e.scheme).toLowerCase()==="wss"}function Q6e(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function z6e(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function yfr(e){return e.secure=Y6e(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function vfr(e){if((e.port===(Y6e(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function Sfr(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(Efr);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let s=`${n}:${t.nid||e.nid}`,i=tte[s];e.path=void 0,i&&(e=i.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function Tfr(e,t){let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),s=`${r}:${t.nid||n}`,i=tte[s];i&&(e=i.serialize(e,t));let a=e,o=e.nss;return a.path=`${n||t.nid}:${o}`,t.skipEscape=!0,a}function bfr(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!Afr.test(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function Ifr(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var W6e={scheme:"http",domainHost:!0,parse:Q6e,serialize:z6e},Rfr={scheme:"https",domainHost:W6e.domainHost,parse:Q6e,serialize:z6e},fF={scheme:"ws",domainHost:!0,parse:yfr,serialize:vfr},Cfr={scheme:"wss",domainHost:fF.domainHost,parse:fF.parse,serialize:fF.serialize},xfr={scheme:"urn",parse:Sfr,serialize:Tfr,skipNormalize:!0},wfr={scheme:"urn:uuid",parse:bfr,serialize:Ifr,skipNormalize:!0},tte={http:W6e,https:Rfr,ws:fF,wss:Cfr,urn:xfr,"urn:uuid":wfr};X6e.exports=tte});var nte=S((KFn,pF)=>{"use strict";var{normalizeIPv6:Nfr,normalizeIPv4:Ofr,removeDotSegments:oO,recomposeAuthority:Dfr,normalizeComponentEncoding:hF}=G6e(),Z6e=J6e();function Pfr(e,t){return typeof e=="string"?e=j0(Vp(e,t),t):typeof e=="object"&&(e=Vp(j0(e,t),t)),e}function Lfr(e,t,r){let n=Object.assign({scheme:"null"},r),s=e8e(Vp(e,n),Vp(t,n),n,!0);return j0(s,{...n,skipEscape:!0})}function e8e(e,t,r,n){let s={};return n||(e=Vp(j0(e,r),r),t=Vp(j0(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(s.scheme=t.scheme,s.userinfo=t.userinfo,s.host=t.host,s.port=t.port,s.path=oO(t.path||""),s.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(s.userinfo=t.userinfo,s.host=t.host,s.port=t.port,s.path=oO(t.path||""),s.query=t.query):(t.path?(t.path.charAt(0)==="/"?s.path=oO(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?s.path="/"+t.path:e.path?s.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:s.path=t.path,s.path=oO(s.path)),s.query=t.query):(s.path=e.path,t.query!==void 0?s.query=t.query:s.query=e.query),s.userinfo=e.userinfo,s.host=e.host,s.port=e.port),s.scheme=e.scheme),s.fragment=t.fragment,s}function Mfr(e,t,r){return typeof e=="string"?(e=unescape(e),e=j0(hF(Vp(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=j0(hF(e,!0),{...r,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=j0(hF(Vp(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=j0(hF(t,!0),{...r,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function j0(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),s=[],i=Z6e[(n.scheme||r.scheme||"").toLowerCase()];i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&(s.push(r.scheme),s.push(":"));let a=Dfr(r,n);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path.charAt(0)!=="/"&&s.push("/")),r.path!==void 0){let o=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(o=oO(o)),a===void 0&&(o=o.replace(/^\/\//u,"/%2F")),s.push(o)}return r.query!==void 0&&(s.push("?"),s.push(r.query)),r.fragment!==void 0&&(s.push("#"),s.push(r.fragment)),s.join("")}var kfr=Array.from({length:127},(e,t)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(t)));function Bfr(e){let t=0;for(let r=0,n=e.length;r126||kfr[t])return!0;return!1}var Ufr=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Vp(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=e.indexOf("%")!==-1;r.reference==="suffix"&&(e=(r.scheme?r.scheme+":":"")+"//"+e);let i=e.match(Ufr);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host){let o=Ofr(n.host);o.isIPV4===!1?n.host=Nfr(o.host,{isIPV4:!1}).host.toLowerCase():n.host=o.host}n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&!n.path&&n.query===void 0?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=Z6e[(r.scheme||n.scheme||"").toLowerCase()];if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&Bfr(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(o){n.error=n.error||"Host's domain name can not be converted to ASCII: "+o}(!a||a&&!a.skipNormalize)&&(s&&n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),s&&n.userinfo!==void 0&&(n.userinfo=unescape(n.userinfo)),s&&n.host!==void 0&&(n.host=unescape(n.host)),n.path!==void 0&&n.path.length&&(n.path=escape(unescape(n.path))),n.fragment!==void 0&&n.fragment.length&&(n.fragment=encodeURI(decodeURI(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var rte={normalize:Pfr,resolve:Lfr,resolveComponents:e8e,equal:Mfr,serialize:j0,parse:Vp};pF.exports=rte;pF.exports.default=rte;pF.exports.fastUri=rte});var mF=S(G0=>{"use strict";Object.defineProperty(G0,"__esModule",{value:!0});G0.formatNames=G0.fastFormats=G0.fullFormats=void 0;function K0(e,t){return{validate:e,compare:t}}G0.fullFormats={date:K0(s8e,ote),time:K0(ite(!0),cte),"date-time":K0(t8e(!0),a8e),"iso-time":K0(ite(),i8e),"iso-date-time":K0(t8e(),o8e),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:jfr,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:Xfr,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:Kfr,int32:{type:"number",validate:Qfr},int64:{type:"number",validate:zfr},float:{type:"number",validate:n8e},double:{type:"number",validate:n8e},password:!0,binary:!0};G0.fastFormats={...G0.fullFormats,date:K0(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,ote),time:K0(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,cte),"date-time":K0(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,a8e),"iso-time":K0(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,i8e),"iso-date-time":K0(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,o8e),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};G0.formatNames=Object.keys(G0.fullFormats);function Ffr(e){return e%4===0&&(e%100!==0||e%400===0)}var $fr=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,qfr=[0,31,28,31,30,31,30,31,31,30,31,30,31];function s8e(e){let t=$fr.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],s=+t[3];return n>=1&&n<=12&&s>=1&&s<=(n===2&&Ffr(r)?29:qfr[n])}function ote(e,t){if(e&&t)return e>t?1:e23||l>59||e&&!o)return!1;if(s<=23&&i<=59&&a<60)return!0;let d=i-l*c,f=s-u*c-(d<0?1:0);return(f===23||f===-1)&&(d===59||d===-1)&&a<61}}function cte(e,t){if(!(e&&t))return;let r=new Date("2020-01-01T"+e).valueOf(),n=new Date("2020-01-01T"+t).valueOf();if(r&&n)return r-n}function i8e(e,t){if(!(e&&t))return;let r=ste.exec(e),n=ste.exec(t);if(r&&n)return e=r[1]+r[2]+r[3],t=n[1]+n[2]+n[3],e>t?1:e=Gfr}function zfr(e){return Number.isInteger(e)}function n8e(){return!0}var Wfr=/[^\\]\\Z/;function Xfr(e){if(Wfr.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var c8e=S(E1=>{"use strict";Object.defineProperty(E1,"__esModule",{value:!0});E1.formatLimitDefinition=void 0;var Jfr=Zee(),Af=Ar(),M_=Af.operators,gF={formatMaximum:{okStr:"<=",ok:M_.LTE,fail:M_.GT},formatMinimum:{okStr:">=",ok:M_.GTE,fail:M_.LT},formatExclusiveMaximum:{okStr:"<",ok:M_.LT,fail:M_.GTE},formatExclusiveMinimum:{okStr:">",ok:M_.GT,fail:M_.LTE}},Zfr={message:({keyword:e,schemaCode:t})=>(0,Af.str)`should be ${gF[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,Af._)`{comparison: ${gF[e].okStr}, limit: ${t}}`};E1.formatLimitDefinition={keyword:Object.keys(gF),type:"string",schemaType:"string",$data:!0,error:Zfr,code(e){let{gen:t,data:r,schemaCode:n,keyword:s,it:i}=e,{opts:a,self:o}=i;if(!a.validateFormats)return;let c=new Jfr.KeywordCxt(i,o.RULES.all.format.definition,"format");c.$data?u():l();function u(){let f=t.scopeValue("formats",{ref:o.formats,code:a.code.formats}),h=t.const("fmt",(0,Af._)`${f}[${c.schemaCode}]`);e.fail$data((0,Af.or)((0,Af._)`typeof ${h} != "object"`,(0,Af._)`${h} instanceof RegExp`,(0,Af._)`typeof ${h}.compare != "function"`,d(h)))}function l(){let f=c.schema,h=o.formats[f];if(!h||h===!0)return;if(typeof h!="object"||h instanceof RegExp||typeof h.compare!="function")throw new Error(`"${s}": format "${f}" does not define "compare" function`);let p=t.scopeValue("formats",{key:f,ref:h,code:a.code.formats?(0,Af._)`${a.code.formats}${(0,Af.getProperty)(f)}`:void 0});e.fail$data(d(p))}function d(f){return(0,Af._)`${f}.compare(${r}, ${n}) ${gF[s].fail} 0`}},dependencies:["format"]};var e0r=e=>(e.addKeyword(E1.formatLimitDefinition),e);E1.default=e0r});var f8e=S((cO,d8e)=>{"use strict";Object.defineProperty(cO,"__esModule",{value:!0});var y1=mF(),t0r=c8e(),ute=Ar(),u8e=new ute.Name("fullFormats"),r0r=new ute.Name("fastFormats"),lte=(e,t={keywords:!0})=>{if(Array.isArray(t))return l8e(e,t,y1.fullFormats,u8e),e;let[r,n]=t.mode==="fast"?[y1.fastFormats,r0r]:[y1.fullFormats,u8e],s=t.formats||y1.formatNames;return l8e(e,s,r,n),t.keywords&&(0,t0r.default)(e),e};lte.get=(e,t="full")=>{let n=(t==="fast"?y1.fastFormats:y1.fullFormats)[e];if(!n)throw new Error(`Unknown format "${e}"`);return n};function l8e(e,t,r,n){var s,i;(s=(i=e.opts.code).formats)!==null&&s!==void 0||(i.formats=(0,ute._)`require("ajv-formats/dist/formats").${n}`);for(let a of t)e.addFormat(a,r[a])}d8e.exports=cO=lte;Object.defineProperty(cO,"__esModule",{value:!0});cO.default=lte});var fte=S((QFn,h8e)=>{"use strict";var n0r=Zee(),s0r=nte(),i0r=f8e(),a0r=OU()({proto:!0}),dte=class e{constructor(t){this.ajv=new n0r({...t,strictSchema:!1,validateSchema:!1,allowUnionTypes:!0,uriResolver:s0r}),i0r(this.ajv),this.ajv.addKeyword({keyword:"fjs_type",type:"object",errors:!1,validate:(r,n)=>n instanceof Date}),this._ajvSchemas={},this._ajvOptions=t||{}}addSchema(t,r){let n=t.$id||r;if(t.$id!==void 0&&t.$id[0]==="#"&&(n=r+t.$id),this.ajv.refs[n]===void 0&&this.ajv.schemas[n]===void 0){let s=a0r(t);this.convertSchemaToAjvFormat(s),this.ajv.addSchema(s,n),this._ajvSchemas[n]=t}}validate(t,r){return this.ajv.validate(t,r)}convertSchemaToAjvFormat(t){if(t!==null){t.type==="string"?(t.fjs_type="string",t.type=["string","object"]):Array.isArray(t.type)&&t.type.includes("string")&&!t.type.includes("object")&&(t.fjs_type="string",t.type.push("object"));for(let r in t)typeof t[r]=="object"&&this.convertSchemaToAjvFormat(t[r])}}getState(){return{ajvOptions:this._ajvOptions,ajvSchemas:this._ajvSchemas}}static restoreFromState(t){let r=new e(t.ajvOptions);for(let[n,s]of Object.entries(t.ajvSchemas))r.ajv.addSchema(s,n);return r}};h8e.exports=dte});var pte=S((zFn,hte)=>{"use strict";function o0r(e,t,r,n){let s="";t.validatorSchemasIds.size>0?(s+=`const Validator = require('fast-json-stringify/lib/validator') +`,s+=`const validatorState = ${JSON.stringify(n.getState())} +`,s+=`const validator = Validator.restoreFromState(validatorState) +`):s+=`const validator = null +`;let{schema:i,...a}=r.getState();return` + 'use strict' + + const Serializer = require('fast-json-stringify/lib/serializer') + const serializerState = ${JSON.stringify(a)} + const serializer = Serializer.restoreFromState(serializerState) + + ${s} + + module.exports = ${e.toString()}(validator, serializer)`}hte.exports=o0r;hte.exports.dependencies={Serializer:mZ(),Validator:fte()}});var m8e=S((XFn,p8e)=>{"use strict";var{dependencies:c0r}=pte(),{Serializer:u0r,Validator:WFn}=c0r,l0r={mode:"standalone"},d0r=u0r.restoreFromState(l0r),f0r=null;p8e.exports=function(t,r){function n(i){let a=i&&typeof i.toJSON=="function"?i.toJSON():i;if(a===null)return"{}";let o=!1,c="{";return a.statusCode!==void 0&&(!o&&(o=!0)||(c+=","),c+='"statusCode":',c+=r.asNumber(a.statusCode)),a.code!==void 0&&(!o&&(o=!0)||(c+=","),c+='"code":',c+=r.asString(a.code)),a.error!==void 0&&(!o&&(o=!0)||(c+=","),c+='"error":',c+=r.asString(a.error)),a.message!==void 0&&(!o&&(o=!0)||(c+=","),c+='"message":',c+=r.asString(a.message)),c+"}"}return n}(f0r,d0r)});var uO=S((JFn,E8e)=>{"use strict";var g8e=require("node:http").STATUS_CODES,h0r=fJ(),{kReplyHeaders:jy,kReplyNextErrorHandler:_F,kReplyIsRunningOnErrorHook:p0r,kReplyHasStatusCode:m0r,kRouteContext:A8e}=Sa(),{FST_ERR_REP_INVALID_PAYLOAD_TYPE:g0r,FST_ERR_FAILED_ERROR_SERIALIZATION:_0r}=Oo(),{getSchemaSerializer:A0r}=ON(),mte=m8e(),E0r={func:v0r,toJSON(){return this.func.name.toString()+"()"}};function y0r(e,t,r){e[p0r]=!1;let n=e[A8e];if(e[_F]===!1){_8e(t,e,function(o,c){try{o.raw.writeHead(o.raw.statusCode,o[jy])}catch(u){o.log.warn({req:o.request,res:o,err:u},u&&u.message),o.raw.writeHead(o.raw.statusCode)}o.raw.end(c)});return}let s=e[_F]||n.errorHandler;e[_F]=Object.getPrototypeOf(s),delete e[jy]["content-type"],delete e[jy]["content-length"];let i=s.func;if(!i){e[_F]=!1,_8e(t,e,r);return}let a=i(t,e.request,e);a!==void 0&&(a!==null&&typeof a.then=="function"?h0r(a,e):e.send(a))}function v0r(e,t,r){if(T0r(e,r),!r[m0r]||r.statusCode===200){let n=e.statusCode||e.status;r.code(n>=400?n:500)}r.statusCode<500?r.log.info({res:r,err:e},e&&e.message):r.log.error({req:t,res:r,err:e},e&&e.message),r.send(e)}function _8e(e,t,r){let n=t.raw,s=t.statusCode;t[jy]["content-type"]=t[jy]["content-type"]??"application/json; charset=utf-8";let i;try{let a=A0r(t[A8e],s,t[jy]["content-type"]);i=a===!1?mte({error:g8e[s+""],code:e.code,message:e.message,statusCode:s}):a(Object.create(e,{error:{value:g8e[s+""]},message:{value:e.message},statusCode:{value:s}}))}catch(a){t.log.error({err:a,statusCode:n.statusCode},"The serializer for the given status code failed"),t.code(500),i=mte(new _0r(a.message,e.message))}typeof i!="string"&&!Buffer.isBuffer(i)&&(i=mte(new g0r(typeof i))),t[jy]["content-length"]=""+Buffer.byteLength(i),r(t,i)}function S0r(e=E0r,t){if(!t)return e;let r=Object.create(e);return r.func=t,r}function T0r(e,t){let r=t.raw,n=r.statusCode;n=n>=400?n:500,e!=null&&(e.headers!==void 0&&t.headers(e.headers),e.status>=400?n=e.status:e.statusCode>=400&&(n=e.statusCode)),r.statusCode=n}E8e.exports={buildErrorHandler:S0r,handleError:y0r}});var TF=S((ZFn,SF)=>{"use strict";var Ete=require("node:stream").finished,b0r=require("node:stream").Readable,{kFourOhFourContext:y8e,kPublicRouteContext:v8e,kReplyErrorHandlerCalled:w8e,kReplyHijacked:lO,kReplyStartTime:dO,kReplyEndTime:vte,kReplySerializer:jp,kReplySerializerDefault:EF,kReplyIsError:yF,kReplyHeaders:Ss,kReplyTrailers:Ta,kReplyHasStatusCode:Ste,kReplyIsRunningOnErrorHook:Tte,kReplyNextErrorHandler:I0r,kDisableRequestLogging:N8e,kSchemaResponse:vF,kReplyCacheSerializeFns:k_,kSchemaController:gte,kOptions:R0r,kRouteContext:Nr}=Sa(),{onSendHookRunner:O8e,onResponseHookRunner:C0r,preHandlerHookRunner:x0r,preSerializationHookRunner:w0r}=T_(),S8e=gJ()[Symbol.for("internals")],N0r=NN(),yte=N0r.now,{handleError:T8e}=uO(),{getSchemaSerializer:O0r}=ON(),_te={JSON:"application/json; charset=utf-8",PLAIN:"text/plain; charset=utf-8",OCTET:"application/octet-stream"},{FST_ERR_REP_INVALID_PAYLOAD_TYPE:D0r,FST_ERR_REP_RESPONSE_BODY_CONSUMED:P0r,FST_ERR_REP_ALREADY_SENT:D8e,FST_ERR_REP_SENT_VALUE:L0r,FST_ERR_SEND_INSIDE_ONERR:M0r,FST_ERR_BAD_STATUS_CODE:k0r,FST_ERR_BAD_TRAILER_NAME:B0r,FST_ERR_BAD_TRAILER_VALUE:U0r,FST_ERR_MISSING_SERIALIZATION_FN:F0r,FST_ERR_MISSING_CONTENTTYPE_SERIALIZATION_FN:$0r}=Oo(),{FSTDEP010:q0r,FSTDEP013:H0r,FSTDEP019:V0r,FSTDEP020:j0r}=kp(),P8e=Object.prototype.toString;function gs(e,t,r){this.raw=e,this[jp]=null,this[w8e]=!1,this[yF]=!1,this[Tte]=!1,this.request=t,this[Ss]={},this[Ta]=null,this[Ste]=!1,this[dO]=void 0,this.log=r}gs.props=[];Object.defineProperties(gs.prototype,{[Nr]:{get(){return this.request[Nr]}},context:{get(){return V0r(),this.request[Nr]}},elapsedTime:{get(){return this[dO]===void 0?0:(this[vte]||yte())-this[dO]}},server:{get(){return this.request[Nr].server}},sent:{enumerable:!0,get(){return(this[lO]||this.raw.writableEnded)===!0},set(e){if(q0r(),e!==!0)throw new L0r;if(this.sent&&this[lO])throw new D8e(this.request.url,this.request.method);this[lO]=!0}},statusCode:{get(){return this.raw.statusCode},set(e){this.code(e)}},[v8e]:{get(){return this.request[v8e]}}});gs.prototype.hijack=function(){return this[lO]=!0,this};gs.prototype.send=function(e){if(this[Tte]===!0)throw new M0r;if(this.sent)return this.log.warn({err:new D8e(this.request.url,this.request.method)}),this;if(e instanceof Error||this[yF]===!0)return this[yF]=!1,fO(this,e,Ky),this;if(e===void 0)return Ky(this,e),this;let t=this.getHeader("content-type"),r=t!==void 0;if(e!==null){if(typeof e.pipe=="function"||typeof e.getReader=="function"||P8e.call(e)==="[object Response]")return Ky(this,e),this;if(e?.buffer instanceof ArrayBuffer){r===!1&&(this[Ss]["content-type"]=_te.OCTET);let n=Buffer.isBuffer(e)?e:Buffer.from(e.buffer,e.byteOffset,e.byteLength);return Ky(this,n),this}if(r===!1&&typeof e=="string")return this[Ss]["content-type"]=_te.PLAIN,Ky(this,e),this}if(this[jp]!==null){if(typeof e!="string")return b8e(this,e),this;e=this[jp](e)}else if(r===!1||t.indexOf("json")>-1){if(r===!1)this[Ss]["content-type"]=_te.JSON;else if(t.indexOf("charset")===-1){let n=t.trim();n.endsWith(";")?this[Ss]["content-type"]=`${n} charset=utf-8`:this[Ss]["content-type"]=`${n}; charset=utf-8`}if(typeof e!="string")return b8e(this,e),this}return Ky(this,e),this};gs.prototype.getHeader=function(e){e=e.toLowerCase();let t=this.raw,r=this[Ss][e];return r===void 0&&t.hasHeader(e)&&(r=t.getHeader(e)),r};gs.prototype.getHeaders=function(){return{...this.raw.getHeaders(),...this[Ss]}};gs.prototype.hasHeader=function(e){return e=e.toLowerCase(),this[Ss][e]!==void 0||this.raw.hasHeader(e)};gs.prototype.removeHeader=function(e){return delete this[Ss][e.toLowerCase()],this};gs.prototype.header=function(e,t=""){return e=e.toLowerCase(),this[Ss][e]&&e==="set-cookie"?(typeof this[Ss][e]=="string"&&(this[Ss][e]=[this[Ss][e]]),Array.isArray(t)?Array.prototype.push.apply(this[Ss][e],t):this[Ss][e].push(t)):this[Ss][e]=t,this};gs.prototype.headers=function(e){let t=Object.keys(e);for(var r=0;r!==t.length;++r){let n=t[r];this.header(n,e[n])}return this};var K0r=new Set(["transfer-encoding","content-length","host","cache-control","max-forwards","te","authorization","set-cookie","content-encoding","content-type","content-range","trailer"]);gs.prototype.trailer=function(e,t){if(e=e.toLowerCase(),K0r.has(e))throw new B0r(e);if(typeof t!="function")throw new U0r(e,typeof t);return this[Ta]===null&&(this[Ta]={}),this[Ta][e]=t,this};gs.prototype.hasTrailer=function(e){return this[Ta]?.[e.toLowerCase()]!==void 0};gs.prototype.removeTrailer=function(e){return this[Ta]===null?this:(this[Ta][e.toLowerCase()]=void 0,this)};gs.prototype.code=function(e){let t=Number(e);if(isNaN(t)||t<100||t>599)throw new k0r(e||String(e));return this.raw.statusCode=t,this[Ste]=!0,this};gs.prototype.status=gs.prototype.code;gs.prototype.getSerializationFunction=function(e,t){let r;return typeof e=="string"||typeof e=="number"?typeof t=="string"?r=this[Nr][vF]?.[e]?.[t]:r=this[Nr][vF]?.[e]:typeof e=="object"&&(r=this[Nr][k_]?.get(e)),r};gs.prototype.compileSerializationSchema=function(e,t=null,r=null){let{request:n}=this,{method:s,url:i}=n;if(this[Nr][k_]?.has(e))return this[Nr][k_].get(e);let o=(this[Nr].serializerCompiler||this.server[gte].serializerCompiler||this.server[gte].setupSerializer(this.server[R0r])||this.server[gte].serializerCompiler)({schema:e,method:s,url:i,httpStatus:t,contentType:r});return this[Nr][k_]==null&&(this[Nr][k_]=new WeakMap),this[Nr][k_].set(e,o),o};gs.prototype.serializeInput=function(e,t,r,n){let s=r,i;if(r=typeof t=="string"||typeof t=="number"?t:r,n=r&&s!==r?s:n,r!=null){if(n!=null?i=this[Nr][vF]?.[r]?.[n]:i=this[Nr][vF]?.[r],i==null)throw n?new $0r(r,n):new F0r(r)}else this[Nr][k_]?.has(t)?i=this[Nr][k_].get(t):i=this.compileSerializationSchema(t,r,n);return i(e)};gs.prototype.serialize=function(e){return this[jp]!==null?this[jp](e):this[Nr]&&this[Nr][EF]?this[Nr][EF](e,this.raw.statusCode):k8e(this[Nr],e,this.raw.statusCode)};gs.prototype.serializer=function(e){return this[jp]=e,this};gs.prototype.type=function(e){return this[Ss]["content-type"]=e,this};gs.prototype.redirect=function(e,t){return typeof e=="string"&&(t=e,e=this[Ste]?this.raw.statusCode:302),this.header("location",t).code(e).send()};gs.prototype.callNotFound=function(){return X0r(this),this};gs.prototype.getResponseTime=function(){return j0r(),this.elapsedTime};gs.prototype.then=function(e,t){if(this.sent){e();return}Ete(this.raw,r=>{r&&r.code!=="ERR_STREAM_PREMATURE_CLOSE"?t?t(r):this.log&&this.log.warn("unhandled rejection on reply.then"):e()})};function b8e(e,t){e[Nr].preSerialization!==null?w0r(e[Nr].preSerialization,e.request,e,t,I8e):I8e(null,e.request,e,t)}function I8e(e,t,r,n){if(e!=null){fO(r,e);return}try{r[jp]!==null?n=r[jp](n):r[Nr]&&r[Nr][EF]?n=r[Nr][EF](n,r.raw.statusCode):n=k8e(r[Nr],n,r.raw.statusCode,r[Ss]["content-type"])}catch(s){G0r(s,r),fO(r,s);return}Ky(r,n)}function G0r(e,t){e.serialization=t[Nr].config}function Ky(e,t){e[Nr].onSend!==null?O8e(e[Nr].onSend,e.request,e,t,Y0r):L8e(e,t)}function Y0r(e,t,r,n){e!=null?fO(r,e):L8e(r,n)}function Ate(e,t){let r=e.raw;try{r.writeHead(t,e[Ss])}catch(n){throw n.code==="ERR_HTTP_HEADERS_SENT"&&e.log.warn(`Reply was already sent, did you forget to "return reply" in the "${e.request.raw.url}" (${e.request.raw.method}) route?`),n}}function L8e(e,t){let r=e.raw,n=e.request;if(e[Ta]!==null){let a=Object.keys(e[Ta]),o="";for(let c of a)typeof e[Ta][c]=="function"&&(o+=" ",o+=c);e.header("Transfer-Encoding","chunked"),e.header("Trailer",o.trim())}let s=P8e.call(t)==="[object Response]";s&&typeof t.status=="number"&&e.code(t.status);let i=r.statusCode;if(t==null){i>=200&&i!==204&&i!==304&&n.method!=="HEAD"&&e[Ta]===null&&(e[Ss]["content-length"]="0"),Ate(e,i),AF(t,r,e);return}if(i>=100&&i<200||i===204){e.removeHeader("content-type"),e.removeHeader("content-length"),Ate(e,i),AF(void 0,r,e),typeof t.resume=="function"&&(t.on("error",B8e),t.resume());return}if(typeof t.pipe=="function"){M8e(t,r,e);return}if(typeof t.getReader=="function"){C8e(t,r,e);return}if(s){if(typeof t.headers=="object"&&typeof t.headers.forEach=="function")for(let[a,o]of t.headers)e.header(a,o);if(t.body!=null){if(t.bodyUsed)throw new P0r;C8e(t.body,r,e)}return}if(typeof t!="string"&&!Buffer.isBuffer(t))throw new D0r(typeof t);if(e[Ta]===null){let a=e[Ss]["content-length"];(!a||n.raw.method!=="HEAD"&&Number(a)!==Buffer.byteLength(t))&&(e[Ss]["content-length"]=""+Buffer.byteLength(t))}Ate(e,i),r.write(t),AF(t,r,e)}function R8e(e,t,r){t.code==="ERR_STREAM_PREMATURE_CLOSE"?e[N8e]||e.info({res:r},"stream closed prematurely"):e.warn({err:t},"response terminated with an error with headers already sent")}function C8e(e,t,r){let n=b0r.fromWeb(e);M8e(n,t,r)}function M8e(e,t,r){let n=!0,s=!1;if(Q0r(e,t,r),Ete(e,{readable:!0,writable:!1},function(i){n=!1,i!=null&&(t.headersSent||r.request.raw.aborted===!0?(s||(s=!0,R8e(r.log,i,t)),t.destroy()):fO(r,i))}),Ete(t,function(i){n&&(i!=null&&t.headersSent&&!s&&(s=!0,R8e(r.log,i,t)),typeof e.destroy=="function"?e.destroy():typeof e.close=="function"?e.close(B8e):typeof e.abort=="function"?e.abort():r.log.warn("stream payload does not end properly"))}),t.headersSent)r.log.warn("response will send, but you shouldn't use res.writeHead in stream mode");else for(let i in r[Ss])t.setHeader(i,r[Ss][i]);e.pipe(t)}function AF(e,t,r){if(r[Ta]===null){t.end(null,null,null);return}let n=Object.keys(r[Ta]),s={},i=0,a=!0;function o(){i===0&&(t.addTrailers(s),t.end(null,null,null))}for(let c of n){let u=function(d,f){i++,d?r.log.debug(d):s[c]=f,process.nextTick(o)};if(typeof r[Ta][c]!="function")continue;a=!1,i--;let l=r[Ta][c](r,e,u);typeof l=="object"&&typeof l.then=="function"?l.then(d=>u(null,d),u):l!=null&&(H0r(),u(null,l))}a&&t.end(null,null,null)}function Q0r(e,t,r){r[Ta]!==null&&e.on("end",()=>AF(null,t,r))}function fO(e,t,r){e[Nr].onError!==null&&!e[I0r]?(e[Tte]=!0,O8e(e[Nr].onError,e.request,e,t,()=>T8e(e,t,r))):T8e(e,t,r)}function z0r(e){e[dO]=yte();let t=r=>{e[vte]=yte(),e.raw.removeListener("finish",t),e.raw.removeListener("error",t);let n=e[Nr];n&&n.onResponse!==null?C0r(n.onResponse,e.request,e,x8e):x8e(r,e.request,e)};e.raw.on("finish",t),e.raw.on("error",t)}function x8e(e,t,r){if(r.log[N8e])return;let n=r.elapsedTime;if(e!=null){r.log.error({res:r,err:e,responseTime:n},"request errored");return}r.log.info({res:r,responseTime:n},"request completed")}function W0r(e){let t=e.props.slice();function r(n,s,i){this.raw=n,this[yF]=!1,this[w8e]=!1,this[lO]=!1,this[jp]=null,this.request=s,this[Ss]={},this[Ta]=null,this[dO]=void 0,this[vte]=void 0,this.log=i;for(var a,o=0;o{"use strict";U8e.exports=J0r;function J0r(e){if(!e)throw new TypeError("argument req is required");var t=ehr(e.headers["x-forwarded-for"]||""),r=Z0r(e),n=[r].concat(t);return n}function Z0r(e){return e.socket?e.socket.remoteAddress:e.connection.remoteAddress}function ehr(e){for(var t=e.length,r=[],n=e.length,s=e.length-1;s>=0;s--)switch(e.charCodeAt(s)){case 32:n===t&&(n=t=s);break;case 44:n!==t&&r.push(e.substring(n,t)),n=t=s;break;default:n=s;break}return n!==t&&r.push(e.substring(n,t)),r}});var q8e=S(($8e,hO)=>{(function(){var e,t,r,n,s,i,a,o,c;t={},o=this,typeof hO<"u"&&hO!==null&&hO.exports?hO.exports=t:o.ipaddr=t,a=function(u,l,d,f){var h,p;if(u.length!==l.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");for(h=0;f>0;){if(p=d-f,p<0&&(p=0),u[h]>>p!==l[h]>>p)return!1;f-=d,h+=1}return!0},t.subnetMatch=function(u,l,d){var f,h,p,m,g;d==null&&(d="unicast");for(p in l)for(m=l[p],m[0]&&!(m[0]instanceof Array)&&(m=[m]),f=0,h=m.length;f=0;d=f+=-1)if(h=this.octets[d],h in g){if(m=g[h],p&&m!==0)return null;m!==8&&(p=!0),l+=m}else return null;return 32-l},u}(),r="(0?\\d+|0x[a-f0-9]+)",n={fourOctet:new RegExp("^"+r+"\\."+r+"\\."+r+"\\."+r+"$","i"),longValue:new RegExp("^"+r+"$","i")},t.IPv4.parser=function(u){var l,d,f,h,p;if(d=function(m){return m[0]==="0"&&m[1]!=="x"?parseInt(m,8):parseInt(m)},l=u.match(n.fourOctet))return function(){var m,g,_,y;for(_=l.slice(1,6),y=[],m=0,g=_.length;m4294967295||p<0)throw new Error("ipaddr: address outside defined range");return function(){var m,g;for(g=[],h=m=0;m<=24;h=m+=8)g.push(p>>h&255);return g}().reverse()}else return null},t.IPv6=function(){function u(l,d){var f,h,p,m,g,_;if(l.length===16)for(this.parts=[],f=h=0;h<=14;f=h+=2)this.parts.push(l[f]<<8|l[f+1]);else if(l.length===8)this.parts=l;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(_=this.parts,p=0,m=_.length;pd&&(l=f.index,d=f[0].length);return d<0?p:p.substring(0,l)+"::"+p.substring(l+d)},u.prototype.toByteArray=function(){var l,d,f,h,p;for(l=[],p=this.parts,d=0,f=p.length;d>8),l.push(h&255);return l},u.prototype.toNormalizedString=function(){var l,d,f;return l=function(){var h,p,m,g;for(m=this.parts,g=[],h=0,p=m.length;h>8,l&255,d>>8,d&255])},u.prototype.prefixLengthFromSubnetMask=function(){var l,d,f,h,p,m,g;for(g={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},l=0,p=!1,d=f=7;f>=0;d=f+=-1)if(h=this.parts[d],h in g){if(m=g[h],p&&m!==0)return null;m!==16&&(p=!0),l+=m}else return null;return 128-l},u}(),s="(?:[0-9a-f]+::?)+",c="%[0-9a-z]{1,}",i={zoneIndex:new RegExp(c,"i"),native:new RegExp("^(::)?("+s+")?([0-9a-f]+)?(::)?("+c+")?$","i"),transitional:new RegExp("^((?:"+s+")|(?:::)(?:"+s+")?)"+(r+"\\."+r+"\\."+r+"\\."+r)+("("+c+")?$"),"i")},e=function(u,l){var d,f,h,p,m,g;if(u.indexOf("::")!==u.lastIndexOf("::"))return null;for(g=(u.match(i.zoneIndex)||[])[0],g&&(g=g.substring(1),u=u.replace(/%.+$/,"")),d=0,f=-1;(f=u.indexOf(":",f+1))>=0;)d++;if(u.substr(0,2)==="::"&&d--,u.substr(-2,2)==="::"&&d--,d>l)return null;for(m=l-d,p=":";m--;)p+="0:";return u=u.replace("::",p),u[0]===":"&&(u=u.slice(1)),u[u.length-1]===":"&&(u=u.slice(0,-1)),l=function(){var _,y,E,A;for(E=u.split(":"),A=[],_=0,y=E.length;_=0&&l<=32))return f=[this.parse(d[1]),l],Object.defineProperty(f,"toString",{value:function(){return this.join("/")}}),f;throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},t.IPv4.subnetMaskFromPrefixLength=function(u){var l,d,f;if(u=parseInt(u),u<0||u>32)throw new Error("ipaddr: invalid IPv4 prefix length");for(f=[0,0,0,0],d=0,l=Math.floor(u/8);d=0&&l<=128))return f=[this.parse(d[1]),l],Object.defineProperty(f,"toString",{value:function(){return this.join("/")}}),f;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},t.isValid=function(u){return t.IPv6.isValid(u)||t.IPv4.isValid(u)},t.parse=function(u){if(t.IPv6.isValid(u))return t.IPv6.parse(u);if(t.IPv4.isValid(u))return t.IPv4.parse(u);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},t.parseCIDR=function(u){var l;try{return t.IPv6.parseCIDR(u)}catch(d){l=d;try{return t.IPv4.parseCIDR(u)}catch(f){throw l=f,new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},t.fromByteArray=function(u){var l;if(l=u.length,l===4)return new t.IPv4(u);if(l===16)return new t.IPv6(u);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},t.process=function(u){var l;return l=this.parse(u),l.kind()==="ipv6"&&l.isIPv4MappedAddress()?l.toIPv4Address():l}}).call($8e)});var G8e=S((t6n,RF)=>{"use strict";RF.exports=ohr;RF.exports.all=j8e;RF.exports.compile=K8e;var thr=F8e(),V8e=q8e(),rhr=/^[0-9]+$/,bF=V8e.isValid,IF=V8e.parse,H8e={linklocal:["169.254.0.0/16","fe80::/10"],loopback:["127.0.0.1/8","::1/128"],uniquelocal:["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16","fc00::/7"]};function j8e(e,t){var r=thr(e);if(!t)return r;typeof t!="function"&&(t=K8e(t));for(var n=0;ns)throw new TypeError("invalid range on address: "+e);return[n,i]}function ahr(e){var t=IF(e),r=t.kind();return r==="ipv4"?t.prefixLengthFromSubnetMask():null}function ohr(e,t){if(!e)throw new TypeError("req argument is required");if(!t)throw new TypeError("trust argument is required");var r=j8e(e,t),n=r[r.length-1];return n}function chr(){return!1}function uhr(e){return function(r){if(!bF(r))return!1;for(var n=IF(r),s,i=n.kind(),a=0;a{"use strict";var dhr="2.0.0",fhr=Number.MAX_SAFE_INTEGER||9007199254740991,hhr=16,phr=250,mhr=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Y8e.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:hhr,MAX_SAFE_BUILD_LENGTH:phr,MAX_SAFE_INTEGER:fhr,RELEASE_TYPES:mhr,SEMVER_SPEC_VERSION:dhr,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var mO=S((n6n,Q8e)=>{"use strict";var ghr=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};Q8e.exports=ghr});var v1=S((Y0,z8e)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:bte,MAX_SAFE_BUILD_LENGTH:_hr,MAX_LENGTH:Ahr}=pO(),Ehr=mO();Y0=z8e.exports={};var yhr=Y0.re=[],vhr=Y0.safeRe=[],ct=Y0.src=[],Shr=Y0.safeSrc=[],ut=Y0.t={},Thr=0,Ite="[a-zA-Z0-9-]",bhr=[["\\s",1],["\\d",Ahr],[Ite,_hr]],Ihr=e=>{for(let[t,r]of bhr)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e},sr=(e,t,r)=>{let n=Ihr(t),s=Thr++;Ehr(e,s,t),ut[e]=s,ct[s]=t,Shr[s]=n,yhr[s]=new RegExp(t,r?"g":void 0),vhr[s]=new RegExp(n,r?"g":void 0)};sr("NUMERICIDENTIFIER","0|[1-9]\\d*");sr("NUMERICIDENTIFIERLOOSE","\\d+");sr("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Ite}*`);sr("MAINVERSION",`(${ct[ut.NUMERICIDENTIFIER]})\\.(${ct[ut.NUMERICIDENTIFIER]})\\.(${ct[ut.NUMERICIDENTIFIER]})`);sr("MAINVERSIONLOOSE",`(${ct[ut.NUMERICIDENTIFIERLOOSE]})\\.(${ct[ut.NUMERICIDENTIFIERLOOSE]})\\.(${ct[ut.NUMERICIDENTIFIERLOOSE]})`);sr("PRERELEASEIDENTIFIER",`(?:${ct[ut.NONNUMERICIDENTIFIER]}|${ct[ut.NUMERICIDENTIFIER]})`);sr("PRERELEASEIDENTIFIERLOOSE",`(?:${ct[ut.NONNUMERICIDENTIFIER]}|${ct[ut.NUMERICIDENTIFIERLOOSE]})`);sr("PRERELEASE",`(?:-(${ct[ut.PRERELEASEIDENTIFIER]}(?:\\.${ct[ut.PRERELEASEIDENTIFIER]})*))`);sr("PRERELEASELOOSE",`(?:-?(${ct[ut.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${ct[ut.PRERELEASEIDENTIFIERLOOSE]})*))`);sr("BUILDIDENTIFIER",`${Ite}+`);sr("BUILD",`(?:\\+(${ct[ut.BUILDIDENTIFIER]}(?:\\.${ct[ut.BUILDIDENTIFIER]})*))`);sr("FULLPLAIN",`v?${ct[ut.MAINVERSION]}${ct[ut.PRERELEASE]}?${ct[ut.BUILD]}?`);sr("FULL",`^${ct[ut.FULLPLAIN]}$`);sr("LOOSEPLAIN",`[v=\\s]*${ct[ut.MAINVERSIONLOOSE]}${ct[ut.PRERELEASELOOSE]}?${ct[ut.BUILD]}?`);sr("LOOSE",`^${ct[ut.LOOSEPLAIN]}$`);sr("GTLT","((?:<|>)?=?)");sr("XRANGEIDENTIFIERLOOSE",`${ct[ut.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);sr("XRANGEIDENTIFIER",`${ct[ut.NUMERICIDENTIFIER]}|x|X|\\*`);sr("XRANGEPLAIN",`[v=\\s]*(${ct[ut.XRANGEIDENTIFIER]})(?:\\.(${ct[ut.XRANGEIDENTIFIER]})(?:\\.(${ct[ut.XRANGEIDENTIFIER]})(?:${ct[ut.PRERELEASE]})?${ct[ut.BUILD]}?)?)?`);sr("XRANGEPLAINLOOSE",`[v=\\s]*(${ct[ut.XRANGEIDENTIFIERLOOSE]})(?:\\.(${ct[ut.XRANGEIDENTIFIERLOOSE]})(?:\\.(${ct[ut.XRANGEIDENTIFIERLOOSE]})(?:${ct[ut.PRERELEASELOOSE]})?${ct[ut.BUILD]}?)?)?`);sr("XRANGE",`^${ct[ut.GTLT]}\\s*${ct[ut.XRANGEPLAIN]}$`);sr("XRANGELOOSE",`^${ct[ut.GTLT]}\\s*${ct[ut.XRANGEPLAINLOOSE]}$`);sr("COERCEPLAIN",`(^|[^\\d])(\\d{1,${bte}})(?:\\.(\\d{1,${bte}}))?(?:\\.(\\d{1,${bte}}))?`);sr("COERCE",`${ct[ut.COERCEPLAIN]}(?:$|[^\\d])`);sr("COERCEFULL",ct[ut.COERCEPLAIN]+`(?:${ct[ut.PRERELEASE]})?(?:${ct[ut.BUILD]})?(?:$|[^\\d])`);sr("COERCERTL",ct[ut.COERCE],!0);sr("COERCERTLFULL",ct[ut.COERCEFULL],!0);sr("LONETILDE","(?:~>?)");sr("TILDETRIM",`(\\s*)${ct[ut.LONETILDE]}\\s+`,!0);Y0.tildeTrimReplace="$1~";sr("TILDE",`^${ct[ut.LONETILDE]}${ct[ut.XRANGEPLAIN]}$`);sr("TILDELOOSE",`^${ct[ut.LONETILDE]}${ct[ut.XRANGEPLAINLOOSE]}$`);sr("LONECARET","(?:\\^)");sr("CARETTRIM",`(\\s*)${ct[ut.LONECARET]}\\s+`,!0);Y0.caretTrimReplace="$1^";sr("CARET",`^${ct[ut.LONECARET]}${ct[ut.XRANGEPLAIN]}$`);sr("CARETLOOSE",`^${ct[ut.LONECARET]}${ct[ut.XRANGEPLAINLOOSE]}$`);sr("COMPARATORLOOSE",`^${ct[ut.GTLT]}\\s*(${ct[ut.LOOSEPLAIN]})$|^$`);sr("COMPARATOR",`^${ct[ut.GTLT]}\\s*(${ct[ut.FULLPLAIN]})$|^$`);sr("COMPARATORTRIM",`(\\s*)${ct[ut.GTLT]}\\s*(${ct[ut.LOOSEPLAIN]}|${ct[ut.XRANGEPLAIN]})`,!0);Y0.comparatorTrimReplace="$1$2$3";sr("HYPHENRANGE",`^\\s*(${ct[ut.XRANGEPLAIN]})\\s+-\\s+(${ct[ut.XRANGEPLAIN]})\\s*$`);sr("HYPHENRANGELOOSE",`^\\s*(${ct[ut.XRANGEPLAINLOOSE]})\\s+-\\s+(${ct[ut.XRANGEPLAINLOOSE]})\\s*$`);sr("STAR","(<|>)?=?\\s*\\*");sr("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");sr("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var CF=S((s6n,W8e)=>{"use strict";var Rhr=Object.freeze({loose:!0}),Chr=Object.freeze({}),xhr=e=>e?typeof e!="object"?Rhr:e:Chr;W8e.exports=xhr});var Rte=S((i6n,Z8e)=>{"use strict";var X8e=/^[0-9]+$/,J8e=(e,t)=>{if(typeof e=="number"&&typeof t=="number")return e===t?0:eJ8e(t,e);Z8e.exports={compareIdentifiers:J8e,rcompareIdentifiers:whr}});var ko=S((a6n,t5e)=>{"use strict";var xF=mO(),{MAX_LENGTH:e5e,MAX_SAFE_INTEGER:wF}=pO(),{safeRe:NF,t:OF}=v1(),Nhr=CF(),{compareIdentifiers:Cte}=Rte(),xte=class e{constructor(t,r){if(r=Nhr(r),t instanceof e){if(t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>e5e)throw new TypeError(`version is longer than ${e5e} characters`);xF("SemVer",t,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let n=t.trim().match(r.loose?NF[OF.LOOSE]:NF[OF.FULL]);if(!n)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>wF||this.major<0)throw new TypeError("Invalid major version");if(this.minor>wF||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>wF||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(s=>{if(/^[0-9]+$/.test(s)){let i=+s;if(i>=0&&it.major?1:this.minort.minor?1:this.patcht.patch?1:0}comparePre(t){if(t instanceof e||(t=new e(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{let n=this.prerelease[r],s=t.prerelease[r];if(xF("prerelease compare",r,n,s),n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return-1;if(n===s)continue;return Cte(n,s)}while(++r)}compareBuild(t){t instanceof e||(t=new e(t,this.options));let r=0;do{let n=this.build[r],s=t.build[r];if(xF("build compare",r,n,s),n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return-1;if(n===s)continue;return Cte(n,s)}while(++r)}inc(t,r,n){if(t.startsWith("pre")){if(!r&&n===!1)throw new Error("invalid increment argument: identifier is empty");if(r){let s=`-${r}`.match(this.options.loose?NF[OF.PRERELEASELOOSE]:NF[OF.PRERELEASE]);if(!s||s[1]!==r)throw new Error(`invalid identifier: ${r}`)}}switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r,n),this.inc("pre",r,n);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r,n),this.inc("pre",r,n);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let s=Number(n)?1:0;if(this.prerelease.length===0)this.prerelease=[s];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(r===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(s)}}if(r){let i=[r,s];n===!1&&(i=[r]),Cte(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};t5e.exports=xte});var Gy=S((o6n,n5e)=>{"use strict";var r5e=ko(),Ohr=(e,t,r=!1)=>{if(e instanceof r5e)return e;try{return new r5e(e,t)}catch(n){if(!r)return null;throw n}};n5e.exports=Ohr});var i5e=S((c6n,s5e)=>{"use strict";var Dhr=Gy(),Phr=(e,t)=>{let r=Dhr(e,t);return r?r.version:null};s5e.exports=Phr});var o5e=S((u6n,a5e)=>{"use strict";var Lhr=Gy(),Mhr=(e,t)=>{let r=Lhr(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null};a5e.exports=Mhr});var l5e=S((l6n,u5e)=>{"use strict";var c5e=ko(),khr=(e,t,r,n,s)=>{typeof r=="string"&&(s=n,n=r,r=void 0);try{return new c5e(e instanceof c5e?e.version:e,r).inc(t,n,s).version}catch{return null}};u5e.exports=khr});var h5e=S((d6n,f5e)=>{"use strict";var d5e=Gy(),Bhr=(e,t)=>{let r=d5e(e,null,!0),n=d5e(t,null,!0),s=r.compare(n);if(s===0)return null;let i=s>0,a=i?r:n,o=i?n:r,c=!!a.prerelease.length;if(!!o.prerelease.length&&!c){if(!o.patch&&!o.minor)return"major";if(o.compareMain(a)===0)return o.minor&&!o.patch?"minor":"patch"}let l=c?"pre":"";return r.major!==n.major?l+"major":r.minor!==n.minor?l+"minor":r.patch!==n.patch?l+"patch":"prerelease"};f5e.exports=Bhr});var m5e=S((f6n,p5e)=>{"use strict";var Uhr=ko(),Fhr=(e,t)=>new Uhr(e,t).major;p5e.exports=Fhr});var _5e=S((h6n,g5e)=>{"use strict";var $hr=ko(),qhr=(e,t)=>new $hr(e,t).minor;g5e.exports=qhr});var E5e=S((p6n,A5e)=>{"use strict";var Hhr=ko(),Vhr=(e,t)=>new Hhr(e,t).patch;A5e.exports=Vhr});var v5e=S((m6n,y5e)=>{"use strict";var jhr=Gy(),Khr=(e,t)=>{let r=jhr(e,t);return r&&r.prerelease.length?r.prerelease:null};y5e.exports=Khr});var sd=S((g6n,T5e)=>{"use strict";var S5e=ko(),Ghr=(e,t,r)=>new S5e(e,r).compare(new S5e(t,r));T5e.exports=Ghr});var I5e=S((_6n,b5e)=>{"use strict";var Yhr=sd(),Qhr=(e,t,r)=>Yhr(t,e,r);b5e.exports=Qhr});var C5e=S((A6n,R5e)=>{"use strict";var zhr=sd(),Whr=(e,t)=>zhr(e,t,!0);R5e.exports=Whr});var DF=S((E6n,w5e)=>{"use strict";var x5e=ko(),Xhr=(e,t,r)=>{let n=new x5e(e,r),s=new x5e(t,r);return n.compare(s)||n.compareBuild(s)};w5e.exports=Xhr});var O5e=S((y6n,N5e)=>{"use strict";var Jhr=DF(),Zhr=(e,t)=>e.sort((r,n)=>Jhr(r,n,t));N5e.exports=Zhr});var P5e=S((v6n,D5e)=>{"use strict";var epr=DF(),tpr=(e,t)=>e.sort((r,n)=>epr(n,r,t));D5e.exports=tpr});var gO=S((S6n,L5e)=>{"use strict";var rpr=sd(),npr=(e,t,r)=>rpr(e,t,r)>0;L5e.exports=npr});var PF=S((T6n,M5e)=>{"use strict";var spr=sd(),ipr=(e,t,r)=>spr(e,t,r)<0;M5e.exports=ipr});var wte=S((b6n,k5e)=>{"use strict";var apr=sd(),opr=(e,t,r)=>apr(e,t,r)===0;k5e.exports=opr});var Nte=S((I6n,B5e)=>{"use strict";var cpr=sd(),upr=(e,t,r)=>cpr(e,t,r)!==0;B5e.exports=upr});var LF=S((R6n,U5e)=>{"use strict";var lpr=sd(),dpr=(e,t,r)=>lpr(e,t,r)>=0;U5e.exports=dpr});var MF=S((C6n,F5e)=>{"use strict";var fpr=sd(),hpr=(e,t,r)=>fpr(e,t,r)<=0;F5e.exports=hpr});var Ote=S((x6n,$5e)=>{"use strict";var ppr=wte(),mpr=Nte(),gpr=gO(),_pr=LF(),Apr=PF(),Epr=MF(),ypr=(e,t,r,n)=>{switch(t){case"===":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e===r;case"!==":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e!==r;case"":case"=":case"==":return ppr(e,r,n);case"!=":return mpr(e,r,n);case">":return gpr(e,r,n);case">=":return _pr(e,r,n);case"<":return Apr(e,r,n);case"<=":return Epr(e,r,n);default:throw new TypeError(`Invalid operator: ${t}`)}};$5e.exports=ypr});var H5e=S((w6n,q5e)=>{"use strict";var vpr=ko(),Spr=Gy(),{safeRe:kF,t:BF}=v1(),Tpr=(e,t)=>{if(e instanceof vpr)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;t=t||{};let r=null;if(!t.rtl)r=e.match(t.includePrerelease?kF[BF.COERCEFULL]:kF[BF.COERCE]);else{let c=t.includePrerelease?kF[BF.COERCERTLFULL]:kF[BF.COERCERTL],u;for(;(u=c.exec(e))&&(!r||r.index+r[0].length!==e.length);)(!r||u.index+u[0].length!==r.index+r[0].length)&&(r=u),c.lastIndex=u.index+u[1].length+u[2].length;c.lastIndex=-1}if(r===null)return null;let n=r[2],s=r[3]||"0",i=r[4]||"0",a=t.includePrerelease&&r[5]?`-${r[5]}`:"",o=t.includePrerelease&&r[6]?`+${r[6]}`:"";return Spr(`${n}.${s}.${i}${a}${o}`,t)};q5e.exports=Tpr});var j5e=S((N6n,V5e)=>{"use strict";var Dte=class{constructor(){this.max=1e3,this.map=new Map}get(t){let r=this.map.get(t);if(r!==void 0)return this.map.delete(t),this.map.set(t,r),r}delete(t){return this.map.delete(t)}set(t,r){if(!this.delete(t)&&r!==void 0){if(this.map.size>=this.max){let s=this.map.keys().next().value;this.delete(s)}this.map.set(t,r)}return this}};V5e.exports=Dte});var id=S((O6n,Q5e)=>{"use strict";var bpr=/\s+/g,Pte=class e{constructor(t,r){if(r=Rpr(r),t instanceof e)return t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease?t:new e(t.raw,r);if(t instanceof Lte)return this.raw=t.value,this.set=[[t]],this.formatted=void 0,this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=t.trim().replace(bpr," "),this.set=this.raw.split("||").map(n=>this.parseRange(n.trim())).filter(n=>n.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let n=this.set[0];if(this.set=this.set.filter(s=>!G5e(s[0])),this.set.length===0)this.set=[n];else if(this.set.length>1){for(let s of this.set)if(s.length===1&&Ppr(s[0])){this.set=[s];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let t=0;t0&&(this.formatted+="||");let r=this.set[t];for(let n=0;n0&&(this.formatted+=" "),this.formatted+=r[n].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(t){let n=((this.options.includePrerelease&&Opr)|(this.options.loose&&Dpr))+":"+t,s=K5e.get(n);if(s)return s;let i=this.options.loose,a=i?wc[Bo.HYPHENRANGELOOSE]:wc[Bo.HYPHENRANGE];t=t.replace(a,Vpr(this.options.includePrerelease)),Ms("hyphen replace",t),t=t.replace(wc[Bo.COMPARATORTRIM],xpr),Ms("comparator trim",t),t=t.replace(wc[Bo.TILDETRIM],wpr),Ms("tilde trim",t),t=t.replace(wc[Bo.CARETTRIM],Npr),Ms("caret trim",t);let o=t.split(" ").map(d=>Lpr(d,this.options)).join(" ").split(/\s+/).map(d=>Hpr(d,this.options));i&&(o=o.filter(d=>(Ms("loose invalid filter",d,this.options),!!d.match(wc[Bo.COMPARATORLOOSE])))),Ms("range list",o);let c=new Map,u=o.map(d=>new Lte(d,this.options));for(let d of u){if(G5e(d))return[d];c.set(d.value,d)}c.size>1&&c.has("")&&c.delete("");let l=[...c.values()];return K5e.set(n,l),l}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Range is required");return this.set.some(n=>Y5e(n,r)&&t.set.some(s=>Y5e(s,r)&&n.every(i=>s.every(a=>i.intersects(a,r)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new Cpr(t,this.options)}catch{return!1}for(let r=0;re.value==="<0.0.0-0",Ppr=e=>e.value==="",Y5e=(e,t)=>{let r=!0,n=e.slice(),s=n.pop();for(;r&&n.length;)r=n.every(i=>s.intersects(i,t)),s=n.pop();return r},Lpr=(e,t)=>(e=e.replace(wc[Bo.BUILD],""),Ms("comp",e,t),e=Bpr(e,t),Ms("caret",e),e=Mpr(e,t),Ms("tildes",e),e=Fpr(e,t),Ms("xrange",e),e=qpr(e,t),Ms("stars",e),e),Nc=e=>!e||e.toLowerCase()==="x"||e==="*",Mpr=(e,t)=>e.trim().split(/\s+/).map(r=>kpr(r,t)).join(" "),kpr=(e,t)=>{let r=t.loose?wc[Bo.TILDELOOSE]:wc[Bo.TILDE];return e.replace(r,(n,s,i,a,o)=>{Ms("tilde",e,n,s,i,a,o);let c;return Nc(s)?c="":Nc(i)?c=`>=${s}.0.0 <${+s+1}.0.0-0`:Nc(a)?c=`>=${s}.${i}.0 <${s}.${+i+1}.0-0`:o?(Ms("replaceTilde pr",o),c=`>=${s}.${i}.${a}-${o} <${s}.${+i+1}.0-0`):c=`>=${s}.${i}.${a} <${s}.${+i+1}.0-0`,Ms("tilde return",c),c})},Bpr=(e,t)=>e.trim().split(/\s+/).map(r=>Upr(r,t)).join(" "),Upr=(e,t)=>{Ms("caret",e,t);let r=t.loose?wc[Bo.CARETLOOSE]:wc[Bo.CARET],n=t.includePrerelease?"-0":"";return e.replace(r,(s,i,a,o,c)=>{Ms("caret",e,s,i,a,o,c);let u;return Nc(i)?u="":Nc(a)?u=`>=${i}.0.0${n} <${+i+1}.0.0-0`:Nc(o)?i==="0"?u=`>=${i}.${a}.0${n} <${i}.${+a+1}.0-0`:u=`>=${i}.${a}.0${n} <${+i+1}.0.0-0`:c?(Ms("replaceCaret pr",c),i==="0"?a==="0"?u=`>=${i}.${a}.${o}-${c} <${i}.${a}.${+o+1}-0`:u=`>=${i}.${a}.${o}-${c} <${i}.${+a+1}.0-0`:u=`>=${i}.${a}.${o}-${c} <${+i+1}.0.0-0`):(Ms("no pr"),i==="0"?a==="0"?u=`>=${i}.${a}.${o}${n} <${i}.${a}.${+o+1}-0`:u=`>=${i}.${a}.${o}${n} <${i}.${+a+1}.0-0`:u=`>=${i}.${a}.${o} <${+i+1}.0.0-0`),Ms("caret return",u),u})},Fpr=(e,t)=>(Ms("replaceXRanges",e,t),e.split(/\s+/).map(r=>$pr(r,t)).join(" ")),$pr=(e,t)=>{e=e.trim();let r=t.loose?wc[Bo.XRANGELOOSE]:wc[Bo.XRANGE];return e.replace(r,(n,s,i,a,o,c)=>{Ms("xRange",e,n,s,i,a,o,c);let u=Nc(i),l=u||Nc(a),d=l||Nc(o),f=d;return s==="="&&f&&(s=""),c=t.includePrerelease?"-0":"",u?s===">"||s==="<"?n="<0.0.0-0":n="*":s&&f?(l&&(a=0),o=0,s===">"?(s=">=",l?(i=+i+1,a=0,o=0):(a=+a+1,o=0)):s==="<="&&(s="<",l?i=+i+1:a=+a+1),s==="<"&&(c="-0"),n=`${s+i}.${a}.${o}${c}`):l?n=`>=${i}.0.0${c} <${+i+1}.0.0-0`:d&&(n=`>=${i}.${a}.0${c} <${i}.${+a+1}.0-0`),Ms("xRange return",n),n})},qpr=(e,t)=>(Ms("replaceStars",e,t),e.trim().replace(wc[Bo.STAR],"")),Hpr=(e,t)=>(Ms("replaceGTE0",e,t),e.trim().replace(wc[t.includePrerelease?Bo.GTE0PRE:Bo.GTE0],"")),Vpr=e=>(t,r,n,s,i,a,o,c,u,l,d,f)=>(Nc(n)?r="":Nc(s)?r=`>=${n}.0.0${e?"-0":""}`:Nc(i)?r=`>=${n}.${s}.0${e?"-0":""}`:a?r=`>=${r}`:r=`>=${r}${e?"-0":""}`,Nc(u)?c="":Nc(l)?c=`<${+u+1}.0.0-0`:Nc(d)?c=`<${u}.${+l+1}.0-0`:f?c=`<=${u}.${l}.${d}-${f}`:e?c=`<${u}.${l}.${+d+1}-0`:c=`<=${c}`,`${r} ${c}`.trim()),jpr=(e,t,r)=>{for(let n=0;n0){let s=e[n].semver;if(s.major===t.major&&s.minor===t.minor&&s.patch===t.patch)return!0}return!1}return!0}});var _O=S((D6n,e$e)=>{"use strict";var AO=Symbol("SemVer ANY"),Bte=class e{static get ANY(){return AO}constructor(t,r){if(r=z5e(r),t instanceof e){if(t.loose===!!r.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(" "),kte("comparator",t,r),this.options=r,this.loose=!!r.loose,this.parse(t),this.semver===AO?this.value="":this.value=this.operator+this.semver.version,kte("comp",this)}parse(t){let r=this.options.loose?W5e[X5e.COMPARATORLOOSE]:W5e[X5e.COMPARATOR],n=t.match(r);if(!n)throw new TypeError(`Invalid comparator: ${t}`);this.operator=n[1]!==void 0?n[1]:"",this.operator==="="&&(this.operator=""),n[2]?this.semver=new J5e(n[2],this.options.loose):this.semver=AO}toString(){return this.value}test(t){if(kte("Comparator.test",t,this.options.loose),this.semver===AO||t===AO)return!0;if(typeof t=="string")try{t=new J5e(t,this.options)}catch{return!1}return Mte(t,this.operator,this.semver,this.options)}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Z5e(t.value,r).test(this.value):t.operator===""?t.value===""?!0:new Z5e(this.value,r).test(t.semver):(r=z5e(r),r.includePrerelease&&(this.value==="<0.0.0-0"||t.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||t.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&t.operator.startsWith(">")||this.operator.startsWith("<")&&t.operator.startsWith("<")||this.semver.version===t.semver.version&&this.operator.includes("=")&&t.operator.includes("=")||Mte(this.semver,"<",t.semver,r)&&this.operator.startsWith(">")&&t.operator.startsWith("<")||Mte(this.semver,">",t.semver,r)&&this.operator.startsWith("<")&&t.operator.startsWith(">")))}};e$e.exports=Bte;var z5e=CF(),{safeRe:W5e,t:X5e}=v1(),Mte=Ote(),kte=mO(),J5e=ko(),Z5e=id()});var EO=S((P6n,t$e)=>{"use strict";var Kpr=id(),Gpr=(e,t,r)=>{try{t=new Kpr(t,r)}catch{return!1}return t.test(e)};t$e.exports=Gpr});var n$e=S((L6n,r$e)=>{"use strict";var Ypr=id(),Qpr=(e,t)=>new Ypr(e,t).set.map(r=>r.map(n=>n.value).join(" ").trim().split(" "));r$e.exports=Qpr});var i$e=S((M6n,s$e)=>{"use strict";var zpr=ko(),Wpr=id(),Xpr=(e,t,r)=>{let n=null,s=null,i=null;try{i=new Wpr(t,r)}catch{return null}return e.forEach(a=>{i.test(a)&&(!n||s.compare(a)===-1)&&(n=a,s=new zpr(n,r))}),n};s$e.exports=Xpr});var o$e=S((k6n,a$e)=>{"use strict";var Jpr=ko(),Zpr=id(),emr=(e,t,r)=>{let n=null,s=null,i=null;try{i=new Zpr(t,r)}catch{return null}return e.forEach(a=>{i.test(a)&&(!n||s.compare(a)===1)&&(n=a,s=new Jpr(n,r))}),n};a$e.exports=emr});var l$e=S((B6n,u$e)=>{"use strict";var Ute=ko(),tmr=id(),c$e=gO(),rmr=(e,t)=>{e=new tmr(e,t);let r=new Ute("0.0.0");if(e.test(r)||(r=new Ute("0.0.0-0"),e.test(r)))return r;r=null;for(let n=0;n{let o=new Ute(a.semver.version);switch(a.operator){case">":o.prerelease.length===0?o.patch++:o.prerelease.push(0),o.raw=o.format();case"":case">=":(!i||c$e(o,i))&&(i=o);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${a.operator}`)}}),i&&(!r||c$e(r,i))&&(r=i)}return r&&e.test(r)?r:null};u$e.exports=rmr});var f$e=S((U6n,d$e)=>{"use strict";var nmr=id(),smr=(e,t)=>{try{return new nmr(e,t).range||"*"}catch{return null}};d$e.exports=smr});var UF=S((F6n,g$e)=>{"use strict";var imr=ko(),m$e=_O(),{ANY:amr}=m$e,omr=id(),cmr=EO(),h$e=gO(),p$e=PF(),umr=MF(),lmr=LF(),dmr=(e,t,r,n)=>{e=new imr(e,n),t=new omr(t,n);let s,i,a,o,c;switch(r){case">":s=h$e,i=umr,a=p$e,o=">",c=">=";break;case"<":s=p$e,i=lmr,a=h$e,o="<",c="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(cmr(e,t,n))return!1;for(let u=0;u{h.semver===amr&&(h=new m$e(">=0.0.0")),d=d||h,f=f||h,s(h.semver,d.semver,n)?d=h:a(h.semver,f.semver,n)&&(f=h)}),d.operator===o||d.operator===c||(!f.operator||f.operator===o)&&i(e,f.semver))return!1;if(f.operator===c&&a(e,f.semver))return!1}return!0};g$e.exports=dmr});var A$e=S(($6n,_$e)=>{"use strict";var fmr=UF(),hmr=(e,t,r)=>fmr(e,t,">",r);_$e.exports=hmr});var y$e=S((q6n,E$e)=>{"use strict";var pmr=UF(),mmr=(e,t,r)=>pmr(e,t,"<",r);E$e.exports=mmr});var T$e=S((H6n,S$e)=>{"use strict";var v$e=id(),gmr=(e,t,r)=>(e=new v$e(e,r),t=new v$e(t,r),e.intersects(t,r));S$e.exports=gmr});var I$e=S((V6n,b$e)=>{"use strict";var _mr=EO(),Amr=sd();b$e.exports=(e,t,r)=>{let n=[],s=null,i=null,a=e.sort((l,d)=>Amr(l,d,r));for(let l of a)_mr(l,t,r)?(i=l,s||(s=l)):(i&&n.push([s,i]),i=null,s=null);s&&n.push([s,null]);let o=[];for(let[l,d]of n)l===d?o.push(l):!d&&l===a[0]?o.push("*"):d?l===a[0]?o.push(`<=${d}`):o.push(`${l} - ${d}`):o.push(`>=${l}`);let c=o.join(" || "),u=typeof t.raw=="string"?t.raw:String(t);return c.length{"use strict";var R$e=id(),$te=_O(),{ANY:Fte}=$te,yO=EO(),qte=sd(),Emr=(e,t,r={})=>{if(e===t)return!0;e=new R$e(e,r),t=new R$e(t,r);let n=!1;e:for(let s of e.set){for(let i of t.set){let a=vmr(s,i,r);if(n=n||a!==null,a)continue e}if(n)return!1}return!0},ymr=[new $te(">=0.0.0-0")],C$e=[new $te(">=0.0.0")],vmr=(e,t,r)=>{if(e===t)return!0;if(e.length===1&&e[0].semver===Fte){if(t.length===1&&t[0].semver===Fte)return!0;r.includePrerelease?e=ymr:e=C$e}if(t.length===1&&t[0].semver===Fte){if(r.includePrerelease)return!0;t=C$e}let n=new Set,s,i;for(let h of e)h.operator===">"||h.operator===">="?s=x$e(s,h,r):h.operator==="<"||h.operator==="<="?i=w$e(i,h,r):n.add(h.semver);if(n.size>1)return null;let a;if(s&&i){if(a=qte(s.semver,i.semver,r),a>0)return null;if(a===0&&(s.operator!==">="||i.operator!=="<="))return null}for(let h of n){if(s&&!yO(h,String(s),r)||i&&!yO(h,String(i),r))return null;for(let p of t)if(!yO(h,String(p),r))return!1;return!0}let o,c,u,l,d=i&&!r.includePrerelease&&i.semver.prerelease.length?i.semver:!1,f=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1;d&&d.prerelease.length===1&&i.operator==="<"&&d.prerelease[0]===0&&(d=!1);for(let h of t){if(l=l||h.operator===">"||h.operator===">=",u=u||h.operator==="<"||h.operator==="<=",s){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(o=x$e(s,h,r),o===h&&o!==s)return!1}else if(s.operator===">="&&!yO(s.semver,String(h),r))return!1}if(i){if(d&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===d.major&&h.semver.minor===d.minor&&h.semver.patch===d.patch&&(d=!1),h.operator==="<"||h.operator==="<="){if(c=w$e(i,h,r),c===h&&c!==i)return!1}else if(i.operator==="<="&&!yO(i.semver,String(h),r))return!1}if(!h.operator&&(i||s)&&a!==0)return!1}return!(s&&u&&!i&&a!==0||i&&l&&!s&&a!==0||f||d)},x$e=(e,t,r)=>{if(!e)return t;let n=qte(e.semver,t.semver,r);return n>0?e:n<0||t.operator===">"&&e.operator===">="?t:e},w$e=(e,t,r)=>{if(!e)return t;let n=qte(e.semver,t.semver,r);return n<0?e:n>0||t.operator==="<"&&e.operator==="<="?t:e};N$e.exports=Emr});var Vte=S((K6n,L$e)=>{"use strict";var Hte=v1(),D$e=pO(),Smr=ko(),P$e=Rte(),Tmr=Gy(),bmr=i5e(),Imr=o5e(),Rmr=l5e(),Cmr=h5e(),xmr=m5e(),wmr=_5e(),Nmr=E5e(),Omr=v5e(),Dmr=sd(),Pmr=I5e(),Lmr=C5e(),Mmr=DF(),kmr=O5e(),Bmr=P5e(),Umr=gO(),Fmr=PF(),$mr=wte(),qmr=Nte(),Hmr=LF(),Vmr=MF(),jmr=Ote(),Kmr=H5e(),Gmr=_O(),Ymr=id(),Qmr=EO(),zmr=n$e(),Wmr=i$e(),Xmr=o$e(),Jmr=l$e(),Zmr=f$e(),egr=UF(),tgr=A$e(),rgr=y$e(),ngr=T$e(),sgr=I$e(),igr=O$e();L$e.exports={parse:Tmr,valid:bmr,clean:Imr,inc:Rmr,diff:Cmr,major:xmr,minor:wmr,patch:Nmr,prerelease:Omr,compare:Dmr,rcompare:Pmr,compareLoose:Lmr,compareBuild:Mmr,sort:kmr,rsort:Bmr,gt:Umr,lt:Fmr,eq:$mr,neq:qmr,gte:Hmr,lte:Vmr,cmp:jmr,coerce:Kmr,Comparator:Gmr,Range:Ymr,satisfies:Qmr,toComparators:zmr,maxSatisfying:Wmr,minSatisfying:Xmr,minVersion:Jmr,validRange:Zmr,outside:egr,gtr:tgr,ltr:rgr,intersects:ngr,simplifyRange:sgr,subset:igr,SemVer:Smr,re:Hte.re,src:Hte.src,tokens:Hte.t,SEMVER_SPEC_VERSION:D$e.SEMVER_SPEC_VERSION,RELEASE_TYPES:D$e.RELEASE_TYPES,compareIdentifiers:P$e.compareIdentifiers,rcompareIdentifiers:P$e.rcompareIdentifiers}});var $F=S((G6n,Yte)=>{"use strict";var FF=G8e(),agr=Vte(),{FSTDEP005:ogr,FSTDEP012:cgr,FSTDEP015:ugr,FSTDEP016:lgr,FSTDEP017:dgr,FSTDEP018:fgr}=kp(),{kHasBeenDecorated:hgr,kSchemaBody:pgr,kSchemaHeaders:mgr,kSchemaParams:ggr,kSchemaQuerystring:M$e,kSchemaController:jte,kOptions:_gr,kRequestCacheValidateFns:B_,kRouteContext:xi,kPublicRouteContext:k$e,kRequestOriginalUrl:Kte}=Sa(),{FST_ERR_REQ_INVALID_VALIDATION_INVOCATION:Agr}=Oo(),B$e={body:pgr,headers:mgr,params:ggr,querystring:M$e,query:M$e};function Gte(e,t,r,n,s,i){this.id=e,this[xi]=i,this.params=t,this.raw=r,this.query=n,this.log=s,this.body=void 0}Gte.props=[];function Egr(e){if(typeof e=="function")return e;if(e===!0)return function(){return!0};if(typeof e=="number")return function(t,r){return rr.trim());return FF.compile(t)}return FF.compile(e)}function ygr(e,t){return t?vgr(e,t):F$e(e)}function F$e(e){let t=e.props.slice();function r(n,s,i,a,o,c){this.id=n,this[xi]=c,this.params=s,this.raw=i,this.query=a,this.log=o,this.body=void 0;for(var u,l=0;le.config},schema:{get:()=>e.schema}}),Object.freeze(s)}},routerMethod:{get(){return fgr(),this[xi].config?.method}},routeConfig:{get(){return lgr(),this[xi][k$e]?.config}},routeSchema:{get(){return ugr(),this[xi][k$e].schema}},is404:{get(){return this[xi].config?.url===void 0}},connection:{get(){return agr.gte(process.versions.node,"13.0.0")&&ogr(),this.raw.connection}},socket:{get(){return this.raw.socket}},ip:{get(){if(this.socket)return this.socket.remoteAddress}},hostname:{get(){return this.raw.headers.host||this.raw.headers[":authority"]}},protocol:{get(){if(this.socket)return this.socket.encrypted?"https":"http"}},headers:{get(){return this.additionalHeaders?Object.assign({},this.raw.headers,this.additionalHeaders):this.raw.headers},set(e){this.additionalHeaders=e}},getValidationFunction:{value:function(e){if(typeof e=="string"){let t=B$e[e];return this[xi][t]}else if(typeof e=="object")return this[xi][B_]?.get(e)}},compileValidationSchema:{value:function(e,t=null){let{method:r,url:n}=this;if(this[xi][B_]?.has(e))return this[xi][B_].get(e);let i=(this[xi].validatorCompiler||this.server[jte].validatorCompiler||this.server[jte].setupValidator(this.server[_gr])||this.server[jte].validatorCompiler)({schema:e,method:r,url:n,httpPart:t});return this[xi][B_]==null&&(this[xi][B_]=new WeakMap),this[xi][B_].set(e,i),i}},validateInput:{value:function(e,t,r){r=typeof t=="string"?t:r;let n=r!=null&&typeof r=="string"&&B$e[r],s;if(n&&(s=this[xi][n]),s==null&&(t==null||typeof t!="object"||Array.isArray(t)))throw new Agr(r);return s==null&&(this[xi][B_]?.has(t)?s=this[xi][B_].get(t):s=this.compileValidationSchema(t,r)),s(e)}}});Yte.exports=Gte;Yte.exports.buildRequest=ygr});var qF=S((Y6n,$$e)=>{"use strict";var{kFourOhFourContext:Sgr,kReplySerializerDefault:Tgr,kSchemaErrorFormatter:bgr,kErrorHandler:Igr,kChildLoggerFactory:Rgr,kOptions:Cgr,kReply:xgr,kRequest:wgr,kBodyLimit:Ngr,kLogLevel:Ogr,kContentTypeParser:Dgr,kRouteByFastify:Pgr,kRequestCacheValidateFns:Lgr,kReplyCacheSerializeFns:Mgr,kPublicRouteContext:kgr}=Sa();function Bgr({schema:e,handler:t,config:r,requestIdLogLabel:n,childLoggerFactory:s,errorHandler:i,bodyLimit:a,logLevel:o,logSerializers:c,attachValidation:u,validatorCompiler:l,serializerCompiler:d,replySerializer:f,schemaErrorFormatter:h,exposeHeadRoute:p,prefixTrailingSlash:m,server:g,isFastify:_}){this.schema=e,this.handler=t,this.Reply=g[xgr],this.Request=g[wgr],this.contentTypeParser=g[Dgr],this.onRequest=null,this.onSend=null,this.onError=null,this.onTimeout=null,this.preHandler=null,this.onResponse=null,this.preSerialization=null,this.onRequestAbort=null,this.config=r,this.errorHandler=i||g[Igr],this.requestIdLogLabel=n||g[Cgr].requestIdLogLabel,this.childLoggerFactory=s||g[Rgr],this._middie=null,this._parserOptions={limit:a||g[Ngr]},this.exposeHeadRoute=p,this.prefixTrailingSlash=m,this.logLevel=o||g[Ogr],this.logSerializers=c,this[Sgr]=null,this.attachValidation=u,this[Tgr]=f,this.schemaErrorFormatter=h||g[bgr]||Fgr,this[Pgr]=_,this[Lgr]=null,this[Mgr]=null,this.validatorCompiler=l||null,this.serializerCompiler=d||null,this[kgr]=Ugr(this),this.server=g}function Ugr(e){return Object.create(null,{schema:{enumerable:!0,get(){return e.schema}},config:{enumerable:!0,get(){return e.config}}})}function Fgr(e,t){let r="",n=", ";for(var s=0;s!==e.length;++s){let i=e[s];r+=t+(i.instancePath||"")+" "+i.message+n}return new Error(r.slice(0,-n.length))}$$e.exports=Bgr});var Qte=S((Q6n,q$e)=>{"use strict";q$e.exports={supportedMethods:["DELETE","GET","HEAD","PATCH","POST","PUT","OPTIONS","PROPFIND","PROPPATCH","MKCOL","COPY","MOVE","LOCK","UNLOCK","TRACE","SEARCH"]}});var Zte=S((z6n,K$e)=>{"use strict";var{kReply:zte,kRequest:Wte,kState:$gr,kHasBeenDecorated:qgr}=Sa(),{FST_ERR_DEC_ALREADY_PRESENT:H$e,FST_ERR_DEC_MISSING_DEPENDENCY:Hgr,FST_ERR_DEC_AFTER_START:Vgr,FST_ERR_DEC_DEPENDENCY_INVALID_TYPE:jgr}=Oo(),{FSTDEP006:Kgr}=kp();function Ggr(e,t,r,n){if(Object.prototype.hasOwnProperty.call(e,t))throw new H$e(t);Xte(e,t,n),r&&(typeof r.getter=="function"||typeof r.setter=="function")?Object.defineProperty(e,t,{get:r.getter,set:r.setter}):e[t]=r}function V$e(e,t,r,n){let s=e.prototype;if(Object.prototype.hasOwnProperty.call(s,t)||VF(e,t))throw new H$e(t);e[qgr]=!0,Xte(e,t,n),r&&(typeof r.getter=="function"||typeof r.setter=="function")?Object.defineProperty(s,t,{get:r.getter,set:r.setter}):typeof r=="function"?s[t]=r:e.props.push({key:t,value:r})}function j$e(e,t){typeof t=="object"&&t&&!(typeof t.getter=="function"||typeof t.setter=="function")&&Kgr(e)}function Ygr(e,t,r){return Jte(this,e),Ggr(this,e,t,r),this}function HF(e,t){return t?t in e||e.prototype&&t in e.prototype||VF(e,t):e in this}function VF(e,t){return e.props?e.props.find(({key:r})=>r===t):!1}function Qgr(e){return e&&VF(this[Wte],e)?!0:HF(this[Wte].prototype,e)}function zgr(e){return e&&VF(this[zte],e)?!0:HF(this[zte].prototype,e)}function Xte(e,t,r){if(r!=null){if(!Array.isArray(r))throw new jgr(t);for(var n=0;n!==r.length;++n)if(!HF(e,r[n]))throw new Hgr(r[n])}}function Wgr(e,t,r){return Jte(this,e),j$e(e,t),V$e(this[zte],e,t,r),this}function Xgr(e,t,r){return Jte(this,e),j$e(e,t),V$e(this[Wte],e,t,r),this}function Jte(e,t){if(e[$gr].started)throw new Vgr(t)}K$e.exports={add:Ygr,exist:HF,existRequest:Qgr,existReply:zgr,dependencies:Xte,decorateReply:Wgr,decorateRequest:Xgr}});var Y$e=S(Q0=>{"use strict";var ere=class{constructor(t=1e3,r=0){if(isNaN(t)||t<0)throw new Error("Invalid max value");if(isNaN(r)||r<0)throw new Error("Invalid ttl value");this.first=null,this.items=new Map,this.last=null,this.max=t,this.ttl=r}get size(){return this.items.size}clear(){this.items=new Map,this.first=null,this.last=null}delete(t){if(this.items.has(t)){let r=this.items.get(t);this.items.delete(t),r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev)}}deleteMany(t){for(var r=0;r0){let t=this.first;this.items.delete(t.key),this.size===0?(this.first=null,this.last=null):(this.first=t.next,this.first.prev=null)}}expiresAt(t){if(this.items.has(t))return this.items.get(t).expiry}get(t){if(this.items.has(t)){let r=this.items.get(t);if(this.ttl>0&&r.expiry<=Date.now()){this.delete(t);return}return r.value}}getMany(t){let r=[];for(var n=0;n0?Date.now()+this.ttl:this.ttl;return}this.max>0&&this.size===this.max&&this.evict();let n={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:t,prev:this.last,next:null,value:r};this.items.set(t,n),this.size===1?this.first=n:this.last.next=n,this.last=n}},tre=class{constructor(t=1e3,r=0){if(isNaN(t)||t<0)throw new Error("Invalid max value");if(isNaN(r)||r<0)throw new Error("Invalid ttl value");this.first=null,this.items=new Map,this.last=null,this.max=t,this.ttl=r}get size(){return this.items.size}bumpLru(t){if(this.last===t)return;let r=this.last,n=t.next,s=t.prev;this.first===t&&(this.first=n),t.next=null,t.prev=r,r.next=t,s!==null&&(s.next=n),n!==null&&(n.prev=s),this.last=t}clear(){this.items=new Map,this.first=null,this.last=null}delete(t){if(this.items.has(t)){let r=this.items.get(t);this.items.delete(t),r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev)}}deleteMany(t){for(var r=0;r0){let t=this.first;this.items.delete(t.key),this.size===0?(this.first=null,this.last=null):(this.first=t.next,this.first.prev=null)}}expiresAt(t){if(this.items.has(t))return this.items.get(t).expiry}get(t){if(this.items.has(t)){let r=this.items.get(t);if(this.ttl>0&&r.expiry<=Date.now()){this.delete(t);return}return this.bumpLru(r),r.value}}getMany(t){let r=[];for(var n=0;n0?Date.now()+this.ttl:this.ttl,this.last!==s&&this.bumpLru(s);return}this.max>0&&this.size===this.max&&this.evict();let n={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:t,prev:this.last,next:null,value:r};this.items.set(t,n),this.size===1?this.first=n:this.last.next=n,this.last=n}},vO=class{constructor(t=1e3,r=0){if(isNaN(t)||t<0)throw new Error("Invalid max value");if(isNaN(r)||r<0)throw new Error("Invalid ttl value");this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this.max=t,this.ttl=r}bumpLru(t){if(this.last===t)return;let r=this.last,n=t.next,s=t.prev;this.first===t&&(this.first=n),t.next=null,t.prev=r,r.next=t,s!==null&&(s.next=n),n!==null&&(n.prev=s),this.last=t}clear(){this.items=Object.create(null),this.first=null,this.last=null,this.size=0}delete(t){if(Object.prototype.hasOwnProperty.call(this.items,t)){let r=this.items[t];delete this.items[t],this.size--,r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev)}}deleteMany(t){for(var r=0;r0){let t=this.first;delete this.items[t.key],--this.size===0?(this.first=null,this.last=null):(this.first=t.next,this.first.prev=null)}}expiresAt(t){if(Object.prototype.hasOwnProperty.call(this.items,t))return this.items[t].expiry}get(t){if(Object.prototype.hasOwnProperty.call(this.items,t)){let r=this.items[t];if(this.ttl>0&&r.expiry<=Date.now()){this.delete(t);return}return this.bumpLru(r),r.value}}getMany(t){let r=[];for(var n=0;n0?Date.now()+this.ttl:this.ttl,this.last!==s&&this.bumpLru(s);return}this.max>0&&this.size===this.max&&this.evict();let n={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:t,prev:this.last,next:null,value:r};this.items[t]=n,++this.size===1?this.first=n:this.last.next=n,this.last=n}},jF=class{constructor(){this.records={}}initForCache(t,r){this.records[t]={[r]:{cacheSize:0,hits:0,falsyHits:0,emptyHits:0,misses:0,expirations:0,evictions:0,invalidateOne:0,invalidateAll:0,sets:0}}}resetForCache(t){for(let r of Object.keys(this.records[t]))this.records[t][r]={cacheSize:0,hits:0,falsyHits:0,emptyHits:0,misses:0,expirations:0,evictions:0,invalidateOne:0,invalidateAll:0,sets:0}}getStatistics(){return this.records}};function G$e(e){return`${e.getFullYear()}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")}`}var rre=class{constructor(t,r,n){this.cacheId=t,this.statisticTtlInHours=r,this.collectionStart=new Date,this.currentTimeStamp=G$e(this.collectionStart),this.records=n||new jF,this.records.initForCache(this.cacheId,this.currentTimeStamp)}get currentRecord(){return this.records.records[this.cacheId][this.currentTimeStamp]||(this.records.records[this.cacheId][this.currentTimeStamp]={cacheSize:0,hits:0,falsyHits:0,emptyHits:0,misses:0,expirations:0,evictions:0,sets:0,invalidateOne:0,invalidateAll:0}),this.records.records[this.cacheId][this.currentTimeStamp]}hoursPassed(){return(Date.now()-this.collectionStart)/1e3/60/60}addHit(){this.archiveIfNeeded(),this.currentRecord.hits++}addFalsyHit(){this.archiveIfNeeded(),this.currentRecord.falsyHits++}addEmptyHit(){this.archiveIfNeeded(),this.currentRecord.emptyHits++}addMiss(){this.archiveIfNeeded(),this.currentRecord.misses++}addEviction(){this.archiveIfNeeded(),this.currentRecord.evictions++}setCacheSize(t){this.archiveIfNeeded(),this.currentRecord.cacheSize=t}addExpiration(){this.archiveIfNeeded(),this.currentRecord.expirations++}addSet(){this.archiveIfNeeded(),this.currentRecord.sets++}addInvalidateOne(){this.archiveIfNeeded(),this.currentRecord.invalidateOne++}addInvalidateAll(){this.archiveIfNeeded(),this.currentRecord.invalidateAll++}getStatistics(){return this.records.getStatistics()}archiveIfNeeded(){this.hoursPassed()>=this.statisticTtlInHours&&(this.collectionStart=new Date,this.currentTimeStamp=G$e(this.collectionStart),this.records.initForCache(this.cacheId,this.currentTimeStamp))}},KF=class extends vO{constructor(t,r,n,s,i){if(super(t||1e3,r||0),!n)throw new Error("Cache id is mandatory");this.hitStatistics=new rre(n,i!==void 0?i:24,s)}getStatistics(){return this.hitStatistics.getStatistics()}set(t,r){super.set(t,r),this.hitStatistics.addSet(),this.hitStatistics.setCacheSize(this.size)}evict(){super.evict(),this.hitStatistics.addEviction(),this.hitStatistics.setCacheSize(this.size)}delete(t,r=!1){super.delete(t),r||this.hitStatistics.addInvalidateOne(),this.hitStatistics.setCacheSize(this.size)}clear(){super.clear(),this.hitStatistics.addInvalidateAll(),this.hitStatistics.setCacheSize(this.size)}get(t){if(Object.prototype.hasOwnProperty.call(this.items,t)){let r=this.items[t];if(this.ttl>0&&r.expiry<=Date.now()){this.delete(t,!0),this.hitStatistics.addExpiration();return}return this.bumpLru(r),r.value||this.hitStatistics.addFalsyHit(),(r.value===void 0||r.value===null||r.value==="")&&this.hitStatistics.addEmptyHit(),this.hitStatistics.addHit(),r.value}this.hitStatistics.addMiss()}},GF=class{constructor(t=1e3,r=0){if(isNaN(t)||t<0)throw new Error("Invalid max value");if(isNaN(r)||r<0)throw new Error("Invalid ttl value");this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this.max=t,this.ttl=r}clear(){this.items=Object.create(null),this.first=null,this.last=null,this.size=0}delete(t){if(Object.prototype.hasOwnProperty.call(this.items,t)){let r=this.items[t];delete this.items[t],this.size--,r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev)}}deleteMany(t){for(var r=0;r0){let t=this.first;delete this.items[t.key],--this.size===0?(this.first=null,this.last=null):(this.first=t.next,this.first.prev=null)}}expiresAt(t){if(Object.prototype.hasOwnProperty.call(this.items,t))return this.items[t].expiry}get(t){if(Object.prototype.hasOwnProperty.call(this.items,t)){let r=this.items[t];if(this.ttl>0&&r.expiry<=Date.now()){this.delete(t);return}return r.value}}getMany(t){let r=[];for(var n=0;n0?Date.now()+this.ttl:this.ttl;return}this.max>0&&this.size===this.max&&this.evict();let n={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:t,prev:this.last,next:null,value:r};this.items[t]=n,++this.size===1?this.first=n:this.last.next=n,this.last=n}};Q0.Fifo=GF;Q0.FifoMap=ere;Q0.FifoObject=GF;Q0.HitStatisticsRecord=jF;Q0.Lru=vO;Q0.LruHitStatistics=KF;Q0.LruMap=tre;Q0.LruObject=vO;Q0.LruObjectHitStatistics=KF});var X$e=S((X6n,SO)=>{"use strict";var zF=function(){};zF.prototype=Object.create(null);var YF=/; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu,QF=/\\([\v\u0020-\u00ff])/gu,Q$e=/^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u,Yy={type:"",parameters:new zF};Object.freeze(Yy.parameters);Object.freeze(Yy);function z$e(e){if(typeof e!="string")throw new TypeError("argument header is required and must be a string");let t=e.indexOf(";"),r=t!==-1?e.slice(0,t).trim():e.trim();if(Q$e.test(r)===!1)throw new TypeError("invalid media type");let n={type:r.toLowerCase(),parameters:new zF};if(t===-1)return n;let s,i,a;for(YF.lastIndex=t;i=YF.exec(e);){if(i.index!==t)throw new TypeError("invalid parameter format");t+=i[0].length,s=i[1].toLowerCase(),a=i[2],a[0]==='"'&&(a=a.slice(1,a.length-1),QF.test(a)&&(a=a.replace(QF,"$1"))),n.parameters[s]=a}if(t!==e.length)throw new TypeError("invalid parameter format");return n}function W$e(e){if(typeof e!="string")return Yy;let t=e.indexOf(";"),r=t!==-1?e.slice(0,t).trim():e.trim();if(Q$e.test(r)===!1)return Yy;let n={type:r.toLowerCase(),parameters:new zF};if(t===-1)return n;let s,i,a;for(YF.lastIndex=t;i=YF.exec(e);){if(i.index!==t)return Yy;t+=i[0].length,s=i[1].toLowerCase(),a=i[2],a[0]==='"'&&(a=a.slice(1,a.length-1),QF.test(a)&&(a=a.replace(QF,"$1"))),n.parameters[s]=a}return t!==e.length?Yy:n}SO.exports.default={parse:z$e,safeParse:W$e};SO.exports.parse=z$e;SO.exports.safeParse=W$e;SO.exports.defaultContentType=Yy});var sre=S((J6n,S1)=>{"use strict";var Jgr=typeof Buffer<"u",J$e=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,Z$e=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function e9e(e,t,r){r==null&&t!==null&&typeof t=="object"&&(r=t,t=void 0),Jgr&&Buffer.isBuffer(e)&&(e=e.toString()),e&&e.charCodeAt(0)===65279&&(e=e.slice(1));let n=JSON.parse(e,t);if(n===null||typeof n!="object")return n;let s=r&&r.protoAction||"error",i=r&&r.constructorAction||"error";if(s==="ignore"&&i==="ignore")return n;if(s!=="ignore"&&i!=="ignore"){if(J$e.test(e)===!1&&Z$e.test(e)===!1)return n}else if(s!=="ignore"&&i==="ignore"){if(J$e.test(e)===!1)return n}else if(Z$e.test(e)===!1)return n;return t9e(n,{protoAction:s,constructorAction:i,safe:r&&r.safe})}function t9e(e,{protoAction:t="error",constructorAction:r="error",safe:n}={}){let s=[e];for(;s.length;){let i=s;s=[];for(let a of i){if(t!=="ignore"&&Object.prototype.hasOwnProperty.call(a,"__proto__")){if(n===!0)return null;if(t==="error")throw new SyntaxError("Object contains forbidden prototype property");delete a.__proto__}if(r!=="ignore"&&Object.prototype.hasOwnProperty.call(a,"constructor")&&Object.prototype.hasOwnProperty.call(a.constructor,"prototype")){if(n===!0)return null;if(r==="error")throw new SyntaxError("Object contains forbidden prototype property");delete a.constructor}for(let o in a){let c=a[o];c&&typeof c=="object"&&s.push(c)}}}return e}function nre(e,t,r){let n=Error.stackTraceLimit;Error.stackTraceLimit=0;try{return e9e(e,t,r)}finally{Error.stackTraceLimit=n}}function Zgr(e,t){let r=Error.stackTraceLimit;Error.stackTraceLimit=0;try{return e9e(e,t,{safe:!0})}catch{return null}finally{Error.stackTraceLimit=r}}S1.exports=nre;S1.exports.default=nre;S1.exports.parse=nre;S1.exports.safeParse=Zgr;S1.exports.scan=t9e});var ure=S((Z6n,bO)=>{"use strict";var{AsyncResource:e_r}=require("node:async_hooks"),{Fifo:n9e}=Y$e(),{safeParse:s9e,defaultContentType:t_r}=X$e(),r_r=sre(),{kDefaultJsonParse:TO,kContentTypeParser:T1,kBodyLimit:n_r,kRequestPayloadStream:i9e,kState:are,kTestInternals:s_r,kReplyIsError:a9e,kRouteContext:i_r}=Sa(),{FST_ERR_CTP_INVALID_TYPE:o9e,FST_ERR_CTP_EMPTY_TYPE:a_r,FST_ERR_CTP_ALREADY_PRESENT:o_r,FST_ERR_CTP_INVALID_HANDLER:c_r,FST_ERR_CTP_INVALID_PARSE_TYPE:u_r,FST_ERR_CTP_BODY_TOO_LARGE:r9e,FST_ERR_CTP_INVALID_MEDIA_TYPE:l_r,FST_ERR_CTP_INVALID_CONTENT_LENGTH:d_r,FST_ERR_CTP_EMPTY_JSON_BODY:f_r,FST_ERR_CTP_INSTANCE_ALREADY_STARTED:ore}=Oo();function Kp(e,t,r){this[TO]=u9e(t,r),this.customParsers=new Map,this.customParsers.set("application/json",new ire(!0,!1,e,this[TO])),this.customParsers.set("text/plain",new ire(!0,!1,e,cre)),this.parserList=[new WF("application/json"),new WF("text/plain")],this.parserRegExpList=[],this.cache=new n9e(100)}Kp.prototype.add=function(e,t,r){let n=typeof e=="string";if(!n&&!(e instanceof RegExp))throw new o9e;if(n&&e.length===0)throw new a_r;if(typeof r!="function")throw new c_r;if(this.existingParser(e))throw new o_r(e);if(t.parseAs!==void 0&&t.parseAs!=="string"&&t.parseAs!=="buffer")throw new u_r(t.parseAs);let s=new ire(t.parseAs==="string",t.parseAs==="buffer",t.bodyLimit,r);n&&e==="*"?this.customParsers.set("",s):(n?this.parserList.unshift(new WF(e)):(e.isEssence=e.source.indexOf(";")===-1,this.parserRegExpList.unshift(e)),this.customParsers.set(e.toString(),s))};Kp.prototype.hasParser=function(e){return this.customParsers.has(typeof e=="string"?e:e.toString())};Kp.prototype.existingParser=function(e){return e==="application/json"&&this.customParsers.has(e)?this.customParsers.get(e).fn!==this[TO]:e==="text/plain"&&this.customParsers.has(e)?this.customParsers.get(e).fn!==cre:this.hasParser(e)};Kp.prototype.getParser=function(e){if(this.hasParser(e))return this.customParsers.get(e);let t=this.cache.get(e);if(t!==void 0)return t;let r=s9e(e);if(r===t_r)return this.customParsers.get("");for(var n=0;n!==this.parserList.length;++n){let i=this.parserList[n];if(A_r(r,i)){let a=this.customParsers.get(i.name);return this.cache.set(e,a),a}}for(var s=0;s!==this.parserRegExpList.length;++s){let i=this.parserRegExpList[s];if(E_r(e,r.type,i)){let a=this.customParsers.get(i.toString());return this.cache.set(e,a),a}}return this.customParsers.get("")};Kp.prototype.removeAll=function(){this.customParsers=new Map,this.parserRegExpList=[],this.parserList=[],this.cache=new n9e(100)};Kp.prototype.remove=function(e){if(!(typeof e=="string"||e instanceof RegExp))throw new o9e;let t=this.customParsers.delete(e.toString()),r=typeof e=="string"?this.parserList:this.parserRegExpList,n=r.findIndex(s=>s.toString()===e.toString());return n>-1&&r.splice(n,1),t||n>-1};Kp.prototype.run=function(e,t,r,n){let s=this.getParser(e);if(s===void 0){r.is404?t(r,n):n.send(new l_r(e||void 0));return}let i=new e_r("content-type-parser:run",r);if(s.asString===!0||s.asBuffer===!0)c9e(r,n,n[i_r]._parserOptions,s,a);else{let o=s.fn(r,r[i9e],a);o&&typeof o.then=="function"&&o.then(c=>a(null,c),a)}function a(o,c){i.runInAsyncScope(()=>{i.emitDestroy(),o?(n[a9e]=!0,n.send(o)):(r.body=c,t(r,n))})}};function c9e(e,t,r,n,s){let i=n.asString,a=r.limit===null?n.bodyLimit:r.limit,o=e.headers["content-length"]===void 0?NaN:Number(e.headers["content-length"]);if(o>a){t.header("connection","close"),t.send(new r9e);return}let c=0,u=i===!0?"":[],l=e[i9e]||e.raw;i===!0&&l.setEncoding("utf8"),l.on("data",d),l.on("end",f),l.on("error",f),l.resume();function d(h){c+=h.length;let{receivedEncodedLength:p=0}=l;if(c>a||p>a){l.removeListener("data",d),l.removeListener("end",f),l.removeListener("error",f),t.send(new r9e);return}i===!0?u+=h:u.push(h)}function f(h){if(l.removeListener("data",d),l.removeListener("end",f),l.removeListener("error",f),h!==void 0){typeof h.statusCode=="number"&&h.statusCode>=400||(h.statusCode=400),t[a9e]=!0,t.code(h.statusCode).send(h);return}if(i===!0&&(c=Buffer.byteLength(u)),!Number.isNaN(o)&&(l.receivedEncodedLength||c)!==o){t.header("connection","close"),t.send(new d_r);return}i===!1&&(u=Buffer.concat(u));let p=n.fn(e,u,s);p&&typeof p.then=="function"&&p.then(m=>s(null,m),s)}}function u9e(e,t){return r;function r(n,s,i){if(s===""||s==null||Buffer.isBuffer(s)&&s.length===0)return i(new f_r,void 0);let a;try{a=r_r.parse(s,{protoAction:e,constructorAction:t})}catch(o){return o.statusCode=400,i(o,void 0)}i(null,a)}}function cre(e,t,r){r(null,t)}function ire(e,t,r,n){this.asString=e,this.asBuffer=t,this.bodyLimit=r,this.fn=n}function h_r(e){let t=new Kp;return t[TO]=e[TO],t.customParsers=new Map(e.customParsers.entries()),t.parserList=e.parserList.slice(),t.parserRegExpList=e.parserRegExpList.slice(),t}function p_r(e,t,r){if(this[are].started)throw new ore("addContentTypeParser");return typeof t=="function"&&(r=t,t={}),t||(t={}),t.bodyLimit||(t.bodyLimit=this[n_r]),Array.isArray(e)?e.forEach(n=>this[T1].add(n,t,r)):this[T1].add(e,t,r),this}function m_r(e){return this[T1].hasParser(e)}function g_r(e){if(this[are].started)throw new ore("removeContentTypeParser");if(Array.isArray(e))for(let t of e)this[T1].remove(t);else this[T1].remove(e)}function __r(){if(this[are].started)throw new ore("removeAllContentTypeParsers");this[T1].removeAll()}function A_r(e,t){if(t.isEssence)return e.type.indexOf(t)!==-1;if(e.type.indexOf(t.type)===-1)return!1;for(let r of t.parameterKeys)if(!(r in e.parameters)||e.parameters[r]!==t.parameters[r])return!1;return!0}function E_r(e,t,r){return r.isEssence?r.test(t):r.test(e)}function WF(e){this.name=e;let t=s9e(e);if(this.isEssence=e.indexOf(";")===-1,this.isEssence===!1&&t.type===""){let r=e.split(";",1)[0];this.type=r===""?e:r}else this.type=t.type;this.parameters=t.parameters,this.parameterKeys=Object.keys(t.parameters)}WF.prototype.toString=function(){return this.name};bO.exports=Kp;bO.exports.helpers={buildContentTypeParser:h_r,addContentTypeParser:p_r,hasContentTypeParser:m_r,removeContentTypeParser:g_r,removeAllContentTypeParsers:__r};bO.exports.defaultParsers={getDefaultJsonParser:u9e,defaultTextParser:cre};bO.exports[s_r]={rawBody:c9e}});var h9e=S((e8n,f9e)=>{"use strict";var l9e=td(),y_r=Symbol.for("json-schema-ref"),lre=class{#e;#t;#r;#n;#a;constructor(t={}){this.#e={},this.#t={},this.#r=t.insertRefSymbol??!1,this.#n=t.allowEqualDuplicates??!0,this.#a=t.cloneSchemaWithoutRefs??!1}addSchema(t,r){t.$id!==void 0&&t.$id.charAt(0)!=="#"?r=t.$id:this.#l(t,r),this.#s(t,r)}getSchema(t,r="#"){let n=this.#e[t];if(n===void 0)throw new Error(`Cannot resolve ref "${t}${r}". Schema with id "${t}" is not found.`);return n.anchors[r]!==void 0?n.anchors[r]:d9e(n.schema,r)}hasSchema(t){return this.#e[t]!==void 0}getSchemaRefs(t){let r=this.#e[t];if(r===void 0)throw new Error(`Schema with id "${t}" is not found.`);return r.refs}getSchemaDependencies(t,r={}){let n=this.#e[t];for(let s of n.refs){let i=s.schemaId;r[i]===void 0&&(r[i]=this.getSchema(i),this.getSchemaDependencies(i,r))}return r}derefSchema(t){if(this.#t[t]!==void 0)return;let r=this.#e[t];if(r===void 0)throw new Error(`Schema with id "${t}" is not found.`);!this.#a&&r.refs.length===0&&(this.#t[t]={schema:r.schema,anchors:r.anchors});let n=[];this.#i(r.schema,t,n);let s=this.getSchemaDependencies(t);for(let i in s){let a=s[i];this.#i(a,i,n)}for(let i of n){let{refSchemaId:a,refJsonPointer:o}=this.#o(i.ref,i.sourceSchemaId),c=this.getDerefSchema(a,o);if(c===null)throw new Error(`Cannot resolve ref "${i.ref}". Ref "${o}" is not found in schema "${a}".`);i.targetSchema=c,i.targetSchemaId=a}for(let i of n)this.#c(i,n)}getDerefSchema(t,r="#"){let n=this.#t[t];return n===void 0&&(this.derefSchema(t),n=this.#t[t]),n.anchors[r]!==void 0?n.anchors[r]:d9e(n.schema,r)}#o(t,r){let n=t.indexOf("#");return n===-1?{refSchemaId:t,refJsonPointer:"#"}:n===0?{refSchemaId:r,refJsonPointer:t}:{refSchemaId:t.slice(0,n),refJsonPointer:t.slice(n)}}#s(t,r){let n=t.$id;n!==void 0&&typeof n=="string"&&(n.charAt(0)==="#"?this.#m(t,r,n):(this.#l(t,n),r=n));let s=t.$ref;if(s!==void 0&&typeof s=="string"){let{refSchemaId:i,refJsonPointer:a}=this.#o(s,r);this.#e[r].refs.push({schemaId:i,jsonPointer:a})}for(let i in t)typeof t[i]=="object"&&t[i]!==null&&this.#s(t[i],r)}#i(t,r,n=[]){let s=Array.isArray(t)?[...t]:{...t},i=s.$id;i!==void 0&&typeof i=="string"&&(i.charAt(0)==="#"?this.#d(s,r,i):(this.#h(s,i),r=i)),s.$ref!==void 0&&n.push({ref:s.$ref,sourceSchemaId:r,sourceSchema:s});for(let a in s){let o=s[a];typeof o=="object"&&o!==null&&(s[a]=this.#i(o,r,n))}return s}#c(t,r){let{sourceSchema:n,targetSchema:s}=t;if(n.$ref){if(this.#r&&(n[y_r]=n.$ref),delete n.$ref,s.$ref){let i=r.find(a=>a.sourceSchema===s);this.#c(i,r)}for(let i in s)if(i!=="$id"){if(n[i]!==void 0){if(l9e(n[i],s[i]))continue;throw new Error(`Cannot resolve ref "${t.ref}". Property "${i}" is already exist in schema "${t.sourceSchemaId}".`)}n[i]=s[i]}t.isResolved=!0}}#l(t,r){let n=this.#e[r];if(n!==void 0){if(this.#n&&l9e(t,n.schema))return;throw new Error(`There is already another schema with id "${r}".`)}this.#e[r]={schema:t,anchors:{},refs:[]}}#m(t,r,n){let{anchors:s}=this.#e[r];if(s[n]!==void 0)throw new Error(`There is already another anchor "${n}" in a schema "${r}".`);s[n]=t}#h(t,r){this.#t[r]===void 0&&(this.#t[r]={schema:t,anchors:{}})}#d(t,r,n){let{anchors:s}=this.#t[r];s[n]=t}};function d9e(e,t){let r=t.split("/"),n=e;for(let s of r)if(!(s===""||s==="#")){if(typeof n!="object"||n===null)return null;n=n[s]}return n??null}f9e.exports={RefResolver:lre}});var m9e=S((t8n,p9e)=>{"use strict";var dre=class e{constructor(t,r,n="#"){this.schema=t,this.schemaId=r,this.jsonPointer=n}getPropertyLocation(t){return new e(this.schema[t],this.schemaId,this.jsonPointer+"/"+t)}getSchemaRef(){return this.schemaId+this.jsonPointer}};p9e.exports=dre});var y9e=S((r8n,hre)=>{"use strict";hre.exports=Ze;hre.exports.default=Ze;var v_r={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0},g9e={enum:["array","boolean","integer","null","number","object","string"]},_9e=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,S_r=mF().fullFormats.uri,A9e=mF().fullFormats.regex;function ad(e,{instancePath:t="",parentData:r,parentDataProperty:n,rootData:s=e}={}){let i=null,a=0,o=a;return typeof e=="number"&&!(e%1)&&!isNaN(e)&&isFinite(e)?a===o&&typeof e=="number"&&isFinite(e)&&(e<0||isNaN(e))?(ad.errors=[{instancePath:t,schemaPath:"#/definitions/nonNegativeInteger/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"}],!1):(ad.errors=i,a===0):(ad.errors=[{instancePath:t,schemaPath:"#/definitions/nonNegativeInteger/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1)}var fre={validate:Ze};function Oc(e,{instancePath:t="",parentData:r,parentDataProperty:n,rootData:s=e}={}){let i=null,a=0;if(a===0)if(Array.isArray(e)){if(e.length<1)return Oc.errors=[{instancePath:t,schemaPath:"#/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"}],!1;{var o=!0;let c=e.length;for(let u=0;u",limit:0},message:"must be > 0"}],!1}else return Ze.errors=[{instancePath:t+"/multipleOf",schemaPath:"#/properties/multipleOf/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=A===a}else var o=!0;if(o){if(e.maximum!==void 0){let E=e.maximum,A=a;if(!(typeof E=="number"&&isFinite(E)))return Ze.errors=[{instancePath:t+"/maximum",schemaPath:"#/properties/maximum/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=A===a}else var o=!0;if(o){if(e.exclusiveMaximum!==void 0){let E=e.exclusiveMaximum,A=a;if(!(typeof E=="number"&&isFinite(E)))return Ze.errors=[{instancePath:t+"/exclusiveMaximum",schemaPath:"#/properties/exclusiveMaximum/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=A===a}else var o=!0;if(o){if(e.minimum!==void 0){let E=e.minimum,A=a;if(!(typeof E=="number"&&isFinite(E)))return Ze.errors=[{instancePath:t+"/minimum",schemaPath:"#/properties/minimum/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=A===a}else var o=!0;if(o){if(e.exclusiveMinimum!==void 0){let E=e.exclusiveMinimum,A=a;if(!(typeof E=="number"&&isFinite(E)))return Ze.errors=[{instancePath:t+"/exclusiveMinimum",schemaPath:"#/properties/exclusiveMinimum/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=A===a}else var o=!0;if(o){if(e.maxLength!==void 0){let E=e.maxLength,A=a,v=a;if(!(typeof E=="number"&&!(E%1)&&!isNaN(E)&&isFinite(E)))return Ze.errors=[{instancePath:t+"/maxLength",schemaPath:"#/definitions/nonNegativeInteger/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;if(a===v&&typeof E=="number"&&isFinite(E)&&(E<0||isNaN(E)))return Ze.errors=[{instancePath:t+"/maxLength",schemaPath:"#/definitions/nonNegativeInteger/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"}],!1;var o=A===a}else var o=!0;if(o){if(e.minLength!==void 0){let E=a;ad(e.minLength,{instancePath:t+"/minLength",parentData:e,parentDataProperty:"minLength",rootData:s})||(i=i===null?ad.errors:i.concat(ad.errors),a=i.length);var o=E===a}else var o=!0;if(o){if(e.pattern!==void 0){let E=e.pattern,A=a;if(a===A&&a===A)if(typeof E=="string"){if(!A9e(E))return Ze.errors=[{instancePath:t+"/pattern",schemaPath:"#/properties/pattern/format",keyword:"format",params:{format:"regex"},message:'must match format "regex"'}],!1}else return Ze.errors=[{instancePath:t+"/pattern",schemaPath:"#/properties/pattern/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=A===a}else var o=!0;if(o){if(e.additionalItems!==void 0){let E=a;Ze(e.additionalItems,{instancePath:t+"/additionalItems",parentData:e,parentDataProperty:"additionalItems",rootData:s})||(i=i===null?Ze.errors:i.concat(Ze.errors),a=i.length);var o=E===a}else var o=!0;if(o){if(e.items!==void 0){let E=e.items,A=a,v=a,T=!1,C=a;Ze(E,{instancePath:t+"/items",parentData:e,parentDataProperty:"items",rootData:s})||(i=i===null?Ze.errors:i.concat(Ze.errors),a=i.length);var c=C===a;if(T=T||c,!T){let x=a;Oc(E,{instancePath:t+"/items",parentData:e,parentDataProperty:"items",rootData:s})||(i=i===null?Oc.errors:i.concat(Oc.errors),a=i.length);var c=x===a;T=T||c}if(T)a=v,i!==null&&(v?i.length=v:i=null);else{let x={instancePath:t+"/items",schemaPath:"#/properties/items/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[x]:i.push(x),a++,Ze.errors=i,!1}var o=A===a}else var o=!0;if(o){if(e.maxItems!==void 0){let E=e.maxItems,A=a,v=a;if(!(typeof E=="number"&&!(E%1)&&!isNaN(E)&&isFinite(E)))return Ze.errors=[{instancePath:t+"/maxItems",schemaPath:"#/definitions/nonNegativeInteger/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;if(a===v&&typeof E=="number"&&isFinite(E)&&(E<0||isNaN(E)))return Ze.errors=[{instancePath:t+"/maxItems",schemaPath:"#/definitions/nonNegativeInteger/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"}],!1;var o=A===a}else var o=!0;if(o){if(e.minItems!==void 0){let E=a;ad(e.minItems,{instancePath:t+"/minItems",parentData:e,parentDataProperty:"minItems",rootData:s})||(i=i===null?ad.errors:i.concat(ad.errors),a=i.length);var o=E===a}else var o=!0;if(o){if(e.uniqueItems!==void 0){let E=a;if(typeof e.uniqueItems!="boolean")return Ze.errors=[{instancePath:t+"/uniqueItems",schemaPath:"#/properties/uniqueItems/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;var o=E===a}else var o=!0;if(o){if(e.contains!==void 0){let E=a;Ze(e.contains,{instancePath:t+"/contains",parentData:e,parentDataProperty:"contains",rootData:s})||(i=i===null?Ze.errors:i.concat(Ze.errors),a=i.length);var o=E===a}else var o=!0;if(o){if(e.maxProperties!==void 0){let E=e.maxProperties,A=a,v=a;if(!(typeof E=="number"&&!(E%1)&&!isNaN(E)&&isFinite(E)))return Ze.errors=[{instancePath:t+"/maxProperties",schemaPath:"#/definitions/nonNegativeInteger/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;if(a===v&&typeof E=="number"&&isFinite(E)&&(E<0||isNaN(E)))return Ze.errors=[{instancePath:t+"/maxProperties",schemaPath:"#/definitions/nonNegativeInteger/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"}],!1;var o=A===a}else var o=!0;if(o){if(e.minProperties!==void 0){let E=a;ad(e.minProperties,{instancePath:t+"/minProperties",parentData:e,parentDataProperty:"minProperties",rootData:s})||(i=i===null?ad.errors:i.concat(ad.errors),a=i.length);var o=E===a}else var o=!0;if(o){if(e.required!==void 0){let E=e.required,A=a;if(a===a)if(Array.isArray(E)){var u=!0;let C=E.length;for(let b=0;b1){let w={};for(;b--;){let P=E[b];if(typeof P=="string"){if(typeof w[P]=="number"){return x=w[P],Ze.errors=[{instancePath:t+"/required",schemaPath:"#/definitions/stringArray/uniqueItems",keyword:"uniqueItems",params:{i:b,j:x},message:"must NOT have duplicate items (items ## "+x+" and "+b+" are identical)"}],!1;break}w[P]=b}}}}}else return Ze.errors=[{instancePath:t+"/required",schemaPath:"#/definitions/stringArray/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;var o=A===a}else var o=!0;if(o){if(e.additionalProperties!==void 0){let E=a;Ze(e.additionalProperties,{instancePath:t+"/additionalProperties",parentData:e,parentDataProperty:"additionalProperties",rootData:s})||(i=i===null?Ze.errors:i.concat(Ze.errors),a=i.length);var o=E===a}else var o=!0;if(o){if(e.definitions!==void 0){let E=e.definitions,A=a;if(a===A)if(E&&typeof E=="object"&&!Array.isArray(E))for(let T in E){let C=a;Ze(E[T],{instancePath:t+"/definitions/"+T.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:E,parentDataProperty:T,rootData:s})||(i=i===null?Ze.errors:i.concat(Ze.errors),a=i.length);var l=C===a;if(!l)break}else return Ze.errors=[{instancePath:t+"/definitions",schemaPath:"#/properties/definitions/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=A===a}else var o=!0;if(o){if(e.properties!==void 0){let E=e.properties,A=a;if(a===A)if(E&&typeof E=="object"&&!Array.isArray(E))for(let T in E){let C=a;Ze(E[T],{instancePath:t+"/properties/"+T.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:E,parentDataProperty:T,rootData:s})||(i=i===null?Ze.errors:i.concat(Ze.errors),a=i.length);var d=C===a;if(!d)break}else return Ze.errors=[{instancePath:t+"/properties",schemaPath:"#/properties/properties/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=A===a}else var o=!0;if(o){if(e.patternProperties!==void 0){let E=e.patternProperties,A=a;if(a===A)if(E&&typeof E=="object"&&!Array.isArray(E)){for(let T in E){let C=a;if(a===C&&typeof T=="string"&&!A9e(T)){let b={instancePath:t+"/patternProperties",schemaPath:"#/properties/patternProperties/propertyNames/format",keyword:"format",params:{format:"regex"},message:'must match format "regex"',propertyName:T};i===null?i=[b]:i.push(b),a++}var f=C===a;if(!f){let b={instancePath:t+"/patternProperties",schemaPath:"#/properties/patternProperties/propertyNames",keyword:"propertyNames",params:{propertyName:T},message:"property name must be valid"};return i===null?i=[b]:i.push(b),a++,Ze.errors=i,!1;break}}if(f)for(let T in E){let C=a;Ze(E[T],{instancePath:t+"/patternProperties/"+T.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:E,parentDataProperty:T,rootData:s})||(i=i===null?Ze.errors:i.concat(Ze.errors),a=i.length);var h=C===a;if(!h)break}}else return Ze.errors=[{instancePath:t+"/patternProperties",schemaPath:"#/properties/patternProperties/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=A===a}else var o=!0;if(o){if(e.dependencies!==void 0){let E=e.dependencies,A=a;if(a===A)if(E&&typeof E=="object"&&!Array.isArray(E))for(let T in E){let C=E[T],b=a,x=a,w=!1,P=a;Ze(C,{instancePath:t+"/dependencies/"+T.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:E,parentDataProperty:T,rootData:s})||(i=i===null?Ze.errors:i.concat(Ze.errors),a=i.length);var p=P===a;if(w=w||p,!w){let M=a;if(a===a)if(Array.isArray(C)){var m=!0;let Y=C.length;for(let $=0;$1){let W={};for(;$--;){let G=C[$];if(typeof G=="string"){if(typeof W[G]=="number"){V=W[G];let se={instancePath:t+"/dependencies/"+T.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/stringArray/uniqueItems",keyword:"uniqueItems",params:{i:$,j:V},message:"must NOT have duplicate items (items ## "+V+" and "+$+" are identical)"};i===null?i=[se]:i.push(se),a++;break}W[G]=$}}}}}else{let Y={instancePath:t+"/dependencies/"+T.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/stringArray/type",keyword:"type",params:{type:"array"},message:"must be array"};i===null?i=[Y]:i.push(Y),a++}var p=M===a;w=w||p}if(w)a=x,i!==null&&(x?i.length=x:i=null);else{let M={instancePath:t+"/dependencies/"+T.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/dependencies/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[M]:i.push(M),a++,Ze.errors=i,!1}var g=b===a;if(!g)break}else return Ze.errors=[{instancePath:t+"/dependencies",schemaPath:"#/properties/dependencies/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=A===a}else var o=!0;if(o){if(e.propertyNames!==void 0){let E=a;Ze(e.propertyNames,{instancePath:t+"/propertyNames",parentData:e,parentDataProperty:"propertyNames",rootData:s})||(i=i===null?Ze.errors:i.concat(Ze.errors),a=i.length);var o=E===a}else var o=!0;if(o){if(e.enum!==void 0){let E=e.enum,A=a;if(a===A)if(Array.isArray(E)){if(E.length<1)return Ze.errors=[{instancePath:t+"/enum",schemaPath:"#/properties/enum/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"}],!1;{let T=E.length,C;if(T>1){e:for(;T--;)for(C=T;C--;)if(E9e(E[T],E[C])){return Ze.errors=[{instancePath:t+"/enum",schemaPath:"#/properties/enum/uniqueItems",keyword:"uniqueItems",params:{i:T,j:C},message:"must NOT have duplicate items (items ## "+C+" and "+T+" are identical)"}],!1;break e}}}}else return Ze.errors=[{instancePath:t+"/enum",schemaPath:"#/properties/enum/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;var o=A===a}else var o=!0;if(o){if(e.type!==void 0){let E=e.type,A=a,v=a,T=!1,C=a;if(!(E==="array"||E==="boolean"||E==="integer"||E==="null"||E==="number"||E==="object"||E==="string")){let x={instancePath:t+"/type",schemaPath:"#/definitions/simpleTypes/enum",keyword:"enum",params:{allowedValues:g9e.enum},message:"must be equal to one of the allowed values"};i===null?i=[x]:i.push(x),a++}var _=C===a;if(T=T||_,!T){let x=a;if(a===x)if(Array.isArray(E))if(E.length<1){let P={instancePath:t+"/type",schemaPath:"#/properties/type/anyOf/1/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};i===null?i=[P]:i.push(P),a++}else{var y=!0;let P=E.length;for(let M=0;M1){e:for(;M--;)for(L=M;L--;)if(E9e(E[M],E[L])){let U={instancePath:t+"/type",schemaPath:"#/properties/type/anyOf/1/uniqueItems",keyword:"uniqueItems",params:{i:M,j:L},message:"must NOT have duplicate items (items ## "+L+" and "+M+" are identical)"};i===null?i=[U]:i.push(U),a++;break e}}}}else{let P={instancePath:t+"/type",schemaPath:"#/properties/type/anyOf/1/type",keyword:"type",params:{type:"array"},message:"must be array"};i===null?i=[P]:i.push(P),a++}var _=x===a;T=T||_}if(T)a=v,i!==null&&(v?i.length=v:i=null);else{let x={instancePath:t+"/type",schemaPath:"#/properties/type/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[x]:i.push(x),a++,Ze.errors=i,!1}var o=A===a}else var o=!0;if(o){if(e.format!==void 0){let E=a;if(typeof e.format!="string")return Ze.errors=[{instancePath:t+"/format",schemaPath:"#/properties/format/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=E===a}else var o=!0;if(o){if(e.contentMediaType!==void 0){let E=a;if(typeof e.contentMediaType!="string")return Ze.errors=[{instancePath:t+"/contentMediaType",schemaPath:"#/properties/contentMediaType/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=E===a}else var o=!0;if(o){if(e.contentEncoding!==void 0){let E=a;if(typeof e.contentEncoding!="string")return Ze.errors=[{instancePath:t+"/contentEncoding",schemaPath:"#/properties/contentEncoding/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=E===a}else var o=!0;if(o){if(e.if!==void 0){let E=a;Ze(e.if,{instancePath:t+"/if",parentData:e,parentDataProperty:"if",rootData:s})||(i=i===null?Ze.errors:i.concat(Ze.errors),a=i.length);var o=E===a}else var o=!0;if(o){if(e.then!==void 0){let E=a;Ze(e.then,{instancePath:t+"/then",parentData:e,parentDataProperty:"then",rootData:s})||(i=i===null?Ze.errors:i.concat(Ze.errors),a=i.length);var o=E===a}else var o=!0;if(o){if(e.else!==void 0){let E=a;Ze(e.else,{instancePath:t+"/else",parentData:e,parentDataProperty:"else",rootData:s})||(i=i===null?Ze.errors:i.concat(Ze.errors),a=i.length);var o=E===a}else var o=!0;if(o){if(e.allOf!==void 0){let E=a;Oc(e.allOf,{instancePath:t+"/allOf",parentData:e,parentDataProperty:"allOf",rootData:s})||(i=i===null?Oc.errors:i.concat(Oc.errors),a=i.length);var o=E===a}else var o=!0;if(o){if(e.anyOf!==void 0){let E=a;Oc(e.anyOf,{instancePath:t+"/anyOf",parentData:e,parentDataProperty:"anyOf",rootData:s})||(i=i===null?Oc.errors:i.concat(Oc.errors),a=i.length);var o=E===a}else var o=!0;if(o){if(e.oneOf!==void 0){let E=a;Oc(e.oneOf,{instancePath:t+"/oneOf",parentData:e,parentDataProperty:"oneOf",rootData:s})||(i=i===null?Oc.errors:i.concat(Oc.errors),a=i.length);var o=E===a}else var o=!0;if(o)if(e.not!==void 0){let E=a;Ze(e.not,{instancePath:t+"/not",parentData:e,parentDataProperty:"not",rootData:s})||(i=i===null?Ze.errors:i.concat(Ze.errors),a=i.length);var o=E===a}else var o=!0}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}return Ze.errors=i,a===0}});var _re=S((n8n,v9e)=>{"use strict";var pre=class extends Error{constructor(t,r){super(),this.name="JsonSchemaMergeError",this.code="JSON_SCHEMA_MERGE_ERROR",this.message=`Failed to merge "${t}" keyword schemas.`,this.schemas=r}},mre=class extends Error{constructor(t,r){super(),this.name="JsonSchemaMergeError",this.code="JSON_SCHEMA_MERGE_ERROR",this.message=`Resolver for "${t}" keyword not found.`,this.schemas=r}},gre=class extends Error{constructor(t){super(),this.name="JsonSchemaMergeError",this.code="JSON_SCHEMA_MERGE_ERROR",this.message=`Invalid "onConflict" option: "${t}".`}};v9e.exports={MergeError:pre,ResolverNotFoundError:mre,InvalidOnConflictOptionError:gre}});var b9e=S((s8n,T9e)=>{"use strict";var T_r=td(),{MergeError:Are}=_re();function S9e(e){let t=e[0];for(let r=1;re[r].includes(n));return t}function b_r(e,t,r){let n=S9e(t);if(n.length===0)throw new Are(e,t);r[e]=n}function I_r(e,t,r){for(let s=0;sc?n(c,o%c):o,s=(o,c)=>o*c/n(o,c),i=1;for(let o of t)for(;o*i%1!==0;)i*=10;let a=t[0]*i;for(let o of t)a=s(a,o*i);r[e]=a/i}function N_r(e,t,r){let n=t[0];for(let s=1;s{"use strict";var L_r=td(),ni=b9e(),ZF=_re(),C9e={$id:ni.skip,type:ni.hybridArraysIntersection,enum:ni.arraysIntersection,minLength:ni.maxNumber,maxLength:ni.minNumber,minimum:ni.maxNumber,maximum:ni.minNumber,multipleOf:ni.commonMultiple,exclusiveMinimum:ni.maxNumber,exclusiveMaximum:ni.minNumber,minItems:ni.maxNumber,maxItems:ni.minNumber,maxProperties:ni.minNumber,minProperties:ni.maxNumber,const:ni.allEqual,default:ni.allEqual,format:ni.allEqual,required:ni.arraysUnion,properties:$_r,patternProperties:JF,additionalProperties:XF,items:B_r,additionalItems:U_r,definitions:JF,$defs:JF,nullable:ni.booleanAnd,oneOf:I9e,anyOf:I9e,allOf:ni.arraysUnion,not:XF,if:q_r,then:ni.skip,else:ni.skip,dependencies:R9e,dependentRequired:R9e,dependentSchemas:JF,propertyNames:XF,uniqueItems:ni.booleanOr,contains:XF};function XF(e,t,r,n,s){r[e]=Ef(t,s)}function M_r(e){let t=[[]];for(let r of e){let n=[];for(let s of t)for(let i of r)n.push([...s,i]);t=n}return t}function I9e(e,t,r,n,s){if(t.length===1){r[e]=t[0];return}let i=M_r(t),a=[];for(let o of i)try{let c=Ef(o,s);c!==void 0&&a.push(c)}catch(c){if(c instanceof ZF.MergeError)continue;throw c}r[e]=a}function k_r(e,t){let{items:r,additionalItems:n}=e;return Array.isArray(r)?t{"use strict";var{mergeSchemas:V_r}=N9e();function j_r(e){return V_r(e,{onConflict:"skip"})}O9e.exports=j_r});var q9e=S((o8n,b1)=>{"use strict";var{RefResolver:K_r}=h9e(),G_r=mZ(),Y_r=fte(),Qy=m9e(),P9e=y9e(),Q_r=D9e(),z_r=/'/g,e6=2e4,M9e="default",W_r=["floor","ceil","round","trunc"],k9e=["default","json-stringify"],IO=0;function Ere(e,t){if(!P9e(e)){t?t=`"${t}" `:t="";let r=P9e.errors[0],n=new Error(`${t}schema is invalid: data${r.instancePath} ${r.message}`);throw n.errors=Ere.errors,n}}function RO(e,t){let r=t.schema.$ref,n=r.indexOf("#");n===-1&&(n=r.length);let s=r.slice(0,n)||t.schemaId,i=r.slice(n)||"#",a=e.refResolver.getSchema(s,i);if(a===null)throw new Error(`Cannot find reference "${r}"`);let o=new Qy(a,s,i);return a.$ref!==void 0?RO(e,o):o}function t6(e,t){let r=e.refResolver.getSchema(t,"#");return new Qy(r,t,"#")}function L9e(e,t){return e.$id&&e.$id.charAt(0)!=="#"?e.$id:t}function yre(e,t){Ere(e),t=t||{};let r={functions:[],functionsCounter:0,functionsNamesBySchema:new Map,options:t,refResolver:new K_r,rootSchemaId:e.$id||`__fjs_root_${IO++}`,validatorSchemasIds:new Set,mergedSchemasIds:new Map},n=L9e(e,r.rootSchemaId);if(r.refResolver.hasSchema(n)||r.refResolver.addSchema(e,r.rootSchemaId),t.schema)for(let l in t.schema){let d=t.schema[l],f=L9e(d,l);r.refResolver.hasSchema(f)||(Ere(d,l),r.refResolver.addSchema(d,l))}if(t.rounding&&!W_r.includes(t.rounding))throw new Error(`Unsupported integer rounding method ${t.rounding}`);if(t.largeArrayMechanism)if(k9e.includes(t.largeArrayMechanism))M9e=t.largeArrayMechanism;else throw new Error(`Unsupported large array mechanism ${t.largeArrayMechanism}`);if(t.largeArraySize)if(typeof t.largeArraySize=="string"&&Number.isFinite(Number.parseInt(t.largeArraySize,10)))e6=Number.parseInt(t.largeArraySize,10);else if(typeof t.largeArraySize=="number"&&Number.isInteger(t.largeArraySize))e6=t.largeArraySize;else if(typeof t.largeArraySize=="bigint")e6=Number(t.largeArraySize);else throw new Error(`Unsupported large array size. Expected integer-like, got ${typeof t.largeArraySize} with value ${t.largeArraySize}`);let s=new Qy(e,r.rootSchemaId),i=ll(r,s,"input"),a=` + const JSON_STR_BEGIN_OBJECT = '{' + const JSON_STR_END_OBJECT = '}' + const JSON_STR_BEGIN_ARRAY = '[' + const JSON_STR_END_ARRAY = ']' + const JSON_STR_COMMA = ',' + const JSON_STR_COLONS = ':' + const JSON_STR_QUOTE = '"' + const JSON_STR_EMPTY_OBJECT = JSON_STR_BEGIN_OBJECT + JSON_STR_END_OBJECT + const JSON_STR_EMPTY_ARRAY = JSON_STR_BEGIN_ARRAY + JSON_STR_END_ARRAY + const JSON_STR_EMPTY_STRING = JSON_STR_QUOTE + JSON_STR_QUOTE + const JSON_STR_NULL = 'null' + `;i==="json += anonymous0(input)"?a+=` + ${r.functions.join(` +`)} + const main = anonymous0 + return main + `:a+=` + function main (input) { + let json = '' + ${i} + return json + } + ${r.functions.join(` +`)} + return main + `;let o=new G_r(t),c=new Y_r(t.ajv);for(let l of r.validatorSchemasIds){let d=r.refResolver.getSchema(l);c.addSchema(d,l);let f=r.refResolver.getSchemaDependencies(l);for(let[h,p]of Object.entries(f))c.addSchema(p,h)}if(t.debugMode&&(t.mode="debug"),t.mode==="debug")return{validator:c,serializer:o,code:`validator +serializer +${a}`,ajv:c.ajv};let u=new Function("validator","serializer",a);return t.mode==="standalone"?pte()(u,r,o,c):u(c,o)}var X_r=["properties","required","additionalProperties","patternProperties","maxProperties","minProperties","dependencies"],J_r=["items","additionalItems","maxItems","minItems","uniqueItems","contains"],Z_r=["maxLength","minLength","pattern"],eAr=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum"];function tAr(e){for(var t of X_r)if(t in e)return"object";for(var t of J_r)if(t in e)return"array";for(var t of Z_r)if(t in e)return"string";for(var t of eAr)if(t in e)return"number";return e.type}function rAr(e,t,r){let n=t.schema,s=Object.keys(n.properties||{}),i=` + const propertiesKeys = ${JSON.stringify(s)} + for (const [key, value] of Object.entries(obj)) { + if ( + propertiesKeys.includes(key) || + value === undefined || + typeof value === 'function' || + typeof value === 'symbol' + ) continue + `,a=t.getPropertyLocation("patternProperties"),o=a.schema;if(o!==void 0)for(let l in o){let d=a.getPropertyLocation(l);i+=` + if (/${l.replace(/\\*\//g,"\\/")}/.test(key)) { + ${r} + json += serializer.asString(key) + JSON_STR_COLONS + ${ll(e,d,"value")} + continue + } + `}let u=t.getPropertyLocation("additionalProperties").schema;if(u!==void 0)if(u===!0)i+=` + ${r} + json += serializer.asString(key) + JSON_STR_COLONS + JSON.stringify(value) + `;else{let l=t.getPropertyLocation("additionalProperties");i+=` + ${r} + json += serializer.asString(key) + JSON_STR_COLONS + ${ll(e,l,"value")} + `}return i+=` + } + `,i}function nAr(e,t){let r=t.schema,n=t.getPropertyLocation("properties"),s=r.required||[],i=Object.keys(r.properties||{}).sort((u,l)=>{let d=s.includes(u),f=s.includes(l);return d===f?0:d?-1:1}),a=s.includes(i[0]),o=`let value +`;for(let u of s)if(!i.includes(u)){let l=JSON.stringify(u);o+=`if (obj[${l}] === undefined) throw new Error('${l.replace(/'/g,"\\'")} is required!') +`}o+=`let json = JSON_STR_BEGIN_OBJECT +`;let c="";a||(o+=`let addComma = false +`,c="!addComma && (addComma = true) || (json += JSON_STR_COMMA)");for(let u of i){let l=n.getPropertyLocation(u);l.schema.$ref&&(l=RO(e,l));let d=JSON.stringify(u),f=l.schema.default,h=s.includes(u);o+=` + value = obj[${d}] + if (value !== undefined) { + ${c} + json += ${JSON.stringify(d+":")} + ${ll(e,l,"value")} + }`,f!==void 0?o+=` else { + ${c} + json += ${JSON.stringify(d+":"+JSON.stringify(f))} + } + `:h?o+=` else { + throw new Error('${d.replace(/'/g,"\\'")} is required!') + } + `:o+=` +`,a&&(c="json += ','")}return(r.patternProperties||r.additionalProperties)&&(o+=rAr(e,t,c)),o+=` + return json + JSON_STR_END_OBJECT + `,o}function r6(e,t,r){for(let a=0;a ${s.length}) { + throw new Error(\`Item at ${s.length} does not match schema definition.\`) + } + `),M9e==="json-stringify"&&(o+=`if (arrayLength >= ${e6}) return JSON.stringify(obj) +`),o+=` + const arrayEnd = arrayLength - 1 + let value + let json = '' + `,Array.isArray(s)){for(let u=0;uU9e(s,t)).join(" || ")})`)}return r}function F9e(e){return"anonymous"+e.functionsCounter++}function oAr(e,t,r){let s=t.schema.type.sort(o=>o==="null"?-1:1),i="";s.forEach((o,c)=>{t.schema={...t.schema,type:o};let u=$9e(e,t,r),l=c===0?"if":"else if";switch(o){case"null":i+=` + ${l} (${r} === null) + ${u} + `;break;case"string":{i+=` + ${l}( + typeof ${r} === "string" || + ${r} === null || + ${r} instanceof Date || + ${r} instanceof RegExp || + ( + typeof ${r} === "object" && + typeof ${r}.toString === "function" && + ${r}.toString !== Object.prototype.toString + ) + ) + ${u} + `;break}case"array":{i+=` + ${l}(Array.isArray(${r})) + ${u} + `;break}case"integer":{i+=` + ${l}(Number.isInteger(${r}) || ${r} === null) + ${u} + `;break}default:{i+=` + ${l}(typeof ${r} === "${o}" || ${r} === null) + ${u} + `;break}}});let a=t.getSchemaRef();return a.startsWith(e.rootSchemaId)&&(a=a.replace(e.rootSchemaId,"")),i+=` + else throw new TypeError(\`The value of '${a}' does not match schema definition.\`) + `,i}function $9e(e,t,r){let n=t.schema;switch(n.type){case"null":return"json += JSON_STR_NULL";case"string":return n.format==="date-time"?`json += serializer.asDateTime(${r})`:n.format==="date"?`json += serializer.asDate(${r})`:n.format==="time"?`json += serializer.asTime(${r})`:n.format==="unsafe"?`json += serializer.asUnsafeString(${r})`:` + if (typeof ${r} !== 'string') { + if (${r} === null) { + json += JSON_STR_EMPTY_STRING + } else if (${r} instanceof Date) { + json += JSON_STR_QUOTE + ${r}.toISOString() + JSON_STR_QUOTE + } else if (${r} instanceof RegExp) { + json += serializer.asString(${r}.source) + } else { + json += serializer.asString(${r}.toString()) + } + } else { + json += serializer.asString(${r}) + } + `;case"integer":return`json += serializer.asInteger(${r})`;case"number":return`json += serializer.asNumber(${r})`;case"boolean":return`json += serializer.asBoolean(${r})`;case"object":return`json += ${iAr(e,t)}(${r})`;case"array":return`json += ${aAr(e,t)}(${r})`;case void 0:return`json += JSON.stringify(${r})`;default:throw new Error(`${n.type} unsupported`)}}function cAr(e,t){let r=e.schema,n=r.type,s=Array.isArray(n)&&n.includes("null"),i="";return s&&(i+=` + if (${t} === null) { + json += JSON_STR_NULL + } else { + `),i+=`json += '${JSON.stringify(r.const).replace(z_r,"\\'")}'`,s&&(i+=` + } + `),i}function uAr(e,t,r){let n=t.schema,s=e.mergedSchemasIds.get(n);if(s){let l=t6(e,s);return ll(e,l,r)}s=`__fjs_merged_${IO++}`,e.mergedSchemasIds.set(n,s);let{allOf:i,...a}=t.schema,o=[new Qy(a,t.schemaId,t.jsonPointer)],c=t.getPropertyLocation("allOf");for(let l=0;l{"use strict";var fAr=Sre();function H9e(e={readMode:!0}){if(e.readMode===!0&&typeof e.restoreFunction!="function")throw new Error("You must provide a function for the restoreFunction-option when readMode ON");if(e.readMode!==!0&&typeof e.storeFunction!="function")throw new Error("You must provide a function for the storeFunction-option when readMode OFF");if(e.readMode===!0)return function(){return function(n){return e.restoreFunction(n)}};let t=fAr();return function(n,s={}){s.mode="standalone";let i=t(n,s);return function(a){let o=i(a);return e.storeFunction(a,o),new Function(o)}}}vre.exports=H9e;vre.exports.default=H9e});var Sre=S((u8n,CO)=>{"use strict";var hAr=q9e();function Tre(){return function(t,r){let n=Object.assign({},r,{schema:t});return pAr.bind(null,n)}}function pAr(e,{schema:t}){return e.schema&&t.$id&&e.schema[t.$id]&&(e.schema={...e.schema},delete e.schema[t.$id]),hAr(t,e)}CO.exports=Tre;CO.exports.default=Tre;CO.exports.SerializerSelector=Tre;CO.exports.StandaloneSerializer=V9e()});var I1=S(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.regexpCode=Tn.getEsmExportName=Tn.getProperty=Tn.safeStringify=Tn.stringify=Tn.strConcat=Tn.addCodeArg=Tn.str=Tn._=Tn.nil=Tn._Code=Tn.Name=Tn.IDENTIFIER=Tn._CodeOrName=void 0;var xO=class{};Tn._CodeOrName=xO;Tn.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var zy=class extends xO{constructor(t){if(super(),!Tn.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Tn.Name=zy;var od=class extends xO{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let t=this._items[0];return t===""||t==='""'}get str(){var t;return(t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof zy&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Tn._Code=od;Tn.nil=new od("");function j9e(e,...t){let r=[e[0]],n=0;for(;n{"use strict";Object.defineProperty(gu,"__esModule",{value:!0});gu.ValueScope=gu.ValueScopeName=gu.Scope=gu.varKinds=gu.UsedValueState=void 0;var mu=I1(),Rre=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},n6;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(n6||(gu.UsedValueState=n6={}));gu.varKinds={const:new mu.Name("const"),let:new mu.Name("let"),var:new mu.Name("var")};var s6=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof mu.Name?t:this.name(t)}name(t){return new mu.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return`${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};gu.Scope=s6;var i6=class extends mu.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,mu._)`.${new mu.Name(r)}[${n}]`}};gu.ValueScopeName=i6;var TAr=(0,mu._)`\n`,Cre=class extends s6{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?TAr:mu.nil}}get(){return this._scope}name(t){return new i6(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(t),{prefix:i}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,o=this._values[i];if(o){let l=o.get(a);if(l)return l}else o=this._values[i]=new Map;o.set(a,s);let c=this._scope[i]||(this._scope[i]=[]),u=c.length;return c[u]=r.ref,s.setValue(r,{property:i,itemIndex:u}),s}getValue(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,mu._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(t,r,n={},s){let i=mu.nil;for(let a in t){let o=t[a];if(!o)continue;let c=n[a]=n[a]||new Map;o.forEach(u=>{if(c.has(u))return;c.set(u,n6.Started);let l=r(u);if(l){let d=this.opts.es5?gu.varKinds.var:gu.varKinds.const;i=(0,mu._)`${i}${d} ${u} = ${l};${this.opts._n}`}else if(l=s?.(u))i=(0,mu._)`${i}${l}${this.opts._n}`;else throw new Rre(u);c.set(u,n6.Completed)})}return i}};gu.ValueScope=Cre});var qt=S(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.or=Rr.and=Rr.not=Rr.CodeGen=Rr.operators=Rr.varKinds=Rr.ValueScopeName=Rr.ValueScope=Rr.Scope=Rr.Name=Rr.regexpCode=Rr.stringify=Rr.getProperty=Rr.nil=Rr.strConcat=Rr.str=Rr._=void 0;var en=I1(),yf=a6(),U_=I1();Object.defineProperty(Rr,"_",{enumerable:!0,get:function(){return U_._}});Object.defineProperty(Rr,"str",{enumerable:!0,get:function(){return U_.str}});Object.defineProperty(Rr,"strConcat",{enumerable:!0,get:function(){return U_.strConcat}});Object.defineProperty(Rr,"nil",{enumerable:!0,get:function(){return U_.nil}});Object.defineProperty(Rr,"getProperty",{enumerable:!0,get:function(){return U_.getProperty}});Object.defineProperty(Rr,"stringify",{enumerable:!0,get:function(){return U_.stringify}});Object.defineProperty(Rr,"regexpCode",{enumerable:!0,get:function(){return U_.regexpCode}});Object.defineProperty(Rr,"Name",{enumerable:!0,get:function(){return U_.Name}});var l6=a6();Object.defineProperty(Rr,"Scope",{enumerable:!0,get:function(){return l6.Scope}});Object.defineProperty(Rr,"ValueScope",{enumerable:!0,get:function(){return l6.ValueScope}});Object.defineProperty(Rr,"ValueScopeName",{enumerable:!0,get:function(){return l6.ValueScopeName}});Object.defineProperty(Rr,"varKinds",{enumerable:!0,get:function(){return l6.varKinds}});Rr.operators={GT:new en._Code(">"),GTE:new en._Code(">="),LT:new en._Code("<"),LTE:new en._Code("<="),EQ:new en._Code("==="),NEQ:new en._Code("!=="),NOT:new en._Code("!"),OR:new en._Code("||"),AND:new en._Code("&&"),ADD:new en._Code("+")};var Gp=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},xre=class extends Gp{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n}render({es5:t,_n:r}){let n=t?yf.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${s};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=C1(this.rhs,t,r)),this}get names(){return this.rhs instanceof en._CodeOrName?this.rhs.names:{}}},o6=class extends Gp{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof en.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=C1(this.rhs,t,r),this}get names(){let t=this.lhs instanceof en.Name?{}:{...this.lhs.names};return u6(t,this.rhs)}},wre=class extends o6{constructor(t,r,n,s){super(t,n,s),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},Nre=class extends Gp{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},Ore=class extends Gp{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},Dre=class extends Gp{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},Pre=class extends Gp{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,r){return this.code=C1(this.code,t,r),this}get names(){return this.code instanceof en._CodeOrName?this.code.names:{}}},NO=class extends Gp{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1)}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,s=n.length;for(;s--;){let i=n[s];i.optimizeNames(t,r)||(bAr(t,i.names),n.splice(s,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>Jy(t,r.names),{})}},Yp=class extends NO{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},Lre=class extends NO{},R1=class extends Yp{};R1.kind="else";var Wy=class e extends Yp{constructor(t,r){super(r),this.condition=t}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new R1(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(G9e(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=C1(this.condition,t,r),this}get names(){let t=super.names;return u6(t,this.condition),this.else&&Jy(t,this.else.names),t}};Wy.kind="if";var Xy=class extends Yp{};Xy.kind="for";var Mre=class extends Xy{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=C1(this.iteration,t,r),this}get names(){return Jy(super.names,this.iteration.names)}},kre=class extends Xy{constructor(t,r,n,s){super(),this.varKind=t,this.name=r,this.from=n,this.to=s}render(t){let r=t.es5?yf.varKinds.var:this.varKind,{name:n,from:s,to:i}=this;return`for(${r} ${n}=${s}; ${n}<${i}; ${n}++)`+super.render(t)}get names(){let t=u6(super.names,this.from);return u6(t,this.to)}},c6=class extends Xy{constructor(t,r,n,s){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=s}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=C1(this.iterable,t,r),this}get names(){return Jy(super.names,this.iterable.names)}},OO=class extends Yp{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};OO.kind="func";var DO=class extends NO{render(t){return"return "+super.render(t)}};DO.kind="return";var Bre=class extends Yp{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,s;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(s=this.finally)===null||s===void 0||s.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&Jy(t,this.catch.names),this.finally&&Jy(t,this.finally.names),t}},PO=class extends Yp{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};PO.kind="catch";var LO=class extends Yp{render(t){return"finally"+super.render(t)}};LO.kind="finally";var Ure=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?` +`:""},this._extScope=t,this._scope=new yf.Scope({parent:t}),this._nodes=[new Lre]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let n=this._extScope.value(t,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,n,s){let i=this._scope.toName(r);return n!==void 0&&s&&(this._constants[i.str]=n),this._leafNode(new xre(t,i,n)),i}const(t,r,n){return this._def(yf.varKinds.const,t,r,n)}let(t,r,n){return this._def(yf.varKinds.let,t,r,n)}var(t,r,n){return this._def(yf.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new o6(t,r,n))}add(t,r){return this._leafNode(new wre(t,Rr.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==en.nil&&this._leafNode(new Pre(t)),this}object(...t){let r=["{"];for(let[n,s]of t)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0,en.addCodeArg)(r,s));return r.push("}"),new en._Code(r)}if(t,r,n){if(this._blockNode(new Wy(t)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new Wy(t))}else(){return this._elseNode(new R1)}endIf(){return this._endBlockNode(Wy,R1)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new Mre(t),r)}forRange(t,r,n,s,i=this.opts.es5?yf.varKinds.var:yf.varKinds.let){let a=this._scope.toName(t);return this._for(new kre(i,a,r,n),()=>s(a))}forOf(t,r,n,s=yf.varKinds.const){let i=this._scope.toName(t);if(this.opts.es5){let a=r instanceof en.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,en._)`${a}.length`,o=>{this.var(i,(0,en._)`${a}[${o}]`),n(i)})}return this._for(new c6("of",s,i,r),()=>n(i))}forIn(t,r,n,s=this.opts.es5?yf.varKinds.var:yf.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,en._)`Object.keys(${r})`,n);let i=this._scope.toName(t);return this._for(new c6("in",s,i,r),()=>n(i))}endFor(){return this._endBlockNode(Xy)}label(t){return this._leafNode(new Nre(t))}break(t){return this._leafNode(new Ore(t))}return(t){let r=new DO;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(DO)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new Bre;if(this._blockNode(s),this.code(t),r){let i=this.name("e");this._currNode=s.catch=new PO(i),r(i)}return n&&(this._currNode=s.finally=new LO,this.code(n)),this._endBlockNode(PO,LO)}throw(t){return this._leafNode(new Dre(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=en.nil,n,s){return this._blockNode(new OO(t,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(OO)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t)}_endBlockNode(t,r){let n=this._currNode;if(n instanceof t||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof Wy))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t}};Rr.CodeGen=Ure;function Jy(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function u6(e,t){return t instanceof en._CodeOrName?Jy(e,t.names):e}function C1(e,t,r){if(e instanceof en.Name)return n(e);if(!s(e))return e;return new en._Code(e._items.reduce((i,a)=>(a instanceof en.Name&&(a=n(a)),a instanceof en._Code?i.push(...a._items):i.push(a),i),[]));function n(i){let a=r[i.str];return a===void 0||t[i.str]!==1?i:(delete t[i.str],a)}function s(i){return i instanceof en._Code&&i._items.some(a=>a instanceof en.Name&&t[a.str]===1&&r[a.str]!==void 0)}}function bAr(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function G9e(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,en._)`!${Fre(e)}`}Rr.not=G9e;var IAr=Y9e(Rr.operators.AND);function RAr(...e){return e.reduce(IAr)}Rr.and=RAr;var CAr=Y9e(Rr.operators.OR);function xAr(...e){return e.reduce(CAr)}Rr.or=xAr;function Y9e(e){return(t,r)=>t===en.nil?r:r===en.nil?t:(0,en._)`${Fre(t)} ${e} ${Fre(r)}`}function Fre(e){return e instanceof en.Name?e:(0,en._)`(${e})`}});var fr=S(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.checkStrictMode=Or.getErrorPath=Or.Type=Or.useFunc=Or.setEvaluated=Or.evaluatedPropsToName=Or.mergeEvaluated=Or.eachItem=Or.unescapeJsonPointer=Or.escapeJsonPointer=Or.escapeFragment=Or.unescapeFragment=Or.schemaRefOrVal=Or.schemaHasRulesButRef=Or.schemaHasRules=Or.checkUnknownRules=Or.alwaysValidSchema=Or.toHash=void 0;var _s=qt(),wAr=I1();function NAr(e){let t={};for(let r of e)t[r]=!0;return t}Or.toHash=NAr;function OAr(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(W9e(e,t),!X9e(t,e.self.RULES.all))}Or.alwaysValidSchema=OAr;function W9e(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let s=n.RULES.keywords;for(let i in t)s[i]||eqe(e,`unknown keyword: "${i}"`)}Or.checkUnknownRules=W9e;function X9e(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}Or.schemaHasRules=X9e;function DAr(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}Or.schemaHasRulesButRef=DAr;function PAr({topSchemaRef:e,schemaPath:t},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,_s._)`${r}`}return(0,_s._)`${e}${t}${(0,_s.getProperty)(n)}`}Or.schemaRefOrVal=PAr;function LAr(e){return J9e(decodeURIComponent(e))}Or.unescapeFragment=LAr;function MAr(e){return encodeURIComponent(qre(e))}Or.escapeFragment=MAr;function qre(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}Or.escapeJsonPointer=qre;function J9e(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}Or.unescapeJsonPointer=J9e;function kAr(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}Or.eachItem=kAr;function Q9e({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(s,i,a,o)=>{let c=a===void 0?i:a instanceof _s.Name?(i instanceof _s.Name?e(s,i,a):t(s,i,a),a):i instanceof _s.Name?(t(s,a,i),i):r(i,a);return o===_s.Name&&!(c instanceof _s.Name)?n(s,c):c}}Or.mergeEvaluated={props:Q9e({mergeNames:(e,t,r)=>e.if((0,_s._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,_s._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,_s._)`${r} || {}`).code((0,_s._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,_s._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,_s._)`${r} || {}`),Hre(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:Z9e}),items:Q9e({mergeNames:(e,t,r)=>e.if((0,_s._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,_s._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,_s._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,_s._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function Z9e(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,_s._)`{}`);return t!==void 0&&Hre(e,r,t),r}Or.evaluatedPropsToName=Z9e;function Hre(e,t,r){Object.keys(r).forEach(n=>e.assign((0,_s._)`${t}${(0,_s.getProperty)(n)}`,!0))}Or.setEvaluated=Hre;var z9e={};function BAr(e,t){return e.scopeValue("func",{ref:t,code:z9e[t.code]||(z9e[t.code]=new wAr._Code(t.code))})}Or.useFunc=BAr;var $re;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})($re||(Or.Type=$re={}));function UAr(e,t,r){if(e instanceof _s.Name){let n=t===$re.Num;return r?n?(0,_s._)`"[" + ${e} + "]"`:(0,_s._)`"['" + ${e} + "']"`:n?(0,_s._)`"/" + ${e}`:(0,_s._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,_s.getProperty)(e).toString():"/"+qre(e)}Or.getErrorPath=UAr;function eqe(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}Or.checkStrictMode=eqe});var cd=S(Vre=>{"use strict";Object.defineProperty(Vre,"__esModule",{value:!0});var Uo=qt(),FAr={data:new Uo.Name("data"),valCxt:new Uo.Name("valCxt"),instancePath:new Uo.Name("instancePath"),parentData:new Uo.Name("parentData"),parentDataProperty:new Uo.Name("parentDataProperty"),rootData:new Uo.Name("rootData"),dynamicAnchors:new Uo.Name("dynamicAnchors"),vErrors:new Uo.Name("vErrors"),errors:new Uo.Name("errors"),this:new Uo.Name("this"),self:new Uo.Name("self"),scope:new Uo.Name("scope"),json:new Uo.Name("json"),jsonPos:new Uo.Name("jsonPos"),jsonLen:new Uo.Name("jsonLen"),jsonPart:new Uo.Name("jsonPart")};Vre.default=FAr});var MO=S(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.extendErrors=Fo.resetErrorsCount=Fo.reportExtraError=Fo.reportError=Fo.keyword$DataError=Fo.keywordError=void 0;var hn=qt(),d6=fr(),Dc=cd();Fo.keywordError={message:({keyword:e})=>(0,hn.str)`must pass "${e}" keyword validation`};Fo.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,hn.str)`"${e}" keyword must be ${t} ($data)`:(0,hn.str)`"${e}" keyword is invalid ($data)`};function $Ar(e,t=Fo.keywordError,r,n){let{it:s}=e,{gen:i,compositeRule:a,allErrors:o}=s,c=nqe(e,t,r);n??(a||o)?tqe(i,c):rqe(s,(0,hn._)`[${c}]`)}Fo.reportError=$Ar;function qAr(e,t=Fo.keywordError,r){let{it:n}=e,{gen:s,compositeRule:i,allErrors:a}=n,o=nqe(e,t,r);tqe(s,o),i||a||rqe(n,Dc.default.vErrors)}Fo.reportExtraError=qAr;function HAr(e,t){e.assign(Dc.default.errors,t),e.if((0,hn._)`${Dc.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,hn._)`${Dc.default.vErrors}.length`,t),()=>e.assign(Dc.default.vErrors,null)))}Fo.resetErrorsCount=HAr;function VAr({gen:e,keyword:t,schemaValue:r,data:n,errsCount:s,it:i}){if(s===void 0)throw new Error("ajv implementation error");let a=e.name("err");e.forRange("i",s,Dc.default.errors,o=>{e.const(a,(0,hn._)`${Dc.default.vErrors}[${o}]`),e.if((0,hn._)`${a}.instancePath === undefined`,()=>e.assign((0,hn._)`${a}.instancePath`,(0,hn.strConcat)(Dc.default.instancePath,i.errorPath))),e.assign((0,hn._)`${a}.schemaPath`,(0,hn.str)`${i.errSchemaPath}/${t}`),i.opts.verbose&&(e.assign((0,hn._)`${a}.schema`,r),e.assign((0,hn._)`${a}.data`,n))})}Fo.extendErrors=VAr;function tqe(e,t){let r=e.const("err",t);e.if((0,hn._)`${Dc.default.vErrors} === null`,()=>e.assign(Dc.default.vErrors,(0,hn._)`[${r}]`),(0,hn._)`${Dc.default.vErrors}.push(${r})`),e.code((0,hn._)`${Dc.default.errors}++`)}function rqe(e,t){let{gen:r,validateName:n,schemaEnv:s}=e;s.$async?r.throw((0,hn._)`new ${e.ValidationError}(${t})`):(r.assign((0,hn._)`${n}.errors`,t),r.return(!1))}var Zy={keyword:new hn.Name("keyword"),schemaPath:new hn.Name("schemaPath"),params:new hn.Name("params"),propertyName:new hn.Name("propertyName"),message:new hn.Name("message"),schema:new hn.Name("schema"),parentSchema:new hn.Name("parentSchema")};function nqe(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,hn._)`{}`:jAr(e,t,r)}function jAr(e,t,r={}){let{gen:n,it:s}=e,i=[KAr(s,r),GAr(e,r)];return YAr(e,t,i),n.object(...i)}function KAr({errorPath:e},{instancePath:t}){let r=t?(0,hn.str)`${e}${(0,d6.getErrorPath)(t,d6.Type.Str)}`:e;return[Dc.default.instancePath,(0,hn.strConcat)(Dc.default.instancePath,r)]}function GAr({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let s=n?t:(0,hn.str)`${t}/${e}`;return r&&(s=(0,hn.str)`${s}${(0,d6.getErrorPath)(r,d6.Type.Str)}`),[Zy.schemaPath,s]}function YAr(e,{params:t,message:r},n){let{keyword:s,data:i,schemaValue:a,it:o}=e,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=o;n.push([Zy.keyword,s],[Zy.params,typeof t=="function"?t(e):t||(0,hn._)`{}`]),c.messages&&n.push([Zy.message,typeof r=="function"?r(e):r]),c.verbose&&n.push([Zy.schema,a],[Zy.parentSchema,(0,hn._)`${l}${d}`],[Dc.default.data,i]),u&&n.push([Zy.propertyName,u])}});var iqe=S(x1=>{"use strict";Object.defineProperty(x1,"__esModule",{value:!0});x1.boolOrEmptySchema=x1.topBoolOrEmptySchema=void 0;var QAr=MO(),zAr=qt(),WAr=cd(),XAr={message:"boolean schema is false"};function JAr(e){let{gen:t,schema:r,validateName:n}=e;r===!1?sqe(e,!1):typeof r=="object"&&r.$async===!0?t.return(WAr.default.data):(t.assign((0,zAr._)`${n}.errors`,null),t.return(!0))}x1.topBoolOrEmptySchema=JAr;function ZAr(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),sqe(e)):r.var(t,!0)}x1.boolOrEmptySchema=ZAr;function sqe(e,t){let{gen:r,data:n}=e,s={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,QAr.reportError)(s,XAr,void 0,t)}});var jre=S(w1=>{"use strict";Object.defineProperty(w1,"__esModule",{value:!0});w1.getRules=w1.isJSONType=void 0;var eEr=["string","number","integer","boolean","null","object","array"],tEr=new Set(eEr);function rEr(e){return typeof e=="string"&&tEr.has(e)}w1.isJSONType=rEr;function nEr(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}w1.getRules=nEr});var Kre=S(F_=>{"use strict";Object.defineProperty(F_,"__esModule",{value:!0});F_.shouldUseRule=F_.shouldUseGroup=F_.schemaHasRulesForType=void 0;function sEr({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&aqe(e,n)}F_.schemaHasRulesForType=sEr;function aqe(e,t){return t.rules.some(r=>oqe(e,r))}F_.shouldUseGroup=aqe;function oqe(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}F_.shouldUseRule=oqe});var kO=S($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.reportTypeError=$o.checkDataTypes=$o.checkDataType=$o.coerceAndCheckDataType=$o.getJSONTypes=$o.getSchemaTypes=$o.DataType=void 0;var iEr=jre(),aEr=Kre(),oEr=MO(),hr=qt(),cqe=fr(),N1;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(N1||($o.DataType=N1={}));function cEr(e){let t=uqe(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}$o.getSchemaTypes=cEr;function uqe(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(iEr.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}$o.getJSONTypes=uqe;function uEr(e,t){let{gen:r,data:n,opts:s}=e,i=lEr(t,s.coerceTypes),a=t.length>0&&!(i.length===0&&t.length===1&&(0,aEr.schemaHasRulesForType)(e,t[0]));if(a){let o=Yre(t,n,s.strictNumbers,N1.Wrong);r.if(o,()=>{i.length?dEr(e,t,i):Qre(e)})}return a}$o.coerceAndCheckDataType=uEr;var lqe=new Set(["string","number","integer","boolean","null"]);function lEr(e,t){return t?e.filter(r=>lqe.has(r)||t==="array"&&r==="array"):[]}function dEr(e,t,r){let{gen:n,data:s,opts:i}=e,a=n.let("dataType",(0,hr._)`typeof ${s}`),o=n.let("coerced",(0,hr._)`undefined`);i.coerceTypes==="array"&&n.if((0,hr._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0,hr._)`${s}[0]`).assign(a,(0,hr._)`typeof ${s}`).if(Yre(t,s,i.strictNumbers),()=>n.assign(o,s))),n.if((0,hr._)`${o} !== undefined`);for(let u of r)(lqe.has(u)||u==="array"&&i.coerceTypes==="array")&&c(u);n.else(),Qre(e),n.endIf(),n.if((0,hr._)`${o} !== undefined`,()=>{n.assign(s,o),fEr(e,o)});function c(u){switch(u){case"string":n.elseIf((0,hr._)`${a} == "number" || ${a} == "boolean"`).assign(o,(0,hr._)`"" + ${s}`).elseIf((0,hr._)`${s} === null`).assign(o,(0,hr._)`""`);return;case"number":n.elseIf((0,hr._)`${a} == "boolean" || ${s} === null + || (${a} == "string" && ${s} && ${s} == +${s})`).assign(o,(0,hr._)`+${s}`);return;case"integer":n.elseIf((0,hr._)`${a} === "boolean" || ${s} === null + || (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(o,(0,hr._)`+${s}`);return;case"boolean":n.elseIf((0,hr._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(o,!1).elseIf((0,hr._)`${s} === "true" || ${s} === 1`).assign(o,!0);return;case"null":n.elseIf((0,hr._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(o,null);return;case"array":n.elseIf((0,hr._)`${a} === "string" || ${a} === "number" + || ${a} === "boolean" || ${s} === null`).assign(o,(0,hr._)`[${s}]`)}}}function fEr({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,hr._)`${t} !== undefined`,()=>e.assign((0,hr._)`${t}[${r}]`,n))}function Gre(e,t,r,n=N1.Correct){let s=n===N1.Correct?hr.operators.EQ:hr.operators.NEQ,i;switch(e){case"null":return(0,hr._)`${t} ${s} null`;case"array":i=(0,hr._)`Array.isArray(${t})`;break;case"object":i=(0,hr._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":i=a((0,hr._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":i=a();break;default:return(0,hr._)`typeof ${t} ${s} ${e}`}return n===N1.Correct?i:(0,hr.not)(i);function a(o=hr.nil){return(0,hr.and)((0,hr._)`typeof ${t} == "number"`,o,r?(0,hr._)`isFinite(${t})`:hr.nil)}}$o.checkDataType=Gre;function Yre(e,t,r,n){if(e.length===1)return Gre(e[0],t,r,n);let s,i=(0,cqe.toHash)(e);if(i.array&&i.object){let a=(0,hr._)`typeof ${t} != "object"`;s=i.null?a:(0,hr._)`!${t} || ${a}`,delete i.null,delete i.array,delete i.object}else s=hr.nil;i.number&&delete i.integer;for(let a in i)s=(0,hr.and)(s,Gre(a,t,r,n));return s}$o.checkDataTypes=Yre;var hEr={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,hr._)`{type: ${e}}`:(0,hr._)`{type: ${t}}`};function Qre(e){let t=pEr(e);(0,oEr.reportError)(t,hEr)}$o.reportTypeError=Qre;function pEr(e){let{gen:t,data:r,schema:n}=e,s=(0,cqe.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:e}}});var fqe=S(f6=>{"use strict";Object.defineProperty(f6,"__esModule",{value:!0});f6.assignDefaults=void 0;var O1=qt(),mEr=fr();function gEr(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let s in r)dqe(e,s,r[s].default);else t==="array"&&Array.isArray(n)&&n.forEach((s,i)=>dqe(e,i,s.default))}f6.assignDefaults=gEr;function dqe(e,t,r){let{gen:n,compositeRule:s,data:i,opts:a}=e;if(r===void 0)return;let o=(0,O1._)`${i}${(0,O1.getProperty)(t)}`;if(s){(0,mEr.checkStrictMode)(e,`default is ignored for: ${o}`);return}let c=(0,O1._)`${o} === undefined`;a.useDefaults==="empty"&&(c=(0,O1._)`${c} || ${o} === null || ${o} === ""`),n.if(c,(0,O1._)`${o} = ${(0,O1.stringify)(r)}`)}});var no=S(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.validateUnion=ns.validateArray=ns.usePattern=ns.callValidateCode=ns.schemaProperties=ns.allSchemaProperties=ns.noPropertyInData=ns.propertyInData=ns.isOwnProperty=ns.hasPropFunc=ns.reportMissingProp=ns.checkMissingProp=ns.checkReportMissingProp=void 0;var ks=qt(),zre=fr(),$_=cd(),_Er=fr();function AEr(e,t){let{gen:r,data:n,it:s}=e;r.if(Xre(r,n,t,s.opts.ownProperties),()=>{e.setParams({missingProperty:(0,ks._)`${t}`},!0),e.error()})}ns.checkReportMissingProp=AEr;function EEr({gen:e,data:t,it:{opts:r}},n,s){return(0,ks.or)(...n.map(i=>(0,ks.and)(Xre(e,t,i,r.ownProperties),(0,ks._)`${s} = ${i}`)))}ns.checkMissingProp=EEr;function yEr(e,t){e.setParams({missingProperty:t},!0),e.error()}ns.reportMissingProp=yEr;function hqe(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,ks._)`Object.prototype.hasOwnProperty`})}ns.hasPropFunc=hqe;function Wre(e,t,r){return(0,ks._)`${hqe(e)}.call(${t}, ${r})`}ns.isOwnProperty=Wre;function vEr(e,t,r,n){let s=(0,ks._)`${t}${(0,ks.getProperty)(r)} !== undefined`;return n?(0,ks._)`${s} && ${Wre(e,t,r)}`:s}ns.propertyInData=vEr;function Xre(e,t,r,n){let s=(0,ks._)`${t}${(0,ks.getProperty)(r)} === undefined`;return n?(0,ks.or)(s,(0,ks.not)(Wre(e,t,r))):s}ns.noPropertyInData=Xre;function pqe(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}ns.allSchemaProperties=pqe;function SEr(e,t){return pqe(t).filter(r=>!(0,zre.alwaysValidSchema)(e,t[r]))}ns.schemaProperties=SEr;function TEr({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:i},it:a},o,c,u){let l=u?(0,ks._)`${e}, ${t}, ${n}${s}`:t,d=[[$_.default.instancePath,(0,ks.strConcat)($_.default.instancePath,i)],[$_.default.parentData,a.parentData],[$_.default.parentDataProperty,a.parentDataProperty],[$_.default.rootData,$_.default.rootData]];a.opts.dynamicRef&&d.push([$_.default.dynamicAnchors,$_.default.dynamicAnchors]);let f=(0,ks._)`${l}, ${r.object(...d)}`;return c!==ks.nil?(0,ks._)`${o}.call(${c}, ${f})`:(0,ks._)`${o}(${f})`}ns.callValidateCode=TEr;var bEr=(0,ks._)`new RegExp`;function IEr({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:s}=t.code,i=s(r,n);return e.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,ks._)`${s.code==="new RegExp"?bEr:(0,_Er.useFunc)(e,s)}(${r}, ${n})`})}ns.usePattern=IEr;function REr(e){let{gen:t,data:r,keyword:n,it:s}=e,i=t.name("valid");if(s.allErrors){let o=t.let("valid",!0);return a(()=>t.assign(o,!1)),o}return t.var(i,!0),a(()=>t.break()),i;function a(o){let c=t.const("len",(0,ks._)`${r}.length`);t.forRange("i",0,c,u=>{e.subschema({keyword:n,dataProp:u,dataPropType:zre.Type.Num},i),t.if((0,ks.not)(i),o)})}}ns.validateArray=REr;function CEr(e){let{gen:t,schema:r,keyword:n,it:s}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,zre.alwaysValidSchema)(s,c))&&!s.opts.unevaluated)return;let a=t.let("valid",!1),o=t.name("_valid");t.block(()=>r.forEach((c,u)=>{let l=e.subschema({keyword:n,schemaProp:u,compositeRule:!0},o);t.assign(a,(0,ks._)`${a} || ${o}`),e.mergeValidEvaluated(l,o)||t.if((0,ks.not)(a))})),e.result(a,()=>e.reset(),()=>e.error(!0))}ns.validateUnion=CEr});var _qe=S(z0=>{"use strict";Object.defineProperty(z0,"__esModule",{value:!0});z0.validateKeywordUsage=z0.validSchemaType=z0.funcKeywordCode=z0.macroKeywordCode=void 0;var Pc=qt(),ev=cd(),xEr=no(),wEr=MO();function NEr(e,t){let{gen:r,keyword:n,schema:s,parentSchema:i,it:a}=e,o=t.macro.call(a.self,s,i,a),c=gqe(r,n,o);a.opts.validateSchema!==!1&&a.self.validateSchema(o,!0);let u=r.name("valid");e.subschema({schema:o,schemaPath:Pc.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),e.pass(u,()=>e.error(!0))}z0.macroKeywordCode=NEr;function OEr(e,t){var r;let{gen:n,keyword:s,schema:i,parentSchema:a,$data:o,it:c}=e;PEr(c,t);let u=!o&&t.compile?t.compile.call(c.self,i,a,c):t.validate,l=gqe(n,s,u),d=n.let("valid");e.block$data(d,f),e.ok((r=t.valid)!==null&&r!==void 0?r:d);function f(){if(t.errors===!1)m(),t.modifying&&mqe(e),g(()=>e.error());else{let _=t.async?h():p();t.modifying&&mqe(e),g(()=>DEr(e,_))}}function h(){let _=n.let("ruleErrs",null);return n.try(()=>m((0,Pc._)`await `),y=>n.assign(d,!1).if((0,Pc._)`${y} instanceof ${c.ValidationError}`,()=>n.assign(_,(0,Pc._)`${y}.errors`),()=>n.throw(y))),_}function p(){let _=(0,Pc._)`${l}.errors`;return n.assign(_,null),m(Pc.nil),_}function m(_=t.async?(0,Pc._)`await `:Pc.nil){let y=c.opts.passContext?ev.default.this:ev.default.self,E=!("compile"in t&&!o||t.schema===!1);n.assign(d,(0,Pc._)`${_}${(0,xEr.callValidateCode)(e,l,y,E)}`,t.modifying)}function g(_){var y;n.if((0,Pc.not)((y=t.valid)!==null&&y!==void 0?y:d),_)}}z0.funcKeywordCode=OEr;function mqe(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,Pc._)`${n.parentData}[${n.parentDataProperty}]`))}function DEr(e,t){let{gen:r}=e;r.if((0,Pc._)`Array.isArray(${t})`,()=>{r.assign(ev.default.vErrors,(0,Pc._)`${ev.default.vErrors} === null ? ${t} : ${ev.default.vErrors}.concat(${t})`).assign(ev.default.errors,(0,Pc._)`${ev.default.vErrors}.length`),(0,wEr.extendErrors)(e)},()=>e.error())}function PEr({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function gqe(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Pc.stringify)(r)})}function LEr(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}z0.validSchemaType=LEr;function MEr({schema:e,opts:t,self:r,errSchemaPath:n},s,i){if(Array.isArray(s.keyword)?!s.keyword.includes(i):s.keyword!==i)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(o=>!Object.prototype.hasOwnProperty.call(e,o)))throw new Error(`parent schema must have dependencies of ${i}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(e[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}z0.validateKeywordUsage=MEr});var Eqe=S(q_=>{"use strict";Object.defineProperty(q_,"__esModule",{value:!0});q_.extendSubschemaMode=q_.extendSubschemaData=q_.getSubschema=void 0;var W0=qt(),Aqe=fr();function kEr(e,{keyword:t,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:i,topSchemaRef:a}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let o=e.schema[t];return r===void 0?{schema:o,schemaPath:(0,W0._)`${e.schemaPath}${(0,W0.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:o[r],schemaPath:(0,W0._)`${e.schemaPath}${(0,W0.getProperty)(t)}${(0,W0.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,Aqe.escapeFragment)(r)}`}}if(n!==void 0){if(s===void 0||i===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:s,topSchemaRef:a,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}q_.getSubschema=kEr;function BEr(e,t,{dataProp:r,dataPropType:n,data:s,dataTypes:i,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:o}=t;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=t,f=o.let("data",(0,W0._)`${t.data}${(0,W0.getProperty)(r)}`,!0);c(f),e.errorPath=(0,W0.str)`${u}${(0,Aqe.getErrorPath)(r,n,d.jsPropertySyntax)}`,e.parentDataProperty=(0,W0._)`${r}`,e.dataPathArr=[...l,e.parentDataProperty]}if(s!==void 0){let u=s instanceof W0.Name?s:o.let("data",s,!0);c(u),a!==void 0&&(e.propertyName=a)}i&&(e.dataTypes=i);function c(u){e.data=u,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,u]}}q_.extendSubschemaData=BEr;function UEr(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:i}){n!==void 0&&(e.compositeRule=n),s!==void 0&&(e.createErrors=s),i!==void 0&&(e.allErrors=i),e.jtdDiscriminator=t,e.jtdMetadata=r}q_.extendSubschemaMode=UEr});var vqe=S((b8n,yqe)=>{"use strict";var H_=yqe.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};h6(t,n,s,e,"",e)};H_.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};H_.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};H_.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};H_.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function h6(e,t,r,n,s,i,a,o,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,s,i,a,o,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in H_.arrayKeywords)for(var f=0;f{"use strict";Object.defineProperty(_u,"__esModule",{value:!0});_u.getSchemaRefs=_u.resolveUrl=_u.normalizeId=_u._getFullPath=_u.getFullPath=_u.inlineRef=void 0;var $Er=fr(),qEr=td(),HEr=vqe(),VEr=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function jEr(e,t=!0){return typeof e=="boolean"?!0:t===!0?!Jre(e):t?Sqe(e)<=t:!1}_u.inlineRef=jEr;var KEr=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Jre(e){for(let t in e){if(KEr.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(Jre)||typeof r=="object"&&Jre(r))return!0}return!1}function Sqe(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!VEr.has(r)&&(typeof e[r]=="object"&&(0,$Er.eachItem)(e[r],n=>t+=Sqe(n)),t===1/0))return 1/0}return t}function Tqe(e,t="",r){r!==!1&&(t=D1(t));let n=e.parse(t);return bqe(e,n)}_u.getFullPath=Tqe;function bqe(e,t){return e.serialize(t).split("#")[0]+"#"}_u._getFullPath=bqe;var GEr=/#\/?$/;function D1(e){return e?e.replace(GEr,""):""}_u.normalizeId=D1;function YEr(e,t,r){return r=D1(r),e.resolve(t,r)}_u.resolveUrl=YEr;var QEr=/^[a-z_][-a-z0-9._]*$/i;function zEr(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,s=D1(e[r]||t),i={"":s},a=Tqe(n,s,!1),o={},c=new Set;return HEr(e,{allKeys:!0},(d,f,h,p)=>{if(p===void 0)return;let m=a+f,g=i[p];typeof d[r]=="string"&&(g=_.call(this,d[r])),y.call(this,d.$anchor),y.call(this,d.$dynamicAnchor),i[f]=g;function _(E){let A=this.opts.uriResolver.resolve;if(E=D1(g?A(g,E):E),c.has(E))throw l(E);c.add(E);let v=this.refs[E];return typeof v=="string"&&(v=this.refs[v]),typeof v=="object"?u(d,v.schema,E):E!==D1(m)&&(E[0]==="#"?(u(d,o[E],E),o[E]=d):this.refs[E]=m),E}function y(E){if(typeof E=="string"){if(!QEr.test(E))throw new Error(`invalid anchor "${E}"`);_.call(this,`#${E}`)}}}),o;function u(d,f,h){if(f!==void 0&&!qEr(d,f))throw l(h)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}_u.getSchemaRefs=zEr});var P1=S(V_=>{"use strict";Object.defineProperty(V_,"__esModule",{value:!0});V_.getData=V_.KeywordCxt=V_.validateFunctionCode=void 0;var wqe=iqe(),Iqe=kO(),ene=Kre(),p6=kO(),WEr=fqe(),FO=_qe(),Zre=Eqe(),St=qt(),Xt=cd(),XEr=BO(),Qp=fr(),UO=MO();function JEr(e){if(Dqe(e)&&(Pqe(e),Oqe(e))){tyr(e);return}Nqe(e,()=>(0,wqe.topBoolOrEmptySchema)(e))}V_.validateFunctionCode=JEr;function Nqe({gen:e,validateName:t,schema:r,schemaEnv:n,opts:s},i){s.code.es5?e.func(t,(0,St._)`${Xt.default.data}, ${Xt.default.valCxt}`,n.$async,()=>{e.code((0,St._)`"use strict"; ${Rqe(r,s)}`),eyr(e,s),e.code(i)}):e.func(t,(0,St._)`${Xt.default.data}, ${ZEr(s)}`,n.$async,()=>e.code(Rqe(r,s)).code(i))}function ZEr(e){return(0,St._)`{${Xt.default.instancePath}="", ${Xt.default.parentData}, ${Xt.default.parentDataProperty}, ${Xt.default.rootData}=${Xt.default.data}${e.dynamicRef?(0,St._)`, ${Xt.default.dynamicAnchors}={}`:St.nil}}={}`}function eyr(e,t){e.if(Xt.default.valCxt,()=>{e.var(Xt.default.instancePath,(0,St._)`${Xt.default.valCxt}.${Xt.default.instancePath}`),e.var(Xt.default.parentData,(0,St._)`${Xt.default.valCxt}.${Xt.default.parentData}`),e.var(Xt.default.parentDataProperty,(0,St._)`${Xt.default.valCxt}.${Xt.default.parentDataProperty}`),e.var(Xt.default.rootData,(0,St._)`${Xt.default.valCxt}.${Xt.default.rootData}`),t.dynamicRef&&e.var(Xt.default.dynamicAnchors,(0,St._)`${Xt.default.valCxt}.${Xt.default.dynamicAnchors}`)},()=>{e.var(Xt.default.instancePath,(0,St._)`""`),e.var(Xt.default.parentData,(0,St._)`undefined`),e.var(Xt.default.parentDataProperty,(0,St._)`undefined`),e.var(Xt.default.rootData,Xt.default.data),t.dynamicRef&&e.var(Xt.default.dynamicAnchors,(0,St._)`{}`)})}function tyr(e){let{schema:t,opts:r,gen:n}=e;Nqe(e,()=>{r.$comment&&t.$comment&&Mqe(e),ayr(e),n.let(Xt.default.vErrors,null),n.let(Xt.default.errors,0),r.unevaluated&&ryr(e),Lqe(e),uyr(e)})}function ryr(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,St._)`${r}.evaluated`),t.if((0,St._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,St._)`${e.evaluated}.props`,(0,St._)`undefined`)),t.if((0,St._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,St._)`${e.evaluated}.items`,(0,St._)`undefined`))}function Rqe(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,St._)`/*# sourceURL=${r} */`:St.nil}function nyr(e,t){if(Dqe(e)&&(Pqe(e),Oqe(e))){syr(e,t);return}(0,wqe.boolOrEmptySchema)(e,t)}function Oqe({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function Dqe(e){return typeof e.schema!="boolean"}function syr(e,t){let{schema:r,gen:n,opts:s}=e;s.$comment&&r.$comment&&Mqe(e),oyr(e),cyr(e);let i=n.const("_errs",Xt.default.errors);Lqe(e,i),n.var(t,(0,St._)`${i} === ${Xt.default.errors}`)}function Pqe(e){(0,Qp.checkUnknownRules)(e),iyr(e)}function Lqe(e,t){if(e.opts.jtd)return Cqe(e,[],!1,t);let r=(0,Iqe.getSchemaTypes)(e.schema),n=(0,Iqe.coerceAndCheckDataType)(e,r);Cqe(e,r,!n,t)}function iyr(e){let{schema:t,errSchemaPath:r,opts:n,self:s}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,Qp.schemaHasRulesButRef)(t,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function ayr(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Qp.checkStrictMode)(e,"default is ignored in the schema root")}function oyr(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,XEr.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function cyr(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function Mqe({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:s}){let i=r.$comment;if(s.$comment===!0)e.code((0,St._)`${Xt.default.self}.logger.log(${i})`);else if(typeof s.$comment=="function"){let a=(0,St.str)`${n}/$comment`,o=e.scopeValue("root",{ref:t.root});e.code((0,St._)`${Xt.default.self}.opts.$comment(${i}, ${a}, ${o}.schema)`)}}function uyr(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:s,opts:i}=e;r.$async?t.if((0,St._)`${Xt.default.errors} === 0`,()=>t.return(Xt.default.data),()=>t.throw((0,St._)`new ${s}(${Xt.default.vErrors})`)):(t.assign((0,St._)`${n}.errors`,Xt.default.vErrors),i.unevaluated&&lyr(e),t.return((0,St._)`${Xt.default.errors} === 0`))}function lyr({gen:e,evaluated:t,props:r,items:n}){r instanceof St.Name&&e.assign((0,St._)`${t}.props`,r),n instanceof St.Name&&e.assign((0,St._)`${t}.items`,n)}function Cqe(e,t,r,n){let{gen:s,schema:i,data:a,allErrors:o,opts:c,self:u}=e,{RULES:l}=u;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,Qp.schemaHasRulesButRef)(i,l))){s.block(()=>Bqe(e,"$ref",l.all.$ref.definition));return}c.jtd||dyr(e,t),s.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,ene.shouldUseGroup)(i,f)&&(f.type?(s.if((0,p6.checkDataType)(f.type,a,c.strictNumbers)),xqe(e,f),t.length===1&&t[0]===f.type&&r&&(s.else(),(0,p6.reportTypeError)(e)),s.endIf()):xqe(e,f),o||s.if((0,St._)`${Xt.default.errors} === ${n||0}`))}}function xqe(e,t){let{gen:r,schema:n,opts:{useDefaults:s}}=e;s&&(0,WEr.assignDefaults)(e,t.type),r.block(()=>{for(let i of t.rules)(0,ene.shouldUseRule)(n,i)&&Bqe(e,i.keyword,i.definition,t.type)})}function dyr(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(fyr(e,t),e.opts.allowUnionTypes||hyr(e,t),pyr(e,e.dataTypes))}function fyr(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{kqe(e.dataTypes,r)||tne(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),gyr(e,t)}}function hyr(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&tne(e,"use allowUnionTypes to allow union type keyword")}function pyr(e,t){let r=e.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0,ene.shouldUseRule)(e.schema,s)){let{type:i}=s.definition;i.length&&!i.some(a=>myr(t,a))&&tne(e,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function myr(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function kqe(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function gyr(e,t){let r=[];for(let n of e.dataTypes)kqe(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function tne(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,Qp.checkStrictMode)(e,t,e.opts.strictTypes)}var m6=class{constructor(t,r,n){if((0,FO.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Qp.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",Uqe(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,FO.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",Xt.default.errors))}result(t,r,n){this.failResult((0,St.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,St.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,St._)`${r} !== undefined && (${(0,St.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?UO.reportExtraError:UO.reportError)(this,this.def.error,r)}$dataError(){(0,UO.reportError)(this,this.def.$dataError||UO.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,UO.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=St.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=St.nil,r=St.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:i,def:a}=this;n.if((0,St.or)((0,St._)`${s} === undefined`,r)),t!==St.nil&&n.assign(t,!0),(i.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==St.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:s,it:i}=this;return(0,St.or)(a(),o());function a(){if(n.length){if(!(r instanceof St.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,St._)`${(0,p6.checkDataTypes)(c,r,i.opts.strictNumbers,p6.DataType.Wrong)}`}return St.nil}function o(){if(s.validateSchema){let c=t.scopeValue("validate$data",{ref:s.validateSchema});return(0,St._)`!${c}(${r})`}return St.nil}}subschema(t,r){let n=(0,Zre.getSubschema)(this.it,t);(0,Zre.extendSubschemaData)(n,this.it,t),(0,Zre.extendSubschemaMode)(n,t);let s={...this.it,...n,items:void 0,props:void 0};return nyr(s,r),s}mergeEvaluated(t,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=Qp.mergeEvaluated.props(s,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=Qp.mergeEvaluated.items(s,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return s.if(r,()=>this.mergeEvaluated(t,St.Name)),!0}};V_.KeywordCxt=m6;function Bqe(e,t,r,n){let s=new m6(e,r,t);"code"in r?r.code(s,n):s.$data&&r.validate?(0,FO.funcKeywordCode)(s,r):"macro"in r?(0,FO.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0,FO.funcKeywordCode)(s,r)}var _yr=/^\/(?:[^~]|~0|~1)*$/,Ayr=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Uqe(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let s,i;if(e==="")return Xt.default.rootData;if(e[0]==="/"){if(!_yr.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);s=e,i=Xt.default.rootData}else{let u=Ayr.exec(e);if(!u)throw new Error(`Invalid JSON-pointer: ${e}`);let l=+u[1];if(s=u[2],s==="#"){if(l>=t)throw new Error(c("property/index",l));return n[t-l]}if(l>t)throw new Error(c("data",l));if(i=r[t-l],!s)return i}let a=i,o=s.split("/");for(let u of o)u&&(i=(0,St._)`${i}${(0,St.getProperty)((0,Qp.unescapeJsonPointer)(u))}`,a=(0,St._)`${a} && ${i}`);return a;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${t}`}}V_.getData=Uqe});var $O=S(nne=>{"use strict";Object.defineProperty(nne,"__esModule",{value:!0});var rne=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};nne.default=rne});var zp=S(ane=>{"use strict";Object.defineProperty(ane,"__esModule",{value:!0});var sne=BO(),ine=class extends Error{constructor(t,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,sne.resolveUrl)(t,r,n),this.missingSchema=(0,sne.normalizeId)((0,sne.getFullPath)(t,this.missingRef))}};ane.default=ine});var rv=S(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});ud.resolveSchema=ud.getCompilingSchema=ud.resolveRef=ud.compileSchema=ud.SchemaEnv=void 0;var vf=qt(),Eyr=$O(),tv=cd(),Sf=BO(),Fqe=fr(),yyr=P1(),L1=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,Sf.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};ud.SchemaEnv=L1;function cne(e){let t=$qe.call(this,e);if(t)return t;let r=(0,Sf.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new vf.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o;e.$async&&(o=a.scopeValue("Error",{ref:Eyr.default,code:(0,vf._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");e.validateName=c;let u={gen:a,allErrors:this.opts.allErrors,data:tv.default.data,parentData:tv.default.parentData,parentDataProperty:tv.default.parentDataProperty,dataNames:[tv.default.data],dataPathArr:[vf.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,vf.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:o,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:vf.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,vf._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(e),(0,yyr.validateFunctionCode)(u),a.optimize(this.opts.code.optimize);let d=a.toString();l=`${a.scopeRefs(tv.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,e));let h=new Function(`${tv.default.self}`,`${tv.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:h}),h.errors=null,h.schema=e.schema,h.schemaEnv=e,e.$async&&(h.$async=!0),this.opts.code.source===!0&&(h.source={validateName:c,validateCode:d,scopeValues:a._values}),this.opts.unevaluated){let{props:p,items:m}=u;h.evaluated={props:p instanceof vf.Name?void 0:p,items:m instanceof vf.Name?void 0:m,dynamicProps:p instanceof vf.Name,dynamicItems:m instanceof vf.Name},h.source&&(h.source.evaluated=(0,vf.stringify)(h.evaluated))}return e.validate=h,e}catch(d){throw delete e.validate,delete e.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(e)}}ud.compileSchema=cne;function vyr(e,t,r){var n;r=(0,Sf.resolveUrl)(this.opts.uriResolver,t,r);let s=e.refs[r];if(s)return s;let i=byr.call(this,e,r);if(i===void 0){let a=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:o}=this.opts;a&&(i=new L1({schema:a,schemaId:o,root:e,baseId:t}))}if(i!==void 0)return e.refs[r]=Syr.call(this,i)}ud.resolveRef=vyr;function Syr(e){return(0,Sf.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:cne.call(this,e)}function $qe(e){for(let t of this._compilations)if(Tyr(t,e))return t}ud.getCompilingSchema=$qe;function Tyr(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function byr(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||g6.call(this,e,t)}function g6(e,t){let r=this.opts.uriResolver.parse(t),n=(0,Sf._getFullPath)(this.opts.uriResolver,r),s=(0,Sf.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===s)return one.call(this,r,e);let i=(0,Sf.normalizeId)(n),a=this.refs[i]||this.schemas[i];if(typeof a=="string"){let o=g6.call(this,e,a);return typeof o?.schema!="object"?void 0:one.call(this,r,o)}if(typeof a?.schema=="object"){if(a.validate||cne.call(this,a),i===(0,Sf.normalizeId)(t)){let{schema:o}=a,{schemaId:c}=this.opts,u=o[c];return u&&(s=(0,Sf.resolveUrl)(this.opts.uriResolver,s,u)),new L1({schema:o,schemaId:c,root:e,baseId:s})}return one.call(this,r,a)}}ud.resolveSchema=g6;var Iyr=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function one(e,{baseId:t,schema:r,root:n}){var s;if(((s=e.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let o of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Fqe.unescapeFragment)(o)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!Iyr.has(o)&&u&&(t=(0,Sf.resolveUrl)(this.opts.uriResolver,t,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,Fqe.schemaHasRulesButRef)(r,this.RULES)){let o=(0,Sf.resolveUrl)(this.opts.uriResolver,t,r.$ref);i=g6.call(this,n,o)}let{schemaId:a}=this.opts;if(i=i||new L1({schema:r,schemaId:a,root:n,baseId:t}),i.schema!==i.root.schema)return i}});var qqe=S((N8n,Ryr)=>{Ryr.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var lne=S((O8n,Kqe)=>{"use strict";var Cyr=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Vqe=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function une(e){let t="",r=0,n=0;for(n=0;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var xyr=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Hqe(e){return e.length=0,!0}function wyr(e,t,r){if(e.length){let n=une(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function Nyr(e){let t=0,r={error:!1,address:"",zone:""},n=[],s=[],i=!1,a=!1,o=wyr;for(let c=0;c7){r.error=!0;break}c>0&&e[c-1]===":"&&(i=!0),n.push(":");continue}else if(u==="%"){if(!o(s,n,r))break;o=Hqe}else{s.push(u);continue}}return s.length&&(o===Hqe?r.zone=s.join(""):a?n.push(s.join("")):n.push(une(s))),r.address=n.join(""),r}function jqe(e){if(Oyr(e,":")<2)return{host:e,isIPV6:!1};let t=Nyr(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function Oyr(e,t){let r=0;for(let n=0;n{"use strict";var{isUUID:Myr}=lne(),kyr=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,Byr=["http","https","ws","wss","urn","urn:uuid"];function Uyr(e){return Byr.indexOf(e)!==-1}function dne(e){return e.secure===!0?!0:e.secure===!1?!1:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):!1}function Gqe(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Yqe(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function Fyr(e){return e.secure=dne(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function $yr(e){if((e.port===(dne(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function qyr(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(kyr);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let s=`${n}:${t.nid||e.nid}`,i=fne(s);e.path=void 0,i&&(e=i.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function Hyr(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),s=`${r}:${t.nid||n}`,i=fne(s);i&&(e=i.serialize(e,t));let a=e,o=e.nss;return a.path=`${n||t.nid}:${o}`,t.skipEscape=!0,a}function Vyr(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!Myr(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function jyr(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var Qqe={scheme:"http",domainHost:!0,parse:Gqe,serialize:Yqe},Kyr={scheme:"https",domainHost:Qqe.domainHost,parse:Gqe,serialize:Yqe},_6={scheme:"ws",domainHost:!0,parse:Fyr,serialize:$yr},Gyr={scheme:"wss",domainHost:_6.domainHost,parse:_6.parse,serialize:_6.serialize},Yyr={scheme:"urn",parse:qyr,serialize:Hyr,skipNormalize:!0},Qyr={scheme:"urn:uuid",parse:Vyr,serialize:jyr,skipNormalize:!0},A6={http:Qqe,https:Kyr,ws:_6,wss:Gyr,urn:Yyr,"urn:uuid":Qyr};Object.setPrototypeOf(A6,null);function fne(e){return e&&(A6[e]||A6[e.toLowerCase()])||void 0}zqe.exports={wsIsSecure:dne,SCHEMES:A6,isValidSchemeName:Uyr,getSchemeHandler:fne}});var Zqe=S((P8n,y6)=>{"use strict";var{normalizeIPv6:zyr,removeDotSegments:qO,recomposeAuthority:Wyr,normalizeComponentEncoding:E6,isIPv4:Xyr,nonSimpleDomain:Jyr}=lne(),{SCHEMES:Zyr,getSchemeHandler:Xqe}=Wqe();function evr(e,t){return typeof e=="string"?e=X0(Wp(e,t),t):typeof e=="object"&&(e=Wp(X0(e,t),t)),e}function tvr(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=Jqe(Wp(e,n),Wp(t,n),n,!0);return n.skipEscape=!0,X0(s,n)}function Jqe(e,t,r,n){let s={};return n||(e=Wp(X0(e,r),r),t=Wp(X0(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(s.scheme=t.scheme,s.userinfo=t.userinfo,s.host=t.host,s.port=t.port,s.path=qO(t.path||""),s.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(s.userinfo=t.userinfo,s.host=t.host,s.port=t.port,s.path=qO(t.path||""),s.query=t.query):(t.path?(t.path[0]==="/"?s.path=qO(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?s.path="/"+t.path:e.path?s.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:s.path=t.path,s.path=qO(s.path)),s.query=t.query):(s.path=e.path,t.query!==void 0?s.query=t.query:s.query=e.query),s.userinfo=e.userinfo,s.host=e.host,s.port=e.port),s.scheme=e.scheme),s.fragment=t.fragment,s}function rvr(e,t,r){return typeof e=="string"?(e=unescape(e),e=X0(E6(Wp(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=X0(E6(e,!0),{...r,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=X0(E6(Wp(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=X0(E6(t,!0),{...r,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function X0(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),s=[],i=Xqe(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&s.push(r.scheme,":");let a=Wyr(r);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let o=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(o=qO(o)),a===void 0&&o[0]==="/"&&o[1]==="/"&&(o="/%2F"+o.slice(2)),s.push(o)}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var nvr=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Wp(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let i=e.match(nvr);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host)if(Xyr(n.host)===!1){let c=zyr(n.host);n.host=c.host.toLowerCase(),s=c.isIPV6}else s=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=Xqe(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===!1&&Jyr(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(o){n.error=n.error||"Host's domain name can not be converted to ASCII: "+o}(!a||a&&!a.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var hne={SCHEMES:Zyr,normalize:evr,resolve:tvr,resolveComponent:Jqe,equal:rvr,serialize:X0,parse:Wp};y6.exports=hne;y6.exports.default=hne;y6.exports.fastUri=hne});var tHe=S(pne=>{"use strict";Object.defineProperty(pne,"__esModule",{value:!0});var eHe=Zqe();eHe.code='require("ajv/dist/runtime/uri").default';pne.default=eHe});var _ne=S(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.CodeGen=so.Name=so.nil=so.stringify=so.str=so._=so.KeywordCxt=void 0;var svr=P1();Object.defineProperty(so,"KeywordCxt",{enumerable:!0,get:function(){return svr.KeywordCxt}});var M1=qt();Object.defineProperty(so,"_",{enumerable:!0,get:function(){return M1._}});Object.defineProperty(so,"str",{enumerable:!0,get:function(){return M1.str}});Object.defineProperty(so,"stringify",{enumerable:!0,get:function(){return M1.stringify}});Object.defineProperty(so,"nil",{enumerable:!0,get:function(){return M1.nil}});Object.defineProperty(so,"Name",{enumerable:!0,get:function(){return M1.Name}});Object.defineProperty(so,"CodeGen",{enumerable:!0,get:function(){return M1.CodeGen}});var ivr=$O(),aHe=zp(),avr=jre(),HO=rv(),ovr=qt(),VO=BO(),v6=kO(),gne=fr(),rHe=qqe(),cvr=tHe(),oHe=(e,t)=>new RegExp(e,t);oHe.code="new RegExp";var uvr=["removeAdditional","useDefaults","coerceTypes"],lvr=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),dvr={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},fvr={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},nHe=200;function hvr(e){var t,r,n,s,i,a,o,c,u,l,d,f,h,p,m,g,_,y,E,A,v,T,C,b,x;let w=e.strict,P=(t=e.code)===null||t===void 0?void 0:t.optimize,M=P===!0||P===void 0?1:P||0,L=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:oHe,U=(s=e.uriResolver)!==null&&s!==void 0?s:cvr.default;return{strictSchema:(a=(i=e.strictSchema)!==null&&i!==void 0?i:w)!==null&&a!==void 0?a:!0,strictNumbers:(c=(o=e.strictNumbers)!==null&&o!==void 0?o:w)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=e.strictTypes)!==null&&u!==void 0?u:w)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=e.strictTuples)!==null&&d!==void 0?d:w)!==null&&f!==void 0?f:"log",strictRequired:(p=(h=e.strictRequired)!==null&&h!==void 0?h:w)!==null&&p!==void 0?p:!1,code:e.code?{...e.code,optimize:M,regExp:L}:{optimize:M,regExp:L},loopRequired:(m=e.loopRequired)!==null&&m!==void 0?m:nHe,loopEnum:(g=e.loopEnum)!==null&&g!==void 0?g:nHe,meta:(_=e.meta)!==null&&_!==void 0?_:!0,messages:(y=e.messages)!==null&&y!==void 0?y:!0,inlineRefs:(E=e.inlineRefs)!==null&&E!==void 0?E:!0,schemaId:(A=e.schemaId)!==null&&A!==void 0?A:"$id",addUsedSchema:(v=e.addUsedSchema)!==null&&v!==void 0?v:!0,validateSchema:(T=e.validateSchema)!==null&&T!==void 0?T:!0,validateFormats:(C=e.validateFormats)!==null&&C!==void 0?C:!0,unicodeRegExp:(b=e.unicodeRegExp)!==null&&b!==void 0?b:!0,int32range:(x=e.int32range)!==null&&x!==void 0?x:!0,uriResolver:U}}var jO=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...hvr(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new ovr.ValueScope({scope:{},prefixes:lvr,es5:r,lines:n}),this.logger=Evr(t.logger);let s=t.validateFormats;t.validateFormats=!1,this.RULES=(0,avr.getRules)(),sHe.call(this,dvr,t,"NOT SUPPORTED"),sHe.call(this,fvr,t,"DEPRECATED","warn"),this._metaOpts=_vr.call(this),t.formats&&mvr.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&gvr.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),pvr.call(this),t.validateFormats=s}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,s=rHe;n==="id"&&(s={...rHe},s.id=s.$id,delete s.$id),r&&t&&this.addMetaSchema(s,s[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let s=n(r);return"$async"in n||(this.errors=n.errors),s}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,t,r);async function s(l,d){await i.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||a.call(this,f)}async function i(l){l&&!this.getSchema(l)&&await s.call(this,{$ref:l},!0)}async function a(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof aHe.default))throw d;return o.call(this,d),await c.call(this,d.missingSchema),a.call(this,l)}}function o({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await i.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(t,r,n,s=this.opts.validateSchema){if(Array.isArray(t)){for(let a of t)this.addSchema(a,void 0,n,s);return this}let i;if(typeof t=="object"){let{schemaId:a}=this.opts;if(i=t[a],i!==void 0&&typeof i!="string")throw new Error(`schema ${a} must be string`)}return r=(0,VO.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,s,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let s=this.validate(n,t);if(!s&&r){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return s}getSchema(t){let r;for(;typeof(r=iHe.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,s=new HO.SchemaEnv({schema:{},schemaId:n});if(r=HO.resolveSchema.call(this,s,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=iHe.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,VO.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(vvr.call(this,n,r),!r)return(0,gne.eachItem)(n,i=>mne.call(this,i)),this;Tvr.call(this,r);let s={...r,type:(0,v6.getJSONTypes)(r.type),schemaType:(0,v6.getJSONTypes)(r.schemaType)};return(0,gne.eachItem)(n,s.type.length===0?i=>mne.call(this,i,s):i=>s.type.forEach(a=>mne.call(this,i,s,a))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let s=n.rules.findIndex(i=>i.keyword===t);s>=0&&n.rules.splice(s,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,i)=>s+r+i)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let s of r){let i=s.split("/").slice(1),a=t;for(let o of i)a=a[o];for(let o in n){let c=n[o];if(typeof c!="object")continue;let{$data:u}=c.definition,l=a[o];u&&l&&(a[o]=cHe(l))}}return t}_removeAllSchemas(t,r){for(let n in t){let s=t[n];(!r||r.test(n))&&(typeof s=="string"?delete t[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete t[n]))}}_addSchema(t,r,n,s=this.opts.validateSchema,i=this.opts.addUsedSchema){let a,{schemaId:o}=this.opts;if(typeof t=="object")a=t[o];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(t);if(c!==void 0)return c;n=(0,VO.normalizeId)(a||n);let u=VO.getSchemaRefs.call(this,t,n);return c=new HO.SchemaEnv({schema:t,schemaId:o,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),i&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),s&&this.validateSchema(t,!0),c}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):HO.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{HO.compileSchema.call(this,t)}finally{this.opts=r}}};jO.ValidationError=ivr.default;jO.MissingRefError=aHe.default;so.default=jO;function sHe(e,t,r,n="error"){for(let s in e){let i=s;i in t&&this.logger[n](`${r}: option ${s}. ${e[i]}`)}}function iHe(e){return e=(0,VO.normalizeId)(e),this.schemas[e]||this.refs[e]}function pvr(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function mvr(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function gvr(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function _vr(){let e={...this.opts};for(let t of uvr)delete e[t];return e}var Avr={log(){},warn(){},error(){}};function Evr(e){if(e===!1)return Avr;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var yvr=/^[a-z_$][a-z0-9_$:-]*$/i;function vvr(e,t){let{RULES:r}=this;if((0,gne.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!yvr.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function mne(e,t,r){var n;let s=t?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,a=s?i.post:i.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},i.rules.push(a)),i.keywords[e]=!0,!t)return;let o={keyword:e,definition:{...t,type:(0,v6.getJSONTypes)(t.type),schemaType:(0,v6.getJSONTypes)(t.schemaType)}};t.before?Svr.call(this,a,o,t.before):a.rules.push(o),i.all[e]=o,(n=t.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function Svr(e,t,r){let n=e.rules.findIndex(s=>s.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function Tvr(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=cHe(t)),e.validateSchema=this.compile(t,!0))}var bvr={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function cHe(e){return{anyOf:[e,bvr]}}});var uHe=S(Ane=>{"use strict";Object.defineProperty(Ane,"__esModule",{value:!0});var Ivr={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Ane.default=Ivr});var Ene=S(nv=>{"use strict";Object.defineProperty(nv,"__esModule",{value:!0});nv.callRef=nv.getValidate=void 0;var Rvr=zp(),lHe=no(),Au=qt(),k1=cd(),dHe=rv(),S6=fr(),Cvr={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:s,schemaEnv:i,validateName:a,opts:o,self:c}=n,{root:u}=i;if((r==="#"||r==="#/")&&s===u.baseId)return d();let l=dHe.resolveRef.call(c,u,s,r);if(l===void 0)throw new Rvr.default(n.opts.uriResolver,s,r);if(l instanceof dHe.SchemaEnv)return f(l);return h(l);function d(){if(i===u)return T6(e,a,i,i.$async);let p=t.scopeValue("root",{ref:u});return T6(e,(0,Au._)`${p}.validate`,u,u.$async)}function f(p){let m=fHe(e,p);T6(e,m,p,p.$async)}function h(p){let m=t.scopeValue("schema",o.code.source===!0?{ref:p,code:(0,Au.stringify)(p)}:{ref:p}),g=t.name("valid"),_=e.subschema({schema:p,dataTypes:[],schemaPath:Au.nil,topSchemaRef:m,errSchemaPath:r},g);e.mergeEvaluated(_),e.ok(g)}}};function fHe(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Au._)`${r.scopeValue("wrapper",{ref:t})}.validate`}nv.getValidate=fHe;function T6(e,t,r,n){let{gen:s,it:i}=e,{allErrors:a,schemaEnv:o,opts:c}=i,u=c.passContext?k1.default.this:Au.nil;n?l():d();function l(){if(!o.$async)throw new Error("async schema referenced by sync schema");let p=s.let("valid");s.try(()=>{s.code((0,Au._)`await ${(0,lHe.callValidateCode)(e,t,u)}`),h(t),a||s.assign(p,!0)},m=>{s.if((0,Au._)`!(${m} instanceof ${i.ValidationError})`,()=>s.throw(m)),f(m),a||s.assign(p,!1)}),e.ok(p)}function d(){e.result((0,lHe.callValidateCode)(e,t,u),()=>h(t),()=>f(t))}function f(p){let m=(0,Au._)`${p}.errors`;s.assign(k1.default.vErrors,(0,Au._)`${k1.default.vErrors} === null ? ${m} : ${k1.default.vErrors}.concat(${m})`),s.assign(k1.default.errors,(0,Au._)`${k1.default.vErrors}.length`)}function h(p){var m;if(!i.opts.unevaluated)return;let g=(m=r?.validate)===null||m===void 0?void 0:m.evaluated;if(i.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(i.props=S6.mergeEvaluated.props(s,g.props,i.props));else{let _=s.var("props",(0,Au._)`${p}.evaluated.props`);i.props=S6.mergeEvaluated.props(s,_,i.props,Au.Name)}if(i.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(i.items=S6.mergeEvaluated.items(s,g.items,i.items));else{let _=s.var("items",(0,Au._)`${p}.evaluated.items`);i.items=S6.mergeEvaluated.items(s,_,i.items,Au.Name)}}}nv.callRef=T6;nv.default=Cvr});var hHe=S(yne=>{"use strict";Object.defineProperty(yne,"__esModule",{value:!0});var xvr=uHe(),wvr=Ene(),Nvr=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",xvr.default,wvr.default];yne.default=Nvr});var pHe=S(vne=>{"use strict";Object.defineProperty(vne,"__esModule",{value:!0});var b6=qt(),j_=b6.operators,I6={maximum:{okStr:"<=",ok:j_.LTE,fail:j_.GT},minimum:{okStr:">=",ok:j_.GTE,fail:j_.LT},exclusiveMaximum:{okStr:"<",ok:j_.LT,fail:j_.GTE},exclusiveMinimum:{okStr:">",ok:j_.GT,fail:j_.LTE}},Ovr={message:({keyword:e,schemaCode:t})=>(0,b6.str)`must be ${I6[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,b6._)`{comparison: ${I6[e].okStr}, limit: ${t}}`},Dvr={keyword:Object.keys(I6),type:"number",schemaType:"number",$data:!0,error:Ovr,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,b6._)`${r} ${I6[t].fail} ${n} || isNaN(${r})`)}};vne.default=Dvr});var mHe=S(Sne=>{"use strict";Object.defineProperty(Sne,"__esModule",{value:!0});var KO=qt(),Pvr={message:({schemaCode:e})=>(0,KO.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,KO._)`{multipleOf: ${e}}`},Lvr={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Pvr,code(e){let{gen:t,data:r,schemaCode:n,it:s}=e,i=s.opts.multipleOfPrecision,a=t.let("res"),o=i?(0,KO._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${i}`:(0,KO._)`${a} !== parseInt(${a})`;e.fail$data((0,KO._)`(${n} === 0 || (${a} = ${r}/${n}, ${o}))`)}};Sne.default=Lvr});var _He=S(Tne=>{"use strict";Object.defineProperty(Tne,"__esModule",{value:!0});function gHe(e){let t=e.length,r=0,n=0,s;for(;n=55296&&s<=56319&&n{"use strict";Object.defineProperty(bne,"__esModule",{value:!0});var sv=qt(),Mvr=fr(),kvr=_He(),Bvr={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,sv.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,sv._)`{limit: ${e}}`},Uvr={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Bvr,code(e){let{keyword:t,data:r,schemaCode:n,it:s}=e,i=t==="maxLength"?sv.operators.GT:sv.operators.LT,a=s.opts.unicode===!1?(0,sv._)`${r}.length`:(0,sv._)`${(0,Mvr.useFunc)(e.gen,kvr.default)}(${r})`;e.fail$data((0,sv._)`${a} ${i} ${n}`)}};bne.default=Uvr});var EHe=S(Ine=>{"use strict";Object.defineProperty(Ine,"__esModule",{value:!0});var Fvr=no(),$vr=fr(),B1=qt(),qvr={message:({schemaCode:e})=>(0,B1.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,B1._)`{pattern: ${e}}`},Hvr={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:qvr,code(e){let{gen:t,data:r,$data:n,schema:s,schemaCode:i,it:a}=e,o=a.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=a.opts.code,u=c.code==="new RegExp"?(0,B1._)`new RegExp`:(0,$vr.useFunc)(t,c),l=t.let("valid");t.try(()=>t.assign(l,(0,B1._)`${u}(${i}, ${o}).test(${r})`),()=>t.assign(l,!1)),e.fail$data((0,B1._)`!${l}`)}else{let c=(0,Fvr.usePattern)(e,s);e.fail$data((0,B1._)`!${c}.test(${r})`)}}};Ine.default=Hvr});var yHe=S(Rne=>{"use strict";Object.defineProperty(Rne,"__esModule",{value:!0});var GO=qt(),Vvr={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,GO.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,GO._)`{limit: ${e}}`},jvr={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Vvr,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxProperties"?GO.operators.GT:GO.operators.LT;e.fail$data((0,GO._)`Object.keys(${r}).length ${s} ${n}`)}};Rne.default=jvr});var vHe=S(Cne=>{"use strict";Object.defineProperty(Cne,"__esModule",{value:!0});var YO=no(),QO=qt(),Kvr=fr(),Gvr={message:({params:{missingProperty:e}})=>(0,QO.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,QO._)`{missingProperty: ${e}}`},Yvr={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Gvr,code(e){let{gen:t,schema:r,schemaCode:n,data:s,$data:i,it:a}=e,{opts:o}=a;if(!i&&r.length===0)return;let c=r.length>=o.loopRequired;if(a.allErrors?u():l(),o.strictRequired){let h=e.parentSchema.properties,{definedProperties:p}=e.it;for(let m of r)if(h?.[m]===void 0&&!p.has(m)){let g=a.schemaEnv.baseId+a.errSchemaPath,_=`required property "${m}" is not defined at "${g}" (strictRequired)`;(0,Kvr.checkStrictMode)(a,_,a.opts.strictRequired)}}function u(){if(c||i)e.block$data(QO.nil,d);else for(let h of r)(0,YO.checkReportMissingProp)(e,h)}function l(){let h=t.let("missing");if(c||i){let p=t.let("valid",!0);e.block$data(p,()=>f(h,p)),e.ok(p)}else t.if((0,YO.checkMissingProp)(e,r,h)),(0,YO.reportMissingProp)(e,h),t.else()}function d(){t.forOf("prop",n,h=>{e.setParams({missingProperty:h}),t.if((0,YO.noPropertyInData)(t,s,h,o.ownProperties),()=>e.error())})}function f(h,p){e.setParams({missingProperty:h}),t.forOf(h,n,()=>{t.assign(p,(0,YO.propertyInData)(t,s,h,o.ownProperties)),t.if((0,QO.not)(p),()=>{e.error(),t.break()})},QO.nil)}}};Cne.default=Yvr});var SHe=S(xne=>{"use strict";Object.defineProperty(xne,"__esModule",{value:!0});var zO=qt(),Qvr={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,zO.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,zO._)`{limit: ${e}}`},zvr={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:Qvr,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxItems"?zO.operators.GT:zO.operators.LT;e.fail$data((0,zO._)`${r}.length ${s} ${n}`)}};xne.default=zvr});var R6=S(wne=>{"use strict";Object.defineProperty(wne,"__esModule",{value:!0});var THe=td();THe.code='require("ajv/dist/runtime/equal").default';wne.default=THe});var bHe=S(One=>{"use strict";Object.defineProperty(One,"__esModule",{value:!0});var Nne=kO(),io=qt(),Wvr=fr(),Xvr=R6(),Jvr={message:({params:{i:e,j:t}})=>(0,io.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,io._)`{i: ${e}, j: ${t}}`},Zvr={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Jvr,code(e){let{gen:t,data:r,$data:n,schema:s,parentSchema:i,schemaCode:a,it:o}=e;if(!n&&!s)return;let c=t.let("valid"),u=i.items?(0,Nne.getSchemaTypes)(i.items):[];e.block$data(c,l,(0,io._)`${a} === false`),e.ok(c);function l(){let p=t.let("i",(0,io._)`${r}.length`),m=t.let("j");e.setParams({i:p,j:m}),t.assign(c,!0),t.if((0,io._)`${p} > 1`,()=>(d()?f:h)(p,m))}function d(){return u.length>0&&!u.some(p=>p==="object"||p==="array")}function f(p,m){let g=t.name("item"),_=(0,Nne.checkDataTypes)(u,g,o.opts.strictNumbers,Nne.DataType.Wrong),y=t.const("indices",(0,io._)`{}`);t.for((0,io._)`;${p}--;`,()=>{t.let(g,(0,io._)`${r}[${p}]`),t.if(_,(0,io._)`continue`),u.length>1&&t.if((0,io._)`typeof ${g} == "string"`,(0,io._)`${g} += "_"`),t.if((0,io._)`typeof ${y}[${g}] == "number"`,()=>{t.assign(m,(0,io._)`${y}[${g}]`),e.error(),t.assign(c,!1).break()}).code((0,io._)`${y}[${g}] = ${p}`)})}function h(p,m){let g=(0,Wvr.useFunc)(t,Xvr.default),_=t.name("outer");t.label(_).for((0,io._)`;${p}--;`,()=>t.for((0,io._)`${m} = ${p}; ${m}--;`,()=>t.if((0,io._)`${g}(${r}[${p}], ${r}[${m}])`,()=>{e.error(),t.assign(c,!1).break(_)})))}}};One.default=Zvr});var IHe=S(Pne=>{"use strict";Object.defineProperty(Pne,"__esModule",{value:!0});var Dne=qt(),eSr=fr(),tSr=R6(),rSr={message:"must be equal to constant",params:({schemaCode:e})=>(0,Dne._)`{allowedValue: ${e}}`},nSr={keyword:"const",$data:!0,error:rSr,code(e){let{gen:t,data:r,$data:n,schemaCode:s,schema:i}=e;n||i&&typeof i=="object"?e.fail$data((0,Dne._)`!${(0,eSr.useFunc)(t,tSr.default)}(${r}, ${s})`):e.fail((0,Dne._)`${i} !== ${r}`)}};Pne.default=nSr});var RHe=S(Lne=>{"use strict";Object.defineProperty(Lne,"__esModule",{value:!0});var WO=qt(),sSr=fr(),iSr=R6(),aSr={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,WO._)`{allowedValues: ${e}}`},oSr={keyword:"enum",schemaType:"array",$data:!0,error:aSr,code(e){let{gen:t,data:r,$data:n,schema:s,schemaCode:i,it:a}=e;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let o=s.length>=a.opts.loopEnum,c,u=()=>c??(c=(0,sSr.useFunc)(t,iSr.default)),l;if(o||n)l=t.let("valid"),e.block$data(l,d);else{if(!Array.isArray(s))throw new Error("ajv implementation error");let h=t.const("vSchema",i);l=(0,WO.or)(...s.map((p,m)=>f(h,m)))}e.pass(l);function d(){t.assign(l,!1),t.forOf("v",i,h=>t.if((0,WO._)`${u()}(${r}, ${h})`,()=>t.assign(l,!0).break()))}function f(h,p){let m=s[p];return typeof m=="object"&&m!==null?(0,WO._)`${u()}(${r}, ${h}[${p}])`:(0,WO._)`${r} === ${m}`}}};Lne.default=oSr});var CHe=S(Mne=>{"use strict";Object.defineProperty(Mne,"__esModule",{value:!0});var cSr=pHe(),uSr=mHe(),lSr=AHe(),dSr=EHe(),fSr=yHe(),hSr=vHe(),pSr=SHe(),mSr=bHe(),gSr=IHe(),_Sr=RHe(),ASr=[cSr.default,uSr.default,lSr.default,dSr.default,fSr.default,hSr.default,pSr.default,mSr.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},gSr.default,_Sr.default];Mne.default=ASr});var Bne=S(XO=>{"use strict";Object.defineProperty(XO,"__esModule",{value:!0});XO.validateAdditionalItems=void 0;var iv=qt(),kne=fr(),ESr={message:({params:{len:e}})=>(0,iv.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,iv._)`{limit: ${e}}`},ySr={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:ESr,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,kne.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}xHe(e,n)}};function xHe(e,t){let{gen:r,schema:n,data:s,keyword:i,it:a}=e;a.items=!0;let o=r.const("len",(0,iv._)`${s}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,iv._)`${o} <= ${t.length}`);else if(typeof n=="object"&&!(0,kne.alwaysValidSchema)(a,n)){let u=r.var("valid",(0,iv._)`${o} <= ${t.length}`);r.if((0,iv.not)(u),()=>c(u)),e.ok(u)}function c(u){r.forRange("i",t.length,o,l=>{e.subschema({keyword:i,dataProp:l,dataPropType:kne.Type.Num},u),a.allErrors||r.if((0,iv.not)(u),()=>r.break())})}}XO.validateAdditionalItems=xHe;XO.default=ySr});var Une=S(JO=>{"use strict";Object.defineProperty(JO,"__esModule",{value:!0});JO.validateTuple=void 0;var wHe=qt(),C6=fr(),vSr=no(),SSr={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return NHe(e,"additionalItems",t);r.items=!0,!(0,C6.alwaysValidSchema)(r,t)&&e.ok((0,vSr.validateArray)(e))}};function NHe(e,t,r=e.schema){let{gen:n,parentSchema:s,data:i,keyword:a,it:o}=e;l(s),o.opts.unevaluated&&r.length&&o.items!==!0&&(o.items=C6.mergeEvaluated.items(n,r.length,o.items));let c=n.name("valid"),u=n.const("len",(0,wHe._)`${i}.length`);r.forEach((d,f)=>{(0,C6.alwaysValidSchema)(o,d)||(n.if((0,wHe._)`${u} > ${f}`,()=>e.subschema({keyword:a,schemaProp:f,dataProp:f},c)),e.ok(c))});function l(d){let{opts:f,errSchemaPath:h}=o,p=r.length,m=p===d.minItems&&(p===d.maxItems||d[t]===!1);if(f.strictTuples&&!m){let g=`"${a}" is ${p}-tuple, but minItems or maxItems/${t} are not specified or different at path "${h}"`;(0,C6.checkStrictMode)(o,g,f.strictTuples)}}}JO.validateTuple=NHe;JO.default=SSr});var OHe=S(Fne=>{"use strict";Object.defineProperty(Fne,"__esModule",{value:!0});var TSr=Une(),bSr={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,TSr.validateTuple)(e,"items")};Fne.default=bSr});var PHe=S($ne=>{"use strict";Object.defineProperty($ne,"__esModule",{value:!0});var DHe=qt(),ISr=fr(),RSr=no(),CSr=Bne(),xSr={message:({params:{len:e}})=>(0,DHe.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,DHe._)`{limit: ${e}}`},wSr={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:xSr,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:s}=r;n.items=!0,!(0,ISr.alwaysValidSchema)(n,t)&&(s?(0,CSr.validateAdditionalItems)(e,s):e.ok((0,RSr.validateArray)(e)))}};$ne.default=wSr});var LHe=S(qne=>{"use strict";Object.defineProperty(qne,"__esModule",{value:!0});var ld=qt(),x6=fr(),NSr={message:({params:{min:e,max:t}})=>t===void 0?(0,ld.str)`must contain at least ${e} valid item(s)`:(0,ld.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,ld._)`{minContains: ${e}}`:(0,ld._)`{minContains: ${e}, maxContains: ${t}}`},OSr={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:NSr,code(e){let{gen:t,schema:r,parentSchema:n,data:s,it:i}=e,a,o,{minContains:c,maxContains:u}=n;i.opts.next?(a=c===void 0?1:c,o=u):a=1;let l=t.const("len",(0,ld._)`${s}.length`);if(e.setParams({min:a,max:o}),o===void 0&&a===0){(0,x6.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(o!==void 0&&a>o){(0,x6.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,x6.alwaysValidSchema)(i,r)){let m=(0,ld._)`${l} >= ${a}`;o!==void 0&&(m=(0,ld._)`${m} && ${l} <= ${o}`),e.pass(m);return}i.items=!0;let d=t.name("valid");o===void 0&&a===1?h(d,()=>t.if(d,()=>t.break())):a===0?(t.let(d,!0),o!==void 0&&t.if((0,ld._)`${s}.length > 0`,f)):(t.let(d,!1),f()),e.result(d,()=>e.reset());function f(){let m=t.name("_valid"),g=t.let("count",0);h(m,()=>t.if(m,()=>p(g)))}function h(m,g){t.forRange("i",0,l,_=>{e.subschema({keyword:"contains",dataProp:_,dataPropType:x6.Type.Num,compositeRule:!0},m),g()})}function p(m){t.code((0,ld._)`${m}++`),o===void 0?t.if((0,ld._)`${m} >= ${a}`,()=>t.assign(d,!0).break()):(t.if((0,ld._)`${m} > ${o}`,()=>t.assign(d,!1).break()),a===1?t.assign(d,!0):t.if((0,ld._)`${m} >= ${a}`,()=>t.assign(d,!0)))}}};qne.default=OSr});var BHe=S(J0=>{"use strict";Object.defineProperty(J0,"__esModule",{value:!0});J0.validateSchemaDeps=J0.validatePropertyDeps=J0.error=void 0;var Hne=qt(),DSr=fr(),ZO=no();J0.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,Hne.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,Hne._)`{property: ${e}, + missingProperty: ${n}, + depsCount: ${t}, + deps: ${r}}`};var PSr={keyword:"dependencies",type:"object",schemaType:"object",error:J0.error,code(e){let[t,r]=LSr(e);MHe(e,t),kHe(e,r)}};function LSr({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let s=Array.isArray(e[n])?t:r;s[n]=e[n]}return[t,r]}function MHe(e,t=e.schema){let{gen:r,data:n,it:s}=e;if(Object.keys(t).length===0)return;let i=r.let("missing");for(let a in t){let o=t[a];if(o.length===0)continue;let c=(0,ZO.propertyInData)(r,n,a,s.opts.ownProperties);e.setParams({property:a,depsCount:o.length,deps:o.join(", ")}),s.allErrors?r.if(c,()=>{for(let u of o)(0,ZO.checkReportMissingProp)(e,u)}):(r.if((0,Hne._)`${c} && (${(0,ZO.checkMissingProp)(e,o,i)})`),(0,ZO.reportMissingProp)(e,i),r.else())}}J0.validatePropertyDeps=MHe;function kHe(e,t=e.schema){let{gen:r,data:n,keyword:s,it:i}=e,a=r.name("valid");for(let o in t)(0,DSr.alwaysValidSchema)(i,t[o])||(r.if((0,ZO.propertyInData)(r,n,o,i.opts.ownProperties),()=>{let c=e.subschema({keyword:s,schemaProp:o},a);e.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),e.ok(a))}J0.validateSchemaDeps=kHe;J0.default=PSr});var FHe=S(Vne=>{"use strict";Object.defineProperty(Vne,"__esModule",{value:!0});var UHe=qt(),MSr=fr(),kSr={message:"property name must be valid",params:({params:e})=>(0,UHe._)`{propertyName: ${e.propertyName}}`},BSr={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:kSr,code(e){let{gen:t,schema:r,data:n,it:s}=e;if((0,MSr.alwaysValidSchema)(s,r))return;let i=t.name("valid");t.forIn("key",n,a=>{e.setParams({propertyName:a}),e.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},i),t.if((0,UHe.not)(i),()=>{e.error(!0),s.allErrors||t.break()})}),e.ok(i)}};Vne.default=BSr});var Kne=S(jne=>{"use strict";Object.defineProperty(jne,"__esModule",{value:!0});var w6=no(),Tf=qt(),USr=cd(),N6=fr(),FSr={message:"must NOT have additional properties",params:({params:e})=>(0,Tf._)`{additionalProperty: ${e.additionalProperty}}`},$Sr={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:FSr,code(e){let{gen:t,schema:r,parentSchema:n,data:s,errsCount:i,it:a}=e;if(!i)throw new Error("ajv implementation error");let{allErrors:o,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,N6.alwaysValidSchema)(a,r))return;let u=(0,w6.allSchemaProperties)(n.properties),l=(0,w6.allSchemaProperties)(n.patternProperties);d(),e.ok((0,Tf._)`${i} === ${USr.default.errors}`);function d(){t.forIn("key",s,g=>{!u.length&&!l.length?p(g):t.if(f(g),()=>p(g))})}function f(g){let _;if(u.length>8){let y=(0,N6.schemaRefOrVal)(a,n.properties,"properties");_=(0,w6.isOwnProperty)(t,y,g)}else u.length?_=(0,Tf.or)(...u.map(y=>(0,Tf._)`${g} === ${y}`)):_=Tf.nil;return l.length&&(_=(0,Tf.or)(_,...l.map(y=>(0,Tf._)`${(0,w6.usePattern)(e,y)}.test(${g})`))),(0,Tf.not)(_)}function h(g){t.code((0,Tf._)`delete ${s}[${g}]`)}function p(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){h(g);return}if(r===!1){e.setParams({additionalProperty:g}),e.error(),o||t.break();return}if(typeof r=="object"&&!(0,N6.alwaysValidSchema)(a,r)){let _=t.name("valid");c.removeAdditional==="failing"?(m(g,_,!1),t.if((0,Tf.not)(_),()=>{e.reset(),h(g)})):(m(g,_),o||t.if((0,Tf.not)(_),()=>t.break()))}}function m(g,_,y){let E={keyword:"additionalProperties",dataProp:g,dataPropType:N6.Type.Str};y===!1&&Object.assign(E,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(E,_)}}};jne.default=$Sr});var HHe=S(Yne=>{"use strict";Object.defineProperty(Yne,"__esModule",{value:!0});var qSr=P1(),$He=no(),Gne=fr(),qHe=Kne(),HSr={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:s,it:i}=e;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&qHe.default.code(new qSr.KeywordCxt(i,qHe.default,"additionalProperties"));let a=(0,$He.allSchemaProperties)(r);for(let d of a)i.definedProperties.add(d);i.opts.unevaluated&&a.length&&i.props!==!0&&(i.props=Gne.mergeEvaluated.props(t,(0,Gne.toHash)(a),i.props));let o=a.filter(d=>!(0,Gne.alwaysValidSchema)(i,r[d]));if(o.length===0)return;let c=t.name("valid");for(let d of o)u(d)?l(d):(t.if((0,$He.propertyInData)(t,s,d,i.opts.ownProperties)),l(d),i.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(d),e.ok(c);function u(d){return i.opts.useDefaults&&!i.compositeRule&&r[d].default!==void 0}function l(d){e.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Yne.default=HSr});var GHe=S(Qne=>{"use strict";Object.defineProperty(Qne,"__esModule",{value:!0});var VHe=no(),O6=qt(),jHe=fr(),KHe=fr(),VSr={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:s,it:i}=e,{opts:a}=i,o=(0,VHe.allSchemaProperties)(r),c=o.filter(m=>(0,jHe.alwaysValidSchema)(i,r[m]));if(o.length===0||c.length===o.length&&(!i.opts.unevaluated||i.props===!0))return;let u=a.strictSchema&&!a.allowMatchingProperties&&s.properties,l=t.name("valid");i.props!==!0&&!(i.props instanceof O6.Name)&&(i.props=(0,KHe.evaluatedPropsToName)(t,i.props));let{props:d}=i;f();function f(){for(let m of o)u&&h(m),i.allErrors?p(m):(t.var(l,!0),p(m),t.if(l))}function h(m){for(let g in u)new RegExp(m).test(g)&&(0,jHe.checkStrictMode)(i,`property ${g} matches pattern ${m} (use allowMatchingProperties)`)}function p(m){t.forIn("key",n,g=>{t.if((0,O6._)`${(0,VHe.usePattern)(e,m)}.test(${g})`,()=>{let _=c.includes(m);_||e.subschema({keyword:"patternProperties",schemaProp:m,dataProp:g,dataPropType:KHe.Type.Str},l),i.opts.unevaluated&&d!==!0?t.assign((0,O6._)`${d}[${g}]`,!0):!_&&!i.allErrors&&t.if((0,O6.not)(l),()=>t.break())})})}}};Qne.default=VSr});var YHe=S(zne=>{"use strict";Object.defineProperty(zne,"__esModule",{value:!0});var jSr=fr(),KSr={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,jSr.alwaysValidSchema)(n,r)){e.fail();return}let s=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),e.failResult(s,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};zne.default=KSr});var QHe=S(Wne=>{"use strict";Object.defineProperty(Wne,"__esModule",{value:!0});var GSr=no(),YSr={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:GSr.validateUnion,error:{message:"must match a schema in anyOf"}};Wne.default=YSr});var zHe=S(Xne=>{"use strict";Object.defineProperty(Xne,"__esModule",{value:!0});var D6=qt(),QSr=fr(),zSr={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,D6._)`{passingSchemas: ${e.passing}}`},WSr={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:zSr,code(e){let{gen:t,schema:r,parentSchema:n,it:s}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let i=r,a=t.let("valid",!1),o=t.let("passing",null),c=t.name("_valid");e.setParams({passing:o}),t.block(u),e.result(a,()=>e.reset(),()=>e.error(!0));function u(){i.forEach((l,d)=>{let f;(0,QSr.alwaysValidSchema)(s,l)?t.var(c,!0):f=e.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&t.if((0,D6._)`${c} && ${a}`).assign(a,!1).assign(o,(0,D6._)`[${o}, ${d}]`).else(),t.if(c,()=>{t.assign(a,!0),t.assign(o,d),f&&e.mergeEvaluated(f,D6.Name)})})}}};Xne.default=WSr});var WHe=S(Jne=>{"use strict";Object.defineProperty(Jne,"__esModule",{value:!0});var XSr=fr(),JSr={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=t.name("valid");r.forEach((i,a)=>{if((0,XSr.alwaysValidSchema)(n,i))return;let o=e.subschema({keyword:"allOf",schemaProp:a},s);e.ok(s),e.mergeEvaluated(o)})}};Jne.default=JSr});var ZHe=S(Zne=>{"use strict";Object.defineProperty(Zne,"__esModule",{value:!0});var P6=qt(),JHe=fr(),ZSr={message:({params:e})=>(0,P6.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,P6._)`{failingKeyword: ${e.ifClause}}`},eTr={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:ZSr,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,JHe.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=XHe(n,"then"),i=XHe(n,"else");if(!s&&!i)return;let a=t.let("valid",!0),o=t.name("_valid");if(c(),e.reset(),s&&i){let l=t.let("ifClause");e.setParams({ifClause:l}),t.if(o,u("then",l),u("else",l))}else s?t.if(o,u("then")):t.if((0,P6.not)(o),u("else"));e.pass(a,()=>e.error(!0));function c(){let l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},o);e.mergeEvaluated(l)}function u(l,d){return()=>{let f=e.subschema({keyword:l},o);t.assign(a,o),e.mergeValidEvaluated(f,a),d?t.assign(d,(0,P6._)`${l}`):e.setParams({ifClause:l})}}}};function XHe(e,t){let r=e.schema[t];return r!==void 0&&!(0,JHe.alwaysValidSchema)(e,r)}Zne.default=eTr});var eVe=S(ese=>{"use strict";Object.defineProperty(ese,"__esModule",{value:!0});var tTr=fr(),rTr={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,tTr.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};ese.default=rTr});var tVe=S(tse=>{"use strict";Object.defineProperty(tse,"__esModule",{value:!0});var nTr=Bne(),sTr=OHe(),iTr=Une(),aTr=PHe(),oTr=LHe(),cTr=BHe(),uTr=FHe(),lTr=Kne(),dTr=HHe(),fTr=GHe(),hTr=YHe(),pTr=QHe(),mTr=zHe(),gTr=WHe(),_Tr=ZHe(),ATr=eVe();function ETr(e=!1){let t=[hTr.default,pTr.default,mTr.default,gTr.default,_Tr.default,ATr.default,uTr.default,lTr.default,cTr.default,dTr.default,fTr.default];return e?t.push(sTr.default,aTr.default):t.push(nTr.default,iTr.default),t.push(oTr.default),t}tse.default=ETr});var rVe=S(rse=>{"use strict";Object.defineProperty(rse,"__esModule",{value:!0});var wi=qt(),yTr={message:({schemaCode:e})=>(0,wi.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,wi._)`{format: ${e}}`},vTr={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:yTr,code(e,t){let{gen:r,data:n,$data:s,schema:i,schemaCode:a,it:o}=e,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=o;if(!c.validateFormats)return;s?f():h();function f(){let p=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),m=r.const("fDef",(0,wi._)`${p}[${a}]`),g=r.let("fType"),_=r.let("format");r.if((0,wi._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>r.assign(g,(0,wi._)`${m}.type || "string"`).assign(_,(0,wi._)`${m}.validate`),()=>r.assign(g,(0,wi._)`"string"`).assign(_,m)),e.fail$data((0,wi.or)(y(),E()));function y(){return c.strictSchema===!1?wi.nil:(0,wi._)`${a} && !${_}`}function E(){let A=l.$async?(0,wi._)`(${m}.async ? await ${_}(${n}) : ${_}(${n}))`:(0,wi._)`${_}(${n})`,v=(0,wi._)`(typeof ${_} == "function" ? ${A} : ${_}.test(${n}))`;return(0,wi._)`${_} && ${_} !== true && ${g} === ${t} && !${v}`}}function h(){let p=d.formats[i];if(!p){y();return}if(p===!0)return;let[m,g,_]=E(p);m===t&&e.pass(A());function y(){if(c.strictSchema===!1){d.logger.warn(v());return}throw new Error(v());function v(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function E(v){let T=v instanceof RegExp?(0,wi.regexpCode)(v):c.code.formats?(0,wi._)`${c.code.formats}${(0,wi.getProperty)(i)}`:void 0,C=r.scopeValue("formats",{key:i,ref:v,code:T});return typeof v=="object"&&!(v instanceof RegExp)?[v.type||"string",v.validate,(0,wi._)`${C}.validate`]:["string",v,C]}function A(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,wi._)`await ${_}(${n})`}return typeof g=="function"?(0,wi._)`${_}(${n})`:(0,wi._)`${_}.test(${n})`}}}};rse.default=vTr});var nVe=S(nse=>{"use strict";Object.defineProperty(nse,"__esModule",{value:!0});var STr=rVe(),TTr=[STr.default];nse.default=TTr});var sVe=S(U1=>{"use strict";Object.defineProperty(U1,"__esModule",{value:!0});U1.contentVocabulary=U1.metadataVocabulary=void 0;U1.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];U1.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var aVe=S(sse=>{"use strict";Object.defineProperty(sse,"__esModule",{value:!0});var bTr=hHe(),ITr=CHe(),RTr=tVe(),CTr=nVe(),iVe=sVe(),xTr=[bTr.default,ITr.default,(0,RTr.default)(),CTr.default,iVe.metadataVocabulary,iVe.contentVocabulary];sse.default=xTr});var ise=S(L6=>{"use strict";Object.defineProperty(L6,"__esModule",{value:!0});L6.DiscrError=void 0;var oVe;(function(e){e.Tag="tag",e.Mapping="mapping"})(oVe||(L6.DiscrError=oVe={}))});var uVe=S(ose=>{"use strict";Object.defineProperty(ose,"__esModule",{value:!0});var F1=qt(),ase=ise(),cVe=rv(),wTr=zp(),NTr=fr(),OTr={message:({params:{discrError:e,tagName:t}})=>e===ase.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,F1._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},DTr={keyword:"discriminator",type:"object",schemaType:"object",error:OTr,code(e){let{gen:t,data:r,schema:n,parentSchema:s,it:i}=e,{oneOf:a}=s;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let o=n.propertyName;if(typeof o!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),u=t.const("tag",(0,F1._)`${r}${(0,F1.getProperty)(o)}`);t.if((0,F1._)`typeof ${u} == "string"`,()=>l(),()=>e.error(!1,{discrError:ase.DiscrError.Tag,tag:u,tagName:o})),e.ok(c);function l(){let h=f();t.if(!1);for(let p in h)t.elseIf((0,F1._)`${u} === ${p}`),t.assign(c,d(h[p]));t.else(),e.error(!1,{discrError:ase.DiscrError.Mapping,tag:u,tagName:o}),t.endIf()}function d(h){let p=t.name("valid"),m=e.subschema({keyword:"oneOf",schemaProp:h},p);return e.mergeEvaluated(m,F1.Name),p}function f(){var h;let p={},m=_(s),g=!0;for(let A=0;A{PTr.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var fVe=S((Bs,cse)=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.MissingRefError=Bs.ValidationError=Bs.CodeGen=Bs.Name=Bs.nil=Bs.stringify=Bs.str=Bs._=Bs.KeywordCxt=Bs.Ajv=void 0;var LTr=_ne(),MTr=aVe(),kTr=uVe(),dVe=lVe(),BTr=["/properties"],M6="http://json-schema.org/draft-07/schema",$1=class extends LTr.default{_addVocabularies(){super._addVocabularies(),MTr.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(kTr.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(dVe,BTr):dVe;this.addMetaSchema(t,M6,!1),this.refs["http://json-schema.org/schema"]=M6}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(M6)?M6:void 0)}};Bs.Ajv=$1;cse.exports=Bs=$1;cse.exports.Ajv=$1;Object.defineProperty(Bs,"__esModule",{value:!0});Bs.default=$1;var UTr=P1();Object.defineProperty(Bs,"KeywordCxt",{enumerable:!0,get:function(){return UTr.KeywordCxt}});var q1=qt();Object.defineProperty(Bs,"_",{enumerable:!0,get:function(){return q1._}});Object.defineProperty(Bs,"str",{enumerable:!0,get:function(){return q1.str}});Object.defineProperty(Bs,"stringify",{enumerable:!0,get:function(){return q1.stringify}});Object.defineProperty(Bs,"nil",{enumerable:!0,get:function(){return q1.nil}});Object.defineProperty(Bs,"Name",{enumerable:!0,get:function(){return q1.Name}});Object.defineProperty(Bs,"CodeGen",{enumerable:!0,get:function(){return q1.CodeGen}});var FTr=$O();Object.defineProperty(Bs,"ValidationError",{enumerable:!0,get:function(){return FTr.default}});var $Tr=zp();Object.defineProperty(Bs,"MissingRefError",{enumerable:!0,get:function(){return $Tr.default}})});var Xp=S(eD=>{"use strict";Object.defineProperty(eD,"__esModule",{value:!0});eD.checkMetadata=void 0;var qTr=fr(),HTr={keyword:"metadata",schemaType:"object",code(e){hVe(e);let{gen:t,schema:r,it:n}=e;if((0,qTr.alwaysValidSchema)(n,r))return;let s=t.name("valid");e.subschema({keyword:"metadata",jtdMetadata:!0},s),e.ok(s)}};function hVe({it:e,keyword:t},r){if(e.jtdMetadata!==r)throw new Error(`JTD: "${t}" cannot be used in this schema location`)}eD.checkMetadata=hVe;eD.default=HTr});var k6=S(rD=>{"use strict";Object.defineProperty(rD,"__esModule",{value:!0});rD.hasRef=void 0;var pVe=rv(),tD=qt(),VTr=zp(),mVe=cd(),gVe=Ene(),jTr=Xp(),KTr={keyword:"ref",schemaType:"string",code(e){(0,jTr.checkMetadata)(e);let{gen:t,data:r,schema:n,parentSchema:s,it:i}=e,{schemaEnv:{root:a}}=i,o=t.name("valid");s.nullable?(t.var(o,(0,tD._)`${r} === null`),t.if((0,tD.not)(o),c)):(t.var(o,!1),c()),e.ok(o);function c(){var d;let f=(d=a.schema.definitions)===null||d===void 0?void 0:d[n];if(!f)throw new VTr.default(i.opts.uriResolver,"",n,`No definition ${n}`);use(f)||!i.opts.inlineRefs?u(f):l(f)}function u(d){let f=pVe.compileSchema.call(i.self,new pVe.SchemaEnv({schema:d,root:a,schemaPath:`/definitions/${n}`})),h=(0,gVe.getValidate)(e,f),p=t.const("_errs",mVe.default.errors);(0,gVe.callRef)(e,h,f,f.$async),t.assign(o,(0,tD._)`${p} === ${mVe.default.errors}`)}function l(d){let f=t.scopeValue("schema",i.opts.code.source===!0?{ref:d,code:(0,tD.stringify)(d)}:{ref:d});e.subschema({schema:d,dataTypes:[],schemaPath:tD.nil,topSchemaRef:f,errSchemaPath:`/definitions/${n}`},o)}}};function use(e){for(let t in e){let r;if(t==="ref"||typeof(r=e[t])=="object"&&use(r))return!0}return!1}rD.hasRef=use;rD.default=KTr});var dse=S(lse=>{"use strict";Object.defineProperty(lse,"__esModule",{value:!0});var GTr=/t|\s/i,YTr=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,QTr=/^(\d\d):(\d\d):(\d\d)(?:\.\d+)?(?:z|([+-]\d\d)(?::?(\d\d))?)$/i,zTr=[0,31,28,31,30,31,30,31,31,30,31,30,31];function AVe(e,t){let r=e.split(GTr);return r.length===2&&_Ve(r[0])&&WTr(r[1])||t&&r.length===1&&_Ve(r[0])}lse.default=AVe;function _Ve(e){let t=YTr.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],s=+t[3];return n>=1&&n<=12&&s>=1&&(s<=zTr[n]||n===2&&s===29&&(r%100===0?r%400===0:r%4===0))}function WTr(e){let t=QTr.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],s=+t[3],i=+(t[4]||0),a=+(t[5]||0);return r<=23&&n<=59&&s<=59||r-i===23&&n-a===59&&s===60}AVe.code='require("ajv/dist/runtime/timestamp").default'});var H1=S(K_=>{"use strict";Object.defineProperty(K_,"__esModule",{value:!0});K_.typeErrorParams=K_.typeErrorMessage=K_.typeError=void 0;var XTr=qt();function JTr(e){return{message:t=>EVe(t,e),params:t=>yVe(t,e)}}K_.typeError=JTr;function EVe({parentSchema:e},t){return e?.nullable?`must be ${t} or null`:`must be ${t}`}K_.typeErrorMessage=EVe;function yVe({parentSchema:e},t){return(0,XTr._)`{type: ${t}, nullable: ${!!e?.nullable}}`}K_.typeErrorParams=yVe});var fse=S(V1=>{"use strict";Object.defineProperty(V1,"__esModule",{value:!0});V1.intRange=void 0;var dl=qt(),ZTr=dse(),ebr=fr(),tbr=Xp(),vVe=H1();V1.intRange={int8:[-128,127,3],uint8:[0,255,3],int16:[-32768,32767,5],uint16:[0,65535,5],int32:[-2147483648,2147483647,10],uint32:[0,4294967295,10]};var rbr={message:e=>(0,vVe.typeErrorMessage)(e,e.schema),params:e=>(0,vVe.typeErrorParams)(e,e.schema)};function nbr(e){let{gen:t,data:r,it:n}=e,{timestamp:s,allowDate:i}=n.opts;if(s==="date")return(0,dl._)`${r} instanceof Date `;let a=(0,ebr.useFunc)(t,ZTr.default),o=i?(0,dl._)`, true`:dl.nil,c=(0,dl._)`typeof ${r} == "string" && ${a}(${r}${o})`;return s==="string"?c:(0,dl.or)((0,dl._)`${r} instanceof Date`,c)}var sbr={keyword:"type",schemaType:"string",error:rbr,code(e){(0,tbr.checkMetadata)(e);let{data:t,schema:r,parentSchema:n,it:s}=e,i;switch(r){case"boolean":case"string":i=(0,dl._)`typeof ${t} == ${r}`;break;case"timestamp":{i=nbr(e);break}case"float32":case"float64":i=(0,dl._)`typeof ${t} == "number"`;break;default:{let a=r;if(i=(0,dl._)`typeof ${t} == "number" && isFinite(${t}) && !(${t} % 1)`,!s.opts.int32range&&(a==="int32"||a==="uint32"))a==="uint32"&&(i=(0,dl._)`${i} && ${t} >= 0`);else{let[o,c]=V1.intRange[a];i=(0,dl._)`${i} && ${t} >= ${o} && ${t} <= ${c}`}}}e.pass(n.nullable?(0,dl.or)((0,dl._)`${t} === null`,i):i)}};V1.default=sbr});var K1=S(j1=>{"use strict";Object.defineProperty(j1,"__esModule",{value:!0});j1.checkNullableObject=j1.checkNullable=void 0;var B6=qt();function SVe({gen:e,data:t,parentSchema:r},n=B6.nil){let s=e.name("valid");return r.nullable?(e.let(s,(0,B6._)`${t} === null`),n=(0,B6.not)(s)):e.let(s,!1),[s,n]}j1.checkNullable=SVe;function ibr(e,t){let[r,n]=SVe(e,t);return[r,(0,B6._)`${n} && typeof ${e.data} == "object" && !Array.isArray(${e.data})`]}j1.checkNullableObject=ibr});var TVe=S(hse=>{"use strict";Object.defineProperty(hse,"__esModule",{value:!0});var G_=qt(),abr=Xp(),obr=K1(),cbr={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,G_._)`{allowedValues: ${e}}`},ubr={keyword:"enum",schemaType:"array",error:cbr,code(e){(0,abr.checkMetadata)(e);let{gen:t,data:r,schema:n,schemaValue:s,parentSchema:i,it:a}=e;if(n.length===0)throw new Error("enum must have non-empty array");if(n.length!==new Set(n).size)throw new Error("enum items must be unique");let o,c=(0,G_._)`typeof ${r} == "string"`;if(n.length>=a.opts.loopEnum){let l;[o,l]=(0,obr.checkNullable)(e,c),t.if(l,u)}else{if(!Array.isArray(n))throw new Error("ajv implementation error");o=(0,G_.and)(c,(0,G_.or)(...n.map(l=>(0,G_._)`${r} === ${l}`))),i.nullable&&(o=(0,G_.or)((0,G_._)`${r} === null`,o))}e.pass(o);function u(){t.forOf("v",s,l=>t.if((0,G_._)`${o} = ${r} === ${l}`,()=>t.break()))}}};hse.default=ubr});var IVe=S(pse=>{"use strict";Object.defineProperty(pse,"__esModule",{value:!0});var lbr=fr(),dbr=no(),bVe=qt(),fbr=Xp(),hbr=K1(),pbr=H1(),mbr={keyword:"elements",schemaType:"object",error:(0,pbr.typeError)("array"),code(e){(0,fbr.checkMetadata)(e);let{gen:t,data:r,schema:n,it:s}=e;if((0,lbr.alwaysValidSchema)(s,n))return;let[i]=(0,hbr.checkNullable)(e);t.if((0,bVe.not)(i),()=>t.if((0,bVe._)`Array.isArray(${r})`,()=>t.assign(i,(0,dbr.validateArray)(e)),()=>e.error())),e.ok(i)}};pse.default=mbr});var gse=S(Y_=>{"use strict";Object.defineProperty(Y_,"__esModule",{value:!0});Y_.validateProperties=Y_.error=void 0;var mse=no(),RVe=fr(),Jp=qt(),gbr=Xp(),_br=K1(),CVe=H1(),G1;(function(e){e.Additional="additional",e.Missing="missing"})(G1||(G1={}));Y_.error={message:e=>{let{params:t}=e;return t.propError?t.propError===G1.Additional?"must NOT have additional properties":`must have property '${t.missingProperty}'`:(0,CVe.typeErrorMessage)(e,"object")},params:e=>{let{params:t}=e;return t.propError?t.propError===G1.Additional?(0,Jp._)`{error: ${t.propError}, additionalProperty: ${t.additionalProperty}}`:(0,Jp._)`{error: ${t.propError}, missingProperty: ${t.missingProperty}}`:(0,CVe.typeErrorParams)(e,"object")}};var Abr={keyword:"properties",schemaType:"object",error:Y_.error,code:xVe};function xVe(e){(0,gbr.checkMetadata)(e);let{gen:t,data:r,parentSchema:n,it:s}=e,{additionalProperties:i,nullable:a}=n;if(s.jtdDiscriminator&&a)throw new Error("JTD: nullable inside discriminator mapping");if(h())throw new Error("JTD: properties and optionalProperties have common members");let[o,c]=p("properties"),[u,l]=p("optionalProperties");if(c.length===0&&l.length===0&&i)return;let[d,f]=s.jtdDiscriminator===void 0?(0,_br.checkNullableObject)(e,r):[t.let("valid",!1),!0];t.if(f,()=>t.assign(d,!0).block(()=>{m(c,"properties",!0),m(l,"optionalProperties"),i||_()})),e.pass(d);function h(){let E=n.properties,A=n.optionalProperties;if(!(E&&A))return!1;for(let v in E)if(Object.prototype.hasOwnProperty.call(A,v))return!0;return!1}function p(E){let A=n[E],v=A?(0,mse.allSchemaProperties)(A):[];if(s.jtdDiscriminator&&v.some(C=>C===s.jtdDiscriminator))throw new Error(`JTD: discriminator tag used in ${E}`);let T=v.filter(C=>!(0,RVe.alwaysValidSchema)(s,A[C]));return[v,T]}function m(E,A,v){let T=t.var("valid");for(let b of E)t.if((0,mse.propertyInData)(t,r,b,s.opts.ownProperties),()=>g(b,A,T),()=>C(b)),e.ok(T);function C(b){v?(t.assign(T,!1),e.error(!1,{propError:G1.Missing,missingProperty:b},{schemaPath:b})):t.assign(T,!0)}}function g(E,A,v){e.subschema({keyword:A,schemaProp:E,dataProp:E},v)}function _(){t.forIn("key",r,E=>{let A=y(E,o,"properties",s.jtdDiscriminator),v=y(E,u,"optionalProperties"),T=A===!0?v:v===!0?A:(0,Jp.and)(A,v);t.if(T,()=>{s.opts.removeAdditional?t.code((0,Jp._)`delete ${r}[${E}]`):(e.error(!1,{propError:G1.Additional,additionalProperty:E},{instancePath:E,parentSchema:!0}),s.opts.allErrors||t.break())})})}function y(E,A,v,T){let C;if(A.length>8){let b=(0,RVe.schemaRefOrVal)(s,n[v],v);C=(0,Jp.not)((0,mse.isOwnProperty)(t,b,E)),T!==void 0&&(C=(0,Jp.and)(C,(0,Jp._)`${E} !== ${T}`))}else if(A.length||T!==void 0){let b=T===void 0?A:[T].concat(A);C=(0,Jp.and)(...b.map(x=>(0,Jp._)`${E} !== ${x}`))}else C=!0;return C}}Y_.validateProperties=xVe;Y_.default=Abr});var NVe=S(_se=>{"use strict";Object.defineProperty(_se,"__esModule",{value:!0});var wVe=gse(),Ebr={keyword:"optionalProperties",schemaType:"object",error:wVe.error,code(e){e.parentSchema.properties||(0,wVe.validateProperties)(e)}};_se.default=Ebr});var DVe=S(Ase=>{"use strict";Object.defineProperty(Ase,"__esModule",{value:!0});var av=qt(),ybr=Xp(),vbr=K1(),OVe=H1(),U6=ise(),Sbr={message:e=>{let{schema:t,params:r}=e;return r.discrError?r.discrError===U6.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in mapping`:(0,OVe.typeErrorMessage)(e,"object")},params:e=>{let{schema:t,params:r}=e;return r.discrError?(0,av._)`{error: ${r.discrError}, tag: ${t}, tagValue: ${r.tag}}`:(0,OVe.typeErrorParams)(e,"object")}},Tbr={keyword:"discriminator",schemaType:"string",implements:["mapping"],error:Sbr,code(e){(0,ybr.checkMetadata)(e);let{gen:t,data:r,schema:n,parentSchema:s}=e,[i,a]=(0,vbr.checkNullableObject)(e,r);t.if(a),o(),t.elseIf((0,av.not)(i)),e.error(),t.endIf(),e.ok(i);function o(){let l=t.const("tag",(0,av._)`${r}${(0,av.getProperty)(n)}`);t.if((0,av._)`${l} === undefined`),e.error(!1,{discrError:U6.DiscrError.Tag,tag:l}),t.elseIf((0,av._)`typeof ${l} == "string"`),c(l),t.else(),e.error(!1,{discrError:U6.DiscrError.Tag,tag:l},{instancePath:n}),t.endIf()}function c(l){t.if(!1);for(let d in s.mapping)t.elseIf((0,av._)`${l} === ${d}`),t.assign(i,u(d));t.else(),e.error(!1,{discrError:U6.DiscrError.Mapping,tag:l},{instancePath:n,schemaPath:"mapping",parentSchema:!0}),t.endIf()}function u(l){let d=t.name("valid");return e.subschema({keyword:"mapping",schemaProp:l,jtdDiscriminator:n},d),d}}};Ase.default=Tbr});var LVe=S(Ese=>{"use strict";Object.defineProperty(Ese,"__esModule",{value:!0});var PVe=fr(),F6=qt(),bbr=Xp(),Ibr=K1(),Rbr=H1(),Cbr={keyword:"values",schemaType:"object",error:(0,Rbr.typeError)("object"),code(e){(0,bbr.checkMetadata)(e);let{gen:t,data:r,schema:n,it:s}=e,[i,a]=(0,Ibr.checkNullableObject)(e,r);(0,PVe.alwaysValidSchema)(s,n)?t.if((0,F6.not)((0,F6.or)(a,i)),()=>e.error()):(t.if(a),t.assign(i,o()),t.elseIf((0,F6.not)(i)),e.error(),t.endIf()),e.ok(i);function o(){let c=t.name("valid");if(s.allErrors){let l=t.let("valid",!0);return u(()=>t.assign(l,!1)),l}return t.var(c,!0),u(()=>t.break()),c;function u(l){t.forIn("key",r,d=>{e.subschema({keyword:"values",dataProp:d,dataPropType:PVe.Type.Str},c),t.if((0,F6.not)(c),l)})}}}};Ese.default=Cbr});var MVe=S(yse=>{"use strict";Object.defineProperty(yse,"__esModule",{value:!0});var xbr=no(),wbr={keyword:"union",schemaType:"array",trackErrors:!0,code:xbr.validateUnion,error:{message:"must match a schema in union"}};yse.default=wbr});var kVe=S(vse=>{"use strict";Object.defineProperty(vse,"__esModule",{value:!0});var Nbr=k6(),Obr=fse(),Dbr=TVe(),Pbr=IVe(),Lbr=gse(),Mbr=NVe(),kbr=DVe(),Bbr=LVe(),Ubr=MVe(),Fbr=Xp(),$br=["definitions",Nbr.default,Obr.default,Dbr.default,Pbr.default,Lbr.default,Mbr.default,kbr.default,Bbr.default,Ubr.default,Fbr.default,{keyword:"additionalProperties",schemaType:"boolean"},{keyword:"nullable",schemaType:"boolean"}];vse.default=$br});var $Ve=S(Sse=>{"use strict";Object.defineProperty(Sse,"__esModule",{value:!0});var Zp=e=>{let t={nullable:{type:"boolean"},metadata:{optionalProperties:{union:{elements:{ref:"schema"}}},additionalProperties:!0}};return e&&(t.definitions={values:{ref:"schema"}}),t},qbr=e=>({optionalProperties:Zp(e)}),Hbr=e=>({properties:{ref:{type:"string"}},optionalProperties:Zp(e)}),Vbr=e=>({properties:{type:{enum:["boolean","timestamp","string","float32","float64","int8","uint8","int16","uint16","int32","uint32"]}},optionalProperties:Zp(e)}),jbr=e=>({properties:{enum:{elements:{type:"string"}}},optionalProperties:Zp(e)}),Kbr=e=>({properties:{elements:{ref:"schema"}},optionalProperties:Zp(e)}),UVe=e=>({properties:{properties:{values:{ref:"schema"}}},optionalProperties:{optionalProperties:{values:{ref:"schema"}},additionalProperties:{type:"boolean"},...Zp(e)}}),FVe=e=>({properties:{optionalProperties:{values:{ref:"schema"}}},optionalProperties:{additionalProperties:{type:"boolean"},...Zp(e)}}),Gbr=e=>({properties:{discriminator:{type:"string"},mapping:{values:{metadata:{union:[UVe(!1),FVe(!1)]}}}},optionalProperties:Zp(e)}),Ybr=e=>({properties:{values:{ref:"schema"}},optionalProperties:Zp(e)}),BVe=e=>({metadata:{union:[qbr,Hbr,Vbr,jbr,Kbr,UVe,FVe,Gbr,Ybr].map(t=>t(e))}}),Qbr={definitions:{schema:BVe(!1)},...BVe(!0)};Sse.default=Qbr});var Tse=S($6=>{"use strict";Object.defineProperty($6,"__esModule",{value:!0});$6.jtdForms=void 0;$6.jtdForms=["elements","values","discriminator","properties","optionalProperties","enum","type","ref"]});var HVe=S(Ise=>{"use strict";Object.defineProperty(Ise,"__esModule",{value:!0});var bse=/[\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,zbr={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function qVe(e){return bse.lastIndex=0,'"'+(bse.test(e)?e.replace(bse,t=>{let r=zbr[t];return typeof r=="string"?r:"\\u"+("0000"+t.charCodeAt(0).toString(16)).slice(-4)}):e)+'"'}Ise.default=qVe;qVe.code='require("ajv/dist/runtime/quote").default'});var QVe=S(Cse=>{"use strict";Object.defineProperty(Cse,"__esModule",{value:!0});var Wbr=Tse(),jVe=rv(),Cr=qt(),Xbr=zp(),ss=cd(),Jbr=no(),Zbr=k6(),e1r=fr(),t1r=HVe(),r1r={elements:s1r,values:i1r,discriminator:a1r,properties:VVe,optionalProperties:VVe,enum:nD,type:o1r,ref:u1r};function KVe(e,t){let r=jVe.getCompilingSchema.call(this,e);if(r)return r;let{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new Cr.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o=a.scopeName("serialize"),c={self:this,gen:a,schema:e.schema,schemaEnv:e,definitions:t,data:ss.default.data},u;try{this._compilations.add(e),e.serializeName=o,a.func(o,ss.default.data,!1,()=>{a.let(ss.default.json,(0,Cr.str)``),sD(c),a.return(ss.default.json)}),a.optimize(this.opts.code.optimize);let l=a.toString();u=`${a.scopeRefs(ss.default.scope)}return ${l}`;let f=new Function(`${ss.default.scope}`,u)(this.scope.get());this.scope.value(o,{ref:f}),e.serialize=f}catch(l){throw u&&this.logger.error("Error compiling serializer, function code:",u),delete e.serialize,delete e.serializeName,l}finally{this._compilations.delete(e)}return e}Cse.default=KVe;function sD(e){let t;for(let r of Wbr.jtdForms)if(r in e.schema){t=r;break}n1r(e,t?r1r[t]:d1r)}function n1r(e,t){let{gen:r,schema:n,data:s}=e;if(!n.nullable)return t(e);r.if((0,Cr._)`${s} === undefined || ${s} === null`,()=>r.add(ss.default.json,(0,Cr._)`"null"`),()=>t(e))}function s1r(e){let{gen:t,schema:r,data:n}=e;t.add(ss.default.json,(0,Cr.str)`[`);let s=t.let("first",!0);t.forOf("el",n,i=>{Rse(e,s),sD({...e,schema:r.elements,data:i})}),t.add(ss.default.json,(0,Cr.str)`]`)}function i1r(e){let{gen:t,schema:r,data:n}=e;t.add(ss.default.json,(0,Cr.str)`{`);let s=t.let("first",!0);t.forIn("key",n,i=>GVe(e,i,r.values,s)),t.add(ss.default.json,(0,Cr.str)`}`)}function GVe(e,t,r,n){let{gen:s,data:i}=e;Rse(e,n),nD({...e,data:t}),s.add(ss.default.json,(0,Cr.str)`:`);let a=s.const("value",(0,Cr._)`${i}${(0,Cr.getProperty)(t)}`);sD({...e,schema:r,data:a})}function a1r(e){let{gen:t,schema:r,data:n}=e,{discriminator:s}=r;t.add(ss.default.json,(0,Cr.str)`{${JSON.stringify(s)}:`);let i=t.const("tag",(0,Cr._)`${n}${(0,Cr.getProperty)(s)}`);nD({...e,data:i}),t.if(!1);for(let a in r.mapping){t.elseIf((0,Cr._)`${i} === ${a}`);let o=r.mapping[a];YVe({...e,schema:o},s)}t.endIf(),t.add(ss.default.json,(0,Cr.str)`}`)}function VVe(e){let{gen:t}=e;t.add(ss.default.json,(0,Cr.str)`{`),YVe(e),t.add(ss.default.json,(0,Cr.str)`}`)}function YVe(e,t){let{gen:r,schema:n,data:s}=e,{properties:i,optionalProperties:a}=n,o=f(i),c=f(a),u=h(o.concat(c)),l=!t,d;for(let _ of o)l?l=!1:r.add(ss.default.json,(0,Cr.str)`,`),m(_,i[_],p(_));l&&(d=r.let("first",!0));for(let _ of c){let y=p(_);r.if((0,Cr.and)((0,Cr._)`${y} !== undefined`,(0,Jbr.isOwnProperty)(r,s,_)),()=>{Rse(e,d),m(_,a[_],y)})}n.additionalProperties&&r.forIn("key",s,_=>r.if(g(_,u),()=>GVe(e,_,{},d)));function f(_){return _?Object.keys(_):[]}function h(_){if(t&&_.push(t),new Set(_).size!==_.length)throw new Error("JTD: properties/optionalProperties/disciminator overlap");return _}function p(_){return r.const("value",(0,Cr._)`${s}${(0,Cr.getProperty)(_)}`)}function m(_,y,E){r.add(ss.default.json,(0,Cr.str)`${JSON.stringify(_)}:`),sD({...e,schema:y,data:E})}function g(_,y){return y.length?(0,Cr.and)(...y.map(E=>(0,Cr._)`${_} !== ${E}`)):!0}}function o1r(e){let{gen:t,schema:r,data:n}=e;switch(r.type){case"boolean":t.add(ss.default.json,(0,Cr._)`${n} ? "true" : "false"`);break;case"string":nD(e);break;case"timestamp":t.if((0,Cr._)`${n} instanceof Date`,()=>t.add(ss.default.json,(0,Cr._)`'"' + ${n}.toISOString() + '"'`),()=>nD(e));break;default:c1r(e)}}function nD({gen:e,data:t}){e.add(ss.default.json,(0,Cr._)`${(0,e1r.useFunc)(e,t1r.default)}(${t})`)}function c1r({gen:e,data:t,self:r}){let n=(0,Cr._)`${t} === Infinity || ${t} === -Infinity || ${t} !== ${t}`;r.opts.specialNumbers===void 0||r.opts.specialNumbers==="fast"?e.add(ss.default.json,(0,Cr._)`"" + ${t}`):e.if(n,()=>e.add(ss.default.json,(0,Cr._)`null`),()=>e.add(ss.default.json,(0,Cr._)`"" + ${t}`))}function u1r(e){let{gen:t,self:r,data:n,definitions:s,schema:i,schemaEnv:a}=e,{ref:o}=i,c=s[o];if(!c)throw new Xbr.default(r.opts.uriResolver,"",o,`No definition ${o}`);if(!(0,Zbr.hasRef)(c))return sD({...e,schema:c});let{root:u}=a,l=KVe.call(r,new jVe.SchemaEnv({schema:c,root:u}),s);t.add(ss.default.json,(0,Cr._)`${l1r(t,l)}(${n})`)}function l1r(e,t){return t.serialize?e.scopeValue("serialize",{ref:t.serialize}):(0,Cr._)`${e.scopeValue("wrapper",{ref:t})}.serialize`}function d1r({gen:e,data:t}){e.add(ss.default.json,(0,Cr._)`JSON.stringify(${t})`)}function Rse({gen:e},t){t?e.if(t,()=>e.assign(t,!1),()=>e.add(ss.default.json,(0,Cr.str)`,`)):e.add(ss.default.json,(0,Cr.str)`,`)}});var WVe=S(z_=>{"use strict";Object.defineProperty(z_,"__esModule",{value:!0});z_.parseJsonString=z_.parseJsonNumber=z_.parseJson=void 0;var f1r=/position\s(\d+)(?: \(line \d+ column \d+\))?$/;function em(e,t){let r;em.message=void 0;let n;t&&(e=e.slice(t));try{return em.position=t+e.length,JSON.parse(e)}catch(s){if(n=f1r.exec(s.message),!n){em.message="unexpected end";return}r=+n[1];let i=e[r];e=e.slice(0,r),em.position=t+r;try{return JSON.parse(e)}catch{em.message=`unexpected token ${i}`;return}}}z_.parseJson=em;em.message=void 0;em.position=0;em.code='require("ajv/dist/runtime/parseJson").parseJson';function tm(e,t,r){let n="",s;if(tm.message=void 0,e[t]==="-"&&(n+="-",t++),e[t]==="0")n+="0",t++;else if(!i(r)){a();return}if(r)return tm.position=t,+n;if(e[t]==="."&&(n+=".",t++,!i())){a();return}if(s=e[t],(s==="e"||s==="E")&&(n+="e",t++,s=e[t],(s==="+"||s==="-")&&(n+=s,t++),!i())){a();return}return tm.position=t,+n;function i(o){let c=!1;for(;s=e[t],s>="0"&&s<="9"&&(o===void 0||o-- >0);)c=!0,n+=s,t++;return c}function a(){tm.position=t,tm.message=t="a"&&n<="f")a+=n.charCodeAt(0)-h1r+10;else if(n>="0"&&n<="9")a+=n.charCodeAt(0)-p1r;else{s(`unexpected token ${n}`);return}t++}r+=String.fromCharCode(a)}else{s(`unexpected token ${n}`);return}else if(n===void 0){s("unexpected end");return}else if(n.charCodeAt(0)>=32)r+=n;else{s(`unexpected token ${n}`);return}return Q_.position=t,r;function s(i){Q_.position=t,Q_.message=i}}z_.parseJsonString=Q_;Q_.message=void 0;Q_.position=0;Q_.code='require("ajv/dist/runtime/parseJson").parseJsonString'});var o7e=S(Mse=>{"use strict";Object.defineProperty(Mse,"__esModule",{value:!0});var m1r=Tse(),e7e=rv(),It=qt(),g1r=zp(),$r=cd(),_1r=no(),A1r=k6(),E1r=fse(),Nse=WVe(),t7e=fr(),y1r=dse(),v1r={elements:I1r,values:R1r,discriminator:x1r,properties:XVe,optionalProperties:XVe,enum:N1r,type:w1r,ref:O1r};function r7e(e,t){let r=e7e.getCompilingSchema.call(this,e);if(r)return r;let{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new It.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o=a.scopeName("parse"),c={self:this,gen:a,schema:e.schema,schemaEnv:e,definitions:t,data:$r.default.data,parseName:o,char:a.name("c")},u;try{this._compilations.add(e),e.parseName=o,S1r(c),a.optimize(this.opts.code.optimize);let l=a.toString();u=`${a.scopeRefs($r.default.scope)}return ${l}`;let f=new Function(`${$r.default.scope}`,u)(this.scope.get());this.scope.value(o,{ref:f}),e.parse=f}catch(l){throw u&&this.logger.error("Error compiling parser, function code:",u),delete e.parse,delete e.parseName,l}finally{this._compilations.delete(e)}return e}Mse.default=r7e;var wse=(0,It._)`undefined`;function S1r(e){let{gen:t,parseName:r,char:n}=e;t.func(r,(0,It._)`${$r.default.json}, ${$r.default.jsonPos}, ${$r.default.jsonPart}`,!1,()=>{t.let($r.default.data),t.let(n),t.assign((0,It._)`${r}.message`,wse),t.assign((0,It._)`${r}.position`,wse),t.assign($r.default.jsonPos,(0,It._)`${$r.default.jsonPos} || 0`),t.const($r.default.jsonLen,(0,It._)`${$r.default.json}.length`),q6(e),Lse(e),t.if($r.default.jsonPart,()=>{t.assign((0,It._)`${r}.position`,$r.default.jsonPos),t.return($r.default.data)}),t.if((0,It._)`${$r.default.jsonPos} === ${$r.default.jsonLen}`,()=>t.return($r.default.data)),Y1(e)})}function q6(e){let t;for(let r of m1r.jtdForms)if(r in e.schema){t=r;break}t?b1r(e,v1r[t]):Dse(e)}var T1r=ZVe(!0,ZVe(!1,Y1));function b1r(e,t){let{gen:r,schema:n,data:s}=e;if(!n.nullable)return t(e);iD(e,"null",t,()=>r.assign(s,null))}function I1r(e){let{gen:t,schema:r,data:n}=e;Z0(e,"[");let s=t.let("i",0);t.assign(n,(0,It._)`[]`),Ose(e,"]",()=>{let i=t.let("el");q6({...e,schema:r.elements,data:i}),t.assign((0,It._)`${n}[${s}++]`,i)})}function R1r(e){let{gen:t,schema:r,data:n}=e;Z0(e,"{"),t.assign(n,(0,It._)`{}`),Ose(e,"}",()=>C1r(e,r.values))}function Ose(e,t,r){n7e(e,t,r),Z0(e,t)}function n7e(e,t,r){let{gen:n}=e;n.for((0,It._)`;${$r.default.jsonPos}<${$r.default.jsonLen} && ${H6(1)}!==${t};`,()=>{r(),iD(e,",",()=>n.break(),s)});function s(){iD(e,t,()=>{},Y1)}}function C1r(e,t){let{gen:r}=e,n=r.let("key");ov({...e,data:n}),Z0(e,":"),i7e(e,n,t)}function x1r(e){let{gen:t,data:r,schema:n}=e,{discriminator:s,mapping:i}=n;Z0(e,"{"),t.assign(r,(0,It._)`{}`);let a=t.const("pos",$r.default.jsonPos),o=t.let("value"),c=t.let("tag");n7e(e,"}",()=>{let u=t.let("key");ov({...e,data:u}),Z0(e,":"),t.if((0,It._)`${u} === ${s}`,()=>{ov({...e,data:c}),t.assign((0,It._)`${r}[${u}]`,c),t.break()},()=>Dse({...e,data:o}))}),t.assign($r.default.jsonPos,a),t.if((0,It._)`${c} === undefined`),rm(e,(0,It.str)`discriminator tag not found`);for(let u in i)t.elseIf((0,It._)`${c} === ${u}`),s7e({...e,schema:i[u]},s);t.else(),rm(e,(0,It.str)`discriminator value not in schema`),t.endIf()}function XVe(e){let{gen:t,data:r}=e;Z0(e,"{"),t.assign(r,(0,It._)`{}`),s7e(e)}function s7e(e,t){let{gen:r,schema:n,data:s}=e,{properties:i,optionalProperties:a,additionalProperties:o}=n;if(Ose(e,"}",()=>{let c=r.let("key");if(ov({...e,data:c}),Z0(e,":"),r.if(!1),JVe(e,c,i),JVe(e,c,a),t){r.elseIf((0,It._)`${c} === ${t}`);let u=r.let("tag");ov({...e,data:u})}r.else(),o?Dse({...e,data:(0,It._)`${s}[${c}]`}):rm(e,(0,It.str)`property ${c} not allowed`),r.endIf()}),i){let c=(0,_1r.hasPropFunc)(r),u=(0,It.and)(...Object.keys(i).map(l=>(0,It._)`${c}.call(${s}, ${l})`));r.if((0,It.not)(u),()=>rm(e,(0,It.str)`missing required properties`))}}function JVe(e,t,r={}){let{gen:n}=e;for(let s in r)n.elseIf((0,It._)`${t} === ${s}`),i7e(e,t,r[s])}function i7e(e,t,r){q6({...e,schema:r,data:(0,It._)`${e.data}[${t}]`})}function w1r(e){let{gen:t,schema:r,data:n,self:s}=e;switch(r.type){case"boolean":T1r(e);break;case"string":ov(e);break;case"timestamp":{ov(e);let i=(0,t7e.useFunc)(t,y1r.default),{allowDate:a,parseDate:o}=s.opts,c=a?(0,It._)`!${i}(${n}, true)`:(0,It._)`!${i}(${n})`,u=o?(0,It.or)(c,(0,It._)`(${n} = new Date(${n}), false)`,(0,It._)`isNaN(${n}.valueOf())`):c;t.if(u,()=>rm(e,(0,It.str)`invalid timestamp`));break}case"float32":case"float64":xse(e);break;default:{let i=r.type;if(!s.opts.int32range&&(i==="int32"||i==="uint32"))xse(e,16),i==="uint32"&&t.if((0,It._)`${n} < 0`,()=>rm(e,(0,It.str)`integer out of range`));else{let[a,o,c]=E1r.intRange[i];xse(e,c),t.if((0,It._)`${n} < ${a} || ${n} > ${o}`,()=>rm(e,(0,It.str)`integer out of range`))}}}}function ov(e){Z0(e,'"'),Pse(e,Nse.parseJsonString)}function N1r(e){let{gen:t,data:r,schema:n}=e,s=n.enum;Z0(e,'"'),t.if(!1);for(let i of s){let a=JSON.stringify(i).slice(1);t.elseIf((0,It._)`${H6(a.length)} === ${a}`),t.assign(r,(0,It.str)`${i}`),t.add($r.default.jsonPos,a.length)}t.else(),Y1(e),t.endIf()}function xse(e,t){let{gen:r}=e;Lse(e),r.if((0,It._)`"-0123456789".indexOf(${H6(1)}) < 0`,()=>Y1(e),()=>Pse(e,Nse.parseJsonNumber,t))}function ZVe(e,t){return r=>{let{gen:n,data:s}=r;iD(r,`${e}`,()=>t(r),()=>n.assign(s,e))}}function O1r(e){let{gen:t,self:r,definitions:n,schema:s,schemaEnv:i}=e,{ref:a}=s,o=n[a];if(!o)throw new g1r.default(r.opts.uriResolver,"",a,`No definition ${a}`);if(!(0,A1r.hasRef)(o))return q6({...e,schema:o});let{root:c}=i,u=r7e.call(r,new e7e.SchemaEnv({schema:o,root:c}),n);a7e(e,D1r(t,u),!0)}function D1r(e,t){return t.parse?e.scopeValue("parse",{ref:t.parse}):(0,It._)`${e.scopeValue("wrapper",{ref:t})}.parse`}function Dse(e){Pse(e,Nse.parseJson)}function Pse(e,t,r){a7e(e,(0,t7e.useFunc)(e.gen,t),r)}function a7e(e,t,r){let{gen:n,data:s}=e;n.assign(s,(0,It._)`${t}(${$r.default.json}, ${$r.default.jsonPos}${r?(0,It._)`, ${r}`:It.nil})`),n.assign($r.default.jsonPos,(0,It._)`${t}.position`),n.if((0,It._)`${s} === undefined`,()=>rm(e,(0,It._)`${t}.message`))}function Z0(e,t){iD(e,t,Y1)}function iD(e,t,r,n){let{gen:s}=e,i=t.length;Lse(e),s.if((0,It._)`${H6(i)} === ${t}`,()=>{s.add($r.default.jsonPos,i),n?.(e)},()=>r(e))}function Lse({gen:e,char:t}){e.code((0,It._)`while((${t}=${$r.default.json}[${$r.default.jsonPos}],${t}===" "||${t}==="\\n"||${t}==="\\r"||${t}==="\\t"))${$r.default.jsonPos}++;`)}function H6(e){return e===1?(0,It._)`${$r.default.json}[${$r.default.jsonPos}]`:(0,It._)`${$r.default.json}.slice(${$r.default.jsonPos}, ${$r.default.jsonPos}+${e})`}function Y1(e){rm(e,(0,It._)`"unexpected token " + ${$r.default.json}[${$r.default.jsonPos}]`)}function rm({gen:e,parseName:t},r){e.assign((0,It._)`${t}.message`,r),e.assign((0,It._)`${t}.position`,$r.default.jsonPos),e.return(wse)}});var Use=S((Us,Bse)=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});Us.MissingRefError=Us.ValidationError=Us.CodeGen=Us.Name=Us.nil=Us.stringify=Us.str=Us._=Us.KeywordCxt=Us.Ajv=void 0;var P1r=_ne(),L1r=kVe(),M1r=$Ve(),k1r=QVe(),B1r=o7e(),kse="JTD-meta-schema",Q1=class extends P1r.default{constructor(t={}){super({...t,jtd:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(L1r.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema(),this.opts.meta&&this.addMetaSchema(M1r.default,kse,!1)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(kse)?kse:void 0)}compileSerializer(t){let r=this._addSchema(t);return r.serialize||this._compileSerializer(r)}compileParser(t){let r=this._addSchema(t);return r.parse||this._compileParser(r)}_compileSerializer(t){if(k1r.default.call(this,t,t.schema.definitions||{}),!t.serialize)throw new Error("ajv implementation error");return t.serialize}_compileParser(t){if(B1r.default.call(this,t,t.schema.definitions||{}),!t.parse)throw new Error("ajv implementation error");return t.parse}};Us.Ajv=Q1;Bse.exports=Us=Q1;Bse.exports.Ajv=Q1;Object.defineProperty(Us,"__esModule",{value:!0});Us.default=Q1;var U1r=P1();Object.defineProperty(Us,"KeywordCxt",{enumerable:!0,get:function(){return U1r.KeywordCxt}});var z1=qt();Object.defineProperty(Us,"_",{enumerable:!0,get:function(){return z1._}});Object.defineProperty(Us,"str",{enumerable:!0,get:function(){return z1.str}});Object.defineProperty(Us,"stringify",{enumerable:!0,get:function(){return z1.stringify}});Object.defineProperty(Us,"nil",{enumerable:!0,get:function(){return z1.nil}});Object.defineProperty(Us,"Name",{enumerable:!0,get:function(){return z1.Name}});Object.defineProperty(Us,"CodeGen",{enumerable:!0,get:function(){return z1.CodeGen}});var F1r=$O();Object.defineProperty(Us,"ValidationError",{enumerable:!0,get:function(){return F1r.default}});var $1r=zp();Object.defineProperty(Us,"MissingRefError",{enumerable:!0,get:function(){return $1r.default}})});var Fse=S((H5n,c7e)=>{"use strict";var q1r=nte();c7e.exports=Object.freeze({coerceTypes:"array",useDefaults:!0,removeAdditional:!0,uriResolver:q1r,addUsedSchema:!1,allErrors:!1})});var p7e=S(eh=>{"use strict";Object.defineProperty(eh,"__esModule",{value:!0});eh.formatNames=eh.fastFormats=eh.fullFormats=void 0;function W1(e,t){return{validate:e,compare:t}}eh.fullFormats={date:W1(d7e,Hse),time:W1(f7e,Vse),"date-time":W1(K1r,h7e),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:Q1r,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:tIr,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:z1r,int32:{type:"number",validate:J1r},int64:{type:"number",validate:Z1r},float:{type:"number",validate:l7e},double:{type:"number",validate:l7e},password:!0,binary:!0};eh.fastFormats={...eh.fullFormats,date:W1(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,Hse),time:W1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Vse),"date-time":W1(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,h7e),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};eh.formatNames=Object.keys(eh.fullFormats);function H1r(e){return e%4===0&&(e%100!==0||e%400===0)}var V1r=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,j1r=[0,31,28,31,30,31,30,31,31,30,31,30,31];function d7e(e){let t=V1r.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],s=+t[3];return n>=1&&n<=12&&s>=1&&s<=(n===2&&H1r(r)?29:j1r[n])}function Hse(e,t){if(e&&t)return e>t?1:et?1:e=W1r}function Z1r(e){return Number.isInteger(e)}function l7e(){return!0}var eIr=/[^\\]\\Z/;function tIr(e){if(eIr.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var cD=S(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.regexpCode=bn.getEsmExportName=bn.getProperty=bn.safeStringify=bn.stringify=bn.strConcat=bn.addCodeArg=bn.str=bn._=bn.nil=bn._Code=bn.Name=bn.IDENTIFIER=bn._CodeOrName=void 0;var aD=class{};bn._CodeOrName=aD;bn.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var cv=class extends aD{constructor(t){if(super(),!bn.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};bn.Name=cv;var dd=class extends aD{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let t=this._items[0];return t===""||t==='""'}get str(){var t;return(t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof cv&&(r[n.str]=(r[n.str]||0)+1),r),{})}};bn._Code=dd;bn.nil=new dd("");function m7e(e,...t){let r=[e[0]],n=0;for(;n{"use strict";Object.defineProperty(yu,"__esModule",{value:!0});yu.ValueScope=yu.ValueScopeName=yu.Scope=yu.varKinds=yu.UsedValueState=void 0;var Eu=cD(),Gse=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},V6;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(V6||(yu.UsedValueState=V6={}));yu.varKinds={const:new Eu.Name("const"),let:new Eu.Name("let"),var:new Eu.Name("var")};var j6=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof Eu.Name?t:this.name(t)}name(t){return new Eu.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return`${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};yu.Scope=j6;var K6=class extends Eu.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,Eu._)`.${new Eu.Name(r)}[${n}]`}};yu.ValueScopeName=K6;var lIr=(0,Eu._)`\n`,Yse=class extends j6{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?lIr:Eu.nil}}get(){return this._scope}name(t){return new K6(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(t),{prefix:i}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,o=this._values[i];if(o){let l=o.get(a);if(l)return l}else o=this._values[i]=new Map;o.set(a,s);let c=this._scope[i]||(this._scope[i]=[]),u=c.length;return c[u]=r.ref,s.setValue(r,{property:i,itemIndex:u}),s}getValue(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Eu._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(t,r,n={},s){let i=Eu.nil;for(let a in t){let o=t[a];if(!o)continue;let c=n[a]=n[a]||new Map;o.forEach(u=>{if(c.has(u))return;c.set(u,V6.Started);let l=r(u);if(l){let d=this.opts.es5?yu.varKinds.var:yu.varKinds.const;i=(0,Eu._)`${i}${d} ${u} = ${l};${this.opts._n}`}else if(l=s?.(u))i=(0,Eu._)`${i}${l}${this.opts._n}`;else throw new Gse(u);c.set(u,V6.Completed)})}return i}};yu.ValueScope=Yse});var Er=S(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.or=xr.and=xr.not=xr.CodeGen=xr.operators=xr.varKinds=xr.ValueScopeName=xr.ValueScope=xr.Scope=xr.Name=xr.regexpCode=xr.stringify=xr.getProperty=xr.nil=xr.strConcat=xr.str=xr._=void 0;var tn=cD(),bf=Qse(),W_=cD();Object.defineProperty(xr,"_",{enumerable:!0,get:function(){return W_._}});Object.defineProperty(xr,"str",{enumerable:!0,get:function(){return W_.str}});Object.defineProperty(xr,"strConcat",{enumerable:!0,get:function(){return W_.strConcat}});Object.defineProperty(xr,"nil",{enumerable:!0,get:function(){return W_.nil}});Object.defineProperty(xr,"getProperty",{enumerable:!0,get:function(){return W_.getProperty}});Object.defineProperty(xr,"stringify",{enumerable:!0,get:function(){return W_.stringify}});Object.defineProperty(xr,"regexpCode",{enumerable:!0,get:function(){return W_.regexpCode}});Object.defineProperty(xr,"Name",{enumerable:!0,get:function(){return W_.Name}});var z6=Qse();Object.defineProperty(xr,"Scope",{enumerable:!0,get:function(){return z6.Scope}});Object.defineProperty(xr,"ValueScope",{enumerable:!0,get:function(){return z6.ValueScope}});Object.defineProperty(xr,"ValueScopeName",{enumerable:!0,get:function(){return z6.ValueScopeName}});Object.defineProperty(xr,"varKinds",{enumerable:!0,get:function(){return z6.varKinds}});xr.operators={GT:new tn._Code(">"),GTE:new tn._Code(">="),LT:new tn._Code("<"),LTE:new tn._Code("<="),EQ:new tn._Code("==="),NEQ:new tn._Code("!=="),NOT:new tn._Code("!"),OR:new tn._Code("||"),AND:new tn._Code("&&"),ADD:new tn._Code("+")};var nm=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},zse=class extends nm{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n}render({es5:t,_n:r}){let n=t?bf.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${s};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=J1(this.rhs,t,r)),this}get names(){return this.rhs instanceof tn._CodeOrName?this.rhs.names:{}}},G6=class extends nm{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof tn.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=J1(this.rhs,t,r),this}get names(){let t=this.lhs instanceof tn.Name?{}:{...this.lhs.names};return Q6(t,this.rhs)}},Wse=class extends G6{constructor(t,r,n,s){super(t,n,s),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},Xse=class extends nm{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},Jse=class extends nm{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},Zse=class extends nm{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},eie=class extends nm{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,r){return this.code=J1(this.code,t,r),this}get names(){return this.code instanceof tn._CodeOrName?this.code.names:{}}},uD=class extends nm{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1)}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,s=n.length;for(;s--;){let i=n[s];i.optimizeNames(t,r)||(dIr(t,i.names),n.splice(s,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>dv(t,r.names),{})}},sm=class extends uD{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},tie=class extends uD{},X1=class extends sm{};X1.kind="else";var uv=class e extends sm{constructor(t,r){super(r),this.condition=t}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new X1(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(_7e(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=J1(this.condition,t,r),this}get names(){let t=super.names;return Q6(t,this.condition),this.else&&dv(t,this.else.names),t}};uv.kind="if";var lv=class extends sm{};lv.kind="for";var rie=class extends lv{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=J1(this.iteration,t,r),this}get names(){return dv(super.names,this.iteration.names)}},nie=class extends lv{constructor(t,r,n,s){super(),this.varKind=t,this.name=r,this.from=n,this.to=s}render(t){let r=t.es5?bf.varKinds.var:this.varKind,{name:n,from:s,to:i}=this;return`for(${r} ${n}=${s}; ${n}<${i}; ${n}++)`+super.render(t)}get names(){let t=Q6(super.names,this.from);return Q6(t,this.to)}},Y6=class extends lv{constructor(t,r,n,s){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=s}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=J1(this.iterable,t,r),this}get names(){return dv(super.names,this.iterable.names)}},lD=class extends sm{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};lD.kind="func";var dD=class extends uD{render(t){return"return "+super.render(t)}};dD.kind="return";var sie=class extends sm{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,s;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(s=this.finally)===null||s===void 0||s.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&dv(t,this.catch.names),this.finally&&dv(t,this.finally.names),t}},fD=class extends sm{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};fD.kind="catch";var hD=class extends sm{render(t){return"finally"+super.render(t)}};hD.kind="finally";var iie=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?` +`:""},this._extScope=t,this._scope=new bf.Scope({parent:t}),this._nodes=[new tie]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let n=this._extScope.value(t,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,n,s){let i=this._scope.toName(r);return n!==void 0&&s&&(this._constants[i.str]=n),this._leafNode(new zse(t,i,n)),i}const(t,r,n){return this._def(bf.varKinds.const,t,r,n)}let(t,r,n){return this._def(bf.varKinds.let,t,r,n)}var(t,r,n){return this._def(bf.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new G6(t,r,n))}add(t,r){return this._leafNode(new Wse(t,xr.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==tn.nil&&this._leafNode(new eie(t)),this}object(...t){let r=["{"];for(let[n,s]of t)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0,tn.addCodeArg)(r,s));return r.push("}"),new tn._Code(r)}if(t,r,n){if(this._blockNode(new uv(t)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new uv(t))}else(){return this._elseNode(new X1)}endIf(){return this._endBlockNode(uv,X1)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new rie(t),r)}forRange(t,r,n,s,i=this.opts.es5?bf.varKinds.var:bf.varKinds.let){let a=this._scope.toName(t);return this._for(new nie(i,a,r,n),()=>s(a))}forOf(t,r,n,s=bf.varKinds.const){let i=this._scope.toName(t);if(this.opts.es5){let a=r instanceof tn.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,tn._)`${a}.length`,o=>{this.var(i,(0,tn._)`${a}[${o}]`),n(i)})}return this._for(new Y6("of",s,i,r),()=>n(i))}forIn(t,r,n,s=this.opts.es5?bf.varKinds.var:bf.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,tn._)`Object.keys(${r})`,n);let i=this._scope.toName(t);return this._for(new Y6("in",s,i,r),()=>n(i))}endFor(){return this._endBlockNode(lv)}label(t){return this._leafNode(new Xse(t))}break(t){return this._leafNode(new Jse(t))}return(t){let r=new dD;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(dD)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new sie;if(this._blockNode(s),this.code(t),r){let i=this.name("e");this._currNode=s.catch=new fD(i),r(i)}return n&&(this._currNode=s.finally=new hD,this.code(n)),this._endBlockNode(fD,hD)}throw(t){return this._leafNode(new Zse(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=tn.nil,n,s){return this._blockNode(new lD(t,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(lD)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t)}_endBlockNode(t,r){let n=this._currNode;if(n instanceof t||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof uv))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t}};xr.CodeGen=iie;function dv(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function Q6(e,t){return t instanceof tn._CodeOrName?dv(e,t.names):e}function J1(e,t,r){if(e instanceof tn.Name)return n(e);if(!s(e))return e;return new tn._Code(e._items.reduce((i,a)=>(a instanceof tn.Name&&(a=n(a)),a instanceof tn._Code?i.push(...a._items):i.push(a),i),[]));function n(i){let a=r[i.str];return a===void 0||t[i.str]!==1?i:(delete t[i.str],a)}function s(i){return i instanceof tn._Code&&i._items.some(a=>a instanceof tn.Name&&t[a.str]===1&&r[a.str]!==void 0)}}function dIr(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function _7e(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,tn._)`!${aie(e)}`}xr.not=_7e;var fIr=A7e(xr.operators.AND);function hIr(...e){return e.reduce(fIr)}xr.and=hIr;var pIr=A7e(xr.operators.OR);function mIr(...e){return e.reduce(pIr)}xr.or=mIr;function A7e(e){return(t,r)=>t===tn.nil?r:r===tn.nil?t:(0,tn._)`${aie(t)} ${e} ${aie(r)}`}function aie(e){return e instanceof tn.Name?e:(0,tn._)`(${e})`}});var pn=S(Dr=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});Dr.checkStrictMode=Dr.getErrorPath=Dr.Type=Dr.useFunc=Dr.setEvaluated=Dr.evaluatedPropsToName=Dr.mergeEvaluated=Dr.eachItem=Dr.unescapeJsonPointer=Dr.escapeJsonPointer=Dr.escapeFragment=Dr.unescapeFragment=Dr.schemaRefOrVal=Dr.schemaHasRulesButRef=Dr.schemaHasRules=Dr.checkUnknownRules=Dr.alwaysValidSchema=Dr.toHash=void 0;var As=Er(),gIr=cD();function _Ir(e){let t={};for(let r of e)t[r]=!0;return t}Dr.toHash=_Ir;function AIr(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(v7e(e,t),!S7e(t,e.self.RULES.all))}Dr.alwaysValidSchema=AIr;function v7e(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let s=n.RULES.keywords;for(let i in t)s[i]||I7e(e,`unknown keyword: "${i}"`)}Dr.checkUnknownRules=v7e;function S7e(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}Dr.schemaHasRules=S7e;function EIr(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}Dr.schemaHasRulesButRef=EIr;function yIr({topSchemaRef:e,schemaPath:t},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,As._)`${r}`}return(0,As._)`${e}${t}${(0,As.getProperty)(n)}`}Dr.schemaRefOrVal=yIr;function vIr(e){return T7e(decodeURIComponent(e))}Dr.unescapeFragment=vIr;function SIr(e){return encodeURIComponent(cie(e))}Dr.escapeFragment=SIr;function cie(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}Dr.escapeJsonPointer=cie;function T7e(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}Dr.unescapeJsonPointer=T7e;function TIr(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}Dr.eachItem=TIr;function E7e({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(s,i,a,o)=>{let c=a===void 0?i:a instanceof As.Name?(i instanceof As.Name?e(s,i,a):t(s,i,a),a):i instanceof As.Name?(t(s,a,i),i):r(i,a);return o===As.Name&&!(c instanceof As.Name)?n(s,c):c}}Dr.mergeEvaluated={props:E7e({mergeNames:(e,t,r)=>e.if((0,As._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,As._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,As._)`${r} || {}`).code((0,As._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,As._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,As._)`${r} || {}`),uie(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:b7e}),items:E7e({mergeNames:(e,t,r)=>e.if((0,As._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,As._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,As._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,As._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function b7e(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,As._)`{}`);return t!==void 0&&uie(e,r,t),r}Dr.evaluatedPropsToName=b7e;function uie(e,t,r){Object.keys(r).forEach(n=>e.assign((0,As._)`${t}${(0,As.getProperty)(n)}`,!0))}Dr.setEvaluated=uie;var y7e={};function bIr(e,t){return e.scopeValue("func",{ref:t,code:y7e[t.code]||(y7e[t.code]=new gIr._Code(t.code))})}Dr.useFunc=bIr;var oie;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(oie||(Dr.Type=oie={}));function IIr(e,t,r){if(e instanceof As.Name){let n=t===oie.Num;return r?n?(0,As._)`"[" + ${e} + "]"`:(0,As._)`"['" + ${e} + "']"`:n?(0,As._)`"/" + ${e}`:(0,As._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,As.getProperty)(e).toString():"/"+cie(e)}Dr.getErrorPath=IIr;function I7e(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}Dr.checkStrictMode=I7e});var im=S(lie=>{"use strict";Object.defineProperty(lie,"__esModule",{value:!0});var qo=Er(),RIr={data:new qo.Name("data"),valCxt:new qo.Name("valCxt"),instancePath:new qo.Name("instancePath"),parentData:new qo.Name("parentData"),parentDataProperty:new qo.Name("parentDataProperty"),rootData:new qo.Name("rootData"),dynamicAnchors:new qo.Name("dynamicAnchors"),vErrors:new qo.Name("vErrors"),errors:new qo.Name("errors"),this:new qo.Name("this"),self:new qo.Name("self"),scope:new qo.Name("scope"),json:new qo.Name("json"),jsonPos:new qo.Name("jsonPos"),jsonLen:new qo.Name("jsonLen"),jsonPart:new qo.Name("jsonPart")};lie.default=RIr});var pD=S(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.extendErrors=Ho.resetErrorsCount=Ho.reportExtraError=Ho.reportError=Ho.keyword$DataError=Ho.keywordError=void 0;var mn=Er(),W6=pn(),Lc=im();Ho.keywordError={message:({keyword:e})=>(0,mn.str)`must pass "${e}" keyword validation`};Ho.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,mn.str)`"${e}" keyword must be ${t} ($data)`:(0,mn.str)`"${e}" keyword is invalid ($data)`};function CIr(e,t=Ho.keywordError,r,n){let{it:s}=e,{gen:i,compositeRule:a,allErrors:o}=s,c=x7e(e,t,r);n??(a||o)?R7e(i,c):C7e(s,(0,mn._)`[${c}]`)}Ho.reportError=CIr;function xIr(e,t=Ho.keywordError,r){let{it:n}=e,{gen:s,compositeRule:i,allErrors:a}=n,o=x7e(e,t,r);R7e(s,o),i||a||C7e(n,Lc.default.vErrors)}Ho.reportExtraError=xIr;function wIr(e,t){e.assign(Lc.default.errors,t),e.if((0,mn._)`${Lc.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,mn._)`${Lc.default.vErrors}.length`,t),()=>e.assign(Lc.default.vErrors,null)))}Ho.resetErrorsCount=wIr;function NIr({gen:e,keyword:t,schemaValue:r,data:n,errsCount:s,it:i}){if(s===void 0)throw new Error("ajv implementation error");let a=e.name("err");e.forRange("i",s,Lc.default.errors,o=>{e.const(a,(0,mn._)`${Lc.default.vErrors}[${o}]`),e.if((0,mn._)`${a}.instancePath === undefined`,()=>e.assign((0,mn._)`${a}.instancePath`,(0,mn.strConcat)(Lc.default.instancePath,i.errorPath))),e.assign((0,mn._)`${a}.schemaPath`,(0,mn.str)`${i.errSchemaPath}/${t}`),i.opts.verbose&&(e.assign((0,mn._)`${a}.schema`,r),e.assign((0,mn._)`${a}.data`,n))})}Ho.extendErrors=NIr;function R7e(e,t){let r=e.const("err",t);e.if((0,mn._)`${Lc.default.vErrors} === null`,()=>e.assign(Lc.default.vErrors,(0,mn._)`[${r}]`),(0,mn._)`${Lc.default.vErrors}.push(${r})`),e.code((0,mn._)`${Lc.default.errors}++`)}function C7e(e,t){let{gen:r,validateName:n,schemaEnv:s}=e;s.$async?r.throw((0,mn._)`new ${e.ValidationError}(${t})`):(r.assign((0,mn._)`${n}.errors`,t),r.return(!1))}var fv={keyword:new mn.Name("keyword"),schemaPath:new mn.Name("schemaPath"),params:new mn.Name("params"),propertyName:new mn.Name("propertyName"),message:new mn.Name("message"),schema:new mn.Name("schema"),parentSchema:new mn.Name("parentSchema")};function x7e(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,mn._)`{}`:OIr(e,t,r)}function OIr(e,t,r={}){let{gen:n,it:s}=e,i=[DIr(s,r),PIr(e,r)];return LIr(e,t,i),n.object(...i)}function DIr({errorPath:e},{instancePath:t}){let r=t?(0,mn.str)`${e}${(0,W6.getErrorPath)(t,W6.Type.Str)}`:e;return[Lc.default.instancePath,(0,mn.strConcat)(Lc.default.instancePath,r)]}function PIr({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let s=n?t:(0,mn.str)`${t}/${e}`;return r&&(s=(0,mn.str)`${s}${(0,W6.getErrorPath)(r,W6.Type.Str)}`),[fv.schemaPath,s]}function LIr(e,{params:t,message:r},n){let{keyword:s,data:i,schemaValue:a,it:o}=e,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=o;n.push([fv.keyword,s],[fv.params,typeof t=="function"?t(e):t||(0,mn._)`{}`]),c.messages&&n.push([fv.message,typeof r=="function"?r(e):r]),c.verbose&&n.push([fv.schema,a],[fv.parentSchema,(0,mn._)`${l}${d}`],[Lc.default.data,i]),u&&n.push([fv.propertyName,u])}});var N7e=S(Z1=>{"use strict";Object.defineProperty(Z1,"__esModule",{value:!0});Z1.boolOrEmptySchema=Z1.topBoolOrEmptySchema=void 0;var MIr=pD(),kIr=Er(),BIr=im(),UIr={message:"boolean schema is false"};function FIr(e){let{gen:t,schema:r,validateName:n}=e;r===!1?w7e(e,!1):typeof r=="object"&&r.$async===!0?t.return(BIr.default.data):(t.assign((0,kIr._)`${n}.errors`,null),t.return(!0))}Z1.topBoolOrEmptySchema=FIr;function $Ir(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),w7e(e)):r.var(t,!0)}Z1.boolOrEmptySchema=$Ir;function w7e(e,t){let{gen:r,data:n}=e,s={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,MIr.reportError)(s,UIr,void 0,t)}});var die=S(eI=>{"use strict";Object.defineProperty(eI,"__esModule",{value:!0});eI.getRules=eI.isJSONType=void 0;var qIr=["string","number","integer","boolean","null","object","array"],HIr=new Set(qIr);function VIr(e){return typeof e=="string"&&HIr.has(e)}eI.isJSONType=VIr;function jIr(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}eI.getRules=jIr});var fie=S(X_=>{"use strict";Object.defineProperty(X_,"__esModule",{value:!0});X_.shouldUseRule=X_.shouldUseGroup=X_.schemaHasRulesForType=void 0;function KIr({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&O7e(e,n)}X_.schemaHasRulesForType=KIr;function O7e(e,t){return t.rules.some(r=>D7e(e,r))}X_.shouldUseGroup=O7e;function D7e(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}X_.shouldUseRule=D7e});var mD=S(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.reportTypeError=Vo.checkDataTypes=Vo.checkDataType=Vo.coerceAndCheckDataType=Vo.getJSONTypes=Vo.getSchemaTypes=Vo.DataType=void 0;var GIr=die(),YIr=fie(),QIr=pD(),pr=Er(),P7e=pn(),tI;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(tI||(Vo.DataType=tI={}));function zIr(e){let t=L7e(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}Vo.getSchemaTypes=zIr;function L7e(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(GIr.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}Vo.getJSONTypes=L7e;function WIr(e,t){let{gen:r,data:n,opts:s}=e,i=XIr(t,s.coerceTypes),a=t.length>0&&!(i.length===0&&t.length===1&&(0,YIr.schemaHasRulesForType)(e,t[0]));if(a){let o=pie(t,n,s.strictNumbers,tI.Wrong);r.if(o,()=>{i.length?JIr(e,t,i):mie(e)})}return a}Vo.coerceAndCheckDataType=WIr;var M7e=new Set(["string","number","integer","boolean","null"]);function XIr(e,t){return t?e.filter(r=>M7e.has(r)||t==="array"&&r==="array"):[]}function JIr(e,t,r){let{gen:n,data:s,opts:i}=e,a=n.let("dataType",(0,pr._)`typeof ${s}`),o=n.let("coerced",(0,pr._)`undefined`);i.coerceTypes==="array"&&n.if((0,pr._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0,pr._)`${s}[0]`).assign(a,(0,pr._)`typeof ${s}`).if(pie(t,s,i.strictNumbers),()=>n.assign(o,s))),n.if((0,pr._)`${o} !== undefined`);for(let u of r)(M7e.has(u)||u==="array"&&i.coerceTypes==="array")&&c(u);n.else(),mie(e),n.endIf(),n.if((0,pr._)`${o} !== undefined`,()=>{n.assign(s,o),ZIr(e,o)});function c(u){switch(u){case"string":n.elseIf((0,pr._)`${a} == "number" || ${a} == "boolean"`).assign(o,(0,pr._)`"" + ${s}`).elseIf((0,pr._)`${s} === null`).assign(o,(0,pr._)`""`);return;case"number":n.elseIf((0,pr._)`${a} == "boolean" || ${s} === null + || (${a} == "string" && ${s} && ${s} == +${s})`).assign(o,(0,pr._)`+${s}`);return;case"integer":n.elseIf((0,pr._)`${a} === "boolean" || ${s} === null + || (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(o,(0,pr._)`+${s}`);return;case"boolean":n.elseIf((0,pr._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(o,!1).elseIf((0,pr._)`${s} === "true" || ${s} === 1`).assign(o,!0);return;case"null":n.elseIf((0,pr._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(o,null);return;case"array":n.elseIf((0,pr._)`${a} === "string" || ${a} === "number" + || ${a} === "boolean" || ${s} === null`).assign(o,(0,pr._)`[${s}]`)}}}function ZIr({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,pr._)`${t} !== undefined`,()=>e.assign((0,pr._)`${t}[${r}]`,n))}function hie(e,t,r,n=tI.Correct){let s=n===tI.Correct?pr.operators.EQ:pr.operators.NEQ,i;switch(e){case"null":return(0,pr._)`${t} ${s} null`;case"array":i=(0,pr._)`Array.isArray(${t})`;break;case"object":i=(0,pr._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":i=a((0,pr._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":i=a();break;default:return(0,pr._)`typeof ${t} ${s} ${e}`}return n===tI.Correct?i:(0,pr.not)(i);function a(o=pr.nil){return(0,pr.and)((0,pr._)`typeof ${t} == "number"`,o,r?(0,pr._)`isFinite(${t})`:pr.nil)}}Vo.checkDataType=hie;function pie(e,t,r,n){if(e.length===1)return hie(e[0],t,r,n);let s,i=(0,P7e.toHash)(e);if(i.array&&i.object){let a=(0,pr._)`typeof ${t} != "object"`;s=i.null?a:(0,pr._)`!${t} || ${a}`,delete i.null,delete i.array,delete i.object}else s=pr.nil;i.number&&delete i.integer;for(let a in i)s=(0,pr.and)(s,hie(a,t,r,n));return s}Vo.checkDataTypes=pie;var eRr={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,pr._)`{type: ${e}}`:(0,pr._)`{type: ${t}}`};function mie(e){let t=tRr(e);(0,QIr.reportError)(t,eRr)}Vo.reportTypeError=mie;function tRr(e){let{gen:t,data:r,schema:n}=e,s=(0,P7e.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:e}}});var B7e=S(X6=>{"use strict";Object.defineProperty(X6,"__esModule",{value:!0});X6.assignDefaults=void 0;var rI=Er(),rRr=pn();function nRr(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let s in r)k7e(e,s,r[s].default);else t==="array"&&Array.isArray(n)&&n.forEach((s,i)=>k7e(e,i,s.default))}X6.assignDefaults=nRr;function k7e(e,t,r){let{gen:n,compositeRule:s,data:i,opts:a}=e;if(r===void 0)return;let o=(0,rI._)`${i}${(0,rI.getProperty)(t)}`;if(s){(0,rRr.checkStrictMode)(e,`default is ignored for: ${o}`);return}let c=(0,rI._)`${o} === undefined`;a.useDefaults==="empty"&&(c=(0,rI._)`${c} || ${o} === null || ${o} === ""`),n.if(c,(0,rI._)`${o} = ${(0,rI.stringify)(r)}`)}});var fd=S(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});is.validateUnion=is.validateArray=is.usePattern=is.callValidateCode=is.schemaProperties=is.allSchemaProperties=is.noPropertyInData=is.propertyInData=is.isOwnProperty=is.hasPropFunc=is.reportMissingProp=is.checkMissingProp=is.checkReportMissingProp=void 0;var Fs=Er(),gie=pn(),J_=im(),sRr=pn();function iRr(e,t){let{gen:r,data:n,it:s}=e;r.if(Aie(r,n,t,s.opts.ownProperties),()=>{e.setParams({missingProperty:(0,Fs._)`${t}`},!0),e.error()})}is.checkReportMissingProp=iRr;function aRr({gen:e,data:t,it:{opts:r}},n,s){return(0,Fs.or)(...n.map(i=>(0,Fs.and)(Aie(e,t,i,r.ownProperties),(0,Fs._)`${s} = ${i}`)))}is.checkMissingProp=aRr;function oRr(e,t){e.setParams({missingProperty:t},!0),e.error()}is.reportMissingProp=oRr;function U7e(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Fs._)`Object.prototype.hasOwnProperty`})}is.hasPropFunc=U7e;function _ie(e,t,r){return(0,Fs._)`${U7e(e)}.call(${t}, ${r})`}is.isOwnProperty=_ie;function cRr(e,t,r,n){let s=(0,Fs._)`${t}${(0,Fs.getProperty)(r)} !== undefined`;return n?(0,Fs._)`${s} && ${_ie(e,t,r)}`:s}is.propertyInData=cRr;function Aie(e,t,r,n){let s=(0,Fs._)`${t}${(0,Fs.getProperty)(r)} === undefined`;return n?(0,Fs.or)(s,(0,Fs.not)(_ie(e,t,r))):s}is.noPropertyInData=Aie;function F7e(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}is.allSchemaProperties=F7e;function uRr(e,t){return F7e(t).filter(r=>!(0,gie.alwaysValidSchema)(e,t[r]))}is.schemaProperties=uRr;function lRr({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:i},it:a},o,c,u){let l=u?(0,Fs._)`${e}, ${t}, ${n}${s}`:t,d=[[J_.default.instancePath,(0,Fs.strConcat)(J_.default.instancePath,i)],[J_.default.parentData,a.parentData],[J_.default.parentDataProperty,a.parentDataProperty],[J_.default.rootData,J_.default.rootData]];a.opts.dynamicRef&&d.push([J_.default.dynamicAnchors,J_.default.dynamicAnchors]);let f=(0,Fs._)`${l}, ${r.object(...d)}`;return c!==Fs.nil?(0,Fs._)`${o}.call(${c}, ${f})`:(0,Fs._)`${o}(${f})`}is.callValidateCode=lRr;var dRr=(0,Fs._)`new RegExp`;function fRr({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:s}=t.code,i=s(r,n);return e.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,Fs._)`${s.code==="new RegExp"?dRr:(0,sRr.useFunc)(e,s)}(${r}, ${n})`})}is.usePattern=fRr;function hRr(e){let{gen:t,data:r,keyword:n,it:s}=e,i=t.name("valid");if(s.allErrors){let o=t.let("valid",!0);return a(()=>t.assign(o,!1)),o}return t.var(i,!0),a(()=>t.break()),i;function a(o){let c=t.const("len",(0,Fs._)`${r}.length`);t.forRange("i",0,c,u=>{e.subschema({keyword:n,dataProp:u,dataPropType:gie.Type.Num},i),t.if((0,Fs.not)(i),o)})}}is.validateArray=hRr;function pRr(e){let{gen:t,schema:r,keyword:n,it:s}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,gie.alwaysValidSchema)(s,c))&&!s.opts.unevaluated)return;let a=t.let("valid",!1),o=t.name("_valid");t.block(()=>r.forEach((c,u)=>{let l=e.subschema({keyword:n,schemaProp:u,compositeRule:!0},o);t.assign(a,(0,Fs._)`${a} || ${o}`),e.mergeValidEvaluated(l,o)||t.if((0,Fs.not)(a))})),e.result(a,()=>e.reset(),()=>e.error(!0))}is.validateUnion=pRr});var H7e=S(th=>{"use strict";Object.defineProperty(th,"__esModule",{value:!0});th.validateKeywordUsage=th.validSchemaType=th.funcKeywordCode=th.macroKeywordCode=void 0;var Mc=Er(),hv=im(),mRr=fd(),gRr=pD();function _Rr(e,t){let{gen:r,keyword:n,schema:s,parentSchema:i,it:a}=e,o=t.macro.call(a.self,s,i,a),c=q7e(r,n,o);a.opts.validateSchema!==!1&&a.self.validateSchema(o,!0);let u=r.name("valid");e.subschema({schema:o,schemaPath:Mc.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),e.pass(u,()=>e.error(!0))}th.macroKeywordCode=_Rr;function ARr(e,t){var r;let{gen:n,keyword:s,schema:i,parentSchema:a,$data:o,it:c}=e;yRr(c,t);let u=!o&&t.compile?t.compile.call(c.self,i,a,c):t.validate,l=q7e(n,s,u),d=n.let("valid");e.block$data(d,f),e.ok((r=t.valid)!==null&&r!==void 0?r:d);function f(){if(t.errors===!1)m(),t.modifying&&$7e(e),g(()=>e.error());else{let _=t.async?h():p();t.modifying&&$7e(e),g(()=>ERr(e,_))}}function h(){let _=n.let("ruleErrs",null);return n.try(()=>m((0,Mc._)`await `),y=>n.assign(d,!1).if((0,Mc._)`${y} instanceof ${c.ValidationError}`,()=>n.assign(_,(0,Mc._)`${y}.errors`),()=>n.throw(y))),_}function p(){let _=(0,Mc._)`${l}.errors`;return n.assign(_,null),m(Mc.nil),_}function m(_=t.async?(0,Mc._)`await `:Mc.nil){let y=c.opts.passContext?hv.default.this:hv.default.self,E=!("compile"in t&&!o||t.schema===!1);n.assign(d,(0,Mc._)`${_}${(0,mRr.callValidateCode)(e,l,y,E)}`,t.modifying)}function g(_){var y;n.if((0,Mc.not)((y=t.valid)!==null&&y!==void 0?y:d),_)}}th.funcKeywordCode=ARr;function $7e(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,Mc._)`${n.parentData}[${n.parentDataProperty}]`))}function ERr(e,t){let{gen:r}=e;r.if((0,Mc._)`Array.isArray(${t})`,()=>{r.assign(hv.default.vErrors,(0,Mc._)`${hv.default.vErrors} === null ? ${t} : ${hv.default.vErrors}.concat(${t})`).assign(hv.default.errors,(0,Mc._)`${hv.default.vErrors}.length`),(0,gRr.extendErrors)(e)},()=>e.error())}function yRr({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function q7e(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Mc.stringify)(r)})}function vRr(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}th.validSchemaType=vRr;function SRr({schema:e,opts:t,self:r,errSchemaPath:n},s,i){if(Array.isArray(s.keyword)?!s.keyword.includes(i):s.keyword!==i)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(o=>!Object.prototype.hasOwnProperty.call(e,o)))throw new Error(`parent schema must have dependencies of ${i}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(e[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}th.validateKeywordUsage=SRr});var j7e=S(Z_=>{"use strict";Object.defineProperty(Z_,"__esModule",{value:!0});Z_.extendSubschemaMode=Z_.extendSubschemaData=Z_.getSubschema=void 0;var rh=Er(),V7e=pn();function TRr(e,{keyword:t,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:i,topSchemaRef:a}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let o=e.schema[t];return r===void 0?{schema:o,schemaPath:(0,rh._)`${e.schemaPath}${(0,rh.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:o[r],schemaPath:(0,rh._)`${e.schemaPath}${(0,rh.getProperty)(t)}${(0,rh.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,V7e.escapeFragment)(r)}`}}if(n!==void 0){if(s===void 0||i===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:s,topSchemaRef:a,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}Z_.getSubschema=TRr;function bRr(e,t,{dataProp:r,dataPropType:n,data:s,dataTypes:i,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:o}=t;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=t,f=o.let("data",(0,rh._)`${t.data}${(0,rh.getProperty)(r)}`,!0);c(f),e.errorPath=(0,rh.str)`${u}${(0,V7e.getErrorPath)(r,n,d.jsPropertySyntax)}`,e.parentDataProperty=(0,rh._)`${r}`,e.dataPathArr=[...l,e.parentDataProperty]}if(s!==void 0){let u=s instanceof rh.Name?s:o.let("data",s,!0);c(u),a!==void 0&&(e.propertyName=a)}i&&(e.dataTypes=i);function c(u){e.data=u,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,u]}}Z_.extendSubschemaData=bRr;function IRr(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:i}){n!==void 0&&(e.compositeRule=n),s!==void 0&&(e.createErrors=s),i!==void 0&&(e.allErrors=i),e.jtdDiscriminator=t,e.jtdMetadata=r}Z_.extendSubschemaMode=IRr});var G7e=S((s$n,K7e)=>{"use strict";var eA=K7e.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};J6(t,n,s,e,"",e)};eA.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};eA.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};eA.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};eA.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function J6(e,t,r,n,s,i,a,o,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,s,i,a,o,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in eA.arrayKeywords)for(var f=0;f{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});vu.getSchemaRefs=vu.resolveUrl=vu.normalizeId=vu._getFullPath=vu.getFullPath=vu.inlineRef=void 0;var CRr=pn(),xRr=td(),wRr=G7e(),NRr=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function ORr(e,t=!0){return typeof e=="boolean"?!0:t===!0?!Eie(e):t?Y7e(e)<=t:!1}vu.inlineRef=ORr;var DRr=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Eie(e){for(let t in e){if(DRr.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(Eie)||typeof r=="object"&&Eie(r))return!0}return!1}function Y7e(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!NRr.has(r)&&(typeof e[r]=="object"&&(0,CRr.eachItem)(e[r],n=>t+=Y7e(n)),t===1/0))return 1/0}return t}function Q7e(e,t="",r){r!==!1&&(t=nI(t));let n=e.parse(t);return z7e(e,n)}vu.getFullPath=Q7e;function z7e(e,t){return e.serialize(t).split("#")[0]+"#"}vu._getFullPath=z7e;var PRr=/#\/?$/;function nI(e){return e?e.replace(PRr,""):""}vu.normalizeId=nI;function LRr(e,t,r){return r=nI(r),e.resolve(t,r)}vu.resolveUrl=LRr;var MRr=/^[a-z_][-a-z0-9._]*$/i;function kRr(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,s=nI(e[r]||t),i={"":s},a=Q7e(n,s,!1),o={},c=new Set;return wRr(e,{allKeys:!0},(d,f,h,p)=>{if(p===void 0)return;let m=a+f,g=i[p];typeof d[r]=="string"&&(g=_.call(this,d[r])),y.call(this,d.$anchor),y.call(this,d.$dynamicAnchor),i[f]=g;function _(E){let A=this.opts.uriResolver.resolve;if(E=nI(g?A(g,E):E),c.has(E))throw l(E);c.add(E);let v=this.refs[E];return typeof v=="string"&&(v=this.refs[v]),typeof v=="object"?u(d,v.schema,E):E!==nI(m)&&(E[0]==="#"?(u(d,o[E],E),o[E]=d):this.refs[E]=m),E}function y(E){if(typeof E=="string"){if(!MRr.test(E))throw new Error(`invalid anchor "${E}"`);_.call(this,`#${E}`)}}}),o;function u(d,f,h){if(f!==void 0&&!xRr(d,f))throw l(h)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}vu.getSchemaRefs=kRr});var ED=S(tA=>{"use strict";Object.defineProperty(tA,"__esModule",{value:!0});tA.getData=tA.KeywordCxt=tA.validateFunctionCode=void 0;var eje=N7e(),W7e=mD(),vie=fie(),Z6=mD(),BRr=B7e(),AD=H7e(),yie=j7e(),Tt=Er(),Jt=im(),URr=gD(),am=pn(),_D=pD();function FRr(e){if(nje(e)&&(sje(e),rje(e))){HRr(e);return}tje(e,()=>(0,eje.topBoolOrEmptySchema)(e))}tA.validateFunctionCode=FRr;function tje({gen:e,validateName:t,schema:r,schemaEnv:n,opts:s},i){s.code.es5?e.func(t,(0,Tt._)`${Jt.default.data}, ${Jt.default.valCxt}`,n.$async,()=>{e.code((0,Tt._)`"use strict"; ${X7e(r,s)}`),qRr(e,s),e.code(i)}):e.func(t,(0,Tt._)`${Jt.default.data}, ${$Rr(s)}`,n.$async,()=>e.code(X7e(r,s)).code(i))}function $Rr(e){return(0,Tt._)`{${Jt.default.instancePath}="", ${Jt.default.parentData}, ${Jt.default.parentDataProperty}, ${Jt.default.rootData}=${Jt.default.data}${e.dynamicRef?(0,Tt._)`, ${Jt.default.dynamicAnchors}={}`:Tt.nil}}={}`}function qRr(e,t){e.if(Jt.default.valCxt,()=>{e.var(Jt.default.instancePath,(0,Tt._)`${Jt.default.valCxt}.${Jt.default.instancePath}`),e.var(Jt.default.parentData,(0,Tt._)`${Jt.default.valCxt}.${Jt.default.parentData}`),e.var(Jt.default.parentDataProperty,(0,Tt._)`${Jt.default.valCxt}.${Jt.default.parentDataProperty}`),e.var(Jt.default.rootData,(0,Tt._)`${Jt.default.valCxt}.${Jt.default.rootData}`),t.dynamicRef&&e.var(Jt.default.dynamicAnchors,(0,Tt._)`${Jt.default.valCxt}.${Jt.default.dynamicAnchors}`)},()=>{e.var(Jt.default.instancePath,(0,Tt._)`""`),e.var(Jt.default.parentData,(0,Tt._)`undefined`),e.var(Jt.default.parentDataProperty,(0,Tt._)`undefined`),e.var(Jt.default.rootData,Jt.default.data),t.dynamicRef&&e.var(Jt.default.dynamicAnchors,(0,Tt._)`{}`)})}function HRr(e){let{schema:t,opts:r,gen:n}=e;tje(e,()=>{r.$comment&&t.$comment&&aje(e),YRr(e),n.let(Jt.default.vErrors,null),n.let(Jt.default.errors,0),r.unevaluated&&VRr(e),ije(e),WRr(e)})}function VRr(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,Tt._)`${r}.evaluated`),t.if((0,Tt._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,Tt._)`${e.evaluated}.props`,(0,Tt._)`undefined`)),t.if((0,Tt._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,Tt._)`${e.evaluated}.items`,(0,Tt._)`undefined`))}function X7e(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,Tt._)`/*# sourceURL=${r} */`:Tt.nil}function jRr(e,t){if(nje(e)&&(sje(e),rje(e))){KRr(e,t);return}(0,eje.boolOrEmptySchema)(e,t)}function rje({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function nje(e){return typeof e.schema!="boolean"}function KRr(e,t){let{schema:r,gen:n,opts:s}=e;s.$comment&&r.$comment&&aje(e),QRr(e),zRr(e);let i=n.const("_errs",Jt.default.errors);ije(e,i),n.var(t,(0,Tt._)`${i} === ${Jt.default.errors}`)}function sje(e){(0,am.checkUnknownRules)(e),GRr(e)}function ije(e,t){if(e.opts.jtd)return J7e(e,[],!1,t);let r=(0,W7e.getSchemaTypes)(e.schema),n=(0,W7e.coerceAndCheckDataType)(e,r);J7e(e,r,!n,t)}function GRr(e){let{schema:t,errSchemaPath:r,opts:n,self:s}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,am.schemaHasRulesButRef)(t,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function YRr(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,am.checkStrictMode)(e,"default is ignored in the schema root")}function QRr(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,URr.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function zRr(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function aje({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:s}){let i=r.$comment;if(s.$comment===!0)e.code((0,Tt._)`${Jt.default.self}.logger.log(${i})`);else if(typeof s.$comment=="function"){let a=(0,Tt.str)`${n}/$comment`,o=e.scopeValue("root",{ref:t.root});e.code((0,Tt._)`${Jt.default.self}.opts.$comment(${i}, ${a}, ${o}.schema)`)}}function WRr(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:s,opts:i}=e;r.$async?t.if((0,Tt._)`${Jt.default.errors} === 0`,()=>t.return(Jt.default.data),()=>t.throw((0,Tt._)`new ${s}(${Jt.default.vErrors})`)):(t.assign((0,Tt._)`${n}.errors`,Jt.default.vErrors),i.unevaluated&&XRr(e),t.return((0,Tt._)`${Jt.default.errors} === 0`))}function XRr({gen:e,evaluated:t,props:r,items:n}){r instanceof Tt.Name&&e.assign((0,Tt._)`${t}.props`,r),n instanceof Tt.Name&&e.assign((0,Tt._)`${t}.items`,n)}function J7e(e,t,r,n){let{gen:s,schema:i,data:a,allErrors:o,opts:c,self:u}=e,{RULES:l}=u;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,am.schemaHasRulesButRef)(i,l))){s.block(()=>cje(e,"$ref",l.all.$ref.definition));return}c.jtd||JRr(e,t),s.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,vie.shouldUseGroup)(i,f)&&(f.type?(s.if((0,Z6.checkDataType)(f.type,a,c.strictNumbers)),Z7e(e,f),t.length===1&&t[0]===f.type&&r&&(s.else(),(0,Z6.reportTypeError)(e)),s.endIf()):Z7e(e,f),o||s.if((0,Tt._)`${Jt.default.errors} === ${n||0}`))}}function Z7e(e,t){let{gen:r,schema:n,opts:{useDefaults:s}}=e;s&&(0,BRr.assignDefaults)(e,t.type),r.block(()=>{for(let i of t.rules)(0,vie.shouldUseRule)(n,i)&&cje(e,i.keyword,i.definition,t.type)})}function JRr(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(ZRr(e,t),e.opts.allowUnionTypes||eCr(e,t),tCr(e,e.dataTypes))}function ZRr(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{oje(e.dataTypes,r)||Sie(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),nCr(e,t)}}function eCr(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&Sie(e,"use allowUnionTypes to allow union type keyword")}function tCr(e,t){let r=e.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0,vie.shouldUseRule)(e.schema,s)){let{type:i}=s.definition;i.length&&!i.some(a=>rCr(t,a))&&Sie(e,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function rCr(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function oje(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function nCr(e,t){let r=[];for(let n of e.dataTypes)oje(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function Sie(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,am.checkStrictMode)(e,t,e.opts.strictTypes)}var e8=class{constructor(t,r,n){if((0,AD.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,am.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",uje(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,AD.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",Jt.default.errors))}result(t,r,n){this.failResult((0,Tt.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,Tt.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,Tt._)`${r} !== undefined && (${(0,Tt.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?_D.reportExtraError:_D.reportError)(this,this.def.error,r)}$dataError(){(0,_D.reportError)(this,this.def.$dataError||_D.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,_D.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=Tt.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=Tt.nil,r=Tt.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:i,def:a}=this;n.if((0,Tt.or)((0,Tt._)`${s} === undefined`,r)),t!==Tt.nil&&n.assign(t,!0),(i.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==Tt.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:s,it:i}=this;return(0,Tt.or)(a(),o());function a(){if(n.length){if(!(r instanceof Tt.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,Tt._)`${(0,Z6.checkDataTypes)(c,r,i.opts.strictNumbers,Z6.DataType.Wrong)}`}return Tt.nil}function o(){if(s.validateSchema){let c=t.scopeValue("validate$data",{ref:s.validateSchema});return(0,Tt._)`!${c}(${r})`}return Tt.nil}}subschema(t,r){let n=(0,yie.getSubschema)(this.it,t);(0,yie.extendSubschemaData)(n,this.it,t),(0,yie.extendSubschemaMode)(n,t);let s={...this.it,...n,items:void 0,props:void 0};return jRr(s,r),s}mergeEvaluated(t,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=am.mergeEvaluated.props(s,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=am.mergeEvaluated.items(s,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return s.if(r,()=>this.mergeEvaluated(t,Tt.Name)),!0}};tA.KeywordCxt=e8;function cje(e,t,r,n){let s=new e8(e,r,t);"code"in r?r.code(s,n):s.$data&&r.validate?(0,AD.funcKeywordCode)(s,r):"macro"in r?(0,AD.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0,AD.funcKeywordCode)(s,r)}var sCr=/^\/(?:[^~]|~0|~1)*$/,iCr=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function uje(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let s,i;if(e==="")return Jt.default.rootData;if(e[0]==="/"){if(!sCr.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);s=e,i=Jt.default.rootData}else{let u=iCr.exec(e);if(!u)throw new Error(`Invalid JSON-pointer: ${e}`);let l=+u[1];if(s=u[2],s==="#"){if(l>=t)throw new Error(c("property/index",l));return n[t-l]}if(l>t)throw new Error(c("data",l));if(i=r[t-l],!s)return i}let a=i,o=s.split("/");for(let u of o)u&&(i=(0,Tt._)`${i}${(0,Tt.getProperty)((0,am.unescapeJsonPointer)(u))}`,a=(0,Tt._)`${a} && ${i}`);return a;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${t}`}}tA.getData=uje});var t8=S(bie=>{"use strict";Object.defineProperty(bie,"__esModule",{value:!0});var Tie=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};bie.default=Tie});var yD=S(Cie=>{"use strict";Object.defineProperty(Cie,"__esModule",{value:!0});var Iie=gD(),Rie=class extends Error{constructor(t,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Iie.resolveUrl)(t,r,n),this.missingSchema=(0,Iie.normalizeId)((0,Iie.getFullPath)(t,this.missingRef))}};Cie.default=Rie});var n8=S(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});hd.resolveSchema=hd.getCompilingSchema=hd.resolveRef=hd.compileSchema=hd.SchemaEnv=void 0;var If=Er(),aCr=t8(),pv=im(),Rf=gD(),lje=pn(),oCr=ED(),sI=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,Rf.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};hd.SchemaEnv=sI;function wie(e){let t=dje.call(this,e);if(t)return t;let r=(0,Rf.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new If.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o;e.$async&&(o=a.scopeValue("Error",{ref:aCr.default,code:(0,If._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");e.validateName=c;let u={gen:a,allErrors:this.opts.allErrors,data:pv.default.data,parentData:pv.default.parentData,parentDataProperty:pv.default.parentDataProperty,dataNames:[pv.default.data],dataPathArr:[If.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,If.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:o,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:If.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,If._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(e),(0,oCr.validateFunctionCode)(u),a.optimize(this.opts.code.optimize);let d=a.toString();l=`${a.scopeRefs(pv.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,e));let h=new Function(`${pv.default.self}`,`${pv.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:h}),h.errors=null,h.schema=e.schema,h.schemaEnv=e,e.$async&&(h.$async=!0),this.opts.code.source===!0&&(h.source={validateName:c,validateCode:d,scopeValues:a._values}),this.opts.unevaluated){let{props:p,items:m}=u;h.evaluated={props:p instanceof If.Name?void 0:p,items:m instanceof If.Name?void 0:m,dynamicProps:p instanceof If.Name,dynamicItems:m instanceof If.Name},h.source&&(h.source.evaluated=(0,If.stringify)(h.evaluated))}return e.validate=h,e}catch(d){throw delete e.validate,delete e.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(e)}}hd.compileSchema=wie;function cCr(e,t,r){var n;r=(0,Rf.resolveUrl)(this.opts.uriResolver,t,r);let s=e.refs[r];if(s)return s;let i=dCr.call(this,e,r);if(i===void 0){let a=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:o}=this.opts;a&&(i=new sI({schema:a,schemaId:o,root:e,baseId:t}))}if(i!==void 0)return e.refs[r]=uCr.call(this,i)}hd.resolveRef=cCr;function uCr(e){return(0,Rf.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:wie.call(this,e)}function dje(e){for(let t of this._compilations)if(lCr(t,e))return t}hd.getCompilingSchema=dje;function lCr(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function dCr(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||r8.call(this,e,t)}function r8(e,t){let r=this.opts.uriResolver.parse(t),n=(0,Rf._getFullPath)(this.opts.uriResolver,r),s=(0,Rf.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===s)return xie.call(this,r,e);let i=(0,Rf.normalizeId)(n),a=this.refs[i]||this.schemas[i];if(typeof a=="string"){let o=r8.call(this,e,a);return typeof o?.schema!="object"?void 0:xie.call(this,r,o)}if(typeof a?.schema=="object"){if(a.validate||wie.call(this,a),i===(0,Rf.normalizeId)(t)){let{schema:o}=a,{schemaId:c}=this.opts,u=o[c];return u&&(s=(0,Rf.resolveUrl)(this.opts.uriResolver,s,u)),new sI({schema:o,schemaId:c,root:e,baseId:s})}return xie.call(this,r,a)}}hd.resolveSchema=r8;var fCr=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function xie(e,{baseId:t,schema:r,root:n}){var s;if(((s=e.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let o of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,lje.unescapeFragment)(o)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!fCr.has(o)&&u&&(t=(0,Rf.resolveUrl)(this.opts.uriResolver,t,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,lje.schemaHasRulesButRef)(r,this.RULES)){let o=(0,Rf.resolveUrl)(this.opts.uriResolver,t,r.$ref);i=r8.call(this,n,o)}let{schemaId:a}=this.opts;if(i=i||new sI({schema:r,schemaId:a,root:n,baseId:t}),i.schema!==i.root.schema)return i}});var fje=S((l$n,hCr)=>{hCr.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var Oie=S((d$n,gje)=>{"use strict";var pCr=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),pje=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function Nie(e){let t="",r=0,n=0;for(n=0;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var mCr=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function hje(e){return e.length=0,!0}function gCr(e,t,r){if(e.length){let n=Nie(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function _Cr(e){let t=0,r={error:!1,address:"",zone:""},n=[],s=[],i=!1,a=!1,o=gCr;for(let c=0;c7){r.error=!0;break}c>0&&e[c-1]===":"&&(i=!0),n.push(":");continue}else if(u==="%"){if(!o(s,n,r))break;o=hje}else{s.push(u);continue}}return s.length&&(o===hje?r.zone=s.join(""):a?n.push(s.join("")):n.push(Nie(s))),r.address=n.join(""),r}function mje(e){if(ACr(e,":")<2)return{host:e,isIPV6:!1};let t=_Cr(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function ACr(e,t){let r=0;for(let n=0;n{"use strict";var{isUUID:SCr}=Oie(),TCr=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,bCr=["http","https","ws","wss","urn","urn:uuid"];function ICr(e){return bCr.indexOf(e)!==-1}function Die(e){return e.secure===!0?!0:e.secure===!1?!1:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):!1}function _je(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Aje(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function RCr(e){return e.secure=Die(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function CCr(e){if((e.port===(Die(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function xCr(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(TCr);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let s=`${n}:${t.nid||e.nid}`,i=Pie(s);e.path=void 0,i&&(e=i.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function wCr(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),s=`${r}:${t.nid||n}`,i=Pie(s);i&&(e=i.serialize(e,t));let a=e,o=e.nss;return a.path=`${n||t.nid}:${o}`,t.skipEscape=!0,a}function NCr(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!SCr(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function OCr(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var Eje={scheme:"http",domainHost:!0,parse:_je,serialize:Aje},DCr={scheme:"https",domainHost:Eje.domainHost,parse:_je,serialize:Aje},s8={scheme:"ws",domainHost:!0,parse:RCr,serialize:CCr},PCr={scheme:"wss",domainHost:s8.domainHost,parse:s8.parse,serialize:s8.serialize},LCr={scheme:"urn",parse:xCr,serialize:wCr,skipNormalize:!0},MCr={scheme:"urn:uuid",parse:NCr,serialize:OCr,skipNormalize:!0},i8={http:Eje,https:DCr,ws:s8,wss:PCr,urn:LCr,"urn:uuid":MCr};Object.setPrototypeOf(i8,null);function Pie(e){return e&&(i8[e]||i8[e.toLowerCase()])||void 0}yje.exports={wsIsSecure:Die,SCHEMES:i8,isValidSchemeName:ICr,getSchemeHandler:Pie}});var bje=S((h$n,o8)=>{"use strict";var{normalizeIPv6:kCr,removeDotSegments:vD,recomposeAuthority:BCr,normalizeComponentEncoding:a8,isIPv4:UCr,nonSimpleDomain:FCr}=Oie(),{SCHEMES:$Cr,getSchemeHandler:Sje}=vje();function qCr(e,t){return typeof e=="string"?e=nh(om(e,t),t):typeof e=="object"&&(e=om(nh(e,t),t)),e}function HCr(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=Tje(om(e,n),om(t,n),n,!0);return n.skipEscape=!0,nh(s,n)}function Tje(e,t,r,n){let s={};return n||(e=om(nh(e,r),r),t=om(nh(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(s.scheme=t.scheme,s.userinfo=t.userinfo,s.host=t.host,s.port=t.port,s.path=vD(t.path||""),s.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(s.userinfo=t.userinfo,s.host=t.host,s.port=t.port,s.path=vD(t.path||""),s.query=t.query):(t.path?(t.path[0]==="/"?s.path=vD(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?s.path="/"+t.path:e.path?s.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:s.path=t.path,s.path=vD(s.path)),s.query=t.query):(s.path=e.path,t.query!==void 0?s.query=t.query:s.query=e.query),s.userinfo=e.userinfo,s.host=e.host,s.port=e.port),s.scheme=e.scheme),s.fragment=t.fragment,s}function VCr(e,t,r){return typeof e=="string"?(e=unescape(e),e=nh(a8(om(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=nh(a8(e,!0),{...r,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=nh(a8(om(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=nh(a8(t,!0),{...r,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function nh(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),s=[],i=Sje(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&s.push(r.scheme,":");let a=BCr(r);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let o=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(o=vD(o)),a===void 0&&o[0]==="/"&&o[1]==="/"&&(o="/%2F"+o.slice(2)),s.push(o)}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var jCr=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function om(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let i=e.match(jCr);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host)if(UCr(n.host)===!1){let c=kCr(n.host);n.host=c.host.toLowerCase(),s=c.isIPV6}else s=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=Sje(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===!1&&FCr(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(o){n.error=n.error||"Host's domain name can not be converted to ASCII: "+o}(!a||a&&!a.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var Lie={SCHEMES:$Cr,normalize:qCr,resolve:HCr,resolveComponent:Tje,equal:VCr,serialize:nh,parse:om};o8.exports=Lie;o8.exports.default=Lie;o8.exports.fastUri=Lie});var Rje=S(Mie=>{"use strict";Object.defineProperty(Mie,"__esModule",{value:!0});var Ije=bje();Ije.code='require("ajv/dist/runtime/uri").default';Mie.default=Ije});var Lje=S(ao=>{"use strict";Object.defineProperty(ao,"__esModule",{value:!0});ao.CodeGen=ao.Name=ao.nil=ao.stringify=ao.str=ao._=ao.KeywordCxt=void 0;var KCr=ED();Object.defineProperty(ao,"KeywordCxt",{enumerable:!0,get:function(){return KCr.KeywordCxt}});var iI=Er();Object.defineProperty(ao,"_",{enumerable:!0,get:function(){return iI._}});Object.defineProperty(ao,"str",{enumerable:!0,get:function(){return iI.str}});Object.defineProperty(ao,"stringify",{enumerable:!0,get:function(){return iI.stringify}});Object.defineProperty(ao,"nil",{enumerable:!0,get:function(){return iI.nil}});Object.defineProperty(ao,"Name",{enumerable:!0,get:function(){return iI.Name}});Object.defineProperty(ao,"CodeGen",{enumerable:!0,get:function(){return iI.CodeGen}});var GCr=t8(),Oje=yD(),YCr=die(),SD=n8(),QCr=Er(),TD=gD(),c8=mD(),Bie=pn(),Cje=fje(),zCr=Rje(),Dje=(e,t)=>new RegExp(e,t);Dje.code="new RegExp";var WCr=["removeAdditional","useDefaults","coerceTypes"],XCr=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),JCr={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},ZCr={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},xje=200;function exr(e){var t,r,n,s,i,a,o,c,u,l,d,f,h,p,m,g,_,y,E,A,v,T,C,b,x;let w=e.strict,P=(t=e.code)===null||t===void 0?void 0:t.optimize,M=P===!0||P===void 0?1:P||0,L=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Dje,U=(s=e.uriResolver)!==null&&s!==void 0?s:zCr.default;return{strictSchema:(a=(i=e.strictSchema)!==null&&i!==void 0?i:w)!==null&&a!==void 0?a:!0,strictNumbers:(c=(o=e.strictNumbers)!==null&&o!==void 0?o:w)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=e.strictTypes)!==null&&u!==void 0?u:w)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=e.strictTuples)!==null&&d!==void 0?d:w)!==null&&f!==void 0?f:"log",strictRequired:(p=(h=e.strictRequired)!==null&&h!==void 0?h:w)!==null&&p!==void 0?p:!1,code:e.code?{...e.code,optimize:M,regExp:L}:{optimize:M,regExp:L},loopRequired:(m=e.loopRequired)!==null&&m!==void 0?m:xje,loopEnum:(g=e.loopEnum)!==null&&g!==void 0?g:xje,meta:(_=e.meta)!==null&&_!==void 0?_:!0,messages:(y=e.messages)!==null&&y!==void 0?y:!0,inlineRefs:(E=e.inlineRefs)!==null&&E!==void 0?E:!0,schemaId:(A=e.schemaId)!==null&&A!==void 0?A:"$id",addUsedSchema:(v=e.addUsedSchema)!==null&&v!==void 0?v:!0,validateSchema:(T=e.validateSchema)!==null&&T!==void 0?T:!0,validateFormats:(C=e.validateFormats)!==null&&C!==void 0?C:!0,unicodeRegExp:(b=e.unicodeRegExp)!==null&&b!==void 0?b:!0,int32range:(x=e.int32range)!==null&&x!==void 0?x:!0,uriResolver:U}}var bD=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...exr(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new QCr.ValueScope({scope:{},prefixes:XCr,es5:r,lines:n}),this.logger=axr(t.logger);let s=t.validateFormats;t.validateFormats=!1,this.RULES=(0,YCr.getRules)(),wje.call(this,JCr,t,"NOT SUPPORTED"),wje.call(this,ZCr,t,"DEPRECATED","warn"),this._metaOpts=sxr.call(this),t.formats&&rxr.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&nxr.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),txr.call(this),t.validateFormats=s}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,s=Cje;n==="id"&&(s={...Cje},s.id=s.$id,delete s.$id),r&&t&&this.addMetaSchema(s,s[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let s=n(r);return"$async"in n||(this.errors=n.errors),s}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,t,r);async function s(l,d){await i.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||a.call(this,f)}async function i(l){l&&!this.getSchema(l)&&await s.call(this,{$ref:l},!0)}async function a(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof Oje.default))throw d;return o.call(this,d),await c.call(this,d.missingSchema),a.call(this,l)}}function o({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await i.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(t,r,n,s=this.opts.validateSchema){if(Array.isArray(t)){for(let a of t)this.addSchema(a,void 0,n,s);return this}let i;if(typeof t=="object"){let{schemaId:a}=this.opts;if(i=t[a],i!==void 0&&typeof i!="string")throw new Error(`schema ${a} must be string`)}return r=(0,TD.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,s,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let s=this.validate(n,t);if(!s&&r){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return s}getSchema(t){let r;for(;typeof(r=Nje.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,s=new SD.SchemaEnv({schema:{},schemaId:n});if(r=SD.resolveSchema.call(this,s,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Nje.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,TD.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(cxr.call(this,n,r),!r)return(0,Bie.eachItem)(n,i=>kie.call(this,i)),this;lxr.call(this,r);let s={...r,type:(0,c8.getJSONTypes)(r.type),schemaType:(0,c8.getJSONTypes)(r.schemaType)};return(0,Bie.eachItem)(n,s.type.length===0?i=>kie.call(this,i,s):i=>s.type.forEach(a=>kie.call(this,i,s,a))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let s=n.rules.findIndex(i=>i.keyword===t);s>=0&&n.rules.splice(s,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,i)=>s+r+i)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let s of r){let i=s.split("/").slice(1),a=t;for(let o of i)a=a[o];for(let o in n){let c=n[o];if(typeof c!="object")continue;let{$data:u}=c.definition,l=a[o];u&&l&&(a[o]=Pje(l))}}return t}_removeAllSchemas(t,r){for(let n in t){let s=t[n];(!r||r.test(n))&&(typeof s=="string"?delete t[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete t[n]))}}_addSchema(t,r,n,s=this.opts.validateSchema,i=this.opts.addUsedSchema){let a,{schemaId:o}=this.opts;if(typeof t=="object")a=t[o];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(t);if(c!==void 0)return c;n=(0,TD.normalizeId)(a||n);let u=TD.getSchemaRefs.call(this,t,n);return c=new SD.SchemaEnv({schema:t,schemaId:o,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),i&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),s&&this.validateSchema(t,!0),c}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):SD.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{SD.compileSchema.call(this,t)}finally{this.opts=r}}};bD.ValidationError=GCr.default;bD.MissingRefError=Oje.default;ao.default=bD;function wje(e,t,r,n="error"){for(let s in e){let i=s;i in t&&this.logger[n](`${r}: option ${s}. ${e[i]}`)}}function Nje(e){return e=(0,TD.normalizeId)(e),this.schemas[e]||this.refs[e]}function txr(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function rxr(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function nxr(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function sxr(){let e={...this.opts};for(let t of WCr)delete e[t];return e}var ixr={log(){},warn(){},error(){}};function axr(e){if(e===!1)return ixr;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var oxr=/^[a-z_$][a-z0-9_$:-]*$/i;function cxr(e,t){let{RULES:r}=this;if((0,Bie.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!oxr.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function kie(e,t,r){var n;let s=t?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,a=s?i.post:i.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},i.rules.push(a)),i.keywords[e]=!0,!t)return;let o={keyword:e,definition:{...t,type:(0,c8.getJSONTypes)(t.type),schemaType:(0,c8.getJSONTypes)(t.schemaType)}};t.before?uxr.call(this,a,o,t.before):a.rules.push(o),i.all[e]=o,(n=t.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function uxr(e,t,r){let n=e.rules.findIndex(s=>s.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function lxr(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=Pje(t)),e.validateSchema=this.compile(t,!0))}var dxr={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Pje(e){return{anyOf:[e,dxr]}}});var Mje=S(Uie=>{"use strict";Object.defineProperty(Uie,"__esModule",{value:!0});var fxr={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Uie.default=fxr});var Fje=S(mv=>{"use strict";Object.defineProperty(mv,"__esModule",{value:!0});mv.callRef=mv.getValidate=void 0;var hxr=yD(),kje=fd(),Su=Er(),aI=im(),Bje=n8(),u8=pn(),pxr={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:s,schemaEnv:i,validateName:a,opts:o,self:c}=n,{root:u}=i;if((r==="#"||r==="#/")&&s===u.baseId)return d();let l=Bje.resolveRef.call(c,u,s,r);if(l===void 0)throw new hxr.default(n.opts.uriResolver,s,r);if(l instanceof Bje.SchemaEnv)return f(l);return h(l);function d(){if(i===u)return l8(e,a,i,i.$async);let p=t.scopeValue("root",{ref:u});return l8(e,(0,Su._)`${p}.validate`,u,u.$async)}function f(p){let m=Uje(e,p);l8(e,m,p,p.$async)}function h(p){let m=t.scopeValue("schema",o.code.source===!0?{ref:p,code:(0,Su.stringify)(p)}:{ref:p}),g=t.name("valid"),_=e.subschema({schema:p,dataTypes:[],schemaPath:Su.nil,topSchemaRef:m,errSchemaPath:r},g);e.mergeEvaluated(_),e.ok(g)}}};function Uje(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Su._)`${r.scopeValue("wrapper",{ref:t})}.validate`}mv.getValidate=Uje;function l8(e,t,r,n){let{gen:s,it:i}=e,{allErrors:a,schemaEnv:o,opts:c}=i,u=c.passContext?aI.default.this:Su.nil;n?l():d();function l(){if(!o.$async)throw new Error("async schema referenced by sync schema");let p=s.let("valid");s.try(()=>{s.code((0,Su._)`await ${(0,kje.callValidateCode)(e,t,u)}`),h(t),a||s.assign(p,!0)},m=>{s.if((0,Su._)`!(${m} instanceof ${i.ValidationError})`,()=>s.throw(m)),f(m),a||s.assign(p,!1)}),e.ok(p)}function d(){e.result((0,kje.callValidateCode)(e,t,u),()=>h(t),()=>f(t))}function f(p){let m=(0,Su._)`${p}.errors`;s.assign(aI.default.vErrors,(0,Su._)`${aI.default.vErrors} === null ? ${m} : ${aI.default.vErrors}.concat(${m})`),s.assign(aI.default.errors,(0,Su._)`${aI.default.vErrors}.length`)}function h(p){var m;if(!i.opts.unevaluated)return;let g=(m=r?.validate)===null||m===void 0?void 0:m.evaluated;if(i.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(i.props=u8.mergeEvaluated.props(s,g.props,i.props));else{let _=s.var("props",(0,Su._)`${p}.evaluated.props`);i.props=u8.mergeEvaluated.props(s,_,i.props,Su.Name)}if(i.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(i.items=u8.mergeEvaluated.items(s,g.items,i.items));else{let _=s.var("items",(0,Su._)`${p}.evaluated.items`);i.items=u8.mergeEvaluated.items(s,_,i.items,Su.Name)}}}mv.callRef=l8;mv.default=pxr});var $je=S(Fie=>{"use strict";Object.defineProperty(Fie,"__esModule",{value:!0});var mxr=Mje(),gxr=Fje(),_xr=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",mxr.default,gxr.default];Fie.default=_xr});var qje=S($ie=>{"use strict";Object.defineProperty($ie,"__esModule",{value:!0});var d8=Er(),rA=d8.operators,f8={maximum:{okStr:"<=",ok:rA.LTE,fail:rA.GT},minimum:{okStr:">=",ok:rA.GTE,fail:rA.LT},exclusiveMaximum:{okStr:"<",ok:rA.LT,fail:rA.GTE},exclusiveMinimum:{okStr:">",ok:rA.GT,fail:rA.LTE}},Axr={message:({keyword:e,schemaCode:t})=>(0,d8.str)`must be ${f8[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,d8._)`{comparison: ${f8[e].okStr}, limit: ${t}}`},Exr={keyword:Object.keys(f8),type:"number",schemaType:"number",$data:!0,error:Axr,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,d8._)`${r} ${f8[t].fail} ${n} || isNaN(${r})`)}};$ie.default=Exr});var Hje=S(qie=>{"use strict";Object.defineProperty(qie,"__esModule",{value:!0});var ID=Er(),yxr={message:({schemaCode:e})=>(0,ID.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,ID._)`{multipleOf: ${e}}`},vxr={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:yxr,code(e){let{gen:t,data:r,schemaCode:n,it:s}=e,i=s.opts.multipleOfPrecision,a=t.let("res"),o=i?(0,ID._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${i}`:(0,ID._)`${a} !== parseInt(${a})`;e.fail$data((0,ID._)`(${n} === 0 || (${a} = ${r}/${n}, ${o}))`)}};qie.default=vxr});var jje=S(Hie=>{"use strict";Object.defineProperty(Hie,"__esModule",{value:!0});function Vje(e){let t=e.length,r=0,n=0,s;for(;n=55296&&s<=56319&&n{"use strict";Object.defineProperty(Vie,"__esModule",{value:!0});var gv=Er(),Sxr=pn(),Txr=jje(),bxr={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,gv.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,gv._)`{limit: ${e}}`},Ixr={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:bxr,code(e){let{keyword:t,data:r,schemaCode:n,it:s}=e,i=t==="maxLength"?gv.operators.GT:gv.operators.LT,a=s.opts.unicode===!1?(0,gv._)`${r}.length`:(0,gv._)`${(0,Sxr.useFunc)(e.gen,Txr.default)}(${r})`;e.fail$data((0,gv._)`${a} ${i} ${n}`)}};Vie.default=Ixr});var Gje=S(jie=>{"use strict";Object.defineProperty(jie,"__esModule",{value:!0});var Rxr=fd(),Cxr=pn(),oI=Er(),xxr={message:({schemaCode:e})=>(0,oI.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,oI._)`{pattern: ${e}}`},wxr={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:xxr,code(e){let{gen:t,data:r,$data:n,schema:s,schemaCode:i,it:a}=e,o=a.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=a.opts.code,u=c.code==="new RegExp"?(0,oI._)`new RegExp`:(0,Cxr.useFunc)(t,c),l=t.let("valid");t.try(()=>t.assign(l,(0,oI._)`${u}(${i}, ${o}).test(${r})`),()=>t.assign(l,!1)),e.fail$data((0,oI._)`!${l}`)}else{let c=(0,Rxr.usePattern)(e,s);e.fail$data((0,oI._)`!${c}.test(${r})`)}}};jie.default=wxr});var Yje=S(Kie=>{"use strict";Object.defineProperty(Kie,"__esModule",{value:!0});var RD=Er(),Nxr={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,RD.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,RD._)`{limit: ${e}}`},Oxr={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Nxr,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxProperties"?RD.operators.GT:RD.operators.LT;e.fail$data((0,RD._)`Object.keys(${r}).length ${s} ${n}`)}};Kie.default=Oxr});var Qje=S(Gie=>{"use strict";Object.defineProperty(Gie,"__esModule",{value:!0});var CD=fd(),xD=Er(),Dxr=pn(),Pxr={message:({params:{missingProperty:e}})=>(0,xD.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,xD._)`{missingProperty: ${e}}`},Lxr={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Pxr,code(e){let{gen:t,schema:r,schemaCode:n,data:s,$data:i,it:a}=e,{opts:o}=a;if(!i&&r.length===0)return;let c=r.length>=o.loopRequired;if(a.allErrors?u():l(),o.strictRequired){let h=e.parentSchema.properties,{definedProperties:p}=e.it;for(let m of r)if(h?.[m]===void 0&&!p.has(m)){let g=a.schemaEnv.baseId+a.errSchemaPath,_=`required property "${m}" is not defined at "${g}" (strictRequired)`;(0,Dxr.checkStrictMode)(a,_,a.opts.strictRequired)}}function u(){if(c||i)e.block$data(xD.nil,d);else for(let h of r)(0,CD.checkReportMissingProp)(e,h)}function l(){let h=t.let("missing");if(c||i){let p=t.let("valid",!0);e.block$data(p,()=>f(h,p)),e.ok(p)}else t.if((0,CD.checkMissingProp)(e,r,h)),(0,CD.reportMissingProp)(e,h),t.else()}function d(){t.forOf("prop",n,h=>{e.setParams({missingProperty:h}),t.if((0,CD.noPropertyInData)(t,s,h,o.ownProperties),()=>e.error())})}function f(h,p){e.setParams({missingProperty:h}),t.forOf(h,n,()=>{t.assign(p,(0,CD.propertyInData)(t,s,h,o.ownProperties)),t.if((0,xD.not)(p),()=>{e.error(),t.break()})},xD.nil)}}};Gie.default=Lxr});var zje=S(Yie=>{"use strict";Object.defineProperty(Yie,"__esModule",{value:!0});var wD=Er(),Mxr={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,wD.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,wD._)`{limit: ${e}}`},kxr={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:Mxr,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxItems"?wD.operators.GT:wD.operators.LT;e.fail$data((0,wD._)`${r}.length ${s} ${n}`)}};Yie.default=kxr});var h8=S(Qie=>{"use strict";Object.defineProperty(Qie,"__esModule",{value:!0});var Wje=td();Wje.code='require("ajv/dist/runtime/equal").default';Qie.default=Wje});var Xje=S(Wie=>{"use strict";Object.defineProperty(Wie,"__esModule",{value:!0});var zie=mD(),oo=Er(),Bxr=pn(),Uxr=h8(),Fxr={message:({params:{i:e,j:t}})=>(0,oo.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,oo._)`{i: ${e}, j: ${t}}`},$xr={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Fxr,code(e){let{gen:t,data:r,$data:n,schema:s,parentSchema:i,schemaCode:a,it:o}=e;if(!n&&!s)return;let c=t.let("valid"),u=i.items?(0,zie.getSchemaTypes)(i.items):[];e.block$data(c,l,(0,oo._)`${a} === false`),e.ok(c);function l(){let p=t.let("i",(0,oo._)`${r}.length`),m=t.let("j");e.setParams({i:p,j:m}),t.assign(c,!0),t.if((0,oo._)`${p} > 1`,()=>(d()?f:h)(p,m))}function d(){return u.length>0&&!u.some(p=>p==="object"||p==="array")}function f(p,m){let g=t.name("item"),_=(0,zie.checkDataTypes)(u,g,o.opts.strictNumbers,zie.DataType.Wrong),y=t.const("indices",(0,oo._)`{}`);t.for((0,oo._)`;${p}--;`,()=>{t.let(g,(0,oo._)`${r}[${p}]`),t.if(_,(0,oo._)`continue`),u.length>1&&t.if((0,oo._)`typeof ${g} == "string"`,(0,oo._)`${g} += "_"`),t.if((0,oo._)`typeof ${y}[${g}] == "number"`,()=>{t.assign(m,(0,oo._)`${y}[${g}]`),e.error(),t.assign(c,!1).break()}).code((0,oo._)`${y}[${g}] = ${p}`)})}function h(p,m){let g=(0,Bxr.useFunc)(t,Uxr.default),_=t.name("outer");t.label(_).for((0,oo._)`;${p}--;`,()=>t.for((0,oo._)`${m} = ${p}; ${m}--;`,()=>t.if((0,oo._)`${g}(${r}[${p}], ${r}[${m}])`,()=>{e.error(),t.assign(c,!1).break(_)})))}}};Wie.default=$xr});var Jje=S(Jie=>{"use strict";Object.defineProperty(Jie,"__esModule",{value:!0});var Xie=Er(),qxr=pn(),Hxr=h8(),Vxr={message:"must be equal to constant",params:({schemaCode:e})=>(0,Xie._)`{allowedValue: ${e}}`},jxr={keyword:"const",$data:!0,error:Vxr,code(e){let{gen:t,data:r,$data:n,schemaCode:s,schema:i}=e;n||i&&typeof i=="object"?e.fail$data((0,Xie._)`!${(0,qxr.useFunc)(t,Hxr.default)}(${r}, ${s})`):e.fail((0,Xie._)`${i} !== ${r}`)}};Jie.default=jxr});var Zje=S(Zie=>{"use strict";Object.defineProperty(Zie,"__esModule",{value:!0});var ND=Er(),Kxr=pn(),Gxr=h8(),Yxr={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,ND._)`{allowedValues: ${e}}`},Qxr={keyword:"enum",schemaType:"array",$data:!0,error:Yxr,code(e){let{gen:t,data:r,$data:n,schema:s,schemaCode:i,it:a}=e;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let o=s.length>=a.opts.loopEnum,c,u=()=>c??(c=(0,Kxr.useFunc)(t,Gxr.default)),l;if(o||n)l=t.let("valid"),e.block$data(l,d);else{if(!Array.isArray(s))throw new Error("ajv implementation error");let h=t.const("vSchema",i);l=(0,ND.or)(...s.map((p,m)=>f(h,m)))}e.pass(l);function d(){t.assign(l,!1),t.forOf("v",i,h=>t.if((0,ND._)`${u()}(${r}, ${h})`,()=>t.assign(l,!0).break()))}function f(h,p){let m=s[p];return typeof m=="object"&&m!==null?(0,ND._)`${u()}(${r}, ${h}[${p}])`:(0,ND._)`${r} === ${m}`}}};Zie.default=Qxr});var eKe=S(eae=>{"use strict";Object.defineProperty(eae,"__esModule",{value:!0});var zxr=qje(),Wxr=Hje(),Xxr=Kje(),Jxr=Gje(),Zxr=Yje(),ewr=Qje(),twr=zje(),rwr=Xje(),nwr=Jje(),swr=Zje(),iwr=[zxr.default,Wxr.default,Xxr.default,Jxr.default,Zxr.default,ewr.default,twr.default,rwr.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},nwr.default,swr.default];eae.default=iwr});var rae=S(OD=>{"use strict";Object.defineProperty(OD,"__esModule",{value:!0});OD.validateAdditionalItems=void 0;var _v=Er(),tae=pn(),awr={message:({params:{len:e}})=>(0,_v.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,_v._)`{limit: ${e}}`},owr={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:awr,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,tae.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}tKe(e,n)}};function tKe(e,t){let{gen:r,schema:n,data:s,keyword:i,it:a}=e;a.items=!0;let o=r.const("len",(0,_v._)`${s}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,_v._)`${o} <= ${t.length}`);else if(typeof n=="object"&&!(0,tae.alwaysValidSchema)(a,n)){let u=r.var("valid",(0,_v._)`${o} <= ${t.length}`);r.if((0,_v.not)(u),()=>c(u)),e.ok(u)}function c(u){r.forRange("i",t.length,o,l=>{e.subschema({keyword:i,dataProp:l,dataPropType:tae.Type.Num},u),a.allErrors||r.if((0,_v.not)(u),()=>r.break())})}}OD.validateAdditionalItems=tKe;OD.default=owr});var nae=S(DD=>{"use strict";Object.defineProperty(DD,"__esModule",{value:!0});DD.validateTuple=void 0;var rKe=Er(),p8=pn(),cwr=fd(),uwr={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return nKe(e,"additionalItems",t);r.items=!0,!(0,p8.alwaysValidSchema)(r,t)&&e.ok((0,cwr.validateArray)(e))}};function nKe(e,t,r=e.schema){let{gen:n,parentSchema:s,data:i,keyword:a,it:o}=e;l(s),o.opts.unevaluated&&r.length&&o.items!==!0&&(o.items=p8.mergeEvaluated.items(n,r.length,o.items));let c=n.name("valid"),u=n.const("len",(0,rKe._)`${i}.length`);r.forEach((d,f)=>{(0,p8.alwaysValidSchema)(o,d)||(n.if((0,rKe._)`${u} > ${f}`,()=>e.subschema({keyword:a,schemaProp:f,dataProp:f},c)),e.ok(c))});function l(d){let{opts:f,errSchemaPath:h}=o,p=r.length,m=p===d.minItems&&(p===d.maxItems||d[t]===!1);if(f.strictTuples&&!m){let g=`"${a}" is ${p}-tuple, but minItems or maxItems/${t} are not specified or different at path "${h}"`;(0,p8.checkStrictMode)(o,g,f.strictTuples)}}}DD.validateTuple=nKe;DD.default=uwr});var sKe=S(sae=>{"use strict";Object.defineProperty(sae,"__esModule",{value:!0});var lwr=nae(),dwr={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,lwr.validateTuple)(e,"items")};sae.default=dwr});var aKe=S(iae=>{"use strict";Object.defineProperty(iae,"__esModule",{value:!0});var iKe=Er(),fwr=pn(),hwr=fd(),pwr=rae(),mwr={message:({params:{len:e}})=>(0,iKe.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,iKe._)`{limit: ${e}}`},gwr={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:mwr,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:s}=r;n.items=!0,!(0,fwr.alwaysValidSchema)(n,t)&&(s?(0,pwr.validateAdditionalItems)(e,s):e.ok((0,hwr.validateArray)(e)))}};iae.default=gwr});var oKe=S(aae=>{"use strict";Object.defineProperty(aae,"__esModule",{value:!0});var pd=Er(),m8=pn(),_wr={message:({params:{min:e,max:t}})=>t===void 0?(0,pd.str)`must contain at least ${e} valid item(s)`:(0,pd.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,pd._)`{minContains: ${e}}`:(0,pd._)`{minContains: ${e}, maxContains: ${t}}`},Awr={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:_wr,code(e){let{gen:t,schema:r,parentSchema:n,data:s,it:i}=e,a,o,{minContains:c,maxContains:u}=n;i.opts.next?(a=c===void 0?1:c,o=u):a=1;let l=t.const("len",(0,pd._)`${s}.length`);if(e.setParams({min:a,max:o}),o===void 0&&a===0){(0,m8.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(o!==void 0&&a>o){(0,m8.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,m8.alwaysValidSchema)(i,r)){let m=(0,pd._)`${l} >= ${a}`;o!==void 0&&(m=(0,pd._)`${m} && ${l} <= ${o}`),e.pass(m);return}i.items=!0;let d=t.name("valid");o===void 0&&a===1?h(d,()=>t.if(d,()=>t.break())):a===0?(t.let(d,!0),o!==void 0&&t.if((0,pd._)`${s}.length > 0`,f)):(t.let(d,!1),f()),e.result(d,()=>e.reset());function f(){let m=t.name("_valid"),g=t.let("count",0);h(m,()=>t.if(m,()=>p(g)))}function h(m,g){t.forRange("i",0,l,_=>{e.subschema({keyword:"contains",dataProp:_,dataPropType:m8.Type.Num,compositeRule:!0},m),g()})}function p(m){t.code((0,pd._)`${m}++`),o===void 0?t.if((0,pd._)`${m} >= ${a}`,()=>t.assign(d,!0).break()):(t.if((0,pd._)`${m} > ${o}`,()=>t.assign(d,!1).break()),a===1?t.assign(d,!0):t.if((0,pd._)`${m} >= ${a}`,()=>t.assign(d,!0)))}}};aae.default=Awr});var lKe=S(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});sh.validateSchemaDeps=sh.validatePropertyDeps=sh.error=void 0;var oae=Er(),Ewr=pn(),PD=fd();sh.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,oae.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,oae._)`{property: ${e}, + missingProperty: ${n}, + depsCount: ${t}, + deps: ${r}}`};var ywr={keyword:"dependencies",type:"object",schemaType:"object",error:sh.error,code(e){let[t,r]=vwr(e);cKe(e,t),uKe(e,r)}};function vwr({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let s=Array.isArray(e[n])?t:r;s[n]=e[n]}return[t,r]}function cKe(e,t=e.schema){let{gen:r,data:n,it:s}=e;if(Object.keys(t).length===0)return;let i=r.let("missing");for(let a in t){let o=t[a];if(o.length===0)continue;let c=(0,PD.propertyInData)(r,n,a,s.opts.ownProperties);e.setParams({property:a,depsCount:o.length,deps:o.join(", ")}),s.allErrors?r.if(c,()=>{for(let u of o)(0,PD.checkReportMissingProp)(e,u)}):(r.if((0,oae._)`${c} && (${(0,PD.checkMissingProp)(e,o,i)})`),(0,PD.reportMissingProp)(e,i),r.else())}}sh.validatePropertyDeps=cKe;function uKe(e,t=e.schema){let{gen:r,data:n,keyword:s,it:i}=e,a=r.name("valid");for(let o in t)(0,Ewr.alwaysValidSchema)(i,t[o])||(r.if((0,PD.propertyInData)(r,n,o,i.opts.ownProperties),()=>{let c=e.subschema({keyword:s,schemaProp:o},a);e.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),e.ok(a))}sh.validateSchemaDeps=uKe;sh.default=ywr});var fKe=S(cae=>{"use strict";Object.defineProperty(cae,"__esModule",{value:!0});var dKe=Er(),Swr=pn(),Twr={message:"property name must be valid",params:({params:e})=>(0,dKe._)`{propertyName: ${e.propertyName}}`},bwr={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Twr,code(e){let{gen:t,schema:r,data:n,it:s}=e;if((0,Swr.alwaysValidSchema)(s,r))return;let i=t.name("valid");t.forIn("key",n,a=>{e.setParams({propertyName:a}),e.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},i),t.if((0,dKe.not)(i),()=>{e.error(!0),s.allErrors||t.break()})}),e.ok(i)}};cae.default=bwr});var lae=S(uae=>{"use strict";Object.defineProperty(uae,"__esModule",{value:!0});var g8=fd(),Cf=Er(),Iwr=im(),_8=pn(),Rwr={message:"must NOT have additional properties",params:({params:e})=>(0,Cf._)`{additionalProperty: ${e.additionalProperty}}`},Cwr={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Rwr,code(e){let{gen:t,schema:r,parentSchema:n,data:s,errsCount:i,it:a}=e;if(!i)throw new Error("ajv implementation error");let{allErrors:o,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,_8.alwaysValidSchema)(a,r))return;let u=(0,g8.allSchemaProperties)(n.properties),l=(0,g8.allSchemaProperties)(n.patternProperties);d(),e.ok((0,Cf._)`${i} === ${Iwr.default.errors}`);function d(){t.forIn("key",s,g=>{!u.length&&!l.length?p(g):t.if(f(g),()=>p(g))})}function f(g){let _;if(u.length>8){let y=(0,_8.schemaRefOrVal)(a,n.properties,"properties");_=(0,g8.isOwnProperty)(t,y,g)}else u.length?_=(0,Cf.or)(...u.map(y=>(0,Cf._)`${g} === ${y}`)):_=Cf.nil;return l.length&&(_=(0,Cf.or)(_,...l.map(y=>(0,Cf._)`${(0,g8.usePattern)(e,y)}.test(${g})`))),(0,Cf.not)(_)}function h(g){t.code((0,Cf._)`delete ${s}[${g}]`)}function p(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){h(g);return}if(r===!1){e.setParams({additionalProperty:g}),e.error(),o||t.break();return}if(typeof r=="object"&&!(0,_8.alwaysValidSchema)(a,r)){let _=t.name("valid");c.removeAdditional==="failing"?(m(g,_,!1),t.if((0,Cf.not)(_),()=>{e.reset(),h(g)})):(m(g,_),o||t.if((0,Cf.not)(_),()=>t.break()))}}function m(g,_,y){let E={keyword:"additionalProperties",dataProp:g,dataPropType:_8.Type.Str};y===!1&&Object.assign(E,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(E,_)}}};uae.default=Cwr});var mKe=S(fae=>{"use strict";Object.defineProperty(fae,"__esModule",{value:!0});var xwr=ED(),hKe=fd(),dae=pn(),pKe=lae(),wwr={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:s,it:i}=e;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&pKe.default.code(new xwr.KeywordCxt(i,pKe.default,"additionalProperties"));let a=(0,hKe.allSchemaProperties)(r);for(let d of a)i.definedProperties.add(d);i.opts.unevaluated&&a.length&&i.props!==!0&&(i.props=dae.mergeEvaluated.props(t,(0,dae.toHash)(a),i.props));let o=a.filter(d=>!(0,dae.alwaysValidSchema)(i,r[d]));if(o.length===0)return;let c=t.name("valid");for(let d of o)u(d)?l(d):(t.if((0,hKe.propertyInData)(t,s,d,i.opts.ownProperties)),l(d),i.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(d),e.ok(c);function u(d){return i.opts.useDefaults&&!i.compositeRule&&r[d].default!==void 0}function l(d){e.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};fae.default=wwr});var EKe=S(hae=>{"use strict";Object.defineProperty(hae,"__esModule",{value:!0});var gKe=fd(),A8=Er(),_Ke=pn(),AKe=pn(),Nwr={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:s,it:i}=e,{opts:a}=i,o=(0,gKe.allSchemaProperties)(r),c=o.filter(m=>(0,_Ke.alwaysValidSchema)(i,r[m]));if(o.length===0||c.length===o.length&&(!i.opts.unevaluated||i.props===!0))return;let u=a.strictSchema&&!a.allowMatchingProperties&&s.properties,l=t.name("valid");i.props!==!0&&!(i.props instanceof A8.Name)&&(i.props=(0,AKe.evaluatedPropsToName)(t,i.props));let{props:d}=i;f();function f(){for(let m of o)u&&h(m),i.allErrors?p(m):(t.var(l,!0),p(m),t.if(l))}function h(m){for(let g in u)new RegExp(m).test(g)&&(0,_Ke.checkStrictMode)(i,`property ${g} matches pattern ${m} (use allowMatchingProperties)`)}function p(m){t.forIn("key",n,g=>{t.if((0,A8._)`${(0,gKe.usePattern)(e,m)}.test(${g})`,()=>{let _=c.includes(m);_||e.subschema({keyword:"patternProperties",schemaProp:m,dataProp:g,dataPropType:AKe.Type.Str},l),i.opts.unevaluated&&d!==!0?t.assign((0,A8._)`${d}[${g}]`,!0):!_&&!i.allErrors&&t.if((0,A8.not)(l),()=>t.break())})})}}};hae.default=Nwr});var yKe=S(pae=>{"use strict";Object.defineProperty(pae,"__esModule",{value:!0});var Owr=pn(),Dwr={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,Owr.alwaysValidSchema)(n,r)){e.fail();return}let s=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),e.failResult(s,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};pae.default=Dwr});var vKe=S(mae=>{"use strict";Object.defineProperty(mae,"__esModule",{value:!0});var Pwr=fd(),Lwr={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Pwr.validateUnion,error:{message:"must match a schema in anyOf"}};mae.default=Lwr});var SKe=S(gae=>{"use strict";Object.defineProperty(gae,"__esModule",{value:!0});var E8=Er(),Mwr=pn(),kwr={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,E8._)`{passingSchemas: ${e.passing}}`},Bwr={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:kwr,code(e){let{gen:t,schema:r,parentSchema:n,it:s}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let i=r,a=t.let("valid",!1),o=t.let("passing",null),c=t.name("_valid");e.setParams({passing:o}),t.block(u),e.result(a,()=>e.reset(),()=>e.error(!0));function u(){i.forEach((l,d)=>{let f;(0,Mwr.alwaysValidSchema)(s,l)?t.var(c,!0):f=e.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&t.if((0,E8._)`${c} && ${a}`).assign(a,!1).assign(o,(0,E8._)`[${o}, ${d}]`).else(),t.if(c,()=>{t.assign(a,!0),t.assign(o,d),f&&e.mergeEvaluated(f,E8.Name)})})}}};gae.default=Bwr});var TKe=S(_ae=>{"use strict";Object.defineProperty(_ae,"__esModule",{value:!0});var Uwr=pn(),Fwr={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=t.name("valid");r.forEach((i,a)=>{if((0,Uwr.alwaysValidSchema)(n,i))return;let o=e.subschema({keyword:"allOf",schemaProp:a},s);e.ok(s),e.mergeEvaluated(o)})}};_ae.default=Fwr});var RKe=S(Aae=>{"use strict";Object.defineProperty(Aae,"__esModule",{value:!0});var y8=Er(),IKe=pn(),$wr={message:({params:e})=>(0,y8.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,y8._)`{failingKeyword: ${e.ifClause}}`},qwr={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:$wr,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,IKe.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=bKe(n,"then"),i=bKe(n,"else");if(!s&&!i)return;let a=t.let("valid",!0),o=t.name("_valid");if(c(),e.reset(),s&&i){let l=t.let("ifClause");e.setParams({ifClause:l}),t.if(o,u("then",l),u("else",l))}else s?t.if(o,u("then")):t.if((0,y8.not)(o),u("else"));e.pass(a,()=>e.error(!0));function c(){let l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},o);e.mergeEvaluated(l)}function u(l,d){return()=>{let f=e.subschema({keyword:l},o);t.assign(a,o),e.mergeValidEvaluated(f,a),d?t.assign(d,(0,y8._)`${l}`):e.setParams({ifClause:l})}}}};function bKe(e,t){let r=e.schema[t];return r!==void 0&&!(0,IKe.alwaysValidSchema)(e,r)}Aae.default=qwr});var CKe=S(Eae=>{"use strict";Object.defineProperty(Eae,"__esModule",{value:!0});var Hwr=pn(),Vwr={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,Hwr.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};Eae.default=Vwr});var xKe=S(yae=>{"use strict";Object.defineProperty(yae,"__esModule",{value:!0});var jwr=rae(),Kwr=sKe(),Gwr=nae(),Ywr=aKe(),Qwr=oKe(),zwr=lKe(),Wwr=fKe(),Xwr=lae(),Jwr=mKe(),Zwr=EKe(),eNr=yKe(),tNr=vKe(),rNr=SKe(),nNr=TKe(),sNr=RKe(),iNr=CKe();function aNr(e=!1){let t=[eNr.default,tNr.default,rNr.default,nNr.default,sNr.default,iNr.default,Wwr.default,Xwr.default,zwr.default,Jwr.default,Zwr.default];return e?t.push(Kwr.default,Ywr.default):t.push(jwr.default,Gwr.default),t.push(Qwr.default),t}yae.default=aNr});var wKe=S(vae=>{"use strict";Object.defineProperty(vae,"__esModule",{value:!0});var Ni=Er(),oNr={message:({schemaCode:e})=>(0,Ni.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Ni._)`{format: ${e}}`},cNr={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:oNr,code(e,t){let{gen:r,data:n,$data:s,schema:i,schemaCode:a,it:o}=e,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=o;if(!c.validateFormats)return;s?f():h();function f(){let p=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),m=r.const("fDef",(0,Ni._)`${p}[${a}]`),g=r.let("fType"),_=r.let("format");r.if((0,Ni._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>r.assign(g,(0,Ni._)`${m}.type || "string"`).assign(_,(0,Ni._)`${m}.validate`),()=>r.assign(g,(0,Ni._)`"string"`).assign(_,m)),e.fail$data((0,Ni.or)(y(),E()));function y(){return c.strictSchema===!1?Ni.nil:(0,Ni._)`${a} && !${_}`}function E(){let A=l.$async?(0,Ni._)`(${m}.async ? await ${_}(${n}) : ${_}(${n}))`:(0,Ni._)`${_}(${n})`,v=(0,Ni._)`(typeof ${_} == "function" ? ${A} : ${_}.test(${n}))`;return(0,Ni._)`${_} && ${_} !== true && ${g} === ${t} && !${v}`}}function h(){let p=d.formats[i];if(!p){y();return}if(p===!0)return;let[m,g,_]=E(p);m===t&&e.pass(A());function y(){if(c.strictSchema===!1){d.logger.warn(v());return}throw new Error(v());function v(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function E(v){let T=v instanceof RegExp?(0,Ni.regexpCode)(v):c.code.formats?(0,Ni._)`${c.code.formats}${(0,Ni.getProperty)(i)}`:void 0,C=r.scopeValue("formats",{key:i,ref:v,code:T});return typeof v=="object"&&!(v instanceof RegExp)?[v.type||"string",v.validate,(0,Ni._)`${C}.validate`]:["string",v,C]}function A(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Ni._)`await ${_}(${n})`}return typeof g=="function"?(0,Ni._)`${_}(${n})`:(0,Ni._)`${_}.test(${n})`}}}};vae.default=cNr});var NKe=S(Sae=>{"use strict";Object.defineProperty(Sae,"__esModule",{value:!0});var uNr=wKe(),lNr=[uNr.default];Sae.default=lNr});var OKe=S(cI=>{"use strict";Object.defineProperty(cI,"__esModule",{value:!0});cI.contentVocabulary=cI.metadataVocabulary=void 0;cI.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];cI.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var PKe=S(Tae=>{"use strict";Object.defineProperty(Tae,"__esModule",{value:!0});var dNr=$je(),fNr=eKe(),hNr=xKe(),pNr=NKe(),DKe=OKe(),mNr=[dNr.default,fNr.default,(0,hNr.default)(),pNr.default,DKe.metadataVocabulary,DKe.contentVocabulary];Tae.default=mNr});var MKe=S(v8=>{"use strict";Object.defineProperty(v8,"__esModule",{value:!0});v8.DiscrError=void 0;var LKe;(function(e){e.Tag="tag",e.Mapping="mapping"})(LKe||(v8.DiscrError=LKe={}))});var BKe=S(Iae=>{"use strict";Object.defineProperty(Iae,"__esModule",{value:!0});var uI=Er(),bae=MKe(),kKe=n8(),gNr=yD(),_Nr=pn(),ANr={message:({params:{discrError:e,tagName:t}})=>e===bae.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,uI._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},ENr={keyword:"discriminator",type:"object",schemaType:"object",error:ANr,code(e){let{gen:t,data:r,schema:n,parentSchema:s,it:i}=e,{oneOf:a}=s;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let o=n.propertyName;if(typeof o!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),u=t.const("tag",(0,uI._)`${r}${(0,uI.getProperty)(o)}`);t.if((0,uI._)`typeof ${u} == "string"`,()=>l(),()=>e.error(!1,{discrError:bae.DiscrError.Tag,tag:u,tagName:o})),e.ok(c);function l(){let h=f();t.if(!1);for(let p in h)t.elseIf((0,uI._)`${u} === ${p}`),t.assign(c,d(h[p]));t.else(),e.error(!1,{discrError:bae.DiscrError.Mapping,tag:u,tagName:o}),t.endIf()}function d(h){let p=t.name("valid"),m=e.subschema({keyword:"oneOf",schemaProp:h},p);return e.mergeEvaluated(m,uI.Name),p}function f(){var h;let p={},m=_(s),g=!0;for(let A=0;A{yNr.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var $Ke=S(($s,Rae)=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.MissingRefError=$s.ValidationError=$s.CodeGen=$s.Name=$s.nil=$s.stringify=$s.str=$s._=$s.KeywordCxt=$s.Ajv=void 0;var vNr=Lje(),SNr=PKe(),TNr=BKe(),FKe=UKe(),bNr=["/properties"],S8="http://json-schema.org/draft-07/schema",lI=class extends vNr.default{_addVocabularies(){super._addVocabularies(),SNr.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(TNr.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(FKe,bNr):FKe;this.addMetaSchema(t,S8,!1),this.refs["http://json-schema.org/schema"]=S8}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(S8)?S8:void 0)}};$s.Ajv=lI;Rae.exports=$s=lI;Rae.exports.Ajv=lI;Object.defineProperty($s,"__esModule",{value:!0});$s.default=lI;var INr=ED();Object.defineProperty($s,"KeywordCxt",{enumerable:!0,get:function(){return INr.KeywordCxt}});var dI=Er();Object.defineProperty($s,"_",{enumerable:!0,get:function(){return dI._}});Object.defineProperty($s,"str",{enumerable:!0,get:function(){return dI.str}});Object.defineProperty($s,"stringify",{enumerable:!0,get:function(){return dI.stringify}});Object.defineProperty($s,"nil",{enumerable:!0,get:function(){return dI.nil}});Object.defineProperty($s,"Name",{enumerable:!0,get:function(){return dI.Name}});Object.defineProperty($s,"CodeGen",{enumerable:!0,get:function(){return dI.CodeGen}});var RNr=t8();Object.defineProperty($s,"ValidationError",{enumerable:!0,get:function(){return RNr.default}});var CNr=yD();Object.defineProperty($s,"MissingRefError",{enumerable:!0,get:function(){return CNr.default}})});var qKe=S(fI=>{"use strict";Object.defineProperty(fI,"__esModule",{value:!0});fI.formatLimitDefinition=void 0;var xNr=$Ke(),xf=Er(),nA=xf.operators,T8={formatMaximum:{okStr:"<=",ok:nA.LTE,fail:nA.GT},formatMinimum:{okStr:">=",ok:nA.GTE,fail:nA.LT},formatExclusiveMaximum:{okStr:"<",ok:nA.LT,fail:nA.GTE},formatExclusiveMinimum:{okStr:">",ok:nA.GT,fail:nA.LTE}},wNr={message:({keyword:e,schemaCode:t})=>xf.str`should be ${T8[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>xf._`{comparison: ${T8[e].okStr}, limit: ${t}}`};fI.formatLimitDefinition={keyword:Object.keys(T8),type:"string",schemaType:"string",$data:!0,error:wNr,code(e){let{gen:t,data:r,schemaCode:n,keyword:s,it:i}=e,{opts:a,self:o}=i;if(!a.validateFormats)return;let c=new xNr.KeywordCxt(i,o.RULES.all.format.definition,"format");c.$data?u():l();function u(){let f=t.scopeValue("formats",{ref:o.formats,code:a.code.formats}),h=t.const("fmt",xf._`${f}[${c.schemaCode}]`);e.fail$data(xf.or(xf._`typeof ${h} != "object"`,xf._`${h} instanceof RegExp`,xf._`typeof ${h}.compare != "function"`,d(h)))}function l(){let f=c.schema,h=o.formats[f];if(!h||h===!0)return;if(typeof h!="object"||h instanceof RegExp||typeof h.compare!="function")throw new Error(`"${s}": format "${f}" does not define "compare" function`);let p=t.scopeValue("formats",{key:f,ref:h,code:a.code.formats?xf._`${a.code.formats}${xf.getProperty(f)}`:void 0});e.fail$data(d(p))}function d(f){return xf._`${f}.compare(${r}, ${n}) ${T8[s].fail} 0`}},dependencies:["format"]};var NNr=e=>(e.addKeyword(fI.formatLimitDefinition),e);fI.default=NNr});var KKe=S((LD,jKe)=>{"use strict";Object.defineProperty(LD,"__esModule",{value:!0});var hI=p7e(),ONr=qKe(),Cae=Er(),HKe=new Cae.Name("fullFormats"),DNr=new Cae.Name("fastFormats"),xae=(e,t={keywords:!0})=>{if(Array.isArray(t))return VKe(e,t,hI.fullFormats,HKe),e;let[r,n]=t.mode==="fast"?[hI.fastFormats,DNr]:[hI.fullFormats,HKe],s=t.formats||hI.formatNames;return VKe(e,s,r,n),t.keywords&&ONr.default(e),e};xae.get=(e,t="full")=>{let n=(t==="fast"?hI.fastFormats:hI.fullFormats)[e];if(!n)throw new Error(`Unknown format "${e}"`);return n};function VKe(e,t,r,n){var s,i;(s=(i=e.opts.code).formats)!==null&&s!==void 0||(i.formats=Cae._`require("ajv-formats/dist/formats").${n}`);for(let a of t)e.addFormat(a,r[a])}jKe.exports=LD=xae;Object.defineProperty(LD,"__esModule",{value:!0});LD.default=xae});var QKe=S((n9n,YKe)=>{"use strict";var PNr=fVe().default,LNr=Use(),GKe=Fse(),wae=class{constructor(t,r){r.mode==="JTD"?this.ajv=new LNr(Object.assign({},GKe,r.customOptions)):this.ajv=new PNr(Object.assign({},GKe,r.customOptions));let n=!0;if(r.plugins&&r.plugins.length>0)for(let i of r.plugins)Array.isArray(i)?(n=n&&i[0].name!=="formatsPlugin",i[0](this.ajv,i[1])):(n=n&&i.name!=="formatsPlugin",i(this.ajv));n&&KKe()(this.ajv),r.onCreate?.(this.ajv);let s=Object.values(t);for(let i of s)this.ajv.addSchema(i)}buildValidatorFunction({schema:t}){if(t.$id){let r=this.ajv.getSchema(t.$id);if(r)return r}return this.ajv.compile(t)}};YKe.exports=wae});var WKe=S((s9n,zKe)=>{"use strict";var MNr=Use(),kNr=Fse(),Nae=class{constructor(t,r){this.ajv=new MNr(Object.assign({},kNr,r))}buildSerializerFunction({schema:t}){return this.ajv.compileSerializer(t)}};zKe.exports=Nae});var ZKe=S((kD,JKe)=>{"use strict";Object.defineProperty(kD,"__esModule",{value:!0});var MD=a6(),wf=I1();function XKe(e,t){if(!e.opts.code.source)throw new Error("moduleCode: ajv instance must have code.source option");let{_n:r}=e.scope.opts;return typeof t=="function"?s(t.source):t!==void 0?i(t,n):i(e.schemas,o=>o.meta?void 0:e.compile(o.schema));function n(o){let c=e.getSchema(o);if(!c)throw new Error(`moduleCode: no schema with id ${o}`);return c}function s(o){let c={},u=o?.validateName,l=a(c,o);return e.opts.code.esm?`"use strict";${r}export const validate = ${u};${r}export default ${u};${r}${l}`:`"use strict";${r}module.exports = ${u};${r}module.exports.default = ${u};${r}${l}`}function i(o,c){var u;let l={},d=(0,wf._)`"use strict";`;for(let f in o){let h=c(o[f]);if(h){let p=a(l,h.source),m=e.opts.code.esm?(0,wf._)`export const ${(0,wf.getEsmExportName)(f)}`:(0,wf._)`exports${(0,wf.getProperty)(f)}`;d=(0,wf._)`${d}${r}${m} = ${(u=h.source)===null||u===void 0?void 0:u.validateName};${r}${p}`}}return`${d}`}function a(o,c){if(!c)throw new Error('moduleCode: function does not have "source" property');if(f(c.validateName)===MD.UsedValueState.Completed)return wf.nil;h(c.validateName,MD.UsedValueState.Started);let u=e.scope.scopeCode(c.scopeValues,o,d),l=new wf._Code(`${u}${r}${c.validateCode}`);return c.evaluated?(0,wf._)`${l}${c.validateName}.evaluated = ${c.evaluated};${r}`:l;function d(p){var m;let g=(m=p.value)===null||m===void 0?void 0:m.ref;if(p.prefix==="validate"&&typeof g=="function")return a(o,g.source);if((p.prefix==="root"||p.prefix==="wrapper")&&typeof g=="object"){let{validate:_,validateName:y}=g;if(!y)throw new Error("ajv internal error");let E=e.opts.code.es5?MD.varKinds.var:MD.varKinds.const,A=(0,wf._)`${E} ${p} = {validate: ${y}};`;if(f(y)===MD.UsedValueState.Started)return A;let v=a(o,_?.source);return(0,wf._)`${A}${r}${v}`}}function f(p){var m;return(m=o[p.prefix])===null||m===void 0?void 0:m.get(p)}function h(p,m){let{prefix:g}=p;(o[g]=o[g]||new Map).set(p,m)}}}JKe.exports=kD=XKe;Object.defineProperty(kD,"__esModule",{value:!0});kD.default=XKe});var rGe=S((i9n,tGe)=>{"use strict";var eGe=Oae(),BNr=ZKe().default;function UNr(e={readMode:!0}){if(e.readMode===!0&&!e.restoreFunction)throw new Error("You must provide a restoreFunction options when readMode ON");if(e.readMode!==!0&&!e.storeFunction)throw new Error("You must provide a storeFunction options when readMode OFF");if(e.readMode===!0)return function(){return function(n){return e.restoreFunction(n)}};let t=eGe();return function(n,s={}){(!s.customOptions||!s.customOptions.code)&&(s.customOptions=Object.assign({},s.customOptions,{code:{source:!0}}));let i=t(n,s);return function(a){let o=i(a),c=BNr(i[eGe.AjvReference].ajv,o);return e.storeFunction(a,c),o}}}tGe.exports=UNr});var Oae=S((a9n,pI)=>{"use strict";var sGe=Symbol.for("fastify.ajv-compiler.reference"),FNr=QKe(),$Nr=WKe();function Dae(e){let t=new Map,r=new Map;return e&&e.jtdSerializer===!0?function(s,i){let a=nGe({},i);if(r.has(a))return r.get(a);let o=new $Nr(s,i),c=o.buildSerializerFunction.bind(o);return r.set(a,c),c}:function(s,i){let a=nGe(s,i.customOptions);if(t.has(a))return t.get(a);let o=new FNr(s,i),c=o.buildValidatorFunction.bind(o);return t.set(a,c),i.customOptions.code!==void 0&&(c[sGe]=o),c}}function nGe(e,t){let r=JSON.stringify(e),n=JSON.stringify(t);return`${r}${n}`}pI.exports=Dae;pI.exports.default=Dae;pI.exports.AjvCompiler=Dae;pI.exports.AjvReference=sGe;pI.exports.StandaloneValidator=rGe()});var Pae=S((o9n,iGe)=>{"use strict";var{buildSchemas:qNr}=ON(),HNr=Sre(),VNr=Oae();function jNr(e,t){if(e)return new mI(e,t);let r=Object.assign({buildValidator:null,buildSerializer:null},t?.compilersFactory);r.buildValidator||(r.buildValidator=VNr()),r.buildSerializer||(r.buildSerializer=HNr());let n={bucket:t&&t.bucket||qNr,compilersFactory:r,isCustomValidatorCompiler:typeof t?.compilersFactory?.buildValidator=="function",isCustomSerializerCompiler:typeof t?.compilersFactory?.buildValidator=="function"};return new mI(void 0,n)}var mI=class{constructor(t,r){this.opts=r||t?.opts,this.addedSchemas=!1,this.compilersFactory=this.opts.compilersFactory,t?(this.schemaBucket=this.opts.bucket(t.getSchemas()),this.validatorCompiler=t.getValidatorCompiler(),this.serializerCompiler=t.getSerializerCompiler(),this.isCustomValidatorCompiler=t.isCustomValidatorCompiler,this.isCustomSerializerCompiler=t.isCustomSerializerCompiler,this.parent=t):(this.schemaBucket=this.opts.bucket(),this.isCustomValidatorCompiler=this.opts.isCustomValidatorCompiler||!1,this.isCustomSerializerCompiler=this.opts.isCustomSerializerCompiler||!1)}add(t){return this.addedSchemas=!0,this.schemaBucket.add(t)}getSchema(t){return this.schemaBucket.getSchema(t)}getSchemas(){return this.schemaBucket.getSchemas()}setValidatorCompiler(t){this.compilersFactory=Object.assign({},this.compilersFactory,{buildValidator:()=>t}),this.validatorCompiler=t,this.isCustomValidatorCompiler=!0}setSerializerCompiler(t){this.compilersFactory=Object.assign({},this.compilersFactory,{buildSerializer:()=>t}),this.serializerCompiler=t,this.isCustomSerializerCompiler=!0}getValidatorCompiler(){return this.validatorCompiler||this.parent&&this.parent.getValidatorCompiler()}getSerializerCompiler(){return this.serializerCompiler||this.parent&&this.parent.getSerializerCompiler()}getSerializerBuilder(){return this.compilersFactory.buildSerializer||this.parent&&this.parent.getSerializerBuilder()}getValidatorBuilder(){return this.compilersFactory.buildValidator||this.parent&&this.parent.getValidatorBuilder()}setupValidator(t){this.validatorCompiler!==void 0&&!this.addedSchemas||(this.validatorCompiler=this.getValidatorBuilder()(this.schemaBucket.getSchemas(),t.ajv))}setupSerializer(t){this.serializerCompiler!==void 0&&!this.addedSchemas||(this.serializerCompiler=this.getSerializerBuilder()(this.schemaBucket.getSchemas(),t.serializerOpts))}};mI.buildSchemaController=jNr;iGe.exports=mI});var Fae=S((c9n,Uae)=>{"use strict";var Lae=Vte(),kae=require("node:assert"),Bae=Symbol.for("registered-plugin"),{kTestInternals:KNr}=Sa(),{exist:GNr,existReply:YNr,existRequest:QNr}=Zte(),{FST_ERR_PLUGIN_VERSION_MISMATCH:zNr,FST_ERR_PLUGIN_NOT_PRESENT_IN_INSTANCE:WNr}=Oo(),{FSTWRN002:XNr}=kp();function BD(e){return e[Symbol.for("plugin-meta")]}function aGe(e){let t=oGe(e);if(t)return t;let r=require.cache;if(r){let n=Object.keys(r);for(let s=0;st.trim()).join(" -- ")}function oGe(e){return e[Symbol.for("fastify.display-name")]}function cGe(e){return!!e[Symbol.for("skip-override")]}function uGe(e){let t=BD(e);if(!t)return;let r=t.dependencies;r&&(kae(Array.isArray(r),"The dependencies should be an array of strings"),r.forEach(n=>{kae(this[Bae].indexOf(n)>-1,`The dependency '${n}' of plugin '${t.name}' is not registered`)}))}function lGe(e){let t=BD(e);if(!t)return;let{decorators:r,name:n}=t;r&&(r.fastify&&Mae(this,"Fastify",r.fastify,n),r.reply&&Mae(this,"Reply",r.reply,n),r.request&&Mae(this,"Request",r.request,n))}var ZNr={Fastify:GNr,Request:QNr,Reply:YNr};function Mae(e,t,r,n){kae(Array.isArray(r),"The decorators should be an array of strings"),r.forEach(s=>{let i=typeof n=="string"?` required by '${n}'`:"";if(!ZNr[t].call(e,s))throw new WNr(s,i,t)})}function eOr(e){let t=BD(e);if(!t)return;let r=t.fastify,n=/-rc.+$/.test(this.version);if(!(n===!0&&Lae.gt(this.version,Lae.coerce(r))===!0)&&r&&Lae.satisfies(this.version,r,{includePrerelease:n})===!1)throw new zNr(t.name,r,this.version)}function tOr(e){let t=BD(e);if(!t)return;let r=t.name;if(r)return this[Bae].push(r),r}function rOr(e,t){e.constructor.name==="AsyncFunction"&&e.length===3&&XNr(t||"anonymous")}function nOr(e){let t=tOr.call(this,e)||aGe(e);return rOr.call(this,e,t),eOr.call(this,e),lGe.call(this,e),uGe.call(this,e),cGe(e)}Uae.exports={getPluginName:aGe,getFuncPreview:JNr,kRegisteredPlugins:Bae,getDisplayName:oGe,registerPlugin:nOr};Uae.exports[KNr]={shouldSkipOverride:cGe,getMeta:BD,checkDecorators:lGe,checkDependencies:uGe}});var b8=S((u9n,dGe)=>{"use strict";function sOr(e,t){let r=t||aOr();return e?oOr(e,r):r}function iOr(e,t){return e.genReqId(t)}function aOr(){let t=0;return function(){return t=t+1&2147483647,`req-${t.toString(36)}`}}function oOr(e,t){return function(r){return r.headers[e]||t(r)}}dGe.exports={getGenReqId:iOr,reqIdGenFactory:sOr}});var mGe=S((l9n,pGe)=>{"use strict";var fGe=12,cOr=0,$ae=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,10,9,9,9,11,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,24,36,48,60,72,84,96,0,12,12,12,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,24,24,24,0,0,0,0,0,0,0,0,0,24,24,0,0,0,0,0,0,0,0,0,0,48,48,48,0,0,0,0,0,0,0,0,0,0,48,48,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,127,63,63,63,0,31,15,15,15,7,7,7];function uOr(e){var t=e.indexOf("%");if(t===-1)return e;for(var r=e.length,n="",s=0,i=0,a=t,o=fGe;t>-1&&t>10),56320+(i&1023)),i=0,s=t+3,t=a=e.indexOf("%",s);else{if(o===cOr)return null;if(t+=3,t{"use strict";var gGe=mGe(),_Ge=/\+/g,AGe=function(){};AGe.prototype=Object.create(null);function dOr(e){let t=new AGe;if(typeof e!="string")return t;let r=e.length,n="",s="",i=-1,a=-1,o=!1,c=!1,u=!1,l=!1,d=!1,f=0;for(let h=0;hi,d||(a=h),n=e.slice(i+1,a),d||n.length>0){u&&(n=n.replace(_Ge," ")),o&&(n=gGe(n)||n),d&&(s=e.slice(a+1,h),l&&(s=s.replace(_Ge," ")),c&&(s=gGe(s)||s));let p=t[n];p===void 0?t[n]=s:p.pop?p.push(s):t[n]=[p,s]}s="",i=h,a=h,o=!1,c=!1,u=!1,l=!1}else f===61?a<=i?a=h:c=!0:f===43?a>i?l=!0:u=!0:f===37&&(a>i?c=!0:o=!0);return t}EGe.exports=dOr});var SGe=S((f9n,vGe)=>{var ih=Array.from({length:256},(e,t)=>"%"+((t<16?"0":"")+t.toString(16)).toUpperCase()),fOr=new Int8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0]);function hOr(e){let t=e.length;if(t===0)return"";let r="",n=0,s=0;e:for(;s>6]+ih[128|i&63];continue}if(i<55296||i>=57344){n=s+1,r+=ih[224|i>>12]+ih[128|i>>6&63]+ih[128|i&63];continue}if(++s,s>=t)throw new Error("URI malformed");let a=e.charCodeAt(s)&1023;n=s+1,i=65536+((i&1023)<<10|a),r+=ih[240|i>>18]+ih[128|i>>12&63]+ih[128|i>>6&63]+ih[128|i&63]}return n===0?e:n{"use strict";var{encodeString:qae}=SGe();function TGe(e){let t=typeof e;return t==="string"?qae(e):t==="bigint"?e.toString():t==="boolean"?e?"true":"false":t==="number"&&Number.isFinite(e)?e<1e21?""+e:qae(""+e):""}function pOr(e){let t="";if(e===null||typeof e!="object")return t;let r="&",n=Object.keys(e),s=n.length,i=0;for(let a=0;a{"use strict";var RGe=yGe(),CGe=IGe(),xGe={parse:RGe,stringify:CGe};UD.exports=xGe;UD.exports.default=xGe;UD.exports.parse=RGe;UD.exports.stringify=CGe});var OGe=S(NGe=>{"use strict";Object.defineProperty(NGe,"__esModule",{value:!0})});var DGe=S(FD=>{"use strict";Object.defineProperty(FD,"__esModule",{value:!0});FD.types=void 0;var mOr;(function(e){e[e.ROOT=0]="ROOT",e[e.GROUP=1]="GROUP",e[e.POSITION=2]="POSITION",e[e.SET=3]="SET",e[e.RANGE=4]="RANGE",e[e.REPETITION=5]="REPETITION",e[e.REFERENCE=6]="REFERENCE",e[e.CHAR=7]="CHAR"})(mOr=FD.types||(FD.types={}))});var LGe=S(PGe=>{"use strict";Object.defineProperty(PGe,"__esModule",{value:!0})});var um=S(cm=>{"use strict";var gOr=cm&&cm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Hae=cm&&cm.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&gOr(t,e,r)};Object.defineProperty(cm,"__esModule",{value:!0});Hae(OGe(),cm);Hae(DGe(),cm);Hae(LGe(),cm)});var I8=S(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.anyChar=jo.notWhitespace=jo.whitespace=jo.notInts=jo.ints=jo.notWords=jo.words=void 0;var Bn=um(),MGe=()=>[{type:Bn.types.RANGE,from:48,to:57}],kGe=()=>[{type:Bn.types.CHAR,value:95},{type:Bn.types.RANGE,from:97,to:122},{type:Bn.types.RANGE,from:65,to:90},{type:Bn.types.RANGE,from:48,to:57}],BGe=()=>[{type:Bn.types.CHAR,value:9},{type:Bn.types.CHAR,value:10},{type:Bn.types.CHAR,value:11},{type:Bn.types.CHAR,value:12},{type:Bn.types.CHAR,value:13},{type:Bn.types.CHAR,value:32},{type:Bn.types.CHAR,value:160},{type:Bn.types.CHAR,value:5760},{type:Bn.types.RANGE,from:8192,to:8202},{type:Bn.types.CHAR,value:8232},{type:Bn.types.CHAR,value:8233},{type:Bn.types.CHAR,value:8239},{type:Bn.types.CHAR,value:8287},{type:Bn.types.CHAR,value:12288},{type:Bn.types.CHAR,value:65279}],_Or=()=>[{type:Bn.types.CHAR,value:10},{type:Bn.types.CHAR,value:13},{type:Bn.types.CHAR,value:8232},{type:Bn.types.CHAR,value:8233}];jo.words=()=>({type:Bn.types.SET,set:kGe(),not:!1});jo.notWords=()=>({type:Bn.types.SET,set:kGe(),not:!0});jo.ints=()=>({type:Bn.types.SET,set:MGe(),not:!1});jo.notInts=()=>({type:Bn.types.SET,set:MGe(),not:!0});jo.whitespace=()=>({type:Bn.types.SET,set:BGe(),not:!1});jo.notWhitespace=()=>({type:Bn.types.SET,set:BGe(),not:!0});jo.anyChar=()=>({type:Bn.types.SET,set:_Or(),not:!0})});var FGe=S(md=>{"use strict";var AOr=md&&md.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),EOr=md&&md.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),yOr=md&&md.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&AOr(t,e,r);return EOr(t,e),t};Object.defineProperty(md,"__esModule",{value:!0});md.tokenizeClass=md.strToChars=void 0;var UGe=um(),gI=yOr(I8()),vOr="@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?";md.strToChars=e=>{let t=/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g;return e.replace(t,(r,n,s,i,a,o,c)=>{if(s)return r;let u=n?8:i?parseInt(i,16):a?parseInt(a,16):o?vOr.indexOf(o):{0:0,t:9,n:10,v:11,f:12,r:13}[c],l=String.fromCharCode(u);return/[[\]{}^$.|?*+()]/.test(l)?`\\${l}`:l})};md.tokenizeClass=(e,t)=>{var r,n,s,i,a,o,c;let u=[],l,d,f=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g;for(;(l=f.exec(e))!==null;){let h=(c=(o=(a=(i=(s=(n=(r=l[1]&&gI.words())!==null&&r!==void 0?r:l[2]&&gI.ints())!==null&&n!==void 0?n:l[3]&&gI.whitespace())!==null&&s!==void 0?s:l[4]&&gI.notWords())!==null&&i!==void 0?i:l[5]&&gI.notInts())!==null&&a!==void 0?a:l[6]&&gI.notWhitespace())!==null&&o!==void 0?o:l[7]&&{type:UGe.types.RANGE,from:(l[8]||l[9]).charCodeAt(0),to:(d=l[10]).charCodeAt(d.length-1)})!==null&&c!==void 0?c:(d=l[16])&&{type:UGe.types.CHAR,value:d.charCodeAt(0)};if(h)u.push(h);else return[u,f.lastIndex]}throw new SyntaxError(`Invalid regular expression: /${t}/: Unterminated character class`)}});var Vae=S(ah=>{"use strict";var SOr=ah&&ah.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),TOr=ah&&ah.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),qGe=ah&&ah.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&SOr(t,e,r);return TOr(t,e),t};Object.defineProperty(ah,"__esModule",{value:!0});ah.tokenizer=void 0;var $Ge=qGe(FGe()),co=um(),Av=qGe(I8());ah.tokenizer=e=>{let t=0,r,n={type:co.types.ROOT,stack:[]},s=n,i=n.stack,a=[],o=[],c=0,u=d=>{throw new SyntaxError(`Invalid regular expression: /${e}/: Nothing to repeat at column ${d-1}`)},l=$Ge.strToChars(e);for(;ts){let i=r.stack.splice(r.index+1);for(let a of n.slice(s))r.stack.push({type:co.types.CHAR,value:a.charCodeAt(0)});r.stack.push(...i)}}}}});var VGe=S(Ko=>{"use strict";var IOr=Ko&&Ko.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),ROr=Ko&&Ko.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),COr=Ko&&Ko.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&IOr(t,e,r);return ROr(t,e),t};Object.defineProperty(Ko,"__esModule",{value:!0});Ko.NOTANYCHAR=Ko.WHITESPACE=Ko.WORDS=Ko.INTS=void 0;var R8=COr(I8()),HGe=um();function C8(e){let t={},r=0;for(let n of e)n.type===HGe.types.CHAR&&(t[n.value]=!0),n.type===HGe.types.RANGE&&(t[`${n.from}-${n.to}`]=!0),r+=1;return{lookup:()=>Object.assign({},t),len:r}}Ko.INTS=C8(R8.ints().set);Ko.WORDS=C8(R8.words().set);Ko.WHITESPACE=C8(R8.whitespace().set);Ko.NOTANYCHAR=C8(R8.anyChar().set)});var KGe=S(gd=>{"use strict";var xOr=gd&&gd.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),wOr=gd&&gd.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),NOr=gd&&gd.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&xOr(t,e,r);return wOr(t,e),t};Object.defineProperty(gd,"__esModule",{value:!0});gd.writeSetTokens=gd.setChar=void 0;var O8=um(),x8=NOr(VGe());function N8(e){return e===94?"\\^":e===92?"\\\\":e===93?"\\]":e===45?"\\-":String.fromCharCode(e)}gd.setChar=N8;function w8(e,{lookup:t,len:r}){if(r!==e.length)return!1;let n=t();for(let s of e){if(s.type===O8.types.SET)return!1;let i=s.type===O8.types.CHAR?s.value:`${s.from}-${s.to}`;if(n[i])n[i]=!1;else return!1}return!0}function jGe(e,t=!1){if(w8(e.set,x8.INTS))return e.not?"\\D":"\\d";if(w8(e.set,x8.WORDS))return e.not?"\\W":"\\w";if(e.not&&w8(e.set,x8.NOTANYCHAR))return".";if(w8(e.set,x8.WHITESPACE))return e.not?"\\S":"\\s";let r="";for(let s=0;s{"use strict";Object.defineProperty(_I,"__esModule",{value:!0});_I.reconstruct=void 0;var sA=um(),jae=KGe(),GGe=e=>e.map(_I.reconstruct).join(""),YGe=e=>{if("options"in e)return e.options.map(GGe).join("|");if("stack"in e)return GGe(e.stack);throw new Error("options or stack must be Root or Group token")};_I.reconstruct=e=>{switch(e.type){case sA.types.ROOT:return YGe(e);case sA.types.CHAR:{let t=String.fromCharCode(e.value);return(/[[\\{}$^.|?*+()]/.test(t)?"\\":"")+t}case sA.types.POSITION:return e.value==="^"||e.value==="$"?e.value:`\\${e.value}`;case sA.types.REFERENCE:return`\\${e.value}`;case sA.types.SET:return jae.writeSetTokens(e);case sA.types.GROUP:return`(${e.remember?"":e.followedBy?"?=":e.notFollowedBy?"?!":"?:"}${YGe(e)})`;case sA.types.REPETITION:{let{min:t,max:r}=e,n;return t===0&&r===1?n="?":t===1&&r===1/0?n="+":t===0&&r===1/0?n="*":r===1/0?n=`{${t},}`:t===r?n=`{${t}}`:n=`{${t},${r}}`,`${_I.reconstruct(e.value)}${n}`}case sA.types.RANGE:return`${jae.setChar(e.from)}-${jae.setChar(e.to)}`;default:throw new Error(`Invalid token type ${e}`)}}});var WGe=S((_d,D8)=>{"use strict";var DOr=_d&&_d.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Gae=_d&&_d.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&DOr(t,e,r)};Object.defineProperty(_d,"__esModule",{value:!0});_d.types=void 0;var QGe=um();Object.defineProperty(_d,"types",{enumerable:!0,get:function(){return QGe.types}});Gae(Vae(),_d);Gae(Kae(),_d);var zGe=Vae(),POr=Kae();Gae(um(),_d);_d.default=zGe.tokenizer;D8.exports=zGe.tokenizer;D8.exports.types=QGe.types;D8.exports.reconstruct=POr.reconstruct});var JGe=S((I9n,P8)=>{"use strict";var XGe=WGe(),LOr=XGe.types;function Yae(e,t){t||(t={});let r=t.limit===void 0?25:t.limit;MOr(e)?e=e.source:typeof e!="string"&&(e=String(e));try{e=XGe(e)}catch{return!1}let n=0;return function s(i,a){let o,c,u;if(i.type===LOr.REPETITION&&(a++,n++,a>1||n>r))return!1;if(i.options){for(o=0,u=i.options.length;o{"use strict";ZGe.exports={name:"__fmw_internal_strategy_merged_tree_http_method__",storage:function(){let e={};return{get:t=>e[t]||null,set:(t,r)=>{e[t]=r}}},deriveConstraint:e=>e.method,mustMatchWhenDerived:!0}});var aYe=S((C9n,iYe)=>{"use strict";var eYe=td(),tYe=L8(),rYe=Symbol("treeData");function nYe(e,t=""){let r="",n=Object.keys(e);for(let s=0;ssYe(t)):typeof e=="symbol"?e.toString():typeof e=="function"?kOr(e):e}function BOr(e,t){if(!t.includeMeta)return{};let r=t.buildPrettyMeta(e),n={},s=t.includeMeta;Array.isArray(s)||(s=Reflect.ownKeys(r));for(let i of s){if(!Object.prototype.hasOwnProperty.call(r,i))continue;let a=i.toString(),o=r[i];if(o!=null){let c=JSON.stringify(sYe(o));n[a]=c}}return n}function UOr(e){let t="";for(let[r,n]of Object.entries(e))t+=` +\u2022 (${r}) ${n}`;return t}function FOr(e){let t={...e.opts.constraints},r=t[tYe.name];return delete t[tYe.name],{...e,method:r,opts:{constraints:t}}}function $Or(e){let t=` (${e.method})`,r=e.opts.constraints||{};return Object.keys(r).length!==0&&(t+=" "+JSON.stringify(r)),t+=UOr(e.metaData),t}function qOr(e){return e.reduce((t,r)=>{for(let n of t)if(eYe(r.opts.constraints,n.opts.constraints)&&eYe(r.metaData,n.metaData))return n.method+=", "+r.method,t;return t.push(r),t},[])}function HOr(e,t,r){let n=e.routes;return r.method===void 0&&(n=n.map(FOr)),n=n.map(s=>(s.metaData=BOr(s,r),s)),r.method===void 0&&(n=qOr(n)),n.map($Or).join(` +${t}`)}function M8(e,t,r,n){if((e.isLeafNode||n.commonPrefix!==!1)&&(r=r||"(empty root node)",t=t[r]={},e.isLeafNode&&(t[rYe]=HOr(e,r,n)),r=""),e.staticChildren)for(let s of Object.values(e.staticChildren))M8(s,t,r+s.prefix,n);if(e.parametricChildren)for(let s of Object.values(e.parametricChildren)){let i=Array.from(s.nodePaths).join("|");M8(s,t,r+i,n)}e.wildcardChild&&M8(e.wildcardChild,t,"*",n)}function VOr(e,t){let r={};return M8(e,r,e.prefix,t),nYe(r)}iYe.exports={prettyPrintTree:VOr}});var cYe=S((x9n,oYe)=>{"use strict";var jOr=L8(),Qae=class{constructor(){this.unconstrainedHandler=null,this.constraints=[],this.handlers=[],this.constrainedHandlerStores=null}getMatchingHandler(t){return t===void 0?this.unconstrainedHandler:this._getHandlerMatchingConstraints(t)}addHandler(t,r){let n=r.params,s=r.opts.constraints||{},i={params:n,constraints:s,handler:r.handler,store:r.store||null,_createParamsObject:this._compileCreateParamsObject(n)},a=Object.keys(s);a.length===0&&(this.unconstrainedHandler=i);for(let c of a)this.constraints.includes(c)||(c==="version"?this.constraints.unshift(c):this.constraints.push(c));let o=a.includes(jOr.name);if(!o&&this.handlers.length>=31)throw new Error("find-my-way supports a maximum of 31 route handlers per node when there are constraints, limit reached");this.handlers.push(i),this.handlers.sort((c,u)=>Object.keys(c.constraints).length-Object.keys(u.constraints).length),o||this._compileGetHandlerMatchingConstraints(t,s)}_compileCreateParamsObject(t){let r=[];for(let n=0;n{"use strict";var KOr=cYe(),q8={STATIC:0,PARAMETRIC:1,WILDCARD:2},k8=class{constructor(){this.isLeafNode=!1,this.routes=null,this.handlerStorage=null}addRoute(t,r){this.routes===null&&(this.routes=[]),this.handlerStorage===null&&(this.handlerStorage=new KOr),this.isLeafNode=!0,this.routes.push(t),this.handlerStorage.addHandler(r,t)}},B8=class extends k8{constructor(){super(),this.staticChildren={}}findStaticMatchingChild(t,r){let n=this.staticChildren[t.charAt(r)];return n===void 0||!n.matchPrefix(t,r)?null:n}getStaticChild(t,r=0){if(t.length===r)return this;let n=this.findStaticMatchingChild(t,r);return n?n.getStaticChild(t,r+n.prefix.length):null}createStaticChild(t){if(t.length===0)return this;let r=this.staticChildren[t.charAt(0)];if(r){let s=1;for(;s(s.regex&&s.regex.source)===r);return n||null}createParametricChild(t,r,n){let s=this.getParametricChild(t);return s?(s.nodePaths.add(n),s):(s=new F8(t,r,n),this.parametricChildren.push(s),this.parametricChildren.sort((i,a)=>i.isRegex?a.isRegex?i.staticSuffix===null?1:a.staticSuffix===null?-1:a.staticSuffix.endsWith(i.staticSuffix)?1:i.staticSuffix.endsWith(a.staticSuffix)?-1:0:-1:1),s)}getWildcardChild(){return this.wildcardChild}createWildcardChild(){return this.wildcardChild=this.getWildcardChild()||new $8,this.wildcardChild}split(t,r){let n=this.prefix.slice(0,r),s=this.prefix.slice(r);this.prefix=s,this._compilePrefixMatch();let i=new e(n);return i.staticChildren[s.charAt(0)]=this,t.staticChildren[n.charAt(0)]=i,i}getNextNode(t,r,n,s){let i=this.findStaticMatchingChild(t,r),a=0;if(i===null){if(this.parametricChildren.length===0)return this.wildcardChild;i=this.parametricChildren[0],a=1}this.wildcardChild!==null&&n.push({paramsCount:s,brotherPathIndex:r,brotherNode:this.wildcardChild});for(let o=this.parametricChildren.length-1;o>=a;o--)n.push({paramsCount:s,brotherPathIndex:r,brotherNode:this.parametricChildren[o]});return i}_compilePrefixMatch(){if(this.prefix.length===1){this.matchPrefix=()=>!0;return}let t=[];for(let r=1;r{"use strict";var GOr=require("node:assert");function $D(){if(!(this instanceof $D))return new $D;this.store={},this.maxMajor=0,this.maxMinors={},this.maxPatches={}}$D.prototype.set=function(e,t){if(typeof e!="string")throw new TypeError("Version should be a string");let[r,n,s]=e.split(".");if(isNaN(r))throw new TypeError("Major version must be a numeric value");return r=Number(r),n=Number(n)||0,s=Number(s)||0,r>=this.maxMajor&&(this.maxMajor=r,this.store.x=t,this.store["*"]=t,this.store["x.x"]=t,this.store["x.x.x"]=t),n>=(this.maxMinors[r]||0)&&(this.maxMinors[r]=n,this.store[`${r}.x`]=t,this.store[`${r}.x.x`]=t),s>=(this.maxPatches[`${r}.${n}`]||0)&&(this.maxPatches[`${r}.${n}`]=s,this.store[`${r}.${n}.x`]=t),this.store[`${r}.${n}.${s}`]=t,this};$D.prototype.get=function(e){return this.store[e]};dYe.exports={name:"version",mustMatchWhenDerived:!0,storage:$D,validate(e){GOr(typeof e=="string","Version should be a string")}}});var pYe=S((O9n,hYe)=>{"use strict";var YOr=require("node:assert");function QOr(){let e={},t=[];return{get:r=>{let n=e[r];if(n)return n;for(let s of t)if(s.host.test(r))return s.value},set:(r,n)=>{r instanceof RegExp?t.push({host:r,value:n}):e[r]=n}}}hYe.exports={name:"host",mustMatchWhenDerived:!1,storage:QOr,validate(e){YOr(typeof e=="string"||Object.prototype.toString.call(e)==="[object RegExp]","Host should be a string or a RegExp")}}});var gYe=S((D9n,mYe)=>{"use strict";var zOr=fYe(),WOr=pYe(),zae=require("node:assert"),Wae=class{constructor(t){if(this.strategies={version:zOr,host:WOr},this.strategiesInUse=new Set,this.asyncStrategiesInUse=new Set,t)for(let r of Object.values(t))this.addConstraintStrategy(r)}isStrategyUsed(t){return this.strategiesInUse.has(t)||this.asyncStrategiesInUse.has(t)}hasConstraintStrategy(t){let r=this.strategies[t];return r!==void 0?r.isCustom||this.isStrategyUsed(t):!1}addConstraintStrategy(t){if(zae(typeof t.name=="string"&&t.name!=="","strategy.name is required."),zae(t.storage&&typeof t.storage=="function","strategy.storage function is required."),zae(t.deriveConstraint&&typeof t.deriveConstraint=="function","strategy.deriveConstraint function is required."),this.strategies[t.name]&&this.strategies[t.name].isCustom)throw new Error(`There already exists a custom constraint with the name ${t.name}.`);if(this.isStrategyUsed(t.name))throw new Error(`There already exists a route with ${t.name} constraint.`);t.isCustom=!0,t.isAsync=t.deriveConstraint.length===3,this.strategies[t.name]=t,t.mustMatchWhenDerived&&this.noteUsage({[t.name]:t})}deriveConstraints(t,r,n){let s=this.deriveSyncConstraints(t,r);if(n===void 0)return s;this.deriveAsyncConstraints(s,t,r,n)}deriveSyncConstraints(t,r){}noteUsage(t){if(t){let r=this.strategiesInUse.size;for(let n in t)this.strategies[n].isAsync?this.asyncStrategiesInUse.add(n):this.strategiesInUse.add(n);r!==this.strategiesInUse.size&&this._buildDeriveConstraints()}}newStoreForConstraint(t){if(!this.strategies[t])throw new Error(`No strategy registered for constraint key ${t}`);return this.strategies[t].storage()}validateConstraints(t){for(let r in t){let n=t[r];if(typeof n>"u")throw new Error("Can't pass an undefined constraint value, must pass null or no key at all");let s=this.strategies[r];if(!s)throw new Error(`No strategy registered for constraint key ${r}`);s.validate&&s.validate(n)}}deriveAsyncConstraints(t,r,n,s){let i=this.asyncStrategiesInUse.size;if(i===0){s(null,t);return}t=t||{};for(let a of this.asyncStrategiesInUse)this.strategies[a].deriveConstraint(r,n,(c,u)=>{if(c!==null){s(c);return}t[a]=u,--i===0&&s(null,t)})}_buildDeriveConstraints(){if(this.strategiesInUse.size===0)return;let t=["return {"];for(let r of this.strategiesInUse){let n=this.strategies[r];n.isCustom?t.push(` ${n.name}: this.strategies.${r}.deriveConstraint(req, ctx),`):r==="version"?t.push(" version: req.headers['accept-version'],"):t.push(" host: req.headers.host || req.headers[':authority'],")}t.push("}"),this.deriveSyncConstraints=new Function("req","ctx",t.join(` +`)).bind(this)}};mYe.exports=Wae});var AYe=S((P9n,_Ye)=>{"use strict";var XOr=["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE"];_Ye.exports=XOr});var vYe=S((L9n,yYe)=>{"use strict";function EYe(e,t){return e===50?t===53?"%":t===51?"#":t===52?"$":t===54?"&":t===66||t===98?"+":t===67||t===99?",":t===70||t===102?"/":null:e===51?t===65||t===97?":":t===66||t===98?";":t===68||t===100?"=":t===70||t===102?"?":null:e===52&&t===48?"@":null}function JOr(e,t){let r=!1,n=!1,s="";for(let a=1;a{"use strict";var Oi=require("node:assert"),eDr=wGe(),H8=JGe(),Jae=td(),{prettyPrintTree:tDr}=aYe(),{StaticNode:SYe,NODE_TYPES:TYe}=lYe(),rDr=gYe(),AI=AYe(),Xae=L8(),{safeDecodeURI:nDr,safeDecodeURIComponent:bYe}=vYe(),IYe=/^https?:\/\/.*?\//,Ev=/(\/:[^/()]*?)\?(\/?)/;if(!H8(IYe))throw new Error("the FULL_PATH_REGEXP is not safe, update this module");if(!H8(Ev))throw new Error("the OPTIONAL_PARAM_REGEXP is not safe, update this module");function fi(e){if(!(this instanceof fi))return new fi(e);e=e||{},this._opts=e,e.defaultRoute?(Oi(typeof e.defaultRoute=="function","The default route must be a function"),this.defaultRoute=e.defaultRoute):this.defaultRoute=null,e.onBadUrl?(Oi(typeof e.onBadUrl=="function","The bad url handler must be a function"),this.onBadUrl=e.onBadUrl):this.onBadUrl=null,e.buildPrettyMeta?(Oi(typeof e.buildPrettyMeta=="function","buildPrettyMeta must be a function"),this.buildPrettyMeta=e.buildPrettyMeta):this.buildPrettyMeta=sDr,e.querystringParser?(Oi(typeof e.querystringParser=="function","querystringParser must be a function"),this.querystringParser=e.querystringParser):this.querystringParser=t=>t===""?{}:eDr.parse(t),this.caseSensitive=e.caseSensitive===void 0?!0:e.caseSensitive,this.ignoreTrailingSlash=e.ignoreTrailingSlash||!1,this.ignoreDuplicateSlashes=e.ignoreDuplicateSlashes||!1,this.maxParamLength=e.maxParamLength||100,this.allowUnsafeRegex=e.allowUnsafeRegex||!1,this.constrainer=new rDr(e.constraints),this.useSemicolonDelimiter=e.useSemicolonDelimiter||!1,this.routes=[],this.trees={}}fi.prototype.on=function(t,r,n,s,i){typeof n=="function"&&(s!==void 0&&(i=s),s=n,n={}),Oi(typeof r=="string","Path should be a string"),Oi(r.length>0,"The path could not be empty"),Oi(r[0]==="/"||r[0]==="*","The first character of a path should be `/` or `*`"),Oi(typeof s=="function","Handler should be a function");let a=r.match(Ev);if(a){Oi(r.length===a.index+a[0].length,"Optional Parameter needs to be the last parameter of the path");let u=r.replace(Ev,"$1$2"),l=r.replace(Ev,"$2")||"/";this.on(t,u,n,s,i),this.on(t,l,n,s,i);return}let o=r;this.ignoreDuplicateSlashes&&(r=Zae(r)),this.ignoreTrailingSlash&&(r=eoe(r));let c=Array.isArray(t)?t:[t];for(let u of c)Oi(typeof u=="string","Method should be a string"),Oi(AI.includes(u),`Method '${u}' is not an http method.`),this._on(u,r,n,s,i,o)};fi.prototype._on=function(t,r,n,s,i){let a={};n.constraints!==void 0&&(Oi(typeof n.constraints=="object"&&n.constraints!==null,"Constraints should be an object"),Object.keys(n.constraints).length!==0&&(a=n.constraints)),this.constrainer.validateConstraints(a),this.constrainer.noteUsage(a),this.trees[t]===void 0&&(this.trees[t]=new SYe("/"));let o=r;if(o==="*"&&this.trees[t].prefix.length!==0){let f=this.trees[t];this.trees[t]=new SYe(""),this.trees[t].staticChildren["/"]=f}let c=this.trees[t],u=c.prefix.length,l=[];for(let f=0;f<=o.length;f++){if(o.charCodeAt(f)===58&&o.charCodeAt(f+1)===58){f++;continue}let h=o.charCodeAt(f)===58&&o.charCodeAt(f+1)!==58,p=o.charCodeAt(f)===42;if(h||p||f===o.length&&f!==u){let m=o.slice(u,f);this.caseSensitive||(m=m.toLowerCase()),m=m.split("::").join(":"),m=m.split("%").join("%25"),c=c.createStaticChild(m)}if(h){let m=!1,g=!0,_="",y=[],E=f+1;for(let A=E;;A++){let v=o.charCodeAt(A),T=v===40,C=v===45||v===46,b=v===47||A===o.length;if(T||C||b){let x=o.slice(E,A);if(l.push(x),m=m||T||C,T){let M=xYe(o,A),L=o.slice(A,M+1);this.allowUnsafeRegex||Oi(H8(new RegExp(L)),`The regex '${L}' is not safe!`),y.push(CYe(L)),A=M+1,g=!0}else y.push(g?"(.*?)":`(${_}|(?:(?!${_}).)*)`),g=!1;let w=A;for(;A0,"The path could not be empty"),Oi(r[0]==="/"||r[0]==="*","The first character of a path should be `/` or `*`"),Oi(typeof n>"u"||typeof n=="object"&&!Array.isArray(n)&&n!==null,"Constraints should be an object or undefined.");let s=r.match(Ev);if(s){Oi(r.length===s.index+s[0].length,"Optional Parameter needs to be the last parameter of the path");let a=r.replace(Ev,"$1$2"),o=r.replace(Ev,"$2");this.off(t,a,n),this.off(t,o,n);return}this.ignoreDuplicateSlashes&&(r=Zae(r)),this.ignoreTrailingSlash&&(r=eoe(r));let i=Array.isArray(t)?t:[t];for(let a of i)this._off(a,r,n)};fi.prototype._off=function(t,r,n){Oi(typeof t=="string","Method should be a string"),Oi(AI.includes(t),`Method '${t}' is not an http method.`);function s(c){return t!==c.method||r!==c.path}function i(c){return s(c)||!Jae(n,c.opts.constraints||{})}let a=n?i:s,o=this.routes.filter(a);this._rebuild(o)};fi.prototype.lookup=function(t,r,n,s){if(typeof n=="function"&&(s=n,n=void 0),s===void 0){let i=this.constrainer.deriveConstraints(t,n),a=this.find(t.method,t.url,i);return this.callHandler(a,t,r,n)}this.constrainer.deriveConstraints(t,n,(i,a)=>{if(i!==null){s(i);return}try{let o=this.find(t.method,t.url,a),c=this.callHandler(o,t,r,n);s(null,c)}catch(o){s(o)}})};fi.prototype.callHandler=function(t,r,n,s){return t===null?this._defaultRoute(r,n,s):s===void 0?t.handler(r,n,t.params,t.store,t.searchParams):t.handler.call(s,r,n,t.params,t.store,t.searchParams)};fi.prototype.find=function(t,r,n){let s=this.trees[t];if(s===void 0)return null;r.charCodeAt(0)!==47&&(r=r.replace(IYe,"/")),this.ignoreDuplicateSlashes&&(r=Zae(r));let i,a,o;try{i=nDr(r,this.useSemicolonDelimiter),r=i.path,a=i.querystring,o=i.shouldDecodeParam}catch{return this._onBadUrl(r)}this.ignoreTrailingSlash&&(r=eoe(r));let c=r;this.caseSensitive===!1&&(r=r.toLowerCase());let u=this.maxParamLength,l=s.prefix.length,d=[],f=r.length,h=[];for(;;){if(l===f&&s.isLeafNode){let _=s.handlerStorage.getMatchingHandler(n);if(_!==null)return{handler:_.handler,store:_.store,params:_._createParamsObject(d),searchParams:this.querystringParser(a)}}let p=s.getNextNode(r,l,h,d.length);if(p===null){if(h.length===0)return null;let _=h.pop();l=_.brotherPathIndex,d.splice(_.paramsCount),p=_.brotherNode}if(s=p,s.kind===TYe.STATIC){l+=s.prefix.length;continue}if(s.kind===TYe.WILDCARD){let _=c.slice(l);o&&(_=bYe(_)),d.push(_),l=f;continue}let m=c.indexOf("/",l);m===-1&&(m=f);let g=c.slice(l,m);if(o&&(g=bYe(g)),s.isRegex){let _=s.regex.exec(g);if(_===null)continue;for(let y=1;y<_.length;y++){let E=_[y];if(E.length>u)return null;d.push(E)}}else{if(g.length>u)return null;d.push(g)}l=m}};fi.prototype._rebuild=function(e){this.reset();for(let t of e){let{method:r,path:n,opts:s,handler:i,store:a}=t;this._on(r,n,s,i,a)}};fi.prototype._defaultRoute=function(e,t,r){if(this.defaultRoute!==null)return r===void 0?this.defaultRoute(e,t):this.defaultRoute.call(r,e,t);t.statusCode=404,t.end()};fi.prototype._onBadUrl=function(e){if(this.onBadUrl===null)return null;let t=this.onBadUrl;return{handler:(r,n,s)=>t(e,r,n),params:{},store:null}};fi.prototype.prettyPrint=function(e={}){let t=e.method;e.buildPrettyMeta=this.buildPrettyMeta.bind(this);let r=null;if(t===void 0){let{version:n,host:s,...i}=this.constrainer.strategies;i[Xae.name]=Xae;let a=new fi({...this._opts,constraints:i}),o=this.routes.map(c=>{let u={...c.opts.constraints,[Xae.name]:c.method};return{...c,method:"MERGED",opts:{constraints:u}}});a._rebuild(o),r=a.trees.MERGED}else r=this.trees[t];return r==null?"(empty tree)":tDr(r,e)};for(let e in AI){if(!AI.hasOwnProperty(e))continue;let t=AI[e],r=t.toLowerCase();fi.prototype[r]=function(n,s,i){return this.on(t,n,s,i)}}fi.prototype.all=function(e,t,r){this.on(AI,e,t,r)};wYe.exports=fi;function RYe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Zae(e){return e.replace(/\/\/+/g,"/")}function eoe(e){return e.length>1&&e.charCodeAt(e.length-1)===47?e.slice(0,-1):e}function CYe(e){return e.charCodeAt(1)===94&&(e=e.slice(0,1)+e.slice(2)),e.charCodeAt(e.length-2)===36&&(e=e.slice(0,e.length-2)+e.slice(e.length-1)),e}function xYe(e,t){let r=1;for(;t{"use strict";function roe(e,t,r,n){if(r===void 0)return t.header("content-length","0"),n(null,null);if(typeof r.resume=="function")return r.on("error",i=>{t.log.error({err:i},"Error on Stream found for HEAD route")}),r.resume(),n(null,null);let s=""+Buffer.byteLength(r);t.header("content-length",s),n(null,null)}function iDr(e){return e==null?roe:Array.isArray(e)?[...e,roe]:[e,roe]}NYe.exports={parseHeadOnSendHandlers:iDr}});var QYe=S((B9n,YYe)=>{"use strict";var aDr=toe(),oDr=qF(),DYe=gJ(),{onRequestAbortHookRunner:cDr,lifecycleHooks:PYe,preParsingHookRunner:uDr,onTimeoutHookRunner:lDr,onRequestHookRunner:dDr}=T_(),{supportedMethods:fDr}=Qte(),{normalizeSchema:hDr}=ON(),{parseHeadOnSendHandlers:pDr}=OYe(),{FSTDEP007:mDr,FSTDEP008:gDr,FSTDEP014:LYe}=kp(),{compileSchemasForValidation:_Dr,compileSchemasForSerialization:ADr}=dJ(),{FST_ERR_SCH_VALIDATION_BUILD:EDr,FST_ERR_SCH_SERIALIZATION_BUILD:yDr,FST_ERR_DEFAULT_ROUTE_INVALID_TYPE:vDr,FST_ERR_DUPLICATED_ROUTE:SDr,FST_ERR_INVALID_URL:TDr,FST_ERR_HOOK_INVALID_HANDLER:MYe,FST_ERR_ROUTE_OPTIONS_NOT_OBJ:bDr,FST_ERR_ROUTE_DUPLICATED_HANDLER:IDr,FST_ERR_ROUTE_HANDLER_NOT_FN:kYe,FST_ERR_ROUTE_MISSING_HANDLER:RDr,FST_ERR_ROUTE_METHOD_NOT_SUPPORTED:CDr,FST_ERR_ROUTE_METHOD_INVALID:xDr,FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED:wDr,FST_ERR_ROUTE_BODY_LIMIT_OPTION_NOT_INT:NDr,FST_ERR_HOOK_INVALID_ASYNC_HANDLER:noe}=Oo(),{kRoutePrefix:ODr,kLogLevel:DDr,kLogSerializers:BYe,kHooks:UYe,kSchemaController:PDr,kOptions:FYe,kReplySerializerDefault:soe,kReplyIsError:LDr,kRequestPayloadStream:MDr,kDisableRequestLogging:kDr,kSchemaErrorFormatter:BDr,kErrorHandler:$Ye,kHasBeenDecorated:qYe,kRequestAcceptVersion:ioe,kRouteByFastify:aoe,kRouteContext:HYe}=Sa(),{buildErrorHandler:UDr}=uO(),{createChildLogger:FDr}=NN(),{getGenReqId:$Dr}=b8();function qDr(e){let t=aDr(e.config),r,n,s,i,a,o,c,u,l,d,f,h,p,m=!1;return{setup(b,x){r=x.avvio,n=x.fourOhFour,s=x.logger,i=x.hasLogger,a=x.setupResponseListeners,o=x.throwIfAlreadyStarted,h=x.validateHTTPVersion,f=b.exposeHeadRoutes,c=b.disableRequestLogging,u=b.ignoreTrailingSlash,l=b.ignoreDuplicateSlashes,d=Object.prototype.hasOwnProperty.call(b,"return503OnClosing")?b.return503OnClosing:!0,p=x.keepAliveConnections},routing:t.lookup.bind(t),route:T,hasRoute:A,prepareRoute:E,getDefaultRoute:function(){return LYe(),t.defaultRoute},setDefaultRoute:function(b){if(LYe(),typeof b!="function")throw new vDr;t.defaultRoute=b},routeHandler:C,closeRoutes:()=>{m=!0},printRoutes:t.prettyPrint.bind(t),addConstraintStrategy:g,hasConstraintStrategy:_,isAsyncConstraint:y,findRoute:v};function g(b){return o("Cannot add constraint strategy!"),t.addConstraintStrategy(b)}function _(b){return t.hasConstraintStrategy(b)}function y(){return t.constrainer.asyncStrategiesInUse.size>0}function E({method:b,url:x,options:w,handler:P,isFastify:M}){if(typeof x!="string")throw new TDr(typeof x);if(!P&&typeof w=="function")P=w,w={};else if(P&&typeof P=="function"){if(Object.prototype.toString.call(w)!=="[object Object]")throw new bDr(b,x);if(w.handler)throw typeof w.handler=="function"?new IDr(b,x):new kYe(b,x)}return w=Object.assign({},w,{method:b,url:x,path:x,handler:P||w&&w.handler}),T.call(this,{options:w,isFastify:M})}function A({options:b}){return v(b)!==null}function v(b){let x=t.find(b.method,b.url||"",b.constraints);return x?{handler:x.handler,params:x.params,searchParams:x.searchParams}:null}function T({options:b,isFastify:x}){let w={...b},{exposeHeadRoute:P}=w,L=P!=null?P:f,U=w.method==="GET"||Array.isArray(w.method)&&w.method.includes("GET"),Y=w.method==="HEAD"||Array.isArray(w.method)&&w.method.includes("HEAD"),$=L&&U?{...b}:null;o("Cannot add route!");let V=w.url||w.path||"";if(Array.isArray(w.method))for(var W=0;W0&&w.method!=="HEAD")switch(w.prefixTrailingSlash){case"slash":se.call(this,{path:V,isFastify:x});break;case"no-slash":se.call(this,{path:"",isFastify:x});break;case"both":default:se.call(this,{path:"",isFastify:x}),u!==!0&&(l!==!0||!G.endsWith("/"))&&se.call(this,{path:V,prefixing:!0,isFastify:x})}else V[0]==="/"&&G.endsWith("/")?se.call(this,{path:V.slice(1),isFastify:x}):se.call(this,{path:V,isFastify:x});return this;function se({path:ue,prefixing:te=!1,isFastify:Q=!1}){let ee=G+ue;if(w.url=ee,w.path=ee,w.routePath=ue,w.prefix=G,w.logLevel=w.logLevel||this[DDr],(this[BYe]||w.logSerializers)&&(w.logSerializers=Object.assign(Object.create(this[BYe]),w.logSerializers)),w.attachValidation==null&&(w.attachValidation=!1),te===!1)for(let H of this[UYe].onRoute)H.call(this,w);for(let H of PYe)if(w&&H in w){if(Array.isArray(w[H]))for(let K of w[H]){if(typeof K!="function")throw new MYe(H,Object.prototype.toString.call(K));if(H==="onSend"||H==="preSerialization"||H==="onError"||H==="preParsing"){if(K.constructor.name==="AsyncFunction"&&K.length===4)throw new noe}else if(H==="onRequestAbort"){if(K.constructor.name==="AsyncFunction"&&K.length!==1)throw new noe}else if(K.constructor.name==="AsyncFunction"&&K.length===3)throw new noe}else if(w[H]!==void 0&&typeof w[H]!="function")throw new MYe(H,Object.prototype.toString.call(w[H]))}let de=w.constraints||{},B={...w.config,url:ee,method:w.method},k=new oDr({schema:w.schema,handler:w.handler.bind(this),config:B,errorHandler:w.errorHandler,childLoggerFactory:w.childLoggerFactory,bodyLimit:w.bodyLimit,logLevel:w.logLevel,logSerializers:w.logSerializers,attachValidation:w.attachValidation,schemaErrorFormatter:w.schemaErrorFormatter,replySerializer:this[soe],validatorCompiler:w.validatorCompiler,serializerCompiler:w.serializerCompiler,exposeHeadRoute:L,prefixTrailingSlash:w.prefixTrailingSlash||"both",server:this,isFastify:Q});w.version&&(gDr(),de.version=w.version);let J=t.findRoute("HEAD",w.url,de),D=J!==null;Y&&D&&!k[aoe]&&J.store[aoe]&&t.off("HEAD",w.url,de);try{t.on(w.method,w.url,{constraints:de},C,k)}catch(H){if(!k[aoe])throw H.message.includes(`Method '${w.method}' already declared for route '${w.url}'`)?new SDr(w.method,w.url):H}if(this.after((H,K)=>{k.errorHandler=w.errorHandler?UDr(this[$Ye],w.errorHandler):this[$Ye],k._parserOptions.limit=w.bodyLimit||null,k.logLevel=w.logLevel,k.logSerializers=w.logSerializers,k.attachValidation=w.attachValidation,k[soe]=this[soe],k.schemaErrorFormatter=w.schemaErrorFormatter||this[BDr]||k.schemaErrorFormatter,r.once("preReady",()=>{for(let q of PYe){let z=this[UYe][q].concat(w[q]||[]).map(Z=>Z.bind(this));k[q]=z.length?z:null}for(;!k.Request[qYe]&&k.Request.parent;)k.Request=k.Request.parent;for(;!k.Reply[qYe]&&k.Reply.parent;)k.Reply=k.Reply.parent;if(n.setContext(this,k),w.schema){k.schema=hDr(k.schema,this.initialConfig);let q=this[PDr];!w.validatorCompiler&&(w.schema.body||w.schema.headers||w.schema.querystring||w.schema.params)&&q.setupValidator(this[FYe]);try{let z=typeof w?.validatorCompiler=="function"||q.isCustomValidatorCompiler;_Dr(k,w.validatorCompiler||q.validatorCompiler,z)}catch(z){throw new EDr(w.method,ee,z.message)}w.schema.response&&!w.serializerCompiler&&q.setupSerializer(this[FYe]);try{ADr(k,w.serializerCompiler||q.serializerCompiler)}catch(z){throw new yDr(w.method,ee,z.message)}}}),K(H)}),L&&U&&!Y&&!D){let H=pDr($.onSend);E.call(this,{method:"HEAD",url:ue,options:{...$,onSend:H},isFastify:!0})}else D&&P&&mDr()}}function C(b,x,w,P,M){let L=$Dr(P.server,b),U={level:P.logLevel};P.logSerializers&&(U.serializers=P.logSerializers);let Y=FDr(P,s,b,L,U);if(Y[kDr]=c,!h(b.httpVersion)){Y.info({res:{statusCode:505}},"request aborted - invalid HTTP version");let G='{"error":"HTTP Version Not Supported","message":"HTTP Version Not Supported","statusCode":505}',se={"Content-Type":"application/json","Content-Length":G.length};x.writeHead(505,se),x.end(G);return}if(m===!0&&(b.httpVersionMajor!==2&&x.setHeader("Connection","close"),d)){let G={"Content-Type":"application/json","Content-Length":"80"};x.writeHead(503,G),x.end('{"error":"Service Unavailable","message":"Service Unavailable","statusCode":503}'),Y.info({res:{statusCode:503}},"request aborted - refusing to accept new requests as server is closing");return}String.prototype.toLowerCase.call(b.headers.connection||"")==="keep-alive"&&p.has(b.socket)===!1&&(p.add(b.socket),b.socket.on("close",jDr.bind({keepAliveConnections:p,socket:b.socket}))),b.headers[ioe]!==void 0&&(b.headers["accept-version"]=b.headers[ioe],b.headers[ioe]=void 0);let V=new P.Request(L,w,b,M,Y,P),W=new P.Reply(x,V,Y);c===!1&&Y.info({req:V},"incoming request"),(i===!0||P.onResponse!==null)&&a(W),P.onRequest!==null?dDr(P.onRequest,V,W,KYe):KYe(null,V,W),P.onRequestAbort!==null&&b.on("close",()=>{b.aborted&&cDr(P.onRequestAbort,V,HDr.bind(null,W))}),P.onTimeout!==null&&(V.raw.socket._meta||V.raw.socket.on("timeout",VDr),V.raw.socket._meta={context:P,request:V,reply:W})}}function HDr(e,t){t&&e.log.error({err:t},"onRequestAborted hook failed")}function VDr(){let{context:e,request:t,reply:r}=this._meta;lDr(e.onTimeout,t,r,KDr)}function VYe(e){if(typeof e!="string")throw new xDr;if(e=e.toUpperCase(),fDr.indexOf(e)===-1)throw new CDr(e);return e}function jYe(e,t,r){if((e==="GET"||e==="HEAD")&&r&&r.body)throw new wDr(e,t)}function GYe(e){if(e!==void 0&&(!Number.isInteger(e)||e<=0))throw new NDr(e)}function KYe(e,t,r){if(r.sent!==!0){if(e!=null){r[LDr]=!0,r.send(e);return}t[MDr]=t.raw,t[HYe].preParsing!==null?uDr(t[HYe].preParsing,t,r,DYe):DYe(null,t,r)}}function jDr(){this.keepAliveConnections.delete(this.socket)}function KDr(){}YYe.exports={buildRouting:qDr,validateBodyLimitOption:GYe}});var tQe=S((U9n,eQe)=>{"use strict";var GDr=toe(),zYe=TF(),WYe=$F(),YDr=qF(),{kRoutePrefix:QDr,kCanSetNotFoundHandler:qD,kFourOhFourLevelInstance:HD,kFourOhFourContext:oh,kHooks:zDr,kErrorHandler:XYe}=Sa(),{lifecycleHooks:WDr}=T_(),{buildErrorHandler:XDr}=uO(),{FST_ERR_NOT_FOUND:JDr}=Oo(),{createChildLogger:JYe}=NN(),{getGenReqId:ZYe}=b8();function ZDr(e){let{logger:t}=e,r=GDr({onBadUrl:a(),defaultRoute:l}),n=null;return{router:r,setNotFoundHandler:c,setContext:o,arrange404:s};function s(d){d[HD]=d,d[qD]=!0,r.onBadUrl=r.onBadUrl.bind(d),r.defaultRoute=r.defaultRoute.bind(d)}function i(d,f){let{url:h,method:p}=d.raw,m=`Route ${p}:${h} not found`;d.log.info(m),f.code(404).send({message:m,error:"Not Found",statusCode:404})}function a(){return function(f,h,p){let m=this[HD][oh],g=ZYe(m.server,h),_=JYe(m,t,h,g),y=new WYe(g,null,h,null,_,m),E=new zYe(p,y,_);n(y,E)}}function o(d,f){let h=Object.assign({},d[oh]);h.onSend=f.onSend,f[oh]=h}function c(d,f,h,p){this[qD]===void 0&&(this[qD]=!0),this[oh]===void 0&&(this[oh]=null);let m=this,g=this[QDr]||"/";if(this[qD]===!1)throw new Error(`Not found handler already set for Fastify instance with prefix: '${g}'`);typeof d=="object"&&(d.preHandler&&(Array.isArray(d.preHandler)?d.preHandler=d.preHandler.map(_=>_.bind(m)):d.preHandler=d.preHandler.bind(m)),d.preValidation&&(Array.isArray(d.preValidation)?d.preValidation=d.preValidation.map(_=>_.bind(m)):d.preValidation=d.preValidation.bind(m))),typeof d=="function"&&(f=d,d=void 0),d=d||{},f?(this[HD][qD]=!1,f=f.bind(this),n=f):(f=i,n=i),this.after((_,y)=>{u.call(this,g,d,f,h,p),y(_)})}function u(d,f,h,p,m){let g=new YDr({schema:f.schema,handler:h,config:f.config||{},server:this});if(p.once("preReady",()=>{let _=this[oh];for(let y of WDr){let E=this[zDr][y].concat(f[y]||[]).map(A=>A.bind(this));_[y]=E.length?E:null}_.errorHandler=f.errorHandler?XDr(this[XYe],f.errorHandler):this[XYe]}),this[oh]!==null&&d==="/"){Object.assign(this[oh],g);return}this[HD][oh]=g,r.all(d+(d.endsWith("/")?"*":"/*"),m,g),r.all(d,m,g)}function l(d,f){let h=this[HD][oh],p=ZYe(h.server,d),m=JYe(h,t,d,p);m.info({req:d},"incoming request");let g=new WYe(p,null,d,null,m,h),_=new zYe(f,g,m);g.log.warn("the default handler for 404 did not catch this, this is likely a fastify bug, please report it"),g.log.warn(r.prettyPrint()),_.code(404).send(new JDr)}}eQe.exports=ZDr});var nQe=S((F9n,V8)=>{"use strict";V8.exports=In;V8.exports.default=In;var rQe={type:"object",additionalProperties:!1,properties:{connectionTimeout:{type:"integer",default:0},keepAliveTimeout:{type:"integer",default:72e3},forceCloseConnections:{oneOf:[{type:"string",pattern:"idle"},{type:"boolean"}]},maxRequestsPerSocket:{type:"integer",default:0,nullable:!0},requestTimeout:{type:"integer",default:0},bodyLimit:{type:"integer",default:1048576},caseSensitive:{type:"boolean",default:!0},allowUnsafeRegex:{type:"boolean",default:!1},http2:{type:"boolean"},https:{if:{not:{oneOf:[{type:"boolean"},{type:"null"},{type:"object",additionalProperties:!1,required:["allowHTTP1"],properties:{allowHTTP1:{type:"boolean"}}}]}},then:{setDefaultValue:!0}},ignoreTrailingSlash:{type:"boolean",default:!1},ignoreDuplicateSlashes:{type:"boolean",default:!1},disableRequestLogging:{type:"boolean",default:!1},jsonShorthand:{type:"boolean",default:!0},maxParamLength:{type:"integer",default:100},onProtoPoisoning:{type:"string",default:"error"},onConstructorPoisoning:{type:"string",default:"error"},pluginTimeout:{type:"integer",default:1e4},requestIdHeader:{anyOf:[{enum:[!1]},{type:"string"}],default:"request-id"},requestIdLogLabel:{type:"string",default:"reqId"},http2SessionTimeout:{type:"integer",default:72e3},exposeHeadRoutes:{type:"boolean",default:!0},useSemicolonDelimiter:{type:"boolean",default:!0},versioning:{type:"object",additionalProperties:!0,required:["storage","deriveVersion"],properties:{storage:{},deriveVersion:{}}},constraints:{type:"object",additionalProperties:{type:"object",required:["name","storage","validate","deriveConstraint"],additionalProperties:!0,properties:{name:{type:"string"},storage:{},validate:{},deriveConstraint:{}}}}}},e2r=Object.prototype.hasOwnProperty,t2r=new RegExp("idle","u");function In(e,{instancePath:t="",parentData:r,parentDataProperty:n,rootData:s=e}={}){let i=null,a=0;if(a===0)if(e&&typeof e=="object"&&!Array.isArray(e)){e.connectionTimeout===void 0&&(e.connectionTimeout=0),e.keepAliveTimeout===void 0&&(e.keepAliveTimeout=72e3),e.maxRequestsPerSocket===void 0&&(e.maxRequestsPerSocket=0),e.requestTimeout===void 0&&(e.requestTimeout=0),e.bodyLimit===void 0&&(e.bodyLimit=1048576),e.caseSensitive===void 0&&(e.caseSensitive=!0),e.allowUnsafeRegex===void 0&&(e.allowUnsafeRegex=!1),e.ignoreTrailingSlash===void 0&&(e.ignoreTrailingSlash=!1),e.ignoreDuplicateSlashes===void 0&&(e.ignoreDuplicateSlashes=!1),e.disableRequestLogging===void 0&&(e.disableRequestLogging=!1),e.jsonShorthand===void 0&&(e.jsonShorthand=!0),e.maxParamLength===void 0&&(e.maxParamLength=100),e.onProtoPoisoning===void 0&&(e.onProtoPoisoning="error"),e.onConstructorPoisoning===void 0&&(e.onConstructorPoisoning="error"),e.pluginTimeout===void 0&&(e.pluginTimeout=1e4),e.requestIdHeader===void 0&&(e.requestIdHeader="request-id"),e.requestIdLogLabel===void 0&&(e.requestIdLogLabel="reqId"),e.http2SessionTimeout===void 0&&(e.http2SessionTimeout=72e3),e.exposeHeadRoutes===void 0&&(e.exposeHeadRoutes=!0),e.useSemicolonDelimiter===void 0&&(e.useSemicolonDelimiter=!0);let p=a;for(let m in e)e2r.call(rQe.properties,m)||delete e[m];if(p===a){let m=e.connectionTimeout,g=a;if(!(typeof m=="number"&&!(m%1)&&!isNaN(m)&&isFinite(m))){let _=typeof m,y;if(y===void 0)if(_==="boolean"||m===null||_==="string"&&m&&m==+m&&!(m%1))y=+m;else return In.errors=[{instancePath:t+"/connectionTimeout",schemaPath:"#/properties/connectionTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;y!==void 0&&(m=y,e!==void 0&&(e.connectionTimeout=y))}var o=g===a;if(o){let _=e.keepAliveTimeout,y=a;if(!(typeof _=="number"&&!(_%1)&&!isNaN(_)&&isFinite(_))){let A=typeof _,v;if(v===void 0)if(A==="boolean"||_===null||A==="string"&&_&&_==+_&&!(_%1))v=+_;else return In.errors=[{instancePath:t+"/keepAliveTimeout",schemaPath:"#/properties/keepAliveTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;v!==void 0&&(_=v,e!==void 0&&(e.keepAliveTimeout=v))}var o=y===a;if(o){if(e.forceCloseConnections!==void 0){let A=e.forceCloseConnections,v=a,T=a,C=!1,b=null,x=a;if(typeof A!="string"){let M=typeof A,L;if(L===void 0)if(M=="number"||M=="boolean")L=""+A;else if(A===null)L="";else{let U={instancePath:t+"/forceCloseConnections",schemaPath:"#/properties/forceCloseConnections/oneOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[U]:i.push(U),a++}L!==void 0&&(A=L,e!==void 0&&(e.forceCloseConnections=L))}if(a===x&&typeof A=="string"&&!t2r.test(A)){let M={instancePath:t+"/forceCloseConnections",schemaPath:"#/properties/forceCloseConnections/oneOf/0/pattern",keyword:"pattern",params:{pattern:"idle"},message:'must match pattern "idle"'};i===null?i=[M]:i.push(M),a++}var c=x===a;c&&(C=!0,b=0);let w=a;if(typeof A!="boolean"){let M;if(M===void 0)if(A==="false"||A===0||A===null)M=!1;else if(A==="true"||A===1)M=!0;else{let L={instancePath:t+"/forceCloseConnections",schemaPath:"#/properties/forceCloseConnections/oneOf/1/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};i===null?i=[L]:i.push(L),a++}M!==void 0&&(A=M,e!==void 0&&(e.forceCloseConnections=M))}var c=w===a;if(c&&C?(C=!1,b=[b,1]):c&&(C=!0,b=1),C)a=T,i!==null&&(T?i.length=T:i=null);else{let M={instancePath:t+"/forceCloseConnections",schemaPath:"#/properties/forceCloseConnections/oneOf",keyword:"oneOf",params:{passingSchemas:b},message:"must match exactly one schema in oneOf"};return i===null?i=[M]:i.push(M),a++,In.errors=i,!1}var o=v===a}else var o=!0;if(o){let A=e.maxRequestsPerSocket,v=a;if(!(typeof A=="number"&&!(A%1)&&!isNaN(A)&&isFinite(A))&&A!==null){let C=typeof A,b;if(b===void 0)if(C==="boolean"||A===null||C==="string"&&A&&A==+A&&!(A%1))b=+A;else if(A===""||A===0||A===!1)b=null;else return In.errors=[{instancePath:t+"/maxRequestsPerSocket",schemaPath:"#/properties/maxRequestsPerSocket/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;b!==void 0&&(A=b,e!==void 0&&(e.maxRequestsPerSocket=b))}var o=v===a;if(o){let C=e.requestTimeout,b=a;if(!(typeof C=="number"&&!(C%1)&&!isNaN(C)&&isFinite(C))){let w=typeof C,P;if(P===void 0)if(w==="boolean"||C===null||w==="string"&&C&&C==+C&&!(C%1))P=+C;else return In.errors=[{instancePath:t+"/requestTimeout",schemaPath:"#/properties/requestTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;P!==void 0&&(C=P,e!==void 0&&(e.requestTimeout=P))}var o=b===a;if(o){let w=e.bodyLimit,P=a;if(!(typeof w=="number"&&!(w%1)&&!isNaN(w)&&isFinite(w))){let L=typeof w,U;if(U===void 0)if(L==="boolean"||w===null||L==="string"&&w&&w==+w&&!(w%1))U=+w;else return In.errors=[{instancePath:t+"/bodyLimit",schemaPath:"#/properties/bodyLimit/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;U!==void 0&&(w=U,e!==void 0&&(e.bodyLimit=U))}var o=P===a;if(o){let L=e.caseSensitive,U=a;if(typeof L!="boolean"){let $;if($===void 0)if(L==="false"||L===0||L===null)$=!1;else if(L==="true"||L===1)$=!0;else return In.errors=[{instancePath:t+"/caseSensitive",schemaPath:"#/properties/caseSensitive/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;$!==void 0&&(L=$,e!==void 0&&(e.caseSensitive=$))}var o=U===a;if(o){let $=e.allowUnsafeRegex,V=a;if(typeof $!="boolean"){let G;if(G===void 0)if($==="false"||$===0||$===null)G=!1;else if($==="true"||$===1)G=!0;else return In.errors=[{instancePath:t+"/allowUnsafeRegex",schemaPath:"#/properties/allowUnsafeRegex/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;G!==void 0&&($=G,e!==void 0&&(e.allowUnsafeRegex=G))}var o=V===a;if(o){if(e.http2!==void 0){let G=e.http2,se=a;if(typeof G!="boolean"){let te;if(te===void 0)if(G==="false"||G===0||G===null)te=!1;else if(G==="true"||G===1)te=!0;else return In.errors=[{instancePath:t+"/http2",schemaPath:"#/properties/http2/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;te!==void 0&&(G=te,e!==void 0&&(e.http2=te))}var o=se===a}else var o=!0;if(o){if(e.https!==void 0){let G=e.https,se=a,ue=a,te=!0,Q=a,ee=a,de=a,B=a,k=!1,J=null,D=a;if(typeof G!="boolean"){let q;if(q===void 0)if(G==="false"||G===0||G===null)q=!1;else if(G==="true"||G===1)q=!0;else{let z={};i===null?i=[z]:i.push(z),a++}q!==void 0&&(G=q,e!==void 0&&(e.https=q))}var u=D===a;u&&(k=!0,J=0);let H=a;if(G!==null){let q;if(q===void 0)if(G===""||G===0||G===!1)q=null;else{let z={};i===null?i=[z]:i.push(z),a++}q!==void 0&&(G=q,e!==void 0&&(e.https=q))}var u=H===a;if(u&&k)k=!1,J=[J,1];else{u&&(k=!0,J=1);let q=a;if(a===q)if(G&&typeof G=="object"&&!Array.isArray(G)){let Z;if(G.allowHTTP1===void 0&&(Z="allowHTTP1")){let ae={};i===null?i=[ae]:i.push(ae),a++}else{let ae=a;for(let ne in G)ne!=="allowHTTP1"&&delete G[ne];if(ae===a&&G.allowHTTP1!==void 0){let ne=G.allowHTTP1;if(typeof ne!="boolean"){let ie;if(ie===void 0)if(ne==="false"||ne===0||ne===null)ie=!1;else if(ne==="true"||ne===1)ie=!0;else{let X={};i===null?i=[X]:i.push(X),a++}ie!==void 0&&(ne=ie,G!==void 0&&(G.allowHTTP1=ie))}}}}else{let Z={};i===null?i=[Z]:i.push(Z),a++}var u=q===a;u&&k?(k=!1,J=[J,2]):u&&(k=!0,J=2)}if(k)a=B,i!==null&&(B?i.length=B:i=null);else{let q={};i===null?i=[q]:i.push(q),a++}var l=de===a;if(l){let q={};i===null?i=[q]:i.push(q),a++}else a=ee,i!==null&&(ee?i.length=ee:i=null);var d=Q===a;if(a=ue,i!==null&&(ue?i.length=ue:i=null),d){let q=a;e.https=!0;var d=q===a;te=d}if(!te){let q={instancePath:t+"/https",schemaPath:"#/properties/https/if",keyword:"if",params:{failingKeyword:"then"},message:'must match "then" schema'};return i===null?i=[q]:i.push(q),a++,In.errors=i,!1}var o=se===a}else var o=!0;if(o){let G=e.ignoreTrailingSlash,se=a;if(typeof G!="boolean"){let te;if(te===void 0)if(G==="false"||G===0||G===null)te=!1;else if(G==="true"||G===1)te=!0;else return In.errors=[{instancePath:t+"/ignoreTrailingSlash",schemaPath:"#/properties/ignoreTrailingSlash/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;te!==void 0&&(G=te,e!==void 0&&(e.ignoreTrailingSlash=te))}var o=se===a;if(o){let te=e.ignoreDuplicateSlashes,Q=a;if(typeof te!="boolean"){let de;if(de===void 0)if(te==="false"||te===0||te===null)de=!1;else if(te==="true"||te===1)de=!0;else return In.errors=[{instancePath:t+"/ignoreDuplicateSlashes",schemaPath:"#/properties/ignoreDuplicateSlashes/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;de!==void 0&&(te=de,e!==void 0&&(e.ignoreDuplicateSlashes=de))}var o=Q===a;if(o){let de=e.disableRequestLogging,B=a;if(typeof de!="boolean"){let J;if(J===void 0)if(de==="false"||de===0||de===null)J=!1;else if(de==="true"||de===1)J=!0;else return In.errors=[{instancePath:t+"/disableRequestLogging",schemaPath:"#/properties/disableRequestLogging/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;J!==void 0&&(de=J,e!==void 0&&(e.disableRequestLogging=J))}var o=B===a;if(o){let J=e.jsonShorthand,D=a;if(typeof J!="boolean"){let K;if(K===void 0)if(J==="false"||J===0||J===null)K=!1;else if(J==="true"||J===1)K=!0;else return In.errors=[{instancePath:t+"/jsonShorthand",schemaPath:"#/properties/jsonShorthand/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;K!==void 0&&(J=K,e!==void 0&&(e.jsonShorthand=K))}var o=D===a;if(o){let K=e.maxParamLength,q=a;if(!(typeof K=="number"&&!(K%1)&&!isNaN(K)&&isFinite(K))){let Z=typeof K,ae;if(ae===void 0)if(Z==="boolean"||K===null||Z==="string"&&K&&K==+K&&!(K%1))ae=+K;else return In.errors=[{instancePath:t+"/maxParamLength",schemaPath:"#/properties/maxParamLength/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;ae!==void 0&&(K=ae,e!==void 0&&(e.maxParamLength=ae))}var o=q===a;if(o){let Z=e.onProtoPoisoning,ae=a;if(typeof Z!="string"){let ie=typeof Z,X;if(X===void 0)if(ie=="number"||ie=="boolean")X=""+Z;else if(Z===null)X="";else return In.errors=[{instancePath:t+"/onProtoPoisoning",schemaPath:"#/properties/onProtoPoisoning/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;X!==void 0&&(Z=X,e!==void 0&&(e.onProtoPoisoning=X))}var o=ae===a;if(o){let ie=e.onConstructorPoisoning,X=a;if(typeof ie!="string"){let me=typeof ie,be;if(be===void 0)if(me=="number"||me=="boolean")be=""+ie;else if(ie===null)be="";else return In.errors=[{instancePath:t+"/onConstructorPoisoning",schemaPath:"#/properties/onConstructorPoisoning/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;be!==void 0&&(ie=be,e!==void 0&&(e.onConstructorPoisoning=be))}var o=X===a;if(o){let me=e.pluginTimeout,be=a;if(!(typeof me=="number"&&!(me%1)&&!isNaN(me)&&isFinite(me))){let De=typeof me,je;if(je===void 0)if(De==="boolean"||me===null||De==="string"&&me&&me==+me&&!(me%1))je=+me;else return In.errors=[{instancePath:t+"/pluginTimeout",schemaPath:"#/properties/pluginTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;je!==void 0&&(me=je,e!==void 0&&(e.pluginTimeout=je))}var o=be===a;if(o){let De=e.requestIdHeader,je=a,Ae=a,ge=!1,Ee=a;if(De!==!1){let ve={instancePath:t+"/requestIdHeader",schemaPath:"#/properties/requestIdHeader/anyOf/0/enum",keyword:"enum",params:{allowedValues:rQe.properties.requestIdHeader.anyOf[0].enum},message:"must be equal to one of the allowed values"};i===null?i=[ve]:i.push(ve),a++}var f=Ee===a;if(ge=ge||f,!ge){let ve=a;if(typeof De!="string"){let Me=typeof De,Ce;if(Ce===void 0)if(Me=="number"||Me=="boolean")Ce=""+De;else if(De===null)Ce="";else{let $e={instancePath:t+"/requestIdHeader",schemaPath:"#/properties/requestIdHeader/anyOf/1/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[$e]:i.push($e),a++}Ce!==void 0&&(De=Ce,e!==void 0&&(e.requestIdHeader=Ce))}var f=ve===a;ge=ge||f}if(ge)a=Ae,i!==null&&(Ae?i.length=Ae:i=null);else{let ve={instancePath:t+"/requestIdHeader",schemaPath:"#/properties/requestIdHeader/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[ve]:i.push(ve),a++,In.errors=i,!1}var o=je===a;if(o){let ve=e.requestIdLogLabel,Re=a;if(typeof ve!="string"){let Ce=typeof ve,$e;if($e===void 0)if(Ce=="number"||Ce=="boolean")$e=""+ve;else if(ve===null)$e="";else return In.errors=[{instancePath:t+"/requestIdLogLabel",schemaPath:"#/properties/requestIdLogLabel/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;$e!==void 0&&(ve=$e,e!==void 0&&(e.requestIdLogLabel=$e))}var o=Re===a;if(o){let Ce=e.http2SessionTimeout,$e=a;if(!(typeof Ce=="number"&&!(Ce%1)&&!isNaN(Ce)&&isFinite(Ce))){let Ue=typeof Ce,ze;if(ze===void 0)if(Ue==="boolean"||Ce===null||Ue==="string"&&Ce&&Ce==+Ce&&!(Ce%1))ze=+Ce;else return In.errors=[{instancePath:t+"/http2SessionTimeout",schemaPath:"#/properties/http2SessionTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;ze!==void 0&&(Ce=ze,e!==void 0&&(e.http2SessionTimeout=ze))}var o=$e===a;if(o){let Ue=e.exposeHeadRoutes,ze=a;if(typeof Ue!="boolean"){let We;if(We===void 0)if(Ue==="false"||Ue===0||Ue===null)We=!1;else if(Ue==="true"||Ue===1)We=!0;else return In.errors=[{instancePath:t+"/exposeHeadRoutes",schemaPath:"#/properties/exposeHeadRoutes/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;We!==void 0&&(Ue=We,e!==void 0&&(e.exposeHeadRoutes=We))}var o=ze===a;if(o){let We=e.useSemicolonDelimiter,ht=a;if(typeof We!="boolean"){let Et;if(Et===void 0)if(We==="false"||We===0||We===null)Et=!1;else if(We==="true"||We===1)Et=!0;else return In.errors=[{instancePath:t+"/useSemicolonDelimiter",schemaPath:"#/properties/useSemicolonDelimiter/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;Et!==void 0&&(We=Et,e!==void 0&&(e.useSemicolonDelimiter=Et))}var o=ht===a;if(o){if(e.versioning!==void 0){let Et=e.versioning,Tr=a;if(a===Tr)if(Et&&typeof Et=="object"&&!Array.isArray(Et)){let it;if(Et.storage===void 0&&(it="storage")||Et.deriveVersion===void 0&&(it="deriveVersion"))return In.errors=[{instancePath:t+"/versioning",schemaPath:"#/properties/versioning/required",keyword:"required",params:{missingProperty:it},message:"must have required property '"+it+"'"}],!1}else return In.errors=[{instancePath:t+"/versioning",schemaPath:"#/properties/versioning/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=Tr===a}else var o=!0;if(o)if(e.constraints!==void 0){let Et=e.constraints,Tr=a;if(a===Tr)if(Et&&typeof Et=="object"&&!Array.isArray(Et))for(let it in Et){let xt=Et[it],ri=a;if(a===ri)if(xt&&typeof xt=="object"&&!Array.isArray(xt)){let Ds;if(xt.name===void 0&&(Ds="name")||xt.storage===void 0&&(Ds="storage")||xt.validate===void 0&&(Ds="validate")||xt.deriveConstraint===void 0&&(Ds="deriveConstraint"))return In.errors=[{instancePath:t+"/constraints/"+it.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/constraints/additionalProperties/required",keyword:"required",params:{missingProperty:Ds},message:"must have required property '"+Ds+"'"}],!1;if(xt.name!==void 0){let Ja=xt.name;if(typeof Ja!="string"){let Gi=typeof Ja,On;if(On===void 0)if(Gi=="number"||Gi=="boolean")On=""+Ja;else if(Ja===null)On="";else return In.errors=[{instancePath:t+"/constraints/"+it.replace(/~/g,"~0").replace(/\//g,"~1")+"/name",schemaPath:"#/properties/constraints/additionalProperties/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;On!==void 0&&(Ja=On,xt!==void 0&&(xt.name=On))}}}else return In.errors=[{instancePath:t+"/constraints/"+it.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/constraints/additionalProperties/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var h=ri===a;if(!h)break}else return In.errors=[{instancePath:t+"/constraints",schemaPath:"#/properties/constraints/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=Tr===a}else var o=!0}}}}}}}}}}}}}}}}}}}}}}}}}else return In.errors=[{instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;return In.errors=i,a===0}V8.exports.defaultInitOptions={connectionTimeout:0,keepAliveTimeout:72e3,maxRequestsPerSocket:0,requestTimeout:0,bodyLimit:1048576,caseSensitive:!0,allowUnsafeRegex:!1,disableRequestLogging:!1,jsonShorthand:!0,ignoreTrailingSlash:!1,ignoreDuplicateSlashes:!1,maxParamLength:100,onProtoPoisoning:"error",onConstructorPoisoning:"error",pluginTimeout:1e4,requestIdHeader:"request-id",requestIdLogLabel:"reqId",http2SessionTimeout:72e3,exposeHeadRoutes:!0,useSemicolonDelimiter:!0}});var sQe=S(($9n,K8)=>{"use strict";var j8=nQe(),r2r=OU()({circles:!0,proto:!1}),{FST_ERR_INIT_OPTS_INVALID:n2r}=Oo();function s2r(e){let t=r2r(e);if(!j8(t)){let r=new n2r(JSON.stringify(j8.errors.map(n=>n.message)));throw r.errors=j8.errors,r}return ooe(t)}function ooe(e){let t=Object.getOwnPropertyNames(e);for(let r of t){let n=e[r];ArrayBuffer.isView(n)&&!(n instanceof DataView)||(e[r]=n&&typeof n=="object"?ooe(n):n)}return Object.freeze(e)}K8.exports=s2r;K8.exports.defaultInitOptions=j8.defaultInitOptions;K8.exports.utils={deepFreezeObject:ooe}});var hQe=S((q9n,fQe)=>{"use strict";var{kAvvioBoot:i2r,kChildren:iQe,kRoutePrefix:aQe,kLogLevel:oQe,kLogSerializers:coe,kHooks:uoe,kSchemaController:EI,kContentTypeParser:cQe,kReply:uQe,kRequest:lQe,kFourOhFour:a2r,kPluginNameChain:dQe}=Sa(),o2r=TF(),c2r=$F(),u2r=Pae(),l2r=ure(),{buildHooks:d2r}=T_(),VD=Fae();fQe.exports=function(t,r,n){let s=VD.registerPlugin.call(t,r),i=VD.getPluginName(r)||VD.getFuncPreview(r);if(s)return t[dQe].push(i),t;let a=Object.create(t);t[iQe].push(a),a.ready=t[i2r].bind(a),a[iQe]=[],a[uQe]=o2r.buildReply(a[uQe]),a[lQe]=c2r.buildRequest(a[lQe]),a[cQe]=l2r.helpers.buildContentTypeParser(a[cQe]),a[uoe]=d2r(a[uoe]),a[aQe]=f2r(a[aQe],n.prefix),a[oQe]=n.logLevel||a[oQe],a[EI]=u2r.buildSchemaController(t[EI]),a.getSchema=a[EI].getSchema.bind(a[EI]),a.getSchemas=a[EI].getSchemas.bind(a[EI]),a[VD.kRegisteredPlugins]=Object.create(a[VD.kRegisteredPlugins]),a[dQe]=[i],(a[coe]||n.logSerializers)&&(a[coe]=Object.assign(Object.create(a[coe]),n.logSerializers)),n.prefix&&a[a2r].arrange404(a);for(let o of a[uoe].onRegister)o.call(this,a,n);return a};function f2r(e,t){return t?(e.endsWith("/")&&t[0]==="/"?t=t.slice(1):t[0]!=="/"&&(t="/"+t),e+t):e}});var mQe=S((H9n,pQe)=>{"use strict";pQe.exports=function(){return{[Symbol.iterator]:function*(){},add(){},delete(){},has(){return!0}}}});var AQe=S(loe=>{"use strict";loe.parse=E2r;loe.serialize=y2r;var h2r=Object.prototype.toString,p2r=Object.prototype.hasOwnProperty,m2r=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,g2r=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,_2r=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,A2r=/^[\u0020-\u003A\u003D-\u007E]*$/;function E2r(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");var r={},n=e.length;if(n<2)return r;var s=t&&t.decode||v2r,i=0,a=0,o=0;do{if(a=e.indexOf("=",i),a===-1)break;if(o=e.indexOf(";",i),o===-1)o=n;else if(a>o){i=e.lastIndexOf(";",a-1)+1;continue}var c=gQe(e,i,a),u=_Qe(e,a,c),l=e.slice(c,u);if(!p2r.call(r,l)){var d=gQe(e,a+1,o),f=_Qe(e,o,d);e.charCodeAt(d)===34&&e.charCodeAt(f-1)===34&&(d++,f--);var h=e.slice(d,f);r[l]=T2r(h,s)}i=o+1}while(ir;){var n=e.charCodeAt(--t);if(n!==32&&n!==9)return t+1}return r}function y2r(e,t,r){var n=r&&r.encode||encodeURIComponent;if(typeof n!="function")throw new TypeError("option encode is invalid");if(!m2r.test(e))throw new TypeError("argument name is invalid");var s=n(t);if(!g2r.test(s))throw new TypeError("argument val is invalid");var i=e+"="+s;if(!r)return i;if(r.maxAge!=null){var a=Math.floor(r.maxAge);if(!isFinite(a))throw new TypeError("option maxAge is invalid");i+="; Max-Age="+a}if(r.domain){if(!_2r.test(r.domain))throw new TypeError("option domain is invalid");i+="; Domain="+r.domain}if(r.path){if(!A2r.test(r.path))throw new TypeError("option path is invalid");i+="; Path="+r.path}if(r.expires){var o=r.expires;if(!S2r(o)||isNaN(o.valueOf()))throw new TypeError("option expires is invalid");i+="; Expires="+o.toUTCString()}if(r.httpOnly&&(i+="; HttpOnly"),r.secure&&(i+="; Secure"),r.partitioned&&(i+="; Partitioned"),r.priority){var c=typeof r.priority=="string"?r.priority.toLowerCase():r.priority;switch(c){case"low":i+="; Priority=Low";break;case"medium":i+="; Priority=Medium";break;case"high":i+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(r.sameSite){var u=typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite;switch(u){case!0:i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"strict":i+="; SameSite=Strict";break;case"none":i+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return i}function v2r(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}function S2r(e){return h2r.call(e)==="[object Date]"}function T2r(e,t){try{return t(e)}catch{return e}}});var vQe=S((j9n,yQe)=>{"use strict";var{URL:EQe}=require("node:url"),doe="http://localhost";yQe.exports=function(t,r){(typeof t=="string"||Object.prototype.toString.call(t)==="[object String]")&&t.startsWith("//")&&(t=doe+t);let n=typeof t=="object"?Object.assign(new EQe(doe),t):new EQe(t,doe);if(typeof r=="string"){r=new URLSearchParams(r);for(let s of r.keys()){n.searchParams.delete(s);for(let i of r.getAll(s))n.searchParams.append(s,i)}}else{let s=Object.assign({},t.query,r);for(let i in s){let a=s[i];if(Array.isArray(a)){n.searchParams.delete(i);for(let o of a)n.searchParams.append(i,o)}else n.searchParams.set(i,a)}}return n}});var SQe=S((K9n,foe)=>{"use strict";var{randomUUID:b2r}=require("node:crypto"),{Readable:I2r}=require("node:stream"),yI;function R2r(e){return e&&typeof e=="object"&&typeof e.append=="function"&&typeof e.delete=="function"&&typeof e.get=="function"&&typeof e.getAll=="function"&&typeof e.has=="function"&&typeof e.set=="function"&&e[Symbol.toStringTag]==="FormData"}function C2r(e){yI=yI??new TextEncoder;let t=`----formdata-${b2r()}`,r=`--${t}\r +Content-Disposition: form-data`;let n=c=>c.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),s=c=>c.replace(/\r?\n|\r/g,`\r +`),i=new Uint8Array([13,10]);async function*a(){for(let[c,u]of e)if(typeof u=="string")yield yI.encode(`${r}; name="${n(s(c))}"\r +\r +`),yield yI.encode(`${s(u)}\r +`);else{let l=`${r}; name="${n(s(c))}"`;u.name&&(l+=`; filename="${n(u.name)}"`),l+=`\r +Content-Type: ${u.type||"application/octet-stream"}\r +\r +`,yield yI.encode(l),u.stream?yield*u.stream():yield u,yield i}yield yI.encode(`--${t}--`)}return{stream:I2r.from(a()),contentType:`multipart/form-data; boundary=${t}`}}foe.exports.isFormDataLike=R2r;foe.exports.formDataToStream=C2r});var IQe=S((G9n,G8)=>{"use strict";var{Readable:TQe,addAbortSignal:x2r}=require("node:stream"),poe=require("node:util"),w2r=AQe(),N2r=require("node:assert"),{createDeprecation:O2r}=iJ(),D2r=vQe(),{isFormDataLike:P2r,formDataToStream:L2r}=SQe(),{EventEmitter:M2r}=require("node:events"),k2r=O2r({name:"FastifyDeprecationLightMyRequest",code:"FST_LIGHTMYREQUEST_DEP01",message:'You are accessing "request.connection", use "request.socket" instead.'});function B2r(e){return e.port?e.host:e.hostname+(e.protocol==="https:"?":443":":80")}var hoe=class extends M2r{constructor(t){super(),this.remoteAddress=t}};function bQe(e){return new t(this);function t(r){ch.call(r,{...e,Request:void 0}),Object.assign(this,r);for(let n of Object.keys(ch.prototype))this.constructor.prototype[n]=ch.prototype[n];return poe.inherits(this.constructor,e.Request),this}}function ch(e){TQe.call(this,{autoDestroy:!1});let t=D2r(e.url||e.path,e.query);this.url=t.pathname+t.search,this.aborted=!1,this.httpVersionMajor=1,this.httpVersionMinor=1,this.httpVersion="1.1",this.method=e.method?e.method.toUpperCase():"GET",this.headers={},this.rawHeaders=[];let r=e.headers||{};for(let a in r){let o=a.toLowerCase();if((o==="user-agent"||o==="content-type")&&r[a]===void 0){this.headers[o]=void 0;continue}let c=r[a];N2r(c!==void 0,'invalid value "undefined" for header '+a),this.headers[o]=""+c}if("user-agent"in this.headers||(this.headers["user-agent"]="lightMyRequest"),this.headers.host=this.headers.host||e.authority||B2r(t),e.cookies){let{cookies:a}=e,o=Object.keys(a).map(c=>w2r.serialize(c,a[c]));this.headers.cookie&&o.unshift(this.headers.cookie),this.headers.cookie=o.join("; ")}this.socket=new hoe(e.remoteAddress||"127.0.0.1"),Object.defineProperty(this,"connection",{get(){return k2r(),this.socket},configurable:!0});let n=e.payload||e.body||null,s=n&&typeof n.resume=="function";if(P2r(n)){let a=L2r(n);n=a.stream,s=!0,this.headers["content-type"]=a.contentType}n&&typeof n!="string"&&!s&&!Buffer.isBuffer(n)&&(n=JSON.stringify(n),"content-type"in this.headers||(this.headers["content-type"]="application/json")),n&&!s&&!Object.prototype.hasOwnProperty.call(this.headers,"content-length")&&(this.headers["content-length"]=(Buffer.isBuffer(n)?n.length:Buffer.byteLength(n)).toString());for(let a of Object.keys(this.headers))this.rawHeaders.push(a,this.headers[a]);this._lightMyRequest={payload:n,isDone:!1,simulate:e.simulate||{}};let i=e.signal;return i&&x2r(i,this),this}poe.inherits(ch,TQe);poe.inherits(bQe,ch);ch.prototype.prepare=function(e){let t=this._lightMyRequest.payload;if(!t||typeof t.resume!="function")return e();let r=[];t.on("data",n=>r.push(Buffer.from(n))),t.on("end",()=>{let n=Buffer.concat(r);return this.headers["content-length"]=this.headers["content-length"]||""+n.length,this._lightMyRequest.payload=n,e()}),t.resume()};ch.prototype._read=function(e){setImmediate(()=>{if(this._lightMyRequest.isDone){this._lightMyRequest.simulate.end!==!1&&this.push(null);return}this._lightMyRequest.isDone=!0,this._lightMyRequest.payload&&(this._lightMyRequest.simulate.split?(this.push(this._lightMyRequest.payload.slice(0,1)),this.push(this._lightMyRequest.payload.slice(1))):this.push(this._lightMyRequest.payload)),this._lightMyRequest.simulate.error&&this.emit("error",new Error("Simulated")),this._lightMyRequest.simulate.close&&this.emit("close"),this._lightMyRequest.simulate.end!==!1&&this.push(null)})};ch.prototype.destroy=function(e){this.destroyed||this._lightMyRequest.isDone||(this.destroyed=!0,e&&(this._error=!0,process.nextTick(()=>this.emit("error",e))),process.nextTick(()=>this.emit("close")))};G8.exports=ch;G8.exports.Request=ch;G8.exports.CustomRequest=bQe});var CQe=S((Y9n,jD)=>{"use strict";var Y8={decodeValues:!0,map:!1,silent:!1};function moe(e){return typeof e!="string"||e in{}}function goe(){return Object.create(null)}function _oe(e){return typeof e=="string"&&!!e.trim()}function Aoe(e,t){var r=e.split(";").filter(_oe),n=r.shift(),s=U2r(n),i=s.name,a=s.value;if(t=t?Object.assign({},Y8,t):Y8,moe(i))return null;try{a=t.decodeValues?decodeURIComponent(a):a}catch(c){console.error("set-cookie-parser: failed to decode cookie value. Set options.decodeValues=false to disable decoding.",c)}var o=goe();return o.name=i,o.value=a,r.forEach(function(c){var u=c.split("="),l=u.shift().trimLeft().toLowerCase();if(!moe(l)){var d=u.join("=");if(l==="expires")o.expires=new Date(d);else if(l==="max-age"){var f=parseInt(d,10);Number.isNaN(f)||(o.maxAge=f)}else l==="secure"?o.secure=!0:l==="httponly"?o.httpOnly=!0:l==="samesite"?o.sameSite=d:l==="partitioned"?o.partitioned=!0:l&&(o[l]=d)}}),o}function U2r(e){var t="",r="",n=e.split("=");return n.length>1?(t=n.shift(),r=n.join("=")):r=e,{name:t,value:r}}function RQe(e,t){if(t=t?Object.assign({},Y8,t):Y8,!e)return t.map?goe():[];if(e.headers)if(typeof e.headers.getSetCookie=="function")e=e.headers.getSetCookie();else if(e.headers["set-cookie"])e=e.headers["set-cookie"];else{var r=e.headers[Object.keys(e.headers).find(function(s){return s.toLowerCase()==="set-cookie"})];!r&&e.headers.cookie&&!t.silent&&console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."),e=r}if(Array.isArray(e)||(e=[e]),t.map){var n=goe();return e.filter(_oe).reduce(function(s,i){var a=Aoe(i,t);return a&&!moe(a.name)&&(s[a.name]=a),s},n)}else return e.filter(_oe).map(function(s){return Aoe(s,t)}).filter(Boolean)}function F2r(e){if(Array.isArray(e))return e;if(typeof e!="string")return[];var t=[],r=0,n,s,i,a,o;function c(){for(;r=e.length)&&t.push(e.substring(n,e.length))}return t}jD.exports=RQe;jD.exports.parse=RQe;jD.exports.parseString=Aoe;jD.exports.splitCookiesString=F2r});var NQe=S((Q9n,wQe)=>{"use strict";var KD=require("node:http"),{Writable:$2r,Readable:q2r}=require("node:stream"),H2r=require("node:util"),V2r=CQe();function iA(e,t,r){KD.ServerResponse.call(this,e),this._lightMyRequest={headers:null,trailers:{},payloadChunks:[]},this.setHeader("foo","bar"),this.removeHeader("foo"),this.assignSocket(K2r()),this._promiseCallback=typeof r=="function";let n=!1,s=a=>{if(n=!0,this._promiseCallback)return process.nextTick(()=>t(a));process.nextTick(()=>t(null,a))},i=a=>{if(!n){if(n=!0,this._promiseCallback)return process.nextTick(()=>r(a));process.nextTick(()=>t(a,null))}};this.once("finish",()=>{let a=j2r(this);a.raw.req=e,s(a)}),this.connection.once("error",i),this.once("error",i),this.once("close",i)}H2r.inherits(iA,KD.ServerResponse);iA.prototype.setTimeout=function(e,t){return this.timeoutHandle=setTimeout(()=>{this.emit("timeout")},e),this.on("timeout",t),this};iA.prototype.writeHead=function(){let e=KD.ServerResponse.prototype.writeHead.apply(this,arguments);return xQe(this),e};iA.prototype.write=function(e,t,r){return this.timeoutHandle&&clearTimeout(this.timeoutHandle),KD.ServerResponse.prototype.write.call(this,e,t,r),this._lightMyRequest.payloadChunks.push(Buffer.from(e,t)),!0};iA.prototype.end=function(e,t,r){e&&this.write(e,t),KD.ServerResponse.prototype.end.call(this,r),this.emit("finish"),this.destroy()};iA.prototype.destroy=function(e){this.destroyed||(this.destroyed=!0,e&&process.nextTick(()=>this.emit("error",e)),process.nextTick(()=>this.emit("close")))};iA.prototype.addTrailers=function(e){for(let t in e)this._lightMyRequest.trailers[t.toLowerCase().trim()]=e[t].toString().trim()};function j2r(e){e._lightMyRequest.headers===null&&xQe(e),G2r(e);let t={raw:{res:e},headers:e._lightMyRequest.headers,statusCode:e.statusCode,statusMessage:e.statusMessage,trailers:{},get cookies(){return V2r.parse(this)}},r=Buffer.concat(e._lightMyRequest.payloadChunks);return t.rawPayload=r,t.payload=r.toString(),t.body=t.payload,t.trailers=e._lightMyRequest.trailers,t.json=function(){return JSON.parse(t.payload)},t.stream=function(){return q2r.from(e._lightMyRequest.payloadChunks)},t}function K2r(){return new $2r({write(e,t,r){setImmediate(r)}})}function G2r(e){let t=e._lightMyRequest.headers;for(let r of Object.keys(t)){let n=t[r];Array.isArray(n)?t[r]=n.map(s=>""+s):t[r]=""+n}}function xQe(e){e._lightMyRequest.headers=Object.assign({},e.getHeaders()),["Date","Connection","Transfer-Encoding"].forEach(t=>{let r=new RegExp("\\r\\n"+t+": ([^\\r]*)\\r\\n"),n=e._header.match(r);n&&(e._lightMyRequest.headers[t.toLowerCase()]=n[1])})}wQe.exports=iA});var OQe=S((z9n,Eoe)=>{"use strict";Eoe.exports=Yi;Eoe.exports.default=Yi;var Y2r={type:"object",properties:{url:{oneOf:[{type:"string"},{type:"object",properties:{protocol:{type:"string"},hostname:{type:"string"},pathname:{type:"string"}},additionalProperties:!0,required:["pathname"]}]},path:{oneOf:[{type:"string"},{type:"object",properties:{protocol:{type:"string"},hostname:{type:"string"},pathname:{type:"string"}},additionalProperties:!0,required:["pathname"]}]},cookies:{type:"object",additionalProperties:!0},headers:{type:"object",additionalProperties:!0},query:{anyOf:[{type:"object",additionalProperties:!0},{type:"string"}]},simulate:{type:"object",properties:{end:{type:"boolean"},split:{type:"boolean"},error:{type:"boolean"},close:{type:"boolean"}}},authority:{type:"string"},remoteAddress:{type:"string"},method:{type:"string",enum:["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE","acl","bind","checkout","connect","copy","delete","get","head","link","lock","m-search","merge","mkactivity","mkcalendar","mkcol","move","notify","options","patch","post","propfind","proppatch","purge","put","rebind","report","search","source","subscribe","trace","unbind","unlink","unlock","unsubscribe"]},validate:{type:"boolean"}},additionalProperties:!0,oneOf:[{required:["url"]},{required:["path"]}]};function Yi(e,{instancePath:t="",parentData:r,parentDataProperty:n,rootData:s=e}={}){let i=null,a=0,o=a,c=!1,u=null,l=a;if(e&&typeof e=="object"&&!Array.isArray(e)){let A;if(e.url===void 0&&(A="url")){let v={instancePath:t,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty:A},message:"must have required property '"+A+"'"};i===null?i=[v]:i.push(v),a++}}var f=l===a;f&&(c=!0,u=0);let d=a;if(e&&typeof e=="object"&&!Array.isArray(e)){let A;if(e.path===void 0&&(A="path")){let v={instancePath:t,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty:A},message:"must have required property '"+A+"'"};i===null?i=[v]:i.push(v),a++}}var f=d===a;if(f&&c?(c=!1,u=[u,1]):f&&(c=!0,u=1),c)a=o,i!==null&&(o?i.length=o:i=null);else{let A={instancePath:t,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas:u},message:"must match exactly one schema in oneOf"};return i===null?i=[A]:i.push(A),a++,Yi.errors=i,!1}if(a===0)if(e&&typeof e=="object"&&!Array.isArray(e)){if(e.url!==void 0){let A=e.url,v=a,T=a,C=!1,b=null,x=a;if(typeof A!="string"){let P=typeof A,M;if(M===void 0)if(P=="number"||P=="boolean")M=""+A;else if(A===null)M="";else{let L={instancePath:t+"/url",schemaPath:"#/properties/url/oneOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[L]:i.push(L),a++}M!==void 0&&(A=M,e!==void 0&&(e.url=M))}var p=x===a;p&&(C=!0,b=0);let w=a;if(a===w)if(A&&typeof A=="object"&&!Array.isArray(A)){let P;if(A.pathname===void 0&&(P="pathname")){let M={instancePath:t+"/url",schemaPath:"#/properties/url/oneOf/1/required",keyword:"required",params:{missingProperty:P},message:"must have required property '"+P+"'"};i===null?i=[M]:i.push(M),a++}else{if(A.protocol!==void 0){let M=A.protocol,L=a;if(typeof M!="string"){let U=typeof M,Y;if(Y===void 0)if(U=="number"||U=="boolean")Y=""+M;else if(M===null)Y="";else{let $={instancePath:t+"/url/protocol",schemaPath:"#/properties/url/oneOf/1/properties/protocol/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[$]:i.push($),a++}Y!==void 0&&(M=Y,A!==void 0&&(A.protocol=Y))}var h=L===a}else var h=!0;if(h){if(A.hostname!==void 0){let M=A.hostname,L=a;if(typeof M!="string"){let Y=typeof M,$;if($===void 0)if(Y=="number"||Y=="boolean")$=""+M;else if(M===null)$="";else{let V={instancePath:t+"/url/hostname",schemaPath:"#/properties/url/oneOf/1/properties/hostname/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[V]:i.push(V),a++}$!==void 0&&(M=$,A!==void 0&&(A.hostname=$))}var h=L===a}else var h=!0;if(h)if(A.pathname!==void 0){let M=A.pathname,L=a;if(typeof M!="string"){let Y=typeof M,$;if($===void 0)if(Y=="number"||Y=="boolean")$=""+M;else if(M===null)$="";else{let V={instancePath:t+"/url/pathname",schemaPath:"#/properties/url/oneOf/1/properties/pathname/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[V]:i.push(V),a++}$!==void 0&&(M=$,A!==void 0&&(A.pathname=$))}var h=L===a}else var h=!0}}}else{let P={instancePath:t+"/url",schemaPath:"#/properties/url/oneOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};i===null?i=[P]:i.push(P),a++}var p=w===a;if(p&&C?(C=!1,b=[b,1]):p&&(C=!0,b=1),C)a=T,i!==null&&(T?i.length=T:i=null);else{let P={instancePath:t+"/url",schemaPath:"#/properties/url/oneOf",keyword:"oneOf",params:{passingSchemas:b},message:"must match exactly one schema in oneOf"};return i===null?i=[P]:i.push(P),a++,Yi.errors=i,!1}var m=v===a}else var m=!0;if(m){if(e.path!==void 0){let A=e.path,v=a,T=a,C=!1,b=null,x=a;if(typeof A!="string"){let M=typeof A,L;if(L===void 0)if(M=="number"||M=="boolean")L=""+A;else if(A===null)L="";else{let U={instancePath:t+"/path",schemaPath:"#/properties/path/oneOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[U]:i.push(U),a++}L!==void 0&&(A=L,e!==void 0&&(e.path=L))}var _=x===a;_&&(C=!0,b=0);let w=a;if(a===w)if(A&&typeof A=="object"&&!Array.isArray(A)){let M;if(A.pathname===void 0&&(M="pathname")){let L={instancePath:t+"/path",schemaPath:"#/properties/path/oneOf/1/required",keyword:"required",params:{missingProperty:M},message:"must have required property '"+M+"'"};i===null?i=[L]:i.push(L),a++}else{if(A.protocol!==void 0){let L=A.protocol,U=a;if(typeof L!="string"){let Y=typeof L,$;if($===void 0)if(Y=="number"||Y=="boolean")$=""+L;else if(L===null)$="";else{let V={instancePath:t+"/path/protocol",schemaPath:"#/properties/path/oneOf/1/properties/protocol/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[V]:i.push(V),a++}$!==void 0&&(L=$,A!==void 0&&(A.protocol=$))}var g=U===a}else var g=!0;if(g){if(A.hostname!==void 0){let L=A.hostname,U=a;if(typeof L!="string"){let $=typeof L,V;if(V===void 0)if($=="number"||$=="boolean")V=""+L;else if(L===null)V="";else{let W={instancePath:t+"/path/hostname",schemaPath:"#/properties/path/oneOf/1/properties/hostname/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[W]:i.push(W),a++}V!==void 0&&(L=V,A!==void 0&&(A.hostname=V))}var g=U===a}else var g=!0;if(g)if(A.pathname!==void 0){let L=A.pathname,U=a;if(typeof L!="string"){let $=typeof L,V;if(V===void 0)if($=="number"||$=="boolean")V=""+L;else if(L===null)V="";else{let W={instancePath:t+"/path/pathname",schemaPath:"#/properties/path/oneOf/1/properties/pathname/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[W]:i.push(W),a++}V!==void 0&&(L=V,A!==void 0&&(A.pathname=V))}var g=U===a}else var g=!0}}}else{let M={instancePath:t+"/path",schemaPath:"#/properties/path/oneOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};i===null?i=[M]:i.push(M),a++}var _=w===a;if(_&&C?(C=!1,b=[b,1]):_&&(C=!0,b=1),C)a=T,i!==null&&(T?i.length=T:i=null);else{let M={instancePath:t+"/path",schemaPath:"#/properties/path/oneOf",keyword:"oneOf",params:{passingSchemas:b},message:"must match exactly one schema in oneOf"};return i===null?i=[M]:i.push(M),a++,Yi.errors=i,!1}var m=v===a}else var m=!0;if(m){if(e.cookies!==void 0){let A=e.cookies,v=a;if(a===v&&!(A&&typeof A=="object"&&!Array.isArray(A)))return Yi.errors=[{instancePath:t+"/cookies",schemaPath:"#/properties/cookies/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var m=v===a}else var m=!0;if(m){if(e.headers!==void 0){let A=e.headers,v=a;if(a===v&&!(A&&typeof A=="object"&&!Array.isArray(A)))return Yi.errors=[{instancePath:t+"/headers",schemaPath:"#/properties/headers/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var m=v===a}else var m=!0;if(m){if(e.query!==void 0){let A=e.query,v=a,T=a,C=!1,b=a;if(a===b&&!(A&&typeof A=="object"&&!Array.isArray(A))){let w={instancePath:t+"/query",schemaPath:"#/properties/query/anyOf/0/type",keyword:"type",params:{type:"object"},message:"must be object"};i===null?i=[w]:i.push(w),a++}var y=b===a;if(C=C||y,!C){let w=a;if(typeof A!="string"){let M=typeof A,L;if(L===void 0)if(M=="number"||M=="boolean")L=""+A;else if(A===null)L="";else{let U={instancePath:t+"/query",schemaPath:"#/properties/query/anyOf/1/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[U]:i.push(U),a++}L!==void 0&&(A=L,e!==void 0&&(e.query=L))}var y=w===a;C=C||y}if(C)a=T,i!==null&&(T?i.length=T:i=null);else{let w={instancePath:t+"/query",schemaPath:"#/properties/query/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[w]:i.push(w),a++,Yi.errors=i,!1}var m=v===a}else var m=!0;if(m){if(e.simulate!==void 0){let A=e.simulate,v=a;if(a===v)if(A&&typeof A=="object"&&!Array.isArray(A)){if(A.end!==void 0){let C=A.end,b=a;if(typeof C!="boolean"){let x;if(x===void 0)if(C==="false"||C===0||C===null)x=!1;else if(C==="true"||C===1)x=!0;else return Yi.errors=[{instancePath:t+"/simulate/end",schemaPath:"#/properties/simulate/properties/end/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;x!==void 0&&(C=x,A!==void 0&&(A.end=x))}var E=b===a}else var E=!0;if(E){if(A.split!==void 0){let C=A.split,b=a;if(typeof C!="boolean"){let w;if(w===void 0)if(C==="false"||C===0||C===null)w=!1;else if(C==="true"||C===1)w=!0;else return Yi.errors=[{instancePath:t+"/simulate/split",schemaPath:"#/properties/simulate/properties/split/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;w!==void 0&&(C=w,A!==void 0&&(A.split=w))}var E=b===a}else var E=!0;if(E){if(A.error!==void 0){let C=A.error,b=a;if(typeof C!="boolean"){let w;if(w===void 0)if(C==="false"||C===0||C===null)w=!1;else if(C==="true"||C===1)w=!0;else return Yi.errors=[{instancePath:t+"/simulate/error",schemaPath:"#/properties/simulate/properties/error/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;w!==void 0&&(C=w,A!==void 0&&(A.error=w))}var E=b===a}else var E=!0;if(E)if(A.close!==void 0){let C=A.close,b=a;if(typeof C!="boolean"){let w;if(w===void 0)if(C==="false"||C===0||C===null)w=!1;else if(C==="true"||C===1)w=!0;else return Yi.errors=[{instancePath:t+"/simulate/close",schemaPath:"#/properties/simulate/properties/close/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;w!==void 0&&(C=w,A!==void 0&&(A.close=w))}var E=b===a}else var E=!0}}}else return Yi.errors=[{instancePath:t+"/simulate",schemaPath:"#/properties/simulate/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var m=v===a}else var m=!0;if(m){if(e.authority!==void 0){let A=e.authority,v=a;if(typeof A!="string"){let C=typeof A,b;if(b===void 0)if(C=="number"||C=="boolean")b=""+A;else if(A===null)b="";else return Yi.errors=[{instancePath:t+"/authority",schemaPath:"#/properties/authority/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;b!==void 0&&(A=b,e!==void 0&&(e.authority=b))}var m=v===a}else var m=!0;if(m){if(e.remoteAddress!==void 0){let A=e.remoteAddress,v=a;if(typeof A!="string"){let C=typeof A,b;if(b===void 0)if(C=="number"||C=="boolean")b=""+A;else if(A===null)b="";else return Yi.errors=[{instancePath:t+"/remoteAddress",schemaPath:"#/properties/remoteAddress/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;b!==void 0&&(A=b,e!==void 0&&(e.remoteAddress=b))}var m=v===a}else var m=!0;if(m){if(e.method!==void 0){let A=e.method,v=a;if(typeof A!="string"){let C=typeof A,b;if(b===void 0)if(C=="number"||C=="boolean")b=""+A;else if(A===null)b="";else return Yi.errors=[{instancePath:t+"/method",schemaPath:"#/properties/method/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;b!==void 0&&(A=b,e!==void 0&&(e.method=b))}if(!(A==="ACL"||A==="BIND"||A==="CHECKOUT"||A==="CONNECT"||A==="COPY"||A==="DELETE"||A==="GET"||A==="HEAD"||A==="LINK"||A==="LOCK"||A==="M-SEARCH"||A==="MERGE"||A==="MKACTIVITY"||A==="MKCALENDAR"||A==="MKCOL"||A==="MOVE"||A==="NOTIFY"||A==="OPTIONS"||A==="PATCH"||A==="POST"||A==="PROPFIND"||A==="PROPPATCH"||A==="PURGE"||A==="PUT"||A==="REBIND"||A==="REPORT"||A==="SEARCH"||A==="SOURCE"||A==="SUBSCRIBE"||A==="TRACE"||A==="UNBIND"||A==="UNLINK"||A==="UNLOCK"||A==="UNSUBSCRIBE"||A==="acl"||A==="bind"||A==="checkout"||A==="connect"||A==="copy"||A==="delete"||A==="get"||A==="head"||A==="link"||A==="lock"||A==="m-search"||A==="merge"||A==="mkactivity"||A==="mkcalendar"||A==="mkcol"||A==="move"||A==="notify"||A==="options"||A==="patch"||A==="post"||A==="propfind"||A==="proppatch"||A==="purge"||A==="put"||A==="rebind"||A==="report"||A==="search"||A==="source"||A==="subscribe"||A==="trace"||A==="unbind"||A==="unlink"||A==="unlock"||A==="unsubscribe"))return Yi.errors=[{instancePath:t+"/method",schemaPath:"#/properties/method/enum",keyword:"enum",params:{allowedValues:Y2r.properties.method.enum},message:"must be equal to one of the allowed values"}],!1;var m=v===a}else var m=!0;if(m)if(e.validate!==void 0){let A=e.validate,v=a;if(typeof A!="boolean"){let C;if(C===void 0)if(A==="false"||A===0||A===null)C=!1;else if(A==="true"||A===1)C=!0;else return Yi.errors=[{instancePath:t+"/validate",schemaPath:"#/properties/validate/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;C!==void 0&&(A=C,e!==void 0&&(e.validate=C))}var m=v===a}else var m=!0}}}}}}}}}else return Yi.errors=[{instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;return Yi.errors=i,a===0}});var LQe=S((W9n,YD)=>{"use strict";var Q2r=require("node:assert"),yoe=IQe(),Q8=NQe(),W8="The dispatch function has already been invoked",DQe=OQe();function voe(e,t,r){return r===void 0?new GD(e,t):z8(e,t,r)}function PQe(e,t,r,n){return r.once("error",function(s){this.destroyed&&n.destroy(s)}),r.once("close",function(){this.destroyed&&!this._error&&n.destroy()}),r.prepare(()=>e.call(t,r,n))}function z8(e,t,r){if(t=typeof t=="string"?{url:t}:t,t.validate!==!1&&(Q2r(typeof e=="function","dispatchFunc should be a function"),!DQe(t)))throw new Error(DQe.errors.map(a=>a.message));let n=t.server||{},s=t.Request?yoe.CustomRequest:yoe;if(e.request&&e.request.app===e&&(Object.setPrototypeOf(Object.getPrototypeOf(e.request),s.prototype),Object.setPrototypeOf(Object.getPrototypeOf(e.response),Q8.prototype)),typeof r=="function"){let i=new s(t),a=new Q8(i,r);return PQe(e,n,i,a)}else return new Promise((i,a)=>{let o=new s(t),c=new Q8(o,i,a);PQe(e,n,o,c)})}function GD(e,t){typeof t=="string"?this.option={url:t}:this.option=Object.assign({},t),this.dispatch=e,this._hasInvoked=!1,this._promise=null,this.option.autoStart!==!1&&process.nextTick(()=>{this._hasInvoked||this.end()})}var z2r=["delete","get","head","options","patch","post","put","trace"];z2r.forEach(e=>{GD.prototype[e]=function(t){if(this._hasInvoked===!0||this._promise)throw new Error(W8);return this.option.url=t,this.option.method=e.toUpperCase(),this}});var W2r=["body","cookies","headers","payload","query"];W2r.forEach(e=>{GD.prototype[e]=function(t){if(this._hasInvoked===!0||this._promise)throw new Error(W8);return this.option[e]=t,this}});GD.prototype.end=function(e){if(this._hasInvoked===!0||this._promise)throw new Error(W8);if(this._hasInvoked=!0,typeof e=="function")z8(this.dispatch,this.option,e);else return this._promise=z8(this.dispatch,this.option),this._promise};Object.getOwnPropertyNames(Promise.prototype).forEach(e=>{e!=="constructor"&&(GD.prototype[e]=function(...t){if(!this._promise){if(this._hasInvoked===!0)throw new Error(W8);this._hasInvoked=!0,this._promise=z8(this.dispatch,this.option)}return this._promise[e](...t)})});function X2r(e){return e instanceof yoe||e instanceof Q8||e&&e.constructor&&e.constructor.name==="_CustomLMRRequest"}YD.exports=voe;YD.exports.default=voe;YD.exports.inject=voe;YD.exports.isInjection=X2r});var zQe=S((X9n,e5)=>{"use strict";var J2r="4.26.0",Z2r=f4e(),Soe=require("node:http"),QD,{kAvvioBoot:zD,kChildren:Toe,kServerBindings:MQe,kBodyLimit:ePr,kRoutePrefix:kQe,kLogLevel:tPr,kLogSerializers:rPr,kHooks:boe,kSchemaController:aA,kRequestAcceptVersion:nPr,kReplySerializerDefault:BQe,kContentTypeParser:sPr,kReply:iPr,kRequest:aPr,kFourOhFour:oPr,kState:Di,kOptions:Ioe,kPluginNameChain:WD,kSchemaErrorFormatter:Roe,kErrorHandler:X8,kKeepAliveConnections:Coe,kChildLoggerFactory:xoe,kGenReqId:woe}=Sa(),{createServer:cPr,compileValidateHTTPVersion:uPr}=M4e(),XD=TF(),J8=$F(),lPr=qF(),{supportedMethods:dPr}=Qte(),vI=Zte(),yv=ure(),UQe=Pae(),{Hooks:fPr,hookRunnerApplication:FQe,supportedHooks:Noe}=T_(),{createLogger:hPr,createChildLogger:$Qe,defaultChildLoggerFactory:pPr}=NN(),qQe=Fae(),{getGenReqId:HQe,reqIdGenFactory:VQe}=b8(),{buildRouting:mPr,validateBodyLimitOption:gPr}=QYe(),_Pr=tQe(),QQe=sQe(),APr=hQe(),{FSTDEP009:EPr}=kp(),yPr=mQe(),{appendStackTrace:vPr,AVVIO_ERRORS_MAP:jQe,...vv}=Oo(),{defaultInitOptions:Tu}=QQe,{FST_ERR_ASYNC_CONSTRAINT:SPr,FST_ERR_BAD_URL:TPr,FST_ERR_FORCE_CLOSE_CONNECTIONS_IDLE_NOT_AVAILABLE:bPr,FST_ERR_OPTIONS_NOT_OBJ:IPr,FST_ERR_QSP_NOT_FN:RPr,FST_ERR_SCHEMA_CONTROLLER_BUCKET_OPT_NOT_FN:CPr,FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_OBJ:xPr,FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_ARR:wPr,FST_ERR_VERSION_CONSTRAINT_NOT_STR:NPr,FST_ERR_INSTANCE_ALREADY_LISTENING:OPr,FST_ERR_REOPENED_CLOSE_SERVER:DPr,FST_ERR_ROUTE_REWRITE_NOT_STR:PPr,FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN:KQe}=vv,{buildErrorHandler:GQe}=uO();function LPr(e){let t={};return["errorHandler","logLevel","logSerializers"].concat(Noe).forEach(n=>{t[n]=e.store[n]}),Object.assign({},t)}function Z8(e){if(e=e||{},typeof e!="object")throw new IPr;if(e.querystringParser&&typeof e.querystringParser!="function")throw new RPr(typeof e.querystringParser);if(e.schemaController&&e.schemaController.bucket&&typeof e.schemaController.bucket!="function")throw new CPr(typeof e.schemaController.bucket);gPr(e.bodyLimit);let t=e.requestIdHeader===!1?!1:(e.requestIdHeader||Tu.requestIdHeader).toLowerCase(),r=VQe(t,e.genReqId),n=e.requestIdLogLabel||"reqId",s=e.bodyLimit||Tu.bodyLimit,i=e.disableRequestLogging||!1,a=Object.assign({customOptions:{},plugins:[]},e.ajv),o=e.frameworkErrors;if(!a.customOptions||Object.prototype.toString.call(a.customOptions)!=="[object Object]")throw new xPr(typeof a.customOptions);if(!a.plugins||!Array.isArray(a.plugins))throw new wPr(typeof a.plugins);let{logger:c,hasLogger:u}=hPr(e);e.connectionTimeout=e.connectionTimeout||Tu.connectionTimeout,e.keepAliveTimeout=e.keepAliveTimeout||Tu.keepAliveTimeout,e.maxRequestsPerSocket=e.maxRequestsPerSocket||Tu.maxRequestsPerSocket,e.requestTimeout=e.requestTimeout||Tu.requestTimeout,e.logger=c,e.requestIdHeader=t,e.requestIdLogLabel=n,e.disableRequestLogging=i,e.ajv=a,e.clientErrorHandler=e.clientErrorHandler||V;let l=QQe(e);e.exposeHeadRoutes=l.exposeHeadRoutes;let d=e.constraints;e.versioning&&(EPr(),d={...d,version:{name:"version",mustMatchWhenDerived:!0,storage:e.versioning.storage,deriveConstraint:e.versioning.deriveVersion,validate(q){if(typeof q!="string")throw new NPr}}});let f=mPr({config:{defaultRoute:W,onBadUrl:G,constraints:d,ignoreTrailingSlash:e.ignoreTrailingSlash||Tu.ignoreTrailingSlash,ignoreDuplicateSlashes:e.ignoreDuplicateSlashes||Tu.ignoreDuplicateSlashes,maxParamLength:e.maxParamLength||Tu.maxParamLength,caseSensitive:e.caseSensitive,allowUnsafeRegex:e.allowUnsafeRegex||Tu.allowUnsafeRegex,buildPrettyMeta:LPr,querystringParser:e.querystringParser,useSemicolonDelimiter:e.useSemicolonDelimiter??Tu.useSemicolonDelimiter}}),h=_Pr(e),p=H(f,e);e.http2SessionTimeout=l.http2SessionTimeout;let{server:m,listen:g}=cPr(e,p),_=typeof m.closeAllConnections=="function",y=typeof m.closeIdleConnections=="function",E=e.forceCloseConnections;if(E==="idle"&&!y)throw new bPr;typeof E!="boolean"&&(E=y?"idle":!1);let A=!_&&E===!0?new Set:yPr(),v=XD.setupResponseListeners,T=UQe.buildSchemaController(null,e.schemaController),C={[Di]:{listening:!1,closing:!1,started:!1,ready:!1,booting:!1,readyPromise:null},[Coe]:A,[Ioe]:e,[Toe]:[],[MQe]:[],[ePr]:s,[kQe]:"",[tPr]:"",[rPr]:null,[boe]:new fPr,[aA]:T,[Roe]:null,[X8]:GQe(),[xoe]:pPr,[BQe]:null,[sPr]:new yv(s,e.onProtoPoisoning||Tu.onProtoPoisoning,e.onConstructorPoisoning||Tu.onConstructorPoisoning),[iPr]:XD.buildReply(XD),[aPr]:J8.buildRequest(J8,e.trustProxy),[oPr]:h,[qQe.kRegisteredPlugins]:[],[WD]:["fastify"],[zD]:null,[woe]:r,routing:p,getDefaultRoute:f.getDefaultRoute.bind(f),setDefaultRoute:f.setDefaultRoute.bind(f),delete:function(z,Z,ae){return f.prepareRoute.call(this,{method:"DELETE",url:z,options:Z,handler:ae})},get:function(z,Z,ae){return f.prepareRoute.call(this,{method:"GET",url:z,options:Z,handler:ae})},head:function(z,Z,ae){return f.prepareRoute.call(this,{method:"HEAD",url:z,options:Z,handler:ae})},patch:function(z,Z,ae){return f.prepareRoute.call(this,{method:"PATCH",url:z,options:Z,handler:ae})},post:function(z,Z,ae){return f.prepareRoute.call(this,{method:"POST",url:z,options:Z,handler:ae})},put:function(z,Z,ae){return f.prepareRoute.call(this,{method:"PUT",url:z,options:Z,handler:ae})},options:function(z,Z,ae){return f.prepareRoute.call(this,{method:"OPTIONS",url:z,options:Z,handler:ae})},all:function(z,Z,ae){return f.prepareRoute.call(this,{method:dPr,url:z,options:Z,handler:ae})},route:function(z){return f.route.call(this,{options:z})},hasRoute:function(z){return f.hasRoute.call(this,{options:z})},findRoute:function(z){return f.findRoute(z)},log:c,withTypeProvider:U,addHook:Y,addSchema:$,getSchema:T.getSchema.bind(T),getSchemas:T.getSchemas.bind(T),setValidatorCompiler:te,setSerializerCompiler:ee,setSchemaController:de,setReplySerializer:B,setSchemaErrorFormatter:Q,setGenReqId:K,addContentTypeParser:yv.helpers.addContentTypeParser,hasContentTypeParser:yv.helpers.hasContentTypeParser,getDefaultJsonParser:yv.defaultParsers.getDefaultJsonParser,defaultTextParser:yv.defaultParsers.defaultTextParser,removeContentTypeParser:yv.helpers.removeContentTypeParser,removeAllContentTypeParsers:yv.helpers.removeAllContentTypeParsers,register:null,after:null,ready:null,onClose:null,close:null,printPlugins:null,hasPlugin:function(q){return this[qQe.kRegisteredPlugins].includes(q)||this[WD].includes(q)},listen:g,server:m,addresses:function(){let q=this[MQe].map(z=>z.address());return q.push(this.server.address()),q.filter(z=>z)},decorate:vI.add,hasDecorator:vI.exist,decorateReply:vI.decorateReply,decorateRequest:vI.decorateRequest,hasRequestDecorator:vI.existRequest,hasReplyDecorator:vI.existReply,inject:M,printRoutes:D,setNotFoundHandler:ue,setErrorHandler:k,setChildLoggerFactory:J,initialConfig:l,addConstraintStrategy:f.addConstraintStrategy.bind(f),hasConstraintStrategy:f.hasConstraintStrategy.bind(f)};Object.defineProperties(C,{listeningOrigin:{get(){let q=this.addresses().slice(-1).pop();if(typeof q=="string")return q;let z=q.family==="IPv6"?`[${q.address}]`:q.address;return`${this[Ioe].https?"https":"http"}://${z}:${q.port}`}},pluginName:{configurable:!0,get(){return this[WD].length>1?this[WD].join(" -> "):this[WD][0]}},prefix:{configurable:!0,get(){return this[kQe]}},validatorCompiler:{configurable:!0,get(){return this[aA].getValidatorCompiler()}},serializerCompiler:{configurable:!0,get(){return this[aA].getSerializerCompiler()}},childLoggerFactory:{configurable:!0,get(){return this[xoe]}},version:{configurable:!0,get(){return J2r}},errorHandler:{configurable:!0,get(){return this[X8].func}},genReqId:{configurable:!0,get(){return this[woe]}}}),e.schemaErrorFormatter&&(YQe(e.schemaErrorFormatter),C[Roe]=e.schemaErrorFormatter.bind(C));let b=Number(e.pluginTimeout),x=Z2r(C,{autostart:!1,timeout:isNaN(b)===!1?b:Tu.pluginTimeout,expose:{use:"register"}});x.override=APr,x.on("start",()=>C[Di].started=!0),C[zD]=C.ready,C.ready=L,C.printPlugins=x.prettyPrint.bind(x),x.once("preReady",()=>{C.onClose((q,z)=>{C[Di].closing=!0,f.closeRoutes(),FQe("preClose",C[zD],C,function(){if(C[Di].listening){if(E==="idle")q.server.closeIdleConnections();else if(_&&E)q.server.closeAllConnections();else if(E===!0)for(let Z of C[Coe])Z.destroy(),C[Coe].delete(Z)}!e.serverFactory||C[Di].listening?q.server.close(function(Z){Z&&Z.code!=="ERR_SERVER_NOT_RUNNING"?z(null):z()}):process.nextTick(z,null)})})});let w=new lPr({server:C,config:{}});C.setNotFoundHandler(),h.arrange404(C),f.setup(e,{avvio:x,fourOhFour:h,logger:c,hasLogger:u,setupResponseListeners:v,throwIfAlreadyStarted:P,validateHTTPVersion:uPr(e),keepAliveConnections:A}),m.on("clientError",e.clientErrorHandler.bind(C));try{let z=require("node:diagnostics_channel").channel("fastify.initialization");z.hasSubscribers&&z.publish({fastify:C})}catch{}return"asyncDispose"in Symbol&&(C[Symbol.asyncDispose]=function(){return C.close()}),C;function P(q){if(C[Di].started)throw new OPr(q)}function M(q,z){if(QD===void 0&&(QD=LQe()),C[Di].started){if(C[Di].closing){let Z=new DPr;if(z){z(Z);return}else return Promise.reject(Z)}return QD(p,q,z)}if(z)this.ready(Z=>{Z?z(Z,null):QD(p,q,z)});else return QD((Z,ae)=>{this.ready(function(ne){if(ne){ae.emit("error",ne);return}p(Z,ae)})},q)}function L(q){if(this[Di].readyPromise!==null){if(q!=null){this[Di].readyPromise.then(()=>q(null,C),q);return}return this[Di].readyPromise}let z,Z;if(process.nextTick(ae),this[Di].readyPromise=new Promise(function(ie,X){z=ie,Z=X}),q)this[Di].readyPromise.then(()=>q(null,C),q);else return this[Di].readyPromise;function ae(){C[zD]((ie,X)=>{ie||C[Di].started||C[Di].ready||C[Di].booting?ne(ie):(C[Di].booting=!0,FQe("onReady",C[zD],C,ne)),X()})}function ne(ie){if(ie=ie!=null&&jQe[ie.code]!=null?vPr(ie,new jQe[ie.code](ie.message)):ie,ie)return Z(ie);z(C),C[Di].booting=!1,C[Di].ready=!0,C[Di].promise=null}}function U(){return this}function Y(q,z){if(P('Cannot call "addHook"!'),z==null)throw new vv.FST_ERR_HOOK_INVALID_HANDLER(q,z);if(q==="onSend"||q==="preSerialization"||q==="onError"||q==="preParsing"){if(z.constructor.name==="AsyncFunction"&&z.length===4)throw new vv.FST_ERR_HOOK_INVALID_ASYNC_HANDLER}else if(q==="onReady"||q==="onListen"){if(z.constructor.name==="AsyncFunction"&&z.length!==0)throw new vv.FST_ERR_HOOK_INVALID_ASYNC_HANDLER}else if(q==="onRequestAbort"){if(z.constructor.name==="AsyncFunction"&&z.length!==1)throw new vv.FST_ERR_HOOK_INVALID_ASYNC_HANDLER}else if(z.constructor.name==="AsyncFunction"&&z.length===3)throw new vv.FST_ERR_HOOK_INVALID_ASYNC_HANDLER;return q==="onClose"?this.onClose(z):q==="onReady"||q==="onListen"||q==="onRoute"?this[boe].add(q,z):this.after((ae,ne)=>{Z.call(this,q,z),ne(ae)}),this;function Z(ae,ne){this[boe].add(ae,ne),this[Toe].forEach(ie=>Z.call(ie,ae,ne))}}function $(q){return P('Cannot call "addSchema"!'),this[aA].add(q),this[Toe].forEach(z=>z.addSchema(q)),this}function V(q,z){if(q.code==="ECONNRESET"||z.destroyed)return;let Z,ae,ne,ie;q.code==="ERR_HTTP_REQUEST_TIMEOUT"?(ae="408",ne=Soe.STATUS_CODES[ae],Z=`{"error":"${ne}","message":"Client Timeout","statusCode":408}`,ie="timeout"):q.code==="HPE_HEADER_OVERFLOW"?(ae="431",ne=Soe.STATUS_CODES[ae],Z=`{"error":"${ne}","message":"Exceeded maximum allowed HTTP header size","statusCode":431}`,ie="header_overflow"):(ae="400",ne=Soe.STATUS_CODES[ae],Z=`{"error":"${ne}","message":"Client Error","statusCode":400}`,ie="error"),this.log.trace({err:q},`client ${ie}`),z.writable&&z.write(`HTTP/1.1 ${ae} ${ne}\r +Content-Length: ${Z.length}\r +Content-Type: application/json\r +\r +${Z}`),z.destroy(q)}function W(q,z){q.headers["accept-version"]!==void 0&&(q.headers[nPr]=q.headers["accept-version"],q.headers["accept-version"]=void 0),h.router.lookup(q,z)}function G(q,z,Z){if(o){let ne=HQe(w.server,z),ie=$Qe(w,c,z,ne),X=new J8(ne,null,z,null,ie,w),ce=new XD(Z,X,ie);return i===!1&&ie.info({req:X},"incoming request"),o(new TPr(q),X,ce)}let ae=`{"error":"Bad Request","code":"FST_ERR_BAD_URL","message":"'${q}' is not a valid url component","statusCode":400}`;Z.writeHead(400,{"Content-Type":"application/json","Content-Length":ae.length}),Z.end(ae)}function se(q,z,Z){if(q!==!1)return function(ne){if(ne){if(o){let X=HQe(w.server,z),ce=$Qe(w,c,z,X),me=new J8(X,null,z,null,ce,w),be=new XD(Z,me,ce);return i===!1&&ce.info({req:me},"incoming request"),o(new SPr,me,be)}let ie='{"error":"Internal Server Error","message":"Unexpected error from async constraint","statusCode":500}';Z.writeHead(500,{"Content-Type":"application/json","Content-Length":ie.length}),Z.end(ie)}}}function ue(q,z){return P('Cannot call "setNotFoundHandler"!'),h.setNotFoundHandler.call(this,q,z,x,f.routeHandler),this}function te(q){return P('Cannot call "setValidatorCompiler"!'),this[aA].setValidatorCompiler(q),this}function Q(q){return P('Cannot call "setSchemaErrorFormatter"!'),YQe(q),this[Roe]=q.bind(this),this}function ee(q){return P('Cannot call "setSerializerCompiler"!'),this[aA].setSerializerCompiler(q),this}function de(q){P('Cannot call "setSchemaController"!');let z=this[aA],Z=UQe.buildSchemaController(z,Object.assign({},z.opts,q));return this[aA]=Z,this.getSchema=Z.getSchema.bind(Z),this.getSchemas=Z.getSchemas.bind(Z),this}function B(q){return P('Cannot call "setReplySerializer"!'),this[BQe]=q,this}function k(q){return P('Cannot call "setErrorHandler"!'),this[X8]=GQe(this[X8],q.bind(this)),this}function J(q){return P('Cannot call "setChildLoggerFactory"!'),this[xoe]=q,this}function D(q={}){return q.includeMeta=q.includeHooks?q.includeMeta?Noe.concat(q.includeMeta):Noe:q.includeMeta,f.printRoutes(q)}function H(q,{rewriteUrl:z,logger:Z}){let ae;return function(ie,X){if(ae===void 0&&(ae=q.isAsyncConstraint()),z){ie.originalUrl=ie.url;let ce=z.call(C,ie);if(typeof ce=="string")ie.url=ce;else{let me=new PPr(ie.url,typeof ce);ie.destroy(me)}}q.routing(ie,X,se(ae,ie,X))}}function K(q){return P('Cannot call "setGenReqId"!'),this[woe]=VQe(this[Ioe].requestIdHeader,q),this}}Z8.errorCodes=vv;function YQe(e){if(typeof e!="function")throw new KQe(typeof e);if(e.constructor.name==="AsyncFunction")throw new KQe("AsyncFunction")}e5.exports=Z8;e5.exports.fastify=Z8;e5.exports.default=Z8});function JD(e,t){return function(){return e.apply(t,arguments)}}var Ooe=oe(()=>{"use strict"});function kPr(e){return e!==null&&!ZD(e)&&e.constructor!==null&&!ZD(e.constructor)&&Ad(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}function BPr(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&eze(e.buffer),t}function e2(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,s;if(typeof e!="object"&&(e=[e]),SI(e))for(n=0,s=e.length;n0;)if(s=r[n],t===s.toLowerCase())return s;return null}function Poe(){let{caseless:e}=sze(this)&&this||{},t={},r=(n,s)=>{let i=e&&rze(t,s)||s;r5(t[i])&&r5(n)?t[i]=Poe(t[i],n):r5(n)?t[i]=Poe({},n):SI(n)?t[i]=n.slice():t[i]=n};for(let n=0,s=arguments.length;n{"use strict";Ooe();({toString:MPr}=Object.prototype),{getPrototypeOf:Loe}=Object,n5=(e=>t=>{let r=MPr.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),lh=e=>(e=e.toLowerCase(),t=>n5(t)===e),s5=e=>t=>typeof t===e,{isArray:SI}=Array,ZD=s5("undefined");eze=lh("ArrayBuffer");UPr=s5("string"),Ad=s5("function"),tze=s5("number"),i5=e=>e!==null&&typeof e=="object",FPr=e=>e===!0||e===!1,r5=e=>{if(n5(e)!=="object")return!1;let t=Loe(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},$Pr=lh("Date"),qPr=lh("File"),HPr=lh("Blob"),VPr=lh("FileList"),jPr=e=>i5(e)&&Ad(e.pipe),KPr=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Ad(e.append)&&((t=n5(e))==="formdata"||t==="object"&&Ad(e.toString)&&e.toString()==="[object FormData]"))},GPr=lh("URLSearchParams"),YPr=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");nze=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,sze=e=>!ZD(e)&&e!==nze;QPr=(e,t,r,{allOwnKeys:n}={})=>(e2(t,(s,i)=>{r&&Ad(s)?e[i]=JD(s,r):e[i]=s},{allOwnKeys:n}),e),zPr=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),WPr=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},XPr=(e,t,r,n)=>{let s,i,a,o={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),i=s.length;i-- >0;)a=s[i],(!n||n(a,e,t))&&!o[a]&&(t[a]=e[a],o[a]=!0);e=r!==!1&&Loe(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},JPr=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let n=e.indexOf(t,r);return n!==-1&&n===r},ZPr=e=>{if(!e)return null;if(SI(e))return e;let t=e.length;if(!tze(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},eLr=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Loe(Uint8Array)),tLr=(e,t)=>{let n=(e&&e[Symbol.iterator]).call(e),s;for(;(s=n.next())&&!s.done;){let i=s.value;t.call(e,i[0],i[1])}},rLr=(e,t)=>{let r,n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},nLr=lh("HTMLFormElement"),sLr=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,s){return n.toUpperCase()+s}),JQe=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),iLr=lh("RegExp"),ize=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),n={};e2(r,(s,i)=>{let a;(a=t(s,i,e))!==!1&&(n[i]=a||s)}),Object.defineProperties(e,n)},aLr=e=>{ize(e,(t,r)=>{if(Ad(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let n=e[r];if(Ad(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},oLr=(e,t)=>{let r={},n=s=>{s.forEach(i=>{r[i]=!0})};return SI(e)?n(e):n(String(e).split(t)),r},cLr=()=>{},uLr=(e,t)=>(e=+e,Number.isFinite(e)?e:t),Doe="abcdefghijklmnopqrstuvwxyz",ZQe="0123456789",aze={DIGIT:ZQe,ALPHA:Doe,ALPHA_DIGIT:Doe+Doe.toUpperCase()+ZQe},lLr=(e=16,t=aze.ALPHA_DIGIT)=>{let r="",{length:n}=t;for(;e--;)r+=t[Math.random()*n|0];return r};fLr=e=>{let t=new Array(10),r=(n,s)=>{if(i5(n)){if(t.indexOf(n)>=0)return;if(!("toJSON"in n)){t[s]=n;let i=SI(n)?[]:{};return e2(n,(a,o)=>{let c=r(a,s+1);!ZD(c)&&(i[o]=c)}),t[s]=void 0,i}}return n};return r(e,0)},hLr=lh("AsyncFunction"),pLr=e=>e&&(i5(e)||Ad(e))&&Ad(e.then)&&Ad(e.catch),Te={isArray:SI,isArrayBuffer:eze,isBuffer:kPr,isFormData:KPr,isArrayBufferView:BPr,isString:UPr,isNumber:tze,isBoolean:FPr,isObject:i5,isPlainObject:r5,isUndefined:ZD,isDate:$Pr,isFile:qPr,isBlob:HPr,isRegExp:iLr,isFunction:Ad,isStream:jPr,isURLSearchParams:GPr,isTypedArray:eLr,isFileList:VPr,forEach:e2,merge:Poe,extend:QPr,trim:YPr,stripBOM:zPr,inherits:WPr,toFlatObject:XPr,kindOf:n5,kindOfTest:lh,endsWith:JPr,toArray:ZPr,forEachEntry:tLr,matchAll:rLr,isHTMLForm:nLr,hasOwnProperty:JQe,hasOwnProp:JQe,reduceDescriptors:ize,freezeMethods:aLr,toObjectSet:oLr,toCamelCase:sLr,noop:cLr,toFiniteNumber:uLr,findKey:rze,global:nze,isContextDefined:sze,ALPHABET:aze,generateString:lLr,isSpecCompliantForm:dLr,toJSONObject:fLr,isAsyncFn:hLr,isThenable:pLr}});function TI(e,t,r,n,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),s&&(this.response=s)}var oze,cze,ft,Nf=oe(()=>{"use strict";Qs();Te.inherits(TI,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Te.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});oze=TI.prototype,cze={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{cze[e]={value:e}});Object.defineProperties(TI,cze);Object.defineProperty(oze,"isAxiosError",{value:!0});TI.from=(e,t,r,n,s,i)=>{let a=Object.create(oze);return Te.toFlatObject(e,a,function(c){return c!==Error.prototype},o=>o!=="isAxiosError"),TI.call(a,e.message,t,r,n,s),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};ft=TI});var dze=S((aqn,lze)=>{var uze=require("stream").Stream,mLr=require("util");lze.exports=Of;function Of(){this.source=null,this.dataSize=0,this.maxDataSize=1024*1024,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}mLr.inherits(Of,uze);Of.create=function(e,t){var r=new this;t=t||{};for(var n in t)r[n]=t[n];r.source=e;var s=e.emit;return e.emit=function(){return r._handleEmit(arguments),s.apply(e,arguments)},e.on("error",function(){}),r.pauseStream&&e.pause(),r};Object.defineProperty(Of.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}});Of.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};Of.prototype.resume=function(){this._released||this.release(),this.source.resume()};Of.prototype.pause=function(){this.source.pause()};Of.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(e){this.emit.apply(this,e)}.bind(this)),this._bufferedEvents=[]};Of.prototype.pipe=function(){var e=uze.prototype.pipe.apply(this,arguments);return this.resume(),e};Of.prototype._handleEmit=function(e){if(this._released){this.emit.apply(this,e);return}e[0]==="data"&&(this.dataSize+=e[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(e)};Of.prototype._checkIfMaxDataSizeExceeded=function(){if(!this._maxDataSizeExceeded&&!(this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var e="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(e))}}});var mze=S((oqn,pze)=>{var gLr=require("util"),hze=require("stream").Stream,fze=dze();pze.exports=hi;function hi(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2*1024*1024,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}gLr.inherits(hi,hze);hi.create=function(e){var t=new this;e=e||{};for(var r in e)t[r]=e[r];return t};hi.isStreamLike=function(e){return typeof e!="function"&&typeof e!="string"&&typeof e!="boolean"&&typeof e!="number"&&!Buffer.isBuffer(e)};hi.prototype.append=function(e){var t=hi.isStreamLike(e);if(t){if(!(e instanceof fze)){var r=fze.create(e,{maxDataSize:1/0,pauseStream:this.pauseStreams});e.on("data",this._checkDataSize.bind(this)),e=r}this._handleErrors(e),this.pauseStreams&&e.pause()}return this._streams.push(e),this};hi.prototype.pipe=function(e,t){return hze.prototype.pipe.call(this,e,t),this.resume(),e};hi.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop){this._pendingNext=!0;return}this._insideLoop=!0;try{do this._pendingNext=!1,this._realGetNext();while(this._pendingNext)}finally{this._insideLoop=!1}};hi.prototype._realGetNext=function(){var e=this._streams.shift();if(typeof e>"u"){this.end();return}if(typeof e!="function"){this._pipeNext(e);return}var t=e;t(function(r){var n=hi.isStreamLike(r);n&&(r.on("data",this._checkDataSize.bind(this)),this._handleErrors(r)),this._pipeNext(r)}.bind(this))};hi.prototype._pipeNext=function(e){this._currentStream=e;var t=hi.isStreamLike(e);if(t){e.on("end",this._getNext.bind(this)),e.pipe(this,{end:!1});return}var r=e;this.write(r),this._getNext()};hi.prototype._handleErrors=function(e){var t=this;e.on("error",function(r){t._emitError(r)})};hi.prototype.write=function(e){this.emit("data",e)};hi.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function"&&this._currentStream.pause(),this.emit("pause"))};hi.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&typeof this._currentStream.resume=="function"&&this._currentStream.resume(),this.emit("resume")};hi.prototype.end=function(){this._reset(),this.emit("end")};hi.prototype.destroy=function(){this._reset(),this.emit("close")};hi.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null};hi.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var e="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(e))}};hi.prototype._updateDataSize=function(){this.dataSize=0;var e=this;this._streams.forEach(function(t){t.dataSize&&(e.dataSize+=t.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)};hi.prototype._emitError=function(e){this._reset(),this.emit("error",e)}});var gze=S((cqn,_Lr)=>{_Lr.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var Aze=S((uqn,_ze)=>{_ze.exports=gze()});var vze=S(bu=>{"use strict";var a5=Aze(),ALr=require("path").extname,Eze=/^\s*([^;\s]*)(?:;|\s|$)/,ELr=/^text\//i;bu.charset=yze;bu.charsets={lookup:yze};bu.contentType=yLr;bu.extension=vLr;bu.extensions=Object.create(null);bu.lookup=SLr;bu.types=Object.create(null);TLr(bu.extensions,bu.types);function yze(e){if(!e||typeof e!="string")return!1;var t=Eze.exec(e),r=t&&a5[t[1].toLowerCase()];return r&&r.charset?r.charset:t&&ELr.test(t[1])?"UTF-8":!1}function yLr(e){if(!e||typeof e!="string")return!1;var t=e.indexOf("/")===-1?bu.lookup(e):e;if(!t)return!1;if(t.indexOf("charset")===-1){var r=bu.charset(t);r&&(t+="; charset="+r.toLowerCase())}return t}function vLr(e){if(!e||typeof e!="string")return!1;var t=Eze.exec(e),r=t&&bu.extensions[t[1].toLowerCase()];return!r||!r.length?!1:r[0]}function SLr(e){if(!e||typeof e!="string")return!1;var t=ALr("x."+e).toLowerCase().substr(1);return t&&bu.types[t]||!1}function TLr(e,t){var r=["nginx","apache",void 0,"iana"];Object.keys(a5).forEach(function(s){var i=a5[s],a=i.extensions;if(!(!a||!a.length)){e[s]=a;for(var o=0;ol||u===l&&t[c].substr(0,12)==="application/"))continue}t[c]=s}}})}});var Tze=S((dqn,Sze)=>{Sze.exports=bLr;function bLr(e){var t=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;t?t(e):setTimeout(e,0)}});var Moe=S((fqn,Ize)=>{var bze=Tze();Ize.exports=ILr;function ILr(e){var t=!1;return bze(function(){t=!0}),function(n,s){t?e(n,s):bze(function(){e(n,s)})}}});var koe=S((hqn,Rze)=>{Rze.exports=RLr;function RLr(e){Object.keys(e.jobs).forEach(CLr.bind(e)),e.jobs={}}function CLr(e){typeof this.jobs[e]=="function"&&this.jobs[e]()}});var Boe=S((pqn,xze)=>{var Cze=Moe(),xLr=koe();xze.exports=wLr;function wLr(e,t,r,n){var s=r.keyedList?r.keyedList[r.index]:r.index;r.jobs[s]=NLr(t,s,e[s],function(i,a){s in r.jobs&&(delete r.jobs[s],i?xLr(r):r.results[s]=a,n(i,r.results))})}function NLr(e,t,r,n){var s;return e.length==2?s=e(r,Cze(n)):s=e(r,t,Cze(n)),s}});var Uoe=S((mqn,wze)=>{wze.exports=OLr;function OLr(e,t){var r=!Array.isArray(e),n={index:0,keyedList:r||t?Object.keys(e):null,jobs:{},results:r?{}:[],size:r?Object.keys(e).length:e.length};return t&&n.keyedList.sort(r?t:function(s,i){return t(e[s],e[i])}),n}});var Foe=S((gqn,Nze)=>{var DLr=koe(),PLr=Moe();Nze.exports=LLr;function LLr(e){Object.keys(this.jobs).length&&(this.index=this.size,DLr(this),PLr(e)(null,this.results))}});var Dze=S((_qn,Oze)=>{var MLr=Boe(),kLr=Uoe(),BLr=Foe();Oze.exports=ULr;function ULr(e,t,r){for(var n=kLr(e);n.index<(n.keyedList||e).length;)MLr(e,t,n,function(s,i){if(s){r(s,i);return}if(Object.keys(n.jobs).length===0){r(null,n.results);return}}),n.index++;return BLr.bind(n,r)}});var $oe=S((Aqn,o5)=>{var Pze=Boe(),FLr=Uoe(),$Lr=Foe();o5.exports=qLr;o5.exports.ascending=Lze;o5.exports.descending=HLr;function qLr(e,t,r,n){var s=FLr(e,r);return Pze(e,t,s,function i(a,o){if(a){n(a,o);return}if(s.index++,s.index<(s.keyedList||e).length){Pze(e,t,s,i);return}n(null,s.results)}),$Lr.bind(s,n)}function Lze(e,t){return et?1:0}function HLr(e,t){return-1*Lze(e,t)}});var kze=S((Eqn,Mze)=>{var VLr=$oe();Mze.exports=jLr;function jLr(e,t,r){return VLr(e,t,null,r)}});var Uze=S((yqn,Bze)=>{Bze.exports={parallel:Dze(),serial:kze(),serialOrdered:$oe()}});var qoe=S((vqn,Fze)=>{"use strict";Fze.exports=Object});var qze=S((Sqn,$ze)=>{"use strict";$ze.exports=Error});var Vze=S((Tqn,Hze)=>{"use strict";Hze.exports=EvalError});var Kze=S((bqn,jze)=>{"use strict";jze.exports=RangeError});var Yze=S((Iqn,Gze)=>{"use strict";Gze.exports=ReferenceError});var zze=S((Rqn,Qze)=>{"use strict";Qze.exports=SyntaxError});var oA=S((Cqn,Wze)=>{"use strict";Wze.exports=TypeError});var Jze=S((xqn,Xze)=>{"use strict";Xze.exports=URIError});var eWe=S((wqn,Zze)=>{"use strict";Zze.exports=Math.abs});var rWe=S((Nqn,tWe)=>{"use strict";tWe.exports=Math.floor});var sWe=S((Oqn,nWe)=>{"use strict";nWe.exports=Math.max});var aWe=S((Dqn,iWe)=>{"use strict";iWe.exports=Math.min});var cWe=S((Pqn,oWe)=>{"use strict";oWe.exports=Math.pow});var lWe=S((Lqn,uWe)=>{"use strict";uWe.exports=Math.round});var fWe=S((Mqn,dWe)=>{"use strict";dWe.exports=Number.isNaN||function(t){return t!==t}});var pWe=S((kqn,hWe)=>{"use strict";var KLr=fWe();hWe.exports=function(t){return KLr(t)||t===0?t:t<0?-1:1}});var gWe=S((Bqn,mWe)=>{"use strict";mWe.exports=Object.getOwnPropertyDescriptor});var Hoe=S((Uqn,_We)=>{"use strict";var c5=gWe();if(c5)try{c5([],"length")}catch{c5=null}_We.exports=c5});var EWe=S((Fqn,AWe)=>{"use strict";var u5=Object.defineProperty||!1;if(u5)try{u5({},"a",{value:1})}catch{u5=!1}AWe.exports=u5});var Voe=S(($qn,yWe)=>{"use strict";yWe.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var s=42;t[r]=s;for(var i in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var a=Object.getOwnPropertySymbols(t);if(a.length!==1||a[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var o=Object.getOwnPropertyDescriptor(t,r);if(o.value!==s||o.enumerable!==!0)return!1}return!0}});var TWe=S((qqn,SWe)=>{"use strict";var vWe=typeof Symbol<"u"&&Symbol,GLr=Voe();SWe.exports=function(){return typeof vWe!="function"||typeof Symbol!="function"||typeof vWe("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:GLr()}});var joe=S((Hqn,bWe)=>{"use strict";bWe.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null});var Koe=S((Vqn,IWe)=>{"use strict";var YLr=qoe();IWe.exports=YLr.getPrototypeOf||null});var xWe=S((jqn,CWe)=>{"use strict";var QLr="Function.prototype.bind called on incompatible ",zLr=Object.prototype.toString,WLr=Math.max,XLr="[object Function]",RWe=function(t,r){for(var n=[],s=0;s{"use strict";var eMr=xWe();wWe.exports=Function.prototype.bind||eMr});var l5=S((Gqn,NWe)=>{"use strict";NWe.exports=Function.prototype.call});var Goe=S((Yqn,OWe)=>{"use strict";OWe.exports=Function.prototype.apply});var PWe=S((Qqn,DWe)=>{"use strict";DWe.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply});var MWe=S((zqn,LWe)=>{"use strict";var tMr=t2(),rMr=Goe(),nMr=l5(),sMr=PWe();LWe.exports=sMr||tMr.call(nMr,rMr)});var Yoe=S((Wqn,kWe)=>{"use strict";var iMr=t2(),aMr=oA(),oMr=l5(),cMr=MWe();kWe.exports=function(t){if(t.length<1||typeof t[0]!="function")throw new aMr("a function is required");return cMr(iMr,oMr,t)}});var HWe=S((Xqn,qWe)=>{"use strict";var uMr=Yoe(),BWe=Hoe(),FWe;try{FWe=[].__proto__===Array.prototype}catch(e){if(!e||typeof e!="object"||!("code"in e)||e.code!=="ERR_PROTO_ACCESS")throw e}var Qoe=!!FWe&&BWe&&BWe(Object.prototype,"__proto__"),$We=Object,UWe=$We.getPrototypeOf;qWe.exports=Qoe&&typeof Qoe.get=="function"?uMr([Qoe.get]):typeof UWe=="function"?function(t){return UWe(t==null?t:$We(t))}:!1});var YWe=S((Jqn,GWe)=>{"use strict";var VWe=joe(),jWe=Koe(),KWe=HWe();GWe.exports=VWe?function(t){return VWe(t)}:jWe?function(t){if(!t||typeof t!="object"&&typeof t!="function")throw new TypeError("getProto: not an object");return jWe(t)}:KWe?function(t){return KWe(t)}:null});var d5=S((Zqn,QWe)=>{"use strict";var lMr=Function.prototype.call,dMr=Object.prototype.hasOwnProperty,fMr=t2();QWe.exports=fMr.call(lMr,dMr)});var i2=S((eHn,eXe)=>{"use strict";var qr,hMr=qoe(),pMr=qze(),mMr=Vze(),gMr=Kze(),_Mr=Yze(),CI=zze(),RI=oA(),AMr=Jze(),EMr=eWe(),yMr=rWe(),vMr=sWe(),SMr=aWe(),TMr=cWe(),bMr=lWe(),IMr=pWe(),JWe=Function,zoe=function(e){try{return JWe('"use strict"; return ('+e+").constructor;")()}catch{}},r2=Hoe(),RMr=EWe(),Woe=function(){throw new RI},CMr=r2?function(){try{return arguments.callee,Woe}catch{try{return r2(arguments,"callee").get}catch{return Woe}}}():Woe,bI=TWe()(),ba=YWe(),xMr=Koe(),wMr=joe(),ZWe=Goe(),n2=l5(),II={},NMr=typeof Uint8Array>"u"||!ba?qr:ba(Uint8Array),Sv={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?qr:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?qr:ArrayBuffer,"%ArrayIteratorPrototype%":bI&&ba?ba([][Symbol.iterator]()):qr,"%AsyncFromSyncIteratorPrototype%":qr,"%AsyncFunction%":II,"%AsyncGenerator%":II,"%AsyncGeneratorFunction%":II,"%AsyncIteratorPrototype%":II,"%Atomics%":typeof Atomics>"u"?qr:Atomics,"%BigInt%":typeof BigInt>"u"?qr:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?qr:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?qr:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?qr:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":pMr,"%eval%":eval,"%EvalError%":mMr,"%Float16Array%":typeof Float16Array>"u"?qr:Float16Array,"%Float32Array%":typeof Float32Array>"u"?qr:Float32Array,"%Float64Array%":typeof Float64Array>"u"?qr:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?qr:FinalizationRegistry,"%Function%":JWe,"%GeneratorFunction%":II,"%Int8Array%":typeof Int8Array>"u"?qr:Int8Array,"%Int16Array%":typeof Int16Array>"u"?qr:Int16Array,"%Int32Array%":typeof Int32Array>"u"?qr:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":bI&&ba?ba(ba([][Symbol.iterator]())):qr,"%JSON%":typeof JSON=="object"?JSON:qr,"%Map%":typeof Map>"u"?qr:Map,"%MapIteratorPrototype%":typeof Map>"u"||!bI||!ba?qr:ba(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":hMr,"%Object.getOwnPropertyDescriptor%":r2,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?qr:Promise,"%Proxy%":typeof Proxy>"u"?qr:Proxy,"%RangeError%":gMr,"%ReferenceError%":_Mr,"%Reflect%":typeof Reflect>"u"?qr:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?qr:Set,"%SetIteratorPrototype%":typeof Set>"u"||!bI||!ba?qr:ba(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?qr:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":bI&&ba?ba(""[Symbol.iterator]()):qr,"%Symbol%":bI?Symbol:qr,"%SyntaxError%":CI,"%ThrowTypeError%":CMr,"%TypedArray%":NMr,"%TypeError%":RI,"%Uint8Array%":typeof Uint8Array>"u"?qr:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?qr:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?qr:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?qr:Uint32Array,"%URIError%":AMr,"%WeakMap%":typeof WeakMap>"u"?qr:WeakMap,"%WeakRef%":typeof WeakRef>"u"?qr:WeakRef,"%WeakSet%":typeof WeakSet>"u"?qr:WeakSet,"%Function.prototype.call%":n2,"%Function.prototype.apply%":ZWe,"%Object.defineProperty%":RMr,"%Object.getPrototypeOf%":xMr,"%Math.abs%":EMr,"%Math.floor%":yMr,"%Math.max%":vMr,"%Math.min%":SMr,"%Math.pow%":TMr,"%Math.round%":bMr,"%Math.sign%":IMr,"%Reflect.getPrototypeOf%":wMr};if(ba)try{null.error}catch(e){zWe=ba(ba(e)),Sv["%Error.prototype%"]=zWe}var zWe,OMr=function e(t){var r;if(t==="%AsyncFunction%")r=zoe("async function () {}");else if(t==="%GeneratorFunction%")r=zoe("function* () {}");else if(t==="%AsyncGeneratorFunction%")r=zoe("async function* () {}");else if(t==="%AsyncGenerator%"){var n=e("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(t==="%AsyncIteratorPrototype%"){var s=e("%AsyncGenerator%");s&&ba&&(r=ba(s.prototype))}return Sv[t]=r,r},WWe={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},s2=t2(),f5=d5(),DMr=s2.call(n2,Array.prototype.concat),PMr=s2.call(ZWe,Array.prototype.splice),XWe=s2.call(n2,String.prototype.replace),h5=s2.call(n2,String.prototype.slice),LMr=s2.call(n2,RegExp.prototype.exec),MMr=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,kMr=/\\(\\)?/g,BMr=function(t){var r=h5(t,0,1),n=h5(t,-1);if(r==="%"&&n!=="%")throw new CI("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new CI("invalid intrinsic syntax, expected opening `%`");var s=[];return XWe(t,MMr,function(i,a,o,c){s[s.length]=o?XWe(c,kMr,"$1"):a||i}),s},UMr=function(t,r){var n=t,s;if(f5(WWe,n)&&(s=WWe[n],n="%"+s[0]+"%"),f5(Sv,n)){var i=Sv[n];if(i===II&&(i=OMr(n)),typeof i>"u"&&!r)throw new RI("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:s,name:n,value:i}}throw new CI("intrinsic "+t+" does not exist!")};eXe.exports=function(t,r){if(typeof t!="string"||t.length===0)throw new RI("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new RI('"allowMissing" argument must be a boolean');if(LMr(/^%?[^%]*%?$/,t)===null)throw new CI("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=BMr(t),s=n.length>0?n[0]:"",i=UMr("%"+s+"%",r),a=i.name,o=i.value,c=!1,u=i.alias;u&&(s=u[0],PMr(n,DMr([0,1],u)));for(var l=1,d=!0;l=n.length){var m=r2(o,f);d=!!m,d&&"get"in m&&!("originalValue"in m.get)?o=m.get:o=o[f]}else d=f5(o,f),o=o[f];d&&!c&&(Sv[a]=o)}}return o}});var rXe=S((tHn,tXe)=>{"use strict";var FMr=Voe();tXe.exports=function(){return FMr()&&!!Symbol.toStringTag}});var iXe=S((rHn,sXe)=>{"use strict";var $Mr=i2(),nXe=$Mr("%Object.defineProperty%",!0),qMr=rXe()(),HMr=d5(),VMr=oA(),p5=qMr?Symbol.toStringTag:null;sXe.exports=function(t,r){var n=arguments.length>2&&!!arguments[2]&&arguments[2].force,s=arguments.length>2&&!!arguments[2]&&arguments[2].nonConfigurable;if(typeof n<"u"&&typeof n!="boolean"||typeof s<"u"&&typeof s!="boolean")throw new VMr("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");p5&&(n||!HMr(t,p5))&&(nXe?nXe(t,p5,{configurable:!s,enumerable:!1,value:r,writable:!1}):t[p5]=r)}});var oXe=S((nHn,aXe)=>{"use strict";aXe.exports=function(e,t){return Object.keys(t).forEach(function(r){e[r]=e[r]||t[r]}),e}});var tce=S((sHn,cXe)=>{"use strict";var ece=mze(),jMr=require("util"),Xoe=require("path"),KMr=require("http"),GMr=require("https"),YMr=require("url").parse,QMr=require("fs"),zMr=require("stream").Stream,WMr=require("crypto"),Joe=vze(),XMr=Uze(),JMr=iXe(),cA=d5(),Zoe=oXe();function gn(e){if(!(this instanceof gn))return new gn(e);this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],ece.call(this),e=e||{};for(var t in e)this[t]=e[t]}jMr.inherits(gn,ece);gn.LINE_BREAK=`\r +`;gn.DEFAULT_CONTENT_TYPE="application/octet-stream";gn.prototype.append=function(e,t,r){r=r||{},typeof r=="string"&&(r={filename:r});var n=ece.prototype.append.bind(this);if((typeof t=="number"||t==null)&&(t=String(t)),Array.isArray(t)){this._error(new Error("Arrays are not supported."));return}var s=this._multiPartHeader(e,t,r),i=this._multiPartFooter();n(s),n(t),n(i),this._trackLength(s,t,r)};gn.prototype._trackLength=function(e,t,r){var n=0;r.knownLength!=null?n+=Number(r.knownLength):Buffer.isBuffer(t)?n=t.length:typeof t=="string"&&(n=Buffer.byteLength(t)),this._valueLength+=n,this._overheadLength+=Buffer.byteLength(e)+gn.LINE_BREAK.length,!(!t||!t.path&&!(t.readable&&cA(t,"httpVersion"))&&!(t instanceof zMr))&&(r.knownLength||this._valuesToMeasure.push(t))};gn.prototype._lengthRetriever=function(e,t){cA(e,"fd")?e.end!=null&&e.end!=1/0&&e.start!=null?t(null,e.end+1-(e.start?e.start:0)):QMr.stat(e.path,function(r,n){if(r){t(r);return}var s=n.size-(e.start?e.start:0);t(null,s)}):cA(e,"httpVersion")?t(null,Number(e.headers["content-length"])):cA(e,"httpModule")?(e.on("response",function(r){e.pause(),t(null,Number(r.headers["content-length"]))}),e.resume()):t("Unknown stream")};gn.prototype._multiPartHeader=function(e,t,r){if(typeof r.header=="string")return r.header;var n=this._getContentDisposition(t,r),s=this._getContentType(t,r),i="",a={"Content-Disposition":["form-data",'name="'+e+'"'].concat(n||[]),"Content-Type":[].concat(s||[])};typeof r.header=="object"&&Zoe(a,r.header);var o;for(var c in a)if(cA(a,c)){if(o=a[c],o==null)continue;Array.isArray(o)||(o=[o]),o.length&&(i+=c+": "+o.join("; ")+gn.LINE_BREAK)}return"--"+this.getBoundary()+gn.LINE_BREAK+i+gn.LINE_BREAK};gn.prototype._getContentDisposition=function(e,t){var r;if(typeof t.filepath=="string"?r=Xoe.normalize(t.filepath).replace(/\\/g,"/"):t.filename||e&&(e.name||e.path)?r=Xoe.basename(t.filename||e&&(e.name||e.path)):e&&e.readable&&cA(e,"httpVersion")&&(r=Xoe.basename(e.client._httpMessage.path||"")),r)return'filename="'+r+'"'};gn.prototype._getContentType=function(e,t){var r=t.contentType;return!r&&e&&e.name&&(r=Joe.lookup(e.name)),!r&&e&&e.path&&(r=Joe.lookup(e.path)),!r&&e&&e.readable&&cA(e,"httpVersion")&&(r=e.headers["content-type"]),!r&&(t.filepath||t.filename)&&(r=Joe.lookup(t.filepath||t.filename)),!r&&e&&typeof e=="object"&&(r=gn.DEFAULT_CONTENT_TYPE),r};gn.prototype._multiPartFooter=function(){return function(e){var t=gn.LINE_BREAK,r=this._streams.length===0;r&&(t+=this._lastBoundary()),e(t)}.bind(this)};gn.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+gn.LINE_BREAK};gn.prototype.getHeaders=function(e){var t,r={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(t in e)cA(e,t)&&(r[t.toLowerCase()]=e[t]);return r};gn.prototype.setBoundary=function(e){if(typeof e!="string")throw new TypeError("FormData boundary must be a string");this._boundary=e};gn.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary};gn.prototype.getBuffer=function(){for(var e=new Buffer.alloc(0),t=this.getBoundary(),r=0,n=this._streams.length;r{uXe=we(tce(),1),m5=uXe.default});function nce(e){return Te.isPlainObject(e)||Te.isArray(e)}function dXe(e){return Te.endsWith(e,"[]")?e.slice(0,-2):e}function lXe(e,t,r){return e?e.concat(t).map(function(s,i){return s=dXe(s),!r&&i?"["+s+"]":s}).join(r?".":""):t}function ZMr(e){return Te.isArray(e)&&!e.some(nce)}function tkr(e,t,r){if(!Te.isObject(e))throw new TypeError("target must be an object");t=t||new(m5||FormData),r=Te.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,g){return!Te.isUndefined(g[m])});let n=r.metaTokens,s=r.visitor||l,i=r.dots,a=r.indexes,c=(r.Blob||typeof Blob<"u"&&Blob)&&Te.isSpecCompliantForm(t);if(!Te.isFunction(s))throw new TypeError("visitor must be a function");function u(p){if(p===null)return"";if(Te.isDate(p))return p.toISOString();if(!c&&Te.isBlob(p))throw new ft("Blob is not supported. Use a Buffer instead.");return Te.isArrayBuffer(p)||Te.isTypedArray(p)?c&&typeof Blob=="function"?new Blob([p]):Buffer.from(p):p}function l(p,m,g){let _=p;if(p&&!g&&typeof p=="object"){if(Te.endsWith(m,"{}"))m=n?m:m.slice(0,-2),p=JSON.stringify(p);else if(Te.isArray(p)&&ZMr(p)||(Te.isFileList(p)||Te.endsWith(m,"[]"))&&(_=Te.toArray(p)))return m=dXe(m),_.forEach(function(E,A){!(Te.isUndefined(E)||E===null)&&t.append(a===!0?lXe([m],A,i):a===null?m:m+"[]",u(E))}),!1}return nce(p)?!0:(t.append(lXe(g,m,i),u(p)),!1)}let d=[],f=Object.assign(ekr,{defaultVisitor:l,convertValue:u,isVisitable:nce});function h(p,m){if(!Te.isUndefined(p)){if(d.indexOf(p)!==-1)throw Error("Circular reference detected in "+m.join("."));d.push(p),Te.forEach(p,function(_,y){(!(Te.isUndefined(_)||_===null)&&s.call(t,_,Te.isString(y)?y.trim():y,m,f))===!0&&h(_,m?m.concat(y):[y])}),d.pop()}}if(!Te.isObject(e))throw new TypeError("data must be an object");return h(e),t}var ekr,uA,a2=oe(()=>{"use strict";Qs();Nf();rce();ekr=Te.toFlatObject(Te,{},null,function(t){return/^is[A-Z]/.test(t)});uA=tkr});function fXe(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function hXe(e,t){this._pairs=[],e&&uA(e,this,t)}var pXe,mXe,gXe=oe(()=>{"use strict";a2();pXe=hXe.prototype;pXe.append=function(t,r){this._pairs.push([t,r])};pXe.toString=function(t){let r=t?function(n){return t.call(this,n,fXe)}:fXe;return this._pairs.map(function(s){return r(s[0])+"="+r(s[1])},"").join("&")};mXe=hXe});function rkr(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Tv(e,t,r){if(!t)return e;let n=r&&r.encode||rkr,s=r&&r.serialize,i;if(s?i=s(t,r):i=Te.isURLSearchParams(t)?t.toString():new mXe(t,r).toString(n),i){let a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}var g5=oe(()=>{"use strict";Qs();gXe()});var sce,ice,_Xe=oe(()=>{"use strict";Qs();sce=class{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){Te.forEach(this.handlers,function(n){n!==null&&t(n)})}},ice=sce});var xI,_5=oe(()=>{"use strict";xI={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}});var AXe,EXe,yXe=oe(()=>{"use strict";AXe=we(require("url"),1),EXe=AXe.default.URLSearchParams});var vXe,SXe=oe(()=>{yXe();rce();vXe={isNode:!0,classes:{URLSearchParams:EXe,FormData:m5,Blob:typeof Blob<"u"&&Blob||null},protocols:["http","https","file","data"]}});var ace={};Bt(ace,{hasBrowserEnv:()=>TXe,hasStandardBrowserEnv:()=>nkr,hasStandardBrowserWebWorkerEnv:()=>skr});var TXe,nkr,skr,bXe=oe(()=>{TXe=typeof window<"u"&&typeof document<"u",nkr=(e=>TXe&&["ReactNative","NativeScript","NS"].indexOf(e)<0)(typeof navigator<"u"&&navigator.product),skr=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function"});var oa,lA=oe(()=>{SXe();bXe();oa={...ace,...vXe}});function oce(e,t){return uA(e,new oa.classes.URLSearchParams,Object.assign({visitor:function(r,n,s,i){return oa.isNode&&Te.isBuffer(r)?(this.append(n,r.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},t))}var IXe=oe(()=>{"use strict";Qs();a2();lA()});function ikr(e){return Te.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function akr(e){let t={},r=Object.keys(e),n,s=r.length,i;for(n=0;n=r.length;return a=!a&&Te.isArray(s)?s.length:a,c?(Te.hasOwnProp(s,a)?s[a]=[s[a],n]:s[a]=n,!o):((!s[a]||!Te.isObject(s[a]))&&(s[a]=[]),t(r,n,s[a],i)&&Te.isArray(s[a])&&(s[a]=akr(s[a])),!o)}if(Te.isFormData(e)&&Te.isFunction(e.entries)){let r={};return Te.forEachEntry(e,(n,s)=>{t(ikr(n),s,r,0)}),r}return null}var A5,cce=oe(()=>{"use strict";Qs();A5=okr});function ckr(e,t,r){if(Te.isString(e))try{return(t||JSON.parse)(e),Te.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}var uce,wI,E5=oe(()=>{"use strict";Qs();Nf();_5();a2();IXe();lA();cce();uce={transitional:xI,adapter:["xhr","http"],transformRequest:[function(t,r){let n=r.getContentType()||"",s=n.indexOf("application/json")>-1,i=Te.isObject(t);if(i&&Te.isHTMLForm(t)&&(t=new FormData(t)),Te.isFormData(t))return s?JSON.stringify(A5(t)):t;if(Te.isArrayBuffer(t)||Te.isBuffer(t)||Te.isStream(t)||Te.isFile(t)||Te.isBlob(t))return t;if(Te.isArrayBufferView(t))return t.buffer;if(Te.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let o;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return oce(t,this.formSerializer).toString();if((o=Te.isFileList(t))||n.indexOf("multipart/form-data")>-1){let c=this.env&&this.env.FormData;return uA(o?{"files[]":t}:t,c&&new c,this.formSerializer)}}return i||s?(r.setContentType("application/json",!1),ckr(t)):t}],transformResponse:[function(t){let r=this.transitional||uce.transitional,n=r&&r.forcedJSONParsing,s=this.responseType==="json";if(t&&Te.isString(t)&&(n&&!this.responseType||s)){let a=!(r&&r.silentJSONParsing)&&s;try{return JSON.parse(t)}catch(o){if(a)throw o.name==="SyntaxError"?ft.from(o,ft.ERR_BAD_RESPONSE,this,null,this.response):o}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:oa.classes.FormData,Blob:oa.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Te.forEach(["delete","get","head","post","put","patch"],e=>{uce.headers[e]={}});wI=uce});var ukr,RXe,CXe=oe(()=>{"use strict";Qs();ukr=Te.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),RXe=e=>{let t={},r,n,s;return e&&e.split(` +`).forEach(function(a){s=a.indexOf(":"),r=a.substring(0,s).trim().toLowerCase(),n=a.substring(s+1).trim(),!(!r||t[r]&&ukr[r])&&(r==="set-cookie"?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t}});function o2(e){return e&&String(e).trim().toLowerCase()}function y5(e){return e===!1||e==null?e:Te.isArray(e)?e.map(y5):String(e)}function lkr(e){let t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}function lce(e,t,r,n,s){if(Te.isFunction(n))return n.call(this,t,r);if(s&&(t=r),!!Te.isString(t)){if(Te.isString(n))return t.indexOf(n)!==-1;if(Te.isRegExp(n))return n.test(t)}}function fkr(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,n)=>r.toUpperCase()+n)}function hkr(e,t){let r=Te.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(s,i,a){return this[n].call(this,t,s,i,a)},configurable:!0})})}var xXe,dkr,NI,ca,dA=oe(()=>{"use strict";Qs();CXe();xXe=Symbol("internals");dkr=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());NI=class{constructor(t){t&&this.set(t)}set(t,r,n){let s=this;function i(o,c,u){let l=o2(c);if(!l)throw new Error("header name must be a non-empty string");let d=Te.findKey(s,l);(!d||s[d]===void 0||u===!0||u===void 0&&s[d]!==!1)&&(s[d||c]=y5(o))}let a=(o,c)=>Te.forEach(o,(u,l)=>i(u,l,c));return Te.isPlainObject(t)||t instanceof this.constructor?a(t,r):Te.isString(t)&&(t=t.trim())&&!dkr(t)?a(RXe(t),r):t!=null&&i(r,t,n),this}get(t,r){if(t=o2(t),t){let n=Te.findKey(this,t);if(n){let s=this[n];if(!r)return s;if(r===!0)return lkr(s);if(Te.isFunction(r))return r.call(this,s,n);if(Te.isRegExp(r))return r.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=o2(t),t){let n=Te.findKey(this,t);return!!(n&&this[n]!==void 0&&(!r||lce(this,this[n],n,r)))}return!1}delete(t,r){let n=this,s=!1;function i(a){if(a=o2(a),a){let o=Te.findKey(n,a);o&&(!r||lce(n,n[o],o,r))&&(delete n[o],s=!0)}}return Te.isArray(t)?t.forEach(i):i(t),s}clear(t){let r=Object.keys(this),n=r.length,s=!1;for(;n--;){let i=r[n];(!t||lce(this,this[i],i,t,!0))&&(delete this[i],s=!0)}return s}normalize(t){let r=this,n={};return Te.forEach(this,(s,i)=>{let a=Te.findKey(n,i);if(a){r[a]=y5(s),delete r[i];return}let o=t?fkr(i):String(i).trim();o!==i&&delete r[i],r[o]=y5(s),n[o]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let r=Object.create(null);return Te.forEach(this,(n,s)=>{n!=null&&n!==!1&&(r[s]=t&&Te.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){let n=new this(t);return r.forEach(s=>n.set(s)),n}static accessor(t){let n=(this[xXe]=this[xXe]={accessors:{}}).accessors,s=this.prototype;function i(a){let o=o2(a);n[o]||(hkr(s,a),n[o]=!0)}return Te.isArray(t)?t.forEach(i):i(t),this}};NI.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);Te.reduceDescriptors(NI.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(n){this[r]=n}}});Te.freezeMethods(NI);ca=NI});function c2(e,t){let r=this||wI,n=t||r,s=ca.from(n.headers),i=n.data;return Te.forEach(e,function(o){i=o.call(r,i,s.normalize(),t?t.status:void 0)}),s.normalize(),i}var wXe=oe(()=>{"use strict";Qs();E5();dA()});function u2(e){return!!(e&&e.__CANCEL__)}var dce=oe(()=>{"use strict"});function NXe(e,t,r){ft.call(this,e??"canceled",ft.ERR_CANCELED,t,r),this.name="CanceledError"}var Df,OI=oe(()=>{"use strict";Nf();Qs();Te.inherits(NXe,ft,{__CANCEL__:!0});Df=NXe});function fA(e,t,r){let n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new ft("Request failed with status code "+r.status,[ft.ERR_BAD_REQUEST,ft.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}var fce=oe(()=>{"use strict";Nf()});function hce(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}var OXe=oe(()=>{"use strict"});function pce(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}var DXe=oe(()=>{"use strict"});function bv(e,t){return e&&!hce(t)?pce(e,t):t}var v5=oe(()=>{"use strict";OXe();DXe()});var LXe=S(PXe=>{"use strict";var pkr=require("url").parse,mkr={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443},gkr=String.prototype.endsWith||function(e){return e.length<=this.length&&this.indexOf(e,this.length-e.length)!==-1};function _kr(e){var t=typeof e=="string"?pkr(e):e||{},r=t.protocol,n=t.host,s=t.port;if(typeof n!="string"||!n||typeof r!="string"||(r=r.split(":",1)[0],n=n.replace(/:\d*$/,""),s=parseInt(s)||mkr[r]||0,!Akr(n,s)))return"";var i=DI("npm_config_"+r+"_proxy")||DI(r+"_proxy")||DI("npm_config_proxy")||DI("all_proxy");return i&&i.indexOf("://")===-1&&(i=r+"://"+i),i}function Akr(e,t){var r=(DI("npm_config_no_proxy")||DI("no_proxy")).toLowerCase();return r?r==="*"?!1:r.split(/[,\s]/).every(function(n){if(!n)return!0;var s=n.match(/^(.+):(\d+)$/),i=s?s[1]:n,a=s?parseInt(s[2]):0;return a&&a!==t?!0:/^[.*]/.test(i)?(i.charAt(0)==="*"&&(i=i.slice(1)),!gkr.call(e,i)):e!==i}):!0}function DI(e){return process.env[e.toLowerCase()]||process.env[e.toUpperCase()]||""}PXe.getProxyForUrl=_kr});var kXe=S((iVn,MXe)=>{var PI=1e3,LI=PI*60,MI=LI*60,Iv=MI*24,Ekr=Iv*7,ykr=Iv*365.25;MXe.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return vkr(e);if(r==="number"&&isFinite(e))return t.long?Tkr(e):Skr(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function vkr(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*ykr;case"weeks":case"week":case"w":return r*Ekr;case"days":case"day":case"d":return r*Iv;case"hours":case"hour":case"hrs":case"hr":case"h":return r*MI;case"minutes":case"minute":case"mins":case"min":case"m":return r*LI;case"seconds":case"second":case"secs":case"sec":case"s":return r*PI;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function Skr(e){var t=Math.abs(e);return t>=Iv?Math.round(e/Iv)+"d":t>=MI?Math.round(e/MI)+"h":t>=LI?Math.round(e/LI)+"m":t>=PI?Math.round(e/PI)+"s":e+"ms"}function Tkr(e){var t=Math.abs(e);return t>=Iv?S5(e,t,Iv,"day"):t>=MI?S5(e,t,MI,"hour"):t>=LI?S5(e,t,LI,"minute"):t>=PI?S5(e,t,PI,"second"):e+" ms"}function S5(e,t,r,n){var s=t>=r*1.5;return Math.round(e/r)+" "+n+(s?"s":"")}});var mce=S((aVn,BXe)=>{function bkr(e){r.debug=r,r.default=r,r.coerce=c,r.disable=a,r.enable=s,r.enabled=o,r.humanize=kXe(),r.destroy=u,Object.keys(e).forEach(l=>{r[l]=e[l]}),r.names=[],r.skips=[],r.formatters={};function t(l){let d=0;for(let f=0;f{if(T==="%%")return"%";A++;let b=r.formatters[C];if(typeof b=="function"){let x=g[A];T=b.call(_,x),g.splice(A,1),A--}return T}),r.formatArgs.call(_,g),(_.log||r.log).apply(_,g)}return m.namespace=l,m.useColors=r.useColors(),m.color=r.selectColor(l),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(h!==r.namespaces&&(h=r.namespaces,p=r.enabled(l)),p),set:g=>{f=g}}),typeof r.init=="function"&&r.init(m),m}function n(l,d){let f=r(this.namespace+(typeof d>"u"?":":d)+l);return f.log=this.log,f}function s(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let d=(typeof l=="string"?l:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let f of d)f[0]==="-"?r.skips.push(f.slice(1)):r.names.push(f)}function i(l,d){let f=0,h=0,p=-1,m=0;for(;f"-"+d)].join(",");return r.enable(""),l}function o(l){for(let d of r.skips)if(i(l,d))return!1;for(let d of r.names)if(i(l,d))return!0;return!1}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}BXe.exports=bkr});var UXe=S((Iu,T5)=>{Iu.formatArgs=Rkr;Iu.save=Ckr;Iu.load=xkr;Iu.useColors=Ikr;Iu.storage=wkr();Iu.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Iu.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Ikr(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Rkr(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+T5.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,s=>{s!=="%%"&&(r++,s==="%c"&&(n=r))}),e.splice(n,0,t)}Iu.log=console.debug||console.log||(()=>{});function Ckr(e){try{e?Iu.storage.setItem("debug",e):Iu.storage.removeItem("debug")}catch{}}function xkr(){let e;try{e=Iu.storage.getItem("debug")||Iu.storage.getItem("DEBUG")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function wkr(){try{return localStorage}catch{}}T5.exports=mce()(Iu);var{formatters:Nkr}=T5.exports;Nkr.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var $Xe=S((oVn,FXe)=>{"use strict";FXe.exports=(e,t=process.argv)=>{let r=e.startsWith("-")?"":e.length===1?"-":"--",n=t.indexOf(r+e),s=t.indexOf("--");return n!==-1&&(s===-1||n{"use strict";var Okr=require("os"),qXe=require("tty"),Ed=$Xe(),{env:Ia}=process,hA;Ed("no-color")||Ed("no-colors")||Ed("color=false")||Ed("color=never")?hA=0:(Ed("color")||Ed("colors")||Ed("color=true")||Ed("color=always"))&&(hA=1);"FORCE_COLOR"in Ia&&(Ia.FORCE_COLOR==="true"?hA=1:Ia.FORCE_COLOR==="false"?hA=0:hA=Ia.FORCE_COLOR.length===0?1:Math.min(parseInt(Ia.FORCE_COLOR,10),3));function gce(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function _ce(e,t){if(hA===0)return 0;if(Ed("color=16m")||Ed("color=full")||Ed("color=truecolor"))return 3;if(Ed("color=256"))return 2;if(e&&!t&&hA===void 0)return 0;let r=hA||0;if(Ia.TERM==="dumb")return r;if(process.platform==="win32"){let n=Okr.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in Ia)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in Ia)||Ia.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in Ia)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ia.TEAMCITY_VERSION)?1:0;if(Ia.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ia){let n=parseInt((Ia.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ia.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ia.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ia.TERM)||"COLORTERM"in Ia?1:r}function Dkr(e){let t=_ce(e,e&&e.isTTY);return gce(t)}HXe.exports={supportsColor:Dkr,stdout:gce(_ce(!0,qXe.isatty(1))),stderr:gce(_ce(!0,qXe.isatty(2)))}});var jXe=S((Ra,I5)=>{var Pkr=require("tty"),b5=require("util");Ra.init=$kr;Ra.log=Bkr;Ra.formatArgs=Mkr;Ra.save=Ukr;Ra.load=Fkr;Ra.useColors=Lkr;Ra.destroy=b5.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ra.colors=[6,2,3,4,5,1];try{let e=Ace();e&&(e.stderr||e).level>=2&&(Ra.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Ra.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{let r=t.substring(6).toLowerCase().replace(/_([a-z])/g,(s,i)=>i.toUpperCase()),n=process.env[t];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),e[r]=n,e},{});function Lkr(){return"colors"in Ra.inspectOpts?!!Ra.inspectOpts.colors:Pkr.isatty(process.stderr.fd)}function Mkr(e){let{namespace:t,useColors:r}=this;if(r){let n=this.color,s="\x1B[3"+(n<8?n:"8;5;"+n),i=` ${s};1m${t} \x1B[0m`;e[0]=i+e[0].split(` +`).join(` +`+i),e.push(s+"m+"+I5.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=kkr()+t+" "+e[0]}function kkr(){return Ra.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Bkr(...e){return process.stderr.write(b5.formatWithOptions(Ra.inspectOpts,...e)+` +`)}function Ukr(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function Fkr(){return process.env.DEBUG}function $kr(e){e.inspectOpts={};let t=Object.keys(Ra.inspectOpts);for(let r=0;rt.trim()).join(" ")};VXe.O=function(e){return this.inspectOpts.colors=this.useColors,b5.inspect(e,this.inspectOpts)}});var KXe=S((uVn,Ece)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Ece.exports=UXe():Ece.exports=jXe()});var YXe=S((lVn,GXe)=>{var l2;GXe.exports=function(){if(!l2){try{l2=KXe()("follow-redirects")}catch{}typeof l2!="function"&&(l2=function(){})}l2.apply(null,arguments)}});var JXe=S((dVn,Oce)=>{var f2=require("url"),d2=f2.URL,qkr=require("http"),Hkr=require("https"),bce=require("stream").Writable,Ice=require("assert"),QXe=YXe();(function(){var t=typeof process<"u",r=typeof window<"u"&&typeof document<"u",n=Cv(Error.captureStackTrace);!t&&(r||!n)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var Rce=!1;try{Ice(new d2(""))}catch(e){Rce=e.code==="ERR_INVALID_URL"}var Vkr=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],Cce=["abort","aborted","connect","error","socket","timeout"],xce=Object.create(null);Cce.forEach(function(e){xce[e]=function(t,r,n){this._redirectable.emit(e,t,r,n)}});var vce=h2("ERR_INVALID_URL","Invalid URL",TypeError),Sce=h2("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),jkr=h2("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",Sce),Kkr=h2("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),Gkr=h2("ERR_STREAM_WRITE_AFTER_END","write after end"),Ykr=bce.prototype.destroy||WXe;function Ru(e,t){bce.call(this),this._sanitizeOptions(e),this._options=e,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],t&&this.on("response",t);var r=this;this._onNativeResponse=function(n){try{r._processResponse(n)}catch(s){r.emit("error",s instanceof Sce?s:new Sce({cause:s}))}},this._performRequest()}Ru.prototype=Object.create(bce.prototype);Ru.prototype.abort=function(){Nce(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};Ru.prototype.destroy=function(e){return Nce(this._currentRequest,e),Ykr.call(this,e),this};Ru.prototype.write=function(e,t,r){if(this._ending)throw new Gkr;if(!Rv(e)&&!Wkr(e))throw new TypeError("data should be a string, Buffer or Uint8Array");if(Cv(t)&&(r=t,t=null),e.length===0){r&&r();return}this._requestBodyLength+e.length<=this._options.maxBodyLength?(this._requestBodyLength+=e.length,this._requestBodyBuffers.push({data:e,encoding:t}),this._currentRequest.write(e,t,r)):(this.emit("error",new Kkr),this.abort())};Ru.prototype.end=function(e,t,r){if(Cv(e)?(r=e,e=t=null):Cv(t)&&(r=t,t=null),!e)this._ended=this._ending=!0,this._currentRequest.end(null,null,r);else{var n=this,s=this._currentRequest;this.write(e,t,function(){n._ended=!0,s.end(null,null,r)}),this._ending=!0}};Ru.prototype.setHeader=function(e,t){this._options.headers[e]=t,this._currentRequest.setHeader(e,t)};Ru.prototype.removeHeader=function(e){delete this._options.headers[e],this._currentRequest.removeHeader(e)};Ru.prototype.setTimeout=function(e,t){var r=this;function n(a){a.setTimeout(e),a.removeListener("timeout",a.destroy),a.addListener("timeout",a.destroy)}function s(a){r._timeout&&clearTimeout(r._timeout),r._timeout=setTimeout(function(){r.emit("timeout"),i()},e),n(a)}function i(){r._timeout&&(clearTimeout(r._timeout),r._timeout=null),r.removeListener("abort",i),r.removeListener("error",i),r.removeListener("response",i),r.removeListener("close",i),t&&r.removeListener("timeout",t),r.socket||r._currentRequest.removeListener("socket",s)}return t&&this.on("timeout",t),this.socket?s(this.socket):this._currentRequest.once("socket",s),this.on("socket",n),this.on("abort",i),this.on("error",i),this.on("response",i),this.on("close",i),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(e){Ru.prototype[e]=function(t,r){return this._currentRequest[e](t,r)}});["aborted","connection","socket"].forEach(function(e){Object.defineProperty(Ru.prototype,e,{get:function(){return this._currentRequest[e]}})});Ru.prototype._sanitizeOptions=function(e){if(e.headers||(e.headers={}),e.host&&(e.hostname||(e.hostname=e.host),delete e.host),!e.pathname&&e.path){var t=e.path.indexOf("?");t<0?e.pathname=e.path:(e.pathname=e.path.substring(0,t),e.search=e.path.substring(t))}};Ru.prototype._performRequest=function(){var e=this._options.protocol,t=this._options.nativeProtocols[e];if(!t)throw new TypeError("Unsupported protocol "+e);if(this._options.agents){var r=e.slice(0,-1);this._options.agent=this._options.agents[r]}var n=this._currentRequest=t.request(this._options,this._onNativeResponse);n._redirectable=this;for(var s of Cce)n.on(s,xce[s]);if(this._currentUrl=/^\//.test(this._options.path)?f2.format(this._options):this._options.path,this._isRedirect){var i=0,a=this,o=this._requestBodyBuffers;(function c(u){if(n===a._currentRequest)if(u)a.emit("error",u);else if(i=400){e.responseUrl=this._currentUrl,e.redirects=this._redirects,this.emit("response",e),this._requestBodyBuffers=[];return}if(Nce(this._currentRequest),e.destroy(),++this._redirectCount>this._options.maxRedirects)throw new jkr;var n,s=this._options.beforeRedirect;s&&(n=Object.assign({Host:e.req.getHeader("host")},this._options.headers));var i=this._options.method;((t===301||t===302)&&this._options.method==="POST"||t===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],yce(/^content-/i,this._options.headers));var a=yce(/^host$/i,this._options.headers),o=wce(this._currentUrl),c=a||o.host,u=/^\w+:/.test(r)?this._currentUrl:f2.format(Object.assign(o,{host:c})),l=Qkr(r,u);if(QXe("redirecting to",l.href),this._isRedirect=!0,Tce(l,this._options),(l.protocol!==o.protocol&&l.protocol!=="https:"||l.host!==c&&!zkr(l.host,c))&&yce(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),Cv(s)){var d={headers:e.headers,statusCode:t},f={url:u,method:i,headers:n};s(this._options,d,f),this._sanitizeOptions(this._options)}this._performRequest()};function zXe(e){var t={maxRedirects:21,maxBodyLength:10485760},r={};return Object.keys(e).forEach(function(n){var s=n+":",i=r[s]=e[n],a=t[n]=Object.create(i);function o(u,l,d){return Xkr(u)?u=Tce(u):Rv(u)?u=Tce(wce(u)):(d=l,l=XXe(u),u={protocol:s}),Cv(l)&&(d=l,l=null),l=Object.assign({maxRedirects:t.maxRedirects,maxBodyLength:t.maxBodyLength},u,l),l.nativeProtocols=r,!Rv(l.host)&&!Rv(l.hostname)&&(l.hostname="::1"),Ice.equal(l.protocol,s,"protocol mismatch"),QXe("options",l),new Ru(l,d)}function c(u,l,d){var f=a.request(u,l,d);return f.end(),f}Object.defineProperties(a,{request:{value:o,configurable:!0,enumerable:!0,writable:!0},get:{value:c,configurable:!0,enumerable:!0,writable:!0}})}),t}function WXe(){}function wce(e){var t;if(Rce)t=new d2(e);else if(t=XXe(f2.parse(e)),!Rv(t.protocol))throw new vce({input:e});return t}function Qkr(e,t){return Rce?new d2(e,t):wce(f2.resolve(t,e))}function XXe(e){if(/^\[/.test(e.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(e.hostname))throw new vce({input:e.href||e});if(/^\[/.test(e.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(e.host))throw new vce({input:e.href||e});return e}function Tce(e,t){var r=t||{};for(var n of Vkr)r[n]=e[n];return r.hostname.startsWith("[")&&(r.hostname=r.hostname.slice(1,-1)),r.port!==""&&(r.port=Number(r.port)),r.path=r.search?r.pathname+r.search:r.pathname,r}function yce(e,t){var r;for(var n in t)e.test(n)&&(r=t[n],delete t[n]);return r===null||typeof r>"u"?void 0:String(r).trim()}function h2(e,t,r){function n(s){Cv(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,s||{}),this.code=e,this.message=this.cause?t+": "+this.cause.message:t}return n.prototype=new(r||Error),Object.defineProperties(n.prototype,{constructor:{value:n,enumerable:!1},name:{value:"Error ["+e+"]",enumerable:!1}}),n}function Nce(e,t){for(var r of Cce)e.removeListener(r,xce[r]);e.on("error",WXe),e.destroy(t)}function zkr(e,t){Ice(Rv(e)&&Rv(t));var r=e.length-t.length-1;return r>0&&e[r]==="."&&e.endsWith(t)}function Rv(e){return typeof e=="string"||e instanceof String}function Cv(e){return typeof e=="function"}function Wkr(e){return typeof e=="object"&&"length"in e}function Xkr(e){return d2&&e instanceof d2}Oce.exports=zXe({http:qkr,https:Hkr});Oce.exports.wrap=zXe});var xv,R5=oe(()=>{xv="1.6.7"});function p2(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}var Dce=oe(()=>{"use strict"});function Pce(e,t,r){let n=r&&r.Blob||oa.classes.Blob,s=p2(e);if(t===void 0&&n&&(t=!0),s==="data"){e=s.length?e.slice(s.length+1):e;let i=Jkr.exec(e);if(!i)throw new ft("Invalid URL",ft.ERR_INVALID_URL);let a=i[1],o=i[2],c=i[3],u=Buffer.from(decodeURIComponent(c),o?"base64":"utf8");if(t){if(!n)throw new ft("Blob is not supported",ft.ERR_NOT_SUPPORT);return new n([u],{type:a})}return u}throw new ft("Unsupported protocol "+s,ft.ERR_NOT_SUPPORT)}var Jkr,ZXe=oe(()=>{"use strict";Nf();Dce();lA();Jkr=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/});function Zkr(e,t){let r=0,n=1e3/t,s=null;return function(a,o){let c=Date.now();if(a||c-r>n)return s&&(clearTimeout(s),s=null),r=c,e.apply(null,o);s||(s=setTimeout(()=>(s=null,r=Date.now(),e.apply(null,o)),n-(c-r)))}}var eJe,tJe=oe(()=>{"use strict";eJe=Zkr});function e4r(e,t){e=e||10;let r=new Array(e),n=new Array(e),s=0,i=0,a;return t=t!==void 0?t:1e3,function(c){let u=Date.now(),l=n[i];a||(a=u),r[s]=c,n[s]=u;let d=i,f=0;for(;d!==s;)f+=r[d++],d=d%e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),u-a{"use strict";C5=e4r});var rJe,x5,Mce,kce,nJe=oe(()=>{"use strict";rJe=we(require("stream"),1);Qs();tJe();Lce();x5=Symbol("internals"),Mce=class extends rJe.default.Transform{constructor(t){t=Te.toFlatObject(t,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(o,c)=>!Te.isUndefined(c[o])),super({readableHighWaterMark:t.chunkSize});let r=this,n=this[x5]={length:t.length,timeWindow:t.timeWindow,ticksRate:t.ticksRate,chunkSize:t.chunkSize,maxRate:t.maxRate,minChunkSize:t.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null},s=C5(n.ticksRate*t.samplesCount,n.timeWindow);this.on("newListener",o=>{o==="progress"&&(n.isCaptured||(n.isCaptured=!0))});let i=0;n.updateProgress=eJe(function(){let c=n.length,u=n.bytesSeen,l=u-i;if(!l||r.destroyed)return;let d=s(l);i=u,process.nextTick(()=>{r.emit("progress",{loaded:u,total:c,progress:c?u/c:void 0,bytes:l,rate:d||void 0,estimated:d&&c&&u<=c?(c-u)/d:void 0})})},n.ticksRate);let a=()=>{n.updateProgress(!0)};this.once("end",a),this.once("error",a)}_read(t){let r=this[x5];return r.onReadCallback&&r.onReadCallback(),super._read(t)}_transform(t,r,n){let s=this,i=this[x5],a=i.maxRate,o=this.readableHighWaterMark,c=i.timeWindow,u=1e3/c,l=a/u,d=i.minChunkSize!==!1?Math.max(i.minChunkSize,l*.01):0;function f(p,m){let g=Buffer.byteLength(p);i.bytesSeen+=g,i.bytes+=g,i.isCaptured&&i.updateProgress(),s.push(p)?process.nextTick(m):i.onReadCallback=()=>{i.onReadCallback=null,process.nextTick(m)}}let h=(p,m)=>{let g=Buffer.byteLength(p),_=null,y=o,E,A=0;if(a){let v=Date.now();(!i.ts||(A=v-i.ts)>=c)&&(i.ts=v,E=l-i.bytes,i.bytes=E<0?-E:0,A=0),E=l-i.bytes}if(a){if(E<=0)return setTimeout(()=>{m(null,p)},c-A);Ey&&g-y>d&&(_=p.subarray(y),p=p.subarray(0,y)),f(p,_?()=>{process.nextTick(m,null,_)}:m)};h(t,function p(m,g){if(m)return n(m);g?h(g,p):n(null)})}setLength(t){return this[x5].length=+t,this}},kce=Mce});var sJe,t4r,w5,Bce=oe(()=>{({asyncIterator:sJe}=Symbol),t4r=async function*(e){e.stream?yield*e.stream():e.arrayBuffer?yield await e.arrayBuffer():e[sJe]?yield*e[sJe]():yield e},w5=t4r});var iJe,aJe,r4r,m2,pA,n4r,s4r,Uce,i4r,oJe,cJe=oe(()=>{iJe=require("util"),aJe=require("stream");Qs();Bce();r4r=Te.ALPHABET.ALPHA_DIGIT+"-_",m2=new iJe.TextEncoder,pA=`\r +`,n4r=m2.encode(pA),s4r=2,Uce=class{constructor(t,r){let{escapeName:n}=this.constructor,s=Te.isString(r),i=`Content-Disposition: form-data; name="${n(t)}"${!s&&r.name?`; filename="${n(r.name)}"`:""}${pA}`;s?r=m2.encode(String(r).replace(/\r?\n|\r\n?/g,pA)):i+=`Content-Type: ${r.type||"application/octet-stream"}${pA}`,this.headers=m2.encode(i+pA),this.contentLength=s?r.byteLength:r.size,this.size=this.headers.byteLength+this.contentLength+s4r,this.name=t,this.value=r}async*encode(){yield this.headers;let{value:t}=this;Te.isTypedArray(t)?yield t:yield*w5(t),yield n4r}static escapeName(t){return String(t).replace(/[\r\n"]/g,r=>({"\r":"%0D","\n":"%0A",'"':"%22"})[r])}},i4r=(e,t,r)=>{let{tag:n="form-data-boundary",size:s=25,boundary:i=n+"-"+Te.generateString(s,r4r)}=r||{};if(!Te.isFormData(e))throw TypeError("FormData instance required");if(i.length<1||i.length>70)throw Error("boundary must be 10-70 characters long");let a=m2.encode("--"+i+pA),o=m2.encode("--"+i+"--"+pA+pA),c=o.byteLength,u=Array.from(e.entries()).map(([d,f])=>{let h=new Uce(d,f);return c+=h.size,h});c+=a.byteLength*u.length,c=Te.toFiniteNumber(c);let l={"Content-Type":`multipart/form-data; boundary=${i}`};return Number.isFinite(c)&&(l["Content-Length"]=c),t&&t(l),aJe.Readable.from(async function*(){for(let d of u)yield a,yield*d.encode();yield o}())},oJe=i4r});var uJe,Fce,lJe,dJe=oe(()=>{"use strict";uJe=we(require("stream"),1),Fce=class extends uJe.default.Transform{__transform(t,r,n){this.push(t),n()}_transform(t,r,n){if(t.length!==0&&(this._transform=this.__transform,t[0]!==120)){let s=Buffer.alloc(2);s[0]=120,s[1]=156,this.push(s,r)}this.__transform(t,r,n)}},lJe=Fce});var a4r,fJe,hJe=oe(()=>{Qs();a4r=(e,t)=>Te.isAsyncFn(e)?function(...r){let n=r.pop();e.apply(this,r).then(s=>{try{t?n(null,...t(s)):n(null,s)}catch(i){n(i)}},n)}:e,fJe=a4r});function d4r(e,t){e.beforeRedirects.proxy&&e.beforeRedirects.proxy(e),e.beforeRedirects.config&&e.beforeRedirects.config(e,t)}function bJe(e,t,r){let n=t;if(!n&&n!==!1){let s=(0,AJe.getProxyForUrl)(r);s&&(n=new URL(s))}if(n){if(n.username&&(n.auth=(n.username||"")+":"+(n.password||"")),n.auth){(n.auth.username||n.auth.password)&&(n.auth=(n.auth.username||"")+":"+(n.auth.password||""));let i=Buffer.from(n.auth,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+i}e.headers.host=e.hostname+(e.port?":"+e.port:"");let s=n.hostname||n.host;e.hostname=s,e.host=s,e.port=n.port,e.path=r,n.protocol&&(e.protocol=n.protocol.includes(":")?n.protocol:`${n.protocol}:`)}e.beforeRedirects.proxy=function(i){bJe(i,t,i.href)}}var AJe,EJe,yJe,vJe,SJe,lm,wv,TJe,pJe,o4r,mJe,c4r,u4r,l4r,gJe,f4r,h4r,p4r,_Je,IJe,RJe=oe(()=>{"use strict";Qs();fce();v5();g5();AJe=we(LXe(),1),EJe=we(require("http"),1),yJe=we(require("https"),1),vJe=we(require("util"),1),SJe=we(JXe(),1),lm=we(require("zlib"),1);R5();_5();Nf();OI();lA();ZXe();wv=we(require("stream"),1);dA();nJe();TJe=we(require("events"),1);cJe();Bce();dJe();hJe();pJe={flush:lm.default.constants.Z_SYNC_FLUSH,finishFlush:lm.default.constants.Z_SYNC_FLUSH},o4r={flush:lm.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:lm.default.constants.BROTLI_OPERATION_FLUSH},mJe=Te.isFunction(lm.default.createBrotliDecompress),{http:c4r,https:u4r}=SJe.default,l4r=/https:?/,gJe=oa.protocols.map(e=>e+":");f4r=typeof process<"u"&&Te.kindOf(process)==="process",h4r=e=>new Promise((t,r)=>{let n,s,i=(c,u)=>{s||(s=!0,n&&n(c,u))},a=c=>{i(c),t(c)},o=c=>{i(c,!0),r(c)};e(a,o,c=>n=c).catch(o)}),p4r=({address:e,family:t})=>{if(!Te.isString(e))throw TypeError("address must be a string");return{address:e,family:t||(e.indexOf(".")<0?6:4)}},_Je=(e,t)=>p4r(Te.isObject(e)?e:{address:e,family:t}),IJe=f4r&&function(t){return h4r(async function(n,s,i){let{data:a,lookup:o,family:c}=t,{responseType:u,responseEncoding:l}=t,d=t.method.toUpperCase(),f,h=!1,p;if(o){let V=fJe(o,W=>Te.isArray(W)?W:[W]);o=(W,G,se)=>{V(W,G,(ue,te,Q)=>{if(ue)return se(ue);let ee=Te.isArray(te)?te.map(de=>_Je(de)):[_Je(te,Q)];G.all?se(ue,ee):se(ue,ee[0].address,ee[0].family)})}}let m=new TJe.default,g=()=>{t.cancelToken&&t.cancelToken.unsubscribe(_),t.signal&&t.signal.removeEventListener("abort",_),m.removeAllListeners()};i((V,W)=>{f=!0,W&&(h=!0,g())});function _(V){m.emit("abort",!V||V.type?new Df(null,t,p):V)}m.once("abort",s),(t.cancelToken||t.signal)&&(t.cancelToken&&t.cancelToken.subscribe(_),t.signal&&(t.signal.aborted?_():t.signal.addEventListener("abort",_)));let y=bv(t.baseURL,t.url),E=new URL(y,"http://localhost"),A=E.protocol||gJe[0];if(A==="data:"){let V;if(d!=="GET")return fA(n,s,{status:405,statusText:"method not allowed",headers:{},config:t});try{V=Pce(t.url,u==="blob",{Blob:t.env&&t.env.Blob})}catch(W){throw ft.from(W,ft.ERR_BAD_REQUEST,t)}return u==="text"?(V=V.toString(l),(!l||l==="utf8")&&(V=Te.stripBOM(V))):u==="stream"&&(V=wv.default.Readable.from(V)),fA(n,s,{data:V,status:200,statusText:"OK",headers:new ca,config:t})}if(gJe.indexOf(A)===-1)return s(new ft("Unsupported protocol "+A,ft.ERR_BAD_REQUEST,t));let v=ca.from(t.headers).normalize();v.set("User-Agent","axios/"+xv,!1);let T=t.onDownloadProgress,C=t.onUploadProgress,b=t.maxRate,x,w;if(Te.isSpecCompliantForm(a)){let V=v.getContentType(/boundary=([-_\w\d]{10,70})/i);a=oJe(a,W=>{v.set(W)},{tag:`axios-${xv}-boundary`,boundary:V&&V[1]||void 0})}else if(Te.isFormData(a)&&Te.isFunction(a.getHeaders)){if(v.set(a.getHeaders()),!v.hasContentLength())try{let V=await vJe.default.promisify(a.getLength).call(a);Number.isFinite(V)&&V>=0&&v.setContentLength(V)}catch{}}else if(Te.isBlob(a))a.size&&v.setContentType(a.type||"application/octet-stream"),v.setContentLength(a.size||0),a=wv.default.Readable.from(w5(a));else if(a&&!Te.isStream(a)){if(!Buffer.isBuffer(a))if(Te.isArrayBuffer(a))a=Buffer.from(new Uint8Array(a));else if(Te.isString(a))a=Buffer.from(a,"utf-8");else return s(new ft("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",ft.ERR_BAD_REQUEST,t));if(v.setContentLength(a.length,!1),t.maxBodyLength>-1&&a.length>t.maxBodyLength)return s(new ft("Request body larger than maxBodyLength limit",ft.ERR_BAD_REQUEST,t))}let P=Te.toFiniteNumber(v.getContentLength());Te.isArray(b)?(x=b[0],w=b[1]):x=w=b,a&&(C||x)&&(Te.isStream(a)||(a=wv.default.Readable.from(a,{objectMode:!1})),a=wv.default.pipeline([a,new kce({length:P,maxRate:Te.toFiniteNumber(x)})],Te.noop),C&&a.on("progress",V=>{C(Object.assign(V,{upload:!0}))}));let M;if(t.auth){let V=t.auth.username||"",W=t.auth.password||"";M=V+":"+W}if(!M&&E.username){let V=E.username,W=E.password;M=V+":"+W}M&&v.delete("authorization");let L;try{L=Tv(E.pathname+E.search,t.params,t.paramsSerializer).replace(/^\?/,"")}catch(V){let W=new Error(V.message);return W.config=t,W.url=t.url,W.exists=!0,s(W)}v.set("Accept-Encoding","gzip, compress, deflate"+(mJe?", br":""),!1);let U={path:L,method:d,headers:v.toJSON(),agents:{http:t.httpAgent,https:t.httpsAgent},auth:M,protocol:A,family:c,beforeRedirect:d4r,beforeRedirects:{}};!Te.isUndefined(o)&&(U.lookup=o),t.socketPath?U.socketPath=t.socketPath:(U.hostname=E.hostname,U.port=E.port,bJe(U,t.proxy,A+"//"+E.hostname+(E.port?":"+E.port:"")+U.path));let Y,$=l4r.test(U.protocol);if(U.agent=$?t.httpsAgent:t.httpAgent,t.transport?Y=t.transport:t.maxRedirects===0?Y=$?yJe.default:EJe.default:(t.maxRedirects&&(U.maxRedirects=t.maxRedirects),t.beforeRedirect&&(U.beforeRedirects.config=t.beforeRedirect),Y=$?u4r:c4r),t.maxBodyLength>-1?U.maxBodyLength=t.maxBodyLength:U.maxBodyLength=1/0,t.insecureHTTPParser&&(U.insecureHTTPParser=t.insecureHTTPParser),p=Y.request(U,function(W){if(p.destroyed)return;let G=[W],se=+W.headers["content-length"];if(T){let de=new kce({length:Te.toFiniteNumber(se),maxRate:Te.toFiniteNumber(w)});T&&de.on("progress",B=>{T(Object.assign(B,{download:!0}))}),G.push(de)}let ue=W,te=W.req||p;if(t.decompress!==!1&&W.headers["content-encoding"])switch((d==="HEAD"||W.statusCode===204)&&delete W.headers["content-encoding"],(W.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":G.push(lm.default.createUnzip(pJe)),delete W.headers["content-encoding"];break;case"deflate":G.push(new lJe),G.push(lm.default.createUnzip(pJe)),delete W.headers["content-encoding"];break;case"br":mJe&&(G.push(lm.default.createBrotliDecompress(o4r)),delete W.headers["content-encoding"])}ue=G.length>1?wv.default.pipeline(G,Te.noop):G[0];let Q=wv.default.finished(ue,()=>{Q(),g()}),ee={status:W.statusCode,statusText:W.statusMessage,headers:new ca(W.headers),config:t,request:te};if(u==="stream")ee.data=ue,fA(n,s,ee);else{let de=[],B=0;ue.on("data",function(J){de.push(J),B+=J.length,t.maxContentLength>-1&&B>t.maxContentLength&&(h=!0,ue.destroy(),s(new ft("maxContentLength size of "+t.maxContentLength+" exceeded",ft.ERR_BAD_RESPONSE,t,te)))}),ue.on("aborted",function(){if(h)return;let J=new ft("maxContentLength size of "+t.maxContentLength+" exceeded",ft.ERR_BAD_RESPONSE,t,te);ue.destroy(J),s(J)}),ue.on("error",function(J){p.destroyed||s(ft.from(J,null,t,te))}),ue.on("end",function(){try{let J=de.length===1?de[0]:Buffer.concat(de);u!=="arraybuffer"&&(J=J.toString(l),(!l||l==="utf8")&&(J=Te.stripBOM(J))),ee.data=J}catch(J){return s(ft.from(J,null,t,ee.request,ee))}fA(n,s,ee)})}m.once("abort",de=>{ue.destroyed||(ue.emit("error",de),ue.destroy())})}),m.once("abort",V=>{s(V),p.destroy(V)}),p.on("error",function(W){s(ft.from(W,null,t,p))}),p.on("socket",function(W){W.setKeepAlive(!0,1e3*60)}),t.timeout){let V=parseInt(t.timeout,10);if(Number.isNaN(V)){s(new ft("error trying to parse `config.timeout` to int",ft.ERR_BAD_OPTION_VALUE,t,p));return}p.setTimeout(V,function(){if(f)return;let G=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",se=t.transitional||xI;t.timeoutErrorMessage&&(G=t.timeoutErrorMessage),s(new ft(G,se.clarifyTimeoutError?ft.ETIMEDOUT:ft.ECONNABORTED,t,p)),_()})}if(Te.isStream(a)){let V=!1,W=!1;a.on("end",()=>{V=!0}),a.once("error",G=>{W=!0,p.destroy(G)}),a.on("close",()=>{!V&&!W&&_(new Df("Request stream has been aborted",t,p))}),a.pipe(p)}else p.end(a)})}});var CJe,xJe=oe(()=>{Qs();lA();CJe=oa.hasStandardBrowserEnv?{write(e,t,r,n,s,i){let a=[e+"="+encodeURIComponent(t)];Te.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),Te.isString(n)&&a.push("path="+n),Te.isString(s)&&a.push("domain="+s),i===!0&&a.push("secure"),document.cookie=a.join("; ")},read(e){let t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}}});var wJe,NJe=oe(()=>{"use strict";Qs();lA();wJe=oa.hasStandardBrowserEnv?function(){let t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),n;function s(i){let a=i;return t&&(r.setAttribute("href",a),a=r.href),r.setAttribute("href",a),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return n=s(window.location.href),function(a){let o=Te.isString(a)?s(a):a;return o.protocol===n.protocol&&o.host===n.host}}():function(){return function(){return!0}}()});function OJe(e,t){let r=0,n=C5(50,250);return s=>{let i=s.loaded,a=s.lengthComputable?s.total:void 0,o=i-r,c=n(o),u=i<=a;r=i;let l={loaded:i,total:a,progress:a?i/a:void 0,bytes:o,rate:c||void 0,estimated:c&&a&&u?(a-i)/c:void 0,event:s};l[t?"download":"upload"]=!0,e(l)}}var m4r,DJe,PJe=oe(()=>{"use strict";Qs();fce();xJe();g5();v5();NJe();_5();Nf();OI();Dce();lA();dA();Lce();m4r=typeof XMLHttpRequest<"u",DJe=m4r&&function(e){return new Promise(function(r,n){let s=e.data,i=ca.from(e.headers).normalize(),{responseType:a,withXSRFToken:o}=e,c;function u(){e.cancelToken&&e.cancelToken.unsubscribe(c),e.signal&&e.signal.removeEventListener("abort",c)}let l;if(Te.isFormData(s)){if(oa.hasStandardBrowserEnv||oa.hasStandardBrowserWebWorkerEnv)i.setContentType(!1);else if((l=i.getContentType())!==!1){let[m,...g]=l?l.split(";").map(_=>_.trim()).filter(Boolean):[];i.setContentType([m||"multipart/form-data",...g].join("; "))}}let d=new XMLHttpRequest;if(e.auth){let m=e.auth.username||"",g=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(m+":"+g))}let f=bv(e.baseURL,e.url);d.open(e.method.toUpperCase(),Tv(f,e.params,e.paramsSerializer),!0),d.timeout=e.timeout;function h(){if(!d)return;let m=ca.from("getAllResponseHeaders"in d&&d.getAllResponseHeaders()),_={data:!a||a==="text"||a==="json"?d.responseText:d.response,status:d.status,statusText:d.statusText,headers:m,config:e,request:d};fA(function(E){r(E),u()},function(E){n(E),u()},_),d=null}if("onloadend"in d?d.onloadend=h:d.onreadystatechange=function(){!d||d.readyState!==4||d.status===0&&!(d.responseURL&&d.responseURL.indexOf("file:")===0)||setTimeout(h)},d.onabort=function(){d&&(n(new ft("Request aborted",ft.ECONNABORTED,e,d)),d=null)},d.onerror=function(){n(new ft("Network Error",ft.ERR_NETWORK,e,d)),d=null},d.ontimeout=function(){let g=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",_=e.transitional||xI;e.timeoutErrorMessage&&(g=e.timeoutErrorMessage),n(new ft(g,_.clarifyTimeoutError?ft.ETIMEDOUT:ft.ECONNABORTED,e,d)),d=null},oa.hasStandardBrowserEnv&&(o&&Te.isFunction(o)&&(o=o(e)),o||o!==!1&&wJe(f))){let m=e.xsrfHeaderName&&e.xsrfCookieName&&CJe.read(e.xsrfCookieName);m&&i.set(e.xsrfHeaderName,m)}s===void 0&&i.setContentType(null),"setRequestHeader"in d&&Te.forEach(i.toJSON(),function(g,_){d.setRequestHeader(_,g)}),Te.isUndefined(e.withCredentials)||(d.withCredentials=!!e.withCredentials),a&&a!=="json"&&(d.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&d.addEventListener("progress",OJe(e.onDownloadProgress,!0)),typeof e.onUploadProgress=="function"&&d.upload&&d.upload.addEventListener("progress",OJe(e.onUploadProgress)),(e.cancelToken||e.signal)&&(c=m=>{d&&(n(!m||m.type?new Df(null,e,d):m),d.abort(),d=null)},e.cancelToken&&e.cancelToken.subscribe(c),e.signal&&(e.signal.aborted?c():e.signal.addEventListener("abort",c)));let p=p2(f);if(p&&oa.protocols.indexOf(p)===-1){n(new ft("Unsupported protocol "+p+":",ft.ERR_BAD_REQUEST,e));return}d.send(s||null)})}});var $ce,LJe,g4r,N5,qce=oe(()=>{Qs();RJe();PJe();Nf();$ce={http:IJe,xhr:DJe};Te.forEach($ce,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});LJe=e=>`- ${e}`,g4r=e=>Te.isFunction(e)||e===null||e===!1,N5={getAdapter:e=>{e=Te.isArray(e)?e:[e];let{length:t}=e,r,n,s={};for(let i=0;i`adapter ${o} `+(c===!1?"is not supported by the environment":"is not available in the build")),a=t?i.length>1?`since : +`+i.map(LJe).join(` +`):" "+LJe(i[0]):"as no adapter specified";throw new ft("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return n},adapters:$ce}});function Hce(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Df(null,e)}function O5(e){return Hce(e),e.headers=ca.from(e.headers),e.data=c2.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),N5.getAdapter(e.adapter||wI.adapter)(e).then(function(n){return Hce(e),n.data=c2.call(e,e.transformResponse,n),n.headers=ca.from(n.headers),n},function(n){return u2(n)||(Hce(e),n&&n.response&&(n.response.data=c2.call(e,e.transformResponse,n.response),n.response.headers=ca.from(n.response.headers))),Promise.reject(n)})}var MJe=oe(()=>{"use strict";wXe();dce();E5();OI();dA();qce()});function dm(e,t){t=t||{};let r={};function n(u,l,d){return Te.isPlainObject(u)&&Te.isPlainObject(l)?Te.merge.call({caseless:d},u,l):Te.isPlainObject(l)?Te.merge({},l):Te.isArray(l)?l.slice():l}function s(u,l,d){if(Te.isUndefined(l)){if(!Te.isUndefined(u))return n(void 0,u,d)}else return n(u,l,d)}function i(u,l){if(!Te.isUndefined(l))return n(void 0,l)}function a(u,l){if(Te.isUndefined(l)){if(!Te.isUndefined(u))return n(void 0,u)}else return n(void 0,l)}function o(u,l,d){if(d in t)return n(u,l);if(d in e)return n(void 0,u)}let c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:o,headers:(u,l)=>s(kJe(u),kJe(l),!0)};return Te.forEach(Object.keys(Object.assign({},e,t)),function(l){let d=c[l]||s,f=d(e[l],t[l],l);Te.isUndefined(f)&&d!==o||(r[l]=f)}),r}var kJe,Vce=oe(()=>{"use strict";Qs();dA();kJe=e=>e instanceof ca?e.toJSON():e});function _4r(e,t,r){if(typeof e!="object")throw new ft("options must be an object",ft.ERR_BAD_OPTION_VALUE);let n=Object.keys(e),s=n.length;for(;s-- >0;){let i=n[s],a=t[i];if(a){let o=e[i],c=o===void 0||a(o,i,e);if(c!==!0)throw new ft("option "+i+" must be "+c,ft.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new ft("Unknown option "+i,ft.ERR_BAD_OPTION)}}var jce,BJe,D5,UJe=oe(()=>{"use strict";R5();Nf();jce={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{jce[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});BJe={};jce.transitional=function(t,r,n){function s(i,a){return"[Axios v"+xv+"] Transitional option '"+i+"'"+a+(n?". "+n:"")}return(i,a,o)=>{if(t===!1)throw new ft(s(a," has been removed"+(r?" in "+r:"")),ft.ERR_DEPRECATED);return r&&!BJe[a]&&(BJe[a]=!0,console.warn(s(a," has been deprecated since v"+r+" and will be removed in the near future"))),t?t(i,a,o):!0}};D5={assertOptions:_4r,validators:jce}});var mA,kI,g2,FJe=oe(()=>{"use strict";Qs();g5();_Xe();MJe();Vce();v5();UJe();dA();mA=D5.validators,kI=class{constructor(t){this.defaults=t,this.interceptors={request:new ice,response:new ice}}async request(t,r){try{return await this._request(t,r)}catch(n){if(n instanceof Error){let s;Error.captureStackTrace?Error.captureStackTrace(s={}):s=new Error;let i=s.stack?s.stack.replace(/^.+\n/,""):"";n.stack?i&&!String(n.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(n.stack+=` +`+i):n.stack=i}throw n}}_request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=dm(this.defaults,r);let{transitional:n,paramsSerializer:s,headers:i}=r;n!==void 0&&D5.assertOptions(n,{silentJSONParsing:mA.transitional(mA.boolean),forcedJSONParsing:mA.transitional(mA.boolean),clarifyTimeoutError:mA.transitional(mA.boolean)},!1),s!=null&&(Te.isFunction(s)?r.paramsSerializer={serialize:s}:D5.assertOptions(s,{encode:mA.function,serialize:mA.function},!0)),r.method=(r.method||this.defaults.method||"get").toLowerCase();let a=i&&Te.merge(i.common,i[r.method]);i&&Te.forEach(["delete","get","head","post","put","patch","common"],p=>{delete i[p]}),r.headers=ca.concat(a,i);let o=[],c=!0;this.interceptors.request.forEach(function(m){typeof m.runWhen=="function"&&m.runWhen(r)===!1||(c=c&&m.synchronous,o.unshift(m.fulfilled,m.rejected))});let u=[];this.interceptors.response.forEach(function(m){u.push(m.fulfilled,m.rejected)});let l,d=0,f;if(!c){let p=[O5.bind(this),void 0];for(p.unshift.apply(p,o),p.push.apply(p,u),f=p.length,l=Promise.resolve(r);d{"use strict";OI();Kce=class e{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(i){r=i});let n=this;this.promise.then(s=>{if(!n._listeners)return;let i=n._listeners.length;for(;i-- >0;)n._listeners[i](s);n._listeners=null}),this.promise.then=s=>{let i,a=new Promise(o=>{n.subscribe(o),i=o}).then(s);return a.cancel=function(){n.unsubscribe(i)},a},t(function(i,a,o){n.reason||(n.reason=new Df(i,a,o),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;let r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}static source(){let t;return{token:new e(function(s){t=s}),cancel:t}}},$Je=Kce});function Gce(e){return function(r){return e.apply(null,r)}}var HJe=oe(()=>{"use strict"});function Yce(e){return Te.isObject(e)&&e.isAxiosError===!0}var VJe=oe(()=>{"use strict";Qs()});var Qce,jJe,KJe=oe(()=>{Qce={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Qce).forEach(([e,t])=>{Qce[t]=e});jJe=Qce});function GJe(e){let t=new g2(e),r=JD(g2.prototype.request,t);return Te.extend(r,g2.prototype,t,{allOwnKeys:!0}),Te.extend(r,t,null,{allOwnKeys:!0}),r.create=function(s){return GJe(dm(e,s))},r}var Qi,Se,YJe=oe(()=>{"use strict";Qs();Ooe();FJe();Vce();E5();cce();OI();qJe();dce();R5();a2();Nf();HJe();VJe();dA();qce();KJe();Qi=GJe(wI);Qi.Axios=g2;Qi.CanceledError=Df;Qi.CancelToken=$Je;Qi.isCancel=u2;Qi.VERSION=xv;Qi.toFormData=uA;Qi.AxiosError=ft;Qi.Cancel=Qi.CanceledError;Qi.all=function(t){return Promise.all(t)};Qi.spread=Gce;Qi.isAxiosError=Yce;Qi.mergeConfig=dm;Qi.AxiosHeaders=ca;Qi.formToJSON=e=>A5(Te.isHTMLForm(e)?new FormData(e):e);Qi.getAdapter=N5.getAdapter;Qi.HttpStatusCode=jJe;Qi.default=Qi;Se=Qi});var fjn,hjn,pjn,mjn,gjn,_jn,Ajn,Ejn,yjn,vjn,Sjn,Tjn,bjn,Ijn,Rjn,Cjn,Pr=oe(()=>{YJe();({Axios:fjn,AxiosError:hjn,CanceledError:pjn,isCancel:mjn,CancelToken:gjn,VERSION:_jn,all:Ajn,Cancel:Ejn,isAxiosError:yjn,spread:vjn,toFormData:Sjn,AxiosHeaders:Tjn,HttpStatusCode:bjn,formToJSON:Ijn,getAdapter:Rjn,mergeConfig:Cjn}=Se)});var zce,pt,zi=oe(()=>{zce=class{constructor(t=100,r=5*60*1e3){this.maxSize=t,this.ttl=r,this.cache=new Map}get(t){let r=this.cache.get(t);return r?Date.now()-r.timestamp>this.ttl?(this.cache.delete(t),null):(this.cache.delete(t),this.cache.set(t,r),r.value):null}set(t,r){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){let n=this.cache.keys().next().value;n!==void 0&&this.cache.delete(n)}this.cache.set(t,{value:r,timestamp:Date.now()})}delete(t){return this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}cleanup(){let t=Date.now(),r=0;for(let[n,s]of this.cache.entries())t-s.timestamp>this.ttl&&(this.cache.delete(n),r++);return r}getStats(){return{size:this.cache.size,maxSize:this.maxSize,ttl:this.ttl,utilizationRate:(this.cache.size/this.maxSize*100).toFixed(2)+"%"}}*entries(){let t=Date.now();for(let[r,n]of[...this.cache.entries()]){if(t-n.timestamp>this.ttl){this.cache.delete(r);continue}yield[r,n.value]}}},pt=zce});function Nv(e){if(!e)return String(e);let t=e.name||"Error",r=e.code,n=e.message||"",s=e.config||{},i=s.url||e.request?._currentUrl||e.request?._options?.path,a=(s.method||"GET").toUpperCase(),o=s.timeout,c=e.response?.status;if(!e.config&&!e.response&&!e.request)return r?`${t}: ${n} (code=${r})`:`${t}: ${n}`;let u=[`${t}: ${n}`];return r&&u.push(`code=${r}`),c!==void 0&&u.push(`status=${c}`),o!==void 0&&u.push(`timeout=${o}ms`),i&&u.push(`${a} ${i}`),u.join(" | ")}var w4r,Oe,hm=oe(()=>{w4r={info:(...e)=>console.log(...e),warn:(...e)=>console.warn(...e),error:(...e)=>console.error(...e),debug:(...e)=>{process.env.DEBUG&&console.log(...e)}},Oe=w4r});var uZe=S((qjn,cZe)=>{var FI=1e3,$I=FI*60,qI=$I*60,Ov=qI*24,k4r=Ov*7,B4r=Ov*365.25;cZe.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return U4r(e);if(r==="number"&&isFinite(e))return t.long?$4r(e):F4r(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function U4r(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*B4r;case"weeks":case"week":case"w":return r*k4r;case"days":case"day":case"d":return r*Ov;case"hours":case"hour":case"hrs":case"hr":case"h":return r*qI;case"minutes":case"minute":case"mins":case"min":case"m":return r*$I;case"seconds":case"second":case"secs":case"sec":case"s":return r*FI;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function F4r(e){var t=Math.abs(e);return t>=Ov?Math.round(e/Ov)+"d":t>=qI?Math.round(e/qI)+"h":t>=$I?Math.round(e/$I)+"m":t>=FI?Math.round(e/FI)+"s":e+"ms"}function $4r(e){var t=Math.abs(e);return t>=Ov?k5(e,t,Ov,"day"):t>=qI?k5(e,t,qI,"hour"):t>=$I?k5(e,t,$I,"minute"):t>=FI?k5(e,t,FI,"second"):e+" ms"}function k5(e,t,r,n){var s=t>=r*1.5;return Math.round(e/r)+" "+n+(s?"s":"")}});var sue=S((Hjn,lZe)=>{function q4r(e){r.debug=r,r.default=r,r.coerce=c,r.disable=a,r.enable=s,r.enabled=o,r.humanize=uZe(),r.destroy=u,Object.keys(e).forEach(l=>{r[l]=e[l]}),r.names=[],r.skips=[],r.formatters={};function t(l){let d=0;for(let f=0;f{if(T==="%%")return"%";A++;let b=r.formatters[C];if(typeof b=="function"){let x=g[A];T=b.call(_,x),g.splice(A,1),A--}return T}),r.formatArgs.call(_,g),(_.log||r.log).apply(_,g)}return m.namespace=l,m.useColors=r.useColors(),m.color=r.selectColor(l),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(h!==r.namespaces&&(h=r.namespaces,p=r.enabled(l)),p),set:g=>{f=g}}),typeof r.init=="function"&&r.init(m),m}function n(l,d){let f=r(this.namespace+(typeof d>"u"?":":d)+l);return f.log=this.log,f}function s(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let d=(typeof l=="string"?l:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let f of d)f[0]==="-"?r.skips.push(f.slice(1)):r.names.push(f)}function i(l,d){let f=0,h=0,p=-1,m=0;for(;f"-"+d)].join(",");return r.enable(""),l}function o(l){for(let d of r.skips)if(i(l,d))return!1;for(let d of r.names)if(i(l,d))return!0;return!1}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}lZe.exports=q4r});var dZe=S((Cu,B5)=>{Cu.formatArgs=V4r;Cu.save=j4r;Cu.load=K4r;Cu.useColors=H4r;Cu.storage=G4r();Cu.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Cu.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function H4r(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function V4r(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+B5.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,s=>{s!=="%%"&&(r++,s==="%c"&&(n=r))}),e.splice(n,0,t)}Cu.log=console.debug||console.log||(()=>{});function j4r(e){try{e?Cu.storage.setItem("debug",e):Cu.storage.removeItem("debug")}catch{}}function K4r(){let e;try{e=Cu.storage.getItem("debug")||Cu.storage.getItem("DEBUG")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function G4r(){try{return localStorage}catch{}}B5.exports=sue()(Cu);var{formatters:Y4r}=B5.exports;Y4r.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var hZe=S((Ca,F5)=>{var Q4r=require("tty"),U5=require("util");Ca.init=tBr;Ca.log=J4r;Ca.formatArgs=W4r;Ca.save=Z4r;Ca.load=eBr;Ca.useColors=z4r;Ca.destroy=U5.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ca.colors=[6,2,3,4,5,1];try{let e=Ace();e&&(e.stderr||e).level>=2&&(Ca.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Ca.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{let r=t.substring(6).toLowerCase().replace(/_([a-z])/g,(s,i)=>i.toUpperCase()),n=process.env[t];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),e[r]=n,e},{});function z4r(){return"colors"in Ca.inspectOpts?!!Ca.inspectOpts.colors:Q4r.isatty(process.stderr.fd)}function W4r(e){let{namespace:t,useColors:r}=this;if(r){let n=this.color,s="\x1B[3"+(n<8?n:"8;5;"+n),i=` ${s};1m${t} \x1B[0m`;e[0]=i+e[0].split(` +`).join(` +`+i),e.push(s+"m+"+F5.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=X4r()+t+" "+e[0]}function X4r(){return Ca.inspectOpts.hideDate?"":new Date().toISOString()+" "}function J4r(...e){return process.stderr.write(U5.formatWithOptions(Ca.inspectOpts,...e)+` +`)}function Z4r(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function eBr(){return process.env.DEBUG}function tBr(e){e.inspectOpts={};let t=Object.keys(Ca.inspectOpts);for(let r=0;rt.trim()).join(" ")};fZe.O=function(e){return this.inspectOpts.colors=this.useColors,U5.inspect(e,this.inspectOpts)}});var aue=S((Vjn,iue)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?iue.exports=dZe():iue.exports=hZe()});var gZe=S(xu=>{"use strict";var rBr=xu&&xu.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),nBr=xu&&xu.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),pZe=xu&&xu.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&rBr(t,e,r);return nBr(t,e),t};Object.defineProperty(xu,"__esModule",{value:!0});xu.req=xu.json=xu.toBuffer=void 0;var sBr=pZe(require("http")),iBr=pZe(require("https"));async function mZe(e){let t=0,r=[];for await(let n of e)t+=n.length,r.push(n);return Buffer.concat(r,t)}xu.toBuffer=mZe;async function aBr(e){let r=(await mZe(e)).toString("utf8");try{return JSON.parse(r)}catch(n){let s=n;throw s.message+=` (input: ${r})`,s}}xu.json=aBr;function oBr(e,t={}){let n=((typeof e=="string"?e:e.href).startsWith("https:")?iBr:sBr).request(e,t),s=new Promise((i,a)=>{n.once("response",i).once("error",a).end()});return n.then=s.then.bind(s),n}xu.req=oBr});var yZe=S(hl=>{"use strict";var AZe=hl&&hl.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),cBr=hl&&hl.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),EZe=hl&&hl.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&AZe(t,e,r);return cBr(t,e),t},uBr=hl&&hl.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&AZe(t,e,r)};Object.defineProperty(hl,"__esModule",{value:!0});hl.Agent=void 0;var lBr=EZe(require("net")),_Ze=EZe(require("http")),dBr=require("https");uBr(gZe(),hl);var dh=Symbol("AgentBaseInternalState"),oue=class extends _Ze.Agent{constructor(t){super(t),this[dh]={}}isSecureEndpoint(t){if(t){if(typeof t.secureEndpoint=="boolean")return t.secureEndpoint;if(typeof t.protocol=="string")return t.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(` +`).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(t){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[t]||(this.sockets[t]=[]);let r=new lBr.Socket({writable:!1});return this.sockets[t].push(r),this.totalSocketCount++,r}decrementSockets(t,r){if(!this.sockets[t]||r===null)return;let n=this.sockets[t],s=n.indexOf(r);s!==-1&&(n.splice(s,1),this.totalSocketCount--,n.length===0&&delete this.sockets[t])}getName(t){return this.isSecureEndpoint(t)?dBr.Agent.prototype.getName.call(this,t):super.getName(t)}createSocket(t,r,n){let s={...r,secureEndpoint:this.isSecureEndpoint(r)},i=this.getName(s),a=this.incrementSockets(i);Promise.resolve().then(()=>this.connect(t,s)).then(o=>{if(this.decrementSockets(i,a),o instanceof _Ze.Agent)try{return o.addRequest(t,s)}catch(c){return n(c)}this[dh].currentSocket=o,super.createSocket(t,r,n)},o=>{this.decrementSockets(i,a),n(o)})}createConnection(){let t=this[dh].currentSocket;if(this[dh].currentSocket=void 0,!t)throw new Error("No socket was returned in the `connect()` function");return t}get defaultPort(){return this[dh].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(t){this[dh]&&(this[dh].defaultPort=t)}get protocol(){return this[dh].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(t){this[dh]&&(this[dh].protocol=t)}};hl.Agent=oue});var vZe=S(HI=>{"use strict";var fBr=HI&&HI.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(HI,"__esModule",{value:!0});HI.parseProxyResponse=void 0;var hBr=fBr(aue()),$5=(0,hBr.default)("https-proxy-agent:parse-proxy-response");function pBr(e){return new Promise((t,r)=>{let n=0,s=[];function i(){let l=e.read();l?u(l):e.once("readable",i)}function a(){e.removeListener("end",o),e.removeListener("error",c),e.removeListener("readable",i)}function o(){a(),$5("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}function c(l){a(),$5("onerror %o",l),r(l)}function u(l){s.push(l),n+=l.length;let d=Buffer.concat(s,n),f=d.indexOf(`\r +\r +`);if(f===-1){$5("have not received end of HTTP headers yet..."),i();return}let h=d.slice(0,f).toString("ascii").split(`\r +`),p=h.shift();if(!p)return e.destroy(),r(new Error("No header received from proxy CONNECT response"));let m=p.split(" "),g=+m[1],_=m.slice(2).join(" "),y={};for(let E of h){if(!E)continue;let A=E.indexOf(":");if(A===-1)return e.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${E}"`));let v=E.slice(0,A).toLowerCase(),T=E.slice(A+1).trimStart(),C=y[v];typeof C=="string"?y[v]=[C,T]:Array.isArray(C)?C.push(T):y[v]=T}$5("got proxy server response: %o %o",p,y),a(),t({connect:{statusCode:g,statusText:_,headers:y},buffered:d})}e.on("error",c),e.on("end",o),i()})}HI.parseProxyResponse=pBr});var CZe=S(yd=>{"use strict";var mBr=yd&&yd.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),gBr=yd&&yd.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),IZe=yd&&yd.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&mBr(t,e,r);return gBr(t,e),t},RZe=yd&&yd.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(yd,"__esModule",{value:!0});yd.HttpsProxyAgent=void 0;var q5=IZe(require("net")),SZe=IZe(require("tls")),_Br=RZe(require("assert")),ABr=RZe(aue()),EBr=yZe(),yBr=require("url"),vBr=vZe(),A2=(0,ABr.default)("https-proxy-agent"),TZe=e=>e.servername===void 0&&e.host&&!q5.isIP(e.host)?{...e,servername:e.host}:e,H5=class extends EBr.Agent{constructor(t,r){super(r),this.options={path:void 0},this.proxy=typeof t=="string"?new yBr.URL(t):t,this.proxyHeaders=r?.headers??{},A2("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),s=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?bZe(r,"headers"):null,host:n,port:s}}async connect(t,r){let{proxy:n}=this;if(!r.host)throw new TypeError('No "host" provided');let s;n.protocol==="https:"?(A2("Creating `tls.Socket`: %o",this.connectOpts),s=SZe.connect(TZe(this.connectOpts))):(A2("Creating `net.Socket`: %o",this.connectOpts),s=q5.connect(this.connectOpts));let i=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=q5.isIPv6(r.host)?`[${r.host}]`:r.host,o=`CONNECT ${a}:${r.port} HTTP/1.1\r +`;if(n.username||n.password){let f=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;i["Proxy-Authorization"]=`Basic ${Buffer.from(f).toString("base64")}`}i.Host=`${a}:${r.port}`,i["Proxy-Connection"]||(i["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let f of Object.keys(i))o+=`${f}: ${i[f]}\r +`;let c=(0,vBr.parseProxyResponse)(s);s.write(`${o}\r +`);let{connect:u,buffered:l}=await c;if(t.emit("proxyConnect",u),this.emit("proxyConnect",u,t),u.statusCode===200)return t.once("socket",SBr),r.secureEndpoint?(A2("Upgrading socket connection to TLS"),SZe.connect({...bZe(TZe(r),"host","path","port"),socket:s})):s;s.destroy();let d=new q5.Socket({writable:!1});return d.readable=!0,t.once("socket",f=>{A2("Replaying proxy buffer for failed request"),(0,_Br.default)(f.listenerCount("data")>0),f.push(l),f.push(null)}),d}};H5.protocols=["http","https"];yd.HttpsProxyAgent=H5;function SBr(e){e.resume()}function bZe(e,...t){let r={},n;for(n in e)t.includes(n)||(r[n]=e[n]);return r}});var xZe=S((Qjn,TBr)=>{TBr.exports={name:"dotenv",version:"16.6.1",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard",pretest:"npm run lint && npm run dts-check",test:"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},homepage:"https://github.com/motdotla/dotenv#readme",funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@types/node":"^18.11.3",decache:"^4.6.2",sinon:"^14.0.1",standard:"^17.0.0","standard-version":"^9.5.0",tap:"^19.2.0",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var PZe=S((zjn,pm)=>{var cue=require("fs"),V5=require("path"),bBr=require("os"),IBr=require("crypto"),RBr=xZe(),uue=RBr.version,CBr=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function xBr(e){let t={},r=e.toString();r=r.replace(/\r\n?/mg,` +`);let n;for(;(n=CBr.exec(r))!=null;){let s=n[1],i=n[2]||"";i=i.trim();let a=i[0];i=i.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),a==='"'&&(i=i.replace(/\\n/g,` +`),i=i.replace(/\\r/g,"\r")),t[s]=i}return t}function wBr(e){e=e||{};let t=DZe(e);e.path=t;let r=ua.configDotenv(e);if(!r.parsed){let a=new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);throw a.code="MISSING_DATA",a}let n=OZe(e).split(","),s=n.length,i;for(let a=0;a=s)throw o}return ua.parse(i)}function NBr(e){console.log(`[dotenv@${uue}][WARN] ${e}`)}function E2(e){console.log(`[dotenv@${uue}][DEBUG] ${e}`)}function NZe(e){console.log(`[dotenv@${uue}] ${e}`)}function OZe(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function OBr(e,t){let r;try{r=new URL(t)}catch(o){if(o.code==="ERR_INVALID_URL"){let c=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw c.code="INVALID_DOTENV_KEY",c}throw o}let n=r.password;if(!n){let o=new Error("INVALID_DOTENV_KEY: Missing key part");throw o.code="INVALID_DOTENV_KEY",o}let s=r.searchParams.get("environment");if(!s){let o=new Error("INVALID_DOTENV_KEY: Missing environment part");throw o.code="INVALID_DOTENV_KEY",o}let i=`DOTENV_VAULT_${s.toUpperCase()}`,a=e.parsed[i];if(!a){let o=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${i} in your .env.vault file.`);throw o.code="NOT_FOUND_DOTENV_ENVIRONMENT",o}return{ciphertext:a,key:n}}function DZe(e){let t=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let r of e.path)cue.existsSync(r)&&(t=r.endsWith(".vault")?r:`${r}.vault`);else t=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else t=V5.resolve(process.cwd(),".env.vault");return cue.existsSync(t)?t:null}function wZe(e){return e[0]==="~"?V5.join(bBr.homedir(),e.slice(1)):e}function DBr(e){let t=!!(e&&e.debug),r=e&&"quiet"in e?e.quiet:!0;(t||!r)&&NZe("Loading env from encrypted .env.vault");let n=ua._parseVault(e),s=process.env;return e&&e.processEnv!=null&&(s=e.processEnv),ua.populate(s,n,e),{parsed:n}}function PBr(e){let t=V5.resolve(process.cwd(),".env"),r="utf8",n=!!(e&&e.debug),s=e&&"quiet"in e?e.quiet:!0;e&&e.encoding?r=e.encoding:n&&E2("No encoding is specified. UTF-8 is used by default");let i=[t];if(e&&e.path)if(!Array.isArray(e.path))i=[wZe(e.path)];else{i=[];for(let u of e.path)i.push(wZe(u))}let a,o={};for(let u of i)try{let l=ua.parse(cue.readFileSync(u,{encoding:r}));ua.populate(o,l,e)}catch(l){n&&E2(`Failed to load ${u} ${l.message}`),a=l}let c=process.env;if(e&&e.processEnv!=null&&(c=e.processEnv),ua.populate(c,o,e),n||!s){let u=Object.keys(o).length,l=[];for(let d of i)try{let f=V5.relative(process.cwd(),d);l.push(f)}catch(f){n&&E2(`Failed to load ${d} ${f.message}`),a=f}NZe(`injecting env (${u}) from ${l.join(",")}`)}return a?{parsed:o,error:a}:{parsed:o}}function LBr(e){if(OZe(e).length===0)return ua.configDotenv(e);let t=DZe(e);return t?ua._configVault(e):(NBr(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`),ua.configDotenv(e))}function MBr(e,t){let r=Buffer.from(t.slice(-64),"hex"),n=Buffer.from(e,"base64"),s=n.subarray(0,12),i=n.subarray(-16);n=n.subarray(12,-16);try{let a=IBr.createDecipheriv("aes-256-gcm",r,s);return a.setAuthTag(i),`${a.update(n)}${a.final()}`}catch(a){let o=a instanceof RangeError,c=a.message==="Invalid key length",u=a.message==="Unsupported state or unable to authenticate data";if(o||c){let l=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw l.code="INVALID_DOTENV_KEY",l}else if(u){let l=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw l.code="DECRYPTION_FAILED",l}else throw a}}function kBr(e,t,r={}){let n=!!(r&&r.debug),s=!!(r&&r.override);if(typeof t!="object"){let i=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw i.code="OBJECT_REQUIRED",i}for(let i of Object.keys(t))Object.prototype.hasOwnProperty.call(e,i)?(s===!0&&(e[i]=t[i]),n&&E2(s===!0?`"${i}" is already defined and WAS overwritten`:`"${i}" is already defined and was NOT overwritten`)):e[i]=t[i]}var ua={configDotenv:PBr,_configVault:DBr,_parseVault:wBr,config:LBr,decrypt:MBr,parse:xBr,populate:kBr};pm.exports.configDotenv=ua.configDotenv;pm.exports._configVault=ua._configVault;pm.exports._parseVault=ua._parseVault;pm.exports.config=ua.config;pm.exports.decrypt=ua.decrypt;pm.exports.parse=ua.parse;pm.exports.populate=ua.populate;pm.exports=ua});function BBr(e){if(!/^data:/i.test(e))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');e=e.replace(/\r?\n/g,"");let t=e.indexOf(",");if(t===-1||t<=4)throw new TypeError("malformed data: URI");let r=e.substring(5,t).split(";"),n="",s=!1,i=r[0]||"text/plain",a=i;for(let l=1;l{LZe=BBr});var BZe=S((j5,kZe)=>{(function(e,t){typeof j5=="object"&&typeof kZe<"u"?t(j5):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis<"u"?globalThis:e||self,t(e.WebStreamsPolyfill={}))})(j5,function(e){"use strict";function t(){}function r(R){return typeof R=="object"&&R!==null||typeof R=="function"}let n=t;function s(R,O){try{Object.defineProperty(R,"name",{value:O,configurable:!0})}catch{}}let i=Promise,a=Promise.prototype.then,o=Promise.reject.bind(i);function c(R){return new i(R)}function u(R){return c(O=>O(R))}function l(R){return o(R)}function d(R,O,j){return a.call(R,O,j)}function f(R,O,j){d(d(R,O,j),void 0,n)}function h(R,O){f(R,O)}function p(R,O){f(R,void 0,O)}function m(R,O,j){return d(R,O,j)}function g(R){d(R,void 0,n)}let _=R=>{if(typeof queueMicrotask=="function")_=queueMicrotask;else{let O=u(void 0);_=j=>d(O,j)}return _(R)};function y(R,O,j){if(typeof R!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(R,O,j)}function E(R,O,j){try{return u(y(R,O,j))}catch(fe){return l(fe)}}let A=16384;class v{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(O){let j=this._back,fe=j;j._elements.length===A-1&&(fe={_elements:[],_next:void 0}),j._elements.push(O),fe!==j&&(this._back=fe,j._next=fe),++this._size}shift(){let O=this._front,j=O,fe=this._cursor,ye=fe+1,xe=O._elements,Be=xe[fe];return ye===A&&(j=O._next,ye=0),--this._size,this._cursor=ye,O!==j&&(this._front=j),xe[fe]=void 0,Be}forEach(O){let j=this._cursor,fe=this._front,ye=fe._elements;for(;(j!==ye.length||fe._next!==void 0)&&!(j===ye.length&&(fe=fe._next,ye=fe._elements,j=0,ye.length===0));)O(ye[j]),++j}peek(){let O=this._front,j=this._cursor;return O._elements[j]}}let T=Symbol("[[AbortSteps]]"),C=Symbol("[[ErrorSteps]]"),b=Symbol("[[CancelSteps]]"),x=Symbol("[[PullSteps]]"),w=Symbol("[[ReleaseSteps]]");function P(R,O){R._ownerReadableStream=O,O._reader=R,O._state==="readable"?Y(R):O._state==="closed"?V(R):$(R,O._storedError)}function M(R,O){let j=R._ownerReadableStream;return lf(j,O)}function L(R){let O=R._ownerReadableStream;O._state==="readable"?W(R,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):G(R,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),O._readableStreamController[w](),O._reader=void 0,R._ownerReadableStream=void 0}function U(R){return new TypeError("Cannot "+R+" a stream using a released reader")}function Y(R){R._closedPromise=c((O,j)=>{R._closedPromise_resolve=O,R._closedPromise_reject=j})}function $(R,O){Y(R),W(R,O)}function V(R){Y(R),se(R)}function W(R,O){R._closedPromise_reject!==void 0&&(g(R._closedPromise),R._closedPromise_reject(O),R._closedPromise_resolve=void 0,R._closedPromise_reject=void 0)}function G(R,O){$(R,O)}function se(R){R._closedPromise_resolve!==void 0&&(R._closedPromise_resolve(void 0),R._closedPromise_resolve=void 0,R._closedPromise_reject=void 0)}let ue=Number.isFinite||function(R){return typeof R=="number"&&isFinite(R)},te=Math.trunc||function(R){return R<0?Math.ceil(R):Math.floor(R)};function Q(R){return typeof R=="object"||typeof R=="function"}function ee(R,O){if(R!==void 0&&!Q(R))throw new TypeError(`${O} is not an object.`)}function de(R,O){if(typeof R!="function")throw new TypeError(`${O} is not a function.`)}function B(R){return typeof R=="object"&&R!==null||typeof R=="function"}function k(R,O){if(!B(R))throw new TypeError(`${O} is not an object.`)}function J(R,O,j){if(R===void 0)throw new TypeError(`Parameter ${O} is required in '${j}'.`)}function D(R,O,j){if(R===void 0)throw new TypeError(`${O} is required in '${j}'.`)}function H(R){return Number(R)}function K(R){return R===0?0:R}function q(R){return K(te(R))}function z(R,O){let fe=Number.MAX_SAFE_INTEGER,ye=Number(R);if(ye=K(ye),!ue(ye))throw new TypeError(`${O} is not a finite number`);if(ye=q(ye),ye<0||ye>fe)throw new TypeError(`${O} is outside the accepted range of 0 to ${fe}, inclusive`);return!ue(ye)||ye===0?0:ye}function Z(R,O){if(!A_(R))throw new TypeError(`${O} is not a ReadableStream.`)}function ae(R){return new me(R)}function ne(R,O){R._reader._readRequests.push(O)}function ie(R,O,j){let ye=R._reader._readRequests.shift();j?ye._closeSteps():ye._chunkSteps(O)}function X(R){return R._reader._readRequests.length}function ce(R){let O=R._reader;return!(O===void 0||!be(O))}class me{constructor(O){if(J(O,1,"ReadableStreamDefaultReader"),Z(O,"First parameter"),E_(O))throw new TypeError("This stream has already been locked for exclusive reading by another reader");P(this,O),this._readRequests=new v}get closed(){return be(this)?this._closedPromise:l(Ae("closed"))}cancel(O=void 0){return be(this)?this._ownerReadableStream===void 0?l(U("cancel")):M(this,O):l(Ae("cancel"))}read(){if(!be(this))return l(Ae("read"));if(this._ownerReadableStream===void 0)return l(U("read from"));let O,j,fe=c((xe,Be)=>{O=xe,j=Be});return Ne(this,{_chunkSteps:xe=>O({value:xe,done:!1}),_closeSteps:()=>O({value:void 0,done:!0}),_errorSteps:xe=>j(xe)}),fe}releaseLock(){if(!be(this))throw Ae("releaseLock");this._ownerReadableStream!==void 0&&De(this)}}Object.defineProperties(me.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),s(me.prototype.cancel,"cancel"),s(me.prototype.read,"read"),s(me.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(me.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function be(R){return!r(R)||!Object.prototype.hasOwnProperty.call(R,"_readRequests")?!1:R instanceof me}function Ne(R,O){let j=R._ownerReadableStream;j._disturbed=!0,j._state==="closed"?O._closeSteps():j._state==="errored"?O._errorSteps(j._storedError):j._readableStreamController[x](O)}function De(R){L(R);let O=new TypeError("Reader was released");je(R,O)}function je(R,O){let j=R._readRequests;R._readRequests=new v,j.forEach(fe=>{fe._errorSteps(O)})}function Ae(R){return new TypeError(`ReadableStreamDefaultReader.prototype.${R} can only be used on a ReadableStreamDefaultReader`)}let ge=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class Ee{constructor(O,j){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=O,this._preventCancel=j}next(){let O=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?m(this._ongoingPromise,O,O):O(),this._ongoingPromise}return(O){let j=()=>this._returnSteps(O);return this._ongoingPromise?m(this._ongoingPromise,j,j):j()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let O=this._reader,j,fe,ye=c((Be,ot)=>{j=Be,fe=ot});return Ne(O,{_chunkSteps:Be=>{this._ongoingPromise=void 0,_(()=>j({value:Be,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,L(O),j({value:void 0,done:!0})},_errorSteps:Be=>{this._ongoingPromise=void 0,this._isFinished=!0,L(O),fe(Be)}}),ye}_returnSteps(O){if(this._isFinished)return Promise.resolve({value:O,done:!0});this._isFinished=!0;let j=this._reader;if(!this._preventCancel){let fe=M(j,O);return L(j),m(fe,()=>({value:O,done:!0}))}return L(j),u({value:O,done:!0})}}let _e={next(){return Re(this)?this._asyncIteratorImpl.next():l(Me("next"))},return(R){return Re(this)?this._asyncIteratorImpl.return(R):l(Me("return"))}};Object.setPrototypeOf(_e,ge);function ve(R,O){let j=ae(R),fe=new Ee(j,O),ye=Object.create(_e);return ye._asyncIteratorImpl=fe,ye}function Re(R){if(!r(R)||!Object.prototype.hasOwnProperty.call(R,"_asyncIteratorImpl"))return!1;try{return R._asyncIteratorImpl instanceof Ee}catch{return!1}}function Me(R){return new TypeError(`ReadableStreamAsyncIterator.${R} can only be used on a ReadableSteamAsyncIterator`)}let Ce=Number.isNaN||function(R){return R!==R};var $e,Qe,Ue;function ze(R){return R.slice()}function Ot(R,O,j,fe,ye){new Uint8Array(R).set(new Uint8Array(j,fe,ye),O)}let We=R=>(typeof R.transfer=="function"?We=O=>O.transfer():typeof structuredClone=="function"?We=O=>structuredClone(O,{transfer:[O]}):We=O=>O,We(R)),ht=R=>(typeof R.detached=="boolean"?ht=O=>O.detached:ht=O=>O.byteLength===0,ht(R));function At(R,O,j){if(R.slice)return R.slice(O,j);let fe=j-O,ye=new ArrayBuffer(fe);return Ot(ye,0,R,O,fe),ye}function Et(R,O){let j=R[O];if(j!=null){if(typeof j!="function")throw new TypeError(`${String(O)} is not a function`);return j}}function Tr(R){let O={[Symbol.iterator]:()=>R.iterator},j=async function*(){return yield*O}(),fe=j.next;return{iterator:j,nextMethod:fe,done:!1}}let Vt=(Ue=($e=Symbol.asyncIterator)!==null&&$e!==void 0?$e:(Qe=Symbol.for)===null||Qe===void 0?void 0:Qe.call(Symbol,"Symbol.asyncIterator"))!==null&&Ue!==void 0?Ue:"@@asyncIterator";function it(R,O="sync",j){if(j===void 0)if(O==="async"){if(j=Et(R,Vt),j===void 0){let xe=Et(R,Symbol.iterator),Be=it(R,"sync",xe);return Tr(Be)}}else j=Et(R,Symbol.iterator);if(j===void 0)throw new TypeError("The object is not iterable");let fe=y(j,R,[]);if(!r(fe))throw new TypeError("The iterator method must return an object");let ye=fe.next;return{iterator:fe,nextMethod:ye,done:!1}}function xt(R){let O=y(R.nextMethod,R.iterator,[]);if(!r(O))throw new TypeError("The iterator.next() method must return an object");return O}function ri(R){return!!R.done}function Ds(R){return R.value}function Ja(R){return!(typeof R!="number"||Ce(R)||R<0)}function Gi(R){let O=At(R.buffer,R.byteOffset,R.byteOffset+R.byteLength);return new Uint8Array(O)}function On(R){let O=R._queue.shift();return R._queueTotalSize-=O.size,R._queueTotalSize<0&&(R._queueTotalSize=0),O.value}function Za(R,O,j){if(!Ja(j)||j===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");R._queue.push({value:O,size:j}),R._queueTotalSize+=j}function ol(R){return R._queue.peek().value}function xo(R){R._queue=new v,R._queueTotalSize=0}function Op(R){return R===DataView}function Lb(R){return Op(R.constructor)}function R3(R){return Op(R)?1:R.BYTES_PER_ELEMENT}class M0{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!vy(this))throw xX("view");return this._view}respond(O){if(!vy(this))throw xX("respond");if(J(O,1,"respond"),O=z(O,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(ht(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");w3(this._associatedReadableByteStreamController,O)}respondWithNewView(O){if(!vy(this))throw xX("respondWithNewView");if(J(O,1,"respondWithNewView"),!ArrayBuffer.isView(O))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(ht(O.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");N3(this._associatedReadableByteStreamController,O)}}Object.defineProperties(M0.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),s(M0.prototype.respond,"respond"),s(M0.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(M0.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class cf{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!cl(this))throw mN("byobRequest");return CX(this)}get desiredSize(){if(!cl(this))throw mN("desiredSize");return $Me(this)}close(){if(!cl(this))throw mN("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let O=this._controlledReadableByteStream._state;if(O!=="readable")throw new TypeError(`The stream (in ${O} state) is not in the readable state and cannot be closed`);pN(this)}enqueue(O){if(!cl(this))throw mN("enqueue");if(J(O,1,"enqueue"),!ArrayBuffer.isView(O))throw new TypeError("chunk must be an array buffer view");if(O.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(O.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let j=this._controlledReadableByteStream._state;if(j!=="readable")throw new TypeError(`The stream (in ${j} state) is not in the readable state and cannot be enqueued to`);x3(this,O)}error(O=void 0){if(!cl(this))throw mN("error");zl(this,O)}[b](O){Sy(this),xo(this);let j=this._cancelAlgorithm(O);return C3(this),j}[x](O){let j=this._controlledReadableByteStream;if(this._queueTotalSize>0){FMe(this,O);return}let fe=this._autoAllocateChunkSize;if(fe!==void 0){let ye;try{ye=new ArrayBuffer(fe)}catch(Be){O._errorSteps(Be);return}let xe={buffer:ye,bufferByteLength:fe,byteOffset:0,byteLength:fe,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(xe)}ne(j,O),Ql(this)}[w](){if(this._pendingPullIntos.length>0){let O=this._pendingPullIntos.peek();O.readerType="none",this._pendingPullIntos=new v,this._pendingPullIntos.push(O)}}}Object.defineProperties(cf.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),s(cf.prototype.close,"close"),s(cf.prototype.enqueue,"enqueue"),s(cf.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(cf.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function cl(R){return!r(R)||!Object.prototype.hasOwnProperty.call(R,"_controlledReadableByteStream")?!1:R instanceof cf}function vy(R){return!r(R)||!Object.prototype.hasOwnProperty.call(R,"_associatedReadableByteStreamController")?!1:R instanceof M0}function Ql(R){if(!zXt(R))return;if(R._pulling){R._pullAgain=!0;return}R._pulling=!0;let j=R._pullAlgorithm();f(j,()=>(R._pulling=!1,R._pullAgain&&(R._pullAgain=!1,Ql(R)),null),fe=>(zl(R,fe),null))}function Sy(R){IX(R),R._pendingPullIntos=new v}function Mb(R,O){let j=!1;R._state==="closed"&&(j=!0);let fe=uN(O);O.readerType==="default"?ie(R,fe,j):tJt(R,fe,j)}function uN(R){let O=R.bytesFilled,j=R.elementSize;return new R.viewConstructor(R.buffer,R.byteOffset,O/j)}function Ty(R,O,j,fe){R._queue.push({buffer:O,byteOffset:j,byteLength:fe}),R._queueTotalSize+=fe}function lN(R,O,j,fe){let ye;try{ye=At(O,j,j+fe)}catch(xe){throw zl(R,xe),xe}Ty(R,ye,0,fe)}function dN(R,O){O.bytesFilled>0&&lN(R,O.buffer,O.byteOffset,O.bytesFilled),kb(R)}function fN(R,O){let j=Math.min(R._queueTotalSize,O.byteLength-O.bytesFilled),fe=O.bytesFilled+j,ye=j,xe=!1,Be=fe%O.elementSize,ot=fe-Be;ot>=O.minimumFill&&(ye=ot-O.bytesFilled,xe=!0);let Yt=R._queue;for(;ye>0;){let Dt=Yt.peek(),nr=Math.min(ye,Dt.byteLength),br=O.byteOffset+O.bytesFilled;Ot(O.buffer,br,Dt.buffer,Dt.byteOffset,nr),Dt.byteLength===nr?Yt.shift():(Dt.byteOffset+=nr,Dt.byteLength-=nr),R._queueTotalSize-=nr,hN(R,nr,O),ye-=nr}return xe}function hN(R,O,j){j.bytesFilled+=O}function by(R){R._queueTotalSize===0&&R._closeRequested?(C3(R),vN(R._controlledReadableByteStream)):Ql(R)}function IX(R){R._byobRequest!==null&&(R._byobRequest._associatedReadableByteStreamController=void 0,R._byobRequest._view=null,R._byobRequest=null)}function RX(R){for(;R._pendingPullIntos.length>0;){if(R._queueTotalSize===0)return;let O=R._pendingPullIntos.peek();fN(R,O)&&(kb(R),Mb(R._controlledReadableByteStream,O))}}function KXt(R){let O=R._controlledReadableByteStream._reader;for(;O._readRequests.length>0;){if(R._queueTotalSize===0)return;let j=O._readRequests.shift();FMe(R,j)}}function GXt(R,O,j,fe){let ye=R._controlledReadableByteStream,xe=O.constructor,Be=R3(xe),{byteOffset:ot,byteLength:Yt}=O,Dt=j*Be,nr;try{nr=We(O.buffer)}catch(ps){fe._errorSteps(ps);return}let br={buffer:nr,bufferByteLength:nr.byteLength,byteOffset:ot,byteLength:Yt,bytesFilled:0,minimumFill:Dt,elementSize:Be,viewConstructor:xe,readerType:"byob"};if(R._pendingPullIntos.length>0){R._pendingPullIntos.push(br),VMe(ye,fe);return}if(ye._state==="closed"){let ps=new xe(br.buffer,br.byteOffset,0);fe._closeSteps(ps);return}if(R._queueTotalSize>0){if(fN(R,br)){let ps=uN(br);by(R),fe._chunkSteps(ps);return}if(R._closeRequested){let ps=new TypeError("Insufficient bytes to fill elements in the given buffer");zl(R,ps),fe._errorSteps(ps);return}}R._pendingPullIntos.push(br),VMe(ye,fe),Ql(R)}function YXt(R,O){O.readerType==="none"&&kb(R);let j=R._controlledReadableByteStream;if(wX(j))for(;jMe(j)>0;){let fe=kb(R);Mb(j,fe)}}function QXt(R,O,j){if(hN(R,O,j),j.readerType==="none"){dN(R,j),RX(R);return}if(j.bytesFilled0){let ye=j.byteOffset+j.bytesFilled;lN(R,j.buffer,ye-fe,fe)}j.bytesFilled-=fe,Mb(R._controlledReadableByteStream,j),RX(R)}function UMe(R,O){let j=R._pendingPullIntos.peek();IX(R),R._controlledReadableByteStream._state==="closed"?YXt(R,j):QXt(R,O,j),Ql(R)}function kb(R){return R._pendingPullIntos.shift()}function zXt(R){let O=R._controlledReadableByteStream;return O._state!=="readable"||R._closeRequested||!R._started?!1:!!(ce(O)&&X(O)>0||wX(O)&&jMe(O)>0||$Me(R)>0)}function C3(R){R._pullAlgorithm=void 0,R._cancelAlgorithm=void 0}function pN(R){let O=R._controlledReadableByteStream;if(!(R._closeRequested||O._state!=="readable")){if(R._queueTotalSize>0){R._closeRequested=!0;return}if(R._pendingPullIntos.length>0){let j=R._pendingPullIntos.peek();if(j.bytesFilled%j.elementSize!==0){let fe=new TypeError("Insufficient bytes to fill elements in the given buffer");throw zl(R,fe),fe}}C3(R),vN(O)}}function x3(R,O){let j=R._controlledReadableByteStream;if(R._closeRequested||j._state!=="readable")return;let{buffer:fe,byteOffset:ye,byteLength:xe}=O;if(ht(fe))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let Be=We(fe);if(R._pendingPullIntos.length>0){let ot=R._pendingPullIntos.peek();if(ht(ot.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");IX(R),ot.buffer=We(ot.buffer),ot.readerType==="none"&&dN(R,ot)}if(ce(j))if(KXt(R),X(j)===0)Ty(R,Be,ye,xe);else{R._pendingPullIntos.length>0&&kb(R);let ot=new Uint8Array(Be,ye,xe);ie(j,ot,!1)}else wX(j)?(Ty(R,Be,ye,xe),RX(R)):Ty(R,Be,ye,xe);Ql(R)}function zl(R,O){let j=R._controlledReadableByteStream;j._state==="readable"&&(Sy(R),xo(R),C3(R),pke(j,O))}function FMe(R,O){let j=R._queue.shift();R._queueTotalSize-=j.byteLength,by(R);let fe=new Uint8Array(j.buffer,j.byteOffset,j.byteLength);O._chunkSteps(fe)}function CX(R){if(R._byobRequest===null&&R._pendingPullIntos.length>0){let O=R._pendingPullIntos.peek(),j=new Uint8Array(O.buffer,O.byteOffset+O.bytesFilled,O.byteLength-O.bytesFilled),fe=Object.create(M0.prototype);XXt(fe,R,j),R._byobRequest=fe}return R._byobRequest}function $Me(R){let O=R._controlledReadableByteStream._state;return O==="errored"?null:O==="closed"?0:R._strategyHWM-R._queueTotalSize}function w3(R,O){let j=R._pendingPullIntos.peek();if(R._controlledReadableByteStream._state==="closed"){if(O!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(O===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(j.bytesFilled+O>j.byteLength)throw new RangeError("bytesWritten out of range")}j.buffer=We(j.buffer),UMe(R,O)}function N3(R,O){let j=R._pendingPullIntos.peek();if(R._controlledReadableByteStream._state==="closed"){if(O.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(O.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(j.byteOffset+j.bytesFilled!==O.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(j.bufferByteLength!==O.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(j.bytesFilled+O.byteLength>j.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let ye=O.byteLength;j.buffer=We(O.buffer),UMe(R,ye)}function qMe(R,O,j,fe,ye,xe,Be){O._controlledReadableByteStream=R,O._pullAgain=!1,O._pulling=!1,O._byobRequest=null,O._queue=O._queueTotalSize=void 0,xo(O),O._closeRequested=!1,O._started=!1,O._strategyHWM=xe,O._pullAlgorithm=fe,O._cancelAlgorithm=ye,O._autoAllocateChunkSize=Be,O._pendingPullIntos=new v,R._readableStreamController=O;let ot=j();f(u(ot),()=>(O._started=!0,Ql(O),null),Yt=>(zl(O,Yt),null))}function WXt(R,O,j){let fe=Object.create(cf.prototype),ye,xe,Be;O.start!==void 0?ye=()=>O.start(fe):ye=()=>{},O.pull!==void 0?xe=()=>O.pull(fe):xe=()=>u(void 0),O.cancel!==void 0?Be=Yt=>O.cancel(Yt):Be=()=>u(void 0);let ot=O.autoAllocateChunkSize;if(ot===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");qMe(R,fe,ye,xe,Be,j,ot)}function XXt(R,O,j){R._associatedReadableByteStreamController=O,R._view=j}function xX(R){return new TypeError(`ReadableStreamBYOBRequest.prototype.${R} can only be used on a ReadableStreamBYOBRequest`)}function mN(R){return new TypeError(`ReadableByteStreamController.prototype.${R} can only be used on a ReadableByteStreamController`)}function JXt(R,O){ee(R,O);let j=R?.mode;return{mode:j===void 0?void 0:ZXt(j,`${O} has member 'mode' that`)}}function ZXt(R,O){if(R=`${R}`,R!=="byob")throw new TypeError(`${O} '${R}' is not a valid enumeration value for ReadableStreamReaderMode`);return R}function eJt(R,O){var j;ee(R,O);let fe=(j=R?.min)!==null&&j!==void 0?j:1;return{min:z(fe,`${O} has member 'min' that`)}}function HMe(R){return new g_(R)}function VMe(R,O){R._reader._readIntoRequests.push(O)}function tJt(R,O,j){let ye=R._reader._readIntoRequests.shift();j?ye._closeSteps(O):ye._chunkSteps(O)}function jMe(R){return R._reader._readIntoRequests.length}function wX(R){let O=R._reader;return!(O===void 0||!Iy(O))}class g_{constructor(O){if(J(O,1,"ReadableStreamBYOBReader"),Z(O,"First parameter"),E_(O))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!cl(O._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");P(this,O),this._readIntoRequests=new v}get closed(){return Iy(this)?this._closedPromise:l(O3("closed"))}cancel(O=void 0){return Iy(this)?this._ownerReadableStream===void 0?l(U("cancel")):M(this,O):l(O3("cancel"))}read(O,j={}){if(!Iy(this))return l(O3("read"));if(!ArrayBuffer.isView(O))return l(new TypeError("view must be an array buffer view"));if(O.byteLength===0)return l(new TypeError("view must have non-zero byteLength"));if(O.buffer.byteLength===0)return l(new TypeError("view's buffer must have non-zero byteLength"));if(ht(O.buffer))return l(new TypeError("view's buffer has been detached"));let fe;try{fe=eJt(j,"options")}catch(Dt){return l(Dt)}let ye=fe.min;if(ye===0)return l(new TypeError("options.min must be greater than 0"));if(Lb(O)){if(ye>O.byteLength)return l(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(ye>O.length)return l(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return l(U("read from"));let xe,Be,ot=c((Dt,nr)=>{xe=Dt,Be=nr});return KMe(this,O,ye,{_chunkSteps:Dt=>xe({value:Dt,done:!1}),_closeSteps:Dt=>xe({value:Dt,done:!0}),_errorSteps:Dt=>Be(Dt)}),ot}releaseLock(){if(!Iy(this))throw O3("releaseLock");this._ownerReadableStream!==void 0&&rJt(this)}}Object.defineProperties(g_.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),s(g_.prototype.cancel,"cancel"),s(g_.prototype.read,"read"),s(g_.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(g_.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function Iy(R){return!r(R)||!Object.prototype.hasOwnProperty.call(R,"_readIntoRequests")?!1:R instanceof g_}function KMe(R,O,j,fe){let ye=R._ownerReadableStream;ye._disturbed=!0,ye._state==="errored"?fe._errorSteps(ye._storedError):GXt(ye._readableStreamController,O,j,fe)}function rJt(R){L(R);let O=new TypeError("Reader was released");GMe(R,O)}function GMe(R,O){let j=R._readIntoRequests;R._readIntoRequests=new v,j.forEach(fe=>{fe._errorSteps(O)})}function O3(R){return new TypeError(`ReadableStreamBYOBReader.prototype.${R} can only be used on a ReadableStreamBYOBReader`)}function gN(R,O){let{highWaterMark:j}=R;if(j===void 0)return O;if(Ce(j)||j<0)throw new RangeError("Invalid highWaterMark");return j}function D3(R){let{size:O}=R;return O||(()=>1)}function P3(R,O){ee(R,O);let j=R?.highWaterMark,fe=R?.size;return{highWaterMark:j===void 0?void 0:H(j),size:fe===void 0?void 0:nJt(fe,`${O} has member 'size' that`)}}function nJt(R,O){return de(R,O),j=>H(R(j))}function sJt(R,O){ee(R,O);let j=R?.abort,fe=R?.close,ye=R?.start,xe=R?.type,Be=R?.write;return{abort:j===void 0?void 0:iJt(j,R,`${O} has member 'abort' that`),close:fe===void 0?void 0:aJt(fe,R,`${O} has member 'close' that`),start:ye===void 0?void 0:oJt(ye,R,`${O} has member 'start' that`),write:Be===void 0?void 0:cJt(Be,R,`${O} has member 'write' that`),type:xe}}function iJt(R,O,j){return de(R,j),fe=>E(R,O,[fe])}function aJt(R,O,j){return de(R,j),()=>E(R,O,[])}function oJt(R,O,j){return de(R,j),fe=>y(R,O,[fe])}function cJt(R,O,j){return de(R,j),(fe,ye)=>E(R,O,[fe,ye])}function YMe(R,O){if(!Bb(R))throw new TypeError(`${O} is not a WritableStream.`)}function uJt(R){if(typeof R!="object"||R===null)return!1;try{return typeof R.aborted=="boolean"}catch{return!1}}let lJt=typeof AbortController=="function";function dJt(){if(lJt)return new AbortController}class __{constructor(O={},j={}){O===void 0?O=null:k(O,"First parameter");let fe=P3(j,"Second parameter"),ye=sJt(O,"First parameter");if(zMe(this),ye.type!==void 0)throw new RangeError("Invalid type is specified");let Be=D3(fe),ot=gN(fe,1);IJt(this,ye,ot,Be)}get locked(){if(!Bb(this))throw U3("locked");return Ub(this)}abort(O=void 0){return Bb(this)?Ub(this)?l(new TypeError("Cannot abort a stream that already has a writer")):L3(this,O):l(U3("abort"))}close(){return Bb(this)?Ub(this)?l(new TypeError("Cannot close a stream that already has a writer")):k0(this)?l(new TypeError("Cannot close an already-closing stream")):WMe(this):l(U3("close"))}getWriter(){if(!Bb(this))throw U3("getWriter");return QMe(this)}}Object.defineProperties(__.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),s(__.prototype.abort,"abort"),s(__.prototype.close,"close"),s(__.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(__.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function QMe(R){return new Dp(R)}function fJt(R,O,j,fe,ye=1,xe=()=>1){let Be=Object.create(__.prototype);zMe(Be);let ot=Object.create(Fb.prototype);return rke(Be,ot,R,O,j,fe,ye,xe),Be}function zMe(R){R._state="writable",R._storedError=void 0,R._writer=void 0,R._writableStreamController=void 0,R._writeRequests=new v,R._inFlightWriteRequest=void 0,R._closeRequest=void 0,R._inFlightCloseRequest=void 0,R._pendingAbortRequest=void 0,R._backpressure=!1}function Bb(R){return!r(R)||!Object.prototype.hasOwnProperty.call(R,"_writableStreamController")?!1:R instanceof __}function Ub(R){return R._writer!==void 0}function L3(R,O){var j;if(R._state==="closed"||R._state==="errored")return u(void 0);R._writableStreamController._abortReason=O,(j=R._writableStreamController._abortController)===null||j===void 0||j.abort(O);let fe=R._state;if(fe==="closed"||fe==="errored")return u(void 0);if(R._pendingAbortRequest!==void 0)return R._pendingAbortRequest._promise;let ye=!1;fe==="erroring"&&(ye=!0,O=void 0);let xe=c((Be,ot)=>{R._pendingAbortRequest={_promise:void 0,_resolve:Be,_reject:ot,_reason:O,_wasAlreadyErroring:ye}});return R._pendingAbortRequest._promise=xe,ye||OX(R,O),xe}function WMe(R){let O=R._state;if(O==="closed"||O==="errored")return l(new TypeError(`The stream (in ${O} state) is not in the writable state and cannot be closed`));let j=c((ye,xe)=>{let Be={_resolve:ye,_reject:xe};R._closeRequest=Be}),fe=R._writer;return fe!==void 0&&R._backpressure&&O==="writable"&&FX(fe),RJt(R._writableStreamController),j}function hJt(R){return c((j,fe)=>{let ye={_resolve:j,_reject:fe};R._writeRequests.push(ye)})}function NX(R,O){if(R._state==="writable"){OX(R,O);return}DX(R)}function OX(R,O){let j=R._writableStreamController;R._state="erroring",R._storedError=O;let fe=R._writer;fe!==void 0&&JMe(fe,O),!AJt(R)&&j._started&&DX(R)}function DX(R){R._state="errored",R._writableStreamController[C]();let O=R._storedError;if(R._writeRequests.forEach(ye=>{ye._reject(O)}),R._writeRequests=new v,R._pendingAbortRequest===void 0){M3(R);return}let j=R._pendingAbortRequest;if(R._pendingAbortRequest=void 0,j._wasAlreadyErroring){j._reject(O),M3(R);return}let fe=R._writableStreamController[T](j._reason);f(fe,()=>(j._resolve(),M3(R),null),ye=>(j._reject(ye),M3(R),null))}function pJt(R){R._inFlightWriteRequest._resolve(void 0),R._inFlightWriteRequest=void 0}function mJt(R,O){R._inFlightWriteRequest._reject(O),R._inFlightWriteRequest=void 0,NX(R,O)}function gJt(R){R._inFlightCloseRequest._resolve(void 0),R._inFlightCloseRequest=void 0,R._state==="erroring"&&(R._storedError=void 0,R._pendingAbortRequest!==void 0&&(R._pendingAbortRequest._resolve(),R._pendingAbortRequest=void 0)),R._state="closed";let j=R._writer;j!==void 0&&ake(j)}function _Jt(R,O){R._inFlightCloseRequest._reject(O),R._inFlightCloseRequest=void 0,R._pendingAbortRequest!==void 0&&(R._pendingAbortRequest._reject(O),R._pendingAbortRequest=void 0),NX(R,O)}function k0(R){return!(R._closeRequest===void 0&&R._inFlightCloseRequest===void 0)}function AJt(R){return!(R._inFlightWriteRequest===void 0&&R._inFlightCloseRequest===void 0)}function EJt(R){R._inFlightCloseRequest=R._closeRequest,R._closeRequest=void 0}function yJt(R){R._inFlightWriteRequest=R._writeRequests.shift()}function M3(R){R._closeRequest!==void 0&&(R._closeRequest._reject(R._storedError),R._closeRequest=void 0);let O=R._writer;O!==void 0&&BX(O,R._storedError)}function PX(R,O){let j=R._writer;j!==void 0&&O!==R._backpressure&&(O?PJt(j):FX(j)),R._backpressure=O}class Dp{constructor(O){if(J(O,1,"WritableStreamDefaultWriter"),YMe(O,"First parameter"),Ub(O))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=O,O._writer=this;let j=O._state;if(j==="writable")!k0(O)&&O._backpressure?$3(this):oke(this),F3(this);else if(j==="erroring")UX(this,O._storedError),F3(this);else if(j==="closed")oke(this),OJt(this);else{let fe=O._storedError;UX(this,fe),ike(this,fe)}}get closed(){return Ry(this)?this._closedPromise:l(Cy("closed"))}get desiredSize(){if(!Ry(this))throw Cy("desiredSize");if(this._ownerWritableStream===void 0)throw AN("desiredSize");return bJt(this)}get ready(){return Ry(this)?this._readyPromise:l(Cy("ready"))}abort(O=void 0){return Ry(this)?this._ownerWritableStream===void 0?l(AN("abort")):vJt(this,O):l(Cy("abort"))}close(){if(!Ry(this))return l(Cy("close"));let O=this._ownerWritableStream;return O===void 0?l(AN("close")):k0(O)?l(new TypeError("Cannot close an already-closing stream")):XMe(this)}releaseLock(){if(!Ry(this))throw Cy("releaseLock");this._ownerWritableStream!==void 0&&ZMe(this)}write(O=void 0){return Ry(this)?this._ownerWritableStream===void 0?l(AN("write to")):eke(this,O):l(Cy("write"))}}Object.defineProperties(Dp.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),s(Dp.prototype.abort,"abort"),s(Dp.prototype.close,"close"),s(Dp.prototype.releaseLock,"releaseLock"),s(Dp.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Dp.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function Ry(R){return!r(R)||!Object.prototype.hasOwnProperty.call(R,"_ownerWritableStream")?!1:R instanceof Dp}function vJt(R,O){let j=R._ownerWritableStream;return L3(j,O)}function XMe(R){let O=R._ownerWritableStream;return WMe(O)}function SJt(R){let O=R._ownerWritableStream,j=O._state;return k0(O)||j==="closed"?u(void 0):j==="errored"?l(O._storedError):XMe(R)}function TJt(R,O){R._closedPromiseState==="pending"?BX(R,O):DJt(R,O)}function JMe(R,O){R._readyPromiseState==="pending"?cke(R,O):LJt(R,O)}function bJt(R){let O=R._ownerWritableStream,j=O._state;return j==="errored"||j==="erroring"?null:j==="closed"?0:nke(O._writableStreamController)}function ZMe(R){let O=R._ownerWritableStream,j=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");JMe(R,j),TJt(R,j),O._writer=void 0,R._ownerWritableStream=void 0}function eke(R,O){let j=R._ownerWritableStream,fe=j._writableStreamController,ye=CJt(fe,O);if(j!==R._ownerWritableStream)return l(AN("write to"));let xe=j._state;if(xe==="errored")return l(j._storedError);if(k0(j)||xe==="closed")return l(new TypeError("The stream is closing or closed and cannot be written to"));if(xe==="erroring")return l(j._storedError);let Be=hJt(j);return xJt(fe,O,ye),Be}let tke={};class Fb{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!LX(this))throw kX("abortReason");return this._abortReason}get signal(){if(!LX(this))throw kX("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(O=void 0){if(!LX(this))throw kX("error");this._controlledWritableStream._state==="writable"&&ske(this,O)}[T](O){let j=this._abortAlgorithm(O);return k3(this),j}[C](){xo(this)}}Object.defineProperties(Fb.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Fb.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function LX(R){return!r(R)||!Object.prototype.hasOwnProperty.call(R,"_controlledWritableStream")?!1:R instanceof Fb}function rke(R,O,j,fe,ye,xe,Be,ot){O._controlledWritableStream=R,R._writableStreamController=O,O._queue=void 0,O._queueTotalSize=void 0,xo(O),O._abortReason=void 0,O._abortController=dJt(),O._started=!1,O._strategySizeAlgorithm=ot,O._strategyHWM=Be,O._writeAlgorithm=fe,O._closeAlgorithm=ye,O._abortAlgorithm=xe;let Yt=MX(O);PX(R,Yt);let Dt=j(),nr=u(Dt);f(nr,()=>(O._started=!0,B3(O),null),br=>(O._started=!0,NX(R,br),null))}function IJt(R,O,j,fe){let ye=Object.create(Fb.prototype),xe,Be,ot,Yt;O.start!==void 0?xe=()=>O.start(ye):xe=()=>{},O.write!==void 0?Be=Dt=>O.write(Dt,ye):Be=()=>u(void 0),O.close!==void 0?ot=()=>O.close():ot=()=>u(void 0),O.abort!==void 0?Yt=Dt=>O.abort(Dt):Yt=()=>u(void 0),rke(R,ye,xe,Be,ot,Yt,j,fe)}function k3(R){R._writeAlgorithm=void 0,R._closeAlgorithm=void 0,R._abortAlgorithm=void 0,R._strategySizeAlgorithm=void 0}function RJt(R){Za(R,tke,0),B3(R)}function CJt(R,O){try{return R._strategySizeAlgorithm(O)}catch(j){return _N(R,j),1}}function nke(R){return R._strategyHWM-R._queueTotalSize}function xJt(R,O,j){try{Za(R,O,j)}catch(ye){_N(R,ye);return}let fe=R._controlledWritableStream;if(!k0(fe)&&fe._state==="writable"){let ye=MX(R);PX(fe,ye)}B3(R)}function B3(R){let O=R._controlledWritableStream;if(!R._started||O._inFlightWriteRequest!==void 0)return;if(O._state==="erroring"){DX(O);return}if(R._queue.length===0)return;let fe=ol(R);fe===tke?wJt(R):NJt(R,fe)}function _N(R,O){R._controlledWritableStream._state==="writable"&&ske(R,O)}function wJt(R){let O=R._controlledWritableStream;EJt(O),On(R);let j=R._closeAlgorithm();k3(R),f(j,()=>(gJt(O),null),fe=>(_Jt(O,fe),null))}function NJt(R,O){let j=R._controlledWritableStream;yJt(j);let fe=R._writeAlgorithm(O);f(fe,()=>{pJt(j);let ye=j._state;if(On(R),!k0(j)&&ye==="writable"){let xe=MX(R);PX(j,xe)}return B3(R),null},ye=>(j._state==="writable"&&k3(R),mJt(j,ye),null))}function MX(R){return nke(R)<=0}function ske(R,O){let j=R._controlledWritableStream;k3(R),OX(j,O)}function U3(R){return new TypeError(`WritableStream.prototype.${R} can only be used on a WritableStream`)}function kX(R){return new TypeError(`WritableStreamDefaultController.prototype.${R} can only be used on a WritableStreamDefaultController`)}function Cy(R){return new TypeError(`WritableStreamDefaultWriter.prototype.${R} can only be used on a WritableStreamDefaultWriter`)}function AN(R){return new TypeError("Cannot "+R+" a stream using a released writer")}function F3(R){R._closedPromise=c((O,j)=>{R._closedPromise_resolve=O,R._closedPromise_reject=j,R._closedPromiseState="pending"})}function ike(R,O){F3(R),BX(R,O)}function OJt(R){F3(R),ake(R)}function BX(R,O){R._closedPromise_reject!==void 0&&(g(R._closedPromise),R._closedPromise_reject(O),R._closedPromise_resolve=void 0,R._closedPromise_reject=void 0,R._closedPromiseState="rejected")}function DJt(R,O){ike(R,O)}function ake(R){R._closedPromise_resolve!==void 0&&(R._closedPromise_resolve(void 0),R._closedPromise_resolve=void 0,R._closedPromise_reject=void 0,R._closedPromiseState="resolved")}function $3(R){R._readyPromise=c((O,j)=>{R._readyPromise_resolve=O,R._readyPromise_reject=j}),R._readyPromiseState="pending"}function UX(R,O){$3(R),cke(R,O)}function oke(R){$3(R),FX(R)}function cke(R,O){R._readyPromise_reject!==void 0&&(g(R._readyPromise),R._readyPromise_reject(O),R._readyPromise_resolve=void 0,R._readyPromise_reject=void 0,R._readyPromiseState="rejected")}function PJt(R){$3(R)}function LJt(R,O){UX(R,O)}function FX(R){R._readyPromise_resolve!==void 0&&(R._readyPromise_resolve(void 0),R._readyPromise_resolve=void 0,R._readyPromise_reject=void 0,R._readyPromiseState="fulfilled")}function MJt(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let $X=MJt();function kJt(R){if(!(typeof R=="function"||typeof R=="object")||R.name!=="DOMException")return!1;try{return new R,!0}catch{return!1}}function BJt(){let R=$X?.DOMException;return kJt(R)?R:void 0}function UJt(){let R=function(j,fe){this.message=j||"",this.name=fe||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return s(R,"DOMException"),R.prototype=Object.create(Error.prototype),Object.defineProperty(R.prototype,"constructor",{value:R,writable:!0,configurable:!0}),R}let FJt=BJt()||UJt();function uke(R,O,j,fe,ye,xe){let Be=ae(R),ot=QMe(O);R._disturbed=!0;let Yt=!1,Dt=u(void 0);return c((nr,br)=>{let ps;if(xe!==void 0){if(ps=()=>{let kt=xe.reason!==void 0?xe.reason:new FJt("Aborted","AbortError"),Kr=[];fe||Kr.push(()=>O._state==="writable"?L3(O,kt):u(void 0)),ye||Kr.push(()=>R._state==="readable"?lf(R,kt):u(void 0)),uu(()=>Promise.all(Kr.map(vs=>vs())),!0,kt)},xe.aborted){ps();return}xe.addEventListener("abort",ps)}function df(){return c((kt,Kr)=>{function vs(ul){ul?kt():d(Vb(),vs,Kr)}vs(!1)})}function Vb(){return Yt?u(!0):d(ot._readyPromise,()=>c((kt,Kr)=>{Ne(Be,{_chunkSteps:vs=>{Dt=d(eke(ot,vs),void 0,t),kt(!1)},_closeSteps:()=>kt(!0),_errorSteps:Kr})}))}if(Lp(R,Be._closedPromise,kt=>(fe?Wl(!0,kt):uu(()=>L3(O,kt),!0,kt),null)),Lp(O,ot._closedPromise,kt=>(ye?Wl(!0,kt):uu(()=>lf(R,kt),!0,kt),null)),Rc(R,Be._closedPromise,()=>(j?Wl():uu(()=>SJt(ot)),null)),k0(O)||O._state==="closed"){let kt=new TypeError("the destination writable stream closed before all data could be piped to it");ye?Wl(!0,kt):uu(()=>lf(R,kt),!0,kt)}g(df());function v_(){let kt=Dt;return d(Dt,()=>kt!==Dt?v_():void 0)}function Lp(kt,Kr,vs){kt._state==="errored"?vs(kt._storedError):p(Kr,vs)}function Rc(kt,Kr,vs){kt._state==="closed"?vs():h(Kr,vs)}function uu(kt,Kr,vs){if(Yt)return;Yt=!0,O._state==="writable"&&!k0(O)?h(v_(),ul):ul();function ul(){return f(kt(),()=>Mp(Kr,vs),jb=>Mp(!0,jb)),null}}function Wl(kt,Kr){Yt||(Yt=!0,O._state==="writable"&&!k0(O)?h(v_(),()=>Mp(kt,Kr)):Mp(kt,Kr))}function Mp(kt,Kr){return ZMe(ot),L(Be),xe!==void 0&&xe.removeEventListener("abort",ps),kt?br(Kr):nr(void 0),null}})}class Pp{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!q3(this))throw V3("desiredSize");return qX(this)}close(){if(!q3(this))throw V3("close");if(!qb(this))throw new TypeError("The stream is not in a state that permits close");xy(this)}enqueue(O=void 0){if(!q3(this))throw V3("enqueue");if(!qb(this))throw new TypeError("The stream is not in a state that permits enqueue");return $b(this,O)}error(O=void 0){if(!q3(this))throw V3("error");uf(this,O)}[b](O){xo(this);let j=this._cancelAlgorithm(O);return H3(this),j}[x](O){let j=this._controlledReadableStream;if(this._queue.length>0){let fe=On(this);this._closeRequested&&this._queue.length===0?(H3(this),vN(j)):EN(this),O._chunkSteps(fe)}else ne(j,O),EN(this)}[w](){}}Object.defineProperties(Pp.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),s(Pp.prototype.close,"close"),s(Pp.prototype.enqueue,"enqueue"),s(Pp.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Pp.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function q3(R){return!r(R)||!Object.prototype.hasOwnProperty.call(R,"_controlledReadableStream")?!1:R instanceof Pp}function EN(R){if(!lke(R))return;if(R._pulling){R._pullAgain=!0;return}R._pulling=!0;let j=R._pullAlgorithm();f(j,()=>(R._pulling=!1,R._pullAgain&&(R._pullAgain=!1,EN(R)),null),fe=>(uf(R,fe),null))}function lke(R){let O=R._controlledReadableStream;return!qb(R)||!R._started?!1:!!(E_(O)&&X(O)>0||qX(R)>0)}function H3(R){R._pullAlgorithm=void 0,R._cancelAlgorithm=void 0,R._strategySizeAlgorithm=void 0}function xy(R){if(!qb(R))return;let O=R._controlledReadableStream;R._closeRequested=!0,R._queue.length===0&&(H3(R),vN(O))}function $b(R,O){if(!qb(R))return;let j=R._controlledReadableStream;if(E_(j)&&X(j)>0)ie(j,O,!1);else{let fe;try{fe=R._strategySizeAlgorithm(O)}catch(ye){throw uf(R,ye),ye}try{Za(R,O,fe)}catch(ye){throw uf(R,ye),ye}}EN(R)}function uf(R,O){let j=R._controlledReadableStream;j._state==="readable"&&(xo(R),H3(R),pke(j,O))}function qX(R){let O=R._controlledReadableStream._state;return O==="errored"?null:O==="closed"?0:R._strategyHWM-R._queueTotalSize}function $Jt(R){return!lke(R)}function qb(R){let O=R._controlledReadableStream._state;return!R._closeRequested&&O==="readable"}function dke(R,O,j,fe,ye,xe,Be){O._controlledReadableStream=R,O._queue=void 0,O._queueTotalSize=void 0,xo(O),O._started=!1,O._closeRequested=!1,O._pullAgain=!1,O._pulling=!1,O._strategySizeAlgorithm=Be,O._strategyHWM=xe,O._pullAlgorithm=fe,O._cancelAlgorithm=ye,R._readableStreamController=O;let ot=j();f(u(ot),()=>(O._started=!0,EN(O),null),Yt=>(uf(O,Yt),null))}function qJt(R,O,j,fe){let ye=Object.create(Pp.prototype),xe,Be,ot;O.start!==void 0?xe=()=>O.start(ye):xe=()=>{},O.pull!==void 0?Be=()=>O.pull(ye):Be=()=>u(void 0),O.cancel!==void 0?ot=Yt=>O.cancel(Yt):ot=()=>u(void 0),dke(R,ye,xe,Be,ot,j,fe)}function V3(R){return new TypeError(`ReadableStreamDefaultController.prototype.${R} can only be used on a ReadableStreamDefaultController`)}function HJt(R,O){return cl(R._readableStreamController)?jJt(R):VJt(R)}function VJt(R,O){let j=ae(R),fe=!1,ye=!1,xe=!1,Be=!1,ot,Yt,Dt,nr,br,ps=c(Rc=>{br=Rc});function df(){return fe?(ye=!0,u(void 0)):(fe=!0,Ne(j,{_chunkSteps:uu=>{_(()=>{ye=!1;let Wl=uu,Mp=uu;xe||$b(Dt._readableStreamController,Wl),Be||$b(nr._readableStreamController,Mp),fe=!1,ye&&df()})},_closeSteps:()=>{fe=!1,xe||xy(Dt._readableStreamController),Be||xy(nr._readableStreamController),(!xe||!Be)&&br(void 0)},_errorSteps:()=>{fe=!1}}),u(void 0))}function Vb(Rc){if(xe=!0,ot=Rc,Be){let uu=ze([ot,Yt]),Wl=lf(R,uu);br(Wl)}return ps}function v_(Rc){if(Be=!0,Yt=Rc,xe){let uu=ze([ot,Yt]),Wl=lf(R,uu);br(Wl)}return ps}function Lp(){}return Dt=yN(Lp,df,Vb),nr=yN(Lp,df,v_),p(j._closedPromise,Rc=>(uf(Dt._readableStreamController,Rc),uf(nr._readableStreamController,Rc),(!xe||!Be)&&br(void 0),null)),[Dt,nr]}function jJt(R){let O=ae(R),j=!1,fe=!1,ye=!1,xe=!1,Be=!1,ot,Yt,Dt,nr,br,ps=c(kt=>{br=kt});function df(kt){p(kt._closedPromise,Kr=>(kt!==O||(zl(Dt._readableStreamController,Kr),zl(nr._readableStreamController,Kr),(!xe||!Be)&&br(void 0)),null))}function Vb(){Iy(O)&&(L(O),O=ae(R),df(O)),Ne(O,{_chunkSteps:Kr=>{_(()=>{fe=!1,ye=!1;let vs=Kr,ul=Kr;if(!xe&&!Be)try{ul=Gi(Kr)}catch(jb){zl(Dt._readableStreamController,jb),zl(nr._readableStreamController,jb),br(lf(R,jb));return}xe||x3(Dt._readableStreamController,vs),Be||x3(nr._readableStreamController,ul),j=!1,fe?Lp():ye&&Rc()})},_closeSteps:()=>{j=!1,xe||pN(Dt._readableStreamController),Be||pN(nr._readableStreamController),Dt._readableStreamController._pendingPullIntos.length>0&&w3(Dt._readableStreamController,0),nr._readableStreamController._pendingPullIntos.length>0&&w3(nr._readableStreamController,0),(!xe||!Be)&&br(void 0)},_errorSteps:()=>{j=!1}})}function v_(kt,Kr){be(O)&&(L(O),O=HMe(R),df(O));let vs=Kr?nr:Dt,ul=Kr?Dt:nr;KMe(O,kt,1,{_chunkSteps:Kb=>{_(()=>{fe=!1,ye=!1;let Gb=Kr?Be:xe;if(Kr?xe:Be)Gb||N3(vs._readableStreamController,Kb);else{let Cke;try{Cke=Gi(Kb)}catch(GX){zl(vs._readableStreamController,GX),zl(ul._readableStreamController,GX),br(lf(R,GX));return}Gb||N3(vs._readableStreamController,Kb),x3(ul._readableStreamController,Cke)}j=!1,fe?Lp():ye&&Rc()})},_closeSteps:Kb=>{j=!1;let Gb=Kr?Be:xe,X3=Kr?xe:Be;Gb||pN(vs._readableStreamController),X3||pN(ul._readableStreamController),Kb!==void 0&&(Gb||N3(vs._readableStreamController,Kb),!X3&&ul._readableStreamController._pendingPullIntos.length>0&&w3(ul._readableStreamController,0)),(!Gb||!X3)&&br(void 0)},_errorSteps:()=>{j=!1}})}function Lp(){if(j)return fe=!0,u(void 0);j=!0;let kt=CX(Dt._readableStreamController);return kt===null?Vb():v_(kt._view,!1),u(void 0)}function Rc(){if(j)return ye=!0,u(void 0);j=!0;let kt=CX(nr._readableStreamController);return kt===null?Vb():v_(kt._view,!0),u(void 0)}function uu(kt){if(xe=!0,ot=kt,Be){let Kr=ze([ot,Yt]),vs=lf(R,Kr);br(vs)}return ps}function Wl(kt){if(Be=!0,Yt=kt,xe){let Kr=ze([ot,Yt]),vs=lf(R,Kr);br(vs)}return ps}function Mp(){}return Dt=hke(Mp,Lp,uu),nr=hke(Mp,Rc,Wl),df(O),[Dt,nr]}function KJt(R){return r(R)&&typeof R.getReader<"u"}function GJt(R){return KJt(R)?QJt(R.getReader()):YJt(R)}function YJt(R){let O,j=it(R,"async"),fe=t;function ye(){let Be;try{Be=xt(j)}catch(Yt){return l(Yt)}let ot=u(Be);return m(ot,Yt=>{if(!r(Yt))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(ri(Yt))xy(O._readableStreamController);else{let nr=Ds(Yt);$b(O._readableStreamController,nr)}})}function xe(Be){let ot=j.iterator,Yt;try{Yt=Et(ot,"return")}catch(br){return l(br)}if(Yt===void 0)return u(void 0);let Dt;try{Dt=y(Yt,ot,[Be])}catch(br){return l(br)}let nr=u(Dt);return m(nr,br=>{if(!r(br))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return O=yN(fe,ye,xe,0),O}function QJt(R){let O,j=t;function fe(){let xe;try{xe=R.read()}catch(Be){return l(Be)}return m(xe,Be=>{if(!r(Be))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(Be.done)xy(O._readableStreamController);else{let ot=Be.value;$b(O._readableStreamController,ot)}})}function ye(xe){try{return u(R.cancel(xe))}catch(Be){return l(Be)}}return O=yN(j,fe,ye,0),O}function zJt(R,O){ee(R,O);let j=R,fe=j?.autoAllocateChunkSize,ye=j?.cancel,xe=j?.pull,Be=j?.start,ot=j?.type;return{autoAllocateChunkSize:fe===void 0?void 0:z(fe,`${O} has member 'autoAllocateChunkSize' that`),cancel:ye===void 0?void 0:WJt(ye,j,`${O} has member 'cancel' that`),pull:xe===void 0?void 0:XJt(xe,j,`${O} has member 'pull' that`),start:Be===void 0?void 0:JJt(Be,j,`${O} has member 'start' that`),type:ot===void 0?void 0:ZJt(ot,`${O} has member 'type' that`)}}function WJt(R,O,j){return de(R,j),fe=>E(R,O,[fe])}function XJt(R,O,j){return de(R,j),fe=>E(R,O,[fe])}function JJt(R,O,j){return de(R,j),fe=>y(R,O,[fe])}function ZJt(R,O){if(R=`${R}`,R!=="bytes")throw new TypeError(`${O} '${R}' is not a valid enumeration value for ReadableStreamType`);return R}function eZt(R,O){return ee(R,O),{preventCancel:!!R?.preventCancel}}function fke(R,O){ee(R,O);let j=R?.preventAbort,fe=R?.preventCancel,ye=R?.preventClose,xe=R?.signal;return xe!==void 0&&tZt(xe,`${O} has member 'signal' that`),{preventAbort:!!j,preventCancel:!!fe,preventClose:!!ye,signal:xe}}function tZt(R,O){if(!uJt(R))throw new TypeError(`${O} is not an AbortSignal.`)}function rZt(R,O){ee(R,O);let j=R?.readable;D(j,"readable","ReadableWritablePair"),Z(j,`${O} has member 'readable' that`);let fe=R?.writable;return D(fe,"writable","ReadableWritablePair"),YMe(fe,`${O} has member 'writable' that`),{readable:j,writable:fe}}class wo{constructor(O={},j={}){O===void 0?O=null:k(O,"First parameter");let fe=P3(j,"Second parameter"),ye=zJt(O,"First parameter");if(HX(this),ye.type==="bytes"){if(fe.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let xe=gN(fe,0);WXt(this,ye,xe)}else{let xe=D3(fe),Be=gN(fe,1);qJt(this,ye,Be,xe)}}get locked(){if(!A_(this))throw wy("locked");return E_(this)}cancel(O=void 0){return A_(this)?E_(this)?l(new TypeError("Cannot cancel a stream that already has a reader")):lf(this,O):l(wy("cancel"))}getReader(O=void 0){if(!A_(this))throw wy("getReader");return JXt(O,"First parameter").mode===void 0?ae(this):HMe(this)}pipeThrough(O,j={}){if(!A_(this))throw wy("pipeThrough");J(O,1,"pipeThrough");let fe=rZt(O,"First parameter"),ye=fke(j,"Second parameter");if(E_(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Ub(fe.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let xe=uke(this,fe.writable,ye.preventClose,ye.preventAbort,ye.preventCancel,ye.signal);return g(xe),fe.readable}pipeTo(O,j={}){if(!A_(this))return l(wy("pipeTo"));if(O===void 0)return l("Parameter 1 is required in 'pipeTo'.");if(!Bb(O))return l(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let fe;try{fe=fke(j,"Second parameter")}catch(ye){return l(ye)}return E_(this)?l(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Ub(O)?l(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):uke(this,O,fe.preventClose,fe.preventAbort,fe.preventCancel,fe.signal)}tee(){if(!A_(this))throw wy("tee");let O=HJt(this);return ze(O)}values(O=void 0){if(!A_(this))throw wy("values");let j=eZt(O,"First parameter");return ve(this,j.preventCancel)}[Vt](O){return this.values(O)}static from(O){return GJt(O)}}Object.defineProperties(wo,{from:{enumerable:!0}}),Object.defineProperties(wo.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),s(wo.from,"from"),s(wo.prototype.cancel,"cancel"),s(wo.prototype.getReader,"getReader"),s(wo.prototype.pipeThrough,"pipeThrough"),s(wo.prototype.pipeTo,"pipeTo"),s(wo.prototype.tee,"tee"),s(wo.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(wo.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(wo.prototype,Vt,{value:wo.prototype.values,writable:!0,configurable:!0});function yN(R,O,j,fe=1,ye=()=>1){let xe=Object.create(wo.prototype);HX(xe);let Be=Object.create(Pp.prototype);return dke(xe,Be,R,O,j,fe,ye),xe}function hke(R,O,j){let fe=Object.create(wo.prototype);HX(fe);let ye=Object.create(cf.prototype);return qMe(fe,ye,R,O,j,0,void 0),fe}function HX(R){R._state="readable",R._reader=void 0,R._storedError=void 0,R._disturbed=!1}function A_(R){return!r(R)||!Object.prototype.hasOwnProperty.call(R,"_readableStreamController")?!1:R instanceof wo}function E_(R){return R._reader!==void 0}function lf(R,O){if(R._disturbed=!0,R._state==="closed")return u(void 0);if(R._state==="errored")return l(R._storedError);vN(R);let j=R._reader;if(j!==void 0&&Iy(j)){let ye=j._readIntoRequests;j._readIntoRequests=new v,ye.forEach(xe=>{xe._closeSteps(void 0)})}let fe=R._readableStreamController[b](O);return m(fe,t)}function vN(R){R._state="closed";let O=R._reader;if(O!==void 0&&(se(O),be(O))){let j=O._readRequests;O._readRequests=new v,j.forEach(fe=>{fe._closeSteps()})}}function pke(R,O){R._state="errored",R._storedError=O;let j=R._reader;j!==void 0&&(W(j,O),be(j)?je(j,O):GMe(j,O))}function wy(R){return new TypeError(`ReadableStream.prototype.${R} can only be used on a ReadableStream`)}function mke(R,O){ee(R,O);let j=R?.highWaterMark;return D(j,"highWaterMark","QueuingStrategyInit"),{highWaterMark:H(j)}}let gke=R=>R.byteLength;s(gke,"size");class j3{constructor(O){J(O,1,"ByteLengthQueuingStrategy"),O=mke(O,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=O.highWaterMark}get highWaterMark(){if(!Ake(this))throw _ke("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Ake(this))throw _ke("size");return gke}}Object.defineProperties(j3.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(j3.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function _ke(R){return new TypeError(`ByteLengthQueuingStrategy.prototype.${R} can only be used on a ByteLengthQueuingStrategy`)}function Ake(R){return!r(R)||!Object.prototype.hasOwnProperty.call(R,"_byteLengthQueuingStrategyHighWaterMark")?!1:R instanceof j3}let Eke=()=>1;s(Eke,"size");class K3{constructor(O){J(O,1,"CountQueuingStrategy"),O=mke(O,"First parameter"),this._countQueuingStrategyHighWaterMark=O.highWaterMark}get highWaterMark(){if(!vke(this))throw yke("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!vke(this))throw yke("size");return Eke}}Object.defineProperties(K3.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(K3.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function yke(R){return new TypeError(`CountQueuingStrategy.prototype.${R} can only be used on a CountQueuingStrategy`)}function vke(R){return!r(R)||!Object.prototype.hasOwnProperty.call(R,"_countQueuingStrategyHighWaterMark")?!1:R instanceof K3}function nZt(R,O){ee(R,O);let j=R?.cancel,fe=R?.flush,ye=R?.readableType,xe=R?.start,Be=R?.transform,ot=R?.writableType;return{cancel:j===void 0?void 0:oZt(j,R,`${O} has member 'cancel' that`),flush:fe===void 0?void 0:sZt(fe,R,`${O} has member 'flush' that`),readableType:ye,start:xe===void 0?void 0:iZt(xe,R,`${O} has member 'start' that`),transform:Be===void 0?void 0:aZt(Be,R,`${O} has member 'transform' that`),writableType:ot}}function sZt(R,O,j){return de(R,j),fe=>E(R,O,[fe])}function iZt(R,O,j){return de(R,j),fe=>y(R,O,[fe])}function aZt(R,O,j){return de(R,j),(fe,ye)=>E(R,O,[fe,ye])}function oZt(R,O,j){return de(R,j),fe=>E(R,O,[fe])}class G3{constructor(O={},j={},fe={}){O===void 0&&(O=null);let ye=P3(j,"Second parameter"),xe=P3(fe,"Third parameter"),Be=nZt(O,"First parameter");if(Be.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(Be.writableType!==void 0)throw new RangeError("Invalid writableType specified");let ot=gN(xe,0),Yt=D3(xe),Dt=gN(ye,1),nr=D3(ye),br,ps=c(df=>{br=df});cZt(this,ps,Dt,nr,ot,Yt),lZt(this,Be),Be.start!==void 0?br(Be.start(this._transformStreamController)):br(void 0)}get readable(){if(!Ske(this))throw Rke("readable");return this._readable}get writable(){if(!Ske(this))throw Rke("writable");return this._writable}}Object.defineProperties(G3.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(G3.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function cZt(R,O,j,fe,ye,xe){function Be(){return O}function ot(ps){return hZt(R,ps)}function Yt(ps){return pZt(R,ps)}function Dt(){return mZt(R)}R._writable=fJt(Be,ot,Dt,Yt,j,fe);function nr(){return gZt(R)}function br(ps){return _Zt(R,ps)}R._readable=yN(Be,nr,br,ye,xe),R._backpressure=void 0,R._backpressureChangePromise=void 0,R._backpressureChangePromise_resolve=void 0,Y3(R,!0),R._transformStreamController=void 0}function Ske(R){return!r(R)||!Object.prototype.hasOwnProperty.call(R,"_transformStreamController")?!1:R instanceof G3}function Tke(R,O){uf(R._readable._readableStreamController,O),VX(R,O)}function VX(R,O){z3(R._transformStreamController),_N(R._writable._writableStreamController,O),jX(R)}function jX(R){R._backpressure&&Y3(R,!1)}function Y3(R,O){R._backpressureChangePromise!==void 0&&R._backpressureChangePromise_resolve(),R._backpressureChangePromise=c(j=>{R._backpressureChangePromise_resolve=j}),R._backpressure=O}class y_{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Q3(this))throw W3("desiredSize");let O=this._controlledTransformStream._readable._readableStreamController;return qX(O)}enqueue(O=void 0){if(!Q3(this))throw W3("enqueue");bke(this,O)}error(O=void 0){if(!Q3(this))throw W3("error");dZt(this,O)}terminate(){if(!Q3(this))throw W3("terminate");fZt(this)}}Object.defineProperties(y_.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),s(y_.prototype.enqueue,"enqueue"),s(y_.prototype.error,"error"),s(y_.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(y_.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function Q3(R){return!r(R)||!Object.prototype.hasOwnProperty.call(R,"_controlledTransformStream")?!1:R instanceof y_}function uZt(R,O,j,fe,ye){O._controlledTransformStream=R,R._transformStreamController=O,O._transformAlgorithm=j,O._flushAlgorithm=fe,O._cancelAlgorithm=ye,O._finishPromise=void 0,O._finishPromise_resolve=void 0,O._finishPromise_reject=void 0}function lZt(R,O){let j=Object.create(y_.prototype),fe,ye,xe;O.transform!==void 0?fe=Be=>O.transform(Be,j):fe=Be=>{try{return bke(j,Be),u(void 0)}catch(ot){return l(ot)}},O.flush!==void 0?ye=()=>O.flush(j):ye=()=>u(void 0),O.cancel!==void 0?xe=Be=>O.cancel(Be):xe=()=>u(void 0),uZt(R,j,fe,ye,xe)}function z3(R){R._transformAlgorithm=void 0,R._flushAlgorithm=void 0,R._cancelAlgorithm=void 0}function bke(R,O){let j=R._controlledTransformStream,fe=j._readable._readableStreamController;if(!qb(fe))throw new TypeError("Readable side is not in a state that permits enqueue");try{$b(fe,O)}catch(xe){throw VX(j,xe),j._readable._storedError}$Jt(fe)!==j._backpressure&&Y3(j,!0)}function dZt(R,O){Tke(R._controlledTransformStream,O)}function Ike(R,O){let j=R._transformAlgorithm(O);return m(j,void 0,fe=>{throw Tke(R._controlledTransformStream,fe),fe})}function fZt(R){let O=R._controlledTransformStream,j=O._readable._readableStreamController;xy(j);let fe=new TypeError("TransformStream terminated");VX(O,fe)}function hZt(R,O){let j=R._transformStreamController;if(R._backpressure){let fe=R._backpressureChangePromise;return m(fe,()=>{let ye=R._writable;if(ye._state==="erroring")throw ye._storedError;return Ike(j,O)})}return Ike(j,O)}function pZt(R,O){let j=R._transformStreamController;if(j._finishPromise!==void 0)return j._finishPromise;let fe=R._readable;j._finishPromise=c((xe,Be)=>{j._finishPromise_resolve=xe,j._finishPromise_reject=Be});let ye=j._cancelAlgorithm(O);return z3(j),f(ye,()=>(fe._state==="errored"?Hb(j,fe._storedError):(uf(fe._readableStreamController,O),KX(j)),null),xe=>(uf(fe._readableStreamController,xe),Hb(j,xe),null)),j._finishPromise}function mZt(R){let O=R._transformStreamController;if(O._finishPromise!==void 0)return O._finishPromise;let j=R._readable;O._finishPromise=c((ye,xe)=>{O._finishPromise_resolve=ye,O._finishPromise_reject=xe});let fe=O._flushAlgorithm();return z3(O),f(fe,()=>(j._state==="errored"?Hb(O,j._storedError):(xy(j._readableStreamController),KX(O)),null),ye=>(uf(j._readableStreamController,ye),Hb(O,ye),null)),O._finishPromise}function gZt(R){return Y3(R,!1),R._backpressureChangePromise}function _Zt(R,O){let j=R._transformStreamController;if(j._finishPromise!==void 0)return j._finishPromise;let fe=R._writable;j._finishPromise=c((xe,Be)=>{j._finishPromise_resolve=xe,j._finishPromise_reject=Be});let ye=j._cancelAlgorithm(O);return z3(j),f(ye,()=>(fe._state==="errored"?Hb(j,fe._storedError):(_N(fe._writableStreamController,O),jX(R),KX(j)),null),xe=>(_N(fe._writableStreamController,xe),jX(R),Hb(j,xe),null)),j._finishPromise}function W3(R){return new TypeError(`TransformStreamDefaultController.prototype.${R} can only be used on a TransformStreamDefaultController`)}function KX(R){R._finishPromise_resolve!==void 0&&(R._finishPromise_resolve(),R._finishPromise_resolve=void 0,R._finishPromise_reject=void 0)}function Hb(R,O){R._finishPromise_reject!==void 0&&(g(R._finishPromise),R._finishPromise_reject(O),R._finishPromise_resolve=void 0,R._finishPromise_reject=void 0)}function Rke(R){return new TypeError(`TransformStream.prototype.${R} can only be used on a TransformStream`)}e.ByteLengthQueuingStrategy=j3,e.CountQueuingStrategy=K3,e.ReadableByteStreamController=cf,e.ReadableStream=wo,e.ReadableStreamBYOBReader=g_,e.ReadableStreamBYOBRequest=M0,e.ReadableStreamDefaultController=Pp,e.ReadableStreamDefaultReader=me,e.TransformStream=G3,e.TransformStreamDefaultController=y_,e.WritableStream=__,e.WritableStreamDefaultController=Fb,e.WritableStreamDefaultWriter=Dp})});var UZe=S(()=>{if(!globalThis.ReadableStream)try{let e=require("node:process"),{emitWarning:t}=e;try{e.emitWarning=()=>{},Object.assign(globalThis,require("node:stream/web")),e.emitWarning=t}catch(r){throw e.emitWarning=t,r}}catch{Object.assign(globalThis,BZe())}try{let{Blob:e}=require("buffer");e&&!e.prototype.stream&&(e.prototype.stream=function(r){let n=0,s=this;return new ReadableStream({type:"bytes",async pull(i){let o=await s.slice(n,Math.min(s.size,n+65536)).arrayBuffer();n+=o.byteLength,i.enqueue(new Uint8Array(o)),n===s.size&&i.close()}})})}catch{}});async function*lue(e,t=!0){for(let r of e)if("stream"in r)yield*r.stream();else if(ArrayBuffer.isView(r))if(t){let n=r.byteOffset,s=r.byteOffset+r.byteLength;for(;n!==s;){let i=Math.min(s-n,FZe),a=r.buffer.slice(n,n+i);n+=a.byteLength,yield new Uint8Array(a)}}else yield r;else{let n=0,s=r;for(;n!==s.size;){let a=await s.slice(n,Math.min(s.size,n+FZe)).arrayBuffer();n+=a.byteLength,yield new Uint8Array(a)}}}var Zjn,FZe,$Ze,UBr,Pf,y2=oe(()=>{Zjn=we(UZe(),1);FZe=65536;$Ze=class due{#e=[];#t="";#r=0;#n="transparent";constructor(t=[],r={}){if(typeof t!="object"||t===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof t[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof r!="object"&&typeof r!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");r===null&&(r={});let n=new TextEncoder;for(let i of t){let a;ArrayBuffer.isView(i)?a=new Uint8Array(i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)):i instanceof ArrayBuffer?a=new Uint8Array(i.slice(0)):i instanceof due?a=i:a=n.encode(`${i}`),this.#r+=ArrayBuffer.isView(a)?a.byteLength:a.size,this.#e.push(a)}this.#n=`${r.endings===void 0?"transparent":r.endings}`;let s=r.type===void 0?"":String(r.type);this.#t=/^[\x20-\x7E]*$/.test(s)?s:""}get size(){return this.#r}get type(){return this.#t}async text(){let t=new TextDecoder,r="";for await(let n of lue(this.#e,!1))r+=t.decode(n,{stream:!0});return r+=t.decode(),r}async arrayBuffer(){let t=new Uint8Array(this.size),r=0;for await(let n of lue(this.#e,!1))t.set(n,r),r+=n.length;return t.buffer}stream(){let t=lue(this.#e,!0);return new globalThis.ReadableStream({type:"bytes",async pull(r){let n=await t.next();n.done?r.close():r.enqueue(n.value)},async cancel(){await t.return()}})}slice(t=0,r=this.size,n=""){let{size:s}=this,i=t<0?Math.max(s+t,0):Math.min(t,s),a=r<0?Math.max(s+r,0):Math.min(r,s),o=Math.max(a-i,0),c=this.#e,u=[],l=0;for(let f of c){if(l>=o)break;let h=ArrayBuffer.isView(f)?f.byteLength:f.size;if(i&&h<=i)i-=h,a-=h;else{let p;ArrayBuffer.isView(f)?(p=f.subarray(i,Math.min(h,a)),l+=p.byteLength):(p=f.slice(i,Math.min(h,a)),l+=p.size),a-=h,u.push(p),i=0}}let d=new due([],{type:String(n).toLowerCase()});return d.#r=o,d.#e=u,d}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](t){return t&&typeof t=="object"&&typeof t.constructor=="function"&&(typeof t.stream=="function"||typeof t.arrayBuffer=="function")&&/^(Blob|File)$/.test(t[Symbol.toStringTag])}};Object.defineProperties($Ze.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});UBr=$Ze,Pf=UBr});var FBr,$Br,_A,fue=oe(()=>{y2();FBr=class extends Pf{#e=0;#t="";constructor(t,r,n={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(t,n),n===null&&(n={});let s=n.lastModified===void 0?Date.now():Number(n.lastModified);Number.isNaN(s)||(this.#e=s),this.#t=String(r)}get name(){return this.#t}get lastModified(){return this.#e}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](t){return!!t&&t instanceof Pf&&/^(File)$/.test(t[Symbol.toStringTag])}},$Br=FBr,_A=$Br});function VZe(e,t=Pf){var r=`${qZe()}${qZe()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),n=[],s=`--${r}\r +Content-Disposition: form-data; name="`;return e.forEach((i,a)=>typeof i=="string"?n.push(s+hue(a)+`"\r +\r +${i.replace(/\r(?!\n)|(?{y2();fue();({toStringTag:v2,iterator:qBr,hasInstance:HBr}=Symbol),qZe=Math.random,VBr="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),HZe=(e,t,r)=>(e+="",/^(Blob|File)$/.test(t&&t[v2])?[(r=r!==void 0?r+"":t[v2]=="File"?t.name:"blob",e),t.name!==r||t[v2]=="blob"?new _A([t],r,t):t]:[e,t+""]),hue=(e,t)=>(t?e:e.replace(/\r?\n|\r/g,`\r +`)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),Dv=(e,t,r)=>{if(t.lengthtypeof t[r]!="function")}append(...t){Dv("append",arguments,2),this.#e.push(HZe(...t))}delete(t){Dv("delete",arguments,1),t+="",this.#e=this.#e.filter(([r])=>r!==t)}get(t){Dv("get",arguments,1),t+="";for(var r=this.#e,n=r.length,s=0;sn[0]===t&&r.push(n[1])),r}has(t){return Dv("has",arguments,1),t+="",this.#e.some(r=>r[0]===t)}forEach(t,r){Dv("forEach",arguments,1);for(var[n,s]of this)t.call(r,s,n,this)}set(...t){Dv("set",arguments,2);var r=[],n=!0;t=HZe(...t),this.#e.forEach(s=>{s[0]===t[0]?n&&(n=!r.push(t)):r.push(s)}),n&&r.push(t),this.#e=r}*entries(){yield*this.#e}*keys(){for(var[t]of this)yield t}*values(){for(var[,t]of this)yield t}}});var mm,G5=oe(()=>{mm=class extends Error{constructor(t,r){super(t),Error.captureStackTrace(this,this.constructor),this.type=r}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}});var kc,pue=oe(()=>{G5();kc=class extends mm{constructor(t,r,n){super(t,r),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}}});var Y5,mue,S2,jZe,KZe,GZe,Q5=oe(()=>{Y5=Symbol.toStringTag,mue=e=>typeof e=="object"&&typeof e.append=="function"&&typeof e.delete=="function"&&typeof e.get=="function"&&typeof e.getAll=="function"&&typeof e.has=="function"&&typeof e.set=="function"&&typeof e.sort=="function"&&e[Y5]==="URLSearchParams",S2=e=>e&&typeof e=="object"&&typeof e.arrayBuffer=="function"&&typeof e.type=="string"&&typeof e.stream=="function"&&typeof e.constructor=="function"&&/^(Blob|File)$/.test(e[Y5]),jZe=e=>typeof e=="object"&&(e[Y5]==="AbortSignal"||e[Y5]==="EventTarget"),KZe=(e,t)=>{let r=new URL(t).hostname,n=new URL(e).hostname;return r===n||r.endsWith(`.${n}`)},GZe=(e,t)=>{let r=new URL(t).protocol,n=new URL(e).protocol;return r===n}});var QZe=S((fKn,YZe)=>{if(!globalThis.DOMException)try{let{MessageChannel:e}=require("worker_threads"),t=new e().port1,r=new ArrayBuffer;t.postMessage(r,[r,r])}catch(e){e.constructor.name==="DOMException"&&(globalThis.DOMException=e.constructor)}YZe.exports=globalThis.DOMException});var Pv,zZe,WZe,gue,XZe,JZe,ZZe,eet,tet,ret,z5,_ue=oe(()=>{Pv=require("node:fs"),zZe=require("node:path"),WZe=we(QZe(),1);fue();y2();({stat:gue}=Pv.promises),XZe=(e,t)=>tet((0,Pv.statSync)(e),e,t),JZe=(e,t)=>gue(e).then(r=>tet(r,e,t)),ZZe=(e,t)=>gue(e).then(r=>ret(r,e,t)),eet=(e,t)=>ret((0,Pv.statSync)(e),e,t),tet=(e,t,r="")=>new Pf([new z5({path:t,size:e.size,lastModified:e.mtimeMs,start:0})],{type:r}),ret=(e,t,r="")=>new _A([new z5({path:t,size:e.size,lastModified:e.mtimeMs,start:0})],(0,zZe.basename)(t),{type:r,lastModified:e.mtimeMs}),z5=class e{#e;#t;constructor(t){this.#e=t.path,this.#t=t.start,this.size=t.size,this.lastModified=t.lastModified}slice(t,r){return new e({path:this.#e,lastModified:this.lastModified,size:r-t,start:this.#t+t})}async*stream(){let{mtimeMs:t}=await gue(this.#e);if(t>this.lastModified)throw new WZe.default("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.","NotReadableError");yield*(0,Pv.createReadStream)(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var set={};Bt(set,{toFormData:()=>WBr});function zBr(e){let t=e.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!t)return;let r=t[2]||t[3]||"",n=r.slice(r.lastIndexOf("\\")+1);return n=n.replace(/%22/g,'"'),n=n.replace(/&#(\d{4});/g,(s,i)=>String.fromCharCode(i)),n}async function WBr(e,t){if(!/multipart/i.test(t))throw new TypeError("Failed to fetch");let r=t.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!r)throw new TypeError("no or bad content-type header, no multipart boundary");let n=new Aue(r[1]||r[2]),s,i,a,o,c,u,l=[],d=new AA,f=_=>{a+=g.decode(_,{stream:!0})},h=_=>{l.push(_)},p=()=>{let _=new _A(l,u,{type:c});d.append(o,_)},m=()=>{d.append(o,a)},g=new TextDecoder("utf-8");g.decode(),n.onPartBegin=function(){n.onPartData=f,n.onPartEnd=m,s="",i="",a="",o="",c="",u=null,l.length=0},n.onHeaderField=function(_){s+=g.decode(_,{stream:!0})},n.onHeaderValue=function(_){i+=g.decode(_,{stream:!0})},n.onHeaderEnd=function(){if(i+=g.decode(),s=s.toLowerCase(),s==="content-disposition"){let _=i.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);_&&(o=_[2]||_[3]||""),u=zBr(i),u&&(n.onPartData=h,n.onPartEnd=p)}else s==="content-type"&&(c=i);i="",s=""};for await(let _ of e)n.write(_);return n.end(),d}var fh,Ts,net,EA,W5,X5,jBr,T2,KBr,GBr,YBr,QBr,Lv,Aue,iet=oe(()=>{_ue();K5();fh=0,Ts={START_BOUNDARY:fh++,HEADER_FIELD_START:fh++,HEADER_FIELD:fh++,HEADER_VALUE_START:fh++,HEADER_VALUE:fh++,HEADER_VALUE_ALMOST_DONE:fh++,HEADERS_ALMOST_DONE:fh++,PART_DATA_START:fh++,PART_DATA:fh++,END:fh++},net=1,EA={PART_BOUNDARY:net,LAST_BOUNDARY:net*=2},W5=10,X5=13,jBr=32,T2=45,KBr=58,GBr=97,YBr=122,QBr=e=>e|32,Lv=()=>{},Aue=class{constructor(t){this.index=0,this.flags=0,this.onHeaderEnd=Lv,this.onHeaderField=Lv,this.onHeadersEnd=Lv,this.onHeaderValue=Lv,this.onPartBegin=Lv,this.onPartData=Lv,this.onPartEnd=Lv,this.boundaryChars={},t=`\r +--`+t;let r=new Uint8Array(t.length);for(let n=0;n{this[A+"Mark"]=r},_=A=>{delete this[A+"Mark"]},y=(A,v,T,C)=>{(v===void 0||v!==T)&&this[A](C&&C.subarray(v,T))},E=(A,v)=>{let T=A+"Mark";T in this&&(v?(y(A,this[T],r,t),delete this[T]):(y(A,this[T],t.length,t),this[T]=0))};for(r=0;rYBr)return;break;case Ts.HEADER_VALUE_START:if(p===jBr)break;g("onHeaderValue"),u=Ts.HEADER_VALUE;case Ts.HEADER_VALUE:p===X5&&(E("onHeaderValue",!0),y("onHeaderEnd"),u=Ts.HEADER_VALUE_ALMOST_DONE);break;case Ts.HEADER_VALUE_ALMOST_DONE:if(p!==W5)return;u=Ts.HEADER_FIELD_START;break;case Ts.HEADERS_ALMOST_DONE:if(p!==W5)return;y("onHeadersEnd"),u=Ts.PART_DATA_START;break;case Ts.PART_DATA_START:u=Ts.PART_DATA,g("onPartData");case Ts.PART_DATA:if(s=c,c===0){for(r+=f;r0)i[c-1]=p;else if(s>0){let A=new Uint8Array(i.buffer,i.byteOffset,i.byteLength);y("onPartData",0,s,A),s=0,g("onPartData"),r--}break;case Ts.END:break;default:throw new Error(`Unexpected state entered: ${u}`)}E("onHeaderField"),E("onHeaderValue"),E("onPartData"),this.index=c,this.state=u,this.flags=l}end(){if(this.state===Ts.HEADER_FIELD_START&&this.index===0||this.state===Ts.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Ts.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});async function Eue(e){if(e[wu].disturbed)throw new TypeError(`body used already for: ${e.url}`);if(e[wu].disturbed=!0,e[wu].error)throw e[wu].error;let{body:t}=e;if(t===null)return pl.Buffer.alloc(0);if(!(t instanceof vd.default))return pl.Buffer.alloc(0);let r=[],n=0;try{for await(let s of t){if(e.size>0&&n+s.length>e.size){let i=new kc(`content size at ${e.url} over limit: ${e.size}`,"max-size");throw t.destroy(i),i}n+=s.length,r.push(s)}}catch(s){throw s instanceof mm?s:new kc(`Invalid response body while trying to fetch ${e.url}: ${s.message}`,"system",s)}if(t.readableEnded===!0||t._readableState.ended===!0)try{return r.every(s=>typeof s=="string")?pl.Buffer.from(r.join("")):pl.Buffer.concat(r,n)}catch(s){throw new kc(`Could not create Buffer from response body for ${e.url}: ${s.message}`,"system",s)}else throw new kc(`Premature close of server response while trying to fetch ${e.url}`)}var vd,gm,pl,XBr,wu,hh,VI,JBr,J5,aet,oet,Z5=oe(()=>{vd=we(require("node:stream"),1),gm=require("node:util"),pl=require("node:buffer");y2();K5();pue();G5();Q5();XBr=(0,gm.promisify)(vd.default.pipeline),wu=Symbol("Body internals"),hh=class{constructor(t,{size:r=0}={}){let n=null;t===null?t=null:mue(t)?t=pl.Buffer.from(t.toString()):S2(t)||pl.Buffer.isBuffer(t)||(gm.types.isAnyArrayBuffer(t)?t=pl.Buffer.from(t):ArrayBuffer.isView(t)?t=pl.Buffer.from(t.buffer,t.byteOffset,t.byteLength):t instanceof vd.default||(t instanceof AA?(t=VZe(t),n=t.type.split("=")[1]):t=pl.Buffer.from(String(t))));let s=t;pl.Buffer.isBuffer(t)?s=vd.default.Readable.from(t):S2(t)&&(s=vd.default.Readable.from(t.stream())),this[wu]={body:t,stream:s,boundary:n,disturbed:!1,error:null},this.size=r,t instanceof vd.default&&t.on("error",i=>{let a=i instanceof mm?i:new kc(`Invalid response body while trying to fetch ${this.url}: ${i.message}`,"system",i);this[wu].error=a})}get body(){return this[wu].stream}get bodyUsed(){return this[wu].disturbed}async arrayBuffer(){let{buffer:t,byteOffset:r,byteLength:n}=await Eue(this);return t.slice(r,r+n)}async formData(){let t=this.headers.get("content-type");if(t.startsWith("application/x-www-form-urlencoded")){let n=new AA,s=new URLSearchParams(await this.text());for(let[i,a]of s)n.append(i,a);return n}let{toFormData:r}=await Promise.resolve().then(()=>(iet(),set));return r(this.body,t)}async blob(){let t=this.headers&&this.headers.get("content-type")||this[wu].body&&this[wu].body.type||"",r=await this.arrayBuffer();return new Pf([r],{type:t})}async json(){let t=await this.text();return JSON.parse(t)}async text(){let t=await Eue(this);return new TextDecoder().decode(t)}buffer(){return Eue(this)}};hh.prototype.buffer=(0,gm.deprecate)(hh.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(hh.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:(0,gm.deprecate)(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});VI=(e,t)=>{let r,n,{body:s}=e[wu];if(e.bodyUsed)throw new Error("cannot clone body after it is used");return s instanceof vd.default&&typeof s.getBoundary!="function"&&(r=new vd.PassThrough({highWaterMark:t}),n=new vd.PassThrough({highWaterMark:t}),s.pipe(r),s.pipe(n),e[wu].stream=r,s=n),s},JBr=(0,gm.deprecate)(e=>e.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),J5=(e,t)=>e===null?null:typeof e=="string"?"text/plain;charset=UTF-8":mue(e)?"application/x-www-form-urlencoded;charset=UTF-8":S2(e)?e.type||null:pl.Buffer.isBuffer(e)||gm.types.isAnyArrayBuffer(e)||ArrayBuffer.isView(e)?null:e instanceof AA?`multipart/form-data; boundary=${t[wu].boundary}`:e&&typeof e.getBoundary=="function"?`multipart/form-data;boundary=${JBr(e)}`:e instanceof vd.default?null:"text/plain;charset=UTF-8",aet=e=>{let{body:t}=e[wu];return t===null?0:S2(t)?t.size:pl.Buffer.isBuffer(t)?t.length:t&&typeof t.getLengthSync=="function"&&t.hasKnownLength&&t.hasKnownLength()?t.getLengthSync():null},oet=async(e,{body:t})=>{t===null?e.end():await XBr(t,e)}});function cet(e=[]){return new Go(e.reduce((t,r,n,s)=>(n%2===0&&t.push(s.slice(n,n+2)),t),[]).filter(([t,r])=>{try{return e$(t),vue(t,String(r)),!0}catch{return!1}}))}var yue,b2,e$,vue,Go,t$=oe(()=>{yue=require("node:util"),b2=we(require("node:http"),1),e$=typeof b2.default.validateHeaderName=="function"?b2.default.validateHeaderName:e=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(e)){let t=new TypeError(`Header name must be a valid HTTP token [${e}]`);throw Object.defineProperty(t,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),t}},vue=typeof b2.default.validateHeaderValue=="function"?b2.default.validateHeaderValue:(e,t)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(t)){let r=new TypeError(`Invalid character in header content ["${e}"]`);throw Object.defineProperty(r,"code",{value:"ERR_INVALID_CHAR"}),r}},Go=class e extends URLSearchParams{constructor(t){let r=[];if(t instanceof e){let n=t.raw();for(let[s,i]of Object.entries(n))r.push(...i.map(a=>[s,a]))}else if(t!=null)if(typeof t=="object"&&!yue.types.isBoxedPrimitive(t)){let n=t[Symbol.iterator];if(n==null)r.push(...Object.entries(t));else{if(typeof n!="function")throw new TypeError("Header pairs must be iterable");r=[...t].map(s=>{if(typeof s!="object"||yue.types.isBoxedPrimitive(s))throw new TypeError("Each header pair must be an iterable object");return[...s]}).map(s=>{if(s.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...s]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence> or record)");return r=r.length>0?r.map(([n,s])=>(e$(n),vue(n,String(s)),[String(n).toLowerCase(),String(s)])):void 0,super(r),new Proxy(this,{get(n,s,i){switch(s){case"append":case"set":return(a,o)=>(e$(a),vue(a,String(o)),URLSearchParams.prototype[s].call(n,String(a).toLowerCase(),String(o)));case"delete":case"has":case"getAll":return a=>(e$(a),URLSearchParams.prototype[s].call(n,String(a).toLowerCase()));case"keys":return()=>(n.sort(),new Set(URLSearchParams.prototype.keys.call(n)).keys());default:return Reflect.get(n,s,i)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(t){let r=this.getAll(t);if(r.length===0)return null;let n=r.join(", ");return/^content-encoding$/i.test(t)&&(n=n.toLowerCase()),n}forEach(t,r=void 0){for(let n of this.keys())Reflect.apply(t,r,[this.get(n),n,this])}*values(){for(let t of this.keys())yield this.get(t)}*entries(){for(let t of this.keys())yield[t,this.get(t)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((t,r)=>(t[r]=this.getAll(r),t),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((t,r)=>{let n=this.getAll(r);return r==="host"?t[r]=n[0]:t[r]=n.length>1?n:n[0],t},{})}};Object.defineProperties(Go.prototype,["get","entries","forEach","values"].reduce((e,t)=>(e[t]={enumerable:!0},e),{}))});var ZBr,I2,Sue=oe(()=>{ZBr=new Set([301,302,303,307,308]),I2=e=>ZBr.has(e)});var Lf,Bc,uet=oe(()=>{t$();Z5();Sue();Lf=Symbol("Response internals"),Bc=class e extends hh{constructor(t=null,r={}){super(t,r);let n=r.status!=null?r.status:200,s=new Go(r.headers);if(t!==null&&!s.has("Content-Type")){let i=J5(t,this);i&&s.append("Content-Type",i)}this[Lf]={type:"default",url:r.url,status:n,statusText:r.statusText||"",headers:s,counter:r.counter,highWaterMark:r.highWaterMark}}get type(){return this[Lf].type}get url(){return this[Lf].url||""}get status(){return this[Lf].status}get ok(){return this[Lf].status>=200&&this[Lf].status<300}get redirected(){return this[Lf].counter>0}get statusText(){return this[Lf].statusText}get headers(){return this[Lf].headers}get highWaterMark(){return this[Lf].highWaterMark}clone(){return new e(VI(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(t,r=302){if(!I2(r))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new e(null,{headers:{location:new URL(t).toString()},status:r})}static error(){let t=new e(null,{status:0,statusText:""});return t[Lf].type="error",t}static json(t=void 0,r={}){let n=JSON.stringify(t);if(n===void 0)throw new TypeError("data is not JSON serializable");let s=new Go(r&&r.headers);return s.has("content-type")||s.set("content-type","application/json"),new e(n,{...r,headers:s})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(Bc.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})});var det,fet=oe(()=>{det=e=>{if(e.search)return e.search;let t=e.href.length-1,r=e.hash||(e.href[t]==="#"?"#":"");return e.href[t-r.length]==="?"?"?":""}});function het(e,t=!1){return e==null||(e=new URL(e),/^(about|blob|data):$/.test(e.protocol))?"no-referrer":(e.username="",e.password="",e.hash="",t&&(e.pathname="",e.search=""),e)}function _et(e){if(!met.has(e))throw new TypeError(`Invalid referrerPolicy: ${e}`);return e}function e3r(e){if(/^(http|ws)s:$/.test(e.protocol))return!0;let t=e.host.replace(/(^\[)|(]$)/g,""),r=(0,pet.isIP)(t);return r===4&&/^127\./.test(t)||r===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(t)?!0:e.host==="localhost"||e.host.endsWith(".localhost")?!1:e.protocol==="file:"}function jI(e){return/^about:(blank|srcdoc)$/.test(e)||e.protocol==="data:"||/^(blob|filesystem):$/.test(e.protocol)?!0:e3r(e)}function Aet(e,{referrerURLCallback:t,referrerOriginCallback:r}={}){if(e.referrer==="no-referrer"||e.referrerPolicy==="")return null;let n=e.referrerPolicy;if(e.referrer==="about:client")return"no-referrer";let s=e.referrer,i=het(s),a=het(s,!0);i.toString().length>4096&&(i=a),t&&(i=t(i)),r&&(a=r(a));let o=new URL(e.url);switch(n){case"no-referrer":return"no-referrer";case"origin":return a;case"unsafe-url":return i;case"strict-origin":return jI(i)&&!jI(o)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return i.origin===o.origin?i:jI(i)&&!jI(o)?"no-referrer":a;case"same-origin":return i.origin===o.origin?i:"no-referrer";case"origin-when-cross-origin":return i.origin===o.origin?i:a;case"no-referrer-when-downgrade":return jI(i)&&!jI(o)?"no-referrer":i;default:throw new TypeError(`Invalid referrerPolicy: ${n}`)}}function Eet(e){let t=(e.get("referrer-policy")||"").split(/[,\s]+/),r="";for(let n of t)n&&met.has(n)&&(r=n);return r}var pet,met,get,Tue=oe(()=>{pet=require("node:net");met=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),get="strict-origin-when-cross-origin"});var yet,vet,xa,R2,t3r,Mf,Tet,bet=oe(()=>{yet=require("node:url"),vet=require("node:util");t$();Z5();Q5();fet();Tue();xa=Symbol("Request internals"),R2=e=>typeof e=="object"&&typeof e[xa]=="object",t3r=(0,vet.deprecate)(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Mf=class e extends hh{constructor(t,r={}){let n;if(R2(t)?n=new URL(t.url):(n=new URL(t),t={}),n.username!==""||n.password!=="")throw new TypeError(`${n} is an url with embedded credentials.`);let s=r.method||t.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(s)&&(s=s.toUpperCase()),!R2(r)&&"data"in r&&t3r(),(r.body!=null||R2(t)&&t.body!==null)&&(s==="GET"||s==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let i=r.body?r.body:R2(t)&&t.body!==null?VI(t):null;super(i,{size:r.size||t.size||0});let a=new Go(r.headers||t.headers||{});if(i!==null&&!a.has("Content-Type")){let u=J5(i,this);u&&a.set("Content-Type",u)}let o=R2(t)?t.signal:null;if("signal"in r&&(o=r.signal),o!=null&&!jZe(o))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let c=r.referrer==null?t.referrer:r.referrer;if(c==="")c="no-referrer";else if(c){let u=new URL(c);c=/^about:(\/\/)?client$/.test(u)?"client":u}else c=void 0;this[xa]={method:s,redirect:r.redirect||t.redirect||"follow",headers:a,parsedURL:n,signal:o,referrer:c},this.follow=r.follow===void 0?t.follow===void 0?20:t.follow:r.follow,this.compress=r.compress===void 0?t.compress===void 0?!0:t.compress:r.compress,this.counter=r.counter||t.counter||0,this.agent=r.agent||t.agent,this.highWaterMark=r.highWaterMark||t.highWaterMark||16384,this.insecureHTTPParser=r.insecureHTTPParser||t.insecureHTTPParser||!1,this.referrerPolicy=r.referrerPolicy||t.referrerPolicy||""}get method(){return this[xa].method}get url(){return(0,yet.format)(this[xa].parsedURL)}get headers(){return this[xa].headers}get redirect(){return this[xa].redirect}get signal(){return this[xa].signal}get referrer(){if(this[xa].referrer==="no-referrer")return"";if(this[xa].referrer==="client")return"about:client";if(this[xa].referrer)return this[xa].referrer.toString()}get referrerPolicy(){return this[xa].referrerPolicy}set referrerPolicy(t){this[xa].referrerPolicy=_et(t)}clone(){return new e(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(Mf.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});Tet=e=>{let{parsedURL:t}=e[xa],r=new Go(e[xa].headers);r.has("Accept")||r.set("Accept","*/*");let n=null;if(e.body===null&&/^(post|put)$/i.test(e.method)&&(n="0"),e.body!==null){let o=aet(e);typeof o=="number"&&!Number.isNaN(o)&&(n=String(o))}n&&r.set("Content-Length",n),e.referrerPolicy===""&&(e.referrerPolicy=get),e.referrer&&e.referrer!=="no-referrer"?e[xa].referrer=Aet(e):e[xa].referrer="no-referrer",e[xa].referrer instanceof URL&&r.set("Referer",e.referrer),r.has("User-Agent")||r.set("User-Agent","node-fetch"),e.compress&&!r.has("Accept-Encoding")&&r.set("Accept-Encoding","gzip, deflate, br");let{agent:s}=e;typeof s=="function"&&(s=s(t));let i=det(t),a={path:t.pathname+i,method:e.method,headers:r[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:e.insecureHTTPParser,agent:s};return{parsedURL:t,options:a}}});var C2,Iet=oe(()=>{G5();C2=class extends mm{constructor(t,r="aborted"){super(t,r)}}});var r$={};Bt(r$,{AbortError:()=>C2,Blob:()=>Pf,FetchError:()=>kc,File:()=>_A,FormData:()=>AA,Headers:()=>Go,Request:()=>Mf,Response:()=>Bc,blobFrom:()=>JZe,blobFromSync:()=>XZe,default:()=>yA,fileFrom:()=>ZZe,fileFromSync:()=>eet,isRedirect:()=>I2});async function yA(e,t){return new Promise((r,n)=>{let s=new Mf(e,t),{parsedURL:i,options:a}=Tet(s);if(!r3r.has(i.protocol))throw new TypeError(`node-fetch cannot load ${e}. URL scheme "${i.protocol.replace(/:$/,"")}" is not supported.`);if(i.protocol==="data:"){let p=LZe(s.url),m=new Bc(p,{headers:{"Content-Type":p.typeFull}});r(m);return}let o=(i.protocol==="https:"?Cet.default:Ret.default).request,{signal:c}=s,u=null,l=()=>{let p=new C2("The operation was aborted.");n(p),s.body&&s.body instanceof ml.default.Readable&&s.body.destroy(p),!(!u||!u.body)&&u.body.emit("error",p)};if(c&&c.aborted){l();return}let d=()=>{l(),h()},f=o(i.toString(),a);c&&c.addEventListener("abort",d);let h=()=>{f.abort(),c&&c.removeEventListener("abort",d)};f.on("error",p=>{n(new kc(`request to ${s.url} failed, reason: ${p.message}`,"system",p)),h()}),n3r(f,p=>{u&&u.body&&u.body.destroy(p)}),process.version<"v14"&&f.on("socket",p=>{let m;p.prependListener("end",()=>{m=p._eventsCount}),p.prependListener("close",g=>{if(u&&m{f.setTimeout(0);let m=cet(p.rawHeaders);if(I2(p.statusCode)){let A=m.get("Location"),v=null;try{v=A===null?null:new URL(A,s.url)}catch{if(s.redirect!=="manual"){n(new kc(`uri requested responds with an invalid redirect URL: ${A}`,"invalid-redirect")),h();return}}switch(s.redirect){case"error":n(new kc(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect")),h();return;case"manual":break;case"follow":{if(v===null)break;if(s.counter>=s.follow){n(new kc(`maximum redirect reached at: ${s.url}`,"max-redirect")),h();return}let T={headers:new Go(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:VI(s),signal:s.signal,size:s.size,referrer:s.referrer,referrerPolicy:s.referrerPolicy};if(!KZe(s.url,v)||!GZe(s.url,v))for(let b of["authorization","www-authenticate","cookie","cookie2"])T.headers.delete(b);if(p.statusCode!==303&&s.body&&t.body instanceof ml.default.Readable){n(new kc("Cannot follow redirect with body being a readable stream","unsupported-redirect")),h();return}(p.statusCode===303||(p.statusCode===301||p.statusCode===302)&&s.method==="POST")&&(T.method="GET",T.body=void 0,T.headers.delete("content-length"));let C=Eet(m);C&&(T.referrerPolicy=C),r(yA(new Mf(v,T))),h();return}default:return n(new TypeError(`Redirect option '${s.redirect}' is not a valid value of RequestRedirect`))}}c&&p.once("end",()=>{c.removeEventListener("abort",d)});let g=(0,ml.pipeline)(p,new ml.PassThrough,A=>{A&&n(A)});process.version<"v12.10"&&p.on("aborted",d);let _={url:s.url,status:p.statusCode,statusText:p.statusMessage,headers:m,size:s.size,counter:s.counter,highWaterMark:s.highWaterMark},y=m.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||y===null||p.statusCode===204||p.statusCode===304){u=new Bc(g,_),r(u);return}let E={flush:Mv.default.Z_SYNC_FLUSH,finishFlush:Mv.default.Z_SYNC_FLUSH};if(y==="gzip"||y==="x-gzip"){g=(0,ml.pipeline)(g,Mv.default.createGunzip(E),A=>{A&&n(A)}),u=new Bc(g,_),r(u);return}if(y==="deflate"||y==="x-deflate"){let A=(0,ml.pipeline)(p,new ml.PassThrough,v=>{v&&n(v)});A.once("data",v=>{(v[0]&15)===8?g=(0,ml.pipeline)(g,Mv.default.createInflate(),T=>{T&&n(T)}):g=(0,ml.pipeline)(g,Mv.default.createInflateRaw(),T=>{T&&n(T)}),u=new Bc(g,_),r(u)}),A.once("end",()=>{u||(u=new Bc(g,_),r(u))});return}if(y==="br"){g=(0,ml.pipeline)(g,Mv.default.createBrotliDecompress(),A=>{A&&n(A)}),u=new Bc(g,_),r(u);return}u=new Bc(g,_),r(u)}),oet(f,s).catch(n)})}function n3r(e,t){let r=x2.Buffer.from(`0\r +\r +`),n=!1,s=!1,i;e.on("response",a=>{let{headers:o}=a;n=o["transfer-encoding"]==="chunked"&&!o["content-length"]}),e.on("socket",a=>{let o=()=>{if(n&&!s){let u=new Error("Premature close");u.code="ERR_STREAM_PREMATURE_CLOSE",t(u)}},c=u=>{s=x2.Buffer.compare(u.slice(-5),r)===0,!s&&i&&(s=x2.Buffer.compare(i.slice(-3),r.slice(0,3))===0&&x2.Buffer.compare(u.slice(-2),r.slice(3))===0),i=u};a.prependListener("close",o),a.on("data",c),e.on("close",()=>{a.removeListener("close",o),a.removeListener("data",c)})})}var Ret,Cet,Mv,ml,x2,r3r,KI=oe(()=>{Ret=we(require("node:http"),1),Cet=we(require("node:https"),1),Mv=we(require("node:zlib"),1),ml=we(require("node:stream"),1),x2=require("node:buffer");MZe();Z5();uet();t$();bet();pue();Iet();Sue();K5();Q5();Tue();_ue();r3r=new Set(["data:","http:","https:"])});function wet(e){let t=e.match(/^S(\d+)$/i);if(t)return`S${String(parseInt(t[1])).padStart(2,"0")}`;let r=e.match(/^E(\d+)$/i);return r?`E${String(parseInt(r[1])).padStart(2,"0")}`:e}function Net(e){return!e||typeof e!="string"?[]:e.split(",").map(t=>{let r=t.trim(),n=r.lastIndexOf(":");if(n===-1)return null;let s=r.substring(0,n),i=r.substring(n+1);if(!s||i==="")return null;let a=parseFloat(i);if(!Number.isFinite(a))return null;let o=!1,c=s.trim();c.endsWith("%")&&(o=!0,c=c.slice(0,-1).trim());let u=c.lastIndexOf("@"),l,d,f;if(u!==-1){l=c.substring(0,u);let _=c.substring(u+1).trim().toLowerCase();if(_==="all"||_==="*")d=null,f=!0;else if(d=_.split("&").map(y=>y.trim()).filter(Boolean),f=!1,d.length===0)return null}else l=c,d=null,f=!1;let h=l.trim().split("/"),p=h[0]||null;if(!p)return null;let m=h[1]?wet(h[1]):null,g=h[2]?wet(h[2]):null;return{anime:p,season:m,episode:g,sources:d,all:f,offset:a,usePercent:o}}).filter(Boolean)}function bue(e,{anime:t,season:r,episode:n,source:s}){if(!Array.isArray(e)||e.length===0||!t)return null;let i=new Set;if(s)for(let o of s.split("&")){let c=o.trim().toLowerCase();c&&(i.add(c),xet[c]&&i.add(xet[c]))}let a=[{matchSeason:!0,matchEpisode:!0},{matchSeason:!0,matchEpisode:!1},{matchSeason:!1,matchEpisode:!1}];for(let o of a){let c=null,u=null,l=null;for(let d of e)if(d.anime===t){if(o.matchEpisode){if(!d.season||!d.episode||d.season!==r||d.episode!==n)continue}else if(o.matchSeason){if(!d.season||d.episode||d.season!==r)continue}else if(d.season||d.episode)continue;d.sources?i.size>0&&d.sources.some(f=>i.has(f))&&(c=d):d.all?u=d:l=d}if(c!==null)return c;if(u!==null)return u;if(l!==null)return l}return null}function Iue(e,t,r={}){let n=Number(t);if(!n||!Array.isArray(e)||e.length===0)return e;let s=r?.usePercent===!0,i=Number(r?.videoDuration||0),a=p=>{if(!p||typeof p!="object")return null;if(typeof p.p=="string"){let m=p.p.split(","),g=parseFloat(m[0]);if(Number.isFinite(g))return g}if(p.t!==void 0&&p.t!==null){let m=Number(p.t);if(Number.isFinite(m))return m}if(p.progress!==void 0&&p.progress!==null){let m=Number(p.progress);if(Number.isFinite(m))return m/1e3}if(p.timepoint!==void 0&&p.timepoint!==null){let m=Number(p.timepoint);if(Number.isFinite(m))return m}return null},o=i>0?i:a(e[e.length-1])||0,c=s&&Number.isFinite(o)&&o>0?(o+n)/o:null;if(s&&c===null)return e;let u=n*1e3,l=p=>Math.max(0,p),d=(p,m=2)=>Number(p.toFixed(m)),f=p=>{let m=l(c!==null?p*c:p+n);return c!==null?d(m,2):m},h=p=>{let m=l(c!==null?p*c:p+u);return c!==null?Math.round(m):m};return e.map(p=>{if(!p||typeof p!="object")return p;let m={...p};if(typeof m.p=="string"){let g=m.p.split(","),_=parseFloat(g[0]);Number.isFinite(_)&&(g[0]=f(_).toFixed(2),m.p=g.join(","))}if(m.t!==void 0&&m.t!==null){let g=Number(m.t);Number.isFinite(g)&&(m.t=f(g))}if(m.progress!==void 0&&m.progress!==null){let g=Number(m.progress);Number.isFinite(g)&&(m.progress=h(g))}if(m.timepoint!==void 0&&m.timepoint!==null){let g=Number(m.timepoint);Number.isFinite(g)&&(m.timepoint=f(g))}return m})}var xet,Rue=oe(()=>{xet={tencent:"qq",iqiyi:"qiyi",bilibili:"bilibili1"}});var _m,Oet=oe(()=>{Rue();_m=class{static env;static originalEnvVars=new Map;static accessedEnvVars=new Map;static VOD_ALLOWED_PLATFORMS=["qiyi","bilibili1","imgo","youku","qq","migu","sohu","leshi","xigua","maiduidui","aiyifan"];static ALLOWED_PLATFORMS=["qiyi","bilibili1","imgo","youku","qq","migu","renren","hanjutv","bahamut","dandan","sohu","leshi","xigua","maiduidui","aiyifan","animeko","custom"];static ALLOWED_SOURCES=["360","vod","tmdb","douban","tencent","youku","iqiyi","imgo","bilibili","migu","renren","hanjutv","bahamut","dandan","sohu","leshi","xigua","maiduidui","aiyifan","animeko","custom"];static MERGE_ALLOWED_SOURCES=["tencent","youku","iqiyi","imgo","bilibili","migu","renren","hanjutv","bahamut","dandan","sohu","leshi","xigua","maiduidui","aiyifan","animeko"];static DEFAULT_AI_MATCH_PROMPT=`\u4F60\u662F\u4E00\u4E2A\u4E13\u4E1A\u7684\u5F71\u89C6\u5339\u914D\u4E13\u5BB6\uFF0C\u4F60\u7684\u7684\u4EFB\u52A1\u662F\u6839\u636E\u7528\u6237\u63D0\u4F9B\u7684 JSON \u6570\u636E\uFF0C\u4ECE\u5019\u9009\u52A8\u6F2B\u5217\u8868\u4E2D\u5339\u914D\u6700\u7B26\u5408\u6761\u4EF6\u7684\u52A8\u6F2B\u53CA\u96C6\u6570\u3002 + +\u8F93\u5165\u5B57\u6BB5\u8BF4\u660E\uFF1A +- title: \u67E5\u8BE2\u6807\u9898 +- season: \u5B63\u6570\uFF08\u53EF\u4E3A null\uFF09 +- episode: \u96C6\u6570\uFF08\u53EF\u4E3A null\uFF09 +- year: \u5E74\u4EFD\uFF08\u53EF\u4E3A null\uFF09 +- dynamicPlatformOrder: \u5E73\u53F0\u504F\u597D\u5217\u8868\uFF08\u53EF\u4E3A null\uFF09 +- preferAnimeId: \u504F\u597D\u52A8\u6F2B ID\uFF08\u53EF\u4E3A null\uFF09 +- animes: \u5019\u9009\u52A8\u6F2B\u5217\u8868 + - animeId: \u52A8\u6F2Bid + animeTitle: \u52A8\u6F2B\u6807\u9898\uFF0C(\u5E74\u4EFD)\u524D\u9762\u624D\u662F\u771F\u5B9E\u7684\u6807\u9898 + aliases: \u52A8\u6F2B\u6807\u9898\u7684\u522B\u540D\uFF0C\u89C6\u60C5\u51B5\u53EF\u4EE5\u4F5C\u4E3A(\u52A8\u6F2B\u6807\u9898)\u770B\u5F85 + type: \u7C7B\u578B + startDate: \u53D1\u5E03\u65E5\u671F\uFF0C\u6709\u5E74\u4EFD + episodeCount: \u603B\u96C6\u6570 + source: \u5F39\u5E55\u6765\u6E90 + +\u5339\u914D\u89C4\u5219 (\u6309\u4F18\u5148\u7EA7\u6392\u5E8F): +1. \u5982\u679CpreferAnimeId\u975E\u7A7A\uFF0C\u4E14animes\u5B58\u5728\u8BE5animeId\uFF0C\u5219\u8FD4\u56DE\u8BE5id\u5BF9\u5E94\u7684anime\u548Cepisode +2. \u6807\u9898\u76F8\u4F3C\u5EA6: \u4F18\u5148\u5339\u914D\u6807\u9898\u76F8\u4F3C\u5EA6\u6700\u9AD8\u7684\u6761\u76EE +3. \u5B63\u5EA6\u4E25\u683C\u5339\u914D: \u5982\u679C\u6307\u5B9A\u4E86\u5B63\u5EA6,\u5FC5\u987B\u4E25\u683C\u5339\u914D +4. \u7C7B\u578B\u5339\u914D: episode\u4E3A\u7A7A\u5219\u4F18\u5148\u5339\u914D\u7535\u5F71\uFF0C\u975E\u7A7A\u5219\u5339\u914D\u7535\u89C6\u5267\u7B49 +5. \u5E74\u4EFD\u63A5\u8FD1: \u4F18\u5148\u9009\u62E9\u5E74\u4EFD\u63A5\u8FD1\u7684 +6. \u5E73\u53F0\u5339\u914D\uFF1A\u5982\u679C\u6709\u591A\u4E2A\u9AD8\u5EA6\u76F8\u4F3C\u7684\u7ED3\u679C\u4E14dynamicPlatformOrder\u975E\u7A7A\uFF0C\u5219\u4ECE\u524D\u5F80\u540E\u9009\u62E9\u76F8\u5BF9\u5E94\u7684\u5E73\u53F0 +7. \u96C6\u6570\u5B8C\u6574: \u5982\u679C\u6709\u591A\u4E2A\u9AD8\u5EA6\u76F8\u4F3C\u7684\u7ED3\u679C,\u9009\u62E9\u96C6\u6570\u6700\u5B8C\u6574\u7684 + +\u8BF7\u5206\u6790\u54EA\u4E2A\u52A8\u6F2B\u6700\u7B26\u5408\u67E5\u8BE2\u6761\u4EF6\uFF0C\u5982\u679C\u6307\u5B9A\u4E86\u5B63\u6570\u548C\u96C6\u6570\uFF0C\u8BF7\u4E5F\u8FD4\u56DE\u5BF9\u5E94\u7684\u96C6\u4FE1\u606F\u3002 +\u8BF7\u4E25\u683C\u6309\u7167\u4EE5\u4E0B JSON \u683C\u5F0F\u8FD4\u56DE\u7ED3\u679C\uFF0C\u4E0D\u8981\u5305\u542B\u4EFB\u4F55\u5176\u4ED6\u5185\u5BB9\uFF1A +{ + "animeIndex": \u5339\u914D\u7684\u52A8\u6F2B\u5728\u5217\u8868\u4E2D\u7684\u7D22\u5F15(\u4ECE0\u5F00\u59CB) \u6216 null +} + +\u5982\u679C\u6CA1\u6709\u627E\u5230\u5408\u9002\u7684\u5339\u914D\uFF0C\u8FD4\u56DE\uFF1A +{ + "animeIndex": null +}`;static get(t,r,n="string",s=!1){let i;typeof this.env<"u"&&this.env[t]?(i=this.env[t],this.originalEnvVars.set(t,i)):typeof process<"u"&&process.env?.[t]?(i=process.env[t],this.originalEnvVars.set(t,i)):(i=r,this.originalEnvVars.set(t,""));let a;switch(n){case"number":if(a=Number(i),isNaN(a))throw new Error(`Environment variable ${t} must be a valid number`);break;case"boolean":a=i===!0||i==="true"||i===1||i==="1";break;case"string":default:a=String(i);break}let o=s?this.encryptStr(a):a;return this.accessedEnvVars.set(t,o),a}static set(t,r){typeof process<"u"&&(process.env[t]=String(r)),this.accessedEnvVars.set(t,r)}static encryptStr(t){return"*".repeat(t.length)}static resolveVodServers(){let r=this.get("VOD_SERVERS","\u91D1\u8749@https://zy.jinchancaiji.com,789@https://www.caiji.cyou,\u542C\u98CE@https://gctf.tfdh.top","string");return!r||r.trim()===""?[]:r.split(",").map(n=>n.trim()).filter(n=>n.length>0).map((n,s)=>{if(n.includes("@")){let[i,a]=n.split("@").map(o=>o.trim());return{name:i||`vod-${s+1}`,url:a}}return{name:`vod-${s+1}`,url:n}}).filter(n=>n.url&&n.url.length>0)}static resolveSourceOrder(){let r=this.get("SOURCE_ORDER","tencent,youku,iqiyi,imgo,bilibili,renren,hanjutv,douban","string").split(",").map(n=>n.trim()).filter(n=>this.ALLOWED_SOURCES.includes(n));return this.accessedEnvVars.set("SOURCE_ORDER",r),r.length>0?r:["tencent","youku","iqiyi","imgo","bilibili","renren","hanjutv","douban"]}static resolvePlatformOrder(){let r=this.get("PLATFORM_ORDER","","string").split(",").map(n=>n.trim()).filter(n=>n?n.includes("&")?n.split("&").map(i=>i.trim()).every(i=>this.ALLOWED_PLATFORMS.includes(i)):this.ALLOWED_PLATFORMS.includes(n):!1);return this.accessedEnvVars.set("PLATFORM_ORDER",r),r.length>0?[...r,null]:[null]}static resolveMergeSourcePairs(){let t=this.get("MERGE_SOURCE_PAIRS","","string");return t?t.split(/[,;]/).map(r=>{if(!r)return null;let n=r.split("&").map(o=>o.trim()).filter(o=>o);if(n.length<1)return null;let s=n[0],i=n.slice(1);if(!this.MERGE_ALLOWED_SOURCES.includes(s))return null;let a=i.filter(o=>o!==s&&this.MERGE_ALLOWED_SOURCES.includes(o));return{primary:s,secondaries:a}}).filter(Boolean):[]}static resolveEpisodeTitleFilter(){let t="(\u7279\u522B|\u60CA\u559C|\u7EB3\u51C9)?\u4F01\u5212(?!(\u4E66|\u6848|\u90E8))|\u5408\u4F19\u4EBA\u624B\u8BB0|\u8D85\u524D(\u8425\u4E1A|vlog)?|\u901F\u89C8|vlog|(?s.trim()).filter(Boolean),n=[];for(let s of r)try{if(s.startsWith("/")&&s.lastIndexOf("/")>0){let a=s.lastIndexOf("/"),o=s.slice(1,a),c=s.slice(a+1);n.push({type:"regex",value:new RegExp(o,c)});continue}if(s.includes("/")){let[a,o]=s.split("/").map(d=>d.trim()),c=Number(o),u=this.isValidIpv4(a),l=this.isValidIpv6(a);if(Number.isInteger(c)){if(u&&c>=0&&c<=32){n.push({type:"cidr",ip:a,prefix:c});continue}if(l&&c>=0&&c<=128){n.push({type:"cidr",ip:a,prefix:c});continue}}}if(this.isValidIpv4(s)||this.isValidIpv6(s)){n.push({type:"exact",value:s});continue}let i=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");n.push({type:"regex",value:new RegExp(`^${i}$`)})}catch{console.warn(`Invalid IP_BLACKLIST entry: ${s}, skipped.`)}return this.accessedEnvVars.set("IP_BLACKLIST",r),n}static isValidIpv4(t){if(!t||typeof t!="string")return!1;let r=t.split(".");return r.length!==4?!1:r.every(n=>{if(!/^(\d{1,3})$/.test(n))return!1;let s=Number(n);return s>=0&&s<=255})}static isValidIpv6(t){if(!t||typeof t!="string")return!1;let r=t.trim();if(!r.includes(":"))return!1;let[n,s]=r.split("::");if(r.split("::").length>2)return!1;let i=n?n.split(":").filter(Boolean):[],a=s?s.split(":").filter(Boolean):[],o=d=>{if(d.length===0)return d;let f=d[d.length-1];if(!f.includes("."))return d;if(!this.isValidIpv4(f))return null;let h=f.split(".").map(g=>Number(g)),p=(h[0]<<8|h[1]).toString(16),m=(h[2]<<8|h[3]).toString(16);return[...d.slice(0,-1),p,m]},c=o(i);if(!c||(a=o(a),!a)||c.length+a.length>8)return!1;let l=d=>/^[0-9a-fA-F]{1,4}$/.test(d);return!(!c.every(l)||!a.every(l))}static resolveAnimeTitleFilter(){let t=this.get("ANIME_TITLE_FILTER","","string",!1).trim();if(!t)return this.accessedEnvVars.set("ANIME_TITLE_FILTER",""),null;this.accessedEnvVars.set("ANIME_TITLE_FILTER",t);try{return new RegExp(`^(.*?)(?:${t})(.*?)$`,"i")}catch{return console.warn("Invalid ANIME_TITLE_FILTER format, returning null."),null}}static getOriginalEnvVars(){return this.originalEnvVars}static resolveTitleMappingTable(){let t=this.get("TITLE_MAPPING_TABLE","","string").trim(),r=new Map;if(!t)return r;let n=t.split(";");for(let s of n)if(s.includes("->")){let[i,a]=s.split("->").map(o=>o.trim());i&&a&&r.set(i,a)}return r}static getAccessedEnvVars(){return this.accessedEnvVars}static load(t={}){this.env=t;let r={TOKEN:{category:"api",type:"text",description:"API\u8BBF\u95EE\u4EE4\u724C"},ADMIN_TOKEN:{category:"api",type:"text",description:"\u7CFB\u7EDF\u7BA1\u7406\u8BBF\u95EE\u4EE4\u724C"},RATE_LIMIT_MAX_REQUESTS:{category:"api",type:"number",description:"\u9650\u6D41\u914D\u7F6E\uFF1A1\u5206\u949F\u5185\u6700\u5927\u8BF7\u6C42\u6B21\u6570\uFF0C0\u8868\u793A\u4E0D\u9650\u6D41\uFF0C\u9ED8\u8BA415",min:0,max:50},DOUBAN_COOKIE:{category:"api",type:"text",description:"\u8C46\u74E3Cookie\uFF0C\u7528\u4E8E\u63D0\u5347\u8C46\u74E3\u641C\u7D22/\u8BE6\u60C5\u8BF7\u6C42\u7A33\u5B9A\u6027\uFF0C\u586B\u5199\u6D4F\u89C8\u5668\u4E2D\u5DF2\u767B\u5F55\u8C46\u74E3\u540E\u7684\u5B8C\u6574 Cookie \u5B57\u7B26\u4E32"},DANMU_API_PORT:{category:"system",type:"number",description:"Node \u672C\u5730\u90E8\u7F72\u76D1\u542C\u7AEF\u53E3\uFF0C\u9ED8\u8BA43321",min:1,max:65535},SOURCE_ORDER:{category:"source",type:"multi-select",options:this.ALLOWED_SOURCES,description:"\u6E90\u6392\u5E8F\u914D\u7F6E\uFF0C\u9ED8\u8BA4tencent,youku,iqiyi,imgo,bilibili,renren,hanjutv,douban"},MERGE_SOURCE_PAIRS:{category:"source",type:"multi-select",options:this.MERGE_ALLOWED_SOURCES,description:`\u6E90\u5408\u5E76\u914D\u7F6E\uFF0C\u914D\u7F6E\u540E\u5C06\u5BF9\u5E94\u6E90\u5408\u5E76\u540C\u65F6\u4E00\u8D77\u83B7\u53D6\u5F39\u5E55\u8FD4\u56DE\uFF0C\u5141\u8BB8\u591A\u7EC4\uFF0C\u5141\u8BB8\u591A\u6E90\uFF0C\u5141\u8BB8\u586B\u5355\u6E90\u8868\u793A\u4FDD\u7559\u539F\u7ED3\u679C\uFF0C\u4E00\u7EC4\u4E2D\u7B2C\u4E00\u4E2A\u4E3A\u4E3B\u6E90\u5176\u4F59\u4E3A\u526F\u6E90\uFF0C\u526F\u6E90\u5F80\u4E3B\u6E90\u5408\u5E76\uFF0C\u4E3B\u6E90\u5982\u679C\u6CA1\u6709\u7ED3\u679C\u4F1A\u8F6E\u66FF\u4E0B\u4E00\u4E2A\u4F5C\u4E3A\u4E3B\u6E90\u3002 +\u683C\u5F0F\uFF1A\u6E901&\u6E902&\u6E903 \uFF0C\u591A\u7EC4\u7528\u9017\u53F7\u5206\u9694\u3002 +\u793A\u4F8B\uFF1Adandan&animeko&bahamut,bilibili&animeko,dandan`},OTHER_SERVER:{category:"source",type:"text",description:"\u7B2C\u4E09\u65B9\u5F39\u5E55\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4https://api.danmu.icu"},CUSTOM_SOURCE_API_URL:{category:"source",type:"text",description:"\u81EA\u5B9A\u4E49\u5F39\u5E55\u6E90API\u5730\u5740\uFF0C\u9ED8\u8BA4\u4E3A\u7A7A\uFF0C\u914D\u7F6E\u540E\u8FD8\u9700\u5728SOURCE_ORDER\u6DFB\u52A0custom\u6E90"},VOD_SERVERS:{category:"source",type:"text",description:"VOD\u7AD9\u70B9\u914D\u7F6E\uFF0C\u683C\u5F0F\uFF1A\u540D\u79F0@URL,\u540D\u79F0@URL\uFF0C\u9ED8\u8BA4\u91D1\u8749@https://zy.jinchancaiji.com,789@https://www.caiji.cyou,\u542C\u98CE@https://gctf.tfdh.top"},VOD_RETURN_MODE:{category:"source",type:"select",options:["all","fastest"],description:"VOD\u8FD4\u56DE\u6A21\u5F0F\uFF1Aall\uFF08\u6240\u6709\u7AD9\u70B9\uFF09\u6216 fastest\uFF08\u6700\u5FEB\u7684\u7AD9\u70B9\uFF09\uFF0C\u9ED8\u8BA4fastest"},VOD_REQUEST_TIMEOUT:{category:"source",type:"number",description:"VOD\u8BF7\u6C42\u8D85\u65F6\u65F6\u95F4\uFF0C\u9ED8\u8BA410000",min:5e3,max:3e4},BILIBILI_COOKIE:{category:"source",type:"text",description:"B\u7AD9Cookie"},YOUKU_CONCURRENCY:{category:"source",type:"number",description:"\u4F18\u9177\u5E76\u53D1\u914D\u7F6E\uFF0C\u9ED8\u8BA48",min:1,max:16},REAL_TIME_PULL_DANDAN:{category:"source",type:"boolean",description:"\u5F39\u5F39\u7B2C\u4E09\u65B9\u5F39\u5E55\u6E90\u5B9E\u65F6\u62C9\u53D6\u5F00\u5173\uFF0C\u9ED8\u8BA4\u4E3Afalse\uFF08\u5173\u95ED\uFF09\uFF0C\u53EF\u9009\u503C\uFF1Atrue\u3001false"},PLATFORM_ORDER:{category:"match",type:"multi-select",options:this.ALLOWED_PLATFORMS,description:`\u5E73\u53F0\u6392\u5E8F\u914D\u7F6E\uFF0C\u53EF\u4EE5\u914D\u7F6E\u81EA\u52A8\u5339\u914D\u65F6\u7684\u4F18\u9009\u5E73\u53F0\u3002 +\u5F53\u914D\u7F6E\u5408\u5E76\u5E73\u53F0\u7684\u65F6\u5019\uFF0C\u53EF\u4EE5\u6307\u5B9A\u671F\u671B\u7684\u5408\u5E76\u6E90\uFF0C +\u793A\u4F8B\uFF1A\u4E00\u4E2A\u7ED3\u679C\u8FD4\u56DE\u4E86"dandan&bilibili1&animeko"\u548C"youku"\u65F6\uFF0C +\u5F53\u914D\u7F6E"youku"\u65F6\u8FD4\u56DE"youku" +\u5F53\u914D\u7F6E"dandan&animeko"\u65F6\u8FD4\u56DE"dandan&bilibili1&animeko"`},ANIME_TITLE_FILTER:{category:"match",type:"text",description:"\u5267\u540D\u8FC7\u6EE4\u89C4\u5219"},EPISODE_TITLE_FILTER:{category:"match",type:"text",description:"\u5267\u96C6\u6807\u9898\u8FC7\u6EE4\u89C4\u5219"},ENABLE_ANIME_EPISODE_FILTER:{category:"match",type:"boolean",description:"\u63A7\u5236\u624B\u52A8\u641C\u7D22\u7684\u65F6\u5019\u662F\u5426\u6839\u636EANIME_TITLE_FILTER\u8FDB\u884C\u5267\u540D\u8FC7\u6EE4\u4EE5\u53CA\u6839\u636EEPISODE_TITLE_FILTER\u8FDB\u884C\u96C6\u6807\u9898\u8FC7\u6EE4"},STRICT_TITLE_MATCH:{category:"match",type:"boolean",description:"\u4E25\u683C\u6807\u9898\u5339\u914D\u6A21\u5F0F"},TITLE_TO_CHINESE:{category:"match",type:"boolean",description:"\u5916\u8BED\u6807\u9898\u8F6C\u6362\u4E2D\u6587\u5F00\u5173"},ANIME_TITLE_SIMPLIFIED:{category:"match",type:"boolean",description:"\u641C\u7D22\u7684\u5267\u540D\u6807\u9898\u81EA\u52A8\u7E41\u8F6C\u7B80"},TITLE_MAPPING_TABLE:{category:"match",type:"map",description:'\u5267\u540D\u6620\u5C04\u8868\uFF0C\u7528\u4E8E\u81EA\u52A8\u5339\u914D\u65F6\u66FF\u6362\u6807\u9898\u8FDB\u884C\u641C\u7D22\uFF0C\u683C\u5F0F\uFF1A\u539F\u59CB\u6807\u9898->\u6620\u5C04\u6807\u9898;\u539F\u59CB\u6807\u9898->\u6620\u5C04\u6807\u9898;... \uFF0C\u4F8B\u5982\uFF1A"\u5510\u671D\u8BE1\u4E8B\u5F55->\u5510\u671D\u8BE1\u4E8B\u5F55\u4E4B\u897F\u884C;\u56FD\u8272\u82B3\u534E->\u9526\u7EE3\u82B3\u534E"'},AI_BASE_URL:{category:"match",type:"text",description:"AI\u670D\u52A1\u57FA\u7840URL\uFF0C\u4E0D\u586B\u9ED8\u8BA4\u4E3Ahttps://api.openai.com/v1"},AI_MODEL:{category:"match",type:"text",description:"AI\u6A21\u578B\u540D\u79F0\uFF0C\u4E0D\u586B\u9ED8\u8BA4\u4E3Agpt-4o"},AI_API_KEY:{category:"match",type:"text",description:"AI\u670D\u52A1API\u5BC6\u94A5\uFF0C\u9ED8\u8BA4\u4E3A\u7A7A\uFF0C\u9700\u624B\u52A8\u586B\u5199"},AI_MATCH_PROMPT:{category:"match",type:"text",description:"AI\u81EA\u52A8\u5339\u914D\u63D0\u793A\u8BCD\u6A21\u677F\uFF0C\u4E0D\u586B\u63D0\u4F9B\u9ED8\u8BA4\u63D0\u793A\u8BCD\uFF0C\u9ED8\u8BA4\u63D0\u793A\u8BCD\u8BF7\u67E5\u770BREADME"},BLOCKED_WORDS:{category:"danmu",type:"text",description:"\u5C4F\u853D\u8BCD\u5217\u8868"},GROUP_MINUTE:{category:"danmu",type:"number",description:"\u5206\u949F\u5185\u5408\u5E76\u53BB\u91CD\uFF080\u8868\u793A\u4E0D\u53BB\u91CD\uFF09\uFF0C\u9ED8\u8BA41",min:0,max:30},DANMU_LIMIT:{category:"danmu",type:"number",description:"\u5F39\u5E55\u6570\u91CF\u9650\u5236\uFF0C\u5355\u4F4D\u4E3Ak\uFF0C\u5373\u5343\uFF1A\u9ED8\u8BA4 0\uFF0C\u8868\u793A\u4E0D\u9650\u5236\u5F39\u5E55\u6570",min:0,max:100},DANMU_SIMPLIFIED_TRADITIONAL:{category:"danmu",type:"select",options:["default","simplified","traditional"],description:"\u5F39\u5E55\u7B80\u7E41\u4F53\u8F6C\u6362\u8BBE\u7F6E\uFF1Adefault\uFF08\u9ED8\u8BA4\u4E0D\u8F6C\u6362\uFF09\u3001simplified\uFF08\u7E41\u8F6C\u7B80\uFF09\u3001traditional\uFF08\u7B80\u8F6C\u7E41\uFF09"},CONVERT_TOP_BOTTOM_TO_SCROLL:{category:"danmu",type:"boolean",description:"\u9876\u90E8/\u5E95\u90E8\u5F39\u5E55\u8F6C\u6362\u4E3A\u6D6E\u52A8\u5F39\u5E55"},CONVERT_COLOR:{category:"danmu",type:"select",options:["default","white","color"],description:"\u5F39\u5E55\u8F6C\u6362\u989C\u8272\u914D\u7F6E"},COLOR_POOL:{category:"danmu",type:"text",description:"\u81EA\u5B9A\u4E49\u989C\u8272\u6C60\uFF08CONVERT_COLOR\u4E3Acolor\u65F6\u751F\u6548\uFF09\uFF0C\u4E0D\u914D\u7F6E\u4F7F\u7528\u9ED8\u8BA4\u989C\u8272\u6C60\uFF0C\u683C\u5F0F\uFF1A\u5341\u8FDB\u5236\u989C\u8272\u503C\u9017\u53F7\u5206\u9694"},DANMU_OUTPUT_FORMAT:{category:"danmu",type:"select",options:["json","xml"],description:"\u5F39\u5E55\u8F93\u51FA\u683C\u5F0F\uFF0C\u9ED8\u8BA4json"},DANMU_PUSH_URL:{category:"danmu",type:"text",description:"\u5F39\u5E55\u63A8\u9001\u5730\u5740\uFF0C\u793A\u4F8B http://127.0.0.1:9978/action?do=refresh&type=danmaku&path= "},LIKE_SWITCH:{category:"danmu",type:"boolean",description:"\u5F39\u5E55\u70B9\u8D5E\u6570\u663E\u793A\u5F00\u5173\uFF0C\u9ED8\u8BA4\u5F00\u542F"},DANMU_OFFSET:{category:"danmu",type:"text",sources:this.ALLOWED_SOURCES,description:"\u5F39\u5E55\u65F6\u95F4\u504F\u79FB\u914D\u7F6E\uFF0C\u683C\u5F0F\uFF1A\u5267\u540D:\u79D2 \u6216 \u5267\u540D/\u5B63:\u79D2 \u6216 \u5267\u540D/\u5B63/\u96C6:\u79D2\uFF0C\u652F\u6301\u6307\u5B9A\u6765\u6E90\uFF1A\u5267\u540D@\u6765\u6E90:\u79D2 \u6216 \u5267\u540D/\u5B63@\u6765\u6E901&\u6765\u6E902:\u79D2\uFF0C\u591A\u6761\u7528\u9017\u53F7\u5206\u9694\uFF0C\u6B63\u6570\u8868\u793A\u5F39\u5E55\u5EF6\u540E\uFF08\u5411\u53F3\uFF09\uFF0C\u8D1F\u6570\u8868\u793A\u5F39\u5E55\u63D0\u524D\uFF08\u5411\u5DE6\uFF09\uFF0C\u4F8B\u5982\uFF1Aoverlord/S01:90,re-zero/S02@bilibili:120,re-zero/S02/E03@dandan&bilibili:10"},SEARCH_CACHE_MINUTES:{category:"cache",type:"number",description:"\u641C\u7D22\u7ED3\u679C\u7F13\u5B58\u65F6\u95F4(\u5206\u949F)\uFF0C\u9ED8\u8BA43",min:1,max:120},COMMENT_CACHE_MINUTES:{category:"cache",type:"number",description:"\u5F39\u5E55\u7F13\u5B58\u65F6\u95F4(\u5206\u949F)\uFF0C\u9ED8\u8BA43",min:1,max:120},REMEMBER_LAST_SELECT:{category:"cache",type:"boolean",description:"\u8BB0\u4F4F\u624B\u52A8\u9009\u62E9\u7ED3\u679C"},MAX_LAST_SELECT_MAP:{category:"cache",type:"number",description:"\u8BB0\u4F4F\u4E0A\u6B21\u9009\u62E9\u6620\u5C04\u7F13\u5B58\u5927\u5C0F\u9650\u5236\uFF0C\u9ED8\u8BA4100",min:10,max:1e3},MAX_ANIMES:{category:"cache",type:"number",description:"\u52A8\u6F2B\u6807\u9898\u7F13\u5B58\u6700\u5927\u6570\u91CF\uFF0C\u9ED8\u8BA4100",min:100,max:1e3},UPSTASH_REDIS_REST_URL:{category:"cache",type:"text",description:"Upstash Redis\u8BF7\u6C42\u94FE\u63A5"},UPSTASH_REDIS_REST_TOKEN:{category:"cache",type:"text",description:"Upstash Redis\u8BBF\u95EE\u4EE4\u724C"},LOCAL_REDIS_URL:{category:"cache",type:"text",description:"\u672C\u5730 Redis \u8FDE\u63A5URL\uFF0C\u793A\u4F8B\uFF1Aredis://:password@127.0.0.1:6379/0\uFF0C\u53EA\u652F\u6301\u672C\u5730\u90E8\u7F72\u548Cdocker\u90E8\u7F72"},PROXY_URL:{category:"system",type:"text",description:"\u4EE3\u7406/\u53CD\u4EE3\u5730\u5740"},TMDB_API_KEY:{category:"system",type:"text",description:"TMDB API\u5BC6\u94A5"},LOG_LEVEL:{category:"system",type:"select",options:["debug","info","warn","error"],description:"\u65E5\u5FD7\u7EA7\u522B\u914D\u7F6E"},DEPLOY_PLATFROM_ACCOUNT:{category:"system",type:"text",description:"\u90E8\u7F72\u5E73\u53F0\u8D26\u53F7ID"},DEPLOY_PLATFROM_PROJECT:{category:"system",type:"text",description:"\u90E8\u7F72\u5E73\u53F0\u9879\u76EE\u540D\u79F0"},DEPLOY_PLATFROM_TOKEN:{category:"system",type:"text",description:"\u90E8\u7F72\u5E73\u53F0\u8BBF\u95EE\u4EE4\u724C"},NODE_TLS_REJECT_UNAUTHORIZED:{category:"system",type:"number",description:"\u5728\u5EFA\u7ACB HTTPS \u8FDE\u63A5\u65F6\u662F\u5426\u9A8C\u8BC1\u670D\u52A1\u5668\u7684 SSL/TLS \u8BC1\u4E66\uFF0C0\u8868\u793A\u5FFD\u7565\uFF0C\u9ED8\u8BA4\u4E3A1",min:0,max:1},IP_BLACKLIST:{category:"system",type:"text",description:"IP \u9ED1\u540D\u5355\u5217\u8868\uFF0C\u652F\u6301\u9017\u53F7/\u5206\u53F7/\u6362\u884C\u5206\u9694\uFF0C\u652F\u6301 /regex/ \u6216 /regex/i \u6B63\u5219\uFF0C\u652F\u6301 IPv4/IPv6 CIDR\uFF08\u5982 10.0.0.0/4\u30012001:db8::/64\uFF09\u3002\u547D\u4E2D\u5219\u62D2\u7EDD\u8BF7\u6C42"}};return{vodAllowedPlatforms:this.VOD_ALLOWED_PLATFORMS,allowedPlatforms:this.ALLOWED_PLATFORMS,token:this.get("TOKEN","87654321","string",!0),adminToken:this.get("ADMIN_TOKEN","","string",!0),sourceOrderArr:this.resolveSourceOrder(),mergeSourcePairs:this.resolveMergeSourcePairs(),otherServer:this.get("OTHER_SERVER","https://api.danmu.icu","string"),customSourceApiUrl:this.get("CUSTOM_SOURCE_API_URL","","string",!0),vodServers:this.resolveVodServers(),vodReturnMode:this.get("VOD_RETURN_MODE","fastest","string").toLowerCase(),vodRequestTimeout:this.get("VOD_REQUEST_TIMEOUT","10000","string"),bilibliCookie:this.get("BILIBILI_COOKIE","","string",!0),youkuConcurrency:Math.min(this.get("YOUKU_CONCURRENCY",8,"number"),16),realTimePullDandan:this.get("REAL_TIME_PULL_DANDAN",!1,"boolean"),platformOrderArr:this.resolvePlatformOrder(),animeTitleFilter:this.resolveAnimeTitleFilter(),episodeTitleFilter:this.resolveEpisodeTitleFilter(),blockedWords:this.get("BLOCKED_WORDS","","string"),groupMinute:Math.min(this.get("GROUP_MINUTE",1,"number"),30),danmuLimit:this.get("DANMU_LIMIT",0,"number"),proxyUrl:this.get("PROXY_URL","","string",!0),danmuSimplifiedTraditional:this.get("DANMU_SIMPLIFIED_TRADITIONAL","default","string"),danmuPushUrl:this.get("DANMU_PUSH_URL","","string"),likeSwitch:this.get("LIKE_SWITCH",!0,"boolean"),danmuOffset:this.get("DANMU_OFFSET","","string"),danmuOffsetRules:Net(this.get("DANMU_OFFSET","","string")),tmdbApiKey:this.get("TMDB_API_KEY","","string",!0),redisUrl:this.get("UPSTASH_REDIS_REST_URL","","string",!0),redisToken:this.get("UPSTASH_REDIS_REST_TOKEN","","string",!0),localRedisUrl:this.get("LOCAL_REDIS_URL","","string",!0),rateLimitMaxRequests:this.get("RATE_LIMIT_MAX_REQUESTS",15,"number"),enableAnimeEpisodeFilter:this.get("ENABLE_ANIME_EPISODE_FILTER",!1,"boolean"),logLevel:this.get("LOG_LEVEL","info","string"),searchCacheMinutes:this.get("SEARCH_CACHE_MINUTES",3,"number"),commentCacheMinutes:this.get("COMMENT_CACHE_MINUTES",3,"number"),convertTopBottomToScroll:this.get("CONVERT_TOP_BOTTOM_TO_SCROLL",!1,"boolean"),convertColor:this.get("CONVERT_COLOR","default","string"),colorPool:this.get("COLOR_POOL","16777215,16777215,16777215,16777215,16777215,16777215,16777215,16777215,16744319,16752762,16774799,9498256,8388564,8900346,14204888,16758465","string"),danmuOutputFormat:this.get("DANMU_OUTPUT_FORMAT","json","string"),strictTitleMatch:this.get("STRICT_TITLE_MATCH",!1,"boolean"),titleToChinese:this.get("TITLE_TO_CHINESE",!1,"boolean"),animeTitleSimplified:this.get("ANIME_TITLE_SIMPLIFIED",!1,"boolean"),titleMappingTable:this.resolveTitleMappingTable(),ipBlacklist:this.resolveIpBlacklist(),aiBaseUrl:this.get("AI_BASE_URL","https://api.openai.com/v1","string"),aiModel:this.get("AI_MODEL","gpt-4o","string"),aiApiKey:this.get("AI_API_KEY","","string",!0),aiMatchPrompt:this.get("AI_MATCH_PROMPT",this.DEFAULT_AI_MATCH_PROMPT,"string"),rememberLastSelect:this.get("REMEMBER_LAST_SELECT",!0,"boolean"),MAX_LAST_SELECT_MAP:this.get("MAX_LAST_SELECT_MAP",100,"number"),MAX_ANIMES:this.get("MAX_ANIMES",100,"number"),deployPlatformAccount:this.get("DEPLOY_PLATFROM_ACCOUNT","","string",!0),deployPlatformProject:this.get("DEPLOY_PLATFROM_PROJECT","","string",!0),deployPlatformToken:this.get("DEPLOY_PLATFROM_TOKEN","","string",!0),NODE_TLS_REJECT_UNAUTHORIZED:this.get("NODE_TLS_REJECT_UNAUTHORIZED",1,"number"),envVarConfig:r}}}});var qs,F,Gt=oe(()=>{Oet();qs={env:{},envs:{},originalEnvVars:{},accessedEnvVars:{},VERSION:"1.19.14",MAX_LOGS:1e3,MAX_RECORDS:100,animes:[],episodeIds:[],episodeNum:10001,logBuffer:[],requestHistory:new Map,localCacheValid:!1,localCacheInitialized:!1,redisValid:!1,localRedisValid:!1,aiValid:!1,redisCacheInitialized:!1,lastSelectMap:new Map,reqRecords:[],todayReqNum:0,lastHashes:{animes:null,episodeIds:null,episodeNum:null,lastSelectMap:null,reqRecords:null,todayReqNum:null},searchCache:new Map,commentCache:new Map,deployPlatform:"",currentToken:"",init(e={}){return this.env=e,this.envs=_m.load(this.env),this.originalEnvVars=Object.fromEntries(_m.getOriginalEnvVars()),this.accessedEnvVars=Object.fromEntries(_m.getAccessedEnvVars()),this.getConfig()},reInit(){return this.envs=_m.load(this.env),this.originalEnvVars=Object.fromEntries(_m.getOriginalEnvVars()),this.accessedEnvVars=Object.fromEntries(_m.getAccessedEnvVars()),this.getConfig()},makeProxyUrl(e){let t=this.envs.proxyUrl||"";if(!t||!e)return e;let r=t.split(",").map(c=>c.trim()).filter(c=>c),n=null,s=null,i=null,a;try{a=new URL(e)}catch{return e}let o=a.hostname;for(let c of r)if(c.startsWith("bahamut@")&&o.includes("gamer.com.tw")){s=c.substring(8);break}else if(c.startsWith("tmdb@")&&o.includes("tmdb")){s=c.substring(5);break}else if(c.startsWith("bilibili@")&&o.includes("bilibili")){s=c.substring(9);break}else if(c.startsWith("animeko@")&&(o.includes("animeko")||o.includes("bgm.tv"))){s=c.substring(8);break}else c.startsWith("@")&&!i?i=c.substring(1):!c.includes("@")&&!n&&(n=c);if(s)try{let c=new URL(s);return a.protocol=c.protocol,a.host=c.host,a.port=c.port,c.pathname!=="/"&&(a.pathname=c.pathname.replace(/\/$/,"")+a.pathname),a.toString()}catch{return e}return i?`${i.replace(/\/$/,"")}/${e}`:n?`http://127.0.0.1:5321/proxy?url=${encodeURIComponent(e)}`:e},getConfig(){if(this._configProxy)return this._configProxy;let e=this;return this._configProxy=new Proxy({},{get(t,r){return r in e.envs?e.envs[r]:r==="version"?e.VERSION:r==="maxLogs"?e.MAX_LOGS:r==="maxAnimes"?e.envs.MAX_ANIMES:r==="maxRecords"?e.MAX_RECORDS:r==="maxLastSelectMap"?e.MAX_LAST_SELECT_MAP:r==="makeProxyUrl"?e.makeProxyUrl.bind(e):e[r]},set(t,r,n){return r in e.envs?e.envs[r]=n:e[r]=n,!0}}),this._configProxy}},F=new Proxy({},{get(e,t){return qs.getConfig()[t]},set(e,t,r){return qs.getConfig()[t]=r,!0},has(e,t){return t in qs.getConfig()},ownKeys(e){return Reflect.ownKeys(qs.getConfig())},getOwnPropertyDescriptor(e,t){return Object.getOwnPropertyDescriptor(qs.getConfig(),t)}})});function I(e,...t){let r={error:0,warn:1,info:2},n=r[F.logLevel]!==void 0?r[F.logLevel]:1;if((r[e]||0)>n)return;let s=t.map(u=>{if(typeof u=="object"){let l=JSON.stringify(u);return Det(l)}else return typeof u=="string"?Det(u):u}),i=s.map(u=>typeof u=="object"?JSON.stringify(u):u).join(" "),a=new Date,c=new Date(a.getTime()+8*60*60*1e3).toISOString().replace("Z","+08:00");F.logBuffer.push({timestamp:c,level:e,message:i}),F.logBuffer.length>F.MAX_LOGS&&F.logBuffer.shift(),console[e](...s)}function Det(e){let t=e;if(F.originalEnvVars&&F.accessedEnvVars)for(let[r,n]of Object.entries(F.originalEnvVars)){let s=F.accessedEnvVars[r];if(n&&typeof n=="string"&&n.length>0&&s&&typeof s=="string"&&s.match(/^\*+$/)&&s.length===n.length){let i="*".repeat(n.length),a=new RegExp(n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g");t=t.replace(a,i)}}return t}function Pet(e){try{let t=JSON.parse(e);return JSON.stringify(t,null,2).replace(/\n/g,` + `)}catch{return e}}var Ht=oe(()=>{Gt()});var crt={};Bt(crt,{Deflate:()=>Ztt,Inflate:()=>nrt,constants:()=>ort,default:()=>jFr,deflate:()=>ert,deflateRaw:()=>trt,gzip:()=>rrt,inflate:()=>srt,inflateRaw:()=>irt,ungzip:()=>art});function XI(e){let t=e.length;for(;--t>=0;)e[t]=0}function xue(e,t,r,n,s){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=s,this.has_stree=e&&e.length}function wue(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function ph(e,t,r,n,s){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=s}function iUr(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=f$,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(W3r*2),this.dyn_dtree=new Uint16Array((2*Q3r+1)*2),this.bl_tree=new Uint16Array((2*z3r+1)*2),vA(this.dyn_ltree),vA(this.dyn_dtree),vA(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(X3r+1),this.heap=new Uint16Array(2*jue+1),vA(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*jue+1),vA(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function CUr(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}function K2(e){this.options=h$.assign({level:PUr,method:MUr,chunkSize:16384,windowBits:15,memLevel:8,strategy:LUr},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ftt,this.strm.avail_out=0;let r=P2.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==l$)throw new Error(Fv[r]);if(t.header&&P2.deflateSetHeader(this.strm,t.header),t.dictionary){let n;if(typeof t.dictionary=="string"?n=q2.string2buf(t.dictionary):$tt.call(t.dictionary)==="[object ArrayBuffer]"?n=new Uint8Array(t.dictionary):n=t.dictionary,r=P2.deflateSetDictionary(this.strm,n),r!==l$)throw new Error(Fv[r]);this._dict_set=!0}}function tle(e,t){let r=new K2(t);if(r.push(e,!0),r.err)throw r.msg||Fv[r.err];return r.result}function kUr(e,t){return t=t||{},t.raw=!0,tle(e,t)}function BUr(e,t){return t=t||{},t.gzip=!0,tle(e,t)}function aFr(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function TFr(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}function G2(e){this.options=h$.assign({chunkSize:1024*64,windowBits:15,to:""},e||{});let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ftt,this.strm.avail_out=0;let r=ym.inflateInit2(this.strm,t.windowBits);if(r!==H2)throw new Error(Fv[r]);if(this.header=new bFr,ym.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=q2.string2buf(t.dictionary):Jtt.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=ym.inflateSetDictionary(this.strm,t.dictionary),r!==H2)))throw new Error(Fv[r])}function rle(e,t){let r=new G2(t);if(r.push(e),r.err)throw r.msg||Fv[r.err];return r.result}function wFr(e,t){return t=t||{},t.raw=!0,rle(e,t)}var s3r,Att,i3r,a3r,o3r,Wue,V2,M2,QI,Xue,Ett,kv,Cue,c3r,Jue,ytt,vtt,Stt,que,c$,u3r,Ttt,l3r,Em,D2,k2,B2,Zue,u$,btt,Itt,Rtt,Ctt,U2,Nu,mh,xtt,d3r,f3r,wtt,h3r,Ntt,Ott,Let,Nue,Met,Hue,ket,Bet,p3r,m3r,g3r,Uet,_3r,Dtt,A3r,E3r,y3r,v3r,S3r,T3r,b3r,I3r,R3r,C3r,F2,x3r,w3r,N3r,wa,Fv,Hv,O3r,Vue,D3r,TA,P3r,bA,L3r,M3r,Sd,Fet,uo,$et,gh,k3r,Oue,B3r,U3r,n$,F3r,$3r,q3r,H3r,f$,V3r,j3r,K3r,G3r,Y3r,jue,Q3r,z3r,W3r,X3r,rn,SA,_h,J3r,zI,ele,Kue,Gue,Yue,Que,Bv,N2,Uc,JI,$v,ZI,Z3r,Uv,qet,vA,eUr,tUr,IA,gl,_l,Un,w2,zue,Ptt,WI,Ltt,Due,GI,rUr,nUr,O2,sUr,j2,Mtt,ktt,aUr,Btt,oUr,cUr,uUr,lUr,dUr,fUr,hUr,pUr,mUr,gUr,_Ur,AUr,EUr,P2,yUr,vUr,SUr,h$,Utt,$2,TUr,bUr,IUr,RUr,q2,Ftt,$tt,xUr,wUr,NUr,OUr,l$,DUr,PUr,LUr,MUr,UUr,FUr,$Ur,qUr,HUr,VUr,s$,jUr,KUr,YI,Het,Vet,jet,Pue,Ket,GUr,YUr,QUr,zUr,WUr,L2,XUr,qtt,Htt,Get,JUr,i$,qv,ZUr,eFr,Td,Vtt,jtt,tFr,Yet,p$,Qet,zet,Wet,Xet,Jet,Zet,ett,ttt,rtt,d$,Am,Lue,ntt,Mue,stt,itt,att,ott,a$,o$,ctt,utt,ltt,dtt,ftt,kue,htt,ptt,zs,Ktt,Gtt,rFr,nFr,sFr,iFr,mtt,Vv,Ytt,Qtt,ztt,Wtt,oFr,gtt,Bue,Uue,cFr,Xtt,uFr,lFr,dFr,fFr,hFr,pFr,mFr,gFr,_Fr,AFr,EFr,yFr,vFr,SFr,ym,bFr,Jtt,IFr,RFr,H2,Fue,$ue,CFr,_tt,xFr,NFr,OFr,DFr,PFr,LFr,MFr,kFr,BFr,UFr,FFr,$Fr,qFr,HFr,VFr,Ztt,ert,trt,rrt,nrt,srt,irt,art,ort,jFr,urt=oe(()=>{s3r=0,Att=1,i3r=2,a3r=3,o3r=258,Wue=29,V2=256,M2=V2+1+Wue,QI=30,Xue=19,Ett=2*M2+1,kv=15,Cue=16,c3r=7,Jue=256,ytt=16,vtt=17,Stt=18,que=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),c$=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),u3r=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Ttt=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),l3r=512,Em=new Array((M2+2)*2);XI(Em);D2=new Array(QI*2);XI(D2);k2=new Array(l3r);XI(k2);B2=new Array(o3r-a3r+1);XI(B2);Zue=new Array(Wue);XI(Zue);u$=new Array(QI);XI(u$);Ctt=e=>e<256?k2[e]:k2[256+(e>>>7)],U2=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},Nu=(e,t,r)=>{e.bi_valid>Cue-r?(e.bi_buf|=t<>Cue-e.bi_valid,e.bi_valid+=r-Cue):(e.bi_buf|=t<{Nu(e,r[t*2],r[t*2+1])},xtt=(e,t)=>{let r=0;do r|=e&1,e>>>=1,r<<=1;while(--t>0);return r>>>1},d3r=e=>{e.bi_valid===16?(U2(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},f3r=(e,t)=>{let r=t.dyn_tree,n=t.max_code,s=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.extra_bits,o=t.stat_desc.extra_base,c=t.stat_desc.max_length,u,l,d,f,h,p,m=0;for(f=0;f<=kv;f++)e.bl_count[f]=0;for(r[e.heap[e.heap_max]*2+1]=0,u=e.heap_max+1;uc&&(f=c,m++),r[l*2+1]=f,!(l>n)&&(e.bl_count[f]++,h=0,l>=o&&(h=a[l-o]),p=r[l*2],e.opt_len+=p*(f+h),i&&(e.static_len+=p*(s[l*2+1]+h)));if(m!==0){do{for(f=c-1;e.bl_count[f]===0;)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[c]--,m-=2}while(m>0);for(f=c;f!==0;f--)for(l=e.bl_count[f];l!==0;)d=e.heap[--u],!(d>n)&&(r[d*2+1]!==f&&(e.opt_len+=(f-r[d*2+1])*r[d*2],r[d*2+1]=f),l--)}},wtt=(e,t,r)=>{let n=new Array(kv+1),s=0,i,a;for(i=1;i<=kv;i++)s=s+r[i-1]<<1,n[i]=s;for(a=0;a<=t;a++){let o=e[a*2+1];o!==0&&(e[a*2]=xtt(n[o]++,o))}},h3r=()=>{let e,t,r,n,s,i=new Array(kv+1);for(r=0,n=0;n>=7;n{let t;for(t=0;t{e.bi_valid>8?U2(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Let=(e,t,r,n)=>{let s=t*2,i=r*2;return e[s]{let n=e.heap[r],s=r<<1;for(;s<=e.heap_len&&(s{let n,s,i=0,a,o;if(e.sym_next!==0)do n=e.pending_buf[e.sym_buf+i++]&255,n+=(e.pending_buf[e.sym_buf+i++]&255)<<8,s=e.pending_buf[e.sym_buf+i++],n===0?mh(e,s,t):(a=B2[s],mh(e,a+V2+1,t),o=que[a],o!==0&&(s-=Zue[a],Nu(e,s,o)),n--,a=Ctt(n),mh(e,a,r),o=c$[a],o!==0&&(n-=u$[a],Nu(e,n,o)));while(i{let r=t.dyn_tree,n=t.stat_desc.static_tree,s=t.stat_desc.has_stree,i=t.stat_desc.elems,a,o,c=-1,u;for(e.heap_len=0,e.heap_max=Ett,a=0;a>1;a>=1;a--)Nue(e,r,a);u=i;do a=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Nue(e,r,1),o=e.heap[1],e.heap[--e.heap_max]=a,e.heap[--e.heap_max]=o,r[u*2]=r[a*2]+r[o*2],e.depth[u]=(e.depth[a]>=e.depth[o]?e.depth[a]:e.depth[o])+1,r[a*2+1]=r[o*2+1]=u,e.heap[1]=u++,Nue(e,r,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],f3r(e,t),wtt(r,c,e.bl_count)},ket=(e,t,r)=>{let n,s=-1,i,a=t[0*2+1],o=0,c=7,u=4;for(a===0&&(c=138,u=3),t[(r+1)*2+1]=65535,n=0;n<=r;n++)i=a,a=t[(n+1)*2+1],!(++o{let n,s=-1,i,a=t[0*2+1],o=0,c=7,u=4;for(a===0&&(c=138,u=3),n=0;n<=r;n++)if(i=a,a=t[(n+1)*2+1],!(++o{let t;for(ket(e,e.dyn_ltree,e.l_desc.max_code),ket(e,e.dyn_dtree,e.d_desc.max_code),Hue(e,e.bl_desc),t=Xue-1;t>=3&&e.bl_tree[Ttt[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},m3r=(e,t,r,n)=>{let s;for(Nu(e,t-257,5),Nu(e,r-1,5),Nu(e,n-4,4),s=0;s{let t=4093624447,r;for(r=0;r<=31;r++,t>>>=1)if(t&1&&e.dyn_ltree[r*2]!==0)return 0;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return 1;for(r=32;r{Uet||(h3r(),Uet=!0),e.l_desc=new wue(e.dyn_ltree,btt),e.d_desc=new wue(e.dyn_dtree,Itt),e.bl_desc=new wue(e.bl_tree,Rtt),e.bi_buf=0,e.bi_valid=0,Ntt(e)},Dtt=(e,t,r,n)=>{Nu(e,(s3r<<1)+(n?1:0),3),Ott(e),U2(e,r),U2(e,~r),r&&e.pending_buf.set(e.window.subarray(t,t+r),e.pending),e.pending+=r},A3r=e=>{Nu(e,Att<<1,3),mh(e,Jue,Em),d3r(e)},E3r=(e,t,r,n)=>{let s,i,a=0;e.level>0?(e.strm.data_type===2&&(e.strm.data_type=g3r(e)),Hue(e,e.l_desc),Hue(e,e.d_desc),a=p3r(e),s=e.opt_len+3+7>>>3,i=e.static_len+3+7>>>3,i<=s&&(s=i)):s=i=r+5,r+4<=s&&t!==-1?Dtt(e,t,r,n):e.strategy===4||i===s?(Nu(e,(Att<<1)+(n?1:0),3),Met(e,Em,D2)):(Nu(e,(i3r<<1)+(n?1:0),3),m3r(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),Met(e,e.dyn_ltree,e.dyn_dtree)),Ntt(e),n&&Ott(e)},y3r=(e,t,r)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=r,t===0?e.dyn_ltree[r*2]++:(e.matches++,t--,e.dyn_ltree[(B2[r]+V2+1)*2]++,e.dyn_dtree[Ctt(t)*2]++),e.sym_next===e.sym_end),v3r=_3r,S3r=Dtt,T3r=E3r,b3r=y3r,I3r=A3r,R3r={_tr_init:v3r,_tr_stored_block:S3r,_tr_flush_block:T3r,_tr_tally:b3r,_tr_align:I3r},C3r=(e,t,r,n)=>{let s=e&65535|0,i=e>>>16&65535|0,a=0;for(;r!==0;){a=r>2e3?2e3:r,r-=a;do s=s+t[n++]|0,i=i+s|0;while(--a);s%=65521,i%=65521}return s|i<<16|0},F2=C3r,x3r=()=>{let e,t=[];for(var r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=e&1?3988292384^e>>>1:e>>>1;t[r]=e}return t},w3r=new Uint32Array(x3r()),N3r=(e,t,r,n)=>{let s=w3r,i=n+r;e^=-1;for(let a=n;a>>8^s[(e^t[a])&255];return e^-1},wa=N3r,Fv={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},Hv={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:O3r,_tr_stored_block:Vue,_tr_flush_block:D3r,_tr_tally:TA,_tr_align:P3r}=R3r,{Z_NO_FLUSH:bA,Z_PARTIAL_FLUSH:L3r,Z_FULL_FLUSH:M3r,Z_FINISH:Sd,Z_BLOCK:Fet,Z_OK:uo,Z_STREAM_END:$et,Z_STREAM_ERROR:gh,Z_DATA_ERROR:k3r,Z_BUF_ERROR:Oue,Z_DEFAULT_COMPRESSION:B3r,Z_FILTERED:U3r,Z_HUFFMAN_ONLY:n$,Z_RLE:F3r,Z_FIXED:$3r,Z_DEFAULT_STRATEGY:q3r,Z_UNKNOWN:H3r,Z_DEFLATED:f$}=Hv,V3r=9,j3r=15,K3r=8,G3r=29,Y3r=256,jue=Y3r+1+G3r,Q3r=30,z3r=19,W3r=2*jue+1,X3r=15,rn=3,SA=258,_h=SA+rn+1,J3r=32,zI=42,ele=57,Kue=69,Gue=73,Yue=91,Que=103,Bv=113,N2=666,Uc=1,JI=2,$v=3,ZI=4,Z3r=3,Uv=(e,t)=>(e.msg=Fv[t],t),qet=e=>e*2-(e>4?9:0),vA=e=>{let t=e.length;for(;--t>=0;)e[t]=0},eUr=e=>{let t,r,n,s=e.w_size;t=e.hash_size,n=t;do r=e.head[--n],e.head[n]=r>=s?r-s:0;while(--t);t=s,n=t;do r=e.prev[--n],e.prev[n]=r>=s?r-s:0;while(--t)},tUr=(e,t,r)=>(t<{let t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+r),e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,t.pending===0&&(t.pending_out=0))},_l=(e,t)=>{D3r(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,gl(e.strm)},Un=(e,t)=>{e.pending_buf[e.pending++]=t},w2=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},zue=(e,t,r,n)=>{let s=e.avail_in;return s>n&&(s=n),s===0?0:(e.avail_in-=s,t.set(e.input.subarray(e.next_in,e.next_in+s),r),e.state.wrap===1?e.adler=F2(e.adler,t,s,r):e.state.wrap===2&&(e.adler=wa(e.adler,t,s,r)),e.next_in+=s,e.total_in+=s,s)},Ptt=(e,t)=>{let r=e.max_chain_length,n=e.strstart,s,i,a=e.prev_length,o=e.nice_match,c=e.strstart>e.w_size-_h?e.strstart-(e.w_size-_h):0,u=e.window,l=e.w_mask,d=e.prev,f=e.strstart+SA,h=u[n+a-1],p=u[n+a];e.prev_length>=e.good_match&&(r>>=2),o>e.lookahead&&(o=e.lookahead);do if(s=t,!(u[s+a]!==p||u[s+a-1]!==h||u[s]!==u[n]||u[++s]!==u[n+1])){n+=2,s++;do;while(u[++n]===u[++s]&&u[++n]===u[++s]&&u[++n]===u[++s]&&u[++n]===u[++s]&&u[++n]===u[++s]&&u[++n]===u[++s]&&u[++n]===u[++s]&&u[++n]===u[++s]&&na){if(e.match_start=t,a=i,i>=o)break;h=u[n+a-1],p=u[n+a]}}while((t=d[t&l])>c&&--r!==0);return a<=e.lookahead?a:e.lookahead},WI=e=>{let t=e.w_size,r,n,s;do{if(n=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-_h)&&(e.window.set(e.window.subarray(t,t+t-n),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),eUr(e),n+=t),e.strm.avail_in===0)break;if(r=zue(e.strm,e.window,e.strstart+e.lookahead,n),e.lookahead+=r,e.lookahead+e.insert>=rn)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=IA(e,e.ins_h,e.window[s+1]);e.insert&&(e.ins_h=IA(e,e.ins_h,e.window[s+rn-1]),e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert{let r=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,n,s,i,a=0,o=e.strm.avail_in;do{if(n=65535,i=e.bi_valid+42>>3,e.strm.avail_outs+e.strm.avail_in&&(n=s+e.strm.avail_in),n>i&&(n=i),n>8,e.pending_buf[e.pending-2]=~n,e.pending_buf[e.pending-1]=~n>>8,gl(e.strm),s&&(s>n&&(s=n),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+s),e.strm.next_out),e.strm.next_out+=s,e.strm.avail_out-=s,e.strm.total_out+=s,e.block_start+=s,n-=s),n&&(zue(e.strm,e.strm.output,e.strm.next_out,n),e.strm.next_out+=n,e.strm.avail_out-=n,e.strm.total_out+=n)}while(a===0);return o-=e.strm.avail_in,o&&(o>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=o&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-o,e.strm.next_in),e.strstart),e.strstart+=o,e.insert+=o>e.w_size-e.insert?e.w_size-e.insert:o),e.block_start=e.strstart),e.high_wateri&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,i+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),i>e.strm.avail_in&&(i=e.strm.avail_in),i&&(zue(e.strm,e.window,e.strstart,i),e.strstart+=i,e.insert+=i>e.w_size-e.insert?e.w_size-e.insert:i),e.high_water>3,i=e.pending_buf_size-i>65535?65535:e.pending_buf_size-i,r=i>e.w_size?e.w_size:i,s=e.strstart-e.block_start,(s>=r||(s||t===Sd)&&t!==bA&&e.strm.avail_in===0&&s<=i)&&(n=s>i?i:s,a=t===Sd&&e.strm.avail_in===0&&n===s?1:0,Vue(e,e.block_start,n,a),e.block_start+=n,gl(e.strm)),a?$v:Uc)},Due=(e,t)=>{let r,n;for(;;){if(e.lookahead<_h){if(WI(e),e.lookahead<_h&&t===bA)return Uc;if(e.lookahead===0)break}if(r=0,e.lookahead>=rn&&(e.ins_h=IA(e,e.ins_h,e.window[e.strstart+rn-1]),r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),r!==0&&e.strstart-r<=e.w_size-_h&&(e.match_length=Ptt(e,r)),e.match_length>=rn)if(n=TA(e,e.strstart-e.match_start,e.match_length-rn),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=rn){e.match_length--;do e.strstart++,e.ins_h=IA(e,e.ins_h,e.window[e.strstart+rn-1]),r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=IA(e,e.ins_h,e.window[e.strstart+1]);else n=TA(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(_l(e,!1),e.strm.avail_out===0))return Uc}return e.insert=e.strstart{let r,n,s;for(;;){if(e.lookahead<_h){if(WI(e),e.lookahead<_h&&t===bA)return Uc;if(e.lookahead===0)break}if(r=0,e.lookahead>=rn&&(e.ins_h=IA(e,e.ins_h,e.window[e.strstart+rn-1]),r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=rn-1,r!==0&&e.prev_length4096)&&(e.match_length=rn-1)),e.prev_length>=rn&&e.match_length<=e.prev_length){s=e.strstart+e.lookahead-rn,n=TA(e,e.strstart-1-e.prev_match,e.prev_length-rn),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=s&&(e.ins_h=IA(e,e.ins_h,e.window[e.strstart+rn-1]),r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=rn-1,e.strstart++,n&&(_l(e,!1),e.strm.avail_out===0))return Uc}else if(e.match_available){if(n=TA(e,0,e.window[e.strstart-1]),n&&_l(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return Uc}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=TA(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart{let r,n,s,i,a=e.window;for(;;){if(e.lookahead<=SA){if(WI(e),e.lookahead<=SA&&t===bA)return Uc;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=rn&&e.strstart>0&&(s=e.strstart-1,n=a[s],n===a[++s]&&n===a[++s]&&n===a[++s])){i=e.strstart+SA;do;while(n===a[++s]&&n===a[++s]&&n===a[++s]&&n===a[++s]&&n===a[++s]&&n===a[++s]&&n===a[++s]&&n===a[++s]&&se.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=rn?(r=TA(e,1,e.match_length-rn),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=TA(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(_l(e,!1),e.strm.avail_out===0))return Uc}return e.insert=0,t===Sd?(_l(e,!0),e.strm.avail_out===0?$v:ZI):e.sym_next&&(_l(e,!1),e.strm.avail_out===0)?Uc:JI},nUr=(e,t)=>{let r;for(;;){if(e.lookahead===0&&(WI(e),e.lookahead===0)){if(t===bA)return Uc;break}if(e.match_length=0,r=TA(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(_l(e,!1),e.strm.avail_out===0))return Uc}return e.insert=0,t===Sd?(_l(e,!0),e.strm.avail_out===0?$v:ZI):e.sym_next&&(_l(e,!1),e.strm.avail_out===0)?Uc:JI};O2=[new ph(0,0,0,0,Ltt),new ph(4,4,8,4,Due),new ph(4,5,16,8,Due),new ph(4,6,32,32,Due),new ph(4,4,16,16,GI),new ph(8,16,32,32,GI),new ph(8,16,128,128,GI),new ph(8,32,128,256,GI),new ph(32,128,258,1024,GI),new ph(32,258,258,4096,GI)],sUr=e=>{e.window_size=2*e.w_size,vA(e.head),e.max_lazy_match=O2[e.level].max_lazy,e.good_match=O2[e.level].good_length,e.nice_match=O2[e.level].nice_length,e.max_chain_length=O2[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=rn-1,e.match_available=0,e.ins_h=0};j2=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.status!==zI&&t.status!==ele&&t.status!==Kue&&t.status!==Gue&&t.status!==Yue&&t.status!==Que&&t.status!==Bv&&t.status!==N2?1:0},Mtt=e=>{if(j2(e))return Uv(e,gh);e.total_in=e.total_out=0,e.data_type=H3r;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?ele:t.wrap?zI:Bv,e.adler=t.wrap===2?0:1,t.last_flush=-2,O3r(t),uo},ktt=e=>{let t=Mtt(e);return t===uo&&sUr(e.state),t},aUr=(e,t)=>j2(e)||e.state.wrap!==2?gh:(e.state.gzhead=t,uo),Btt=(e,t,r,n,s,i)=>{if(!e)return gh;let a=1;if(t===B3r&&(t=6),n<0?(a=0,n=-n):n>15&&(a=2,n-=16),s<1||s>V3r||r!==f$||n<8||n>15||t<0||t>9||i<0||i>$3r||n===8&&a!==1)return Uv(e,gh);n===8&&(n=9);let o=new iUr;return e.state=o,o.strm=e,o.status=zI,o.wrap=a,o.gzhead=null,o.w_bits=n,o.w_size=1<Btt(e,t,f$,j3r,K3r,q3r),cUr=(e,t)=>{if(j2(e)||t>Fet||t<0)return e?Uv(e,gh):gh;let r=e.state;if(!e.output||e.avail_in!==0&&!e.input||r.status===N2&&t!==Sd)return Uv(e,e.avail_out===0?Oue:gh);let n=r.last_flush;if(r.last_flush=t,r.pending!==0){if(gl(e),e.avail_out===0)return r.last_flush=-1,uo}else if(e.avail_in===0&&qet(t)<=qet(n)&&t!==Sd)return Uv(e,Oue);if(r.status===N2&&e.avail_in!==0)return Uv(e,Oue);if(r.status===zI&&r.wrap===0&&(r.status=Bv),r.status===zI){let s=f$+(r.w_bits-8<<4)<<8,i=-1;if(r.strategy>=n$||r.level<2?i=0:r.level<6?i=1:r.level===6?i=2:i=3,s|=i<<6,r.strstart!==0&&(s|=J3r),s+=31-s%31,w2(r,s),r.strstart!==0&&(w2(r,e.adler>>>16),w2(r,e.adler&65535)),e.adler=1,r.status=Bv,gl(e),r.pending!==0)return r.last_flush=-1,uo}if(r.status===ele){if(e.adler=0,Un(r,31),Un(r,139),Un(r,8),r.gzhead)Un(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),Un(r,r.gzhead.time&255),Un(r,r.gzhead.time>>8&255),Un(r,r.gzhead.time>>16&255),Un(r,r.gzhead.time>>24&255),Un(r,r.level===9?2:r.strategy>=n$||r.level<2?4:0),Un(r,r.gzhead.os&255),r.gzhead.extra&&r.gzhead.extra.length&&(Un(r,r.gzhead.extra.length&255),Un(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=wa(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=Kue;else if(Un(r,0),Un(r,0),Un(r,0),Un(r,0),Un(r,0),Un(r,r.level===9?2:r.strategy>=n$||r.level<2?4:0),Un(r,Z3r),r.status=Bv,gl(e),r.pending!==0)return r.last_flush=-1,uo}if(r.status===Kue){if(r.gzhead.extra){let s=r.pending,i=(r.gzhead.extra.length&65535)-r.gzindex;for(;r.pending+i>r.pending_buf_size;){let o=r.pending_buf_size-r.pending;if(r.pending_buf.set(r.gzhead.extra.subarray(r.gzindex,r.gzindex+o),r.pending),r.pending=r.pending_buf_size,r.gzhead.hcrc&&r.pending>s&&(e.adler=wa(e.adler,r.pending_buf,r.pending-s,s)),r.gzindex+=o,gl(e),r.pending!==0)return r.last_flush=-1,uo;s=0,i-=o}let a=new Uint8Array(r.gzhead.extra);r.pending_buf.set(a.subarray(r.gzindex,r.gzindex+i),r.pending),r.pending+=i,r.gzhead.hcrc&&r.pending>s&&(e.adler=wa(e.adler,r.pending_buf,r.pending-s,s)),r.gzindex=0}r.status=Gue}if(r.status===Gue){if(r.gzhead.name){let s=r.pending,i;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>s&&(e.adler=wa(e.adler,r.pending_buf,r.pending-s,s)),gl(e),r.pending!==0)return r.last_flush=-1,uo;s=0}r.gzindexs&&(e.adler=wa(e.adler,r.pending_buf,r.pending-s,s)),r.gzindex=0}r.status=Yue}if(r.status===Yue){if(r.gzhead.comment){let s=r.pending,i;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>s&&(e.adler=wa(e.adler,r.pending_buf,r.pending-s,s)),gl(e),r.pending!==0)return r.last_flush=-1,uo;s=0}r.gzindexs&&(e.adler=wa(e.adler,r.pending_buf,r.pending-s,s))}r.status=Que}if(r.status===Que){if(r.gzhead.hcrc){if(r.pending+2>r.pending_buf_size&&(gl(e),r.pending!==0))return r.last_flush=-1,uo;Un(r,e.adler&255),Un(r,e.adler>>8&255),e.adler=0}if(r.status=Bv,gl(e),r.pending!==0)return r.last_flush=-1,uo}if(e.avail_in!==0||r.lookahead!==0||t!==bA&&r.status!==N2){let s=r.level===0?Ltt(r,t):r.strategy===n$?nUr(r,t):r.strategy===F3r?rUr(r,t):O2[r.level].func(r,t);if((s===$v||s===ZI)&&(r.status=N2),s===Uc||s===$v)return e.avail_out===0&&(r.last_flush=-1),uo;if(s===JI&&(t===L3r?P3r(r):t!==Fet&&(Vue(r,0,0,!1),t===M3r&&(vA(r.head),r.lookahead===0&&(r.strstart=0,r.block_start=0,r.insert=0))),gl(e),e.avail_out===0))return r.last_flush=-1,uo}return t!==Sd?uo:r.wrap<=0?$et:(r.wrap===2?(Un(r,e.adler&255),Un(r,e.adler>>8&255),Un(r,e.adler>>16&255),Un(r,e.adler>>24&255),Un(r,e.total_in&255),Un(r,e.total_in>>8&255),Un(r,e.total_in>>16&255),Un(r,e.total_in>>24&255)):(w2(r,e.adler>>>16),w2(r,e.adler&65535)),gl(e),r.wrap>0&&(r.wrap=-r.wrap),r.pending!==0?uo:$et)},uUr=e=>{if(j2(e))return gh;let t=e.state.status;return e.state=null,t===Bv?Uv(e,k3r):uo},lUr=(e,t)=>{let r=t.length;if(j2(e))return gh;let n=e.state,s=n.wrap;if(s===2||s===1&&n.status!==zI||n.lookahead)return gh;if(s===1&&(e.adler=F2(e.adler,t,r,0)),n.wrap=0,r>=n.w_size){s===0&&(vA(n.head),n.strstart=0,n.block_start=0,n.insert=0);let c=new Uint8Array(n.w_size);c.set(t.subarray(r-n.w_size,r),0),t=c,r=n.w_size}let i=e.avail_in,a=e.next_in,o=e.input;for(e.avail_in=r,e.next_in=0,e.input=t,WI(n);n.lookahead>=rn;){let c=n.strstart,u=n.lookahead-(rn-1);do n.ins_h=IA(n,n.ins_h,n.window[c+rn-1]),n.prev[c&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=c,c++;while(--u);n.strstart=c,n.lookahead=rn-1,WI(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=rn-1,n.match_available=0,e.next_in=a,e.input=o,e.avail_in=i,n.wrap=s,uo},dUr=oUr,fUr=Btt,hUr=ktt,pUr=Mtt,mUr=aUr,gUr=cUr,_Ur=uUr,AUr=lUr,EUr="pako deflate (from Nodeca project)",P2={deflateInit:dUr,deflateInit2:fUr,deflateReset:hUr,deflateResetKeep:pUr,deflateSetHeader:mUr,deflate:gUr,deflateEnd:_Ur,deflateSetDictionary:AUr,deflateInfo:EUr},yUr=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),vUr=function(e){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let r=t.shift();if(r){if(typeof r!="object")throw new TypeError(r+"must be non-object");for(let n in r)yUr(r,n)&&(e[n]=r[n])}}return e},SUr=e=>{let t=0;for(let n=0,s=e.length;n=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;$2[254]=$2[254]=1;TUr=e=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,r,n,s,i,a=e.length,o=0;for(s=0;s>>6,t[i++]=128|r&63):r<65536?(t[i++]=224|r>>>12,t[i++]=128|r>>>6&63,t[i++]=128|r&63):(t[i++]=240|r>>>18,t[i++]=128|r>>>12&63,t[i++]=128|r>>>6&63,t[i++]=128|r&63);return t},bUr=(e,t)=>{if(t<65534&&e.subarray&&Utt)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let r="";for(let n=0;n{let r=t||e.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let n,s,i=new Array(r*2);for(s=0,n=0;n4){i[s++]=65533,n+=o-1;continue}for(a&=o===2?31:o===3?15:7;o>1&&n1){i[s++]=65533;continue}a<65536?i[s++]=a:(a-=65536,i[s++]=55296|a>>10&1023,i[s++]=56320|a&1023)}return bUr(i,s)},RUr=(e,t)=>{t=t||e.length,t>e.length&&(t=e.length);let r=t-1;for(;r>=0&&(e[r]&192)===128;)r--;return r<0||r===0?t:r+$2[e[r]]>t?r:t},q2={string2buf:TUr,buf2string:IUr,utf8border:RUr};Ftt=CUr,$tt=Object.prototype.toString,{Z_NO_FLUSH:xUr,Z_SYNC_FLUSH:wUr,Z_FULL_FLUSH:NUr,Z_FINISH:OUr,Z_OK:l$,Z_STREAM_END:DUr,Z_DEFAULT_COMPRESSION:PUr,Z_DEFAULT_STRATEGY:LUr,Z_DEFLATED:MUr}=Hv;K2.prototype.push=function(e,t){let r=this.strm,n=this.options.chunkSize,s,i;if(this.ended)return!1;for(t===~~t?i=t:i=t===!0?OUr:xUr,typeof e=="string"?r.input=q2.string2buf(e):$tt.call(e)==="[object ArrayBuffer]"?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;;){if(r.avail_out===0&&(r.output=new Uint8Array(n),r.next_out=0,r.avail_out=n),(i===wUr||i===NUr)&&r.avail_out<=6){this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;continue}if(s=P2.deflate(r,i),s===DUr)return r.next_out>0&&this.onData(r.output.subarray(0,r.next_out)),s=P2.deflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===l$;if(r.avail_out===0){this.onData(r.output);continue}if(i>0&&r.next_out>0){this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;continue}if(r.avail_in===0)break}return!0};K2.prototype.onData=function(e){this.chunks.push(e)};K2.prototype.onEnd=function(e){e===l$&&(this.result=h$.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};UUr=K2,FUr=tle,$Ur=kUr,qUr=BUr,HUr=Hv,VUr={Deflate:UUr,deflate:FUr,deflateRaw:$Ur,gzip:qUr,constants:HUr},s$=16209,jUr=16191,KUr=function(t,r){let n,s,i,a,o,c,u,l,d,f,h,p,m,g,_,y,E,A,v,T,C,b,x,w,P=t.state;n=t.next_in,x=t.input,s=n+(t.avail_in-5),i=t.next_out,w=t.output,a=i-(r-t.avail_out),o=i+(t.avail_out-257),c=P.dmax,u=P.wsize,l=P.whave,d=P.wnext,f=P.window,h=P.hold,p=P.bits,m=P.lencode,g=P.distcode,_=(1<>>24,h>>>=A,p-=A,A=E>>>16&255,A===0)w[i++]=E&65535;else if(A&16){v=E&65535,A&=15,A&&(p>>=A,p-=A),p<15&&(h+=x[n++]<>>24,h>>>=A,p-=A,A=E>>>16&255,A&16){if(T=E&65535,A&=15,pc){t.msg="invalid distance too far back",P.mode=s$;break e}if(h>>>=A,p-=A,A=i-a,T>A){if(A=T-A,A>l&&P.sane){t.msg="invalid distance too far back",P.mode=s$;break e}if(C=0,b=f,d===0){if(C+=u-A,A2;)w[i++]=b[C++],w[i++]=b[C++],w[i++]=b[C++],v-=3;v&&(w[i++]=b[C++],v>1&&(w[i++]=b[C++]))}else{C=i-T;do w[i++]=w[C++],w[i++]=w[C++],w[i++]=w[C++],v-=3;while(v>2);v&&(w[i++]=w[C++],v>1&&(w[i++]=w[C++]))}}else if(A&64){t.msg="invalid distance code",P.mode=s$;break e}else{E=g[(E&65535)+(h&(1<>3,n-=v,p-=v<<3,h&=(1<{let c=o.bits,u=0,l=0,d=0,f=0,h=0,p=0,m=0,g=0,_=0,y=0,E,A,v,T,C,b=null,x,w=new Uint16Array(YI+1),P=new Uint16Array(YI+1),M=null,L,U,Y;for(u=0;u<=YI;u++)w[u]=0;for(l=0;l=1&&w[f]===0;f--);if(h>f&&(h=f),f===0)return s[i++]=1<<24|64<<16|0,s[i++]=1<<24|64<<16|0,o.bits=1,0;for(d=1;d0&&(e===jet||f!==1))return-1;for(P[1]=0,u=1;uHet||e===Ket&&_>Vet)return 1;for(;;){L=u-m,a[l]+1=x?(U=M[a[l]-x],Y=b[a[l]-x]):(U=96,Y=0),E=1<>m)+A]=L<<24|U<<16|Y|0;while(A!==0);for(E=1<>=1;if(E!==0?(y&=E-1,y+=E):y=0,l++,--w[u]===0){if(u===f)break;u=t[r+a[l]]}if(u>h&&(y&T)!==v){for(m===0&&(m=h),C+=d,p=u-m,g=1<Het||e===Ket&&_>Vet)return 1;v=y&T,s[v]=h<<24|p<<16|C-i|0}}return y!==0&&(s[C+y]=u-m<<24|64<<16|0),o.bits=h,0},L2=WUr,XUr=0,qtt=1,Htt=2,{Z_FINISH:Get,Z_BLOCK:JUr,Z_TREES:i$,Z_OK:qv,Z_STREAM_END:ZUr,Z_NEED_DICT:eFr,Z_STREAM_ERROR:Td,Z_DATA_ERROR:Vtt,Z_MEM_ERROR:jtt,Z_BUF_ERROR:tFr,Z_DEFLATED:Yet}=Hv,p$=16180,Qet=16181,zet=16182,Wet=16183,Xet=16184,Jet=16185,Zet=16186,ett=16187,ttt=16188,rtt=16189,d$=16190,Am=16191,Lue=16192,ntt=16193,Mue=16194,stt=16195,itt=16196,att=16197,ott=16198,a$=16199,o$=16200,ctt=16201,utt=16202,ltt=16203,dtt=16204,ftt=16205,kue=16206,htt=16207,ptt=16208,zs=16209,Ktt=16210,Gtt=16211,rFr=852,nFr=592,sFr=15,iFr=sFr,mtt=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);Vv=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.modeGtt?1:0},Ytt=e=>{if(Vv(e))return Td;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=p$,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(rFr),t.distcode=t.distdyn=new Int32Array(nFr),t.sane=1,t.back=-1,qv},Qtt=e=>{if(Vv(e))return Td;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Ytt(e)},ztt=(e,t)=>{let r;if(Vv(e))return Td;let n=e.state;return t<0?(r=0,t=-t):(r=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?Td:(n.window!==null&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,Qtt(e))},Wtt=(e,t)=>{if(!e)return Td;let r=new aFr;e.state=r,r.strm=e,r.window=null,r.mode=p$;let n=ztt(e,t);return n!==qv&&(e.state=null),n},oFr=e=>Wtt(e,iFr),gtt=!0,cFr=e=>{if(gtt){Bue=new Int32Array(512),Uue=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(L2(qtt,e.lens,0,288,Bue,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;L2(Htt,e.lens,0,32,Uue,0,e.work,{bits:5}),gtt=!1}e.lencode=Bue,e.lenbits=9,e.distcode=Uue,e.distbits=5},Xtt=(e,t,r,n)=>{let s,i=e.state;return i.window===null&&(i.wsize=1<=i.wsize?(i.window.set(t.subarray(r-i.wsize,r),0),i.wnext=0,i.whave=i.wsize):(s=i.wsize-i.wnext,s>n&&(s=n),i.window.set(t.subarray(r-n,r-n+s),i.wnext),n-=s,n?(i.window.set(t.subarray(r-n,r),0),i.wnext=n,i.whave=i.wsize):(i.wnext+=s,i.wnext===i.wsize&&(i.wnext=0),i.whave{let r,n,s,i,a,o,c,u,l,d,f,h,p,m,g=0,_,y,E,A,v,T,C,b,x=new Uint8Array(4),w,P,M=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Vv(e)||!e.output||!e.input&&e.avail_in!==0)return Td;r=e.state,r.mode===Am&&(r.mode=Lue),a=e.next_out,s=e.output,c=e.avail_out,i=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,d=o,f=c,b=qv;e:for(;;)switch(r.mode){case p$:if(r.wrap===0){r.mode=Lue;break}for(;l<16;){if(o===0)break e;o--,u+=n[i++]<>>8&255,r.check=wa(r.check,x,2,0),u=0,l=0,r.mode=Qet;break}if(r.head&&(r.head.done=!1),!(r.wrap&1)||(((u&255)<<8)+(u>>8))%31){e.msg="incorrect header check",r.mode=zs;break}if((u&15)!==Yet){e.msg="unknown compression method",r.mode=zs;break}if(u>>>=4,l-=4,C=(u&15)+8,r.wbits===0&&(r.wbits=C),C>15||C>r.wbits){e.msg="invalid window size",r.mode=zs;break}r.dmax=1<>8&1),r.flags&512&&r.wrap&4&&(x[0]=u&255,x[1]=u>>>8&255,r.check=wa(r.check,x,2,0)),u=0,l=0,r.mode=zet;case zet:for(;l<32;){if(o===0)break e;o--,u+=n[i++]<>>8&255,x[2]=u>>>16&255,x[3]=u>>>24&255,r.check=wa(r.check,x,4,0)),u=0,l=0,r.mode=Wet;case Wet:for(;l<16;){if(o===0)break e;o--,u+=n[i++]<>8),r.flags&512&&r.wrap&4&&(x[0]=u&255,x[1]=u>>>8&255,r.check=wa(r.check,x,2,0)),u=0,l=0,r.mode=Xet;case Xet:if(r.flags&1024){for(;l<16;){if(o===0)break e;o--,u+=n[i++]<>>8&255,r.check=wa(r.check,x,2,0)),u=0,l=0}else r.head&&(r.head.extra=null);r.mode=Jet;case Jet:if(r.flags&1024&&(h=r.length,h>o&&(h=o),h&&(r.head&&(C=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(n.subarray(i,i+h),C)),r.flags&512&&r.wrap&4&&(r.check=wa(r.check,n,h,i)),o-=h,i+=h,r.length-=h),r.length))break e;r.length=0,r.mode=Zet;case Zet:if(r.flags&2048){if(o===0)break e;h=0;do C=n[i+h++],r.head&&C&&r.length<65536&&(r.head.name+=String.fromCharCode(C));while(C&&h>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=Am;break;case rtt:for(;l<32;){if(o===0)break e;o--,u+=n[i++]<>>=l&7,l-=l&7,r.mode=kue;break}for(;l<3;){if(o===0)break e;o--,u+=n[i++]<>>=1,l-=1,u&3){case 0:r.mode=ntt;break;case 1:if(cFr(r),r.mode=a$,t===i$){u>>>=2,l-=2;break e}break;case 2:r.mode=itt;break;case 3:e.msg="invalid block type",r.mode=zs}u>>>=2,l-=2;break;case ntt:for(u>>>=l&7,l-=l&7;l<32;){if(o===0)break e;o--,u+=n[i++]<>>16^65535)){e.msg="invalid stored block lengths",r.mode=zs;break}if(r.length=u&65535,u=0,l=0,r.mode=Mue,t===i$)break e;case Mue:r.mode=stt;case stt:if(h=r.length,h){if(h>o&&(h=o),h>c&&(h=c),h===0)break e;s.set(n.subarray(i,i+h),a),o-=h,i+=h,c-=h,a+=h,r.length-=h;break}r.mode=Am;break;case itt:for(;l<14;){if(o===0)break e;o--,u+=n[i++]<>>=5,l-=5,r.ndist=(u&31)+1,u>>>=5,l-=5,r.ncode=(u&15)+4,u>>>=4,l-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=zs;break}r.have=0,r.mode=att;case att:for(;r.have>>=3,l-=3}for(;r.have<19;)r.lens[M[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,w={bits:r.lenbits},b=L2(XUr,r.lens,0,19,r.lencode,0,r.work,w),r.lenbits=w.bits,b){e.msg="invalid code lengths set",r.mode=zs;break}r.have=0,r.mode=ott;case ott:for(;r.have>>24,y=g>>>16&255,E=g&65535,!(_<=l);){if(o===0)break e;o--,u+=n[i++]<>>=_,l-=_,r.lens[r.have++]=E;else{if(E===16){for(P=_+2;l>>=_,l-=_,r.have===0){e.msg="invalid bit length repeat",r.mode=zs;break}C=r.lens[r.have-1],h=3+(u&3),u>>>=2,l-=2}else if(E===17){for(P=_+3;l>>=_,l-=_,C=0,h=3+(u&7),u>>>=3,l-=3}else{for(P=_+7;l>>=_,l-=_,C=0,h=11+(u&127),u>>>=7,l-=7}if(r.have+h>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=zs;break}for(;h--;)r.lens[r.have++]=C}}if(r.mode===zs)break;if(r.lens[256]===0){e.msg="invalid code -- missing end-of-block",r.mode=zs;break}if(r.lenbits=9,w={bits:r.lenbits},b=L2(qtt,r.lens,0,r.nlen,r.lencode,0,r.work,w),r.lenbits=w.bits,b){e.msg="invalid literal/lengths set",r.mode=zs;break}if(r.distbits=6,r.distcode=r.distdyn,w={bits:r.distbits},b=L2(Htt,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,w),r.distbits=w.bits,b){e.msg="invalid distances set",r.mode=zs;break}if(r.mode=a$,t===i$)break e;case a$:r.mode=o$;case o$:if(o>=6&&c>=258){e.next_out=a,e.avail_out=c,e.next_in=i,e.avail_in=o,r.hold=u,r.bits=l,KUr(e,f),a=e.next_out,s=e.output,c=e.avail_out,i=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,r.mode===Am&&(r.back=-1);break}for(r.back=0;g=r.lencode[u&(1<>>24,y=g>>>16&255,E=g&65535,!(_<=l);){if(o===0)break e;o--,u+=n[i++]<>A)],_=g>>>24,y=g>>>16&255,E=g&65535,!(A+_<=l);){if(o===0)break e;o--,u+=n[i++]<>>=A,l-=A,r.back+=A}if(u>>>=_,l-=_,r.back+=_,r.length=E,y===0){r.mode=ftt;break}if(y&32){r.back=-1,r.mode=Am;break}if(y&64){e.msg="invalid literal/length code",r.mode=zs;break}r.extra=y&15,r.mode=ctt;case ctt:if(r.extra){for(P=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=utt;case utt:for(;g=r.distcode[u&(1<>>24,y=g>>>16&255,E=g&65535,!(_<=l);){if(o===0)break e;o--,u+=n[i++]<>A)],_=g>>>24,y=g>>>16&255,E=g&65535,!(A+_<=l);){if(o===0)break e;o--,u+=n[i++]<>>=A,l-=A,r.back+=A}if(u>>>=_,l-=_,r.back+=_,y&64){e.msg="invalid distance code",r.mode=zs;break}r.offset=E,r.extra=y&15,r.mode=ltt;case ltt:if(r.extra){for(P=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=zs;break}r.mode=dtt;case dtt:if(c===0)break e;if(h=f-c,r.offset>h){if(h=r.offset-h,h>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=zs;break}h>r.wnext?(h-=r.wnext,p=r.wsize-h):p=r.wnext-h,h>r.length&&(h=r.length),m=r.window}else m=s,p=a-r.offset,h=r.length;h>c&&(h=c),c-=h,r.length-=h;do s[a++]=m[p++];while(--h);r.length===0&&(r.mode=o$);break;case ftt:if(c===0)break e;s[a++]=r.length,c--,r.mode=o$;break;case kue:if(r.wrap){for(;l<32;){if(o===0)break e;o--,u|=n[i++]<{if(Vv(e))return Td;let t=e.state;return t.window&&(t.window=null),e.state=null,qv},dFr=(e,t)=>{if(Vv(e))return Td;let r=e.state;return r.wrap&2?(r.head=t,t.done=!1,qv):Td},fFr=(e,t)=>{let r=t.length,n,s,i;return Vv(e)||(n=e.state,n.wrap!==0&&n.mode!==d$)?Td:n.mode===d$&&(s=1,s=F2(s,t,r,0),s!==n.check)?Vtt:(i=Xtt(e,t,r,r),i?(n.mode=Ktt,jtt):(n.havedict=1,qv))},hFr=Qtt,pFr=ztt,mFr=Ytt,gFr=oFr,_Fr=Wtt,AFr=uFr,EFr=lFr,yFr=dFr,vFr=fFr,SFr="pako inflate (from Nodeca project)",ym={inflateReset:hFr,inflateReset2:pFr,inflateResetKeep:mFr,inflateInit:gFr,inflateInit2:_Fr,inflate:AFr,inflateEnd:EFr,inflateGetHeader:yFr,inflateSetDictionary:vFr,inflateInfo:SFr};bFr=TFr,Jtt=Object.prototype.toString,{Z_NO_FLUSH:IFr,Z_FINISH:RFr,Z_OK:H2,Z_STREAM_END:Fue,Z_NEED_DICT:$ue,Z_STREAM_ERROR:CFr,Z_DATA_ERROR:_tt,Z_MEM_ERROR:xFr}=Hv;G2.prototype.push=function(e,t){let r=this.strm,n=this.options.chunkSize,s=this.options.dictionary,i,a,o;if(this.ended)return!1;for(t===~~t?a=t:a=t===!0?RFr:IFr,Jtt.call(e)==="[object ArrayBuffer]"?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;;){for(r.avail_out===0&&(r.output=new Uint8Array(n),r.next_out=0,r.avail_out=n),i=ym.inflate(r,a),i===$ue&&s&&(i=ym.inflateSetDictionary(r,s),i===H2?i=ym.inflate(r,a):i===_tt&&(i=$ue));r.avail_in>0&&i===Fue&&r.state.wrap>0&&e[r.next_in]!==0;)ym.inflateReset(r),i=ym.inflate(r,a);switch(i){case CFr:case _tt:case $ue:case xFr:return this.onEnd(i),this.ended=!0,!1}if(o=r.avail_out,r.next_out&&(r.avail_out===0||i===Fue))if(this.options.to==="string"){let c=q2.utf8border(r.output,r.next_out),u=r.next_out-c,l=q2.buf2string(r.output,c);r.next_out=u,r.avail_out=n-u,u&&r.output.set(r.output.subarray(c,c+u),0),this.onData(l)}else this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out));if(!(i===H2&&o===0)){if(i===Fue)return i=ym.inflateEnd(this.strm),this.onEnd(i),this.ended=!0,!0;if(r.avail_in===0)break}}return!0};G2.prototype.onData=function(e){this.chunks.push(e)};G2.prototype.onEnd=function(e){e===H2&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=h$.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};NFr=G2,OFr=rle,DFr=wFr,PFr=rle,LFr=Hv,MFr={Inflate:NFr,inflate:OFr,inflateRaw:DFr,ungzip:PFr,constants:LFr},{Deflate:kFr,deflate:BFr,deflateRaw:UFr,gzip:FFr}=VUr,{Inflate:$Fr,inflate:qFr,inflateRaw:HFr,ungzip:VFr}=MFr,Ztt=kFr,ert=BFr,trt=UFr,rrt=FFr,nrt=$Fr,srt=qFr,irt=HFr,art=VFr,ort=Hv,jFr={Deflate:Ztt,deflate:ert,deflateRaw:trt,gzip:rrt,Inflate:nrt,inflate:srt,inflateRaw:irt,ungzip:art,constants:ort}});function bs(e){return KFr[e]||e}function nle(e,t){if(!e)return()=>{};if(e.aborted)return t.abort(),()=>{};let r=()=>{t.abort()};return e.addEventListener("abort",r,{once:!0}),()=>{e.removeEventListener("abort",r)}}async function Le(e,t={}){let r=parseInt(t.retries||"0",10)||0,n=Array.isArray(t.validStatusCodes)?t.validStatusCodes:[],s;for(let a=0;a<=r;a++){let o=Fe.getStore()||"system";a>0?(I("info",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] \u7B2C ${a} \u6B21\u91CD\u8BD5: ${e}`),s&&(s.cause?.code==="ETIMEDOUT"||s.cause?.code==="ECONNRESET"||s.name==="AbortError")?await new Promise(f=>setTimeout(f,100)):await new Promise(f=>setTimeout(f,Math.min(1e3*Math.pow(2,a-1),5e3)))):I("info",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] HTTP GET: ${e}`);let c=parseInt(t.timeout||F.vodRequestTimeout||"5000",10)||5e3,u=new AbortController,l=setTimeout(()=>u.abort(),c),d=nle(t.signal,u);try{let f;if(typeof WebAssembly>"u"){I("info","[Utils] [HTTP] iOS\u73AF\u5883\u964D\u7EA7\u4F7F\u7528node-fetch");let _=(await Promise.resolve().then(()=>(KI(),r$))).default;f=await _(e,{method:"GET",headers:{...t.headers},signal:u.signal})}else f=await fetch(e,{method:"GET",headers:{...t.headers},signal:u.signal});if(clearTimeout(l),!f.ok&&!n.includes(f.status))throw new Error(`HTTP error! status: ${f.status}`);let h;if(t.base64Data){I("info","[Utils] [HTTP] base64\u6A21\u5F0F");let _=await f.arrayBuffer(),y=new Uint8Array(_),E="",A=32768;for(let v=0;v(urt(),crt))).inflate(new Uint8Array(_));y=new TextDecoder("utf-8").decode(A)}catch(E){throw I("error",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] pako\u89E3\u538B\u7F29\u5931\u8D25`,E),E}}h=y}else h=await f.text();let p;try{p=JSON.parse(h)}catch{p=h}let m={},g=[];for(let[_,y]of f.headers.entries())_.toLowerCase()==="set-cookie"?g.push(y):m[_]=y;return g.length>0&&(m["set-cookie"]=g.join(";")),a>0&&I("info",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] \u91CD\u8BD5\u6210\u529F`),{data:p,status:f.status,headers:m}}catch(f){clearTimeout(l),s=f;let h=Fe.getStore()||"system";if(t.signal?.aborted)throw f;if(f.name==="AbortError"?(I("error",`[${h}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u8D85\u65F6:`,f.message),I("error","\u8BE6\u7EC6\u8BCA\u65AD:"),I("error","- URL:",e),I("error","- \u8D85\u65F6\u65F6\u95F4:",`${c}ms`),I("error",`- \u5F53\u524D\u5C1D\u8BD5: ${a+1}/${r+1}`)):(I("error",`[${h}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u5931\u8D25:`,f.message),I("error","\u8BE6\u7EC6\u8BCA\u65AD:"),I("error","- URL:",e),I("error","- \u9519\u8BEF\u7C7B\u578B:",f.name),I("error","- \u6D88\u606F:",f.message),I("error",`- \u5F53\u524D\u5C1D\u8BD5: ${a+1}/${r+1}`),f.cause&&(I("error","- \u7801:",f.cause.code),I("error","- \u539F\u56E0:",f.cause.message))),a0?(I("info",`[${c}] [\u8BF7\u6C42\u6A21\u62DF] \u7B2C ${o} \u6B21\u91CD\u8BD5: ${e}`),i&&(i.cause?.code==="ETIMEDOUT"||i.cause?.code==="ECONNRESET"||i.name==="AbortError")?await new Promise(_=>setTimeout(_,100)):await new Promise(_=>setTimeout(_,Math.min(1e3*Math.pow(2,o-1),5e3)))):I("info",`[${c}] [\u8BF7\u6C42\u6A21\u62DF] HTTP POST: ${e}`);let u=parseInt(r.timeout||F.vodRequestTimeout||"5000",10)||5e3,l=new AbortController,d=setTimeout(()=>l.abort(),u),f=nle(r.signal,l),{headers:h={},params:p,allow_redirects:m=!0}=r,g={method:"POST",headers:{...h},body:t,signal:l.signal};m||(g.redirect="manual");try{let _;if(typeof WebAssembly>"u"){I("info","[Utils] [HTTP] iOS\u73AF\u5883\u964D\u7EA7\u4F7F\u7528node-fetch");let A=(await Promise.resolve().then(()=>(KI(),r$))).default;_=await A(e,g)}else _=await fetch(e,g);clearTimeout(d);let y=await _.text();if(!_.ok&&!s.includes(_.status))throw I("error",`[${c}] [\u8BF7\u6C42\u6A21\u62DF] response data: `,y),new Error(`HTTP error! status: ${_.status}`);let E;try{E=JSON.parse(y)}catch{E=y}return o>0&&I("info",`[${c}] [\u8BF7\u6C42\u6A21\u62DF] \u91CD\u8BD5\u6210\u529F`),{data:E,status:_.status,headers:Object.fromEntries(_.headers.entries())}}catch(_){clearTimeout(d),i=_;let y=Fe.getStore()||"system";if(r.signal?.aborted)throw _;if(_.name==="AbortError"?(I("error",`[${y}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u8D85\u65F6:`,_.message),I("error","\u8BE6\u7EC6\u8BCA\u65AD:"),I("error","- URL:",e),I("error","- \u8D85\u65F6\u65F6\u95F4:",`${u}ms`),I("error",`- \u5F53\u524D\u5C1D\u8BD5: ${o+1}/${n+1}`)):(I("error",`[${y}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u5931\u8D25:`,_.message),I("error","\u8BE6\u7EC6\u8BCA\u65AD:"),I("error","- URL:",e),I("error","- \u9519\u8BEF\u7C7B\u578B:",_.name),I("error","- \u6D88\u606F:",_.message),I("error",`- \u5F53\u524D\u5C1D\u8BD5: ${o+1}/${n+1}`),_.cause&&(I("error","- \u7801:",_.cause.code),I("error","- \u539F\u56E0:",_.cause.message))),o]*>(.*?)<\/title>/i);return n&&n[1]?n[1].replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").trim():e}catch(t){let r=Fe.getStore()||"system";return I("error",`[${r}] \u83B7\u53D6\u6807\u9898\u5931\u8D25: ${t.message}`),e}}function tt(e,t=200){return new Response(JSON.stringify(e),{status:t,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}function hrt(e,t=200){if(typeof e!="string"||!e.trim().startsWith("s,n="";for(let s in e)e.hasOwnProperty(s)&&(n.length>0&&(n+="&"),n+=r(s)+"="+r(e[s]));return n}function Y2(e={}){let t={};for(let[s,i]of Object.entries(e))typeof i=="boolean"?t[s]=i?"true":"false":i==null?t[s]="":t[s]=String(i);let r=[];for(let s in t)Object.prototype.hasOwnProperty.call(t,s)&&r.push(s);r.sort();let n=[];for(let s of r){let i=encodeURIComponent(s),a=encodeURIComponent(t[s]);n.push(`${i}=${a}`)}return n.join("&")}function tR(e,t){let r=e,n="",s=e.indexOf("#"),i="";s!==-1&&(r=e.substring(0,s),i=e.substring(s));let a=r.indexOf("?");a!==-1&&(n=r.substring(a+1),r=r.substring(0,a));let o={};if(n){let u=n.split("&");for(let l of u)if(l){let[d,f=""]=l.split("=").map(decodeURIComponent);o[d]=f}}for(let u in t)Object.prototype.hasOwnProperty.call(t,u)&&(o[u]=t[u]);let c=[];for(let u in o)Object.prototype.hasOwnProperty.call(o,u)&&c.push(`${encodeURIComponent(u)}=${encodeURIComponent(o[u])}`);return r+(c.length?"?"+c.join("&"):"")+i}function prt(e){let t=e.indexOf("//")+2;t===1&&(t=0);let r=e.indexOf("/",t);if(r===-1)return"/";let n=e.indexOf("?",r),s=e.indexOf("#",r),i=n!==-1?n:s!==-1?s:e.length;return e.substring(r,i)||"/"}async function ile(e,t={},r){let{headers:n={},sniffLimit:s}=t,i=parseInt(s||"32768",10)||32768,a=parseInt(t.timeout||F.vodRequestTimeout||"5000",10)||5e3,o=new AbortController,c=setTimeout(()=>o.abort(),a),u=nle(t.signal,o);try{let l=Fe.getStore()||"system";I("info",`[${l}] [\u6D41\u5F0F\u8BF7\u6C42] HTTP GET: ${e}`);let d=await fetch(e,{method:"GET",headers:n,signal:o.signal});if(!d.ok)throw new Error(`HTTP error! status: ${d.status}`);let f=d.body.getReader?d.body.getReader():null;if(!f){let v=Fe.getStore()||"system";I("warn",`[${v}] [\u6D41\u5F0F\u8BF7\u6C42] \u73AF\u5883\u4E0D\u652F\u6301\u6D41\u5F0F\u8BFB\u53D6,\u56DE\u9000\u5230\u666E\u901A\u8BF7\u6C42`);let T=await d.text();if(clearTimeout(c),r&&!r(T.slice(0,i)))return I("info",`[${v}] [\u6D41\u5F0F\u8BF7\u6C42] \u68C0\u6D4B\u5230\u65E0\u6548\u6570\u636E(\u56DE\u9000\u6A21\u5F0F),\u4E22\u5F03\u7ED3\u679C`),null;try{return JSON.parse(T)}catch{return T}}let h=0,p=[],m=!1,g="",_=!1;for(;;){let{done:v,value:T}=await f.read();if(v)break;if(h+=T.length,!_&&r){let C=new TextDecoder("utf-8").decode(T,{stream:!0});if(g+=C,!r(g)){let b=Fe.getStore()||"system";I("info",`[${b}] [\u6D41\u5F0F\u8BF7\u6C42] \u55C5\u63A2\u5230\u65E0\u6548\u7279\u5F81(\u5DF2\u8BFB${h}\u5B57\u8282),\u7ACB\u5373\u7194\u65AD`),o.abort(),m=!0;break}h>i&&(_=!0,g=null)}p.push(T)}if(clearTimeout(c),m)return null;let y=new Uint8Array(h),E=0;for(let v of p)y.set(v,E),E+=v.length;let A=new TextDecoder("utf-8").decode(y);try{return JSON.parse(A)}catch{return A}}catch(l){let d=Fe.getStore()||"system";return clearTimeout(c),l.name==="AbortError"||I("error",`[${d}] [\u6D41\u5F0F\u8BF7\u6C42] \u5931\u8D25: ${l.message}`),null}finally{u()}}var lrt,Fe,KFr,Lr=oe(()=>{Gt();Ht();lrt=require("node:async_hooks"),Fe=new lrt.AsyncLocalStorage,KFr={360:"360kan",imgo:"mango"}});function as(e){let t=0;for(let r=0;r>>0}return t.toString(16)}function rR(e,t){return e==="lastSelectMap"&&t instanceof Map?JSON.stringify(Object.fromEntries(t)):JSON.stringify(t)}function la(e){function t(E){let A="";for(let v=0;v>6),A+=String.fromCharCode(128|T&63)):(A+=String.fromCharCode(224|T>>12),A+=String.fromCharCode(128|T>>6&63),A+=String.fromCharCode(128|T&63))}return A}e=t(e);function r(E,A){return E<>>32-A}function n(E,A){let v=E&1073741824,T=A&1073741824,C=E&2147483648,b=A&2147483648,x=(E&1073741823)+(A&1073741823);return v&T?x^2147483648^C^b:v|T?x&1073741824?x^3221225472^C^b:x^1073741824^C^b:x^C^b}function s(E,A,v){return E&A|~E&v}function i(E,A,v){return E&v|A&~v}function a(E,A,v){return E^A^v}function o(E,A,v){return A^(E|~v)}function c(E,A,v,T,C,b,x){return E=n(E,n(n(s(A,v,T),C),x)),n(r(E,b),A)}function u(E,A,v,T,C,b,x){return E=n(E,n(n(i(A,v,T),C),x)),n(r(E,b),A)}function l(E,A,v,T,C,b,x){return E=n(E,n(n(a(A,v,T),C),x)),n(r(E,b),A)}function d(E,A,v,T,C,b,x){return E=n(E,n(n(o(A,v,T),C),x)),n(r(E,b),A)}function f(E){let A=E.length,v=((A+8>>>6)+1)*16,T=new Array(v).fill(0);for(let C=0;C>2]|=E.charCodeAt(C)<>2]|=128<>>v*8&255).toString(16);A+=C.substr(C.length-2,2)}return A}let p=f(e),m=1732584193,g=4023233417,_=2562383102,y=271733878;for(let E=0;E>3,d=u&7;if(d===0){let[f,h]=cle(i,o);switch(o=h,l){case 1:c.id=f;break;case 2:c.progress=f;break;case 3:c.mode=f;break;case 4:c.fontsize=f;break;case 5:c.color=f;break;case 8:c.ctime=f;break;case 9:c.weight=f;break;case 11:c.pool=f;break;case 13:c.attr=f;break;case 15:c.like_num=f;break;case 17:c.dm_type_v2=f;break}}else if(d===2){let[f,h]=mrt(i,o);switch(o=h,l){case 6:c.midHash=bd(f);break;case 7:c.content=bd(f);break;case 10:c.action=bd(f);break;case 12:c.idStr=bd(f);break;case 14:c.animation=bd(f);break;case 16:c.color_v2=bd(f);break}}else{let[f,h]=cle(i,o);o=h}}r.push(c)}return r}function cle(e,t){let r=0n,n=0n,s=t;for(;;){let i=e[s++];if(r|=BigInt(i&127)<>>0)%9999999,t<1e4?t+1e4:t}function grt(e,t){let r=new Uint8Array(e.length);for(let n=0;nErt[t]))}function _$(e){let s=new Array(44);for(let i=0;i<4;i++)s[i]=e.slice(4*i,4*i+4);for(let i=4;i<4*11;i++){let a=s[i-1];i%4===0&&(a=grt(g$(YFr(a)),Uint8Array.from([GFr[i/4],0,0,0]))),s[i]=grt(s[i-4],a)}return s}function QFr(e,t){let s=new Uint8Array(e);s=ale(s,t.slice(10*4,11*4));for(let i=9;i>=1;i--)s=z2(s),s=Q2(s),s=ale(s,t.slice(i*4,(i+1)*4)),s=zFr(s);return s=z2(s),s=Q2(s),s=ale(s,t.slice(0,4)),s}function ale(e,t){let r=new Uint8Array(16);for(let n=0;n<4;n++)for(let s=0;s<4;s++)r[s+4*n]=e[s+4*n]^t[n][s];return r}function Q2(e){let t=new Array(256);for(let r=0;r<256;r++)t[Ert[r]]=r;return Uint8Array.from(e.map(r=>t[r]))}function z2(e){let t=new Uint8Array(16);for(let r=0;r<4;r++)for(let n=0;n<4;n++)t[r+4*n]=e[r+4*((n-r+4)%4)];return t}function zFr(e){function t(n,s){let i=0;for(let a=0;a<8;a++){s&1&&(i^=n);let o=n&128;n=n<<1&255,o&&(n^=27),s>>=1}return i}let r=new Uint8Array(16);for(let n=0;n<4;n++){let s=e.slice(4*n,4*n+4);r[4*n+0]=t(s[0],14)^t(s[1],11)^t(s[2],13)^t(s[3],9),r[4*n+1]=t(s[0],9)^t(s[1],14)^t(s[2],11)^t(s[3],13),r[4*n+2]=t(s[0],13)^t(s[1],9)^t(s[2],14)^t(s[3],11),r[4*n+3]=t(s[0],11)^t(s[1],13)^t(s[2],9)^t(s[3],14)}return r}function WFr(e,t){let r=_$(t),n=16,s=new Uint8Array(e.length);for(let i=0;i=8&&(s-=8,r+=String.fromCharCode(n>>s&255))}return r}function bd(e){let t="",r=0;for(;r=192&&n<224){let s=e[r++];t+=String.fromCharCode((n&31)<<6|s&63)}else if(n>=224&&n<240){let s=e[r++],i=e[r++];t+=String.fromCharCode((n&15)<<12|(s&63)<<6|i&63)}else if(n>=240){let s=e[r++],i=e[r++],a=e[r++],c=((n&7)<<18|(s&63)<<12|(i&63)<<6|a&63)-65536;t+=String.fromCharCode(55296+(c>>10),56320+(c&1023))}}return t}function Kv(e){let t=[];for(let r=0;r>6),t.push(128|n&63);else if(n<55296||n>=57344)t.push(224|n>>12),t.push(128|n>>6&63),t.push(128|n&63);else{r++;let s=e.charCodeAt(r),i=65536+((n&1023)<<10|s&1023);t.push(240|i>>18),t.push(128|i>>12&63),t.push(128|i>>6&63),t.push(128|i&63)}}return new Uint8Array(t)}function ZFr(e,t){try{let r=jv(e),n=Kv(t),s=WFr(r,n),i=XFr(s);return bd(i)}catch(r){return I("error","[Utils] [Codec]",r),null}}function W2(e){let t=typeof e=="string"?e.trim():JSON.stringify(e??"");try{return JSON.parse(t)}catch{}let n=ZFr(t,"3b744389882a4067");if(n!=null)try{return JSON.parse(n)}catch{return n}return t}function e6r(e){let t=[];for(let r=0;r>6),t.push(128|n&63)):n<65536&&(t.push(224|n>>12),t.push(128|n>>6&63),t.push(128|n&63))}return t}function A$(e){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",n;for(n=0;n+2>2],r+=t[(e[n]&3)<<4|e[n+1]>>4],r+=t[(e[n+1]&15)<<2|e[n+2]>>6],r+=t[e[n+2]&63];return n>2],n+1>4],r+=t[(e[n+1]&15)<<2],r+="="):(r+=t[(e[n]&3)<<4],r+="==")),r}function ole(e){function t(u,l){return l>>>u|l<<32-u}let r=Math.pow(2,32),n=[],s=e.length*8;for(let u=0;u>2]|=e.charCodeAt(u)<<(3-u)%4*8;n[e.length>>2]|=128<<(3-e.length%4)*8,n[(e.length+8>>6)*16+15]=s;let i=new Array(64),a=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],o=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];for(let u=0;u>>3,w=t(17,i[y-2])^t(19,i[y-2])^i[y-2]>>>10;i[y]=i[y-16]+x+i[y-7]+w|0}let E=t(6,p)^t(11,p)^t(25,p),A=p&m^~p&g,v=_+E+A+o[y]+i[y]|0,T=t(2,l)^t(13,l)^t(22,l),C=l&d^l&f^d&f,b=T+C|0;_=g,g=m,m=p,p=h+v|0,h=f,f=d,d=l,l=v+b|0}a[0]=a[0]+l|0,a[1]=a[1]+d|0,a[2]=a[2]+f|0,a[3]=a[3]+h|0,a[4]=a[4]+p|0,a[5]=a[5]+m|0,a[6]=a[6]+g|0,a[7]=a[7]+_|0}let c=[];for(let u of a)c.push(u>>24&255),c.push(u>>16&255),c.push(u>>8&255),c.push(u&255);return c}function yrt(e,t){let n=e6r(e);n.length>64&&(n=ole(e)),n.length<64&&(n=n.concat(Array(64-n.length).fill(0)));let s=n.map(c=>c^92),i=n.map(c=>c^54),a=ole(String.fromCharCode(...i)+t),o=ole(String.fromCharCode(...s)+String.fromCharCode(...a));return A$(o)}function X2(e,t,r,n){let s=e+"t"+t;return r&&Object.keys(r).sort().forEach(a=>{s+=a+r[a]}),s+=n,la(s)}function _rt(e){if(e<=65535)return String.fromCharCode(e);e-=65536;let t=(e>>10)+55296,r=(e&1023)+56320;return String.fromCharCode(t,r)}function vm(e){if(!e)return e;let t={"<":"<",">":">","&":"&",""":'"',"'":"'"};return e.replace(/&[a-zA-Z]+;/g,r=>t[r]||r).replace(/&#(\d+);/g,(r,n)=>_rt(parseInt(n,10))).replace(/&#x([0-9a-fA-F]+);/g,(r,n)=>_rt(parseInt(n,16)))}var Ert,GFr,Xi=oe(()=>{Ht();Ert=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],GFr=[0,1,2,4,8,16,32,64,128,27,54]});var Srt={};Bt(Srt,{getRedisCaches:()=>dle,getRedisKey:()=>t6r,judgeRedisValid:()=>fle,pingRedis:()=>vrt,runPipeline:()=>lle,setRedisKey:()=>ule,setRedisKeyWithExpiry:()=>r6r,updateRedisCaches:()=>E$});async function vrt(){let e=`${F.redisUrl}/ping`;I("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 PING \u8BF7\u6C42:",e);try{return await(await fetch(e,{method:"GET",headers:{Authorization:`Bearer ${F.redisToken}`}})).json()}catch(t){I("error","[Utils] [Redis] \u8BF7\u6C42\u5931\u8D25:",t.message),I("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",t.name),t.cause&&(I("error","- [Utils] [Redis] \u7801:",t.cause.code),I("error","- [Utils] [Redis] \u539F\u56E0:",t.cause.message))}}async function t6r(e){let t=`${F.redisUrl}/get/${e}`;I("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 GET \u8BF7\u6C42:",t);try{return await(await fetch(t,{method:"GET",headers:{Authorization:`Bearer ${F.redisToken}`}})).json()}catch(r){I("error","[Utils] [Redis] \u8BF7\u6C42\u5931\u8D25:",r.message),I("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",r.name),r.cause&&(I("error","- [Utils] [Redis] \u7801:",r.cause.code),I("error","- [Utils] [Redis] \u539F\u56E0:",r.cause.message))}}async function ule(e,t){let r=rR(e,t),n=as(r);if(F.lastHashes[e]===n)return I("info",`[Utils] [Redis] \u952E ${e} \u65E0\u53D8\u5316\uFF0C\u8DF3\u8FC7 SET \u8BF7\u6C42`),{result:"OK"};let s=`${F.redisUrl}/set/${e}`;I("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 SET \u8BF7\u6C42:",s);try{let a=await(await fetch(s,{method:"POST",headers:{Authorization:`Bearer ${F.redisToken}`,"Content-Type":"application/json"},body:r})).json();return F.lastHashes[e]=n,I("info",`[Utils] [Redis] \u952E ${e} \u66F4\u65B0\u6210\u529F`),a}catch(i){I("error","[Utils] [Redis] SET \u8BF7\u6C42\u5931\u8D25:",i.message),I("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",i.name),i.cause&&(I("error","- [Utils] [Redis] \u7801:",i.cause.code),I("error","- [Utils] [Redis] \u539F\u56E0:",i.cause.message))}}async function r6r(e,t,r){let n=rR(e,t),s=as(n);if(F.lastHashes[e]===s)return I("info",`[Utils] [Redis] \u952E ${e} \u65E0\u53D8\u5316\uFF0C\u8DF3\u8FC7 SETEX \u8BF7\u6C42`),{result:"OK"};let i=`${F.redisUrl}/set/${e}?EX=${r}`;I("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 SETEX \u8BF7\u6C42:",i);try{let o=await(await fetch(i,{method:"POST",headers:{Authorization:`Bearer ${F.redisToken}`,"Content-Type":"application/json"},body:n})).json();return F.lastHashes[e]=s,I("info",`[Utils] [Redis] \u952E ${e} \u66F4\u65B0\u6210\u529F\uFF08\u5E26\u8FC7\u671F\u65F6\u95F4 ${r}s\uFF09`),o}catch(a){I("error","[Utils] [Redis] SETEX \u8BF7\u6C42\u5931\u8D25:",a.message),I("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",a.name),a.cause&&(I("error","- [Utils] [Redis] \u7801:",a.cause.code),I("error","- [Utils] [Redis] \u539F\u56E0:",a.cause.message))}}async function lle(e){let t=`${F.redisUrl}/pipeline`;I("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 PIPELINE \u8BF7\u6C42:",t);try{return await(await fetch(t,{method:"POST",headers:{Authorization:`Bearer ${F.redisToken}`,"Content-Type":"application/json"},body:JSON.stringify(e)})).json()}catch(r){I("error","[Utils] [Redis] Pipeline \u8BF7\u6C42\u5931\u8D25:",r.message),I("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",r.name),r.cause&&(I("error","- [Utils] [Redis] \u7801:",r.cause.code),I("error","- [Utils] [Redis] \u539F\u56E0:",r.cause.message))}}async function dle(){if(!F.redisCacheInitialized)try{I("info","[Utils] [Redis] getRedisCaches start.");let t=["animes","episodeIds","episodeNum","reqRecords","lastSelectMap","todayReqNum"].map(s=>["GET",s]),r=await lle(t);F.animes=r[0].result?JSON.parse(r[0].result):F.animes,F.episodeIds=r[1].result?JSON.parse(r[1].result):F.episodeIds,F.episodeNum=r[2].result?JSON.parse(r[2].result):F.episodeNum,F.reqRecords=r[3].result?JSON.parse(r[3].result):F.reqRecords;let n=r[4].result?JSON.parse(r[4].result):null;n&&typeof n=="object"&&(F.lastSelectMap=new Map(Object.entries(n)),I("info",`[Utils] [Redis] Restored lastSelectMap from Redis with ${F.lastSelectMap.size} entries`)),F.todayReqNum=r[5].result?parseInt(r[5].result,10):F.todayReqNum,F.lastHashes.animes=as(JSON.stringify(F.animes)),F.lastHashes.episodeIds=as(JSON.stringify(F.episodeIds)),F.lastHashes.episodeNum=as(JSON.stringify(F.episodeNum)),F.lastHashes.reqRecords=as(JSON.stringify(F.reqRecords)),F.lastHashes.lastSelectMap=as(JSON.stringify(Object.fromEntries(F.lastSelectMap))),F.lastHashes.todayReqNum=as(JSON.stringify(F.todayReqNum)),F.redisCacheInitialized=!0,I("info","[Utils] [Redis] getRedisCaches completed successfully.")}catch(e){I("error",`[Utils] [Redis] getRedisCaches failed: ${e.message}`,e.stack),F.redisCacheInitialized=!0}}async function E$(){try{I("info","[Utils] [Redis] updateCaches start.");let e=[],t=[],r=[{key:"animes",value:F.animes},{key:"episodeIds",value:F.episodeIds},{key:"episodeNum",value:F.episodeNum},{key:"reqRecords",value:F.reqRecords},{key:"lastSelectMap",value:F.lastSelectMap},{key:"todayReqNum",value:F.todayReqNum}];for(let{key:n,value:s}of r){let i=JSON.stringify(n==="lastSelectMap"?Object.fromEntries(s):s),a=as(i);a!==F.lastHashes[n]&&(e.push(["SET",n,i]),t.push({key:n,hash:a}))}if(e.length>0){I("info",`[Utils] [Redis] Updating ${e.length} changed keys: ${t.map(a=>a.key).join(", ")}`);let n=await lle(e),s=0,i=0;Array.isArray(n)&&n.forEach((a,o)=>{a&&a.result==="OK"?s++:(i++,I("warn",`[Utils] [Redis] Failed to update Redis key: ${t[o]?.key}, result: ${JSON.stringify(a)}`))}),i===0?(t.forEach(({key:a,hash:o})=>{F.lastHashes[a]=o}),I("info",`[Utils] [Redis] Redis update completed successfully: ${s} keys updated`)):I("warn",`[Utils] [Redis] Redis update partially failed: ${s} succeeded, ${i} failed`)}else I("info","[Utils] [Redis] No changes detected, skipping Redis update.")}catch(e){I("error",`[Utils] [Redis] updateRedisCaches failed: ${e.message}`,e.stack),I("error",`[Utils] [Redis] Error details - Name: ${e.name}, Cause: ${e.cause?e.cause.message:"N/A"}`)}}async function fle(e){if(!F.redisValid&&F.redisUrl&&F.redisToken&&e!=="/favicon.ico"&&e!=="/robots.txt"){let t=await vrt();t&&t.result&&t.result==="PONG"&&(F.redisValid=!0)}}var y$=oe(()=>{Gt();Ht();Xi()});function Trt(){return"\u9515\u7691\u853C\u788D\u7231\u55F3\u5AD2\u7477\u66A7\u972D\u8C19\u94F5\u9E4C\u80AE\u8884\u5965\u5AAA\u9A9C\u9CCC\u575D\u7F62\u94AF\u6446\u8D25\u5457\u9881\u529E\u7ECA\u94A3\u5E2E\u7ED1\u9551\u8C24\u5265\u9971\u5B9D\u62A5\u9C8D\u9E28\u9F85\u8F88\u8D1D\u94A1\u72C8\u5907\u60EB\u9E4E\u8D32\u951B\u7EF7\u7B14\u6BD5\u6BD9\u5E01\u95ED\u835C\u54D4\u6ED7\u94CB\u7B5A\u8DF8\u8FB9\u7F16\u8D2C\u53D8\u8FA9\u8FAB\u82C4\u7F0F\u7B3E\u6807\u9AA0\u98D1\u98D9\u9556\u9573\u9CD4\u9CD6\u522B\u762A\u6FD2\u6EE8\u5BBE\u6448\u50A7\u7F24\u69DF\u6BA1\u8191\u9554\u9ACC\u9B13\u997C\u7980\u62E8\u94B5\u94C2\u9A73\u997D\u94B9\u9E41\u8865\u94B8\u8D22\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u9A96\u9EEA\u82CD\u8231\u4ED3\u6CA7\u5395\u4FA7\u518C\u6D4B\u607B\u5C42\u8BE7\u9538\u4FAA\u9497\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u5181\u8C04\u8C36\u8487\u5FCF\u5A75\u9AA3\u89C7\u7985\u9561\u573A\u5C1D\u957F\u507F\u80A0\u5382\u7545\u4F25\u82CC\u6005\u960A\u9CB3\u949E\u8F66\u5F7B\u7817\u5C18\u9648\u886C\u4F27\u8C0C\u6987\u789C\u9F80\u6491\u79F0\u60E9\u8BDA\u9A8B\u67A8\u67FD\u94D6\u94DB\u75F4\u8FDF\u9A70\u803B\u9F7F\u70BD\u996C\u9E31\u51B2\u51B2\u866B\u5BA0\u94F3\u7574\u8E0C\u7B79\u7EF8\u4FE6\u5E31\u96E0\u6A71\u53A8\u9504\u96CF\u7840\u50A8\u89E6\u5904\u520D\u7ECC\u8E70\u4F20\u948F\u75AE\u95EF\u521B\u6006\u9524\u7F0D\u7EAF\u9E51\u7EF0\u8F8D\u9F8A\u8F9E\u8BCD\u8D50\u9E5A\u806A\u8471\u56F1\u4ECE\u4E1B\u82C1\u9AA2\u679E\u51D1\u8F8F\u8E7F\u7A9C\u64BA\u9519\u9509\u9E7E\u8FBE\u54D2\u9791\u5E26\u8D37\u9A80\u7ED0\u62C5\u5355\u90F8\u63B8\u80C6\u60EE\u8BDE\u5F39\u6B9A\u8D55\u7605\u7BAA\u5F53\u6321\u515A\u8361\u6863\u8C20\u7800\u88C6\u6363\u5C9B\u7977\u5BFC\u76D7\u7118\u706F\u9093\u956B\u654C\u6DA4\u9012\u7F14\u7C74\u8BCB\u8C1B\u7EE8\u89CC\u955D\u98A0\u70B9\u57AB\u7535\u5DC5\u94BF\u766B\u9493\u8C03\u94EB\u9CB7\u8C0D\u53E0\u9CBD\u9489\u9876\u952D\u8BA2\u94E4\u4E22\u94E5\u4E1C\u52A8\u680B\u51BB\u5CBD\u9E2B\u7AA6\u728A\u72EC\u8BFB\u8D4C\u9540\u6E0E\u691F\u724D\u7B03\u9EE9\u953B\u65AD\u7F0E\u7C16\u5151\u961F\u5BF9\u603C\u9566\u5428\u987F\u949D\u7096\u8DB8\u593A\u5815\u94CE\u9E45\u989D\u8BB9\u6076\u997F\u8C14\u57A9\u960F\u8F6D\u9507\u9537\u9E57\u989A\u989B\u9CC4\u8BF6\u513F\u5C14\u9975\u8D30\u8FE9\u94D2\u9E38\u9C95\u53D1\u7F5A\u9600\u73D0\u77FE\u9492\u70E6\u8D29\u996D\u8BBF\u7EBA\u94AB\u9C82\u98DE\u8BFD\u5E9F\u8D39\u7EEF\u9544\u9CB1\u7EB7\u575F\u594B\u6124\u7CAA\u507E\u4E30\u67AB\u950B\u98CE\u75AF\u51AF\u7F1D\u8BBD\u51E4\u6CA3\u80A4\u8F90\u629A\u8F85\u8D4B\u590D\u8D1F\u8BA3\u5987\u7F1A\u51EB\u9A78\u7EC2\u7ECB\u8D59\u9EB8\u9C8B\u9CC6\u9486\u8BE5\u9499\u76D6\u8D45\u6746\u8D76\u79C6\u8D63\u5C34\u64C0\u7EC0\u5188\u521A\u94A2\u7EB2\u5C97\u6206\u9550\u777E\u8BF0\u7F1F\u9506\u6401\u9E3D\u9601\u94EC\u4E2A\u7EA5\u9549\u988D\u7ED9\u4E98\u8D53\u7EE0\u9CA0\u9F9A\u5BAB\u5DE9\u8D21\u94A9\u6C9F\u82DF\u6784\u8D2D\u591F\u8BDF\u7F11\u89CF\u86CA\u987E\u8BC2\u6BC2\u94B4\u9522\u9E2A\u9E44\u9E58\u5250\u6302\u9E39\u63B4\u5173\u89C2\u9986\u60EF\u8D2F\u8BD6\u63BC\u9E73\u9CCF\u5E7F\u72B7\u89C4\u5F52\u9F9F\u95FA\u8F68\u8BE1\u8D35\u523D\u5326\u523F\u59AB\u6867\u9C91\u9CDC\u8F8A\u6EDA\u886E\u7EF2\u9CA7\u9505\u56FD\u8FC7\u57DA\u5459\u5E3C\u6901\u8748\u94EA\u9A87\u97E9\u6C49\u961A\u7ED7\u9889\u53F7\u704F\u98A2\u9602\u9E64\u8D3A\u8BC3\u9616\u86CE\u6A2A\u8F70\u9E3F\u7EA2\u9EC9\u8BA7\u836D\u95F3\u9C8E\u58F6\u62A4\u6CAA\u6237\u6D52\u9E55\u54D7\u534E\u753B\u5212\u8BDD\u9A85\u6866\u94E7\u6000\u574F\u6B22\u73AF\u8FD8\u7F13\u6362\u5524\u75EA\u7115\u6DA3\u5942\u7F33\u953E\u9CA9\u9EC4\u8C0E\u9CC7\u6325\u8F89\u6BC1\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8BD9\u835F\u54D5\u6D4D\u7F0B\u73F2\u6656\u8364\u6D51\u8BE8\u9984\u960D\u83B7\u8D27\u7978\u94AC\u956C\u51FB\u673A\u79EF\u9965\u8FF9\u8BA5\u9E21\u7EE9\u7F09\u6781\u8F91\u7EA7\u6324\u51E0\u84DF\u5242\u6D4E\u8BA1\u8BB0\u9645\u7EE7\u7EAA\u8BA6\u8BD8\u8360\u53FD\u54DC\u9AA5\u7391\u89CA\u9F51\u77F6\u7F81\u867F\u8DFB\u9701\u9C9A\u9CAB\u5939\u835A\u988A\u8D3E\u94BE\u4EF7\u9A7E\u90CF\u6D43\u94D7\u9553\u86F2\u6B7C\u76D1\u575A\u7B3A\u95F4\u8270\u7F04\u8327\u68C0\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u8C0F\u7F23\u620B\u622C\u7751\u9E63\u7B15\u9CA3\u97AF\u5C06\u6D46\u848B\u6868\u5956\u8BB2\u9171\u7EDB\u7F30\u80F6\u6D47\u9A84\u5A07\u6405\u94F0\u77EB\u4FA5\u811A\u997A\u7F34\u7EDE\u8F7F\u8F83\u6322\u5CE4\u9E6A\u9C9B\u9636\u8282\u6D01\u7ED3\u8BEB\u5C4A\u7596\u988C\u9C92\u7D27\u9526\u4EC5\u8C28\u8FDB\u664B\u70EC\u5C3D\u52B2\u8346\u830E\u537A\u8369\u9991\u7F19\u8D46\u89D0\u9CB8\u60CA\u7ECF\u9888\u9759\u955C\u5F84\u75C9\u7ADE\u51C0\u522D\u6CFE\u8FF3\u5F2A\u80EB\u9753\u7EA0\u53A9\u65E7\u9604\u9E20\u9E6B\u9A79\u4E3E\u636E\u952F\u60E7\u5267\u8BB5\u5C66\u6989\u98D3\u949C\u9514\u7AAD\u9F83\u9E43\u7EE2\u9529\u954C\u96BD\u89C9\u51B3\u7EDD\u8C32\u73CF\u94A7\u519B\u9A8F\u76B2\u5F00\u51EF\u5240\u57B2\u5FFE\u607A\u94E0\u9534\u9F9B\u95F6\u94AA\u94D0\u9897\u58F3\u8BFE\u9A92\u7F02\u8F72\u94B6\u951E\u9894\u57A6\u6073\u9F88\u94FF\u62A0\u5E93\u88E4\u55BE\u5757\u4FA9\u90D0\u54D9\u810D\u5BBD\u72EF\u9ACB\u77FF\u65F7\u51B5\u8BD3\u8BF3\u909D\u5739\u7EA9\u8D36\u4E8F\u5CBF\u7AA5\u9988\u6E83\u532E\u8489\u6126\u8069\u7BD1\u9603\u951F\u9CB2\u6269\u9614\u86F4\u8721\u814A\u83B1\u6765\u8D56\u5D03\u5F95\u6D9E\u6FD1\u8D49\u7750\u94FC\u765E\u7C41\u84DD\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u5C9A\u6984\u6593\u9567\u8934\u7405\u9606\u9512\u635E\u52B3\u6D9D\u5520\u5D02\u94D1\u94F9\u75E8\u4E50\u9CD3\u956D\u5792\u7C7B\u6CEA\u8BD4\u7F27\u7BF1\u72F8\u79BB\u9CA4\u793C\u4E3D\u5389\u52B1\u783E\u5386\u6CA5\u96B6\u4FEA\u90E6\u575C\u82C8\u8385\u84E0\u5456\u9026\u9A8A\u7F21\u67A5\u680E\u8F79\u783A\u9502\u9E42\u75A0\u7C9D\u8DDE\u96F3\u9CA1\u9CE2\u4FE9\u8054\u83B2\u8FDE\u9570\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u8539\u5941\u6F4B\u740F\u6B93\u88E2\u88E3\u9CA2\u7CAE\u51C9\u4E24\u8F86\u8C05\u9B49\u7597\u8FBD\u9563\u7F2D\u948C\u9E69\u730E\u4E34\u90BB\u9CDE\u51DB\u8D41\u853A\u5EEA\u6AA9\u8F9A\u8E8F\u9F84\u94C3\u7075\u5CAD\u9886\u7EEB\u68C2\u86CF\u9CAE\u998F\u5218\u6D4F\u9A9D\u7EFA\u954F\u9E68\u9F99\u804B\u5499\u7B3C\u5784\u62E2\u9647\u830F\u6CF7\u73D1\u680A\u80E7\u783B\u697C\u5A04\u6402\u7BD3\u507B\u848C\u55BD\u5D5D\u9542\u7618\u8027\u877C\u9AC5\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u8D42\u7984\u5F55\u9646\u5786\u64B8\u565C\u95FE\u6CF8\u6E0C\u680C\u6A79\u8F73\u8F82\u8F98\u6C07\u80EA\u9E2C\u9E6D\u823B\u9C88\u5CE6\u631B\u5B6A\u6EE6\u4E71\u8114\u5A08\u683E\u9E3E\u92AE\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u56F5\u841D\u7F57\u903B\u9523\u7BA9\u9AA1\u9A86\u7EDC\u8366\u7321\u6CFA\u6924\u8136\u9559\u9A74\u5415\u94DD\u4FA3\u5C61\u7F15\u8651\u6EE4\u7EFF\u6988\u891B\u950A\u5452\u5988\u739B\u7801\u8682\u9A6C\u9A82\u5417\u551B\u5B37\u6769\u4E70\u9EA6\u5356\u8FC8\u8109\u52A2\u7792\u9992\u86EE\u6EE1\u8C29\u7F26\u9558\u98A1\u9CD7\u732B\u951A\u94C6\u8D38\u4E48\u6CA1\u9541\u95E8\u95F7\u4EEC\u626A\u7116\u61D1\u9494\u9530\u68A6\u772F\u8C1C\u5F25\u89C5\u5E42\u8288\u8C27\u7315\u7962\u7EF5\u7F05\u6E11\u817C\u9EFE\u5E99\u7F08\u7F2A\u706D\u60AF\u95FD\u95F5\u7F17\u9E23\u94ED\u8C2C\u8C1F\u84E6\u998D\u6B81\u9546\u8C0B\u4EA9\u94BC\u5450\u94A0\u7EB3\u96BE\u6320\u8111\u607C\u95F9\u94D9\u8BB7\u9981\u5185\u62DF\u817B\u94CC\u9CB5\u64B5\u8F87\u9CB6\u917F\u9E1F\u8311\u8885\u8042\u556E\u954A\u954D\u9667\u8616\u55EB\u989F\u8E51\u67E0\u72DE\u5B81\u62E7\u6CDE\u82CE\u549B\u804D\u94AE\u7EBD\u8113\u6D53\u519C\u4FAC\u54DD\u9A7D\u9495\u8BFA\u50A9\u759F\u6B27\u9E25\u6BB4\u5455\u6CA4\u8BB4\u6004\u74EF\u76D8\u8E52\u5E9E\u629B\u75B1\u8D54\u8F94\u55B7\u9E4F\u7EB0\u7F74\u94CD\u9A97\u8C1D\u9A88\u98D8\u7F25\u9891\u8D2B\u5AD4\u82F9\u51ED\u8BC4\u6CFC\u9887\u948B\u6251\u94FA\u6734\u8C31\u9564\u9568\u6816\u8110\u9F50\u9A91\u5C82\u542F\u6C14\u5F03\u8BAB\u8572\u9A90\u7EEE\u6864\u789B\u9880\u9883\u9CCD\u7275\u948E\u94C5\u8FC1\u7B7E\u8C26\u94B1\u94B3\u6F5C\u6D45\u8C34\u5811\u4F65\u8368\u60AD\u9A9E\u7F31\u6920\u94A4\u67AA\u545B\u5899\u8537\u5F3A\u62A2\u5AF1\u6A2F\u6217\u709D\u9516\u9535\u956A\u7F9F\u8DC4\u9539\u6865\u4E54\u4FA8\u7FD8\u7A8D\u8BEE\u8C2F\u835E\u7F32\u7857\u8DF7\u7A83\u60EC\u9532\u7BA7\u94A6\u4EB2\u5BDD\u9513\u8F7B\u6C22\u503E\u9877\u8BF7\u5E86\u63FF\u9CAD\u743C\u7A77\u8315\u86F1\u5DEF\u8D47\u866E\u9CC5\u8D8B\u533A\u8EAF\u9A71\u9F8B\u8BCE\u5C96\u9612\u89D1\u9E32\u98A7\u6743\u529D\u8BE0\u7EFB\u8F81\u94E8\u5374\u9E4A\u786E\u9615\u9619\u60AB\u8BA9\u9976\u6270\u7ED5\u835B\u5A06\u6861\u70ED\u97E7\u8BA4\u7EAB\u996A\u8F6B\u8363\u7ED2\u5D58\u877E\u7F1B\u94F7\u98A6\u8F6F\u9510\u86AC\u95F0\u6DA6\u6D12\u8428\u98D2\u9CC3\u8D5B\u4F1E\u6BF5\u7CC1\u4E27\u9A9A\u626B\u7F2B\u6DA9\u556C\u94EF\u7A51\u6740\u5239\u7EB1\u94E9\u9CA8\u7B5B\u6652\u917E\u5220\u95EA\u9655\u8D61\u7F2E\u8BAA\u59D7\u9A9F\u9490\u9CDD\u5892\u4F24\u8D4F\u57A7\u6B87\u89DE\u70E7\u7ECD\u8D4A\u6444\u6151\u8BBE\u538D\u6EE0\u7572\u7EC5\u5BA1\u5A76\u80BE\u6E17\u8BDC\u8C02\u6E16\u58F0\u7EF3\u80DC\u5E08\u72EE\u6E7F\u8BD7\u65F6\u8680\u5B9E\u8BC6\u9A76\u52BF\u9002\u91CA\u9970\u89C6\u8BD5\u8C25\u57D8\u83B3\u5F11\u8F7C\u8D33\u94C8\u9CA5\u5BFF\u517D\u7EF6\u67A2\u8F93\u4E66\u8D4E\u5C5E\u672F\u6811\u7AD6\u6570\u6445\u7EBE\u5E05\u95E9\u53CC\u8C01\u7A0E\u987A\u8BF4\u7855\u70C1\u94C4\u4E1D\u9972\u53AE\u9A77\u7F0C\u9536\u9E36\u8038\u6002\u9882\u8BBC\u8BF5\u64DE\u85AE\u998A\u98D5\u953C\u82CF\u8BC9\u8083\u8C21\u7A23\u867D\u968F\u7EE5\u5C81\u8C07\u5B59\u635F\u7B0B\u836A\u72F2\u7F29\u7410\u9501\u5522\u7743\u736D\u631E\u95FC\u94CA\u9CCE\u53F0\u6001\u949B\u9C90\u644A\u8D2A\u762B\u6EE9\u575B\u8C2D\u8C08\u53F9\u6619\u94BD\u952C\u9878\u6C64\u70EB\u50A5\u9967\u94F4\u9557\u6D9B\u7EE6\u8BA8\u97EC\u94FD\u817E\u8A8A\u9511\u9898\u4F53\u5C49\u7F07\u9E48\u9617\u6761\u7C9C\u9F86\u9CA6\u8D34\u94C1\u5385\u542C\u70C3\u94DC\u7EDF\u6078\u5934\u94AD\u79C3\u56FE\u948D\u56E2\u629F\u9893\u8715\u9968\u8131\u9E35\u9A6E\u9A7C\u692D\u7BA8\u9F0D\u889C\u5A32\u817D\u5F2F\u6E7E\u987D\u4E07\u7EA8\u7EFE\u7F51\u8F8B\u97E6\u8FDD\u56F4\u4E3A\u6F4D\u7EF4\u82C7\u4F1F\u4F2A\u7EAC\u8C13\u536B\u8BFF\u5E0F\u95F1\u6CA9\u6DA0\u73AE\u97EA\u709C\u9C94\u6E29\u95FB\u7EB9\u7A33\u95EE\u960C\u74EE\u631D\u8717\u6DA1\u7A9D\u5367\u83B4\u9F8C\u545C\u94A8\u4E4C\u8BEC\u65E0\u829C\u5434\u575E\u96FE\u52A1\u8BEF\u90AC\u5E91\u6003\u59A9\u9A9B\u9E49\u9E5C\u9521\u727A\u88AD\u4E60\u94E3\u620F\u7EC6\u9969\u960B\u73BA\u89CB\u867E\u8F96\u5CE1\u4FA0\u72ED\u53A6\u5413\u7856\u9C9C\u7EA4\u8D24\u8854\u95F2\u663E\u9669\u73B0\u732E\u53BF\u9985\u7FA1\u5BAA\u7EBF\u82CB\u83B6\u85D3\u5C98\u7303\u5A34\u9E47\u75EB\u869D\u7C7C\u8DF9\u53A2\u9576\u4E61\u8BE6\u54CD\u9879\u8297\u9977\u9AA7\u7F03\u98E8\u8427\u56A3\u9500\u6653\u5578\u54D3\u6F47\u9A81\u7EE1\u67AD\u7BAB\u534F\u631F\u643A\u80C1\u8C10\u5199\u6CFB\u8C22\u4EB5\u64B7\u7EC1\u7F2C\u950C\u8845\u5174\u9649\u8365\u51F6\u6C79\u9508\u7EE3\u9990\u9E3A\u865A\u5618\u987B\u8BB8\u53D9\u7EEA\u7EED\u8BE9\u987C\u8F69\u60AC\u9009\u7663\u7EDA\u8C16\u94C9\u955F\u5B66\u8C11\u6CF6\u9CD5\u52CB\u8BE2\u5BFB\u9A6F\u8BAD\u8BAF\u900A\u57D9\u6D54\u9C9F\u538B\u9E26\u9E2D\u54D1\u4E9A\u8BB6\u57AD\u5A05\u6860\u6C29\u9609\u70DF\u76D0\u4E25\u5CA9\u989C\u960E\u8273\u538C\u781A\u5F66\u8C1A\u9A8C\u53A3\u8D5D\u4FE8\u5156\u8C33\u6079\u95EB\u917D\u9B47\u990D\u9F39\u9E2F\u6768\u626C\u75A1\u9633\u75D2\u517B\u6837\u7080\u7476\u6447\u5C27\u9065\u7A91\u8C23\u836F\u8F7A\u9E5E\u9CD0\u7237\u9875\u4E1A\u53F6\u9765\u8C12\u90BA\u6654\u70E8\u533B\u94F1\u9890\u9057\u4EEA\u8681\u827A\u4EBF\u5FC6\u4E49\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7ECE\u8BD2\u5453\u5CC4\u9974\u603F\u9A7F\u7F22\u8F76\u8D3B\u9487\u9552\u9571\u7617\u8223\u836B\u9634\u94F6\u996E\u9690\u94DF\u763E\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8D62\u9896\u8314\u83BA\u8426\u84E5\u6484\u5624\u6EE2\u6F46\u748E\u9E66\u763F\u988F\u7F42\u54DF\u62E5\u4F63\u75C8\u8E0A\u548F\u955B\u4F18\u5FE7\u90AE\u94C0\u72B9\u8BF1\u83B8\u94D5\u9C7F\u8206\u9C7C\u6E14\u5A31\u4E0E\u5C7F\u8BED\u72F1\u8A89\u9884\u9A6D\u4F1B\u4FE3\u8C00\u8C15\u84E3\u5D5B\u996B\u9608\u59AA\u7EA1\u89CE\u6B24\u94B0\u9E46\u9E6C\u9F89\u9E33\u6E0A\u8F95\u56ED\u5458\u5706\u7F18\u8FDC\u6A7C\u9E22\u9F0B\u7EA6\u8DC3\u94A5\u7CA4\u60A6\u9605\u94BA\u90E7\u5300\u9668\u8FD0\u8574\u915D\u6655\u97F5\u90D3\u82B8\u607D\u6120\u7EAD\u97EB\u6B92\u6C32\u6742\u707E\u8F7D\u6512\u6682\u8D5E\u74D2\u8DB1\u933E\u8D43\u810F\u9A75\u51FF\u67A3\u8D23\u62E9\u5219\u6CFD\u8D5C\u5567\u5E3B\u7BA6\u8D3C\u8C2E\u8D60\u7EFC\u7F2F\u8F67\u94E1\u95F8\u6805\u8BC8\u658B\u503A\u6BE1\u76CF\u65A9\u8F97\u5D2D\u6808\u6218\u7EFD\u8C35\u5F20\u6DA8\u5E10\u8D26\u80C0\u8D75\u8BCF\u948A\u86F0\u8F99\u9517\u8FD9\u8C2A\u8F84\u9E67\u8D1E\u9488\u4FA6\u8BCA\u9547\u9635\u6D48\u7F1C\u6862\u8F78\u8D48\u796F\u9E29\u6323\u7741\u72F0\u4E89\u5E27\u75C7\u90D1\u8BC1\u8BE4\u5CE5\u94B2\u94EE\u7B5D\u7EC7\u804C\u6267\u7EB8\u631A\u63B7\u5E1C\u8D28\u6EDE\u9A98\u6809\u6800\u8F75\u8F7E\u8D3D\u9E37\u86F3\u7D77\u8E2C\u8E2F\u89EF\u949F\u7EC8\u79CD\u80BF\u4F17\u953A\u8BCC\u8F74\u76B1\u663C\u9AA4\u7EA3\u7EC9\u732A\u8BF8\u8BDB\u70DB\u77A9\u5631\u8D2E\u94F8\u9A7B\u4F2B\u69E0\u94E2\u4E13\u7816\u8F6C\u8D5A\u556D\u9994\u989E\u6869\u5E84\u88C5\u5986\u58EE\u72B6\u9525\u8D58\u5760\u7F00\u9A93\u7F12\u8C06\u51C6\u7740\u6D4A\u8BFC\u956F\u5179\u8D44\u6E0D\u8C18\u7F01\u8F8E\u8D40\u7726\u9531\u9F87\u9CBB\u8E2A\u603B\u7EB5\u506C\u90B9\u8BF9\u9A7A\u9CB0\u8BC5\u7EC4\u955E\u94BB\u7F35\u8E9C\u9CDF\u7FF1\u5E76\u535C\u6C89\u4E11\u6DC0\u8FED\u6597\u8303\u5E72\u768B\u7845\u67DC\u540E\u4F19\u79F8\u6770\u8BC0\u5938\u91CC\u91CC\u51CC\u4E48\u9709\u637B\u51C4\u6266\u5723\u5C38\u62AC\u6D82\u6D3C\u5582\u6C61\u9528\u54B8\u874E\u5F5D\u6D8C\u6E38\u5401\u5FA1\u613F\u5CB3\u4E91\u7076\u624E\u672D\u7B51\u4E8E\u5FD7\u6CE8\u51CB\u8BA0\u8C2B\u90C4\u52D0\u51FC\u5742\u5785\u57B4\u57EF\u57DD\u82D8\u836C\u836E\u839C\u83BC\u83F0\u85C1\u63F8\u5412\u5423\u5494\u549D\u54B4\u5658\u567C\u56AF\u5E5E\u5C99\u5D74\u5F77\u5FBC\u72B8\u72CD\u9980\u9987\u9993\u9995\u6123\u61B7\u61D4\u4E2C\u6E86\u6EDF\u6EB7\u6F24\u6F74\u6FB9\u752F\u7E9F\u7ED4\u7EF1\u73C9\u67A7\u684A\u6849\u69D4\u6A65\u8F71\u8F77\u8D4D\u80B7\u80E8\u98DA\u7173\u7145\u7198\u610D\u6DFC\u781C\u78D9\u770D\u949A\u94B7\u94D8\u94DE\u9503\u950D\u950E\u950F\u9518\u951D\u952A\u952B\u953F\u9545\u954E\u9562\u9565\u9569\u9572\u7A06\u9E4B\u9E5B\u9E71\u75AC\u75B4\u75D6\u766F\u88E5\u8941\u8022\u98A5\u87A8\u9EB4\u9C85\u9C86\u9C87\u9C9E\u9CB4\u9CBA\u9CBC\u9CCA\u9CCB\u9CD8\u9CD9\u9792\u97B4\u9F44\u4E2C\u4E3A\u4EB8\u4F17\u4F2A\u4F59\u51A2\u51C0\u51CC\u51FC\u522C\u52CB\u52D0\u52DA\u5364\u53C6\u53C7\u542F\u5494\u54A4\u54B4\u54CC\u54D7\u551D\u5521\u5523\u553F\u556E\u5570\u5574\u5475\u567C\u56AF\u5785\u57A7\u57AF\u57B1\u57D9\u57DD\u5846\u5899\u58F8\u59AB\u59DC\u5A34\u5A73\u5C43\u5CBD\u5CC3\u5CE3\u5D04\u5D5A\u5D5B\u5D74\u5EBC\u5F5F\u5FA1\u610D\u616D\u61B7\u624E\u6266\u631C\u6326\u637B\u63F8\u65F8\u663D\u672D\u684A\u68BC\u68BE\u68C2\u69DA\u6A90\u6C61\u6C93\u6CA8\u6CA9\u6CB5\u6D49\u6D50\u6D55\u6D8C\u6DA2\u6E7F\u6E87\u6EEA\u6F24\u7145\u7173\u7198\u7266\u729F\u72CD\u72DD\u732C\u7399\u739A\u73B1\u73C9\u73CF\u73F0\u740E\u7487\u7572\u75B4\u7606\u7618\u766F\u772C\u7740\u7841\u7845\u7859\u785A\u7877\u78B9\u78D9\u794E\u79FE\u7B5C\u7B7E\u7B93\u7CC7\u7E9F\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EE6\u7EEC\u7EF1\u7EF9\u7F0A\u7F10\u7F1E\u7F30\u7FD9\u7FDA\u80B7\u810F\u814C\u8158\u816D\u81DC\u8273\u8279\u8359\u839C\u83BC\u841A\u85C1\u866C\u8780\u87CF\u8885\u8886\u88AF\u88C8\u88E5\u8941\u8955\u89C3\u89CD\u8A5F\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C1E\u8C25\u8C37\u8C6E\u8D20\u8D4D\u8D51\u8D52\u8D57\u8D5F\u8D6A\u8DD6\u8DF6\u8E0A\u8F6A\u8F80\u8F8C\u8F92\u90C1\u90C4\u9166\u9245\u9274\u948E\u9491\u9496\u9498\u94B5\u94BB\u94CF\u94DA\u94E6\u94FB\u9508\u950F\u951C\u9520\u9528\u9533\u953D\u9543\u9548\u9555\u955A\u9560\u9562\u956E\u9574\u95EC\u95F2\u95FF\u9607\u9613\u9618\u961B\u9655\u97B4\u97E8\u988B\u988E\u9892\u9895\u9899\u98A3\u98CF\u98D0\u98D4\u98D6\u98D7\u9964\u9965\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u998C\u998E\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9C7D\u9C7E\u9C80\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE\u9CBF\u9CC0\u9CC1\u9CC2\u9CC8\u9CC9\u9CD1\u9CD2\u9CDB\u9CE0\u9CE1\u9CE3\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E47\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6F\u9E72\u9E74\u9EE1\u9F0C\u9F17\u9F81\u9F82\u5FD7\u5236\u54A8\u53EA\u7CFB\u677E\u5C1D\u9762\u5E72\u62FC\u6076\u8D5E\u53D1\u50F5\u81F4\u5978\u83B7\u7EC3\u56DE\u7CFB\u8FF9\u53EA\u8F9F\u677F\u4F60"}function hle(){return"\u9312\u769A\u85F9\u7919\u611B\u566F\u5B21\u74A6\u66D6\u9744\u8AF3\u92A8\u9D6A\u9AAF\u8956\u5967\u5ABC\u9A41\u9C32\u58E9\u7F77\u9200\u64FA\u6557\u5504\u9812\u8FA6\u7D46\u9211\u5E6B\u7D81\u938A\u8B17\u525D\u98FD\u5BF6\u5831\u9B91\u9D07\u9F59\u8F29\u8C9D\u92C7\u72FD\u5099\u618A\u9D6F\u8CC1\u931B\u7E43\u7B46\u7562\u6583\u5E63\u9589\u84FD\u55F6\u6F77\u924D\u7BF3\u8E55\u908A\u7DE8\u8CB6\u8B8A\u8FAF\u8FAE\u8290\u7DF6\u7C69\u6A19\u9A43\u98AE\u98C6\u93E2\u9463\u9C3E\u9C49\u5225\u765F\u7015\u6FF1\u8CD3\u64EF\u5110\u7E7D\u6AB3\u6BAF\u81CF\u944C\u9AD5\u9B22\u9905\u7A1F\u64A5\u7F3D\u9251\u99C1\u9911\u9238\u9D53\u88DC\u923D\u8CA1\u53C3\u8836\u6B98\u615A\u6158\u71E6\u9A42\u9EF2\u84BC\u8259\u5009\u6EC4\u5EC1\u5074\u518A\u6E2C\u60FB\u5C64\u8A6B\u9364\u5115\u91F5\u6519\u647B\u87EC\u995E\u8B92\u7E8F\u93DF\u7522\u95E1\u986B\u56C5\u8AC2\u8B96\u8546\u61FA\u5B0B\u9A4F\u8998\u79AA\u9414\u5834\u5617\u9577\u511F\u8178\u5EE0\u66A2\u5000\u8407\u60B5\u95B6\u9BE7\u9214\u8ECA\u5FB9\u7868\u5875\u9673\u896F\u5096\u8AF6\u6AEC\u78E3\u9F54\u6490\u7A31\u61F2\u8AA0\u9A01\u68D6\u6A89\u92EE\u943A\u7661\u9072\u99B3\u6065\u9F52\u71BE\u98ED\u9D1F\u6C96\u885D\u87F2\u5BF5\u9283\u7587\u8E8A\u7C4C\u7DA2\u5114\u5E6C\u8B8E\u6AE5\u5EDA\u92E4\u96DB\u790E\u5132\u89F8\u8655\u82BB\u7D40\u8E95\u50B3\u91E7\u7621\u95D6\u5275\u6134\u9318\u7D9E\u7D14\u9D89\u7DBD\u8F1F\u9F6A\u8FAD\u8A5E\u8CDC\u9DBF\u8070\u8525\u56EA\u5F9E\u53E2\u84EF\u9A44\u6A05\u6E4A\u8F33\u8EA5\u7AC4\u651B\u932F\u92BC\u9E7A\u9054\u5660\u97C3\u5E36\u8CB8\u99D8\u7D3F\u64D4\u55AE\u9132\u64A3\u81BD\u619A\u8A95\u5F48\u6BAB\u8CE7\u7649\u7C1E\u7576\u64CB\u9EE8\u8569\u6A94\u8B9C\u78AD\u8960\u6417\u5CF6\u79B1\u5C0E\u76DC\u71FE\u71C8\u9127\u9419\u6575\u6ECC\u905E\u7DE0\u7CF4\u8A46\u8AE6\u7D88\u89BF\u93D1\u985B\u9EDE\u588A\u96FB\u5DD4\u923F\u7672\u91E3\u8ABF\u929A\u9BDB\u8ADC\u758A\u9C08\u91D8\u9802\u9320\u8A02\u92CC\u4E1F\u92A9\u6771\u52D5\u68DF\u51CD\u5D20\u9D87\u7AC7\u72A2\u7368\u8B80\u8CED\u934D\u7006\u6ADD\u7258\u7BE4\u9EF7\u935B\u65B7\u7DDE\u7C6A\u514C\u968A\u5C0D\u61DF\u9413\u5678\u9813\u920D\u71C9\u8E89\u596A\u58AE\u9438\u9D5D\u984D\u8A1B\u60E1\u9913\u8AE4\u580A\u95BC\u8EDB\u92E8\u9354\u9D9A\u984E\u9853\u9C77\u8A92\u5152\u723E\u990C\u8CB3\u9087\u927A\u9D2F\u9B9E\u767C\u7F70\u95A5\u743A\u792C\u91E9\u7169\u8CA9\u98EF\u8A2A\u7D21\u9201\u9B74\u98DB\u8AB9\u5EE2\u8CBB\u7DCB\u9428\u9BE1\u7D1B\u58B3\u596E\u61A4\u7CDE\u50E8\u8C50\u6953\u92D2\u98A8\u760B\u99AE\u7E2B\u8AF7\u9CF3\u7043\u819A\u8F3B\u64AB\u8F14\u8CE6\u5FA9\u8CA0\u8A03\u5A66\u7E1B\u9CE7\u99D9\u7D31\u7D3C\u8CFB\u9EA9\u9B92\u9C12\u91D3\u8A72\u9223\u84CB\u8CC5\u687F\u8D95\u7A08\u8D1B\u5C37\u641F\u7D3A\u5CA1\u525B\u92FC\u7DB1\u5D17\u6207\u93AC\u776A\u8AA5\u7E1E\u92EF\u64F1\u9D3F\u95A3\u927B\u500B\u7D07\u9398\u6F41\u7D66\u4E99\u8CE1\u7D86\u9BC1\u9F94\u5BAE\u978F\u8CA2\u9264\u6E9D\u830D\u69CB\u8CFC\u5920\u8A6C\u7DF1\u89AF\u8831\u9867\u8A41\u8F42\u9237\u932E\u9D23\u9D60\u9DBB\u526E\u639B\u9D30\u6451\u95DC\u89C0\u9928\u6163\u8CAB\u8A7F\u645C\u9E1B\u9C25\u5EE3\u7377\u898F\u6B78\u9F9C\u95A8\u8ECC\u8A6D\u8CB4\u528A\u532D\u528C\u5AAF\u6A9C\u9BAD\u9C56\u8F25\u6EFE\u889E\u7DC4\u9BC0\u934B\u570B\u904E\u581D\u54BC\u5E57\u69E8\u87C8\u927F\u99ED\u97D3\u6F22\u95DE\u7D4E\u9821\u865F\u705D\u9865\u95A1\u9DB4\u8CC0\u8A36\u95D4\u8823\u6A6B\u8F5F\u9D3B\u7D05\u9ECC\u8A0C\u8452\u958E\u9C5F\u58FA\u8B77\u6EEC\u6236\u6EF8\u9D98\u5629\u83EF\u756B\u5283\u8A71\u9A4A\u6A3A\u93F5\u61F7\u58DE\u6B61\u74B0\u9084\u7DE9\u63DB\u559A\u7613\u7165\u6E19\u5950\u7E6F\u9370\u9BC7\u9EC3\u8B0A\u9C09\u63EE\u8F1D\u6BC0\u8CC4\u7A62\u6703\u71F4\u532F\u8AF1\u8AA8\u7E6A\u8A7C\u8588\u5666\u6FAE\u7E62\u743F\u6689\u8477\u6E3E\u8AE2\u991B\u95BD\u7372\u8CA8\u798D\u9225\u944A\u64CA\u6A5F\u7A4D\u9951\u8DE1\u8B4F\u96DE\u7E3E\u7DDD\u6975\u8F2F\u7D1A\u64E0\u5E7E\u858A\u5291\u6FDF\u8A08\u8A18\u969B\u7E7C\u7D00\u8A10\u8A70\u85BA\u5630\u568C\u9A65\u74A3\u89AC\u9F4F\u78EF\u7F88\u8806\u8E8B\u973D\u9C6D\u9BFD\u593E\u83A2\u9830\u8CC8\u9240\u50F9\u99D5\u90DF\u6D79\u92CF\u93B5\u87EF\u6BB2\u76E3\u5805\u7B8B\u9593\u8271\u7DD8\u7E6D\u6AA2\u583F\u9E7C\u63C0\u64BF\u7C21\u5109\u6E1B\u85A6\u6ABB\u9452\u8E10\u8CE4\u898B\u9375\u8266\u528D\u991E\u6F38\u6FFA\u6F97\u8AEB\u7E11\u6214\u6229\u77BC\u9DBC\u7B67\u9C39\u97C9\u5C07\u6F3F\u8523\u69F3\u734E\u8B1B\u91AC\u7D73\u97C1\u81A0\u6F86\u9A55\u5B0C\u652A\u9278\u77EF\u50E5\u8173\u9903\u7E73\u7D5E\u8F4E\u8F03\u649F\u5DA0\u9DE6\u9BAB\u968E\u7BC0\u6F54\u7D50\u8AA1\u5C46\u7664\u981C\u9B9A\u7DCA\u9326\u50C5\u8B39\u9032\u6649\u71FC\u76E1\u52C1\u834A\u8396\u5DF9\u85CE\u9949\u7E09\u8D10\u89B2\u9BE8\u9A5A\u7D93\u9838\u975C\u93E1\u5F91\u75D9\u7AF6\u51C8\u5244\u6D87\u9015\u5F33\u811B\u975A\u7CFE\u5EC4\u820A\u9B2E\u9CE9\u9DF2\u99D2\u8209\u64DA\u92F8\u61FC\u5287\u8A4E\u5C68\u6AF8\u98B6\u9245\u92E6\u7AB6\u9F5F\u9D51\u7D79\u9308\u942B\u96CB\u89BA\u6C7A\u7D55\u8B4E\u73A8\u921E\u8ECD\u99FF\u76B8\u958B\u51F1\u5274\u584F\u613E\u6137\u93A7\u9347\u9F95\u958C\u9227\u92AC\u9846\u6BBC\u8AB2\u9A0D\u7DD9\u8EFB\u9233\u9301\u9837\u58BE\u61C7\u9F66\u93D7\u6473\u5EAB\u8932\u56B3\u584A\u5108\u9136\u5672\u81BE\u5BEC\u736A\u9AD6\u7926\u66E0\u6CC1\u8A86\u8A91\u913A\u58D9\u7E8A\u8CBA\u8667\u5DCB\u7ABA\u994B\u6F70\u5331\u8562\u6192\u8075\u7C23\u95AB\u9315\u9BE4\u64F4\u95CA\u8810\u881F\u81D8\u840A\u4F86\u8CF4\u5D0D\u5FA0\u6DF6\u7028\u8CDA\u775E\u9338\u7669\u7C5F\u85CD\u6B04\u6514\u7C43\u95CC\u862D\u703E\u8B95\u652C\u89BD\u61F6\u7E9C\u721B\u6FEB\u5D50\u6B16\u6595\u946D\u8964\u746F\u95AC\u92C3\u6488\u52DE\u6F87\u562E\u5D97\u92A0\u9412\u7646\u6A02\u9C33\u9433\u58D8\u985E\u6DDA\u8A84\u7E32\u7C6C\u8C8D\u96E2\u9BC9\u79AE\u9E97\u53B2\u52F5\u792B\u6B77\u701D\u96B8\u5137\u9148\u58E2\u85F6\u849E\u863A\u56A6\u9090\u9A6A\u7E2D\u6AEA\u6ADF\u8F62\u792A\u92F0\u9E1D\u7658\u7CF2\u8E92\u9742\u9C7A\u9C67\u5006\u806F\u84EE\u9023\u942E\u6190\u6F23\u7C3E\u6582\u81C9\u93C8\u6200\u7149\u7DF4\u861E\u5969\u7032\u7489\u6BAE\u8933\u895D\u9C31\u7CE7\u6DBC\u5169\u8F1B\u8AD2\u9B4E\u7642\u907C\u9410\u7E5A\u91D5\u9DEF\u7375\u81E8\u9130\u9C57\u51DC\u8CC3\u85FA\u5EE9\u6A81\u8F54\u8EAA\u9F61\u9234\u9748\u5DBA\u9818\u7DBE\u6B1E\u87F6\u9BEA\u993E\u5289\u700F\u9A2E\u7DB9\u93A6\u9DDA\u9F8D\u807E\u56A8\u7C60\u58DF\u650F\u96B4\u8622\u7027\u74CF\u6AF3\u6727\u7931\u6A13\u5A41\u645F\u7C0D\u50C2\u851E\u560D\u5D81\u93E4\u763A\u802C\u87BB\u9ACF\u8606\u76E7\u9871\u5EEC\u7210\u64C4\u9E75\u865C\u9B6F\u8CC2\u797F\u9304\u9678\u58DA\u64FC\u5695\u95AD\u7018\u6DE5\u6AE8\u6AD3\u8F64\u8F05\u8F46\u6C0C\u81DA\u9E15\u9DFA\u826B\u9C78\u5DD2\u6523\u5B7F\u7064\u4E82\u81E0\u5B4C\u6B12\u9E1E\u947E\u6384\u8F2A\u502B\u4F96\u6DEA\u7DB8\u8AD6\u5707\u863F\u7F85\u908F\u947C\u7C6E\u9A3E\u99F1\u7D61\u7296\u7380\u6FFC\u6B0F\u8161\u93CD\u9A62\u5442\u92C1\u4FB6\u5C62\u7E37\u616E\u6FFE\u7DA0\u6ADA\u8938\u92DD\u5638\u5ABD\u746A\u78BC\u879E\u99AC\u7F75\u55CE\u561C\u5B24\u69AA\u8CB7\u9EA5\u8CE3\u9081\u8108\u52F1\u779E\u9945\u883B\u6EFF\u8B3E\u7E35\u93DD\u9859\u9C3B\u8C93\u9328\u925A\u8CBF\u9EBC\u6C92\u9382\u9580\u60B6\u5011\u636B\u71DC\u61E3\u9346\u9333\u5922\u7787\u8B0E\u5F4C\u8993\u51AA\u7F8B\u8B10\u737C\u79B0\u7DBF\u7DEC\u6FA0\u9766\u9EFD\u5EDF\u7DF2\u7E46\u6EC5\u61AB\u95A9\u9594\u7DE1\u9CF4\u9298\u8B2C\u8B28\u9A40\u9943\u6B7F\u93CC\u8B00\u755D\u926C\u5436\u9209\u7D0D\u96E3\u6493\u8166\u60F1\u9B27\u9403\u8A25\u9912\u5167\u64EC\u81A9\u922E\u9BE2\u6506\u8F26\u9BF0\u91C0\u9CE5\u8526\u88CA\u8076\u5699\u9477\u93B3\u9689\u8617\u56C1\u9862\u8EA1\u6AB8\u7370\u5BE7\u64F0\u6FD8\u82E7\u5680\u8079\u9215\u7D10\u81BF\u6FC3\u8FB2\u5102\u5665\u99D1\u91F9\u8AFE\u513A\u7627\u6B50\u9DD7\u6BC6\u5614\u6F1A\u8B33\u616A\u750C\u76E4\u8E63\u9F90\u62CB\u76B0\u8CE0\u8F61\u5674\u9D6C\u7D15\u7F86\u9239\u9A19\u8ADE\u99E2\u98C4\u7E39\u983B\u8CA7\u5B2A\u860B\u6191\u8A55\u6F51\u9817\u91D9\u64B2\u92EA\u6A38\u8B5C\u93F7\u9420\u68F2\u81CD\u9F4A\u9A0E\u8C48\u555F\u6C23\u68C4\u8A16\u8604\u9A0F\u7DBA\u69BF\u78E7\u980E\u980F\u9C2D\u727D\u91EC\u925B\u9077\u7C3D\u8B19\u9322\u9257\u6F5B\u6DFA\u8B74\u5879\u50C9\u8541\u6173\u9A2B\u7E7E\u69E7\u9210\u69CD\u55C6\u58BB\u8594\u5F37\u6436\u5B19\u6AA3\u6227\u7197\u9306\u93D8\u93F9\u7FA5\u8E4C\u936C\u6A4B\u55AC\u50D1\u7FF9\u7AC5\u8A9A\u8B59\u854E\u7E70\u78FD\u8E7A\u7ACA\u611C\u9365\u7BCB\u6B3D\u89AA\u5BE2\u92DF\u8F15\u6C2B\u50BE\u9803\u8ACB\u6176\u64B3\u9BD6\u74CA\u7AAE\u7162\u86FA\u5DF0\u8CD5\u87E3\u9C0D\u8DA8\u5340\u8EC0\u9A45\u9F72\u8A58\u5D87\u95C3\u89B7\u9D1D\u9874\u6B0A\u52F8\u8A6E\u7DA3\u8F07\u9293\u537B\u9D72\u78BA\u95CB\u95D5\u6128\u8B93\u9952\u64FE\u7E5E\u8558\u5B08\u6A48\u71B1\u97CC\u8A8D\u7D09\u98EA\u8ED4\u69AE\u7D68\u5DB8\u8811\u7E1F\u92A3\u9870\u8EDF\u92B3\u8706\u958F\u6F64\u7051\u85A9\u98AF\u9C13\u8CFD\u5098\u6BFF\u7CDD\u55AA\u9A37\u6383\u7E45\u6F80\u55C7\u92AB\u7A61\u6BBA\u524E\u7D17\u93A9\u9BCA\u7BE9\u66EC\u91C3\u522A\u9583\u965C\u8D0D\u7E55\u8A15\u59CD\u9A38\u91E4\u9C54\u5891\u50B7\u8CDE\u5770\u6BA4\u89F4\u71D2\u7D39\u8CD2\u651D\u61FE\u8A2D\u5399\u7044\u756C\u7D33\u5BE9\u5B38\u814E\u6EF2\u8A75\u8AD7\u700B\u8072\u7E69\u52DD\u5E2B\u7345\u6FD5\u8A69\u6642\u8755\u5BE6\u8B58\u99DB\u52E2\u9069\u91CB\u98FE\u8996\u8A66\u8B1A\u5852\u8494\u5F12\u8EFE\u8CB0\u9230\u9C23\u58FD\u7378\u7DAC\u6A1E\u8F38\u66F8\u8D16\u5C6C\u8853\u6A39\u8C4E\u6578\u6504\u7D13\u5E25\u9582\u96D9\u8AB0\u7A05\u9806\u8AAA\u78A9\u720D\u9460\u7D72\u98FC\u5EDD\u99DF\u7DE6\u9376\u9DE5\u8073\u616B\u980C\u8A1F\u8AA6\u64FB\u85EA\u993F\u98BC\u93AA\u8607\u8A34\u8085\u8B16\u7A4C\u96D6\u96A8\u7D8F\u6B72\u8AB6\u5B6B\u640D\u7B4D\u84C0\u733B\u7E2E\u7463\u9396\u55E9\u8127\u737A\u64BB\u95E5\u9248\u9C28\u81FA\u614B\u9226\u9B90\u6524\u8CAA\u7671\u7058\u58C7\u8B5A\u8AC7\u5606\u66C7\u926D\u931F\u9807\u6E6F\u71D9\u513B\u9933\u940B\u93DC\u6FE4\u7D73\u8A0E\u97DC\u92F1\u9A30\u8B04\u92BB\u984C\u9AD4\u5C5C\u7DF9\u9D5C\u95D0\u689D\u7CF6\u9F60\u9C37\u8CBC\u9435\u5EF3\u807D\u70F4\u9285\u7D71\u615F\u982D\u9204\u79BF\u5716\u91F7\u5718\u6476\u9839\u86FB\u98E9\u812B\u9D15\u99B1\u99DD\u6A62\u7C5C\u9F09\u896A\u5AA7\u8183\u5F4E\u7063\u9811\u842C\u7D08\u7DB0\u7DB2\u8F1E\u97CB\u9055\u570D\u70BA\u6FF0\u7DAD\u8466\u5049\u507D\u7DEF\u8B02\u885B\u8AC9\u5E43\u95C8\u6E88\u6F7F\u744B\u97D9\u7152\u9BAA\u6EAB\u805E\u7D0B\u7A69\u554F\u95BF\u7515\u64BE\u8778\u6E26\u7AA9\u81E5\u8435\u9F77\u55DA\u93A2\u70CF\u8AA3\u7121\u856A\u5433\u5862\u9727\u52D9\u8AA4\u9114\u5EE1\u61AE\u5AF5\u9A16\u9D61\u9DA9\u932B\u72A7\u8972\u7FD2\u9291\u6232\u7D30\u993C\u9B29\u74BD\u89A1\u8766\u8F44\u5CFD\u4FE0\u72F9\u5EC8\u5687\u7864\u9BAE\u7E96\u8CE2\u929C\u9591\u986F\u96AA\u73FE\u737B\u7E23\u9921\u7FA8\u61B2\u7DDA\u83A7\u859F\u861A\u5CF4\u736B\u5AFB\u9DF4\u7647\u8814\u79C8\u8E9A\u5EC2\u9472\u9109\u8A73\u97FF\u9805\u858C\u9909\u9A64\u7DD7\u9957\u856D\u56C2\u92B7\u66C9\u562F\u5635\u701F\u9A4D\u7D83\u689F\u7C2B\u5354\u633E\u651C\u8105\u8AE7\u5BEB\u7009\u8B1D\u893B\u64F7\u7D32\u7E88\u92C5\u91C1\u8208\u9658\u6ECE\u5147\u6D36\u92B9\u7E61\u9948\u9D42\u865B\u5653\u9808\u8A31\u6558\u7DD2\u7E8C\u8A61\u980A\u8ED2\u61F8\u9078\u766C\u7D62\u8AFC\u9249\u93C7\u5B78\u8B14\u6FA9\u9C48\u52DB\u8A62\u5C0B\u99B4\u8A13\u8A0A\u905C\u5864\u6F6F\u9C58\u58D3\u9D09\u9D28\u555E\u4E9E\u8A1D\u57E1\u5A6D\u690F\u6C2C\u95B9\u7159\u9E7D\u56B4\u5DD6\u984F\u95BB\u8277\u53AD\u786F\u5F65\u8AFA\u9A57\u53B4\u8D17\u513C\u5157\u8B9E\u61E8\u9586\u91C5\u9B58\u995C\u9F34\u9D26\u694A\u63DA\u760D\u967D\u7662\u990A\u6A23\u716C\u7464\u6416\u582F\u9059\u7AAF\u8B20\u85E5\u8EFA\u9DC2\u9C29\u723A\u9801\u696D\u8449\u9768\u8B01\u9134\u66C4\u71C1\u91AB\u92A5\u9824\u907A\u5100\u87FB\u85DD\u5104\u61B6\u7FA9\u8A63\u8B70\u8ABC\u8B6F\u7570\u7E79\u8A52\u56C8\u5DA7\u98F4\u61CC\u9A5B\u7E0A\u8EFC\u8CBD\u91D4\u93B0\u943F\u761E\u8264\u852D\u9670\u9280\u98F2\u96B1\u92A6\u766E\u6AFB\u5B30\u9DF9\u61C9\u7E93\u7469\u87A2\u71DF\u7192\u8805\u8D0F\u7A4E\u584B\u9DAF\u7E08\u93A3\u6516\u56B6\u7005\u7020\u74D4\u9E1A\u766D\u9826\u7F4C\u55B2\u64C1\u50AD\u7670\u8E34\u8A60\u93DE\u512A\u6182\u90F5\u923E\u7336\u8A98\u8555\u92AA\u9B77\u8F3F\u9B5A\u6F01\u5A1B\u8207\u5DBC\u8A9E\u7344\u8B7D\u9810\u99AD\u50B4\u4FC1\u8ADB\u8AED\u8577\u5D33\u98EB\u95BE\u5AD7\u7D06\u89A6\u6B5F\u923A\u9D52\u9DF8\u9F6C\u9D1B\u6DF5\u8F45\u5712\u54E1\u5713\u7DE3\u9060\u6ADE\u9CF6\u9EFF\u7D04\u8E8D\u9470\u7CB5\u6085\u95B1\u925E\u9116\u52FB\u9695\u904B\u860A\u919E\u6688\u97FB\u9106\u8553\u60F2\u614D\u7D1C\u97DE\u6B9E\u6C33\u96DC\u707D\u8F09\u6522\u66AB\u8D0A\u74DA\u8DB2\u93E8\u8D13\u81DF\u99D4\u947F\u68D7\u8CAC\u64C7\u5247\u6FA4\u8CFE\u5616\u5E58\u7C00\u8CCA\u8B56\u8D08\u7D9C\u7E52\u8ECB\u9358\u9598\u67F5\u8A50\u9F4B\u50B5\u6C08\u76DE\u65AC\u8F3E\u5D84\u68E7\u6230\u7DBB\u8B6B\u5F35\u6F32\u5E33\u8CEC\u8139\u8D99\u8A54\u91D7\u87C4\u8F4D\u937A\u9019\u8B2B\u8F12\u9DD3\u8C9E\u91DD\u5075\u8A3A\u93AE\u9663\u6E5E\u7E1D\u6968\u8EEB\u8CD1\u798E\u9D06\u6399\u775C\u7319\u722D\u5E40\u7665\u912D\u8B49\u8ACD\u5D22\u9266\u931A\u7B8F\u7E54\u8077\u57F7\u7D19\u646F\u64F2\u5E5F\u8CEA\u6EEF\u9A2D\u6ADB\u6894\u8EF9\u8F0A\u8D04\u9DD9\u8784\u7E36\u8E93\u8E91\u89F6\u9418\u7D42\u7A2E\u816B\u773E\u937E\u8B05\u8EF8\u76BA\u665D\u9A5F\u7D02\u7E10\u8C6C\u8AF8\u8A85\u71ED\u77DA\u56D1\u8CAF\u9444\u99D0\u4F47\u6AE7\u9296\u5C08\u78DA\u8F49\u8CFA\u56C0\u994C\u9873\u6A01\u838A\u88DD\u599D\u58EF\u72C0\u9310\u8D05\u589C\u7DB4\u9A05\u7E0B\u8AC4\u6E96\u8457\u6FC1\u8AD1\u9432\u8332\u8CC7\u6F2C\u8AEE\u7DC7\u8F1C\u8CB2\u7725\u9319\u9F5C\u9BD4\u8E64\u7E3D\u7E31\u50AF\u9112\u8ACF\u9A36\u9BEB\u8A5B\u7D44\u93C3\u9246\u7E98\u8EA6\u9C52\u7FFA\u4E26\u8514\u6C88\u919C\u6FB1\u53E0\u9B25\u7BC4\u5E79\u81EF\u77FD\u6AC3\u5F8C\u5925\u7A2D\u5091\u8A23\u8A87\u88E1\u88CF\u6DE9\u9EBD\u9EF4\u649A\u6DD2\u6261\u8056\u5C4D\u64E1\u5857\u7AAA\u9935\u6C59\u9341\u9E79\u880D\u5F5C\u6E67\u904A\u7C72\u79A6\u9858\u5DBD\u96F2\u7AC8\u7D2E\u5284\u7BC9\u65BC\u8A8C\u8A3B\u96D5\u8A01\u8B7E\u90E4\u731B\u6C39\u962A\u58DF\u5816\u57B5\u588A\u6ABE\u8552\u8464\u84E7\u8493\u83C7\u69C1\u6463\u54A4\u551A\u54E2\u565D\u5645\u6485\u5288\u8B14\u8946\u5DB4\u810A\u4EFF\u50E5\u7341\u9E85\u9918\u9937\u994A\u9962\u695E\u6035\u61CD\u723F\u6F35\u7069\u6DF7\u6FEB\u7026\u6DE1\u5BE7\u7CF8\u7D5D\u7DD4\u7449\u6898\u68EC\u6848\u6A70\u6AEB\u8EF2\u8EE4\u8CEB\u8181\u8156\u98C8\u7CCA\u7146\u6E9C\u6E63\u6E3A\u78B8\u6EFE\u7798\u9208\u9255\u92E3\u92B1\u92E5\u92F6\u9426\u9427\u9369\u9340\u9343\u9307\u9384\u9387\u93BF\u941D\u9465\u9479\u9454\u7A6D\u9D93\u9DA5\u9E0C\u7667\u5C59\u7602\u81D2\u8947\u7E48\u802E\u986C\u87CE\u9EAF\u9B81\u9B83\u9B8E\u9BD7\u9BDD\u9BF4\u9C5D\u9BFF\u9C20\u9C35\u9C45\u97BD\u97DD\u9F47\u4E2C\u7232\u56B2\u8846\u50DE\u9918\u51A2\u6DE8\u51CC\u51FC\u5257\u52F3\u52D0\u52E9\u6EF7\u9749\u9746\u5553\u5494\u5412\u54B4\u54CC\u8B41\u55CA\u5562\u5523\u553F\u9F67\u56C9\u563D\u5475\u567C\u56AF\u58E0\u57A7\u58B6\u58CB\u58CE\u57DD\u58EA\u7246\u58FC\u5B00\u59DC\u5AFA\u5AFF\u5C53\u5D2C\u5DA8\u5DA2\u5DAE\u5D94\u5D5B\u5D74\u5ECE\u5F60\u5FA1\u610D\u6196\u61B7\u624E\u6266\u6397\u648F\u637B\u63F8\u6698\u66E8\u672D\u684A\u6AAE\u68F6\u6AFA\u6A9F\u6A90\u6C61\u6C93\u6E22\u6F59\u6CB5\u6EAE\u6EFB\u6FDC\u6D8C\u6EB3\u6EBC\u6F0A\u6FA6\u6F24\u7145\u7173\u7198\u729B\u729F\u72CD\u736E\u875F\u74B5\u7452\u7472\u73C9\u73CF\u74AB\u74A1\u7487\u7572\u75FE\u762E\u763B\u766F\u77D3\u7740\u785C\u7845\u78D1\u7904\u7906\u78B9\u78D9\u7995\u7A60\u7C39\u7C64\u7C59\u9931\u7CF9\u7D18\u7D1D\u7D35\u7D16\u7D70\u7D8C\u7D5B\u7DD3\u979D\u7DAF\u7E15\u7DDA\u7E17\u7E6E\u7FFD\u7FEC\u80B7\u9AD2\u9183\u8195\u9F76\u81E2\u8C54\u8279\u8598\u839C\u84F4\u8600\u85C1\u866F\u87BF\u8828\u5ACB\u8918\u894F\u890C\u8949\u8941\u8974\u898E\u89A5\u8B8B\u8A12\u8A29\u8A57\u8A56\u8B78\u8ADD\u8AE1\u8C37\u8C76\u8C9F\u9F4E\u8D14\u8CD9\u8CF5\u8D07\u8D6C\u8DD6\u8E82\u8E0A\u8ED1\u8F08\u8F2C\u8F40\u9B31\u90C4\u91B1\u9245\u9451\u91FA\u9212\u935A\u9203\u9262\u947D\u9276\u928D\u929B\u92D9\u93FD\u9417\u9321\u9329\u6774\u9348\u9360\u93A1\u939B\u9394\u93F0\u93D0\u9481\u9436\u945E\u9588\u9592\u95D3\u95CD\u95E0\u95D2\u95E4\u965D\u97B4\u97CD\u9832\u71B2\u982E\u9834\u9852\u7E87\u98BA\u98AD\u98B8\u98BB\u98C0\u98E3\u98E2\u98E5\u98FF\u9904\u990E\u990F\u9916\u9915\u991C\u9936\u9941\u993A\u99B9\u99F0\u9A6B\u9A02\u99F8\u9A0C\u9A4C\u9A24\u9A66\u9B5B\u9B62\u9B68\u9B7A\u9B8B\u9B93\u9B8A\u9B8D\u9BB3\u9BA6\u9C02\u9B9C\u9C60\u9BBA\u9BB6\u9BD2\u9BD5\u9C3A\u9C0F\u9C68\u9BF7\u9C2E\u9C03\u9C01\u9C42\u9C1F\u9C1C\u9C3C\u9C6F\u9C64\u9C63\u9CF2\u9DAC\u9D1E\u9D12\u9DFD\u9D34\u9D43\u9D50\u9DF3\u9D7E\u9D6E\u9D8A\u9D77\u9DEB\u9DA1\u9DCA\u9DB2\u9DB9\u9DBA\u9DC1\u9DD6\u9E07\u9E0F\u9E18\u9EF6\u9F02\u9780\u9F55\u9F57\u5FD7\u5236\u8AEE\u53EA\u7CFB\u9B06\u5690\u9762\u4E7E\u62FC\u5641\u8B9A\u9AEE\u6BAD\u7DFB\u59E6\u7A6B\u934A\u8FF4\u4FC2\u8E5F\u96BB\u95E2\u95C6\u59B3"}function Al(e){let t="";for(let r=0;r{n6r=new Map([["\u5403","\u5403"],["\u6CE8","\u6CE8"]])});function pi(e){let t;if(typeof e=="string")t=e;else if(Array.isArray(e))t=JSON.stringify(e);else if(typeof e=="object")t=JSON.stringify(e);else{I("error","[Utils] [Common] Unsupported data type");return}I("info","[Utils] [Common]",t.slice(0,200))}function CA(e){let t=e.match(/\((\d{4})\)/);return t?parseInt(t[1]):null}function Ah(e){if(/^\d+$/.test(e))return Number(e);let t={\u96F6:0,\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9,\u58F9:1,\u8CB3:2,\u53C3:3,\u8086:4,\u4F0D:5,\u9678:6,\u67D2:7,\u634C:8,\u7396:9},r={\u5341:10,\u767E:100,\u5343:1e3,\u62FE:10,\u4F70:100,\u4EDF:1e3},n=0,s=0,i=1;for(let a=0;a=i?n=s*c:n+=s*c,i=c,s=0}}return s>0&&(n+=s),n}function brt(e){if(!e||typeof e!="string")return{cleanFileName:"",preferredPlatform:""};let t=e.indexOf("@");if(t===-1)return{cleanFileName:e.trim(),preferredPlatform:""};let r=e.substring(0,t).trim(),n=e.substring(t+1).trim(),s=n.match(/^(\w+)\s+(S\d+E\d+)$/);if(s){let i=s[1],a=s[2];return{cleanFileName:`${r} ${a}`,preferredPlatform:ple(i)}}else{let i=r.match(/^(.+?)\s+(S\d+E\d+)$/);if(i){let a=i[1],o=i[2];return{cleanFileName:`${a} ${o}`,preferredPlatform:ple(n)}}else return{cleanFileName:r,preferredPlatform:ple(n)}}}function ple(e){if(!e||typeof e!="string")return"";let t=e.trim();return F.allowedPlatforms.includes(t)?t:""}function Irt(e){if(!e)return[...F.platformOrderArr];if(!F.allowedPlatforms.includes(e))return I("warn",`[Utils] [Common] Invalid platform: ${e}, using default order`),[...F.platformOrderArr];let t=[e];for(let r of F.platformOrderArr)r!==e&&r!==null&&t.push(r);return t.push(null),t}function Rrt(e){return e?String(e).replace(/[\u200B-\u200F\uFEFF]/g,"").trim():""}function _n(e){return e?String(e).replace(/[^\u4e00-\u9fa5\u3400-\u4DBF\u{20000}-\u{2EE5F}\u{30000}-\u{323AF}\u3040-\u30ff\uFF65-\uFF9F\uAC00-\uD7AFa-zA-Z0-9\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\u2160-\u217F\u0400-\u04FF\u00C0-\u024F\u0370-\u03FF]/gu,""):""}function xA(e,t){if(!e||!t)return!1;let r=_n(e),n=_n(t);if(r===n)return!0;let s=[" ","(","\uFF08",":","\uFF1A","-","\u2014","\xB7","\u7B2C","S","s","\u5E74\u756A","\u5408\u96C6"];for(let i of s)if(r.startsWith(n+i))return!0;return!1}function ir(e){if(!e)return null;let t=e.match(/(?:第\s*([0-9一二三四五六七八九十百千万]+)\s*[季期部])|(?:S(?:eason)?\s*(\d+))|(?:Part\s*(\d+))/i);if(t){let r=t[1]||t[2]||t[3];if(r)return Ah(r)}return null}function $t(e,t,r=null){if(F.strictTitleMatch)return xA(e,t);let n=_n(e).toLowerCase(),i=[_n(t).toLowerCase()];try{i=[...new Set([t,mr(t),Al(t)])].map(o=>_n(o).toLowerCase()).filter(Boolean)}catch{}let a=r!==null?r:ir(t);if(a!==null&&r===null){let o=t.replace(/(?:season|s|第)\s*[0-9一二三四五六七八九十]+\s*(?:季|期|部(?!分))?/gi,"").trim();o&&o!==t&&(i=[...new Set([...i,_n(o).toLowerCase()])])}if(a!==null){let o=ir(e);if(a>1){if((o||1)!==a)return!1}else if(a===1&&o!==null&&o!==1)return!1}return i.some(o=>n.includes(o))?!0:i.some(o=>{if(Math.abs(n.length-o.length)>Math.max(n.length,o.length)*.7||/^[a-zA-Z0-9]+$/.test(o))return!1;let c=0,u=0;for(let l of o){let d=n.indexOf(l,u);d!==-1&&(c++,u=d+1)}return c/o.length>.8})}function mt(e,t){let r=e?.constructor?.name;if(t==="array"){if(!Array.isArray(e))throw new TypeError(`${e} \u5FC5\u987B\u662F\u4E00\u4E2A\u6570\u7EC4\uFF0C\u4F46\u4F20\u5165\u7684\u662F ${r}`)}else if(t==="boolean"){if(typeof e!="boolean"&&typeof e!="number")throw new TypeError(`${e} \u5FC5\u987B\u662F boolean \u6216 number\uFF0C\u4F46\u4F20\u5165\u7684\u662F ${r}`)}else if(typeof e!==t)throw new TypeError(`${e} \u5FC5\u987B\u662F ${t}\uFF0C\u4F46\u4F20\u5165\u7684\u662F ${r}`)}function Qt(e){if(!e)return{season:null,baseTitle:null};let t=e.match(/^(.*?)\(\d{4}\)/),r=t?t[1].trim():e.split("(")[0].trim(),n=_n(r),s=n.match(/第\s*([0-9一二三四五六七八九十壹贰叁肆伍陆柒捌玖拾]+)\s*[季期部]/);if(s)return{season:Ah(s[1]),baseTitle:n.replace(s[0],"").trim()};let i=n.match(/(?:S(?:eason)?|Season)\s*(\d+)/i);if(i)return{season:parseInt(i[1],10),baseTitle:n.replace(i[0],"").trim()};let a=n.match(/Part\s*(\d+)/i);if(a)return{season:parseInt(a[1],10),baseTitle:n.replace(a[0],"").trim()};let o=n.match(/(?:^|\s|[^\d])(\d{1,2})$/);if(o)return{season:parseInt(o[1],10),baseTitle:n.slice(0,n.lastIndexOf(o[1])).trim()};let c=n.match(/([一二三四五六七八九十壹贰叁肆伍陆柒捌玖拾]+)$/);return c?{season:Ah(c[1]),baseTitle:n.replace(c[0],"").trim()}:{season:null,baseTitle:n}}function Tm(e){if(!e)return null;let t=e.match(/第(\d+)集/);if(t)return parseInt(t[1],10);let r=e.match(/[Ee][Pp]?(\d+)/);if(r)return parseInt(r[1],10);let n=e.match(/(?:^|\s)(\d+)(?:\s|$)/);return n?parseInt(n[1],10):null}function gle(e,t){let{season:r,baseTitle:n}=Qt(e),s=Tm(t);return{baseTitle:n,season:r,episode:s}}var RA,mle,Es=oe(()=>{Gt();Ht();Ou();RA=e=>{let t=e.match(/【(.*?)】/);return t?t[1]:null},mle=e=>e.split("(")[0].trim()});var wA,v$,S$,T$,b$,_le,Ale,I$,jt,nR,Pi=oe(()=>{Es();wA=class e{constructor({animeId:t=111,bangumiId:r="",animeTitle:n="",type:s="",typeDescription:i="",imageUrl:a="",startDate:o="",episodeCount:c=1,rating:u=0,isFavorited:l=!0,source:d="",links:f=[],mergedChildren:h=[],isHiddenChild:p=!1}={}){mt(t,"number"),mt(r,"string"),mt(n,"string"),mt(s,"string","type"),mt(i,"string"),mt(a,"string"),mt(o,"string"),mt(c,"number"),mt(u,"number"),mt(l,"boolean"),mt(d,"string"),mt(f,"array"),mt(h,"array"),mt(p,"boolean"),this.links=f.map(m=>v$.fromJson(m)),Object.assign(this,{animeId:t,bangumiId:r,animeTitle:n,type:s,typeDescription:i,imageUrl:a,startDate:o,episodeCount:c,rating:u,isFavorited:l,source:d,mergedChildren:h,isHiddenChild:p})}static fromJson(t){if(typeof t!="object"||t===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");let r=(t.links||[]).map(n=>v$.fromJson(n));return new e({...t,links:r})}toJson(){return{...this,links:this.links.map(t=>t.toJson())}}},v$=class e{constructor({name:t="",url:r="",title:n="",id:s=10001}={}){mt(t,"string"),mt(r,"string"),mt(n,"string"),mt(s,"number"),Object.assign(this,{name:t,url:r,title:n,id:s})}static fromJson(t){if(typeof t!="object"||t===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new e(t)}toJson(){return{...this}}},S$=class e{constructor({episodeId:t=10001,animeId:r=111,animeTitle:n="",episodeTitle:s="",type:i="",typeDescription:a="",shift:o=1,imageUrl:c=""}={}){mt(t,"number"),mt(r,"number"),mt(n,"string"),mt(s,"string"),mt(i,"string","type"),mt(a,"string"),mt(o,"number"),mt(c,"string"),Object.assign(this,{episodeId:t,animeId:r,animeTitle:n,episodeTitle:s,type:i,typeDescription:a,shift:o,imageUrl:c})}static fromJson(t){if(typeof t!="object"||t===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new e(t)}toJson(){return{...this}}},T$=class{constructor({episodeId:t="",episodeTitle:r=""}={}){this.episodeId=t,this.episodeTitle=r}};T$.prototype.toJson=function(){return{episodeId:this.episodeId,episodeTitle:this.episodeTitle}};b$=class e{constructor({animeId:t=111,animeTitle:r="",type:n="",typeDescription:s="",episodes:i=[]}={}){mt(t,"number"),mt(r,"string"),mt(n,"string"),mt(s,"string"),mt(i,"array"),Object.assign(this,{animeId:t,animeTitle:r,type:n,typeDescription:s,episodes:i.map(a=>new T$(a))})}static fromJson(t){if(typeof t!="object"||t===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new e(t)}toJson(){return{...this,episodes:this.episodes.map(t=>t.toJson())}}},_le=class e{constructor({id:t="",airDate:r="",name:n="",episodeCount:s=0}={}){mt(t,"string"),mt(r,"string"),mt(n,"string"),mt(s,"number"),Object.assign(this,{id:t,airDate:r,name:n,episodeCount:s})}static fromJson(t){if(typeof t!="object"||t===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new e(t)}toJson(){return{...this}}},Ale=class e{constructor({seasonId:t="",episodeId:r=10001,episodeTitle:n="",episodeNumber:s="",airDate:i=""}={}){mt(t,"string"),mt(r,"number"),mt(n,"string"),mt(s,"string"),mt(i,"string"),Object.assign(this,{seasonId:t,episodeId:r,episodeTitle:n,episodeNumber:s,airDate:i})}static fromJson(t){if(typeof t!="object"||t===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new e(t)}toJson(){return{...this}}},I$=class e{constructor({animeId:t=111,bangumiId:r="",animeTitle:n="",imageUrl:s="",isOnAir:i=!0,airDay:a=1,isFavorited:o=!0,rating:c=0,type:u="",typeDescription:l="",seasons:d=[],episodes:f=[]}={}){mt(t,"number"),mt(r,"string"),mt(n,"string"),mt(s,"string"),mt(i,"boolean"),mt(a,"number"),mt(o,"boolean"),mt(c,"number"),mt(u,"string"),mt(l,"string"),mt(d,"array"),mt(f,"array");let h=d.map(p=>_le.fromJson(p));Object.assign(this,{animeId:t,bangumiId:r,animeTitle:n,imageUrl:s,isOnAir:i,airDay:a,isFavorited:o,rating:c,type:u,typeDescription:l,seasons:h,episodes:f})}static fromJson(t){if(typeof t!="object"||t===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");let r=t.episodes.map(n=>Ale.fromJson(n));return new e({...t,episodes:r})}toJson(){return{...this,seasons:this.seasons.map(t=>t.toJson()),episodes:this.episodes.map(t=>t.toJson())}}},jt=class e{constructor({type:t="",segmentList:r=[],duration:n=0}={}){mt(t,"string"),mt(r,"array"),mt(n,"number"),this.segmentList=r.map(s=>nR.fromJson(s)),Object.assign(this,{type:t,duration:n})}static fromJson(t){if(typeof t!="object"||t===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");let r=(t.segmentList||[]).map(n=>nR.fromJson(n));return new e({...t,segmentList:r})}toJson(){return{...this,segmentList:this.segmentList.map(t=>t.toJson())}}},nR=class e{constructor({type:t,segment_start:r,segment_end:n,url:s,data:i,_m_h5_tk:a,_m_h5_tk_enc:o}={}){mt(t,"string","type"),mt(r,"number","segment_start"),mt(n,"number","segment_end"),mt(s,"string","url"),i!==void 0&&mt(i,"string","data"),a!==void 0&&mt(a,"string","_m_h5_tk"),o!==void 0&&mt(o,"string","_m_h5_tk_enc"),Object.assign(this,{type:t,segment_start:r,segment_end:n,url:s,data:i,_m_h5_tk:a,_m_h5_tk_enc:o})}static fromJson(t){if(typeof t!="object"||t===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new e(t)}toJson(){return{...this}}}});var Lrt={};Bt(Lrt,{addAnime:()=>rr,addEpisode:()=>Drt,cleanupExpiredIPs:()=>w$,findAnimeIdByCommentId:()=>x$,findAnimeTitleById:()=>Sle,findIndexById:()=>C$,findTitleById:()=>vle,findUrlById:()=>iP,getCommentCache:()=>bm,getDirname:()=>N$,getLastSearch:()=>yle,getLocalCaches:()=>Rle,getPreferAnimeId:()=>Ile,getSearchCache:()=>rP,isCommentCacheValid:()=>Ort,isSearchCacheValid:()=>Nrt,judgeLocalCacheValid:()=>Cle,readCacheFromFile:()=>Gv,removeEarliestAnime:()=>ar,removeEpisodeByUrl:()=>Prt,resolveAnimeById:()=>Yv,resolveAnimeByIdFromDetailStore:()=>Qv,resolveEpisodeContextById:()=>iR,setCommentCache:()=>sP,setLastSearch:()=>Ele,setPreferByAnimeId:()=>ble,setSearchCache:()=>nP,storeAnimeIdsToMap:()=>Tle,updateLocalCaches:()=>D$,writeCacheToFile:()=>O$});function Ele(e,t){if(J2.set(e,{...t,timestamp:Date.now()}),J2.size>200)for(let[r,n]of J2)Date.now()-n.timestamp>3600*1e3&&J2.delete(r)}function yle(e){return J2.get(e)}function sR(e){if(!e||typeof e!="object")return"";let t=e.source?String(e.source)+":":"";return e.bangumiId!==void 0&&e.bangumiId!==null&&String(e.bangumiId)!==""?"bangumi:"+t+String(e.bangumiId):e.animeId!==void 0&&e.animeId!==null&&String(e.animeId)!==""?"anime:"+t+String(e.animeId):""}function Crt(e,t){if(!(e instanceof Map)||!t)return;let r=sR(t);r&&e.set(r,t)}function*tP(e){if(!(e instanceof Map))return;let t=new Set;for(let r of e.values()){let n=sR(r);n&&t.has(n)||(n&&t.add(n),yield r)}}function s6r(e){let t=[];for(let r of tP(e))t.push(r);return t}function i6r(){let e=Date.now(),t=[];for(let[r,n]of F.searchCache.entries()){let s=(e-n.timestamp)/6e4;if(s>F.searchCacheMinutes){F.searchCache.delete(r),I("info",`[Cache] Search cache for "${r}" expired after ${s.toFixed(2)} minutes`);continue}t.push(n)}return t.sort((r,n)=>(n.timestamp||0)-(r.timestamp||0)),t}function xrt(e,t,r){let n=Date.now(),s=0;for(let[i,a]of e.entries())(n-a.timestamp)/6e4>t&&(e.delete(i),s++);s>0&&I("info",`[Cache] ${r} TTL \u626B\u63CF\u5B8C\u6BD5\uFF0C\u5DF2\u79FB\u9664 ${s} \u4E2A\u8FC7\u671F\u6761\u76EE\uFF0C\u5269\u4F59 ${e.size} \u4E2A`)}function a6r(e,t){return String(e?.animeId)===t||String(e?.bangumiId)===t}function R$(e,t,r=null){let n=null;for(let s of e)if(a6r(s,t)){if(r&&s?.source===r)return s;n||(n=s)}return n}function*wrt(){let e=new Set;for(let t of i6r())if(Array.isArray(t.details))for(let r of t.details){let n=sR(r);n&&e.has(n)||(n&&e.add(n),yield r)}}function Yv(e,t=null,r=null){let n=String(e),s=R$(F.animes,n,r);return s||(s=R$(tP(t),n,r),s)?s:R$(wrt(),n,r)}function Qv(e,t=null,r=null){let n=String(e);return R$(tP(t),n,r)}function iR(e,t=null){let r=Number(e);if(!Number.isFinite(r))return null;let n=i=>{if(!i?.links||!Array.isArray(i.links))return null;let a=i.links.findIndex(o=>o.id===r);return a===-1?null:{anime:i,link:i.links[a],index:a}};for(let i of F.animes){let a=n(i);if(a)return a}for(let i of tP(t)){let a=n(i);if(a)return a}let s=new Set;for(let i of F.animes){let a=sR(i);a&&s.add(a)}for(let i of tP(t)){let a=sR(i);a&&s.add(a)}for(let i of wrt()){let a=sR(i);if(a&&s.has(a))continue;a&&s.add(a);let o=n(i);if(o)return o}return null}function Nrt(e){if(!F.searchCache.has(e))return!1;let t=F.searchCache.get(e),n=(Date.now()-t.timestamp)/(1e3*60);return n>F.searchCacheMinutes?(F.searchCache.delete(e),I("info",`[Cache] Search cache for "${e}" expired after ${n.toFixed(2)} minutes`),!1):!0}function rP(e,t=null){if(Nrt(e)){I("info",`[Cache] Using search cache for "${e}"`);let r=F.searchCache.get(e);return t instanceof Map&&Array.isArray(r.details)&&r.details.forEach(n=>{Crt(t,n)}),r.results}return null}function nP(e,t,r=null){let n=s6r(r);if(xrt(F.searchCache,F.searchCacheMinutes,"searchCache"),F.searchCache.set(e,{results:t,details:n,timestamp:Date.now()}),F.searchCache.size>500){let s=F.searchCache.keys().next().value;F.searchCache.delete(s),I("info",`[Cache] searchCache TTL\u6E05\u7406\u540E\u4ECD\u8FBE\u4E0A\u9650\uFF0C\u5DF2\u79FB\u9664\u6700\u65E9\u6761\u76EE: ${s}`)}I("info",`[Cache] Cached search results for "${e}" (${t.length} animes)`)}function Ort(e){if(!F.commentCache.has(e))return!1;let t=F.commentCache.get(e),n=(Date.now()-t.timestamp)/(1e3*60);return n>F.commentCacheMinutes?(F.commentCache.delete(e),I("info",`[Cache] Comment cache for "${e}" expired after ${n.toFixed(2)} minutes`),!1):!0}function bm(e){return Ort(e)?(I("info",`[Cache] Using comment cache for "${e}"`),F.commentCache.get(e).comments):null}function sP(e,t){if(xrt(F.commentCache,F.commentCacheMinutes,"commentCache"),F.commentCache.set(e,{comments:t,timestamp:Date.now()}),F.commentCache.size>500){let r=F.commentCache.keys().next().value;F.commentCache.delete(r),I("info",`[Cache] commentCache TTL\u6E05\u7406\u540E\u4ECD\u8FBE\u4E0A\u9650\uFF0C\u5DF2\u79FB\u9664\u6700\u65E9\u6761\u76EE: ${r}`)}I("info",`[Cache] Cached comments for "${e}" (${t.length} comments)`)}function Drt(e,t){let r=F.episodeIds.find(s=>s.url===e&&s.title===t);if(r)return I("info",`[Cache] Episode with URL ${e} and title ${t} already exists in episodeIds, returning existing episode.`),r;F.episodeNum++;let n={id:F.episodeNum,url:e,title:t};return F.episodeIds.push(n),I("info",`[Cache] Added to episodeIds: ${JSON.stringify(n)}`),n}function Prt(e){let t=F.episodeIds.length;F.episodeIds=F.episodeIds.filter(n=>n.url!==e);let r=t-F.episodeIds.length;return r>0?(I("info",`[Cache] Removed ${r} episode(s) from episodeIds with URL: ${e}`),!0):(I("error",`[Cache] No episode found in episodeIds with URL: ${e}`),!1)}function iP(e){let t=F.episodeIds.find(n=>n.id===e);if(t)return I("info",`[Cache] Found URL for ID ${e}: ${t.url}`),t.url;let r=iR(e);return r?.link?.url?(I("info",`[Cache] Found URL for ID ${e} via cached anime details: ${r.link.url}`),r.link.url):(I("error",`[Cache] No URL found for ID: ${e}`),null)}function C$(e){let t=F.episodeIds.findIndex(n=>n.id===e);if(t!==-1)return I("info",`[Cache] Found index for ID ${e}: ${t}`),t;let r=iR(e);return r?(I("info",`[Cache] Found index for ID ${e} via cached anime details: ${r.index}`),r.index):(I("error",`[Cache] No index found for ID: ${e}`),-1)}function vle(e){let t=F.episodeIds.find(n=>n.id===e);if(t)return I("info",`[Cache] Found TITLE for ID ${e}: ${t.title}`),t.title;let r=iR(e);return r?.link?.title?(I("info",`[Cache] Found TITLE for ID ${e} via cached anime details: ${r.link.title}`),r.link.title):(I("error",`[Cache] No TITLE found for ID: ${e}`),null)}function Sle(e){let t=iR(e);return t?.anime?.animeTitle?(I("info",`[Cache] Found animeTitle for ID ${e}: ${t.anime.animeTitle}`),t.anime.animeTitle):(I("error",`[Cache] No animeTitle found for ID: ${e}`),null)}function rr(e,t=null){e=wA.fromJson(e);try{if(!e.links||!Array.isArray(e.links))return I("error",`[Cache] Invalid or missing links in anime: ${JSON.stringify(e)}`),!1;let r=[];e.links.forEach(i=>{if(i.url){let a=Drt(i.url,i.title);a&&r.push(a)}else I("error",`[Cache] Invalid link in anime, missing url: ${JSON.stringify(i)}`)});let n=wA.fromJson({...e,links:r});Crt(t,n);let s=F.animes.findIndex(i=>i.animeId===e.animeId);return s!==-1&&(F.animes.splice(s,1),I("info",`[Cache] Removed old anime at index: ${s}`)),F.animes.push(n),I("info",`[Cache] Added anime to latest position: ${e.animeId}`),F.animes.length>F.MAX_ANIMES&&(ar()||I("error","[Cache] Failed to remove earliest anime, but continuing")),I("info",`[Cache] animes: ${JSON.stringify(F.animes.map(i=>({links:i.links,animeId:i.animeId,bangumiId:i.bangumiId,animeTitle:i.animeTitle})),(i,a)=>i==="links"?a.length:a)}`),!0}catch(r){return I("error",`[Cache] addAnime failed: ${r.message}`),!1}}function ar(){if(F.animes.length===0)return I("error","[Cache] No animes to remove."),!1;let e=F.animes.shift();return I("info",`[Cache] Removed earliest anime: ${JSON.stringify(e)}`),e.links&&Array.isArray(e.links)&&e.links.forEach(t=>{t.url&&Prt(t.url)}),!0}function Tle(e,t){let r=new Set,n=F.lastSelectMap.get(t);if(n&&Array.isArray(n.animeIds))for(let d of n.animeIds)r.add(d);for(let d of e)r.add(d.animeId);let s=n?.prefer,i=n?.source,a=n?.preferBySeason,o=n?.sourceBySeason,c=n?.offsets,u=a?{...a}:{},l=o?{...o}:{};if(s!==void 0&&(u.default=s),i!==void 0&&(l.default=i),F.lastSelectMap.has(t)&&F.lastSelectMap.delete(t),F.lastSelectMap.set(t,{animeIds:[...r],...Object.keys(u).length>0&&{preferBySeason:u},...Object.keys(l).length>0&&{sourceBySeason:l},...c!==void 0&&{offsets:c}}),F.lastSelectMap.size>F.MAX_LAST_SELECT_MAP){let d=F.lastSelectMap.keys().next().value;F.lastSelectMap.delete(d),I("info",`[Cache] Removed earliest entry from lastSelectMap: ${d}`)}}function x$(e){let t=iR(e);return t?[t.anime.animeId,t.anime.source,t.link.title,t.anime.aliases||[]]:[null,null,null,[]]}function ble(e,t,r=null,n=null){for(let[s,i]of F.lastSelectMap.entries())if(i.animeIds&&i.animeIds.includes(e)){let a=r===null?"default":String(r);return i.preferBySeason=i.preferBySeason||{},i.sourceBySeason=i.sourceBySeason||{},i.preferBySeason[a]=e,i.sourceBySeason[a]=t,r!==null&&n!==null&&(i.offsets=i.offsets||{},i.offsets[a]=n),F.lastSelectMap.set(s,i),s}return null}function Ile(e,t=null){let r=F.lastSelectMap.get(e);if(!r)return[null,null,null];let n=t===null?"default":String(t),s=r.preferBySeason||{},i=r.sourceBySeason||{},a=s[n]??s.default??r.prefer??null,o=i[n]??i.default??r.source??null,c=r.offsets||null;return[a,o,c]}function w$(e){let r=0;for(let[n,s]of F.requestHistory.entries()){let i=s.filter(a=>e-a<=6e4);i.length===0?(F.requestHistory.delete(n),r++,I("info",`[Utils] [Rate Limit] Cleaned up expired IP record: ${n}`)):i.length0&&I("info",`[Utils] [Rate Limit] Cleanup completed: removed ${r} expired IP records`)}function N$(){return typeof __dirname<"u"?__dirname:eP.join(process.cwd(),"danmu_api","utils")}function Gv(e){let t=eP.join(N$(),"..","..",".cache",`${e}`);if(Z2.existsSync(t)){let r=Z2.readFileSync(t,"utf8");return JSON.parse(r)}return null}function O$(e,t){let r=eP.join(N$(),"..","..",".cache",`${e}`);Z2.writeFileSync(r,JSON.stringify(t),"utf8")}async function Rle(){if(!F.localCacheInitialized)try{I("info","[Cache] getLocalCaches start."),F.animes=JSON.parse(Gv("animes"))||F.animes,F.episodeIds=JSON.parse(Gv("episodeIds"))||F.episodeIds,F.episodeNum=JSON.parse(Gv("episodeNum"))||F.episodeNum,F.reqRecords=JSON.parse(Gv("reqRecords"))||F.reqRecords,F.todayReqNum=JSON.parse(Gv("todayReqNum"))||F.todayReqNum;let e=Gv("lastSelectMap");e&&(F.lastSelectMap=new Map(Object.entries(JSON.parse(e))),I("info",`[Cache] Restored lastSelectMap from local cache with ${F.lastSelectMap.size} entries`)),F.lastHashes.animes=as(JSON.stringify(F.animes)),F.lastHashes.episodeIds=as(JSON.stringify(F.episodeIds)),F.lastHashes.episodeNum=as(JSON.stringify(F.episodeNum)),F.lastHashes.reqRecords=as(JSON.stringify(F.reqRecords)),F.lastHashes.todayReqNum=as(JSON.stringify(F.todayReqNum)),F.lastHashes.lastSelectMap=as(JSON.stringify(Object.fromEntries(F.lastSelectMap))),F.localCacheInitialized=!0,I("info","[Cache] getLocalCaches completed successfully.")}catch(e){I("error",`[Cache] getLocalCaches failed: ${e.message}`,e.stack),F.localCacheInitialized=!0}}async function D$(){try{I("info","[Cache] updateLocalCaches start.");let e=[],t=[{key:"animes",value:F.animes},{key:"episodeIds",value:F.episodeIds},{key:"episodeNum",value:F.episodeNum},{key:"reqRecords",value:F.reqRecords},{key:"lastSelectMap",value:F.lastSelectMap},{key:"todayReqNum",value:F.todayReqNum}];for(let{key:r,value:n}of t){let s=JSON.stringify(r==="lastSelectMap"?Object.fromEntries(n):n),i=as(s);i!==F.lastHashes[r]&&(O$(r,s),e.push({key:r,hash:i}))}e.length>0?(I("info",`[Cache] Updated local caches for keys: ${e.map(r=>r.key).join(", ")}`),e.forEach(({key:r,hash:n})=>{F.lastHashes[r]=n})):I("info","[Cache] No changes detected, skipping local cache update.")}catch(e){I("error",`[Cache] updateLocalCaches failed: ${e.message}`,e.stack),I("error",`[Cache] Error details - Name: ${e.name}, Cause: ${e.cause?e.cause.message:"N/A"}`)}}async function Cle(e,t){if(t==="node")try{if(Z2=await import("fs"),eP=await import("path"),!F.localCacheValid&&e!=="/favicon.ico"&&e!=="/robots.txt"){let r=eP.join(N$(),"..","..",".cache");Z2.existsSync(r)?F.localCacheValid=!0:F.localCacheValid=!1}}catch(r){I("warn","[Cache] Node.js modules not available:",r.message),F.localCacheValid=!1}}var Z2,eP,J2,Ws=oe(()=>{Gt();Ht();Pi();Xi();J2=new Map});function o6r(e,t,r=!1){if(t===0&&!r)return e.map(i=>({...i,t:i.t!==void 0?i.t:parseFloat(i.p.split(",")[0])}));let n=e.reduce((i,a)=>{let o=a.t!==void 0?a.t:parseFloat(a.p.split(",")[0]),c=t===0?o.toFixed(2):Math.floor(o/(t*60));return i[c]||(i[c]=[]),i[c].push({...a,t:o}),i},{});return Object.keys(n).map(i=>{let o=n[i].reduce((c,u)=>{let l=u.m.split(" X")[0].trim();if(c[l]||(c[l]={count:0,earliestT:u.t,cid:u.cid,p:u.p,like:0,sources:new Set}),c[l].count+=1,c[l].earliestT=Math.min(c[l].earliestT,u.t),c[l].like+=u.like!==void 0?u.like:0,u.p){let d=u.p.match(/\[([^\]]*)\]$/);d&&d[1]&&d[1].split(/[&&]/).forEach(f=>{f.trim()&&c[l].sources.add(f.trim())})}return c},{});return Object.keys(o).map(c=>{let u=o[c],l=Math.max(1,u.sources.size),d=Math.round(u.count/l);d<1&&(d=1);let f=Array.from(u.sources).join("\uFF06"),h=u.p.replace(/\[([^\]]*)\]$/,`[${f}]`);return{cid:u.cid,p:h,m:d>1?`${c}\u200Ax\u200A${d}`:c,t:u.earliestT,like:u.like}})}).flat().sort((i,a)=>i.t-a.t)}function c6r(e){if(!F.likeSwitch)return e;let t=new Set(["[hanjutv]","[sohu]","[bilibili1]","[migu]"]);return e.map(r=>{if(!r.like||r.like<5)return r;let n=r.p.match(/,(\[[^\]]+\])$/)?.[1]||"",a=n.includes("\u97E9\u5C0F\u5708")||n.includes("\u6781\u901F\u7248")||t.has(n)?100:1e3,o=r.like>=a?"\u{1F525}":"\uFE0F\u2661",c;r.like>=1e4?c=(r.like/1e4).toFixed(1)+"w":r.like>=1e3?c=(r.like/1e3).toFixed(1)+"k":c=r.like.toString();let u=`\u200A${o}${c}`,l=r.m+u,{like:d,...f}=r;return{...f,m:l}})}function u6r(e,t){if(t===0)return e;let r=t*1e3,n=e.length;if(n<=r)return e;let s=n/r,i=[];for(let a=0;a([^<]+)<\/d>/g)].map(f=>({p:f[1],m:f[2]}));else if(e&&Array.isArray(e.danmuku)){let f={right:1,top:4,bottom:5},h=p=>p?parseInt(p.replace("#",""),16):16777215;i=e.danmuku.map(p=>({timepoint:p[0],ct:f[p[1]]!==void 0?f[p[1]]:1,color:h(p[2]),content:p[4]}))}else Array.isArray(e)&&(i=e);if(!i.length)return[];for(let f of i){let h,p,m,g,_;if("progress"in f&&"mode"in f&&"content"in f)m=(f.progress/1e3).toFixed(2),g=f.mode||1,_=f.color||16777215,p=f.content;else if("timepoint"in f)m=parseFloat(f.timepoint).toFixed(2),g=f.ct||0,_=f.color||16777215,p=f.content;else{if(!("p"in f))continue;let E=f.p.split(",");m=parseFloat(E[0]).toFixed(2),g=E[1]||0,E.length===4?_=E[2]||16777215:E.length>=8?_=E[3]||16777215:_=E[3]||E[2]||16777215,p=f.m}let y=f._sourceLabel||t;f.realTimeSource&&!y.includes(f.realTimeSource)&&(y=`${y}\uFF06${f.realTimeSource}`),!s&&/[&&]/.test(y)&&(s=!0),h=[m,g,_,`[${y}]`].join(","),r.push({p:h,m:p,cid:n++,like:f?.like})}let a=F.blockedWords.split(/(?<=\/),(?=\/)/).map(f=>{let h=f.trim();if(h.startsWith("/")&&h.endsWith("/"))try{return new RegExp(h.slice(1,-1))}catch(p){return I("error",`[Utils] [Danmu] \u65E0\u6548\u7684\u6B63\u5219\u8868\u8FBE\u5F0F: ${h}`,p),null}return null}).filter(f=>f!==null);I("info",`[Utils] [Danmu] \u539F\u59CB\u5C4F\u853D\u8BCD\u5B57\u7B26\u4E32: ${F.blockedWords}`),I("info",`[Utils] [Danmu] \u5C4F\u853D\u8BCD\u5217\u8868: ${(f=>Array.isArray(f)?f.map(h=>h.toString()).join(` +`):String(f))(a)}`);let c=r.filter(f=>!a.some(h=>h.test(f.m)));I("info",`[Utils] [Danmu] \u53BB\u91CD\u5206\u949F\u6570: ${F.groupMinute}`);let u=o6r(c,F.groupMinute,s),l=c6r(u),d=u6r(l,F.danmuLimit);if(F.convertTopBottomToScroll||F.convertColor==="white"||F.convertColor==="color"){let f=0,h=0;d=d.map(p=>{let m=p.p.split(",");if(m.length<3)return p;let g=parseInt(m[1],10),_=parseInt(m[2],10),y=!1;F.convertTopBottomToScroll&&(g===4||g===5)&&(f++,g=1,y=!0),F.convertColor==="white"&&_!==16777215&&(h++,_=16777215,y=!0);let E=F.colorPool.split(",").map(v=>parseInt(v.trim(),10)).filter(v=>!isNaN(v)&&v>=0&&v<=16777215),A=E[Math.floor(Math.random()*E.length)];if(F.convertColor==="color"&&_===16777215&&_!==A&&(h++,_=A,y=!0),y){let v=[m[0],g,_,...m.slice(3)].join(",");return{...p,p:v}}return p}),f>0&&I("info",`[Utils] [Danmu] [danmu convert] \u8F6C\u6362\u4E86 ${f} \u6761\u9876\u90E8/\u5E95\u90E8\u5F39\u5E55\u4E3A\u6D6E\u52A8\u5F39\u5E55`),h>0&&I("info",`[Utils] [Danmu] [danmu convert] \u8F6C\u6362\u4E86 ${h} \u6761\u5F39\u5E55\u989C\u8272`)}return F.danmuSimplifiedTraditional==="traditional"&&(d=d.map(f=>({...f,m:Al(f.m)})),I("info",`[Utils] [Danmu] [danmu convert] \u8F6C\u6362\u4E86 ${d.length} \u6761\u5F39\u5E55\u4E3A\u7E41\u4F53\u5B57`)),I("info",`[Utils] [Danmu] danmus_original: ${r.length}`),I("info",`[Utils] [Danmu] danmus_filter: ${c.length}`),I("info",`[Utils] [Danmu] danmus_group: ${u.length}`),I("info",`[Utils] [Danmu] danmus_limit: ${d.length}`),I("info","[Utils] [Danmu] Top 5 danmus:",JSON.stringify(d.slice(0,5),null,2)),d}function xle(e){return typeof e.r!="number"||e.r<0||e.r>255||typeof e.g!="number"||e.g<0||e.g>255||typeof e.b!="number"||e.b<0||e.b>255?-1:e.r*256*256+e.g*256+e.b}function aR(e){return typeof e!="string"||e.length!==6||!/^[0-9A-Fa-f]{6}$/.test(e)?16777215:parseInt(e,16)}function l6r(e){let t=` +`;t+=` +`;let r=e.comments||[];if(Array.isArray(r))for(let n of r){let s=f6r(n);t+=' '+p6r(n.m)+` +`}return t+="",t}function d6r(){let t=(Date.now()%1e8).toString().padStart(8,"0"),r=Math.floor(Math.random()*1e3).toString().padStart(3,"0");return t+r}function f6r(e){let t=e.p.split(","),n=(parseFloat(t[0])||0).toFixed(1),s=t[1]||"1",i="25",a=t[2]||"16777215",o="1751533608",c="0",u="0",l=d6r();return`${n},${s},${i},${a},${o},${c},${u},${l}`}function h6r(e){return e?String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"):""}function p6r(e){return e?String(e).replace(/&/g,"&").replace(//g,">"):""}function zv(e,t){let r=t||F.danmuOutputFormat;if(r=r.toLowerCase(),I("info",`[Utils] [Danmu] [Format] Using format: ${r}`),r==="xml")try{let n=l6r(e);return hrt(n)}catch(n){return I("error",`[Utils] [Danmu] Failed to convert to XML: ${n.message}`),tt(e)}return tt(e)}var NA=oe(()=>{Gt();Ht();Lr();Ou()});var Im,P$=oe(()=>{Lr();Im=class{constructor({apiKey:t,baseURL:r="https://api.openai.com/v1",model:n="gpt-4o",systemPrompt:s=""}){this.apiKey=t,this.baseURL=r.replace(/\/$/,""),this.model=n,this.systemPrompt=s}async chat(t,r={}){let n={model:r.model||this.model,messages:t,temperature:r.temperature??0,max_tokens:r.maxTokens??8192,stream:!1},s=await Fn(`${this.baseURL}/chat/completions`,JSON.stringify(n),{headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},timeout:6e4}),i=s.data;if(i?.error){let a=i.error.message;throw new Error(`AI API error ${s.status}: ${a}`)}return i.choices[0].message.content}async ask(t,r={}){let n=[];return this.systemPrompt&&n.push({role:"system",content:this.systemPrompt}),n.push({role:"user",content:t}),this.chat(n,r)}session(t={}){let r=[],n=this.chat.bind(this),s=this.systemPrompt;return s&&r.push({role:"system",content:s}),{async send(i){r.push({role:"user",content:i});let a=await n(r,t);return r.push({role:"assistant",content:a}),a},clear(){r.length=0,s&&r.push({role:"system",content:s})},getHistory(){return[...r]}}}async verify(){try{return{ok:!0,reply:await this.ask("hi",{maxTokens:1})}}catch(t){return{ok:!1,error:t.message}}}}});function Nle(e){let t=new Map,r=e.length;for(let n=0;n=0?"custom":"official";return I("info",`[Utils] [Bangumi-Data] \u7248\u672C\u5BF9\u6BD4: @wan0ge/bangumi-data@${e} vs bangumi-data@${t} => \u4F7F\u7528${n==="custom"?"\u81EA\u5B9A\u4E49":"\u5B98\u65B9"}\u6E90`),n}catch(e){return I("warn",`[Utils] [Bangumi-Data] \u6570\u636E\u6E90\u9009\u62E9\u5F02\u5E38\uFF0C\u56DE\u9000\u5230\u81EA\u5B9A\u4E49\u6E90: ${e.message}`),"custom"}}async function cR(e,t=!1,r=null){if(!F.useBangumiData)return;let n=null,s=F.bangumiDataCacheDays!==void 0?F.bangumiDataCacheDays:7,i=s*24*60*60*1e3;if(e==="node"?Fc.default.existsSync(k$)?n=B$.default.join(k$,qrt):oP||(I("warn","[Utils] [Bangumi-Data] \u672A\u68C0\u6D4B\u5230\u6839\u76EE\u5F55\u7684 .cache \u6587\u4EF6\u5939\uFF01"),I("warn","[Utils] [Bangumi-Data] \u6309\u7167\u9879\u76EE\u89C4\u8303\uFF0C\u8BF7\u624B\u52A8\u6302\u8F7D\u6216\u521B\u5EFA .cache \u76EE\u5F55\u4EE5\u542F\u7528\u6301\u4E45\u5316\u3002"),I("warn","[Utils] [Bangumi-Data] \u672C\u6B21\u8FD0\u884C\u5DF2\u9000\u5316\u4E3A\u7EAF\u5185\u5B58\u6A21\u5F0F (\u91CD\u542F\u540E\u9700\u91CD\u65B0\u4E0B\u8F7D)\u3002"),oP=!0):oP||(I("info",`[Utils] [Bangumi-Data] \u68C0\u6D4B\u5230 ${e} \u4E91\u73AF\u5883\uFF0C\u5F53\u524D\u8FD0\u884C\u4E8E\u7EAF\u5185\u5B58\u52A0\u901F\u6A21\u5F0F\u3002`),oP=!0),El&&Date.now()-L$>m6r&&(I("warn","[Utils] [Bangumi-Data] \u68C0\u6D4B\u5230\u4E0B\u8F7D\u72B6\u6001\u9501\u6B7B (\u7531\u4E8E Serverless \u8FDB\u7A0B\u4F11\u7720/\u5F3A\u6740\u5BFC\u81F4)\uFF0C\u5F3A\u5236\u91CA\u653E\u9501..."),El=!1),si){if(s>0&&Date.now()-M${El=!1}));return}if(n&&Fc.default.existsSync(n))try{let a=Fc.default.statSync(n),o=process.memoryUsage().heapUsed,c=Date.now();si=JSON.parse(Fc.default.readFileSync(n,"utf-8")),si?.items?.length>0&&si.items[0]._flatText===void 0?(si=Vrt(si),Fc.default.writeFileSync(n,JSON.stringify(si),"utf-8"),Nle(si.items)):si?.items?.length>0&&Nle(si.items);let u=process.memoryUsage().heapUsed,l=Date.now()-c;oR=Math.max(0,(u-o)/1024/1024).toFixed(2);let d=(process.memoryUsage().rss/1024/1024).toFixed(2);M$=Date.now(),I("info",`[Utils] [Bangumi-Data] \u6210\u529F\u4ECE\u672C\u5730\u78C1\u76D8\u52A0\u8F7D\u57FA\u7840\u6570\u636E\uFF0C\u6761\u76EE\u6570: ${si.items.length}\uFF0C\u89E3\u6790\u8017\u65F6: ${l} ms\uFF0C\u7EA6\u5360\u5185\u5B58: ${oR} MB`),(s===0||Date.now()-a.mtimeMs>=i)&&t&&!El&&(I("info",`[Utils] [Bangumi-Data] \u78C1\u76D8\u6570\u636E${s===0?"\u5F3A\u5236\u66F4\u65B0":"\u5DF2\u8FC7\u671F"}\uFF0C\u4FDD\u7559\u8001\u6570\u636E\u670D\u52A1\u672C\u6B21\u8BF7\u6C42\uFF0C\u542F\u52A8\u540E\u53F0\u9759\u9ED8\u66F4\u65B0...`),El=!0,L$=Date.now(),wle(n).finally(()=>{El=!1}));return}catch(a){I("error","[Utils] [Bangumi-Data] \u78C1\u76D8\u7F13\u5B58\u89E3\u6790\u5931\u8D25\uFF0C\u51C6\u5907\u91CD\u65B0\u4E0B\u8F7D",a.message),si=null}if(El){if(t){I("info","[Utils] [Bangumi-Data] \u6B63\u5728\u7B49\u5F85\u57FA\u7840\u6570\u636E\u4E0B\u8F7D\u5B8C\u6210...");let a=0;for(;El;){if(a>150){I("warn","[Utils] [Bangumi-Data] \u7B49\u5F85\u6392\u961F\u8D85\u65F6\uFF0C\u653E\u5F03\u7B49\u5F85"),El=!1;break}await new Promise(o=>setTimeout(o,100)),a++}}}else{I("info","[Utils] [Bangumi-Data] \u672A\u547D\u4E2D\u4EFB\u4F55\u6709\u6548\u7F13\u5B58\uFF0C\u6B63\u5728\u83B7\u53D6\u57FA\u7840\u6570\u636E..."),El=!0,L$=Date.now();let a=wle(n).finally(()=>{El=!1});t?await a:(I("info","[Utils] [Bangumi-Data] \u5F53\u524D\u975E\u6838\u5FC3\u8BF7\u6C42\uFF0C\u6570\u636E\u83B7\u53D6\u8F6C\u5165\u540E\u53F0\u5F02\u6B65\u6267\u884C"),r&&typeof r.waitUntil=="function"&&(I("info","[Utils] [Bangumi-Data] \u8C03\u7528 ctx.waitUntil \u5EF6\u957F Serverless \u751F\u547D\u5468\u671F"),r.waitUntil(a)))}}function Vrt(e){if(!e||!e.items)return{items:[]};let t=[];for(let r of e.items){let n=[];if(r.sites){for(let o of r.sites)if(b6r.has(o.site)){let c={site:o.site,id:o.id};o.season_id&&(c.season_id=String(o.season_id)),o.video_sn&&(c.video_sn=String(o.video_sn)),o.comment&&(c.comment=o.comment),o.related&&(c.related=o.related),n.push(c)}}if(n.length===0)continue;let s={title:r.title,type:r.type,sites:n};r.begin&&(s.begin=r.begin),r.titleTranslate&&(s.titleTranslate=r.titleTranslate);let i=r.title;if(r.titleTranslate)for(let o in r.titleTranslate){let c=r.titleTranslate[o];for(let u=0;unew AbortController);s.forEach(h=>{I("info",`[\u8BF7\u6C42\u6A21\u62DF] HTTP GET: ${h}`)});let o=s.map(async(h,p)=>{let m=a[p],g=await yA(h,{...i,signal:m.signal});if(!g.ok)throw new Error(`HTTP error ${g.status} from ${h}`);let _=await g.json(),y=_.items?_.items.length:0;if(m.signal.aborted)throw new Error("Aborted before parsing");let E=Date.now(),A=Vrt(_),v=Date.now()-E,T=null;return e&&!m.signal.aborted&&(T=`${e}.tmp${p}`,Fc.default.writeFileSync(T,JSON.stringify(A),"utf-8")),{index:p,url:h,tempFilePath:T,resultData:A,pruneCost:v,originalCount:y}}),c=await Promise.any(o);a.forEach((h,p)=>{p!==c.index&&h.abort()}),e&&(s.forEach((h,p)=>{if(p!==c.index){let m=`${e}.tmp${p}`;if(Fc.default.existsSync(m))try{Fc.default.unlinkSync(m)}catch{}}}),Fc.default.renameSync(c.tempFilePath,e));let u=((Date.now()-r)/1e3).toFixed(2);I("info",`[Utils] [Bangumi-Data] \u7CBE\u7B80\u6570\u636E\u5DF2\u6210\u529F\u5199\u5165\u78C1\u76D8 (\u8282\u70B9: ${new URL(c.url).hostname} ,\u9636\u6BB5\u8017\u65F6: ${u} \u79D2)`),si=c.resultData,n=c.pruneCost,Nle(si.items),Wv.clear();let l=process.memoryUsage().heapUsed,d=((Date.now()-r)/1e3).toFixed(2);oR=Math.max(0,(l-t)/1024/1024).toFixed(2);let f=(process.memoryUsage().rss/1024/1024).toFixed(2);M$=Date.now(),I("info",`[Utils] [Bangumi-Data] \u52A0\u8F7D\u5230\u5185\u5B58\u6210\u529F\uFF0C\u4FDD\u7559/\u539F\u59CB\u6761\u76EE\u6570: ${si.items.length} / ${c.originalCount}\uFF0C\u5904\u7406\u8017\u65F6: ${n} ms\uFF0C\u5168\u94FE\u8DEF\u603B\u8017\u65F6: ${d} \u79D2\uFF0C\u51C0\u589E\u5185\u5B58: ${oR} MB (\u5F53\u524D\u9879\u76EE\u603B\u5360\u7528: ${f} MB)`)}catch(t){let r=t instanceof AggregateError?t.errors.map(n=>n.message).join(" | "):t.message;I("error","[Utils] [Bangumi-Data] \u4E0B\u8F7D\u5931\u8D25 (\u6240\u6709 CDN \u5747\u672A\u54CD\u5E94\u6216\u62A5\u9519):",r)}}async function kf(e,t){if(!si||!si.items)return[];let r=Wv.get(e);if(!r){if(r=(async()=>{let c=[],u=[e];try{u=[...new Set([e,mr(e),Al(e)])]}catch{}let d=[mr(e)].map(m=>{let g=m.replace(Hrt,"");return g=_n(g).toLowerCase(),g.length>=2?g:_n(m).toLowerCase()}).filter(m=>m.length>0),f=null;if(typeof OA<"u"&&OA.size>0&&d.length>0){let m=new Set;for(let g of d){let _=Array.from(new Set(g.replace(E6r,"")));if(_.length===0)continue;_.sort((A,v)=>{let T=OA.get(A)?.length||0,C=OA.get(v)?.length||0;return T-C});let y=OA.get(_[0]);if(!y||y.length===0)continue;let E=new Set(y);for(let A=1;A<_.length;A++){let v=OA.get(_[A]);if(!v){E.clear();break}let T=new Set(v);for(let C of E)T.has(C)||E.delete(C);if(E.size===0)break}for(let A of E)m.add(A)}f=Array.from(m)}else f=si.items.map((m,g)=>g);let h=si.items,p=u.length;for(let m=0;m100){let c=Wv.keys().next().value;Wv.delete(c)}Wv.set(e,r)}let n=await r,s=n,i=ir(e);if(i!==null){let c=n.filter(({item:u})=>{let l=Qt(u.title).season;if(l===null&&u.titleTranslate)for(let d in u.titleTranslate){let f=u.titleTranslate[d];for(let h=0;h1?(l||1)===i:i===1?l===null||l===1:!0});c.length>0&&(s=c)}let a=A6r,o=[];for(let{item:c,titles:u}of s){if(!c.sites)continue;let l=c.sites.filter(d=>t.includes(d.site));for(let d of l){let f="TV\u52A8\u753B",h="tvseries";c.type==="movie"?(f="\u5267\u573A\u7248",h="movie"):c.type==="tv"?(f="TV\u52A8\u753B",h="tvseries"):c.type==="ova"?(f="OVA",h="ova"):c.type==="web"&&(f="WEB\u52A8\u753B",h="web");let p="";["bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"].includes(d.site)&&(p="\uFF08\u6E2F\u6FB3\u53F0\uFF09");let m=[],g=[];if(d.comment){let y=d.comment.split(y6r),E=new Map;if(d.related&&Array.isArray(d.related))for(let A of d.related)A.id&&E.set(String(A.id),A.season_id||null);for(let A of y){let v=A.split(v6r);if(v.length>=2){let T=v[0].trim(),C=v[1].trim();C&&a.test(T)&&m.push({title:c.title,titles:[...u],begin:c.begin,siteId:C,matchedSiteKey:d.site,type:c.type,typeStr:f,typeId:h,titleSuffix:` ${T}${p}`,season_id:E.get(C)||null})}else if(v.length===1&&v[0].trim()){let T=v[0].trim();a.test(T)&&g.push(T)}}}let _="";g.length>0&&(_+=` ${g.join(" ")}`),_+=p,o.push({title:c.title,titles:[...u],begin:c.begin,siteId:d.id,matchedSiteKey:d.site,type:c.type,typeStr:f,typeId:h,titleSuffix:_,season_id:d.season_id||null,video_sn:d.video_sn||null}),o.push(...m)}}return o}function U$(e=!1){if(si!==null){let t=si.items?si.items.length:0;si=null,M$=0,Wv.clear(),OA.clear();let r=(process.memoryUsage().rss/1024/1024).toFixed(2);I("info",`[Utils] [Bangumi-Data] \u5185\u5B58\u7F13\u5B58\u5DF2\u4E3B\u52A8\u91CA\u653E (\u539F\u6761\u76EE\u6570: ${t}\uFF0C\u91CA\u653E: ${oR} MB\uFF0C\u5F53\u524D\u9879\u76EE\u603B\u5360\u7528: ${r} MB)`),oR="0.00",oP=!1}if(e&&Fc.default.existsSync(k$))try{let t=B$.default.join(k$,qrt);Fc.default.existsSync(t)&&Fc.default.unlinkSync(t);for(let r=0;r<5;r++){let n=`${t}.tmp${r}`;Fc.default.existsSync(n)&&Fc.default.unlinkSync(n)}I("info","[Utils] [Bangumi-Data] \u78C1\u76D8\u7F13\u5B58\u5DF2\u540C\u6B65\u6E05\u7406")}catch(t){I("error",`[Utils] [Bangumi-Data] \u78C1\u76D8\u7F13\u5B58\u6E05\u7406\u5931\u8D25: ${t.message}`)}}var Fc,B$,si,M$,El,L$,oR,oP,OA,Mrt,krt,Brt,k$,qrt,m6r,Wv,Urt,g6r,_6r,A6r,Hrt,E6r,y6r,v6r,b6r,Rm=oe(()=>{Fc=we(require("fs"),1),B$=we(require("path"),1);KI();Gt();Ht();Es();Ou();si=null,M$=0,El=!1,L$=0,oR="0.00",oP=!1,OA=new Map,Mrt="custom",krt=null,Brt=null,k$=B$.default.join(process.cwd(),".cache"),qrt="bangumi-data-cache.json",m6r=2e4,Wv=new Map,Urt={custom:["https://cdn.jsdelivr.net/npm/@wan0ge/bangumi-data@0.3/dist/data.json","https://unpkg.com/@wan0ge/bangumi-data@0.3/dist/data.json"],official:["https://cdn.jsdelivr.net/npm/bangumi-data@0.3/dist/data.json","https://unpkg.com/bangumi-data@0.3/dist/data.json"]},g6r="@wan0ge/bangumi-data",_6r="bangumi-data",A6r=/(?:普通[话話]|[国國][语語]|中文配音|中配|中文|[粤粵][语語]配音|[粤粵]配|[粤粵][语語]|[台臺]配|[台臺][语語]|港配|港[语語]|字幕|助[听聽]|日[语語]|日配|原版|原[声聲])(?:版)?/,Hrt=/(?:\s+|^)(?:第?\s*(?:\d+|[一二三四五六七八九十]+)\s*[季期部]|season\s*\d+|s\d+|part\s*\d+|act\s*\d+|phase\s*\d+|the\s+final\s+season|(?:movie|film|ova|oad|sp|剧场版|劇場版|续[篇集]|外传)(?![a-z]))|[::~~]|\s+.*?篇|(?<=\s|^)\d+$/gi,E6r=/\s+/g,y6r=/[,,]/,v6r=/[::]/;b6r=new Set(["anidb","bangumi","gamer","gamer_hk","bilibili","bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw","tmdb"])});var Dle=S(F$=>{"use strict";Object.defineProperty(F$,"__esModule",{value:!0});F$.VerbatimString=void 0;var Ole=class extends String{format;constructor(t,r){super(r),this.format=t}};F$.VerbatimString=Ole});var Eh=S(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.MultiErrorReply=Gr.CommandTimeoutDuringMaintenanceError=Gr.SocketTimeoutDuringMaintenanceError=Gr.TimeoutError=Gr.BlobError=Gr.SimpleError=Gr.ErrorReply=Gr.ReconnectStrategyError=Gr.RootNodesUnavailableError=Gr.SocketClosedUnexpectedlyError=Gr.DisconnectsClientError=Gr.ClientOfflineError=Gr.ClientClosedError=Gr.SocketTimeoutError=Gr.ConnectionTimeoutError=Gr.WatchError=Gr.AbortError=void 0;var Ple=class extends Error{constructor(){super("The command was aborted")}};Gr.AbortError=Ple;var Lle=class extends Error{constructor(t="One (or more) of the watched keys has been changed"){super(t)}};Gr.WatchError=Lle;var Mle=class extends Error{constructor(){super("Connection timeout")}};Gr.ConnectionTimeoutError=Mle;var kle=class extends Error{constructor(t){super(`Socket timeout timeout. Expecting data, but didn't receive any in ${t}ms.`)}};Gr.SocketTimeoutError=kle;var Ble=class extends Error{constructor(){super("The client is closed")}};Gr.ClientClosedError=Ble;var Ule=class extends Error{constructor(){super("The client is offline")}};Gr.ClientOfflineError=Ule;var Fle=class extends Error{constructor(){super("Disconnects client")}};Gr.DisconnectsClientError=Fle;var $le=class extends Error{constructor(){super("Socket closed unexpectedly")}};Gr.SocketClosedUnexpectedlyError=$le;var qle=class extends Error{constructor(){super("All the root nodes are unavailable")}};Gr.RootNodesUnavailableError=qle;var Hle=class extends Error{originalError;socketError;constructor(t,r){super(t.message),this.originalError=t,this.socketError=r}};Gr.ReconnectStrategyError=Hle;var uR=class extends Error{};Gr.ErrorReply=uR;var Vle=class extends uR{};Gr.SimpleError=Vle;var jle=class extends uR{};Gr.BlobError=jle;var cP=class extends Error{};Gr.TimeoutError=cP;var Kle=class extends cP{constructor(t){super(`Socket timeout during maintenance. Expecting data, but didn't receive any in ${t}ms.`)}};Gr.SocketTimeoutDuringMaintenanceError=Kle;var Gle=class extends cP{constructor(t){super(`Command timeout during maintenance. Waited to write command for more than ${t}ms.`)}};Gr.CommandTimeoutDuringMaintenanceError=Gle;var Yle=class extends uR{replies;errorIndexes;constructor(t,r){super(`${r.length} commands failed, see .replies and .errorIndexes for more information`),this.replies=t,this.errorIndexes=r}*errors(){for(let t of this.errorIndexes)yield this.replies[t]}};Gr.MultiErrorReply=Yle});var H$=S(Pt=>{"use strict";var Qle;Object.defineProperty(Pt,"__esModule",{value:!0});Pt.Decoder=Pt.PUSH_TYPE_MAPPING=Pt.RESP_TYPES=void 0;var jrt=Dle(),$$=Eh();Pt.RESP_TYPES={NULL:95,BOOLEAN:35,NUMBER:58,BIG_NUMBER:40,DOUBLE:44,SIMPLE_STRING:43,BLOB_STRING:36,VERBATIM_STRING:61,SIMPLE_ERROR:45,BLOB_ERROR:33,ARRAY:42,SET:126,MAP:37,PUSH:62};var zn={"\r":13,t:116,"+":43,"-":45,0:48,".":46,i:105,n:110,E:69,e:101};Pt.PUSH_TYPE_MAPPING={[Pt.RESP_TYPES.BLOB_STRING]:Buffer};var q$=class{onReply;onErrorReply;onPush;getTypeMapping;#e=0;#t;constructor(t){this.onReply=t.onReply,this.onErrorReply=t.onErrorReply,this.onPush=t.onPush,this.getTypeMapping=t.getTypeMapping}reset(){this.#e=0,this.#t=void 0}write(t){if(this.#e>=t.length){this.#e-=t.length;return}if(this.#t&&(this.#t(t)||this.#e>=t.length)){this.#e-=t.length;return}do{let r=t[this.#e];if(++this.#e===t.length){this.#t=this.#r.bind(this,r);break}if(this.#n(r,t))break}while(this.#e=r.length?this.#w.bind(this,n,t):this.#w(n,t,r)}#R(t,r,n){let s=t(n);return typeof s=="function"?this.#R.bind(this,s,r):this.#e>=n.length?this.#w.bind(this,s,r):this.#w(s,r,n)}#N(t,r,n,s){let i=this.#e+t;if(i>=s.length){let o=s.subarray(this.#e);return this.#e=s.length,this.#B.bind(this,t-o.length,[o],r,n)}let a=s.subarray(this.#e,i);return this.#e=i+r,n===Buffer?a:a.toString()}#B(t,r,n,s,i){let a=this.#e+t;if(a>=i.length){let c=i.subarray(this.#e);return r.push(c),this.#e=i.length,this.#B.bind(this,t-c.length,r,n,s)}r.push(i.subarray(this.#e,a)),this.#e=a+n;let o=Buffer.concat(r);return s===Buffer?o:o.toString()}#w(t,r,n){return this.#N(t,2,r,n)}#O(t,r){return this.#P(this.#h.bind(this,0),t,r)}#P(t,r,n){let s=t(n);return typeof s=="function"?this.#P.bind(this,s,r):this.#ce(s,r,n)}#ce(t,r,n){let s=t-4;return r===jrt.VerbatimString?this.#ue(s,n):(this.#e+=4,this.#e>=n.length?this.#w.bind(this,s,r):this.#w(s,r,n))}#ue(t,r){let n=this.#N.bind(this,3,1,String);return this.#e>=r.length?this.#$.bind(this,t,n):this.#$(t,n,r)}#$(t,r,n){let s=r(n);return typeof s=="function"?this.#$.bind(this,t,s):this.#le(t,s,n)}#le(t,r,n){return this.#j(r,this.#w.bind(this,t,String),n)}#j(t,r,n){let s=r(n);return typeof s=="function"?this.#j.bind(this,t,s):new jrt.VerbatimString(t,s)}#K(t){let r=this.#E(String,t);return typeof r=="function"?this.#G.bind(this,r):new $$.SimpleError(r)}#G(t,r){let n=t(r);return typeof n=="function"?this.#G.bind(this,n):new $$.SimpleError(n)}#Y(t){let r=this.#C(String,t);return typeof r=="function"?this.#Q.bind(this,r):new $$.BlobError(r)}#Q(t,r){let n=t(r);return typeof n=="function"?this.#Q.bind(this,n):new $$.BlobError(n)}#x(t,r){let n=r[this.#e];return++this.#e===r.length?this.#q.bind(this,n,t):this.#q(n,t,r)}#q(t,r,n){switch(t){case Pt.RESP_TYPES.NULL:return this.#s();case Pt.RESP_TYPES.BOOLEAN:return this.#i(n);case Pt.RESP_TYPES.NUMBER:return this.#c(r[Pt.RESP_TYPES.NUMBER],n);case Pt.RESP_TYPES.BIG_NUMBER:return this.#d(r[Pt.RESP_TYPES.BIG_NUMBER],n);case Pt.RESP_TYPES.DOUBLE:return this.#g(r[Pt.RESP_TYPES.DOUBLE],n);case Pt.RESP_TYPES.SIMPLE_STRING:return this.#E(r[Pt.RESP_TYPES.SIMPLE_STRING],n);case Pt.RESP_TYPES.BLOB_STRING:return this.#C(r[Pt.RESP_TYPES.BLOB_STRING],n);case Pt.RESP_TYPES.VERBATIM_STRING:return this.#O(r[Pt.RESP_TYPES.VERBATIM_STRING],n);case Pt.RESP_TYPES.SIMPLE_ERROR:return this.#K(n);case Pt.RESP_TYPES.BLOB_ERROR:return this.#Y(n);case Pt.RESP_TYPES.ARRAY:return this.#H(r,n);case Pt.RESP_TYPES.SET:return this.#X(r,n);case Pt.RESP_TYPES.MAP:return this.#te(r,n);default:throw new Error(`Unknown RESP type ${t} "${String.fromCharCode(t)}"`)}}#H(t,r){return r[this.#e]===zn["-"]?(this.#e+=4,null):this.#z(this.#h(0,r),t,r)}#z(t,r,n){return typeof t=="function"?this.#de.bind(this,t,r):this.#L(new Array(t),0,r,n)}#de(t,r,n){return this.#z(t(n),r,n)}#L(t,r,n,s){for(let i=r;i=s.length)return this.#L.bind(this,t,i,n);let a=this.#x(n,s);if(typeof a=="function")return this.#W.bind(this,t,i,a,n);t[i]=a}return t}#W(t,r,n,s,i){let a=n(i);return typeof a=="function"?this.#W.bind(this,t,r,a,s):(t[r++]=a,this.#L(t,r,s,i))}#X(t,r){let n=this.#h(0,r);return typeof n=="function"?this.#J.bind(this,n,t):this.#Z(n,t,r)}#J(t,r,n){let s=t(n);return typeof s=="function"?this.#J.bind(this,s,r):this.#Z(s,r,n)}#Z(t,r,n){return r[Pt.RESP_TYPES.SET]===Set?this.#V(new Set,t,r,n):this.#L(new Array(t),0,r,n)}#V(t,r,n,s){for(;r>0;){if(this.#e>=s.length)return this.#V.bind(this,t,r,n);let i=this.#x(n,s);if(typeof i=="function")return this.#ee.bind(this,t,r,i,n);t.add(i),--r}return t}#ee(t,r,n,s,i){let a=n(i);return typeof a=="function"?this.#ee.bind(this,t,r,a,s):(t.add(a),this.#V(t,r-1,s,i))}#te(t,r){let n=this.#h(0,r);return typeof n=="function"?this.#re.bind(this,n,t):this.#ne(n,t,r)}#re(t,r,n){let s=t(n);return typeof s=="function"?this.#re.bind(this,s,r):this.#ne(s,r,n)}#ne(t,r,n){switch(r[Pt.RESP_TYPES.MAP]){case Map:return this.#U(new Map,t,r,n);case Array:return this.#L(new Array(t*2),0,r,n);default:return this.#F(Object.create(null),t,r,n)}}#U(t,r,n,s){for(;r>0;){if(this.#e>=s.length)return this.#U.bind(this,t,r,n);let i=this.#se(n,s);if(typeof i=="function")return this.#ae.bind(this,t,r,i,n);if(this.#e>=s.length)return this.#M.bind(this,t,r,i,this.#x.bind(this,n),n);let a=this.#x(n,s);if(typeof a=="function")return this.#M.bind(this,t,r,i,a,n);t.set(i,a),--r}return t}#se(t,r){let n=r[this.#e];return++this.#e===r.length?this.#ie.bind(this,n,t):this.#ie(n,t,r)}#ie(t,r,n){switch(t){case Pt.RESP_TYPES.SIMPLE_STRING:return this.#E(String,n);case Pt.RESP_TYPES.BLOB_STRING:return this.#C(String,n);default:return this.#q(t,r,n)}}#ae(t,r,n,s,i){let a=n(i);if(typeof a=="function")return this.#ae.bind(this,t,r,a,s);if(this.#e>=i.length)return this.#M.bind(this,t,r,a,this.#x.bind(this,s),s);let o=this.#x(s,i);return typeof o=="function"?this.#M.bind(this,t,r,a,o,s):(t.set(a,o),this.#U(t,r-1,s,i))}#M(t,r,n,s,i,a){let o=s(a);return typeof o=="function"?this.#M.bind(this,t,r,n,o,i):(t.set(n,o),this.#U(t,r-1,i,a))}#F(t,r,n,s){for(;r>0;){if(this.#e>=s.length)return this.#F.bind(this,t,r,n);let i=this.#se(n,s);if(typeof i=="function")return this.#oe.bind(this,t,r,i,n);if(this.#e>=s.length)return this.#k.bind(this,t,r,i,this.#x.bind(this,n),n);let a=this.#x(n,s);if(typeof a=="function")return this.#k.bind(this,t,r,i,a,n);t[i]=a,--r}return t}#oe(t,r,n,s,i){let a=n(i);if(typeof a=="function")return this.#oe.bind(this,t,r,a,s);if(this.#e>=i.length)return this.#k.bind(this,t,r,a,this.#x.bind(this,s),s);let o=this.#x(s,i);return typeof o=="function"?this.#k.bind(this,t,r,a,o,s):(t[a]=o,this.#F(t,r-1,s,i))}#k(t,r,n,s,i,a){let o=s(a);return typeof o=="function"?this.#k.bind(this,t,r,n,o,i):(t[n]=o,this.#F(t,r-1,i,a))}};Pt.Decoder=q$;Qle=q$});var Grt=S(lR=>{"use strict";Object.defineProperty(lR,"__esModule",{value:!0});lR.scriptSha1=lR.defineScript=void 0;var I6r=require("node:crypto");function R6r(e){return{...e,SHA1:Krt(e.SCRIPT)}}lR.defineScript=R6r;function Krt(e){return(0,I6r.createHash)("sha1").update(e).digest("hex")}lR.scriptSha1=Krt});var Yrt=S(V$=>{"use strict";Object.defineProperty(V$,"__esModule",{value:!0});V$.digest=void 0;var zle=null;async function C6r(){if(!zle)try{zle=(await import("@node-rs/xxhash")).xxh3}catch{throw new Error('The "digest" function requires the "@node-rs/xxhash" package, but it was not found.')}return zle}async function x6r(e){let t=await C6r(),r=typeof e=="string"?e:new Uint8Array(e);return t.xxh64(r).toString(16).padStart(16,"0")}V$.digest=x6r});var Qrt=S(Wle=>{"use strict";Object.defineProperty(Wle,"__esModule",{value:!0});Wle.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("ACL","CAT"),t&&e.push(t)},transformReply:void 0}});var zrt=S(Xle=>{"use strict";Object.defineProperty(Xle,"__esModule",{value:!0});Xle.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("ACL","DELUSER"),e.pushVariadic(t)},transformReply:void 0}});var Wrt=S(Jle=>{"use strict";Object.defineProperty(Jle,"__esModule",{value:!0});Jle.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("ACL","DRYRUN",t,...r)},transformReply:void 0}});var Xrt=S(Zle=>{"use strict";Object.defineProperty(Zle,"__esModule",{value:!0});Zle.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("ACL","GENPASS"),t&&e.push(t.toString())},transformReply:void 0}});var Jrt=S(ede=>{"use strict";Object.defineProperty(ede,"__esModule",{value:!0});ede.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("ACL","GETUSER",t)},transformReply:{2:e=>({flags:e[1],passwords:e[3],commands:e[5],keys:e[7],channels:e[9],selectors:e[11]?.map(t=>{let r=t;return{commands:r[1],keys:r[3],channels:r[5]}})}),3:void 0}}});var Zrt=S(tde=>{"use strict";Object.defineProperty(tde,"__esModule",{value:!0});tde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("ACL","LIST")},transformReply:void 0}});var ent=S(rde=>{"use strict";Object.defineProperty(rde,"__esModule",{value:!0});rde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("ACL","LOAD")},transformReply:void 0}});var yh=S(j$=>{"use strict";Object.defineProperty(j$,"__esModule",{value:!0});j$.BasicCommandParser=void 0;var nde=class{#e=[];#t=[];preserve;get redisArgs(){return this.#e}get keys(){return this.#t}get firstKey(){return this.#t[0]}get cacheKey(){let t=new Array(this.#e.length*2);for(let r=0;r{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.transformRedisJsonNullReply=et.transformRedisJsonReply=et.transformRedisJsonArgument=et.transformStreamsMessagesReplyResp3=et.transformStreamsMessagesReplyResp2=et.transformStreamMessagesReply=et.transformStreamMessageNullReply=et.transformStreamMessageReply=et.parseArgs=et.parseZKeysArguments=et.transformRangeReply=et.parseSlotRangesArguments=et.transformFunctionListItemReply=et.RedisFunctionFlags=et.transformCommandReply=et.CommandCategories=et.CommandFlags=et.parseOptionalVariadicArgument=et.pushVariadicArgument=et.pushVariadicNumberArguments=et.pushVariadicArguments=et.pushEvalArguments=et.evalFirstKeyIndex=et.transformPXAT=et.transformEXAT=et.transformSortedSetReply=et.transformTuplesReply=et.createTransformTuplesReplyFunc=et.transformTuplesToMap=et.transformNullableDoubleReply=et.createTransformNullableDoubleReplyResp2Func=et.transformDoubleArrayReply=et.createTransformDoubleReplyResp2Func=et.transformDoubleReply=et.transformStringDoubleArgument=et.transformDoubleArgument=et.transformBooleanArrayReply=et.transformBooleanReply=et.isArrayReply=et.isNullReply=void 0;var w6r=yh(),sde=H$();function ide(e){return e===null}et.isNullReply=ide;function N6r(e){return Array.isArray(e)}et.isArrayReply=N6r;et.transformBooleanReply={2:e=>e===1,3:void 0};et.transformBooleanArrayReply={2:e=>e.map(et.transformBooleanReply[2]),3:void 0};function K$(e){switch(e){case 1/0:return"+inf";case-1/0:return"-inf";default:return e.toString()}}et.transformDoubleArgument=K$;function O6r(e){return typeof e!="number"?e:K$(e)}et.transformStringDoubleArgument=O6r;et.transformDoubleReply={2:(e,t,r)=>{switch(r?r[sde.RESP_TYPES.DOUBLE]:void 0){case String:return e;default:{let s;switch(e.toString()){case"inf":case"+inf":s=1/0;case"-inf":s=-1/0;case"nan":s=NaN;default:s=Number(e)}return s}}},3:void 0};function int(e,t){return r=>et.transformDoubleReply[2](r,e,t)}et.createTransformDoubleReplyResp2Func=int;et.transformDoubleArrayReply={2:(e,t,r)=>e.map(int(t,r)),3:void 0};function D6r(e,t){return r=>et.transformNullableDoubleReply[2](r,e,t)}et.createTransformNullableDoubleReplyResp2Func=D6r;et.transformNullableDoubleReply={2:(e,t,r)=>e===null?null:et.transformDoubleReply[2](e,t,r),3:void 0};function P6r(e,t){let r=Object.create(null);for(let n=0;nade(r,e,t)}et.createTransformTuplesReplyFunc=L6r;function ade(e,t,r){let n=r?r[sde.RESP_TYPES.MAP]:void 0,s=e;switch(n){case Array:return e;case Map:{let i=new Map;for(let a=0;a{let n=e,s=[];for(let i=0;ie.map(t=>{let[r,n]=t;return{value:r,score:n}})};function M6r(e){return(typeof e=="number"?e:Math.floor(e.getTime()/1e3)).toString()}et.transformEXAT=M6r;function k6r(e){return(typeof e=="number"?e:e.getTime()).toString()}et.transformPXAT=k6r;function B6r(e){return e?.keys?.[0]}et.evalFirstKeyIndex=B6r;function U6r(e,t){return t?.keys?e.push(t.keys.length.toString(),...t.keys):e.push("0"),t?.arguments&&e.push(...t.arguments),e}et.pushEvalArguments=U6r;function F6r(e,t){return Array.isArray(t)?e=e.concat(t):e.push(t),e}et.pushVariadicArguments=F6r;function $6r(e,t){if(Array.isArray(t))for(let r of t)e.push(r.toString());else e.push(t.toString());return e}et.pushVariadicNumberArguments=$6r;function q6r(e,t){return Array.isArray(t)?e.push(t.length.toString(),...t):e.push("1",t),e}et.pushVariadicArgument=q6r;function H6r(e,t,r){r!==void 0&&(e.push(t),e.pushVariadicWithLength(r))}et.parseOptionalVariadicArgument=H6r;var tnt;(function(e){e.WRITE="write",e.READONLY="readonly",e.DENYOOM="denyoom",e.ADMIN="admin",e.PUBSUB="pubsub",e.NOSCRIPT="noscript",e.RANDOM="random",e.SORT_FOR_SCRIPT="sort_for_script",e.LOADING="loading",e.STALE="stale",e.SKIP_MONITOR="skip_monitor",e.ASKING="asking",e.FAST="fast",e.MOVABLEKEYS="movablekeys"})(tnt||(et.CommandFlags=tnt={}));var rnt;(function(e){e.KEYSPACE="@keyspace",e.READ="@read",e.WRITE="@write",e.SET="@set",e.SORTEDSET="@sortedset",e.LIST="@list",e.HASH="@hash",e.STRING="@string",e.BITMAP="@bitmap",e.HYPERLOGLOG="@hyperloglog",e.GEO="@geo",e.STREAM="@stream",e.PUBSUB="@pubsub",e.ADMIN="@admin",e.FAST="@fast",e.SLOW="@slow",e.BLOCKING="@blocking",e.DANGEROUS="@dangerous",e.CONNECTION="@connection",e.TRANSACTION="@transaction",e.SCRIPTING="@scripting"})(rnt||(et.CommandCategories=rnt={}));function V6r([e,t,r,n,s,i,a]){return{name:e,arity:t,flags:new Set(r),firstKeyIndex:n,lastKeyIndex:s,step:i,categories:new Set(a)}}et.transformCommandReply=V6r;var nnt;(function(e){e.NO_WRITES="no-writes",e.ALLOW_OOM="allow-oom",e.ALLOW_STALE="allow-stale",e.NO_CLUSTER="no-cluster"})(nnt||(et.RedisFunctionFlags=nnt={}));function j6r(e){return{libraryName:e[1],engine:e[3],functions:e[5].map(t=>({name:t[1],description:t[3],flags:t[5]}))}}et.transformFunctionListItemReply=j6r;function snt(e,t){e.push(t.start.toString(),t.end.toString())}function K6r(e,t){if(Array.isArray(t))for(let r of t)snt(e,r);else snt(e,t)}et.parseSlotRangesArguments=K6r;function G6r([e,t]){return{start:e,end:t}}et.transformRangeReply=G6r;function Y6r(e,t){if(Array.isArray(t)){if(e.push(t.length.toString()),t.length)if(Q6r(t))e.pushKeys(t);else{for(let r=0;r{"use strict";Object.defineProperty(cde,"__esModule",{value:!0});var t8r=Ge();cde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("ACL","LOG"),t!=null&&e.push(t.toString())},transformReply:{2:(e,t,r)=>e.map(n=>{let s=n;return{count:s[1],reason:s[3],context:s[5],object:s[7],username:s[9],"age-seconds":t8r.transformDoubleReply[2](s[11],t,r),"client-info":s[13],"entry-id":s[15],"timestamp-created":s[17],"timestamp-last-updated":s[19]}}),3:void 0}}});var cnt=S(lP=>{"use strict";var r8r=lP&&lP.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(lP,"__esModule",{value:!0});var n8r=r8r(ude());lP.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:n8r.default.IS_READ_ONLY,parseCommand(e){e.push("ACL","LOG","RESET")},transformReply:void 0}});var unt=S(lde=>{"use strict";Object.defineProperty(lde,"__esModule",{value:!0});lde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("ACL","SAVE")},transformReply:void 0}});var lnt=S(dde=>{"use strict";Object.defineProperty(dde,"__esModule",{value:!0});dde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("ACL","SETUSER",t),e.pushVariadic(r)},transformReply:void 0}});var dnt=S(fde=>{"use strict";Object.defineProperty(fde,"__esModule",{value:!0});fde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("ACL","USERS")},transformReply:void 0}});var fnt=S(hde=>{"use strict";Object.defineProperty(hde,"__esModule",{value:!0});hde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("ACL","WHOAMI")},transformReply:void 0}});var hnt=S(pde=>{"use strict";Object.defineProperty(pde,"__esModule",{value:!0});pde.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("APPEND",t,r)},transformReply:void 0}});var mde=S(dR=>{"use strict";Object.defineProperty(dR,"__esModule",{value:!0});dR.ASKING_CMD=void 0;dR.ASKING_CMD="ASKING";dR.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push(dR.ASKING_CMD)},transformReply:void 0}});var pnt=S(gde=>{"use strict";Object.defineProperty(gde,"__esModule",{value:!0});gde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,{username:t,password:r}){e.push("AUTH"),t!==void 0&&e.push(t),e.push(r)},transformReply:void 0}});var mnt=S(_de=>{"use strict";Object.defineProperty(_de,"__esModule",{value:!0});_de.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("BGREWRITEAOF")},transformReply:void 0}});var gnt=S(Ade=>{"use strict";Object.defineProperty(Ade,"__esModule",{value:!0});Ade.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("BGSAVE"),t?.SCHEDULE&&e.push("SCHEDULE")},transformReply:void 0}});var _nt=S(Ede=>{"use strict";Object.defineProperty(Ede,"__esModule",{value:!0});Ede.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("BITCOUNT"),e.pushKey(t),r&&(e.push(r.start.toString()),e.push(r.end.toString()),r.mode&&e.push(r.mode))},transformReply:void 0}});var Ant=S(yde=>{"use strict";Object.defineProperty(yde,"__esModule",{value:!0});yde.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("BITFIELD_RO"),e.pushKey(t);for(let n of r)e.push("GET"),e.push(n.encoding),e.push(n.offset.toString())},transformReply:void 0}});var Ent=S(vde=>{"use strict";Object.defineProperty(vde,"__esModule",{value:!0});vde.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("BITFIELD"),e.pushKey(t);for(let n of r)switch(n.operation){case"GET":e.push("GET",n.encoding,n.offset.toString());break;case"SET":e.push("SET",n.encoding,n.offset.toString(),n.value.toString());break;case"INCRBY":e.push("INCRBY",n.encoding,n.offset.toString(),n.increment.toString());break;case"OVERFLOW":e.push("OVERFLOW",n.behavior);break}},transformReply:void 0}});var ynt=S(Sde=>{"use strict";Object.defineProperty(Sde,"__esModule",{value:!0});Sde.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("BITOP",t),e.pushKey(r),e.pushKeys(n)},transformReply:void 0}});var vnt=S(Tde=>{"use strict";Object.defineProperty(Tde,"__esModule",{value:!0});Tde.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n,s,i){e.push("BITPOS"),e.pushKey(t),e.push(r.toString()),n!==void 0&&e.push(n.toString()),s!==void 0&&e.push(s.toString()),i&&e.push(i)},transformReply:void 0}});var Snt=S(bde=>{"use strict";Object.defineProperty(bde,"__esModule",{value:!0});bde.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,s,i){e.push("BLMOVE"),e.pushKeys([t,r]),e.push(n,s,i.toString())},transformReply:void 0}});var Ide=S(dP=>{"use strict";Object.defineProperty(dP,"__esModule",{value:!0});dP.parseLMPopArguments=void 0;function Tnt(e,t,r,n){e.pushKeysLength(t),e.push(r),n?.COUNT!==void 0&&e.push("COUNT",n.COUNT.toString())}dP.parseLMPopArguments=Tnt;dP.default={IS_READ_ONLY:!1,parseCommand(e,...t){e.push("LMPOP"),Tnt(e,...t)},transformReply:void 0}});var Int=S(Cm=>{"use strict";var s8r=Cm&&Cm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),i8r=Cm&&Cm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a8r=Cm&&Cm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&s8r(t,e,r);return i8r(t,e),t};Object.defineProperty(Cm,"__esModule",{value:!0});var bnt=a8r(Ide());Cm.default={IS_READ_ONLY:!1,parseCommand(e,t,...r){e.push("BLMPOP",t.toString()),(0,bnt.parseLMPopArguments)(e,...r)},transformReply:bnt.default.transformReply}});var Cde=S(Rde=>{"use strict";Object.defineProperty(Rde,"__esModule",{value:!0});Rde.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("BLPOP"),e.pushKeys(t),e.push(r.toString())},transformReply(e){return e===null?null:{key:e[0],element:e[1]}}}});var Rnt=S(fP=>{"use strict";var o8r=fP&&fP.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(fP,"__esModule",{value:!0});var c8r=o8r(Cde());fP.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("BRPOP"),e.pushKeys(t),e.push(r.toString())},transformReply:c8r.default.transformReply}});var Cnt=S(xde=>{"use strict";Object.defineProperty(xde,"__esModule",{value:!0});xde.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("BRPOPLPUSH"),e.pushKeys([t,r]),e.push(n.toString())},transformReply:void 0}});var wde=S(hP=>{"use strict";Object.defineProperty(hP,"__esModule",{value:!0});hP.parseZMPopArguments=void 0;var xnt=Ge();function wnt(e,t,r,n){e.pushKeysLength(t),e.push(r),n?.COUNT&&e.push("COUNT",n.COUNT.toString())}hP.parseZMPopArguments=wnt;hP.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("ZMPOP"),wnt(e,t,r,n)},transformReply:{2(e,t,r){return e===null?null:{key:e[0],members:e[1].map(n=>{let[s,i]=n;return{value:s,score:xnt.transformDoubleReply[2](i,t,r)}})}},3(e){return e===null?null:{key:e[0],members:xnt.transformSortedSetReply[3](e[1])}}}}});var Ont=S(xm=>{"use strict";var u8r=xm&&xm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),l8r=xm&&xm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),d8r=xm&&xm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&u8r(t,e,r);return l8r(t,e),t};Object.defineProperty(xm,"__esModule",{value:!0});var Nnt=d8r(wde());xm.default={IS_READ_ONLY:!1,parseCommand(e,t,...r){e.push("BZMPOP",t.toString()),(0,Nnt.parseZMPopArguments)(e,...r)},transformReply:Nnt.default.transformReply}});var Ode=S(Nde=>{"use strict";Object.defineProperty(Nde,"__esModule",{value:!0});var f8r=Ge();Nde.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("BZPOPMAX"),e.pushKeys(t),e.push(r.toString())},transformReply:{2(e,t,r){return e===null?null:{key:e[0],value:e[1],score:f8r.transformDoubleReply[2](e[2],t,r)}},3(e){return e===null?null:{key:e[0],value:e[1],score:e[2]}}}}});var Pnt=S(pP=>{"use strict";var h8r=pP&&pP.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(pP,"__esModule",{value:!0});var Dnt=h8r(Ode());pP.default={IS_READ_ONLY:Dnt.default.IS_READ_ONLY,parseCommand(e,t,r){e.push("BZPOPMIN"),e.pushKeys(t),e.push(r.toString())},transformReply:Dnt.default.transformReply}});var Lnt=S(Dde=>{"use strict";Object.defineProperty(Dde,"__esModule",{value:!0});Dde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CLIENT","CACHING",t?"YES":"NO")},transformReply:void 0}});var Mnt=S(Pde=>{"use strict";Object.defineProperty(Pde,"__esModule",{value:!0});Pde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("CLIENT","GETNAME")},transformReply:void 0}});var knt=S(Lde=>{"use strict";Object.defineProperty(Lde,"__esModule",{value:!0});Lde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("CLIENT","GETREDIR")},transformReply:void 0}});var Bnt=S(Mde=>{"use strict";Object.defineProperty(Mde,"__esModule",{value:!0});Mde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("CLIENT","ID")},transformReply:void 0}});var Bde=S(kde=>{"use strict";Object.defineProperty(kde,"__esModule",{value:!0});var p8r=/([^\s=]+)=([^\s]*)/g;kde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("CLIENT","INFO")},transformReply(e){let t={};for(let n of e.toString().matchAll(p8r))t[n[1]]=n[2];let r={id:Number(t.id),addr:t.addr,fd:Number(t.fd),name:t.name,age:Number(t.age),idle:Number(t.idle),flags:t.flags,db:Number(t.db),sub:Number(t.sub),psub:Number(t.psub),multi:Number(t.multi),qbuf:Number(t.qbuf),qbufFree:Number(t["qbuf-free"]),argvMem:Number(t["argv-mem"]),obl:Number(t.obl),oll:Number(t.oll),omem:Number(t.omem),totMem:Number(t["tot-mem"]),events:t.events,cmd:t.cmd,user:t.user,libName:t["lib-name"],libVer:t["lib-ver"]};return t.laddr!==void 0&&(r.laddr=t.laddr),t.redir!==void 0&&(r.redir=Number(t.redir)),t.ssub!==void 0&&(r.ssub=Number(t.ssub)),t["multi-mem"]!==void 0&&(r.multiMem=Number(t["multi-mem"])),t.resp!==void 0&&(r.resp=Number(t.resp)),r}}});var Fnt=S(yl=>{"use strict";Object.defineProperty(yl,"__esModule",{value:!0});yl.CLIENT_KILL_FILTERS=void 0;yl.CLIENT_KILL_FILTERS={ADDRESS:"ADDR",LOCAL_ADDRESS:"LADDR",ID:"ID",TYPE:"TYPE",USER:"USER",SKIP_ME:"SKIPME",MAXAGE:"MAXAGE"};yl.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){if(e.push("CLIENT","KILL"),Array.isArray(t))for(let r of t)Unt(e,r);else Unt(e,t)},transformReply:void 0};function Unt(e,t){if(t===yl.CLIENT_KILL_FILTERS.SKIP_ME){e.push("SKIPME");return}switch(e.push(t.filter),t.filter){case yl.CLIENT_KILL_FILTERS.ADDRESS:e.push(t.address);break;case yl.CLIENT_KILL_FILTERS.LOCAL_ADDRESS:e.push(t.localAddress);break;case yl.CLIENT_KILL_FILTERS.ID:e.push(typeof t.id=="number"?t.id.toString():t.id);break;case yl.CLIENT_KILL_FILTERS.TYPE:e.push(t.type);break;case yl.CLIENT_KILL_FILTERS.USER:e.push(t.username);break;case yl.CLIENT_KILL_FILTERS.SKIP_ME:e.push(t.skipMe?"yes":"no");break;case yl.CLIENT_KILL_FILTERS.MAXAGE:e.push(t.maxAge.toString());break}}});var $nt=S(mP=>{"use strict";var m8r=mP&&mP.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(mP,"__esModule",{value:!0});var g8r=m8r(Bde());mP.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CLIENT","LIST"),t&&(t.TYPE!==void 0?e.push("TYPE",t.TYPE):(e.push("ID"),e.pushVariadic(t.ID)))},transformReply(e){let t=e.toString().split(` +`),r=t.length-1,n=[];for(let s=0;s{"use strict";Object.defineProperty(Ude,"__esModule",{value:!0});Ude.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CLIENT","NO-EVICT",t?"ON":"OFF")},transformReply:void 0}});var Hnt=S(Fde=>{"use strict";Object.defineProperty(Fde,"__esModule",{value:!0});Fde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CLIENT","NO-TOUCH",t?"ON":"OFF")},transformReply:void 0}});var Vnt=S($de=>{"use strict";Object.defineProperty($de,"__esModule",{value:!0});$de.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("CLIENT","PAUSE",t.toString()),r&&e.push(r)},transformReply:void 0}});var jnt=S(qde=>{"use strict";Object.defineProperty(qde,"__esModule",{value:!0});qde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CLIENT","SETNAME",t)},transformReply:void 0}});var Knt=S(Hde=>{"use strict";Object.defineProperty(Hde,"__esModule",{value:!0});Hde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){if(e.push("CLIENT","TRACKING",t?"ON":"OFF"),t){if(r?.REDIRECT&&e.push("REDIRECT",r.REDIRECT.toString()),_8r(r)){if(e.push("BCAST"),r?.PREFIX)if(Array.isArray(r.PREFIX))for(let n of r.PREFIX)e.push("PREFIX",n);else e.push("PREFIX",r.PREFIX)}else A8r(r)?e.push("OPTIN"):E8r(r)&&e.push("OPTOUT");r?.NOLOOP&&e.push("NOLOOP")}},transformReply:void 0};function _8r(e){return e?.BCAST===!0}function A8r(e){return e?.OPTIN===!0}function E8r(e){return e?.OPTOUT===!0}});var Gnt=S(Vde=>{"use strict";Object.defineProperty(Vde,"__esModule",{value:!0});Vde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("CLIENT","TRACKINGINFO")},transformReply:{2:e=>({flags:e[1],redirect:e[3],prefixes:e[5]}),3:void 0}}});var Ynt=S(jde=>{"use strict";Object.defineProperty(jde,"__esModule",{value:!0});jde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("CLIENT","UNPAUSE")},transformReply:void 0}});var Qnt=S(Kde=>{"use strict";Object.defineProperty(Kde,"__esModule",{value:!0});Kde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CLUSTER","ADDSLOTS"),e.pushVariadicNumber(t)},transformReply:void 0}});var znt=S(Gde=>{"use strict";Object.defineProperty(Gde,"__esModule",{value:!0});var y8r=Ge();Gde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CLUSTER","ADDSLOTSRANGE"),(0,y8r.parseSlotRangesArguments)(e,t)},transformReply:void 0}});var Wnt=S(Yde=>{"use strict";Object.defineProperty(Yde,"__esModule",{value:!0});Yde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("CLUSTER","BUMPEPOCH")},transformReply:void 0}});var Xnt=S(Qde=>{"use strict";Object.defineProperty(Qde,"__esModule",{value:!0});Qde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CLUSTER","COUNT-FAILURE-REPORTS",t)},transformReply:void 0}});var Jnt=S(zde=>{"use strict";Object.defineProperty(zde,"__esModule",{value:!0});zde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CLUSTER","COUNTKEYSINSLOT",t.toString())},transformReply:void 0}});var Znt=S(Wde=>{"use strict";Object.defineProperty(Wde,"__esModule",{value:!0});Wde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CLUSTER","DELSLOTS"),e.pushVariadicNumber(t)},transformReply:void 0}});var est=S(Xde=>{"use strict";Object.defineProperty(Xde,"__esModule",{value:!0});var v8r=Ge();Xde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CLUSTER","DELSLOTSRANGE"),(0,v8r.parseSlotRangesArguments)(e,t)},transformReply:void 0}});var tst=S(gP=>{"use strict";Object.defineProperty(gP,"__esModule",{value:!0});gP.FAILOVER_MODES=void 0;gP.FAILOVER_MODES={FORCE:"FORCE",TAKEOVER:"TAKEOVER"};gP.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CLUSTER","FAILOVER"),t?.mode&&e.push(t.mode)},transformReply:void 0}});var rst=S(Jde=>{"use strict";Object.defineProperty(Jde,"__esModule",{value:!0});Jde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("CLUSTER","FLUSHSLOTS")},transformReply:void 0}});var nst=S(Zde=>{"use strict";Object.defineProperty(Zde,"__esModule",{value:!0});Zde.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CLUSTER","FORGET",t)},transformReply:void 0}});var sst=S(efe=>{"use strict";Object.defineProperty(efe,"__esModule",{value:!0});efe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("CLUSTER","GETKEYSINSLOT",t.toString(),r.toString())},transformReply:void 0}});var ist=S(tfe=>{"use strict";Object.defineProperty(tfe,"__esModule",{value:!0});tfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("CLUSTER","INFO")},transformReply:void 0}});var ast=S(rfe=>{"use strict";Object.defineProperty(rfe,"__esModule",{value:!0});rfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CLUSTER","KEYSLOT",t)},transformReply:void 0}});var ost=S(nfe=>{"use strict";Object.defineProperty(nfe,"__esModule",{value:!0});nfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("CLUSTER","LINKS")},transformReply:{2:e=>e.map(t=>{let r=t;return{direction:r[1],node:r[3],"create-time":r[5],events:r[7],"send-buffer-allocated":r[9],"send-buffer-used":r[11]}}),3:void 0}}});var cst=S(sfe=>{"use strict";Object.defineProperty(sfe,"__esModule",{value:!0});sfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("CLUSTER","MEET",t,r.toString())},transformReply:void 0}});var ust=S(ife=>{"use strict";Object.defineProperty(ife,"__esModule",{value:!0});ife.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("CLUSTER","MYID")},transformReply:void 0}});var lst=S(afe=>{"use strict";Object.defineProperty(afe,"__esModule",{value:!0});afe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("CLUSTER","MYSHARDID")},transformReply:void 0}});var dst=S(ofe=>{"use strict";Object.defineProperty(ofe,"__esModule",{value:!0});ofe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("CLUSTER","NODES")},transformReply:void 0}});var fst=S(cfe=>{"use strict";Object.defineProperty(cfe,"__esModule",{value:!0});cfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CLUSTER","REPLICAS",t)},transformReply:void 0}});var hst=S(ufe=>{"use strict";Object.defineProperty(ufe,"__esModule",{value:!0});ufe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CLUSTER","REPLICATE",t)},transformReply:void 0}});var pst=S(lfe=>{"use strict";Object.defineProperty(lfe,"__esModule",{value:!0});lfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CLUSTER","RESET"),t?.mode&&e.push(t.mode)},transformReply:void 0}});var mst=S(dfe=>{"use strict";Object.defineProperty(dfe,"__esModule",{value:!0});dfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("CLUSTER","SAVECONFIG")},transformReply:void 0}});var gst=S(ffe=>{"use strict";Object.defineProperty(ffe,"__esModule",{value:!0});ffe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CLUSTER","SET-CONFIG-EPOCH",t.toString())},transformReply:void 0}});var _st=S(_P=>{"use strict";Object.defineProperty(_P,"__esModule",{value:!0});_P.CLUSTER_SLOT_STATES=void 0;_P.CLUSTER_SLOT_STATES={IMPORTING:"IMPORTING",MIGRATING:"MIGRATING",STABLE:"STABLE",NODE:"NODE"};_P.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("CLUSTER","SETSLOT",t.toString(),r),n&&e.push(n)},transformReply:void 0}});var Est=S(hfe=>{"use strict";Object.defineProperty(hfe,"__esModule",{value:!0});hfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("CLUSTER","SLOTS")},transformReply(e){return e.map(([t,r,n,...s])=>({from:t,to:r,master:Ast(n),replicas:s.map(Ast)}))}};function Ast(e){let[t,r,n]=e;return{host:t,port:r,id:n}}});var yst=S(pfe=>{"use strict";Object.defineProperty(pfe,"__esModule",{value:!0});pfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("COMMAND","COUNT")},transformReply:void 0}});var vst=S(mfe=>{"use strict";Object.defineProperty(mfe,"__esModule",{value:!0});mfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("COMMAND","GETKEYS"),e.push(...t)},transformReply:void 0}});var Sst=S(gfe=>{"use strict";Object.defineProperty(gfe,"__esModule",{value:!0});gfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("COMMAND","GETKEYSANDFLAGS"),e.push(...t)},transformReply(e){return e.map(t=>{let[r,n]=t;return{key:r,flags:n}})}}});var Tst=S(_fe=>{"use strict";Object.defineProperty(_fe,"__esModule",{value:!0});var S8r=Ge();_fe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("COMMAND","INFO",...t)},transformReply(e){return e.map(t=>t?(0,S8r.transformCommandReply)(t):null)}}});var bst=S(AP=>{"use strict";Object.defineProperty(AP,"__esModule",{value:!0});AP.COMMAND_LIST_FILTER_BY=void 0;AP.COMMAND_LIST_FILTER_BY={MODULE:"MODULE",ACLCAT:"ACLCAT",PATTERN:"PATTERN"};AP.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("COMMAND","LIST"),t?.FILTERBY&&e.push("FILTERBY",t.FILTERBY.type,t.FILTERBY.value)},transformReply:void 0}});var Ist=S(Afe=>{"use strict";Object.defineProperty(Afe,"__esModule",{value:!0});var T8r=Ge();Afe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("COMMAND")},transformReply(e){return e.map(T8r.transformCommandReply)}}});var Rst=S(Efe=>{"use strict";Object.defineProperty(Efe,"__esModule",{value:!0});var b8r=Ge();Efe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("CONFIG","GET"),e.pushVariadic(t)},transformReply:{2:b8r.transformTuplesReply,3:void 0}}});var Cst=S(yfe=>{"use strict";Object.defineProperty(yfe,"__esModule",{value:!0});yfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("CONFIG","RESETSTAT")},transformReply:void 0}});var xst=S(vfe=>{"use strict";Object.defineProperty(vfe,"__esModule",{value:!0});vfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("CONFIG","REWRITE")},transformReply:void 0}});var wst=S(Sfe=>{"use strict";Object.defineProperty(Sfe,"__esModule",{value:!0});Sfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,...[t,r]){if(e.push("CONFIG","SET"),typeof t=="string"||t instanceof Buffer)e.push(t,r);else for(let[n,s]of Object.entries(t))e.push(n,s)},transformReply:void 0}});var Nst=S(Tfe=>{"use strict";Object.defineProperty(Tfe,"__esModule",{value:!0});Tfe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("COPY"),e.pushKeys([t,r]),n?.DB&&e.push("DB",n.DB.toString()),n?.REPLACE&&e.push("REPLACE")},transformReply:void 0}});var Ost=S(bfe=>{"use strict";Object.defineProperty(bfe,"__esModule",{value:!0});bfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("DBSIZE")},transformReply:void 0}});var Dst=S(Ife=>{"use strict";Object.defineProperty(Ife,"__esModule",{value:!0});Ife.default={parseCommand(e,t){e.push("DECR"),e.pushKey(t)},transformReply:void 0}});var Pst=S(Rfe=>{"use strict";Object.defineProperty(Rfe,"__esModule",{value:!0});Rfe.default={parseCommand(e,t,r){e.push("DECRBY"),e.pushKey(t),e.push(r.toString())},transformReply:void 0}});var Lst=S(Cfe=>{"use strict";Object.defineProperty(Cfe,"__esModule",{value:!0});Cfe.default={IS_READ_ONLY:!1,parseCommand(e,t){e.push("DEL"),e.pushKeys(t)},transformReply:void 0}});var Mst=S(EP=>{"use strict";Object.defineProperty(EP,"__esModule",{value:!0});EP.DelexCondition=void 0;EP.DelexCondition={IFEQ:"IFEQ",IFNE:"IFNE",IFDEQ:"IFDEQ",IFDNE:"IFDNE"};EP.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("DELEX"),e.pushKey(t),r&&(e.push(r.condition),e.push(r.matchValue))},transformReply:void 0}});var kst=S(xfe=>{"use strict";Object.defineProperty(xfe,"__esModule",{value:!0});xfe.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("DIGEST"),e.pushKey(t)},transformReply:void 0}});var Bst=S(wfe=>{"use strict";Object.defineProperty(wfe,"__esModule",{value:!0});wfe.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("DUMP"),e.pushKey(t)},transformReply:void 0}});var Ust=S(Nfe=>{"use strict";Object.defineProperty(Nfe,"__esModule",{value:!0});Nfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("ECHO",t)},transformReply:void 0}});var Xv=S(yP=>{"use strict";Object.defineProperty(yP,"__esModule",{value:!0});yP.parseEvalArguments=void 0;function Fst(e,t,r){e.push(t),r?.keys?e.pushKeysLength(r.keys):e.push("0"),r?.arguments&&e.push(...r.arguments)}yP.parseEvalArguments=Fst;yP.default={IS_READ_ONLY:!1,parseCommand(...e){e[0].push("EVAL"),Fst(...e)},transformReply:void 0}});var qst=S(wm=>{"use strict";var I8r=wm&&wm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),R8r=wm&&wm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),C8r=wm&&wm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&I8r(t,e,r);return R8r(t,e),t};Object.defineProperty(wm,"__esModule",{value:!0});var $st=C8r(Xv());wm.default={IS_READ_ONLY:!0,parseCommand(...e){e[0].push("EVAL_RO"),(0,$st.parseEvalArguments)(...e)},transformReply:$st.default.transformReply}});var Vst=S(Nm=>{"use strict";var x8r=Nm&&Nm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),w8r=Nm&&Nm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),N8r=Nm&&Nm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&x8r(t,e,r);return w8r(t,e),t};Object.defineProperty(Nm,"__esModule",{value:!0});var Hst=N8r(Xv());Nm.default={IS_READ_ONLY:!0,parseCommand(...e){e[0].push("EVALSHA_RO"),(0,Hst.parseEvalArguments)(...e)},transformReply:Hst.default.transformReply}});var Kst=S(Om=>{"use strict";var O8r=Om&&Om.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),D8r=Om&&Om.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),P8r=Om&&Om.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&O8r(t,e,r);return D8r(t,e),t};Object.defineProperty(Om,"__esModule",{value:!0});var jst=P8r(Xv());Om.default={IS_READ_ONLY:!1,parseCommand(...e){e[0].push("EVALSHA"),(0,jst.parseEvalArguments)(...e)},transformReply:jst.default.transformReply}});var Yst=S(Ofe=>{"use strict";Object.defineProperty(Ofe,"__esModule",{value:!0});Ofe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){if(e.push("GEOADD"),e.pushKey(t),n?.condition?e.push(n.condition):n?.NX?e.push("NX"):n?.XX&&e.push("XX"),n?.CH&&e.push("CH"),Array.isArray(r))for(let s of r)Gst(e,s);else Gst(e,r)},transformReply:void 0};function Gst(e,{longitude:t,latitude:r,member:n}){e.push(t.toString(),r.toString(),n)}});var Qst=S(Dfe=>{"use strict";Object.defineProperty(Dfe,"__esModule",{value:!0});Dfe.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n,s){e.push("GEODIST"),e.pushKey(t),e.push(r,n),s&&e.push(s)},transformReply(e){return e===null?null:Number(e)}}});var zst=S(Pfe=>{"use strict";Object.defineProperty(Pfe,"__esModule",{value:!0});Pfe.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("GEOHASH"),e.pushKey(t),e.pushVariadic(r)},transformReply:void 0}});var Wst=S(Lfe=>{"use strict";Object.defineProperty(Lfe,"__esModule",{value:!0});Lfe.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("GEOPOS"),e.pushKey(t),e.pushVariadic(r)},transformReply(e){return e.map(t=>{let r=t;return r===null?null:{longitude:r[0],latitude:r[1]}})}}});var Zv=S(Jv=>{"use strict";Object.defineProperty(Jv,"__esModule",{value:!0});Jv.parseGeoSearchOptions=Jv.parseGeoSearchArguments=void 0;function Xst(e,t,r,n,s){e.pushKey(t),typeof r=="string"||r instanceof Buffer?e.push("FROMMEMBER",r):e.push("FROMLONLAT",r.longitude.toString(),r.latitude.toString()),"radius"in n?e.push("BYRADIUS",n.radius.toString(),n.unit):e.push("BYBOX",n.width.toString(),n.height.toString(),n.unit),Jst(e,s)}Jv.parseGeoSearchArguments=Xst;function Jst(e,t){t?.SORT&&e.push(t.SORT),t?.COUNT&&(typeof t.COUNT=="number"?e.push("COUNT",t.COUNT.toString()):(e.push("COUNT",t.COUNT.value.toString()),t.COUNT.ANY&&e.push("ANY")))}Jv.parseGeoSearchOptions=Jst;Jv.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n,s){e.push("GEOSEARCH"),Xst(e,t,r,n,s)},transformReply:void 0}});var SP=S(vP=>{"use strict";Object.defineProperty(vP,"__esModule",{value:!0});vP.parseGeoRadiusArguments=void 0;var L8r=Zv();function Zst(e,t,r,n,s,i){e.pushKey(t),e.push(r.longitude.toString(),r.latitude.toString(),n.toString(),s),(0,L8r.parseGeoSearchOptions)(e,i)}vP.parseGeoRadiusArguments=Zst;vP.default={IS_READ_ONLY:!1,parseCommand(...e){return e[0].push("GEORADIUS"),Zst(...e)},transformReply:void 0}});var TP=S(vh=>{"use strict";var M8r=vh&&vh.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(vh,"__esModule",{value:!0});vh.GEO_REPLY_WITH=void 0;var eit=M8r(Zv());vh.GEO_REPLY_WITH={DISTANCE:"WITHDIST",HASH:"WITHHASH",COORDINATES:"WITHCOORD"};vh.default={IS_READ_ONLY:eit.default.IS_READ_ONLY,parseCommand(e,t,r,n,s,i){eit.default.parseCommand(e,t,r,n,i),e.push(...s),e.preserve=s},transformReply(e,t){let r=new Set(t),n=0,s=r.has(vh.GEO_REPLY_WITH.DISTANCE)&&++n,i=r.has(vh.GEO_REPLY_WITH.HASH)&&++n,a=r.has(vh.GEO_REPLY_WITH.COORDINATES)&&++n;return e.map(o=>{let c=o,u={member:c[0]};if(s&&(u.distance=c[s]),i&&(u.hash=c[i]),a){let[l,d]=c[a];u.coordinates={longitude:l,latitude:d}}return u})}}});var G$=S(vl=>{"use strict";var k8r=vl&&vl.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),B8r=vl&&vl.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),U8r=vl&&vl.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&k8r(t,e,r);return B8r(t,e),t},F8r=vl&&vl.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(vl,"__esModule",{value:!0});vl.parseGeoRadiusWithArguments=void 0;var tit=U8r(SP()),$8r=F8r(TP());function rit(e,t,r,n,s,i,a){(0,tit.parseGeoRadiusArguments)(e,t,r,n,s,a),e.pushVariadic(i),e.preserve=i}vl.parseGeoRadiusWithArguments=rit;vl.default={IS_READ_ONLY:tit.default.IS_READ_ONLY,parseCommand(e,t,r,n,s,i,a){e.push("GEORADIUS"),rit(e,t,r,n,s,i,a)},transformReply:$8r.default.transformReply}});var nit=S(bP=>{"use strict";var q8r=bP&&bP.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(bP,"__esModule",{value:!0});var H8r=G$(),V8r=q8r(G$());bP.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...e){e[0].push("GEORADIUS_RO"),(0,H8r.parseGeoRadiusWithArguments)(...e)},transformReply:V8r.default.transformReply}});var iit=S(Dm=>{"use strict";var j8r=Dm&&Dm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),K8r=Dm&&Dm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),G8r=Dm&&Dm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&j8r(t,e,r);return K8r(t,e),t};Object.defineProperty(Dm,"__esModule",{value:!0});var sit=G8r(SP());Dm.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...e){e[0].push("GEORADIUS_RO"),(0,sit.parseGeoRadiusArguments)(...e)},transformReply:sit.default.transformReply}});var oit=S(Pm=>{"use strict";var Y8r=Pm&&Pm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Q8r=Pm&&Pm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),z8r=Pm&&Pm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&Y8r(t,e,r);return Q8r(t,e),t};Object.defineProperty(Pm,"__esModule",{value:!0});var ait=z8r(SP());Pm.default={IS_READ_ONLY:ait.default.IS_READ_ONLY,parseCommand(e,t,r,n,s,i,a){e.push("GEORADIUS"),(0,ait.parseGeoRadiusArguments)(e,t,r,n,s,a),a?.STOREDIST?(e.push("STOREDIST"),e.pushKey(i)):(e.push("STORE"),e.pushKey(i))},transformReply:void 0}});var RP=S(IP=>{"use strict";Object.defineProperty(IP,"__esModule",{value:!0});IP.parseGeoRadiusByMemberArguments=void 0;var W8r=Zv();function cit(e,t,r,n,s,i){e.pushKey(t),e.push(r,n.toString(),s),(0,W8r.parseGeoSearchOptions)(e,i)}IP.parseGeoRadiusByMemberArguments=cit;IP.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,s,i){e.push("GEORADIUSBYMEMBER"),cit(e,t,r,n,s,i)},transformReply:void 0}});var Mfe=S(eS=>{"use strict";var uit=eS&&eS.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(eS,"__esModule",{value:!0});eS.parseGeoRadiusByMemberWithArguments=void 0;var X8r=uit(RP()),J8r=Zv(),Z8r=uit(TP());function lit(e,t,r,n,s,i,a){e.pushKey(t),e.push(r,n.toString(),s),(0,J8r.parseGeoSearchOptions)(e,a),e.push(...i),e.preserve=i}eS.parseGeoRadiusByMemberWithArguments=lit;eS.default={IS_READ_ONLY:X8r.default.IS_READ_ONLY,parseCommand(e,t,r,n,s,i,a){e.push("GEORADIUSBYMEMBER"),lit(e,t,r,n,s,i,a)},transformReply:Z8r.default.transformReply}});var fit=S(Lm=>{"use strict";var e5r=Lm&&Lm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),t5r=Lm&&Lm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r5r=Lm&&Lm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&e5r(t,e,r);return t5r(t,e),t};Object.defineProperty(Lm,"__esModule",{value:!0});var dit=r5r(Mfe());Lm.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...e){e[0].push("GEORADIUSBYMEMBER_RO"),(0,dit.parseGeoRadiusByMemberWithArguments)(...e)},transformReply:dit.default.transformReply}});var pit=S(Mm=>{"use strict";var n5r=Mm&&Mm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),s5r=Mm&&Mm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i5r=Mm&&Mm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&n5r(t,e,r);return s5r(t,e),t};Object.defineProperty(Mm,"__esModule",{value:!0});var hit=i5r(RP());Mm.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...e){e[0].push("GEORADIUSBYMEMBER_RO"),(0,hit.parseGeoRadiusByMemberArguments)(...e)},transformReply:hit.default.transformReply}});var git=S(km=>{"use strict";var a5r=km&&km.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),o5r=km&&km.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),c5r=km&&km.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&a5r(t,e,r);return o5r(t,e),t};Object.defineProperty(km,"__esModule",{value:!0});var mit=c5r(RP());km.default={IS_READ_ONLY:mit.default.IS_READ_ONLY,parseCommand(e,t,r,n,s,i,a){e.push("GEORADIUSBYMEMBER"),(0,mit.parseGeoRadiusByMemberArguments)(e,t,r,n,s,a),a?.STOREDIST?(e.push("STOREDIST"),e.pushKey(i)):(e.push("STORE"),e.pushKey(i))},transformReply:void 0}});var _it=S(kfe=>{"use strict";Object.defineProperty(kfe,"__esModule",{value:!0});var u5r=Zv();kfe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,s,i){e.push("GEOSEARCHSTORE"),t!==void 0&&e.pushKey(t),(0,u5r.parseGeoSearchArguments)(e,r,n,s,i),i?.STOREDIST&&e.push("STOREDIST")},transformReply:void 0}});var Ait=S(Bfe=>{"use strict";Object.defineProperty(Bfe,"__esModule",{value:!0});Bfe.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("GET"),e.pushKey(t)},transformReply:void 0}});var Eit=S(Ufe=>{"use strict";Object.defineProperty(Ufe,"__esModule",{value:!0});Ufe.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("GETBIT"),e.pushKey(t),e.push(r.toString())},transformReply:void 0}});var yit=S(Ffe=>{"use strict";Object.defineProperty(Ffe,"__esModule",{value:!0});Ffe.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("GETDEL"),e.pushKey(t)},transformReply:void 0}});var vit=S(qfe=>{"use strict";Object.defineProperty(qfe,"__esModule",{value:!0});var $fe=Ge();qfe.default={IS_READ_ONLY:!0,parseCommand(e,t,r){if(e.push("GETEX"),e.pushKey(t),"type"in r)switch(r.type){case"EX":case"PX":e.push(r.type,r.value.toString());break;case"EXAT":case"PXAT":e.push(r.type,(0,$fe.transformEXAT)(r.value));break;case"PERSIST":e.push("PERSIST");break}else"EX"in r?e.push("EX",r.EX.toString()):"PX"in r?e.push("PX",r.PX.toString()):"EXAT"in r?e.push("EXAT",(0,$fe.transformEXAT)(r.EXAT)):"PXAT"in r?e.push("PXAT",(0,$fe.transformPXAT)(r.PXAT)):e.push("PERSIST")},transformReply:void 0}});var Sit=S(Hfe=>{"use strict";Object.defineProperty(Hfe,"__esModule",{value:!0});Hfe.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("GETRANGE"),e.pushKey(t),e.push(r.toString(),n.toString())},transformReply:void 0}});var Tit=S(Vfe=>{"use strict";Object.defineProperty(Vfe,"__esModule",{value:!0});Vfe.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("GETSET"),e.pushKey(t),e.push(r)},transformReply:void 0}});var bit=S(jfe=>{"use strict";Object.defineProperty(jfe,"__esModule",{value:!0});jfe.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("EXISTS"),e.pushKeys(t)},transformReply:void 0}});var Iit=S(Kfe=>{"use strict";Object.defineProperty(Kfe,"__esModule",{value:!0});Kfe.default={parseCommand(e,t,r,n){e.push("EXPIRE"),e.pushKey(t),e.push(r.toString()),n&&e.push(n)},transformReply:void 0}});var Rit=S(Gfe=>{"use strict";Object.defineProperty(Gfe,"__esModule",{value:!0});var l5r=Ge();Gfe.default={parseCommand(e,t,r,n){e.push("EXPIREAT"),e.pushKey(t),e.push((0,l5r.transformEXAT)(r)),n&&e.push(n)},transformReply:void 0}});var Cit=S(Yfe=>{"use strict";Object.defineProperty(Yfe,"__esModule",{value:!0});Yfe.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("EXPIRETIME"),e.pushKey(t)},transformReply:void 0}});var xit=S(CP=>{"use strict";Object.defineProperty(CP,"__esModule",{value:!0});CP.REDIS_FLUSH_MODES=void 0;CP.REDIS_FLUSH_MODES={ASYNC:"ASYNC",SYNC:"SYNC"};CP.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(e,t){e.push("FLUSHALL"),t&&e.push(t)},transformReply:void 0}});var wit=S(Qfe=>{"use strict";Object.defineProperty(Qfe,"__esModule",{value:!0});Qfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(e,t){e.push("FLUSHDB"),t&&e.push(t)},transformReply:void 0}});var Oit=S(Bm=>{"use strict";var d5r=Bm&&Bm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),f5r=Bm&&Bm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),h5r=Bm&&Bm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&d5r(t,e,r);return f5r(t,e),t};Object.defineProperty(Bm,"__esModule",{value:!0});var Nit=h5r(Xv());Bm.default={IS_READ_ONLY:!1,parseCommand(...e){e[0].push("FCALL"),(0,Nit.parseEvalArguments)(...e)},transformReply:Nit.default.transformReply}});var Pit=S(Um=>{"use strict";var p5r=Um&&Um.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),m5r=Um&&Um.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),g5r=Um&&Um.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&p5r(t,e,r);return m5r(t,e),t};Object.defineProperty(Um,"__esModule",{value:!0});var Dit=g5r(Xv());Um.default={IS_READ_ONLY:!1,parseCommand(...e){e[0].push("FCALL_RO"),(0,Dit.parseEvalArguments)(...e)},transformReply:Dit.default.transformReply}});var Lit=S(zfe=>{"use strict";Object.defineProperty(zfe,"__esModule",{value:!0});zfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(e,t){e.push("FUNCTION","DELETE",t)},transformReply:void 0}});var Mit=S(Wfe=>{"use strict";Object.defineProperty(Wfe,"__esModule",{value:!0});Wfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("FUNCTION","DUMP")},transformReply:void 0}});var kit=S(Xfe=>{"use strict";Object.defineProperty(Xfe,"__esModule",{value:!0});Xfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(e,t){e.push("FUNCTION","FLUSH"),t&&e.push(t)},transformReply:void 0}});var Bit=S(Jfe=>{"use strict";Object.defineProperty(Jfe,"__esModule",{value:!0});Jfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("FUNCTION","KILL")},transformReply:void 0}});var e0e=S(Zfe=>{"use strict";Object.defineProperty(Zfe,"__esModule",{value:!0});Zfe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(e,t){e.push("FUNCTION","LIST"),t?.LIBRARYNAME&&e.push("LIBRARYNAME",t.LIBRARYNAME)},transformReply:{2:e=>e.map(t=>{let r=t;return{library_name:r[1],engine:r[3],functions:r[5].map(n=>{let s=n;return{name:s[1],description:s[3],flags:s[5]}})}}),3:void 0}}});var Uit=S(xP=>{"use strict";var _5r=xP&&xP.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(xP,"__esModule",{value:!0});var t0e=_5r(e0e());xP.default={NOT_KEYED_COMMAND:t0e.default.NOT_KEYED_COMMAND,IS_READ_ONLY:t0e.default.IS_READ_ONLY,parseCommand(...e){t0e.default.parseCommand(...e),e[0].push("WITHCODE")},transformReply:{2:e=>e.map(t=>{let r=t;return{library_name:r[1],engine:r[3],functions:r[5].map(n=>{let s=n;return{name:s[1],description:s[3],flags:s[5]}}),library_code:r[7]}}),3:void 0}}});var Fit=S(r0e=>{"use strict";Object.defineProperty(r0e,"__esModule",{value:!0});r0e.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("FUNCTION","LOAD"),r?.REPLACE&&e.push("REPLACE"),e.push(t)},transformReply:void 0}});var $it=S(n0e=>{"use strict";Object.defineProperty(n0e,"__esModule",{value:!0});n0e.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("FUNCTION","RESTORE",t),r?.mode&&e.push(r.mode)},transformReply:void 0}});var qit=S(s0e=>{"use strict";Object.defineProperty(s0e,"__esModule",{value:!0});var A5r=Ge();s0e.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("FUNCTION","STATS")},transformReply:{2:e=>({running_script:E5r(e[1]),engines:y5r(e[3])}),3:void 0}};function E5r(e){if((0,A5r.isNullReply)(e))return null;let t=e;return{name:t[1],command:t[3],duration_ms:t[5]}}function y5r(e){let t=e,r=Object.create(null);for(let n=0;n{"use strict";Object.defineProperty(i0e,"__esModule",{value:!0});i0e.default={parseCommand(e,t,r){e.push("HDEL"),e.pushKey(t),e.pushVariadic(r)},transformReply:void 0}});var o0e=S(a0e=>{"use strict";Object.defineProperty(a0e,"__esModule",{value:!0});a0e.default={parseCommand(e,t,r){e.push("HELLO"),t&&(e.push(t.toString()),r?.AUTH&&e.push("AUTH",r.AUTH.username,r.AUTH.password),r?.SETNAME&&e.push("SETNAME",r.SETNAME))},transformReply:{2:e=>({server:e[1],version:e[3],proto:e[5],id:e[7],mode:e[9],role:e[11],modules:e[13]}),3:void 0}}});var Vit=S(c0e=>{"use strict";Object.defineProperty(c0e,"__esModule",{value:!0});c0e.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("HEXISTS"),e.pushKey(t),e.push(r)},transformReply:void 0}});var jit=S(wP=>{"use strict";Object.defineProperty(wP,"__esModule",{value:!0});wP.HASH_EXPIRATION=void 0;wP.HASH_EXPIRATION={FIELD_NOT_EXISTS:-2,CONDITION_NOT_MET:0,UPDATED:1,DELETED:2};wP.default={parseCommand(e,t,r,n,s){e.push("HEXPIRE"),e.pushKey(t),e.push(n.toString()),s&&e.push(s),e.push("FIELDS"),e.pushVariadicWithLength(r)},transformReply:void 0}});var Kit=S(u0e=>{"use strict";Object.defineProperty(u0e,"__esModule",{value:!0});var v5r=Ge();u0e.default={parseCommand(e,t,r,n,s){e.push("HEXPIREAT"),e.pushKey(t),e.push((0,v5r.transformEXAT)(n)),s&&e.push(s),e.push("FIELDS"),e.pushVariadicWithLength(r)},transformReply:void 0}});var Git=S(NP=>{"use strict";Object.defineProperty(NP,"__esModule",{value:!0});NP.HASH_EXPIRATION_TIME=void 0;NP.HASH_EXPIRATION_TIME={FIELD_NOT_EXISTS:-2,NO_EXPIRATION:-1};NP.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("HEXPIRETIME"),e.pushKey(t),e.push("FIELDS"),e.pushVariadicWithLength(r)},transformReply:void 0}});var Yit=S(l0e=>{"use strict";Object.defineProperty(l0e,"__esModule",{value:!0});l0e.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("HGET"),e.pushKey(t),e.push(r)},transformReply:void 0}});var Qit=S(d0e=>{"use strict";Object.defineProperty(d0e,"__esModule",{value:!0});var S5r=Ge();d0e.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("HGETALL"),e.pushKey(t)},TRANSFORM_LEGACY_REPLY:!0,transformReply:{2:S5r.transformTuplesReply,3:void 0}}});var zit=S(f0e=>{"use strict";Object.defineProperty(f0e,"__esModule",{value:!0});f0e.default={parseCommand(e,t,r){e.push("HGETDEL"),e.pushKey(t),e.push("FIELDS"),e.pushVariadicWithLength(r)},transformReply:void 0}});var Wit=S(h0e=>{"use strict";Object.defineProperty(h0e,"__esModule",{value:!0});h0e.default={parseCommand(e,t,r,n){e.push("HGETEX"),e.pushKey(t),n?.expiration&&(typeof n.expiration=="string"?e.push(n.expiration):n.expiration.type==="PERSIST"?e.push("PERSIST"):e.push(n.expiration.type,n.expiration.value.toString())),e.push("FIELDS"),e.pushVariadicWithLength(r)},transformReply:void 0}});var Xit=S(p0e=>{"use strict";Object.defineProperty(p0e,"__esModule",{value:!0});p0e.default={parseCommand(e,t,r,n){e.push("HINCRBY"),e.pushKey(t),e.push(r,n.toString())},transformReply:void 0}});var Jit=S(m0e=>{"use strict";Object.defineProperty(m0e,"__esModule",{value:!0});m0e.default={parseCommand(e,t,r,n){e.push("HINCRBYFLOAT"),e.pushKey(t),e.push(r,n.toString())},transformReply:void 0}});var Zit=S(g0e=>{"use strict";Object.defineProperty(g0e,"__esModule",{value:!0});g0e.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("HKEYS"),e.pushKey(t)},transformReply:void 0}});var eat=S(_0e=>{"use strict";Object.defineProperty(_0e,"__esModule",{value:!0});_0e.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("HLEN"),e.pushKey(t)},transformReply:void 0}});var tat=S(A0e=>{"use strict";Object.defineProperty(A0e,"__esModule",{value:!0});A0e.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("HMGET"),e.pushKey(t),e.pushVariadic(r)},transformReply:void 0}});var rat=S(E0e=>{"use strict";Object.defineProperty(E0e,"__esModule",{value:!0});E0e.default={parseCommand(e,t,r){e.push("HPERSIST"),e.pushKey(t),e.push("FIELDS"),e.pushVariadicWithLength(r)},transformReply:void 0}});var nat=S(y0e=>{"use strict";Object.defineProperty(y0e,"__esModule",{value:!0});y0e.default={parseCommand(e,t,r,n,s){e.push("HPEXPIRE"),e.pushKey(t),e.push(n.toString()),s&&e.push(s),e.push("FIELDS"),e.pushVariadicWithLength(r)},transformReply:void 0}});var sat=S(v0e=>{"use strict";Object.defineProperty(v0e,"__esModule",{value:!0});var T5r=Ge();v0e.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n,s){e.push("HPEXPIREAT"),e.pushKey(t),e.push((0,T5r.transformPXAT)(n)),s&&e.push(s),e.push("FIELDS"),e.pushVariadicWithLength(r)},transformReply:void 0}});var iat=S(S0e=>{"use strict";Object.defineProperty(S0e,"__esModule",{value:!0});S0e.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("HPEXPIRETIME"),e.pushKey(t),e.push("FIELDS"),e.pushVariadicWithLength(r)},transformReply:void 0}});var aat=S(T0e=>{"use strict";Object.defineProperty(T0e,"__esModule",{value:!0});T0e.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("HPTTL"),e.pushKey(t),e.push("FIELDS"),e.pushVariadicWithLength(r)},transformReply:void 0}});var oat=S(b0e=>{"use strict";Object.defineProperty(b0e,"__esModule",{value:!0});b0e.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("HRANDFIELD"),e.pushKey(t),e.push(r.toString(),"WITHVALUES")},transformReply:{2:e=>{let t=[],r=0;for(;re.map(t=>{let[r,n]=t;return{field:r,value:n}})}}});var cat=S(I0e=>{"use strict";Object.defineProperty(I0e,"__esModule",{value:!0});I0e.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("HRANDFIELD"),e.pushKey(t),e.push(r.toString())},transformReply:void 0}});var uat=S(R0e=>{"use strict";Object.defineProperty(R0e,"__esModule",{value:!0});R0e.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("HRANDFIELD"),e.pushKey(t)},transformReply:void 0}});var OP=S(tS=>{"use strict";Object.defineProperty(tS,"__esModule",{value:!0});tS.pushScanArguments=tS.parseScanArguments=void 0;function lat(e,t,r){e.push(t),r?.MATCH&&e.push("MATCH",r.MATCH),r?.COUNT&&e.push("COUNT",r.COUNT.toString())}tS.parseScanArguments=lat;function b5r(e,t,r){return e.push(t.toString()),r?.MATCH&&e.push("MATCH",r.MATCH),r?.COUNT&&e.push("COUNT",r.COUNT.toString()),e}tS.pushScanArguments=b5r;tS.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("SCAN"),lat(e,t,r),r?.TYPE&&e.push("TYPE",r.TYPE)},transformReply([e,t]){return{cursor:e,keys:t}}}});var x0e=S(C0e=>{"use strict";Object.defineProperty(C0e,"__esModule",{value:!0});var I5r=OP();C0e.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("HSCAN"),e.pushKey(t),(0,I5r.parseScanArguments)(e,r,n)},transformReply([e,t]){let r=[],n=0;for(;n{"use strict";var R5r=DP&&DP.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(DP,"__esModule",{value:!0});var C5r=R5r(x0e());DP.default={IS_READ_ONLY:!0,parseCommand(...e){let t=e[0];C5r.default.parseCommand(...e),t.push("NOVALUES")},transformReply([e,t]){return{cursor:e,fields:t}}}});var hat=S(w0e=>{"use strict";Object.defineProperty(w0e,"__esModule",{value:!0});w0e.default={parseCommand(e,...[t,r,n]){e.push("HSET"),e.pushKey(t),typeof r=="string"||typeof r=="number"||r instanceof Buffer?e.push(rS(r),rS(n)):r instanceof Map?x5r(e,r):Array.isArray(r)?fat(e,r):w5r(e,r)},transformReply:void 0};function x5r(e,t){for(let[r,n]of t.entries())e.push(rS(r),rS(n))}function fat(e,t){for(let r of t){if(Array.isArray(r)){fat(e,r);continue}e.push(rS(r))}}function w5r(e,t){for(let r of Object.keys(t))e.push(rS(r),rS(t[r]))}function rS(e){return typeof e=="number"?e.toString():e}});var mat=S(N0e=>{"use strict";Object.defineProperty(N0e,"__esModule",{value:!0});var N5r=yh();N0e.default={parseCommand(e,t,r,n){e.push("HSETEX"),e.pushKey(t),n?.mode&&e.push(n.mode),n?.expiration&&(typeof n.expiration=="string"?e.push(n.expiration):n.expiration.type==="KEEPTTL"?e.push("KEEPTTL"):e.push(n.expiration.type,n.expiration.value.toString())),e.push("FIELDS"),r instanceof Map?O5r(e,r):Array.isArray(r)?D5r(e,r):P5r(e,r)},transformReply:void 0};function O5r(e,t){e.push(t.size.toString());for(let[r,n]of t.entries())e.push(PP(r),PP(n))}function D5r(e,t){let r=new N5r.BasicCommandParser;if(pat(r,t),r.redisArgs.length%2!=0)throw Error("invalid number of arguments, expected key value ....[key value] pairs, got key without value");e.push((r.redisArgs.length/2).toString()),e.push(...r.redisArgs)}function pat(e,t){for(let r of t){if(Array.isArray(r)){pat(e,r);continue}e.push(PP(r))}}function P5r(e,t){let r=Object.keys(t).length;if(r==0)throw Error("object without keys");e.push(r.toString());for(let n of Object.keys(t))e.push(PP(n),PP(t[n]))}function PP(e){return typeof e=="number"?e.toString():e}});var gat=S(O0e=>{"use strict";Object.defineProperty(O0e,"__esModule",{value:!0});O0e.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("HSETNX"),e.pushKey(t),e.push(r,n)},transformReply:void 0}});var _at=S(D0e=>{"use strict";Object.defineProperty(D0e,"__esModule",{value:!0});D0e.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("HSTRLEN"),e.pushKey(t),e.push(r)},transformReply:void 0}});var Aat=S(P0e=>{"use strict";Object.defineProperty(P0e,"__esModule",{value:!0});P0e.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("HTTL"),e.pushKey(t),e.push("FIELDS"),e.pushVariadicWithLength(r)},transformReply:void 0}});var Eat=S(L0e=>{"use strict";Object.defineProperty(L0e,"__esModule",{value:!0});L0e.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("HVALS"),e.pushKey(t)},transformReply:void 0}});var vat=S(M0e=>{"use strict";Object.defineProperty(M0e,"__esModule",{value:!0});function yat(e){let t=[];for(let r=0;r{let r=t;return r.length===1?{start:Number(r[0]),end:Number(r[0])}:{start:Number(r[0]),end:Number(r[1])}})}function M5r(e){let t={},r=e[0];for(let n=0;ne===null?null:M5r(e),3:void 0},unstableResp3:!0}});var Sat=S(k0e=>{"use strict";Object.defineProperty(k0e,"__esModule",{value:!0});k0e.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(e){e.push("HOTKEYS","RESET")},transformReply:void 0}});var Tat=S(LP=>{"use strict";Object.defineProperty(LP,"__esModule",{value:!0});LP.HOTKEYS_METRICS=void 0;LP.HOTKEYS_METRICS={CPU:"CPU",NET:"NET"};LP.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(e,t){if(e.push("HOTKEYS","START"),e.push("METRICS",t.METRICS.count.toString()),t.METRICS.CPU&&e.push("CPU"),t.METRICS.NET&&e.push("NET"),t.COUNT!==void 0&&e.push("COUNT",t.COUNT.toString()),t.DURATION!==void 0&&e.push("DURATION",t.DURATION.toString()),t.SAMPLE!==void 0&&e.push("SAMPLE",t.SAMPLE.toString()),t.SLOTS!==void 0){e.push("SLOTS",t.SLOTS.count.toString());for(let r of t.SLOTS.slots)e.push(r.toString())}},transformReply:void 0}});var bat=S(B0e=>{"use strict";Object.defineProperty(B0e,"__esModule",{value:!0});B0e.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(e){e.push("HOTKEYS","STOP")},transformReply:void 0}});var Iat=S(U0e=>{"use strict";Object.defineProperty(U0e,"__esModule",{value:!0});U0e.default={parseCommand(e,t){e.push("INCR"),e.pushKey(t)},transformReply:void 0}});var Rat=S(F0e=>{"use strict";Object.defineProperty(F0e,"__esModule",{value:!0});F0e.default={parseCommand(e,t,r){e.push("INCRBY"),e.pushKey(t),e.push(r.toString())},transformReply:void 0}});var Cat=S($0e=>{"use strict";Object.defineProperty($0e,"__esModule",{value:!0});$0e.default={parseCommand(e,t,r){e.push("INCRBYFLOAT"),e.pushKey(t),e.push(r.toString())},transformReply:void 0}});var xat=S(q0e=>{"use strict";Object.defineProperty(q0e,"__esModule",{value:!0});q0e.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("INFO"),t&&e.push(t)},transformReply:void 0}});var wat=S(H0e=>{"use strict";Object.defineProperty(H0e,"__esModule",{value:!0});H0e.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("KEYS",t)},transformReply:void 0}});var Nat=S(V0e=>{"use strict";Object.defineProperty(V0e,"__esModule",{value:!0});V0e.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("LASTSAVE")},transformReply:void 0}});var Oat=S(j0e=>{"use strict";Object.defineProperty(j0e,"__esModule",{value:!0});j0e.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("LATENCY","DOCTOR")},transformReply:void 0}});var K0e=S(MP=>{"use strict";Object.defineProperty(MP,"__esModule",{value:!0});MP.LATENCY_EVENTS=void 0;MP.LATENCY_EVENTS={ACTIVE_DEFRAG_CYCLE:"active-defrag-cycle",AOF_FSYNC_ALWAYS:"aof-fsync-always",AOF_STAT:"aof-stat",AOF_REWRITE_DIFF_WRITE:"aof-rewrite-diff-write",AOF_RENAME:"aof-rename",AOF_WRITE:"aof-write",AOF_WRITE_ACTIVE_CHILD:"aof-write-active-child",AOF_WRITE_ALONE:"aof-write-alone",AOF_WRITE_PENDING_FSYNC:"aof-write-pending-fsync",COMMAND:"command",EXPIRE_CYCLE:"expire-cycle",EVICTION_CYCLE:"eviction-cycle",EVICTION_DEL:"eviction-del",FAST_COMMAND:"fast-command",FORK:"fork",RDB_UNLINK_TEMP_FILE:"rdb-unlink-temp-file"};MP.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("LATENCY","GRAPH",t)},transformReply:void 0}});var Dat=S(G0e=>{"use strict";Object.defineProperty(G0e,"__esModule",{value:!0});G0e.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("LATENCY","HISTORY",t)},transformReply:void 0}});var Pat=S(Y0e=>{"use strict";Object.defineProperty(Y0e,"__esModule",{value:!0});Y0e.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("LATENCY","LATEST")},transformReply:void 0}});var Lat=S(kP=>{"use strict";Object.defineProperty(kP,"__esModule",{value:!0});kP.LATENCY_EVENTS=void 0;var k5r=K0e();Object.defineProperty(kP,"LATENCY_EVENTS",{enumerable:!0,get:function(){return k5r.LATENCY_EVENTS}});kP.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(e,...t){let r=["LATENCY","RESET"];t.length>0&&r.push(...t),e.push(...r)},transformReply:void 0}});var Y$=S(Q0e=>{"use strict";Object.defineProperty(Q0e,"__esModule",{value:!0});Q0e.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("LCS"),e.pushKeys([t,r])},transformReply:void 0}});var z0e=S(BP=>{"use strict";var B5r=BP&&BP.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(BP,"__esModule",{value:!0});var Mat=B5r(Y$());BP.default={IS_READ_ONLY:Mat.default.IS_READ_ONLY,parseCommand(e,t,r,n){Mat.default.parseCommand(e,t,r),e.push("IDX"),n?.MINMATCHLEN&&e.push("MINMATCHLEN",n.MINMATCHLEN.toString())},transformReply:{2:e=>({matches:e[1],len:e[3]}),3:void 0}}});var Bat=S(UP=>{"use strict";var U5r=UP&&UP.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(UP,"__esModule",{value:!0});var kat=U5r(z0e());UP.default={IS_READ_ONLY:kat.default.IS_READ_ONLY,parseCommand(...e){let t=e[0];kat.default.parseCommand(...e),t.push("WITHMATCHLEN")},transformReply:{2:e=>({matches:e[1],len:e[3]}),3:void 0}}});var Fat=S(FP=>{"use strict";var F5r=FP&&FP.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(FP,"__esModule",{value:!0});var Uat=F5r(Y$());FP.default={IS_READ_ONLY:Uat.default.IS_READ_ONLY,parseCommand(...e){let t=e[0];Uat.default.parseCommand(...e),t.push("LEN")},transformReply:void 0}});var $at=S(W0e=>{"use strict";Object.defineProperty(W0e,"__esModule",{value:!0});W0e.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("LINDEX"),e.pushKey(t),e.push(r.toString())},transformReply:void 0}});var qat=S(X0e=>{"use strict";Object.defineProperty(X0e,"__esModule",{value:!0});X0e.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n,s){e.push("LINSERT"),e.pushKey(t),e.push(r,n,s)},transformReply:void 0}});var Hat=S(J0e=>{"use strict";Object.defineProperty(J0e,"__esModule",{value:!0});J0e.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("LLEN"),e.pushKey(t)},transformReply:void 0}});var Vat=S(Z0e=>{"use strict";Object.defineProperty(Z0e,"__esModule",{value:!0});Z0e.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,s){e.push("LMOVE"),e.pushKeys([t,r]),e.push(n,s)},transformReply:void 0}});var jat=S(ehe=>{"use strict";Object.defineProperty(ehe,"__esModule",{value:!0});ehe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,...r){e.push("LOLWUT"),t&&(e.push("VERSION",t.toString()),e.pushVariadic(r.map(String)))},transformReply:void 0}});var rhe=S(the=>{"use strict";Object.defineProperty(the,"__esModule",{value:!0});the.default={parseCommand(e,t){e.push("LPOP"),e.pushKey(t)},transformReply:void 0}});var Kat=S($P=>{"use strict";var $5r=$P&&$P.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty($P,"__esModule",{value:!0});var q5r=$5r(rhe());$P.default={IS_READ_ONLY:!1,parseCommand(e,t,r){q5r.default.parseCommand(e,t),e.push(r.toString())},transformReply:void 0}});var she=S(nhe=>{"use strict";Object.defineProperty(nhe,"__esModule",{value:!0});nhe.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("LPOS"),e.pushKey(t),e.push(r),n?.RANK!==void 0&&e.push("RANK",n.RANK.toString()),n?.MAXLEN!==void 0&&e.push("MAXLEN",n.MAXLEN.toString())},transformReply:void 0}});var Gat=S(qP=>{"use strict";var H5r=qP&&qP.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(qP,"__esModule",{value:!0});var ihe=H5r(she());qP.default={CACHEABLE:ihe.default.CACHEABLE,IS_READ_ONLY:ihe.default.IS_READ_ONLY,parseCommand(e,t,r,n,s){ihe.default.parseCommand(e,t,r,s),e.push("COUNT",n.toString())},transformReply:void 0}});var Yat=S(ahe=>{"use strict";Object.defineProperty(ahe,"__esModule",{value:!0});ahe.default={parseCommand(e,t,r){e.push("LPUSH"),e.pushKey(t),e.pushVariadic(r)},transformReply:void 0}});var Qat=S(ohe=>{"use strict";Object.defineProperty(ohe,"__esModule",{value:!0});ohe.default={parseCommand(e,t,r){e.push("LPUSHX"),e.pushKey(t),e.pushVariadic(r)},transformReply:void 0}});var zat=S(che=>{"use strict";Object.defineProperty(che,"__esModule",{value:!0});che.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("LRANGE"),e.pushKey(t),e.push(r.toString(),n.toString())},transformReply:void 0}});var Wat=S(uhe=>{"use strict";Object.defineProperty(uhe,"__esModule",{value:!0});uhe.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("LREM"),e.pushKey(t),e.push(r.toString()),e.push(n)},transformReply:void 0}});var Xat=S(lhe=>{"use strict";Object.defineProperty(lhe,"__esModule",{value:!0});lhe.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("LSET"),e.pushKey(t),e.push(r.toString(),n)},transformReply:void 0}});var Jat=S(dhe=>{"use strict";Object.defineProperty(dhe,"__esModule",{value:!0});dhe.default={parseCommand(e,t,r,n){e.push("LTRIM"),e.pushKey(t),e.push(r.toString(),n.toString())},transformReply:void 0}});var Zat=S(fhe=>{"use strict";Object.defineProperty(fhe,"__esModule",{value:!0});fhe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("MEMORY","DOCTOR")},transformReply:void 0}});var eot=S(hhe=>{"use strict";Object.defineProperty(hhe,"__esModule",{value:!0});hhe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("MEMORY","MALLOC-STATS")},transformReply:void 0}});var tot=S(phe=>{"use strict";Object.defineProperty(phe,"__esModule",{value:!0});phe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(e){e.push("MEMORY","PURGE")},transformReply:void 0}});var rot=S(mhe=>{"use strict";Object.defineProperty(mhe,"__esModule",{value:!0});var V5r=Ge();mhe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("MEMORY","STATS")},transformReply:{2:(e,t,r)=>{let n={},s=0;for(;s{"use strict";Object.defineProperty(ghe,"__esModule",{value:!0});ghe.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("MEMORY","USAGE"),e.pushKey(t),r?.SAMPLES&&e.push("SAMPLES",r.SAMPLES.toString())},transformReply:void 0}});var sot=S(_he=>{"use strict";Object.defineProperty(_he,"__esModule",{value:!0});_he.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("MGET"),e.pushKeys(t)},transformReply:void 0}});var iot=S(Ahe=>{"use strict";Object.defineProperty(Ahe,"__esModule",{value:!0});Ahe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,s,i,a){e.push("MIGRATE",t,r.toString());let o=Array.isArray(n);o?e.push(""):e.push(n),e.push(s.toString(),i.toString()),a?.COPY&&e.push("COPY"),a?.REPLACE&&e.push("REPLACE"),a?.AUTH&&(a.AUTH.username?e.push("AUTH2",a.AUTH.username,a.AUTH.password):e.push("AUTH",a.AUTH.password)),o&&(e.push("KEYS"),e.pushVariadic(n))},transformReply:void 0}});var aot=S(Ehe=>{"use strict";Object.defineProperty(Ehe,"__esModule",{value:!0});Ehe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("MODULE","LIST")},transformReply:{2:e=>e.map(t=>{let r=t;return{name:r[1],ver:r[3]}}),3:void 0}}});var oot=S(yhe=>{"use strict";Object.defineProperty(yhe,"__esModule",{value:!0});yhe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("MODULE","LOAD",t),r&&e.push(...r)},transformReply:void 0}});var cot=S(vhe=>{"use strict";Object.defineProperty(vhe,"__esModule",{value:!0});vhe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("MODULE","UNLOAD",t)},transformReply:void 0}});var uot=S(She=>{"use strict";Object.defineProperty(She,"__esModule",{value:!0});She.default={parseCommand(e,t,r){e.push("MOVE"),e.pushKey(t),e.push(r.toString())},transformReply:void 0}});var The=S(HP=>{"use strict";Object.defineProperty(HP,"__esModule",{value:!0});HP.parseMSetArguments=void 0;function lot(e,t){if(Array.isArray(t)){if(t.length==0)throw new Error("empty toSet Argument");if(Array.isArray(t[0]))for(let r of t)e.pushKey(r[0]),e.push(r[1]);else{let r=t;for(let n=0;n{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.parseMSetExArguments=fo.ExpirationMode=fo.SetMode=void 0;var dot=Ge();fo.SetMode={XX:"XX",NX:"NX"};fo.ExpirationMode={EX:"EX",PX:"PX",EXAT:"EXAT",PXAT:"PXAT",KEEPTTL:"KEEPTTL"};function fot(e,t){let r=[];if(Array.isArray(t)){if(t.length==0)throw new Error("empty keyValuePairs Argument");if(Array.isArray(t[0]))r=t;else{let n=t;for(let s=0;s{"use strict";Object.defineProperty(bhe,"__esModule",{value:!0});var j5r=The();bhe.default={IS_READ_ONLY:!0,parseCommand(e,t){return e.push("MSETNX"),(0,j5r.parseMSetArguments)(e,t)},transformReply:void 0}});var mot=S(Ihe=>{"use strict";Object.defineProperty(Ihe,"__esModule",{value:!0});Ihe.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("OBJECT","ENCODING"),e.pushKey(t)},transformReply:void 0}});var got=S(Rhe=>{"use strict";Object.defineProperty(Rhe,"__esModule",{value:!0});Rhe.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("OBJECT","FREQ"),e.pushKey(t)},transformReply:void 0}});var _ot=S(Che=>{"use strict";Object.defineProperty(Che,"__esModule",{value:!0});Che.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("OBJECT","IDLETIME"),e.pushKey(t)},transformReply:void 0}});var Aot=S(xhe=>{"use strict";Object.defineProperty(xhe,"__esModule",{value:!0});xhe.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("OBJECT","REFCOUNT"),e.pushKey(t)},transformReply:void 0}});var Eot=S(whe=>{"use strict";Object.defineProperty(whe,"__esModule",{value:!0});whe.default={parseCommand(e,t){e.push("PERSIST"),e.pushKey(t)},transformReply:void 0}});var yot=S(Nhe=>{"use strict";Object.defineProperty(Nhe,"__esModule",{value:!0});Nhe.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("PEXPIRE"),e.pushKey(t),e.push(r.toString()),n&&e.push(n)},transformReply:void 0}});var vot=S(Ohe=>{"use strict";Object.defineProperty(Ohe,"__esModule",{value:!0});var K5r=Ge();Ohe.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("PEXPIREAT"),e.pushKey(t),e.push((0,K5r.transformPXAT)(r)),n&&e.push(n)},transformReply:void 0}});var Sot=S(Dhe=>{"use strict";Object.defineProperty(Dhe,"__esModule",{value:!0});Dhe.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("PEXPIRETIME"),e.pushKey(t)},transformReply:void 0}});var Tot=S(Phe=>{"use strict";Object.defineProperty(Phe,"__esModule",{value:!0});Phe.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("PFADD"),e.pushKey(t),r&&e.pushVariadic(r)},transformReply:void 0}});var bot=S(Lhe=>{"use strict";Object.defineProperty(Lhe,"__esModule",{value:!0});Lhe.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("PFCOUNT"),e.pushKeys(t)},transformReply:void 0}});var Iot=S(Mhe=>{"use strict";Object.defineProperty(Mhe,"__esModule",{value:!0});Mhe.default={parseCommand(e,t,r){e.push("PFMERGE"),e.pushKey(t),r&&e.pushKeys(r)},transformReply:void 0}});var Rot=S(khe=>{"use strict";Object.defineProperty(khe,"__esModule",{value:!0});khe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("PING"),t&&e.push(t)},transformReply:void 0}});var Cot=S(Bhe=>{"use strict";Object.defineProperty(Bhe,"__esModule",{value:!0});Bhe.default={parseCommand(e,t,r,n){e.push("PSETEX"),e.pushKey(t),e.push(r.toString(),n)},transformReply:void 0}});var xot=S(Uhe=>{"use strict";Object.defineProperty(Uhe,"__esModule",{value:!0});Uhe.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("PTTL"),e.pushKey(t)},transformReply:void 0}});var wot=S(Fhe=>{"use strict";Object.defineProperty(Fhe,"__esModule",{value:!0});Fhe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,IS_FORWARD_COMMAND:!0,parseCommand(e,t,r){e.push("PUBLISH",t,r)},transformReply:void 0}});var Not=S($he=>{"use strict";Object.defineProperty($he,"__esModule",{value:!0});$he.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("PUBSUB","CHANNELS"),t&&e.push(t)},transformReply:void 0}});var Oot=S(qhe=>{"use strict";Object.defineProperty(qhe,"__esModule",{value:!0});qhe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("PUBSUB","NUMPAT")},transformReply:void 0}});var Dot=S(Hhe=>{"use strict";Object.defineProperty(Hhe,"__esModule",{value:!0});Hhe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("PUBSUB","NUMSUB"),t&&e.pushVariadic(t)},transformReply(e){let t=Object.create(null),r=0;for(;r{"use strict";Object.defineProperty(Vhe,"__esModule",{value:!0});Vhe.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("PUBSUB","SHARDNUMSUB"),t&&e.pushVariadic(t)},transformReply(e){let t=Object.create(null);for(let r=0;r{"use strict";Object.defineProperty(jhe,"__esModule",{value:!0});jhe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("PUBSUB","SHARDCHANNELS"),t&&e.push(t)},transformReply:void 0}});var Mot=S(Khe=>{"use strict";Object.defineProperty(Khe,"__esModule",{value:!0});Khe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("RANDOMKEY")},transformReply:void 0}});var kot=S(Ghe=>{"use strict";Object.defineProperty(Ghe,"__esModule",{value:!0});Ghe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("READONLY")},transformReply:void 0}});var Bot=S(Yhe=>{"use strict";Object.defineProperty(Yhe,"__esModule",{value:!0});Yhe.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("RENAME"),e.pushKeys([t,r])},transformReply:void 0}});var Uot=S(Qhe=>{"use strict";Object.defineProperty(Qhe,"__esModule",{value:!0});Qhe.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("RENAMENX"),e.pushKeys([t,r])},transformReply:void 0}});var Fot=S(zhe=>{"use strict";Object.defineProperty(zhe,"__esModule",{value:!0});zhe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("REPLICAOF",t,r.toString())},transformReply:void 0}});var $ot=S(Whe=>{"use strict";Object.defineProperty(Whe,"__esModule",{value:!0});Whe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("RESTORE-ASKING")},transformReply:void 0}});var qot=S(Xhe=>{"use strict";Object.defineProperty(Xhe,"__esModule",{value:!0});Xhe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,s){e.push("RESTORE"),e.pushKey(t),e.push(r.toString(),n),s?.REPLACE&&e.push("REPLACE"),s?.ABSTTL&&e.push("ABSTTL"),s?.IDLETIME&&e.push("IDLETIME",s.IDLETIME.toString()),s?.FREQ&&e.push("FREQ",s.FREQ.toString())},transformReply:void 0}});var Hot=S(Jhe=>{"use strict";Object.defineProperty(Jhe,"__esModule",{value:!0});Jhe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("ROLE")},transformReply(e){switch(e[0]){case"master":{let[t,r,n]=e;return{role:t,replicationOffest:r,replicas:n.map(s=>{let[i,a,o]=s;return{host:i,port:Number(a),replicationOffest:Number(o)}})}}case"slave":{let[t,r,n,s,i]=e;return{role:t,master:{host:r,port:n},state:s,dataReceived:i}}case"sentinel":{let[t,r]=e;return{role:t,masterNames:r}}}}}});var Vot=S(Zhe=>{"use strict";Object.defineProperty(Zhe,"__esModule",{value:!0});Zhe.default={parseCommand(e,t,r){e.push("RPOP"),e.pushKey(t),e.push(r.toString())},transformReply:void 0}});var jot=S(epe=>{"use strict";Object.defineProperty(epe,"__esModule",{value:!0});epe.default={parseCommand(e,t){e.push("RPOP"),e.pushKey(t)},transformReply:void 0}});var Kot=S(tpe=>{"use strict";Object.defineProperty(tpe,"__esModule",{value:!0});tpe.default={parseCommand(e,t,r){e.push("RPOPLPUSH"),e.pushKeys([t,r])},transformReply:void 0}});var Got=S(rpe=>{"use strict";Object.defineProperty(rpe,"__esModule",{value:!0});rpe.default={parseCommand(e,t,r){e.push("RPUSH"),e.pushKey(t),e.pushVariadic(r)},transformReply:void 0}});var Yot=S(npe=>{"use strict";Object.defineProperty(npe,"__esModule",{value:!0});npe.default={parseCommand(e,t,r){e.push("RPUSHX"),e.pushKey(t),e.pushVariadic(r)},transformReply:void 0}});var Qot=S(spe=>{"use strict";Object.defineProperty(spe,"__esModule",{value:!0});spe.default={parseCommand(e,t,r){e.push("SADD"),e.pushKey(t),e.pushVariadic(r)},transformReply:void 0}});var zot=S(ipe=>{"use strict";Object.defineProperty(ipe,"__esModule",{value:!0});ipe.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("SCARD"),e.pushKey(t)},transformReply:void 0}});var Wot=S(ape=>{"use strict";Object.defineProperty(ape,"__esModule",{value:!0});ape.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("SCRIPT","DEBUG",t)},transformReply:void 0}});var Xot=S(ope=>{"use strict";Object.defineProperty(ope,"__esModule",{value:!0});ope.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("SCRIPT","EXISTS"),e.pushVariadic(t)},transformReply:void 0}});var Jot=S(cpe=>{"use strict";Object.defineProperty(cpe,"__esModule",{value:!0});cpe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("SCRIPT","FLUSH"),t&&e.push(t)},transformReply:void 0}});var Zot=S(upe=>{"use strict";Object.defineProperty(upe,"__esModule",{value:!0});upe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("SCRIPT","KILL")},transformReply:void 0}});var ect=S(lpe=>{"use strict";Object.defineProperty(lpe,"__esModule",{value:!0});lpe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("SCRIPT","LOAD",t)},transformReply:void 0}});var tct=S(dpe=>{"use strict";Object.defineProperty(dpe,"__esModule",{value:!0});dpe.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("SDIFF"),e.pushKeys(t)},transformReply:void 0}});var rct=S(fpe=>{"use strict";Object.defineProperty(fpe,"__esModule",{value:!0});fpe.default={parseCommand(e,t,r){e.push("SDIFFSTORE"),e.pushKey(t),e.pushKeys(r)},transformReply:void 0}});var nct=S(hpe=>{"use strict";Object.defineProperty(hpe,"__esModule",{value:!0});hpe.default={parseCommand(e,t,r,n){e.push("SET"),e.pushKey(t),e.push(typeof r=="number"?r.toString():r),n?.expiration?typeof n.expiration=="string"?e.push(n.expiration):n.expiration.type==="KEEPTTL"?e.push("KEEPTTL"):e.push(n.expiration.type,n.expiration.value.toString()):n?.EX!==void 0?e.push("EX",n.EX.toString()):n?.PX!==void 0?e.push("PX",n.PX.toString()):n?.EXAT!==void 0?e.push("EXAT",n.EXAT.toString()):n?.PXAT!==void 0?e.push("PXAT",n.PXAT.toString()):n?.KEEPTTL&&e.push("KEEPTTL"),n?.condition?(e.push(n.condition),n?.matchValue!==void 0&&e.push(n.matchValue)):n?.NX?e.push("NX"):n?.XX&&e.push("XX"),n?.GET&&e.push("GET")},transformReply:void 0}});var sct=S(ppe=>{"use strict";Object.defineProperty(ppe,"__esModule",{value:!0});ppe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("SETBIT"),e.pushKey(t),e.push(r.toString(),n.toString())},transformReply:void 0}});var ict=S(mpe=>{"use strict";Object.defineProperty(mpe,"__esModule",{value:!0});mpe.default={parseCommand(e,t,r,n){e.push("SETEX"),e.pushKey(t),e.push(r.toString(),n)},transformReply:void 0}});var act=S(gpe=>{"use strict";Object.defineProperty(gpe,"__esModule",{value:!0});gpe.default={parseCommand(e,t,r){e.push("SETNX"),e.pushKey(t),e.push(r)},transformReply:void 0}});var oct=S(_pe=>{"use strict";Object.defineProperty(_pe,"__esModule",{value:!0});_pe.default={parseCommand(e,t,r,n){e.push("SETRANGE"),e.pushKey(t),e.push(r.toString(),n)},transformReply:void 0}});var cct=S(Ape=>{"use strict";Object.defineProperty(Ape,"__esModule",{value:!0});Ape.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("SINTER"),e.pushKeys(t)},transformReply:void 0}});var uct=S(Epe=>{"use strict";Object.defineProperty(Epe,"__esModule",{value:!0});Epe.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("SINTERCARD"),e.pushKeysLength(t),typeof r=="number"?e.push("LIMIT",r.toString()):r?.LIMIT!==void 0&&e.push("LIMIT",r.LIMIT.toString())},transformReply:void 0}});var lct=S(ype=>{"use strict";Object.defineProperty(ype,"__esModule",{value:!0});ype.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("SINTERSTORE"),e.pushKey(t),e.pushKeys(r)},transformReply:void 0}});var dct=S(vpe=>{"use strict";Object.defineProperty(vpe,"__esModule",{value:!0});vpe.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("SISMEMBER"),e.pushKey(t),e.push(r)},transformReply:void 0}});var fct=S(Spe=>{"use strict";Object.defineProperty(Spe,"__esModule",{value:!0});Spe.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("SMEMBERS"),e.pushKey(t)},transformReply:{2:void 0,3:void 0}}});var hct=S(Tpe=>{"use strict";Object.defineProperty(Tpe,"__esModule",{value:!0});Tpe.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("SMISMEMBER"),e.pushKey(t),e.pushVariadic(r)},transformReply:void 0}});var pct=S(bpe=>{"use strict";Object.defineProperty(bpe,"__esModule",{value:!0});bpe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("SMOVE"),e.pushKeys([t,r]),e.push(n)},transformReply:void 0}});var Q$=S(VP=>{"use strict";Object.defineProperty(VP,"__esModule",{value:!0});VP.parseSortArguments=void 0;function mct(e,t,r){if(e.pushKey(t),r?.BY&&e.push("BY",r.BY),r?.LIMIT&&e.push("LIMIT",r.LIMIT.offset.toString(),r.LIMIT.count.toString()),r?.GET)if(Array.isArray(r.GET))for(let n of r.GET)e.push("GET",n);else e.push("GET",r.GET);r?.DIRECTION&&e.push(r.DIRECTION),r?.ALPHA&&e.push("ALPHA")}VP.parseSortArguments=mct;VP.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("SORT"),mct(e,t,r)},transformReply:void 0}});var _ct=S(Fm=>{"use strict";var G5r=Fm&&Fm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Y5r=Fm&&Fm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Q5r=Fm&&Fm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&G5r(t,e,r);return Y5r(t,e),t};Object.defineProperty(Fm,"__esModule",{value:!0});var gct=Q5r(Q$());Fm.default={IS_READ_ONLY:!0,parseCommand(...e){e[0].push("SORT_RO"),(0,gct.parseSortArguments)(...e)},transformReply:gct.default.transformReply}});var Act=S(jP=>{"use strict";var z5r=jP&&jP.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(jP,"__esModule",{value:!0});var W5r=z5r(Q$());jP.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){W5r.default.parseCommand(e,t,n),e.push("STORE",r)},transformReply:void 0}});var Ect=S(Ipe=>{"use strict";Object.defineProperty(Ipe,"__esModule",{value:!0});Ipe.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("SPOP"),e.pushKey(t),e.push(r.toString())},transformReply:void 0}});var yct=S(Rpe=>{"use strict";Object.defineProperty(Rpe,"__esModule",{value:!0});Rpe.default={IS_READ_ONLY:!1,parseCommand(e,t){e.push("SPOP"),e.pushKey(t)},transformReply:void 0}});var vct=S(Cpe=>{"use strict";Object.defineProperty(Cpe,"__esModule",{value:!0});Cpe.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("SPUBLISH"),e.pushKey(t),e.push(r)},transformReply:void 0}});var wpe=S(xpe=>{"use strict";Object.defineProperty(xpe,"__esModule",{value:!0});xpe.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("SRANDMEMBER"),e.pushKey(t)},transformReply:void 0}});var Tct=S(KP=>{"use strict";var X5r=KP&&KP.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(KP,"__esModule",{value:!0});var Sct=X5r(wpe());KP.default={IS_READ_ONLY:Sct.default.IS_READ_ONLY,parseCommand(e,t,r){Sct.default.parseCommand(e,t),e.push(r.toString())},transformReply:void 0}});var bct=S(Npe=>{"use strict";Object.defineProperty(Npe,"__esModule",{value:!0});Npe.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("SREM"),e.pushKey(t),e.pushVariadic(r)},transformReply:void 0}});var Ict=S(Ope=>{"use strict";Object.defineProperty(Ope,"__esModule",{value:!0});var J5r=OP();Ope.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("SSCAN"),e.pushKey(t),(0,J5r.parseScanArguments)(e,r,n)},transformReply([e,t]){return{cursor:e,members:t}}}});var Rct=S(Dpe=>{"use strict";Object.defineProperty(Dpe,"__esModule",{value:!0});Dpe.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("STRLEN"),e.pushKey(t)},transformReply:void 0}});var Cct=S(Ppe=>{"use strict";Object.defineProperty(Ppe,"__esModule",{value:!0});Ppe.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("SUNION"),e.pushKeys(t)},transformReply:void 0}});var xct=S(Lpe=>{"use strict";Object.defineProperty(Lpe,"__esModule",{value:!0});Lpe.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("SUNIONSTORE"),e.pushKey(t),e.pushKeys(r)},transformReply:void 0}});var wct=S(Mpe=>{"use strict";Object.defineProperty(Mpe,"__esModule",{value:!0});Mpe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("SWAPDB",t.toString(),r.toString())},transformReply:void 0}});var Nct=S(kpe=>{"use strict";Object.defineProperty(kpe,"__esModule",{value:!0});kpe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("TIME")},transformReply:void 0}});var Oct=S(Bpe=>{"use strict";Object.defineProperty(Bpe,"__esModule",{value:!0});Bpe.default={IS_READ_ONLY:!1,parseCommand(e,t){e.push("TOUCH"),e.pushKeys(t)},transformReply:void 0}});var Dct=S(Upe=>{"use strict";Object.defineProperty(Upe,"__esModule",{value:!0});Upe.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("TTL"),e.pushKey(t)},transformReply:void 0}});var Pct=S(Fpe=>{"use strict";Object.defineProperty(Fpe,"__esModule",{value:!0});Fpe.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("TYPE"),e.pushKey(t)},transformReply:void 0}});var Lct=S($pe=>{"use strict";Object.defineProperty($pe,"__esModule",{value:!0});$pe.default={IS_READ_ONLY:!1,parseCommand(e,t){e.push("UNLINK"),e.pushKeys(t)},transformReply:void 0}});var Mct=S(qpe=>{"use strict";Object.defineProperty(qpe,"__esModule",{value:!0});qpe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("WAIT",t.toString(),r.toString())},transformReply:void 0}});var kct=S(Hpe=>{"use strict";Object.defineProperty(Hpe,"__esModule",{value:!0});Hpe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("XACK"),e.pushKey(t),e.push(r),e.pushVariadic(n)},transformReply:void 0}});var Bct=S(Vpe=>{"use strict";Object.defineProperty(Vpe,"__esModule",{value:!0});Vpe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,s){e.push("XACKDEL"),e.pushKey(t),e.push(r),s&&e.push(s),e.push("IDS"),e.pushVariadicWithLength(n)},transformReply:void 0}});var jpe=S(GP=>{"use strict";Object.defineProperty(GP,"__esModule",{value:!0});GP.parseXAddArguments=void 0;function Uct(e,t,r,n,s,i){t.push("XADD"),t.pushKey(r),e&&t.push(e),i?.policy&&t.push(i.policy),i?.IDMPAUTO?t.push("IDMPAUTO",i.IDMPAUTO.pid):i?.IDMP&&t.push("IDMP",i.IDMP.pid,i.IDMP.iid),i?.TRIM&&(i.TRIM.strategy&&t.push(i.TRIM.strategy),i.TRIM.strategyModifier&&t.push(i.TRIM.strategyModifier),t.push(i.TRIM.threshold.toString()),i.TRIM.limit&&t.push("LIMIT",i.TRIM.limit.toString()),i.TRIM.policy&&t.push(i.TRIM.policy)),t.push(n);for(let[a,o]of Object.entries(s))t.push(a,o)}GP.parseXAddArguments=Uct;GP.default={IS_READ_ONLY:!1,parseCommand(...e){return Uct(void 0,...e)},transformReply:void 0}});var Fct=S(Kpe=>{"use strict";Object.defineProperty(Kpe,"__esModule",{value:!0});var Z5r=jpe();Kpe.default={IS_READ_ONLY:!1,parseCommand(...e){return(0,Z5r.parseXAddArguments)("NOMKSTREAM",...e)},transformReply:void 0}});var Ype=S(Gpe=>{"use strict";Object.defineProperty(Gpe,"__esModule",{value:!0});var e$r=Ge();Gpe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,s,i,a){e.push("XAUTOCLAIM"),e.pushKey(t),e.push(r,n,s.toString(),i),a?.COUNT&&e.push("COUNT",a.COUNT.toString())},transformReply(e,t,r){return{nextId:e[0],messages:e[1].map(e$r.transformStreamMessageNullReply.bind(void 0,r)),deletedMessages:e[2]}}}});var qct=S(YP=>{"use strict";var t$r=YP&&YP.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(YP,"__esModule",{value:!0});var $ct=t$r(Ype());YP.default={IS_READ_ONLY:$ct.default.IS_READ_ONLY,parseCommand(...e){let t=e[0];$ct.default.parseCommand(...e),t.push("JUSTID")},transformReply(e){return{nextId:e[0],messages:e[1],deletedMessages:e[2]}}}});var zpe=S(Qpe=>{"use strict";Object.defineProperty(Qpe,"__esModule",{value:!0});var r$r=Ge();Qpe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,s,i,a){e.push("XCLAIM"),e.pushKey(t),e.push(r,n,s.toString()),e.pushVariadic(i),a?.IDLE!==void 0&&e.push("IDLE",a.IDLE.toString()),a?.TIME!==void 0&&e.push("TIME",(a.TIME instanceof Date?a.TIME.getTime():a.TIME).toString()),a?.RETRYCOUNT!==void 0&&e.push("RETRYCOUNT",a.RETRYCOUNT.toString()),a?.FORCE&&e.push("FORCE"),a?.LASTID!==void 0&&e.push("LASTID",a.LASTID)},transformReply(e,t,r){return e.map(r$r.transformStreamMessageNullReply.bind(void 0,r))}}});var Vct=S(QP=>{"use strict";var n$r=QP&&QP.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(QP,"__esModule",{value:!0});var Hct=n$r(zpe());QP.default={IS_READ_ONLY:Hct.default.IS_READ_ONLY,parseCommand(...e){let t=e[0];Hct.default.parseCommand(...e),t.push("JUSTID")},transformReply:void 0}});var jct=S(Wpe=>{"use strict";Object.defineProperty(Wpe,"__esModule",{value:!0});Wpe.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("XCFGSET"),e.pushKey(t),r?.IDMP_DURATION!==void 0&&e.push("IDMP-DURATION",r.IDMP_DURATION.toString()),r?.IDMP_MAXSIZE!==void 0&&e.push("IDMP-MAXSIZE",r.IDMP_MAXSIZE.toString())},transformReply:void 0}});var Kct=S(Xpe=>{"use strict";Object.defineProperty(Xpe,"__esModule",{value:!0});Xpe.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("XDEL"),e.pushKey(t),e.pushVariadic(r)},transformReply:void 0}});var Gct=S(Jpe=>{"use strict";Object.defineProperty(Jpe,"__esModule",{value:!0});Jpe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("XDELEX"),e.pushKey(t),n&&e.push(n),e.push("IDS"),e.pushVariadicWithLength(r)},transformReply:void 0}});var Yct=S(Zpe=>{"use strict";Object.defineProperty(Zpe,"__esModule",{value:!0});Zpe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,s){e.push("XGROUP","CREATE"),e.pushKey(t),e.push(r,n),s?.MKSTREAM&&e.push("MKSTREAM"),s?.ENTRIESREAD&&e.push("ENTRIESREAD",s.ENTRIESREAD.toString())},transformReply:void 0}});var Qct=S(eme=>{"use strict";Object.defineProperty(eme,"__esModule",{value:!0});eme.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("XGROUP","CREATECONSUMER"),e.pushKey(t),e.push(r,n)},transformReply:void 0}});var zct=S(tme=>{"use strict";Object.defineProperty(tme,"__esModule",{value:!0});tme.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("XGROUP","DELCONSUMER"),e.pushKey(t),e.push(r,n)},transformReply:void 0}});var Wct=S(rme=>{"use strict";Object.defineProperty(rme,"__esModule",{value:!0});rme.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("XGROUP","DESTROY"),e.pushKey(t),e.push(r)},transformReply:void 0}});var Xct=S(nme=>{"use strict";Object.defineProperty(nme,"__esModule",{value:!0});nme.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,s){e.push("XGROUP","SETID"),e.pushKey(t),e.push(r,n),s?.ENTRIESREAD&&e.push("ENTRIESREAD",s.ENTRIESREAD.toString())},transformReply:void 0}});var Jct=S(sme=>{"use strict";Object.defineProperty(sme,"__esModule",{value:!0});sme.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("XINFO","CONSUMERS"),e.pushKey(t),e.push(r)},transformReply:{2:e=>e.map(t=>{let r=t;return{name:r[1],pending:r[3],idle:r[5],inactive:r[7]}}),3:void 0}}});var Zct=S(ime=>{"use strict";Object.defineProperty(ime,"__esModule",{value:!0});ime.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("XINFO","GROUPS"),e.pushKey(t)},transformReply:{2:e=>e.map(t=>{let r=t;return{name:r[1],consumers:r[3],pending:r[5],"last-delivered-id":r[7],"entries-read":r[9],lag:r[11]}}),3:void 0}}});var tut=S(ame=>{"use strict";Object.defineProperty(ame,"__esModule",{value:!0});var eut=Ge();ame.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("XINFO","STREAM"),e.pushKey(t)},transformReply:{2(e){let t={};for(let r=0;r{"use strict";Object.defineProperty(ome,"__esModule",{value:!0});ome.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("XLEN"),e.pushKey(t)},transformReply:void 0}});var nut=S(cme=>{"use strict";Object.defineProperty(cme,"__esModule",{value:!0});cme.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n,s,i,a){e.push("XPENDING"),e.pushKey(t),e.push(r),a?.IDLE!==void 0&&e.push("IDLE",a.IDLE.toString()),e.push(n,s,i.toString()),a?.consumer&&e.push(a.consumer)},transformReply(e){return e.map(t=>{let r=t;return{id:r[0],consumer:r[1],millisecondsSinceLastDelivery:r[2],deliveriesCounter:r[3]}})}}});var sut=S(ume=>{"use strict";Object.defineProperty(ume,"__esModule",{value:!0});ume.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("XPENDING"),e.pushKey(t),e.push(r)},transformReply(e){let t=e[3];return{pending:e[0],firstId:e[1],lastId:e[2],consumers:t===null?null:t.map(r=>{let[n,s]=r;return{name:n,deliveriesCounter:Number(s)}})}}}});var lme=S(zP=>{"use strict";Object.defineProperty(zP,"__esModule",{value:!0});zP.xRangeArguments=void 0;var s$r=Ge();function iut(e,t,r){let n=[e,t];return r?.COUNT&&n.push("COUNT",r.COUNT.toString()),n}zP.xRangeArguments=iut;zP.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,...r){e.push("XRANGE"),e.pushKey(t),e.pushVariadic(iut(r[0],r[1],r[2]))},transformReply(e,t,r){return e.map(s$r.transformStreamMessageReply.bind(void 0,r))}}});var dme=S(WP=>{"use strict";Object.defineProperty(WP,"__esModule",{value:!0});WP.pushXReadStreams=void 0;var i$r=Ge();function aut(e,t){if(e.push("STREAMS"),Array.isArray(t)){for(let r=0;r{"use strict";Object.defineProperty(fme,"__esModule",{value:!0});var a$r=dme(),o$r=Ge();fme.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n,s){e.push("XREADGROUP","GROUP",t,r),s?.COUNT!==void 0&&e.push("COUNT",s.COUNT.toString()),s?.BLOCK!==void 0&&e.push("BLOCK",s.BLOCK.toString()),s?.NOACK&&e.push("NOACK"),s?.CLAIM!==void 0&&e.push("CLAIM",s.CLAIM.toString()),(0,a$r.pushXReadStreams)(e,n)},transformReply:{2:o$r.transformStreamsMessagesReplyResp2,3:void 0}}});var cut=S($m=>{"use strict";var c$r=$m&&$m.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),u$r=$m&&$m.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),l$r=$m&&$m.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&c$r(t,e,r);return u$r(t,e),t};Object.defineProperty($m,"__esModule",{value:!0});var z$=l$r(lme());$m.default={CACHEABLE:z$.default.CACHEABLE,IS_READ_ONLY:z$.default.IS_READ_ONLY,parseCommand(e,t,...r){e.push("XREVRANGE"),e.pushKey(t),e.pushVariadic((0,z$.xRangeArguments)(r[0],r[1],r[2]))},transformReply:z$.default.transformReply}});var uut=S(hme=>{"use strict";Object.defineProperty(hme,"__esModule",{value:!0});hme.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("XSETID"),e.pushKey(t),e.push(r),n?.ENTRIESADDED&&e.push("ENTRIESADDED",n.ENTRIESADDED.toString()),n?.MAXDELETEDID&&e.push("MAXDELETEDID",n.MAXDELETEDID)},transformReply:void 0}});var lut=S(pme=>{"use strict";Object.defineProperty(pme,"__esModule",{value:!0});pme.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,s){e.push("XTRIM"),e.pushKey(t),e.push(r),s?.strategyModifier&&e.push(s.strategyModifier),e.push(n.toString()),s?.LIMIT&&e.push("LIMIT",s.LIMIT.toString()),s?.policy&&e.push(s.policy)},transformReply:void 0}});var mme=S(XP=>{"use strict";Object.defineProperty(XP,"__esModule",{value:!0});XP.pushMembers=void 0;var fut=Ge();XP.default={parseCommand(e,t,r,n){e.push("ZADD"),e.pushKey(t),n?.condition?e.push(n.condition):n?.NX?e.push("NX"):n?.XX&&e.push("XX"),n?.comparison?e.push(n.comparison):n?.LT?e.push("LT"):n?.GT&&e.push("GT"),n?.CH&&e.push("CH"),hut(e,r)},transformReply:fut.transformDoubleReply};function hut(e,t){if(Array.isArray(t))for(let r of t)dut(e,r);else dut(e,t)}XP.pushMembers=hut;function dut(e,t){e.push((0,fut.transformDoubleArgument)(t.score),t.value)}});var put=S(gme=>{"use strict";Object.defineProperty(gme,"__esModule",{value:!0});var d$r=mme(),f$r=Ge();gme.default={parseCommand(e,t,r,n){e.push("ZADD"),e.pushKey(t),n?.condition&&e.push(n.condition),n?.comparison&&e.push(n.comparison),n?.CH&&e.push("CH"),e.push("INCR"),(0,d$r.pushMembers)(e,r)},transformReply:f$r.transformNullableDoubleReply}});var mut=S(_me=>{"use strict";Object.defineProperty(_me,"__esModule",{value:!0});_me.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("ZCARD"),e.pushKey(t)},transformReply:void 0}});var _ut=S(Ame=>{"use strict";Object.defineProperty(Ame,"__esModule",{value:!0});var gut=Ge();Ame.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("ZCOUNT"),e.pushKey(t),e.push((0,gut.transformStringDoubleArgument)(r),(0,gut.transformStringDoubleArgument)(n))},transformReply:void 0}});var yme=S(Eme=>{"use strict";Object.defineProperty(Eme,"__esModule",{value:!0});Eme.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("ZDIFF"),e.pushKeysLength(t)},transformReply:void 0}});var Eut=S(JP=>{"use strict";var h$r=JP&&JP.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(JP,"__esModule",{value:!0});var p$r=Ge(),Aut=h$r(yme());JP.default={IS_READ_ONLY:Aut.default.IS_READ_ONLY,parseCommand(e,t){Aut.default.parseCommand(e,t),e.push("WITHSCORES")},transformReply:p$r.transformSortedSetReply}});var yut=S(vme=>{"use strict";Object.defineProperty(vme,"__esModule",{value:!0});vme.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("ZDIFFSTORE"),e.pushKey(t),e.pushKeysLength(r)},transformReply:void 0}});var Sut=S(Sme=>{"use strict";Object.defineProperty(Sme,"__esModule",{value:!0});var vut=Ge();Sme.default={parseCommand(e,t,r,n){e.push("ZINCRBY"),e.pushKey(t),e.push((0,vut.transformDoubleArgument)(r),n)},transformReply:vut.transformDoubleReply}});var W$=S(ZP=>{"use strict";Object.defineProperty(ZP,"__esModule",{value:!0});ZP.parseZInterArguments=void 0;var m$r=Ge();function Tut(e,t,r){(0,m$r.parseZKeysArguments)(e,t),r?.AGGREGATE&&e.push("AGGREGATE",r.AGGREGATE)}ZP.parseZInterArguments=Tut;ZP.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("ZINTER"),Tut(e,t,r)},transformReply:void 0}});var Iut=S(eL=>{"use strict";var g$r=eL&&eL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(eL,"__esModule",{value:!0});var _$r=Ge(),but=g$r(W$());eL.default={IS_READ_ONLY:but.default.IS_READ_ONLY,parseCommand(...e){but.default.parseCommand(...e),e[0].push("WITHSCORES")},transformReply:_$r.transformSortedSetReply}});var Rut=S(Tme=>{"use strict";Object.defineProperty(Tme,"__esModule",{value:!0});Tme.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("ZINTERCARD"),e.pushKeysLength(t),typeof r=="number"?e.push("LIMIT",r.toString()):r?.LIMIT&&e.push("LIMIT",r.LIMIT.toString())},transformReply:void 0}});var Cut=S(bme=>{"use strict";Object.defineProperty(bme,"__esModule",{value:!0});var A$r=W$();bme.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("ZINTERSTORE"),e.pushKey(t),(0,A$r.parseZInterArguments)(e,r,n)},transformReply:void 0}});var xut=S(Ime=>{"use strict";Object.defineProperty(Ime,"__esModule",{value:!0});Ime.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("ZLEXCOUNT"),e.pushKey(t),e.push(r),e.push(n)},transformReply:void 0}});var wut=S(Rme=>{"use strict";Object.defineProperty(Rme,"__esModule",{value:!0});var E$r=Ge();Rme.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("ZMSCORE"),e.pushKey(t),e.pushVariadic(r)},transformReply:{2:(e,t,r)=>e.map((0,E$r.createTransformNullableDoubleReplyResp2Func)(t,r)),3:void 0}}});var Nut=S(Cme=>{"use strict";Object.defineProperty(Cme,"__esModule",{value:!0});var y$r=Ge();Cme.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("ZPOPMAX"),e.pushKey(t),e.push(r.toString())},transformReply:y$r.transformSortedSetReply}});var wme=S(xme=>{"use strict";Object.defineProperty(xme,"__esModule",{value:!0});var v$r=Ge();xme.default={IS_READ_ONLY:!1,parseCommand(e,t){e.push("ZPOPMAX"),e.pushKey(t)},transformReply:{2:(e,t,r)=>e.length===0?null:{value:e[0],score:v$r.transformDoubleReply[2](e[1],t,r)},3:e=>e.length===0?null:{value:e[0],score:e[1]}}}});var Out=S(Nme=>{"use strict";Object.defineProperty(Nme,"__esModule",{value:!0});var S$r=Ge();Nme.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("ZPOPMIN"),e.pushKey(t),e.push(r.toString())},transformReply:S$r.transformSortedSetReply}});var Dut=S(tL=>{"use strict";var T$r=tL&&tL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(tL,"__esModule",{value:!0});var b$r=T$r(wme());tL.default={IS_READ_ONLY:!1,parseCommand(e,t){e.push("ZPOPMIN"),e.pushKey(t)},transformReply:b$r.default.transformReply}});var Dme=S(Ome=>{"use strict";Object.defineProperty(Ome,"__esModule",{value:!0});Ome.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("ZRANDMEMBER"),e.pushKey(t)},transformReply:void 0}});var Pme=S(rL=>{"use strict";var I$r=rL&&rL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(rL,"__esModule",{value:!0});var Put=I$r(Dme());rL.default={IS_READ_ONLY:Put.default.IS_READ_ONLY,parseCommand(e,t,r){Put.default.parseCommand(e,t),e.push(r.toString())},transformReply:void 0}});var Mut=S(nL=>{"use strict";var R$r=nL&&nL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(nL,"__esModule",{value:!0});var C$r=Ge(),Lut=R$r(Pme());nL.default={IS_READ_ONLY:Lut.default.IS_READ_ONLY,parseCommand(e,t,r){Lut.default.parseCommand(e,t,r),e.push("WITHSCORES")},transformReply:C$r.transformSortedSetReply}});var Lme=S(sL=>{"use strict";Object.defineProperty(sL,"__esModule",{value:!0});sL.zRangeArgument=void 0;var kut=Ge();function But(e,t,r){let n=[(0,kut.transformStringDoubleArgument)(e),(0,kut.transformStringDoubleArgument)(t)];switch(r?.BY){case"SCORE":n.push("BYSCORE");break;case"LEX":n.push("BYLEX");break}return r?.REV&&n.push("REV"),r?.LIMIT&&n.push("LIMIT",r.LIMIT.offset.toString(),r.LIMIT.count.toString()),n}sL.zRangeArgument=But;sL.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n,s){e.push("ZRANGE"),e.pushKey(t),e.pushVariadic(But(r,n,s))},transformReply:void 0}});var Uut=S(iL=>{"use strict";var x$r=iL&&iL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(iL,"__esModule",{value:!0});var w$r=Ge(),Mme=x$r(Lme());iL.default={CACHEABLE:Mme.default.CACHEABLE,IS_READ_ONLY:Mme.default.IS_READ_ONLY,parseCommand(...e){let t=e[0];Mme.default.parseCommand(...e),t.push("WITHSCORES")},transformReply:w$r.transformSortedSetReply}});var $ut=S(kme=>{"use strict";Object.defineProperty(kme,"__esModule",{value:!0});var Fut=Ge();kme.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n,s){e.push("ZRANGEBYLEX"),e.pushKey(t),e.push((0,Fut.transformStringDoubleArgument)(r),(0,Fut.transformStringDoubleArgument)(n)),s?.LIMIT&&e.push("LIMIT",s.LIMIT.offset.toString(),s.LIMIT.count.toString())},transformReply:void 0}});var Ume=S(Bme=>{"use strict";Object.defineProperty(Bme,"__esModule",{value:!0});var qut=Ge();Bme.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n,s){e.push("ZRANGEBYSCORE"),e.pushKey(t),e.push((0,qut.transformStringDoubleArgument)(r),(0,qut.transformStringDoubleArgument)(n)),s?.LIMIT&&e.push("LIMIT",s.LIMIT.offset.toString(),s.LIMIT.count.toString())},transformReply:void 0}});var Hut=S(aL=>{"use strict";var N$r=aL&&aL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(aL,"__esModule",{value:!0});var O$r=Ge(),Fme=N$r(Ume());aL.default={CACHEABLE:Fme.default.CACHEABLE,IS_READ_ONLY:Fme.default.IS_READ_ONLY,parseCommand(...e){let t=e[0];Fme.default.parseCommand(...e),t.push("WITHSCORES")},transformReply:O$r.transformSortedSetReply}});var jut=S($me=>{"use strict";Object.defineProperty($me,"__esModule",{value:!0});var Vut=Ge();$me.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,s,i){switch(e.push("ZRANGESTORE"),e.pushKey(t),e.pushKey(r),e.push((0,Vut.transformStringDoubleArgument)(n),(0,Vut.transformStringDoubleArgument)(s)),i?.BY){case"SCORE":e.push("BYSCORE");break;case"LEX":e.push("BYLEX");break}i?.REV&&e.push("REV"),i?.LIMIT&&e.push("LIMIT",i.LIMIT.offset.toString(),i.LIMIT.count.toString())},transformReply:void 0}});var Gut=S(qme=>{"use strict";Object.defineProperty(qme,"__esModule",{value:!0});var Kut=Ge();qme.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("ZREMRANGEBYSCORE"),e.pushKey(t),e.push((0,Kut.transformStringDoubleArgument)(r),(0,Kut.transformStringDoubleArgument)(n))},transformReply:void 0}});var Vme=S(Hme=>{"use strict";Object.defineProperty(Hme,"__esModule",{value:!0});Hme.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("ZRANK"),e.pushKey(t),e.push(r)},transformReply:void 0}});var Yut=S(oL=>{"use strict";var D$r=oL&&oL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(oL,"__esModule",{value:!0});var jme=D$r(Vme());oL.default={CACHEABLE:jme.default.CACHEABLE,IS_READ_ONLY:jme.default.IS_READ_ONLY,parseCommand(...e){let t=e[0];jme.default.parseCommand(...e),t.push("WITHSCORE")},transformReply:{2:e=>e===null?null:{rank:e[0],score:Number(e[1])},3:e=>e===null?null:{rank:e[0],score:e[1]}}}});var Qut=S(Kme=>{"use strict";Object.defineProperty(Kme,"__esModule",{value:!0});Kme.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("ZREM"),e.pushKey(t),e.pushVariadic(r)},transformReply:void 0}});var Wut=S(Gme=>{"use strict";Object.defineProperty(Gme,"__esModule",{value:!0});var zut=Ge();Gme.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("ZREMRANGEBYLEX"),e.pushKey(t),e.push((0,zut.transformStringDoubleArgument)(r),(0,zut.transformStringDoubleArgument)(n))},transformReply:void 0}});var Xut=S(Yme=>{"use strict";Object.defineProperty(Yme,"__esModule",{value:!0});Yme.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("ZREMRANGEBYRANK"),e.pushKey(t),e.push(r.toString(),n.toString())},transformReply:void 0}});var Jut=S(Qme=>{"use strict";Object.defineProperty(Qme,"__esModule",{value:!0});Qme.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("ZREVRANK"),e.pushKey(t),e.push(r)},transformReply:void 0}});var Zut=S(zme=>{"use strict";Object.defineProperty(zme,"__esModule",{value:!0});var P$r=OP(),L$r=Ge();zme.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("ZSCAN"),e.pushKey(t),(0,P$r.parseScanArguments)(e,r,n)},transformReply([e,t]){return{cursor:e,members:L$r.transformSortedSetReply[2](t)}}}});var elt=S(Wme=>{"use strict";Object.defineProperty(Wme,"__esModule",{value:!0});var M$r=Ge();Wme.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("ZSCORE"),e.pushKey(t),e.push(r)},transformReply:M$r.transformNullableDoubleReply}});var Jme=S(Xme=>{"use strict";Object.defineProperty(Xme,"__esModule",{value:!0});var k$r=Ge();Xme.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("ZUNION"),(0,k$r.parseZKeysArguments)(e,t),r?.AGGREGATE&&e.push("AGGREGATE",r.AGGREGATE)},transformReply:void 0}});var rlt=S(cL=>{"use strict";var B$r=cL&&cL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(cL,"__esModule",{value:!0});var U$r=Ge(),tlt=B$r(Jme());cL.default={IS_READ_ONLY:tlt.default.IS_READ_ONLY,parseCommand(...e){let t=e[0];tlt.default.parseCommand(...e),t.push("WITHSCORES")},transformReply:U$r.transformSortedSetReply}});var nlt=S(Zme=>{"use strict";Object.defineProperty(Zme,"__esModule",{value:!0});var F$r=Ge();Zme.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("ZUNIONSTORE"),e.pushKey(t),(0,F$r.parseZKeysArguments)(e,r),n?.AGGREGATE&&e.push("AGGREGATE",n.AGGREGATE)},transformReply:void 0}});var ilt=S(ege=>{"use strict";Object.defineProperty(ege,"__esModule",{value:!0});var slt=Ge();ege.default={parseCommand(e,t,r,n,s){e.push("VADD"),e.pushKey(t),s?.REDUCE!==void 0&&e.push("REDUCE",s.REDUCE.toString()),e.push("VALUES",r.length.toString());for(let i of r)e.push((0,slt.transformDoubleArgument)(i));e.push(n),s?.CAS&&e.push("CAS"),s?.QUANT&&e.push(s.QUANT),s?.EF!==void 0&&e.push("EF",s.EF.toString()),s?.SETATTR&&e.push("SETATTR",JSON.stringify(s.SETATTR)),s?.M!==void 0&&e.push("M",s.M.toString())},transformReply:slt.transformBooleanReply}});var alt=S(tge=>{"use strict";Object.defineProperty(tge,"__esModule",{value:!0});tge.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("VCARD"),e.pushKey(t)},transformReply:void 0}});var olt=S(rge=>{"use strict";Object.defineProperty(rge,"__esModule",{value:!0});rge.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("VDIM"),e.pushKey(t)},transformReply:void 0}});var sge=S(nge=>{"use strict";Object.defineProperty(nge,"__esModule",{value:!0});var $$r=Ge();nge.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("VEMB"),e.pushKey(t),e.push(r)},transformReply:$$r.transformDoubleArrayReply}});var ult=S(uL=>{"use strict";var q$r=uL&&uL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(uL,"__esModule",{value:!0});var clt=Ge(),H$r=q$r(sge()),V$r={2:e=>({quantization:e[0],raw:e[1],l2Norm:clt.transformDoubleReply[2](e[2]),...e[3]!==void 0&&{quantizationRange:clt.transformDoubleReply[2](e[3])}}),3:e=>({quantization:e[0],raw:e[1],l2Norm:e[2],quantizationRange:e[3]})};uL.default={IS_READ_ONLY:!0,parseCommand(e,t,r){H$r.default.parseCommand(e,t,r),e.push("RAW")},transformReply:V$r}});var llt=S(ige=>{"use strict";Object.defineProperty(ige,"__esModule",{value:!0});var j$r=Ge();ige.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("VGETATTR"),e.pushKey(t),e.push(r)},transformReply:j$r.transformRedisJsonNullReply}});var dlt=S(age=>{"use strict";Object.defineProperty(age,"__esModule",{value:!0});age.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("VINFO"),e.pushKey(t)},transformReply:{2:e=>{let t=Object.create(null);for(let r=0;r{"use strict";Object.defineProperty(oge,"__esModule",{value:!0});oge.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("VLINKS"),e.pushKey(t),e.push(r)},transformReply:void 0}});var hlt=S(lL=>{"use strict";var K$r=lL&&lL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(lL,"__esModule",{value:!0});var G$r=Ge(),flt=K$r(cge());function Y$r(e){let t=[];for(let r of e){let n=Object.create(null);for(let s=0;s{"use strict";Object.defineProperty(uge,"__esModule",{value:!0});uge.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("VRANDMEMBER"),e.pushKey(t),r!==void 0&&e.push(r.toString())},transformReply:void 0}});var mlt=S(lge=>{"use strict";Object.defineProperty(lge,"__esModule",{value:!0});lge.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n,s){e.push("VRANGE"),e.pushKey(t),e.push(r,n),s!==void 0&&e.push(s.toString())},transformReply:void 0}});var glt=S(dge=>{"use strict";Object.defineProperty(dge,"__esModule",{value:!0});var Q$r=Ge();dge.default={parseCommand(e,t,r){e.push("VREM"),e.pushKey(t),e.push(r)},transformReply:Q$r.transformBooleanReply}});var _lt=S(fge=>{"use strict";Object.defineProperty(fge,"__esModule",{value:!0});var z$r=Ge();fge.default={parseCommand(e,t,r,n){e.push("VSETATTR"),e.pushKey(t),e.push(r),typeof n=="object"&&n!==null?e.push(JSON.stringify(n)):e.push(n)},transformReply:z$r.transformBooleanReply}});var pge=S(hge=>{"use strict";Object.defineProperty(hge,"__esModule",{value:!0});var W$r=Ge();hge.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n){if(e.push("VSIM"),e.pushKey(t),Array.isArray(r)){e.push("VALUES",r.length.toString());for(let s of r)e.push((0,W$r.transformDoubleArgument)(s))}else e.push("ELE",r);n?.COUNT!==void 0&&e.push("COUNT",n.COUNT.toString()),n?.EPSILON!==void 0&&e.push("EPSILON",n.EPSILON.toString()),n?.EF!==void 0&&e.push("EF",n.EF.toString()),n?.FILTER&&e.push("FILTER",n.FILTER),n?.["FILTER-EF"]!==void 0&&e.push("FILTER-EF",n["FILTER-EF"].toString()),n?.TRUTH&&e.push("TRUTH"),n?.NOTHREAD&&e.push("NOTHREAD")},transformReply:void 0}});var Elt=S(dL=>{"use strict";var X$r=dL&&dL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(dL,"__esModule",{value:!0});var J$r=Ge(),Alt=X$r(pge());dL.default={IS_READ_ONLY:Alt.default.IS_READ_ONLY,parseCommand(...e){let t=e[0];Alt.default.parseCommand(...e),t.push("WITHSCORES")},transformReply:{2:e=>{let t=e,r={};for(let n=0;n{"use strict";Object.defineProperty(mge,"__esModule",{value:!0});var Z$r=Ge(),e9r=e=>e;mge.default={CACHEABLE:!1,IS_READ_ONLY:!0,parseCommand(e,...t){let r=["LATENCY","HISTOGRAM"];t.length!==0&&r.push(...t),e.push(...r)},transformReply:{2:e=>{let t={};if(e.length===0)return t;for(let r=1;r{"use strict";var t9r=ii&&ii.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),r9r=ii&&ii.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),fL=ii&&ii.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&t9r(t,e,r);return r9r(t,e),t},re=ii&&ii.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ii,"__esModule",{value:!0});ii.NON_STICKY_COMMANDS=ii.REDIS_FLUSH_MODES=ii.COMMAND_LIST_FILTER_BY=ii.CLUSTER_SLOT_STATES=ii.FAILOVER_MODES=ii.CLIENT_KILL_FILTERS=void 0;var vlt=re(Qrt()),Slt=re(zrt()),Tlt=re(Wrt()),blt=re(Xrt()),Ilt=re(Jrt()),Rlt=re(Zrt()),Clt=re(ent()),xlt=re(cnt()),wlt=re(ude()),Nlt=re(unt()),Olt=re(lnt()),Dlt=re(dnt()),Plt=re(fnt()),Llt=re(hnt()),Mlt=re(mde()),klt=re(pnt()),Blt=re(mnt()),Ult=re(gnt()),Flt=re(_nt()),$lt=re(Ant()),qlt=re(Ent()),Hlt=re(ynt()),Vlt=re(vnt()),jlt=re(Snt()),Klt=re(Int()),Glt=re(Cde()),Ylt=re(Rnt()),Qlt=re(Cnt()),zlt=re(Ont()),Wlt=re(Ode()),Xlt=re(Pnt()),Jlt=re(Lnt()),Zlt=re(Mnt()),edt=re(knt()),tdt=re(Bnt()),rdt=re(Bde()),gge=fL(Fnt());Object.defineProperty(ii,"CLIENT_KILL_FILTERS",{enumerable:!0,get:function(){return gge.CLIENT_KILL_FILTERS}});var ndt=re($nt()),sdt=re(qnt()),idt=re(Hnt()),adt=re(Vnt()),odt=re(jnt()),cdt=re(Knt()),udt=re(Gnt()),ldt=re(Ynt()),ddt=re(Qnt()),fdt=re(znt()),hdt=re(Wnt()),pdt=re(Xnt()),mdt=re(Jnt()),gdt=re(Znt()),_dt=re(est()),_ge=fL(tst());Object.defineProperty(ii,"FAILOVER_MODES",{enumerable:!0,get:function(){return _ge.FAILOVER_MODES}});var Adt=re(rst()),Edt=re(nst()),ydt=re(sst()),vdt=re(ist()),Sdt=re(ast()),Tdt=re(ost()),bdt=re(cst()),Idt=re(ust()),Rdt=re(lst()),Cdt=re(dst()),xdt=re(fst()),wdt=re(hst()),Ndt=re(pst()),Odt=re(mst()),Ddt=re(gst()),Age=fL(_st());Object.defineProperty(ii,"CLUSTER_SLOT_STATES",{enumerable:!0,get:function(){return Age.CLUSTER_SLOT_STATES}});var Pdt=re(Est()),Ldt=re(yst()),Mdt=re(vst()),kdt=re(Sst()),Bdt=re(Tst()),Ege=fL(bst());Object.defineProperty(ii,"COMMAND_LIST_FILTER_BY",{enumerable:!0,get:function(){return Ege.COMMAND_LIST_FILTER_BY}});var Udt=re(Ist()),Fdt=re(Rst()),$dt=re(Cst()),qdt=re(xst()),Hdt=re(wst()),Vdt=re(Nst()),jdt=re(Ost()),Kdt=re(Dst()),Gdt=re(Pst()),Ydt=re(Lst()),Qdt=re(Mst()),zdt=re(kst()),Wdt=re(Bst()),Xdt=re(Ust()),Jdt=re(qst()),Zdt=re(Xv()),eft=re(Vst()),tft=re(Kst()),rft=re(Yst()),nft=re(Qst()),sft=re(zst()),ift=re(Wst()),aft=re(nit()),oft=re(iit()),cft=re(oit()),uft=re(G$()),lft=re(SP()),dft=re(fit()),fft=re(pit()),hft=re(git()),pft=re(Mfe()),mft=re(RP()),gft=re(TP()),_ft=re(Zv()),Aft=re(_it()),Eft=re(Ait()),yft=re(Eit()),vft=re(yit()),Sft=re(vit()),Tft=re(Sit()),bft=re(Tit()),Ift=re(bit()),Rft=re(Iit()),Cft=re(Rit()),xft=re(Cit()),yge=fL(xit());Object.defineProperty(ii,"REDIS_FLUSH_MODES",{enumerable:!0,get:function(){return yge.REDIS_FLUSH_MODES}});var wft=re(wit()),Nft=re(Oit()),Oft=re(Pit()),Dft=re(Lit()),Pft=re(Mit()),Lft=re(kit()),Mft=re(Bit()),kft=re(Uit()),Bft=re(e0e()),Uft=re(Fit()),Fft=re($it()),$ft=re(qit()),qft=re(Hit()),Hft=re(o0e()),Vft=re(Vit()),jft=re(jit()),Kft=re(Kit()),Gft=re(Git()),Yft=re(Yit()),Qft=re(Qit()),zft=re(zit()),Wft=re(Wit()),Xft=re(Xit()),Jft=re(Jit()),Zft=re(Zit()),e0t=re(eat()),t0t=re(tat()),r0t=re(rat()),n0t=re(nat()),s0t=re(sat()),i0t=re(iat()),a0t=re(aat()),o0t=re(oat()),c0t=re(cat()),u0t=re(uat()),l0t=re(x0e()),d0t=re(dat()),f0t=re(hat()),h0t=re(mat()),p0t=re(gat()),m0t=re(_at()),g0t=re(Aat()),_0t=re(Eat()),A0t=re(vat()),E0t=re(Sat()),y0t=re(Tat()),v0t=re(bat()),S0t=re(Iat()),T0t=re(Rat()),b0t=re(Cat()),I0t=re(xat()),R0t=re(wat()),C0t=re(Nat()),x0t=re(Oat()),w0t=re(K0e()),N0t=re(Dat()),O0t=re(Pat()),D0t=re(Lat()),P0t=re(Bat()),L0t=re(z0e()),M0t=re(Fat()),k0t=re(Y$()),B0t=re($at()),U0t=re(qat()),F0t=re(Hat()),$0t=re(Vat()),q0t=re(Ide()),n9r=re(jat()),H0t=re(Kat()),V0t=re(rhe()),j0t=re(Gat()),K0t=re(she()),G0t=re(Yat()),Y0t=re(Qat()),Q0t=re(zat()),z0t=re(Wat()),W0t=re(Xat()),X0t=re(Jat()),J0t=re(Zat()),Z0t=re(eot()),eht=re(tot()),tht=re(rot()),rht=re(not()),nht=re(sot()),sht=re(iot()),iht=re(aot()),aht=re(oot()),oht=re(cot()),cht=re(uot()),uht=re(The()),lht=re(hot()),dht=re(pot()),fht=re(mot()),hht=re(got()),pht=re(_ot()),mht=re(Aot()),ght=re(Eot()),_ht=re(yot()),Aht=re(vot()),Eht=re(Sot()),yht=re(Tot()),vht=re(bot()),Sht=re(Iot()),Tht=re(Rot()),bht=re(Cot()),Iht=re(xot()),Rht=re(wot()),Cht=re(Not()),xht=re(Oot()),wht=re(Dot()),Nht=re(Pot()),Oht=re(Lot()),Dht=re(Mot()),Pht=re(kot()),Lht=re(Bot()),Mht=re(Uot()),kht=re(Fot()),Bht=re($ot()),Uht=re(qot()),Fht=re(Hot()),$ht=re(Vot()),qht=re(jot()),Hht=re(Kot()),Vht=re(Got()),jht=re(Yot()),Kht=re(Qot()),Ght=re(OP()),Yht=re(zot()),Qht=re(Wot()),zht=re(Xot()),Wht=re(Jot()),Xht=re(Zot()),Jht=re(ect()),Zht=re(tct()),ept=re(rct()),tpt=re(nct()),rpt=re(sct()),npt=re(ict()),spt=re(act()),ipt=re(oct()),apt=re(cct()),opt=re(uct()),cpt=re(lct()),upt=re(dct()),lpt=re(fct()),dpt=re(hct()),fpt=re(pct()),hpt=re(_ct()),ppt=re(Act()),mpt=re(Q$()),gpt=re(Ect()),_pt=re(yct()),Apt=re(vct()),Ept=re(Tct()),ypt=re(wpe()),vpt=re(bct()),Spt=re(Ict()),Tpt=re(Rct()),bpt=re(Cct()),Ipt=re(xct()),Rpt=re(wct()),Cpt=re(Nct()),xpt=re(Oct()),wpt=re(Dct()),Npt=re(Pct()),Opt=re(Lct()),Dpt=re(Mct()),Ppt=re(kct()),Lpt=re(Bct()),Mpt=re(Fct()),kpt=re(jpe()),Bpt=re(qct()),Upt=re(Ype()),Fpt=re(Vct()),$pt=re(zpe()),qpt=re(jct()),Hpt=re(Kct()),Vpt=re(Gct()),jpt=re(Yct()),Kpt=re(Qct()),Gpt=re(zct()),Ypt=re(Wct()),Qpt=re(Xct()),zpt=re(Jct()),Wpt=re(Zct()),Xpt=re(tut()),Jpt=re(rut()),Zpt=re(nut()),emt=re(sut()),tmt=re(lme()),rmt=re(dme()),nmt=re(out()),smt=re(cut()),imt=re(uut()),amt=re(lut()),omt=re(put()),cmt=re(mme()),umt=re(mut()),lmt=re(_ut()),dmt=re(Eut()),fmt=re(yme()),hmt=re(yut()),pmt=re(Sut()),mmt=re(Iut()),gmt=re(W$()),_mt=re(Rut()),Amt=re(Cut()),Emt=re(xut()),ymt=re(wde()),vmt=re(wut()),Smt=re(Nut()),Tmt=re(wme()),bmt=re(Out()),Imt=re(Dut()),Rmt=re(Mut()),Cmt=re(Pme()),xmt=re(Dme()),wmt=re(Uut()),Nmt=re(Lme()),Omt=re($ut()),Dmt=re(Hut()),Pmt=re(Ume()),Lmt=re(jut()),Mmt=re(Gut()),kmt=re(Yut()),Bmt=re(Vme()),Umt=re(Qut()),Fmt=re(Wut()),$mt=re(Xut()),qmt=re(Jut()),Hmt=re(Zut()),Vmt=re(elt()),jmt=re(rlt()),Kmt=re(Jme()),Gmt=re(nlt()),Ymt=re(ilt()),Qmt=re(alt()),zmt=re(olt()),Wmt=re(sge()),Xmt=re(ult()),Jmt=re(llt()),Zmt=re(dlt()),egt=re(cge()),tgt=re(hlt()),rgt=re(plt()),ngt=re(mlt()),sgt=re(glt()),igt=re(_lt()),agt=re(pge()),ogt=re(Elt()),cgt=re(ylt());ii.default={ACL_CAT:vlt.default,aclCat:vlt.default,ACL_DELUSER:Slt.default,aclDelUser:Slt.default,ACL_DRYRUN:Tlt.default,aclDryRun:Tlt.default,ACL_GENPASS:blt.default,aclGenPass:blt.default,ACL_GETUSER:Ilt.default,aclGetUser:Ilt.default,ACL_LIST:Rlt.default,aclList:Rlt.default,ACL_LOAD:Clt.default,aclLoad:Clt.default,ACL_LOG_RESET:xlt.default,aclLogReset:xlt.default,ACL_LOG:wlt.default,aclLog:wlt.default,ACL_SAVE:Nlt.default,aclSave:Nlt.default,ACL_SETUSER:Olt.default,aclSetUser:Olt.default,ACL_USERS:Dlt.default,aclUsers:Dlt.default,ACL_WHOAMI:Plt.default,aclWhoAmI:Plt.default,APPEND:Llt.default,append:Llt.default,ASKING:Mlt.default,asking:Mlt.default,AUTH:klt.default,auth:klt.default,BGREWRITEAOF:Blt.default,bgRewriteAof:Blt.default,BGSAVE:Ult.default,bgSave:Ult.default,BITCOUNT:Flt.default,bitCount:Flt.default,BITFIELD_RO:$lt.default,bitFieldRo:$lt.default,BITFIELD:qlt.default,bitField:qlt.default,BITOP:Hlt.default,bitOp:Hlt.default,BITPOS:Vlt.default,bitPos:Vlt.default,BLMOVE:jlt.default,blMove:jlt.default,BLMPOP:Klt.default,blmPop:Klt.default,BLPOP:Glt.default,blPop:Glt.default,BRPOP:Ylt.default,brPop:Ylt.default,BRPOPLPUSH:Qlt.default,brPopLPush:Qlt.default,BZMPOP:zlt.default,bzmPop:zlt.default,BZPOPMAX:Wlt.default,bzPopMax:Wlt.default,BZPOPMIN:Xlt.default,bzPopMin:Xlt.default,CLIENT_CACHING:Jlt.default,clientCaching:Jlt.default,CLIENT_GETNAME:Zlt.default,clientGetName:Zlt.default,CLIENT_GETREDIR:edt.default,clientGetRedir:edt.default,CLIENT_ID:tdt.default,clientId:tdt.default,CLIENT_INFO:rdt.default,clientInfo:rdt.default,CLIENT_KILL:gge.default,clientKill:gge.default,CLIENT_LIST:ndt.default,clientList:ndt.default,"CLIENT_NO-EVICT":sdt.default,clientNoEvict:sdt.default,"CLIENT_NO-TOUCH":idt.default,clientNoTouch:idt.default,CLIENT_PAUSE:adt.default,clientPause:adt.default,CLIENT_SETNAME:odt.default,clientSetName:odt.default,CLIENT_TRACKING:cdt.default,clientTracking:cdt.default,CLIENT_TRACKINGINFO:udt.default,clientTrackingInfo:udt.default,CLIENT_UNPAUSE:ldt.default,clientUnpause:ldt.default,CLUSTER_ADDSLOTS:ddt.default,clusterAddSlots:ddt.default,CLUSTER_ADDSLOTSRANGE:fdt.default,clusterAddSlotsRange:fdt.default,CLUSTER_BUMPEPOCH:hdt.default,clusterBumpEpoch:hdt.default,"CLUSTER_COUNT-FAILURE-REPORTS":pdt.default,clusterCountFailureReports:pdt.default,CLUSTER_COUNTKEYSINSLOT:mdt.default,clusterCountKeysInSlot:mdt.default,CLUSTER_DELSLOTS:gdt.default,clusterDelSlots:gdt.default,CLUSTER_DELSLOTSRANGE:_dt.default,clusterDelSlotsRange:_dt.default,CLUSTER_FAILOVER:_ge.default,clusterFailover:_ge.default,CLUSTER_FLUSHSLOTS:Adt.default,clusterFlushSlots:Adt.default,CLUSTER_FORGET:Edt.default,clusterForget:Edt.default,CLUSTER_GETKEYSINSLOT:ydt.default,clusterGetKeysInSlot:ydt.default,CLUSTER_INFO:vdt.default,clusterInfo:vdt.default,CLUSTER_KEYSLOT:Sdt.default,clusterKeySlot:Sdt.default,CLUSTER_LINKS:Tdt.default,clusterLinks:Tdt.default,CLUSTER_MEET:bdt.default,clusterMeet:bdt.default,CLUSTER_MYID:Idt.default,clusterMyId:Idt.default,CLUSTER_MYSHARDID:Rdt.default,clusterMyShardId:Rdt.default,CLUSTER_NODES:Cdt.default,clusterNodes:Cdt.default,CLUSTER_REPLICAS:xdt.default,clusterReplicas:xdt.default,CLUSTER_REPLICATE:wdt.default,clusterReplicate:wdt.default,CLUSTER_RESET:Ndt.default,clusterReset:Ndt.default,CLUSTER_SAVECONFIG:Odt.default,clusterSaveConfig:Odt.default,"CLUSTER_SET-CONFIG-EPOCH":Ddt.default,clusterSetConfigEpoch:Ddt.default,CLUSTER_SETSLOT:Age.default,clusterSetSlot:Age.default,CLUSTER_SLOTS:Pdt.default,clusterSlots:Pdt.default,COMMAND_COUNT:Ldt.default,commandCount:Ldt.default,COMMAND_GETKEYS:Mdt.default,commandGetKeys:Mdt.default,COMMAND_GETKEYSANDFLAGS:kdt.default,commandGetKeysAndFlags:kdt.default,COMMAND_INFO:Bdt.default,commandInfo:Bdt.default,COMMAND_LIST:Ege.default,commandList:Ege.default,COMMAND:Udt.default,command:Udt.default,CONFIG_GET:Fdt.default,configGet:Fdt.default,CONFIG_RESETASTAT:$dt.default,configResetStat:$dt.default,CONFIG_REWRITE:qdt.default,configRewrite:qdt.default,CONFIG_SET:Hdt.default,configSet:Hdt.default,COPY:Vdt.default,copy:Vdt.default,DBSIZE:jdt.default,dbSize:jdt.default,DECR:Kdt.default,decr:Kdt.default,DECRBY:Gdt.default,decrBy:Gdt.default,DEL:Ydt.default,del:Ydt.default,DELEX:Qdt.default,delEx:Qdt.default,DIGEST:zdt.default,digest:zdt.default,DUMP:Wdt.default,dump:Wdt.default,ECHO:Xdt.default,echo:Xdt.default,EVAL_RO:Jdt.default,evalRo:Jdt.default,EVAL:Zdt.default,eval:Zdt.default,EVALSHA_RO:eft.default,evalShaRo:eft.default,EVALSHA:tft.default,evalSha:tft.default,EXISTS:Ift.default,exists:Ift.default,EXPIRE:Rft.default,expire:Rft.default,EXPIREAT:Cft.default,expireAt:Cft.default,EXPIRETIME:xft.default,expireTime:xft.default,FLUSHALL:yge.default,flushAll:yge.default,FLUSHDB:wft.default,flushDb:wft.default,FCALL:Nft.default,fCall:Nft.default,FCALL_RO:Oft.default,fCallRo:Oft.default,FUNCTION_DELETE:Dft.default,functionDelete:Dft.default,FUNCTION_DUMP:Pft.default,functionDump:Pft.default,FUNCTION_FLUSH:Lft.default,functionFlush:Lft.default,FUNCTION_KILL:Mft.default,functionKill:Mft.default,FUNCTION_LIST_WITHCODE:kft.default,functionListWithCode:kft.default,FUNCTION_LIST:Bft.default,functionList:Bft.default,FUNCTION_LOAD:Uft.default,functionLoad:Uft.default,FUNCTION_RESTORE:Fft.default,functionRestore:Fft.default,FUNCTION_STATS:$ft.default,functionStats:$ft.default,GEOADD:rft.default,geoAdd:rft.default,GEODIST:nft.default,geoDist:nft.default,GEOHASH:sft.default,geoHash:sft.default,GEOPOS:ift.default,geoPos:ift.default,GEORADIUS_RO_WITH:aft.default,geoRadiusRoWith:aft.default,GEORADIUS_RO:oft.default,geoRadiusRo:oft.default,GEORADIUS_STORE:cft.default,geoRadiusStore:cft.default,GEORADIUS_WITH:uft.default,geoRadiusWith:uft.default,GEORADIUS:lft.default,geoRadius:lft.default,GEORADIUSBYMEMBER_RO_WITH:dft.default,geoRadiusByMemberRoWith:dft.default,GEORADIUSBYMEMBER_RO:fft.default,geoRadiusByMemberRo:fft.default,GEORADIUSBYMEMBER_STORE:hft.default,geoRadiusByMemberStore:hft.default,GEORADIUSBYMEMBER_WITH:pft.default,geoRadiusByMemberWith:pft.default,GEORADIUSBYMEMBER:mft.default,geoRadiusByMember:mft.default,GEOSEARCH_WITH:gft.default,geoSearchWith:gft.default,GEOSEARCH:_ft.default,geoSearch:_ft.default,GEOSEARCHSTORE:Aft.default,geoSearchStore:Aft.default,GET:Eft.default,get:Eft.default,GETBIT:yft.default,getBit:yft.default,GETDEL:vft.default,getDel:vft.default,GETEX:Sft.default,getEx:Sft.default,GETRANGE:Tft.default,getRange:Tft.default,GETSET:bft.default,getSet:bft.default,HDEL:qft.default,hDel:qft.default,HELLO:Hft.default,hello:Hft.default,HEXISTS:Vft.default,hExists:Vft.default,HEXPIRE:jft.default,hExpire:jft.default,HEXPIREAT:Kft.default,hExpireAt:Kft.default,HEXPIRETIME:Gft.default,hExpireTime:Gft.default,HGET:Yft.default,hGet:Yft.default,HGETALL:Qft.default,hGetAll:Qft.default,HGETDEL:zft.default,hGetDel:zft.default,HGETEX:Wft.default,hGetEx:Wft.default,HINCRBY:Xft.default,hIncrBy:Xft.default,HINCRBYFLOAT:Jft.default,hIncrByFloat:Jft.default,HKEYS:Zft.default,hKeys:Zft.default,HLEN:e0t.default,hLen:e0t.default,HMGET:t0t.default,hmGet:t0t.default,HPERSIST:r0t.default,hPersist:r0t.default,HPEXPIRE:n0t.default,hpExpire:n0t.default,HPEXPIREAT:s0t.default,hpExpireAt:s0t.default,HPEXPIRETIME:i0t.default,hpExpireTime:i0t.default,HPTTL:a0t.default,hpTTL:a0t.default,HRANDFIELD_COUNT_WITHVALUES:o0t.default,hRandFieldCountWithValues:o0t.default,HRANDFIELD_COUNT:c0t.default,hRandFieldCount:c0t.default,HRANDFIELD:u0t.default,hRandField:u0t.default,HSCAN:l0t.default,hScan:l0t.default,HSCAN_NOVALUES:d0t.default,hScanNoValues:d0t.default,HSET:f0t.default,hSet:f0t.default,HSETEX:h0t.default,hSetEx:h0t.default,HSETNX:p0t.default,hSetNX:p0t.default,HSTRLEN:m0t.default,hStrLen:m0t.default,HTTL:g0t.default,hTTL:g0t.default,HVALS:_0t.default,hVals:_0t.default,HOTKEYS_GET:A0t.default,hotkeysGet:A0t.default,HOTKEYS_RESET:E0t.default,hotkeysReset:E0t.default,HOTKEYS_START:y0t.default,hotkeysStart:y0t.default,HOTKEYS_STOP:v0t.default,hotkeysStop:v0t.default,INCR:S0t.default,incr:S0t.default,INCRBY:T0t.default,incrBy:T0t.default,INCRBYFLOAT:b0t.default,incrByFloat:b0t.default,INFO:I0t.default,info:I0t.default,KEYS:R0t.default,keys:R0t.default,LASTSAVE:C0t.default,lastSave:C0t.default,LATENCY_DOCTOR:x0t.default,latencyDoctor:x0t.default,LATENCY_GRAPH:w0t.default,latencyGraph:w0t.default,LATENCY_HISTORY:N0t.default,latencyHistory:N0t.default,LATENCY_HISTOGRAM:cgt.default,latencyHistogram:cgt.default,LATENCY_LATEST:O0t.default,latencyLatest:O0t.default,LATENCY_RESET:D0t.default,latencyReset:D0t.default,LCS_IDX_WITHMATCHLEN:P0t.default,lcsIdxWithMatchLen:P0t.default,LCS_IDX:L0t.default,lcsIdx:L0t.default,LCS_LEN:M0t.default,lcsLen:M0t.default,LCS:k0t.default,lcs:k0t.default,LINDEX:B0t.default,lIndex:B0t.default,LINSERT:U0t.default,lInsert:U0t.default,LLEN:F0t.default,lLen:F0t.default,LMOVE:$0t.default,lMove:$0t.default,LMPOP:q0t.default,lmPop:q0t.default,LOLWUT:n9r.default,LPOP_COUNT:H0t.default,lPopCount:H0t.default,LPOP:V0t.default,lPop:V0t.default,LPOS_COUNT:j0t.default,lPosCount:j0t.default,LPOS:K0t.default,lPos:K0t.default,LPUSH:G0t.default,lPush:G0t.default,LPUSHX:Y0t.default,lPushX:Y0t.default,LRANGE:Q0t.default,lRange:Q0t.default,LREM:z0t.default,lRem:z0t.default,LSET:W0t.default,lSet:W0t.default,LTRIM:X0t.default,lTrim:X0t.default,MEMORY_DOCTOR:J0t.default,memoryDoctor:J0t.default,"MEMORY_MALLOC-STATS":Z0t.default,memoryMallocStats:Z0t.default,MEMORY_PURGE:eht.default,memoryPurge:eht.default,MEMORY_STATS:tht.default,memoryStats:tht.default,MEMORY_USAGE:rht.default,memoryUsage:rht.default,MGET:nht.default,mGet:nht.default,MIGRATE:sht.default,migrate:sht.default,MODULE_LIST:iht.default,moduleList:iht.default,MODULE_LOAD:aht.default,moduleLoad:aht.default,MODULE_UNLOAD:oht.default,moduleUnload:oht.default,MOVE:cht.default,move:cht.default,MSET:uht.default,mSet:uht.default,MSETEX:lht.default,mSetEx:lht.default,MSETNX:dht.default,mSetNX:dht.default,OBJECT_ENCODING:fht.default,objectEncoding:fht.default,OBJECT_FREQ:hht.default,objectFreq:hht.default,OBJECT_IDLETIME:pht.default,objectIdleTime:pht.default,OBJECT_REFCOUNT:mht.default,objectRefCount:mht.default,PERSIST:ght.default,persist:ght.default,PEXPIRE:_ht.default,pExpire:_ht.default,PEXPIREAT:Aht.default,pExpireAt:Aht.default,PEXPIRETIME:Eht.default,pExpireTime:Eht.default,PFADD:yht.default,pfAdd:yht.default,PFCOUNT:vht.default,pfCount:vht.default,PFMERGE:Sht.default,pfMerge:Sht.default,PING:Tht.default,ping:Tht.default,PSETEX:bht.default,pSetEx:bht.default,PTTL:Iht.default,pTTL:Iht.default,PUBLISH:Rht.default,publish:Rht.default,PUBSUB_CHANNELS:Cht.default,pubSubChannels:Cht.default,PUBSUB_NUMPAT:xht.default,pubSubNumPat:xht.default,PUBSUB_NUMSUB:wht.default,pubSubNumSub:wht.default,PUBSUB_SHARDNUMSUB:Nht.default,pubSubShardNumSub:Nht.default,PUBSUB_SHARDCHANNELS:Oht.default,pubSubShardChannels:Oht.default,RANDOMKEY:Dht.default,randomKey:Dht.default,READONLY:Pht.default,readonly:Pht.default,RENAME:Lht.default,rename:Lht.default,RENAMENX:Mht.default,renameNX:Mht.default,REPLICAOF:kht.default,replicaOf:kht.default,"RESTORE-ASKING":Bht.default,restoreAsking:Bht.default,RESTORE:Uht.default,restore:Uht.default,RPOP_COUNT:$ht.default,rPopCount:$ht.default,ROLE:Fht.default,role:Fht.default,RPOP:qht.default,rPop:qht.default,RPOPLPUSH:Hht.default,rPopLPush:Hht.default,RPUSH:Vht.default,rPush:Vht.default,RPUSHX:jht.default,rPushX:jht.default,SADD:Kht.default,sAdd:Kht.default,SCAN:Ght.default,scan:Ght.default,SCARD:Yht.default,sCard:Yht.default,SCRIPT_DEBUG:Qht.default,scriptDebug:Qht.default,SCRIPT_EXISTS:zht.default,scriptExists:zht.default,SCRIPT_FLUSH:Wht.default,scriptFlush:Wht.default,SCRIPT_KILL:Xht.default,scriptKill:Xht.default,SCRIPT_LOAD:Jht.default,scriptLoad:Jht.default,SDIFF:Zht.default,sDiff:Zht.default,SDIFFSTORE:ept.default,sDiffStore:ept.default,SET:tpt.default,set:tpt.default,SETBIT:rpt.default,setBit:rpt.default,SETEX:npt.default,setEx:npt.default,SETNX:spt.default,setNX:spt.default,SETRANGE:ipt.default,setRange:ipt.default,SINTER:apt.default,sInter:apt.default,SINTERCARD:opt.default,sInterCard:opt.default,SINTERSTORE:cpt.default,sInterStore:cpt.default,SISMEMBER:upt.default,sIsMember:upt.default,SMEMBERS:lpt.default,sMembers:lpt.default,SMISMEMBER:dpt.default,smIsMember:dpt.default,SMOVE:fpt.default,sMove:fpt.default,SORT_RO:hpt.default,sortRo:hpt.default,SORT_STORE:ppt.default,sortStore:ppt.default,SORT:mpt.default,sort:mpt.default,SPOP_COUNT:gpt.default,sPopCount:gpt.default,SPOP:_pt.default,sPop:_pt.default,SPUBLISH:Apt.default,sPublish:Apt.default,SRANDMEMBER_COUNT:Ept.default,sRandMemberCount:Ept.default,SRANDMEMBER:ypt.default,sRandMember:ypt.default,SREM:vpt.default,sRem:vpt.default,SSCAN:Spt.default,sScan:Spt.default,STRLEN:Tpt.default,strLen:Tpt.default,SUNION:bpt.default,sUnion:bpt.default,SUNIONSTORE:Ipt.default,sUnionStore:Ipt.default,SWAPDB:Rpt.default,swapDb:Rpt.default,TIME:Cpt.default,time:Cpt.default,TOUCH:xpt.default,touch:xpt.default,TTL:wpt.default,ttl:wpt.default,TYPE:Npt.default,type:Npt.default,UNLINK:Opt.default,unlink:Opt.default,WAIT:Dpt.default,wait:Dpt.default,XACK:Ppt.default,xAck:Ppt.default,XACKDEL:Lpt.default,xAckDel:Lpt.default,XADD_NOMKSTREAM:Mpt.default,xAddNoMkStream:Mpt.default,XADD:kpt.default,xAdd:kpt.default,XAUTOCLAIM_JUSTID:Bpt.default,xAutoClaimJustId:Bpt.default,XAUTOCLAIM:Upt.default,xAutoClaim:Upt.default,XCLAIM_JUSTID:Fpt.default,xClaimJustId:Fpt.default,XCLAIM:$pt.default,xClaim:$pt.default,XCFGSET:qpt.default,xCfgSet:qpt.default,XDEL:Hpt.default,xDel:Hpt.default,XDELEX:Vpt.default,xDelEx:Vpt.default,XGROUP_CREATE:jpt.default,xGroupCreate:jpt.default,XGROUP_CREATECONSUMER:Kpt.default,xGroupCreateConsumer:Kpt.default,XGROUP_DELCONSUMER:Gpt.default,xGroupDelConsumer:Gpt.default,XGROUP_DESTROY:Ypt.default,xGroupDestroy:Ypt.default,XGROUP_SETID:Qpt.default,xGroupSetId:Qpt.default,XINFO_CONSUMERS:zpt.default,xInfoConsumers:zpt.default,XINFO_GROUPS:Wpt.default,xInfoGroups:Wpt.default,XINFO_STREAM:Xpt.default,xInfoStream:Xpt.default,XLEN:Jpt.default,xLen:Jpt.default,XPENDING_RANGE:Zpt.default,xPendingRange:Zpt.default,XPENDING:emt.default,xPending:emt.default,XRANGE:tmt.default,xRange:tmt.default,XREAD:rmt.default,xRead:rmt.default,XREADGROUP:nmt.default,xReadGroup:nmt.default,XREVRANGE:smt.default,xRevRange:smt.default,XSETID:imt.default,xSetId:imt.default,XTRIM:amt.default,xTrim:amt.default,ZADD_INCR:omt.default,zAddIncr:omt.default,ZADD:cmt.default,zAdd:cmt.default,ZCARD:umt.default,zCard:umt.default,ZCOUNT:lmt.default,zCount:lmt.default,ZDIFF_WITHSCORES:dmt.default,zDiffWithScores:dmt.default,ZDIFF:fmt.default,zDiff:fmt.default,ZDIFFSTORE:hmt.default,zDiffStore:hmt.default,ZINCRBY:pmt.default,zIncrBy:pmt.default,ZINTER_WITHSCORES:mmt.default,zInterWithScores:mmt.default,ZINTER:gmt.default,zInter:gmt.default,ZINTERCARD:_mt.default,zInterCard:_mt.default,ZINTERSTORE:Amt.default,zInterStore:Amt.default,ZLEXCOUNT:Emt.default,zLexCount:Emt.default,ZMPOP:ymt.default,zmPop:ymt.default,ZMSCORE:vmt.default,zmScore:vmt.default,ZPOPMAX_COUNT:Smt.default,zPopMaxCount:Smt.default,ZPOPMAX:Tmt.default,zPopMax:Tmt.default,ZPOPMIN_COUNT:bmt.default,zPopMinCount:bmt.default,ZPOPMIN:Imt.default,zPopMin:Imt.default,ZRANDMEMBER_COUNT_WITHSCORES:Rmt.default,zRandMemberCountWithScores:Rmt.default,ZRANDMEMBER_COUNT:Cmt.default,zRandMemberCount:Cmt.default,ZRANDMEMBER:xmt.default,zRandMember:xmt.default,ZRANGE_WITHSCORES:wmt.default,zRangeWithScores:wmt.default,ZRANGE:Nmt.default,zRange:Nmt.default,ZRANGEBYLEX:Omt.default,zRangeByLex:Omt.default,ZRANGEBYSCORE_WITHSCORES:Dmt.default,zRangeByScoreWithScores:Dmt.default,ZRANGEBYSCORE:Pmt.default,zRangeByScore:Pmt.default,ZRANGESTORE:Lmt.default,zRangeStore:Lmt.default,ZRANK_WITHSCORE:kmt.default,zRankWithScore:kmt.default,ZRANK:Bmt.default,zRank:Bmt.default,ZREM:Umt.default,zRem:Umt.default,ZREMRANGEBYLEX:Fmt.default,zRemRangeByLex:Fmt.default,ZREMRANGEBYRANK:$mt.default,zRemRangeByRank:$mt.default,ZREMRANGEBYSCORE:Mmt.default,zRemRangeByScore:Mmt.default,ZREVRANK:qmt.default,zRevRank:qmt.default,ZSCAN:Hmt.default,zScan:Hmt.default,ZSCORE:Vmt.default,zScore:Vmt.default,ZUNION_WITHSCORES:jmt.default,zUnionWithScores:jmt.default,ZUNION:Kmt.default,zUnion:Kmt.default,ZUNIONSTORE:Gmt.default,zUnionStore:Gmt.default,VADD:Ymt.default,vAdd:Ymt.default,VCARD:Qmt.default,vCard:Qmt.default,VDIM:zmt.default,vDim:zmt.default,VEMB:Wmt.default,vEmb:Wmt.default,VEMB_RAW:Xmt.default,vEmbRaw:Xmt.default,VGETATTR:Jmt.default,vGetAttr:Jmt.default,VINFO:Zmt.default,vInfo:Zmt.default,VLINKS:egt.default,vLinks:egt.default,VLINKS_WITHSCORES:tgt.default,vLinksWithScores:tgt.default,VRANDMEMBER:rgt.default,vRandMember:rgt.default,VRANGE:ngt.default,vRange:ngt.default,VREM:sgt.default,vRem:sgt.default,VSETATTR:igt.default,vSetAttr:igt.default,VSIM:agt.default,vSim:agt.default,VSIM_WITHSCORES:ogt.default,vSimWithScores:ogt.default};var s9r=re(Bf()),{HOTKEYS_GET:UZn,hotkeysGet:FZn,HOTKEYS_RESET:$Zn,hotkeysReset:qZn,HOTKEYS_START:HZn,hotkeysStart:VZn,HOTKEYS_STOP:jZn,hotkeysStop:KZn,...i9r}=s9r.default;ii.NON_STICKY_COMMANDS=i9r});var hL=S(Mr=>{"use strict";var ugt=Mr&&Mr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},lgt;Object.defineProperty(Mr,"__esModule",{value:!0});Mr.emitDiagnostics=Mr.dbgMaintenance=Mr.MAINTENANCE_EVENTS=Mr.SMIGRATED_EVENT=void 0;var dgt=require("net"),a9r=require("dns/promises"),hR=ugt(require("node:assert")),o9r=require("node:timers/promises"),c9r=ugt(require("node:diagnostics_channel"));Mr.SMIGRATED_EVENT="__SMIGRATED";Mr.MAINTENANCE_EVENTS={PAUSE_WRITING:"pause-writing",RESUME_WRITING:"resume-writing",TIMEOUTS_UPDATE:"timeouts-update"};var DA={MOVING:"MOVING",MIGRATING:"MIGRATING",MIGRATED:"MIGRATED",FAILING_OVER:"FAILING_OVER",FAILED_OVER:"FAILED_OVER",SMIGRATING:"SMIGRATING",SMIGRATED:"SMIGRATED"},u9r=(...e)=>{if(process.env.REDIS_DEBUG_MAINTENANCE)return console.log(new Date().toISOString().slice(11,23),"[MNT]",...e)};Mr.dbgMaintenance=u9r;var l9r=e=>{if(!process.env.REDIS_EMIT_DIAGNOSTICS)return;c9r.default.channel("redis.maintenance").publish(e)};Mr.emitDiagnostics=l9r;var X$=class{#e;#t;#r=0;#n;static setupDefaultMaintOptions(t){t.maintNotifications===void 0&&(t.maintNotifications=t?.RESP===3?"auto":"disabled"),t.maintEndpointType===void 0&&(t.maintEndpointType="auto"),t.maintRelaxedSocketTimeout===void 0&&(t.maintRelaxedSocketTimeout=1e4),t.maintRelaxedCommandTimeout===void 0&&(t.maintRelaxedCommandTimeout=1e4)}static async getHandshakeCommand(t){if(t.maintNotifications==="disabled")return;let r=t.url?new URL(t.url).hostname:t.socket?.host;if(!r)return;let n=t.socket?.tls??!1;return{cmd:["CLIENT","MAINT_NOTIFICATIONS","ON","moving-endpoint-type",await f9r(n,r,t)],errorHandler:i=>{if((0,Mr.dbgMaintenance)("handshake failed:",i),t.maintNotifications==="enabled")throw i}}}constructor(t,r,n){this.#e=t,this.#t=n,this.#n=r,this.#e.addPushHandler(this.#a)}#a=t=>{if((0,Mr.dbgMaintenance)("ONPUSH:",t.map(String)),!Array.isArray(t)||!Object.values(DA).includes(String(t[0])))return!1;let r=String(t[0]);switch((0,Mr.emitDiagnostics)({type:r,timestamp:Date.now(),data:{push:t.map(String)}}),r){case DA.MOVING:{let n=t[2],s=t[3]?String(t[3]):null;return(0,Mr.dbgMaintenance)("Received MOVING:",n,s),this.#o(n,s),!0}case DA.MIGRATING:case DA.SMIGRATING:case DA.FAILING_OVER:return(0,Mr.dbgMaintenance)("Received MIGRATING|SMIGRATING|FAILING_OVER"),this.#s(),!0;case DA.MIGRATED:case DA.FAILED_OVER:return(0,Mr.dbgMaintenance)("Received MIGRATED|FAILED_OVER"),this.#i(),!0;case DA.SMIGRATED:return(0,Mr.dbgMaintenance)("Received SMIGRATED"),this.#c(t),this.#i(),!0}return!1};#o=async(t,r)=>{this.#s();let n,s;if(r===null){(0,hR.default)(this.#t.maintEndpointType==="none");let{host:u,port:l}=this.#l();n=u,s=l;let d=t*1e3/2;(0,Mr.dbgMaintenance)(`Wait for ${d}ms`),await(0,o9r.setTimeout)(d)}else{let u=r.split(":");n=u[0],s=Number(u[1])}(0,Mr.dbgMaintenance)("Pausing writing of new commands to old socket"),this.#n._pause(),(0,Mr.dbgMaintenance)("Creating new tmp client");let i=performance.now();if(this.#t.url){let u=new URL(this.#t.url);u.hostname=n,u.port=String(s),this.#t.url=u.toString()}else this.#t.socket={...this.#t.socket,host:n,port:s};let a=this.#n.duplicate();a.on("error",u=>{(0,Mr.dbgMaintenance)("[ERR]",u)}),(0,Mr.dbgMaintenance)(`Tmp client created in ${(performance.now()-i).toFixed(2)}ms`),(0,Mr.dbgMaintenance)(`Set timeout for tmp client to ${this.#t.maintRelaxedSocketTimeout}`),a._maintenanceUpdate({relaxedCommandTimeout:this.#t.maintRelaxedCommandTimeout,relaxedSocketTimeout:this.#t.maintRelaxedSocketTimeout}),(0,Mr.dbgMaintenance)(`Connecting tmp client: ${n}:${s}`),i=performance.now(),await a.connect(),(0,Mr.dbgMaintenance)(`Connected to tmp client in ${(performance.now()-i).toFixed(2)}ms`),(0,Mr.dbgMaintenance)("Wait for all in-flight commands to complete"),await this.#e.waitForInflightCommandsToComplete(),(0,Mr.dbgMaintenance)("In-flight commands completed"),(0,Mr.dbgMaintenance)("Swap client sockets...");let o=this.#n._ejectSocket(),c=a._ejectSocket();this.#n._insertSocket(c),a._insertSocket(o),a.destroy(),(0,Mr.dbgMaintenance)("Swap client sockets done."),(0,Mr.dbgMaintenance)("Resume writing"),this.#n._unpause(),this.#i()};#s=()=>{if(this.#r++,this.#r>1){(0,Mr.dbgMaintenance)("Timeout relaxation already done");return}let t={relaxedCommandTimeout:this.#t.maintRelaxedCommandTimeout,relaxedSocketTimeout:this.#t.maintRelaxedSocketTimeout};this.#n._maintenanceUpdate(t)};#i=()=>{if(this.#r=Math.max(this.#r-1,0),this.#r>0){(0,Mr.dbgMaintenance)("Not ready to unrelax timeouts yet");return}let t={relaxedCommandTimeout:void 0,relaxedSocketTimeout:void 0};this.#n._maintenanceUpdate(t)};#c=t=>{let r=lgt.parseSMigratedPush(t);(0,Mr.dbgMaintenance)("emit smigratedEvent",r),this.#n._handleSmigrated(r)};static parseSMigratedPush(t){let r=new Map;for(let[s,i,a]of t[2]){let o=String(s),[c,u]=String(i).split(":"),l=String(a).split(",").map(h=>{let p=h.indexOf("-");return p===-1?Number(h):[Number(h.substring(0,p)),Number(h.substring(p+1))]}),d=r.get(o)??[],f=d.find(h=>h.addr.host===c&&h.addr.port===Number(u));f?f.slots=f.slots.concat(l):d.push({addr:{host:c,port:Number(u)},slots:l}),r.set(o,d)}let n=[];for(let[s,i]of r.entries()){let[a,o]=s.split(":");n.push({source:{host:a,port:Number(o)},destinations:i})}return{seqId:t[1],entries:n}}#l(){(0,hR.default)(this.#t.socket!==void 0),(0,hR.default)("host"in this.#t.socket),(0,hR.default)(typeof this.#t.socket.host=="string");let t=this.#t.socket.host;(0,hR.default)(typeof this.#t.socket.port=="number");let r=this.#t.socket.port;return{host:t,port:r}}};lgt=X$;Mr.default=X$;function d9r(e){let t=(0,dgt.isIP)(e);if(t===4){let r=e.split(".").map(Number);return r[0]===10||r[0]===172&&r[1]>=16&&r[1]<=31||r[0]===192&&r[1]===168}return t===6?e.startsWith("fc")||e.startsWith("fd")||e==="::1"||e.startsWith("fe80"):!1}async function f9r(e,t,r){if((0,hR.default)(r.maintEndpointType!==void 0),r.maintEndpointType!=="auto")return(0,Mr.dbgMaintenance)(`Determine endpoint type: ${r.maintEndpointType}`),r.maintEndpointType;let n=(0,dgt.isIP)(t)?t:(await(0,a9r.lookup)(t,{family:0})).address,s=d9r(n),i;return e?i=s?"internal-fqdn":"external-fqdn":i=s?"internal-ip":"external-ip",(0,Mr.dbgMaintenance)(`Determine endpoint type: ${i}`),i}});var _gt=S(pL=>{"use strict";var ggt=pL&&pL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(pL,"__esModule",{value:!0});var fgt=require("node:events"),hgt=ggt(require("node:net")),h9r=ggt(require("node:tls")),Sh=Eh(),pgt=require("node:timers/promises"),mgt=hL(),vge=class extends fgt.EventEmitter{#e;#t;#r;#n;#a;#o;#s;#i=!1;get isOpen(){return this.#i}#c=!1;get isReady(){return this.#c}#l=!1;#m=0;get socketEpoch(){return this.#m}constructor(t,r){super(),this.#e=t,this.#t=r?.connectTimeout??5e3,this.#r=this.#h(r),this.#n=this.#d(r),this.#a=r?.socketTimeout}#h(t){let r=t?.reconnectStrategy;return r===!1||typeof r=="number"?()=>r:r?(n,s)=>{try{let i=r(n,s);if(i!==!1&&!(i instanceof Error)&&typeof i!="number")throw new TypeError(`Reconnect strategy should return \`false | Error | number\`, got ${i} instead`);return i}catch(i){return this.emit("error",i),this.defaultReconnectStrategy(n,i)}}:this.defaultReconnectStrategy}#d(t){if(t?.tls===!0){let n={...t,port:t?.port??6379,noDelay:t?.noDelay??!0,keepAlive:t?.keepAlive??!0,keepAliveInitialDelay:t?.keepAliveInitialDelay??5e3,timeout:void 0,onread:void 0,readable:!0,writable:!0};return{create(){return h9r.default.connect(n)},event:"secureConnect"}}if(t&&"path"in t){let n={...t,timeout:void 0,onread:void 0,readable:!0,writable:!0};return{create(){return hgt.default.createConnection(n)},event:"connect"}}let r={...t,port:t?.port??6379,noDelay:t?.noDelay??!0,keepAlive:t?.keepAlive??!0,keepAliveInitialDelay:t?.keepAliveInitialDelay??5e3,timeout:void 0,onread:void 0,readable:!0,writable:!0};return{create(){return hgt.default.createConnection(r)},event:"connect"}}#f(t,r){let n=this.#r(t,r);return n===!1?(this.#i=!1,this.emit("error",r),r):n instanceof Error?(this.#i=!1,this.emit("error",r),new Sh.ReconnectStrategyError(n,r)):n}async connect(){if(this.#i)throw new Error("Socket already opened");return this.#i=!0,this.#p()}async#p(){let t=0;do try{this.#s=await this.#A(),this.emit("connect");try{if(await this.#e(),!this.#s||this.#s.destroyed||!this.#s.readable||!this.#s.writable){let r=this.#f(t++,new Sh.SocketClosedUnexpectedlyError);if(typeof r!="number")throw r;await(0,pgt.setTimeout)(r),this.emit("reconnecting");continue}}catch(r){throw this.#s.destroy(),this.#s=void 0,r}this.#c=!0,this.#m++,this.emit("ready")}catch(r){let n=this.#f(t++,r);if(typeof n!="number")throw n;this.emit("error",r),await(0,pgt.setTimeout)(n),this.emit("reconnecting")}while(this.#i&&!this.#c)}setMaintenanceTimeout(t){if((0,mgt.dbgMaintenance)(`Set socket timeout to ${t}`),this.#o===t){(0,mgt.dbgMaintenance)(`Socket already set maintenanceCommandTimeout to ${t}, skipping`);return}this.#o=t,t!==void 0?this.#s?.setTimeout(t):this.#s?.setTimeout(this.#a??0)}async#A(){let t=this.#n.create(),r;return this.#t!==void 0&&(r=()=>t.destroy(new Sh.ConnectionTimeoutError),t.once("timeout",r),t.setTimeout(this.#t)),this.#l&&t.unref(),await(0,fgt.once)(t,this.#n.event),r&&t.removeListener("timeout",r),this.#a&&(t.once("timeout",()=>{let n=this.#o?new Sh.SocketTimeoutDuringMaintenanceError(this.#o):new Sh.SocketTimeoutError(this.#a);t.destroy(n)}),t.setTimeout(this.#a)),t.once("error",n=>this.#g(n)).once("close",n=>{n||!this.#i||this.#s!==t||this.#g(new Sh.SocketClosedUnexpectedlyError)}).on("drain",()=>this.emit("drain")).on("data",n=>this.emit("data",n)),t}#g(t){let r=this.#c;this.#c=!1,this.emit("error",t),!(!r||!this.#i||typeof this.#f(0,t)!="number")&&(this.emit("reconnecting"),this.#p().catch(()=>{}))}write(t){if(this.#s){this.#s.cork();for(let r of t){for(let n of r)this.#s.write(n);if(this.#s.writableNeedDrain)break}this.#s.uncork()}}async quit(t){if(!this.#i)throw new Sh.ClientClosedError;this.#i=!1;let r=await t();return this.destroySocket(),r}close(){if(!this.#i)throw new Sh.ClientClosedError;this.#i=!1}destroy(){if(!this.#i)throw new Sh.ClientClosedError;this.#i=!1,this.destroySocket()}destroySocket(){this.#c=!1,this.#s&&(this.#s.destroy(),this.#s=void 0),this.emit("end")}ref(){this.#l=!1,this.#s?.ref()}unref(){this.#l=!0,this.#s?.unref()}defaultReconnectStrategy(t,r){if(r instanceof Sh.SocketTimeoutError)return!1;let n=Math.floor(Math.random()*200);return Math.min(Math.pow(2,t)*50,2e3)+n}};pL.default=vge});var Tge=S(J$=>{"use strict";Object.defineProperty(J$,"__esModule",{value:!0});J$.Token=void 0;var Sge=class{value;expiresAtMs;receivedAtMs;constructor(t,r,n){this.value=t,this.expiresAtMs=r,this.receivedAtMs=n}getTtlMs(t){return this.expiresAtMs{"use strict";Object.defineProperty(pR,"__esModule",{value:!0});pR.TokenManager=pR.IDPError=void 0;var p9r=Tge(),Z$=class extends Error{message;isRetryable;constructor(t,r){super(t),this.message=t,this.isRetryable=r,this.name="IDPError"}};pR.IDPError=Z$;var bge=class{identityProvider;config;currentToken=null;refreshTimeout=null;listener=null;retryAttempt=0;constructor(t,r){if(this.identityProvider=t,this.config=r,this.config.expirationRefreshRatio>1)throw new Error("expirationRefreshRatio must be less than or equal to 1");if(this.config.expirationRefreshRatio<0)throw new Error("expirationRefreshRatio must be greater or equal to 0")}start(t,r=0){return this.listener&&this.stop(),this.listener=t,this.retryAttempt=0,this.scheduleNextRefresh(r),{dispose:()=>this.stop()}}calculateRetryDelay(){if(!this.config.retry)return 0;let{initialDelayMs:t,maxDelayMs:r,backoffMultiplier:n,jitterPercentage:s}=this.config.retry,i=t*Math.pow(n,this.retryAttempt-1);if(i=Math.min(i,r),s){let o=i*(s/100),c=Math.random()*o-o/2;i+=c}return Math.max(0,Math.floor(i))}shouldRetry(t){if(!this.config.retry)return!1;let{maxAttempts:r,isRetryable:n}=this.config.retry;return this.retryAttempt>=r?!1:n?n(t,this.retryAttempt):!1}isRunning(){return this.listener!==null}async refresh(){if(!this.listener)throw new Error("TokenManager is not running, but refresh was called");try{await this.identityProvider.requestToken().then(this.handleNewToken),this.retryAttempt=0}catch(t){if(this.shouldRetry(t)){this.retryAttempt++;let r=this.calculateRetryDelay();this.notifyError(`Token refresh failed (attempt ${this.retryAttempt}), retrying in ${r}ms: ${t}`,!0),this.scheduleNextRefresh(r)}else this.notifyError(t,!1),this.stop()}}handleNewToken=async({token:t,ttlMs:r})=>{if(!this.listener)throw new Error("TokenManager is not running, but a new token was received");let n=this.wrapAndSetCurrentToken(t,r);this.listener.onNext(n),this.scheduleNextRefresh(this.calculateRefreshTime(n))};wrapAndSetCurrentToken(t,r){let n=Date.now(),s=new p9r.Token(t,n+r,n);return this.currentToken=s,s}scheduleNextRefresh(t){this.refreshTimeout&&(clearTimeout(this.refreshTimeout),this.refreshTimeout=null),t===0?this.refresh():this.refreshTimeout=setTimeout(()=>this.refresh(),t)}calculateRefreshTime(t,r=Date.now()){let n=t.getTtlMs(r);return Math.floor(n*this.config.expirationRefreshRatio)}stop(){this.refreshTimeout&&(clearTimeout(this.refreshTimeout),this.refreshTimeout=null),this.listener=null,this.currentToken=null,this.retryAttempt=0}getCurrentToken(){return this.currentToken}notifyError(t,r){let n=t instanceof Error?t.message:String(t);if(!this.listener)throw new Error(`TokenManager is not running but received an error: ${n}`);this.listener.onError(new Z$(n,r))}};pR.TokenManager=bge});var Egt=S(mR=>{"use strict";Object.defineProperty(mR,"__esModule",{value:!0});mR.UnableToObtainNewCredentialsError=mR.CredentialsError=void 0;var Ige=class extends Error{constructor(t){super(`Re-authentication with latest credentials failed: ${t}`),this.name="CredentialsError"}};mR.CredentialsError=Ige;var Rge=class extends Error{constructor(t){super(`Unable to obtain new credentials : ${t}`),this.name="UnableToObtainNewCredentialsError"}};mR.UnableToObtainNewCredentialsError=Rge});var Sgt=S(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});Id.Token=Id.CredentialsError=Id.UnableToObtainNewCredentialsError=Id.IDPError=Id.TokenManager=void 0;var ygt=Agt();Object.defineProperty(Id,"TokenManager",{enumerable:!0,get:function(){return ygt.TokenManager}});Object.defineProperty(Id,"IDPError",{enumerable:!0,get:function(){return ygt.IDPError}});var vgt=Egt();Object.defineProperty(Id,"UnableToObtainNewCredentialsError",{enumerable:!0,get:function(){return vgt.UnableToObtainNewCredentialsError}});Object.defineProperty(Id,"CredentialsError",{enumerable:!0,get:function(){return vgt.CredentialsError}});var m9r=Tge();Object.defineProperty(Id,"Token",{enumerable:!0,get:function(){return m9r.Token}})});var t9=S(Th=>{"use strict";var g9r=Th&&Th.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Th,"__esModule",{value:!0});Th.EmptyAwareSinglyLinkedList=Th.SinglyLinkedList=Th.DoublyLinkedList=void 0;var _9r=g9r(require("events")),Cge=class{#e=0;get length(){return this.#e}#t;get head(){return this.#t}#r;get tail(){return this.#r}push(t){return++this.#e,this.#r===void 0?this.#t=this.#r={previous:this.#t,next:void 0,value:t}:this.#r=this.#r.next={previous:this.#r,next:void 0,value:t}}unshift(t){return++this.#e,this.#t===void 0?this.#t=this.#r={previous:void 0,next:void 0,value:t}:this.#t=this.#t.previous={previous:void 0,next:this.#t,value:t}}add(t,r=!1){return r?this.unshift(t):this.push(t)}shift(){if(this.#t===void 0)return;--this.#e;let t=this.#t;return t.next?(t.next.previous=void 0,this.#t=t.next,t.next=void 0):this.#t=this.#r=void 0,t.value}remove(t){this.#e!==0&&(--this.#e,this.#r===t&&(this.#r=t.previous),this.#t===t?this.#t=t.next:(t.previous&&(t.previous.next=t.next),t.next&&(t.next.previous=t.previous)),t.previous=void 0,t.next=void 0)}reset(){this.#e=0,this.#t=this.#r=void 0}*[Symbol.iterator](){let t=this.#t;for(;t!==void 0;)yield t.value,t=t.next}*nodes(){let t=this.#t;for(;t;){let r=t.next;yield t,t=r}}};Th.DoublyLinkedList=Cge;var e9=class{#e=0;get length(){return this.#e}#t;get head(){return this.#t}#r;get tail(){return this.#r}push(t){++this.#e;let r={value:t,next:void 0,removed:!1};return this.#t===void 0?this.#t=this.#r=r:this.#r.next=this.#r=r}remove(t,r){if(t.removed)throw new Error("node already removed");--this.#e,this.#t===t?this.#r===t?this.#t=this.#r=void 0:this.#t=t.next:this.#r===t?(this.#r=r,r.next=void 0):r.next=t.next,t.removed=!0}shift(){if(this.#t===void 0)return;let t=this.#t;return--this.#e===0?this.#t=this.#r=void 0:this.#t=t.next,t.removed=!0,t.value}reset(){this.#e=0,this.#t=this.#r=void 0}*[Symbol.iterator](){let t=this.#t;for(;t!==void 0;)yield t.value,t=t.next}};Th.SinglyLinkedList=e9;var xge=class extends e9{events=new _9r.default;reset(){let t=this.length;super.reset(),t!==this.length&&this.length===0&&this.events.emit("empty")}shift(){let t=this.length,r=super.shift();return t!==this.length&&this.length===0&&this.events.emit("empty"),r}remove(t,r){let n=this.length;super.remove(t,r),n!==this.length&&this.length===0&&this.events.emit("empty")}};Th.EmptyAwareSinglyLinkedList=xge});var Tgt=S(wge=>{"use strict";Object.defineProperty(wge,"__esModule",{value:!0});var mL=`\r +`;function A9r(e){let t=[],r="*"+e.length+mL;for(let n=0;n{var bgt=[0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920],E9r=function(t){for(var r,n=0,s=0,i=[],a=t.length;n>6|192,i[s++]=r&63|128):(r&64512)===55296&&n+1>18|240,i[s++]=r>>12&63|128,i[s++]=r>>6&63|128,i[s++]=r&63|128):(i[s++]=r>>12|224,i[s++]=r>>6&63|128,i[s++]=r&63|128);return i},Igt=Nge.exports=function(t){for(var r,n=0,s=-1,i=0,a=0,o=typeof t=="string"?E9r(t):t,c=o.length;n>8)&255]^a<<8;else if(n-1!==s)return a&16383;i=bgt[(r^i>>8)&255]^i<<8}return i&16383};Nge.exports.generateMulti=function(t){for(var r=1,n=t.length,s=Igt(t[0]);r{"use strict";var y9r=er&&er.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(er,"__esModule",{value:!0});er.PubSub=er.PUBSUB_TYPE=void 0;var v9r=y9r(Oge());er.PUBSUB_TYPE={CHANNELS:"CHANNELS",PATTERNS:"PATTERNS",SHARDED:"SHARDED"};var ho={[er.PUBSUB_TYPE.CHANNELS]:{subscribe:Buffer.from("subscribe"),unsubscribe:Buffer.from("unsubscribe"),message:Buffer.from("message")},[er.PUBSUB_TYPE.PATTERNS]:{subscribe:Buffer.from("psubscribe"),unsubscribe:Buffer.from("punsubscribe"),message:Buffer.from("pmessage")},[er.PUBSUB_TYPE.SHARDED]:{subscribe:Buffer.from("ssubscribe"),unsubscribe:Buffer.from("sunsubscribe"),message:Buffer.from("smessage")}},Dge=class e{static isStatusReply(t){let r=typeof t[0]=="string"?Buffer.from(t[0]):t[0];return ho[er.PUBSUB_TYPE.CHANNELS].subscribe.equals(r)||ho[er.PUBSUB_TYPE.CHANNELS].unsubscribe.equals(r)||ho[er.PUBSUB_TYPE.PATTERNS].subscribe.equals(r)||ho[er.PUBSUB_TYPE.PATTERNS].unsubscribe.equals(r)||ho[er.PUBSUB_TYPE.SHARDED].subscribe.equals(r)}static isShardedUnsubscribe(t){let r=typeof t[0]=="string"?Buffer.from(t[0]):t[0];return ho[er.PUBSUB_TYPE.SHARDED].unsubscribe.equals(r)}static#e(t){return Array.isArray(t)?t:[t]}static#t(t,r){return r?t.buffers:t.strings}#r=0;#n=!1;get isActive(){return this.#n}listeners={[er.PUBSUB_TYPE.CHANNELS]:new Map,[er.PUBSUB_TYPE.PATTERNS]:new Map,[er.PUBSUB_TYPE.SHARDED]:new Map};subscribe(t,r,n,s){let i=[ho[t].subscribe],a=e.#e(r);for(let o of a){let c=this.listeners[t].get(o);(!c||c.unsubscribing)&&i.push(o)}if(i.length===1){for(let o of a)e.#t(this.listeners[t].get(o),s).add(n);return}return this.#n=!0,this.#r++,{args:i,channelsCounter:i.length-1,resolve:()=>{this.#r--;for(let o of a){let c=this.listeners[t].get(o);c||(c={unsubscribing:!1,buffers:new Set,strings:new Set},this.listeners[t].set(o,c)),e.#t(c,s).add(n)}},reject:()=>{this.#r--,this.#s()}}}extendChannelListeners(t,r,n){if(this.#a(t,r,n))return this.#n=!0,this.#r++,{args:[ho[t].subscribe,r],channelsCounter:1,resolve:()=>this.#r--,reject:()=>{this.#r--,this.#s()}}}#a(t,r,n){let s=this.listeners[t].get(r);if(!s)return this.listeners[t].set(r,n),!0;for(let i of n.buffers)s.buffers.add(i);for(let i of n.strings)s.strings.add(i);return!1}extendTypeListeners(t,r){let n=[ho[t].subscribe];for(let[s,i]of r)this.#a(t,s,i)&&n.push(s);if(n.length!==1)return this.#n=!0,this.#r++,{args:n,channelsCounter:n.length-1,resolve:()=>this.#r--,reject:()=>{this.#r--,this.#s()}}}unsubscribe(t,r,n,s){let i=this.listeners[t];if(!r)return this.#o([ho[t].unsubscribe],NaN,()=>i.clear());let a=e.#e(r);if(!n)return this.#o([ho[t].unsubscribe,...a],a.length,()=>{for(let c of a)i.delete(c)});let o=[ho[t].unsubscribe];for(let c of a){let u=i.get(c);if(u){let l,d;if(s?(l=u.buffers,d=u.strings):(l=u.strings,d=u.buffers),(l.has(n)?l.size-1:l.size)!==0||d.size!==0)continue;u.unsubscribing=!0}o.push(c)}if(o.length===1){for(let c of a)e.#t(i.get(c),s).delete(n);return}return this.#o(o,o.length-1,()=>{for(let c of a){let u=i.get(c);u&&((s?u.buffers:u.strings).delete(n),u.buffers.size===0&&u.strings.size===0&&i.delete(c))}})}#o(t,r,n){return{args:t,channelsCounter:r,resolve:()=>{n(),this.#s()},reject:void 0}}#s(){this.#n=this.listeners[er.PUBSUB_TYPE.CHANNELS].size!==0||this.listeners[er.PUBSUB_TYPE.PATTERNS].size!==0||this.listeners[er.PUBSUB_TYPE.SHARDED].size!==0||this.#r!==0}reset(){this.#n=!1,this.#r=0}resubscribe(){let t=[];for(let[r,n]of Object.entries(this.listeners))n.size&&(this.#n=!0,r===er.PUBSUB_TYPE.SHARDED?this.#c(t,n):this.#i(t,r,n));return t}#i(t,r,n){this.#r++;let s=()=>this.#r--;t.push({args:[ho[r].subscribe,...n.keys()],channelsCounter:n.size,resolve:s,reject:s})}#c(t,r){let n=()=>this.#r--;for(let s of r.keys())this.#r++,t.push({args:[ho[er.PUBSUB_TYPE.SHARDED].subscribe,s],channelsCounter:1,resolve:n,reject:n})}handleMessageReply(t){let r=typeof t[0]=="string"?Buffer.from(t[0]):t[0];return ho[er.PUBSUB_TYPE.CHANNELS].message.equals(r)?(this.#l(er.PUBSUB_TYPE.CHANNELS,t[2],t[1]),!0):ho[er.PUBSUB_TYPE.PATTERNS].message.equals(r)?(this.#l(er.PUBSUB_TYPE.PATTERNS,t[3],t[2],t[1]),!0):ho[er.PUBSUB_TYPE.SHARDED].message.equals(r)?(this.#l(er.PUBSUB_TYPE.SHARDED,t[2],t[1]),!0):!1}removeShardedListeners(t){let r=this.listeners[er.PUBSUB_TYPE.SHARDED].get(t);return this.listeners[er.PUBSUB_TYPE.SHARDED].delete(t),this.#s(),r}removeAllListeners(){let t={[er.PUBSUB_TYPE.CHANNELS]:this.listeners[er.PUBSUB_TYPE.CHANNELS],[er.PUBSUB_TYPE.PATTERNS]:this.listeners[er.PUBSUB_TYPE.PATTERNS],[er.PUBSUB_TYPE.SHARDED]:this.listeners[er.PUBSUB_TYPE.SHARDED]};return this.#s(),this.listeners[er.PUBSUB_TYPE.CHANNELS]=new Map,this.listeners[er.PUBSUB_TYPE.PATTERNS]=new Map,this.listeners[er.PUBSUB_TYPE.SHARDED]=new Map,t}removeShardedPubSubListenersForSlots(t){let r=new Map;for(let[n,s]of this.listeners[er.PUBSUB_TYPE.SHARDED])t.has((0,v9r.default)(n))&&(r.set(n,s),this.listeners[er.PUBSUB_TYPE.SHARDED].delete(n));return this.#s(),{[er.PUBSUB_TYPE.SHARDED]:r}}#l(t,r,n,s){let i=(s??n).toString(),a=this.listeners[t].get(i);if(!a)return;for(let u of a.buffers)u(r,n);if(!a.strings.size)return;let o=s?n.toString():i,c=o==="__redis__:invalidate"?r===null?null:r.map(u=>u.toString()):r.toString();for(let u of a.strings)u(c,o)}};er.PubSub=Dge});var Cgt=S(AL=>{"use strict";var S9r=AL&&AL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(AL,"__esModule",{value:!0});var Rgt=t9(),T9r=S9r(Tgt()),_L=H$(),Pge=gL(),gR=Eh(),_R=hL(),b9r=Buffer.from("pong"),I9r=Buffer.from("RESET"),R9r={..._L.PUSH_TYPE_MAPPING,[_L.RESP_TYPES.SIMPLE_STRING]:Buffer},Lge=class e{#e;#t;#r=new Rgt.DoublyLinkedList;#n=new Rgt.EmptyAwareSinglyLinkedList;#a;#o;decoder;#s=new Pge.PubSub;#i=[this.#h.bind(this)];#c;setMaintenanceCommandTimeout(t){if(this.#c===t){(0,_R.dbgMaintenance)(`Queue already set maintenanceCommandTimeout to ${t}, skipping`);return}if((0,_R.dbgMaintenance)(`Setting maintenance command timeout to ${t}`),this.#c=t,this.#c===void 0){(0,_R.dbgMaintenance)("Queue will keep maintenanceCommandTimeout for exisitng commands, just to be on the safe side. New commands will receive normal timeouts");return}let r=0,n=this.#r.length;for(let s of this.#r.nodes()){let i=s.value;e.#I(i),r++;let a=this.#c,o=AbortSignal.timeout(a);i.timeout={signal:o,listener:()=>{this.#r.remove(s),i.reject(new gR.CommandTimeoutDuringMaintenanceError(a))},originalTimeout:i.timeout?.originalTimeout},o.addEventListener("abort",i.timeout.listener,{once:!0})}(0,_R.dbgMaintenance)(`Total of ${r} of ${n} timeouts reset to ${t}`)}get isPubSubActive(){return this.#s.isActive}constructor(t,r,n){this.#e=t,this.#t=r,this.#a=n,this.decoder=this.#f()}#l(t){this.#n.shift().resolve(t)}#m(t){this.#n.shift().reject(t)}#h(t){if(this.#s.handleMessageReply(t))return!0;let r=Pge.PubSub.isShardedUnsubscribe(t);if(r&&!this.#n.length){let n=t[1].toString();return this.#a(n,this.#s.removeShardedListeners(n)),!0}else if(r||Pge.PubSub.isStatusReply(t)){let n=this.#n.head.value;return(Number.isNaN(n.channelsCounter)&&t[2]===0||--n.channelsCounter===0)&&this.#n.shift().resolve(),!0}return!1}#d(){return this.#n.head.value.typeMapping??{}}#f(){return new _L.Decoder({onReply:t=>this.#l(t),onErrorReply:t=>this.#m(t),onPush:t=>{for(let r of this.#i)if(r(t))return},getTypeMapping:()=>this.#d()})}addPushHandler(t){this.#i.push(t)}async waitForInflightCommandsToComplete(t){if(this.#n.length!==0)return new Promise(r=>{let n=()=>{s&&clearTimeout(s),r()},s,i=t?.timeoutMs;i!==void 0&&i>0&&(s=setTimeout(()=>{this.#n.events.off("empty",n);let a=this.#n.length;(0,_R.dbgMaintenance)(`waitForInflightCommandsToComplete timed out after ${i}ms with ${a} commands still waiting`),t?.flushOnTimeout&&a>0&&((0,_R.dbgMaintenance)(`Flushing ${a} commands that timed out waiting for reply`),this.#T(new gR.TimeoutError)),r()},i)),this.#n.events.once("empty",n)})}addCommand(t,r){return this.#t&&this.#r.length+this.#n.length>=this.#t?Promise.reject(new Error("The queue is full")):r?.abortSignal?.aborted?Promise.reject(new gR.AbortError):new Promise((n,s)=>{let i,a={args:t,chainId:r?.chainId,abort:void 0,timeout:void 0,resolve:n,reject:s,channelsCounter:void 0,typeMapping:r?.typeMapping};a.slotNumber=r?.slotNumber;let o=this.#c??r?.timeout,c=this.#c!==void 0;if(o){let l=AbortSignal.timeout(o);a.timeout={signal:l,listener:()=>{this.#r.remove(i),a.reject(c?new gR.CommandTimeoutDuringMaintenanceError(o):new gR.TimeoutError)},originalTimeout:r?.timeout},l.addEventListener("abort",a.timeout.listener,{once:!0})}let u=r?.abortSignal;u&&(a.abort={signal:u,listener:()=>{this.#r.remove(i),a.reject(new gR.AbortError)}},u.addEventListener("abort",a.abort.listener,{once:!0})),i=this.#r.add(a,r?.asap)})}#p(t,r=!1,n){return new Promise((s,i)=>{this.#r.add({args:t.args,chainId:n,abort:void 0,timeout:void 0,resolve(){t.resolve(),s()},reject(a){t.reject?.(),i(a)},channelsCounter:t.channelsCounter,typeMapping:_L.PUSH_TYPE_MAPPING},r)})}#A(){this.#e===2&&(this.decoder.onReply=t=>{if(Array.isArray(t)){if(this.#h(t))return;let r=typeof t[0]=="string"?Buffer.from(t[0]):t[0];if(b9r.equals(r)){let{resolve:n,typeMapping:s}=this.#n.shift(),i=t[1].length===0?t[0]:t[1];n(s?.[_L.RESP_TYPES.SIMPLE_STRING]===Buffer?i:i.toString());return}}return this.#l(t)},this.decoder.getTypeMapping=()=>R9r)}subscribe(t,r,n,s){let i=this.#s.subscribe(t,r,n,s);if(i)return this.#A(),this.#p(i)}#g(){this.decoder.onReply=t=>this.#l(t),this.decoder.getTypeMapping=()=>this.#d()}unsubscribe(t,r,n,s){let i=this.#s.unsubscribe(t,r,n,s);if(i){if(i&&this.#e===2){let{resolve:a}=i;i.resolve=()=>{this.#s.isActive||this.#g(),a()}}return this.#p(i)}}removeAllPubSubListeners(){return this.#s.removeAllListeners()}removeShardedPubSubListenersForSlots(t){return this.#s.removeShardedPubSubListenersForSlots(t)}resubscribe(t){let r=this.#s.resubscribe();if(r.length)return this.#A(),Promise.all(r.map(n=>this.#p(n,!0,t)))}extendPubSubChannelListeners(t,r,n){let s=this.#s.extendChannelListeners(t,r,n);if(s)return this.#A(),this.#p(s)}extendPubSubListeners(t,r){let n=this.#s.extendTypeListeners(t,r);if(n)return this.#A(),this.#p(n)}getPubSubListeners(t){return this.#s.listeners[t]}monitor(t,r){return new Promise((n,s)=>{let i=r?.typeMapping??{};this.#r.add({args:["MONITOR"],chainId:r?.chainId,abort:void 0,timeout:void 0,resolve:()=>{this.#v?this.#v=t:this.decoder.onReply=t,this.decoder.getTypeMapping=()=>i,n()},reject:s,channelsCounter:void 0,typeMapping:i},r?.asap)})}resetDecoder(){this.#g(),this.decoder.reset()}#v;async reset(t,r){return new Promise((n,s)=>{this.#v=this.decoder.onReply,this.decoder.onReply=i=>{if(typeof i=="string"&&i==="RESET"||i instanceof Buffer&&I9r.equals(i)){this.#g(),this.#v=void 0,this.#s.reset(),this.#n.shift().resolve(i);return}this.#v(i)},this.#r.push({args:["RESET"],chainId:t,abort:void 0,timeout:void 0,resolve:n,reject:s,channelsCounter:void 0,typeMapping:r})})}isWaitingToWrite(){return this.#r.length>0}*commandsToWrite(){let t=this.#r.shift();for(;t;){let r;try{r=(0,T9r.default)(t.args)}catch(n){t.reject(n),t=this.#r.shift();continue}t.args=void 0,t.abort&&(e.#_(t),t.abort=void 0),t.timeout&&(e.#I(t),t.timeout=void 0),this.#o=t.chainId,t.chainId=void 0,this.#n.push(t),yield r,t=this.#r.shift()}}#T(t){for(let r of this.#n)r.reject(t);this.#n.reset()}static#_(t){t.abort.signal.removeEventListener("abort",t.abort.listener)}static#I(t){t.timeout?.signal.removeEventListener("abort",t.timeout.listener)}static#S(t,r){t.abort&&e.#_(t),t.timeout&&e.#I(t),t.reject(r)}flushWaitingForReply(t){if(this.resetDecoder(),this.#s.reset(),this.#T(t),!!this.#o){for(;this.#r.head?.value.chainId===this.#o;)e.#S(this.#r.shift(),t);this.#o=void 0}}flushAll(t){this.resetDecoder(),this.#s.reset(),this.#T(t);for(let r of this.#r)e.#S(r,t);this.#r.reset()}isEmpty(){return this.#r.length===0&&this.#n.length===0}extractCommandsForSlots(t){let r=[],n=this.#r.head;for(;n!==void 0;)if(n.value.slotNumber!==void 0&&t.has(n.value.slotNumber)){r.push(n.value);let s=n;n=n.next,this.#r.remove(s)}else n=n.next;return r}extractAllCommands(){let t=[],r=this.#r.head;for(;r;)t.push(r.value),this.#r.remove(r),r=r.next;return t}prependCommandsToWrite(t){if(t.length)for(let r=t.length-1;r>=0;r--)this.#r.unshift(t[r])}};AL.default=Lge});var Ih=S(bh=>{"use strict";Object.defineProperty(bh,"__esModule",{value:!0});bh.scriptArgumentsPrefix=bh.functionArgumentsPrefix=bh.getTransformReply=bh.attachConfig=void 0;function xgt(){throw new Error("Some RESP3 results for Redis Query Engine responses may change. Refer to the readme for guidance")}function C9r({BaseClass:e,commands:t,createCommand:r,createModuleCommand:n,createFunctionCommand:s,createScriptCommand:i,config:a}){let o=a?.RESP??2,c=class extends e{};for(let[u,l]of Object.entries(t))a?.RESP==3&&l.unstableResp3&&!a.unstableResp3?c.prototype[u]=xgt:c.prototype[u]=r(l,o);if(a?.modules)for(let[u,l]of Object.entries(a.modules)){let d=Object.create(null);for(let[f,h]of Object.entries(l))a.RESP==3&&h.unstableResp3&&!a.unstableResp3?d[f]=xgt:d[f]=n(h,o);wgt(c.prototype,u,d)}if(a?.functions)for(let[u,l]of Object.entries(a.functions)){let d=Object.create(null);for(let[f,h]of Object.entries(l))d[f]=s(f,h,o);wgt(c.prototype,u,d)}if(a?.scripts)for(let[u,l]of Object.entries(a.scripts))c.prototype[u]=i(l,o);return c}bh.attachConfig=C9r;function wgt(e,t,r){Object.defineProperty(e,t,{get(){let n=Object.create(r);return n._self=this,Object.defineProperty(this,t,{value:n}),n}})}function x9r(e,t){switch(typeof e.transformReply){case"function":return e.transformReply;case"object":return e.transformReply[t]}}bh.getTransformReply=x9r;function w9r(e,t){let r=[t.IS_READ_ONLY?"FCALL_RO":"FCALL",e];return t.NUMBER_OF_KEYS!==void 0&&r.push(t.NUMBER_OF_KEYS.toString()),r}bh.functionArgumentsPrefix=w9r;function N9r(e){let t=[e.IS_READ_ONLY?"EVALSHA_RO":"EVALSHA",e.SHA1];return e.NUMBER_OF_KEYS!==void 0&&t.push(e.NUMBER_OF_KEYS.toString()),t}bh.scriptArgumentsPrefix=N9r});var EL=S(kge=>{"use strict";Object.defineProperty(kge,"__esModule",{value:!0});var Ngt=Eh(),Mge=class{typeMapping;constructor(t){this.typeMapping=t}queue=[];scriptsInUse=new Set;addCommand(t,r){this.queue.push({args:t,transformReply:r})}addScript(t,r,n){let s=[];s.preserve=r.preserve,this.scriptsInUse.has(t.SHA1)?s.push("EVALSHA",t.SHA1):(this.scriptsInUse.add(t.SHA1),s.push("EVAL",t.SCRIPT)),t.NUMBER_OF_KEYS!==void 0&&s.push(t.NUMBER_OF_KEYS.toString()),s.push(...r),this.addCommand(s,n)}transformReplies(t){let r=[],n=t.map((s,i)=>{if(s instanceof Ngt.ErrorReply)return r.push(i),s;let{transformReply:a,args:o}=this.queue[i];return a?a(s,o.preserve,this.typeMapping):s});if(r.length)throw new Ngt.MultiErrorReply(n,r);return n}};kge.default=Mge});var Uge=S(yL=>{"use strict";var Ogt=yL&&yL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(yL,"__esModule",{value:!0});var O9r=Ogt(Bf()),D9r=Ogt(EL()),AR=Ih(),r9=yh(),Bge=class e{static#e(t,r){let n=(0,AR.getTransformReply)(t,r);return function(...s){let i=new r9.BasicCommandParser;t.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this.addCommand(a,n)}}static#t(t,r){let n=(0,AR.getTransformReply)(t,r);return function(...s){let i=new r9.BasicCommandParser;t.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this._self.addCommand(a,n)}}static#r(t,r,n){let s=(0,AR.functionArgumentsPrefix)(t,r),i=(0,AR.getTransformReply)(r,n);return function(...a){let o=new r9.BasicCommandParser;o.push(...s),r.parseCommand(o,...a);let c=o.redisArgs;return c.preserve=o.preserve,this._self.addCommand(c,i)}}static#n(t,r){let n=(0,AR.getTransformReply)(t,r);return function(...s){let i=new r9.BasicCommandParser;t.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this.#c(t,a,n)}}static extend(t){return(0,AR.attachConfig)({BaseClass:e,commands:O9r.default,createCommand:e.#e,createModuleCommand:e.#t,createFunctionCommand:e.#r,createScriptCommand:e.#n,config:t})}#a;#o;#s;#i;constructor(t,r,n){this.#a=new D9r.default(n),this.#o=t,this.#s=r}SELECT(t,r){return this.#i=t,this.#a.addCommand(["SELECT",t.toString()],r),this}select=this.SELECT;addCommand(t,r){return this.#a.addCommand(t,r),this}#c(t,r,n){return this.#a.addScript(t,r,n),this}async exec(t=!1){return t?this.execAsPipeline():this.#a.transformReplies(await this.#o(this.#a.queue,this.#i))}EXEC=this.exec;execTyped(t=!1){return this.exec(t)}async execAsPipeline(){return this.#a.queue.length===0?[]:this.#a.transformReplies(await this.#s(this.#a.queue,this.#i))}execAsPipelineTyped(){return this.execAsPipeline()}};yL.default=Bge});var Lgt=S(yR=>{"use strict";var Dgt=yR&&yR.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(yR,"__esModule",{value:!0});yR.RedisLegacyClient=void 0;var P9r=Ih(),Pgt=Dgt(Bf()),L9r=Dgt(EL()),ER=class e{static#e(t,r){let n;return typeof r[r.length-1]=="function"&&(n=r.pop()),e.pushArguments(t,r),n}static pushArguments(t,r){for(let n=0;nthis.#r.emit("error",u));return}c.then(u=>o(null,s?s(u):u)).catch(u=>o(u))}}#r;#n;constructor(t){this.#r=t;let r=t.options?.RESP??2;for(let[n,s]of Object.entries(Pgt.default))this[n]=e.#t(n,s,r);this.#n=Fge.factory(r)}sendCommand(...t){let r=[],n=e.#e(r,t),s=this.#r.sendCommand(r);if(!n){s.catch(i=>this.#r.emit("error",i));return}s.then(i=>n(null,i)).catch(i=>n(i))}multi(){return this.#n(this.#r)}};yR.RedisLegacyClient=ER;var Fge=class e{static#e(t,r,n){let s=ER.getTransformReply(r,n);return function(...i){let a=[t];return ER.pushArguments(a,i),this.#t.addCommand(a,s),this}}static factory(t){let r=class extends e{};for(let[n,s]of Object.entries(Pgt.default))r.prototype[n]=e.#e(n,s,t);return n=>new r(n)}#t=new L9r.default;#r;constructor(t){this.#r=t}sendCommand(...t){let r=[];return ER.pushArguments(r,t),this.#t.addCommand(r),this}exec(t){let r=this.#r._executeMulti(this.#t.queue);if(!t){r.catch(n=>this.#r.emit("error",n));return}r.then(n=>t(null,this.#t.transformReplies(n))).catch(n=>t?.(n))}}});var vR=S(Du=>{"use strict";Object.defineProperty(Du,"__esModule",{value:!0});Du.PooledNoRedirectClientSideCache=Du.BasicPooledClientSideCache=Du.PooledClientSideCacheProvider=Du.BasicClientSideCache=Du.ClientSideCacheProvider=Du.CacheStats=void 0;var M9r=require("stream"),vL=class e{hitCount;missCount;loadSuccessCount;loadFailureCount;totalLoadTime;evictionCount;constructor(t,r,n,s,i,a){if(this.hitCount=t,this.missCount=r,this.loadSuccessCount=n,this.loadFailureCount=s,this.totalLoadTime=i,this.evictionCount=a,t<0||r<0||n<0||s<0||i<0||a<0)throw new Error("All statistics values must be non-negative")}static of(t=0,r=0,n=0,s=0,i=0,a=0){return new e(t,r,n,s,i,a)}static empty(){return e.EMPTY_STATS}static EMPTY_STATS=new e(0,0,0,0,0,0);requestCount(){return this.hitCount+this.missCount}hitRate(){let t=this.requestCount();return t===0?1:this.hitCount/t}missRate(){let t=this.requestCount();return t===0?0:this.missCount/t}loadCount(){return this.loadSuccessCount+this.loadFailureCount}loadFailureRate(){let t=this.loadCount();return t===0?0:this.loadFailureCount/t}averageLoadPenalty(){let t=this.loadCount();return t===0?0:this.totalLoadTime/t}minus(t){return e.of(Math.max(0,this.hitCount-t.hitCount),Math.max(0,this.missCount-t.missCount),Math.max(0,this.loadSuccessCount-t.loadSuccessCount),Math.max(0,this.loadFailureCount-t.loadFailureCount),Math.max(0,this.totalLoadTime-t.totalLoadTime),Math.max(0,this.evictionCount-t.evictionCount))}plus(t){return e.of(this.hitCount+t.hitCount,this.missCount+t.missCount,this.loadSuccessCount+t.loadSuccessCount,this.loadFailureCount+t.loadFailureCount,this.totalLoadTime+t.totalLoadTime,this.evictionCount+t.evictionCount)}};Du.CacheStats=vL;var n9=class e{static INSTANCE=new e;constructor(){}recordHits(t){}recordMisses(t){}recordLoadSuccess(t){}recordLoadFailure(t){}recordEvictions(t){}snapshot(){return vL.empty()}};function k9r(){return n9.INSTANCE}var s9=class e{#e=0;#t=0;#r=0;#n=0;#a=0;#o=0;recordHits(t){this.#e+=t}recordMisses(t){this.#t+=t}recordLoadSuccess(t){this.#r++,this.#a+=t}recordLoadFailure(t){this.#n++,this.#a+=t}recordEvictions(t){this.#o+=t}snapshot(){return vL.of(this.#e,this.#t,this.#r,this.#n,this.#a,this.#o)}static create(){return new e}};function B9r(e){let t=new Array(e.length*2);for(let r=0;r0&&this.#r.recordEvictions(r)}get(t){let r=this.#e.get(t);if(r&&!r.validate()){this.delete(t),this.#r.recordEvictions(1),this.emit("cache-evict",t);return}return r!==void 0&&this.lru&&(this.#e.delete(t),this.#e.set(t,r)),r}delete(t){let r=this.#e.get(t);r&&(r.invalidate(),this.#e.delete(t))}has(t){return this.#e.has(t)}set(t,r,n){let s=this.#e.size,i=this.#e.get(t);i&&(s--,i.invalidate()),this.maxEntries>0&&s>=this.maxEntries&&(this.deleteOldest(),this.#r.recordEvictions(1)),this.#e.set(t,r);for(let a of n)this.#t.has(a.toString())||this.#t.set(a.toString(),new Set),this.#t.get(a.toString()).add(t)}size(){return this.#e.size}createValueEntry(t,r){return new SL(this.ttl,r)}createPromiseEntry(t,r){return new TL(this.ttl,r)}stats(){return this.#r.snapshot()}onError(){this.clear()}onClose(){this.clear()}deleteOldest(){let r=this.#e[Symbol.iterator]().next();if(!r.done){let n=r.value[0],s=this.#e.get(n);s&&s.invalidate(),this.#e.delete(n)}}entryEntries(){return this.#e.entries()}keySetEntries(){return this.#t.entries()}};Du.BasicClientSideCache=o9;var c9=class extends o9{#e=!1;disable(){this.#e=!0}enable(){this.#e=!1}get(t){if(!this.#e)return super.get(t)}has(t){return this.#e?!1:super.has(t)}onPoolClose(){this.clear()}};Du.PooledClientSideCacheProvider=c9;var u9=class extends c9{onError(){this.clear(!1)}onClose(){this.clear(!1)}};Du.BasicPooledClientSideCache=u9;var $ge=class extends SL{#e;constructor(t,r,n){super(t,n),this.#e=r}validate(){let t=super.validate();return this.#e&&(t=t&&this.#e.client.isReady&&this.#e.client.socketEpoch==this.#e.epoch),t}},qge=class extends TL{#e;constructor(t,r,n){super(t,n),this.#e=r}validate(){return super.validate()&&this.#e.client.isReady&&this.#e.client.socketEpoch==this.#e.epoch}},Hge=class extends u9{createValueEntry(t,r){let n={epoch:t.socketEpoch,client:t};return new $ge(this.ttl,n,r)}createPromiseEntry(t,r){let n={epoch:t.socketEpoch,client:t};return new qge(this.ttl,n,r)}onError(){}onClose(){}};Du.PooledNoRedirectClientSideCache=Hge});var l9=S(jge=>{"use strict";Object.defineProperty(jge,"__esModule",{value:!0});var Vge=class{#e;#t;get(t){return JSON.stringify(t,Mgt())===this.#t?this.#e:void 0}set(t,r){this.#e=r,this.#t=JSON.stringify(t,Mgt())}};jge.default=Vge;function Mgt(){let e=new WeakSet;return function(r,n){return n&&typeof n=="object"?e.has(n)?"circular":(e.add(n),n):n}}});var Qge=S(SR=>{"use strict";var Yge=SR&&SR.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(SR,"__esModule",{value:!0});SR.RedisClientPool=void 0;var U9r=Bf(),F9r=Yge(TR()),$9r=require("node:events"),Kge=t9(),q9r=Eh(),nS=Ih(),H9r=Yge(Uge()),kgt=vR(),d9=yh(),V9r=Yge(l9()),Gge=class e extends $9r.EventEmitter{static#e(t,r){let n=(0,nS.getTransformReply)(t,r);return async function(...s){let i=new d9.BasicCommandParser;return t.parseCommand(i,...s),this.execute(a=>a._executeCommand(t,i,this._commandOptions,n))}}static#t(t,r){let n=(0,nS.getTransformReply)(t,r);return async function(...s){let i=new d9.BasicCommandParser;return t.parseCommand(i,...s),this._self.execute(a=>a._executeCommand(t,i,this._self._commandOptions,n))}}static#r(t,r,n){let s=(0,nS.functionArgumentsPrefix)(t,r),i=(0,nS.getTransformReply)(r,n);return async function(...a){let o=new d9.BasicCommandParser;return o.push(...s),r.parseCommand(o,...a),this._self.execute(c=>c._executeCommand(r,o,this._self._commandOptions,i))}}static#n(t,r){let n=(0,nS.scriptArgumentsPrefix)(t),s=(0,nS.getTransformReply)(t,r);return async function(...i){let a=new d9.BasicCommandParser;return a.pushVariadic(n),t.parseCommand(a,...i),this.execute(o=>o._executeScript(t,a,this._commandOptions,s))}}static#a=new V9r.default;static create(t,r){let n=e.#a.get(t);return n||(n=(0,nS.attachConfig)({BaseClass:e,commands:U9r.NON_STICKY_COMMANDS,createCommand:e.#e,createModuleCommand:e.#t,createFunctionCommand:e.#r,createScriptCommand:e.#n,config:t}),n.prototype.Multi=H9r.default.extend(t),e.#a.set(t,n)),Object.create(new n(t,r))}static#o={minimum:1,maximum:100,acquireTimeout:3e3,cleanupDelay:3e3};#s;#i;#c=new Kge.SinglyLinkedList;get idleClients(){return this._self.#c.length}#l=new Kge.DoublyLinkedList;get clientsInUse(){return this._self.#l.length}get totalClients(){return this._self.#c.length+this._self.#l.length}#m=new Kge.SinglyLinkedList;get tasksQueueLength(){return this._self.#m.length}#h=!1;get isOpen(){return this._self.#h}#d=!1;get isClosing(){return this._self.#d}#f;get clientSideCache(){return this._self.#f}constructor(t,r){if(super(),this.#i={...e.#o,...r},r?.clientSideCache)if(t===void 0&&(t={}),r.clientSideCache instanceof kgt.PooledClientSideCacheProvider)this.#f=t.clientSideCache=r.clientSideCache;else{let n=r.clientSideCache;this.#f=t.clientSideCache=new kgt.BasicPooledClientSideCache(n)}this.#s=F9r.default.factory(t).bind(void 0,t)}_self=this;_commandOptions;withCommandOptions(t){let r=Object.create(this._self);return r._commandOptions=t,r}#p(t,r){let n=Object.create(this._self);return n._commandOptions=Object.create(this._commandOptions??null),n._commandOptions[t]=r,n}withTypeMapping(t){return this._self.#p("typeMapping",t)}withAbortSignal(t){return this._self.#p("abortSignal",t)}asap(){return this._self.#p("asap",!0)}async connect(){if(this._self.#h)return;this._self.#h=!0;let t=[];for(;t.lengththis.emit("error",r)));try{await t.value.connect()}catch(r){throw this._self.#l.remove(t),r}this._self.#v(t)}execute(t){return new Promise((r,n)=>{let s=this._self.#c.shift(),{tail:i}=this._self.#m;if(!s){let o;this._self.#i.acquireTimeout>0&&(o=setTimeout(()=>{this._self.#m.remove(c,i),n(new q9r.TimeoutError("Timeout waiting for a client"))},this._self.#i.acquireTimeout));let c=this._self.#m.push({timeout:o,resolve:r,reject:n,fn:t});this.totalClientsthis.#v(t)):(r(i),this.#v(t))}#v(t){let r=this.#m.shift();if(r){clearTimeout(r.timeout),this.#g(t,r.resolve,r.reject,r.fn);return}this.#l.remove(t),this.#c.push(t.value),this.#T()}cleanupTimeout;#T(){this.totalClients<=this.#i.minimum||(clearTimeout(this.cleanupTimeout),this.cleanupTimeout=setTimeout(()=>this.#_(),this.#i.cleanupDelay))}#_(){let t=Math.min(this.#c.length,this.totalClients-this.#i.minimum);for(let r=0;rn.sendCommand(t,r))}MULTI(){return new this.Multi((t,r)=>this.execute(n=>n._executeMulti(t,r)),t=>this.execute(r=>r._executePipeline(t)),this._commandOptions?.typeMapping)}multi=this.MULTI;async close(){if(!this._self.#d&&this._self.#h){this._self.#d=!0;try{let t=[];for(let r of this._self.#c)t.push(r.close());for(let r of this._self.#l)t.push(r.close());await Promise.all(t),this._self.#f?.onPoolClose(),this._self.#c.reset(),this._self.#l.reset()}catch{}finally{this._self.#d=!1}}}destroy(){for(let t of this._self.#c)t.destroy();this._self.#c.reset();for(let t of this._self.#l)t.destroy();this._self.#f?.onPoolClose(),this._self.#l.reset(),this._self.#h=!1}};SR.RedisClientPool=Gge});var Bgt=S((hes,j9r)=>{j9r.exports={name:"@redis/client",version:"5.11.0",license:"MIT",main:"./dist/index.js",types:"./dist/index.d.ts",files:["dist/","!dist/tsconfig.tsbuildinfo"],scripts:{test:"nyc -r text-summary -r lcov mocha -r tsx --reporter mocha-multi-reporters --reporter-options configFile=mocha-multi-reporter-config.json --exit './lib/**/*.spec.ts'",release:"release-it"},dependencies:{"cluster-key-slot":"1.1.2"},devDependencies:{"@node-rs/xxhash":"1.7.6","@redis/test-utils":"*","@types/sinon":"^17.0.3",sinon:"^17.0.1"},peerDependencies:{"@node-rs/xxhash":"^1.1.0"},peerDependenciesMeta:{"@node-rs/xxhash":{optional:!0}},engines:{node:">= 18"},repository:{type:"git",url:"git://github.com/redis/node-redis.git"},bugs:{url:"https://github.com/redis/node-redis/issues"},homepage:"https://github.com/redis/node-redis/tree/master/packages/client",keywords:["redis"]}});var TR=S(Ff=>{"use strict";var K9r=Ff&&Ff.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),G9r=Ff&&Ff.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Y9r=Ff&&Ff.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&K9r(t,e,r);return G9r(t,e),t},RR=Ff&&Ff.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},Uf;Object.defineProperty(Ff,"__esModule",{value:!0});var bR=RR(Bf()),Q9r=RR(_gt()),Ugt=Sgt(),z9r=RR(Cgt()),W9r=require("node:events"),sS=Ih(),PA=Eh(),X9r=require("node:url"),IR=gL(),J9r=RR(Uge()),Z9r=RR(o0e()),eqr=Lgt(),tqr=Qge(),iS=Ge(),Fgt=vR(),f9=yh(),rqr=RR(l9()),nqr=Bgt(),h9=Y9r(hL()),p9=class extends W9r.EventEmitter{static#e(t,r){let n=(0,sS.getTransformReply)(t,r);return async function(...s){let i=new f9.BasicCommandParser;return t.parseCommand(i,...s),this._self._executeCommand(t,i,this._commandOptions,n)}}static#t(t,r){let n=(0,sS.getTransformReply)(t,r);return async function(...s){let i=new f9.BasicCommandParser;return t.parseCommand(i,...s),this._self._executeCommand(t,i,this._self._commandOptions,n)}}static#r(t,r,n){let s=(0,sS.functionArgumentsPrefix)(t,r),i=(0,sS.getTransformReply)(r,n);return async function(...a){let o=new f9.BasicCommandParser;return o.push(...s),r.parseCommand(o,...a),this._self._executeCommand(r,o,this._self._commandOptions,i)}}static#n(t,r){let n=(0,sS.scriptArgumentsPrefix)(t),s=(0,sS.getTransformReply)(t,r);return async function(...i){let a=new f9.BasicCommandParser;return a.push(...n),t.parseCommand(a,...i),this._executeScript(t,a,this._commandOptions,s)}}static#a=new rqr.default;static factory(t){let r=Uf.#a.get(t);return r||(r=(0,sS.attachConfig)({BaseClass:Uf,commands:bR.default,createCommand:Uf.#e,createModuleCommand:Uf.#t,createFunctionCommand:Uf.#r,createScriptCommand:Uf.#n,config:t}),r.prototype.Multi=J9r.default.extend(t),Uf.#a.set(t,r)),n=>Object.create(new r(n))}static create(t){return Uf.factory(t)(t)}static parseOptions(t){if(t?.url){let r=Uf.parseURL(t.url);if(t.socket){if(t.socket.tls!==void 0&&t.socket.tls!==r.socket.tls)throw new TypeError(`tls socket option is set to ${t.socket.tls} which is mismatch with protocol or the URL ${t.url} passed`);r.socket=Object.assign(t.socket,r.socket)}Object.assign(t,r)}return t}static parseURL(t){let{hostname:r,port:n,protocol:s,username:i,password:a,pathname:o}=new X9r.URL(t),c={socket:{host:r.replace(/^\[([0-9a-f:]+)\]$/,"$1"),tls:!1}};if(s!=="redis:"&&s!=="rediss:")throw new TypeError("Invalid protocol");if(c.socket.tls=s==="rediss:",n&&(c.socket.port=Number(n)),i&&(c.username=decodeURIComponent(i)),a&&(c.password=decodeURIComponent(a)),(i||a)&&(c.credentialsProvider={type:"async-credentials-provider",credentials:async()=>({username:i?decodeURIComponent(i):void 0,password:a?decodeURIComponent(a):void 0})}),o.length>1){let u=Number(o.substring(1));if(isNaN(u))throw new TypeError("Invalid pathname");c.database=u}return c}#o;#s;#i;#c=0;#l;_self=this;_commandOptions;#m;#h;#d;#f=null;#p=!1;get clientSideCache(){return this._self.#d}get options(){return this._self.#o}get isOpen(){return this._self.#s.isOpen}get isReady(){return this._self.#s.isReady}get isPubSubActive(){return this._self.#i.isPubSubActive}get socketEpoch(){return this._self.#s.socketEpoch}get isWatching(){return this._self.#h!==void 0}get isDirtyWatch(){return this._self.#m!==void 0}setDirtyWatch(t){this._self.#m=t}constructor(t){if(super(),this.#A(t),this.#o=this.#g(t),this.#i=this.#v(),this.#s=this.#b(),this.#o.maintNotifications!=="disabled"&&new h9.default(this.#i,this,this.#o),this.#o.clientSideCache){if(this.#o.clientSideCache instanceof Fgt.ClientSideCacheProvider)this.#d=this.#o.clientSideCache;else{let r=this.#o.clientSideCache;this.#d=new Fgt.BasicClientSideCache(r)}this.#i.addPushHandler(r=>{if(r[0].toString()!=="invalidate")return!1;if(r[1]!==null)for(let n of r[1])this.#d?.invalidate(n);else this.#d?.invalidate(null);return!0})}else t?.emitInvalidate&&this.#i.addPushHandler(r=>{if(r[0].toString()!=="invalidate")return!1;if(r[1]!==null)for(let n of r[1])this.emit("invalidate",n);else this.emit("invalidate",null);return!0})}#A(t){if(t?.clientSideCache&&t?.RESP!==3)throw new Error("Client Side Caching is only supported with RESP3");if(t?.emitInvalidate&&t?.RESP!==3)throw new Error("emitInvalidate is only supported with RESP3");if(t?.clientSideCache&&t?.emitInvalidate)throw new Error("emitInvalidate is not supported (or necessary) when clientSideCache is enabled");if(t?.maintNotifications&&t?.maintNotifications!=="disabled"&&t?.RESP!==3)throw new Error("Graceful Maintenance is only supported with RESP3")}#g(t={}){if(!t.credentialsProvider&&(t.username||t.password)&&(t.credentialsProvider={type:"async-credentials-provider",credentials:async()=>({username:t.username,password:t.password})}),t.database&&(this._self.#c=t.database),t.commandOptions&&(this._commandOptions=t.commandOptions),t.maintNotifications!=="disabled"&&h9.default.setupDefaultMaintOptions(t),t.url){let r=Uf.parseOptions(t);return r?.database&&(this._self.#c=r.database),r}return t}#v(){return new z9r.default(this.#o.RESP??2,this.#o.commandsQueueMaxLength,(t,r)=>this.emit("sharded-channel-moved",t,r))}reAuthenticate=async t=>{this.isPubSubActive&&!this.#o.RESP||await this.sendCommand((0,iS.parseArgs)(bR.default.AUTH,{username:t.username,password:t.password??""}))};#T(t){return t.subscribe({onNext:r=>{this.reAuthenticate(r).catch(n=>{let s=n instanceof Error?n.message:String(n);t.onReAuthenticationError(new Ugt.CredentialsError(s))})},onError:r=>{let n=`Error from streaming credentials provider: ${r.message}`;t.onReAuthenticationError(new Ugt.UnableToObtainNewCredentialsError(n))}})}async#_(t,r){let n=[],s=await this.#I();r&&s.reverse();for(let{cmd:i,errorHandler:a}of s)n.push(this.#i.addCommand(i,{chainId:t,asap:r}).catch(a));return n}async#I(){let t=[],r=this.#o.credentialsProvider;if(this.#o.RESP){let s={};if(r&&r.type==="async-credentials-provider"){let i=await r.credentials();i.password&&(s.AUTH={username:i.username??"default",password:i.password})}if(r&&r.type==="streaming-credentials-provider"){let[i,a]=await this.#T(r);this.#f=a,i.password&&(s.AUTH={username:i.username??"default",password:i.password})}this.#o.name&&(s.SETNAME=this.#o.name),t.push({cmd:(0,iS.parseArgs)(Z9r.default,this.#o.RESP,s)})}else{if(r&&r.type==="async-credentials-provider"){let s=await r.credentials();(s.username||s.password)&&t.push({cmd:(0,iS.parseArgs)(bR.default.AUTH,{username:s.username,password:s.password??""})})}if(r&&r.type==="streaming-credentials-provider"){let[s,i]=await this.#T(r);this.#f=i,(s.username||s.password)&&t.push({cmd:(0,iS.parseArgs)(bR.default.AUTH,{username:s.username,password:s.password??""})})}this.#o.name&&t.push({cmd:(0,iS.parseArgs)(bR.default.CLIENT_SETNAME,this.#o.name)})}this.#c!==0&&t.push({cmd:["SELECT",this.#c.toString()]}),this.#o.readonly&&t.push({cmd:(0,iS.parseArgs)(bR.default.READONLY)}),this.#o.disableClientInfo||(t.push({cmd:["CLIENT","SETINFO","LIB-VER",nqr.version],errorHandler:()=>{}}),t.push({cmd:["CLIENT","SETINFO","LIB-NAME",this.#o.clientInfoTag?`node-redis(${this.#o.clientInfoTag})`:"node-redis"],errorHandler:()=>{}})),this.#d&&t.push({cmd:this.#d.trackingOn()}),this.#o?.emitInvalidate&&t.push({cmd:["CLIENT","TRACKING","ON"]});let n=await h9.default.getHandshakeCommand(this.#o);return n&&t.push(n),t}#S(t){t.on("data",r=>{try{this.#i.decoder.write(r)}catch(n){this.#i.resetDecoder(),this.emit("error",n)}}).on("error",r=>{this.emit("error",r),this.#d?.onError(),this.#s.isOpen&&!this.#o.disableOfflineQueue?this.#i.flushWaitingForReply(r):this.#i.flushAll(r)}).on("connect",()=>this.emit("connect")).on("ready",()=>{this.emit("ready"),this.#u(),this.#N()}).on("reconnecting",()=>this.emit("reconnecting")).on("drain",()=>this.#N()).on("end",()=>this.emit("end"))}#b(){let t=async()=>{let n=[],s=Symbol("Socket Initiator"),i=this.#i.resubscribe(s);if(i?.catch(a=>{a.message&&a.message.startsWith("MOVED")&&this.emit("__MOVED",this._self.#i.removeAllPubSubListeners())}),i&&n.push(i),this.#l&&n.push(this.#i.monitor(this.#l,{typeMapping:this._commandOptions?.typeMapping,chainId:s,asap:!0})),n.push(...await this.#_(s,!0)),n.length)return this.#D(),Promise.all(n)},r=new Q9r.default(t,this.#o.socket);return this.#S(r),r}#y;#u(){!this.#o.pingInterval||!this.#s.isReady||(clearTimeout(this.#y),this.#y=setTimeout(()=>{this.#s.isReady&&this.sendCommand(["PING"]).then(t=>this.emit("ping-interval",t)).catch(t=>this.emit("error",t)).finally(()=>this.#u())},this.#o.pingInterval))}withCommandOptions(t){let r=Object.create(this._self);return r._commandOptions=t,r}_commandOptionsProxy(t,r){let n=Object.create(this._self);return n._commandOptions=Object.create(this._commandOptions??null),n._commandOptions[t]=r,n}withTypeMapping(t){return this._commandOptionsProxy("typeMapping",t)}withAbortSignal(t){return this._commandOptionsProxy("abortSignal",t)}asap(){return this._commandOptionsProxy("asap",!0)}legacy(){return new eqr.RedisLegacyClient(this)}createPool(t){return tqr.RedisClientPool.create(this._self.#o,t)}duplicate(t){return new(Object.getPrototypeOf(this)).constructor({...this._self.#o,commandOptions:this._commandOptions,...t})}async connect(){return await this._self.#s.connect(),this}_ejectSocket(){let t=this._self.#s;return this._self.#s=null,t.removeAllListeners(),t}_insertSocket(t){this._self.#s&&this._self._ejectSocket().destroy(),this._self.#s=t,this._self.#S(this._self.#s)}_maintenanceUpdate(t){this._self.#s.setMaintenanceTimeout(t.relaxedSocketTimeout),this._self.#i.setMaintenanceCommandTimeout(t.relaxedCommandTimeout)}_pause(){this._self.#p=!0}_unpause(){this._self.#p=!1,this._self.#N()}_handleSmigrated(t){this._self.emit(h9.SMIGRATED_EVENT,t)}_getQueue(){return this._self.#i}async _executeCommand(t,r,n,s){let i=this._self.#d,a=this._self.#o.commandOptions===n||this._self.#o.commandOptions?.typeMapping===n?.typeMapping,o=()=>this.sendCommand(r.redisArgs,n);if(i&&t.CACHEABLE&&a)return await i.handleCache(this._self,r,o,s,n?.typeMapping);{let c=await o();return s?s(c,r.preserve,n?.typeMapping):c}}async _executeScript(t,r,n,s){let i=r.redisArgs,a;try{a=await this.sendCommand(i,n)}catch(o){if(!o?.message?.startsWith?.("NOSCRIPT"))throw o;i[0]="EVAL",i[1]=t.SCRIPT,a=await this.sendCommand(i,n)}return s?s(a,r.preserve,n?.typeMapping):a}sendCommand(t,r){if(this._self.#s.isOpen){if(!this._self.#s.isReady&&this._self.#o.disableOfflineQueue)return Promise.reject(new PA.ClientOfflineError)}else return Promise.reject(new PA.ClientClosedError);let n={...this._self._commandOptions,...r},s=this._self.#i.addCommand(t,n);return this._self.#R(),s}async SELECT(t){await this.sendCommand(["SELECT",t.toString()]),this._self.#c=t}select=this.SELECT;#E(t){return t===void 0?Promise.resolve():(this.#R(),t)}SUBSCRIBE(t,r,n){return this._self.#E(this._self.#i.subscribe(IR.PUBSUB_TYPE.CHANNELS,t,r,n))}subscribe=this.SUBSCRIBE;UNSUBSCRIBE(t,r,n){return this._self.#E(this._self.#i.unsubscribe(IR.PUBSUB_TYPE.CHANNELS,t,r,n))}unsubscribe=this.UNSUBSCRIBE;PSUBSCRIBE(t,r,n){return this._self.#E(this._self.#i.subscribe(IR.PUBSUB_TYPE.PATTERNS,t,r,n))}pSubscribe=this.PSUBSCRIBE;PUNSUBSCRIBE(t,r,n){return this._self.#E(this._self.#i.unsubscribe(IR.PUBSUB_TYPE.PATTERNS,t,r,n))}pUnsubscribe=this.PUNSUBSCRIBE;SSUBSCRIBE(t,r,n){return this._self.#E(this._self.#i.subscribe(IR.PUBSUB_TYPE.SHARDED,t,r,n))}sSubscribe=this.SSUBSCRIBE;SUNSUBSCRIBE(t,r,n){return this._self.#E(this._self.#i.unsubscribe(IR.PUBSUB_TYPE.SHARDED,t,r,n))}sUnsubscribe=this.SUNSUBSCRIBE;async WATCH(t){let r=await this._self.sendCommand((0,iS.pushVariadicArguments)(["WATCH"],t));return this._self.#h??=this._self.socketEpoch,r}watch=this.WATCH;async UNWATCH(){let t=await this._self.sendCommand(["UNWATCH"]);return this._self.#h=void 0,t}unwatch=this.UNWATCH;getPubSubListeners(t){return this._self.#i.getPubSubListeners(t)}extendPubSubChannelListeners(t,r,n){return this._self.#E(this._self.#i.extendPubSubChannelListeners(t,r,n))}extendPubSubListeners(t,r){return this._self.#E(this._self.#i.extendPubSubListeners(t,r))}#D(){this.#p||this.#s.write(this.#i.commandsToWrite())}#C;#R(){!this.#s.isReady||this.#C||(this.#C=setImmediate(()=>{this.#D(),this.#C=void 0}))}#N(){this.#i.isWaitingToWrite()&&this.#R()}async _executePipeline(t,r){if(!this._self.#s.isOpen)return Promise.reject(new PA.ClientClosedError);let n=Symbol("Pipeline Chain"),s=Promise.all(t.map(({args:a})=>this._self.#i.addCommand(a,{chainId:n,typeMapping:this._commandOptions?.typeMapping})));this._self.#R();let i=await s;return r!==void 0&&(this._self.#c=r),i}async _executeMulti(t,r){let n=this._self.#m;this._self.#m=void 0;let s=this._self.#h;if(this._self.#h=void 0,!this._self.#s.isOpen)throw new PA.ClientClosedError;if(n)throw new PA.WatchError(n);if(s&&s!==this._self.socketEpoch)throw new PA.WatchError("Client reconnected after WATCH");let i=this._commandOptions?.typeMapping,a=Symbol("MULTI Chain"),o=[this._self.#i.addCommand(["MULTI"],{chainId:a})];for(let{args:l}of t)o.push(this._self.#i.addCommand(l,{chainId:a,typeMapping:i}));o.push(this._self.#i.addCommand(["EXEC"],{chainId:a})),this._self.#R();let c=await Promise.all(o),u=c[c.length-1];if(u===null)throw new PA.WatchError;return r!==void 0&&(this._self.#c=r),u}MULTI(){return new this.Multi(this._executeMulti.bind(this),this._executePipeline.bind(this),this._commandOptions?.typeMapping)}multi=this.MULTI;async*scanIterator(t){let r=t?.cursor??"0";do{let n=await this.scan(r,t);r=n.cursor,yield n.keys}while(r!=="0")}async*hScanIterator(t,r){let n=r?.cursor??"0";do{let s=await this.hScan(t,n,r);n=s.cursor,yield s.entries}while(n!=="0")}async*hScanValuesIterator(t,r){let n=r?.cursor??"0";do{let s=await this.hScanNoValues(t,n,r);n=s.cursor,yield s.fields}while(n!=="0")}async*hScanNoValuesIterator(t,r){let n=r?.cursor??"0";do{let s=await this.hScanNoValues(t,n,r);n=s.cursor,yield s.fields}while(n!=="0")}async*sScanIterator(t,r){let n=r?.cursor??"0";do{let s=await this.sScan(t,n,r);n=s.cursor,yield s.members}while(n!=="0")}async*zScanIterator(t,r){let n=r?.cursor??"0";do{let s=await this.zScan(t,n,r);n=s.cursor,yield s.members}while(n!=="0")}async MONITOR(t){let r=this._self.#i.monitor(t,{typeMapping:this._commandOptions?.typeMapping});this._self.#R(),await r,this._self.#l=t}monitor=this.MONITOR;async reset(){let t=Symbol("Reset Chain"),r=[this._self.#i.reset(t)],n=this._self.#o?.database??0;this._self.#f?.dispose(),this._self.#f=null,r.push(...await this._self.#_(t,!1)),this._self.#R(),await Promise.all(r),this._self.#c=n,this._self.#l=void 0,this._self.#m=void 0,this._self.#h=void 0}resetIfDirty(){let t=!1;if(this._self.#c!==(this._self.#o?.database??0)&&(console.warn("Returning a client with a different selected DB"),t=!0),this._self.#l&&(console.warn("Returning a client with active MONITOR"),t=!0),this._self.#i.isPubSubActive&&(console.warn("Returning a client with active PubSub"),t=!0),(this._self.#m||this._self.#h)&&(console.warn("Returning a client with active WATCH"),t=!0),t)return this.reset()}QUIT(){return this._self.#f?.dispose(),this._self.#f=null,this._self.#s.quit(async()=>{clearTimeout(this._self.#y);let t=this._self.#i.addCommand(["QUIT"]);return this._self.#R(),t})}quit=this.QUIT;disconnect(){return Promise.resolve(this.destroy())}close(){return new Promise(t=>{if(clearTimeout(this._self.#y),this._self.#s.close(),this._self.#d?.onClose(),this._self.#i.isEmpty())return this._self.#s.destroySocket(),t();let r=()=>{this._self.#i.isEmpty()&&(this._self.#s.off("data",r),this._self.#s.destroySocket(),t())};this._self.#s.on("data",r),this._self.#f?.dispose(),this._self.#f=null})}destroy(){clearTimeout(this._self.#y),this._self.#i.flushAll(new PA.DisconnectsClientError),this._self.#s.destroy(),this._self.#d?.onClose(),this._self.#f?.dispose(),this._self.#f=null}ref(){this._self.#s.ref()}unref(){this._self.#s.unref()}};Uf=p9;Ff.default=p9});var Hgt=S(Rh=>{"use strict";var qgt=Rh&&Rh.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},Wge;Object.defineProperty(Rh,"__esModule",{value:!0});Rh.RESUBSCRIBE_LISTENERS_EVENT=void 0;var sqr=Eh(),iqr=qgt(TR()),Sl=gL(),zge=qgt(Oge()),$gt=vR(),Pu=hL();Rh.RESUBSCRIBE_LISTENERS_EVENT="__resubscribeListeners";var m9=class{static#e=16384;#t;#r;#n;slots=new Array(Wge.#e);masters=new Array;replicas=new Array;nodeByAddress=new Map;pubSubNode;clientSideCache;smigratedSeqIdsSeen=new Set;#a=!1;get isOpen(){return this.#a}#o(t){if(t?.clientSideCache&&t?.RESP!==3)throw new Error("Client Side Caching is only supported with RESP3")}constructor(t,r){this.#o(t),this.#t=t,t?.clientSideCache&&(t.clientSideCache instanceof $gt.PooledClientSideCacheProvider?this.clientSideCache=t.clientSideCache:this.clientSideCache=new $gt.BasicPooledClientSideCache(t.clientSideCache)),this.#r=iqr.default.factory(this.#t),this.#n=r}async connect(){if(this.#a)throw new Error("Cluster already open");this.#a=!0;try{await this.#s(),this.#n("connect")}catch(t){throw this.#a=!1,t}}async#s(){let t=Math.floor(Math.random()*this.#t.rootNodes.length);for(let r=t;rthis.#f(d,!0,s,r,n)));for(let d=a;d<=o;d++)this.slots[d]=l}if(this.pubSubNode&&!r.has(this.pubSubNode.address)){let a=this.pubSubNode.client.getPubSubListeners(Sl.PUBSUB_TYPE.CHANNELS),o=this.pubSubNode.client.getPubSubListeners(Sl.PUBSUB_TYPE.PATTERNS);this.pubSubNode.client.destroy(),(a.size||o.size)&&n.push(this.#b({[Sl.PUBSUB_TYPE.CHANNELS]:a,[Sl.PUBSUB_TYPE.PATTERNS]:o}))}for(let[a,o]of this.nodeByAddress.entries()){if(r.has(a))continue;o.client&&o.client.destroy();let{pubSub:c}=o;c&&c.client.destroy(),this.nodeByAddress.delete(a)}return await Promise.all(n),this.clientSideCache?.enable(),!0}catch(r){return this.#n("error",r),!1}}#l=async t=>{if((0,Pu.dbgMaintenance)("[CSlots]: handle smigrated",JSON.stringify(t,null,2)),this.smigratedSeqIdsSeen.has(t.seqId)){(0,Pu.dbgMaintenance)(`[CSlots]: sequence id ${t.seqId} already seen, abort`);return}this.smigratedSeqIdsSeen.add(t.seqId);for(let r of t.entries){let n=`${r.source.host}:${r.source.port}`,s=this.nodeByAddress.get(n);if((0,Pu.dbgMaintenance)(`[CSlots]: Looking for sourceAddress=${n}. Available addresses in nodeByAddress: ${Array.from(this.nodeByAddress.keys()).join(", ")}`),!s){(0,Pu.dbgMaintenance)(`[CSlots]: address ${n} not in 'nodeByAddress', skipping this entry`);continue}if(s.client===void 0){(0,Pu.dbgMaintenance)(`[CSlots]: Node for ${n} does not have a client, skipping this entry`);continue}let i=new Set;try{s.client?._pause(),"pubSub"in s&&s.pubSub?.client._pause();let a;for(let{addr:{host:d,port:f},slots:h}of r.destinations){let p=`${d}:${f}`,m=this.nodeByAddress.get(p);(0,Pu.dbgMaintenance)(`[CSlots]: Looking for destAddress=${p}. Found in nodeByAddress: ${m?"YES":"NO"}`);let g;if(m){let E=[...new Set(this.slots)].map(v=>`${v.master.host}:${v.master.port}`);(0,Pu.dbgMaintenance)(`[CSlots]: Searching for shard with host=${d}, port=${f}. Available masters in slots: ${E.join(", ")}`);let A=this.slots.find(v=>v.master.host===d&&v.master.port===f);if(!A)throw(0,Pu.dbgMaintenance)("Could not find shard"),new Error("Could not find shard");g=A,m.client?._pause(),m.pubSub?.client._pause()}else{let E=[];m=this.#f({host:d,port:f,id:`smigrated-${d}:${f}`},!1,!0,new Set,E),await Promise.all([...E,this.#y(m)]),m.client?._pause(),m.pubSub?.client._pause(),g={master:m}}a=m;let _=new Set;for(let E of h)if(typeof E=="number")this.slots[E]=g,_.add(E),i.add(E);else for(let A=E[0];A<=E[1];A++)this.slots[A]=g,_.add(A),i.add(A);(0,Pu.dbgMaintenance)(`[CSlots]: Updated slots to point to destination ${m.address}. Sample slots: ${Array.from(h).slice(0,5).join(", ")}${h.length>5?"...":""}`);let y=s.client._getQueue().extractCommandsForSlots(_);m.client?._getQueue().prependCommandsToWrite(y),(0,Pu.dbgMaintenance)(`[CSlots]: Extracted ${y.length} commands for ${_.size} slots, prepended to ${m.address}`),m.client?._unpause(),m.pubSub?.client._unpause()}(0,Pu.dbgMaintenance)(`[CSlots]: Total ${i.size} slots moved from ${n}. Sample: ${Array.from(i).slice(0,10).join(", ")}${i.size>10?"...":""}`);let o=5e3,c=[],u={timeoutMs:o,flushOnTimeout:!0};if(c.push(s.client._getQueue().waitForInflightCommandsToComplete(u)),"pubSub"in s&&s.pubSub!==void 0&&c.push(s.pubSub.client._getQueue().waitForInflightCommandsToComplete(u)),this.pubSubNode?.address===n&&c.push(this.pubSubNode.client._getQueue().waitForInflightCommandsToComplete(u)),await Promise.all(c),this.slots.find(d=>d.master.address===n)!==void 0){if("pubSub"in s){let d=s.pubSub?.client._getQueue().removeShardedPubSubListenersForSlots(i);this.#n(Rh.RESUBSCRIBE_LISTENERS_EVENT,d)}s.client?._unpause(),"pubSub"in s&&s.pubSub?.client._unpause()}else{let d=s.client._getQueue().extractAllCommands();if(d.length>0&&a&&(a.client?._getQueue().prependCommandsToWrite(d),a.client?._unpause(),(0,Pu.dbgMaintenance)(`[CSlots]: Moved ${d.length} remaining slotless commands to ${a.address}`)),"pubSub"in s){let f=s.pubSub?.client._getQueue().removeAllPubSubListeners();this.#n(Rh.RESUBSCRIBE_LISTENERS_EVENT,f)}if(this.masters=this.masters.filter(f=>f.address!==n),this.replicas=this.replicas.filter(f=>f.address!==n),this.nodeByAddress.delete(n),this.pubSubNode?.address===n){let f=this.pubSubNode.client.getPubSubListeners(Sl.PUBSUB_TYPE.CHANNELS),h=this.pubSubNode.client.getPubSubListeners(Sl.PUBSUB_TYPE.PATTERNS),p=this.pubSubNode.client;f.size||h.size?await this.#b({[Sl.PUBSUB_TYPE.CHANNELS]:f,[Sl.PUBSUB_TYPE.PATTERNS]:h}):this.pubSubNode=void 0,p.destroy()}s.client?.destroy(),"pubSub"in s&&s.pubSub?.client.destroy()}}catch(a){(0,Pu.dbgMaintenance)(`[CSlots]: Error during SMIGRATED handling for source ${n}: ${a}`),s.client?._unpause(),"pubSub"in s&&s.pubSub?.client._unpause(),this.#n("error",a)}}};async#m(t){let r=this.#d(t);r.socket??={},r.socket.reconnectStrategy=!1,r.RESP=this.#t.RESP,r.commandOptions=void 0,r.maintNotifications="disabled";let n=await this.#r(r).on("error",s=>this.#n("error",s)).connect();try{return await n.clusterSlots()}finally{n.destroy()}}#h(t){switch(typeof this.#t.nodeAddressMap){case"object":return this.#t.nodeAddressMap[t];case"function":return this.#t.nodeAddressMap(t)}}#d(t){if(!this.#t.defaults)return t;let r;return this.#t.defaults.socket?r={...this.#t.defaults.socket,...t?.socket}:r=t?.socket,{...this.#t.defaults,...t,socket:r}}#f(t,r,n,s,i){let a=`${t.host}:${t.port}`,o=this.nodeByAddress.get(a);return o||(o={...t,address:a,readonly:r,client:void 0,connectPromise:void 0},n&&i.push(this.#A(o)),this.nodeByAddress.set(a,o)),s.has(a)||(s.add(a),(r?this.replicas:this.masters).push(o)),o}#p(t,r=t.readonly){let n=this.#h(t.address)??{host:t.host,port:t.port},s=Object.freeze({host:n.host,port:n.port}),i=this.#n,a=this.#r(this.#d({clientSideCache:this.clientSideCache,RESP:this.#t.RESP,socket:n,readonly:r})).on("error",o=>i("node-error",o,s)).on("reconnecting",()=>i("node-reconnecting",s)).once("ready",()=>i("node-ready",s)).once("connect",()=>i("node-connect",s)).once("end",()=>i("node-disconnect",s)).on(Pu.SMIGRATED_EVENT,this.#l).on("__MOVED",async o=>{await this.rediscover(a),this.#n(Rh.RESUBSCRIBE_LISTENERS_EVENT,o)});return a}#A(t,r){let n=t.client=this.#p(t,r);return t.connectPromise=n.connect().finally(()=>t.connectPromise=void 0)}nodeClient(t){return t.connectPromise?t.connectPromise:t.client?Promise.resolve(t.client):this.#A(t)}#g;async rediscover(t){return this.#g??=this.#v(t).finally(()=>{this.#g=void 0}),this.#g}async#v(t){if(!await this.#c(t.options))return this.#s()}quit(){return this.#_(t=>t.quit())}disconnect(){return this.#_(t=>t.disconnect())}close(){return this.#_(t=>t.close())}destroy(){this.#a=!1;for(let t of this.#T())t.destroy();this.pubSubNode&&(this.pubSubNode.client.destroy(),this.pubSubNode=void 0),this.#i(),this.nodeByAddress.clear(),this.#n("disconnect")}*#T(){for(let t of this.masters)t.client&&(yield t.client),t.pubSub&&(yield t.pubSub.client);for(let t of this.replicas)t.client&&(yield t.client)}async#_(t){this.#a=!1;let r=[];for(let n of this.#T())r.push(t(n));this.pubSubNode&&(r.push(t(this.pubSubNode.client)),this.pubSubNode=void 0),this.#i(),this.nodeByAddress.clear(),await Promise.allSettled(r),this.#n("disconnect")}async getClientAndSlotNumber(t,r){if(!t)return{client:await this.nodeClient(this.getRandomNode())};let n=(0,zge.default)(t);return r?{client:await this.nodeClient(this.getSlotRandomNode(n)),slotNumber:n}:{client:await this.nodeClient(this.slots[n].master),slotNumber:n}}*#I(){if(this.masters.length+this.replicas.length===0)return;let t=Math.floor(Math.random()*(this.masters.length+this.replicas.length));if(t(t&&await Promise.all([i.extendPubSubListeners(Sl.PUBSUB_TYPE.CHANNELS,t[Sl.PUBSUB_TYPE.CHANNELS]),i.extendPubSubListeners(Sl.PUBSUB_TYPE.PATTERNS,t[Sl.PUBSUB_TYPE.PATTERNS])]),this.pubSubNode.connectPromise=void 0,i)).catch(i=>{throw this.pubSubNode=void 0,i})},this.pubSubNode.connectPromise}async executeUnsubscribeCommand(t){let r=await this.getPubSubClient();await t(r),r.isPubSubActive||(r.destroy(),this.pubSubNode=void 0)}getShardedPubSubClient(t){let{master:r}=this.slots[(0,zge.default)(t)];return r.pubSub?r.pubSub.connectPromise??Promise.resolve(r.pubSub.client):this.#y(r)}async#y(t){let r=this.#p(t,!1).on("server-sunsubscribe",async(n,s)=>{try{await this.rediscover(r),await(await this.getShardedPubSubClient(n)).extendPubSubChannelListeners(Sl.PUBSUB_TYPE.SHARDED,n,s)}catch(i){this.#n("sharded-shannel-moved-error",i,n,s)}});return t.pubSub={client:r,connectPromise:r.connect().then(n=>(t.pubSub.connectPromise=void 0,n)).catch(n=>{throw t.pubSub=void 0,n})},t.pubSub.connectPromise}async executeShardedUnsubscribeCommand(t,r){let{master:n}=this.slots[(0,zge.default)(t)];if(!n.pubSub)return;let s=n.pubSub.connectPromise?await n.pubSub.connectPromise:n.pubSub.client;await r(s),s.isPubSubActive||(s.destroy(),n.pubSub=void 0)}};Wge=m9;Rh.default=m9});var Vgt=S(bL=>{"use strict";var aqr=bL&&bL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(bL,"__esModule",{value:!0});var oqr=Bf(),cqr=aqr(EL()),CR=Ih(),g9=yh(),Xge=class e{static#e(t,r){let n=(0,CR.getTransformReply)(t,r);return function(...s){let i=new g9.BasicCommandParser;t.parseCommand(i,...s);let a=i.redisArgs;a.preserve=i.preserve;let o=i.firstKey;return this.addCommand(o,t.IS_READ_ONLY,a,n)}}static#t(t,r){let n=(0,CR.getTransformReply)(t,r);return function(...s){let i=new g9.BasicCommandParser;t.parseCommand(i,...s);let a=i.redisArgs;a.preserve=i.preserve;let o=i.firstKey;return this._self.addCommand(o,t.IS_READ_ONLY,a,n)}}static#r(t,r,n){let s=(0,CR.functionArgumentsPrefix)(t,r),i=(0,CR.getTransformReply)(r,n);return function(...a){let o=new g9.BasicCommandParser;o.push(...s),r.parseCommand(o,...a);let c=o.redisArgs;c.preserve=o.preserve;let u=o.firstKey;return this._self.addCommand(u,r.IS_READ_ONLY,c,i)}}static#n(t,r){let n=(0,CR.getTransformReply)(t,r);return function(...s){let i=new g9.BasicCommandParser;t.parseCommand(i,...s);let a=i.redisArgs;a.preserve=i.preserve;let o=i.firstKey;return this.#m(o,t.IS_READ_ONLY,t,a,n)}}static extend(t){return(0,CR.attachConfig)({BaseClass:e,commands:oqr.NON_STICKY_COMMANDS,createCommand:e.#e,createModuleCommand:e.#t,createFunctionCommand:e.#r,createScriptCommand:e.#n,config:t})}#a;#o;#s;#i;#c=!0;constructor(t,r,n,s){this.#a=new cqr.default(s),this.#o=t,this.#s=r,this.#i=n}#l(t,r){this.#i??=t,this.#c&&=r}addCommand(t,r,n,s){return this.#l(t,r),this.#a.addCommand(n,s),this}#m(t,r,n,s,i){return this.#l(t,r),this.#a.addScript(n,s,i),this}async exec(t=!1){return t?this.execAsPipeline():this.#a.transformReplies(await this.#o(this.#i,this.#c,this.#a.queue))}EXEC=this.exec;execTyped(t=!1){return this.exec(t)}async execAsPipeline(){return this.#a.queue.length===0?[]:this.#a.transformReplies(await this.#s(this.#i,this.#c,this.#a.queue))}execAsPipelineTyped(){return this.execAsPipeline()}};bL.default=Xge});var Ggt=S($f=>{"use strict";var uqr=$f&&$f.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),lqr=$f&&$f.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),dqr=$f&&$f.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&uqr(t,e,r);return lqr(t,e),t},Kgt=$f&&$f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty($f,"__esModule",{value:!0});var fqr=Bf(),hqr=require("node:events"),aS=Ih(),jgt=dqr(Hgt()),pqr=Kgt(Vgt()),mqr=Eh(),_9=yh(),gqr=mde(),_qr=Kgt(l9()),Jge=class e extends hqr.EventEmitter{static#e(t,r){let n=(0,aS.getTransformReply)(t,r);return async function(...s){let i=new _9.BasicCommandParser;return t.parseCommand(i,...s),this._self._execute(i.firstKey,t.IS_READ_ONLY,this._commandOptions,(a,o)=>a._executeCommand(t,i,o,n))}}static#t(t,r){let n=(0,aS.getTransformReply)(t,r);return async function(...s){let i=new _9.BasicCommandParser;return t.parseCommand(i,...s),this._self._execute(i.firstKey,t.IS_READ_ONLY,this._self._commandOptions,(a,o)=>a._executeCommand(t,i,o,n))}}static#r(t,r,n){let s=(0,aS.functionArgumentsPrefix)(t,r),i=(0,aS.getTransformReply)(r,n);return async function(...a){let o=new _9.BasicCommandParser;return o.push(...s),r.parseCommand(o,...a),this._self._execute(o.firstKey,r.IS_READ_ONLY,this._self._commandOptions,(c,u)=>c._executeCommand(r,o,u,i))}}static#n(t,r){let n=(0,aS.scriptArgumentsPrefix)(t),s=(0,aS.getTransformReply)(t,r);return async function(...i){let a=new _9.BasicCommandParser;return a.push(...n),t.parseCommand(a,...i),this._self._execute(a.firstKey,t.IS_READ_ONLY,this._commandOptions,(o,c)=>o._executeScript(t,a,c,s))}}static#a=new _qr.default;static factory(t){let r=e.#a.get(t);return r||(r=(0,aS.attachConfig)({BaseClass:e,commands:fqr.NON_STICKY_COMMANDS,createCommand:e.#e,createModuleCommand:e.#t,createFunctionCommand:e.#r,createScriptCommand:e.#n,config:t}),r.prototype.Multi=pqr.default.extend(t),e.#a.set(t,r)),n=>Object.create(new r(n))}static create(t){return e.factory(t)(t)}_options;_slots;_self=this;_commandOptions;get slots(){return this._self._slots.slots}get clientSideCache(){return this._self._slots.clientSideCache}get masters(){return this._self._slots.masters}get replicas(){return this._self._slots.replicas}get nodeByAddress(){return this._self._slots.nodeByAddress}get pubSubNode(){return this._self._slots.pubSubNode}get isOpen(){return this._self._slots.isOpen}constructor(t){super(),this._options=t,this._slots=new jgt.default(t,this.emit.bind(this)),this.on(jgt.RESUBSCRIBE_LISTENERS_EVENT,this.resubscribeAllPubSubListeners.bind(this)),t?.commandOptions&&(this._commandOptions=t.commandOptions)}duplicate(t){return new(Object.getPrototypeOf(this)).constructor({...this._self._options,commandOptions:this._commandOptions,...t})}async connect(){return await this._self._slots.connect(),this}withCommandOptions(t){let r=Object.create(this);return r._commandOptions=t,r}_commandOptionsProxy(t,r){let n=Object.create(this);return n._commandOptions=Object.create(this._commandOptions??null),n._commandOptions[t]=r,n}withTypeMapping(t){return this._commandOptionsProxy("typeMapping",t)}_handleAsk(t){return async(r,n)=>{let s=Symbol("asking chain"),i=n?{...n}:{};return i.chainId=s,(await Promise.all([r.sendCommand([gqr.ASKING_CMD],{chainId:s}),t(r,i)]))[1]}}async _execute(t,r,n,s){let i=this._options.maxCommandRedirections??16,{client:a,slotNumber:o}=await this._slots.getClientAndSlotNumber(t,r),c=0,u=s;for(;;)try{let l=n??{};return l.slotNumber=o,await u(a,l)}catch(l){if(u=s,++c>i||!(l instanceof Error))throw l;if(l.message.startsWith("ASK")){let d=l.message.substring(l.message.lastIndexOf(" ")+1),f=await this._slots.getMasterByAddress(d);if(f||(await this._slots.rediscover(a),f=await this._slots.getMasterByAddress(d)),!f)throw new Error(`Cannot find node ${d}`);a=f,u=this._handleAsk(s);continue}if(l.message.startsWith("MOVED")){await this._slots.rediscover(a);let d=await this._slots.getClientAndSlotNumber(t,r);a=d.client,o=d.slotNumber;continue}throw l}}async sendCommand(t,r,n,s){let i={...this._self._commandOptions,...s};return this._self._execute(t,r,i,(a,o)=>a.sendCommand(n,o))}MULTI(t){return new this.Multi(async(r,n,s)=>{let{client:i}=await this._self._slots.getClientAndSlotNumber(r,n);return i._executeMulti(s)},async(r,n,s)=>{let{client:i}=await this._self._slots.getClientAndSlotNumber(r,n);return i._executePipeline(s)},t,this._commandOptions?.typeMapping)}multi=this.MULTI;async SUBSCRIBE(t,r,n){return(await this._self._slots.getPubSubClient()).SUBSCRIBE(t,r,n)}subscribe=this.SUBSCRIBE;async UNSUBSCRIBE(t,r,n){return this._self._slots.executeUnsubscribeCommand(s=>s.UNSUBSCRIBE(t,r,n))}unsubscribe=this.UNSUBSCRIBE;async PSUBSCRIBE(t,r,n){return(await this._self._slots.getPubSubClient()).PSUBSCRIBE(t,r,n)}pSubscribe=this.PSUBSCRIBE;async PUNSUBSCRIBE(t,r,n){return this._self._slots.executeUnsubscribeCommand(s=>s.PUNSUBSCRIBE(t,r,n))}pUnsubscribe=this.PUNSUBSCRIBE;async SSUBSCRIBE(t,r,n){let s=this._self._options.maxCommandRedirections??16,i=Array.isArray(t)?t[0]:t,a=await this._self._slots.getShardedPubSubClient(i);for(let o=0;;o++)try{return await a.SSUBSCRIBE(t,r,n)}catch(c){if(++o>s||!(c instanceof mqr.ErrorReply))throw c;if(c.message.startsWith("MOVED")){await this._self._slots.rediscover(a),a=await this._self._slots.getShardedPubSubClient(i);continue}throw c}}sSubscribe=this.SSUBSCRIBE;SUNSUBSCRIBE(t,r,n){return this._self._slots.executeShardedUnsubscribeCommand(Array.isArray(t)?t[0]:t,s=>s.SUNSUBSCRIBE(t,r,n))}resubscribeAllPubSubListeners(t){if(t.CHANNELS)for(let[r,n]of t.CHANNELS)n.buffers.forEach(s=>{this.subscribe(r,s,!0)}),n.strings.forEach(s=>{this.subscribe(r,s)});if(t.PATTERNS)for(let[r,n]of t.PATTERNS)n.buffers.forEach(s=>{this.pSubscribe(r,s,!0)}),n.strings.forEach(s=>{this.pSubscribe(r,s)});if(t.SHARDED)for(let[r,n]of t.SHARDED)n.buffers.forEach(s=>{this.sSubscribe(r,s,!0)}),n.strings.forEach(s=>{this.sSubscribe(r,s)})}sUnsubscribe=this.SUNSUBSCRIBE;quit(){return this._self._slots.quit()}disconnect(){return this._self._slots.disconnect()}close(){return this._self._slots.clientSideCache?.onPoolClose(),this._self._slots.close()}destroy(){return this._self._slots.clientSideCache?.onPoolClose(),this._self._slots.destroy()}nodeClient(t){return this._self._slots.nodeClient(t)}getRandomNode(){return this._self._slots.getRandomNode()}getSlotRandomNode(t){return this._self._slots.getSlotRandomNode(t)}getMasters(){return this.masters}getSlotMaster(t){return this.slots[t].master}};$f.default=Jge});var Qgt=S(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.getMappedNode=Na.createScriptCommand=Na.createModuleCommand=Na.createFunctionCommand=Na.createCommand=Na.clientSocketToNode=Na.createNodeList=Na.parseNode=void 0;var A9=yh(),xR=Ih();function Ygt(e){if(!(e.flags.includes("s_down")||e.flags.includes("disconnected")||e.flags.includes("failover_in_progress")))return{host:e.ip,port:Number(e.port)}}Na.parseNode=Ygt;function Aqr(e){var t=[];for(let r of e){let n=Ygt(r);n!==void 0&&t.push(n)}return t}Na.createNodeList=Aqr;function Eqr(e){let t=e;return{host:t.host,port:t.port}}Na.clientSocketToNode=Eqr;function yqr(e,t){let r=(0,xR.getTransformReply)(e,t);return async function(...n){let s=new A9.BasicCommandParser;return e.parseCommand(s,...n),this._self._execute(e.IS_READ_ONLY,i=>i._executeCommand(e,s,this.commandOptions,r))}}Na.createCommand=yqr;function vqr(e,t,r){let n=(0,xR.functionArgumentsPrefix)(e,t),s=(0,xR.getTransformReply)(t,r);return async function(...i){let a=new A9.BasicCommandParser;return a.push(...n),t.parseCommand(a,...i),this._self._execute(t.IS_READ_ONLY,o=>o._executeCommand(t,a,this._self.commandOptions,s))}}Na.createFunctionCommand=vqr;function Sqr(e,t){let r=(0,xR.getTransformReply)(e,t);return async function(...n){let s=new A9.BasicCommandParser;return e.parseCommand(s,...n),this._self._execute(e.IS_READ_ONLY,i=>i._executeCommand(e,s,this._self.commandOptions,r))}}Na.createModuleCommand=Sqr;function Tqr(e,t){let r=(0,xR.scriptArgumentsPrefix)(e),n=(0,xR.getTransformReply)(e,t);return async function(...s){let i=new A9.BasicCommandParser;return i.push(...r),e.parseCommand(i,...s),this._self._execute(e.IS_READ_ONLY,a=>a._executeScript(e,i,this.commandOptions,n))}}Na.createScriptCommand=Tqr;function bqr(e,t,r){if(r===void 0)return{host:e,port:t};let n=`${e}:${t}`;switch(typeof r){case"object":return r[n]??{host:e,port:t};case"function":return r(n)??{host:e,port:t}}}Na.getMappedNode=bqr});var Wgt=S(IL=>{"use strict";var Iqr=IL&&IL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(IL,"__esModule",{value:!0});var Rqr=Bf(),zgt=Iqr(EL()),wR=Ih(),E9=yh(),Zge=class e{static _createCommand(t,r){let n=(0,wR.getTransformReply)(t,r);return function(...s){let i=new E9.BasicCommandParser;t.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this.addCommand(t.IS_READ_ONLY,a,n)}}static _createModuleCommand(t,r){let n=(0,wR.getTransformReply)(t,r);return function(...s){let i=new E9.BasicCommandParser;t.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this._self.addCommand(t.IS_READ_ONLY,a,n)}}static _createFunctionCommand(t,r,n){let s=(0,wR.functionArgumentsPrefix)(t,r),i=(0,wR.getTransformReply)(r,n);return function(...a){let o=new E9.BasicCommandParser;o.push(...s),r.parseCommand(o,...a);let c=o.redisArgs;return c.preserve=o.preserve,this._self.addCommand(r.IS_READ_ONLY,c,i)}}static _createScriptCommand(t,r){let n=(0,wR.getTransformReply)(t,r);return function(...s){let i=new E9.BasicCommandParser;t.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this.#a(t.IS_READ_ONLY,t,a,n)}}static extend(t){return(0,wR.attachConfig)({BaseClass:e,commands:Rqr.NON_STICKY_COMMANDS,createCommand:e._createCommand,createModuleCommand:e._createModuleCommand,createFunctionCommand:e._createFunctionCommand,createScriptCommand:e._createScriptCommand,config:t})}#e=new zgt.default;#t;#r=!0;constructor(t,r){this.#e=new zgt.default(r),this.#t=t}#n(t){this.#r&&=t}addCommand(t,r,n){return this.#n(t),this.#e.addCommand(r,n),this}#a(t,r,n,s){return this.#n(t),this.#e.addScript(r,n,s),this}async exec(t=!1){return t?this.execAsPipeline():this.#e.transformReplies(await this.#t._executeMulti(this.#r,this.#e.queue))}EXEC=this.exec;execTyped(t=!1){return this.exec(t)}async execAsPipeline(){return this.#e.queue.length===0?[]:this.#e.transformReplies(await this.#t._executePipeline(this.#r,this.#e.queue))}execAsPipelineTyped(){return this.execAsPipeline()}};IL.default=Zge});var Zgt=S(NR=>{"use strict";var Jgt=NR&&NR.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(NR,"__esModule",{value:!0});NR.PubSubProxy=void 0;var Cqr=Jgt(require("node:events")),LA=gL(),Xgt=Jgt(TR()),e_e=class extends Cqr.default{#e;#t;#r;#n;#a;constructor(t,r){super(),this.#e=t,this.#t=r}#o(){if(this.#r===void 0)throw new Error("pubSubProxy: didn't define node to do pubsub against");return new Xgt.default({...this.#e,socket:{...this.#e.socket,host:this.#r.host,port:this.#r.port}})}async#s(t=!1){let r=this.#o().on("error",this.#t),n=r.connect().then(async s=>this.#n?.client!==s?(s.destroy(),this.#n?.connectPromise):(t&&this.#a&&await Promise.all([s.extendPubSubListeners(LA.PUBSUB_TYPE.CHANNELS,this.#a[LA.PUBSUB_TYPE.CHANNELS]),s.extendPubSubListeners(LA.PUBSUB_TYPE.PATTERNS,this.#a[LA.PUBSUB_TYPE.PATTERNS])]),this.#n.client!==s?(s.destroy(),this.#n?.connectPromise):(this.#n.connectPromise=void 0,s))).catch(s=>{throw this.#n=void 0,s});return this.#n={client:r,connectPromise:n},n}#i(){return this.#n?this.#n.connectPromise??this.#n.client:this.#s()}async changeNode(t){this.#r=t,this.#n&&(this.#n.connectPromise===void 0&&(this.#a={[LA.PUBSUB_TYPE.CHANNELS]:this.#n.client.getPubSubListeners(LA.PUBSUB_TYPE.CHANNELS),[LA.PUBSUB_TYPE.PATTERNS]:this.#n.client.getPubSubListeners(LA.PUBSUB_TYPE.PATTERNS)},this.#n.client.destroy()),await this.#s(!0))}#c(t){let r=this.#i();return r instanceof Xgt.default?t(r):r.then(n=>{if(n!==void 0)return t(n)}).catch(n=>{throw this.#n?.client.isPubSubActive&&(this.#n.client.destroy(),this.#n=void 0),n})}subscribe(t,r,n){return this.#c(s=>s.SUBSCRIBE(t,r,n))}#l(t){return this.#c(async r=>{let n=await t(r);return r.isPubSubActive||(r.destroy(),this.#n=void 0),n})}async unsubscribe(t,r,n){return this.#l(s=>s.UNSUBSCRIBE(t,r,n))}async pSubscribe(t,r,n){return this.#c(s=>s.PSUBSCRIBE(t,r,n))}async pUnsubscribe(t,r,n){return this.#l(s=>s.PUNSUBSCRIBE(t,r,n))}destroy(){this.#a=void 0,this.#n!==void 0&&(this.#n.connectPromise||this.#n.client.destroy(),this.#n=void 0)}};NR.PubSubProxy=e_e});var e_t=S(t_e=>{"use strict";Object.defineProperty(t_e,"__esModule",{value:!0});var xqr=Ge();t_e.default={parseCommand(e,t){e.push("SENTINEL","MASTER",t)},transformReply:{2:xqr.transformTuplesReply,3:void 0}}});var t_t=S(r_e=>{"use strict";Object.defineProperty(r_e,"__esModule",{value:!0});r_e.default={parseCommand(e,t,r,n,s){e.push("SENTINEL","MONITOR",t,r,n,s)},transformReply:void 0}});var r_t=S(n_e=>{"use strict";Object.defineProperty(n_e,"__esModule",{value:!0});var wqr=Ge();n_e.default={parseCommand(e,t){e.push("SENTINEL","REPLICAS",t)},transformReply:{2:(e,t,r)=>{let n=e,s=[];return n.reduce((i,a)=>(i.push((0,wqr.transformTuplesReply)(a,void 0,r)),i),s)},3:void 0}}});var n_t=S(s_e=>{"use strict";Object.defineProperty(s_e,"__esModule",{value:!0});var Nqr=Ge();s_e.default={parseCommand(e,t){e.push("SENTINEL","SENTINELS",t)},transformReply:{2:(e,t,r)=>{let n=e,s=[];return n.reduce((i,a)=>(i.push((0,Nqr.transformTuplesReply)(a,void 0,r)),i),s)},3:void 0}}});var s_t=S(i_e=>{"use strict";Object.defineProperty(i_e,"__esModule",{value:!0});i_e.default={parseCommand(e,t,r){e.push("SENTINEL","SET",t);for(let n of r)e.push(n.option,n.value)},transformReply:void 0}});var l_t=S(RL=>{"use strict";var CL=RL&&RL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(RL,"__esModule",{value:!0});var i_t=CL(e_t()),a_t=CL(t_t()),o_t=CL(r_t()),c_t=CL(n_t()),u_t=CL(s_t());RL.default={SENTINEL_SENTINELS:c_t.default,sentinelSentinels:c_t.default,SENTINEL_MASTER:i_t.default,sentinelMaster:i_t.default,SENTINEL_REPLICAS:o_t.default,sentinelReplicas:o_t.default,SENTINEL_MONITOR:a_t.default,sentinelMonitor:a_t.default,SENTINEL_SET:u_t.default,sentinelSet:u_t.default}});var d_t=S(xL=>{"use strict";var Oqr=xL&&xL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(xL,"__esModule",{value:!0});var Dqr=Oqr(l_t());xL.default={sentinel:Dqr.default}});var h_t=S(y9=>{"use strict";Object.defineProperty(y9,"__esModule",{value:!0});y9.WaitQueue=void 0;var f_t=t9(),a_e=class{#e=new f_t.SinglyLinkedList;#t=new f_t.SinglyLinkedList;push(t){let r=this.#t.shift();if(r!==void 0){r(t);return}this.#e.push(t)}shift(){return this.#e.shift()}wait(){return new Promise(t=>this.#t.push(t))}};y9.WaitQueue=a_e});var A_t=S(qm=>{"use strict";var l_e=qm&&qm.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(qm,"__esModule",{value:!0});qm.RedisSentinelFactory=qm.RedisSentinelClient=void 0;var d_e=require("node:events"),OR=l_e(TR()),m_t=Ih(),g_t=Bf(),Xs=Qgt(),__t=l_e(Wgt()),Pqr=Zgt(),Lqr=require("node:timers/promises"),v9=l_e(d_t()),Mqr=h_t(),p_t=vR(),wL=class e{#e;#t;_self;get isOpen(){return this._self.#t.isOpen}get isReady(){return this._self.#t.isReady}get commandOptions(){return this._self.#r}#r;constructor(t,r,n){this._self=this,this.#t=t,this.#e=r,this.#r=n}static factory(t){let r=(0,m_t.attachConfig)({BaseClass:e,commands:g_t.NON_STICKY_COMMANDS,createCommand:Xs.createCommand,createModuleCommand:Xs.createModuleCommand,createFunctionCommand:Xs.createFunctionCommand,createScriptCommand:Xs.createScriptCommand,config:t});return r.prototype.Multi=__t.default.extend(t),(n,s,i)=>Object.create(new r(n,s,i))}static create(t,r,n,s){return e.factory(t)(r,n,s)}withCommandOptions(t){let r=Object.create(this);return r._commandOptions=t,r}_commandOptionsProxy(t,r){let n=Object.create(this);return n._commandOptions=Object.create(this._self.#r??null),n._commandOptions[t]=r,n}withTypeMapping(t){return this._commandOptionsProxy("typeMapping",t)}async _execute(t,r){if(this._self.#e===void 0)throw new Error("Attempted execution on released RedisSentinelClient lease");return await this._self.#t.execute(r,this._self.#e)}async sendCommand(t,r,n){return this._execute(t,s=>s.sendCommand(r,n))}async _executePipeline(t,r){return this._execute(t,n=>n._executePipeline(r))}async _executeMulti(t,r){return this._execute(t,n=>n._executeMulti(r))}MULTI(){return new this.Multi(this)}multi=this.MULTI;WATCH(t){if(this._self.#e===void 0)throw new Error("Attempted execution on released RedisSentinelClient lease");return this._execute(!1,r=>r.watch(t))}watch=this.WATCH;UNWATCH(){if(this._self.#e===void 0)throw new Error("Attempted execution on released RedisSentinelClient lease");return this._execute(!1,t=>t.unwatch())}unwatch=this.UNWATCH;release(){if(this._self.#e===void 0)throw new Error("RedisSentinelClient lease already released");let t=this._self.#t.releaseClientLease(this._self.#e);return this._self.#e=void 0,t}};qm.RedisSentinelClient=wL;var o_e=class e extends d_e.EventEmitter{_self;#e;#t;get isOpen(){return this._self.#e.isOpen}get isReady(){return this._self.#e.isReady}get commandOptions(){return this._self.#r}#r;#n=()=>{};#a;#o=0;#s;get clientSideCache(){return this._self.#e.clientSideCache}constructor(t){super(),this._self=this,this.#t=t,t.commandOptions&&(this.#r=t.commandOptions),this.#e=new c_e(t),this.#e.on("error",r=>this.emit("error",r)),this.#e.on("topology-change",r=>{this.emit("topology-change",r)||this._self.#n(`RedisSentinel: re-emit for topology-change for ${r.type} event returned false`)})}static factory(t){let r=(0,m_t.attachConfig)({BaseClass:e,commands:g_t.NON_STICKY_COMMANDS,createCommand:Xs.createCommand,createModuleCommand:Xs.createModuleCommand,createFunctionCommand:Xs.createFunctionCommand,createScriptCommand:Xs.createScriptCommand,config:t});return r.prototype.Multi=__t.default.extend(t),n=>Object.create(new r(n))}static create(t){return e.factory(t)(t)}withCommandOptions(t){let r=Object.create(this);return r._commandOptions=t,r}_commandOptionsProxy(t,r){let n=Object.create(this);return n._self.#r={...this._self.#r||{},[t]:r},n}withTypeMapping(t){return this._commandOptionsProxy("typeMapping",t)}async connect(){return await this._self.#e.connect(),this._self.#t.reserveClient&&(this._self.#a=await this._self.#e.getClientLease()),this}async _execute(t,r){let n;(!t||!this._self.#e.useReplicas)&&(this._self.#a?n=this._self.#a:(this._self.#s??=await this._self.#e.getClientLease(),n=this._self.#s,this._self.#o++));try{return await this._self.#e.execute(r,n)}finally{if(n!==void 0&&n===this._self.#s&&--this._self.#o===0){let s=this._self.#e.releaseClientLease(n);this._self.#s=void 0,s&&await s}}}async use(t){let r=await this._self.#e.getClientLease();try{return await t(wL.create(this._self.#t,this._self.#e,r,this._self.#r))}finally{let n=this._self.#e.releaseClientLease(r);n&&await n}}async sendCommand(t,r,n){return this._execute(t,s=>s.sendCommand(r,n))}async _executePipeline(t,r){return this._execute(t,n=>n._executePipeline(r))}async _executeMulti(t,r){return this._execute(t,n=>n._executeMulti(r))}MULTI(){return new this.Multi(this)}multi=this.MULTI;async close(){return this._self.#e.close()}destroy(){return this._self.#e.destroy()}async SUBSCRIBE(t,r,n){return this._self.#e.subscribe(t,r,n)}subscribe=this.SUBSCRIBE;async UNSUBSCRIBE(t,r,n){return this._self.#e.unsubscribe(t,r,n)}unsubscribe=this.UNSUBSCRIBE;async PSUBSCRIBE(t,r,n){return this._self.#e.pSubscribe(t,r,n)}pSubscribe=this.PSUBSCRIBE;async PUNSUBSCRIBE(t,r,n){return this._self.#e.pUnsubscribe(t,r,n)}pUnsubscribe=this.PUNSUBSCRIBE;async acquire(){let t=await this._self.#e.getClientLease();return wL.create(this._self.#t,this._self.#e,t,this._self.#r)}getSentinelNode(){return this._self.#e.getSentinelNode()}getMasterNode(){return this._self.#e.getMasterNode()}getReplicaNodes(){return this._self.#e.getReplicaNodes()}setTracer(t){t?this._self.#n=r=>{t.push(r)}:this._self.#n=()=>{},this._self.#e.setTracer(t)}};qm.default=o_e;var c_e=class extends d_e.EventEmitter{#e=!1;get isOpen(){return this.#e}#t=!1;get isReady(){return this.#t}#r;#n;#a;#o;#s;#i;#c;#l=!1;#m=0;#h;#d;#f=[];#p;#A;#g=[];#v=0;#T;get useReplicas(){return this.#T>0}#_;#I;#S;#b;#y=!1;#u=()=>{};#E;get clientSideCache(){return this.#E}#D(t){if(t?.clientSideCache&&t?.RESP!==3)throw new Error("Client Side Caching is only supported with RESP3")}constructor(t){if(super(),this.#D(t),this.#r=t.name,this.#c=t.RESP,this.#h=Array.from(t.sentinelRootNodes),this.#I=t.maxCommandRediscovers??16,this.#A=t.masterPoolSize??1,this.#T=t.replicaPoolSize??0,this.#o=t.nodeAddressMap,this.#s=t.scanInterval??0,this.#i=t.passthroughClientErrorEvents??!1,this.#n=t.nodeClientOptions?{...t.nodeClientOptions}:{},this.#n.url!==void 0)throw new Error("invalid nodeClientOptions for Sentinel");if(t.clientSideCache)if(t.clientSideCache instanceof p_t.PooledClientSideCacheProvider)this.#E=this.#n.clientSideCache=t.clientSideCache;else{let r=t.clientSideCache;this.#E=this.#n.clientSideCache=new p_t.BasicPooledClientSideCache(r)}if(this.#a=t.sentinelClientOptions?Object.assign({},t.sentinelClientOptions):{},this.#a.modules=v9.default,this.#a.url!==void 0)throw new Error("invalid sentinelClientOptions for Sentinel");this.#p=new Mqr.WaitQueue;for(let r=0;rthis.emit("error",r))}#C(t,r,n){let s=(0,Xs.getMappedNode)(t.host,t.port,this.#o);return OR.default.create({RESP:this.#c,...r,socket:{...r.socket,host:s.host,port:s.port,...n!==void 0&&{reconnectStrategy:n}}})}getClientLease(){let t=this.#p.shift();return t!==void 0?Promise.resolve({id:t}):this.#p.wait().then(r=>({id:r}))}releaseClientLease(t){let r=this.#f[t.id];if(r!==void 0){let n=r.resetIfDirty();if(n)return n.then(()=>this.#p.push(t.id))}this.#p.push(t.id)}async connect(){if(this.#e)throw new Error("already attempting to open");try{this.#e=!0,this.#_=this.#R(),await this.#_,this.#t=!0}finally{this.#_=void 0,this.#s>0&&(this.#b=setInterval(this.#O.bind(this),this.#s))}}async#R(){let t=0;for(;;){if(this.#u("starting connect loop"),t+=1,this.#y){this.#u("in #connect and want to destroy");return}try{if(this.#l=!1,await this.transform(this.analyze(await this.observe())),this.#l){this.#u("#connect: anotherReset is true, so continuing");continue}this.#u("#connect: returning");return}catch(r){if(this.#u(`#connect: exception ${r.message}`),!this.#t&&t>this.#I)throw r;r.message!=="no valid master node"&&console.log(r),await(0,Lqr.setTimeout)(1e3)}finally{this.#u("finished connect")}}}async execute(t,r){let n=0;for(;;){this.#_!==void 0&&await this.#_;let s=this.#w(r);if(!s.isReady){await this.#O();continue}let i=s.options?.socket;this.#u("attemping to send command to "+i?.host+":"+i?.port);try{return await t(s)}catch(a){if(++n>this.#I||!(a instanceof Error))throw a;if(r!==void 0&&(a.message.startsWith("READONLY")||!s.isReady)){await this.#O();continue}throw a}}}async#N(t){return await t.pSubscribe(["switch-master","[-+]sdown","+slave","+sentinel","[-+]odown","+slave-reconf-done"],(r,n)=>{this.#B(n,r)},!0),t}async#B(t,r){this.#u("pubsub control channel message on "+t),this.#O()}#w(t){if(t!==void 0)return this.#f[t.id];if(this.#v>=this.#g.length&&(this.#v=0),this.#g.length==0)throw new Error("no replicas available for read");return this.#g[this.#v++]}async#O(){if(!(this.#t==!1||this.#y==!0)){if(this.#_!==void 0)return this.#l=!0,await this.#_;try{return this.#_=this.#R(),await this.#_}finally{this.#u("finished reconfgure"),this.#_=void 0}}}#P(t){let r=this.#h.findIndex(n=>n.host===t.host&&n.port===t.port);r!==-1&&this.#h.splice(r,1),this.#O()}async close(){this.#y=!0,this.#_!=null&&await this.#_,this.#t=!1,this.#E?.onPoolClose(),this.#b&&(clearInterval(this.#b),this.#b=void 0);let t=[];this.#d!==void 0&&(this.#d.isOpen&&t.push(this.#d.close()),this.#d=void 0);for(let r of this.#f)r.isOpen&&t.push(r.close());this.#f=[];for(let r of this.#g)r.isOpen&&t.push(r.close());this.#g=[],await Promise.all(t),this.#S.destroy(),this.#e=!1}async destroy(){this.#y=!0,this.#_!=null&&await this.#_,this.#t=!1,this.#E?.onPoolClose(),this.#b&&(clearInterval(this.#b),this.#b=void 0),this.#d!==void 0&&(this.#d.isOpen&&this.#d.destroy(),this.#d=void 0);for(let t of this.#f)t.isOpen&&t.destroy();this.#f=[];for(let t of this.#g)t.isOpen&&t.destroy();this.#g=[],this.#S.destroy(),this.#e=!1,this.#y=!1}async subscribe(t,r,n){return this.#S.subscribe(t,r,n)}async unsubscribe(t,r,n){return this.#S.unsubscribe(t,r,n)}async pSubscribe(t,r,n){return this.#S.pSubscribe(t,r,n)}async pUnsubscribe(t,r,n){return this.#S.pUnsubscribe(t,r,n)}async observe(){for(let t of this.#h){let r;try{this.#u(`observe: trying to connect to sentinel: ${t.host}:${t.port}`),r=this.#C(t,this.#a,!1),r.on("error",o=>this.emit("error",`obseve client error: ${o}`)),await r.connect(),this.#u("observe: connected to sentinel");let[n,s,i]=await Promise.all([r.sentinel.sentinelSentinels(this.#r),r.sentinel.sentinelMaster(this.#r),r.sentinel.sentinelReplicas(this.#r)]);return this.#u("observe: got all sentinel data"),{sentinelConnected:t,sentinelData:n,masterData:s,replicaData:i,currentMaster:this.getMasterNode(),currentReplicas:this.getReplicaNodes(),currentSentinel:this.getSentinelNode(),replicaPoolSize:this.#T,useReplicas:this.useReplicas}}catch(n){this.#u(`observe: error ${n}`),this.emit("error",n)}finally{r!==void 0&&r.isOpen&&(this.#u("observe: destroying sentinel client"),r.destroy())}}throw this.#u("observe: none of the sentinels are available"),new Error("None of the sentinels are available")}analyze(t){let r=(0,Xs.parseNode)(t.masterData);if(r===void 0)throw this.#u(`analyze: no valid master node because ${t.masterData.flags}`),new Error("no valid master node");r.host===t.currentMaster?.host&&r.port===t.currentMaster?.port?(this.#u(`analyze: master node hasn't changed from ${t.currentMaster?.host}:${t.currentMaster?.port}`),r=void 0):this.#u(`analyze: master node has changed to ${r.host}:${r.port} from ${t.currentMaster?.host}:${t.currentMaster?.port}`);let n=t.sentinelConnected;n.host===t.currentSentinel?.host&&n.port===t.currentSentinel.port?(this.#u("analyze: sentinel node hasn't changed"),n=void 0):this.#u(`analyze: sentinel node has changed to ${n.host}:${n.port}`);let s=[],i=new Map,a=new Set,o=new Set;if(t.useReplicas){let u=(0,Xs.createNodeList)(t.replicaData);for(let l of u)a.add(JSON.stringify(l));for(let[l,d]of t.currentReplicas)a.has(JSON.stringify(l))?(o.add(JSON.stringify(l)),d!=t.replicaPoolSize&&(i.set(l,t.replicaPoolSize-d),this.#u(`analyze: adding ${l.host}:${l.port} to replicsToOpen`))):(s.push(l),this.#u(`analyze: adding ${l.host}:${l.port} to replicsToClose`));for(let l of u)o.has(JSON.stringify(l))||(i.set(l,t.replicaPoolSize),this.#u(`analyze: adding ${l.host}:${l.port} to replicsToOpen`))}return{sentinelList:[t.sentinelConnected].concat((0,Xs.createNodeList)(t.sentinelData)),epoch:Number(t.masterData["config-epoch"]),sentinelToOpen:n,masterToOpen:r,replicasToClose:s,replicasToOpen:i}}async transform(t){this.#u("transform: enter");let r=[];if(t.sentinelToOpen){this.#u("transform: opening a new sentinel"),this.#d!==void 0&&this.#d.isOpen?(this.#u("transform: destroying old sentinel as open"),this.#d.destroy(),this.#d=void 0):this.#u("transform: not destroying old sentinel as not open"),this.#u(`transform: creating new sentinel to ${t.sentinelToOpen.host}:${t.sentinelToOpen.port}`);let a=t.sentinelToOpen,o=this.#C(t.sentinelToOpen,this.#a,!1);o.on("error",l=>{this.#i&&this.emit("error",new Error(`Sentinel Client (${a.host}:${a.port}): ${l.message}`,{cause:l}));let d={type:"SENTINEL",node:(0,Xs.clientSocketToNode)(o.options.socket),error:l};this.emit("client-error",d),this.#P(a)}).on("end",()=>this.#P(a)),this.#d=o,this.#u("transform: adding sentinel client connect() to promise list");let c=this.#d.connect().then(l=>this.#N(l));r.push(c),this.#u(`created sentinel client to ${t.sentinelToOpen.host}:${t.sentinelToOpen.port}`);let u={type:"SENTINEL_CHANGE",node:t.sentinelToOpen};this.#u("transform: emiting topology-change event for sentinel_change"),this.emit("topology-change",u)||this.#u("transform: emit for topology-change for sentinel_change returned false")}if(t.masterToOpen){this.#u("transform: opening a new master");let a=[],o=[];this.#u("transform: destroying old masters if open");for(let u of this.#f)o.push(u.isWatching||u.isDirtyWatch),u.isOpen&&u.destroy();this.#f=[],this.#u("transform: creating all master clients and adding connect promises");for(let u=0;u{this.#i&&this.emit("error",new Error(`Master Client (${l.host}:${l.port}): ${f.message}`,{cause:f}));let h={type:"MASTER",node:(0,Xs.clientSocketToNode)(d.options.socket),error:f};this.emit("client-error",h)}),o[u]&&d.setDirtyWatch("sentinel config changed in middle of a WATCH Transaction"),this.#f.push(d),a.push(d.connect()),this.#u(`created master client to ${t.masterToOpen.host}:${t.masterToOpen.port}`)}this.#u("transform: adding promise to change #pubSubProxy node"),a.push(this.#S.changeNode(t.masterToOpen)),r.push(...a);let c={type:"MASTER_CHANGE",node:t.masterToOpen};this.#u("transform: emiting topology-change event for master_change"),this.emit("topology-change",c)||this.#u("transform: emit for topology-change for master_change returned false"),this.#m++}let n=new Set;for(let a of t.replicasToClose){let o=JSON.stringify(a);n.add(o)}let s=[],i=new Set;for(let a of this.#g){let o=(0,Xs.clientSocketToNode)(a.options.socket),c=JSON.stringify(o);if(n.has(c)||!a.isOpen){if(a.isOpen){let u=a.options?.socket;this.#u(`destroying replica client to ${u?.host}:${u?.port}`),a.destroy()}if(!i.has(c)){let u={type:"REPLICA_REMOVE",node:o};this.emit("topology-change",u),i.add(c)}}else s.push(a)}if(this.#g=s,t.replicasToOpen.size!=0)for(let[a,o]of t.replicasToOpen){for(let u=0;u{this.#i&&this.emit("error",new Error(`Replica Client (${a.host}:${a.port}): ${d.message}`,{cause:d}));let f={type:"REPLICA",node:(0,Xs.clientSocketToNode)(l.options.socket),error:d};this.emit("client-error",f)}),this.#g.push(l),r.push(l.connect()),this.#u(`created replica client to ${a.host}:${a.port}`)}let c={type:"REPLICA_ADD",node:a};this.emit("topology-change",c)}if(t.sentinelList.length!=this.#h.length){this.#h=t.sentinelList;let a={type:"SENTINE_LIST_CHANGE",size:t.sentinelList.length};this.emit("topology-change",a)}await Promise.all(r),this.#u("transform: exit")}getMasterNode(){if(this.#f.length!=0){for(let t of this.#f)if(t.isReady)return(0,Xs.clientSocketToNode)(t.options.socket)}}getSentinelNode(){if(this.#d!==void 0)return(0,Xs.clientSocketToNode)(this.#d.options.socket)}getReplicaNodes(){let t=new Map,r=new Map;for(let n of this.#g){let s=(0,Xs.clientSocketToNode)(n.options.socket),i=JSON.stringify(s);n.isReady?r.set(i,(r.get(i)??0)+1):r.has(i)||r.set(i,0)}for(let[n,s]of r)t.set(JSON.parse(n),s);return t}setTracer(t){t?this.#u=r=>{t.push(r)}:this.#u=()=>{}}},u_e=class extends d_e.EventEmitter{options;#e;#t=-1;constructor(t){super(),this.options=t,this.#e=t.sentinelRootNodes}async updateSentinelRootNodes(){for(let t of this.#e){let r=OR.default.create({...this.options.sentinelClientOptions,socket:{...this.options.sentinelClientOptions?.socket,host:t.host,port:t.port,reconnectStrategy:!1},modules:v9.default}).on("error",n=>this.emit(`updateSentinelRootNodes: ${n}`));try{await r.connect()}catch{r.isOpen&&r.destroy();continue}try{let n=await r.sentinel.sentinelSentinels(this.options.name);this.#e=[t].concat((0,Xs.createNodeList)(n));return}finally{r.destroy()}}throw new Error("Couldn't connect to any sentinel node")}async getMasterNode(){let t=!1;for(let r of this.#e){let n=OR.default.create({...this.options.sentinelClientOptions,socket:{...this.options.sentinelClientOptions?.socket,host:r.host,port:r.port,reconnectStrategy:!1},modules:v9.default}).on("error",s=>this.emit(`getMasterNode: ${s}`));try{await n.connect()}catch{n.isOpen&&n.destroy();continue}t=!0;try{let s=await n.sentinel.sentinelMaster(this.options.name),i=(0,Xs.parseNode)(s);if(i===void 0)continue;return i}finally{n.destroy()}}throw t?new Error("Master Node Not Enumerated"):new Error("couldn't connect to any sentinels")}async getMasterClient(){let t=await this.getMasterNode(),r=(0,Xs.getMappedNode)(t.host,t.port,this.options.nodeAddressMap);return OR.default.create({...this.options.nodeClientOptions,socket:{...this.options.nodeClientOptions?.socket,host:r.host,port:r.port}})}async getReplicaNodes(){let t=!1;for(let r of this.#e){let n=OR.default.create({...this.options.sentinelClientOptions,socket:{...this.options.sentinelClientOptions?.socket,host:r.host,port:r.port,reconnectStrategy:!1},modules:v9.default}).on("error",s=>this.emit(`getReplicaNodes: ${s}`));try{await n.connect()}catch{n.isOpen&&n.destroy();continue}t=!0;try{let s=await n.sentinel.sentinelReplicas(this.options.name),i=(0,Xs.createNodeList)(s);if(i.length==0)continue;return i}finally{n.destroy()}}throw t?new Error("No Replicas Nodes Enumerated"):new Error("couldn't connect to any sentinels")}async getReplicaClient(){let t=await this.getReplicaNodes();if(t.length==0)throw new Error("no available replicas");this.#t++,this.#t>=t.length&&(this.#t=0);let r=t[this.#t],n=(0,Xs.getMappedNode)(r.host,r.port,this.options.nodeAddressMap);return OR.default.create({...this.options.nodeClientOptions,socket:{...this.options.nodeClientOptions?.socket,host:n.host,port:n.port}})}};qm.RedisSentinelFactory=u_e});var OL=S(gr=>{"use strict";var kqr=gr&&gr.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Bqr=gr&&gr.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&kqr(t,e,r)},f_e=gr&&gr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(gr,"__esModule",{value:!0});gr.BasicPooledClientSideCache=gr.BasicClientSideCache=gr.REDIS_FLUSH_MODES=gr.COMMAND_LIST_FILTER_BY=gr.CLUSTER_SLOT_STATES=gr.FAILOVER_MODES=gr.CLIENT_KILL_FILTERS=gr.GEO_REPLY_WITH=gr.createSentinel=gr.createCluster=gr.createClientPool=gr.createClient=gr.digest=gr.defineScript=gr.VerbatimString=gr.RESP_TYPES=void 0;var Uqr=H$();Object.defineProperty(gr,"RESP_TYPES",{enumerable:!0,get:function(){return Uqr.RESP_TYPES}});var Fqr=Dle();Object.defineProperty(gr,"VerbatimString",{enumerable:!0,get:function(){return Fqr.VerbatimString}});var $qr=Grt();Object.defineProperty(gr,"defineScript",{enumerable:!0,get:function(){return $qr.defineScript}});var qqr=Yrt();Object.defineProperty(gr,"digest",{enumerable:!0,get:function(){return qqr.digest}});Bqr(Eh(),gr);var Hqr=f_e(TR());gr.createClient=Hqr.default.create;var Vqr=Qge();gr.createClientPool=Vqr.RedisClientPool.create;var jqr=f_e(Ggt());gr.createCluster=jqr.default.create;var Kqr=f_e(A_t());gr.createSentinel=Kqr.default.create;var Gqr=TP();Object.defineProperty(gr,"GEO_REPLY_WITH",{enumerable:!0,get:function(){return Gqr.GEO_REPLY_WITH}});var NL=Bf();Object.defineProperty(gr,"CLIENT_KILL_FILTERS",{enumerable:!0,get:function(){return NL.CLIENT_KILL_FILTERS}});Object.defineProperty(gr,"FAILOVER_MODES",{enumerable:!0,get:function(){return NL.FAILOVER_MODES}});Object.defineProperty(gr,"CLUSTER_SLOT_STATES",{enumerable:!0,get:function(){return NL.CLUSTER_SLOT_STATES}});Object.defineProperty(gr,"COMMAND_LIST_FILTER_BY",{enumerable:!0,get:function(){return NL.COMMAND_LIST_FILTER_BY}});Object.defineProperty(gr,"REDIS_FLUSH_MODES",{enumerable:!0,get:function(){return NL.REDIS_FLUSH_MODES}});var E_t=vR();Object.defineProperty(gr,"BasicClientSideCache",{enumerable:!0,get:function(){return E_t.BasicClientSideCache}});Object.defineProperty(gr,"BasicPooledClientSideCache",{enumerable:!0,get:function(){return E_t.BasicPooledClientSideCache}})});var y_t=S(h_e=>{"use strict";Object.defineProperty(h_e,"__esModule",{value:!0});var Yqr=Ge();h_e.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("BF.ADD"),e.pushKey(t),e.push(r)},transformReply:Yqr.transformBooleanReply}});var v_t=S(p_e=>{"use strict";Object.defineProperty(p_e,"__esModule",{value:!0});p_e.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("BF.CARD"),e.pushKey(t)},transformReply:void 0}});var S_t=S(m_e=>{"use strict";Object.defineProperty(m_e,"__esModule",{value:!0});var Qqr=Ge();m_e.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("BF.EXISTS"),e.pushKey(t),e.push(r)},transformReply:Qqr.transformBooleanReply}});var g_e=S(S9=>{"use strict";Object.defineProperty(S9,"__esModule",{value:!0});S9.transformInfoV2Reply=void 0;var zqr=OL();function Wqr(e,t){switch(t?t[zqr.RESP_TYPES.MAP]:void 0){case Array:return e;case Map:{let n=new Map;for(let s=0;s{"use strict";Object.defineProperty(__e,"__esModule",{value:!0});var Xqr=g_e();__e.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("BF.INFO"),e.pushKey(t)},transformReply:{2:(e,t,r)=>(0,Xqr.transformInfoV2Reply)(e,r),3:void 0}}});var b_t=S(A_e=>{"use strict";Object.defineProperty(A_e,"__esModule",{value:!0});var Jqr=Ge();A_e.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("BF.INSERT"),e.pushKey(t),n?.CAPACITY!==void 0&&e.push("CAPACITY",n.CAPACITY.toString()),n?.ERROR!==void 0&&e.push("ERROR",n.ERROR.toString()),n?.EXPANSION!==void 0&&e.push("EXPANSION",n.EXPANSION.toString()),n?.NOCREATE&&e.push("NOCREATE"),n?.NONSCALING&&e.push("NONSCALING"),e.push("ITEMS"),e.pushVariadic(r)},transformReply:Jqr.transformBooleanArrayReply}});var I_t=S(E_e=>{"use strict";Object.defineProperty(E_e,"__esModule",{value:!0});E_e.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("BF.LOADCHUNK"),e.pushKey(t),e.push(r.toString(),n)},transformReply:void 0}});var R_t=S(y_e=>{"use strict";Object.defineProperty(y_e,"__esModule",{value:!0});var Zqr=Ge();y_e.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("BF.MADD"),e.pushKey(t),e.pushVariadic(r)},transformReply:Zqr.transformBooleanArrayReply}});var C_t=S(v_e=>{"use strict";Object.defineProperty(v_e,"__esModule",{value:!0});var eHr=Ge();v_e.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("BF.MEXISTS"),e.pushKey(t),e.pushVariadic(r)},transformReply:eHr.transformBooleanArrayReply}});var x_t=S(S_e=>{"use strict";Object.defineProperty(S_e,"__esModule",{value:!0});S_e.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n,s){e.push("BF.RESERVE"),e.pushKey(t),e.push(r.toString(),n.toString()),s?.EXPANSION&&e.push("EXPANSION",s.EXPANSION.toString()),s?.NONSCALING&&e.push("NONSCALING")},transformReply:void 0}});var w_t=S(T_e=>{"use strict";Object.defineProperty(T_e,"__esModule",{value:!0});T_e.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("BF.SCANDUMP"),e.pushKey(t),e.push(r.toString())},transformReply(e){return{iterator:e[0],chunk:e[1]}}}});var DR=S(Ch=>{"use strict";var tHr=Ch&&Ch.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),rHr=Ch&&Ch.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&tHr(t,e,r)},xh=Ch&&Ch.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ch,"__esModule",{value:!0});var N_t=xh(y_t()),O_t=xh(v_t()),D_t=xh(S_t()),P_t=xh(T_t()),L_t=xh(b_t()),M_t=xh(I_t()),k_t=xh(R_t()),B_t=xh(C_t()),U_t=xh(x_t()),F_t=xh(w_t());rHr(g_e(),Ch);Ch.default={ADD:N_t.default,add:N_t.default,CARD:O_t.default,card:O_t.default,EXISTS:D_t.default,exists:D_t.default,INFO:P_t.default,info:P_t.default,INSERT:L_t.default,insert:L_t.default,LOADCHUNK:M_t.default,loadChunk:M_t.default,MADD:k_t.default,mAdd:k_t.default,MEXISTS:B_t.default,mExists:B_t.default,RESERVE:U_t.default,reserve:U_t.default,SCANDUMP:F_t.default,scanDump:F_t.default}});var q_t=S(b_e=>{"use strict";Object.defineProperty(b_e,"__esModule",{value:!0});b_e.default={IS_READ_ONLY:!1,parseCommand(e,t,r){if(e.push("CMS.INCRBY"),e.pushKey(t),Array.isArray(r))for(let n of r)$_t(e,n);else $_t(e,r)},transformReply:void 0};function $_t(e,{item:t,incrementBy:r}){e.push(t,r.toString())}});var H_t=S(I_e=>{"use strict";Object.defineProperty(I_e,"__esModule",{value:!0});var nHr=DR();I_e.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("CMS.INFO"),e.pushKey(t)},transformReply:{2:(e,t,r)=>(0,nHr.transformInfoV2Reply)(e,r),3:void 0}}});var V_t=S(R_e=>{"use strict";Object.defineProperty(R_e,"__esModule",{value:!0});R_e.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("CMS.INITBYDIM"),e.pushKey(t),e.push(r.toString(),n.toString())},transformReply:void 0}});var j_t=S(C_e=>{"use strict";Object.defineProperty(C_e,"__esModule",{value:!0});C_e.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("CMS.INITBYPROB"),e.pushKey(t),e.push(r.toString(),n.toString())},transformReply:void 0}});var K_t=S(x_e=>{"use strict";Object.defineProperty(x_e,"__esModule",{value:!0});x_e.default={IS_READ_ONLY:!1,parseCommand(e,t,r){if(e.push("CMS.MERGE"),e.pushKey(t),e.push(r.length.toString()),sHr(r))e.pushVariadic(r);else{for(let n=0;n{"use strict";Object.defineProperty(w_e,"__esModule",{value:!0});w_e.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("CMS.QUERY"),e.pushKey(t),e.pushVariadic(r)},transformReply:void 0}});var Z_t=S(DL=>{"use strict";var PR=DL&&DL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(DL,"__esModule",{value:!0});var Y_t=PR(q_t()),Q_t=PR(H_t()),z_t=PR(V_t()),W_t=PR(j_t()),X_t=PR(K_t()),J_t=PR(G_t());DL.default={INCRBY:Y_t.default,incrBy:Y_t.default,INFO:Q_t.default,info:Q_t.default,INITBYDIM:z_t.default,initByDim:z_t.default,INITBYPROB:W_t.default,initByProb:W_t.default,MERGE:X_t.default,merge:X_t.default,QUERY:J_t.default,query:J_t.default}});var eAt=S(N_e=>{"use strict";Object.defineProperty(N_e,"__esModule",{value:!0});var iHr=Ge();N_e.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("CF.ADD"),e.pushKey(t),e.push(r)},transformReply:iHr.transformBooleanReply}});var tAt=S(O_e=>{"use strict";Object.defineProperty(O_e,"__esModule",{value:!0});var aHr=Ge();O_e.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("CF.ADDNX"),e.pushKey(t),e.push(r)},transformReply:aHr.transformBooleanReply}});var rAt=S(D_e=>{"use strict";Object.defineProperty(D_e,"__esModule",{value:!0});D_e.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("CF.COUNT"),e.pushKey(t),e.push(r)},transformReply:void 0}});var nAt=S(P_e=>{"use strict";Object.defineProperty(P_e,"__esModule",{value:!0});var oHr=Ge();P_e.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("CF.DEL"),e.pushKey(t),e.push(r)},transformReply:oHr.transformBooleanReply}});var sAt=S(L_e=>{"use strict";Object.defineProperty(L_e,"__esModule",{value:!0});var cHr=Ge();L_e.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("CF.EXISTS"),e.pushKey(t),e.push(r)},transformReply:cHr.transformBooleanReply}});var iAt=S(M_e=>{"use strict";Object.defineProperty(M_e,"__esModule",{value:!0});var uHr=DR();M_e.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("CF.INFO"),e.pushKey(t)},transformReply:{2:(e,t,r)=>(0,uHr.transformInfoV2Reply)(e,r),3:void 0}}});var k_e=S(PL=>{"use strict";Object.defineProperty(PL,"__esModule",{value:!0});PL.parseCfInsertArguments=void 0;var lHr=Ge();function aAt(e,t,r,n){e.pushKey(t),n?.CAPACITY!==void 0&&e.push("CAPACITY",n.CAPACITY.toString()),n?.NOCREATE&&e.push("NOCREATE"),e.push("ITEMS"),e.pushVariadic(r)}PL.parseCfInsertArguments=aAt;PL.default={IS_READ_ONLY:!1,parseCommand(...e){e[0].push("CF.INSERT"),aAt(...e)},transformReply:lHr.transformBooleanArrayReply}});var oAt=S(Hm=>{"use strict";var dHr=Hm&&Hm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),fHr=Hm&&Hm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),hHr=Hm&&Hm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&dHr(t,e,r);return fHr(t,e),t};Object.defineProperty(Hm,"__esModule",{value:!0});var B_e=hHr(k_e());Hm.default={IS_READ_ONLY:B_e.default.IS_READ_ONLY,parseCommand(...e){e[0].push("CF.INSERTNX"),(0,B_e.parseCfInsertArguments)(...e)},transformReply:B_e.default.transformReply}});var cAt=S(U_e=>{"use strict";Object.defineProperty(U_e,"__esModule",{value:!0});U_e.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("CF.LOADCHUNK"),e.pushKey(t),e.push(r.toString(),n)},transformReply:void 0}});var uAt=S(F_e=>{"use strict";Object.defineProperty(F_e,"__esModule",{value:!0});F_e.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("CF.RESERVE"),e.pushKey(t),e.push(r.toString()),n?.BUCKETSIZE!==void 0&&e.push("BUCKETSIZE",n.BUCKETSIZE.toString()),n?.MAXITERATIONS!==void 0&&e.push("MAXITERATIONS",n.MAXITERATIONS.toString()),n?.EXPANSION!==void 0&&e.push("EXPANSION",n.EXPANSION.toString())},transformReply:void 0}});var lAt=S($_e=>{"use strict";Object.defineProperty($_e,"__esModule",{value:!0});$_e.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("CF.SCANDUMP"),e.pushKey(t),e.push(r.toString())},transformReply(e){return{iterator:e[0],chunk:e[1]}}}});var SAt=S(LL=>{"use strict";var qf=LL&&LL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(LL,"__esModule",{value:!0});var dAt=qf(eAt()),fAt=qf(tAt()),hAt=qf(rAt()),pAt=qf(nAt()),mAt=qf(sAt()),gAt=qf(iAt()),_At=qf(k_e()),AAt=qf(oAt()),EAt=qf(cAt()),yAt=qf(uAt()),vAt=qf(lAt());LL.default={ADD:dAt.default,add:dAt.default,ADDNX:fAt.default,addNX:fAt.default,COUNT:hAt.default,count:hAt.default,DEL:pAt.default,del:pAt.default,EXISTS:mAt.default,exists:mAt.default,INFO:gAt.default,info:gAt.default,INSERT:_At.default,insert:_At.default,INSERTNX:AAt.default,insertNX:AAt.default,LOADCHUNK:EAt.default,loadChunk:EAt.default,RESERVE:yAt.default,reserve:yAt.default,SCANDUMP:vAt.default,scanDump:vAt.default}});var TAt=S(q_e=>{"use strict";Object.defineProperty(q_e,"__esModule",{value:!0});q_e.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("TDIGEST.ADD"),e.pushKey(t);for(let n of r)e.push(n.toString())},transformReply:void 0}});var H_e=S(ML=>{"use strict";Object.defineProperty(ML,"__esModule",{value:!0});ML.transformByRankArguments=void 0;var pHr=Ge();function bAt(e,t,r){e.pushKey(t);for(let n of r)e.push(n.toString())}ML.transformByRankArguments=bAt;ML.default={IS_READ_ONLY:!0,parseCommand(...e){e[0].push("TDIGEST.BYRANK"),bAt(...e)},transformReply:pHr.transformDoubleArrayReply}});var IAt=S(Vm=>{"use strict";var mHr=Vm&&Vm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),gHr=Vm&&Vm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),_Hr=Vm&&Vm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&mHr(t,e,r);return gHr(t,e),t};Object.defineProperty(Vm,"__esModule",{value:!0});var V_e=_Hr(H_e());Vm.default={IS_READ_ONLY:V_e.default.IS_READ_ONLY,parseCommand(...e){e[0].push("TDIGEST.BYREVRANK"),(0,V_e.transformByRankArguments)(...e)},transformReply:V_e.default.transformReply}});var RAt=S(j_e=>{"use strict";Object.defineProperty(j_e,"__esModule",{value:!0});var AHr=Ge();j_e.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("TDIGEST.CDF"),e.pushKey(t);for(let n of r)e.push(n.toString())},transformReply:AHr.transformDoubleArrayReply}});var CAt=S(K_e=>{"use strict";Object.defineProperty(K_e,"__esModule",{value:!0});K_e.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("TDIGEST.CREATE"),e.pushKey(t),r?.COMPRESSION!==void 0&&e.push("COMPRESSION",r.COMPRESSION.toString())},transformReply:void 0}});var xAt=S(G_e=>{"use strict";Object.defineProperty(G_e,"__esModule",{value:!0});var EHr=DR();G_e.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("TDIGEST.INFO"),e.pushKey(t)},transformReply:{2:(e,t,r)=>(0,EHr.transformInfoV2Reply)(e,r),3:void 0}}});var wAt=S(Y_e=>{"use strict";Object.defineProperty(Y_e,"__esModule",{value:!0});var yHr=Ge();Y_e.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("TDIGEST.MAX"),e.pushKey(t)},transformReply:yHr.transformDoubleReply}});var NAt=S(Q_e=>{"use strict";Object.defineProperty(Q_e,"__esModule",{value:!0});Q_e.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("TDIGEST.MERGE"),e.pushKey(t),e.pushKeysLength(r),n?.COMPRESSION!==void 0&&e.push("COMPRESSION",n.COMPRESSION.toString()),n?.OVERRIDE&&e.push("OVERRIDE")},transformReply:void 0}});var OAt=S(z_e=>{"use strict";Object.defineProperty(z_e,"__esModule",{value:!0});var vHr=Ge();z_e.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("TDIGEST.MIN"),e.pushKey(t)},transformReply:vHr.transformDoubleReply}});var DAt=S(W_e=>{"use strict";Object.defineProperty(W_e,"__esModule",{value:!0});var SHr=Ge();W_e.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("TDIGEST.QUANTILE"),e.pushKey(t);for(let n of r)e.push(n.toString())},transformReply:SHr.transformDoubleArrayReply}});var X_e=S(kL=>{"use strict";Object.defineProperty(kL,"__esModule",{value:!0});kL.transformRankArguments=void 0;function PAt(e,t,r){e.pushKey(t);for(let n of r)e.push(n.toString())}kL.transformRankArguments=PAt;kL.default={IS_READ_ONLY:!0,parseCommand(...e){e[0].push("TDIGEST.RANK"),PAt(...e)},transformReply:void 0}});var LAt=S(J_e=>{"use strict";Object.defineProperty(J_e,"__esModule",{value:!0});J_e.default={IS_READ_ONLY:!1,parseCommand(e,t){e.push("TDIGEST.RESET"),e.pushKey(t)},transformReply:void 0}});var MAt=S(jm=>{"use strict";var THr=jm&&jm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),bHr=jm&&jm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),IHr=jm&&jm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&THr(t,e,r);return bHr(t,e),t};Object.defineProperty(jm,"__esModule",{value:!0});var Z_e=IHr(X_e());jm.default={IS_READ_ONLY:Z_e.default.IS_READ_ONLY,parseCommand(...e){e[0].push("TDIGEST.REVRANK"),(0,Z_e.transformRankArguments)(...e)},transformReply:Z_e.default.transformReply}});var kAt=S(eAe=>{"use strict";Object.defineProperty(eAe,"__esModule",{value:!0});var RHr=Ge();eAe.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("TDIGEST.TRIMMED_MEAN"),e.pushKey(t),e.push(r.toString(),n.toString())},transformReply:RHr.transformDoubleReply}});var XAt=S(BL=>{"use strict";var Lu=BL&&BL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(BL,"__esModule",{value:!0});var BAt=Lu(TAt()),UAt=Lu(H_e()),FAt=Lu(IAt()),$At=Lu(RAt()),qAt=Lu(CAt()),HAt=Lu(xAt()),VAt=Lu(wAt()),jAt=Lu(NAt()),KAt=Lu(OAt()),GAt=Lu(DAt()),YAt=Lu(X_e()),QAt=Lu(LAt()),zAt=Lu(MAt()),WAt=Lu(kAt());BL.default={ADD:BAt.default,add:BAt.default,BYRANK:UAt.default,byRank:UAt.default,BYREVRANK:FAt.default,byRevRank:FAt.default,CDF:$At.default,cdf:$At.default,CREATE:qAt.default,create:qAt.default,INFO:HAt.default,info:HAt.default,MAX:VAt.default,max:VAt.default,MERGE:jAt.default,merge:jAt.default,MIN:KAt.default,min:KAt.default,QUANTILE:GAt.default,quantile:GAt.default,RANK:YAt.default,rank:YAt.default,RESET:QAt.default,reset:QAt.default,REVRANK:zAt.default,revRank:zAt.default,TRIMMED_MEAN:WAt.default,trimmedMean:WAt.default}});var JAt=S(tAe=>{"use strict";Object.defineProperty(tAe,"__esModule",{value:!0});tAe.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("TOPK.ADD"),e.pushKey(t),e.pushVariadic(r)},transformReply:void 0}});var ZAt=S(rAe=>{"use strict";Object.defineProperty(rAe,"__esModule",{value:!0});rAe.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("TOPK.COUNT"),e.pushKey(t),e.pushVariadic(r)},transformReply:void 0}});var tEt=S(nAe=>{"use strict";Object.defineProperty(nAe,"__esModule",{value:!0});function eEt(e,{item:t,incrementBy:r}){e.push(t,r.toString())}nAe.default={IS_READ_ONLY:!1,parseCommand(e,t,r){if(e.push("TOPK.INCRBY"),e.pushKey(t),Array.isArray(r))for(let n of r)eEt(e,n);else eEt(e,r)},transformReply:void 0}});var rEt=S(sAe=>{"use strict";Object.defineProperty(sAe,"__esModule",{value:!0});var CHr=Ge(),xHr=DR();sAe.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("TOPK.INFO"),e.pushKey(t)},transformReply:{2:(e,t,r)=>(e[7]=CHr.transformDoubleReply[2](e[7],t,r),(0,xHr.transformInfoV2Reply)(e,r)),3:void 0}}});var nEt=S(iAe=>{"use strict";Object.defineProperty(iAe,"__esModule",{value:!0});iAe.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("TOPK.LIST"),e.pushKey(t),e.push("WITHCOUNT")},transformReply(e){let t=[];for(let r=0;r{"use strict";Object.defineProperty(aAe,"__esModule",{value:!0});aAe.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("TOPK.LIST"),e.pushKey(t)},transformReply:void 0}});var iEt=S(oAe=>{"use strict";Object.defineProperty(oAe,"__esModule",{value:!0});var wHr=Ge();oAe.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("TOPK.QUERY"),e.pushKey(t),e.pushVariadic(r)},transformReply:wHr.transformBooleanArrayReply}});var aEt=S(cAe=>{"use strict";Object.defineProperty(cAe,"__esModule",{value:!0});cAe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("TOPK.RESERVE"),e.pushKey(t),e.push(r.toString()),n&&e.push(n.width.toString(),n.depth.toString(),n.decay.toString())},transformReply:void 0}});var mEt=S(UL=>{"use strict";var MA=UL&&UL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(UL,"__esModule",{value:!0});var oEt=MA(JAt()),cEt=MA(ZAt()),uEt=MA(tEt()),lEt=MA(rEt()),dEt=MA(nEt()),fEt=MA(sEt()),hEt=MA(iEt()),pEt=MA(aEt());UL.default={ADD:oEt.default,add:oEt.default,COUNT:cEt.default,count:cEt.default,INCRBY:uEt.default,incrBy:uEt.default,INFO:lEt.default,info:lEt.default,LIST_WITHCOUNT:dEt.default,listWithCount:dEt.default,LIST:fEt.default,list:fEt.default,QUERY:hEt.default,query:hEt.default,RESERVE:pEt.default,reserve:pEt.default}});var gEt=S(FL=>{"use strict";var $L=FL&&FL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(FL,"__esModule",{value:!0});var NHr=$L(DR()),OHr=$L(Z_t()),DHr=$L(SAt()),PHr=$L(XAt()),LHr=$L(mEt());FL.default={bf:NHr.default,cms:OHr.default,cf:DHr.default,tDigest:PHr.default,topK:LHr.default}});var uAe=S(LR=>{"use strict";var MHr=LR&&LR.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(LR,"__esModule",{value:!0});LR.default=void 0;var kHr=gEt();Object.defineProperty(LR,"default",{enumerable:!0,get:function(){return MHr(kHr).default}})});var AEt=S(lAe=>{"use strict";Object.defineProperty(lAe,"__esModule",{value:!0});var _Et=Ge();lAe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,...s){e.push("JSON.ARRAPPEND"),e.pushKey(t),e.push(r,(0,_Et.transformRedisJsonArgument)(n));for(let i=0;i{"use strict";Object.defineProperty(dAe,"__esModule",{value:!0});var BHr=Ge();dAe.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n,s){e.push("JSON.ARRINDEX"),e.pushKey(t),e.push(r,(0,BHr.transformRedisJsonArgument)(n)),s?.range&&(e.push(s.range.start.toString()),s.range.stop!==void 0&&e.push(s.range.stop.toString()))},transformReply:void 0}});var vEt=S(fAe=>{"use strict";Object.defineProperty(fAe,"__esModule",{value:!0});var yEt=Ge();fAe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,s,...i){e.push("JSON.ARRINSERT"),e.pushKey(t),e.push(r,n.toString(),(0,yEt.transformRedisJsonArgument)(s));for(let a=0;a{"use strict";Object.defineProperty(hAe,"__esModule",{value:!0});hAe.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("JSON.ARRLEN"),e.pushKey(t),r?.path!==void 0&&e.push(r.path)},transformReply:void 0}});var TEt=S(mAe=>{"use strict";Object.defineProperty(mAe,"__esModule",{value:!0});var pAe=Ge();mAe.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("JSON.ARRPOP"),e.pushKey(t),r&&(e.push(r.path),r.index!==void 0&&e.push(r.index.toString()))},transformReply(e){return(0,pAe.isArrayReply)(e)?e.map(t=>(0,pAe.transformRedisJsonNullReply)(t)):(0,pAe.transformRedisJsonNullReply)(e)}}});var bEt=S(gAe=>{"use strict";Object.defineProperty(gAe,"__esModule",{value:!0});gAe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,s){e.push("JSON.ARRTRIM"),e.pushKey(t),e.push(r,n.toString(),s.toString())},transformReply:void 0}});var IEt=S(_Ae=>{"use strict";Object.defineProperty(_Ae,"__esModule",{value:!0});_Ae.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("JSON.CLEAR"),e.pushKey(t),r?.path!==void 0&&e.push(r.path)},transformReply:void 0}});var REt=S(AAe=>{"use strict";Object.defineProperty(AAe,"__esModule",{value:!0});AAe.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("JSON.DEBUG","MEMORY"),e.pushKey(t),r?.path!==void 0&&e.push(r.path)},transformReply:void 0}});var CEt=S(EAe=>{"use strict";Object.defineProperty(EAe,"__esModule",{value:!0});EAe.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("JSON.DEL"),e.pushKey(t),r?.path!==void 0&&e.push(r.path)},transformReply:void 0}});var xEt=S(yAe=>{"use strict";Object.defineProperty(yAe,"__esModule",{value:!0});yAe.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("JSON.FORGET"),e.pushKey(t),r?.path!==void 0&&e.push(r.path)},transformReply:void 0}});var wEt=S(vAe=>{"use strict";Object.defineProperty(vAe,"__esModule",{value:!0});var UHr=Ge();vAe.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("JSON.GET"),e.pushKey(t),r?.path!==void 0&&e.pushVariadic(r.path)},transformReply:UHr.transformRedisJsonNullReply}});var NEt=S(SAe=>{"use strict";Object.defineProperty(SAe,"__esModule",{value:!0});var FHr=Ge();SAe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("JSON.MERGE"),e.pushKey(t),e.push(r,(0,FHr.transformRedisJsonArgument)(n))},transformReply:void 0}});var OEt=S(TAe=>{"use strict";Object.defineProperty(TAe,"__esModule",{value:!0});var $Hr=Ge();TAe.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("JSON.MGET"),e.pushKeys(t),e.push(r)},transformReply(e){return e.map(t=>(0,$Hr.transformRedisJsonNullReply)(t))}}});var DEt=S(bAe=>{"use strict";Object.defineProperty(bAe,"__esModule",{value:!0});var qHr=Ge();bAe.default={IS_READ_ONLY:!1,parseCommand(e,t){e.push("JSON.MSET");for(let r=0;r{"use strict";Object.defineProperty(IAe,"__esModule",{value:!0});IAe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("JSON.NUMINCRBY"),e.pushKey(t),e.push(r,n.toString())},transformReply:{2:e=>JSON.parse(e.toString()),3:void 0}}});var PEt=S(qL=>{"use strict";var HHr=qL&&qL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(qL,"__esModule",{value:!0});var VHr=HHr(RAe());qL.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("JSON.NUMMULTBY"),e.pushKey(t),e.push(r,n.toString())},transformReply:VHr.default.transformReply}});var LEt=S(CAe=>{"use strict";Object.defineProperty(CAe,"__esModule",{value:!0});CAe.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("JSON.OBJKEYS"),e.pushKey(t),r?.path!==void 0&&e.push(r.path)},transformReply:void 0}});var MEt=S(xAe=>{"use strict";Object.defineProperty(xAe,"__esModule",{value:!0});xAe.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("JSON.OBJLEN"),e.pushKey(t),r?.path!==void 0&&e.push(r.path)},transformReply:void 0}});var kEt=S(wAe=>{"use strict";Object.defineProperty(wAe,"__esModule",{value:!0});var jHr=Ge();wAe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,s){e.push("JSON.SET"),e.pushKey(t),e.push(r,(0,jHr.transformRedisJsonArgument)(n)),s?.condition?e.push(s?.condition):s?.NX?e.push("NX"):s?.XX&&e.push("XX")},transformReply:void 0}});var BEt=S(NAe=>{"use strict";Object.defineProperty(NAe,"__esModule",{value:!0});var KHr=Ge();NAe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("JSON.STRAPPEND"),e.pushKey(t),n?.path!==void 0&&e.push(n.path),e.push((0,KHr.transformRedisJsonArgument)(r))},transformReply:void 0}});var UEt=S(OAe=>{"use strict";Object.defineProperty(OAe,"__esModule",{value:!0});OAe.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("JSON.STRLEN"),e.pushKey(t),r?.path&&e.push(r.path)},transformReply:void 0}});var FEt=S(DAe=>{"use strict";Object.defineProperty(DAe,"__esModule",{value:!0});DAe.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("JSON.TOGGLE"),e.pushKey(t),e.push(r)},transformReply:void 0}});var $Et=S(PAe=>{"use strict";Object.defineProperty(PAe,"__esModule",{value:!0});PAe.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("JSON.TYPE"),e.pushKey(t),r?.path&&e.push(r.path)},transformReply:{2:void 0,3:e=>e[0]}}});var lyt=S(Hf=>{"use strict";var ai=Hf&&Hf.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Hf,"__esModule",{value:!0});Hf.transformRedisJsonNullReply=Hf.transformRedisJsonReply=Hf.transformRedisJsonArgument=void 0;var qEt=ai(AEt()),HEt=ai(EEt()),VEt=ai(vEt()),jEt=ai(SEt()),KEt=ai(TEt()),GEt=ai(bEt()),YEt=ai(IEt()),QEt=ai(REt()),zEt=ai(CEt()),WEt=ai(xEt()),XEt=ai(wEt()),JEt=ai(NEt()),ZEt=ai(OEt()),eyt=ai(DEt()),tyt=ai(RAe()),ryt=ai(PEt()),nyt=ai(LEt()),syt=ai(MEt()),iyt=ai(kEt()),ayt=ai(BEt()),oyt=ai(UEt()),cyt=ai(FEt()),uyt=ai($Et()),LAe=Ge();Object.defineProperty(Hf,"transformRedisJsonArgument",{enumerable:!0,get:function(){return LAe.transformRedisJsonArgument}});Object.defineProperty(Hf,"transformRedisJsonReply",{enumerable:!0,get:function(){return LAe.transformRedisJsonReply}});Object.defineProperty(Hf,"transformRedisJsonNullReply",{enumerable:!0,get:function(){return LAe.transformRedisJsonNullReply}});Hf.default={ARRAPPEND:qEt.default,arrAppend:qEt.default,ARRINDEX:HEt.default,arrIndex:HEt.default,ARRINSERT:VEt.default,arrInsert:VEt.default,ARRLEN:jEt.default,arrLen:jEt.default,ARRPOP:KEt.default,arrPop:KEt.default,ARRTRIM:GEt.default,arrTrim:GEt.default,CLEAR:YEt.default,clear:YEt.default,DEBUG_MEMORY:QEt.default,debugMemory:QEt.default,DEL:zEt.default,del:zEt.default,FORGET:WEt.default,forget:WEt.default,GET:XEt.default,get:XEt.default,MERGE:JEt.default,merge:JEt.default,MGET:ZEt.default,mGet:ZEt.default,MSET:eyt.default,mSet:eyt.default,NUMINCRBY:tyt.default,numIncrBy:tyt.default,NUMMULTBY:ryt.default,numMultBy:ryt.default,OBJKEYS:nyt.default,objKeys:nyt.default,OBJLEN:syt.default,objLen:syt.default,SET:iyt.default,set:iyt.default,STRAPPEND:ayt.default,strAppend:ayt.default,STRLEN:oyt.default,strLen:oyt.default,TOGGLE:cyt.default,toggle:cyt.default,TYPE:uyt.default,type:uyt.default}});var MAe=S(MR=>{"use strict";var GHr=MR&&MR.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(MR,"__esModule",{value:!0});MR.default=void 0;var YHr=lyt();Object.defineProperty(MR,"default",{enumerable:!0,get:function(){return GHr(YHr).default}})});var dyt=S(kAe=>{"use strict";Object.defineProperty(kAe,"__esModule",{value:!0});kAe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e){e.push("FT._LIST")},transformReply:{2:void 0,3:void 0}}});var T9=S(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.REDISEARCH_LANGUAGE=Is.parseSchema=Is.SCHEMA_GEO_SHAPE_COORD_SYSTEM=Is.VAMANA_COMPRESSION_ALGORITHM=Is.SCHEMA_VECTOR_FIELD_ALGORITHM=Is.SCHEMA_TEXT_FIELD_PHONETIC=Is.SCHEMA_FIELD_TYPE=void 0;var fyt=Ge();Is.SCHEMA_FIELD_TYPE={TEXT:"TEXT",NUMERIC:"NUMERIC",GEO:"GEO",TAG:"TAG",VECTOR:"VECTOR",GEOSHAPE:"GEOSHAPE"};Is.SCHEMA_TEXT_FIELD_PHONETIC={DM_EN:"dm:en",DM_FR:"dm:fr",DM_PT:"dm:pt",DM_ES:"dm:es"};Is.SCHEMA_VECTOR_FIELD_ALGORITHM={FLAT:"FLAT",HNSW:"HNSW",VAMANA:"SVS-VAMANA"};Is.VAMANA_COMPRESSION_ALGORITHM={LVQ4:"LVQ4",LVQ8:"LVQ8",LVQ4x4:"LVQ4x4",LVQ4x8:"LVQ4x8",LeanVec4x8:"LeanVec4x8",LeanVec8x8:"LeanVec8x8"};Is.SCHEMA_GEO_SHAPE_COORD_SYSTEM={SPHERICAL:"SPHERICAL",FLAT:"FLAT"};function BAe(e,t){t.SORTABLE&&(e.push("SORTABLE"),t.SORTABLE==="UNF"&&e.push("UNF")),t.NOINDEX&&e.push("NOINDEX")}function hyt(e,t){for(let[r,n]of Object.entries(t)){let s=Array.isArray(n)?n:[n];for(let i of s){if(e.push(r),typeof i=="string"){e.push(i);continue}switch(i.AS&&e.push("AS",i.AS),e.push(i.type),i.INDEXMISSING&&e.push("INDEXMISSING"),i.type){case Is.SCHEMA_FIELD_TYPE.TEXT:i.NOSTEM&&e.push("NOSTEM"),i.WEIGHT!==void 0&&e.push("WEIGHT",i.WEIGHT.toString()),i.PHONETIC&&e.push("PHONETIC",i.PHONETIC),i.WITHSUFFIXTRIE&&e.push("WITHSUFFIXTRIE"),i.INDEXEMPTY&&e.push("INDEXEMPTY"),BAe(e,i);break;case Is.SCHEMA_FIELD_TYPE.NUMERIC:case Is.SCHEMA_FIELD_TYPE.GEO:BAe(e,i);break;case Is.SCHEMA_FIELD_TYPE.TAG:i.SEPARATOR&&e.push("SEPARATOR",i.SEPARATOR),i.CASESENSITIVE&&e.push("CASESENSITIVE"),i.WITHSUFFIXTRIE&&e.push("WITHSUFFIXTRIE"),i.INDEXEMPTY&&e.push("INDEXEMPTY"),BAe(e,i);break;case Is.SCHEMA_FIELD_TYPE.VECTOR:e.push(i.ALGORITHM);let a=[];switch(a.push("TYPE",i.TYPE,"DIM",i.DIM.toString(),"DISTANCE_METRIC",i.DISTANCE_METRIC),i.INITIAL_CAP!==void 0&&a.push("INITIAL_CAP",i.INITIAL_CAP.toString()),i.ALGORITHM){case Is.SCHEMA_VECTOR_FIELD_ALGORITHM.FLAT:i.BLOCK_SIZE!==void 0&&a.push("BLOCK_SIZE",i.BLOCK_SIZE.toString());break;case Is.SCHEMA_VECTOR_FIELD_ALGORITHM.HNSW:i.M!==void 0&&a.push("M",i.M.toString()),i.EF_CONSTRUCTION!==void 0&&a.push("EF_CONSTRUCTION",i.EF_CONSTRUCTION.toString()),i.EF_RUNTIME!==void 0&&a.push("EF_RUNTIME",i.EF_RUNTIME.toString());break;case Is.SCHEMA_VECTOR_FIELD_ALGORITHM.VAMANA:i.COMPRESSION&&a.push("COMPRESSION",i.COMPRESSION),i.CONSTRUCTION_WINDOW_SIZE!==void 0&&a.push("CONSTRUCTION_WINDOW_SIZE",i.CONSTRUCTION_WINDOW_SIZE.toString()),i.GRAPH_MAX_DEGREE!==void 0&&a.push("GRAPH_MAX_DEGREE",i.GRAPH_MAX_DEGREE.toString()),i.SEARCH_WINDOW_SIZE!==void 0&&a.push("SEARCH_WINDOW_SIZE",i.SEARCH_WINDOW_SIZE.toString()),i.EPSILON!==void 0&&a.push("EPSILON",i.EPSILON.toString()),i.TRAINING_THRESHOLD!==void 0&&a.push("TRAINING_THRESHOLD",i.TRAINING_THRESHOLD.toString()),i.REDUCE!==void 0&&a.push("REDUCE",i.REDUCE.toString());break}e.pushVariadicWithLength(a);break;case Is.SCHEMA_FIELD_TYPE.GEOSHAPE:i.COORD_SYSTEM!==void 0&&e.push("COORD_SYSTEM",i.COORD_SYSTEM);break}}}}Is.parseSchema=hyt;Is.REDISEARCH_LANGUAGE={ARABIC:"Arabic",BASQUE:"Basque",CATALANA:"Catalan",DANISH:"Danish",DUTCH:"Dutch",ENGLISH:"English",FINNISH:"Finnish",FRENCH:"French",GERMAN:"German",GREEK:"Greek",HUNGARIAN:"Hungarian",INDONESAIN:"Indonesian",IRISH:"Irish",ITALIAN:"Italian",LITHUANIAN:"Lithuanian",NEPALI:"Nepali",NORWEIGAN:"Norwegian",PORTUGUESE:"Portuguese",ROMANIAN:"Romanian",RUSSIAN:"Russian",SPANISH:"Spanish",SWEDISH:"Swedish",TAMIL:"Tamil",TURKISH:"Turkish",CHINESE:"Chinese"};Is.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("FT.CREATE",t),n?.ON&&e.push("ON",n.ON),(0,fyt.parseOptionalVariadicArgument)(e,"PREFIX",n?.PREFIX),n?.FILTER&&e.push("FILTER",n.FILTER),n?.LANGUAGE&&e.push("LANGUAGE",n.LANGUAGE),n?.LANGUAGE_FIELD&&e.push("LANGUAGE_FIELD",n.LANGUAGE_FIELD),n?.SCORE&&e.push("SCORE",n.SCORE.toString()),n?.SCORE_FIELD&&e.push("SCORE_FIELD",n.SCORE_FIELD),n?.MAXTEXTFIELDS&&e.push("MAXTEXTFIELDS"),n?.TEMPORARY&&e.push("TEMPORARY",n.TEMPORARY.toString()),n?.NOOFFSETS&&e.push("NOOFFSETS"),n?.NOHL&&e.push("NOHL"),n?.NOFIELDS&&e.push("NOFIELDS"),n?.NOFREQS&&e.push("NOFREQS"),n?.SKIPINITIALSCAN&&e.push("SKIPINITIALSCAN"),(0,fyt.parseOptionalVariadicArgument)(e,"STOPWORDS",n?.STOPWORDS),e.push("SCHEMA"),hyt(e,r)},transformReply:void 0}});var pyt=S(UAe=>{"use strict";Object.defineProperty(UAe,"__esModule",{value:!0});var QHr=T9();UAe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("FT.ALTER",t,"SCHEMA","ADD"),(0,QHr.parseSchema)(e,r)},transformReply:void 0}});var kR=S(b9=>{"use strict";Object.defineProperty(b9,"__esModule",{value:!0});b9.DEFAULT_DIALECT=void 0;b9.DEFAULT_DIALECT="2"});var cS=S(oS=>{"use strict";Object.defineProperty(oS,"__esModule",{value:!0});oS.parseSearchOptions=oS.parseParamsArgument=void 0;var HL=Ge(),zHr=kR();function myt(e,t){if(t){e.push("PARAMS");let r=[];for(let n in t){if(!Object.hasOwn(t,n))continue;let s=t[n];r.push(n,typeof s=="number"?s.toString():s)}e.pushVariadicWithLength(r)}}oS.parseParamsArgument=myt;function gyt(e,t){t?.VERBATIM&&e.push("VERBATIM"),t?.NOSTOPWORDS&&e.push("NOSTOPWORDS"),(0,HL.parseOptionalVariadicArgument)(e,"INKEYS",t?.INKEYS),(0,HL.parseOptionalVariadicArgument)(e,"INFIELDS",t?.INFIELDS),(0,HL.parseOptionalVariadicArgument)(e,"RETURN",t?.RETURN),t?.SUMMARIZE&&(e.push("SUMMARIZE"),typeof t.SUMMARIZE=="object"&&((0,HL.parseOptionalVariadicArgument)(e,"FIELDS",t.SUMMARIZE.FIELDS),t.SUMMARIZE.FRAGS!==void 0&&e.push("FRAGS",t.SUMMARIZE.FRAGS.toString()),t.SUMMARIZE.LEN!==void 0&&e.push("LEN",t.SUMMARIZE.LEN.toString()),t.SUMMARIZE.SEPARATOR!==void 0&&e.push("SEPARATOR",t.SUMMARIZE.SEPARATOR))),t?.HIGHLIGHT&&(e.push("HIGHLIGHT"),typeof t.HIGHLIGHT=="object"&&((0,HL.parseOptionalVariadicArgument)(e,"FIELDS",t.HIGHLIGHT.FIELDS),t.HIGHLIGHT.TAGS&&e.push("TAGS",t.HIGHLIGHT.TAGS.open,t.HIGHLIGHT.TAGS.close))),t?.SLOP!==void 0&&e.push("SLOP",t.SLOP.toString()),t?.TIMEOUT!==void 0&&e.push("TIMEOUT",t.TIMEOUT.toString()),t?.INORDER&&e.push("INORDER"),t?.LANGUAGE&&e.push("LANGUAGE",t.LANGUAGE),t?.EXPANDER&&e.push("EXPANDER",t.EXPANDER),t?.SCORER&&e.push("SCORER",t.SCORER),t?.SORTBY&&(e.push("SORTBY"),typeof t.SORTBY=="string"||t.SORTBY instanceof Buffer?e.push(t.SORTBY):(e.push(t.SORTBY.BY),t.SORTBY.DIRECTION&&e.push(t.SORTBY.DIRECTION))),t?.LIMIT&&e.push("LIMIT",t.LIMIT.from.toString(),t.LIMIT.size.toString()),myt(e,t?.PARAMS),t?.DIALECT?e.push("DIALECT",t.DIALECT.toString()):e.push("DIALECT",zHr.DEFAULT_DIALECT)}oS.parseSearchOptions=gyt;oS.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("FT.SEARCH",t,r),gyt(e,n)},transformReply:{2:e=>{let t=e.length>2&&!Array.isArray(e[2]),r=[],n=1;for(;n{"use strict";Object.defineProperty(os,"__esModule",{value:!0});os.parseGroupByReducer=os.parseAggregateOptions=os.FT_AGGREGATE_GROUP_BY_REDUCERS=os.FT_AGGREGATE_STEPS=void 0;var XHr=cS(),JHr=Ge(),ZHr=kR();os.FT_AGGREGATE_STEPS={GROUPBY:"GROUPBY",SORTBY:"SORTBY",APPLY:"APPLY",LIMIT:"LIMIT",FILTER:"FILTER"};os.FT_AGGREGATE_GROUP_BY_REDUCERS={COUNT:"COUNT",COUNT_DISTINCT:"COUNT_DISTINCT",COUNT_DISTINCTISH:"COUNT_DISTINCTISH",SUM:"SUM",MIN:"MIN",MAX:"MAX",AVG:"AVG",STDDEV:"STDDEV",QUANTILE:"QUANTILE",TOLIST:"TOLIST",FIRST_VALUE:"FIRST_VALUE",RANDOM_SAMPLE:"RANDOM_SAMPLE"};os.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(e,t,r,n){return e.push("FT.AGGREGATE",t,r),Eyt(e,n)},transformReply:{2:(e,t,r)=>{let n=[];for(let s=1;s{"use strict";var eVr=VL&&VL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(VL,"__esModule",{value:!0});var $Ae=eVr(BR());VL.default={IS_READ_ONLY:$Ae.default.IS_READ_ONLY,parseCommand(e,t,r,n){$Ae.default.parseCommand(e,t,r,n),e.push("WITHCURSOR"),n?.COUNT!==void 0&&e.push("COUNT",n.COUNT.toString()),n?.MAXIDLE!==void 0&&e.push("MAXIDLE",n.MAXIDLE.toString())},transformReply:{2:e=>({...$Ae.default.transformReply[2](e[0]),cursor:e[1]}),3:void 0},unstableResp3:!0}});var yyt=S(HAe=>{"use strict";Object.defineProperty(HAe,"__esModule",{value:!0});HAe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("FT.ALIASADD",t,r)},transformReply:void 0}});var vyt=S(VAe=>{"use strict";Object.defineProperty(VAe,"__esModule",{value:!0});VAe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("FT.ALIASDEL",t)},transformReply:void 0}});var Syt=S(jAe=>{"use strict";Object.defineProperty(jAe,"__esModule",{value:!0});jAe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("FT.ALIASUPDATE",t,r)},transformReply:void 0}});var Tyt=S(KAe=>{"use strict";Object.defineProperty(KAe,"__esModule",{value:!0});KAe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("FT.CONFIG","GET",t)},transformReply(e){let t=Object.create(null);for(let r of e){let[n,s]=r;t[n.toString()]=s}return t}}});var byt=S(GAe=>{"use strict";Object.defineProperty(GAe,"__esModule",{value:!0});GAe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("FT.CONFIG","SET",t,r)},transformReply:void 0}});var Iyt=S(YAe=>{"use strict";Object.defineProperty(YAe,"__esModule",{value:!0});YAe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("FT.CURSOR","DEL",t,r.toString())},transformReply:void 0}});var Ryt=S(jL=>{"use strict";var tVr=jL&&jL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(jL,"__esModule",{value:!0});var rVr=tVr(qAe());jL.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("FT.CURSOR","READ",t,r.toString()),n?.COUNT!==void 0&&e.push("COUNT",n.COUNT.toString())},transformReply:rVr.default.transformReply,unstableResp3:!0}});var Cyt=S(QAe=>{"use strict";Object.defineProperty(QAe,"__esModule",{value:!0});QAe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("FT.DICTADD",t),e.pushVariadic(r)},transformReply:void 0}});var xyt=S(zAe=>{"use strict";Object.defineProperty(zAe,"__esModule",{value:!0});zAe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("FT.DICTDEL",t),e.pushVariadic(r)},transformReply:void 0}});var wyt=S(WAe=>{"use strict";Object.defineProperty(WAe,"__esModule",{value:!0});WAe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("FT.DICTDUMP",t)},transformReply:{2:void 0,3:void 0}}});var Nyt=S(XAe=>{"use strict";Object.defineProperty(XAe,"__esModule",{value:!0});XAe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("FT.DROPINDEX",t),r?.DD&&e.push("DD")},transformReply:{2:void 0,3:void 0}}});var Oyt=S(JAe=>{"use strict";Object.defineProperty(JAe,"__esModule",{value:!0});var nVr=cS(),sVr=kR();JAe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("FT.EXPLAIN",t,r),(0,nVr.parseParamsArgument)(e,n?.PARAMS),n?.DIALECT?e.push("DIALECT",n.DIALECT.toString()):e.push("DIALECT",sVr.DEFAULT_DIALECT)},transformReply:void 0}});var Dyt=S(ZAe=>{"use strict";Object.defineProperty(ZAe,"__esModule",{value:!0});var iVr=kR();ZAe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("FT.EXPLAINCLI",t,r),n?.DIALECT?e.push("DIALECT",n.DIALECT.toString()):e.push("DIALECT",iVr.DEFAULT_DIALECT)},transformReply:void 0}});var Myt=S(Vf=>{"use strict";Object.defineProperty(Vf,"__esModule",{value:!0});Vf.FT_HYBRID_COMBINE_METHOD=Vf.FT_HYBRID_VECTOR_METHOD=void 0;var Pyt=Ge(),aVr=cS(),oVr=BR();Vf.FT_HYBRID_VECTOR_METHOD={KNN:"KNN",RANGE:"RANGE"};Vf.FT_HYBRID_COMBINE_METHOD={RRF:"RRF",LINEAR:"LINEAR"};function cVr(e,t){e.push("SEARCH",t.query),t.SCORER&&e.push("SCORER",t.SCORER),t.YIELD_SCORE_AS&&e.push("YIELD_SCORE_AS",t.YIELD_SCORE_AS)}function uVr(e,t){if(e.push("VSIM",t.field,t.vector),t.method){if(t.method.type===Vf.FT_HYBRID_VECTOR_METHOD.KNN){let r=2;t.method.EF_RUNTIME!==void 0&&(r+=2),e.push("KNN",r.toString(),"K",t.method.K.toString()),t.method.EF_RUNTIME!==void 0&&e.push("EF_RUNTIME",t.method.EF_RUNTIME.toString())}if(t.method.type===Vf.FT_HYBRID_VECTOR_METHOD.RANGE){let r=2;t.method.EPSILON!==void 0&&(r+=2),e.push("RANGE",r.toString(),"RADIUS",t.method.RADIUS.toString()),t.method.EPSILON!==void 0&&e.push("EPSILON",t.method.EPSILON.toString())}}t.FILTER&&e.push("FILTER",t.FILTER),t.YIELD_SCORE_AS&&e.push("YIELD_SCORE_AS",t.YIELD_SCORE_AS)}function lVr(e,t){if(t){if(e.push("COMBINE"),t.method.type===Vf.FT_HYBRID_COMBINE_METHOD.RRF){let r=0;t.method.WINDOW!==void 0&&(r+=2),t.method.CONSTANT!==void 0&&(r+=2),t.YIELD_SCORE_AS&&(r+=2),e.push("RRF",r.toString()),t.method.WINDOW!==void 0&&e.push("WINDOW",t.method.WINDOW.toString()),t.method.CONSTANT!==void 0&&e.push("CONSTANT",t.method.CONSTANT.toString())}if(t.method.type===Vf.FT_HYBRID_COMBINE_METHOD.LINEAR){let r=0;t.method.ALPHA!==void 0&&(r+=2),t.method.BETA!==void 0&&(r+=2),t.method.WINDOW!==void 0&&(r+=2),t.YIELD_SCORE_AS&&(r+=2),e.push("LINEAR",r.toString()),t.method.ALPHA!==void 0&&e.push("ALPHA",t.method.ALPHA.toString()),t.method.BETA!==void 0&&e.push("BETA",t.method.BETA.toString()),t.method.WINDOW!==void 0&&e.push("WINDOW",t.method.WINDOW.toString())}t.YIELD_SCORE_AS&&e.push("YIELD_SCORE_AS",t.YIELD_SCORE_AS)}}function dVr(e,t){e.push("APPLY",t.expression),t.AS&&e.push("AS",t.AS)}function fVr(e,t){if(cVr(e,t.SEARCH),uVr(e,t.VSIM),t.COMBINE&&lVr(e,t.COMBINE),t.LOAD&&(t.LOAD==="*"?e.push("LOAD","*"):(0,Pyt.parseOptionalVariadicArgument)(e,"LOAD",t.LOAD)),t.GROUPBY&&((0,Pyt.parseOptionalVariadicArgument)(e,"GROUPBY",t.GROUPBY.fields),t.GROUPBY.REDUCE)){let n=Array.isArray(t.GROUPBY.REDUCE)?t.GROUPBY.REDUCE:[t.GROUPBY.REDUCE];for(let s of n)(0,oVr.parseGroupByReducer)(e,s)}if(t.APPLY){let n=Array.isArray(t.APPLY)?t.APPLY:[t.APPLY];for(let s of n)dVr(e,s)}if(t.SORTBY){let n=t.SORTBY.fields.reduce((s,i)=>i.direction?s+2:s+1,0);e.push("SORTBY",n.toString());for(let s of t.SORTBY.fields)e.push(s.field),s.direction&&e.push(s.direction)}t.NOSORT&&e.push("NOSORT"),t.FILTER&&e.push("FILTER",t.FILTER),t.LIMIT&&e.push("LIMIT",t.LIMIT.offset.toString(),t.LIMIT.count.toString());let r=t.PARAMS&&Object.keys(t.PARAMS).length>0;(0,aVr.parseParamsArgument)(e,r?t.PARAMS:void 0),t.TIMEOUT!==void 0&&e.push("TIMEOUT",t.TIMEOUT.toString())}Vf.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("FT.HYBRID",t),fVr(e,r)},transformReply:{2:e=>hVr(e),3:void 0},unstableResp3:!0};function hVr(e){let t=Lyt(e),r=t.total_results??0,n=t.results??[],s=t.warnings??[],i=t.execution_time?Number.parseFloat(t.execution_time):0,a=[];for(let o of n){let c=Lyt(o),u=Object.create(null);for(let[l,d]of Object.entries(c))if(l==="$")try{Object.assign(u,JSON.parse(d))}catch{u[l]=d}else u[l]=d;a.push(u)}return{totalResults:r,executionTime:i,warnings:s,results:a}}function Lyt(e){let t={};if(!Array.isArray(e))return t;for(let r=0;r{"use strict";Object.defineProperty(tEe,"__esModule",{value:!0});var eEe=Ge();tEe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("FT.INFO",t)},transformReply:{2:pVr,3:void 0},unstableResp3:!0};function pVr(e,t,r){let n=(0,eEe.createTransformTuplesReplyFunc)(t,r),s={};for(let i=0;in(o));break;case"gc_stats":{let o={},c=e[i+1];for(let u=0;u{"use strict";var mVr=Km&&Km.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),gVr=Km&&Km.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),_Vr=Km&&Km.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&mVr(t,e,r);return gVr(t,e),t};Object.defineProperty(Km,"__esModule",{value:!0});var Byt=_Vr(cS());Km.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("FT.PROFILE",t,"SEARCH"),n?.LIMITED&&e.push("LIMITED"),e.push("QUERY",r),(0,Byt.parseSearchOptions)(e,n)},transformReply:{2:e=>({results:Byt.default.transformReply[2](e[0]),profile:e[1]}),3:e=>e},unstableResp3:!0}});var $yt=S(Gm=>{"use strict";var AVr=Gm&&Gm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),EVr=Gm&&Gm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),yVr=Gm&&Gm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&AVr(t,e,r);return EVr(t,e),t};Object.defineProperty(Gm,"__esModule",{value:!0});var Fyt=yVr(BR());Gm.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("FT.PROFILE",t,"AGGREGATE"),n?.LIMITED&&e.push("LIMITED"),e.push("QUERY",r),(0,Fyt.parseAggregateOptions)(e,n)},transformReply:{2:e=>({results:Fyt.default.transformReply[2](e[0]),profile:e[1]}),3:e=>e},unstableResp3:!0}});var qyt=S(KL=>{"use strict";var vVr=KL&&KL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(KL,"__esModule",{value:!0});var rEe=vVr(cS());KL.default={NOT_KEYED_COMMAND:rEe.default.NOT_KEYED_COMMAND,IS_READ_ONLY:rEe.default.IS_READ_ONLY,parseCommand(...e){rEe.default.parseCommand(...e),e[0].push("NOCONTENT")},transformReply:{2:e=>({total:e[0],documents:e.slice(1)}),3:void 0},unstableResp3:!0}});var Vyt=S(nEe=>{"use strict";Object.defineProperty(nEe,"__esModule",{value:!0});var SVr=kR();nEe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n){if(e.push("FT.SPELLCHECK",t,r),n?.DISTANCE&&e.push("DISTANCE",n.DISTANCE.toString()),n?.TERMS)if(Array.isArray(n.TERMS))for(let s of n.TERMS)Hyt(e,s);else Hyt(e,n.TERMS);n?.DIALECT?e.push("DIALECT",n.DIALECT.toString()):e.push("DIALECT",SVr.DEFAULT_DIALECT)},transformReply:{2:e=>e.map(([,t,r])=>({term:t,suggestions:r.map(([n,s])=>({score:Number(n),suggestion:s}))})),3:void 0},unstableResp3:!0};function Hyt(e,{mode:t,dictionary:r}){e.push("TERMS",t,r)}});var jyt=S(sEe=>{"use strict";Object.defineProperty(sEe,"__esModule",{value:!0});sEe.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n,s){e.push("FT.SUGADD"),e.pushKey(t),e.push(r,n.toString()),s?.INCR&&e.push("INCR"),s?.PAYLOAD&&e.push("PAYLOAD",s.PAYLOAD)},transformReply:void 0}});var Kyt=S(iEe=>{"use strict";Object.defineProperty(iEe,"__esModule",{value:!0});iEe.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("FT.SUGDEL"),e.pushKey(t),e.push(r)},transformReply:void 0}});var GL=S(aEe=>{"use strict";Object.defineProperty(aEe,"__esModule",{value:!0});aEe.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("FT.SUGGET"),e.pushKey(t),e.push(r),n?.FUZZY&&e.push("FUZZY"),n?.MAX!==void 0&&e.push("MAX",n.MAX.toString())},transformReply:void 0}});var Yyt=S(YL=>{"use strict";var TVr=YL&&YL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(YL,"__esModule",{value:!0});var bVr=Ge(),Gyt=TVr(GL());YL.default={IS_READ_ONLY:Gyt.default.IS_READ_ONLY,parseCommand(...e){Gyt.default.parseCommand(...e),e[0].push("WITHPAYLOADS")},transformReply(e){if((0,bVr.isNullReply)(e))return null;let t=new Array(e.length/2),r=0,n=0;for(;r{"use strict";var IVr=QL&&QL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(QL,"__esModule",{value:!0});var oEe=Ge(),Qyt=IVr(GL());QL.default={IS_READ_ONLY:Qyt.default.IS_READ_ONLY,parseCommand(...e){Qyt.default.parseCommand(...e),e[0].push("WITHSCORES","WITHPAYLOADS")},transformReply:{2:(e,t,r)=>{if((0,oEe.isNullReply)(e))return null;let n=new Array(e.length/3),s=0,i=0;for(;s{if((0,oEe.isNullReply)(e))return null;let t=new Array(e.length/3),r=0,n=0;for(;r{"use strict";var RVr=zL&&zL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(zL,"__esModule",{value:!0});var cEe=Ge(),Wyt=RVr(GL());zL.default={IS_READ_ONLY:Wyt.default.IS_READ_ONLY,parseCommand(...e){Wyt.default.parseCommand(...e),e[0].push("WITHSCORES")},transformReply:{2:(e,t,r)=>{if((0,cEe.isNullReply)(e))return null;let n=new Array(e.length/2),s=0,i=0;for(;s{if((0,cEe.isNullReply)(e))return null;let t=new Array(e.length/2),r=0,n=0;for(;r{"use strict";Object.defineProperty(uEe,"__esModule",{value:!0});uEe.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("FT.SUGLEN",t)},transformReply:void 0}});var Zyt=S(lEe=>{"use strict";Object.defineProperty(lEe,"__esModule",{value:!0});lEe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("FT.SYNDUMP",t)},transformReply:{2:e=>{let t={},r=0;for(;r{"use strict";Object.defineProperty(dEe,"__esModule",{value:!0});dEe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r,n,s){e.push("FT.SYNUPDATE",t,r),s?.SKIPINITIALSCAN&&e.push("SKIPINITIALSCAN"),e.pushVariadic(n)},transformReply:void 0}});var tvt=S(fEe=>{"use strict";Object.defineProperty(fEe,"__esModule",{value:!0});fEe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("FT.TAGVALS",t,r)},transformReply:{2:void 0,3:void 0}}});var Bvt=S(WL=>{"use strict";var nn=WL&&WL.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(WL,"__esModule",{value:!0});var rvt=nn(dyt()),nvt=nn(pyt()),svt=nn(qAe()),ivt=nn(BR()),avt=nn(yyt()),ovt=nn(vyt()),cvt=nn(Syt()),uvt=nn(Tyt()),lvt=nn(byt()),dvt=nn(T9()),fvt=nn(Iyt()),hvt=nn(Ryt()),pvt=nn(Cyt()),mvt=nn(xyt()),gvt=nn(wyt()),_vt=nn(Nyt()),Avt=nn(Oyt()),Evt=nn(Dyt()),yvt=nn(Myt()),vvt=nn(kyt()),Svt=nn(Uyt()),Tvt=nn($yt()),bvt=nn(qyt()),Ivt=nn(cS()),Rvt=nn(Vyt()),Cvt=nn(jyt()),xvt=nn(Kyt()),wvt=nn(Yyt()),Nvt=nn(zyt()),Ovt=nn(Xyt()),Dvt=nn(GL()),Pvt=nn(Jyt()),Lvt=nn(Zyt()),Mvt=nn(evt()),kvt=nn(tvt());WL.default={_LIST:rvt.default,_list:rvt.default,ALTER:nvt.default,alter:nvt.default,AGGREGATE_WITHCURSOR:svt.default,aggregateWithCursor:svt.default,AGGREGATE:ivt.default,aggregate:ivt.default,ALIASADD:avt.default,aliasAdd:avt.default,ALIASDEL:ovt.default,aliasDel:ovt.default,ALIASUPDATE:cvt.default,aliasUpdate:cvt.default,CONFIG_GET:uvt.default,configGet:uvt.default,CONFIG_SET:lvt.default,configSet:lvt.default,CREATE:dvt.default,create:dvt.default,CURSOR_DEL:fvt.default,cursorDel:fvt.default,CURSOR_READ:hvt.default,cursorRead:hvt.default,DICTADD:pvt.default,dictAdd:pvt.default,DICTDEL:mvt.default,dictDel:mvt.default,DICTDUMP:gvt.default,dictDump:gvt.default,DROPINDEX:_vt.default,dropIndex:_vt.default,EXPLAIN:Avt.default,explain:Avt.default,EXPLAINCLI:Evt.default,explainCli:Evt.default,HYBRID:yvt.default,hybrid:yvt.default,INFO:vvt.default,info:vvt.default,PROFILESEARCH:Svt.default,profileSearch:Svt.default,PROFILEAGGREGATE:Tvt.default,profileAggregate:Tvt.default,SEARCH_NOCONTENT:bvt.default,searchNoContent:bvt.default,SEARCH:Ivt.default,search:Ivt.default,SPELLCHECK:Rvt.default,spellCheck:Rvt.default,SUGADD:Cvt.default,sugAdd:Cvt.default,SUGDEL:xvt.default,sugDel:xvt.default,SUGGET_WITHPAYLOADS:wvt.default,sugGetWithPayloads:wvt.default,SUGGET_WITHSCORES_WITHPAYLOADS:Nvt.default,sugGetWithScoresWithPayloads:Nvt.default,SUGGET_WITHSCORES:Ovt.default,sugGetWithScores:Ovt.default,SUGGET:Dvt.default,sugGet:Dvt.default,SUGLEN:Pvt.default,sugLen:Pvt.default,SYNDUMP:Lvt.default,synDump:Lvt.default,SYNUPDATE:Mvt.default,synUpdate:Mvt.default,TAGVALS:kvt.default,tagVals:kvt.default}});var hEe=S(Oa=>{"use strict";var CVr=Oa&&Oa.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Oa,"__esModule",{value:!0});Oa.FT_AGGREGATE_STEPS=Oa.FT_AGGREGATE_GROUP_BY_REDUCERS=Oa.SCHEMA_VECTOR_FIELD_ALGORITHM=Oa.SCHEMA_TEXT_FIELD_PHONETIC=Oa.SCHEMA_FIELD_TYPE=Oa.REDISEARCH_LANGUAGE=Oa.default=void 0;var xVr=Bvt();Object.defineProperty(Oa,"default",{enumerable:!0,get:function(){return CVr(xVr).default}});var I9=T9();Object.defineProperty(Oa,"REDISEARCH_LANGUAGE",{enumerable:!0,get:function(){return I9.REDISEARCH_LANGUAGE}});Object.defineProperty(Oa,"SCHEMA_FIELD_TYPE",{enumerable:!0,get:function(){return I9.SCHEMA_FIELD_TYPE}});Object.defineProperty(Oa,"SCHEMA_TEXT_FIELD_PHONETIC",{enumerable:!0,get:function(){return I9.SCHEMA_TEXT_FIELD_PHONETIC}});Object.defineProperty(Oa,"SCHEMA_VECTOR_FIELD_ALGORITHM",{enumerable:!0,get:function(){return I9.SCHEMA_VECTOR_FIELD_ALGORITHM}});var Uvt=BR();Object.defineProperty(Oa,"FT_AGGREGATE_GROUP_BY_REDUCERS",{enumerable:!0,get:function(){return Uvt.FT_AGGREGATE_GROUP_BY_REDUCERS}});Object.defineProperty(Oa,"FT_AGGREGATE_STEPS",{enumerable:!0,get:function(){return Uvt.FT_AGGREGATE_STEPS}})});var Da=S(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.transformRESP2LabelsWithSources=Yr.transformRESP2Labels=Yr.parseSelectedLabelsArguments=Yr.resp3MapToValue=Yr.resp2MapToValue=Yr.transformSamplesReply=Yr.transformSampleReply=Yr.parseLabelsArgument=Yr.transformTimestampArgument=Yr.parseDuplicatePolicy=Yr.TIME_SERIES_DUPLICATE_POLICIES=Yr.parseChunkSizeArgument=Yr.parseEncodingArgument=Yr.TIME_SERIES_ENCODING=Yr.parseRetentionArgument=Yr.parseIgnoreArgument=void 0;var pEe=OL();function wVr(e,t){t!==void 0&&e.push("IGNORE",t.maxTimeDiff.toString(),t.maxValDiff.toString())}Yr.parseIgnoreArgument=wVr;function NVr(e,t){t!==void 0&&e.push("RETENTION",t.toString())}Yr.parseRetentionArgument=NVr;Yr.TIME_SERIES_ENCODING={COMPRESSED:"COMPRESSED",UNCOMPRESSED:"UNCOMPRESSED"};function OVr(e,t){t!==void 0&&e.push("ENCODING",t)}Yr.parseEncodingArgument=OVr;function DVr(e,t){t!==void 0&&e.push("CHUNK_SIZE",t.toString())}Yr.parseChunkSizeArgument=DVr;Yr.TIME_SERIES_DUPLICATE_POLICIES={BLOCK:"BLOCK",FIRST:"FIRST",LAST:"LAST",MIN:"MIN",MAX:"MAX",SUM:"SUM"};function PVr(e,t){t!==void 0&&e.push("DUPLICATE_POLICY",t)}Yr.parseDuplicatePolicy=PVr;function LVr(e){return typeof e=="string"?e:(typeof e=="number"?e:e.getTime()).toString()}Yr.transformTimestampArgument=LVr;function MVr(e,t){if(t){e.push("LABELS");for(let[r,n]of Object.entries(t))e.push(r,n)}}Yr.parseLabelsArgument=MVr;Yr.transformSampleReply={2(e){let[t,r]=e;return{timestamp:t,value:Number(r)}},3(e){let[t,r]=e;return{timestamp:t,value:r}}};Yr.transformSamplesReply={2(e){return e.map(t=>Yr.transformSampleReply[2](t))},3(e){return e.map(t=>Yr.transformSampleReply[3](t))}};function kVr(e,t,r){let n=e;switch(r?.[pEe.RESP_TYPES.MAP]){case Map:{let s=new Map;for(let i of n){let a=i,o=a[0];s.set(o.toString(),t(a))}return s}case Array:{for(let s of n){let i=s;i[1]=t(i)}return n}default:{let s=Object.create(null);for(let i of n){let a=i,o=a[0];s[o.toString()]=t(a)}return s}}}Yr.resp2MapToValue=kVr;function BVr(e,t){let r=e;if(r instanceof Array)for(let n=1;n{"use strict";Object.defineProperty(mEe,"__esModule",{value:!0});var UR=Da();mEe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,s){e.push("TS.ADD"),e.pushKey(t),e.push((0,UR.transformTimestampArgument)(r),n.toString()),(0,UR.parseRetentionArgument)(e,s?.RETENTION),(0,UR.parseEncodingArgument)(e,s?.ENCODING),(0,UR.parseChunkSizeArgument)(e,s?.CHUNK_SIZE),s?.ON_DUPLICATE&&e.push("ON_DUPLICATE",s.ON_DUPLICATE),(0,UR.parseLabelsArgument)(e,s?.LABELS),(0,UR.parseIgnoreArgument)(e,s?.IGNORE)},transformReply:void 0}});var $vt=S(gEe=>{"use strict";Object.defineProperty(gEe,"__esModule",{value:!0});var XL=Da();gEe.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("TS.ALTER"),e.pushKey(t),(0,XL.parseRetentionArgument)(e,r?.RETENTION),(0,XL.parseChunkSizeArgument)(e,r?.CHUNK_SIZE),(0,XL.parseDuplicatePolicy)(e,r?.DUPLICATE_POLICY),(0,XL.parseLabelsArgument)(e,r?.LABELS),(0,XL.parseIgnoreArgument)(e,r?.IGNORE)},transformReply:void 0}});var qvt=S(_Ee=>{"use strict";Object.defineProperty(_Ee,"__esModule",{value:!0});var FR=Da();_Ee.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("TS.CREATE"),e.pushKey(t),(0,FR.parseRetentionArgument)(e,r?.RETENTION),(0,FR.parseEncodingArgument)(e,r?.ENCODING),(0,FR.parseChunkSizeArgument)(e,r?.CHUNK_SIZE),(0,FR.parseDuplicatePolicy)(e,r?.DUPLICATE_POLICY),(0,FR.parseLabelsArgument)(e,r?.LABELS),(0,FR.parseIgnoreArgument)(e,r?.IGNORE)},transformReply:void 0}});var AEe=S(JL=>{"use strict";Object.defineProperty(JL,"__esModule",{value:!0});JL.TIME_SERIES_AGGREGATION_TYPE=void 0;JL.TIME_SERIES_AGGREGATION_TYPE={AVG:"AVG",FIRST:"FIRST",LAST:"LAST",MIN:"MIN",MAX:"MAX",SUM:"SUM",RANGE:"RANGE",COUNT:"COUNT",COUNT_NAN:"COUNTNAN",COUNT_ALL:"COUNTALL",STD_P:"STD.P",STD_S:"STD.S",VAR_P:"VAR.P",VAR_S:"VAR.S",TWA:"TWA"};JL.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n,s,i){e.push("TS.CREATERULE"),e.pushKeys([t,r]),e.push("AGGREGATION",n,s.toString()),i!==void 0&&e.push(i.toString())},transformReply:void 0}});var EEe=S(eM=>{"use strict";Object.defineProperty(eM,"__esModule",{value:!0});eM.parseIncrByArguments=void 0;var ZL=Da();function Hvt(e,t,r,n){e.pushKey(t),e.push(r.toString()),n?.TIMESTAMP!==void 0&&n?.TIMESTAMP!==null&&e.push("TIMESTAMP",(0,ZL.transformTimestampArgument)(n.TIMESTAMP)),(0,ZL.parseRetentionArgument)(e,n?.RETENTION),n?.UNCOMPRESSED&&e.push("UNCOMPRESSED"),(0,ZL.parseChunkSizeArgument)(e,n?.CHUNK_SIZE),(0,ZL.parseLabelsArgument)(e,n?.LABELS),(0,ZL.parseIgnoreArgument)(e,n?.IGNORE)}eM.parseIncrByArguments=Hvt;eM.default={IS_READ_ONLY:!1,parseCommand(...e){e[0].push("TS.INCRBY"),Hvt(...e)},transformReply:void 0}});var Vvt=S(Ym=>{"use strict";var HVr=Ym&&Ym.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),VVr=Ym&&Ym.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),jVr=Ym&&Ym.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&HVr(t,e,r);return VVr(t,e),t};Object.defineProperty(Ym,"__esModule",{value:!0});var yEe=jVr(EEe());Ym.default={IS_READ_ONLY:yEe.default.IS_READ_ONLY,parseCommand(...e){e[0].push("TS.DECRBY"),(0,yEe.parseIncrByArguments)(...e)},transformReply:yEe.default.transformReply}});var Kvt=S(vEe=>{"use strict";Object.defineProperty(vEe,"__esModule",{value:!0});var jvt=Da();vEe.default={IS_READ_ONLY:!1,parseCommand(e,t,r,n){e.push("TS.DEL"),e.pushKey(t),e.push((0,jvt.transformTimestampArgument)(r),(0,jvt.transformTimestampArgument)(n))},transformReply:void 0}});var Gvt=S(SEe=>{"use strict";Object.defineProperty(SEe,"__esModule",{value:!0});SEe.default={IS_READ_ONLY:!1,parseCommand(e,t,r){e.push("TS.DELETERULE"),e.pushKeys([t,r])},transformReply:void 0}});var Yvt=S(TEe=>{"use strict";Object.defineProperty(TEe,"__esModule",{value:!0});TEe.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("TS.GET"),e.pushKey(t),r?.LATEST&&e.push("LATEST")},transformReply:{2(e){return e.length===0?null:{timestamp:e[0],value:Number(e[1])}},3(e){return e.length===0?null:{timestamp:e[0],value:e[1]}}}}});var IEe=S(bEe=>{"use strict";Object.defineProperty(bEe,"__esModule",{value:!0});var KVr=Ge();bEe.default={IS_READ_ONLY:!0,parseCommand(e,t){e.push("TS.INFO"),e.pushKey(t)},transformReply:{2:(e,t,r)=>{let n={};for(let s=0;s({name:a,value:o}));break;case"rules":n[i]=e[s+1].map(([a,o,c])=>({key:a,timeBucket:o,aggregationType:c}));break;case"ignoreMaxValDiff":n[i]=KVr.transformDoubleReply[2](e[27],void 0,r);break}}return n},3:void 0},unstableResp3:!0}});var Qvt=S(tM=>{"use strict";var GVr=tM&&tM.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(tM,"__esModule",{value:!0});var REe=GVr(IEe());tM.default={IS_READ_ONLY:REe.default.IS_READ_ONLY,parseCommand(e,t){REe.default.parseCommand(e,t),e.push("DEBUG")},transformReply:{2:(e,t,r)=>{let n=REe.default.transformReply[2](e,t,r);for(let s=0;s({startTimestamp:a[1],endTimestamp:a[3],samples:a[5],size:a[7],bytesPerSample:a[9]}));break}}}return n},3:void 0},unstableResp3:!0}});var zvt=S(CEe=>{"use strict";Object.defineProperty(CEe,"__esModule",{value:!0});var YVr=Da();CEe.default={IS_READ_ONLY:!1,parseCommand(e,t){e.push("TS.MADD");for(let{key:r,timestamp:n,value:s}of t)e.pushKey(r),e.push((0,YVr.transformTimestampArgument)(n),s.toString())},transformReply:void 0}});var wh=S(uS=>{"use strict";Object.defineProperty(uS,"__esModule",{value:!0});uS.parseFilterArgument=uS.parseLatestArgument=void 0;var R9=Da();function Wvt(e,t){t&&e.push("LATEST")}uS.parseLatestArgument=Wvt;function Xvt(e,t){e.push("FILTER"),e.pushVariadic(t)}uS.parseFilterArgument=Xvt;uS.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("TS.MGET"),Wvt(e,r?.LATEST),Xvt(e,t)},transformReply:{2(e,t,r){return(0,R9.resp2MapToValue)(e,([,,n])=>({sample:R9.transformSampleReply[2](n)}),r)},3(e){return(0,R9.resp3MapToValue)(e,([,t])=>({sample:R9.transformSampleReply[3](t)}))}}}});var xEe=S(nM=>{"use strict";Object.defineProperty(nM,"__esModule",{value:!0});nM.createTransformMGetLabelsReply=void 0;var Jvt=wh(),rM=Da();function Zvt(){return{2(e,t,r){return(0,rM.resp2MapToValue)(e,([,n,s])=>({labels:(0,rM.transformRESP2Labels)(n),sample:rM.transformSampleReply[2](s)}),r)},3(e){return(0,rM.resp3MapToValue)(e,([t,r])=>({labels:t,sample:rM.transformSampleReply[3](r)}))}}}nM.createTransformMGetLabelsReply=Zvt;nM.default={IS_READ_ONLY:!0,parseCommand(e,t,r){e.push("TS.MGET"),(0,Jvt.parseLatestArgument)(e,r?.LATEST),e.push("WITHLABELS"),(0,Jvt.parseFilterArgument)(e,t)},transformReply:Zvt()}});var tSt=S(wEe=>{"use strict";Object.defineProperty(wEe,"__esModule",{value:!0});var eSt=wh(),QVr=Da(),zVr=xEe();wEe.default={IS_READ_ONLY:!0,parseCommand(e,t,r,n){e.push("TS.MGET"),(0,eSt.parseLatestArgument)(e,n?.LATEST),(0,QVr.parseSelectedLabelsArguments)(e,r),(0,eSt.parseFilterArgument)(e,t)},transformReply:(0,zVr.createTransformMGetLabelsReply)()}});var Nh=S(Qm=>{"use strict";Object.defineProperty(Qm,"__esModule",{value:!0});Qm.transformRangeArguments=Qm.parseRangeArguments=Qm.TIME_SERIES_BUCKET_TIMESTAMP=void 0;var lS=Da();Qm.TIME_SERIES_BUCKET_TIMESTAMP={LOW:"-",MIDDLE:"~",END:"+"};function rSt(e,t,r,n){if(e.push((0,lS.transformTimestampArgument)(t),(0,lS.transformTimestampArgument)(r)),n?.LATEST&&e.push("LATEST"),n?.FILTER_BY_TS){e.push("FILTER_BY_TS");for(let s of n.FILTER_BY_TS)e.push((0,lS.transformTimestampArgument)(s))}n?.FILTER_BY_VALUE&&e.push("FILTER_BY_VALUE",n.FILTER_BY_VALUE.min.toString(),n.FILTER_BY_VALUE.max.toString()),n?.COUNT!==void 0&&e.push("COUNT",n.COUNT.toString()),n?.AGGREGATION&&(n?.ALIGN!==void 0&&e.push("ALIGN",(0,lS.transformTimestampArgument)(n.ALIGN)),e.push("AGGREGATION",n.AGGREGATION.type,(0,lS.transformTimestampArgument)(n.AGGREGATION.timeBucket)),n.AGGREGATION.BUCKETTIMESTAMP&&e.push("BUCKETTIMESTAMP",n.AGGREGATION.BUCKETTIMESTAMP),n.AGGREGATION.EMPTY&&e.push("EMPTY"))}Qm.parseRangeArguments=rSt;function nSt(e,t,r,n,s){e.pushKey(t),rSt(e,r,n,s)}Qm.transformRangeArguments=nSt;Qm.default={IS_READ_ONLY:!0,parseCommand(...e){e[0].push("TS.RANGE"),nSt(...e)},transformReply:{2(e){return lS.transformSamplesReply[2](e)},3(e){return lS.transformSamplesReply[3](e)}}}});var $R=S(jf=>{"use strict";Object.defineProperty(jf,"__esModule",{value:!0});jf.extractResp3MRangeSources=jf.createTransformMRangeGroupByArguments=jf.parseGroupByArguments=jf.TIME_SERIES_REDUCERS=void 0;var C9=Da(),WVr=Nh(),XVr=wh();jf.TIME_SERIES_REDUCERS={AVG:"AVG",SUM:"SUM",MIN:"MIN",MAX:"MAX",RANGE:"RANGE",COUNT:"COUNT",COUNTNAN:"COUNTNAN",COUNTALL:"COUNTALL",STD_P:"STD.P",STD_S:"STD.S",VAR_P:"VAR.P",VAR_S:"VAR.S"};function sSt(e,t){e.push("GROUPBY",t.label,"REDUCE",t.REDUCE)}jf.parseGroupByArguments=sSt;function iSt(e){return(t,r,n,s,i,a)=>{t.push(e),(0,WVr.parseRangeArguments)(t,r,n,a),(0,XVr.parseFilterArgument)(t,s),sSt(t,i)}}jf.createTransformMRangeGroupByArguments=iSt;function aSt(e){let t=e;return t instanceof Map?t.get("sources"):t instanceof Array?t[1]:t.sources}jf.extractResp3MRangeSources=aSt;jf.default={IS_READ_ONLY:!0,parseCommand:iSt("TS.MRANGE"),transformReply:{2(e,t,r){return(0,C9.resp2MapToValue)(e,([n,s,i])=>({samples:C9.transformSamplesReply[2](i)}),r)},3(e){return(0,C9.resp3MapToValue)(e,([t,r,n,s])=>({sources:aSt(n),samples:C9.transformSamplesReply[3](s)}))}}}});var x9=S(sM=>{"use strict";Object.defineProperty(sM,"__esModule",{value:!0});sM.createTransformMRangeSelectedLabelsArguments=void 0;var qR=Da(),JVr=Nh(),ZVr=wh();function oSt(e){return(t,r,n,s,i,a)=>{t.push(e),(0,JVr.parseRangeArguments)(t,r,n,a),(0,qR.parseSelectedLabelsArguments)(t,s),(0,ZVr.parseFilterArgument)(t,i)}}sM.createTransformMRangeSelectedLabelsArguments=oSt;sM.default={IS_READ_ONLY:!0,parseCommand:oSt("TS.MRANGE"),transformReply:{2(e,t,r){return(0,qR.resp2MapToValue)(e,([n,s,i])=>({labels:(0,qR.transformRESP2Labels)(s,r),samples:qR.transformSamplesReply[2](i)}),r)},3(e){return(0,qR.resp3MapToValue)(e,([t,r,n])=>({labels:r,samples:qR.transformSamplesReply[3](n)}))}}}});var OEe=S(dS=>{"use strict";var e7r=dS&&dS.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(dS,"__esModule",{value:!0});dS.createMRangeSelectedLabelsGroupByTransformArguments=void 0;var NEe=Da(),t7r=Nh(),cSt=$R(),r7r=wh(),n7r=e7r(x9());function uSt(e){return(t,r,n,s,i,a,o)=>{t.push(e),(0,t7r.parseRangeArguments)(t,r,n,o),(0,NEe.parseSelectedLabelsArguments)(t,s),(0,r7r.parseFilterArgument)(t,i),(0,cSt.parseGroupByArguments)(t,a)}}dS.createMRangeSelectedLabelsGroupByTransformArguments=uSt;dS.default={IS_READ_ONLY:!0,parseCommand:uSt("TS.MRANGE"),transformReply:{2:n7r.default.transformReply[2],3(e){return(0,NEe.resp3MapToValue)(e,([t,r,n,s])=>({labels:t,sources:(0,cSt.extractResp3MRangeSources)(n),samples:NEe.transformSamplesReply[3](s)}))}}}});var DEe=S(aM=>{"use strict";Object.defineProperty(aM,"__esModule",{value:!0});aM.createMRangeWithLabelsGroupByTransformArguments=void 0;var iM=Da(),s7r=Nh(),lSt=$R(),i7r=wh();function dSt(e){return(t,r,n,s,i,a)=>{t.push(e),(0,s7r.parseRangeArguments)(t,r,n,a),t.push("WITHLABELS"),(0,i7r.parseFilterArgument)(t,s),(0,lSt.parseGroupByArguments)(t,i)}}aM.createMRangeWithLabelsGroupByTransformArguments=dSt;aM.default={IS_READ_ONLY:!0,parseCommand:dSt("TS.MRANGE"),transformReply:{2(e,t,r){return(0,iM.resp2MapToValue)(e,([n,s,i])=>{let a=(0,iM.transformRESP2LabelsWithSources)(s);return{labels:a.labels,sources:a.sources,samples:iM.transformSamplesReply[2](i)}},r)},3(e){return(0,iM.resp3MapToValue)(e,([t,r,n,s])=>({labels:t,sources:(0,lSt.extractResp3MRangeSources)(n),samples:iM.transformSamplesReply[3](s)}))}}}});var PEe=S(oM=>{"use strict";Object.defineProperty(oM,"__esModule",{value:!0});oM.createTransformMRangeWithLabelsArguments=void 0;var w9=Da(),a7r=Nh(),o7r=wh();function fSt(e){return(t,r,n,s,i)=>{t.push(e),(0,a7r.parseRangeArguments)(t,r,n,i),t.push("WITHLABELS"),(0,o7r.parseFilterArgument)(t,s)}}oM.createTransformMRangeWithLabelsArguments=fSt;oM.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand:fSt("TS.MRANGE"),transformReply:{2(e,t,r){return(0,w9.resp2MapToValue)(e,([n,s,i])=>{let a=s,o=Object.create(null);for(let c of a){let[u,l]=c,d=u;o[d.toString()]=l}return{labels:o,samples:w9.transformSamplesReply[2](i)}},r)},3(e){return(0,w9.resp3MapToValue)(e,([t,r,n])=>({labels:t,samples:w9.transformSamplesReply[3](n)}))}}}});var LEe=S(cM=>{"use strict";Object.defineProperty(cM,"__esModule",{value:!0});cM.createTransformMRangeArguments=void 0;var N9=Da(),c7r=Nh(),u7r=wh();function hSt(e){return(t,r,n,s,i)=>{t.push(e),(0,c7r.parseRangeArguments)(t,r,n,i),(0,u7r.parseFilterArgument)(t,s)}}cM.createTransformMRangeArguments=hSt;cM.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand:hSt("TS.MRANGE"),transformReply:{2(e,t,r){return(0,N9.resp2MapToValue)(e,([n,s,i])=>N9.transformSamplesReply[2](i),r)},3(e){return(0,N9.resp3MapToValue)(e,([t,r,n])=>N9.transformSamplesReply[3](n))}}}});var pSt=S(zm=>{"use strict";var l7r=zm&&zm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),d7r=zm&&zm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f7r=zm&&zm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&l7r(t,e,r);return d7r(t,e),t};Object.defineProperty(zm,"__esModule",{value:!0});var MEe=f7r($R());zm.default={IS_READ_ONLY:MEe.default.IS_READ_ONLY,parseCommand:(0,MEe.createTransformMRangeGroupByArguments)("TS.MREVRANGE"),transformReply:MEe.default.transformReply}});var mSt=S(Wm=>{"use strict";var h7r=Wm&&Wm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),p7r=Wm&&Wm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),m7r=Wm&&Wm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&h7r(t,e,r);return p7r(t,e),t};Object.defineProperty(Wm,"__esModule",{value:!0});var kEe=m7r(OEe());Wm.default={IS_READ_ONLY:kEe.default.IS_READ_ONLY,parseCommand:(0,kEe.createMRangeSelectedLabelsGroupByTransformArguments)("TS.MREVRANGE"),transformReply:kEe.default.transformReply}});var gSt=S(Xm=>{"use strict";var g7r=Xm&&Xm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),_7r=Xm&&Xm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),A7r=Xm&&Xm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&g7r(t,e,r);return _7r(t,e),t};Object.defineProperty(Xm,"__esModule",{value:!0});var BEe=A7r(x9());Xm.default={IS_READ_ONLY:BEe.default.IS_READ_ONLY,parseCommand:(0,BEe.createTransformMRangeSelectedLabelsArguments)("TS.MREVRANGE"),transformReply:BEe.default.transformReply}});var _St=S(Jm=>{"use strict";var E7r=Jm&&Jm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),y7r=Jm&&Jm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),v7r=Jm&&Jm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&E7r(t,e,r);return y7r(t,e),t};Object.defineProperty(Jm,"__esModule",{value:!0});var UEe=v7r(DEe());Jm.default={IS_READ_ONLY:UEe.default.IS_READ_ONLY,parseCommand:(0,UEe.createMRangeWithLabelsGroupByTransformArguments)("TS.MREVRANGE"),transformReply:UEe.default.transformReply}});var ASt=S(Zm=>{"use strict";var S7r=Zm&&Zm.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),T7r=Zm&&Zm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),b7r=Zm&&Zm.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&S7r(t,e,r);return T7r(t,e),t};Object.defineProperty(Zm,"__esModule",{value:!0});var O9=b7r(PEe());Zm.default={NOT_KEYED_COMMAND:O9.default.NOT_KEYED_COMMAND,IS_READ_ONLY:O9.default.IS_READ_ONLY,parseCommand:(0,O9.createTransformMRangeWithLabelsArguments)("TS.MREVRANGE"),transformReply:O9.default.transformReply}});var ESt=S(eg=>{"use strict";var I7r=eg&&eg.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),R7r=eg&&eg.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),C7r=eg&&eg.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&I7r(t,e,r);return R7r(t,e),t};Object.defineProperty(eg,"__esModule",{value:!0});var D9=C7r(LEe());eg.default={NOT_KEYED_COMMAND:D9.default.NOT_KEYED_COMMAND,IS_READ_ONLY:D9.default.IS_READ_ONLY,parseCommand:(0,D9.createTransformMRangeArguments)("TS.MREVRANGE"),transformReply:D9.default.transformReply}});var ySt=S(FEe=>{"use strict";Object.defineProperty(FEe,"__esModule",{value:!0});FEe.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(e,t){e.push("TS.QUERYINDEX"),e.pushVariadic(t)},transformReply:{2:void 0,3:void 0}}});var vSt=S(tg=>{"use strict";var x7r=tg&&tg.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),w7r=tg&&tg.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),N7r=tg&&tg.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&x7r(t,e,r);return w7r(t,e),t};Object.defineProperty(tg,"__esModule",{value:!0});var $Ee=N7r(Nh());tg.default={IS_READ_ONLY:$Ee.default.IS_READ_ONLY,parseCommand(...e){e[0].push("TS.REVRANGE"),(0,$Ee.transformRangeArguments)(...e)},transformReply:$Ee.default.transformReply}});var JSt=S(Oh=>{"use strict";var O7r=Oh&&Oh.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),D7r=Oh&&Oh.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&O7r(t,e,r)},jn=Oh&&Oh.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Oh,"__esModule",{value:!0});var SSt=jn(Fvt()),TSt=jn($vt()),bSt=jn(qvt()),ISt=jn(AEe()),RSt=jn(Vvt()),CSt=jn(Kvt()),xSt=jn(Gvt()),wSt=jn(Yvt()),NSt=jn(EEe()),OSt=jn(Qvt()),DSt=jn(IEe()),PSt=jn(zvt()),LSt=jn(tSt()),MSt=jn(xEe()),kSt=jn(wh()),BSt=jn($R()),USt=jn(OEe()),FSt=jn(x9()),$St=jn(DEe()),qSt=jn(PEe()),HSt=jn(LEe()),VSt=jn(pSt()),jSt=jn(mSt()),KSt=jn(gSt()),GSt=jn(_St()),YSt=jn(ASt()),QSt=jn(ESt()),zSt=jn(ySt()),WSt=jn(Nh()),XSt=jn(vSt());D7r(Da(),Oh);Oh.default={ADD:SSt.default,add:SSt.default,ALTER:TSt.default,alter:TSt.default,CREATE:bSt.default,create:bSt.default,CREATERULE:ISt.default,createRule:ISt.default,DECRBY:RSt.default,decrBy:RSt.default,DEL:CSt.default,del:CSt.default,DELETERULE:xSt.default,deleteRule:xSt.default,GET:wSt.default,get:wSt.default,INCRBY:NSt.default,incrBy:NSt.default,INFO_DEBUG:OSt.default,infoDebug:OSt.default,INFO:DSt.default,info:DSt.default,MADD:PSt.default,mAdd:PSt.default,MGET_SELECTED_LABELS:LSt.default,mGetSelectedLabels:LSt.default,MGET_WITHLABELS:MSt.default,mGetWithLabels:MSt.default,MGET:kSt.default,mGet:kSt.default,MRANGE_GROUPBY:BSt.default,mRangeGroupBy:BSt.default,MRANGE_SELECTED_LABELS_GROUPBY:USt.default,mRangeSelectedLabelsGroupBy:USt.default,MRANGE_SELECTED_LABELS:FSt.default,mRangeSelectedLabels:FSt.default,MRANGE_WITHLABELS_GROUPBY:$St.default,mRangeWithLabelsGroupBy:$St.default,MRANGE_WITHLABELS:qSt.default,mRangeWithLabels:qSt.default,MRANGE:HSt.default,mRange:HSt.default,MREVRANGE_GROUPBY:VSt.default,mRevRangeGroupBy:VSt.default,MREVRANGE_SELECTED_LABELS_GROUPBY:jSt.default,mRevRangeSelectedLabelsGroupBy:jSt.default,MREVRANGE_SELECTED_LABELS:KSt.default,mRevRangeSelectedLabels:KSt.default,MREVRANGE_WITHLABELS_GROUPBY:GSt.default,mRevRangeWithLabelsGroupBy:GSt.default,MREVRANGE_WITHLABELS:YSt.default,mRevRangeWithLabels:YSt.default,MREVRANGE:QSt.default,mRevRange:QSt.default,QUERYINDEX:zSt.default,queryIndex:zSt.default,RANGE:WSt.default,range:WSt.default,REVRANGE:XSt.default,revRange:XSt.default}});var HEe=S(Yo=>{"use strict";var P7r=Yo&&Yo.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Yo,"__esModule",{value:!0});Yo.TIME_SERIES_REDUCERS=Yo.TIME_SERIES_BUCKET_TIMESTAMP=Yo.TIME_SERIES_AGGREGATION_TYPE=Yo.TIME_SERIES_DUPLICATE_POLICIES=Yo.TIME_SERIES_ENCODING=Yo.default=void 0;var qEe=JSt();Object.defineProperty(Yo,"default",{enumerable:!0,get:function(){return P7r(qEe).default}});Object.defineProperty(Yo,"TIME_SERIES_ENCODING",{enumerable:!0,get:function(){return qEe.TIME_SERIES_ENCODING}});Object.defineProperty(Yo,"TIME_SERIES_DUPLICATE_POLICIES",{enumerable:!0,get:function(){return qEe.TIME_SERIES_DUPLICATE_POLICIES}});var L7r=AEe();Object.defineProperty(Yo,"TIME_SERIES_AGGREGATION_TYPE",{enumerable:!0,get:function(){return L7r.TIME_SERIES_AGGREGATION_TYPE}});var M7r=Nh();Object.defineProperty(Yo,"TIME_SERIES_BUCKET_TIMESTAMP",{enumerable:!0,get:function(){return M7r.TIME_SERIES_BUCKET_TIMESTAMP}});var k7r=$R();Object.defineProperty(Yo,"TIME_SERIES_REDUCERS",{enumerable:!0,get:function(){return k7r.TIME_SERIES_REDUCERS}})});var ZSt=S(Li=>{"use strict";var B7r=Li&&Li.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),uM=Li&&Li.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&B7r(t,e,r)},P9=Li&&Li.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Li,"__esModule",{value:!0});Li.createSentinel=Li.createCluster=Li.createClientPool=Li.createClient=void 0;var L9=OL(),U7r=P9(uAe()),F7r=P9(MAe()),$7r=P9(hEe()),q7r=P9(HEe());uM(OL(),Li);uM(uAe(),Li);uM(MAe(),Li);uM(hEe(),Li);uM(HEe(),Li);var M9={...U7r.default,json:F7r.default,ft:$7r.default,ts:q7r.default};function H7r(e){return(0,L9.createClient)({...e,modules:{...M9,...e?.modules}})}Li.createClient=H7r;function V7r(e,t){return(0,L9.createClientPool)({...e,modules:{...M9,...e?.modules}},t)}Li.createClientPool=V7r;function j7r(e){return(0,L9.createCluster)({...e,modules:{...M9,...e?.modules}})}Li.createCluster=j7r;function K7r(e){return(0,L9.createSentinel)({...e,modules:{...M9,...e?.modules}})}Li.createSentinel=K7r});var U9={};Bt(U9,{closeLocalRedisConnection:()=>z7r,getLocalRedisCaches:()=>Y7r,getLocalRedisKey:()=>eTt,judgeLocalRedisValid:()=>Q7r,setLocalRedisKey:()=>k9,setLocalRedisKeyWithExpiry:()=>G7r,updateLocalRedisCaches:()=>B9});async function HR(){if(mi)return mi;let e=F.localRedisUrl;try{I("info","[Utils] [Local-Redis] \u6B63\u5728\u8FDE\u63A5\u672C\u5730 Redis");let{createClient:t}=await Promise.resolve().then(()=>we(ZSt(),1));return mi=t({url:e,socket:{reconnectStrategy:r=>r>=0?new Error("\u5DF2\u8FBE\u5230\u6700\u5927\u91CD\u8BD5\u6B21\u6570\uFF0C\u505C\u6B62\u91CD\u8FDE"):1e3}}),mi.on("error",r=>{I("error","[Utils] [Local-Redis] \u8FDE\u63A5\u9519\u8BEF"),F.localRedisValid=!1}),mi.on("connect",()=>{I("info","[Utils] [Local-Redis] \u8FDE\u63A5\u6210\u529F")}),await mi.connect(),F.localRedisValid=!0,I("info","[Utils] [Local-Redis] Redis \u5BA2\u6237\u7AEF\u521D\u59CB\u5316\u5B8C\u6210"),mi}catch(t){return I("error","[Utils] [Local-Redis] \u521D\u59CB\u5316\u5931\u8D25:",t.message),F.localRedisValid=!1,null}}async function VR(){if(!mi)return!1;try{return await mi.ping()==="PONG"}catch(e){return I("error","[Utils] [Local-Redis] \u8FDE\u63A5\u68C0\u67E5\u5931\u8D25:",e.message),F.localRedisValid=!1,!1}}async function eTt(e){try{if(await VR()||await HR(),!mi)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");return await mi.get(e)}catch(t){return I("error","[Utils] [Local-Redis] GET \u8BF7\u6C42\u5931\u8D25:",t.message),null}}async function k9(e,t){let r=rR(e,t),n=as(r);if(F.lastHashes[e]===n)return I("info",`[Utils] [Local-Redis] \u952E ${e} \u65E0\u53D8\u5316\uFF0C\u8DF3\u8FC7 SET \u8BF7\u6C42`),{result:"OK"};try{if(await VR()||await HR(),!mi)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");let s=await mi.set(e,r);return F.lastHashes[e]=n,I("info",`[Utils] [Local-Redis] \u952E ${e} \u66F4\u65B0\u6210\u529F`),{result:s}}catch(s){return I("error","[Utils] [Local-Redis] SET \u8BF7\u6C42\u5931\u8D25:",s.message),{result:"ERROR"}}}async function G7r(e,t,r){let n=rR(e,t),s=as(n);if(F.lastHashes[e]===s)return I("info",`[Utils] [Local-Redis] \u952E ${e} \u65E0\u53D8\u5316\uFF0C\u8DF3\u8FC7 SETEX \u8BF7\u6C42`),{result:"OK"};try{if(await VR()||await HR(),!mi)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");let i=await mi.setEx(e,r,n);return F.lastHashes[e]=s,I("info",`[Utils] [Local-Redis] \u952E ${e} \u66F4\u65B0\u6210\u529F\uFF08\u5E26\u8FC7\u671F\u65F6\u95F4 ${r}s\uFF09`),{result:i}}catch(i){return I("error","[Utils] [Local-Redis] SETEX \u8BF7\u6C42\u5931\u8D25:",i.message),{result:"ERROR"}}}async function Y7r(){if(!F.localCacheInitialized)try{if(I("info","[Utils] [Local-Redis] getLocalRedisCaches start."),await VR()||await HR(),!mi)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");let e=["animes","episodeIds","episodeNum","reqRecords","lastSelectMap","todayReqNum"],t=await Promise.all(e.map(n=>eTt(n)));F.animes=t[0]?JSON.parse(t[0]):F.animes,F.episodeIds=t[1]?JSON.parse(t[1]):F.episodeIds,F.episodeNum=t[2]?JSON.parse(t[2]):F.episodeNum,F.reqRecords=t[3]?JSON.parse(t[3]):F.reqRecords;let r=t[4]?JSON.parse(t[4]):null;r&&typeof r=="object"&&(F.lastSelectMap=new Map(Object.entries(r)),I("info",`[Utils] [Local-Redis] Restored lastSelectMap from Local Redis with ${F.lastSelectMap.size} entries`)),F.todayReqNum=t[5]?parseInt(t[5],10):F.todayReqNum,F.lastHashes.animes=as(JSON.stringify(F.animes)),F.lastHashes.episodeIds=as(JSON.stringify(F.episodeIds)),F.lastHashes.episodeNum=as(JSON.stringify(F.episodeNum)),F.lastHashes.reqRecords=as(JSON.stringify(F.reqRecords)),F.lastHashes.lastSelectMap=as(JSON.stringify(Object.fromEntries(F.lastSelectMap))),F.lastHashes.todayReqNum=as(JSON.stringify(F.todayReqNum)),F.localCacheInitialized=!0,I("info","[Utils] [Local-Redis] getLocalRedisCaches completed successfully.")}catch(e){I("error",`[Utils] [Local-Redis] getLocalRedisCaches failed: ${e.message}`,e.stack),F.localCacheInitialized=!0}}async function B9(){try{if(I("info","[Utils] [Local-Redis] updateLocalRedisCaches start."),await VR()||await HR(),!mi)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");let e=[],t=[{key:"animes",value:F.animes},{key:"episodeIds",value:F.episodeIds},{key:"episodeNum",value:F.episodeNum},{key:"reqRecords",value:F.reqRecords},{key:"lastSelectMap",value:F.lastSelectMap},{key:"todayReqNum",value:F.todayReqNum}];for(let{key:r,value:n}of t){let s=JSON.stringify(r==="lastSelectMap"?Object.fromEntries(n):n),i=as(s);i!==F.lastHashes[r]&&e.push({key:r,value:n,hash:i})}if(e.length>0){I("info",`[Utils] [Local-Redis] Updating ${e.length} changed keys: ${e.map(a=>a.key).join(", ")}`);let r=e.map(async({key:a,value:o})=>k9(a,o)),n=await Promise.all(r),s=0,i=0;n.forEach((a,o)=>{a&&a.result==="OK"?s++:(i++,I("warn",`[Utils] [Local-Redis] Failed to update Local Redis key: ${e[o]?.key}, result: ${JSON.stringify(a)}`))}),i===0?(e.forEach(({key:a,hash:o})=>{F.lastHashes[a]=o}),I("info",`[Utils] [Local-Redis] Local Redis update completed successfully: ${s} keys updated`)):I("warn",`[Utils] [Local-Redis] Local Redis update partially failed: ${s} succeeded, ${i} failed`)}else I("info","[Utils] [Local-Redis] No changes detected, skipping Local Redis update.")}catch(e){I("error",`[Utils] [Local-Redis] updateLocalRedisCaches failed: ${e.message}`,e.stack),I("error",`[Utils] [Local-Redis] Error details - Name: ${e.name}, Cause: ${e.cause?e.cause.message:"N/A"}`)}}async function Q7r(e){if(!F.localRedisValid&&F.localRedisUrl&&e!=="/favicon.ico"&&e!=="/robots.txt")try{await VR()||await HR(),mi&&await mi.ping()==="PONG"&&(F.localRedisValid=!0)}catch(t){I("error","[Utils] [Local-Redis] \u8FDE\u63A5\u68C0\u67E5\u5931\u8D25:",t.message),F.localRedisValid=!1}}async function z7r(){if(mi)try{await mi.quit(),mi=null,F.localRedisValid=!1,I("info","[Utils] [Local-Redis] \u8FDE\u63A5\u5DF2\u5173\u95ED")}catch(e){I("error","[Utils] [Local-Redis] \u5173\u95ED\u8FDE\u63A5\u5931\u8D25:",e.message)}}var mi,lM=oe(()=>{Gt();Ht();Xi();mi=null});async function dM(e,t={}){let n=`https://api.tmdb.org/3/${e}`,s=F.makeProxyUrl(n);try{let i=await Le(s,{method:"GET",headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},signal:t.signal});return i.status!=200?null:i}catch(i){if(i.name==="AbortError")throw i;return I("error","[Utils] [TMDB] Api error:",{message:i.message,name:i.name,stack:i.stack}),null}}async function $9(e,t="multi",r={}){let{page:n=1,maxPages:s=3,signal:i=null}=r;if(r.page!==void 0){let o=`search/${t}?api_key=${F.tmdbApiKey}&query=${encodeURIComponent(e)}&language=zh-CN&page=${n}`;return await dM(o,{signal:i})}let a=[];for(let o=1;o<=s;o++){if(i&&i.aborted)throw new DOMException("Aborted","AbortError");let c=`search/${t}?api_key=${F.tmdbApiKey}&query=${encodeURIComponent(e)}&language=zh-CN&page=${o}`,u=await dM(c,{signal:i});if(!u||!u.data)break;let l=typeof u.data=="string"?JSON.parse(u.data):u.data;if(!l.results||l.results.length===0||(a.push(...l.results),l.results.length<20))break}return I("info",`[Utils] [TMDB] \u5171\u83B7\u53D6\u5230 ${a.length} \u6761\u641C\u7D22\u7ED3\u679C\uFF08\u6700\u591A${s}\u9875\uFF09`),{data:{results:a},status:200}}async function W7r(e,t,r={}){let n=`${e}/${t}?api_key=${F.tmdbApiKey}&language=ja-JP`;return await dM(n,r)}async function rTt(e,t,r={}){let n=`${e}/${t}/external_ids?api_key=${F.tmdbApiKey}`;return await dM(n,r)}async function X7r(e,t,r={}){let n=`${e}/${t}/alternative_titles?api_key=${F.tmdbApiKey}`;return await dM(n,r)}function J7r(e,t,r=""){let n=e?.data?.results||e?.data?.titles||[];if(!n.length)return null;let s=(r||"").toLowerCase().trim(),i=o=>o.title||o.name||"",a=[o=>s&&i(o).toLowerCase().trim()===s,...["CN","TW","HK","SG"].map(o=>c=>(c.iso_3166_1||c.iso_639_1)===o&&!Sm(i(c))),o=>!Sm(i(o))];for(let o of a){let c=n.find(o);if(c){let u=i(c);return I("info",`[Utils] [TMDB] \u6309\u4F18\u5148\u7EA7\u7B56\u7565\u6210\u529F\u63D0\u53D6\u6700\u4F73\u4E2D\u6587\u522B\u540D: ${u}`),u}}return null}async function Z7r(e,t,r=""){let n=e.name||e.title||"";if(r&&n.toLowerCase().trim()===r.toLowerCase().trim()||!(Sm(n)||r&&n.toLowerCase().trim()!==r.toLowerCase().trim()))return n;I("info",`[Utils] [TMDB] \u5C1D\u8BD5\u83B7\u53D6\u4E2D\u6587\u522B\u540D\u4EE5\u5BFB\u627E\u66F4\u4F18\u5339\u914D (\u5F53\u524D\u6807\u9898: "${n}")`);let i=e.media_type||(e.name?"tv":"movie");try{if(t&&t.aborted)throw new DOMException("Aborted","AbortError");let a=await X7r(i,e.id,{signal:t});if(t&&t.aborted)throw new DOMException("Aborted","AbortError");let o=J7r(a,i,r);return o?(I("info",`[Utils] [TMDB] \u5C06\u4F7F\u7528\u4E2D\u6587\u522B\u540D\u8FDB\u884C\u76F8\u4F3C\u5339\u914D: ${o}`),o):(I("info",`[Utils] [TMDB] \u672A\u627E\u5230\u4E2D\u6587\u522B\u540D\uFF0C\u4F7F\u7528\u539F\u6807\u9898: ${n}`),n)}catch(a){if(a.name==="AbortError")throw a;return I("error",`[Utils] [TMDB] \u83B7\u53D6\u522B\u540D\u5931\u8D25: ${a.message}`),n}}async function jR(e,t=null,r="Unknown"){let n=aTt(e);if(n!==e&&I("info",`[Utils] [TMDB] \u4F18\u5316\u641C\u7D22\u5173\u952E\u8BCD: "${e}" -> "${n}"`),F.useBangumiData){let o=await kf(n,["tmdb","bangumi","anidb"]);if(o&&o.length>0){let c=o[0],u=c.titles.find(d=>d&&d.includes(n))||c.titles[1]||c.title,l=c.title;return I("info",`[Utils] [TMDB] Bangumi-Data \u672C\u5730\u547D\u4E2D\uFF0C\u63D0\u53D6\u539F\u540D\u6210\u529F: \u539F\u540D=${l}, \u522B\u540D=${u}\uFF08\u68C0\u7D22\u8BCD\uFF1A${n}\uFF09`),{title:l,cnAlias:u}}}if(!F.tmdbApiKey)return I("info","[Utils] [TMDB] \u672A\u914D\u7F6EAPI\u5BC6\u94A5\uFF0C\u8DF3\u8FC7TMDB\u7F51\u7EDC\u641C\u7D22"),null;let s=F9.get(n);if(s)I("info",`[Utils] [TMDB] \u52A0\u5165\u6B63\u5728\u8FDB\u884C\u7684\u641C\u7D22: ${n} (${r})`);else{let o=new AbortController;s={controller:o,refCount:0,promise:(async()=>{try{let u=o.signal,l=w=>{let P=w.genre_ids||[],M=w.genres||[],L=P.length>0?P:M.map($=>$.id),U=w.original_language||"";return L.includes(16)?{isValid:!0,reason:"\u660E\u786E\u52A8\u753B\u7C7B\u578B(genre_id: 16)"}:U==="ja"?{isValid:!0,reason:"\u539F\u59CB\u8BED\u8A00\u4E3A\u65E5\u8BED(ja),\u53EF\u80FD\u662F\u65E5\u5267/\u65E5\u5F71/\u65E5\u7EFC\u827A"}:{isValid:!1,reason:`\u975E\u52A8\u753B\u4E14\u975E\u65E5\u8BED\u5185\u5BB9(language: ${U}, genres: ${L.join(",")})`}},d=(w,P)=>{let M=se=>se.toLowerCase().replace(/\s+/g,"").replace(/[::、,。!?;""''()【】《》]/g,"").trim(),L=M(w),U=M(P);if(L===U)return 1;let Y=L.length=U.length?L:U;if($.includes(Y)&&Y.length>0)return .6+Y.length/$.length*.3;let V=w.length>P.length?w:P,W=w.length>P.length?P:w;if(V.length===0)return 1;let G=(se,ue)=>{se=se.toLowerCase(),ue=ue.toLowerCase();let te=[];for(let Q=0;Q<=se.length;Q++){let ee=Q;for(let de=0;de<=ue.length;de++)if(Q===0)te[de]=de;else if(de>0){let B=te[de-1];se.charAt(Q-1)!==ue.charAt(de-1)&&(B=Math.min(Math.min(B,ee),te[de])+1),te[de-1]=ee,ee=B}Q>0&&(te[ue.length]=ee)}return te[ue.length]};return(V.length-G(V,W))/V.length};if(I("info",`[Utils] [TMDB] \u6B63\u5728\u641C\u7D22 (Shared Task): ${n}`),u.aborted)throw new DOMException("Aborted","AbortError");let f=await $9(n,"multi",{signal:u});if(!f||!f.data)return I("info","[Utils] [TMDB] TMDB\u641C\u7D22\u7ED3\u679C\u4E3A\u7A7A"),null;let h=typeof f.data=="string"?JSON.parse(f.data):f.data;if(!h.results||h.results.length===0)return I("info","[Utils] [TMDB] TMDB\u672A\u627E\u5230\u4EFB\u4F55\u7ED3\u679C"),null;let p=[],m=[];for(let w of h.results){let P=l(w);if(P.isValid)p.push(w);else{let M=w.name||w.title||"\u672A\u77E5";m.push(`${M}(${P.reason})`)}}if(p.length===0)return I("info","[Utils] [TMDB] \u6570\u636E\u6E05\u6D17\u62E6\u622A: \u641C\u7D22\u7ED3\u679C\u4E2D\u6CA1\u6709\u4EFB\u4F55\u76EE\u6807\u7C7B\u578B(\u52A8\u753B/\u65E5\u6587)\u7684\u5185\u5BB9"),null;I("info",`[Utils] [TMDB] \u6570\u636E\u6E05\u6D17\u5B8C\u6210: \u4FDD\u7559 ${p.length} \u4E2A\u6709\u6548\u6761\u76EE\u53C2\u4E0E\u5339\u914D\uFF0C\u8FC7\u6EE4 ${m.length} \u4E2A\u65E0\u5173\u6761\u76EE${m.length>0?"\uFF0C\u8FC7\u6EE4\u8BE6\u60C5: "+m.join(", "):""}`);let g=null,_=-1,y=null,E=0,A=5,v=!1;for(let w of p){let P=w.name||w.title||"";if(!P)continue;let M=d(n,P),L=w.original_name||w.original_title||"",U=L?d(n,L):0,Y=Math.max(M,U);if(Y===1&&!v){v=!0,I("info",`[Utils] [TMDB] \u5339\u914D\u68C0\u67E5 "${P}" - \u76F8\u4F3C\u5EA6: 100.00% (\u5B8C\u5168\u5339\u914D\uFF0C\u8DF3\u8FC7\u540E\u7EED\u6240\u6709\u522B\u540D\u641C\u7D22)`),Y>_&&(_=Y,g=w,y=P);continue}let $,V,W=P.toLowerCase().trim()===n.toLowerCase().trim();if(v||W)$=P,V=Y,v&&W?I("info",`[Utils] [TMDB] \u5339\u914D\u68C0\u67E5 "${P}" - \u76F8\u4F3C\u5EA6: ${(V*100).toFixed(2)}% (\u5DF2\u627E\u5230\u5B8C\u5168\u5339\u914D\uFF0C\u8DF3\u8FC7\u522B\u540D\u641C\u7D22)`):I("info",`[Utils] [TMDB] \u5339\u914D\u68C0\u67E5 "${P}" - \u76F8\u4F3C\u5EA6: ${(V*100).toFixed(2)}%`);else{if(E_&&(_=V,g=w,y=$)}if(!g||_<.4)return I("info",`[Utils] [TMDB] \u6700\u4F73\u5339\u914D\u76F8\u4F3C\u5EA6\u8FC7\u4F4E\u6216\u672A\u627E\u5230\u5339\u914D (${g?(_*100).toFixed(2)+"%":"N/A"}),\u8DF3\u8FC7`),null;I("info",`[Utils] [TMDB] TMDB\u6700\u4F73\u5339\u914D: ${y}, \u76F8\u4F3C\u5EA6: ${(_*100).toFixed(2)}%`);let C=g.media_type||(g.name?"tv":"movie"),b=await W7r(C,g.id,{signal:u}),x;if(!b||!b.data)x=g.name||g.title,I("info",`[Utils] [TMDB] \u4F7F\u7528\u4E2D\u6587\u641C\u7D22\u7ED3\u679C\u6807\u9898: ${x}`);else{let w=typeof b.data=="string"?JSON.parse(b.data):b.data;x=w.original_name||w.original_title||w.name||w.title,I("info",`[Utils] [TMDB] \u627E\u5230\u65E5\u8BED\u539F\u540D: ${x}`)}return{title:x,cnAlias:y}}catch(u){return u.name==="AbortError"?(I("info",`[Utils] [TMDB] \u540E\u53F0\u641C\u7D22\u4EFB\u52A1\u5DF2\u5B8C\u5168\u7EC8\u6B62 (${n})`),null):(I("error","[Utils] [TMDB] Background Search error:",{message:u.message,name:u.name,stack:u.stack}),null)}})().finally(()=>{F9.delete(n)})},F9.set(n,s),I("info",`[Utils] [TMDB] \u542F\u52A8\u65B0\u641C\u7D22\u4EFB\u52A1: ${n}`)}s.refCount++;let i=()=>{F9.get(n)===s&&(s.refCount--,s.refCount<=0&&(I("info",`[Utils] [TMDB] \u6240\u6709\u8C03\u7528\u8005\u5DF2\u53D6\u6D88\uFF0C\u7EC8\u6B62\u540E\u53F0\u8BF7\u6C42: ${n}`),s.controller.abort()))},a;if(t){if(t.aborted)return i(),I("info",`[Utils] [TMDB] \u641C\u7D22\u5DF2\u88AB\u4E2D\u65AD (Source: ${r})`),null;t.addEventListener("abort",i)}try{let o=new Promise((c,u)=>{t&&(a=()=>u(new DOMException("Aborted","AbortError")),t.addEventListener("abort",a))});return await Promise.race([s.promise,o])}catch(o){return o.name==="AbortError"?(I("info",`[Utils] [TMDB] \u641C\u7D22\u5DF2\u88AB\u4E2D\u65AD (Source: ${r})`),null):(I("error",`[Utils] [TMDB] \u641C\u7D22\u5F02\u5E38: ${o.message}`),null)}finally{t&&(t.removeEventListener("abort",i),a&&t.removeEventListener("abort",a))}}async function nTt(e,t=null,r=null){if(!Sm(e))return e;if(F.useBangumiData){let i=aTt(e),a=kf(i,["tmdb","bangumi","anidb"]);if(a&&a.length>0){let o=a[0],c=o.titles.find(u=>u&&!Sm(u))||o.titles[1];if(c&&!Sm(c))return I("info",`[Utils] [TMDB] \u547D\u4E2D\u672C\u5730 Bangumi Data: ${e} -> ${c}\uFF08\u68C0\u7D22\u8BCD\uFF1A${i}\uFF09`),c}}let n=t!=null,s=n?"tv":"movie";try{let i=await $9(e,s);if(!i.data.results||i.data.results.length===0)return I("info","[Utils] [TMDB] TMDB\u672A\u627E\u5230\u4EFB\u4F55\u7ED3\u679C"),e;let o=i.data.results.find(u=>{let l=n?u.name:u.title;return l&&!Sm(l)})||i.data.results[0],c=n?o.name:o.title;return c?(I("info",`\u539F\u6807\u9898: ${e} -> \u4E2D\u6587\u6807\u9898: ${c}`),c):e}catch(i){return I("error","\u67E5\u8BE2 TMDB \u65F6\u51FA\u9519:",i),e}}function iTt(e){let t=e.match(sTt);return t?t.index:e.length}function aTt(e){let t=iTt(e);return t{let a=i.org_title||i.title||"";return a.substring(0,iTt(a))}),s="";if(n.length>0){let i=n.concat().sort(),a=i[0],o=i[i.length-1],c=0;for(;c1&&I("info",`[Utils] [TMDB] \u8BA1\u7B97\u51FA\u6700\u957F\u516C\u5171\u524D\u7F00 (LCP): "${s}"`);for(let i of e){let a=i.title||"";if(!(i.isLocalPriority||a.includes(t)))if(s&&s.length>1&&a.startsWith(s)){let o=a.substring(s.length).trim();i._displayTitle=o?`${t}${o.match(/^[~~::]/)?"":" "}${o}`:t,I("info",`[Utils] [TMDB] [LCP\u6A21\u5F0F] "${a}" -> "${i._displayTitle}"`)}else{let o=a.match(tTt);if(o){let c=a.substring(0,o.index).trim(),u=a.substring(o.index);if(c&&sTt.test(c)){let l=u.trim().match(tTt),d=l?u.trim().substring(l.index):"";i._displayTitle=`${c} ${t}${d}`,I("info",`[Utils] [TMDB] [\u524D\u7F00\u4FDD\u62A4\u6A21\u5F0F] "${a}" -> "${i._displayTitle}"`)}else i._displayTitle=t+u,I("info",`[Utils] [TMDB] [\u5206\u9694\u7B26\u6A21\u5F0F] "${a}" -> "${i._displayTitle}"`)}else Sm(a)?(i._displayTitle=t,I("info",`[Utils] [TMDB] [\u7EAF\u5916\u6587\u5168\u66FF\u6A21\u5F0F] "${a}" -> "${i._displayTitle}"`)):I("info",`[Utils] [TMDB] [\u8DF3\u8FC7\u66FF\u6362] "${a}" \u542B\u6709\u4E2D\u6587\u4E14\u7279\u5F81\u4E0D\u7B26\uFF0C\u62D2\u7EDD\u5F3A\u5236\u5168\u66FF\u4EE5\u9632\u8BEF\u6740`)}}}var F9,sTt,tTt,GR=oe(()=>{Gt();Ht();Lr();Ou();Rm();F9=new Map;sTt=/(?:\s+|^)(?:第?\s*(?:\d+|[一二三四五六七八九十]+)\s*[季期部]|season\s*\d+|s\d+|part\s*\d+|act\s*\d+|phase\s*\d+|the\s+final\s+season|(?:movie|film|ova|oad|sp|剧场版|劇場版|续[篇集]|外传)(?![a-z]))|[::~~]|\s+.*?篇|(?<=\s|^)\d+$/i,tTt=/[ ::~~]/});function Lt(e,...t){typeof t[0]=="string"&&t[0].includes("[Merge-Check]")&&!ejr||I(e,...t)}function _Tt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function VEe(e){if(typeof structuredClone=="function")try{return structuredClone(e)}catch{}return JSON.parse(JSON.stringify(e))}function Mu(e){if(!e)return"Unspecified";let t=e.toLowerCase();return ke.Lang.CN.test(t)?"CN":ke.Lang.JP.test(t)?"JP":"Unspecified"}function ATt(e){if(!e)return"";let t=e,r=t.toUpperCase();for(let n of rjr){if(!n.seriesKeywords.every(a=>r.includes(a.toUpperCase())))continue;let i=!1;if(n.mappings)for(let a of n.mappings)a.markers.forEach(o=>{let c=new RegExp(_Tt(o),"gi");c.test(t)&&(t=t.replace(c,` ${a.targetStandard} `),i=!0)});!i&&n.defaultStandard&&(t+=` ${n.defaultStandard} `)}return t}function BA(e){if(!e)return"";let t=mr(e);return t=t.replace(ke.Clean.NA_TAG,""),t=t.replace(ke.Season.PART_NORM,"part $1"),t=t.replace(ke.Season.PART_NORM_2,"part $1"),t=t.replace(ke.Season.FINAL,"\u6700\u7EC8\u5B63"),t=t.replace(ke.Season.NORM,"\u7B2C$1\u5B63"),t=t.replace(ke.Season.CN,(r,n)=>`\u7B2C${Ah(n)}\u5B63`),t=t.replace(ke.Season.ROMAN,(r,n,s,i)=>`${n}\u7B2C${{I:"1",II:"2",III:"3",IV:"4"}[s]}\u5B63${i}`),t=t.replace(ke.Lang.CN_DUB_VER,"\u4E2D\u914D\u7248"),t=t.replace(ke.Lang.JP_DUB_VER,""),t=t.replace(ke.Clean.SOURCE_TAG,""),t=t.replace(ke.Clean.REGION_LIMIT,""),t=t.replace(/(\d+)\.(\d+)/g,"$1{{DOT}}$2"),t=t.replace(ke.Clean.PUNCTUATION," "),t=t.replace(/{{DOT}}/g,"."),t.replace(ke.Clean.WHITESPACE," ").toLowerCase().trim()}function Rd(e){if(!e)return"";let t=ATt(e);t=mr(t);let r=t.match(/^(?:【|\[)(.+?)(?:】|\])/);if(r){let n=r[1];/^(TV|剧场版|劇場版|movie|film|anime|动漫|动画|AVC|HEVC|MP4|MKV)$/i.test(n)||(t=t.replace(r[0],n+" "))}return t=t.replace(ke.Clean.SOURCE_TAG,""),t=t.replace(ke.Clean.FROM_SUFFIX,""),t=t.replace(ke.Clean.NA_TAG,""),t=t.replace(ke.Clean.PARENTHESES_CONTENT,""),t=t.replace(ke.Season.INFO_STRONG,""),t=t.replace(ke.Season.PART_INFO_STRONG,""),t=t.replace(ke.Clean.MOVIE_KEYWORDS,""),t=t.replace(ke.Lang.KEYWORDS_STRONG,""),t=t.replace(ke.Clean.LONE_VER_CHAR,""),t=t.replace(ke.Clean.NON_ALPHANUM_CN,""),t.toLowerCase()}function YR(e){if(!e)return"";let t=mr(e);return t=t.replace(ke.Episode.SUFFIX_DIGIT,""),t=t.replace(ke.Episode.FILE_NOISE,""),t=t.replace(ke.Episode.SEASON_PREFIX," "),t=t.replace(ke.Episode.CLEAN_SMART," "),t=t.replace(ke.Clean.SOURCE_TAG,""),t=t.replace(ke.Lang.CN_STD,"\u4E2D\u6587"),t=t.replace(ke.Lang.JP_STD,"\u65E5\u6587"),t=t.replace(/(\d+)\.(\d+)/g,"$1{{DOT}}$2"),t=t.replace(ke.Episode.PUNCTUATION," "),t=t.replace(/{{DOT}}/g,"."),t.replace(ke.Clean.WHITESPACE," ").toLowerCase().trim()}function oTt(e){return e?e.replace(ke.Clean.PARENTHESES_CONTENT,"").trim():""}function KEe(e){if(!e)return"";let t=String(e).split(Kf)[0].trim();if(t.startsWith("//"))return"https:"+t;let r=t.match(/^([^:]+):(.+)$/);if(r){let n=r[1].toLowerCase(),s=r[2];return n==="http"||n==="https"?t:/^https?:\/\//i.test(s)?s:s.startsWith("//")?"https:"+s:s}return t}function cTt(e){if(!e||e==="N/A")return{year:null,month:null};let t=new Date(e),r=t.getTime();if(isNaN(r))return{year:null,month:null};let n=t.getFullYear();return n>2030?{year:null,month:null}:{year:n,month:t.getMonth()+1}}function njr(e,t){let r=e.length,n=t.length;if(r===0)return n;if(n===0)return r;let s=new Array(n+1),i=new Array(n+1);for(let a=0;a<=n;a++)s[a]=a;for(let a=1;a<=r;a++){i[0]=a;let o=e.charCodeAt(a-1);for(let u=1;u<=n;u++){let l=o===t.charCodeAt(u-1)?0:1;i[u]=Math.min(i[u-1]+1,s[u]+1,s[u-1]+l)}let c=s;s=i,i=c}return s[n]}function sjr(e,t){if(!e||!t)return 0;let r=new Set(e.replace(ke.Clean.WHITESPACE,"")),n=new Set(t.replace(ke.Clean.WHITESPACE,"")),s=r.size,i=n.size;if(s===0&&i===0)return 1;if(s===0||i===0)return 0;let a=0,[o,c]=s.5)return .8+A*.2}let c=njr(r,n),u=a===0?1:1-c/a,l=new Set(r.replace(ke.Clean.WHITESPACE,"")),d=new Set(n.replace(ke.Clean.WHITESPACE,"")),f=l.size,h=d.size;if(f===0||h===0)return 0;let p=0,[m,g]=f2&&(y=p/E,y>.6&&E/Math.max(f,h)<.6&&(y-=.25)),Math.max(u,_,y)}function ku(e,t="",r=[]){let n=new Set,s=BA(t||""),i=l=>{let d=BA(ATt(l)),f=d.replace(ke.Season.PART_ANY,""),h=f.match(ke.Season.CN_STRUCTURE);if(h){let g={\u627F:"S2",\u8F6C:"S3",\u7ED3:"S4"};g[h[1]]&&n.add(g[h[1]])}if(tjr.forEach(g=>{let _=(g.useCleaned?f:d).match(g.regex);_&&n.add(g.prefix?`${g.prefix}${parseInt(_[1])}`:g.val)}),!V9.some(g=>{if(g.regex.test(f))return n.add(g.val),!0})){let g=f.match(ke.Season.SUFFIX_AMBIGUOUS);if(g){n.add("AMBIGUOUS");let _={II:"S2",III:"S3",IV:"S4"},y=g[1].toUpperCase();_[y]&&n.add(_[y])}}ke.Season.SUFFIX_SEQUEL.test(d)&&n.add("SEQUEL");let m={\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,final:99};for(let[g,_]of Object.entries(m))d.includes(`\u7B2C${g}\u5B63`)&&n.add(`S${_}`)};[e,...Array.isArray(r)?r:[]].filter(Boolean).forEach(i),s.includes("\u7EED\u7BC7")&&n.add("SEQUEL"),/(剧场版|movie|film|电影)/i.test(s)&&n.add("MOVIE"),/\b(ova|oad)\b/i.test(s)&&n.add("OVA"),/\b(sp|special)\b/i.test(s)&&n.add("SP");let a=Array.from(n),o=a.some(l=>l.startsWith("S")),c=a.some(l=>l.startsWith("P")),u=["MOVIE","OVA","SP","SEQUEL","AMBIGUOUS"].some(l=>n.has(l));return c&&!o&&n.add("S1"),!o&&!c&&!u&&n.add("S1"),n}function po(e,t="",r=[]){let n=ku(e,t,r),s=null;for(let i of n)if(i.startsWith("S")){let a=parseInt(i.substring(1));isNaN(a)||(s===null||a>s)&&(s=a)}return s}function hS(e,t){let r=(e+" "+(t||"")).toLowerCase(),n=r.includes("\u7535\u5F71"),s=r.includes("\u7535\u89C6\u5267");return n&&!s?"MOVIE":s&&!n?"TV":null}function QR(e,t,r){if(r&&ke.Category.ANIMEKO_SOURCE.test(r))return"ANIME";let n=(e+" "+(t||"")).toLowerCase();return ke.Category.ANIME_KW.test(n)?"ANIME":ke.Category.REAL_KW.test(n)?"REAL":"UNKNOWN"}function ijr(e,t,r=!0){if(!e||!t||Rd(e)===Rd(t))return!1;let n=d=>{if(!d)return"";let f=mr(d);return f=f.replace(ke.Clean.META_SUFFIX,"").replace(ke.Clean.YEAR_TAG,"").replace(ke.Clean.SOURCE_TAG,"").replace(ke.Clean.FROM_SUFFIX,"").replace(ke.Clean.WHITESPACE," "),f.trim().toLowerCase()},s=n(e),i=n(t);if(s===i)return!1;let a=d=>{let f=[":","\uFF1A"," code:"," code\uFF1A"," season"," part"];for(let p of f){let m=d.indexOf(p);if(m!==-1)return d.substring(m).trim()}let h=d.split(ke.Clean.WHITESPACE);return h.length>=2?h.slice(1).join(" "):null},o=a(s),c=a(i),[u,l]=s.length1||f.length>2)return!0}}return!!(o&&c&&sjr(o,c)<.2)}function ETt(e,t,r,n){if(!((r||"").includes("\u5267\u573A\u7248")||(n||"").includes("\u5267\u573A\u7248")))return!1;let i=c=>c?mr(c).replace(ke.Clean.YEAR_TAG,"").replace(ke.Clean.SOURCE_TAG,"").replace(ke.Clean.FROM_SUFFIX,"").trim():"",a=i(e),o=i(t);if(ke.Clean.SPACE_STRUCTURE.test(a)&&ke.Clean.SPACE_STRUCTURE.test(o)){let c=d=>{let f=d.split(ke.Clean.SPLIT_SPACES);return f.length>1?f.slice(1).join(" "):""},u=c(a),l=c(o);return!(ke.Season.PURE_PART.test(u)||ke.Season.PURE_PART.test(l))}return!1}function ajr(e,t,r,n,s,i,a="",o=""){let c=QR(e,r,a),u=QR(t,n,o);if(c==="REAL"&&u==="ANIME"||c==="ANIME"&&u==="REAL")return!0;let l=(r||"").includes("3D"),d=(n||"").includes("3D"),f=(r||"").includes("2D"),h=(n||"").includes("2D"),p=!l&&!f,m=!d&&!h;if(!p&&m?/3[dD]/.test(t)?d=!0:/2[dD]/.test(t)&&(h=!0):!m&&p&&(/3[dD]/.test(e)?l=!0:/2[dD]/.test(e)&&(f=!0)),(l||f)&&(d||h)&&l!==d)return!0;let y=hS(e,r),E=hS(t,n);return!y||!E||y===E||ETt(e,t,r,n)?!1:s>0&&i>0?Math.abs(s-i)>5:!0}function ojr(e,t,r,n,s=[],i=[]){let a=ku(e,r,s),o=ku(t,n,i);if(a.size===0&&o.size===0)return!1;let c=f=>Array.from(f).some(h=>h.startsWith("S")&&parseInt(h.substring(1))>=2),u=f=>f.has("SEQUEL"),l=f=>f.has("AMBIGUOUS"),d=f=>f.has("S1");if(a.size>0&&o.size>0){if(l(a)&&d(o)||l(o)&&d(a))return!0;if(l(a)&&(c(o)||u(o))||l(o)&&(c(a)||u(a))||c(a)&&u(o)||c(o)&&u(a))return!1;for(let f of a)if(f.startsWith("S")){let h=o.has(f),p=Array.from(o).some(m=>m.startsWith("S"));if(!h&&p)return!0}return!1}return a.size!==o.size?!ETt(e,t,r,n):!1}function cjr(e,t,r,n,s=[],i=[]){let a=ku(e,r,s),o=ku(t,n,i),c=Array.from(a).filter(l=>l.startsWith("S")),u=Array.from(o).filter(l=>l.startsWith("S"));return c.length>0&&u.length>0?c.some(l=>u.includes(l)):!1}function ujr(e,t,r=!1){if(!e.year||!t.year)return .05;let n=e.year-t.year;if(n===0){if(e.month&&t.month){let i=Math.abs(e.month-t.month);return i>2?0:i===0?.2:.1}return .1}let s=Math.abs(n);return r&&s<=10?0:s>1?-1:0}function ljr(e,t,r,n,s,i=!1){if(/^(dandan|animeko)$/i.test(n)||/^(dandan|animeko)$/i.test(s))return!0;if(i){let c=Math.min(t,r);return c>0&&e/c>.5?!0:!(e<2)}let a=Math.max(t,r);if(a===0)return!1;let o=e/a;return!(a>5&&o<.18)}function q9(e){if(!e)return null;let t=e.toLowerCase();return t.includes("opening")?"opening":t.includes("ending")?"ending":t.includes("interview")?"interview":t.includes("bloopers")?"Bloopers":null}function $c(e,t=""){let r=!1,n=t;if(e){let p=e.match(ke.Episode.DANDAN_TAG);p&&(n=p[1].toLowerCase())}if(/^(dandan|animeko)$/i.test(n)&&e){let p=e.replace(ke.Clean.SOURCE_TAG,"").replace(ke.Clean.FROM_SUFFIX,"").trim();(ke.Episode.SPECIAL_START.test(p)||ke.Episode.DANDAN_IGNORE.test(p))&&(r=!0)}let i=BA(e||""),a=ke.Episode.MOVIE_CHECK.test(i),o=ke.Episode.PV_CHECK.test(i),c=null,u=null,l=q9(e),d=o||r||!!l||ke.Episode.SPECIAL_CHECK.test(i),f=i.match(ke.Episode.SEASON_MATCH);f&&(u=parseInt(f[1]));let h=i.match(ke.Episode.NUM_STRATEGY_A);if(h)c=parseFloat(h[2]);else{let p=i.match(ke.Episode.NUM_STRATEGY_B);if(p)c=parseFloat(p[1]);else{let m=i.match(ke.Episode.NUM_STRATEGY_C);m&&(c=parseFloat(m[1]))}}return{isMovie:a,num:c,isSpecial:d,isPV:o,season:u,isStrictSpecial:r}}function GEe(e,t,r=""){if(!e)return[];let s=["animeko","bilibili","bilibili1","bahamut","dandan"].includes(r);if(!t||s)return e.map((o,c)=>({link:o,originalIndex:c}));let i=[],a=[];if(e.forEach((o,c)=>{let u=o.title||o.name||"";t.test(u)?a.push(u):i.push({link:o,originalIndex:c})}),a.length>0){let o=r?`[${r}] `:"";Lt("info",`[Merge-Check] ${o}\u547D\u4E2DEPISODE_TITLE_FILTER\u8FC7\u6EE4\uFF0C\u5DF2\u524D\u7F6E\u5254\u9664 ${a.length} \u96C6: ${a.join(", ")}`)}return i}function H9(e,t,r){if(!e||e.length<2||!t)return"";let n=l=>{if(!l||!r)return l||"";try{let d=uTt.get(r);if(!d){let f=_Tt(r);d=new RegExp(`(\\[|\u3010|\\s)?${f}(\\]|\u3011|\\s)?`,"gi"),uTt.set(r,d)}return l.replace(d,"").trim()}catch{return l}},s=n(t),i=s.match(ke.Clean.REDUNDANT_SEPARATOR);i&&(s=s.substring(0,i.index));let a=e.map(l=>{let d=l.link||l;return d?n(d.title||d.name||""):""});if(a.some(l=>!l))return"";let o=(l,d)=>{let f="";for(let h=0;hf.length&&(f=m)}return f},c=o(a[0],a[1]);if(c.length<2)return"";for(let l=2;l=2&&s.startsWith(l)?l:""}return u.length>=2&&(ke.Clean.REDUNDANT_VALID_CHARS.test(u)||u.length>3)?(Lt("info",`[Merge-Check] \u68C0\u6D4B\u5230\u96C6\u5185\u5197\u4F59\u6807\u9898\u5B57\u6BB5: "${u}" (\u5DF2\u5FFD\u7565\u6765\u6E90: ${r}, \u951A\u5B9A\u9A8C\u8BC1\u901A\u8FC7)`),u):""}function lTt(e,t){let r=new Set;if(!e)return r;let n=-1;for(let s=0;s{let a=s.title||s.name||"",o=$c(a,t);o.num!==null&&!o.isSpecial&&!o.isPV&&o.num%1!==0&&i{let c=o.title||o.name||"",u=$c(c,r);u.num!==null&&t.has(u.num)?(i.push(o),a++):s.push(o)}),a>0&&(e.length=0,e.push(...s,...i),Lt("info",`[Merge-Check] [${n}] \u81EA\u52A8\u6C89\u5E95: \u79FB\u52A8\u4E86 ${a} \u4E2A\u4E2D\u95F4\u63D2\u503C\u96C6\u6570 (${Array.from(t).join(",")}) \u5230\u672B\u5C3E`))}function fTt(e,t,r="Unspecified",n="Unspecified",s="",i="",a="",o=""){if(e.length===0||t.length===0)return 0;let c=H9(e,a,s),u=H9(t,o,i),l=(C,b)=>C?b&&C.includes(b)?C.replace(b,""):C:"",d=(C,b,x,w)=>{let P=C.link.title||"",M=l(P,w),L=$c(M,b),U=Mu(M),Y=U!=="Unspecified"?U:x,$=Y==="Unspecified"&&/^(dandan|animeko)$/i.test(b)?"JP":Y,V=YR(M),W=$==="CN"?M.replace(ke.Similarity.CN_STRICT_CORE_REMOVE,""):null;return{info:L,effLang:$,specialType:q9(M),cleanEpText:V,strictCnCore:W}},f=e.map(C=>d(C,s,r,c)),h=t.map(C=>d(C,i,n,u)),p=null,m=null;f.forEach(({info:C})=>{C.num!==null&&!C.isSpecial&&C.num%1===0&&(p=p===null?C.num:Math.min(p,C.num))}),h.forEach(({info:C})=>{C.num!==null&&!C.isSpecial&&C.num%1===0&&(m=m===null?C.num:Math.min(m,C.num))});let g=p!==null&&m!==null?p-m:null,_=15,y=g!==null?-g:0,E=Math.max(Math.min(-_,y-_),-Math.max(e.length,t.length)),A=Math.min(Math.max(_,y+_),Math.max(e.length,t.length)),v=0,T=-9999;for(let C=E;C<=A;C++){let b=0,x=0,w=0,P=new Map,M=!1,L=null;for(let U=0;U=e.length)continue;let $=f[Y],V=h[U],W=$.info,G=V.info,se=0;W.isMovie!==G.isMovie&&(se+=Pa.EP_ALIGN.MOVIE_TYPE_MISMATCH),(W.isStrictSpecial&&!G.isSpecial||G.isStrictSpecial&&!W.isSpecial)&&(se+=Pa.EP_ALIGN.SPECIAL_STRICT_MISMATCH);let ue=$.effLang==="Unspecified"?"JP":$.effLang,te=V.effLang==="Unspecified"?"JP":V.effLang;ue===te?se+=Pa.EP_ALIGN.LANG_MATCH:se+=Pa.EP_ALIGN.LANG_MISMATCH,W.season!==null&&G.season!==null&&W.season!==G.season&&(se+=Pa.EP_ALIGN.SEASON_NUM_MISMATCH),($.specialType||V.specialType)&&($.specialType!==V.specialType?se+=Pa.EP_ALIGN.SPECIAL_TYPE_MISMATCH:se+=Pa.EP_ALIGN.SPECIAL_TYPE_MATCH),W.isSpecial===G.isSpecial&&(se+=Pa.EP_ALIGN.IS_SPECIAL_MATCH),g!==null&&!W.isSpecial&&!G.isSpecial&&W.num-G.num===g&&(se+=Pa.EP_ALIGN.SEASON_SHIFT_EXACT,M=!0);let Q=0;$.effLang==="CN"&&V.effLang==="CN"&&$.strictCnCore&&V.strictCnCore&&($.strictCnCore.includes(V.strictCnCore)||V.strictCnCore.includes($.strictCnCore))?Q=W.num!==null&&G.num!==null&&W.num===G.num?Pa.EP_ALIGN.CN_STRICT_MATCH:Pa.EP_ALIGN.CN_STRICT_MISMATCH:Q=kA($.cleanEpText,V.cleanEpText),se+=Q,x+=Q,W.num!==null&&G.num!==null&&W.num===G.num&&(se+=Pa.EP_ALIGN.NUMERIC_MATCH);let ee=1;if(W.num!==null&&!W.isSpecial&&(L!==null&&W.num-L>1?ee=.1:L=W.num),se*=ee,Q*=ee,x+=Q,b+=se,W.num!==null&&G.num!==null){let de=(G.num-W.num).toFixed(4);P.set(de,(P.get(de)||0)+ee)}w++}if(w>0){let U=b/w,Y=0;for(let G of P.values())Y=Math.max(Y,G);let $=Y/w,V=x/w;$>.6&&(M||V>.33)&&(U+=Pa.EP_ALIGN.PATTERN_CONSISTENCY_BONUS),U+=Math.min(w*.15,1.5);let W=P.get("0.0000")||0;W>3?(U+=Pa.EP_ALIGN.ZERO_DIFF_BONUS_BASE,U+=W*Pa.EP_ALIGN.ZERO_DIFF_BONUS_PER_HIT):W>0&&(U+=W*2),U>T&&(T=U,v=C)}}return T>.3?v:0}function djr(e,t,r){let n=new Map,s=[];for(let o of e){if(r&&r.has(o.animeId))continue;let c=F.animes.find(f=>String(f.animeId)===String(o.animeId))||o;if(QR(c.animeTitle,c.typeDescription,c.source)==="REAL"){s.push(` [\u5254\u9664] [${c.source}] ${c.animeTitle} (\u7C7B\u578B: \u771F\u4EBA\u5267/REAL)`);continue}if(hS(c.animeTitle,c.typeDescription)==="MOVIE"){s.push(` [\u5254\u9664] [${c.source}] ${c.animeTitle} (\u7C7B\u578B: \u7535\u5F71/MOVIE)`);continue}let d=po(c.animeTitle,c.typeDescription,c.aliases);if(d!==null&&c.links){let h=GEe(c.links,t,c.source).filter(p=>{let m=p.link.title||p.link.name||"",_=BA(m).replace(ke.Clean.SOURCE_TAG,"").replace(ke.Clean.FROM_SUFFIX,"").trim();return!(/^(dandan|animeko)$/i.test(c.source)&&(ke.Episode.SPECIAL_CHECK.test(_)||ke.Episode.DANDAN_IGNORE.test(_))||ke.Episode.MAP_EXCLUDE_KEYWORDS.test(_)||ke.Episode.MAP_EXCLUDE_KEYWORDS.test(m))}).length;if(h>0){n.has(d)||n.set(d,new Map);let p=n.get(d);p.has(h)||p.set(h,[]),p.get(h).push(c.source),s.push(` [\u91C7\u7EB3] [${c.source}] S${d} = ${h}\u96C6 ("${c.animeTitle}")`)}else s.push(` [\u5FFD\u7565] [${c.source}] S${d} (\u6709\u6548\u96C6\u6570\u4E3A 0)`)}}let i=new Map,a=[];for(let[o,c]of n.entries()){let u=0,l=0,d=[];for(let[h,p]of c.entries()){let m=p.length;m>l?(l=m,u=h,d=p):m===l&&h`${h}\u96C6(x${p.length})[${p.join(",")}]`).join(", ");a.push(`S${o}=${u} (\u63A8\u65AD\u6765\u6E90: ${d.join(",")} | \u7EDF\u8BA1: ${f})`)}return(s.length>0||a.length>0)&&Lt("info",`[Merge-Check] [Map-Build] \u5B63\u5EA6\u5730\u56FE\u6784\u5EFA\u8BE6\u60C5: +${s.join(` +`)} + => \u6700\u7EC8\u5224\u5B9A: { ${a.join("; ")} }`),i}function fjr(e,t,r=""){let n=`${e}_${t}_${r}`,s=0;for(let i=0;i=0;l--){let d=e.links[l],f=d.title||d.name||"",h=$c(f,e.source);if(!h.isSpecial&&!h.isPV&&!h.isStrictSpecial&&h.num!==null){o=l;break}}for(let l of t){let d=l.relativeIndex,f=l.info&&l.info.isStrictSpecial,h=l.info&&!l.info.isSpecial&&!l.info.isPV&&!f&&l.info.num!==null;d<0&&!f?n.push(l):d>=a&&!f||h&&d>o?s.push(l):i.push(l)}let c=[],u=(l,d,f)=>{l.length>0&&(l.sort((h,p)=>h.originalIndex-p.originalIndex),d.push(...l.map(h=>hTt(h,r))),c.push(` [\u8865\u5168-${f}] \u63D2\u5165/\u8FFD\u52A0 ${l.length} \u96C6 (${l.map(h=>h.link.title).join(", ")})`))};n.length>0&&(n.sort((l,d)=>l.originalIndex-d.originalIndex),e.links.unshift(...n.map(l=>hTt(l,r))),c.push(` [\u8865\u5168-\u5934\u90E8] \u63D2\u5165 ${n.length} \u96C6 (${n.map(l=>l.link.title).join(", ")})`)),u(s,e.links,"\u5C3E\u90E8"),u(i,e.links,"\u7279\u6B8A"),c.length>0&&Lt("info",`[Merge] [${r}] \u667A\u80FD\u8865\u5168: +${c.join(` +`)}`)}function pjr(e){let t=new Map;if(!e||e.length<2)return t;let r=e.map(s=>{let i=s.animeTitle||"",a=BA(i).replace(ke.Clean.SOURCE_TAG,"").replace(ke.Clean.FROM_SUFFIX,"").trim();return{id:s.animeId,raw:i,clean:a}}),n=new Set(r.map(s=>s.clean));for(let s of r){let i=null;for(let a of V9)if(s.clean.match(a.regex)){i=s.clean.replace(a.regex,"").trim();break}if(!i){let a=s.clean.match(ke.Season.SUFFIX_AMBIGUOUS);if(a){let o=a[1];s.clean.endsWith(o)&&(i=s.clean.substring(0,s.clean.length-o.length).trim())}}i&&i.length>1&&n.has(i)&&(t.set(String(s.id),i),Lt("info",`[Merge-Check] \u4E0A\u4E0B\u6587\u611F\u77E5: \u5224\u5B9A [${s.raw}] \u4E3A\u7EED\u4F5C (Base: "${i}" \u540C\u65F6\u4E5F\u5B58\u5728\u4E8E\u5217\u8868)`))}return t}function mjr(e,t){let r={isStrongMatch:!1,isStrongMismatch:!1};if(!e.links||!t.links||!e.links.length||!t.links.length)return r;let n=m=>m.filter(g=>{let _=(g.title||g.name||"").toLowerCase();return!ke.Episode.PV_CHECK.test(_)&&!ke.Episode.SPECIAL_CHECK.test(_)}).length,s=n(e.links),i=n(t.links);s>5&&i>5&&Math.min(s,i)/Math.max(s,i)<.4;let a=m=>m.map(g=>YR(g.title||g.name||"").replace(/\d+/g,"").trim()).filter(g=>g.length>1),o=a(e.links),c=a(t.links);if(o.length<3||c.length<3)return r;let u=Mu(o.join(" ")),l=Mu(c.join(" "));if(u!==l||u==="Unspecified")return r;let d=Math.min(o.length,c.length,5),f=0,h=0,p=[];for(let m=0;m.6?f++:y<.3&&h++}return f>=Math.ceil(d*.6)?(r.isStrongMatch=!0,Lt("info",`[Merge-Check] [Probe] \u91C7\u6837\u5BF9\u6BD4 (Match): ${p.join(", ")}`)):h>=Math.ceil(d*.8)&&(r.isStrongMismatch=!0,Lt("info",`[Merge-Check] [Probe] \u91C7\u6837\u5BF9\u6BD4 (Mismatch): ${p.join(", ")}`)),r}function YEe(e,t){let r=F.customMergeRules||[];if(r.length===0)return null;let n=po(e.animeTitle,e.typeDescription,e.aliases),s=po(t.animeTitle,t.typeDescription,t.aliases),i=(a,o)=>{let c=mr(a||"").toLowerCase().replace(ke.Clean.FROM_SUFFIX,""),u=mr(o||"").toLowerCase(),l=/[\((\[]?\d{4}[\))\]]?/.test(u),d=/【.*?】/.test(u)||/\[.*?\]/.test(u);if(l||(c=c.replace(/[\((\[]\d{4}[\))\]]/g,"")),!d){let f=c.match(/^(?:【|\[)(.+?)(?:】|\])/);if(f){let h=f[1];/^(TV|剧场版|劇場版|movie|film|anime|动漫|动画|电影|电视剧|连续剧|综艺|真人秀|纪录片|日剧|韩剧|美剧|英剧|泰剧|国产剧|港剧|台剧|短剧|微短剧|特摄|OVA|OAD|SP|AVC|HEVC|MP4|MKV)$/i.test(h)||(c=c.replace(f[0],h+" "))}c=c.replace(ke.Clean.SOURCE_TAG,"").replace(/\[.*?\]/g,"")}return!u.includes("\u5B63")&&!u.includes("season")&&(c=c.replace(ke.Season.INFO_STRONG,"")),c=c.replace(ke.Clean.MOVIE_KEYWORDS,""),{target:_n(c).replace(/\s+/g,""),rule:_n(u).replace(/\s+/g,"")}};for(let a of r){let o=g=>String(g).split(fS)[0],c=o(a.primary.source),u=o(a.secondary.source),l=String(e.source).split(fS),d=String(t.source).split(fS);if(!l.includes(c)||!d.includes(u))continue;let f=i(e.animeTitle,a.primary.title),h=i(t.animeTitle,a.secondary.title),p=f.target===f.rule,m=h.target===h.rule;if(!(!p||!m)&&!(a.primary.season!==null&&(n||1)!==a.primary.season)&&!(a.secondary.season!==null&&(s||1)!==a.secondary.season))return a}return null}function gjr(e,t,r=new Set,n=[]){if(!t||t.length===0)return[];let s=e.animeTitle||"",i=s.replace(ke.Clean.YEAR_TAG,"").replace(/【(电影|电视剧)】/g,"").trim(),a=!!i.match(ke.Lang.CN_DUB_VER)||ke.Lang.CN.test(i),o=e.source==="hanjutv",c=s.includes("N/A")||o?{year:null,month:null}:cTt(e.startDate),u=e.episodeCount||(e.links?e.links.length:0),l=Mu(s),d=BA(i),f=Rd(i),h=ku(s,e.typeDescription,e.aliases),p=Array.from(h).filter(b=>b.startsWith("S")),m=[{animeId:e.animeId,animeTitle:s},...t],g=pjr(m),_=g.has(String(e.animeId)),y=g.get(String(e.animeId)),E=r.has(e.animeId),A=(b,x)=>{Lt("info",`[Merge-Check] \u62D2\u7EDD: [${e.source}] ${s} vs [${b}] -> ${x}`)},v=[],T=0;for(let b of t){let x=b.animeTitle||"",w=YEe(e,b);if(w){if(w.action==="block"){A(x,"\u88AB\u6620\u5C04\u8868 [\xD7] \u660E\u786E\u7981\u6B62\u4E0E\u4E3B\u6E90\u5408\u5E76");continue}let ie=Mu(x);v.push({anime:b,score:1,lang:ie,debugTitle:x,isCustomMapped:!0}),Lt("info",`[Merge-Check] \u5408\u5E76\u6620\u5C04\u8868\u7279\u6743\u653E\u884C: [${e.source}] ${s} <-> [${b.source}] ${x}`);continue}if(!n.includes(b.source)){A(x,"\u8BE5\u6765\u6E90\u4E3A\u6620\u5C04\u8868\u52A8\u6001\u6CE8\u5165\uFF0C\u4E14\u672A\u547D\u4E2D\u7279\u6743\u89C4\u5219\uFF0C\u53D7\u9650\u4E8E\u6743\u9650\u6C99\u7BB1\u4E88\u4EE5\u963B\u65AD");continue}let P=r.has(b.animeId),M=E||P,L=b.source==="hanjutv",U=x.includes("N/A")||L?{year:null,month:null}:cTt(b.startDate),Y=Mu(x),$=x.replace(ke.Clean.YEAR_TAG,"").replace(/【(电影|电视剧)】/g,"").trim(),V=!!$.match(ke.Lang.CN_DUB_VER)||ke.Lang.CN.test($),W=a||V,G=b.episodeCount||(b.links?b.links.length:0);if($.includes("\u4E4B")){let ie=$.split("\u4E4B"),X=BA(ie[0]);if(d===X){A(x,`\u7ED3\u6784\u51B2\u7A81: \u4E3B\u6807\u9898\u662F\u526F\u6807\u9898\u7684\u524D\u7F00\u7236\u96C6 (Prefix: "${X}")`);continue}}if(ajr(s,x,e.typeDescription,b.typeDescription,u,G,e.source,b.source)){let ie=QR(s,e.typeDescription,e.source),X=QR(x,b.typeDescription,b.source);A(x,`\u5A92\u4F53\u7C7B\u578B\u6216\u7EF4\u6570\u4E0D\u5339\u914D (P:${ie}/${hS(s,e.typeDescription)} [${e.typeDescription}] vs S:${X}/${hS(x,b.typeDescription)} [${b.typeDescription}])`);continue}let se=c.year!==null&&U.year!==null,ue=ijr(s,x,se);if(g.has(String(b.animeId))){let ie=g.get(String(b.animeId));if(f===Rd(ie)&&!(ke.Season.SUFFIX_AMBIGUOUS.test(d)||V9.some(ce=>ce.regex.test(d)))){A(x,`\u4E0A\u4E0B\u6587\u963B\u65AD: \u4E3B\u6E90(S1) vs \u526F\u6E90(S2/S\u7EED\u4F5C) (Base: "${ie}")`);continue}}if(_&&Rd($)===Rd(y)){A(x,`\u4E0A\u4E0B\u6587\u963B\u65AD: \u4E3B\u6E90(S2/Sequel) vs \u526F\u6E90(Base/S1) (Base: "${y}")`);continue}if(!se&&ue){A(x,"\u6807\u9898\u7ED3\u6784\u51B2\u7A81\u4E14\u65E5\u671F\u65E0\u6548");continue}let Q=cjr(i,$,e.typeDescription,b.typeDescription,e.aliases,b.aliases),ee=mjr(e,b),de=s.search(ke.Clean.MOVIE_KEYWORDS)!==-1,B=x.search(ke.Clean.MOVIE_KEYWORDS)!==-1;if(de!==B){let ie=ku(x,b.typeDescription,b.aliases),X=be=>Rd(be.replace(ke.Clean.MOVIE_KEYWORDS,"")),ce=X(s),me=X(x);if(kA(ce,me)>.9&&!h.has("SEQUEL")&&!ie.has("SEQUEL")){A(x,`\u5267\u573A\u7248\u6807\u9898\u963B\u65AD: [${de?"Movie":"TV"}] vs [${B?"Movie":"TV"}] (\u65E0\u7EED\u7BC7\u6807\u8BC6)`);continue}}let k=M?0:ujr(c,U,W);if(k===-1){let ie=Q;if(ee.isStrongMatch&&(ie=!0),M&&(ie=!0),ue&&!M&&(ie=!1),ie&&c.year&&U.year&&Math.abs(c.year-U.year)>2&&!ee.isStrongMatch&&!M&&(ie=!1),!ie){A(x,`\u65E5\u671F\u4E25\u91CD\u4E0D\u5339\u914D\u4E14\u65E0\u8C41\u514D (P:${c.year} vs S:${U.year}, IsDub:${W})`);continue}}if(!M&&ojr(i,$,e.typeDescription,b.typeDescription,e.aliases,b.aliases))if(ee.isStrongMatch)Lt("info",`[Merge-Check] \u5B63\u5EA6\u51B2\u7A81\u8C41\u514D: [${s}] vs [${x}] (Probe\u5F3A\u5339\u914D)`);else{A(x,"\u5B63\u5EA6\u6807\u8BB0\u51B2\u7A81");continue}let J=ie=>ie?String(ie).replace(ke.Clean.YEAR_TAG,"").replace(/【(电影|电视剧)】/g,"").trim():"",D=Array.from(new Set([i,...e.aliases||[]].map(J).filter(Boolean))),H=Array.from(new Set([$,...b.aliases||[]].map(J).filter(Boolean))),K=0,q=0;for(let ie of D){let X=oTt(ie);for(let ce of H)K=Math.max(K,kA(ie,ce)),q=Math.max(q,kA(X,oTt(ce)))}let z=Math.max(K,q),Z=z;ue&&(z+=Pa.TITLE_STRUCTURE_CONFLICT),k!==-1&&(z+=k);let ae=l==="CN",ne=Y==="CN";if(ae&&ne?z+=Pa.LANG_MATCH_CN:ae!==ne&&(z+=Pa.LANG_MISMATCH),ee.isStrongMatch?(Lt("info",`[Merge-Check] \u96C6\u5185\u5BB9\u63A2\u6D4B: \u5F3A\u5339\u914D! \u63D0\u5347\u5206\u6570 (\u539F\u5206: ${z.toFixed(2)}) -> ${Dh.SIMILARITY_STRONG}`),z=Math.max(z,Dh.SIMILARITY_STRONG)):ee.isStrongMismatch&&(A(x,"\u96C6\u5185\u5BB9\u63A2\u6D4B: \u5F3A\u4E0D\u5339\u914D (\u96C6\u6807\u9898/\u5185\u5BB9\u5DEE\u5F02\u5DE8\u5927)"),z=0),zT&&(T=z),v.push({anime:b,score:z,lang:Y,debugTitle:x}),Lt("info",`[Merge-Check] \u5019\u9009\u9009\u4E2D: ${x} Score=${z.toFixed(2)} (BestSoFar=${T.toFixed(2)})`)}if(v.length===0||Tb.isCustomMapped))return[];let C=v.filter(b=>{if(b.isCustomMapped||b.score>=T-Dh.TIER_DEFAULT||b.lang==="CN"&&b.score>=T-Dh.TIER_CN)return!0;let x=ku(b.debugTitle,b.anime.typeDescription,b.anime.aliases);if(Array.from(x).some(P=>P.startsWith("P"))&&b.score>=T-Dh.TIER_PART){let P=Array.from(x).filter(M=>M.startsWith("S"));if(p.length>0&&P.length>0){if(p.some(L=>P.includes(L)))return!0}else return!0}return!1});return C.sort((b,x)=>b.isCustomMapped&&!x.isCustomMapped?-1:!b.isCustomMapped&&x.isCustomMapped?1:x.score-b.score),C.map(b=>b.anime)}function _jr(e){let t=new Set;if(!e||e.length===0)return t;let r=new Map;e.forEach(n=>{let s=F.animes.find(d=>String(d.animeId)===String(n.animeId))||n,i=ku(s.animeTitle,s.typeDescription,s.aliases);if(i.has("MOVIE")||i.has("OVA")||i.has("SP")||i.has("SEQUEL"))return;let a=mr(n.animeTitle||""),o=a.match(/^(?:【|\[)(.+?)(?:】|\])/);if(o){let d=o[1];/^(TV|剧场版|劇場版|movie|film|anime|动漫|动画|AVC|HEVC|MP4|MKV)$/i.test(d)||(a=a.replace(o[0],d+" "))}a=a.replace(/第([一二三四五六七八九十]+)季/g,(d,f)=>`\u7B2C${Ah(f)}\u5B63`);let c=a.replace(ke.Clean.SOURCE_TAG,"").replace(ke.Clean.FROM_SUFFIX,"").replace(ke.Clean.YEAR_TAG,"").replace(ke.Clean.META_SUFFIX,"").replace(ke.Lang.KEYWORDS_STRONG,"");if(V9.forEach(d=>c=c.replace(d.regex,"")),c=c.replace(ke.Season.SUFFIX_AMBIGUOUS,"").replace(/(?:第|S)\d+(?:季|期|部)/gi,"").replace(/(?:Part|P)\s*\d+/gi,"").replace(/\s+/g,"").toLowerCase().trim(),!c)return;let u=QR(n.animeTitle,s.typeDescription,s.source),l=`${c}|${u}`;r.has(l)||r.set(l,[]),r.get(l).push(n)});for(let[n,s]of r.entries()){if(s.length<2)continue;let[i,a]=n.split("|"),o=s.map(d=>` - [${d.source}] ${d.animeTitle}`).join(` +`);Lt("info",`[Merge-Check] [\u5408\u96C6\u63A2\u6D4B] \u6B63\u5728\u68C0\u67E5\u5206\u7EC4: "${i}" [${a}] (\u5305\u542B ${s.length} \u4E2A\u6761\u76EE): +${o}`);let c=new Map,u=0;if(s.forEach(d=>{let f=F.animes.find(_=>String(_.animeId)===String(d.animeId))||d,h=ku(f.animeTitle,f.typeDescription,f.aliases),p=1;for(let _ of h)if(_.startsWith("S")){let y=parseInt(_.substring(1));isNaN(y)||(p=y)}if(p===1){let _=h.has("SEQUEL")||ke.Season.SUFFIX_SEQUEL.test(f.animeTitle),y=h.has("AMBIGUOUS")||ke.Season.SUFFIX_AMBIGUOUS.test(f.animeTitle);(_||y)&&(p=2,Lt("info",`[Merge-Check] [Detail] [${f.source}] "${f.animeTitle}" -> \u5224\u5B9A\u4E3A S2 (Reason: Sequel/Ambiguous Suffix)`))}p>u&&(u=p);let m=0;f.links&&(/^(dandan|animeko)$/i.test(f.source)?m=f.links.filter(_=>{let y=_.title||_.name||"",E=y.replace(ke.Clean.SOURCE_TAG,"").replace(ke.Clean.FROM_SUFFIX,"").trim();if(ke.Episode.SPECIAL_CHECK.test(E)||ke.Episode.DANDAN_IGNORE.test(E))return!1;let A=BA(y);return!(ke.Episode.SPECIAL_CHECK.test(A)||ke.Episode.DANDAN_IGNORE.test(A)||ke.Episode.MAP_EXCLUDE_KEYWORDS.test(E)||ke.Episode.MAP_EXCLUDE_KEYWORDS.test(y))}).length:m=f.links.length),c.has(f.source)||c.set(f.source,{seasonCounts:{},maxSeason:0,s1Candidates:[]});let g=c.get(f.source);g.seasonCounts[p]||(g.seasonCounts[p]=0),g.seasonCounts[p]=Math.max(g.seasonCounts[p],m),p>g.maxSeason&&(g.maxSeason=p),p===1&&g.s1Candidates.push({anime:f,originalCount:m})}),u<=1)continue;let l=Array.from(c.keys());for(let[d,f]of c.entries()){if(f.maxSeason>1)continue;let h=0,p=!1;for(let g of l){if(g===d)continue;let _=c.get(g);_.seasonCounts[1]&&(p=!0,_.seasonCounts[1]>h&&(h=_.seasonCounts[1]))}if(!p)continue;let m=h+Dh.COLLECTION_DIFF;f.s1Candidates.forEach(g=>{let _=h>0?g.originalCount/h:0;if(g.originalCount>m){if(_>Dh.COLLECTION_RATIO){Lt("info",`[Merge-Check] [\u5408\u96C6\u63A2\u6D4B] \u62D2\u7EDD: [${d}] ${g.anime.animeTitle} (Ratio too high: ${_.toFixed(2)} > ${Dh.COLLECTION_RATIO})`);return}t.add(g.anime.animeId),Lt("info",`[Merge-Check] [\u5408\u96C6\u63A2\u6D4B] \u53D1\u73B0\u7591\u4F3C\u5408\u96C6(\u5355\u4F53): [${d}] ${g.anime.animeTitle} (Count:${g.originalCount} > Thr:${m}, Ratio:${_.toFixed(2)}) -> \u6807\u8BB0\u4E3A\u5408\u96C6`)}else Lt("info",`[Merge-Check] [\u5408\u96C6\u63A2\u6D4B] \u672A\u547D\u4E2D: [${d}] ${g.anime.animeTitle} (Count:${g.originalCount} <= Threshold:${m})`)})}}return t}async function jEe(e){let{pAnime:t,availableSecondaries:r,curAnimes:n,groupConsumedIds:s,globalConsumedIds:i,generatedSignatures:a,epFilter:o,groupFingerprint:c,currentPrimarySource:u,logPrefix:l,limitSecondaryLang:d,collectionAnimeIds:f,allowReuseIds:h,collectionProgress:p,baseSecondaries:m}=e;if(f.has(t.animeId)&&s.has(t.animeId))return Lt("info",`${l} \u8DF3\u8FC7: [${u}] \u662F\u5408\u96C6\u4E14\u5DF2\u4F5C\u4E3A\u7EC4\u5185\u526F\u6E90\u53C2\u4E0E\u8FC7\u5408\u5E76\u3002`),null;let g=VEe(t);if(!g.links){let L=F.animes.find(U=>String(U.animeId)===String(t.animeId));g.links=L?.links?VEe(L.links):[]}if(!g.links||g.links.length===0)return Lt("warn",`${l} \u4E3B\u6E90\u6570\u636E\u4E0D\u5B8C\u6574\uFF0C\u8DF3\u8FC7: ${t.animeTitle}`),null;let _=t.animeTitle.replace(ke.Clean.FROM_SUFFIX,""),y=[],E=[t.animeId],A=!1,v=Mu(t.animeTitle),T=H9(g.links,t.animeTitle,u),C=f.has(t.animeId),b=(L,U)=>L?U&&L.includes(U)?L.replace(U,""):L:"",x=Rd(t.animeTitle),w=n.filter(L=>Rd(L.animeTitle)===x),P=djr(w,o,f);if(P.size>0){let L=Array.from(P.entries()).map(([U,Y])=>`S${U}=${Y}`).join(", ");(C||r.some(U=>n.some(Y=>Y.source===U&&f.has(Y.animeId))))&&Lt("info",`${l} [\u5408\u96C6\u5904\u7406] \u6784\u5EFA\u5B63\u5EA6\u96C6\u6570\u5730\u56FE (Mode\u7B56\u7565): { ${L} }`)}let M=[];for(let L of r){let U=n.filter(W=>{if(W.source!==L)return!1;let G=YEe(t,W);if(G)return G.action==="block"?(Lt("info",`${l} \u62E6\u622A: \u526F\u6E90 [${W.source}] ${W.animeTitle} \u88AB\u6620\u5C04\u8868 [\xD7] \u89C4\u5219\u660E\u786E\u963B\u65AD`),!1):!0;if(C)return!0;let se=s.has(W.animeId),ue=h&&h.has(W.animeId);return!(se&&!ue)}),Y=[],$=new Set;for(let W of U)$.has(W.animeId)||($.add(W.animeId),Y.push(W));if(U=Y,d&&(U=U.filter(W=>Mu(W.animeTitle)===d)),U.length>1&&U.sort((W,G)=>{let se=Mu(W.animeTitle)==="CN",ue=Mu(G.animeTitle)==="CN";return se===ue?0:se?1:-1}),U.length===0)continue;let V=gjr(t,U,f,m);M.push(...V)}if(M.length>0){if(M.length>1&&(C||M.some(L=>f.has(L.animeId)))){M.sort((U,Y)=>{let $=po(U.animeTitle,U.typeDescription,U.aliases)||1,V=po(Y.animeTitle,Y.typeDescription,Y.aliases)||1;if($!==V)return $-V;let W=r.indexOf(U.source),G=r.indexOf(Y.source);return W-G});let L=M.map(U=>`[${U.source}]S${po(U.animeTitle,U.typeDescription,U.aliases)||1}`);Lt("info",`${l} [\u5408\u96C6\u65F6\u5E8F] \u5DF2\u5C06\u8DE8\u6E90\u5339\u914D\u961F\u5217\u6309\u5B63\u6570\u5347\u5E8F\u6392\u5217\uFF0C\u4FDD\u969C\u5207\u7247\u63A8\u65AD\u4E25\u683C\u81EA\u4E3E: ${L.join(" -> ")}`)}for(let L of M){let U=L.source,Y=YEe(t,L);if(Y&&Y.action==="block"){Lt("info",`${l} [\u5B89\u5168\u7F51\u62E6\u622A] \u5173\u8054\u53D6\u6D88: [${u}] ${t.animeTitle} <-> [${U}] ${L.animeTitle} \u88AB\u660E\u786E\u963B\u65AD`);continue}if(!C&&!(h&&h.has(L.animeId))&&!Y&&s.has(L.animeId))continue;let $=F.animes.find(Ne=>String(Ne.animeId)===String(L.animeId));if(!$?.links)continue;let V=VEe($),W=[],G=new Set,se=[],ue=[],te=V.animeTitle.replace(ke.Clean.FROM_SUFFIX,""),Q=lTt(g.links,u),ee=lTt(V.links,U),de=new Set([...ee].filter(Ne=>!Q.has(Ne))),B=new Set([...Q].filter(Ne=>!ee.has(Ne)));B.size>0&&dTt(g.links,B,u,`\u4E3B\u6E90:${u}`),de.size>0&&dTt(V.links,de,U,`\u526F\u6E90:${U}`);let k=V.links,J=GEe(g.links,o,u),D=GEe(k,o,U),H=Mu(V.animeTitle),K=J,q=D,z=0,Z=0,ae=f.has(L.animeId),ne=(Ne,De,je)=>{let Ae=0,ge=De;if(je&&je>1){let Ee=!1,_e=Ne?t.animeId:L.animeId;if(p&&p.has(_e)){let ve=p.get(_e),Re=je-1;if(ve[`S${Re}`]!==void 0){let Me=ve[`S${Re}`]+1;Me>0&&Me=De.length){let Me=(je-1)*12;Me Total ${De.length}\uFF0C\u542F\u7528\u56DE\u9000\u4F30\u7B97 (S${je} -> Index ${Me})`),Re=Math.max(0,Me-2))}if(Re>0&&ReNe.isSpecial||Ne.isStrictSpecial||Ne.num!==null&&Ne.num%1!==0,me=new Map,be=0;if(Y&&Y.hasRoutes){Lt("info",`${l} \u542F\u7528\u6620\u5C04\u8868\u7CBE\u786E\u8DEF\u7531: ${t.animeTitle} <-> ${L.animeTitle}`);let De=fTt(K,q,v,H,u,U,t.animeTitle,V.animeTitle)+z-Z;be=De;let je=new Map;for(let Ae of Y.routes){let ge=Ae.sec.end-Ae.sec.start+1,Ee=Ae.prim.end-Ae.prim.start+1;if(ge!==Ee){Lt("warn",`[Merge] [\u6620\u5C04\u8868] \u8DEF\u7531\u533A\u95F4\u8DE8\u5EA6\u4E0D\u5BF9\u7B49\uFF0C\u8DF3\u8FC7\u6B64\u6BB5: E${Ae.sec.start}~E${Ae.sec.end} > E${Ae.prim.start}~E${Ae.prim.end}`);continue}for(let _e=0;_e{let Ot=$c(b(Ue.link.title||Ue.link.name,T),u),We=Ot.num;return We===null&&!Ot.isStrictSpecial&&(We=ze+1),We===$e&&!Ot.isSpecial&&!Ot.isStrictSpecial});if(Qe!==-1){me.set(Ae,Qe),Me.relativeIndex=Qe;let Ue=J[Qe].originalIndex,ze=g.links[Ue],Ot=ze.name||ze.title||`Index ${Ue}`,We=KEe(Ee.url),ht=ze.url,At=`${U}:${We}`;ht.includes(Kf)||ht.startsWith(u+":")||(ht=`${u}:${ht}`);let Et=`${ht}${Kf}${At}`,Tr=ze.title;if(Tr){let Vt=U,it=(Ee.title||"").match(/^【([^】\d]+)(?:\d*)】/);it&&(Vt=it[1].trim()),Tr=Tr.replace(/^【([^】]+)】/,(xt,ri)=>`\u3010${ri}${fS}${Vt}\u3011`)}W.push({idx:Qe,text:` [\u5DF2\u8DEF\u7531\u6620\u5C04] ${Ot} <-> ${_e} (Rule: E${Ce}>E${$e})`}),G.add(Qe),ie++,se.push({linkIndex:Ue,newUrl:Et,newTitle:Tr})}else Me.relativeIndex=Ae+De,W.push({idx:Me.relativeIndex,text:` [\u8DEF\u7531\u5931\u8D25] \u4E3B\u6E90\u627E\u4E0D\u5230 E${$e} <-> ${_e}`}),ue.push(Me)}}else{Y&&Lt("info",`${l} \u547D\u4E2D\u6620\u5C04\u8868\u5E38\u89C4\u5408\u5E76: [${U}] ${L.animeTitle} -> [${u}] ${t.animeTitle} (\u5DF2\u514D\u68C0\u653E\u884C\uFF0C\u4EA4\u7531\u7CFB\u7EDF\u81EA\u52A8\u5BF9\u9F50)`),be=fTt(K,q,v,H,u,U,t.animeTitle,V.animeTitle)+z-Z,be!==0&&Lt("info",`${l} \u96C6\u6570\u81EA\u52A8\u5BF9\u9F50 (${U}): Offset=${be} (P:${J.length}, S:${D.length})`);let De=new Map,je=null;D.forEach((_e,ve)=>{let Re=J[ve+be];if(!Re)return;let Me=b(Re.link.title||Re.link.name,T),Ce=b(_e.link.title||_e.link.name,X),$e=$c(Me,u),Qe=$c(Ce,U);if($e.num===null||Qe.num===null||ce($e)||ce(Qe))return;let Ue=$e.num-Qe.num,Ot=1+(kA(YR(Me),YR(Ce))>.45?1:0);je!==null&&$e.num-je>1?Ot=.1:je=$e.num,De.set(Ue,(De.get(Ue)||0)+Ot)});let Ae=De.size>0?[...De.entries()].reduce((_e,ve)=>ve[1]>_e[1]?ve:_e)[0]:null,ge=J.reduce((_e,ve,Re)=>{let Me=$c(b(ve.link.title||ve.link.name,T),u);return ce(Me)&&!Me.isPV&&_e.push(Re),_e},[]),Ee=0;for(let _e=0;_e{let ht=$c(b(We.link.title||We.link.name,T),u);return ht.num===Ot&&!ce(ht)}),ve!==-1)Ue.relativeIndex=ve;else{let We=-.5;for(let ht=J.length-1;ht>=0;ht--){let At=$c(b(J[ht].link.title||J[ht].link.name,T),u);if(At.num!==null&&!At.isSpecial&&At.numWe&&(We=Vt,Ot=At)}Ot===-1&&!Qe.isPV&&Ee=0&&ve`\u3010${Lb}${fS}${xo}\u3011`)}W.push({idx:Ue.relativeIndex,text:` [\u5339\u914D] ${ht} <-> ${Ce}`}),G.add(ve),ie++,se.push({linkIndex:Ot,newUrl:Za,newTitle:ol})}else W.push({idx:Ue.relativeIndex,text:` [\u843D\u5355] (\u4E3B\u6E90\u8D8A\u754C) <-> ${Ce}`}),ue.push(Ue)}}for(let Ne=0;Ne (\u526F\u6E90\u7F3A\u5931\u6216\u88AB\u7565\u8FC7)`})}if(ie>0){let Ne=f.has(t.animeId)||f.has(L.animeId),De=!1;if(Y?De=ie>0:De=ljr(ie,J.length,D.length,u,U,Ne),De){for(let Ce of se){let $e=g.links[Ce.linkIndex];$e.url=Ce.newUrl,$e.title=Ce.newTitle}let je=Ce=>Ce?Ce.replace(ke.Clean.YEAR_TAG,"").replace(ke.Clean.SOURCE_TAG,"").replace(ke.Clean.FROM_SUFFIX,"").trim():"",Ae=je(g.animeTitle);g.aliases=[...new Set([...g.aliases||[],...V.aliases||[],...L.aliases||[],je(V.animeTitle)])].filter(Ce=>Ce&&Ce!==Ae),Lt("info",`${l} \u5173\u8054\u6210\u529F: [${u}] ${_} <-> [${U}] ${te} (\u672C\u6B21\u5408\u5E76 ${ie} \u96C6)`),W.length>0&&(W.sort((Ce,$e)=>Ce.idx-$e.idx),Lt("info",`${l} [${U}] \u6620\u5C04\u8BE6\u60C5: +${W.map(Ce=>Ce.text).join(` +`)}`)),g.mergedChildren=g.mergedChildren||[],g.mergedChildren.some(Ce=>String(Ce.animeId)===String(L.animeId)&&Ce.source===L.source)||g.mergedChildren.push({animeId:L.animeId,animeTitle:L.animeTitle,source:L.source,episodes:V.links?V.links.length:0,imageUrl:L.imageUrl||""});let ge=F.animes.find(Ce=>String(Ce.animeId)===String(L.animeId)&&Ce.source===L.source);if(ge&&(ge.isHiddenChild=!0),p&&(ae||C)){let Ce=-1;if(C&&!ae){for(let $e=0;$eCe&&(Ce=Ue)}}if(Ce!==-1){let $e=po(V.animeTitle,V.typeDescription,V.aliases)||1;p.has(t.animeId)||p.set(t.animeId,{});let Qe=p.get(t.animeId);ie>=3&&(Qe[`S${$e}`]=Ce)}}else if(!C&&ae){for(let $e=0;$eCe&&(Ce=Ue.originalIndex)}}if(Ce!==-1){let $e=po(t.animeTitle,t.typeDescription,t.aliases)||1;p.has(L.animeId)||p.set(L.animeId,{});let Qe=p.get(L.animeId);ie>=3&&(Qe[`S${$e}`]=Ce,Lt("info",`[Merge-Check] \u66F4\u65B0\u5408\u96C6\u8FDB\u5EA6 [${L.animeId}]: S${$e} -> MaxIndex ${Ce}`))}}}let Ee=po(t.animeTitle,t.typeDescription,t.aliases)||1,_e=po(V.animeTitle,V.typeDescription,V.aliases)||1,ve=Y&&Ee!==_e;f.has(L.animeId)||ve?Lt("info",`${l} [\u667A\u80FD\u8865\u5168] \u8DF3\u8FC7: \u526F\u6E90 [${U}] \u4E3A\u5408\u96C6\u6216\u89E6\u53D1\u8DE8\u5B63\u5EA6\u6620\u5C04\uFF0C\u4E3A\u907F\u514D\u6DF7\u5165\u5176\u4ED6\u5B63\u5EA6\u96C6\u6570\uFF0C\u4E0D\u6267\u884C\u8865\u5168\u3002`):hjr(g,ue,U);let Re=[],Me=[];g.links.forEach(Ce=>{let $e=Ce.title.replace(ke.Clean.SOURCE_TAG,"").trim();ke.Episode.SINK_TITLE_STRICT.test($e)?Me.push(Ce):Re.push(Ce)}),Me.length>0&&(g.links=[...Re,...Me],Lt("info",`${l} [\u6392\u5E8F\u4F18\u5316] \u7ACB\u5373\u6267\u884C\u756A\u5916\u6C89\u5E95: \u79FB\u52A8\u4E86 ${Me.length} \u4E2A\u756A\u5916\u96C6\u5230\u672B\u5C3E`)),A=!0,y.push(U),E.push(L.animeId)}else Lt("info",`${l} \u5173\u8054\u53D6\u6D88: [${u}] ${_} <-> [${U}] ${te} (\u5339\u914D\u7387\u8FC7\u4F4E: ${ie}/${Math.max(J.length,D.length)})`)}}}if(A){let L=E.join("|");if(a.has(L))return Lt("info",`${l} \u68C0\u6D4B\u5230\u91CD\u590D\u7684\u5408\u5E76\u7ED3\u679C (Signature: ${L})\uFF0C\u5DF2\u81EA\u52A8\u9690\u53BB\u5197\u4F59\u6761\u76EE\u3002`),null;a.add(L);let U=F.animes.find($=>String($.animeId)===String(t.animeId)&&$.source===t.source);U&&(U.isHiddenChild=!0);for(let $=1;$({primary:h.primary,secondaries:[...h.secondaries],baseSecondaries:[...h.secondaries]}));for(let[h,p]of s.entries()){let m=i.find(g=>g.primary===h);m||(m={primary:h,secondaries:[],baseSecondaries:[]},i.push(m));for(let g of p)m.secondaries.includes(g)||m.secondaries.push(g)}if(!i||i.length===0)return;Lt("info",`[Merge] \u542F\u52A8\u6E90\u5408\u5E76\u7B56\u7565\uFF0C\u7EC4\u5408\u8BA1\u7B97\u540E\u7684\u914D\u7F6E: ${JSON.stringify(i)}`);let a=F.episodeTitleFilter;if(a&&typeof a=="string")try{a=new RegExp(a,"i")}catch{a=null}let o=_jr(e),c=new Map,u=[],l=new Set,d=new Set,f=new Set;i.forEach(h=>{h.secondaries.length===0&&f.add(h.primary)});for(let h of i){if(h.secondaries.length===0)continue;let p=new Map,m=[h.primary,...h.secondaries];m.forEach((b,x)=>p.set(b,x));let g=m.join("&"),_=new Set,y=(b,x)=>{if(!b||b.length<2)return b;Lt("info",`[Merge-Check] [Sort] ${x} \u6392\u5E8F\u524D\u9996\u4E2A\u5143\u7D20: ${b[0].animeTitle}`),b.sort((P,M)=>{let L=p.get(P.source)??99,U=p.get(M.source)??99;if(L!==U)return L-U;let Y=se=>{let ue=ku(se.animeTitle,se.typeDescription,se.aliases);return ue.has("MOVIE")||ue.has("OVA")||ue.has("SP")||hS(se.animeTitle,se.typeDescription)==="MOVIE"?2:1},$=Y(P),V=Y(M);if($!==V)return $-V;let W=po(P.animeTitle,P.typeDescription,P.aliases)||1,G=po(M.animeTitle,M.typeDescription,M.aliases)||1;return W-G});let w=b.map(P=>{let M=po(P.animeTitle,P.typeDescription,P.aliases)||1,L=ku(P.animeTitle,P.typeDescription,P.aliases).has("MOVIE")||hS(P.animeTitle,P.typeDescription)==="MOVIE"?"Movie":`S${M}`;return`[P${p.get(P.source)??"?"}] [${L}] [${P.source}] ${P.animeTitle}`});return Lt("info",`[Merge-Check] [Sort] ${x} \u6267\u884C\u987A\u5E8F: + ${w.join(` + `)}`),b},E=[];m.forEach(b=>{e.filter(w=>w.source===b&&!_.has(w.animeId)&&Mu(w.animeTitle)==="CN").forEach(w=>E.push(w))});let A=!1;for(let b of m)if(e.some(x=>x.source===b&&!_.has(x.animeId)&&Mu(x.animeTitle)==="CN")){A=!0;break}if(E.length>0&&A){Lt("info",`[Merge] [Phase 1] \u542F\u52A8 CN \u9694\u79BB\u7B56\u7565: \u5305\u542B ${E.length} \u4E2A CN \u8D44\u6E90\u3002`),y(E,"Phase 1");for(let b of E){if(_.has(b.animeId))continue;let x=p.get(b.source),w=m.slice(x+1);if(w.length===0)continue;let P=await jEe({pAnime:b,availableSecondaries:w,curAnimes:e,groupConsumedIds:_,globalConsumedIds:d,generatedSignatures:l,epFilter:a,groupFingerprint:g,currentPrimarySource:b.source,logPrefix:"[Merge][Phase 1: CN-Strict]",limitSecondaryLang:"CN",collectionAnimeIds:o,collectionProgress:c,baseSecondaries:h.baseSecondaries});P&&(u.push(P),_.add(b.animeId),d.add(b.animeId))}}let v=[];for(let b=1;bP.source===x&&!_.has(P.animeId)&&Mu(P.animeTitle)==="CN").forEach(P=>v.push(P))}if(v.length>=2){Lt("info",`[Merge] [Phase 1.5] \u542F\u52A8\u526F\u6E90 CN \u81EA\u7EC4\u7EC7: \u68C0\u6D4B\u5230 ${v.length} \u4E2A\u5269\u4F59 CN \u8D44\u6E90\u3002`),y(v,"Phase 1.5");for(let b of v){if(_.has(b.animeId))continue;let x=p.get(b.source),w=m.slice(x+1);if(w.length===0)continue;let P=await jEe({pAnime:b,availableSecondaries:w,curAnimes:e,groupConsumedIds:_,globalConsumedIds:d,generatedSignatures:l,epFilter:a,groupFingerprint:g,currentPrimarySource:b.source,logPrefix:"[Merge][Phase 1.5: CN-Secondary]",limitSecondaryLang:"CN",collectionAnimeIds:o,collectionProgress:c,baseSecondaries:h.baseSecondaries});P&&(u.push(P),_.add(b.animeId),d.add(b.animeId))}}let T=[];m.forEach(b=>{e.filter(w=>w.source===b&&!_.has(w.animeId)).forEach(w=>T.push(w))});let C=new Set(T.map(b=>b.source));if(T.length>0&&C.size>=2){Lt("info",`[Merge] [Phase 2] \u542F\u52A8\u6807\u51C6\u56DE\u9000\u5339\u914D: \u5269\u4F59 ${T.length} \u4E2A\u8D44\u6E90\u3002`),y(T,"Phase 2");for(let b of T){if(_.has(b.animeId))continue;let x=p.get(b.source),w=m.slice(x+1);if(w.length===0)continue;let P=ku(b.animeTitle,b.typeDescription,b.aliases),M=Array.from(P).some(Y=>Y.startsWith("P")),L=null;if(M){L=new Set;let Y=po(b.animeTitle,b.typeDescription,b.aliases)||1;for(let $ of d){let V=F.animes.find(se=>String(se.animeId)===String($));if(!V||!w.includes(V.source))continue;let W=ku(V.animeTitle,V.typeDescription,V.aliases);if(Array.from(W).some(se=>se.startsWith("P")))continue;let G=po(V.animeTitle,V.typeDescription,V.aliases)||1;Y===G&&L.add(V.animeId)}}let U=await jEe({pAnime:b,availableSecondaries:w,curAnimes:e,groupConsumedIds:_,globalConsumedIds:d,generatedSignatures:l,epFilter:a,groupFingerprint:g,currentPrimarySource:b.source,logPrefix:"[Merge][Phase 2: Standard]",collectionAnimeIds:o,allowReuseIds:L,collectionProgress:c,baseSecondaries:h.baseSecondaries});U&&(u.push(U),_.add(b.animeId),d.add(b.animeId))}}}if(u.length>0){for(let h of u)rr(h,t);e.unshift(...u)}if(f.size>0)for(let h of e)d.has(h.animeId)&&f.has(h.source)&&d.delete(h.animeId);for(let h=e.length-1;h>=0;h--){let p=e[h];(p._isMerged||d.has(p.animeId))&&e.splice(h,1)}u.length>0?Lt("info",`[Merge] \u5408\u5E76\u6267\u884C\u5B8C\u6BD5\uFF0C\u65B0\u589E\u4E86 ${u.length} \u4E2A\u5408\u5E76\u9879\uFF0C\u6700\u7EC8\u5217\u8868\u6570\u91CF: ${e.length}`):Lt("info",`[Merge] \u626B\u63CF\u5B8C\u6BD5\uFF0C\u672A\u4EA7\u751F\u4EFB\u4F55\u5408\u5E76\uFF0C\u5217\u8868\u4FDD\u6301\u4E0D\u53D8 (\u6570\u91CF: ${e.length})`)}function pTt(e){if(e.p&&typeof e.p=="string"){let t=parseFloat(e.p.split(",")[0]);if(!isNaN(t))return t}return e.t!==void 0&&e.t!==null?Number(e.t):typeof e.progress=="number"?e.progress/1e3:0}function mTt(e){if(e){if(typeof e.m=="string")return e.m;if(typeof e.text=="string")return e.text;if(typeof e.content=="string")return e.content}return""}function gTt(e){return!e||typeof e!="string"?"":e.replace(/[\s.,!?"'(){}\[\]<>;:,。!?、""''()【】《》;:~~]/g,"").toLowerCase()}function vTt(e,t){let r=[...e||[],...t||[]],n=s=>{if(!s)return 0;if(s.t!==void 0&&s.t!==null)return Number(s.t);if(s.p&&typeof s.p=="string"){let i=parseFloat(s.p.split(",")[0]);return isNaN(i)?0:i}return 0};return r.sort((s,i)=>n(s)-n(i)),r}function STt(e,t,r,n=.8,s=1){let i=t.indexOf("dandan");if(i===-1||!e[i]?.length)return Lt("info","[Merge][AlignTimeline] \u65E0 dandan \u6E90\u6216\u65E0\u6570\u636E\uFF0C\u8DF3\u8FC7\u65F6\u95F4\u8F74\u5BF9\u9F50"),e;let a=e[i],o=a.length,c=new Map;return a.forEach(u=>{let l=gTt(mTt(u)),d=pTt(u);l&&(!c.has(l)||d{let d=t[l];if(d==="dandan"||!u?.length)return;let f=new Map,h=[],p=0;u.forEach(A=>{let v=gTt(mTt(A)),T=pTt(A);if(h.push({danmu:A,time:T}),v&&c.has(v)){p++;let C=Math.round(T-c.get(v));f.set(C,(f.get(C)||0)+1)}});let m=0,g=0;f.forEach((A,v)=>{A>g&&(g=A,m=v)});let _=Math.min(o,u.length),y=g/_,E=p>0?g/p:0;if(p/_{let T=Math.max(0,v-m);typeof A.p=="string"&&(A.p=A.p.replace(/^[^,]+(?=,)/,T.toFixed(2))),A.t!=null&&(A.t=T),typeof A.progress=="number"&&(A.progress=Math.round(T*1e3))})}),e}var Kf,fS,ejr,Pa,Dh,ke,V9,tjr,rjr,uTt,TTt=oe(()=>{Gt();Ht();Ws();Ou();Es();Kf="$$$",fS="&",ejr=!1,Pa=Object.freeze({TITLE_STRUCTURE_CONFLICT:-.3,LANG_MATCH_CN:.15,LANG_MISMATCH:-.2,DATE_MATCH:0,EP_ALIGN:{MOVIE_TYPE_MISMATCH:-5,SPECIAL_STRICT_MISMATCH:-8,LANG_MATCH:3,LANG_MISMATCH:-5,SEASON_NUM_MISMATCH:-10,SPECIAL_TYPE_MISMATCH:-10,SPECIAL_TYPE_MATCH:3,IS_SPECIAL_MATCH:3,SEASON_SHIFT_EXACT:15,CN_STRICT_MATCH:25,CN_STRICT_MISMATCH:-5,NUMERIC_MATCH:2,PATTERN_CONSISTENCY_BONUS:2,ZERO_DIFF_BONUS_BASE:100,ZERO_DIFF_BONUS_PER_HIT:5}}),Dh=Object.freeze({SIMILARITY_MIN:.65,SIMILARITY_STRONG:.98,TIER_DEFAULT:.001,TIER_CN:.4,TIER_PART:.5,COLLECTION_RATIO:4,COLLECTION_DIFF:6});ke={Lang:{CN:/(普通[话話]|[国國][语語]|中文配音|中配|中文|[粤粵][语語]配音|[粤粵]配|[粤粵][语語]|[台臺]配|[台臺][语語]|港配|港[语語]|字幕|助[听聽])(?:版)?/,JP:/(日[语語]|日配|原版|原[声聲])(?:版)?/,CN_DUB_VER:/(\(|(|\[)?(普通[话話]|[国國][语語]|中文配音|中配|中文|[粤粵][语語]配音|[粤粵]配|[粤粵][语語]|[台臺]配|[台臺][语語]|港配|港[语語]|字幕|助[听聽])版?(\)|)|\])?/g,JP_DUB_VER:/(\(|(|\[)?(日[语語]|日配|原版|原[声聲])版?(\)|)|\])?/g,KEYWORDS_STRONG:/(?:普通[话話]|[国國][语語]|中文配音|中配|中文|[粤粵][语語]配音|[粤粵]配|[粤粵][语語]|[台臺]配|[台臺][语語]|港配|港[语語]|字幕|助[听聽]|日[语語]|日配|原版|原[声聲])(?:版)?/g,CN_STD:/普通[话話]|[国國][语語]|中文配音|中配|中文|[粤粵][语語]配音|[粤粵]配|[粤粵][语語]|[台臺]配|[台臺][语語]|港配|港[语語]|字幕|助[听聽]/g,JP_STD:/日[语語]|日配|原版|原[声聲]/g},Season:{PURE_PART:/^(?:(?:第|S(?:eason)?)\s*\d+(?:季|期|部)?|(?:Part|P|第)\s*\d+(?:部分)?)$/i,PART_NORM:/第\s*(\d+)\s*部分/g,PART_NORM_2:/(?:Part|P)[\s.]*(\d+)/gi,FINAL:/(?:The\s+)?Final\s+Season/gi,NORM:/(?:Season|S)\s*(\d+)/gi,CN:/第\s*([一二三四五六七八九十]+)\s*季/g,ROMAN:/(\s|^)(IV|III|II|I)(\s|$)/g,INFO_STRONG:/(?:season|s|第)\s*[0-9一二三四五六七八九十]+\s*(?:季|期|部(?!分))?/gi,PART_INFO_STRONG:/(?:part|p|第)\s*\d+\s*(?:部分)?/gi,PART_ANY:/(?:part|p)\s*\d+/gi,CN_STRUCTURE:/(?:^|\s|×\d+\s?)(承|转|结)(?=$|[\s\(\(\[【])/i,SUFFIX_AMBIGUOUS:/(?:[\s\u4e00-\u9fa5]|^)(S|T|R|II|III|IV)(?=$|[\s\(\(\[【])/i,SUFFIX_SEQUEL:/(?:续篇|续集|The Sequel)/i},Clean:{NA_TAG:/(\(|(|\[)N\/A(\)|)|\])/gi,SOURCE_TAG:/【.*?】/g,REGION_LIMIT:/(\(|(|\[)仅限.*?地区(\)|)|\])/g,PUNCTUATION:/[!!??,,.。、~~::\-–—_]/g,WHITESPACE:/\s+/g,FROM_SUFFIX:/\s*from\s+.*$/i,PARENTHESES_CONTENT:/(\(|(|\[).*?(\)|)|\])/g,MOVIE_KEYWORDS:/剧场版|劇場版|the\s*movie|theatrical|movie|film|电影/gi,LONE_VER_CHAR:/(\s|^)版(\s|$)/g,NON_ALPHANUM_CN:/[^\u4e00-\u9fa5a-zA-Z0-9]/g,META_SUFFIX:/(\(|(|\[)(续篇|TV版|无修|未删减|完整版)(\)|)|\])/gi,YEAR_TAG:/(\(|(|\[)\d{4}(\)|)|\]).*$/i,SUBTITLE_SEPARATOR:/^[\s::\-–—((\[【]/,SPACE_STRUCTURE:/.+[\s\u00A0\u3000].+/,SPLIT_SPACES:/[\s\u00A0\u3000]+/,REDUNDANT_SEPARATOR:/[\s::~~]/,REDUNDANT_UNSAFE_END:/[\(\(\[【::~~\-]$/,REDUNDANT_VALID_CHARS:/[\u4e00-\u9fa5a-zA-Z]{2,}/},Episode:{SUFFIX_DIGIT:/_\d+(?=$|\s)/g,FILE_NOISE:/_(\d{2,4})(?=\.)/g,SEASON_PREFIX:/(?:^|\s)(?:第\s*[0-9一二三四五六七八九十]+\s*季|S(?:eason)?\s*\d+)(?:\s+|_)/gi,CLEAN_SMART:/(?:^|\s)(?:EP|E|Vol|Episode|No|Part|第)\s*\d+(?:\.\d+)?(?:\s*[话話集])?(?!\s*[季期部])/gi,PUNCTUATION:/[!!??,,.。、~~::\-–—]/g,DANDAN_TAG:/^【(dandan|animeko)】/i,SPECIAL_START:/^S\d+/i,MOVIE_CHECK:/剧场版|劇場版|movie|film/i,PV_CHECK:/(pv|trailer|预告)/i,SPECIAL_CHECK:/^(s|o|sp|special)\d/i,SEASON_MATCH:/(?:^|\s)(?:第|S)\s*(\d+)\s*[季S]/i,NUM_STRATEGY_A:/(?:第|s)\s*(\d+)\s*[季s]\s*(?:第|ep|e)\s*(\d+)/i,NUM_STRATEGY_B:/(?:ep|e|vol|episode|chapter|no|part|第)\s*(\d+(\.\d+)?)(?:\s*[话話集])?(?!\s*[季期部])/i,NUM_STRATEGY_C:/(?:^|\s)(?:第)?(\d+(\.\d+)?)(?:话|集|\s|$)/,DANDAN_IGNORE:/^[SC]\d+/i,MAP_EXCLUDE_KEYWORDS:/(?:^|\s)(?:PV|OP|ED|SP|Special|Drama|OAD|OVA|Opening|Ending|特番|特典|Behind\s+the\s+Scenes|Making|Interview)(?:\s|$|[::])/i,SINK_TITLE_STRICT:/^(?:S\d+|C\d+|SP\d*|OP\d*|ED\d*|PV\d*|Trailers?|Interview|Making|特番|特典)(?:\s|$|[::.\-]|\u3000)/i},Category:{ANIME_KW:/(动画|TV动画|动漫|日漫|国漫)/,REAL_KW:/(电视剧|真人剧|综艺|纪录片)/,ANIMEKO_SOURCE:/animeko/i},Similarity:{CN_STRICT_CORE_REMOVE:/[0-9a-zA-Z\s第季集话partEPep._\-–—::【】()()]/gi}},V9=[{regex:/(?:\s|^)A's$/i,val:"S2"},{regex:/(?:\s|^)StrikerS$/i,val:"S3"},{regex:/(?:\s|^)ViVid$/i,val:"S4"},{regex:/(?:\s|^)SuperS$/i,val:"S4"}],tjr=[{regex:/(?:第)?\s*(\d+)\s*(?:季|期|部(?!分))/,prefix:"S"},{regex:/\bseason\s*(\d+)/i,prefix:"S"},{regex:/\bs\s*(\d+)\b/i,prefix:"S"},{regex:/\bpart\s*(\d+)/i,prefix:"P"},{regex:/\b(ova|oad)\d*\b/i,val:"OVA"},{regex:/(剧场版|劇場版|the\s*movie|theatrical|movie|film|电影)/i,val:"MOVIE"},{regex:/(续篇|续集)/,val:"SEQUEL"},{regex:/\b(sp|special)\d*\b/i,val:"SP"},{regex:/[^0-9](\d)$/,prefix:"S",useCleaned:!0}],rjr=[{seriesKeywords:["\u7F8E\u5C11\u5973\u6218\u58EB"],mappings:[{markers:["R"],targetStandard:"\u7B2C\u4E8C\u5B63"},{markers:["S"],targetStandard:"\u7B2C\u4E09\u5B63"},{markers:["SuperS","Super S"],targetStandard:"\u7B2C\u56DB\u5B63"},{markers:["Sailor Stars","\u6700\u540E\u7684\u661F\u5149"],targetStandard:"\u7B2C\u4E94\u5B63"}]},{seriesKeywords:["\u5C0F\u6797\u5BB6\u7684\u9F99\u5973\u4EC6"],mappings:[{markers:["S"],targetStandard:"\u7B2C\u4E8C\u5B63"}]},{seriesKeywords:["\u53EF\u80FD\u6210\u4E3A\u604B\u4EBA","\u4E0D\u884C"],mappings:[{markers:["NEXT SHINE","\u518D\u6B21\u95EA\u8000"],targetStandard:"\u7EED\u7BC7"}]},{seriesKeywords:["\u7EA2\u732A","\u5343\u4E0E\u5343\u5BFB","\u9F99\u732B"],defaultStandard:"\u5267\u573A\u7248"}];uTt=new Map});function CTt(e,t=Date.now()){let r=Number(e);return Number.isFinite(r)&&r>0?Math.trunc(r):Math.trunc(Number(t)||Date.now())}function Ajr(e=""){return A$(Kv(e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function Ejr(e=""){let t=String(e||"").trim();if(!t)return"";let r=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(Math.ceil(t.length/4)*4,"=");return bd(jv(r))}function hM(e){return typeof TextEncoder<"u"?new TextEncoder().encode(e):Kv(e)}function Ijr(e){return typeof TextDecoder<"u"?new TextDecoder().decode(e):bd(e)}function LTt(e,t){let r=new Uint8Array(e.length);for(let n=0;n>=1}return r}function xjr(e){let t=new Uint8Array(16);for(let r=0;r<4;r++){let n=e.slice(4*r,4*r+4);t[4*r+0]=Js(n[0],2)^Js(n[1],3)^n[2]^n[3],t[4*r+1]=n[0]^Js(n[1],2)^Js(n[2],3)^n[3],t[4*r+2]=n[0]^n[1]^Js(n[2],2)^Js(n[3],3),t[4*r+3]=Js(n[0],3)^n[1]^n[2]^Js(n[3],2)}return t}function wjr(e){let t=new Uint8Array(16);for(let r=0;r<4;r++){let n=e.slice(4*r,4*r+4);t[4*r+0]=Js(n[0],14)^Js(n[1],11)^Js(n[2],13)^Js(n[3],9),t[4*r+1]=Js(n[0],9)^Js(n[1],14)^Js(n[2],11)^Js(n[3],13),t[4*r+2]=Js(n[0],13)^Js(n[1],9)^Js(n[2],14)^Js(n[3],11),t[4*r+3]=Js(n[0],11)^Js(n[1],13)^Js(n[2],9)^Js(n[3],14)}return t}function Njr(e,t){let r=new Uint8Array(e);r=zR(r,t,0);for(let n=1;n<=9;n++)r=g$(r),r=RTt(r),r=xjr(r),r=zR(r,t,n);return r=g$(r),r=RTt(r),r=zR(r,t,10),r}function Ojr(e,t){let r=new Uint8Array(e);r=zR(r,t,10);for(let n=9;n>=1;n--)r=z2(r),r=Q2(r),r=zR(r,t,n),r=wjr(r);return r=z2(r),r=Q2(r),r=zR(r,t,0),r}function Djr(e,t,r){let n=Rjr(e,16),s=_$(t),i=new Uint8Array(n.length),a=new Uint8Array(r);for(let o=0;o{Xi();xTt="6.8.2",yjr="a_8280",vjr="xiaomi",wTt="Redmi Note 12",Sjr="Xiaomi",NTt="14",Tjr=`HanjuTV/${xTt} (${wTt}; Android ${NTt}; Scale/2.00)`,OTt=14*24*60*60*1e3,bTt="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",DTt="f349wghhe784tqwh",PTt="d3w8hf94fidk38lk",bjr="34F9Q53w/HJW8E6Q",ITt="fb3597b87601d5a7"});var zt,oi=oe(()=>{Ht();NA();Es();zt=class{constructor(){}async search(t){throw new Error("Method 'search' must be implemented")}async getEpisodes(t){throw new Error("Method 'Episodes' must be implemented")}async handleAnimes(t,r,n,s=null,i=null){throw new Error("Method 'handleAnimes' must be implemented")}async getEpisodeDanmu(t){throw new Error("Method 'getEpisodeDanmu' must be implemented")}async getEpisodeDanmuSegments(t){throw new Error("Method 'getEpisodeDanmuSegments' must be implemented")}async getEpisodeSegmentDanmu(t){throw new Error("Method 'getEpisodeSegmentDanmu' must be implemented")}formatComments(t){throw new Error("Method 'formatComments' must be implemented")}async getComments(t,r,n=!1,s=null){if(n)return s&&await s(5,`\u5F00\u59CB\u83B7\u53D6\u5F39\u5E55${r}\u5F39\u5E55\u5206\u7247\u5217\u8868`),I("info",`[system] [Base] \u5F00\u59CB\u83B7\u53D6\u5F39\u5E55${r}\u5F39\u5E55\u5206\u7247\u5217\u8868`),await this.getEpisodeDanmuSegments(t);s&&await s(5,`\u5F00\u59CB\u83B7\u53D6\u5F39\u5E55${r}\u5F39\u5E55`),I("info",`[system] [Base] \u5F00\u59CB\u83B7\u53D6\u5F39\u5E55${r}\u5F39\u5E55`);let i=await this.getEpisodeDanmu(t);s&&await s(85,`\u539F\u59CB\u5F39\u5E55 ${i.length} \u6761\uFF0C\u6B63\u5728\u89C4\u8303\u5316`),I("info",`[system] [Base] \u539F\u59CB\u5F39\u5E55 ${i.length} \u6761\uFF0C\u6B63\u5728\u89C4\u8303\u5316`);let a=this.formatComments(i);return s&&await s(100,`\u5F39\u5E55\u5904\u7406\u5B8C\u6210\uFF0C\u5171 ${a.length} \u6761`),I("info",`[system] [Base] \u5F39\u5E55\u5904\u7406\u5B8C\u6210\uFF0C\u5171 ${a.length} \u6761`),aP(a,r)}async getSegmentComments(t,r=null){r&&await r(5,`\u5F00\u59CB\u83B7\u53D6\u5206\u7247\u5F39\u5E55${t.type}\u5F39\u5E55`),I("info",`[system] [Base] \u5F00\u59CB\u83B7\u53D6\u5206\u7247\u5F39\u5E55${t.type}\u5F39\u5E55`);let n=await this.getEpisodeSegmentDanmu(t);r&&await r(85,`\u539F\u59CB\u5206\u7247\u5F39\u5E55 ${n.length} \u6761\uFF0C\u6B63\u5728\u89C4\u8303\u5316`),I("info",`[system] [Base] \u539F\u59CB\u5206\u7247\u5F39\u5E55 ${n.length} \u6761\uFF0C\u6B63\u5728\u89C4\u8303\u5316`);let s=this.formatComments(n);return r&&await r(100,`\u5206\u7247\u5F39\u5E55\u5904\u7406\u5B8C\u6210\uFF0C\u5171 ${s.length} \u6761`),I("info",`[system] [Base] \u5206\u7247\u5F39\u5E55\u5904\u7406\u5B8C\u6210\uFF0C\u5171 ${s.length} \u6761`),aP(s,t.type)}sortAndPushAnimesByYear(t,r){t.filter(n=>n!==null).sort((n,s)=>{let i=CA(n.animeTitle),a=CA(s.animeTitle);if(i!=null&&a!==null&&a!==void 0){if(a!==i)return a-i;let o=mle(n.animeTitle),c=mle(s.animeTitle);return o.length-c.length}return i!=null&&a==null?-1:i==null&&a!=null?1:0}).forEach(n=>{r.findIndex(i=>i.animeId===n.animeId)===-1&&r.push(n)})}}});function An(e){let t=parseInt(e);return isNaN(t)||t<1900||t>2100?`${new Date().getFullYear()}-01-01T00:00:00Z`:`${t}-01-01T00:00:00Z`}function pS(e){let t=e.split(":").map(Number),r=0;return t.length===3?r=t[0]*3600+t[1]*60+t[2]:t.length===2?r=t[0]*60+t[1]:r=t[0],r}var mo=oe(()=>{});var pM,HTt=oe(()=>{oi();Gt();Ht();Lr();mo();Ws();Es();pM=class extends zt{async get360Zongyi(t,r,n,s){try{let i=[];for(let a=0;a<=10;a++){let u=(await(await Le(`https://api.so.360kan.com/episodeszongyi?entid=${r}&site=${n}&y=${s}&count=20&offset=${a*20}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data).data.list;if(I("info",`[360kan] 360kan zongyi response: \u7B2C${a}\u9875\u83B7\u53D6\u5230${u?u.length:0}\u6761\u5267\u96C6`),!u)break;for(let l of u){let d=l.name.match(/第(\d+)期([上中下])?/)||l.period.match(/第(\d+)期([上中下])?/),f=d?d[1]:null;f&&d[2]&&(f=d[2]==="\u4E0A"?`${f}.1`:d[2]==="\u4E2D"?`${f}.2`:`${f}.3`),i.push({name:l.id,url:l.url,title:`\u3010${n}\u3011 ${l.name} ${l.period}`,sort:f||l.sort||null})}I("info",`[360kan] links.length: ${i.length}`)}return i.sort((a,o)=>{if(!a.sort||!o.sort)return 0;let c=parseFloat(a.sort),u=parseFloat(o.sort);return c-u}),i}catch(i){return I("error","[360kan] get360Animes error:",{message:i.message,name:i.name,stack:i.stack}),[]}}async getNumber(t,r,n){try{let s=`https://api.web.360kan.com/v1/detail?cat=${t}&id=${r}&site=${n}`,a=(await Le(s,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data;if(a&&a.data&&a.data.allupinfo)return Number(a.data.allupinfo[n])}catch(s){I("error","[360kan] getNumber error:",s&&s.message?s.message:s)}return null}async get360Detail(t,r,n,s,i){try{let a=`https://api.web.360kan.com/v1/detail?cat=${t}&id=${r}&start=${s}&end=${i}&site=${n}`;return(await Le(a,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data}catch(a){I("error","[360kan] get360Detail error:",a&&a.message?a.message:a)}return null}async getEpisodesV1(t,r,n,s){try{if(!s||Number(s)===0)return[];let i=200,a=1,o=[],c=Number(s);for(;a<=c;){let u=Math.min(a+i-1,c);try{let l=await this.get360Detail(t,r,n,a,u);if(l&&l.data&&l.data.allepidetail&&l.data.allepidetail[n])for(let d of l.data.allepidetail[n])o.push({name:d.playlink_num,url:d.url});else{if(a===1)return[];break}}catch(l){if(I("error",`[360kan] getEpisodesV1 batch ${a}-${u} failed for site ${n}: ${l&&l.message?l.message:l}`),a===1)return[];break}a=u+1}return o}catch(i){return I("error",`getEpisodesV1 error: ${i&&i.message?i.message:i}`),[]}}async getEpisodesV2(t,r,n){try{let s=JSON.stringify([{cat_id:String(t),ent_id:String(r),site:n}]),i=`https://api.so.360kan.com/episodesv2?v_ap=1&s=${encodeURIComponent(s)}`,o=(await Le(i,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data;if(typeof o=="string")try{o=JSON.parse(o)}catch(c){return I("error",`[360kan] getEpisodesV2 JSON parse error: ${c.message}`),[]}if(!o)return[];if(o.code===0&&Array.isArray(o.data)&&o.data.length>0){let c=o.data[0].seriesHTML||{},u=c.seriesPlaylinks||c.series_playlinks||[],l=[];for(let d=0;dd.url)}return[]}catch(s){return I("error","[360kan] getEpisodesV2 error:",{message:s&&s.message?s.message:String(s),stack:s&&s.stack?s.stack:void 0}),[]}}async search(t){try{let n=(await Le(`https://api.so.360kan.com/index?force_v=1&kw=${encodeURIComponent(t)}&from=&pageno=1&v_ap=1&tab=all`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data,s=[];return"rows"in n.data.longData&&(s=n.data.longData.rows),I("info",`[360kan] 360kan response: ${JSON.stringify(s)}`),I("info",`[360kan] 360kan animes.length: ${s.length}`),s}catch(r){return I("error","[360kan] get360Animes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getEpisodes(t){}async handleAnimes(t,r,n,s=null,i=null){let a=[];if(!t||!Array.isArray(t))return I("error","[360kan] sourceAnimes is not a valid array"),[];let o=t.filter(l=>$t(l.titleTxt,r,i)),c=i!==null?i:ir(r);if(c!==null){let l=o.filter(d=>{let f=Qt(d.titleTxt).season;return f===c||c===1&&f===null});l.length>0&&(o=l,I("info",`[360kan] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=[];if(l.cat_name==="\u7535\u5F71")for(let f of Object.keys(l.playlinks))F.vodAllowedPlatforms.includes(f)&&d.push({name:f.toString(),url:l.playlinks[f],title:`\u3010${f}\u3011 ${l.titleTxt}(${l.year})`});else if(l.cat_name==="\u7535\u89C6\u5267"||l.cat_name==="\u52A8\u6F2B"){let f=0;l.cat_name==="\u7535\u89C6\u5267"?f=2:l.cat_name==="\u52A8\u6F2B"&&(f=4);let h=null;if(Array.isArray(l.seriesPlaylinks)&&l.seriesPlaylinks.length>0){if(F.vodAllowedPlatforms.includes(l.seriesSite))for(let p=0;p0)for(let _ of g)d.push({name:_.name,url:_.url,title:`\u3010${p}\u3011 \u7B2C${_.name}\u96C6`,sort:_.name});else try{let _=await this.getNumber(f,m,p);if(_&&Number(_)>0){let y=await this.getEpisodesV1(f,m,p,_);if(y&&y.length>0)for(let E of y)d.push({name:E.name,url:E.url,title:`\u3010${p}\u3011 \u7B2C${E.name}\u96C6`,sort:E.name})}}catch(_){I("error",`[360kan] fallback detail fetch failed for site ${p}: ${_&&_.message?_.message:_}`)}}catch(m){I("error",`[360kan] failed to fetch episodesv2 for site ${p}: ${m&&m.message?m.message:m}`)}}}else l.cat_name==="\u7EFC\u827A"&&(d=(await Promise.all(Object.keys(l.playlinks_year).map(async h=>F.vodAllowedPlatforms.includes(h)?(await Promise.all(l.playlinks_year[h].map(async m=>await this.get360Zongyi(l.titleTxt,l.id,h,m)))).flat():[]))).flat());if(d.length>0){let f={animeId:Number(l.id),bangumiId:String(l.id),animeTitle:`${l.titleTxt}(${l.year})\u3010${l.cat_name}\u3011from 360`,type:l.cat_name,typeDescription:l.cat_name,imageUrl:l.cover,startDate:An(l.year),episodeCount:d.length,rating:0,isFavorited:!0,source:"360"};a.push(f),rr({...f,links:d},s),F.animes.length>F.MAX_ANIMES&&ar()}}catch(d){I("error",`[360kan] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(t){}formatComments(t){}}});var mM,VTt=oe(()=>{oi();Gt();Ht();Lr();mo();Ws();Es();mM=class extends zt{async getVodAnimes(t,r,n){try{let s=Rrt(t),i=encodeURIComponent(s),a=await Le(`${r}/api.php/provide/vod/?ac=detail&wd=${i}&pg=1`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});if(a&&a.data&&a.data.list&&a.data.list.length>0){I("info",`[VOD] \u8BF7\u6C42 ${n}(${r}) \u6210\u529F`);let o=a.data;return I("info",`[VOD] ${n} response: \u2193\u2193\u2193`),pi(o),{serverName:n,list:o.list}}else return I("info",`[VOD] \u8BF7\u6C42 ${n}(${r}) \u6210\u529F\uFF0C\u4F46 response.data.list \u4E3A\u7A7A`),{serverName:n,list:[]}}catch(s){return I("error",`[VOD] \u8BF7\u6C42 ${n}(${r}) \u5931\u8D25:`,{message:s.message,name:s.name,stack:s.stack}),{serverName:n,list:[]}}}async getVodAnimesFromAllServersImpl(t,r){let n=r.map(i=>this.getVodAnimes(t,i.url,i.name));return(await Promise.allSettled(n)).filter(i=>i.status==="fulfilled").map(i=>i.value)}async getVodAnimesFromFastestServer(t,r,n=null,s=null){if(!r||r.length===0)return[];let i=r.map(l=>this.getVodAnimes(t,l.url,l.name)),a;try{a=await Promise.race(i)}catch(l){return I("error","[VOD fastest mode] \u6240\u6709\u670D\u52A1\u5668\u76F4\u63A5\u629B\u9519",l),[]}let o=l=>!n||s!=="vod"?!0:(JSON.stringify(l)?.toLowerCase()||"").includes(String(n).toLowerCase());if(o(a)&&a&&a.list&&a.list.length>0)return I("info",`[VOD fastest mode] \u6700\u5FEB\u670D\u52A1\u5668 ${a.serverName}${s==="vod"?" \u5B57\u7B26\u4E32\u5305\u542B preferAnimeId \u2192 \u4F18\u5148\u4F7F\u7528":""}`),[a];I("info",`[VOD fastest mode] \u6700\u5FEB\u670D\u52A1\u5668 ${a.serverName} \u4E0D\u542B preferAnimeId\uFF0C\u7B49\u5F85\u5176\u4ED6\u670D\u52A1\u5668\u2026`);let c=await Promise.allSettled(i);if(n){for(let l of c)if(l.status==="fulfilled"&&o(l.value)&&l.value&&l.value.list&&l.value.list.length>0)return I("info",`[VOD fastest mode] \u627E\u5230\u5305\u542B preferAnimeId \u7684\u670D\u52A1\u5668: ${l.value.serverName}`),[l.value];I("info","[VOD fastest mode] \u6240\u6709\u670D\u52A1\u5668\u90FD\u4E0D\u5305\u542B preferAnimeId\uFF0C\u56DE\u9000\u5230\u201C\u771F\u6B63\u6709\u6570\u636E\u201D\u7684\u6700\u5FEB\u670D\u52A1\u5668")}let u=c.filter(l=>l.status==="fulfilled").map(l=>l.value).filter(l=>l&&l.list&&l.list.length>0);if(u.length>0){let l=u[0];return I("info",`[VOD fastest mode] \u4F7F\u7528\u6700\u5FEB\u6709\u6570\u636E\u7684\u670D\u52A1\u5668: ${l.serverName}`),[l]}return I("error","[VOD fastest mode] \u6240\u6709\u670D\u52A1\u5668\u5747\u65E0\u6709\u6548\u6570\u636E"),[]}async search(t,r=null,n=null){return!F.vodServers||F.vodServers.length===0?[]:F.vodReturnMode==="fastest"?await this.getVodAnimesFromFastestServer(t,F.vodServers,r,n):await this.getVodAnimesFromAllServersImpl(t,F.vodServers)}async getEpisodes(t){}async handleAnimes(t,r,n,s,i=null,a=null){let o=[];if(!t||!Array.isArray(t))return I("error","[VOD] sourceAnimes is not a valid array"),[];let c=t.filter(d=>$t(d.vod_name,r,a)),u=a!==null?a:ir(r);if(u!==null){let d=c.filter(f=>{let h=Qt(f.vod_name).season;return h===u||u===1&&h===null});d.length>0&&(c=d,I("info",`[VOD] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${u}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let l=await Promise.all(c.map(async d=>{try{let f=d.vod_play_from.split("$$$");f=f.map(_=>_==="mgtv"?"imgo":_==="bilibili"?"bilibili1":_);let h=d.vod_play_url.split("$$$"),p=f.map((_,y)=>F.vodAllowedPlatforms.includes(_)?y:-1).filter(_=>_!==-1),m=[],g=0;for(let _ of p){let y=f[_],E=h[_].split("#");for(let A of E){let v=A.split("$");g++,m.push({name:g.toString(),url:v[1],title:`\u3010${y}\u3011 ${v[0]}`})}}if(m.length>0){let _={animeId:Number(d.vod_id),bangumiId:String(d.vod_id),animeTitle:`${d.vod_name}(${d.vod_year})\u3010${d.type_name}\u3011from ${s}`,type:d.type_name,typeDescription:d.type_name,imageUrl:d.vod_pic,startDate:An(d.vod_year),episodeCount:m.length,rating:0,isFavorited:!0,source:"vod"};o.push(_),rr({..._,links:m},i),F.animes.length>F.MAX_ANIMES&&ar()}}catch(f){I("error",`[VOD] Error processing anime: ${f.message}`)}}));return this.sortAndPushAnimesByYear(o,n),l}async getEpisodeDanmu(t){}formatComments(t){}}});async function jTt(e){let t="https://m.douban.com/rexxar/api/v2",r={Referer:"https://m.douban.com/movie/","Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"};F.doubanCookie&&(r.Cookie=F.doubanCookie);try{let n=await Le(`${t}${e}`,{method:"GET",headers:r});return n.status!=200?null:n}catch(n){return I("error","[Utils] [Douban] GET API error:",{message:n.message,name:n.name,stack:n.stack}),null}}async function KTt(e,t={}){let r="https://api.douban.com/v2";try{let n=await Fn(`${r}${e}`,JSON.stringify({...t,apikey:"0ac44ae016490db2204ce0a042db2916"}),{method:"GET",headers:{Referer:"https://api.douban.com","Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return n.status!=200?null:n}catch(n){return I("error","[Utils] [Douban] POST API error:",{message:n.message,name:n.name,stack:n.stack}),null}}async function GTt(e,t=20){let r=`/search?q=${e}&start=0&count=${t}&type=movie`;return await jTt(r)}async function YTt(e,t=20){return await KTt("/movie/search",{q:e,start:0,count:t})}async function QTt(e){let t=`/movie/${e}?for_mobile=1`;return await jTt(t)}async function zTt(e){let t=`/movie/imdb/${e}`;return await KTt(t)}var WEe=oe(()=>{Ht();Lr();Gt()});async function WTt(e){let t="https://api.imdbapi.dev";try{let r=await Le(`${t}${e}`,{method:"GET",headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return r.status!=200?null:r}catch(r){return I("error","[Utils] [IMDB] API error:",{message:r.message,name:r.name,stack:r.stack}),null}}async function XTt(e){let t=`/titles/${e}/seasons`;return await WTt(t)}async function JTt(e,t){let r=`/titles/${e}/episodes?season=${t}`;return await WTt(r)}var ZTt=oe(()=>{Ht();Lr()});var gM,ebt=oe(()=>{oi();Ht();WEe();GR();ZTt();gM=class extends zt{constructor(t){super("BaseSource"),this.doubanSource=t}async _getDoubanInfo(t,r,n){if(!t)return;let s=await zTt(t);if(!s||!s?.data)return;let i=s?.data?.id;if(i){let o=i.split("/").pop(),c=r==="movie"?"\u7535\u5F71":"\u7535\u89C6\u5267";o&&n.push({layout:"subject",target_id:o,type_name:c,target:{cover_url:s.data?.image,title:s.data?.alt_title}})}}async getDoubanIdByTmdbId(t,r){try{let n=[],i=(await rTt(t,r)).data?.imdb_id;if(!i)return[];if(t==="movie")await this._getDoubanInfo(i,t,n);else{let a=await XTt(i);I("info","[TMDB] imdb seasons:",a.data.seasons);let o=(a?.data?.seasons??[]).map(async c=>{let u=i;I("info","[TMDB] imdb season:",c.season);try{Number(c.season)!==1&&(u=(await JTt(i,c.season)).data?.episodes.find(d=>d.episodeNumber===1)?.id??""),await this._getDoubanInfo(u,t,n)}catch(l){I("error",`[TMDB] \u5904\u7406\u7B2C ${c.season} \u5B63\u5931\u8D25\uFF0C\u7EE7\u7EED\u6267\u884C\u5176\u4ED6\u5B63:`,l)}});await Promise.all(o)}return n}catch(n){return I("error","[TMDB] getTmdbIds error:",{message:n.message,name:n.name,stack:n.stack}),[]}}async search(t){try{let n=(await $9(t)).data,s=[],i=[];n?.results?.length>0&&(i=n.results.filter(c=>(c.name||c.title)===t)),I("info",`[TMDB] tmdb items.length: ${i.length}`);let a=i.map(async c=>{try{return await this.getDoubanIdByTmdbId(c.media_type,c.id)}catch(u){return I("error",`[TMDB] \u83B7\u53D6 TMDB ID ${c.id} \u7684\u8C46\u74E3 ID \u5931\u8D25\uFF0C\u7EE7\u7EED\u5904\u7406\u5176\u4ED6\u6761\u76EE:`,u),[]}}),o=await Promise.all(a);return s=[...s,...o.flat()],s}catch(r){return I("error","[TMDB] getTmdbAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getEpisodes(t){}async handleAnimes(t,r,n,s=null,i=null){return this.doubanSource.handleAnimes(t,r,n,s,i)}async getEpisodeDanmu(t){}formatComments(t){}}});var _M,tbt=oe(()=>{oi();Ht();WEe();Es();_M=class extends zt{constructor(t,r,n,s,i){super("BaseSource"),this.tencentSource=t,this.iqiyiSource=r,this.youkuSource=n,this.bilibiliSource=s,this.miguSource=i}async search(t){try{let n=(await GTt(t))?.data;if(!n||!n?.subjects?.items?.length&&!n?.smart_box?.length){I("info","[Douban] searchDoubanTitles failed or empty, trying searchDoubanTitlesByPublic");let a=(await YTt(t))?.data;a?.subjects?.length>0&&(n={subjects:{items:a.subjects.map(o=>this.convertToOriginalFormat(o))}})}let s=[];return n?.subjects?.items?.length>0&&(s=[...s,...n.subjects.items]),n?.smart_box?.length>0&&(s=[...s,...n.smart_box]),I("info",`[Douban] douban animes.length: ${s.length}`),s}catch(r){return I("error","[Douban] getDoubanAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}convertToOriginalFormat(t){let n={movie:"\u7535\u5F71",tv:"\u7535\u89C6\u5267"}[t.subtype]||t.subtype,s=t.images?.large||t.images?.medium||t.images?.small||"",i="";if(s){let u=s.match(/\/(p\d+)\.jpg/);u&&u[1]&&(i=`https://qnmob3.doubanio.com/view/photo/large/public/${u[1]}.jpg?imageView2/0/q/80/w/9999/h/120/format/jpg`)}let a=t.directors?.map(u=>u.name).join(" ")||"",o=t.casts?.slice(0,3).map(u=>u.name).join(" ")||"",c=`${t.year} / ${t.genres?.join(" / ")||""} / ${a}${o?" / "+o:""}`;return{layout:"subject",type_name:n,target_id:String(t.id),target:{rating:{count:t.collect_count||0,max:t.rating?.max||10,star_count:t.rating?.stars?parseInt(t.rating.stars)/10:0,value:t.rating?.average||0},controversy_reason:"",title:t.title,abstract:"",has_linewatch:!1,uri:`douban://douban.com/${t.subtype==="movie"?"movie":"tv"}/${t.id}`,cover_url:i,year:String(t.year||""),card_subtitle:c,id:String(t.id),null_rating_reason:""},target_type:t.subtype==="movie"?"movie":"tv"}}async getEpisodes(t){}async handleAnimes(t,r,n,s=null,i=null){let a=[];if(!t||!Array.isArray(t))return I("error","[Douban] sourceAnimes is not a valid array"),[];let o=t.filter(l=>{let d=l?.target?.title||"";return $t(d,r,i)}),c=i!==null?i:ir(r);if(c!==null){let l=o.filter(d=>{let f=d?.target?.title||"",h=Qt(f).season;return h===c||c===1&&h===null});l.length>0&&(o=l,I("info",`[Douban] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.allSettled(o.map(async l=>{try{if(l?.layout!=="subject")return;let d=l.target_id,f=l?.type_name;if(f!=="\u7535\u5F71"&&f!=="\u7535\u89C6\u5267")return;I("info","[Douban] doubanId: ",d,l?.target?.title,f);let h=await QTt(d),p=[];for(let m of h.data?.vendors??[]){if(!m)continue;I("info","[Douban] vendor uri: ",m.uri),h.data?.genres.includes("\u771F\u4EBA\u79C0")?f="\u7EFC\u827A":h.data?.genres.includes("\u7EAA\u5F55\u7247")?f="\u7EAA\u5F55\u7247":f==="\u7535\u89C6\u5267"&&h.data?.genres.includes("\u52A8\u753B")&&h.data?.countries.some(_=>_.includes("\u4E2D\u56FD"))?f="\u56FD\u6F2B":f==="\u7535\u89C6\u5267"&&h.data?.genres.includes("\u52A8\u753B")&&h.data?.countries.includes("\u65E5\u672C")?f="\u65E5\u756A":f==="\u7535\u89C6\u5267"&&h.data?.genres.includes("\u52A8\u753B")?f="\u52A8\u6F2B":f==="\u7535\u5F71"&&h.data?.genres.includes("\u52A8\u753B")?f="\u52A8\u753B\u7535\u5F71":f==="\u7535\u5F71"&&h.data?.countries.some(_=>_.includes("\u4E2D\u56FD"))?f="\u534E\u8BED\u7535\u5F71":f==="\u7535\u5F71"?f="\u5916\u8BED\u7535\u5F71":f==="\u7535\u89C6\u5267"&&h.data?.countries.some(_=>_.includes("\u4E2D\u56FD"))?f="\u56FD\u4EA7\u5267":f==="\u7535\u89C6\u5267"&&h.data?.countries.some(_=>["\u65E5\u672C","\u97E9\u56FD"].includes(_))?f="\u65E5\u97E9\u5267":f==="\u7535\u89C6\u5267"&&h.data?.countries.some(_=>["\u7F8E\u56FD","\u82F1\u56FD","\u52A0\u62FF\u5927","\u6CD5\u56FD","\u5FB7\u56FD","\u610F\u5927\u5229","\u897F\u73ED\u7259","\u6FB3\u5927\u5229\u4E9A"].includes(_))&&(f="\u6B27\u7F8E\u5267");let g=[{title:h.data?.title,year:h.data?.year,type:f,imageUrl:l?.target?.cover_url}];switch(m.id){case"qq":{let _=new URL(m.uri).searchParams.get("cid");_&&(g[0].provider="tencent",g[0].mediaId=_,await this.tencentSource.handleAnimes(g,h.data?.title,a,s,i));break}case"iqiyi":{let _=new URL(m.uri).searchParams.get("tvid");_&&(g[0].provider="iqiyi",g[0].mediaId=l?.type_name==="\u7535\u5F71"?`movie_${_}`:_,await this.iqiyiSource.handleAnimes(g,h.data?.title,a,s,i));break}case"youku":{let _=new URL(m.uri).searchParams.get("showid");_&&(g[0].provider="youku",g[0].mediaId=_,await this.youkuSource.handleAnimes(g,h.data?.title,a,s,i));break}case"bilibili":{let _=new URL(m.uri).pathname.split("/").pop();_&&(g[0].provider="bilibili",g[0].mediaId=`ss${_}`,await this.bilibiliSource.handleAnimes(g,h.data?.title,a,s,i));break}case"miguvideo":{let _=null,E=decodeURIComponent(m.uri).match(/"contentID":"([^"]+)"/);E&&E[1]&&(_=E[1]),_&&(g[0].provider="migu",g[0].mediaId=`https://v3-sc.miguvideo.com/program/v4/cont/content-info/${_}/1`,await this.miguSource.handleAnimes(g,h.data?.title,a,s,i));break}}}return p}catch(d){return I("error",`[Douban] Error processing anime: ${d.message}`),[]}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(t){}formatComments(t){}}});var rg,AM,EM,Qo,yM,rbt=oe(()=>{oi();Gt();Ht();Lr();Xi();mo();Ws();Es();Pi();rg=null,AM=0,EM=0,Qo={search:"WIN",detail:"TV",danmu:"TV"},yM=class extends zt{constructor(){super(),this.isBatchMode=!1}API_CONFIG={TV_SECRET_KEY:"cf65GPholnICgyw1xbrpA79XVkizOdMq",TV_HOST:"api.gorafie.com",TV_DANMU_HOST:"static-dm.qwdjapp.com",TV_VERSION:"1.2.2",TV_USER_AGENT:"okhttp/3.12.13",TV_CLIENT_TYPE:"android_qwtv_RRSP",TV_PKT:"rrmj",MAC_HOST:"api.cluuid.cn",MAC_DANMU_HOST:"static-dm.lequkeji.com",MAC_VERSION:"1.2.3",MAC_USER_AGENT:"%E4%BA%BA%E4%BA%BA%E8%A7%86%E9%A2%91%20for%20Mac/1.0 CFNetwork/3860.600.21 Darwin/25.5.0",MAC_CLIENT_TYPE:"mac_rrsp",WIN_HOST:"api.pleasfun.com",WIN_DANMU_HOST:"static-dm.lequkeji.com",WIN_VERSION:"1.24.2",WIN_USER_AGENT:"Boost.Beast/351",WIN_CLIENT_TYPE:"win_rrsp_gw",WEB_HOST:"api.rrmj.plus",WEB_DANMU_HOST:"static-dm.rrmj.plus"};generateRandomAliId(){let t="aY",r=24-t.length,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=t;for(let i=0;iMath.floor(Math.random()*16).toString(16)).join("").toUpperCase()}generateDeviceId(){return Math.random().toString(36).slice(2).toUpperCase()}rotateAliId(){let t=rg;rg=this.generateRandomAliId(),AM=0,EM=Math.floor(Math.random()*31)+30,t?I("info",`[Renren] AliID \u8F6E\u6362\u5B8C\u6210: ${t} -> ${rg}`):I("info",`[Renren] AliID \u521D\u59CB\u5316\u5B8C\u6210: ${rg}`),I("info",`[Renren] AliID \u4E0B\u6B21\u8F6E\u6362\u5C06\u5728 ${EM} \u6B21\u64CD\u4F5C\u540E\u89E6\u53D1`)}checkAndIncrementUsage(){rg||this.rotateAliId(),AM>=EM&&(I("info",`[Renren] AliID \u89E6\u53D1\u9608\u503C (${AM}/${EM})\uFF0C\u6B63\u5728\u8F6E\u6362 ID...`),this.rotateAliId()),AM++,I("info",`[Renren] AliID \u8BA1\u6570\u589E\u52A0: ${AM}/${EM} (\u5F53\u524DID: ...${rg.slice(-6)})`)}getAliId(){return rg||this.rotateAliId(),this.isBatchMode||this.checkAndIncrementUsage(),rg}generateTvHeaders(t,r){let n=this.getAliId();return{clientVersion:this.API_CONFIG.TV_VERSION,p:"Android",deviceid:"tWEtIN7JG2DTDkBBigvj6A%3D%3D",token:"",aliid:n,umid:"",clienttype:this.API_CONFIG.TV_CLIENT_TYPE,pkt:this.API_CONFIG.TV_PKT,t:t.toString(),sign:r,isAgree:"1",et:"2","Accept-Encoding":"gzip","User-Agent":this.API_CONFIG.TV_USER_AGENT}}buildMacHeaders(){return{aliId:this.generateMacAliId(),ct:this.API_CONFIG.MAC_CLIENT_TYPE,cv:this.API_CONFIG.MAC_VERSION,token:"",Accept:"*/*","Accept-Language":"zh-CN,zh-Hans;q=0.9","User-Agent":this.API_CONFIG.MAC_USER_AGENT}}buildWinHeaders(){return{aliId:this.generateWinAliId(),ct:this.API_CONFIG.WIN_CLIENT_TYPE,cv:this.API_CONFIG.WIN_VERSION,token:"","Content-Type":"application/json","User-Agent":this.API_CONFIG.WIN_USER_AGENT}}generateSignature(t,r,n,s,i,a,o,c){let u=`${t.toUpperCase()} +aliId:${r} +ct:${n} +cv:${s} +t:${i} +${a}?${o}`;return yrt(c,u)}buildSignedHeaders({method:t,url:r,params:n={},deviceId:s,token:i}){let a={client_type:"web_pc",client_version:"1.0.0",user_agent:"Mozilla/5.0",origin:"https://rrsp.com.cn",referer:"https://rrsp.com.cn/"},o=prt(r),c=Y2(n),u=Date.now(),d=this.generateSignature(t,s,a.client_type,a.client_version,u,o,c,"ES513W0B1CsdUrR13Qk5EgDAKPeeKZY");return{clientVersion:a.client_version,deviceId:s,clientType:a.client_type,t:String(u),aliId:s,umid:s,token:i||"",cv:a.client_version,ct:a.client_type,uet:"9","x-ca-sign":d,Accept:"application/json","User-Agent":a.user_agent,Origin:a.origin,Referer:a.referer}}async fetchStandardDanmu(t,r,n){try{let s=await Le(t,{headers:r,timeout:5e3,validStatusCodes:[404]});if(s.status===404)return s.data&&s.data.error==="Document not found"?[]:(I("info",`[Renren] ${n} \u5F39\u5E55\u63A5\u53E3\u8FD4\u56DE\u672A\u77E5 404 \u54CD\u5E94\uFF0C\u7591\u4F3C\u63A5\u53E3\u5931\u6548`),null);if(!s.data)return null;let i=s.data;return Array.isArray(i)?i:i&&i.data&&Array.isArray(i.data)?i.data:[]}catch(s){return I("info",`[Renren] ${n} \u7AEF\u5F39\u5E55\u62C9\u53D6\u5F02\u5E38: ${s.message}`),null}}async renrenHttpGet(t,{params:r={},headers:n={},validStatusCodes:s=[]}={}){let i=tR(t,r);return await Le(i,{headers:n,timeout:5e3,validStatusCodes:s})}async renrenRequest(t,r,n={}){let s=this.generateDeviceId(),i=this.buildSignedHeaders({method:t,url:r,params:n,deviceId:s});return await Le(r+"?"+Y2(n),{headers:i,timeout:5e3})}async searchAppContent(t,r=30){try{let n=Date.now(),s="/qwtv/search",i={searchWord:t,num:r,searchNext:"",well:"match"},a=X2(s,n,i,this.API_CONFIG.TV_SECRET_KEY),o=Object.entries(i).map(([f,h])=>`${f}=${encodeURIComponent(h==null?"":String(h))}`).join("&"),c=this.generateTvHeaders(n,a),u=`https://${this.API_CONFIG.TV_HOST}${s}?${o}`,l=await Le(u,{headers:c,timeout:5e3});return!l.data||l.data.code!=="0000"?(I("info",`[Renren] TV\u641C\u7D22\u63A5\u53E3\u5F02\u5E38: code=${l?.data?.code}, msg=${l?.data?.msg}`),null):(l.data.data||[]).map(f=>{let h=[];if(f.highlights&&(f.highlights.alias&&(h=f.highlights.alias.split(",").map(p=>p.trim().replace(/<[^>]+>/g,"")).filter(Boolean)),f.highlights.original_name)){let p=f.highlights.original_name.replace(/<[^>]+>/g,"").trim();p&&!h.includes(p)&&h.push(p)}return{provider:"renren",mediaId:String(f.id),title:String(f.title||"").replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"),aliases:h,type:f.classify||"Renren",season:null,year:f.year,imageUrl:f.cover,episodeCount:null,currentEpisodeIndex:null}})}catch(n){return I("info","[Renren] searchAppContent error:",n.message),null}}async performMacSearch(t,r=20){try{let n="/search/v5/season",s={keywords:t,order:"match",search_after:"",size:r},i=this.buildMacHeaders(),a=Y2(s),o=`https://${this.API_CONFIG.MAC_HOST}${n}?${a}`,c=await Le(o,{headers:i,timeout:5e3});return!c.data||c.data.code!=="0000"?(I("info",`[Renren] Mac\u7AEF\u641C\u7D22\u63A5\u53E3\u5F02\u5E38: code=${c?.data?.code}`),null):(c.data.data||[]).map(l=>{let d=[];if(l.highlights&&(l.highlights.alias&&(d=l.highlights.alias.split(",").map(f=>f.trim().replace(/<[^>]+>/g,"")).filter(Boolean)),l.highlights.original_name)){let f=l.highlights.original_name.replace(/<[^>]+>/g,"").trim();f&&!d.includes(f)&&d.push(f)}return{provider:"renren",mediaId:String(l.id),title:String(l.title||l.name||"").replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"),aliases:d,type:l.classify||l.cat||"Renren",season:null,year:l.year||null,imageUrl:l.cover||l.cover3||"",episodeCount:null,currentEpisodeIndex:null}})}catch(n){return I("info","[Renren] performMacSearch error:",n.message),null}}async performWinSearch(t,r=30){try{let n=`https://${this.API_CONFIG.WIN_HOST}/search/comprehensive/precise-mixed`,i=Y2({keywords:t,searchAfter:"",size:r}),a=this.buildWinHeaders(),o=await Le(`${n}?${i}`,{headers:a,timeout:5e3});if(!o.data||o.data.code!=="0000")return I("info",`[Renren] Win\u7AEF\u641C\u7D22\u63A5\u53E3\u5F02\u5E38: code=${o?.data?.code}`),null;let c=o.data.data||{},u=[],l=c.seasonList||[],d=c.fuzzySeasonList||[],f=c.seriesList||[],h=p=>{let m=[];if(p.highlights&&(p.highlights.alias&&(m=p.highlights.alias.split(",").map(g=>g.trim().replace(/<[^>]+>/g,"")).filter(Boolean)),p.highlights.original_name)){let g=p.highlights.original_name.replace(/<[^>]+>/g,"").trim();g&&!m.includes(g)&&m.push(g)}return{provider:"renren",mediaId:String(p.id),title:String(p.title||p.alias||p.name||"").replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"),aliases:m,type:p.classify||p.cat||"Renren",season:null,year:p.year||null,imageUrl:p.cover||p.coverUrl,episodeCount:null,currentEpisodeIndex:null}};return l.forEach(p=>u.push(h(p))),d.forEach(p=>u.push(h(p))),f.forEach(p=>{p.seasonList&&Array.isArray(p.seasonList)&&p.seasonList.forEach(m=>{u.push(h(m))})}),u}catch(n){return I("info","[Renren] performWinSearch error:",n.message),null}}async performNetworkSearch(t,{lockRef:r=null,lastRequestTimeRef:n={value:0},minInterval:s=500}={}){try{let i=`https://${this.API_CONFIG.WEB_HOST}/m-station/search/drama`,a={keywords:t,size:20,order:"match",search_after:"",isExecuteVipActivity:!0};if(r){for(;r.value;)await new Promise(f=>setTimeout(f,50));r.value=!0}let c=Date.now()-n.value;csetTimeout(f,s-c));let u=await this.renrenRequest("GET",i,a);return n.value=Date.now(),r&&(r.value=!1),u.data?(W2(u.data)?.data?.searchDramaList||[]).map(f=>{let h=[];if(f.highlights&&(f.highlights.alias&&(h=f.highlights.alias.split(",").map(p=>p.trim().replace(/<[^>]+>/g,"")).filter(Boolean)),f.highlights.original_name)){let p=f.highlights.original_name.replace(/<[^>]+>/g,"").trim();p&&!h.includes(p)&&h.push(p)}return{provider:"renren",mediaId:String(f.id),title:String(f.title||"").replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"),aliases:h,type:f.classify||"Renren",season:null,year:f.year,imageUrl:f.cover,episodeCount:f.episodeTotal,currentEpisodeIndex:null}}):(I("info","[Renren] \u7F51\u9875\u7248\u641C\u7D22\u65E0\u54CD\u5E94\u6570\u636E"),null)}catch(i){return I("info","[Renren] performNetworkSearch error:",i.message),null}}async search(t){I("info",`[Renren] \u5F00\u59CB\u641C\u7D22: ${t}`);let r=[],n=!1,s=["WIN","TV","MAC","WEB"],i=s.indexOf(Qo.search);i===-1&&(i=0);for(let a=i;a ${o}`),Qo.search=o);break}else I("info",`[Renren] ${o} \u7AEF\u641C\u7D22\u63A5\u53E3\u5F02\u5E38\u6216\u8BF7\u6C42\u5931\u8D25\uFF0C\u89E6\u53D1\u964D\u7EA7`)}catch(c){I("info",`[Renren] ${o} \u7AEF\u641C\u7D22\u5F02\u5E38\uFF0C\u89E6\u53D1\u964D\u7EA7: ${c.message}`)}}return n||(I("info","[Renren] \u641C\u7D22\u57DF\u6240\u6709\u964D\u7EA7\u63A5\u53E3\u5747\u5F02\u5E38\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3 WIN \u7AEF"),Qo.search="WIN"),r}async getAppDramaDetail(t,r=""){try{let n=Date.now(),s="/qwtv/drama/details",i={isAgeLimit:"false",seriesId:String(t),episodeId:String(r),clarity:"HD",caption:"0",hevcOpen:"1"},a=X2(s,n,i,this.API_CONFIG.TV_SECRET_KEY),o=Object.entries(i).map(([f,h])=>`${f}=${encodeURIComponent(h)}`).join("&"),c=this.generateTvHeaders(n,a),u=await Le(`https://${this.API_CONFIG.TV_HOST}${s}?${o}`,{headers:c,timeout:5e3});if(!u||!u.data)return I("info",`[Renren] TV\u8BE6\u60C5\u63A5\u53E3\u7F51\u7EDC\u65E0\u54CD\u5E94\u6216\u6570\u636E\u4E3A\u7A7A: ID=${t}`),null;let l=u.data,d=l.msg||l.message||"";return d.includes("\u8BE5\u5267\u6682\u4E0D\u53EF\u64AD")?(I("info",`[Renren] TV\u63A5\u53E3\u63D0\u793A'\u8BE5\u5267\u6682\u4E0D\u53EF\u64AD' (ID=${t})\uFF0C\u89C6\u4E3A\u7EF4\u62A4\u4E2D\uFF0C\u89E6\u53D1\u964D\u7EA7`),null):l.code!=="0000"?(I("info",`[Renren] TV\u8BE6\u60C5\u63A5\u53E3\u8FD4\u56DE\u9519\u8BEF\u7801: ${l.code}, msg=${d} (ID=${t})`),null):!l.data||!l.data.episodeList||l.data.episodeList.length===0?l.data?.dramaInfo?.playStatus?.includes("\u5373\u5C06\u5F00\u64AD")?(I("info",`[Renren] TV\u8BE6\u60C5\u63A5\u53E3\u63D0\u793A'\u5373\u5C06\u5F00\u64AD' (ID=${t})\uFF0C\u89C6\u4E3A\u7A7A\u7ED3\u679C`),l.data.episodeList||(l.data.episodeList=[]),l.data):(I("info",`[Renren] TV\u8BE6\u60C5\u63A5\u53E3\u8FD4\u56DE\u6570\u636E\u7F3A\u5931\u5206\u96C6\u5217\u8868 (ID=${t})\uFF0C\u5C1D\u8BD5\u964D\u7EA7`),null):(I("info",`[Renren] TV\u7AEF\u8BE6\u60C5\u83B7\u53D6\u4E0E\u5206\u96C6\u89E3\u6790\u6210\u529F: ID=${t}, \u5305\u542B\u96C6\u6570=${l.data.episodeList.length}`),l.data)}catch(n){return I("info","[Renren] getAppDramaDetail error:",n.message),null}}async getGatewayDramaDetail(t,r,n=""){try{let s=Date.now(),i="/qwtv/drama/details",a={isAgeLimit:"false",seriesId:String(r),episodeId:String(n),clarity:"HD",caption:"0",hevcOpen:"1"},o=X2(i,s,a,this.API_CONFIG.TV_SECRET_KEY),c=Object.entries(a).map(([p,m])=>`${p}=${encodeURIComponent(m)}`).join("&"),u=this.generateTvHeaders(s,o),l=`https://${t}${i}?${c}`,d=await Le(l,{headers:u,timeout:5e3});if(!d||!d.data)return I("info",`[Renren] \u8BE6\u60C5\u63A5\u53E3\u7F51\u7EDC\u65E0\u54CD\u5E94\u6216\u6570\u636E\u4E3A\u7A7A (${t}): ID=${r}`),null;let f=d.data,h=f.msg||f.message||"";return h.includes("\u8BE5\u5267\u6682\u4E0D\u53EF\u64AD")?(I("info",`[Renren] \u63A5\u53E3\u63D0\u793A'\u8BE5\u5267\u6682\u4E0D\u53EF\u64AD' (${t}) (ID=${r})\uFF0C\u89C6\u4E3A\u7EF4\u62A4\u4E2D\uFF0C\u89E6\u53D1\u964D\u7EA7`),null):f.code!=="0000"?(I("info",`[Renren] \u8BE6\u60C5\u63A5\u53E3\u8FD4\u56DE\u9519\u8BEF\u7801: ${f.code}, msg=${h} (${t}) (ID=${r})`),null):!f.data||!f.data.episodeList||f.data.episodeList.length===0?f.data?.dramaInfo?.playStatus?.includes("\u5373\u5C06\u5F00\u64AD")?(I("info",`[Renren] \u8BE6\u60C5\u63A5\u53E3\u63D0\u793A'\u5373\u5C06\u5F00\u64AD' (${t}) (ID=${r})\uFF0C\u89C6\u4E3A\u7A7A\u7ED3\u679C`),f.data.episodeList||(f.data.episodeList=[]),f.data):(I("info",`[Renren] \u8BE6\u60C5\u63A5\u53E3\u8FD4\u56DE\u6570\u636E\u7F3A\u5931\u5206\u96C6\u5217\u8868 (${t}) (ID=${r})\uFF0C\u5C1D\u8BD5\u964D\u7EA7`),null):(I("info",`[Renren] \u8DE8\u534F\u8BAE\u8BE6\u60C5\u83B7\u53D6\u4E0E\u5206\u96C6\u89E3\u6790\u6210\u529F (${t}): ID=${r}, \u5305\u542B\u96C6\u6570=${f.data.episodeList.length}`),f.data)}catch(s){return I("info",`[Renren] getGatewayDramaDetail error (${t}):`,s.message),null}}async getWebDramaDetailFallback(t){let r=`https://${this.API_CONFIG.WEB_HOST}/m-station/drama/page`,n={hsdrOpen:0,isAgeLimit:0,dramaId:String(t),hevcOpen:1};try{let s=await this.renrenRequest("GET",r,n);if(!s.data)return null;let i=W2(s.data);return i&&i.data&&i.data.episodeList&&i.data.episodeList.length>0?(I("info",`[Renren] \u7F51\u9875\u7248\u8BE6\u60C5\u83B7\u53D6\u4E0E\u5206\u96C6\u89E3\u6790\u6210\u529F: ID=${t}, \u5305\u542B\u96C6\u6570=${i.data.episodeList.length}`),i.data):null}catch(s){return I("info",`[Renren] \u7F51\u9875\u7248\u8BE6\u60C5\u8BF7\u6C42\u5931\u8D25: ${s.message}`),null}}async getDetail(t,r=""){let n=null,s=["TV","MAC","WIN","WEB"],i=s.indexOf(Qo.detail);i===-1&&(i=0);for(let a=i;a ${o}`),Qo.detail=o),n;I("info",`[Renren] ${o} \u8BE6\u60C5\u63A5\u53E3\u5931\u8D25\u6216\u65E0\u6570\u636E\uFF0C\u89E6\u53D1\u964D\u7EA7`)}catch(c){I("info",`[Renren] ${o} \u8BE6\u60C5\u63A5\u53E3\u5F02\u5E38\uFF0C\u89E6\u53D1\u964D\u7EA7: ${c.message}`)}}return I("info","[Renren] \u8BE6\u60C5\u57DF\u6240\u6709\u964D\u7EA7\u63A5\u53E3\u5747\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3 TV \u7AEF"),Qo.detail="TV",null}async getEpisodes(t){let r=await this.getDetail(t);if(!r)return I("info",`[Renren] \u83B7\u53D6\u5206\u96C6\u5931\u8D25: \u8BE6\u60C5\u5BF9\u8C61\u4E3A\u7A7A ID=${t}`),[];if(!r.episodeList||!Array.isArray(r.episodeList))return I("info",`[Renren] \u83B7\u53D6\u5206\u96C6\u5931\u8D25: episodeList \u5B57\u6BB5\u7F3A\u5931\u6216\u975E\u6570\u7EC4 ID=${t}`),[];let n=[],s=String(t);r.episodeList.forEach((a,o)=>{let c=String(a.sid||"").trim();if(!c)return;let u=a.title?String(a.title):`\u7B2C${String(a.episodeNo||o+1).padStart(2,"0")}\u96C6`,l=`${s}-${c}`;n.push({sid:l,order:a.episodeNo||o+1,title:u})});let i=n.map(a=>({provider:"renren",episodeId:a.sid,title:a.title,episodeIndex:a.order,url:null}));if(r.dramaInfo&&(r.dramaInfo.enName&&(i.enName=r.dramaInfo.enName),r.dramaInfo.year&&(i.year=r.dramaInfo.year),r.dramaInfo.dramaType)){let a=r.dramaInfo.dramaType,o=r.dramaInfo.plotType||"";a==="TV"?a="\u7535\u89C6\u5267":a==="MOVIE"?o.includes("\u52A8\u753B")?a="\u5267\u573A\u7248":a="\u7535\u5F71":a==="COMIC"?a="\u52A8\u753B":a==="VARIETY"?a="\u7EFC\u827A":a==="DOCUMENTARY"&&(a="\u7EAA\u5F55\u7247"),i.type=a}return i}async handleAnimes(t,r,n,s=null,i=null){let a=[];if(!t||!Array.isArray(t))return I("info","[Renren] sourceAnimes is not a valid array"),[];let o=t.filter(d=>$t(d.title,r,i)?!0:d.aliases&&Array.isArray(d.aliases)?d.aliases.some(f=>$t(f,r,i)):!1),c=i!==null?i:ir(r);if(c!==null){let d=o.filter(f=>{let h=Qt(f.title).season;return h===c||c===1&&h===null});d.length>0&&(o=d,I("info",`[Renren] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let l={TV:"TV",MAC:"Mac",WIN:"Win",WEB:"\u7F51\u9875"}[Qo.search]||"\u672A\u77E5";I("info",`[Renren] ${l}\u7AEF\u641C\u7D22\u63D0\u53D6\u7ED3\u679C\u6570\u91CF: ${t.length} \u6709\u6548\u7ED3\u679C\u6570\u91CF\uFF1A${o.length}`),this.isBatchMode=!0;try{await Promise.all(o.map(async d=>{try{let f=await this.getEpisodes(d.mediaId),h=[];for(let p of f)h.push({name:p.episodeIndex.toString(),url:p.episodeId,title:`\u3010${p.provider}\u3011 ${p.title}`});if(h.length>0){let p=d.aliases||[];f.enName&&!p.includes(f.enName)&&p.push(f.enName);let m=f.year||d.year||"",g=f.type||(d.type&&d.type!=="Renren"?d.type:"Renren"),_={animeId:Number(d.mediaId),bangumiId:String(d.mediaId),animeTitle:`${d.title}(${m})\u3010${g}\u3011from renren`,aliases:p,type:g,typeDescription:g,imageUrl:d.imageUrl,startDate:An(m),episodeCount:h.length,rating:0,isFavorited:!0,source:"renren"};a.push(_),rr({..._,links:h},s),F.animes.length>F.MAX_ANIMES&&ar()}}catch(f){I("info",`[Renren] Error processing anime: ${f.message}`)}}))}finally{this.isBatchMode=!1,this.checkAndIncrementUsage()}return this.sortAndPushAnimesByYear(a,n),a}async getAppDanmu(t){try{let r=Date.now(),n=t;String(t).includes("-")&&(n=String(t).split("-")[1]);let s=`/v1/produce/danmu/EPISODE/${n}`,a=X2(s,r,{},this.API_CONFIG.TV_SECRET_KEY),o=this.generateTvHeaders(r,a),c=`https://${this.API_CONFIG.TV_DANMU_HOST}${s}`,u=await Le(c,{headers:o,timeout:5e3,validStatusCodes:[404]});if(u.status===404)return u.data&&u.data.error==="Document not found"?[]:(I("info","[Renren] TV \u5F39\u5E55\u63A5\u53E3\u8FD4\u56DE\u672A\u77E5 404 \u54CD\u5E94\uFF0C\u7591\u4F3C\u63A5\u53E3\u5931\u6548"),null);if(!u.data)return null;let l=W2(u.data);return Array.isArray(l)?l:l&&l.data&&Array.isArray(l.data)?l.data:[]}catch(r){return I("info","[Renren] getAppDanmu error:",r.message),null}}async getMacDanmu(t){let r=String(t).includes("-")?String(t).split("-")[1]:t,n=`https://${this.API_CONFIG.MAC_DANMU_HOST}/v1/produce/danmu/EPISODE/${r}`,s={"User-Agent":this.API_CONFIG.MAC_USER_AGENT,Accept:"*/*"};return this.fetchStandardDanmu(n,s,"MAC")}async getWinDanmu(t){let r=String(t).includes("-")?String(t).split("-")[1]:t,n=`https://${this.API_CONFIG.WIN_DANMU_HOST}/v1/produce/danmu/EPISODE/${r}`,s={"User-Agent":this.API_CONFIG.WIN_USER_AGENT};return this.fetchStandardDanmu(n,s,"WIN")}async getWebDanmuFallback(t){let r=t;String(t).includes("-")&&(r=String(t).split("-")[1]);let n={user_agent:"Mozilla/5.0",origin:"https://rrsp.com.cn",referer:"https://rrsp.com.cn/"},s=`https://${this.API_CONFIG.WEB_DANMU_HOST}/v1/produce/danmu/EPISODE/${r}`,i={Accept:"application/json","User-Agent":n.user_agent,Origin:n.origin,Referer:n.referer};try{let a=await this.renrenHttpGet(s,{headers:i,validStatusCodes:[404]});if(a.status===404)return a.data&&a.data.error==="Document not found"?[]:(I("info","[Renren] WEB \u5F39\u5E55\u63A5\u53E3\u8FD4\u56DE\u672A\u77E5 404 \u54CD\u5E94\uFF0C\u7591\u4F3C\u63A5\u53E3\u5931\u6548"),null);if(!a.data)return null;let o=W2(a.data),c=[];return Array.isArray(o)?c=o:o?.data&&Array.isArray(o.data)&&(c=o.data),c}catch(a){return I("info",`[Renren] \u7F51\u9875\u7248\u5F39\u5E55\u964D\u7EA7\u5931\u8D25: ${a.message}`),null}}async getEpisodeDanmu(t){let r=0;if(String(t).includes("-")){let[o,c]=String(t).split("-"),u=await this.getDetail(o,c);if(u&&u.watchInfo){let l=u.watchInfo.m3u8||u.watchInfo.tria4kPlayInfo||{},d=parseInt(l.startingLength)||0,f=parseInt(l.openingLength)||0;r=d>0?d:f>0?f:0}}let n=null,s=["TV","MAC","WIN","WEB"],i=s.indexOf(Qo.danmu);i===-1&&(i=0);for(let o=i;o ${c}`),Qo.danmu=c),n.length>0?I("info",`[Renren] \u6210\u529F\u83B7\u53D6 ${n.length} \u6761\u5F39\u5E55 (${c}\u7AEF)`):I("info",`[Renren] \u8BE5\u5267\u96C6\u6682\u65E0\u5F39\u5E55 (${c}\u7AEF)`),n.adDurationMs=r,n.episodeId=t,n;I("info",`[Renren] ${c} \u5F39\u5E55\u63A5\u53E3\u5931\u8D25\uFF0C\u89E6\u53D1\u964D\u7EA7`)}catch(u){I("info",`[Renren] ${c} \u5F39\u5E55\u63A5\u53E3\u5F02\u5E38\uFF0C\u89E6\u53D1\u964D\u7EA7: ${u.message}`)}}I("info","[Renren] \u5F39\u5E55\u57DF\u6240\u6709\u964D\u7EA7\u63A5\u53E3\u5747\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3 TV \u7AEF"),Qo.danmu="TV";let a=[];return a.adDurationMs=r,a.episodeId=t,a}async getEpisodeDanmuSegments(t){return new jt({type:"renren",segmentList:[{type:"renren",segment_start:0,segment_end:3e4,url:t}]})}async getEpisodeSegmentDanmu(t){return this.getEpisodeDanmu(t.url)}parseRRSPPFields(t){let r=String(t).split(","),n=(l,d,f)=>{if(l==null||l==="")return f;let h=d(l);return isNaN(h)?f:h},s=n(r[0],parseFloat,0),i=n(r[1],l=>parseInt(l,10),1),a=n(r[2],l=>parseInt(l,10),25),o=n(r[3],l=>parseInt(l,10),16777215),c=r[6]||"",u=r[7]||`${s}:${c}`;return{timestamp:s,mode:i,size:a,color:o,userId:c,contentId:u}}formatComments(t){let r=t.adDurationMs||0,n=t.episodeId||"\u672A\u77E5",s=r/1e3,i=0,a=t.map(o=>{let c=String(o.d||"");if(!c&&o.content&&(c=String(o.content)),!c)return null;if(o.p){let u=this.parseRRSPPFields(o.p),l=u.timestamp-s;return l<0?(i++,null):{cid:Number(u.contentId)||0,p:`${l.toFixed(2)},${u.mode},${u.color},[renren]`,m:c,t:l}}return null}).filter(Boolean);return r>0&&I("info",`[Renren] \u8BC6\u522B\u5230\u524D\u7F6E\u5E7F\u544A(${r}ms)\uFF0C\u5DF2\u81EA\u52A8\u504F\u79FB\u65F6\u95F4\u8F74\u3002\u6210\u529F\u8F6C\u6362 ${a.length} \u6761\uFF0C\u5254\u9664\u65E0\u6548\u5F39\u5E55 ${i} \u6761 (ID=${n})`),a}}});var Ujr,mS,nbt,Mi,vM,sbt=oe(()=>{oi();Gt();Ht();Lr();Xi();mo();Ws();Es();Pi();zEe();Ujr={1:"\u97E9\u5267",2:"\u7EFC\u827A",3:"\u7535\u5F71",4:"\u65E5\u5267",5:"\u7F8E\u5267",6:"\u6CF0\u5267",7:"\u56FD\u4EA7\u5267"},mS=1e8,nbt=6e4,Mi=Object.freeze({HXQ:"hxq",TV:"tv",MERGED:"merged"}),vM=class extends zt{constructor(){super(),this.appHost="https://hxqapi.hiyun.tv",this.tvHost="https://api.xiawen.tv",this.fallbackDanmuHost="https://hxqapi.zmdcq.com",this.danmuHosts=Array.from(new Set([this.appHost,this.fallbackDanmuHost])),this.defaultRefer="2JGztvGjRVpkxcr0T4ZWG2k+tOlnHmDGUNMwAGSeq548YV2FMbs0h0bXNi6DJ00L",this.danmuUserAgent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",this.appUserAgent="HanjuTV/6.8.2 (Redmi Note 12; Android 14; Scale/2.00)",this._mobileMakeHeaders=null,this._tvMakeHeaders=null,this._mobileWarmupPromise=null,this._mobileWarmupAttempted=!1}getDanmuHeaders(){return{"Content-Type":"application/json","User-Agent":this.danmuUserAgent}}getAppHeaders(){return{vc:"a_8280",vn:"6.8.2",ch:"xiaomi",app:"hj","User-Agent":this.appUserAgent,"Accept-Encoding":"gzip"}}getCategory(t){return Ujr[t]||"\u5176\u4ED6"}async buildTvHeaders(){return this._tvMakeHeaders||(this._tvMakeHeaders=await UTt(Date.now())),this._tvMakeHeaders(Date.now())}async buildMobileHeaders(){return this._mobileMakeHeaders||(this._mobileMakeHeaders=await BTt(Date.now())),this._mobileMakeHeaders(Date.now())}async tvGet(t,r={}){let n=await this.buildTvHeaders(),s=await Le(`${this.tvHost}${t}`,{headers:n.headers,timeout:1e4,retries:1,...r});return QEe(s?.data,n.uid)}logError(t,r){I("error",`[Hanjutv] ${t}:`,{message:r.message,name:r.name,stack:r.stack})}attachDanmuSourceLabel(t=[],r=""){let n=G9(r);return Array.isArray(t)?t.map(s=>({...s,_sourceLabel:n})):[]}async tryGet(t,r,n){try{return await t()}catch(s){return n&&I("warn",`${n}: ${s.message}`),r}}normalizeSearchItems(t=[]){return Array.isArray(t)?t.map(r=>{if(!r||typeof r!="object")return null;let n=r.sid||r.seriesId||r.id||r.series_id,s=r.name||r.title||r.seriesName||r.showName;if(!n||!s)return null;let i=typeof r.image=="object"&&r.image!==null?r.image:{},a=i.thumb||i.poster||i.url||r.thumb||r.poster||"";return{...r,sid:String(n),name:String(s),image:{...i,thumb:a}}}).filter(Boolean):[]}normalizeEpisodes(t=[]){return Array.isArray(t)?t.map((r,n)=>{if(!r||typeof r!="object")return null;let s=r.pid||r.eid||r.id||r.programId||r.episodeId;if(!s)return null;let i=r.serialNo??r.serial_no??r.sort??r.sortNo??r.num??r.episodeNo??n+1,a=Number(i),o=r.pid||r.programId||r.episodeId||r.id||"",c=r.eid||r.id||r.episodeId||"";return{...r,episodeId:String(s),pid:o?String(o):"",eid:c?String(c):"",serialNo:Number.isFinite(a)&&a>0?a:n+1,title:r.title||r.name||r.programName||r.episodeTitle||""}}).filter(Boolean).sort((r,n)=>r.serialNo-n.serialNo):[]}normalizeHxqEpisodes(t=[]){return this.normalizeEpisodes(t).filter(r=>r.pid).map(r=>({...r,pid:String(r.pid)}))}normalizeTvEpisodes(t=[]){return this.normalizeEpisodes(t).filter(r=>r.eid||r.episodeId).map(r=>({...r,eid:String(r.eid||r.episodeId)}))}extractSearchItems(t){let r=t?.seriesData?.seriesList||t?.seriesList||t?.seriesData?.series||[];return this.normalizeSearchItems(r)}dedupeBySid(t=[]){let r=new Map;for(let n of t){if(!n?.sid)continue;let s=String(n.sid);r.has(s)||r.set(s,n)}return Array.from(r.values())}isMergeableSearchPair(t,r,n=""){return!t?.name||!r?.name||n&&(!$t(t.name,n)||!$t(r.name,n))?!1:$t(t.name,r.name)&&$t(r.name,t.name)}buildSearchCandidate(t,r,n=""){if(!t?.sid)return null;let s=String(t.sid),i=String(n||"").trim(),a=r===Mi.MERGED?Qn(`hxq:${s}|tv:${i}`):Qn(s);return{...t,animeId:a,_variant:r,...i?{tvSid:i}:{}}}mergeSearchCandidates(t,r=[],n=[]){let s=this.dedupeBySid(r),i=this.dedupeBySid(n),a=h=>{let p=[],m=[];for(let g of h)($t(g?.name||"",t)?p:m).push(g);return{matched:p,unmatched:m}},o=a(s),c=a(i),u=o.matched.length+c.matched.length>0,l=[],d=new Set;for(let h of o.matched){let p=c.matched.find(m=>!d.has(String(m.sid))&&this.isMergeableSearchPair(h,m,t));p?(d.add(String(p.sid)),l.push(this.buildSearchCandidate(h,Mi.MERGED,p.sid))):l.push(this.buildSearchCandidate(h,Mi.HXQ))}c.matched.filter(h=>!d.has(String(h.sid))).forEach(h=>{l.push(this.buildSearchCandidate(h,Mi.TV))}),u?l.push(...o.unmatched.map(h=>this.buildSearchCandidate(h,Mi.HXQ)).filter(Boolean),...c.unmatched.map(h=>this.buildSearchCandidate(h,Mi.TV)).filter(Boolean)):l.push(...s.map(h=>this.buildSearchCandidate(h,Mi.HXQ)).filter(Boolean),...i.map(h=>this.buildSearchCandidate(h,Mi.TV)).filter(Boolean));let f=h=>h.map(p=>p.name);return{resultList:l,stats:{s5Total:s.length,s5Matched:o.matched.length,tvTotal:i.length,tvMatched:c.matched.length,mergedCount:u?l.filter(h=>h?._variant===Mi.MERGED).length:0,s5MatchedList:f(o.matched),s5UnmatchedList:f(o.unmatched),tvMatchedList:f(c.matched),tvUnmatchedList:f(c.unmatched)}}}async extractFromPayload(t,r,n){if(!t||typeof t!="object")throw new Error(`${n} \u54CD\u5E94\u4E3A\u7A7A`);if(typeof t.data=="string"&&t.data.length>0){let i;try{i=await QEe(t,r)}catch(o){throw new Error(`${n} \u54CD\u5E94\u89E3\u5BC6\u5931\u8D25: ${o.message}`)}let a=this.extractSearchItems(i);if(a.length===0)throw new Error(`${n} \u89E3\u5BC6\u540E\u65E0\u6709\u6548\u7ED3\u679C`);return a}let s=this.extractSearchItems(t);if(s.length===0)throw new Error(`${n} \u65E0\u6709\u6548\u7ED3\u679C`);return s}async warmupMobileIdentity(t){try{await Le(`${this.appHost}/api/common/configs`,{headers:t,timeout:8e3,retries:0})}catch{}}async ensureMobileIdentityWarmed(){if(this._mobileWarmupAttempted){await this._mobileWarmupPromise;return}this._mobileWarmupAttempted=!0,this._mobileWarmupPromise=(async()=>{let t=await this.buildMobileHeaders();await this.warmupMobileIdentity(t.headers)})(),await this._mobileWarmupPromise}async searchWithS5Api(t){await this.ensureMobileIdentityWarmed();let{uid:r,headers:n}=await this.buildMobileHeaders(),s=encodeURIComponent(t),i=await Le(`https://hxqapi.hiyun.tv/api/search/s5?k=${s}&srefer=search_input&type=0&page=1`,{headers:n,timeout:1e4,retries:1});return this.extractFromPayload(i?.data,r,"s5")}async searchWithTvApi(t){let r=encodeURIComponent(t),n=await this.buildTvHeaders(),s=await Le(`https://api.xiawen.tv/api/v1/aggregate/search?key=${r}&scope=101&page=1`,{headers:n.headers,timeout:1e4,retries:1});return this.extractFromPayload(s?.data,n.uid,"tv")}async search(t){try{let r=String(t||"").trim();if(!r)return[];let[n,s]=await Promise.all([this.tryGet(()=>this.searchWithS5Api(r),[],"[Hanjutv] s5 \u641C\u7D22\u5931\u8D25"),this.tryGet(()=>this.searchWithTvApi(r),[],"[Hanjutv] TV \u641C\u7D22\u5931\u8D25")]),{resultList:i,stats:a}=this.mergeSearchCandidates(r,n,s),o=a.s5Matched+a.tvMatched;return i.length>0&&o===0?(I("warn",`[Hanjutv] \u6240\u6709\u5019\u9009\u5747\u672A\u547D\u4E2D\u5173\u952E\u8BCD\uFF0C\u4E22\u5F03\u7591\u4F3C\u63A8\u8350\u6D41\u7ED3\u679C: ${r}`),[]):i.length===0?(I("info","[Hanjutv] hanjutvSearchresp: s5 \u4E0E TV \u63A5\u53E3\u5747\u65E0\u6709\u6548\u7ED3\u679C"),[]):(I("info",`[Hanjutv] \u641C\u7D22\u5019\u9009\u7EDF\u8BA1 s5MatchedList=${JSON.stringify(a.s5MatchedList)}, s5UnmatchedList=${JSON.stringify(a.s5UnmatchedList)}, tvMatchedList=${JSON.stringify(a.tvMatchedList)}, tvUnmatchedList=${JSON.stringify(a.tvUnmatchedList)}`),I("info",`[Hanjutv] \u641C\u7D22\u5019\u9009\u7EDF\u8BA1 s5=${a.s5Total}(\u547D\u4E2D${a.s5Matched}), tv=${a.tvTotal}(\u547D\u4E2D${a.tvMatched}), merged=${a.mergedCount}`),I("info",`[Hanjutv] \u641C\u7D22\u627E\u5230 ${i.length} \u4E2A\u6709\u6548\u7ED3\u679C`),i.filter(Boolean))}catch(r){return this.logError("getHanjutvAnimes error",r),[]}}async getSeriesDetail(t,r,n,s){try{let i=String(t||"").trim();if(!i)return null;let a=await this.tryGet(()=>r(i),null,s);return a||(I("info",`[Hanjutv] ${n}: series \u4E0D\u5B58\u5728`),null)}catch(i){return this.logError(s,i),null}}async getHxqDetail(t){return this.getSeriesDetail(t,async r=>(await Le(`${this.appHost}/api/series/detail?sid=${r}`,{headers:this.getAppHeaders(),timeout:1e4,retries:1}))?.data?.series??null,"getHanjutvHxqDetail","getHanjutvHxqDetail error")}async getTvDetail(t){return this.getSeriesDetail(t,async r=>(await this.tvGet(`/api/v1/series/detail/query?sid=${r}`))?.series??null,"getHanjutvTvDetail","getHanjutvTvDetail error")}async getHxqEpisodes(t){try{let r=String(t||"").trim();if(!r)return[];let n=[async()=>{let i=await Le(`${this.appHost}/api/series/detail?sid=${r}`,{headers:this.getAppHeaders(),timeout:1e4,retries:1});return this.normalizeHxqEpisodes(Array.isArray(i?.data?.playItems)?i.data.playItems:[])},async()=>{let a=(await Le(`${this.appHost}/api/series2/episodes?sid=${r}&refer=${encodeURIComponent(this.defaultRefer)}`,{headers:this.getAppHeaders(),timeout:1e4,retries:1}))?.data;return this.normalizeHxqEpisodes(a?.programs||a?.episodes||a?.qxkPrograms||[])},async()=>{let a=(await Le(`${this.appHost}/api/series/programs_v2?sid=${r}`,{headers:this.getAppHeaders(),timeout:1e4,retries:1}))?.data;return this.normalizeHxqEpisodes([...Array.isArray(a?.programs)?a.programs:[],...Array.isArray(a?.qxkPrograms)?a.qxkPrograms:[]])}],s=[];for(let i of n){if(s.length>0)break;s=await this.tryGet(i,[])}return s.length===0?(I("info","[Hanjutv] getHanjutvHxqEpisodes: episodes \u4E0D\u5B58\u5728"),[]):s.sort((i,a)=>i.serialNo-a.serialNo)}catch(r){return this.logError("getHanjutvHxqEpisodes error",r),[]}}async getTvEpisodes(t){try{let r=String(t||"").trim();if(!r)return[];let n=await this.tryGet(async()=>{let s=await this.tvGet(`/api/v1/series/detail/query?sid=${r}`);return this.normalizeTvEpisodes(s?.episodes||[])},[],"getHanjutvTvEpisodes error");return n.length===0?(I("info","[Hanjutv] getHanjutvTvEpisodes: episodes \u4E0D\u5B58\u5728"),[]):n.sort((s,i)=>s.serialNo-i.serialNo)}catch(r){return this.logError("getHanjutvTvEpisodes error",r),[]}}resolveAnimeYear(t,...r){let n=[t?.updateTime,t?.publishTime,...r.map(s=>s?.updateTime),...r.map(s=>s?.publishTime)];for(let s of n){if(!s)continue;let a=new Date(s).getFullYear();if(Number.isFinite(a)&&a>1900)return a}return new Date().getFullYear()}buildEpisodeTitle(t,r=""){let n=String(r||"").trim();return n?`\u7B2C${t}\u96C6\uFF1A${n}`:`\u7B2C${t}\u96C6`}buildEpisodeLink(t,r){let n=t?.serialNo??r?.serialNo??1,s=this.buildEpisodeTitle(n,t?.title||r?.title||""),i="";if(t?.pid&&r?.eid){let a=$Tt(t.pid,r.eid);i=a?`hanjutv:${a}`:""}else t?.pid?i=`hxq:${t.pid}`:r?.eid&&(i=`tv:${r.eid}`);return i?{name:s,url:i,title:`\u3010hanjutv\u3011 ${s}`}:null}mergeVariantEpisodes(t=[],r=[]){let n=new Map(t.map(a=>[Number(a.serialNo),a])),s=new Map(r.map(a=>[Number(a.serialNo),a]));return Array.from(new Set([...n.keys(),...s.keys()])).filter(Number.isFinite).sort((a,o)=>a-o).map(a=>this.buildEpisodeLink(n.get(a),s.get(a))).filter(Boolean)}buildAnimeSummary(t,r,n,s){let i=this.getCategory(r?.category??t?.category),a=this.resolveAnimeYear(t,r);return{animeId:s,bangumiId:String(s),animeTitle:`${t.name}(${a})\u3010${i}\u3011from hanjutv`,type:i,typeDescription:i,imageUrl:t?.image?.thumb||"",startDate:An(a),episodeCount:n.length,rating:Number(r?.rank??0),isFavorited:!0,source:"hanjutv"}}async getHxqBundle(t){if(!t)return{detail:null,episodes:[]};let[r,n]=await Promise.all([this.getHxqDetail(t),this.getHxqEpisodes(t)]);return{detail:r,episodes:n}}async getTvBundle(t){if(!t)return{detail:null,episodes:[]};let[r,n]=await Promise.all([this.getTvDetail(t),this.getTvEpisodes(t)]);return{detail:r,episodes:n}}async buildAnimePayload(t){let r=t?._variant||Mi.HXQ,n=String(t?.sid||"").trim(),s=String(t?.tvSid||"").trim(),i=s||(r===Mi.TV?n:""),a=Number(t?.animeId),o=r===Mi.MERGED&&n&&s?Number.isFinite(a)&&a>0?a:Qn(`hxq:${n}|tv:${s}`):null,c=(r===Mi.HXQ||r===Mi.MERGED)&&n,u=(r===Mi.TV||r===Mi.MERGED)&&i,[l,d]=await Promise.all([c?this.getHxqBundle(n):Promise.resolve({detail:null,episodes:[]}),u?this.getTvBundle(i):Promise.resolve({detail:null,episodes:[]})]);if(r===Mi.MERGED&&n&&s){let f=this.mergeVariantEpisodes(l.episodes,d.episodes);if(f.length>0){let h=l.detail?.category?l.detail:d.detail?.category?d.detail:l.detail||d.detail;return{summary:this.buildAnimeSummary(t,h,f,o),links:f}}}if((r===Mi.HXQ||r===Mi.MERGED)&&n){let f=l.episodes.map(h=>this.buildEpisodeLink(h,null)).filter(Boolean);if(f.length>0)return{summary:this.buildAnimeSummary(t,l.detail,f,o??Qn(n)),links:f}}if((r===Mi.TV||r===Mi.MERGED)&&i){let f=d.episodes.map(h=>this.buildEpisodeLink(null,h)).filter(Boolean);if(f.length>0)return{summary:this.buildAnimeSummary(t,d.detail,f,o??Qn(i)),links:f}}return null}async handleAnimes(t,r,n,s=null,i=null){if(!Array.isArray(t))return I("error","[Hanjutv] sourceAnimes is not a valid array"),[];let a=[],o=t.filter(u=>$t(u.name,r,i)),c=i!==null?i:ir(r);if(c!==null){let u=o.filter(l=>{let d=Qt(l.name).season;return d===c||c===1&&d===null});u.length>0&&(o=u,I("info",`[Hanjutv] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}return await Promise.all(o.map(async u=>{try{let l=await this.buildAnimePayload(u);if(!l||!l.summary||!Array.isArray(l.links)||l.links.length===0)return;a.push(l.summary),rr({...l.summary,links:l.links},s),F.animes.length>F.MAX_ANIMES&&ar()}catch(l){I("error",`[Hanjutv] Error processing anime: ${l.message}`)}})),this.sortAndPushAnimesByYear(a,n),a}async fetchEpisodeDanmuByRef(t){let r=String(t?.id||"").trim();if(!r)return[];let n=[];if(!t.preferTv){let s=this.getDanmuHeaders();for(let i of this.danmuHosts){let a=[];try{let o=0,c=0,u=nbt,l=0,d=240;for(;c0&&a.push(...h);let p=Number(f?.data?.more??0)===1||f?.data?.more===!0||f?.data?.more==="1",m=Number(f?.data?.nextAxis??mS),g=Number(f?.data?.lastId??o);if(!Number.isFinite(m)||m<=c||m>=mS)break;if(Number.isFinite(g)&&g>o&&(o=g),c=m,!p){if(h.length===0)break;u=c+nbt}}if(a.length>0){n=a;break}}catch(o){if(this.logError(`fetchHanjutvEpisodeDanmu(\u97E9\u5C0F\u5708\u5F39\u5E55:${i})`,o),a.length>0){n=a;break}}}}if(n.length===0){let s=0,i=0,a=0,o=120;for(;i0&&n.push(...u);let l=Number(c.more??0)===1||c.more===!0||c.more==="1",d=Number(c.nextAxis??mS),f=Number(c.lastId??s);if(!Number.isFinite(d)||d<=i||d>=mS||(Number.isFinite(f)&&f>s&&(s=f),i=d,l||(s=0),u.length===0&&!l))break}catch(c){this.logError("fetchHanjutvEpisodeDanmu(TV\u7AEF)",c);break}}return n}async getEpisodeDanmu(t){let r=qTt(t),n=Array.isArray(r?.refs)?r.refs.filter(i=>i?.id):[];if(n.length===0)return[];if(n.length===1){let i=await this.fetchEpisodeDanmuByRef(n[0]);return this.attachDanmuSourceLabel(i,n[0].rawId)}return(await Promise.all(n.map(async i=>{let a=await this.fetchEpisodeDanmuByRef(i);return this.attachDanmuSourceLabel(a,i.rawId)}))).flat()}async getEpisodeDanmuSegments(t){return I("info","[Hanjutv] \u83B7\u53D6\u97E9\u5267TV\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",t),new jt({type:"hanjutv",duration:0,segmentList:[{type:"hanjutv",segment_start:0,segment_end:3e4,url:t}]})}async getEpisodeSegmentDanmu(t){return this.getEpisodeDanmu(t.url)}formatComments(t){return t.map(r=>({cid:Number(r.did),p:`${(r.t/1e3).toFixed(2)},${r.tp===2?5:r.tp},${Number(r.sc)},[${r._sourceLabel||"hanjutv"}]`,m:r.con,t:r.t/1e3,like:r.lc,_sourceLabel:r._sourceLabel}))}}});var gS,XEe=oe(()=>{oi();Gt();Ht();Lr();mo();Ws();Ou();GR();Es();Pi();Rm();gS=class extends zt{async search(t){try{let r=[];F.useBangumiData&&(r=await kf(t,["gamer","gamer_hk"]),I("info",`[Bahamut] Bangumi-Data \u672C\u5730\u547D\u4E2D ${r.length} \u6761\u6570\u636E\uFF08\u68C0\u7D22\u8BCD\uFF1A${t}\uFF09`));let n=r.filter(h=>h.video_sn);if(r.length>0&&r.length===n.length)return I("info","[Bahamut] Bangumi-Data \u672C\u5730\u547D\u4E2D\u5747\u542B video_sn\uFF0C\u542F\u7528\u6570\u636E\u6E90\u76F4\u901A\u6A21\u5F0F\uFF08\u8DF3\u8FC7\u641C\u7D22\u63A5\u53E3\uFF09"),r.map(h=>{let m=(h.titles.find(g=>g&&g.includes(t))||h.titles[1]||h.title)+(h.titleSuffix||"");return{video_sn:parseInt(h.video_sn),title:m,_displayTitle:m,isLocalPriority:!0,aliases:[...h.titles],_typeStr:h.typeStr,_fromDataSourceDirectHit:!0,_originalQuery:t,_bangumiBegin:h.begin||null}});let s=Al(t),i=t,a=encodeURIComponent(s);I("info",`[Bahamut] \u539F\u59CB\u641C\u7D22\u8BCD: ${t}`),I("info",`[Bahamut] \u5DF4\u54C8\u4F7F\u7528\u641C\u7D22\u8BCD: ${s}`);let o=new AbortController,c=(async()=>{try{let h=`https://api.gamer.com.tw/mobile_app/anime/v1/search.php?kw=${a}`,p=F.makeProxyUrl(h),m=await Le(p,{headers:{"Content-Type":"application/json","User-Agent":"Anime/2.29.2 (7N5749MM3F.tw.com.gamer.anime; build:972; iOS 26.0.0) Alamofire/5.6.4"},retries:3});if(m&&m.data&&m.data.anime&&m.data.anime.length>0){o.abort();let g=m.data.anime;for(let _ of g)try{_._originalQuery=t,_._searchUsedTitle=s}catch{}return I("info",`[Bahamut] bahamutSearchresp (original): ${JSON.stringify(g)}`),I("info",`[Bahamut] \u8FD4\u56DE ${g.length} \u6761\u7ED3\u679C (source: original)`),{success:!0,data:g,source:"original"}}return I("info","[Bahamut] \u539F\u59CB\u641C\u7D22\u6210\u529F\uFF0C\u4F46\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (source: original)"),{success:!1,source:"original"}}catch(h){return I("error","[Bahamut] \u539F\u59CB\u641C\u7D22\u5931\u8D25:",{message:h.message,name:h.name,stack:h.stack}),{success:!1,source:"original"}}})(),u=(async()=>{try{await new Promise(A=>setTimeout(A,100));let h=await jR(i,o.signal,"Bahamut");if(!h||!h.title)return I("info","[Bahamut] TMDB\u8F6C\u6362\u672A\u8FD4\u56DE\u7ED3\u679C\uFF0C\u53D6\u6D88\u65E5\u8BED\u539F\u540D\u641C\u7D22"),{success:!1,source:"tmdb"};let{title:p,cnAlias:m}=h;I("info",`[Bahamut] \u4F7F\u7528\u65E5\u8BED\u539F\u540D\u8FDB\u884C\u641C\u7D22: ${p}`);let _=`https://api.gamer.com.tw/mobile_app/anime/v1/search.php?kw=${encodeURIComponent(p)}`,y=F.makeProxyUrl(_),E=await Le(y,{headers:{"Content-Type":"application/json","User-Agent":"Anime/2.29.2 (7N5749MM3F.tw.com.gamer.anime; build:972; iOS 26.0.0) Alamofire/5.6.4"},signal:o.signal,retries:3});if(E&&E.data&&E.data.anime&&E.data.anime.length>0){let A=E.data.anime;for(let v of A)try{v._originalQuery=t,v._searchUsedTitle=p,v._tmdbCnAlias=m}catch{}return I("info",`[Bahamut] bahamutSearchresp (TMDB): ${JSON.stringify(A)}`),I("info",`[Bahamut] \u8FD4\u56DE ${A.length} \u6761\u7ED3\u679C (source: tmdb)`),{success:!0,data:A,source:"tmdb"}}return I("info","[Bahamut] \u65E5\u8BED\u539F\u540D\u641C\u7D22\u6210\u529F\uFF0C\u4F46\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (source: tmdb)"),{success:!1,source:"tmdb"}}catch(h){return h.name==="AbortError"?(I("info","[Bahamut] \u539F\u59CB\u641C\u7D22\u6210\u529F\uFF0C\u4E2D\u65AD\u65E5\u8BED\u539F\u540D\u641C\u7D22"),{success:!1,source:"tmdb",aborted:!0}):(I("error","[Bahamut] TMDB\u641C\u7D22\u5931\u8D25:",{message:h.message,name:h.name,stack:h.stack}),{success:!1,source:"tmdb"})}})(),[l,d]=await Promise.all([c,u]),f=[];if(l.success?f=l.data:d.success?f=d.data:I("info","[Bahamut] \u539F\u59CB\u641C\u7D22\u548C\u57FA\u4E8ETMDB\u7684\u641C\u7D22\u5747\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C"),f.length>0&&r.length>0)for(let h of f){if(!h||!h.acg_sn)continue;let p=r.find(m=>String(h.acg_sn)===String(m.siteId))||r.find(m=>h.title&&m.title===h.title);if(p){let m=h.title,_=(p.titles.find(y=>y&&y.includes(t))||p.titles[1]||p.title)+(p.titleSuffix||"");h.title=_,h._displayTitle=_,h.isLocalPriority=!0,h.aliases=[...p.titles],m&&!h.aliases.includes(m)&&h.aliases.push(m),h._typeStr=p.typeStr,I("info",`[Bahamut] \u7F51\u7EDC\u7ED3\u679C [${h.title}] \u6210\u529F\u5BF9\u9F50\u672C\u5730 Bangumi-Data \u6570\u636E`)}}return f}catch(r){return I("error","[Bahamut] getBahamutAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getEpisodes(t){try{let r=`https://api.gamer.com.tw/anime/v1/video.php?videoSn=${t}`,n=F.makeProxyUrl(r),s=await Le(n,{headers:{"Content-Type":"application/json","User-Agent":"Anime/2.29.2 (7N5749MM3F.tw.com.gamer.anime; build:972; iOS 26.0.0) Alamofire/5.6.4"},retries:3});if(!s||!s.data)return I("info","[Bahamut] getBahamutEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[];if(!s.data.data||!s.data.data.video||!s.data.data.anime)return I("info","[Bahamut] getBahamutEposides: video \u6216 anime \u4E0D\u5B58\u5728"),[];let{video:i,anime:a}=s.data.data;return I("info",`[Bahamut] getBahamutEposides: videoSn=${i.videoSn}, animeSn=${a.animeSn}, title=${a.title}, totalEpisode=${a.totalEpisode}, episodes=${JSON.stringify(a.episodes)}`),s.data.data}catch(r){return I("error","[Bahamut] getBahamutEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(t,r,n,s=null,i=null){let a=[],o=/[\u3040-\u309F\u30A0-\u30FF]/.test(r);r=Al(r);function c(g,_,y){if(!g)return!1;let E=String(g),A=String(_||""),v=String(y||"");if(F.strictTitleMatch){if(xA(E,A)||v&&xA(E,v))return!0;try{if(xA(E,Al(A))||xA(E,mr(A))||v&&(xA(E,Al(v))||xA(E,mr(v))))return!0}catch{}return!1}let T=_n(E),C=_n(A),b=v?_n(v):"";if(T.includes(C)||b&&T.includes(b))return!0;try{if(T.includes(_n(Al(A)))||T.includes(_n(mr(A)))||b&&(T.includes(_n(Al(v)))||T.includes(_n(mr(v)))))return!0}catch{}try{if(T.toLowerCase().includes(C.toLowerCase())||b&&T.toLowerCase().includes(b.toLowerCase()))return!0}catch{}return!1}let l=(Array.isArray(t)?t:[]).filter(g=>{let _=g.title||"",y=g._searchUsedTitle||g._originalQuery||"";return o||g._searchUsedTitle&&g._searchUsedTitle!==r?(I("info",`[Bahamut] \u547D\u4E2D\u65E5\u8BED\u5173\u952E\u8BCD\u6216TMDB\u7ED3\u679C\uFF0C\u7ED5\u8FC7\u5339\u914D\u89C4\u5219\u76F4\u63A5\u4FDD\u7559: ${_}`),!0):c(_,r,y)||Array.isArray(g.aliases)&&g.aliases.some(E=>c(E,r,y))});l.forEach(g=>{g._originalTitleAlias=g.title?mr(g.title):""});let d=l.length>0?l[0]._tmdbCnAlias:null;KR(l,d);let f=i!==null?i:ir(r),h=l;if(f!==null){let g=l.filter(_=>{let y=_._displayTitle||_.title,E=Qt(y).season;return E===f||f===1&&E===null});g.length>0&&(h=g,I("info",`[Bahamut] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${f}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let p=new Map,m=await Promise.all(h.map(async g=>{try{let _=String(g.video_sn);p.has(_)||p.set(_,this.getEpisodes(g.video_sn));let y=await p.get(_);if(!y||typeof y!="object"||Array.isArray(y))return null;let E=y.video,A=null;y.anime.episodes&&(A=y.anime.episodes[0]||Object.values(y.anime.episodes)[0]);let v=[];if(A&&Array.isArray(A))for(let T of A){let C=`\u7B2C${T.episode}\u96C6`;v.push({name:T.episode.toString(),url:T.videoSn.toString(),title:`\u3010bahamut\u3011 ${C}`})}if(v.length>0){let T=null;if(g._bangumiBegin&&(T=parseInt(g._bangumiBegin.substring(0,4))),!T&&y.anime&&y.anime.seasonStart&&(T=new Date(y.anime.seasonStart).getFullYear()),!T&&E&&E.upTime){let U=String(E.upTime).match(/(\d{4})/);U&&(T=parseInt(U[1]))}if(!T){let L=(g.info||"").match(/(\d{4})/);L&&(T=parseInt(L[1]))}let C=y.anime&&y.anime.cover||g.cover||E&&E.cover||"",b=g._displayTitle||mr(g.title),x=Array.isArray(g.aliases)?[...g.aliases]:[];g._originalTitleAlias&&g._originalTitleAlias!==b&&!x.includes(g._originalTitleAlias)&&x.push(g._originalTitleAlias);let w=g._typeStr||"\u52A8\u6F2B",P=y.anime&&y.anime.title||E&&E.title||"";P.includes("[\u96FB\u5F71]")?w="\u5267\u573A\u7248":P.includes("[\u7279\u5225\u7BC7]")&&(w="OVA");let M={animeId:g.video_sn,bangumiId:String(g.video_sn),animeTitle:`${b}(${T||"N/A"})\u3010${w}\u3011from bahamut`,aliases:x,type:"\u52A8\u6F2B",typeDescription:"\u52A8\u6F2B",imageUrl:C,startDate:T?An(T):An(y.anime.seasonStart?new Date(y.anime.seasonStart).getFullYear():null),episodeCount:v.length,rating:E.rating,isFavorited:!0,source:"bahamut"};a.push(M),rr({...M,links:v},s),F.animes.length>F.MAX_ANIMES&&ar()}}catch(_){I("error",`[Bahamut] Error processing anime: ${_.message}`)}}));return this.sortAndPushAnimesByYear(a,n),m}async getEpisodeDanmu(t){let r=[];try{let n=`https://api.gamer.com.tw/anime/v1/danmu.php?geo=TW%2CHK&videoSn=${t}`,s=F.makeProxyUrl(n),i=await Le(s,{headers:{"Content-Type":"application/json","User-Agent":"Anime/2.29.2 (7N5749MM3F.tw.com.gamer.anime; build:972; iOS 26.0.0) Alamofire/5.6.4"},retries:3});return i.data&&i.data.data&&i.data.data.danmu&&(r=i.data.data.danmu),r}catch(n){return I("error","[Bahamut] fetchBahamutEpisodeDanmu error:",{message:n.message,name:n.name,stack:n.stack}),r}}async getEpisodeDanmuSegments(t){return I("info","[Bahamut] \u83B7\u53D6\u5DF4\u54C8\u59C6\u7279\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",t),new jt({type:"bahamut",segmentList:[{type:"bahamut",segment_start:0,segment_end:3e4,url:t}]})}async getEpisodeSegmentDanmu(t){return this.getEpisodeDanmu(t.url)}formatComments(t){let r={0:1,1:5,2:4};return t.map(n=>({cid:Number(n.sn),p:`${(n.time/10).toFixed(2)},${r[n.position]||n.tp},${parseInt(n.color.slice(1),16)},[bahamut]`,m:F.danmuSimplifiedTraditional==="simplified"?mr(n.text):n.text,t:n.time/10}))}}});var _S,JEe=oe(()=>{oi();Gt();Ht();Lr();Xi();mo();Ws();Es();Pi();_S=class extends zt{extractAliasesFromHintWords(t){if(!t||typeof t!="string")return[];let r=[],n=i=>{let a=String(i||"").replace(/<\/?em>/g,"").trim();a&&!r.includes(a)&&r.push(a)},s=t.match(/(?:又名|别名)\s*[::]\s*(.+)$/);return s&&s[1].split(/[、,,/|]+/).forEach(n),r}titleOrAliasMatches(t,r,n=null){return $t(t.title,r,n)?!0:Array.isArray(t.aliases)&&t.aliases.some(s=>$t(s,r,n))}filterTencentSearchItem(t,r){if(!t.videoInfo||!t.doc)return null;let n=t.videoInfo,s=t.doc.id;if(!n.year||n.year===0||n.subTitle==="\u5168\u7F51\u641C"||n.playFlag===2)return null;let i=n.title.replace(//g,"").replace(/<\/em>/g,"");if(!i||!s)return null;let a=n.typeName;if(a.includes("\u77ED\u5267")||!["\u7535\u89C6\u5267","\u52A8\u6F2B","\u7535\u5F71","\u7EAA\u5F55\u7247","\u7EFC\u827A","\u7EFC\u827A\u8282\u76EE"].includes(a))return null;let c=a,u=!1,l=!1;n.coverDoc&&(n.coverDoc.richTags&&Array.isArray(n.coverDoc.richTags)&&n.coverDoc.richTags.forEach(p=>{p.text&&p.text.includes("3D")&&(u=!0),p.text&&p.text.includes("2D")&&(l=!0)}),n.coverDoc.tags&&Array.isArray(n.coverDoc.tags)&&n.coverDoc.tags.forEach(p=>{p&&p.includes("3D")&&(u=!0),p&&p.includes("2D")&&(l=!0)})),u?c="3D"+c:l&&(c="2D"+c);let d=(n.playSites||[]).concat(n.episodeSites||[]);if(d.length>0&&!d.some(p=>p.enName==="qq")||a==="\u7535\u5F71"&&["\u82B1\u7D6E","\u5F69\u86CB","\u5E55\u540E","\u72EC\u5BB6","\u89E3\u8BF4","\u7279\u8F91","\u63A2\u73ED","\u62CD\u6444","\u5236\u4F5C","\u5BFC\u6F14","\u8BB0\u5F55","\u56DE\u987E","\u76D8\u70B9","\u6DF7\u526A","\u89E3\u6790","\u62A2\u5148"].some(m=>i.includes(m)))return null;let f=a==="\u7535\u5F71"?1:n.subjectDoc?n.subjectDoc.videoNum:0,h=this.extractAliasesFromHintWords(n.hintWords).filter(p=>p!==i);return{provider:"tencent",mediaId:s,title:i,aliases:h,type:c,year:n.year,imageUrl:n.imgUrl,episodeCount:f}}async search(t){try{I("info",`[Tencent] \u5F00\u59CB\u641C\u7D22: ${t}`);let r="https://pbaccess.video.qq.com/trpc.videosearch.mobile_search.MultiTerminalSearch/MbSearch?vplatform=2",n={version:"25071701",clientType:1,filterValue:"",uuid:"0379274D-05A0-4EB6-A89C-878C9A460426",query:t,retry:0,pagenum:0,isPrefetch:!0,pagesize:30,queryFrom:0,searchDatakey:"",transInfo:"",isneedQc:!0,preQid:"",adClientInfo:"",extraInfo:{multi_terminal_pc:"1",themeType:"1",sugRelatedIds:"{}",appVersion:""}},s={"Content-Type":"application/json",Origin:"https://v.qq.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:`https://v.qq.com/x/search/?q=${encodeURIComponent(t)}&stag=&smartbox_ab=`,H38:"220496a1fb1498325e9be6d938",H42:"335a00a80ab9bbbef56793d8e7a97e87b9341dee34ebd83d61afc0cdb303214caaece3",Uk:"8e91af25d3af99d0f0640327e7307666",Cookie:"tvfe_boss_uuid=ee8f05103d59226f; pgv_pvid=3155633511; video_platform=2; ptag=v_qq_com; main_login=qq"},i=await Fn(r,JSON.stringify(n),{headers:s});if(!i||!i.data)return I("info","[Tencent] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(a.ret!==0)return I("error",`[Tencent] API\u8FD4\u56DE\u9519\u8BEF: ${a.msg} (ret: ${a.ret})`),[];let o=[];if(a.data&&a.data.areaBoxList){for(let u of a.data.areaBoxList)if(u.boxId==="MainNeed"&&u.itemList){I("info",`[Tencent] \u4ECE MainNeed box \u627E\u5230 ${u.itemList.length} \u4E2A\u9879\u76EE`),o=u.itemList;break}}if(o.length===0&&a.data&&a.data.normalList&&a.data.normalList.itemList&&(I("info","[Tencent] MainNeed box \u672A\u627E\u5230\uFF0C\u4F7F\u7528 normalList"),o=a.data.normalList.itemList),a.data&&a.data.areaBoxList){for(let u of a.data.areaBoxList)if(u.itemList&&u.boxTitle&&Array.isArray(u.boxTitle.boxTitles)&&u.boxTitle.boxTitles.includes("\u76F8\u5173\u5F71\u89C6")){let l=u.itemList.filter(d=>d.videoInfo&&d.videoInfo.title&&d.videoInfo.title.includes(t));l.length>0?(I("info",`[Tencent] \u8FFD\u52A0\u300C\u76F8\u5173\u5F71\u89C6\u300Dbox \u4E2D\u5339\u914D "${t}" \u7684 ${l.length} \u4E2A\u9879\u76EE`),o=[...o,...l]):I("info",`[Tencent] \u300C\u76F8\u5173\u5F71\u89C6\u300Dbox \u4E2D\u65E0\u5339\u914D "${t}" \u7684\u9879\u76EE`);break}}if(o.length===0)return I("info","[Tencent] \u641C\u7D22\u65E0\u7ED3\u679C"),[];let c=[];for(let u of o){let l=this.filterTencentSearchItem(u,t);l&&c.push(l)}return I("info",`[Tencent] \u641C\u7D22\u627E\u5230 ${c.length} \u4E2A\u6709\u6548\u7ED3\u679C`),c}catch(r){return I("error","[Tencent] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getEpisodes(t){try{I("info",`[Tencent] \u83B7\u53D6\u5206\u96C6\u5217\u8868: cid=${t}`);let r="https://pbaccess.video.qq.com/trpc.universal_backend_service.page_server_rpc.PageServer/GetPageData?video_appid=3000010&vversion_name=8.2.96&vversion_platform=2",n={has_cache:1,page_params:{req_from:"web_vsite",page_id:"vsite_episode_list",page_type:"detail_operation",id_type:"1",page_size:"",cid:t,vid:"",lid:"",page_num:"",page_context:`cid=${t}&detail_page_type=1&req_from=web_vsite&req_from_second_type=&req_type=0`,detail_page_type:"1"}},s={"Content-Type":"application/json",Origin:"https://v.qq.com",Referer:`https://v.qq.com/x/cover/${t}.html`,"User-Agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1",Accept:"application/json","Accept-Language":"zh-CN,zh;q=0.9"},i=await Fn(r,JSON.stringify(n),{headers:s});if(!i||!i.data)return I("info","[Tencent] \u5206\u96C6\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(a.ret!==0)return I("error",`[Tencent] \u5206\u96C6API\u8FD4\u56DE\u9519\u8BEF: ret=${a.ret}`),[];let o=[];if(a.data&&a.data.module_list_datas)for(let u of a.data.module_list_datas){for(let l of u.module_datas)if(l.module_params&&l.module_params.tabs)try{o=JSON.parse(l.module_params.tabs);break}catch(d){I("error","[Tencent] \u89E3\u6790tabs\u5931\u8D25:",d.message)}if(o.length>0)break}let c=[];if(o.length===0){if(I("info","[Tencent] \u672A\u627E\u5230\u5206\u9875\u4FE1\u606F,\u5C1D\u8BD5\u4ECE\u521D\u59CB\u54CD\u5E94\u4E2D\u63D0\u53D6\u5206\u96C6"),a.data&&a.data.module_list_datas){for(let u of a.data.module_list_datas)for(let l of u.module_datas)if(l.item_data_lists&&l.item_data_lists.item_datas)for(let d of l.item_data_lists.item_datas)d.item_params&&d.item_params.vid&&d.item_params.is_trailer!=="1"&&c.push({vid:d.item_params.vid,title:d.item_params.title,unionTitle:d.item_params.union_title||d.item_params.title})}if(c.length===0)return I("info","[Tencent] \u521D\u59CB\u54CD\u5E94\u4E2D\u4E5F\u672A\u627E\u5230\u5206\u96C6\u4FE1\u606F"),[];I("info",`[Tencent] \u4ECE\u521D\u59CB\u54CD\u5E94\u4E2D\u63D0\u53D6\u5230 ${c.length} \u96C6`)}else{I("info",`[Tencent] \u627E\u5230 ${o.length} \u4E2A\u5206\u9875`);for(let u of o){if(!u.page_context)continue;let l={has_cache:1,page_params:{req_from:"web_vsite",page_id:"vsite_episode_list",page_type:"detail_operation",id_type:"1",page_size:"",cid:t,vid:"",lid:"",page_num:"",page_context:u.page_context,detail_page_type:"1"}},d=await Fn(r,JSON.stringify(l),{headers:s});if(!d||!d.data)continue;let f=typeof d.data=="string"?JSON.parse(d.data):d.data;if(!(f.ret!==0||!f.data)&&f.data.module_list_datas){for(let h of f.data.module_list_datas)for(let p of h.module_datas)if(p.item_data_lists&&p.item_data_lists.item_datas)for(let m of p.item_data_lists.item_datas)m.item_params&&m.item_params.vid&&m.item_params.is_trailer!=="1"&&c.push({vid:m.item_params.vid,title:m.item_params.title,unionTitle:m.item_params.union_title||m.item_params.title})}}}return I("info",`[Tencent] \u5171\u83B7\u53D6 ${c.length} \u96C6`),c}catch(r){return I("error","[Tencent] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}async handleAnimes(t,r,n,s=null,i=null){let a=[];if(!t||!Array.isArray(t))return I("error","[Tencent] sourceAnimes is not a valid array"),[];let o=t.filter(l=>this.titleOrAliasMatches(l,r,i)),c=i!==null?i:ir(r);if(c!==null){let l=o.filter(d=>{let f=Qt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,I("info",`[Tencent] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=[];for(let h=0;h0){let h=d[0].unionTitle||d[0].title||"\u7B2C1\u96C6",p=l.title,m=h.match(/\[.+版\]/);m&&h.includes(l.title)&&(p=`${l.title}${m[0]}`);let _={animeId:Qn(l.mediaId),bangumiId:l.mediaId,animeTitle:`${p}(${l.year})\u3010${l.type}\u3011from tencent`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:An(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"tencent",aliases:l.aliases||[]};a.push(_),rr({..._,links:f},s),F.animes.length>F.MAX_ANIMES&&ar()}}catch(d){I("error",`[Tencent] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}extractVid(t){let r=t;if(typeof t=="string"&&(t.startsWith("http")||t.includes("vid="))){let n=t.match(/[?&]vid=([^&]+)/);if(n)r=n[1];else{let s=t.split("/");r=s[s.length-1].split(".")[0]}}return r}async getEpisodeDanmu(t){I("info","[Tencent] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u817E\u8BAF\u89C6\u9891\u5F39\u5E55...",t);let r=this.extractVid(t);I("info",`[Tencent] vid: ${r}`);let n;try{n=await Le(t,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})}catch(l){return I("error","[Tencent] \u8BF7\u6C42\u9875\u9762\u5931\u8D25:",l),[]}let s=n.data.match(/]*>(.*?)<\/title>/i),i=s?s[1].split("_")[0]:"\u672A\u77E5\u6807\u9898";I("info",`[Tencent] \u6807\u9898: ${i}`);let a=await this.getEpisodeDanmuSegments(t);if(!a||!a.segmentList||a.segmentList.length===0)return[];let o=a.segmentList;I("info",`[Tencent] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${o.length}`);let c=[];for(let l of o)c.push(Le(l.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}));let u=[];try{(await Promise.allSettled(c)).filter(f=>f.status==="fulfilled").map(f=>f.value&&f.value.data?f.value.data:null).filter(f=>f!==null).forEach(f=>{f=typeof f=="string"?JSON.parse(f):f,u.push(...f.barrage_list)})}catch(l){return I("error","[Tencent] \u89E3\u6790\u5F39\u5E55\u6570\u636E\u5931\u8D25:",l),[]}return pi(u),u}async getEpisodeDanmuSegments(t){I("info","[Tencent] \u83B7\u53D6\u817E\u8BAF\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",t);let r="https://dm.video.qq.com/barrage/base/",n="https://dm.video.qq.com/barrage/segment/",s=this.extractVid(t);I("info",`[Tencent] \u83B7\u53D6\u5F39\u5E55\u5206\u6BB5\u5217\u8868 - vid: ${s}`);let i;try{i=await Le(r+s,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})}catch(u){return u.response?.status===404?new jt({type:"qq",segmentList:[]}):(I("error","[Tencent] \u8BF7\u6C42\u5F39\u5E55\u57FA\u7840\u6570\u636E\u5931\u8D25:",u),new jt({type:"qq",segmentList:[]}))}let a=typeof i.data=="string"?JSON.parse(i.data):i.data,o=[],c=Object.values(a.segment_index);for(let u of c)o.push({type:"qq",segment_start:(Number(u.segment_start)||0)/1e3,segment_end:(Number(u.segment_name.split("/").pop())||0)/1e3,url:`${n}${s}/${u.segment_name}`});return new jt({type:"qq",segmentList:o})}async getEpisodeSegmentDanmu(t){try{let r=await Le(t.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}),n=[];if(r&&r.data){let s=typeof r.data=="string"?JSON.parse(r.data):r.data;n.push(...s.barrage_list)}return n}catch(r){return I("error","[Tencent] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(t){return t.map(r=>{let n={timepoint:r.time_offset/1e3,ct:1,size:25,color:16777215,unixtime:Math.floor(Date.now()/1e3),uid:0,content:r.content};if(r.content_style&&r.content_style!=="")try{let s=JSON.parse(r.content_style);s.gradient_colors&&s.gradient_colors.length>0?n.color=parseInt(s.gradient_colors[0].replace("#",""),16):s.color&&s.color!=="ffffff"&&(n.color=parseInt(s.color.replace("#",""),16)),s.position===2?n.ct=5:s.position===3&&(n.ct=4)}catch{}return n.like=parseInt(r.up_count)||0,n})}}});var AS,ZEe=oe(()=>{oi();Ht();Lr();Es();Xi();mo();Ws();Gt();Pi();AS=class e extends zt{static XOR_KEY=0x75706971676c;static SECRET_KEY="howcuteitis";static KEY_NAME="secret_key";async search(t){try{I("info",`[iQiyi] \u5F00\u59CB\u641C\u7D22: ${t}`);let r={key:t,current_page:"1",mode:"1",source:"input",suggest:"",pcv:"13.074.22699",version:"13.074.22699",pageNum:"1",pageSize:"25",pu:"",u:"f6440fc5d919dca1aea12b6aff56e1c7",scale:"200",token:"",userVip:"0",conduit:"",vipType:"-1",os:"",osShortName:"win10",dataType:"",appMode:"",ad:JSON.stringify({lm:3,azd:0xe8d4a513b7,azt:733,position:"feed"}),adExt:JSON.stringify({r:"2.1.5-ares6-pure"})},s=`https://mesh.if.iqiyi.com/portal/lw/search/homePageV3?${lo(r)}`,i=async()=>{let l=await Le(s,{headers:{accept:"*/*",origin:"https://www.iqiyi.com",referer:"https://www.iqiyi.com/","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});return!l||!l.data?null:typeof l.data=="string"?JSON.parse(l.data):l.data},a=2,o=await i();for(let l=0;lsetTimeout(f,1500)),o=await i()}if(!o)return I("info","[iQiyi] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];if(o.code==="-1")return I("info","[iQiyi] \u641C\u7D22\u63A5\u53E3\u98CE\u63A7 (code=-1)\uFF0C\u91CD\u8BD5\u540E\u4ECD\u5931\u8D25"),I("info",`[iQiyi] \u641C\u7D22\u539F\u59CB\u6570\u636E: ${JSON.stringify(o)}`),[];if(!o.data||!o.data.templates)return I("info","[iQiyi] \u641C\u7D22\u65E0\u7ED3\u679C"),I("info",`[iQiyi] \u641C\u7D22\u539F\u59CB\u6570\u636E: ${JSON.stringify(o)}`),[];let c=[],u=o.data.templates;for(let l of u){let d=[];l.template===112&&l.intentAlbumInfos?(I("info",`[iQiyi] \u627E\u5230\u610F\u56FE\u5361\u7247 (template 112)\uFF0C\u5904\u7406 ${l.intentAlbumInfos.length} \u4E2A\u7ED3\u679C`),d=l.intentAlbumInfos):[101,102,103].includes(l.template)&&l.albumInfo&&(I("info",`[iQiyi] \u627E\u5230\u666E\u901A\u7ED3\u679C\u5361\u7247 (template ${l.template})`),d=[l.albumInfo]);for(let f of d){let h=this._filterIqiyiSearchItem(f,t);h&&c.push(h)}}return I("info",`[iQiyi] \u641C\u7D22\u627E\u5230 ${c.length} \u4E2A\u6709\u6548\u7ED3\u679C`),c}catch(r){return I("error","[iQiyi] \u641C\u7D22\u51FA\u9519:",r.message),[]}}_filterIqiyiSearchItem(t,r){if(!t.title)return null;if(t.btnText==="\u5916\u7AD9\u4ED8\u8D39\u64AD\u653E")return I("info",`[iQiyi] \u8FC7\u6EE4\u6389\u5916\u7AD9\u4ED8\u8D39\u64AD\u653E\u5185\u5BB9: ${t.title}`),null;let n=t.channel||"",s="\u7535\u89C6\u5267";if(n.includes("\u7535\u5F71"))s="\u7535\u5F71";else if(n.includes("\u52A8\u6F2B"))s="\u52A8\u6F2B";else if(n.includes("\u7EFC\u827A"))s="\u7EFC\u827A";else if(n.includes("\u7EAA\u5F55\u7247"))s="\u7EAA\u5F55\u7247";else if(n.includes("\u7535\u89C6\u5267"))s="\u7535\u89C6\u5267";else return null;let i=!1,a=!1;if(t.metaTags&&Array.isArray(t.metaTags)&&t.metaTags.forEach(h=>{h.name==="3D"&&(i=!0),h.name==="2D"&&(a=!0)}),t.baseTags&&Array.isArray(t.baseTags)&&t.baseTags.forEach(h=>{h.value==="3D"&&(i=!0),h.value==="2D"&&(a=!0)}),i?s="3D"+s:a&&(s="2D"+s),s.includes("\u7535\u5F71")){let h=t.qipuId||t.playQipuId;if(!h)return I("info",`[iQiyi] \u7535\u5F71\u7F3A\u5C11 qipuId: ${t.title}`),null;let p=null;if(t.year){let g=t.year.value||t.year.name;g&&typeof g=="string"&&g.length===4&&/^\d{4}$/.test(g)&&(p=parseInt(g))}let m=t.title.replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A");return{provider:"iqiyi",mediaId:`movie_${h}`,title:m,type:s,year:p,imageUrl:t.img||t.imgH,episodeCount:1,_qipuId:h}}let o=t.pageUrl;if(!o)return I("info",`[iQiyi] \u975E\u7535\u5F71\u5185\u5BB9\u7F3A\u5C11 pageUrl: ${t.title}`),null;let c=o.match(/v_(\w+?)\.html/);if(!c)return I("info",`[iQiyi] \u65E0\u6CD5\u4ECE pageUrl \u63D0\u53D6 link_id: ${o}`),null;let u=c[1],l=null;if(t.year){let h=t.year.value||t.year.name;h&&typeof h=="string"&&h.length===4&&/^\d{4}$/.test(h)&&(l=parseInt(h))}let d=null;if(t.videos&&t.videos.length>0)d=t.videos.length;else if(t.subscriptContent){let h=t.subscriptContent.match(/(?:更新至|全|共)\s*(\d+)\s*(?:集|话|期)/);if(h)d=parseInt(h[1]);else{let p=t.subscriptContent.trim().match(/^(\d+)$/);p&&(d=parseInt(p[1]))}}let f=t.title.replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A");return{provider:"iqiyi",mediaId:u,title:f,type:s,year:l,imageUrl:t.img||t.imgH,episodeCount:d}}async getEpisodes(t){try{if(I("info",`[iQiyi] \u83B7\u53D6\u5206\u96C6\u5217\u8868: media_id=${t}`),t.startsWith("movie_")){let h=t.substring(6);I("info",`[iQiyi] \u7535\u5F71\u7C7B\u578B\uFF0C\u8C03\u7528 base_info API \u83B7\u53D6\u89C6\u9891ID: qipuId=${h}`);let p=await this._getMovieVideoId(h);return p?(I("info",`[iQiyi] \u7535\u5F71\u89C6\u9891ID: ${p}`),[{id:p,title:"\u6B63\u7247",order:1,link:`https://www.iqiyi.com/v_${p}.html`}]):(I("error",`[iQiyi] \u65E0\u6CD5\u83B7\u53D6\u7535\u5F71\u7684\u89C6\u9891ID: qipuId=${h}`),[])}let r=/^\d+$/.test(t)?t:this._videoIdToEntityId(t);if(!r)return I("error",`[iQiyi] \u65E0\u6CD5\u5C06 media_id '${t}' \u8F6C\u6362\u4E3A entity_id`),[];let n={entity_id:r,device_id:"qd5fwuaj4hunxxdgzwkcqmefeb3ww5hx",auth_cookie:"",user_id:"0",vip_type:"-1",vip_status:"0",conduit_id:"",pcv:"13.082.22866",app_version:"13.082.22866",ext:"",app_mode:"standard",scale:"100",timestamp:String(Date.now()),src:"pca_tvg",os:"",ad_ext:'{"r":"2.2.0-ares6-pure"}'};n.sign=this._createSign(n);let i=`https://www.iqiyi.com/prelw/tvg/v2/lw/base_info?${lo(n)}`,a=await Le(i,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.iqiyi.com/"}});if(!a||!a.data)return I("error","[iQiyi] \u83B7\u53D6\u5206\u96C6\u54CD\u5E94\u4E3A\u7A7A"),[];let o=typeof a.data=="string"?JSON.parse(a.data):a.data;if(o.status_code!==0||!o.data||!o.data.template)return I("error",`[iQiyi] API \u8FD4\u56DE\u9519\u8BEF\uFF0Cstatus_code: ${o.status_code}`),[];let c=[],u=o.data.template.tabs||[];if(u.length===0)return I("info","[iQiyi] \u672A\u627E\u5230\u5206\u96C6\u6807\u7B7E\u9875"),[];let l=u[0].blocks||[],d=!1;for(let h of l)if(h.bk_type==="video_list"&&h.data?.data){if(I("info",`[iQiyi] \u627E\u5230 video_list \u7C7B\u578B\u7684\u5206\u96C6\u6570\u636E\u5757, bk_id: ${h.bk_id}`),!h.tag||!h.tag.includes("episodes")){I("info",`[iQiyi] \u8DF3\u8FC7\u975E\u5206\u96C6\u5757: ${h.bk_id}`);continue}d=!0;let p=h.data.data;if(!Array.isArray(p)){I("warn","[iQiyi] data.data \u4E0D\u662F\u6570\u7EC4\uFF0C\u8DF3\u8FC7\u6B64\u5757");continue}for(let m of p)if(!(!m.videos||!Array.isArray(m.videos))){for(let g of m.videos)if(!(!g.data||!Array.isArray(g.data)))for(let _ of g.data){if(_.content_type!==1)continue;let E=(_.play_url||"").match(/tvid=(\d+)/);if(!E)continue;let A=E[1],v=_.short_display_name||_.title||"\u672A\u77E5\u5206\u96C6",T=_.subtitle;T&&!v.includes(T)&&(v=`${v} ${T}`);let C=_.album_order,b=_.page_url;A&&v&&b&&c.push({id:A,title:v,order:C!==void 0?C:c.length,link:b})}}}else if(h.bk_type==="album_episodes"&&h.data?.data){I("info","[iQiyi] \u627E\u5230 album_episodes \u7C7B\u578B\u7684\u5206\u96C6\u6570\u636E\u5757"),d=!0;let p=h.data.data;for(let m of p){let g=m.videos;if(typeof g=="string"){I("info",`[iQiyi] \u53D1\u73B0\u5206\u5B63URL\uFF0C\u6B63\u5728\u83B7\u53D6: ${g}`);try{let _=await Le(g);g=typeof _.data=="string"?JSON.parse(_.data):_.data}catch(_){I("error",`[iQiyi] \u83B7\u53D6\u5206\u5B63\u6570\u636E\u5931\u8D25: ${_.message}`);continue}}if(g&&typeof g=="object"&&g.feature_paged)for(let _ in g.feature_paged){let y=g.feature_paged[_];for(let E of y){if(E.content_type!==1)continue;let v=(E.play_url||"").match(/tvid=(\d+)/);if(!v)continue;let T=v[1],C=E.short_display_name||E.title||"\u672A\u77E5\u5206\u96C6",b=E.subtitle;b&&!C.includes(b)&&(C=`${C} ${b}`);let x=E.album_order,w=E.page_url;T&&C&&x&&w&&c.push({id:T,title:C,order:x,link:w})}}}}if(!d)return I("info","[iQiyi] \u672A\u627E\u5230\u5206\u96C6\u6570\u636E\u5757"),[];let f=Array.from(new Map(c.map(h=>[h.id,h])).values());return f.sort((h,p)=>h.order-p.order),I("info",`[iQiyi] \u6210\u529F\u83B7\u53D6 ${f.length} \u4E2A\u5206\u96C6`),f}catch(r){return I("error","[iQiyi] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}async _getMovieVideoId(t){try{let r={entity_id:t,device_id:"qd5fwuaj4hunxxdgzwkcqmefeb3ww5hx",auth_cookie:"",user_id:"0",vip_type:"-1",vip_status:"0",conduit_id:"",pcv:"13.103.23529",app_version:"13.103.23529",ext:"",app_mode:"standard",scale:"125",timestamp:String(Date.now()),src:"pca_tvg",os:"",ad_ext:'{"r":"2.5.0-ares6-pure"}'};r.sign=this._createSign(r);let s=`https://mesh.if.iqiyi.com/tvg/v2/lw/base_info?${lo(r)}`;I("info",`[iQiyi] \u8BF7\u6C42\u7535\u5F71\u8BE6\u60C5: ${s}`);let i=await Le(s,{headers:{accept:"*/*",origin:"https://www.iqiyi.com",referer:"https://www.iqiyi.com/","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!i||!i.data)return I("error","[iQiyi] base_info API \u54CD\u5E94\u4E3A\u7A7A"),null;let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(a.data&&a.data.base_data){let o=a.data.base_data;if(o.share_url){let c=o.share_url.match(/v_(\w+)\.html/);if(c){let u=c[1];return I("info",`[iQiyi] \u4ECE share_url \u63D0\u53D6\u89C6\u9891ID: ${u}`),u}}if(o.page_url){let c=o.page_url.match(/v_(\w+)\.html/);if(c){let u=c[1];return I("info",`[iQiyi] \u4ECE page_url \u63D0\u53D6\u89C6\u9891ID: ${u}`),u}}}return I("error","[iQiyi] base_info API \u54CD\u5E94\u4E2D\u672A\u627E\u5230\u89C6\u9891ID"),I("info",`[iQiyi] \u54CD\u5E94\u6570\u636E\u7ED3\u6784: ${JSON.stringify(a).substring(0,1e3)}...`),null}catch(r){return I("error",`[iQiyi] \u83B7\u53D6\u7535\u5F71\u89C6\u9891ID\u65F6\u51FA\u9519: ${r.message}`),null}}_videoIdToEntityId(t){try{let r=parseInt(t,36),n=this._xorOperation(r),s=n<9e5?100*(n+9e5):n;return String(s)}catch(r){return I("error",`[iQiyi] \u5C06 video_id '${t}' \u8F6C\u6362\u4E3A entity_id \u65F6\u51FA\u9519: ${r.message}`),null}}_xorOperation(t){let r=t.toString(2),n=e.XOR_KEY.toString(2),s=r.split("").reverse(),i=n.split("").reverse(),a=[],o=Math.max(s.length,i.length);for(let u=0;u$t(l.title,r,i)),c=i!==null?i:ir(r);if(c!==null){let l=o.filter(d=>{let f=Qt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,I("info",`[iQiyi] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=[];for(let h of d){let p=h.link||`https://www.iqiyi.com/v_${l.mediaId}.html`;f.push({name:h.order.toString(),url:p,title:`\u3010qiyi\u3011 ${h.title}`})}if(f.length>0){let p={animeId:Qn(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from iqiyi`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:An(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"iqiyi"};a.push(p),rr({...p,links:f},s),F.animes.length>F.MAX_ANIMES&&ar()}}catch(d){I("error",`[iQiyi] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(t){I("info","[iQiyi] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u7231\u5947\u827A\u5F39\u5E55...",t);let r;try{r=await Le(t,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})}catch(u){return I("error","[iQiyi] \u8BF7\u6C42\u9875\u9762\u5931\u8D25:",u),[]}let n=r.data.match(/]*>(.*?)<\/title>/i),s=n?n[1].split("_")[0]:"\u672A\u77E5\u6807\u9898";I("info",`[iQiyi] \u6807\u9898: ${s}`);let i=await this.getEpisodeDanmuSegments(t);if(!i||!i.segmentList||i.segmentList.length===0)return[];let a=i.segmentList;I("info",`[iQiyi] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${a.length}`);let o=[];for(let u of a)o.push(this.getEpisodeSegmentDanmu(u));let c=[];try{(await Promise.allSettled(o)).filter(d=>d.status==="fulfilled").map(d=>d.value).filter(d=>d!==null).forEach(d=>{c.push(...d)})}catch(u){return I("error","[iQiyi] \u89E3\u6790\u5F39\u5E55\u6570\u636E\u5931\u8D25:",u),[]}return pi(c),c}async getEpisodeDanmuSegments(t){I("info","[iQiyi] \u83B7\u53D6\u7231\u5947\u827A\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",t);let r="https://pcw-api.iq.com/api/decode/",n="https://pcw-api.iqiyi.com/video/video/baseinfo/",s;try{let d=t.match(/v_(\w+)/);if(!d)return I("error","[iQiyi] \u65E0\u6CD5\u4ECE URL \u4E2D\u63D0\u53D6 tvid"),new jt({type:"qiyi",segmentList:[]});s=d[1],I("info",`[iQiyi] tvid: ${s}`);let f=`${r}${s}?platformId=3&modeCode=intl&langCode=sg`,h=await Le(f,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});s=(typeof h.data=="string"?JSON.parse(h.data):h.data).data.toString(),I("info",`[iQiyi] \u89E3\u7801\u540E tvid: ${s}`)}catch(d){return I("error","[iQiyi] \u8BF7\u6C42\u89E3\u7801\u4FE1\u606F\u5931\u8D25:",d),new jt({type:"qiyi",segmentList:[]})}let i;try{let d=`${n}${s}`,f=await Le(d,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),p=(typeof f.data=="string"?JSON.parse(f.data):f.data).data;if(i=Number(p.durationSec)||0,p.displayBarrage===!1)return I("info","[iQiyi] \u7231\u5947\u827A\u89C6\u9891\u672A\u5F00\u542F\u5F39\u5E55"),new jt({type:"qiyi",duration:i,segmentList:[]});I("info",`[iQiyi] \u65F6\u957F: ${i}`)}catch(d){return I("error","[iQiyi] \u8BF7\u6C42\u89C6\u9891\u57FA\u7840\u4FE1\u606F\u5931\u8D25:",d),new jt({type:"qiyi",segmentList:[]})}let a=60,o=Math.ceil(i/a);I("info",`[iQiyi] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${o}`);let c=[],u=`0000${s}`,l=`${u.slice(-4,-2)}/${u.slice(-2)}`;for(let d=0;d(.*?)`,"g");return t.match(c)?.map(u=>u.substring(o.length+2,u.length-o.length-3))||[]}let n=r("content"),s=r("showTime"),i=r("color"),a=r("likeCount");return n.map((o,c)=>({content:o,showTime:s[c],color:i[c],like:parseInt(a[c],10)||0}))}_parseIqiyiProtoDanmu(t){let r=[],n=this._parseIqiyiProtoFields(t);for(let s of n){if(s.number!==6||!s.bytes)continue;let i=this._parseIqiyiProtoFields(s.bytes),a=this._getIqiyiProtoString(i,1);for(let o of i){if(o.number!==2||!o.bytes)continue;let c=this._parseIqiyiProtoFields(o.bytes),u=this._getIqiyiProtoString(c,2);u&&r.push({content:u,showTime:this._getIqiyiProtoString(c,6)||a||"0",color:this._getIqiyiProtoString(c,8)||"ffffff",like:parseInt(this._getIqiyiProtoString(c,14),10)||0})}}return r}_parseIqiyiProtoFields(t){let r=[],n=0,s=new TextDecoder("utf-8");for(;n>3n),c=Number(a&7n);if(o===0)break;if(c===0){let u=this._readIqiyiVarint(t,n);r.push({number:o,wireType:c,value:u.value.toString()}),n=u.offset}else if(c===1)r.push({number:o,wireType:c}),n+=8;else if(c===2){let u=this._readIqiyiVarint(t,n),l=Number(u.value);n=u.offset;let d=n+l;if(d>t.length)break;let f=t.subarray(n,d);r.push({number:o,wireType:c,bytes:f,value:s.decode(f)}),n=d}else if(c===5)r.push({number:o,wireType:c}),n+=4;else break}return r}_readIqiyiVarint(t,r){let n=0n,s=0n,i=r;for(;in.number===r)?.value||""}formatComments(t){return t.map(r=>{let n={timepoint:0,ct:1,size:25,color:16777215,unixtime:Math.floor(Date.now()/1e3),uid:0,content:""};return n.timepoint=parseFloat(r.showTime),n.color=parseInt(r.color,16),n.content=vm(r.content),n.size=25,n.like=r.like,n})}}});var ES,eye=oe(()=>{oi();Gt();Ht();Lr();Es();mo();NA();Xi();Ws();Pi();ES=class extends zt{transformV2Color(t){if(!t)return-1;let n=xle(t.color_left),s=xle(t.color_right);return n===-1&&s===-1?-1:n===-1?s:s===-1?n:Math.floor((n+s)/2)}_extractMediaType(t){let r=(t||"").toLowerCase();return r.includes("\u7535\u5F71")||r.includes("movie")?"\u7535\u5F71":r.includes("\u52A8\u6F2B")||r.includes("\u52A8\u753B")||r.includes("anime")?"\u52A8\u6F2B":r.includes("\u7EFC\u827A")||r.includes("\u771F\u4EBA\u79C0")||r.includes("variety")?"\u7EFC\u827A":r.includes("\u7EAA\u5F55\u7247")||r.includes("documentary")?"\u7EAA\u5F55\u7247":(r.includes("\u7535\u89C6\u5267")||r.includes("\u5267\u96C6")||r.includes("drama")||r.includes("tv"),"\u7535\u89C6\u5267")}async search(t){try{I("info",`[Mango] \u5F00\u59CB\u641C\u7D22: ${t}`);let n=`https://mobileso.bz.mgtv.com/msite/search/v2?q=${encodeURIComponent(t)}&pc=30&pn=1&sort=-99&ty=0&du=0&pt=0&corr=1&abroad=0&_support=10000000000000000`,s=await Le(n,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Accept:"application/json",Referer:"https://www.mgtv.com/"}});if(!s||!s.data)return I("info","[Mango] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let i=typeof s.data=="string"?JSON.parse(s.data):s.data;if(!i.data||!i.data.contents)return I("info","[Mango] \u641C\u7D22\u65E0\u7ED3\u679C"),[];let a=[];for(let o of i.data.contents)if(o.type==="media")for(let c of o.data){if(c.source!=="imgo")continue;let u=c.url?c.url.match(/\/b\/(\d+)/):null;if(!u)continue;let l=u[1],d=c.title?c.title.replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"):"",f=c.desc&&c.desc[0]?c.desc[0].match(/[12][890][0-9][0-9]/):null,h=f?parseInt(f[0]):null,p=c.desc&&c.desc[0]?c.desc[0].split("/")[0].replace("\u7C7B\u578B:","").trim():"",m=this._extractMediaType(p);a.push({provider:"imgo",mediaId:l,title:d,type:m,year:h,imageUrl:c.img||null,episodeCount:c.videoCount||null})}return I("info",`[Mango] \u641C\u7D22\u627E\u5230 ${a.length} \u4E2A\u6709\u6548\u7ED3\u679C`),a}catch(r){return I("error","[Mango] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getEpisodes(t){try{I("info",`[Mango] \u83B7\u53D6\u5206\u96C6\u5217\u8868: collection_id=${t}`);let r=[],n="",s=0,i=1;for(;s0&&r.push(...d.data.list.filter(f=>f.src_clip_id===t)),s===0&&(i=d.data.tab_m&&d.data.tab_m.length>0?d.data.tab_m.length:1,I("info",`[Mango] \u68C0\u6D4B\u5230 ${i} \u4E2A\u6708\u4EFD\u5206\u9875`)),s++,s{let l=`${u.t2||""} ${u.t1||""}`.trim();return u.isnew==="2"?(I("info",`[Mango] \u8FC7\u6EE4\u9884\u544A\u7247: ${l}`),!1):a.test(l)?(I("info",`[Mango] \u9ED1\u540D\u5355\u8FC7\u6EE4: ${l}`),!1):!0}),c=this._processVarietyEpisodes(o);return I("info",`[Mango] \u5171\u83B7\u53D6 ${c.length} \u96C6`),c}catch(r){return I("error","[Mango] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}async _getMovieEpisode(t){try{I("info",`[Mango] \u83B7\u53D6\u7535\u5F71\u6B63\u7247: collection_id=${t}`);let r=`https://pcweb.api.mgtv.com/variety/showlist?allowedRC=1&collection_id=${t}&month=&page=1&_support=10000000`,n=await Le(r,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.mgtv.com/"}});if(!n||!n.data)return I("info","[Mango] \u672A\u627E\u5230\u7535\u5F71\u4FE1\u606F"),null;let s=typeof n.data=="string"?JSON.parse(n.data):n.data;if(!s.data||!s.data.list||s.data.list.length===0)return I("info","[Mango] \u7535\u5F71\u5217\u8868\u4E3A\u7A7A"),null;let i=s.data.list.find(a=>a.isIntact==="1");return i||(i=s.data.list.find(a=>a.isnew!=="2")),i||(i=s.data.list[0]),I("info",`[Mango] \u627E\u5230\u7535\u5F71\u6B63\u7247: ${i.t3||i.t1||"\u6B63\u7247"}`),i}catch(r){return I("error","[Mango] \u83B7\u53D6\u7535\u5F71\u6B63\u7247\u51FA\u9519:",r.message),null}}_processVarietyEpisodes(t){if(!t||t.length===0)return[];I("info",`[Mango] \u7EFC\u827A\u5904\u7406\u5F00\u59CB\uFF0C\u539F\u59CB\u5206\u96C6\u6570: ${t.length}`);let r=t.some(i=>{let a=`${i.t2||""} ${i.t1||""}`.trim();return/第\d+期/.test(a)});I("info",`[Mango] \u7EFC\u827A\u683C\u5F0F\u5206\u6790: \u6709\u671F\u6570\u683C\u5F0F=${r}`);let n=[],s=new Map;for(let i of t){let a=`${i.t2||""} ${i.t1||""}`.trim();if(r){let o=a.match(/第(\d+)期([上中下])/),c=a.match(/第(\d+)期/),u=/第\d+期[上中下]/.test(a);if(o){let l=o[1],d=o[2],f=`\u7B2C${l}\u671F${d}`,h=a.substring(a.indexOf(f)+f.length);/^(加更|会员版|纯享版|特别版|独家版|Plus|\+|花絮|预告|彩蛋|抢先|精选|未播|回顾|特辑|幕后)/.test(h)?I("info",`[Mango] \u7EFC\u827A\u8FC7\u6EE4\u4E0A\u4E2D\u4E0B\u683C\u5F0F+\u540E\u7F00: ${a}`):(s.set(i,[parseInt(l),d]),n.push(i),I("info",`[Mango] \u7EFC\u827A\u4FDD\u7559\u4E0A\u4E2D\u4E0B\u683C\u5F0F: ${a}`))}else if(c&&!u&&!/会员版|纯享版|特别版|独家版|加更|Plus|\+|花絮|预告|彩蛋|抢先|精选|未播|回顾|特辑|幕后|访谈|采访|混剪|合集|盘点|总结|删减|未播放|NG|番外|片段|看点|精彩|制作|导演|演员|拍摄|片尾曲|插曲|主题曲|背景音乐|OST|音乐|歌曲/.test(a)){let l=c[1];s.set(i,[parseInt(l),""]),n.push(i),I("info",`[Mango] \u7EFC\u827A\u4FDD\u7559\u6807\u51C6\u671F\u6570: ${a}`)}else I("info",`[Mango] \u7EFC\u827A\u8FC7\u6EE4\u975E\u6807\u51C6\u671F\u6570\u683C\u5F0F: ${a}`)}else{if(a.includes("\u5E7F\u544A")||a.includes("\u63A8\u5E7F")){I("info",`[Mango] \u8DF3\u8FC7\u5E7F\u544A\u5185\u5BB9: ${a}`);continue}n.push(i),I("info",`[Mango] \u7EFC\u827A\u4FDD\u7559\u539F\u59CB\u6807\u9898: ${a}`)}}return r?n.sort((i,a)=>{let o=s.get(i)||[0,""],c=s.get(a)||[0,""];if(o[0]!==c[0])return o[0]-c[0];let u={"":0,\u4E0A:1,\u4E2D:2,\u4E0B:3};return(u[o[1]]||0)-(u[c[1]]||0)}):n.sort((i,a)=>{let o=l=>{let f=`${l.t2||""} ${l.t1||""}`.trim().match(/第(\d+)集/);return f?parseInt(f[1]):999999},c=o(i),u=o(a);if(c===999999&&u===999999){let l=i.ts||"0",d=a.ts||"0";return l.localeCompare(d)}return c-u}),I("info",`[Mango] \u7EFC\u827A\u5904\u7406\u5B8C\u6210\uFF0C\u8FC7\u6EE4\u540E\u5206\u96C6\u6570: ${n.length}`),n}async handleAnimes(t,r,n,s=null,i=null){let a=[];if(!t||!Array.isArray(t))return I("error","[Mango] sourceAnimes is not a valid array"),[];let o=t.filter(l=>$t(l.title,r,i)),c=i!==null?i:ir(r);if(c!==null){let l=o.filter(d=>{let f=Qt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,I("info",`[Mango] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{if(l.type==="\u7535\u5F71"){let h=await this._getMovieEpisode(l.mediaId);if(!h)return;let p=`https://www.mgtv.com/b/${l.mediaId}/${h.video_id}.html`,m=h.t3||h.t1||"\u6B63\u7247",g=[{name:"1",url:p,title:`\u3010imgo\u3011 ${m}`}],y={animeId:Qn(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from imgo`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:An(l.year),episodeCount:1,rating:0,isFavorited:!0,source:"imgo"};a.push(y),rr({...y,links:g},s),F.animes.length>F.MAX_ANIMES&&ar();return}let d=await this.getEpisodes(l.mediaId),f=[];for(let h=0;h0){let p={animeId:Qn(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from imgo`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:An(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"imgo"};a.push(p),rr({...p,links:f},s),F.animes.length>F.MAX_ANIMES&&ar()}}catch(d){I("error",`[Mango] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(t){I("info","[Mango] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u8292\u679CTV\u5F39\u5E55...",t);let r=await this.getEpisodeDanmuSegments(t);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;I("info",`[Mango] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=[];for(let a of n)s.push(Le(a.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}));let i=[];try{(await Promise.allSettled(s)).filter(c=>c.status==="fulfilled").map(c=>c.value&&c.value.data?c.value.data:null).filter(c=>c!==null).forEach(c=>{c=typeof c=="string"?JSON.parse(c):c,c.data?.items&&i.push(...c.data.items)})}catch(a){return I("error","[Mango] \u89E3\u6790\u5F39\u5E55\u6570\u636E\u5931\u8D25:",a),[]}return pi(i),i}async getEpisodeDanmuSegments(t){I("info","[Mango] \u83B7\u53D6\u8292\u679CTV\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",t);let r="https://pcweb.api.mgtv.com/video/info",n="https://galaxy.bz.mgtv.com/getctlbarrage",s="https://galaxy.bz.mgtv.com/rdbarrage",i=/^(https?:\/\/[^\/]+)(\/[^?#]*)/,a=t.match(i),o;if(a)o=a[2].split("/").filter(Boolean);else return I("error","[Mango] Invalid URL"),new jt({type:"imgo",segmentList:[]});let c=o[o.length-2],u=o[o.length-1].split(".")[0];I("info",`[Mango] \u83B7\u53D6\u5F39\u5E55\u5206\u6BB5\u5217\u8868 - cid: ${c}, vid: ${u}`);let l;try{let p=`${r}?cid=${c}&vid=${u}`;l=await Le(p,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})}catch(p){return p.response?.status===404?new jt({type:"imgo",segmentList:[]}):(I("error","[Mango] \u8BF7\u6C42\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",p),new jt({type:"imgo",segmentList:[]}))}let f=(typeof l.data=="string"?JSON.parse(l.data):l.data).data.info.time,h=!0;try{let p=`${n}?version=8.1.39&abroad=0&uuid=&os=10.15.7&platform=0&mac=&vid=${u}&pid=&cid=${c}&ticket=`,m=await Le(p,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),g=typeof m.data=="string"?JSON.parse(m.data):m.data;(!g.data||!g.data.cdn_list||!g.data.cdn_version)&&(I("warn","[Mango] \u65B0API\u7F3A\u5C11\u5FC5\u8981\u5B57\u6BB5\uFF0C\u8FD4\u56DE\u7A7A\u5206\u6BB5\u5217\u8868"),h=!1);let _=[];if(h){let y=Math.ceil(pS(f)/60),E=g.data.cdn_list.split(",")[0],A=g.data.cdn_version;for(let v=0;v{let n={timepoint:0,ct:1,size:25,color:16777215,unixtime:Math.floor(Date.now()/1e3),uid:0,content:""};return r?.v2_color&&(n.color=this.transformV2Color(r?.v2_color)),r?.v2_position&&(r?.v2_position===1?n.ct=5:r?.v2_position===2&&(n.ct=4)),n.timepoint=r.time/1e3,n.content=r.content,n.uid=r.uid,n.like=r.v2_up_count,n})}}});var yS,tye=oe(()=>{oi();Gt();Ht();Lr();Xi();mo();Ws();Es();Pi();Ou();GR();Rm();yS=class e extends zt{static WBI_MIXIN_KEY_CACHE={key:null,timestamp:0};static WBI_MIXIN_KEY_CACHE_TTL=3600;static WBI_MIXIN_KEY_TABLE=[46,47,18,2,53,8,23,32,15,50,10,31,58,3,45,35,27,43,5,49,33,9,42,19,29,28,14,39,12,38,41,13,37,48,7,16,24,55,40,61,26,17,0,1,60,51,30,4,22,25,54,21,56,59,6,63,57,62,11,36,20,34,44,52];static APP_KEY="1d8b6e7d45233436";static APP_SEC="560c52ccd288fed045859ed18bffd973";async resolveB23Link(t){let r;try{I("info",`[Bilibili] \u6B63\u5728\u89E3\u6790 b23.tv \u77ED\u94FE\u63A5: ${t}`);let n=parseInt(F.vodRequestTimeout||"5000",10)||5e3,s=new AbortController;r=setTimeout(()=>s.abort(),n);let a=await(typeof fetch=="function"?fetch:(await Promise.resolve().then(()=>(KI(),r$))).default)(t,{method:"GET",headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},signal:s.signal,redirect:"manual"}),o=a.headers?.get?.("location")||a.headers?.get?.("Location"),c=o?new URL(o,t).toString():a.url;return c&&c!==t?(I("info",`[Bilibili] b23.tv \u77ED\u94FE\u63A5\u5DF2\u89E3\u6790\u4E3A: ${c}`),c):(I("error","[Bilibili] \u65E0\u6CD5\u89E3\u6790 b23.tv \u77ED\u94FE\u63A5"),t)}catch(n){return I("error","[Bilibili] \u89E3\u6790 b23.tv \u77ED\u94FE\u63A5\u5931\u8D25:",n),t}finally{r&&clearTimeout(r)}}async _getWbiMixinKey(){let t=Math.floor(Date.now()/1e3),r=e.WBI_MIXIN_KEY_CACHE;if(r.key&&t-r.timestamp(c+u)[d]).join("").substring(0,32);return r.key=l,r.timestamp=t,I("info","[Bilibili] \u6210\u529F\u83B7\u53D6\u65B0\u7684 WBI mixin key"),l}catch(n){return I("error","[Bilibili] \u83B7\u53D6 WBI \u5BC6\u94A5\u5931\u8D25:",n.message),"dba4a5925b345b4598b7452c75070bca"}}_getWbiSignedParams(t,r){let n={...t};n.wts=Math.floor(Date.now()/1e3);let o=Object.keys(n).sort().map(u=>{let l=n[u]??"";return`${encodeURIComponent(u)}=${encodeURIComponent(l)}`}).join("&")+r,c=la(o);return n.w_rid=c,n}async _searchByType(t,r,n){try{I("info",`[Bilibili] \u641C\u7D22\u7C7B\u578B '${r}'\uFF0C\u5173\u952E\u8BCD '${t}'`);let s={keyword:t,search_type:r},i=this._getWbiSignedParams(s,n),o=`https://api.bilibili.com/x/web-interface/wbi/search/type?${Object.keys(i).map(d=>`${encodeURIComponent(d)}=${encodeURIComponent(i[d])}`).join("&")}`,c=await Le(o,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Cookie:F.bilibliCookie||""}}),u=typeof c.data=="string"?JSON.parse(c.data):c.data;if(u.code!==0||!u.data?.result)return I("info",`[Bilibili] \u7C7B\u578B '${r}' \u65E0\u7ED3\u679C (Code: ${u.code})`),[];let l=[];for(let d of u.data.result){let f=d.season_id?`ss${d.season_id}`:d.bvid?`bv${d.bvid}`:"";if(!f)continue;let h=this._extractMediaType(d.season_type_name),p=h==="\u7535\u5F71"?1:d.ep_size||0,m=null;try{d.pubdate?typeof d.pubdate=="number"?m=new Date(d.pubdate*1e3).getFullYear():typeof d.pubdate=="string"&&d.pubdate.length>=4&&(m=parseInt(d.pubdate.substring(0,4))):d.pubtime&&(m=new Date(d.pubtime*1e3).getFullYear())}catch{}let g=vm((d.title||"").replace(/<[^>]+>/g,"")).replace(/:/g,"\uFF1A").trim(),_=vm((d.org_title||"").replace(/<[^>]+>/g,"")).trim(),y={provider:"bilibili",mediaId:f,mdId:d.media_id?`md${d.media_id}`:null,title:g,org_title:_,type:h,year:m,imageUrl:d.cover||null,episodeCount:p};d.eps&&d.eps.length>0&&(y._eps=d.eps),l.push(y)}return I("info",`[Bilibili] \u7C7B\u578B '${r}' \u627E\u5230 ${l.length} \u4E2A\u7ED3\u679C`),l}catch(s){return I("error",`[Bilibili] \u641C\u7D22\u7C7B\u578B '${r}' \u5931\u8D25:`,s.message),[]}}_extractMediaType(t){let r=(t||"").toLowerCase();return r.includes("\u7535\u5F71")||r.includes("movie")?"\u7535\u5F71":r.includes("\u756A\u5267")||r.includes("\u56FD\u521B")||r.includes("\u52A8\u6F2B")||r.includes("anime")?"\u52A8\u6F2B":r.includes("\u7EAA\u5F55\u7247")||r.includes("documentary")?"\u7EAA\u5F55\u7247":r.includes("\u7EFC\u827A")||r.includes("variety")?"\u7EFC\u827A":(r.includes("\u7535\u89C6\u5267")||r.includes("\u5267\u96C6")||r.includes("drama")||r.includes("tv"),"\u7535\u89C6\u5267")}async search(t){let r=[];F.useBangumiData&&(r=await kf(t,["bilibili","bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"]),I("info",`[Bilibili] Bangumi-Data \u672C\u5730\u547D\u4E2D ${r.length} \u6761\u6570\u636E\uFF08\u68C0\u7D22\u8BCD\uFF1A${t}\uFF09`));let n=r.filter(s=>["bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"].includes(s.matchedSiteKey));try{I("info",`[Bilibili] \u5F00\u59CB\u641C\u7D22: ${t}`);let s=await this._getWbiMixinKey(),i=this._searchByType(t,"media_bangumi",s),a=this._searchByType(t,"media_ft",s),o=Promise.resolve([]);this._hasBilibiliProxy()&&(I("info","[Bilibili] \u68C0\u6D4B\u5230\u4EE3\u7406\u914D\u7F6E\uFF0C\u542F\u7528\u6E2F\u6FB3\u53F0\u5E76\u884C\u641C\u7D22"),o=this._searchOversea(t,n.length>0));let c=(await Promise.all([i,a,o])).flat(),u=[],l=new Set,d=new Set;for(let h of c){if(!h||!h.mediaId&&!h.season_id)continue;let p=r.find(g=>h.mdId&&h.mdId===`md${g.siteId}`)||r.find(g=>h.org_title&&g.title===h.org_title);if(p){let _=(p.titles.find(y=>y&&y.includes(t))||p.titles[1]||p.title)+(p.titleSuffix||"");h.title=_,h._displayTitle=_,h.aliases=[...p.titles],h.type=p.typeStr||h.type,h.isLocalPriority=!0,d.add(`md${p.siteId}`),I("info",`[Bilibili] \u7F51\u7EDC\u7ED3\u679C [${h.title}] \u6210\u529F\u5BF9\u9F50\u672C\u5730 Bangumi-Data \u6570\u636E`)}let m=h.mediaId||(h.season_id?`ss${h.season_id}`:null);m&&l.has(m)||(m&&l.add(m),u.push(h))}let f=r.filter(h=>!d.has(`md${h.siteId}`));if(f.length>0){let h=f.filter(m=>m.season_id),p=f.filter(m=>!m.season_id);if(h.length>0){I("info",`[Bilibili] \u4ECE\u672C\u5730 Bangumi-Data \u8865\u5145 ${h.length} \u6761\u7F3A\u6F0F\u8BB0\u5F55\u5E76\u8BF7\u6C42\u8BE6\u60C5....\uFF08\u5305\u542B season_id \uFF09`);for(let m of h){let _=(m.titles.find(A=>A&&A.includes(t))||m.titles[1]||m.title)+(m.titleSuffix||""),y={provider:"bilibili",mediaId:`ss${m.season_id}`,mdId:`md${m.siteId}`,title:_,org_title:m.title,aliases:[...m.titles],_displayTitle:_,type:m.typeStr,year:m.begin?parseInt(m.begin.substring(0,4)):null,imageUrl:"",episodeCount:0,isOversea:["bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"].includes(m.matchedSiteKey),isLocalPriority:!0},E=y.mediaId;E&&!l.has(E)&&(l.add(E),u.unshift(y))}}if(p.length>0){I("info",`[Bilibili] \u4ECE\u672C\u5730 Bangumi-Data \u8865\u5145 ${p.length} \u6761\u7F3A\u6F0F\u8BB0\u5F55\u5E76\u8BF7\u6C42\u8BE6\u60C5...`);let m=p.map(async _=>{let y=await this._resolveMediaInfo(_.siteId),A=(_.titles.find(v=>v&&v.includes(t))||_.titles[1]||_.title)+(_.titleSuffix||"");return{provider:"bilibili",mediaId:y.seasonId||`md${_.siteId}`,mdId:`md${_.siteId}`,title:A,org_title:_.title,aliases:[..._.titles],_displayTitle:A,type:_.typeStr,year:_.begin?parseInt(_.begin.substring(0,4)):null,imageUrl:y.cover,episodeCount:0,isOversea:["bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"].includes(_.matchedSiteKey),isLocalPriority:!0}}),g=await Promise.all(m);for(let _ of g){let y=_.mediaId;y&&l.has(y)||y&&(l.add(y),u.unshift(_))}}}return I("info",`[Bilibili] \u641C\u7D22\u5B8C\u6210\uFF0C\u627E\u5230 ${u.length} \u4E2A\u6709\u6548\u7ED3\u679C`),u}catch(s){return I("error","[Bilibili] \u641C\u7D22\u51FA\u9519:",s.message),[]}}async _resolveMediaInfo(t){try{let r=await Le(`https://api.bilibili.com/pgc/review/user?media_id=${t}`),n=typeof r.data=="string"?JSON.parse(r.data):r.data;if(n.code===0&&n.result&&n.result.media){let s=n.result.media;return{seasonId:`ss${s.season_id}`,cover:s.cover||s.horizontal_picture||""}}}catch(r){I("error",`[Bilibili] \u83B7\u53D6\u5A92\u4F53\u4FE1\u606F\u5931\u8D25 (md${t}):`,r.message)}return{seasonId:null,cover:""}}async _getPgcEpisodes(t){let r=[],n=[`https://api.bilibili.com/pgc/view/web/season?season_id=${t}`,`https://api.bilibili.com/pgc/web/season/section?season_id=${t}`];for(let i of n)try{let a=await Le(i,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Cookie:F.bilibliCookie||""}}),o=typeof a.data=="string"?JSON.parse(a.data):a.data;if(o.code===0&&o.result&&(r=o.result.main_section?.episodes||o.result.episodes||[],o.result.cover&&(r._cover=o.result.cover),r.length>0))break}catch{}if(r.length===0)return I("error",`[Bilibili] \u83B7\u53D6\u756A\u5267\u5206\u96C6\u5931\u8D25 (season_id=${t}): \u6240\u6709\u63A5\u53E3\u5747\u65E0\u6570\u636E`),[];let s=r.map((i,a)=>{let o="";if(i.show_title)o=i.show_title;else{let c=i.title||String(a+1),u=i.long_title||"";o=/^\d+(\.\d+)?$/.test(c)?`\u7B2C${c}\u8BDD`:c,u&&u!==c&&(o+=` ${u}`)}return{vid:`${i.aid},${i.cid}`,id:i.id,title:o.trim(),link:`https://www.bilibili.com/bangumi/play/ep${i.id}`}});return r._cover&&(s._cover=r._cover),I("info",`[Bilibili] \u83B7\u53D6\u5230 ${s.length} \u4E2A\u756A\u5267\u5206\u96C6`),s}async _getUgcEpisodes(t){try{let r=`https://api.bilibili.com/x/web-interface/view?bvid=${t}`,n=await Le(r,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Cookie:F.bilibliCookie||""}}),s=typeof n.data=="string"?JSON.parse(n.data):n.data;if(s.code!==0||!s.data)return I("error",`[Bilibili] \u83B7\u53D6\u89C6\u9891\u5206\u96C6\u5931\u8D25 (bvid=${t}):`,s.message),[];let i=s.data.pages||[];if(i.length===0)return I("info",`[Bilibili] \u89C6\u9891 bvid=${t} \u65E0\u5206\u96C6\u6570\u636E`),[];let a=i.map((o,c)=>({vid:`${s.data.aid},${o.cid}`,id:o.cid,title:(o.part||`P${o.page}`).trim(),link:`https://www.bilibili.com/video/${t}?p=${o.page}`}));return I("info",`[Bilibili] \u83B7\u53D6\u5230 ${a.length} \u4E2A\u89C6\u9891\u5206\u96C6`),a}catch(r){return I("error",`[Bilibili] \u83B7\u53D6\u89C6\u9891\u5206\u96C6\u51FA\u9519 (bvid=${t}):`,r.message),[]}}async getEpisodes(t){if(t.startsWith("md")){let r=t.substring(2),n=await this._resolveMediaInfo(r);if(n.seasonId){let s=await this._getPgcEpisodes(n.seasonId.substring(2));return s._cover=n.cover,s}return[]}if(t.startsWith("ss")){let r=t.substring(2);return await this._getPgcEpisodes(r)}else if(t.startsWith("bv")){let r=t.substring(2);return await this._getUgcEpisodes(r)}return I("error",`[Bilibili] \u4E0D\u652F\u6301\u7684 ID \u683C\u5F0F: ${t}`),[]}async handleAnimes(t,r,n,s=null,i=null){let a=[];if(!t||!Array.isArray(t))return I("error","[Bilibili] sourceAnimes is not a valid array"),[];t.forEach(d=>{d.aliases=d.aliases||[],d.title&&!d.aliases.includes(d.title)&&d.aliases.push(d.title),d.org_title&&!d.aliases.includes(d.org_title)&&d.aliases.push(d.org_title)});let o=t.length>0?t[0]._tmdbCnAlias:null;KR(t,o);let c=t.filter(d=>d.isOversea||$t(d.title,r,i)||d.aliases&&d.aliases.some(f=>$t(f,r,i))),u=i!==null?i:ir(r);if(u!==null){let d=c.filter(f=>{let h=f._displayTitle||f.title,p=Qt(h).season;return p===u||u===1&&p===null});d.length>0&&(c=d,I("info",`[Bilibili] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${u}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let l=c.map(async d=>{try{let f=[],h=d.checkMore?.content?.includes("\u67E5\u770B\u5168\u90E8");if(d._eps&&d._eps.length>0&&!h){f=d._eps.map((y,E)=>{let A;d.isOversea&&y.position?A=y.position.toString():A=y.index_title||y.index||(E+1).toString();let v=y.title||y.index_title||A,T=y.long_title||"",C=/^\d+(\.\d+)?$/.test(v)?`\u7B2C${v}\u8BDD`:v;T&&T!==v&&(C+=` ${T}`);let b=y.id||y.param,x=`https://www.bilibili.com/bangumi/play/ep${b}?season_id=${d.mediaId.substring(2)}`;return d.isOversea&&(x+="&area=hkmt"),{name:A,url:x,title:`\u3010bilibili1\u3011 ${C.trim()}`,_id:parseInt(b,10)||0}});let _=f.map(y=>Tm(y.name));_.every(y=>y!==null)?(f.forEach((y,E)=>y._sortKey=_[E]),f.sort((y,E)=>y._sortKey-E._sortKey)):f.sort((y,E)=>y._id-E._id),I("info",`[Bilibili] \u76F4\u63A5\u4F7F\u7528\u641C\u7D22\u7ED3\u679C\u4E2D\u7684 ${f.length} \u96C6\u5206\u96C6`)}else{let _=await this.getEpisodes(d.mediaId);if(_.length===0){I("info",`[Bilibili] ${d.title} \u65E0\u5206\u96C6\uFF0C\u8DF3\u8FC7`);return}_._cover&&(d.imageUrl=_._cover),f=_.map((y,E)=>{let A=y.link+`?season_id=${d.mediaId.substring(2)}`;return d.isOversea&&(A+="&area=hkmt"),{name:`${E+1}`,url:A,title:`\u3010bilibili1\u3011 ${y.title}`,_id:parseInt(y.id,10)||0}}),f.sort((y,E)=>y._id-E._id)}if(f.length===0)return;let p=Qn(d.mediaId),m=d._displayTitle||mr(d.title),g={animeId:p,bangumiId:d.mediaId,animeTitle:`${m}(${d.year||"N/A"})\u3010${d.type}\u3011from bilibili`,type:d.type,typeDescription:d.type,imageUrl:d.imageUrl,startDate:An(d.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"bilibili",aliases:d.aliases};a.push(g),rr({...g,links:f},s),F.animes.length>F.MAX_ANIMES&&ar()}catch(f){I("error",`[Bilibili] \u5904\u7406 ${d.title} \u5931\u8D25:`,f.message)}});return await Promise.all(l),this.sortAndPushAnimesByYear(a,n),a}async _extractVideoInfo(t){I("info","[Bilibili] \u63D0\u53D6B\u7AD9\u89C6\u9891\u4FE1\u606F...",t);let r="https://api.bilibili.com/x/web-interface/view",n="https://api.bilibili.com/pgc/view/web/season",s=/^(https?:\/\/[^\/]+)(\/[^?#]*)/,i=t.match(s),a;if(i)a=i[2].split("/").filter(Boolean),a.unshift(""),I("info","[Bilibili] ",a);else return I("error","[Bilibili] Invalid URL"),null;let o,c,u,l;if(t.includes("video/"))try{let d=t.split("?")[1],f=1;if(d){let g=d.split("&");for(let _ of g){let[y,E]=_.split("=");y==="p"&&(f=E||1)}}I("info",`[Bilibili] p: ${f}`);let h;t.includes("BV")?h=`${r}?bvid=${a[2]}`:(c=a[2].substring(2),h=`${r}?aid=${a[2].substring(2)}`);let p=await Le(h,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),m=typeof p.data=="string"?JSON.parse(p.data):p.data;if(m.code!==0)return I("error","[Bilibili] \u83B7\u53D6\u666E\u901A\u6295\u7A3F\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",m.message),null;u=m.data.duration,o=m.data.pages[f-1].cid}catch(d){return I("error","[Bilibili] \u8BF7\u6C42\u666E\u901A\u6295\u7A3F\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",d),null}else if(t.includes("bangumi/")&&t.includes("ep"))try{let d=a.slice(-1)[0].slice(2),f=t.split("?")[1]||"",h=null,p=!1;f.split("&").forEach(g=>{let[_,y]=g.split("=");_==="season_id"&&(h=y),_==="area"&&y==="hkmt"&&(p=!0)});let m=!1;if(!p){let g=await Le(`${n}?ep_id=${d}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0"}}),_=typeof g.data=="string"?JSON.parse(g.data):g.data;if(_.code===0&&_.result){let y=_.result.episodes.find(E=>E.id==d);y&&(o=y.cid,u=y.duration/1e3,l=y.share_copy,m=!0)}}if((!m||p)&&h&&this._hasBilibiliProxy()){try{let g=this._makeProxyUrl(`https://api.bilibili.com/pgc/view/web/season?season_id=${h}`),_=await Le(g,{headers:{Cookie:F.bilibliCookie||"","User-Agent":"Mozilla/5.0"}}),y=typeof _.data=="string"?JSON.parse(_.data):_.data;if(y.code===0&&y.result){let E=(y.result.episodes||y.result.main_section?.episodes||[]).find(A=>A.id==d);E&&(o=E.cid,c=E.aid,u=E.duration/1e3,l=E.long_title,m=!0)}}catch{}if(!m)try{let g=await Le(`https://api.bilibili.com/pgc/web/season/section?season_id=${h}`,{headers:{"User-Agent":"Mozilla/5.0",Cookie:F.bilibliCookie||""}}),_=typeof g.data=="string"?JSON.parse(g.data):g.data;if(_.code===0&&_.result?.main_section?.episodes){let y=_.result.main_section.episodes.find(E=>E.id==d);y&&(o=y.cid,c=y.aid,u=y.duration?y.duration/1e3:0,l=y.long_title,m=!0)}}catch{}}if(!o)return I("error","[Bilibili] \u672A\u627E\u5230\u5339\u914D\u7684\u756A\u5267\u96C6\u4FE1\u606F"),null;!u&&u!==0&&(u=0)}catch(d){return I("error","[Bilibili] \u8BF7\u6C42\u756A\u5267\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",d),null}else if(t.includes("bangumi/")&&t.includes("ss"))try{let d=a.slice(-1)[0].slice(2).split("?")[0],f=`${n}?season_id=${d}`;I("info",`[Bilibili] \u83B7\u53D6\u756A\u5267\u4FE1\u606F: season_id=${d}`);let h=await Le(f,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),p=typeof h.data=="string"?JSON.parse(h.data):h.data;if(p.code!==0)return I("error","[Bilibili] \u83B7\u53D6\u756A\u5267\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",p.message),null;if(!p.result.episodes||p.result.episodes.length===0)return I("error","[Bilibili] \u756A\u5267\u6CA1\u6709\u53EF\u7528\u7684\u96C6\u6570"),null;let m=p.result.episodes[0];o=m.cid,u=m.duration/1e3,l=m.share_copy,I("info",`[Bilibili] \u4F7F\u7528\u7B2C\u4E00\u96C6: ${l}, cid=${o}`)}catch(d){return I("error","[Bilibili] \u8BF7\u6C42\u756A\u5267\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",d),null}else return I("error","[Bilibili] \u4E0D\u652F\u6301\u7684B\u7AD9\u89C6\u9891\u7F51\u5740\uFF0C\u4EC5\u652F\u6301\u666E\u901A\u89C6\u9891(av,bv)\u3001\u5267\u96C6\u89C6\u9891(ep,ss)"),null;return I("info",`[Bilibili] \u63D0\u53D6\u89C6\u9891\u4FE1\u606F\u5B8C\u6210: cid=${o}, aid=${c}, duration=${u}`),{cid:o,aid:c,duration:u,title:l}}async getEpisodeDanmu(t){I("info","[Bilibili] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42B\u7AD9\u5F39\u5E55...",t);let r=await this.getEpisodeDanmuSegments(t);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;I("info",`[Bilibili] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=6,i=[];for(let a=0;athis.getEpisodeSegmentDanmu(d).then(f=>({status:"ok",value:f})).catch(f=>({status:"err",error:f}))),u=await Promise.all(c),l=!1;for(let d of u)d.status==="ok"&&d.value?i.push(...d.value):(I("info","[Bilibili] \u6355\u83B7\u5230\u5206\u6BB5\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF4\u660E\u8BF7\u6C42\u5B8C\u6BD5\uFF0C\u505C\u6B62\u540E\u7EED\u8BF7\u6C42"),l=!0);if(l)break}return i}async getEpisodeDanmuSegments(t){if(I("info","[Bilibili] \u83B7\u53D6B\u7AD9\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",t),typeof t=="string"&&t.includes("/combine?")){let c=[],u=0,l=0,d=t.startsWith("http")?t:`https://www.bilibili.com${t}`,f=new URL(d);for(let[h,p]of f.searchParams.entries()){if(!h.startsWith("cid"))continue;let m=h.substring(3),[g,_]=p.split("-"),y=parseFloat(g)||0,E=parseFloat(_)||0,A=E-y;if(A<=0)continue;l+=A;let v=Math.ceil(E/360);for(let T=0;T0?Math.ceil(i/360):36;I("info",`[Bilibili] maxLen: ${a}`);let o=[];for(let c=0;c0?Math.min((c+1)*360,i):(c+1)*360,url:u})}return new jt({type:"bilibili1",duration:i>0?i:0,segmentList:o})}async getEpisodeSegmentDanmu(t){try{let r=new URL(t.url),n=t.url.split("#")[0],s=await Le(n,{headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",Cookie:F.bilibliCookie},base64Data:!0,retries:1}),i=[];if(s&&s.data&&(i=Art(s.data)),r.hash&&r.hash.includes("combine_offset")){let a=new URLSearchParams(r.hash.substring(1)),o=parseFloat(a.get("combine_start"))||0,c=parseFloat(a.get("combine_end"))||0,u=parseFloat(a.get("combine_offset"))||0,l=[];for(let d of i){let f=0;if(d.p&&typeof d.p=="string"?f=parseFloat(d.p.split(",")[0]):d.t!==void 0?f=Number(d.t):d.progress!==void 0&&(f=d.progress/1e3),!isNaN(f)&&f>=o&&f<=c){let h=f-o+u;if(d.p&&typeof d.p=="string"){let p=d.p.split(",");p[0]=h.toFixed(5),d.p=p.join(",")}d.t!==void 0&&(d.t=h),d.progress!==void 0&&(d.progress=Math.round(h*1e3)),l.push(d)}}return l}return i}catch(r){throw r}}formatComments(t){return t.map(r=>(F.danmuSimplifiedTraditional==="simplified"&&r.m&&(r.m=mr(r.m)),r.like=r.like_num,r))}_makeProxyUrl(t){return F.makeProxyUrl(t)}_hasBilibiliProxy(){return(F.proxyUrl||"").split(",").some(t=>{let r=t.trim();return r.startsWith("bilibili@")||r.startsWith("@")})}_javaUrlEncode(t){return encodeURIComponent(t).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A").replace(/%20/g,"+")}async _searchOverseaRequest(t,r,n,s="Original",i=null){let o=(F.bilibliCookie||"").match(/([0-9a-fA-F]{32})/);if(!((F.proxyUrl||"").includes("bilibili@")||(F.proxyUrl||"").includes("@")))return[];if(o){I("info",`[Bilibili-Proxy][${s}] \u68C0\u6D4B\u5230 Access Key\uFF0C\u542F\u7528 APP \u7AEF\u63A5\u53E3\u6A21\u5F0F (Type: ${r})...`);try{let u={keyword:t,type:r,area:"tw",mobi_app:"android",platform:"android",build:"8140200",ts:Math.floor(Date.now()/1e3),appkey:e.APP_KEY,access_key:o[1],disable_rcmd:1},l=Object.keys(u).sort().map(m=>`${m}=${this._javaUrlEncode(String(u[m]))}`).join("&"),d=la(l+e.APP_SEC),f=`https://app.bilibili.com/x/v2/search/type?${l}&sign=${d}`,h=F.makeProxyUrl(f),p=await this._fetchAppSearchWithStream(h,{"User-Agent":"Mozilla/5.0 Android","X-From-Biliroaming":"1.0.0"},s,i);if(p&&p.code===0)return(p.data?.items||p.data?.result||p.data||[]).filter(m=>m.goto!=="recommend_tips"&&m.area!=="\u6F2B\u6E38"&&m.badge!=="\u516C\u544A").map(m=>({provider:"bilibili",mediaId:m.season_id?`ss${m.season_id}`:m.uri.match(/season\/(\d+)/)?.[1]?`ss${m.uri.match(/season\/(\d+)/)[1]}`:"",title:vm((m.title||"").replace(/<[^>]+>/g,"")).trim(),org_title:vm((m.org_title||"").replace(/<[^>]+>/g,"")).trim(),type:this._extractMediaType(m.season_type_name),year:m.ptime?new Date(m.ptime*1e3).getFullYear():null,imageUrl:m.cover||m.pic||"",episodeCount:0,_eps:m.episodes||m.episodes_new,checkMore:m.check_more,isOversea:!0})).filter(m=>m.mediaId);p&&p.code!==0&&I("warn",`[Bilibili-Proxy] App \u63A5\u53E3\u8FD4\u56DE\u9519\u8BEF Code ${p.code}: ${p.message}`)}catch(u){if(u.name==="AbortError")throw u;I("error",`[Bilibili-Proxy] App \u63A5\u53E3\u8BF7\u6C42\u5F02\u5E38: ${u.message}`)}I("info","[Bilibili-Proxy] App \u63A5\u53E3\u8BF7\u6C42\u5931\u8D25\uFF0C\u81EA\u52A8\u964D\u7EA7\u81F3 Web \u63A5\u53E3...")}else I("info",`[Bilibili-Proxy][${s}] \u672A\u68C0\u6D4B\u5230 Access Key\uFF0C\u542F\u7528 Web \u7AEF\u63A5\u53E3\u6A21\u5F0F (Type: ${n})...`);try{let u={keyword:t,search_type:n,area:"tw",page:1,order:"totalrank",__refresh__:!0,_timestamp:Date.now()},d=`https://api.bilibili.com/x/web-interface/search/type?${Object.keys(u).map(m=>`${encodeURIComponent(m)}=${encodeURIComponent(u[m])}`).join("&")}`,f=F.makeProxyUrl(d),h=await Le(f,{headers:{"User-Agent":"Mozilla/5.0",Cookie:F.bilibliCookie||"","X-From-Biliroaming":"1.0.0"},signal:i}),p=typeof h.data=="string"?JSON.parse(h.data):h.data;if(p.code!==0)return I("warn",`[Bilibili-Proxy] Web \u63A5\u53E3\u8FD4\u56DE\u9519\u8BEF Code ${p.code}: ${p.message}`),[];if(p.data?.result)return p.data.result.filter(m=>m.url?.includes("bilibili.com")&&!m.areas?.includes("\u6F2B\u6E38")).map(m=>({provider:"bilibili",mediaId:m.season_id?`ss${m.season_id}`:"",mdId:m.media_id?`md${m.media_id}`:null,title:vm((m.title||"").replace(/<[^>]+>/g,"")).trim(),org_title:vm((m.org_title||"").replace(/<[^>]+>/g,"")).trim(),type:this._extractMediaType(m.season_type_name),year:m.pubtime?new Date(m.pubtime*1e3).getFullYear():null,imageUrl:m.cover||null,episodeCount:m.ep_size||0,_eps:m.eps,isOversea:!0})).filter(m=>m.mediaId)}catch(u){if(u.name==="AbortError")throw u;I("error",`[Bilibili-Proxy] Web \u63A5\u53E3\u8BF7\u6C42\u5F02\u5E38: ${u.message}\uFF08\u5982\u679C\u662F-500/-502\u8BF4\u660E\u53EA\u662F\u98CE\u63A7\uFF09`)}return[]}async _searchOversea(t,r=!1){let n=new AbortController,s=r?[{appType:8,webType:"media_ft"}]:[{appType:7,webType:"media_bangumi"},{appType:8,webType:"media_ft"}],i=Promise.all(s.map(async(o,c)=>(c>0&&await new Promise(u=>setTimeout(u,c*300)),this._searchOverseaRequest(t,o.appType,o.webType,"Original")))).then(o=>{let c=o.flat();return c.length&&n.abort(),c.forEach(u=>u._originalQuery=t),c}).catch(()=>[]),a=F.tmdbApiKey?new Promise(o=>setTimeout(o,100)).then(async()=>{let o=await jR(t,n.signal,"Bilibili");if(o&&o.title&&o.title!==t){let{title:c,cnAlias:u}=o,l=s.map(async(f,h)=>(h>0&&await new Promise(p=>setTimeout(p,h*300)),this._searchOverseaRequest(c,f.appType,f.webType,"TMDB",n.signal))),d=(await Promise.all(l)).flat();return d.forEach(f=>{f._originalQuery=t,f._searchUsedTitle=c,f._tmdbCnAlias=u}),d}return[]}).catch(()=>[]):Promise.resolve([]);return(await Promise.all([i,a])).flat()}async _fetchAppSearchWithStream(t,r,n,s){if(typeof ile!="function")return null;let i=!1,a=!1,o=await ile(t,{headers:r,sniffLimit:8192,signal:s},c=>i?!0:c.includes('"goto":"recommend_tips"')||c.includes("\u6682\u65E0\u641C\u7D22\u7ED3\u679C")?(I("info",`[Bilibili-Proxy][${n}] \u55C5\u63A2\u5230\u65E0\u6548\u6570\u636E\uFF0C\u4E2D\u65AD`),a=!0,!1):((c.includes('"season_id"')||c.includes('"episodes"'))&&(i=!0),!0));return a?{code:0,data:{items:[]}}:o}}});var vS,rye=oe(()=>{oi();Gt();Ht();Lr();Es();Xi();mo();Ws();Pi();vS=class extends zt{convertYoukuUrl(t){let r=t.match(/vid=([^&]+)/);return!r||!r[1]?null:`https://v.youku.com/v_show/id_${r[1]}.html`}filterYoukuSearchItem(t,r){let n=t.commonData;if(!n||!n.titleDTO||n.isYouku!==1&&n.hasYouku!==1)return null;let s=n.titleDTO.displayName;if(["\u4E2D\u914D\u7248","\u62A2\u5148\u770B","\u975E\u6B63\u7247","\u89E3\u8BFB","\u63ED\u79D8","\u8D4F\u6790","\u300A"].some(f=>s.includes(f)))return null;let a=n.feature.match(/[12][890][0-9][0-9]/),o=a?parseInt(a[0]):null,c=s.replace(/<[^>]+>/g,"").replace(/【.+?】/g,"").trim().replace(/:/g,"\uFF1A"),u="\u7535\u89C6\u5267",l=(n.cats||"").toLowerCase(),d=(n.feature||"").toLowerCase();return l.includes("\u52A8\u6F2B")||l.includes("anime")?u="\u52A8\u6F2B":l.includes("\u7535\u5F71")||l.includes("movie")?u="\u7535\u5F71":l.includes("\u7535\u89C6\u5267")||l.includes("drama")?u="\u7535\u89C6\u5267":l.includes("\u7EFC\u827A")||l.includes("variety")?u="\u7EFC\u827A":d.includes("\u52A8\u6F2B")?u="\u52A8\u6F2B":d.includes("\u7535\u5F71")?u="\u7535\u5F71":d.includes("\u7535\u89C6\u5267")?u="\u7535\u89C6\u5267":d.includes("\u7EFC\u827A")&&(u="\u7EFC\u827A"),{provider:"youku",mediaId:n.showId,title:c,type:u,year:o,imageUrl:n.posterDTO?n.posterDTO.vThumbUrl:null,episodeCount:n.episodeTotal,cats:n.cats}}async search(t){try{I("info",`[Youku] \u5F00\u59CB\u641C\u7D22: ${t}`);let r=encodeURIComponent(t),n=encodeURIComponent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"),s=`https://search.youku.com/api/search?keyword=${r}&userAgent=${n}&site=1&categories=0&ftype=0&ob=0&pg=1`,i=await Le(s,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",Accept:"application/json",Referer:"https://www.youku.com/"}});if(!i||!i.data)return I("info","[Youku] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(!a.pageComponentList)return I("info","[Youku] \u641C\u7D22\u65E0\u7ED3\u679C"),[];let o=[];for(let c of a.pageComponentList){let u=this.filterYoukuSearchItem(c,t);u&&o.push(u)}return I("info",`[Youku] \u641C\u7D22\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C`),o}catch(r){return I("error","[Youku] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getEpisodes(t){try{I("info",`[Youku] \u83B7\u53D6\u5206\u96C6\u5217\u8868: show_id=${t}`);let r=100,n=await this._getEpisodesPage(t,1,r);if(!n||!n.videos||n.videos.length===0)return I("info","[Youku] \u672A\u627E\u5230\u5206\u96C6\u4FE1\u606F"),[];let s=[...n.videos],i=n.total;if(i>r){let a=Math.ceil(i/r);I("info",`[Youku] \u68C0\u6D4B\u5230 ${i} \u4E2A\u5206\u96C6\uFF0C\u5C06\u5E76\u53D1\u8BF7\u6C42 ${a} \u9875`);let o=[];for(let u=2;u<=a;u++)o.push(this._getEpisodesPage(t,u,r));let c=await Promise.allSettled(o);for(let u=0;u$t(l.title,r,i)),c=i!==null?i:ir(r);if(c!==null){let l=o.filter(d=>{let f=Qt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,I("info",`[Youku] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=this._extractMediaType(l.cats,l.type),h=this._processAndFormatEpisodes(d,f),p=[];for(let m of h){let g=m.link||`https://v.youku.com/v_show/id_${m.vid}.html`;p.push({name:m.episodeIndex.toString(),url:g,title:`\u3010youku\u3011 ${m.title}`})}if(p.length>0){let g={animeId:Qn(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from youku`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:An(l.year),episodeCount:p.length,rating:0,isFavorited:!0,source:"youku"};a.push(g),rr({...g,links:p},s),F.animes.length>F.MAX_ANIMES&&ar()}}catch(d){I("error",`[Youku] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}_processAndFormatEpisodes(t,r="variety"){return[...t].map((i,a)=>{let o=a+1,c=this._formatEpisodeTitle(i,o,r);return{vid:i.id,title:c,episodeIndex:o,link:i.link}})}_formatEpisodeTitle(t,r,n){let s=t.displayName||t.title,i=/^(?:\d{2,4}-\d{2}-\d{2}|\d{2}-\d{2})\s*(?=(?:第\d+期))|^(?:\d{2,4}-\d{2}-\d{2}|\d{2}-\d{2})\s*:\s*/;if(s=s.replace(i,"").trim(),n==="movie")return s;if(n==="variety"){let a=s.match(/第(\d+)期/);return a?`\u7B2C${a[1]}\u671F ${t.published?.split(" ")[0]??""} ${s}`:`\u7B2C${r}\u671F ${t.published?.split(" ")[0]??""} ${s}`}return/^第\d+集/.test(s)?s:`\u7B2C${r}\u96C6 ${s}`}_extractMediaType(t,r){let n=(t||"").toLowerCase(),s=(r||"").toLowerCase();return n.includes("\u7EFC\u827A")||n.includes("variety")?"variety":n.includes("\u7535\u5F71")||n.includes("movie")?"movie":n.includes("\u52A8\u6F2B")||n.includes("anime")?"anime":n.includes("\u7535\u89C6\u5267")||n.includes("drama")?"drama":s.includes("\u7EFC\u827A")?"variety":s.includes("\u7535\u5F71")?"movie":s.includes("\u52A8\u6F2B")?"anime":(s.includes("\u7535\u89C6\u5267"),"drama")}async getEpisodeDanmu(t){if(I("info","[Youku] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u4F18\u9177\u5F39\u5E55...",t),!t)return[];let n=(await this.getEpisodeDanmuSegments(t)).segmentList,s=[],i=F.youkuConcurrency,a=[...n];for(let o=0;o{let l=await Fn(u.url,lo({data:u.data}),{headers:{Cookie:`_m_h5_tk=${u._m_h5_tk};_m_h5_tk_enc=${u._m_h5_tk_enc};`,Referer:"https://v.youku.com","Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1,retries:1}),d=[];if(l.data?.data&&l.data.data.result){let f=JSON.parse(l.data.data.result);f.code!=="-1"&&d.push(...f.data.result)}return d});try{let u=await Promise.allSettled(c);for(let l of u)l.status==="fulfilled"&&Array.isArray(l.value)&&(s=s.concat(l.value))}catch(u){I("error","[Youku] \u4F18\u9177\u5206\u6BB5\u6279\u91CF\u8BF7\u6C42\u5931\u8D25:",u.message)}}return pi(s),s}async getEpisodeDanmuSegments(t){if(I("info","[Youku] \u83B7\u53D6\u4F18\u9177\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",t),!t)return new jt({type:"youku",segmentList:[]});t.includes("youku.com/video?vid")&&(t=this.convertYoukuUrl(t));let r="https://openapi.youku.com/v2/videos/show.json",n="https://acs.youku.com/h5/mopen.youku.danmu.list/1.0/",s=/^(https?:\/\/[^\/]+)(\/[^?#]*)/,i=t.match(s),a;if(i)a=i[2].split("/").filter(Boolean),a.unshift(""),I("info","[Youku]",a);else return I("error","[Youku] Invalid URL"),[];let o=a[a.length-1].split(".")[0].slice(3);I("info",`[Youku] video_id: ${o}`);let c;try{let A=`${r}?client_id=53e6cc67237fc59a&video_id=${o}&package=com.huawei.hwvplayer.youku&ext=show`;c=await Le(A,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1})}catch(A){return I("error","[Youku] \u8BF7\u6C42\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",A),[]}let u=typeof c.data=="string"?JSON.parse(c.data):c.data,l=u.title,d=u.duration;I("info",`[Youku] \u6807\u9898: ${l}, \u65F6\u957F: ${d}`);let f,h,p;try{let A="https://log.mmstat.com/eg.js",v="https://acs.youku.com/h5/mtop.com.youku.aplatform.weakget/1.0/?jsv=2.5.1&appKey=24679788",T=await Le(A,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1});I("info",`[Youku] cnaRes: ${JSON.stringify(T)}`),I("info",`[Youku] cnaRes.headers: ${JSON.stringify(T.headers)}`);let C=T.headers.etag||T.headers.Etag;I("info",`[Youku] etag: ${C}`),f=C.replace(/^"|"$/g,""),I("info",`[Youku] cna: ${f}`);let b;for(;!b;)b=await Le(v,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1});I("info",`[Youku] tkEncRes: ${JSON.stringify(b)}`),I("info",`[Youku] tkEncRes.headers: ${JSON.stringify(b.headers)}`);let x=b.headers["set-cookie"]||b.headers["Set-Cookie"];I("info",`[Youku] tkEncSetCookie: ${x}`);let w=x.match(/_m_h5_tk_enc=([^;]+)/);h=w?w[1]:null;let P=x.match(/_m_h5_tk=([^;]+)/);p=P?P[1]:null,I("info",`[Youku] _m_h5_tk_enc: ${h}`),I("info",`[Youku] _m_h5_tk: ${p}`)}catch(A){return I("error","[Youku] \u83B7\u53D6 cna \u6216 tk_enc \u5931\u8D25:",A),[]}let m=60,g=Math.floor(d/m)+1,_=[],y=async A=>{let v={ctime:Date.now(),ctype:10004,cver:"v1.0",guid:f,mat:A,mcount:1,pid:0,sver:"3.1.0",type:1,vid:o},T=JSON.stringify(v);function C(Y){let $="";for(let V=0;V255?$+=encodeURIComponent(Y[V]):$+=Y[V];return $}function b(Y){let $="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",V="",W=0,G=0;for(let se=0;se=6;)V+=$[W>>G-6&63],G-=6;for(G>0&&(V+=$[W<<6-G&63]);V.length%4!==0;)V+="=";return V}let x=b(C(T));v.msg=x,v.sign=la(`${x}MkmC9SoIw6xCkSKHhJ7b5D2r51kBiREr`).toString().toLowerCase();let w=JSON.stringify(v),P=Date.now(),M={jsv:"2.5.6",appKey:"24679788",t:P,sign:la([p.slice(0,32),P,"24679788",w].join("&")).toString().toLowerCase(),api:"mopen.youku.danmu.list",v:"1.0",type:"originaljson",dataType:"jsonp",timeout:"20000",jsonpIncPrefix:"utility"},L=lo(M),U=`${n}?${L}`;return I("info",`[Youku] piece_url: ${U}`),{type:"youku",segment_start:A*m,segment_end:Math.min((A+1)*m,d),url:U,data:w,_m_h5_tk:p,_m_h5_tk_enc:h}},E=Array.from({length:g},(A,v)=>v);for(let A=0;A{let n={timepoint:0,ct:1,size:25,color:16777215,unixtime:Math.floor(Date.now()/1e3),uid:0,content:""};n.timepoint=r.playat/1e3;let s=JSON.parse(r.propertis);if(s?.color&&(n.color=typeof s.color=="string"?parseInt(s.color,10):s.color),s?.pos){let i=s.pos;i===1?n.ct=5:i===2&&(n.ct=4)}return n.content=r.content,n.like=r.extFields.voteUp,n})}}});var yas,vas,Sas,Tas,bas,Ias,Y9,SM,ibt=oe(()=>{oi();Gt();Ht();Lr();Ws();Ou();Pi();GR();JEe();ZEe();eye();tye();rye();XEe();Es();Rm();yas=new _S,vas=new AS,Sas=new ES,Tas=new yS,bas=new vS,Ias=new gS,Y9=`LogVar Danmu API/${F.version}`,SM=class extends zt{async search(t,r=!1){if(F.useBangumiData&&!r){let n=await kf(t,["anidb"]);if(n.length>0)return I("info",`[Dandan] Bangumi-Data \u672C\u5730\u547D\u4E2D ${n.length} \u6761\u6570\u636E\uFF08\u68C0\u7D22\u8BCD\uFF1A${t}\uFF09`),n.map(s=>{let a=(s.titles.find(o=>o&&o.includes(t))||s.titles[1]||s.title)+(s.titleSuffix||"");return{animeId:parseInt(s.siteId),animeTitle:a,type:s.typeId,typeDescription:s.typeStr,imageUrl:"",startDate:s.begin,rating:0,aliases:[...s.titles]}})}try{I("info",`[Dandan] \u539F\u59CB\u641C\u7D22\u8BCD: ${t}`);let n=new AbortController,s=(async()=>{try{let c=await Le(`https://api.danmaku.weeblify.app/ddp/v1?path=/v2/search/anime?keyword=${t}`,{headers:{"Content-Type":"application/json","User-Agent":Y9},retries:1});if(!c||!c.data)return I("info","[Dandan] \u539F\u59CB\u641C\u7D22\u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE (source: original)"),{success:!1,source:"original"};if(!c.data.animes||c.data.animes.length===0)return I("info","[Dandan] \u539F\u59CB\u641C\u7D22\u6210\u529F\uFF0C\u4F46\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (source: original)"),{success:!1,source:"original"};n.abort();let u=c.data.animes;return I("info",`[Dandan] dandanSearchresp (original): ${JSON.stringify(u)}`),I("info",`[Dandan] \u8FD4\u56DE ${u.length} \u6761\u7ED3\u679C (source: original)`),{success:!0,data:u,source:"original"}}catch(c){return I("error","[Dandan] getDandanAnimes error:",{message:c.message,name:c.name,stack:c.stack}),{success:!1,source:"original"}}})(),i=(async()=>{try{await new Promise(h=>setTimeout(h,100));let c=await jR(t,n.signal,"Dandan");if(!c||!c.title)return I("info","[Dandan] TMDB\u8F6C\u6362\u672A\u8FD4\u56DE\u7ED3\u679C\uFF0C\u53D6\u6D88\u65E5\u8BED\u539F\u540D\u641C\u7D22"),{success:!1,source:"tmdb"};let{title:u,cnAlias:l}=c;I("info",`[Dandan] \u4F7F\u7528\u65E5\u8BED\u539F\u540D\u901A\u8FC7 episodes \u63A5\u53E3\u8FDB\u884C\u641C\u7D22: ${u}`);let d=await Le(`https://api.danmaku.weeblify.app/ddp/v1?path=/v2/search/episodes?anime=${encodeURIComponent(u)}`,{headers:{"Content-Type":"application/json","User-Agent":Y9},signal:n.signal,retries:1});if(!d||!d.data)return I("info","[Dandan] \u65E5\u8BED\u539F\u540D\u641C\u7D22\u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE (source: tmdb)"),{success:!1,source:"tmdb"};if(!d.data.animes||d.data.animes.length===0)return I("info","[Dandan] \u65E5\u8BED\u539F\u540D\u641C\u7D22\u6210\u529F\uFF0C\u4F46\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (source: tmdb)"),{success:!1,source:"tmdb"};let f=d.data.animes;for(let h of f)h.isTmdbSource=!0,h._tmdbCnAlias=l;return I("info",`[Dandan] dandanSearchresp (tmdb): ${JSON.stringify(f)}`),I("info",`[Dandan] \u8FD4\u56DE ${f.length} \u6761\u7ED3\u679C (source: tmdb)`),{success:!0,data:f,source:"tmdb"}}catch(c){if(c.name==="AbortError")return I("info","[Dandan] \u539F\u59CB\u641C\u7D22\u6210\u529F\uFF0C\u4E2D\u65AD\u65E5\u8BED\u539F\u540D\u641C\u7D22"),{success:!1,source:"tmdb",aborted:!0};throw c}})(),[a,o]=await Promise.all([s,i]);if(a.success)return a.data;if(o.success)return o.data;if(I("info",`[Dandan] \u539F\u59CB\u641C\u7D22\u548C\u57FA\u4E8ETMDB\u7684\u641C\u7D22\u5747\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (\u5F53\u524D\u641C\u7D22\u8BCD: ${t})`),!r){let c=t.replace(/(?:第\s*[0-9一二三四五六七八九十百千万]+\s*[季期部])|(?:S(?:eason)?\s*\d+)|(?:Part\s*\d+)/gi,"").trim();if(c&&c!==t)return I("info",`[Dandan] \u5C1D\u8BD5\u53BB\u9664\u5B63\u5EA6\u4FE1\u606F\u8FDB\u884C\u964D\u7EA7\u641C\u7D22: ${c}`),await this.search(c,!0)}return[]}catch(n){return I("error","[Dandan] getDandanAnimes error:",{message:n.message,name:n.name,stack:n.stack}),[]}}async getEpisodes(t){try{let r=await Le(`https://api.danmaku.weeblify.app/ddp/v1?path=/v2/bangumi/${t}`,{headers:{"Content-Type":"application/json","User-Agent":Y9},retries:1});if(!r||!r.data)return I("info","[Dandan] getDandanEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),{episodes:[],titles:[],relateds:[],type:null,typeDescription:null};if(!r.data.bangumi)return I("info","[Dandan] getDandanEposides: bangumi \u6570\u636E\u4E0D\u5B58\u5728"),{episodes:[],titles:[],relateds:[],type:null,typeDescription:null};let n=r.data.bangumi,s=Array.isArray(n.episodes)?n.episodes:[],i=Array.isArray(n.titles)?n.titles.map(f=>f.title):[],a=Array.isArray(n.relateds)?n.relateds:[],o=n.type||null,c=n.typeDescription||null,u=!1,l=!1;n.tags&&Array.isArray(n.tags)&&n.tags.forEach(f=>{f.name&&f.name.toUpperCase().includes("3D")&&(u=!0),f.name&&f.name.toUpperCase().includes("2D")&&(l=!0)}),u?c="3D"+(c||""):l&&(c="2D"+(c||""));let d=n.imageUrl||null;return I("info",`[Dandan] getDandanEposides: ${JSON.stringify(r.data.bangumi.episodes)}`),{episodes:s,titles:i,relateds:a,type:o,typeDescription:c,imageUrl:d}}catch(r){return I("error","[Dandan] getDandanEposides error:",{message:r.message,name:r.name,stack:r.stack}),{episodes:[],titles:[],relateds:[],type:null,typeDescription:null,imageUrl:null}}}calculateSimilarity(t,r){if(!t||!r)return 0;let n=new Set(t.toLowerCase()),s=new Set(r.toLowerCase()),i=[...n].filter(o=>s.has(o)).length,a=new Set([...n,...s]).size;return i/a}async handleAnimes(t,r,n,s=null,i=null){let a=[];if(!t||!Array.isArray(t))return I("error","[Dandan] sourceAnimes is not a valid array"),[];t.forEach(p=>{p.title=p.animeTitle});let o=t.length>0?t[0]._tmdbCnAlias:null;KR(t,o);let c=t.length,u=new Set,l=[],d=i!==null?i:ir(r),f=t,h=!1;if(d!==null){let p=t.filter(m=>{let g=m._displayTitle||m.animeTitle,_=Qt(g).season;return _===d||d===1&&_===null});p.length>0&&(f=p,h=!0,I("info",`[Dandan] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${d}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}for(let p of f)u.add(p.animeId),l.push({...p,isRelated:!1});for(;l.length>0;){let p=l.splice(0,l.length);await Promise.all(p.map(async m=>{try{let g=await this.getEpisodes(m.animeId),_=g.episodes,y=g.titles||[],E=this.calculateSimilarity(r,m.animeTitle),A=!h;if(E>=.1&&g.relateds&&Array.isArray(g.relateds)&&A)for(let b of g.relateds){let x=Qt(b.animeTitle).season!==null;!u.has(b.animeId)&&(x||c>=25)&&(u.add(b.animeId),l.push({animeId:b.animeId,animeTitle:b.animeTitle,imageUrl:b.imageUrl,rating:b.rating||0,isRelated:!0}))}let v=[m.animeTitle,...y,...m.aliases||[]],T=!1;if(m.isRelated||m.isTmdbSource)if(d!==null){let b=null;for(let x of v){if(!x)continue;let w=ir(x);if(w!==null){b=w;break}}d>1?T=(b||1)===d:d===1&&(T=b===null||b===1)}else T=!0;else T=v.some(b=>b&&$t(b,r,d));if(!T)return;let C=[];for(let b of _){let x=b.episodeTitle&&b.episodeTitle.trim()!==""?`${b.episodeTitle}`:`\u7B2C${b.episodeNumber}\u96C6`;C.push({name:x,url:b.episodeId.toString(),title:`\u3010dandan\u3011 ${x}`})}if(C.length>0){let b=m._displayTitle||m.animeTitle,x=[...new Set([...y,...m.aliases||[]])];m.animeTitle&&m.animeTitle!==b&&!x.includes(m.animeTitle)&&x.push(m.animeTitle);let w=g.type||m.type||"tvseries",P=g.typeDescription||m.typeDescription||"TV\u52A8\u753B",M=m.startDate||(_.length>0?_[0].airDate:null),L=M?new Date(M).getFullYear():"\u672A\u77E5",U={animeId:m.animeId,bangumiId:String(m.animeId),animeTitle:`${b}(${L})\u3010${P}\u3011from dandan`,aliases:x,type:w,typeDescription:P,imageUrl:g.imageUrl||m.imageUrl,startDate:M,episodeCount:C.length,rating:m.rating||0,isFavorited:!0,source:"dandan"};a.push(U),rr({...U,links:C},s),F.animes.length>F.MAX_ANIMES&&ar()}}catch(g){I("error",`[Dandan] Error processing anime: ${g.message}`)}}))}return this.sortAndPushAnimesByYear(a,n),a}async getEpisodeDanmu(t,r=[]){let n=[],s={};try{let a=await Le(`https://api.danmaku.weeblify.app/ddp/v1?path=%2Fv2%2Fcomment%2F${t}%3Ffrom%3D0%26withRelated%3Dtrue%26chConvert%3D0`,{headers:{"Content-Type":"application/json","User-Agent":Y9},retries:1}).catch(o=>(I("error",`[Dandan] dandan base comments error: ${o.message}`),null));a&&a.data&&a.data.comments?(n=a.data.comments,s.dandan=n.length):s.dandan=0}catch(i){I("error","[Dandan] getEpisodeDanmu error:",{message:i.message,name:i.name,stack:i.stack})}return n}async getEpisodeDanmuSegments(t){return I("info","[Dandan] \u83B7\u53D6\u5F39\u5F39play\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",t),new jt({type:"dandan",segmentList:[{type:"dandan",segment_start:0,segment_end:3e4,url:t}]})}async getEpisodeSegmentDanmu(t){return this.getEpisodeDanmu(t.url)}formatComments(t){return t.map(r=>r.isRealTimePulled?F.danmuSimplifiedTraditional==="simplified"&&r.m?{...r,m:mr(r.m)}:r:{cid:r.cid,p:`${r.p.replace(/([A-Za-z]+)([0-9a-fA-F]{6})/,(n,s,i)=>{let a=parseInt(i.substring(0,2),16),o=parseInt(i.substring(2,4),16),c=parseInt(i.substring(4,6),16),u=a*256*256+o*256+c;return`${s}${u}`})}`,m:F.danmuSimplifiedTraditional==="simplified"?mr(r.m):r.m})}}});var TM,abt=oe(()=>{oi();Gt();Ht();Lr();Ws();Ou();Pi();TM=class extends zt{async search(t){try{let r=await Le(`${F.customSourceApiUrl}/api/v2/search/anime?keyword=${t}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return!r||!r.data?(I("info","[Custom] customSourceSearchresp: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[]):r.data.animes?(I("info",`[Custom] \u641C\u7D22\u627E\u5230 ${r.data.animes.length} \u4E2A\u6709\u6548\u7ED3\u679C`),r.data.animes):(I("info","[Custom] customSourceSearchresp: seriesData \u6216 seriesList \u4E0D\u5B58\u5728"),[])}catch(r){return I("error","[Custom] getCustomSourceAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getEpisodes(t){try{let r=await Le(`${F.customSourceApiUrl}/api/v2/bangumi/${t}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return!r||!r.data?(I("info","[Custom] getCustomSourceEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[]):!r.data.bangumi||!r.data.bangumi.episodes?(I("info",`[Custom] getCustomSourceEposides: episodes \u4E0D\u5B58\u5728. Response: ${JSON.stringify(r.data)}`),[]):(I("info",`[Custom] getCustomSourceEposides: ${JSON.stringify(r.data.bangumi.episodes)}`),r.data.bangumi.episodes)}catch(r){return I("error","[Custom] getCustomSourceEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(t,r,n,s=null){let i=[];if(!t||!Array.isArray(t))return I("error","[Custom] sourceAnimes is not a valid array"),[];let a=await Promise.all(t.map(async o=>{try{let c=await this.getEpisodes(o.bangumiId),u=[];for(let l of c){let d=l.episodeTitle&&l.episodeTitle.trim()!==""?`${l.episodeTitle}`:`\u7B2C${l.episodeNumber}\u96C6`;u.push({name:d,url:l.episodeId.toString(),title:`\u3010custom\u3011 ${d}`})}if(u.length>0){let l={animeId:o.animeId,bangumiId:String(o.bangumiId),animeTitle:`${o.animeTitle}(${new Date(o.startDate).getFullYear()})\u3010${o.typeDescription}\u3011from custom`,type:o.type,typeDescription:o.typeDescription,imageUrl:o.imageUrl,startDate:o.startDate,episodeCount:u.length,rating:o.rating,isFavorited:!0,source:"custom"};i.push(l),rr({...l,links:u},s),F.animes.length>F.MAX_ANIMES&&ar()}}catch(c){I("error",`[Custom] Error processing anime: ${c.message}`)}}));return this.sortAndPushAnimesByYear(i,n),a}async getEpisodeDanmu(t){let r=[];try{let n=await Le(`${F.customSourceApiUrl}/api/v2/comment/${t}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1});return n.data&&n.data.comments&&(r=n.data.comments),r}catch(n){return I("error","[Custom] fetchCustomSourceEpisodeDanmu error:",{message:n.message,name:n.name,stack:n.stack}),r}}async getEpisodeDanmuSegments(t){return I("info","[Custom] \u83B7\u53D6Custom Source\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",t),new jt({type:"custom",segmentList:[{type:"custom",segment_start:0,segment_end:3e4,url:t}]})}async getEpisodeSegmentDanmu(t){return this.getEpisodeDanmu(t.url)}formatComments(t){return t.map(r=>({cid:r.cid,p:`${r.p.replace(/([A-Za-z]+)([0-9a-fA-F]{6})/,(n,s,i)=>{let a=parseInt(i.substring(0,2),16),o=parseInt(i.substring(2,4),16),c=parseInt(i.substring(4,6),16),u=a*256*256+o*256+c;return`${s}${u}`})}`,m:F.danmuSimplifiedTraditional==="simplified"?mr(r.m):r.m}))}}});function cbt(e){let t=ng[e];return e>=132&&(ng[e]=RM,RM=e),t}function nye(){return(IM===null||IM.byteLength===0)&&(IM=new Uint8Array(sye.buffer)),IM}function Q9(){return(bM===null||bM.byteLength===0)&&(bM=new Int32Array(sye.buffer)),bM}function ubt(e,t){return e=e>>>0,bd(nye().subarray(e,e+t))}function obt(e,t,r){if(r===void 0){let i=Kv(e),a=t(i.length,1)>>>0;return nye().subarray(a,a+i.length).set(i),z9=i.length,a}let n=Kv(e),s=t(n.length,1)>>>0;return nye().subarray(s,s+n.length).set(n),z9=n.length,s}function $jr(e){return e==null}function qjr(e){let t=atob(e.replace(/\s+/g,"")),r=new Uint8Array(t.length);for(let n=0;ncbt(n),__wbindgen_string_new:(n,s)=>{let i=ubt(n,s);RM===ng.length&&ng.push(ng.length+1);let a=RM;return RM=ng[a],ng[a]=i,a},__wbindgen_debug_string:()=>{}}};return Tl=(await WebAssembly.instantiate(e,t)).instance.exports,sye=Tl.memory,bM=null,IM=null,Tl}function Vjr(e,t){let r,n;try{let s=Tl.__wbindgen_add_to_stack_pointer(-16),i=obt(e,Tl.__wbindgen_malloc,Tl.__wbindgen_realloc),a=z9,o=$jr(t)?0:obt(t,Tl.__wbindgen_malloc,Tl.__wbindgen_realloc),c=z9;Tl.gateway_decrypt(s,i,a,o,c);let u=Q9()[s/4+0],l=Q9()[s/4+1],d=Q9()[s/4+2],f=Q9()[s/4+3],h=u,p=l;if(f)throw h=0,p=0,cbt(d);return r=h,n=p,ubt(h,p)}finally{Tl.__wbindgen_add_to_stack_pointer(16),r!==void 0&&n!==void 0&&Tl.__wbindgen_free(r,n,1)}}async function lbt(e,t){return e=e.replace(/\s+/g,""),await Hjr(),Vjr(e,t)}var Fjr,Tl,bM,IM,sye,z9,ng,RM,dbt=oe(()=>{Xi();Fjr=` +AGFzbQEAAAABWA5gAn9/AX9gA39/fwF/YAJ/fwBgA39/fwBgAX8Bf2ABfwBgBX9/f39/AX9gBX9/f39/AGAAAX9gBH9/f38AYAR/ +f39/AX9gAn5/AX9gBn9/f39/fwBgAAACXAMDd2JnGl9fd2JpbmRnZW5fb2JqZWN0X2Ryb3BfcmVmAAUDd2JnFV9fd2JpbmRnZW5f +c3RyaW5nX25ldwAAA3diZxdfX3diaW5kZ2VuX2RlYnVnX3N0cmluZwACA4gBhgEEAgUBAAIGBQMFAQMBAgMCAwMCAgAGAAsABQIB +CAcHAAIHBgMJAwwDAAMDCQAAAAACBwIDAwMDAAIDAwUAAQIBAwAABg0CCgAAAgUFAwIFBAQCAQAFAAoDBAAAAAAAAgICAgQABAQE +BAIEAAAEBQAAAAQEBAQAAAIAAAECAgABAQgAAAQEBQQFAXABOTkFAwEAEQYJAX8BQYCAwAALB58BCQZtZW1vcnkCAAZlbnNpZ24A +JA9nYXRld2F5X2VuY3J5cHQAIA9nYXRld2F5X2RlY3J5cHQAIQdnZXRfa2V5AIMBEV9fd2JpbmRnZW5fbWFsbG9jAEUSX193Ymlu +ZGdlbl9yZWFsbG9jAEkfX193YmluZGdlbl9hZGRfdG9fc3RhY2tfcG9pbnRlcgBvD19fd2JpbmRnZW5fZnJlZQBaCUgBAEEBCzhw +RF5fL4gBKzJXMYgBcnFfiAFKS247UUAZc2OIAWJBZE4jM4gBYYgBSlFCe3mIAVZ4UTptXWaIAWGIAQ8/fIABGyIKv+YChgG+IQIP +fwF+IwBBEGsiCyQAAkACQAJ/AkAgAEH1AU8EQEEIQQgQWCEGQRRBCBBYIQVBEEEIEFghAUEAQRBBCBBYQQJ0ayICQYCAfCABIAUg +Bmpqa0F3cUEDayIBIAEgAksbIABNDQQgAEEEakEIEFghBEG0psAAKAIARQ0DQQAgBGshAwJ/QQAgBEGAAkkNABpBHyAEQf///wdL +DQAaIARBBiAEQQh2ZyIAa3ZBAXEgAEEBdGtBPmoLIgZBAnRBmKPAAGooAgAiAUUEQEEAIQBBACEFDAILIAQgBhBTdCEHQQAhAEEA +IQUDQAJAIAEQdCICIARJDQAgAiAEayICIANPDQAgASEFIAIiAw0AQQAhAyABIQBBAAwECyABQRRqKAIAIgIgACACIAEgB0EddkEE +cWpBEGooAgAiAUcbIAAgAhshACAHQQF0IQcgAQ0ACwwBC0EQIABBBGpBEEEIEFhBBWsgAEsbQQgQWCEEQbCmwAAoAgAiASAEQQN2 +IgB2IgJBA3EEQAJAIAJBf3NBAXEgAGoiA0EDdCIAQbCkwABqKAIAIgVBCGooAgAiAiAAQaikwABqIgBHBEAgAiAANgIMIAAgAjYC +CAwBC0GwpsAAIAFBfiADd3E2AgALIAUgA0EDdBBQIAUQhgEhAwwECyAEQbimwAAoAgBNDQICQAJAAkACQAJAAkAgAkUEQEG0psAA +KAIAIgBFDQkgABBpaEECdEGYo8AAaigCACIBEHQgBGshAyABEFIiAARAA0AgABB0IARrIgIgAyACIANJIgIbIQMgACABIAIbIQEg +ABBSIgANAAsLIAEgBBCEASEFIAEQHEEQQQgQWCADSw0CIAEgBBBrIAUgAxBUQbimwAAoAgAiAA0BDAULAkBBASAAQR9xIgB0EFsg +AiAAdHEQaWgiAkEDdCIAQbCkwABqKAIAIgNBCGooAgAiASAAQaikwABqIgBHBEAgASAANgIMIAAgATYCCAwBC0GwpsAAQbCmwAAo +AgBBfiACd3E2AgALIAMgBBBrIAMgBBCEASIFIAJBA3QgBGsiAhBUQbimwAAoAgAiAA0CDAMLIABBeHFBqKTAAGohB0HApsAAKAIA +IQYCf0GwpsAAKAIAIgJBASAAQQN2dCIAcUUEQEGwpsAAIAAgAnI2AgAgBwwBCyAHKAIICyEAIAcgBjYCCCAAIAY2AgwgBiAHNgIM +IAYgADYCCAwDCyABIAMgBGoQUAwDCyAAQXhxQaikwABqIQdBwKbAACgCACEGAn9BsKbAACgCACIBQQEgAEEDdnQiAHFFBEBBsKbA +ACAAIAFyNgIAIAcMAQsgBygCCAshACAHIAY2AgggACAGNgIMIAYgBzYCDCAGIAA2AggLQcCmwAAgBTYCAEG4psAAIAI2AgAgAxCG +ASEDDAULQcCmwAAgBTYCAEG4psAAIAM2AgALIAEQhgEiA0UNAgwDCyAAIAVyRQRAQQAhBUEBIAZ0EFtBtKbAACgCAHEiAEUNAiAA +EGloQQJ0QZijwABqKAIAIQALQQELIQEDQCABRQRAIAUgACAFIAAQdCIBIARrIgYgA0kiAhsgASAESSIBGyEFIAMgBiADIAIbIAEb +IQMgABBSIQBBASEBDAELIAAEQEEAIQEMAQUgBUUNAiAEQbimwAAoAgAiAE0gAyAAIARrT3ENAiAFIAQQhAEhBiAFEBwCQEEQQQgQ +WCADTQRAIAUgBBBrIAYgAxBUIANBgAJPBEAgBiADEB0MAgsgA0F4cUGopMAAaiECAn9BsKbAACgCACIBQQEgA0EDdnQiAHFFBEBB +sKbAACAAIAFyNgIAIAIMAQsgAigCCAshACACIAY2AgggACAGNgIMIAYgAjYCDCAGIAA2AggMAQsgBSADIARqEFALIAUQhgEiAw0D +CwsLAkACQCAEQbimwAAoAgAiAEsEQCAEQbymwAAoAgAiAE8EQEEIQQgQWCAEakEUQQgQWGpBEEEIEFhqQYCABBBYIgBBEHZAACEC +IAtBBGoiAUEANgIIIAFBACAAQYCAfHEgAkF/RiIAGzYCBCABQQAgAkEQdCAAGzYCACALKAIEIghFBEBBACEDDAULIAsoAgwhDEHI +psAAIAsoAggiCkHIpsAAKAIAaiIBNgIAQcymwABBzKbAACgCACIAIAEgACABSxs2AgACQEHEpsAAKAIABEBBmKTAACEAA0AgABBs +IAhGDQIgACgCCCIADQALDAQLQdSmwAAoAgAiAEEAIAAgCE0bRQRAQdSmwAAgCDYCAAtB2KbAAEH/HzYCAEGkpMAAIAw2AgBBnKTA +ACAKNgIAQZikwAAgCDYCAEG0pMAAQaikwAA2AgBBvKTAAEGwpMAANgIAQbCkwABBqKTAADYCAEHEpMAAQbikwAA2AgBBuKTAAEGw +pMAANgIAQcykwABBwKTAADYCAEHApMAAQbikwAA2AgBB1KTAAEHIpMAANgIAQcikwABBwKTAADYCAEHcpMAAQdCkwAA2AgBB0KTA +AEHIpMAANgIAQeSkwABB2KTAADYCAEHYpMAAQdCkwAA2AgBB7KTAAEHgpMAANgIAQeCkwABB2KTAADYCAEH0pMAAQeikwAA2AgBB +6KTAAEHgpMAANgIAQfCkwABB6KTAADYCAEH8pMAAQfCkwAA2AgBB+KTAAEHwpMAANgIAQYSlwABB+KTAADYCAEGApcAAQfikwAA2 +AgBBjKXAAEGApcAANgIAQYilwABBgKXAADYCAEGUpcAAQYilwAA2AgBBkKXAAEGIpcAANgIAQZylwABBkKXAADYCAEGYpcAAQZCl +wAA2AgBBpKXAAEGYpcAANgIAQaClwABBmKXAADYCAEGspcAAQaClwAA2AgBBqKXAAEGgpcAANgIAQbSlwABBqKXAADYCAEG8pcAA +QbClwAA2AgBBsKXAAEGopcAANgIAQcSlwABBuKXAADYCAEG4pcAAQbClwAA2AgBBzKXAAEHApcAANgIAQcClwABBuKXAADYCAEHU +pcAAQcilwAA2AgBByKXAAEHApcAANgIAQdylwABB0KXAADYCAEHQpcAAQcilwAA2AgBB5KXAAEHYpcAANgIAQdilwABB0KXAADYC +AEHspcAAQeClwAA2AgBB4KXAAEHYpcAANgIAQfSlwABB6KXAADYCAEHopcAAQeClwAA2AgBB/KXAAEHwpcAANgIAQfClwABB6KXA +ADYCAEGEpsAAQfilwAA2AgBB+KXAAEHwpcAANgIAQYymwABBgKbAADYCAEGApsAAQfilwAA2AgBBlKbAAEGIpsAANgIAQYimwABB +gKbAADYCAEGcpsAAQZCmwAA2AgBBkKbAAEGIpsAANgIAQaSmwABBmKbAADYCAEGYpsAAQZCmwAA2AgBBrKbAAEGgpsAANgIAQaCm +wABBmKbAADYCAEGopsAAQaCmwAA2AgBBCEEIEFghBUEUQQgQWCECQRBBCBBYIQFBxKbAACAIIAgQhgEiAEEIEFggAGsiABCEASID +NgIAQbymwAAgCkEIaiABIAIgBWpqIABqayIFNgIAIAMgBUEBcjYCBEEIQQgQWCECQRRBCBBYIQFBEEEIEFghACADIAUQhAEgACAB +IAJBCGtqajYCBEHQpsAAQYCAgAE2AgAMBAsgABB2DQIgABB3IAxHDQIgACgCACICQcSmwAAoAgAiAU0EfyACIAAoAgRqIAFLBUEA +C0UNAiAAIAAoAgQgCmo2AgRBvKbAACgCACAKaiEBQcSmwAAoAgAiACAAEIYBIgBBCBBYIABrIgAQhAEhA0G8psAAIAEgAGsiBTYC +AEHEpsAAIAM2AgAgAyAFQQFyNgIEQQhBCBBYIQJBFEEIEFghAUEQQQgQWCEAIAMgBRCEASAAIAEgAkEIa2pqNgIEQdCmwABBgICA +ATYCAAwDC0G8psAAIAAgBGsiATYCAEHEpsAAQcSmwAAoAgAiAiAEEIQBIgA2AgAgACABQQFyNgIEIAIgBBBrIAIQhgEhAwwDC0HA +psAAKAIAIQJBEEEIEFggACAEayIBTQRAIAIgBBCEASEAQbimwAAgATYCAEHApsAAIAA2AgAgACABEFQgAiAEEGsgAhCGASEDDAML +QcCmwABBADYCAEG4psAAKAIAIQBBuKbAAEEANgIAIAIgABBQIAIQhgEhAwwCC0HUpsAAQdSmwAAoAgAiACAIIAAgCEkbNgIAIAgg +CmohAUGYpMAAIQACQANAIAEgACgCAEcEQCAAKAIIIgANAQwCCwsgABB2DQAgABB3IAxHDQAgACgCACEDIAAgCDYCACAAIAAoAgQg +Cmo2AgQgCBCGASIFQQgQWCECIAMQhgEiAUEIEFghACAIIAIgBWtqIgYgBBCEASEHIAYgBBBrIAMgACABa2oiACAEIAZqayEEAkBB +xKbAACgCACAARwRAIABBwKbAACgCAEYNASAAKAIEQQNxQQFGBEACQCAAEHQiBUGAAk8EQCAAEBwMAQsgAEEMaigCACICIABBCGoo +AgAiAUcEQCABIAI2AgwgAiABNgIIDAELQbCmwABBsKbAACgCAEF+IAVBA3Z3cTYCAAsgBCAFaiEEIAAgBRCEASEACyAHIAQgABBP +IARBgAJPBEAgByAEEB0gBhCGASEDDAULIARBeHFBqKTAAGohAgJ/QbCmwAAoAgAiAUEBIARBA3Z0IgBxRQRAQbCmwAAgACABcjYC +ACACDAELIAIoAggLIQAgAiAHNgIIIAAgBzYCDCAHIAI2AgwgByAANgIIIAYQhgEhAwwEC0HEpsAAIAc2AgBBvKbAAEG8psAAKAIA +IARqIgA2AgAgByAAQQFyNgIEIAYQhgEhAwwDC0HApsAAIAc2AgBBuKbAAEG4psAAKAIAIARqIgA2AgAgByAAEFQgBhCGASEDDAIL +QcSmwAAoAgAhCUGYpMAAIQACQANAIAkgACgCAE8EQCAAEGwgCUsNAgsgACgCCCIADQALQQAhAAsgCSAAEGwiBkEUQQgQWCIPa0EX +ayIBEIYBIgBBCBBYIABrIAFqIgAgAEEQQQgQWCAJakkbIg0QhgEhDiANIA8QhAEhAEEIQQgQWCEDQRRBCBBYIQVBEEEIEFghAkHE +psAAIAggCBCGASIBQQgQWCABayIBEIQBIgc2AgBBvKbAACAKQQhqIAIgAyAFamogAWprIgM2AgAgByADQQFyNgIEQQhBCBBYIQVB +FEEIEFghAkEQQQgQWCEBIAcgAxCEASABIAIgBUEIa2pqNgIEQdCmwABBgICAATYCACANIA8Qa0GYpMAAKQIAIRAgDkEIakGgpMAA +KQIANwIAIA4gEDcCAEGkpMAAIAw2AgBBnKTAACAKNgIAQZikwAAgCDYCAEGgpMAAIA42AgADQCAAQQQQhAEgAEEHNgIEIgBBBGog +BkkNAAsgCSANRg0AIAkgDSAJayIAIAkgABCEARBPIABBgAJPBEAgCSAAEB0MAQsgAEF4cUGopMAAaiECAn9BsKbAACgCACIBQQEg +AEEDdnQiAHFFBEBBsKbAACAAIAFyNgIAIAIMAQsgAigCCAshACACIAk2AgggACAJNgIMIAkgAjYCDCAJIAA2AggLQQAhA0G8psAA +KAIAIgAgBE0NAEG8psAAIAAgBGsiATYCAEHEpsAAQcSmwAAoAgAiAiAEEIQBIgA2AgAgACABQQFyNgIEIAIgBBBrIAIQhgEhAwsg +C0EQaiQAIAMLrRABGH8gACABKAIQIgkgASgCICIHIAEoAjAiCiABKAIAIgsgASgCJCIMIAEoAjQiDSABKAIEIg4gASgCFCIPIA0g +DCAPIA4gCiAHIAkgCyAAKAIAIhkgACgCCCIQIAAoAgQiCHFqIAAoAgwiGCAIQX9zcWpqQYi31cQCa0EHdyAIaiICaiAOIBhqIBAg +AkF/c3FqIAIgCHFqQaqR4bkBa0EMdyACaiIDIAggASgCDCIRaiACIAMgECABKAIIIhJqIAggA0F/c3FqIAIgA3FqQdvhgaECakER +d2oiBUF/c3FqIAMgBXFqQZLiiPIDa0EWdyAFaiIEQX9zcWogBCAFcWpB0eCP1ABrQQd3IARqIgJqIAMgD2ogBSACQX9zcWogAiAE +cWpBqoyfvARqQQx3IAJqIgMgASgCHCITIARqIAIgAyABKAIYIhQgBWogBCADQX9zcWogAiADcWpB7fO+vgVrQRF3aiIFQX9zcWog +AyAFcWpB/9XlFWtBFncgBWoiAkF/c3FqIAIgBXFqQdixgswGakEHdyACaiIEaiADIAxqIAUgBEF/c3FqIAIgBHFqQdGQ7KUHa0EM +dyAEaiIDIAEoAiwiFSACaiAEIAMgASgCKCIWIAVqIAIgA0F/c3FqIAMgBHFqQc/IAmtBEXdqIgJBf3NxaiACIANxakHC0Iy1B2tB +FncgAmoiBUF/c3FqIAIgBXFqQaKiwNwGakEHdyAFaiIGaiABKAI4IhcgAmogBSADIA1qIAIgBkF/c3FqIAUgBnFqQe2cnhNrQQx3 +IAZqIgRBf3MiAnFqIAQgBnFqQfL4mswFa0ERdyAEaiIDIAJxaiAFIAEoAjwiBWogBiADQX9zIgFxaiADIARxakGhkNDNBGpBFncg +A2oiBiAEcWpBnrWHzwBrQQV3IAZqIgJqIAMgFWogAiAGQX9zcWogBCAUaiABIAZxaiACIANxakHAmf39A2tBCXcgAmoiBCAGcWpB +0bT5sgJqQQ53IARqIgMgBEF/c3FqIAYgC2ogBCACQX9zcWogAiADcWpB1vCksgFrQRR3IANqIgIgBHFqQaPfw84Ca0EFdyACaiIB +aiADIAVqIAEgAkF/c3FqIAQgFmogAiADQX9zcWogASADcWpB06iQEmpBCXcgAWoiBCACcWpB/7L4ugJrQQ53IARqIgMgBEF/c3Fq +IAIgCWogBCABQX9zcWogASADcWpBuIiwwQFrQRR3IANqIgIgBHFqQeabh48CakEFdyACaiIBaiADIBFqIAEgAkF/c3FqIAQgF2og +AiADQX9zcWogASADcWpBqvCj5gNrQQl3IAFqIgQgAnFqQfnkq9kAa0EOdyAEaiIDIARBf3NxaiACIAdqIAQgAUF/c3FqIAEgA3Fq +Qe2p6KoEakEUdyADaiICIARxakH7rfCwBWtBBXcgAmoiAWogAiAKaiAEIBJqIAIgA0F/c3FqIAEgA3FqQYi4wRhrQQl3IAFqIgYg +AUF/c3FqIAMgE2ogASACQX9zcWogAiAGcWpB2YW8uwZqQQ53IAZqIgQgAXFqQfbm1pYHa0EUdyAEaiIDIARzIgEgBnNqQb6NF2tB +BHcgA2oiAmogBCAVaiACIAYgB2ogASACc2pB/5K4xAdrQQt3IAJqIgJzIgEgA3NqQaLC9ewGakEQdyACaiIEIAJzIAMgF2ogASAE +c2pB9I/rEGtBF3cgBGoiB3NqQbyrhNoFa0EEdyAHaiIBaiAEIBNqIAIgCWogBCAHcyABc2pBqZ/73gRqQQt3IAFqIgQgASAHc3Nq +QaDpksoAa0EQdyAEaiIDIARzIAcgFmogASAEcyADc2pBkIeBigRrQRd3IANqIgJzakHG/e3EAmpBBHcgAmoiAWogAyARaiAEIAtq +IAIgA3MgAXNqQYaw+6oBa0ELdyABaiIEIAEgAnNzakH7nsPYAmtBEHcgBGoiAyAEcyACIBRqIAEgBHMgA3NqQYW6oCRqQRd3IANq +IgJzakHH36yxAmtBBHcgAmoiAWogAiASaiAEIApqIAIgA3MgAXNqQZvMkckBa0ELdyABaiIEIAFzIAMgBWogASACcyAEc2pB+PmJ +/QFqQRB3IARqIgNzakGb087aA2tBF3cgA2oiAiAEQX9zciADc2pBvLvb3gBrQQZ3IAJqIgFqIAIgD2ogAyAXaiAEIBNqIAEgA0F/ +c3IgAnNqQZf/q5kEakEKdyABaiIEIAJBf3NyIAFzakHZuK+jBWtBD3cgBGoiAyABQX9zciAEc2pBx7+xG2tBFXcgA2oiAiAEQX9z +ciADc2pBw7PtqgZqQQZ3IAJqIgFqIAIgDmogAyAWaiAEIBFqIAEgA0F/c3IgAnNqQe7mzIcHa0EKdyABaiIEIAJBf3NyIAFzakGD +l8AAa0EPdyAEaiICIAFBf3NyIARzakGvxO7TB2tBFXcgAmoiASAEQX9zciACc2pBz/yh/QZqQQZ3IAFqIgNqIAEgDWogAiAUaiAE +IAVqIAMgAkF/c3IgAXNqQaCyzA5rQQp3IANqIgIgAUF/c3IgA3NqQez5+ucFa0EPdyACaiIBIANBf3NyIAJzakGho6DwBGpBFXcg +AWoiBCACQX9zciABc2pB/oKyxQBrQQZ3IARqIgMgGWo2AgAgACAYIAIgFWogAyABQX9zciAEc2pBy5uUlgRrQQp3IANqIgJqNgIM +IAAgECABIBJqIAIgBEF/c3IgA3NqQbul39YCakEPdyACaiIBajYCCCAAIAEgCGogBCAMaiABIANBf3NyIAJzakHv2OSjAWtBFXdq +NgIEC5IHAQV/IAAQhwEiACAAEHQiARCEASECAkACQAJAAkACQAJAAkACQAJAIAAQdQ0AIAAoAgAhAyAAEGoNASABIANqIQEgACAD +EIUBIgBBwKbAACgCAEYEQCACKAIEQQNxQQNHDQFBuKbAACABNgIAIAAgASACEE8MCQsgA0GAAk8EQCAAEBwMAQsgAEEMaigCACIE +IABBCGooAgAiBUcEQCAFIAQ2AgwgBCAFNgIIDAELQbCmwABBsKbAACgCAEF+IANBA3Z3cTYCAAsgAhBlDQIgAkHEpsAAKAIARg0E +IAJBwKbAACgCAEcNAUHApsAAIAA2AgBBuKbAAEG4psAAKAIAIAFqIgI2AgAgACACEFQPCyABIANqQRBqIQAMBgsgAhB0IgMgAWoh +AQJAIANBgAJPBEAgAhAcDAELIAJBDGooAgAiBCACQQhqKAIAIgJHBEAgAiAENgIMIAQgAjYCCAwBC0GwpsAAQbCmwAAoAgBBfiAD +QQN2d3E2AgALIAAgARBUIABBwKbAACgCAEcNAUG4psAAIAE2AgAPCyAAIAEgAhBPCyABQYACSQ0BIAAgARAdQdimwABB2KbAACgC +AEEBayIANgIAIAANAxAfGg8LQcSmwAAgADYCAEG8psAAQbymwAAoAgAgAWoiAjYCACAAIAJBAXI2AgRBwKbAACgCACAARgRAQbim +wABBADYCAEHApsAAQQA2AgALIAJB0KbAACgCAE0NAkEIQQgQWCEAQRRBCBBYIQJBEEEIEFghA0EAQRBBCBBYQQJ0ayIBQYCAfCAD +IAAgAmpqa0F3cUEDayIAIAAgAUsbRQ0CQcSmwAAoAgBFDQJBCEEIEFghAEEUQQgQWCECQRBBCBBYIQFBACEDQbymwAAoAgAiBCAB +IAIgAEEIa2pqIgBNDQEgBCAAa0H//wNqQYCAfHEiBEGAgARrIQJBxKbAACgCACEBQZikwAAhAAJAA0AgASAAKAIATwRAIAAQbCAB +Sw0CCyAAKAIIIgANAAtBACEACyAAEHYNASAAKAIMGgwBCyABQXhxQaikwABqIQICf0GwpsAAKAIAIgNBASABQQN2dCIBcUUEQEGw +psAAIAEgA3I2AgAgAgwBCyACKAIICyEDIAIgADYCCCADIAA2AgwgACACNgIMIAAgAzYCCA8LEB9BACADa0cNAEG8psAAKAIAQdCm +wAAoAgBNDQBB0KbAAEF/NgIACwv0BgEIfwJAIAAoAgAiCiAAKAIIIgNyBEACQCADRQ0AIAEgAmohCCAAQQxqKAIAQQFqIQcgASEF +A0ACQCAFIQMgB0EBayIHRQ0AIAMgCEYNAgJ/IAMsAAAiBkEATgRAIAZB/wFxIQYgA0EBagwBCyADLQABQT9xIQkgBkEfcSEFIAZB +X00EQCAFQQZ0IAlyIQYgA0ECagwBCyADLQACQT9xIAlBBnRyIQkgBkFwSQRAIAkgBUEMdHIhBiADQQNqDAELIAVBEnRBgIDwAHEg +Ay0AA0E/cSAJQQZ0cnIiBkGAgMQARg0DIANBBGoLIgUgBCADa2ohBCAGQYCAxABHDQEMAgsLIAMgCEYNACADLAAAIgVBAE4gBUFg +SXIgBUFwSXJFBEAgBUH/AXFBEnRBgIDwAHEgAy0AA0E/cSADLQACQT9xQQZ0IAMtAAFBP3FBDHRycnJBgIDEAEYNAQsCQAJAIARF +DQAgAiAETQRAQQAhAyACIARGDQEMAgtBACEDIAEgBGosAABBQEgNAQsgASEDCyAEIAIgAxshAiADIAEgAxshAQsgCkUNASAAKAIE +IQgCQCACQRBPBEAgASACEAchAwwBCyACRQRAQQAhAwwBCyACQQNxIQcCQCACQQRJBEBBACEDQQAhBgwBCyACQXxxIQVBACEDQQAh +BgNAIAMgASAGaiIELAAAQb9/SmogBEEBaiwAAEG/f0pqIARBAmosAABBv39KaiAEQQNqLAAAQb9/SmohAyAFIAZBBGoiBkcNAAsL +IAdFDQAgASAGaiEFA0AgAyAFLAAAQb9/SmohAyAFQQFqIQUgB0EBayIHDQALCwJAIAMgCEkEQCAIIANrIQRBACEDAkACQAJAIAAt +ACBBAWsOAgABAgsgBCEDQQAhBAwBCyAEQQF2IQMgBEEBakEBdiEECyADQQFqIQMgAEEYaigCACEFIAAoAhAhBiAAKAIUIQADQCAD +QQFrIgNFDQIgACAGIAUoAhARAABFDQALQQEPCwwCC0EBIQMgACABIAIgBSgCDBEBAAR/IAMFQQAhAwJ/A0AgBCADIARGDQEaIANB +AWohAyAAIAYgBSgCEBEAAEUNAAsgA0EBawsgBEkLDwsgACgCFCABIAIgAEEYaigCACgCDBEBAA8LIAAoAhQgASACIABBGGooAgAo +AgwRAQAL1wYBCH8CQAJAIAEgAEEDakF8cSICIABrIghJDQAgASAIayIGQQRJDQAgBkEDcSEHQQAhAQJAIAAgAkYiCQ0AAkAgAiAA +QX9zakEDSQRADAELA0AgASAAIARqIgMsAABBv39KaiADQQFqLAAAQb9/SmogA0ECaiwAAEG/f0pqIANBA2osAABBv39KaiEBIARB +BGoiBA0ACwsgCQ0AIAAgAmshAyAAIARqIQIDQCABIAIsAABBv39KaiEBIAJBAWohAiADQQFqIgMNAAsLIAAgCGohBAJAIAdFDQAg +BCAGQXxxaiIALAAAQb9/SiEFIAdBAUYNACAFIAAsAAFBv39KaiEFIAdBAkYNACAFIAAsAAJBv39KaiEFCyAGQQJ2IQYgASAFaiED +A0AgBCEAIAZFDQJBwAEgBiAGQcABTxsiBUEDcSEHIAVBAnQhBEEAIQIgBUEETwRAIAAgBEHwB3FqIQggACEBA0AgAiABKAIAIgJB +f3NBB3YgAkEGdnJBgYKECHFqIAFBBGooAgAiAkF/c0EHdiACQQZ2ckGBgoQIcWogAUEIaigCACICQX9zQQd2IAJBBnZyQYGChAhx +aiABQQxqKAIAIgJBf3NBB3YgAkEGdnJBgYKECHFqIQIgAUEQaiIBIAhHDQALCyAGIAVrIQYgACAEaiEEIAJBCHZB/4H8B3EgAkH/ +gfwHcWpBgYAEbEEQdiADaiEDIAdFDQALAn8gACAFQfwBcUECdGoiACgCACIBQX9zQQd2IAFBBnZyQYGChAhxIgEgB0EBRg0AGiAB +IAAoAgQiAUF/c0EHdiABQQZ2ckGBgoQIcWoiASAHQQJGDQAaIAAoAggiAEF/c0EHdiAAQQZ2ckGBgoQIcSABagsiAUEIdkH/gRxx +IAFB/4H8B3FqQYGABGxBEHYgA2oPCyABRQRAQQAPCyABQQNxIQQCQCABQQRJBEBBACECDAELIAFBfHEhBUEAIQIDQCADIAAgAmoi +ASwAAEG/f0pqIAFBAWosAABBv39KaiABQQJqLAAAQb9/SmogAUEDaiwAAEG/f0pqIQMgBSACQQRqIgJHDQALCyAERQ0AIAAgAmoh +AQNAIAMgASwAAEG/f0pqIQMgAUEBaiEBIARBAWsiBA0ACwsgAwunBgEGfyMAQeADayIFJAAgBUEAQeADEIEBIgUgASABEBQgBUEg +aiABQRBqIgEgARAUQcAAIQZBCCEHA0AgBSAHEDUgAyAFaiIBQUBrIgQQDCAEIAQoAgBBf3M2AgAgAUHEAGoiBCAEKAIAQX9zNgIA +IAFB1ABqIgQgBCgCAEF/czYCACABQdgAaiIEIAQoAgBBf3M2AgAgBSAGaiIEIAQoAgBBgIADczYCACAFIAdBCGoiB0EOECogA0GA +A0YEQCAFQeAAaiEHIAVBQGshAyAFQSBqIQZBAyEEA0AgBEEBayEEQQAhAQNAIAEgBmoiAiACKAIAIgIgAiACQQR2c0GAmLwYcSIC +QQR0cyACcyICIAIgAkECdnNBgOaAmANxIgJBAnRzIAJzNgIAIAFBBGoiAUEgRw0AC0EAIQEDQCABIANqIgIgAigCACICIAIgAkEE +dnNBgJ6A+ABxIgJBBHRzIAJzNgIAIAFBBGoiAUEgRw0AC0EAIQEDQCABIAdqIgIgAigCACICIAIgAkEEdnNBgIa84ABxIgJBBHRz +IAJzIgIgAiACQQJ2c0GA5oCYA3EiAkECdHMgAnM2AgAgAUEEaiIBQSBHDQALIAdBgAFqIQcgA0GAAWohAyAGQYABaiEGIAQNAAtB +oAMhAQNAIAEgBWoiAyADKAIAIgMgAyADQQR2c0GAmLwYcSIDQQR0cyADcyIDIAMgA0ECdnNBgOaAmANxIgNBAnRzIANzNgIAIAFB +BGoiAUHAA0cNAAtBACEDA0AgAyAFaiIBQSBqIgYgBigCAEF/czYCACABQSRqIgYgBigCAEF/czYCACABQTRqIgYgBigCAEF/czYC +ACABQThqIgEgASgCAEF/czYCACADQSBqIgNBwANHDQALIAAgBUHgAxCCARogBUHgA2okAAUgBSAHEDUgAUHgAGoiBBAMIAQgBCgC +AEF/czYCACABQeQAaiIEIAQoAgBBf3M2AgAgAUH0AGoiBCAEKAIAQX9zNgIAIAFB+ABqIgEgASgCAEF/czYCACAFIAdBCGoiB0EG +ECogBkHEAGohBiADQUBrIQMMAQsLC7QFAQh/QStBgIDEACAAKAIcIghBAXEiBhshDCAEIAZqIQYCQCAIQQRxRQRAQQAhAQwBCwJA +IAJBEE8EQCABIAIQByEFDAELIAJFBEAMAQsgAkEDcSEJAkAgAkEESQRADAELIAJBfHEhCgNAIAUgASAHaiILLAAAQb9/SmogC0EB +aiwAAEG/f0pqIAtBAmosAABBv39KaiALQQNqLAAAQb9/SmohBSAKIAdBBGoiB0cNAAsLIAlFDQAgASAHaiEHA0AgBSAHLAAAQb9/ +SmohBSAHQQFqIQcgCUEBayIJDQALCyAFIAZqIQYLAkACQCAAKAIARQRAQQEhBSAAKAIUIgYgACgCGCIAIAwgASACEEYNAQwCCyAG +IAAoAgQiB08EQEEBIQUgACgCFCIGIAAoAhgiACAMIAEgAhBGDQEMAgsgCEEIcQRAIAAoAhAhCCAAQTA2AhAgAC0AICEKQQEhBSAA +QQE6ACAgACgCFCIJIAAoAhgiCyAMIAEgAhBGDQEgByAGa0EBaiEFAkADQCAFQQFrIgVFDQEgCUEwIAsoAhARAABFDQALQQEPC0EB +IQUgCSADIAQgCygCDBEBAA0BIAAgCjoAICAAIAg2AhBBACEFDAELIAcgBmshBgJAAkACQCAALQAgIgVBAWsOAwABAAILIAYhBUEA +IQYMAQsgBkEBdiEFIAZBAWpBAXYhBgsgBUEBaiEFIABBGGooAgAhCCAAKAIQIQogACgCFCEAAkADQCAFQQFrIgVFDQEgACAKIAgo +AhARAABFDQALQQEPC0EBIQUgACAIIAwgASACEEYNACAAIAMgBCAIKAIMEQEADQBBACEFA0AgBSAGRgRAQQAPCyAFQQFqIQUgACAK +IAgoAhARAABFDQALIAVBAWsgBkkPCyAFDwsgBiADIAQgACgCDBEBAAvYBAEcfyAAIAAoAggiBCAAKAIEIgVzIgwgACgCHCINIAAo +AhAiAXMiFiAAKAIYIgJzIhcgFnFzIAIgDXMiAyAAKAIMIgYgACgCACIHcyIIcyIJcyADIAUgB3MiCnMiEyABIAJzIg8gBCAAKAIU +IgRzIhBzIhlxIhRzIAYgF3MiFSABIAZzIgEgDHMiGHEgCSAYcyABcSILcyIOcyIRIA4gDyABIAdzIhpxIAIgBXMiBSAEIAZzcyIH +IAEgCnMiDnJzcyIScSICIAsgAyAJcXMiCyAHIA5xIAogD3MiCiAEcyIbIAUgCHMiHHFzIAFzIARzcyIGcyARIBQgCiANIBBzIhRx +IAhzcyALcyIEcyIIcSAEcyIFIAYgEnMiCyACIARzcSAGcyINcyIQIAFxIAogDXEiCnMgDSALIAQgEnFBf3NxIAJzIgFzIgQgE3Eg +AyACIAYgEXEgCHFzIAhzIgIgAXMiA3EiCHMiEXM2AgAgACAHIAIgBXMiB3EiBiAFIBtxIhJzIAMgEHMiEyAVcSIVIAMgCXEiA3Mi +CyAQIAkgDHNxIgwgByAOcSIHIAIgD3EiD3NzIg5zIglzNgIcIAAgDCACIBpxIgIgASAXcXMiDCAGIAUgHHFzc3MiBSADIA0gFHEi +AyABIBZxcyIBIA9zcyARc3M2AhggACABIApzIgEgB3MgC3MgBXM2AhQgACADIAQgGXEiA3MgCXM2AhAgACATIBhxIAJzIA5zIgIg +ASADIBJzIgEgCHNzczYCDCAAIAEgDHMgCXM2AgggACAGIBVzIAJzNgIEC9QFAgZ/An4CQCACRQ0AIAJBB2siA0EAIAIgA08bIQcg +AUEDakF8cSABayEIQQAhAwNAAkACQAJAIAEgA2otAAAiBcAiBkEATgRAIAggA2tBA3ENASADIAdPDQIDQCABIANqIgRBBGooAgAg +BCgCAHJBgIGChHhxDQMgA0EIaiIDIAdJDQALDAILQoCAgICAICEKQoCAgIAQIQkCQAJAAn4CQAJAAkACQAJAAkACQAJAAkAgBUGM +oMAAai0AAEECaw4DAAECCgsgA0EBaiIEIAJJDQJCACEKQgAhCQwJC0IAIQogA0EBaiIEIAJJDQJCACEJDAgLQgAhCiADQQFqIgQg +AkkNAkIAIQkMBwsgASAEaiwAAEG/f0oNBgwHCyABIARqLAAAIQQCQAJAIAVB4AFrIgUEQCAFQQ1GBEAMAgUMAwsACyAEQWBxQaB/ +Rg0EDAMLIARBn39KDQIMAwsgBkEfakH/AXFBDE8EQCAGQX5xQW5HDQIgBEFASA0DDAILIARBQEgNAgwBCyABIARqLAAAIQQCQAJA +AkACQCAFQfABaw4FAQAAAAIACyAGQQ9qQf8BcUECSyAEQUBOcg0DDAILIARB8ABqQf8BcUEwTw0CDAELIARBj39KDQELIAIgA0EC +aiIETQRAQgAhCQwFCyABIARqLAAAQb9/Sg0CQgAhCSADQQNqIgQgAk8NBCABIARqLAAAQb9/TA0FQoCAgICA4AAMAwtCgICAgIAg +DAILQgAhCSADQQJqIgQgAk8NAiABIARqLAAAQb9/TA0DC0KAgICAgMAACyEKQoCAgIAQIQkLIAAgCiADrYQgCYQ3AgQgAEEBNgIA +DwsgBEEBaiEDDAILIANBAWohAwwBCyACIANNDQADQCABIANqLAAAQQBIDQEgAiADQQFqIgNHDQALDAILIAIgA0sNAAsLIAAgATYC +BCAAQQhqIAI2AgAgAEEANgIAC6YEARt/IAAgACgCHCIBIAAoAgQiBHMiByAAKAIQIgUgACgCCCIKcyIMcyIRIAAoAgxzIgggACgC +GCIGcyILIAEgBXMiEnMiCSAGIAAoAhRzIgJzIgMgBCACIAAoAgAiBHMiBnMiEyAGcXMgAyAHcSINcyAHcyAJIBJxIg4gAiAIIApz +IgJzIgggCXMiFyAMcXMiD3MiECAPIAIgEXEiDyALIAIgBHMiGCATIAEgCnMiCnMiGXFzc3MiFHEiCyAIIApxIA5zIg4gDyAFIAZz +Ig8gBHEgCnMgCHNzcyIFcyAOIA0gAyAEIAlzIg0gASAGcyIOcXNzIAFzcyIBIBBzcSIVIAtzIAFxIhYgEHMiECACcSIaIAQgASAV +cyIEcXMiFSAFIAEgC3MiAiAFIBRzIgVxcyIBIA1xcyADIAIgFnMgAXEgBXMiAyABcyILcSINcyIUIAMgE3FzIAwgAyAEIBBzIgJz +IgUgASAEcyIMcyITcSAMIBJxIhJzIhZzIhsgDSADIAZxcyIGIBMgF3FzIgMgByALcSIHIAUgCHEgFXNzcyIIczYCBCAAIAcgG3M2 +AgAgACAWIAIgGXFzIgcgECARcXMiESADIAkgDHFzIglzNgIcIAAgCCABIA5xcyIDIAUgCnEgEnMgCXNzNgIUIAAgAiAYcSAacyAG +cyARcyIBNgIQIAAgByAEIA9xcyADczYCCCAAIAEgCXM2AhggACABIBRzNgIMC4YFAQp/IwBBMGsiAyQAIANBJGogATYCACADQQM6 +ACwgA0EgNgIcIANBADYCKCADIAA2AiAgA0EANgIUIANBADYCDAJ/AkACQAJAIAIoAhAiCkUEQCACQQxqKAIAIgBFDQEgAigCCCEB +IABBA3QhBSAAQQFrQf////8BcUEBaiEHIAIoAgAhAANAIABBBGooAgAiBARAIAMoAiAgACgCACAEIAMoAiQoAgwRAQANBAsgASgC +ACADQQxqIAFBBGooAgARAAANAyABQQhqIQEgAEEIaiEAIAVBCGsiBQ0ACwwBCyACQRRqKAIAIgBFDQAgAEEFdCELIABBAWtB//// +P3FBAWohByACKAIIIQggAigCACEAA0AgAEEEaigCACIBBEAgAygCICAAKAIAIAEgAygCJCgCDBEBAA0DCyADIAUgCmoiAUEQaigC +ADYCHCADIAFBHGotAAA6ACwgAyABQRhqKAIANgIoIAFBDGooAgAhBkEAIQlBACEEAkACQAJAIAFBCGooAgBBAWsOAgACAQsgBkED +dCAIaiIMKAIEQS1HDQEgDCgCACgCACEGC0EBIQQLIAMgBjYCECADIAQ2AgwgAUEEaigCACEEAkACQAJAIAEoAgBBAWsOAgACAQsg +BEEDdCAIaiIGKAIEQS1HDQEgBigCACgCACEEC0EBIQkLIAMgBDYCGCADIAk2AhQgCCABQRRqKAIAQQN0aiIBKAIAIANBDGogASgC +BBEAAA0CIABBCGohACALIAVBIGoiBUcNAAsLIAcgAigCBE8NASADKAIgIAIoAgAgB0EDdGoiACgCACAAKAIEIAMoAiQoAgwRAQBF +DQELQQEMAQtBAAsgA0EwaiQAC4cVARV/IwBBIGsiAyQAIANBGGpCADcDACADQRBqQgA3AwAgA0EIakIANwMAIANCADcDACADIAIg +AkEQahAUIAFBwANqIQpBACECA0AgAiADaiITIBMoAgAgAiAKaigCAHM2AgAgAkEEaiICQSBHDQALIAMQCkEAIQIDQCACIANqIgog +CigCACIKIAogCkEEdnNBgJ6A+ABxIgpBBHRzIApzNgIAIAJBBGoiAkEgRw0ACyABQcACaiETIAFB4AJqIRQgAUGAA2ohFSABQaAD +aiEWQegAIQoCQANAQQAhAgNAIAIgA2oiBiAGKAIAIAIgFmooAgBzNgIAIAJBBGoiAkEgRw0ACyADIAMoAhgiBkEWd0G//vz5A3Eg +BkEed0HAgYOGfHFyIAZzIgkgAygCHCICcyIHIAJBFndBv/78+QNxIAJBHndBwIGDhnxxciACcyICIAMoAhAiBUEWd0G//vz5A3Eg +BUEed0HAgYOGfHFyIAVzIgwgAygCFCIEcyINcyILQQx3QY+evPgAcSALQRR3QfDhw4d/cXJzIAtzNgIcIAMgBiAEIARBFndBv/78 ++QNxIARBHndBwIGDhnxxcnMiCHMiBiADKAIAIgRBFndBv/78+QNxIARBHndBwIGDhnxxciAEcyIPcyILIAtBDHdBj568+ABxIAtB +FHdB8OHDh39xcnMgAiAEcyILczYCACADIAYgCSAFIAMoAgwiBEEWd0G//vz5A3EgBEEed0HAgYOGfHFyIARzIg5zIAJzIhBzIgVB +DHdBj568+ABxIAVBFHdB8OHDh39xcnMgBXM2AhggAyANIAQgAygCCCIFQRZ3Qb/+/PkDcSAFQR53QcCBg4Z8cXIgBXMiCXMgAnMi +ESAHIAhzcyIEQQx3QY+evPgAcSAEQRR3QfDhw4d/cXJzIARzNgIUIAMgECAGIAdzIg0gDCAFIAMoAgQiBEEWd0G//vz5A3EgBEEe +d0HAgYOGfHFyIARzIghzIhJzcyIFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAVzNgIQIAMgESAEIA9zIAJzIgUgBiAOc3MiAkEM +d0GPnrz4AHEgAkEUd0Hw4cOHf3FycyACczYCDCADIBIgByAJcyALcyICQQx3QY+evPgAcSACQRR3QfDhw4d/cXJzIAJzNgIIIAMg +BSAIIA1zIgJBDHdBj568+ABxIAJBFHdB8OHDh39xcnMgAnM2AgQgAxAKIApBCEYEQEEAIQIDQCACIANqIgogCigCACABIAJqKAIA +czYCACACQQRqIgJBIEcNAAsgACADEBUgA0EgaiQADwtBACECA0AgAiADaiIGIAYoAgAgAiAVaigCAHM2AgAgAkEEaiICQSBHDQAL +IApBEGshCyADIAMoAhgiB0EYdyAHcyIJIAMoAhwiAnMiBiACQRh3IAJzIgIgAygCECIFQRh3IAVzIgwgAygCFCIEcyINcyIIQRB3 +cyAIczYCHCADIAcgBCAEQRh3cyIIcyIHIAMoAgAiBEEYdyAEcyIPcyIOQRB3IA5zIAIgBHMiDnM2AgAgAyAHIAkgBSADKAIMIgRB +GHcgBHMiEHMgAnMiEXMiBUEQd3MgBXM2AhggAyANIAQgAygCCCIFQRh3IAVzIglzIAJzIhIgBiAIc3MiBEEQd3MgBHM2AhQgAyAR +IAYgB3MiDSAMIAUgAygCBCIEQRh3IARzIghzIgVzcyIMQRB3cyAMczYCECADIBIgBCAPcyACcyICIAcgEHNzIgdBEHdzIAdzNgIM +IAMgBSAGIAlzIA5zIgZBEHdzIAZzNgIIIAMgAiAIIA1zIgZBEHdzIAZzNgIEIAMQCkEAIQIDQCACIANqIgYgBigCACACIBRqKAIA +czYCACACQQRqIgJBIEcNAAsgAyADKAIYIgZBEndBg4aMGHEgBkEad0H8+fNncXIgBnMiDCADKAIcIgJzIgcgAkESd0GDhowYcSAC +QRp3Qfz582dxciACcyICIAMoAhAiBUESd0GDhowYcSAFQRp3Qfz582dxciAFcyINIAMoAhQiBHMiCHMiCUEMd0GPnrz4AHEgCUEU +d0Hw4cOHf3FycyAJczYCHCADIAYgBCAEQRJ3QYOGjBhxIARBGndB/PnzZ3FycyIPcyIGIAMoAgAiBEESd0GDhowYcSAEQRp3Qfz5 +82dxciAEcyIOcyIJIAlBDHdBj568+ABxIAlBFHdB8OHDh39xcnMgAiAEcyIJczYCACADIAYgDCAFIAMoAgwiBEESd0GDhowYcSAE +QRp3Qfz582dxciAEcyIQcyACcyIRcyIFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAVzNgIYIAMgCCAEIAMoAggiBUESd0GDhowY +cSAFQRp3Qfz582dxciAFcyIMcyACcyISIAcgD3NzIgRBDHdBj568+ABxIARBFHdB8OHDh39xcnMgBHM2AhQgAyARIAYgB3MiCCAN +IAUgAygCBCIEQRJ3QYOGjBhxIARBGndB/PnzZ3FyIARzIg9zIhdzcyIFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAVzNgIQIAMg +EiAEIA5zIAJzIgUgBiAQc3MiAkEMd0GPnrz4AHEgAkEUd0Hw4cOHf3FycyACczYCDCADIBcgByAMcyAJcyICQQx3QY+evPgAcSAC +QRR3QfDhw4d/cXJzIAJzNgIIIAMgBSAIIA9zIgJBDHdBj568+ABxIAJBFHdB8OHDh39xcnMgAnM2AgQgAxAKIApBGGsiCSALSw0B +QQAhAgNAIAIgA2oiBiAGKAIAIAIgE2ooAgBzNgIAIAJBBGoiAkEgRw0ACyATQYABayETIBRBgAFrIRQgFUGAAWshFSAWQYABayEW +IAMgAygCGCIGQRR3QY+evPgAcSAGQRx3QfDhw4d/cXIgBnMiCyADKAIcIgJzIgcgAkEUd0GPnrz4AHEgAkEcd0Hw4cOHf3FyIAJz +IgIgAygCECIFQRR3QY+evPgAcSAFQRx3QfDhw4d/cXIgBXMiDCADKAIUIgRzIg1zIghBEHdzIAhzNgIcIAMgBiAEIARBFHdBj568 ++ABxIARBHHdB8OHDh39xcnMiCHMiBiADKAIAIgRBFHdBj568+ABxIARBHHdB8OHDh39xciAEcyIPcyIOQRB3IA5zIAIgBHMiDnM2 +AgAgAyAGIAsgBSADKAIMIgRBFHdBj568+ABxIARBHHdB8OHDh39xciAEcyIQcyACcyIRcyIFQRB3cyAFczYCGCADIA0gBCADKAII +IgVBFHdBj568+ABxIAVBHHdB8OHDh39xciAFcyILcyACcyISIAcgCHNzIgRBEHdzIARzNgIUIAMgESAGIAdzIg0gDCAFIAMoAgQi +BEEUd0GPnrz4AHEgBEEcd0Hw4cOHf3FyIARzIghzIgVzcyIMQRB3cyAMczYCECADIBIgBCAPcyACcyICIAYgEHNzIgZBEHdzIAZz +NgIMIAMgBSAHIAtzIA5zIgZBEHdzIAZzNgIIIAMgAiAIIA1zIgZBEHdzIAZzNgIEIAMQCiAKQSBrIgpBeEcNAAtBeCAJQYyWwAAQ +OQALIAkgC0GclsAAEDkAC5UEAQt/IAAoAgQhCiAAKAIAIQsgACgCCCEMAkADQCAFDQECQAJAIAIgBEkNAANAIAEgBGohBQJAAkAC +QAJAIAIgBGsiBkEITwRAIAVBA2pBfHEiACAFRg0BIAAgBWsiAEUNAUEAIQMDQCADIAVqLQAAQQpGDQUgACADQQFqIgNHDQALIAAg +BkEIayIDSw0DDAILIAIgBEYEQCACIQQMBgtBACEDA0AgAyAFai0AAEEKRg0EIAYgA0EBaiIDRw0ACyACIQQMBQsgBkEIayEDQQAh +AAsDQCAAIAVqIgdBBGooAgAiCUGKlKjQAHNBgYKECGsgCUF/c3EgBygCACIHQYqUqNAAc0GBgoQIayAHQX9zcXJBgIGChHhxDQEg +AEEIaiIAIANNDQALCyAAIAZGBEAgAiEEDAMLA0AgACAFai0AAEEKRgRAIAAhAwwCCyAGIABBAWoiAEcNAAsgAiEEDAILIAMgBGoi +AEEBaiEEAkAgACACTw0AIAAgAWotAABBCkcNAEEAIQUgBCEDIAQhAAwDCyACIARPDQALC0EBIQUgAiIAIAgiA0YNAgsCQCAMLQAA +BEAgC0HUnMAAQQQgCigCDBEBAA0BCyABIAhqIQYgACAIayEHQQAhCSAMIAAgCEcEfyAGIAdqQQFrLQAAQQpGBSAJCzoAACADIQgg +CyAGIAcgCigCDBEBAEUNAQsLQQEhDQsgDQvPBAEEfyAAIAEQhAEhAgJAAkACQAJAAkACQAJAIAAQdQ0AIAAoAgAhAyAAEGoNASAB +IANqIQEgACADEIUBIgBBwKbAACgCAEYEQCACKAIEQQNxQQNHDQFBuKbAACABNgIAIAAgASACEE8PCyADQYACTwRAIAAQHAwBCyAA +QQxqKAIAIgQgAEEIaigCACIFRwRAIAUgBDYCDCAEIAU2AggMAQtBsKbAAEGwpsAAKAIAQX4gA0EDdndxNgIACyACEGUNAiACQcSm +wAAoAgBGDQQgAkHApsAAKAIARw0BQcCmwAAgADYCAEG4psAAQbimwAAoAgAgAWoiATYCACAAIAEQVA8LIAEgA2pBEGohAAwECyAC +EHQiAyABaiEBAkAgA0GAAk8EQCACEBwMAQsgAkEMaigCACIEIAJBCGooAgAiAkcEQCACIAQ2AgwgBCACNgIIDAELQbCmwABBsKbA +ACgCAEF+IANBA3Z3cTYCAAsgACABEFQgAEHApsAAKAIARw0BQbimwAAgATYCAA8LIAAgASACEE8LIAFBgAJPBEAgACABEB0PCyAB +QXhxQaikwABqIQICf0GwpsAAKAIAIgNBASABQQN2dCIBcUUEQEGwpsAAIAEgA3I2AgAgAgwBCyACKAIICyEBIAIgADYCCCABIAA2 +AgwgACACNgIMIAAgATYCCA8LQcSmwAAgADYCAEG8psAAQbymwAAoAgAgAWoiATYCACAAIAFBAXI2AgQgAEHApsAAKAIARw0AQbim +wABBADYCAEHApsAAQQA2AgALC5ASAQ5/IwBBIGsiAyQAIANBGGpCADcDACADQRBqQgA3AwAgA0EIakIANwMAIANCADcDACADIAIg +AkEQahAUQQAhAgNAIAIgA2oiCiAKKAIAIAEgAmooAgBzNgIAIAJBBGoiAkEgRw0ACyABQYABaiEKIAFB4ABqIQ0gAUFAayEOIAFB +IGohD0EIIRADQCADEAwgAyADKAIYIgJBFndBv/78+QNxIAJBHndBwIGDhnxxciIGIAJzIgQgAygCHCICQRZ3Qb/+/PkDcSACQR53 +QcCBg4Z8cXIiBSACcyICQQx3QY+evPgAcSACQRR3QfDhw4d/cXJzIAVzNgIcIAMgBiADKAIUIgVBFndBv/78+QNxIAVBHndBwIGD +hnxxciIHIAVzIgUgBEEMd0GPnrz4AHEgBEEUd0Hw4cOHf3Fyc3M2AhggAyADKAIQIgRBFndBv/78+QNxIARBHndBwIGDhnxxciIJ +IARzIgQgBUEMd0GPnrz4AHEgBUEUd0Hw4cOHf3FycyAHczYCFCADIAMoAgQiBUEWd0G//vz5A3EgBUEed0HAgYOGfHFyIgsgBXMi +BSADKAIIIgZBFndBv/78+QNxIAZBHndBwIGDhnxxciIHIAZzIgZBDHdBj568+ABxIAZBFHdB8OHDh39xcnMgB3M2AgggAyADKAIA +IgdBFndBv/78+QNxIAdBHndBwIGDhnxxciIIIAdzIgdBDHdBj568+ABxIAdBFHdB8OHDh39xciAIcyACczYCACADIAkgAygCDCII +QRZ3Qb/+/PkDcSAIQR53QcCBg4Z8cXIiDCAIcyIIIARBDHdBj568+ABxIARBFHdB8OHDh39xcnNzIAJzNgIQIAMgBiAIQQx3QY+e +vPgAcSAIQRR3QfDhw4d/cXJzIAxzIAJzNgIMIAMgByAFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAtzIAJzNgIEQQAhAgNAIAIg +A2oiBCAEKAIAIAIgD2ooAgBzNgIAIAJBBGoiAkEgRw0ACyAQQegARgRAQQAhAgNAIAIgA2oiCiAKKAIAIgogCiAKQQR2c0GAnoD4 +AHEiCkEEdHMgCnM2AgAgAkEEaiICQSBHDQALIAFBwANqIQEgAxAMQQAhAgNAIAIgA2oiCiAKKAIAIAEgAmooAgBzNgIAIAJBBGoi +AkEgRw0ACyAAIAMQFSADQSBqJAAFIAMQDCADIAMoAhgiAkEUd0GPnrz4AHEgAkEcd0Hw4cOHf3FyIgUgAnMiBiADKAIcIgJBFHdB +j568+ABxIAJBHHdB8OHDh39xciIEIAJzIgJBEHdzIARzNgIcIAMgBSADKAIUIgRBFHdBj568+ABxIARBHHdB8OHDh39xciIHIARz +IgggBkEQd3NzNgIYIAMgByADKAIQIgRBFHdBj568+ABxIARBHHdB8OHDh39xciIFIARzIgYgCEEQd3NzNgIUIAMgAygCBCIEQRR3 +QY+evPgAcSAEQRx3QfDhw4d/cXIiByAEcyIIIAMoAggiBEEUd0GPnrz4AHEgBEEcd0Hw4cOHf3FyIgkgBHMiC0EQd3MgCXM2Aggg +AyADKAIAIgRBFHdBj568+ABxIARBHHdB8OHDh39xciIJIARzIgxBEHcgCXMgAnM2AgAgAyAFIAMoAgwiBEEUd0GPnrz4AHEgBEEc +d0Hw4cOHf3FyIgkgBHMiBCAGQRB3c3MgAnM2AhAgAyALIARBEHdzIAlzIAJzNgIMIAMgDCAIQRB3cyAHcyACczYCBEEAIQIDQCAC +IANqIgQgBCgCACACIA5qKAIAczYCACACQQRqIgJBIEcNAAsgAxAMIAMgAygCGCICQRJ3QYOGjBhxIAJBGndB/PnzZ3FyIgYgAnMi +BCADKAIcIgJBEndBg4aMGHEgAkEad0H8+fNncXIiBSACcyICQQx3QY+evPgAcSACQRR3QfDhw4d/cXJzIAVzNgIcIAMgBiADKAIU +IgVBEndBg4aMGHEgBUEad0H8+fNncXIiByAFcyIFIARBDHdBj568+ABxIARBFHdB8OHDh39xcnNzNgIYIAMgAygCECIEQRJ3QYOG +jBhxIARBGndB/PnzZ3FyIgkgBHMiBCAFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAdzNgIUIAMgAygCBCIFQRJ3QYOGjBhxIAVB +GndB/PnzZ3FyIgsgBXMiBSADKAIIIgZBEndBg4aMGHEgBkEad0H8+fNncXIiByAGcyIGQQx3QY+evPgAcSAGQRR3QfDhw4d/cXJz +IAdzNgIIIAMgAygCACIHQRJ3QYOGjBhxIAdBGndB/PnzZ3FyIgggB3MiB0EMd0GPnrz4AHEgB0EUd0Hw4cOHf3FyIAhzIAJzNgIA +IAMgCSADKAIMIghBEndBg4aMGHEgCEEad0H8+fNncXIiDCAIcyIIIARBDHdBj568+ABxIARBFHdB8OHDh39xcnNzIAJzNgIQIAMg +BiAIQQx3QY+evPgAcSAIQRR3QfDhw4d/cXJzIAxzIAJzNgIMIAMgByAFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAtzIAJzNgIE +QQAhAgNAIAIgA2oiBCAEKAIAIAIgDWooAgBzNgIAIAJBBGoiAkEgRw0ACyADEAwgAyADKAIYIgJBGHciBCACcyIFIAMoAhwiAkEY +dyIGIAJzIgJBEHdzIAZzNgIcIAMgBCADKAIUIgZBGHciByAGcyIGIAVBEHdzczYCGCADIAcgAygCECIEQRh3IgUgBHMiBCAGQRB3 +c3M2AhQgAyADKAIEIgZBGHciByAGcyIGIAMoAggiCEEYdyIJIAhzIghBEHdzIAlzNgIIIAMgAygCACIJQRh3IgsgCXMiCUEQdyAL +cyACczYCACADIAUgAygCDCILQRh3IgwgC3MiCyAEQRB3c3MgAnM2AhAgAyAIIAtBEHdzIAxzIAJzNgIMIAMgCSAGQRB3cyAHcyAC +czYCBEEAIQIDQCACIANqIgQgBCgCACACIApqKAIAczYCACACQQRqIgJBIEcNAAsgCkGAAWohCiANQYABaiENIA5BgAFqIQ4gD0GA +AWohDyAQQSBqIRAMAQsLC4gEAQh/IAEoAgQiBQRAIAEoAgAhBANAAkAgA0EBaiECAn8gAiADIARqLQAAIgjAIglBAE4NABoCQAJA +AkACQAJAAkACQAJAAkACQAJAIAhBjKDAAGotAABBAmsOAwABAgwLQYyiwAAgAiAEaiACIAVPGy0AAEHAAXFBgAFHDQsgA0ECagwK +C0GMosAAIAIgBGogAiAFTxssAAAhByAIQeABayIGRQ0BIAZBDUYNAgwDC0GMosAAIAIgBGogAiAFTxssAAAhBiAIQfABaw4FBAMD +AwUDCyAHQWBxQaB/Rw0IDAYLIAdBn39KDQcMBQsgCUEfakH/AXFBDE8EQCAJQX5xQW5HIAdBQE5yDQcMBQsgB0FATg0GDAQLIAlB +D2pB/wFxQQJLIAZBQE5yDQUMAgsgBkHwAGpB/wFxQTBPDQQMAQsgBkGPf0oNAwtBjKLAACAEIANBAmoiAmogAiAFTxstAABBwAFx +QYABRw0CQYyiwAAgBCADQQNqIgJqIAIgBU8bLQAAQcABcUGAAUcNAiADQQRqDAELQYyiwAAgBCADQQJqIgJqIAIgBU8bLQAAQcAB +cUGAAUcNASADQQNqCyIDIgIgBUkNAQsLIAAgAzYCBCAAIAQ2AgAgASAFIAJrNgIEIAEgAiAEajYCACAAIAIgA2s2AgwgACADIARq +NgIIDwsgAEEANgIAC/QGAgx/AX4jAEHQAGsiAyQAIANBPGogASACECYCQCADKAI8BEAgA0EoaiADQcQAaiILKAIAIgE2AgAgAyAD +KQI8Ig83AyBBACECIANBGGogAUEAEDwgA0EANgJEIAMgAykDGDcCPCADQRBqIgQgASAPpyIFajYCBCAEIAU2AgAgAygCECIBIAMo +AhQiDEcEQANAIAEtAAAiBEEEdkHkiMAAai0AAEEEdCAEQQ9xQeSIwABqLQAAciENIAMoAkAgAkYEfyMAQRBrIggkACAIQQhqIQog +A0E8aiEJQQAhBiMAQSBrIgUkAAJAIAIgAkEBaiIESw0AQQggCSgCBCICQQF0IgYgBCAEIAZJGyIEIARBCE0bIgRBf3NBH3YhBgJA +IAJFBEAgBUEANgIYDAELIAUgAjYCHCAFQQE2AhggBSAJKAIANgIUCyAFQRRqIQcgBUEIaiICAn8CQAJ/AkACQCAGBEAgBEEASA0B +IAcoAgQEQCAHQQhqKAIAIg4EQCAHKAIAIA4gBiAEEFkMBQsLIARFDQJB3aLAAC0AABogBCAGEGAMAwsgAkEANgIEIAJBCGogBDYC +AAwDCyACQQA2AgQMAgsgBgsiBwRAIAIgBzYCBCACQQhqIAQ2AgBBAAwCCyACIAY2AgQgAkEIaiAENgIAC0EBCzYCACAFKAIMIQYg +BSgCCARAIAVBEGooAgAhBAwBCyAJIAQ2AgQgCSAGNgIAQYGAgIB4IQYLIAogBDYCBCAKIAY2AgAgBUEgaiQAAkACQCAIKAIIIgJB +gYCAgHhHBEAgAkUNASACIAgoAgwQegALIAhBEGokAAwBCxBHAAsgAygCRAUgAgsgAygCPGogDToAACADIAMoAkRBAWoiAjYCRCAB +QQFqIgEgDEcNAAsLIANBOGogCygCACIBNgIAIAMgAykCPCIPNwMwIANBPGogD6cgARALIAMoAjwNASADKAJAIQIgA0EIaiADQcQA +aigCACIBQQAQPCADKAIMIQQgAygCCCACIAEQggEhAiAAIAE2AgggACAENgIEIAAgAjYCACADQTBqEFEgA0EgahBRIANB0ABqJAAP +CyADIAMpAkA3AzBB3IfAAEErIANBMGpBmIjAAEHUiMAAEDQACyADIAMpAkA3A0hB3IfAAEErIANByABqQYiIwABB9IjAABA0AAuk +AwENfyAAIAIoAAwiAyABKAAMIgRBAXZzQdWq1aoFcSIIIANzIgMgAigACCIFIAEoAAgiBkEBdnNB1arVqgVxIgkgBXMiBUECdnNB +s+bMmQNxIgsgA3MiAyACKAAEIgcgASgABCIKQQF2c0HVqtWqBXEiDCAHcyIHIAIoAAAiAiABKAAAIgFBAXZzQdWq1aoFcSINIAJz +IgJBAnZzQbPmzJkDcSIOIAdzIgdBBHZzQY+evPgAcSIPIANzNgIcIAAgBCAIQQF0cyIDIAYgCUEBdHMiBEECdnNBs+bMmQNxIggg +A3MiAyAKIAxBAXRzIgYgASANQQF0cyIBQQJ2c0Gz5syZA3EiCSAGcyIGQQR2c0GPnrz4AHEiCiADczYCGCAAIAtBAnQgBXMiAyAO +QQJ0IAJzIgJBBHZzQY+evPgAcSIFIANzNgIUIAAgD0EEdCAHczYCDCAAIAhBAnQgBHMiAyAJQQJ0IAFzIgFBBHZzQY+evPgAcSIE +IANzNgIQIAAgCkEEdCAGczYCCCAAIAVBBHQgAnM2AgQgACAEQQR0IAFzNgIAC6QDAQ5/IAAgASgCHCICIAEoAhgiBEEBdnNB1arV +qgVxIgcgAnMiAiABKAIUIgUgASgCECIGQQF2c0HVqtWqBXEiCCAFcyIFQQJ2c0Gz5syZA3EiCSACcyICIAEoAgwiAyABKAIIIgtB +AXZzQdWq1aoFcSIMIANzIgMgASgCBCIKIAEoAgAiAUEBdnNB1arVqgVxIg0gCnMiCkECdnNBs+bMmQNxIg4gA3MiA0EEdnNBj568 ++ABxIg8gAnM2ABwgACAJQQJ0IAVzIgIgDkECdCAKcyIFQQR2c0GPnrz4AHEiCSACczYAGCAAIA9BBHQgA3M2ABQgACAEIAdBAXRz +IgIgBiAIQQF0cyIEQQJ2c0Gz5syZA3EiByACcyICIAsgDEEBdHMiBiABIA1BAXRzIgFBAnZzQbPmzJkDcSIIIAZzIgZBBHZzQY+e +vPgAcSIDIAJzNgAMIAAgCUEEdCAFczYAECAAIAdBAnQgBHMiAiAIQQJ0IAFzIgFBBHZzQY+evPgAcSIEIAJzNgAIIAAgA0EEdCAG +czYABCAAIARBBHQgAXM2AAAL+wIBB38jAEEQayIEJAACQAJAAkACQAJAAkAgASgCBCICRQ0AIAEoAgAhBiACQQNxIQcCQCACQQRJ +BEBBACECDAELIAZBHGohAyACQXxxIQhBACECA0AgAygCACADQQhrKAIAIANBEGsoAgAgA0EYaygCACACampqaiECIANBIGohAyAI +IAVBBGoiBUcNAAsLIAcEQCAFQQN0IAZqQQRqIQMDQCADKAIAIAJqIQIgA0EIaiEDIAdBAWsiBw0ACwsgAUEMaigCAARAIAJBAEgN +ASAGKAIERSACQRBJcQ0BIAJBAXQhAgsgAg0BC0EBIQNBACECDAELIAJBAEgNAUHdosAALQAAGiACQQEQYCIDRQ0CCyAEQQA2Aggg +BCACNgIEIAQgAzYCACAEQbiZwAAgARANRQ0CQZiawABBMyAEQQ9qQcyawABB9JrAABA0AAsQRwALQQEgAhB6AAsgACAEKQIANwIA +IABBCGogBEEIaigCADYCACAEQRBqJAAL4wIBBX9BEEEIEFggAEsEQEEQQQgQWCEAC0EIQQgQWCEDQRRBCBBYIQJBEEEIEFghBAJA +QQBBEEEIEFhBAnRrIgVBgIB8IAQgAiADamprQXdxQQNrIgMgAyAFSxsgAGsgAU0NACAAQRAgAUEEakEQQQgQWEEFayABSxtBCBBY +IgNqQRBBCBBYakEEaxADIgJFDQAgAhCHASEBAkAgAEEBayIEIAJxRQRAIAEhAAwBCyACIARqQQAgAGtxEIcBIQJBEEEIEFghBCAB +EHQgAiAAQQAgAiABayAETRtqIgAgAWsiAmshBCABEGpFBEAgACAEEEwgASACEEwgASACEBAMAQsgASgCACEBIAAgBDYCBCAAIAEg +Amo2AgALAkAgABBqDQAgABB0IgJBEEEIEFggA2pNDQAgACADEIQBIQEgACADEEwgASACIANrIgMQTCABIAMQEAsgABCGASEGIAAQ +ahoLIAYLigMCBX8BfiMAQUBqIgUkAEEBIQcCQCAALQAEDQAgAC0ABSEJIAAoAgAiBigCHCIIQQRxRQRAIAYoAhRB25zAAEHYnMAA +IAkbQQJBAyAJGyAGQRhqKAIAKAIMEQEADQEgBigCFCABIAIgBigCGCgCDBEBAA0BIAYoAhRBqJzAAEECIAYoAhgoAgwRAQANASAD +IAYgBCgCDBEAACEHDAELIAlFBEAgBigCFEHdnMAAQQMgBkEYaigCACgCDBEBAA0BIAYoAhwhCAsgBUEBOgAbIAVBNGpBvJzAADYC +ACAFIAYpAhQ3AgwgBSAFQRtqNgIUIAUgBikCCDcCJCAGKQIAIQogBSAINgI4IAUgBigCEDYCLCAFIAYtACA6ADwgBSAKNwIcIAUg +BUEMaiIINgIwIAggASACEA8NACAFQQxqQaicwABBAhAPDQAgAyAFQRxqIAQoAgwRAAANACAFKAIwQeCcwABBAiAFKAI0KAIMEQEA +IQcLIABBAToABSAAIAc6AAQgBUFAayQAIAALiAQBBX8jAEEQayIDJAACQAJ/AkAgAUGAAU8EQCADQQA2AgwgAUGAEEkNASABQYCA +BEkEQCADIAFBP3FBgAFyOgAOIAMgAUEMdkHgAXI6AAwgAyABQQZ2QT9xQYABcjoADUEDDAMLIAMgAUE/cUGAAXI6AA8gAyABQQZ2 +QT9xQYABcjoADiADIAFBDHZBP3FBgAFyOgANIAMgAUESdkEHcUHwAXI6AAxBBAwCCyAAKAIIIgIgACgCBEYEQCMAQSBrIgQkAAJA +AkAgAkEBaiICRQ0AQQggACgCBCIGQQF0IgUgAiACIAVJGyICIAJBCE0bIgVBf3NBH3YhAgJAIAZFBEAgBEEANgIYDAELIAQgBjYC +HCAEQQE2AhggBCAAKAIANgIUCyAEQQhqIAIgBSAEQRRqEC4gBCgCDCECIAQoAghFBEAgACAFNgIEIAAgAjYCAAwCCyACQYGAgIB4 +Rg0BIAJFDQAgAiAEQRBqKAIAEHoACxBHAAsgBEEgaiQAIAAoAgghAgsgACACQQFqNgIIIAAoAgAgAmogAToAAAwCCyADIAFBP3FB +gAFyOgANIAMgAUEGdkHAAXI6AAxBAgshASABIAAoAgQgACgCCCICa0sEQCAAIAIgARAsIAAoAgghAgsgACgCACACaiADQQxqIAEQ +ggEaIAAgASACajYCCAsgA0EQaiQAQQALvgICBX8BfiMAQTBrIgQkAEEnIQICQCAAQpDOAFQEQCAAIQcMAQsDQCAEQQlqIAJqIgNB +BGsgACAAQpDOAIAiB0KQzgB+faciBUH//wNxQeQAbiIGQQF0QaqdwABqLwAAOwAAIANBAmsgBSAGQeQAbGtB//8DcUEBdEGqncAA +ai8AADsAACACQQRrIQIgAEL/wdcvViAHIQANAAsLIAenIgNB4wBLBEAgAkECayICIARBCWpqIAenIgMgA0H//wNxQeQAbiIDQeQA +bGtB//8DcUEBdEGqncAAai8AADsAAAsCQCADQQpPBEAgAkECayICIARBCWpqIANBAXRBqp3AAGovAAA7AAAMAQsgAkEBayICIARB +CWpqIANBMGo6AAALIAFBxJvAAEEAIARBCWogAmpBJyACaxAJIARBMGokAAuyAgEDfyMAQYABayIEJAACQAJAAn8CQCABKAIcIgJB +EHFFBEAgAkEgcQ0BIAA1AgAgARAaDAILIAAoAgAhAEEAIQIDQCACIARqQf8AakEwQdcAIABBD3EiA0EKSRsgA2o6AAAgAkEBayEC +IABBEEkgAEEEdiEARQ0ACyACQYABaiIAQYABSw0CIAFBqJ3AAEECIAIgBGpBgAFqQQAgAmsQCQwBCyAAKAIAIQBBACECA0AgAiAE +akH/AGpBMEE3IABBD3EiA0EKSRsgA2o6AAAgAkEBayECIABBEEkgAEEEdiEARQ0ACyACQYABaiIAQYABSw0CIAFBqJ3AAEECIAIg +BGpBgAFqQQAgAmsQCQsgBEGAAWokAA8LIABBgAFBmJ3AABA2AAsgAEGAAUGYncAAEDYAC7sCAQV/IAAoAhghAwJAAkAgACAAKAIM +RgRAIABBFEEQIABBFGoiASgCACIEG2ooAgAiAg0BQQAhAQwCCyAAKAIIIgIgACgCDCIBNgIMIAEgAjYCCAwBCyABIABBEGogBBsh +BANAIAQhBSACIgFBFGoiAiABQRBqIAIoAgAiAhshBCABQRRBECACG2ooAgAiAg0ACyAFQQA2AgALAkAgA0UNAAJAIAAgACgCHEEC +dEGYo8AAaiICKAIARwRAIANBEEEUIAMoAhAgAEYbaiABNgIAIAENAQwCCyACIAE2AgAgAQ0AQbSmwABBtKbAACgCAEF+IAAoAhx3 +cTYCAA8LIAEgAzYCGCAAKAIQIgIEQCABIAI2AhAgAiABNgIYCyAAQRRqKAIAIgBFDQAgAUEUaiAANgIAIAAgATYCGAsLnwIBBH8g +AEIANwIQIAACf0EAIAFBgAJJDQAaQR8gAUH///8HSw0AGiABQQYgAUEIdmciAmt2QQFxIAJBAXRrQT5qCyIDNgIcIANBAnRBmKPA +AGohAgJAQbSmwAAoAgAiBEEBIAN0IgVxRQRAQbSmwAAgBCAFcjYCACACIAA2AgAMAQsgAigCACECIAMQUyEDAkACQCACEHQgAUYE +QCACIQMMAQsgASADdCEEA0AgAiAEQR12QQRxakEQaiIFKAIAIgNFDQIgBEEBdCEEIAMiAhB0IAFHDQALCyADKAIIIgEgADYCDCAD +IAA2AgggACADNgIMIAAgATYCCCAAQQA2AhgPCyAFIAA2AgALIAAgAjYCGCAAIAA2AgggACAANgIMC8QCAgR/AX4jAEFAaiIDJAAg +ACgCACEFIAACf0EBIAAtAAgNABogACgCBCIEKAIcIgZBBHFFBEBBASAEKAIUQducwABB5ZzAACAFG0ECQQEgBRsgBEEYaigCACgC +DBEBAA0BGiABIAQgAigCDBEAAAwBCyAFRQRAQQEgBCgCFEHmnMAAQQIgBEEYaigCACgCDBEBAA0BGiAEKAIcIQYLIANBAToAGyAD +QTRqQbycwAA2AgAgAyAEKQIUNwIMIAMgA0EbajYCFCADIAQpAgg3AiQgBCkCACEHIAMgBjYCOCADIAQoAhA2AiwgAyAELQAgOgA8 +IAMgBzcCHCADIANBDGo2AjBBASABIANBHGogAigCDBEAAA0AGiADKAIwQeCcwABBAiADKAI0KAIMEQEACzoACCAAIAVBAWo2AgAg +A0FAayQAIAALXQEMf0GgpMAAKAIAIgIEQEGYpMAAIQYDQCACIgEoAgghAiABKAIEIQMgASgCACEEIAEoAgwaIAEhBiAFQQFqIQUg +Ag0ACwtB2KbAAEH/HyAFIAVB/x9NGzYCACAIC8YeAhB/A34jAEEgayIIJAAgCCACNgIYIAggAjYCFCAIIAE2AhAgCEEQahA+IAgo +AhghEyAIKAIQIQEgCCADBH8gCCAENgIYIAggBDYCFCAIIAM2AhAgCEEQahA+IAggCCgCGCICNgIMIAggAjYCCCAIKAIQBUEACzYC +BCAIQRBqIREjAEGgCWsiBSQAAkACQAJAAkACQCAIQQRqIgMoAgBFBEAgBUHwBGpB4InAAEEsEBMgBSgC8AQiAkUNASAFIAUoAvgE +Igc2AiwgBSAFKAL0BDYCKCAFIAI2AiQMAgsgBUGYAWogA0EIaigCACICNgIAIAUgAykCACIWNwOQASAFQfAEaiAWpyACEBMgBSgC +8AQiAgRAIAUgBSgC+AQiBzYCLCAFIAUoAvQENgIoIAUgAjYCJCAFQZABahBRDAILIAUoAvQEIQIgEUEANgIAIBEgAjYCBCAFQZAB +ahBRDAILIAUoAvQEIQIgEUEANgIAIBEgAjYCBAwBCyAHQSBHBEBBnIrAAEEJEAEhAiARQQA2AgAgESACNgIEIAVBJGoQUQwBCyAF +QcgAaiIHIAJBGGopAAA3AwAgBUFAayIEIAJBEGopAAA3AwAgBUE4aiIDIAJBCGopAAA3AwAgBSACKQAANwMwIAVBGGogE0EAEDwg +BSgCHCECIAUoAhggASATEIIBIQogBSATNgJcIAUgAjYCWCAFIAo2AlQgBUH4AGogBykDADcDACAFQfAAaiAEKQMANwMAIAVB6ABq +IAMpAwA3AwAgBSAFKQMwNwNgIAVBkAFqIAVB4ABqEAggBUEQaiATQXBxIg1BEGoiDkEBEDwgBSAONgKMASAFIAUoAhQ2AogBIAUg +BSgCECISNgKEASAOIBNJDQEgBUHwBGoiECAFQZABakHgAxCCARogBUGACWoiA0IANwAAIANBCGpCADcAACADIAogDWogE0EPcSIC +EIIBGiACIANqQRAgAmsiAiACEIEBGiAFQdgIaiAFQYgJaikAADcDACAFIAUpAIAJNwPQCCAFIBNBBHY2AogJIAUgEjYChAkgBSAK +NgKACSMAQUBqIgkkACADKAIIIhRBAXEgAygCBCEHIAMoAgAhBCAUQQJPBEAgFEEBdiEGIAQhAyAHIQIDQCAJQSBqIBAgAxARIAJB +GGogCUE4aikDADcAACACQRBqIAlBMGopAwA3AAAgAkEIaiAJQShqKQMANwAAIAIgCSkDIDcAACADQSBqIQMgAkEgaiECIAZBAWsi +Bg0ACwsEQCAJEE0gCUEIaiAEIBRB/v///wBxQQR0IgNqIgJBCGopAAA3AwAgCSACKQAANwMAIAlBIGogECAJEBEgAyAHaiICQQhq +IAlBKGopAAA3AAAgAiAJKQAgNwAACyAJQUBrJAAgEkUNASAFQeAIaiICEE0gBUHoCGogBUHYCGopAwA3AwAgBSAFKQPQCDcD4Agg +BUGACWogBUHwBGoiFCACEBEgDSASaiICQQhqIAVBiAlqKQAANwAAIAIgBSkAgAk3AAAgBUEIaiAOQQAQPCAFKAIMIQMgBSgCCCAS +IA4QggEhAiAFIA42AvgEIAUgAzYC9AQgBSACNgLwBCMAQTBrIgwkACAMQRBqIQYgFCgCCCIPIRBBqILAAC0AACEKIwBBIGsiDSQA +IBBBgICAgHxJIQQgEEEDbiICQQJ0IQMCQCAQIAJBA2xrIgdFBEAgAyECDAELAkACQAJAIApFBEBBAiECIAdBAWsOAgMCAQsgEEGA +gICAfEkgA0EEaiICIANPcSEEDAMLIA1BEGpCADcCACANQQE2AgggDUHgjsAANgIEIA0gDUEcajYCDCANQQRqQcyPwAAQSAALQQMh +AgsgAiADciECCyAGIAI2AgQgBiAENgIAIA1BIGokAAJAAkAgDCgCEARAIAxBCGogDCgCFCILQQEQPCAMKAIMIRAgDCgCCCEJQQAh +B0EAIQQCQAJAAkACfyAUKAIAIQ5BACECAkAgD0EbSQ0AIA9BGmsiAkEAIAIgD00bIQoCQANAIA8gB0Eaak8EQCAEQWBGDQIgCyAE +QSBqIgJJBEAgAiALQZSVwAAQOAALIAQgCWoiBiAHIA5qIgQpAAAiFUI4hiIWQjqIp0GrgsAAai0AADoAACAGQQRqIBVCgICA+A+D +QgiGIhdCIoinQauCwABqLQAAOgAAIAZBAWogFiAVQoD+A4NCKIaEIhZCNIinQT9xQauCwABqLQAAOgAAIAZBAmogFiAVQoCA/AeD +QhiGIBeEhCIXQi6Ip0E/cUGrgsAAai0AADoAACAGQQNqIBdCKIinQT9xQauCwABqLQAAOgAAIAZBBmogFUIIiEKAgID4D4MgFUIY +iEKAgPwHg4QgFUIoiEKA/gODIBVCOIiEhCIWpyIDQRZ2QT9xQauCwABqLQAAOgAAIAZBB2ogA0EQdkE/cUGrgsAAai0AADoAACAG +QQVqIBYgF4RCHIinQT9xQauCwABqLQAAOgAAIAZBCGogBEEGaikAACIVQjiGIhZCOoinQauCwABqLQAAOgAAIAZBCWogFiAVQoD+ +A4NCKIaEIhdCNIinQT9xQauCwABqLQAAOgAAIAZBCmogFyAVQoCAgPgPg0IIhiIWIBVCgID8B4NCGIaEhCIXQi6Ip0E/cUGrgsAA +ai0AADoAACAGQQtqIBdCKIinQT9xQauCwABqLQAAOgAAIAZBDGogFkIiiKdBq4LAAGotAAA6AAAgBkENaiAXIBVCCIhCgICA+A+D +IBVCGIhCgID8B4OEIBVCKIhCgP4DgyAVQjiIhIQiFoRCHIinQT9xQauCwABqLQAAOgAAIAZBDmogFqciA0EWdkE/cUGrgsAAai0A +ADoAACAGQQ9qIANBEHZBP3FBq4LAAGotAAA6AAAgBkEQaiAEQQxqKQAAIhVCOIYiFkI6iKdBq4LAAGotAAA6AAAgBkERaiAWIBVC +gP4Dg0IohoQiF0I0iKdBP3FBq4LAAGotAAA6AAAgBkESaiAXIBVCgICA+A+DQgiGIhYgFUKAgPwHg0IYhoSEIhdCLoinQT9xQauC +wABqLQAAOgAAIAZBE2ogF0IoiKdBP3FBq4LAAGotAAA6AAAgBkEUaiAWQiKIp0GrgsAAai0AADoAACAGQRZqIBVCCIhCgICA+A+D +IBVCGIhCgID8B4OEIBVCKIhCgP4DgyAVQjiIhIQiFqciA0EWdkE/cUGrgsAAai0AADoAACAGQRdqIANBEHZBP3FBq4LAAGotAAA6 +AAAgBkEVaiAWIBeEQhyIp0E/cUGrgsAAai0AADoAACAGQRhqIARBEmopAAAiFUI4hiIWQjqIp0GrgsAAai0AADoAACAGQRlqIBYg +FUKA/gODQiiGhCIXQjSIp0E/cUGrgsAAai0AADoAACAGQRpqIBcgFUKAgID4D4NCCIYiFiAVQoCA/AeDQhiGhIQiF0IuiKdBP3FB +q4LAAGotAAA6AAAgBkEbaiAXQiiIp0E/cUGrgsAAai0AADoAACAGQRxqIBZCIoinQauCwABqLQAAOgAAIAZBHWogFyAVQgiIQoCA +gPgPgyAVQhiIQoCA/AeDhCAVQiiIQoD+A4MgFUI4iISEIhaEQhyIp0E/cUGrgsAAai0AADoAACAGQR5qIBanIgNBFnZBP3FBq4LA +AGotAAA6AAAgBkEfaiADQRB2QT9xQauCwABqLQAAOgAAIAIhBCAKIAdBGGoiB08NAQwDCwsgB0EaaiAPQYSVwAAQOAALQWBBAEGU +lcAAEDkACwJAAkACQAJAAkACfwJAAkACQAJAAkACQCAPIA9BA3AiBmsiEiAHTQRAIAIhAwwBCwNAIAdBfEsNAiAHQQNqIgQgD0sN +AyACQQRqIQMgAkF7Sw0EIAMgC0sEQCADIAtB9JTAABA4AAsgAiAJaiINIAcgDmoiAi0AACIKQQJ2QauCwABqLQAAOgAAIA1BA2og +AkECai0AACIHQT9xQauCwABqLQAAOgAAIA1BAmogAkEBai0AACICQQJ0IAdBBnZyQT9xQauCwABqLQAAOgAAIA1BAWogCkEEdCAC +QQR2ckE/cUGrgsAAai0AADoAACADIQIgBCIHIBJJDQALCyAGQQFrDgIDBAYLIAcgB0EDakHklMAAEDkACyAHQQNqIA9B5JTAABA4 +AAsgAiADQfSUwAAQOQALIAMgC0kEQEECIQcgAyAJaiAOIBJqLQAAIgJBAnZBq4LAAGotAAA6AAAgAkEEdEEwcSALIANBAWoiBEsN +AhogBCALQdSUwAAQNwALIAMgC0HElMAAEDcACyADIAtPDQIgAyAJaiAOIBJqLQAAIgJBAnZBq4LAAGotAAA6AAAgEkEBaiIKIA9P +DQMgA0EBaiIEIAtPDQRBAyEHIAQgCWogAkEEdCAKIA5qLQAAIgJBBHZyQT9xQauCwABqLQAAOgAAIANBAmoiBCALTw0FIAJBAnRB +PHELIQIgBCAJaiACQauCwABqLQAAOgAAIAMgB2ohAwsgAwwECyADIAtBhJTAABA3AAsgCiAPQZSUwAAQNwALIAQgC0GklMAAEDcA +CyAEIAtBtJTAABA3AAsiCkGogsAALQAABH8gCiALSw0BAn8gCSAKaiECIAsgCmshB0EAIQMCQEEAIAprQQNxIgQEQANAIAMgB0YN +AiACIANqQT06AAAgBCADQQFqIgNHDQALCyAEDAELIAcgB0Hcj8AAEDcACwVBAAsgCmpLDQEMAgsgCiALQdCFwAAQNgALQeCFwABB +KkGMhsAAED0ACyAMQRxqIAkgCxALIAwoAhwEQCAMKQIgIhZCgICAgPAfg0KAgICAIFINAgsgESALNgIIIBEgEDYCBCARIAk2AgAg +FBBRIAxBMGokAAwCC0GCh8AAQS1BsIfAABA9AAsgDCAWNwIoIAwgCzYCJCAMIBA2AiAgDCAJNgIcQcCHwABBDCAMQRxqQZCBwABB +zIfAABA0AAsgBUGEAWoQUSAFQdQAahBRIAVBJGoQUQsgBUGgCWokAAwBC0Hch8AAQSsgBUHwBGpBuIjAAEGMisAAEDQACyAIKAIY +IQIgCCgCFCEDIAgoAhAhBCATBEAgARAFCyAAIAQEfyAIIAI2AhggCCADNgIUIAggBDYCECAIQRBqED4gCCgCGCEBIAgoAhAhBEEA +IQNBAAVBAQs2AgwgACADNgIIIAAgATYCBCAAIAQ2AgAgCEEgaiQAC9wRAg1/AX4jAEEgayIHJAAgByACNgIYIAcgAjYCFCAHIAE2 +AhAgB0EQahA+IAcoAhghDyAHKAIQIQEgByADBH8gByAENgIYIAcgBDYCFCAHIAM2AhAgB0EQahA+IAcgBygCGCICNgIMIAcgAjYC +CCAHKAIQBUEACzYCBCAHQRBqIQsjAEHgCGsiBSQAAkACQAJAIAdBBGoiAigCAEUEQCAFQfQEakHgicAAQSwQEyAFKAL0BCIDRQ0B +IAUgBSgC/AQiBDYCLCAFIAUoAvgENgIoIAUgAzYCJAwCCyAFQZgBaiACQQhqKAIAIgM2AgAgBSACKQIAIhI3A5ABIAVB9ARqIBKn +IAMQEyAFKAL0BCIDBEAgBSAFKAL8BCIENgIsIAUgBSgC+AQ2AiggBSADNgIkIAVBkAFqEFEMAgsgBSgC+AQhAiALQQA2AgAgCyAC +NgIEIAVBkAFqEFEMAgsgBSgC+AQhAiALQQA2AgAgCyACNgIEDAELAkACQAJAIARBIEYEQCAFQcgAaiIEIANBGGopAAA3AwAgBUFA +ayIJIANBEGopAAA3AwAgBUE4aiIGIANBCGopAAA3AwAgBSADKQAANwMwIAVB9ARqIAEgDxAmIAUoAvQEIgINAUG4isAAQRwQASEC +IAtBADYCACALIAI2AgQMAgtBnIrAAEEJEAEhAiALQQA2AgAgCyACNgIEDAELIAUgBSgC/AQiCjYCXCAFIAUoAvgENgJYIAUgAjYC +VCAFQfgAaiAEKQMANwMAIAVB8ABqIAkpAwA3AwAgBUHoAGogBikDADcDACAFIAUpAzA3A2AgBUGQAWoiAyAFQeAAahAIIAVBGGog +CkEBEDwgBSAKNgKMASAFIAUoAhw2AogBIAUgBSgCGCIJNgKEASAFQfQEaiADQeADEIIBGgJAIApBD3ENACAFIAk2AtgIIAUgAjYC +1AggBSAKQQR2Igw2AtwIIAVB9ARqIQ4jAEFAaiIIJAAgBUHUCGoiAigCCCINQQFxIAIoAgQhAyACKAIAIQYgDUECTwRAIA1BAXYh +ECAGIQQgAyECA0AgCEEgaiAOIAQQDiACQRhqIAhBOGopAwA3AAAgAkEQaiAIQTBqKQMANwAAIAJBCGogCEEoaikDADcAACACIAgp +AyA3AAAgBEEgaiEEIAJBIGohAiAQQQFrIhANAAsLBEAgCBBNIAhBCGogBiANQf7///8AcUEEdCICaiIEQQhqKQAANwMAIAggBCkA +ADcDACAIQSBqIA4gCBAOIAIgA2oiAkEIaiAIQShqKQAANwAAIAIgCCkAIDcAAAsgCEFAayQAIAVBEGohCCAJIQJBACEDQQAhBgJA +AkACQCAMRQ0AIAxBBHQgAmpBEGstAA8iBEERa0H/AXFB8AFJDQBBACAEayEDQRAgBGsgAiAMQQR0aiEOAkADQCADQX9GDQEgAyAO +aiEGIANBAWohAyAGLQAAIARGDQALQQAhAwwBC0ERTw0BIAxBBHQgBGshBiACIQMLIAggBjYCBCAIIAM2AgAMAQtB5YDAAEEZQYCB +wAAQQwALIAUoAhBFDQACQCAKRQRAQQAhBgwBCyAKIAkgCmpBAWstAAAiAmshBiACIApLDQMLIAVB9ARqIQhBACEEIwBB8ABrIgMk +ACADQShqIgIgBjYCBCACIAk2AgAgAyADKQMoNwI0IANB0ABqIANBNGoQEgJAAkACQAJAIAMoAlAEQCADQegAaiADQdgAaikCADcD +ACADIAMpAlA3A2AgA0EgaiADQeAAaiICEH4gAygCJCEJIAMoAiAhCiADQRhqIAIQfyADKAIcRQRAIAggCjYCBCAIQQA2AgAgCEEI +aiAJNgIADAILAkAgBkUEQEEBIQIMAQsgBkEASA0DQd2iwAAtAAAaIAZBARBgIgJFDQQLIANBADYCRCADIAI2AjwgAyAGNgJAIAYg +CUkEfyADQTxqQQAgCRAtIAMoAkQhBCADKAI8BSACCyAEaiAKIAkQggEaIAMgBCAJaiIGNgJEIAMoAkAgBmtBAk0EQCADQTxqIAZB +AxAtIAMoAkQhBgsgAygCPCICIAZqIgRBhJvAAC8AACIJOwAAIARBAmpBhpvAAC0AACIKOgAAIAMgBkEDaiIGNgJEIAMgAykCNDcC +SCADQdAAaiADQcgAahASIAMoAlAEQANAIANB6ABqIANB2ABqKQIANwMAIAMgAykCUDcDYCADQRBqIANB4ABqEH4gAygCECEMIAMo +AhQiBCADKAJAIAZrSwRAIANBPGogBiAEEC0gAygCRCEGIAMoAjwhAgsgAiAGaiAMIAQQggEaIAMgBCAGaiIGNgJEIANBCGogA0Hg +AGoQfyADKAIMBEAgAygCQCAGa0ECTQRAIANBPGogBkEDEC0gAygCRCEGCyADKAI8IgIgBmoiBCAJOwAAIARBAmogCjoAACADIAZB +A2oiBjYCRAsgA0HQAGogA0HIAGoQEiADKAJQDQALCyAIIAMpAjw3AgAgCEEIaiADQcQAaigCADYCAAwBCyAIQbiZwAA2AgQgCEEA +NgIAIAhBCGpBADYCAAsgA0HwAGokAAwCCxBHAAtBASAGEHoACwJAIAUoAvQEIgNFBEAgBSgC+AQhBCAFQQhqIAVB/ARqKAIAIgZB +ABA8IAUoAgwhAiAFKAIIIgMgBCAGEIIBGgwBCyAFKAL8BCEGIAUoAvgEIQILIAsgBjYCCCALIAI2AgQgCyADNgIAIAVBhAFqEFEg +BUHUAGoQUSAFQSRqEFEMAwtB1IrAAEEeEAEhAiALQQA2AgAgCyACNgIEIAVBhAFqEFEgBUHUAGoQUQsgBUEkahBRDAELIAYgCkGo +isAAEDgACyAFQeAIaiQAIAcoAhghAiAHKAIUIQMgBygCECEEIA8EQCABEAULIAAgBAR/IAcgAjYCGCAHIAM2AhQgByAENgIQIAdB +EGoQPiAHKAIYIQEgBygCECEEQQAhA0EABUEBCzYCDCAAIAM2AgggACABNgIEIAAgBDYCACAHQSBqJAALjQIBAn8jAEEQayICJAAC +QCAAKAIAIgMtAABFBEAgASgCFEGNosAAQQQgAUEYaigCACgCDBEBACEADAELQQEhACACIANBAWo2AgAgAiABKAIUQZGiwABBBCAB +QRhqKAIAKAIMEQEAOgAMIAIgATYCCCACQQA6AA0gAkEANgIEIAJBBGogAkHsnMAAEB4gAi0ADCEBKAIAIgNFBEAgAUEARyEADAEL +IAENACACKAIIIQECQCADQQFHDQAgAi0ADUUNACABLQAcQQRxDQAgASgCFEHonMAAQQEgAUEYaigCACgCDBEBAA0BCyABKAIUQcSb +wABBASABQRhqKAIAKAIMEQEAIQALIAJBEGokACAAC/ABAgR/AX4jAEEwayICJAAgAUEEaiEEIAEoAgRFBEAgASgCACEDIAJBLGoi +BUEANgIAIAJCATcCJCACQSRqQaCXwAAgAxANGiACQSBqIAUoAgAiAzYCACACIAIpAiQiBjcDGCAEQQhqIAM2AgAgBCAGNwIACyAC +QRBqIgMgBEEIaigCADYCACABQQxqQQA2AgAgBCkCACEGIAFCATcCBEHdosAALQAAGiACIAY3AwhBDEEEEGAiAUUEQEEEQQwQegAL +IAEgAikDCDcCACABQQhqIAMoAgA2AgAgAEHQmMAANgIEIAAgATYCACACQTBqJAAL1wYBCn8jAEEQayIFJAAgBSACNgIIIAUgAjYC +BCAFIAE2AgAgBRA+IAUoAgghCyAFKAIAIQEgBSAENgIIIAUgBDYCBCAFIAM2AgAgBRA+IAUoAgAiDCEEIAUoAgghAyMAQfABayIC +JAAgAiALNgIEIAIgATYCACACIAM2AgwgAiAENgIIIAJBmAFqQYSJwABBLBATIAIoApgBRQRAIAIgAigCnAE2AkBB3IfAAEErIAJB +QGtBqIjAAEGwicAAEDQACyACQRhqIAJBoAFqKAIANgIAIAIgAikCmAE3AxAgAkHMAGpCAzcCACACQawBakEDNgIAIAJBpAFqIg1B +BDYCACACQQM2AkQgAkHAicAANgJAIAJBAzYCnAEgAiACQZgBaiIHNgJIIAIgAkEIajYCqAEgAiACQRBqIg42AqABIAIgAjYCmAEg +AkEcaiIEIAJBQGsiCRAWIAlBAEHAABCBARogAkGIAWpC/rnrxemOlZkQNwIAIAJCgcaUupbx6uZvNwKAASACQgA3ApABIAkgAigC +HCACKAIkECggBBBRIAcgCUHYABCCARogAkEoaiEKQQAhBCMAQdAAayIGJAAgBkEAQTgQgQEiBiAHKAJQIgg2AjggBiAHQdQAaigC +ADYCPCAHQfKKwABBOEH4ACAIQQN2QT9xIghBOEkbIAhrECgDQCAEIAZqIAQgB2ooAgA2AgAgBEEEaiIEQThHDQALIAdBQGsiCCAG +EAQgBkIANwNIIAZCADcDQEFwIQQDQCAEIAZqQdAAaiAEIAhqQRBqKAIANgIAIARBBGoiBA0ACyAKIAYpA0g3AAggCiAGKQNANwAA +IAZB0ABqJAAgDUIBNwIAIAJBATYCnAEgAkHYicAANgKYASACQQU2AjwgAiACQThqNgKgASACIAo2AjggCSAHEBYgBUEIaiACQcgA +aigCADYCACAFIAIpA0A3AgAgDhBRIAJB8AFqJAAgBSgCCCEGIAUoAgQhBCAFKAIAIQIgAwRAIAwQBQsgCwRAIAEQBQsgACACBH8g +BSAGNgIIIAUgBDYCBCAFIAI2AgAgBRA+IAUoAgghASAFKAIAIQNBACEEQQAFQQELNgIMIAAgBDYCCCAAIAE2AgQgACADNgIAIAVB +EGokAAvaAQEBfyMAQRBrIgUkACAFIAAoAhQgASACIABBGGooAgAoAgwRAQA6AAwgBSAANgIIIAUgAkU6AA0gBUEANgIEIAVBBGog +A0Hsj8AAEB4gBEHYi8AAEB4hAAJ/IAUtAAwiAUEARyAAKAIAIgJFDQAaQQEgAQ0AGiAFKAIIIQACQCACQQFHDQAgBS0ADUUNACAA +LQAcQQRxDQBBASAAKAIUQeicwABBASAAQRhqKAIAKAIMEQEADQEaCyAAKAIUQcSbwABBASAAQRhqKAIAKAIMEQEACyAFQRBqJAAL +jSICEX8IfiMAQTBrIgkkACAJQQhqIhEgAkEDdiACQQdxIgNBAEdqNgIAIBEgAkECdiACQQNxQQBHakEDbDYCBCAJIAkpAwg3AhAg +CSAJQRBqKAIEIg5BARA8IAkgDjYCICAJIAkoAgQ2AhwgCSAJKAIAIhE2AhggCUEkaiEGIAEhDCAJKAIQIQogCSgCFBpBqoLAAC0A +ACETQamCwAAtAAAhEgJAAkACQAJAAkACQAJAAkACQAJAAkAgAw4GAAUBAgMFBAtBCCEDDAMLQQohAwwCC0ELIQMMAQtBDCEDC0EA +IQEgAiADayIEQQAgAiAETxsiD0EgTw0BDAMLIAJFDQEgDCACQQFrIgFqLQAAIgJBPUYNASACQeuCwABqLQAAQf8BRw0BIAZBADoA +BCAGQQI2AgAgBkEIaiABNgIAIAZBBWogAjoAAAwECyAPQSBrIQsCQAJAAkACQANAIAVBYEYNASAFQSBqIgEgAksNAiAIQRpqIA5L +DQMCQAJAIAUgDGoiBy0AACIDQeuCwABqMQAAIhlC/wFRDQAgB0EBai0AACIDQeuCwABqMQAAIhdC/wFRBEAgBUEBaiEFDAELIAdB +AmotAAAiA0HrgsAAajEAACIYQv8BUQRAIAVBAmohBQwBCyAHQQNqLQAAIgNB64LAAGoxAAAiGkL/AVEEQCAFQQNqIQUMAQsgB0EE +ai0AACIDQeuCwABqMQAAIhRC/wFRBEAgBUEEaiEFDAELIAdBBWotAAAiA0HrgsAAajEAACIVQv8BUQRAIAVBBWohBQwBCyAHQQZq +LQAAIgNB64LAAGoxAAAiG0L/AVEEQCAFQQZqIQUMAQsgB0EHai0AACIDQeuCwABqMQAAIhZC/wFSDQEgBUEHaiEFCyAGQQI2AgAg +BiADrUIIhiAFrUIghoQ3AgQMCQsgCCARaiINIBdCNIYgGUI6hoQiFyAYQi6GhCIYIBpCKIaEIBRCIoaEIhQgFUIchoQiFSAbQhaG +hCAWQhCGhCIWQoD+A4NCKIYgFkKAgPwHg0IYhiAWQoCAgPgPg0IIhoSEIBVCCIhCgICA+A+DIBRCGIhCgID8B4OEIBhCKIhCgP4D +gyAXQjiIhISENwAAQQghAyAHQQhqLQAAIgRB64LAAGoxAAAiGUL/AVENBEEJIQMgB0EJai0AACIEQeuCwABqMQAAIhdC/wFRDQRB +CiEDIAdBCmotAAAiBEHrgsAAajEAACIYQv8BUQ0EQQshAyAHQQtqLQAAIgRB64LAAGoxAAAiGkL/AVENBEEMIQMgB0EMai0AACIE +QeuCwABqMQAAIhRC/wFRDQRBDSEDIAdBDWotAAAiBEHrgsAAajEAACIVQv8BUQ0EQQ4hAyAHQQ5qLQAAIgRB64LAAGoxAAAiG0L/ +AVENBEEPIQMgB0EPai0AACIEQeuCwABqMQAAIhZC/wFRDQQgDUEGaiAXQjSGIBlCOoaEIhcgGEIuhoQiGCAaQiiGhCAUQiKGhCIU +IBVCHIaEIhUgG0IWhoQgFkIQhoQiFkKA/gODQiiGIBZCgID8B4NCGIYgFkKAgID4D4NCCIaEhCAVQgiIQoCAgPgPgyAUQhiIQoCA +/AeDhCAYQiiIQoD+A4MgF0I4iISEhDcAAEEQIQMCQCAHQRBqLQAAIgRB64LAAGoxAAAiGUL/AVENAEERIQMgB0ERai0AACIEQeuC +wABqMQAAIhdC/wFRDQBBEiEDIAdBEmotAAAiBEHrgsAAajEAACIYQv8BUQ0AQRMhAyAHQRNqLQAAIgRB64LAAGoxAAAiGkL/AVEN +AEEUIQMgB0EUai0AACIEQeuCwABqMQAAIhRC/wFRDQBBFSEDIAdBFWotAAAiBEHrgsAAajEAACIVQv8BUQ0AQRYhAyAHQRZqLQAA +IgRB64LAAGoxAAAiG0L/AVENAEEXIQMgB0EXai0AACIEQeuCwABqMQAAIhZC/wFRDQAgDUEMaiAXQjSGIBlCOoaEIhcgGEIuhoQi +GCAaQiiGhCAUQiKGhCIUIBVCHIaEIhUgG0IWhoQgFkIQhoQiFkKA/gODQiiGIBZCgID8B4NCGIYgFkKAgID4D4NCCIaEhCAVQgiI +QoCAgPgPgyAUQhiIQoCA/AeDhCAYQiiIQoD+A4MgF0I4iISEhDcAAEEYIQMgB0EYai0AACIEQeuCwABqMQAAIhlC/wFRDQhBGSED +IAdBGWotAAAiBEHrgsAAajEAACIXQv8BUQ0IQRohAyAHQRpqLQAAIgRB64LAAGoxAAAiGEL/AVENCEEbIQMgB0Ebai0AACIEQeuC +wABqMQAAIhpC/wFRDQhBHCEDIAdBHGotAAAiBEHrgsAAajEAACIUQv8BUQ0IQR0hAyAHQR1qLQAAIgRB64LAAGoxAAAiFUL/AVEN +CEEeIQMgB0Eeai0AACIEQeuCwABqMQAAIhtC/wFRDQhBHyEDIAdBH2otAAAiBEHrgsAAajEAACIWQv8BUQ0IIA1BEmogF0I0hiAZ +QjqGhCIXIBhCLoaEIhggGkIohoQgFEIihoQiFCAVQhyGhCIVIBtCFoaEIBZCEIaEIhZCgP4Dg0IohiAWQoCA/AeDQhiGIBZCgICA ++A+DQgiGhIQgFUIIiEKAgID4D4MgFEIYiEKAgPwHg4QgGEIoiEKA/gODIBdCOIiEhIQ3AAAgCkEEayEKIAhBGGohCCALIAEiBUkN +BwwBCwsMBgtBYEEAQayRwAAQOQALIAEgAkGskcAAEDgACyAIQRpqIA5BvJHAABA4AAsMAgsgBkECNgIAIAZBAToABAwCCwJAAkAg +D0EISQ0AIAEgD0EIayIFTw0AAkACQAJAAkACQANAIAFBCGohBCABQXhGDQIgAiAESQ0DIAhBd0sNBCAIQQhqIA5LDQUgASAMaiIL +LQAAIgNB64LAAGoxAAAiGUL/AVENASALQQFqLQAAIgNB64LAAGoxAAAiF0L/AVEEQCABQQFyIQEMAgsgC0ECai0AACIDQeuCwABq +MQAAIhhC/wFRBEAgAUECciEBDAILIAtBA2otAAAiA0HrgsAAajEAACIaQv8BUQRAIAFBA3IhAQwCCyALQQRqLQAAIgNB64LAAGox +AAAiFEL/AVEEQCABQQRyIQEMAgsgC0EFai0AACIDQeuCwABqMQAAIhVC/wFRBEAgAUEFciEBDAILIAtBBmotAAAiA0HrgsAAajEA +ACIbQv8BUQRAIAFBBnIhAQwCCyALQQdqLQAAIgNB64LAAGoxAAAiFkL/AVIEQCAIIBFqIBdCNIYgGUI6hoQiFyAYQi6GhCIYIBpC +KIaEIBRCIoaEIhQgFUIchoQiFSAbQhaGhCAWQhCGhCIWQoD+A4NCKIYgFkKAgPwHg0IYhiAWQoCAgPgPg0IIhoSEIBVCCIhCgICA ++A+DIBRCGIhCgID8B4OEIBhCKIhCgP4DgyAXQjiIhISENwAAIApBAWshCiAIQQZqIQggBSAEIgFNDQgMAQsLIAFBB3IhAQsgBkEC +NgIAIAYgAa1CIIYgA61CCIaENwIEDAcLQXggBEHMkcAAEDkACyAEIAJBzJHAABA4AAsgCCAIQQhqQdyRwAAQOQALIAhBCGogDkHc +kcAAEDgACyABIQQLAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgCkECSQRAIAghCgwBCyAKQQFrIQUgAiAE +ayEDA0AgAiAESQ0DIAhBBmohCiAIQXlLDQQgCiAOSw0FIAIgBEYNBiAEIAxqIgstAAAiAUHrgsAAajEAACIZQv8BUQ0TIANBAkkN +ByALQQFqLQAAIgFB64LAAGoxAAAiGkL/AVENAiADQQJNDQggC0ECai0AACIBQeuCwABqMQAAIhtC/wFRDQkgA0EDTQ0KIAtBA2ot +AAAiAUHrgsAAajEAACIWQv8BUQ0LIANBBE0NDCALQQRqLQAAIgFB64LAAGoxAAAiF0L/AVENDSADQQVNDQ4gC0EFai0AACIBQeuC +wABqMQAAIhhC/wFRDQ8gA0EGTQ0QIAtBBmotAAAiAUHrgsAAajEAACIUQv8BUQ0RIANBB00NEiALQQdqLQAAIgFB64LAAGoxAAAi +FUL/AVEEQCAEQQdqIQQMFAsgCCARaiIBIBpCNIYgGUI6hoQgG0IuhoQgFkIohoQgF0IihoQgGEIchoQgFEIWhoQiFEIIiEKAgID4 +D4MgFEIYiEKAgPwHg4QgFEIoiEKA/gODIBRCOIiEhD4AACABQQRqIBQgFUIQhoQiFUKAgPwHg0IYhiAVQoCAgPgPg0IIhoRCIIg9 +AAAgA0EIayEDIARBCGohBCAKIQggBUEBayIFDQALCyASQQBHIRJBACENQQAhCEEAIQNCACEUQQAhB0EAIQEjAEEgayIQJAACQAJA +AkACQAJAIAIgBE8EQCACIARGBEBBACECDAMLIAIgDGohDyAEIAxqIQwDQEEAIQUDQCAFIAdqIQ0gBSAMaiILLQAAIgJBPUcEQAJA +IAVFBEAgAkHrgsAAajEAACIVQv8BUQ0BIA1BAWohByAVIAhBAWoiCEE6bEE+ca2GIBSEIRRBACENIAIhASALQQFqIgwgD0cNBAwH +CyAGQYD6ADsBBCAGQQI2AgAgBkEIaiADIARqNgIADAcLIAZBADoABCAGQQI2AgAgBkEFaiACOgAAIAZBCGogBCAHaiAFajYCAAwG +CyADIA0gBRshAyANQQJxBEAgDCAFQQFqIgVqIA9GDQQMAQsLCyAGQYD6ADsBBCAGQQI2AgAgBkEIaiADIARqNgIADAMLIAQgAkHo +jMAAEDYACyAPIAxrIQ0gASECCwJAAkACQAJAIBNBAWsOAgEAAwsgDQ0BDAILIAggDWpBA3FFDQEgBkECNgIAIAZBAzoABAwCCyAG +QQI2AgAgBkEDOgAEDAELQQAhBQJAAn8CQAJAAkACQAJAAkACQCAIIgwOCQgAAQIDAAQFBgALIBBBEGpCADcCACAQQQE2AgggEEGI +jsAANgIEIBAgEEEcajYCDCAQQQRqQZCOwAAQSAALQQgMBQtBEAwEC0EYDAMLQSAMAgtBKAwBC0EwCyEMQQEhBQsgEkUgFCAMrYZC +AFJxRQRAIAUEQCAKIA4gCiAOSxshAUEAIQJBOCEFA0AgASAKRg0EIAogEWogFCAFQThxrYg8AAAgBUEIayEFIApBAWohCiACQQhq +IgIgDEkNAAsLIAYgCjYCCCAGIAMgBGo2AgQgBiANQQBHNgIADAELIAZBAjoABCAGQQI2AgAgBkEFaiACOgAAIAZBCGogBCAIakEB +azYCAAsgEEEgaiQADAELIAEgDkH4jMAAEDcACwwTCyAEQQFqIQQMEAsgBCACQeyRwAAQNgALIAggCkH8kcAAEDkACyAKIA5B/JHA +ABA4AAtBAEEAQYySwAAQNwALQQFBAUGcksAAEDcAC0ECQQJBrJLAABA3AAsgBEECaiEEDAkLQQNBA0G8ksAAEDcACyAEQQNqIQQM +BwtBBEEEQcySwAAQNwALIARBBGohBAwFC0EFQQVB3JLAABA3AAsgBEEFaiEEDAMLQQZBBkHsksAAEDcACyAEQQZqIQQMAQtBB0EH +QfySwAAQNwALIAZBAjYCACAGIAGtQgiGIAStQiCGhDcCBAwBCyAGQQI2AgAgBiAErUIIhiADIAVqrUIghoQ3AgQLAkAgCSgCJEEC +RwRAIAlBLGooAgAiASAOTQRAIAkgATYCIAsgACAJKQIYNwIAIABBCGogCUEgaigCADYCAAwBCyAJKQIoIRUgAEEANgIAIAAgFTcC +BCAJQRhqEFELIAlBMGokAAvKAQACQAJAIAEEQCACQQBIDQECQAJAAn8gAygCBARAIANBCGooAgAiAUUEQCACRQRAQQEhAQwEC0Hd +osAALQAAGiACQQEQYAwCCyADKAIAIAFBASACEFkMAQsgAkUEQEEBIQEMAgtB3aLAAC0AABogAkEBEGALIgFFDQELIAAgATYCBCAA +QQhqIAI2AgAgAEEANgIADwsgAEEBNgIEDAILIABBADYCBAwBCyAAQQA2AgQgAEEBNgIADwsgAEEIaiACNgIAIABBATYCAAvFAQEE +fyMAQUBqIgMkACADQQBBwAAQgQEhAyAAIAAoAlAiBiACQQN0aiIENgJQIABB1ABqIgUgBSgCACACQR12aiAEIAZJajYCACACBEAg +ASACaiEEIABBQGshBSAGQQN2QT9xIQIDQCAAIAJqIAEtAAA6AAAgAkEBaiICQcAARgRAQQAhAgNAIAIgA2ogACACaigCADYCACAC +QQRqIgJBwABHDQALIAUgAxAEQQAhAgsgAUEBaiIBIARHDQALCyADQUBrJAALhAIBAn8jAEEgayIGJABBlKPAAEGUo8AAKAIAIgdB +AWo2AgACQAJAIAdBAEgNAEHgpsAALQAADQBB4KbAAEEBOgAAQdymwABB3KbAACgCAEEBajYCACAGIAU6AB0gBiAEOgAcIAYgAzYC +GCAGIAI2AhQgBkGYmcAANgIQIAZB9JbAADYCDEGEo8AAKAIAIgJBAEgNAEGEo8AAIAJBAWo2AgBBhKPAAEGMo8AAKAIABH8gBiAA +IAEoAhARAgAgBiAGKQMANwIMQYyjwAAoAgAgBkEMakGQo8AAKAIAKAIUEQIAQYSjwAAoAgBBAWsFIAILNgIAQeCmwABBADoAACAE +DQELAAsAC70BAQR/QXAhBCAAIAFBAnRqIQBB+AAgASABQfgATxtB+ABrIQYCQAJAA0AgASAEaiIDQfgATw0CIAUgBkYNASAAIABB +QGooAgAgACgCACACeEGDhowYcXMiA0ECdEH8+fNncSADQQR0QfDhw4d/cXMgA0EGdEHAgYOGfHFzIANzNgIAIARBAWohBCAAQQRq +IQAgBUEBayIFQXhHDQALDwsgASAFa0H4AEG8lsAAEDcACyADQfgAQayWwAAQNwAL2QEBAn8jAEEQayICJAAgAiAAQQRqNgIEIAEo +AhRBraLAAEEJIAFBGGooAgAoAgwRAQAhAyACQQA6AA0gAiADOgAMIAIgATYCCCACQQhqQbaiwABBCyAAQZiiwAAQGEHBosAAQQkg +AkEEakHMosAAEBghAyACLQAMIQACfyAAQQBHIAItAA1FDQAaQQEgAA0AGiADKAIAIgAtABxBBHFFBEAgACgCFEHjnMAAQQIgACgC +GCgCDBEBAAwBCyAAKAIUQeKcwABBASAAKAIYKAIMEQEACyACQRBqJAALyAEBAn8jAEEgayIDJAACQAJAIAEgASACaiIBSw0AQQgg +ACgCBCICQQF0IgQgASABIARJGyIBIAFBCE0bIgRBf3NBH3YhAQJAIAJFBEAgA0EANgIYDAELIAMgAjYCHCADQQE2AhggAyAAKAIA +NgIUCyADQQhqIAEgBCADQRRqEC4gAygCDCEBIAMoAghFBEAgACAENgIEIAAgATYCAAwCCyABQYGAgIB4Rg0BIAFFDQAgASADQRBq +KAIAEHoACxBHAAsgA0EgaiQAC8gBAQJ/IwBBIGsiAyQAAkACQCABIAEgAmoiAUsNAEEIIAAoAgQiAkEBdCIEIAEgASAESRsiASAB +QQhNGyIEQX9zQR92IQECQCACRQRAIANBADYCGAwBCyADIAI2AhwgA0EBNgIYIAMgACgCADYCFAsgA0EIaiABIAQgA0EUahAnIAMo +AgwhASADKAIIRQRAIAAgBDYCBCAAIAE2AgAMAgsgAUGBgICAeEYNASABRQ0AIAEgA0EQaigCABB6AAsQRwALIANBIGokAAusAQEB +fwJAAkAgAQRAIAJBAEgNAQJ/IAMoAgQEQAJAIANBCGooAgAiBEUEQAwBCyADKAIAIAQgASACEFkMAgsLIAEgAkUNABpB3aLAAC0A +ABogAiABEGALIgMEQCAAIAM2AgQgAEEIaiACNgIAIABBADYCAA8LIAAgATYCBCAAQQhqIAI2AgAMAgsgAEEANgIEIABBCGogAjYC +AAwBCyAAQQA2AgQLIABBATYCAAusAQEDfyMAQdAAayICJAADQAJAIAIgACADajYCDCACQQ02AiwgAkEBNgIkIAJBATYCFCACQbSL +wAA2AhAgAkEBNgIcIAIgAkEMajYCKCACQQM6AEwgAkEINgJIIAJCIDcCQCACQoCAgIAgNwI4IAJBAjYCMCACIAJBMGo2AiAgAiAC +QShqNgIYIAEgAkEQahBcIgQNACADQQFqIgNBEEcNAQsLIAJB0ABqJAAgBAuPAQEDfyMAQYABayIDJAAgAC0AACECQQAhAANAIAAg +A2pB/wBqQTBB1wAgAkEPcSIEQQpJGyAEajoAACAAQQFrIQAgAiIEQQR2IQIgBEEQTw0ACyAAQYABaiICQYABSwRAIAJBgAFBmJ3A +ABA2AAsgAUGoncAAQQIgACADakGAAWpBACAAaxAJIANBgAFqJAALkgEBAX8jAEFAaiICJAAgAkIANwM4IAJBOGogACgCABACIAJB +GGpCATcCACACIAIoAjwiADYCNCACIAA2AjAgAiACKAI4NgIsIAJBDjYCKCACQQI2AhAgAkHIi8AANgIMIAIgAkEsajYCJCACIAJB +JGo2AhQgASACQQxqEFwgAigCMARAIAIoAiwQBQsgAkFAayQAC4sBAQF/IwBBEGsiAiQAAn8CQAJAAkACQCAALQAAQQFrDgMBAgMA +CyACIABBAWo2AgggAUGJkMAAQQsgAEEEaiACQQhqECUMAwsgAUH8j8AAQQ0QVQwCCyACIABBAWo2AgwgAUGUkMAAQREgAEEEaiAC +QQxqECUMAQsgAUGlkMAAQQ4QVQsgAkEQaiQAC4wBAgN/AX4jAEEgayICJAAgAUEEaiEDIAEoAgRFBEAgASgCACEBIAJBHGoiBEEA +NgIAIAJCATcCFCACQRRqQaCXwAAgARANGiACQRBqIAQoAgAiATYCACACIAIpAhQiBTcDCCADQQhqIAE2AgAgAyAFNwIACyAAQdCY +wAA2AgQgACADNgIAIAJBIGokAAt9AQF/IwBBQGoiBSQAIAUgATYCDCAFIAA2AgggBSADNgIUIAUgAjYCECAFQSRqQgI3AgAgBUE8 +akEuNgIAIAVBAjYCHCAFQaycwAA2AhggBUEvNgI0IAUgBUEwajYCICAFIAVBEGo2AjggBSAFQQhqNgIwIAVBGGogBBBIAAt4AQJ/ +IAFBD2ohAiAAIAFBAnRqIQBBICEBAkACQANAIAJBCGtB+ABPDQIgAkH4AE8NASAAIAFqIgNBHGogA0EEaygCADYCACACQQFrIQIg +AUEEayIBDQALDwsgAkH4AEHclsAAEDcACyACQQhrQfgAQcyWwAAQNwALbAEBfyMAQTBrIgMkACADIAA2AgAgAyABNgIEIANBFGpC +AjcCACADQSxqQRI2AgAgA0ECNgIMIANBqJ/AADYCCCADQRI2AiQgAyADQSBqNgIQIAMgA0EEajYCKCADIAM2AiAgA0EIaiACEEgA +C2wBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQRRqQgI3AgAgA0EsakESNgIAIANBAjYCDCADQZicwAA2AgggA0ESNgIkIAMg +A0EgajYCECADIAM2AiggAyADQQRqNgIgIANBCGogAhBIAAtsAQF/IwBBMGsiAyQAIAMgADYCACADIAE2AgQgA0EUakICNwIAIANB +LGpBEjYCACADQQI2AgwgA0HIn8AANgIIIANBEjYCJCADIANBIGo2AhAgAyADQQRqNgIoIAMgAzYCICADQQhqIAIQSAALbAEBfyMA +QTBrIgMkACADIAA2AgAgAyABNgIEIANBFGpCAjcCACADQSxqQRI2AgAgA0ECNgIMIANB/J/AADYCCCADQRI2AiQgAyADQSBqNgIQ +IAMgA0EEajYCKCADIAM2AiAgA0EIaiACEEgAC/sDAgd/AX4jAEEQayIEJAAgACgCCCEGIAAoAgAhACABKAIUQdCbwABBASABQRhq +KAIAKAIMEQEAIQMgBEEEaiICQQA6AAUgAiADOgAEIAIgATYCACAGBEADQCAEIAA2AgwgBEEMaiEIIwBBQGoiASQAQQEhAwJAIARB +BGoiBS0ABA0AIAUtAAUhAwJAIAUoAgAiAigCHCIHQQRxRQRAIANFDQFBASEDIAIoAhRB25zAAEECIAJBGGooAgAoAgwRAQBFDQEM +AgsgA0UEQEEBIQMgAigCFEHpnMAAQQEgAkEYaigCACgCDBEBAA0CIAIoAhwhBwtBASEDIAFBAToAGyABQTRqQbycwAA2AgAgASAC +KQIUNwIMIAEgAUEbajYCFCABIAIpAgg3AiQgAikCACEJIAEgBzYCOCABIAIoAhA2AiwgASACLQAgOgA8IAEgCTcCHCABIAFBDGo2 +AjAgCCABQRxqQbSZwAAoAgARAAANASABKAIwQeCcwABBAiABKAI0KAIMEQEAIQMMAQsgCCACQbSZwAAoAgARAAAhAwsgBUEBOgAF +IAUgAzoABCABQUBrJAAgAEEBaiEAIAZBAWsiBg0ACwsgBEEEaiIALQAEBH9BAQUgACgCACIAKAIUQfycwABBASAAQRhqKAIAKAIM +EQEACyAEQRBqJAALZwAjAEEwayIAJABB3KLAAC0AAARAIABBGGpCATcCACAAQQI2AhAgAEHcl8AANgIMIABBEjYCKCAAIAE2Aiwg +ACAAQSRqNgIUIAAgAEEsajYCJCAAQQxqQYSYwAAQSAALIABBMGokAAt3AAJAAkACQCABRQRAQQEhAgwBCyABQQBIDQECfyACRQRA +Qd2iwAAtAAAaIAFBARBgDAELAkAgARADIgJFDQAgAhCHARBqDQAgAkEAIAEQgQEaCyACCyICRQ0CCyAAIAE2AgQgACACNgIADwsQ +RwALQQEgARB6AAtbAQF/IwBBMGsiAyQAIAMgATYCDCADIAA2AgggA0EcakIBNwIAIANBATYCFCADQcibwAA2AhAgA0EvNgIsIAMg +A0EoajYCGCADIANBCGo2AiggA0EQaiACEEgAC7sCAQd/IwBBEGsiBSQAAkAgACgCCCIEIAAoAgRPDQAgBUEIaiEGIwBBIGsiASQA +AkAgBCAAKAIETQRAIAFBCGohAgJAIAAoAgQiA0UEQCACQQA2AgQMAQsgAiADNgIIIAJBATYCBCACIAAoAgA2AgALAkACQCABKAIM +IgJFDQAgAUEQaigCACEDIAEoAgghByAERQRAIAMEQCAHEAULIABCATcCAAwBCyAHIAMgAiAEEFkiA0UNASAAIAQ2AgQgACADNgIA +C0GBgICAeCECCyAGIAQ2AgQgBiACNgIAIAFBIGokAAwBCyABQRRqQgA3AgAgAUEBNgIMIAFBxIHAADYCCCABQZCBwAA2AhAgAUEI +akGYgsAAEEgACyAFKAIIIgBBgYCAgHhGDQAgACAFKAIMEHoACyAFQRBqJAALTwECfyAAKAIEIQIgACgCACEDAkAgACgCCCIALQAA +RQ0AIANB1JzAAEEEIAIoAgwRAQBFDQBBAQ8LIAAgAUEKRjoAACADIAEgAigCEBEAAAtCAQF/IAIgACgCBCAAKAIIIgNrSwRAIAAg +AyACECwgACgCCCEDCyAAKAIAIANqIAEgAhCCARogACACIANqNgIIQQALTQECf0HdosAALQAAGiABKAIEIQIgASgCACEDQQhBBBBg +IgFFBEBBBEEIEHoACyABIAI2AgQgASADNgIAIABB4JjAADYCBCAAIAE2AgALQgEBfyACIAAoAgQgACgCCCIDa0sEQCAAIAMgAhAt +IAAoAgghAwsgACgCACADaiABIAIQggEaIAAgAiADajYCCEEAC0cBAX8jAEEgayIDJAAgA0EMakIANwIAIANBATYCBCADQcSbwAA2 +AgggAyABNgIcIAMgADYCGCADIANBGGo2AgAgAyACEEgAC+cBAQN/IwBBEGsiAyQAIAMgAEEMajYCDCMAQRBrIgIkACABKAIUQaSb +wABBDSABQRhqKAIAKAIMEQEAIQQgAkEAOgANIAIgBDoADCACIAE2AgggAkEIakGHm8AAQQUgAEG0m8AAEBhBjJvAAEEFIANBDGpB +lJvAABAYIQACfyACLQAMIgFBAEcgAi0ADUUNABpBASABDQAaIAAoAgAiAC0AHEEEcUUEQCAAKAIUQeOcwABBAiAAKAIYKAIMEQEA +DAELIAAoAhRB4pzAAEEBIAAoAhgoAgwRAQALIAJBEGokACADQRBqJAALNwACQCABaUEBR0GAgICAeCABayAASXINACAABEBB3aLA +AC0AABogACABEGAiAUUNAQsgAQ8LAAs5AAJAAn8gAkGAgMQARwRAQQEgACACIAEoAhARAAANARoLIAMNAUEACw8LIAAgAyAEIAEo +AgwRAQALPwEBfyMAQSBrIgAkACAAQRRqQgA3AgAgAEEBNgIMIABBgJrAADYCCCAAQbiZwAA2AhAgAEEIakGImsAAEEgAC8kCAQJ/ +IwBBIGsiAiQAIAJBATsBHCACIAE2AhggAiAANgIUIAJB1JvAADYCECACQcSbwAA2AgwjAEEQayIBJAACQCACQQxqIgAoAgwiAgRA +IAAoAggiA0UNASABIAI2AgwgASAANgIIIAEgAzYCBCMAQRBrIgAkACABQQRqIgEoAgAiAkEMaigCACEDAkACfwJAAkAgAigCBA4C +AAEDCyADDQJBACECQfSWwAAMAQsgAw0BIAIoAgAiAygCBCECIAMoAgALIQMgACACNgIEIAAgAzYCACAAQfCYwAAgASgCBCIAKAII +IAEoAgggAC0AECAALQARECkACyAAQQA2AgQgACACNgIAIABBhJnAACABKAIEIgAoAgggASgCCCAALQAQIAAtABEQKQALQfSWwABB +K0GwmMAAEEMAC0H0lsAAQStBwJjAABBDAAstAAJAIANpQQFHQYCAgIB4IANrIAFJckUEQCAAIAEgAyACEFkiAA0BCwALIAALsgEB +A38gACgCACEAIAEQZ0UEQCABEGhFBEAgADEAACABEBoPCyMAQYABayIDJAAgAC0AACEAA0AgAiADakH/AGpBMEE3IABBD3EiBEEK +SRsgBGo6AAAgAkEBayECIAAiBEEEdiEAIARBEE8NAAsgAkGAAWoiAEGAAUsEQCAAQYABQZidwAAQNgALIAFBqJ3AAEECIAIgA2pB +gAFqQQAgAmsQCSADQYABaiQADwsgACABEDALpwIBA38gARBnRQRAIAEQaEUEQCAAIAEQbg8LIwBBgAFrIgMkACAAKAIAIQADQCAC +IANqQf8AakEwQTcgAEEPcSIEQQpJGyAEajoAACACQQFrIQIgAEEQSSAAQQR2IQBFDQALIAJBgAFqIgBBgAFLBEAgAEGAAUGYncAA +EDYACyABQaidwABBAiACIANqQYABakEAIAJrEAkgA0GAAWokAA8LIwBBgAFrIgMkACAAKAIAIQADQCACIANqQf8AakEwQdcAIABB +D3EiBEEKSRsgBGo6AAAgAkEBayECIABBEEkgAEEEdiEARQ0ACyACQYABaiIAQYABSwRAIABBgAFBmJ3AABA2AAsgAUGoncAAQQIg +AiADakGAAWpBACACaxAJIANBgAFqJAALJwAgACAAKAIEQQFxIAFyQQJyNgIEIAAgAWoiACAAKAIEQQFyNgIECycAIABCADcAACAA +QRhqQgA3AAAgAEEQakIANwAAIABBCGpCADcAAAsgAQF/AkAgACgCBCIBRQ0AIABBCGooAgBFDQAgARAFCwsjACACIAIoAgRBfnE2 +AgQgACABQQFyNgIEIAAgAWogATYCAAseACAAIAFBA3I2AgQgACABaiIAIAAoAgRBAXI2AgQLEQAgACgCBARAIAAoAgAQBQsLGQEB +fyAAKAIQIgEEfyABBSAAQRRqKAIACwsSAEEZIABBAXZrQQAgAEEfRxsLFgAgACABQQFyNgIEIAAgAWogATYCAAsZACAAKAIUIAEg +AiAAQRhqKAIAKAIMEQEACxwAIAEoAhRBqKLAAEEFIAFBGGooAgAoAgwRAQALFAAgACgCACIAQYQBTwRAIAAQAAsLEAAgACABakEB +a0EAIAFrcQuLBgEGfwJ/IAAhBQJAAkACQAJAAkAgAkEJTwRAIAIgAxAXIgcNAUEADAYLQQhBCBBYIQBBFEEIEFghAUEQQQgQWCEC +QQBBEEEIEFhBAnRrIgRBgIB8IAIgACABamprQXdxQQNrIgAgACAESxsgA00NA0EQIANBBGpBEEEIEFhBBWsgA0sbQQgQWCECIAUQ +hwEiACAAEHQiBBCEASEBAkACQAJAAkACQAJAIAAQakUEQCACIARNDQQgAUHEpsAAKAIARg0GIAFBwKbAACgCAEYNAyABEGUNCSAB +EHQiBiAEaiIIIAJJDQkgCCACayEEIAZBgAJJDQEgARAcDAILIAAQdCEBIAJBgAJJDQggASACa0GBgAhJIAJBBGogAU1xDQQgASAA +KAIAIgFqQRBqIQQgAkEfakGAgAQQWCECDAgLIAFBDGooAgAiCSABQQhqKAIAIgFHBEAgASAJNgIMIAkgATYCCAwBC0GwpsAAQbCm +wAAoAgBBfiAGQQN2d3E2AgALQRBBCBBYIARNBEAgACACEIQBIQEgACACEEwgASAEEEwgASAEEBAgAA0JDAcLIAAgCBBMIAANCAwG +C0G4psAAKAIAIARqIgQgAkkNBQJAQRBBCBBYIAQgAmsiAUsEQCAAIAQQTEEAIQFBACEEDAELIAAgAhCEASIEIAEQhAEhBiAAIAIQ +TCAEIAEQVCAGIAYoAgRBfnE2AgQLQcCmwAAgBDYCAEG4psAAIAE2AgAgAA0HDAULQRBBCBBYIAQgAmsiAUsNACAAIAIQhAEhBCAA +IAIQTCAEIAEQTCAEIAEQEAsgAA0FDAMLQbymwAAoAgAgBGoiBCACSw0BDAILIAcgBSABIAMgASADSRsQggEaIAUQBQwCCyAAIAIQ +hAEhASAAIAIQTCABIAQgAmsiAkEBcjYCBEG8psAAIAI2AgBBxKbAACABNgIAIAANAgsgAxADIgFFDQAgASAFIAAQdEF4QXwgABBq +G2oiACADIAAgA0kbEIIBIAUQBQwCCyAHDAELIAAQahogABCGAQsLCwAgAQRAIAAQBQsLDwAgAEEBdCIAQQAgAGtyCxMAIAAoAhQg +AEEYaigCACABEA0LFAAgACgCACABIAAoAgQoAgwRAAALEAAgACgCACAAKAIEIAEQfQsQACAAKAIAIAAoAgggARB9CxkAAn8gAUEJ +TwRAIAEgABAXDAELIAAQAwsLIQAgAEKYo6rL4I761NYANwMIIABCq6qJm/b22twaNwMACyAAIABC5N7HhZDQhd59NwMIIABCwff5 +6MyTstFBNwMACyIAIABCqrDurabN4qqqfzcDCCAAQrusqeeAuviazQA3AwALEwAgAEHgmMAANgIEIAAgATYCAAsNACAALQAEQQJx +QQF2CxAAIAEgACgCACAAKAIEEAYLDQAgAC0AHEEQcUEEdgsNACAALQAcQSBxQQV2CwoAQQAgAGsgAHELCwAgAC0ABEEDcUULDAAg +ACABQQNyNgIECw0AIAAoAgAgACgCBGoLDgAgACgCABoDQAwACwALCwAgADUCACABEBoLCwAgACMAaiQAIwALBgAgABBRCwsAIAAo +AgAgARAwCw0AIAFB7JbAAEEIEFULDQAgAEGgl8AAIAEQDQsKACAAKAIEQXhxCwoAIAAoAgRBAXELCgAgACgCDEEBcQsKACAAKAIM +QQF2CwsAIAAoAgAgARArCw0AIABBuJnAACABEA0LGQAgACABQYCjwAAoAgAiAEETIAAbEQIAAAuIBAEFfyMAQRBrIgMkAAJAAn8C +QCABQYABTwRAIANBADYCDCABQYAQSQ0BIAFBgIAESQRAIAMgAUE/cUGAAXI6AA4gAyABQQx2QeABcjoADCADIAFBBnZBP3FBgAFy +OgANQQMMAwsgAyABQT9xQYABcjoADyADIAFBBnZBP3FBgAFyOgAOIAMgAUEMdkE/cUGAAXI6AA0gAyABQRJ2QQdxQfABcjoADEEE +DAILIAAoAggiAiAAKAIERgRAIwBBIGsiBCQAAkACQCACQQFqIgJFDQBBCCAAKAIEIgZBAXQiBSACIAIgBUkbIgIgAkEITRsiBUF/ +c0EfdiECAkAgBkUEQCAEQQA2AhgMAQsgBCAGNgIcIARBATYCGCAEIAAoAgA2AhQLIARBCGogAiAFIARBFGoQJyAEKAIMIQIgBCgC +CEUEQCAAIAU2AgQgACACNgIADAILIAJBgYCAgHhGDQEgAkUNACACIARBEGooAgAQegALEEcACyAEQSBqJAAgACgCCCECCyAAIAJB +AWo2AgggACgCACACaiABOgAADAILIAMgAUE/cUGAAXI6AA0gAyABQQZ2QcABcjoADEECCyEBIAEgACgCBCAAKAIIIgJrSwRAIAAg +AiABEC0gACgCCCECCyAAKAIAIAJqIANBDGogARCCARogACABIAJqNgIICyADQRBqJABBAAsNACAAQbycwAAgARANCwoAIAIgACAB +EAYLDAAgACABKQIANwMACwwAIAAgASkCCDcDAAu3AgEDfwJ/IAAoAgAhACMAQYABayIEJAACQAJAAn8CQCABKAIcIgNBEHFFBEAg +A0EgcQ0BIAAxAAAgARAaDAILIAAtAAAhAANAIAIgBGpB/wBqQTBB1wAgAEEPcSIDQQpJGyADajoAACACQQFrIQIgACIDQQR2IQAg +A0EQTw0ACyACQYABaiIAQYABSw0CIAFBqJ3AAEECIAIgBGpBgAFqQQAgAmsQCQwBCyAALQAAIQADQCACIARqQf8AakEwQTcgAEEP +cSIDQQpJGyADajoAACACQQFrIQIgACIDQQR2IQAgA0EQTw0ACyACQYABaiIAQYABSw0CIAFBqJ3AAEECIAIgBGpBgAFqQQAgAmsQ +CQsgBEGAAWokAAwCCyAAQYABQZidwAAQNgALIABBgAFBmJ3AABA2AAsLrwEBA38gASEFAkAgAkEQSQRAIAAhAQwBCyAAQQAgAGtB +A3EiA2ohBCADBEAgACEBA0AgASAFOgAAIAFBAWoiASAESQ0ACwsgBCACIANrIgJBfHEiA2ohASADQQBKBEAgBUH/AXFBgYKECGwh +AwNAIAQgAzYCACAEQQRqIgQgAUkNAAsLIAJBA3EhAgsgAgRAIAEgAmohAgNAIAEgBToAACABQQFqIgEgAkkNAAsLIAALuAIBB38C +QCACIgRBEEkEQCAAIQIMAQsgAEEAIABrQQNxIgNqIQUgAwRAIAAhAiABIQYDQCACIAYtAAA6AAAgBkEBaiEGIAJBAWoiAiAFSQ0A +CwsgBSAEIANrIghBfHEiB2ohAgJAIAEgA2oiA0EDcQRAIAdBAEwNASADQQN0IgRBGHEhCSADQXxxIgZBBGohAUEAIARrQRhxIQQg +BigCACEGA0AgBSAGIAl2IAEoAgAiBiAEdHI2AgAgAUEEaiEBIAVBBGoiBSACSQ0ACwwBCyAHQQBMDQAgAyEBA0AgBSABKAIANgIA +IAFBBGohASAFQQRqIgUgAkkNAAsLIAhBA3EhBCADIAdqIQELIAQEQCACIARqIQMDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiAD +SQ0ACwsgAAsLAEGEicAAQSwQAQsHACAAIAFqCwcAIAAgAWsLBwAgAEEIagsHACAAQQhrCwMAAQsL7SEEAEGAgMAAC/MKL1VzZXJz +L21hZ3Vhbmd6aGkvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9ibG9jay1wYWRk +aW5nLTAuMy4zL3NyYy9saWIucnNhc3NlcnRpb24gZmFpbGVkOiBuIDw9IGJzAAAAABAAZQAAAFEAAAARAAAAAQAAABQAAAAEAAAA +AgAAAFRyaWVkIHRvIHNocmluayB0byBhIGxhcmdlciBjYXBhY2l0eaAAEAAkAAAAL3J1c3RjLzc5ZTk3MTZjOTgwNTcwYmZkMWY2 +NjZlM2IxNmFjNTgzZjAxNjg5NjIvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5yc8wAEABMAAAArgEAAAkAAAABAAFBQkNERUZH +SElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsv//////////////////////// +/////////////////////////////////z7///8/NDU2Nzg5Ojs8Pf////////8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGf// +/////xobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz//////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////y9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJi +YmExNTAwMWYvYmFzZTY0LTAuMjEuMi9zcmMvZW5jb2RlLnJzAAAAawIQAGIAAABQAAAAMwAAAHVzaXplIG92ZXJmbG93IHdoZW4g +Y2FsY3VsYXRpbmcgYjY0IGxlbmd0aAAAawIQAGIAAABXAAAACgAAAC9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9z +cmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYmFzZTY0LTAuMjEuMi9zcmMvZW5naW5lL21vZC5yc2ludGVnZXIg +b3ZlcmZsb3cgd2hlbiBjYWxjdWxhdGluZyBidWZmZXIgc2l6ZQAcAxAAZgAAAHcAAAAOAAAASW52YWxpZCBVVEY4HAMQAGYAAAB8 +AAAAIAAAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUABgAAAAgAAAAEAAAABwAAAAYAAAAIAAAA +BAAAAAgAAAAJAAAABAAAAAQAAAAKAAAACwAAAAAAAAABAAAADAAAAHNyYy9saWIucnMAAEgEEAAKAAAAeQAAACUAAAADBQcADwoN +AQsOBAYJDAgCSAQQAAoAAAB7AAAAJwAAAEFMc1BEcnNPQjdDN0RBZTN1cjhNQ3dzQnNBRUh1Z0M2QXdBQUI3OEtBQTg9SAQQAAoA +AAAVAAAALwAAANwDEAAAAAAA3AMQAAAAAADcAxAAAAAAANwDEAAAAAAAdnd3THU3ZTZ1ZzRIQVFNQXVnOENzQThIRDdvSER3dXhB +ZzRIQVFHNkRMQT1IBBAACgAAADcAAAAKAAAARXJyb3IgS2V5AAAASAQQAAoAAABaAAAANgAAAEVycm9yIGRlY29kaW5nIGNpcGhl +ciB0ZXh0IDFFcnJvciBkZWNyeXB0aW5nIGNpcGhlciB0ZXh0IDKAAEG0i8AAC9gVsgUQAAAAAABKc1ZhbHVlKCkAAAC8BRAACAAA +AMQFEAABAAAADwAAAAQAAAAEAAAAEAAAAC9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVz +LmlvLTZmMTdkMjJiYmExNTAwMWYvYmFzZTY0LTAuMjEuMi9zcmMvZW5naW5lL2dlbmVyYWxfcHVycG9zZS9kZWNvZGVfc3VmZml4 +LnJz6AUQAIAAAAAdAAAAGQAAAOgFEACAAAAAmgAAAAkAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2Rl +OiBJbXBvc3NpYmxlOiBtdXN0IG9ubHkgaGF2ZSAwIHRvIDggaW5wdXQgYnl0ZXMgaW4gbGFzdCBjaHVuaywgd2l0aCBubyBpbnZh +bGlkIGxlbmd0aHMAAIgGEAB+AAAA6AUQAIAAAACFAAAADgAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNv +ZGU6IEltcG9zc2libGUgcmVtYWluZGVyAAAgBxAAPgAAAC9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5k +ZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYmFzZTY0LTAuMjEuMi9zcmMvZW5jb2RlLnJzAABoBxAAYgAAAG4AAAAWAAAA +aAcQAGIAAACCAAAACQAAAA8AAAAEAAAABAAAABEAAABJbnZhbGlkTGVuZ3RoSW52YWxpZEJ5dGVJbnZhbGlkTGFzdFN5bWJvbElu +dmFsaWRQYWRkaW5nL1VzZXJzL21hZ3Vhbmd6aGkvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJi +YTE1MDAxZi9iYXNlNjQtMC4yMS4yL3NyYy9lbmdpbmUvZ2VuZXJhbF9wdXJwb3NlL2RlY29kZS5yczMIEAB5AAAAcgAAACkAAAAz +CBAAeQAAAHMAAAAvAAAAMwgQAHkAAACZAAAAGwAAADMIEAB5AAAAnQAAABkAAAAzCBAAeQAAALAAAAATAAAAMwgQAHkAAACzAAAA +GAAAADMIEAB5AAAA2gAAAB8AAAAzCBAAeQAAAOAAAAAfAAAAMwgQAHkAAADpAAAAHwAAADMIEAB5AAAA8gAAAB8AAAAzCBAAeQAA +APsAAAAfAAAAMwgQAHkAAAAEAQAAHwAAADMIEAB5AAAADQEAAB8AAAAzCBAAeQAAABYBAAAfAAAAL1VzZXJzL21hZ3Vhbmd6aGkv +LmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9iYXNlNjQtMC4yMS4yL3NyYy9lbmdp +bmUvZ2VuZXJhbF9wdXJwb3NlL21vZC5ycwAAjAkQAHYAAACUAAAADQAAAIwJEAB2AAAAlgAAAEAAAACMCRAAdgAAAJUAAAANAAAA +jAkQAHYAAACYAAAADQAAAIwJEAB2AAAAnAAAAA0AAACMCRAAdgAAAJ0AAAANAAAAjAkQAHYAAACFAAAAJQAAAIwJEAB2AAAAhgAA +ACsAAACMCRAAdgAAAD4AAAAbAAAAjAkQAHYAAABAAAAAIAAAAC9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9zcmMv +aW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYWVzLTAuOC4zL3NyYy9zb2Z0L2ZpeHNsaWNlMzIucnMApAoQAGcAAADd +AQAAKQAAAKQKEABnAAAA8gEAAC0AAACkChAAZwAAAIkEAAASAAAApAoQAGcAAACJBAAAPQAAAKQKEABnAAAAFAUAACIAAACkChAA +ZwAAABQFAAAJAAAAUGFkRXJyb3JjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlABQAAAAMAAAABAAA +ABUAAAAWAAAAFwAAAG1lbW9yeSBhbGxvY2F0aW9uIG9mICBieXRlcyBmYWlsZWQAALgLEAAVAAAAzQsQAA0AAABsaWJyYXJ5L3N0 +ZC9zcmMvYWxsb2MucnPsCxAAGAAAAGIBAAAJAAAAbGlicmFyeS9zdGQvc3JjL3Bhbmlja2luZy5ycxQMEAAcAAAAUwIAAB8AAAAU +DBAAHAAAAFQCAAAeAAAAFAAAAAwAAAAEAAAAGAAAABkAAAAIAAAABAAAABoAAAAZAAAACAAAAAQAAAAbAAAAHAAAAB0AAAAQAAAA +BAAAAB4AAAAfAAAAIAAAAAAAAAABAAAAIQAAACIAAAAEAAAABAAAACMAAAAkAAAADAAAAAQAAAAlAAAAJgAAACcAAABsaWJyYXJ5 +L2FsbG9jL3NyYy9yYXdfdmVjLnJzY2FwYWNpdHkgb3ZlcmZsb3cAAADsDBAAEQAAANAMEAAcAAAAFgIAAAUAAABhIGZvcm1hdHRp +bmcgdHJhaXQgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IAKAAAAAAAAAABAAAAKQAAAGxpYnJhcnkvYWxsb2Mvc3Jj +L2ZtdC5yc1wNEAAYAAAAYgIAACAAAADvv71ieXRlc2Vycm9yAAAAIgAAAAQAAAAEAAAAKgAAAEZyb21VdGY4RXJyb3IAAAArAAAA +DAAAAAQAAAAsAAAAKQAAAMQNEAAAAAAAWwAAADAAAAAAAAAAAQAAADEAAABpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlz +ICBidXQgdGhlIGluZGV4IGlzIAAA5A0QACAAAAAEDhAAEgAAADogAADEDRAAAAAAACgOEAACAAAAMgAAAAwAAAAEAAAAMwAAADQA +AAA1AAAAICAgICB7ICwgIHsKLAp9IH0oKAosCgAAMgAAAAQAAAAEAAAANgAAAF1saWJyYXJ5L2NvcmUvc3JjL2ZtdC9udW0ucnN9 +DhAAGwAAAGkAAAAXAAAAMHgwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4 +MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2 +NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OXJhbmdlIHN0 +YXJ0IGluZGV4ICBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCAAAHIPEAASAAAAhA8QACIAAAByYW5nZSBlbmQgaW5k +ZXgguA8QABAAAACEDxAAIgAAAHNsaWNlIGluZGV4IHN0YXJ0cyBhdCAgYnV0IGVuZHMgYXQgANgPEAAWAAAA7g8QAA0AAAABAQEB +AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB +AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBzqHAAAszAgICAgICAgICAgICAgICAgIC +AgICAgICAgICAgICAwMDAwMDAwMDAwMDAwMDAwQEBAQEAEGNosAAC0xOb25lU29tZQAAADIAAAAEAAAABAAAADcAAABFcnJvclV0 +ZjhFcnJvcnZhbGlkX3VwX3RvZXJyb3JfbGVuAAAyAAAABAAAAAQAAAA4AHsJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJv +Y2Vzc2VkLWJ5AwVydXN0Yx0xLjc0LjAgKDc5ZTk3MTZjOSAyMDIzLTExLTEzKQZ3YWxydXMGMC4xOS4wDHdhc20tYmluZGdlbhIw +LjIuODcgKGYwYThhZTNiOSkALA90YXJnZXRfZmVhdHVyZXMCKw9tdXRhYmxlLWdsb2JhbHMrCHNpZ24tZXh0 +`,Tl=null,bM=null,IM=null,sye=null,z9=0,ng=new Array(132).fill(void 0);ng.push(void 0,null,!0,!1);RM=ng.length});var iye,fbt,hbt=oe(()=>{oi();Gt();Ht();Lr();Xi();NA();mo();Ws();dbt();Es();Pi();iye=class extends zt{async search(t){try{let r="https://jadeite.migu.cn/search/v3/open-search",n={appVersion:"6.1.1.00",ct:101,isCorrectWord:1,k:t,mediaSource:9e6,packId:"1002581,1002601,1003861,1003862,1003863,1003864,1003865,1003866,1004041,1004121,1004261,1004262,1004281,1004321,1004262,1004281,1004322,1004261,1004421,1004422,1002781,1004301,1004641,1004761,1005061,1005261,1005301,1005321,1005361,1005362,1005341,1005342,1005521,1005722,1005721,1015749,1015761,1015760,1015762,1015763,1015768,1015786,1015790,1015812,1015813,1015814,1015815,1015816,1015817,1015820,1015819,1015821",pageIdx:1,pageSize:20,sid:"1X4A395AL3XS3UV5MT8PQ1L5JUYK6KFM8VKDSDD48S5Y7YX5WY1MOUHRT6512988",copyrightTerminal:3,searchScene:2,uiVersion:"A3.26.0"},s={Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9",Connection:"keep-alive","Content-Type":"application/json",Origin:"https://www.miguvideo.com",Referer:"https://www.miguvideo.com/","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"cross-site","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36",appId:"miguvideo","sec-ch-ua":'Not(A:Brand";v="8", "Chromium";v="144", "Google Chrome";v="144"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"Windows",terminalId:"www"},i=await Fn(r,JSON.stringify(n),{headers:s});if(!i||!i.data)return I("info","[Migu] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let o=(typeof i.data=="string"?JSON.parse(i.data):i.data)?.body?.contentInfoList,c=[];return o.forEach(u=>{let l=u?.shortMediaAsset;if(l&&l.isLong){let d;l?.extraData?d=l?.extraData?.episodes?.[0]:d=l?.pID,c.push({name:l.name,type:l.contDisplayName,year:l.year.trim(),img:l.h5pics?.highResolutionV,url:`https://v3-sc.miguvideo.com/program/v4/cont/content-info/${d}/1`,epsId:d})}}),I("info",`[Migu] \u641C\u7D22\u627E\u5230 ${c.length} \u4E2A\u6709\u6548\u7ED3\u679C`),c}catch(r){return I("error","[Migu] getMiguAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}extractEpId(t){let n=t.split("?")[0].split("/").filter(s=>s!=="");return n[n.length-1]||""}async getDetail(t){try{let r=await Le(`https://v3-sc.miguvideo.com/program/v4/cont/content-info/${t}/1`,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"}});if(!r||!r.data)return I("info","[Migu] getMiguDetail: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),{duration:0,epsID:null};let n=r.data?.body?.data?.playing?.duration||0,s=r.data?.body?.data?.epsID||null;return{duration:n,epsID:s}}catch(r){return I("error","[Migu] getMiguDetail error:",{message:r.message,name:r.name,stack:r.stack}),{duration:0,epsID:null}}}async getEpisodes(t){try{let r=await Le(t,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"}});if(!r||!r.data)return I("info","[Migu] getMiguEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[];let n=r.data?.body?.data?.datas;if(n)return n;{let s=r.data?.body?.data?.name,i=r.data?.body?.data?.playing?.pID;return i?[{name:s,pID:i}]:(I("info","[Migu] getMiguEposides: eps \u4E0D\u5B58\u5728"),[])}}catch(r){return I("error","[Migu] getMiguEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(t,r,n,s=null,i=null){let a=[];if(!t||!Array.isArray(t))return I("error","[Migu] sourceAnimes is not a valid array"),[];let o=t.filter(l=>$t(l.name||l.title,r,i)),c=i!==null?i:ir(r);if(c!==null){let l=o.filter(d=>{let f=d.name||d.title,h=Qt(f).season;return h===c||c===1&&h===null});l.length>0&&(o=l,I("info",`[Migu] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.url||l.mediaId),f=[];for(let h of d)f.push({name:h.name,url:`https://webapi.miguvideo.com/gateway/live_barrage/videox/barrage/v2/list/${l.epsId??h.pID}/${h.pID}`,title:`\u3010migu\u3011 ${h.name}`});if(f.length>0){let h={animeId:Qn(l.epsId??d[0]?.pID),bangumiId:String(l.epsId??d[0]?.pID),animeTitle:`${l.name||l.title}(${l.year})\u3010${l.type}\u3011from migu`,type:l.type,typeDescription:l.type,imageUrl:l.img??l.imageUrl,startDate:An(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"migu"};a.push(h),rr({...h,links:f},s),F.animes.length>F.MAX_ANIMES&&ar()}}catch(d){I("error",`[Migu] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(t){I("info","[Migu] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u54AA\u5495\u89C6\u9891\u5F39\u5E55...",t);let r=await this.getEpisodeDanmuSegments(t);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;I("info",`[Migu] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=100,i=[];for(let a=0;athis.getEpisodeSegmentDanmu(l)),u=await Promise.allSettled(c);for(let l=0;l0&&i.push(...m)}else I("error",`[Migu] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${h}-${p}s):`,d.reason.message)}a+ssetTimeout(l,200))}return i.length===0?(I("info",`[Migu] \u54AA\u5495\u89C6\u9891: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${t})`),[]):(pi(i),i)}async getEpisodeDanmuSegments(t){I("info","[Migu] \u83B7\u53D6\u54AA\u5495\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",t);let r=this.extractEpId(t),n=await this.getDetail(r),s=pS(n.duration);I("info","[Migu] itemId:",r),I("info","[Migu] durationSec:",s),I("info","[Migu] epsID:",n.epsID);let i=30,a=[];for(let o=0;o({cid:Number(r.cid),p:`${r.playtime},1,${aR(r.textcolor)},[migu]`,m:r.msg,t:r.playtime,like:r.praiseCount}))}},fbt=iye});var CM,pbt=oe(()=>{oi();Gt();Ht();Lr();Xi();mo();Ws();Es();Pi();CM=class extends zt{constructor(){super(),this.positionMap={1:1,4:5,5:4}}filterSohuSearchItem(t,r){if(!t.aid||!t.album_name||t.is_trailer===1||t.corner_mark&&t.corner_mark.text==="\u9884\u544A")return null;let n=t.album_name.replace("<<<","").replace(">>>",""),s=null;if(t.meta&&Array.isArray(t.meta)){for(let i of t.meta)if(i.txt&&i.txt.includes("|")){let a=i.txt.split("|");if(a.length>0){let o=a[0].trim();o.includes("\u522B\u540D")&&a.length>1?s=a[1].trim():s=o;break}}}return{mediaId:String(t.aid),title:n,type:s,year:t.year||null,imageUrl:t.ver_big_pic||null,episodeCount:t.total_video_count||0}}async search(t){try{I("info",`[Sohu] \u5F00\u59CB\u641C\u7D22: ${t}`);let r={key:t,type:"1",page:"1",page_size:"20",user_id:"",tabsChosen:"0",poster:"4",tuple:"6",extSource:"1",show_star_detail:"3",pay:"1",hl:"3",uid:String(Math.floor(Date.now()*1e3)),passport:"",plat:"-1",ssl:"0"},n={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:"https://so.tv.sohu.com/",Origin:"https://so.tv.sohu.com"},s=`https://m.so.tv.sohu.com/search/pc/keyword?${lo(r)}`,i=await Le(s,{headers:n});if(!i||!i.data)return I("info","[Sohu] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(!a.data||!a.data.items)return I("info","[Sohu] \u641C\u7D22\u54CD\u5E94\u4E2D\u65E0\u6570\u636E"),[];let o=[];for(let c of a.data.items){let u=this.filterSohuSearchItem(c,t);u&&o.push(u)}return I("info",`[Sohu] \u641C\u7D22\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C`),o}catch(r){return I("error","[Sohu] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getPlaylistData(t){let r={playlistid:t,api_key:"f351515304020cad28c92f70f002261c"},n={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",Referer:"https://tv.sohu.com/"},s=`https://pl.hd.sohu.com/videolist?${lo(r)}`,i=await Le(s,{headers:n,timeout:15e3});if(!i||!i.data)return null;let a=i.data;if(typeof a=="string"&&a.startsWith("jsonp")){let o=a.indexOf("(")+1,c=a.lastIndexOf(")");if(o>0&&c>o)a=JSON.parse(a.substring(o,c));else return I("error","[Sohu] \u641C\u72D0\u89C6\u9891: \u65E0\u6CD5\u89E3\u6790JSONP\u54CD\u5E94"),null}else typeof a=="string"&&(a=JSON.parse(a));return a}async getEpisodes(t){try{I("info",`[Sohu] \u83B7\u53D6\u5206\u96C6\u5217\u8868: media_id=${t}`);let r=await this.getPlaylistData(t);if(!r)return I("info","[Sohu] \u5206\u96C6\u54CD\u5E94\u4E3A\u7A7A"),[];let n=r.videos||[];if(!n||n.length===0)return I("warn",`[Sohu] \u641C\u72D0\u89C6\u9891: \u672A\u627E\u5230\u5206\u96C6\u5217\u8868 (media_id=${t})`),[];let s=[];for(let i=0;i$t(l.title,r,i)),c=i!==null?i:ir(r);if(c!==null){let l=o.filter(d=>{let f=Qt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,I("info",`[Sohu] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=[];for(let h=0;h0){let p={animeId:Qn(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||new Date().getFullYear()})\u3010${l.type}\u3011from sohu`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:An(l.year||new Date().getFullYear()),episodeCount:f.length,rating:0,isFavorited:!0,source:"sohu"};a.push(p),rr({...p,links:f},s),F.animes.length>F.MAX_ANIMES&&ar()}}catch(d){I("error",`[Sohu] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDuration(t,r){if(!t)return 0;try{let n=await this.getPlaylistData(t),s=Array.isArray(n?.videos)?n.videos:[];if(!s.length)return 0;let i=s.find(o=>String(o?.vid||"")===String(r||""))||(s.length===1?s[0]:null),a=Number(i?.playLength||0);return Number.isFinite(a)&&a>0?a:0}catch(n){return I("warn",`[Sohu] \u83B7\u53D6\u771F\u5B9E\u65F6\u957F\u5931\u8D25: ${n.message}`),0}}async extractVidAndAid(t){let r,n="0",s=await Le(t,{headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),i=s.data.match(/vid="(\d+)"/);return i&&(r=i[1]),n=s.data.match(/id="aid"[^>]*value=['"](\d+)['"]/)?.[1],n||(n=s.data.match(/playlistId="(\d+)"/)?.[1]),{vid:r,aid:n}}async getEpisodeDanmu(t){I("info","[Sohu] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u641C\u72D0\u89C6\u9891\u5F39\u5E55...",t);let r=await this.getEpisodeDanmuSegments(t);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;I("info",`[Sohu] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=10,i=[];for(let a=0;athis.getDanmuSegment(l)),u=await Promise.allSettled(c);for(let l=0;l0)i.push(...m);else if(h>600)break}else I("error",`[Sohu] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${h}-${p}s):`,d.reason.message)}a+ssetTimeout(l,200))}return i.length===0?(I("info",`[Sohu] \u641C\u72D0\u89C6\u9891: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${t})`),[]):(pi(i),i)}async getDanmuSegment(t){try{let r={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",Referer:"https://tv.sohu.com/"},n=await Le(t.url,{headers:r,timeout:1e4});if(!n||!n.data)return I("error",`[Sohu] \u641C\u72D0\u89C6\u9891: \u5F39\u5E55\u6BB5\u54CD\u5E94\u4E3A\u7A7A (${t.segment_start}-${t.segment_end}s)`),[];try{let i=(typeof n.data=="string"?JSON.parse(n.data):n.data).info?.comments||[];return i&&i.length>0&&I("info",`[Sohu] \u641C\u72D0\u89C6\u9891: \u83B7\u53D6\u5230 ${i.length} \u6761\u5F39\u5E55 (${t.segment_start}-${t.segment_end}s)`),i||[]}catch(s){return I("error",`[Sohu] \u641C\u72D0\u89C6\u9891: \u89E3\u6790\u5F39\u5E55\u54CD\u5E94\u5931\u8D25: ${s.message}`),[]}}catch(r){return I("error",`[Sohu] \u641C\u72D0\u89C6\u9891: \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (vid=${vid}, ${start}-${end}s): ${r.message}`),[]}}async getEpisodeDanmuSegments(t){I("info","[Sohu] \u83B7\u53D6\u641C\u72D0\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",t);let{vid:r,aid:n}=await this.extractVidAndAid(t),s=await this.getEpisodeDuration(n,r),i=s>0?Math.ceil(s):10800,a=300,o=[];for(let c=0;c0?s:0,segmentList:o})}async getEpisodeSegmentDanmu(t){try{let r=await Le(t.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}),n=[];if(r&&r.data){let s=typeof r.data=="string"?JSON.parse(r.data):r.data;n.push(...s.info?.comments||[])}return n}catch(r){return I("error","[Sohu] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(t){return t.map(r=>{try{let n=16777215;if(r.t&&r.t.c){let l=r.t.c;typeof l=="string"&&l.startsWith("#")?n=parseInt(l.substring(1),16):n=parseInt(String(l),16)}let s=r.v||0,i=Math.floor(parseFloat(r.created||Date.now()/1e3)),a=r.uid||"",o=r.i||"",c=1;r.t&&r.t.p&&(c=this.positionMap[r.t.p]||1);let u=`${s},1,25,${n},${i},0,${a},${o}`;return{cid:String(o),p:u,m:r.c||"",t:parseFloat(s),like:r.fcount}}catch(n){return I("error",`[Sohu] \u683C\u5F0F\u5316\u5F39\u5E55\u5931\u8D25: ${n.message}, \u5F39\u5E55\u6570\u636E:`,r),null}}).filter(r=>r!==null)}}});var mbt,xM,gbt=oe(()=>{oi();Gt();Ht();Lr();Xi();mo();Ws();Es();Pi();mbt={tv:"\u7535\u89C6\u5267",movie:"\u7535\u5F71",cartoon:"\u52A8\u6F2B",comic:"\u52A8\u6F2B"},xM=class extends zt{constructor(){super(),this.positionMap={4:1,3:4,1:5,2:1}}filterLeshiSearchItem(t,r){if(!t.pid||!t.title)return null;let n=t.title,s=mbt[t.type]||"\u7535\u89C6\u5267";return{mediaId:String(t.pid),title:n,type:s,year:t.year||null,imageUrl:t.imageUrl||null,episodeCount:t.episodeCount||0}}async search(t){try{I("info",`[Leshi] \u5F00\u59CB\u641C\u7D22: ${t}`);let r={wd:t,from:"pc",ref:"click",click_area:"search_button",query:t,is_default_query:"0",module:"search_rst_page"},n={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8","Accept-Encoding":"gzip, deflate, br",Referer:"https://so.le.com/",Connection:"keep-alive","Upgrade-Insecure-Requests":"1","Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"same-origin"},s=`https://so.le.com/s?${lo(r)}`,i=await Le(s,{headers:n,timeout:15e3});if(!i||!i.data)return I("info","[Leshi] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=i.data;I("info",`[Leshi] \u641C\u7D22\u8BF7\u6C42\u6210\u529F\uFF0C\u54CD\u5E94\u957F\u5EA6: ${a.length} \u5B57\u7B26`);let o=[],c=/
]*data-info="({.*?})"[^>]*>/g,u,l=[];for(;(u=c.exec(a))!==null;)l.push(u);I("info",`[Leshi] \u4ECEHTML\u4E2D\u627E\u5230 ${l.length} \u4E2A data-info \u5757`);for(let d of l)try{let f=d[1];I("info",`[Leshi] \u63D0\u53D6\u5230 data-info \u539F\u59CB\u5B57\u7B26\u4E32: ${f.substring(0,200)}...`),f=f.replace(/'/g,'"'),f=f.replace(/([{,])(\w+):/g,'$1"$2":');let h=JSON.parse(f);I("info",`[Leshi] \u6210\u529F\u89E3\u6790 data-info\uFF0Cpid=${h.pid}, type=${h.type}`);let p=h.pid||"",m=h.type||"",g=h.total||"0";if(!p)continue;let _=d.index,y=[`
+ `,` +`,""],E=-1;for(let U of y){let Y=a.indexOf(U,_);if(Y!==-1){E=Y;break}}if(E===-1){let U=a.indexOf('
[\s\S]*?]*title="([^"]*)"[^>]*>/.exec(A);if(T&&T[1]&&(v=T[1].trim()),!v&&h.keyWord){let U=/(.*?)(?:\d{4})?(?:电影|电视剧|综艺)?$/.exec(h.keyWord);U&&U[1]&&(v=U[1].replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g,"").trim())}if(!v){let U=/]*title="([^"]*?)[^0-9\u4e00-\u9fa5][^"]*"/.exec(A);U&&U[1]&&(v=U[1].trim())}v||I("info","[Leshi] \u672A\u627E\u5230\u6807\u9898\uFF0C\u5C1D\u8BD5\u4ECE\u5176\u4ED6\u6765\u6E90\u83B7\u53D6");let C=/]*(?:src|data-src|alt)="([^"]+)"/.exec(A),b=C?C[1]:"",x=null,w=/年份:<\/b>.*?>(\d{4})<\/a>/.exec(A);w||(w=/上映时间:<\/b>.*?>(\d{4})<\/a>/.exec(A)),w||(w=/_y(\d{4})_/.exec(A)),w||(w=/(\d{4})/.exec(h.keyWord||"")),w&&(x=parseInt(w[1]));let P=mbt[m]||"\u7535\u89C6\u5267",M=g&&/^\d+$/.test(g)?parseInt(g):0,L={mediaId:p,title:v,type:P,year:x,imageUrl:b&&b.startsWith("http")?b:b?`https:${b}`:null,episodeCount:M};o.push(L),I("info",`[Leshi] \u89E3\u6790\u6210\u529F - ${v} (pid=${p}, type=${P}, episodes=${M})`)}catch(f){I("warn",`[Leshi] \u89E3\u6790\u641C\u7D22\u7ED3\u679C\u9879\u5931\u8D25: ${f}`);continue}if(o.length>0){I("info",`[Leshi] \u7F51\u7EDC\u641C\u7D22 '${t}' \u5B8C\u6210\uFF0C\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C\u3002`),I("info","[Leshi] \u641C\u7D22\u7ED3\u679C\u5217\u8868:");for(let d of o)I("info",`[Leshi] - ${d.title} (ID: ${d.mediaId}, \u7C7B\u578B: ${d.type}, \u5E74\u4EFD: ${d.year})`)}else I("info",`[Leshi] \u7F51\u7EDC\u641C\u7D22 '${t}' \u5B8C\u6210\uFF0C\u627E\u5230 0 \u4E2A\u7ED3\u679C\u3002`);return o}catch(r){return I("error","[Leshi] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getEpisodes(t){try{I("info",`[Leshi] \u83B7\u53D6\u5206\u96C6\u5217\u8868: media_id=${t}`);let r=[`https://www.le.com/tv/${t}.html`,`https://www.le.com/comic/${t}.html`,`https://www.le.com/playlet/${t}.html`,`https://www.le.com/movie/${t}.html`],n=null;for(let l of r)try{let d=await Le(l,{timeout:1e4});if(d&&d.data&&d.status===200){n=d.data,I("info",`[Leshi] \u6210\u529F\u83B7\u53D6\u9875\u9762: ${l}`);break}}catch(d){I("info",`[Leshi] \u5C1D\u8BD5URL\u5931\u8D25 ${l}: ${d}`);continue}if(!n)return I("error",`[Leshi] \u65E0\u6CD5\u83B7\u53D6\u4F5C\u54C1\u9875\u9762: media_id=${t}`),[];let s=/
[\s\S]*?<\/div>\s*<\/div>\s*<\/div>/.exec(n);if(s)return I("info","[Leshi] \u627E\u5230\u56FE\u6587\u9009\u96C6\u5BB9\u5668"),this.parseEpisodesFromHtml(s[0],t);let i=/
[\s\S]*?<\/div>\s*<\/div>\s*<\/div>/.exec(n);if(i)return I("info","[Leshi] \u627E\u5230\u6570\u5B57\u9009\u96C6\u5BB9\u5668"),this.parseEpisodesFromHtml(i[0],t);I("info","[Leshi] \u672A\u627E\u5230\u7279\u5B9A\u9009\u96C6\u5BB9\u5668\uFF0C\u5C1D\u8BD5\u67E5\u627E\u7B2C\u4E00\u96C6\u89C6\u9891\u5217\u8868...");let a=/
0?(I("info",`[Leshi] \u4ECEHTML\u5185\u5BB9\u4E2D\u5339\u914D\u5230 ${u.length} \u4E2A\u5267\u96C6\u94FE\u63A5`),u):[]}catch(r){return I("error","[Leshi] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}parseEpisodesFromHtml(t,r){try{let n=/
]*>[\s\S]*?<\/div>/g,s=t.match(n);if(!s||s.length===0){I("info","[Leshi] \u5728HTML\u4E2D\u672A\u627E\u5230\u5267\u96C6\u5BB9\u5668div.col_4\uFF0C\u5C1D\u8BD5\u67E5\u627Edl.dl_temp\u5143\u7D20");let a=/
[\s\S]*?<\/dl>/g,o=t.match(a);if(!o||o.length===0){I("info","[Leshi] \u5728HTML\u4E2D\u672A\u627E\u5230\u5267\u96C6\u5143\u7D20\uFF0C\u5C1D\u8BD5\u66F4\u5E7F\u6CDB\u7684\u9009\u62E9\u5668");let c=/]*class="[^"]*dl_temp[^"]*"[^>]*>[\s\S]*?<\/dl>/g,u=t.match(c);return!u||u.length===0?(I("error",`[Leshi] \u65E0\u6CD5\u4ECEHTML\u4E2D\u89E3\u6790\u5230\u4EFB\u4F55\u5267\u96C6: media_id=${r}`),[]):this.extractEpisodes(u,r)}return this.extractEpisodes(o,r)}let i=[];for(let a of s){let o=/
[\s\S]*?<\/dl>/.exec(a);o&&i.push(o[0])}return i.length===0?(I("error",`[Leshi] \u4ECE\u5BB9\u5668\u4E2D\u672A\u80FD\u63D0\u53D6\u5230\u4EFB\u4F55dl.dl_temp\u5143\u7D20: media_id=${r}`),[]):this.extractEpisodes(i,r)}catch(n){return I("error",`[Leshi] \u89E3\u6790\u5267\u96C6HTML\u5931\u8D25: ${n.message}`),[]}}extractEpisodes(t,r){let n=[];for(let s of t)try{let i=/]+href="(\/\/www\.le\.com\/ptv\/vplay\/(\d+)\.html)"[^>]*>/.exec(s);if(!i){I("info","[Leshi] \u8DF3\u8FC7\u65E0\u6CD5\u89E3\u6790\u94FE\u63A5\u7684\u5267\u96C6\u5143\u7D20");continue}let a=i[1],o=i[2],c=`https:${a}`,u="",l=/
[\s\n\r]*]*title="([^"]*)"[^>]*>([^<]*)<\/a>/.exec(s);if(l&&l[1])u=l[1].trim();else if(l&&l[2])u=l[2].trim();else{let h=/]*title="([^"]*)"[^>]*>[\s\S]*?
/.exec(s)||/
[\s\S]*?]*title="([^"]*)"/.exec(s);if(h&&h[1])u=h[1].trim();else{let p=/
]*>([^<]*)/.exec(s);if(p&&p[1])u=p[1].trim();else{let m=/]*title="[^"]*"[^>]*>([^<]*)/.exec(s);m&&m[1]&&(u=m[1].trim())}}}if(!u){let h=/第(\d+)集|(\d+)(?:\s*预告)?/.exec(s);h?u=`\u7B2C${h[1]||h[2]}\u96C6`:u=`\u7B2C${n.length+1}\u96C6`}if(/预告|Preview|preview/.test(u)){I("info",`[Leshi] \u8DF3\u8FC7\u9884\u544A\u7247: ${u}`);continue}let f={vid:o,title:u,url:c,episodeId:`${o}:${r}`};n.push(f)}catch(i){I("warn",`[Leshi] \u89E3\u6790\u5355\u4E2A\u5267\u96C6\u5931\u8D25: ${i.message}`);continue}return I("info",`[Leshi] \u6210\u529F\u89E3\u6790\u5267\u96C6\u5217\u8868: media_id=${r}, \u5171 ${n.length} \u96C6`),n}async handleAnimes(t,r,n,s=null,i=null){let a=[];if(!t||!Array.isArray(t))return I("error","[Leshi] sourceAnimes is not a valid array"),[];let o=t.filter(l=>$t(l.title,r,i)),c=i!==null?i:ir(r);if(c!==null){let l=o.filter(d=>{let f=Qt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,I("info",`[Leshi] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=[];for(let h=0;h0){let p={animeId:Qn(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||new Date().getFullYear()})\u3010${l.type}\u3011from leshi`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:An(l.year||new Date().getFullYear()),episodeCount:f.length,rating:0,isFavorited:!0,source:"leshi"};a.push(p),rr({...p,links:f},s),F.animes.length>F.MAX_ANIMES&&ar()}}catch(d){I("error",`[Leshi] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(t){I("info","[Leshi] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u4E50\u89C6\u7F51\u5F39\u5E55...",t);let r=await this.getEpisodeDanmuSegments(t);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;I("info",`[Leshi] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=10,i=[];for(let a=0;athis.getDanmuSegment(l)),u=await Promise.allSettled(c);for(let l=0;l0)i.push(...m);else if(h>600)break}else I("error",`[Leshi] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${h}-${p}s):`,d.reason.message)}a+ssetTimeout(l,200))}return i.length===0?(I("info",`[Leshi] \u4E50\u89C6\u7F51: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${t})`),[]):(pi(i),i)}async getDanmuSegment(t){try{let r=await Le(t.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}),n=[];if(r&&r.data){let s=typeof r.data=="string"?r.data:JSON.stringify(r.data),i=/vjs_\d+\((.*)\)/.exec(s);if(i){let a=JSON.parse(i[1]);a.code===200&&a.data&&n.push(...a.data.list||[])}}return n}catch(r){return I("error","[Leshi] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}async getEpisodeDanmuSegments(t){I("info","[Leshi] \u83B7\u53D6\u4E50\u89C6\u7F51\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",t);let r=t,n=t.match(/\/vplay\/(\d+)\.html/);n&&(r=n[1]);let s=await this.getVideoDuration(r),i=[];for(let a=0;a{try{let n=this.positionMap[parseInt(r.position)]||1,s=parseFloat(r.start||0),i=r.color||"FFFFFF",a=parseInt(i,16),o=r.id||r._id||"",c=r.txt||"",u=`${s.toFixed(2)},${n},25,${a},[${this.constructor.name.toLowerCase()}]`;return{cid:String(o),p:u,m:c,t:Math.round(s*100)/100}}catch(n){return I("error",`[Leshi] \u683C\u5F0F\u5316\u5F39\u5E55\u5931\u8D25: ${n.message}, \u5F39\u5E55\u6570\u636E:`,r),null}}).filter(r=>r!==null)}}});var aye,_bt,Abt=oe(()=>{oi();Gt();Ht();Lr();Xi();mo();Ws();Es();Pi();aye=class extends zt{async search(t){try{let r=`https://m.ixigua.com/s/${t}`,s=(await Le(r,{headers:{"user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/17.5 Mobile/15A5370a Safari/602.1"}})).data,i=[],a=/
[\s\S]*?

[\s\S]*?相关视频[\s\S]*?<\/h2>[\s\S]*?
([\s\S]*?)<\/div><\/div><\/div>/,o=s.match(a);if(o){let c=o[1],u=/
[\s\S]*?(?=
|$)/g;(c.match(u)||[]).forEach(d=>{let f=d.match(/href="(\/video\/\d+)"/),h=f?`https://m.ixigua.com${f[1]}`:"",p=d.match(/

[\s\S]*?title="([^"]+)"/),m=p?p[1]:"",g=d.match(/([^<]+\/[^<]+\/\d{4})<\/p>/),E="",A="";if(y){let v=y[1].split("/");E=v[0]||"",A=v[2]||""}h&&m&&i.push({name:m,type:E,year:A,img:_,url:h})})}else return I("info","[Xigua] xiguaSearchresp: \u76F8\u5173\u89C6\u9891\u7684section \u4E0D\u5B58\u5728"),[];return I("info",`[Xigua] \u641C\u7D22\u627E\u5230 ${i.length} \u4E2A\u6709\u6548\u7ED3\u679C`),i}catch(r){return I("error","[Xigua] getXiguaAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getDetail(t){try{let n=`https://m.ixigua.com/video/${t.split("/").pop()}`,s=await Le(n,{headers:{"user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/17.5 Mobile/15A5370a Safari/602.1"}});if(!s||!s.data)return I("info","[Xigua] getXiguaDetail: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),0;let i=s.data.match(/"duration"\s*:\s*([\d.]+)/);return i?parseFloat(i[1]):0}catch(r){return I("error","[Xigua] getXiguaDetail error:",{message:r.message,name:r.name,stack:r.stack}),0}}async getEpisodes(t){try{let r=`https://m.ixigua.com/video/${t}`,n=await Le(r,{headers:{"user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/17.5 Mobile/15A5370a Safari/602.1"}});if(!n||!n.data)return I("info","[Xigua] getXiguaEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[];let s=n.data.match(/"episodes_list"\s*:\s*(\[[\s\S]*?\})\s*\]/);if(s)try{let i=s[0].replace(/"episodes_list"\s*:\s*/,"");return JSON.parse(i).map(c=>({seq_num:c.seq_num,title:c.title||`\u7B2C${c.seq_num}\u96C6`,url:`https://m.ixigua.com/video/${c.gid}`,gid:c.gid,cover_image_url:c.cover_image_url}))}catch(i){I("error","[Xigua] \u89E3\u6790episodes_list\u5931\u8D25:",i)}else return I("info","[Xigua] getXiguaEposides: episodes_list \u4E0D\u5B58\u5728"),[]}catch(r){return I("error","[Xigua] getXiguaEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(t,r,n,s=null,i=null){let a=[];if(!t||!Array.isArray(t))return I("error","[Xigua] sourceAnimes is not a valid array"),[];let o=t.filter(l=>$t(l.name,r,i)),c=i!==null?i:ir(r);if(c!==null){let l=o.filter(d=>{let f=Qt(d.name).season;return f===c||c===1&&f===null});l.length>0&&(o=l,I("info",`[Xigua] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=l.url.split("/").pop(),f=await this.getEpisodes(d),h=[];for(let p of f){let m=p.title;h.push({name:m,url:p.url,title:`\u3010xigua\u3011 ${m}`})}if(h.length>0){let p={animeId:Qn(d),bangumiId:String(d),animeTitle:`${l.name}(${l.year})\u3010${l.type}\u3011from xigua`,type:l.type,typeDescription:l.type,imageUrl:l.img,startDate:An(l.year),episodeCount:h.length,rating:0,isFavorited:!0,source:"xigua"};a.push(p),rr({...p,links:h},s),F.animes.length>F.MAX_ANIMES&&ar()}}catch(d){I("error",`[Xigua] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(t){I("info","[Xigua] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u897F\u74DC\u89C6\u9891\u5F39\u5E55...",t);let r=await this.getEpisodeDanmuSegments(t);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;I("info",`[Xigua] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=100,i=[];for(let a=0;athis.getEpisodeSegmentDanmu(l)),u=await Promise.allSettled(c);for(let l=0;l0&&i.push(...m)}else I("error",`[Xigua] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${h}-${p}s):`,d.reason.message)}a+ssetTimeout(l,200))}return i.length===0?(I("info",`[Xigua] \u897F\u74DC\u89C6\u9891: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${t})`),[]):(pi(i),i)}async getEpisodeDanmuSegments(t){I("info","[Xigua] \u83B7\u53D6\u897F\u74DC\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",t);let r=t.split("/").pop(),n=await this.getDetail(t)*1e3;I("info","[Xigua] itemId:",r),I("info","[Xigua] duration:",n);let s=3e5,i=[];for(let a=0;a({cid:Number(r.danmaku_id),p:`${(r.offset_time/1e3).toFixed(2)},1,16777215,[xigua]`,m:r.text,t:Math.round(r.offset_time/1e3)}))}},_bt=aye});var oye,Ebt,ybt=oe(()=>{oi();Gt();Ht();Lr();Xi();NA();mo();Ws();Es();Pi();oye=class extends zt{constructor(){super(),this.domain="https://mob.mddcloud.com.cn",this.headers={"user-agent":"Mdd/5.8.00 (Android+32+)","Content-Type":"application/json",version:"5.8.00",Referer:"mdd"}}getPlayload(t,r){let n=Date.now(),s=lo(r,!1),i=`os:Android|version:5.8.00|action:${t}|time:${n}|appToken:|privateKey:e1be6b4cf4021b3d181170d1879a530a9e4130b69032144d5568abfd6cd6c1c2|data:${s}&`;return{channel:"1000",data:r,deviceNum:"853BDD7A1DC011F1C341455071C03AEB",deviceType:0,jsonSign:0,os:"Android",sign:la(i),sourceVersion:0,terminalType:"APP",thirdStatus:0,time:n,version:"5.8.00",visitorStatus:0}}extractByRegex(t){let r=t.match(/\/video\/([a-f0-9]+)\.html/i),n=t.match(/[?&]uuid=([a-f0-9]+)/i);return{vodUuid:r?r[1]:null,uuid:n?n[1]:null,success:!!(r&&n)}}async search(t){try{let r="/searchApi/search/getAllSearchResult4820.action",n=`${this.domain}${r}`,s={keyWord:t},i=await Fn(n,JSON.stringify(this.getPlayload(r,s)),{headers:this.headers});if(!i||!i.data)return I("info","[Maiduidui] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data,o=[],c=a?.data;for(let u of c)if(u?.typeName==="\u5267\u96C6"||u?.typeName==="\u7535\u5F71"||u?.typeName==="\u7EFC\u827A")for(let l of u?.vodList)o.push({name:l.name,type:u.typeName,year:l.yearName,img:l.downImage,url:l.uuid});return I("info",`[Maiduidui] \u641C\u7D22\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C`),o}catch(r){return I("error","[Maiduidui] getMaiduiduiAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getDetail(t){try{let r=this.extractByRegex(t),n=r.uuid,s=r.vodUuid,i="/api/vod/listVodSactions.action",a=`${this.domain}${i}`,o={hasIntroduction:0,vodUuid:s},c=await Fn(a,JSON.stringify(this.getPlayload(i,o)),{headers:this.headers});if(!c||!c.data)return I("info","[Maiduidui] \u83B7\u53D6\u8BE6\u60C5\u4FE1\u606F\u54CD\u5E94\u4E3A\u7A7A"),[];let u=typeof c.data=="string"?JSON.parse(c.data):c.data;for(let l of u?.data)if(l.uuid===n)return l.duration;return 0}catch(r){return I("error","[Maiduidui] getMaiduiduiDetail error:",{message:r.message,name:r.name,stack:r.stack}),0}}async getEpisodes(t){try{let r="/api/vod/listVodSactions.action",n=`${this.domain}${r}`,s={hasIntroduction:0,vodUuid:t},i=await Fn(n,JSON.stringify(this.getPlayload(r,s)),{headers:this.headers});if(!i||!i.data)return I("info","[Maiduidui] \u83B7\u53D6\u96C6\u4FE1\u606F\u54CD\u5E94\u4E3A\u7A7A"),[];let a=[];return(typeof i.data=="string"?JSON.parse(i.data):i.data)?.data.forEach(c=>{a.push({title:c.name,episodeId:c.uuid})}),a}catch(r){return I("error","[Maiduidui] getMaiduiduiEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(t,r,n,s=null,i=null){let a=[];if(!t||!Array.isArray(t))return I("error","[Maiduidui] sourceAnimes is not a valid array"),[];let o=t.filter(l=>$t(l.name,r,i)),c=i!==null?i:ir(r);if(c!==null){let l=o.filter(d=>{let f=Qt(d.name).season;return f===c||c===1&&f===null});l.length>0&&(o=l,I("info",`[Maiduidui] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.url),f=[];for(let h of d){let p=h.title;f.push({name:p,url:`https://www.mddcloud.com.cn/video/${l.url}.html?uuid=${h.episodeId}`,title:`\u3010maiduidui\u3011 ${p}`})}if(f.length>0){let h={animeId:Qn(l.url),bangumiId:l.url,animeTitle:`${l.name}(${l.year})\u3010${l.type}\u3011from maiduidui`,type:l.type,typeDescription:l.type,imageUrl:l.img,startDate:An(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"maiduidui"};a.push(h),rr({...h,links:f},s),F.animes.length>F.MAX_ANIMES&&ar()}}catch(d){I("error",`[Maiduidui] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(t){I("info","[Maiduidui] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u57CB\u5806\u5806\u5F39\u5E55...",t);let r=await this.getEpisodeDanmuSegments(t);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;I("info",`[Maiduidui] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=20,i=[];for(let a=0;athis.getEpisodeSegmentDanmu(l)),u=await Promise.allSettled(c);for(let l=0;l0&&i.push(...m)}else I("error",`[Maiduidui] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${h}-${p}s):`,d.reason.message)}a+ssetTimeout(l,200))}return i.length===0?(I("info",`[Maiduidui] \u57CB\u5806\u5806: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${t})`),[]):(pi(i),i)}async getEpisodeDanmuSegments(t){I("info","[Maiduidui] \u83B7\u53D6\u57CB\u5806\u5806\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",t);let n=this.extractByRegex(t).uuid,s=await this.getDetail(t);I("info","[Maiduidui] uuid:",n),I("info","[Maiduidui] duration:",s);let i=60,a=[];for(let o=0;o{u.push(...f.barrageList)}),u}catch(r){return I("error","[Maiduidui] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(t){return t.map(r=>({cid:Number(r.uuid),p:`${r.times.toFixed(2)},1,${aR(r.color.replace("#",""))},[maiduidui]`,m:r.content,t:r.times}))}},Ebt=oye});function wM(e,t,r){if(e==null)return r;let n=t.split("."),s=e;for(let i=0;i{Gt();Ht();Xi();Lr();jjr="https://www.yfsp.tv/",Kjr="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0 Safari/537.36",Gjr=60*1e3;W9=class{constructor(t){t=t||{},this.proxyUrlBuilder=t.proxyUrlBuilder||function(r){return F.makeProxyUrl(r)},this.userAgent=t.userAgent||Kjr,this.configPageUrl=t.configPageUrl||jjr,this.ttlMs=t.ttlMs||Gjr,this.now=t.now||function(){return Date.now()},this.signingConfig=null,this.signingConfigFetchedAt=0}async getSigningConfig(t){t=t||!1;var r=this.now(),n=this.signingConfig&&r-this.signingConfigFetchedAt{oi();Ht();Lr();Xi();NA();mo();Ws();Es();Ou();Gt();Tbt();NM=class extends zt{constructor(){super(),this.USER_AGENT="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0 Safari/537.36",this.SEARCH_API="https://rankv21.tripdata.app/v3/list/briefsearch",this.PLAYLIST_API="https://m10.yfsp.tv/v3/video/languagesplaylist",this.VIDEO_API="https://m10.yfsp.tv/v3/video/play",this.DANMU_API="https://m10.yfsp.tv/api/video/getBarrage",this.DOMAIN_API="https://www.yfsp.tv/play",this.CONFIG_PAGE_API="https://www.yfsp.tv/",this.signingProvider=new W9({userAgent:this.USER_AGENT,configPageUrl:this.CONFIG_PAGE_API}),this.inflightDanmuRequests=new Map}extractEpisodeRequestKey(t){try{return new URL(t).searchParams.get("id")??t}catch{return t}}async searchDrama(t,r=1,n=10){let s={tags:t,orderby:4,page:r,size:n,desc:1,isserial:-1},i={"User-Agent":this.USER_AGENT,Accept:"application/json"};I("info",`[Aiyifan] [\u641C\u7D22] \u5173\u952E\u8BCD: ${t}, \u9875\u7801: ${r}`);try{let a=tR(this.SEARCH_API,s),o=await Le(F.makeProxyUrl(a),{headers:i});return typeof o.data=="string"?JSON.parse(o.data):o.data}catch(a){return I("error",`[Aiyifan] [\u641C\u7D22\u5931\u8D25] \u9519\u8BEF: ${a.message}`),null}}extractDramaList(t){let r=[],n=t?.data?.info||[];if(!n.length)return I("warn","[Aiyifan] [\u8B66\u544A] \u641C\u7D22\u7ED3\u679C\u4E3A\u7A7A"),r;for(let s of n){let i=s.result||[];if(i.length)for(let a of i){let o=a.contxt,c=a.title;r.push({contxt:o,title:c,...a}),I("info",`[Aiyifan] [\u53D1\u73B0\u5267\u76EE] ${c} vid=${o}`)}}return r}async getPlaylist(t){let r={cinema:1,vid:t,lsk:1,taxis:0,cid:"0,1,4,152"},n={"User-Agent":this.USER_AGENT,Accept:"application/json"};I("info",`[Aiyifan] [\u64AD\u653E\u5217\u8868] \u8BF7\u6C42 vid: ${t}`);try{let{data:s}=await this.signingProvider.signedGetJson(this.PLAYLIST_API,r,n,"\u64AD\u653E\u5217\u8868"),i=[],a=s.data?.info||[];for(let o of a)for(let c of o.playList||[])i.push(c);return I("info",`[Aiyifan] [\u64AD\u653E\u5217\u8868] \u5171\u83B7\u53D6\u5230 ${i.length} \u96C6`),i}catch(s){return I("error",`[Aiyifan] [\u64AD\u653E\u5217\u8868\u5931\u8D25] \u9519\u8BEF: ${s.message}`),[]}}async getVideoInfo(t,r=null){let n={cinema:1,id:t,a:0,lang:"none",usersign:1,region:"GL.",device:0,isMasterSupport:1},s={"User-Agent":this.USER_AGENT,Accept:"application/json"},i=r?`(ID:${r})`:"";I("info",`[Aiyifan] [\u89C6\u9891\u4FE1\u606F] \u8BF7\u6C42 key: ${t} ${i}`);try{let{data:a,vv:o}=await this.signingProvider.signedGetJson(this.VIDEO_API,n,s,"\u89C6\u9891\u4FE1\u606F");return I("info",`[Aiyifan] [\u89C6\u9891\u4FE1\u606F] vv\u7B7E\u540D: ${o.substring(0,16)}...`),a.data||{}}catch(a){return I("error",`[Aiyifan] [\u89C6\u9891\u4FE1\u606F\u5931\u8D25] \u9519\u8BEF: ${a.message}`),null}}extractUniqueKey(t){let n=(t.info?.[0]||{}).uniqueKey;return n&&I("info",`[Aiyifan] [\u89C6\u9891\u4FE1\u606F] \u83B7\u53D6\u5230 uniqueKey: ${n}`),n}async fetchBarrage(t,r=1,n=3e4){let s={cinema:1,page:r,size:n,uniqueKey:t},i={"User-Agent":this.USER_AGENT};I("info",`[Aiyifan] [\u5F39\u5E55] \u8BF7\u6C42 uniqueKey: ${t}`);try{let{data:a,vv:o}=await this.signingProvider.signedGetJson(this.DANMU_API,s,i,"\u5F39\u5E55");I("info",`[Aiyifan] [\u5F39\u5E55] vv\u7B7E\u540D: ${o.substring(0,16)}...`);let c=a.data?.info||[];return I("info",`[Aiyifan] [\u5F39\u5E55] \u83B7\u53D6\u5230 ${c.length} \u6761\u5F39\u5E55`),c}catch(a){return I("error",`[Aiyifan] [\u5F39\u5E55\u5931\u8D25] \u9519\u8BEF: ${a.message}`),[]}}async search(t){I("info",`[Aiyifan] \u5F00\u59CB\u641C\u7D22: ${t}`);let r=await this.searchDrama(t);if(!r)return I("error","[Aiyifan] \u641C\u7D22\u5931\u8D25\uFF0C\u9000\u51FA"),[];let n=this.extractDramaList(r);if(!n.length)return I("warn","[Aiyifan] \u672A\u627E\u5230\u5267\u76EE\u4FE1\u606F\uFF0C\u9000\u51FA"),[];let s=n.map(i=>({provider:"aiyifan",mediaId:i.contxt,title:i.title,type:i.atypeName,year:new Date(i.postTime).getFullYear(),imageUrl:i.imgPath||null,episodeCount:0}));return I("info",`[Aiyifan] \u641C\u7D22\u5B8C\u6210\uFF0C\u627E\u5230 ${s.length} \u4E2A\u7ED3\u679C`),s}async getEpisodes(t){I("info",`[Aiyifan] \u83B7\u53D6\u5267\u96C6\u8BE6\u60C5: ${t}`);let r=await this.getPlaylist(t);if(!r.length)return I("error","[Aiyifan] \u83B7\u53D6\u64AD\u653E\u5217\u8868\u5931\u8D25"),[];let n=r.map((s,i)=>({vid:s.key,id:s.id,title:s.name||`\u7B2C${i+1}\u96C6`,link:`${this.DOMAIN_API}/${t}?id=${s.key}`}));return I("info",`[Aiyifan] \u83B7\u53D6\u5230 ${n.length} \u4E2A\u5267\u96C6`),n}async handleAnimes(t,r,n,s=null,i=null){let a=[];if(!t||!Array.isArray(t))return I("error","[Aiyifan] sourceAnimes is not a valid array"),[];let o=t.filter(l=>$t(l.title,r,i)),c=i!==null?i:ir(r);if(c!==null){let l=o.filter(d=>{let f=Qt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,I("info",`[Aiyifan] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId);if(d.length===0){I("info",`[Aiyifan] ${l.title} \u65E0\u5206\u96C6\uFF0C\u8DF3\u8FC7`);return}let f=d.map((m,g)=>({name:m.title||`${g+1}`,url:m.link,title:`\u3010aiyifan\u3011 ${m.title}`}));if(f.length===0)return;let p={animeId:Qn(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from aiyifan`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:An(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"aiyifan"};a.push(p),rr({...p,links:f},s),F.animes.length>F.MAX_ANIMES&&ar()}catch(d){I("error",`[Aiyifan] \u5904\u7406 ${l.title} \u5931\u8D25:`,d.message)}});return await Promise.all(u),this.sortAndPushAnimesByYear(a,n),a}async getEpisodeDanmu(t){I("info",`[Aiyifan] \u83B7\u53D6\u5F39\u5E55: ${t}`);let r=this.extractEpisodeRequestKey(t),n=this.inflightDanmuRequests.get(r);if(n)return I("info",`[Aiyifan] \u590D\u7528\u8FDB\u884C\u4E2D\u7684\u5F39\u5E55\u8BF7\u6C42: ${r}`),await n;let s=(async()=>{let i=r,a=await this.getVideoInfo(i);if(!a)return I("error","[Aiyifan] \u83B7\u53D6\u89C6\u9891\u4FE1\u606F\u5931\u8D25"),[];let o=this.extractUniqueKey(a);if(!o)return I("error","[Aiyifan] \u672A\u83B7\u53D6\u5230uniqueKey"),[];let c=await this.fetchBarrage(o);return c.length===0?(I("info","[Aiyifan] \u672A\u83B7\u53D6\u5230\u5F39\u5E55"),[]):(c.sort((u,l)=>(u.second||0)-(l.second||0)),I("info",`[Aiyifan] \u83B7\u53D6\u5230 ${c.length} \u6761\u5F39\u5E55`),c)})();this.inflightDanmuRequests.set(r,s);try{return await s}finally{this.inflightDanmuRequests.delete(r)}}async getEpisodeDanmuSegments(t){let r=await this.getEpisodeDanmu(t),n=[{type:"aiyifan",segment_start:0,segment_end:Math.max(...r.map(s=>s.second||0),0),url:`${this.DANMU_API}?uniqueKey=${t}`}];return{type:"aiyifan",duration:Math.max(...r.map(s=>s.second||0),0),segmentList:n}}async getEpisodeSegmentDanmu(t){let r=t.url?.split("uniqueKey=")[1];return r?await this.getEpisodeDanmu(r):[]}formatComments(t){return t.map(r=>({p:`${r.second||0},${r.position===1?5:1},25,${aR(r.color.replace("#",""))},0,0,0,0`,m:r.contxt||r.content||"",like:r.good,...r})).map(r=>(F.danmuSimplifiedTraditional==="simplified"&&r.m&&(r.m=mr(r.m)),r))}}});var Cd,OM,sKr,iKr,DM,Ibt=oe(()=>{oi();Gt();Ht();Lr();Ws();Ou();Pi();Es();Rm();Cd={danmu:null,subject:null},OM=new Map,sKr=3*60*1e3,iKr=100,DM=class extends zt{get headers(){return{"Content-Type":"application/json","User-Agent":`huangxd-/danmu_api/${F.version}(https://github.com/huangxd-/danmu_api)`}}_applyProxyForSearch(t){return F.makeProxyUrl(t)}_getDanmuServerPriority(){return new Date().getTimezoneOffset()===-480?["https://api.animeko.org","https://danmaku-global.myani.org","https://danmaku-cn.myani.org","https://s1.animeko.openani.org"]:["https://danmaku-global.myani.org","https://api.animeko.org","https://s1.animeko.openani.org","https://danmaku-cn.myani.org"]}_getSubjectServerPriority(){let t="https://api.bgm.tv",r="https://api.bangumi.lol",n=this._applyProxyForSearch(t),i=new Date().getTimezoneOffset()===-480?[{type:"V2",url:"https://api.animeko.org"},{type:"V2",url:"https://danmaku-global.myani.org"},{type:"V2",url:"https://danmaku-cn.myani.org"},{type:"V2",url:"https://s1.animeko.openani.org"}]:[{type:"V2",url:"https://danmaku-global.myani.org"},{type:"V2",url:"https://api.animeko.org"},{type:"V2",url:"https://s1.animeko.openani.org"},{type:"V2",url:"https://danmaku-cn.myani.org"}];return n!==t?[...i,{type:"V0",url:n},{type:"V0",url:r}]:[...i,{type:"V0",url:r},{type:"V0",url:t}]}async _fetchV0AllEpisodes(t,r){let n=[],s=0,i=200;try{for(;;){let a=`${t}/v0/episodes?subject_id=${r}&limit=${i}&offset=${s}`,o=await Le(a,{headers:this.headers,timeout:3e3});if(!o||!o.data||!Array.isArray(o.data.data)){s===0&&I("info",`[Animeko] Subject ${r} \u65E0\u5267\u96C6\u6570\u636E\u6216\u54CD\u5E94\u5F02\u5E38`);break}let c=o.data.data;if(c.length===0||(n=n.concat(c),c.length===i&&I("info",`[Animeko] ID:${r} \u6B63\u52A0\u8F7D\u66F4\u591A\u5267\u96C6 (\u5F53\u524D\u5DF2\u83B7: ${n.length})`),c.length1600){I("warn",`[Animeko] ID:${r} \u5267\u96C6\u6570\u91CF\u8D85\u8FC7\u5B89\u5168\u9650\u5236(1600)\uFF0C\u505C\u6B62\u7FFB\u9875`);break}}return n}catch(a){return I("error","[Animeko] V0\u5267\u96C6\u83B7\u53D6\u5F02\u5E38:",{message:a.message,id:r,offset:s}),[]}}async _fetchAnimekoSubject(t){let r=OM.get(t);if(r&&Date.now()-r.timestampa.url===s);(!s||i===-1)&&(i=0,s=n[0].url,Cd.subject=s);for(let a=0;a(I("warn",`[Animeko] V0\u5173\u8054\u83B7\u53D6\u5F02\u5E38: ${d.message}`),null))]);(u&&u.length>0||l)&&(c={id:t},u&&u.length>0&&(c.episodes=u.map(d=>({episodeId:d.id,sort:d.sort,ep:d.ep,type:d.type===0?"MAIN":d.type===1?"SP":String(d.type),name:d.name,nameCn:d.name_cn,airdate:d.airdate}))),l&&l.data&&Array.isArray(l.data)&&(c.relations=l.data))}if(c){if(Cd.subject!==o.url&&(I("info",`[Animeko] \u8BE6\u60C5\u8282\u70B9\u5065\u5EB7\u72B6\u6001\u66F4\u65B0: ${Cd.subject} -> ${o.url}`),Cd.subject=o.url),OM.set(t,{data:c,timestamp:Date.now()}),OM.size>iKr){let u=OM.keys().next().value;OM.delete(u)}return c}I("warn",`[Animeko] \u8282\u70B9 ${o.url} \u8FD4\u56DE\u65E0\u6548\u6570\u636E`)}catch(c){I("warn",`[Animeko] \u8282\u70B9\u8BF7\u6C42\u5931\u8D25: ${o.url} - ${c.message}`)}}return I("warn","[Animeko] \u6240\u6709\u8BE6\u60C5\u8282\u70B9\u5747\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3\u4F18\u5148\u7EA7\u9996\u4F4D"),Cd.subject=n[0].url,null}async search(t){if(F.useBangumiData){let r=await kf(t,["bangumi"]);if(r.length>0){I("info",`[Animeko] Bangumi-Data \u672C\u5730\u547D\u4E2D ${r.length} \u6761\u6570\u636E\uFF08\u68C0\u7D22\u8BCD\uFF1A${t}\uFF09`);let n=r.map(s=>{let a=(s.titles.find(o=>o&&o.includes(t))||s.titles[1]||s.title)+(s.titleSuffix||"");return{id:parseInt(s.siteId),name:s.title,name_cn:a,imageUrl:"",date:s.begin,score:0,platform:s.typeStr,aliases:[...s.titles]}});if(n.length>1){let s=await this.checkRelationsAndModifyTitles(n);return I("info",`[Animeko] \u641C\u7D22\u5B8C\u6210\uFF08Bangumi-Data + \u5173\u7CFB\u68C0\u6D4B\uFF09\uFF0C\u5171\u627E\u5230 ${s.length} \u4E2A\u6709\u6548\u7ED3\u679C`),this.transformResults(s)}return this.transformResults(n)}}try{let r=t.replace(/[._]/g," ").replace(/\s+/g," ").trim();I("info",`[Animeko] \u5F00\u59CB\u641C\u7D22 (V0): ${r}`);let n=[],s=0,i=20;for(;;){let o=`/v0/search/subjects?limit=${i}&offset=${s}`,c=`https://api.bgm.tv${o}`,u=`https://api.bangumi.lol${o}`,l=this._applyProxyForSearch(c),d=[];l!==c?d=[{id:"PROXY_OFFICIAL",url:l},{id:"MIRROR",url:u}]:d=[{id:"MIRROR",url:u},{id:"OFFICIAL",url:c}];let f={keyword:r,filter:{type:[2]}},h=null;for(let g of d)try{if(h=await Fn(g.url,JSON.stringify(f),{headers:this.headers,timeout:5e3}),h&&h.data){I("info",`[Animeko] \u641C\u7D22\u8282\u70B9 [${g.id}] \u8BF7\u6C42\u6210\u529F (offset: ${s})`);break}}catch(_){I("warn",`[Animeko] \u641C\u7D22\u8282\u70B9 [${g.id}] \u8BF7\u6C42\u5931\u8D25: ${_.message}`)}if(!h||!h.data){I("info",`[Animeko] \u641C\u7D22\u8BF7\u6C42\u6240\u6709\u8282\u70B9\u5747\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE (offset: ${s})`);break}let p=h.data.data||[];if(p.length===0)break;let m=this.filterSearchResults(p,t);if(m.length>0&&(n=n.concat(m)),m.length=60){I("warn","[Animeko] \u641C\u7D22\u7FFB\u9875\u8FBE\u5230\u5B89\u5168\u4E0A\u9650(60)\uFF0C\u5F3A\u5236\u505C\u6B62");break}}if(n.length===0)return I("info","[Animeko] \u8FC7\u6EE4\u540E\u65E0\u5339\u914D\u7ED3\u679C"),[];let a=Array.from(new Map(n.map(o=>[o.id,o])).values());return a.length>1&&(a=await this.checkRelationsAndModifyTitles(a)),I("info",`[Animeko] \u641C\u7D22\u5B8C\u6210\uFF0C\u5171\u627E\u5230 ${a.length} \u4E2A\u6709\u6548\u7ED3\u679C`),this.transformResults(a)}catch(r){return I("error","[Animeko] Search error:",{message:r.message,name:r.name,stack:r.stack}),[]}}filterSearchResults(t,r){return t.filter(n=>{let s=[n.name,n.name_cn];return n.infobox&&Array.isArray(n.infobox)&&n.infobox.forEach(i=>{i.key==="\u522B\u540D"&&Array.isArray(i.value)&&i.value.forEach(a=>{a&&a.v&&s.push(a.v)}),i.key==="\u4E2D\u6587\u540D"&&typeof i.value=="string"&&s.push(n.value)}),s.some(i=>i&&$t(i,r))})}hasExplicitSeasonInfo(t){return t?/第?\s*(?:\d+|[一二三四五六七八九十]+)\s*[季期部]|Season\s*\d+|S\d+|Part\s*\d+|Act\s*\d+|Phase\s*\d+|The\s+Final\s+Season|OVA|OAD|剧场版|劇場版|Movie|Film|续[篇集]|外传|SP|(?o.length){if(this.hasExplicitSeasonInfo(c))continue;let u=await this._fetchAnimekoSubject(i.id),d=this._extractRelations(u).find(f=>f.id===a.id);if(d&&(I("info",`[Animeko] \u68C0\u6D4B\u5230\u5173\u7CFB: [${o}] -> ${d.relation} -> [${c}]`),["\u7EED\u96C6","\u756A\u5916\u7BC7","\u4E3B\u7EBF\u6545\u4E8B","\u524D\u4F20","\u4E0D\u540C\u6F14\u7ECE","\u884D\u751F"].includes(d.relation))){let h=d.relation;h==="\u7EED\u96C6"&&(h="\u7EED\u7BC7"),a._relation_mark=`(${h})`}}}return t}_extractRelations(t){if(!t||!t.relations)return[];let r=t.relations;if(Array.isArray(r))return r.filter(i=>i.type===2).map(i=>({id:i.id,name:i.name_cn||i.name,relation:i.relation}));let n=[],s=(i,a)=>{Array.isArray(i)&&i.forEach(o=>{o&&n.push({id:o,name:"",relation:a})})};return s(r.sequelSubjects,"\u7EED\u96C6"),s(r.prequelSubjects,"\u524D\u4F20"),s(r.sideStorySubjects,"\u756A\u5916\u7BC7"),s(r.alternativeSettingSubjects,"\u4E0D\u540C\u6F14\u7ECE"),s(r.characterSubjects,"\u884D\u751F"),n}_extractInfoboxValue(t,r){if(!t||!t.fields||!Array.isArray(t.fields))return null;let n=t.fields.find(s=>s.key===r);return n&&n.values&&n.values.length>0&&n.values[0].v||null}_ExtractInfoboxAliases(t){let r=[];return!t||!t.fields||!Array.isArray(t.fields)||t.fields.forEach(n=>{n.key==="\u522B\u540D"&&Array.isArray(n.values)&&n.values.forEach(s=>{s&&s.v&&!r.includes(s.v)&&r.push(s.v)})}),r}transformResults(t){return t.map(r=>{let n="\u52A8\u6F2B";if(r.platform)switch(r.platform){case"TV":case 1:n="TV\u52A8\u753B";break;case"Web":n="Web\u52A8\u753B";break;case"OVA":n="OVA";break;case"Movie":n="\u5267\u573A\u7248";break;default:n=typeof r.platform=="number"?"TV\u52A8\u753B":r.platform}let s=!1,i=!1;r.tags&&Array.isArray(r.tags)&&r.tags.forEach(u=>{let l=u.name||u;l==="3D"&&(s=!0),l==="2D"&&(i=!0)}),s?n="3D"+n:i&&(n="2D"+n);let a=r._relation_mark?` ${r._relation_mark}`:"",o=Array.isArray(r.aliases)?[...r.aliases]:[];r.infobox&&(Array.isArray(r.infobox)?r.infobox.forEach(u=>{u.key==="\u522B\u540D"&&Array.isArray(u.value)&&u.value.forEach(l=>{l&&l.v&&!o.includes(l.v)&&o.push(l.v)})}):r.infobox.fields&&this._ExtractInfoboxAliases(r.infobox).forEach(l=>{o.includes(l)||o.push(l)})),r.name_cn&&r.name_cn!==r.name&&o.push(r.name_cn),r.nameCn&&r.nameCn!==r.name&&(o.includes(r.nameCn)||o.push(r.nameCn));let c=r.airDate||r.date||"";return{id:r.id,name:r.name,name_cn:(r.name_cn||r.nameCn||r.name)+a,aliases:o,images:r.images,air_date:c,score:r.score?parseFloat(r.score):0,typeDescription:n}})}async getEpisodes(t){try{let r=await this._fetchAnimekoSubject(t);return!r||!r.episodes||!Array.isArray(r.episodes)?(r&&I("info",`[Animeko] Subject ${t} \u65E0\u5267\u96C6\u6570\u636E`),[]):r.episodes.map(n=>({id:n.episodeId,sort:parseInt(n.sort)||0,ep:n.ep,type:n.type==="MAIN"?0:n.type==="SP"?1:n.type,name:n.name||"",name_cn:n.nameCn||"",airdate:n.airdate||""}))}catch(r){return I("error","[Animeko] GetEpisodes error:",{message:r.message,id:t}),[]}}async handleAnimes(t,r,n,s=null,i=null){let a=[];if(!t||!Array.isArray(t))return t&&I("error","[Animeko] sourceAnimes is not a valid array"),[];let o=t,c=i!==null?i:ir(r);if(c!==null){let l=o.filter(d=>{let f=d.name_cn||d.name,h=Qt(f).season;return h===c||c===1&&h===null});l.length>0&&(o=l,I("info",`[Animeko] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.id),f=[],h=l.air_date||"";if(Array.isArray(d)){d.sort((p,m)=>(p.sort||0)-(m.sort||0));for(let p of d){if(p.type!==0)continue;!h&&p.airdate&&(h=p.airdate);let m=p.sort||p.ep,g=p.name_cn||p.name||"",_=`\u7B2C${m}\u8BDD ${g}`.trim();f.push({name:`${m}`,url:p.id.toString(),title:`\u3010animeko\u3011 ${_}`})}}if(f.length>0){let p=h?new Date(h).getFullYear():"",m={animeId:l.id,bangumiId:String(l.id),animeTitle:`${l.name_cn||l.name}(${p})\u3010${l.typeDescription||"\u52A8\u6F2B"}\u3011from animeko`,aliases:l.aliases||[],type:"\u52A8\u6F2B",typeDescription:l.typeDescription||"\u52A8\u6F2B",imageUrl:l.images?l.images.common||l.images.large:"",startDate:h,episodeCount:f.length,rating:l.score||0,isFavorited:!0,source:"animeko"};a.push(m),rr({...m,links:f},s),F.animes.length>F.MAX_ANIMES&&ar()}}catch(d){I("error",`[Animeko] Error processing anime ${l.id}: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(t){let r=String(t).trim();if(r.includes("/")){let a=r.split("/");r=a[a.length-1]}if(r.includes("?")&&(r=r.split("?")[0]),!r)return I("error","[Animeko] \u65E0\u6548\u7684 episodeId"),[];let n=this._getDanmuServerPriority(),s=Cd.danmu,i=n.indexOf(s);(!s||i===-1)&&(i=0,s=n[0],Cd.danmu=s);for(let a=0;a ${c}`),Cd.danmu=c),I("info",`[Animeko] \u6210\u529F\u83B7\u53D6\u5F39\u5E55\uFF0C\u5171 ${d.length} \u6761 (${c}\u8282\u70B9)`),d}I("info",`[Animeko] ${c} \u8282\u70B9\u83B7\u53D6\u5931\u8D25/\u65E0\u6570\u636E\uFF0C\u89E6\u53D1\u964D\u7EA7`)}catch(l){I("warn",`[Animeko] \u8BF7\u6C42\u8282\u70B9\u5931\u8D25: ${c} - ${l.message}`)}}return I("info","[Animeko] \u5F39\u5E55\u57DF\u6240\u6709\u964D\u7EA7\u8282\u70B9\u5747\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3\u9996\u9009\u8282\u70B9"),Cd.danmu=n[0],[]}async getEpisodeDanmuSegments(t){return new jt({type:"animeko",segmentList:[{type:"animeko",segment_start:0,segment_end:3e4,url:String(t)}]})}async getEpisodeSegmentDanmu(t){let r=(t.url||"").trim();return r?this.getEpisodeDanmu(r):[]}formatComments(t){if(!Array.isArray(t))return[];let r={NORMAL:1,TOP:5,BOTTOM:4};return t.filter(n=>n&&n.danmakuInfo).map(n=>{let s=n.danmakuInfo,i=(Number(s.playTime)/1e3).toFixed(2),a=r[s.location]||1,o=s.color===-1?16777215:s.color,c=F.danmuSimplifiedTraditional==="simplified"?mr(s.text):s.text;return{cid:n.id,p:`${i},${a},${o},[animeko]`,m:c}})}}});var PM,Rbt=oe(()=>{oi();Gt();Ht();Lr();Es();Pi();PM=class extends zt{async search(t){}async getEpisodes(t){}async handleAnimes(t,r,n,s=null){}async getEpisodeDanmu(t){try{let r=await Le(`${F.otherServer}/?url=${t}&ac=dm`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return I("info",`[Other] danmu response from ${F.otherServer}: \u2193\u2193\u2193`),pi(r.data),r.data}catch(r){return I("error",`[Other] \u8BF7\u6C42 ${F.otherServer} \u5931\u8D25:`,r),[]}}async getEpisodeDanmuSegments(t){return I("info","[Other] \u83B7\u53D6\u7B2C\u4E09\u65B9\u670D\u52A1\u5668\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",t),new jt({type:"other_server",segmentList:[{type:"other_server",segment_start:0,segment_end:3e4,url:t}]})}async getEpisodeSegmentDanmu(t){return this.getEpisodeDanmu(t.url)}formatComments(t){return t}}});function Cbt(e){let t=Number(e||0);return!Number.isFinite(t)||t<=0?0:t>6*60*60?t/1e3:t}function Dbt(e,t=!1){return t?String(e||F.danmuOutputFormat||"json").toLowerCase()==="json":!1}function J9(e,t=null){return t===null?e:{videoDuration:t,...e}}function aKr(e){let t=Cbt(e?.duration||e?.videoDuration||0);if(t>0)return t;let r=Array.isArray(e?.segmentList)?e.segmentList:[];if(!r.length)return 0;let n=0;return r.forEach(s=>{let i=Cbt(s?.segment_end||0);i<=0||i>n&&(n=i)}),n>0?n:0}async function dye(e){if(!/^https?:\/\//i.test(e))return 0;try{let t=e,r=null;return t.includes(".qq.com")?r=await Fe.run("tencent",()=>UA.getComments(t,"qq",!0)):t.includes(".iqiyi.com")?r=await Fe.run("iqiyi",()=>$A.getComments(t,"qiyi",!0)):t.includes(".mgtv.com")?r=await Fe.run("mango",()=>SS.getComments(t,"imgo",!0)):t.includes(".bilibili.com")||t.includes("b23.tv")?(t.includes("b23.tv")&&(t=await Fe.run("bilibili",()=>Gf.resolveB23Link(t))),r=await Fe.run("bilibili",()=>Gf.getComments(t,"bilibili1",!0))):t.includes(".youku.com")?r=await Fe.run("youku",()=>FA.getComments(t,"youku",!0)):t.includes(".miguvideo.com")?r=await Fe.run("migu",()=>qA.getComments(t,"migu",!0)):t.includes(".sohu.com")?r=await Fe.run("sohu",()=>TS.getComments(t,"sohu",!0)):t.includes(".le.com")?r=await Fe.run("leshi",()=>bS.getComments(t,"leshi",!0)):t.includes(".douyin.com")||t.includes(".ixigua.com")?r=await Fe.run("xigua",()=>IS.getComments(t,"xigua",!0)):t.includes(".mddcloud.com.cn")?r=await Fe.run("maiduidui",()=>RS.getComments(t,"maiduidui",!0)):t.includes(".yfsp.tv")&&(r=await Fe.run("aiyifan",()=>CS.getComments(t,"aiyifan",!0))),aKr(r)}catch(t){return I("warn",`[system] [Duration] \u83B7\u53D6\u65F6\u957F\u5931\u8D25: ${t.message}`),0}}function oKr(e){return String(e||"").split(Kf).map(t=>{let r=t.indexOf(":");return r===-1?t.trim():t.slice(r+1).trim()}).filter(Boolean)}async function Z9(e){if(!e)return 0;try{let t=e.includes(Kf)?oKr(e):[e];return(await Promise.all(t.map(dye))).reduce((n,s)=>Math.max(n,s||0),0)}catch(t){return I("warn",`[system] [Duration] \u83B7\u53D6\u65F6\u957F\u5931\u8D25: ${t.message}`),0}}function eq(e,t){if(!t)return!0;let r=CA(e.animeTitle);return r?r===t:!0}function cKr(e,t,r){let n=e.animeTitle.match(/^(.*?)\(\d{4}\)/),s=n?n[1].trim():e.animeTitle.split("(")[0].trim(),i=_n(s),a=_n(t);if(i.includes(a)){if(i.startsWith(a)){let o=i.substring(a.length).trim();if(o===""&&r===1)return!0;let c=o.match(/\d+/);if(c&&c[0]===r.toString())return!0;let u=o.match(/[一二三四五六七八九十壹贰叁肆伍陆柒捌玖拾]+/);if(u&&Ah(u[0])===r)return!0}return!1}else return!1}function cye(e,t,r,n,s){if(r===null||t===null)return!0;let i=[];s&&(i=s.split("&").map(o=>o.trim().toLowerCase()).filter(o=>o)),i.length===0&&(i=["_any_"]);let a=!0;for(let o of i){let c=!1,u=new Map,l=!1;for(let d of e){let f=tq(d.animeTitle)||d.source;if(o!=="_any_"&&sg(f,o)===0)continue;l=!0;let h=wS(d,n);if(h?.success&&h.bangumi?.episodes){let p=h.bangumi.episodes.filter(E=>!F.episodeTitleFilter.test(E.episodeTitle)),m=xS(p);if(m.some(E=>Tm(E.episodeTitle)===r)){c=!0;break}let g=[d.animeTitle];d.aliases&&Array.isArray(d.aliases)&&g.push(...d.aliases);let _=null;for(let E of g){if(!E)continue;let A=Qt(E).season;if(A!==null){_=A;break}}_===null&&(_=1);let y=u.get(_)||0;m.length>y&&u.set(_,m.length)}}if(l&&!c){let d=0;for(let f of u.values())d+=f;if(de[$]!==void 0),L=[];for(let $ of M){let V=[],W=new Map;if($==="360")L.push({key:$,animes:V,detailStore:W,promise:Fe.run(bs($),()=>wbt.handleAnimes(c,t,V,W,s))});else if($==="vod"){if(o&&Array.isArray(o)){let G=Fe.run($,()=>(async()=>{for(let se of o)se&&se.list&&se.list.length>0&&await Nbt.handleAnimes(se.list,t,V,se.serverName,W,s)})());L.push({key:$,animes:V,detailStore:W,promise:G})}}else $==="tmdb"?L.push({key:$,animes:V,detailStore:W,promise:Fe.run($,()=>Obt.handleAnimes(u,t,V,W,s))}):$==="douban"?L.push({key:$,animes:V,detailStore:W,promise:Fe.run($,()=>lye.handleAnimes(l,t,V,W,s))}):$==="renren"?L.push({key:$,animes:V,detailStore:W,promise:Fe.run($,()=>LM.handleAnimes(d,t,V,W,s))}):$==="hanjutv"?L.push({key:$,animes:V,detailStore:W,promise:Fe.run($,()=>MM.handleAnimes(f,t,V,W,s))}):$==="bahamut"?L.push({key:$,animes:V,detailStore:W,promise:Fe.run($,()=>kM.handleAnimes(h,t,V,W,s))}):$==="dandan"?L.push({key:$,animes:V,detailStore:W,promise:Fe.run($,()=>BM.handleAnimes(p,t,V,W,s))}):$==="custom"?L.push({key:$,animes:V,detailStore:W,promise:Fe.run($,()=>nq.handleAnimes(m,t,V))}):$==="tencent"?L.push({key:$,animes:V,detailStore:W,promise:Fe.run($,()=>UA.handleAnimes(g,t,V,W,s))}):$==="youku"?L.push({key:$,animes:V,detailStore:W,promise:Fe.run($,()=>FA.handleAnimes(_,t,V,W,s))}):$==="iqiyi"?L.push({key:$,animes:V,detailStore:W,promise:Fe.run($,()=>$A.handleAnimes(y,t,V,W,s))}):$==="imgo"?L.push({key:$,animes:V,detailStore:W,promise:Fe.run(bs($),()=>SS.handleAnimes(E,t,V,W,s))}):$==="bilibili"?L.push({key:$,animes:V,detailStore:W,promise:Fe.run($,()=>Gf.handleAnimes(A,t,V,W,s))}):$==="migu"?L.push({key:$,animes:V,detailStore:W,promise:Fe.run($,()=>qA.handleAnimes(v,t,V,W,s))}):$==="sohu"?L.push({key:$,animes:V,detailStore:W,promise:Fe.run($,()=>TS.handleAnimes(T,t,V,W,s))}):$==="leshi"?L.push({key:$,animes:V,detailStore:W,promise:Fe.run($,()=>bS.handleAnimes(C,t,V,W,s))}):$==="xigua"?L.push({key:$,animes:V,detailStore:W,promise:Fe.run($,()=>IS.handleAnimes(b,t,V,W,s))}):$==="maiduidui"?L.push({key:$,animes:V,detailStore:W,promise:Fe.run($,()=>RS.handleAnimes(x,t,V,W,s))}):$==="aiyifan"?L.push({key:$,animes:V,detailStore:W,promise:Fe.run($,()=>CS.handleAnimes(w,t,V,W,s))}):$==="animeko"&&L.push({key:$,animes:V,detailStore:W,promise:Fe.run($,()=>UM.handleAnimes(P,t,V,W,s))})}let U=await Promise.allSettled(L.map($=>$.promise)),Y=new Set(r.map($=>$.animeId));for(let $=0;$ ${g}`),i=g}let c=n instanceof Map?n:new Map,u=a!==null?`${i}_S${a}`:i,l=rP(u,c);if(l===null&&a!==null){let g=rP(i,c);g!==null&&(I("info",`[system] [searchAnime] Cache miss for ${u}, fallback to generic cache for ${i}`),l=g)}if(l!==null){let g=cye(l,a,o,c,s);if(g)return tt({errorCode:0,success:!0,errorMessage:"",animes:l});{let _=a+1,y=[...l],E=!1;for(;!g&&!E;){let A=`${i}_S${_}`,v=rP(A,c);v!==null&&v.length>0?(y.push(...v),g=cye(y,a,o,c,s),_++):E=!0}if(g)return I("info",`[system] [LogVar-API] Episode ${o} satisfied by combining cached seasons S${a} to S${_-1}`),tt({errorCode:0,success:!0,errorMessage:"",animes:y});I("info",`[system] [LogVar-API] Episode ${o} not satisfied in cache. Proceeding to network search.`)}}let d=[];if(/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,6}(:\d+)?(\/[^\s]*)?$/.test(i)){let g=wA.fromJson({animeId:0,bangumiId:"0",animeTitle:i,type:"",typeDescription:"\u94FE\u63A5\u89E3\u6790",imageUrl:"",startDate:"",episodeCount:1,rating:0,isFavorited:!0}),_="unknown";i.includes(".qq.com")?_="qq":i.includes(".iqiyi.com")?_="qiyi":i.includes(".mgtv.com")?_="imgo":i.includes(".youku.com")?_="youku":i.includes(".bilibili.com")?_="bilibili1":i.includes(".miguvideo.com")?_="migu":i.includes(".sohu.com")?_="sohu":i.includes(".le.com")?_="leshi":i.includes(".douyin.com")||i.includes(".ixigua.com")?_="xigua":i.includes(".mddcloud.com.cn")?_="maiduidui":i.includes(".yfsp.tv")&&(_="aiyifan");let y=await Fe.run(bs(_),()=>frt(i)),E=[{name:"\u624B\u52A8\u89E3\u6790\u94FE\u63A5\u5F39\u5E55",url:i,title:`\u3010${_}\u3011 ${y}`}];d.push(g),rr(wA.fromJson({...g,links:E}),c),F.animes.length>F.MAX_ANIMES&&ar(),F.localCacheValid&&d.length!==0&&await D$(),F.redisValid&&d.length!==0&&await E$(),F.localRedisValid&&d.length!==0&&await B9();let A=d.map(({links:v,...T})=>T);return tt({errorCode:0,success:!0,errorMessage:"",animes:A})}try{I("info",`[system] [LogVar-API] Search sourceOrderArr: ${F.sourceOrderArr}`);let g={},_={};for(let T of F.sourceOrderArr)T==="360"?_[T]=Fe.run(bs(T),()=>wbt.search(i)):T==="vod"?_[T]=Fe.run(bs(T),()=>Nbt.search(i,t,r)):T==="tmdb"?_[T]=Fe.run(bs(T),()=>Obt.search(i)):T==="douban"?_[T]=Fe.run(bs(T),()=>lye.search(i)):T==="renren"?_[T]=Fe.run(bs(T),()=>LM.search(i)):T==="hanjutv"?_[T]=Fe.run(bs(T),()=>MM.search(i)):T==="bahamut"?_[T]=Fe.run(bs(T),()=>kM.search(i)):T==="dandan"?_[T]=Fe.run(bs(T),()=>BM.search(i)):T==="custom"?_[T]=Fe.run(bs(T),()=>nq.search(i)):T==="tencent"?_[T]=Fe.run(bs(T),()=>UA.search(i)):T==="youku"?_[T]=Fe.run(bs(T),()=>FA.search(i)):T==="iqiyi"?_[T]=Fe.run(bs(T),()=>$A.search(i)):T==="imgo"?_[T]=Fe.run(bs(T),()=>SS.search(i)):T==="bilibili"?_[T]=Fe.run(bs(T),()=>Gf.search(i)):T==="migu"?_[T]=Fe.run(bs(T),()=>qA.search(i)):T==="sohu"?_[T]=Fe.run(bs(T),()=>TS.search(i)):T==="leshi"?_[T]=Fe.run(bs(T),()=>bS.search(i)):T==="xigua"?_[T]=Fe.run(bs(T),()=>IS.search(i)):T==="maiduidui"?_[T]=Fe.run(bs(T),()=>RS.search(i)):T==="aiyifan"?_[T]=Fe.run(bs(T),()=>CS.search(i)):T==="animeko"&&(_[T]=Fe.run(bs(T),()=>UM.search(i)));let y=F.sourceOrderArr.map(T=>{let C=[],b=new Map,x=_[T].then(async w=>{g[T]=w,await xbt({[T]:w},i,C,b,a,t,r)});return{key:T,animes:C,detailStore:b,promise:x}}),E=await Promise.allSettled(y.map(T=>T.promise)),A=new Set(d.map(T=>T.animeId));for(let T=0;T0&&nP(u,d.map(({links:T,...C})=>C),c),!cye(d,a,o,c,s)&&a!==null){let T=a;for(let C of F.sourceOrderArr){let b=g[C];if(Array.isArray(b))for(let x of b){let w=x&&Array.isArray(x.list)?x.list:[x];for(let P of w){if(!P)continue;let M=Qt(P.animeTitle||P.title||"").season;M!==null&&M>T&&(T=M)}}}if(T>a){I("info",`[system] [LogVar-API] Episode ${o} not satisfied in Season ${a}. Parallel mapping to S${a+1}~S${T}...`);let C=[];for(let x=a+1;x<=T;x++)C.push((async()=>{let w=[];return await xbt(g,i,w,c,x,t,r),w.length>0&&nP(`${i}_S${x}`,w.map(({links:P,...M})=>M),c),w})());let b=await Promise.all(C);for(let x of b)d.push(...x)}}}catch(g){I("error","[system] [LogVar-API] \u53D1\u751F\u9519\u8BEF:",g)}let h=F.mergeSourcePairs&&F.mergeSourcePairs.length>0,p=F.customMergeRules&&F.customMergeRules.length>0;if((h||p)&&await yTt(d,c),Tle(d,i),F.enableAnimeEpisodeFilter){let g=[];for(let _ of d){let y=_.animeTitle||"";if(F.animeTitleFilter&&F.animeTitleFilter.test(y)){I("info",`[searchAnime] Anime ${_.animeId} filtered by name: ${y}`);continue}let E=Qv(_?.bangumiId,c,_?.source)||Qv(_?.animeId,c,_?.source)||Yv(_?.bangumiId,c,_?.source)||Yv(_?.animeId,c,_?.source);if(E&&E.links){let A=E.links.map((v,T)=>({episodeId:v.id,episodeTitle:v.title,episodeNumber:T+1}));A=A.filter(v=>!F.episodeTitleFilter.test(v.episodeTitle)),I("info",`[searchAnime] Anime ${_.animeId} filtered episodes: ${A.length}/${E.links.length}`),A.length>0&&g.push(_)}}d.length=0,d.push(...g)}F.localCacheValid&&d.length!==0&&await D$(),F.redisValid&&d.length!==0&&await E$(),F.localRedisValid&&d.length!==0&&await B9();let m=d.map(({links:g,..._})=>_);if(m.length>0){let g=a!==null?`${i}_S${a}`:i;nP(g,m,c)}return tt({errorCode:0,success:!0,errorMessage:"",animes:m})}function xS(e){return e.filter((r,n,s)=>!s.slice(0,n).some(i=>i.episodeTitle===r.episodeTitle))}function sg(e,t){if(!e||!t)return 0;let r=e.split("&").map(i=>i.trim().toLowerCase()).filter(i=>i),n=t.split("&").map(i=>i.trim().toLowerCase()).filter(i=>i),s=0;for(let i of n)r.some(o=>o===i||o.includes(i)&&i.length>2||i.includes(o)&&o.length>2)&&s++;return s===0?0:s*1e3-r.length}function tq(e){let t=e.match(/from\s+([a-zA-Z0-9&]+)/i);return t?t[1]:null}function rq(e,t,r,n=null){if(!e||e.length===0)return null;let s=e;if(n&&(s=e.filter(i=>{let a=RA(i.episodeTitle);return sg(a,n)>0})),s.length===0)return null;for(let i of s){let a=Tm(i.episodeTitle);if(t===r&&a===r)return I("info",`Found episode by title number: ${i.episodeTitle} (extracted: ${a})`),i}if(s.length>=r){let i=s[r-1];return I("info",`Using fallback array index for episode ${r}: ${i.episodeTitle}`),i}for(let i of s)if(i.episodeNumber&&parseInt(i.episodeNumber,10)===r)return I("info",`Found episode by episodeNumber: ${i.episodeTitle} (episodeNumber: ${i.episodeNumber})`),i;return null}async function uKr(e,t,r,n,s,i,a,o,c=null){let u=F.aiBaseUrl,l=F.aiModel,d=F.aiApiKey,f=F.aiMatchPrompt;if(!F.aiValid||!f)return I("warn","AI configuration is incomplete, falling back to normal matching"),{resEpisode:null,resAnime:null};let h=new Im({apiKey:d,baseURL:u,model:l,systemPrompt:f}),p={title:s,season:e,episode:t,year:r,dynamicPlatformOrder:a,preferAnimeId:o,animes:n.animes.map(m=>{let g=m.animeTitle||"",_=g.match(/^(.*?)\(\d{4}\)/),y=_?_[1].trim():g.split("(")[0].trim();return{animeId:m.animeId,animeTitle:y,aliases:m.aliases||[],type:m.type,year:m.startDate?m.startDate.slice(0,4):null,episodeCount:m.episodeCount,source:m.source}})};try{let m=JSON.stringify(p,null,2),g=await h.ask(m);I("info",`AI match response: ${g}`);let _;try{let T=g.match(/```json\s*([\s\S]*?)\s*```|```([\s\S]*?)\s*```|({[\s\S]*})/),C=T?T[1]||T[2]||T[3]:g;_=JSON.parse(C.trim())}catch(T){return I("error",`Failed to parse AI response: ${T.message}`),{resEpisode:null,resAnime:null}}let y=_.animeIndex;if(y==null)return{resEpisode:null,resAnime:null};let E=n.animes[y];if(!E)return I("error",`AI returned invalid anime index: ${y}`),{resEpisode:null,resAnime:null};let A=wS(E,c);if(!A?.success||!A?.bangumi?.episodes)return{resEpisode:null,resAnime:null};let v=null;if(e&&t){let T=A.bangumi.episodes.filter(b=>!F.episodeTitleFilter.test(b.episodeTitle)),C=xS(T);I("info","\u8FC7\u6EE4\u540E\u7684\u96C6\u6807\u9898",C.map(b=>b.episodeTitle)),v=rq(C,t,t)}else A.bangumi.episodes.length>0&&(v=A.bangumi.episodes[0]);return{resEpisode:v,resAnime:E}}catch(m){return I("error",`AI matching failed: ${m.message}`),{resEpisode:null,resAnime:null}}}function wS(e,t=null){let r=Qv(e?.bangumiId,t,e?.source)||Qv(e?.animeId,t,e?.source);return r?hye(r,e?.bangumiId||e?.animeId||""):(I("warn",`[matchAnime] Missing request detail snapshot for anime ${e?.animeId??e?.bangumiId}`),null)}function Pbt(e,t,r,n,s){let i=String(t),a=e[i].match(/^([^:]+):(.+)$/),o=Number(a?.[1])||0,c=a?.[2]||"",u=r-o,l=n.findIndex(d=>d.episodeTitle===c);return l!==-1&&(s=l+u+1,I("info",`Applying offset "${e[i]}" for S${t}E${r} -> ${s}`)),s}function Lbt(e,t,r,n,s,i,a){if(!n||!s)return{resEpisode:null,resAnime:null};I("info",`[system] [Spillover] \u5F53\u524D\u5B63\u96C6\u5339\u914D\u7B56\u7565\u5931\u8D25 (S${n}E${s})\uFF0C\u6B63\u5728\u8FDB\u884C\u8DE8\u5B63\u96C6\u6570\u6620\u5C04\u5339\u914D...`);let o=_n(t),c=new Map;for(let f of e.animes){let h=[f.animeTitle];f.aliases&&Array.isArray(f.aliases)&&h.push(...f.aliases);let p=!1;for(let g of h)if(g&&_n(g).includes(o)){if(!eq(f,r))continue;p=!0;break}if(!p)continue;let m=null;for(let g of h){if(!g)continue;let _=Qt(g).season;if(_!==null){m=_;break}}if(m===null&&(m=1),!c.has(m)){let g=wS(f,a);if(g?.success&&g?.bangumi?.episodes){let _=g.bangumi.episodes.filter(E=>!F.episodeTitleFilter.test(E.episodeTitle)),y=xS(_);y.length>0&&c.set(m,{anime:f,episodes:y,actualPlatform:tq(f.animeTitle)||f.source})}}}let u=s,l=n,d={anime:null,episode:null,score:0};for(;c.has(l);){let f=c.get(l),h=f.episodes,p=null;for(let m of h)if(Tm(m.episodeTitle)===s){p=m;break}if(p){if(i&&sg(RA(p.episodeTitle),i)===0)break;I("info",`[system] [Spillover] \u8DE8\u5B63\u6EA2\u51FA\u67E5\u627E\u547D\u4E2D (\u6309\u7EDD\u5BF9\u6807\u9898\u6570\u5B57) -> \u6240\u5728\u5B63\uFF1AS${l} \u96C6\u6807\u9898\uFF1A${p.episodeTitle}`),d={anime:f.anime,episode:p,score:i?sg(f.actualPlatform,i):1};break}if(u<=h.length){let m=h[u-1];if(i&&sg(RA(m.episodeTitle),i)===0)break;I("info",`[system] [Spillover] \u8DE8\u5B63\u6EA2\u51FA\u67E5\u627E\u547D\u4E2D (\u6309\u76F8\u5BF9\u6392\u4F4D\u8BA1\u7B97) -> \u6240\u5728\u5B63\uFF1AS${l} \u96C6\u6807\u9898\uFF1A${m.episodeTitle}`),d={anime:f.anime,episode:m,score:i?sg(f.actualPlatform,i):1};break}I("info",`[system] [Spillover] S${l} \u5171\u6709 ${h.length} \u96C6(\u5DF2\u8FC7\u6EE4\u756A\u5916)\uFF0C\u5269\u4F59\u76EE\u6807\u96C6\u6570\u4E3A ${u}\uFF0C\u6620\u5C04\u81F3 S${l+1} \u7EE7\u7EED\u67E5\u627E`),u-=h.length,l++}return{resEpisode:d.episode,resAnime:d.anime}}async function lKr(e,t,r,n,s,i,a,o,c,u=null){let l={anime:null,episode:null,score:-9999},d=_n(s);for(let f of n.animes){if(F.rememberLastSelect&&o&&String(f.bangumiId)!==String(o)&&String(f.animeId)!==String(o))continue;let p=!1,m=[f.animeTitle];f.aliases&&Array.isArray(f.aliases)&&m.push(...f.aliases);for(let E of m)if(E){if(e&&t){if(_n(E).includes(d)){if(!eq(f,r)){I("info",`Year mismatch: anime year ${CA(f.animeTitle)} vs query year ${r}`);continue}let A=F.rememberLastSelect&&o&&(String(f.bangumiId)===String(o)||String(f.animeId)===String(o)),v={...f,animeTitle:E};if(cKr(v,s,e)||A){p=!0;break}}}else if(E.split("(")[0].trim()===s){if(!eq(f,r)){I("info",`Year mismatch: anime year ${CA(f.animeTitle)} vs query year ${r}`);continue}p=!0;break}}if(!p)continue;let g=wS(f,u);if(!g?.success||!g?.bangumi?.episodes)continue;I("info","\u5224\u65AD\u5267\u96C6",`Anime: ${f.animeTitle}`),I("info",g);let _=null,y=F.rememberLastSelect&&o!=null&&(String(f.bangumiId)===String(o)||String(f.animeId)===String(o));if(e&&t){let E=g.bangumi.episodes.filter(T=>!F.episodeTitleFilter.test(T.episodeTitle)),A=xS(E);I("info","\u8FC7\u6EE4\u540E\u7684\u96C6\u6807\u9898",A.map(T=>T.episodeTitle));let v=t;c&&c[String(e)]!==void 0&&(v=Pbt(c,e,t,A,v)),_=rq(A,t,v,a),!_&&y&&(I("info",`[system] [Match] \u4F18\u9009\u5267\u96C6\u672A\u547D\u4E2D\u76EE\u6807\u5E73\u53F0 ${a}\uFF0C\u653E\u5BBD\u6761\u4EF6\u63D0\u53D6\u96C6\u6570`),_=rq(A,t,v,null))}else if(g.bangumi.episodes.length>0)if(a){let E=g.bangumi.episodes.find(A=>{let v=RA(A.episodeTitle);return sg(v,a)>0});E?_=E:y&&(I("info",`[system] [Match] \u4F18\u9009\u7535\u5F71\u672A\u547D\u4E2D\u76EE\u6807\u5E73\u53F0 ${a}\uFF0C\u653E\u5BBD\u6761\u4EF6\u63D0\u53D6\u8D44\u6E90`),_=g.bangumi.episodes[0])}else _=g.bangumi.episodes[0];if(_){let E=tq(f.animeTitle)||f.source,A=0;if(a?A=sg(E,a):A=1,y&&(A+=9999),A>l.score&&(l={anime:f,episode:_,score:A}),!a||y)break}}if(!l.episode&&e&&t){let f=Lbt(n,s,r,e,t,a,u);f.resEpisode&&(l={episode:f.resEpisode,anime:f.resAnime,score:a?sg(tq(f.resAnime.animeTitle)||f.resAnime.source,a):1})}return{resEpisode:l.episode,resAnime:l.anime}}async function dKr(e,t,r,n,s,i,a,o,c,u=null){for(let d of e.animes){if(s&&!eq(d,s)){I("info",`Fallback: Year mismatch: anime year ${CA(d.animeTitle)} vs query year ${s}`);continue}let f=wS(d,u);if(!(!f?.success||!f?.bangumi?.episodes)){if(I("info",f),r&&n){let h=f.bangumi.episodes.filter(_=>!F.episodeTitleFilter.test(_.episodeTitle)),p=xS(h);I("info","[system] [LogVar-API] \u8FC7\u6EE4\u540E\u7684\u96C6\u6807\u9898",p.map(_=>_.episodeTitle));let m=n;c&&c[String(r)]!==void 0&&(m=Pbt(c,r,n,p,m));let g=rq(p,n,m,null);if(g){a=g,o=d;break}}else if(f.bangumi.episodes.length>0){a=f.bangumi.episodes[0],o=d;break}}}let l=!1;if(!a&&r&&n){let d=Lbt(e,i,s,r,n,null,u);d.resEpisode&&(a=d.resEpisode,o=d.resAnime,l=!0)}return{resEpisode:a,resAnime:o,isSpillover:l}}async function fKr(e){let t=/^(.+?)[.\s]+S(\d+)E(\d+)/i,r=e.match(t),n,s,i,a;if(r){n=r[1].trim(),s=parseInt(r[2],10),i=parseInt(r[3],10);let o=e.match(/(?:\.|\(|()((?:19|20)\d{2})(?:\)|)|\.|$)/);o&&(a=parseInt(o[1],10));let c=n.match(/^[\u4e00-\u9fa5·]+[^.\r\n]*/);if(c)n=c[0];else if(/^[A-Za-z0-9]/.test(n)){let u=n.match(/^([A-Za-z0-9.&\s]+?)(?=\.\d{4}|$)/);u&&(n=u[1].trim().replace(/[._]/g," "))}else{let u=n.split(/\.(?:19|20)\d{2}|2160p|1080p|720p|H265|iPhone/)[0],l=u.match(/^[\u4e00-\u9fa5·]+/);n=l?l[0]:u.trim()}n=n.replace(/\.\d{4}$/i,"").trim()}else{let o=/^([^.\s]+(?:[.\s][^.\s]+)*?)(?:[.\s](?:\d{4}|(?:19|20)\d{2}|\d{3,4}p|S\d+|E\d+|WEB|BluRay|Blu-ray|HDTV|DVDRip|BDRip|x264|x265|H\.?264|H\.?265|AAC|AC3|DDP|TrueHD|DTS|10bit|HDR|60FPS))/i,c=e.match(o);n=c?c[1].replace(/[._]/g," ").trim():e,s=null,i=null;let u=e.match(/(?:\.|\(|()((?:19|20)\d{2})(?:\)|)|\.|$)/);u&&(a=parseInt(u[1],10))}return F.titleToChinese&&(n=await nTt(n.replace("."," "),s,i)),I("info","[system] [Match] Parsed title, season, episode, year",{title:n,season:s,episode:i,year:a}),{title:n,season:s,episode:i,year:a}}function Mbt(e,t,r,n){let s=new URL(e),i=s.pathname.replace(/\/(?:match|search\/episodes)$/,"");return s.pathname=`${i}/search/anime`,s.search="",s.searchParams.set("keyword",t||""),r!==void 0&&s.searchParams.set("season",r||""),n!==void 0&&s.searchParams.set("episode",n||""),s}async function kbt(e,t,r){try{let n=await t.json();if(!n)return I("error","[system] [Match] Request body is empty"),tt({errorCode:400,success:!1,errorMessage:"Empty request body"},400);let{fileName:s}=n;if(!s)return I("error","[system] [Match] Missing fileName parameter in request body"),tt({errorCode:400,success:!1,errorMessage:"Missing fileName parameter"},400);let{cleanFileName:i,preferredPlatform:a}=brt(s);I("info",`[system] [Match] Processing anime match for query: ${s}`),I("info",`[system] [Match] Parsed cleanFileName: ${i}, preferredPlatform: ${a}`);let{title:o,season:c,episode:u,year:l}=await fKr(i);if(F.titleMappingTable&&F.titleMappingTable.size>0){let x=F.titleMappingTable.get(o);x&&(o=x,I("info",`[system] [Match] Title mapped from original: ${e.searchParams.get("keyword")} to: ${o}`))}if(F.animeTitleSimplified){let x=mr(o);I("info",`[system] [Match] matchAnime converted traditional to simplified: ${o} -> ${x}`),o=x}let[d,f,h]=Ile(o,c);I("info",`[system] [Match] prefer animeId: ${d} from ${f}`);let p=Irt(a),m=p.length>0?p[0]:null,g=new Map,_=Mbt(t.url,o,c,u),E=await(await WR(_,d,f,g,m)).json();I("info",`[system] [Match] searchData: ${E.animes}`);let A,v,T=!1,C={errorCode:0,success:!0,errorMessage:"",isMatched:!1,matches:[]};I("info",`[system] [Match] Original platformOrderArr: ${F.platformOrderArr}`),I("info",`[system] [Match] Dynamic platformOrder: ${p}`),I("info",`[system] [Match] Preferred platform: ${a||"none"}`);let b=await uKr(c,u,l,E,o,t,p,d,g);if(b.resAnime&&b.resEpisode)A=b.resAnime,v=b.resEpisode,C.isMatched=!0,I("info",`[system] [Match] AI match found: ${A.animeTitle}; episode: ${v.episodeTitle}`);else{for(let x of p){let w=await lKr(c,u,l,E,o,t,x,d,h,g);if(v=w.resEpisode,A=w.resAnime,A){C.isMatched=!0,I("info",`[system] [Match] Found match with platform: ${x||"default"}`);break}}if(!A){let x=await dKr(E,t,c,u,l,o,v,A,h,g);v=x.resEpisode,A=x.resAnime,T=x.isSpillover}}return v&&(r&&!T&&Ele(r,{title:o,season:c,episode:u,episodeId:v.episodeId}),C.matches=[S$.fromJson({episodeId:v.episodeId,animeId:A.animeId,animeTitle:A.animeTitle,episodeTitle:v.episodeTitle,type:A.type,typeDescription:A.typeDescription,shift:0,imageUrl:A.imageUrl})]),I("info",`[system] [Match] resMatchData: ${C}`),tt(C)}catch(n){return I("error",`[system] [Match] Failed to parse request body: ${n.message}`),tt({errorCode:400,success:!1,errorMessage:"Invalid JSON body"},400)}}async function Bbt(e){let t=e.searchParams.get("anime"),r=e.searchParams.get("episode")||"";if(F.animeTitleSimplified){let c=mr(t);I("info",`[system] [Episodes] searchEpisodes converted traditional to simplified: ${t} -> ${c}`),t=c}if(I("info",`[system] [Episodes] Search episodes with anime: ${t}, episode: ${r}`),!t)return I("error","[system] [Episodes] Missing anime parameter"),tt({errorCode:400,success:!1,errorMessage:"Missing anime parameter"},400);let n=Mbt(e,t),s=new Map,a=await(await WR(n,null,null,s)).json();if(!a.success||!a.animes||a.animes.length===0)return I("info","[system] [Episodes] No anime found for the given title"),tt({errorCode:0,success:!0,errorMessage:"",hasMore:!1,animes:[]});let o=[];for(let c of a.animes){let u=Yv(c.bangumiId,s,c.source)||Yv(c.animeId,s,c.source),l=null;if(u)l=hye(u,c.bangumiId);else{let d=new URL(`/bangumi/${c.bangumiId}`,e.origin);l=await(await fye(d.pathname)).json()}if(l.success&&l.bangumi&&l.bangumi.episodes){let d=l.bangumi.episodes;if(r){if(r==="movie")d=l.bangumi.episodes.filter(f=>c.typeDescription&&(c.typeDescription.includes("\u7535\u5F71")||c.typeDescription.includes("\u5267\u573A\u7248")||f.episodeTitle.toLowerCase().includes("movie")||f.episodeTitle.includes("\u5267\u573A\u7248")));else if(/^\d+$/.test(r)){let f=parseInt(r);d=l.bangumi.episodes.filter(h=>parseInt(h.episodeNumber)===f)}}d.length>0&&o.push(b$.fromJson({animeId:c.animeId,animeTitle:c.animeTitle,type:c.type,typeDescription:c.typeDescription,episodes:d.map(f=>({episodeId:f.episodeId,episodeTitle:f.episodeTitle}))}))}}return I("info",`[system] [Episodes] Found ${o.length} animes with filtered episodes`),tt({errorCode:0,success:!0,errorMessage:"",animes:o})}async function fye(e,t=null,r=null){let n=e.split("/").pop(),s=Qv(n,t,r)||Yv(n);return s?tt(hye(s,n)):(I("error",`[system] [Bangumi] Anime with ID ${n} not found`),tt({errorCode:404,success:!1,errorMessage:"Anime not found",bangumi:null},404))}function hye(e,t=""){I("info",`[system] [Bangumi] Fetched details for anime ID: ${t||e.bangumiId}`);let r=[];for(let s=0;s!F.episodeTitleFilter.test(s.episodeTitle)),I("info",`[system] [getBangumi] Episode filter enabled. Filtered episodes: ${r.length}/${e.links.length}`),r.length===0)return I("warn",`[system] [getBangumi] No valid episodes after filtering for anime ID ${t||e.bangumiId}`),{errorCode:404,success:!1,errorMessage:"No valid episodes after filtering",bangumi:null};r=r.map((s,i)=>({...s,episodeNumber:`${i+1}`}))}return{errorCode:0,success:!0,errorMessage:"",bangumi:I$.fromJson({animeId:e.animeId,bangumiId:e.bangumiId,animeTitle:e.animeTitle,imageUrl:e.imageUrl,isOnAir:!0,airDay:1,isFavorited:e.isFavorited,rating:e.rating,type:e.type,typeDescription:e.typeDescription,seasons:[{id:`season-${e.animeId}`,airDate:e.startDate,name:"Season 1",episodeCount:e.episodeCount}],episodes:r})}}async function hKr(e,t,r){let n=e.split(Kf),s=n.map(p=>{let m=p.indexOf(":");if(m===-1)return{realId:"",logicalSource:"",sourceLabel:""};let g=p.substring(0,m),_=p.substring(m+1);return g!=="hanjutv"?{realId:_,logicalSource:g,sourceLabel:g}:{realId:_,logicalSource:"hanjutv",sourceLabel:G9(_)}}),i=s.map(p=>p.logicalSource).filter(Boolean),a=s.map(p=>p.realId),o=s.map(p=>p.sourceLabel).filter(Boolean).join("\uFF06");I("info",`[Merge] \u5F00\u59CB\u83B7\u53D6 [${o}] \u805A\u5408\u5F39\u5E55...`);let c=bm(e);if(c)return I("info",`[Merge] \u547D\u4E2D\u7F13\u5B58 [${o}]\uFF0C\u8FD4\u56DE ${c.length} \u6761`),c;let u={},l=s.map(async p=>{let m=p.logicalSource,g=p.sourceLabel||p.logicalSource,_=p.realId;if(!m||!_)return[];let y=`${m}:${_}`;if(X9.has(y)){I("info",`[Merge] \u590D\u7528\u6B63\u5728\u8FDB\u884C\u7684\u8BF7\u6C42: ${y}`);try{return await X9.get(y)||[]}catch{return[]}}let E=Fe.run(bs(m),async()=>{let A=null;if(m==="renren"?A=LM:m==="hanjutv"?A=MM:m==="bahamut"?A=kM:m==="dandan"?A=BM:m==="tencent"?A=UA:m==="youku"?A=FA:m==="iqiyi"?A=$A:m==="imgo"?A=SS:m==="bilibili"?A=Gf:m==="migu"?A=qA:m==="sohu"?A=TS:m==="leshi"?A=bS:m==="xigua"?A=IS:m==="maiduidui"?A=RS:m==="aiyifan"?A=CS:m==="animeko"&&(A=UM),A)try{let v=await A.getEpisodeDanmu(_,n),T=A.formatComments(v);return I("info",`[${g}] \u83B7\u53D6\u5F39\u5E55 ${T.length} \u6761`),T&&Array.isArray(T)&&T.forEach(C=>{C._sourceLabel||(C._sourceLabel=g)}),u[g]=T.length,T}catch(v){return I("error",`[Merge] \u83B7\u53D6 ${g} \u5931\u8D25: ${v.message}`),u[g]=0,[]}return[]});X9.set(y,E);try{return await E}finally{X9.delete(y)}}),d=await Promise.all(l);if(STt(d,i,a),F.danmuOffsetRules?.length>0&&t&&r){let[,,p]=x$(r);if(p){let{baseTitle:m,season:g,episode:_}=gle(t,p);g||=1,_||=C$(r)+1;let y=`S${g.toString().padStart(2,"0")}`,E=`E${_.toString().padStart(2,"0")}`;for(let A=0;A ${i[A]} (${m}/${y}/${E})${T?.usePercent?`, duration=${x}s`:""}`),d[A]=Iue(v,C,{usePercent:T?.usePercent,videoDuration:x})}}}}let f=[];d.forEach(p=>{f=vTt(f,p)});let h=Object.entries(u).map(([p,m])=>`${p}: ${m}`).join(", ");return I("info",`[Merge] \u805A\u5408\u539F\u59CB\u6570\u636E\u5B8C\u6210: \u603B\u8BA1 ${f.length} \u6761 (${h})`),aP(f,o)}async function pye(e,t,r,n,s=!1){let i=parseInt(e.split("/").pop()),a=Sle(i),o=iP(i),c=vle(i),u=c?RA(c):null,l=Dbt(t,s);if(I("info","[system] [LogVar-API] comment url...",o),I("info","[system] [LogVar-API] comment title...",c),I("info","[system] [LogVar-API] comment platform...",u),!o)return I("error",`[system] [LogVar-API] Comment with ID ${i} not found`),tt({count:0,comments:[]},404);I("info",`[system] [LogVar-API] Fetched comment ID: ${i}`);let d=bm(o);if(d!==null){let E=J9({count:d.length,comments:d},l?await Z9(o):null);return zv(E,t)}I("info","[system] [LogVar-API] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u5F39\u5E55...",o);let f=[],h=l?Z9(o):null;if(o&&o.includes(Kf))f=await hKr(o,a,i);else{o.includes(".qq.com")?f=await Fe.run("tencent",()=>UA.getComments(o,u,r)):o.includes(".iqiyi.com")?f=await Fe.run("iqiyi",()=>$A.getComments(o,u,r)):o.includes(".mgtv.com")?f=await Fe.run("mango",()=>SS.getComments(o,u,r)):o.includes(".bilibili.com")||o.includes("b23.tv")?(o.includes("b23.tv")&&(o=await Fe.run("bilibili",()=>Gf.resolveB23Link(o))),f=await Fe.run("bilibili",()=>Gf.getComments(o,u,r))):o.includes(".youku.com")?f=await Fe.run("youku",()=>FA.getComments(o,u,r)):o.includes(".miguvideo.com")?f=await Fe.run("migu",()=>qA.getComments(o,u,r)):o.includes(".sohu.com")?f=await Fe.run("sohu",()=>TS.getComments(o,u,r)):o.includes(".le.com")?f=await Fe.run("leshi",()=>bS.getComments(o,u,r)):o.includes(".douyin.com")||o.includes(".ixigua.com")?f=await Fe.run("xigua",()=>IS.getComments(o,u,r)):o.includes(".mddcloud.com.cn")?f=await Fe.run("maiduidui",()=>RS.getComments(o,u,r)):o.includes(".yfsp.tv")&&(f=await Fe.run("aiyifan",()=>CS.getComments(o,u,r)));let E=/^(https?:\/\/)?([\w.-]+)\.([a-z]{2,})(\/.*)?$/i;E.test(o)||(u==="renren"?f=await Fe.run("renren",()=>LM.getComments(o,u,r)):u==="hanjutv"?f=await Fe.run("hanjutv",()=>MM.getComments(o,u,r)):u==="bahamut"?f=await Fe.run("bahamut",()=>kM.getComments(o,u,r)):u==="dandan"?f=await Fe.run("dandan",()=>BM.getComments(o,u,r)):u==="custom"?f=await Fe.run("custom",()=>nq.getComments(o,u,r)):u==="animeko"&&(f=await Fe.run("animeko",()=>UM.getComments(o,u,r)))),(!f||f.length===0)&&E.test(o)&&(f=await Fe.run("other",()=>uye.getComments(o,"other_server",r)))}let[p,m,g,_]=x$(i);if(p&&m){let E=null,A=null,v=null;if(n){let C=yle(n);C&&C.title&&C.season&&C.episode&&g&&(E=C.title,A=C.season,v=`${C.episode}:${g}`,I("info",`[system] [LogVar-API] Calculated episode offset for IP ${n}: Query E${C.episode}, Selected ${g} -> Offset ${v} (Season ${A})`))}I("info",`[system] [LogVar-API] animeTitle\uFF1A${a}; lastTitle\uFF1A${E}; titleMatches\uFF1A${$t(a,E)}`),($t(a,E)||Array.isArray(_)&&_.some(C=>$t(C,E)))&&(I("info","[system] [LogVar-API] excute setPreferByAnimeId"),ble(p,m,A,v)),F.localCacheValid&&p&&O$("lastSelectMap",JSON.stringify(Object.fromEntries(F.lastSelectMap))),F.redisValid&&p&&ule("lastSelectMap",F.lastSelectMap).catch(C=>I("error","[system] [LogVar-API] Redis set error",C)),F.localRedisValid&&p&&k9("lastSelectMap",F.lastSelectMap)}if(a&&g&&F.danmuOffsetRules?.length>0&&!(o&&o.includes(Kf))){let{baseTitle:E,season:A,episode:v}=gle(a,g);A||=1,v||=C$(i)+1;let T=`S${A.toString().padStart(2,"0")}`,C=`E${v.toString().padStart(2,"0")}`,b=bue(F.danmuOffsetRules,{anime:E,season:T,episode:C,source:m}),x=b?.offset||0;if(x!==0){let w=b?.usePercent?await dye(o):0;I("info",`[system] [LogVar-API] Applying danmu offset: ${x}${b?.usePercent?"%":"s"} for ${E}/${T}/${C}${b?.usePercent?`, duration=${w}s`:""}`),f=Iue(f,x,{usePercent:b?.usePercent,videoDuration:w})}}r||(f&&f.comments&&(f=f.comments),Array.isArray(f)||(f=[]),f.length>0&&sP(o,f));let y=J9({count:f.length,comments:f},h?await h:null);return zv(y,t)}async function mye(e,t,r,n=!1){try{if(!e||typeof e!="string")return I("error","[system] [LogVar-API] Missing or invalid url parameter"),tt({errorCode:400,success:!1,errorMessage:"Missing or invalid url parameter",count:0,comments:[]},400);if(e=e.trim(),!e.startsWith("http"))return I("error","[system] [LogVar-API] Invalid url format, must start with http or https"),tt({errorCode:400,success:!1,errorMessage:"Invalid url format, must start with http or https",count:0,comments:[]},400);I("info",`[system] [LogVar-API] Processing comment request for URL: ${e}`);let s=e,i=Dbt(t,n),a=bm(s);if(a!==null){let l=J9({errorCode:0,success:!0,errorMessage:"",count:a.length,comments:a},i?await Z9(s):null);return zv(l,t)}I("info","[system] [LogVar-API] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u5F39\u5E55...",s);let o=[],c=i?Z9(s):null;s.includes(".qq.com")?o=await Fe.run("tencent",()=>UA.getComments(s,"qq",r)):s.includes(".iqiyi.com")?o=await Fe.run("iqiyi",()=>$A.getComments(s,"qiyi",r)):s.includes(".mgtv.com")?o=await Fe.run("mango",()=>SS.getComments(s,"imgo",r)):s.includes(".bilibili.com")||s.includes("b23.tv")?(s.includes("b23.tv")&&(s=await Fe.run("bilibili",()=>Gf.resolveB23Link(s))),o=await Fe.run("bilibili",()=>Gf.getComments(s,"bilibili1",r))):s.includes(".youku.com")?o=await Fe.run("youku",()=>FA.getComments(s,"youku",r)):s.includes(".miguvideo.com")?o=await Fe.run("migu",()=>qA.getComments(s,"migu",r)):s.includes(".sohu.com")?o=await Fe.run("sohu",()=>TS.getComments(s,"sohu",r)):s.includes(".le.com")?o=await Fe.run("leshi",()=>bS.getComments(s,"leshi",r)):s.includes(".douyin.com")||s.includes(".ixigua.com")?o=await Fe.run("xigua",()=>IS.getComments(s,"xigua",r)):s.includes(".mddcloud.com.cn")?o=await Fe.run("maiduidui",()=>RS.getComments(s,"maiduidui",r)):s.includes(".yfsp.tv")?o=await Fe.run("aiyifan",()=>CS.getComments(s,"aiyifan",r)):/^(https?:\/\/)?([\w.-]+)\.([a-z]{2,})(\/.*)?$/i.test(s)&&(o=await Fe.run("other",()=>uye.getComments(s,"other_server",r))),I("info",`[system] [LogVar-API] Successfully fetched ${o.length} comments from URL`),o.length>0&&sP(s,o);let u=J9({errorCode:0,success:!0,errorMessage:"",count:o.length,comments:o},c?await c:null);return zv(u,t)}catch(s){return I("error",`[system] [LogVar-API] Failed to process comment by URL request: ${s.message}`),tt({errorCode:500,success:!1,errorMessage:"Internal server error",count:0,comments:[]},500)}}async function Ubt(e,t){try{let r=e.url,n=e.type;if(!r||typeof r!="string")return I("error","[system] [SegmentComment] Missing or invalid url parameter"),tt({errorCode:400,success:!1,errorMessage:"Missing or invalid url parameter",count:0,comments:[]},400);r=r.trim(),I("info",`[system] [SegmentComment] Processing segment comment request for URL: ${r}`);let s=bm(r);if(s!==null){let o={errorCode:0,success:!0,errorMessage:"",count:s.length,comments:s};return zv(o,t)}I("info",`[system] [SegmentComment] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u5206\u6BB5\u5F39\u5E55... URL: ${r}`);let i=[];n==="qq"?i=await Fe.run("tencent",()=>UA.getSegmentComments(e)):n==="qiyi"?i=await Fe.run("iqiyi",()=>$A.getSegmentComments(e)):n==="imgo"?i=await Fe.run("mango",()=>SS.getSegmentComments(e)):n==="bilibili1"?i=await Fe.run("bilibili",()=>Gf.getSegmentComments(e)):n==="youku"?i=await Fe.run("youku",()=>FA.getSegmentComments(e)):n==="migu"?i=await Fe.run("migu",()=>qA.getSegmentComments(e)):n==="sohu"?i=await Fe.run("sohu",()=>TS.getSegmentComments(e)):n==="leshi"?i=await Fe.run("leshi",()=>bS.getSegmentComments(e)):n==="xigua"?i=await Fe.run("xigua",()=>IS.getSegmentComments(e)):n==="maiduidui"?i=await Fe.run("maiduidui",()=>RS.getSegmentComments(e)):n==="aiyifan"?i=await Fe.run("aiyifan",()=>CS.getSegmentComments(e)):n==="hanjutv"?i=await Fe.run("hanjutv",()=>MM.getSegmentComments(e)):n==="bahamut"?i=await Fe.run("bahamut",()=>kM.getSegmentComments(e)):n==="renren"?i=await Fe.run("renren",()=>LM.getSegmentComments(e)):n==="dandan"?i=await Fe.run("dandan",()=>BM.getSegmentComments(e)):n==="animeko"?i=await Fe.run("animeko",()=>UM.getSegmentComments(e)):n==="custom"?i=await Fe.run("custom",()=>nq.getSegmentComments(e)):n==="other_server"&&(i=await Fe.run("other",()=>uye.getSegmentComments(e))),I("info",`[system] [SegmentComment] Successfully fetched ${i.length} segment comments from URL`),i.length>0&&sP(r,i);let a={errorCode:0,success:!0,errorMessage:"",count:i.length,comments:i};return zv(a,t)}catch(r){return I("error",`[system] [SegmentComment] Failed to process segment comment request: ${r.message}`),tt({errorCode:500,success:!1,errorMessage:"Internal server error",count:0,comments:[]},500)}}var wbt,Nbt,LM,MM,kM,BM,nq,UA,FA,$A,SS,Gf,qA,TS,bS,IS,RS,CS,UM,uye,lye,Obt,X9,gye=oe(()=>{Gt();Lr();Ht();Ou();y$();lM();Ws();NA();Rue();Es();GR();TTt();zEe();P$();HTt();VTt();ebt();tbt();rbt();sbt();XEe();ibt();abt();JEe();ZEe();eye();tye();hbt();rye();pbt();gbt();Abt();ybt();bbt();Ibt();Rbt();Pi();wbt=new pM,Nbt=new mM,LM=new yM,MM=new vM,kM=new gS,BM=new SM,nq=new TM,UA=new _S,FA=new vS,$A=new AS,SS=new ES,Gf=new yS,qA=new fbt,TS=new CM,bS=new xM,IS=new _bt,RS=new Ebt,CS=new NM,UM=new DM,uye=new PM,lye=new _M(UA,$A,FA,Gf,qA),Obt=new gM(lye),X9=new Map});function sq(e){let t=String(e||"").trim();if(!t)return"";if(F.animeTitleSimplified)try{t=mr(t)}catch{}return _n(t.toLowerCase())}function Fbt(e){let t=String(e||"").replace(/\D/g,"");return t.length>=8?t.slice(0,8):""}function AKr(e){let t=String(e||"");return pKr.forEach(([r,n])=>{t=t.replace(r,n)}),t}function qbt(e){let t=String(e||"");return mKr.forEach(([n,s],i)=>{t=t.replace(n,s)}),t.replace(/\s+/g," ").trim()}function $bt(e){if(!e)return null;let t=String(e);for(let{pattern:s,group:i,chinese:a}of gKr){let o=t.match(s);if(o&&o[i]!==void 0){let c=o[i];if(a){let u=Ah(c);if(u!==null&&!isNaN(u))return u}else{let u=parseInt(c,10);if(!isNaN(u)&&u>0&&u<1e4)return u}}}for(let{pattern:s,type:i}of _Kr){let a=t.match(s);if(a){if(i==="ymd"){let o=parseInt(a[1],10),c=parseInt(a[2],10),u=parseInt(a[3],10);if(o>=2e3&&o<=2099&&c>=1&&c<=12&&u>=1&&u<=31)return o*1e4+c*100+u}else if(i==="ymd_compact"){let o=parseInt(a[1],10),c=parseInt(a[2],10),u=parseInt(a[3],10);if(o>=2e3&&o<=2099&&c>=1&&c<=12&&u>=1&&u<=31)return o*1e4+c*100+u}}}let r=qbt(e),n=Tm(r);return n!==null?n:null}function EKr(e){let t=String(e||"").trim();if(!t)return[];let r=[],n=a=>{let o=_n(String(a||"").trim());!o||r.includes(o)||r.push(o)};n(t);let s=_n(AKr(t)).trim();s&&s!==t&&n(s);let i=_n(t.replace(/[\(\[(【].*$/,"")).trim();return i&&i!==t&&n(i),r.sort((a,o)=>a.length-o.length)}function yKr(e){let t=new URL(e.url),r=t.pathname.replace(/\/+$/,""),n="/api/v2/",s="/danmaku",i="",a=r.indexOf(n);if(a>=0)i=r.slice(0,a);else{let o=r.indexOf(s);o>=0?i=r.slice(0,o):i=r}return`${t.origin}${i}`}async function vKr(e,t){if(t.method==="GET")return{name:e.searchParams.get("name")||"",episode:e.searchParams.get("episode")||""};try{let r=t.clone(),n=(r.headers.get("content-type")||"").toLowerCase();if(n.includes("application/json")){let i=await r.json();return{name:i?.name||"",episode:i?.episode||""}}if(n.includes("application/x-www-form-urlencoded")||n.includes("multipart/form-data")){let i=await r.formData();return{name:i.get("name")||"",episode:i.get("episode")||""}}let s=await r.text();if(s)try{let i=JSON.parse(s);return{name:i?.name||"",episode:i?.episode||""}}catch{let a=new URLSearchParams(s);return{name:a.get("name")||"",episode:a.get("episode")||""}}}catch(r){I("warn",`[system] [Fongmi] \u89E3\u6790\u8BF7\u6C42\u53C2\u6570\u5931\u8D25: ${r.message}`)}return{name:"",episode:""}}function SKr(e,t,r,n){let s=Math.max(0,200-n),i=qbt(r),a=sq(i);if(!a)return s;let o=t?.episodeTitle||"",c=sq(o),u=sq(RA(o)),l=sq(e?.animeTitle||"");(c===a||u===a)&&(s+=1e4),(c.includes(a)||a.includes(c))&&(s+=4500),u&&(u.includes(a)||a.includes(u))&&(s+=2500);let d=$bt(i),f=$bt(o),h=parseInt(t?.episodeNumber||`${n+1}`,10);d!==null&&f!==null&&d===f&&(s+=7e3),d!==null&&Number.isFinite(h)&&d===h&&(s+=4e3);let p=Fbt(i),m=Fbt(o);return p&&m&&p===m&&(s+=9e3),p&&a.includes(p)&&(s+=800),l.includes("\u7EFC\u827A")&&p&&m&&(s+=1200),l.includes("\u7EFC\u827A")&&p&&!m&&d===null&&(s-=1500),s}function TKr(e,t,r){let n=[];for(let s of e){let i=wS(s,t);if(!i?.success||!i?.bangumi?.episodes?.length)continue;let a=i.bangumi.episodes;F.enableAnimeEpisodeFilter&&(a=a.filter(o=>!F.episodeTitleFilter.test(o.episodeTitle))),a=xS(a),a.forEach((o,c)=>{let u=`${r}/api/v2/comment/${encodeURIComponent(o.episodeId)}?format=xml`;n.push({anime:s,episode:o,index:c,commentUrl:u})})}return n}async function _ye(e,t){let{name:r,episode:n}=await vKr(e,t);if(!r)return tt([],200);if(F.titleMappingTable&&F.titleMappingTable.size>0){let f=F.titleMappingTable.get(r);f&&(I("info",`[system] [Fongmi] Title mapped from original: ${r} to: ${f}`),r=f)}let s=new URL(e.toString()),i=new Map,a=EKr(r),o=[];for(let f of a){s.searchParams.set("keyword",f);let p=await(await WR(s,null,null,i)).json();if(o=Array.isArray(p?.animes)?p.animes:[],o.length){f!==r&&I("info",`[system] [Fongmi] Search fallback hit: raw=${r}, keyword=${f}, episode=${n}`);break}}if(!o.length)return I("info",`[system] [Fongmi] No danmaku candidates for name=${r}, episode=${n}`),tt([],200);let c=yKr(t),u=TKr(o,i,c).map(f=>({...f,score:SKr(f.anime,f.episode,n,f.index)})).sort((f,h)=>h.score-f.score),l=new Set,d=[];for(let f of u)if(!(!f?.commentUrl||l.has(f.commentUrl))&&(l.add(f.commentUrl),d.push({name:`${f.anime.animeTitle} - ${f.episode.episodeTitle}`,url:f.commentUrl}),d.length>=1e3))break;return I("info",`[system] [Fongmi] name=${r}, episode=${n}, candidates=${d.length}`),tt(d,200)}var pKr,mKr,gKr,_Kr,Hbt=oe(()=>{Gt();Lr();Ht();Ou();Es();gye();pKr=[[/[\(\[(【]\s*(19|20)\d{2}\s*[\)\])】]/g," "],[/\b(19|20)\d{2}\b/g," "],[/\b(?:2160p|1080p|720p|4k|web-?dl|web-?rip|blu-?ray|hdr|dv|x265|x264|h\.?265|h\.?264|60fps)\b/gi," "],[/[_.-]+/g," "]],mKr=[[/\[[^\]]*\]/g," "],[/[【((][^】))]*[】))]/g," "],[/\.(mp4|mkv|avi|rmvb|ts|flv|mov|m4v)$/gi," "],[/\b(?:2160p|1080p|720p|4k|web-?dl|web-?rip|blu-?ray|hdr|dv|x265|x264|h\.?265|h\.?264|60fps|aac|flac|dts)\b/gi," "],[/[_~.-]+/g," "]],gKr=[{pattern:/[Ss]\d{1,2}\s*[Ee](\d{1,4})/,group:1},{pattern:/第\s*([零一二三四五六七八九十百零〇两\d]+)\s*[集期话章回段篇]/,group:1,chinese:!0},{pattern:/[Ee][Pp]?\.?\s*(\d{1,4})/,group:1},{pattern:/[Ee](\d{1,4})(?:\s|$|\.)/,group:1},{pattern:/Episode\s*(\d{1,4})/i,group:1},{pattern:/(?:正在)?播放[::]\s*(\d{1,4})/,group:1},{pattern:/(?:第\s*)?[零一二三四五六七八九十百\d]+\s*季\s*[||]\s*(\d{1,4})/,group:1},{pattern:/[\[【\((](\d{1,4})[\]】\))]/,group:1},{pattern:/@@@(\d{1,4})/,group:1},{pattern:/(?:^|[\s_\-])(\d{1,4})x(?:[\s_\-]|$)/i,group:1},{pattern:/\s(\d{1,4})\.(?:mp4|mkv|avi|mov|mp3|1080|720|4k|2k)/i,group:1},{pattern:/[_\-](\d{1,4})(?:\s|$|\.)/,group:1},{pattern:/\s(\d{1,4})\s/,group:1},{pattern:/\s(\d{1,4})$/,group:1},{pattern:/^(\d{1,4})\s/,group:1},{pattern:/(\d{1,4})(?:\s|$)$/,group:1}],_Kr=[{pattern:/(\d{4})[.\-\/年](\d{1,2})[.\-\/月](\d{1,2})/,type:"ymd"},{pattern:/(\d{4})(\d{2})(\d{2})/,type:"ymd_compact"}]});var Vbt,jbt=oe(()=>{Vbt=` +/* \u57FA\u7840\u6837\u5F0F */ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; + background: linear-gradient(135deg, #a0b9e8ff 0%, #e39db4ff 100%); + min-height: 100vh; + padding: 5px; +} + +.container { + max-width: 1200px; + margin: 0 auto; + background: white; + border-radius: 12px; + box-shadow: 0 20px 60px rgba(0,0,0,0.3); + overflow: hidden; +} + +.header { + background: linear-gradient(135deg, #1a2980 0%, #26d0ce 100%); + color: white; + padding: 15px; + display: flex; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; + gap: 15px; +} + +.header-left { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 15px; + flex-wrap: wrap; +} + +.logo-title-container { + display: flex; + align-items: center; + gap: 15px; +} + +.logo { + width: 50px; + height: 50px; + background: white; + border-radius: 12px; + display: flex; + align-items: center; + justify-content: center; + font-size: 28px; + box-shadow: 0 4px 12px rgba(0,0,0,0.2); + overflow: hidden; /* \u5173\u952E\uFF1A\u9632\u6B62\u6EA2\u51FA */ +} + +.logo img { + width: 100%; /* \u6216 90% \u7559\u70B9\u5185\u8FB9\u8DDD\u66F4\u597D\u770B */ + height: 100%; + object-fit: cover; /* \u56FE\u7247\u4F1A\u88AB\u88C1\u526A\u6210\u6B63\u65B9\u5F62\uFF0C\u5145\u6EE1\u5BB9\u5668 */ + /* object-fit: contain; /* \u5982\u679C\u60F3\u5B8C\u6574\u663E\u793A\u56FE\u7247\uFF08\u4F1A\u7559\u767D\uFF09\u5C31\u7528\u8FD9\u4E2A */ + border-radius: 12px; /* \u8BA9\u56FE\u7247\u4E5F\u8DDF\u968F\u5706\u89D2 */ +} + +.header h1 { + font-size: 24px; + margin: 0; +} + +.version-info { + display: flex; + align-items: center; + gap: 10px; + font-size: 13px; + opacity: 0.95; +} + +.version-badge { + background: rgba(255,255,255,0.2); + padding: 3px 10px; + border-radius: 12px; + font-weight: 500; +} + +.update-badge { + background: #ffd700; + color: #333; + padding: 3px 10px; + border-radius: 12px; + font-weight: 500; + animation: pulse 2s infinite; + cursor: pointer; +} + +@keyframes pulse { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.7; } +} + +.content { + padding: 15px; +} + +.section { + display: none; +} + +.section.active { + display: block; + animation: fadeIn 0.3s; +} + +@keyframes fadeIn { + from { opacity: 0; transform: translateY(10px); } + to { opacity: 1; transform: translateY(0); } +} + +/* footer \u6837\u5F0F */ +.footer { + padding: 20px; + background: transparent; + text-align: center; + font-size: 14px; +} + +/* footer \u6587\u5B57\u6837\u5F0F */ +.footer-text { + color: #ffeb3b; + margin: 10px 0; +} + +/* footer \u94FE\u63A5\u6837\u5F0F */ +.footer-links { + margin: 10px 0; +} + +.footer-link { + margin: 0 10px; + text-decoration: none; + color: #ffc107; +} + +.footer-link:hover { + color: #ffeb3b; /* \u53EF\u9009\uFF0C\u589E\u52A0 hover \u6548\u679C */ +} + +/* GitHub \u94FE\u63A5\u7279\u5B9A\u6837\u5F0F */ +.github-link { + display: inline-flex; + align-items: center; +} + +.github-icon { + width: 14px; + vertical-align: middle; + margin-right: 5px; +} +`});var Kbt,Gbt=oe(()=>{Kbt=` +/* \u7EC4\u4EF6\u6837\u5F0F */ +.nav-buttons { + display: flex; + gap: 10px; + flex-wrap: wrap; +} + +.nav-btn { + padding: 8px 16px; + background: rgba(255,255,255,0.2); + border: 1px solid rgba(255,255,255,0.3); + color: white; + border-radius: 6px; + cursor: pointer; + transition: all 0.3s; + font-size: 14px; +} + +.nav-btn:hover { + background: rgba(255,255,255,0.3); +} + +.nav-btn.active { + background: white; + color: #1a2980; + font-weight: bold; +} + +/* \u73AF\u5883\u53D8\u91CF\u6837\u5F0F */ +.env-categories { + display: flex; + gap: 10px; + margin-bottom: 20px; + flex-wrap: wrap; +} + +.category-btn { + padding: 10px 20px; + background: #f0f0f0; + border: 2px solid transparent; + border-radius: 6px; + cursor: pointer; + transition: all 0.3s; +} + +.category-btn.active { + background: #667eea; + color: white; + border-color: #667eea; +} + +.env-list { + margin-bottom: 20px; +} + +.env-item { + background: #f8f9fa; + padding: 15px; + margin-bottom: 10px; + border-radius: 8px; + display: flex; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; + gap: 10px; +} + +.env-item .env-info { + flex: 1; + min-width: 200px; + word-break: break-word; + overflow-wrap: break-word; + word-wrap: break-word; +} + +.env-item .env-info strong { + color: #667eea; + display: block; + margin-bottom: 5px; + word-break: break-all; +} + +.env-item .env-info > div.text-dark-gray { + word-break: break-all; + white-space: normal; + background-color: #f1f3f5; + padding: 8px; + border-radius: 4px; + font-family: monospace; + margin-bottom: 5px; +} + +.env-item .env-info span { + word-break: break-all; + white-space: normal; +} + +.env-item .env-actions { + display: flex; + gap: 8px; + flex-shrink: 0; +} + +.env-info { + flex: 1; + min-width: 200px; +} + +.env-info strong { + color: #667eea; + display: block; + margin-bottom: 5px; +} + +.env-actions { + display: flex; + gap: 8px; +} + +/* \u6309\u94AE\u6837\u5F0F */ +.btn { + padding: 8px 16px; + border: none; + border-radius: 6px; + cursor: pointer; + font-size: 14px; + transition: all 0.3s; +} + +.btn-primary { + background: #667eea; + color: white; +} + +.btn-primary:hover { + background: #5568d3; +} + +.btn-success { + background: #28a745; + color: white; + position: relative; + overflow: hidden; +} + +.btn-success:hover { + background: #218838; +} + +.btn-success::before { + content: ''; + position: absolute; + top: 50%; + left: 50%; + width: 0; + height: 0; + border-radius: 50%; + background: rgba(255,255,255,0.3); + transform: translate(-50%, -50%); + transition: width 0.6s, height 0.6s; +} + +.btn-success:active::before { + width: 300px; + height: 300px; +} + +.btn-danger { + background: #dc3545; + color: white; +} + +.btn-danger:hover { + background: #c82333; +} + +/* \u9884\u89C8\u533A\u57DF */ +.preview-area { + background: #f8f9fa; + padding: 20px; + border-radius: 8px; + margin-top: 20px; +} + +.preview-item { + padding: 10px; + background: white; + margin-bottom: 8px; + border-radius: 6px; + border-left: 4px solid #667eea; + word-break: break-word; + overflow-wrap: break-word; + word-wrap: break-word; +} + +.preview-item .preview-item-content { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 5px; +} + +.preview-item .preview-key { + font-weight: bold; + color: #67eea; + align-self: flex-start; +} + +.preview-item .preview-value { + word-break: break-all; + white-space: normal; + width: 100%; + background-color: #f8f9fa; + padding: 8px; + border-radius: 4px; + font-family: monospace; + color: #333; /* \u66F4\u9ED1\u7684\u5B57\u4F53\u989C\u8272 */ + font-weight: bold; /* \u52A0\u7C97\u663E\u793A */ +} + +/* \u65E5\u5FD7\u6837\u5F0F */ +.log-controls { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 15px; + flex-wrap: wrap; + gap: 10px; +} + +@keyframes pulse { + 0% { box-shadow: 0 0 0 0 rgba(40, 167, 69, 0.5); } + 70% { box-shadow: 0 0 0 10px rgba(40, 167, 69, 0); } + 100% { box-shadow: 0 0 0 0 rgba(40, 167, 69, 0); } +} + +.log-container { + background: #1e1e1e; + color: #d4d4d4; + padding: 15px; + border-radius: 8px; + max-height: 500px; + overflow-y: auto; + font-family: 'Courier New', monospace; + font-size: 13px; + line-height: 1.6; +} + +.log-entry { + margin-bottom: 8px; + padding: 5px; + border-radius: 4px; +} + +.log-entry.info { color: #4fc3f7; } +.log-entry.warn { color: #ffb74d; } +.log-entry.error { color: #e57373; } +.log-entry.success { color: #81c784; } + + + +/* \u65E5\u5FD7\u8FC7\u6EE4\u4EA4\u4E92\u9762\u677F\u53CA\u6807\u7B7E\u6837\u5F0F */ +.log-filters-container { + display: flex; + flex-wrap: wrap; + gap: 8px; + margin-bottom: 10px; +} + +.filter-btn { + background: transparent; + color: #888; + border: 1px solid #555; + padding: 4px 14px; + border-radius: 20px; + font-size: 12px; + cursor: pointer; + transition: all 0.3s; + text-transform: capitalize; +} + +.filter-btn:hover { + border-color: #999; + background: rgba(255, 255, 255, 0.05); +} + +.filter-btn.active { + background: rgba(191, 161, 255, 0.1); + color: #bfa1ff; + border-color: #bfa1ff; + text-shadow: 0.3px 0 0 currentColor, -0.3px 0 0 currentColor; +} + +.log-tag { + color: #bfa1ff; + font-weight: bold; + margin-right: 4px; + display: inline-block; +} + +.log-entry.error .log-tag { + color: #ffb74d; +} + + + +/* \u8868\u5355\u5E2E\u52A9\u6587\u672C */ +.form-help { + font-size: 12px; + color: #666; + margin-top: 5px; + font-style: italic; +} + +/* API\u8C03\u8BD5\u6837\u5F0F */ +.api-selector { + margin-bottom: 20px; +} + +.api-params { + background: #f8f9fa; + padding: 20px; + border-radius: 8px; + margin-bottom: 20px; +} + +.api-response { + background: #1e1e1e; + color: #d4d4d4; + padding: 15px; + border-radius: 8px; + max-height: 400px; + overflow-y: auto; + font-family: 'Courier New', monospace; + font-size: 13px; + white-space: pre-wrap; +} + +/* XML\u54CD\u5E94\u6837\u5F0F */ +.api-response.xml { + color: #88ccff; +} + +/* JSON\u9AD8\u4EAE\u6837\u5F0F */ +.json-response { + background: #1e1e1e; + color: #d4d4d4; + padding: 15px; + border-radius: 8px; + max-height: 400px; + overflow-y: auto; + font-family: 'Courier New', monospace; + font-size: 13px; + white-space: pre-wrap; +} + +.json-response .key { + color: #9cdcfe; +} + +.json-response .string { + color: #ce9178; +} + +.json-response .number { + color: #b5cea8; +} + +.json-response .boolean { + color: #569cd6; +} + +.json-response .null { + color: #569cd6; +} + +.json-response .undefined { + color: #569cd6; +} + +.error-response { + background: #1e1e1e; + color: #d4d4d4; + padding: 15px; + border-radius: 8px; + max-height: 400px; + overflow-y: auto; + font-family: 'Courier New', monospace; + font-size: 13px; + white-space: pre-wrap; + border-left: 4px solid #dc3545; +} + +/* \u6A21\u6001\u6846 */ +.modal { + display: none; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0,0,0,0.5); + z-index: 1000; + padding: 20px; + overflow-y: auto; +} + +.modal.active { + display: flex; + justify-content: center; + align-items: center; +} + +.modal-content { + background: white; + padding: 30px; + border-radius: 12px; + max-width: 600px; + width: 100%; + max-height: calc(100vh - 40px); + overflow-y: auto; + box-shadow: 0 10px 40px rgba(0,0,0,0.3); + position: relative; + top: 0; + left: 0; +} + +.modal-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 25px; + padding-bottom: 15px; + border-bottom: 1px solid #eee; +} + +.modal-header h3 { + color: #667eea; + margin: 0; +} + +.modal-body { + margin-bottom: 25px; +} + +.modal-footer { + display: flex; + justify-content: flex-end; + gap: 10px; + padding-top: 15px; + border-top: 1px solid #eee; +} + +.confirmation-list { + padding-left: 20px; + margin: 0; + list-style: none; +} + +.confirmation-list li { + position: relative; + padding-left: 10px; + margin: 8px 0; +} + +.confirmation-list li::before { + content: "\u2022"; + position: absolute; + left: 0; + color: #667eea; + font-size: 16px; +} + +.warning-box { + background: #fff3cd; + border-left: 4px solid #ffc107; + padding: 15px; + border-radius: 6px; + margin-top: 15px; + margin-bottom: 20px; +} + +.modal-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 25px; + padding-bottom: 15px; + border-bottom: 1px solid #eee; +} + +.modal-header h3 { + color: #667eea; + margin: 0; +} + +.close-btn { + background: none; + border: none; + font-size: 24px; + cursor: pointer; + color: #999; +} + +.close-btn:hover { + color: #333; +} + +/* \u503C\u7C7B\u578B\u6807\u8BC6 */ +.value-type-badge { + display: inline-block; + padding: 2px 8px; + background: #667eea; + color: white; + border-radius: 12px; + font-size: 11px; + margin-left: 8px; +} + +/* \u786E\u8BA4\u6A21\u6001\u6846\u6837\u5F0F */ +.confirmation-list { + padding-left: 20px; + margin: 0; + list-style: none; +} + +.confirmation-list li { + position: relative; + padding-left: 10px; + margin: 8px 0; +} + +.confirmation-list li::before { + content: "\u2022"; + position: absolute; + left: 0; + color: #667eea; + font-size: 16px; +} + +.warning-box { + background: #fff3cd; + border-left: 4px solid #ffc107; + padding: 15px; + border-radius: 6px; + margin-top: 15px; + margin-bottom: 20px; +} + +.modal-footer { + display: flex; + justify-content: flex-end; + gap: 10px; + margin-top: 25px; + padding-top: 15px; + border-top: 1px solid #eee; +} + +.value-type-badge.multi { + background: #ff6b6b; +} + +.value-type-badge.map { + background: #9b59b6; +} + +/* \u8FDB\u5EA6\u6761 */ +.progress-container { + position: fixed; + top: 0; + left: 0; + right: 0; + height: 4px; + background: rgba(0,0,0,0.1); + z-index: 9999; + display: none; +} + +.progress-container.active { + display: block; +} + +.progress-bar { + height: 100%; + background: linear-gradient(90deg, #667eea, #764ba2); + width: 0; + transition: width 0.3s; + box-shadow: 0 0 10px rgba(102, 126, 234, 0.5); +} + +/* \u52A0\u8F7D\u63D0\u793A */ +.loading-overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0,0,0,0.7); + display: none; + justify-content: center; + align-items: center; + z-index: 9998; +} + +.loading-overlay.active { + display: flex; +} + +.loading-content { + background: white; + padding: 40px; + border-radius: 12px; + text-align: center; + box-shadow: 0 20px 60px rgba(0,0,0,0.3); + max-width: 400px; +} + +.loading-spinner { + width: 60px; + height: 60px; + border: 5px solid #f3f3f3; + border-top: 5px solid #667eea; + border-radius: 50%; + animation: spin 1s linear infinite; + margin: 0 auto 20px; +} + +.loading-spinner-small { + display: inline-block; + width: 14px; + height: 14px; + border: 2px solid #ffffff; + border-top: 2px solid #667eea; + border-radius: 50%; + animation: spin 1s linear infinite; + margin-right: 8px; + vertical-align: middle; +} + +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} + +.loading-text { + font-size: 18px; + color: #333; + font-weight: 500; + margin-bottom: 10px; +} + +.loading-detail { + font-size: 14px; + color: #666; +} + +/* \u901A\u7528\u5185\u8054\u6837\u5F0F\u7C7B */ +.text-center { + text-align: center; +} + +.text-gray { + color: #bbb; /* \u66F4\u6DE1\u7684\u5B57\u4F53\u989C\u8272 */ +} + +.text-red { + color: #e74c3c; +} + +.text-dark-gray { + color: #333; /* \u66F4\u9ED1\u7684\u5B57\u4F53\u989C\u8272 */ + font-weight: bold; /* \u52A0\u7C97\u663E\u793A */ +} + +.text-purple { + color: #67eea; +} + +.text-yellow-gold { + color: #ffd700; +} + +.padding-20 { + padding: 20px; +} + +.margin-bottom-10 { + margin-bottom: 10px; +} + +.margin-top-3 { + margin-top: 3px; +} + +.margin-top-15 { + margin-top: 15px; +} + +.font-size-12 { + font-size: 12px; +} + +.margin-bottom-15 { + margin-bottom: 15px; +} + +.text-monospace { + font-family: monospace; +} + +/* \u63A8\u9001\u5F39\u5E55\u76F8\u5173\u6837\u5F0F */ +.anime-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); + gap: 10px; + margin-top: 15px; +} + +.anime-item { + border: 1px solid #ddd; + border-radius: 8px; + padding: 8px; + text-align: center; + cursor: pointer; +} + +.anime-item-img { + width: 100%; + height: 150px; + object-fit: cover; + border-radius: 4px; +} + +.anime-title { + margin: 8px 0 5px; + font-size: 12px; + word-break: normal; /* \u4FDD\u6301\u6B63\u5E38\u7684\u5355\u8BCD\u6362\u884C\u89C4\u5219\uFF0C\u4F18\u5148\u5728\u7A7A\u683C\u5904\u65AD\u53E5\u4EE5\u4FDD\u8BC1\u53EF\u8BFB\u6027 */ + overflow-wrap: break-word; /* \u5F53\u957F\u5B57\u7B26\u4E32\uFF08\u5982\u591A\u6E90\u5408\u5E76\u540E\u7F00\uFF09\u8D85\u51FA\u5BB9\u5668\u65F6\uFF0C\u5141\u8BB8\u5728\u5176\u5185\u90E8\u5F3A\u5236\u6362\u884C */ + display: -webkit-box; /* \u542F\u7528 WebKit \u7279\u6709\u7684\u5F39\u6027\u4F38\u7F29\u76D2\u6A21\u578B */ + -webkit-line-clamp: 5; /* \u9650\u5236\u6587\u672C\u5757\u6700\u591A\u663E\u793A\u7684\u884C\u6570\u4E3A5\u884C */ + -webkit-box-orient: vertical; /* \u8BBE\u7F6E\u5F39\u6027\u76D2\u5B50\u7684\u5B50\u5143\u7D20\u5782\u76F4\u6392\u5217 */ + overflow: hidden; /* \u9690\u85CF\u8D85\u51FA\u5BB9\u5668\u8BBE\u5B9A\u9AD8\u5EA6\u8303\u56F4\u7684\u6587\u672C\u5185\u5BB9 */ + text-overflow: ellipsis; /* \u6587\u672C\u6EA2\u51FA\u65F6\u4F7F\u7528\u7701\u7565\u53F7(...)\u8FDB\u884C\u622A\u65AD\u5C55\u793A */ +} + +.episode-list-container { + max-height: 400px; + overflow-y: auto; +} + +.episode-item { + padding: 10px; + border-bottom: 1px solid #eee; +} + +.episode-item-content { + display: inline-block; + width: calc(100% - 100px); + vertical-align: middle; +} + +.episode-push-btn { + width: 80px; + display: inline-block; + margin-left: 10px; +} + +/* Bilibili Cookie \u7F16\u8F91\u5668\u6837\u5F0F */ +.bili-cookie-editor { + display: flex; + flex-direction: column; + gap: 15px; +} + +.bili-cookie-status { + background: #f8f9fa; + padding: 12px; + border-radius: 6px; + display: flex; + align-items: center; + gap: 10px; + border-left: 4px solid #667eea; +} + +.bili-status-icon { + font-size: 18px; +} + +.bili-status-text { + flex: 1; + font-weight: 500; +} + +.bili-cookie-actions { + display: flex; + gap: 10px; +} + +.btn-sm { + padding: 6px 12px; + font-size: 13px; +} + +/* \u79FB\u52A8\u7AEF\u9002\u914D */ +@media (max-width: 768px) { + .bili-cookie-actions { + flex-direction: column; + } + + .bili-cookie-actions .btn { + width: 100%; + } +} + +/* \u591A\u9009\u6807\u7B7E\u4E0E\u5408\u5E76\u6A21\u5F0F\u76F8\u5173\u6837\u5F0F */ +.selected-tag { + display: inline-flex; + align-items: center; + gap: 8px; + background: #667eea; + color: white; + padding: 8px 12px; + border-radius: 20px; + cursor: move; + user-select: none; + transition: all 0.3s; + box-shadow: 0 2px 4px rgba(0,0,0,0.1); + + max-width: 100%; + height: auto; + white-space: normal; + word-break: break-all; + line-height: 1.4; +} + +.merge-mode-controls { + display: flex; + align-items: center; + gap: 10px; + margin: 10px 0; +} + +.merge-mode-btn { + padding: 6px 12px; + background: #f8f9fa; + border: 1px solid #ddd; + border-radius: 20px; + cursor: pointer; + font-size: 13px; + display: flex; + align-items: center; + gap: 5px; + transition: all 0.3s; + color: #666; +} + +.merge-mode-btn.active { + background: #e3f2fd; + border-color: #2196f3; + color: #2196f3; + font-weight: 500; +} + +.staging-area { + display: none; + background: #e3f2fd; + border: 2px dashed #90caf9; + border-radius: 8px; + padding: 10px; + margin-bottom: 15px; + flex-wrap: wrap; + gap: 8px; + align-items: center; + min-height: 52px; + position: relative; + transition: all 0.3s; +} + +.staging-area.active { + display: flex; + animation: slideDown 0.3s; +} + +@keyframes slideDown { + from { opacity: 0; transform: translateY(-10px); } + to { opacity: 1; transform: translateY(0); } +} + +.staging-area::before { + content: '\u5408\u5E76\u7EC4\u6682\u5B58\u533A:'; + color: #1976d2; + font-size: 12px; + font-weight: bold; + margin-right: 5px; +} + +.staging-tag { + background: white; + color: #1976d2; + border: 1px solid #bbdefb; + padding: 4px 10px; + border-radius: 15px; + font-size: 13px; + display: flex; + align-items: center; + gap: 5px; + cursor: move; + user-select: none; + max-width: 100%; + word-break: break-all; +} + +.staging-tag.drag-over { + background: #bbdefb; + border-color: #2196f3; + transform: scale(1.05); +} + +.staging-tag.dragging { + opacity: 0.5; + transform: scale(0.95); + background: #e3f2fd; +} + +.staging-tag .remove-btn { + color: #ef5350; + cursor: pointer; + font-weight: bold; + font-size: 14px; +} + +.staging-separator { + color: #999; + font-weight: bold; +} + +.confirm-merge-btn { + margin-left: auto; + background: #4caf50; + color: white; + border: none; + border-radius: 50%; + width: 28px; + height: 28px; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + box-shadow: 0 2px 5px rgba(0,0,0,0.2); + transition: all 0.2s; +} + +.confirm-merge-btn:hover { + background: #43a047; + transform: scale(1.1); +} + +.confirm-merge-btn:disabled { + background: #ccc; + cursor: not-allowed; + transform: none; +} + +.available-tags { + display: flex; + flex-wrap: wrap; + gap: 8px; + margin-top: 10px; +} + +.available-tag { + padding: 6px 12px; + background: #fff; + border: 1px solid #ddd; + border-radius: 4px; + cursor: pointer; + transition: all 0.2s; + user-select: none; +} + +.available-tag:hover { + background: #f0f0f0; + border-color: #bbb; +} + +.available-tag.disabled { + opacity: 0.5; + cursor: not-allowed; + background: #f5f5f5; + color: #aaa; + pointer-events: none; + border-color: #eee; + box-shadow: none; +} + +/* \u8BF7\u6C42\u8BB0\u5F55\u6837\u5F0F */ +.request-records-container { + border-radius: 8px; +} + +.no-records { + text-align: center; + color: #fff; + padding: 60px; + font-style: italic; + font-size: 16px; +} + +.record-item { + background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%); + border: none; + border-radius: 16px; + padding: 10px; + margin-bottom: 10px; + box-shadow: 0 8px 32px rgba(0,0,0,0.15); + transition: transform 0.2s, box-shadow 0.2s; +} + +.record-item:hover { + transform: translateY(-2px); + box-shadow: 0 12px 40px rgba(0,0,0,0.2); +} + +.record-header { + display: flex; + justify-content: flex-start; + align-items: center; + margin-bottom: 15px; + flex-wrap: wrap; + gap: 15px; +} + +.record-method { + background: linear-gradient(135deg, #00b4db 0%, #0083b0 100%); + color: white; + padding: 8px 16px; + border-radius: 10px; + font-size: 14px; + font-weight: bold; + min-width: 60px; + text-align: center; + box-shadow: 0 4px 15px rgba(0,180,219,0.3); +} + +.record-interface { + flex: 1; + font-family: 'Courier New', monospace; + font-weight: 600; + color: #2d3748; + word-break: break-all; + font-size: 15px; + background: #edf2f7; + padding: 8px 16px; + border-radius: 8px; +} + +.record-ip { + background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); + color: white; + padding: 8px 16px; + border-radius: 10px; + font-size: 13px; + min-width: 120px; + text-align: center; + font-weight: 500; + box-shadow: 0 4px 15px rgba(245,87,108,0.3); +} + +.record-timestamp { + color: #718096; + font-size: 14px; + margin-bottom: 15px; + padding-bottom: 15px; + border-bottom: 2px dashed #e2e8f0; + display: flex; + align-items: center; + gap: 8px; +} + +.record-timestamp.no-params { + border-bottom: none; + margin-bottom: 0; + padding-bottom: 0; +} + +.record-timestamp::before { + content: '\u{1F550}'; + font-size: 16px; +} + +.record-params { + background: #f5f5f5; + border-radius: 12px; + padding: 15px; + border: 1px solid #e0e0e0; +} + +.record-params-title { + color: #667eea; + font-weight: 600; + font-size: 14px; + margin-bottom: 12px; + display: flex; + align-items: center; + gap: 8px; +} + +.record-params-title::before { + content: '\u{1F4CB}'; + font-size: 16px; +} + +.record-params pre { + margin: 0; + padding: 15px; + background: #ffffff; + color: #333; + border-radius: 8px; + font-family: 'Courier New', monospace; + font-size: 13px; + white-space: pre-wrap; + word-wrap: break-word; + overflow-x: auto; + line-height: 1.6; + border: 1px solid #ddd; +} + +/* \u8BF7\u6C42\u8BB0\u5F55\u79FB\u52A8\u7AEF\u9002\u914D */ +@media (max-width: 768px) { + .record-header { + flex-direction: column; + align-items: stretch; + } + + .record-method, + .record-interface, + .record-ip { + width: 100%; + box-sizing: border-box; + } +} + +/* ===================== */ +/* \u5F39\u5E55\u6D4B\u8BD5\u76F8\u5173\u6837\u5F0F */ +/* ===================== */ + +/* \u9876\u7EA7\u6807\u7B7E\u9875 */ +.api-top-tabs { + display: flex; + gap: 0; + margin-bottom: 20px; + border-bottom: 2px solid #e0e0e0; +} + +.api-top-tab { + padding: 10px 24px; + background: none; + border: none; + border-bottom: 3px solid transparent; + cursor: pointer; + font-size: 15px; + font-weight: 500; + color: #666; + transition: all 0.3s; + margin-bottom: -2px; +} + +.api-top-tab:hover { + color: #667eea; +} + +.api-top-tab.active { + color: #667eea; + border-bottom-color: #667eea; + font-weight: bold; +} + +.api-tab-content { + display: none; +} + +.api-tab-content.active { + display: block; +} + +/* \u5F39\u5E55\u6D4B\u8BD5\u5B50\u6807\u7B7E */ +.danmu-test-tabs { + display: flex; + gap: 10px; + margin-bottom: 20px; +} + +.danmu-test-tab { + padding: 8px 20px; + background: #f0f0f0; + border: 2px solid transparent; + border-radius: 20px; + cursor: pointer; + font-size: 14px; + font-weight: 500; + transition: all 0.3s; + color: #555; +} + +.danmu-test-tab:hover { + background: #e0e0e0; +} + +.danmu-test-tab.active { + background: #667eea; + color: white; + border-color: #667eea; +} + +.danmu-test-panel { + display: none; +} + +.danmu-test-panel.active { + display: block; +} + +/* \u5F39\u5E55\u7EDF\u8BA1\u5361\u7247 */ +.danmu-stats { + margin-bottom: 15px; +} + +.danmu-stats-title { + font-size: 16px; + font-weight: bold; + color: #667eea; + margin-bottom: 12px; + padding-bottom: 8px; + border-bottom: 1px solid #eee; +} + +.danmu-stats-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); + gap: 12px; +} + +.danmu-stat-card { + background: #f8f9fa; + border-radius: 10px; + padding: 15px; + text-align: center; + border: 1px solid #eee; + transition: transform 0.2s; +} + +.danmu-stat-card:hover { + transform: translateY(-2px); + box-shadow: 0 4px 12px rgba(0,0,0,0.08); +} + +.stat-value { + font-size: 20px; + font-weight: bold; + color: #333; + margin-bottom: 4px; + word-break: break-all; +} + +.stat-label { + font-size: 12px; + color: #999; +} + +.danmu-result-error { + margin-bottom: 15px; + background: #fff8f8; + border: 1px solid #ffcdd2; + color: #c62828; + border-radius: 10px; + padding: 12px 15px; + font-size: 13px; +} + +/* \u5F39\u5E55\u70ED\u529B\u56FE */ +.danmu-heatmap-container { + margin-bottom: 15px; + background: #f8f9fa; + border-radius: 10px; + padding: 15px; +} + +.danmu-section-title { + margin: 0 0 10px; + font-size: 15px; +} + +.danmu-section-title-spaced { + margin-top: 15px; +} + +.danmu-empty-text { + color: #999; +} + +.danmu-empty-list { + text-align: center; + padding: 20px; +} + +.heatmap-bars { + display: flex; + align-items: flex-end; + gap: 2px; + height: 100px; + padding: 0 2px; +} + +.danmu-heatmap-interactive { + position: relative; + padding-top: 34px; + touch-action: pan-y; + user-select: none; +} + +.danmu-heatmap-tooltip { + position: absolute; + top: 0; + left: 0; + transform: translateX(-50%) translateY(-4px); + display: flex; + align-items: baseline; + gap: 4px; + padding: 5px 9px; + border-radius: 999px; + background: rgba(51, 51, 51, 0.92); + color: white; + font-size: 12px; + line-height: 1.2; + white-space: nowrap; + opacity: 0; + pointer-events: none; + transition: opacity 0.12s ease, transform 0.12s ease; + z-index: 2; +} + +.danmu-heatmap-tooltip.active { + opacity: 1; + transform: translateX(-50%) translateY(0); +} + +.danmu-heatmap-tooltip strong { + font-size: 15px; +} + +.danmu-heatmap-tooltip em { + color: rgba(255,255,255,0.72); + font-style: normal; + margin-left: 3px; +} + +.danmu-heatmap-indicator { + position: absolute; + top: 34px; + bottom: 0; + width: 2px; + transform: translateX(-50%); + border-radius: 999px; + background: rgba(102, 126, 234, 0.88); + box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.14); + opacity: 0; + pointer-events: none; + transition: opacity 0.12s ease; + z-index: 1; +} + +.danmu-heatmap-indicator.active { + opacity: 1; +} + +.heatmap-bar { + flex: 1; + min-width: 3px; + height: var(--heatmap-height, 2%); + background: var(--heatmap-color, #667eea); + border-radius: 2px 2px 0 0; + transition: opacity 0.2s, transform 0.12s ease, box-shadow 0.12s ease; + cursor: pointer; +} + +.heatmap-bar.active { + opacity: 0.95; + transform: translateY(-2px); + box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.24); +} + +.heatmap-bar:hover { + opacity: 0.8; +} + +.heatmap-axis { + display: flex; + justify-content: space-between; + margin-top: 6px; + font-size: 11px; + color: #999; +} + +/* \u5F39\u5E55\u8FC7\u6EE4\u6807\u7B7E */ +.danmu-filter-tabs { + display: flex; + flex-wrap: nowrap; + gap: 8px; + margin-bottom: 12px; + overflow-x: auto; + overflow-y: hidden; + padding-bottom: 2px; + -webkit-overflow-scrolling: touch; + scrollbar-width: none; +} + +.danmu-filter-tabs::-webkit-scrollbar { + display: none; +} + +.danmu-filter-tab { + flex: 0 0 auto; + display: inline-flex; + align-items: center; + gap: 6px; + white-space: nowrap; + padding: 6px 12px; + background: #f0f0f0; + border: 1px solid #ddd; + border-radius: 15px; + cursor: pointer; + font-size: 13px; + transition: all 0.2s; + color: #555; +} + +.danmu-filter-tab:hover { + background: #e0e0e0; +} + +.danmu-filter-tab.active { + background: #667eea; + color: white; + border-color: #667eea; +} + +.danmu-filter-count { + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 20px; + height: 18px; + padding: 0 6px; + border-radius: 999px; + background: rgba(0,0,0,0.08); + color: inherit; + font-size: 11px; + font-weight: 600; + line-height: 1; +} + +.danmu-filter-tab.active .danmu-filter-count { + background: rgba(255,255,255,0.22); +} + +/* \u5F39\u5E55\u5217\u8868 */ +.danmu-list-area { + background: #f8f9fa; + border-radius: 10px; + padding: 15px; +} + +.danmu-list-area h3 { + margin: 0 0 10px; + font-size: 15px; +} + +.danmu-list { + max-height: 500px; + overflow-y: auto; + border: 1px solid #eee; + border-radius: 8px; + background: white; +} + +.danmu-item { + display: flex; + align-items: center; + gap: 10px; + padding: 8px 12px; + border-bottom: 1px solid #f0f0f0; + font-size: 13px; + transition: background 0.15s; +} + +.danmu-item:last-child { + border-bottom: none; +} + +.danmu-item:hover { + background: #f8f9ff; +} + +.danmu-time { + color: #999; + font-family: 'Courier New', monospace; + font-size: 12px; + min-width: 50px; + flex-shrink: 0; +} + +.danmu-color-dot { + width: 12px; + height: 12px; + border-radius: 50%; + flex-shrink: 0; + border: 1px solid rgba(0,0,0,0.1); + background: var(--danmu-color-dot, #fff); +} + +.danmu-mode-tag { + font-size: 11px; + padding: 2px 6px; + border-radius: 8px; + flex-shrink: 0; + font-weight: 500; +} + +.danmu-mode-scroll { + background: #e3f2fd; + color: #1976d2; +} + +.danmu-mode-top { + background: #fce4ec; + color: #c62828; +} + +.danmu-mode-bottom { + background: #e8f5e9; + color: #2e7d32; +} + +.danmu-text { + flex: 1; + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + color: #333; +} + +.danmu-load-more { + display: none; + width: 100%; + margin-top: 10px; +} + +.jump-to-episode { + margin-top: 15px; + margin-bottom: 15px; + padding: 10px; + background: #f8f9fa; + border-radius: 12px; + display: flex; + align-items: center; + gap: 10px; + flex-wrap: wrap; +} + +.jump-episode-input { + padding: 8px; + width: 90px; + border: 1px solid #ccc; + border-radius: 8px; +} + +.jump-episode-btn { + margin-left: 5px; + border-radius: 8px; +} + +.jump-episode-total { + margin-left: 5px; + color: #666; + font-size: 14px; +} + +.episode-item.episode-item-highlight { + background: #fff3cd; +} + +/* \u8FD4\u56DE\u6309\u94AE */ +.btn-back { + padding: 8px 16px; + background: #f0f0f0; + border: 1px solid #ddd; + border-radius: 6px; + cursor: pointer; + font-size: 14px; + color: #555; + transition: all 0.2s; + margin-bottom: 15px; + display: inline-block; +} + +.btn-back:hover { + background: #e0e0e0; + color: #333; +} + +/* \u5F39\u5E55\u52A0\u8F7D\u52A8\u753B */ +.danmu-loading { + text-align: center; + padding: 60px 20px; +} + +.danmu-loading .loading-spinner { + margin: 0 auto 15px; +} + +.danmu-loading .loading-text { + color: #666; + font-size: 15px; +} + +/* \u5F39\u5E55\u7ED3\u679C\u5DE5\u5177\u680F\uFF08\u8FD4\u56DE+\u5BFC\u51FA\u540C\u884C\uFF09 */ +.danmu-result-toolbar { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 15px; + flex-wrap: wrap; + gap: 10px; +} + +.danmu-result-toolbar .btn-back { + margin-bottom: 0; +} + +.danmu-export-btns { + display: flex; + gap: 8px; + margin-left: auto; +} + +/* \u5F39\u5E55\u6D4B\u8BD5\u79FB\u52A8\u7AEF\u9002\u914D */ +@media (max-width: 768px) { + .danmu-stats-grid { + grid-template-columns: repeat(2, 1fr); + } + + .api-top-tab { + padding: 8px 16px; + font-size: 14px; + } + + .danmu-test-tabs { + flex-wrap: wrap; + } + + .stat-value { + font-size: 16px; + } + + .heatmap-bars { + height: 70px; + gap: 1px; + padding: 0 1px; + } + + .heatmap-bar { + min-width: 2px; + } +} + +/* \u989C\u8272\u6C60\u914D\u7F6E */ +.color-pool-display { + display: flex; + flex-wrap: wrap; + gap: 8px; + margin-bottom: 12px; + min-height: 36px; + padding: 8px; + border: 1px solid #e0e0e0; + border-radius: 8px; + background: #f9f9f9; +} + +.color-pool-item { + display: inline-flex; + align-items: center; + gap: 4px; + padding: 3px 8px; + border: 1px solid #ddd; + border-radius: 6px; + background: #fff; + font-size: 12px; +} + +.color-pool-swatch { + display: inline-block; + width: 18px; + height: 18px; + border-radius: 3px; + border: 1px solid #ccc; +} + +.color-pool-value { + color: #666; + font-family: monospace; + font-size: 11px; +} + +.color-pool-remove { + border: none; + background: none; + color: #999; + cursor: pointer; + padding: 0 2px; + font-size: 14px; + line-height: 1; +} + +.color-pool-empty { + color: #999; + font-size: 12px; + align-self: center; +} + +.color-pool-picker { + padding: 14px; + border: 1px solid #e0e0e0; + border-radius: 10px; + background: #fafafa; + margin-bottom: 12px; +} + +.color-pool-picker-inner { + display: flex; + flex-direction: column; + align-items: center; + gap: 12px; +} + +.color-wheel { + width: 120px; + height: 120px; + border-radius: 50%; + background: conic-gradient(hsl(0,100%,50%),hsl(60,100%,50%),hsl(120,100%,50%),hsl(180,100%,50%),hsl(240,100%,50%),hsl(300,100%,50%),hsl(360,100%,50%)); + cursor: crosshair; + position: relative; + box-shadow: 0 1px 4px rgba(0,0,0,0.1); + flex-shrink: 0; +} + +.color-wheel-center { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%,-50%); + width: 44%; + height: 44%; + border-radius: 50%; + background: #fafafa; +} + +.color-wheel-dot { + position: absolute; + width: 14px; + height: 14px; + border-radius: 50%; + border: 2.5px solid #fff; + box-shadow: 0 0 4px rgba(0,0,0,0.35); + pointer-events: none; +} + +.color-pool-preview { + display: flex; + align-items: center; + gap: 10px; +} + +.color-pool-preview-swatch { + width: 32px; + height: 32px; + border-radius: 6px; + border: 1px solid #ddd; + flex-shrink: 0; +} + +.color-pool-preview-hex { + font-family: monospace; + font-size: 13px; + color: #555; +} + +.color-pool-lightness { + display: flex; + align-items: center; + gap: 8px; + width: 100%; + max-width: 240px; +} + +.color-pool-lightness span { + font-size: 12px; + color: #888; + flex-shrink: 0; +} + +.color-pool-lightness input { + flex: 1; + accent-color: #667eea; +} + +.color-pool-actions { + display: flex; + gap: 8px; + flex-wrap: nowrap; +} + +.color-pool-actions .btn { + white-space: nowrap; + flex-shrink: 0; +} + +.color-pool-actions .spacer { + flex: 1; +} + +/* \u6279\u91CF\u6DFB\u52A0\u989C\u8272\u5F39\u7A97 */ +.batch-color-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0,0,0,0.4); + z-index: 9999; + display: flex; + align-items: center; + justify-content: center; +} + +.batch-color-dialog { + background: #fff; + border-radius: 12px; + padding: 20px; + width: 90%; + max-width: 420px; + box-shadow: 0 4px 20px rgba(0,0,0,0.15); +} + +.batch-color-input { + width: 100%; + padding: 8px 10px; + border: 1px solid #ddd; + border-radius: 6px; + font-size: 13px; + font-family: monospace; + resize: vertical; + box-sizing: border-box; +} + +.batch-color-preview { + display: flex; + flex-wrap: wrap; + gap: 6px; + margin-top: 10px; + min-height: 24px; +} + +.batch-color-preview-swatch { + display: inline-block; + width: 22px; + height: 22px; + border-radius: 4px; + border: 1px solid #ccc; +} + +.batch-color-actions { + display: flex; + gap: 8px; + justify-content: flex-end; + margin-top: 14px; +} + +/* \u504F\u79FB\u89C4\u5219\u5FEB\u901F\u914D\u7F6E */ +.offset-rule-panel { + display: none; + margin-top: 10px; + padding: 12px; + border: 1px solid #e0e0e0; + border-radius: 8px; + background: #f9f9f9; +} + +.offset-form-row { + display: flex; + gap: 8px; + flex-wrap: wrap; + margin-bottom: 10px; +} + +.offset-label { + font-size: 12px; + color: #666; +} + +.offset-input { + width: 100%; + padding: 6px 8px; + border: 1px solid #ddd; + border-radius: 4px; + font-size: 13px; + box-sizing: border-box; +} + +.offset-sources { + display: flex; + flex-wrap: wrap; + gap: 5px; + margin-top: 5px; +} + +.offset-source-tag { + padding: 3px 10px; + border: 1px solid #ddd; + border-radius: 12px; + font-size: 12px; + cursor: pointer; + user-select: none; + background: #fff; + color: #666; + transition: all 0.15s; +} + +.offset-source-tag.selected { + background: #1a73e8; + color: #fff; + border-color: #1a73e8; +} + +.offset-actions { + display: flex; + gap: 8px; + justify-content: flex-end; +} + +/* \u6700\u8FD1\u6570\u636E\u4E0Eanimes\u7F13\u5B58\u9762\u677F\u6837\u5F0F */ + +/* \u9762\u677F\u5BB9\u5668 */ +.recent-data-panel { + display: none; + max-height: 350px; + overflow-y: auto; +} + +.anime-cache-list { + display: flex; + flex-direction: column; + gap: 8px; +} + +.anime-cache-card { + background: #fff; + border-radius: 6px; + border: 1px solid #eaeaea; + box-shadow: 0 1px 3px rgba(0,0,0,0.04); + overflow: hidden; +} + +.anime-cache-card-body { + display: flex; + gap: 12px; + align-items: center; + padding: 10px; +} + +.anime-cache-cover { + width: 44px; + height: 60px; + border-radius: 4px; + background-color: #e2e3e5; + background-size: cover; + background-position: center; + flex-shrink: 0; + box-shadow: 0 1px 4px rgba(0,0,0,0.15); +} + +.anime-cache-info, +.anime-cache-child-info { + flex: 1; + min-width: 0; +} + +.anime-cache-title { + font-weight: 600; + font-size: 13px; + line-height: 1.4; + margin-bottom: 4px; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + word-break: break-all; +} + +.anime-cache-meta { + color: #888; + font-size: 11px; +} + +.anime-cache-actions, +.anime-cache-child-actions { + display: flex; + flex-direction: column; + flex-shrink: 0; +} + +.anime-cache-actions { gap: 6px; } + +.btn-xs { + padding: 2px 6px; + font-size: 11px; +} + +/* \u5361\u7247\u5E95\u90E8\u6807\u7B7E\u5207\u6362\u680F(Tab \u98CE\u683C) */ +.anime-cache-footer { + display: flex; + gap: 8px; + padding: 8px 10px; + background: #fdfdfd; + border-top: 1px solid #f0f0f0; +} + +.cache-badge { + font-size: 11px; + padding: 4px 10px; + border-radius: 12px; + cursor: pointer; + user-select: none; + display: inline-flex; + align-items: center; + font-weight: 500; + transition: all 0.2s; +} + +.cache-badge.badge-sources { background: #e3f2fd; color: #0d47a1; border: 1px solid #bbdefb; } +.cache-badge.badge-episodes { background: #e8f5e9; color: #1b5e20; border: 1px solid #c8e6c9; } +.cache-badge.active { filter: brightness(0.9); box-shadow: inset 0 1px 3px rgba(0,0,0,0.1); } + +/* \u6298\u53E0\u5217\u8868\u5BB9\u5668 */ +.merged-children-container, +.episodes-list-container { + display: none; + flex-direction: column; + gap: 6px; + padding: 8px 10px; + background: #fafafa; + border-top: 1px solid #f0f0f0; +} + +.episodes-list-container { + max-height: 200px; + overflow-y: auto; +} + +/* \u5B50\u8282\u70B9\u5361\u7247 */ +.anime-cache-child-item { + display: flex; + flex-direction: column; + background: #fff; + padding: 8px; + border-radius: 4px; + border: 1px dashed #ccc; +} + +.anime-cache-child-main { + display: flex; + gap: 10px; + align-items: center; + width: 100%; +} + +.anime-cache-child-cover { + width: 33px; + height: 45px; + border-radius: 3px; + background-color: #e2e3e5; + background-size: cover; + background-position: center; + flex-shrink: 0; + box-shadow: 0 1px 3px rgba(0,0,0,0.1); +} + +.anime-cache-child-title { + font-weight: 500; + font-size: 12px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.anime-cache-child-actions { gap: 4px; } + +/* \u5408\u5E76\u6620\u5C04\u8BE6\u60C5 */ +.child-mapping-toggle { + font-size: 10px; + color: #666; + cursor: pointer; + margin-top: 8px; + padding-top: 6px; + border-top: 1px dashed #eee; + text-align: center; +} + +.child-mapping-toggle:hover { + color: #0066cc; +} + +.child-mapping-container { + display: none; + flex-direction: column; + gap: 4px; + margin-top: 6px; + background: #fdfdfd; + padding: 6px; + border-radius: 4px; + border: 1px solid #f0f0f0; + max-height: 150px; + overflow-y: auto; +} + +.mapping-row { + font-size: 10px; + display: flex; + gap: 6px; + align-items: flex-start; +} + +.mapping-status { flex-shrink: 0; font-weight: bold; } +.mapping-status.success { color: #28a745; } +.mapping-status.warning { color: #d39e00; } +.mapping-text { color: #555; word-break: break-all; } +`});var Ybt,Qbt=oe(()=>{Ybt=` +/* \u8868\u5355\u6837\u5F0F */ +.form-group { + margin-bottom: 15px; +} + +.form-group label { + display: block; + margin-bottom: 5px; + font-weight: 500; + color: #333; +} + +.form-group input, +.form-group select, +.form-group textarea { + width: 100%; + padding: 10px; + border: 1px solid #ddd; + border-radius: 6px; + font-size: 14px; +} + +.form-group textarea { + resize: vertical; + min-height: 80px; + font-family: 'Courier New', Consolas, monospace; + line-height: 1.5; +} + +/* \u5F00\u5173\u6309\u94AE */ +.switch-container { + display: flex; + align-items: center; + gap: 10px; +} + +.switch { + position: relative; + display: inline-block; + width: 50px; + height: 26px; +} + +.switch input { + opacity: 0; + width: 0; + height: 0; +} + +.slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + transition: .4s; + border-radius: 26px; +} + +.slider:before { + position: absolute; + content: ""; + height: 18px; + width: 18px; + left: 4px; + bottom: 4px; + background-color: white; + transition: .4s; + border-radius: 50%; +} + +input:checked + .slider { + background-color: #667eea; +} + +input:checked + .slider:before { + transform: translateX(24px); +} + +.switch-label { + font-weight: 500; + color: #333; +} + +/* \u6570\u5B57\u6EDA\u8F6E */ +.number-picker { + display: flex; + align-items: center; + gap: 15px; + background: #f8f9fa; + padding: 15px; + border-radius: 8px; +} + +.number-display { + font-size: 32px; + font-weight: bold; + color: #667eea; + min-width: 60px; + text-align: center; +} + +.number-controls { + display: flex; + flex-direction: column; + gap: 5px; +} + +.number-btn { + width: 40px; + height: 40px; + border: 2px solid #667eea; + background: white; + color: #667eea; + border-radius: 8px; + cursor: pointer; + font-size: 20px; + font-weight: bold; + transition: all 0.3s; + display: flex; + align-items: center; + justify-content: center; +} + +.number-btn:hover { + background: #667eea; + color: white; +} + +.number-btn:active { + transform: scale(0.95); +} + +.number-range { + width: 100%; + margin-top: 10px; +} + +.number-range input[type="range"] { + width: 100%; + height: 6px; + border-radius: 3px; + background: #ddd; + outline: none; + -webkit-appearance: none; +} + +.number-range input[type="range"]::-webkit-slider-thumb { + -webkit-appearance: none; + appearance: none; + width: 20px; + height: 20px; + border-radius: 50%; + background: #667eea; + cursor: pointer; +} + +.number-range input[type="range"]::-moz-range-thumb { + width: 20px; + height: 20px; + border-radius: 50%; + background: #667eea; + cursor: pointer; + border: none; +} + +/* \u6807\u7B7E\u9009\u62E9 */ +.tag-selector { + display: flex; + flex-wrap: wrap; + gap: 10px; +} + +.tag-option { + padding: 10px 20px; + background: #f0f0f0; + border: 2px solid transparent; + border-radius: 20px; + cursor: pointer; + transition: all 0.3s; + font-size: 14px; + font-weight: 500; +} + +.tag-option:hover { + background: #e0e0e0; +} + +.tag-option.selected { + background: #667eea; + color: white; + border-color: #667eea; +} + +.tag-option.selected:hover { + background: #5568d3; +} + +/* \u591A\u9009\u6807\u7B7E */ +.multi-select-container { + display: flex; + flex-direction: column; + gap: 15px; +} + +.selected-tags { + min-height: 60px; + background: #f8f9fa; + border: 2px dashed #ddd; + border-radius: 8px; + padding: 10px; + display: flex; + flex-wrap: wrap; + gap: 8px; + align-items: flex-start; +} + +.selected-tags.empty::before { + content: '\u62D6\u52A8\u6216\u70B9\u51FB\u4E0B\u65B9\u9009\u9879\u6DFB\u52A0...'; + color: #999; + font-size: 14px; + width: 100%; + text-align: center; + padding: 15px 0; +} + +.selected-tag { + display: inline-flex; + align-items: center; + gap: 8px; + background: #667eea; + color: white; + padding: 8px 12px; + border-radius: 20px; + cursor: move; + user-select: none; + transition: all 0.3s; + box-shadow: 0 2px 4px rgba(0,0,0,0.1); +} + +.selected-tag:hover { + background: #5568d3; + transform: translateY(-2px); + box-shadow: 0 4px 8px rgba(0,0,0,0.2); +} + +.selected-tag.dragging { + opacity: 0.5; + transform: rotate(5deg); +} + +.selected-tag .tag-text { + font-weight: 500; +} + +.selected-tag .remove-btn { + width: 18px; + height: 18px; + background: rgba(255,255,255,0.3); + border: none; + border-radius: 50%; + color: white; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + font-size: 14px; + font-weight: bold; + transition: all 0.2s; +} + +.selected-tag .remove-btn:hover { + background: rgba(255,255,255,0.5); + transform: scale(1.1); +} + +.available-tags { + display: flex; + flex-wrap: wrap; + gap: 8px; +} + +.available-tag { + padding: 8px 16px; + background: #f0f0f0; + border: 2px solid transparent; + border-radius: 20px; + cursor: pointer; + transition: all 0.3s; + font-size: 14px; + font-weight: 500; + user-select: none; +} + +.available-tag:hover { + background: #e0e0e0; + transform: translateY(-2px); +} + +.available-tag.disabled { + opacity: 0.5; + cursor: not-allowed; + background: #f8f9fa; +} + +.available-tag.disabled:hover { + transform: none; +} + +.drag-over { + background: #e8eaf6 !important; + border-color: #667eea !important; +} + +/* \u6620\u5C04\u8868\u6837\u5F0F */ +.map-container { + margin-top: 10px; +} + +.map-item { + display: flex; + align-items: center; + gap: 10px; + margin-bottom: 10px; + padding: 10px; + border: 1px solid #ddd; + border-radius: 6px; + background-color: #f9f9f9; +} + +.map-input-left, .map-input-right { + flex: 1; + padding: 8px; + border: 1px solid #ddd; + border-radius: 4px; +} + +.map-separator { + font-weight: bold; + color: #666; +} + +.map-remove-btn { + margin-left: 10px; + padding: 6px 12px; + font-size: 12px; +} + +.map-item-template { + display: none; +} +`});var zbt,Wbt=oe(()=>{zbt=` +/* \u54CD\u5E94\u5F0F\u6837\u5F0F */ +@media (max-width: 768px) { + .logo { + width: 40px; + height: 40px; + font-size: 22px; + } + + .header-left { + width: 100%; + flex-direction: column; + align-items: flex-start; + } + + .logo-title-container { + display: flex; + flex-direction: row; + align-items: center; + gap: 10px; + } + + .header h1 { + font-size: 18px; + margin: 0; + } + + .version-info { + font-size: 11px; + flex-wrap: wrap; + margin-top: 5px; + width: 100%; + } + + .nav-buttons { + width: 100%; + flex-wrap: wrap; + gap: 5px; + justify-content: center; + } + + .nav-btn { + flex: 1 1 calc(33.333% - 5px); + text-align: center; + font-size: 11px; + padding: 8px 5px; + white-space: nowrap; + min-width: 70px; + max-width: 120px; + overflow: hidden; + text-overflow: ellipsis; + } + + .env-item { + flex-direction: column; + align-items: flex-start; + } + + .env-actions { + width: 100%; + } + + .btn { + flex: 1; + } +} +`});var Xbt,Jbt=oe(()=>{Xbt=` +// \u81EA\u5B9A\u4E49\u5F39\u7A97\u7EC4\u4EF6 +function createCustomAlert() { + // \u68C0\u67E5\u662F\u5426\u5DF2\u5B58\u5728\u81EA\u5B9A\u4E49\u5F39\u7A97\u5143\u7D20 + if (document.getElementById('custom-alert-overlay')) { + return; + } + + // \u521B\u5EFA\u5F39\u7A97HTML\u5143\u7D20 + const alertHTML = ''; + + // \u6DFB\u52A0\u5230body + document.body.insertAdjacentHTML('beforeend', alertHTML); + + // \u83B7\u53D6\u5143\u7D20 + const overlay = document.getElementById('custom-alert-overlay'); + const closeBtn = document.getElementById('custom-alert-close'); + const confirmBtn = document.getElementById('custom-alert-confirm'); + + // \u5173\u95ED\u5F39\u7A97\u51FD\u6570 + function closeAlert() { + overlay.classList.remove('active'); + // \u91CD\u7F6E\u6807\u9898\u548C\u6D88\u606F + document.getElementById('custom-alert-title').textContent = '\u63D0\u793A'; + } + + // \u4E8B\u4EF6\u76D1\u542C\u5668 + closeBtn.addEventListener('click', closeAlert); + confirmBtn.addEventListener('click', closeAlert); + + // \u70B9\u51FB\u906E\u7F69\u5C42\u5173\u95ED\u5F39\u7A97 + overlay.addEventListener('click', function(e) { + if (e.target === overlay) { + closeAlert(); + } + }); +} + +// \u81EA\u5B9A\u4E49alert\u51FD\u6570 +function customAlert(message, title = '\u63D0\u793A') { + // \u786E\u4FDD\u5F39\u7A97\u5143\u7D20\u5DF2\u521B\u5EFA + createCustomAlert(); + + // \u83B7\u53D6\u5143\u7D20 + const overlay = document.getElementById('custom-alert-overlay'); + const titleElement = document.getElementById('custom-alert-title'); + const messageElement = document.getElementById('custom-alert-message'); + + // \u8BBE\u7F6E\u6807\u9898\u548C\u6D88\u606F + titleElement.textContent = title; + messageElement.textContent = message; + + // \u663E\u793A\u5F39\u7A97 + overlay.classList.add('active'); +} + +// \u81EA\u5B9A\u4E49confirm\u51FD\u6570\uFF08\u5982\u679C\u9700\u8981\uFF09 +function customConfirm(message, title = '\u786E\u8BA4') { + return new Promise((resolve) => { + // \u786E\u4FDD\u5F39\u7A97\u5143\u7D20\u5DF2\u521B\u5EFA + createCustomAlert(); + + // \u83B7\u53D6\u5143\u7D20 + const overlay = document.getElementById('custom-alert-overlay'); + const titleElement = document.getElementById('custom-alert-title'); + const messageElement = document.getElementById('custom-alert-message'); + const confirmBtn = document.getElementById('custom-alert-confirm'); + + // \u79FB\u9664\u4E4B\u524D\u7684\u4E8B\u4EF6\u76D1\u542C\u5668\uFF08\u5982\u679C\u6709\uFF09 + const newConfirmBtn = confirmBtn.cloneNode(true); + confirmBtn.parentNode.replaceChild(newConfirmBtn, confirmBtn); + + // \u8BBE\u7F6E\u6807\u9898\u548C\u6D88\u606F + titleElement.textContent = title; + messageElement.textContent = message; + + // \u786E\u5B9A\u6309\u94AE\u4E8B\u4EF6 + newConfirmBtn.addEventListener('click', () => { + overlay.classList.remove('active'); + resolve(true); + }); + + // \u5173\u95ED\u6309\u94AE\u4E8B\u4EF6 + document.getElementById('custom-alert-close').addEventListener('click', () => { + overlay.classList.remove('active'); + resolve(false); + }); + + // \u70B9\u51FB\u906E\u7F69\u5C42\u5173\u95ED + overlay.addEventListener('click', function(e) { + if (e.target === overlay) { + overlay.classList.remove('active'); + resolve(false); + } + }); + + // \u663E\u793A\u5F39\u7A97 + overlay.classList.add('active'); + }); +} + +// \u521D\u59CB\u5316\u81EA\u5B9A\u4E49\u5F39\u7A97 +document.addEventListener('DOMContentLoaded', createCustomAlert); + +// \u6570\u636E\u5B58\u50A8 +let envVariables = {}; +let currentCategory = 'api'; // \u9ED8\u8BA4\u5206\u7C7B\u6539\u4E3Aapi +let editingKey = null; +let logs = []; // \u4FDD\u7559\u672C\u5730\u65E5\u5FD7\u6570\u7EC4\uFF0C\u7528\u4E8EUI\u663E\u793A + +// \u7248\u672C\u4FE1\u606F +let currentVersion = ''; +let latestVersion = ''; +let currentToken = 'globals.currentToken'; +let currentAdminToken = ''; // admin token\uFF0C\u7528\u4E8E\u7CFB\u7EDF\u7BA1\u7406 +let originalToken = ''; + +// \u53CD\u5411\u4EE3\u7406/API\u57FA\u7840\u8DEF\u5F84\u914D\u7F6E +// \u4ECELocalStorage\u83B7\u53D6\u7528\u6237\u81EA\u5B9A\u4E49\u7684Base URL +let customBaseUrl = localStorage.getItem('logvar_api_base_url') || ''; + +// \u4FDD\u5B58\u81EA\u5B9A\u4E49Base URL (\u4E3A\u7A7A\u5219\u6E05\u9664) +function saveBaseUrl() { + const input = document.getElementById('custom-base-url').value.trim(); + if (input) { + // \u786E\u4FDDURL\u4E0D\u4EE5\u659C\u6760\u7ED3\u5C3E\uFF0C\u65B9\u4FBF\u540E\u7EED\u62FC\u63A5 + let formattedUrl = input; + if (formattedUrl.endsWith('/')) { + formattedUrl = formattedUrl.slice(0, -1); + } + localStorage.setItem('logvar_api_base_url', formattedUrl); + customBaseUrl = formattedUrl; + customAlert('API\u5730\u5740\u914D\u7F6E\u5DF2\u4FDD\u5B58\uFF0C\u5373\u5C06\u5237\u65B0\u9875\u9762\u3002', '\u4FDD\u5B58\u6210\u529F'); + setTimeout(() => { + location.reload(); + }, 1000); + } else { + // \u8F93\u5165\u4E3A\u7A7A\uFF0C\u89C6\u4E3A\u6E05\u9664\u914D\u7F6E/\u91CD\u7F6E\u4E3A\u9ED8\u8BA4 + localStorage.removeItem('logvar_api_base_url'); + customBaseUrl = ''; + customAlert('\u914D\u7F6E\u5DF2\u91CD\u7F6E\u4E3A\u9ED8\u8BA4\u72B6\u6001\uFF0C\u5373\u5C06\u5237\u65B0\u9875\u9762\u3002', '\u64CD\u4F5C\u6210\u529F'); + setTimeout(() => { + location.reload(); + }, 1000); + } +} + +// \u6784\u5EFA\u5E26token\u7684API\u8BF7\u6C42\u8DEF\u5F84 +function buildApiUrl(path, isSystemPath = false) { + let res; + // \u5982\u679C\u662F\u7CFB\u7EDF\u7BA1\u7406\u8DEF\u5F84\u4E14\u6709admin token,\u5219\u4F7F\u7528admin token + if (isSystemPath && currentAdminToken && currentAdminToken.trim() !== '' && currentAdminToken.trim() !== '*'.repeat(currentAdminToken.length)) { + res = '/' + currentAdminToken + path; + } else { + // \u5426\u5219\u4F7F\u7528\u666E\u901Atoken + res = (currentToken ? '/' + currentToken : "") + path; + } + + // \u5982\u679C\u914D\u7F6E\u4E86\u81EA\u5B9A\u4E49\u57FA\u7840URL (\u89E3\u51B3\u53CD\u4EE3\u95EE\u9898) + if (customBaseUrl) { + // \u786E\u4FDD\u8DEF\u5F84\u4EE5/\u5F00\u5934 + const cleanPath = res.startsWith('/') ? res : '/' + res; + return customBaseUrl + cleanPath; + } + + return res; +} + +// \u4ECEAPI\u52A0\u8F7D\u771F\u5B9E\u73AF\u5883\u53D8\u91CF\u6570\u636E +function loadEnvVariables() { + // \u4ECEAPI\u83B7\u53D6\u771F\u5B9E\u914D\u7F6E\u6570\u636E + fetch(buildApiUrl('/api/config', true)) + .then(response => response.json()) + .then(config => { + // \u4ECE\u914D\u7F6E\u4E2D\u83B7\u53D6admin token + currentAdminToken = config.originalEnvVars?.ADMIN_TOKEN || ''; + + originalToken = config.originalEnvVars?.TOKEN || ''; + + // \u4F7F\u7528\u4ECEAPI\u83B7\u53D6\u7684\u539F\u59CB\u73AF\u5883\u53D8\u91CF\uFF0C\u7528\u4E8E\u7CFB\u7EDF\u8BBE\u7F6E + const originalEnvVars = config.originalEnvVars || {}; + const envVarConfig = config.envVarConfig || {}; + const runtimeEnvVars = config.envs || {}; + const categoryOrder = ['api', 'source', 'match', 'danmu', 'cache', 'system']; + const allKeys = Array.from(new Set([ + ...Object.keys(envVarConfig), + ...Object.keys(originalEnvVars), + ...Object.keys(runtimeEnvVars) + ])); + + // \u91CD\u65B0\u7EC4\u7EC7\u6570\u636E\u7ED3\u6784\u4EE5\u9002\u914D\u73B0\u6709UI + envVariables = {}; + + categoryOrder.forEach(category => { + envVariables[category] = []; + }); + + // \u5C06\u914D\u7F6E\u5B9A\u4E49\u5168\u91CF\u8F6C\u6362\u4E3AUI\u6240\u9700\u683C\u5F0F\uFF0C\u907F\u514D\u53EA\u663E\u793A\u5DF2\u6709\u503C\u7684\u914D\u7F6E\u9879 + allKeys.forEach(key => { + // \u4ECEenvVarConfig\u83B7\u53D6\u914D\u7F6E\u4FE1\u606F + const varConfig = envVarConfig[key] || { category: 'system', type: 'text', description: '\u672A\u5206\u7C7B\u914D\u7F6E\u9879' }; + const category = varConfig.category || 'system'; + + // \u5982\u679C\u8BE5\u5206\u7C7B\u4E0D\u5B58\u5728\uFF0C\u521B\u5EFA\u5B83 + if (!envVariables[category]) { + envVariables[category] = []; + } + + // \u6DFB\u52A0\u5230\u5BF9\u5E94\u5206\u7C7B\uFF0C\u5305\u542B\u5B8C\u6574\u7684\u914D\u7F6E\u4FE1\u606F + const originalValue = originalEnvVars[key]; + const envValue = runtimeEnvVars[key]; + const defaultValue = varConfig.defaultValue; + const displayValue = (originalValue !== undefined && originalValue !== null && originalValue !== '') + ? originalValue + : ((envValue !== undefined && envValue !== null && envValue !== '') + ? envValue + : (defaultValue !== undefined && defaultValue !== null ? defaultValue : '')); + + envVariables[category].push({ + key: key, + value: displayValue, + description: varConfig.description || '', + type: varConfig.type || 'text', + min: varConfig.min, + max: varConfig.max, + options: varConfig.options || [], // \u4EC5\u5BF9 select \u548C multi-select \u7C7B\u578B\u6709\u6548 + sources: varConfig.sources || null // \u4EC5\u5BF9 DANMU_OFFSET \u7B49\u9700\u8981\u6765\u6E90\u914D\u7F6E\u7684\u6709\u6548 + }); + }); + + // \u6E32\u67D3\u73AF\u5883\u53D8\u91CF\u5217\u8868 + renderEnvList(); + }) + .catch(error => { + console.error('Failed to load env variables:', error); + }); +} + +// \u66F4\u65B0API\u7AEF\u70B9\u4FE1\u606F +function updateApiEndpoint() { + return fetch(buildApiUrl('/api/config', true)) + .then(response => { + // \u68C0\u67E5ContentType\uFF0C\u5982\u679C\u662FHTML\u8BF4\u660E\u53EF\u80FD\u662F404\u9875\u9762\u6216\u53CD\u4EE3\u9519\u8BEF\u9875\u9762 + const contentType = response.headers.get("content-type"); + if (contentType && contentType.indexOf("application/json") === -1) { + throw new Error("Received HTML instead of JSON. Possible 404 or Proxy Error."); + } + if (!response.ok) { + throw new Error(\`HTTP error! status: \${response.status}\`); + } + return response.json(); + }) + .then(config => { + let _reverseProxy = customBaseUrl; // \u4F7F\u7528\u5168\u5C40\u914D\u7F6E + + // \u83B7\u53D6\u5F53\u524D\u9875\u9762\u7684\u534F\u8BAE\u3001\u4E3B\u673A\u548C\u7AEF\u53E3 + const protocol = window.location.protocol; + const host = window.location.host; + const token = config.originalEnvVars?.TOKEN || '87654321'; // \u9ED8\u8BA4token\u503C + const adminToken = config.originalEnvVars?.ADMIN_TOKEN; + + // \u83B7\u53D6URL\u8DEF\u5F84\u5E76\u63D0\u53D6token + let urlPath = window.location.pathname; + if(_reverseProxy) { + try { + let proxyPath = _reverseProxy.startsWith('http') + ? new URL(_reverseProxy).pathname + : _reverseProxy; + + if (proxyPath.endsWith('/')) { + proxyPath = proxyPath.slice(0, -1); + } + if(proxyPath && urlPath.startsWith(proxyPath)) { + urlPath = urlPath.substring(proxyPath.length); + } + } catch(e) { /* ignore */ } + } + + const pathParts = urlPath.split('/').filter(part => part !== ''); + const urlToken = pathParts.length > 0 ? pathParts[0] : ''; + let apiToken = '********'; + + // \u5224\u65AD\u662F\u5426\u4F7F\u7528\u9ED8\u8BA4token + if (token === '87654321') { + // \u5982\u679C\u662F\u9ED8\u8BA4token\uFF0C\u5219\u663E\u793A\u771F\u5B9Etoken + apiToken = token; + } else { + // \u5982\u679C\u4E0D\u662F\u9ED8\u8BA4token\uFF0C\u5219\u68C0\u67E5URL\u4E2D\u7684token\u662F\u5426\u5339\u914D\uFF0C\u5339\u914D\u5219\u663E\u793A\u771F\u5B9Etoken\uFF0C\u5426\u5219\u663E\u793A\u661F\u53F7 + if (urlToken === token || (adminToken !== "" && urlToken === adminToken)) { + apiToken = token; // \u66F4\u65B0\u5168\u5C40token\u53D8\u91CF + } + } + + // \u6784\u9020API\u7AEF\u70B9URL + let baseUrlStr; + if (_reverseProxy) { + // \u5982\u679C\u914D\u7F6E\u4E86\u53CD\u4EE3\uFF0C\u4E14\u662F\u76F8\u5BF9\u8DEF\u5F84\uFF0C\u5219\u8865\u5168\u534F\u8BAE\u548C\u4E3B\u673A\uFF0C\u786E\u4FDD\u663E\u793A\u4E3A\u7EDD\u5BF9\u8DEF\u5F84 + baseUrlStr = _reverseProxy.startsWith('http') + ? _reverseProxy + : (protocol + '//' + host + _reverseProxy); + } else { + baseUrlStr = protocol + '//' + host; + } + + // \u786E\u4FDD baseUrlStr \u4E0D\u4EE5\u659C\u6760\u7ED3\u5C3E + let cleanBaseUrl = baseUrlStr; + if (cleanBaseUrl.endsWith('/')) { + cleanBaseUrl = cleanBaseUrl.slice(0, -1); + } + const apiEndpoint = cleanBaseUrl + '/' + apiToken; + + const apiEndpointElement = document.getElementById('api-endpoint'); + if (apiEndpointElement) { + apiEndpointElement.textContent = apiEndpoint; + } + return config; // \u8FD4\u56DE\u914D\u7F6E\u4FE1\u606F\uFF0C\u4EE5\u4FBF\u94FE\u5F0F\u8C03\u7528 + }) + .catch(error => { + console.error('\u83B7\u53D6\u914D\u7F6E\u4FE1\u606F\u5931\u8D25:', error); + // \u51FA\u9519\u65F6\u663E\u793A\u9ED8\u8BA4\u503C + const protocol = window.location.protocol; + const host = window.location.host; + let _reverseProxy = customBaseUrl; + + // \u6784\u9020\u663E\u793A\u7528\u7684BaseUrl + let baseUrlStr; + if (_reverseProxy) { + baseUrlStr = _reverseProxy.startsWith('http') + ? _reverseProxy + : (protocol + '//' + host + _reverseProxy); + } else { + baseUrlStr = protocol + '//' + host; + } + + let cleanBaseUrl = baseUrlStr; + if (cleanBaseUrl.endsWith('/')) { + cleanBaseUrl = cleanBaseUrl.slice(0, -1); + } + const apiEndpoint = cleanBaseUrl + '/********'; + + const apiEndpointElement = document.getElementById('api-endpoint'); + if (apiEndpointElement) { + apiEndpointElement.textContent = apiEndpoint; + } + + // \u5982\u679C\u662F\u56E0\u4E3A\u53CD\u4EE3\u5BFC\u81F4\u7684\u95EE\u9898\uFF0C\u663E\u793A\u8F93\u5165\u6846 (\u4EA4\u7531renderPreview\u5904\u7406\uFF0C\u6216\u8005\u5728\u8FD9\u91CC\u4E5F\u53EF\u4EE5\u89E6\u53D1) + const proxyContainer = document.getElementById('proxy-config-container'); + if(proxyContainer) { + proxyContainer.style.display = 'block'; + // \u586B\u5145\u5F53\u524D\u8F93\u5165\u6846\uFF08\u5982\u679C\u6709\u503C\uFF09 + if(customBaseUrl) { + document.getElementById('custom-base-url').value = customBaseUrl; + } + } + + throw error; // \u629B\u51FA\u9519\u8BEF\uFF0C\u4EE5\u4FBF\u8C03\u7528\u8005\u53EF\u4EE5\u5904\u7406 + }); +} + +function getDockerVersion() { + const url = "https://img.shields.io/docker/v/logvar/danmu-api?sort=semver"; + + fetch(url) + .then(response => response.text()) + .then(svgContent => { + // \u4F7F\u7528\u6B63\u5219\u8868\u8FBE\u5F0F\u4ECE SVG \u4E2D\u63D0\u53D6\u7248\u672C\u53F7 + const versionMatch = svgContent.match(/version<\\/text>(v[\\d\\.]+)/); + + if (versionMatch && versionMatch[1]) { + console.log("Version:", versionMatch[1]); + const latestVersionElement = document.getElementById('latest-version'); + if (latestVersionElement) { + latestVersionElement.textContent = versionMatch[1]; + } + } else { + console.log("Version not found"); + } + }) + .catch(error => { + console.error("Error fetching the SVG:", error); + }); +} + +// \u5207\u6362\u5BFC\u822A +function switchSection(section, event = null) { + // \u68C0\u67E5\u662F\u5426\u5C1D\u8BD5\u8BBF\u95EE\u53D7token\u4FDD\u62A4\u7684section\uFF08\u65E5\u5FD7\u67E5\u770B\u3001\u63A5\u53E3\u8C03\u8BD5\u3001\u63A8\u9001\u5F39\u5E55\u3001\u8BF7\u6C42\u8BB0\u5F55\u3001\u7CFB\u7EDF\u914D\u7F6E\u9700\u8981token\u8BBF\u95EE\uFF09 + if (section === 'logs' || section === 'api' || section === 'env' || section === 'push' || section === 'request-records') { + let _reverseProxy = customBaseUrl; // \u4F7F\u7528\u5168\u5C40\u914D\u7F6E + + // \u83B7\u53D6URL\u8DEF\u5F84\u5E76\u63D0\u53D6token + let urlPath = window.location.pathname; + if(_reverseProxy) { + // \u4E25\u8C28\u5730\u79FB\u9664BaseUrl\u4E2D\u7684path\u90E8\u5206 + try { + // \u5982\u679C_reverseProxy\u5305\u542B\u5B8C\u6574URL\uFF0C\u63D0\u53D6pathname + // \u5982\u679C\u53EA\u662F\u76F8\u5BF9\u8DEF\u5F84\uFF0C\u76F4\u63A5\u4F7F\u7528 + let proxyPath = _reverseProxy.startsWith('http') + ? new URL(_reverseProxy).pathname + : _reverseProxy; + + // \u786E\u4FDD\u79FB\u9664\u5C3E\u90E8\u659C\u6760\uFF0C\u9632\u6B62\u5339\u914D\u5931\u8D25 + if (proxyPath.endsWith('/')) { + proxyPath = proxyPath.slice(0, -1); + } + + if(proxyPath && urlPath.startsWith(proxyPath)) { + urlPath = urlPath.substring(proxyPath.length); + } + } catch(e) { + console.error("\u89E3\u6790\u53CD\u4EE3\u8DEF\u5F84\u5931\u8D25", e); + } + } + + const pathParts = urlPath.split('/').filter(part => part !== ''); + const urlToken = pathParts.length > 0 ? pathParts[0] : ''; + + // \u68C0\u67E5URL\u4E2D\u662F\u5426\u6709token + if (!urlToken && originalToken !== "87654321") { + // \u63D0\u793A\u7528\u6237\u9700\u8981\u5728URL\u4E2D\u914D\u7F6ETOKEN + setTimeout(() => { + // \u83B7\u53D6\u5F53\u524D\u9875\u9762\u7684\u534F\u8BAE\u3001\u4E3B\u673A\u548C\u7AEF\u53E3 + const protocol = window.location.protocol; + const host = window.location.host; + + // \u6784\u9020\u663E\u793A\u7684BaseUrl\uFF0C\u786E\u4FDD\u662F\u7EDD\u5BF9\u8DEF\u5F84 + let displayBase; + if (_reverseProxy) { + displayBase = _reverseProxy.startsWith('http') + ? _reverseProxy + : (protocol + '//' + host + _reverseProxy); + } else { + displayBase = protocol + '//' + host; + } + + if (displayBase.endsWith('/')) { + displayBase = displayBase.slice(0, -1); + } + + // \u6839\u636Esection\u7C7B\u578B\u663E\u793A\u4E0D\u540C\u7684token\u63D0\u793A + const tokenType = section === 'env' ? 'ADMIN_TOKEN' : 'TOKEN'; + customAlert('\u8BF7\u5728URL\u4E2D\u914D\u7F6E\u76F8\u5E94\u7684' + tokenType + '\u4EE5\u8BBF\u95EE\u6B64\u529F\u80FD\uFF01\\n\\n\u8BBF\u95EE\u65B9\u5F0F\uFF1A' + displayBase + '/{' + tokenType + '}'); + }, 100); + return; + } + + // \u5982\u679C\u662F\u7CFB\u7EDF\u914D\u7F6E\u9875\u9762\uFF0C\u8FD8\u9700\u8981\u68C0\u67E5\u662F\u5426\u914D\u7F6E\u4E86ADMIN_TOKEN\u4E14URL\u4E2D\u7684token\u7B49\u4E8EcurrentAdminToken + if (section === 'env') { + // \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E + checkDeployPlatformConfig().then(result => { + if (!result.success) { + // \u5982\u679C\u914D\u7F6E\u68C0\u67E5\u4E0D\u901A\u8FC7\uFF0C\u53EA\u663E\u793A\u63D0\u793A\uFF0C\u4E0D\u5207\u6362\u9875\u9762 + setTimeout(() => { + customAlert(result.message); + }, 100); + } else { + // \u5982\u679C\u914D\u7F6E\u68C0\u67E5\u901A\u8FC7\uFF0C\u624D\u5207\u6362\u5230env\u9875\u9762 + document.querySelectorAll('.section').forEach(s => s.classList.remove('active')); + document.querySelectorAll('.nav-btn').forEach(b => b.classList.remove('active')); + + document.getElementById(\`\${section}-section\`).classList.add('active'); + // \u5728\u5F02\u6B65\u56DE\u8C03\u4E2D\u4F7F\u7528\u4F20\u5165\u7684event\u53C2\u6570\u6765\u8BBE\u7F6E\u6309\u94AE\u7684active\u72B6\u6001 + if (event && event.target) { + event.target.classList.add('active'); + } + + addLog(\`\u5207\u6362\u5230\${section === 'env' ? '\u73AF\u5883\u53D8\u91CF' : section === 'preview' ? '\u914D\u7F6E\u9884\u89C8' : section === 'logs' ? '\u65E5\u5FD7\u67E5\u770B' : section === 'push' ? '\u63A8\u9001\u5F39\u5E55' : section === 'request-records' ? '\u8BF7\u6C42\u8BB0\u5F55' : '\u63A5\u53E3\u8C03\u8BD5'}\u6A21\u5757\`, 'info'); + } + }); + } else { + // \u5BF9\u4E8E\u65E5\u5FD7\u67E5\u770B\u3001\u63A5\u53E3\u8C03\u8BD5\u548C\u63A8\u9001\u5F39\u5E55\u9875\u9762\uFF0C\u53EA\u8981URL\u4E2D\u6709token\u5C31\u53EF\u4EE5\u8BBF\u95EE + document.querySelectorAll('.section').forEach(s => s.classList.remove('active')); + document.querySelectorAll('.nav-btn').forEach(b => b.classList.remove('active')); + + document.getElementById(\`\${section}-section\`).classList.add('active'); + if (event && event.target) { + event.target.classList.add('active'); + } + + addLog(\`\u5207\u6362\u5230\${section === 'env' ? '\u73AF\u5883\u53D8\u91CF' : section === 'preview' ? '\u914D\u7F6E\u9884\u89C8' : section === 'logs' ? '\u65E5\u5FD7\u67E5\u770B' : section === 'push' ? '\u63A8\u9001\u5F39\u5E55' : section === 'request-records' ? '\u8BF7\u6C42\u8BB0\u5F55' : '\u63A5\u53E3\u8C03\u8BD5'}\u6A21\u5757\`, 'info'); + + // \u5982\u679C\u5207\u6362\u5230\u65E5\u5FD7\u67E5\u770B\u9875\u9762\uFF0C\u5219\u7ACB\u5373\u5237\u65B0\u65E5\u5FD7 + if (section === 'logs') { + if (typeof fetchRealLogs === 'function') { + fetchRealLogs(); + } + } + } + } else { + // \u5BF9\u4E8E\u975E\u53D7\u4FDD\u62A4\u9875\u9762\uFF08\u5982\u914D\u7F6E\u9884\u89C8\uFF09\uFF0C\u6B63\u5E38\u5207\u6362 + document.querySelectorAll('.section').forEach(s => s.classList.remove('active')); + document.querySelectorAll('.nav-btn').forEach(b => b.classList.remove('active')); + + document.getElementById(\`\${section}-section\`).classList.add('active'); + if (event && event.target) { + event.target.classList.add('active'); + } + + addLog(\`\u5207\u6362\u5230\${section === 'env' ? '\u73AF\u5883\u53D8\u91CF' : section === 'preview' ? '\u914D\u7F6E\u9884\u89C8' : section === 'logs' ? '\u65E5\u5FD7\u67E5\u770B' : section === 'push' ? '\u63A8\u9001\u5F39\u5E55' : '\u63A5\u53E3\u8C03\u8BD5'}\u6A21\u5757\`, 'info'); + } +} + +// \u5207\u6362\u7C7B\u522B +function switchCategory(category, event = null) { + currentCategory = category; + document.querySelectorAll('.category-btn').forEach(b => b.classList.remove('active')); + if (event && event.target) { + event.target.classList.add('active'); + } + renderEnvList(); +} + +// \u5173\u95ED\u6A21\u6001\u6846 +function closeModal() { + document.getElementById('env-modal').classList.remove('active'); + + // \u91CD\u7F6E\u8868\u5355\u5B57\u6BB5\u72B6\u6001 + document.getElementById('env-category').disabled = false; + document.getElementById('env-key').readOnly = false; + document.getElementById('value-type').disabled = false; + document.getElementById('env-description').readOnly = false; +} + +// \u9875\u9762\u52A0\u8F7D\u5B8C\u6210\u540E\u521D\u59CB\u5316\u65F6\u83B7\u53D6\u4E00\u6B21\u65E5\u5FD7 +async function init() { + try { + await updateApiEndpoint(); // \u7B49\u5F85API\u7AEF\u70B9\u66F4\u65B0\u5B8C\u6210 + getDockerVersion(); + // \u4ECEAPI\u83B7\u53D6\u914D\u7F6E\u4FE1\u606F\uFF0C\u5305\u62EC\u68C0\u67E5\u662F\u5426\u6709admin token + const config = await fetchAndSetConfig(); + + // \u8BBE\u7F6E\u9ED8\u8BA4\u63A8\u9001\u5730\u5740 + setDefaultPushUrl(config); + + // \u68C0\u67E5\u5E76\u5904\u7406\u7BA1\u7406\u5458\u4EE4\u724C + checkAndHandleAdminToken(); + + loadEnvVariables(); // \u4ECEAPI\u52A0\u8F7D\u771F\u5B9E\u73AF\u5883\u53D8\u91CF\u6570\u636E + renderEnvList(); + renderPreview(); + addLog('\u7CFB\u7EDF\u521D\u59CB\u5316\u5B8C\u6210', 'success'); + // \u83B7\u53D6\u771F\u5B9E\u65E5\u5FD7\u6570\u636E + fetchRealLogs(); + + // \u521D\u59CB\u5316\u63A8\u9001\u5F39\u5E55\u754C\u9762 + if (typeof initPushDanmuInterface === 'function') { + initPushDanmuInterface(); + } + + // \u521D\u59CB\u5316\u63A5\u53E3\u8C03\u8BD5\u754C\u9762 + if (typeof initApiTestInterface === 'function') { + initApiTestInterface(); + } + + } catch (error) { + console.error('\u521D\u59CB\u5316\u5931\u8D25:', error); + addLog('\u7CFB\u7EDF\u521D\u59CB\u5316\u5931\u8D25: ' + error.message, 'error'); + + // \u786E\u4FDD\u53CD\u4EE3\u914D\u7F6E\u6846\u663E\u793A + const proxyContainer = document.getElementById('proxy-config-container'); + if(proxyContainer) { + proxyContainer.style.display = 'block'; + if(customBaseUrl) { + document.getElementById('custom-base-url').value = customBaseUrl; + } + } + + // \u5373\u4F7F\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u4E5F\u8981\u5C1D\u8BD5\u83B7\u53D6\u65E5\u5FD7 + fetchRealLogs(); + } +} + +// \u590D\u5236API\u7AEF\u70B9\u5230\u526A\u8D34\u677F +function copyApiEndpoint() { + const apiEndpointElement = document.getElementById('api-endpoint'); + if (apiEndpointElement) { + const apiEndpoint = apiEndpointElement.textContent; + navigator.clipboard.writeText(apiEndpoint) + .then(() => { + // \u4E34\u65F6\u6539\u53D8\u663E\u793A\u6587\u672C\u4EE5\u63D0\u4F9B\u53CD\u9988 + const originalText = apiEndpointElement.textContent; + apiEndpointElement.textContent = '\u5DF2\u590D\u5236!'; + apiEndpointElement.style.color = '#ff6b6b'; + + // 2\u79D2\u540E\u6062\u590D\u539F\u59CB\u6587\u672C + setTimeout(() => { + apiEndpointElement.textContent = originalText; + apiEndpointElement.style.color = '#4CAF50'; + }, 2000); + + addLog('API\u7AEF\u70B9\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F: ' + apiEndpoint, 'success'); + }) + .catch(err => { + console.error('\u590D\u5236\u5931\u8D25:', err); + customAlert('\u590D\u5236\u5931\u8D25: ' + err); + addLog('\u590D\u5236API\u7AEF\u70B9\u5931\u8D25: ' + err, 'error'); + }); + } +} + +function escapeHtml(text) { + // \u5982\u679C\u662F null \u6216 undefined\uFF0C\u8FD4\u56DE\u7A7A\u5B57\u7B26\u4E32 + if (text === null || text === undefined) { + return ''; + } + + // \u5C06\u975E\u5B57\u7B26\u4E32\u503C\u8F6C\u6362\u4E3A\u5B57\u7B26\u4E32 + const str = String(text); + + const map = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }; + return str.replace(/[&<>"']/g, m => map[m]); +} + + +// \u9875\u9762\u52A0\u8F7D\u5B8C\u6210\u540E\u521D\u59CB\u5316 +init(); +`});var Zbt,e1t=oe(()=>{Zbt=` +// \u6E32\u67D3\u914D\u7F6E\u9884\u89C8 +function renderPreview() { + const preview = document.getElementById('preview-area'); + const proxyConfigContainer = document.getElementById('proxy-config-container'); + + // \u4ECEAPI\u83B7\u53D6\u771F\u5B9E\u914D\u7F6E\u6570\u636E + fetch(buildApiUrl('/api/config')) + .then(response => { + const contentType = response.headers.get("content-type"); + if (contentType && contentType.indexOf("application/json") === -1) { + // \u8FD4\u56DE\u6587\u672C\u4EE5\u4FBF\u540E\u7EED\u5904\u7406\uFF08\u4F8B\u5982\u663E\u793AHTML\u9519\u8BEF\u7684\u524D\u51E0\u4E2A\u5B57\u7B26\uFF09 + return response.text().then(text => { + throw new Error('Expected JSON, got ' + contentType + '. Content: ' + text.substring(0, 50) + '...'); + }); + } + if (!response.ok) { + throw new Error('HTTP error! status: ' + response.status); + } + return response.json(); + }) + .then(config => { + // \u6210\u529F\u52A0\u8F7D\uFF0C\u9690\u85CF\u53CD\u4EE3\u914D\u7F6E\u6846 + if(proxyConfigContainer) { + proxyConfigContainer.style.display = 'none'; + } + + // \u4F7F\u7528\u4ECEAPI\u83B7\u53D6\u7684\u5206\u7C7B\u73AF\u5883\u53D8\u91CF + const categorizedVars = config.categorizedEnvVars || {}; + + // \u6E32\u67D3\u9884\u89C8\u5185\u5BB9 + let html = ''; + + Object.keys(categorizedVars).forEach(category => { + const items = categorizedVars[category]; + if (items && items.length > 0) { + html += \`

\${getCategoryName(category)}

\`; + items.forEach(item => { + const escapedValue = escapeHtml(item.value); + html += \` +
+
+
\${item.key}
+
\${escapedValue}
+
+ \${item.description ? \`
\${item.description}
\` : ''} +
+ \`; + }); + } + }); + + preview.innerHTML = html || '

\u6682\u65E0\u914D\u7F6E

'; + }) + .catch(error => { + console.error('Failed to load config for preview:', error); + + // \u663E\u793A\u53CD\u4EE3\u914D\u7F6E\u6846 + if(proxyConfigContainer) { + proxyConfigContainer.style.display = 'block'; + // \u5982\u679C\u6709\u5DF2\u4FDD\u5B58\u7684URL\uFF0C\u586B\u5145\u5B83 + const savedUrl = localStorage.getItem('logvar_api_base_url'); + if(savedUrl) { + document.getElementById('custom-base-url').value = savedUrl; + } + } + + preview.innerHTML = '

\u52A0\u8F7D\u914D\u7F6E\u5931\u8D25: ' + error.message + '

'; + addLog('\u52A0\u8F7D\u914D\u7F6E\u5931\u8D25: ' + error.message, 'error'); + }); +} + +// \u83B7\u53D6\u7C7B\u522B\u540D\u79F0 +function getCategoryName(category) { + const names = { + api: '\u{1F517} API\u914D\u7F6E', + source: '\u{1F4DC} \u6E90\u914D\u7F6E', + match: '\u{1F50D} \u5339\u914D\u914D\u7F6E', + danmu: '\u{1F523} \u5F39\u5E55\u914D\u7F6E', + cache: '\u{1F4BE} \u7F13\u5B58\u914D\u7F6E', + system: '\u2699\uFE0F \u7CFB\u7EDF\u914D\u7F6E' + }; + return names[category] || category; +} +`});var t1t,r1t=oe(()=>{t1t=` +// \u65E5\u5FD7\u5168\u5C40\u8FC7\u6EE4\u72B6\u6001 +let currentLogFilter = 'ALL'; + +// \u83B7\u53D6\u65E5\u5FD7\u7684\u4E25\u683C\u5F52\u5C5E\u5206\u7C7B +function getLogCategory(message) { + // \u5339\u914D\u884C\u9996\u7684\u8FDE\u7EED\u65B9\u62EC\u53F7\u6807\u7B7E (\u9700\u53CC\u91CD\u8F6C\u4E49) + const prefixMatch = message.match(/^(?:\\s*\\[[^\\]]+\\])+/); + if (!prefixMatch) { + // \u65E0\u6807\u7B7E\u884C\u4F5C\u4E3A\u7EED\u884C\u7EE7\u627F\u4E0A\u4E00\u884C\u7684\u5206\u7C7B + return '_inherit_'; + } + + const tags = prefixMatch[0].match(/\\[([^\\]]+)\\]/g).map(t => t.replace(/[\\[\\]]/g, '').trim()); + + // \u5F52\u7C7B\u5408\u5E76\u5DE5\u5177\u65E5\u5FD7 + // \u53EA\u8981\u884C\u9996\u5305\u542B Merge\uFF0C\u6216\u8005\u5305\u542B\u5408\u5E76\u6620\u5C04\u72EC\u6709\u7684\u5B50\u6807\u7B7E\uFF0C\u5F3A\u884C\u5C06\u5176\u6536\u675F\u81F3 Merge \u4E13\u5C5E\u5206\u7C7B + if (tags.some(t => t.toLowerCase() === 'merge' || ['\u5339\u914D', '\u843D\u5355', '\u8865\u5168', '\u5408\u96C6', '\u7565\u8FC7', 'Merge-Check'].some(key => t.includes(key)))) { + return 'merge'; + } + + // \u6392\u9664\u65F6\u95F4\u6233\u548C\u5E95\u5C42\u65E0\u610F\u4E49\u6807\u7B7E\uFF0C\u6293\u53D6\u771F\u6B63\u7684\u4E1A\u52A1\u6E90 + const validTags = tags.filter(t => + !/^\\d{4}-\\d{2}-\\d{2}[T ]/.test(t) && // \u6392\u9664 ISO \u65F6\u95F4\u6233\u683C\u5F0F\uFF08YYYY-MM-DDTHH:MM:SS\uFF09 + !/^\\d{2}:\\d{2}(:\\d{2})?$/.test(t) && // \u6392\u9664 HH:MM:SS \u65F6\u95F4\u683C\u5F0F\uFF08JSON \u7EED\u884C\uFF09 + !t.includes('08:00') && + t !== '\u8BF7\u6C42\u6A21\u62DF' && + t !== '\u7F51\u7EDC\u8BF7\u6C42' + ); + + if (validTags.length === 0) { + // \u5168\u90E8\u6807\u7B7E\u88AB\u65F6\u95F4\u6233\u7B49\u8FC7\u6EE4\u89C4\u5219\u6392\u9664\uFF0C\u4F5C\u4E3A\u7EED\u884C\u7EE7\u627F\u4E0A\u4E00\u884C\u7684\u5206\u7C7B + return '_inherit_'; + } + + // \u7EDF\u4E00\u8F6C\u6362\u4E3A\u5C0F\u5199\uFF0C\u786E\u4FDD\u5927\u5C0F\u5199\u53D8\u4F53(\u5982 Bahamut \u548C bahamut)\u6536\u675F\u81F3\u540C\u4E00\u5185\u90E8\u6807\u8BC6\u7B26 + let category = validTags[0].toLowerCase(); + + // \u6807\u7B7E\u5F52\u4E00\u5316\uFF1A\u5C06\u53D8\u4F53\u6807\u7B7E\u6620\u5C04\u5230\u6807\u51C6\u5206\u7C7B + const normalizationMap = { + 'vod fastest mode': 'vod', + 'custom source': 'custom', + 'bilibili-proxy': 'bilibili', + 'tmdb-source': 'tmdb', + 'path check': 'system', + 'path fix': 'system', + 'base': 'system', + 'fongmi': 'system', + }; + if (normalizationMap[category]) { + category = normalizationMap[category]; + } + + return category; +} + +// \u65E5\u5FD7\u76F8\u5173 +function addLog(message, type = 'info') { + const timestamp = new Date().toLocaleTimeString(); + logs.push({ timestamp, message, type }); + if (logs.length > 100) logs.shift(); + renderLogs(); +} + +function renderLogs() { + const container = document.getElementById('log-container'); + const filterContainer = document.getElementById('log-filters') || createFilterContainer(); + + let filteredLogs = logs; + if (currentLogFilter !== 'ALL') { + // \u91C7\u7528\u4E25\u683C\u5F52\u5C5E\u6821\u9A8C\uFF0C\u540C\u65F6\u652F\u6301\u7EED\u884C\u4E0A\u4E0B\u6587\u7EE7\u627F + let lastCategory = 'system'; + filteredLogs = logs.filter(log => { + let category = getLogCategory(log.message); + if (category === '_inherit_') { + // \u7EED\u884C\u7EE7\u627F\u4E0A\u4E00\u4E2A\u660E\u786E\u5206\u7C7B\u884C + category = lastCategory; + } else { + lastCategory = category; + } + return category === currentLogFilter; + }); + } + + container.innerHTML = filteredLogs.map(log => { + let highlightedMessage = log.message; + + // \u884C\u9996\u8FDE\u7EED\u6807\u7B7E\u9AD8\u4EAE (\u9700\u53CC\u91CD\u8F6C\u4E49) + const prefixMatch = log.message.match(/^(?:\\s*\\[[^\\]]+\\])+/); + if (prefixMatch) { + const prefix = prefixMatch[0]; + const rest = log.message.slice(prefix.length); + const coloredPrefix = prefix.replace(/\\[([^\\]]+)\\]/g, '[$1]'); + highlightedMessage = coloredPrefix + rest; + } + + return \`
[\${log.timestamp}] \${highlightedMessage}
\`; + }).join(''); + container.scrollTop = container.scrollHeight; + + updateFilterUI(); +} + +function createFilterContainer() { + const controls = document.querySelector('.log-controls'); + const filterDiv = document.createElement('div'); + filterDiv.id = 'log-filters'; + filterDiv.className = 'log-filters-container'; + controls.parentNode.insertBefore(filterDiv, document.getElementById('log-container')); + return filterDiv; +} + +// \u6807\u7B7E\u663E\u793A\u987A\u5E8F\uFF1AALL \u2192 \u7CFB\u7EDF \u2192 \u5DE5\u5177 \u2192 \u6E90\uFF0C\u7EC4\u5185\u5B57\u6BCD\u5E8F +const tagGroupOrder = [ + ['system', 'ai'], + ['utils', 'cache', 'merge'], + ['360kan', 'aiyifan', 'animeko', 'bahamut', 'bilibili', 'custom', 'dandan', 'douban', 'hanjutv', 'iqiyi', 'leshi', 'maiduidui', 'mango', 'migu', 'other', 'renren', 'sohu', 'tencent', 'tmdb', 'vod', 'xigua', 'youku'], +]; +const tagOrderMap = {}; +tagGroupOrder.forEach((group, gi) => group.forEach((tag, ti) => tagOrderMap[tag] = gi * 1000 + ti)); + +function updateFilterUI() { + const filterContainer = document.getElementById('log-filters'); + let html = \`\`; + + const currentTags = new Set(); + let lastCategory = 'system'; + logs.forEach(log => { + let category = getLogCategory(log.message); + // \u7EED\u884C\u7EE7\u627F\u4E0A\u4E00\u4E2A\u660E\u786E\u5206\u7C7B\u884C + if (category === '_inherit_') { + category = lastCategory; + } else { + lastCategory = category; + } + // \u6240\u6709\u5206\u7C7B\u6807\u7B7E\u5747\u751F\u6210\u7B5B\u9009\u6309\u94AE + currentTags.add(category); + }); + + [...currentTags].sort((a, b) => { + const ai = tagOrderMap[a] ?? 99999, bi = tagOrderMap[b] ?? 99999; + return ai !== bi ? ai - bi : a.localeCompare(b); + }).forEach(tag => { + html += \`\`; + }); + + filterContainer.innerHTML = html; +} + +window.setLogFilter = function(tag) { + currentLogFilter = tag; + renderLogs(); +}; + +// \u4ECEAPI\u83B7\u53D6\u771F\u5B9E\u65E5\u5FD7\u6570\u636E +async function fetchRealLogs() { + try { + // \u65E5\u5FD7\u67E5\u770B\u4F7F\u7528\u666E\u901Atoken\u8BBF\u95EE\uFF0C\u4E0D\u9700\u8981admin token + const response = await fetch(buildApiUrl('/api/logs')); // \u4E0D\u4F7F\u7528admin token + if (!response.ok) { + throw new Error(\`HTTP error! status: \${response.status}\`); + } + const logText = await response.text(); + // \u89E3\u6790\u65E5\u5FD7\u6587\u672C\u4E3A\u6570\u7EC4 + const logLines = logText.split('\\n').filter(line => line.trim() !== ''); + // \u8F6C\u6362\u4E3Alogs\u6570\u7EC4\u683C\u5F0F + logs = logLines.map(line => { + // \u89E3\u6790\u65E5\u5FD7\u884C\uFF0C\u63D0\u53D6\u65F6\u95F4\u6233\u3001\u7EA7\u522B\u548C\u6D88\u606F + const match = line.match(/\\[([^\\]]+)\\] (\\w+): (.*)/); + if (match) { + return { + timestamp: match[1], + type: match[2], + message: match[3] + }; + } + // \u5982\u679C\u65E0\u6CD5\u89E3\u6790\uFF0C\u8FD4\u56DE\u539F\u59CB\u884C + return { + timestamp: new Date().toLocaleTimeString(), + type: 'info', + message: line + }; + }); + renderLogs(); + } catch (error) { + console.error('Failed to fetch logs:', error); + addLog(\`\u83B7\u53D6\u65E5\u5FD7\u5931\u8D25: \${error.message}\`, 'error'); + } +} + +function refreshLogs() { + // \u4ECEAPI\u83B7\u53D6\u771F\u5B9E\u65E5\u5FD7\u6570\u636E + fetchRealLogs(); +} + +async function clearLogs() { + // \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E + const configCheck = await checkDeployPlatformConfig(); + if (!configCheck.success) { + customAlert(configCheck.message); + return; + } + + customConfirm('\u786E\u5B9A\u8981\u6E05\u7A7A\u6240\u6709\u65E5\u5FD7\u5417?', '\u6E05\u7A7A\u786E\u8BA4').then(async confirmed => { + if (confirmed) { + try { + const clearLogsUrl = currentAdminToken && checkAdminToken() + ? buildApiUrl('/api/logs/clear', true) + : buildApiUrl('/api/logs/clear'); + const response = await fetch(clearLogsUrl, { + method: 'POST' + }); + + if (!response.ok) { + throw new Error(\`HTTP error! status: \${response.status}\`); + } + + const result = await response.json(); + if (result.success) { + // \u6E05\u7A7A\u524D\u7AEF\u663E\u793A\u7684\u65E5\u5FD7 + logs = []; + renderLogs(); + addLog('\u65E5\u5FD7\u5DF2\u6E05\u7A7A', 'warn'); + } else { + addLog(\`\u6E05\u7A7A\u65E5\u5FD7\u5931\u8D25: \${result.message}\`, 'error'); + } + } catch (error) { + console.error('Failed to clear logs:', error); + addLog(\`\u6E05\u7A7A\u65E5\u5FD7\u5931\u8D25: \${error.message}\`, 'error'); + } + } + }); +} + +// JSON\u9AD8\u4EAE\u51FD\u6570 +function highlightJSON(obj) { + let json = JSON.stringify(obj, null, 2); + // \u8F6C\u4E49HTML\u7279\u6B8A\u5B57\u7B26 + json = json.replace(/&/g, '&').replace(//g, '>'); + + // \u9AD8\u4EAEJSON\u8BED\u6CD5 + return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(s*:)?|\b(true|false|null)\b|-?d+(?:.d*)?(?:[eE][+-]?d+)?)/g, function (match) { + let cls = 'number'; + if (/^"/.test(match)) { + if (/:$/.test(match)) { + cls = 'key'; + } else { + cls = 'string'; + } + } else if (/true|false/.test(match)) { + cls = 'boolean'; + } else if (/null/.test(match)) { + cls = 'null'; + } + return '' + match + ''; + }); +} +`});var n1t,s1t=oe(()=>{n1t=` +// API \u914D\u7F6E +const apiConfigs = { + searchAnime: { + name: '\u641C\u7D22\u52A8\u6F2B', + method: 'GET', + path: '/api/v2/search/anime', + params: [ + { name: 'keyword', label: '\u5173\u952E\u8BCD \u6216 \u64AD\u653E\u94FE\u63A5URL', type: 'text', required: true, placeholder: '\u793A\u4F8B: \u751F\u4E07\u7269 \u6216 http://v.qq.com/x/cover/rjae621myqca41h/j0032ubhl9s.html' } + ] + }, + searchEpisodes: { + name: '\u641C\u7D22\u5267\u96C6', + method: 'GET', + path: '/api/v2/search/episodes', + params: [ + { name: 'anime', label: '\u52A8\u6F2B\u540D\u79F0', type: 'text', required: true, placeholder: '\u793A\u4F8B: \u751F\u4E07\u7269' }, + { name: 'episode', label: '\u96C6', type: 'text', required: false, placeholder: '\u793A\u4F8B: 1, movie' } + ] + }, + matchAnime: { + name: '\u5339\u914D\u52A8\u6F2B', + method: 'POST', + path: '/api/v2/match', + params: [ + { name: 'fileName', label: '\u6587\u4EF6\u540D', type: 'text', required: true, placeholder: '\u793A\u4F8B: \u751F\u4E07\u7269 S02E08, \u65E0\u5FE7\u6E21.S02E08.2160p.WEB-DL.H265.DDP.5.1, \u7231\u60C5\u516C\u5BD3.ipartment.2009.S02E08.H.265.25fps.mkv, \u4EB2\u7231\u7684X S02E08, \u5B87\u5B99Marry Me? S02E08' } + ] + }, + getBangumi: { + name: '\u83B7\u53D6\u756A\u5267\u8BE6\u60C5', + method: 'GET', + path: '/api/v2/bangumi/:animeId', + params: [ + { name: 'animeId', label: '\u52A8\u6F2BID', type: 'text', required: true, placeholder: '\u793A\u4F8B: 236379' } + ] + }, + getComment: { + name: '\u83B7\u53D6\u5F39\u5E55', + method: 'GET', + path: '/api/v2/comment/:commentId', + params: [ + { name: 'commentId', label: '\u5F39\u5E55ID', type: 'text', required: true, placeholder: '\u793A\u4F8B: 10009' }, + { name: 'format', label: '\u683C\u5F0F', type: 'select', required: false, placeholder: '\u53EF\u9009: json\u6216xml', options: ['json', 'xml'] }, + { name: 'duration', label: '\u9644\u5E26\u65F6\u957F', type: 'select', required: false, placeholder: '\u53EF\u9009: true\u6216false', options: ['true', 'false'] }, + { name: 'segmentflag', label: '\u5206\u7247\u6807\u5FD7', type: 'select', required: false, placeholder: '\u53EF\u9009: true\u6216false', options: ['true', 'false'] } + ] + }, + getSegmentComment: { + name: '\u83B7\u53D6\u5206\u7247\u5F39\u5E55', + method: 'POST', + path: '/api/v2/segmentcomment', + params: [ + { name: 'format', label: '\u683C\u5F0F', type: 'select', required: false, placeholder: '\u53EF\u9009: json\u6216xml', options: ['json', 'xml'] }, + ], + hasBody: true, + bodyType: 'json' + } +}; + +// \u5F39\u5E55\u6D4B\u8BD5\u5168\u5C40\u72B6\u6001 +let danmuTestState = { + allComments: [], + filteredComments: [], + currentFilter: 'all', + displayedCount: 0, + pageSize: 100, + currentEpisodeId: null, + currentTitle: '', + currentDuration: 0, + currentCallTrace: null, + currentManualSearchCallTraceBase: null, + currentManualEpisodeCallTraceBase: null, + nextDanmuRequestId: 0, + activeDanmuRequestId: 0, + nextDanmuFlowRequestId: 0, + activeDanmuFlowRequestId: 0, + nextManualBangumiRequestId: 0, + activeManualBangumiRequestId: 0 +}; + +// \u521D\u59CB\u5316\u63A5\u53E3\u8C03\u8BD5\u754C\u9762 +function initApiTestInterface() { + const apiSelect = document.getElementById('api-select'); + if (apiSelect) { + apiSelect.addEventListener('keypress', function(event) { + if (event.key === 'Enter') { loadApiParams(); } + }); + } + const autoInput = document.getElementById('auto-match-filename'); + if (autoInput) { + autoInput.addEventListener('keypress', function(event) { + if (event.key === 'Enter') { autoMatchTest(); } + }); + } + const manualInput = document.getElementById('manual-search-keyword'); + if (manualInput) { + manualInput.addEventListener('keypress', function(event) { + if (event.key === 'Enter') { manualSearchAnime(); } + }); + } +} + +// \u4E3A\u53C2\u6570\u8F93\u5165\u6846\u6DFB\u52A0\u56DE\u8F66\u4E8B\u4EF6\u76D1\u542C +function attachEnterEventToParams() { + // \u5EF6\u8FDF\u6267\u884C\uFF0C\u786E\u4FDDDOM\u5143\u7D20\u5DF2\u7ECF\u6E32\u67D3 + setTimeout(() => { + // \u83B7\u53D6\u6240\u6709\u53C2\u6570\u8F93\u5165\u6846 + const paramInputs = document.querySelectorAll('#params-form input[type="text"], #params-form textarea, #params-form select'); + paramInputs.forEach(input => { + // \u79FB\u9664\u4E4B\u524D\u7684\u4E8B\u4EF6\u76D1\u542C\u5668\uFF08\u907F\u514D\u91CD\u590D\u7ED1\u5B9A\uFF09 + input.removeEventListener('keypress', handleParamInputEnter); + // \u6DFB\u52A0\u65B0\u7684\u4E8B\u4EF6\u76D1\u542C\u5668 + input.addEventListener('keypress', handleParamInputEnter); + }); + }, 100); +} + +function updateCommentDurationFieldVisibility() { + const apiSelect = document.getElementById('api-select'); + const durationGroup = document.querySelector('#params-form [data-param-name="duration"]'); + const durationInput = document.getElementById('param-duration'); + const formatInput = document.getElementById('param-format'); + + if (!durationGroup) return; + + const isCommentApi = apiSelect && apiSelect.value === 'getComment'; + const formatValue = formatInput ? formatInput.value.toLowerCase() : ''; + const shouldShowDuration = isCommentApi && (formatValue === '' || formatValue === 'json'); + + durationGroup.style.display = shouldShowDuration ? '' : 'none'; + if (!shouldShowDuration && durationInput) { + durationInput.value = ''; + } +} + +function bindCommentDurationFieldVisibility() { + const formatInput = document.getElementById('param-format'); + if (!formatInput) return; + formatInput.addEventListener('change', updateCommentDurationFieldVisibility); + updateCommentDurationFieldVisibility(); +} + +// \u5904\u7406\u53C2\u6570\u8F93\u5165\u6846\u7684\u56DE\u8F66\u4E8B\u4EF6 +function handleParamInputEnter(event) { + if (event.key === 'Enter') { + // \u89E6\u53D1\u6D4B\u8BD5API\u6309\u94AE\u7684\u70B9\u51FB\u4E8B\u4EF6 + const testButton = document.querySelector('#api-params .btn-success'); + if (testButton) { + testButton.click(); + } + } +} + +// \u63A5\u53E3\u8C03\u8BD5\u76F8\u5173 +function loadApiParams() { + const select = document.getElementById('api-select'); + const apiKey = select.value; + const paramsDiv = document.getElementById('api-params'); + const formDiv = document.getElementById('params-form'); + + if (!apiKey) { + paramsDiv.style.display = 'none'; + return; + } + + const config = apiConfigs[apiKey]; + paramsDiv.style.display = 'block'; + + let html = ''; + + // \u6DFB\u52A0\u67E5\u8BE2\u53C2\u6570\u90E8\u5206 + if (config.params && config.params.length > 0) { + html += '
'; + html += '

\u67E5\u8BE2\u53C2\u6570

'; + html += config.params.map(param => { + if (param.type === 'select') { + // \u4E3Aselect\u7C7B\u578B\u53C2\u6570\u6DFB\u52A0\u9ED8\u8BA4\u9009\u9879 + let optionsHtml = ''; + if (param.options) { + optionsHtml += param.options.map(opt => \`\`).join(''); + } + return \` +
+ + + \${param.placeholder ? \`
\${param.placeholder}
\` : ''} +
+ \`; + } + // \u4F7F\u7528placeholder\u5C5E\u6027\u663E\u793A\u793A\u4F8B\u53C2\u6570 + const placeholder = param.placeholder ? param.placeholder : "\u8BF7\u8F93\u5165" + param.label; + return \` +
+ + +
+ \`; + }).join(''); + html += '
'; + } + + // \u6DFB\u52A0\u8BF7\u6C42\u4F53\u90E8\u5206\uFF08\u5982\u679C\u63A5\u53E3\u6709\u8BF7\u6C42\u4F53\uFF09 + if (config.hasBody) { + html += '
'; + html += '

\u8BF7\u6C42\u4F53

'; + html += \`
+ + +
\u8F93\u5165JSON\u683C\u5F0F\u7684\u8BF7\u6C42\u4F53\u5185\u5BB9
+
\`; + html += '
'; + } + + if (!html) { + html = '

\u6B64\u63A5\u53E3\u65E0\u9700\u53C2\u6570

'; + } + + formDiv.innerHTML = html; + + // \u4E3A\u53C2\u6570\u8F93\u5165\u6846\u6DFB\u52A0\u56DE\u8F66\u4E8B\u4EF6\u76D1\u542C + attachEnterEventToParams(); + bindCommentDurationFieldVisibility(); +} + +function testApi() { + const select = document.getElementById('api-select'); + const apiKey = select.value; + const sendButton = document.querySelector('#api-params .btn-success'); // \u83B7\u53D6\u53D1\u9001\u8BF7\u6C42\u6309\u94AE + + if (!apiKey) { + addLog('\u8BF7\u5148\u9009\u62E9\u63A5\u53E3', 'error'); + return; + } + + // \u8BBE\u7F6E\u6309\u94AE\u4E3A\u52A0\u8F7D\u72B6\u6001 + const originalText = sendButton.innerHTML; + sendButton.innerHTML = ''; + sendButton.disabled = true; + + const config = apiConfigs[apiKey]; + const params = {}; + + // \u83B7\u53D6\u67E5\u8BE2\u53C2\u6570 + if (config.params) { + config.params.forEach(param => { + const value = document.getElementById(\`param-\${param.name}\`).value; + if (value) params[param.name] = value; + }); + } + + addLog(\`\u8C03\u7528\u63A5\u53E3: \${config.name} (\${config.method} \${config.path})\`, 'info'); + addLog(\`\u8BF7\u6C42\u53C2\u6570: \${JSON.stringify(params)}\`, 'info'); + + // \u6784\u5EFA\u8BF7\u6C42URL + let url = config.path; + + // \u68C0\u67E5\u662F\u5426\u4E3A\u8DEF\u5F84\u53C2\u6570\u63A5\u53E3 + const isPathParameterApi = config.path.includes(':'); + + if (isPathParameterApi) { + // \u5904\u7406\u8DEF\u5F84\u53C2\u6570\u63A5\u53E3 (/api/v2/comment \u548C /api/v2/bangumi) + // \u5148\u5206\u79BB\u8DEF\u5F84\u53C2\u6570\u548C\u67E5\u8BE2\u53C2\u6570 + const pathParams = {}; + const queryParams = {}; + + // \u5206\u7C7B\u53C2\u6570 + for (const [key, value] of Object.entries(params)) { + // \u68C0\u67E5\u53C2\u6570\u662F\u5426\u4E3A\u8DEF\u5F84\u53C2\u6570 + if (config.path.includes(':' + key)) { + pathParams[key] = value; + } else { + // \u5176\u4ED6\u53C2\u6570\u4F5C\u4E3A\u67E5\u8BE2\u53C2\u6570 + queryParams[key] = value; + } + } + + // \u66FF\u6362\u8DEF\u5F84\u53C2\u6570 + for (const [key, value] of Object.entries(pathParams)) { + url = url.replace(':' + key, encodeURIComponent(value)); + } + + // \u6DFB\u52A0\u67E5\u8BE2\u53C2\u6570 + if (config.method === 'GET' && Object.keys(queryParams).length > 0) { + const queryString = new URLSearchParams(queryParams).toString(); + url = url + '?' + queryString; + } + } else { + // \u4FDD\u6301\u539F\u6765\u7684\u903B\u8F91\uFF0C\u7528\u4E8E search/anime \u7B49\u63A5\u53E3 + if (config.method === 'GET') { + const queryString = new URLSearchParams(params).toString(); + url = url + '?' + queryString; + } else if (config.method === 'POST' && apiKey === 'getSegmentComment') { + // \u5BF9\u4E8E getSegmentComment \u63A5\u53E3\uFF0C\u9700\u8981\u5C06 format \u53C2\u6570\u6DFB\u52A0\u5230 URL \u67E5\u8BE2\u53C2\u6570\u4E2D + const queryParams = {}; + if (params.format) { + queryParams.format = params.format; + } + if (Object.keys(queryParams).length > 0) { + const queryString = new URLSearchParams(queryParams).toString(); + url = url + '?' + queryString; + } + } + } + + // \u914D\u7F6E\u8BF7\u6C42\u9009\u9879 + const requestOptions = { + method: config.method, + headers: { + 'Content-Type': 'application/json' + } + }; + + // \u5904\u7406\u8BF7\u6C42\u4F53 + if (config.hasBody) { + // \u4ECE\u8BF7\u6C42\u4F53\u8F93\u5165\u6846\u83B7\u53D6\u5185\u5BB9 + const bodyContent = document.getElementById('body-content').value; + if (bodyContent) { + try { + // \u5C1D\u8BD5\u89E3\u6790\u7528\u6237\u8F93\u5165\u7684JSON + const bodyData = JSON.parse(bodyContent); + requestOptions.body = JSON.stringify(bodyData); + } catch (e) { + addLog('\u8BF7\u6C42\u4F53JSON\u683C\u5F0F\u9519\u8BEF: ' + e.message, 'error'); + sendButton.innerHTML = originalText; + sendButton.disabled = false; + return; + } + } else { + // \u5982\u679C\u6CA1\u6709\u5728\u8BF7\u6C42\u4F53\u8F93\u5165\u6846\u4E2D\u8F93\u5165\u5185\u5BB9\uFF0C\u5219\u4F7F\u7528\u53C2\u6570\u6784\u5EFA\u8BF7\u6C42\u4F53\uFF08\u5411\u540E\u517C\u5BB9\uFF09 + if (apiKey === 'getSegmentComment') { + // \u5BF9\u4E8E getSegmentComment \u63A5\u53E3\uFF0C\u521B\u5EFA segment \u5BF9\u8C61 + const segmentData = { url: params.url }; + if (params.format) { + segmentData.format = params.format; + } + requestOptions.body = JSON.stringify(segmentData); + } else { + requestOptions.body = JSON.stringify(params); + } + } + } else if (config.method === 'POST') { + // \u5BF9\u4E8E\u6CA1\u6709\u7279\u6B8A\u8BF7\u6C42\u4F53\u914D\u7F6E\u7684POST\u63A5\u53E3\uFF0C\u4F7F\u7528\u53C2\u6570\u6784\u5EFA\u8BF7\u6C42\u4F53 + requestOptions.body = JSON.stringify(params); + } + + // \u53D1\u9001\u771F\u5B9EAPI\u8BF7\u6C42 + fetch(buildApiUrl(url), requestOptions) + .then(response => { + if (!response.ok) { + throw new Error(\`HTTP error! status: \${response.status}\`); + } + + // \u68C0\u67E5format\u53C2\u6570\u4EE5\u786E\u5B9A\u5982\u4F55\u5904\u7406\u54CD\u5E94 + const formatParam = params.format || 'json'; + + if (formatParam.toLowerCase() === 'xml') { + // \u5BF9\u4E8EXML\u683C\u5F0F\uFF0C\u8FD4\u56DE\u6587\u672C\u5185\u5BB9 + return response.text().then(text => ({ + data: text, + format: 'xml' + })); + } else { + // \u5BF9\u4E8EJSON\u683C\u5F0F\u6216\u5176\u4ED6\u60C5\u51B5\uFF0C\u8FD4\u56DEJSON\u5BF9\u8C61 + return response.json().then(json => ({ + data: json, + format: 'json' + })); + } + }) + .then(result => { + // \u663E\u793A\u54CD\u5E94\u7ED3\u679C + document.getElementById('api-response-container').style.display = 'block'; + + if (result.format === 'xml') { + // \u663E\u793AXML\u54CD\u5E94 + document.getElementById('api-response').textContent = result.data; + document.getElementById('api-response').className = 'api-response xml'; // \u4F7F\u7528XML\u4E13\u7528\u6837\u5F0F\u7C7B + } else { + // \u663E\u793AJSON\u54CD\u5E94 + document.getElementById('api-response').className = 'json-response'; + document.getElementById('api-response').innerHTML = highlightJSON(result.data); + } + + addLog('\u63A5\u53E3\u8C03\u7528\u6210\u529F', 'success'); + }) + .catch(error => { + // \u5904\u7406\u9519\u8BEF + const errorMessage = \`API\u8BF7\u6C42\u5931\u8D25: \${error.message}\`; + document.getElementById('api-response-container').style.display = 'block'; + document.getElementById('api-response').textContent = errorMessage; + // \u6DFB\u52A0\u9519\u8BEF\u4FE1\u606F\u7684CSS\u7C7B + document.getElementById('api-response').className = 'error-response'; + addLog(errorMessage, 'error'); + }) + .finally(() => { + // \u6062\u590D\u6309\u94AE\u72B6\u6001 + sendButton.innerHTML = originalText; + sendButton.disabled = false; + }); +} + +// ===================== +// \u6807\u7B7E\u9875\u5207\u6362 +// ===================== +function switchApiTopTab(tab, event) { + document.querySelectorAll('.api-top-tab').forEach(btn => btn.classList.remove('active')); + document.querySelectorAll('.api-tab-content').forEach(el => el.classList.remove('active')); + event.target.classList.add('active'); + if (tab === 'debug') { + document.getElementById('api-debug-content').classList.add('active'); + } else { + document.getElementById('danmu-test-content').classList.add('active'); + } +} + +function switchDanmuTestTab(tab, event) { + document.querySelectorAll('.danmu-test-tab').forEach(btn => btn.classList.remove('active')); + document.querySelectorAll('.danmu-test-panel').forEach(el => el.classList.remove('active')); + event.target.classList.add('active'); + if (tab === 'auto') { + document.getElementById('auto-match-panel').classList.add('active'); + } else { + document.getElementById('manual-match-panel').classList.add('active'); + } +} + +// ===================== +// \u5DE5\u5177\u51FD\u6570 +// ===================== +function decColorToHex(dec) { + const n = parseInt(dec) || 16777215; + return '#' + n.toString(16).padStart(6, '0'); +} + +function parseDanmuMode(p) { + const parts = p.split(','); + return parseInt(parts[1]) || 1; +} + +function parseDanmuColor(p) { + const parts = p.split(','); + return parseInt(parts[2]) || 16777215; +} + +function parseDanmuTime(p) { + return parseFloat(p.split(',')[0]) || 0; +} + +function getModeLabel(mode) { + switch (mode) { + case 4: return '\u5E95\u90E8'; + case 5: return '\u9876\u90E8'; + default: return '\u6EDA\u52A8'; + } +} + +function formatDuration(seconds) { + const s = Math.floor(seconds); + const h = Math.floor(s / 3600); + const m = Math.floor((s % 3600) / 60); + const sec = s % 60; + if (h > 0) return h + ':' + String(m).padStart(2,'0') + ':' + String(sec).padStart(2,'0'); + return m + ':' + String(sec).padStart(2,'0'); +} + +function getValidDanmuTimes(comments) { + return comments + .map(c => c.t !== undefined ? Number(c.t) : parseDanmuTime(c.p)) + .filter(time => Number.isFinite(time) && time >= 0) + .sort((a, b) => a - b); +} + +function getPercentileValue(sortedValues, percentile) { + if (!sortedValues.length) return 0; + const safePercentile = Math.min(Math.max(percentile, 0), 1); + const index = Math.floor((sortedValues.length - 1) * safePercentile); + return sortedValues[index] || 0; +} + +function getMedian(values) { + if (!values.length) return 0; + const sorted = [...values].sort((a, b) => a - b); + const mid = Math.floor(sorted.length / 2); + return sorted.length % 2 === 0 ? (sorted[mid - 1] + sorted[mid]) / 2 : sorted[mid]; +} + +function buildTailGapThreshold(sortedValues) { + if (sortedValues.length < 2) return 45; + + const gaps = []; + const startIndex = Math.max(1, sortedValues.length - 80); + for (let i = startIndex; i < sortedValues.length; i++) { + const gap = sortedValues[i] - sortedValues[i - 1]; + if (gap > 0) { + gaps.push(gap); + } + } + + if (!gaps.length) return 45; + + const sortedGaps = [...gaps].sort((a, b) => a - b); + const medianGap = getMedian(sortedGaps); + const p90Gap = getPercentileValue(sortedGaps, 0.9); + return Math.min(240, Math.max(45, medianGap * 12, p90Gap * 3)); +} + +function estimateVideoDurationFromComments(comments) { + const validTimes = getValidDanmuTimes(comments); + if (!validTimes.length) return 0; + if (validTimes.length < 200) return validTimes[validTimes.length - 1]; + + const p995Time = getPercentileValue(validTimes, 0.995); + const p998Time = getPercentileValue(validTimes, 0.998); + const gapThreshold = buildTailGapThreshold(validTimes); + const trimBaseline = p998Time + Math.max(90, gapThreshold * 2); + let endIndex = validTimes.length - 1; + + while (endIndex > 0) { + let tailStartIndex = endIndex; + while (tailStartIndex > 0) { + const gap = validTimes[tailStartIndex] - validTimes[tailStartIndex - 1]; + if (gap > gapThreshold) break; + tailStartIndex--; + } + + const tailClusterSize = endIndex - tailStartIndex + 1; + const tailClusterSpan = validTimes[endIndex] - validTimes[tailStartIndex]; + const previousGap = tailStartIndex > 0 ? validTimes[tailStartIndex] - validTimes[tailStartIndex - 1] : 0; + const isIsolatedTail = tailStartIndex > 0 + && tailClusterSize <= 2 + && tailClusterSpan <= 15 + && previousGap > gapThreshold; + + if (!isIsolatedTail || validTimes[endIndex] <= trimBaseline) { + break; + } + + endIndex = tailStartIndex - 1; + } + + return Math.max(validTimes[Math.max(endIndex, 0)] || 0, p995Time); +} + +function getEffectiveDuration(comments, explicitDuration) { + if (Number.isFinite(explicitDuration) && explicitDuration > 0) { + return explicitDuration; + } + return estimateVideoDurationFromComments(comments); +} + +function setBtnLoading(btn, loading) { + if (!btn) return; + if (loading) { + btn._origText = btn.innerHTML; + btn.innerHTML = ''; + btn.disabled = true; + } else { + btn.innerHTML = btn._origText || '\u6309\u94AE'; + btn.disabled = false; + } +} + +// \u901A\u7528\uFF1A\u663E\u793A\u6307\u5B9A\u9762\u677F\uFF0C\u9690\u85CF\u540C\u7EA7\u5176\u4ED6\u9762\u677F +function showDanmuView(showIds, hideIds) { + hideIds.forEach(id => { const el = document.getElementById(id); if (el) el.style.display = 'none'; }); + showIds.forEach(id => { const el = document.getElementById(id); if (el) el.style.display = 'block'; }); +} + +// \u751F\u6210\u8FD4\u56DE\u6309\u94AEHTML +function backBtnHtml(text, onclick) { + return ''; +} + +function inlineJsString(value) { + return escapeHtml(JSON.stringify(String(value || ''))); +} + +function createDanmuCallTrace(mode, inputText) { + return { + mode: mode || 'manual', + inputText: inputText || '', + steps: [], + startedAt: performance.now() + }; +} + +function cloneDanmuCallTrace(trace) { + if (!trace) return null; + return { + mode: trace.mode, + inputText: trace.inputText, + startedAt: performance.now(), + steps: (trace.steps || []).map(step => Object.assign({}, step)) + }; +} + +function createDanmuCallStep(step) { + return Object.assign({ + name: '', + method: 'GET', + url: '', + params: '', + result: '', + elapsed: 0, + status: 'success' + }, step); +} + +function addDanmuCallStep(trace, step) { + if (!trace) return; + trace.steps.push(createDanmuCallStep(step)); +} + +function finishDanmuCallStep(trace, startedAt, step) { + addDanmuCallStep(trace, Object.assign({}, step, { + elapsed: performance.now() - startedAt + })); +} + +function finishDanmuCallFailure(trace, startedAt, step, error) { + const message = error && error.message ? error.message : String(error || '\u672A\u77E5\u9519\u8BEF'); + finishDanmuCallStep(trace, startedAt, Object.assign({ + status: 'error', + result: '\u5931\u8D25\uFF1A' + message + }, step)); +} + +function finishDanmuCallEmpty(trace, startedAt, step, message) { + finishDanmuCallStep(trace, startedAt, Object.assign({ + status: 'empty', + result: message || '\u65E0\u7ED3\u679C' + }, step)); +} + +function safeDanmuApiPath(path) { + return String(path || '').replace(new RegExp('^/[^/]+/api/'), '//api/'); +} + +function renderDanmuCallTrace(trace) { + return ''; +} + +function getDanmuCallTraceTotalMs(trace) { + if (!trace || !Array.isArray(trace.steps) || trace.steps.length === 0) return 0; + return trace.steps.reduce((sum, step) => sum + (Number(step.elapsed) || 0), 0); +} + +function renderDanmuCallFailure(trace, title, message, source) { + let html = '
'; + if (source === 'manual-episode') { + html += backBtnHtml('\u8FD4\u56DE\u5217\u8868', 'backToEpisodeList()'); + } else if (source === 'manual-anime') { + html += backBtnHtml('\u8FD4\u56DE\u641C\u7D22\u7ED3\u679C', 'backToManualSearch()'); + } + html += '
'; + html += '
' + escapeHtml(title || '\u8C03\u7528\u5931\u8D25') + '\uFF1A' + escapeHtml(message || '\u8BF7\u6C42\u5931\u8D25') + '
'; + html += renderDanmuCallTrace(trace); + return html; +} + +function showDanmuCallTraceFailure(trace, title, message, source) { + const resultArea = document.getElementById('danmu-result-area'); + if (!resultArea) return; + resultArea.innerHTML = renderDanmuCallFailure(trace, title, message, source); + resultArea.style.display = 'block'; +} + +function getDanmuCallTraceTotalSeconds(trace, fallbackSeconds) { + const totalMs = getDanmuCallTraceTotalMs(trace); + if (totalMs > 0) return (totalMs / 1000).toFixed(2); + return fallbackSeconds || '0.00'; +} + +function formatCallElapsed(ms) { + if (!Number.isFinite(ms)) return '--'; + return ms >= 1000 ? (ms / 1000).toFixed(2) + 's' : Math.round(ms) + 'ms'; +} + +function startDanmuFlowRequest() { + const requestId = ++danmuTestState.nextDanmuFlowRequestId; + danmuTestState.activeDanmuFlowRequestId = requestId; + danmuTestState.activeManualBangumiRequestId = 0; + invalidateActiveDanmuRequest(); + return requestId; +} + +function isCurrentDanmuFlowRequest(requestId) { + return danmuTestState.activeDanmuFlowRequestId === requestId; +} + +function startManualBangumiRequest() { + const requestId = ++danmuTestState.nextManualBangumiRequestId; + danmuTestState.activeManualBangumiRequestId = requestId; + danmuTestState.activeDanmuFlowRequestId = 0; + invalidateActiveDanmuRequest(); + return requestId; +} + +function isCurrentManualBangumiRequest(requestId) { + return danmuTestState.activeManualBangumiRequestId === requestId; +} + +function invalidateActiveDanmuRequest() { + danmuTestState.activeDanmuRequestId = 0; +} + +function setDanmuFlowButtonLoading(btn, requestId, loading) { + if (!btn) return; + if (loading) { + btn._danmuFlowRequestId = requestId; + setBtnLoading(btn, true); + return; + } + if (btn._danmuFlowRequestId === requestId) { + setBtnLoading(btn, false); + btn._danmuFlowRequestId = 0; + } +} + +// ===================== +// \u81EA\u52A8\u5339\u914D\u6D4B\u8BD5 +// ===================== +async function autoMatchTest() { + const fileName = document.getElementById('auto-match-filename').value.trim(); + if (!fileName) { customAlert('\u8BF7\u8F93\u5165\u6587\u4EF6\u540D'); return; } + + const flowRequestId = startDanmuFlowRequest(); + const btn = document.getElementById('auto-match-btn'); + setDanmuFlowButtonLoading(btn, flowRequestId, true); + document.getElementById('danmu-result-area').style.display = 'none'; + addLog('\u81EA\u52A8\u5339\u914D\u6D4B\u8BD5: ' + fileName, 'info'); + const trace = createDanmuCallTrace('auto', fileName); + danmuTestState.currentCallTrace = trace; + danmuTestState.currentManualSearchCallTraceBase = null; + danmuTestState.currentManualEpisodeCallTraceBase = null; + + let matchStartedAt = 0; + try { + matchStartedAt = performance.now(); + const resp = await fetch(buildApiUrl('/api/v2/match'), { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ fileName: fileName }) + }); + if (!resp.ok) throw new Error('HTTP ' + resp.status); + const data = await resp.json(); + if (!isCurrentDanmuFlowRequest(flowRequestId)) return; + + if (data.isMatched && data.matches && data.matches.length > 0) { + const best = data.matches[0]; + const title = (best.animeTitle || '') + ' ' + (best.episodeTitle || ''); + finishDanmuCallStep(trace, matchStartedAt, { + name: '\u5339\u914D', + method: 'POST', + url: '/api/v2/match', + params: '\u6587\u4EF6\u540D\uFF1A' + fileName, + result: '\u547D\u4E2D ' + data.matches.length + ' \u4E2A\u7ED3\u679C\uFF0CepisodeId: ' + best.episodeId + }); + addLog('\u81EA\u52A8\u5339\u914D\u547D\u4E2D: ' + title + ' (\u5171' + data.matches.length + '\u4E2A\u7ED3\u679C\uFF0C\u53D6\u7B2C1\u4E2A)', 'success'); + setDanmuFlowButtonLoading(btn, flowRequestId, false); + fetchDanmuForTest(best.episodeId, title, 'auto', trace); + return; + } else { + finishDanmuCallEmpty(trace, matchStartedAt, { + name: '\u5339\u914D', + method: 'POST', + url: '/api/v2/match', + params: '\u6587\u4EF6\u540D\uFF1A' + fileName + }, '\u672A\u5339\u914D\u5230\u4EFB\u4F55\u7ED3\u679C'); + customAlert('\u672A\u5339\u914D\u5230\u4EFB\u4F55\u7ED3\u679C'); + addLog('\u81EA\u52A8\u5339\u914D\u65E0\u7ED3\u679C', 'warn'); + showDanmuCallTraceFailure(trace, '\u81EA\u52A8\u5339\u914D\u65E0\u7ED3\u679C', '\u672A\u5339\u914D\u5230\u4EFB\u4F55\u7ED3\u679C', 'auto'); + } + } catch (e) { + if (!isCurrentDanmuFlowRequest(flowRequestId)) return; + finishDanmuCallFailure(trace, matchStartedAt || performance.now(), { + name: '\u5339\u914D', + method: 'POST', + url: '/api/v2/match', + params: '\u6587\u4EF6\u540D\uFF1A' + fileName + }, e); + customAlert('\u5339\u914D\u5931\u8D25: ' + e.message); + addLog('\u81EA\u52A8\u5339\u914D\u5931\u8D25: ' + e.message, 'error'); + showDanmuCallTraceFailure(trace, '\u81EA\u52A8\u5339\u914D\u5931\u8D25', e.message, 'auto'); + } finally { + setDanmuFlowButtonLoading(btn, flowRequestId, false); + } +} + +// ===================== +// \u624B\u52A8\u5339\u914D\u6D4B\u8BD5 +// ===================== +async function manualSearchAnime() { + const keyword = document.getElementById('manual-search-keyword').value.trim(); + if (!keyword) { customAlert('\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u5B57'); return; } + + const flowRequestId = startDanmuFlowRequest(); + const btn = document.getElementById('manual-search-btn'); + setDanmuFlowButtonLoading(btn, flowRequestId, true); + document.getElementById('manual-anime-list').style.display = 'none'; + document.getElementById('manual-episode-list').style.display = 'none'; + document.getElementById('danmu-result-area').style.display = 'none'; + addLog('\u624B\u52A8\u641C\u7D22: ' + keyword, 'info'); + const trace = createDanmuCallTrace('manual', keyword); + danmuTestState.currentCallTrace = trace; + danmuTestState.currentManualSearchCallTraceBase = null; + danmuTestState.currentManualEpisodeCallTraceBase = null; + + let searchStartedAt = 0; + let searchUrl = ''; + try { + searchUrl = '/api/v2/search/anime?keyword=' + encodeURIComponent(keyword); + searchStartedAt = performance.now(); + const resp = await fetch(buildApiUrl(searchUrl)); + if (!resp.ok) throw new Error('HTTP ' + resp.status); + const data = await resp.json(); + if (!isCurrentDanmuFlowRequest(flowRequestId)) return; + + if (data.success && data.animes && data.animes.length > 0) { + finishDanmuCallStep(trace, searchStartedAt, { + name: '\u641C\u7D22', + method: 'GET', + url: searchUrl, + params: '\u5173\u952E\u8BCD\uFF1A' + keyword, + result: '\u627E\u5230 ' + data.animes.length + ' \u4E2A\u52A8\u6F2B' + }); + danmuTestState.currentManualSearchCallTraceBase = cloneDanmuCallTrace(trace); + displayManualAnimeList(data.animes); + addLog('\u641C\u7D22\u5230 ' + data.animes.length + ' \u4E2A\u52A8\u6F2B', 'success'); + } else { + finishDanmuCallEmpty(trace, searchStartedAt, { + name: '\u641C\u7D22', + method: 'GET', + url: searchUrl, + params: '\u5173\u952E\u8BCD\uFF1A' + keyword + }, '\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B'); + customAlert('\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B'); + addLog('\u641C\u7D22\u65E0\u7ED3\u679C', 'warn'); + showDanmuCallTraceFailure(trace, '\u641C\u7D22\u65E0\u7ED3\u679C', '\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B', 'manual-search'); + } + } catch (e) { + if (!isCurrentDanmuFlowRequest(flowRequestId)) return; + finishDanmuCallFailure(trace, searchStartedAt || performance.now(), { + name: '\u641C\u7D22', + method: 'GET', + url: searchUrl || '/api/v2/search/anime', + params: '\u5173\u952E\u8BCD\uFF1A' + keyword + }, e); + customAlert('\u641C\u7D22\u5931\u8D25: ' + e.message); + addLog('\u641C\u7D22\u5931\u8D25: ' + e.message, 'error'); + showDanmuCallTraceFailure(trace, '\u641C\u7D22\u5931\u8D25', e.message, 'manual-search'); + } finally { + setDanmuFlowButtonLoading(btn, flowRequestId, false); + } +} + +function displayManualAnimeList(animes) { + const container = document.getElementById('manual-anime-list'); + let html = '

\u641C\u7D22\u7ED3\u679C

'; + animes.forEach(anime => { + const animeId = Number.parseInt(anime.animeId, 10); + if (!Number.isFinite(animeId)) return; + const img = escapeHtml(anime.imageUrl || 'https://placehold.co/150x200?text=No+Image'); + html += '
'; + html += '' + escapeHtml(anime.animeTitle) + ''; + html += '

' + escapeHtml(anime.animeTitle) + ' - \u5171' + (anime.episodeCount || '?') + '\u96C6

'; + html += '
'; + }); + html += '
'; + container.innerHTML = html; + container.style.display = 'block'; +} + +async function manualGetBangumi(animeId) { + const detailRequestId = startManualBangumiRequest(); + const requestTrace = danmuTestState.currentManualSearchCallTraceBase + ? cloneDanmuCallTrace(danmuTestState.currentManualSearchCallTraceBase) + : createDanmuCallTrace('manual', String(animeId || '')); + danmuTestState.currentCallTrace = requestTrace; + addLog('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5: ' + animeId, 'info'); + // \u9690\u85CF\u641C\u7D22\u7ED3\u679C\uFF0C\u663E\u793A\u5267\u96C6\u5217\u8868\u533A\u57DF + showDanmuView(['manual-episode-list'], ['manual-anime-list', 'danmu-result-area']); + + let bangumiStartedAt = 0; + const bangumiUrl = '/api/v2/bangumi/' + animeId; + try { + bangumiStartedAt = performance.now(); + const resp = await fetch(buildApiUrl(bangumiUrl)); + if (!resp.ok) throw new Error('HTTP ' + resp.status); + const data = await resp.json(); + if (!isCurrentManualBangumiRequest(detailRequestId)) return; + + const episodes = data && data.bangumi && Array.isArray(data.bangumi.episodes) ? data.bangumi.episodes : []; + if (data.success && data.bangumi && episodes.length > 0) { + finishDanmuCallStep(requestTrace, bangumiStartedAt, { + name: '\u756A\u5267\u8BE6\u60C5', + method: 'GET', + url: bangumiUrl, + params: 'animeId: ' + animeId, + result: '\u83B7\u53D6\u5230 ' + episodes.length + ' \u4E2A\u5267\u96C6' + }); + danmuTestState.currentManualEpisodeCallTraceBase = cloneDanmuCallTrace(requestTrace); + displayManualEpisodeList(data.bangumi.animeTitle, episodes); + addLog('\u83B7\u53D6\u5230 ' + episodes.length + ' \u4E2A\u5267\u96C6', 'success'); + } else { + finishDanmuCallEmpty(requestTrace, bangumiStartedAt, { + name: '\u756A\u5267\u8BE6\u60C5', + method: 'GET', + url: bangumiUrl, + params: 'animeId: ' + animeId + }, '\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F'); + customAlert('\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F'); + showDanmuCallTraceFailure(requestTrace, '\u756A\u5267\u8BE6\u60C5\u65E0\u5267\u96C6', '\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F', 'manual-anime'); + // \u6062\u590D\u641C\u7D22\u7ED3\u679C + showDanmuView(['manual-anime-list'], ['manual-episode-list']); + } + } catch (e) { + if (!isCurrentManualBangumiRequest(detailRequestId)) return; + finishDanmuCallFailure(requestTrace, bangumiStartedAt || performance.now(), { + name: '\u756A\u5267\u8BE6\u60C5', + method: 'GET', + url: bangumiUrl, + params: 'animeId: ' + animeId + }, e); + customAlert('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25: ' + e.message); + addLog('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25: ' + e.message, 'error'); + showDanmuCallTraceFailure(requestTrace, '\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25', e.message, 'manual-anime'); + showDanmuView(['manual-anime-list'], ['manual-episode-list']); + } +} + +function displayManualEpisodeList(animeTitle, episodes) { + const container = document.getElementById('manual-episode-list'); + let html = backBtnHtml('\u8FD4\u56DE\u641C\u7D22\u7ED3\u679C', 'backToManualSearch()'); + html += '

\u5267\u96C6\u5217\u8868

'; + html += '

' + escapeHtml(animeTitle) + '

'; + + // \u6DFB\u52A0\u8DF3\u8F6C\u5230\u6307\u5B9A\u96C6\u6570\u7684\u529F\u80FD + html += \` +
+ \u8DF3\u8F6C\u5230\u7B2C + + \u96C6 + + \u5171\${episodes.length}\u96C6 +
\`; + + html += '
'; + episodes.forEach(ep => { + const episodeId = Number.parseInt(ep.episodeId, 10); + const episodeNumber = Number.parseInt(ep.episodeNumber, 10); + if (!Number.isFinite(episodeId) || !Number.isFinite(episodeNumber)) return; + const title = String(animeTitle || '') + ' \u7B2C' + episodeNumber + '\u96C6'; + html += '
'; + html += '
\u7B2C' + episodeNumber + '\u96C6 - ' + escapeHtml(ep.episodeTitle || '\u65E0\u6807\u9898') + '
'; + html += ''; + html += '
'; + }); + html += '
'; + container.innerHTML = html; + container.style.display = 'block'; + setTimeout(() => container.scrollIntoView({ behavior: 'smooth', block: 'start' }), 10); +} + +// \u8FD4\u56DE\u641C\u7D22\u7ED3\u679C +function backToManualSearch() { + showDanmuView(['manual-anime-list'], ['manual-episode-list', 'danmu-result-area']); +} + +// \u8FD4\u56DE\u5267\u96C6\u5217\u8868 +function backToEpisodeList() { + showDanmuView(['manual-episode-list'], ['danmu-result-area']); +} + +// \u8DF3\u8F6C\u5230\u6307\u5B9A\u96C6\u6570 +function jumpToEpisode() { + const episodeInput = document.getElementById('jump-episode-input'); + const episodeNumber = parseInt(episodeInput.value); + + if (!episodeNumber || episodeNumber <= 0) { + customAlert('\u8BF7\u8F93\u5165\u6709\u6548\u7684\u96C6\u6570\uFF08\u6B63\u6574\u6570\uFF09'); + return; + } + + // \u67E5\u627E\u5BF9\u5E94\u96C6\u6570\u7684\u5143\u7D20 + const episodeElement = document.getElementById('episode-item-' + episodeNumber); + if (episodeElement) { + // \u6EDA\u52A8\u5230\u6307\u5B9A\u5143\u7D20\u4F4D\u7F6E + episodeElement.scrollIntoView({ behavior: 'smooth', block: 'center' }); + // \u6DFB\u52A0\u9AD8\u4EAE\u6548\u679C\u4EE5\u4FBF\u8BC6\u522B + episodeElement.classList.add('episode-item-highlight'); + setTimeout(() => { + episodeElement.classList.remove('episode-item-highlight'); + }, 2000); + } else { + customAlert('\u627E\u4E0D\u5230\u7B2C' + episodeNumber + '\u96C6'); + } +} + +function isCurrentDanmuRequest(requestId) { + return danmuTestState.activeDanmuRequestId === requestId; +} + +// ===================== +// \u83B7\u53D6\u5F39\u5E55\u5E76\u5C55\u793A\u7ED3\u679C +// ===================== +async function fetchDanmuForTest(episodeId, title, source, traceBase) { + addLog('\u83B7\u53D6\u5F39\u5E55: ' + episodeId + ' (' + title + ')', 'info'); + const requestId = ++danmuTestState.nextDanmuRequestId; + danmuTestState.activeDanmuRequestId = requestId; + let requestTrace = null; + if (traceBase) { + requestTrace = cloneDanmuCallTrace(traceBase); + danmuTestState.currentCallTrace = requestTrace; + } else if (source === 'manual' && danmuTestState.currentManualEpisodeCallTraceBase) { + danmuTestState.currentCallTrace = cloneDanmuCallTrace(danmuTestState.currentManualEpisodeCallTraceBase); + requestTrace = danmuTestState.currentCallTrace; + } else { + requestTrace = cloneDanmuCallTrace(danmuTestState.currentCallTrace); + danmuTestState.currentCallTrace = requestTrace; + } + danmuTestState.currentEpisodeId = episodeId; + danmuTestState.currentTitle = title; + danmuTestState.currentDuration = 0; + + // \u9690\u85CF\u4E0A\u7EA7\u9762\u677F + if (source === 'manual') { + showDanmuView([], ['manual-episode-list', 'manual-anime-list', 'danmu-result-area']); + } else { + showDanmuView([], ['danmu-result-area']); + } + + // \u663E\u793A\u52A0\u8F7D\u52A8\u753B + const resultArea = document.getElementById('danmu-result-area'); + resultArea.innerHTML = '
\u6B63\u5728\u83B7\u53D6\u5F39\u5E55\u6570\u636E...
'; + resultArea.style.display = 'block'; + + const startTime = performance.now(); + try { + const commentUrl = '/api/v2/comment/' + episodeId + '?format=json&duration=true'; + const data = await fetch(buildApiUrl(commentUrl)) + .then(resp => { + if (!resp.ok) throw new Error('HTTP ' + resp.status); + return resp.json(); + }); + if (!isCurrentDanmuRequest(requestId)) return; + const elapsed = ((performance.now() - startTime) / 1000).toFixed(2); + const durationSeconds = Number((data && data.videoDuration) || 0); + + if (!data.comments || data.comments.length === 0) { + finishDanmuCallEmpty(requestTrace, startTime, { + name: '\u5F39\u5E55', + method: 'GET', + url: commentUrl, + params: 'episodeId: ' + episodeId + '\uFF0Cformat=json\uFF0Cduration=true' + }, '\u8BE5\u5267\u96C6\u6682\u65E0\u5F39\u5E55\u6570\u636E'); + customAlert('\u8BE5\u5267\u96C6\u6682\u65E0\u5F39\u5E55\u6570\u636E'); + addLog('\u65E0\u5F39\u5E55\u6570\u636E', 'warn'); + const failureSource = source === 'manual' ? 'manual-episode' : source; + resultArea.innerHTML = renderDanmuCallFailure(requestTrace, '\u65E0\u5F39\u5E55\u6570\u636E', '\u8BE5\u5267\u96C6\u6682\u65E0\u5F39\u5E55\u6570\u636E', failureSource); + resultArea.style.display = 'block'; + return; + } + + finishDanmuCallStep(requestTrace, startTime, { + name: '\u5F39\u5E55', + method: 'GET', + url: commentUrl, + params: 'episodeId: ' + episodeId + '\uFF0Cformat=json\uFF0Cduration=true', + result: data.comments.length + ' \u6761\u5F39\u5E55' + }); + + addLog('\u83B7\u53D6\u5230 ' + data.comments.length + ' \u6761\u5F39\u5E55, \u8017\u65F6 ' + elapsed + 's', 'success'); + + danmuTestState.allComments = data.comments; + danmuTestState.currentFilter = 'all'; + danmuTestState.displayedCount = 0; + danmuTestState.currentDuration = durationSeconds; + + // \u91CD\u5EFA\u7ED3\u679C\u533A\u5185\u5BB9\uFF1Aauto\u6A21\u5F0F\u53EA\u6709\u5BFC\u51FA\u6309\u94AE\uFF0Cmanual\u6A21\u5F0F\u6709\u8FD4\u56DE+\u5BFC\u51FA + let toolbarHtml = '
'; + if (source === 'manual') { + toolbarHtml += backBtnHtml('\u8FD4\u56DE\u5217\u8868', 'backToEpisodeList()'); + } + toolbarHtml += '
' + + '' + + '' + + '
'; + + const filterCounts = getDanmuFilterCounts(data.comments); + resultArea.innerHTML = + toolbarHtml + + '
' + + renderDanmuCallTrace(requestTrace) + + '

\u5F39\u5E55\u70ED\u529B\u56FE

' + + '

\u5F39\u5E55\u5217\u8868

' + + renderDanmuFilterTabs(filterCounts) + + '
' + + '' + + '
'; + + applyDanmuFilter(); + renderDanmuStats(data, elapsed, title, durationSeconds, filterCounts); + renderDanmuHeatmap(data.comments, durationSeconds); + renderDanmuList(); + + setTimeout(() => resultArea.scrollIntoView({ behavior: 'smooth', block: 'start' }), 10); + } catch (e) { + if (!isCurrentDanmuRequest(requestId)) return; + const commentUrl = '/api/v2/comment/' + episodeId + '?format=json&duration=true'; + finishDanmuCallFailure(requestTrace, startTime, { + name: '\u5F39\u5E55', + method: 'GET', + url: commentUrl, + params: 'episodeId: ' + episodeId + '\uFF0Cformat=json\uFF0Cduration=true' + }, e); + customAlert('\u83B7\u53D6\u5F39\u5E55\u5931\u8D25: ' + e.message); + addLog('\u83B7\u53D6\u5F39\u5E55\u5931\u8D25: ' + e.message, 'error'); + const failureSource = source === 'manual' ? 'manual-episode' : source; + resultArea.innerHTML = renderDanmuCallFailure(requestTrace, '\u83B7\u53D6\u5F39\u5E55\u5931\u8D25', e.message, failureSource); + resultArea.style.display = 'block'; + } +} + +// ===================== +// \u5BFC\u51FA\u5F39\u5E55\uFF08\u76F4\u63A5\u8BF7\u6C42\u540E\u7AEF\u83B7\u53D6\u683C\u5F0F\u5316\u6570\u636E\uFF09 +// ===================== +async function exportDanmu(format) { + const id = danmuTestState.currentEpisodeId; + if (!id) { customAlert('\u65E0\u5F39\u5E55\u6570\u636E\u53EF\u5BFC\u51FA'); return; } + + const title = danmuTestState.currentTitle || ('danmu_' + id); + // \u6E05\u7406\u6587\u4EF6\u540D\u4E2D\u7684\u975E\u6CD5\u5B57\u7B26 + const safeTitle = title.replace(/[\\\\/:*?"<>|]/g, '_'); + + addLog('\u5BFC\u51FA\u5F39\u5E55 ' + format.toUpperCase() + '...', 'info'); + try { + const resp = await fetch(buildApiUrl('/api/v2/comment/' + id + '?format=' + format)); + if (!resp.ok) throw new Error('HTTP ' + resp.status); + + let content, mimeType; + if (format === 'xml') { + content = await resp.text(); + mimeType = 'application/xml'; + } else { + const data = await resp.json(); + content = JSON.stringify(data, null, 2); + mimeType = 'application/json'; + } + + const blob = new Blob([content], { type: mimeType }); + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = safeTitle + '.' + format; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + URL.revokeObjectURL(url); + addLog('\u5BFC\u51FA\u5F39\u5E55 ' + format.toUpperCase() + ' \u6210\u529F', 'success'); + } catch (e) { + customAlert('\u5BFC\u51FA\u5931\u8D25: ' + e.message); + addLog('\u5BFC\u51FA\u5931\u8D25: ' + e.message, 'error'); + } +} + +// ===================== +// \u5F39\u5E55\u7EDF\u8BA1 +// ===================== +function renderDanmuStats(data, elapsed, title, durationSeconds, filterCounts) { + const comments = data.comments; + const count = comments.length; + + const maxTime = getEffectiveDuration(comments, durationSeconds); + + // \u5E73\u5747\u5BC6\u5EA6 + const durationMin = maxTime / 60; + const avgDensity = durationMin > 0 ? (count / durationMin).toFixed(1) : '0'; + + // \u9AD8\u80FD\u65F6\u523B\uFF1A\u627E\u5BC6\u5EA6\u6700\u9AD8\u768430\u79D2\u533A\u95F4 + const segLen = 30; + const segCount = Math.ceil(maxTime / segLen) || 1; + const segs = new Array(segCount).fill(0); + comments.forEach(c => { + const t = c.t !== undefined ? c.t : parseDanmuTime(c.p); + if (t > maxTime) return; // \u8DF3\u8FC7\u5F02\u5E38\u65F6\u95F4\u70B9 + const idx = Math.min(Math.floor(t / segLen), segCount - 1); + segs[idx]++; + }); + let hotIdx = 0; + for (let i = 1; i < segs.length; i++) { + if (segs[i] > segs[hotIdx]) hotIdx = i; + } + const hotStart = hotIdx * segLen; + const hotMoment = formatDuration(hotStart) + ' - ' + formatDuration(hotStart + segLen); + + const coloredCount = comments.reduce((sum, comment) => { + if (!comment || !comment.p) return sum; + const color = parseInt(String(comment.p).split(',')[2], 10); + return Number.isFinite(color) && color !== 16777215 ? sum + 1 : sum; + }, 0); + const coloredRatio = count > 0 ? ((coloredCount / count) * 100).toFixed(1) + '%' : '--'; + + const container = document.getElementById('danmu-stats'); + container.innerHTML = + '
' + escapeHtml(title) + '
' + + '
' + + '
' + count + '
\u5F39\u5E55\u6570
' + + '
' + formatDuration(maxTime) + '
\u65F6\u957F
' + + '
' + hotMoment + '
\u9AD8\u80FD\u65F6\u523B
' + + '
' + avgDensity + ' \u6761/\u5206
\u5E73\u5747\u5BC6\u5EA6
' + + '
' + elapsed + 's
\u8BF7\u6C42\u8017\u65F6
' + + '
' + coloredRatio + '
\u5F69\u8272\u5360\u6BD4
' + + '
'; +} + +// ===================== +// \u5F39\u5E55\u70ED\u529B\u56FE +// ===================== +function renderDanmuHeatmap(comments, durationSeconds) { + const container = document.getElementById('danmu-heatmap'); + const maxTime = getEffectiveDuration(comments, durationSeconds); + if (maxTime === 0) { container.innerHTML = '

\u65E0\u6570\u636E

'; return; } + + const barCount = Math.min(60, Math.max(20, Math.ceil(maxTime / 30))); + const segLen = maxTime / barCount; + const segs = new Array(barCount).fill(0); + comments.forEach(c => { + const t = c.t !== undefined ? c.t : parseDanmuTime(c.p); + if (t > maxTime) return; // \u8DF3\u8FC7\u5F02\u5E38\u65F6\u95F4\u70B9 + const idx = Math.min(Math.floor(t / segLen), barCount - 1); + segs[idx]++; + }); + + const maxSeg = Math.max(...segs, 1); + let html = '
'; + html += '
'; + for (let i = 0; i < barCount; i++) { + const pct = Math.max(2, (segs[i] / maxSeg) * 100); + const intensity = segs[i] / maxSeg; + // \u4ECE\u84DD\u5230\u7EA2\u7684\u6E10\u53D8 + const r = Math.round(66 + intensity * 189); + const g = Math.round(126 - intensity * 80); + const b = Math.round(234 - intensity * 180); + const start = i * segLen; + const end = Math.min((i + 1) * segLen, maxTime); + const timeLabel = formatDuration(start) + ' - ' + formatDuration(end); + html += '
'; + } + html += '
'; + html += '
'; + html += '
'; + html += '
00:00' + formatDuration(maxTime / 2) + '' + formatDuration(maxTime) + '
'; + container.innerHTML = html; + bindDanmuHeatmapScrub(container, segs, segLen, maxTime); +} + +function bindDanmuHeatmapScrub(container, segs, segLen, maxTime) { + const interactive = container.querySelector('.danmu-heatmap-interactive'); + const bars = container.querySelector('.heatmap-bars'); + const tooltip = container.querySelector('.danmu-heatmap-tooltip'); + const indicator = container.querySelector('.danmu-heatmap-indicator'); + if (!interactive || !bars || !tooltip || !indicator) return; + + let rafId = null; + let latestEvent = null; + const scheduleUpdate = event => { + latestEvent = event; + if (rafId) return; + rafId = requestAnimationFrame(() => { + rafId = null; + if (!latestEvent) return; + updateDanmuHeatmapTooltip(latestEvent, interactive, bars, tooltip, indicator, segs, segLen, maxTime); + }); + }; + + const hideTooltip = () => hideDanmuHeatmapTooltip(bars, tooltip, indicator, () => { + if (rafId) { + cancelAnimationFrame(rafId); + rafId = null; + } + latestEvent = null; + }); + + interactive.addEventListener('pointermove', scheduleUpdate, { passive: true }); + interactive.addEventListener('pointerdown', scheduleUpdate, { passive: true }); + interactive.addEventListener('pointerup', hideTooltip, { passive: true }); + interactive.addEventListener('pointercancel', hideTooltip, { passive: true }); + interactive.addEventListener('pointerleave', hideTooltip); +} + +function hideDanmuHeatmapTooltip(bars, tooltip, indicator, beforeHide) { + if (beforeHide) beforeHide(); + tooltip.classList.remove('active'); + indicator.classList.remove('active'); + const activeBar = bars.querySelector('.heatmap-bar.active'); + if (activeBar) activeBar.classList.remove('active'); +} + +function updateDanmuHeatmapTooltip(event, interactive, bars, tooltip, indicator, segs, segLen, maxTime) { + if (!event) return; + const rect = bars.getBoundingClientRect(); + if (!rect.width) return; + const ratio = Math.max(0, Math.min(1, (event.clientX - rect.left) / rect.width)); + const index = Math.max(0, Math.min(segs.length - 1, Math.floor(ratio * segs.length))); + const start = index * segLen; + const end = Math.min((index + 1) * segLen, maxTime); + const leftPct = ((index + 0.5) / segs.length) * 100; + + const activeBar = bars.querySelector('.heatmap-bar.active'); + if (activeBar) activeBar.classList.remove('active'); + const currentBar = bars.querySelector('.heatmap-bar[data-index="' + index + '"]'); + if (currentBar) currentBar.classList.add('active'); + + tooltip.innerHTML = '' + segs[index] + '\u6761\u5F39\u5E55' + formatDuration(start) + ' - ' + formatDuration(end) + ''; + tooltip.classList.add('active'); + indicator.classList.add('active'); + + const clampedLeft = clampHeatmapTooltipLeft(interactive, tooltip, leftPct); + tooltip.style.left = clampedLeft + 'px'; + indicator.style.left = leftPct + '%'; +} + +function clampHeatmapTooltipLeft(interactive, tooltip, leftPct) { + const width = interactive.clientWidth || 0; + const tooltipWidth = tooltip.offsetWidth || 0; + const padding = 8; + const rawLeft = (leftPct / 100) * width; + const minLeft = (tooltipWidth / 2) + padding; + const maxLeft = width - (tooltipWidth / 2) - padding; + if (width <= tooltipWidth + padding * 2) return width / 2; + return Math.max(minLeft, Math.min(maxLeft, rawLeft)); +} + +function getDanmuFilterCounts(comments) { + const counts = { all: comments.length, scroll: 0, top: 0, bottom: 0 }; + comments.forEach(c => { + const mode = parseDanmuMode(c.p); + if (mode === 5) counts.top++; + else if (mode === 4) counts.bottom++; + else counts.scroll++; + }); + return counts; +} + +function renderDanmuFilterTabs(counts) { + const items = [ + { key: 'all', label: '\u5168\u90E8' }, + { key: 'scroll', label: '\u6EDA\u52A8' }, + { key: 'top', label: '\u9876\u90E8' }, + { key: 'bottom', label: '\u5E95\u90E8' } + ]; + let html = '
'; + items.forEach(item => { + const active = item.key === 'all' ? ' active' : ''; + html += ''; + }); + html += '
'; + return html; +} + +// ===================== +// \u5F39\u5E55\u5217\u8868\u8FC7\u6EE4\u4E0E\u61D2\u52A0\u8F7D +// ===================== +function applyDanmuFilter() { + const filter = danmuTestState.currentFilter; + if (filter === 'all') { + danmuTestState.filteredComments = danmuTestState.allComments; + } else { + const modeMap = { scroll: 1, top: 5, bottom: 4 }; + const targetMode = modeMap[filter]; + danmuTestState.filteredComments = danmuTestState.allComments.filter(c => { + const mode = parseDanmuMode(c.p); + if (filter === 'scroll') return mode !== 4 && mode !== 5; + return mode === targetMode; + }); + } + danmuTestState.displayedCount = 0; +} + +function filterDanmuList(type, event) { + document.querySelectorAll('.danmu-filter-tab').forEach(btn => btn.classList.remove('active')); + const tab = event.currentTarget || event.target.closest('.danmu-filter-tab'); + if (tab) tab.classList.add('active'); + danmuTestState.currentFilter = type; + applyDanmuFilter(); + renderDanmuList(); +} + +function renderDanmuList() { + const list = danmuTestState.filteredComments; + const end = Math.min(danmuTestState.displayedCount + danmuTestState.pageSize, list.length); + let html = ''; + + for (let i = danmuTestState.displayedCount; i < end; i++) { + const c = list[i]; + const time = c.t !== undefined ? c.t : parseDanmuTime(c.p); + const mode = parseDanmuMode(c.p); + const color = parseDanmuColor(c.p); + const hexColor = decColorToHex(color); + const modeLabel = getModeLabel(mode); + + html += '
' + + '' + formatDuration(time) + '' + + '' + + '' + modeLabel + '' + + '' + escapeHtml(c.m) + '' + + '
'; + } + + const container = document.getElementById('danmu-list'); + if (danmuTestState.displayedCount === 0) { + container.innerHTML = html || '

\u65E0\u5F39\u5E55\u6570\u636E

'; + } else { + container.insertAdjacentHTML('beforeend', html); + } + danmuTestState.displayedCount = end; + + // \u63A7\u5236\u52A0\u8F7D\u66F4\u591A\u6309\u94AE + const loadMoreBtn = document.getElementById('danmu-load-more'); + if (end < list.length) { + loadMoreBtn.style.display = 'block'; + loadMoreBtn.textContent = '\u52A0\u8F7D\u66F4\u591A (' + end + '/' + list.length + ')'; + } else { + loadMoreBtn.style.display = 'none'; + } +} + +function loadMoreDanmu() { + renderDanmuList(); +} +`});var i1t,a1t=oe(()=>{i1t=` +// \u63A8\u9001\u5F39\u5E55\u529F\u80FD\u76F8\u5173 + +// \u4ECE\u73AF\u5883\u53D8\u91CF\u83B7\u53D6\u9ED8\u8BA4\u63A8\u9001\u5730\u5740 +function getDefaultPushUrl(config) { + const pushUrl = config.originalEnvVars?.DANMU_PUSH_URL || ''; + return pushUrl.trim(); +} + +// \u8BBE\u7F6E\u9ED8\u8BA4\u63A8\u9001\u5730\u5740 +function setDefaultPushUrl(config) { + const defaultPushUrl = getDefaultPushUrl(config); + if (defaultPushUrl) { + const pushUrlInput = document.getElementById('push-url'); + if (pushUrlInput && !pushUrlInput.value) { + pushUrlInput.value = defaultPushUrl; + } + } +} + +// \u521D\u59CB\u5316\u63A8\u9001\u5F39\u5E55\u754C\u9762 +function initPushDanmuInterface() { + const searchKeywordInput = document.getElementById('push-search-keyword'); + if (searchKeywordInput) { + // \u6DFB\u52A0\u56DE\u8F66\u952E\u641C\u7D22\u4E8B\u4EF6\u76D1\u542C + searchKeywordInput.addEventListener('keypress', function(event) { + if (event.key === 'Enter') { + searchAnimeForPush(); + } + }); + } +} + +// \u641C\u7D22\u52A8\u6F2B\u7528\u4E8E\u63A8\u9001 +function searchAnimeForPush() { + const keyword = document.getElementById('push-search-keyword').value.trim(); + const pushUrl = document.getElementById('push-url').value.trim(); + const searchBtn = document.querySelector('#push-section .btn-primary'); + + if (!keyword) { + customAlert('\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u5B57'); + return; + } + + // \u641C\u7D22\u65F6\u4E0D\u518D\u6821\u9A8CpushUrl\u662F\u5426\u4E3A\u7A7A\uFF0C\u53EA\u5728\u63A8\u9001\u65F6\u6821\u9A8C + + // \u6DFB\u52A0\u52A0\u8F7D\u72B6\u6001 + const originalText = searchBtn.textContent; + searchBtn.innerHTML = ''; + searchBtn.disabled = true; + + // \u6784\u5EFA\u641C\u7D22API\u8BF7\u6C42URL + const searchUrl = buildApiUrl('/api/v2/search/anime?keyword=' + encodeURIComponent(keyword)); + + addLog(\`\u5F00\u59CB\u641C\u7D22\u52A8\u6F2B: \${keyword}\`, 'info'); + + // \u53D1\u9001\u641C\u7D22\u8BF7\u6C42 + fetch(searchUrl) + .then(response => { + if (!response.ok) { + throw new Error(\`HTTP error! status: \${response.status}\`); + } + return response.json(); + }) + .then(data => { + if (data.success && data.animes.length > 0) { + displayAnimeListForPush(data.animes, pushUrl); + } else { + document.getElementById('push-anime-list').style.display = 'none'; + document.getElementById('push-episode-list').style.display = 'none'; + customAlert('\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B'); + addLog('\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B', 'warn'); + } + }) + .catch(error => { + console.error('\u641C\u7D22\u52A8\u6F2B\u5931\u8D25:', error); + customAlert('\u641C\u7D22\u52A8\u6F2B\u5931\u8D25: ' + error.message); + addLog('\u641C\u7D22\u52A8\u6F2B\u5931\u8D25: ' + error.message, 'error'); + }) + .finally(() => { + // \u6062\u590D\u6309\u94AE\u72B6\u6001 + searchBtn.innerHTML = originalText; + searchBtn.disabled = false; + }); +} + +// \u5C55\u793A\u52A8\u6F2B\u5217\u8868\u7528\u4E8E\u63A8\u9001 +function displayAnimeListForPush(animes, pushUrl) { + const container = document.getElementById('push-anime-list'); + let html = '

\u641C\u7D22\u7ED3\u679C

'; + + animes.forEach(anime => { + const imageUrl = anime.imageUrl || 'https://placehold.co/150x200?text=No+Image'; + html += \` +
+ \${anime.animeTitle} +

\${anime.animeTitle} - \u5171\${anime.episodeCount}\u96C6

+
+ \`; + }); + + html += '
'; + container.innerHTML = html; + container.style.display = 'block'; + + addLog(\`\u663E\u793A \${animes.length} \u4E2A\u52A8\u6F2B\u7ED3\u679C\`, 'info'); +} + +// \u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u7528\u4E8E\u63A8\u9001 +function getBangumiForPush(animeId, pushUrl) { + const bangumiUrl = buildApiUrl('/api/v2/bangumi/' + animeId); + + addLog(\`\u83B7\u53D6\u756A\u5267\u8BE6\u60C5: \${animeId}\`, 'info'); + + fetch(bangumiUrl) + .then(response => { + if (!response.ok) { + throw new Error(\`HTTP error! status: \${response.status}\`); + } + return response.json(); + }) + .then(data => { + if (data.success && data.bangumi && data.bangumi.episodes) { + displayEpisodeListForPush(data.bangumi.animeTitle, data.bangumi.episodes, pushUrl); + } else { + customAlert('\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F'); + addLog('\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F', 'warn'); + } + }) + .catch(error => { + console.error('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25:', error); + customAlert('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25: ' + error.message); + addLog('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25: ' + error.message, 'error'); + }); +} + +// \u5C55\u793A\u5267\u96C6\u5217\u8868\u7528\u4E8E\u63A8\u9001 +function displayEpisodeListForPush(animeTitle, episodes, pushUrl) { + const container = document.getElementById('push-episode-list'); + let html = \`

\u5267\u96C6\u5217\u8868

\${animeTitle}

\`; + + // \u6DFB\u52A0\u8DF3\u8F6C\u5230\u6307\u5B9A\u96C6\u6570\u7684\u529F\u80FD + html += \` +
+ \u8DF3\u8F6C\u5230\u7B2C + + \u96C6 + + \u5171\${episodes.length}\u96C6 +
\`; + + html += '
'; + + episodes.forEach(episode => { + // \u751F\u6210\u5F39\u5E55URL + const commentUrl = window.location.origin + buildApiUrl('/api/v2/comment/' + episode.episodeId + '?format=xml'); + html += \` +
+
+ \u7B2C\${episode.episodeNumber}\u96C6 - \${episode.episodeTitle || '\u65E0\u6807\u9898'} +
+ +
+ \`; + }); + + html += '
'; + container.innerHTML = html; + container.style.display = 'block'; + + addLog(\`\u663E\u793A \${episodes.length} \u4E2A\u5267\u96C6\`, 'info'); + + // \u81EA\u52A8\u6EDA\u52A8\u5230\u5267\u96C6\u5217\u8868\u5904 + setTimeout(() => { + container.scrollIntoView({ behavior: 'smooth', block: 'start' }); + }, 10); +} + +// \u8DF3\u8F6C\u5230\u6307\u5B9A\u96C6\u6570\uFF08\u63A8\u9001\u5F39\u5E55\u7248\uFF09 +function jumpToEpisodeForPushDanmu() { + const episodeInput = document.getElementById('jump-episode-input-push'); + const episodeNumber = parseInt(episodeInput.value); + + if (!episodeNumber || episodeNumber <= 0) { + customAlert('\u8BF7\u8F93\u5165\u6709\u6548\u7684\u96C6\u6570\uFF08\u6B63\u6574\u6570\uFF09'); + return; + } + + // \u67E5\u627E\u5BF9\u5E94\u96C6\u6570\u7684\u5143\u7D20 + const episodeElement = document.getElementById('episode-item-push-' + episodeNumber); + if (episodeElement) { + // \u6EDA\u52A8\u5230\u6307\u5B9A\u5143\u7D20\u4F4D\u7F6E + episodeElement.scrollIntoView({ behavior: 'smooth', block: 'center' }); + // \u6DFB\u52A0\u9AD8\u4EAE\u6548\u679C\u4EE5\u4FBF\u8BC6\u522B + episodeElement.style.backgroundColor = '#fff3cd'; // \u9EC4\u8272\u80CC\u666F\u9AD8\u4EAE + setTimeout(() => { + episodeElement.style.backgroundColor = ''; // \u6062\u590D\u539F\u8272 + }, 2000); + } else { + customAlert('\u627E\u4E0D\u5230\u7B2C' + episodeNumber + '\u96C6'); + } +} + +// \u63A8\u9001\u5F39\u5E55 +async function pushDanmu(pushUrl, commentUrl, episodeTitle) { + // \u83B7\u53D6\u63A8\u9001\u6309\u94AE\u5143\u7D20 + const pushButton = event.target; // \u901A\u8FC7\u4E8B\u4EF6\u5BF9\u8C61\u83B7\u53D6\u5F53\u524D\u70B9\u51FB\u7684\u6309\u94AE + + // \u6821\u9A8C\u63A8\u9001\u5730\u5740\u662F\u5426\u4E3A\u7A7A + if (!pushUrl || pushUrl.trim() === '') { + customAlert('\u8BF7\u8F93\u5165\u63A8\u9001\u5730\u5740'); + if (pushButton) { + pushButton.innerHTML = '\u63A8\u9001'; + pushButton.disabled = false; + } + return; + } + + if (pushButton) { + const originalText = pushButton.innerHTML; + pushButton.innerHTML = ''; + pushButton.disabled = true; + } + + try { + // \u5411\u63A8\u9001\u5730\u5740\u53D1\u9001\u5F39\u5E55\u6570\u636E + const pushResponse = await fetch(pushUrl + encodeURIComponent(commentUrl), { + method: 'GET', + mode: 'no-cors', // \u7531\u4E8E\u8DE8\u57DF\u9650\u5236\uFF0C\u4F7F\u7528no-cors\u6A21\u5F0F + }); + + customAlert('\u5F39\u5E55\u63A8\u9001\u6210\u529F\uFF01' + episodeTitle); + addLog('\u5F39\u5E55\u63A8\u9001\u6210\u529F - ' + episodeTitle, 'success'); + } catch (error) { + console.error('\u63A8\u9001\u5F39\u5E55\u5931\u8D25:', error); + customAlert('\u63A8\u9001\u5F39\u5E55\u5931\u8D25: ' + error.message); + addLog('\u63A8\u9001\u5F39\u5E55\u5931\u8D25: ' + error.message, 'error'); + } finally { + // \u6062\u590D\u6309\u94AE\u72B6\u6001 + if (pushButton) { + pushButton.innerHTML = '\u63A8\u9001'; + pushButton.disabled = false; + } + } +} +`});var o1t,c1t=oe(()=>{o1t=` +// \u8BF7\u6C42\u8BB0\u5F55\u76F8\u5173\u529F\u80FD +async function renderRequestRecords() { + const recordsContainer = document.getElementById('request-records-list'); + if (!recordsContainer) { + console.error('\u672A\u627E\u5230\u8BF7\u6C42\u8BB0\u5F55\u5BB9\u5668'); + return; + } + + try { + // \u4ECEAPI\u83B7\u53D6\u8BF7\u6C42\u8BB0\u5F55 + const response = await fetch(buildApiUrl('/api/reqrecords')); + if (!response.ok) { + throw new Error('\u83B7\u53D6\u8BF7\u6C42\u8BB0\u5F55\u5931\u8D25'); + } + + const data = await response.json(); + const records = data.records; + const todayReqNum = data.todayReqNum; + + // \u663E\u793A\u4ECA\u65E5\u8BF7\u6C42\u603B\u6570 + const totalRequestsElement = document.getElementById('total-requests-today'); + if (totalRequestsElement) { + totalRequestsElement.textContent = \`\u4ECA\u65E5\u8BF7\u6C42\u603B\u6570: \${todayReqNum}\`; + } + + if (records.length === 0) { + recordsContainer.innerHTML = '
\u6682\u65E0\u8BF7\u6C42\u8BB0\u5F55
'; + return; + } + + // \u751F\u6210\u8BB0\u5F55HTML + const recordsHtml = records.map(record => { + const interfaceName = decodeURIComponent(record.interface) || '\u672A\u77E5\u63A5\u53E3'; + const params = record.params || {}; + const timestamp = record.timestamp ? new Date(record.timestamp).toLocaleString('zh-CN') : '\u672A\u77E5\u65F6\u95F4'; + const method = record.method || 'GET'; + const clientIp = record.clientIp || '\u672A\u77E5IP'; + + // \u683C\u5F0F\u5316\u53C2\u6570\u663E\u793A + const hasParams = Object.keys(params).length > 0; + const paramsHtml = hasParams + ? \`
+
\u8BF7\u6C42\u53C2\u6570
+
\${JSON.stringify(params, null, 2)}
+
\` + : ''; + + // \u5982\u679C\u6CA1\u6709\u53C2\u6570\uFF0C\u7ED9\u65F6\u95F4\u6233\u6DFB\u52A0 no-params \u7C7B\u4EE5\u9690\u85CF\u865A\u7EBF + const timestampClass = hasParams ? 'record-timestamp' : 'record-timestamp no-params'; + + return \` +
+
+
\${method}
+
\${interfaceName}
+
\${clientIp}
+
+
\${timestamp}
+ \${paramsHtml} +
\`; + }).join(''); + + recordsContainer.innerHTML = recordsHtml; + } catch (error) { + console.error('\u83B7\u53D6\u8BF7\u6C42\u8BB0\u5F55\u65F6\u51FA\u9519:', error); + recordsContainer.innerHTML = '
\u83B7\u53D6\u8BF7\u6C42\u8BB0\u5F55\u5931\u8D25: ' + error.message + '
'; + } +} + +// \u521D\u59CB\u5316\u8BF7\u6C42\u8BB0\u5F55\u754C\u9762 +function initRequestRecordsInterface() { + // \u786E\u4FDD\u5728\u5207\u6362\u5230\u8BF7\u6C42\u8BB0\u5F55\u6807\u7B7E\u9875\u65F6\u4E5F\u66F4\u65B0\u8BB0\u5F55 + const originalSwitchSection = window.switchSection; + if (originalSwitchSection && typeof originalSwitchSection === 'function') { + window.switchSection = function(section, event = null) { + // \u8C03\u7528\u539F\u51FD\u6570 + originalSwitchSection(section, event); + + // \u5982\u679C\u5207\u6362\u5230\u8BF7\u6C42\u8BB0\u5F55\u9875\u9762\uFF0C\u5219\u5237\u65B0\u8BB0\u5F55 + if (section === 'request-records') { + setTimeout(renderRequestRecords, 100); + } + }; + } + + // \u9996\u6B21\u521D\u59CB\u5316 + if (document.getElementById('request-records-section') && + document.querySelector('.nav-btn[data-section="request-records"]') && + document.querySelector('.nav-btn[data-section="request-records"]').classList.contains('active')) { + renderRequestRecords(); + } +} + +// \u9875\u9762\u52A0\u8F7D\u5B8C\u6210\u540E\u521D\u59CB\u5316 +document.addEventListener('DOMContentLoaded', function() { + if (typeof initRequestRecordsInterface === 'function') { + initRequestRecordsInterface(); + } + + // \u6DFB\u52A0\u5237\u65B0\u6309\u94AE\u529F\u80FD + const refreshBtn = document.getElementById('refresh-request-records'); + if (refreshBtn) { + refreshBtn.onclick = function() { + renderRequestRecords(); + }; + } + +}); +`});var u1t,l1t=oe(()=>{u1t=` +// \u5168\u5C40\u53D8\u91CF\u5B9A\u4E49 +let isMergeMode = false; +let stagingTags = []; + +// \u663E\u793A\u6E05\u7406\u7F13\u5B58\u786E\u8BA4\u6A21\u6001\u6846 +function showClearCacheModal() { + document.getElementById('clear-cache-modal').classList.add('active'); +} + +// \u9690\u85CF\u6E05\u7406\u7F13\u5B58\u786E\u8BA4\u6A21\u6001\u6846 +function hideClearCacheModal() { + document.getElementById('clear-cache-modal').classList.remove('active'); +} + +// \u786E\u8BA4\u6E05\u7406\u7F13\u5B58 +async function confirmClearCache() { + // \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E + const configCheck = await checkDeployPlatformConfig(); + if (!configCheck.success) { + hideClearCacheModal(); + customAlert(configCheck.message); + return; + } + + hideClearCacheModal(); + showLoading('\u6B63\u5728\u6E05\u7406\u7F13\u5B58...', '\u6E05\u9664\u4E2D\uFF0C\u8BF7\u7A0D\u5019'); + addLog('\u5F00\u59CB\u6E05\u7406\u7F13\u5B58', 'info'); + + try { + // \u8C03\u7528\u771F\u5B9E\u7684\u6E05\u7406\u7F13\u5B58API + const response = await fetch(buildApiUrl('/api/cache/clear', true), { // \u4F7F\u7528admin token + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({}) + }); + + const result = await response.json(); + + if (result.success) { + updateLoadingText('\u6E05\u7406\u5B8C\u6210', '\u7F13\u5B58\u5DF2\u6210\u529F\u6E05\u9664'); + addLog('\u7F13\u5B58\u6E05\u7406\u5B8C\u6210', 'success'); + addLog('\u2705 \u7F13\u5B58\u6E05\u7406\u6210\u529F\uFF01\u5DF2\u6E05\u7406: ' + JSON.stringify(result.clearedItems), 'success'); + } else { + updateLoadingText('\u6E05\u7406\u5931\u8D25', '\u8BF7\u67E5\u770B\u65E5\u5FD7\u4E86\u89E3\u8BE6\u60C5'); + addLog('\u7F13\u5B58\u6E05\u7406\u5931\u8D25: ' + result.message, 'error'); + } + } catch (error) { + updateLoadingText('\u6E05\u7406\u5931\u8D25', '\u7F51\u7EDC\u9519\u8BEF\u6216\u670D\u52A1\u4E0D\u53EF\u7528'); + addLog('\u7F13\u5B58\u6E05\u7406\u8BF7\u6C42\u5931\u8D25: ' + error.message, 'error'); + } finally { + setTimeout(() => { + hideLoading(); + }, 10); + } +} + +// \u663E\u793A\u91CD\u65B0\u90E8\u7F72\u786E\u8BA4\u6A21\u6001\u6846 +function showDeploySystemModal() { + document.getElementById('deploy-system-modal').classList.add('active'); +} + +// \u9690\u85CF\u91CD\u65B0\u90E8\u7F72\u786E\u8BA4\u6A21\u6001\u6846 +function hideDeploySystemModal() { + document.getElementById('deploy-system-modal').classList.remove('active'); +} + +// \u786E\u8BA4\u91CD\u65B0\u90E8\u7F72\u7CFB\u7EDF +function confirmDeploySystem() { + // \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E + checkDeployPlatformConfig().then(configCheck => { + if (!configCheck.success) { + hideDeploySystemModal(); + customAlert(configCheck.message); + return; + } + + hideDeploySystemModal(); + showLoading('\u51C6\u5907\u90E8\u7F72...', '\u6B63\u5728\u68C0\u67E5\u7CFB\u7EDF\u72B6\u6001'); + addLog('===== \u5F00\u59CB\u7CFB\u7EDF\u90E8\u7F72 =====', 'info'); + + // \u83B7\u53D6\u5F53\u524D\u90E8\u7F72\u5E73\u53F0 + fetch(buildApiUrl('/api/config', true)) + .then(response => response.json()) + .then(config => { + const deployPlatform = config.envs.deployPlatform || 'node'; + addLog(\`\u68C0\u6D4B\u5230\u90E8\u7F72\u5E73\u53F0: \${deployPlatform}\`, 'info'); + + if (deployPlatform.toLowerCase() === 'node') { + // Node\u90E8\u7F72\u4E0D\u9700\u8981\u91CD\u65B0\u90E8\u7F72 + setTimeout(() => { + hideLoading(); + addLog('===== \u90E8\u7F72\u5B8C\u6210 =====', 'success'); + addLog('Node\u90E8\u7F72\u6A21\u5F0F\uFF0C\u73AF\u5883\u53D8\u91CF\u5DF2\u751F\u6548', 'info'); + addLog('\u2705 Node\u90E8\u7F72\u6A21\u5F0F - \u5728Node\u90E8\u7F72\u6A21\u5F0F\u4E0B\uFF0C\u73AF\u5883\u53D8\u91CF\u4FEE\u6539\u540E\u4F1A\u81EA\u52A8\u751F\u6548\uFF0C\u65E0\u9700\u91CD\u65B0\u90E8\u7F72\u3002\u7CFB\u7EDF\u5DF2\u66F4\u65B0\u914D\u7F6E', 'success'); + }, 150); + } else { + // \u8C03\u7528\u771F\u5B9E\u7684\u90E8\u7F72API + fetch(buildApiUrl('/api/deploy', true), { // \u4F7F\u7528admin token + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({}) + }) + .then(response => response.json()) + .then(result => { + if (result.success) { + addLog('\u4E91\u7AEF\u90E8\u7F72\u89E6\u53D1\u6210\u529F', 'success'); + // \u6A21\u62DF\u4E91\u7AEF\u90E8\u7F72\u8FC7\u7A0B + simulateDeployProcess(); + } else { + hideLoading(); + addLog(\`\u4E91\u7AEF\u90E8\u7F72\u5931\u8D25: \${result.message}\`, 'error'); + addLog(\`\u274C \u4E91\u7AEF\u90E8\u7F72\u5931\u8D25: \${result.message}\`, 'error'); + } + }) + .catch(error => { + hideLoading(); + addLog(\`\u4E91\u7AEF\u90E8\u7F72\u8BF7\u6C42\u5931\u8D25: \${error.message}\`, 'error'); + addLog(\`\u274C \u4E91\u7AEF\u90E8\u7F72\u8BF7\u6C42\u5931\u8D25: \${error.message}\`, 'error'); + }); + } + }) + .catch(error => { + hideLoading(); + addLog(\`\u83B7\u53D6\u90E8\u7F72\u5E73\u53F0\u4FE1\u606F\u5931\u8D25: \${error.message}\`, 'error'); + console.error('\u83B7\u53D6\u90E8\u7F72\u5E73\u53F0\u4FE1\u606F\u5931\u8D25:', error); + }); + }); +} + +// \u6A21\u62DF\u4E91\u7AEF\u90E8\u7F72\u8FC7\u7A0B +function simulateDeployProcess() { + let progress = 0; + const progressInterval = setInterval(() => { + progress += Math.random() * 8; + if (progress >= 100) { + progress = 10; + clearInterval(progressInterval); + } + updateProgress(progress); + }, 300); + + // \u6A21\u62DF\u90E8\u7F72\u6B65\u9AA4 + const steps = [ + { delay: 100, text: '\u68C0\u67E5\u73AF\u5883\u53D8\u91CF...', detail: '\u9A8C\u8BC1\u914D\u7F6E\u6587\u4EF6', log: '\u914D\u7F6E\u6587\u4EF6\u9A8C\u8BC1\u901A\u8FC7' }, + { delay: 5000, text: '\u89E6\u53D1\u4E91\u7AEF\u90E8\u7F72...', detail: '\u90E8\u7F72\u5230\u5F53\u524D\u5E73\u53F0', log: '\u4E91\u7AEF\u90E8\u7F72\u5DF2\u89E6\u53D1' }, + { delay: 9500, text: '\u6784\u5EFA\u9879\u76EE...', detail: '\u4E91\u7AEF\u6784\u5EFA\u4E2D', log: '\u4E91\u7AEF\u6784\u5EFA\u5B8C\u6210' }, + { delay: 5000, text: '\u90E8\u7F72\u66F4\u65B0...', detail: '\u53D1\u5E03\u5230\u751F\u4EA7\u73AF\u5883', log: '\u66F4\u65B0\u5DF2\u90E8\u7F72' }, + { delay: 5500, text: '\u670D\u52A1\u91CD\u542F...', detail: '\u5E94\u7528\u65B0\u914D\u7F6E', log: '\u670D\u52A1\u5DF2\u91CD\u542F' }, + { delay: 5000, text: '\u5065\u5EB7\u68C0\u67E5...', detail: '\u9A8C\u8BC1\u670D\u52A1\u72B6\u6001', log: '\u6240\u6709\u670D\u52A1\u8FD0\u884C\u6B63\u5E38' }, + ]; + + steps.forEach(step => { + setTimeout(() => { + updateLoadingText(step.text, step.detail); + addLog(step.log, 'success'); + }, step.delay); + }); + + // \u90E8\u7F72\u540E\u68C0\u67E5\u670D\u52A1\u662F\u5426\u53EF\u7528 + setTimeout(() => { + checkDeploymentStatus(); + }, 900); // \u5EF6\u957F\u5EF6\u8FDF\u4EE5\u786E\u4FDD\u6A21\u62DF\u90E8\u7F72\u8FC7\u7A0B\u5B8C\u6210 +} + +// \u68C0\u67E5\u90E8\u7F72\u72B6\u6001\uFF0C\u6BCF\u96945\u79D2\u8BF7\u6C42/api/logs\u63A5\u53E3\u76F4\u5230\u8BF7\u6C42\u6210\u529F +function checkDeploymentStatus() { + const checkInterval = setInterval(() => { + updateLoadingText('\u90E8\u7F72\u5B8C\u6210\uFF0C\u68C0\u67E5\u670D\u52A1\u72B6\u6001...', '\u6B63\u5728\u8BF7\u6C42 /api/logs \u63A5\u53E3'); + addLog('\u6B63\u5728\u68C0\u67E5\u670D\u52A1\u72B6\u6001...', 'info'); + + fetch(buildApiUrl('/api/logs')) + .then(response => { + if (response.ok) { + // \u8BF7\u6C42\u6210\u529F\uFF0C\u505C\u6B62\u68C0\u67E5 + clearInterval(checkInterval); + // \u66F4\u65B0\u52A0\u8F7D\u72B6\u6001\u800C\u4E0D\u662F\u7ACB\u5373\u9690\u85CF + updateLoadingText('\u90E8\u7F72\u6210\u529F\uFF01', '\u670D\u52A1\u5DF2\u91CD\u542F\u5E76\u6B63\u5E38\u8FD0\u884C'); + addLog('===== \u90E8\u7F72\u5B8C\u6210 =====', 'success'); + addLog('\u90E8\u7F72\u7248\u672C: ' + latestVersion, 'info'); + addLog('\u7CFB\u7EDF\u5DF2\u66F4\u65B0\u5E76\u91CD\u542F', 'success'); + + // \u90E8\u7F72\u5B8C\u6210\u540E\u518D\u6B21\u786E\u8BA4\uFF0C\u8BBF\u95EE/api/logs\u63A5\u53E3\u6765\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210 + confirmDeploymentByLogs(); + } else { + addLog('\u670D\u52A1\u68C0\u67E5\u4E2D - \u72B6\u6001\u7801: ' + response.status, 'info'); + } + }) + .catch(error => { + addLog('\u670D\u52A1\u68C0\u67E5\u4E2D - \u8FDE\u63A5\u5931\u8D25: ' + error.message, 'info'); + }); + }, 500); // \u6BCF5\u79D2\u68C0\u67E5\u4E00\u6B21 +} + +// \u90E8\u7F72\u5B8C\u6210\u540E\u901A\u8FC7\u8BBF\u95EE/api/logs\u63A5\u53E3\u6765\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210 +function confirmDeploymentByLogs() { + // \u90E8\u7F72\u5B8C\u6210\u540E\u7684\u786E\u8BA4\u68C0\u67E5 + let confirmationAttempts = 0; + const maxAttempts = 3; // \u6700\u591A\u5C1D\u8BD53\u6B21\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210 + + const confirmationInterval = setInterval(() => { + confirmationAttempts++; + updateLoadingText('\u90E8\u7F72\u5B8C\u6210\u786E\u8BA4\u4E2D...', '\u6B63\u5728\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210 (' + confirmationAttempts + '/' + maxAttempts + ')'); + addLog('\u90E8\u7F72\u5B8C\u6210\u786E\u8BA4 - \u5C1D\u8BD5 ' + confirmationAttempts + '/' + maxAttempts, 'info'); + + fetch(buildApiUrl('/api/logs')) + .then(response => { + if (response.ok) { + // \u8BF7\u6C42\u6210\u529F\uFF0C\u505C\u6B62\u786E\u8BA4\u68C0\u67E5 + clearInterval(confirmationInterval); + // \u663E\u793A\u6210\u529F\u4FE1\u606F\u540E\u5EF6\u8FDF\u9690\u85CF\u52A0\u8F7D\u906E\u7F69 + updateLoadingText('\u90E8\u7F72\u786E\u8BA4\u6210\u529F\uFF01', '\u670D\u52A1\u5DF2\u91CD\u542F\u5E76\u6B63\u5E38\u8FD0\u884C'); + addLog('\u90E8\u7F72\u786E\u8BA4\u6210\u529F - /api/logs \u63A5\u53E3\u8BBF\u95EE\u6B63\u5E38', 'success'); + + setTimeout(() => { + hideLoading(); + // \u663E\u793A\u6210\u529F\u5F39\u7A97 + customAlert('\u{1F389} \u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548'); + addLog('\u{1F389} \u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548', 'success'); + }, 200); + } else if (confirmationAttempts >= maxAttempts) { + // \u8FBE\u5230\u6700\u5927\u5C1D\u8BD5\u6B21\u6570\uFF0C\u505C\u6B62\u786E\u8BA4\u68C0\u67E5 + clearInterval(confirmationInterval); + updateLoadingText('\u90E8\u7F72\u786E\u8BA4\u5B8C\u6210', '\u670D\u52A1\u5DF2\u91CD\u542F'); + addLog('\u90E8\u7F72\u786E\u8BA4\u5B8C\u6210 - \u5DF2\u8FBE\u5230\u6700\u5927\u5C1D\u8BD5\u6B21\u6570', 'warn'); + + setTimeout(() => { + hideLoading(); + // \u663E\u793A\u6210\u529F\u5F39\u7A97 + customAlert('\u{1F389} \u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548'); + addLog('\u{1F389} \u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548', 'success'); + }, 200); + } else { + addLog('\u90E8\u7F72\u786E\u8BA4\u4E2D - \u72B6\u6001\u7801: ' + response.status, 'info'); + } + }) + .catch(error => { + if (confirmationAttempts >= maxAttempts) { + // \u8FBE\u5230\u6700\u5927\u5C1D\u8BD5\u6B21\u6570\uFF0C\u505C\u6B62\u786E\u8BA4\u68C0\u67E5 + clearInterval(confirmationInterval); + updateLoadingText('\u90E8\u7F72\u786E\u8BA4\u5B8C\u6210', '\u670D\u52A1\u5DF2\u91CD\u542F'); + addLog('\u90E8\u7F72\u786E\u8BA4\u5B8C\u6210 - \u5DF2\u8FBE\u5230\u6700\u5927\u5C1D\u8BD5\u6B21\u6570', 'warn'); + + setTimeout(() => { + hideLoading(); + // \u663E\u793A\u6210\u529F\u5F39\u7A97 + customAlert('\u{1F389} \u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548'); + addLog('\u{1F389} \u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548', 'success'); + }, 200); + } else { + addLog('\u90E8\u7F72\u786E\u8BA4\u4E2D - \u8FDE\u63A5\u5931\u8D25: ' + error.message, 'info'); + } + }); + }, 5000); // \u6BCF5\u79D2\u68C0\u67E5\u4E00\u6B21\uFF0C\u7528\u4E8E\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210 +} + +// \u68C0\u67E5URL\u4E2D\u7684token\u662F\u5426\u4E0EcurrentAdminToken\u5339\u914D +function checkAdminToken() { + let _reverseProxy = customBaseUrl; // \u4F7F\u7528\u5168\u5C40\u53D8\u91CF customBaseUrl + + // \u83B7\u53D6URL\u8DEF\u5F84\u5E76\u63D0\u53D6token + let urlPath = window.location.pathname; + + // \u5982\u679C\u914D\u7F6E\u4E86\u53CD\u4EE3\u8DEF\u5F84\uFF0C\u5FC5\u987B\u5148\u5265\u79BB\u5B83 + if(_reverseProxy) { + try { + // \u89E3\u6790\u914D\u7F6E\u4E2D\u7684\u8DEF\u5F84\u90E8\u5206\uFF0C\u4F8B\u5982 http://192.168.8.1:2333/danmu_api => /danmu_api + let proxyPath = _reverseProxy.startsWith('http') + ? new URL(_reverseProxy).pathname + : _reverseProxy; + + // \u786E\u4FDD\u79FB\u9664\u5C3E\u90E8\u659C\u6760 + if (proxyPath.endsWith('/')) { + proxyPath = proxyPath.slice(0, -1); + } + + // \u5982\u679C\u5F53\u524DURL\u5305\u542B\u6B64\u524D\u7F00\uFF0C\u5219\u79FB\u9664\u5B83 + if(proxyPath && urlPath.startsWith(proxyPath)) { + urlPath = urlPath.substring(proxyPath.length); + } + } catch(e) { + console.error("\u89E3\u6790\u53CD\u4EE3\u8DEF\u5F84\u5931\u8D25", e); + } + } + + const pathParts = urlPath.split('/').filter(part => part !== ''); + const urlToken = pathParts.length > 0 ? pathParts[0] : currentToken; // \u5982\u679C\u6CA1\u6709\u8DEF\u5F84\u6BB5\uFF0C\u4F7F\u7528\u9ED8\u8BA4token + + // \u68C0\u67E5\u662F\u5426\u914D\u7F6E\u4E86ADMIN_TOKEN\u4E14URL\u4E2D\u7684token\u7B49\u4E8EcurrentAdminToken + return currentAdminToken && currentAdminToken.trim() !== '' && urlToken === currentAdminToken; +} + +// \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u76F8\u5173\u914D\u7F6E +async function checkDeployPlatformConfig() { + // \u9996\u5148\u68C0\u67E5\u662F\u5426\u914D\u7F6E\u4E86ADMIN_TOKEN + if (!checkAdminToken()) { + // \u83B7\u53D6\u5F53\u524D\u9875\u9762\u7684\u534F\u8BAE\u3001\u4E3B\u673A\u548C\u7AEF\u53E3 + const protocol = window.location.protocol; + const host = window.location.host; + + let displayBase; + if (customBaseUrl) { + displayBase = customBaseUrl.startsWith('http') + ? customBaseUrl + : (protocol + '//' + host + customBaseUrl); + } else { + displayBase = protocol + '//' + host; + } + + if (displayBase.endsWith('/')) { + displayBase = displayBase.slice(0, -1); + } + + return { success: false, message: '\u8BF7\u5148\u914D\u7F6EADMIN_TOKEN\u73AF\u5883\u53D8\u91CF\u5E76\u4F7F\u7528\u6B63\u786E\u7684token\u8BBF\u95EE\u4EE5\u542F\u7528\u7CFB\u7EDF\u90E8\u7F72\u529F\u80FD\uFF01\\n\\n\u8BBF\u95EE\u65B9\u5F0F\uFF1A' + displayBase + '/{ADMIN_TOKEN}' }; + } + + try { + const response = await fetch(buildApiUrl('/api/config', true)); + if (!response.ok) { + throw new Error('HTTP error! status: ' + response.status); + } + + const config = await response.json(); + const deployPlatform = config.envs.deployPlatform || 'node'; + + // \u5982\u679C\u662Fnode\u90E8\u7F72\u5E73\u53F0\uFF0C\u53EA\u9700\u8981\u68C0\u67E5ADMIN_TOKEN + if (deployPlatform.toLowerCase() === 'node') { + return { success: true, message: 'Node\u90E8\u7F72\u5E73\u53F0\uFF0C\u4EC5\u9700\u914D\u7F6EADMIN_TOKEN' }; + } + + // \u5BF9\u4E8E\u5176\u4ED6\u90E8\u7F72\u5E73\u53F0\uFF0C\u6536\u96C6\u6240\u6709\u7F3A\u5931\u7684\u73AF\u5883\u53D8\u91CF + const missingVars = []; + const deployPlatformProject = config.originalEnvVars.DEPLOY_PLATFROM_PROJECT; + const deployPlatformToken = config.originalEnvVars.DEPLOY_PLATFROM_TOKEN; + const deployPlatformAccount = config.originalEnvVars.DEPLOY_PLATFROM_ACCOUNT; + + if (!deployPlatformProject || deployPlatformProject.trim() === '') { + missingVars.push('DEPLOY_PLATFROM_PROJECT'); + } + + if (!deployPlatformToken || deployPlatformToken.trim() === '') { + missingVars.push('DEPLOY_PLATFROM_TOKEN'); + } + + // \u5BF9\u4E8E\u9700\u8981\u8D26\u53F7ID\u7684\u90E8\u7F72\u5E73\u53F0\uFF0C\u8FD8\u9700\u8981\u68C0\u67E5DEPLOY_PLATFROM_ACCOUNT + if (['netlify', 'cloudflare', 'huggingface'].includes(deployPlatform.toLowerCase())) { + if (!deployPlatformAccount || deployPlatformAccount.trim() === '') { + missingVars.push('DEPLOY_PLATFROM_ACCOUNT'); + } + } + + if (missingVars.length > 0) { + const missingVarsStr = missingVars.join('\u3001'); + return { success: false, message: '\u90E8\u7F72\u5E73\u53F0\u4E3A' + deployPlatform + '\uFF0C\u8BF7\u914D\u7F6E\u4EE5\u4E0B\u7F3A\u5931\u7684\u73AF\u5883\u53D8\u91CF\uFF1A' + missingVarsStr }; + } + + return { success: true, message: deployPlatform + '\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E\u5B8C\u6574' }; + } catch (error) { + console.error('\u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E\u5931\u8D25:', error); + return { success: false, message: '\u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E\u5931\u8D25: ' + error.message }; + } +} + +// \u83B7\u53D6\u5E76\u8BBE\u7F6E\u914D\u7F6E\u4FE1\u606F +async function fetchAndSetConfig() { + const config = await fetch(buildApiUrl('/api/config', true)).then(response => response.json()); + const hasAdminToken = config.hasAdminToken; + currentAdminToken = config.originalEnvVars?.ADMIN_TOKEN || ''; + return config; +} + +// \u68C0\u67E5\u5E76\u5904\u7406\u7BA1\u7406\u5458\u4EE4\u724C +function checkAndHandleAdminToken() { + if (!checkAdminToken()) { + // \u7981\u7528\u7CFB\u7EDF\u914D\u7F6E\u6309\u94AE\u5E76\u6DFB\u52A0\u63D0\u793A + const envNavBtn = document.getElementById('env-nav-btn'); + if (envNavBtn) { + envNavBtn.title = '\u8BF7\u5148\u914D\u7F6EADMIN_TOKEN\u5E76\u4F7F\u7528\u6B63\u786E\u7684admin token\u8BBF\u95EE\u4EE5\u542F\u7528\u7CFB\u7EDF\u7BA1\u7406\u529F\u80FD'; + } + } +} + +// \u6E32\u67D3\u503C\u8F93\u5165\u63A7\u4EF6 +function renderValueInput(item) { + const container = document.getElementById('value-input-container'); + const type = item ? item.type : document.getElementById('value-type').value; + const value = item ? item.value : ''; + const currentKey = item ? item.key : document.getElementById('env-key').value; + + if (type === 'boolean') { + // \u5E03\u5C14\u5F00\u5173 + // \u5BF9\u4E8ELIKE_SWITCH\u53D8\u91CF\uFF0C\u9ED8\u8BA4\u503C\u8BBE\u4E3Atrue\uFF08\u5F00\u542F\u72B6\u6001\uFF09 + let checked; + if (currentKey === 'LIKE_SWITCH' || currentKey === 'REMEMBER_LAST_SELECT') { + // \u5982\u679C\u503C\u4E3A\u7A7A\u6216\u672A\u5B9A\u4E49\uFF0CLIKE_SWITCH\u548CREMEMBER_LAST_SELECT\u9ED8\u8BA4\u4E3Atrue\uFF08\u5F00\u542F\uFF09 + checked = value === 'true' || value === true || (value === '' || value === undefined || value === null); + } else { + checked = value === 'true' || value === true; + } + container.innerHTML = \` + +
+ + \${checked ? '\u542F\u7528' : '\u7981\u7528'} +
+ \`; + + document.getElementById('bool-value').addEventListener('change', function(e) { + document.getElementById('bool-label').textContent = e.target.checked ? '\u542F\u7528' : '\u7981\u7528'; + }); + + } else if (type === 'number') { + // \u6570\u5B57\u6EDA\u8F6E + const min = item && item.min !== undefined ? item.min : 1; + const max = item && item.max !== undefined ? item.max : 100; + const currentValue = value || min; + + container.innerHTML = \` + +
+
+ + +
+
\${currentValue}
+
+
+ +
+ \`; + + } else if (type === 'select') { + // \u6807\u7B7E\u9009\u62E9 + const options = item && item.options ? item.options : ['option1', 'option2', 'option3']; + const optionsInput = item ? '' : \` +
+ + +
+ \`; + + container.innerHTML = \` + \${optionsInput} + +
+ \${options.map(opt => \` +
+ \${opt} +
+ \`).join('')} +
+ \`; + + } else if (type === 'multi-select') { + // \u591A\u9009\u6807\u7B7E\uFF08\u53EF\u62D6\u52A8\u6392\u5E8F\uFF09 + const options = item && item.options ? item.options : ['option1', 'option2', 'option3', 'option4']; + // \u786E\u4FDDvalue\u662F\u5B57\u7B26\u4E32\u7C7B\u578B\u540E\u518D\u8FDB\u884Csplit\u64CD\u4F5C + const stringValue = typeof value === 'string' ? value : String(value || ''); + const selectedValues = stringValue ? stringValue.split(',').map(v => v.trim()).filter(v => v) : []; + + // \u68C0\u67E5\u662F\u5426\u4E3A SOURCE_ORDER\uFF0C\u5982\u679C\u662F\u5219\u4E0D\u663E\u793A\u5408\u5E76\u6A21\u5F0F + const shouldShowMergeMode = currentKey === 'MERGE_SOURCE_PAIRS' || currentKey === 'PLATFORM_ORDER'; + + // \u6BCF\u6B21\u6E32\u67D3\u65F6\u91CD\u7F6E\u5408\u5E76\u6A21\u5F0F\u72B6\u6001 + isMergeMode = false; + stagingTags = []; + + const optionsInput = item ? '' : \` +
+ + +
+ \`; + + container.innerHTML = \` + \${optionsInput} + +
+
+ \${selectedValues.map(val => \` +
+ \${val} + +
+ \`).join('')} +
+ + \${shouldShowMergeMode ? \` +
+
+ \u{1F517}\uFE0F \u5F00\u542F\u5408\u5E76\u6A21\u5F0F +
+
+ \u5F00\u542F\u540E\u70B9\u51FB\u4E0B\u65B9\u9009\u9879\u5C06\u6DFB\u52A0\u5230\u6682\u5B58\u533A,\u7EC4\u5408\u540E\u70B9\u51FB \u221A \u786E\u8BA4 +
+
+ +
+ +
+ \` : ''} + + +
+ \${options.map(opt => { + return \` +
+ \${opt} +
+ \`; + }).join('')} +
+
+ + \${currentKey === 'MERGE_SOURCE_PAIRS' ? \` +
+ +
+
+
+
+ \` : ''} + \`; + + // \u8BBE\u7F6E\u62D6\u52A8\u4E8B\u4EF6 + // \u7ACB\u5373\u6267\u884C\u4E00\u6B21\u72B6\u6001\u68C0\u67E5\uFF0C\u786E\u4FDD\u5DF2\u9009\u9879\u53D8\u7070 + setTimeout(updateTagStates, 0); + setupDragAndDrop(); + + } else if (type === 'map') { + // \u6620\u5C04\u8868\u7C7B\u578B + const pairs = value ? value.split(';').map(pair => pair.trim()).filter(pair => pair) : []; + const mapItems = pairs.map(pair => { + if (pair.includes('->')) { + const [left, right] = pair.split('->').map(s => s.trim()); + return { left, right }; + } + return { left: pair, right: '' }; + }); + + container.innerHTML = \` + +
+ \${mapItems.map((item, index) => \` +
+ + -> + + +
+ \`).join('')} + +
+ + \`; + + } else { + // \u6587\u672C\u8F93\u5165 + const currentKey = document.getElementById('env-key') ? document.getElementById('env-key').value : ''; + const isBilibiliCookie = currentKey === 'BILIBILI_COOKIE'; + const isAiApiKey = currentKey === 'AI_API_KEY'; + const isColorPool = currentKey === 'COLOR_POOL'; + const isDanmuOffset = currentKey === 'DANMU_OFFSET'; + const isCustomMergeRules = currentKey === 'CUSTOM_MERGE_RULES'; + const offsetSources = item && item.sources ? item.sources : []; + + if (isColorPool) { + // \u81EA\u5B9A\u4E49\u989C\u8272\u6C60\u4E13\u7528\u7F16\u8F91\u754C\u9762 + const colors = parseColorPool(value); + + container.innerHTML = \` + +
+ \${renderColorItems(colors)} +
+
+
+
+
+
+
+
+
+ #ff0000 +
+
+ \u4EAE\u5EA6 + +
+
+ + +
+
+
+
+ +
+ +
+ + \`; + setTimeout(initColorWheel, 0); + } else if (isDanmuOffset) { + // DANMU_OFFSET \u4E13\u7528\u7F16\u8F91\u754C\u9762 + const rows = value && value.length > 50 ? Math.min(Math.max(Math.ceil(value.length / 50), 3), 10) : 3; + container.innerHTML = \` + + +
+ + +
+
+
\u70B9\u51FB\u4E0B\u65B9\u6309\u94AE\u53EF\u5FEB\u6377\u586B\u5165\u89C4\u5219\u8868\u5355\uFF1A
+
+
+
+
\u5B63\u548C\u96C6\u4E0D\u586B\u5219\u5BF9\u6240\u6709\u5B63/\u96C6\u751F\u6548
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+ \${offsetSources.length > 0 ? \` +
+ +
+ \${offsetSources.map(src => \` +
+ \${src} +
+ \`).join('')} +
+
+ \` : ''} +
+ + +
+
+ \`; + } else if (isAiApiKey) { + // AI API Key \u4E13\u7528\u7F16\u8F91\u754C\u9762 + container.innerHTML = \` +
+ + +
\u652F\u6301 OpenAI \u517C\u5BB9\u7684 API\uFF0C\u9700\u914D\u5408 AI_BASE_URL \u548C AI_MODEL \u914D\u7F6E\u4F7F\u7528
+ +
+ \u{1F50D} + \u70B9\u51FB\u4E0B\u65B9\u6309\u94AE\u6D4B\u8BD5\u8FDE\u901A\u6027 +
+
+ +
+
+ \`; + } else if (isBilibiliCookie) { + // Bilibili Cookie \u4E13\u7528\u7F16\u8F91\u754C\u9762 + const rows = value && value.length > 50 ? Math.min(Math.max(Math.ceil(value.length / 50), 3), 8) : 3; + container.innerHTML = \` + + \`; + + // \u81EA\u52A8\u68C0\u6D4B Cookie \u72B6\u6001 + \u76D1\u542C\u8F93\u5165\u53D8\u5316\uFF08\u9632\u6296\uFF09 + setTimeout(() => { + autoCheckBilibiliCookieStatus(); + + const inputEl = document.getElementById('text-value'); + if (inputEl) { + let debounceTimer = null; + inputEl.addEventListener('input', () => { + if (debounceTimer) clearTimeout(debounceTimer); + debounceTimer = setTimeout(() => { + autoCheckBilibiliCookieStatus(); + }, 600); + }); + } + }, 120); + } else if (isCustomMergeRules) { + // CUSTOM_MERGE_RULES \u4E13\u7528\u7F16\u8F91\u754C\u9762 + const rows = value && value.length > 50 ? Math.min(Math.max(Math.ceil(value.length / 50), 3), 10) : 3; + container.innerHTML = \` + + +
+ + +
+
+
\u70B9\u51FB\u4E0B\u65B9\u6309\u94AE\u53EF\u5FEB\u6377\u586B\u5165\u89C4\u5219\u8868\u5355\uFF1A
+
+
+
+
+
+ + +
+
+ + +
\u5408\u5E76
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ \${offsetSources.map(src => \` +
\${src}
+ \`).join('')} +
+
+
+ + +
+
+ \`; + } else if (value && value.length > 50) { + const rows = Math.min(Math.max(Math.ceil(value.length / 50), 3), 10); + container.innerHTML = \` + + + \`; + } else { + container.innerHTML = \` + + + \`; + } + } +} + +// ===== \u989C\u8272\u6C60\u64CD\u4F5C\u51FD\u6570 ===== + +// \u8272\u8F6E\u72B6\u6001 +let wheelHue = 0; +let wheelLightness = 50; +let wheelCleanup = null; + +// \u89E3\u6790\u989C\u8272\u6C60\u5B57\u7B26\u4E32\u4E3A\u5341\u8FDB\u5236\u6570\u7EC4 +function parseColorPool(str) { + if (!str) return []; + return str.split(',').map(c => parseInt(c.trim(), 10)).filter(c => !isNaN(c) && c >= 0 && c <= 16777215); +} + +// \u6E32\u67D3\u989C\u8272\u6C60\u8272\u5757 HTML +function renderColorItems(colors) { + if (colors.length === 0) return '\u672A\u914D\u7F6E\uFF0C\u5C06\u4F7F\u7528\u9ED8\u8BA4\u989C\u8272\u6C60'; + return colors.map((c, i) => \` +
+ + \${c} + +
+ \`).join(''); +} + +// HSL -> RGB -> \u5341\u8FDB\u5236 +function hslToDecimal(h, s, l) { + s /= 100; + l /= 100; + const k = n => (n + h / 30) % 12; + const a = s * Math.min(l, 1 - l); + const f = n => l - a * Math.max(-1, Math.min(k(n) - 3, 9 - k(n), 1)); + const r = Math.round(f(0) * 255); + const g = Math.round(f(8) * 255); + const b = Math.round(f(4) * 255); + return (r << 16) | (g << 8) | b; +} + +// \u66F4\u65B0\u8272\u8F6E\u9884\u89C8 +function updateWheelPreview() { + const dec = hslToDecimal(wheelHue, 100, wheelLightness); + const hex = '#' + dec.toString(16).padStart(6, '0'); + const swatch = document.getElementById('color-preview-swatch'); + const hexLabel = document.getElementById('color-preview-hex'); + const dot = document.getElementById('wheel-dot'); + if (swatch) swatch.style.background = hex; + if (hexLabel) hexLabel.textContent = hex; + if (dot) dot.style.background = hex; +} + +// \u521D\u59CB\u5316\u8272\u8F6E\u4EA4\u4E92 +function initColorWheel() { + if (wheelCleanup) wheelCleanup(); + + const wheel = document.getElementById('color-wheel'); + const slider = document.getElementById('color-lightness'); + if (!wheel) return; + + let dragging = false; + + function handleWheelEvent(e) { + const rect = wheel.getBoundingClientRect(); + const cx = rect.width / 2; + const cy = rect.height / 2; + const x = e.clientX - rect.left - cx; + const y = e.clientY - rect.top - cy; + const dist = Math.sqrt(x * x + y * y); + const outerR = rect.width / 2; + const innerR = outerR * 0.22; + if (dist < innerR || dist > outerR) return; + let angle = Math.atan2(y, x) * 180 / Math.PI + 90; + if (angle < 0) angle += 360; + wheelHue = Math.round(angle % 360); + const dot = document.getElementById('wheel-dot'); + if (dot) { + const r = (innerR + outerR) / 2; + const rad = (wheelHue - 90) * Math.PI / 180; + dot.style.left = (cx + r * Math.cos(rad) - 7) + 'px'; + dot.style.top = (cy + r * Math.sin(rad) - 7) + 'px'; + } + updateWheelPreview(); + } + + const onMove = e => { + if (dragging) handleWheelEvent(e); + }; + const onTouchMove = e => { + if (dragging) handleWheelEvent(e.touches[0]); + }; + const onUp = () => { + dragging = false; + }; + + wheel.addEventListener('mousedown', e => { + dragging = true; + handleWheelEvent(e); + }); + wheel.addEventListener('touchstart', e => { + dragging = true; + handleWheelEvent(e.touches[0]); + e.preventDefault(); + }, { passive: false }); + document.addEventListener('mousemove', onMove); + document.addEventListener('touchmove', onTouchMove, { passive: false }); + document.addEventListener('mouseup', onUp); + document.addEventListener('touchend', onUp); + + if (slider) { + slider.addEventListener('input', function() { + wheelLightness = parseInt(this.value, 10); + updateWheelPreview(); + }); + } + + wheelCleanup = () => { + document.removeEventListener('mousemove', onMove); + document.removeEventListener('touchmove', onTouchMove); + document.removeEventListener('mouseup', onUp); + document.removeEventListener('touchend', onUp); + wheelCleanup = null; + }; + + updateWheelPreview(); +} + +// \u989C\u8272\u6C60 - \u8FFD\u52A0\u989C\u8272\u503C +function appendColorToPool(decimal) { + const textarea = document.getElementById('text-value'); + const current = textarea.value.trim(); + textarea.value = current ? current + ',' + decimal : String(decimal); + syncColorPoolDisplay(); +} + +// \u989C\u8272\u6C60 - \u4ECE\u8272\u8F6E\u6DFB\u52A0 +function addColorToPool() { + appendColorToPool(hslToDecimal(wheelHue, 100, wheelLightness)); +} + +// \u989C\u8272\u6C60 - \u968F\u673A\u6DFB\u52A0\uFF08crypto \u771F\u968F\u673A\uFF09 +function addRandomColorToPool() { + const arr = new Uint32Array(1); + crypto.getRandomValues(arr); + appendColorToPool(arr[0] % 16777216); +} + +// \u989C\u8272\u6C60 - \u5220\u9664\u6307\u5B9A\u989C\u8272 +function removeColorFromPool(index) { + const textarea = document.getElementById('text-value'); + const colors = textarea.value.split(',').map(c => c.trim()).filter(c => c); + colors.splice(index, 1); + textarea.value = colors.join(','); + syncColorPoolDisplay(); +} + +// \u989C\u8272\u6C60 - \u6062\u590D\u9ED8\u8BA4\uFF08\u6E05\u7A7A\u503C\uFF0C\u540E\u7AEF\u9ED8\u8BA4\u503C\u81EA\u52A8\u751F\u6548\uFF09 +function resetColorPool() { + const textarea = document.getElementById('text-value'); + textarea.value = ''; + syncColorPoolDisplay(); +} + +// \u989C\u8272\u6C60 - \u540C\u6B65\u8272\u5757\u5C55\u793A +function syncColorPoolDisplay() { + const textarea = document.getElementById('text-value'); + const display = document.getElementById('color-pool-display'); + if (!textarea || !display) return; + display.innerHTML = renderColorItems(parseColorPool(textarea.value)); +} + +// \u989C\u8272\u6C60 - \u6279\u91CF\u6DFB\u52A0\u5F39\u7A97 +function showBatchColorDialog() { + const overlay = document.createElement('div'); + overlay.id = 'batch-color-overlay'; + overlay.className = 'batch-color-overlay'; + overlay.innerHTML = \` +
+
\u6279\u91CF\u6DFB\u52A0\u989C\u8272
+
\u652F\u6301\u5341\u8FDB\u5236\uFF08\u5982 16777215\uFF09\u548C\u5341\u516D\u8FDB\u5236\uFF08\u5982 #ffffff\uFF09\uFF0C\u9017\u53F7\u5206\u9694
+ +
+
+ + +
+
+ \`; + document.body.appendChild(overlay); + overlay.addEventListener('click', function(e) { + if (e.target === overlay) closeBatchColorDialog(); + }); + const input = document.getElementById('batch-color-input'); + if (input) input.addEventListener('input', updateBatchColorPreview); +} + +// \u989C\u8272\u6C60 - \u5173\u95ED\u6279\u91CF\u5F39\u7A97 +function closeBatchColorDialog() { + const overlay = document.getElementById('batch-color-overlay'); + if (overlay) overlay.remove(); +} + +// \u989C\u8272\u6C60 - \u89E3\u6790\u5355\u4E2A\u989C\u8272\u503C\uFF08\u652F\u6301\u5341\u8FDB\u5236\u548C #hex\uFF09 +function parseColorValue(raw) { + const s = raw.trim(); + if (!s) return NaN; + if (s.startsWith('#')) { + const hex = s.slice(1); + if (/^[0-9a-fA-F]{3}$/.test(hex)) { + const full = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]; + return parseInt(full, 16); + } + if (/^[0-9a-fA-F]{6}$/.test(hex)) { + return parseInt(hex, 16); + } + return NaN; + } + const n = parseInt(s, 10); + if (isNaN(n) || n < 0 || n > 16777215) return NaN; + return n; +} + +// \u989C\u8272\u6C60 - \u6279\u91CF\u9884\u89C8 +function updateBatchColorPreview() { + const input = document.getElementById('batch-color-input'); + const preview = document.getElementById('batch-color-preview'); + if (!input || !preview) return; + const parts = input.value.split(','); + const html = parts.map(raw => { + const c = parseColorValue(raw); + if (isNaN(c)) return ''; + return \`\`; + }).filter(Boolean).join(''); + preview.innerHTML = html || '\u8F93\u5165\u989C\u8272\u540E\u9884\u89C8'; +} + +// \u989C\u8272\u6C60 - \u786E\u8BA4\u6279\u91CF\u6DFB\u52A0 +function confirmBatchColor() { + const input = document.getElementById('batch-color-input'); + if (!input) return; + const parts = input.value.split(','); + const valid = parts.map(raw => parseColorValue(raw)).filter(c => !isNaN(c)); + if (valid.length === 0) { + customAlert('\u672A\u8BC6\u522B\u5230\u6709\u6548\u989C\u8272\u503C'); + return; + } + const textarea = document.getElementById('text-value'); + const current = textarea.value.trim(); + const newVal = valid.map(String).join(','); + textarea.value = current ? current + ',' + newVal : newVal; + syncColorPoolDisplay(); + closeBatchColorDialog(); +} + +// DANMU_OFFSET \u5FEB\u901F\u914D\u7F6E - \u5207\u6362\u89C4\u5219\u9762\u677F +function toggleOffsetRulePanel() { + const panel = document.getElementById('offset-rule-panel'); + if (panel) { + const isHidden = getComputedStyle(panel).display === 'none'; + panel.style.display = isHidden ? 'block' : 'none'; + const btn = document.getElementById('offset-rule-toggle'); + if (btn) btn.textContent = isHidden ? '\u6536\u8D77' : '\u6DFB\u52A0\u89C4\u5219'; + } +} + +// DANMU_OFFSET \u5FEB\u901F\u914D\u7F6E - \u5207\u6362\u6765\u6E90\u9009\u4E2D\u72B6\u6001 +function toggleOffsetSource(el) { + el.classList.toggle('selected'); +} + +// DANMU_OFFSET \u5FEB\u901F\u914D\u7F6E - \u786E\u8BA4\u6DFB\u52A0\u89C4\u5219 +function appendOffsetRule() { + const anime = document.getElementById('offset-anime').value.trim(); + const season = document.getElementById('offset-season').value.trim(); + const episode = document.getElementById('offset-episode').value.trim(); + const seconds = document.getElementById('offset-seconds').value.trim(); + const usePercent = !!document.getElementById('offset-use-percent')?.checked; + + if (!anime) { + customAlert('\u8BF7\u8F93\u5165\u5267\u540D'); + return; + } + if (!seconds) { + customAlert('\u8BF7\u8F93\u5165\u504F\u79FB\u79D2\u6570'); + return; + } + if (episode && !season) { + customAlert('\u6307\u5B9A\u96C6\u65F6\u9700\u8981\u540C\u65F6\u6307\u5B9A\u5B63'); + return; + } + + let path = anime; + if (season) { + path += '/S' + season.padStart(2, '0'); + if (episode) { + path += '/E' + episode.padStart(2, '0'); + } + } + + const sourcesEl = document.getElementById('offset-sources'); + if (sourcesEl) { + const selectedSources = Array.from(sourcesEl.querySelectorAll('.offset-source-tag.selected')) + .map(el => el.dataset.value); + if (selectedSources.length > 0) { + path += '@' + selectedSources.join('&'); + } + } + + if (usePercent) { + path += '%'; + } + + const rule = path + ':' + seconds; + const textarea = document.getElementById('text-value'); + const current = textarea.value.trim(); + textarea.value = current ? current + ',' + rule : rule; + + document.getElementById('offset-anime').value = ''; + document.getElementById('offset-season').value = ''; + document.getElementById('offset-episode').value = ''; + document.getElementById('offset-seconds').value = ''; + const usePercentEl = document.getElementById('offset-use-percent'); + if (usePercentEl) { + usePercentEl.checked = false; + } + if (sourcesEl) { + sourcesEl.querySelectorAll('.offset-source-tag.selected').forEach(el => { + el.classList.remove('selected'); + }); + } + toggleOffsetRulePanel(); +} + +// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u7126\u70B9\u72B6\u6001\u8BB0\u5F55 +let currentMergeFocus = 'sec'; + +function setMergeFocus(type) { + currentMergeFocus = type; +} + +// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u5FEB\u6377\u8FFD\u52A0\u6765\u6E90 +function appendSourceToMerge(source) { + const inputId = currentMergeFocus === 'sec' ? 'merge-sec-entity' : 'merge-prim-entity'; + const inputEl = document.getElementById(inputId); + if (!inputEl) return; + + let val = inputEl.value.trim(); + if (val.includes('@')) { + val += '&' + source; + } else { + val += '@' + source; + } + inputEl.value = val; + inputEl.focus(); // \u4FDD\u6301\u7126\u70B9\uFF0C\u65B9\u4FBF\u7528\u6237\u8FDE\u7EED\u70B9\u51FB\u591A\u4E2A\u6765\u6E90 +} + +// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u5207\u6362\u89C4\u5219\u9762\u677F +function toggleMergeRulePanel() { + const panel = document.getElementById('merge-rule-panel'); + if (panel) { + const isHidden = getComputedStyle(panel).display === 'none'; + panel.style.display = isHidden ? 'block' : 'none'; + const btn = document.getElementById('merge-rule-toggle'); + if (btn) btn.textContent = isHidden ? '\u6536\u8D77' : '\u6DFB\u52A0\u89C4\u5219'; + } +} + +// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u5207\u6362\u64CD\u4F5C\u7B26\u8054\u52A8 +function onMergeActionChange() { + const action = document.getElementById('merge-action').value; + const routeRow = document.getElementById('merge-route-row'); + const hint = document.getElementById('merge-action-hint'); + + if (action === '\xD7') { + if (routeRow) routeRow.style.display = 'none'; + if (hint) hint.textContent = '\u963B\u65AD'; + } else { + if (routeRow) routeRow.style.display = 'flex'; + if (hint) hint.textContent = '\u5408\u5E76'; + } +} + +// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u786E\u8BA4\u6DFB\u52A0\u89C4\u5219 +function appendMergeRule() { + const secEntity = document.getElementById('merge-sec-entity').value.trim(); + const action = document.getElementById('merge-action').value; + const primEntity = document.getElementById('merge-prim-entity').value.trim(); + const routeRule = document.getElementById('merge-route-rule').value.trim(); + + if (!secEntity || !primEntity) { + customAlert('\u526F\u6E90\u5B9E\u4F53\u548C\u4E3B\u6E90\u5B9E\u4F53\u4E0D\u80FD\u4E3A\u7A7A'); + return; + } + + let rule = secEntity + ' ' + action + ' ' + primEntity; + if (action === '->' && routeRule) { + rule += ' | ' + routeRule; + } + + const textarea = document.getElementById('text-value'); + const current = textarea.value.trim(); + + if (current && !current.endsWith(';')) { + textarea.value = current + ';' + rule; + } else { + textarea.value = current ? current + rule : rule; + } + + // \u6E05\u7A7A\u8868\u5355 + document.getElementById('merge-sec-entity').value = ''; + document.getElementById('merge-prim-entity').value = ''; + document.getElementById('merge-route-rule').value = ''; + + toggleMergeRulePanel(); +} + +// \u8C03\u6574\u6570\u5B57 +function adjustNumber(delta) { + const display = document.getElementById('num-value'); + const slider = document.getElementById('num-slider'); + let value = parseInt(display.textContent) + delta; + + value = Math.max(parseInt(slider.min), Math.min(parseInt(slider.max), value)); + + display.textContent = value; + slider.value = value; +} + +// \u66F4\u65B0\u6570\u5B57\u663E\u793A +function updateNumberDisplay(value) { + document.getElementById('num-value').textContent = value; +} + +// \u9009\u62E9\u6807\u7B7E +function selectTag(element) { + document.querySelectorAll('.tag-option').forEach(el => el.classList.remove('selected')); + element.classList.add('selected'); +} + +// \u66F4\u65B0\u6807\u7B7E\u9009\u9879 +function updateTagOptions() { + const input = document.getElementById('select-options'); + const options = input.value.split(',').map(s => s.trim()).filter(s => s); + const container = document.getElementById('tag-selector'); + + container.innerHTML = options.map(opt => \` +
+ \${opt} +
+ \`).join(''); +} + +// \u7EDF\u4E00\u7684\u72B6\u6001\u68C0\u67E5\u51FD\u6570 +function updateTagStates() { + // \u786E\u4FDD DOM \u5143\u7D20\u5B58\u5728\uFF0C\u9632\u6B62\u5728\u6E32\u67D3\u8FC7\u7A0B\u4E2D\u88AB\u8C03\u7528\u51FA\u9519 + const keyInput = document.getElementById('env-key'); + if (!keyInput) return; + + const currentKey = keyInput.value; + const isMergeSourcePairs = currentKey === 'MERGE_SOURCE_PAIRS'; + + // 1. \u83B7\u53D6\u5F53\u524D\u6682\u5B58\u533A\u4E2D\u7684Token (\u9632\u6B62\u540C\u7EC4\u5185\u91CD\u590D) + const stagingTokens = new Set(stagingTags); + + // 2. \u83B7\u53D6\u5DF2\u786E\u8BA4\u7684 Selected Tags (\u4EC5\u5728\u975E\u5408\u5E76\u6A21\u5F0F\u4E0B\u9700\u8981\u68C0\u67E5) + const selectedTagElements = Array.from(document.querySelectorAll('.selected-tag')); + + // 3. \u66F4\u65B0\u6240\u6709\u53EF\u9009\u9879\u7684\u72B6\u6001 + const availableTags = document.querySelectorAll('.available-tag'); + availableTags.forEach(tag => { + const value = tag.dataset.value; + let shouldDisable = false; + + if (isMergeMode) { + // [\u5408\u5E76\u6A21\u5F0F\u903B\u8F91] + // \u53EA\u8981\u4E0D\u5728\u5F53\u524D\u7684\u6682\u5B58\u533A\u4E2D\uFF0C\u5C31\u53EF\u4EE5\u9009\uFF08\u5141\u8BB8 bilibili&a \u548C bilibili&b\uFF09 + // \u4E5F\u5C31\u662F\u8BF4\uFF0C\u6211\u4EEC\u5B8C\u5168\u4E0D\u68C0\u67E5 selectedTagElements + if (stagingTokens.has(value)) { + shouldDisable = true; + } + } else { + // [\u666E\u901A\u6A21\u5F0F\u903B\u8F91] + // \u53EA\u8981\u5DF2\u7ECF\u88AB\u9009\u4E86\uFF0C\u5C31\u7981\u7528 (\u7CBE\u51C6\u5339\u914D) + const isAlreadySelected = selectedTagElements.some(el => el.dataset.value === value); + if (isAlreadySelected) { + shouldDisable = true; + } + + // \u7279\u6B8A\u60C5\u51B5\uFF1A\u5982\u679C\u662F MERGE_SOURCE_PAIRS \u4F46\u6CA1\u5F00\u5408\u5E76\u6A21\u5F0F\uFF0C\u4E14\u8FD8\u6CA1\u88AB\u9009\uFF0C\u4E5F\u7981\u7528\uFF08\u5F3A\u8FEB\u7528\u6237\u5F00\u5F00\u5173\uFF09 + if (isMergeSourcePairs && !isAlreadySelected) { + shouldDisable = true; + } + } + + if (shouldDisable) { + tag.classList.add('disabled'); + } else { + tag.classList.remove('disabled'); + } + }); +} + +// \u6DFB\u52A0\u5DF2\u9009\u6807\u7B7E +function addSelectedTag(element) { + const value = element.dataset.value; + + if (isMergeMode) { + if (!stagingTags.includes(value)) { + stagingTags.push(value); + renderStagingArea(); + updateTagStates(); // \u7ACB\u5373\u66F4\u65B0\u72B6\u6001 (\u8BE5\u9009\u9879\u53D8\u7070\uFF0C\u9632\u6B62\u540C\u7EC4\u91CD\u590D) + } + return; + } + + if (element.classList.contains('disabled')) return; + + const container = document.getElementById('selected-tags'); + + // \u79FB\u9664empty\u7C7B + container.classList.remove('empty'); + + // \u521B\u5EFA\u65B0\u6807\u7B7E + const tag = document.createElement('div'); + tag.className = 'selected-tag'; + tag.draggable = true; + tag.dataset.value = value; + tag.innerHTML = \` + \${value} + + \`; + + container.appendChild(tag); + updateTagStates(); // \u7ACB\u5373\u66F4\u65B0\u72B6\u6001 + setupDragAndDrop(); +} + +// \u79FB\u9664\u5DF2\u9009\u6807\u7B7E +function removeSelectedTag(button) { + const tag = button.parentElement; + tag.remove(); + + const container = document.getElementById('selected-tags'); + if (container.children.length === 0) { + container.classList.add('empty'); + } + + updateTagStates(); // \u79FB\u9664\u540E\u7ACB\u5373\u91CA\u653E\u72B6\u6001 + setupDragAndDrop(); +} + +// \u66F4\u65B0\u591A\u9009\u9009\u9879 +function updateMultiOptions() { + const input = document.getElementById('multi-options'); + const options = input.value.split(',').map(s => s.trim()).filter(s => s); + + const container = document.getElementById('available-tags'); + container.innerHTML = options.map(opt => { + return \` +
+ \${opt} +
+ \`; + }).join(''); + + updateTagStates(); // \u521D\u59CB\u5316\u65F6\u66F4\u65B0\u72B6\u6001 +} + +// \u5207\u6362\u5408\u5E76\u6A21\u5F0F +function toggleMergeMode() { + isMergeMode = !isMergeMode; + const btn = document.getElementById('merge-mode-toggle'); + const stagingArea = document.getElementById('staging-area'); + + if (isMergeMode) { + btn.classList.add('active'); + btn.innerHTML = '\u26D3\u200D\u{1F4A5} \u5408\u5E76\u6A21\u5F0F\u5DF2\u5F00\u542F\uFF0C\u70B9\u51FB\u5173\u95ED'; + stagingArea.classList.add('active'); + renderStagingArea(); + } else { + btn.classList.remove('active'); + btn.innerHTML = '\u{1F517}\uFE0F \u70B9\u51FB\u5F00\u542F\u5408\u5E76\u6A21\u5F0F'; + stagingArea.classList.remove('active'); + stagingTags = []; + } + + // \u5207\u6362\u6A21\u5F0F\u65F6\u7ACB\u5373\u5237\u65B0\u6240\u6709\u53EF\u9009\u9879\u72B6\u6001 + updateTagStates(); +} + +// \u6E32\u67D3\u6682\u5B58\u533A +function renderStagingArea() { + const container = document.getElementById('staging-area'); + const confirmBtn = container.querySelector('.confirm-merge-btn'); + + while (container.firstChild && container.firstChild !== confirmBtn) { + container.removeChild(container.firstChild); + } + + if (stagingTags.length === 0) { + const hint = document.createElement('span'); + hint.textContent = '\u8BF7\u70B9\u51FB\u4E0B\u65B9\u9009\u9879\u8FDB\u884C\u7EC4\u5408...'; + hint.style.color = '#666'; + hint.style.fontSize = '12px'; + container.insertBefore(hint, confirmBtn); + confirmBtn.disabled = true; + } else { + stagingTags.forEach((tag, index) => { + if (index > 0) { + const sep = document.createElement('span'); + sep.className = 'staging-separator'; + sep.textContent = '&'; + container.insertBefore(sep, confirmBtn); + } + const tagEl = document.createElement('div'); + tagEl.className = 'staging-tag'; + tagEl.draggable = true; + tagEl.dataset.value = tag; + tagEl.dataset.index = index; + tagEl.innerHTML = \`\${tag}\xD7\`; + container.insertBefore(tagEl, confirmBtn); + }); + confirmBtn.disabled = false; + setupStagingDragAndDrop(); + } +} + +// \u4ECE\u6682\u5B58\u533A\u79FB\u9664 +function removeFromStaging(index) { + stagingTags.splice(index, 1); + renderStagingArea(); + updateTagStates(); // \u79FB\u9664\u540E\u5237\u65B0\u72B6\u6001 +} + +// \u786E\u8BA4\u6DFB\u52A0\u5408\u5E76\u7EC4 +function confirmMergeGroup() { + if (stagingTags.length === 0) return; + const groupValue = stagingTags.join('&'); + const container = document.getElementById('selected-tags'); + container.classList.remove('empty'); + + const tag = document.createElement('div'); + tag.className = 'selected-tag'; + tag.draggable = true; + tag.dataset.value = groupValue; + tag.innerHTML = \`\${groupValue}\`; + + container.appendChild(tag); + setupDragAndDrop(); + + stagingTags = []; // \u6E05\u7A7A\u6682\u5B58\u533A + renderStagingArea(); + updateTagStates(); // \u5173\u952E\uFF1A\u786E\u8BA4\u540E\u7ACB\u5373\u91CD\u65B0\u8BA1\u7B97\u6240\u6709\u53EF\u9009\u9879\u7684\u7981\u7528\u72B6\u6001 (\u91CD\u7F6E\u4E3A\u53EF\u7528) +} + +// \u8BBE\u7F6E\u6682\u5B58\u533A\u62D6\u653E\u529F\u80FD +function setupStagingDragAndDrop() { + const container = document.getElementById('staging-area'); + const tags = container.querySelectorAll('.staging-tag'); + + tags.forEach(tag => { + tag.addEventListener('dragstart', handleStagingDragStart); + tag.addEventListener('dragend', handleStagingDragEnd); + tag.addEventListener('dragover', handleStagingDragOver); + tag.addEventListener('drop', handleStagingDrop); + tag.addEventListener('dragenter', handleStagingDragEnter); + tag.addEventListener('dragleave', handleStagingDragLeave); + + tag.addEventListener('touchstart', handleStagingTouchStart); + tag.addEventListener('touchmove', handleStagingTouchMove); + tag.addEventListener('touchend', handleStagingTouchEnd); + }); +} + +let stagingDraggedElement = null; + +function handleStagingDragStart(e) { + stagingDraggedElement = this; + this.classList.add('dragging'); + e.dataTransfer.effectAllowed = 'move'; +} + +function handleStagingDragEnd(e) { + this.classList.remove('dragging'); + document.querySelectorAll('.staging-tag').forEach(tag => { + tag.classList.remove('drag-over'); + }); +} + +function handleStagingDragOver(e) { + if (e.preventDefault) { + e.preventDefault(); + } + e.dataTransfer.dropEffect = 'move'; + return false; +} + +function handleStagingDragEnter(e) { + if (this !== stagingDraggedElement) { + this.classList.add('drag-over'); + } +} + +function handleStagingDragLeave(e) { + this.classList.remove('drag-over'); +} + +function handleStagingDrop(e) { + if (e.stopPropagation) { + e.stopPropagation(); + } + + if (stagingDraggedElement !== this) { + const draggedIndex = parseInt(stagingDraggedElement.dataset.index); + const targetIndex = parseInt(this.dataset.index); + + const [movedItem] = stagingTags.splice(draggedIndex, 1); + stagingTags.splice(targetIndex, 0, movedItem); + + renderStagingArea(); + } + + this.classList.remove('drag-over'); + return false; +} + +function handleStagingTouchStart(e) { + if (e.target.classList.contains('remove-btn')) { + return; + } + + e.preventDefault(); + stagingDraggedElement = this; + this.classList.add('dragging'); + + this.style.transform = 'rotate(5deg)'; + this.style.opacity = '0.8'; + this.style.zIndex = '1000'; +} + +function handleStagingTouchMove(e) { + if (!stagingDraggedElement) return; + e.preventDefault(); + + const touch = e.touches[0]; + const elementRect = stagingDraggedElement.getBoundingClientRect(); + + if (!document.getElementById('staging-touch-drag-ghost')) { + const ghostElement = stagingDraggedElement.cloneNode(true); + ghostElement.id = 'staging-touch-drag-ghost'; + ghostElement.style.position = 'fixed'; + ghostElement.style.left = '0'; + ghostElement.style.top = '0'; + ghostElement.style.pointerEvents = 'none'; + ghostElement.style.zIndex = '9999'; + ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)'; + ghostElement.style.opacity = '0.8'; + ghostElement.style.boxSizing = 'border-box'; + ghostElement.style.width = elementRect.width + 'px'; + ghostElement.style.height = elementRect.height + 'px'; + document.body.appendChild(ghostElement); + } else { + const ghostElement = document.getElementById('staging-touch-drag-ghost'); + ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)'; + } + + const container = document.getElementById('staging-area'); + const tags = Array.from(container.querySelectorAll('.staging-tag')).filter(tag => tag !== stagingDraggedElement); + let targetElement = null; + + for (const tag of tags) { + const rect = tag.getBoundingClientRect(); + if (touch.clientX >= rect.left && touch.clientX <= rect.right && + touch.clientY >= rect.top && touch.clientY <= rect.bottom) { + targetElement = tag; + break; + } + } + + document.querySelectorAll('.staging-tag').forEach(tag => { + if (tag !== stagingDraggedElement) { + tag.classList.remove('drag-over'); + } + }); + + if (targetElement) { + targetElement.classList.add('drag-over'); + } +} + +function handleStagingTouchEnd(e) { + if (!stagingDraggedElement) return; + e.preventDefault(); + + const ghostElement = document.getElementById('staging-touch-drag-ghost'); + if (ghostElement) { + document.body.removeChild(ghostElement); + } + + const touch = e.changedTouches[0]; + const targetElement = document.elementFromPoint(touch.clientX, touch.clientY); + const targetTag = targetElement.closest('.staging-tag'); + + if (targetTag && targetTag !== stagingDraggedElement) { + const draggedIndex = parseInt(stagingDraggedElement.dataset.index); + const targetIndex = parseInt(targetTag.dataset.index); + + const [movedItem] = stagingTags.splice(draggedIndex, 1); + stagingTags.splice(targetIndex, 0, movedItem); + + renderStagingArea(); + } + + stagingDraggedElement.style.transform = ''; + stagingDraggedElement.style.opacity = ''; + stagingDraggedElement.style.zIndex = ''; + stagingDraggedElement.classList.remove('dragging'); + + document.querySelectorAll('.staging-tag').forEach(tag => { + tag.classList.remove('drag-over'); + }); + + stagingDraggedElement = null; +} + +// \u8BBE\u7F6E\u62D6\u653E\u529F\u80FD +let draggedElement = null; +let touchDragging = false; + +// \u4E3A\u5220\u9664\u6309\u94AE\u6DFB\u52A0\u89E6\u6478\u4E8B\u4EF6\u76D1\u542C\u5668\uFF0C\u4EE5\u786E\u4FDD\u5176\u53EF\u4EE5\u88AB\u70B9\u51FB +function setupDragAndDrop() { + const container = document.getElementById('selected-tags'); + const tags = container.querySelectorAll('.selected-tag'); + + tags.forEach(tag => { + // \u9F20\u6807\u62D6\u653E\u4E8B\u4EF6 + tag.addEventListener('dragstart', handleDragStart); + tag.addEventListener('dragend', handleDragEnd); + tag.addEventListener('dragover', handleDragOver); + tag.addEventListener('drop', handleDrop); + tag.addEventListener('dragenter', handleDragEnter); + tag.addEventListener('dragleave', handleDragLeave); + + // \u89E6\u6478\u62D6\u653E\u4E8B\u4EF6 + tag.addEventListener('touchstart', handleTouchStart); + tag.addEventListener('touchmove', handleTouchMove); + tag.addEventListener('touchend', handleTouchEnd); + + // \u786E\u4FDD\u5220\u9664\u6309\u94AE\u53EF\u4EE5\u88AB\u70B9\u51FB + const removeBtn = tag.querySelector('.remove-btn'); + if (removeBtn) { + // \u963B\u6B62\u5220\u9664\u6309\u94AE\u4E0A\u7684\u89E6\u6478\u4E8B\u4EF6\u5192\u6CE1\u5230\u7236\u5143\u7D20 + removeBtn.addEventListener('touchstart', function(e) { + e.stopPropagation(); + }); + + removeBtn.addEventListener('touchend', function(e) { + e.stopPropagation(); + }); + } + }); +} + +function handleDragStart(e) { + draggedElement = this; + this.classList.add('dragging'); + e.dataTransfer.effectAllowed = 'move'; +} + +function handleDragEnd(e) { + this.classList.remove('dragging'); + document.querySelectorAll('.selected-tag').forEach(tag => { + tag.classList.remove('drag-over'); + }); +} + +function handleDragOver(e) { + if (e.preventDefault) { + e.preventDefault(); + } + e.dataTransfer.dropEffect = 'move'; + return false; +} + +function handleDragEnter(e) { + if (this !== draggedElement) { + this.classList.add('drag-over'); + } +} + +function handleDragLeave(e) { + this.classList.remove('drag-over'); +} + +function handleDrop(e) { + if (e.stopPropagation) { + e.stopPropagation(); + } + + if (draggedElement !== this) { + const container = document.getElementById('selected-tags'); + const allTags = Array.from(container.querySelectorAll('.selected-tag')); + const draggedIndex = allTags.indexOf(draggedElement); + const targetIndex = allTags.indexOf(this); + + if (draggedIndex < targetIndex) { + this.parentNode.insertBefore(draggedElement, this.nextSibling); + } else { + this.parentNode.insertBefore(draggedElement, this); + } + } + + this.classList.remove('drag-over'); + return false; +} + +// \u89E6\u6478\u62D6\u52A8\u4E8B\u4EF6\u5904\u7406 +function handleTouchStart(e) { + // \u68C0\u67E5\u70B9\u51FB\u7684\u662F\u5426\u662F\u5220\u9664\u6309\u94AE + if (e.target.classList.contains('remove-btn')) { + // \u5982\u679C\u70B9\u51FB\u7684\u662F\u5220\u9664\u6309\u94AE\uFF0C\u5219\u4E0D\u6267\u884C\u62D6\u52A8\u64CD\u4F5C + return; + } + + // \u9632\u6B62\u9ED8\u8BA4\u7684\u89E6\u6478\u884C\u4E3A + e.preventDefault(); + + // \u83B7\u53D6\u89E6\u6478\u70B9 + const touch = e.touches[0]; + + // \u6A21\u62DF\u62D6\u52A8\u5F00\u59CB + draggedElement = this; + this.classList.add('dragging'); + touchDragging = true; + + // \u6DFB\u52A0\u62D6\u52A8\u6837\u5F0F + this.style.transform = 'rotate(5deg)'; + this.style.opacity = '0.8'; + this.style.zIndex = '1000'; + + // \u6DFB\u52A0\u89E6\u6478\u79FB\u52A8\u548C\u7ED3\u675F\u4E8B\u4EF6\u76D1\u542C\u5668\u5230\u6587\u6863 + document.addEventListener('touchmove', handleTouchMove, { passive: false }); + document.addEventListener('touchend', handleTouchEnd, { passive: false }); +} + +function handleTouchMove(e) { + if (!touchDragging || !draggedElement) return; + + // \u9632\u6B62\u9ED8\u8BA4\u7684\u89E6\u6478\u884C\u4E3A + e.preventDefault(); + + // \u4F7F\u7528 requestAnimationFrame \u6765\u4F18\u5316\u6027\u80FD + if (window.requestAnimationFrame) { + window.requestAnimationFrame(() => { + // \u83B7\u53D6\u89E6\u6478\u70B9\u4F4D\u7F6E + const touch = e.touches[0]; + + // \u83B7\u53D6\u62D6\u52A8\u5143\u7D20\u7684\u5C3A\u5BF8 + const elementRect = draggedElement.getBoundingClientRect(); + + // \u521B\u5EFA\u4E00\u4E2A\u4E34\u65F6\u7684\u62D6\u52A8\u5143\u7D20\uFF0C\u800C\u4E0D\u662F\u79FB\u52A8\u539F\u59CB\u5143\u7D20 + if (!document.getElementById('touch-drag-ghost')) { + const ghostElement = draggedElement.cloneNode(true); + ghostElement.id = 'touch-drag-ghost'; + ghostElement.style.position = 'fixed'; // \u4F7F\u7528 fixed \u800C\u4E0D\u662F absolute + ghostElement.style.left = '0'; + ghostElement.style.top = '0'; + ghostElement.style.pointerEvents = 'none'; // \u9632\u6B62\u5E72\u6270\u89E6\u6478\u4E8B\u4EF6 + ghostElement.style.zIndex = '9999'; + ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)'; + ghostElement.style.opacity = '0.8'; + ghostElement.style.boxSizing = 'border-box'; // \u786E\u4FDD\u5C3A\u5BF8\u8BA1\u7B97\u6B63\u786E + ghostElement.style.width = elementRect.width + 'px'; // \u56FA\u5B9A\u5BBD\u5EA6 + ghostElement.style.height = elementRect.height + 'px'; // \u56FA\u5B9A\u9AD8\u5EA6 + document.body.appendChild(ghostElement); + } else { + const ghostElement = document.getElementById('touch-drag-ghost'); + ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)'; + } + + // \u68C0\u67E5\u4E0E\u5176\u4ED6\u5143\u7D20\u7684\u78B0\u649E + const container = document.getElementById('selected-tags'); + const tags = Array.from(container.querySelectorAll('.selected-tag')).filter(tag => tag !== draggedElement); + let targetElement = null; + + for (const tag of tags) { + const rect = tag.getBoundingClientRect(); + if (touch.clientX >= rect.left && touch.clientX <= rect.right && + touch.clientY >= rect.top && touch.clientY <= rect.bottom) { + targetElement = tag; + break; + } + } + + // \u9AD8\u4EAE\u76EE\u6807\u5143\u7D20 + document.querySelectorAll('.selected-tag').forEach(tag => { + if (tag !== draggedElement) { + tag.classList.remove('drag-over'); + } + }); + + if (targetElement) { + targetElement.classList.add('drag-over'); + } + }); + } else { + // \u964D\u7EA7\u5904\u7406\uFF0C\u5982\u679C\u4E0D\u652F\u6301 requestAnimationFrame + const touch = e.touches[0]; + + // \u83B7\u53D6\u62D6\u52A8\u5143\u7D20\u7684\u5C3A\u5BF8 + const elementRect = draggedElement.getBoundingClientRect(); + + // \u521B\u5EFA\u4E00\u4E2A\u4E34\u65F6\u7684\u62D6\u52A8\u5143\u7D20\uFF0C\u800C\u4E0D\u662F\u79FB\u52A8\u539F\u59CB\u5143\u7D20 + if (!document.getElementById('touch-drag-ghost')) { + const ghostElement = draggedElement.cloneNode(true); + ghostElement.id = 'touch-drag-ghost'; + ghostElement.style.position = 'fixed'; // \u4F7F\u7528 fixed \u800C\u4E0D\u662F absolute + ghostElement.style.left = '0'; + ghostElement.style.top = '0'; + ghostElement.style.pointerEvents = 'none'; // \u9632\u6B62\u5E72\u6270\u89E6\u6478\u4E8B\u4EF6 + ghostElement.style.zIndex = '9999'; + ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)'; + ghostElement.style.opacity = '0.8'; + ghostElement.style.boxSizing = 'border-box'; // \u786E\u4FDD\u5C3A\u5BF8\u8BA1\u7B97\u6B63\u786E + ghostElement.style.width = elementRect.width + 'px'; // \u56FA\u5B9A\u5BBD\u5EA6 + ghostElement.style.height = elementRect.height + 'px'; // \u56FA\u5B9A\u9AD8\u5EA6 + document.body.appendChild(ghostElement); + } else { + const ghostElement = document.getElementById('touch-drag-ghost'); + ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)'; + } + + // \u68C0\u67E5\u4E0E\u5176\u4ED6\u5143\u7D20\u7684\u78B0\u649E + const container = document.getElementById('selected-tags'); + const tags = Array.from(container.querySelectorAll('.selected-tag')).filter(tag => tag !== draggedElement); + let targetElement = null; + + for (const tag of tags) { + const rect = tag.getBoundingClientRect(); + if (touch.clientX >= rect.left && touch.clientX <= rect.right && + touch.clientY >= rect.top && touch.clientY <= rect.bottom) { + targetElement = tag; + break; + } + } + + // \u9AD8\u4EAE\u76EE\u6807\u5143\u7D20 + document.querySelectorAll('.selected-tag').forEach(tag => { + if (tag !== draggedElement) { + tag.classList.remove('drag-over'); + } + }); + + if (targetElement) { + targetElement.classList.add('drag-over'); + } + } +} + +function handleTouchEnd(e) { + if (!touchDragging || !draggedElement) return; + + // \u9632\u6B62\u9ED8\u8BA4\u7684\u89E6\u6478\u884C\u4E3A + e.preventDefault(); + + // \u79FB\u9664\u4E34\u65F6\u62D6\u52A8\u5143\u7D20 + const ghostElement = document.getElementById('touch-drag-ghost'); + if (ghostElement) { + document.body.removeChild(ghostElement); + } + + // \u627E\u5230\u76EE\u6807\u5143\u7D20\uFF08\u5982\u679C\u6709\uFF09 + const touch = e.changedTouches[0]; + const targetElement = document.elementFromPoint(touch.clientX, touch.clientY); + + const container = document.getElementById('selected-tags'); + const targetTag = targetElement.closest('.selected-tag'); + + // \u5982\u679C\u76EE\u6807\u662F\u53E6\u4E00\u4E2A\u6807\u7B7E\uFF0C\u6267\u884C\u4EA4\u6362 + if (targetTag && targetTag !== draggedElement && container.contains(targetTag)) { + const allTags = Array.from(container.querySelectorAll('.selected-tag')); + const draggedIndex = allTags.indexOf(draggedElement); + const targetIndex = allTags.indexOf(targetTag); + + if (draggedIndex < targetIndex) { + targetTag.parentNode.insertBefore(draggedElement, targetTag.nextSibling); + } else { + targetTag.parentNode.insertBefore(draggedElement, targetTag); + } + } + + // \u91CD\u7F6E\u5143\u7D20\u6837\u5F0F + draggedElement.style.transform = ''; + draggedElement.style.opacity = ''; + draggedElement.style.zIndex = ''; + + // \u79FB\u9664\u62D6\u52A8\u7C7B + draggedElement.classList.remove('dragging'); + document.querySelectorAll('.selected-tag').forEach(tag => { + tag.classList.remove('drag-over'); + }); + + // \u91CD\u7F6E\u53D8\u91CF + touchDragging = false; + draggedElement = null; + + // \u79FB\u9664\u4E8B\u4EF6\u76D1\u542C\u5668 + document.removeEventListener('touchmove', handleTouchMove); + document.removeEventListener('touchend', handleTouchEnd); +} + +// \u663E\u793A\u52A0\u8F7D\u906E\u7F69 +function showLoading(text, detail) { + document.getElementById('loading-text').textContent = text; + document.getElementById('loading-detail').textContent = detail; + document.getElementById('loading-overlay').classList.add('active'); + document.getElementById('progress-container').classList.add('active'); + updateProgress(0); +} + +// \u9690\u85CF\u52A0\u8F7D\u906E\u7F69 +function hideLoading() { + document.getElementById('loading-overlay').classList.remove('active'); + setTimeout(() => { + document.getElementById('progress-container').classList.remove('active'); + updateProgress(0); + }, 300); +} + +// \u66F4\u65B0\u52A0\u8F7D\u6587\u672C +function updateLoadingText(text, detail) { + document.getElementById('loading-text').textContent = text; + document.getElementById('loading-detail').textContent = detail; +} + +// \u66F4\u65B0\u8FDB\u5EA6\u6761 +function updateProgress(percent) { + document.getElementById('progress-bar').style.width = percent + '%'; +} + +// \u6E32\u67D3\u73AF\u5883\u53D8\u91CF\u5217\u8868 +function renderEnvList() { + const list = document.getElementById('env-list'); + const items = envVariables[currentCategory] || []; + + if (items.length === 0) { + list.innerHTML = '

\u6682\u65E0\u914D\u7F6E\u9879

'; + return; + } + + list.innerHTML = items.map((item, index) => { + const typeLabel = item.type === 'boolean' ? '\u5E03\u5C14' : + item.type === 'number' ? '\u6570\u5B57' : + item.type === 'select' ? '\u5355\u9009' : + item.type === 'map' ? '\u6620\u5C04' : + item.type === 'multi-select' ? '\u591A\u9009' : '\u6587\u672C'; + const badgeClass = item.type === 'multi-select' ? 'multi' : ''; + + const escapedValue = escapeHtml(item.value); + + return \` +
+
+ \${item.key}\${typeLabel} +
\${escapedValue}
+
\${item.description || '\u65E0\u63CF\u8FF0'}
+
+
+ + +
+
+ \`; + }).join(''); +} + +function openAddEnvModal() { + editingKey = null; + document.getElementById('modal-title').textContent = '\u6DFB\u52A0\u914D\u7F6E\u9879'; + document.getElementById('env-category').value = currentCategory; + document.getElementById('env-key').value = ''; + document.getElementById('env-description').value = ''; + document.getElementById('value-type').value = 'text'; + + document.getElementById('env-category').disabled = false; + document.getElementById('env-key').readOnly = false; + document.getElementById('value-type').disabled = false; + document.getElementById('env-description').readOnly = false; + + renderValueInput({ type: 'text', key: '', value: '', description: '' }); + document.getElementById('env-modal').classList.add('active'); +} + +// \u7F16\u8F91\u73AF\u5883\u53D8\u91CF +function editEnv(index, clickEvent) { + const item = envVariables[currentCategory][index]; + const editButton = clickEvent?.target || null; // \u83B7\u53D6\u5F53\u524D\u70B9\u51FB\u7684\u7F16\u8F91\u6309\u94AE + + // \u8BBE\u7F6E\u6309\u94AE\u4E3A\u52A0\u8F7D\u72B6\u6001 + const originalText = editButton ? editButton.innerHTML : ''; + if (editButton) { + editButton.innerHTML = ''; + editButton.disabled = true; + } + + editingKey = index; + document.getElementById('modal-title').textContent = '\u7F16\u8F91\u914D\u7F6E\u9879'; + document.getElementById('env-category').value = currentCategory; + document.getElementById('env-key').value = item.key; + document.getElementById('env-description').value = item.description || ''; + document.getElementById('value-type').value = item.type || 'text'; + + // \u8BBE\u7F6E\u5B57\u6BB5\u4E3A\u53EA\u8BFB\uFF08\u7F16\u8F91\u6A21\u5F0F\u4E0B\uFF09 + document.getElementById('env-category').disabled = true; + document.getElementById('env-key').readOnly = true; + document.getElementById('value-type').disabled = true; + document.getElementById('env-description').readOnly = true; + + // \u6E32\u67D3\u5BF9\u5E94\u7684\u503C\u8F93\u5165\u63A7\u4EF6 + renderValueInput(item); + + document.getElementById('env-modal').classList.add('active'); + + // \u6062\u590D\u6309\u94AE\u72B6\u6001\uFF08\u5728\u5B9E\u9645\u573A\u666F\u4E2D\uFF0C\u8FD9\u4F1A\u5728\u7F16\u8F91\u5B8C\u6210\u540E\u53D1\u751F\uFF0C\u6BD4\u5982\u5728\u4FDD\u5B58\u540E\u6216\u53D6\u6D88\u540E\uFF09 + // \u4E3A\u4E86\u6F14\u793A\uFF0C\u8FD9\u91CC\u7ACB\u5373\u6062\u590D\u6309\u94AE\u72B6\u6001\uFF0C\u5B9E\u9645\u4F7F\u7528\u4E2D\u5E94\u8BE5\u5728\u9002\u5F53\u7684\u5730\u65B9\u6062\u590D\u6309\u94AE\u72B6\u6001 + if (editButton) { + editButton.innerHTML = originalText; + editButton.disabled = false; + } +} + +// \u5220\u9664\u73AF\u5883\u53D8\u91CF +function deleteEnv(index, clickEvent) { + customConfirm('\u786E\u5B9A\u8981\u5220\u9664\u8FD9\u4E2A\u914D\u7F6E\u9879\u5417?', '\u5220\u9664\u786E\u8BA4').then(confirmed => { + if (confirmed) { + const item = envVariables[currentCategory][index]; + const key = item.key; + const deleteButton = clickEvent?.target || null; // \u83B7\u53D6\u5F53\u524D\u70B9\u51FB\u7684\u5220\u9664\u6309\u94AE + + // \u8BBE\u7F6E\u6309\u94AE\u4E3A\u52A0\u8F7D\u72B6\u6001 + const originalText = deleteButton ? deleteButton.innerHTML : ''; + if (deleteButton) { + deleteButton.innerHTML = ''; + deleteButton.disabled = true; + } + + // \u8C03\u7528API\u5220\u9664\u73AF\u5883\u53D8\u91CF + fetch(buildApiUrl('/api/env/del'), { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ key }) + }) + .then(response => response.json()) + .then(result => { + if (result.success) { + // \u4ECE\u672C\u5730\u6570\u636E\u4E2D\u5220\u9664 + envVariables[currentCategory].splice(index, 1); + renderEnvList(); + renderPreview(); + addLog(\`\u5220\u9664\u914D\u7F6E\u9879: \${key}\`, 'warn'); + } else { + addLog(\`\u5220\u9664\u914D\u7F6E\u9879\u5931\u8D25: \${result.message}\`, 'error'); + addLog(\`\u274C \u5220\u9664\u914D\u7F6E\u9879\u5931\u8D25: \${result.message}\`, 'error'); + } + }) + .catch(error => { + addLog(\`\u5220\u9664\u914D\u7F6E\u9879\u5931\u8D25: \${error.message}\`, 'error'); + addLog(\`\u274C \u5220\u9664\u914D\u7F6E\u9879\u5931\u8D25: \${error.message}\`, 'error'); + }) + .finally(() => { + // \u6062\u590D\u6309\u94AE\u72B6\u6001 + if (deleteButton) { + deleteButton.innerHTML = originalText; + deleteButton.disabled = false; + } + }); + } + }); +} + +// \u8868\u5355\u63D0\u4EA4 +document.getElementById('env-form').addEventListener('submit', async function(e) { + e.preventDefault(); + + const category = document.getElementById('env-category').value; + const key = document.getElementById('env-key').value.trim(); + const description = document.getElementById('env-description').value.trim(); + const type = document.getElementById('value-type').value; + const existingItem = editingKey !== null && envVariables[currentCategory] + ? envVariables[currentCategory][editingKey] + : null; + + // \u6839\u636E\u7C7B\u578B\u83B7\u53D6\u503C + let value, itemData; + + if (type === 'boolean') { + value = document.getElementById('bool-value').checked ? 'true' : 'false'; + itemData = { key, value, description, type }; + } else if (type === 'number') { + value = document.getElementById('num-value').textContent; + const min = parseInt(document.getElementById('num-slider').min); + const max = parseInt(document.getElementById('num-slider').max); + itemData = { key, value, description, type, min, max }; + } else if (type === 'select') { + const selected = document.querySelector('.tag-option.selected'); + value = selected ? selected.dataset.value : ''; + const options = Array.from(document.querySelectorAll('.tag-option')).map(el => el.dataset.value); + itemData = { key, value, description, type, options }; + } else if (type === 'multi-select') { + // \u5982\u679C\u5F00\u542F\u4E86\u5408\u5E76\u6A21\u5F0F\uFF0C\u4E14\u6682\u5B58\u533A\u8FD8\u6709\u5185\u5BB9\uFF0C\u81EA\u52A8\u5C06\u5176\u89C6\u4E3A\u786E\u8BA4\u6DFB\u52A0 + if (isMergeMode && stagingTags && stagingTags.length > 0) { + confirmMergeGroup(); + } + + const selectedTags = Array.from(document.querySelectorAll('.selected-tag')) + .map(el => el.dataset.value); + value = selectedTags.join(','); + const options = Array.from(document.querySelectorAll('.available-tag')).map(el => el.dataset.value); + itemData = { key, value, description, type, options }; + } else if (type === 'map') { + // \u83B7\u53D6\u6620\u5C04\u8868\u503C + const mapItems = document.querySelectorAll('#map-container .map-item'); + const pairs = []; + mapItems.forEach(item => { + const leftInput = item.querySelector('.map-input-left'); + const rightInput = item.querySelector('.map-input-right'); + const leftValue = leftInput.value.trim(); + const rightValue = rightInput.value.trim(); + if (leftValue && rightValue) { + pairs.push(leftValue + '->' + rightValue); + } + }); + value = pairs.join(';'); + itemData = { key, value, description, type }; + } else { + const textValueEl = document.getElementById('text-value'); + value = textValueEl ? textValueEl.value.trim() : ''; + itemData = { key, value, description, type }; + } + + // \u8C03\u7528API\u66F4\u65B0\u73AF\u5883\u53D8\u91CF - \u5148\u5C1D\u8BD5set\u63A5\u53E3\uFF0C\u5931\u8D25\u5219\u8C03\u7528add\u63A5\u53E3 + try { + // \u9996\u5148\u5C1D\u8BD5\u4F7F\u7528set\u63A5\u53E3\u66F4\u65B0 + let response = await fetch(buildApiUrl('/api/env/set'), { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ key, value }) + }); + + let result = await response.json(); + + if (!result.success) { + // \u5982\u679Cset\u63A5\u53E3\u5931\u8D25\uFF0C\u5C1D\u8BD5\u4F7F\u7528add\u63A5\u53E3 + response = await fetch(buildApiUrl('/api/env/add'), { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ key, value }) + }); + + result = await response.json(); + } + + if (result.success) { + // \u66F4\u65B0\u672C\u5730\u6570\u636E + if (!envVariables[category]) { + envVariables[category] = []; + } + + if (editingKey !== null) { + envVariables[currentCategory][editingKey] = { + ...(existingItem || {}), + ...itemData + }; + addLog(\`\u66F4\u65B0\u914D\u7F6E\u9879: \${key} = \${value}\`, 'success'); + } else { + envVariables[category].push(itemData); + addLog(\`\u6DFB\u52A0\u914D\u7F6E\u9879: \${key} = \${value}\`, 'success'); + } + + if (category !== currentCategory) { + currentCategory = category; + document.querySelectorAll('.category-btn').forEach((btn, i) => { + btn.classList.toggle('active', ['api', 'source', 'match', 'danmu', 'cache', 'system'][i] === category); + }); + } + + renderEnvList(); + renderPreview(); + closeModal(); + } else { + addLog(\`\u64CD\u4F5C\u5931\u8D25: \${result.message}\`, 'error'); + addLog(\`\u274C \u64CD\u4F5C\u5931\u8D25: \${result.message}\`, 'error'); + customAlert(result.message + '\uFF0C\u8BF7\u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u76F8\u5173\u73AF\u5883\u53D8\u91CF\u914D\u7F6E\u662F\u5426\u6B63\u786E'); + } + } catch (error) { + addLog(\`\u66F4\u65B0\u73AF\u5883\u53D8\u91CF\u5931\u8D25: \${error.message}\`, 'error'); + addLog(\`\u274C \u66F4\u65B0\u73AF\u5883\u53D8\u91CF\u5931\u8D25: \${error.message}\`, 'error'); + customAlert(error.message + '\uFF0C\u8BF7\u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u76F8\u5173\u73AF\u5883\u53D8\u91CF\u914D\u7F6E\u662F\u5426\u6B63\u786E'); + } +}); + +// \u6DFB\u52A0\u6620\u5C04\u9879 +function addMapItem() { + const container = document.getElementById('map-container'); + const template = document.querySelector('.map-item-template'); + const newItem = template.cloneNode(true); + newItem.style.display = 'flex'; + newItem.classList.remove('map-item-template'); + newItem.classList.add('map-item'); + const index = container.querySelectorAll('.map-item').length; + newItem.setAttribute('data-index', index); + container.appendChild(newItem); +} + +// \u5220\u9664\u6620\u5C04\u9879 +function removeMapItem(button) { + const item = button.closest('.map-item'); + if (item) { + item.remove(); + } +} +/* ======================================== + Bilibili Cookie \u626B\u7801\u767B\u5F55\u529F\u80FD + ======================================== */ +let biliQRCheckInterval = null; +let biliBiliQRKey = null; + +async function startBilibiliQRLogin() { + // \u521B\u5EFA\u626B\u7801\u767B\u5F55\u6A21\u6001\u6846 + if (!document.getElementById('bili-qr-modal')) { + const modalHTML = \` + + \`; + document.body.insertAdjacentHTML('beforeend', modalHTML); + } + + const modal = document.getElementById('bili-qr-modal'); + const qrCode = document.getElementById('bili-qr-code'); + const qrLoading = document.getElementById('bili-qr-loading'); + const qrStatus = document.getElementById('bili-qr-status'); + + modal.classList.add('active'); + qrCode.style.display = 'none'; + qrCode.innerHTML = ''; + qrLoading.style.display = 'block'; + qrStatus.textContent = '\u6B63\u5728\u751F\u6210\u4E8C\u7EF4\u7801...'; + + if (biliQRCheckInterval) { + clearInterval(biliQRCheckInterval); + } + + try { + const response = await fetch(buildApiUrl('/api/cookie/qr/generate', true), { + method: 'POST' + }); + + const result = await response.json(); + + if (result.success && result.data) { + biliBiliQRKey = result.data.qrcode_key; + const qrUrl = result.data.url; + + qrCode.innerHTML = '\u4E8C\u7EF4\u7801'; + qrCode.style.display = 'block'; + qrLoading.style.display = 'none'; + qrStatus.textContent = '\u8BF7\u4F7F\u7528 Bilibili APP \u626B\u63CF'; + + startBiliQRCheck(); + } else { + throw new Error(result.message || '\u751F\u6210\u4E8C\u7EF4\u7801\u5931\u8D25'); + } + } catch (error) { + qrLoading.style.display = 'none'; + qrStatus.textContent = '\u274C ' + error.message; + } +} + +function startBiliQRCheck() { + if (!biliBiliQRKey) return; + + const qrStatus = document.getElementById('bili-qr-status'); + + biliQRCheckInterval = setInterval(async () => { + try { + const response = await fetch(buildApiUrl('/api/cookie/qr/check', true), { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ qrcode_key: biliBiliQRKey }) + }); + + const result = await response.json(); + + if (result.success && result.data) { + const code = result.data.code; + + switch (code) { + case 86101: + qrStatus.textContent = '\u23F3 \u7B49\u5F85\u626B\u7801...'; + break; + case 86090: + qrStatus.textContent = '\u{1F4F1} \u5DF2\u626B\u7801\uFF0C\u8BF7\u786E\u8BA4'; + break; + case 86038: + qrStatus.textContent = '\u274C \u4E8C\u7EF4\u7801\u5DF2\u8FC7\u671F'; + clearInterval(biliQRCheckInterval); + break; + case 0: + qrStatus.textContent = '\u2705 \u767B\u5F55\u6210\u529F\uFF01'; + clearInterval(biliQRCheckInterval); + + if (result.data.cookie) { + fillBilibiliCookie(result.data.cookie); + } + + setTimeout(() => { + closeBiliQRModal(); + }, 1000); + break; + } + } + } catch (error) { + console.error('\u68C0\u67E5\u626B\u7801\u72B6\u6001\u5931\u8D25:', error); + } + }, 2000); +} + +function fillBilibiliCookie(cookie) { + const textInput = document.getElementById('text-value'); + if (textInput) { + textInput.value = cookie; + textInput.dispatchEvent(new Event('input', { bubbles: true })); + + textInput.style.borderColor = 'var(--success-color, #28a745)'; + setTimeout(() => { + textInput.style.borderColor = ''; + // \u586B\u5165\u540E\u89E6\u53D1\u68C0\u6D4B\u4E00\u6B21\uFF08\u4F1A\u63D0\u793A\u7528\u6237\u4FDD\u5B58\uFF09 + autoCheckBilibiliCookieStatus(); + }, 2000); + } +} + +function closeBiliQRModal() { + const modal = document.getElementById('bili-qr-modal'); + if (modal) { + modal.classList.remove('active'); + } + + if (biliQRCheckInterval) { + clearInterval(biliQRCheckInterval); + } +} + +async function autoCheckBilibiliCookieStatus() { + const textInput = document.getElementById('text-value'); + const statusEl = document.getElementById('bili-cookie-status'); + + if (!textInput || !statusEl) return; + + const cookie = textInput.value.trim(); + + // \u5982\u679C\u8F93\u5165\u6846\u4E3A\u7A7A,\u63D0\u793A\u672A\u914D\u7F6E + if (!cookie) { + statusEl.innerHTML = '\u26A0\uFE0F\u672A\u914D\u7F6E'; + return; + } + + statusEl.innerHTML = '\u{1F50D}\u68C0\u6D4B\u4E2D...'; + + // \u8131\u654F\u540E\u7684 *...* \u65E0\u6CD5\u76F4\u63A5\u6821\u9A8C\uFF0C\u540E\u7AEF\u4F1A\u81EA\u52A8\u6539\u4E3A\u6821\u9A8C\u201C\u5DF2\u4FDD\u5B58\u201D\u7684 Cookie + const isMasked = /^[*]+$/.test(cookie); + const payload = isMasked ? {} : { cookie }; + + try { + const response = await fetch(buildApiUrl('/api/cookie/verify', true), { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload) + }); + + const result = await response.json(); + + if (result && result.success && result.data) { + if (result.data.isValid) { + const uname = result.data.uname || '\u5DF2\u767B\u5F55'; + const expiresAt = result.data.expiresAt; + const now = Math.floor(Date.now() / 1000); + + let leftText = ''; + if (typeof expiresAt === 'number' && expiresAt > now) { + const daysLeft = Math.ceil((expiresAt - now) / (24 * 60 * 60)); + leftText = \` (\u5269\u4F59 \${daysLeft} \u5929)\`; + } + + // \u7528\u6237\u624B\u52A8\u8F93\u5165/\u626B\u7801\u586B\u5165\u7684 Cookie \u2192 \u63D0\u793A\u4FDD\u5B58 + if (!isMasked) { + statusEl.innerHTML = \`\u2705\${uname}\${leftText} \xB7 \u8BF7\u70B9\u51FB\u4FDD\u5B58\u6309\u94AE\uFF08Vercel\u7B49\u5E73\u53F0\u9700\u91CD\u65B0\u90E8\u7F72\u540E\u751F\u6548\uFF09\`; + } else { + // \u8131\u654F\u663E\u793A\u65F6\u53EA\u5C55\u793A\u5F53\u524D\u5DF2\u4FDD\u5B58 Cookie \u7684\u72B6\u6001 + statusEl.innerHTML = \`\u2705\${uname}\${leftText}\`; + } + } else { + const err = result.data.error || 'Cookie\u65E0\u6548\u6216\u5DF2\u5931\u6548'; + statusEl.innerHTML = \`\u274C\${err}\uFF0C\u8BF7\u91CD\u65B0\u626B\u7801\u767B\u5F55\u5E76\u4FDD\u5B58\`; + } + } else { + statusEl.innerHTML = '\u26A0\uFE0F\u68C0\u6D4B\u5931\u8D25'; + } + } catch (error) { + statusEl.innerHTML = '\u26A0\uFE0F\u68C0\u6D4B\u5931\u8D25'; + } +} +// \u663E\u793A Bilibili Cookie \u4FDD\u5B58\u63D0\u793A +function showBilibiliCookieSaveHint(text) { + const statusEl = document.getElementById('bili-cookie-status'); + if (!statusEl) return; + + const msg = text || '\u8BF7\u70B9\u51FB\u4FDD\u5B58\u6309\u94AE,Vercel\u7B49\u5E73\u53F0\u9700\u91CD\u65B0\u90E8\u7F72\u540E\u751F\u6548'; + statusEl.innerHTML = \`\u{1F4BE}\${msg}\`; +} + +/* ======================================== + AI API Key \u8FDE\u901A\u6027\u6D4B\u8BD5\u529F\u80FD + ======================================== */ +async function verifyAiConnection() { + const statusEl = document.getElementById('ai-apikey-status'); + const btn = document.getElementById('ai-verify-btn'); + const textInput = document.getElementById('text-value'); + + if (!statusEl || !textInput) return; + + const apiKey = textInput.value.trim(); + + // \u5982\u679C\u8F93\u5165\u6846\u4E3A\u7A7A\uFF0C\u63D0\u793A\u672A\u914D\u7F6E + if (!apiKey) { + statusEl.innerHTML = '\u26A0\uFE0F\u8BF7\u5148\u8F93\u5165 API Key'; + return; + } + + // \u8BBE\u7F6E\u6309\u94AE\u4E3A\u52A0\u8F7D\u72B6\u6001 + const originalText = btn.innerHTML; + btn.innerHTML = ''; + btn.disabled = true; + + statusEl.innerHTML = '\u{1F50D}\u6B63\u5728\u6D4B\u8BD5\u8FDE\u901A\u6027...'; + + // \u68C0\u67E5\u662F\u5426\u4E3A\u8131\u654F\u540E\u7684 *...* + const isMasked = /^[*]+$/.test(apiKey); + + try { + const response = await fetch(buildApiUrl('/api/ai/verify', true), { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(isMasked ? {} : { 'aiApiKey': apiKey }) + }); + + const result = await response.json(); + + if (result.ok) { + statusEl.innerHTML = '\u2705' + (result.message || 'AI \u670D\u52A1\u8FDE\u901A\u6027\u6D4B\u8BD5\u6210\u529F') + ''; + statusEl.style.color = 'var(--success-color, #28a745)'; + } else { + statusEl.innerHTML = '\u274C' + (result.message || '\u8FDE\u901A\u6027\u6D4B\u8BD5\u5931\u8D25') + ''; + statusEl.style.color = 'var(--danger-color, #dc3545)'; + } + } catch (error) { + statusEl.innerHTML = '\u26A0\uFE0F\u6D4B\u8BD5\u8BF7\u6C42\u5931\u8D25: ' + error.message + ''; + statusEl.style.color = 'var(--warning-color, #ffc107)'; + } finally { + // \u6062\u590D\u6309\u94AE\u72B6\u6001 + btn.innerHTML = originalText; + btn.disabled = false; + } +} + +/* ======================================== + \u6700\u8FD1\u6570\u636E\u4E0Eanimes\u7F13\u5B58\u9762\u677F\u529F\u80FD + ======================================== */ + +// \u7EDF\u4E00\u5207\u6362\u5361\u7247\u5185\u7684\u6298\u53E0\u533A\u57DF +function toggleCardSection(btnEl, targetSelector, openText, closeText) { + if (!btnEl) return; + const card = btnEl.closest('.anime-cache-card'); + if (!card) return; + const container = card.querySelector(targetSelector); + if (!container) return; + + const isHidden = window.getComputedStyle(container).display === 'none'; + + if (isHidden) { + container.style.display = 'flex'; + btnEl.innerHTML = closeText; + btnEl.classList.add('active'); + } else { + container.style.display = 'none'; + btnEl.innerHTML = openText; + btnEl.classList.remove('active'); + } +} + +// \u5207\u6362\u5B50\u8282\u70B9\u5185\u7684\u6620\u5C04\u8BE6\u60C5 +function toggleMapping(btnEl) { + if (!btnEl) return; + const parentItem = btnEl.closest('.anime-cache-child-item'); + if (!parentItem) return; + const container = parentItem.querySelector('.child-mapping-container'); + if (!container) return; + + const isHidden = window.getComputedStyle(container).display === 'none'; + if (isHidden) { + container.style.display = 'flex'; + btnEl.innerHTML = '\u{1F4CA} \u6536\u8D77\u6620\u5C04\u8BE6\u60C5'; + btnEl.classList.add('active'); + } else { + container.style.display = 'none'; + btnEl.innerHTML = '\u{1F4CA} \u5C55\u5F00\u6620\u5C04\u8BE6\u60C5'; + btnEl.classList.remove('active'); + } +} + +// \u5FEB\u6377\u6570\u636E\u9762\u677F\u4E1A\u52A1\u903B\u8F91 +async function fetchAndShowRecentData() { + const panel = document.getElementById('recent-data-panel'); + const listContainer = document.getElementById('recent-data-list'); + + if (!panel || !listContainer) return; + + if (window.getComputedStyle(panel).display !== 'none') { + panel.style.display = 'none'; + return; + } + + panel.style.display = 'block'; + listContainer.innerHTML = ' \u6570\u636E\u52A0\u8F7D\u4E2D...'; + + try { + const response = await fetch(buildApiUrl('/api/cache/animes', true)); + const result = await response.json(); + + if (result.success && result.data && result.data.length > 0) { + renderAnimeCachePanel(result.data, listContainer); + } else { + listContainer.innerHTML = '
\u7F13\u5B58\u4E2D\u6682\u65E0\u756A\u5267\u6570\u636E\uFF0C\u8BF7\u5148\u901A\u8FC7\u5BA2\u6237\u7AEF\u8BF7\u6C42\u5F39\u5E55\u63A5\u53E3\u4EE5\u751F\u6210\u7F13\u5B58\u3002
'; + } + } catch (error) { + listContainer.innerHTML = \`
\u8BF7\u6C42\u5931\u8D25: \${error.message}
\`; + } +} + +// \u6E32\u67D3animes\u7F13\u5B58\u9762\u677F (\u542B\u96C6\u6570\u89E3\u6790\u4E0E\u6620\u5C04\u8BE6\u60C5) +function renderAnimeCachePanel(data, listContainer) { + const keyInput = document.getElementById('env-key'); + + if (!listContainer || !keyInput) return; + + const currentKey = keyInput.value; + + // \u5185\u90E8\u8F85\u52A9\u51FD\u6570\uFF1A\u751F\u6210\u64CD\u4F5C\u6309\u94AE + const generateButtons = (title, source) => { + if (currentKey === 'CUSTOM_MERGE_RULES') { + return \` + + + \`; + } else if (currentKey === 'DANMU_OFFSET') { + return \` + + \`; + } + return ''; + }; + + // \u5185\u90E8\u8F85\u52A9\u51FD\u6570\uFF1A\u6E05\u6D17\u6807\u9898 + const cleanTitleStr = (rawTitle) => rawTitle.replace(/\\s*from\\s+.*$/i, '').trim().replace(/'/g, '''); + + let html = '
'; + + data.forEach(item => { + const cleanTitle = cleanTitleStr(item.animeTitle); + const coverStyle = item.imageUrl ? \`background-image: url('\${item.imageUrl}');\` : ''; + + // 1. \u6784\u5EFA\u5408\u5E76\u5B50\u6E90\u6A21\u5757 + let childrenHtml = ''; + let childrenCount = 0; + if (item.mergedChildren && item.mergedChildren.length > 0) { + childrenCount = item.mergedChildren.length; + const childItems = item.mergedChildren.map(child => { + const childCleanTitle = cleanTitleStr(child.animeTitle); + + const childCoverStyle = child.imageUrl ? \`background-image: url('\${child.imageUrl}');\` : ''; + + // \u89E3\u6790\u6620\u5C04\u6570\u636E\u5E76\u6309\u5339\u914D\u72B6\u6001\u6392\u5E8F + let mappingHtml = ''; + if (item.links && item.links.length > 0) { + const parsedRows = []; + + item.links.forEach((link, idx) => { + const urlStr = String(link.url || ''); + const hasMainMatch = urlStr.includes(item.source + ':') || !urlStr.includes(':'); + const hasChildMatch = urlStr.includes(child.source + ':'); + + if (!hasMainMatch && !hasChildMatch) return; + + let mainSide = '(\u4E3B\u6E90\u8D8A\u754C)'; + if (hasMainMatch) { + const cleanMainEpTitle = (link.title || '\u672A\u77E5\u5267\u96C6').replace(/^\u3010.*?\u3011\\s*/, '').replace(/'/g, ''').replace(/"/g, '"'); + mainSide = \`\u3010\${item.source}\u3011\${cleanMainEpTitle}\`; + } + + let childSide = '(\u526F\u6E90\u7F3A\u5931)'; + let childNum = NaN; + + if (hasChildMatch) { + const regex = new RegExp(child.source + ':([^$]+)'); + const match = urlStr.match(regex); + let childTitleStr = '(\u6E90ID\u672A\u77E5)'; + + if (match) { + const childId = match[1]; + childTitleStr = \`(\u6E90ID: \${childId})\`; + + if (child.links && child.links.length > 0) { + const childLink = child.links.find(l => String(l.url) === String(childId)); + if (childLink && childLink.title) { + childTitleStr = childLink.title.replace(/^\u3010.*?\u3011\\s*/, '').replace(/'/g, ''').replace(/"/g, '"'); + } + } + } else { + childTitleStr = (link.title || '').replace(/^\u3010.*?\u3011\\s*/, '').replace(/'/g, ''').replace(/"/g, '"'); + } + childSide = \`\u3010\${child.source}\u3011\${childTitleStr}\`; + + const numMatch = childTitleStr.match(/\\d+/); + if (numMatch) { + childNum = parseInt(numMatch[0], 10); + } + } + + let rowHtml = ''; + if (hasMainMatch && hasChildMatch) { + rowHtml = \`
\u2713 \u5339\u914D \${mainSide} \u2194 \${childSide}
\`; + } else { + rowHtml = \`
\u2717 \u843D\u5355 \${mainSide} \u2194 \${childSide}
\`; + } + + parsedRows.push({ + originalIndex: idx, + hasChildMatch: hasChildMatch, + childNum: childNum, + html: rowHtml + }); + }); + + const matchedRows = parsedRows.filter(r => r.hasChildMatch).sort((a, b) => { + if (!isNaN(a.childNum) && !isNaN(b.childNum)) { + return a.childNum - b.childNum; + } + return a.originalIndex - b.originalIndex; + }); + + const lonelyRows = parsedRows.filter(r => !r.hasChildMatch).sort((a, b) => a.originalIndex - b.originalIndex); + + const finalRows = [...matchedRows, ...lonelyRows]; + const mappingRowsHtml = finalRows.map(r => r.html).join(''); + + if (mappingRowsHtml) { + mappingHtml = \` +
\u{1F4CA} \u5C55\u5F00\u6620\u5C04\u8BE6\u60C5
+
+ \${mappingRowsHtml} +
+ \`; + } + } + + return \` +
+
+
+
+
\${childCleanTitle}
+
[\${child.source}] (\${child.episodes}\u96C6)
+
+
+ \${generateButtons(childCleanTitle, child.source)} +
+
+ \${mappingHtml} +
+ \`; + }).join(''); + + childrenHtml = \` +
+ \${childItems} +
+ \`; + } + + // 2. \u6784\u5EFA\u5267\u96C6\u53C2\u8003\u5217\u8868\u6A21\u5757 + let episodesHtml = ''; + let episodesCount = 0; + if (item.links && item.links.length > 0) { + episodesCount = item.links.length; + const epItems = item.links.map(link => { + const safeTitle = link.title ? link.title.replace(/'/g, ''').replace(/"/g, '"') : '\u672A\u77E5\u5267\u96C6'; + return \` +
+
+
+
\${safeTitle}
+
+
+
+ \`; + }).join(''); + + episodesHtml = \` +
+ \${epItems} +
+ \`; + } + + // 3. \u6784\u5EFA\u5361\u7247\u5E95\u90E8\u4E13\u5C5E\u5207\u6362\u680F (Tab Bar) + let footerHtml = ''; + if (childrenCount > 0 || episodesCount > 0) { + let badges = ''; + if (episodesCount > 0) { + badges += \`
\u{1F4FA} \${episodesCount} \u4E2A\u5267\u96C6
\`; + } + if (childrenCount > 0) { + badges += \`
\u{1F517} \${childrenCount} \u4E2A\u88AB\u5408\u5E76\u6E90
\`; + } + footerHtml = \`\`; + } + + // 4. \u7EC4\u88C5\u5B8C\u6574\u5361\u7247 + html += \` +
+
+
+
+
\${cleanTitle}
+
[\${item.source}] (\${item.episodes}\u96C6)
+
+
+ \${generateButtons(cleanTitle, item.source)} +
+
+ \${footerHtml} + \${childrenHtml} + \${episodesHtml} +
+ \`; + }); + + html += '
'; + listContainer.innerHTML = html; +} + +/* ======================================== + \u8868\u5355\u586B\u5145\u5FEB\u6377\u64CD\u4F5C\u529F\u80FD + ======================================== */ + +// \u5185\u90E8\u8F85\u52A9\u51FD\u6570\uFF1A\u8F93\u5165\u6846\u89C6\u89C9\u53CD\u9988\u7EDF\u4E00\u5904\u7406 +function applyInputFeedback(inputEl) { + if (!inputEl) return; + const oldBorder = inputEl.style.borderColor; + inputEl.style.borderColor = '#28a745'; + setTimeout(() => inputEl.style.borderColor = oldBorder, 800); + inputEl.focus(); +} + +// \u8868\u5355\u586B\u5145\u903B\u8F91\uFF1A\u5408\u5E76\u6620\u5C04\u8868 +function fillMergeEntity(type, title, source) { + const panel = document.getElementById('merge-rule-panel'); + if (panel && window.getComputedStyle(panel).display === 'none') { + toggleMergeRulePanel(); + } + + const inputId = type === 'sec' ? 'merge-sec-entity' : 'merge-prim-entity'; + const inputEl = document.getElementById(inputId); + + if (inputEl) { + inputEl.value = \`\${title}@\${source}\`; + applyInputFeedback(inputEl); + setMergeFocus(type); + } +} + +// \u8868\u5355\u586B\u5145\u903B\u8F91\uFF1A\u5F39\u5E55\u504F\u79FB +function fillOffsetEntity(title, source) { + const panel = document.getElementById('offset-rule-panel'); + if (panel && window.getComputedStyle(panel).display === 'none') { + toggleOffsetRulePanel(); + } + + // \u89C6\u56FE\u5C42\u6570\u636E\u6E05\u6D17\uFF1A\u53BB\u9664\u5E74\u4EFD\u548C\u7C7B\u578B\u540E\u7F00 + const cleanTitle = title + .replace(/[\\u200B-\\u200F\\uFEFF]/g, '') + .replace(/\\s*[\uFF08(\u3014\\[]\\s*[0-9\uFF10-\uFF19]{4}\\s*\u5E74?\\s*[\uFF09)\u3015\\]]/g, '') + .replace(/(.+?)\\s*\u3010[^\u3011]+\u3011$/, '$1') + .trim(); + + const inputEl = document.getElementById('offset-anime'); + + if (inputEl) { + inputEl.value = cleanTitle; + + // \u57FA\u4E8E data-value \u5C5E\u6027\u5339\u914D\u5E76\u9009\u4E2D\u5BF9\u5E94\u6765\u6E90\u6807\u7B7E + const sourceTags = document.querySelectorAll('#offset-sources .offset-source-tag'); + if (sourceTags.length > 0) { + sourceTags.forEach(el => el.classList.remove('selected')); + const targetTag = Array.from(sourceTags).find(el => el.dataset.value === source); + if (targetTag) targetTag.classList.add('selected'); + } + + applyInputFeedback(inputEl); + } +} +`});var d1t,f1t=oe(()=>{Gt();jbt();Gbt();Qbt();Wbt();Jbt();e1t();r1t();s1t();a1t();c1t();l1t();d1t=` + + + + + + LogVar\u5F39\u5E55API + + + + + + + + + +
+ +
+
+
+ +
+
+
+ +

LogVar\u5F39\u5E55API

+
+
+ \u5F53\u524D\u7248\u672C: v${F.version} + + \u{1F389} \u6700\u65B0\u7248\u672C: \u52A0\u8F7D\u4E2D... + + + API\u7AEF\u70B9: \u52A0\u8F7D\u4E2D... + +
+
+ +
+ +
+ +
+

\u914D\u7F6E\u9884\u89C8

+ + + +

\u5F53\u524D\u751F\u6548\u7684\u73AF\u5883\u53D8\u91CF\u914D\u7F6E

+
+
+ + +
+

\u65E5\u5FD7\u67E5\u770B

+
+
+ + +
+ \u5B9E\u65F6\u65E5\u5FD7\u76D1\u63A7 +
+
+
+ + +
+

\u63A5\u53E3\u8C03\u8BD5

+
+ + +
+ +
+
+
+ + +
+
+ + +
+ +
+
+ + +
+ +
+

\u6A21\u62DF\u64AD\u653E\u5668\u81EA\u52A8\u5339\u914D\u6D41\u7A0B\uFF1A\u8F93\u5165\u6587\u4EF6\u540D \u2192 \u5339\u914D\u5267\u96C6 \u2192 \u83B7\u53D6\u5F39\u5E55

+
+ +
+ + +
+
+
+ +
+

\u6A21\u62DF\u64AD\u653E\u5668\u624B\u52A8\u641C\u7D22\u6D41\u7A0B\uFF1A\u641C\u7D22\u52A8\u6F2B \u2192 \u9009\u62E9\u756A\u5267 \u2192 \u9009\u62E9\u5267\u96C6 \u2192 \u83B7\u53D6\u5F39\u5E55

+
+ +
+ + +
+
+ + +
+ + +
+
+ + +
+

\u63A8\u9001\u5F39\u5E55

+

\u652F\u6301OK\u5F71\u89C6\u7B49\u64AD\u653E\u5668\uFF0C\u4E24\u7AEF\u9700\u8981\u5728\u540C\u4E00\u5C40\u57DF\u7F51\u6216\u4F7F\u7528\u516C\u7F51ip\uFF0C\u63A8\u9001\u5730\u5740\u683C\u5F0F\u5982 http://127.0.0.1:9978/action?do=refresh&type=danmaku&path=

+
+
+ + +
+
+ +
+ + +
+
+
+ + +
+ + +
+

\u8BF7\u6C42\u8BB0\u5F55

+
+
+ + +
+ \u4E91\u670D\u52A1\u90E8\u7F72\u9700\u8981\u914D\u7F6Eredis +
+
+
+ + +
+
+
+

\u73AF\u5883\u53D8\u91CF\u914D\u7F6E

+

vercel/netlify/edgeone\u5E73\u53F0\u4FEE\u6539\u53D8\u91CF\u540E\u9700\u8981\u91CD\u65B0\u90E8\u7F72

+
+
+ + +
+ + + + + + +
+ +
+ + + + + + +
+ +
+
+
+
+ + +
+
+
+
\u6B63\u5728\u5904\u7406...
+
\u8BF7\u7A0D\u5019
+
+
+ + + + + +
+ + + + +

\u6709\u95EE\u9898\u63D0issue\u6216\u79C1\u4FE1\u673A\u5668\u4EBA\u90FDok

+
+ + + + +`});var qc,NS=oe(()=>{Gt();Ht();qc=class{constructor(){}updateLocalEnv(t,r){return typeof F.env<"u"?F.env[t]=r:typeof process<"u"&&(process.env[t]=r),F.reInit(),I("info",`[system] [Server] \u2713 Environment variable updated successfully: ${t}`),!0}delLocalEnv(t){return typeof F.env<"u"&&F.env[t]?delete F.env[t]:typeof process<"u"&&process.env?.[t]&&delete process.env[t],F.reInit(),I("info",`[system] [Server] \u2713 Environment variable deleted successfully: ${t}`),!0}getAllEnv(){let t=F.originalEnvVars,r=F.envVarConfig,n={};for(let[s,i]of Object.entries(t)){let a=r[s]||{category:"system",type:"text",description:"\u672A\u5206\u7C7B\u914D\u7F6E\u9879"};n[s]={value:i,category:a.category,type:a.type,description:a.description,options:a.options}}return n}getEnv(t){return this.getAllEnv()[t]}async setEnv(t,r){throw new Error("Method 'setEnv' must be implemented")}async addEnv(t,r){throw new Error("Method 'addEnv' must be implemented")}async delEnv(t){throw new Error("Method 'delEnv' must be implemented")}async checkParams(t,r,n){throw new Error("Method 'checkParams' must be implemented")}async deploy(t,r,n){throw new Error("Method 'deploy' must be implemented")}}});var iq,h1t=oe(()=>{NS();Gt();Ht();Lr();iq=class extends qc{API_URL="https://api.cloudflare.com";async _getAllEnvs(t,r,n){let s=`${this.API_URL}/client/v4/accounts/${t}/workers/scripts/${r}/settings`,i={headers:{Authorization:`Bearer ${n}`}},a=await Le(s,i);return a&&a?.data&&a?.data?.result&&a?.data?.result?.bindings?a?.data?.result?.bindings:null}_setEnv(t,r,n){let s=t.findIndex(i=>i.name===r);return n==null?s!==-1&&t.splice(s,1):s!==-1?t[s].text=n:t.push({name:r,text:n,type:"plain_text"}),t}async setEnv(t,r){try{let n=await this._getAllEnvs(F.deployPlatformAccount,F.deployPlatformProject,F.deployPlatformToken);if(n===null){I("error","[system] [Server] \u2717 Failed to set environment variable: envs is null");return}let s=`${this.API_URL}/client/v4/accounts/${F.deployPlatformAccount}/workers/scripts/${F.deployPlatformProject}/settings`,i={headers:{Authorization:`Bearer ${F.deployPlatformToken}`}},a=new FormData,o={bindings:this._setEnv(n,t,r==null?null:r.toString())};return a.append("settings",new Blob([JSON.stringify(o)],{type:"application/json"}),"settings.json"),await m$(s,a,i),this.updateLocalEnv(t,r)}catch(n){I("error","[system] [Server] \u2717 Failed to set environment variable:",n.message)}}async addEnv(t,r){return await this.setEnv(t,r)}async delEnv(t){return await this.setEnv(t,null),this.delLocalEnv(t)}async checkParams(t,r,n){try{return await this._getAllEnvs(t,r,n),!0}catch(s){return I("error","[system] [Server] checkParams failed! accountId, projectId or token is not valid:",s.message),!1}}async deploy(){return I("info","[system] [Server] After modifying the environment variables on the cloudflare platform, it will be automatically deployed."),!0}}});var aq,p1t=oe(()=>{NS();Gt();Ht();Lr();aq=class extends qc{API_URL="https://api.vercel.com";async _getAllEnvs(t,r){let n=`${this.API_URL}/v10/projects/${t}/env`,s={headers:{Authorization:`Bearer ${r}`}};return(await Le(n,s)).data.envs}async _getEevId(t){try{let n=(await this._getAllEnvs(F.deployPlatformProject,F.deployPlatformToken)).find(s=>s.key===t);return n||null}catch(r){I("error","[system] [Server] \u2717 Failed to _getEevId:",r.message)}}async setEnv(t,r){let n=await this._getEevId(t);if(!n){I("error","[system] [Server] Error setEnv: \u6CA1\u6709\u627E\u5230\u5BF9\u5E94\u7684\u73AF\u5883\u53D8\u91CF\uFF01");return}try{let s=`${this.API_URL}/v9/projects/${F.deployPlatformProject}/env/${n.id}`,i={headers:{Authorization:`Bearer ${F.deployPlatformToken}`,"Content-Type":"application/json"}},a={key:t,value:r.toString(),target:n.target,type:n.type};return await m$(s,JSON.stringify(a),i),this.updateLocalEnv(t,r)}catch(s){I("error","[system] [Server] \u2717 Failed to set environment variable:",s.message)}}async addEnv(t,r){try{let n=`${this.API_URL}/v10/projects/${F.deployPlatformProject}/env`,s={headers:{Authorization:`Bearer ${F.deployPlatformToken}`,"Content-Type":"application/json"}},i={key:t,value:r.toString(),target:["production","preview","development"],type:"encrypted"};return await Fn(n,JSON.stringify(i),s),this.updateLocalEnv(t,r)}catch(n){I("error","[system] [Server] \u2717 Failed to add environment variable:",n.message)}}async delEnv(t){let r=await this._getEevId(t);if(!r){I("error","[system] [Server] Error setEnv: \u6CA1\u6709\u627E\u5230\u5BF9\u5E94\u7684\u73AF\u5883\u53D8\u91CF\uFF01");return}try{let n=`${this.API_URL}/v9/projects/${F.deployPlatformProject}/env/${r.id}`,s={headers:{Authorization:`Bearer ${F.deployPlatformToken}`,"Content-Type":"application/json"}};return await eR(n,s),this.delLocalEnv(t)}catch(n){I("error","[system] [Server] \u2717 Failed to add environment variable:",n.message)}}async checkParams(t,r,n){try{return await this._getAllEnvs(r,n),!0}catch(s){return I("error","[system] [Server] checkParams failed! projectId or token is not valid:",s.message),!1}}async deploy(){try{let t=`${this.API_URL}/v6/deployments?projectId=${F.deployPlatformProject}&limit=1`,r={headers:{Authorization:`Bearer ${F.deployPlatformToken}`}},n=await Le(t,r),s;if(n?.data&&n?.data?.deployments&&n?.data?.deployments.length>0)s=n.data.deployments[0].uid;else return I("error","[system] [Server] \u2717 Failed to deploy:",JSON.stringify(n?.data)),!1;let i=`${this.API_URL}/v13/deployments`,a={headers:{Authorization:`Bearer ${F.deployPlatformToken}`,"Content-Type":"application/json"}},o={name:F.deployPlatformProject,deploymentId:s,target:"production"},c=await Fn(i,JSON.stringify(o),a);return c?.data?.id?!0:(I("error","[system] [Server] \u2717 Failed to deploy:",JSON.stringify(c?.data)),!1)}catch(t){return I("error","[system] [Server] \u2717 Failed to deploy:",t.message),!1}}}});var oq,m1t=oe(()=>{NS();Gt();Ht();Lr();oq=class extends qc{API_URL="https://api.netlify.com";async _getAllEnvs(t,r,n){let s=`${this.API_URL}/api/v1/accounts/${t}/env?site_id=${r}`,i={headers:{Authorization:`Bearer ${n}`}};return await Le(s,i)}async setEnv(t,r){try{let n=`${this.API_URL}/api/v1/accounts/${F.deployPlatformAccount}/env/${t}?site_id=${F.deployPlatformProject}`,s={headers:{Authorization:`Bearer ${F.deployPlatformToken}`,"Content-Type":"application/json"}},i={key:t,values:[{context:"all",value:r.toString()}]};return await drt(n,JSON.stringify(i),s),this.updateLocalEnv(t,r)}catch(n){I("error","[system] [Server] \u2717 Failed to set environment variable:",n.message)}}async addEnv(t,r){try{let n=`${this.API_URL}/api/v1/accounts/${F.deployPlatformAccount}/env?site_id=${F.deployPlatformProject}`,s={headers:{Authorization:`Bearer ${F.deployPlatformToken}`,"Content-Type":"application/json"}};return await Fn(n,JSON.stringify([{key:t,values:[{context:"all",value:r}]}]),s),this.updateLocalEnv(t,r)}catch(n){I("error","[system] [Server] \u2717 Failed to add environment variable:",n.message)}}async delEnv(t){try{let r=`${this.API_URL}/api/v1/accounts/${F.deployPlatformAccount}/env/${t}?site_id=${F.deployPlatformProject}`,n={headers:{Authorization:`Bearer ${F.deployPlatformToken}`,"Content-Type":"application/json"}};return await eR(r,n),this.delLocalEnv(t)}catch(r){I("error","[system] [Server] \u2717 Failed to add environment variable:",r.message)}}async checkParams(t,r,n){try{return await this._getAllEnvs(t,r,n),!0}catch(s){return I("error","[system] [Server] checkParams failed! accountId, projectId or token is not valid:",s.message),!1}}async deploy(){try{let t=`${this.API_URL}/api/v1/sites/${F.deployPlatformProject}/builds`,r={headers:{Authorization:`Bearer ${F.deployPlatformToken}`,"Content-Type":"application/json"}},s=await Fn(t,JSON.stringify({}),r);return s?.data?.id?!0:(I("error","[system] [Server] \u2717 Failed to deploy:",JSON.stringify(s?.data)),!1)}catch(t){return I("error","[system] [Server] \u2717 Failed to deploy:",t.message),!1}}}});var cq,g1t=oe(()=>{NS();Gt();Ht();Lr();cq=class extends qc{API_URL="https://pages-api.cloud.tencent.com/v1";async _httpPost(t,r){let n=`${this.API_URL}`,s={headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"}};return await Fn(n,JSON.stringify(r),s)}async _getAllEnvs(t,r){let n={Action:"ModifyPagesProjectEnvs",ProjectId:t},s=await this._httpPost(r,n);if(s?.data?.Code!==0)return null;let i=s?.data.Data?.Response?.EnvVars??[];return Object.fromEntries(i.map(({Key:a,Value:o})=>[a,o]))}async setEnv(t,r){try{let n={Action:"ModifyPagesProjectEnvs",ProjectId:F.deployPlatformProject,EnvVars:[{Key:t,Value:r.toString()}]};return await this._httpPost(F.deployPlatformToken,n),this.updateLocalEnv(t,r)}catch(n){I("error","[system] [Server] \u2717 Failed to set environment variable:",n.message)}}async addEnv(t,r){return await this.setEnv(t,r)}async delEnv(t){try{let r={Action:"DeletePagesProjectEnvs",ProjectId:F.deployPlatformProject,EnvVars:[t]};return await this._httpPost(F.deployPlatformToken,r),this.delLocalEnv(t)}catch(r){I("error","[system] [Server] \u2717 Failed to del environment variable:",r.message)}}async checkParams(t,r,n){try{return await this._getAllEnvs(r,n),!0}catch(s){return I("error","[system] [Server] checkParams failed! accountId, projectId or token is not valid:",s.message),!1}}async deploy(){try{let t={Action:"CreatePagesDeployment",ProjectId:F.deployPlatformProject,RepoBranch:"main",ViaMeta:"Github",Provider:"Github"},r=await this._httpPost(F.deployPlatformToken,t);return r?.data?.Code!==0?(I("error","[system] [Server] \u2717 Failed to deploy:",JSON.stringify(r?.data)),!1):!0}catch(t){return I("error","[system] [Server] \u2717 Failed to deploy:",t.message),!1}}}});var uq,_1t=oe(()=>{NS();Gt();Ht();Lr();uq=class extends qc{API_URL="https://huggingface.co";get repoId(){return`${F.deployPlatformAccount}/${F.deployPlatformProject}`}_getOptions(t=F.deployPlatformToken){return{headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"}}}_getVariablesUrl(t){return`${this.API_URL}/api/spaces/${t}/variables`}async _getAllEnvs(t,r,n){let s=`${t}/${r}`,i=this._getVariablesUrl(s);return(await Le(i,this._getOptions(n)))?.data}async setEnv(t,r){try{let n=this._getVariablesUrl(this.repoId),s={key:t,value:r.toString()};return await Fn(n,JSON.stringify(s),this._getOptions()),this.updateLocalEnv(t,r)}catch(n){I("error","[system] [Server] \u2717 Failed to set environment variable:",n.message)}}async addEnv(t,r){return await this.setEnv(t,r)}async delEnv(t){try{let r=this._getVariablesUrl(this.repoId);return await eR(r,{...this._getOptions(),body:JSON.stringify({key:t})}),this.delLocalEnv(t)}catch(r){I("error","[system] [Server] \u2717 Failed to del environment variable:",r.message)}}async checkParams(t,r,n){try{return await this._getAllEnvs(t,r,n),!0}catch(s){return I("error","[system] [Server] checkParams failed! accountId, projectId or token is not valid:",s.message),!1}}async deploy(){try{let t=`${this.API_URL}/api/spaces/${this.repoId}/restart`;return await Fn(t,void 0,this._getOptions()),!0}catch(t){return I("error","[system] [Server] \u2717 Failed to deploy:",t.message),!1}}}});function bKr(){let e=[globalThis.__filename,typeof process<"u"&&Array.isArray(process.argv)?process.argv[1]:""].filter(r=>typeof r=="string"&&r&&r!=="[stdin]");for(let r of e){let n=r.replace(/\\/g,"/"),s="/vendor/danmu_api/",i=n.lastIndexOf(s);if(i!==-1)return r.slice(0,i+s.length-1)}return(typeof process<"u"&&typeof process.cwd=="function"?process.cwd():"")||"."}function Eye(){let e=bKr(),t=e.replace(/\\/g,"/"),r="/vendor/danmu_api",n=t.lastIndexOf(r);return n!==-1?e.slice(0,n+r.length):OS.default.resolve(e||".","..","..")}function IKr(e){return e?OS.default.isAbsolute(e)?e:OS.default.resolve(Eye(),e):""}function XR(){let e=process.env.DANMU_API_ENV_FILE||"";return e&&e.trim()?IKr(e.trim()):OS.default.join(Eye(),"config",".env")}function yye(){return OS.default.dirname(XR())}function A1t(){return OS.default.join(Eye(),"config_example")}function lq(){let e=yye();return Aye.default.existsSync(e)||Aye.default.mkdirSync(e,{recursive:!0}),e}var Aye,OS,vye=oe(()=>{Aye=we(require("fs"),1),OS=we(require("path"),1)});var ig,FM,E1t=oe(()=>{NS();Ht();ig=we(require("fs"),1);vye();FM=class extends qc{updateConfigValue(t,r){let n=XR();lq(),ig.default.existsSync(n)||(ig.default.writeFileSync(n,"","utf8"),I("info",`[server] Created missing .env file: ${n}`));let s=ig.default.existsSync(n);if(!s)throw new Error(`.env not found: ${n}`);let i=!1;try{let a=r;if(t==="BLOCKED_WORDS"&&!a.startsWith('"')&&!a.endsWith('"')&&(a=`"${a}"`),s){let c=ig.default.readFileSync(n,"utf8").split(` +`),u=!1;for(let l=0;l{let c=o.trim();if(!c||c.startsWith("#"))return!0;let u=c.match(/^([^=]+)=/);return!(u&&u[1].trim()===t)});ig.default.writeFileSync(r,a.join(` +`),"utf8"),I("info",`[system] [Server] Deleted ${t} from .env`),n=!0}return n?this.delLocalEnv(t):!1}catch(s){I("error","[system] [Server] \u2717 Failed to delete environment variable:",s.message)}}}});var Ph,dq=oe(()=>{h1t();p1t();m1t();g1t();_1t();E1t();Ph=class{static async getHandler(t){switch(t?.toLowerCase()){case"cloudflare":return new iq;case"vercel":return new aq;case"netlify":return new oq;case"edgeone":return new cq;case"huggingface":return new uq;case"node":return new FM;default:return new FM}}static getSupportedPlatforms(){return["cloudflare","vercel","netlify","edgeone","huggingface","node"]}}});function Tye(){return new Response(d1t.replace("globals.currentToken",F.currentToken),{headers:{"Content-Type":"text/html; charset=utf-8","Access-Control-Allow-Origin":"*"}})}function fq(e=!1){let t=F.envVarConfig,r={api:[],source:[],match:[],danmu:[],cache:[],system:[]},n={...F.accessedEnvVars,localCacheValid:F.localCacheValid,redisValid:F.redisValid,localRedisValid:F.localRedisValid,aiValid:F.aiValid,deployPlatform:F.deployPlatform};Object.keys(n).forEach(o=>{let c=t[o]||{category:"system",type:"text",description:"\u672A\u5206\u7C7B\u914D\u7F6E\u9879"},u=c.category||"system";r[u].push({key:o,value:n[o].value||n[o],type:n[o].type||c.type||"text",description:c.description||"\u65E0\u63CF\u8FF0",options:n[o].options||c.options})});let i=(F.adminToken||"").trim()!=="",a={...F.originalEnvVars};return(!e||F.currentToken!==F.adminToken)&&Object.keys(a).forEach(o=>{(F.currentToken!==F.token||o!=="TOKEN")&&o in n&&/^\*+$/.test(n[o])&&(a[o]=n[o])}),tt({message:"Welcome to the LogVar Danmu API server",version:F.VERSION,envs:n,categorizedEnvVars:r,envVarConfig:t,originalEnvVars:a,hasAdminToken:i,repository:"https://github.com/huangxd-/danmu_api.git",description:"\u4E00\u4E2A\u4EBA\u4EBA\u90FD\u80FD\u90E8\u7F72\u7684\u57FA\u4E8E js \u7684\u5F39\u5E55 API \u670D\u52A1\u5668\uFF0C\u652F\u6301\u7231\u4F18\u817E\u8292\u54D4\u54AA\u4EBA\u97E9\u5DF4\u72D0\u4E50\u897F\u57CB\u5E06\u5F39\u5E55\u76F4\u63A5\u83B7\u53D6\uFF0C\u517C\u5BB9\u5F39\u5F39play\u7684\u641C\u7D22\u3001\u8BE6\u60C5\u67E5\u8BE2\u548C\u5F39\u5E55\u83B7\u53D6\u63A5\u53E3\u89C4\u8303\uFF0C\u5E76\u63D0\u4F9B\u65E5\u5FD7\u8BB0\u5F55\uFF0C\u652F\u6301vercel/netlify/edgeone/cloudflare/docker/hf\u7B49\u90E8\u7F72\u65B9\u5F0F\uFF0C\u4E0D\u7528\u63D0\u524D\u4E0B\u8F7D\u5F39\u5E55\uFF0C\u6CA1\u6709nas\u6216\u5C0F\u9E21\u4E5F\u80FD\u4E00\u952E\u90E8\u7F72\u3002",notice:"\u672C\u9879\u76EE\u4EC5\u4E3A\u4E2A\u4EBA\u5B66\u4E60\u7231\u597D\u5F00\u53D1\uFF0C\u4EE3\u7801\u5F00\u6E90\u3002\u5982\u6709\u4EFB\u4F55\u4FB5\u6743\u884C\u4E3A\uFF0C\u8BF7\u8054\u7CFB\u672C\u4EBA\u5220\u9664\u3002\u6709\u95EE\u9898\u63D0issue\u6216\u79C1\u4FE1\u673A\u5668\u4EBA\u90FDok\uFF0CTG MSG ROBOT: [https://t.me/ddjdd_bot]; \u63A8\u8350\u52A0\u4E92\u52A9\u7FA4\u54A8\u8BE2\uFF0CTG GROUP: [https://t.me/logvar_danmu_group]; \u5173\u6CE8\u9891\u9053\u83B7\u53D6\u6700\u65B0\u66F4\u65B0\u5185\u5BB9\uFF0CTG CHANNEL: [https://t.me/logvar_danmu_channel]\u3002"})}async function y1t(){try{let e=F.deployPlatform;if(I("info",`[system] [Server] Deployment request received for platform: ${e}`),e.toLowerCase()==="node")return I("info","[system] [Server] Node/Docker deployment - no redeployment needed, config changes take effect automatically"),tt({success:!0,message:"Node/Docker deployment - configuration changes take effect automatically"},200);let t=await Ph.getHandler(e);return t?await t.deploy()?(I("info",`[system] [Server] Deployment triggered successfully for platform: ${e}`),tt({success:!0,message:"Deployment triggered successfully"},200)):(I("error",`[system] [Server] Failed to trigger deployment for platform: ${e}`),tt({success:!1,message:"Failed to trigger deployment"},500)):(I("error",`[system] [Server] No handler found for platform: ${e}`),tt({success:!1,message:`No handler found for platform: ${e}`},400))}catch(e){return I("error",`[system] [Server] Deployment error: ${e.message}`),tt({success:!1,message:`Deployment failed: ${e.message}`},500)}}function v1t(){let e=F.logBuffer.map(r=>`[${r.timestamp}] ${r.level}: ${Pet(r.message)}`).join(` +`),t=e;return F.currentToken!==F.adminToken&&(t=e.replace(/(client\s+ip:\s*)([^\n\r]*)/gi,(r,n,s)=>{let i=s.replace(/[^.\s\n\r]/g,"*");return n+i})),new Response(t,{headers:{"Content-Type":"text/plain; charset=utf-8"}})}function S1t(){return F.logBuffer=[],tt({success:!0,message:"Logs cleared"},200)}async function T1t(){try{F.animes=[],F.episodeIds=[],F.episodeNum=10001,F.lastSelectMap=new Map,F.reqRecords=[],F.todayReqNum=0,F.searchCache=new Map,F.commentCache=new Map,F.requestHistory=new Map;try{U$(!0),F.useBangumiData&&cR(F.deployPlatform,!1).catch(e=>{I("warn",`[system] [Server] Bangumi-Data background reload failed: ${e.message}`)})}catch(e){I("error",`[system] [Server] Failed to clear Bangumi-Data cache: ${e.message}`)}I("info","[system] [Server] Memory cache cleared successfully");try{if(F.localCacheValid){let{updateLocalCaches:e}=await Promise.resolve().then(()=>(Ws(),Lrt));await e(),I("info","[system] [Server] Local cache cleared successfully")}}catch(e){I("warn",`[system] [Server] Local cache may not be available: ${e.message}`)}try{if(F.redisValid){let{updateRedisCaches:e}=await Promise.resolve().then(()=>(y$(),Srt));await e(),I("info","[system] [Server] Redis cache cleared successfully")}}catch(e){I("warn",`[system] [Server] Redis may not be available: ${e.message}`)}try{if(F.localRedisValid){let{updateLocalRedisCaches:e}=await Promise.resolve().then(()=>(lM(),U9));await e(),I("info","[system] [Server] LocalRedis cache cleared successfully")}}catch(e){I("warn",`[system] [Server] LocalRedis may not be available: ${e.message}`)}return I("info","[system] [Server] All caches cleared successfully"),tt({success:!0,message:"Cache cleared successfully",clearedItems:{animes:0,episodeIds:0,episodeNum:10001,lastSelectMap:0,searchCache:0,commentCache:0,requestHistory:0,reqRecords:0,todayReqNum:0}},200)}catch(e){return I("error",`[system] [Server] Cache clear failed: ${e.message}`),tt({success:!1,message:`Cache clear failed: ${e.message}`},500)}}function RKr(e){let t=e.indexOf("?");if(t===-1)return e;let r=e.slice(0,t),s=e.slice(t+1).replace(/([^&=]+)=([^&]*)/g,(i,a)=>`${a}=***`);return`${r}?${s}`}function Sye(e){if(e==null)return e;if(Array.isArray(e))return e.map(Sye);if(typeof e=="object"){let t={};for(let r of Object.keys(e))t[r]=Sye(e[r]);return t}return"***"}function b1t(){let e=[...F.reqRecords].reverse(),t=F.todayReqNum||0;return F.currentToken!==F.adminToken&&(e=e.map(r=>{let n={...r};return n.clientIp&&(n.clientIp=n.clientIp.replace(/[^.]/g,"*")),typeof n.interface=="string"&&(n.interface=RKr(n.interface)),n.params!=null&&(n.params=Sye(n.params)),n})),tt({records:e,todayReqNum:t},200)}function I1t(){try{let e=[...F.animes||[]].reverse(),t=new Map;e.forEach(n=>{n?.source&&n?.animeId&&t.set(`${n.source}_${n.animeId}`,n)});let r=e.filter(n=>!n.isHiddenChild).map(n=>{let s=typeof n.toJson=="function"?n.toJson():{...n},{links:i=[],mergedChildren:a=[],...o}=s;return{...o,episodes:o.episodeCount||o.episodes||1,links:i,mergedChildren:a.map(c=>{let u=t.get(`${c.source}_${c.animeId}`),l=typeof u?.toJson=="function"?u.toJson():u,d=l?.links?.length>0?l.links:c.links||[];return{...c,episodes:c.episodeCount||c.episodes||1,links:d}})}});return tt({success:!0,data:r},200)}catch(e){return I("error",`[system] [Server] Fetch cache animes failed: ${e.message}`),tt({success:!1,message:`\u83B7\u53D6\u7F13\u5B58\u5931\u8D25: ${e.message}`},500)}}var R1t=oe(()=>{Gt();Lr();f1t();Ht();dq();Rm()});async function C1t(e){try{let{key:t,value:r}=await e.json();if(!t)return tt({success:!1,message:"\u7F3A\u5C11\u73AF\u5883\u53D8\u91CF\u540D\u79F0"},400);let n=F.deployPlatform;return await(await Ph.getHandler(n)).setEnv(t,r)?tt({success:!0,message:`\u73AF\u5883\u53D8\u91CF ${t} \u8BBE\u7F6E\u6210\u529F`}):tt({success:!1,message:`\u73AF\u5883\u53D8\u91CF ${t} \u8BBE\u7F6E\u5931\u8D25`},500)}catch(t){return I("error","[system] [Server] \u8BBE\u7F6E\u73AF\u5883\u53D8\u91CF\u5931\u8D25:",t),tt({success:!1,message:`\u8BBE\u7F6E\u73AF\u5883\u53D8\u91CF\u5931\u8D25: ${t.message}`},500)}}async function x1t(e){try{let{key:t,value:r}=await e.json();if(!t)return tt({success:!1,message:"\u7F3A\u5C11\u73AF\u5883\u53D8\u91CF\u540D\u79F0"},400);let n=F.deployPlatform;return await(await Ph.getHandler(n)).addEnv(t,r)?tt({success:!0,message:`\u73AF\u5883\u53D8\u91CF ${t} \u6DFB\u52A0\u6210\u529F`}):tt({success:!1,message:`\u73AF\u5883\u53D8\u91CF ${t} \u6DFB\u52A0\u5931\u8D25`},500)}catch(t){return I("error","[system] [Server] \u6DFB\u52A0\u73AF\u5883\u53D8\u91CF\u5931\u8D25:",t),tt({success:!1,message:`\u6DFB\u52A0\u73AF\u5883\u53D8\u91CF\u5931\u8D25: ${t.message}`},500)}}async function w1t(e){try{let{key:t}=await e.json();if(!t)return tt({success:!1,message:"\u7F3A\u5C11\u73AF\u5883\u53D8\u91CF\u540D\u79F0"},400);let r=F.deployPlatform;return await(await Ph.getHandler(r)).delEnv(t)?tt({success:!0,message:`\u73AF\u5883\u53D8\u91CF ${t} \u5220\u9664\u6210\u529F`}):tt({success:!1,message:`\u73AF\u5883\u53D8\u91CF ${t} \u5220\u9664\u5931\u8D25`},500)}catch(t){return I("error","[system] [Server] \u5220\u9664\u73AF\u5883\u53D8\u91CF\u5931\u8D25:",t),tt({success:!1,message:`\u5220\u9664\u73AF\u5883\u53D8\u91CF\u5931\u8D25: ${t.message}`},500)}}async function N1t(e){try{let t=await e.json(),r=t.aiBaseUrl||F.aiBaseUrl||"https://api.openai.com/v1",n=t.aiModel||F.aiModel||"gpt-4o",s=t.aiApiKey||F.aiApiKey;if(!s)return tt({success:!1,ok:!1,message:"AI_API_KEY \u672A\u914D\u7F6E"},400);let a=await new Im({baseURL:r,model:n,apiKey:s,systemPrompt:"\u56DE\u7B54\u5C3D\u91CF\u7B80\u6D01"}).verify();return a.ok?tt({success:!0,ok:!0,message:"AI \u670D\u52A1\u8FDE\u901A\u6027\u6D4B\u8BD5\u6210\u529F"}):tt({success:!1,ok:!1,message:`AI \u670D\u52A1\u8FDE\u901A\u6027\u6D4B\u8BD5\u5931\u8D25: ${a.error}`},200)}catch(t){return I("error","[system] [Server] AI \u8FDE\u901A\u6027\u9A8C\u8BC1\u5931\u8D25:",t),tt({success:!1,ok:!1,message:`AI \u8FDE\u901A\u6027\u9A8C\u8BC1\u5931\u8D25: ${t.message}`},500)}}var O1t=oe(()=>{Lr();Ht();dq();Gt();P$()});function P1t(){try{if(F&&typeof F.bilibliCookie=="string"&&F.bilibliCookie)return F.bilibliCookie}catch{}try{if(F&&F.env&&typeof F.env.BILIBILI_COOKIE=="string"&&F.env.BILIBILI_COOKIE)return F.env.BILIBILI_COOKIE}catch{}return typeof process<"u"&&process.env&&typeof process.env.BILIBILI_COOKIE=="string"&&process.env.BILIBILI_COOKIE?process.env.BILIBILI_COOKIE:""}function CKr(e){try{let t=e.match(/SESSDATA=([^;]+)/);if(!t)return Math.floor(Date.now()/1e3)+30*24*60*60;let r=t[1],n=decodeURIComponent(r),s=Math.floor(Date.now()/1e3),i=(n.match(/\d{10,}/g)||[]).map(c=>Number(c)).filter(c=>Number.isFinite(c)),a=10*365*24*60*60,o=i.filter(c=>c>s&&c0)return Math.max(...o);if(n.includes(",")){let c=n.split(",");if(c.length>1){let u=parseInt(c[1],10);if(!isNaN(u)&&u>s)return u}}}catch{}return Math.floor(Date.now()/1e3)+30*24*60*60}async function L1t(e){if(!e)return{isValid:!1,error:"\u7F3A\u5C11Cookie"};if(!e.includes("SESSDATA")||!e.includes("bili_jct"))return{isValid:!1,error:"Cookie\u683C\u5F0F\u4E0D\u5B8C\u6574\uFF08\u9700\u8981\u5305\u542B SESSDATA \u548C bili_jct\uFF09"};try{let t=await fetch("https://api.bilibili.com/x/web-interface/nav",{method:"GET",headers:{Cookie:e,"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Origin:"https://www.bilibili.com",Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8"}});if(!t.ok){let n=await t.text().catch(()=>"");return{isValid:!1,error:`\u9A8C\u8BC1\u8BF7\u6C42\u5931\u8D25\uFF1AHTTP ${t.status}${n?" - "+n.slice(0,80):""}`}}let r;try{r=await t.json()}catch(n){let s=await t.text().catch(()=>"");return{isValid:!1,error:`\u9A8C\u8BC1\u54CD\u5E94\u89E3\u6790\u5931\u8D25\uFF1A${s?s.slice(0,80):n.message}`}}return r?.code===0&&r?.data?.isLogin?{isValid:!0,data:{uname:r.data.uname,mid:r.data.mid,face:r.data.face}}:r?.code===0&&r?.data&&r.data.isLogin===!1?{isValid:!1,error:"\u8D26\u53F7\u672A\u767B\u5F55\uFF08Cookie \u5DF2\u5931\u6548\uFF09"}:{isValid:!1,error:r?.message||"Cookie\u65E0\u6548\u6216\u5DF2\u8FC7\u671F"}}catch(t){return{isValid:!1,error:"\u9A8C\u8BC1\u8BF7\u6C42\u5931\u8D25: "+t.message}}}async function M1t(e,t="saved"){if(!e)return{success:!0,data:{isValid:!1,checked:t,error:"\u672A\u914D\u7F6ECookie"}};let r=await L1t(e);return r.isValid?{success:!0,data:{isValid:!0,checked:t,uname:r.data?.uname||"\u672A\u77E5\u7528\u6237",expiresAt:CKr(e)}}:{success:!0,data:{isValid:!1,checked:t,error:r.error||"Cookie\u65E0\u6548\u6216\u5DF2\u5931\u6548"}}}async function k1t(){try{let e=P1t(),t=await M1t(e,"saved");return tt(t)}catch(e){return tt({success:!1,message:e.message},500)}}async function B1t(e){try{let t={};try{t=await e.json()}catch{t={}}let r=typeof t.cookie=="string"?t.cookie.trim():"",n=!r||/^\*+$/.test(r),s=n?P1t():r,a=await M1t(s,n?"saved":"input");return tt(a)}catch(t){return tt({success:!1,message:t.message},500)}}async function U1t(){try{let t=await(await fetch("https://passport.bilibili.com/x/passport-login/web/qrcode/generate",{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/"}})).json();return t.code!==0?tt({success:!1,message:t.message||"\u751F\u6210\u4E8C\u7EF4\u7801\u5931\u8D25"},500):(D1t.set(t.data.qrcode_key,{createTime:Date.now(),status:"generated"}),tt({success:!0,data:t.data}))}catch(e){return tt({success:!1,message:e.message},500)}}function xKr(e){let t=new Map,r=[];try{if(e?.headers&&typeof e.headers.getSetCookie=="function")r=e.headers.getSetCookie()||[];else{let u=e?.headers?.get?.("set-cookie");u&&(r=[u])}}catch{r=[]}for(let u of r){if(!u||typeof u!="string")continue;let l=u.split(";")[0],d=l.indexOf("=");if(d<=0)continue;let f=l.slice(0,d).trim(),h=l.slice(d+1).trim();f&&t.set(f,h)}let n=t.get("SESSDATA"),s=t.get("bili_jct"),i=t.get("DedeUserID"),a=t.get("DedeUserID__ckMd5"),o=t.get("sid");if(!n)return null;let c=[`SESSDATA=${n}`];return s&&c.push(`bili_jct=${s}`),i&&c.push(`DedeUserID=${i}`),a&&c.push(`DedeUserID__ckMd5=${a}`),o&&c.push(`sid=${o}`),c.join("; ")}async function F1t(e){let t=null;try{let r=await e.json();if(t=r.qrcodeKey||r.qrcode_key,!t)return tt({success:!1,message:"\u7F3A\u5C11qrcodeKey\u53C2\u6570"},400);let n=await fetch(`https://passport.bilibili.com/x/passport-login/web/qrcode/poll?qrcode_key=${t}`,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/"}}),s=await n.json(),i=null;if(s?.data?.code===0&&(i=xKr(n),!i&&s?.data?.url))try{let o=new URL(s.data.url),c=new URLSearchParams(o.search),u=decodeURIComponent(c.get("SESSDATA")||""),l=decodeURIComponent(c.get("bili_jct")||""),d=decodeURIComponent(c.get("DedeUserID")||"");if(u){let f=[`SESSDATA=${u}`];l&&f.push(`bili_jct=${l}`),d&&f.push(`DedeUserID=${d}`),i=f.join("; ")}}catch{}let a={success:!0,data:{code:s?.data?.code,message:s?.data?.message||""}};return i&&(a.data.cookie=i),tt(a)}catch(r){return tt({success:!1,message:r.message},500)}finally{t&&D1t.delete(t)}}async function $1t(e){try{let r=((await e.json()).cookie||"").trim();if(!r)return tt({success:!1,message:"\u7F3A\u5C11cookie\u53C2\u6570"},400);if(!r.includes("SESSDATA")||!r.includes("bili_jct"))return tt({success:!1,message:"Cookie\u683C\u5F0F\u4E0D\u6B63\u786E"},400);let n=await L1t(r);if(!n.isValid)return tt({success:!1,message:"Cookie\u9A8C\u8BC1\u5931\u8D25: "+(n.error||"\u65E0\u6548")},400);let s=F.deployPlatform,i=await Ph.getHandler(s);return i?await i.setEnv("BILIBILI_COOKIE",r)?tt({success:!0,data:{uname:n.data?.uname},message:"Cookie\u4FDD\u5B58\u6210\u529F"}):tt({success:!1,message:"Cookie\u4FDD\u5B58\u5931\u8D25\uFF1A\u73AF\u5883\u53D8\u91CF\u5199\u5165\u5931\u8D25"},500):tt({success:!1,message:`Cookie\u4FDD\u5B58\u5931\u8D25\uFF1A\u4E0D\u652F\u6301\u7684\u90E8\u7F72\u5E73\u53F0 ${s||"unknown"}`},400)}catch(t){return tt({success:!1,message:t.message},500)}}var D1t,q1t=oe(()=>{Lr();Ht();Gt();dq();D1t=new Map});async function V1t(e,t,r,n,s){Ut=qs.init(t);let i=new URL(e.url),a=i.pathname,o=e.method,c=a.includes("/search")||a.includes("/match")||a.includes("/danmaku");if(Ut.useBangumiData&&await cR(r,c,s),Ut.deployPlatform=r,r==="node"){await Cle(a,r);let{judgeLocalRedisValid:m}=await Promise.resolve().then(()=>(lM(),U9));await m(a)}if(await fle(a),!Ut.aiValid&&Ut.aiBaseUrl&&Ut.aiModel&&Ut.aiApiKey&&a!=="/favicon.ico"&&a!=="/robots.txt"&&(await new Im({baseURL:Ut.aiBaseUrl,model:Ut.aiModel,apiKey:Ut.aiApiKey,systemPrompt:"\u56DE\u7B54\u5C3D\u91CF\u7B80\u6D01"}).verify()).ok&&(Ut.aiValid=!0),I("info",`[system] [Server] request url: ${JSON.stringify(i)}`),I("info",`[system] [Server] request path: ${a}`),I("info",`[system] [Server] client ip: ${n}`),Ut.ipBlacklist?.length&&Ut.ipBlacklist.some(g=>wKr(g,n)))return I("warn",`[Utils] [IP Blacklist] Blocked request from IP: ${n}`),tt({errorCode:403,success:!1,errorMessage:"Forbidden"},403);let u=a.split("/").filter(Boolean),l=["api","v1","v2","search","match","bangumi","comment","danmaku"],d=u[0]||"",f=Ut.token==="87654321",h=d===Ut.token||d===Ut.adminToken;if(Ut.currentToken=h?d:f&&(d==="87654321"||l.includes(d))?d==="87654321"?d:"87654321":"",r==="node"&&Ut.localCacheValid&&a!=="/favicon.ico"&&a!=="/robots.txt"&&await Rle(),Ut.redisValid&&a!=="/favicon.ico"&&a!=="/robots.txt"&&await dle(),r==="node"&&Ut.localRedisValid&&a!=="/favicon.ico"&&a!=="/robots.txt"){let{getLocalRedisCaches:m}=await Promise.resolve().then(()=>(lM(),U9));await m()}if(["/api/v2/search/anime","/api/v2/match","/api/v2/search/episodes","/api/v2/fongmi/danmaku","/danmaku","/api/v2/bangumi","/api/v2/comment","/api/v2/segmentcomment"].some(m=>a.includes(m))){let m=Ut.reqRecords.length>0?Ut.reqRecords[Ut.reqRecords.length-1]:null,g=new Date().toDateString();if(m){let v=new Date(m.timestamp).toDateString();I("info",`[system] [Server] currentDate: ${g}`),I("info",`[system] [Server] lastDate: ${v}`),v!==g?Ut.todayReqNum=1:Ut.todayReqNum++}else Ut.todayReqNum=1;let _=e.url,y=_.indexOf("/api/v2");y!==-1&&(_=_.substring(y));let E=null;if(o==="POST"||o==="PUT"||o==="PATCH")try{let v=e.clone();if((v.headers.get("content-type")||"").includes("application/json"))E=await v.json();else{let C=await v.text();C&&(E=JSON.parse(C))}}catch{E=null}let A={interface:_,params:E,timestamp:new Date().toISOString(),method:o,clientIp:n};Ut.reqRecords.push(A),Ut.reqRecords.length>Ut.MAX_RECORDS&&(Ut.reqRecords=Ut.reqRecords.slice(-Ut.MAX_RECORDS))}if(a==="/"&&o==="GET")return Tye();if(a==="/favicon.ico"||a==="/robots.txt"||o==="OPTIONS")return new Response(null,{status:204,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, User-Agent"}});if(Ut.token==="87654321"){if(u.length>0){if(u[0]==="87654321"||u[0]===Ut.adminToken)a="/"+u.slice(1).join("/");else if(!l.includes(u[0]))return a==="/api/config"&&o==="GET"?fq(!1):(I("error",`[system] [Server] Invalid token in path: ${a}`),tt({errorCode:401,success:!1,errorMessage:"Unauthorized"},401))}}else{if(u.length<1||u[0]!==Ut.token&&u[0]!==Ut.adminToken)return a==="/api/config"&&o==="GET"?fq(!1):(I("error",`[system] [Server] Invalid or missing token in path: ${a}`),tt({errorCode:401,success:!1,errorMessage:"Unauthorized"},401));a="/"+u.slice(1).join("/")}if(a.endsWith("/danmaku/api/v2/fongmi/danmaku")&&(I("info",`[Path Fix] Collapsed nested danmaku path: "${a}" -> "/danmaku"`),a="/danmaku"),a==="/api/config"&&o==="GET")return fq(!0);if(a==="/api/reqrecords"&&o==="GET")return b1t();if(I("info",`[system] [Server] ${a}`),a!=="/"&&a!=="/danmaku"&&a!=="/api/logs"&&!a.startsWith("/api/env")&&!a.startsWith("/api/deploy")&&!a.startsWith("/api/cache")&&!a.startsWith("/api/cookie")&&!a.startsWith("/api/config")&&!a.startsWith("/api/ai")){I("info",`[Path Check] Starting path normalization for: "${a}"`);let m=a;for(a=a.replace(/\/+/g,"/");a.startsWith("/api/v2/api/v2/");)I("info","[Path Check] Found redundant /api/v2 prefix. Cleaning..."),a=a.substring(7);a!==m?I("info",`[Path Check] Path after cleanup: "${a}"`):I("info","[Path Check] Path after cleanup: No cleanup needed.");let g=a;!a.startsWith("/api/v2")&&a!=="/"&&!a.startsWith("/api/logs")&&!a.startsWith("/api/env")&&!a.startsWith("/api/cache")&&!a.startsWith("/api/cookie")&&!a.startsWith("/api/config")&&!a.startsWith("/api/ai")&&(a.startsWith("/v2/")||a==="/v2"?(I("info","[Path Check] Path is missing /api prefix. Adding /api..."),a="/api"+a):a.startsWith("/api/")||a==="/api"?(I("info","[Path Check] Path is missing /v2 prefix. Adding /v2..."),a="/api/v2"+a.substring(4)):(I("info","[Path Check] Path is missing /api/v2 prefix. Adding /api/v2..."),a="/api/v2"+(a.startsWith("/")?a:"/"+a))),a===g&&I("info","[Path Check] Prefix Check: No prefix addition needed."),I("info",`[Path Check] Final normalized path: "${a}"`)}if(a==="/"&&o==="GET")return Tye();if(a==="/api/v2/search/anime"&&o==="GET")return WR(i);if(a==="/api/v2/search/episodes"&&o==="GET")return Bbt(i);if(a==="/api/v2/fongmi/danmaku"&&(o==="GET"||o==="POST"))return _ye(i,e);if(a==="/danmaku"&&(o==="GET"||o==="POST"))return _ye(i,e);if(a==="/api/v2/match"&&o==="POST")return kbt(i,e,n);if(a.startsWith("/api/v2/bangumi/")&&o==="GET")return fye(a);if((a.startsWith("/api/v2/comment")||a.startsWith("/api/v2/extcomment"))&&o==="GET"){let m=i.searchParams.get("format"),g=i.searchParams.get("url"),_=i.searchParams.get("segmentflag"),y=i.searchParams.get("duration"),E=_==="true"||_==="1",A=y==="true"||y==="1";if(g){if(bm(g)!==null)return I("info",`[Utils] [Rate Limit] Cache hit for URL: ${g}, skipping rate limit check`),mye(g,m,E,A);if(Ut.rateLimitMaxRequests>0){let b=Date.now(),x=60*1e3;w$(b),Ut.requestHistory.has(n)||Ut.requestHistory.set(n,[]);let P=Ut.requestHistory.get(n).filter(M=>b-M<=x);if(P.length>=Ut.rateLimitMaxRequests)return I("warn",`[Utils] [Rate Limit] IP ${n} exceeded rate limit (${P.length}/${Ut.rateLimitMaxRequests} requests in 1 minute)`),tt({errorCode:429,success:!1,errorMessage:"Too many requests, please try again later"},429);P.push(b),Ut.requestHistory.set(n,P),I("info",`[Utils] [Rate Limit] IP ${n} request count: ${P.length}/${Ut.rateLimitMaxRequests}`)}return mye(g,m,E,A)}if(!a.startsWith("/api/v2/comment/"))return I("error","[system] [Server] Missing commentId or url parameter"),tt({errorCode:400,success:!1,errorMessage:"Missing commentId or url parameter"},400);let v=parseInt(a.split("/").pop()),T=iP(v);if(T&&bm(T)!==null)return I("info",`[Utils] [Rate Limit] Cache hit for URL: ${T}, skipping rate limit check`),pye(a,m,E,n,A);if(Ut.rateLimitMaxRequests>0){let C=Date.now(),b=60*1e3;w$(C),Ut.requestHistory.has(n)||Ut.requestHistory.set(n,[]);let w=Ut.requestHistory.get(n).filter(P=>C-P<=b);if(w.length>=Ut.rateLimitMaxRequests)return I("warn",`[Utils] [Rate Limit] IP ${n} exceeded rate limit (${w.length}/${Ut.rateLimitMaxRequests} requests in 1 minute)`),tt({errorCode:429,success:!1,errorMessage:"Too many requests, please try again later"},429);w.push(C),Ut.requestHistory.set(n,w),I("info",`[Utils] [Rate Limit] IP ${n} request count: ${w.length}/${Ut.rateLimitMaxRequests}`)}return pye(a,m,E,n,A)}if(a.startsWith("/api/v2/segmentcomment")&&o==="POST")try{let m=i.searchParams.get("format"),g=await e.json(),_;try{_=nR.fromJson(g)}catch{return I("error","[system] [Server] Invalid JSON in request body for segment"),tt({errorCode:400,success:!1,errorMessage:"Invalid JSON in request body"},400)}return Ubt(_,m)}catch(m){return I("error",`[system] [Server] Error processing segmentcomment request: ${m.message}`),tt({errorCode:500,success:!1,errorMessage:"Internal server error"},500)}return a==="/api/logs"&&o==="GET"?v1t():a==="/api/logs/clear"&&o==="POST"?S1t():a==="/api/env/set"&&o==="POST"?C1t(e):a==="/api/env/add"&&o==="POST"?x1t(e):a==="/api/env/del"&&o==="POST"?w1t(e):a==="/api/deploy"&&o==="POST"?y1t():a==="/api/cache/animes"&&o==="GET"?I1t():a==="/api/cache/clear"&&o==="POST"?T1t():a==="/api/cookie/status"&&o==="GET"?k1t():a==="/api/cookie/qr/generate"&&o==="POST"?U1t():a==="/api/cookie/qr/check"&&o==="POST"?F1t(e):a==="/api/cookie/verify"&&o==="POST"?B1t(e):a==="/api/cookie/save"&&o==="POST"?$1t(e):a==="/api/ai/verify"&&o==="POST"?N1t(e):tt({message:"Not found"},404)}function wKr(e,t){return!e||!t||t==="unknown"?!1:e.type==="exact"?e.value===t:e.type==="regex"?e.value.test(t):e.type==="cidr"?NKr(t,e.ip,e.prefix):!1}function NKr(e,t,r){if(e.includes(":")||t.includes(":")){let o=H1t(e),c=H1t(t);if(!o||!c||r<0||r>128)return!1;let u=Math.floor(r/8),l=r%8;for(let d=0;d0){let d=255<<8-l&255;return(o[u]&d)===(c[u]&d)}return!0}let s=bye(e),i=bye(t);if(s===null||i===null||r<0||r>32)return!1;let a=r===0?0:4294967295<<32-r>>>0;return(s&a)===(i&a)}function bye(e){let t=e.split(".");if(t.length!==4)return null;let r=t.map(n=>Number(n));return r.some(n=>Number.isNaN(n)||n<0||n>255)?null:(r[0]<<24>>>0)+(r[1]<<16)+(r[2]<<8)+r[3]}function H1t(e){if(!e||typeof e!="string"||!e.includes(":"))return null;let r=e.trim().split("::");if(r.length>2)return null;let n=r[0]?r[0].split(":").filter(Boolean):[],s=r[1]?r[1].split(":").filter(Boolean):[],i=c=>{if(c.length===0)return c;let u=c[c.length-1];if(!u.includes("."))return c;let l=bye(u);if(l===null)return null;let d=(l>>>16&65535).toString(16),f=(l&65535).toString(16);return[...c.slice(0,-1),d,f]};if(n=i(n),s=i(s),!n||!s)return null;if(r.length===1){if(n.length!==8)return null}else{let c=n.length+s.length;if(c>8)return null;let u=8-c;s=new Array(u).fill("0").concat(s)}let a=n.concat(s);if(a.length!==8)return null;let o=[];for(let c of a){if(!/^[0-9a-fA-F]{1,4}$/.test(c))return null;let u=parseInt(c,16);o.push(u>>8&255,u&255)}return o}var Ut,j1t=oe(()=>{Gt();Lr();Ht();y$();Ws();NA();P$();Rm();gye();Hbt();R1t();O1t();Pi();q1t()});var G1t=S(()=>{var hq=require("module"),Iye=require("path"),K1t=Iye.resolve(__dirname),JR="20.19.0",Rye="node-fetch",gi="[esm-shim]",OKr=` +;(function(){ + if(exports!==module.exports && typeof exports==='object'){ + Object.keys(exports).forEach(k=>{ + if(k!=='__esModule' && !(k in module.exports)) module.exports[k]=exports[k] + }) + }; + if(typeof module.exports==='object' && Object.keys(module.exports).length===0){ + Object.keys(exports).forEach(k=>{ + if(k!=='__esModule') module.exports[k]=exports[k] + }) + } +})(); +`;function DKr(e,t){let r=e.split(".").map(Number),n=t.split(".").map(Number),s=Math.max(r.length,n.length);for(let i=0;io)return 1;if(a=0,r="not found",n=!1,s=!1;try{let i=require.resolve(`${Rye}/package.json`),a=require(i);r=a.version,n=a.version.startsWith("3."),s=!t&&n}catch{s=!1}return{nodeVersion:e,nodeFetchVersion:r,isNodeCompatible:t,isNodeFetchV3:n,needsShim:s}}var xd=PKr();console.log(`${gi} Environment: Node ${xd.nodeVersion}, node-fetch ${xd.nodeFetchVersion}`);console.log(`${gi} Node.js compatible (>=${JR}): ${xd.isNodeCompatible}`);console.log(`${gi} node-fetch v3: ${xd.isNodeFetchV3}`);console.log(`${gi} Needs shim: ${xd.needsShim}`);xd.needsShim?LKr():(xd.isNodeCompatible&&xd.isNodeFetchV3?console.log(`${gi} Node.js >=${JR} + node-fetch v3: optimal compatibility, shim disabled`):xd.isNodeCompatible&&!xd.isNodeFetchV3?console.log(`${gi} Node.js >=${JR} + node-fetch v2: native compatibility, shim disabled`):!xd.isNodeCompatible&&!xd.isNodeFetchV3?console.log(`${gi} Node.js <${JR} + node-fetch v2: no ESM issues, shim disabled`):console.log(`${gi} Shim disabled for optimal performance`),global.loadNodeFetch=async()=>(console.log(`${gi} loadNodeFetch called but not needed in this environment`),Promise.resolve()));function LKr(){console.log(`${gi} Compatibility shim enabled for Node.js <${JR} + node-fetch v3`);let e;try{e=require("esbuild")}catch(c){throw console.error(`${gi} missing dependency: run \`npm install esbuild\``),c}let t=null,r=null;async function n(){return t||r||(r=(async()=>{try{console.log(`${gi} Loading node-fetch v3 ESM module...`);let c=await import(Rye);return t={default:c.default,fetch:c.default,Request:c.Request,Response:c.Response,Headers:c.Headers,FormData:c.FormData,AbortError:c.AbortError,FetchError:c.FetchError},console.log(`${gi} node-fetch v3 loaded successfully`),t}catch(c){throw console.error(`${gi} Failed to load node-fetch v3:`,c.message),c}})(),r)}function s(){let c=function(...l){if(!t)throw new Error(`${gi} node-fetch v3 must be loaded asynchronously first. Call await global.loadNodeFetch() in your startup code.`);return t.fetch(...l)};return["Request","Response","Headers","FormData","AbortError","FetchError"].forEach(l=>{Object.defineProperty(c,l,{get(){if(!t)throw new Error(`${gi} node-fetch v3.${l} must be loaded asynchronously first. Call await global.loadNodeFetch() in your startup code.`);return t[l]},enumerable:!0,configurable:!0})}),Object.defineProperty(c,"default",{get(){return c},enumerable:!0,configurable:!0}),c}function i(c,u){let l=c,d=Iye.basename(u);if(l.includes("import(")&&(l=l.replace(/(await\s+)?import\s*\(((?:[^()]|\([^)]*\))*)\)/g,(f,h,p)=>(console.log(`${gi} Converting dynamic import in ${d}`),`${h||""}Promise.resolve(require(${p}))`))),c.includes("import.meta.url")){let f="__importMetaUrl";c.includes(f)?l=l.replace(/import\.meta\.url/g,f):(console.log(`${gi} Fixing import.meta.url in ${d}`),l=`const ${f} = require('url').pathToFileURL(__filename).href; +`+l,l=l.replace(/import\.meta\.url/g,f))}return l}let a=hq._load;hq._load=function(c,u,l){return c===Rye?(console.log(`${gi} Intercepting node-fetch require`),s()):a.call(this,c,u,l)};let o=hq.prototype._compile;hq.prototype._compile=function(c,u){try{let l=typeof u=="string"&&u.startsWith(K1t)&&!u.includes("node_modules"),d=/\b(?:import|export)\b/.test(c);if(l&&d){console.log(`${gi} Transforming ESM syntax in: ${Iye.relative(K1t,u)}`);let f=i(c,u),p=e.transformSync(f,{loader:"js",format:"cjs",target:"es2018",sourcemap:"inline"}).code+OKr;return o.call(this,p,u)}}catch(l){console.error(`${gi} esbuild transform failed:`,u,l.message||l)}return o.call(this,c,u)},global.loadNodeFetch=n,console.log(`${gi} ESM compatibility shim active with hooks installed`)}});function J1t(e,t={}){let r=t.entryType||t.type;if(r==="both"&&(r=bl.FILE_DIR_TYPE),r&&(t.type=r),e){if(typeof e!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(r&&!Y1t.includes(r))throw new Error(`readdirp: Invalid type passed. Use one of ${Y1t.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return t.root=e,new xye(t)}var ag,W1t,og,bl,Cye,X1t,MKr,Y1t,kKr,BKr,UKr,FKr,Q1t,z1t,xye,Z1t=oe(()=>{ag=require("node:fs/promises"),W1t=require("node:stream"),og=require("node:path"),bl={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},Cye={root:".",fileFilter:e=>!0,directoryFilter:e=>!0,type:bl.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(Cye);X1t="READDIRP_RECURSIVE_ERROR",MKr=new Set(["ENOENT","EPERM","EACCES","ELOOP",X1t]),Y1t=[bl.DIR_TYPE,bl.EVERYTHING_TYPE,bl.FILE_DIR_TYPE,bl.FILE_TYPE],kKr=new Set([bl.DIR_TYPE,bl.EVERYTHING_TYPE,bl.FILE_DIR_TYPE]),BKr=new Set([bl.EVERYTHING_TYPE,bl.FILE_DIR_TYPE,bl.FILE_TYPE]),UKr=e=>MKr.has(e.code),FKr=process.platform==="win32",Q1t=e=>!0,z1t=e=>{if(e===void 0)return Q1t;if(typeof e=="function")return e;if(typeof e=="string"){let t=e.trim();return r=>r.basename===t}if(Array.isArray(e)){let t=e.map(r=>r.trim());return r=>t.some(n=>r.basename===n)}return Q1t},xye=class extends W1t.Readable{constructor(t={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:t.highWaterMark});let r={...Cye,...t},{root:n,type:s}=r;this._fileFilter=z1t(r.fileFilter),this._directoryFilter=z1t(r.directoryFilter);let i=r.lstat?ag.lstat:ag.stat;FKr?this._stat=a=>i(a,{bigint:!0}):this._stat=i,this._maxDepth=r.depth??Cye.depth,this._wantsDir=s?kKr.has(s):!1,this._wantsFile=s?BKr.has(s):!1,this._wantsEverything=s===bl.EVERYTHING_TYPE,this._root=(0,og.resolve)(n),this._isDirent=!r.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(n,1)],this.reading=!1,this.parent=void 0}async _read(t){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&t>0;){let r=this.parent,n=r&&r.files;if(n&&n.length>0){let{path:s,depth:i}=r,a=n.splice(0,t).map(c=>this._formatEntry(c,s)),o=await Promise.all(a);for(let c of o){if(!c)continue;if(this.destroyed)return;let u=await this._getEntryType(c);u==="directory"&&this._directoryFilter(c)?(i<=this._maxDepth&&this.parents.push(this._exploreDir(c.fullPath,i+1)),this._wantsDir&&(this.push(c),t--)):(u==="file"||this._includeAsFile(c))&&this._fileFilter(c)&&this._wantsFile&&(this.push(c),t--)}}else{let s=this.parents.pop();if(!s){this.push(null);break}if(this.parent=await s,this.destroyed)return}}}catch(r){this.destroy(r)}finally{this.reading=!1}}}async _exploreDir(t,r){let n;try{n=await(0,ag.readdir)(t,this._rdOptions)}catch(s){this._onError(s)}return{files:n,depth:r,path:t}}async _formatEntry(t,r){let n,s=this._isDirent?t.name:t;try{let i=(0,og.resolve)((0,og.join)(r,s));n={path:(0,og.relative)(this._root,i),fullPath:i,basename:s},n[this._statsProp]=this._isDirent?t:await this._stat(i)}catch(i){this._onError(i);return}return n}_onError(t){UKr(t)&&!this.destroyed?this.emit("warn",t):this.destroy(t)}async _getEntryType(t){if(!t&&this._statsProp in t)return"";let r=t[this._statsProp];if(r.isFile())return"file";if(r.isDirectory())return"directory";if(r&&r.isSymbolicLink()){let n=t.fullPath;try{let s=await(0,ag.realpath)(n),i=await(0,ag.lstat)(s);if(i.isFile())return"file";if(i.isDirectory()){let a=s.length;if(n.startsWith(s)&&n.substr(a,1)===og.sep){let o=new Error(`Circular symlink detected: "${n}" points to "${s}"`);return o.code=X1t,this._onError(o)}return"directory"}}catch(s){return this._onError(s),""}}}_includeAsFile(t){let r=t&&t[this._statsProp];return r&&this._wantsEverything&&!r.isDirectory()}}});function eIt(e,t,r,n,s){let i=(a,o)=>{r(e),s(a,o,{watchedPath:e}),o&&e!==o&&gq(Zs.resolve(e,o),DS,Zs.join(e,o))};try{return(0,PS.watch)(e,{persistent:t.persistent},i)}catch(a){n(a);return}}var PS,Qf,Zs,tIt,$Kr,Oye,rIt,Aq,Eq,Dye,qKr,HKr,VKr,nIt,ci,Yf,jKr,KKr,DS,pq,ZR,GKr,YKr,QKr,Nye,$M,zKr,qM,sIt,mq,gq,WKr,wye,XKr,_q,iIt=oe(()=>{PS=require("fs"),Qf=require("fs/promises"),Zs=we(require("path"),1),tIt=require("os"),$Kr="data",Oye="end",rIt="close",Aq=()=>{},Eq=process.platform,Dye=Eq==="win32",qKr=Eq==="darwin",HKr=Eq==="linux",VKr=Eq==="freebsd",nIt=(0,tIt.type)()==="OS400",ci={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},Yf=ci,jKr="watch",KKr={lstat:Qf.lstat,stat:Qf.stat},DS="listeners",pq="errHandlers",ZR="rawEmitters",GKr=[DS,pq,ZR],YKr=new Set(["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]),QKr=e=>YKr.has(Zs.extname(e).slice(1).toLowerCase()),Nye=(e,t)=>{e instanceof Set?e.forEach(t):t(e)},$M=(e,t,r)=>{let n=e[t];n instanceof Set||(e[t]=n=new Set([n])),n.add(r)},zKr=e=>t=>{let r=e[t];r instanceof Set?r.clear():delete e[t]},qM=(e,t,r)=>{let n=e[t];n instanceof Set?n.delete(r):n===r&&delete e[t]},sIt=e=>e instanceof Set?e.size===0:!e,mq=new Map;gq=(e,t,r,n,s)=>{let i=mq.get(e);i&&Nye(i[t],a=>{a(r,n,s)})},WKr=(e,t,r,n)=>{let{listener:s,errHandler:i,rawEmitter:a}=n,o=mq.get(t),c;if(!r.persistent)return c=eIt(e,r,s,i,a),c?c.close.bind(c):void 0;if(o)$M(o,DS,s),$M(o,pq,i),$M(o,ZR,a);else{if(c=eIt(e,r,gq.bind(null,t,DS),i,gq.bind(null,t,ZR)),!c)return;c.on(Yf.ERROR,async u=>{let l=gq.bind(null,t,pq);if(o&&(o.watcherUnusable=!0),Dye&&u.code==="EPERM")try{await(await(0,Qf.open)(e,"r")).close(),l(u)}catch{}else l(u)}),o={listeners:s,errHandlers:i,rawEmitters:a,watcher:c},mq.set(t,o)}return()=>{qM(o,DS,s),qM(o,pq,i),qM(o,ZR,a),sIt(o.listeners)&&(o.watcher.close(),mq.delete(t),GKr.forEach(zKr(o)),o.watcher=void 0,Object.freeze(o))}},wye=new Map,XKr=(e,t,r,n)=>{let{listener:s,rawEmitter:i}=n,a=wye.get(t),o=a&&a.options;return o&&(o.persistentr.interval)&&((0,PS.unwatchFile)(t),a=void 0),a?($M(a,DS,s),$M(a,ZR,i)):(a={listeners:s,rawEmitters:i,options:r,watcher:(0,PS.watchFile)(t,r,(c,u)=>{Nye(a.rawEmitters,d=>{d(Yf.CHANGE,t,{curr:c,prev:u})});let l=c.mtimeMs;(c.size!==u.size||l>u.mtimeMs||l===0)&&Nye(a.listeners,d=>d(e,c))})},wye.set(t,a)),()=>{qM(a,DS,s),qM(a,ZR,i),sIt(a.listeners)&&(wye.delete(t),(0,PS.unwatchFile)(t),a.options=a.watcher=void 0,Object.freeze(a))}},_q=class{constructor(t){this.fsw=t,this._boundHandleError=r=>t._handleError(r)}_watchWithNodeFs(t,r){let n=this.fsw.options,s=Zs.dirname(t),i=Zs.basename(t);this.fsw._getWatchedDir(s).add(i);let o=Zs.resolve(t),c={persistent:n.persistent};r||(r=Aq);let u;if(n.usePolling){let l=n.interval!==n.binaryInterval;c.interval=l&&QKr(i)?n.binaryInterval:n.interval,u=XKr(t,o,c,{listener:r,rawEmitter:this.fsw._emitRaw})}else u=WKr(t,o,c,{listener:r,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return u}_handleFile(t,r,n){if(this.fsw.closed)return;let s=Zs.dirname(t),i=Zs.basename(t),a=this.fsw._getWatchedDir(s),o=r;if(a.has(i))return;let c=async(l,d)=>{if(this.fsw._throttle(jKr,t,5)){if(!d||d.mtimeMs===0)try{let f=await(0,Qf.stat)(t);if(this.fsw.closed)return;let h=f.atimeMs,p=f.mtimeMs;if((!h||h<=p||p!==o.mtimeMs)&&this.fsw._emit(Yf.CHANGE,t,f),(qKr||HKr||VKr)&&o.ino!==f.ino){this.fsw._closeFile(l),o=f;let m=this._watchWithNodeFs(t,c);m&&this.fsw._addPathCloser(l,m)}else o=f}catch{this.fsw._remove(s,i)}else if(a.has(i)){let f=d.atimeMs,h=d.mtimeMs;(!f||f<=h||h!==o.mtimeMs)&&this.fsw._emit(Yf.CHANGE,t,d),o=d}}},u=this._watchWithNodeFs(t,c);if(!(n&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(t)){if(!this.fsw._throttle(Yf.ADD,t,0))return;this.fsw._emit(Yf.ADD,t,r)}return u}async _handleSymlink(t,r,n,s){if(this.fsw.closed)return;let i=t.fullPath,a=this.fsw._getWatchedDir(r);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let o;try{o=await(0,Qf.realpath)(n)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(a.has(s)?this.fsw._symlinkPaths.get(i)!==o&&(this.fsw._symlinkPaths.set(i,o),this.fsw._emit(Yf.CHANGE,n,t.stats)):(a.add(s),this.fsw._symlinkPaths.set(i,o),this.fsw._emit(Yf.ADD,n,t.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(i))return!0;this.fsw._symlinkPaths.set(i,!0)}_handleRead(t,r,n,s,i,a,o){if(t=Zs.join(t,""),o=this.fsw._throttle("readdir",t,1e3),!o)return;let c=this.fsw._getWatchedDir(n.path),u=new Set,l=this.fsw._readdirp(t,{fileFilter:d=>n.filterPath(d),directoryFilter:d=>n.filterDir(d)});if(l)return l.on($Kr,async d=>{if(this.fsw.closed){l=void 0;return}let f=d.path,h=Zs.join(t,f);if(u.add(f),!(d.stats.isSymbolicLink()&&await this._handleSymlink(d,t,h,f))){if(this.fsw.closed){l=void 0;return}(f===s||!s&&!c.has(f))&&(this.fsw._incrReadyCount(),h=Zs.join(i,Zs.relative(i,h)),this._addToNodeFs(h,r,n,a+1))}}).on(Yf.ERROR,this._boundHandleError),new Promise((d,f)=>{if(!l)return f();l.once(Oye,()=>{if(this.fsw.closed){l=void 0;return}let h=o?o.clear():!1;d(void 0),c.getChildren().filter(p=>p!==t&&!u.has(p)).forEach(p=>{this.fsw._remove(t,p)}),l=void 0,h&&this._handleRead(t,!1,n,s,i,a,o)})})}async _handleDir(t,r,n,s,i,a,o){let c=this.fsw._getWatchedDir(Zs.dirname(t)),u=c.has(Zs.basename(t));!(n&&this.fsw.options.ignoreInitial)&&!i&&!u&&this.fsw._emit(Yf.ADD_DIR,t,r),c.add(Zs.basename(t)),this.fsw._getWatchedDir(t);let l,d,f=this.fsw.options.depth;if((f==null||s<=f)&&!this.fsw._symlinkPaths.has(o)){if(!i&&(await this._handleRead(t,n,a,i,t,s,l),this.fsw.closed))return;d=this._watchWithNodeFs(t,(h,p)=>{p&&p.mtimeMs===0||this._handleRead(h,!1,a,i,t,s,l)})}return d}async _addToNodeFs(t,r,n,s,i){let a=this.fsw._emitReady;if(this.fsw._isIgnored(t)||this.fsw.closed)return a(),!1;let o=this.fsw._getWatchHelpers(t);n&&(o.filterPath=c=>n.filterPath(c),o.filterDir=c=>n.filterDir(c));try{let c=await KKr[o.statMethod](o.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(o.watchPath,c))return a(),!1;let u=this.fsw.options.followSymlinks,l;if(c.isDirectory()){let d=Zs.resolve(t),f=u?await(0,Qf.realpath)(t):t;if(this.fsw.closed||(l=await this._handleDir(o.watchPath,c,r,s,i,o,f),this.fsw.closed))return;d!==f&&f!==void 0&&this.fsw._symlinkPaths.set(d,f)}else if(c.isSymbolicLink()){let d=u?await(0,Qf.realpath)(t):t;if(this.fsw.closed)return;let f=Zs.dirname(o.watchPath);if(this.fsw._getWatchedDir(f).add(o.watchPath),this.fsw._emit(Yf.ADD,o.watchPath,c),l=await this._handleDir(f,c,r,s,t,o,d),this.fsw.closed)return;d!==void 0&&this.fsw._symlinkPaths.set(Zs.resolve(t),d)}else l=this._handleFile(o.watchPath,c,r);return a(),l&&this.fsw._addPathCloser(t,l),!1}catch(c){if(this.fsw._handleError(c))return a(),t}}}});var gIt={};Bt(gIt,{FSWatcher:()=>HM,WatchHelper:()=>vq,default:()=>dGr,watch:()=>mIt});function yq(e){return Array.isArray(e)?e:[e]}function sGr(e){return typeof e=="function"?e:typeof e=="string"?t=>e===t:e instanceof RegExp?t=>e.test(t):typeof e=="object"&&e!==null?t=>{if(e.path===t)return!0;if(e.recursive){let r=Hr.relative(e.path,t);return r?!r.startsWith("..")&&!Hr.isAbsolute(r):!1}return!1}:()=>!1}function iGr(e){if(typeof e!="string")throw new Error("string expected");e=Hr.normalize(e),e=e.replace(/\\/g,"/");let t=!1;e.startsWith("//")&&(t=!0);let r=/\/\//;for(;e.match(r);)e=e.replace(r,"/");return t&&(e="/"+e),e}function oIt(e,t,r){let n=iGr(t);for(let s=0;ssGr(s));return t==null?(s,i)=>oIt(n,s,i):oIt(n,t)}function mIt(e,t={}){let r=new HM(t);return r.add(e),r}var dIt,Sq,fIt,Hr,Pye,JKr,hIt,ZKr,eGr,tGr,aIt,rGr,nGr,Lye,cIt,uIt,pIt,lIt,oGr,cGr,Mye,uGr,lGr,vq,HM,dGr,_It=oe(()=>{dIt=require("fs"),Sq=require("fs/promises"),fIt=require("events"),Hr=we(require("path"),1);Z1t();iIt();Pye="/",JKr="//",hIt=".",ZKr="..",eGr="string",tGr=/\\/g,aIt=/\/\//,rGr=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,nGr=/^\.[/\\]/;Lye=e=>typeof e=="object"&&e!==null&&!(e instanceof RegExp);cIt=e=>{let t=yq(e).flat();if(!t.every(r=>typeof r===eGr))throw new TypeError(`Non-string provided as watch path: ${t}`);return t.map(pIt)},uIt=e=>{let t=e.replace(tGr,Pye),r=!1;for(t.startsWith(JKr)&&(r=!0);t.match(aIt);)t=t.replace(aIt,Pye);return r&&(t=Pye+t),t},pIt=e=>uIt(Hr.normalize(uIt(e))),lIt=(e="")=>t=>typeof t=="string"?pIt(Hr.isAbsolute(t)?t:Hr.join(e,t)):t,oGr=(e,t)=>Hr.isAbsolute(e)?e:Hr.join(t,e),cGr=Object.freeze(new Set),Mye=class{constructor(t,r){this.path=t,this._removeWatcher=r,this.items=new Set}add(t){let{items:r}=this;r&&t!==hIt&&t!==ZKr&&r.add(t)}async remove(t){let{items:r}=this;if(!r||(r.delete(t),r.size>0))return;let n=this.path;try{await(0,Sq.readdir)(n)}catch{this._removeWatcher&&this._removeWatcher(Hr.dirname(n),Hr.basename(n))}}has(t){let{items:r}=this;if(r)return r.has(t)}getChildren(){let{items:t}=this;return t?[...t.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=Aq,this.items=cGr,Object.freeze(this)}},uGr="stat",lGr="lstat",vq=class{constructor(t,r,n){this.fsw=n;let s=t;this.path=t=t.replace(nGr,""),this.watchPath=s,this.fullWatchPath=Hr.resolve(s),this.dirParts=[],this.dirParts.forEach(i=>{i.length>1&&i.pop()}),this.followSymlinks=r,this.statMethod=r?uGr:lGr}entryPath(t){return Hr.join(this.watchPath,Hr.relative(this.watchPath,t.fullPath))}filterPath(t){let{stats:r}=t;if(r&&r.isSymbolicLink())return this.filterDir(t);let n=this.entryPath(t);return this.fsw._isntIgnored(n,r)&&this.fsw._hasReadPermissions(r)}filterDir(t){return this.fsw._isntIgnored(this.entryPath(t),t.stats)}},HM=class extends fIt.EventEmitter{constructor(t={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let r=t.awaitWriteFinish,n={stabilityThreshold:2e3,pollInterval:100},s={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...t,ignored:t.ignored?yq(t.ignored):yq([]),awaitWriteFinish:r===!0?n:typeof r=="object"?{...n,...r}:!1};nIt&&(s.usePolling=!0),s.atomic===void 0&&(s.atomic=!s.usePolling);let i=process.env.CHOKIDAR_USEPOLLING;if(i!==void 0){let c=i.toLowerCase();c==="false"||c==="0"?s.usePolling=!1:c==="true"||c==="1"?s.usePolling=!0:s.usePolling=!!c}let a=process.env.CHOKIDAR_INTERVAL;a&&(s.interval=Number.parseInt(a,10));let o=0;this._emitReady=()=>{o++,o>=this._readyCount&&(this._emitReady=Aq,this._readyEmitted=!0,process.nextTick(()=>this.emit(ci.READY)))},this._emitRaw=(...c)=>this.emit(ci.RAW,...c),this._boundRemove=this._remove.bind(this),this.options=s,this._nodeFsHandler=new _q(this),Object.freeze(s)}_addIgnoredPath(t){if(Lye(t)){for(let r of this._ignoredPaths)if(Lye(r)&&r.path===t.path&&r.recursive===t.recursive)return}this._ignoredPaths.add(t)}_removeIgnoredPath(t){if(this._ignoredPaths.delete(t),typeof t=="string")for(let r of this._ignoredPaths)Lye(r)&&r.path===t&&this._ignoredPaths.delete(r)}add(t,r,n){let{cwd:s}=this.options;this.closed=!1,this._closePromise=void 0;let i=cIt(t);return s&&(i=i.map(a=>oGr(a,s))),i.forEach(a=>{this._removeIgnoredPath(a)}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=i.length,Promise.all(i.map(async a=>{let o=await this._nodeFsHandler._addToNodeFs(a,!n,void 0,0,r);return o&&this._emitReady(),o})).then(a=>{this.closed||a.forEach(o=>{o&&this.add(Hr.dirname(o),Hr.basename(r||o))})}),this}unwatch(t){if(this.closed)return this;let r=cIt(t),{cwd:n}=this.options;return r.forEach(s=>{!Hr.isAbsolute(s)&&!this._closers.has(s)&&(n&&(s=Hr.join(n,s)),s=Hr.resolve(s)),this._closePath(s),this._addIgnoredPath(s),this._watched.has(s)&&this._addIgnoredPath({path:s,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let t=[];return this._closers.forEach(r=>r.forEach(n=>{let s=n();s instanceof Promise&&t.push(s)})),this._streams.forEach(r=>r.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(r=>r.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=t.length?Promise.all(t).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let t={};return this._watched.forEach((r,n)=>{let i=(this.options.cwd?Hr.relative(this.options.cwd,n):n)||hIt;t[i]=r.getChildren().sort()}),t}emitWithAll(t,r){this.emit(t,...r),t!==ci.ERROR&&this.emit(ci.ALL,t,...r)}async _emit(t,r,n){if(this.closed)return;let s=this.options;Dye&&(r=Hr.normalize(r)),s.cwd&&(r=Hr.relative(s.cwd,r));let i=[r];n!=null&&i.push(n);let a=s.awaitWriteFinish,o;if(a&&(o=this._pendingWrites.get(r)))return o.lastChange=new Date,this;if(s.atomic){if(t===ci.UNLINK)return this._pendingUnlinks.set(r,[t,...i]),setTimeout(()=>{this._pendingUnlinks.forEach((c,u)=>{this.emit(...c),this.emit(ci.ALL,...c),this._pendingUnlinks.delete(u)})},typeof s.atomic=="number"?s.atomic:100),this;t===ci.ADD&&this._pendingUnlinks.has(r)&&(t=ci.CHANGE,this._pendingUnlinks.delete(r))}if(a&&(t===ci.ADD||t===ci.CHANGE)&&this._readyEmitted){let c=(u,l)=>{u?(t=ci.ERROR,i[0]=u,this.emitWithAll(t,i)):l&&(i.length>1?i[1]=l:i.push(l),this.emitWithAll(t,i))};return this._awaitWriteFinish(r,a.stabilityThreshold,t,c),this}if(t===ci.CHANGE&&!this._throttle(ci.CHANGE,r,50))return this;if(s.alwaysStat&&n===void 0&&(t===ci.ADD||t===ci.ADD_DIR||t===ci.CHANGE)){let c=s.cwd?Hr.join(s.cwd,r):r,u;try{u=await(0,Sq.stat)(c)}catch{}if(!u||this.closed)return;i.push(u)}return this.emitWithAll(t,i),this}_handleError(t){let r=t&&t.code;return t&&r!=="ENOENT"&&r!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||r!=="EPERM"&&r!=="EACCES")&&this.emit(ci.ERROR,t),t||this.closed}_throttle(t,r,n){this._throttled.has(t)||this._throttled.set(t,new Map);let s=this._throttled.get(t);if(!s)throw new Error("invalid throttle");let i=s.get(r);if(i)return i.count++,!1;let a,o=()=>{let u=s.get(r),l=u?u.count:0;return s.delete(r),clearTimeout(a),u&&clearTimeout(u.timeoutObject),l};a=setTimeout(o,n);let c={timeoutObject:a,clear:o,count:0};return s.set(r,c),c}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(t,r,n,s){let i=this.options.awaitWriteFinish;if(typeof i!="object")return;let a=i.pollInterval,o,c=t;this.options.cwd&&!Hr.isAbsolute(t)&&(c=Hr.join(this.options.cwd,t));let u=new Date,l=this._pendingWrites;function d(f){(0,dIt.stat)(c,(h,p)=>{if(h||!l.has(t)){h&&h.code!=="ENOENT"&&s(h);return}let m=Number(new Date);f&&p.size!==f.size&&(l.get(t).lastChange=m);let g=l.get(t);m-g.lastChange>=r?(l.delete(t),s(void 0,p)):o=setTimeout(d,a,p)})}l.has(t)||(l.set(t,{lastChange:u,cancelWait:()=>(l.delete(t),clearTimeout(o),n)}),o=setTimeout(d,a))}_isIgnored(t,r){if(this.options.atomic&&rGr.test(t))return!0;if(!this._userIgnored){let{cwd:n}=this.options,i=(this.options.ignored||[]).map(lIt(n)),o=[...[...this._ignoredPaths].map(lIt(n)),...i];this._userIgnored=aGr(o,void 0)}return this._userIgnored(t,r)}_isntIgnored(t,r){return!this._isIgnored(t,r)}_getWatchHelpers(t){return new vq(t,this.options.followSymlinks,this)}_getWatchedDir(t){let r=Hr.resolve(t);return this._watched.has(r)||this._watched.set(r,new Mye(r,this._boundRemove)),this._watched.get(r)}_hasReadPermissions(t){return this.options.ignorePermissionErrors?!0:!!(Number(t.mode)&256)}_remove(t,r,n){let s=Hr.join(t,r),i=Hr.resolve(s);if(n=n??(this._watched.has(s)||this._watched.has(i)),!this._throttle("remove",s,100))return;!n&&this._watched.size===1&&this.add(t,r,!0),this._getWatchedDir(s).getChildren().forEach(f=>this._remove(s,f));let c=this._getWatchedDir(t),u=c.has(r);c.remove(r),this._symlinkPaths.has(i)&&this._symlinkPaths.delete(i);let l=s;if(this.options.cwd&&(l=Hr.relative(this.options.cwd,s)),this.options.awaitWriteFinish&&this._pendingWrites.has(l)&&this._pendingWrites.get(l).cancelWait()===ci.ADD)return;this._watched.delete(s),this._watched.delete(i);let d=n?ci.UNLINK_DIR:ci.UNLINK;u&&!this._isIgnored(s)&&this._emit(d,s),this._closePath(s)}_closePath(t){this._closeFile(t);let r=Hr.dirname(t);this._getWatchedDir(r).remove(Hr.basename(t))}_closeFile(t){let r=this._closers.get(t);r&&(r.forEach(n=>n()),this._closers.delete(t))}_addPathCloser(t,r){if(!r)return;let n=this._closers.get(t);n||(n=[],this._closers.set(t,n)),n.push(r)}_readdirp(t,r){if(this.closed)return;let n={type:ci.ALL,alwaysStat:!0,lstat:!0,...r,depth:0},s=J1t(t,n);return this._streams.add(s),s.once(rIt,()=>{s=void 0}),s.once(Oye,()=>{s&&(this._streams.delete(s),s=void 0)}),s}};dGr={watch:mIt,FSWatcher:HM}});var yGr={};function pGr(){return process.env.SPACE_ID?"huggingface":"node"}function mGr(){lq();let e=HA.default.join(kye,".env.example"),t=HA.default.join(AIt,".env.example"),r=wd.default.existsSync(cg),n=wd.default.existsSync(e),s=wd.default.existsSync(AIt),i=wd.default.existsSync(t);if(r){console.log("[server] Configuration files exist, skipping auto-copy");return}if(n)try{wd.default.copyFileSync(e,cg),console.log("[server] Copied .env.example to .env successfully")}catch(a){console.log("[server] Error copying .env.example to .env:",a.message)}else if(s&&i)try{wd.default.existsSync(kye)||(wd.default.mkdirSync(kye,{recursive:!0}),console.log("[server] Created config directory")),wd.default.copyFileSync(t,cg),console.log("[server] Copied config_example/.env.example to config/.env successfully")}catch(a){console.log("[server] Error copying config_example files to config directory:",a.message)}else console.log("[server] .env.example not found in config or config_example, cannot auto-copy")}function bIt(){try{TIt.default.config({path:cg,override:!0});for(let[e,t]of Object.entries(hGr))process.env[e]=t;console.log("[server] .env file loaded successfully")}catch{console.log("[server] dotenv not available or .env file not found, using system environment variables")}}async function gGr(){let e=wd.default.existsSync(cg);if(!e){console.log("[server] .env not found, skipping file watcher");return}try{let t=await Promise.resolve().then(()=>(_It(),gIt)),r=t.default||t,n=[];e&&n.push(cg),LS=r.watch(n,{persistent:!0,awaitWriteFinish:{stabilityThreshold:100,pollInterval:100}}),LS.on("change",i=>{MS&&clearTimeout(MS),MS=setTimeout(()=>{let a=HA.default.basename(i);console.log(`[server] ${a} changed, reloading environment variables...`);try{let o=new Set;if(i===cg&&wd.default.existsSync(cg)){let u=wd.default.readFileSync(cg,"utf8").split(` +`);for(let l of u){let d=l.trim();if(d&&!d.startsWith("#")){let f=d.match(/^([^=]+)=/);f&&o.add(f[1])}}}for(let c of Object.keys(process.env))o.has(c)||delete process.env[c];bIt(),qs?.reInit?.(),console.log("[server] Environment variables reloaded successfully"),console.log("[server] Updated keys:",Array.from(o).join(", ")),(process.env.USE_BANGUMI_DATA==="false"||process.env.USE_BANGUMI_DATA===!1)&&U$(!0)}catch(o){console.log("[server] Error reloading configuration files:",o.message)}MS=null},200)}),LS.on("unlink",i=>{let a=HA.default.basename(i);console.log(`[server] ${a} deleted, using remaining configuration files`)}),LS.on("error",i=>{console.log("[server] File watcher error:",i.message)});let s=n.map(i=>HA.default.basename(i)).join(" and ");console.log(`[server] Configuration file watcher started for: ${s}`)}catch{console.log("[server] chokidar not available, configuration hot reload disabled")}}function IIt(){LS&&(console.log("[server] Closing file watcher..."),LS.close(),LS=null),MS&&(clearTimeout(MS),MS=null),bq&&(console.log("[server] Closing main server..."),bq.close(()=>{console.log("[server] Main server closed")})),Iq&&(console.log("[server] Closing proxy server..."),Iq.close(()=>{console.log("[server] Proxy server closed")})),setTimeout(()=>{console.log("[server] Exit complete."),process.exit(0)},500)}function _Gr(){return Tq.default.createServer(async(e,t)=>{try{let r=`http://${e.headers.host}${e.url}`,n="unknown",s=e.headers["x-forwarded-for"];s?(n=s.split(",")[0].trim(),console.log(`[server] Using X-Forwarded-For IP: ${n}`)):e.headers["x-real-ip"]?(n=e.headers["x-real-ip"],console.log(`[server] Using X-Real-IP: ${n}`)):(n=e.socket.remoteAddress||"unknown",console.log(`[server] Using direct connection IP: ${n}`)),n&&n.startsWith("::ffff:")&&(n=n.substring(7));let i;(e.method==="POST"||e.method==="PUT")&&(i=await new Promise(d=>{let f="";e.on("data",h=>f+=h),e.on("end",()=>d(f))}));let a=new Mf(r,{method:e.method,headers:e.headers,body:i||void 0}),o=await V1t(a,process.env,pGr(),n);t.statusCode=o.status,o.headers.forEach((d,f)=>{let h=f.toLowerCase();h==="content-encoding"||h==="content-length"||t.setHeader(f,d)});let c=e.headers["accept-encoding"]||"",u=o.headers.get("content-type")||"",l;if(o&&typeof o.arrayBuffer=="function"){let d=await o.arrayBuffer();l=Buffer.from(d)}else if(o&&typeof o.buffer=="function")l=await o.buffer();else if(o&&typeof o.text=="function"){let d=await o.text();l=Buffer.from(d||"","utf8")}else throw new TypeError("webResponse has no readable body method (arrayBuffer/buffer/text)");if(c.includes("gzip")&&l.length>1024&&(u.includes("xml")||u.includes("json")||u.includes("text")))try{let d=vIt.default.gzipSync(l);t.setHeader("Content-Encoding","gzip"),t.setHeader("Content-Length",d.length),l=d}catch(d){console.error("[GZIP] Compression failed, falling back to raw:",d.message)}t.hasHeader("Content-Length")||t.setHeader("Content-Length",l.length),t.end(l)}catch(r){console.error("Server error:",r),t.statusCode=500,t.end("Internal Server Error")}})}function AGr(){return Tq.default.createServer((e,t)=>{let r=new URL(e.url,`http://${e.headers.host}`),n=Object.fromEntries(r.searchParams);if(n.url){let s=process.env.PROXY_URL||"",i=null;if(s){let d=s.split(",").map(f=>f.trim()).filter(f=>f);for(let f of d)if(!(/^@/.test(f)||/^[\w-]+@http/i.test(f))){i=f.trim(),console.log("[Proxy Server] Forward proxy detected:",i);break}}let a=n.url;console.log("[Proxy Server] Target URL:",a);let o=new URL(a),c={hostname:o.hostname,port:o.port||(o.protocol==="https:"?443:80),path:o.pathname+o.search,method:"GET",headers:{...e.headers}};delete c.headers.host;let u=o.protocol==="https:"?yIt.default:Tq.default;i?(console.log("[Proxy Server] Using forward proxy agent:",i),c.agent=new SIt.HttpsProxyAgent(i)):console.log("[Proxy Server] No proxy configured, direct connection");let l=u.request(c,d=>{t.writeHead(d.statusCode,d.headers),d.pipe(t,{end:!0})});e.on("close",()=>{t.writableEnded||(console.log("[Proxy Server] Client disconnected prematurely. Destroying upstream request."),l.destroy())}),l.on("error",d=>{if(e.destroyed||e.aborted||d.code==="ECONNRESET"||d.message==="socket hang up"){t.writableEnded||console.log("[Proxy Server] Upstream connection closed (expected behavior due to client interrupt).");return}console.error("Proxy request error:",d),t.headersSent||(t.statusCode=500,t.end("Proxy Error: "+d.message))}),l.end()}else t.statusCode=400,t.end("Bad Request: Missing URL parameter")})}async function EGr(){console.log("[server] Starting server..."),await gGr();try{qs.init(process.env)}catch(r){console.error("[server] Globals init failed:",r)}let e=Number.parseInt(process.env.DANMU_API_PORT??"",10),t=Number.isNaN(e)?9321:e;bq=_Gr(),bq.listen(t,"0.0.0.0",()=>{console.log(`Server running on http://0.0.0.0:${t}`)}),Iq=AGr(),Iq.listen(5321,"0.0.0.0",()=>{console.log("Proxy server running on http://0.0.0.0:5321"),setTimeout(()=>cR("node",!0).catch(console.error),1e3)})}var EIt,HA,wd,Tq,yIt,vIt,SIt,TIt,hds,pds,fGr,mds,kye,AIt,cg,hGr,LS,MS,bq,Iq,RIt=oe(()=>{EIt=require("module"),HA=we(require("path"),1),wd=we(require("fs"),1),Tq=we(require("http"),1),yIt=we(require("https"),1),vIt=we(require("zlib"),1),SIt=we(CZe(),1),TIt=we(PZe(),1);KI();j1t();Gt();Rm();vye();hds=we(G1t(),1),pds=(0,EIt.createRequire)(typeof __filename<"u"?__filename:process.cwd()),fGr=typeof __filename<"u"?__filename:HA.default.join(process.cwd(),"vendor","danmu_api","danmu_api","server.js"),mds=typeof __dirname<"u"?__dirname:HA.default.dirname(fGr),kye=yye(),AIt=A1t(),cg=XR(),hGr={...process.env};mGr();bIt();typeof globalThis.fetch!="function"&&(globalThis.fetch=yA);typeof globalThis.Request>"u"&&(globalThis.Request=Mf);typeof globalThis.Response>"u"&&(globalThis.Response=Bc);typeof globalThis.Headers>"u"&&(globalThis.Headers=Go);LS=null,MS=null,bq=null,Iq=null;process.on("SIGTERM",IIt);process.on("SIGINT",IIt);EGr()});function PIt(){return typeof globalThis<"u"&&typeof globalThis.messageToDart=="function"?globalThis.messageToDart:null}function NGr(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e);try{return JSON.stringify(e)}catch{return String(e)}}function OGr(e,t={}){return`${e}:${NGr(t)}`}function DGr(){return Date.now()DIt){let t=zo.recent.size-DIt,r=0;for(let n of zo.recent.keys()){if(r>=t)break;zo.recent.delete(n),r++}}zo.lastPruneAt=e}function MGr(e=Date.now()){e-zo.lastPruneAt0&&a&&a.expiresAt>n)return a.result;if(zo.inflight.has(s))return zo.inflight.get(s);if(DGr()&&e!=="getPlayInfo")return null;let o=(async()=>{try{let c=await r({action:e,...t});return i>0&&zo.recent.set(s,{result:c,expiresAt:Date.now()+i}),c}catch(c){let u=c?.message||"",l=c?.code||"";return(l==="ECONNABORTED"||l==="ECONNRESET"||l==="ECONNREFUSED"||u.includes("timeout")||u.includes("socket hang up"))&&PGr(),console.warn(`[HostBridge] ${e} \u8C03\u7528\u5F02\u5E38:`,u||c),null}finally{zo.inflight.delete(s)}})();return zo.inflight.set(s,o),o}var xGr,zo,wGr,DIt,Qr,Nd=oe(()=>{xGr={toast:1500,danmuPush:1200,clearDanmu:1200,serverStarted:1e4,queryProfile:3e3,saveProfile:5e3},zo={cooldownUntil:0,inflight:new Map,recent:new Map,lastPruneAt:0},wGr=60*1e3,DIt=200;Qr={isAvailable(){return!!PIt()},async toast(e,t={}){let r=Number.isFinite(t.duration)?t.duration:2;return Lh("toast",{opt:{message:String(e??""),duration:r}})},async getPlayInfo(){return Lh("getPlayInfo")},async pushDanmu(e,t={}){return Lh("danmuPush",{opt:{url:e,...t}})},async clearDanmu(){let e=[()=>Lh("danmuPush",{opt:{url:""}}),()=>Lh("danmuPush",{opt:{url:null}}),()=>Lh("clearDanmu")];for(let t of e){let r=await t();if(r!=null)return r}return null},async queryProfile(){return Lh("queryProfile")},async saveProfile(e){return Lh("saveProfile",{opt:e})},async notifyServerStarted(e){return Lh("serverStarted",{opt:{address:e}})},async dispatch(e,t){return Lh(e,t||{})}}});var zye={};Bt(zye,{acquireInflightGate:()=>Yye,default:()=>Ye,getAgentStats:()=>Kye,getInflightGateStats:()=>Gye,getSharedAgents:()=>Wn,releaseInflightGate:()=>Qye});function KIt(e){if(!e||!e.interceptors||e.__inflightGateInstalled)return e;e.__inflightGateInstalled=!0;let t=90*1e3;e.interceptors.request.use(async n=>{await eC.acquire();let s={released:!1};return s.timer=setTimeout(()=>{s.released||(s.released=!0,eC.release())},t),n.__gateToken=s,n.maxContentLength||(n.maxContentLength=qIt),n.maxBodyLength||(n.maxBodyLength=qIt),n});let r=n=>{n&&!n.released&&(n.released=!0,n.timer&&(clearTimeout(n.timer),n.timer=null),eC.release())};return e.interceptors.response.use(n=>(r(n?.config?.__gateToken),n),n=>(r(n?.config?.__gateToken),Promise.reject(n))),e}function rYr({insecure:e,family:t}){return`i${e?1:0}-f${t||0}`}function Wn(e={}){let t=!!e.insecure||QGr,r=e.family===4||e.family===6?e.family:0,n=rYr({insecure:t,family:r}),s=jye.get(n);if(s)return s;let i={keepAlive:zGr,keepAliveMsecs:1e3,maxSockets:WGr,maxFreeSockets:XGr,timeout:JGr,freeSocketTimeout:ZGr,...r?{family:r}:{}};return s={httpsAgent:new VIt.default.Agent({...i,rejectUnauthorized:!t}),httpAgent:new jIt.default.Agent(i),key:n,insecure:t,family:r},jye.set(n,s),s}function HIt(e){let t=r=>Object.keys(r||{}).reduce((n,s)=>(n[s]=(r[s]||[]).length,n),{});return{sockets:t(e.sockets),freeSockets:t(e.freeSockets),requests:t(e.requests)}}function Kye(){let e={sockets:{},freeSockets:{},requests:{}},t={sockets:{},freeSockets:{},requests:{}},r=[];for(let n of jye.values()){let s=HIt(n.httpsAgent),i=HIt(n.httpAgent);r.push({key:n.key,insecure:n.insecure,family:n.family,https:s,http:i});for(let a of["sockets","freeSockets","requests"]){for(let[o,c]of Object.entries(s[a]))e[a][o]=(e[a][o]||0)+c;for(let[o,c]of Object.entries(i[a]))t[a][o]=(t[a][o]||0)+c}}return{https:e,http:t,variants:r}}function Gye(){return eC.stats()}async function Yye(){await eC.acquire()}function Qye(){eC.release()}var VIt,jIt,QGr,zGr,WGr,XGr,JGr,ZGr,qIt,eYr,Vye,eC,tYr,jye,GIt,nYr,sYr,iYr,Ye,kr=oe(()=>{Pr();VIt=we(require("https"),1),jIt=we(require("http"),1),QGr=process.env.INSECURE_TLS==="1"||process.env.NODE_TLS_REJECT_UNAUTHORIZED==="0",zGr=process.env.HTTP_KEEP_ALIVE!=="false",WGr=parseInt(process.env.HTTP_MAX_SOCKETS||"50",10),XGr=parseInt(process.env.HTTP_MAX_FREE_SOCKETS||"10",10),JGr=parseInt(process.env.HTTP_SOCKET_TIMEOUT||"60000",10),ZGr=parseInt(process.env.HTTP_FREE_SOCKET_TIMEOUT||"30000",10),qIt=parseInt(process.env.HTTP_MAX_CONTENT_LENGTH||String(2*1024*1024),10),eYr=parseInt(process.env.HTTP_GLOBAL_INFLIGHT||"150",10),Vye=class{constructor(t){this.max=t,this.active=0,this.peakActive=0,this.waiting=[],this.totalAcquired=0,this.totalReleased=0,this.peakWaiting=0}async acquire(){if(this.totalAcquired+=1,this.activethis.peakActive&&(this.peakActive=this.active);return}await new Promise(t=>{this.waiting.push(t),this.waiting.length>this.peakWaiting&&(this.peakWaiting=this.waiting.length)}),this.active+=1,this.active>this.peakActive&&(this.peakActive=this.active)}release(){this.totalReleased+=1,this.active=Math.max(0,this.active-1);let t=this.waiting.shift();t&&t()}stats(){return{max:this.max,active:this.active,waiting:this.waiting.length,peakActive:this.peakActive,peakWaiting:this.peakWaiting,totalAcquired:this.totalAcquired,totalReleased:this.totalReleased}}},eC=new Vye(eYr);tYr=Se.create.bind(Se);Se.create=function(t){let r=tYr(t);return KIt(r),r};KIt(Se);jye=new Map;GIt=Wn(),nYr=GIt.httpsAgent,sYr=GIt.httpAgent,iYr=Se.create({httpsAgent:nYr,httpAgent:sYr});Ye=iYr});var nve={};Bt(nve,{HOME_CACHE_TTL:()=>Rt,buildHomeCacheKey:()=>Vr,clearHomeCache:()=>eve,getHomeCache:()=>jr,getHomeCacheStats:()=>tve,hasHomeCache:()=>lYr,resetHomeCacheStats:()=>rve,setHomeCache:()=>sn});function YIt(){return Date.now()}function cYr(e,t=Rt.semiStatic){let r=Number(t||Rt.semiStatic),n=Number.isFinite(r)&&r>0?YIt()+r:Number.POSITIVE_INFINITY;return{value:e,expiresAt:n}}function QIt(e){return!e||YIt()>e.expiresAt}function uYr(e){for(let[t]of zf.entries())if(t===e)return!0;return!1}function Vr(e,t={}){let r=t?.server||"default",n=t?.cacheKeyExtra||"";return`${e}:${r}:${n}`}function jr(e){let t=zf.get(e);if(t&&!QIt(t))return Od.hits++,t.value;t&&zf.delete(e),Od.misses++}function sn(e,t,r){!uYr(e)&&zf.size>=Zye&&Od.evictions++,zf.set(e,cYr(t,r)),Od.sets++}function lYr(e){let t=zf.get(e);return t&&!QIt(t)?!0:(t&&zf.delete(e),!1)}function eve(e){if(!e){zf.clear();return}let t=new RegExp(`^${e}:`);for(let[r]of zf.entries())t.test(r)&&zf.delete(r)}function tve(){let e=Od.hits+Od.misses;return{hits:Od.hits,misses:Od.misses,sets:Od.sets,evictions:Od.evictions,hitRate:e>0?Od.hits/e:0,size:zf.size,maxSize:Zye,calculatedSize:0}}function rve(){Od={hits:0,misses:0,sets:0,evictions:0}}var Rt,Od,Zye,zf,Dn=oe(()=>{zi();Rt={static:30*60*1e3,semiStatic:10*60*1e3,dynamic:5*60*1e3,realtime:1*60*1e3},Od={hits:0,misses:0,sets:0,evictions:0},Zye=500,zf=new pt(Zye,Number.POSITIVE_INFINITY)});var uRt=oe(()=>{});function QM(e){return e?.xml?typeof e.xml=="boolean"?lRt:{...lRt,...e.xml}:e??void 0}var EYr,YM,lRt,ove=oe(()=>{EYr={xml:!1,decodeEntities:!0},YM=EYr,lRt={_useHtmlParser2:!0,xmlMode:!0}});function dRt(e){return e.type===En.Tag||e.type===En.Script||e.type===En.Style}var En,fRt,hRt,pRt,mRt,gRt,_Rt,ARt,ERt,yRt,rC=oe(()=>{(function(e){e.Root="root",e.Text="text",e.Directive="directive",e.Comment="comment",e.Script="script",e.Style="style",e.Tag="tag",e.CDATA="cdata",e.Doctype="doctype"})(En||(En={}));fRt=En.Root,hRt=En.Text,pRt=En.Directive,mRt=En.Comment,gRt=En.Script,_Rt=En.Style,ARt=En.Tag,ERt=En.CDATA,yRt=En.Doctype});function yt(e){return dRt(e)}function nC(e){return e.type===En.CDATA}function Bu(e){return e.type===En.Text}function VS(e){return e.type===En.Comment}function Bq(e){return e.type===En.Directive}function Wf(e){return e.type===En.Root}function cs(e){return Object.prototype.hasOwnProperty.call(e,"children")}function JM(e,t=!1){let r;if(Bu(e))r=new Mh(e.data);else if(VS(e))r=new $S(e.data);else if(yt(e)){let n=t?cve(e.children):[],s=new HS(e.name,{...e.attribs},n);n.forEach(i=>i.parent=s),e.namespace!=null&&(s.namespace=e.namespace),e["x-attribsNamespace"]&&(s["x-attribsNamespace"]={...e["x-attribsNamespace"]}),e["x-attribsPrefix"]&&(s["x-attribsPrefix"]={...e["x-attribsPrefix"]}),r=s}else if(nC(e)){let n=t?cve(e.children):[],s=new XM(n);n.forEach(i=>i.parent=s),r=s}else if(Wf(e)){let n=t?cve(e.children):[],s=new Il(n);n.forEach(i=>i.parent=s),e["x-mode"]&&(s["x-mode"]=e["x-mode"]),r=s}else if(Bq(e)){let n=new qS(e.name,e.data);e["x-name"]!=null&&(n["x-name"]=e["x-name"],n["x-publicId"]=e["x-publicId"],n["x-systemId"]=e["x-systemId"]),r=n}else throw new Error(`Not implemented yet: ${e.type}`);return r.startIndex=e.startIndex,r.endIndex=e.endIndex,e.sourceCodeLocation!=null&&(r.sourceCodeLocation=e.sourceCodeLocation),r}function cve(e){let t=e.map(r=>JM(r,!0));for(let r=1;r{rC();kq=class{constructor(){this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}get parentNode(){return this.parent}set parentNode(t){this.parent=t}get previousSibling(){return this.prev}set previousSibling(t){this.prev=t}get nextSibling(){return this.next}set nextSibling(t){this.next=t}cloneNode(t=!1){return JM(this,t)}},zM=class extends kq{constructor(t){super(),this.data=t}get nodeValue(){return this.data}set nodeValue(t){this.data=t}},Mh=class extends zM{constructor(){super(...arguments),this.type=En.Text}get nodeType(){return 3}},$S=class extends zM{constructor(){super(...arguments),this.type=En.Comment}get nodeType(){return 8}},qS=class extends zM{constructor(t,r){super(r),this.name=t,this.type=En.Directive}get nodeType(){return 1}},WM=class extends kq{constructor(t){super(),this.children=t}get firstChild(){var t;return(t=this.children[0])!==null&&t!==void 0?t:null}get lastChild(){return this.children.length>0?this.children[this.children.length-1]:null}get childNodes(){return this.children}set childNodes(t){this.children=t}},XM=class extends WM{constructor(){super(...arguments),this.type=En.CDATA}get nodeType(){return 4}},Il=class extends WM{constructor(){super(...arguments),this.type=En.Root}get nodeType(){return 9}},HS=class extends WM{constructor(t,r,n=[],s=t==="script"?En.Script:t==="style"?En.Style:En.Tag){super(n),this.name=t,this.attribs=r,this.type=s}get nodeType(){return 1}get tagName(){return this.name}set tagName(t){this.name=t}get attributes(){return Object.keys(this.attribs).map(t=>{var r,n;return{name:t,value:this.attribs[t],namespace:(r=this["x-attribsNamespace"])===null||r===void 0?void 0:r[t],prefix:(n=this["x-attribsPrefix"])===null||n===void 0?void 0:n[t]}})}}});var SRt,sC,Wo=oe(()=>{rC();uve();uve();SRt={withStartIndices:!1,withEndIndices:!1,xmlMode:!1},sC=class{constructor(t,r,n){this.dom=[],this.root=new Il(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,typeof r=="function"&&(n=r,r=SRt),typeof t=="object"&&(r=t,t=void 0),this.callback=t??null,this.options=r??SRt,this.elementCB=n??null}onparserinit(t){this.parser=t}onreset(){this.dom=[],this.root=new Il(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null}onend(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))}onerror(t){this.handleCallback(t)}onclosetag(){this.lastNode=null;let t=this.tagStack.pop();this.options.withEndIndices&&(t.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(t)}onopentag(t,r){let n=this.options.xmlMode?En.Tag:void 0,s=new HS(t,r,void 0,n);this.addNode(s),this.tagStack.push(s)}ontext(t){let{lastNode:r}=this;if(r&&r.type===En.Text)r.data+=t,this.options.withEndIndices&&(r.endIndex=this.parser.endIndex);else{let n=new Mh(t);this.addNode(n),this.lastNode=n}}oncomment(t){if(this.lastNode&&this.lastNode.type===En.Comment){this.lastNode.data+=t;return}let r=new $S(t);this.addNode(r),this.lastNode=r}oncommentend(){this.lastNode=null}oncdatastart(){let t=new Mh(""),r=new XM([t]);this.addNode(r),t.parent=r,this.lastNode=t}oncdataend(){this.lastNode=null}onprocessinginstruction(t,r){let n=new qS(t,r);this.addNode(n)}handleCallback(t){if(typeof this.callback=="function")this.callback(t,this.dom);else if(t)throw t}addNode(t){let r=this.tagStack[this.tagStack.length-1],n=r.children[r.children.length-1];this.options.withStartIndices&&(t.startIndex=this.parser.startIndex),this.options.withEndIndices&&(t.endIndex=this.parser.endIndex),r.children.push(t),n&&(t.prev=n,n.next=t),t.parent=r,this.lastNode=null}}});var Uq,TRt=oe(()=>{Uq=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(e=>e.charCodeAt(0)))});var Fq,bRt=oe(()=>{Fq=new Uint16Array("\u0200aglq \x1B\u026D\0\0p;\u4026os;\u4027t;\u403Et;\u403Cuot;\u4022".split("").map(e=>e.charCodeAt(0)))});function ZM(e){var t;return e>=55296&&e<=57343||e>1114111?65533:(t=yYr.get(e))!==null&&t!==void 0?t:e}var lve,yYr,iC,dve=oe(()=>{yYr=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),iC=(lve=String.fromCodePoint)!==null&&lve!==void 0?lve:function(e){let t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),t+=String.fromCharCode(e),t}});function fve(e){return e>=Ma.ZERO&&e<=Ma.NINE}function SYr(e){return e>=Ma.UPPER_A&&e<=Ma.UPPER_F||e>=Ma.LOWER_A&&e<=Ma.LOWER_F}function TYr(e){return e>=Ma.UPPER_A&&e<=Ma.UPPER_Z||e>=Ma.LOWER_A&&e<=Ma.LOWER_Z||fve(e)}function bYr(e){return e===Ma.EQUALS||TYr(e)}function IRt(e){let t="",r=new $q(e,n=>t+=iC(n));return function(s,i){let a=0,o=0;for(;(o=s.indexOf("&",o))>=0;){t+=s.slice(a,o),r.startEntity(i);let u=r.write(s,o+1);if(u<0){a=o+r.end();break}a=o+u,o=u===0?a+1:a}let c=t+s.slice(a);return t="",c}}function hve(e,t,r,n){let s=(t&Dd.BRANCH_LENGTH)>>7,i=t&Dd.JUMP_TABLE;if(s===0)return i!==0&&n===i?r:-1;if(i){let c=n-i;return c<0||c>=s?-1:e[r+c]-1}let a=r,o=a+s-1;for(;a<=o;){let c=a+o>>>1,u=e[c];if(un)o=c-1;else return e[c+s]}return-1}var Ma,vYr,Dd,La,lg,$q,Cfs,xfs,ek=oe(()=>{TRt();bRt();dve();dve();(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(Ma||(Ma={}));vYr=32;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(Dd||(Dd={}));(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(La||(La={}));(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(lg||(lg={}));$q=class{constructor(t,r,n){this.decodeTree=t,this.emitCodePoint=r,this.errors=n,this.state=La.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=lg.Strict}startEntity(t){this.decodeMode=t,this.state=La.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(t,r){switch(this.state){case La.EntityStart:return t.charCodeAt(r)===Ma.NUM?(this.state=La.NumericStart,this.consumed+=1,this.stateNumericStart(t,r+1)):(this.state=La.NamedEntity,this.stateNamedEntity(t,r));case La.NumericStart:return this.stateNumericStart(t,r);case La.NumericDecimal:return this.stateNumericDecimal(t,r);case La.NumericHex:return this.stateNumericHex(t,r);case La.NamedEntity:return this.stateNamedEntity(t,r)}}stateNumericStart(t,r){return r>=t.length?-1:(t.charCodeAt(r)|vYr)===Ma.LOWER_X?(this.state=La.NumericHex,this.consumed+=1,this.stateNumericHex(t,r+1)):(this.state=La.NumericDecimal,this.stateNumericDecimal(t,r))}addToNumericResult(t,r,n,s){if(r!==n){let i=n-r;this.result=this.result*Math.pow(s,i)+parseInt(t.substr(r,i),s),this.consumed+=i}}stateNumericHex(t,r){let n=r;for(;r>14;for(;r>14,i!==0){if(a===Ma.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==lg.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var t;let{result:r,decodeTree:n}=this,s=(n[r]&Dd.VALUE_LENGTH)>>14;return this.emitNamedEntityData(r,s,this.consumed),(t=this.errors)===null||t===void 0||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,r,n){let{decodeTree:s}=this;return this.emitCodePoint(r===1?s[t]&~Dd.VALUE_LENGTH:s[t+1],n),r===3&&this.emitCodePoint(s[t+2],n),n}end(){var t;switch(this.state){case La.NamedEntity:return this.result!==0&&(this.decodeMode!==lg.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case La.NumericDecimal:return this.emitNumericEntity(0,2);case La.NumericHex:return this.emitNumericEntity(0,3);case La.NumericStart:return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case La.EntityStart:return 0}}};Cfs=IRt(Uq),xfs=IRt(Fq)});function qq(e){for(let t=1;t{IYr=new Map(qq([[9," "],[0," "],[22,"!"],[0,"""],[0,"#"],[0,"$"],[0,"%"],[0,"&"],[0,"'"],[0,"("],[0,")"],[0,"*"],[0,"+"],[0,","],[1,"."],[0,"/"],[10,":"],[0,";"],[0,{v:"<",n:8402,o:"<⃒"}],[0,{v:"=",n:8421,o:"=⃥"}],[0,{v:">",n:8402,o:">⃒"}],[0,"?"],[0,"@"],[26,"["],[0,"\"],[0,"]"],[0,"^"],[0,"_"],[0,"`"],[5,{n:106,o:"fj"}],[20,"{"],[0,"|"],[0,"}"],[34," "],[0,"¡"],[0,"¢"],[0,"£"],[0,"¤"],[0,"¥"],[0,"¦"],[0,"§"],[0,"¨"],[0,"©"],[0,"ª"],[0,"«"],[0,"¬"],[0,"­"],[0,"®"],[0,"¯"],[0,"°"],[0,"±"],[0,"²"],[0,"³"],[0,"´"],[0,"µ"],[0,"¶"],[0,"·"],[0,"¸"],[0,"¹"],[0,"º"],[0,"»"],[0,"¼"],[0,"½"],[0,"¾"],[0,"¿"],[0,"À"],[0,"Á"],[0,"Â"],[0,"Ã"],[0,"Ä"],[0,"Å"],[0,"Æ"],[0,"Ç"],[0,"È"],[0,"É"],[0,"Ê"],[0,"Ë"],[0,"Ì"],[0,"Í"],[0,"Î"],[0,"Ï"],[0,"Ð"],[0,"Ñ"],[0,"Ò"],[0,"Ó"],[0,"Ô"],[0,"Õ"],[0,"Ö"],[0,"×"],[0,"Ø"],[0,"Ù"],[0,"Ú"],[0,"Û"],[0,"Ü"],[0,"Ý"],[0,"Þ"],[0,"ß"],[0,"à"],[0,"á"],[0,"â"],[0,"ã"],[0,"ä"],[0,"å"],[0,"æ"],[0,"ç"],[0,"è"],[0,"é"],[0,"ê"],[0,"ë"],[0,"ì"],[0,"í"],[0,"î"],[0,"ï"],[0,"ð"],[0,"ñ"],[0,"ò"],[0,"ó"],[0,"ô"],[0,"õ"],[0,"ö"],[0,"÷"],[0,"ø"],[0,"ù"],[0,"ú"],[0,"û"],[0,"ü"],[0,"ý"],[0,"þ"],[0,"ÿ"],[0,"Ā"],[0,"ā"],[0,"Ă"],[0,"ă"],[0,"Ą"],[0,"ą"],[0,"Ć"],[0,"ć"],[0,"Ĉ"],[0,"ĉ"],[0,"Ċ"],[0,"ċ"],[0,"Č"],[0,"č"],[0,"Ď"],[0,"ď"],[0,"Đ"],[0,"đ"],[0,"Ē"],[0,"ē"],[2,"Ė"],[0,"ė"],[0,"Ę"],[0,"ę"],[0,"Ě"],[0,"ě"],[0,"Ĝ"],[0,"ĝ"],[0,"Ğ"],[0,"ğ"],[0,"Ġ"],[0,"ġ"],[0,"Ģ"],[1,"Ĥ"],[0,"ĥ"],[0,"Ħ"],[0,"ħ"],[0,"Ĩ"],[0,"ĩ"],[0,"Ī"],[0,"ī"],[2,"Į"],[0,"į"],[0,"İ"],[0,"ı"],[0,"IJ"],[0,"ij"],[0,"Ĵ"],[0,"ĵ"],[0,"Ķ"],[0,"ķ"],[0,"ĸ"],[0,"Ĺ"],[0,"ĺ"],[0,"Ļ"],[0,"ļ"],[0,"Ľ"],[0,"ľ"],[0,"Ŀ"],[0,"ŀ"],[0,"Ł"],[0,"ł"],[0,"Ń"],[0,"ń"],[0,"Ņ"],[0,"ņ"],[0,"Ň"],[0,"ň"],[0,"ʼn"],[0,"Ŋ"],[0,"ŋ"],[0,"Ō"],[0,"ō"],[2,"Ő"],[0,"ő"],[0,"Œ"],[0,"œ"],[0,"Ŕ"],[0,"ŕ"],[0,"Ŗ"],[0,"ŗ"],[0,"Ř"],[0,"ř"],[0,"Ś"],[0,"ś"],[0,"Ŝ"],[0,"ŝ"],[0,"Ş"],[0,"ş"],[0,"Š"],[0,"š"],[0,"Ţ"],[0,"ţ"],[0,"Ť"],[0,"ť"],[0,"Ŧ"],[0,"ŧ"],[0,"Ũ"],[0,"ũ"],[0,"Ū"],[0,"ū"],[0,"Ŭ"],[0,"ŭ"],[0,"Ů"],[0,"ů"],[0,"Ű"],[0,"ű"],[0,"Ų"],[0,"ų"],[0,"Ŵ"],[0,"ŵ"],[0,"Ŷ"],[0,"ŷ"],[0,"Ÿ"],[0,"Ź"],[0,"ź"],[0,"Ż"],[0,"ż"],[0,"Ž"],[0,"ž"],[19,"ƒ"],[34,"Ƶ"],[63,"ǵ"],[65,"ȷ"],[142,"ˆ"],[0,"ˇ"],[16,"˘"],[0,"˙"],[0,"˚"],[0,"˛"],[0,"˜"],[0,"˝"],[51,"̑"],[127,"Α"],[0,"Β"],[0,"Γ"],[0,"Δ"],[0,"Ε"],[0,"Ζ"],[0,"Η"],[0,"Θ"],[0,"Ι"],[0,"Κ"],[0,"Λ"],[0,"Μ"],[0,"Ν"],[0,"Ξ"],[0,"Ο"],[0,"Π"],[0,"Ρ"],[1,"Σ"],[0,"Τ"],[0,"Υ"],[0,"Φ"],[0,"Χ"],[0,"Ψ"],[0,"Ω"],[7,"α"],[0,"β"],[0,"γ"],[0,"δ"],[0,"ε"],[0,"ζ"],[0,"η"],[0,"θ"],[0,"ι"],[0,"κ"],[0,"λ"],[0,"μ"],[0,"ν"],[0,"ξ"],[0,"ο"],[0,"π"],[0,"ρ"],[0,"ς"],[0,"σ"],[0,"τ"],[0,"υ"],[0,"φ"],[0,"χ"],[0,"ψ"],[0,"ω"],[7,"ϑ"],[0,"ϒ"],[2,"ϕ"],[0,"ϖ"],[5,"Ϝ"],[0,"ϝ"],[18,"ϰ"],[0,"ϱ"],[3,"ϵ"],[0,"϶"],[10,"Ё"],[0,"Ђ"],[0,"Ѓ"],[0,"Є"],[0,"Ѕ"],[0,"І"],[0,"Ї"],[0,"Ј"],[0,"Љ"],[0,"Њ"],[0,"Ћ"],[0,"Ќ"],[1,"Ў"],[0,"Џ"],[0,"А"],[0,"Б"],[0,"В"],[0,"Г"],[0,"Д"],[0,"Е"],[0,"Ж"],[0,"З"],[0,"И"],[0,"Й"],[0,"К"],[0,"Л"],[0,"М"],[0,"Н"],[0,"О"],[0,"П"],[0,"Р"],[0,"С"],[0,"Т"],[0,"У"],[0,"Ф"],[0,"Х"],[0,"Ц"],[0,"Ч"],[0,"Ш"],[0,"Щ"],[0,"Ъ"],[0,"Ы"],[0,"Ь"],[0,"Э"],[0,"Ю"],[0,"Я"],[0,"а"],[0,"б"],[0,"в"],[0,"г"],[0,"д"],[0,"е"],[0,"ж"],[0,"з"],[0,"и"],[0,"й"],[0,"к"],[0,"л"],[0,"м"],[0,"н"],[0,"о"],[0,"п"],[0,"р"],[0,"с"],[0,"т"],[0,"у"],[0,"ф"],[0,"х"],[0,"ц"],[0,"ч"],[0,"ш"],[0,"щ"],[0,"ъ"],[0,"ы"],[0,"ь"],[0,"э"],[0,"ю"],[0,"я"],[1,"ё"],[0,"ђ"],[0,"ѓ"],[0,"є"],[0,"ѕ"],[0,"і"],[0,"ї"],[0,"ј"],[0,"љ"],[0,"њ"],[0,"ћ"],[0,"ќ"],[1,"ў"],[0,"џ"],[7074," "],[0," "],[0," "],[0," "],[1," "],[0," "],[0," "],[0," "],[0,"​"],[0,"‌"],[0,"‍"],[0,"‎"],[0,"‏"],[0,"‐"],[2,"–"],[0,"—"],[0,"―"],[0,"‖"],[1,"‘"],[0,"’"],[0,"‚"],[1,"“"],[0,"”"],[0,"„"],[1,"†"],[0,"‡"],[0,"•"],[2,"‥"],[0,"…"],[9,"‰"],[0,"‱"],[0,"′"],[0,"″"],[0,"‴"],[0,"‵"],[3,"‹"],[0,"›"],[3,"‾"],[2,"⁁"],[1,"⁃"],[0,"⁄"],[10,"⁏"],[7,"⁗"],[7,{v:" ",n:8202,o:"  "}],[0,"⁠"],[0,"⁡"],[0,"⁢"],[0,"⁣"],[72,"€"],[46,"⃛"],[0,"⃜"],[37,"ℂ"],[2,"℅"],[4,"ℊ"],[0,"ℋ"],[0,"ℌ"],[0,"ℍ"],[0,"ℎ"],[0,"ℏ"],[0,"ℐ"],[0,"ℑ"],[0,"ℒ"],[0,"ℓ"],[1,"ℕ"],[0,"№"],[0,"℗"],[0,"℘"],[0,"ℙ"],[0,"ℚ"],[0,"ℛ"],[0,"ℜ"],[0,"ℝ"],[0,"℞"],[3,"™"],[1,"ℤ"],[2,"℧"],[0,"ℨ"],[0,"℩"],[2,"ℬ"],[0,"ℭ"],[1,"ℯ"],[0,"ℰ"],[0,"ℱ"],[1,"ℳ"],[0,"ℴ"],[0,"ℵ"],[0,"ℶ"],[0,"ℷ"],[0,"ℸ"],[12,"ⅅ"],[0,"ⅆ"],[0,"ⅇ"],[0,"ⅈ"],[10,"⅓"],[0,"⅔"],[0,"⅕"],[0,"⅖"],[0,"⅗"],[0,"⅘"],[0,"⅙"],[0,"⅚"],[0,"⅛"],[0,"⅜"],[0,"⅝"],[0,"⅞"],[49,"←"],[0,"↑"],[0,"→"],[0,"↓"],[0,"↔"],[0,"↕"],[0,"↖"],[0,"↗"],[0,"↘"],[0,"↙"],[0,"↚"],[0,"↛"],[1,{v:"↝",n:824,o:"↝̸"}],[0,"↞"],[0,"↟"],[0,"↠"],[0,"↡"],[0,"↢"],[0,"↣"],[0,"↤"],[0,"↥"],[0,"↦"],[0,"↧"],[1,"↩"],[0,"↪"],[0,"↫"],[0,"↬"],[0,"↭"],[0,"↮"],[1,"↰"],[0,"↱"],[0,"↲"],[0,"↳"],[1,"↵"],[0,"↶"],[0,"↷"],[2,"↺"],[0,"↻"],[0,"↼"],[0,"↽"],[0,"↾"],[0,"↿"],[0,"⇀"],[0,"⇁"],[0,"⇂"],[0,"⇃"],[0,"⇄"],[0,"⇅"],[0,"⇆"],[0,"⇇"],[0,"⇈"],[0,"⇉"],[0,"⇊"],[0,"⇋"],[0,"⇌"],[0,"⇍"],[0,"⇎"],[0,"⇏"],[0,"⇐"],[0,"⇑"],[0,"⇒"],[0,"⇓"],[0,"⇔"],[0,"⇕"],[0,"⇖"],[0,"⇗"],[0,"⇘"],[0,"⇙"],[0,"⇚"],[0,"⇛"],[1,"⇝"],[6,"⇤"],[0,"⇥"],[15,"⇵"],[7,"⇽"],[0,"⇾"],[0,"⇿"],[0,"∀"],[0,"∁"],[0,{v:"∂",n:824,o:"∂̸"}],[0,"∃"],[0,"∄"],[0,"∅"],[1,"∇"],[0,"∈"],[0,"∉"],[1,"∋"],[0,"∌"],[2,"∏"],[0,"∐"],[0,"∑"],[0,"−"],[0,"∓"],[0,"∔"],[1,"∖"],[0,"∗"],[0,"∘"],[1,"√"],[2,"∝"],[0,"∞"],[0,"∟"],[0,{v:"∠",n:8402,o:"∠⃒"}],[0,"∡"],[0,"∢"],[0,"∣"],[0,"∤"],[0,"∥"],[0,"∦"],[0,"∧"],[0,"∨"],[0,{v:"∩",n:65024,o:"∩︀"}],[0,{v:"∪",n:65024,o:"∪︀"}],[0,"∫"],[0,"∬"],[0,"∭"],[0,"∮"],[0,"∯"],[0,"∰"],[0,"∱"],[0,"∲"],[0,"∳"],[0,"∴"],[0,"∵"],[0,"∶"],[0,"∷"],[0,"∸"],[1,"∺"],[0,"∻"],[0,{v:"∼",n:8402,o:"∼⃒"}],[0,{v:"∽",n:817,o:"∽̱"}],[0,{v:"∾",n:819,o:"∾̳"}],[0,"∿"],[0,"≀"],[0,"≁"],[0,{v:"≂",n:824,o:"≂̸"}],[0,"≃"],[0,"≄"],[0,"≅"],[0,"≆"],[0,"≇"],[0,"≈"],[0,"≉"],[0,"≊"],[0,{v:"≋",n:824,o:"≋̸"}],[0,"≌"],[0,{v:"≍",n:8402,o:"≍⃒"}],[0,{v:"≎",n:824,o:"≎̸"}],[0,{v:"≏",n:824,o:"≏̸"}],[0,{v:"≐",n:824,o:"≐̸"}],[0,"≑"],[0,"≒"],[0,"≓"],[0,"≔"],[0,"≕"],[0,"≖"],[0,"≗"],[1,"≙"],[0,"≚"],[1,"≜"],[2,"≟"],[0,"≠"],[0,{v:"≡",n:8421,o:"≡⃥"}],[0,"≢"],[1,{v:"≤",n:8402,o:"≤⃒"}],[0,{v:"≥",n:8402,o:"≥⃒"}],[0,{v:"≦",n:824,o:"≦̸"}],[0,{v:"≧",n:824,o:"≧̸"}],[0,{v:"≨",n:65024,o:"≨︀"}],[0,{v:"≩",n:65024,o:"≩︀"}],[0,{v:"≪",n:new Map(qq([[824,"≪̸"],[7577,"≪⃒"]]))}],[0,{v:"≫",n:new Map(qq([[824,"≫̸"],[7577,"≫⃒"]]))}],[0,"≬"],[0,"≭"],[0,"≮"],[0,"≯"],[0,"≰"],[0,"≱"],[0,"≲"],[0,"≳"],[0,"≴"],[0,"≵"],[0,"≶"],[0,"≷"],[0,"≸"],[0,"≹"],[0,"≺"],[0,"≻"],[0,"≼"],[0,"≽"],[0,"≾"],[0,{v:"≿",n:824,o:"≿̸"}],[0,"⊀"],[0,"⊁"],[0,{v:"⊂",n:8402,o:"⊂⃒"}],[0,{v:"⊃",n:8402,o:"⊃⃒"}],[0,"⊄"],[0,"⊅"],[0,"⊆"],[0,"⊇"],[0,"⊈"],[0,"⊉"],[0,{v:"⊊",n:65024,o:"⊊︀"}],[0,{v:"⊋",n:65024,o:"⊋︀"}],[1,"⊍"],[0,"⊎"],[0,{v:"⊏",n:824,o:"⊏̸"}],[0,{v:"⊐",n:824,o:"⊐̸"}],[0,"⊑"],[0,"⊒"],[0,{v:"⊓",n:65024,o:"⊓︀"}],[0,{v:"⊔",n:65024,o:"⊔︀"}],[0,"⊕"],[0,"⊖"],[0,"⊗"],[0,"⊘"],[0,"⊙"],[0,"⊚"],[0,"⊛"],[1,"⊝"],[0,"⊞"],[0,"⊟"],[0,"⊠"],[0,"⊡"],[0,"⊢"],[0,"⊣"],[0,"⊤"],[0,"⊥"],[1,"⊧"],[0,"⊨"],[0,"⊩"],[0,"⊪"],[0,"⊫"],[0,"⊬"],[0,"⊭"],[0,"⊮"],[0,"⊯"],[0,"⊰"],[1,"⊲"],[0,"⊳"],[0,{v:"⊴",n:8402,o:"⊴⃒"}],[0,{v:"⊵",n:8402,o:"⊵⃒"}],[0,"⊶"],[0,"⊷"],[0,"⊸"],[0,"⊹"],[0,"⊺"],[0,"⊻"],[1,"⊽"],[0,"⊾"],[0,"⊿"],[0,"⋀"],[0,"⋁"],[0,"⋂"],[0,"⋃"],[0,"⋄"],[0,"⋅"],[0,"⋆"],[0,"⋇"],[0,"⋈"],[0,"⋉"],[0,"⋊"],[0,"⋋"],[0,"⋌"],[0,"⋍"],[0,"⋎"],[0,"⋏"],[0,"⋐"],[0,"⋑"],[0,"⋒"],[0,"⋓"],[0,"⋔"],[0,"⋕"],[0,"⋖"],[0,"⋗"],[0,{v:"⋘",n:824,o:"⋘̸"}],[0,{v:"⋙",n:824,o:"⋙̸"}],[0,{v:"⋚",n:65024,o:"⋚︀"}],[0,{v:"⋛",n:65024,o:"⋛︀"}],[2,"⋞"],[0,"⋟"],[0,"⋠"],[0,"⋡"],[0,"⋢"],[0,"⋣"],[2,"⋦"],[0,"⋧"],[0,"⋨"],[0,"⋩"],[0,"⋪"],[0,"⋫"],[0,"⋬"],[0,"⋭"],[0,"⋮"],[0,"⋯"],[0,"⋰"],[0,"⋱"],[0,"⋲"],[0,"⋳"],[0,"⋴"],[0,{v:"⋵",n:824,o:"⋵̸"}],[0,"⋶"],[0,"⋷"],[1,{v:"⋹",n:824,o:"⋹̸"}],[0,"⋺"],[0,"⋻"],[0,"⋼"],[0,"⋽"],[0,"⋾"],[6,"⌅"],[0,"⌆"],[1,"⌈"],[0,"⌉"],[0,"⌊"],[0,"⌋"],[0,"⌌"],[0,"⌍"],[0,"⌎"],[0,"⌏"],[0,"⌐"],[1,"⌒"],[0,"⌓"],[1,"⌕"],[0,"⌖"],[5,"⌜"],[0,"⌝"],[0,"⌞"],[0,"⌟"],[2,"⌢"],[0,"⌣"],[9,"⌭"],[0,"⌮"],[7,"⌶"],[6,"⌽"],[1,"⌿"],[60,"⍼"],[51,"⎰"],[0,"⎱"],[2,"⎴"],[0,"⎵"],[0,"⎶"],[37,"⏜"],[0,"⏝"],[0,"⏞"],[0,"⏟"],[2,"⏢"],[4,"⏧"],[59,"␣"],[164,"Ⓢ"],[55,"─"],[1,"│"],[9,"┌"],[3,"┐"],[3,"└"],[3,"┘"],[3,"├"],[7,"┤"],[7,"┬"],[7,"┴"],[7,"┼"],[19,"═"],[0,"║"],[0,"╒"],[0,"╓"],[0,"╔"],[0,"╕"],[0,"╖"],[0,"╗"],[0,"╘"],[0,"╙"],[0,"╚"],[0,"╛"],[0,"╜"],[0,"╝"],[0,"╞"],[0,"╟"],[0,"╠"],[0,"╡"],[0,"╢"],[0,"╣"],[0,"╤"],[0,"╥"],[0,"╦"],[0,"╧"],[0,"╨"],[0,"╩"],[0,"╪"],[0,"╫"],[0,"╬"],[19,"▀"],[3,"▄"],[3,"█"],[8,"░"],[0,"▒"],[0,"▓"],[13,"□"],[8,"▪"],[0,"▫"],[1,"▭"],[0,"▮"],[2,"▱"],[1,"△"],[0,"▴"],[0,"▵"],[2,"▸"],[0,"▹"],[3,"▽"],[0,"▾"],[0,"▿"],[2,"◂"],[0,"◃"],[6,"◊"],[0,"○"],[32,"◬"],[2,"◯"],[8,"◸"],[0,"◹"],[0,"◺"],[0,"◻"],[0,"◼"],[8,"★"],[0,"☆"],[7,"☎"],[49,"♀"],[1,"♂"],[29,"♠"],[2,"♣"],[1,"♥"],[0,"♦"],[3,"♪"],[2,"♭"],[0,"♮"],[0,"♯"],[163,"✓"],[3,"✗"],[8,"✠"],[21,"✶"],[33,"❘"],[25,"❲"],[0,"❳"],[84,"⟈"],[0,"⟉"],[28,"⟦"],[0,"⟧"],[0,"⟨"],[0,"⟩"],[0,"⟪"],[0,"⟫"],[0,"⟬"],[0,"⟭"],[7,"⟵"],[0,"⟶"],[0,"⟷"],[0,"⟸"],[0,"⟹"],[0,"⟺"],[1,"⟼"],[2,"⟿"],[258,"⤂"],[0,"⤃"],[0,"⤄"],[0,"⤅"],[6,"⤌"],[0,"⤍"],[0,"⤎"],[0,"⤏"],[0,"⤐"],[0,"⤑"],[0,"⤒"],[0,"⤓"],[2,"⤖"],[2,"⤙"],[0,"⤚"],[0,"⤛"],[0,"⤜"],[0,"⤝"],[0,"⤞"],[0,"⤟"],[0,"⤠"],[2,"⤣"],[0,"⤤"],[0,"⤥"],[0,"⤦"],[0,"⤧"],[0,"⤨"],[0,"⤩"],[0,"⤪"],[8,{v:"⤳",n:824,o:"⤳̸"}],[1,"⤵"],[0,"⤶"],[0,"⤷"],[0,"⤸"],[0,"⤹"],[2,"⤼"],[0,"⤽"],[7,"⥅"],[2,"⥈"],[0,"⥉"],[0,"⥊"],[0,"⥋"],[2,"⥎"],[0,"⥏"],[0,"⥐"],[0,"⥑"],[0,"⥒"],[0,"⥓"],[0,"⥔"],[0,"⥕"],[0,"⥖"],[0,"⥗"],[0,"⥘"],[0,"⥙"],[0,"⥚"],[0,"⥛"],[0,"⥜"],[0,"⥝"],[0,"⥞"],[0,"⥟"],[0,"⥠"],[0,"⥡"],[0,"⥢"],[0,"⥣"],[0,"⥤"],[0,"⥥"],[0,"⥦"],[0,"⥧"],[0,"⥨"],[0,"⥩"],[0,"⥪"],[0,"⥫"],[0,"⥬"],[0,"⥭"],[0,"⥮"],[0,"⥯"],[0,"⥰"],[0,"⥱"],[0,"⥲"],[0,"⥳"],[0,"⥴"],[0,"⥵"],[0,"⥶"],[1,"⥸"],[0,"⥹"],[1,"⥻"],[0,"⥼"],[0,"⥽"],[0,"⥾"],[0,"⥿"],[5,"⦅"],[0,"⦆"],[4,"⦋"],[0,"⦌"],[0,"⦍"],[0,"⦎"],[0,"⦏"],[0,"⦐"],[0,"⦑"],[0,"⦒"],[0,"⦓"],[0,"⦔"],[0,"⦕"],[0,"⦖"],[3,"⦚"],[1,"⦜"],[0,"⦝"],[6,"⦤"],[0,"⦥"],[0,"⦦"],[0,"⦧"],[0,"⦨"],[0,"⦩"],[0,"⦪"],[0,"⦫"],[0,"⦬"],[0,"⦭"],[0,"⦮"],[0,"⦯"],[0,"⦰"],[0,"⦱"],[0,"⦲"],[0,"⦳"],[0,"⦴"],[0,"⦵"],[0,"⦶"],[0,"⦷"],[1,"⦹"],[1,"⦻"],[0,"⦼"],[1,"⦾"],[0,"⦿"],[0,"⧀"],[0,"⧁"],[0,"⧂"],[0,"⧃"],[0,"⧄"],[0,"⧅"],[3,"⧉"],[3,"⧍"],[0,"⧎"],[0,{v:"⧏",n:824,o:"⧏̸"}],[0,{v:"⧐",n:824,o:"⧐̸"}],[11,"⧜"],[0,"⧝"],[0,"⧞"],[4,"⧣"],[0,"⧤"],[0,"⧥"],[5,"⧫"],[8,"⧴"],[1,"⧶"],[9,"⨀"],[0,"⨁"],[0,"⨂"],[1,"⨄"],[1,"⨆"],[5,"⨌"],[0,"⨍"],[2,"⨐"],[0,"⨑"],[0,"⨒"],[0,"⨓"],[0,"⨔"],[0,"⨕"],[0,"⨖"],[0,"⨗"],[10,"⨢"],[0,"⨣"],[0,"⨤"],[0,"⨥"],[0,"⨦"],[0,"⨧"],[1,"⨩"],[0,"⨪"],[2,"⨭"],[0,"⨮"],[0,"⨯"],[0,"⨰"],[0,"⨱"],[1,"⨳"],[0,"⨴"],[0,"⨵"],[0,"⨶"],[0,"⨷"],[0,"⨸"],[0,"⨹"],[0,"⨺"],[0,"⨻"],[0,"⨼"],[2,"⨿"],[0,"⩀"],[1,"⩂"],[0,"⩃"],[0,"⩄"],[0,"⩅"],[0,"⩆"],[0,"⩇"],[0,"⩈"],[0,"⩉"],[0,"⩊"],[0,"⩋"],[0,"⩌"],[0,"⩍"],[2,"⩐"],[2,"⩓"],[0,"⩔"],[0,"⩕"],[0,"⩖"],[0,"⩗"],[0,"⩘"],[1,"⩚"],[0,"⩛"],[0,"⩜"],[0,"⩝"],[1,"⩟"],[6,"⩦"],[3,"⩪"],[2,{v:"⩭",n:824,o:"⩭̸"}],[0,"⩮"],[0,"⩯"],[0,{v:"⩰",n:824,o:"⩰̸"}],[0,"⩱"],[0,"⩲"],[0,"⩳"],[0,"⩴"],[0,"⩵"],[1,"⩷"],[0,"⩸"],[0,"⩹"],[0,"⩺"],[0,"⩻"],[0,"⩼"],[0,{v:"⩽",n:824,o:"⩽̸"}],[0,{v:"⩾",n:824,o:"⩾̸"}],[0,"⩿"],[0,"⪀"],[0,"⪁"],[0,"⪂"],[0,"⪃"],[0,"⪄"],[0,"⪅"],[0,"⪆"],[0,"⪇"],[0,"⪈"],[0,"⪉"],[0,"⪊"],[0,"⪋"],[0,"⪌"],[0,"⪍"],[0,"⪎"],[0,"⪏"],[0,"⪐"],[0,"⪑"],[0,"⪒"],[0,"⪓"],[0,"⪔"],[0,"⪕"],[0,"⪖"],[0,"⪗"],[0,"⪘"],[0,"⪙"],[0,"⪚"],[2,"⪝"],[0,"⪞"],[0,"⪟"],[0,"⪠"],[0,{v:"⪡",n:824,o:"⪡̸"}],[0,{v:"⪢",n:824,o:"⪢̸"}],[1,"⪤"],[0,"⪥"],[0,"⪦"],[0,"⪧"],[0,"⪨"],[0,"⪩"],[0,"⪪"],[0,"⪫"],[0,{v:"⪬",n:65024,o:"⪬︀"}],[0,{v:"⪭",n:65024,o:"⪭︀"}],[0,"⪮"],[0,{v:"⪯",n:824,o:"⪯̸"}],[0,{v:"⪰",n:824,o:"⪰̸"}],[2,"⪳"],[0,"⪴"],[0,"⪵"],[0,"⪶"],[0,"⪷"],[0,"⪸"],[0,"⪹"],[0,"⪺"],[0,"⪻"],[0,"⪼"],[0,"⪽"],[0,"⪾"],[0,"⪿"],[0,"⫀"],[0,"⫁"],[0,"⫂"],[0,"⫃"],[0,"⫄"],[0,{v:"⫅",n:824,o:"⫅̸"}],[0,{v:"⫆",n:824,o:"⫆̸"}],[0,"⫇"],[0,"⫈"],[2,{v:"⫋",n:65024,o:"⫋︀"}],[0,{v:"⫌",n:65024,o:"⫌︀"}],[2,"⫏"],[0,"⫐"],[0,"⫑"],[0,"⫒"],[0,"⫓"],[0,"⫔"],[0,"⫕"],[0,"⫖"],[0,"⫗"],[0,"⫘"],[0,"⫙"],[0,"⫚"],[0,"⫛"],[8,"⫤"],[1,"⫦"],[0,"⫧"],[0,"⫨"],[0,"⫩"],[1,"⫫"],[0,"⫬"],[0,"⫭"],[0,"⫮"],[0,"⫯"],[0,"⫰"],[0,"⫱"],[0,"⫲"],[0,"⫳"],[9,{v:"⫽",n:8421,o:"⫽⃥"}],[44343,{n:new Map(qq([[56476,"𝒜"],[1,"𝒞"],[0,"𝒟"],[2,"𝒢"],[2,"𝒥"],[0,"𝒦"],[2,"𝒩"],[0,"𝒪"],[0,"𝒫"],[0,"𝒬"],[1,"𝒮"],[0,"𝒯"],[0,"𝒰"],[0,"𝒱"],[0,"𝒲"],[0,"𝒳"],[0,"𝒴"],[0,"𝒵"],[0,"𝒶"],[0,"𝒷"],[0,"𝒸"],[0,"𝒹"],[1,"𝒻"],[1,"𝒽"],[0,"𝒾"],[0,"𝒿"],[0,"𝓀"],[0,"𝓁"],[0,"𝓂"],[0,"𝓃"],[1,"𝓅"],[0,"𝓆"],[0,"𝓇"],[0,"𝓈"],[0,"𝓉"],[0,"𝓊"],[0,"𝓋"],[0,"𝓌"],[0,"𝓍"],[0,"𝓎"],[0,"𝓏"],[52,"𝔄"],[0,"𝔅"],[1,"𝔇"],[0,"𝔈"],[0,"𝔉"],[0,"𝔊"],[2,"𝔍"],[0,"𝔎"],[0,"𝔏"],[0,"𝔐"],[0,"𝔑"],[0,"𝔒"],[0,"𝔓"],[0,"𝔔"],[1,"𝔖"],[0,"𝔗"],[0,"𝔘"],[0,"𝔙"],[0,"𝔚"],[0,"𝔛"],[0,"𝔜"],[1,"𝔞"],[0,"𝔟"],[0,"𝔠"],[0,"𝔡"],[0,"𝔢"],[0,"𝔣"],[0,"𝔤"],[0,"𝔥"],[0,"𝔦"],[0,"𝔧"],[0,"𝔨"],[0,"𝔩"],[0,"𝔪"],[0,"𝔫"],[0,"𝔬"],[0,"𝔭"],[0,"𝔮"],[0,"𝔯"],[0,"𝔰"],[0,"𝔱"],[0,"𝔲"],[0,"𝔳"],[0,"𝔴"],[0,"𝔵"],[0,"𝔶"],[0,"𝔷"],[0,"𝔸"],[0,"𝔹"],[1,"𝔻"],[0,"𝔼"],[0,"𝔽"],[0,"𝔾"],[1,"𝕀"],[0,"𝕁"],[0,"𝕂"],[0,"𝕃"],[0,"𝕄"],[1,"𝕆"],[3,"𝕊"],[0,"𝕋"],[0,"𝕌"],[0,"𝕍"],[0,"𝕎"],[0,"𝕏"],[0,"𝕐"],[1,"𝕒"],[0,"𝕓"],[0,"𝕔"],[0,"𝕕"],[0,"𝕖"],[0,"𝕗"],[0,"𝕘"],[0,"𝕙"],[0,"𝕚"],[0,"𝕛"],[0,"𝕜"],[0,"𝕝"],[0,"𝕞"],[0,"𝕟"],[0,"𝕠"],[0,"𝕡"],[0,"𝕢"],[0,"𝕣"],[0,"𝕤"],[0,"𝕥"],[0,"𝕦"],[0,"𝕧"],[0,"𝕨"],[0,"𝕩"],[0,"𝕪"],[0,"𝕫"]]))}],[8906,"ff"],[0,"fi"],[0,"fl"],[0,"ffi"],[0,"ffl"]]))});function tk(e){let t="",r=0,n;for(;(n=pve.exec(e))!==null;){let s=n.index,i=e.charCodeAt(s),a=CRt.get(i);a!==void 0?(t+=e.substring(r,s)+a,r=s+1):(t+=`${e.substring(r,s)}&#x${xRt(e,s).toString(16)};`,r=pve.lastIndex+=+((i&64512)===55296))}return t+e.substr(r)}function mve(e,t){return function(n){let s,i=0,a="";for(;s=e.exec(n);)i!==s.index&&(a+=n.substring(i,s.index)),a+=t.get(s[0].charCodeAt(0)),i=s.index+1;return a+n.substring(i)}}var pve,CRt,xRt,wRt,Hq,Vq,jq=oe(()=>{pve=/["&'<>$\x80-\uFFFF]/g,CRt=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]),xRt=String.prototype.codePointAt!=null?(e,t)=>e.codePointAt(t):(e,t)=>(e.charCodeAt(t)&64512)===55296?(e.charCodeAt(t)-55296)*1024+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t);wRt=mve(/[&<>'"]/g,CRt),Hq=mve(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),Vq=mve(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]))});var gve=oe(()=>{RRt();jq()});var NRt,ORt,LRt=oe(()=>{ek();gve();jq();jq();gve();ek();(function(e){e[e.XML=0]="XML",e[e.HTML=1]="HTML"})(NRt||(NRt={}));(function(e){e[e.UTF8=0]="UTF8",e[e.ASCII=1]="ASCII",e[e.Extensive=2]="Extensive",e[e.Attribute=3]="Attribute",e[e.Text=4]="Text"})(ORt||(ORt={}))});var MRt,kRt,BRt=oe(()=>{MRt=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(e=>[e.toLowerCase(),e])),kRt=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(e=>[e.toLowerCase(),e]))});function xYr(e){return e.replace(/"/g,""")}function wYr(e,t){var r;if(!e)return;let n=((r=t.encodeEntities)!==null&&r!==void 0?r:t.decodeEntities)===!1?xYr:t.xmlMode||t.encodeEntities!=="utf8"?tk:Hq;return Object.keys(e).map(s=>{var i,a;let o=(i=e[s])!==null&&i!==void 0?i:"";return t.xmlMode==="foreign"&&(s=(a=kRt.get(s))!==null&&a!==void 0?a:s),!t.emptyAttrs&&!t.xmlMode&&o===""?s:`${s}="${n(o)}"`}).join(" ")}function Eve(e,t={}){let r="length"in e?e:[e],n="";for(let s=0;s0&&(n+=Eve(e.children,t)),(t.xmlMode||!URt.has(e.name))&&(n+=``)),n}function LYr(e){return`<${e.data}>`}function MYr(e,t){var r;let n=e.data||"";return((r=t.encodeEntities)!==null&&r!==void 0?r:t.decodeEntities)!==!1&&!(!t.xmlMode&&e.parent&&CYr.has(e.parent.name))&&(n=t.xmlMode||t.encodeEntities!=="utf8"?tk(n):Vq(n)),n}function kYr(e){return``}function BYr(e){return``}var CYr,URt,Kq,OYr,DYr,yve=oe(()=>{rC();LRt();BRt();CYr=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);URt=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);Kq=Eve;OYr=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),DYr=new Set(["svg","math"])});function FRt(e,t){return Kq(e,t)}function UYr(e,t){return cs(e)?e.children.map(r=>FRt(r,t)).join(""):""}function Gq(e){return Array.isArray(e)?e.map(Gq).join(""):yt(e)?e.name==="br"?` +`:Gq(e.children):nC(e)?Gq(e.children):Bu(e)?e.data:""}function dg(e){return Array.isArray(e)?e.map(dg).join(""):cs(e)&&!VS(e)?dg(e.children):Bu(e)?e.data:""}function rk(e){return Array.isArray(e)?e.map(rk).join(""):cs(e)&&(e.type===En.Tag||nC(e))?rk(e.children):Bu(e)?e.data:""}var vve=oe(()=>{Wo();yve();rC()});function aC(e){return cs(e)?e.children:[]}function $Rt(e){return e.parent||null}function Sve(e){let t=$Rt(e);if(t!=null)return aC(t);let r=[e],{prev:n,next:s}=e;for(;n!=null;)r.unshift(n),{prev:n}=n;for(;s!=null;)r.push(s),{next:s}=s;return r}function FYr(e,t){var r;return(r=e.attribs)===null||r===void 0?void 0:r[t]}function $Yr(e,t){return e.attribs!=null&&Object.prototype.hasOwnProperty.call(e.attribs,t)&&e.attribs[t]!=null}function qYr(e){return e.name}function Yq(e){let{next:t}=e;for(;t!==null&&!yt(t);)({next:t}=t);return t}function Qq(e){let{prev:t}=e;for(;t!==null&&!yt(t);)({prev:t}=t);return t}var qRt=oe(()=>{Wo()});function fg(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){let t=e.parent.children,r=t.lastIndexOf(e);r>=0&&t.splice(r,1)}e.next=null,e.prev=null,e.parent=null}function HYr(e,t){let r=t.prev=e.prev;r&&(r.next=t);let n=t.next=e.next;n&&(n.prev=t);let s=t.parent=e.parent;if(s){let i=s.children;i[i.lastIndexOf(e)]=t,e.parent=null}}function VYr(e,t){if(fg(t),t.next=null,t.parent=e,e.children.push(t)>1){let r=e.children[e.children.length-2];r.next=t,t.prev=r}else t.prev=null}function jYr(e,t){fg(t);let{parent:r}=e,n=e.next;if(t.next=n,t.prev=e,e.next=t,t.parent=r,n){if(n.prev=t,r){let s=r.children;s.splice(s.lastIndexOf(n),0,t)}}else r&&r.children.push(t)}function KYr(e,t){if(fg(t),t.parent=e,t.prev=null,e.children.unshift(t)!==1){let r=e.children[1];r.prev=t,t.next=r}else t.next=null}function GYr(e,t){fg(t);let{parent:r}=e;if(r){let n=r.children;n.splice(n.indexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=r,t.prev=e.prev,t.next=e,e.prev=t}var HRt=oe(()=>{});function oC(e,t,r=!0,n=1/0){return zq(e,Array.isArray(t)?t:[t],r,n)}function zq(e,t,r,n){let s=[],i=[Array.isArray(t)?t:[t]],a=[0];for(;;){if(a[0]>=i[0].length){if(a.length===1)return s;i.shift(),a.shift();continue}let o=i[0][a[0]++];if(e(o)&&(s.push(o),--n<=0))return s;r&&cs(o)&&o.children.length>0&&(a.unshift(0),i.unshift(o.children))}}function YYr(e,t){return t.find(e)}function Wq(e,t,r=!0){let n=Array.isArray(t)?t:[t];for(let s=0;s0){let a=Wq(e,i.children,!0);if(a)return a}}return null}function VRt(e,t){return(Array.isArray(t)?t:[t]).some(r=>yt(r)&&e(r)||cs(r)&&VRt(e,r.children))}function QYr(e,t){let r=[],n=[Array.isArray(t)?t:[t]],s=[0];for(;;){if(s[0]>=n[0].length){if(n.length===1)return r;n.shift(),s.shift();continue}let i=n[0][s[0]++];yt(i)&&e(i)&&r.push(i),cs(i)&&i.children.length>0&&(s.unshift(0),n.unshift(i.children))}}var Tve=oe(()=>{Wo()});function bve(e,t){return typeof t=="function"?r=>yt(r)&&t(r.attribs[e]):r=>yt(r)&&r.attribs[e]===t}function zYr(e,t){return r=>e(r)||t(r)}function jRt(e){let t=Object.keys(e).map(r=>{let n=e[r];return Object.prototype.hasOwnProperty.call(Xq,r)?Xq[r](n):bve(r,n)});return t.length===0?null:t.reduce(zYr)}function WYr(e,t){let r=jRt(e);return r?r(t):!0}function XYr(e,t,r,n=1/0){let s=jRt(e);return s?oC(s,t,r,n):[]}function JYr(e,t,r=!0){return Array.isArray(t)||(t=[t]),Wq(bve("id",e),t,r)}function jS(e,t,r=!0,n=1/0){return oC(Xq.tag_name(e),t,r,n)}function ZYr(e,t,r=!0,n=1/0){return oC(bve("class",e),t,r,n)}function eQr(e,t,r=!0,n=1/0){return oC(Xq.tag_type(e),t,r,n)}var Xq,Ive=oe(()=>{Wo();Tve();Xq={tag_name(e){return typeof e=="function"?t=>yt(t)&&e(t.name):e==="*"?yt:t=>yt(t)&&t.name===e},tag_type(e){return typeof e=="function"?t=>e(t.type):t=>t.type===e},tag_contains(e){return typeof e=="function"?t=>Bu(t)&&e(t.data):t=>Bu(t)&&t.data===e}}});function tQr(e){let t=e.length;for(;--t>=0;){let r=e[t];if(t>0&&e.lastIndexOf(r,t-1)>=0){e.splice(t,1);continue}for(let n=r.parent;n;n=n.parent)if(e.includes(n)){e.splice(t,1);break}}return e}function KRt(e,t){let r=[],n=[];if(e===t)return 0;let s=cs(e)?e:e.parent;for(;s;)r.unshift(s),s=s.parent;for(s=cs(t)?t:t.parent;s;)n.unshift(s),s=s.parent;let i=Math.min(r.length,n.length),a=0;for(;ac.indexOf(l)?o===t?Pd.FOLLOWING|Pd.CONTAINED_BY:Pd.FOLLOWING:o===e?Pd.PRECEDING|Pd.CONTAINS:Pd.PRECEDING}function jA(e){return e=e.filter((t,r,n)=>!n.includes(t,r+1)),e.sort((t,r)=>{let n=KRt(t,r);return n&Pd.PRECEDING?-1:n&Pd.FOLLOWING?1:0}),e}var Pd,GRt=oe(()=>{Wo();(function(e){e[e.DISCONNECTED=1]="DISCONNECTED",e[e.PRECEDING=2]="PRECEDING",e[e.FOLLOWING=4]="FOLLOWING",e[e.CONTAINS=8]="CONTAINS",e[e.CONTAINED_BY=16]="CONTAINED_BY"})(Pd||(Pd={}))});function Rve(e){let t=Jq(aQr,e);return t?t.name==="feed"?rQr(t):nQr(t):null}function rQr(e){var t;let r=e.children,n={type:"atom",items:jS("entry",r).map(a=>{var o;let{children:c}=a,u={media:YRt(c)};Uu(u,"id","id",c),Uu(u,"title","title",c);let l=(o=Jq("link",c))===null||o===void 0?void 0:o.attribs.href;l&&(u.link=l);let d=KA("summary",c)||KA("content",c);d&&(u.description=d);let f=KA("updated",c);return f&&(u.pubDate=new Date(f)),u})};Uu(n,"id","id",r),Uu(n,"title","title",r);let s=(t=Jq("link",r))===null||t===void 0?void 0:t.attribs.href;s&&(n.link=s),Uu(n,"description","subtitle",r);let i=KA("updated",r);return i&&(n.updated=new Date(i)),Uu(n,"author","email",r,!0),n}function nQr(e){var t,r;let n=(r=(t=Jq("channel",e.children))===null||t===void 0?void 0:t.children)!==null&&r!==void 0?r:[],s={type:e.name.substr(0,3),id:"",items:jS("item",e.children).map(a=>{let{children:o}=a,c={media:YRt(o)};Uu(c,"id","guid",o),Uu(c,"title","title",o),Uu(c,"link","link",o),Uu(c,"description","description",o);let u=KA("pubDate",o)||KA("dc:date",o);return u&&(c.pubDate=new Date(u)),c})};Uu(s,"title","title",n),Uu(s,"link","link",n),Uu(s,"description","description",n);let i=KA("lastBuildDate",n);return i&&(s.updated=new Date(i)),Uu(s,"author","managingEditor",n,!0),s}function YRt(e){return jS("media:content",e).map(t=>{let{attribs:r}=t,n={medium:r.medium,isDefault:!!r.isDefault};for(let s of sQr)r[s]&&(n[s]=r[s]);for(let s of iQr)r[s]&&(n[s]=parseInt(r[s],10));return r.expression&&(n.expression=r.expression),n})}function Jq(e,t){return jS(e,t,!0,1)[0]}function KA(e,t,r=!1){return dg(jS(e,t,r,1)).trim()}function Uu(e,t,r,n,s=!1){let i=KA(r,n,s);i&&(e[t]=i)}function aQr(e){return e==="rss"||e==="feed"||e==="rdf:RDF"}var sQr,iQr,QRt=oe(()=>{vve();Ive();sQr=["url","type","lang"],iQr=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"]});var GA={};Bt(GA,{DocumentPosition:()=>Pd,append:()=>jYr,appendChild:()=>VYr,compareDocumentPosition:()=>KRt,existsOne:()=>VRt,filter:()=>oC,find:()=>zq,findAll:()=>QYr,findOne:()=>Wq,findOneChild:()=>YYr,getAttributeValue:()=>FYr,getChildren:()=>aC,getElementById:()=>JYr,getElements:()=>XYr,getElementsByClassName:()=>ZYr,getElementsByTagName:()=>jS,getElementsByTagType:()=>eQr,getFeed:()=>Rve,getInnerHTML:()=>UYr,getName:()=>qYr,getOuterHTML:()=>FRt,getParent:()=>$Rt,getSiblings:()=>Sve,getText:()=>Gq,hasAttrib:()=>$Yr,hasChildren:()=>cs,innerText:()=>rk,isCDATA:()=>nC,isComment:()=>VS,isDocument:()=>Wf,isTag:()=>yt,isText:()=>Bu,nextElementSibling:()=>Yq,prepend:()=>GYr,prependChild:()=>KYr,prevElementSibling:()=>Qq,removeElement:()=>fg,removeSubsets:()=>tQr,replaceElement:()=>HYr,testElement:()=>WYr,textContent:()=>dg,uniqueSort:()=>jA});var Xf=oe(()=>{vve();qRt();HRt();Tve();Ive();GRt();QRt();Wo()});var QA={};Bt(QA,{contains:()=>Cve,html:()=>XRt,merge:()=>lQr,parseHTML:()=>cQr,root:()=>uQr,text:()=>YA,xml:()=>JRt});function WRt(e,t,r){return e?e(t??e._root.children,null,void 0,r).toString():""}function oQr(e,t){return!t&&typeof e=="object"&&e!=null&&!("length"in e)&&!("type"in e)}function XRt(e,t){let r=oQr(e)?(t=e,void 0):e,n={...YM,...this===null||this===void 0?void 0:this._options,...QM(t??{})};return WRt(this,r,n)}function JRt(e){let t={...this._options,xmlMode:!0};return WRt(this,e,t)}function YA(e){let t=e||(this?this.root():[]),r="";for(let n=0;n{Xf();ove()});function Rl(e){return e.cheerio!=null}function ZRt(e){return e.replace(/[_.-](\w|$)/g,(t,r)=>r.toUpperCase())}function eCt(e){return e.replace(/[A-Z]/g,"-$&").toLowerCase()}function ys(e,t){let r=e.length;for(let n=0;nJM(n,!0)):[JM(e,!0)],r=new Il(t);return t.forEach(n=>{n.parent=r}),t}function nk(e){let t=e.indexOf("<");if(t<0||t>e.length-3)return!1;let r=e.charCodeAt(t+1);return(r>=GS.LowerA&&r<=GS.LowerZ||r>=GS.UpperA&&r<=GS.UpperZ||r===GS.Exclamation)&&e.includes(">",t+2)}var GS,YS=oe(()=>{Wo();Wo();(function(e){e[e.LowerA=97]="LowerA",e[e.LowerZ=122]="LowerZ",e[e.UpperA=65]="UpperA",e[e.UpperZ=90]="UpperZ",e[e.Exclamation=33]="Exclamation"})(GS||(GS={}))});var Ove={};Bt(Ove,{addClass:()=>aCt,attr:()=>fQr,data:()=>pQr,hasClass:()=>_Qr,prop:()=>hQr,removeAttr:()=>gQr,removeClass:()=>oCt,toggleClass:()=>cCt,val:()=>mQr});function eH(e,t,r){var n;if(!(!e||!yt(e))){if((n=e.attribs)!==null&&n!==void 0||(e.attribs={}),!t)return e.attribs;if(cC.call(e.attribs,t))return!r&&Nve.test(t)?t:e.attribs[t];if(e.name==="option"&&t==="value")return YA(e.children);if(e.name==="input"&&(e.attribs.type==="radio"||e.attribs.type==="checkbox")&&t==="value")return"on"}}function uC(e,t,r){r===null?iCt(e,t):e.attribs[t]=`${r}`}function fQr(e,t){if(typeof e=="object"||t!==void 0){if(typeof t=="function"){if(typeof e!="string")throw new Error("Bad combination of arguments.");return ys(this,(r,n)=>{yt(r)&&uC(r,e,t.call(r,n,r.attribs[e]))})}return ys(this,r=>{yt(r)&&(typeof e=="object"?Object.keys(e).forEach(n=>{let s=e[n];uC(r,n,s)}):uC(r,e,t))})}return arguments.length>1?this:eH(this[0],e,this.options.xmlMode)}function rCt(e,t,r){return t in e?e[t]:!r&&Nve.test(t)?eH(e,t,!1)!==void 0:eH(e,t,r)}function wve(e,t,r,n){t in e?e[t]=r:uC(e,t,!n&&Nve.test(t)?r?"":null:`${r}`)}function hQr(e,t){var r;if(typeof e=="string"&&t===void 0){let n=this[0];if(!n||!yt(n))return;switch(e){case"style":{let s=this.css(),i=Object.keys(s);return i.forEach((a,o)=>{s[o]=a}),s.length=i.length,s}case"tagName":case"nodeName":return n.name.toUpperCase();case"href":case"src":{let s=(r=n.attribs)===null||r===void 0?void 0:r[e];return typeof URL<"u"&&(e==="href"&&(n.tagName==="a"||n.name==="link")||e==="src"&&(n.tagName==="img"||n.tagName==="iframe"||n.tagName==="audio"||n.tagName==="video"||n.tagName==="source"))&&s!==void 0&&this.options.baseURI?new URL(s,this.options.baseURI).href:s}case"innerText":return rk(n);case"textContent":return dg(n);case"outerHTML":return this.clone().wrap("").parent().html();case"innerHTML":return this.html();default:return rCt(n,e,this.options.xmlMode)}}if(typeof e=="object"||t!==void 0){if(typeof t=="function"){if(typeof e=="object")throw new Error("Bad combination of arguments.");return ys(this,(n,s)=>{yt(n)&&wve(n,e,t.call(n,s,rCt(n,e,this.options.xmlMode)),this.options.xmlMode)})}return ys(this,n=>{yt(n)&&(typeof e=="object"?Object.keys(e).forEach(s=>{let i=e[s];wve(n,s,i,this.options.xmlMode)}):wve(n,e,t,this.options.xmlMode))})}}function nCt(e,t,r){var n;let s=e;(n=s.data)!==null&&n!==void 0||(s.data={}),typeof t=="object"?Object.assign(s.data,t):typeof t=="string"&&r!==void 0&&(s.data[t]=r)}function sCt(e,t){let r,n,s;t==null?(r=Object.keys(e.attribs).filter(i=>i.startsWith(xve)),n=r.map(i=>ZRt(i.slice(xve.length)))):(r=[xve+eCt(t)],n=[t]);for(let i=0;i{yt(i)&&(typeof e=="object"?nCt(i,e):nCt(i,e,t))}),this):cC.call(s.data,e)?s.data[e]:sCt(s,e):sCt(s)}function mQr(e){let t=arguments.length===0,r=this[0];if(!r||!yt(r))return t?void 0:this;switch(r.name){case"textarea":return this.text(e);case"select":{let n=this.find("option:selected");if(!t){if(this.attr("multiple")==null&&typeof e=="object")return this;this.find("option").removeAttr("selected");let s=typeof e!="object"?[e]:e;for(let i=0;iYA(s.children)):n.attr("value")}case"input":case"option":return t?this.attr("value"):this.attr("value",e)}}function iCt(e,t){!e.attribs||!cC.call(e.attribs,t)||delete e.attribs[t]}function tH(e){return e?e.trim().split(sk):[]}function gQr(e){let t=tH(e);for(let r=0;r{yt(n)&&iCt(n,t[r])});return this}function _Qr(e){return this.toArray().some(t=>{let r=yt(t)&&t.attribs.class,n=-1;if(r&&e.length)for(;(n=r.indexOf(e,n+1))>-1;){let s=n+e.length;if((n===0||sk.test(r[n-1]))&&(s===r.length||sk.test(r[s])))return!0}return!1})}function aCt(e){if(typeof e=="function")return ys(this,(n,s)=>{if(yt(n)){let i=n.attribs.class||"";aCt.call([n],e.call(n,s,i))}});if(!e||typeof e!="string")return this;let t=e.split(sk),r=this.length;for(let n=0;n{yt(s)&&oCt.call([s],e.call(s,i,s.attribs.class||""))});let t=tH(e),r=t.length,n=arguments.length===0;return ys(this,s=>{if(yt(s))if(n)s.attribs.class="";else{let i=tH(s.attribs.class),a=!1;for(let o=0;o=0&&(i.splice(c,1),a=!0,o--)}a&&(s.attribs.class=i.join(" "))}})}function cCt(e,t){if(typeof e=="function")return ys(this,(a,o)=>{yt(a)&&cCt.call([a],e.call(a,o,a.attribs.class||"",t),t)});if(!e||typeof e!="string")return this;let r=e.split(sk),n=r.length,s=typeof t=="boolean"?t?1:-1:0,i=this.length;for(let a=0;a=0&&l<0?c.push(r[u]):s<=0&&l>=0&&c.splice(l,1)}o.attribs.class=c.join(" ")}return this}var cC,sk,xve,tCt,Nve,dQr,uCt=oe(()=>{KS();YS();Xf();cC=Object.prototype.hasOwnProperty,sk=/\s+/,xve="data-",tCt={null:null,true:!0,false:!1},Nve=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,dQr=/^{[^]*}$|^\[[^]*]$/});var rH=S(kh=>{"use strict";Object.defineProperty(kh,"__esModule",{value:!0});kh.AttributeAction=kh.IgnoreCaseMode=kh.SelectorType=void 0;var AQr;(function(e){e.Attribute="attribute",e.Pseudo="pseudo",e.PseudoElement="pseudo-element",e.Tag="tag",e.Universal="universal",e.Adjacent="adjacent",e.Child="child",e.Descendant="descendant",e.Parent="parent",e.Sibling="sibling",e.ColumnCombinator="column-combinator"})(AQr=kh.SelectorType||(kh.SelectorType={}));kh.IgnoreCaseMode={Unknown:null,QuirksMode:"quirks",IgnoreCase:!0,CaseSensitive:!1};var EQr;(function(e){e.Any="any",e.Element="element",e.End="end",e.Equals="equals",e.Exists="exists",e.Hyphen="hyphen",e.Not="not",e.Start="start"})(EQr=kh.AttributeAction||(kh.AttributeAction={}))});var pCt=S(lC=>{"use strict";Object.defineProperty(lC,"__esModule",{value:!0});lC.parse=lC.isTraversal=void 0;var $n=rH(),lCt=/^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/,yQr=/\\([\da-f]{1,6}\s?|(\s)|.)/gi,vQr=new Map([[126,$n.AttributeAction.Element],[94,$n.AttributeAction.Start],[36,$n.AttributeAction.End],[42,$n.AttributeAction.Any],[33,$n.AttributeAction.Not],[124,$n.AttributeAction.Hyphen]]),SQr=new Set(["has","not","matches","is","where","host","host-context"]);function fCt(e){switch(e.type){case $n.SelectorType.Adjacent:case $n.SelectorType.Child:case $n.SelectorType.Descendant:case $n.SelectorType.Parent:case $n.SelectorType.Sibling:case $n.SelectorType.ColumnCombinator:return!0;default:return!1}}lC.isTraversal=fCt;var TQr=new Set(["contains","icontains"]);function bQr(e,t,r){var n=parseInt(t,16)-65536;return n!==n||r?t:n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,n&1023|56320)}function ik(e){return e.replace(yQr,bQr)}function Dve(e){return e===39||e===34}function dCt(e){return e===32||e===9||e===10||e===12||e===13}function IQr(e){var t=[],r=hCt(t,"".concat(e),0);if(r0&&r0&&fCt(n[n.length-1]))throw new Error("Did not expect successive traversals.")}function u(L){if(n.length>0&&n[n.length-1].type===$n.SelectorType.Descendant){n[n.length-1].type=L;return}c(),n.push({type:L})}function l(L,U){n.push({type:$n.SelectorType.Attribute,name:L,action:U,value:s(1),namespace:null,ignoreCase:"quirks"})}function d(){if(n.length&&n[n.length-1].type===$n.SelectorType.Descendant&&n.pop(),n.length===0)throw new Error("Empty sub-selector");e.push(n)}if(i(0),t.length===r)return r;e:for(;r{"use strict";var nH=fC&&fC.__spreadArray||function(e,t,r){if(r||arguments.length===2)for(var n=0,s=t.length,i;n ":" > ";case _i.SelectorType.Parent:return t===0?"< ":" < ";case _i.SelectorType.Sibling:return t===0?"~ ":" ~ ";case _i.SelectorType.Adjacent:return t===0?"+ ":" + ";case _i.SelectorType.Descendant:return" ";case _i.SelectorType.ColumnCombinator:return t===0?"|| ":" || ";case _i.SelectorType.Universal:return e.namespace==="*"&&t+10?n+e.slice(r):e}});var hC=S(Cl=>{"use strict";var wQr=Cl&&Cl.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),NQr=Cl&&Cl.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&wQr(t,e,r)};Object.defineProperty(Cl,"__esModule",{value:!0});Cl.stringify=Cl.parse=Cl.isTraversal=void 0;NQr(rH(),Cl);var SCt=pCt();Object.defineProperty(Cl,"isTraversal",{enumerable:!0,get:function(){return SCt.isTraversal}});Object.defineProperty(Cl,"parse",{enumerable:!0,get:function(){return SCt.parse}});var OQr=vCt();Object.defineProperty(Cl,"stringify",{enumerable:!0,get:function(){return OQr.stringify}})});var zA=S((D0s,TCt)=>{TCt.exports={trueFunc:function(){return!0},falseFunc:function(){return!1}}});function ak(e){return!bCt.has(e.type)}function Pve(e){let t=e.map(ICt);for(let r=1;r=0&&n>=1)):e.type===Hc.SelectorType.Pseudo&&(e.data?e.name==="has"||e.name==="contains"?n=0:Array.isArray(e.data)?(n=Math.min(...e.data.map(s=>Math.min(...s.map(ICt)))),n<0&&(n=0)):n=2:n=3),n}var Hc,bCt,DQr,Lve=oe(()=>{Hc=we(hC(),1),bCt=new Map([[Hc.SelectorType.Universal,50],[Hc.SelectorType.Tag,30],[Hc.SelectorType.Attribute,1],[Hc.SelectorType.Pseudo,0]]);DQr=new Map([[Hc.AttributeAction.Exists,10],[Hc.AttributeAction.Equals,8],[Hc.AttributeAction.Not,7],[Hc.AttributeAction.Start,6],[Hc.AttributeAction.End,6],[Hc.AttributeAction.Any,5]])});function RCt(e){return e.replace(PQr,"\\$&")}function QS(e,t){return typeof e.ignoreCase=="boolean"?e.ignoreCase:e.ignoreCase==="quirks"?!!t.quirksMode:!t.xmlMode&&LQr.has(e.name)}var ok,PQr,LQr,CCt,xCt=oe(()=>{ok=we(zA(),1),PQr=/[-[\]{}()*+?.,\\^$|#\s]/g;LQr=new Set(["accept","accept-charset","align","alink","axis","bgcolor","charset","checked","clear","codetype","color","compact","declare","defer","dir","direction","disabled","enctype","face","frame","hreflang","http-equiv","lang","language","link","media","method","multiple","nohref","noresize","noshade","nowrap","readonly","rel","rev","rules","scope","scrolling","selected","shape","target","text","type","valign","valuetype","vlink"]);CCt={equals(e,t,r){let{adapter:n}=r,{name:s}=t,{value:i}=t;return QS(t,r)?(i=i.toLowerCase(),a=>{let o=n.getAttributeValue(a,s);return o!=null&&o.length===i.length&&o.toLowerCase()===i&&e(a)}):a=>n.getAttributeValue(a,s)===i&&e(a)},hyphen(e,t,r){let{adapter:n}=r,{name:s}=t,{value:i}=t,a=i.length;return QS(t,r)?(i=i.toLowerCase(),function(c){let u=n.getAttributeValue(c,s);return u!=null&&(u.length===a||u.charAt(a)==="-")&&u.substr(0,a).toLowerCase()===i&&e(c)}):function(c){let u=n.getAttributeValue(c,s);return u!=null&&(u.length===a||u.charAt(a)==="-")&&u.substr(0,a)===i&&e(c)}},element(e,t,r){let{adapter:n}=r,{name:s,value:i}=t;if(/\s/.test(i))return ok.default.falseFunc;let a=new RegExp(`(?:^|\\s)${RCt(i)}(?:$|\\s)`,QS(t,r)?"i":"");return function(c){let u=n.getAttributeValue(c,s);return u!=null&&u.length>=i.length&&a.test(u)&&e(c)}},exists(e,{name:t},{adapter:r}){return n=>r.hasAttrib(n,t)&&e(n)},start(e,t,r){let{adapter:n}=r,{name:s}=t,{value:i}=t,a=i.length;return a===0?ok.default.falseFunc:QS(t,r)?(i=i.toLowerCase(),o=>{let c=n.getAttributeValue(o,s);return c!=null&&c.length>=a&&c.substr(0,a).toLowerCase()===i&&e(o)}):o=>{var c;return!!(!((c=n.getAttributeValue(o,s))===null||c===void 0)&&c.startsWith(i))&&e(o)}},end(e,t,r){let{adapter:n}=r,{name:s}=t,{value:i}=t,a=-i.length;return a===0?ok.default.falseFunc:QS(t,r)?(i=i.toLowerCase(),o=>{var c;return((c=n.getAttributeValue(o,s))===null||c===void 0?void 0:c.substr(a).toLowerCase())===i&&e(o)}):o=>{var c;return!!(!((c=n.getAttributeValue(o,s))===null||c===void 0)&&c.endsWith(i))&&e(o)}},any(e,t,r){let{adapter:n}=r,{name:s,value:i}=t;if(i==="")return ok.default.falseFunc;if(QS(t,r)){let a=new RegExp(RCt(i),"i");return function(c){let u=n.getAttributeValue(c,s);return u!=null&&u.length>=i.length&&a.test(u)&&e(c)}}return a=>{var o;return!!(!((o=n.getAttributeValue(a,s))===null||o===void 0)&&o.includes(i))&&e(a)}},not(e,t,r){let{adapter:n}=r,{name:s}=t,{value:i}=t;return i===""?a=>!!n.getAttributeValue(a,s)&&e(a):QS(t,r)?(i=i.toLowerCase(),a=>{let o=n.getAttributeValue(a,s);return(o==null||o.length!==i.length||o.toLowerCase()!==i)&&e(a)}):a=>n.getAttributeValue(a,s)!==i&&e(a)}}});function NCt(e){if(e=e.trim().toLowerCase(),e==="even")return[2,0];if(e==="odd")return[2,1];let t=0,r=0,n=i(),s=a();if(t=wCt&&e.charCodeAt(t)<=kQr;)u=u*10+(e.charCodeAt(t)-wCt),t++;return t===c?null:u}function o(){for(;t{MQr=new Set([9,10,12,13,32]),wCt=48,kQr=57});function DCt(e){let t=e[0],r=e[1]-1;if(r<0&&t<=0)return Mve.default.falseFunc;if(t===-1)return i=>i<=r;if(t===0)return i=>i===r;if(t===1)return r<0?Mve.default.trueFunc:i=>i>=r;let n=Math.abs(t),s=(r%n+n)%n;return t>1?i=>i>=r&&i%n===s:i=>i<=r&&i%n===s}var Mve,PCt=oe(()=>{Mve=we(zA(),1)});function pC(e){return DCt(NCt(e))}var LCt=oe(()=>{OCt();PCt()});function sH(e,t){return r=>{let n=t.getParent(r);return n!=null&&t.isTag(n)&&e(r)}}function kve(e){return function(r,n,{adapter:s}){let i=s[e];return typeof i!="function"?Fu.default.falseFunc:function(o){return i(o)&&r(o)}}}var Fu,mC,MCt=oe(()=>{LCt();Fu=we(zA(),1);mC={contains(e,t,{adapter:r}){return function(s){return e(s)&&r.getText(s).includes(t)}},icontains(e,t,{adapter:r}){let n=t.toLowerCase();return function(i){return e(i)&&r.getText(i).toLowerCase().includes(n)}},"nth-child"(e,t,{adapter:r,equals:n}){let s=pC(t);return s===Fu.default.falseFunc?Fu.default.falseFunc:s===Fu.default.trueFunc?sH(e,r):function(a){let o=r.getSiblings(a),c=0;for(let u=0;u=0&&!n(a,o[u]);u--)r.isTag(o[u])&&c++;return s(c)&&e(a)}},"nth-of-type"(e,t,{adapter:r,equals:n}){let s=pC(t);return s===Fu.default.falseFunc?Fu.default.falseFunc:s===Fu.default.trueFunc?sH(e,r):function(a){let o=r.getSiblings(a),c=0;for(let u=0;u=0;u--){let l=o[u];if(n(a,l))break;r.isTag(l)&&r.getName(l)===r.getName(a)&&c++}return s(c)&&e(a)}},root(e,t,{adapter:r}){return n=>{let s=r.getParent(n);return(s==null||!r.isTag(s))&&e(n)}},scope(e,t,r,n){let{equals:s}=r;return!n||n.length===0?mC.root(e,t,r):n.length===1?i=>s(n[0],i)&&e(i):i=>n.includes(i)&&e(i)},hover:kve("isHovered"),visited:kve("isVisited"),active:kve("isActive")}});function Bve(e,t,r,n){if(r===null){if(e.length>n)throw new Error(`Pseudo-class :${t} requires an argument`)}else if(e.length===n)throw new Error(`Pseudo-class :${t} doesn't have any arguments`)}var ck,kCt=oe(()=>{ck={empty(e,{adapter:t}){return!t.getChildren(e).some(r=>t.isTag(r)||t.getText(r)!=="")},"first-child"(e,{adapter:t,equals:r}){if(t.prevElementSibling)return t.prevElementSibling(e)==null;let n=t.getSiblings(e).find(s=>t.isTag(s));return n!=null&&r(e,n)},"last-child"(e,{adapter:t,equals:r}){let n=t.getSiblings(e);for(let s=n.length-1;s>=0;s--){if(r(e,n[s]))return!0;if(t.isTag(n[s]))break}return!1},"first-of-type"(e,{adapter:t,equals:r}){let n=t.getSiblings(e),s=t.getName(e);for(let i=0;i=0;i--){let a=n[i];if(r(e,a))return!0;if(t.isTag(a)&&t.getName(a)===s)break}return!1},"only-of-type"(e,{adapter:t,equals:r}){let n=t.getName(e);return t.getSiblings(e).every(s=>r(e,s)||!t.isTag(s)||t.getName(s)!==n)},"only-child"(e,{adapter:t,equals:r}){return t.getSiblings(e).every(n=>r(e,n)||!t.isTag(n))}}});var iH,BCt=oe(()=>{iH={"any-link":":is(a, area, link)[href]",link:":any-link:not(:visited)",disabled:`:is( + :is(button, input, select, textarea, optgroup, option)[disabled], + optgroup[disabled] > option, + fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *) + )`,enabled:":not(:disabled)",checked:":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)",required:":is(input, select, textarea)[required]",optional:":is(input, select, textarea):not([required])",selected:"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",checkbox:"[type=checkbox]",file:"[type=file]",password:"[type=password]",radio:"[type=radio]",reset:"[type=reset]",image:"[type=image]",submit:"[type=submit]",parent:":not(:empty)",header:":is(h1, h2, h3, h4, h5, h6)",button:":is(button, input[type=button])",input:":is(input, textarea, select, button)",text:"input:is(:not([type!='']), [type=text])"}});function qve(e,t){return e===Ld.default.falseFunc?Ld.default.falseFunc:r=>t.isTag(r)&&e(r)}function Hve(e,t){let r=t.getSiblings(e);if(r.length<=1)return[];let n=r.indexOf(e);return n<0||n===r.length-1?[]:r.slice(n+1).filter(t.isTag)}function Fve(e){return{xmlMode:!!e.xmlMode,lowerCaseAttributeNames:!!e.lowerCaseAttributeNames,lowerCaseTags:!!e.lowerCaseTags,quirksMode:!!e.quirksMode,cacheResults:!!e.cacheResults,pseudos:e.pseudos,adapter:e.adapter,equals:e.equals}}var Ld,$ve,Uve,aH,oH=oe(()=>{Ld=we(zA(),1);Lve();$ve={};Uve=(e,t,r,n,s)=>{let i=s(t,Fve(r),n);return i===Ld.default.trueFunc?e:i===Ld.default.falseFunc?Ld.default.falseFunc:a=>i(a)&&e(a)},aH={is:Uve,matches:Uve,where:Uve,not(e,t,r,n,s){let i=s(t,Fve(r),n);return i===Ld.default.falseFunc?e:i===Ld.default.trueFunc?Ld.default.falseFunc:a=>!i(a)&&e(a)},has(e,t,r,n,s){let{adapter:i}=r,a=Fve(r);a.relativeSelector=!0;let o=t.some(l=>l.some(ak))?[$ve]:void 0,c=s(t,a,o);if(c===Ld.default.falseFunc)return Ld.default.falseFunc;let u=qve(c,i);if(o&&c!==Ld.default.trueFunc){let{shouldTestNextSiblings:l=!1}=c;return d=>{if(!e(d))return!1;o[0]=d;let f=i.getChildren(d),h=l?[...f,...Hve(d,i)]:f;return i.existsOne(u,h)}}return l=>e(l)&&i.existsOne(u,i.getChildren(l))}}});function FCt(e,t,r,n,s){var i;let{name:a,data:o}=t;if(Array.isArray(o)){if(!(a in aH))throw new Error(`Unknown pseudo-class :${a}(${o})`);return aH[a](e,o,r,n,s)}let c=(i=r.pseudos)===null||i===void 0?void 0:i[a],u=typeof c=="string"?c:iH[a];if(typeof u=="string"){if(o!=null)throw new Error(`Pseudo ${a} doesn't have any arguments`);let l=(0,UCt.parse)(u);return aH.is(e,l,r,n,s)}if(typeof c=="function")return Bve(c,a,o,1),l=>c(l,o)&&e(l);if(a in mC)return mC[a](e,o,r,n);if(a in ck){let l=ck[a];return Bve(l,a,o,2),d=>l(d,r,o)&&e(d)}throw new Error(`Unknown pseudo-class :${a}`)}var UCt,Vve=oe(()=>{UCt=we(hC(),1);MCt();kCt();BCt();oH()});function jve(e,t){let r=t.getParent(e);return r&&t.isTag(r)?r:null}function $Ct(e,t,r,n,s){let{adapter:i,equals:a}=r;switch(t.type){case Md.SelectorType.PseudoElement:throw new Error("Pseudo-elements are not supported by css-select");case Md.SelectorType.ColumnCombinator:throw new Error("Column combinators are not yet supported by css-select");case Md.SelectorType.Attribute:{if(t.namespace!=null)throw new Error("Namespaced attributes are not yet supported by css-select");return(!r.xmlMode||r.lowerCaseAttributeNames)&&(t.name=t.name.toLowerCase()),CCt[t.action](e,t,r)}case Md.SelectorType.Pseudo:return FCt(e,t,r,n,s);case Md.SelectorType.Tag:{if(t.namespace!=null)throw new Error("Namespaced tag names are not yet supported by css-select");let{name:o}=t;return(!r.xmlMode||r.lowerCaseTags)&&(o=o.toLowerCase()),function(u){return i.getName(u)===o&&e(u)}}case Md.SelectorType.Descendant:{if(r.cacheResults===!1||typeof WeakSet>"u")return function(u){let l=u;for(;l=jve(l,i);)if(e(l))return!0;return!1};let o=new WeakSet;return function(u){let l=u;for(;l=jve(l,i);)if(!o.has(l)){if(i.isTag(l)&&e(l))return!0;o.add(l)}return!1}}case"_flexibleDescendant":return function(c){let u=c;do if(e(u))return!0;while(u=jve(u,i));return!1};case Md.SelectorType.Parent:return function(c){return i.getChildren(c).some(u=>i.isTag(u)&&e(u))};case Md.SelectorType.Child:return function(c){let u=i.getParent(c);return u!=null&&i.isTag(u)&&e(u)};case Md.SelectorType.Sibling:return function(c){let u=i.getSiblings(c);for(let l=0;l{xCt();Vve();Md=we(hC(),1)});function HCt(e,t,r){let n=cH(e,t,r);return qve(n,t.adapter)}function cH(e,t,r){let n=typeof e=="string"?(0,Jf.parse)(e):e;return uH(n,t,r)}function VCt(e){return e.type===Jf.SelectorType.Pseudo&&(e.name==="scope"||Array.isArray(e.data)&&e.data.some(t=>t.some(VCt)))}function $Qr(e,{adapter:t},r){let n=!!r?.every(s=>{let i=t.isTag(s)&&t.getParent(s);return s===$ve||i&&t.isTag(i)});for(let s of e){if(!(s.length>0&&ak(s[0])&&s[0].type!==Jf.SelectorType.Descendant))if(n&&!s.some(VCt))s.unshift(BQr);else continue;s.unshift(FQr)}}function uH(e,t,r){var n;e.forEach(Pve),r=(n=t.context)!==null&&n!==void 0?n:r;let s=Array.isArray(r),i=r&&(Array.isArray(r)?r:[r]);if(t.relativeSelector!==!1)$Qr(e,t,i);else if(e.some(c=>c.length>0&&ak(c[0])))throw new Error("Relative selectors are not allowed when the `relativeSelector` option is disabled");let a=!1,o=e.map(c=>{if(c.length>=2){let[u,l]=c;u.type!==Jf.SelectorType.Pseudo||u.name!=="scope"||(s&&l.type===Jf.SelectorType.Descendant?c[1]=UQr:(l.type===Jf.SelectorType.Adjacent||l.type===Jf.SelectorType.Sibling)&&(a=!0))}return qQr(c,t,i)}).reduce(HQr,pg.default.falseFunc);return o.shouldTestNextSiblings=a,o}function qQr(e,t,r){var n;return e.reduce((s,i)=>s===pg.default.falseFunc?pg.default.falseFunc:$Ct(s,i,t,r,uH),(n=t.rootFunc)!==null&&n!==void 0?n:pg.default.trueFunc)}function HQr(e,t){return t===pg.default.falseFunc||e===pg.default.trueFunc?e:e===pg.default.falseFunc||t===pg.default.trueFunc?t:function(n){return e(n)||t(n)}}var Jf,pg,BQr,UQr,FQr,jCt=oe(()=>{Jf=we(hC(),1),pg=we(zA(),1);Lve();qCt();oH();BQr={type:Jf.SelectorType.Descendant},UQr={type:"_flexibleDescendant"},FQr={type:Jf.SelectorType.Pseudo,name:"scope",data:null}});function GCt(e){var t,r,n,s;let i=e??VQr;return(t=i.adapter)!==null&&t!==void 0||(i.adapter=GA),(r=i.equals)!==null&&r!==void 0||(i.equals=(s=(n=i.adapter)===null||n===void 0?void 0:n.equals)!==null&&s!==void 0?s:KCt),i}function Gve(e){return function(r,n,s){let i=GCt(n);return e(r,i,s)}}function YCt(e){return function(r,n,s){let i=GCt(s);typeof r!="function"&&(r=cH(r,i,n));let a=dH(n,i.adapter,r.shouldTestNextSiblings);return e(r,a,i)}}function dH(e,t,r=!1){return r&&(e=jQr(e,t)),Array.isArray(e)?t.removeSubsets(e):t.getChildren(e)}function jQr(e,t){let r=Array.isArray(e)?e.slice(0):[e],n=r.length;for(let s=0;s{Xf();Kve=we(zA(),1);jCt();oH();Vve();KCt=(e,t)=>e===t,VQr={adapter:GA,equals:KCt};ohs=Gve(HCt),chs=Gve(cH),lH=Gve(uH);uhs=YCt((e,t,r)=>e===Kve.default.falseFunc||!t||t.length===0?[]:r.adapter.findAll(e,t)),lhs=YCt((e,t,r)=>e===Kve.default.falseFunc||!t||t.length===0?null:r.adapter.findOne(e,t))});function gC(e){return e.type!=="pseudo"?!1:KQr.has(e.name)?!0:e.name==="not"&&Array.isArray(e.data)?e.data.some(t=>t.some(gC)):!1}function QCt(e,t,r){let n=t!=null?parseInt(t,10):NaN;switch(e){case"first":return 1;case"nth":case"eq":return isFinite(n)?n>=0?n+1:1/0:0;case"lt":return isFinite(n)?n>=0?Math.min(n,r):1/0:0;case"gt":return isFinite(n)?1/0:0;case"odd":return 2*r;case"even":return 2*r-1;case"last":case"not":return 1/0}}var KQr,Qve=oe(()=>{KQr=new Set(["first","last","eq","gt","nth","lt","even","odd"])});function zCt(e){for(;e.parent;)e=e.parent;return e}function fH(e){let t=[],r=[];for(let n of e)n.some(gC)?t.push(n):r.push(n);return[r,t]}var WCt=oe(()=>{Qve()});function Xve(e,t,r={}){return Jve([e],t,r)}function Jve(e,t,r={}){if(typeof t=="function")return e.some(t);let[n,s]=fH((0,$u.parse)(t));return n.length>0&&e.some(lH(n,r))||s.some(i=>JCt(i,e,r).length>0)}function QQr(e,t,r,n){let s=typeof r=="string"?parseInt(r,10):NaN;switch(e){case"first":case"lt":return t;case"last":return t.length>0?[t[t.length-1]]:t;case"nth":case"eq":return isFinite(s)&&Math.abs(s)a%2===0);case"odd":return t.filter((i,a)=>a%2===1);case"not":{let i=new Set(XCt(r,t,n));return t.filter(a=>!i.has(a))}}}function Zve(e,t,r={}){return XCt((0,$u.parse)(e),t,r)}function XCt(e,t,r){if(t.length===0)return[];let[n,s]=fH(e),i;if(n.length){let a=Wve(t,n,r);if(s.length===0)return a;a.length&&(i=new Set(a))}for(let a=0;ayt(l)&&!i.has(l)):t).length===0)break;let u=JCt(o,t,r);if(u.length)if(i)u.forEach(l=>i.add(l));else{if(a===s.length-1)return u;i=new Set(u)}}return typeof i<"u"?i.size===t.length?t:t.filter(a=>i.has(a)):[]}function JCt(e,t,r){var n;if(e.some($u.isTraversal)){let s=(n=r.root)!==null&&n!==void 0?n:zCt(t[0]),i={...r,context:t,relativeSelector:!1};return e.push(YQr),pH(s,e,i,!0,t.length)}return pH(t,e,r,!1,t.length)}function ZCt(e,t,r={},n=1/0){if(typeof e=="function")return ext(t,e);let[s,i]=fH((0,$u.parse)(e)),a=i.map(o=>pH(t,o,r,!0,n));return s.length&&a.push(zve(t,s,r,n)),a.length===0?[]:a.length===1?a[0]:jA(a.reduce((o,c)=>[...o,...c]))}function pH(e,t,r,n,s){let i=t.findIndex(gC),a=t.slice(0,i),o=t[i],c=t.length-1===i?s:1/0,u=QCt(o.name,o.data,c);if(u===0)return[];let d=(a.length===0&&!Array.isArray(e)?aC(e).filter(yt):a.length===0?(Array.isArray(e)?e:[e]).filter(yt):n||a.some($u.isTraversal)?zve(e,[a],r,u):Wve(e,[a],r)).slice(0,u),f=QQr(o.name,d,o.data,r);if(f.length===0||t.length===i+1)return f;let h=t.slice(i+1),p=h.some($u.isTraversal);if(p){if((0,$u.isTraversal)(h[0])){let{type:m}=h[0];(m===$u.SelectorType.Sibling||m===$u.SelectorType.Adjacent)&&(f=dH(f,GA,!0)),h.unshift(GQr)}r={...r,relativeSelector:!1,rootFunc:m=>f.includes(m)}}else r.rootFunc&&r.rootFunc!==hH.trueFunc&&(r={...r,rootFunc:hH.trueFunc});return h.some(gC)?pH(f,h,r,!1,s):p?zve(f,[h],r,s):Wve(f,[h],r)}function zve(e,t,r,n){let s=lH(t,r,e);return ext(e,s,n)}function ext(e,t,r=1/0){let n=dH(e,GA,t.shouldTestNextSiblings);return zq(s=>yt(s)&&t(s),n,!0,r)}function Wve(e,t,r){let n=(Array.isArray(e)?e:[e]).filter(yt);if(n.length===0)return n;let s=lH(t,r);return s===hH.trueFunc?n:n.filter(s)}var $u,hH,GQr,YQr,txt=oe(()=>{$u=we(hC(),1);Yve();Xf();hH=we(zA(),1);WCt();Qve();Yve();GQr={type:$u.SelectorType.Universal,namespace:null},YQr={type:$u.SelectorType.Pseudo,name:"scope",data:null}});var sSe={};Bt(sSe,{add:()=>Izr,addBack:()=>Rzr,children:()=>uzr,closest:()=>tzr,contents:()=>lzr,each:()=>dzr,end:()=>bzr,eq:()=>Ezr,filter:()=>hzr,filterArray:()=>nSe,find:()=>XQr,first:()=>_zr,get:()=>yzr,has:()=>gzr,index:()=>Szr,is:()=>pzr,last:()=>Azr,map:()=>fzr,next:()=>rzr,nextAll:()=>nzr,nextUntil:()=>szr,not:()=>mzr,parent:()=>JQr,parents:()=>ZQr,parentsUntil:()=>ezr,prev:()=>izr,prevAll:()=>azr,prevUntil:()=>ozr,siblings:()=>czr,slice:()=>Tzr,toArray:()=>vzr});function XQr(e){var t;if(!e)return this._make([]);let r=this.toArray();if(typeof e!="string"){let i=Rl(e)?e.toArray():[e];return this._make(i.filter(a=>r.some(o=>Cve(o,a))))}let n=WQr.test(e)?r:this.children().toArray(),s={context:r,root:(t=this._root)===null||t===void 0?void 0:t[0],xmlMode:this.options.xmlMode,lowerCaseTags:this.options.lowerCaseTags,lowerCaseAttributeNames:this.options.lowerCaseAttributeNames,pseudos:this.options.pseudos,quirksMode:this.options.quirksMode};return this._make(ZCt(e,n,s))}function eSe(e){return function(t,...r){return function(n){var s;let i=e(t,this);return n&&(i=nSe(i,n,this.options.xmlMode,(s=this._root)===null||s===void 0?void 0:s[0])),this._make(this.length>1&&i.length>1?r.reduce((a,o)=>o(a),i):i)}}}function rSe(e,...t){let r=null,n=eSe((s,i)=>{let a=[];return ys(i,o=>{for(let c;(c=s(o))&&!r?.(c,a.length);o=c)a.push(c)}),a})(e,...t);return function(s,i){r=typeof s=="string"?o=>Xve(o,s,this.options):s?lk(s):null;let a=n.call(this,i);return r=null,a}}function _C(e){return Array.from(new Set(e))}function tzr(e){var t;let r=[];if(!e)return this._make(r);let n={xmlMode:this.options.xmlMode,root:(t=this._root)===null||t===void 0?void 0:t[0]},s=typeof e=="string"?i=>Xve(i,e,n):lk(e);return ys(this,i=>{for(;i&&yt(i);){if(s(i,0)){r.includes(i)||r.push(i);break}i=i.parent}}),this._make(r)}function lzr(){let e=this.toArray().reduce((t,r)=>cs(r)?t.concat(r.children):t,[]);return this._make(e)}function dzr(e){let t=0,r=this.length;for(;te.call(t,r,t):Rl(e)?t=>Array.prototype.includes.call(e,t):function(t){return e===t}}function hzr(e){var t;return this._make(nSe(this.toArray(),e,this.options.xmlMode,(t=this._root)===null||t===void 0?void 0:t[0]))}function nSe(e,t,r,n){return typeof t=="string"?Zve(t,e,{xmlMode:r,root:n}):e.filter(lk(t))}function pzr(e){let t=this.toArray();return typeof e=="string"?Jve(t.filter(yt),e,this.options):e?t.some(lk(e)):!1}function mzr(e){let t=this.toArray();if(typeof e=="string"){let r=new Set(Zve(e,t,this.options));t=t.filter(n=>!r.has(n))}else{let r=lk(e);t=t.filter((n,s)=>!r(n,s))}return this._make(t)}function gzr(e){return this.filter(typeof e=="string"?`:has(${e})`:(t,r)=>this._make(r).find(e).length>0)}function _zr(){return this.length>1?this._make(this[0]):this}function Azr(){return this.length>0?this._make(this[this.length-1]):this}function Ezr(e){var t;return e=+e,e===0&&this.length<=1?this:(e<0&&(e=this.length+e),this._make((t=this[e])!==null&&t!==void 0?t:[]))}function yzr(e){return e==null?this.toArray():this[e<0?this.length+e:e]}function vzr(){return Array.prototype.slice.call(this)}function Szr(e){let t,r;return e==null?(t=this.parent().children(),r=this[0]):typeof e=="string"?(t=this._make(e),r=this[0]):(t=this,r=Rl(e)?e[0]:e),Array.prototype.indexOf.call(t,r)}function Tzr(e,t){return this._make(Array.prototype.slice.call(this,e,t))}function bzr(){var e;return(e=this.prevObject)!==null&&e!==void 0?e:this._make([])}function Izr(e,t){let r=this._make(e,t),n=jA([...this.get(),...r.get()]);return this._make(n)}function Rzr(e){return this.prevObject?this.add(e?this.prevObject.filter(e):this.prevObject):this}var WQr,uk,tSe,JQr,ZQr,ezr,rzr,nzr,szr,izr,azr,ozr,czr,uzr,rxt=oe(()=>{Wo();txt();YS();KS();Xf();WQr=/^\s*[~+]/;uk=eSe((e,t)=>{let r=[];for(let n=0;n{let r=[];for(let n=0;ne&&!Wf(e)?e:null,_C),ZQr=uk(e=>{let t=[];for(;e.parent&&!Wf(e.parent);)t.push(e.parent),e=e.parent;return t},jA,e=>e.reverse()),ezr=rSe(({parent:e})=>e&&!Wf(e)?e:null,jA,e=>e.reverse());rzr=tSe(e=>Yq(e)),nzr=uk(e=>{let t=[];for(;e.next;)e=e.next,yt(e)&&t.push(e);return t},_C),szr=rSe(e=>Yq(e),_C),izr=tSe(e=>Qq(e)),azr=uk(e=>{let t=[];for(;e.prev;)e=e.prev,yt(e)&&t.push(e);return t},_C),ozr=rSe(e=>Qq(e),_C),czr=uk(e=>Sve(e).filter(t=>yt(t)&&t!==e),jA),uzr=uk(e=>aC(e).filter(yt),_C)});function nxt(e){return function(r,n,s,i){if(typeof Buffer<"u"&&Buffer.isBuffer(r)&&(r=r.toString()),typeof r=="string")return e(r,n,s,i);let a=r;if(!Array.isArray(a)&&Wf(a))return a;let o=new Il([]);return WA(a,o),o}}function WA(e,t){let r=Array.isArray(e)?e:[e];t?t.children=r:t=null;for(let n=0;n{Xf();Wo()});var aSe={};Bt(aSe,{_makeDomArray:()=>Czr,after:()=>kzr,append:()=>Nzr,appendTo:()=>xzr,before:()=>Uzr,clone:()=>Gzr,empty:()=>Hzr,html:()=>Vzr,insertAfter:()=>Bzr,insertBefore:()=>Fzr,prepend:()=>Ozr,prependTo:()=>wzr,remove:()=>$zr,replaceWith:()=>qzr,text:()=>Kzr,toString:()=>jzr,unwrap:()=>Lzr,wrap:()=>Dzr,wrapAll:()=>Mzr,wrapInner:()=>Pzr});function Czr(e,t){return e==null?[]:Rl(e)?t?Zq(e.get()):e.get():Array.isArray(e)?e.reduce((r,n)=>r.concat(this._makeDomArray(n,t)),[]):typeof e=="string"?this._parse(e,this.options,!1,null).children:t?Zq([e]):[e]}function sxt(e){return function(...t){let r=this.length-1;return ys(this,(n,s)=>{if(!cs(n))return;let i=typeof t[0]=="function"?t[0].call(n,s,this._render(n.children)):t,a=this._makeDomArray(i,s=e.length?null:e[t+r];for(let l=0;l-1&&(f.children.splice(p,1),s===f&&t>p&&o[0]--)}d.parent=s,d.prev&&(d.prev.next=(i=d.next)!==null&&i!==void 0?i:null),d.next&&(d.next.prev=(a=d.prev)!==null&&a!==void 0?a:null),d.prev=l===0?c:n[l-1],d.next=l===n.length-1?u:n[l+1]}return c&&(c.next=n[0]),u&&(u.prev=n[n.length-1]),e.splice(...o)}function xzr(e){return(Rl(e)?e:this._make(e)).append(this),this}function wzr(e){return(Rl(e)?e:this._make(e)).prepend(this),this}function ixt(e){return function(t){let r=this.length-1,n=this.parents().last();for(let s=0;s{this._make(r).replaceWith(r.children)}),this}function Mzr(e){let t=this[0];if(t){let r=this._make(typeof e=="function"?e.call(t,0,t):e).insertBefore(t),n;for(let i=0;i{let{parent:s}=r;if(!cs(r)||!s)return;let i=s.children,a=i.indexOf(r);if(a<0)return;let o=typeof e[0]=="function"?e[0].call(r,n,this._render(r.children)):e,c=this._makeDomArray(o,n{let n=this.clone().toArray(),{parent:s}=r;if(!s)return;let i=s.children,a=i.indexOf(r);a<0||(XA(i,a+1,0,n,s),t.push(...n))}),this._make(t)}function Uzr(...e){let t=this.length-1;return ys(this,(r,n)=>{let{parent:s}=r;if(!cs(r)||!s)return;let i=s.children,a=i.indexOf(r);if(a<0)return;let o=typeof e[0]=="function"?e[0].call(r,n,this._render(r.children)):e,c=this._makeDomArray(o,n{let s=this.clone().toArray(),{parent:i}=n;if(!i)return;let a=i.children,o=a.indexOf(n);o<0||(XA(a,o,0,s,i),r.push(...s))}),this._make(r)}function $zr(e){let t=e?this.filter(e):this;return ys(t,r=>{fg(r),r.prev=r.next=r.parent=null}),this}function qzr(e){return ys(this,(t,r)=>{let{parent:n}=t;if(!n)return;let s=n.children,i=typeof e=="function"?e.call(t,r,t):e,a=this._makeDomArray(i);WA(a,null);let o=s.indexOf(t);XA(s,o,1,a,n),a.includes(t)||(t.parent=t.prev=t.next=null)})}function Hzr(){return ys(this,e=>{cs(e)&&(e.children.forEach(t=>{t.next=t.prev=t.parent=null}),e.children.length=0)})}function Vzr(e){if(e===void 0){let t=this[0];return!t||!cs(t)?null:this._render(t.children)}return ys(this,t=>{if(!cs(t))return;t.children.forEach(n=>{n.next=n.prev=n.parent=null});let r=Rl(e)?e.toArray():this._parse(`${e}`,this.options,!1,t).children;WA(r,t)})}function jzr(){return this._render(this)}function Kzr(e){return e===void 0?YA(this):typeof e=="function"?ys(this,(t,r)=>this._make(t).text(e.call(t,r,YA([t])))):ys(this,t=>{if(!cs(t))return;t.children.forEach(n=>{n.next=n.prev=n.parent=null});let r=new Mh(`${e}`);WA(r,t)})}function Gzr(){return this._make(Zq(this.get()))}var Nzr,Ozr,Dzr,Pzr,axt=oe(()=>{Wo();iSe();KS();YS();Xf();Nzr=sxt((e,t,r)=>{XA(t,t.length,0,e,r)}),Ozr=sxt((e,t,r)=>{XA(t,0,0,e,r)});Dzr=ixt((e,t,r)=>{let{parent:n}=e;if(!n)return;let s=n.children,i=s.indexOf(e);WA([e],t),XA(s,i,0,r,n)}),Pzr=ixt((e,t,r)=>{cs(e)&&(WA(e.children,t),WA(r,e))})});var oSe={};Bt(oSe,{css:()=>Yzr});function Yzr(e,t){if(e!=null&&t!=null||typeof e=="object"&&!Array.isArray(e))return ys(this,(r,n)=>{yt(r)&&oxt(r,e,t,n)});if(this.length!==0)return cxt(this[0],e)}function oxt(e,t,r,n){if(typeof t=="string"){let s=cxt(e),i=typeof r=="function"?r.call(e,n,s[t]):r;i===""?delete s[t]:i!=null&&(s[t]=i),e.attribs.style=Qzr(s)}else typeof t=="object"&&Object.keys(t).forEach((s,i)=>{oxt(e,s,t[s],i)})}function cxt(e,t){if(!e||!yt(e))return;let r=zzr(e.attribs.style);if(typeof t=="string")return r[t];if(Array.isArray(t)){let n={};return t.forEach(s=>{r[s]!=null&&(n[s]=r[s])}),n}return r}function Qzr(e){return Object.keys(e).reduce((t,r)=>`${t}${t?" ":""}${r}: ${e[r]};`,"")}function zzr(e){if(e=(e||"").trim(),!e)return{};let t={},r;for(let n of e.split(";")){let s=n.indexOf(":");if(s<1||s===n.length-1){let i=n.trimEnd();i.length>0&&r!==void 0&&(t[r]+=`;${i}`)}else r=n.slice(0,s).trim(),t[r]=n.slice(s+1).trim()}return t}var uxt=oe(()=>{YS()});var cSe={};Bt(cSe,{serialize:()=>Xzr,serializeArray:()=>Jzr});function Xzr(){return this.serializeArray().map(r=>`${encodeURIComponent(r.name)}=${encodeURIComponent(r.value)}`).join("&").replace(Wzr,"+")}function Jzr(){return this.map((e,t)=>{let r=this._make(t);return yt(t)&&t.name==="form"?r.find(lxt).toArray():r.filter(lxt).toArray()}).filter('[name!=""]:enabled:not(:submit, :button, :image, :reset, :file):matches([checked], :not(:checkbox, :radio))').map((e,t)=>{var r;let n=this._make(t),s=n.attr("name"),i=(r=n.val())!==null&&r!==void 0?r:"";return Array.isArray(i)?i.map(a=>({name:s,value:a.replace(dxt,`\r +`)})):{name:s,value:i.replace(dxt,`\r +`)}}).toArray()}var lxt,Wzr,dxt,fxt=oe(()=>{YS();lxt="input,select,textarea,keygen",Wzr=/%20/g,dxt=/\r?\n/g});var JA,hxt=oe(()=>{uCt();rxt();axt();uxt();fxt();JA=class{constructor(t,r,n){if(this.length=0,this.options=n,this._root=r,t){for(let s=0;s{ove();KS();hxt();YS()});function mH(e){return e>=55296&&e<=57343}function gxt(e){return e>=56320&&e<=57343}function _xt(e,t){return(e-55296)*1024+9216+t}function gH(e){return e!==32&&e!==10&&e!==13&&e!==9&&e!==12&&e>=1&&e<=31||e>=127&&e<=159}function _H(e){return e>=64976&&e<=65007||eWr.has(e)}var eWr,Rs,le,Vc,AH=oe(()=>{eWr=new Set([65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]),Rs="\uFFFD";(function(e){e[e.EOF=-1]="EOF",e[e.NULL=0]="NULL",e[e.TABULATION=9]="TABULATION",e[e.CARRIAGE_RETURN=13]="CARRIAGE_RETURN",e[e.LINE_FEED=10]="LINE_FEED",e[e.FORM_FEED=12]="FORM_FEED",e[e.SPACE=32]="SPACE",e[e.EXCLAMATION_MARK=33]="EXCLAMATION_MARK",e[e.QUOTATION_MARK=34]="QUOTATION_MARK",e[e.AMPERSAND=38]="AMPERSAND",e[e.APOSTROPHE=39]="APOSTROPHE",e[e.HYPHEN_MINUS=45]="HYPHEN_MINUS",e[e.SOLIDUS=47]="SOLIDUS",e[e.DIGIT_0=48]="DIGIT_0",e[e.DIGIT_9=57]="DIGIT_9",e[e.SEMICOLON=59]="SEMICOLON",e[e.LESS_THAN_SIGN=60]="LESS_THAN_SIGN",e[e.EQUALS_SIGN=61]="EQUALS_SIGN",e[e.GREATER_THAN_SIGN=62]="GREATER_THAN_SIGN",e[e.QUESTION_MARK=63]="QUESTION_MARK",e[e.LATIN_CAPITAL_A=65]="LATIN_CAPITAL_A",e[e.LATIN_CAPITAL_Z=90]="LATIN_CAPITAL_Z",e[e.RIGHT_SQUARE_BRACKET=93]="RIGHT_SQUARE_BRACKET",e[e.GRAVE_ACCENT=96]="GRAVE_ACCENT",e[e.LATIN_SMALL_A=97]="LATIN_SMALL_A",e[e.LATIN_SMALL_Z=122]="LATIN_SMALL_Z"})(le||(le={}));Vc={DASH_DASH:"--",CDATA_START:"[CDATA[",DOCTYPE:"doctype",SCRIPT:"script",PUBLIC:"public",SYSTEM:"system"}});var Pe,dk=oe(()=>{(function(e){e.controlCharacterInInputStream="control-character-in-input-stream",e.noncharacterInInputStream="noncharacter-in-input-stream",e.surrogateInInputStream="surrogate-in-input-stream",e.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",e.endTagWithAttributes="end-tag-with-attributes",e.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",e.unexpectedSolidusInTag="unexpected-solidus-in-tag",e.unexpectedNullCharacter="unexpected-null-character",e.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",e.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",e.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",e.missingEndTagName="missing-end-tag-name",e.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",e.unknownNamedCharacterReference="unknown-named-character-reference",e.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",e.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",e.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",e.eofBeforeTagName="eof-before-tag-name",e.eofInTag="eof-in-tag",e.missingAttributeValue="missing-attribute-value",e.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",e.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",e.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",e.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",e.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",e.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",e.missingDoctypePublicIdentifier="missing-doctype-public-identifier",e.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",e.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",e.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",e.cdataInHtmlContent="cdata-in-html-content",e.incorrectlyOpenedComment="incorrectly-opened-comment",e.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",e.eofInDoctype="eof-in-doctype",e.nestedComment="nested-comment",e.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",e.eofInComment="eof-in-comment",e.incorrectlyClosedComment="incorrectly-closed-comment",e.eofInCdata="eof-in-cdata",e.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",e.nullCharacterReference="null-character-reference",e.surrogateCharacterReference="surrogate-character-reference",e.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",e.controlCharacterReference="control-character-reference",e.noncharacterCharacterReference="noncharacter-character-reference",e.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",e.missingDoctypeName="missing-doctype-name",e.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",e.duplicateAttribute="duplicate-attribute",e.nonConformingDoctype="non-conforming-doctype",e.missingDoctype="missing-doctype",e.misplacedDoctype="misplaced-doctype",e.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",e.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",e.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",e.openElementsLeftAfterEof="open-elements-left-after-eof",e.abandonedHeadElementChild="abandoned-head-element-child",e.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",e.nestedNoscriptInHead="nested-noscript-in-head",e.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"})(Pe||(Pe={}))});var rWr,EH,Axt=oe(()=>{AH();dk();rWr=65536,EH=class{constructor(t){this.handler=t,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=rWr,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+ +(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(t,r){let{line:n,col:s,offset:i}=this,a=s+r,o=i+r;return{code:t,startLine:n,endLine:n,startCol:a,endCol:a,startOffset:o,endOffset:o}}_err(t){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(t,0)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(t){if(this.pos!==this.html.length-1){let r=this.html.charCodeAt(this.pos+1);if(gxt(r))return this.pos++,this._addGap(),_xt(t,r)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,le.EOF;return this._err(Pe.surrogateInInputStream),t}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(t,r){this.html.length>0?this.html+=t:this.html=t,this.endOfChunkHit=!1,this.lastChunkWritten=r}insertHtmlAtCurrentPos(t){this.html=this.html.substring(0,this.pos+1)+t+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(t,r){if(this.pos+t.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(r)return this.html.startsWith(t,this.pos);for(let n=0;n=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,le.EOF;let n=this.html.charCodeAt(r);return n===le.CARRIAGE_RETURN?le.LINE_FEED:n}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,le.EOF;let t=this.html.charCodeAt(this.pos);return t===le.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,le.LINE_FEED):t===le.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,mH(t)&&(t=this._processSurrogate(t)),this.handler.onParseError===null||t>31&&t<127||t===le.LINE_FEED||t===le.CARRIAGE_RETURN||t>159&&t<64976||this._checkForProblematicCharacters(t),t)}_checkForProblematicCharacters(t){gH(t)?this._err(Pe.controlCharacterInInputStream):_H(t)&&this._err(Pe.noncharacterInInputStream)}retreat(t){for(this.pos-=t;this.pos=0;r--)if(e.attrs[r].name===t)return e.attrs[r].value;return null}var an,vH=oe(()=>{(function(e){e[e.CHARACTER=0]="CHARACTER",e[e.NULL_CHARACTER=1]="NULL_CHARACTER",e[e.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER",e[e.START_TAG=3]="START_TAG",e[e.END_TAG=4]="END_TAG",e[e.COMMENT=5]="COMMENT",e[e.DOCTYPE=6]="DOCTYPE",e[e.EOF=7]="EOF",e[e.HIBERNATION=8]="HIBERNATION"})(an||(an={}))});var SH,uSe=oe(()=>{SH=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(e=>e.charCodeAt(0)))});var lSe=oe(()=>{});function fSe(e){var t;return e>=55296&&e<=57343||e>1114111?65533:(t=sWr.get(e))!==null&&t!==void 0?t:e}var dSe,sWr,Ext,hSe=oe(()=>{sWr=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),Ext=(dSe=String.fromCodePoint)!==null&&dSe!==void 0?dSe:function(e){let t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),t+=String.fromCharCode(e),t}});function pSe(e){return e>=Ba.ZERO&&e<=Ba.NINE}function oWr(e){return e>=Ba.UPPER_A&&e<=Ba.UPPER_F||e>=Ba.LOWER_A&&e<=Ba.LOWER_F}function cWr(e){return e>=Ba.UPPER_A&&e<=Ba.UPPER_Z||e>=Ba.LOWER_A&&e<=Ba.LOWER_Z||pSe(e)}function uWr(e){return e===Ba.EQUALS||cWr(e)}function lWr(e,t,r,n){let s=(t&ZA.BRANCH_LENGTH)>>7,i=t&ZA.JUMP_TABLE;if(s===0)return i!==0&&n===i?r:-1;if(i){let c=n-i;return c<0||c>=s?-1:e[r+c]-1}let a=r,o=a+s-1;for(;a<=o;){let c=a+o>>>1,u=e[c];if(un)o=c-1;else return e[c+s]}return-1}var Ba,aWr,ZA,ka,Bh,TH,yxt=oe(()=>{uSe();lSe();hSe();uSe();lSe();hSe();(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(Ba||(Ba={}));aWr=32;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(ZA||(ZA={}));(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(ka||(ka={}));(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(Bh||(Bh={}));TH=class{constructor(t,r,n){this.decodeTree=t,this.emitCodePoint=r,this.errors=n,this.state=ka.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=Bh.Strict}startEntity(t){this.decodeMode=t,this.state=ka.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(t,r){switch(this.state){case ka.EntityStart:return t.charCodeAt(r)===Ba.NUM?(this.state=ka.NumericStart,this.consumed+=1,this.stateNumericStart(t,r+1)):(this.state=ka.NamedEntity,this.stateNamedEntity(t,r));case ka.NumericStart:return this.stateNumericStart(t,r);case ka.NumericDecimal:return this.stateNumericDecimal(t,r);case ka.NumericHex:return this.stateNumericHex(t,r);case ka.NamedEntity:return this.stateNamedEntity(t,r)}}stateNumericStart(t,r){return r>=t.length?-1:(t.charCodeAt(r)|aWr)===Ba.LOWER_X?(this.state=ka.NumericHex,this.consumed+=1,this.stateNumericHex(t,r+1)):(this.state=ka.NumericDecimal,this.stateNumericDecimal(t,r))}addToNumericResult(t,r,n,s){if(r!==n){let i=n-r;this.result=this.result*Math.pow(s,i)+Number.parseInt(t.substr(r,i),s),this.consumed+=i}}stateNumericHex(t,r){let n=r;for(;r>14;for(;r>14,i!==0){if(a===Ba.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==Bh.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var t;let{result:r,decodeTree:n}=this,s=(n[r]&ZA.VALUE_LENGTH)>>14;return this.emitNamedEntityData(r,s,this.consumed),(t=this.errors)===null||t===void 0||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,r,n){let{decodeTree:s}=this;return this.emitCodePoint(r===1?s[t]&~ZA.VALUE_LENGTH:s[t+1],n),r===3&&this.emitCodePoint(s[t+2],n),n}end(){var t;switch(this.state){case ka.NamedEntity:return this.result!==0&&(this.decodeMode!==Bh.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case ka.NumericDecimal:return this.emitNumericEntity(0,2);case ka.NumericHex:return this.emitNumericEntity(0,3);case ka.NumericStart:return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case ka.EntityStart:return 0}}}});var bH={};Bt(bH,{ATTRS:()=>Uh,DOCUMENT_MODE:()=>Xo,NS:()=>qe,NUMBERED_HEADERS:()=>AC,SPECIAL_ELEMENTS:()=>mSe,TAG_ID:()=>N,TAG_NAMES:()=>Ie,getTagID:()=>eE,hasUnescapedText:()=>gSe});function eE(e){var t;return(t=dWr.get(e))!==null&&t!==void 0?t:N.UNKNOWN}function gSe(e,t){return fWr.has(e)||t&&e===Ie.NOSCRIPT}var qe,Uh,Xo,Ie,N,dWr,Xe,mSe,AC,fWr,mg=oe(()=>{(function(e){e.HTML="http://www.w3.org/1999/xhtml",e.MATHML="http://www.w3.org/1998/Math/MathML",e.SVG="http://www.w3.org/2000/svg",e.XLINK="http://www.w3.org/1999/xlink",e.XML="http://www.w3.org/XML/1998/namespace",e.XMLNS="http://www.w3.org/2000/xmlns/"})(qe||(qe={}));(function(e){e.TYPE="type",e.ACTION="action",e.ENCODING="encoding",e.PROMPT="prompt",e.NAME="name",e.COLOR="color",e.FACE="face",e.SIZE="size"})(Uh||(Uh={}));(function(e){e.NO_QUIRKS="no-quirks",e.QUIRKS="quirks",e.LIMITED_QUIRKS="limited-quirks"})(Xo||(Xo={}));(function(e){e.A="a",e.ADDRESS="address",e.ANNOTATION_XML="annotation-xml",e.APPLET="applet",e.AREA="area",e.ARTICLE="article",e.ASIDE="aside",e.B="b",e.BASE="base",e.BASEFONT="basefont",e.BGSOUND="bgsound",e.BIG="big",e.BLOCKQUOTE="blockquote",e.BODY="body",e.BR="br",e.BUTTON="button",e.CAPTION="caption",e.CENTER="center",e.CODE="code",e.COL="col",e.COLGROUP="colgroup",e.DD="dd",e.DESC="desc",e.DETAILS="details",e.DIALOG="dialog",e.DIR="dir",e.DIV="div",e.DL="dl",e.DT="dt",e.EM="em",e.EMBED="embed",e.FIELDSET="fieldset",e.FIGCAPTION="figcaption",e.FIGURE="figure",e.FONT="font",e.FOOTER="footer",e.FOREIGN_OBJECT="foreignObject",e.FORM="form",e.FRAME="frame",e.FRAMESET="frameset",e.H1="h1",e.H2="h2",e.H3="h3",e.H4="h4",e.H5="h5",e.H6="h6",e.HEAD="head",e.HEADER="header",e.HGROUP="hgroup",e.HR="hr",e.HTML="html",e.I="i",e.IMG="img",e.IMAGE="image",e.INPUT="input",e.IFRAME="iframe",e.KEYGEN="keygen",e.LABEL="label",e.LI="li",e.LINK="link",e.LISTING="listing",e.MAIN="main",e.MALIGNMARK="malignmark",e.MARQUEE="marquee",e.MATH="math",e.MENU="menu",e.META="meta",e.MGLYPH="mglyph",e.MI="mi",e.MO="mo",e.MN="mn",e.MS="ms",e.MTEXT="mtext",e.NAV="nav",e.NOBR="nobr",e.NOFRAMES="noframes",e.NOEMBED="noembed",e.NOSCRIPT="noscript",e.OBJECT="object",e.OL="ol",e.OPTGROUP="optgroup",e.OPTION="option",e.P="p",e.PARAM="param",e.PLAINTEXT="plaintext",e.PRE="pre",e.RB="rb",e.RP="rp",e.RT="rt",e.RTC="rtc",e.RUBY="ruby",e.S="s",e.SCRIPT="script",e.SEARCH="search",e.SECTION="section",e.SELECT="select",e.SOURCE="source",e.SMALL="small",e.SPAN="span",e.STRIKE="strike",e.STRONG="strong",e.STYLE="style",e.SUB="sub",e.SUMMARY="summary",e.SUP="sup",e.TABLE="table",e.TBODY="tbody",e.TEMPLATE="template",e.TEXTAREA="textarea",e.TFOOT="tfoot",e.TD="td",e.TH="th",e.THEAD="thead",e.TITLE="title",e.TR="tr",e.TRACK="track",e.TT="tt",e.U="u",e.UL="ul",e.SVG="svg",e.VAR="var",e.WBR="wbr",e.XMP="xmp"})(Ie||(Ie={}));(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.A=1]="A",e[e.ADDRESS=2]="ADDRESS",e[e.ANNOTATION_XML=3]="ANNOTATION_XML",e[e.APPLET=4]="APPLET",e[e.AREA=5]="AREA",e[e.ARTICLE=6]="ARTICLE",e[e.ASIDE=7]="ASIDE",e[e.B=8]="B",e[e.BASE=9]="BASE",e[e.BASEFONT=10]="BASEFONT",e[e.BGSOUND=11]="BGSOUND",e[e.BIG=12]="BIG",e[e.BLOCKQUOTE=13]="BLOCKQUOTE",e[e.BODY=14]="BODY",e[e.BR=15]="BR",e[e.BUTTON=16]="BUTTON",e[e.CAPTION=17]="CAPTION",e[e.CENTER=18]="CENTER",e[e.CODE=19]="CODE",e[e.COL=20]="COL",e[e.COLGROUP=21]="COLGROUP",e[e.DD=22]="DD",e[e.DESC=23]="DESC",e[e.DETAILS=24]="DETAILS",e[e.DIALOG=25]="DIALOG",e[e.DIR=26]="DIR",e[e.DIV=27]="DIV",e[e.DL=28]="DL",e[e.DT=29]="DT",e[e.EM=30]="EM",e[e.EMBED=31]="EMBED",e[e.FIELDSET=32]="FIELDSET",e[e.FIGCAPTION=33]="FIGCAPTION",e[e.FIGURE=34]="FIGURE",e[e.FONT=35]="FONT",e[e.FOOTER=36]="FOOTER",e[e.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",e[e.FORM=38]="FORM",e[e.FRAME=39]="FRAME",e[e.FRAMESET=40]="FRAMESET",e[e.H1=41]="H1",e[e.H2=42]="H2",e[e.H3=43]="H3",e[e.H4=44]="H4",e[e.H5=45]="H5",e[e.H6=46]="H6",e[e.HEAD=47]="HEAD",e[e.HEADER=48]="HEADER",e[e.HGROUP=49]="HGROUP",e[e.HR=50]="HR",e[e.HTML=51]="HTML",e[e.I=52]="I",e[e.IMG=53]="IMG",e[e.IMAGE=54]="IMAGE",e[e.INPUT=55]="INPUT",e[e.IFRAME=56]="IFRAME",e[e.KEYGEN=57]="KEYGEN",e[e.LABEL=58]="LABEL",e[e.LI=59]="LI",e[e.LINK=60]="LINK",e[e.LISTING=61]="LISTING",e[e.MAIN=62]="MAIN",e[e.MALIGNMARK=63]="MALIGNMARK",e[e.MARQUEE=64]="MARQUEE",e[e.MATH=65]="MATH",e[e.MENU=66]="MENU",e[e.META=67]="META",e[e.MGLYPH=68]="MGLYPH",e[e.MI=69]="MI",e[e.MO=70]="MO",e[e.MN=71]="MN",e[e.MS=72]="MS",e[e.MTEXT=73]="MTEXT",e[e.NAV=74]="NAV",e[e.NOBR=75]="NOBR",e[e.NOFRAMES=76]="NOFRAMES",e[e.NOEMBED=77]="NOEMBED",e[e.NOSCRIPT=78]="NOSCRIPT",e[e.OBJECT=79]="OBJECT",e[e.OL=80]="OL",e[e.OPTGROUP=81]="OPTGROUP",e[e.OPTION=82]="OPTION",e[e.P=83]="P",e[e.PARAM=84]="PARAM",e[e.PLAINTEXT=85]="PLAINTEXT",e[e.PRE=86]="PRE",e[e.RB=87]="RB",e[e.RP=88]="RP",e[e.RT=89]="RT",e[e.RTC=90]="RTC",e[e.RUBY=91]="RUBY",e[e.S=92]="S",e[e.SCRIPT=93]="SCRIPT",e[e.SEARCH=94]="SEARCH",e[e.SECTION=95]="SECTION",e[e.SELECT=96]="SELECT",e[e.SOURCE=97]="SOURCE",e[e.SMALL=98]="SMALL",e[e.SPAN=99]="SPAN",e[e.STRIKE=100]="STRIKE",e[e.STRONG=101]="STRONG",e[e.STYLE=102]="STYLE",e[e.SUB=103]="SUB",e[e.SUMMARY=104]="SUMMARY",e[e.SUP=105]="SUP",e[e.TABLE=106]="TABLE",e[e.TBODY=107]="TBODY",e[e.TEMPLATE=108]="TEMPLATE",e[e.TEXTAREA=109]="TEXTAREA",e[e.TFOOT=110]="TFOOT",e[e.TD=111]="TD",e[e.TH=112]="TH",e[e.THEAD=113]="THEAD",e[e.TITLE=114]="TITLE",e[e.TR=115]="TR",e[e.TRACK=116]="TRACK",e[e.TT=117]="TT",e[e.U=118]="U",e[e.UL=119]="UL",e[e.SVG=120]="SVG",e[e.VAR=121]="VAR",e[e.WBR=122]="WBR",e[e.XMP=123]="XMP"})(N||(N={}));dWr=new Map([[Ie.A,N.A],[Ie.ADDRESS,N.ADDRESS],[Ie.ANNOTATION_XML,N.ANNOTATION_XML],[Ie.APPLET,N.APPLET],[Ie.AREA,N.AREA],[Ie.ARTICLE,N.ARTICLE],[Ie.ASIDE,N.ASIDE],[Ie.B,N.B],[Ie.BASE,N.BASE],[Ie.BASEFONT,N.BASEFONT],[Ie.BGSOUND,N.BGSOUND],[Ie.BIG,N.BIG],[Ie.BLOCKQUOTE,N.BLOCKQUOTE],[Ie.BODY,N.BODY],[Ie.BR,N.BR],[Ie.BUTTON,N.BUTTON],[Ie.CAPTION,N.CAPTION],[Ie.CENTER,N.CENTER],[Ie.CODE,N.CODE],[Ie.COL,N.COL],[Ie.COLGROUP,N.COLGROUP],[Ie.DD,N.DD],[Ie.DESC,N.DESC],[Ie.DETAILS,N.DETAILS],[Ie.DIALOG,N.DIALOG],[Ie.DIR,N.DIR],[Ie.DIV,N.DIV],[Ie.DL,N.DL],[Ie.DT,N.DT],[Ie.EM,N.EM],[Ie.EMBED,N.EMBED],[Ie.FIELDSET,N.FIELDSET],[Ie.FIGCAPTION,N.FIGCAPTION],[Ie.FIGURE,N.FIGURE],[Ie.FONT,N.FONT],[Ie.FOOTER,N.FOOTER],[Ie.FOREIGN_OBJECT,N.FOREIGN_OBJECT],[Ie.FORM,N.FORM],[Ie.FRAME,N.FRAME],[Ie.FRAMESET,N.FRAMESET],[Ie.H1,N.H1],[Ie.H2,N.H2],[Ie.H3,N.H3],[Ie.H4,N.H4],[Ie.H5,N.H5],[Ie.H6,N.H6],[Ie.HEAD,N.HEAD],[Ie.HEADER,N.HEADER],[Ie.HGROUP,N.HGROUP],[Ie.HR,N.HR],[Ie.HTML,N.HTML],[Ie.I,N.I],[Ie.IMG,N.IMG],[Ie.IMAGE,N.IMAGE],[Ie.INPUT,N.INPUT],[Ie.IFRAME,N.IFRAME],[Ie.KEYGEN,N.KEYGEN],[Ie.LABEL,N.LABEL],[Ie.LI,N.LI],[Ie.LINK,N.LINK],[Ie.LISTING,N.LISTING],[Ie.MAIN,N.MAIN],[Ie.MALIGNMARK,N.MALIGNMARK],[Ie.MARQUEE,N.MARQUEE],[Ie.MATH,N.MATH],[Ie.MENU,N.MENU],[Ie.META,N.META],[Ie.MGLYPH,N.MGLYPH],[Ie.MI,N.MI],[Ie.MO,N.MO],[Ie.MN,N.MN],[Ie.MS,N.MS],[Ie.MTEXT,N.MTEXT],[Ie.NAV,N.NAV],[Ie.NOBR,N.NOBR],[Ie.NOFRAMES,N.NOFRAMES],[Ie.NOEMBED,N.NOEMBED],[Ie.NOSCRIPT,N.NOSCRIPT],[Ie.OBJECT,N.OBJECT],[Ie.OL,N.OL],[Ie.OPTGROUP,N.OPTGROUP],[Ie.OPTION,N.OPTION],[Ie.P,N.P],[Ie.PARAM,N.PARAM],[Ie.PLAINTEXT,N.PLAINTEXT],[Ie.PRE,N.PRE],[Ie.RB,N.RB],[Ie.RP,N.RP],[Ie.RT,N.RT],[Ie.RTC,N.RTC],[Ie.RUBY,N.RUBY],[Ie.S,N.S],[Ie.SCRIPT,N.SCRIPT],[Ie.SEARCH,N.SEARCH],[Ie.SECTION,N.SECTION],[Ie.SELECT,N.SELECT],[Ie.SOURCE,N.SOURCE],[Ie.SMALL,N.SMALL],[Ie.SPAN,N.SPAN],[Ie.STRIKE,N.STRIKE],[Ie.STRONG,N.STRONG],[Ie.STYLE,N.STYLE],[Ie.SUB,N.SUB],[Ie.SUMMARY,N.SUMMARY],[Ie.SUP,N.SUP],[Ie.TABLE,N.TABLE],[Ie.TBODY,N.TBODY],[Ie.TEMPLATE,N.TEMPLATE],[Ie.TEXTAREA,N.TEXTAREA],[Ie.TFOOT,N.TFOOT],[Ie.TD,N.TD],[Ie.TH,N.TH],[Ie.THEAD,N.THEAD],[Ie.TITLE,N.TITLE],[Ie.TR,N.TR],[Ie.TRACK,N.TRACK],[Ie.TT,N.TT],[Ie.U,N.U],[Ie.UL,N.UL],[Ie.SVG,N.SVG],[Ie.VAR,N.VAR],[Ie.WBR,N.WBR],[Ie.XMP,N.XMP]]);Xe=N,mSe={[qe.HTML]:new Set([Xe.ADDRESS,Xe.APPLET,Xe.AREA,Xe.ARTICLE,Xe.ASIDE,Xe.BASE,Xe.BASEFONT,Xe.BGSOUND,Xe.BLOCKQUOTE,Xe.BODY,Xe.BR,Xe.BUTTON,Xe.CAPTION,Xe.CENTER,Xe.COL,Xe.COLGROUP,Xe.DD,Xe.DETAILS,Xe.DIR,Xe.DIV,Xe.DL,Xe.DT,Xe.EMBED,Xe.FIELDSET,Xe.FIGCAPTION,Xe.FIGURE,Xe.FOOTER,Xe.FORM,Xe.FRAME,Xe.FRAMESET,Xe.H1,Xe.H2,Xe.H3,Xe.H4,Xe.H5,Xe.H6,Xe.HEAD,Xe.HEADER,Xe.HGROUP,Xe.HR,Xe.HTML,Xe.IFRAME,Xe.IMG,Xe.INPUT,Xe.LI,Xe.LINK,Xe.LISTING,Xe.MAIN,Xe.MARQUEE,Xe.MENU,Xe.META,Xe.NAV,Xe.NOEMBED,Xe.NOFRAMES,Xe.NOSCRIPT,Xe.OBJECT,Xe.OL,Xe.P,Xe.PARAM,Xe.PLAINTEXT,Xe.PRE,Xe.SCRIPT,Xe.SECTION,Xe.SELECT,Xe.SOURCE,Xe.STYLE,Xe.SUMMARY,Xe.TABLE,Xe.TBODY,Xe.TD,Xe.TEMPLATE,Xe.TEXTAREA,Xe.TFOOT,Xe.TH,Xe.THEAD,Xe.TITLE,Xe.TR,Xe.TRACK,Xe.UL,Xe.WBR,Xe.XMP]),[qe.MATHML]:new Set([Xe.MI,Xe.MO,Xe.MN,Xe.MS,Xe.MTEXT,Xe.ANNOTATION_XML]),[qe.SVG]:new Set([Xe.TITLE,Xe.FOREIGN_OBJECT,Xe.DESC]),[qe.XLINK]:new Set,[qe.XML]:new Set,[qe.XMLNS]:new Set},AC=new Set([Xe.H1,Xe.H2,Xe.H3,Xe.H4,Xe.H5,Xe.H6]),fWr=new Set([Ie.STYLE,Ie.SCRIPT,Ie.XMP,Ie.IFRAME,Ie.NOEMBED,Ie.NOFRAMES,Ie.PLAINTEXT])});function hWr(e){return e>=le.DIGIT_0&&e<=le.DIGIT_9}function fk(e){return e>=le.LATIN_CAPITAL_A&&e<=le.LATIN_CAPITAL_Z}function pWr(e){return e>=le.LATIN_SMALL_A&&e<=le.LATIN_SMALL_Z}function tE(e){return pWr(e)||fk(e)}function vxt(e){return tE(e)||hWr(e)}function IH(e){return e+32}function Txt(e){return e===le.SPACE||e===le.LINE_FEED||e===le.TABULATION||e===le.FORM_FEED}function Sxt(e){return Txt(e)||e===le.SOLIDUS||e===le.GREATER_THAN_SIGN}function mWr(e){return e===le.NULL?Pe.nullCharacterReference:e>1114111?Pe.characterReferenceOutsideUnicodeRange:mH(e)?Pe.surrogateCharacterReference:_H(e)?Pe.noncharacterCharacterReference:gH(e)||e===le.CARRIAGE_RETURN?Pe.controlCharacterReference:null}var he,Jo,hk,_Se=oe(()=>{Axt();AH();vH();yxt();dk();mg();(function(e){e[e.DATA=0]="DATA",e[e.RCDATA=1]="RCDATA",e[e.RAWTEXT=2]="RAWTEXT",e[e.SCRIPT_DATA=3]="SCRIPT_DATA",e[e.PLAINTEXT=4]="PLAINTEXT",e[e.TAG_OPEN=5]="TAG_OPEN",e[e.END_TAG_OPEN=6]="END_TAG_OPEN",e[e.TAG_NAME=7]="TAG_NAME",e[e.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",e[e.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",e[e.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",e[e.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",e[e.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",e[e.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",e[e.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",e[e.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",e[e.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",e[e.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",e[e.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",e[e.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",e[e.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",e[e.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",e[e.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",e[e.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",e[e.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",e[e.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",e[e.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",e[e.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",e[e.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",e[e.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",e[e.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",e[e.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",e[e.BOGUS_COMMENT=40]="BOGUS_COMMENT",e[e.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",e[e.COMMENT_START=42]="COMMENT_START",e[e.COMMENT_START_DASH=43]="COMMENT_START_DASH",e[e.COMMENT=44]="COMMENT",e[e.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",e[e.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",e[e.COMMENT_END_DASH=49]="COMMENT_END_DASH",e[e.COMMENT_END=50]="COMMENT_END",e[e.COMMENT_END_BANG=51]="COMMENT_END_BANG",e[e.DOCTYPE=52]="DOCTYPE",e[e.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",e[e.DOCTYPE_NAME=54]="DOCTYPE_NAME",e[e.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",e[e.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",e[e.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",e[e.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",e[e.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",e[e.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",e[e.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",e[e.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",e[e.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",e[e.CDATA_SECTION=68]="CDATA_SECTION",e[e.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",e[e.CDATA_SECTION_END=70]="CDATA_SECTION_END",e[e.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",e[e.AMBIGUOUS_AMPERSAND=72]="AMBIGUOUS_AMPERSAND"})(he||(he={}));Jo={DATA:he.DATA,RCDATA:he.RCDATA,RAWTEXT:he.RAWTEXT,SCRIPT_DATA:he.SCRIPT_DATA,PLAINTEXT:he.PLAINTEXT,CDATA_SECTION:he.CDATA_SECTION};hk=class{constructor(t,r){this.options=t,this.handler=r,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=he.DATA,this.returnState=he.DATA,this.entityStartPos=0,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new EH(r),this.currentLocation=this.getCurrentLocation(-1),this.entityDecoder=new TH(SH,(n,s)=>{this.preprocessor.pos=this.entityStartPos+s-1,this._flushCodePointConsumedAsCharacterReference(n)},r.onParseError?{missingSemicolonAfterCharacterReference:()=>{this._err(Pe.missingSemicolonAfterCharacterReference,1)},absenceOfDigitsInNumericCharacterReference:n=>{this._err(Pe.absenceOfDigitsInNumericCharacterReference,this.entityStartPos-this.preprocessor.pos+n)},validateNumericCharacterReference:n=>{let s=mWr(n);s&&this._err(s,1)}}:void 0)}_err(t,r=0){var n,s;(s=(n=this.handler).onParseError)===null||s===void 0||s.call(n,this.preprocessor.getError(t,r))}getCurrentLocation(t){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-t,startOffset:this.preprocessor.offset-t,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;let t=this._consume();this._ensureHibernation()||this._callState(t)}this.inLoop=!1}}pause(){this.paused=!0}resume(t){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,!this.inLoop&&(this._runParsingLoop(),this.paused||t?.())}write(t,r,n){this.active=!0,this.preprocessor.write(t,r),this._runParsingLoop(),this.paused||n?.()}insertHtmlAtCurrentPos(t){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(t),this._runParsingLoop()}_ensureHibernation(){return this.preprocessor.endOfChunkHit?(this.preprocessor.retreat(this.consumedAfterSnapshot),this.consumedAfterSnapshot=0,this.active=!1,!0):!1}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_advanceBy(t){this.consumedAfterSnapshot+=t;for(let r=0;r0&&this._err(Pe.endTagWithAttributes),t.selfClosing&&this._err(Pe.endTagWithTrailingSolidus),this.handler.onEndTag(t)),this.preprocessor.dropParsedChunk()}emitCurrentComment(t){this.prepareToken(t),this.handler.onComment(t),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(t){this.prepareToken(t),this.handler.onDoctype(t),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(t){if(this.currentCharacterToken){switch(t&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=t.startLine,this.currentCharacterToken.location.endCol=t.startCol,this.currentCharacterToken.location.endOffset=t.startOffset),this.currentCharacterToken.type){case an.CHARACTER:{this.handler.onCharacter(this.currentCharacterToken);break}case an.NULL_CHARACTER:{this.handler.onNullCharacter(this.currentCharacterToken);break}case an.WHITESPACE_CHARACTER:{this.handler.onWhitespaceCharacter(this.currentCharacterToken);break}}this.currentCharacterToken=null}}_emitEOFToken(){let t=this.getCurrentLocation(0);t&&(t.endLine=t.startLine,t.endCol=t.startCol,t.endOffset=t.startOffset),this._emitCurrentCharacterToken(t),this.handler.onEof({type:an.EOF,location:t}),this.active=!1}_appendCharToCurrentCharacterToken(t,r){if(this.currentCharacterToken)if(this.currentCharacterToken.type===t){this.currentCharacterToken.chars+=r;return}else this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk();this._createCharacterToken(t,r)}_emitCodePoint(t){let r=Txt(t)?an.WHITESPACE_CHARACTER:t===le.NULL?an.NULL_CHARACTER:an.CHARACTER;this._appendCharToCurrentCharacterToken(r,String.fromCodePoint(t))}_emitChars(t){this._appendCharToCurrentCharacterToken(an.CHARACTER,t)}_startCharacterReference(){this.returnState=this.state,this.state=he.CHARACTER_REFERENCE,this.entityStartPos=this.preprocessor.pos,this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute()?Bh.Attribute:Bh.Legacy)}_isCharacterReferenceInAttribute(){return this.returnState===he.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===he.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===he.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(t){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(t):this._emitCodePoint(t)}_callState(t){switch(this.state){case he.DATA:{this._stateData(t);break}case he.RCDATA:{this._stateRcdata(t);break}case he.RAWTEXT:{this._stateRawtext(t);break}case he.SCRIPT_DATA:{this._stateScriptData(t);break}case he.PLAINTEXT:{this._statePlaintext(t);break}case he.TAG_OPEN:{this._stateTagOpen(t);break}case he.END_TAG_OPEN:{this._stateEndTagOpen(t);break}case he.TAG_NAME:{this._stateTagName(t);break}case he.RCDATA_LESS_THAN_SIGN:{this._stateRcdataLessThanSign(t);break}case he.RCDATA_END_TAG_OPEN:{this._stateRcdataEndTagOpen(t);break}case he.RCDATA_END_TAG_NAME:{this._stateRcdataEndTagName(t);break}case he.RAWTEXT_LESS_THAN_SIGN:{this._stateRawtextLessThanSign(t);break}case he.RAWTEXT_END_TAG_OPEN:{this._stateRawtextEndTagOpen(t);break}case he.RAWTEXT_END_TAG_NAME:{this._stateRawtextEndTagName(t);break}case he.SCRIPT_DATA_LESS_THAN_SIGN:{this._stateScriptDataLessThanSign(t);break}case he.SCRIPT_DATA_END_TAG_OPEN:{this._stateScriptDataEndTagOpen(t);break}case he.SCRIPT_DATA_END_TAG_NAME:{this._stateScriptDataEndTagName(t);break}case he.SCRIPT_DATA_ESCAPE_START:{this._stateScriptDataEscapeStart(t);break}case he.SCRIPT_DATA_ESCAPE_START_DASH:{this._stateScriptDataEscapeStartDash(t);break}case he.SCRIPT_DATA_ESCAPED:{this._stateScriptDataEscaped(t);break}case he.SCRIPT_DATA_ESCAPED_DASH:{this._stateScriptDataEscapedDash(t);break}case he.SCRIPT_DATA_ESCAPED_DASH_DASH:{this._stateScriptDataEscapedDashDash(t);break}case he.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataEscapedLessThanSign(t);break}case he.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:{this._stateScriptDataEscapedEndTagOpen(t);break}case he.SCRIPT_DATA_ESCAPED_END_TAG_NAME:{this._stateScriptDataEscapedEndTagName(t);break}case he.SCRIPT_DATA_DOUBLE_ESCAPE_START:{this._stateScriptDataDoubleEscapeStart(t);break}case he.SCRIPT_DATA_DOUBLE_ESCAPED:{this._stateScriptDataDoubleEscaped(t);break}case he.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:{this._stateScriptDataDoubleEscapedDash(t);break}case he.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:{this._stateScriptDataDoubleEscapedDashDash(t);break}case he.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataDoubleEscapedLessThanSign(t);break}case he.SCRIPT_DATA_DOUBLE_ESCAPE_END:{this._stateScriptDataDoubleEscapeEnd(t);break}case he.BEFORE_ATTRIBUTE_NAME:{this._stateBeforeAttributeName(t);break}case he.ATTRIBUTE_NAME:{this._stateAttributeName(t);break}case he.AFTER_ATTRIBUTE_NAME:{this._stateAfterAttributeName(t);break}case he.BEFORE_ATTRIBUTE_VALUE:{this._stateBeforeAttributeValue(t);break}case he.ATTRIBUTE_VALUE_DOUBLE_QUOTED:{this._stateAttributeValueDoubleQuoted(t);break}case he.ATTRIBUTE_VALUE_SINGLE_QUOTED:{this._stateAttributeValueSingleQuoted(t);break}case he.ATTRIBUTE_VALUE_UNQUOTED:{this._stateAttributeValueUnquoted(t);break}case he.AFTER_ATTRIBUTE_VALUE_QUOTED:{this._stateAfterAttributeValueQuoted(t);break}case he.SELF_CLOSING_START_TAG:{this._stateSelfClosingStartTag(t);break}case he.BOGUS_COMMENT:{this._stateBogusComment(t);break}case he.MARKUP_DECLARATION_OPEN:{this._stateMarkupDeclarationOpen(t);break}case he.COMMENT_START:{this._stateCommentStart(t);break}case he.COMMENT_START_DASH:{this._stateCommentStartDash(t);break}case he.COMMENT:{this._stateComment(t);break}case he.COMMENT_LESS_THAN_SIGN:{this._stateCommentLessThanSign(t);break}case he.COMMENT_LESS_THAN_SIGN_BANG:{this._stateCommentLessThanSignBang(t);break}case he.COMMENT_LESS_THAN_SIGN_BANG_DASH:{this._stateCommentLessThanSignBangDash(t);break}case he.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:{this._stateCommentLessThanSignBangDashDash(t);break}case he.COMMENT_END_DASH:{this._stateCommentEndDash(t);break}case he.COMMENT_END:{this._stateCommentEnd(t);break}case he.COMMENT_END_BANG:{this._stateCommentEndBang(t);break}case he.DOCTYPE:{this._stateDoctype(t);break}case he.BEFORE_DOCTYPE_NAME:{this._stateBeforeDoctypeName(t);break}case he.DOCTYPE_NAME:{this._stateDoctypeName(t);break}case he.AFTER_DOCTYPE_NAME:{this._stateAfterDoctypeName(t);break}case he.AFTER_DOCTYPE_PUBLIC_KEYWORD:{this._stateAfterDoctypePublicKeyword(t);break}case he.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateBeforeDoctypePublicIdentifier(t);break}case he.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypePublicIdentifierDoubleQuoted(t);break}case he.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypePublicIdentifierSingleQuoted(t);break}case he.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateAfterDoctypePublicIdentifier(t);break}case he.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:{this._stateBetweenDoctypePublicAndSystemIdentifiers(t);break}case he.AFTER_DOCTYPE_SYSTEM_KEYWORD:{this._stateAfterDoctypeSystemKeyword(t);break}case he.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateBeforeDoctypeSystemIdentifier(t);break}case he.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypeSystemIdentifierDoubleQuoted(t);break}case he.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypeSystemIdentifierSingleQuoted(t);break}case he.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateAfterDoctypeSystemIdentifier(t);break}case he.BOGUS_DOCTYPE:{this._stateBogusDoctype(t);break}case he.CDATA_SECTION:{this._stateCdataSection(t);break}case he.CDATA_SECTION_BRACKET:{this._stateCdataSectionBracket(t);break}case he.CDATA_SECTION_END:{this._stateCdataSectionEnd(t);break}case he.CHARACTER_REFERENCE:{this._stateCharacterReference();break}case he.AMBIGUOUS_AMPERSAND:{this._stateAmbiguousAmpersand(t);break}default:throw new Error("Unknown state")}}_stateData(t){switch(t){case le.LESS_THAN_SIGN:{this.state=he.TAG_OPEN;break}case le.AMPERSAND:{this._startCharacterReference();break}case le.NULL:{this._err(Pe.unexpectedNullCharacter),this._emitCodePoint(t);break}case le.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRcdata(t){switch(t){case le.AMPERSAND:{this._startCharacterReference();break}case le.LESS_THAN_SIGN:{this.state=he.RCDATA_LESS_THAN_SIGN;break}case le.NULL:{this._err(Pe.unexpectedNullCharacter),this._emitChars(Rs);break}case le.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRawtext(t){switch(t){case le.LESS_THAN_SIGN:{this.state=he.RAWTEXT_LESS_THAN_SIGN;break}case le.NULL:{this._err(Pe.unexpectedNullCharacter),this._emitChars(Rs);break}case le.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateScriptData(t){switch(t){case le.LESS_THAN_SIGN:{this.state=he.SCRIPT_DATA_LESS_THAN_SIGN;break}case le.NULL:{this._err(Pe.unexpectedNullCharacter),this._emitChars(Rs);break}case le.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_statePlaintext(t){switch(t){case le.NULL:{this._err(Pe.unexpectedNullCharacter),this._emitChars(Rs);break}case le.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateTagOpen(t){if(tE(t))this._createStartTagToken(),this.state=he.TAG_NAME,this._stateTagName(t);else switch(t){case le.EXCLAMATION_MARK:{this.state=he.MARKUP_DECLARATION_OPEN;break}case le.SOLIDUS:{this.state=he.END_TAG_OPEN;break}case le.QUESTION_MARK:{this._err(Pe.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=he.BOGUS_COMMENT,this._stateBogusComment(t);break}case le.EOF:{this._err(Pe.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break}default:this._err(Pe.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=he.DATA,this._stateData(t)}}_stateEndTagOpen(t){if(tE(t))this._createEndTagToken(),this.state=he.TAG_NAME,this._stateTagName(t);else switch(t){case le.GREATER_THAN_SIGN:{this._err(Pe.missingEndTagName),this.state=he.DATA;break}case le.EOF:{this._err(Pe.eofBeforeTagName),this._emitChars("");break}case le.NULL:{this._err(Pe.unexpectedNullCharacter),this.state=he.SCRIPT_DATA_ESCAPED,this._emitChars(Rs);break}case le.EOF:{this._err(Pe.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=he.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedLessThanSign(t){t===le.SOLIDUS?this.state=he.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:tE(t)?(this._emitChars("<"),this.state=he.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(t)):(this._emitChars("<"),this.state=he.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagOpen(t){tE(t)?(this.state=he.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(t)):(this._emitChars("");break}case le.NULL:{this._err(Pe.unexpectedNullCharacter),this.state=he.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(Rs);break}case le.EOF:{this._err(Pe.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=he.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedLessThanSign(t){t===le.SOLIDUS?(this.state=he.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=he.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateScriptDataDoubleEscapeEnd(t){if(this.preprocessor.startsWith(Vc.SCRIPT,!1)&&Sxt(this.preprocessor.peek(Vc.SCRIPT.length))){this._emitCodePoint(t);for(let r=0;r{mg();Cxt=new Set([N.DD,N.DT,N.LI,N.OPTGROUP,N.OPTION,N.P,N.RB,N.RP,N.RT,N.RTC]),bxt=new Set([...Cxt,N.CAPTION,N.COLGROUP,N.TBODY,N.TD,N.TFOOT,N.TH,N.THEAD,N.TR]),RH=new Set([N.APPLET,N.CAPTION,N.HTML,N.MARQUEE,N.OBJECT,N.TABLE,N.TD,N.TEMPLATE,N.TH]),gWr=new Set([...RH,N.OL,N.UL]),_Wr=new Set([...RH,N.BUTTON]),Ixt=new Set([N.ANNOTATION_XML,N.MI,N.MN,N.MO,N.MS,N.MTEXT]),Rxt=new Set([N.DESC,N.FOREIGN_OBJECT,N.TITLE]),AWr=new Set([N.TR,N.TEMPLATE,N.HTML]),EWr=new Set([N.TBODY,N.TFOOT,N.THEAD,N.TEMPLATE,N.HTML]),yWr=new Set([N.TABLE,N.TEMPLATE,N.HTML]),vWr=new Set([N.TD,N.TH]),CH=class{get currentTmplContentOrNode(){return this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):this.current}constructor(t,r,n){this.treeAdapter=r,this.handler=n,this.items=[],this.tagIDs=[],this.stackTop=-1,this.tmplCount=0,this.currentTagId=N.UNKNOWN,this.current=t}_indexOf(t){return this.items.lastIndexOf(t,this.stackTop)}_isInTemplate(){return this.currentTagId===N.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===qe.HTML}_updateCurrentElement(){this.current=this.items[this.stackTop],this.currentTagId=this.tagIDs[this.stackTop]}push(t,r){this.stackTop++,this.items[this.stackTop]=t,this.current=t,this.tagIDs[this.stackTop]=r,this.currentTagId=r,this._isInTemplate()&&this.tmplCount++,this.handler.onItemPush(t,r,!0)}pop(){let t=this.current;this.tmplCount>0&&this._isInTemplate()&&this.tmplCount--,this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,!0)}replace(t,r){let n=this._indexOf(t);this.items[n]=r,n===this.stackTop&&(this.current=r)}insertAfter(t,r,n){let s=this._indexOf(t)+1;this.items.splice(s,0,r),this.tagIDs.splice(s,0,n),this.stackTop++,s===this.stackTop&&this._updateCurrentElement(),this.current&&this.currentTagId!==void 0&&this.handler.onItemPush(this.current,this.currentTagId,s===this.stackTop)}popUntilTagNamePopped(t){let r=this.stackTop+1;do r=this.tagIDs.lastIndexOf(t,r-1);while(r>0&&this.treeAdapter.getNamespaceURI(this.items[r])!==qe.HTML);this.shortenToLength(Math.max(r,0))}shortenToLength(t){for(;this.stackTop>=t;){let r=this.current;this.tmplCount>0&&this._isInTemplate()&&(this.tmplCount-=1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(r,this.stackTop=0;n--)if(t.has(this.tagIDs[n])&&this.treeAdapter.getNamespaceURI(this.items[n])===r)return n;return-1}clearBackTo(t,r){let n=this._indexOfTagNames(t,r);this.shortenToLength(n+1)}clearBackToTableContext(){this.clearBackTo(yWr,qe.HTML)}clearBackToTableBodyContext(){this.clearBackTo(EWr,qe.HTML)}clearBackToTableRowContext(){this.clearBackTo(AWr,qe.HTML)}remove(t){let r=this._indexOf(t);r>=0&&(r===this.stackTop?this.pop():(this.items.splice(r,1),this.tagIDs.splice(r,1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,!1)))}tryPeekProperlyNestedBodyElement(){return this.stackTop>=1&&this.tagIDs[1]===N.BODY?this.items[1]:null}contains(t){return this._indexOf(t)>-1}getCommonAncestor(t){let r=this._indexOf(t)-1;return r>=0?this.items[r]:null}isRootHtmlElementCurrent(){return this.stackTop===0&&this.tagIDs[0]===N.HTML}hasInDynamicScope(t,r){for(let n=this.stackTop;n>=0;n--){let s=this.tagIDs[n];switch(this.treeAdapter.getNamespaceURI(this.items[n])){case qe.HTML:{if(s===t)return!0;if(r.has(s))return!1;break}case qe.SVG:{if(Rxt.has(s))return!1;break}case qe.MATHML:{if(Ixt.has(s))return!1;break}}}return!0}hasInScope(t){return this.hasInDynamicScope(t,RH)}hasInListItemScope(t){return this.hasInDynamicScope(t,gWr)}hasInButtonScope(t){return this.hasInDynamicScope(t,_Wr)}hasNumberedHeaderInScope(){for(let t=this.stackTop;t>=0;t--){let r=this.tagIDs[t];switch(this.treeAdapter.getNamespaceURI(this.items[t])){case qe.HTML:{if(AC.has(r))return!0;if(RH.has(r))return!1;break}case qe.SVG:{if(Rxt.has(r))return!1;break}case qe.MATHML:{if(Ixt.has(r))return!1;break}}}return!0}hasInTableScope(t){for(let r=this.stackTop;r>=0;r--)if(this.treeAdapter.getNamespaceURI(this.items[r])===qe.HTML)switch(this.tagIDs[r]){case t:return!0;case N.TABLE:case N.HTML:return!1}return!0}hasTableBodyContextInTableScope(){for(let t=this.stackTop;t>=0;t--)if(this.treeAdapter.getNamespaceURI(this.items[t])===qe.HTML)switch(this.tagIDs[t]){case N.TBODY:case N.THEAD:case N.TFOOT:return!0;case N.TABLE:case N.HTML:return!1}return!0}hasInSelectScope(t){for(let r=this.stackTop;r>=0;r--)if(this.treeAdapter.getNamespaceURI(this.items[r])===qe.HTML)switch(this.tagIDs[r]){case t:return!0;case N.OPTION:case N.OPTGROUP:break;default:return!1}return!0}generateImpliedEndTags(){for(;this.currentTagId!==void 0&&Cxt.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;this.currentTagId!==void 0&&bxt.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(t){for(;this.currentTagId!==void 0&&this.currentTagId!==t&&bxt.has(this.currentTagId);)this.pop()}}});var Zf,wxt,xH,Nxt=oe(()=>{(function(e){e[e.Marker=0]="Marker",e[e.Element=1]="Element"})(Zf||(Zf={}));wxt={type:Zf.Marker},xH=class{constructor(t){this.treeAdapter=t,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(t,r){let n=[],s=r.length,i=this.treeAdapter.getTagName(t),a=this.treeAdapter.getNamespaceURI(t);for(let o=0;o[a.name,a.value])),i=0;for(let a=0;as.get(c.name)===c.value)&&(i+=1,i>=3&&this.entries.splice(o.idx,1))}}insertMarker(){this.entries.unshift(wxt)}pushElement(t,r){this._ensureNoahArkCondition(t),this.entries.unshift({type:Zf.Element,element:t,token:r})}insertElementAfterBookmark(t,r){let n=this.entries.indexOf(this.bookmark);this.entries.splice(n,0,{type:Zf.Element,element:t,token:r})}removeEntry(t){let r=this.entries.indexOf(t);r!==-1&&this.entries.splice(r,1)}clearToLastMarker(){let t=this.entries.indexOf(wxt);t===-1?this.entries.length=0:this.entries.splice(0,t+1)}getElementEntryInScopeWithTagName(t){let r=this.entries.find(n=>n.type===Zf.Marker||this.treeAdapter.getTagName(n.element)===t);return r&&r.type===Zf.Element?r:null}getElementEntry(t){return this.entries.find(r=>r.type===Zf.Element&&r.element===t)}}});var kd,wH=oe(()=>{mg();kd={createDocument(){return{nodeName:"#document",mode:Xo.NO_QUIRKS,childNodes:[]}},createDocumentFragment(){return{nodeName:"#document-fragment",childNodes:[]}},createElement(e,t,r){return{nodeName:e,tagName:e,attrs:r,namespaceURI:t,childNodes:[],parentNode:null}},createCommentNode(e){return{nodeName:"#comment",data:e,parentNode:null}},createTextNode(e){return{nodeName:"#text",value:e,parentNode:null}},appendChild(e,t){e.childNodes.push(t),t.parentNode=e},insertBefore(e,t,r){let n=e.childNodes.indexOf(r);e.childNodes.splice(n,0,t),t.parentNode=e},setTemplateContent(e,t){e.content=t},getTemplateContent(e){return e.content},setDocumentType(e,t,r,n){let s=e.childNodes.find(i=>i.nodeName==="#documentType");if(s)s.name=t,s.publicId=r,s.systemId=n;else{let i={nodeName:"#documentType",name:t,publicId:r,systemId:n,parentNode:null};kd.appendChild(e,i)}},setDocumentMode(e,t){e.mode=t},getDocumentMode(e){return e.mode},detachNode(e){if(e.parentNode){let t=e.parentNode.childNodes.indexOf(e);e.parentNode.childNodes.splice(t,1),e.parentNode=null}},insertText(e,t){if(e.childNodes.length>0){let r=e.childNodes[e.childNodes.length-1];if(kd.isTextNode(r)){r.value+=t;return}}kd.appendChild(e,kd.createTextNode(t))},insertTextBefore(e,t,r){let n=e.childNodes[e.childNodes.indexOf(r)-1];n&&kd.isTextNode(n)?n.value+=t:kd.insertBefore(e,kd.createTextNode(t),r)},adoptAttributes(e,t){let r=new Set(e.attrs.map(n=>n.name));for(let n=0;ne.startsWith(r))}function Mxt(e){return e.name===Dxt&&e.publicId===null&&(e.systemId===null||e.systemId===SWr)}function kxt(e){if(e.name!==Dxt)return Xo.QUIRKS;let{systemId:t}=e;if(t&&t.toLowerCase()===TWr)return Xo.QUIRKS;let{publicId:r}=e;if(r!==null){if(r=r.toLowerCase(),IWr.has(r))return Xo.QUIRKS;let n=t===null?bWr:Pxt;if(Oxt(r,n))return Xo.QUIRKS;if(n=t===null?Lxt:RWr,Oxt(r,n))return Xo.LIMITED_QUIRKS}return Xo.NO_QUIRKS}var Dxt,SWr,TWr,Pxt,bWr,IWr,Lxt,RWr,Bxt=oe(()=>{mg();Dxt="html",SWr="about:legacy-compat",TWr="http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd",Pxt=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],bWr=[...Pxt,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"],IWr=new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]),Lxt=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],RWr=[...Lxt,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]});function Fxt(e){let t=e.tagID;return t===N.FONT&&e.attrs.some(({name:n})=>n===Uh.COLOR||n===Uh.SIZE||n===Uh.FACE)||PWr.has(t)}function ASe(e){for(let t=0;t{mg();Uxt={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"},xWr="definitionurl",wWr="definitionURL",NWr=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(e=>[e.toLowerCase(),e])),OWr=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:qe.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:qe.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:qe.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:qe.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:qe.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:qe.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:qe.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:qe.XML}],["xml:space",{prefix:"xml",name:"space",namespace:qe.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:qe.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:qe.XMLNS}]]),DWr=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(e=>[e.toLowerCase(),e])),PWr=new Set([N.B,N.BIG,N.BLOCKQUOTE,N.BODY,N.BR,N.CENTER,N.CODE,N.DD,N.DIV,N.DL,N.DT,N.EM,N.EMBED,N.H1,N.H2,N.H3,N.H4,N.H5,N.H6,N.HEAD,N.HR,N.I,N.IMG,N.LI,N.LISTING,N.MENU,N.META,N.NOBR,N.OL,N.P,N.PRE,N.RUBY,N.S,N.SMALL,N.SPAN,N.STRONG,N.STRIKE,N.SUB,N.SUP,N.TABLE,N.TT,N.U,N.UL,N.VAR])});function $Wr(e,t){let r=e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName);return r?e.openElements.contains(r.element)?e.openElements.hasInScope(t.tagID)||(r=null):(e.activeFormattingElements.removeEntry(r),r=null):Xxt(e,t),r}function qWr(e,t){let r=null,n=e.openElements.stackTop;for(;n>=0;n--){let s=e.openElements.items[n];if(s===t.element)break;e._isSpecialElement(s,e.openElements.tagIDs[n])&&(r=s)}return r||(e.openElements.shortenToLength(Math.max(n,0)),e.activeFormattingElements.removeEntry(t)),r}function HWr(e,t,r){let n=t,s=e.openElements.getCommonAncestor(t);for(let i=0,a=s;a!==r;i++,a=s){s=e.openElements.getCommonAncestor(a);let o=e.activeFormattingElements.getElementEntry(a),c=o&&i>=UWr;!o||c?(c&&e.activeFormattingElements.removeEntry(o),e.openElements.remove(a)):(a=VWr(e,o),n===t&&(e.activeFormattingElements.bookmark=o),e.treeAdapter.detachNode(n),e.treeAdapter.appendChild(a,n),n=a)}return n}function VWr(e,t){let r=e.treeAdapter.getNamespaceURI(t.element),n=e.treeAdapter.createElement(t.token.tagName,r,t.token.attrs);return e.openElements.replace(t.element,n),t.element=n,n}function jWr(e,t,r){let n=e.treeAdapter.getTagName(t),s=eE(n);if(e._isElementCausesFosterParenting(s))e._fosterParentElement(r);else{let i=e.treeAdapter.getNamespaceURI(t);s===N.TEMPLATE&&i===qe.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,r)}}function KWr(e,t,r){let n=e.treeAdapter.getNamespaceURI(r.element),{token:s}=r,i=e.treeAdapter.createElement(s.tagName,n,s.attrs);e._adoptNodes(t,i),e.treeAdapter.appendChild(t,i),e.activeFormattingElements.insertElementAfterBookmark(i,s),e.activeFormattingElements.removeEntry(r),e.openElements.remove(r.element),e.openElements.insertAfter(t,i,s.tagID)}function bSe(e,t){for(let r=0;r=r;n--)e._setEndLocation(e.openElements.items[n],t);if(!e.fragmentContext&&e.openElements.stackTop>=0){let n=e.openElements.items[0],s=e.treeAdapter.getNodeSourceCodeLocation(n);if(s&&!s.endTag&&(e._setEndLocation(n,t),e.openElements.stackTop>=1)){let i=e.openElements.items[1],a=e.treeAdapter.getNodeSourceCodeLocation(i);a&&!a.endTag&&e._setEndLocation(i,t)}}}}function QWr(e,t){e._setDocumentType(t);let r=t.forceQuirks?Xo.QUIRKS:kxt(t);Mxt(t)||e._err(t,Pe.nonConformingDoctype),e.treeAdapter.setDocumentMode(e.document,r),e.insertionMode=pe.BEFORE_HTML}function pk(e,t){e._err(t,Pe.missingDoctype,!0),e.treeAdapter.setDocumentMode(e.document,Xo.QUIRKS),e.insertionMode=pe.BEFORE_HTML,e._processToken(t)}function zWr(e,t){t.tagID===N.HTML?(e._insertElement(t,qe.HTML),e.insertionMode=pe.BEFORE_HEAD):gk(e,t)}function WWr(e,t){let r=t.tagID;(r===N.HTML||r===N.HEAD||r===N.BODY||r===N.BR)&&gk(e,t)}function gk(e,t){e._insertFakeRootElement(),e.insertionMode=pe.BEFORE_HEAD,e._processToken(t)}function XWr(e,t){switch(t.tagID){case N.HTML:{Zo(e,t);break}case N.HEAD:{e._insertElement(t,qe.HTML),e.headElement=e.openElements.current,e.insertionMode=pe.IN_HEAD;break}default:_k(e,t)}}function JWr(e,t){let r=t.tagID;r===N.HEAD||r===N.BODY||r===N.HTML||r===N.BR?_k(e,t):e._err(t,Pe.endTagWithoutMatchingOpenElement)}function _k(e,t){e._insertFakeElement(Ie.HEAD,N.HEAD),e.headElement=e.openElements.current,e.insertionMode=pe.IN_HEAD,e._processToken(t)}function e0(e,t){switch(t.tagID){case N.HTML:{Zo(e,t);break}case N.BASE:case N.BASEFONT:case N.BGSOUND:case N.LINK:case N.META:{e._appendElement(t,qe.HTML),t.ackSelfClosing=!0;break}case N.TITLE:{e._switchToTextParsing(t,Jo.RCDATA);break}case N.NOSCRIPT:{e.options.scriptingEnabled?e._switchToTextParsing(t,Jo.RAWTEXT):(e._insertElement(t,qe.HTML),e.insertionMode=pe.IN_HEAD_NO_SCRIPT);break}case N.NOFRAMES:case N.STYLE:{e._switchToTextParsing(t,Jo.RAWTEXT);break}case N.SCRIPT:{e._switchToTextParsing(t,Jo.SCRIPT_DATA);break}case N.TEMPLATE:{e._insertTemplate(t),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=pe.IN_TEMPLATE,e.tmplInsertionModeStack.unshift(pe.IN_TEMPLATE);break}case N.HEAD:{e._err(t,Pe.misplacedStartTagForHeadElement);break}default:Ak(e,t)}}function ZWr(e,t){switch(t.tagID){case N.HEAD:{e.openElements.pop(),e.insertionMode=pe.AFTER_HEAD;break}case N.BODY:case N.BR:case N.HTML:{Ak(e,t);break}case N.TEMPLATE:{zS(e,t);break}default:e._err(t,Pe.endTagWithoutMatchingOpenElement)}}function zS(e,t){e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagId!==N.TEMPLATE&&e._err(t,Pe.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(N.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode()):e._err(t,Pe.endTagWithoutMatchingOpenElement)}function Ak(e,t){e.openElements.pop(),e.insertionMode=pe.AFTER_HEAD,e._processToken(t)}function eXr(e,t){switch(t.tagID){case N.HTML:{Zo(e,t);break}case N.BASEFONT:case N.BGSOUND:case N.HEAD:case N.LINK:case N.META:case N.NOFRAMES:case N.STYLE:{e0(e,t);break}case N.NOSCRIPT:{e._err(t,Pe.nestedNoscriptInHead);break}default:Ek(e,t)}}function tXr(e,t){switch(t.tagID){case N.NOSCRIPT:{e.openElements.pop(),e.insertionMode=pe.IN_HEAD;break}case N.BR:{Ek(e,t);break}default:e._err(t,Pe.endTagWithoutMatchingOpenElement)}}function Ek(e,t){let r=t.type===an.EOF?Pe.openElementsLeftAfterEof:Pe.disallowedContentInNoscriptInHead;e._err(t,r),e.openElements.pop(),e.insertionMode=pe.IN_HEAD,e._processToken(t)}function rXr(e,t){switch(t.tagID){case N.HTML:{Zo(e,t);break}case N.BODY:{e._insertElement(t,qe.HTML),e.framesetOk=!1,e.insertionMode=pe.IN_BODY;break}case N.FRAMESET:{e._insertElement(t,qe.HTML),e.insertionMode=pe.IN_FRAMESET;break}case N.BASE:case N.BASEFONT:case N.BGSOUND:case N.LINK:case N.META:case N.NOFRAMES:case N.SCRIPT:case N.STYLE:case N.TEMPLATE:case N.TITLE:{e._err(t,Pe.abandonedHeadElementChild),e.openElements.push(e.headElement,N.HEAD),e0(e,t),e.openElements.remove(e.headElement);break}case N.HEAD:{e._err(t,Pe.misplacedStartTagForHeadElement);break}default:yk(e,t)}}function nXr(e,t){switch(t.tagID){case N.BODY:case N.HTML:case N.BR:{yk(e,t);break}case N.TEMPLATE:{zS(e,t);break}default:e._err(t,Pe.endTagWithoutMatchingOpenElement)}}function yk(e,t){e._insertFakeElement(Ie.BODY,N.BODY),e.insertionMode=pe.IN_BODY,LH(e,t)}function LH(e,t){switch(t.type){case an.CHARACTER:{Qxt(e,t);break}case an.WHITESPACE_CHARACTER:{Yxt(e,t);break}case an.COMMENT:{SSe(e,t);break}case an.START_TAG:{Zo(e,t);break}case an.END_TAG:{MH(e,t);break}case an.EOF:{Jxt(e,t);break}default:}}function Yxt(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function Qxt(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function sXr(e,t){e.openElements.tmplCount===0&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}function iXr(e,t){let r=e.openElements.tryPeekProperlyNestedBodyElement();r&&e.openElements.tmplCount===0&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(r,t.attrs))}function aXr(e,t){let r=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&r&&(e.treeAdapter.detachNode(r),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,qe.HTML),e.insertionMode=pe.IN_FRAMESET)}function oXr(e,t){e.openElements.hasInButtonScope(N.P)&&e._closePElement(),e._insertElement(t,qe.HTML)}function cXr(e,t){e.openElements.hasInButtonScope(N.P)&&e._closePElement(),e.openElements.currentTagId!==void 0&&AC.has(e.openElements.currentTagId)&&e.openElements.pop(),e._insertElement(t,qe.HTML)}function uXr(e,t){e.openElements.hasInButtonScope(N.P)&&e._closePElement(),e._insertElement(t,qe.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function lXr(e,t){let r=e.openElements.tmplCount>0;(!e.formElement||r)&&(e.openElements.hasInButtonScope(N.P)&&e._closePElement(),e._insertElement(t,qe.HTML),r||(e.formElement=e.openElements.current))}function dXr(e,t){e.framesetOk=!1;let r=t.tagID;for(let n=e.openElements.stackTop;n>=0;n--){let s=e.openElements.tagIDs[n];if(r===N.LI&&s===N.LI||(r===N.DD||r===N.DT)&&(s===N.DD||s===N.DT)){e.openElements.generateImpliedEndTagsWithExclusion(s),e.openElements.popUntilTagNamePopped(s);break}if(s!==N.ADDRESS&&s!==N.DIV&&s!==N.P&&e._isSpecialElement(e.openElements.items[n],s))break}e.openElements.hasInButtonScope(N.P)&&e._closePElement(),e._insertElement(t,qe.HTML)}function fXr(e,t){e.openElements.hasInButtonScope(N.P)&&e._closePElement(),e._insertElement(t,qe.HTML),e.tokenizer.state=Jo.PLAINTEXT}function hXr(e,t){e.openElements.hasInScope(N.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(N.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,qe.HTML),e.framesetOk=!1}function pXr(e,t){let r=e.activeFormattingElements.getElementEntryInScopeWithTagName(Ie.A);r&&(bSe(e,t),e.openElements.remove(r.element),e.activeFormattingElements.removeEntry(r)),e._reconstructActiveFormattingElements(),e._insertElement(t,qe.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function mXr(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,qe.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function gXr(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(N.NOBR)&&(bSe(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,qe.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function _Xr(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,qe.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function AXr(e,t){e.treeAdapter.getDocumentMode(e.document)!==Xo.QUIRKS&&e.openElements.hasInButtonScope(N.P)&&e._closePElement(),e._insertElement(t,qe.HTML),e.framesetOk=!1,e.insertionMode=pe.IN_TABLE}function zxt(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,qe.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function Wxt(e){let t=yH(e,Uh.TYPE);return t!=null&&t.toLowerCase()===kWr}function EXr(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,qe.HTML),Wxt(t)||(e.framesetOk=!1),t.ackSelfClosing=!0}function yXr(e,t){e._appendElement(t,qe.HTML),t.ackSelfClosing=!0}function vXr(e,t){e.openElements.hasInButtonScope(N.P)&&e._closePElement(),e._appendElement(t,qe.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function SXr(e,t){t.tagName=Ie.IMG,t.tagID=N.IMG,zxt(e,t)}function TXr(e,t){e._insertElement(t,qe.HTML),e.skipNextNewLine=!0,e.tokenizer.state=Jo.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=pe.TEXT}function bXr(e,t){e.openElements.hasInButtonScope(N.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,Jo.RAWTEXT)}function IXr(e,t){e.framesetOk=!1,e._switchToTextParsing(t,Jo.RAWTEXT)}function jxt(e,t){e._switchToTextParsing(t,Jo.RAWTEXT)}function RXr(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,qe.HTML),e.framesetOk=!1,e.insertionMode=e.insertionMode===pe.IN_TABLE||e.insertionMode===pe.IN_CAPTION||e.insertionMode===pe.IN_TABLE_BODY||e.insertionMode===pe.IN_ROW||e.insertionMode===pe.IN_CELL?pe.IN_SELECT_IN_TABLE:pe.IN_SELECT}function CXr(e,t){e.openElements.currentTagId===N.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,qe.HTML)}function xXr(e,t){e.openElements.hasInScope(N.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,qe.HTML)}function wXr(e,t){e.openElements.hasInScope(N.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(N.RTC),e._insertElement(t,qe.HTML)}function NXr(e,t){e._reconstructActiveFormattingElements(),ASe(t),NH(t),t.selfClosing?e._appendElement(t,qe.MATHML):e._insertElement(t,qe.MATHML),t.ackSelfClosing=!0}function OXr(e,t){e._reconstructActiveFormattingElements(),ESe(t),NH(t),t.selfClosing?e._appendElement(t,qe.SVG):e._insertElement(t,qe.SVG),t.ackSelfClosing=!0}function Kxt(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,qe.HTML)}function Zo(e,t){switch(t.tagID){case N.I:case N.S:case N.B:case N.U:case N.EM:case N.TT:case N.BIG:case N.CODE:case N.FONT:case N.SMALL:case N.STRIKE:case N.STRONG:{mXr(e,t);break}case N.A:{pXr(e,t);break}case N.H1:case N.H2:case N.H3:case N.H4:case N.H5:case N.H6:{cXr(e,t);break}case N.P:case N.DL:case N.OL:case N.UL:case N.DIV:case N.DIR:case N.NAV:case N.MAIN:case N.MENU:case N.ASIDE:case N.CENTER:case N.FIGURE:case N.FOOTER:case N.HEADER:case N.HGROUP:case N.DIALOG:case N.DETAILS:case N.ADDRESS:case N.ARTICLE:case N.SEARCH:case N.SECTION:case N.SUMMARY:case N.FIELDSET:case N.BLOCKQUOTE:case N.FIGCAPTION:{oXr(e,t);break}case N.LI:case N.DD:case N.DT:{dXr(e,t);break}case N.BR:case N.IMG:case N.WBR:case N.AREA:case N.EMBED:case N.KEYGEN:{zxt(e,t);break}case N.HR:{vXr(e,t);break}case N.RB:case N.RTC:{xXr(e,t);break}case N.RT:case N.RP:{wXr(e,t);break}case N.PRE:case N.LISTING:{uXr(e,t);break}case N.XMP:{bXr(e,t);break}case N.SVG:{OXr(e,t);break}case N.HTML:{sXr(e,t);break}case N.BASE:case N.LINK:case N.META:case N.STYLE:case N.TITLE:case N.SCRIPT:case N.BGSOUND:case N.BASEFONT:case N.TEMPLATE:{e0(e,t);break}case N.BODY:{iXr(e,t);break}case N.FORM:{lXr(e,t);break}case N.NOBR:{gXr(e,t);break}case N.MATH:{NXr(e,t);break}case N.TABLE:{AXr(e,t);break}case N.INPUT:{EXr(e,t);break}case N.PARAM:case N.TRACK:case N.SOURCE:{yXr(e,t);break}case N.IMAGE:{SXr(e,t);break}case N.BUTTON:{hXr(e,t);break}case N.APPLET:case N.OBJECT:case N.MARQUEE:{_Xr(e,t);break}case N.IFRAME:{IXr(e,t);break}case N.SELECT:{RXr(e,t);break}case N.OPTION:case N.OPTGROUP:{CXr(e,t);break}case N.NOEMBED:case N.NOFRAMES:{jxt(e,t);break}case N.FRAMESET:{aXr(e,t);break}case N.TEXTAREA:{TXr(e,t);break}case N.NOSCRIPT:{e.options.scriptingEnabled?jxt(e,t):Kxt(e,t);break}case N.PLAINTEXT:{fXr(e,t);break}case N.COL:case N.TH:case N.TD:case N.TR:case N.HEAD:case N.FRAME:case N.TBODY:case N.TFOOT:case N.THEAD:case N.CAPTION:case N.COLGROUP:break;default:Kxt(e,t)}}function DXr(e,t){if(e.openElements.hasInScope(N.BODY)&&(e.insertionMode=pe.AFTER_BODY,e.options.sourceCodeLocationInfo)){let r=e.openElements.tryPeekProperlyNestedBodyElement();r&&e._setEndLocation(r,t)}}function PXr(e,t){e.openElements.hasInScope(N.BODY)&&(e.insertionMode=pe.AFTER_BODY,awt(e,t))}function LXr(e,t){let r=t.tagID;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(r))}function MXr(e){let t=e.openElements.tmplCount>0,{formElement:r}=e;t||(e.formElement=null),(r||t)&&e.openElements.hasInScope(N.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(N.FORM):r&&e.openElements.remove(r))}function kXr(e){e.openElements.hasInButtonScope(N.P)||e._insertFakeElement(Ie.P,N.P),e._closePElement()}function BXr(e){e.openElements.hasInListItemScope(N.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(N.LI),e.openElements.popUntilTagNamePopped(N.LI))}function UXr(e,t){let r=t.tagID;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.popUntilTagNamePopped(r))}function FXr(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}function $Xr(e,t){let r=t.tagID;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(r),e.activeFormattingElements.clearToLastMarker())}function qXr(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(Ie.BR,N.BR),e.openElements.pop(),e.framesetOk=!1}function Xxt(e,t){let r=t.tagName,n=t.tagID;for(let s=e.openElements.stackTop;s>0;s--){let i=e.openElements.items[s],a=e.openElements.tagIDs[s];if(n===a&&(n!==N.UNKNOWN||e.treeAdapter.getTagName(i)===r)){e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.stackTop>=s&&e.openElements.shortenToLength(s);break}if(e._isSpecialElement(i,a))break}}function MH(e,t){switch(t.tagID){case N.A:case N.B:case N.I:case N.S:case N.U:case N.EM:case N.TT:case N.BIG:case N.CODE:case N.FONT:case N.NOBR:case N.SMALL:case N.STRIKE:case N.STRONG:{bSe(e,t);break}case N.P:{kXr(e);break}case N.DL:case N.UL:case N.OL:case N.DIR:case N.DIV:case N.NAV:case N.PRE:case N.MAIN:case N.MENU:case N.ASIDE:case N.BUTTON:case N.CENTER:case N.FIGURE:case N.FOOTER:case N.HEADER:case N.HGROUP:case N.DIALOG:case N.ADDRESS:case N.ARTICLE:case N.DETAILS:case N.SEARCH:case N.SECTION:case N.SUMMARY:case N.LISTING:case N.FIELDSET:case N.BLOCKQUOTE:case N.FIGCAPTION:{LXr(e,t);break}case N.LI:{BXr(e);break}case N.DD:case N.DT:{UXr(e,t);break}case N.H1:case N.H2:case N.H3:case N.H4:case N.H5:case N.H6:{FXr(e);break}case N.BR:{qXr(e);break}case N.BODY:{DXr(e,t);break}case N.HTML:{PXr(e,t);break}case N.FORM:{MXr(e);break}case N.APPLET:case N.OBJECT:case N.MARQUEE:{$Xr(e,t);break}case N.TEMPLATE:{zS(e,t);break}default:Xxt(e,t)}}function Jxt(e,t){e.tmplInsertionModeStack.length>0?iwt(e,t):ISe(e,t)}function HXr(e,t){var r;t.tagID===N.SCRIPT&&((r=e.scriptHandler)===null||r===void 0||r.call(e,e.openElements.current)),e.openElements.pop(),e.insertionMode=e.originalInsertionMode}function VXr(e,t){e._err(t,Pe.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e.onEof(t)}function vSe(e,t){if(e.openElements.currentTagId!==void 0&&Gxt.has(e.openElements.currentTagId))switch(e.pendingCharacterTokens.length=0,e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=pe.IN_TABLE_TEXT,t.type){case an.CHARACTER:{ewt(e,t);break}case an.WHITESPACE_CHARACTER:{Zxt(e,t);break}}else Sk(e,t)}function jXr(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,qe.HTML),e.insertionMode=pe.IN_CAPTION}function KXr(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,qe.HTML),e.insertionMode=pe.IN_COLUMN_GROUP}function GXr(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(Ie.COLGROUP,N.COLGROUP),e.insertionMode=pe.IN_COLUMN_GROUP,RSe(e,t)}function YXr(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,qe.HTML),e.insertionMode=pe.IN_TABLE_BODY}function QXr(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(Ie.TBODY,N.TBODY),e.insertionMode=pe.IN_TABLE_BODY,kH(e,t)}function zXr(e,t){e.openElements.hasInTableScope(N.TABLE)&&(e.openElements.popUntilTagNamePopped(N.TABLE),e._resetInsertionMode(),e._processStartTag(t))}function WXr(e,t){Wxt(t)?e._appendElement(t,qe.HTML):Sk(e,t),t.ackSelfClosing=!0}function XXr(e,t){!e.formElement&&e.openElements.tmplCount===0&&(e._insertElement(t,qe.HTML),e.formElement=e.openElements.current,e.openElements.pop())}function yC(e,t){switch(t.tagID){case N.TD:case N.TH:case N.TR:{QXr(e,t);break}case N.STYLE:case N.SCRIPT:case N.TEMPLATE:{e0(e,t);break}case N.COL:{GXr(e,t);break}case N.FORM:{XXr(e,t);break}case N.TABLE:{zXr(e,t);break}case N.TBODY:case N.TFOOT:case N.THEAD:{YXr(e,t);break}case N.INPUT:{WXr(e,t);break}case N.CAPTION:{jXr(e,t);break}case N.COLGROUP:{KXr(e,t);break}default:Sk(e,t)}}function vk(e,t){switch(t.tagID){case N.TABLE:{e.openElements.hasInTableScope(N.TABLE)&&(e.openElements.popUntilTagNamePopped(N.TABLE),e._resetInsertionMode());break}case N.TEMPLATE:{zS(e,t);break}case N.BODY:case N.CAPTION:case N.COL:case N.COLGROUP:case N.HTML:case N.TBODY:case N.TD:case N.TFOOT:case N.TH:case N.THEAD:case N.TR:break;default:Sk(e,t)}}function Sk(e,t){let r=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,LH(e,t),e.fosterParentingEnabled=r}function Zxt(e,t){e.pendingCharacterTokens.push(t)}function ewt(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0}function mk(e,t){let r=0;if(e.hasNonWhitespacePendingCharacterToken)for(;r0&&e.openElements.currentTagId===N.OPTION&&e.openElements.tagIDs[e.openElements.stackTop-1]===N.OPTGROUP&&e.openElements.pop(),e.openElements.currentTagId===N.OPTGROUP&&e.openElements.pop();break}case N.OPTION:{e.openElements.currentTagId===N.OPTION&&e.openElements.pop();break}case N.SELECT:{e.openElements.hasInSelectScope(N.SELECT)&&(e.openElements.popUntilTagNamePopped(N.SELECT),e._resetInsertionMode());break}case N.TEMPLATE:{zS(e,t);break}default:}}function nJr(e,t){let r=t.tagID;r===N.CAPTION||r===N.TABLE||r===N.TBODY||r===N.TFOOT||r===N.THEAD||r===N.TR||r===N.TD||r===N.TH?(e.openElements.popUntilTagNamePopped(N.SELECT),e._resetInsertionMode(),e._processStartTag(t)):nwt(e,t)}function sJr(e,t){let r=t.tagID;r===N.CAPTION||r===N.TABLE||r===N.TBODY||r===N.TFOOT||r===N.THEAD||r===N.TR||r===N.TD||r===N.TH?e.openElements.hasInTableScope(r)&&(e.openElements.popUntilTagNamePopped(N.SELECT),e._resetInsertionMode(),e.onEndTag(t)):swt(e,t)}function iJr(e,t){switch(t.tagID){case N.BASE:case N.BASEFONT:case N.BGSOUND:case N.LINK:case N.META:case N.NOFRAMES:case N.SCRIPT:case N.STYLE:case N.TEMPLATE:case N.TITLE:{e0(e,t);break}case N.CAPTION:case N.COLGROUP:case N.TBODY:case N.TFOOT:case N.THEAD:{e.tmplInsertionModeStack[0]=pe.IN_TABLE,e.insertionMode=pe.IN_TABLE,yC(e,t);break}case N.COL:{e.tmplInsertionModeStack[0]=pe.IN_COLUMN_GROUP,e.insertionMode=pe.IN_COLUMN_GROUP,RSe(e,t);break}case N.TR:{e.tmplInsertionModeStack[0]=pe.IN_TABLE_BODY,e.insertionMode=pe.IN_TABLE_BODY,kH(e,t);break}case N.TD:case N.TH:{e.tmplInsertionModeStack[0]=pe.IN_ROW,e.insertionMode=pe.IN_ROW,BH(e,t);break}default:e.tmplInsertionModeStack[0]=pe.IN_BODY,e.insertionMode=pe.IN_BODY,Zo(e,t)}}function aJr(e,t){t.tagID===N.TEMPLATE&&zS(e,t)}function iwt(e,t){e.openElements.tmplCount>0?(e.openElements.popUntilTagNamePopped(N.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode(),e.onEof(t)):ISe(e,t)}function oJr(e,t){t.tagID===N.HTML?Zo(e,t):PH(e,t)}function awt(e,t){var r;if(t.tagID===N.HTML){if(e.fragmentContext||(e.insertionMode=pe.AFTER_AFTER_BODY),e.options.sourceCodeLocationInfo&&e.openElements.tagIDs[0]===N.HTML){e._setEndLocation(e.openElements.items[0],t);let n=e.openElements.items[1];n&&!(!((r=e.treeAdapter.getNodeSourceCodeLocation(n))===null||r===void 0)&&r.endTag)&&e._setEndLocation(n,t)}}else PH(e,t)}function PH(e,t){e.insertionMode=pe.IN_BODY,LH(e,t)}function cJr(e,t){switch(t.tagID){case N.HTML:{Zo(e,t);break}case N.FRAMESET:{e._insertElement(t,qe.HTML);break}case N.FRAME:{e._appendElement(t,qe.HTML),t.ackSelfClosing=!0;break}case N.NOFRAMES:{e0(e,t);break}default:}}function uJr(e,t){t.tagID===N.FRAMESET&&!e.openElements.isRootHtmlElementCurrent()&&(e.openElements.pop(),!e.fragmentContext&&e.openElements.currentTagId!==N.FRAMESET&&(e.insertionMode=pe.AFTER_FRAMESET))}function lJr(e,t){switch(t.tagID){case N.HTML:{Zo(e,t);break}case N.NOFRAMES:{e0(e,t);break}default:}}function dJr(e,t){t.tagID===N.HTML&&(e.insertionMode=pe.AFTER_AFTER_FRAMESET)}function fJr(e,t){t.tagID===N.HTML?Zo(e,t):OH(e,t)}function OH(e,t){e.insertionMode=pe.IN_BODY,LH(e,t)}function hJr(e,t){switch(t.tagID){case N.HTML:{Zo(e,t);break}case N.NOFRAMES:{e0(e,t);break}default:}}function pJr(e,t){t.chars=Rs,e._insertCharacters(t)}function mJr(e,t){e._insertCharacters(t),e.framesetOk=!1}function owt(e){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==qe.HTML&&e.openElements.currentTagId!==void 0&&!e._isIntegrationPoint(e.openElements.currentTagId,e.openElements.current);)e.openElements.pop()}function gJr(e,t){if(Fxt(t))owt(e),e._startTagOutsideForeignContent(t);else{let r=e._getAdjustedCurrentElement(),n=e.treeAdapter.getNamespaceURI(r);n===qe.MATHML?ASe(t):n===qe.SVG&&($xt(t),ESe(t)),NH(t),t.selfClosing?e._appendElement(t,n):e._insertElement(t,n),t.ackSelfClosing=!0}}function _Jr(e,t){if(t.tagID===N.P||t.tagID===N.BR){owt(e),e._endTagOutsideForeignContent(t);return}for(let r=e.openElements.stackTop;r>0;r--){let n=e.openElements.items[r];if(e.treeAdapter.getNamespaceURI(n)===qe.HTML){e._endTagOutsideForeignContent(t);break}let s=e.treeAdapter.getTagName(n);if(s.toLowerCase()===t.tagName){t.tagName=s,e.openElements.shortenToLength(r);break}}}var kWr,BWr,UWr,pe,FWr,Gxt,Vxt,EC,twt,CSe=oe(()=>{_Se();xxt();Nxt();wH();Bxt();ySe();dk();AH();mg();vH();kWr="hidden",BWr=8,UWr=3;(function(e){e[e.INITIAL=0]="INITIAL",e[e.BEFORE_HTML=1]="BEFORE_HTML",e[e.BEFORE_HEAD=2]="BEFORE_HEAD",e[e.IN_HEAD=3]="IN_HEAD",e[e.IN_HEAD_NO_SCRIPT=4]="IN_HEAD_NO_SCRIPT",e[e.AFTER_HEAD=5]="AFTER_HEAD",e[e.IN_BODY=6]="IN_BODY",e[e.TEXT=7]="TEXT",e[e.IN_TABLE=8]="IN_TABLE",e[e.IN_TABLE_TEXT=9]="IN_TABLE_TEXT",e[e.IN_CAPTION=10]="IN_CAPTION",e[e.IN_COLUMN_GROUP=11]="IN_COLUMN_GROUP",e[e.IN_TABLE_BODY=12]="IN_TABLE_BODY",e[e.IN_ROW=13]="IN_ROW",e[e.IN_CELL=14]="IN_CELL",e[e.IN_SELECT=15]="IN_SELECT",e[e.IN_SELECT_IN_TABLE=16]="IN_SELECT_IN_TABLE",e[e.IN_TEMPLATE=17]="IN_TEMPLATE",e[e.AFTER_BODY=18]="AFTER_BODY",e[e.IN_FRAMESET=19]="IN_FRAMESET",e[e.AFTER_FRAMESET=20]="AFTER_FRAMESET",e[e.AFTER_AFTER_BODY=21]="AFTER_AFTER_BODY",e[e.AFTER_AFTER_FRAMESET=22]="AFTER_AFTER_FRAMESET"})(pe||(pe={}));FWr={startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1},Gxt=new Set([N.TABLE,N.TBODY,N.TFOOT,N.THEAD,N.TR]),Vxt={scriptingEnabled:!0,sourceCodeLocationInfo:!1,treeAdapter:kd,onParseError:null},EC=class{constructor(t,r,n=null,s=null){this.fragmentContext=n,this.scriptHandler=s,this.currentToken=null,this.stopped=!1,this.insertionMode=pe.INITIAL,this.originalInsertionMode=pe.INITIAL,this.headElement=null,this.formElement=null,this.currentNotInHTML=!1,this.tmplInsertionModeStack=[],this.pendingCharacterTokens=[],this.hasNonWhitespacePendingCharacterToken=!1,this.framesetOk=!0,this.skipNextNewLine=!1,this.fosterParentingEnabled=!1,this.options={...Vxt,...t},this.treeAdapter=this.options.treeAdapter,this.onParseError=this.options.onParseError,this.onParseError&&(this.options.sourceCodeLocationInfo=!0),this.document=r??this.treeAdapter.createDocument(),this.tokenizer=new hk(this.options,this),this.activeFormattingElements=new xH(this.treeAdapter),this.fragmentContextID=n?eE(this.treeAdapter.getTagName(n)):N.UNKNOWN,this._setContextModes(n??this.document,this.fragmentContextID),this.openElements=new CH(this.document,this.treeAdapter,this)}static parse(t,r){let n=new this(r);return n.tokenizer.write(t,!0),n.document}static getFragmentParser(t,r){let n={...Vxt,...r};t??(t=n.treeAdapter.createElement(Ie.TEMPLATE,qe.HTML,[]));let s=n.treeAdapter.createElement("documentmock",qe.HTML,[]),i=new this(n,s,t);return i.fragmentContextID===N.TEMPLATE&&i.tmplInsertionModeStack.unshift(pe.IN_TEMPLATE),i._initTokenizerForFragmentParsing(),i._insertFakeRootElement(),i._resetInsertionMode(),i._findFormInFragmentContext(),i}getFragment(){let t=this.treeAdapter.getFirstChild(this.document),r=this.treeAdapter.createDocumentFragment();return this._adoptNodes(t,r),r}_err(t,r,n){var s;if(!this.onParseError)return;let i=(s=t.location)!==null&&s!==void 0?s:FWr,a={code:r,startLine:i.startLine,startCol:i.startCol,startOffset:i.startOffset,endLine:n?i.startLine:i.endLine,endCol:n?i.startCol:i.endCol,endOffset:n?i.startOffset:i.endOffset};this.onParseError(a)}onItemPush(t,r,n){var s,i;(i=(s=this.treeAdapter).onItemPush)===null||i===void 0||i.call(s,t),n&&this.openElements.stackTop>0&&this._setContextModes(t,r)}onItemPop(t,r){var n,s;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(t,this.currentToken),(s=(n=this.treeAdapter).onItemPop)===null||s===void 0||s.call(n,t,this.openElements.current),r){let i,a;this.openElements.stackTop===0&&this.fragmentContext?(i=this.fragmentContext,a=this.fragmentContextID):{current:i,currentTagId:a}=this.openElements,this._setContextModes(i,a)}}_setContextModes(t,r){let n=t===this.document||t&&this.treeAdapter.getNamespaceURI(t)===qe.HTML;this.currentNotInHTML=!n,this.tokenizer.inForeignNode=!n&&t!==void 0&&r!==void 0&&!this._isIntegrationPoint(r,t)}_switchToTextParsing(t,r){this._insertElement(t,qe.HTML),this.tokenizer.state=r,this.originalInsertionMode=this.insertionMode,this.insertionMode=pe.TEXT}switchToPlaintextParsing(){this.insertionMode=pe.TEXT,this.originalInsertionMode=pe.IN_BODY,this.tokenizer.state=Jo.PLAINTEXT}_getAdjustedCurrentElement(){return this.openElements.stackTop===0&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let t=this.fragmentContext;for(;t;){if(this.treeAdapter.getTagName(t)===Ie.FORM){this.formElement=t;break}t=this.treeAdapter.getParentNode(t)}}_initTokenizerForFragmentParsing(){if(!(!this.fragmentContext||this.treeAdapter.getNamespaceURI(this.fragmentContext)!==qe.HTML))switch(this.fragmentContextID){case N.TITLE:case N.TEXTAREA:{this.tokenizer.state=Jo.RCDATA;break}case N.STYLE:case N.XMP:case N.IFRAME:case N.NOEMBED:case N.NOFRAMES:case N.NOSCRIPT:{this.tokenizer.state=Jo.RAWTEXT;break}case N.SCRIPT:{this.tokenizer.state=Jo.SCRIPT_DATA;break}case N.PLAINTEXT:{this.tokenizer.state=Jo.PLAINTEXT;break}default:}}_setDocumentType(t){let r=t.name||"",n=t.publicId||"",s=t.systemId||"";if(this.treeAdapter.setDocumentType(this.document,r,n,s),t.location){let a=this.treeAdapter.getChildNodes(this.document).find(o=>this.treeAdapter.isDocumentTypeNode(o));a&&this.treeAdapter.setNodeSourceCodeLocation(a,t.location)}}_attachElementToTree(t,r){if(this.options.sourceCodeLocationInfo){let n=r&&{...r,startTag:r};this.treeAdapter.setNodeSourceCodeLocation(t,n)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(t);else{let n=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(n??this.document,t)}}_appendElement(t,r){let n=this.treeAdapter.createElement(t.tagName,r,t.attrs);this._attachElementToTree(n,t.location)}_insertElement(t,r){let n=this.treeAdapter.createElement(t.tagName,r,t.attrs);this._attachElementToTree(n,t.location),this.openElements.push(n,t.tagID)}_insertFakeElement(t,r){let n=this.treeAdapter.createElement(t,qe.HTML,[]);this._attachElementToTree(n,null),this.openElements.push(n,r)}_insertTemplate(t){let r=this.treeAdapter.createElement(t.tagName,qe.HTML,t.attrs),n=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(r,n),this._attachElementToTree(r,t.location),this.openElements.push(r,t.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,null)}_insertFakeRootElement(){let t=this.treeAdapter.createElement(Ie.HTML,qe.HTML,[]);this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(t,null),this.treeAdapter.appendChild(this.openElements.current,t),this.openElements.push(t,N.HTML)}_appendCommentNode(t,r){let n=this.treeAdapter.createCommentNode(t.data);this.treeAdapter.appendChild(r,n),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,t.location)}_insertCharacters(t){let r,n;if(this._shouldFosterParentOnInsertion()?({parent:r,beforeElement:n}=this._findFosterParentingLocation(),n?this.treeAdapter.insertTextBefore(r,t.chars,n):this.treeAdapter.insertText(r,t.chars)):(r=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(r,t.chars)),!t.location)return;let s=this.treeAdapter.getChildNodes(r),i=n?s.lastIndexOf(n):s.length,a=s[i-1];if(this.treeAdapter.getNodeSourceCodeLocation(a)){let{endLine:c,endCol:u,endOffset:l}=t.location;this.treeAdapter.updateNodeSourceCodeLocation(a,{endLine:c,endCol:u,endOffset:l})}else this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(a,t.location)}_adoptNodes(t,r){for(let n=this.treeAdapter.getFirstChild(t);n;n=this.treeAdapter.getFirstChild(t))this.treeAdapter.detachNode(n),this.treeAdapter.appendChild(r,n)}_setEndLocation(t,r){if(this.treeAdapter.getNodeSourceCodeLocation(t)&&r.location){let n=r.location,s=this.treeAdapter.getTagName(t),i=r.type===an.END_TAG&&s===r.tagName?{endTag:{...n},endLine:n.endLine,endCol:n.endCol,endOffset:n.endOffset}:{endLine:n.startLine,endCol:n.startCol,endOffset:n.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(t,i)}}shouldProcessStartTagTokenInForeignContent(t){if(!this.currentNotInHTML)return!1;let r,n;return this.openElements.stackTop===0&&this.fragmentContext?(r=this.fragmentContext,n=this.fragmentContextID):{current:r,currentTagId:n}=this.openElements,t.tagID===N.SVG&&this.treeAdapter.getTagName(r)===Ie.ANNOTATION_XML&&this.treeAdapter.getNamespaceURI(r)===qe.MATHML?!1:this.tokenizer.inForeignNode||(t.tagID===N.MGLYPH||t.tagID===N.MALIGNMARK)&&n!==void 0&&!this._isIntegrationPoint(n,r,qe.HTML)}_processToken(t){switch(t.type){case an.CHARACTER:{this.onCharacter(t);break}case an.NULL_CHARACTER:{this.onNullCharacter(t);break}case an.COMMENT:{this.onComment(t);break}case an.DOCTYPE:{this.onDoctype(t);break}case an.START_TAG:{this._processStartTag(t);break}case an.END_TAG:{this.onEndTag(t);break}case an.EOF:{this.onEof(t);break}case an.WHITESPACE_CHARACTER:{this.onWhitespaceCharacter(t);break}}}_isIntegrationPoint(t,r,n){let s=this.treeAdapter.getNamespaceURI(r),i=this.treeAdapter.getAttrList(r);return qxt(t,s,i,n)}_reconstructActiveFormattingElements(){let t=this.activeFormattingElements.entries.length;if(t){let r=this.activeFormattingElements.entries.findIndex(s=>s.type===Zf.Marker||this.openElements.contains(s.element)),n=r===-1?t-1:r-1;for(let s=n;s>=0;s--){let i=this.activeFormattingElements.entries[s];this._insertElement(i.token,this.treeAdapter.getNamespaceURI(i.element)),i.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=pe.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(N.P),this.openElements.popUntilTagNamePopped(N.P)}_resetInsertionMode(){for(let t=this.openElements.stackTop;t>=0;t--)switch(t===0&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[t]){case N.TR:{this.insertionMode=pe.IN_ROW;return}case N.TBODY:case N.THEAD:case N.TFOOT:{this.insertionMode=pe.IN_TABLE_BODY;return}case N.CAPTION:{this.insertionMode=pe.IN_CAPTION;return}case N.COLGROUP:{this.insertionMode=pe.IN_COLUMN_GROUP;return}case N.TABLE:{this.insertionMode=pe.IN_TABLE;return}case N.BODY:{this.insertionMode=pe.IN_BODY;return}case N.FRAMESET:{this.insertionMode=pe.IN_FRAMESET;return}case N.SELECT:{this._resetInsertionModeForSelect(t);return}case N.TEMPLATE:{this.insertionMode=this.tmplInsertionModeStack[0];return}case N.HTML:{this.insertionMode=this.headElement?pe.AFTER_HEAD:pe.BEFORE_HEAD;return}case N.TD:case N.TH:{if(t>0){this.insertionMode=pe.IN_CELL;return}break}case N.HEAD:{if(t>0){this.insertionMode=pe.IN_HEAD;return}break}}this.insertionMode=pe.IN_BODY}_resetInsertionModeForSelect(t){if(t>0)for(let r=t-1;r>0;r--){let n=this.openElements.tagIDs[r];if(n===N.TEMPLATE)break;if(n===N.TABLE){this.insertionMode=pe.IN_SELECT_IN_TABLE;return}}this.insertionMode=pe.IN_SELECT}_isElementCausesFosterParenting(t){return Gxt.has(t)}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this.openElements.currentTagId!==void 0&&this._isElementCausesFosterParenting(this.openElements.currentTagId)}_findFosterParentingLocation(){for(let t=this.openElements.stackTop;t>=0;t--){let r=this.openElements.items[t];switch(this.openElements.tagIDs[t]){case N.TEMPLATE:{if(this.treeAdapter.getNamespaceURI(r)===qe.HTML)return{parent:this.treeAdapter.getTemplateContent(r),beforeElement:null};break}case N.TABLE:{let n=this.treeAdapter.getParentNode(r);return n?{parent:n,beforeElement:r}:{parent:this.openElements.items[t-1],beforeElement:null}}default:}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(t){let r=this._findFosterParentingLocation();r.beforeElement?this.treeAdapter.insertBefore(r.parent,t,r.beforeElement):this.treeAdapter.appendChild(r.parent,t)}_isSpecialElement(t,r){let n=this.treeAdapter.getNamespaceURI(t);return mSe[n].has(r)}onCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){mJr(this,t);return}switch(this.insertionMode){case pe.INITIAL:{pk(this,t);break}case pe.BEFORE_HTML:{gk(this,t);break}case pe.BEFORE_HEAD:{_k(this,t);break}case pe.IN_HEAD:{Ak(this,t);break}case pe.IN_HEAD_NO_SCRIPT:{Ek(this,t);break}case pe.AFTER_HEAD:{yk(this,t);break}case pe.IN_BODY:case pe.IN_CAPTION:case pe.IN_CELL:case pe.IN_TEMPLATE:{Qxt(this,t);break}case pe.TEXT:case pe.IN_SELECT:case pe.IN_SELECT_IN_TABLE:{this._insertCharacters(t);break}case pe.IN_TABLE:case pe.IN_TABLE_BODY:case pe.IN_ROW:{vSe(this,t);break}case pe.IN_TABLE_TEXT:{ewt(this,t);break}case pe.IN_COLUMN_GROUP:{DH(this,t);break}case pe.AFTER_BODY:{PH(this,t);break}case pe.AFTER_AFTER_BODY:{OH(this,t);break}default:}}onNullCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){pJr(this,t);return}switch(this.insertionMode){case pe.INITIAL:{pk(this,t);break}case pe.BEFORE_HTML:{gk(this,t);break}case pe.BEFORE_HEAD:{_k(this,t);break}case pe.IN_HEAD:{Ak(this,t);break}case pe.IN_HEAD_NO_SCRIPT:{Ek(this,t);break}case pe.AFTER_HEAD:{yk(this,t);break}case pe.TEXT:{this._insertCharacters(t);break}case pe.IN_TABLE:case pe.IN_TABLE_BODY:case pe.IN_ROW:{vSe(this,t);break}case pe.IN_COLUMN_GROUP:{DH(this,t);break}case pe.AFTER_BODY:{PH(this,t);break}case pe.AFTER_AFTER_BODY:{OH(this,t);break}default:}}onComment(t){if(this.skipNextNewLine=!1,this.currentNotInHTML){SSe(this,t);return}switch(this.insertionMode){case pe.INITIAL:case pe.BEFORE_HTML:case pe.BEFORE_HEAD:case pe.IN_HEAD:case pe.IN_HEAD_NO_SCRIPT:case pe.AFTER_HEAD:case pe.IN_BODY:case pe.IN_TABLE:case pe.IN_CAPTION:case pe.IN_COLUMN_GROUP:case pe.IN_TABLE_BODY:case pe.IN_ROW:case pe.IN_CELL:case pe.IN_SELECT:case pe.IN_SELECT_IN_TABLE:case pe.IN_TEMPLATE:case pe.IN_FRAMESET:case pe.AFTER_FRAMESET:{SSe(this,t);break}case pe.IN_TABLE_TEXT:{mk(this,t);break}case pe.AFTER_BODY:{GWr(this,t);break}case pe.AFTER_AFTER_BODY:case pe.AFTER_AFTER_FRAMESET:{YWr(this,t);break}default:}}onDoctype(t){switch(this.skipNextNewLine=!1,this.insertionMode){case pe.INITIAL:{QWr(this,t);break}case pe.BEFORE_HEAD:case pe.IN_HEAD:case pe.IN_HEAD_NO_SCRIPT:case pe.AFTER_HEAD:{this._err(t,Pe.misplacedDoctype);break}case pe.IN_TABLE_TEXT:{mk(this,t);break}default:}}onStartTag(t){this.skipNextNewLine=!1,this.currentToken=t,this._processStartTag(t),t.selfClosing&&!t.ackSelfClosing&&this._err(t,Pe.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(t){this.shouldProcessStartTagTokenInForeignContent(t)?gJr(this,t):this._startTagOutsideForeignContent(t)}_startTagOutsideForeignContent(t){switch(this.insertionMode){case pe.INITIAL:{pk(this,t);break}case pe.BEFORE_HTML:{zWr(this,t);break}case pe.BEFORE_HEAD:{XWr(this,t);break}case pe.IN_HEAD:{e0(this,t);break}case pe.IN_HEAD_NO_SCRIPT:{eXr(this,t);break}case pe.AFTER_HEAD:{rXr(this,t);break}case pe.IN_BODY:{Zo(this,t);break}case pe.IN_TABLE:{yC(this,t);break}case pe.IN_TABLE_TEXT:{mk(this,t);break}case pe.IN_CAPTION:{JXr(this,t);break}case pe.IN_COLUMN_GROUP:{RSe(this,t);break}case pe.IN_TABLE_BODY:{kH(this,t);break}case pe.IN_ROW:{BH(this,t);break}case pe.IN_CELL:{tJr(this,t);break}case pe.IN_SELECT:{nwt(this,t);break}case pe.IN_SELECT_IN_TABLE:{nJr(this,t);break}case pe.IN_TEMPLATE:{iJr(this,t);break}case pe.AFTER_BODY:{oJr(this,t);break}case pe.IN_FRAMESET:{cJr(this,t);break}case pe.AFTER_FRAMESET:{lJr(this,t);break}case pe.AFTER_AFTER_BODY:{fJr(this,t);break}case pe.AFTER_AFTER_FRAMESET:{hJr(this,t);break}default:}}onEndTag(t){this.skipNextNewLine=!1,this.currentToken=t,this.currentNotInHTML?_Jr(this,t):this._endTagOutsideForeignContent(t)}_endTagOutsideForeignContent(t){switch(this.insertionMode){case pe.INITIAL:{pk(this,t);break}case pe.BEFORE_HTML:{WWr(this,t);break}case pe.BEFORE_HEAD:{JWr(this,t);break}case pe.IN_HEAD:{ZWr(this,t);break}case pe.IN_HEAD_NO_SCRIPT:{tXr(this,t);break}case pe.AFTER_HEAD:{nXr(this,t);break}case pe.IN_BODY:{MH(this,t);break}case pe.TEXT:{HXr(this,t);break}case pe.IN_TABLE:{vk(this,t);break}case pe.IN_TABLE_TEXT:{mk(this,t);break}case pe.IN_CAPTION:{ZXr(this,t);break}case pe.IN_COLUMN_GROUP:{eJr(this,t);break}case pe.IN_TABLE_BODY:{TSe(this,t);break}case pe.IN_ROW:{rwt(this,t);break}case pe.IN_CELL:{rJr(this,t);break}case pe.IN_SELECT:{swt(this,t);break}case pe.IN_SELECT_IN_TABLE:{sJr(this,t);break}case pe.IN_TEMPLATE:{aJr(this,t);break}case pe.AFTER_BODY:{awt(this,t);break}case pe.IN_FRAMESET:{uJr(this,t);break}case pe.AFTER_FRAMESET:{dJr(this,t);break}case pe.AFTER_AFTER_BODY:{OH(this,t);break}default:}}onEof(t){switch(this.insertionMode){case pe.INITIAL:{pk(this,t);break}case pe.BEFORE_HTML:{gk(this,t);break}case pe.BEFORE_HEAD:{_k(this,t);break}case pe.IN_HEAD:{Ak(this,t);break}case pe.IN_HEAD_NO_SCRIPT:{Ek(this,t);break}case pe.AFTER_HEAD:{yk(this,t);break}case pe.IN_BODY:case pe.IN_TABLE:case pe.IN_CAPTION:case pe.IN_COLUMN_GROUP:case pe.IN_TABLE_BODY:case pe.IN_ROW:case pe.IN_CELL:case pe.IN_SELECT:case pe.IN_SELECT_IN_TABLE:{Jxt(this,t);break}case pe.TEXT:{VXr(this,t);break}case pe.IN_TABLE_TEXT:{mk(this,t);break}case pe.IN_TEMPLATE:{iwt(this,t);break}case pe.AFTER_BODY:case pe.IN_FRAMESET:case pe.AFTER_FRAMESET:case pe.AFTER_AFTER_BODY:case pe.AFTER_AFTER_FRAMESET:{ISe(this,t);break}default:}}onWhitespaceCharacter(t){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.chars.charCodeAt(0)===le.LINE_FEED)){if(t.chars.length===1)return;t.chars=t.chars.substr(1)}if(this.tokenizer.inForeignNode){this._insertCharacters(t);return}switch(this.insertionMode){case pe.IN_HEAD:case pe.IN_HEAD_NO_SCRIPT:case pe.AFTER_HEAD:case pe.TEXT:case pe.IN_COLUMN_GROUP:case pe.IN_SELECT:case pe.IN_SELECT_IN_TABLE:case pe.IN_FRAMESET:case pe.AFTER_FRAMESET:{this._insertCharacters(t);break}case pe.IN_BODY:case pe.IN_CAPTION:case pe.IN_CELL:case pe.IN_TEMPLATE:case pe.AFTER_BODY:case pe.AFTER_AFTER_BODY:case pe.AFTER_AFTER_FRAMESET:{Yxt(this,t);break}case pe.IN_TABLE:case pe.IN_TABLE_BODY:case pe.IN_ROW:{vSe(this,t);break}case pe.IN_TABLE_TEXT:{Zxt(this,t);break}default:}}};twt=new Set([N.CAPTION,N.COL,N.COLGROUP,N.TBODY,N.TD,N.TFOOT,N.TH,N.THEAD,N.TR])});function cwt(e,t){return function(n){let s,i=0,a="";for(;s=e.exec(n);)i!==s.index&&(a+=n.substring(i,s.index)),a+=t.get(s[0].charCodeAt(0)),i=s.index+1;return a+n.substring(i)}}var Sps,uwt,lwt,dwt=oe(()=>{Sps=String.prototype.codePointAt==null?(e,t)=>(e.charCodeAt(t)&64512)===55296?(e.charCodeAt(t)-55296)*1024+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t):(e,t)=>e.codePointAt(t);uwt=cwt(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),lwt=cwt(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]))});function EJr(e,t){return t.treeAdapter.isElementNode(e)&&t.treeAdapter.getNamespaceURI(e)===qe.HTML&&AJr.has(t.treeAdapter.getTagName(e))}function xSe(e,t){let r={...yJr,...t};return fwt(e,r)}function vJr(e,t){let r="",n=t.treeAdapter.isElementNode(e)&&t.treeAdapter.getTagName(e)===Ie.TEMPLATE&&t.treeAdapter.getNamespaceURI(e)===qe.HTML?t.treeAdapter.getTemplateContent(e):e,s=t.treeAdapter.getChildNodes(n);if(s)for(let i of s)r+=fwt(i,t);return r}function fwt(e,t){return t.treeAdapter.isElementNode(e)?SJr(e,t):t.treeAdapter.isTextNode(e)?bJr(e,t):t.treeAdapter.isCommentNode(e)?IJr(e,t):t.treeAdapter.isDocumentTypeNode(e)?RJr(e,t):""}function SJr(e,t){let r=t.treeAdapter.getTagName(e);return`<${r}${TJr(e,t)}>${EJr(e,t)?"":`${vJr(e,t)}`}`}function TJr(e,{treeAdapter:t}){let r="";for(let n of t.getAttrList(e)){if(r+=" ",n.namespace)switch(n.namespace){case qe.XML:{r+=`xml:${n.name}`;break}case qe.XMLNS:{n.name!=="xmlns"&&(r+="xmlns:"),r+=n.name;break}case qe.XLINK:{r+=`xlink:${n.name}`;break}default:r+=`${n.prefix}:${n.name}`}else r+=n.name;r+=`="${uwt(n.value)}"`}return r}function bJr(e,t){let{treeAdapter:r}=t,n=r.getTextNodeContent(e),s=r.getParentNode(e),i=s&&r.isElementNode(s)&&r.getTagName(s);return i&&r.getNamespaceURI(s)===qe.HTML&&gSe(i,t.scriptingEnabled)?n:lwt(n)}function IJr(e,{treeAdapter:t}){return``}function RJr(e,{treeAdapter:t}){return``}var AJr,yJr,hwt=oe(()=>{mg();dwt();wH();AJr=new Set([Ie.AREA,Ie.BASE,Ie.BASEFONT,Ie.BGSOUND,Ie.BR,Ie.COL,Ie.EMBED,Ie.FRAME,Ie.HR,Ie.IMG,Ie.INPUT,Ie.KEYGEN,Ie.LINK,Ie.META,Ie.PARAM,Ie.SOURCE,Ie.TRACK,Ie.WBR]);yJr={treeAdapter:kd,scriptingEnabled:!0}});function pwt(e,t){return EC.parse(e,t)}function mwt(e,t,r){typeof e=="string"&&(r=t,t=e,e=null);let n=EC.getFragmentParser(e,r);return n.tokenizer.write(t,!0),n.getFragment()}var wSe=oe(()=>{CSe();wH();CSe();hwt();dk();ySe();mg();vH();_Se()});function gwt(e){let t=e.includes('"')?"'":'"';return t+e+t}function CJr(e,t,r){let n="!DOCTYPE ";return e&&(n+=e),t?n+=` PUBLIC ${gwt(t)}`:r&&(n+=" SYSTEM"),r&&(n+=` ${gwt(r)}`),n}var gg,_wt=oe(()=>{wSe();Wo();gg={isCommentNode:VS,isElementNode:yt,isTextNode:Bu,createDocument(){let e=new Il([]);return e["x-mode"]=bH.DOCUMENT_MODE.NO_QUIRKS,e},createDocumentFragment(){return new Il([])},createElement(e,t,r){let n=Object.create(null),s=Object.create(null),i=Object.create(null);for(let o=0;oBq(a)&&a.name==="!doctype");i?i.data=s??null:(i=new qS("!doctype",s),gg.appendChild(e,i)),i["x-name"]=t,i["x-publicId"]=r,i["x-systemId"]=n},setDocumentMode(e,t){e["x-mode"]=t},getDocumentMode(e){return e["x-mode"]},detachNode(e){if(e.parent){let t=e.parent.children.indexOf(e),{prev:r,next:n}=e;e.prev=null,e.next=null,r&&(r.next=n),n&&(n.prev=r),e.parent.children.splice(t,1),e.parent=null}},insertText(e,t){let r=e.children[e.children.length-1];r&&Bu(r)?r.data+=t:gg.appendChild(e,gg.createTextNode(t))},insertTextBefore(e,t,r){let n=e.children[e.children.indexOf(r)-1];n&&Bu(n)?n.data+=t:gg.insertBefore(e,gg.createTextNode(t),r)},adoptAttributes(e,t){for(let r=0;r{Wo();wSe();_wt();xJr={treeAdapter:gg}});function _g(e){return e===dt.Space||e===dt.NewLine||e===dt.Tab||e===dt.FormFeed||e===dt.CarriageReturn}function UH(e){return e===dt.Slash||e===dt.Gt||_g(e)}function vwt(e){return e>=dt.Zero&&e<=dt.Nine}function wJr(e){return e>=dt.LowerA&&e<=dt.LowerZ||e>=dt.UpperA&&e<=dt.UpperZ}function NJr(e){return e>=dt.UpperA&&e<=dt.UpperF||e>=dt.LowerA&&e<=dt.LowerF}var dt,Ve,t0,qu,vC,NSe=oe(()=>{ek();(function(e){e[e.Tab=9]="Tab",e[e.NewLine=10]="NewLine",e[e.FormFeed=12]="FormFeed",e[e.CarriageReturn=13]="CarriageReturn",e[e.Space=32]="Space",e[e.ExclamationMark=33]="ExclamationMark",e[e.Number=35]="Number",e[e.Amp=38]="Amp",e[e.SingleQuote=39]="SingleQuote",e[e.DoubleQuote=34]="DoubleQuote",e[e.Dash=45]="Dash",e[e.Slash=47]="Slash",e[e.Zero=48]="Zero",e[e.Nine=57]="Nine",e[e.Semi=59]="Semi",e[e.Lt=60]="Lt",e[e.Eq=61]="Eq",e[e.Gt=62]="Gt",e[e.Questionmark=63]="Questionmark",e[e.UpperA=65]="UpperA",e[e.LowerA=97]="LowerA",e[e.UpperF=70]="UpperF",e[e.LowerF=102]="LowerF",e[e.UpperZ=90]="UpperZ",e[e.LowerZ=122]="LowerZ",e[e.LowerX=120]="LowerX",e[e.OpeningSquareBracket=91]="OpeningSquareBracket"})(dt||(dt={}));(function(e){e[e.Text=1]="Text",e[e.BeforeTagName=2]="BeforeTagName",e[e.InTagName=3]="InTagName",e[e.InSelfClosingTag=4]="InSelfClosingTag",e[e.BeforeClosingTagName=5]="BeforeClosingTagName",e[e.InClosingTagName=6]="InClosingTagName",e[e.AfterClosingTagName=7]="AfterClosingTagName",e[e.BeforeAttributeName=8]="BeforeAttributeName",e[e.InAttributeName=9]="InAttributeName",e[e.AfterAttributeName=10]="AfterAttributeName",e[e.BeforeAttributeValue=11]="BeforeAttributeValue",e[e.InAttributeValueDq=12]="InAttributeValueDq",e[e.InAttributeValueSq=13]="InAttributeValueSq",e[e.InAttributeValueNq=14]="InAttributeValueNq",e[e.BeforeDeclaration=15]="BeforeDeclaration",e[e.InDeclaration=16]="InDeclaration",e[e.InProcessingInstruction=17]="InProcessingInstruction",e[e.BeforeComment=18]="BeforeComment",e[e.CDATASequence=19]="CDATASequence",e[e.InSpecialComment=20]="InSpecialComment",e[e.InCommentLike=21]="InCommentLike",e[e.BeforeSpecialS=22]="BeforeSpecialS",e[e.SpecialStartSequence=23]="SpecialStartSequence",e[e.InSpecialTag=24]="InSpecialTag",e[e.BeforeEntity=25]="BeforeEntity",e[e.BeforeNumericEntity=26]="BeforeNumericEntity",e[e.InNamedEntity=27]="InNamedEntity",e[e.InNumericEntity=28]="InNumericEntity",e[e.InHexEntity=29]="InHexEntity"})(Ve||(Ve={}));(function(e){e[e.NoValue=0]="NoValue",e[e.Unquoted=1]="Unquoted",e[e.Single=2]="Single",e[e.Double=3]="Double"})(t0||(t0={}));qu={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101])},vC=class{constructor({xmlMode:t=!1,decodeEntities:r=!0},n){this.cbs=n,this.state=Ve.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=Ve.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.trieIndex=0,this.trieCurrent=0,this.entityResult=0,this.entityExcess=0,this.xmlMode=t,this.decodeEntities=r,this.entityTrie=t?Fq:Uq}reset(){this.state=Ve.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=Ve.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(t){this.offset+=this.buffer.length,this.buffer=t,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.indexthis.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=Ve.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&t===dt.Amp&&(this.state=Ve.BeforeEntity)}stateSpecialStartSequence(t){let r=this.sequenceIndex===this.currentSequence.length;if(!(r?UH(t):(t|32)===this.currentSequence[this.sequenceIndex]))this.isSpecial=!1;else if(!r){this.sequenceIndex++;return}this.sequenceIndex=0,this.state=Ve.InTagName,this.stateInTagName(t)}stateInSpecialTag(t){if(this.sequenceIndex===this.currentSequence.length){if(t===dt.Gt||_g(t)){let r=this.index-this.currentSequence.length;if(this.sectionStart>14)-1;if(!this.allowLegacyEntity()&&t!==dt.Semi)this.trieIndex+=n;else{let s=this.index-this.entityExcess+1;s>this.sectionStart&&this.emitPartial(this.sectionStart,s),this.entityResult=this.trieIndex,this.trieIndex+=n,this.entityExcess=0,this.sectionStart=this.index+1,n===0&&this.emitNamedEntity()}}}emitNamedEntity(){if(this.state=this.baseState,this.entityResult===0)return;switch((this.entityTrie[this.entityResult]&Dd.VALUE_LENGTH)>>14){case 1:{this.emitCodePoint(this.entityTrie[this.entityResult]&~Dd.VALUE_LENGTH);break}case 2:{this.emitCodePoint(this.entityTrie[this.entityResult+1]);break}case 3:this.emitCodePoint(this.entityTrie[this.entityResult+1]),this.emitCodePoint(this.entityTrie[this.entityResult+2])}}stateBeforeNumericEntity(t){(t|32)===dt.LowerX?(this.entityExcess++,this.state=Ve.InHexEntity):(this.state=Ve.InNumericEntity,this.stateInNumericEntity(t))}emitNumericEntity(t){let r=this.index-this.entityExcess-1;r+2+ +(this.state===Ve.InHexEntity)!==this.index&&(r>this.sectionStart&&this.emitPartial(this.sectionStart,r),this.sectionStart=this.index+Number(t),this.emitCodePoint(ZM(this.entityResult))),this.state=this.baseState}stateInNumericEntity(t){t===dt.Semi?this.emitNumericEntity(!0):vwt(t)?(this.entityResult=this.entityResult*10+(t-dt.Zero),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)}stateInHexEntity(t){t===dt.Semi?this.emitNumericEntity(!0):vwt(t)?(this.entityResult=this.entityResult*16+(t-dt.Zero),this.entityExcess++):NJr(t)?(this.entityResult=this.entityResult*16+((t|32)-dt.LowerA+10),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)}allowLegacyEntity(){return!this.xmlMode&&(this.baseState===Ve.Text||this.baseState===Ve.InSpecialTag)}cleanup(){this.running&&this.sectionStart!==this.index&&(this.state===Ve.Text||this.state===Ve.InSpecialTag&&this.sequenceIndex===0?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):(this.state===Ve.InAttributeValueDq||this.state===Ve.InAttributeValueSq||this.state===Ve.InAttributeValueNq)&&(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}shouldContinue(){return this.index{NSe();ek();SC=new Set(["input","option","optgroup","select","button","datalist","textarea"]),us=new Set(["p"]),Swt=new Set(["thead","tbody"]),Twt=new Set(["dd","dt"]),bwt=new Set(["rt","rp"]),OJr=new Map([["tr",new Set(["tr","th","td"])],["th",new Set(["th"])],["td",new Set(["thead","th","td"])],["body",new Set(["head","link","script"])],["li",new Set(["li"])],["p",us],["h1",us],["h2",us],["h3",us],["h4",us],["h5",us],["h6",us],["select",SC],["input",SC],["output",SC],["button",SC],["datalist",SC],["textarea",SC],["option",new Set(["option"])],["optgroup",new Set(["optgroup","option"])],["dd",Twt],["dt",Twt],["address",us],["article",us],["aside",us],["blockquote",us],["details",us],["div",us],["dl",us],["fieldset",us],["figcaption",us],["figure",us],["footer",us],["form",us],["header",us],["hr",us],["main",us],["nav",us],["ol",us],["pre",us],["section",us],["table",us],["ul",us],["rt",bwt],["rp",bwt],["tbody",Swt],["tfoot",Swt]]),DJr=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),Iwt=new Set(["math","svg"]),Rwt=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignobject","desc","title"]),PJr=/\s|\//,Tk=class{constructor(t,r={}){var n,s,i,a,o;this.options=r,this.startIndex=0,this.endIndex=0,this.openTagStart=0,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.foreignContext=[],this.buffers=[],this.bufferOffset=0,this.writeIndex=0,this.ended=!1,this.cbs=t??{},this.lowerCaseTagNames=(n=r.lowerCaseTags)!==null&&n!==void 0?n:!r.xmlMode,this.lowerCaseAttributeNames=(s=r.lowerCaseAttributeNames)!==null&&s!==void 0?s:!r.xmlMode,this.tokenizer=new((i=r.Tokenizer)!==null&&i!==void 0?i:vC)(this.options,this),(o=(a=this.cbs).onparserinit)===null||o===void 0||o.call(a,this)}ontext(t,r){var n,s;let i=this.getSlice(t,r);this.endIndex=r-1,(s=(n=this.cbs).ontext)===null||s===void 0||s.call(n,i),this.startIndex=r}ontextentity(t){var r,n;let s=this.tokenizer.getSectionStart();this.endIndex=s-1,(n=(r=this.cbs).ontext)===null||n===void 0||n.call(r,iC(t)),this.startIndex=s}isVoidElement(t){return!this.options.xmlMode&&DJr.has(t)}onopentagname(t,r){this.endIndex=r;let n=this.getSlice(t,r);this.lowerCaseTagNames&&(n=n.toLowerCase()),this.emitOpenTag(n)}emitOpenTag(t){var r,n,s,i;this.openTagStart=this.startIndex,this.tagname=t;let a=!this.options.xmlMode&&OJr.get(t);if(a)for(;this.stack.length>0&&a.has(this.stack[this.stack.length-1]);){let o=this.stack.pop();(n=(r=this.cbs).onclosetag)===null||n===void 0||n.call(r,o,!0)}this.isVoidElement(t)||(this.stack.push(t),Iwt.has(t)?this.foreignContext.push(!0):Rwt.has(t)&&this.foreignContext.push(!1)),(i=(s=this.cbs).onopentagname)===null||i===void 0||i.call(s,t),this.cbs.onopentag&&(this.attribs={})}endOpenTag(t){var r,n;this.startIndex=this.openTagStart,this.attribs&&((n=(r=this.cbs).onopentag)===null||n===void 0||n.call(r,this.tagname,this.attribs,t),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(t){this.endIndex=t,this.endOpenTag(!1),this.startIndex=t+1}onclosetag(t,r){var n,s,i,a,o,c;this.endIndex=r;let u=this.getSlice(t,r);if(this.lowerCaseTagNames&&(u=u.toLowerCase()),(Iwt.has(u)||Rwt.has(u))&&this.foreignContext.pop(),this.isVoidElement(u))!this.options.xmlMode&&u==="br"&&((s=(n=this.cbs).onopentagname)===null||s===void 0||s.call(n,"br"),(a=(i=this.cbs).onopentag)===null||a===void 0||a.call(i,"br",{},!0),(c=(o=this.cbs).onclosetag)===null||c===void 0||c.call(o,"br",!1));else{let l=this.stack.lastIndexOf(u);if(l!==-1)if(this.cbs.onclosetag){let d=this.stack.length-l;for(;d--;)this.cbs.onclosetag(this.stack.pop(),d!==0)}else this.stack.length=l;else!this.options.xmlMode&&u==="p"&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=r+1}onselfclosingtag(t){this.endIndex=t,this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?(this.closeCurrentTag(!1),this.startIndex=t+1):this.onopentagend(t)}closeCurrentTag(t){var r,n;let s=this.tagname;this.endOpenTag(t),this.stack[this.stack.length-1]===s&&((n=(r=this.cbs).onclosetag)===null||n===void 0||n.call(r,s,!t),this.stack.pop())}onattribname(t,r){this.startIndex=t;let n=this.getSlice(t,r);this.attribname=this.lowerCaseAttributeNames?n.toLowerCase():n}onattribdata(t,r){this.attribvalue+=this.getSlice(t,r)}onattribentity(t){this.attribvalue+=iC(t)}onattribend(t,r){var n,s;this.endIndex=r,(s=(n=this.cbs).onattribute)===null||s===void 0||s.call(n,this.attribname,this.attribvalue,t===t0.Double?'"':t===t0.Single?"'":t===t0.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(t){let r=t.search(PJr),n=r<0?t:t.substr(0,r);return this.lowerCaseTagNames&&(n=n.toLowerCase()),n}ondeclaration(t,r){this.endIndex=r;let n=this.getSlice(t,r);if(this.cbs.onprocessinginstruction){let s=this.getInstructionName(n);this.cbs.onprocessinginstruction(`!${s}`,`!${n}`)}this.startIndex=r+1}onprocessinginstruction(t,r){this.endIndex=r;let n=this.getSlice(t,r);if(this.cbs.onprocessinginstruction){let s=this.getInstructionName(n);this.cbs.onprocessinginstruction(`?${s}`,`?${n}`)}this.startIndex=r+1}oncomment(t,r,n){var s,i,a,o;this.endIndex=r,(i=(s=this.cbs).oncomment)===null||i===void 0||i.call(s,this.getSlice(t,r-n)),(o=(a=this.cbs).oncommentend)===null||o===void 0||o.call(a),this.startIndex=r+1}oncdata(t,r,n){var s,i,a,o,c,u,l,d,f,h;this.endIndex=r;let p=this.getSlice(t,r-n);this.options.xmlMode||this.options.recognizeCDATA?((i=(s=this.cbs).oncdatastart)===null||i===void 0||i.call(s),(o=(a=this.cbs).ontext)===null||o===void 0||o.call(a,p),(u=(c=this.cbs).oncdataend)===null||u===void 0||u.call(c)):((d=(l=this.cbs).oncomment)===null||d===void 0||d.call(l,`[CDATA[${p}]]`),(h=(f=this.cbs).oncommentend)===null||h===void 0||h.call(f)),this.startIndex=r+1}onend(){var t,r;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let n=this.stack.length;n>0;this.cbs.onclosetag(this.stack[--n],!0));}(r=(t=this.cbs).onend)===null||r===void 0||r.call(t)}reset(){var t,r,n,s;(r=(t=this.cbs).onreset)===null||r===void 0||r.call(t),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,(s=(n=this.cbs).onparserinit)===null||s===void 0||s.call(n,this),this.buffers.length=0,this.bufferOffset=0,this.writeIndex=0,this.ended=!1}parseComplete(t){this.reset(),this.end(t)}getSlice(t,r){for(;t-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();let n=this.buffers[0].slice(t-this.bufferOffset,r-this.bufferOffset);for(;r-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),n+=this.buffers[0].slice(0,r-this.bufferOffset);return n}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(t){var r,n;if(this.ended){(n=(r=this.cbs).onerror)===null||n===void 0||n.call(r,new Error(".write() after done!"));return}this.buffers.push(t),this.tokenizer.running&&(this.tokenizer.write(t),this.writeIndex++)}end(t){var r,n;if(this.ended){(n=(r=this.cbs).onerror)===null||n===void 0||n.call(r,new Error(".end() after done!"));return}t&&this.write(t),this.ended=!0,this.tokenizer.end()}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex{OSe();OSe();Wo();Wo();NSe();rC();Xf();Xf();Xf()});var LJr,Br,WS,oms,cms,ums,lms,Fh=oe(()=>{uRt();mxt();iSe();ywt();yve();xwt();KS();KS();LJr=nxt((e,t,r,n)=>t.xmlMode||t._useHtmlParser2?Cwt(e,t):Awt(e,t,r,n)),Br=pxt(LJr,(e,t)=>t.xmlMode||t._useHtmlParser2?Kq(e,t):Ewt(e)),WS=Br([]),{contains:oms}=QA,{merge:cms}=QA,{parseHTML:ums}=QA,{root:lms}=QA});var zr=S((FH,Nwt)=>{(function(e,t){typeof FH=="object"?Nwt.exports=FH=t():typeof define=="function"&&define.amd?define([],t):e.CryptoJS=t()})(FH,function(){var e=e||function(t,r){var n;if(typeof window<"u"&&window.crypto&&(n=window.crypto),typeof self<"u"&&self.crypto&&(n=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(n=globalThis.crypto),!n&&typeof window<"u"&&window.msCrypto&&(n=window.msCrypto),!n&&typeof global<"u"&&global.crypto&&(n=global.crypto),!n&&typeof require=="function")try{n=require("crypto")}catch{}var s=function(){if(n){if(typeof n.getRandomValues=="function")try{return n.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof n.randomBytes=="function")try{return n.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},i=Object.create||function(){function _(){}return function(y){var E;return _.prototype=y,E=new _,_.prototype=null,E}}(),a={},o=a.lib={},c=o.Base=function(){return{extend:function(_){var y=i(this);return _&&y.mixIn(_),(!y.hasOwnProperty("init")||this.init===y.init)&&(y.init=function(){y.$super.init.apply(this,arguments)}),y.init.prototype=y,y.$super=this,y},create:function(){var _=this.extend();return _.init.apply(_,arguments),_},init:function(){},mixIn:function(_){for(var y in _)_.hasOwnProperty(y)&&(this[y]=_[y]);_.hasOwnProperty("toString")&&(this.toString=_.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),u=o.WordArray=c.extend({init:function(_,y){_=this.words=_||[],y!=r?this.sigBytes=y:this.sigBytes=_.length*4},toString:function(_){return(_||d).stringify(this)},concat:function(_){var y=this.words,E=_.words,A=this.sigBytes,v=_.sigBytes;if(this.clamp(),A%4)for(var T=0;T>>2]>>>24-T%4*8&255;y[A+T>>>2]|=C<<24-(A+T)%4*8}else for(var b=0;b>>2]=E[b>>>2];return this.sigBytes+=v,this},clamp:function(){var _=this.words,y=this.sigBytes;_[y>>>2]&=4294967295<<32-y%4*8,_.length=t.ceil(y/4)},clone:function(){var _=c.clone.call(this);return _.words=this.words.slice(0),_},random:function(_){for(var y=[],E=0;E<_;E+=4)y.push(s());return new u.init(y,_)}}),l=a.enc={},d=l.Hex={stringify:function(_){for(var y=_.words,E=_.sigBytes,A=[],v=0;v>>2]>>>24-v%4*8&255;A.push((T>>>4).toString(16)),A.push((T&15).toString(16))}return A.join("")},parse:function(_){for(var y=_.length,E=[],A=0;A>>3]|=parseInt(_.substr(A,2),16)<<24-A%8*4;return new u.init(E,y/2)}},f=l.Latin1={stringify:function(_){for(var y=_.words,E=_.sigBytes,A=[],v=0;v>>2]>>>24-v%4*8&255;A.push(String.fromCharCode(T))}return A.join("")},parse:function(_){for(var y=_.length,E=[],A=0;A>>2]|=(_.charCodeAt(A)&255)<<24-A%4*8;return new u.init(E,y)}},h=l.Utf8={stringify:function(_){try{return decodeURIComponent(escape(f.stringify(_)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(_){return f.parse(unescape(encodeURIComponent(_)))}},p=o.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new u.init,this._nDataBytes=0},_append:function(_){typeof _=="string"&&(_=h.parse(_)),this._data.concat(_),this._nDataBytes+=_.sigBytes},_process:function(_){var y,E=this._data,A=E.words,v=E.sigBytes,T=this.blockSize,C=T*4,b=v/C;_?b=t.ceil(b):b=t.max((b|0)-this._minBufferSize,0);var x=b*T,w=t.min(x*4,v);if(x){for(var P=0;P{(function(e,t){typeof $H=="object"?Owt.exports=$H=t(zr()):typeof define=="function"&&define.amd?define(["./core"],t):t(e.CryptoJS)})($H,function(e){return function(t){var r=e,n=r.lib,s=n.Base,i=n.WordArray,a=r.x64={},o=a.Word=s.extend({init:function(u,l){this.high=u,this.low=l}}),c=a.WordArray=s.extend({init:function(u,l){u=this.words=u||[],l!=t?this.sigBytes=l:this.sigBytes=u.length*8},toX32:function(){for(var u=this.words,l=u.length,d=[],f=0;f{(function(e,t){typeof qH=="object"?Dwt.exports=qH=t(zr()):typeof define=="function"&&define.amd?define(["./core"],t):t(e.CryptoJS)})(qH,function(e){return function(){if(typeof ArrayBuffer=="function"){var t=e,r=t.lib,n=r.WordArray,s=n.init,i=n.init=function(a){if(a instanceof ArrayBuffer&&(a=new Uint8Array(a)),(a instanceof Int8Array||typeof Uint8ClampedArray<"u"&&a instanceof Uint8ClampedArray||a instanceof Int16Array||a instanceof Uint16Array||a instanceof Int32Array||a instanceof Uint32Array||a instanceof Float32Array||a instanceof Float64Array)&&(a=new Uint8Array(a.buffer,a.byteOffset,a.byteLength)),a instanceof Uint8Array){for(var o=a.byteLength,c=[],u=0;u>>2]|=a[u]<<24-u%4*8;s.call(this,c,o)}else s.apply(this,arguments)};i.prototype=n}}(),e.lib.WordArray})});var Mwt=S((HH,Lwt)=>{(function(e,t){typeof HH=="object"?Lwt.exports=HH=t(zr()):typeof define=="function"&&define.amd?define(["./core"],t):t(e.CryptoJS)})(HH,function(e){return function(){var t=e,r=t.lib,n=r.WordArray,s=t.enc,i=s.Utf16=s.Utf16BE={stringify:function(o){for(var c=o.words,u=o.sigBytes,l=[],d=0;d>>2]>>>16-d%4*8&65535;l.push(String.fromCharCode(f))}return l.join("")},parse:function(o){for(var c=o.length,u=[],l=0;l>>1]|=o.charCodeAt(l)<<16-l%2*16;return n.create(u,c*2)}};s.Utf16LE={stringify:function(o){for(var c=o.words,u=o.sigBytes,l=[],d=0;d>>2]>>>16-d%4*8&65535);l.push(String.fromCharCode(f))}return l.join("")},parse:function(o){for(var c=o.length,u=[],l=0;l>>1]|=a(o.charCodeAt(l)<<16-l%2*16);return n.create(u,c*2)}};function a(o){return o<<8&4278255360|o>>>8&16711935}}(),e.enc.Utf16})});var rE=S((VH,kwt)=>{(function(e,t){typeof VH=="object"?kwt.exports=VH=t(zr()):typeof define=="function"&&define.amd?define(["./core"],t):t(e.CryptoJS)})(VH,function(e){return function(){var t=e,r=t.lib,n=r.WordArray,s=t.enc,i=s.Base64={stringify:function(o){var c=o.words,u=o.sigBytes,l=this._map;o.clamp();for(var d=[],f=0;f>>2]>>>24-f%4*8&255,p=c[f+1>>>2]>>>24-(f+1)%4*8&255,m=c[f+2>>>2]>>>24-(f+2)%4*8&255,g=h<<16|p<<8|m,_=0;_<4&&f+_*.75>>6*(3-_)&63));var y=l.charAt(64);if(y)for(;d.length%4;)d.push(y);return d.join("")},parse:function(o){var c=o.length,u=this._map,l=this._reverseMap;if(!l){l=this._reverseMap=[];for(var d=0;d>>6-f%4*2,m=h|p;l[d>>>2]|=m<<24-d%4*8,d++}return n.create(l,d)}}(),e.enc.Base64})});var Uwt=S((jH,Bwt)=>{(function(e,t){typeof jH=="object"?Bwt.exports=jH=t(zr()):typeof define=="function"&&define.amd?define(["./core"],t):t(e.CryptoJS)})(jH,function(e){return function(){var t=e,r=t.lib,n=r.WordArray,s=t.enc,i=s.Base64url={stringify:function(o,c){c===void 0&&(c=!0);var u=o.words,l=o.sigBytes,d=c?this._safe_map:this._map;o.clamp();for(var f=[],h=0;h>>2]>>>24-h%4*8&255,m=u[h+1>>>2]>>>24-(h+1)%4*8&255,g=u[h+2>>>2]>>>24-(h+2)%4*8&255,_=p<<16|m<<8|g,y=0;y<4&&h+y*.75>>6*(3-y)&63));var E=d.charAt(64);if(E)for(;f.length%4;)f.push(E);return f.join("")},parse:function(o,c){c===void 0&&(c=!0);var u=o.length,l=c?this._safe_map:this._map,d=this._reverseMap;if(!d){d=this._reverseMap=[];for(var f=0;f>>6-f%4*2,m=h|p;l[d>>>2]|=m<<24-d%4*8,d++}return n.create(l,d)}}(),e.enc.Base64url})});var nE=S((KH,Fwt)=>{(function(e,t){typeof KH=="object"?Fwt.exports=KH=t(zr()):typeof define=="function"&&define.amd?define(["./core"],t):t(e.CryptoJS)})(KH,function(e){return function(t){var r=e,n=r.lib,s=n.WordArray,i=n.Hasher,a=r.algo,o=[];(function(){for(var h=0;h<64;h++)o[h]=t.abs(t.sin(h+1))*4294967296|0})();var c=a.MD5=i.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(h,p){for(var m=0;m<16;m++){var g=p+m,_=h[g];h[g]=(_<<8|_>>>24)&16711935|(_<<24|_>>>8)&4278255360}var y=this._hash.words,E=h[p+0],A=h[p+1],v=h[p+2],T=h[p+3],C=h[p+4],b=h[p+5],x=h[p+6],w=h[p+7],P=h[p+8],M=h[p+9],L=h[p+10],U=h[p+11],Y=h[p+12],$=h[p+13],V=h[p+14],W=h[p+15],G=y[0],se=y[1],ue=y[2],te=y[3];G=u(G,se,ue,te,E,7,o[0]),te=u(te,G,se,ue,A,12,o[1]),ue=u(ue,te,G,se,v,17,o[2]),se=u(se,ue,te,G,T,22,o[3]),G=u(G,se,ue,te,C,7,o[4]),te=u(te,G,se,ue,b,12,o[5]),ue=u(ue,te,G,se,x,17,o[6]),se=u(se,ue,te,G,w,22,o[7]),G=u(G,se,ue,te,P,7,o[8]),te=u(te,G,se,ue,M,12,o[9]),ue=u(ue,te,G,se,L,17,o[10]),se=u(se,ue,te,G,U,22,o[11]),G=u(G,se,ue,te,Y,7,o[12]),te=u(te,G,se,ue,$,12,o[13]),ue=u(ue,te,G,se,V,17,o[14]),se=u(se,ue,te,G,W,22,o[15]),G=l(G,se,ue,te,A,5,o[16]),te=l(te,G,se,ue,x,9,o[17]),ue=l(ue,te,G,se,U,14,o[18]),se=l(se,ue,te,G,E,20,o[19]),G=l(G,se,ue,te,b,5,o[20]),te=l(te,G,se,ue,L,9,o[21]),ue=l(ue,te,G,se,W,14,o[22]),se=l(se,ue,te,G,C,20,o[23]),G=l(G,se,ue,te,M,5,o[24]),te=l(te,G,se,ue,V,9,o[25]),ue=l(ue,te,G,se,T,14,o[26]),se=l(se,ue,te,G,P,20,o[27]),G=l(G,se,ue,te,$,5,o[28]),te=l(te,G,se,ue,v,9,o[29]),ue=l(ue,te,G,se,w,14,o[30]),se=l(se,ue,te,G,Y,20,o[31]),G=d(G,se,ue,te,b,4,o[32]),te=d(te,G,se,ue,P,11,o[33]),ue=d(ue,te,G,se,U,16,o[34]),se=d(se,ue,te,G,V,23,o[35]),G=d(G,se,ue,te,A,4,o[36]),te=d(te,G,se,ue,C,11,o[37]),ue=d(ue,te,G,se,w,16,o[38]),se=d(se,ue,te,G,L,23,o[39]),G=d(G,se,ue,te,$,4,o[40]),te=d(te,G,se,ue,E,11,o[41]),ue=d(ue,te,G,se,T,16,o[42]),se=d(se,ue,te,G,x,23,o[43]),G=d(G,se,ue,te,M,4,o[44]),te=d(te,G,se,ue,Y,11,o[45]),ue=d(ue,te,G,se,W,16,o[46]),se=d(se,ue,te,G,v,23,o[47]),G=f(G,se,ue,te,E,6,o[48]),te=f(te,G,se,ue,w,10,o[49]),ue=f(ue,te,G,se,V,15,o[50]),se=f(se,ue,te,G,b,21,o[51]),G=f(G,se,ue,te,Y,6,o[52]),te=f(te,G,se,ue,T,10,o[53]),ue=f(ue,te,G,se,L,15,o[54]),se=f(se,ue,te,G,A,21,o[55]),G=f(G,se,ue,te,P,6,o[56]),te=f(te,G,se,ue,W,10,o[57]),ue=f(ue,te,G,se,x,15,o[58]),se=f(se,ue,te,G,$,21,o[59]),G=f(G,se,ue,te,C,6,o[60]),te=f(te,G,se,ue,U,10,o[61]),ue=f(ue,te,G,se,v,15,o[62]),se=f(se,ue,te,G,M,21,o[63]),y[0]=y[0]+G|0,y[1]=y[1]+se|0,y[2]=y[2]+ue|0,y[3]=y[3]+te|0},_doFinalize:function(){var h=this._data,p=h.words,m=this._nDataBytes*8,g=h.sigBytes*8;p[g>>>5]|=128<<24-g%32;var _=t.floor(m/4294967296),y=m;p[(g+64>>>9<<4)+15]=(_<<8|_>>>24)&16711935|(_<<24|_>>>8)&4278255360,p[(g+64>>>9<<4)+14]=(y<<8|y>>>24)&16711935|(y<<24|y>>>8)&4278255360,h.sigBytes=(p.length+1)*4,this._process();for(var E=this._hash,A=E.words,v=0;v<4;v++){var T=A[v];A[v]=(T<<8|T>>>24)&16711935|(T<<24|T>>>8)&4278255360}return E},clone:function(){var h=i.clone.call(this);return h._hash=this._hash.clone(),h}});function u(h,p,m,g,_,y,E){var A=h+(p&m|~p&g)+_+E;return(A<>>32-y)+p}function l(h,p,m,g,_,y,E){var A=h+(p&g|m&~g)+_+E;return(A<>>32-y)+p}function d(h,p,m,g,_,y,E){var A=h+(p^m^g)+_+E;return(A<>>32-y)+p}function f(h,p,m,g,_,y,E){var A=h+(m^(p|~g))+_+E;return(A<>>32-y)+p}r.MD5=i._createHelper(c),r.HmacMD5=i._createHmacHelper(c)}(Math),e.MD5})});var DSe=S((GH,$wt)=>{(function(e,t){typeof GH=="object"?$wt.exports=GH=t(zr()):typeof define=="function"&&define.amd?define(["./core"],t):t(e.CryptoJS)})(GH,function(e){return function(){var t=e,r=t.lib,n=r.WordArray,s=r.Hasher,i=t.algo,a=[],o=i.SHA1=s.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(c,u){for(var l=this._hash.words,d=l[0],f=l[1],h=l[2],p=l[3],m=l[4],g=0;g<80;g++){if(g<16)a[g]=c[u+g]|0;else{var _=a[g-3]^a[g-8]^a[g-14]^a[g-16];a[g]=_<<1|_>>>31}var y=(d<<5|d>>>27)+m+a[g];g<20?y+=(f&h|~f&p)+1518500249:g<40?y+=(f^h^p)+1859775393:g<60?y+=(f&h|f&p|h&p)-1894007588:y+=(f^h^p)-899497514,m=p,p=h,h=f<<30|f>>>2,f=d,d=y}l[0]=l[0]+d|0,l[1]=l[1]+f|0,l[2]=l[2]+h|0,l[3]=l[3]+p|0,l[4]=l[4]+m|0},_doFinalize:function(){var c=this._data,u=c.words,l=this._nDataBytes*8,d=c.sigBytes*8;return u[d>>>5]|=128<<24-d%32,u[(d+64>>>9<<4)+14]=Math.floor(l/4294967296),u[(d+64>>>9<<4)+15]=l,c.sigBytes=u.length*4,this._process(),this._hash},clone:function(){var c=s.clone.call(this);return c._hash=this._hash.clone(),c}});t.SHA1=s._createHelper(o),t.HmacSHA1=s._createHmacHelper(o)}(),e.SHA1})});var QH=S((YH,qwt)=>{(function(e,t){typeof YH=="object"?qwt.exports=YH=t(zr()):typeof define=="function"&&define.amd?define(["./core"],t):t(e.CryptoJS)})(YH,function(e){return function(t){var r=e,n=r.lib,s=n.WordArray,i=n.Hasher,a=r.algo,o=[],c=[];(function(){function d(m){for(var g=t.sqrt(m),_=2;_<=g;_++)if(!(m%_))return!1;return!0}function f(m){return(m-(m|0))*4294967296|0}for(var h=2,p=0;p<64;)d(h)&&(p<8&&(o[p]=f(t.pow(h,1/2))),c[p]=f(t.pow(h,1/3)),p++),h++})();var u=[],l=a.SHA256=i.extend({_doReset:function(){this._hash=new s.init(o.slice(0))},_doProcessBlock:function(d,f){for(var h=this._hash.words,p=h[0],m=h[1],g=h[2],_=h[3],y=h[4],E=h[5],A=h[6],v=h[7],T=0;T<64;T++){if(T<16)u[T]=d[f+T]|0;else{var C=u[T-15],b=(C<<25|C>>>7)^(C<<14|C>>>18)^C>>>3,x=u[T-2],w=(x<<15|x>>>17)^(x<<13|x>>>19)^x>>>10;u[T]=b+u[T-7]+w+u[T-16]}var P=y&E^~y&A,M=p&m^p&g^m&g,L=(p<<30|p>>>2)^(p<<19|p>>>13)^(p<<10|p>>>22),U=(y<<26|y>>>6)^(y<<21|y>>>11)^(y<<7|y>>>25),Y=v+U+P+c[T]+u[T],$=L+M;v=A,A=E,E=y,y=_+Y|0,_=g,g=m,m=p,p=Y+$|0}h[0]=h[0]+p|0,h[1]=h[1]+m|0,h[2]=h[2]+g|0,h[3]=h[3]+_|0,h[4]=h[4]+y|0,h[5]=h[5]+E|0,h[6]=h[6]+A|0,h[7]=h[7]+v|0},_doFinalize:function(){var d=this._data,f=d.words,h=this._nDataBytes*8,p=d.sigBytes*8;return f[p>>>5]|=128<<24-p%32,f[(p+64>>>9<<4)+14]=t.floor(h/4294967296),f[(p+64>>>9<<4)+15]=h,d.sigBytes=f.length*4,this._process(),this._hash},clone:function(){var d=i.clone.call(this);return d._hash=this._hash.clone(),d}});r.SHA256=i._createHelper(l),r.HmacSHA256=i._createHmacHelper(l)}(Math),e.SHA256})});var Vwt=S((zH,Hwt)=>{(function(e,t,r){typeof zH=="object"?Hwt.exports=zH=t(zr(),QH()):typeof define=="function"&&define.amd?define(["./core","./sha256"],t):t(e.CryptoJS)})(zH,function(e){return function(){var t=e,r=t.lib,n=r.WordArray,s=t.algo,i=s.SHA256,a=s.SHA224=i.extend({_doReset:function(){this._hash=new n.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var o=i._doFinalize.call(this);return o.sigBytes-=4,o}});t.SHA224=i._createHelper(a),t.HmacSHA224=i._createHmacHelper(a)}(),e.SHA224})});var PSe=S((WH,jwt)=>{(function(e,t,r){typeof WH=="object"?jwt.exports=WH=t(zr(),bk()):typeof define=="function"&&define.amd?define(["./core","./x64-core"],t):t(e.CryptoJS)})(WH,function(e){return function(){var t=e,r=t.lib,n=r.Hasher,s=t.x64,i=s.Word,a=s.WordArray,o=t.algo;function c(){return i.create.apply(i,arguments)}var u=[c(1116352408,3609767458),c(1899447441,602891725),c(3049323471,3964484399),c(3921009573,2173295548),c(961987163,4081628472),c(1508970993,3053834265),c(2453635748,2937671579),c(2870763221,3664609560),c(3624381080,2734883394),c(310598401,1164996542),c(607225278,1323610764),c(1426881987,3590304994),c(1925078388,4068182383),c(2162078206,991336113),c(2614888103,633803317),c(3248222580,3479774868),c(3835390401,2666613458),c(4022224774,944711139),c(264347078,2341262773),c(604807628,2007800933),c(770255983,1495990901),c(1249150122,1856431235),c(1555081692,3175218132),c(1996064986,2198950837),c(2554220882,3999719339),c(2821834349,766784016),c(2952996808,2566594879),c(3210313671,3203337956),c(3336571891,1034457026),c(3584528711,2466948901),c(113926993,3758326383),c(338241895,168717936),c(666307205,1188179964),c(773529912,1546045734),c(1294757372,1522805485),c(1396182291,2643833823),c(1695183700,2343527390),c(1986661051,1014477480),c(2177026350,1206759142),c(2456956037,344077627),c(2730485921,1290863460),c(2820302411,3158454273),c(3259730800,3505952657),c(3345764771,106217008),c(3516065817,3606008344),c(3600352804,1432725776),c(4094571909,1467031594),c(275423344,851169720),c(430227734,3100823752),c(506948616,1363258195),c(659060556,3750685593),c(883997877,3785050280),c(958139571,3318307427),c(1322822218,3812723403),c(1537002063,2003034995),c(1747873779,3602036899),c(1955562222,1575990012),c(2024104815,1125592928),c(2227730452,2716904306),c(2361852424,442776044),c(2428436474,593698344),c(2756734187,3733110249),c(3204031479,2999351573),c(3329325298,3815920427),c(3391569614,3928383900),c(3515267271,566280711),c(3940187606,3454069534),c(4118630271,4000239992),c(116418474,1914138554),c(174292421,2731055270),c(289380356,3203993006),c(460393269,320620315),c(685471733,587496836),c(852142971,1086792851),c(1017036298,365543100),c(1126000580,2618297676),c(1288033470,3409855158),c(1501505948,4234509866),c(1607167915,987167468),c(1816402316,1246189591)],l=[];(function(){for(var f=0;f<80;f++)l[f]=c()})();var d=o.SHA512=n.extend({_doReset:function(){this._hash=new a.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(f,h){for(var p=this._hash.words,m=p[0],g=p[1],_=p[2],y=p[3],E=p[4],A=p[5],v=p[6],T=p[7],C=m.high,b=m.low,x=g.high,w=g.low,P=_.high,M=_.low,L=y.high,U=y.low,Y=E.high,$=E.low,V=A.high,W=A.low,G=v.high,se=v.low,ue=T.high,te=T.low,Q=C,ee=b,de=x,B=w,k=P,J=M,D=L,H=U,K=Y,q=$,z=V,Z=W,ae=G,ne=se,ie=ue,X=te,ce=0;ce<80;ce++){var me,be,Ne=l[ce];if(ce<16)be=Ne.high=f[h+ce*2]|0,me=Ne.low=f[h+ce*2+1]|0;else{var De=l[ce-15],je=De.high,Ae=De.low,ge=(je>>>1|Ae<<31)^(je>>>8|Ae<<24)^je>>>7,Ee=(Ae>>>1|je<<31)^(Ae>>>8|je<<24)^(Ae>>>7|je<<25),_e=l[ce-2],ve=_e.high,Re=_e.low,Me=(ve>>>19|Re<<13)^(ve<<3|Re>>>29)^ve>>>6,Ce=(Re>>>19|ve<<13)^(Re<<3|ve>>>29)^(Re>>>6|ve<<26),$e=l[ce-7],Qe=$e.high,Ue=$e.low,ze=l[ce-16],Ot=ze.high,We=ze.low;me=Ee+Ue,be=ge+Qe+(me>>>0>>0?1:0),me=me+Ce,be=be+Me+(me>>>0>>0?1:0),me=me+We,be=be+Ot+(me>>>0>>0?1:0),Ne.high=be,Ne.low=me}var ht=K&z^~K&ae,At=q&Z^~q&ne,Et=Q&de^Q&k^de&k,Tr=ee&B^ee&J^B&J,Vt=(Q>>>28|ee<<4)^(Q<<30|ee>>>2)^(Q<<25|ee>>>7),it=(ee>>>28|Q<<4)^(ee<<30|Q>>>2)^(ee<<25|Q>>>7),xt=(K>>>14|q<<18)^(K>>>18|q<<14)^(K<<23|q>>>9),ri=(q>>>14|K<<18)^(q>>>18|K<<14)^(q<<23|K>>>9),Ds=u[ce],Ja=Ds.high,Gi=Ds.low,On=X+ri,Za=ie+xt+(On>>>0>>0?1:0),On=On+At,Za=Za+ht+(On>>>0>>0?1:0),On=On+Gi,Za=Za+Ja+(On>>>0>>0?1:0),On=On+me,Za=Za+be+(On>>>0>>0?1:0),ol=it+Tr,xo=Vt+Et+(ol>>>0>>0?1:0);ie=ae,X=ne,ae=z,ne=Z,z=K,Z=q,q=H+On|0,K=D+Za+(q>>>0>>0?1:0)|0,D=k,H=J,k=de,J=B,de=Q,B=ee,ee=On+ol|0,Q=Za+xo+(ee>>>0>>0?1:0)|0}b=m.low=b+ee,m.high=C+Q+(b>>>0>>0?1:0),w=g.low=w+B,g.high=x+de+(w>>>0>>0?1:0),M=_.low=M+J,_.high=P+k+(M>>>0>>0?1:0),U=y.low=U+H,y.high=L+D+(U>>>0>>0?1:0),$=E.low=$+q,E.high=Y+K+($>>>0>>0?1:0),W=A.low=W+Z,A.high=V+z+(W>>>0>>0?1:0),se=v.low=se+ne,v.high=G+ae+(se>>>0>>0?1:0),te=T.low=te+X,T.high=ue+ie+(te>>>0>>0?1:0)},_doFinalize:function(){var f=this._data,h=f.words,p=this._nDataBytes*8,m=f.sigBytes*8;h[m>>>5]|=128<<24-m%32,h[(m+128>>>10<<5)+30]=Math.floor(p/4294967296),h[(m+128>>>10<<5)+31]=p,f.sigBytes=h.length*4,this._process();var g=this._hash.toX32();return g},clone:function(){var f=n.clone.call(this);return f._hash=this._hash.clone(),f},blockSize:1024/32});t.SHA512=n._createHelper(d),t.HmacSHA512=n._createHmacHelper(d)}(),e.SHA512})});var Gwt=S((XH,Kwt)=>{(function(e,t,r){typeof XH=="object"?Kwt.exports=XH=t(zr(),bk(),PSe()):typeof define=="function"&&define.amd?define(["./core","./x64-core","./sha512"],t):t(e.CryptoJS)})(XH,function(e){return function(){var t=e,r=t.x64,n=r.Word,s=r.WordArray,i=t.algo,a=i.SHA512,o=i.SHA384=a.extend({_doReset:function(){this._hash=new s.init([new n.init(3418070365,3238371032),new n.init(1654270250,914150663),new n.init(2438529370,812702999),new n.init(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new n.init(3675008525,1694076839),new n.init(1203062813,3204075428)])},_doFinalize:function(){var c=a._doFinalize.call(this);return c.sigBytes-=16,c}});t.SHA384=a._createHelper(o),t.HmacSHA384=a._createHmacHelper(o)}(),e.SHA384})});var Qwt=S((JH,Ywt)=>{(function(e,t,r){typeof JH=="object"?Ywt.exports=JH=t(zr(),bk()):typeof define=="function"&&define.amd?define(["./core","./x64-core"],t):t(e.CryptoJS)})(JH,function(e){return function(t){var r=e,n=r.lib,s=n.WordArray,i=n.Hasher,a=r.x64,o=a.Word,c=r.algo,u=[],l=[],d=[];(function(){for(var p=1,m=0,g=0;g<24;g++){u[p+5*m]=(g+1)*(g+2)/2%64;var _=m%5,y=(2*p+3*m)%5;p=_,m=y}for(var p=0;p<5;p++)for(var m=0;m<5;m++)l[p+5*m]=m+(2*p+3*m)%5*5;for(var E=1,A=0;A<24;A++){for(var v=0,T=0,C=0;C<7;C++){if(E&1){var b=(1<>>24)&16711935|(E<<24|E>>>8)&4278255360,A=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360;var v=g[y];v.high^=A,v.low^=E}for(var T=0;T<24;T++){for(var C=0;C<5;C++){for(var b=0,x=0,w=0;w<5;w++){var v=g[C+5*w];b^=v.high,x^=v.low}var P=f[C];P.high=b,P.low=x}for(var C=0;C<5;C++)for(var M=f[(C+4)%5],L=f[(C+1)%5],U=L.high,Y=L.low,b=M.high^(U<<1|Y>>>31),x=M.low^(Y<<1|U>>>31),w=0;w<5;w++){var v=g[C+5*w];v.high^=b,v.low^=x}for(var $=1;$<25;$++){var b,x,v=g[$],V=v.high,W=v.low,G=u[$];G<32?(b=V<>>32-G,x=W<>>32-G):(b=W<>>64-G,x=V<>>64-G);var se=f[l[$]];se.high=b,se.low=x}var ue=f[0],te=g[0];ue.high=te.high,ue.low=te.low;for(var C=0;C<5;C++)for(var w=0;w<5;w++){var $=C+5*w,v=g[$],Q=f[$],ee=f[(C+1)%5+5*w],de=f[(C+2)%5+5*w];v.high=Q.high^~ee.high&de.high,v.low=Q.low^~ee.low&de.low}var v=g[0],B=d[T];v.high^=B.high,v.low^=B.low}},_doFinalize:function(){var p=this._data,m=p.words,g=this._nDataBytes*8,_=p.sigBytes*8,y=this.blockSize*32;m[_>>>5]|=1<<24-_%32,m[(t.ceil((_+1)/y)*y>>>5)-1]|=128,p.sigBytes=m.length*4,this._process();for(var E=this._state,A=this.cfg.outputLength/8,v=A/8,T=[],C=0;C>>24)&16711935|(x<<24|x>>>8)&4278255360,w=(w<<8|w>>>24)&16711935|(w<<24|w>>>8)&4278255360,T.push(w),T.push(x)}return new s.init(T,A)},clone:function(){for(var p=i.clone.call(this),m=p._state=this._state.slice(0),g=0;g<25;g++)m[g]=m[g].clone();return p}});r.SHA3=i._createHelper(h),r.HmacSHA3=i._createHmacHelper(h)}(Math),e.SHA3})});var Wwt=S((ZH,zwt)=>{(function(e,t){typeof ZH=="object"?zwt.exports=ZH=t(zr()):typeof define=="function"&&define.amd?define(["./core"],t):t(e.CryptoJS)})(ZH,function(e){return function(t){var r=e,n=r.lib,s=n.WordArray,i=n.Hasher,a=r.algo,o=s.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),c=s.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),u=s.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),l=s.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),d=s.create([0,1518500249,1859775393,2400959708,2840853838]),f=s.create([1352829926,1548603684,1836072691,2053994217,0]),h=a.RIPEMD160=i.extend({_doReset:function(){this._hash=s.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(A,v){for(var T=0;T<16;T++){var C=v+T,b=A[C];A[C]=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360}var x=this._hash.words,w=d.words,P=f.words,M=o.words,L=c.words,U=u.words,Y=l.words,$,V,W,G,se,ue,te,Q,ee,de;ue=$=x[0],te=V=x[1],Q=W=x[2],ee=G=x[3],de=se=x[4];for(var B,T=0;T<80;T+=1)B=$+A[v+M[T]]|0,T<16?B+=p(V,W,G)+w[0]:T<32?B+=m(V,W,G)+w[1]:T<48?B+=g(V,W,G)+w[2]:T<64?B+=_(V,W,G)+w[3]:B+=y(V,W,G)+w[4],B=B|0,B=E(B,U[T]),B=B+se|0,$=se,se=G,G=E(W,10),W=V,V=B,B=ue+A[v+L[T]]|0,T<16?B+=y(te,Q,ee)+P[0]:T<32?B+=_(te,Q,ee)+P[1]:T<48?B+=g(te,Q,ee)+P[2]:T<64?B+=m(te,Q,ee)+P[3]:B+=p(te,Q,ee)+P[4],B=B|0,B=E(B,Y[T]),B=B+de|0,ue=de,de=ee,ee=E(Q,10),Q=te,te=B;B=x[1]+W+ee|0,x[1]=x[2]+G+de|0,x[2]=x[3]+se+ue|0,x[3]=x[4]+$+te|0,x[4]=x[0]+V+Q|0,x[0]=B},_doFinalize:function(){var A=this._data,v=A.words,T=this._nDataBytes*8,C=A.sigBytes*8;v[C>>>5]|=128<<24-C%32,v[(C+64>>>9<<4)+14]=(T<<8|T>>>24)&16711935|(T<<24|T>>>8)&4278255360,A.sigBytes=(v.length+1)*4,this._process();for(var b=this._hash,x=b.words,w=0;w<5;w++){var P=x[w];x[w]=(P<<8|P>>>24)&16711935|(P<<24|P>>>8)&4278255360}return b},clone:function(){var A=i.clone.call(this);return A._hash=this._hash.clone(),A}});function p(A,v,T){return A^v^T}function m(A,v,T){return A&v|~A&T}function g(A,v,T){return(A|~v)^T}function _(A,v,T){return A&T|v&~T}function y(A,v,T){return A^(v|~T)}function E(A,v){return A<>>32-v}r.RIPEMD160=i._createHelper(h),r.HmacRIPEMD160=i._createHmacHelper(h)}(Math),e.RIPEMD160})});var tV=S((eV,Xwt)=>{(function(e,t){typeof eV=="object"?Xwt.exports=eV=t(zr()):typeof define=="function"&&define.amd?define(["./core"],t):t(e.CryptoJS)})(eV,function(e){(function(){var t=e,r=t.lib,n=r.Base,s=t.enc,i=s.Utf8,a=t.algo,o=a.HMAC=n.extend({init:function(c,u){c=this._hasher=new c.init,typeof u=="string"&&(u=i.parse(u));var l=c.blockSize,d=l*4;u.sigBytes>d&&(u=c.finalize(u)),u.clamp();for(var f=this._oKey=u.clone(),h=this._iKey=u.clone(),p=f.words,m=h.words,g=0;g{(function(e,t,r){typeof rV=="object"?Jwt.exports=rV=t(zr(),QH(),tV()):typeof define=="function"&&define.amd?define(["./core","./sha256","./hmac"],t):t(e.CryptoJS)})(rV,function(e){return function(){var t=e,r=t.lib,n=r.Base,s=r.WordArray,i=t.algo,a=i.SHA256,o=i.HMAC,c=i.PBKDF2=n.extend({cfg:n.extend({keySize:128/32,hasher:a,iterations:25e4}),init:function(u){this.cfg=this.cfg.extend(u)},compute:function(u,l){for(var d=this.cfg,f=o.create(d.hasher,u),h=s.create(),p=s.create([1]),m=h.words,g=p.words,_=d.keySize,y=d.iterations;m.length<_;){var E=f.update(l).finalize(p);f.reset();for(var A=E.words,v=A.length,T=E,C=1;C{(function(e,t,r){typeof nV=="object"?eNt.exports=nV=t(zr(),DSe(),tV()):typeof define=="function"&&define.amd?define(["./core","./sha1","./hmac"],t):t(e.CryptoJS)})(nV,function(e){return function(){var t=e,r=t.lib,n=r.Base,s=r.WordArray,i=t.algo,a=i.MD5,o=i.EvpKDF=n.extend({cfg:n.extend({keySize:128/32,hasher:a,iterations:1}),init:function(c){this.cfg=this.cfg.extend(c)},compute:function(c,u){for(var l,d=this.cfg,f=d.hasher.create(),h=s.create(),p=h.words,m=d.keySize,g=d.iterations;p.length{(function(e,t,r){typeof sV=="object"?tNt.exports=sV=t(zr(),Ag()):typeof define=="function"&&define.amd?define(["./core","./evpkdf"],t):t(e.CryptoJS)})(sV,function(e){e.lib.Cipher||function(t){var r=e,n=r.lib,s=n.Base,i=n.WordArray,a=n.BufferedBlockAlgorithm,o=r.enc,c=o.Utf8,u=o.Base64,l=r.algo,d=l.EvpKDF,f=n.Cipher=a.extend({cfg:s.extend(),createEncryptor:function(P,M){return this.create(this._ENC_XFORM_MODE,P,M)},createDecryptor:function(P,M){return this.create(this._DEC_XFORM_MODE,P,M)},init:function(P,M,L){this.cfg=this.cfg.extend(L),this._xformMode=P,this._key=M,this.reset()},reset:function(){a.reset.call(this),this._doReset()},process:function(P){return this._append(P),this._process()},finalize:function(P){P&&this._append(P);var M=this._doFinalize();return M},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function P(M){return typeof M=="string"?w:C}return function(M){return{encrypt:function(L,U,Y){return P(U).encrypt(M,L,U,Y)},decrypt:function(L,U,Y){return P(U).decrypt(M,L,U,Y)}}}}()}),h=n.StreamCipher=f.extend({_doFinalize:function(){var P=this._process(!0);return P},blockSize:1}),p=r.mode={},m=n.BlockCipherMode=s.extend({createEncryptor:function(P,M){return this.Encryptor.create(P,M)},createDecryptor:function(P,M){return this.Decryptor.create(P,M)},init:function(P,M){this._cipher=P,this._iv=M}}),g=p.CBC=function(){var P=m.extend();P.Encryptor=P.extend({processBlock:function(L,U){var Y=this._cipher,$=Y.blockSize;M.call(this,L,U,$),Y.encryptBlock(L,U),this._prevBlock=L.slice(U,U+$)}}),P.Decryptor=P.extend({processBlock:function(L,U){var Y=this._cipher,$=Y.blockSize,V=L.slice(U,U+$);Y.decryptBlock(L,U),M.call(this,L,U,$),this._prevBlock=V}});function M(L,U,Y){var $,V=this._iv;V?($=V,this._iv=t):$=this._prevBlock;for(var W=0;W>>2]&255;P.sigBytes-=M}},E=n.BlockCipher=f.extend({cfg:f.cfg.extend({mode:g,padding:y}),reset:function(){var P;f.reset.call(this);var M=this.cfg,L=M.iv,U=M.mode;this._xformMode==this._ENC_XFORM_MODE?P=U.createEncryptor:(P=U.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==P?this._mode.init(this,L&&L.words):(this._mode=P.call(U,this,L&&L.words),this._mode.__creator=P)},_doProcessBlock:function(P,M){this._mode.processBlock(P,M)},_doFinalize:function(){var P,M=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(M.pad(this._data,this.blockSize),P=this._process(!0)):(P=this._process(!0),M.unpad(P)),P},blockSize:128/32}),A=n.CipherParams=s.extend({init:function(P){this.mixIn(P)},toString:function(P){return(P||this.formatter).stringify(this)}}),v=r.format={},T=v.OpenSSL={stringify:function(P){var M,L=P.ciphertext,U=P.salt;return U?M=i.create([1398893684,1701076831]).concat(U).concat(L):M=L,M.toString(u)},parse:function(P){var M,L=u.parse(P),U=L.words;return U[0]==1398893684&&U[1]==1701076831&&(M=i.create(U.slice(2,4)),U.splice(0,4),L.sigBytes-=16),A.create({ciphertext:L,salt:M})}},C=n.SerializableCipher=s.extend({cfg:s.extend({format:T}),encrypt:function(P,M,L,U){U=this.cfg.extend(U);var Y=P.createEncryptor(L,U),$=Y.finalize(M),V=Y.cfg;return A.create({ciphertext:$,key:L,iv:V.iv,algorithm:P,mode:V.mode,padding:V.padding,blockSize:P.blockSize,formatter:U.format})},decrypt:function(P,M,L,U){U=this.cfg.extend(U),M=this._parse(M,U.format);var Y=P.createDecryptor(L,U).finalize(M.ciphertext);return Y},_parse:function(P,M){return typeof P=="string"?M.parse(P,this):P}}),b=r.kdf={},x=b.OpenSSL={execute:function(P,M,L,U,Y){if(U||(U=i.random(64/8)),Y)var $=d.create({keySize:M+L,hasher:Y}).compute(P,U);else var $=d.create({keySize:M+L}).compute(P,U);var V=i.create($.words.slice(M),L*4);return $.sigBytes=M*4,A.create({key:$,iv:V,salt:U})}},w=n.PasswordBasedCipher=C.extend({cfg:C.cfg.extend({kdf:x}),encrypt:function(P,M,L,U){U=this.cfg.extend(U);var Y=U.kdf.execute(L,P.keySize,P.ivSize,U.salt,U.hasher);U.iv=Y.iv;var $=C.encrypt.call(this,P,M,Y.key,U);return $.mixIn(Y),$},decrypt:function(P,M,L,U){U=this.cfg.extend(U),M=this._parse(M,U.format);var Y=U.kdf.execute(L,P.keySize,P.ivSize,M.salt,U.hasher);U.iv=Y.iv;var $=C.decrypt.call(this,P,M,Y.key,U);return $}})}()})});var nNt=S((iV,rNt)=>{(function(e,t,r){typeof iV=="object"?rNt.exports=iV=t(zr(),da()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],t):t(e.CryptoJS)})(iV,function(e){return e.mode.CFB=function(){var t=e.lib.BlockCipherMode.extend();t.Encryptor=t.extend({processBlock:function(n,s){var i=this._cipher,a=i.blockSize;r.call(this,n,s,a,i),this._prevBlock=n.slice(s,s+a)}}),t.Decryptor=t.extend({processBlock:function(n,s){var i=this._cipher,a=i.blockSize,o=n.slice(s,s+a);r.call(this,n,s,a,i),this._prevBlock=o}});function r(n,s,i,a){var o,c=this._iv;c?(o=c.slice(0),this._iv=void 0):o=this._prevBlock,a.encryptBlock(o,0);for(var u=0;u{(function(e,t,r){typeof aV=="object"?sNt.exports=aV=t(zr(),da()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],t):t(e.CryptoJS)})(aV,function(e){return e.mode.CTR=function(){var t=e.lib.BlockCipherMode.extend(),r=t.Encryptor=t.extend({processBlock:function(n,s){var i=this._cipher,a=i.blockSize,o=this._iv,c=this._counter;o&&(c=this._counter=o.slice(0),this._iv=void 0);var u=c.slice(0);i.encryptBlock(u,0),c[a-1]=c[a-1]+1|0;for(var l=0;l{(function(e,t,r){typeof oV=="object"?aNt.exports=oV=t(zr(),da()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],t):t(e.CryptoJS)})(oV,function(e){return e.mode.CTRGladman=function(){var t=e.lib.BlockCipherMode.extend();function r(i){if((i>>24&255)===255){var a=i>>16&255,o=i>>8&255,c=i&255;a===255?(a=0,o===255?(o=0,c===255?c=0:++c):++o):++a,i=0,i+=a<<16,i+=o<<8,i+=c}else i+=1<<24;return i}function n(i){return(i[0]=r(i[0]))===0&&(i[1]=r(i[1])),i}var s=t.Encryptor=t.extend({processBlock:function(i,a){var o=this._cipher,c=o.blockSize,u=this._iv,l=this._counter;u&&(l=this._counter=u.slice(0),this._iv=void 0),n(l);var d=l.slice(0);o.encryptBlock(d,0);for(var f=0;f{(function(e,t,r){typeof cV=="object"?cNt.exports=cV=t(zr(),da()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],t):t(e.CryptoJS)})(cV,function(e){return e.mode.OFB=function(){var t=e.lib.BlockCipherMode.extend(),r=t.Encryptor=t.extend({processBlock:function(n,s){var i=this._cipher,a=i.blockSize,o=this._iv,c=this._keystream;o&&(c=this._keystream=o.slice(0),this._iv=void 0),i.encryptBlock(c,0);for(var u=0;u{(function(e,t,r){typeof uV=="object"?lNt.exports=uV=t(zr(),da()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],t):t(e.CryptoJS)})(uV,function(e){return e.mode.ECB=function(){var t=e.lib.BlockCipherMode.extend();return t.Encryptor=t.extend({processBlock:function(r,n){this._cipher.encryptBlock(r,n)}}),t.Decryptor=t.extend({processBlock:function(r,n){this._cipher.decryptBlock(r,n)}}),t}(),e.mode.ECB})});var hNt=S((lV,fNt)=>{(function(e,t,r){typeof lV=="object"?fNt.exports=lV=t(zr(),da()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],t):t(e.CryptoJS)})(lV,function(e){return e.pad.AnsiX923={pad:function(t,r){var n=t.sigBytes,s=r*4,i=s-n%s,a=n+i-1;t.clamp(),t.words[a>>>2]|=i<<24-a%4*8,t.sigBytes+=i},unpad:function(t){var r=t.words[t.sigBytes-1>>>2]&255;t.sigBytes-=r}},e.pad.Ansix923})});var mNt=S((dV,pNt)=>{(function(e,t,r){typeof dV=="object"?pNt.exports=dV=t(zr(),da()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],t):t(e.CryptoJS)})(dV,function(e){return e.pad.Iso10126={pad:function(t,r){var n=r*4,s=n-t.sigBytes%n;t.concat(e.lib.WordArray.random(s-1)).concat(e.lib.WordArray.create([s<<24],1))},unpad:function(t){var r=t.words[t.sigBytes-1>>>2]&255;t.sigBytes-=r}},e.pad.Iso10126})});var _Nt=S((fV,gNt)=>{(function(e,t,r){typeof fV=="object"?gNt.exports=fV=t(zr(),da()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],t):t(e.CryptoJS)})(fV,function(e){return e.pad.Iso97971={pad:function(t,r){t.concat(e.lib.WordArray.create([2147483648],1)),e.pad.ZeroPadding.pad(t,r)},unpad:function(t){e.pad.ZeroPadding.unpad(t),t.sigBytes--}},e.pad.Iso97971})});var ENt=S((hV,ANt)=>{(function(e,t,r){typeof hV=="object"?ANt.exports=hV=t(zr(),da()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],t):t(e.CryptoJS)})(hV,function(e){return e.pad.ZeroPadding={pad:function(t,r){var n=r*4;t.clamp(),t.sigBytes+=n-(t.sigBytes%n||n)},unpad:function(t){for(var r=t.words,n=t.sigBytes-1,n=t.sigBytes-1;n>=0;n--)if(r[n>>>2]>>>24-n%4*8&255){t.sigBytes=n+1;break}}},e.pad.ZeroPadding})});var vNt=S((pV,yNt)=>{(function(e,t,r){typeof pV=="object"?yNt.exports=pV=t(zr(),da()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],t):t(e.CryptoJS)})(pV,function(e){return e.pad.NoPadding={pad:function(){},unpad:function(){}},e.pad.NoPadding})});var TNt=S((mV,SNt)=>{(function(e,t,r){typeof mV=="object"?SNt.exports=mV=t(zr(),da()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],t):t(e.CryptoJS)})(mV,function(e){return function(t){var r=e,n=r.lib,s=n.CipherParams,i=r.enc,a=i.Hex,o=r.format,c=o.Hex={stringify:function(u){return u.ciphertext.toString(a)},parse:function(u){var l=a.parse(u);return s.create({ciphertext:l})}}}(),e.format.Hex})});var INt=S((gV,bNt)=>{(function(e,t,r){typeof gV=="object"?bNt.exports=gV=t(zr(),rE(),nE(),Ag(),da()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],t):t(e.CryptoJS)})(gV,function(e){return function(){var t=e,r=t.lib,n=r.BlockCipher,s=t.algo,i=[],a=[],o=[],c=[],u=[],l=[],d=[],f=[],h=[],p=[];(function(){for(var _=[],y=0;y<256;y++)y<128?_[y]=y<<1:_[y]=y<<1^283;for(var E=0,A=0,y=0;y<256;y++){var v=A^A<<1^A<<2^A<<3^A<<4;v=v>>>8^v&255^99,i[E]=v,a[v]=E;var T=_[E],C=_[T],b=_[C],x=_[v]*257^v*16843008;o[E]=x<<24|x>>>8,c[E]=x<<16|x>>>16,u[E]=x<<8|x>>>24,l[E]=x;var x=b*16843009^C*65537^T*257^E*16843008;d[v]=x<<24|x>>>8,f[v]=x<<16|x>>>16,h[v]=x<<8|x>>>24,p[v]=x,E?(E=T^_[_[_[b^T]]],A^=_[_[A]]):E=A=1}})();var m=[0,1,2,4,8,16,32,64,128,27,54],g=s.AES=n.extend({_doReset:function(){var _;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var y=this._keyPriorReset=this._key,E=y.words,A=y.sigBytes/4,v=this._nRounds=A+6,T=(v+1)*4,C=this._keySchedule=[],b=0;b6&&b%A==4&&(_=i[_>>>24]<<24|i[_>>>16&255]<<16|i[_>>>8&255]<<8|i[_&255]):(_=_<<8|_>>>24,_=i[_>>>24]<<24|i[_>>>16&255]<<16|i[_>>>8&255]<<8|i[_&255],_^=m[b/A|0]<<24),C[b]=C[b-A]^_);for(var x=this._invKeySchedule=[],w=0;w>>24]]^f[i[_>>>16&255]]^h[i[_>>>8&255]]^p[i[_&255]]}}},encryptBlock:function(_,y){this._doCryptBlock(_,y,this._keySchedule,o,c,u,l,i)},decryptBlock:function(_,y){var E=_[y+1];_[y+1]=_[y+3],_[y+3]=E,this._doCryptBlock(_,y,this._invKeySchedule,d,f,h,p,a);var E=_[y+1];_[y+1]=_[y+3],_[y+3]=E},_doCryptBlock:function(_,y,E,A,v,T,C,b){for(var x=this._nRounds,w=_[y]^E[0],P=_[y+1]^E[1],M=_[y+2]^E[2],L=_[y+3]^E[3],U=4,Y=1;Y>>24]^v[P>>>16&255]^T[M>>>8&255]^C[L&255]^E[U++],V=A[P>>>24]^v[M>>>16&255]^T[L>>>8&255]^C[w&255]^E[U++],W=A[M>>>24]^v[L>>>16&255]^T[w>>>8&255]^C[P&255]^E[U++],G=A[L>>>24]^v[w>>>16&255]^T[P>>>8&255]^C[M&255]^E[U++];w=$,P=V,M=W,L=G}var $=(b[w>>>24]<<24|b[P>>>16&255]<<16|b[M>>>8&255]<<8|b[L&255])^E[U++],V=(b[P>>>24]<<24|b[M>>>16&255]<<16|b[L>>>8&255]<<8|b[w&255])^E[U++],W=(b[M>>>24]<<24|b[L>>>16&255]<<16|b[w>>>8&255]<<8|b[P&255])^E[U++],G=(b[L>>>24]<<24|b[w>>>16&255]<<16|b[P>>>8&255]<<8|b[M&255])^E[U++];_[y]=$,_[y+1]=V,_[y+2]=W,_[y+3]=G},keySize:256/32});t.AES=n._createHelper(g)}(),e.AES})});var CNt=S((_V,RNt)=>{(function(e,t,r){typeof _V=="object"?RNt.exports=_V=t(zr(),rE(),nE(),Ag(),da()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],t):t(e.CryptoJS)})(_V,function(e){return function(){var t=e,r=t.lib,n=r.WordArray,s=r.BlockCipher,i=t.algo,a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],o=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],u=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],l=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],d=i.DES=s.extend({_doReset:function(){for(var m=this._key,g=m.words,_=[],y=0;y<56;y++){var E=a[y]-1;_[y]=g[E>>>5]>>>31-E%32&1}for(var A=this._subKeys=[],v=0;v<16;v++){for(var T=A[v]=[],C=c[v],y=0;y<24;y++)T[y/6|0]|=_[(o[y]-1+C)%28]<<31-y%6,T[4+(y/6|0)]|=_[28+(o[y+24]-1+C)%28]<<31-y%6;T[0]=T[0]<<1|T[0]>>>31;for(var y=1;y<7;y++)T[y]=T[y]>>>(y-1)*4+3;T[7]=T[7]<<5|T[7]>>>27}for(var b=this._invSubKeys=[],y=0;y<16;y++)b[y]=A[15-y]},encryptBlock:function(m,g){this._doCryptBlock(m,g,this._subKeys)},decryptBlock:function(m,g){this._doCryptBlock(m,g,this._invSubKeys)},_doCryptBlock:function(m,g,_){this._lBlock=m[g],this._rBlock=m[g+1],f.call(this,4,252645135),f.call(this,16,65535),h.call(this,2,858993459),h.call(this,8,16711935),f.call(this,1,1431655765);for(var y=0;y<16;y++){for(var E=_[y],A=this._lBlock,v=this._rBlock,T=0,C=0;C<8;C++)T|=u[C][((v^E[C])&l[C])>>>0];this._lBlock=v,this._rBlock=A^T}var b=this._lBlock;this._lBlock=this._rBlock,this._rBlock=b,f.call(this,1,1431655765),h.call(this,8,16711935),h.call(this,2,858993459),f.call(this,16,65535),f.call(this,4,252645135),m[g]=this._lBlock,m[g+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function f(m,g){var _=(this._lBlock>>>m^this._rBlock)&g;this._rBlock^=_,this._lBlock^=_<>>m^this._lBlock)&g;this._lBlock^=_,this._rBlock^=_<192.");var _=g.slice(0,2),y=g.length<4?g.slice(0,2):g.slice(2,4),E=g.length<6?g.slice(0,2):g.slice(4,6);this._des1=d.createEncryptor(n.create(_)),this._des2=d.createEncryptor(n.create(y)),this._des3=d.createEncryptor(n.create(E))},encryptBlock:function(m,g){this._des1.encryptBlock(m,g),this._des2.decryptBlock(m,g),this._des3.encryptBlock(m,g)},decryptBlock:function(m,g){this._des3.decryptBlock(m,g),this._des2.encryptBlock(m,g),this._des1.decryptBlock(m,g)},keySize:192/32,ivSize:64/32,blockSize:64/32});t.TripleDES=s._createHelper(p)}(),e.TripleDES})});var wNt=S((AV,xNt)=>{(function(e,t,r){typeof AV=="object"?xNt.exports=AV=t(zr(),rE(),nE(),Ag(),da()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],t):t(e.CryptoJS)})(AV,function(e){return function(){var t=e,r=t.lib,n=r.StreamCipher,s=t.algo,i=s.RC4=n.extend({_doReset:function(){for(var c=this._key,u=c.words,l=c.sigBytes,d=this._S=[],f=0;f<256;f++)d[f]=f;for(var f=0,h=0;f<256;f++){var p=f%l,m=u[p>>>2]>>>24-p%4*8&255;h=(h+d[f]+m)%256;var g=d[f];d[f]=d[h],d[h]=g}this._i=this._j=0},_doProcessBlock:function(c,u){c[u]^=a.call(this)},keySize:256/32,ivSize:0});function a(){for(var c=this._S,u=this._i,l=this._j,d=0,f=0;f<4;f++){u=(u+1)%256,l=(l+c[u])%256;var h=c[u];c[u]=c[l],c[l]=h,d|=c[(c[u]+c[l])%256]<<24-f*8}return this._i=u,this._j=l,d}t.RC4=n._createHelper(i);var o=s.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var c=this.cfg.drop;c>0;c--)a.call(this)}});t.RC4Drop=n._createHelper(o)}(),e.RC4})});var ONt=S((EV,NNt)=>{(function(e,t,r){typeof EV=="object"?NNt.exports=EV=t(zr(),rE(),nE(),Ag(),da()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],t):t(e.CryptoJS)})(EV,function(e){return function(){var t=e,r=t.lib,n=r.StreamCipher,s=t.algo,i=[],a=[],o=[],c=s.Rabbit=n.extend({_doReset:function(){for(var l=this._key.words,d=this.cfg.iv,f=0;f<4;f++)l[f]=(l[f]<<8|l[f]>>>24)&16711935|(l[f]<<24|l[f]>>>8)&4278255360;var h=this._X=[l[0],l[3]<<16|l[2]>>>16,l[1],l[0]<<16|l[3]>>>16,l[2],l[1]<<16|l[0]>>>16,l[3],l[2]<<16|l[1]>>>16],p=this._C=[l[2]<<16|l[2]>>>16,l[0]&4294901760|l[1]&65535,l[3]<<16|l[3]>>>16,l[1]&4294901760|l[2]&65535,l[0]<<16|l[0]>>>16,l[2]&4294901760|l[3]&65535,l[1]<<16|l[1]>>>16,l[3]&4294901760|l[0]&65535];this._b=0;for(var f=0;f<4;f++)u.call(this);for(var f=0;f<8;f++)p[f]^=h[f+4&7];if(d){var m=d.words,g=m[0],_=m[1],y=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360,E=(_<<8|_>>>24)&16711935|(_<<24|_>>>8)&4278255360,A=y>>>16|E&4294901760,v=E<<16|y&65535;p[0]^=y,p[1]^=A,p[2]^=E,p[3]^=v,p[4]^=y,p[5]^=A,p[6]^=E,p[7]^=v;for(var f=0;f<4;f++)u.call(this)}},_doProcessBlock:function(l,d){var f=this._X;u.call(this),i[0]=f[0]^f[5]>>>16^f[3]<<16,i[1]=f[2]^f[7]>>>16^f[5]<<16,i[2]=f[4]^f[1]>>>16^f[7]<<16,i[3]=f[6]^f[3]>>>16^f[1]<<16;for(var h=0;h<4;h++)i[h]=(i[h]<<8|i[h]>>>24)&16711935|(i[h]<<24|i[h]>>>8)&4278255360,l[d+h]^=i[h]},blockSize:128/32,ivSize:64/32});function u(){for(var l=this._X,d=this._C,f=0;f<8;f++)a[f]=d[f];d[0]=d[0]+1295307597+this._b|0,d[1]=d[1]+3545052371+(d[0]>>>0>>0?1:0)|0,d[2]=d[2]+886263092+(d[1]>>>0>>0?1:0)|0,d[3]=d[3]+1295307597+(d[2]>>>0>>0?1:0)|0,d[4]=d[4]+3545052371+(d[3]>>>0>>0?1:0)|0,d[5]=d[5]+886263092+(d[4]>>>0>>0?1:0)|0,d[6]=d[6]+1295307597+(d[5]>>>0>>0?1:0)|0,d[7]=d[7]+3545052371+(d[6]>>>0>>0?1:0)|0,this._b=d[7]>>>0>>0?1:0;for(var f=0;f<8;f++){var h=l[f]+d[f],p=h&65535,m=h>>>16,g=((p*p>>>17)+p*m>>>15)+m*m,_=((h&4294901760)*h|0)+((h&65535)*h|0);o[f]=g^_}l[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,l[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,l[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,l[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,l[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,l[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,l[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,l[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}t.Rabbit=n._createHelper(c)}(),e.Rabbit})});var PNt=S((yV,DNt)=>{(function(e,t,r){typeof yV=="object"?DNt.exports=yV=t(zr(),rE(),nE(),Ag(),da()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],t):t(e.CryptoJS)})(yV,function(e){return function(){var t=e,r=t.lib,n=r.StreamCipher,s=t.algo,i=[],a=[],o=[],c=s.RabbitLegacy=n.extend({_doReset:function(){var l=this._key.words,d=this.cfg.iv,f=this._X=[l[0],l[3]<<16|l[2]>>>16,l[1],l[0]<<16|l[3]>>>16,l[2],l[1]<<16|l[0]>>>16,l[3],l[2]<<16|l[1]>>>16],h=this._C=[l[2]<<16|l[2]>>>16,l[0]&4294901760|l[1]&65535,l[3]<<16|l[3]>>>16,l[1]&4294901760|l[2]&65535,l[0]<<16|l[0]>>>16,l[2]&4294901760|l[3]&65535,l[1]<<16|l[1]>>>16,l[3]&4294901760|l[0]&65535];this._b=0;for(var p=0;p<4;p++)u.call(this);for(var p=0;p<8;p++)h[p]^=f[p+4&7];if(d){var m=d.words,g=m[0],_=m[1],y=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360,E=(_<<8|_>>>24)&16711935|(_<<24|_>>>8)&4278255360,A=y>>>16|E&4294901760,v=E<<16|y&65535;h[0]^=y,h[1]^=A,h[2]^=E,h[3]^=v,h[4]^=y,h[5]^=A,h[6]^=E,h[7]^=v;for(var p=0;p<4;p++)u.call(this)}},_doProcessBlock:function(l,d){var f=this._X;u.call(this),i[0]=f[0]^f[5]>>>16^f[3]<<16,i[1]=f[2]^f[7]>>>16^f[5]<<16,i[2]=f[4]^f[1]>>>16^f[7]<<16,i[3]=f[6]^f[3]>>>16^f[1]<<16;for(var h=0;h<4;h++)i[h]=(i[h]<<8|i[h]>>>24)&16711935|(i[h]<<24|i[h]>>>8)&4278255360,l[d+h]^=i[h]},blockSize:128/32,ivSize:64/32});function u(){for(var l=this._X,d=this._C,f=0;f<8;f++)a[f]=d[f];d[0]=d[0]+1295307597+this._b|0,d[1]=d[1]+3545052371+(d[0]>>>0>>0?1:0)|0,d[2]=d[2]+886263092+(d[1]>>>0>>0?1:0)|0,d[3]=d[3]+1295307597+(d[2]>>>0>>0?1:0)|0,d[4]=d[4]+3545052371+(d[3]>>>0>>0?1:0)|0,d[5]=d[5]+886263092+(d[4]>>>0>>0?1:0)|0,d[6]=d[6]+1295307597+(d[5]>>>0>>0?1:0)|0,d[7]=d[7]+3545052371+(d[6]>>>0>>0?1:0)|0,this._b=d[7]>>>0>>0?1:0;for(var f=0;f<8;f++){var h=l[f]+d[f],p=h&65535,m=h>>>16,g=((p*p>>>17)+p*m>>>15)+m*m,_=((h&4294901760)*h|0)+((h&65535)*h|0);o[f]=g^_}l[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,l[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,l[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,l[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,l[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,l[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,l[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,l[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}t.RabbitLegacy=n._createHelper(c)}(),e.RabbitLegacy})});var MNt=S((vV,LNt)=>{(function(e,t,r){typeof vV=="object"?LNt.exports=vV=t(zr(),rE(),nE(),Ag(),da()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],t):t(e.CryptoJS)})(vV,function(e){return function(){var t=e,r=t.lib,n=r.BlockCipher,s=t.algo;let i=16,a=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],o=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var c={pbox:[],sbox:[]};function u(p,m){let g=m>>24&255,_=m>>16&255,y=m>>8&255,E=m&255,A=p.sbox[0][g]+p.sbox[1][_];return A=A^p.sbox[2][y],A=A+p.sbox[3][E],A}function l(p,m,g){let _=m,y=g,E;for(let A=0;A1;--A)_=_^p.pbox[A],y=u(p,_)^y,E=_,_=y,y=E;return E=_,_=y,y=E,y=y^p.pbox[1],_=_^p.pbox[0],{left:_,right:y}}function f(p,m,g){for(let v=0;v<4;v++){p.sbox[v]=[];for(let T=0;T<256;T++)p.sbox[v][T]=o[v][T]}let _=0;for(let v=0;v=g&&(_=0);let y=0,E=0,A=0;for(let v=0;v{(function(e,t,r){typeof SV=="object"?kNt.exports=SV=t(zr(),bk(),Pwt(),Mwt(),rE(),Uwt(),nE(),DSe(),QH(),Vwt(),PSe(),Gwt(),Qwt(),Wwt(),tV(),Zwt(),Ag(),da(),nNt(),iNt(),oNt(),uNt(),dNt(),hNt(),mNt(),_Nt(),ENt(),vNt(),TNt(),INt(),CNt(),wNt(),ONt(),PNt(),MNt()):typeof define=="function"&&define.amd?define(["./core","./x64-core","./lib-typedarrays","./enc-utf16","./enc-base64","./enc-base64url","./md5","./sha1","./sha256","./sha224","./sha512","./sha384","./sha3","./ripemd160","./hmac","./pbkdf2","./evpkdf","./cipher-core","./mode-cfb","./mode-ctr","./mode-ctr-gladman","./mode-ofb","./mode-ecb","./pad-ansix923","./pad-iso10126","./pad-iso97971","./pad-zeropadding","./pad-nopadding","./format-hex","./aes","./tripledes","./rc4","./rabbit","./rabbit-legacy","./blowfish"],t):e.CryptoJS=t(e.CryptoJS)})(SV,function(e){return e})});var r0=S((hms,BNt)=>{"use strict";var TV=require("buffer"),TC=TV.Buffer,Bd={},Ud;for(Ud in TV)TV.hasOwnProperty(Ud)&&(Ud==="SlowBuffer"||Ud==="Buffer"||(Bd[Ud]=TV[Ud]));var bC=Bd.Buffer={};for(Ud in TC)TC.hasOwnProperty(Ud)&&(Ud==="allocUnsafe"||Ud==="allocUnsafeSlow"||(bC[Ud]=TC[Ud]));Bd.Buffer.prototype=TC.prototype;(!bC.from||bC.from===Uint8Array.from)&&(bC.from=function(e,t,r){if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type '+typeof e);if(e&&typeof e.length>"u")throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);return TC(e,t,r)});bC.alloc||(bC.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError('The "size" argument must be of type number. Received type '+typeof e);if(e<0||e>=2*(1<<30))throw new RangeError('The value "'+e+'" is invalid for option "size"');var n=TC(e);return!t||t.length===0?n.fill(0):typeof r=="string"?n.fill(t,r):n.fill(t),n});if(!Bd.kStringMaxLength)try{Bd.kStringMaxLength=process.binding("buffer").kStringMaxLength}catch{}Bd.constants||(Bd.constants={MAX_LENGTH:Bd.kMaxLength},Bd.kStringMaxLength&&(Bd.constants.MAX_STRING_LENGTH=Bd.kStringMaxLength));BNt.exports=Bd});var FNt=S(kSe=>{"use strict";var UNt="\uFEFF";kSe.PrependBOM=LSe;function LSe(e,t){this.encoder=e,this.addBOM=!0}LSe.prototype.write=function(e){return this.addBOM&&(e=UNt+e,this.addBOM=!1),this.encoder.write(e)};LSe.prototype.end=function(){return this.encoder.end()};kSe.StripBOM=MSe;function MSe(e,t){this.decoder=e,this.pass=!1,this.options=t||{}}MSe.prototype.write=function(e){var t=this.decoder.write(e);return this.pass||!t||(t[0]===UNt&&(t=t.slice(1),typeof this.options.stripBOM=="function"&&this.options.stripBOM()),this.pass=!0),t};MSe.prototype.end=function(){return this.decoder.end()}});var qNt=S((mms,$Nt)=>{"use strict";var XS=r0().Buffer;$Nt.exports={utf8:{type:"_internal",bomAware:!0},cesu8:{type:"_internal",bomAware:!0},unicode11utf8:"utf8",ucs2:{type:"_internal",bomAware:!0},utf16le:"ucs2",binary:{type:"_internal"},base64:{type:"_internal"},hex:{type:"_internal"},_internal:USe};function USe(e,t){this.enc=e.encodingName,this.bomAware=e.bomAware,this.enc==="base64"?this.encoder=qSe:this.enc==="cesu8"&&(this.enc="utf8",this.encoder=HSe,XS.from("eda0bdedb2a9","hex").toString()!=="\u{1F4A9}"&&(this.decoder=VSe,this.defaultCharUnicode=t.defaultCharUnicode))}USe.prototype.encoder=$Se;USe.prototype.decoder=FSe;var BSe=require("string_decoder").StringDecoder;BSe.prototype.end||(BSe.prototype.end=function(){});function FSe(e,t){this.decoder=new BSe(t.enc)}FSe.prototype.write=function(e){return XS.isBuffer(e)||(e=XS.from(e)),this.decoder.write(e)};FSe.prototype.end=function(){return this.decoder.end()};function $Se(e,t){this.enc=t.enc}$Se.prototype.write=function(e){return XS.from(e,this.enc)};$Se.prototype.end=function(){};function qSe(e,t){this.prevStr=""}qSe.prototype.write=function(e){e=this.prevStr+e;var t=e.length-e.length%4;return this.prevStr=e.slice(t),e=e.slice(0,t),XS.from(e,"base64")};qSe.prototype.end=function(){return XS.from(this.prevStr,"base64")};function HSe(e,t){}HSe.prototype.write=function(e){for(var t=XS.alloc(e.length*3),r=0,n=0;n>>6),t[r++]=128+(s&63)):(t[r++]=224+(s>>>12),t[r++]=128+(s>>>6&63),t[r++]=128+(s&63))}return t.slice(0,r)};HSe.prototype.end=function(){};function VSe(e,t){this.acc=0,this.contBytes=0,this.accBytes=0,this.defaultCharUnicode=t.defaultCharUnicode}VSe.prototype.write=function(e){for(var t=this.acc,r=this.contBytes,n=this.accBytes,s="",i=0;i0&&(s+=this.defaultCharUnicode,r=0),a<128?s+=String.fromCharCode(a):a<224?(t=a&31,r=1,n=1):a<240?(t=a&15,r=2,n=1):s+=this.defaultCharUnicode):r>0?(t=t<<6|a&63,r--,n++,r===0&&(n===2&&t<128&&t>0?s+=this.defaultCharUnicode:n===3&&t<2048?s+=this.defaultCharUnicode:s+=String.fromCharCode(t))):s+=this.defaultCharUnicode}return this.acc=t,this.contBytes=r,this.accBytes=n,s};VSe.prototype.end=function(){var e=0;return this.contBytes>0&&(e+=this.defaultCharUnicode),e}});var jNt=S(sE=>{"use strict";var bV=r0().Buffer;sE._utf32=jSe;function jSe(e,t){this.iconv=t,this.bomAware=!0,this.isLE=e.isLE}sE.utf32le={type:"_utf32",isLE:!0};sE.utf32be={type:"_utf32",isLE:!1};sE.ucs4le="utf32le";sE.ucs4be="utf32be";jSe.prototype.encoder=KSe;jSe.prototype.decoder=GSe;function KSe(e,t){this.isLE=t.isLE,this.highSurrogate=0}KSe.prototype.write=function(e){for(var t=bV.from(e,"ucs2"),r=bV.alloc(t.length*2),n=this.isLE?r.writeUInt32LE:r.writeUInt32BE,s=0,i=0;i0){for(;t1114111)&&(r=n),r>=65536){r-=65536;var s=55296|r>>10;e[t++]=s&255,e[t++]=s>>8;var r=56320|r&1023}return e[t++]=r&255,e[t++]=r>>8,t}GSe.prototype.end=function(){this.overflow.length=0};sE.utf32=YSe;sE.ucs4="utf32";function YSe(e,t){this.iconv=t}YSe.prototype.encoder=QSe;YSe.prototype.decoder=zSe;function QSe(e,t){e=e||{},e.addBOM===void 0&&(e.addBOM=!0),this.encoder=t.iconv.getEncoder(e.defaultEncoding||"utf-32le",e)}QSe.prototype.write=function(e){return this.encoder.write(e)};QSe.prototype.end=function(){return this.encoder.end()};function zSe(e,t){this.decoder=null,this.initialBufs=[],this.initialBufsLen=0,this.options=e||{},this.iconv=t.iconv}zSe.prototype.write=function(e){if(!this.decoder){if(this.initialBufs.push(e),this.initialBufsLen+=e.length,this.initialBufsLen<32)return"";var t=VNt(this.initialBufs,this.options.defaultEncoding);this.decoder=this.iconv.getDecoder(t,this.options);for(var r="",n=0;n16)&&i++,(r[3]!==0||r[2]>16)&&s++,r[0]===0&&r[1]===0&&(r[2]!==0||r[3]!==0)&&o++,(r[0]!==0||r[1]!==0)&&r[2]===0&&r[3]===0&&a++,r.length=0,n++,n>=100)break e}return o-i>a-s?"utf-32be":o-i{"use strict";var KNt=r0().Buffer;tTe.utf16be=IV;function IV(){}IV.prototype.encoder=WSe;IV.prototype.decoder=XSe;IV.prototype.bomAware=!0;function WSe(){}WSe.prototype.write=function(e){for(var t=KNt.from(e,"ucs2"),r=0;r=100)break e}return i>s?"utf-16be":i{"use strict";var $h=r0().Buffer;xV.utf7=RV;xV.unicode11utf7="utf7";function RV(e,t){this.iconv=t}RV.prototype.encoder=nTe;RV.prototype.decoder=sTe;RV.prototype.bomAware=!0;var MJr=/[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g;function nTe(e,t){this.iconv=t.iconv}nTe.prototype.write=function(e){return $h.from(e.replace(MJr,function(t){return"+"+(t==="+"?"":this.iconv.encode(t,"utf16-be").toString("base64").replace(/=+$/,""))+"-"}.bind(this)))};nTe.prototype.end=function(){};function sTe(e,t){this.iconv=t.iconv,this.inBase64=!1,this.base64Accum=""}var kJr=/[A-Za-z0-9\/+]/,iTe=[];for(Ik=0;Ik<256;Ik++)iTe[Ik]=kJr.test(String.fromCharCode(Ik));var Ik,BJr=43,JS=45,rTe=38;sTe.prototype.write=function(e){for(var t="",r=0,n=this.inBase64,s=this.base64Accum,i=0;i0&&(e=this.iconv.decode($h.from(this.base64Accum,"base64"),"utf16-be")),this.inBase64=!1,this.base64Accum="",e};xV.utf7imap=CV;function CV(e,t){this.iconv=t}CV.prototype.encoder=aTe;CV.prototype.decoder=oTe;CV.prototype.bomAware=!0;function aTe(e,t){this.iconv=t.iconv,this.inBase64=!1,this.base64Accum=$h.alloc(6),this.base64AccumIdx=0}aTe.prototype.write=function(e){for(var t=this.inBase64,r=this.base64Accum,n=this.base64AccumIdx,s=$h.alloc(e.length*5+10),i=0,a=0;a0&&(i+=s.write(r.slice(0,n).toString("base64").replace(/\//g,",").replace(/=+$/,""),i),n=0),s[i++]=JS,t=!1),t||(s[i++]=o,o===rTe&&(s[i++]=JS))):(t||(s[i++]=rTe,t=!0),t&&(r[n++]=o>>8,r[n++]=o&255,n==r.length&&(i+=s.write(r.toString("base64").replace(/\//g,","),i),n=0)))}return this.inBase64=t,this.base64AccumIdx=n,s.slice(0,i)};aTe.prototype.end=function(){var e=$h.alloc(10),t=0;return this.inBase64&&(this.base64AccumIdx>0&&(t+=e.write(this.base64Accum.slice(0,this.base64AccumIdx).toString("base64").replace(/\//g,",").replace(/=+$/,""),t),this.base64AccumIdx=0),e[t++]=JS,this.inBase64=!1),e.slice(0,t)};function oTe(e,t){this.iconv=t.iconv,this.inBase64=!1,this.base64Accum=""}var QNt=iTe.slice();QNt[44]=!0;oTe.prototype.write=function(e){for(var t="",r=0,n=this.inBase64,s=this.base64Accum,i=0;i0&&(e=this.iconv.decode($h.from(this.base64Accum,"base64"),"utf16-be")),this.inBase64=!1,this.base64Accum="",e}});var XNt=S(WNt=>{"use strict";var wV=r0().Buffer;WNt._sbcs=cTe;function cTe(e,t){if(!e)throw new Error("SBCS codec is called without the data.");if(!e.chars||e.chars.length!==128&&e.chars.length!==256)throw new Error("Encoding '"+e.type+"' has incorrect 'chars' (must be of len 128 or 256)");if(e.chars.length===128){for(var r="",n=0;n<128;n++)r+=String.fromCharCode(n);e.chars=r+e.chars}this.decodeBuf=wV.from(e.chars,"ucs2");for(var s=wV.alloc(65536,t.defaultCharSingleByte.charCodeAt(0)),n=0;n{"use strict";JNt.exports={10029:"maccenteuro",maccenteuro:{type:"_sbcs",chars:"\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7"},808:"cp808",ibm808:"cp808",cp808:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\u20AC\u25A0\xA0"},mik:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2514\u2534\u252C\u251C\u2500\u253C\u2563\u2551\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2510\u2591\u2592\u2593\u2502\u2524\u2116\xA7\u2557\u255D\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},cp720:{type:"_sbcs",chars:"\x80\x81\xE9\xE2\x84\xE0\x86\xE7\xEA\xEB\xE8\xEF\xEE\x8D\x8E\x8F\x90\u0651\u0652\xF4\xA4\u0640\xFB\xF9\u0621\u0622\u0623\u0624\xA3\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0636\u0637\u0638\u0639\u063A\u0641\xB5\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u2261\u064B\u064C\u064D\u064E\u064F\u0650\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ascii8bit:"ascii",usascii:"ascii",ansix34:"ascii",ansix341968:"ascii",ansix341986:"ascii",csascii:"ascii",cp367:"ascii",ibm367:"ascii",isoir6:"ascii",iso646us:"ascii",iso646irv:"ascii",us:"ascii",latin1:"iso88591",latin2:"iso88592",latin3:"iso88593",latin4:"iso88594",latin5:"iso88599",latin6:"iso885910",latin7:"iso885913",latin8:"iso885914",latin9:"iso885915",latin10:"iso885916",csisolatin1:"iso88591",csisolatin2:"iso88592",csisolatin3:"iso88593",csisolatin4:"iso88594",csisolatincyrillic:"iso88595",csisolatinarabic:"iso88596",csisolatingreek:"iso88597",csisolatinhebrew:"iso88598",csisolatin5:"iso88599",csisolatin6:"iso885910",l1:"iso88591",l2:"iso88592",l3:"iso88593",l4:"iso88594",l5:"iso88599",l6:"iso885910",l7:"iso885913",l8:"iso885914",l9:"iso885915",l10:"iso885916",isoir14:"iso646jp",isoir57:"iso646cn",isoir100:"iso88591",isoir101:"iso88592",isoir109:"iso88593",isoir110:"iso88594",isoir144:"iso88595",isoir127:"iso88596",isoir126:"iso88597",isoir138:"iso88598",isoir148:"iso88599",isoir157:"iso885910",isoir166:"tis620",isoir179:"iso885913",isoir199:"iso885914",isoir203:"iso885915",isoir226:"iso885916",cp819:"iso88591",ibm819:"iso88591",cyrillic:"iso88595",arabic:"iso88596",arabic8:"iso88596",ecma114:"iso88596",asmo708:"iso88596",greek:"iso88597",greek8:"iso88597",ecma118:"iso88597",elot928:"iso88597",hebrew:"iso88598",hebrew8:"iso88598",turkish:"iso88599",turkish8:"iso88599",thai:"iso885911",thai8:"iso885911",celtic:"iso885914",celtic8:"iso885914",isoceltic:"iso885914",tis6200:"tis620",tis62025291:"tis620",tis62025330:"tis620",1e4:"macroman",10006:"macgreek",10007:"maccyrillic",10079:"maciceland",10081:"macturkish",cspc8codepage437:"cp437",cspc775baltic:"cp775",cspc850multilingual:"cp850",cspcp852:"cp852",cspc862latinhebrew:"cp862",cpgr:"cp869",msee:"cp1250",mscyrl:"cp1251",msansi:"cp1252",msgreek:"cp1253",msturk:"cp1254",mshebr:"cp1255",msarab:"cp1256",winbaltrim:"cp1257",cp20866:"koi8r",20866:"koi8r",ibm878:"koi8r",cskoi8r:"koi8r",cp21866:"koi8u",21866:"koi8u",ibm1168:"koi8u",strk10482002:"rk1048",tcvn5712:"tcvn",tcvn57121:"tcvn",gb198880:"iso646cn",cn:"iso646cn",csiso14jisc6220ro:"iso646jp",jisc62201969ro:"iso646jp",jp:"iso646jp",cshproman8:"hproman8",r8:"hproman8",roman8:"hproman8",xroman8:"hproman8",ibm1051:"hproman8",mac:"macintosh",csmacintosh:"macintosh"}});var tOt=S((vms,eOt)=>{"use strict";eOt.exports={437:"cp437",737:"cp737",775:"cp775",850:"cp850",852:"cp852",855:"cp855",856:"cp856",857:"cp857",858:"cp858",860:"cp860",861:"cp861",862:"cp862",863:"cp863",864:"cp864",865:"cp865",866:"cp866",869:"cp869",874:"windows874",922:"cp922",1046:"cp1046",1124:"cp1124",1125:"cp1125",1129:"cp1129",1133:"cp1133",1161:"cp1161",1162:"cp1162",1163:"cp1163",1250:"windows1250",1251:"windows1251",1252:"windows1252",1253:"windows1253",1254:"windows1254",1255:"windows1255",1256:"windows1256",1257:"windows1257",1258:"windows1258",28591:"iso88591",28592:"iso88592",28593:"iso88593",28594:"iso88594",28595:"iso88595",28596:"iso88596",28597:"iso88597",28598:"iso88598",28599:"iso88599",28600:"iso885910",28601:"iso885911",28603:"iso885913",28604:"iso885914",28605:"iso885915",28606:"iso885916",windows874:{type:"_sbcs",chars:"\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"},win874:"windows874",cp874:"windows874",windows1250:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9"},win1250:"windows1250",cp1250:"windows1250",windows1251:{type:"_sbcs",chars:"\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"},win1251:"windows1251",cp1251:"windows1251",windows1252:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},win1252:"windows1252",cp1252:"windows1252",windows1253:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD"},win1253:"windows1253",cp1253:"windows1253",windows1254:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF"},win1254:"windows1254",cp1254:"windows1254",windows1255:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD"},win1255:"windows1255",cp1255:"windows1255",windows1256:{type:"_sbcs",chars:"\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2"},win1256:"windows1256",cp1256:"windows1256",windows1257:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9"},win1257:"windows1257",cp1257:"windows1257",windows1258:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"},win1258:"windows1258",cp1258:"windows1258",iso88591:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},cp28591:"iso88591",iso88592:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u02D8\u0141\xA4\u013D\u015A\xA7\xA8\u0160\u015E\u0164\u0179\xAD\u017D\u017B\xB0\u0105\u02DB\u0142\xB4\u013E\u015B\u02C7\xB8\u0161\u015F\u0165\u017A\u02DD\u017E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9"},cp28592:"iso88592",iso88593:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0126\u02D8\xA3\xA4\uFFFD\u0124\xA7\xA8\u0130\u015E\u011E\u0134\xAD\uFFFD\u017B\xB0\u0127\xB2\xB3\xB4\xB5\u0125\xB7\xB8\u0131\u015F\u011F\u0135\xBD\uFFFD\u017C\xC0\xC1\xC2\uFFFD\xC4\u010A\u0108\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\uFFFD\xD1\xD2\xD3\xD4\u0120\xD6\xD7\u011C\xD9\xDA\xDB\xDC\u016C\u015C\xDF\xE0\xE1\xE2\uFFFD\xE4\u010B\u0109\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\uFFFD\xF1\xF2\xF3\xF4\u0121\xF6\xF7\u011D\xF9\xFA\xFB\xFC\u016D\u015D\u02D9"},cp28593:"iso88593",iso88594:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0138\u0156\xA4\u0128\u013B\xA7\xA8\u0160\u0112\u0122\u0166\xAD\u017D\xAF\xB0\u0105\u02DB\u0157\xB4\u0129\u013C\u02C7\xB8\u0161\u0113\u0123\u0167\u014A\u017E\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\u012A\u0110\u0145\u014C\u0136\xD4\xD5\xD6\xD7\xD8\u0172\xDA\xDB\xDC\u0168\u016A\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\u012B\u0111\u0146\u014D\u0137\xF4\xF5\xF6\xF7\xF8\u0173\xFA\xFB\xFC\u0169\u016B\u02D9"},cp28594:"iso88594",iso88595:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0403\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0453\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F"},cp28595:"iso88595",iso88596:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\uFFFD\uFFFD\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u060C\xAD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F\uFFFD\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"},cp28596:"iso88596",iso88597:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u2018\u2019\xA3\u20AC\u20AF\xA6\xA7\xA8\xA9\u037A\xAB\xAC\xAD\uFFFD\u2015\xB0\xB1\xB2\xB3\u0384\u0385\u0386\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD"},cp28597:"iso88597",iso88598:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2017\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD"},cp28598:"iso88598",iso88599:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF"},cp28599:"iso88599",iso885910:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0112\u0122\u012A\u0128\u0136\xA7\u013B\u0110\u0160\u0166\u017D\xAD\u016A\u014A\xB0\u0105\u0113\u0123\u012B\u0129\u0137\xB7\u013C\u0111\u0161\u0167\u017E\u2015\u016B\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\xCF\xD0\u0145\u014C\xD3\xD4\xD5\xD6\u0168\xD8\u0172\xDA\xDB\xDC\xDD\xDE\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\xEF\xF0\u0146\u014D\xF3\xF4\xF5\xF6\u0169\xF8\u0173\xFA\xFB\xFC\xFD\xFE\u0138"},cp28600:"iso885910",iso885911:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"},cp28601:"iso885911",iso885913:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u201D\xA2\xA3\xA4\u201E\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\u201C\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u2019"},cp28603:"iso885913",iso885914:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u1E02\u1E03\xA3\u010A\u010B\u1E0A\xA7\u1E80\xA9\u1E82\u1E0B\u1EF2\xAD\xAE\u0178\u1E1E\u1E1F\u0120\u0121\u1E40\u1E41\xB6\u1E56\u1E81\u1E57\u1E83\u1E60\u1EF3\u1E84\u1E85\u1E61\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0174\xD1\xD2\xD3\xD4\xD5\xD6\u1E6A\xD8\xD9\xDA\xDB\xDC\xDD\u0176\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0175\xF1\xF2\xF3\xF4\xF5\xF6\u1E6B\xF8\xF9\xFA\xFB\xFC\xFD\u0177\xFF"},cp28604:"iso885914",iso885915:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\u0160\xA7\u0161\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u017D\xB5\xB6\xB7\u017E\xB9\xBA\xBB\u0152\u0153\u0178\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},cp28605:"iso885915",iso885916:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0105\u0141\u20AC\u201E\u0160\xA7\u0161\xA9\u0218\xAB\u0179\xAD\u017A\u017B\xB0\xB1\u010C\u0142\u017D\u201D\xB6\xB7\u017E\u010D\u0219\xBB\u0152\u0153\u0178\u017C\xC0\xC1\xC2\u0102\xC4\u0106\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0110\u0143\xD2\xD3\xD4\u0150\xD6\u015A\u0170\xD9\xDA\xDB\xDC\u0118\u021A\xDF\xE0\xE1\xE2\u0103\xE4\u0107\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0111\u0144\xF2\xF3\xF4\u0151\xF6\u015B\u0171\xF9\xFA\xFB\xFC\u0119\u021B\xFF"},cp28606:"iso885916",cp437:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm437:"cp437",csibm437:"cp437",cp737:{type:"_sbcs",chars:"\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm737:"cp737",csibm737:"cp737",cp775:{type:"_sbcs",chars:"\u0106\xFC\xE9\u0101\xE4\u0123\xE5\u0107\u0142\u0113\u0156\u0157\u012B\u0179\xC4\xC5\xC9\xE6\xC6\u014D\xF6\u0122\xA2\u015A\u015B\xD6\xDC\xF8\xA3\xD8\xD7\xA4\u0100\u012A\xF3\u017B\u017C\u017A\u201D\xA6\xA9\xAE\xAC\xBD\xBC\u0141\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0104\u010C\u0118\u0116\u2563\u2551\u2557\u255D\u012E\u0160\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0172\u016A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u017D\u0105\u010D\u0119\u0117\u012F\u0161\u0173\u016B\u017E\u2518\u250C\u2588\u2584\u258C\u2590\u2580\xD3\xDF\u014C\u0143\xF5\xD5\xB5\u0144\u0136\u0137\u013B\u013C\u0146\u0112\u0145\u2019\xAD\xB1\u201C\xBE\xB6\xA7\xF7\u201E\xB0\u2219\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm775:"cp775",csibm775:"cp775",cp850:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm850:"cp850",csibm850:"cp850",cp852:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0"},ibm852:"cp852",csibm852:"cp852",cp855:{type:"_sbcs",chars:"\u0452\u0402\u0453\u0403\u0451\u0401\u0454\u0404\u0455\u0405\u0456\u0406\u0457\u0407\u0458\u0408\u0459\u0409\u045A\u040A\u045B\u040B\u045C\u040C\u045E\u040E\u045F\u040F\u044E\u042E\u044A\u042A\u0430\u0410\u0431\u0411\u0446\u0426\u0434\u0414\u0435\u0415\u0444\u0424\u0433\u0413\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0445\u0425\u0438\u0418\u2563\u2551\u2557\u255D\u0439\u0419\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u043A\u041A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u043B\u041B\u043C\u041C\u043D\u041D\u043E\u041E\u043F\u2518\u250C\u2588\u2584\u041F\u044F\u2580\u042F\u0440\u0420\u0441\u0421\u0442\u0422\u0443\u0423\u0436\u0416\u0432\u0412\u044C\u042C\u2116\xAD\u044B\u042B\u0437\u0417\u0448\u0428\u044D\u042D\u0449\u0429\u0447\u0427\xA7\u25A0\xA0"},ibm855:"cp855",csibm855:"cp855",cp856:{type:"_sbcs",chars:"\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\xA3\uFFFD\xD7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAE\xAC\xBD\xBC\uFFFD\xAB\xBB\u2591\u2592\u2593\u2502\u2524\uFFFD\uFFFD\uFFFD\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\uFFFD\uFFFD\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2518\u250C\u2588\u2584\xA6\uFFFD\u2580\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xB5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm856:"cp856",csibm856:"cp856",cp857:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm857:"cp857",csibm857:"cp857",cp858:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u20AC\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm858:"cp858",csibm858:"cp858",cp860:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE3\xE0\xC1\xE7\xEA\xCA\xE8\xCD\xD4\xEC\xC3\xC2\xC9\xC0\xC8\xF4\xF5\xF2\xDA\xF9\xCC\xD5\xDC\xA2\xA3\xD9\u20A7\xD3\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xD2\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm860:"cp860",csibm860:"cp860",cp861:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm861:"cp861",csibm861:"cp861",cp862:{type:"_sbcs",chars:"\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm862:"cp862",csibm862:"cp862",cp863:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xC2\xE0\xB6\xE7\xEA\xEB\xE8\xEF\xEE\u2017\xC0\xA7\xC9\xC8\xCA\xF4\xCB\xCF\xFB\xF9\xA4\xD4\xDC\xA2\xA3\xD9\xDB\u0192\xA6\xB4\xF3\xFA\xA8\xB8\xB3\xAF\xCE\u2310\xAC\xBD\xBC\xBE\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm863:"cp863",csibm863:"cp863",cp864:{type:"_sbcs",chars:`\0\x07\b +\v\f\r\x1B !"#$\u066A&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xB0\xB7\u2219\u221A\u2592\u2500\u2502\u253C\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518\u03B2\u221E\u03C6\xB1\xBD\xBC\u2248\xAB\xBB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD\xA0\xAD\uFE82\xA3\xA4\uFE84\uFFFD\uFFFD\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F\xA2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1\uFEC5\uFECB\uFECF\xA6\xAC\xF7\xD7\uFEC9\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD`},ibm864:"cp864",csibm864:"cp864",cp865:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm865:"cp865",csibm865:"cp865",cp866:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0"},ibm866:"cp866",csibm866:"cp866",cp869:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD\xB7\xAC\xA6\u2018\u2019\u0388\u2015\u0389\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\xA9\u038F\xB2\xB3\u03AC\xA3\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394\u0395\u0396\u0397\xBD\u0398\u0399\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384\xAD\xB1\u03C5\u03C6\u03C7\xA7\u03C8\u0385\xB0\xA8\u03C9\u03CB\u03B0\u03CE\u25A0\xA0"},ibm869:"cp869",csibm869:"cp869",cp922:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\u203E\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0160\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\u017D\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0161\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\u017E\xFF"},ibm922:"cp922",csibm922:"cp922",cp1046:{type:"_sbcs",chars:"\uFE88\xD7\xF7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71\x88\u25A0\u2502\u2500\u2510\u250C\u2514\u2518\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC\xA0\uF8FA\uF8F9\uF8F8\xA4\uF8FB\uFE8B\uFE91\uFE97\uFE9B\uFE9F\uFEA3\u060C\xAD\uFEA7\uFEB3\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F\uFECB\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\uFEC7\u0639\u063A\uFECC\uFE82\uFE84\uFE8E\uFED3\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFED7\uFEDB\uFEDF\uF8FC\uFEF5\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD"},ibm1046:"cp1046",csibm1046:"cp1046",cp1124:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0490\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0491\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F"},ibm1124:"cp1124",csibm1124:"cp1124",cp1125:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0490\u0491\u0404\u0454\u0406\u0456\u0407\u0457\xB7\u221A\u2116\xA4\u25A0\xA0"},ibm1125:"cp1125",csibm1125:"cp1125",cp1129:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"},ibm1129:"cp1129",csibm1129:"cp1129",cp1133:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E81\u0E82\u0E84\u0E87\u0E88\u0EAA\u0E8A\u0E8D\u0E94\u0E95\u0E96\u0E97\u0E99\u0E9A\u0E9B\u0E9C\u0E9D\u0E9E\u0E9F\u0EA1\u0EA2\u0EA3\u0EA5\u0EA7\u0EAB\u0EAD\u0EAE\uFFFD\uFFFD\uFFFD\u0EAF\u0EB0\u0EB2\u0EB3\u0EB4\u0EB5\u0EB6\u0EB7\u0EB8\u0EB9\u0EBC\u0EB1\u0EBB\u0EBD\uFFFD\uFFFD\uFFFD\u0EC0\u0EC1\u0EC2\u0EC3\u0EC4\u0EC8\u0EC9\u0ECA\u0ECB\u0ECC\u0ECD\u0EC6\uFFFD\u0EDC\u0EDD\u20AD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0ED0\u0ED1\u0ED2\u0ED3\u0ED4\u0ED5\u0ED6\u0ED7\u0ED8\u0ED9\uFFFD\uFFFD\xA2\xAC\xA6\uFFFD"},ibm1133:"cp1133",csibm1133:"cp1133",cp1161:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E48\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\u0E49\u0E4A\u0E4B\u20AC\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\xA2\xAC\xA6\xA0"},ibm1161:"cp1161",csibm1161:"cp1161",cp1162:{type:"_sbcs",chars:"\u20AC\x81\x82\x83\x84\u2026\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"},ibm1162:"cp1162",csibm1162:"cp1162",cp1163:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"},ibm1163:"cp1163",csibm1163:"cp1163",maccroatian:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u2126\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uFFFD\xA9\u2044\xA4\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7"},maccyrillic:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\xA2\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u2202\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4"},macgreek:{type:"_sbcs",chars:"\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\xAD\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\u0387\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD"},maciceland:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},macroman:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},macromania:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u015E\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\u0103\u015F\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\u0162\u0163\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},macthai:{type:"_sbcs",chars:"\xAB\xBB\u2026\uF88C\uF88F\uF892\uF895\uF898\uF88B\uF88E\uF891\uF894\uF897\u201C\u201D\uF899\uFFFD\u2022\uF884\uF889\uF885\uF886\uF887\uF888\uF88A\uF88D\uF890\uF893\uF896\u2018\u2019\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFEFF\u200B\u2013\u2014\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u2122\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\xAE\xA9\uFFFD\uFFFD\uFFFD\uFFFD"},macturkish:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\uFFFD\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},macukraine:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4"},koi8r:{type:"_sbcs",chars:"\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u2553\u2554\u2555\u2556\u2557\u2558\u2559\u255A\u255B\u255C\u255D\u255E\u255F\u2560\u2561\u0401\u2562\u2563\u2564\u2565\u2566\u2567\u2568\u2569\u256A\u256B\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"},koi8u:{type:"_sbcs",chars:"\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u255D\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"},koi8ru:{type:"_sbcs",chars:"\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u045E\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u040E\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"},koi8t:{type:"_sbcs",chars:"\u049B\u0493\u201A\u0492\u201E\u2026\u2020\u2021\uFFFD\u2030\u04B3\u2039\u04B2\u04B7\u04B6\uFFFD\u049A\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u04EF\u04EE\u0451\xA4\u04E3\xA6\xA7\uFFFD\uFFFD\uFFFD\xAB\xAC\xAD\xAE\uFFFD\xB0\xB1\xB2\u0401\uFFFD\u04E2\xB6\xB7\uFFFD\u2116\uFFFD\xBB\uFFFD\uFFFD\uFFFD\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"},armscii8:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\u0587\u0589)(\xBB\xAB\u2014.\u055D,-\u058A\u2026\u055C\u055B\u055E\u0531\u0561\u0532\u0562\u0533\u0563\u0534\u0564\u0535\u0565\u0536\u0566\u0537\u0567\u0538\u0568\u0539\u0569\u053A\u056A\u053B\u056B\u053C\u056C\u053D\u056D\u053E\u056E\u053F\u056F\u0540\u0570\u0541\u0571\u0542\u0572\u0543\u0573\u0544\u0574\u0545\u0575\u0546\u0576\u0547\u0577\u0548\u0578\u0549\u0579\u054A\u057A\u054B\u057B\u054C\u057C\u054D\u057D\u054E\u057E\u054F\u057F\u0550\u0580\u0551\u0581\u0552\u0582\u0553\u0583\u0554\u0584\u0555\u0585\u0556\u0586\u055A\uFFFD"},rk1048:{type:"_sbcs",chars:"\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u049A\u04BA\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u049B\u04BB\u045F\xA0\u04B0\u04B1\u04D8\xA4\u04E8\xA6\xA7\u0401\xA9\u0492\xAB\xAC\xAD\xAE\u04AE\xB0\xB1\u0406\u0456\u04E9\xB5\xB6\xB7\u0451\u2116\u0493\xBB\u04D9\u04A2\u04A3\u04AF\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"},tcvn:{type:"_sbcs",chars:`\0\xDA\u1EE4\u1EEA\u1EEC\u1EEE\x07\b +\v\f\r\u1EE8\u1EF0\u1EF2\u1EF6\u1EF8\xDD\u1EF4\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC0\u1EA2\xC3\xC1\u1EA0\u1EB6\u1EAC\xC8\u1EBA\u1EBC\xC9\u1EB8\u1EC6\xCC\u1EC8\u0128\xCD\u1ECA\xD2\u1ECE\xD5\xD3\u1ECC\u1ED8\u1EDC\u1EDE\u1EE0\u1EDA\u1EE2\xD9\u1EE6\u0168\xA0\u0102\xC2\xCA\xD4\u01A0\u01AF\u0110\u0103\xE2\xEA\xF4\u01A1\u01B0\u0111\u1EB0\u0300\u0309\u0303\u0301\u0323\xE0\u1EA3\xE3\xE1\u1EA1\u1EB2\u1EB1\u1EB3\u1EB5\u1EAF\u1EB4\u1EAE\u1EA6\u1EA8\u1EAA\u1EA4\u1EC0\u1EB7\u1EA7\u1EA9\u1EAB\u1EA5\u1EAD\xE8\u1EC2\u1EBB\u1EBD\xE9\u1EB9\u1EC1\u1EC3\u1EC5\u1EBF\u1EC7\xEC\u1EC9\u1EC4\u1EBE\u1ED2\u0129\xED\u1ECB\xF2\u1ED4\u1ECF\xF5\xF3\u1ECD\u1ED3\u1ED5\u1ED7\u1ED1\u1ED9\u1EDD\u1EDF\u1EE1\u1EDB\u1EE3\xF9\u1ED6\u1EE7\u0169\xFA\u1EE5\u1EEB\u1EED\u1EEF\u1EE9\u1EF1\u1EF3\u1EF7\u1EF9\xFD\u1EF5\u1ED0`},georgianacademy:{type:"_sbcs",chars:"\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},georgianps:{type:"_sbcs",chars:"\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10F1\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10F2\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10F3\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10F4\u10EF\u10F0\u10F5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},pt154:{type:"_sbcs",chars:"\u0496\u0492\u04EE\u0493\u201E\u2026\u04B6\u04AE\u04B2\u04AF\u04A0\u04E2\u04A2\u049A\u04BA\u04B8\u0497\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u04B3\u04B7\u04A1\u04E3\u04A3\u049B\u04BB\u04B9\xA0\u040E\u045E\u0408\u04E8\u0498\u04B0\xA7\u0401\xA9\u04D8\xAB\xAC\u04EF\xAE\u049C\xB0\u04B1\u0406\u0456\u0499\u04E9\xB6\xB7\u0451\u2116\u04D9\xBB\u0458\u04AA\u04AB\u049D\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"},viscii:{type:"_sbcs",chars:`\0\u1EB2\u1EB4\u1EAA\x07\b +\v\f\r\u1EF6\u1EF8\x1B\u1EF4 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u1EA0\u1EAE\u1EB0\u1EB6\u1EA4\u1EA6\u1EA8\u1EAC\u1EBC\u1EB8\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EE2\u1EDA\u1EDC\u1EDE\u1ECA\u1ECE\u1ECC\u1EC8\u1EE6\u0168\u1EE4\u1EF2\xD5\u1EAF\u1EB1\u1EB7\u1EA5\u1EA7\u1EA9\u1EAD\u1EBD\u1EB9\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1ED1\u1ED3\u1ED5\u1ED7\u1EE0\u01A0\u1ED9\u1EDD\u1EDF\u1ECB\u1EF0\u1EE8\u1EEA\u1EEC\u01A1\u1EDB\u01AF\xC0\xC1\xC2\xC3\u1EA2\u0102\u1EB3\u1EB5\xC8\xC9\xCA\u1EBA\xCC\xCD\u0128\u1EF3\u0110\u1EE9\xD2\xD3\xD4\u1EA1\u1EF7\u1EEB\u1EED\xD9\xDA\u1EF9\u1EF5\xDD\u1EE1\u01B0\xE0\xE1\xE2\xE3\u1EA3\u0103\u1EEF\u1EAB\xE8\xE9\xEA\u1EBB\xEC\xED\u0129\u1EC9\u0111\u1EF1\xF2\xF3\xF4\xF5\u1ECF\u1ECD\u1EE5\xF9\xFA\u0169\u1EE7\xFD\u1EE3\u1EEE`},iso646cn:{type:"_sbcs",chars:`\0\x07\b +\v\f\r\x1B !"#\xA5%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD`},iso646jp:{type:"_sbcs",chars:`\0\x07\b +\v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\xA5]^_\`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD`},hproman8:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xC0\xC2\xC8\xCA\xCB\xCE\xCF\xB4\u02CB\u02C6\xA8\u02DC\xD9\xDB\u20A4\xAF\xDD\xFD\xB0\xC7\xE7\xD1\xF1\xA1\xBF\xA4\xA3\xA5\xA7\u0192\xA2\xE2\xEA\xF4\xFB\xE1\xE9\xF3\xFA\xE0\xE8\xF2\xF9\xE4\xEB\xF6\xFC\xC5\xEE\xD8\xC6\xE5\xED\xF8\xE6\xC4\xEC\xD6\xDC\xC9\xEF\xDF\xD4\xC1\xC3\xE3\xD0\xF0\xCD\xCC\xD3\xD2\xD5\xF5\u0160\u0161\xDA\u0178\xFF\xDE\xFE\xB7\xB5\xB6\xBE\u2014\xBC\xBD\xAA\xBA\xAB\u25A0\xBB\xB1\uFFFD"},macintosh:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},ascii:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"},tis620:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"}}});var sOt=S(nOt=>{"use strict";var dTe=r0().Buffer;nOt._dbcs=Eg;var go=-1,rOt=-2,Fd=-10,jc=-1e3,IC=new Array(256),Rk=-1;for(NV=0;NV<256;NV++)IC[NV]=go;var NV;function Eg(e,t){if(this.encodingName=e.encodingName,!e)throw new Error("DBCS codec is called without the data.");if(!e.table)throw new Error("Encoding '"+this.encodingName+"' has no data.");var r=e.table();this.decodeTables=[],this.decodeTables[0]=IC.slice(0),this.decodeTableSeq=[];for(var n=0;njc)throw new Error("gb18030 decode tables conflict at byte 2");for(var u=this.decodeTables[jc-o[c]],l=129;l<=254;l++){if(u[l]===go)u[l]=jc-i;else{if(u[l]===jc-i)continue;if(u[l]>jc)throw new Error("gb18030 decode tables conflict at byte 3")}for(var d=this.decodeTables[jc-u[l]],f=48;f<=57;f++)d[f]===go&&(d[f]=rOt)}}}this.defaultCharUnicode=t.defaultCharUnicode,this.encodeTable=[],this.encodeTableSeq=[];var h={};if(e.encodeSkipVals)for(var n=0;n0;e>>>=8)t.push(e&255);t.length==0&&t.push(0);for(var r=this.decodeTables[0],n=t.length-1;n>0;n--){var s=r[t[n]];if(s==go)r[t[n]]=jc-this.decodeTables.length,this.decodeTables.push(r=IC.slice(0));else if(s<=jc)r=this.decodeTables[jc-s];else throw new Error("Overwrite byte in "+this.encodingName+", addr: "+e.toString(16))}return r};Eg.prototype._addDecodeChunk=function(e){var t=parseInt(e[0],16),r=this._getDecodeTrieNode(t);t=t&255;for(var n=1;n255)throw new Error("Incorrect chunk in "+this.encodingName+" at addr "+e[0]+": too long"+t)};Eg.prototype._getEncodeBucket=function(e){var t=e>>8;return this.encodeTable[t]===void 0&&(this.encodeTable[t]=IC.slice(0)),this.encodeTable[t]};Eg.prototype._setEncodeChar=function(e,t){var r=this._getEncodeBucket(e),n=e&255;r[n]<=Fd?this.encodeTableSeq[Fd-r[n]][Rk]=t:r[n]==go&&(r[n]=t)};Eg.prototype._setEncodeSequence=function(e,t){var r=e[0],n=this._getEncodeBucket(r),s=r&255,i;n[s]<=Fd?i=this.encodeTableSeq[Fd-n[s]]:(i={},n[s]!==go&&(i[Rk]=n[s]),n[s]=Fd-this.encodeTableSeq.length,this.encodeTableSeq.push(i));for(var a=1;a=0)this._setEncodeChar(o,c),s=!0;else if(o<=jc){var u=jc-o;if(!i[u]){var l=c<<8>>>0;this._fillEncodeTable(u,l,r)?s=!0:i[u]=!0}}else o<=Fd&&(this._setEncodeSequence(this.decodeTableSeq[Fd-o],c),s=!0)}return s};function OV(e,t){this.leadSurrogate=-1,this.seqObj=void 0,this.encodeTable=t.encodeTable,this.encodeTableSeq=t.encodeTableSeq,this.defaultCharSingleByte=t.defCharSB,this.gb18030=t.gb18030}OV.prototype.write=function(e){for(var t=dTe.alloc(e.length*(this.gb18030?4:3)),r=this.leadSurrogate,n=this.seqObj,s=-1,i=0,a=0;;){if(s===-1){if(i==e.length)break;var o=e.charCodeAt(i++)}else{var o=s;s=-1}if(55296<=o&&o<57344)if(o<56320)if(r===-1){r=o;continue}else r=o,o=go;else r!==-1?(o=65536+(r-55296)*1024+(o-56320),r=-1):o=go;else r!==-1&&(s=o,o=go,r=-1);var c=go;if(n!==void 0&&o!=go){var u=n[o];if(typeof u=="object"){n=u;continue}else typeof u=="number"?c=u:u==null&&(u=n[Rk],u!==void 0&&(c=u,s=o));n=void 0}else if(o>=0){var l=this.encodeTable[o>>8];if(l!==void 0&&(c=l[o&255]),c<=Fd){n=this.encodeTableSeq[Fd-c];continue}if(c==go&&this.gb18030){var d=hTe(this.gb18030.uChars,o);if(d!=-1){var c=this.gb18030.gbChars[d]+(o-this.gb18030.uChars[d]);t[a++]=129+Math.floor(c/12600),c=c%12600,t[a++]=48+Math.floor(c/1260),c=c%1260,t[a++]=129+Math.floor(c/10),c=c%10,t[a++]=48+c;continue}}}c===go&&(c=this.defaultCharSingleByte),c<256?t[a++]=c:c<65536?(t[a++]=c>>8,t[a++]=c&255):c<16777216?(t[a++]=c>>16,t[a++]=c>>8&255,t[a++]=c&255):(t[a++]=c>>>24,t[a++]=c>>>16&255,t[a++]=c>>>8&255,t[a++]=c&255)}return this.seqObj=n,this.leadSurrogate=r,t.slice(0,a)};OV.prototype.end=function(){if(!(this.leadSurrogate===-1&&this.seqObj===void 0)){var e=dTe.alloc(10),t=0;if(this.seqObj){var r=this.seqObj[Rk];r!==void 0&&(r<256?e[t++]=r:(e[t++]=r>>8,e[t++]=r&255)),this.seqObj=void 0}return this.leadSurrogate!==-1&&(e[t++]=this.defaultCharSingleByte,this.leadSurrogate=-1),e.slice(0,t)}};OV.prototype.findIdx=hTe;function fTe(e,t){this.nodeIdx=0,this.prevBytes=[],this.decodeTables=t.decodeTables,this.decodeTableSeq=t.decodeTableSeq,this.defaultCharUnicode=t.defaultCharUnicode,this.gb18030=t.gb18030}fTe.prototype.write=function(e){for(var t=dTe.alloc(e.length*2),r=this.nodeIdx,n=this.prevBytes,s=this.prevBytes.length,i=-this.prevBytes.length,a,o=0,c=0;o=0?e[o]:n[o+s],a=this.decodeTables[r][u];if(!(a>=0))if(a===go)a=this.defaultCharUnicode.charCodeAt(0),o=i;else if(a===rOt){if(o>=3)var l=(e[o-3]-129)*12600+(e[o-2]-48)*1260+(e[o-1]-129)*10+(u-48);else var l=(n[o-3+s]-129)*12600+((o-2>=0?e[o-2]:n[o-2+s])-48)*1260+((o-1>=0?e[o-1]:n[o-1+s])-129)*10+(u-48);var d=hTe(this.gb18030.gbChars,l);a=this.gb18030.uChars[d]+l-this.gb18030.gbChars[d]}else if(a<=jc){r=jc-a;continue}else if(a<=Fd){for(var f=this.decodeTableSeq[Fd-a],h=0;h>8;a=f[f.length-1]}else throw new Error("iconv-lite internal error: invalid decoding table value "+a+" at "+r+"/"+u);if(a>=65536){a-=65536;var p=55296|a>>10;t[c++]=p&255,t[c++]=p>>8,a=56320|a&1023}t[c++]=a&255,t[c++]=a>>8,r=0,i=o+1}return this.nodeIdx=r,this.prevBytes=i>=0?Array.prototype.slice.call(e,i):n.slice(i+s).concat(Array.prototype.slice.call(e)),t.slice(0,c).toString("ucs2")};fTe.prototype.end=function(){for(var e="";this.prevBytes.length>0;){e+=this.defaultCharUnicode;var t=this.prevBytes.slice(1);this.prevBytes=[],this.nodeIdx=0,t.length>0&&(e+=this.write(t))}return this.prevBytes=[],this.nodeIdx=0,e};function hTe(e,t){if(e[0]>t)return-1;for(var r=0,n=e.length;r>1);e[s]<=t?r=s:n=s}return r}});var iOt=S((Tms,UJr)=>{UJr.exports=[["0","\0",128],["a1","\uFF61",62],["8140","\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008",9,"\uFF0B\uFF0D\xB1\xD7"],["8180","\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"],["81b8","\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"],["81c8","\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"],["81da","\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"],["81f0","\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"],["81fc","\u25EF"],["824f","\uFF10",9],["8260","\uFF21",25],["8281","\uFF41",25],["829f","\u3041",82],["8340","\u30A1",62],["8380","\u30E0",22],["839f","\u0391",16,"\u03A3",6],["83bf","\u03B1",16,"\u03C3",6],["8440","\u0410",5,"\u0401\u0416",25],["8470","\u0430",5,"\u0451\u0436",7],["8480","\u043E",17],["849f","\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"],["8740","\u2460",19,"\u2160",9],["875f","\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"],["877e","\u337B"],["8780","\u301D\u301F\u2116\u33CD\u2121\u32A4",4,"\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"],["889f","\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"],["8940","\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186"],["8980","\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"],["8a40","\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B"],["8a80","\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"],["8b40","\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551"],["8b80","\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"],["8c40","\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8"],["8c80","\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"],["8d40","\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D"],["8d80","\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"],["8e40","\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62"],["8e80","\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"],["8f40","\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3"],["8f80","\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"],["9040","\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8"],["9080","\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"],["9140","\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB"],["9180","\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"],["9240","\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4"],["9280","\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"],["9340","\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC"],["9380","\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"],["9440","\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885"],["9480","\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"],["9540","\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577"],["9580","\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"],["9640","\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6"],["9680","\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"],["9740","\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32"],["9780","\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"],["9840","\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"],["989f","\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"],["9940","\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED"],["9980","\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"],["9a40","\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638"],["9a80","\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"],["9b40","\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80"],["9b80","\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"],["9c40","\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060"],["9c80","\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"],["9d40","\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B"],["9d80","\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"],["9e40","\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E"],["9e80","\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"],["9f40","\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF"],["9f80","\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"],["e040","\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD"],["e080","\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"],["e140","\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF"],["e180","\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"],["e240","\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0"],["e280","\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"],["e340","\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37"],["e380","\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"],["e440","\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264"],["e480","\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"],["e540","\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC"],["e580","\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"],["e640","\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7"],["e680","\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"],["e740","\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C"],["e780","\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"],["e840","\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599"],["e880","\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"],["e940","\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43"],["e980","\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"],["ea40","\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF"],["ea80","\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7\u9059\u7464\u51DC\u7199"],["ed40","\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F"],["ed80","\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"],["ee40","\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559"],["ee80","\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"],["eeef","\u2170",9,"\uFFE2\uFFE4\uFF07\uFF02"],["f040","\uE000",62],["f080","\uE03F",124],["f140","\uE0BC",62],["f180","\uE0FB",124],["f240","\uE178",62],["f280","\uE1B7",124],["f340","\uE234",62],["f380","\uE273",124],["f440","\uE2F0",62],["f480","\uE32F",124],["f540","\uE3AC",62],["f580","\uE3EB",124],["f640","\uE468",62],["f680","\uE4A7",124],["f740","\uE524",62],["f780","\uE563",124],["f840","\uE5E0",62],["f880","\uE61F",124],["f940","\uE69C"],["fa40","\u2170",9,"\u2160",9,"\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u2235\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A"],["fa80","\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F"],["fb40","\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19"],["fb80","\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9"],["fc40","\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"]]});var aOt=S((bms,FJr)=>{FJr.exports=[["0","\0",127],["8ea1","\uFF61",62],["a1a1","\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008",9,"\uFF0B\uFF0D\xB1\xD7\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7"],["a2a1","\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"],["a2ba","\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"],["a2ca","\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"],["a2dc","\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"],["a2f2","\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"],["a2fe","\u25EF"],["a3b0","\uFF10",9],["a3c1","\uFF21",25],["a3e1","\uFF41",25],["a4a1","\u3041",82],["a5a1","\u30A1",85],["a6a1","\u0391",16,"\u03A3",6],["a6c1","\u03B1",16,"\u03C3",6],["a7a1","\u0410",5,"\u0401\u0416",25],["a7d1","\u0430",5,"\u0451\u0436",25],["a8a1","\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"],["ada1","\u2460",19,"\u2160",9],["adc0","\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"],["addf","\u337B\u301D\u301F\u2116\u33CD\u2121\u32A4",4,"\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"],["b0a1","\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"],["b1a1","\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC"],["b2a1","\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"],["b3a1","\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431"],["b4a1","\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"],["b5a1","\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC"],["b6a1","\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"],["b7a1","\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372"],["b8a1","\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"],["b9a1","\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC"],["baa1","\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"],["bba1","\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642"],["bca1","\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"],["bda1","\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F"],["bea1","\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"],["bfa1","\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE"],["c0a1","\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"],["c1a1","\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E"],["c2a1","\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"],["c3a1","\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5"],["c4a1","\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"],["c5a1","\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230"],["c6a1","\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"],["c7a1","\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6"],["c8a1","\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"],["c9a1","\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D"],["caa1","\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"],["cba1","\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80"],["cca1","\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"],["cda1","\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483"],["cea1","\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"],["cfa1","\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"],["d0a1","\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"],["d1a1","\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8"],["d2a1","\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"],["d3a1","\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709"],["d4a1","\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"],["d5a1","\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53"],["d6a1","\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"],["d7a1","\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A"],["d8a1","\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"],["d9a1","\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC"],["daa1","\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"],["dba1","\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD"],["dca1","\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"],["dda1","\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE"],["dea1","\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"],["dfa1","\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC"],["e0a1","\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"],["e1a1","\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670"],["e2a1","\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"],["e3a1","\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50"],["e4a1","\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"],["e5a1","\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A"],["e6a1","\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"],["e7a1","\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9"],["e8a1","\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"],["e9a1","\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759"],["eaa1","\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"],["eba1","\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B"],["eca1","\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"],["eda1","\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8"],["eea1","\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"],["efa1","\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E"],["f0a1","\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"],["f1a1","\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7"],["f2a1","\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"],["f3a1","\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0"],["f4a1","\u582F\u69C7\u9059\u7464\u51DC\u7199"],["f9a1","\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7"],["faa1","\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"],["fba1","\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA"],["fca1","\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"],["fcf1","\u2170",9,"\uFFE2\uFFE4\uFF07\uFF02"],["8fa2af","\u02D8\u02C7\xB8\u02D9\u02DD\xAF\u02DB\u02DA\uFF5E\u0384\u0385"],["8fa2c2","\xA1\xA6\xBF"],["8fa2eb","\xBA\xAA\xA9\xAE\u2122\xA4\u2116"],["8fa6e1","\u0386\u0388\u0389\u038A\u03AA"],["8fa6e7","\u038C"],["8fa6e9","\u038E\u03AB"],["8fa6ec","\u038F"],["8fa6f1","\u03AC\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"],["8fa7c2","\u0402",10,"\u040E\u040F"],["8fa7f2","\u0452",10,"\u045E\u045F"],["8fa9a1","\xC6\u0110"],["8fa9a4","\u0126"],["8fa9a6","\u0132"],["8fa9a8","\u0141\u013F"],["8fa9ab","\u014A\xD8\u0152"],["8fa9af","\u0166\xDE"],["8fa9c1","\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0142\u0140\u0149\u014B\xF8\u0153\xDF\u0167\xFE"],["8faaa1","\xC1\xC0\xC4\xC2\u0102\u01CD\u0100\u0104\xC5\xC3\u0106\u0108\u010C\xC7\u010A\u010E\xC9\xC8\xCB\xCA\u011A\u0116\u0112\u0118"],["8faaba","\u011C\u011E\u0122\u0120\u0124\xCD\xCC\xCF\xCE\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139\u013D\u013B\u0143\u0147\u0145\xD1\xD3\xD2\xD6\xD4\u01D1\u0150\u014C\xD5\u0154\u0158\u0156\u015A\u015C\u0160\u015E\u0164\u0162\xDA\xD9\xDC\xDB\u016C\u01D3\u0170\u016A\u0172\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\xDD\u0178\u0176\u0179\u017D\u017B"],["8faba1","\xE1\xE0\xE4\xE2\u0103\u01CE\u0101\u0105\xE5\xE3\u0107\u0109\u010D\xE7\u010B\u010F\xE9\xE8\xEB\xEA\u011B\u0117\u0113\u0119\u01F5\u011D\u011F"],["8fabbd","\u0121\u0125\xED\xEC\xEF\xEE\u01D0"],["8fabc5","\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C\u0144\u0148\u0146\xF1\xF3\xF2\xF6\xF4\u01D2\u0151\u014D\xF5\u0155\u0159\u0157\u015B\u015D\u0161\u015F\u0165\u0163\xFA\xF9\xFC\xFB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169\u01D8\u01DC\u01DA\u01D6\u0175\xFD\xFF\u0177\u017A\u017E\u017C"],["8fb0a1","\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"],["8fb1a1","\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083\u5084\u5086\u508A\u508E\u508F\u5090"],["8fb2a1","\u5092\u5093\u5094\u5096\u509B\u509C\u509E",4,"\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA\u51BC\u51BE\u51BF\u51C2"],["8fb3a1","\u51C8\u51CF\u51D1\u51D2\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303\u530A\u530B"],["8fb4a1","\u530C\u5311\u5313\u5318\u531B\u531C\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"],["8fb5a1","\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2"],["8fb6a1","\u55D3\u55D7\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605\u5608\u560A\u560D",5,"\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9\u56DC\u56DD\u56DF\u56E1\u56E4",4,"\u56F1\u56EB\u56ED"],["8fb7a1","\u56F6\u56F7\u5701\u5702\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768\u576B\u576D",4,"\u5773\u5774\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808\u5809\u57E1"],["8fb8a1","\u580C\u580D\u581B\u581E\u581F\u5820\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D"],["8fb9a1","\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF"],["8fbaa1","\u5AC4\u5AC6\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6",4,"\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62\u5C63\u5C67\u5C68\u5C69"],["8fbba1","\u5C6D\u5C70\u5C74\u5C75\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9\u5DE0\u5DE4"],["8fbca1","\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A",4,"\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"],["8fbda1","\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0",4,"\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7"],["8fbea1","\u60BB\u60BE\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A\u610C\u6110",4,"\u6116\u6117\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1\u61E2\u61E7\u61E9\u61E5"],["8fbfa1","\u61EC\u61ED\u61EF\u6201\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371\u6374\u6375"],["8fc0a1","\u6378\u637C\u637D\u637F\u6382\u6384\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"],["8fc1a1","\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609\u660D\u6611\u6612\u6615\u6616\u661D"],["8fc2a1","\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748\u674C\u6754\u6755\u675D"],["8fc3a1","\u6766\u676C\u676E\u6774\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855\u6857\u6858\u685B\u686B\u686E",4,"\u6875\u6879\u687A\u687B\u687C\u6882\u6884\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8\u68CC\u68CF"],["8fc4a1","\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"],["8fc5a1","\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D"],["8fc6a1","\u6B7E\u6B82\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0\u6CD1\u6CD2\u6CD4\u6CD6"],["8fc7a1","\u6CDA\u6CDC\u6CE0\u6CE7\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C\u6E5D\u6E5E"],["8fc8a1","\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA"],["8fc9a1","\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E\u7081\u7085\u7086\u7094",4,"\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4\u70FA\u7103",4,"\u710B\u710C\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150\u7152\u7157\u715A\u715C\u715E\u7160"],["8fcaa1","\u7168\u7179\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5\u72F3\u72F4\u72FA\u72FB"],["8fcba1","\u72FE\u7302\u7304\u7305\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA\u73FB\u73FD"],["8fcca1","\u73FF\u7400\u7401\u7404\u7407\u740A\u7411\u741A\u741B\u7424\u7426\u7428",9,"\u7439\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"],["8fcda1","\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E\u755F\u7561\u756F\u7571\u7579",5,"\u7581\u7585\u7590\u7592\u7593\u7595\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629\u762D\u7632\u7633\u7635\u7638\u7639"],["8fcea1","\u763A\u763C\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B\u769C\u769D\u769F\u76A0\u76A2",6,"\u76AA\u76AD\u76BD\u76C1\u76C5\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C\u775E\u775F\u7760\u7762"],["8fcfa1","\u7764\u7767\u776A\u776C\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1\u78B2\u78B3"],["8fd0a1","\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"],["8fd1a1","\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30"],["8fd2a1","\u7B31\u7B34\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59",5],["8fd3a1","\u7C61\u7C63\u7C67\u7C69\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96\u7D97\u7D9D"],["8fd4a1","\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6\u7DB7\u7DB9\u7DC2",4,"\u7DCC\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"],["8fd5a1","\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE"],["8fd6a1","\u80F0\u80F2\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A\u8243\u8244\u8245\u8246"],["8fd7a1","\u824B\u824E\u824F\u8251\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357\u8370\u8378"],["8fd8a1","\u837D\u837F\u8380\u8382\u8384\u8386\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3"],["8fd9a1","\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F\u8546\u854F",4,"\u8556\u8559\u855C",6,"\u8564\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC"],["8fdaa1","\u85FF\u8600\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653\u8656\u8657\u8658\u8659\u865D\u8660",4,"\u8669\u866C\u866F\u8675\u8676\u8677\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719\u871E\u871F\u8721\u8723"],["8fdba1","\u8728\u872E\u872F\u8731\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F\u8771\u8772\u877B\u8783",6,"\u878B\u878C\u8790\u8793\u8795\u8797\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830\u8832\u8835"],["8fdca1","\u883A\u883C\u8841\u8843\u8845\u8848\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA",4,"\u88D1\u88D2\u88D3\u88DB\u88DE\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"],["8fdda1","\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5\u89B6\u89B7\u89BC\u89D4",4,"\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3"],["8fdea1","\u8AB6\u8AB7\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37\u8B3C\u8B42",4,"\u8B48\u8B52\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75\u8C76\u8C7B\u8C7E\u8C86"],["8fdfa1","\u8C87\u8C8B\u8C90\u8C92\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20\u8E21\u8E22"],["8fe0a1","\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"],["8fe1a1","\u8F43\u8F47\u8F4F\u8F51",4,"\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3"],["8fe2a1","\u90C4\u90C5\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6\u91BB\u91BC\u91BD\u91BF"],["8fe3a1","\u91C2\u91C3\u91C5\u91D3\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9\u91EA\u91EC",5,"\u91F7\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E\u926F\u9270\u9275",4,"\u927B\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E\u9292\u9297"],["8fe4a1","\u9299\u929F\u92A0\u92A4\u92A5\u92A7\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB\u92BC\u92BD\u92BF",4,"\u92C5\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"],["8fe5a1","\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7\u93C9",4,"\u93D3\u93D9\u93DC\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F\u9471\u9472\u9484\u9483\u9578\u9579"],["8fe6a1","\u957E\u9584\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9\u96EF\u96F1\u96FA\u9702"],["8fe7a1","\u9703\u9705\u9709\u971A\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820\u9823\u9826"],["8fe8a1","\u982B\u982E\u982F\u9830\u9832\u9833\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B\u9931",4,"\u9939\u993A\u993B\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5"],["8fe9a1","\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA\u9AFD\u9AFF",4],["8feaa1","\u9B04\u9B05\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61\u9B63\u9B65\u9B66\u9B68\u9B6A",4,"\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB\u9BEF\u9BF3\u9BF7\u9BF8"],["8feba1","\u9BF9\u9BFA\u9BFD\u9BFF\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26",4,"\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76\u9D77\u9D7B"],["8feca1","\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"],["8feda1","\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43",4,"\u9F53\u9F55\u9F56\u9F57\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D",4,"\u9F73\u9F75\u9F7A\u9F7D\u9F8F\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1\u9FA2\u9FA3\u9FA5"]]});var PV=S((Ims,$Jr)=>{$Jr.exports=[["0","\0",127,"\u20AC"],["8140","\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A",5,"\u4E72\u4E74",9,"\u4E7F",6,"\u4E87\u4E8A"],["8180","\u4E90\u4E96\u4E97\u4E99\u4E9C\u4E9D\u4E9E\u4EA3\u4EAA\u4EAF\u4EB0\u4EB1\u4EB4\u4EB6\u4EB7\u4EB8\u4EB9\u4EBC\u4EBD\u4EBE\u4EC8\u4ECC\u4ECF\u4ED0\u4ED2\u4EDA\u4EDB\u4EDC\u4EE0\u4EE2\u4EE6\u4EE7\u4EE9\u4EED\u4EEE\u4EEF\u4EF1\u4EF4\u4EF8\u4EF9\u4EFA\u4EFC\u4EFE\u4F00\u4F02",6,"\u4F0B\u4F0C\u4F12",4,"\u4F1C\u4F1D\u4F21\u4F23\u4F28\u4F29\u4F2C\u4F2D\u4F2E\u4F31\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E",4,"\u4F44\u4F45\u4F47",5,"\u4F52\u4F54\u4F56\u4F61\u4F62\u4F66\u4F68\u4F6A\u4F6B\u4F6D\u4F6E\u4F71\u4F72\u4F75\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F80\u4F81\u4F82\u4F85\u4F86\u4F87\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F95\u4F96\u4F98\u4F99\u4F9A\u4F9C\u4F9E\u4F9F\u4FA1\u4FA2"],["8240","\u4FA4\u4FAB\u4FAD\u4FB0",4,"\u4FB6",8,"\u4FC0\u4FC1\u4FC2\u4FC6\u4FC7\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FD2",4,"\u4FD9\u4FDB\u4FE0\u4FE2\u4FE4\u4FE5\u4FE7\u4FEB\u4FEC\u4FF0\u4FF2\u4FF4\u4FF5\u4FF6\u4FF7\u4FF9\u4FFB\u4FFC\u4FFD\u4FFF",11],["8280","\u500B\u500E\u5010\u5011\u5013\u5015\u5016\u5017\u501B\u501D\u501E\u5020\u5022\u5023\u5024\u5027\u502B\u502F",10,"\u503B\u503D\u503F\u5040\u5041\u5042\u5044\u5045\u5046\u5049\u504A\u504B\u504D\u5050",4,"\u5056\u5057\u5058\u5059\u505B\u505D",7,"\u5066",5,"\u506D",8,"\u5078\u5079\u507A\u507C\u507D\u5081\u5082\u5083\u5084\u5086\u5087\u5089\u508A\u508B\u508C\u508E",20,"\u50A4\u50A6\u50AA\u50AB\u50AD",4,"\u50B3",6,"\u50BC"],["8340","\u50BD",17,"\u50D0",5,"\u50D7\u50D8\u50D9\u50DB",10,"\u50E8\u50E9\u50EA\u50EB\u50EF\u50F0\u50F1\u50F2\u50F4\u50F6",4,"\u50FC",9,"\u5108"],["8380","\u5109\u510A\u510C",5,"\u5113",13,"\u5122",28,"\u5142\u5147\u514A\u514C\u514E\u514F\u5150\u5152\u5153\u5157\u5158\u5159\u515B\u515D",4,"\u5163\u5164\u5166\u5167\u5169\u516A\u516F\u5172\u517A\u517E\u517F\u5183\u5184\u5186\u5187\u518A\u518B\u518E\u518F\u5190\u5191\u5193\u5194\u5198\u519A\u519D\u519E\u519F\u51A1\u51A3\u51A6",4,"\u51AD\u51AE\u51B4\u51B8\u51B9\u51BA\u51BE\u51BF\u51C1\u51C2\u51C3\u51C5\u51C8\u51CA\u51CD\u51CE\u51D0\u51D2",5],["8440","\u51D8\u51D9\u51DA\u51DC\u51DE\u51DF\u51E2\u51E3\u51E5",5,"\u51EC\u51EE\u51F1\u51F2\u51F4\u51F7\u51FE\u5204\u5205\u5209\u520B\u520C\u520F\u5210\u5213\u5214\u5215\u521C\u521E\u521F\u5221\u5222\u5223\u5225\u5226\u5227\u522A\u522C\u522F\u5231\u5232\u5234\u5235\u523C\u523E\u5244",5,"\u524B\u524E\u524F\u5252\u5253\u5255\u5257\u5258"],["8480","\u5259\u525A\u525B\u525D\u525F\u5260\u5262\u5263\u5264\u5266\u5268\u526B\u526C\u526D\u526E\u5270\u5271\u5273",9,"\u527E\u5280\u5283",4,"\u5289",6,"\u5291\u5292\u5294",6,"\u529C\u52A4\u52A5\u52A6\u52A7\u52AE\u52AF\u52B0\u52B4",9,"\u52C0\u52C1\u52C2\u52C4\u52C5\u52C6\u52C8\u52CA\u52CC\u52CD\u52CE\u52CF\u52D1\u52D3\u52D4\u52D5\u52D7\u52D9",5,"\u52E0\u52E1\u52E2\u52E3\u52E5",10,"\u52F1",7,"\u52FB\u52FC\u52FD\u5301\u5302\u5303\u5304\u5307\u5309\u530A\u530B\u530C\u530E"],["8540","\u5311\u5312\u5313\u5314\u5318\u531B\u531C\u531E\u531F\u5322\u5324\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u532F",9,"\u533C\u533D\u5340\u5342\u5344\u5346\u534B\u534C\u534D\u5350\u5354\u5358\u5359\u535B\u535D\u5365\u5368\u536A\u536C\u536D\u5372\u5376\u5379\u537B\u537C\u537D\u537E\u5380\u5381\u5383\u5387\u5388\u538A\u538E\u538F"],["8580","\u5390",4,"\u5396\u5397\u5399\u539B\u539C\u539E\u53A0\u53A1\u53A4\u53A7\u53AA\u53AB\u53AC\u53AD\u53AF",6,"\u53B7\u53B8\u53B9\u53BA\u53BC\u53BD\u53BE\u53C0\u53C3",4,"\u53CE\u53CF\u53D0\u53D2\u53D3\u53D5\u53DA\u53DC\u53DD\u53DE\u53E1\u53E2\u53E7\u53F4\u53FA\u53FE\u53FF\u5400\u5402\u5405\u5407\u540B\u5414\u5418\u5419\u541A\u541C\u5422\u5424\u5425\u542A\u5430\u5433\u5436\u5437\u543A\u543D\u543F\u5441\u5442\u5444\u5445\u5447\u5449\u544C\u544D\u544E\u544F\u5451\u545A\u545D",4,"\u5463\u5465\u5467\u5469",7,"\u5474\u5479\u547A\u547E\u547F\u5481\u5483\u5485\u5487\u5488\u5489\u548A\u548D\u5491\u5493\u5497\u5498\u549C\u549E\u549F\u54A0\u54A1"],["8640","\u54A2\u54A5\u54AE\u54B0\u54B2\u54B5\u54B6\u54B7\u54B9\u54BA\u54BC\u54BE\u54C3\u54C5\u54CA\u54CB\u54D6\u54D8\u54DB\u54E0",4,"\u54EB\u54EC\u54EF\u54F0\u54F1\u54F4",5,"\u54FB\u54FE\u5500\u5502\u5503\u5504\u5505\u5508\u550A",4,"\u5512\u5513\u5515",5,"\u551C\u551D\u551E\u551F\u5521\u5525\u5526"],["8680","\u5528\u5529\u552B\u552D\u5532\u5534\u5535\u5536\u5538\u5539\u553A\u553B\u553D\u5540\u5542\u5545\u5547\u5548\u554B",4,"\u5551\u5552\u5553\u5554\u5557",4,"\u555D\u555E\u555F\u5560\u5562\u5563\u5568\u5569\u556B\u556F",5,"\u5579\u557A\u557D\u557F\u5585\u5586\u558C\u558D\u558E\u5590\u5592\u5593\u5595\u5596\u5597\u559A\u559B\u559E\u55A0",6,"\u55A8",8,"\u55B2\u55B4\u55B6\u55B8\u55BA\u55BC\u55BF",4,"\u55C6\u55C7\u55C8\u55CA\u55CB\u55CE\u55CF\u55D0\u55D5\u55D7",4,"\u55DE\u55E0\u55E2\u55E7\u55E9\u55ED\u55EE\u55F0\u55F1\u55F4\u55F6\u55F8",4,"\u55FF\u5602\u5603\u5604\u5605"],["8740","\u5606\u5607\u560A\u560B\u560D\u5610",7,"\u5619\u561A\u561C\u561D\u5620\u5621\u5622\u5625\u5626\u5628\u5629\u562A\u562B\u562E\u562F\u5630\u5633\u5635\u5637\u5638\u563A\u563C\u563D\u563E\u5640",11,"\u564F",4,"\u5655\u5656\u565A\u565B\u565D",4],["8780","\u5663\u5665\u5666\u5667\u566D\u566E\u566F\u5670\u5672\u5673\u5674\u5675\u5677\u5678\u5679\u567A\u567D",7,"\u5687",6,"\u5690\u5691\u5692\u5694",14,"\u56A4",10,"\u56B0",6,"\u56B8\u56B9\u56BA\u56BB\u56BD",12,"\u56CB",8,"\u56D5\u56D6\u56D8\u56D9\u56DC\u56E3\u56E5",5,"\u56EC\u56EE\u56EF\u56F2\u56F3\u56F6\u56F7\u56F8\u56FB\u56FC\u5700\u5701\u5702\u5705\u5707\u570B",6],["8840","\u5712",9,"\u571D\u571E\u5720\u5721\u5722\u5724\u5725\u5726\u5727\u572B\u5731\u5732\u5734",4,"\u573C\u573D\u573F\u5741\u5743\u5744\u5745\u5746\u5748\u5749\u574B\u5752",4,"\u5758\u5759\u5762\u5763\u5765\u5767\u576C\u576E\u5770\u5771\u5772\u5774\u5775\u5778\u5779\u577A\u577D\u577E\u577F\u5780"],["8880","\u5781\u5787\u5788\u5789\u578A\u578D",4,"\u5794",6,"\u579C\u579D\u579E\u579F\u57A5\u57A8\u57AA\u57AC\u57AF\u57B0\u57B1\u57B3\u57B5\u57B6\u57B7\u57B9",8,"\u57C4",6,"\u57CC\u57CD\u57D0\u57D1\u57D3\u57D6\u57D7\u57DB\u57DC\u57DE\u57E1\u57E2\u57E3\u57E5",7,"\u57EE\u57F0\u57F1\u57F2\u57F3\u57F5\u57F6\u57F7\u57FB\u57FC\u57FE\u57FF\u5801\u5803\u5804\u5805\u5808\u5809\u580A\u580C\u580E\u580F\u5810\u5812\u5813\u5814\u5816\u5817\u5818\u581A\u581B\u581C\u581D\u581F\u5822\u5823\u5825",4,"\u582B",4,"\u5831\u5832\u5833\u5834\u5836",7],["8940","\u583E",5,"\u5845",6,"\u584E\u584F\u5850\u5852\u5853\u5855\u5856\u5857\u5859",4,"\u585F",5,"\u5866",4,"\u586D",16,"\u587F\u5882\u5884\u5886\u5887\u5888\u588A\u588B\u588C"],["8980","\u588D",4,"\u5894",4,"\u589B\u589C\u589D\u58A0",7,"\u58AA",17,"\u58BD\u58BE\u58BF\u58C0\u58C2\u58C3\u58C4\u58C6",10,"\u58D2\u58D3\u58D4\u58D6",13,"\u58E5",5,"\u58ED\u58EF\u58F1\u58F2\u58F4\u58F5\u58F7\u58F8\u58FA",7,"\u5903\u5905\u5906\u5908",4,"\u590E\u5910\u5911\u5912\u5913\u5917\u5918\u591B\u591D\u591E\u5920\u5921\u5922\u5923\u5926\u5928\u592C\u5930\u5932\u5933\u5935\u5936\u593B"],["8a40","\u593D\u593E\u593F\u5940\u5943\u5945\u5946\u594A\u594C\u594D\u5950\u5952\u5953\u5959\u595B",4,"\u5961\u5963\u5964\u5966",12,"\u5975\u5977\u597A\u597B\u597C\u597E\u597F\u5980\u5985\u5989\u598B\u598C\u598E\u598F\u5990\u5991\u5994\u5995\u5998\u599A\u599B\u599C\u599D\u599F\u59A0\u59A1\u59A2\u59A6"],["8a80","\u59A7\u59AC\u59AD\u59B0\u59B1\u59B3",5,"\u59BA\u59BC\u59BD\u59BF",6,"\u59C7\u59C8\u59C9\u59CC\u59CD\u59CE\u59CF\u59D5\u59D6\u59D9\u59DB\u59DE",4,"\u59E4\u59E6\u59E7\u59E9\u59EA\u59EB\u59ED",11,"\u59FA\u59FC\u59FD\u59FE\u5A00\u5A02\u5A0A\u5A0B\u5A0D\u5A0E\u5A0F\u5A10\u5A12\u5A14\u5A15\u5A16\u5A17\u5A19\u5A1A\u5A1B\u5A1D\u5A1E\u5A21\u5A22\u5A24\u5A26\u5A27\u5A28\u5A2A",6,"\u5A33\u5A35\u5A37",4,"\u5A3D\u5A3E\u5A3F\u5A41",4,"\u5A47\u5A48\u5A4B",9,"\u5A56\u5A57\u5A58\u5A59\u5A5B",5],["8b40","\u5A61\u5A63\u5A64\u5A65\u5A66\u5A68\u5A69\u5A6B",8,"\u5A78\u5A79\u5A7B\u5A7C\u5A7D\u5A7E\u5A80",17,"\u5A93",6,"\u5A9C",13,"\u5AAB\u5AAC"],["8b80","\u5AAD",4,"\u5AB4\u5AB6\u5AB7\u5AB9",4,"\u5ABF\u5AC0\u5AC3",5,"\u5ACA\u5ACB\u5ACD",4,"\u5AD3\u5AD5\u5AD7\u5AD9\u5ADA\u5ADB\u5ADD\u5ADE\u5ADF\u5AE2\u5AE4\u5AE5\u5AE7\u5AE8\u5AEA\u5AEC",4,"\u5AF2",22,"\u5B0A",11,"\u5B18",25,"\u5B33\u5B35\u5B36\u5B38",7,"\u5B41",6],["8c40","\u5B48",7,"\u5B52\u5B56\u5B5E\u5B60\u5B61\u5B67\u5B68\u5B6B\u5B6D\u5B6E\u5B6F\u5B72\u5B74\u5B76\u5B77\u5B78\u5B79\u5B7B\u5B7C\u5B7E\u5B7F\u5B82\u5B86\u5B8A\u5B8D\u5B8E\u5B90\u5B91\u5B92\u5B94\u5B96\u5B9F\u5BA7\u5BA8\u5BA9\u5BAC\u5BAD\u5BAE\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBB\u5BBC\u5BC0\u5BC1\u5BC3\u5BC8\u5BC9\u5BCA\u5BCB\u5BCD\u5BCE\u5BCF"],["8c80","\u5BD1\u5BD4",8,"\u5BE0\u5BE2\u5BE3\u5BE6\u5BE7\u5BE9",4,"\u5BEF\u5BF1",6,"\u5BFD\u5BFE\u5C00\u5C02\u5C03\u5C05\u5C07\u5C08\u5C0B\u5C0C\u5C0D\u5C0E\u5C10\u5C12\u5C13\u5C17\u5C19\u5C1B\u5C1E\u5C1F\u5C20\u5C21\u5C23\u5C26\u5C28\u5C29\u5C2A\u5C2B\u5C2D\u5C2E\u5C2F\u5C30\u5C32\u5C33\u5C35\u5C36\u5C37\u5C43\u5C44\u5C46\u5C47\u5C4C\u5C4D\u5C52\u5C53\u5C54\u5C56\u5C57\u5C58\u5C5A\u5C5B\u5C5C\u5C5D\u5C5F\u5C62\u5C64\u5C67",6,"\u5C70\u5C72",6,"\u5C7B\u5C7C\u5C7D\u5C7E\u5C80\u5C83",4,"\u5C89\u5C8A\u5C8B\u5C8E\u5C8F\u5C92\u5C93\u5C95\u5C9D",4,"\u5CA4",4],["8d40","\u5CAA\u5CAE\u5CAF\u5CB0\u5CB2\u5CB4\u5CB6\u5CB9\u5CBA\u5CBB\u5CBC\u5CBE\u5CC0\u5CC2\u5CC3\u5CC5",5,"\u5CCC",5,"\u5CD3",5,"\u5CDA",6,"\u5CE2\u5CE3\u5CE7\u5CE9\u5CEB\u5CEC\u5CEE\u5CEF\u5CF1",9,"\u5CFC",4],["8d80","\u5D01\u5D04\u5D05\u5D08",5,"\u5D0F",4,"\u5D15\u5D17\u5D18\u5D19\u5D1A\u5D1C\u5D1D\u5D1F",4,"\u5D25\u5D28\u5D2A\u5D2B\u5D2C\u5D2F",4,"\u5D35",7,"\u5D3F",7,"\u5D48\u5D49\u5D4D",10,"\u5D59\u5D5A\u5D5C\u5D5E",10,"\u5D6A\u5D6D\u5D6E\u5D70\u5D71\u5D72\u5D73\u5D75",12,"\u5D83",21,"\u5D9A\u5D9B\u5D9C\u5D9E\u5D9F\u5DA0"],["8e40","\u5DA1",21,"\u5DB8",12,"\u5DC6",6,"\u5DCE",12,"\u5DDC\u5DDF\u5DE0\u5DE3\u5DE4\u5DEA\u5DEC\u5DED"],["8e80","\u5DF0\u5DF5\u5DF6\u5DF8",4,"\u5DFF\u5E00\u5E04\u5E07\u5E09\u5E0A\u5E0B\u5E0D\u5E0E\u5E12\u5E13\u5E17\u5E1E",7,"\u5E28",4,"\u5E2F\u5E30\u5E32",4,"\u5E39\u5E3A\u5E3E\u5E3F\u5E40\u5E41\u5E43\u5E46",5,"\u5E4D",6,"\u5E56",4,"\u5E5C\u5E5D\u5E5F\u5E60\u5E63",14,"\u5E75\u5E77\u5E79\u5E7E\u5E81\u5E82\u5E83\u5E85\u5E88\u5E89\u5E8C\u5E8D\u5E8E\u5E92\u5E98\u5E9B\u5E9D\u5EA1\u5EA2\u5EA3\u5EA4\u5EA8",4,"\u5EAE",4,"\u5EB4\u5EBA\u5EBB\u5EBC\u5EBD\u5EBF",6],["8f40","\u5EC6\u5EC7\u5EC8\u5ECB",5,"\u5ED4\u5ED5\u5ED7\u5ED8\u5ED9\u5EDA\u5EDC",11,"\u5EE9\u5EEB",8,"\u5EF5\u5EF8\u5EF9\u5EFB\u5EFC\u5EFD\u5F05\u5F06\u5F07\u5F09\u5F0C\u5F0D\u5F0E\u5F10\u5F12\u5F14\u5F16\u5F19\u5F1A\u5F1C\u5F1D\u5F1E\u5F21\u5F22\u5F23\u5F24"],["8f80","\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F32",6,"\u5F3B\u5F3D\u5F3E\u5F3F\u5F41",14,"\u5F51\u5F54\u5F59\u5F5A\u5F5B\u5F5C\u5F5E\u5F5F\u5F60\u5F63\u5F65\u5F67\u5F68\u5F6B\u5F6E\u5F6F\u5F72\u5F74\u5F75\u5F76\u5F78\u5F7A\u5F7D\u5F7E\u5F7F\u5F83\u5F86\u5F8D\u5F8E\u5F8F\u5F91\u5F93\u5F94\u5F96\u5F9A\u5F9B\u5F9D\u5F9E\u5F9F\u5FA0\u5FA2",5,"\u5FA9\u5FAB\u5FAC\u5FAF",5,"\u5FB6\u5FB8\u5FB9\u5FBA\u5FBB\u5FBE",4,"\u5FC7\u5FC8\u5FCA\u5FCB\u5FCE\u5FD3\u5FD4\u5FD5\u5FDA\u5FDB\u5FDC\u5FDE\u5FDF\u5FE2\u5FE3\u5FE5\u5FE6\u5FE8\u5FE9\u5FEC\u5FEF\u5FF0\u5FF2\u5FF3\u5FF4\u5FF6\u5FF7\u5FF9\u5FFA\u5FFC\u6007"],["9040","\u6008\u6009\u600B\u600C\u6010\u6011\u6013\u6017\u6018\u601A\u601E\u601F\u6022\u6023\u6024\u602C\u602D\u602E\u6030",4,"\u6036",4,"\u603D\u603E\u6040\u6044",6,"\u604C\u604E\u604F\u6051\u6053\u6054\u6056\u6057\u6058\u605B\u605C\u605E\u605F\u6060\u6061\u6065\u6066\u606E\u6071\u6072\u6074\u6075\u6077\u607E\u6080"],["9080","\u6081\u6082\u6085\u6086\u6087\u6088\u608A\u608B\u608E\u608F\u6090\u6091\u6093\u6095\u6097\u6098\u6099\u609C\u609E\u60A1\u60A2\u60A4\u60A5\u60A7\u60A9\u60AA\u60AE\u60B0\u60B3\u60B5\u60B6\u60B7\u60B9\u60BA\u60BD",7,"\u60C7\u60C8\u60C9\u60CC",4,"\u60D2\u60D3\u60D4\u60D6\u60D7\u60D9\u60DB\u60DE\u60E1",4,"\u60EA\u60F1\u60F2\u60F5\u60F7\u60F8\u60FB",4,"\u6102\u6103\u6104\u6105\u6107\u610A\u610B\u610C\u6110",4,"\u6116\u6117\u6118\u6119\u611B\u611C\u611D\u611E\u6121\u6122\u6125\u6128\u6129\u612A\u612C",18,"\u6140",6],["9140","\u6147\u6149\u614B\u614D\u614F\u6150\u6152\u6153\u6154\u6156",6,"\u615E\u615F\u6160\u6161\u6163\u6164\u6165\u6166\u6169",6,"\u6171\u6172\u6173\u6174\u6176\u6178",18,"\u618C\u618D\u618F",4,"\u6195"],["9180","\u6196",6,"\u619E",8,"\u61AA\u61AB\u61AD",9,"\u61B8",5,"\u61BF\u61C0\u61C1\u61C3",4,"\u61C9\u61CC",4,"\u61D3\u61D5",16,"\u61E7",13,"\u61F6",8,"\u6200",5,"\u6207\u6209\u6213\u6214\u6219\u621C\u621D\u621E\u6220\u6223\u6226\u6227\u6228\u6229\u622B\u622D\u622F\u6230\u6231\u6232\u6235\u6236\u6238",4,"\u6242\u6244\u6245\u6246\u624A"],["9240","\u624F\u6250\u6255\u6256\u6257\u6259\u625A\u625C",6,"\u6264\u6265\u6268\u6271\u6272\u6274\u6275\u6277\u6278\u627A\u627B\u627D\u6281\u6282\u6283\u6285\u6286\u6287\u6288\u628B",5,"\u6294\u6299\u629C\u629D\u629E\u62A3\u62A6\u62A7\u62A9\u62AA\u62AD\u62AE\u62AF\u62B0\u62B2\u62B3\u62B4\u62B6\u62B7\u62B8\u62BA\u62BE\u62C0\u62C1"],["9280","\u62C3\u62CB\u62CF\u62D1\u62D5\u62DD\u62DE\u62E0\u62E1\u62E4\u62EA\u62EB\u62F0\u62F2\u62F5\u62F8\u62F9\u62FA\u62FB\u6300\u6303\u6304\u6305\u6306\u630A\u630B\u630C\u630D\u630F\u6310\u6312\u6313\u6314\u6315\u6317\u6318\u6319\u631C\u6326\u6327\u6329\u632C\u632D\u632E\u6330\u6331\u6333",5,"\u633B\u633C\u633E\u633F\u6340\u6341\u6344\u6347\u6348\u634A\u6351\u6352\u6353\u6354\u6356",7,"\u6360\u6364\u6365\u6366\u6368\u636A\u636B\u636C\u636F\u6370\u6372\u6373\u6374\u6375\u6378\u6379\u637C\u637D\u637E\u637F\u6381\u6383\u6384\u6385\u6386\u638B\u638D\u6391\u6393\u6394\u6395\u6397\u6399",6,"\u63A1\u63A4\u63A6\u63AB\u63AF\u63B1\u63B2\u63B5\u63B6\u63B9\u63BB\u63BD\u63BF\u63C0"],["9340","\u63C1\u63C2\u63C3\u63C5\u63C7\u63C8\u63CA\u63CB\u63CC\u63D1\u63D3\u63D4\u63D5\u63D7",6,"\u63DF\u63E2\u63E4",4,"\u63EB\u63EC\u63EE\u63EF\u63F0\u63F1\u63F3\u63F5\u63F7\u63F9\u63FA\u63FB\u63FC\u63FE\u6403\u6404\u6406",4,"\u640D\u640E\u6411\u6412\u6415",5,"\u641D\u641F\u6422\u6423\u6424"],["9380","\u6425\u6427\u6428\u6429\u642B\u642E",5,"\u6435",4,"\u643B\u643C\u643E\u6440\u6442\u6443\u6449\u644B",6,"\u6453\u6455\u6456\u6457\u6459",4,"\u645F",7,"\u6468\u646A\u646B\u646C\u646E",9,"\u647B",6,"\u6483\u6486\u6488",8,"\u6493\u6494\u6497\u6498\u649A\u649B\u649C\u649D\u649F",4,"\u64A5\u64A6\u64A7\u64A8\u64AA\u64AB\u64AF\u64B1\u64B2\u64B3\u64B4\u64B6\u64B9\u64BB\u64BD\u64BE\u64BF\u64C1\u64C3\u64C4\u64C6",6,"\u64CF\u64D1\u64D3\u64D4\u64D5\u64D6\u64D9\u64DA"],["9440","\u64DB\u64DC\u64DD\u64DF\u64E0\u64E1\u64E3\u64E5\u64E7",24,"\u6501",7,"\u650A",7,"\u6513",4,"\u6519",8],["9480","\u6522\u6523\u6524\u6526",4,"\u652C\u652D\u6530\u6531\u6532\u6533\u6537\u653A\u653C\u653D\u6540",4,"\u6546\u6547\u654A\u654B\u654D\u654E\u6550\u6552\u6553\u6554\u6557\u6558\u655A\u655C\u655F\u6560\u6561\u6564\u6565\u6567\u6568\u6569\u656A\u656D\u656E\u656F\u6571\u6573\u6575\u6576\u6578",14,"\u6588\u6589\u658A\u658D\u658E\u658F\u6592\u6594\u6595\u6596\u6598\u659A\u659D\u659E\u65A0\u65A2\u65A3\u65A6\u65A8\u65AA\u65AC\u65AE\u65B1",7,"\u65BA\u65BB\u65BE\u65BF\u65C0\u65C2\u65C7\u65C8\u65C9\u65CA\u65CD\u65D0\u65D1\u65D3\u65D4\u65D5\u65D8",7,"\u65E1\u65E3\u65E4\u65EA\u65EB"],["9540","\u65F2\u65F3\u65F4\u65F5\u65F8\u65F9\u65FB",4,"\u6601\u6604\u6605\u6607\u6608\u6609\u660B\u660D\u6610\u6611\u6612\u6616\u6617\u6618\u661A\u661B\u661C\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6632\u6633\u6637",4,"\u663D\u663F\u6640\u6642\u6644",6,"\u664D\u664E\u6650\u6651\u6658"],["9580","\u6659\u665B\u665C\u665D\u665E\u6660\u6662\u6663\u6665\u6667\u6669",4,"\u6671\u6672\u6673\u6675\u6678\u6679\u667B\u667C\u667D\u667F\u6680\u6681\u6683\u6685\u6686\u6688\u6689\u668A\u668B\u668D\u668E\u668F\u6690\u6692\u6693\u6694\u6695\u6698",4,"\u669E",8,"\u66A9",4,"\u66AF",4,"\u66B5\u66B6\u66B7\u66B8\u66BA\u66BB\u66BC\u66BD\u66BF",25,"\u66DA\u66DE",7,"\u66E7\u66E8\u66EA",5,"\u66F1\u66F5\u66F6\u66F8\u66FA\u66FB\u66FD\u6701\u6702\u6703"],["9640","\u6704\u6705\u6706\u6707\u670C\u670E\u670F\u6711\u6712\u6713\u6716\u6718\u6719\u671A\u671C\u671E\u6720",5,"\u6727\u6729\u672E\u6730\u6732\u6733\u6736\u6737\u6738\u6739\u673B\u673C\u673E\u673F\u6741\u6744\u6745\u6747\u674A\u674B\u674D\u6752\u6754\u6755\u6757",4,"\u675D\u6762\u6763\u6764\u6766\u6767\u676B\u676C\u676E\u6771\u6774\u6776"],["9680","\u6778\u6779\u677A\u677B\u677D\u6780\u6782\u6783\u6785\u6786\u6788\u678A\u678C\u678D\u678E\u678F\u6791\u6792\u6793\u6794\u6796\u6799\u679B\u679F\u67A0\u67A1\u67A4\u67A6\u67A9\u67AC\u67AE\u67B1\u67B2\u67B4\u67B9",7,"\u67C2\u67C5",9,"\u67D5\u67D6\u67D7\u67DB\u67DF\u67E1\u67E3\u67E4\u67E6\u67E7\u67E8\u67EA\u67EB\u67ED\u67EE\u67F2\u67F5",7,"\u67FE\u6801\u6802\u6803\u6804\u6806\u680D\u6810\u6812\u6814\u6815\u6818",4,"\u681E\u681F\u6820\u6822",6,"\u682B",6,"\u6834\u6835\u6836\u683A\u683B\u683F\u6847\u684B\u684D\u684F\u6852\u6856",5],["9740","\u685C\u685D\u685E\u685F\u686A\u686C",7,"\u6875\u6878",8,"\u6882\u6884\u6887",7,"\u6890\u6891\u6892\u6894\u6895\u6896\u6898",9,"\u68A3\u68A4\u68A5\u68A9\u68AA\u68AB\u68AC\u68AE\u68B1\u68B2\u68B4\u68B6\u68B7\u68B8"],["9780","\u68B9",6,"\u68C1\u68C3",5,"\u68CA\u68CC\u68CE\u68CF\u68D0\u68D1\u68D3\u68D4\u68D6\u68D7\u68D9\u68DB",4,"\u68E1\u68E2\u68E4",9,"\u68EF\u68F2\u68F3\u68F4\u68F6\u68F7\u68F8\u68FB\u68FD\u68FE\u68FF\u6900\u6902\u6903\u6904\u6906",4,"\u690C\u690F\u6911\u6913",11,"\u6921\u6922\u6923\u6925",7,"\u692E\u692F\u6931\u6932\u6933\u6935\u6936\u6937\u6938\u693A\u693B\u693C\u693E\u6940\u6941\u6943",16,"\u6955\u6956\u6958\u6959\u695B\u695C\u695F"],["9840","\u6961\u6962\u6964\u6965\u6967\u6968\u6969\u696A\u696C\u696D\u696F\u6970\u6972",4,"\u697A\u697B\u697D\u697E\u697F\u6981\u6983\u6985\u698A\u698B\u698C\u698E",5,"\u6996\u6997\u6999\u699A\u699D",9,"\u69A9\u69AA\u69AC\u69AE\u69AF\u69B0\u69B2\u69B3\u69B5\u69B6\u69B8\u69B9\u69BA\u69BC\u69BD"],["9880","\u69BE\u69BF\u69C0\u69C2",7,"\u69CB\u69CD\u69CF\u69D1\u69D2\u69D3\u69D5",5,"\u69DC\u69DD\u69DE\u69E1",11,"\u69EE\u69EF\u69F0\u69F1\u69F3",9,"\u69FE\u6A00",9,"\u6A0B",11,"\u6A19",5,"\u6A20\u6A22",5,"\u6A29\u6A2B\u6A2C\u6A2D\u6A2E\u6A30\u6A32\u6A33\u6A34\u6A36",6,"\u6A3F",4,"\u6A45\u6A46\u6A48",7,"\u6A51",6,"\u6A5A"],["9940","\u6A5C",4,"\u6A62\u6A63\u6A64\u6A66",10,"\u6A72",6,"\u6A7A\u6A7B\u6A7D\u6A7E\u6A7F\u6A81\u6A82\u6A83\u6A85",8,"\u6A8F\u6A92",4,"\u6A98",7,"\u6AA1",5],["9980","\u6AA7\u6AA8\u6AAA\u6AAD",114,"\u6B25\u6B26\u6B28",6],["9a40","\u6B2F\u6B30\u6B31\u6B33\u6B34\u6B35\u6B36\u6B38\u6B3B\u6B3C\u6B3D\u6B3F\u6B40\u6B41\u6B42\u6B44\u6B45\u6B48\u6B4A\u6B4B\u6B4D",11,"\u6B5A",7,"\u6B68\u6B69\u6B6B",13,"\u6B7A\u6B7D\u6B7E\u6B7F\u6B80\u6B85\u6B88"],["9a80","\u6B8C\u6B8E\u6B8F\u6B90\u6B91\u6B94\u6B95\u6B97\u6B98\u6B99\u6B9C",4,"\u6BA2",7,"\u6BAB",7,"\u6BB6\u6BB8",6,"\u6BC0\u6BC3\u6BC4\u6BC6",4,"\u6BCC\u6BCE\u6BD0\u6BD1\u6BD8\u6BDA\u6BDC",4,"\u6BE2",7,"\u6BEC\u6BED\u6BEE\u6BF0\u6BF1\u6BF2\u6BF4\u6BF6\u6BF7\u6BF8\u6BFA\u6BFB\u6BFC\u6BFE",6,"\u6C08",4,"\u6C0E\u6C12\u6C17\u6C1C\u6C1D\u6C1E\u6C20\u6C23\u6C25\u6C2B\u6C2C\u6C2D\u6C31\u6C33\u6C36\u6C37\u6C39\u6C3A\u6C3B\u6C3C\u6C3E\u6C3F\u6C43\u6C44\u6C45\u6C48\u6C4B",4,"\u6C51\u6C52\u6C53\u6C56\u6C58"],["9b40","\u6C59\u6C5A\u6C62\u6C63\u6C65\u6C66\u6C67\u6C6B",4,"\u6C71\u6C73\u6C75\u6C77\u6C78\u6C7A\u6C7B\u6C7C\u6C7F\u6C80\u6C84\u6C87\u6C8A\u6C8B\u6C8D\u6C8E\u6C91\u6C92\u6C95\u6C96\u6C97\u6C98\u6C9A\u6C9C\u6C9D\u6C9E\u6CA0\u6CA2\u6CA8\u6CAC\u6CAF\u6CB0\u6CB4\u6CB5\u6CB6\u6CB7\u6CBA\u6CC0\u6CC1\u6CC2\u6CC3\u6CC6\u6CC7\u6CC8\u6CCB\u6CCD\u6CCE\u6CCF\u6CD1\u6CD2\u6CD8"],["9b80","\u6CD9\u6CDA\u6CDC\u6CDD\u6CDF\u6CE4\u6CE6\u6CE7\u6CE9\u6CEC\u6CED\u6CF2\u6CF4\u6CF9\u6CFF\u6D00\u6D02\u6D03\u6D05\u6D06\u6D08\u6D09\u6D0A\u6D0D\u6D0F\u6D10\u6D11\u6D13\u6D14\u6D15\u6D16\u6D18\u6D1C\u6D1D\u6D1F",5,"\u6D26\u6D28\u6D29\u6D2C\u6D2D\u6D2F\u6D30\u6D34\u6D36\u6D37\u6D38\u6D3A\u6D3F\u6D40\u6D42\u6D44\u6D49\u6D4C\u6D50\u6D55\u6D56\u6D57\u6D58\u6D5B\u6D5D\u6D5F\u6D61\u6D62\u6D64\u6D65\u6D67\u6D68\u6D6B\u6D6C\u6D6D\u6D70\u6D71\u6D72\u6D73\u6D75\u6D76\u6D79\u6D7A\u6D7B\u6D7D",4,"\u6D83\u6D84\u6D86\u6D87\u6D8A\u6D8B\u6D8D\u6D8F\u6D90\u6D92\u6D96",4,"\u6D9C\u6DA2\u6DA5\u6DAC\u6DAD\u6DB0\u6DB1\u6DB3\u6DB4\u6DB6\u6DB7\u6DB9",5,"\u6DC1\u6DC2\u6DC3\u6DC8\u6DC9\u6DCA"],["9c40","\u6DCD\u6DCE\u6DCF\u6DD0\u6DD2\u6DD3\u6DD4\u6DD5\u6DD7\u6DDA\u6DDB\u6DDC\u6DDF\u6DE2\u6DE3\u6DE5\u6DE7\u6DE8\u6DE9\u6DEA\u6DED\u6DEF\u6DF0\u6DF2\u6DF4\u6DF5\u6DF6\u6DF8\u6DFA\u6DFD",7,"\u6E06\u6E07\u6E08\u6E09\u6E0B\u6E0F\u6E12\u6E13\u6E15\u6E18\u6E19\u6E1B\u6E1C\u6E1E\u6E1F\u6E22\u6E26\u6E27\u6E28\u6E2A\u6E2C\u6E2E\u6E30\u6E31\u6E33\u6E35"],["9c80","\u6E36\u6E37\u6E39\u6E3B",7,"\u6E45",7,"\u6E4F\u6E50\u6E51\u6E52\u6E55\u6E57\u6E59\u6E5A\u6E5C\u6E5D\u6E5E\u6E60",10,"\u6E6C\u6E6D\u6E6F",14,"\u6E80\u6E81\u6E82\u6E84\u6E87\u6E88\u6E8A",4,"\u6E91",6,"\u6E99\u6E9A\u6E9B\u6E9D\u6E9E\u6EA0\u6EA1\u6EA3\u6EA4\u6EA6\u6EA8\u6EA9\u6EAB\u6EAC\u6EAD\u6EAE\u6EB0\u6EB3\u6EB5\u6EB8\u6EB9\u6EBC\u6EBE\u6EBF\u6EC0\u6EC3\u6EC4\u6EC5\u6EC6\u6EC8\u6EC9\u6ECA\u6ECC\u6ECD\u6ECE\u6ED0\u6ED2\u6ED6\u6ED8\u6ED9\u6EDB\u6EDC\u6EDD\u6EE3\u6EE7\u6EEA",5],["9d40","\u6EF0\u6EF1\u6EF2\u6EF3\u6EF5\u6EF6\u6EF7\u6EF8\u6EFA",7,"\u6F03\u6F04\u6F05\u6F07\u6F08\u6F0A",4,"\u6F10\u6F11\u6F12\u6F16",9,"\u6F21\u6F22\u6F23\u6F25\u6F26\u6F27\u6F28\u6F2C\u6F2E\u6F30\u6F32\u6F34\u6F35\u6F37",6,"\u6F3F\u6F40\u6F41\u6F42"],["9d80","\u6F43\u6F44\u6F45\u6F48\u6F49\u6F4A\u6F4C\u6F4E",9,"\u6F59\u6F5A\u6F5B\u6F5D\u6F5F\u6F60\u6F61\u6F63\u6F64\u6F65\u6F67",5,"\u6F6F\u6F70\u6F71\u6F73\u6F75\u6F76\u6F77\u6F79\u6F7B\u6F7D",6,"\u6F85\u6F86\u6F87\u6F8A\u6F8B\u6F8F",12,"\u6F9D\u6F9E\u6F9F\u6FA0\u6FA2",4,"\u6FA8",10,"\u6FB4\u6FB5\u6FB7\u6FB8\u6FBA",5,"\u6FC1\u6FC3",5,"\u6FCA",6,"\u6FD3",10,"\u6FDF\u6FE2\u6FE3\u6FE4\u6FE5"],["9e40","\u6FE6",7,"\u6FF0",32,"\u7012",7,"\u701C",6,"\u7024",6],["9e80","\u702B",9,"\u7036\u7037\u7038\u703A",17,"\u704D\u704E\u7050",13,"\u705F",11,"\u706E\u7071\u7072\u7073\u7074\u7077\u7079\u707A\u707B\u707D\u7081\u7082\u7083\u7084\u7086\u7087\u7088\u708B\u708C\u708D\u708F\u7090\u7091\u7093\u7097\u7098\u709A\u709B\u709E",12,"\u70B0\u70B2\u70B4\u70B5\u70B6\u70BA\u70BE\u70BF\u70C4\u70C5\u70C6\u70C7\u70C9\u70CB",12,"\u70DA"],["9f40","\u70DC\u70DD\u70DE\u70E0\u70E1\u70E2\u70E3\u70E5\u70EA\u70EE\u70F0",6,"\u70F8\u70FA\u70FB\u70FC\u70FE",10,"\u710B",4,"\u7111\u7112\u7114\u7117\u711B",10,"\u7127",7,"\u7132\u7133\u7134"],["9f80","\u7135\u7137",13,"\u7146\u7147\u7148\u7149\u714B\u714D\u714F",12,"\u715D\u715F",4,"\u7165\u7169",4,"\u716F\u7170\u7171\u7174\u7175\u7176\u7177\u7179\u717B\u717C\u717E",5,"\u7185",4,"\u718B\u718C\u718D\u718E\u7190\u7191\u7192\u7193\u7195\u7196\u7197\u719A",4,"\u71A1",6,"\u71A9\u71AA\u71AB\u71AD",5,"\u71B4\u71B6\u71B7\u71B8\u71BA",8,"\u71C4",9,"\u71CF",4],["a040","\u71D6",9,"\u71E1\u71E2\u71E3\u71E4\u71E6\u71E8",5,"\u71EF",9,"\u71FA",11,"\u7207",19],["a080","\u721B\u721C\u721E",9,"\u7229\u722B\u722D\u722E\u722F\u7232\u7233\u7234\u723A\u723C\u723E\u7240",6,"\u7249\u724A\u724B\u724E\u724F\u7250\u7251\u7253\u7254\u7255\u7257\u7258\u725A\u725C\u725E\u7260\u7263\u7264\u7265\u7268\u726A\u726B\u726C\u726D\u7270\u7271\u7273\u7274\u7276\u7277\u7278\u727B\u727C\u727D\u7282\u7283\u7285",4,"\u728C\u728E\u7290\u7291\u7293",11,"\u72A0",11,"\u72AE\u72B1\u72B2\u72B3\u72B5\u72BA",6,"\u72C5\u72C6\u72C7\u72C9\u72CA\u72CB\u72CC\u72CF\u72D1\u72D3\u72D4\u72D5\u72D6\u72D8\u72DA\u72DB"],["a1a1","\u3000\u3001\u3002\xB7\u02C9\u02C7\xA8\u3003\u3005\u2014\uFF5E\u2016\u2026\u2018\u2019\u201C\u201D\u3014\u3015\u3008",7,"\u3016\u3017\u3010\u3011\xB1\xD7\xF7\u2236\u2227\u2228\u2211\u220F\u222A\u2229\u2208\u2237\u221A\u22A5\u2225\u2220\u2312\u2299\u222B\u222E\u2261\u224C\u2248\u223D\u221D\u2260\u226E\u226F\u2264\u2265\u221E\u2235\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFF04\xA4\uFFE0\uFFE1\u2030\xA7\u2116\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u203B\u2192\u2190\u2191\u2193\u3013"],["a2a1","\u2170",9],["a2b1","\u2488",19,"\u2474",19,"\u2460",9],["a2e5","\u3220",9],["a2f1","\u2160",11],["a3a1","\uFF01\uFF02\uFF03\uFFE5\uFF05",88,"\uFFE3"],["a4a1","\u3041",82],["a5a1","\u30A1",85],["a6a1","\u0391",16,"\u03A3",6],["a6c1","\u03B1",16,"\u03C3",6],["a6e0","\uFE35\uFE36\uFE39\uFE3A\uFE3F\uFE40\uFE3D\uFE3E\uFE41\uFE42\uFE43\uFE44"],["a6ee","\uFE3B\uFE3C\uFE37\uFE38\uFE31"],["a6f4","\uFE33\uFE34"],["a7a1","\u0410",5,"\u0401\u0416",25],["a7d1","\u0430",5,"\u0451\u0436",25],["a840","\u02CA\u02CB\u02D9\u2013\u2015\u2025\u2035\u2105\u2109\u2196\u2197\u2198\u2199\u2215\u221F\u2223\u2252\u2266\u2267\u22BF\u2550",35,"\u2581",6],["a880","\u2588",7,"\u2593\u2594\u2595\u25BC\u25BD\u25E2\u25E3\u25E4\u25E5\u2609\u2295\u3012\u301D\u301E"],["a8a1","\u0101\xE1\u01CE\xE0\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA\u01DC\xFC\xEA\u0251"],["a8bd","\u0144\u0148"],["a8c0","\u0261"],["a8c5","\u3105",36],["a940","\u3021",8,"\u32A3\u338E\u338F\u339C\u339D\u339E\u33A1\u33C4\u33CE\u33D1\u33D2\u33D5\uFE30\uFFE2\uFFE4"],["a959","\u2121\u3231"],["a95c","\u2010"],["a960","\u30FC\u309B\u309C\u30FD\u30FE\u3006\u309D\u309E\uFE49",9,"\uFE54\uFE55\uFE56\uFE57\uFE59",8],["a980","\uFE62",4,"\uFE68\uFE69\uFE6A\uFE6B"],["a996","\u3007"],["a9a4","\u2500",75],["aa40","\u72DC\u72DD\u72DF\u72E2",5,"\u72EA\u72EB\u72F5\u72F6\u72F9\u72FD\u72FE\u72FF\u7300\u7302\u7304",5,"\u730B\u730C\u730D\u730F\u7310\u7311\u7312\u7314\u7318\u7319\u731A\u731F\u7320\u7323\u7324\u7326\u7327\u7328\u732D\u732F\u7330\u7332\u7333\u7335\u7336\u733A\u733B\u733C\u733D\u7340",8],["aa80","\u7349\u734A\u734B\u734C\u734E\u734F\u7351\u7353\u7354\u7355\u7356\u7358",7,"\u7361",10,"\u736E\u7370\u7371"],["ab40","\u7372",11,"\u737F",4,"\u7385\u7386\u7388\u738A\u738C\u738D\u738F\u7390\u7392\u7393\u7394\u7395\u7397\u7398\u7399\u739A\u739C\u739D\u739E\u73A0\u73A1\u73A3",5,"\u73AA\u73AC\u73AD\u73B1\u73B4\u73B5\u73B6\u73B8\u73B9\u73BC\u73BD\u73BE\u73BF\u73C1\u73C3",4],["ab80","\u73CB\u73CC\u73CE\u73D2",6,"\u73DA\u73DB\u73DC\u73DD\u73DF\u73E1\u73E2\u73E3\u73E4\u73E6\u73E8\u73EA\u73EB\u73EC\u73EE\u73EF\u73F0\u73F1\u73F3",4],["ac40","\u73F8",10,"\u7404\u7407\u7408\u740B\u740C\u740D\u740E\u7411",8,"\u741C",5,"\u7423\u7424\u7427\u7429\u742B\u742D\u742F\u7431\u7432\u7437",4,"\u743D\u743E\u743F\u7440\u7442",11],["ac80","\u744E",6,"\u7456\u7458\u745D\u7460",12,"\u746E\u746F\u7471",4,"\u7478\u7479\u747A"],["ad40","\u747B\u747C\u747D\u747F\u7482\u7484\u7485\u7486\u7488\u7489\u748A\u748C\u748D\u748F\u7491",10,"\u749D\u749F",7,"\u74AA",15,"\u74BB",12],["ad80","\u74C8",9,"\u74D3",8,"\u74DD\u74DF\u74E1\u74E5\u74E7",6,"\u74F0\u74F1\u74F2"],["ae40","\u74F3\u74F5\u74F8",6,"\u7500\u7501\u7502\u7503\u7505",7,"\u750E\u7510\u7512\u7514\u7515\u7516\u7517\u751B\u751D\u751E\u7520",4,"\u7526\u7527\u752A\u752E\u7534\u7536\u7539\u753C\u753D\u753F\u7541\u7542\u7543\u7544\u7546\u7547\u7549\u754A\u754D\u7550\u7551\u7552\u7553\u7555\u7556\u7557\u7558"],["ae80","\u755D",7,"\u7567\u7568\u7569\u756B",6,"\u7573\u7575\u7576\u7577\u757A",4,"\u7580\u7581\u7582\u7584\u7585\u7587"],["af40","\u7588\u7589\u758A\u758C\u758D\u758E\u7590\u7593\u7595\u7598\u759B\u759C\u759E\u75A2\u75A6",4,"\u75AD\u75B6\u75B7\u75BA\u75BB\u75BF\u75C0\u75C1\u75C6\u75CB\u75CC\u75CE\u75CF\u75D0\u75D1\u75D3\u75D7\u75D9\u75DA\u75DC\u75DD\u75DF\u75E0\u75E1\u75E5\u75E9\u75EC\u75ED\u75EE\u75EF\u75F2\u75F3\u75F5\u75F6\u75F7\u75F8\u75FA\u75FB\u75FD\u75FE\u7602\u7604\u7606\u7607"],["af80","\u7608\u7609\u760B\u760D\u760E\u760F\u7611\u7612\u7613\u7614\u7616\u761A\u761C\u761D\u761E\u7621\u7623\u7627\u7628\u762C\u762E\u762F\u7631\u7632\u7636\u7637\u7639\u763A\u763B\u763D\u7641\u7642\u7644"],["b040","\u7645",6,"\u764E",5,"\u7655\u7657",4,"\u765D\u765F\u7660\u7661\u7662\u7664",6,"\u766C\u766D\u766E\u7670",7,"\u7679\u767A\u767C\u767F\u7680\u7681\u7683\u7685\u7689\u768A\u768C\u768D\u768F\u7690\u7692\u7694\u7695\u7697\u7698\u769A\u769B"],["b080","\u769C",7,"\u76A5",8,"\u76AF\u76B0\u76B3\u76B5",9,"\u76C0\u76C1\u76C3\u554A\u963F\u57C3\u6328\u54CE\u5509\u54C0\u7691\u764C\u853C\u77EE\u827E\u788D\u7231\u9698\u978D\u6C28\u5B89\u4FFA\u6309\u6697\u5CB8\u80FA\u6848\u80AE\u6602\u76CE\u51F9\u6556\u71AC\u7FF1\u8884\u50B2\u5965\u61CA\u6FB3\u82AD\u634C\u6252\u53ED\u5427\u7B06\u516B\u75A4\u5DF4\u62D4\u8DCB\u9776\u628A\u8019\u575D\u9738\u7F62\u7238\u767D\u67CF\u767E\u6446\u4F70\u8D25\u62DC\u7A17\u6591\u73ED\u642C\u6273\u822C\u9881\u677F\u7248\u626E\u62CC\u4F34\u74E3\u534A\u529E\u7ECA\u90A6\u5E2E\u6886\u699C\u8180\u7ED1\u68D2\u78C5\u868C\u9551\u508D\u8C24\u82DE\u80DE\u5305\u8912\u5265"],["b140","\u76C4\u76C7\u76C9\u76CB\u76CC\u76D3\u76D5\u76D9\u76DA\u76DC\u76DD\u76DE\u76E0",4,"\u76E6",7,"\u76F0\u76F3\u76F5\u76F6\u76F7\u76FA\u76FB\u76FD\u76FF\u7700\u7702\u7703\u7705\u7706\u770A\u770C\u770E",10,"\u771B\u771C\u771D\u771E\u7721\u7723\u7724\u7725\u7727\u772A\u772B"],["b180","\u772C\u772E\u7730",4,"\u7739\u773B\u773D\u773E\u773F\u7742\u7744\u7745\u7746\u7748",7,"\u7752",7,"\u775C\u8584\u96F9\u4FDD\u5821\u9971\u5B9D\u62B1\u62A5\u66B4\u8C79\u9C8D\u7206\u676F\u7891\u60B2\u5351\u5317\u8F88\u80CC\u8D1D\u94A1\u500D\u72C8\u5907\u60EB\u7119\u88AB\u5954\u82EF\u672C\u7B28\u5D29\u7EF7\u752D\u6CF5\u8E66\u8FF8\u903C\u9F3B\u6BD4\u9119\u7B14\u5F7C\u78A7\u84D6\u853D\u6BD5\u6BD9\u6BD6\u5E01\u5E87\u75F9\u95ED\u655D\u5F0A\u5FC5\u8F9F\u58C1\u81C2\u907F\u965B\u97AD\u8FB9\u7F16\u8D2C\u6241\u4FBF\u53D8\u535E\u8FA8\u8FA9\u8FAB\u904D\u6807\u5F6A\u8198\u8868\u9CD6\u618B\u522B\u762A\u5F6C\u658C\u6FD2\u6EE8\u5BBE\u6448\u5175\u51B0\u67C4\u4E19\u79C9\u997C\u70B3"],["b240","\u775D\u775E\u775F\u7760\u7764\u7767\u7769\u776A\u776D",11,"\u777A\u777B\u777C\u7781\u7782\u7783\u7786",5,"\u778F\u7790\u7793",11,"\u77A1\u77A3\u77A4\u77A6\u77A8\u77AB\u77AD\u77AE\u77AF\u77B1\u77B2\u77B4\u77B6",4],["b280","\u77BC\u77BE\u77C0",12,"\u77CE",8,"\u77D8\u77D9\u77DA\u77DD",4,"\u77E4\u75C5\u5E76\u73BB\u83E0\u64AD\u62E8\u94B5\u6CE2\u535A\u52C3\u640F\u94C2\u7B94\u4F2F\u5E1B\u8236\u8116\u818A\u6E24\u6CCA\u9A73\u6355\u535C\u54FA\u8865\u57E0\u4E0D\u5E03\u6B65\u7C3F\u90E8\u6016\u64E6\u731C\u88C1\u6750\u624D\u8D22\u776C\u8E29\u91C7\u5F69\u83DC\u8521\u9910\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u82CD\u8231\u4ED3\u6CA7\u85CF\u64CD\u7CD9\u69FD\u66F9\u8349\u5395\u7B56\u4FA7\u518C\u6D4B\u5C42\u8E6D\u63D2\u53C9\u832C\u8336\u67E5\u78B4\u643D\u5BDF\u5C94\u5DEE\u8BE7\u62C6\u67F4\u8C7A\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u660C\u7316"],["b340","\u77E6\u77E8\u77EA\u77EF\u77F0\u77F1\u77F2\u77F4\u77F5\u77F7\u77F9\u77FA\u77FB\u77FC\u7803",5,"\u780A\u780B\u780E\u780F\u7810\u7813\u7815\u7819\u781B\u781E\u7820\u7821\u7822\u7824\u7828\u782A\u782B\u782E\u782F\u7831\u7832\u7833\u7835\u7836\u783D\u783F\u7841\u7842\u7843\u7844\u7846\u7848\u7849\u784A\u784B\u784D\u784F\u7851\u7853\u7854\u7858\u7859\u785A"],["b380","\u785B\u785C\u785E",11,"\u786F",7,"\u7878\u7879\u787A\u787B\u787D",6,"\u573A\u5C1D\u5E38\u957F\u507F\u80A0\u5382\u655E\u7545\u5531\u5021\u8D85\u6284\u949E\u671D\u5632\u6F6E\u5DE2\u5435\u7092\u8F66\u626F\u64A4\u63A3\u5F7B\u6F88\u90F4\u81E3\u8FB0\u5C18\u6668\u5FF1\u6C89\u9648\u8D81\u886C\u6491\u79F0\u57CE\u6A59\u6210\u5448\u4E58\u7A0B\u60E9\u6F84\u8BDA\u627F\u901E\u9A8B\u79E4\u5403\u75F4\u6301\u5319\u6C60\u8FDF\u5F1B\u9A70\u803B\u9F7F\u4F88\u5C3A\u8D64\u7FC5\u65A5\u70BD\u5145\u51B2\u866B\u5D07\u5BA0\u62BD\u916C\u7574\u8E0C\u7A20\u6101\u7B79\u4EC7\u7EF8\u7785\u4E11\u81ED\u521D\u51FA\u6A71\u53A8\u8E87\u9504\u96CF\u6EC1\u9664\u695A"],["b440","\u7884\u7885\u7886\u7888\u788A\u788B\u788F\u7890\u7892\u7894\u7895\u7896\u7899\u789D\u789E\u78A0\u78A2\u78A4\u78A6\u78A8",7,"\u78B5\u78B6\u78B7\u78B8\u78BA\u78BB\u78BC\u78BD\u78BF\u78C0\u78C2\u78C3\u78C4\u78C6\u78C7\u78C8\u78CC\u78CD\u78CE\u78CF\u78D1\u78D2\u78D3\u78D6\u78D7\u78D8\u78DA",9],["b480","\u78E4\u78E5\u78E6\u78E7\u78E9\u78EA\u78EB\u78ED",4,"\u78F3\u78F5\u78F6\u78F8\u78F9\u78FB",5,"\u7902\u7903\u7904\u7906",6,"\u7840\u50A8\u77D7\u6410\u89E6\u5904\u63E3\u5DDD\u7A7F\u693D\u4F20\u8239\u5598\u4E32\u75AE\u7A97\u5E62\u5E8A\u95EF\u521B\u5439\u708A\u6376\u9524\u5782\u6625\u693F\u9187\u5507\u6DF3\u7EAF\u8822\u6233\u7EF0\u75B5\u8328\u78C1\u96CC\u8F9E\u6148\u74F7\u8BCD\u6B64\u523A\u8D50\u6B21\u806A\u8471\u56F1\u5306\u4ECE\u4E1B\u51D1\u7C97\u918B\u7C07\u4FC3\u8E7F\u7BE1\u7A9C\u6467\u5D14\u50AC\u8106\u7601\u7CB9\u6DEC\u7FE0\u6751\u5B58\u5BF8\u78CB\u64AE\u6413\u63AA\u632B\u9519\u642D\u8FBE\u7B54\u7629\u6253\u5927\u5446\u6B79\u50A3\u6234\u5E26\u6B86\u4EE3\u8D37\u888B\u5F85\u902E"],["b540","\u790D",5,"\u7914",9,"\u791F",4,"\u7925",14,"\u7935",4,"\u793D\u793F\u7942\u7943\u7944\u7945\u7947\u794A",8,"\u7954\u7955\u7958\u7959\u7961\u7963"],["b580","\u7964\u7966\u7969\u796A\u796B\u796C\u796E\u7970",6,"\u7979\u797B",4,"\u7982\u7983\u7986\u7987\u7988\u7989\u798B\u798C\u798D\u798E\u7990\u7991\u7992\u6020\u803D\u62C5\u4E39\u5355\u90F8\u63B8\u80C6\u65E6\u6C2E\u4F46\u60EE\u6DE1\u8BDE\u5F39\u86CB\u5F53\u6321\u515A\u8361\u6863\u5200\u6363\u8E48\u5012\u5C9B\u7977\u5BFC\u5230\u7A3B\u60BC\u9053\u76D7\u5FB7\u5F97\u7684\u8E6C\u706F\u767B\u7B49\u77AA\u51F3\u9093\u5824\u4F4E\u6EF4\u8FEA\u654C\u7B1B\u72C4\u6DA4\u7FDF\u5AE1\u62B5\u5E95\u5730\u8482\u7B2C\u5E1D\u5F1F\u9012\u7F14\u98A0\u6382\u6EC7\u7898\u70B9\u5178\u975B\u57AB\u7535\u4F43\u7538\u5E97\u60E6\u5960\u6DC0\u6BBF\u7889\u53FC\u96D5\u51CB\u5201\u6389\u540A\u9493\u8C03\u8DCC\u7239\u789F\u8776\u8FED\u8C0D\u53E0"],["b640","\u7993",6,"\u799B",11,"\u79A8",10,"\u79B4",4,"\u79BC\u79BF\u79C2\u79C4\u79C5\u79C7\u79C8\u79CA\u79CC\u79CE\u79CF\u79D0\u79D3\u79D4\u79D6\u79D7\u79D9",5,"\u79E0\u79E1\u79E2\u79E5\u79E8\u79EA"],["b680","\u79EC\u79EE\u79F1",6,"\u79F9\u79FA\u79FC\u79FE\u79FF\u7A01\u7A04\u7A05\u7A07\u7A08\u7A09\u7A0A\u7A0C\u7A0F",4,"\u7A15\u7A16\u7A18\u7A19\u7A1B\u7A1C\u4E01\u76EF\u53EE\u9489\u9876\u9F0E\u952D\u5B9A\u8BA2\u4E22\u4E1C\u51AC\u8463\u61C2\u52A8\u680B\u4F97\u606B\u51BB\u6D1E\u515C\u6296\u6597\u9661\u8C46\u9017\u75D8\u90FD\u7763\u6BD2\u728A\u72EC\u8BFB\u5835\u7779\u8D4C\u675C\u9540\u809A\u5EA6\u6E21\u5992\u7AEF\u77ED\u953B\u6BB5\u65AD\u7F0E\u5806\u5151\u961F\u5BF9\u58A9\u5428\u8E72\u6566\u987F\u56E4\u949D\u76FE\u9041\u6387\u54C6\u591A\u593A\u579B\u8EB2\u6735\u8DFA\u8235\u5241\u60F0\u5815\u86FE\u5CE8\u9E45\u4FC4\u989D\u8BB9\u5A25\u6076\u5384\u627C\u904F\u9102\u997F\u6069\u800C\u513F\u8033\u5C14\u9975\u6D31\u4E8C"],["b740","\u7A1D\u7A1F\u7A21\u7A22\u7A24",14,"\u7A34\u7A35\u7A36\u7A38\u7A3A\u7A3E\u7A40",5,"\u7A47",9,"\u7A52",4,"\u7A58",16],["b780","\u7A69",6,"\u7A71\u7A72\u7A73\u7A75\u7A7B\u7A7C\u7A7D\u7A7E\u7A82\u7A85\u7A87\u7A89\u7A8A\u7A8B\u7A8C\u7A8E\u7A8F\u7A90\u7A93\u7A94\u7A99\u7A9A\u7A9B\u7A9E\u7AA1\u7AA2\u8D30\u53D1\u7F5A\u7B4F\u4F10\u4E4F\u9600\u6CD5\u73D0\u85E9\u5E06\u756A\u7FFB\u6A0A\u77FE\u9492\u7E41\u51E1\u70E6\u53CD\u8FD4\u8303\u8D29\u72AF\u996D\u6CDB\u574A\u82B3\u65B9\u80AA\u623F\u9632\u59A8\u4EFF\u8BBF\u7EBA\u653E\u83F2\u975E\u5561\u98DE\u80A5\u532A\u8BFD\u5420\u80BA\u5E9F\u6CB8\u8D39\u82AC\u915A\u5429\u6C1B\u5206\u7EB7\u575F\u711A\u6C7E\u7C89\u594B\u4EFD\u5FFF\u6124\u7CAA\u4E30\u5C01\u67AB\u8702\u5CF0\u950B\u98CE\u75AF\u70FD\u9022\u51AF\u7F1D\u8BBD\u5949\u51E4\u4F5B\u5426\u592B\u6577\u80A4\u5B75\u6276\u62C2\u8F90\u5E45\u6C1F\u7B26\u4F0F\u4FD8\u670D"],["b840","\u7AA3\u7AA4\u7AA7\u7AA9\u7AAA\u7AAB\u7AAE",4,"\u7AB4",10,"\u7AC0",10,"\u7ACC",9,"\u7AD7\u7AD8\u7ADA\u7ADB\u7ADC\u7ADD\u7AE1\u7AE2\u7AE4\u7AE7",5,"\u7AEE\u7AF0\u7AF1\u7AF2\u7AF3"],["b880","\u7AF4",4,"\u7AFB\u7AFC\u7AFE\u7B00\u7B01\u7B02\u7B05\u7B07\u7B09\u7B0C\u7B0D\u7B0E\u7B10\u7B12\u7B13\u7B16\u7B17\u7B18\u7B1A\u7B1C\u7B1D\u7B1F\u7B21\u7B22\u7B23\u7B27\u7B29\u7B2D\u6D6E\u6DAA\u798F\u88B1\u5F17\u752B\u629A\u8F85\u4FEF\u91DC\u65A7\u812F\u8151\u5E9C\u8150\u8D74\u526F\u8986\u8D4B\u590D\u5085\u4ED8\u961C\u7236\u8179\u8D1F\u5BCC\u8BA3\u9644\u5987\u7F1A\u5490\u5676\u560E\u8BE5\u6539\u6982\u9499\u76D6\u6E89\u5E72\u7518\u6746\u67D1\u7AFF\u809D\u8D76\u611F\u79C6\u6562\u8D63\u5188\u521A\u94A2\u7F38\u809B\u7EB2\u5C97\u6E2F\u6760\u7BD9\u768B\u9AD8\u818F\u7F94\u7CD5\u641E\u9550\u7A3F\u544A\u54E5\u6B4C\u6401\u6208\u9E3D\u80F3\u7599\u5272\u9769\u845B\u683C\u86E4\u9601\u9694\u94EC\u4E2A\u5404\u7ED9\u6839\u8DDF\u8015\u66F4\u5E9A\u7FB9"],["b940","\u7B2F\u7B30\u7B32\u7B34\u7B35\u7B36\u7B37\u7B39\u7B3B\u7B3D\u7B3F",5,"\u7B46\u7B48\u7B4A\u7B4D\u7B4E\u7B53\u7B55\u7B57\u7B59\u7B5C\u7B5E\u7B5F\u7B61\u7B63",10,"\u7B6F\u7B70\u7B73\u7B74\u7B76\u7B78\u7B7A\u7B7C\u7B7D\u7B7F\u7B81\u7B82\u7B83\u7B84\u7B86",6,"\u7B8E\u7B8F"],["b980","\u7B91\u7B92\u7B93\u7B96\u7B98\u7B99\u7B9A\u7B9B\u7B9E\u7B9F\u7BA0\u7BA3\u7BA4\u7BA5\u7BAE\u7BAF\u7BB0\u7BB2\u7BB3\u7BB5\u7BB6\u7BB7\u7BB9",7,"\u7BC2\u7BC3\u7BC4\u57C2\u803F\u6897\u5DE5\u653B\u529F\u606D\u9F9A\u4F9B\u8EAC\u516C\u5BAB\u5F13\u5DE9\u6C5E\u62F1\u8D21\u5171\u94A9\u52FE\u6C9F\u82DF\u72D7\u57A2\u6784\u8D2D\u591F\u8F9C\u83C7\u5495\u7B8D\u4F30\u6CBD\u5B64\u59D1\u9F13\u53E4\u86CA\u9AA8\u8C37\u80A1\u6545\u987E\u56FA\u96C7\u522E\u74DC\u5250\u5BE1\u6302\u8902\u4E56\u62D0\u602A\u68FA\u5173\u5B98\u51A0\u89C2\u7BA1\u9986\u7F50\u60EF\u704C\u8D2F\u5149\u5E7F\u901B\u7470\u89C4\u572D\u7845\u5F52\u9F9F\u95FA\u8F68\u9B3C\u8BE1\u7678\u6842\u67DC\u8DEA\u8D35\u523D\u8F8A\u6EDA\u68CD\u9505\u90ED\u56FD\u679C\u88F9\u8FC7\u54C8"],["ba40","\u7BC5\u7BC8\u7BC9\u7BCA\u7BCB\u7BCD\u7BCE\u7BCF\u7BD0\u7BD2\u7BD4",4,"\u7BDB\u7BDC\u7BDE\u7BDF\u7BE0\u7BE2\u7BE3\u7BE4\u7BE7\u7BE8\u7BE9\u7BEB\u7BEC\u7BED\u7BEF\u7BF0\u7BF2",4,"\u7BF8\u7BF9\u7BFA\u7BFB\u7BFD\u7BFF",7,"\u7C08\u7C09\u7C0A\u7C0D\u7C0E\u7C10",5,"\u7C17\u7C18\u7C19"],["ba80","\u7C1A",4,"\u7C20",5,"\u7C28\u7C29\u7C2B",12,"\u7C39",5,"\u7C42\u9AB8\u5B69\u6D77\u6C26\u4EA5\u5BB3\u9A87\u9163\u61A8\u90AF\u97E9\u542B\u6DB5\u5BD2\u51FD\u558A\u7F55\u7FF0\u64BC\u634D\u65F1\u61BE\u608D\u710A\u6C57\u6C49\u592F\u676D\u822A\u58D5\u568E\u8C6A\u6BEB\u90DD\u597D\u8017\u53F7\u6D69\u5475\u559D\u8377\u83CF\u6838\u79BE\u548C\u4F55\u5408\u76D2\u8C89\u9602\u6CB3\u6DB8\u8D6B\u8910\u9E64\u8D3A\u563F\u9ED1\u75D5\u5F88\u72E0\u6068\u54FC\u4EA8\u6A2A\u8861\u6052\u8F70\u54C4\u70D8\u8679\u9E3F\u6D2A\u5B8F\u5F18\u7EA2\u5589\u4FAF\u7334\u543C\u539A\u5019\u540E\u547C\u4E4E\u5FFD\u745A\u58F6\u846B\u80E1\u8774\u72D0\u7CCA\u6E56"],["bb40","\u7C43",9,"\u7C4E",36,"\u7C75",5,"\u7C7E",9],["bb80","\u7C88\u7C8A",6,"\u7C93\u7C94\u7C96\u7C99\u7C9A\u7C9B\u7CA0\u7CA1\u7CA3\u7CA6\u7CA7\u7CA8\u7CA9\u7CAB\u7CAC\u7CAD\u7CAF\u7CB0\u7CB4",4,"\u7CBA\u7CBB\u5F27\u864E\u552C\u62A4\u4E92\u6CAA\u6237\u82B1\u54D7\u534E\u733E\u6ED1\u753B\u5212\u5316\u8BDD\u69D0\u5F8A\u6000\u6DEE\u574F\u6B22\u73AF\u6853\u8FD8\u7F13\u6362\u60A3\u5524\u75EA\u8C62\u7115\u6DA3\u5BA6\u5E7B\u8352\u614C\u9EC4\u78FA\u8757\u7C27\u7687\u51F0\u60F6\u714C\u6643\u5E4C\u604D\u8C0E\u7070\u6325\u8F89\u5FBD\u6062\u86D4\u56DE\u6BC1\u6094\u6167\u5349\u60E0\u6666\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8364\u660F\u5A5A\u9B42\u6D51\u6DF7\u8C41\u6D3B\u4F19\u706B\u83B7\u6216\u60D1\u970D\u8D27\u7978\u51FB\u573E\u57FA\u673A\u7578\u7A3D\u79EF\u7B95"],["bc40","\u7CBF\u7CC0\u7CC2\u7CC3\u7CC4\u7CC6\u7CC9\u7CCB\u7CCE",6,"\u7CD8\u7CDA\u7CDB\u7CDD\u7CDE\u7CE1",6,"\u7CE9",5,"\u7CF0",7,"\u7CF9\u7CFA\u7CFC",13,"\u7D0B",5],["bc80","\u7D11",14,"\u7D21\u7D23\u7D24\u7D25\u7D26\u7D28\u7D29\u7D2A\u7D2C\u7D2D\u7D2E\u7D30",6,"\u808C\u9965\u8FF9\u6FC0\u8BA5\u9E21\u59EC\u7EE9\u7F09\u5409\u6781\u68D8\u8F91\u7C4D\u96C6\u53CA\u6025\u75BE\u6C72\u5373\u5AC9\u7EA7\u6324\u51E0\u810A\u5DF1\u84DF\u6280\u5180\u5B63\u4F0E\u796D\u5242\u60B8\u6D4E\u5BC4\u5BC2\u8BA1\u8BB0\u65E2\u5FCC\u9645\u5993\u7EE7\u7EAA\u5609\u67B7\u5939\u4F73\u5BB6\u52A0\u835A\u988A\u8D3E\u7532\u94BE\u5047\u7A3C\u4EF7\u67B6\u9A7E\u5AC1\u6B7C\u76D1\u575A\u5C16\u7B3A\u95F4\u714E\u517C\u80A9\u8270\u5978\u7F04\u8327\u68C0\u67EC\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u526A\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u7BAD\u4EF6"],["bd40","\u7D37",54,"\u7D6F",7],["bd80","\u7D78",32,"\u5065\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u5EFA\u50F5\u59DC\u5C06\u6D46\u6C5F\u7586\u848B\u6868\u5956\u8BB2\u5320\u9171\u964D\u8549\u6912\u7901\u7126\u80F6\u4EA4\u90CA\u6D47\u9A84\u5A07\u56BC\u6405\u94F0\u77EB\u4FA5\u811A\u72E1\u89D2\u997A\u7F34\u7EDE\u527F\u6559\u9175\u8F7F\u8F83\u53EB\u7A96\u63ED\u63A5\u7686\u79F8\u8857\u9636\u622A\u52AB\u8282\u6854\u6770\u6377\u776B\u7AED\u6D01\u7ED3\u89E3\u59D0\u6212\u85C9\u82A5\u754C\u501F\u4ECB\u75A5\u8BEB\u5C4A\u5DFE\u7B4B\u65A4\u91D1\u4ECA\u6D25\u895F\u7D27\u9526\u4EC5\u8C28\u8FDB\u9773\u664B\u7981\u8FD1\u70EC\u6D78"],["be40","\u7D99",12,"\u7DA7",6,"\u7DAF",42],["be80","\u7DDA",32,"\u5C3D\u52B2\u8346\u5162\u830E\u775B\u6676\u9CB8\u4EAC\u60CA\u7CBE\u7CB3\u7ECF\u4E95\u8B66\u666F\u9888\u9759\u5883\u656C\u955C\u5F84\u75C9\u9756\u7ADF\u7ADE\u51C0\u70AF\u7A98\u63EA\u7A76\u7EA0\u7396\u97ED\u4E45\u7078\u4E5D\u9152\u53A9\u6551\u65E7\u81FC\u8205\u548E\u5C31\u759A\u97A0\u62D8\u72D9\u75BD\u5C45\u9A79\u83CA\u5C40\u5480\u77E9\u4E3E\u6CAE\u805A\u62D2\u636E\u5DE8\u5177\u8DDD\u8E1E\u952F\u4FF1\u53E5\u60E7\u70AC\u5267\u6350\u9E43\u5A1F\u5026\u7737\u5377\u7EE2\u6485\u652B\u6289\u6398\u5014\u7235\u89C9\u51B3\u8BC0\u7EDD\u5747\u83CC\u94A7\u519B\u541B\u5CFB"],["bf40","\u7DFB",62],["bf80","\u7E3A\u7E3C",4,"\u7E42",4,"\u7E48",21,"\u4FCA\u7AE3\u6D5A\u90E1\u9A8F\u5580\u5496\u5361\u54AF\u5F00\u63E9\u6977\u51EF\u6168\u520A\u582A\u52D8\u574E\u780D\u770B\u5EB7\u6177\u7CE0\u625B\u6297\u4EA2\u7095\u8003\u62F7\u70E4\u9760\u5777\u82DB\u67EF\u68F5\u78D5\u9897\u79D1\u58F3\u54B3\u53EF\u6E34\u514B\u523B\u5BA2\u8BFE\u80AF\u5543\u57A6\u6073\u5751\u542D\u7A7A\u6050\u5B54\u63A7\u62A0\u53E3\u6263\u5BC7\u67AF\u54ED\u7A9F\u82E6\u9177\u5E93\u88E4\u5938\u57AE\u630E\u8DE8\u80EF\u5757\u7B77\u4FA9\u5FEB\u5BBD\u6B3E\u5321\u7B50\u72C2\u6846\u77FF\u7736\u65F7\u51B5\u4E8F\u76D4\u5CBF\u7AA5\u8475\u594E\u9B41\u5080"],["c040","\u7E5E",35,"\u7E83",23,"\u7E9C\u7E9D\u7E9E"],["c080","\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EEC\u7EF9\u7F0A\u7F10\u7F1E\u7F37\u7F39\u7F3B",6,"\u7F43\u7F46",9,"\u7F52\u7F53\u9988\u6127\u6E83\u5764\u6606\u6346\u56F0\u62EC\u6269\u5ED3\u9614\u5783\u62C9\u5587\u8721\u814A\u8FA3\u5566\u83B1\u6765\u8D56\u84DD\u5A6A\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u7405\u6994\u72FC\u5ECA\u90CE\u6717\u6D6A\u635E\u52B3\u7262\u8001\u4F6C\u59E5\u916A\u70D9\u6D9D\u52D2\u4E50\u96F7\u956D\u857E\u78CA\u7D2F\u5121\u5792\u64C2\u808B\u7C7B\u6CEA\u68F1\u695E\u51B7\u5398\u68A8\u7281\u9ECE\u7BF1\u72F8\u79BB\u6F13\u7406\u674E\u91CC\u9CA4\u793C\u8389\u8354\u540F\u6817\u4E3D\u5389\u52B1\u783E\u5386\u5229\u5088\u4F8B\u4FD0"],["c140","\u7F56\u7F59\u7F5B\u7F5C\u7F5D\u7F5E\u7F60\u7F63",4,"\u7F6B\u7F6C\u7F6D\u7F6F\u7F70\u7F73\u7F75\u7F76\u7F77\u7F78\u7F7A\u7F7B\u7F7C\u7F7D\u7F7F\u7F80\u7F82",7,"\u7F8B\u7F8D\u7F8F",4,"\u7F95",4,"\u7F9B\u7F9C\u7FA0\u7FA2\u7FA3\u7FA5\u7FA6\u7FA8",6,"\u7FB1"],["c180","\u7FB3",4,"\u7FBA\u7FBB\u7FBE\u7FC0\u7FC2\u7FC3\u7FC4\u7FC6\u7FC7\u7FC8\u7FC9\u7FCB\u7FCD\u7FCF",4,"\u7FD6\u7FD7\u7FD9",5,"\u7FE2\u7FE3\u75E2\u7ACB\u7C92\u6CA5\u96B6\u529B\u7483\u54E9\u4FE9\u8054\u83B2\u8FDE\u9570\u5EC9\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u7CAE\u51C9\u6881\u7CB1\u826F\u4E24\u8F86\u91CF\u667E\u4EAE\u8C05\u64A9\u804A\u50DA\u7597\u71CE\u5BE5\u8FBD\u6F66\u4E86\u6482\u9563\u5ED6\u6599\u5217\u88C2\u70C8\u52A3\u730E\u7433\u6797\u78F7\u9716\u4E34\u90BB\u9CDE\u6DCB\u51DB\u8D41\u541D\u62CE\u73B2\u83F1\u96F6\u9F84\u94C3\u4F36\u7F9A\u51CC\u7075\u9675\u5CAD\u9886\u53E6\u4EE4\u6E9C\u7409\u69B4\u786B\u998F\u7559\u5218\u7624\u6D41\u67F3\u516D\u9F99\u804B\u5499\u7B3C\u7ABF"],["c240","\u7FE4\u7FE7\u7FE8\u7FEA\u7FEB\u7FEC\u7FED\u7FEF\u7FF2\u7FF4",6,"\u7FFD\u7FFE\u7FFF\u8002\u8007\u8008\u8009\u800A\u800E\u800F\u8011\u8013\u801A\u801B\u801D\u801E\u801F\u8021\u8023\u8024\u802B",5,"\u8032\u8034\u8039\u803A\u803C\u803E\u8040\u8041\u8044\u8045\u8047\u8048\u8049\u804E\u804F\u8050\u8051\u8053\u8055\u8056\u8057"],["c280","\u8059\u805B",13,"\u806B",5,"\u8072",11,"\u9686\u5784\u62E2\u9647\u697C\u5A04\u6402\u7BD3\u6F0F\u964B\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u9E93\u788C\u9732\u8DEF\u8D42\u9E7F\u6F5E\u7984\u5F55\u9646\u622E\u9A74\u5415\u94DD\u4FA3\u65C5\u5C65\u5C61\u7F15\u8651\u6C2F\u5F8B\u7387\u6EE4\u7EFF\u5CE6\u631B\u5B6A\u6EE6\u5375\u4E71\u63A0\u7565\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u841D\u87BA\u7F57\u903B\u9523\u7BA9\u9AA1\u88F8\u843D\u6D1B\u9A86\u7EDC\u5988\u9EBB\u739B\u7801\u8682\u9A6C\u9A82\u561B\u5417\u57CB\u4E70\u9EA6\u5356\u8FC8\u8109\u7792\u9992\u86EE\u6EE1\u8513\u66FC\u6162\u6F2B"],["c340","\u807E\u8081\u8082\u8085\u8088\u808A\u808D",5,"\u8094\u8095\u8097\u8099\u809E\u80A3\u80A6\u80A7\u80A8\u80AC\u80B0\u80B3\u80B5\u80B6\u80B8\u80B9\u80BB\u80C5\u80C7",4,"\u80CF",6,"\u80D8\u80DF\u80E0\u80E2\u80E3\u80E6\u80EE\u80F5\u80F7\u80F9\u80FB\u80FE\u80FF\u8100\u8101\u8103\u8104\u8105\u8107\u8108\u810B"],["c380","\u810C\u8115\u8117\u8119\u811B\u811C\u811D\u811F",12,"\u812D\u812E\u8130\u8133\u8134\u8135\u8137\u8139",4,"\u813F\u8C29\u8292\u832B\u76F2\u6C13\u5FD9\u83BD\u732B\u8305\u951A\u6BDB\u77DB\u94C6\u536F\u8302\u5192\u5E3D\u8C8C\u8D38\u4E48\u73AB\u679A\u6885\u9176\u9709\u7164\u6CA1\u7709\u5A92\u9541\u6BCF\u7F8E\u6627\u5BD0\u59B9\u5A9A\u95E8\u95F7\u4EEC\u840C\u8499\u6AAC\u76DF\u9530\u731B\u68A6\u5B5F\u772F\u919A\u9761\u7CDC\u8FF7\u8C1C\u5F25\u7C73\u79D8\u89C5\u6CCC\u871C\u5BC6\u5E42\u68C9\u7720\u7EF5\u5195\u514D\u52C9\u5A29\u7F05\u9762\u82D7\u63CF\u7784\u85D0\u79D2\u6E3A\u5E99\u5999\u8511\u706D\u6C11\u62BF\u76BF\u654F\u60AF\u95FD\u660E\u879F\u9E23\u94ED\u540D\u547D\u8C2C\u6478"],["c440","\u8140",5,"\u8147\u8149\u814D\u814E\u814F\u8152\u8156\u8157\u8158\u815B",4,"\u8161\u8162\u8163\u8164\u8166\u8168\u816A\u816B\u816C\u816F\u8172\u8173\u8175\u8176\u8177\u8178\u8181\u8183",4,"\u8189\u818B\u818C\u818D\u818E\u8190\u8192",5,"\u8199\u819A\u819E",4,"\u81A4\u81A5"],["c480","\u81A7\u81A9\u81AB",7,"\u81B4",5,"\u81BC\u81BD\u81BE\u81BF\u81C4\u81C5\u81C7\u81C8\u81C9\u81CB\u81CD",6,"\u6479\u8611\u6A21\u819C\u78E8\u6469\u9B54\u62B9\u672B\u83AB\u58A8\u9ED8\u6CAB\u6F20\u5BDE\u964C\u8C0B\u725F\u67D0\u62C7\u7261\u4EA9\u59C6\u6BCD\u5893\u66AE\u5E55\u52DF\u6155\u6728\u76EE\u7766\u7267\u7A46\u62FF\u54EA\u5450\u94A0\u90A3\u5A1C\u7EB3\u6C16\u4E43\u5976\u8010\u5948\u5357\u7537\u96BE\u56CA\u6320\u8111\u607C\u95F9\u6DD6\u5462\u9981\u5185\u5AE9\u80FD\u59AE\u9713\u502A\u6CE5\u5C3C\u62DF\u4F60\u533F\u817B\u9006\u6EBA\u852B\u62C8\u5E74\u78BE\u64B5\u637B\u5FF5\u5A18\u917F\u9E1F\u5C3F\u634F\u8042\u5B7D\u556E\u954A\u954D\u6D85\u60A8\u67E0\u72DE\u51DD\u5B81"],["c540","\u81D4",14,"\u81E4\u81E5\u81E6\u81E8\u81E9\u81EB\u81EE",4,"\u81F5",5,"\u81FD\u81FF\u8203\u8207",4,"\u820E\u820F\u8211\u8213\u8215",5,"\u821D\u8220\u8224\u8225\u8226\u8227\u8229\u822E\u8232\u823A\u823C\u823D\u823F"],["c580","\u8240\u8241\u8242\u8243\u8245\u8246\u8248\u824A\u824C\u824D\u824E\u8250",7,"\u8259\u825B\u825C\u825D\u825E\u8260",7,"\u8269\u62E7\u6CDE\u725B\u626D\u94AE\u7EBD\u8113\u6D53\u519C\u5F04\u5974\u52AA\u6012\u5973\u6696\u8650\u759F\u632A\u61E6\u7CEF\u8BFA\u54E6\u6B27\u9E25\u6BB4\u85D5\u5455\u5076\u6CA4\u556A\u8DB4\u722C\u5E15\u6015\u7436\u62CD\u6392\u724C\u5F98\u6E43\u6D3E\u6500\u6F58\u76D8\u78D0\u76FC\u7554\u5224\u53DB\u4E53\u5E9E\u65C1\u802A\u80D6\u629B\u5486\u5228\u70AE\u888D\u8DD1\u6CE1\u5478\u80DA\u57F9\u88F4\u8D54\u966A\u914D\u4F69\u6C9B\u55B7\u76C6\u7830\u62A8\u70F9\u6F8E\u5F6D\u84EC\u68DA\u787C\u7BF7\u81A8\u670B\u9E4F\u6367\u78B0\u576F\u7812\u9739\u6279\u62AB\u5288\u7435\u6BD7"],["c640","\u826A\u826B\u826C\u826D\u8271\u8275\u8276\u8277\u8278\u827B\u827C\u8280\u8281\u8283\u8285\u8286\u8287\u8289\u828C\u8290\u8293\u8294\u8295\u8296\u829A\u829B\u829E\u82A0\u82A2\u82A3\u82A7\u82B2\u82B5\u82B6\u82BA\u82BB\u82BC\u82BF\u82C0\u82C2\u82C3\u82C5\u82C6\u82C9\u82D0\u82D6\u82D9\u82DA\u82DD\u82E2\u82E7\u82E8\u82E9\u82EA\u82EC\u82ED\u82EE\u82F0\u82F2\u82F3\u82F5\u82F6\u82F8"],["c680","\u82FA\u82FC",4,"\u830A\u830B\u830D\u8310\u8312\u8313\u8316\u8318\u8319\u831D",9,"\u8329\u832A\u832E\u8330\u8332\u8337\u833B\u833D\u5564\u813E\u75B2\u76AE\u5339\u75DE\u50FB\u5C41\u8B6C\u7BC7\u504F\u7247\u9A97\u98D8\u6F02\u74E2\u7968\u6487\u77A5\u62FC\u9891\u8D2B\u54C1\u8058\u4E52\u576A\u82F9\u840D\u5E73\u51ED\u74F6\u8BC4\u5C4F\u5761\u6CFC\u9887\u5A46\u7834\u9B44\u8FEB\u7C95\u5256\u6251\u94FA\u4EC6\u8386\u8461\u83E9\u84B2\u57D4\u6734\u5703\u666E\u6D66\u8C31\u66DD\u7011\u671F\u6B3A\u6816\u621A\u59BB\u4E03\u51C4\u6F06\u67D2\u6C8F\u5176\u68CB\u5947\u6B67\u7566\u5D0E\u8110\u9F50\u65D7\u7948\u7941\u9A91\u8D77\u5C82\u4E5E\u4F01\u542F\u5951\u780C\u5668\u6C14\u8FC4\u5F03\u6C7D\u6CE3\u8BAB\u6390"],["c740","\u833E\u833F\u8341\u8342\u8344\u8345\u8348\u834A",4,"\u8353\u8355",4,"\u835D\u8362\u8370",6,"\u8379\u837A\u837E",6,"\u8387\u8388\u838A\u838B\u838C\u838D\u838F\u8390\u8391\u8394\u8395\u8396\u8397\u8399\u839A\u839D\u839F\u83A1",6,"\u83AC\u83AD\u83AE"],["c780","\u83AF\u83B5\u83BB\u83BE\u83BF\u83C2\u83C3\u83C4\u83C6\u83C8\u83C9\u83CB\u83CD\u83CE\u83D0\u83D1\u83D2\u83D3\u83D5\u83D7\u83D9\u83DA\u83DB\u83DE\u83E2\u83E3\u83E4\u83E6\u83E7\u83E8\u83EB\u83EC\u83ED\u6070\u6D3D\u7275\u6266\u948E\u94C5\u5343\u8FC1\u7B7E\u4EDF\u8C26\u4E7E\u9ED4\u94B1\u94B3\u524D\u6F5C\u9063\u6D45\u8C34\u5811\u5D4C\u6B20\u6B49\u67AA\u545B\u8154\u7F8C\u5899\u8537\u5F3A\u62A2\u6A47\u9539\u6572\u6084\u6865\u77A7\u4E54\u4FA8\u5DE7\u9798\u64AC\u7FD8\u5CED\u4FCF\u7A8D\u5207\u8304\u4E14\u602F\u7A83\u94A6\u4FB5\u4EB2\u79E6\u7434\u52E4\u82B9\u64D2\u79BD\u5BDD\u6C81\u9752\u8F7B\u6C22\u503E\u537F\u6E05\u64CE\u6674\u6C30\u60C5\u9877\u8BF7\u5E86\u743C\u7A77\u79CB\u4E18\u90B1\u7403\u6C42\u56DA\u914B\u6CC5\u8D8B\u533A\u86C6\u66F2\u8EAF\u5C48\u9A71\u6E20"],["c840","\u83EE\u83EF\u83F3",4,"\u83FA\u83FB\u83FC\u83FE\u83FF\u8400\u8402\u8405\u8407\u8408\u8409\u840A\u8410\u8412",5,"\u8419\u841A\u841B\u841E",5,"\u8429",7,"\u8432",5,"\u8439\u843A\u843B\u843E",7,"\u8447\u8448\u8449"],["c880","\u844A",6,"\u8452",4,"\u8458\u845D\u845E\u845F\u8460\u8462\u8464",4,"\u846A\u846E\u846F\u8470\u8472\u8474\u8477\u8479\u847B\u847C\u53D6\u5A36\u9F8B\u8DA3\u53BB\u5708\u98A7\u6743\u919B\u6CC9\u5168\u75CA\u62F3\u72AC\u5238\u529D\u7F3A\u7094\u7638\u5374\u9E4A\u69B7\u786E\u96C0\u88D9\u7FA4\u7136\u71C3\u5189\u67D3\u74E4\u58E4\u6518\u56B7\u8BA9\u9976\u6270\u7ED5\u60F9\u70ED\u58EC\u4EC1\u4EBA\u5FCD\u97E7\u4EFB\u8BA4\u5203\u598A\u7EAB\u6254\u4ECD\u65E5\u620E\u8338\u84C9\u8363\u878D\u7194\u6EB6\u5BB9\u7ED2\u5197\u63C9\u67D4\u8089\u8339\u8815\u5112\u5B7A\u5982\u8FB1\u4E73\u6C5D\u5165\u8925\u8F6F\u962E\u854A\u745E\u9510\u95F0\u6DA6\u82E5\u5F31\u6492\u6D12\u8428\u816E\u9CC3\u585E\u8D5B\u4E09\u53C1"],["c940","\u847D",4,"\u8483\u8484\u8485\u8486\u848A\u848D\u848F",7,"\u8498\u849A\u849B\u849D\u849E\u849F\u84A0\u84A2",12,"\u84B0\u84B1\u84B3\u84B5\u84B6\u84B7\u84BB\u84BC\u84BE\u84C0\u84C2\u84C3\u84C5\u84C6\u84C7\u84C8\u84CB\u84CC\u84CE\u84CF\u84D2\u84D4\u84D5\u84D7"],["c980","\u84D8",4,"\u84DE\u84E1\u84E2\u84E4\u84E7",4,"\u84ED\u84EE\u84EF\u84F1",10,"\u84FD\u84FE\u8500\u8501\u8502\u4F1E\u6563\u6851\u55D3\u4E27\u6414\u9A9A\u626B\u5AC2\u745F\u8272\u6DA9\u68EE\u50E7\u838E\u7802\u6740\u5239\u6C99\u7EB1\u50BB\u5565\u715E\u7B5B\u6652\u73CA\u82EB\u6749\u5C71\u5220\u717D\u886B\u95EA\u9655\u64C5\u8D61\u81B3\u5584\u6C55\u6247\u7F2E\u5892\u4F24\u5546\u8D4F\u664C\u4E0A\u5C1A\u88F3\u68A2\u634E\u7A0D\u70E7\u828D\u52FA\u97F6\u5C11\u54E8\u90B5\u7ECD\u5962\u8D4A\u86C7\u820C\u820D\u8D66\u6444\u5C04\u6151\u6D89\u793E\u8BBE\u7837\u7533\u547B\u4F38\u8EAB\u6DF1\u5A20\u7EC5\u795E\u6C88\u5BA1\u5A76\u751A\u80BE\u614E\u6E17\u58F0\u751F\u7525\u7272\u5347\u7EF3"],["ca40","\u8503",8,"\u850D\u850E\u850F\u8510\u8512\u8514\u8515\u8516\u8518\u8519\u851B\u851C\u851D\u851E\u8520\u8522",8,"\u852D",9,"\u853E",4,"\u8544\u8545\u8546\u8547\u854B",10],["ca80","\u8557\u8558\u855A\u855B\u855C\u855D\u855F",4,"\u8565\u8566\u8567\u8569",8,"\u8573\u8575\u8576\u8577\u8578\u857C\u857D\u857F\u8580\u8581\u7701\u76DB\u5269\u80DC\u5723\u5E08\u5931\u72EE\u65BD\u6E7F\u8BD7\u5C38\u8671\u5341\u77F3\u62FE\u65F6\u4EC0\u98DF\u8680\u5B9E\u8BC6\u53F2\u77E2\u4F7F\u5C4E\u9A76\u59CB\u5F0F\u793A\u58EB\u4E16\u67FF\u4E8B\u62ED\u8A93\u901D\u52BF\u662F\u55DC\u566C\u9002\u4ED5\u4F8D\u91CA\u9970\u6C0F\u5E02\u6043\u5BA4\u89C6\u8BD5\u6536\u624B\u9996\u5B88\u5BFF\u6388\u552E\u53D7\u7626\u517D\u852C\u67A2\u68B3\u6B8A\u6292\u8F93\u53D4\u8212\u6DD1\u758F\u4E66\u8D4E\u5B70\u719F\u85AF\u6691\u66D9\u7F72\u8700\u9ECD\u9F20\u5C5E\u672F\u8FF0\u6811\u675F\u620D\u7AD6\u5885\u5EB6\u6570\u6F31"],["cb40","\u8582\u8583\u8586\u8588",6,"\u8590",10,"\u859D",6,"\u85A5\u85A6\u85A7\u85A9\u85AB\u85AC\u85AD\u85B1",5,"\u85B8\u85BA",6,"\u85C2",6,"\u85CA",4,"\u85D1\u85D2"],["cb80","\u85D4\u85D6",5,"\u85DD",6,"\u85E5\u85E6\u85E7\u85E8\u85EA",14,"\u6055\u5237\u800D\u6454\u8870\u7529\u5E05\u6813\u62F4\u971C\u53CC\u723D\u8C01\u6C34\u7761\u7A0E\u542E\u77AC\u987A\u821C\u8BF4\u7855\u6714\u70C1\u65AF\u6495\u5636\u601D\u79C1\u53F8\u4E1D\u6B7B\u8086\u5BFA\u55E3\u56DB\u4F3A\u4F3C\u9972\u5DF3\u677E\u8038\u6002\u9882\u9001\u5B8B\u8BBC\u8BF5\u641C\u8258\u64DE\u55FD\u82CF\u9165\u4FD7\u7D20\u901F\u7C9F\u50F3\u5851\u6EAF\u5BBF\u8BC9\u8083\u9178\u849C\u7B97\u867D\u968B\u968F\u7EE5\u9AD3\u788E\u5C81\u7A57\u9042\u96A7\u795F\u5B59\u635F\u7B0B\u84D1\u68AD\u5506\u7F29\u7410\u7D22\u9501\u6240\u584C\u4ED6\u5B83\u5979\u5854"],["cc40","\u85F9\u85FA\u85FC\u85FD\u85FE\u8600",4,"\u8606",10,"\u8612\u8613\u8614\u8615\u8617",15,"\u8628\u862A",13,"\u8639\u863A\u863B\u863D\u863E\u863F\u8640"],["cc80","\u8641",11,"\u8652\u8653\u8655",4,"\u865B\u865C\u865D\u865F\u8660\u8661\u8663",7,"\u736D\u631E\u8E4B\u8E0F\u80CE\u82D4\u62AC\u53F0\u6CF0\u915E\u592A\u6001\u6C70\u574D\u644A\u8D2A\u762B\u6EE9\u575B\u6A80\u75F0\u6F6D\u8C2D\u8C08\u5766\u6BEF\u8892\u78B3\u63A2\u53F9\u70AD\u6C64\u5858\u642A\u5802\u68E0\u819B\u5510\u7CD6\u5018\u8EBA\u6DCC\u8D9F\u70EB\u638F\u6D9B\u6ED4\u7EE6\u8404\u6843\u9003\u6DD8\u9676\u8BA8\u5957\u7279\u85E4\u817E\u75BC\u8A8A\u68AF\u5254\u8E22\u9511\u63D0\u9898\u8E44\u557C\u4F53\u66FF\u568F\u60D5\u6D95\u5243\u5C49\u5929\u6DFB\u586B\u7530\u751C\u606C\u8214\u8146\u6311\u6761\u8FE2\u773A\u8DF3\u8D34\u94C1\u5E16\u5385\u542C\u70C3"],["cd40","\u866D\u866F\u8670\u8672",6,"\u8683",6,"\u868E",4,"\u8694\u8696",5,"\u869E",4,"\u86A5\u86A6\u86AB\u86AD\u86AE\u86B2\u86B3\u86B7\u86B8\u86B9\u86BB",4,"\u86C1\u86C2\u86C3\u86C5\u86C8\u86CC\u86CD\u86D2\u86D3\u86D5\u86D6\u86D7\u86DA\u86DC"],["cd80","\u86DD\u86E0\u86E1\u86E2\u86E3\u86E5\u86E6\u86E7\u86E8\u86EA\u86EB\u86EC\u86EF\u86F5\u86F6\u86F7\u86FA\u86FB\u86FC\u86FD\u86FF\u8701\u8704\u8705\u8706\u870B\u870C\u870E\u870F\u8710\u8711\u8714\u8716\u6C40\u5EF7\u505C\u4EAD\u5EAD\u633A\u8247\u901A\u6850\u916E\u77B3\u540C\u94DC\u5F64\u7AE5\u6876\u6345\u7B52\u7EDF\u75DB\u5077\u6295\u5934\u900F\u51F8\u79C3\u7A81\u56FE\u5F92\u9014\u6D82\u5C60\u571F\u5410\u5154\u6E4D\u56E2\u63A8\u9893\u817F\u8715\u892A\u9000\u541E\u5C6F\u81C0\u62D6\u6258\u8131\u9E35\u9640\u9A6E\u9A7C\u692D\u59A5\u62D3\u553E\u6316\u54C7\u86D9\u6D3C\u5A03\u74E6\u889C\u6B6A\u5916\u8C4C\u5F2F\u6E7E\u73A9\u987D\u4E38\u70F7\u5B8C\u7897\u633D\u665A\u7696\u60CB\u5B9B\u5A49\u4E07\u8155\u6C6A\u738B\u4EA1\u6789\u7F51\u5F80\u65FA\u671B\u5FD8\u5984\u5A01"],["ce40","\u8719\u871B\u871D\u871F\u8720\u8724\u8726\u8727\u8728\u872A\u872B\u872C\u872D\u872F\u8730\u8732\u8733\u8735\u8736\u8738\u8739\u873A\u873C\u873D\u8740",6,"\u874A\u874B\u874D\u874F\u8750\u8751\u8752\u8754\u8755\u8756\u8758\u875A",5,"\u8761\u8762\u8766",7,"\u876F\u8771\u8772\u8773\u8775"],["ce80","\u8777\u8778\u8779\u877A\u877F\u8780\u8781\u8784\u8786\u8787\u8789\u878A\u878C\u878E",4,"\u8794\u8795\u8796\u8798",6,"\u87A0",4,"\u5DCD\u5FAE\u5371\u97E6\u8FDD\u6845\u56F4\u552F\u60DF\u4E3A\u6F4D\u7EF4\u82C7\u840E\u59D4\u4F1F\u4F2A\u5C3E\u7EAC\u672A\u851A\u5473\u754F\u80C3\u5582\u9B4F\u4F4D\u6E2D\u8C13\u5C09\u6170\u536B\u761F\u6E29\u868A\u6587\u95FB\u7EB9\u543B\u7A33\u7D0A\u95EE\u55E1\u7FC1\u74EE\u631D\u8717\u6DA1\u7A9D\u6211\u65A1\u5367\u63E1\u6C83\u5DEB\u545C\u94A8\u4E4C\u6C61\u8BEC\u5C4B\u65E0\u829C\u68A7\u543E\u5434\u6BCB\u6B66\u4E94\u6342\u5348\u821E\u4F0D\u4FAE\u575E\u620A\u96FE\u6664\u7269\u52FF\u52A1\u609F\u8BEF\u6614\u7199\u6790\u897F\u7852\u77FD\u6670\u563B\u5438\u9521\u727A"],["cf40","\u87A5\u87A6\u87A7\u87A9\u87AA\u87AE\u87B0\u87B1\u87B2\u87B4\u87B6\u87B7\u87B8\u87B9\u87BB\u87BC\u87BE\u87BF\u87C1",4,"\u87C7\u87C8\u87C9\u87CC",4,"\u87D4",6,"\u87DC\u87DD\u87DE\u87DF\u87E1\u87E2\u87E3\u87E4\u87E6\u87E7\u87E8\u87E9\u87EB\u87EC\u87ED\u87EF",9],["cf80","\u87FA\u87FB\u87FC\u87FD\u87FF\u8800\u8801\u8802\u8804",5,"\u880B",7,"\u8814\u8817\u8818\u8819\u881A\u881C",4,"\u8823\u7A00\u606F\u5E0C\u6089\u819D\u5915\u60DC\u7184\u70EF\u6EAA\u6C50\u7280\u6A84\u88AD\u5E2D\u4E60\u5AB3\u559C\u94E3\u6D17\u7CFB\u9699\u620F\u7EC6\u778E\u867E\u5323\u971E\u8F96\u6687\u5CE1\u4FA0\u72ED\u4E0B\u53A6\u590F\u5413\u6380\u9528\u5148\u4ED9\u9C9C\u7EA4\u54B8\u8D24\u8854\u8237\u95F2\u6D8E\u5F26\u5ACC\u663E\u9669\u73B0\u732E\u53BF\u817A\u9985\u7FA1\u5BAA\u9677\u9650\u7EBF\u76F8\u53A2\u9576\u9999\u7BB1\u8944\u6E58\u4E61\u7FD4\u7965\u8BE6\u60F3\u54CD\u4EAB\u9879\u5DF7\u6A61\u50CF\u5411\u8C61\u8427\u785D\u9704\u524A\u54EE\u56A3\u9500\u6D88\u5BB5\u6DC6\u6653"],["d040","\u8824",13,"\u8833",5,"\u883A\u883B\u883D\u883E\u883F\u8841\u8842\u8843\u8846",5,"\u884E",5,"\u8855\u8856\u8858\u885A",6,"\u8866\u8867\u886A\u886D\u886F\u8871\u8873\u8874\u8875\u8876\u8878\u8879\u887A"],["d080","\u887B\u887C\u8880\u8883\u8886\u8887\u8889\u888A\u888C\u888E\u888F\u8890\u8891\u8893\u8894\u8895\u8897",4,"\u889D",4,"\u88A3\u88A5",5,"\u5C0F\u5B5D\u6821\u8096\u5578\u7B11\u6548\u6954\u4E9B\u6B47\u874E\u978B\u534F\u631F\u643A\u90AA\u659C\u80C1\u8C10\u5199\u68B0\u5378\u87F9\u61C8\u6CC4\u6CFB\u8C22\u5C51\u85AA\u82AF\u950C\u6B23\u8F9B\u65B0\u5FFB\u5FC3\u4FE1\u8845\u661F\u8165\u7329\u60FA\u5174\u5211\u578B\u5F62\u90A2\u884C\u9192\u5E78\u674F\u6027\u59D3\u5144\u51F6\u80F8\u5308\u6C79\u96C4\u718A\u4F11\u4FEE\u7F9E\u673D\u55C5\u9508\u79C0\u8896\u7EE3\u589F\u620C\u9700\u865A\u5618\u987B\u5F90\u8BB8\u84C4\u9157\u53D9\u65ED\u5E8F\u755C\u6064\u7D6E\u5A7F\u7EEA\u7EED\u8F69\u55A7\u5BA3\u60AC\u65CB\u7384"],["d140","\u88AC\u88AE\u88AF\u88B0\u88B2",4,"\u88B8\u88B9\u88BA\u88BB\u88BD\u88BE\u88BF\u88C0\u88C3\u88C4\u88C7\u88C8\u88CA\u88CB\u88CC\u88CD\u88CF\u88D0\u88D1\u88D3\u88D6\u88D7\u88DA",4,"\u88E0\u88E1\u88E6\u88E7\u88E9",6,"\u88F2\u88F5\u88F6\u88F7\u88FA\u88FB\u88FD\u88FF\u8900\u8901\u8903",5],["d180","\u8909\u890B",4,"\u8911\u8914",4,"\u891C",4,"\u8922\u8923\u8924\u8926\u8927\u8928\u8929\u892C\u892D\u892E\u892F\u8931\u8932\u8933\u8935\u8937\u9009\u7663\u7729\u7EDA\u9774\u859B\u5B66\u7A74\u96EA\u8840\u52CB\u718F\u5FAA\u65EC\u8BE2\u5BFB\u9A6F\u5DE1\u6B89\u6C5B\u8BAD\u8BAF\u900A\u8FC5\u538B\u62BC\u9E26\u9E2D\u5440\u4E2B\u82BD\u7259\u869C\u5D16\u8859\u6DAF\u96C5\u54D1\u4E9A\u8BB6\u7109\u54BD\u9609\u70DF\u6DF9\u76D0\u4E25\u7814\u8712\u5CA9\u5EF6\u8A00\u989C\u960E\u708E\u6CBF\u5944\u63A9\u773C\u884D\u6F14\u8273\u5830\u71D5\u538C\u781A\u96C1\u5501\u5F66\u7130\u5BB4\u8C1A\u9A8C\u6B83\u592E\u9E2F\u79E7\u6768\u626C\u4F6F\u75A1\u7F8A\u6D0B\u9633\u6C27\u4EF0\u75D2\u517B\u6837\u6F3E\u9080\u8170\u5996\u7476"],["d240","\u8938",8,"\u8942\u8943\u8945",24,"\u8960",5,"\u8967",19,"\u897C"],["d280","\u897D\u897E\u8980\u8982\u8984\u8985\u8987",26,"\u6447\u5C27\u9065\u7A91\u8C23\u59DA\u54AC\u8200\u836F\u8981\u8000\u6930\u564E\u8036\u7237\u91CE\u51B6\u4E5F\u9875\u6396\u4E1A\u53F6\u66F3\u814B\u591C\u6DB2\u4E00\u58F9\u533B\u63D6\u94F1\u4F9D\u4F0A\u8863\u9890\u5937\u9057\u79FB\u4EEA\u80F0\u7591\u6C82\u5B9C\u59E8\u5F5D\u6905\u8681\u501A\u5DF2\u4E59\u77E3\u4EE5\u827A\u6291\u6613\u9091\u5C79\u4EBF\u5F79\u81C6\u9038\u8084\u75AB\u4EA6\u88D4\u610F\u6BC5\u5FC6\u4E49\u76CA\u6EA2\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7FFC\u7FCC\u7ECE\u8335\u836B\u56E0\u6BB7\u97F3\u9634\u59FB\u541F\u94F6\u6DEB\u5BC5\u996E\u5C39\u5F15\u9690"],["d340","\u89A2",30,"\u89C3\u89CD\u89D3\u89D4\u89D5\u89D7\u89D8\u89D9\u89DB\u89DD\u89DF\u89E0\u89E1\u89E2\u89E4\u89E7\u89E8\u89E9\u89EA\u89EC\u89ED\u89EE\u89F0\u89F1\u89F2\u89F4",6],["d380","\u89FB",4,"\u8A01",5,"\u8A08",21,"\u5370\u82F1\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8FCE\u8D62\u76C8\u5F71\u9896\u786C\u6620\u54DF\u62E5\u4F63\u81C3\u75C8\u5EB8\u96CD\u8E0A\u86F9\u548F\u6CF3\u6D8C\u6C38\u607F\u52C7\u7528\u5E7D\u4F18\u60A0\u5FE7\u5C24\u7531\u90AE\u94C0\u72B9\u6CB9\u6E38\u9149\u6709\u53CB\u53F3\u4F51\u91C9\u8BF1\u53C8\u5E7C\u8FC2\u6DE4\u4E8E\u76C2\u6986\u865E\u611A\u8206\u4F59\u4FDE\u903E\u9C7C\u6109\u6E1D\u6E14\u9685\u4E88\u5A31\u96E8\u4E0E\u5C7F\u79B9\u5B87\u8BED\u7FBD\u7389\u57DF\u828B\u90C1\u5401\u9047\u55BB\u5CEA\u5FA1\u6108\u6B32\u72F1\u80B2\u8A89"],["d440","\u8A1E",31,"\u8A3F",8,"\u8A49",21],["d480","\u8A5F",25,"\u8A7A",6,"\u6D74\u5BD3\u88D5\u9884\u8C6B\u9A6D\u9E33\u6E0A\u51A4\u5143\u57A3\u8881\u539F\u63F4\u8F95\u56ED\u5458\u5706\u733F\u6E90\u7F18\u8FDC\u82D1\u613F\u6028\u9662\u66F0\u7EA6\u8D8A\u8DC3\u94A5\u5CB3\u7CA4\u6708\u60A6\u9605\u8018\u4E91\u90E7\u5300\u9668\u5141\u8FD0\u8574\u915D\u6655\u97F5\u5B55\u531D\u7838\u6742\u683D\u54C9\u707E\u5BB0\u8F7D\u518D\u5728\u54B1\u6512\u6682\u8D5E\u8D43\u810F\u846C\u906D\u7CDF\u51FF\u85FB\u67A3\u65E9\u6FA1\u86A4\u8E81\u566A\u9020\u7682\u7076\u71E5\u8D23\u62E9\u5219\u6CFD\u8D3C\u600E\u589E\u618E\u66FE\u8D60\u624E\u55B3\u6E23\u672D\u8F67"],["d540","\u8A81",7,"\u8A8B",7,"\u8A94",46],["d580","\u8AC3",32,"\u94E1\u95F8\u7728\u6805\u69A8\u548B\u4E4D\u70B8\u8BC8\u6458\u658B\u5B85\u7A84\u503A\u5BE8\u77BB\u6BE1\u8A79\u7C98\u6CBE\u76CF\u65A9\u8F97\u5D2D\u5C55\u8638\u6808\u5360\u6218\u7AD9\u6E5B\u7EFD\u6A1F\u7AE0\u5F70\u6F33\u5F20\u638C\u6DA8\u6756\u4E08\u5E10\u8D26\u4ED7\u80C0\u7634\u969C\u62DB\u662D\u627E\u6CBC\u8D75\u7167\u7F69\u5146\u8087\u53EC\u906E\u6298\u54F2\u86F0\u8F99\u8005\u9517\u8517\u8FD9\u6D59\u73CD\u659F\u771F\u7504\u7827\u81FB\u8D1E\u9488\u4FA6\u6795\u75B9\u8BCA\u9707\u632F\u9547\u9635\u84B8\u6323\u7741\u5F81\u72F0\u4E89\u6014\u6574\u62EF\u6B63\u653F"],["d640","\u8AE4",34,"\u8B08",27],["d680","\u8B24\u8B25\u8B27",30,"\u5E27\u75C7\u90D1\u8BC1\u829D\u679D\u652F\u5431\u8718\u77E5\u80A2\u8102\u6C41\u4E4B\u7EC7\u804C\u76F4\u690D\u6B96\u6267\u503C\u4F84\u5740\u6307\u6B62\u8DBE\u53EA\u65E8\u7EB8\u5FD7\u631A\u63B7\u81F3\u81F4\u7F6E\u5E1C\u5CD9\u5236\u667A\u79E9\u7A1A\u8D28\u7099\u75D4\u6EDE\u6CBB\u7A92\u4E2D\u76C5\u5FE0\u949F\u8877\u7EC8\u79CD\u80BF\u91CD\u4EF2\u4F17\u821F\u5468\u5DDE\u6D32\u8BCC\u7CA5\u8F74\u8098\u5E1A\u5492\u76B1\u5B99\u663C\u9AA4\u73E0\u682A\u86DB\u6731\u732A\u8BF8\u8BDB\u9010\u7AF9\u70DB\u716E\u62C4\u77A9\u5631\u4E3B\u8457\u67F1\u52A9\u86C0\u8D2E\u94F8\u7B51"],["d740","\u8B46",31,"\u8B67",4,"\u8B6D",25],["d780","\u8B87",24,"\u8BAC\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C09\u8C1E\u4F4F\u6CE8\u795D\u9A7B\u6293\u722A\u62FD\u4E13\u7816\u8F6C\u64B0\u8D5A\u7BC6\u6869\u5E84\u88C5\u5986\u649E\u58EE\u72B6\u690E\u9525\u8FFD\u8D58\u5760\u7F00\u8C06\u51C6\u6349\u62D9\u5353\u684C\u7422\u8301\u914C\u5544\u7740\u707C\u6D4A\u5179\u54A8\u8D44\u59FF\u6ECB\u6DC4\u5B5C\u7D2B\u4ED4\u7C7D\u6ED3\u5B50\u81EA\u6E0D\u5B57\u9B03\u68D5\u8E2A\u5B97\u7EFC\u603B\u7EB5\u90B9\u8D70\u594F\u63CD\u79DF\u8DB3\u5352\u65CF\u7956\u8BC5\u963B\u7EC4\u94BB\u7E82\u5634\u9189\u6700\u7F6A\u5C0A\u9075\u6628\u5DE6\u4F50\u67DE\u505A\u4F5C\u5750\u5EA7"],["d840","\u8C38",8,"\u8C42\u8C43\u8C44\u8C45\u8C48\u8C4A\u8C4B\u8C4D",7,"\u8C56\u8C57\u8C58\u8C59\u8C5B",5,"\u8C63",6,"\u8C6C",6,"\u8C74\u8C75\u8C76\u8C77\u8C7B",6,"\u8C83\u8C84\u8C86\u8C87"],["d880","\u8C88\u8C8B\u8C8D",6,"\u8C95\u8C96\u8C97\u8C99",20,"\u4E8D\u4E0C\u5140\u4E10\u5EFF\u5345\u4E15\u4E98\u4E1E\u9B32\u5B6C\u5669\u4E28\u79BA\u4E3F\u5315\u4E47\u592D\u723B\u536E\u6C10\u56DF\u80E4\u9997\u6BD3\u777E\u9F17\u4E36\u4E9F\u9F10\u4E5C\u4E69\u4E93\u8288\u5B5B\u556C\u560F\u4EC4\u538D\u539D\u53A3\u53A5\u53AE\u9765\u8D5D\u531A\u53F5\u5326\u532E\u533E\u8D5C\u5366\u5363\u5202\u5208\u520E\u522D\u5233\u523F\u5240\u524C\u525E\u5261\u525C\u84AF\u527D\u5282\u5281\u5290\u5293\u5182\u7F54\u4EBB\u4EC3\u4EC9\u4EC2\u4EE8\u4EE1\u4EEB\u4EDE\u4F1B\u4EF3\u4F22\u4F64\u4EF5\u4F25\u4F27\u4F09\u4F2B\u4F5E\u4F67\u6538\u4F5A\u4F5D"],["d940","\u8CAE",62],["d980","\u8CED",32,"\u4F5F\u4F57\u4F32\u4F3D\u4F76\u4F74\u4F91\u4F89\u4F83\u4F8F\u4F7E\u4F7B\u4FAA\u4F7C\u4FAC\u4F94\u4FE6\u4FE8\u4FEA\u4FC5\u4FDA\u4FE3\u4FDC\u4FD1\u4FDF\u4FF8\u5029\u504C\u4FF3\u502C\u500F\u502E\u502D\u4FFE\u501C\u500C\u5025\u5028\u507E\u5043\u5055\u5048\u504E\u506C\u507B\u50A5\u50A7\u50A9\u50BA\u50D6\u5106\u50ED\u50EC\u50E6\u50EE\u5107\u510B\u4EDD\u6C3D\u4F58\u4F65\u4FCE\u9FA0\u6C46\u7C74\u516E\u5DFD\u9EC9\u9998\u5181\u5914\u52F9\u530D\u8A07\u5310\u51EB\u5919\u5155\u4EA0\u5156\u4EB3\u886E\u88A4\u4EB5\u8114\u88D2\u7980\u5B34\u8803\u7FB8\u51AB\u51B1\u51BD\u51BC"],["da40","\u8D0E",14,"\u8D20\u8D51\u8D52\u8D57\u8D5F\u8D65\u8D68\u8D69\u8D6A\u8D6C\u8D6E\u8D6F\u8D71\u8D72\u8D78",8,"\u8D82\u8D83\u8D86\u8D87\u8D88\u8D89\u8D8C",4,"\u8D92\u8D93\u8D95",9,"\u8DA0\u8DA1"],["da80","\u8DA2\u8DA4",12,"\u8DB2\u8DB6\u8DB7\u8DB9\u8DBB\u8DBD\u8DC0\u8DC1\u8DC2\u8DC5\u8DC7\u8DC8\u8DC9\u8DCA\u8DCD\u8DD0\u8DD2\u8DD3\u8DD4\u51C7\u5196\u51A2\u51A5\u8BA0\u8BA6\u8BA7\u8BAA\u8BB4\u8BB5\u8BB7\u8BC2\u8BC3\u8BCB\u8BCF\u8BCE\u8BD2\u8BD3\u8BD4\u8BD6\u8BD8\u8BD9\u8BDC\u8BDF\u8BE0\u8BE4\u8BE8\u8BE9\u8BEE\u8BF0\u8BF3\u8BF6\u8BF9\u8BFC\u8BFF\u8C00\u8C02\u8C04\u8C07\u8C0C\u8C0F\u8C11\u8C12\u8C14\u8C15\u8C16\u8C19\u8C1B\u8C18\u8C1D\u8C1F\u8C20\u8C21\u8C25\u8C27\u8C2A\u8C2B\u8C2E\u8C2F\u8C32\u8C33\u8C35\u8C36\u5369\u537A\u961D\u9622\u9621\u9631\u962A\u963D\u963C\u9642\u9649\u9654\u965F\u9667\u966C\u9672\u9674\u9688\u968D\u9697\u96B0\u9097\u909B\u909D\u9099\u90AC\u90A1\u90B4\u90B3\u90B6\u90BA"],["db40","\u8DD5\u8DD8\u8DD9\u8DDC\u8DE0\u8DE1\u8DE2\u8DE5\u8DE6\u8DE7\u8DE9\u8DED\u8DEE\u8DF0\u8DF1\u8DF2\u8DF4\u8DF6\u8DFC\u8DFE",6,"\u8E06\u8E07\u8E08\u8E0B\u8E0D\u8E0E\u8E10\u8E11\u8E12\u8E13\u8E15",7,"\u8E20\u8E21\u8E24",4,"\u8E2B\u8E2D\u8E30\u8E32\u8E33\u8E34\u8E36\u8E37\u8E38\u8E3B\u8E3C\u8E3E"],["db80","\u8E3F\u8E43\u8E45\u8E46\u8E4C",4,"\u8E53",5,"\u8E5A",11,"\u8E67\u8E68\u8E6A\u8E6B\u8E6E\u8E71\u90B8\u90B0\u90CF\u90C5\u90BE\u90D0\u90C4\u90C7\u90D3\u90E6\u90E2\u90DC\u90D7\u90DB\u90EB\u90EF\u90FE\u9104\u9122\u911E\u9123\u9131\u912F\u9139\u9143\u9146\u520D\u5942\u52A2\u52AC\u52AD\u52BE\u54FF\u52D0\u52D6\u52F0\u53DF\u71EE\u77CD\u5EF4\u51F5\u51FC\u9B2F\u53B6\u5F01\u755A\u5DEF\u574C\u57A9\u57A1\u587E\u58BC\u58C5\u58D1\u5729\u572C\u572A\u5733\u5739\u572E\u572F\u575C\u573B\u5742\u5769\u5785\u576B\u5786\u577C\u577B\u5768\u576D\u5776\u5773\u57AD\u57A4\u578C\u57B2\u57CF\u57A7\u57B4\u5793\u57A0\u57D5\u57D8\u57DA\u57D9\u57D2\u57B8\u57F4\u57EF\u57F8\u57E4\u57DD"],["dc40","\u8E73\u8E75\u8E77",4,"\u8E7D\u8E7E\u8E80\u8E82\u8E83\u8E84\u8E86\u8E88",6,"\u8E91\u8E92\u8E93\u8E95",6,"\u8E9D\u8E9F",11,"\u8EAD\u8EAE\u8EB0\u8EB1\u8EB3",6,"\u8EBB",7],["dc80","\u8EC3",10,"\u8ECF",21,"\u580B\u580D\u57FD\u57ED\u5800\u581E\u5819\u5844\u5820\u5865\u586C\u5881\u5889\u589A\u5880\u99A8\u9F19\u61FF\u8279\u827D\u827F\u828F\u828A\u82A8\u8284\u828E\u8291\u8297\u8299\u82AB\u82B8\u82BE\u82B0\u82C8\u82CA\u82E3\u8298\u82B7\u82AE\u82CB\u82CC\u82C1\u82A9\u82B4\u82A1\u82AA\u829F\u82C4\u82CE\u82A4\u82E1\u8309\u82F7\u82E4\u830F\u8307\u82DC\u82F4\u82D2\u82D8\u830C\u82FB\u82D3\u8311\u831A\u8306\u8314\u8315\u82E0\u82D5\u831C\u8351\u835B\u835C\u8308\u8392\u833C\u8334\u8331\u839B\u835E\u832F\u834F\u8347\u8343\u835F\u8340\u8317\u8360\u832D\u833A\u8333\u8366\u8365"],["dd40","\u8EE5",62],["dd80","\u8F24",32,"\u8368\u831B\u8369\u836C\u836A\u836D\u836E\u83B0\u8378\u83B3\u83B4\u83A0\u83AA\u8393\u839C\u8385\u837C\u83B6\u83A9\u837D\u83B8\u837B\u8398\u839E\u83A8\u83BA\u83BC\u83C1\u8401\u83E5\u83D8\u5807\u8418\u840B\u83DD\u83FD\u83D6\u841C\u8438\u8411\u8406\u83D4\u83DF\u840F\u8403\u83F8\u83F9\u83EA\u83C5\u83C0\u8426\u83F0\u83E1\u845C\u8451\u845A\u8459\u8473\u8487\u8488\u847A\u8489\u8478\u843C\u8446\u8469\u8476\u848C\u848E\u8431\u846D\u84C1\u84CD\u84D0\u84E6\u84BD\u84D3\u84CA\u84BF\u84BA\u84E0\u84A1\u84B9\u84B4\u8497\u84E5\u84E3\u850C\u750D\u8538\u84F0\u8539\u851F\u853A"],["de40","\u8F45",32,"\u8F6A\u8F80\u8F8C\u8F92\u8F9D\u8FA0\u8FA1\u8FA2\u8FA4\u8FA5\u8FA6\u8FA7\u8FAA\u8FAC\u8FAD\u8FAE\u8FAF\u8FB2\u8FB3\u8FB4\u8FB5\u8FB7\u8FB8\u8FBA\u8FBB\u8FBC\u8FBF\u8FC0\u8FC3\u8FC6"],["de80","\u8FC9",4,"\u8FCF\u8FD2\u8FD6\u8FD7\u8FDA\u8FE0\u8FE1\u8FE3\u8FE7\u8FEC\u8FEF\u8FF1\u8FF2\u8FF4\u8FF5\u8FF6\u8FFA\u8FFB\u8FFC\u8FFE\u8FFF\u9007\u9008\u900C\u900E\u9013\u9015\u9018\u8556\u853B\u84FF\u84FC\u8559\u8548\u8568\u8564\u855E\u857A\u77A2\u8543\u8572\u857B\u85A4\u85A8\u8587\u858F\u8579\u85AE\u859C\u8585\u85B9\u85B7\u85B0\u85D3\u85C1\u85DC\u85FF\u8627\u8605\u8629\u8616\u863C\u5EFE\u5F08\u593C\u5941\u8037\u5955\u595A\u5958\u530F\u5C22\u5C25\u5C2C\u5C34\u624C\u626A\u629F\u62BB\u62CA\u62DA\u62D7\u62EE\u6322\u62F6\u6339\u634B\u6343\u63AD\u63F6\u6371\u637A\u638E\u63B4\u636D\u63AC\u638A\u6369\u63AE\u63BC\u63F2\u63F8\u63E0\u63FF\u63C4\u63DE\u63CE\u6452\u63C6\u63BE\u6445\u6441\u640B\u641B\u6420\u640C\u6426\u6421\u645E\u6484\u646D\u6496"],["df40","\u9019\u901C\u9023\u9024\u9025\u9027",5,"\u9030",4,"\u9037\u9039\u903A\u903D\u903F\u9040\u9043\u9045\u9046\u9048",4,"\u904E\u9054\u9055\u9056\u9059\u905A\u905C",5,"\u9064\u9066\u9067\u9069\u906A\u906B\u906C\u906F",4,"\u9076",6,"\u907E\u9081"],["df80","\u9084\u9085\u9086\u9087\u9089\u908A\u908C",4,"\u9092\u9094\u9096\u9098\u909A\u909C\u909E\u909F\u90A0\u90A4\u90A5\u90A7\u90A8\u90A9\u90AB\u90AD\u90B2\u90B7\u90BC\u90BD\u90BF\u90C0\u647A\u64B7\u64B8\u6499\u64BA\u64C0\u64D0\u64D7\u64E4\u64E2\u6509\u6525\u652E\u5F0B\u5FD2\u7519\u5F11\u535F\u53F1\u53FD\u53E9\u53E8\u53FB\u5412\u5416\u5406\u544B\u5452\u5453\u5454\u5456\u5443\u5421\u5457\u5459\u5423\u5432\u5482\u5494\u5477\u5471\u5464\u549A\u549B\u5484\u5476\u5466\u549D\u54D0\u54AD\u54C2\u54B4\u54D2\u54A7\u54A6\u54D3\u54D4\u5472\u54A3\u54D5\u54BB\u54BF\u54CC\u54D9\u54DA\u54DC\u54A9\u54AA\u54A4\u54DD\u54CF\u54DE\u551B\u54E7\u5520\u54FD\u5514\u54F3\u5522\u5523\u550F\u5511\u5527\u552A\u5567\u558F\u55B5\u5549\u556D\u5541\u5555\u553F\u5550\u553C"],["e040","\u90C2\u90C3\u90C6\u90C8\u90C9\u90CB\u90CC\u90CD\u90D2\u90D4\u90D5\u90D6\u90D8\u90D9\u90DA\u90DE\u90DF\u90E0\u90E3\u90E4\u90E5\u90E9\u90EA\u90EC\u90EE\u90F0\u90F1\u90F2\u90F3\u90F5\u90F6\u90F7\u90F9\u90FA\u90FB\u90FC\u90FF\u9100\u9101\u9103\u9105",19,"\u911A\u911B\u911C"],["e080","\u911D\u911F\u9120\u9121\u9124",10,"\u9130\u9132",6,"\u913A",8,"\u9144\u5537\u5556\u5575\u5576\u5577\u5533\u5530\u555C\u558B\u55D2\u5583\u55B1\u55B9\u5588\u5581\u559F\u557E\u55D6\u5591\u557B\u55DF\u55BD\u55BE\u5594\u5599\u55EA\u55F7\u55C9\u561F\u55D1\u55EB\u55EC\u55D4\u55E6\u55DD\u55C4\u55EF\u55E5\u55F2\u55F3\u55CC\u55CD\u55E8\u55F5\u55E4\u8F94\u561E\u5608\u560C\u5601\u5624\u5623\u55FE\u5600\u5627\u562D\u5658\u5639\u5657\u562C\u564D\u5662\u5659\u565C\u564C\u5654\u5686\u5664\u5671\u566B\u567B\u567C\u5685\u5693\u56AF\u56D4\u56D7\u56DD\u56E1\u56F5\u56EB\u56F9\u56FF\u5704\u570A\u5709\u571C\u5E0F\u5E19\u5E14\u5E11\u5E31\u5E3B\u5E3C"],["e140","\u9145\u9147\u9148\u9151\u9153\u9154\u9155\u9156\u9158\u9159\u915B\u915C\u915F\u9160\u9166\u9167\u9168\u916B\u916D\u9173\u917A\u917B\u917C\u9180",4,"\u9186\u9188\u918A\u918E\u918F\u9193",6,"\u919C",5,"\u91A4",5,"\u91AB\u91AC\u91B0\u91B1\u91B2\u91B3\u91B6\u91B7\u91B8\u91B9\u91BB"],["e180","\u91BC",10,"\u91C8\u91CB\u91D0\u91D2",9,"\u91DD",8,"\u5E37\u5E44\u5E54\u5E5B\u5E5E\u5E61\u5C8C\u5C7A\u5C8D\u5C90\u5C96\u5C88\u5C98\u5C99\u5C91\u5C9A\u5C9C\u5CB5\u5CA2\u5CBD\u5CAC\u5CAB\u5CB1\u5CA3\u5CC1\u5CB7\u5CC4\u5CD2\u5CE4\u5CCB\u5CE5\u5D02\u5D03\u5D27\u5D26\u5D2E\u5D24\u5D1E\u5D06\u5D1B\u5D58\u5D3E\u5D34\u5D3D\u5D6C\u5D5B\u5D6F\u5D5D\u5D6B\u5D4B\u5D4A\u5D69\u5D74\u5D82\u5D99\u5D9D\u8C73\u5DB7\u5DC5\u5F73\u5F77\u5F82\u5F87\u5F89\u5F8C\u5F95\u5F99\u5F9C\u5FA8\u5FAD\u5FB5\u5FBC\u8862\u5F61\u72AD\u72B0\u72B4\u72B7\u72B8\u72C3\u72C1\u72CE\u72CD\u72D2\u72E8\u72EF\u72E9\u72F2\u72F4\u72F7\u7301\u72F3\u7303\u72FA"],["e240","\u91E6",62],["e280","\u9225",32,"\u72FB\u7317\u7313\u7321\u730A\u731E\u731D\u7315\u7322\u7339\u7325\u732C\u7338\u7331\u7350\u734D\u7357\u7360\u736C\u736F\u737E\u821B\u5925\u98E7\u5924\u5902\u9963\u9967",5,"\u9974\u9977\u997D\u9980\u9984\u9987\u998A\u998D\u9990\u9991\u9993\u9994\u9995\u5E80\u5E91\u5E8B\u5E96\u5EA5\u5EA0\u5EB9\u5EB5\u5EBE\u5EB3\u8D53\u5ED2\u5ED1\u5EDB\u5EE8\u5EEA\u81BA\u5FC4\u5FC9\u5FD6\u5FCF\u6003\u5FEE\u6004\u5FE1\u5FE4\u5FFE\u6005\u6006\u5FEA\u5FED\u5FF8\u6019\u6035\u6026\u601B\u600F\u600D\u6029\u602B\u600A\u603F\u6021\u6078\u6079\u607B\u607A\u6042"],["e340","\u9246",45,"\u9275",16],["e380","\u9286",7,"\u928F",24,"\u606A\u607D\u6096\u609A\u60AD\u609D\u6083\u6092\u608C\u609B\u60EC\u60BB\u60B1\u60DD\u60D8\u60C6\u60DA\u60B4\u6120\u6126\u6115\u6123\u60F4\u6100\u610E\u612B\u614A\u6175\u61AC\u6194\u61A7\u61B7\u61D4\u61F5\u5FDD\u96B3\u95E9\u95EB\u95F1\u95F3\u95F5\u95F6\u95FC\u95FE\u9603\u9604\u9606\u9608\u960A\u960B\u960C\u960D\u960F\u9612\u9615\u9616\u9617\u9619\u961A\u4E2C\u723F\u6215\u6C35\u6C54\u6C5C\u6C4A\u6CA3\u6C85\u6C90\u6C94\u6C8C\u6C68\u6C69\u6C74\u6C76\u6C86\u6CA9\u6CD0\u6CD4\u6CAD\u6CF7\u6CF8\u6CF1\u6CD7\u6CB2\u6CE0\u6CD6\u6CFA\u6CEB\u6CEE\u6CB1\u6CD3\u6CEF\u6CFE"],["e440","\u92A8",5,"\u92AF",24,"\u92C9",31],["e480","\u92E9",32,"\u6D39\u6D27\u6D0C\u6D43\u6D48\u6D07\u6D04\u6D19\u6D0E\u6D2B\u6D4D\u6D2E\u6D35\u6D1A\u6D4F\u6D52\u6D54\u6D33\u6D91\u6D6F\u6D9E\u6DA0\u6D5E\u6D93\u6D94\u6D5C\u6D60\u6D7C\u6D63\u6E1A\u6DC7\u6DC5\u6DDE\u6E0E\u6DBF\u6DE0\u6E11\u6DE6\u6DDD\u6DD9\u6E16\u6DAB\u6E0C\u6DAE\u6E2B\u6E6E\u6E4E\u6E6B\u6EB2\u6E5F\u6E86\u6E53\u6E54\u6E32\u6E25\u6E44\u6EDF\u6EB1\u6E98\u6EE0\u6F2D\u6EE2\u6EA5\u6EA7\u6EBD\u6EBB\u6EB7\u6ED7\u6EB4\u6ECF\u6E8F\u6EC2\u6E9F\u6F62\u6F46\u6F47\u6F24\u6F15\u6EF9\u6F2F\u6F36\u6F4B\u6F74\u6F2A\u6F09\u6F29\u6F89\u6F8D\u6F8C\u6F78\u6F72\u6F7C\u6F7A\u6FD1"],["e540","\u930A",51,"\u933F",10],["e580","\u934A",31,"\u936B\u6FC9\u6FA7\u6FB9\u6FB6\u6FC2\u6FE1\u6FEE\u6FDE\u6FE0\u6FEF\u701A\u7023\u701B\u7039\u7035\u704F\u705E\u5B80\u5B84\u5B95\u5B93\u5BA5\u5BB8\u752F\u9A9E\u6434\u5BE4\u5BEE\u8930\u5BF0\u8E47\u8B07\u8FB6\u8FD3\u8FD5\u8FE5\u8FEE\u8FE4\u8FE9\u8FE6\u8FF3\u8FE8\u9005\u9004\u900B\u9026\u9011\u900D\u9016\u9021\u9035\u9036\u902D\u902F\u9044\u9051\u9052\u9050\u9068\u9058\u9062\u905B\u66B9\u9074\u907D\u9082\u9088\u9083\u908B\u5F50\u5F57\u5F56\u5F58\u5C3B\u54AB\u5C50\u5C59\u5B71\u5C63\u5C66\u7FBC\u5F2A\u5F29\u5F2D\u8274\u5F3C\u9B3B\u5C6E\u5981\u5983\u598D\u59A9\u59AA\u59A3"],["e640","\u936C",34,"\u9390",27],["e680","\u93AC",29,"\u93CB\u93CC\u93CD\u5997\u59CA\u59AB\u599E\u59A4\u59D2\u59B2\u59AF\u59D7\u59BE\u5A05\u5A06\u59DD\u5A08\u59E3\u59D8\u59F9\u5A0C\u5A09\u5A32\u5A34\u5A11\u5A23\u5A13\u5A40\u5A67\u5A4A\u5A55\u5A3C\u5A62\u5A75\u80EC\u5AAA\u5A9B\u5A77\u5A7A\u5ABE\u5AEB\u5AB2\u5AD2\u5AD4\u5AB8\u5AE0\u5AE3\u5AF1\u5AD6\u5AE6\u5AD8\u5ADC\u5B09\u5B17\u5B16\u5B32\u5B37\u5B40\u5C15\u5C1C\u5B5A\u5B65\u5B73\u5B51\u5B53\u5B62\u9A75\u9A77\u9A78\u9A7A\u9A7F\u9A7D\u9A80\u9A81\u9A85\u9A88\u9A8A\u9A90\u9A92\u9A93\u9A96\u9A98\u9A9B\u9A9C\u9A9D\u9A9F\u9AA0\u9AA2\u9AA3\u9AA5\u9AA7\u7E9F\u7EA1\u7EA3\u7EA5\u7EA8\u7EA9"],["e740","\u93CE",7,"\u93D7",54],["e780","\u940E",32,"\u7EAD\u7EB0\u7EBE\u7EC0\u7EC1\u7EC2\u7EC9\u7ECB\u7ECC\u7ED0\u7ED4\u7ED7\u7EDB\u7EE0\u7EE1\u7EE8\u7EEB\u7EEE\u7EEF\u7EF1\u7EF2\u7F0D\u7EF6\u7EFA\u7EFB\u7EFE\u7F01\u7F02\u7F03\u7F07\u7F08\u7F0B\u7F0C\u7F0F\u7F11\u7F12\u7F17\u7F19\u7F1C\u7F1B\u7F1F\u7F21",6,"\u7F2A\u7F2B\u7F2C\u7F2D\u7F2F",4,"\u7F35\u5E7A\u757F\u5DDB\u753E\u9095\u738E\u7391\u73AE\u73A2\u739F\u73CF\u73C2\u73D1\u73B7\u73B3\u73C0\u73C9\u73C8\u73E5\u73D9\u987C\u740A\u73E9\u73E7\u73DE\u73BA\u73F2\u740F\u742A\u745B\u7426\u7425\u7428\u7430\u742E\u742C"],["e840","\u942F",14,"\u943F",43,"\u946C\u946D\u946E\u946F"],["e880","\u9470",20,"\u9491\u9496\u9498\u94C7\u94CF\u94D3\u94D4\u94DA\u94E6\u94FB\u951C\u9520\u741B\u741A\u7441\u745C\u7457\u7455\u7459\u7477\u746D\u747E\u749C\u748E\u7480\u7481\u7487\u748B\u749E\u74A8\u74A9\u7490\u74A7\u74D2\u74BA\u97EA\u97EB\u97EC\u674C\u6753\u675E\u6748\u6769\u67A5\u6787\u676A\u6773\u6798\u67A7\u6775\u67A8\u679E\u67AD\u678B\u6777\u677C\u67F0\u6809\u67D8\u680A\u67E9\u67B0\u680C\u67D9\u67B5\u67DA\u67B3\u67DD\u6800\u67C3\u67B8\u67E2\u680E\u67C1\u67FD\u6832\u6833\u6860\u6861\u684E\u6862\u6844\u6864\u6883\u681D\u6855\u6866\u6841\u6867\u6840\u683E\u684A\u6849\u6829\u68B5\u688F\u6874\u6877\u6893\u686B\u68C2\u696E\u68FC\u691F\u6920\u68F9"],["e940","\u9527\u9533\u953D\u9543\u9548\u954B\u9555\u955A\u9560\u956E\u9574\u9575\u9577",7,"\u9580",42],["e980","\u95AB",32,"\u6924\u68F0\u690B\u6901\u6957\u68E3\u6910\u6971\u6939\u6960\u6942\u695D\u6984\u696B\u6980\u6998\u6978\u6934\u69CC\u6987\u6988\u69CE\u6989\u6966\u6963\u6979\u699B\u69A7\u69BB\u69AB\u69AD\u69D4\u69B1\u69C1\u69CA\u69DF\u6995\u69E0\u698D\u69FF\u6A2F\u69ED\u6A17\u6A18\u6A65\u69F2\u6A44\u6A3E\u6AA0\u6A50\u6A5B\u6A35\u6A8E\u6A79\u6A3D\u6A28\u6A58\u6A7C\u6A91\u6A90\u6AA9\u6A97\u6AAB\u7337\u7352\u6B81\u6B82\u6B87\u6B84\u6B92\u6B93\u6B8D\u6B9A\u6B9B\u6BA1\u6BAA\u8F6B\u8F6D\u8F71\u8F72\u8F73\u8F75\u8F76\u8F78\u8F77\u8F79\u8F7A\u8F7C\u8F7E\u8F81\u8F82\u8F84\u8F87\u8F8B"],["ea40","\u95CC",27,"\u95EC\u95FF\u9607\u9613\u9618\u961B\u961E\u9620\u9623",6,"\u962B\u962C\u962D\u962F\u9630\u9637\u9638\u9639\u963A\u963E\u9641\u9643\u964A\u964E\u964F\u9651\u9652\u9653\u9656\u9657"],["ea80","\u9658\u9659\u965A\u965C\u965D\u965E\u9660\u9663\u9665\u9666\u966B\u966D",4,"\u9673\u9678",12,"\u9687\u9689\u968A\u8F8D\u8F8E\u8F8F\u8F98\u8F9A\u8ECE\u620B\u6217\u621B\u621F\u6222\u6221\u6225\u6224\u622C\u81E7\u74EF\u74F4\u74FF\u750F\u7511\u7513\u6534\u65EE\u65EF\u65F0\u660A\u6619\u6772\u6603\u6615\u6600\u7085\u66F7\u661D\u6634\u6631\u6636\u6635\u8006\u665F\u6654\u6641\u664F\u6656\u6661\u6657\u6677\u6684\u668C\u66A7\u669D\u66BE\u66DB\u66DC\u66E6\u66E9\u8D32\u8D33\u8D36\u8D3B\u8D3D\u8D40\u8D45\u8D46\u8D48\u8D49\u8D47\u8D4D\u8D55\u8D59\u89C7\u89CA\u89CB\u89CC\u89CE\u89CF\u89D0\u89D1\u726E\u729F\u725D\u7266\u726F\u727E\u727F\u7284\u728B\u728D\u728F\u7292\u6308\u6332\u63B0"],["eb40","\u968C\u968E\u9691\u9692\u9693\u9695\u9696\u969A\u969B\u969D",9,"\u96A8",7,"\u96B1\u96B2\u96B4\u96B5\u96B7\u96B8\u96BA\u96BB\u96BF\u96C2\u96C3\u96C8\u96CA\u96CB\u96D0\u96D1\u96D3\u96D4\u96D6",9,"\u96E1",6,"\u96EB"],["eb80","\u96EC\u96ED\u96EE\u96F0\u96F1\u96F2\u96F4\u96F5\u96F8\u96FA\u96FB\u96FC\u96FD\u96FF\u9702\u9703\u9705\u970A\u970B\u970C\u9710\u9711\u9712\u9714\u9715\u9717",4,"\u971D\u971F\u9720\u643F\u64D8\u8004\u6BEA\u6BF3\u6BFD\u6BF5\u6BF9\u6C05\u6C07\u6C06\u6C0D\u6C15\u6C18\u6C19\u6C1A\u6C21\u6C29\u6C24\u6C2A\u6C32\u6535\u6555\u656B\u724D\u7252\u7256\u7230\u8662\u5216\u809F\u809C\u8093\u80BC\u670A\u80BD\u80B1\u80AB\u80AD\u80B4\u80B7\u80E7\u80E8\u80E9\u80EA\u80DB\u80C2\u80C4\u80D9\u80CD\u80D7\u6710\u80DD\u80EB\u80F1\u80F4\u80ED\u810D\u810E\u80F2\u80FC\u6715\u8112\u8C5A\u8136\u811E\u812C\u8118\u8132\u8148\u814C\u8153\u8174\u8159\u815A\u8171\u8160\u8169\u817C\u817D\u816D\u8167\u584D\u5AB5\u8188\u8182\u8191\u6ED5\u81A3\u81AA\u81CC\u6726\u81CA\u81BB"],["ec40","\u9721",8,"\u972B\u972C\u972E\u972F\u9731\u9733",4,"\u973A\u973B\u973C\u973D\u973F",18,"\u9754\u9755\u9757\u9758\u975A\u975C\u975D\u975F\u9763\u9764\u9766\u9767\u9768\u976A",7],["ec80","\u9772\u9775\u9777",4,"\u977D",7,"\u9786",4,"\u978C\u978E\u978F\u9790\u9793\u9795\u9796\u9797\u9799",4,"\u81C1\u81A6\u6B24\u6B37\u6B39\u6B43\u6B46\u6B59\u98D1\u98D2\u98D3\u98D5\u98D9\u98DA\u6BB3\u5F40\u6BC2\u89F3\u6590\u9F51\u6593\u65BC\u65C6\u65C4\u65C3\u65CC\u65CE\u65D2\u65D6\u7080\u709C\u7096\u709D\u70BB\u70C0\u70B7\u70AB\u70B1\u70E8\u70CA\u7110\u7113\u7116\u712F\u7131\u7173\u715C\u7168\u7145\u7172\u714A\u7178\u717A\u7198\u71B3\u71B5\u71A8\u71A0\u71E0\u71D4\u71E7\u71F9\u721D\u7228\u706C\u7118\u7166\u71B9\u623E\u623D\u6243\u6248\u6249\u793B\u7940\u7946\u7949\u795B\u795C\u7953\u795A\u7962\u7957\u7960\u796F\u7967\u797A\u7985\u798A\u799A\u79A7\u79B3\u5FD1\u5FD0"],["ed40","\u979E\u979F\u97A1\u97A2\u97A4",6,"\u97AC\u97AE\u97B0\u97B1\u97B3\u97B5",46],["ed80","\u97E4\u97E5\u97E8\u97EE",4,"\u97F4\u97F7",23,"\u603C\u605D\u605A\u6067\u6041\u6059\u6063\u60AB\u6106\u610D\u615D\u61A9\u619D\u61CB\u61D1\u6206\u8080\u807F\u6C93\u6CF6\u6DFC\u77F6\u77F8\u7800\u7809\u7817\u7818\u7811\u65AB\u782D\u781C\u781D\u7839\u783A\u783B\u781F\u783C\u7825\u782C\u7823\u7829\u784E\u786D\u7856\u7857\u7826\u7850\u7847\u784C\u786A\u789B\u7893\u789A\u7887\u789C\u78A1\u78A3\u78B2\u78B9\u78A5\u78D4\u78D9\u78C9\u78EC\u78F2\u7905\u78F4\u7913\u7924\u791E\u7934\u9F9B\u9EF9\u9EFB\u9EFC\u76F1\u7704\u770D\u76F9\u7707\u7708\u771A\u7722\u7719\u772D\u7726\u7735\u7738\u7750\u7751\u7747\u7743\u775A\u7768"],["ee40","\u980F",62],["ee80","\u984E",32,"\u7762\u7765\u777F\u778D\u777D\u7780\u778C\u7791\u779F\u77A0\u77B0\u77B5\u77BD\u753A\u7540\u754E\u754B\u7548\u755B\u7572\u7579\u7583\u7F58\u7F61\u7F5F\u8A48\u7F68\u7F74\u7F71\u7F79\u7F81\u7F7E\u76CD\u76E5\u8832\u9485\u9486\u9487\u948B\u948A\u948C\u948D\u948F\u9490\u9494\u9497\u9495\u949A\u949B\u949C\u94A3\u94A4\u94AB\u94AA\u94AD\u94AC\u94AF\u94B0\u94B2\u94B4\u94B6",4,"\u94BC\u94BD\u94BF\u94C4\u94C8",6,"\u94D0\u94D1\u94D2\u94D5\u94D6\u94D7\u94D9\u94D8\u94DB\u94DE\u94DF\u94E0\u94E2\u94E4\u94E5\u94E7\u94E8\u94EA"],["ef40","\u986F",5,"\u988B\u988E\u9892\u9895\u9899\u98A3\u98A8",37,"\u98CF\u98D0\u98D4\u98D6\u98D7\u98DB\u98DC\u98DD\u98E0",4],["ef80","\u98E5\u98E6\u98E9",30,"\u94E9\u94EB\u94EE\u94EF\u94F3\u94F4\u94F5\u94F7\u94F9\u94FC\u94FD\u94FF\u9503\u9502\u9506\u9507\u9509\u950A\u950D\u950E\u950F\u9512",4,"\u9518\u951B\u951D\u951E\u951F\u9522\u952A\u952B\u9529\u952C\u9531\u9532\u9534\u9536\u9537\u9538\u953C\u953E\u953F\u9542\u9535\u9544\u9545\u9546\u9549\u954C\u954E\u954F\u9552\u9553\u9554\u9556\u9557\u9558\u9559\u955B\u955E\u955F\u955D\u9561\u9562\u9564",8,"\u956F\u9571\u9572\u9573\u953A\u77E7\u77EC\u96C9\u79D5\u79ED\u79E3\u79EB\u7A06\u5D47\u7A03\u7A02\u7A1E\u7A14"],["f040","\u9908",4,"\u990E\u990F\u9911",28,"\u992F",26],["f080","\u994A",9,"\u9956",12,"\u9964\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u7A39\u7A37\u7A51\u9ECF\u99A5\u7A70\u7688\u768E\u7693\u7699\u76A4\u74DE\u74E0\u752C\u9E20\u9E22\u9E28",4,"\u9E32\u9E31\u9E36\u9E38\u9E37\u9E39\u9E3A\u9E3E\u9E41\u9E42\u9E44\u9E46\u9E47\u9E48\u9E49\u9E4B\u9E4C\u9E4E\u9E51\u9E55\u9E57\u9E5A\u9E5B\u9E5C\u9E5E\u9E63\u9E66",6,"\u9E71\u9E6D\u9E73\u7592\u7594\u7596\u75A0\u759D\u75AC\u75A3\u75B3\u75B4\u75B8\u75C4\u75B1\u75B0\u75C3\u75C2\u75D6\u75CD\u75E3\u75E8\u75E6\u75E4\u75EB\u75E7\u7603\u75F1\u75FC\u75FF\u7610\u7600\u7605\u760C\u7617\u760A\u7625\u7618\u7615\u7619"],["f140","\u998C\u998E\u999A",10,"\u99A6\u99A7\u99A9",47],["f180","\u99D9",32,"\u761B\u763C\u7622\u7620\u7640\u762D\u7630\u763F\u7635\u7643\u763E\u7633\u764D\u765E\u7654\u765C\u7656\u766B\u766F\u7FCA\u7AE6\u7A78\u7A79\u7A80\u7A86\u7A88\u7A95\u7AA6\u7AA0\u7AAC\u7AA8\u7AAD\u7AB3\u8864\u8869\u8872\u887D\u887F\u8882\u88A2\u88C6\u88B7\u88BC\u88C9\u88E2\u88CE\u88E3\u88E5\u88F1\u891A\u88FC\u88E8\u88FE\u88F0\u8921\u8919\u8913\u891B\u890A\u8934\u892B\u8936\u8941\u8966\u897B\u758B\u80E5\u76B2\u76B4\u77DC\u8012\u8014\u8016\u801C\u8020\u8022\u8025\u8026\u8027\u8029\u8028\u8031\u800B\u8035\u8043\u8046\u804D\u8052\u8069\u8071\u8983\u9878\u9880\u9883"],["f240","\u99FA",62],["f280","\u9A39",32,"\u9889\u988C\u988D\u988F\u9894\u989A\u989B\u989E\u989F\u98A1\u98A2\u98A5\u98A6\u864D\u8654\u866C\u866E\u867F\u867A\u867C\u867B\u86A8\u868D\u868B\u86AC\u869D\u86A7\u86A3\u86AA\u8693\u86A9\u86B6\u86C4\u86B5\u86CE\u86B0\u86BA\u86B1\u86AF\u86C9\u86CF\u86B4\u86E9\u86F1\u86F2\u86ED\u86F3\u86D0\u8713\u86DE\u86F4\u86DF\u86D8\u86D1\u8703\u8707\u86F8\u8708\u870A\u870D\u8709\u8723\u873B\u871E\u8725\u872E\u871A\u873E\u8748\u8734\u8731\u8729\u8737\u873F\u8782\u8722\u877D\u877E\u877B\u8760\u8770\u874C\u876E\u878B\u8753\u8763\u877C\u8764\u8759\u8765\u8793\u87AF\u87A8\u87D2"],["f340","\u9A5A",17,"\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9AA9",6,"\u9AB2\u9AB3\u9AB4\u9AB5\u9AB9\u9ABB\u9ABD\u9ABE\u9ABF\u9AC3\u9AC4\u9AC6",4,"\u9ACD\u9ACE\u9ACF\u9AD0\u9AD2\u9AD4\u9AD5\u9AD6\u9AD7\u9AD9\u9ADA\u9ADB\u9ADC"],["f380","\u9ADD\u9ADE\u9AE0\u9AE2\u9AE3\u9AE4\u9AE5\u9AE7\u9AE8\u9AE9\u9AEA\u9AEC\u9AEE\u9AF0",8,"\u9AFA\u9AFC",6,"\u9B04\u9B05\u9B06\u87C6\u8788\u8785\u87AD\u8797\u8783\u87AB\u87E5\u87AC\u87B5\u87B3\u87CB\u87D3\u87BD\u87D1\u87C0\u87CA\u87DB\u87EA\u87E0\u87EE\u8816\u8813\u87FE\u880A\u881B\u8821\u8839\u883C\u7F36\u7F42\u7F44\u7F45\u8210\u7AFA\u7AFD\u7B08\u7B03\u7B04\u7B15\u7B0A\u7B2B\u7B0F\u7B47\u7B38\u7B2A\u7B19\u7B2E\u7B31\u7B20\u7B25\u7B24\u7B33\u7B3E\u7B1E\u7B58\u7B5A\u7B45\u7B75\u7B4C\u7B5D\u7B60\u7B6E\u7B7B\u7B62\u7B72\u7B71\u7B90\u7BA6\u7BA7\u7BB8\u7BAC\u7B9D\u7BA8\u7B85\u7BAA\u7B9C\u7BA2\u7BAB\u7BB4\u7BD1\u7BC1\u7BCC\u7BDD\u7BDA\u7BE5\u7BE6\u7BEA\u7C0C\u7BFE\u7BFC\u7C0F\u7C16\u7C0B"],["f440","\u9B07\u9B09",5,"\u9B10\u9B11\u9B12\u9B14",10,"\u9B20\u9B21\u9B22\u9B24",10,"\u9B30\u9B31\u9B33",7,"\u9B3D\u9B3E\u9B3F\u9B40\u9B46\u9B4A\u9B4B\u9B4C\u9B4E\u9B50\u9B52\u9B53\u9B55",5],["f480","\u9B5B",32,"\u7C1F\u7C2A\u7C26\u7C38\u7C41\u7C40\u81FE\u8201\u8202\u8204\u81EC\u8844\u8221\u8222\u8223\u822D\u822F\u8228\u822B\u8238\u823B\u8233\u8234\u823E\u8244\u8249\u824B\u824F\u825A\u825F\u8268\u887E\u8885\u8888\u88D8\u88DF\u895E\u7F9D\u7F9F\u7FA7\u7FAF\u7FB0\u7FB2\u7C7C\u6549\u7C91\u7C9D\u7C9C\u7C9E\u7CA2\u7CB2\u7CBC\u7CBD\u7CC1\u7CC7\u7CCC\u7CCD\u7CC8\u7CC5\u7CD7\u7CE8\u826E\u66A8\u7FBF\u7FCE\u7FD5\u7FE5\u7FE1\u7FE6\u7FE9\u7FEE\u7FF3\u7CF8\u7D77\u7DA6\u7DAE\u7E47\u7E9B\u9EB8\u9EB4\u8D73\u8D84\u8D94\u8D91\u8DB1\u8D67\u8D6D\u8C47\u8C49\u914A\u9150\u914E\u914F\u9164"],["f540","\u9B7C",62],["f580","\u9BBB",32,"\u9162\u9161\u9170\u9169\u916F\u917D\u917E\u9172\u9174\u9179\u918C\u9185\u9190\u918D\u9191\u91A2\u91A3\u91AA\u91AD\u91AE\u91AF\u91B5\u91B4\u91BA\u8C55\u9E7E\u8DB8\u8DEB\u8E05\u8E59\u8E69\u8DB5\u8DBF\u8DBC\u8DBA\u8DC4\u8DD6\u8DD7\u8DDA\u8DDE\u8DCE\u8DCF\u8DDB\u8DC6\u8DEC\u8DF7\u8DF8\u8DE3\u8DF9\u8DFB\u8DE4\u8E09\u8DFD\u8E14\u8E1D\u8E1F\u8E2C\u8E2E\u8E23\u8E2F\u8E3A\u8E40\u8E39\u8E35\u8E3D\u8E31\u8E49\u8E41\u8E42\u8E51\u8E52\u8E4A\u8E70\u8E76\u8E7C\u8E6F\u8E74\u8E85\u8E8F\u8E94\u8E90\u8E9C\u8E9E\u8C78\u8C82\u8C8A\u8C85\u8C98\u8C94\u659B\u89D6\u89DE\u89DA\u89DC"],["f640","\u9BDC",62],["f680","\u9C1B",32,"\u89E5\u89EB\u89EF\u8A3E\u8B26\u9753\u96E9\u96F3\u96EF\u9706\u9701\u9708\u970F\u970E\u972A\u972D\u9730\u973E\u9F80\u9F83\u9F85",5,"\u9F8C\u9EFE\u9F0B\u9F0D\u96B9\u96BC\u96BD\u96CE\u96D2\u77BF\u96E0\u928E\u92AE\u92C8\u933E\u936A\u93CA\u938F\u943E\u946B\u9C7F\u9C82\u9C85\u9C86\u9C87\u9C88\u7A23\u9C8B\u9C8E\u9C90\u9C91\u9C92\u9C94\u9C95\u9C9A\u9C9B\u9C9E",5,"\u9CA5",4,"\u9CAB\u9CAD\u9CAE\u9CB0",7,"\u9CBA\u9CBB\u9CBC\u9CBD\u9CC4\u9CC5\u9CC6\u9CC7\u9CCA\u9CCB"],["f740","\u9C3C",62],["f780","\u9C7B\u9C7D\u9C7E\u9C80\u9C83\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE",4,"\u9CC8\u9CC9\u9CD1\u9CD2\u9CDA\u9CDB\u9CE0\u9CE1\u9CCC",4,"\u9CD3\u9CD4\u9CD5\u9CD7\u9CD8\u9CD9\u9CDC\u9CDD\u9CDF\u9CE2\u977C\u9785\u9791\u9792\u9794\u97AF\u97AB\u97A3\u97B2\u97B4\u9AB1\u9AB0\u9AB7\u9E58\u9AB6\u9ABA\u9ABC\u9AC1\u9AC0\u9AC5\u9AC2\u9ACB\u9ACC\u9AD1\u9B45\u9B43\u9B47\u9B49\u9B48\u9B4D\u9B51\u98E8\u990D\u992E\u9955\u9954\u9ADF\u9AE1\u9AE6\u9AEF\u9AEB\u9AFB\u9AED\u9AF9\u9B08\u9B0F\u9B13\u9B1F\u9B23\u9EBD\u9EBE\u7E3B\u9E82\u9E87\u9E88\u9E8B\u9E92\u93D6\u9E9D\u9E9F\u9EDB\u9EDC\u9EDD\u9EE0\u9EDF\u9EE2\u9EE9\u9EE7\u9EE5\u9EEA\u9EEF\u9F22\u9F2C\u9F2F\u9F39\u9F37\u9F3D\u9F3E\u9F44"],["f840","\u9CE3",62],["f880","\u9D22",32],["f940","\u9D43",62],["f980","\u9D82",32],["fa40","\u9DA3",62],["fa80","\u9DE2",32],["fb40","\u9E03",27,"\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E59\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6E\u9E6F\u9E72\u9E74",9,"\u9E80"],["fb80","\u9E81\u9E83\u9E84\u9E85\u9E86\u9E89\u9E8A\u9E8C",5,"\u9E94",8,"\u9E9E\u9EA0",5,"\u9EA7\u9EA8\u9EA9\u9EAA"],["fc40","\u9EAB",8,"\u9EB5\u9EB6\u9EB7\u9EB9\u9EBA\u9EBC\u9EBF",4,"\u9EC5\u9EC6\u9EC7\u9EC8\u9ECA\u9ECB\u9ECC\u9ED0\u9ED2\u9ED3\u9ED5\u9ED6\u9ED7\u9ED9\u9EDA\u9EDE\u9EE1\u9EE3\u9EE4\u9EE6\u9EE8\u9EEB\u9EEC\u9EED\u9EEE\u9EF0",8,"\u9EFA\u9EFD\u9EFF",6],["fc80","\u9F06",4,"\u9F0C\u9F0F\u9F11\u9F12\u9F14\u9F15\u9F16\u9F18\u9F1A",5,"\u9F21\u9F23",8,"\u9F2D\u9F2E\u9F30\u9F31"],["fd40","\u9F32",4,"\u9F38\u9F3A\u9F3C\u9F3F",4,"\u9F45",10,"\u9F52",38],["fd80","\u9F79",5,"\u9F81\u9F82\u9F8D",11,"\u9F9C\u9F9D\u9F9E\u9FA1",4,"\uF92C\uF979\uF995\uF9E7\uF9F1"],["fe40","\uFA0C\uFA0D\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA18\uFA1F\uFA20\uFA21\uFA23\uFA24\uFA27\uFA28\uFA29"]]});var pTe=S((Rms,qJr)=>{qJr.exports=[["a140","\uE4C6",62],["a180","\uE505",32],["a240","\uE526",62],["a280","\uE565",32],["a2ab","\uE766",5],["a2e3","\u20AC\uE76D"],["a2ef","\uE76E\uE76F"],["a2fd","\uE770\uE771"],["a340","\uE586",62],["a380","\uE5C5",31,"\u3000"],["a440","\uE5E6",62],["a480","\uE625",32],["a4f4","\uE772",10],["a540","\uE646",62],["a580","\uE685",32],["a5f7","\uE77D",7],["a640","\uE6A6",62],["a680","\uE6E5",32],["a6b9","\uE785",7],["a6d9","\uE78D",6],["a6ec","\uE794\uE795"],["a6f3","\uE796"],["a6f6","\uE797",8],["a740","\uE706",62],["a780","\uE745",32],["a7c2","\uE7A0",14],["a7f2","\uE7AF",12],["a896","\uE7BC",10],["a8bc","\u1E3F"],["a8bf","\u01F9"],["a8c1","\uE7C9\uE7CA\uE7CB\uE7CC"],["a8ea","\uE7CD",20],["a958","\uE7E2"],["a95b","\uE7E3"],["a95d","\uE7E4\uE7E5\uE7E6"],["a989","\u303E\u2FF0",11],["a997","\uE7F4",12],["a9f0","\uE801",14],["aaa1","\uE000",93],["aba1","\uE05E",93],["aca1","\uE0BC",93],["ada1","\uE11A",93],["aea1","\uE178",93],["afa1","\uE1D6",93],["d7fa","\uE810",4],["f8a1","\uE234",93],["f9a1","\uE292",93],["faa1","\uE2F0",93],["fba1","\uE34E",93],["fca1","\uE3AC",93],["fda1","\uE40A",93],["fe50","\u2E81\uE816\uE817\uE818\u2E84\u3473\u3447\u2E88\u2E8B\uE81E\u359E\u361A\u360E\u2E8C\u2E97\u396E\u3918\uE826\u39CF\u39DF\u3A73\u39D0\uE82B\uE82C\u3B4E\u3C6E\u3CE0\u2EA7\uE831\uE832\u2EAA\u4056\u415F\u2EAE\u4337\u2EB3\u2EB6\u2EB7\uE83B\u43B1\u43AC\u2EBB\u43DD\u44D6\u4661\u464C\uE843"],["fe80","\u4723\u4729\u477C\u478D\u2ECA\u4947\u497A\u497D\u4982\u4983\u4985\u4986\u499F\u499B\u49B7\u49B6\uE854\uE855\u4CA3\u4C9F\u4CA0\u4CA1\u4C77\u4CA2\u4D13",6,"\u4DAE\uE864\uE468",93],["8135f437","\uE7C7"]]});var oOt=S((Cms,HJr)=>{HJr.exports={uChars:[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],gbChars:[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189e3]}});var cOt=S((xms,VJr)=>{VJr.exports=[["0","\0",127],["8141","\uAC02\uAC03\uAC05\uAC06\uAC0B",4,"\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25",6,"\uAC2E\uAC32\uAC33\uAC34"],["8161","\uAC35\uAC36\uAC37\uAC3A\uAC3B\uAC3D\uAC3E\uAC3F\uAC41",9,"\uAC4C\uAC4E",5,"\uAC55"],["8181","\uAC56\uAC57\uAC59\uAC5A\uAC5B\uAC5D",18,"\uAC72\uAC73\uAC75\uAC76\uAC79\uAC7B",4,"\uAC82\uAC87\uAC88\uAC8D\uAC8E\uAC8F\uAC91\uAC92\uAC93\uAC95",6,"\uAC9E\uACA2",5,"\uACAB\uACAD\uACAE\uACB1",6,"\uACBA\uACBE\uACBF\uACC0\uACC2\uACC3\uACC5\uACC6\uACC7\uACC9\uACCA\uACCB\uACCD",7,"\uACD6\uACD8",7,"\uACE2\uACE3\uACE5\uACE6\uACE9\uACEB\uACED\uACEE\uACF2\uACF4\uACF7",4,"\uACFE\uACFF\uAD01\uAD02\uAD03\uAD05\uAD07",4,"\uAD0E\uAD10\uAD12\uAD13"],["8241","\uAD14\uAD15\uAD16\uAD17\uAD19\uAD1A\uAD1B\uAD1D\uAD1E\uAD1F\uAD21",7,"\uAD2A\uAD2B\uAD2E",5],["8261","\uAD36\uAD37\uAD39\uAD3A\uAD3B\uAD3D",6,"\uAD46\uAD48\uAD4A",5,"\uAD51\uAD52\uAD53\uAD55\uAD56\uAD57"],["8281","\uAD59",7,"\uAD62\uAD64",7,"\uAD6E\uAD6F\uAD71\uAD72\uAD77\uAD78\uAD79\uAD7A\uAD7E\uAD80\uAD83",4,"\uAD8A\uAD8B\uAD8D\uAD8E\uAD8F\uAD91",10,"\uAD9E",5,"\uADA5",17,"\uADB8",7,"\uADC2\uADC3\uADC5\uADC6\uADC7\uADC9",6,"\uADD2\uADD4",7,"\uADDD\uADDE\uADDF\uADE1\uADE2\uADE3\uADE5",18],["8341","\uADFA\uADFB\uADFD\uADFE\uAE02",5,"\uAE0A\uAE0C\uAE0E",5,"\uAE15",7],["8361","\uAE1D",18,"\uAE32\uAE33\uAE35\uAE36\uAE39\uAE3B\uAE3C"],["8381","\uAE3D\uAE3E\uAE3F\uAE42\uAE44\uAE47\uAE48\uAE49\uAE4B\uAE4F\uAE51\uAE52\uAE53\uAE55\uAE57",4,"\uAE5E\uAE62\uAE63\uAE64\uAE66\uAE67\uAE6A\uAE6B\uAE6D\uAE6E\uAE6F\uAE71",6,"\uAE7A\uAE7E",5,"\uAE86",5,"\uAE8D",46,"\uAEBF\uAEC1\uAEC2\uAEC3\uAEC5",6,"\uAECE\uAED2",5,"\uAEDA\uAEDB\uAEDD",8],["8441","\uAEE6\uAEE7\uAEE9\uAEEA\uAEEC\uAEEE",5,"\uAEF5\uAEF6\uAEF7\uAEF9\uAEFA\uAEFB\uAEFD",8],["8461","\uAF06\uAF09\uAF0A\uAF0B\uAF0C\uAF0E\uAF0F\uAF11",18],["8481","\uAF24",7,"\uAF2E\uAF2F\uAF31\uAF33\uAF35",6,"\uAF3E\uAF40\uAF44\uAF45\uAF46\uAF47\uAF4A",5,"\uAF51",10,"\uAF5E",5,"\uAF66",18,"\uAF7A",5,"\uAF81\uAF82\uAF83\uAF85\uAF86\uAF87\uAF89",6,"\uAF92\uAF93\uAF94\uAF96",5,"\uAF9D",26,"\uAFBA\uAFBB\uAFBD\uAFBE"],["8541","\uAFBF\uAFC1",5,"\uAFCA\uAFCC\uAFCF",4,"\uAFD5",6,"\uAFDD",4],["8561","\uAFE2",5,"\uAFEA",5,"\uAFF2\uAFF3\uAFF5\uAFF6\uAFF7\uAFF9",6,"\uB002\uB003"],["8581","\uB005",6,"\uB00D\uB00E\uB00F\uB011\uB012\uB013\uB015",6,"\uB01E",9,"\uB029",26,"\uB046\uB047\uB049\uB04B\uB04D\uB04F\uB050\uB051\uB052\uB056\uB058\uB05A\uB05B\uB05C\uB05E",29,"\uB07E\uB07F\uB081\uB082\uB083\uB085",6,"\uB08E\uB090\uB092",5,"\uB09B\uB09D\uB09E\uB0A3\uB0A4"],["8641","\uB0A5\uB0A6\uB0A7\uB0AA\uB0B0\uB0B2\uB0B6\uB0B7\uB0B9\uB0BA\uB0BB\uB0BD",6,"\uB0C6\uB0CA",5,"\uB0D2"],["8661","\uB0D3\uB0D5\uB0D6\uB0D7\uB0D9",6,"\uB0E1\uB0E2\uB0E3\uB0E4\uB0E6",10],["8681","\uB0F1",22,"\uB10A\uB10D\uB10E\uB10F\uB111\uB114\uB115\uB116\uB117\uB11A\uB11E",4,"\uB126\uB127\uB129\uB12A\uB12B\uB12D",6,"\uB136\uB13A",5,"\uB142\uB143\uB145\uB146\uB147\uB149",6,"\uB152\uB153\uB156\uB157\uB159\uB15A\uB15B\uB15D\uB15E\uB15F\uB161",22,"\uB17A\uB17B\uB17D\uB17E\uB17F\uB181\uB183",4,"\uB18A\uB18C\uB18E\uB18F\uB190\uB191\uB195\uB196\uB197\uB199\uB19A\uB19B\uB19D"],["8741","\uB19E",9,"\uB1A9",15],["8761","\uB1B9",18,"\uB1CD\uB1CE\uB1CF\uB1D1\uB1D2\uB1D3\uB1D5"],["8781","\uB1D6",5,"\uB1DE\uB1E0",7,"\uB1EA\uB1EB\uB1ED\uB1EE\uB1EF\uB1F1",7,"\uB1FA\uB1FC\uB1FE",5,"\uB206\uB207\uB209\uB20A\uB20D",6,"\uB216\uB218\uB21A",5,"\uB221",18,"\uB235",6,"\uB23D",26,"\uB259\uB25A\uB25B\uB25D\uB25E\uB25F\uB261",6,"\uB26A",4],["8841","\uB26F",4,"\uB276",5,"\uB27D",6,"\uB286\uB287\uB288\uB28A",4],["8861","\uB28F\uB292\uB293\uB295\uB296\uB297\uB29B",4,"\uB2A2\uB2A4\uB2A7\uB2A8\uB2A9\uB2AB\uB2AD\uB2AE\uB2AF\uB2B1\uB2B2\uB2B3\uB2B5\uB2B6\uB2B7"],["8881","\uB2B8",15,"\uB2CA\uB2CB\uB2CD\uB2CE\uB2CF\uB2D1\uB2D3",4,"\uB2DA\uB2DC\uB2DE\uB2DF\uB2E0\uB2E1\uB2E3\uB2E7\uB2E9\uB2EA\uB2F0\uB2F1\uB2F2\uB2F6\uB2FC\uB2FD\uB2FE\uB302\uB303\uB305\uB306\uB307\uB309",6,"\uB312\uB316",5,"\uB31D",54,"\uB357\uB359\uB35A\uB35D\uB360\uB361\uB362\uB363"],["8941","\uB366\uB368\uB36A\uB36C\uB36D\uB36F\uB372\uB373\uB375\uB376\uB377\uB379",6,"\uB382\uB386",5,"\uB38D"],["8961","\uB38E\uB38F\uB391\uB392\uB393\uB395",10,"\uB3A2",5,"\uB3A9\uB3AA\uB3AB\uB3AD"],["8981","\uB3AE",21,"\uB3C6\uB3C7\uB3C9\uB3CA\uB3CD\uB3CF\uB3D1\uB3D2\uB3D3\uB3D6\uB3D8\uB3DA\uB3DC\uB3DE\uB3DF\uB3E1\uB3E2\uB3E3\uB3E5\uB3E6\uB3E7\uB3E9",18,"\uB3FD",18,"\uB411",6,"\uB419\uB41A\uB41B\uB41D\uB41E\uB41F\uB421",6,"\uB42A\uB42C",7,"\uB435",15],["8a41","\uB445",10,"\uB452\uB453\uB455\uB456\uB457\uB459",6,"\uB462\uB464\uB466"],["8a61","\uB467",4,"\uB46D",18,"\uB481\uB482"],["8a81","\uB483",4,"\uB489",19,"\uB49E",5,"\uB4A5\uB4A6\uB4A7\uB4A9\uB4AA\uB4AB\uB4AD",7,"\uB4B6\uB4B8\uB4BA",5,"\uB4C1\uB4C2\uB4C3\uB4C5\uB4C6\uB4C7\uB4C9",6,"\uB4D1\uB4D2\uB4D3\uB4D4\uB4D6",5,"\uB4DE\uB4DF\uB4E1\uB4E2\uB4E5\uB4E7",4,"\uB4EE\uB4F0\uB4F2",5,"\uB4F9",26,"\uB516\uB517\uB519\uB51A\uB51D"],["8b41","\uB51E",5,"\uB526\uB52B",4,"\uB532\uB533\uB535\uB536\uB537\uB539",6,"\uB542\uB546"],["8b61","\uB547\uB548\uB549\uB54A\uB54E\uB54F\uB551\uB552\uB553\uB555",6,"\uB55E\uB562",8],["8b81","\uB56B",52,"\uB5A2\uB5A3\uB5A5\uB5A6\uB5A7\uB5A9\uB5AC\uB5AD\uB5AE\uB5AF\uB5B2\uB5B6",4,"\uB5BE\uB5BF\uB5C1\uB5C2\uB5C3\uB5C5",6,"\uB5CE\uB5D2",5,"\uB5D9",18,"\uB5ED",18],["8c41","\uB600",15,"\uB612\uB613\uB615\uB616\uB617\uB619",4],["8c61","\uB61E",6,"\uB626",5,"\uB62D",6,"\uB635",5],["8c81","\uB63B",12,"\uB649",26,"\uB665\uB666\uB667\uB669",50,"\uB69E\uB69F\uB6A1\uB6A2\uB6A3\uB6A5",5,"\uB6AD\uB6AE\uB6AF\uB6B0\uB6B2",16],["8d41","\uB6C3",16,"\uB6D5",8],["8d61","\uB6DE",17,"\uB6F1\uB6F2\uB6F3\uB6F5\uB6F6\uB6F7\uB6F9\uB6FA"],["8d81","\uB6FB",4,"\uB702\uB703\uB704\uB706",33,"\uB72A\uB72B\uB72D\uB72E\uB731",6,"\uB73A\uB73C",7,"\uB745\uB746\uB747\uB749\uB74A\uB74B\uB74D",6,"\uB756",9,"\uB761\uB762\uB763\uB765\uB766\uB767\uB769",6,"\uB772\uB774\uB776",5,"\uB77E\uB77F\uB781\uB782\uB783\uB785",6,"\uB78E\uB793\uB794\uB795\uB79A\uB79B\uB79D\uB79E"],["8e41","\uB79F\uB7A1",6,"\uB7AA\uB7AE",5,"\uB7B6\uB7B7\uB7B9",8],["8e61","\uB7C2",4,"\uB7C8\uB7CA",19],["8e81","\uB7DE",13,"\uB7EE\uB7EF\uB7F1\uB7F2\uB7F3\uB7F5",6,"\uB7FE\uB802",4,"\uB80A\uB80B\uB80D\uB80E\uB80F\uB811",6,"\uB81A\uB81C\uB81E",5,"\uB826\uB827\uB829\uB82A\uB82B\uB82D",6,"\uB836\uB83A",5,"\uB841\uB842\uB843\uB845",11,"\uB852\uB854",7,"\uB85E\uB85F\uB861\uB862\uB863\uB865",6,"\uB86E\uB870\uB872",5,"\uB879\uB87A\uB87B\uB87D",7],["8f41","\uB885",7,"\uB88E",17],["8f61","\uB8A0",7,"\uB8A9",6,"\uB8B1\uB8B2\uB8B3\uB8B5\uB8B6\uB8B7\uB8B9",4],["8f81","\uB8BE\uB8BF\uB8C2\uB8C4\uB8C6",5,"\uB8CD\uB8CE\uB8CF\uB8D1\uB8D2\uB8D3\uB8D5",7,"\uB8DE\uB8E0\uB8E2",5,"\uB8EA\uB8EB\uB8ED\uB8EE\uB8EF\uB8F1",6,"\uB8FA\uB8FC\uB8FE",5,"\uB905",18,"\uB919",6,"\uB921",26,"\uB93E\uB93F\uB941\uB942\uB943\uB945",6,"\uB94D\uB94E\uB950\uB952",5],["9041","\uB95A\uB95B\uB95D\uB95E\uB95F\uB961",6,"\uB96A\uB96C\uB96E",5,"\uB976\uB977\uB979\uB97A\uB97B\uB97D"],["9061","\uB97E",5,"\uB986\uB988\uB98B\uB98C\uB98F",15],["9081","\uB99F",12,"\uB9AE\uB9AF\uB9B1\uB9B2\uB9B3\uB9B5",6,"\uB9BE\uB9C0\uB9C2",5,"\uB9CA\uB9CB\uB9CD\uB9D3",4,"\uB9DA\uB9DC\uB9DF\uB9E0\uB9E2\uB9E6\uB9E7\uB9E9\uB9EA\uB9EB\uB9ED",6,"\uB9F6\uB9FB",4,"\uBA02",5,"\uBA09",11,"\uBA16",33,"\uBA3A\uBA3B\uBA3D\uBA3E\uBA3F\uBA41\uBA43\uBA44\uBA45\uBA46"],["9141","\uBA47\uBA4A\uBA4C\uBA4F\uBA50\uBA51\uBA52\uBA56\uBA57\uBA59\uBA5A\uBA5B\uBA5D",6,"\uBA66\uBA6A",5],["9161","\uBA72\uBA73\uBA75\uBA76\uBA77\uBA79",9,"\uBA86\uBA88\uBA89\uBA8A\uBA8B\uBA8D",5],["9181","\uBA93",20,"\uBAAA\uBAAD\uBAAE\uBAAF\uBAB1\uBAB3",4,"\uBABA\uBABC\uBABE",5,"\uBAC5\uBAC6\uBAC7\uBAC9",14,"\uBADA",33,"\uBAFD\uBAFE\uBAFF\uBB01\uBB02\uBB03\uBB05",7,"\uBB0E\uBB10\uBB12",5,"\uBB19\uBB1A\uBB1B\uBB1D\uBB1E\uBB1F\uBB21",6],["9241","\uBB28\uBB2A\uBB2C",7,"\uBB37\uBB39\uBB3A\uBB3F",4,"\uBB46\uBB48\uBB4A\uBB4B\uBB4C\uBB4E\uBB51\uBB52"],["9261","\uBB53\uBB55\uBB56\uBB57\uBB59",7,"\uBB62\uBB64",7,"\uBB6D",4],["9281","\uBB72",21,"\uBB89\uBB8A\uBB8B\uBB8D\uBB8E\uBB8F\uBB91",18,"\uBBA5\uBBA6\uBBA7\uBBA9\uBBAA\uBBAB\uBBAD",6,"\uBBB5\uBBB6\uBBB8",7,"\uBBC1\uBBC2\uBBC3\uBBC5\uBBC6\uBBC7\uBBC9",6,"\uBBD1\uBBD2\uBBD4",35,"\uBBFA\uBBFB\uBBFD\uBBFE\uBC01"],["9341","\uBC03",4,"\uBC0A\uBC0E\uBC10\uBC12\uBC13\uBC19\uBC1A\uBC20\uBC21\uBC22\uBC23\uBC26\uBC28\uBC2A\uBC2B\uBC2C\uBC2E\uBC2F\uBC32\uBC33\uBC35"],["9361","\uBC36\uBC37\uBC39",6,"\uBC42\uBC46\uBC47\uBC48\uBC4A\uBC4B\uBC4E\uBC4F\uBC51",8],["9381","\uBC5A\uBC5B\uBC5C\uBC5E",37,"\uBC86\uBC87\uBC89\uBC8A\uBC8D\uBC8F",4,"\uBC96\uBC98\uBC9B",4,"\uBCA2\uBCA3\uBCA5\uBCA6\uBCA9",6,"\uBCB2\uBCB6",5,"\uBCBE\uBCBF\uBCC1\uBCC2\uBCC3\uBCC5",7,"\uBCCE\uBCD2\uBCD3\uBCD4\uBCD6\uBCD7\uBCD9\uBCDA\uBCDB\uBCDD",22,"\uBCF7\uBCF9\uBCFA\uBCFB\uBCFD"],["9441","\uBCFE",5,"\uBD06\uBD08\uBD0A",5,"\uBD11\uBD12\uBD13\uBD15",8],["9461","\uBD1E",5,"\uBD25",6,"\uBD2D",12],["9481","\uBD3A",5,"\uBD41",6,"\uBD4A\uBD4B\uBD4D\uBD4E\uBD4F\uBD51",6,"\uBD5A",9,"\uBD65\uBD66\uBD67\uBD69",22,"\uBD82\uBD83\uBD85\uBD86\uBD8B",4,"\uBD92\uBD94\uBD96\uBD97\uBD98\uBD9B\uBD9D",6,"\uBDA5",10,"\uBDB1",6,"\uBDB9",24],["9541","\uBDD2\uBDD3\uBDD6\uBDD7\uBDD9\uBDDA\uBDDB\uBDDD",11,"\uBDEA",5,"\uBDF1"],["9561","\uBDF2\uBDF3\uBDF5\uBDF6\uBDF7\uBDF9",6,"\uBE01\uBE02\uBE04\uBE06",5,"\uBE0E\uBE0F\uBE11\uBE12\uBE13"],["9581","\uBE15",6,"\uBE1E\uBE20",35,"\uBE46\uBE47\uBE49\uBE4A\uBE4B\uBE4D\uBE4F",4,"\uBE56\uBE58\uBE5C\uBE5D\uBE5E\uBE5F\uBE62\uBE63\uBE65\uBE66\uBE67\uBE69\uBE6B",4,"\uBE72\uBE76",4,"\uBE7E\uBE7F\uBE81\uBE82\uBE83\uBE85",6,"\uBE8E\uBE92",5,"\uBE9A",13,"\uBEA9",14],["9641","\uBEB8",23,"\uBED2\uBED3"],["9661","\uBED5\uBED6\uBED9",6,"\uBEE1\uBEE2\uBEE6",5,"\uBEED",8],["9681","\uBEF6",10,"\uBF02",5,"\uBF0A",13,"\uBF1A\uBF1E",33,"\uBF42\uBF43\uBF45\uBF46\uBF47\uBF49",6,"\uBF52\uBF53\uBF54\uBF56",44],["9741","\uBF83",16,"\uBF95",8],["9761","\uBF9E",17,"\uBFB1",7],["9781","\uBFB9",11,"\uBFC6",5,"\uBFCE\uBFCF\uBFD1\uBFD2\uBFD3\uBFD5",6,"\uBFDD\uBFDE\uBFE0\uBFE2",89,"\uC03D\uC03E\uC03F"],["9841","\uC040",16,"\uC052",5,"\uC059\uC05A\uC05B"],["9861","\uC05D\uC05E\uC05F\uC061",6,"\uC06A",15],["9881","\uC07A",21,"\uC092\uC093\uC095\uC096\uC097\uC099",6,"\uC0A2\uC0A4\uC0A6",5,"\uC0AE\uC0B1\uC0B2\uC0B7",4,"\uC0BE\uC0C2\uC0C3\uC0C4\uC0C6\uC0C7\uC0CA\uC0CB\uC0CD\uC0CE\uC0CF\uC0D1",6,"\uC0DA\uC0DE",5,"\uC0E6\uC0E7\uC0E9\uC0EA\uC0EB\uC0ED",6,"\uC0F6\uC0F8\uC0FA",5,"\uC101\uC102\uC103\uC105\uC106\uC107\uC109",6,"\uC111\uC112\uC113\uC114\uC116",5,"\uC121\uC122\uC125\uC128\uC129\uC12A\uC12B\uC12E"],["9941","\uC132\uC133\uC134\uC135\uC137\uC13A\uC13B\uC13D\uC13E\uC13F\uC141",6,"\uC14A\uC14E",5,"\uC156\uC157"],["9961","\uC159\uC15A\uC15B\uC15D",6,"\uC166\uC16A",5,"\uC171\uC172\uC173\uC175\uC176\uC177\uC179\uC17A\uC17B"],["9981","\uC17C",8,"\uC186",5,"\uC18F\uC191\uC192\uC193\uC195\uC197",4,"\uC19E\uC1A0\uC1A2\uC1A3\uC1A4\uC1A6\uC1A7\uC1AA\uC1AB\uC1AD\uC1AE\uC1AF\uC1B1",11,"\uC1BE",5,"\uC1C5\uC1C6\uC1C7\uC1C9\uC1CA\uC1CB\uC1CD",6,"\uC1D5\uC1D6\uC1D9",6,"\uC1E1\uC1E2\uC1E3\uC1E5\uC1E6\uC1E7\uC1E9",6,"\uC1F2\uC1F4",7,"\uC1FE\uC1FF\uC201\uC202\uC203\uC205",6,"\uC20E\uC210\uC212",5,"\uC21A\uC21B\uC21D\uC21E\uC221\uC222\uC223"],["9a41","\uC224\uC225\uC226\uC227\uC22A\uC22C\uC22E\uC230\uC233\uC235",16],["9a61","\uC246\uC247\uC249",6,"\uC252\uC253\uC255\uC256\uC257\uC259",6,"\uC261\uC262\uC263\uC264\uC266"],["9a81","\uC267",4,"\uC26E\uC26F\uC271\uC272\uC273\uC275",6,"\uC27E\uC280\uC282",5,"\uC28A",5,"\uC291",6,"\uC299\uC29A\uC29C\uC29E",5,"\uC2A6\uC2A7\uC2A9\uC2AA\uC2AB\uC2AE",5,"\uC2B6\uC2B8\uC2BA",33,"\uC2DE\uC2DF\uC2E1\uC2E2\uC2E5",5,"\uC2EE\uC2F0\uC2F2\uC2F3\uC2F4\uC2F5\uC2F7\uC2FA\uC2FD\uC2FE\uC2FF\uC301",6,"\uC30A\uC30B\uC30E\uC30F"],["9b41","\uC310\uC311\uC312\uC316\uC317\uC319\uC31A\uC31B\uC31D",6,"\uC326\uC327\uC32A",8],["9b61","\uC333",17,"\uC346",7],["9b81","\uC34E",25,"\uC36A\uC36B\uC36D\uC36E\uC36F\uC371\uC373",4,"\uC37A\uC37B\uC37E",5,"\uC385\uC386\uC387\uC389\uC38A\uC38B\uC38D",50,"\uC3C1",22,"\uC3DA"],["9c41","\uC3DB\uC3DD\uC3DE\uC3E1\uC3E3",4,"\uC3EA\uC3EB\uC3EC\uC3EE",5,"\uC3F6\uC3F7\uC3F9",5],["9c61","\uC3FF",8,"\uC409",6,"\uC411",9],["9c81","\uC41B",8,"\uC425",6,"\uC42D\uC42E\uC42F\uC431\uC432\uC433\uC435",6,"\uC43E",9,"\uC449",26,"\uC466\uC467\uC469\uC46A\uC46B\uC46D",6,"\uC476\uC477\uC478\uC47A",5,"\uC481",18,"\uC495",6,"\uC49D",12],["9d41","\uC4AA",13,"\uC4B9\uC4BA\uC4BB\uC4BD",8],["9d61","\uC4C6",25],["9d81","\uC4E0",8,"\uC4EA",5,"\uC4F2\uC4F3\uC4F5\uC4F6\uC4F7\uC4F9\uC4FB\uC4FC\uC4FD\uC4FE\uC502",9,"\uC50D\uC50E\uC50F\uC511\uC512\uC513\uC515",6,"\uC51D",10,"\uC52A\uC52B\uC52D\uC52E\uC52F\uC531",6,"\uC53A\uC53C\uC53E",5,"\uC546\uC547\uC54B\uC54F\uC550\uC551\uC552\uC556\uC55A\uC55B\uC55C\uC55F\uC562\uC563\uC565\uC566\uC567\uC569",6,"\uC572\uC576",5,"\uC57E\uC57F\uC581\uC582\uC583\uC585\uC586\uC588\uC589\uC58A\uC58B\uC58E\uC590\uC592\uC593\uC594"],["9e41","\uC596\uC599\uC59A\uC59B\uC59D\uC59E\uC59F\uC5A1",7,"\uC5AA",9,"\uC5B6"],["9e61","\uC5B7\uC5BA\uC5BF",4,"\uC5CB\uC5CD\uC5CF\uC5D2\uC5D3\uC5D5\uC5D6\uC5D7\uC5D9",6,"\uC5E2\uC5E4\uC5E6\uC5E7"],["9e81","\uC5E8\uC5E9\uC5EA\uC5EB\uC5EF\uC5F1\uC5F2\uC5F3\uC5F5\uC5F8\uC5F9\uC5FA\uC5FB\uC602\uC603\uC604\uC609\uC60A\uC60B\uC60D\uC60E\uC60F\uC611",6,"\uC61A\uC61D",6,"\uC626\uC627\uC629\uC62A\uC62B\uC62F\uC631\uC632\uC636\uC638\uC63A\uC63C\uC63D\uC63E\uC63F\uC642\uC643\uC645\uC646\uC647\uC649",6,"\uC652\uC656",5,"\uC65E\uC65F\uC661",10,"\uC66D\uC66E\uC670\uC672",5,"\uC67A\uC67B\uC67D\uC67E\uC67F\uC681",6,"\uC68A\uC68C\uC68E",5,"\uC696\uC697\uC699\uC69A\uC69B\uC69D",6,"\uC6A6"],["9f41","\uC6A8\uC6AA",5,"\uC6B2\uC6B3\uC6B5\uC6B6\uC6B7\uC6BB",4,"\uC6C2\uC6C4\uC6C6",5,"\uC6CE"],["9f61","\uC6CF\uC6D1\uC6D2\uC6D3\uC6D5",6,"\uC6DE\uC6DF\uC6E2",5,"\uC6EA\uC6EB\uC6ED\uC6EE\uC6EF\uC6F1\uC6F2"],["9f81","\uC6F3",4,"\uC6FA\uC6FB\uC6FC\uC6FE",5,"\uC706\uC707\uC709\uC70A\uC70B\uC70D",6,"\uC716\uC718\uC71A",5,"\uC722\uC723\uC725\uC726\uC727\uC729",6,"\uC732\uC734\uC736\uC738\uC739\uC73A\uC73B\uC73E\uC73F\uC741\uC742\uC743\uC745",4,"\uC74B\uC74E\uC750\uC759\uC75A\uC75B\uC75D\uC75E\uC75F\uC761",6,"\uC769\uC76A\uC76C",7,"\uC776\uC777\uC779\uC77A\uC77B\uC77F\uC780\uC781\uC782\uC786\uC78B\uC78C\uC78D\uC78F\uC792\uC793\uC795\uC799\uC79B",4,"\uC7A2\uC7A7",4,"\uC7AE\uC7AF\uC7B1\uC7B2\uC7B3\uC7B5\uC7B6\uC7B7"],["a041","\uC7B8\uC7B9\uC7BA\uC7BB\uC7BE\uC7C2",5,"\uC7CA\uC7CB\uC7CD\uC7CF\uC7D1",6,"\uC7D9\uC7DA\uC7DB\uC7DC"],["a061","\uC7DE",5,"\uC7E5\uC7E6\uC7E7\uC7E9\uC7EA\uC7EB\uC7ED",13],["a081","\uC7FB",4,"\uC802\uC803\uC805\uC806\uC807\uC809\uC80B",4,"\uC812\uC814\uC817",4,"\uC81E\uC81F\uC821\uC822\uC823\uC825",6,"\uC82E\uC830\uC832",5,"\uC839\uC83A\uC83B\uC83D\uC83E\uC83F\uC841",6,"\uC84A\uC84B\uC84E",5,"\uC855",26,"\uC872\uC873\uC875\uC876\uC877\uC879\uC87B",4,"\uC882\uC884\uC888\uC889\uC88A\uC88E",5,"\uC895",7,"\uC89E\uC8A0\uC8A2\uC8A3\uC8A4"],["a141","\uC8A5\uC8A6\uC8A7\uC8A9",18,"\uC8BE\uC8BF\uC8C0\uC8C1"],["a161","\uC8C2\uC8C3\uC8C5\uC8C6\uC8C7\uC8C9\uC8CA\uC8CB\uC8CD",6,"\uC8D6\uC8D8\uC8DA",5,"\uC8E2\uC8E3\uC8E5"],["a181","\uC8E6",14,"\uC8F6",5,"\uC8FE\uC8FF\uC901\uC902\uC903\uC907",4,"\uC90E\u3000\u3001\u3002\xB7\u2025\u2026\xA8\u3003\xAD\u2015\u2225\uFF3C\u223C\u2018\u2019\u201C\u201D\u3014\u3015\u3008",9,"\xB1\xD7\xF7\u2260\u2264\u2265\u221E\u2234\xB0\u2032\u2033\u2103\u212B\uFFE0\uFFE1\uFFE5\u2642\u2640\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\xA7\u203B\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u2192\u2190\u2191\u2193\u2194\u3013\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229\u2227\u2228\uFFE2"],["a241","\uC910\uC912",5,"\uC919",18],["a261","\uC92D",6,"\uC935",18],["a281","\uC948",7,"\uC952\uC953\uC955\uC956\uC957\uC959",6,"\uC962\uC964",7,"\uC96D\uC96E\uC96F\u21D2\u21D4\u2200\u2203\xB4\uFF5E\u02C7\u02D8\u02DD\u02DA\u02D9\xB8\u02DB\xA1\xBF\u02D0\u222E\u2211\u220F\xA4\u2109\u2030\u25C1\u25C0\u25B7\u25B6\u2664\u2660\u2661\u2665\u2667\u2663\u2299\u25C8\u25A3\u25D0\u25D1\u2592\u25A4\u25A5\u25A8\u25A7\u25A6\u25A9\u2668\u260F\u260E\u261C\u261E\xB6\u2020\u2021\u2195\u2197\u2199\u2196\u2198\u266D\u2669\u266A\u266C\u327F\u321C\u2116\u33C7\u2122\u33C2\u33D8\u2121\u20AC\xAE"],["a341","\uC971\uC972\uC973\uC975",6,"\uC97D",10,"\uC98A\uC98B\uC98D\uC98E\uC98F"],["a361","\uC991",6,"\uC99A\uC99C\uC99E",16],["a381","\uC9AF",16,"\uC9C2\uC9C3\uC9C5\uC9C6\uC9C9\uC9CB",4,"\uC9D2\uC9D4\uC9D7\uC9D8\uC9DB\uFF01",58,"\uFFE6\uFF3D",32,"\uFFE3"],["a441","\uC9DE\uC9DF\uC9E1\uC9E3\uC9E5\uC9E6\uC9E8\uC9E9\uC9EA\uC9EB\uC9EE\uC9F2",5,"\uC9FA\uC9FB\uC9FD\uC9FE\uC9FF\uCA01\uCA02\uCA03\uCA04"],["a461","\uCA05\uCA06\uCA07\uCA0A\uCA0E",5,"\uCA15\uCA16\uCA17\uCA19",12],["a481","\uCA26\uCA27\uCA28\uCA2A",28,"\u3131",93],["a541","\uCA47",4,"\uCA4E\uCA4F\uCA51\uCA52\uCA53\uCA55",6,"\uCA5E\uCA62",5,"\uCA69\uCA6A"],["a561","\uCA6B",17,"\uCA7E",5,"\uCA85\uCA86"],["a581","\uCA87",16,"\uCA99",14,"\u2170",9],["a5b0","\u2160",9],["a5c1","\u0391",16,"\u03A3",6],["a5e1","\u03B1",16,"\u03C3",6],["a641","\uCAA8",19,"\uCABE\uCABF\uCAC1\uCAC2\uCAC3\uCAC5"],["a661","\uCAC6",5,"\uCACE\uCAD0\uCAD2\uCAD4\uCAD5\uCAD6\uCAD7\uCADA",5,"\uCAE1",6],["a681","\uCAE8\uCAE9\uCAEA\uCAEB\uCAED",6,"\uCAF5",18,"\uCB09\uCB0A\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542\u2512\u2511\u251A\u2519\u2516\u2515\u250E\u250D\u251E\u251F\u2521\u2522\u2526\u2527\u2529\u252A\u252D\u252E\u2531\u2532\u2535\u2536\u2539\u253A\u253D\u253E\u2540\u2541\u2543",7],["a741","\uCB0B",4,"\uCB11\uCB12\uCB13\uCB15\uCB16\uCB17\uCB19",6,"\uCB22",7],["a761","\uCB2A",22,"\uCB42\uCB43\uCB44"],["a781","\uCB45\uCB46\uCB47\uCB4A\uCB4B\uCB4D\uCB4E\uCB4F\uCB51",6,"\uCB5A\uCB5B\uCB5C\uCB5E",5,"\uCB65",7,"\u3395\u3396\u3397\u2113\u3398\u33C4\u33A3\u33A4\u33A5\u33A6\u3399",9,"\u33CA\u338D\u338E\u338F\u33CF\u3388\u3389\u33C8\u33A7\u33A8\u33B0",9,"\u3380",4,"\u33BA",5,"\u3390",4,"\u2126\u33C0\u33C1\u338A\u338B\u338C\u33D6\u33C5\u33AD\u33AE\u33AF\u33DB\u33A9\u33AA\u33AB\u33AC\u33DD\u33D0\u33D3\u33C3\u33C9\u33DC\u33C6"],["a841","\uCB6D",10,"\uCB7A",14],["a861","\uCB89",18,"\uCB9D",6],["a881","\uCBA4",19,"\uCBB9",11,"\xC6\xD0\xAA\u0126"],["a8a6","\u0132"],["a8a8","\u013F\u0141\xD8\u0152\xBA\xDE\u0166\u014A"],["a8b1","\u3260",27,"\u24D0",25,"\u2460",14,"\xBD\u2153\u2154\xBC\xBE\u215B\u215C\u215D\u215E"],["a941","\uCBC5",14,"\uCBD5",10],["a961","\uCBE0\uCBE1\uCBE2\uCBE3\uCBE5\uCBE6\uCBE8\uCBEA",18],["a981","\uCBFD",14,"\uCC0E\uCC0F\uCC11\uCC12\uCC13\uCC15",6,"\uCC1E\uCC1F\uCC20\uCC23\uCC24\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0140\u0142\xF8\u0153\xDF\xFE\u0167\u014B\u0149\u3200",27,"\u249C",25,"\u2474",14,"\xB9\xB2\xB3\u2074\u207F\u2081\u2082\u2083\u2084"],["aa41","\uCC25\uCC26\uCC2A\uCC2B\uCC2D\uCC2F\uCC31",6,"\uCC3A\uCC3F",4,"\uCC46\uCC47\uCC49\uCC4A\uCC4B\uCC4D\uCC4E"],["aa61","\uCC4F",4,"\uCC56\uCC5A",5,"\uCC61\uCC62\uCC63\uCC65\uCC67\uCC69",6,"\uCC71\uCC72"],["aa81","\uCC73\uCC74\uCC76",29,"\u3041",82],["ab41","\uCC94\uCC95\uCC96\uCC97\uCC9A\uCC9B\uCC9D\uCC9E\uCC9F\uCCA1",6,"\uCCAA\uCCAE",5,"\uCCB6\uCCB7\uCCB9"],["ab61","\uCCBA\uCCBB\uCCBD",6,"\uCCC6\uCCC8\uCCCA",5,"\uCCD1\uCCD2\uCCD3\uCCD5",5],["ab81","\uCCDB",8,"\uCCE5",6,"\uCCED\uCCEE\uCCEF\uCCF1",12,"\u30A1",85],["ac41","\uCCFE\uCCFF\uCD00\uCD02",5,"\uCD0A\uCD0B\uCD0D\uCD0E\uCD0F\uCD11",6,"\uCD1A\uCD1C\uCD1E\uCD1F\uCD20"],["ac61","\uCD21\uCD22\uCD23\uCD25\uCD26\uCD27\uCD29\uCD2A\uCD2B\uCD2D",11,"\uCD3A",4],["ac81","\uCD3F",28,"\uCD5D\uCD5E\uCD5F\u0410",5,"\u0401\u0416",25],["acd1","\u0430",5,"\u0451\u0436",25],["ad41","\uCD61\uCD62\uCD63\uCD65",6,"\uCD6E\uCD70\uCD72",5,"\uCD79",7],["ad61","\uCD81",6,"\uCD89",10,"\uCD96\uCD97\uCD99\uCD9A\uCD9B\uCD9D\uCD9E\uCD9F"],["ad81","\uCDA0\uCDA1\uCDA2\uCDA3\uCDA6\uCDA8\uCDAA",5,"\uCDB1",18,"\uCDC5"],["ae41","\uCDC6",5,"\uCDCD\uCDCE\uCDCF\uCDD1",16],["ae61","\uCDE2",5,"\uCDE9\uCDEA\uCDEB\uCDED\uCDEE\uCDEF\uCDF1",6,"\uCDFA\uCDFC\uCDFE",4],["ae81","\uCE03\uCE05\uCE06\uCE07\uCE09\uCE0A\uCE0B\uCE0D",6,"\uCE15\uCE16\uCE17\uCE18\uCE1A",5,"\uCE22\uCE23\uCE25\uCE26\uCE27\uCE29\uCE2A\uCE2B"],["af41","\uCE2C\uCE2D\uCE2E\uCE2F\uCE32\uCE34\uCE36",19],["af61","\uCE4A",13,"\uCE5A\uCE5B\uCE5D\uCE5E\uCE62",5,"\uCE6A\uCE6C"],["af81","\uCE6E",5,"\uCE76\uCE77\uCE79\uCE7A\uCE7B\uCE7D",6,"\uCE86\uCE88\uCE8A",5,"\uCE92\uCE93\uCE95\uCE96\uCE97\uCE99"],["b041","\uCE9A",5,"\uCEA2\uCEA6",5,"\uCEAE",12],["b061","\uCEBB",5,"\uCEC2",19],["b081","\uCED6",13,"\uCEE6\uCEE7\uCEE9\uCEEA\uCEED",6,"\uCEF6\uCEFA",5,"\uAC00\uAC01\uAC04\uAC07\uAC08\uAC09\uAC0A\uAC10",7,"\uAC19",4,"\uAC20\uAC24\uAC2C\uAC2D\uAC2F\uAC30\uAC31\uAC38\uAC39\uAC3C\uAC40\uAC4B\uAC4D\uAC54\uAC58\uAC5C\uAC70\uAC71\uAC74\uAC77\uAC78\uAC7A\uAC80\uAC81\uAC83\uAC84\uAC85\uAC86\uAC89\uAC8A\uAC8B\uAC8C\uAC90\uAC94\uAC9C\uAC9D\uAC9F\uACA0\uACA1\uACA8\uACA9\uACAA\uACAC\uACAF\uACB0\uACB8\uACB9\uACBB\uACBC\uACBD\uACC1\uACC4\uACC8\uACCC\uACD5\uACD7\uACE0\uACE1\uACE4\uACE7\uACE8\uACEA\uACEC\uACEF\uACF0\uACF1\uACF3\uACF5\uACF6\uACFC\uACFD\uAD00\uAD04\uAD06"],["b141","\uCF02\uCF03\uCF05\uCF06\uCF07\uCF09",6,"\uCF12\uCF14\uCF16",5,"\uCF1D\uCF1E\uCF1F\uCF21\uCF22\uCF23"],["b161","\uCF25",6,"\uCF2E\uCF32",5,"\uCF39",11],["b181","\uCF45",14,"\uCF56\uCF57\uCF59\uCF5A\uCF5B\uCF5D",6,"\uCF66\uCF68\uCF6A\uCF6B\uCF6C\uAD0C\uAD0D\uAD0F\uAD11\uAD18\uAD1C\uAD20\uAD29\uAD2C\uAD2D\uAD34\uAD35\uAD38\uAD3C\uAD44\uAD45\uAD47\uAD49\uAD50\uAD54\uAD58\uAD61\uAD63\uAD6C\uAD6D\uAD70\uAD73\uAD74\uAD75\uAD76\uAD7B\uAD7C\uAD7D\uAD7F\uAD81\uAD82\uAD88\uAD89\uAD8C\uAD90\uAD9C\uAD9D\uADA4\uADB7\uADC0\uADC1\uADC4\uADC8\uADD0\uADD1\uADD3\uADDC\uADE0\uADE4\uADF8\uADF9\uADFC\uADFF\uAE00\uAE01\uAE08\uAE09\uAE0B\uAE0D\uAE14\uAE30\uAE31\uAE34\uAE37\uAE38\uAE3A\uAE40\uAE41\uAE43\uAE45\uAE46\uAE4A\uAE4C\uAE4D\uAE4E\uAE50\uAE54\uAE56\uAE5C\uAE5D\uAE5F\uAE60\uAE61\uAE65\uAE68\uAE69\uAE6C\uAE70\uAE78"],["b241","\uCF6D\uCF6E\uCF6F\uCF72\uCF73\uCF75\uCF76\uCF77\uCF79",6,"\uCF81\uCF82\uCF83\uCF84\uCF86",5,"\uCF8D"],["b261","\uCF8E",18,"\uCFA2",5,"\uCFA9"],["b281","\uCFAA",5,"\uCFB1",18,"\uCFC5",6,"\uAE79\uAE7B\uAE7C\uAE7D\uAE84\uAE85\uAE8C\uAEBC\uAEBD\uAEBE\uAEC0\uAEC4\uAECC\uAECD\uAECF\uAED0\uAED1\uAED8\uAED9\uAEDC\uAEE8\uAEEB\uAEED\uAEF4\uAEF8\uAEFC\uAF07\uAF08\uAF0D\uAF10\uAF2C\uAF2D\uAF30\uAF32\uAF34\uAF3C\uAF3D\uAF3F\uAF41\uAF42\uAF43\uAF48\uAF49\uAF50\uAF5C\uAF5D\uAF64\uAF65\uAF79\uAF80\uAF84\uAF88\uAF90\uAF91\uAF95\uAF9C\uAFB8\uAFB9\uAFBC\uAFC0\uAFC7\uAFC8\uAFC9\uAFCB\uAFCD\uAFCE\uAFD4\uAFDC\uAFE8\uAFE9\uAFF0\uAFF1\uAFF4\uAFF8\uB000\uB001\uB004\uB00C\uB010\uB014\uB01C\uB01D\uB028\uB044\uB045\uB048\uB04A\uB04C\uB04E\uB053\uB054\uB055\uB057\uB059"],["b341","\uCFCC",19,"\uCFE2\uCFE3\uCFE5\uCFE6\uCFE7\uCFE9"],["b361","\uCFEA",5,"\uCFF2\uCFF4\uCFF6",5,"\uCFFD\uCFFE\uCFFF\uD001\uD002\uD003\uD005",5],["b381","\uD00B",5,"\uD012",5,"\uD019",19,"\uB05D\uB07C\uB07D\uB080\uB084\uB08C\uB08D\uB08F\uB091\uB098\uB099\uB09A\uB09C\uB09F\uB0A0\uB0A1\uB0A2\uB0A8\uB0A9\uB0AB",4,"\uB0B1\uB0B3\uB0B4\uB0B5\uB0B8\uB0BC\uB0C4\uB0C5\uB0C7\uB0C8\uB0C9\uB0D0\uB0D1\uB0D4\uB0D8\uB0E0\uB0E5\uB108\uB109\uB10B\uB10C\uB110\uB112\uB113\uB118\uB119\uB11B\uB11C\uB11D\uB123\uB124\uB125\uB128\uB12C\uB134\uB135\uB137\uB138\uB139\uB140\uB141\uB144\uB148\uB150\uB151\uB154\uB155\uB158\uB15C\uB160\uB178\uB179\uB17C\uB180\uB182\uB188\uB189\uB18B\uB18D\uB192\uB193\uB194\uB198\uB19C\uB1A8\uB1CC\uB1D0\uB1D4\uB1DC\uB1DD"],["b441","\uD02E",5,"\uD036\uD037\uD039\uD03A\uD03B\uD03D",6,"\uD046\uD048\uD04A",5],["b461","\uD051\uD052\uD053\uD055\uD056\uD057\uD059",6,"\uD061",10,"\uD06E\uD06F"],["b481","\uD071\uD072\uD073\uD075",6,"\uD07E\uD07F\uD080\uD082",18,"\uB1DF\uB1E8\uB1E9\uB1EC\uB1F0\uB1F9\uB1FB\uB1FD\uB204\uB205\uB208\uB20B\uB20C\uB214\uB215\uB217\uB219\uB220\uB234\uB23C\uB258\uB25C\uB260\uB268\uB269\uB274\uB275\uB27C\uB284\uB285\uB289\uB290\uB291\uB294\uB298\uB299\uB29A\uB2A0\uB2A1\uB2A3\uB2A5\uB2A6\uB2AA\uB2AC\uB2B0\uB2B4\uB2C8\uB2C9\uB2CC\uB2D0\uB2D2\uB2D8\uB2D9\uB2DB\uB2DD\uB2E2\uB2E4\uB2E5\uB2E6\uB2E8\uB2EB",4,"\uB2F3\uB2F4\uB2F5\uB2F7",4,"\uB2FF\uB300\uB301\uB304\uB308\uB310\uB311\uB313\uB314\uB315\uB31C\uB354\uB355\uB356\uB358\uB35B\uB35C\uB35E\uB35F\uB364\uB365"],["b541","\uD095",14,"\uD0A6\uD0A7\uD0A9\uD0AA\uD0AB\uD0AD",5],["b561","\uD0B3\uD0B6\uD0B8\uD0BA",5,"\uD0C2\uD0C3\uD0C5\uD0C6\uD0C7\uD0CA",5,"\uD0D2\uD0D6",4],["b581","\uD0DB\uD0DE\uD0DF\uD0E1\uD0E2\uD0E3\uD0E5",6,"\uD0EE\uD0F2",5,"\uD0F9",11,"\uB367\uB369\uB36B\uB36E\uB370\uB371\uB374\uB378\uB380\uB381\uB383\uB384\uB385\uB38C\uB390\uB394\uB3A0\uB3A1\uB3A8\uB3AC\uB3C4\uB3C5\uB3C8\uB3CB\uB3CC\uB3CE\uB3D0\uB3D4\uB3D5\uB3D7\uB3D9\uB3DB\uB3DD\uB3E0\uB3E4\uB3E8\uB3FC\uB410\uB418\uB41C\uB420\uB428\uB429\uB42B\uB434\uB450\uB451\uB454\uB458\uB460\uB461\uB463\uB465\uB46C\uB480\uB488\uB49D\uB4A4\uB4A8\uB4AC\uB4B5\uB4B7\uB4B9\uB4C0\uB4C4\uB4C8\uB4D0\uB4D5\uB4DC\uB4DD\uB4E0\uB4E3\uB4E4\uB4E6\uB4EC\uB4ED\uB4EF\uB4F1\uB4F8\uB514\uB515\uB518\uB51B\uB51C\uB524\uB525\uB527\uB528\uB529\uB52A\uB530\uB531\uB534\uB538"],["b641","\uD105",7,"\uD10E",17],["b661","\uD120",15,"\uD132\uD133\uD135\uD136\uD137\uD139\uD13B\uD13C\uD13D\uD13E"],["b681","\uD13F\uD142\uD146",5,"\uD14E\uD14F\uD151\uD152\uD153\uD155",6,"\uD15E\uD160\uD162",5,"\uD169\uD16A\uD16B\uD16D\uB540\uB541\uB543\uB544\uB545\uB54B\uB54C\uB54D\uB550\uB554\uB55C\uB55D\uB55F\uB560\uB561\uB5A0\uB5A1\uB5A4\uB5A8\uB5AA\uB5AB\uB5B0\uB5B1\uB5B3\uB5B4\uB5B5\uB5BB\uB5BC\uB5BD\uB5C0\uB5C4\uB5CC\uB5CD\uB5CF\uB5D0\uB5D1\uB5D8\uB5EC\uB610\uB611\uB614\uB618\uB625\uB62C\uB634\uB648\uB664\uB668\uB69C\uB69D\uB6A0\uB6A4\uB6AB\uB6AC\uB6B1\uB6D4\uB6F0\uB6F4\uB6F8\uB700\uB701\uB705\uB728\uB729\uB72C\uB72F\uB730\uB738\uB739\uB73B\uB744\uB748\uB74C\uB754\uB755\uB760\uB764\uB768\uB770\uB771\uB773\uB775\uB77C\uB77D\uB780\uB784\uB78C\uB78D\uB78F\uB790\uB791\uB792\uB796\uB797"],["b741","\uD16E",13,"\uD17D",6,"\uD185\uD186\uD187\uD189\uD18A"],["b761","\uD18B",20,"\uD1A2\uD1A3\uD1A5\uD1A6\uD1A7"],["b781","\uD1A9",6,"\uD1B2\uD1B4\uD1B6\uD1B7\uD1B8\uD1B9\uD1BB\uD1BD\uD1BE\uD1BF\uD1C1",14,"\uB798\uB799\uB79C\uB7A0\uB7A8\uB7A9\uB7AB\uB7AC\uB7AD\uB7B4\uB7B5\uB7B8\uB7C7\uB7C9\uB7EC\uB7ED\uB7F0\uB7F4\uB7FC\uB7FD\uB7FF\uB800\uB801\uB807\uB808\uB809\uB80C\uB810\uB818\uB819\uB81B\uB81D\uB824\uB825\uB828\uB82C\uB834\uB835\uB837\uB838\uB839\uB840\uB844\uB851\uB853\uB85C\uB85D\uB860\uB864\uB86C\uB86D\uB86F\uB871\uB878\uB87C\uB88D\uB8A8\uB8B0\uB8B4\uB8B8\uB8C0\uB8C1\uB8C3\uB8C5\uB8CC\uB8D0\uB8D4\uB8DD\uB8DF\uB8E1\uB8E8\uB8E9\uB8EC\uB8F0\uB8F8\uB8F9\uB8FB\uB8FD\uB904\uB918\uB920\uB93C\uB93D\uB940\uB944\uB94C\uB94F\uB951\uB958\uB959\uB95C\uB960\uB968\uB969"],["b841","\uD1D0",7,"\uD1D9",17],["b861","\uD1EB",8,"\uD1F5\uD1F6\uD1F7\uD1F9",13],["b881","\uD208\uD20A",5,"\uD211",24,"\uB96B\uB96D\uB974\uB975\uB978\uB97C\uB984\uB985\uB987\uB989\uB98A\uB98D\uB98E\uB9AC\uB9AD\uB9B0\uB9B4\uB9BC\uB9BD\uB9BF\uB9C1\uB9C8\uB9C9\uB9CC\uB9CE",4,"\uB9D8\uB9D9\uB9DB\uB9DD\uB9DE\uB9E1\uB9E3\uB9E4\uB9E5\uB9E8\uB9EC\uB9F4\uB9F5\uB9F7\uB9F8\uB9F9\uB9FA\uBA00\uBA01\uBA08\uBA15\uBA38\uBA39\uBA3C\uBA40\uBA42\uBA48\uBA49\uBA4B\uBA4D\uBA4E\uBA53\uBA54\uBA55\uBA58\uBA5C\uBA64\uBA65\uBA67\uBA68\uBA69\uBA70\uBA71\uBA74\uBA78\uBA83\uBA84\uBA85\uBA87\uBA8C\uBAA8\uBAA9\uBAAB\uBAAC\uBAB0\uBAB2\uBAB8\uBAB9\uBABB\uBABD\uBAC4\uBAC8\uBAD8\uBAD9\uBAFC"],["b941","\uD22A\uD22B\uD22E\uD22F\uD231\uD232\uD233\uD235",6,"\uD23E\uD240\uD242",5,"\uD249\uD24A\uD24B\uD24C"],["b961","\uD24D",14,"\uD25D",6,"\uD265\uD266\uD267\uD268"],["b981","\uD269",22,"\uD282\uD283\uD285\uD286\uD287\uD289\uD28A\uD28B\uD28C\uBB00\uBB04\uBB0D\uBB0F\uBB11\uBB18\uBB1C\uBB20\uBB29\uBB2B\uBB34\uBB35\uBB36\uBB38\uBB3B\uBB3C\uBB3D\uBB3E\uBB44\uBB45\uBB47\uBB49\uBB4D\uBB4F\uBB50\uBB54\uBB58\uBB61\uBB63\uBB6C\uBB88\uBB8C\uBB90\uBBA4\uBBA8\uBBAC\uBBB4\uBBB7\uBBC0\uBBC4\uBBC8\uBBD0\uBBD3\uBBF8\uBBF9\uBBFC\uBBFF\uBC00\uBC02\uBC08\uBC09\uBC0B\uBC0C\uBC0D\uBC0F\uBC11\uBC14",4,"\uBC1B",4,"\uBC24\uBC25\uBC27\uBC29\uBC2D\uBC30\uBC31\uBC34\uBC38\uBC40\uBC41\uBC43\uBC44\uBC45\uBC49\uBC4C\uBC4D\uBC50\uBC5D\uBC84\uBC85\uBC88\uBC8B\uBC8C\uBC8E\uBC94\uBC95\uBC97"],["ba41","\uD28D\uD28E\uD28F\uD292\uD293\uD294\uD296",5,"\uD29D\uD29E\uD29F\uD2A1\uD2A2\uD2A3\uD2A5",6,"\uD2AD"],["ba61","\uD2AE\uD2AF\uD2B0\uD2B2",5,"\uD2BA\uD2BB\uD2BD\uD2BE\uD2C1\uD2C3",4,"\uD2CA\uD2CC",5],["ba81","\uD2D2\uD2D3\uD2D5\uD2D6\uD2D7\uD2D9\uD2DA\uD2DB\uD2DD",6,"\uD2E6",9,"\uD2F2\uD2F3\uD2F5\uD2F6\uD2F7\uD2F9\uD2FA\uBC99\uBC9A\uBCA0\uBCA1\uBCA4\uBCA7\uBCA8\uBCB0\uBCB1\uBCB3\uBCB4\uBCB5\uBCBC\uBCBD\uBCC0\uBCC4\uBCCD\uBCCF\uBCD0\uBCD1\uBCD5\uBCD8\uBCDC\uBCF4\uBCF5\uBCF6\uBCF8\uBCFC\uBD04\uBD05\uBD07\uBD09\uBD10\uBD14\uBD24\uBD2C\uBD40\uBD48\uBD49\uBD4C\uBD50\uBD58\uBD59\uBD64\uBD68\uBD80\uBD81\uBD84\uBD87\uBD88\uBD89\uBD8A\uBD90\uBD91\uBD93\uBD95\uBD99\uBD9A\uBD9C\uBDA4\uBDB0\uBDB8\uBDD4\uBDD5\uBDD8\uBDDC\uBDE9\uBDF0\uBDF4\uBDF8\uBE00\uBE03\uBE05\uBE0C\uBE0D\uBE10\uBE14\uBE1C\uBE1D\uBE1F\uBE44\uBE45\uBE48\uBE4C\uBE4E\uBE54\uBE55\uBE57\uBE59\uBE5A\uBE5B\uBE60\uBE61\uBE64"],["bb41","\uD2FB",4,"\uD302\uD304\uD306",5,"\uD30F\uD311\uD312\uD313\uD315\uD317",4,"\uD31E\uD322\uD323"],["bb61","\uD324\uD326\uD327\uD32A\uD32B\uD32D\uD32E\uD32F\uD331",6,"\uD33A\uD33E",5,"\uD346\uD347\uD348\uD349"],["bb81","\uD34A",31,"\uBE68\uBE6A\uBE70\uBE71\uBE73\uBE74\uBE75\uBE7B\uBE7C\uBE7D\uBE80\uBE84\uBE8C\uBE8D\uBE8F\uBE90\uBE91\uBE98\uBE99\uBEA8\uBED0\uBED1\uBED4\uBED7\uBED8\uBEE0\uBEE3\uBEE4\uBEE5\uBEEC\uBF01\uBF08\uBF09\uBF18\uBF19\uBF1B\uBF1C\uBF1D\uBF40\uBF41\uBF44\uBF48\uBF50\uBF51\uBF55\uBF94\uBFB0\uBFC5\uBFCC\uBFCD\uBFD0\uBFD4\uBFDC\uBFDF\uBFE1\uC03C\uC051\uC058\uC05C\uC060\uC068\uC069\uC090\uC091\uC094\uC098\uC0A0\uC0A1\uC0A3\uC0A5\uC0AC\uC0AD\uC0AF\uC0B0\uC0B3\uC0B4\uC0B5\uC0B6\uC0BC\uC0BD\uC0BF\uC0C0\uC0C1\uC0C5\uC0C8\uC0C9\uC0CC\uC0D0\uC0D8\uC0D9\uC0DB\uC0DC\uC0DD\uC0E4"],["bc41","\uD36A",17,"\uD37E\uD37F\uD381\uD382\uD383\uD385\uD386\uD387"],["bc61","\uD388\uD389\uD38A\uD38B\uD38E\uD392",5,"\uD39A\uD39B\uD39D\uD39E\uD39F\uD3A1",6,"\uD3AA\uD3AC\uD3AE"],["bc81","\uD3AF",4,"\uD3B5\uD3B6\uD3B7\uD3B9\uD3BA\uD3BB\uD3BD",6,"\uD3C6\uD3C7\uD3CA",5,"\uD3D1",5,"\uC0E5\uC0E8\uC0EC\uC0F4\uC0F5\uC0F7\uC0F9\uC100\uC104\uC108\uC110\uC115\uC11C",4,"\uC123\uC124\uC126\uC127\uC12C\uC12D\uC12F\uC130\uC131\uC136\uC138\uC139\uC13C\uC140\uC148\uC149\uC14B\uC14C\uC14D\uC154\uC155\uC158\uC15C\uC164\uC165\uC167\uC168\uC169\uC170\uC174\uC178\uC185\uC18C\uC18D\uC18E\uC190\uC194\uC196\uC19C\uC19D\uC19F\uC1A1\uC1A5\uC1A8\uC1A9\uC1AC\uC1B0\uC1BD\uC1C4\uC1C8\uC1CC\uC1D4\uC1D7\uC1D8\uC1E0\uC1E4\uC1E8\uC1F0\uC1F1\uC1F3\uC1FC\uC1FD\uC200\uC204\uC20C\uC20D\uC20F\uC211\uC218\uC219\uC21C\uC21F\uC220\uC228\uC229\uC22B\uC22D"],["bd41","\uD3D7\uD3D9",7,"\uD3E2\uD3E4",7,"\uD3EE\uD3EF\uD3F1\uD3F2\uD3F3\uD3F5\uD3F6\uD3F7"],["bd61","\uD3F8\uD3F9\uD3FA\uD3FB\uD3FE\uD400\uD402",5,"\uD409",13],["bd81","\uD417",5,"\uD41E",25,"\uC22F\uC231\uC232\uC234\uC248\uC250\uC251\uC254\uC258\uC260\uC265\uC26C\uC26D\uC270\uC274\uC27C\uC27D\uC27F\uC281\uC288\uC289\uC290\uC298\uC29B\uC29D\uC2A4\uC2A5\uC2A8\uC2AC\uC2AD\uC2B4\uC2B5\uC2B7\uC2B9\uC2DC\uC2DD\uC2E0\uC2E3\uC2E4\uC2EB\uC2EC\uC2ED\uC2EF\uC2F1\uC2F6\uC2F8\uC2F9\uC2FB\uC2FC\uC300\uC308\uC309\uC30C\uC30D\uC313\uC314\uC315\uC318\uC31C\uC324\uC325\uC328\uC329\uC345\uC368\uC369\uC36C\uC370\uC372\uC378\uC379\uC37C\uC37D\uC384\uC388\uC38C\uC3C0\uC3D8\uC3D9\uC3DC\uC3DF\uC3E0\uC3E2\uC3E8\uC3E9\uC3ED\uC3F4\uC3F5\uC3F8\uC408\uC410\uC424\uC42C\uC430"],["be41","\uD438",7,"\uD441\uD442\uD443\uD445",14],["be61","\uD454",7,"\uD45D\uD45E\uD45F\uD461\uD462\uD463\uD465",7,"\uD46E\uD470\uD471\uD472"],["be81","\uD473",4,"\uD47A\uD47B\uD47D\uD47E\uD481\uD483",4,"\uD48A\uD48C\uD48E",5,"\uD495",8,"\uC434\uC43C\uC43D\uC448\uC464\uC465\uC468\uC46C\uC474\uC475\uC479\uC480\uC494\uC49C\uC4B8\uC4BC\uC4E9\uC4F0\uC4F1\uC4F4\uC4F8\uC4FA\uC4FF\uC500\uC501\uC50C\uC510\uC514\uC51C\uC528\uC529\uC52C\uC530\uC538\uC539\uC53B\uC53D\uC544\uC545\uC548\uC549\uC54A\uC54C\uC54D\uC54E\uC553\uC554\uC555\uC557\uC558\uC559\uC55D\uC55E\uC560\uC561\uC564\uC568\uC570\uC571\uC573\uC574\uC575\uC57C\uC57D\uC580\uC584\uC587\uC58C\uC58D\uC58F\uC591\uC595\uC597\uC598\uC59C\uC5A0\uC5A9\uC5B4\uC5B5\uC5B8\uC5B9\uC5BB\uC5BC\uC5BD\uC5BE\uC5C4",6,"\uC5CC\uC5CE"],["bf41","\uD49E",10,"\uD4AA",14],["bf61","\uD4B9",18,"\uD4CD\uD4CE\uD4CF\uD4D1\uD4D2\uD4D3\uD4D5"],["bf81","\uD4D6",5,"\uD4DD\uD4DE\uD4E0",7,"\uD4E9\uD4EA\uD4EB\uD4ED\uD4EE\uD4EF\uD4F1",6,"\uD4F9\uD4FA\uD4FC\uC5D0\uC5D1\uC5D4\uC5D8\uC5E0\uC5E1\uC5E3\uC5E5\uC5EC\uC5ED\uC5EE\uC5F0\uC5F4\uC5F6\uC5F7\uC5FC",5,"\uC605\uC606\uC607\uC608\uC60C\uC610\uC618\uC619\uC61B\uC61C\uC624\uC625\uC628\uC62C\uC62D\uC62E\uC630\uC633\uC634\uC635\uC637\uC639\uC63B\uC640\uC641\uC644\uC648\uC650\uC651\uC653\uC654\uC655\uC65C\uC65D\uC660\uC66C\uC66F\uC671\uC678\uC679\uC67C\uC680\uC688\uC689\uC68B\uC68D\uC694\uC695\uC698\uC69C\uC6A4\uC6A5\uC6A7\uC6A9\uC6B0\uC6B1\uC6B4\uC6B8\uC6B9\uC6BA\uC6C0\uC6C1\uC6C3\uC6C5\uC6CC\uC6CD\uC6D0\uC6D4\uC6DC\uC6DD\uC6E0\uC6E1\uC6E8"],["c041","\uD4FE",5,"\uD505\uD506\uD507\uD509\uD50A\uD50B\uD50D",6,"\uD516\uD518",5],["c061","\uD51E",25],["c081","\uD538\uD539\uD53A\uD53B\uD53E\uD53F\uD541\uD542\uD543\uD545",6,"\uD54E\uD550\uD552",5,"\uD55A\uD55B\uD55D\uD55E\uD55F\uD561\uD562\uD563\uC6E9\uC6EC\uC6F0\uC6F8\uC6F9\uC6FD\uC704\uC705\uC708\uC70C\uC714\uC715\uC717\uC719\uC720\uC721\uC724\uC728\uC730\uC731\uC733\uC735\uC737\uC73C\uC73D\uC740\uC744\uC74A\uC74C\uC74D\uC74F\uC751",7,"\uC75C\uC760\uC768\uC76B\uC774\uC775\uC778\uC77C\uC77D\uC77E\uC783\uC784\uC785\uC787\uC788\uC789\uC78A\uC78E\uC790\uC791\uC794\uC796\uC797\uC798\uC79A\uC7A0\uC7A1\uC7A3\uC7A4\uC7A5\uC7A6\uC7AC\uC7AD\uC7B0\uC7B4\uC7BC\uC7BD\uC7BF\uC7C0\uC7C1\uC7C8\uC7C9\uC7CC\uC7CE\uC7D0\uC7D8\uC7DD\uC7E4\uC7E8\uC7EC\uC800\uC801\uC804\uC808\uC80A"],["c141","\uD564\uD566\uD567\uD56A\uD56C\uD56E",5,"\uD576\uD577\uD579\uD57A\uD57B\uD57D",6,"\uD586\uD58A\uD58B"],["c161","\uD58C\uD58D\uD58E\uD58F\uD591",19,"\uD5A6\uD5A7"],["c181","\uD5A8",31,"\uC810\uC811\uC813\uC815\uC816\uC81C\uC81D\uC820\uC824\uC82C\uC82D\uC82F\uC831\uC838\uC83C\uC840\uC848\uC849\uC84C\uC84D\uC854\uC870\uC871\uC874\uC878\uC87A\uC880\uC881\uC883\uC885\uC886\uC887\uC88B\uC88C\uC88D\uC894\uC89D\uC89F\uC8A1\uC8A8\uC8BC\uC8BD\uC8C4\uC8C8\uC8CC\uC8D4\uC8D5\uC8D7\uC8D9\uC8E0\uC8E1\uC8E4\uC8F5\uC8FC\uC8FD\uC900\uC904\uC905\uC906\uC90C\uC90D\uC90F\uC911\uC918\uC92C\uC934\uC950\uC951\uC954\uC958\uC960\uC961\uC963\uC96C\uC970\uC974\uC97C\uC988\uC989\uC98C\uC990\uC998\uC999\uC99B\uC99D\uC9C0\uC9C1\uC9C4\uC9C7\uC9C8\uC9CA\uC9D0\uC9D1\uC9D3"],["c241","\uD5CA\uD5CB\uD5CD\uD5CE\uD5CF\uD5D1\uD5D3",4,"\uD5DA\uD5DC\uD5DE",5,"\uD5E6\uD5E7\uD5E9\uD5EA\uD5EB\uD5ED\uD5EE"],["c261","\uD5EF",4,"\uD5F6\uD5F8\uD5FA",5,"\uD602\uD603\uD605\uD606\uD607\uD609",6,"\uD612"],["c281","\uD616",5,"\uD61D\uD61E\uD61F\uD621\uD622\uD623\uD625",7,"\uD62E",9,"\uD63A\uD63B\uC9D5\uC9D6\uC9D9\uC9DA\uC9DC\uC9DD\uC9E0\uC9E2\uC9E4\uC9E7\uC9EC\uC9ED\uC9EF\uC9F0\uC9F1\uC9F8\uC9F9\uC9FC\uCA00\uCA08\uCA09\uCA0B\uCA0C\uCA0D\uCA14\uCA18\uCA29\uCA4C\uCA4D\uCA50\uCA54\uCA5C\uCA5D\uCA5F\uCA60\uCA61\uCA68\uCA7D\uCA84\uCA98\uCABC\uCABD\uCAC0\uCAC4\uCACC\uCACD\uCACF\uCAD1\uCAD3\uCAD8\uCAD9\uCAE0\uCAEC\uCAF4\uCB08\uCB10\uCB14\uCB18\uCB20\uCB21\uCB41\uCB48\uCB49\uCB4C\uCB50\uCB58\uCB59\uCB5D\uCB64\uCB78\uCB79\uCB9C\uCBB8\uCBD4\uCBE4\uCBE7\uCBE9\uCC0C\uCC0D\uCC10\uCC14\uCC1C\uCC1D\uCC21\uCC22\uCC27\uCC28\uCC29\uCC2C\uCC2E\uCC30\uCC38\uCC39\uCC3B"],["c341","\uD63D\uD63E\uD63F\uD641\uD642\uD643\uD644\uD646\uD647\uD64A\uD64C\uD64E\uD64F\uD650\uD652\uD653\uD656\uD657\uD659\uD65A\uD65B\uD65D",4],["c361","\uD662",4,"\uD668\uD66A",5,"\uD672\uD673\uD675",11],["c381","\uD681\uD682\uD684\uD686",5,"\uD68E\uD68F\uD691\uD692\uD693\uD695",7,"\uD69E\uD6A0\uD6A2",5,"\uD6A9\uD6AA\uCC3C\uCC3D\uCC3E\uCC44\uCC45\uCC48\uCC4C\uCC54\uCC55\uCC57\uCC58\uCC59\uCC60\uCC64\uCC66\uCC68\uCC70\uCC75\uCC98\uCC99\uCC9C\uCCA0\uCCA8\uCCA9\uCCAB\uCCAC\uCCAD\uCCB4\uCCB5\uCCB8\uCCBC\uCCC4\uCCC5\uCCC7\uCCC9\uCCD0\uCCD4\uCCE4\uCCEC\uCCF0\uCD01\uCD08\uCD09\uCD0C\uCD10\uCD18\uCD19\uCD1B\uCD1D\uCD24\uCD28\uCD2C\uCD39\uCD5C\uCD60\uCD64\uCD6C\uCD6D\uCD6F\uCD71\uCD78\uCD88\uCD94\uCD95\uCD98\uCD9C\uCDA4\uCDA5\uCDA7\uCDA9\uCDB0\uCDC4\uCDCC\uCDD0\uCDE8\uCDEC\uCDF0\uCDF8\uCDF9\uCDFB\uCDFD\uCE04\uCE08\uCE0C\uCE14\uCE19\uCE20\uCE21\uCE24\uCE28\uCE30\uCE31\uCE33\uCE35"],["c441","\uD6AB\uD6AD\uD6AE\uD6AF\uD6B1",7,"\uD6BA\uD6BC",7,"\uD6C6\uD6C7\uD6C9\uD6CA\uD6CB"],["c461","\uD6CD\uD6CE\uD6CF\uD6D0\uD6D2\uD6D3\uD6D5\uD6D6\uD6D8\uD6DA",5,"\uD6E1\uD6E2\uD6E3\uD6E5\uD6E6\uD6E7\uD6E9",4],["c481","\uD6EE\uD6EF\uD6F1\uD6F2\uD6F3\uD6F4\uD6F6",5,"\uD6FE\uD6FF\uD701\uD702\uD703\uD705",11,"\uD712\uD713\uD714\uCE58\uCE59\uCE5C\uCE5F\uCE60\uCE61\uCE68\uCE69\uCE6B\uCE6D\uCE74\uCE75\uCE78\uCE7C\uCE84\uCE85\uCE87\uCE89\uCE90\uCE91\uCE94\uCE98\uCEA0\uCEA1\uCEA3\uCEA4\uCEA5\uCEAC\uCEAD\uCEC1\uCEE4\uCEE5\uCEE8\uCEEB\uCEEC\uCEF4\uCEF5\uCEF7\uCEF8\uCEF9\uCF00\uCF01\uCF04\uCF08\uCF10\uCF11\uCF13\uCF15\uCF1C\uCF20\uCF24\uCF2C\uCF2D\uCF2F\uCF30\uCF31\uCF38\uCF54\uCF55\uCF58\uCF5C\uCF64\uCF65\uCF67\uCF69\uCF70\uCF71\uCF74\uCF78\uCF80\uCF85\uCF8C\uCFA1\uCFA8\uCFB0\uCFC4\uCFE0\uCFE1\uCFE4\uCFE8\uCFF0\uCFF1\uCFF3\uCFF5\uCFFC\uD000\uD004\uD011\uD018\uD02D\uD034\uD035\uD038\uD03C"],["c541","\uD715\uD716\uD717\uD71A\uD71B\uD71D\uD71E\uD71F\uD721",6,"\uD72A\uD72C\uD72E",5,"\uD736\uD737\uD739"],["c561","\uD73A\uD73B\uD73D",6,"\uD745\uD746\uD748\uD74A",5,"\uD752\uD753\uD755\uD75A",4],["c581","\uD75F\uD762\uD764\uD766\uD767\uD768\uD76A\uD76B\uD76D\uD76E\uD76F\uD771\uD772\uD773\uD775",6,"\uD77E\uD77F\uD780\uD782",5,"\uD78A\uD78B\uD044\uD045\uD047\uD049\uD050\uD054\uD058\uD060\uD06C\uD06D\uD070\uD074\uD07C\uD07D\uD081\uD0A4\uD0A5\uD0A8\uD0AC\uD0B4\uD0B5\uD0B7\uD0B9\uD0C0\uD0C1\uD0C4\uD0C8\uD0C9\uD0D0\uD0D1\uD0D3\uD0D4\uD0D5\uD0DC\uD0DD\uD0E0\uD0E4\uD0EC\uD0ED\uD0EF\uD0F0\uD0F1\uD0F8\uD10D\uD130\uD131\uD134\uD138\uD13A\uD140\uD141\uD143\uD144\uD145\uD14C\uD14D\uD150\uD154\uD15C\uD15D\uD15F\uD161\uD168\uD16C\uD17C\uD184\uD188\uD1A0\uD1A1\uD1A4\uD1A8\uD1B0\uD1B1\uD1B3\uD1B5\uD1BA\uD1BC\uD1C0\uD1D8\uD1F4\uD1F8\uD207\uD209\uD210\uD22C\uD22D\uD230\uD234\uD23C\uD23D\uD23F\uD241\uD248\uD25C"],["c641","\uD78D\uD78E\uD78F\uD791",6,"\uD79A\uD79C\uD79E",5],["c6a1","\uD264\uD280\uD281\uD284\uD288\uD290\uD291\uD295\uD29C\uD2A0\uD2A4\uD2AC\uD2B1\uD2B8\uD2B9\uD2BC\uD2BF\uD2C0\uD2C2\uD2C8\uD2C9\uD2CB\uD2D4\uD2D8\uD2DC\uD2E4\uD2E5\uD2F0\uD2F1\uD2F4\uD2F8\uD300\uD301\uD303\uD305\uD30C\uD30D\uD30E\uD310\uD314\uD316\uD31C\uD31D\uD31F\uD320\uD321\uD325\uD328\uD329\uD32C\uD330\uD338\uD339\uD33B\uD33C\uD33D\uD344\uD345\uD37C\uD37D\uD380\uD384\uD38C\uD38D\uD38F\uD390\uD391\uD398\uD399\uD39C\uD3A0\uD3A8\uD3A9\uD3AB\uD3AD\uD3B4\uD3B8\uD3BC\uD3C4\uD3C5\uD3C8\uD3C9\uD3D0\uD3D8\uD3E1\uD3E3\uD3EC\uD3ED\uD3F0\uD3F4\uD3FC\uD3FD\uD3FF\uD401"],["c7a1","\uD408\uD41D\uD440\uD444\uD45C\uD460\uD464\uD46D\uD46F\uD478\uD479\uD47C\uD47F\uD480\uD482\uD488\uD489\uD48B\uD48D\uD494\uD4A9\uD4CC\uD4D0\uD4D4\uD4DC\uD4DF\uD4E8\uD4EC\uD4F0\uD4F8\uD4FB\uD4FD\uD504\uD508\uD50C\uD514\uD515\uD517\uD53C\uD53D\uD540\uD544\uD54C\uD54D\uD54F\uD551\uD558\uD559\uD55C\uD560\uD565\uD568\uD569\uD56B\uD56D\uD574\uD575\uD578\uD57C\uD584\uD585\uD587\uD588\uD589\uD590\uD5A5\uD5C8\uD5C9\uD5CC\uD5D0\uD5D2\uD5D8\uD5D9\uD5DB\uD5DD\uD5E4\uD5E5\uD5E8\uD5EC\uD5F4\uD5F5\uD5F7\uD5F9\uD600\uD601\uD604\uD608\uD610\uD611\uD613\uD614\uD615\uD61C\uD620"],["c8a1","\uD624\uD62D\uD638\uD639\uD63C\uD640\uD645\uD648\uD649\uD64B\uD64D\uD651\uD654\uD655\uD658\uD65C\uD667\uD669\uD670\uD671\uD674\uD683\uD685\uD68C\uD68D\uD690\uD694\uD69D\uD69F\uD6A1\uD6A8\uD6AC\uD6B0\uD6B9\uD6BB\uD6C4\uD6C5\uD6C8\uD6CC\uD6D1\uD6D4\uD6D7\uD6D9\uD6E0\uD6E4\uD6E8\uD6F0\uD6F5\uD6FC\uD6FD\uD700\uD704\uD711\uD718\uD719\uD71C\uD720\uD728\uD729\uD72B\uD72D\uD734\uD735\uD738\uD73C\uD744\uD747\uD749\uD750\uD751\uD754\uD756\uD757\uD758\uD759\uD760\uD761\uD763\uD765\uD769\uD76C\uD770\uD774\uD77C\uD77D\uD781\uD788\uD789\uD78C\uD790\uD798\uD799\uD79B\uD79D"],["caa1","\u4F3D\u4F73\u5047\u50F9\u52A0\u53EF\u5475\u54E5\u5609\u5AC1\u5BB6\u6687\u67B6\u67B7\u67EF\u6B4C\u73C2\u75C2\u7A3C\u82DB\u8304\u8857\u8888\u8A36\u8CC8\u8DCF\u8EFB\u8FE6\u99D5\u523B\u5374\u5404\u606A\u6164\u6BBC\u73CF\u811A\u89BA\u89D2\u95A3\u4F83\u520A\u58BE\u5978\u59E6\u5E72\u5E79\u61C7\u63C0\u6746\u67EC\u687F\u6F97\u764E\u770B\u78F5\u7A08\u7AFF\u7C21\u809D\u826E\u8271\u8AEB\u9593\u4E6B\u559D\u66F7\u6E34\u78A3\u7AED\u845B\u8910\u874E\u97A8\u52D8\u574E\u582A\u5D4C\u611F\u61BE\u6221\u6562\u67D1\u6A44\u6E1B\u7518\u75B3\u76E3\u77B0\u7D3A\u90AF\u9451\u9452\u9F95"],["cba1","\u5323\u5CAC\u7532\u80DB\u9240\u9598\u525B\u5808\u59DC\u5CA1\u5D17\u5EB7\u5F3A\u5F4A\u6177\u6C5F\u757A\u7586\u7CE0\u7D73\u7DB1\u7F8C\u8154\u8221\u8591\u8941\u8B1B\u92FC\u964D\u9C47\u4ECB\u4EF7\u500B\u51F1\u584F\u6137\u613E\u6168\u6539\u69EA\u6F11\u75A5\u7686\u76D6\u7B87\u82A5\u84CB\uF900\u93A7\u958B\u5580\u5BA2\u5751\uF901\u7CB3\u7FB9\u91B5\u5028\u53BB\u5C45\u5DE8\u62D2\u636E\u64DA\u64E7\u6E20\u70AC\u795B\u8DDD\u8E1E\uF902\u907D\u9245\u92F8\u4E7E\u4EF6\u5065\u5DFE\u5EFA\u6106\u6957\u8171\u8654\u8E47\u9375\u9A2B\u4E5E\u5091\u6770\u6840\u5109\u528D\u5292\u6AA2"],["cca1","\u77BC\u9210\u9ED4\u52AB\u602F\u8FF2\u5048\u61A9\u63ED\u64CA\u683C\u6A84\u6FC0\u8188\u89A1\u9694\u5805\u727D\u72AC\u7504\u7D79\u7E6D\u80A9\u898B\u8B74\u9063\u9D51\u6289\u6C7A\u6F54\u7D50\u7F3A\u8A23\u517C\u614A\u7B9D\u8B19\u9257\u938C\u4EAC\u4FD3\u501E\u50BE\u5106\u52C1\u52CD\u537F\u5770\u5883\u5E9A\u5F91\u6176\u61AC\u64CE\u656C\u666F\u66BB\u66F4\u6897\u6D87\u7085\u70F1\u749F\u74A5\u74CA\u75D9\u786C\u78EC\u7ADF\u7AF6\u7D45\u7D93\u8015\u803F\u811B\u8396\u8B66\u8F15\u9015\u93E1\u9803\u9838\u9A5A\u9BE8\u4FC2\u5553\u583A\u5951\u5B63\u5C46\u60B8\u6212\u6842\u68B0"],["cda1","\u68E8\u6EAA\u754C\u7678\u78CE\u7A3D\u7CFB\u7E6B\u7E7C\u8A08\u8AA1\u8C3F\u968E\u9DC4\u53E4\u53E9\u544A\u5471\u56FA\u59D1\u5B64\u5C3B\u5EAB\u62F7\u6537\u6545\u6572\u66A0\u67AF\u69C1\u6CBD\u75FC\u7690\u777E\u7A3F\u7F94\u8003\u80A1\u818F\u82E6\u82FD\u83F0\u85C1\u8831\u88B4\u8AA5\uF903\u8F9C\u932E\u96C7\u9867\u9AD8\u9F13\u54ED\u659B\u66F2\u688F\u7A40\u8C37\u9D60\u56F0\u5764\u5D11\u6606\u68B1\u68CD\u6EFE\u7428\u889E\u9BE4\u6C68\uF904\u9AA8\u4F9B\u516C\u5171\u529F\u5B54\u5DE5\u6050\u606D\u62F1\u63A7\u653B\u73D9\u7A7A\u86A3\u8CA2\u978F\u4E32\u5BE1\u6208\u679C\u74DC"],["cea1","\u79D1\u83D3\u8A87\u8AB2\u8DE8\u904E\u934B\u9846\u5ED3\u69E8\u85FF\u90ED\uF905\u51A0\u5B98\u5BEC\u6163\u68FA\u6B3E\u704C\u742F\u74D8\u7BA1\u7F50\u83C5\u89C0\u8CAB\u95DC\u9928\u522E\u605D\u62EC\u9002\u4F8A\u5149\u5321\u58D9\u5EE3\u66E0\u6D38\u709A\u72C2\u73D6\u7B50\u80F1\u945B\u5366\u639B\u7F6B\u4E56\u5080\u584A\u58DE\u602A\u6127\u62D0\u69D0\u9B41\u5B8F\u7D18\u80B1\u8F5F\u4EA4\u50D1\u54AC\u55AC\u5B0C\u5DA0\u5DE7\u652A\u654E\u6821\u6A4B\u72E1\u768E\u77EF\u7D5E\u7FF9\u81A0\u854E\u86DF\u8F03\u8F4E\u90CA\u9903\u9A55\u9BAB\u4E18\u4E45\u4E5D\u4EC7\u4FF1\u5177\u52FE"],["cfa1","\u5340\u53E3\u53E5\u548E\u5614\u5775\u57A2\u5BC7\u5D87\u5ED0\u61FC\u62D8\u6551\u67B8\u67E9\u69CB\u6B50\u6BC6\u6BEC\u6C42\u6E9D\u7078\u72D7\u7396\u7403\u77BF\u77E9\u7A76\u7D7F\u8009\u81FC\u8205\u820A\u82DF\u8862\u8B33\u8CFC\u8EC0\u9011\u90B1\u9264\u92B6\u99D2\u9A45\u9CE9\u9DD7\u9F9C\u570B\u5C40\u83CA\u97A0\u97AB\u9EB4\u541B\u7A98\u7FA4\u88D9\u8ECD\u90E1\u5800\u5C48\u6398\u7A9F\u5BAE\u5F13\u7A79\u7AAE\u828E\u8EAC\u5026\u5238\u52F8\u5377\u5708\u62F3\u6372\u6B0A\u6DC3\u7737\u53A5\u7357\u8568\u8E76\u95D5\u673A\u6AC3\u6F70\u8A6D\u8ECC\u994B\uF906\u6677\u6B78\u8CB4"],["d0a1","\u9B3C\uF907\u53EB\u572D\u594E\u63C6\u69FB\u73EA\u7845\u7ABA\u7AC5\u7CFE\u8475\u898F\u8D73\u9035\u95A8\u52FB\u5747\u7547\u7B60\u83CC\u921E\uF908\u6A58\u514B\u524B\u5287\u621F\u68D8\u6975\u9699\u50C5\u52A4\u52E4\u61C3\u65A4\u6839\u69FF\u747E\u7B4B\u82B9\u83EB\u89B2\u8B39\u8FD1\u9949\uF909\u4ECA\u5997\u64D2\u6611\u6A8E\u7434\u7981\u79BD\u82A9\u887E\u887F\u895F\uF90A\u9326\u4F0B\u53CA\u6025\u6271\u6C72\u7D1A\u7D66\u4E98\u5162\u77DC\u80AF\u4F01\u4F0E\u5176\u5180\u55DC\u5668\u573B\u57FA\u57FC\u5914\u5947\u5993\u5BC4\u5C90\u5D0E\u5DF1\u5E7E\u5FCC\u6280\u65D7\u65E3"],["d1a1","\u671E\u671F\u675E\u68CB\u68C4\u6A5F\u6B3A\u6C23\u6C7D\u6C82\u6DC7\u7398\u7426\u742A\u7482\u74A3\u7578\u757F\u7881\u78EF\u7941\u7947\u7948\u797A\u7B95\u7D00\u7DBA\u7F88\u8006\u802D\u808C\u8A18\u8B4F\u8C48\u8D77\u9321\u9324\u98E2\u9951\u9A0E\u9A0F\u9A65\u9E92\u7DCA\u4F76\u5409\u62EE\u6854\u91D1\u55AB\u513A\uF90B\uF90C\u5A1C\u61E6\uF90D\u62CF\u62FF\uF90E",5,"\u90A3\uF914",4,"\u8AFE\uF919\uF91A\uF91B\uF91C\u6696\uF91D\u7156\uF91E\uF91F\u96E3\uF920\u634F\u637A\u5357\uF921\u678F\u6960\u6E73\uF922\u7537\uF923\uF924\uF925"],["d2a1","\u7D0D\uF926\uF927\u8872\u56CA\u5A18\uF928",4,"\u4E43\uF92D\u5167\u5948\u67F0\u8010\uF92E\u5973\u5E74\u649A\u79CA\u5FF5\u606C\u62C8\u637B\u5BE7\u5BD7\u52AA\uF92F\u5974\u5F29\u6012\uF930\uF931\uF932\u7459\uF933",5,"\u99D1\uF939",10,"\u6FC3\uF944\uF945\u81BF\u8FB2\u60F1\uF946\uF947\u8166\uF948\uF949\u5C3F\uF94A",7,"\u5AE9\u8A25\u677B\u7D10\uF952",5,"\u80FD\uF958\uF959\u5C3C\u6CE5\u533F\u6EBA\u591A\u8336"],["d3a1","\u4E39\u4EB6\u4F46\u55AE\u5718\u58C7\u5F56\u65B7\u65E6\u6A80\u6BB5\u6E4D\u77ED\u7AEF\u7C1E\u7DDE\u86CB\u8892\u9132\u935B\u64BB\u6FBE\u737A\u75B8\u9054\u5556\u574D\u61BA\u64D4\u66C7\u6DE1\u6E5B\u6F6D\u6FB9\u75F0\u8043\u81BD\u8541\u8983\u8AC7\u8B5A\u931F\u6C93\u7553\u7B54\u8E0F\u905D\u5510\u5802\u5858\u5E62\u6207\u649E\u68E0\u7576\u7CD6\u87B3\u9EE8\u4EE3\u5788\u576E\u5927\u5C0D\u5CB1\u5E36\u5F85\u6234\u64E1\u73B3\u81FA\u888B\u8CB8\u968A\u9EDB\u5B85\u5FB7\u60B3\u5012\u5200\u5230\u5716\u5835\u5857\u5C0E\u5C60\u5CF6\u5D8B\u5EA6\u5F92\u60BC\u6311\u6389\u6417\u6843"],["d4a1","\u68F9\u6AC2\u6DD8\u6E21\u6ED4\u6FE4\u71FE\u76DC\u7779\u79B1\u7A3B\u8404\u89A9\u8CED\u8DF3\u8E48\u9003\u9014\u9053\u90FD\u934D\u9676\u97DC\u6BD2\u7006\u7258\u72A2\u7368\u7763\u79BF\u7BE4\u7E9B\u8B80\u58A9\u60C7\u6566\u65FD\u66BE\u6C8C\u711E\u71C9\u8C5A\u9813\u4E6D\u7A81\u4EDD\u51AC\u51CD\u52D5\u540C\u61A7\u6771\u6850\u68DF\u6D1E\u6F7C\u75BC\u77B3\u7AE5\u80F4\u8463\u9285\u515C\u6597\u675C\u6793\u75D8\u7AC7\u8373\uF95A\u8C46\u9017\u982D\u5C6F\u81C0\u829A\u9041\u906F\u920D\u5F97\u5D9D\u6A59\u71C8\u767B\u7B49\u85E4\u8B04\u9127\u9A30\u5587\u61F6\uF95B\u7669\u7F85"],["d5a1","\u863F\u87BA\u88F8\u908F\uF95C\u6D1B\u70D9\u73DE\u7D61\u843D\uF95D\u916A\u99F1\uF95E\u4E82\u5375\u6B04\u6B12\u703E\u721B\u862D\u9E1E\u524C\u8FA3\u5D50\u64E5\u652C\u6B16\u6FEB\u7C43\u7E9C\u85CD\u8964\u89BD\u62C9\u81D8\u881F\u5ECA\u6717\u6D6A\u72FC\u7405\u746F\u8782\u90DE\u4F86\u5D0D\u5FA0\u840A\u51B7\u63A0\u7565\u4EAE\u5006\u5169\u51C9\u6881\u6A11\u7CAE\u7CB1\u7CE7\u826F\u8AD2\u8F1B\u91CF\u4FB6\u5137\u52F5\u5442\u5EEC\u616E\u623E\u65C5\u6ADA\u6FFE\u792A\u85DC\u8823\u95AD\u9A62\u9A6A\u9E97\u9ECE\u529B\u66C6\u6B77\u701D\u792B\u8F62\u9742\u6190\u6200\u6523\u6F23"],["d6a1","\u7149\u7489\u7DF4\u806F\u84EE\u8F26\u9023\u934A\u51BD\u5217\u52A3\u6D0C\u70C8\u88C2\u5EC9\u6582\u6BAE\u6FC2\u7C3E\u7375\u4EE4\u4F36\u56F9\uF95F\u5CBA\u5DBA\u601C\u73B2\u7B2D\u7F9A\u7FCE\u8046\u901E\u9234\u96F6\u9748\u9818\u9F61\u4F8B\u6FA7\u79AE\u91B4\u96B7\u52DE\uF960\u6488\u64C4\u6AD3\u6F5E\u7018\u7210\u76E7\u8001\u8606\u865C\u8DEF\u8F05\u9732\u9B6F\u9DFA\u9E75\u788C\u797F\u7DA0\u83C9\u9304\u9E7F\u9E93\u8AD6\u58DF\u5F04\u6727\u7027\u74CF\u7C60\u807E\u5121\u7028\u7262\u78CA\u8CC2\u8CDA\u8CF4\u96F7\u4E86\u50DA\u5BEE\u5ED6\u6599\u71CE\u7642\u77AD\u804A\u84FC"],["d7a1","\u907C\u9B27\u9F8D\u58D8\u5A41\u5C62\u6A13\u6DDA\u6F0F\u763B\u7D2F\u7E37\u851E\u8938\u93E4\u964B\u5289\u65D2\u67F3\u69B4\u6D41\u6E9C\u700F\u7409\u7460\u7559\u7624\u786B\u8B2C\u985E\u516D\u622E\u9678\u4F96\u502B\u5D19\u6DEA\u7DB8\u8F2A\u5F8B\u6144\u6817\uF961\u9686\u52D2\u808B\u51DC\u51CC\u695E\u7A1C\u7DBE\u83F1\u9675\u4FDA\u5229\u5398\u540F\u550E\u5C65\u60A7\u674E\u68A8\u6D6C\u7281\u72F8\u7406\u7483\uF962\u75E2\u7C6C\u7F79\u7FB8\u8389\u88CF\u88E1\u91CC\u91D0\u96E2\u9BC9\u541D\u6F7E\u71D0\u7498\u85FA\u8EAA\u96A3\u9C57\u9E9F\u6797\u6DCB\u7433\u81E8\u9716\u782C"],["d8a1","\u7ACB\u7B20\u7C92\u6469\u746A\u75F2\u78BC\u78E8\u99AC\u9B54\u9EBB\u5BDE\u5E55\u6F20\u819C\u83AB\u9088\u4E07\u534D\u5A29\u5DD2\u5F4E\u6162\u633D\u6669\u66FC\u6EFF\u6F2B\u7063\u779E\u842C\u8513\u883B\u8F13\u9945\u9C3B\u551C\u62B9\u672B\u6CAB\u8309\u896A\u977A\u4EA1\u5984\u5FD8\u5FD9\u671B\u7DB2\u7F54\u8292\u832B\u83BD\u8F1E\u9099\u57CB\u59B9\u5A92\u5BD0\u6627\u679A\u6885\u6BCF\u7164\u7F75\u8CB7\u8CE3\u9081\u9B45\u8108\u8C8A\u964C\u9A40\u9EA5\u5B5F\u6C13\u731B\u76F2\u76DF\u840C\u51AA\u8993\u514D\u5195\u52C9\u68C9\u6C94\u7704\u7720\u7DBF\u7DEC\u9762\u9EB5\u6EC5"],["d9a1","\u8511\u51A5\u540D\u547D\u660E\u669D\u6927\u6E9F\u76BF\u7791\u8317\u84C2\u879F\u9169\u9298\u9CF4\u8882\u4FAE\u5192\u52DF\u59C6\u5E3D\u6155\u6478\u6479\u66AE\u67D0\u6A21\u6BCD\u6BDB\u725F\u7261\u7441\u7738\u77DB\u8017\u82BC\u8305\u8B00\u8B28\u8C8C\u6728\u6C90\u7267\u76EE\u7766\u7A46\u9DA9\u6B7F\u6C92\u5922\u6726\u8499\u536F\u5893\u5999\u5EDF\u63CF\u6634\u6773\u6E3A\u732B\u7AD7\u82D7\u9328\u52D9\u5DEB\u61AE\u61CB\u620A\u62C7\u64AB\u65E0\u6959\u6B66\u6BCB\u7121\u73F7\u755D\u7E46\u821E\u8302\u856A\u8AA3\u8CBF\u9727\u9D61\u58A8\u9ED8\u5011\u520E\u543B\u554F\u6587"],["daa1","\u6C76\u7D0A\u7D0B\u805E\u868A\u9580\u96EF\u52FF\u6C95\u7269\u5473\u5A9A\u5C3E\u5D4B\u5F4C\u5FAE\u672A\u68B6\u6963\u6E3C\u6E44\u7709\u7C73\u7F8E\u8587\u8B0E\u8FF7\u9761\u9EF4\u5CB7\u60B6\u610D\u61AB\u654F\u65FB\u65FC\u6C11\u6CEF\u739F\u73C9\u7DE1\u9594\u5BC6\u871C\u8B10\u525D\u535A\u62CD\u640F\u64B2\u6734\u6A38\u6CCA\u73C0\u749E\u7B94\u7C95\u7E1B\u818A\u8236\u8584\u8FEB\u96F9\u99C1\u4F34\u534A\u53CD\u53DB\u62CC\u642C\u6500\u6591\u69C3\u6CEE\u6F58\u73ED\u7554\u7622\u76E4\u76FC\u78D0\u78FB\u792C\u7D46\u822C\u87E0\u8FD4\u9812\u98EF\u52C3\u62D4\u64A5\u6E24\u6F51"],["dba1","\u767C\u8DCB\u91B1\u9262\u9AEE\u9B43\u5023\u508D\u574A\u59A8\u5C28\u5E47\u5F77\u623F\u653E\u65B9\u65C1\u6609\u678B\u699C\u6EC2\u78C5\u7D21\u80AA\u8180\u822B\u82B3\u84A1\u868C\u8A2A\u8B17\u90A6\u9632\u9F90\u500D\u4FF3\uF963\u57F9\u5F98\u62DC\u6392\u676F\u6E43\u7119\u76C3\u80CC\u80DA\u88F4\u88F5\u8919\u8CE0\u8F29\u914D\u966A\u4F2F\u4F70\u5E1B\u67CF\u6822\u767D\u767E\u9B44\u5E61\u6A0A\u7169\u71D4\u756A\uF964\u7E41\u8543\u85E9\u98DC\u4F10\u7B4F\u7F70\u95A5\u51E1\u5E06\u68B5\u6C3E\u6C4E\u6CDB\u72AF\u7BC4\u8303\u6CD5\u743A\u50FB\u5288\u58C1\u64D8\u6A97\u74A7\u7656"],["dca1","\u78A7\u8617\u95E2\u9739\uF965\u535E\u5F01\u8B8A\u8FA8\u8FAF\u908A\u5225\u77A5\u9C49\u9F08\u4E19\u5002\u5175\u5C5B\u5E77\u661E\u663A\u67C4\u68C5\u70B3\u7501\u75C5\u79C9\u7ADD\u8F27\u9920\u9A08\u4FDD\u5821\u5831\u5BF6\u666E\u6B65\u6D11\u6E7A\u6F7D\u73E4\u752B\u83E9\u88DC\u8913\u8B5C\u8F14\u4F0F\u50D5\u5310\u535C\u5B93\u5FA9\u670D\u798F\u8179\u832F\u8514\u8907\u8986\u8F39\u8F3B\u99A5\u9C12\u672C\u4E76\u4FF8\u5949\u5C01\u5CEF\u5CF0\u6367\u68D2\u70FD\u71A2\u742B\u7E2B\u84EC\u8702\u9022\u92D2\u9CF3\u4E0D\u4ED8\u4FEF\u5085\u5256\u526F\u5426\u5490\u57E0\u592B\u5A66"],["dda1","\u5B5A\u5B75\u5BCC\u5E9C\uF966\u6276\u6577\u65A7\u6D6E\u6EA5\u7236\u7B26\u7C3F\u7F36\u8150\u8151\u819A\u8240\u8299\u83A9\u8A03\u8CA0\u8CE6\u8CFB\u8D74\u8DBA\u90E8\u91DC\u961C\u9644\u99D9\u9CE7\u5317\u5206\u5429\u5674\u58B3\u5954\u596E\u5FFF\u61A4\u626E\u6610\u6C7E\u711A\u76C6\u7C89\u7CDE\u7D1B\u82AC\u8CC1\u96F0\uF967\u4F5B\u5F17\u5F7F\u62C2\u5D29\u670B\u68DA\u787C\u7E43\u9D6C\u4E15\u5099\u5315\u532A\u5351\u5983\u5A62\u5E87\u60B2\u618A\u6249\u6279\u6590\u6787\u69A7\u6BD4\u6BD6\u6BD7\u6BD8\u6CB8\uF968\u7435\u75FA\u7812\u7891\u79D5\u79D8\u7C83\u7DCB\u7FE1\u80A5"],["dea1","\u813E\u81C2\u83F2\u871A\u88E8\u8AB9\u8B6C\u8CBB\u9119\u975E\u98DB\u9F3B\u56AC\u5B2A\u5F6C\u658C\u6AB3\u6BAF\u6D5C\u6FF1\u7015\u725D\u73AD\u8CA7\u8CD3\u983B\u6191\u6C37\u8058\u9A01\u4E4D\u4E8B\u4E9B\u4ED5\u4F3A\u4F3C\u4F7F\u4FDF\u50FF\u53F2\u53F8\u5506\u55E3\u56DB\u58EB\u5962\u5A11\u5BEB\u5BFA\u5C04\u5DF3\u5E2B\u5F99\u601D\u6368\u659C\u65AF\u67F6\u67FB\u68AD\u6B7B\u6C99\u6CD7\u6E23\u7009\u7345\u7802\u793E\u7940\u7960\u79C1\u7BE9\u7D17\u7D72\u8086\u820D\u838E\u84D1\u86C7\u88DF\u8A50\u8A5E\u8B1D\u8CDC\u8D66\u8FAD\u90AA\u98FC\u99DF\u9E9D\u524A\uF969\u6714\uF96A"],["dfa1","\u5098\u522A\u5C71\u6563\u6C55\u73CA\u7523\u759D\u7B97\u849C\u9178\u9730\u4E77\u6492\u6BBA\u715E\u85A9\u4E09\uF96B\u6749\u68EE\u6E17\u829F\u8518\u886B\u63F7\u6F81\u9212\u98AF\u4E0A\u50B7\u50CF\u511F\u5546\u55AA\u5617\u5B40\u5C19\u5CE0\u5E38\u5E8A\u5EA0\u5EC2\u60F3\u6851\u6A61\u6E58\u723D\u7240\u72C0\u76F8\u7965\u7BB1\u7FD4\u88F3\u89F4\u8A73\u8C61\u8CDE\u971C\u585E\u74BD\u8CFD\u55C7\uF96C\u7A61\u7D22\u8272\u7272\u751F\u7525\uF96D\u7B19\u5885\u58FB\u5DBC\u5E8F\u5EB6\u5F90\u6055\u6292\u637F\u654D\u6691\u66D9\u66F8\u6816\u68F2\u7280\u745E\u7B6E\u7D6E\u7DD6\u7F72"],["e0a1","\u80E5\u8212\u85AF\u897F\u8A93\u901D\u92E4\u9ECD\u9F20\u5915\u596D\u5E2D\u60DC\u6614\u6673\u6790\u6C50\u6DC5\u6F5F\u77F3\u78A9\u84C6\u91CB\u932B\u4ED9\u50CA\u5148\u5584\u5B0B\u5BA3\u6247\u657E\u65CB\u6E32\u717D\u7401\u7444\u7487\u74BF\u766C\u79AA\u7DDA\u7E55\u7FA8\u817A\u81B3\u8239\u861A\u87EC\u8A75\u8DE3\u9078\u9291\u9425\u994D\u9BAE\u5368\u5C51\u6954\u6CC4\u6D29\u6E2B\u820C\u859B\u893B\u8A2D\u8AAA\u96EA\u9F67\u5261\u66B9\u6BB2\u7E96\u87FE\u8D0D\u9583\u965D\u651D\u6D89\u71EE\uF96E\u57CE\u59D3\u5BAC\u6027\u60FA\u6210\u661F\u665F\u7329\u73F9\u76DB\u7701\u7B6C"],["e1a1","\u8056\u8072\u8165\u8AA0\u9192\u4E16\u52E2\u6B72\u6D17\u7A05\u7B39\u7D30\uF96F\u8CB0\u53EC\u562F\u5851\u5BB5\u5C0F\u5C11\u5DE2\u6240\u6383\u6414\u662D\u68B3\u6CBC\u6D88\u6EAF\u701F\u70A4\u71D2\u7526\u758F\u758E\u7619\u7B11\u7BE0\u7C2B\u7D20\u7D39\u852C\u856D\u8607\u8A34\u900D\u9061\u90B5\u92B7\u97F6\u9A37\u4FD7\u5C6C\u675F\u6D91\u7C9F\u7E8C\u8B16\u8D16\u901F\u5B6B\u5DFD\u640D\u84C0\u905C\u98E1\u7387\u5B8B\u609A\u677E\u6DDE\u8A1F\u8AA6\u9001\u980C\u5237\uF970\u7051\u788E\u9396\u8870\u91D7\u4FEE\u53D7\u55FD\u56DA\u5782\u58FD\u5AC2\u5B88\u5CAB\u5CC0\u5E25\u6101"],["e2a1","\u620D\u624B\u6388\u641C\u6536\u6578\u6A39\u6B8A\u6C34\u6D19\u6F31\u71E7\u72E9\u7378\u7407\u74B2\u7626\u7761\u79C0\u7A57\u7AEA\u7CB9\u7D8F\u7DAC\u7E61\u7F9E\u8129\u8331\u8490\u84DA\u85EA\u8896\u8AB0\u8B90\u8F38\u9042\u9083\u916C\u9296\u92B9\u968B\u96A7\u96A8\u96D6\u9700\u9808\u9996\u9AD3\u9B1A\u53D4\u587E\u5919\u5B70\u5BBF\u6DD1\u6F5A\u719F\u7421\u74B9\u8085\u83FD\u5DE1\u5F87\u5FAA\u6042\u65EC\u6812\u696F\u6A53\u6B89\u6D35\u6DF3\u73E3\u76FE\u77AC\u7B4D\u7D14\u8123\u821C\u8340\u84F4\u8563\u8A62\u8AC4\u9187\u931E\u9806\u99B4\u620C\u8853\u8FF0\u9265\u5D07\u5D27"],["e3a1","\u5D69\u745F\u819D\u8768\u6FD5\u62FE\u7FD2\u8936\u8972\u4E1E\u4E58\u50E7\u52DD\u5347\u627F\u6607\u7E69\u8805\u965E\u4F8D\u5319\u5636\u59CB\u5AA4\u5C38\u5C4E\u5C4D\u5E02\u5F11\u6043\u65BD\u662F\u6642\u67BE\u67F4\u731C\u77E2\u793A\u7FC5\u8494\u84CD\u8996\u8A66\u8A69\u8AE1\u8C55\u8C7A\u57F4\u5BD4\u5F0F\u606F\u62ED\u690D\u6B96\u6E5C\u7184\u7BD2\u8755\u8B58\u8EFE\u98DF\u98FE\u4F38\u4F81\u4FE1\u547B\u5A20\u5BB8\u613C\u65B0\u6668\u71FC\u7533\u795E\u7D33\u814E\u81E3\u8398\u85AA\u85CE\u8703\u8A0A\u8EAB\u8F9B\uF971\u8FC5\u5931\u5BA4\u5BE6\u6089\u5BE9\u5C0B\u5FC3\u6C81"],["e4a1","\uF972\u6DF1\u700B\u751A\u82AF\u8AF6\u4EC0\u5341\uF973\u96D9\u6C0F\u4E9E\u4FC4\u5152\u555E\u5A25\u5CE8\u6211\u7259\u82BD\u83AA\u86FE\u8859\u8A1D\u963F\u96C5\u9913\u9D09\u9D5D\u580A\u5CB3\u5DBD\u5E44\u60E1\u6115\u63E1\u6A02\u6E25\u9102\u9354\u984E\u9C10\u9F77\u5B89\u5CB8\u6309\u664F\u6848\u773C\u96C1\u978D\u9854\u9B9F\u65A1\u8B01\u8ECB\u95BC\u5535\u5CA9\u5DD6\u5EB5\u6697\u764C\u83F4\u95C7\u58D3\u62BC\u72CE\u9D28\u4EF0\u592E\u600F\u663B\u6B83\u79E7\u9D26\u5393\u54C0\u57C3\u5D16\u611B\u66D6\u6DAF\u788D\u827E\u9698\u9744\u5384\u627C\u6396\u6DB2\u7E0A\u814B\u984D"],["e5a1","\u6AFB\u7F4C\u9DAF\u9E1A\u4E5F\u503B\u51B6\u591C\u60F9\u63F6\u6930\u723A\u8036\uF974\u91CE\u5F31\uF975\uF976\u7D04\u82E5\u846F\u84BB\u85E5\u8E8D\uF977\u4F6F\uF978\uF979\u58E4\u5B43\u6059\u63DA\u6518\u656D\u6698\uF97A\u694A\u6A23\u6D0B\u7001\u716C\u75D2\u760D\u79B3\u7A70\uF97B\u7F8A\uF97C\u8944\uF97D\u8B93\u91C0\u967D\uF97E\u990A\u5704\u5FA1\u65BC\u6F01\u7600\u79A6\u8A9E\u99AD\u9B5A\u9F6C\u5104\u61B6\u6291\u6A8D\u81C6\u5043\u5830\u5F66\u7109\u8A00\u8AFA\u5B7C\u8616\u4FFA\u513C\u56B4\u5944\u63A9\u6DF9\u5DAA\u696D\u5186\u4E88\u4F59\uF97F\uF980\uF981\u5982\uF982"],["e6a1","\uF983\u6B5F\u6C5D\uF984\u74B5\u7916\uF985\u8207\u8245\u8339\u8F3F\u8F5D\uF986\u9918\uF987\uF988\uF989\u4EA6\uF98A\u57DF\u5F79\u6613\uF98B\uF98C\u75AB\u7E79\u8B6F\uF98D\u9006\u9A5B\u56A5\u5827\u59F8\u5A1F\u5BB4\uF98E\u5EF6\uF98F\uF990\u6350\u633B\uF991\u693D\u6C87\u6CBF\u6D8E\u6D93\u6DF5\u6F14\uF992\u70DF\u7136\u7159\uF993\u71C3\u71D5\uF994\u784F\u786F\uF995\u7B75\u7DE3\uF996\u7E2F\uF997\u884D\u8EDF\uF998\uF999\uF99A\u925B\uF99B\u9CF6\uF99C\uF99D\uF99E\u6085\u6D85\uF99F\u71B1\uF9A0\uF9A1\u95B1\u53AD\uF9A2\uF9A3\uF9A4\u67D3\uF9A5\u708E\u7130\u7430\u8276\u82D2"],["e7a1","\uF9A6\u95BB\u9AE5\u9E7D\u66C4\uF9A7\u71C1\u8449\uF9A8\uF9A9\u584B\uF9AA\uF9AB\u5DB8\u5F71\uF9AC\u6620\u668E\u6979\u69AE\u6C38\u6CF3\u6E36\u6F41\u6FDA\u701B\u702F\u7150\u71DF\u7370\uF9AD\u745B\uF9AE\u74D4\u76C8\u7A4E\u7E93\uF9AF\uF9B0\u82F1\u8A60\u8FCE\uF9B1\u9348\uF9B2\u9719\uF9B3\uF9B4\u4E42\u502A\uF9B5\u5208\u53E1\u66F3\u6C6D\u6FCA\u730A\u777F\u7A62\u82AE\u85DD\u8602\uF9B6\u88D4\u8A63\u8B7D\u8C6B\uF9B7\u92B3\uF9B8\u9713\u9810\u4E94\u4F0D\u4FC9\u50B2\u5348\u543E\u5433\u55DA\u5862\u58BA\u5967\u5A1B\u5BE4\u609F\uF9B9\u61CA\u6556\u65FF\u6664\u68A7\u6C5A\u6FB3"],["e8a1","\u70CF\u71AC\u7352\u7B7D\u8708\u8AA4\u9C32\u9F07\u5C4B\u6C83\u7344\u7389\u923A\u6EAB\u7465\u761F\u7A69\u7E15\u860A\u5140\u58C5\u64C1\u74EE\u7515\u7670\u7FC1\u9095\u96CD\u9954\u6E26\u74E6\u7AA9\u7AAA\u81E5\u86D9\u8778\u8A1B\u5A49\u5B8C\u5B9B\u68A1\u6900\u6D63\u73A9\u7413\u742C\u7897\u7DE9\u7FEB\u8118\u8155\u839E\u8C4C\u962E\u9811\u66F0\u5F80\u65FA\u6789\u6C6A\u738B\u502D\u5A03\u6B6A\u77EE\u5916\u5D6C\u5DCD\u7325\u754F\uF9BA\uF9BB\u50E5\u51F9\u582F\u592D\u5996\u59DA\u5BE5\uF9BC\uF9BD\u5DA2\u62D7\u6416\u6493\u64FE\uF9BE\u66DC\uF9BF\u6A48\uF9C0\u71FF\u7464\uF9C1"],["e9a1","\u7A88\u7AAF\u7E47\u7E5E\u8000\u8170\uF9C2\u87EF\u8981\u8B20\u9059\uF9C3\u9080\u9952\u617E\u6B32\u6D74\u7E1F\u8925\u8FB1\u4FD1\u50AD\u5197\u52C7\u57C7\u5889\u5BB9\u5EB8\u6142\u6995\u6D8C\u6E67\u6EB6\u7194\u7462\u7528\u752C\u8073\u8338\u84C9\u8E0A\u9394\u93DE\uF9C4\u4E8E\u4F51\u5076\u512A\u53C8\u53CB\u53F3\u5B87\u5BD3\u5C24\u611A\u6182\u65F4\u725B\u7397\u7440\u76C2\u7950\u7991\u79B9\u7D06\u7FBD\u828B\u85D5\u865E\u8FC2\u9047\u90F5\u91EA\u9685\u96E8\u96E9\u52D6\u5F67\u65ED\u6631\u682F\u715C\u7A36\u90C1\u980A\u4E91\uF9C5\u6A52\u6B9E\u6F90\u7189\u8018\u82B8\u8553"],["eaa1","\u904B\u9695\u96F2\u97FB\u851A\u9B31\u4E90\u718A\u96C4\u5143\u539F\u54E1\u5713\u5712\u57A3\u5A9B\u5AC4\u5BC3\u6028\u613F\u63F4\u6C85\u6D39\u6E72\u6E90\u7230\u733F\u7457\u82D1\u8881\u8F45\u9060\uF9C6\u9662\u9858\u9D1B\u6708\u8D8A\u925E\u4F4D\u5049\u50DE\u5371\u570D\u59D4\u5A01\u5C09\u6170\u6690\u6E2D\u7232\u744B\u7DEF\u80C3\u840E\u8466\u853F\u875F\u885B\u8918\u8B02\u9055\u97CB\u9B4F\u4E73\u4F91\u5112\u516A\uF9C7\u552F\u55A9\u5B7A\u5BA5\u5E7C\u5E7D\u5EBE\u60A0\u60DF\u6108\u6109\u63C4\u6538\u6709\uF9C8\u67D4\u67DA\uF9C9\u6961\u6962\u6CB9\u6D27\uF9CA\u6E38\uF9CB"],["eba1","\u6FE1\u7336\u7337\uF9CC\u745C\u7531\uF9CD\u7652\uF9CE\uF9CF\u7DAD\u81FE\u8438\u88D5\u8A98\u8ADB\u8AED\u8E30\u8E42\u904A\u903E\u907A\u9149\u91C9\u936E\uF9D0\uF9D1\u5809\uF9D2\u6BD3\u8089\u80B2\uF9D3\uF9D4\u5141\u596B\u5C39\uF9D5\uF9D6\u6F64\u73A7\u80E4\u8D07\uF9D7\u9217\u958F\uF9D8\uF9D9\uF9DA\uF9DB\u807F\u620E\u701C\u7D68\u878D\uF9DC\u57A0\u6069\u6147\u6BB7\u8ABE\u9280\u96B1\u4E59\u541F\u6DEB\u852D\u9670\u97F3\u98EE\u63D6\u6CE3\u9091\u51DD\u61C9\u81BA\u9DF9\u4F9D\u501A\u5100\u5B9C\u610F\u61FF\u64EC\u6905\u6BC5\u7591\u77E3\u7FA9\u8264\u858F\u87FB\u8863\u8ABC"],["eca1","\u8B70\u91AB\u4E8C\u4EE5\u4F0A\uF9DD\uF9DE\u5937\u59E8\uF9DF\u5DF2\u5F1B\u5F5B\u6021\uF9E0\uF9E1\uF9E2\uF9E3\u723E\u73E5\uF9E4\u7570\u75CD\uF9E5\u79FB\uF9E6\u800C\u8033\u8084\u82E1\u8351\uF9E7\uF9E8\u8CBD\u8CB3\u9087\uF9E9\uF9EA\u98F4\u990C\uF9EB\uF9EC\u7037\u76CA\u7FCA\u7FCC\u7FFC\u8B1A\u4EBA\u4EC1\u5203\u5370\uF9ED\u54BD\u56E0\u59FB\u5BC5\u5F15\u5FCD\u6E6E\uF9EE\uF9EF\u7D6A\u8335\uF9F0\u8693\u8A8D\uF9F1\u976D\u9777\uF9F2\uF9F3\u4E00\u4F5A\u4F7E\u58F9\u65E5\u6EA2\u9038\u93B0\u99B9\u4EFB\u58EC\u598A\u59D9\u6041\uF9F4\uF9F5\u7A14\uF9F6\u834F\u8CC3\u5165\u5344"],["eda1","\uF9F7\uF9F8\uF9F9\u4ECD\u5269\u5B55\u82BF\u4ED4\u523A\u54A8\u59C9\u59FF\u5B50\u5B57\u5B5C\u6063\u6148\u6ECB\u7099\u716E\u7386\u74F7\u75B5\u78C1\u7D2B\u8005\u81EA\u8328\u8517\u85C9\u8AEE\u8CC7\u96CC\u4F5C\u52FA\u56BC\u65AB\u6628\u707C\u70B8\u7235\u7DBD\u828D\u914C\u96C0\u9D72\u5B71\u68E7\u6B98\u6F7A\u76DE\u5C91\u66AB\u6F5B\u7BB4\u7C2A\u8836\u96DC\u4E08\u4ED7\u5320\u5834\u58BB\u58EF\u596C\u5C07\u5E33\u5E84\u5F35\u638C\u66B2\u6756\u6A1F\u6AA3\u6B0C\u6F3F\u7246\uF9FA\u7350\u748B\u7AE0\u7CA7\u8178\u81DF\u81E7\u838A\u846C\u8523\u8594\u85CF\u88DD\u8D13\u91AC\u9577"],["eea1","\u969C\u518D\u54C9\u5728\u5BB0\u624D\u6750\u683D\u6893\u6E3D\u6ED3\u707D\u7E21\u88C1\u8CA1\u8F09\u9F4B\u9F4E\u722D\u7B8F\u8ACD\u931A\u4F47\u4F4E\u5132\u5480\u59D0\u5E95\u62B5\u6775\u696E\u6A17\u6CAE\u6E1A\u72D9\u732A\u75BD\u7BB8\u7D35\u82E7\u83F9\u8457\u85F7\u8A5B\u8CAF\u8E87\u9019\u90B8\u96CE\u9F5F\u52E3\u540A\u5AE1\u5BC2\u6458\u6575\u6EF4\u72C4\uF9FB\u7684\u7A4D\u7B1B\u7C4D\u7E3E\u7FDF\u837B\u8B2B\u8CCA\u8D64\u8DE1\u8E5F\u8FEA\u8FF9\u9069\u93D1\u4F43\u4F7A\u50B3\u5168\u5178\u524D\u526A\u5861\u587C\u5960\u5C08\u5C55\u5EDB\u609B\u6230\u6813\u6BBF\u6C08\u6FB1"],["efa1","\u714E\u7420\u7530\u7538\u7551\u7672\u7B4C\u7B8B\u7BAD\u7BC6\u7E8F\u8A6E\u8F3E\u8F49\u923F\u9293\u9322\u942B\u96FB\u985A\u986B\u991E\u5207\u622A\u6298\u6D59\u7664\u7ACA\u7BC0\u7D76\u5360\u5CBE\u5E97\u6F38\u70B9\u7C98\u9711\u9B8E\u9EDE\u63A5\u647A\u8776\u4E01\u4E95\u4EAD\u505C\u5075\u5448\u59C3\u5B9A\u5E40\u5EAD\u5EF7\u5F81\u60C5\u633A\u653F\u6574\u65CC\u6676\u6678\u67FE\u6968\u6A89\u6B63\u6C40\u6DC0\u6DE8\u6E1F\u6E5E\u701E\u70A1\u738E\u73FD\u753A\u775B\u7887\u798E\u7A0B\u7A7D\u7CBE\u7D8E\u8247\u8A02\u8AEA\u8C9E\u912D\u914A\u91D8\u9266\u92CC\u9320\u9706\u9756"],["f0a1","\u975C\u9802\u9F0E\u5236\u5291\u557C\u5824\u5E1D\u5F1F\u608C\u63D0\u68AF\u6FDF\u796D\u7B2C\u81CD\u85BA\u88FD\u8AF8\u8E44\u918D\u9664\u969B\u973D\u984C\u9F4A\u4FCE\u5146\u51CB\u52A9\u5632\u5F14\u5F6B\u63AA\u64CD\u65E9\u6641\u66FA\u66F9\u671D\u689D\u68D7\u69FD\u6F15\u6F6E\u7167\u71E5\u722A\u74AA\u773A\u7956\u795A\u79DF\u7A20\u7A95\u7C97\u7CDF\u7D44\u7E70\u8087\u85FB\u86A4\u8A54\u8ABF\u8D99\u8E81\u9020\u906D\u91E3\u963B\u96D5\u9CE5\u65CF\u7C07\u8DB3\u93C3\u5B58\u5C0A\u5352\u62D9\u731D\u5027\u5B97\u5F9E\u60B0\u616B\u68D5\u6DD9\u742E\u7A2E\u7D42\u7D9C\u7E31\u816B"],["f1a1","\u8E2A\u8E35\u937E\u9418\u4F50\u5750\u5DE6\u5EA7\u632B\u7F6A\u4E3B\u4F4F\u4F8F\u505A\u59DD\u80C4\u546A\u5468\u55FE\u594F\u5B99\u5DDE\u5EDA\u665D\u6731\u67F1\u682A\u6CE8\u6D32\u6E4A\u6F8D\u70B7\u73E0\u7587\u7C4C\u7D02\u7D2C\u7DA2\u821F\u86DB\u8A3B\u8A85\u8D70\u8E8A\u8F33\u9031\u914E\u9152\u9444\u99D0\u7AF9\u7CA5\u4FCA\u5101\u51C6\u57C8\u5BEF\u5CFB\u6659\u6A3D\u6D5A\u6E96\u6FEC\u710C\u756F\u7AE3\u8822\u9021\u9075\u96CB\u99FF\u8301\u4E2D\u4EF2\u8846\u91CD\u537D\u6ADB\u696B\u6C41\u847A\u589E\u618E\u66FE\u62EF\u70DD\u7511\u75C7\u7E52\u84B8\u8B49\u8D08\u4E4B\u53EA"],["f2a1","\u54AB\u5730\u5740\u5FD7\u6301\u6307\u646F\u652F\u65E8\u667A\u679D\u67B3\u6B62\u6C60\u6C9A\u6F2C\u77E5\u7825\u7949\u7957\u7D19\u80A2\u8102\u81F3\u829D\u82B7\u8718\u8A8C\uF9FC\u8D04\u8DBE\u9072\u76F4\u7A19\u7A37\u7E54\u8077\u5507\u55D4\u5875\u632F\u6422\u6649\u664B\u686D\u699B\u6B84\u6D25\u6EB1\u73CD\u7468\u74A1\u755B\u75B9\u76E1\u771E\u778B\u79E6\u7E09\u7E1D\u81FB\u852F\u8897\u8A3A\u8CD1\u8EEB\u8FB0\u9032\u93AD\u9663\u9673\u9707\u4F84\u53F1\u59EA\u5AC9\u5E19\u684E\u74C6\u75BE\u79E9\u7A92\u81A3\u86ED\u8CEA\u8DCC\u8FED\u659F\u6715\uF9FD\u57F7\u6F57\u7DDD\u8F2F"],["f3a1","\u93F6\u96C6\u5FB5\u61F2\u6F84\u4E14\u4F98\u501F\u53C9\u55DF\u5D6F\u5DEE\u6B21\u6B64\u78CB\u7B9A\uF9FE\u8E49\u8ECA\u906E\u6349\u643E\u7740\u7A84\u932F\u947F\u9F6A\u64B0\u6FAF\u71E6\u74A8\u74DA\u7AC4\u7C12\u7E82\u7CB2\u7E98\u8B9A\u8D0A\u947D\u9910\u994C\u5239\u5BDF\u64E6\u672D\u7D2E\u50ED\u53C3\u5879\u6158\u6159\u61FA\u65AC\u7AD9\u8B92\u8B96\u5009\u5021\u5275\u5531\u5A3C\u5EE0\u5F70\u6134\u655E\u660C\u6636\u66A2\u69CD\u6EC4\u6F32\u7316\u7621\u7A93\u8139\u8259\u83D6\u84BC\u50B5\u57F0\u5BC0\u5BE8\u5F69\u63A1\u7826\u7DB5\u83DC\u8521\u91C7\u91F5\u518A\u67F5\u7B56"],["f4a1","\u8CAC\u51C4\u59BB\u60BD\u8655\u501C\uF9FF\u5254\u5C3A\u617D\u621A\u62D3\u64F2\u65A5\u6ECC\u7620\u810A\u8E60\u965F\u96BB\u4EDF\u5343\u5598\u5929\u5DDD\u64C5\u6CC9\u6DFA\u7394\u7A7F\u821B\u85A6\u8CE4\u8E10\u9077\u91E7\u95E1\u9621\u97C6\u51F8\u54F2\u5586\u5FB9\u64A4\u6F88\u7DB4\u8F1F\u8F4D\u9435\u50C9\u5C16\u6CBE\u6DFB\u751B\u77BB\u7C3D\u7C64\u8A79\u8AC2\u581E\u59BE\u5E16\u6377\u7252\u758A\u776B\u8ADC\u8CBC\u8F12\u5EF3\u6674\u6DF8\u807D\u83C1\u8ACB\u9751\u9BD6\uFA00\u5243\u66FF\u6D95\u6EEF\u7DE0\u8AE6\u902E\u905E\u9AD4\u521D\u527F\u54E8\u6194\u6284\u62DB\u68A2"],["f5a1","\u6912\u695A\u6A35\u7092\u7126\u785D\u7901\u790E\u79D2\u7A0D\u8096\u8278\u82D5\u8349\u8549\u8C82\u8D85\u9162\u918B\u91AE\u4FC3\u56D1\u71ED\u77D7\u8700\u89F8\u5BF8\u5FD6\u6751\u90A8\u53E2\u585A\u5BF5\u60A4\u6181\u6460\u7E3D\u8070\u8525\u9283\u64AE\u50AC\u5D14\u6700\u589C\u62BD\u63A8\u690E\u6978\u6A1E\u6E6B\u76BA\u79CB\u82BB\u8429\u8ACF\u8DA8\u8FFD\u9112\u914B\u919C\u9310\u9318\u939A\u96DB\u9A36\u9C0D\u4E11\u755C\u795D\u7AFA\u7B51\u7BC9\u7E2E\u84C4\u8E59\u8E74\u8EF8\u9010\u6625\u693F\u7443\u51FA\u672E\u9EDC\u5145\u5FE0\u6C96\u87F2\u885D\u8877\u60B4\u81B5\u8403"],["f6a1","\u8D05\u53D6\u5439\u5634\u5A36\u5C31\u708A\u7FE0\u805A\u8106\u81ED\u8DA3\u9189\u9A5F\u9DF2\u5074\u4EC4\u53A0\u60FB\u6E2C\u5C64\u4F88\u5024\u55E4\u5CD9\u5E5F\u6065\u6894\u6CBB\u6DC4\u71BE\u75D4\u75F4\u7661\u7A1A\u7A49\u7DC7\u7DFB\u7F6E\u81F4\u86A9\u8F1C\u96C9\u99B3\u9F52\u5247\u52C5\u98ED\u89AA\u4E03\u67D2\u6F06\u4FB5\u5BE2\u6795\u6C88\u6D78\u741B\u7827\u91DD\u937C\u87C4\u79E4\u7A31\u5FEB\u4ED6\u54A4\u553E\u58AE\u59A5\u60F0\u6253\u62D6\u6736\u6955\u8235\u9640\u99B1\u99DD\u502C\u5353\u5544\u577C\uFA01\u6258\uFA02\u64E2\u666B\u67DD\u6FC1\u6FEF\u7422\u7438\u8A17"],["f7a1","\u9438\u5451\u5606\u5766\u5F48\u619A\u6B4E\u7058\u70AD\u7DBB\u8A95\u596A\u812B\u63A2\u7708\u803D\u8CAA\u5854\u642D\u69BB\u5B95\u5E11\u6E6F\uFA03\u8569\u514C\u53F0\u592A\u6020\u614B\u6B86\u6C70\u6CF0\u7B1E\u80CE\u82D4\u8DC6\u90B0\u98B1\uFA04\u64C7\u6FA4\u6491\u6504\u514E\u5410\u571F\u8A0E\u615F\u6876\uFA05\u75DB\u7B52\u7D71\u901A\u5806\u69CC\u817F\u892A\u9000\u9839\u5078\u5957\u59AC\u6295\u900F\u9B2A\u615D\u7279\u95D6\u5761\u5A46\u5DF4\u628A\u64AD\u64FA\u6777\u6CE2\u6D3E\u722C\u7436\u7834\u7F77\u82AD\u8DDB\u9817\u5224\u5742\u677F\u7248\u74E3\u8CA9\u8FA6\u9211"],["f8a1","\u962A\u516B\u53ED\u634C\u4F69\u5504\u6096\u6557\u6C9B\u6D7F\u724C\u72FD\u7A17\u8987\u8C9D\u5F6D\u6F8E\u70F9\u81A8\u610E\u4FBF\u504F\u6241\u7247\u7BC7\u7DE8\u7FE9\u904D\u97AD\u9A19\u8CB6\u576A\u5E73\u67B0\u840D\u8A55\u5420\u5B16\u5E63\u5EE2\u5F0A\u6583\u80BA\u853D\u9589\u965B\u4F48\u5305\u530D\u530F\u5486\u54FA\u5703\u5E03\u6016\u629B\u62B1\u6355\uFA06\u6CE1\u6D66\u75B1\u7832\u80DE\u812F\u82DE\u8461\u84B2\u888D\u8912\u900B\u92EA\u98FD\u9B91\u5E45\u66B4\u66DD\u7011\u7206\uFA07\u4FF5\u527D\u5F6A\u6153\u6753\u6A19\u6F02\u74E2\u7968\u8868\u8C79\u98C7\u98C4\u9A43"],["f9a1","\u54C1\u7A1F\u6953\u8AF7\u8C4A\u98A8\u99AE\u5F7C\u62AB\u75B2\u76AE\u88AB\u907F\u9642\u5339\u5F3C\u5FC5\u6CCC\u73CC\u7562\u758B\u7B46\u82FE\u999D\u4E4F\u903C\u4E0B\u4F55\u53A6\u590F\u5EC8\u6630\u6CB3\u7455\u8377\u8766\u8CC0\u9050\u971E\u9C15\u58D1\u5B78\u8650\u8B14\u9DB4\u5BD2\u6068\u608D\u65F1\u6C57\u6F22\u6FA3\u701A\u7F55\u7FF0\u9591\u9592\u9650\u97D3\u5272\u8F44\u51FD\u542B\u54B8\u5563\u558A\u6ABB\u6DB5\u7DD8\u8266\u929C\u9677\u9E79\u5408\u54C8\u76D2\u86E4\u95A4\u95D4\u965C\u4EA2\u4F09\u59EE\u5AE6\u5DF7\u6052\u6297\u676D\u6841\u6C86\u6E2F\u7F38\u809B\u822A"],["faa1","\uFA08\uFA09\u9805\u4EA5\u5055\u54B3\u5793\u595A\u5B69\u5BB3\u61C8\u6977\u6D77\u7023\u87F9\u89E3\u8A72\u8AE7\u9082\u99ED\u9AB8\u52BE\u6838\u5016\u5E78\u674F\u8347\u884C\u4EAB\u5411\u56AE\u73E6\u9115\u97FF\u9909\u9957\u9999\u5653\u589F\u865B\u8A31\u61B2\u6AF6\u737B\u8ED2\u6B47\u96AA\u9A57\u5955\u7200\u8D6B\u9769\u4FD4\u5CF4\u5F26\u61F8\u665B\u6CEB\u70AB\u7384\u73B9\u73FE\u7729\u774D\u7D43\u7D62\u7E23\u8237\u8852\uFA0A\u8CE2\u9249\u986F\u5B51\u7A74\u8840\u9801\u5ACC\u4FE0\u5354\u593E\u5CFD\u633E\u6D79\u72F9\u8105\u8107\u83A2\u92CF\u9830\u4EA8\u5144\u5211\u578B"],["fba1","\u5F62\u6CC2\u6ECE\u7005\u7050\u70AF\u7192\u73E9\u7469\u834A\u87A2\u8861\u9008\u90A2\u93A3\u99A8\u516E\u5F57\u60E0\u6167\u66B3\u8559\u8E4A\u91AF\u978B\u4E4E\u4E92\u547C\u58D5\u58FA\u597D\u5CB5\u5F27\u6236\u6248\u660A\u6667\u6BEB\u6D69\u6DCF\u6E56\u6EF8\u6F94\u6FE0\u6FE9\u705D\u72D0\u7425\u745A\u74E0\u7693\u795C\u7CCA\u7E1E\u80E1\u82A6\u846B\u84BF\u864E\u865F\u8774\u8B77\u8C6A\u93AC\u9800\u9865\u60D1\u6216\u9177\u5A5A\u660F\u6DF7\u6E3E\u743F\u9B42\u5FFD\u60DA\u7B0F\u54C4\u5F18\u6C5E\u6CD3\u6D2A\u70D8\u7D05\u8679\u8A0C\u9D3B\u5316\u548C\u5B05\u6A3A\u706B\u7575"],["fca1","\u798D\u79BE\u82B1\u83EF\u8A71\u8B41\u8CA8\u9774\uFA0B\u64F4\u652B\u78BA\u78BB\u7A6B\u4E38\u559A\u5950\u5BA6\u5E7B\u60A3\u63DB\u6B61\u6665\u6853\u6E19\u7165\u74B0\u7D08\u9084\u9A69\u9C25\u6D3B\u6ED1\u733E\u8C41\u95CA\u51F0\u5E4C\u5FA8\u604D\u60F6\u6130\u614C\u6643\u6644\u69A5\u6CC1\u6E5F\u6EC9\u6F62\u714C\u749C\u7687\u7BC1\u7C27\u8352\u8757\u9051\u968D\u9EC3\u532F\u56DE\u5EFB\u5F8A\u6062\u6094\u61F7\u6666\u6703\u6A9C\u6DEE\u6FAE\u7070\u736A\u7E6A\u81BE\u8334\u86D4\u8AA8\u8CC4\u5283\u7372\u5B96\u6A6B\u9404\u54EE\u5686\u5B5D\u6548\u6585\u66C9\u689F\u6D8D\u6DC6"],["fda1","\u723B\u80B4\u9175\u9A4D\u4FAF\u5019\u539A\u540E\u543C\u5589\u55C5\u5E3F\u5F8C\u673D\u7166\u73DD\u9005\u52DB\u52F3\u5864\u58CE\u7104\u718F\u71FB\u85B0\u8A13\u6688\u85A8\u55A7\u6684\u714A\u8431\u5349\u5599\u6BC1\u5F59\u5FBD\u63EE\u6689\u7147\u8AF1\u8F1D\u9EBE\u4F11\u643A\u70CB\u7566\u8667\u6064\u8B4E\u9DF8\u5147\u51F6\u5308\u6D36\u80F8\u9ED1\u6615\u6B23\u7098\u75D5\u5403\u5C79\u7D07\u8A16\u6B20\u6B3D\u6B46\u5438\u6070\u6D3D\u7FD5\u8208\u50D6\u51DE\u559C\u566B\u56CD\u59EC\u5B09\u5E0C\u6199\u6198\u6231\u665E\u66E6\u7199\u71B9\u71BA\u72A7\u79A7\u7A00\u7FB2\u8A70"]]});var mTe=S((wms,jJr)=>{jJr.exports=[["0","\0",127],["a140","\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"],["a1a1","\uFE5B\uFE5C\uFE5D\uFE5E\u2018\u2019\u201C\u201D\u301D\u301E\u2035\u2032\uFF03\uFF06\uFF0A\u203B\xA7\u3003\u25CB\u25CF\u25B3\u25B2\u25CE\u2606\u2605\u25C7\u25C6\u25A1\u25A0\u25BD\u25BC\u32A3\u2105\xAF\uFFE3\uFF3F\u02CD\uFE49\uFE4A\uFE4D\uFE4E\uFE4B\uFE4C\uFE5F\uFE60\uFE61\uFF0B\uFF0D\xD7\xF7\xB1\u221A\uFF1C\uFF1E\uFF1D\u2266\u2267\u2260\u221E\u2252\u2261\uFE62",4,"\uFF5E\u2229\u222A\u22A5\u2220\u221F\u22BF\u33D2\u33D1\u222B\u222E\u2235\u2234\u2640\u2642\u2295\u2299\u2191\u2193\u2190\u2192\u2196\u2197\u2199\u2198\u2225\u2223\uFF0F"],["a240","\uFF3C\u2215\uFE68\uFF04\uFFE5\u3012\uFFE0\uFFE1\uFF05\uFF20\u2103\u2109\uFE69\uFE6A\uFE6B\u33D5\u339C\u339D\u339E\u33CE\u33A1\u338E\u338F\u33C4\xB0\u5159\u515B\u515E\u515D\u5161\u5163\u55E7\u74E9\u7CCE\u2581",7,"\u258F\u258E\u258D\u258C\u258B\u258A\u2589\u253C\u2534\u252C\u2524\u251C\u2594\u2500\u2502\u2595\u250C\u2510\u2514\u2518\u256D"],["a2a1","\u256E\u2570\u256F\u2550\u255E\u256A\u2561\u25E2\u25E3\u25E5\u25E4\u2571\u2572\u2573\uFF10",9,"\u2160",9,"\u3021",8,"\u5341\u5344\u5345\uFF21",25,"\uFF41",21],["a340","\uFF57\uFF58\uFF59\uFF5A\u0391",16,"\u03A3",6,"\u03B1",16,"\u03C3",6,"\u3105",10],["a3a1","\u3110",25,"\u02D9\u02C9\u02CA\u02C7\u02CB"],["a3e1","\u20AC"],["a440","\u4E00\u4E59\u4E01\u4E03\u4E43\u4E5D\u4E86\u4E8C\u4EBA\u513F\u5165\u516B\u51E0\u5200\u5201\u529B\u5315\u5341\u535C\u53C8\u4E09\u4E0B\u4E08\u4E0A\u4E2B\u4E38\u51E1\u4E45\u4E48\u4E5F\u4E5E\u4E8E\u4EA1\u5140\u5203\u52FA\u5343\u53C9\u53E3\u571F\u58EB\u5915\u5927\u5973\u5B50\u5B51\u5B53\u5BF8\u5C0F\u5C22\u5C38\u5C71\u5DDD\u5DE5\u5DF1\u5DF2\u5DF3\u5DFE\u5E72\u5EFE\u5F0B\u5F13\u624D"],["a4a1","\u4E11\u4E10\u4E0D\u4E2D\u4E30\u4E39\u4E4B\u5C39\u4E88\u4E91\u4E95\u4E92\u4E94\u4EA2\u4EC1\u4EC0\u4EC3\u4EC6\u4EC7\u4ECD\u4ECA\u4ECB\u4EC4\u5143\u5141\u5167\u516D\u516E\u516C\u5197\u51F6\u5206\u5207\u5208\u52FB\u52FE\u52FF\u5316\u5339\u5348\u5347\u5345\u535E\u5384\u53CB\u53CA\u53CD\u58EC\u5929\u592B\u592A\u592D\u5B54\u5C11\u5C24\u5C3A\u5C6F\u5DF4\u5E7B\u5EFF\u5F14\u5F15\u5FC3\u6208\u6236\u624B\u624E\u652F\u6587\u6597\u65A4\u65B9\u65E5\u66F0\u6708\u6728\u6B20\u6B62\u6B79\u6BCB\u6BD4\u6BDB\u6C0F\u6C34\u706B\u722A\u7236\u723B\u7247\u7259\u725B\u72AC\u738B\u4E19"],["a540","\u4E16\u4E15\u4E14\u4E18\u4E3B\u4E4D\u4E4F\u4E4E\u4EE5\u4ED8\u4ED4\u4ED5\u4ED6\u4ED7\u4EE3\u4EE4\u4ED9\u4EDE\u5145\u5144\u5189\u518A\u51AC\u51F9\u51FA\u51F8\u520A\u52A0\u529F\u5305\u5306\u5317\u531D\u4EDF\u534A\u5349\u5361\u5360\u536F\u536E\u53BB\u53EF\u53E4\u53F3\u53EC\u53EE\u53E9\u53E8\u53FC\u53F8\u53F5\u53EB\u53E6\u53EA\u53F2\u53F1\u53F0\u53E5\u53ED\u53FB\u56DB\u56DA\u5916"],["a5a1","\u592E\u5931\u5974\u5976\u5B55\u5B83\u5C3C\u5DE8\u5DE7\u5DE6\u5E02\u5E03\u5E73\u5E7C\u5F01\u5F18\u5F17\u5FC5\u620A\u6253\u6254\u6252\u6251\u65A5\u65E6\u672E\u672C\u672A\u672B\u672D\u6B63\u6BCD\u6C11\u6C10\u6C38\u6C41\u6C40\u6C3E\u72AF\u7384\u7389\u74DC\u74E6\u7518\u751F\u7528\u7529\u7530\u7531\u7532\u7533\u758B\u767D\u76AE\u76BF\u76EE\u77DB\u77E2\u77F3\u793A\u79BE\u7A74\u7ACB\u4E1E\u4E1F\u4E52\u4E53\u4E69\u4E99\u4EA4\u4EA6\u4EA5\u4EFF\u4F09\u4F19\u4F0A\u4F15\u4F0D\u4F10\u4F11\u4F0F\u4EF2\u4EF6\u4EFB\u4EF0\u4EF3\u4EFD\u4F01\u4F0B\u5149\u5147\u5146\u5148\u5168"],["a640","\u5171\u518D\u51B0\u5217\u5211\u5212\u520E\u5216\u52A3\u5308\u5321\u5320\u5370\u5371\u5409\u540F\u540C\u540A\u5410\u5401\u540B\u5404\u5411\u540D\u5408\u5403\u540E\u5406\u5412\u56E0\u56DE\u56DD\u5733\u5730\u5728\u572D\u572C\u572F\u5729\u5919\u591A\u5937\u5938\u5984\u5978\u5983\u597D\u5979\u5982\u5981\u5B57\u5B58\u5B87\u5B88\u5B85\u5B89\u5BFA\u5C16\u5C79\u5DDE\u5E06\u5E76\u5E74"],["a6a1","\u5F0F\u5F1B\u5FD9\u5FD6\u620E\u620C\u620D\u6210\u6263\u625B\u6258\u6536\u65E9\u65E8\u65EC\u65ED\u66F2\u66F3\u6709\u673D\u6734\u6731\u6735\u6B21\u6B64\u6B7B\u6C16\u6C5D\u6C57\u6C59\u6C5F\u6C60\u6C50\u6C55\u6C61\u6C5B\u6C4D\u6C4E\u7070\u725F\u725D\u767E\u7AF9\u7C73\u7CF8\u7F36\u7F8A\u7FBD\u8001\u8003\u800C\u8012\u8033\u807F\u8089\u808B\u808C\u81E3\u81EA\u81F3\u81FC\u820C\u821B\u821F\u826E\u8272\u827E\u866B\u8840\u884C\u8863\u897F\u9621\u4E32\u4EA8\u4F4D\u4F4F\u4F47\u4F57\u4F5E\u4F34\u4F5B\u4F55\u4F30\u4F50\u4F51\u4F3D\u4F3A\u4F38\u4F43\u4F54\u4F3C\u4F46\u4F63"],["a740","\u4F5C\u4F60\u4F2F\u4F4E\u4F36\u4F59\u4F5D\u4F48\u4F5A\u514C\u514B\u514D\u5175\u51B6\u51B7\u5225\u5224\u5229\u522A\u5228\u52AB\u52A9\u52AA\u52AC\u5323\u5373\u5375\u541D\u542D\u541E\u543E\u5426\u544E\u5427\u5446\u5443\u5433\u5448\u5442\u541B\u5429\u544A\u5439\u543B\u5438\u542E\u5435\u5436\u5420\u543C\u5440\u5431\u542B\u541F\u542C\u56EA\u56F0\u56E4\u56EB\u574A\u5751\u5740\u574D"],["a7a1","\u5747\u574E\u573E\u5750\u574F\u573B\u58EF\u593E\u599D\u5992\u59A8\u599E\u59A3\u5999\u5996\u598D\u59A4\u5993\u598A\u59A5\u5B5D\u5B5C\u5B5A\u5B5B\u5B8C\u5B8B\u5B8F\u5C2C\u5C40\u5C41\u5C3F\u5C3E\u5C90\u5C91\u5C94\u5C8C\u5DEB\u5E0C\u5E8F\u5E87\u5E8A\u5EF7\u5F04\u5F1F\u5F64\u5F62\u5F77\u5F79\u5FD8\u5FCC\u5FD7\u5FCD\u5FF1\u5FEB\u5FF8\u5FEA\u6212\u6211\u6284\u6297\u6296\u6280\u6276\u6289\u626D\u628A\u627C\u627E\u6279\u6273\u6292\u626F\u6298\u626E\u6295\u6293\u6291\u6286\u6539\u653B\u6538\u65F1\u66F4\u675F\u674E\u674F\u6750\u6751\u675C\u6756\u675E\u6749\u6746\u6760"],["a840","\u6753\u6757\u6B65\u6BCF\u6C42\u6C5E\u6C99\u6C81\u6C88\u6C89\u6C85\u6C9B\u6C6A\u6C7A\u6C90\u6C70\u6C8C\u6C68\u6C96\u6C92\u6C7D\u6C83\u6C72\u6C7E\u6C74\u6C86\u6C76\u6C8D\u6C94\u6C98\u6C82\u7076\u707C\u707D\u7078\u7262\u7261\u7260\u72C4\u72C2\u7396\u752C\u752B\u7537\u7538\u7682\u76EF\u77E3\u79C1\u79C0\u79BF\u7A76\u7CFB\u7F55\u8096\u8093\u809D\u8098\u809B\u809A\u80B2\u826F\u8292"],["a8a1","\u828B\u828D\u898B\u89D2\u8A00\u8C37\u8C46\u8C55\u8C9D\u8D64\u8D70\u8DB3\u8EAB\u8ECA\u8F9B\u8FB0\u8FC2\u8FC6\u8FC5\u8FC4\u5DE1\u9091\u90A2\u90AA\u90A6\u90A3\u9149\u91C6\u91CC\u9632\u962E\u9631\u962A\u962C\u4E26\u4E56\u4E73\u4E8B\u4E9B\u4E9E\u4EAB\u4EAC\u4F6F\u4F9D\u4F8D\u4F73\u4F7F\u4F6C\u4F9B\u4F8B\u4F86\u4F83\u4F70\u4F75\u4F88\u4F69\u4F7B\u4F96\u4F7E\u4F8F\u4F91\u4F7A\u5154\u5152\u5155\u5169\u5177\u5176\u5178\u51BD\u51FD\u523B\u5238\u5237\u523A\u5230\u522E\u5236\u5241\u52BE\u52BB\u5352\u5354\u5353\u5351\u5366\u5377\u5378\u5379\u53D6\u53D4\u53D7\u5473\u5475"],["a940","\u5496\u5478\u5495\u5480\u547B\u5477\u5484\u5492\u5486\u547C\u5490\u5471\u5476\u548C\u549A\u5462\u5468\u548B\u547D\u548E\u56FA\u5783\u5777\u576A\u5769\u5761\u5766\u5764\u577C\u591C\u5949\u5947\u5948\u5944\u5954\u59BE\u59BB\u59D4\u59B9\u59AE\u59D1\u59C6\u59D0\u59CD\u59CB\u59D3\u59CA\u59AF\u59B3\u59D2\u59C5\u5B5F\u5B64\u5B63\u5B97\u5B9A\u5B98\u5B9C\u5B99\u5B9B\u5C1A\u5C48\u5C45"],["a9a1","\u5C46\u5CB7\u5CA1\u5CB8\u5CA9\u5CAB\u5CB1\u5CB3\u5E18\u5E1A\u5E16\u5E15\u5E1B\u5E11\u5E78\u5E9A\u5E97\u5E9C\u5E95\u5E96\u5EF6\u5F26\u5F27\u5F29\u5F80\u5F81\u5F7F\u5F7C\u5FDD\u5FE0\u5FFD\u5FF5\u5FFF\u600F\u6014\u602F\u6035\u6016\u602A\u6015\u6021\u6027\u6029\u602B\u601B\u6216\u6215\u623F\u623E\u6240\u627F\u62C9\u62CC\u62C4\u62BF\u62C2\u62B9\u62D2\u62DB\u62AB\u62D3\u62D4\u62CB\u62C8\u62A8\u62BD\u62BC\u62D0\u62D9\u62C7\u62CD\u62B5\u62DA\u62B1\u62D8\u62D6\u62D7\u62C6\u62AC\u62CE\u653E\u65A7\u65BC\u65FA\u6614\u6613\u660C\u6606\u6602\u660E\u6600\u660F\u6615\u660A"],["aa40","\u6607\u670D\u670B\u676D\u678B\u6795\u6771\u679C\u6773\u6777\u6787\u679D\u6797\u676F\u6770\u677F\u6789\u677E\u6790\u6775\u679A\u6793\u677C\u676A\u6772\u6B23\u6B66\u6B67\u6B7F\u6C13\u6C1B\u6CE3\u6CE8\u6CF3\u6CB1\u6CCC\u6CE5\u6CB3\u6CBD\u6CBE\u6CBC\u6CE2\u6CAB\u6CD5\u6CD3\u6CB8\u6CC4\u6CB9\u6CC1\u6CAE\u6CD7\u6CC5\u6CF1\u6CBF\u6CBB\u6CE1\u6CDB\u6CCA\u6CAC\u6CEF\u6CDC\u6CD6\u6CE0"],["aaa1","\u7095\u708E\u7092\u708A\u7099\u722C\u722D\u7238\u7248\u7267\u7269\u72C0\u72CE\u72D9\u72D7\u72D0\u73A9\u73A8\u739F\u73AB\u73A5\u753D\u759D\u7599\u759A\u7684\u76C2\u76F2\u76F4\u77E5\u77FD\u793E\u7940\u7941\u79C9\u79C8\u7A7A\u7A79\u7AFA\u7CFE\u7F54\u7F8C\u7F8B\u8005\u80BA\u80A5\u80A2\u80B1\u80A1\u80AB\u80A9\u80B4\u80AA\u80AF\u81E5\u81FE\u820D\u82B3\u829D\u8299\u82AD\u82BD\u829F\u82B9\u82B1\u82AC\u82A5\u82AF\u82B8\u82A3\u82B0\u82BE\u82B7\u864E\u8671\u521D\u8868\u8ECB\u8FCE\u8FD4\u8FD1\u90B5\u90B8\u90B1\u90B6\u91C7\u91D1\u9577\u9580\u961C\u9640\u963F\u963B\u9644"],["ab40","\u9642\u96B9\u96E8\u9752\u975E\u4E9F\u4EAD\u4EAE\u4FE1\u4FB5\u4FAF\u4FBF\u4FE0\u4FD1\u4FCF\u4FDD\u4FC3\u4FB6\u4FD8\u4FDF\u4FCA\u4FD7\u4FAE\u4FD0\u4FC4\u4FC2\u4FDA\u4FCE\u4FDE\u4FB7\u5157\u5192\u5191\u51A0\u524E\u5243\u524A\u524D\u524C\u524B\u5247\u52C7\u52C9\u52C3\u52C1\u530D\u5357\u537B\u539A\u53DB\u54AC\u54C0\u54A8\u54CE\u54C9\u54B8\u54A6\u54B3\u54C7\u54C2\u54BD\u54AA\u54C1"],["aba1","\u54C4\u54C8\u54AF\u54AB\u54B1\u54BB\u54A9\u54A7\u54BF\u56FF\u5782\u578B\u57A0\u57A3\u57A2\u57CE\u57AE\u5793\u5955\u5951\u594F\u594E\u5950\u59DC\u59D8\u59FF\u59E3\u59E8\u5A03\u59E5\u59EA\u59DA\u59E6\u5A01\u59FB\u5B69\u5BA3\u5BA6\u5BA4\u5BA2\u5BA5\u5C01\u5C4E\u5C4F\u5C4D\u5C4B\u5CD9\u5CD2\u5DF7\u5E1D\u5E25\u5E1F\u5E7D\u5EA0\u5EA6\u5EFA\u5F08\u5F2D\u5F65\u5F88\u5F85\u5F8A\u5F8B\u5F87\u5F8C\u5F89\u6012\u601D\u6020\u6025\u600E\u6028\u604D\u6070\u6068\u6062\u6046\u6043\u606C\u606B\u606A\u6064\u6241\u62DC\u6316\u6309\u62FC\u62ED\u6301\u62EE\u62FD\u6307\u62F1\u62F7"],["ac40","\u62EF\u62EC\u62FE\u62F4\u6311\u6302\u653F\u6545\u65AB\u65BD\u65E2\u6625\u662D\u6620\u6627\u662F\u661F\u6628\u6631\u6624\u66F7\u67FF\u67D3\u67F1\u67D4\u67D0\u67EC\u67B6\u67AF\u67F5\u67E9\u67EF\u67C4\u67D1\u67B4\u67DA\u67E5\u67B8\u67CF\u67DE\u67F3\u67B0\u67D9\u67E2\u67DD\u67D2\u6B6A\u6B83\u6B86\u6BB5\u6BD2\u6BD7\u6C1F\u6CC9\u6D0B\u6D32\u6D2A\u6D41\u6D25\u6D0C\u6D31\u6D1E\u6D17"],["aca1","\u6D3B\u6D3D\u6D3E\u6D36\u6D1B\u6CF5\u6D39\u6D27\u6D38\u6D29\u6D2E\u6D35\u6D0E\u6D2B\u70AB\u70BA\u70B3\u70AC\u70AF\u70AD\u70B8\u70AE\u70A4\u7230\u7272\u726F\u7274\u72E9\u72E0\u72E1\u73B7\u73CA\u73BB\u73B2\u73CD\u73C0\u73B3\u751A\u752D\u754F\u754C\u754E\u754B\u75AB\u75A4\u75A5\u75A2\u75A3\u7678\u7686\u7687\u7688\u76C8\u76C6\u76C3\u76C5\u7701\u76F9\u76F8\u7709\u770B\u76FE\u76FC\u7707\u77DC\u7802\u7814\u780C\u780D\u7946\u7949\u7948\u7947\u79B9\u79BA\u79D1\u79D2\u79CB\u7A7F\u7A81\u7AFF\u7AFD\u7C7D\u7D02\u7D05\u7D00\u7D09\u7D07\u7D04\u7D06\u7F38\u7F8E\u7FBF\u8004"],["ad40","\u8010\u800D\u8011\u8036\u80D6\u80E5\u80DA\u80C3\u80C4\u80CC\u80E1\u80DB\u80CE\u80DE\u80E4\u80DD\u81F4\u8222\u82E7\u8303\u8305\u82E3\u82DB\u82E6\u8304\u82E5\u8302\u8309\u82D2\u82D7\u82F1\u8301\u82DC\u82D4\u82D1\u82DE\u82D3\u82DF\u82EF\u8306\u8650\u8679\u867B\u867A\u884D\u886B\u8981\u89D4\u8A08\u8A02\u8A03\u8C9E\u8CA0\u8D74\u8D73\u8DB4\u8ECD\u8ECC\u8FF0\u8FE6\u8FE2\u8FEA\u8FE5"],["ada1","\u8FED\u8FEB\u8FE4\u8FE8\u90CA\u90CE\u90C1\u90C3\u914B\u914A\u91CD\u9582\u9650\u964B\u964C\u964D\u9762\u9769\u97CB\u97ED\u97F3\u9801\u98A8\u98DB\u98DF\u9996\u9999\u4E58\u4EB3\u500C\u500D\u5023\u4FEF\u5026\u5025\u4FF8\u5029\u5016\u5006\u503C\u501F\u501A\u5012\u5011\u4FFA\u5000\u5014\u5028\u4FF1\u5021\u500B\u5019\u5018\u4FF3\u4FEE\u502D\u502A\u4FFE\u502B\u5009\u517C\u51A4\u51A5\u51A2\u51CD\u51CC\u51C6\u51CB\u5256\u525C\u5254\u525B\u525D\u532A\u537F\u539F\u539D\u53DF\u54E8\u5510\u5501\u5537\u54FC\u54E5\u54F2\u5506\u54FA\u5514\u54E9\u54ED\u54E1\u5509\u54EE\u54EA"],["ae40","\u54E6\u5527\u5507\u54FD\u550F\u5703\u5704\u57C2\u57D4\u57CB\u57C3\u5809\u590F\u5957\u5958\u595A\u5A11\u5A18\u5A1C\u5A1F\u5A1B\u5A13\u59EC\u5A20\u5A23\u5A29\u5A25\u5A0C\u5A09\u5B6B\u5C58\u5BB0\u5BB3\u5BB6\u5BB4\u5BAE\u5BB5\u5BB9\u5BB8\u5C04\u5C51\u5C55\u5C50\u5CED\u5CFD\u5CFB\u5CEA\u5CE8\u5CF0\u5CF6\u5D01\u5CF4\u5DEE\u5E2D\u5E2B\u5EAB\u5EAD\u5EA7\u5F31\u5F92\u5F91\u5F90\u6059"],["aea1","\u6063\u6065\u6050\u6055\u606D\u6069\u606F\u6084\u609F\u609A\u608D\u6094\u608C\u6085\u6096\u6247\u62F3\u6308\u62FF\u634E\u633E\u632F\u6355\u6342\u6346\u634F\u6349\u633A\u6350\u633D\u632A\u632B\u6328\u634D\u634C\u6548\u6549\u6599\u65C1\u65C5\u6642\u6649\u664F\u6643\u6652\u664C\u6645\u6641\u66F8\u6714\u6715\u6717\u6821\u6838\u6848\u6846\u6853\u6839\u6842\u6854\u6829\u68B3\u6817\u684C\u6851\u683D\u67F4\u6850\u6840\u683C\u6843\u682A\u6845\u6813\u6818\u6841\u6B8A\u6B89\u6BB7\u6C23\u6C27\u6C28\u6C26\u6C24\u6CF0\u6D6A\u6D95\u6D88\u6D87\u6D66\u6D78\u6D77\u6D59\u6D93"],["af40","\u6D6C\u6D89\u6D6E\u6D5A\u6D74\u6D69\u6D8C\u6D8A\u6D79\u6D85\u6D65\u6D94\u70CA\u70D8\u70E4\u70D9\u70C8\u70CF\u7239\u7279\u72FC\u72F9\u72FD\u72F8\u72F7\u7386\u73ED\u7409\u73EE\u73E0\u73EA\u73DE\u7554\u755D\u755C\u755A\u7559\u75BE\u75C5\u75C7\u75B2\u75B3\u75BD\u75BC\u75B9\u75C2\u75B8\u768B\u76B0\u76CA\u76CD\u76CE\u7729\u771F\u7720\u7728\u77E9\u7830\u7827\u7838\u781D\u7834\u7837"],["afa1","\u7825\u782D\u7820\u781F\u7832\u7955\u7950\u7960\u795F\u7956\u795E\u795D\u7957\u795A\u79E4\u79E3\u79E7\u79DF\u79E6\u79E9\u79D8\u7A84\u7A88\u7AD9\u7B06\u7B11\u7C89\u7D21\u7D17\u7D0B\u7D0A\u7D20\u7D22\u7D14\u7D10\u7D15\u7D1A\u7D1C\u7D0D\u7D19\u7D1B\u7F3A\u7F5F\u7F94\u7FC5\u7FC1\u8006\u8018\u8015\u8019\u8017\u803D\u803F\u80F1\u8102\u80F0\u8105\u80ED\u80F4\u8106\u80F8\u80F3\u8108\u80FD\u810A\u80FC\u80EF\u81ED\u81EC\u8200\u8210\u822A\u822B\u8228\u822C\u82BB\u832B\u8352\u8354\u834A\u8338\u8350\u8349\u8335\u8334\u834F\u8332\u8339\u8336\u8317\u8340\u8331\u8328\u8343"],["b040","\u8654\u868A\u86AA\u8693\u86A4\u86A9\u868C\u86A3\u869C\u8870\u8877\u8881\u8882\u887D\u8879\u8A18\u8A10\u8A0E\u8A0C\u8A15\u8A0A\u8A17\u8A13\u8A16\u8A0F\u8A11\u8C48\u8C7A\u8C79\u8CA1\u8CA2\u8D77\u8EAC\u8ED2\u8ED4\u8ECF\u8FB1\u9001\u9006\u8FF7\u9000\u8FFA\u8FF4\u9003\u8FFD\u9005\u8FF8\u9095\u90E1\u90DD\u90E2\u9152\u914D\u914C\u91D8\u91DD\u91D7\u91DC\u91D9\u9583\u9662\u9663\u9661"],["b0a1","\u965B\u965D\u9664\u9658\u965E\u96BB\u98E2\u99AC\u9AA8\u9AD8\u9B25\u9B32\u9B3C\u4E7E\u507A\u507D\u505C\u5047\u5043\u504C\u505A\u5049\u5065\u5076\u504E\u5055\u5075\u5074\u5077\u504F\u500F\u506F\u506D\u515C\u5195\u51F0\u526A\u526F\u52D2\u52D9\u52D8\u52D5\u5310\u530F\u5319\u533F\u5340\u533E\u53C3\u66FC\u5546\u556A\u5566\u5544\u555E\u5561\u5543\u554A\u5531\u5556\u554F\u5555\u552F\u5564\u5538\u552E\u555C\u552C\u5563\u5533\u5541\u5557\u5708\u570B\u5709\u57DF\u5805\u580A\u5806\u57E0\u57E4\u57FA\u5802\u5835\u57F7\u57F9\u5920\u5962\u5A36\u5A41\u5A49\u5A66\u5A6A\u5A40"],["b140","\u5A3C\u5A62\u5A5A\u5A46\u5A4A\u5B70\u5BC7\u5BC5\u5BC4\u5BC2\u5BBF\u5BC6\u5C09\u5C08\u5C07\u5C60\u5C5C\u5C5D\u5D07\u5D06\u5D0E\u5D1B\u5D16\u5D22\u5D11\u5D29\u5D14\u5D19\u5D24\u5D27\u5D17\u5DE2\u5E38\u5E36\u5E33\u5E37\u5EB7\u5EB8\u5EB6\u5EB5\u5EBE\u5F35\u5F37\u5F57\u5F6C\u5F69\u5F6B\u5F97\u5F99\u5F9E\u5F98\u5FA1\u5FA0\u5F9C\u607F\u60A3\u6089\u60A0\u60A8\u60CB\u60B4\u60E6\u60BD"],["b1a1","\u60C5\u60BB\u60B5\u60DC\u60BC\u60D8\u60D5\u60C6\u60DF\u60B8\u60DA\u60C7\u621A\u621B\u6248\u63A0\u63A7\u6372\u6396\u63A2\u63A5\u6377\u6367\u6398\u63AA\u6371\u63A9\u6389\u6383\u639B\u636B\u63A8\u6384\u6388\u6399\u63A1\u63AC\u6392\u638F\u6380\u637B\u6369\u6368\u637A\u655D\u6556\u6551\u6559\u6557\u555F\u654F\u6558\u6555\u6554\u659C\u659B\u65AC\u65CF\u65CB\u65CC\u65CE\u665D\u665A\u6664\u6668\u6666\u665E\u66F9\u52D7\u671B\u6881\u68AF\u68A2\u6893\u68B5\u687F\u6876\u68B1\u68A7\u6897\u68B0\u6883\u68C4\u68AD\u6886\u6885\u6894\u689D\u68A8\u689F\u68A1\u6882\u6B32\u6BBA"],["b240","\u6BEB\u6BEC\u6C2B\u6D8E\u6DBC\u6DF3\u6DD9\u6DB2\u6DE1\u6DCC\u6DE4\u6DFB\u6DFA\u6E05\u6DC7\u6DCB\u6DAF\u6DD1\u6DAE\u6DDE\u6DF9\u6DB8\u6DF7\u6DF5\u6DC5\u6DD2\u6E1A\u6DB5\u6DDA\u6DEB\u6DD8\u6DEA\u6DF1\u6DEE\u6DE8\u6DC6\u6DC4\u6DAA\u6DEC\u6DBF\u6DE6\u70F9\u7109\u710A\u70FD\u70EF\u723D\u727D\u7281\u731C\u731B\u7316\u7313\u7319\u7387\u7405\u740A\u7403\u7406\u73FE\u740D\u74E0\u74F6"],["b2a1","\u74F7\u751C\u7522\u7565\u7566\u7562\u7570\u758F\u75D4\u75D5\u75B5\u75CA\u75CD\u768E\u76D4\u76D2\u76DB\u7737\u773E\u773C\u7736\u7738\u773A\u786B\u7843\u784E\u7965\u7968\u796D\u79FB\u7A92\u7A95\u7B20\u7B28\u7B1B\u7B2C\u7B26\u7B19\u7B1E\u7B2E\u7C92\u7C97\u7C95\u7D46\u7D43\u7D71\u7D2E\u7D39\u7D3C\u7D40\u7D30\u7D33\u7D44\u7D2F\u7D42\u7D32\u7D31\u7F3D\u7F9E\u7F9A\u7FCC\u7FCE\u7FD2\u801C\u804A\u8046\u812F\u8116\u8123\u812B\u8129\u8130\u8124\u8202\u8235\u8237\u8236\u8239\u838E\u839E\u8398\u8378\u83A2\u8396\u83BD\u83AB\u8392\u838A\u8393\u8389\u83A0\u8377\u837B\u837C"],["b340","\u8386\u83A7\u8655\u5F6A\u86C7\u86C0\u86B6\u86C4\u86B5\u86C6\u86CB\u86B1\u86AF\u86C9\u8853\u889E\u8888\u88AB\u8892\u8896\u888D\u888B\u8993\u898F\u8A2A\u8A1D\u8A23\u8A25\u8A31\u8A2D\u8A1F\u8A1B\u8A22\u8C49\u8C5A\u8CA9\u8CAC\u8CAB\u8CA8\u8CAA\u8CA7\u8D67\u8D66\u8DBE\u8DBA\u8EDB\u8EDF\u9019\u900D\u901A\u9017\u9023\u901F\u901D\u9010\u9015\u901E\u9020\u900F\u9022\u9016\u901B\u9014"],["b3a1","\u90E8\u90ED\u90FD\u9157\u91CE\u91F5\u91E6\u91E3\u91E7\u91ED\u91E9\u9589\u966A\u9675\u9673\u9678\u9670\u9674\u9676\u9677\u966C\u96C0\u96EA\u96E9\u7AE0\u7ADF\u9802\u9803\u9B5A\u9CE5\u9E75\u9E7F\u9EA5\u9EBB\u50A2\u508D\u5085\u5099\u5091\u5080\u5096\u5098\u509A\u6700\u51F1\u5272\u5274\u5275\u5269\u52DE\u52DD\u52DB\u535A\u53A5\u557B\u5580\u55A7\u557C\u558A\u559D\u5598\u5582\u559C\u55AA\u5594\u5587\u558B\u5583\u55B3\u55AE\u559F\u553E\u55B2\u559A\u55BB\u55AC\u55B1\u557E\u5589\u55AB\u5599\u570D\u582F\u582A\u5834\u5824\u5830\u5831\u5821\u581D\u5820\u58F9\u58FA\u5960"],["b440","\u5A77\u5A9A\u5A7F\u5A92\u5A9B\u5AA7\u5B73\u5B71\u5BD2\u5BCC\u5BD3\u5BD0\u5C0A\u5C0B\u5C31\u5D4C\u5D50\u5D34\u5D47\u5DFD\u5E45\u5E3D\u5E40\u5E43\u5E7E\u5ECA\u5EC1\u5EC2\u5EC4\u5F3C\u5F6D\u5FA9\u5FAA\u5FA8\u60D1\u60E1\u60B2\u60B6\u60E0\u611C\u6123\u60FA\u6115\u60F0\u60FB\u60F4\u6168\u60F1\u610E\u60F6\u6109\u6100\u6112\u621F\u6249\u63A3\u638C\u63CF\u63C0\u63E9\u63C9\u63C6\u63CD"],["b4a1","\u63D2\u63E3\u63D0\u63E1\u63D6\u63ED\u63EE\u6376\u63F4\u63EA\u63DB\u6452\u63DA\u63F9\u655E\u6566\u6562\u6563\u6591\u6590\u65AF\u666E\u6670\u6674\u6676\u666F\u6691\u667A\u667E\u6677\u66FE\u66FF\u671F\u671D\u68FA\u68D5\u68E0\u68D8\u68D7\u6905\u68DF\u68F5\u68EE\u68E7\u68F9\u68D2\u68F2\u68E3\u68CB\u68CD\u690D\u6912\u690E\u68C9\u68DA\u696E\u68FB\u6B3E\u6B3A\u6B3D\u6B98\u6B96\u6BBC\u6BEF\u6C2E\u6C2F\u6C2C\u6E2F\u6E38\u6E54\u6E21\u6E32\u6E67\u6E4A\u6E20\u6E25\u6E23\u6E1B\u6E5B\u6E58\u6E24\u6E56\u6E6E\u6E2D\u6E26\u6E6F\u6E34\u6E4D\u6E3A\u6E2C\u6E43\u6E1D\u6E3E\u6ECB"],["b540","\u6E89\u6E19\u6E4E\u6E63\u6E44\u6E72\u6E69\u6E5F\u7119\u711A\u7126\u7130\u7121\u7136\u716E\u711C\u724C\u7284\u7280\u7336\u7325\u7334\u7329\u743A\u742A\u7433\u7422\u7425\u7435\u7436\u7434\u742F\u741B\u7426\u7428\u7525\u7526\u756B\u756A\u75E2\u75DB\u75E3\u75D9\u75D8\u75DE\u75E0\u767B\u767C\u7696\u7693\u76B4\u76DC\u774F\u77ED\u785D\u786C\u786F\u7A0D\u7A08\u7A0B\u7A05\u7A00\u7A98"],["b5a1","\u7A97\u7A96\u7AE5\u7AE3\u7B49\u7B56\u7B46\u7B50\u7B52\u7B54\u7B4D\u7B4B\u7B4F\u7B51\u7C9F\u7CA5\u7D5E\u7D50\u7D68\u7D55\u7D2B\u7D6E\u7D72\u7D61\u7D66\u7D62\u7D70\u7D73\u5584\u7FD4\u7FD5\u800B\u8052\u8085\u8155\u8154\u814B\u8151\u814E\u8139\u8146\u813E\u814C\u8153\u8174\u8212\u821C\u83E9\u8403\u83F8\u840D\u83E0\u83C5\u840B\u83C1\u83EF\u83F1\u83F4\u8457\u840A\u83F0\u840C\u83CC\u83FD\u83F2\u83CA\u8438\u840E\u8404\u83DC\u8407\u83D4\u83DF\u865B\u86DF\u86D9\u86ED\u86D4\u86DB\u86E4\u86D0\u86DE\u8857\u88C1\u88C2\u88B1\u8983\u8996\u8A3B\u8A60\u8A55\u8A5E\u8A3C\u8A41"],["b640","\u8A54\u8A5B\u8A50\u8A46\u8A34\u8A3A\u8A36\u8A56\u8C61\u8C82\u8CAF\u8CBC\u8CB3\u8CBD\u8CC1\u8CBB\u8CC0\u8CB4\u8CB7\u8CB6\u8CBF\u8CB8\u8D8A\u8D85\u8D81\u8DCE\u8DDD\u8DCB\u8DDA\u8DD1\u8DCC\u8DDB\u8DC6\u8EFB\u8EF8\u8EFC\u8F9C\u902E\u9035\u9031\u9038\u9032\u9036\u9102\u90F5\u9109\u90FE\u9163\u9165\u91CF\u9214\u9215\u9223\u9209\u921E\u920D\u9210\u9207\u9211\u9594\u958F\u958B\u9591"],["b6a1","\u9593\u9592\u958E\u968A\u968E\u968B\u967D\u9685\u9686\u968D\u9672\u9684\u96C1\u96C5\u96C4\u96C6\u96C7\u96EF\u96F2\u97CC\u9805\u9806\u9808\u98E7\u98EA\u98EF\u98E9\u98F2\u98ED\u99AE\u99AD\u9EC3\u9ECD\u9ED1\u4E82\u50AD\u50B5\u50B2\u50B3\u50C5\u50BE\u50AC\u50B7\u50BB\u50AF\u50C7\u527F\u5277\u527D\u52DF\u52E6\u52E4\u52E2\u52E3\u532F\u55DF\u55E8\u55D3\u55E6\u55CE\u55DC\u55C7\u55D1\u55E3\u55E4\u55EF\u55DA\u55E1\u55C5\u55C6\u55E5\u55C9\u5712\u5713\u585E\u5851\u5858\u5857\u585A\u5854\u586B\u584C\u586D\u584A\u5862\u5852\u584B\u5967\u5AC1\u5AC9\u5ACC\u5ABE\u5ABD\u5ABC"],["b740","\u5AB3\u5AC2\u5AB2\u5D69\u5D6F\u5E4C\u5E79\u5EC9\u5EC8\u5F12\u5F59\u5FAC\u5FAE\u611A\u610F\u6148\u611F\u60F3\u611B\u60F9\u6101\u6108\u614E\u614C\u6144\u614D\u613E\u6134\u6127\u610D\u6106\u6137\u6221\u6222\u6413\u643E\u641E\u642A\u642D\u643D\u642C\u640F\u641C\u6414\u640D\u6436\u6416\u6417\u6406\u656C\u659F\u65B0\u6697\u6689\u6687\u6688\u6696\u6684\u6698\u668D\u6703\u6994\u696D"],["b7a1","\u695A\u6977\u6960\u6954\u6975\u6930\u6982\u694A\u6968\u696B\u695E\u6953\u6979\u6986\u695D\u6963\u695B\u6B47\u6B72\u6BC0\u6BBF\u6BD3\u6BFD\u6EA2\u6EAF\u6ED3\u6EB6\u6EC2\u6E90\u6E9D\u6EC7\u6EC5\u6EA5\u6E98\u6EBC\u6EBA\u6EAB\u6ED1\u6E96\u6E9C\u6EC4\u6ED4\u6EAA\u6EA7\u6EB4\u714E\u7159\u7169\u7164\u7149\u7167\u715C\u716C\u7166\u714C\u7165\u715E\u7146\u7168\u7156\u723A\u7252\u7337\u7345\u733F\u733E\u746F\u745A\u7455\u745F\u745E\u7441\u743F\u7459\u745B\u745C\u7576\u7578\u7600\u75F0\u7601\u75F2\u75F1\u75FA\u75FF\u75F4\u75F3\u76DE\u76DF\u775B\u776B\u7766\u775E\u7763"],["b840","\u7779\u776A\u776C\u775C\u7765\u7768\u7762\u77EE\u788E\u78B0\u7897\u7898\u788C\u7889\u787C\u7891\u7893\u787F\u797A\u797F\u7981\u842C\u79BD\u7A1C\u7A1A\u7A20\u7A14\u7A1F\u7A1E\u7A9F\u7AA0\u7B77\u7BC0\u7B60\u7B6E\u7B67\u7CB1\u7CB3\u7CB5\u7D93\u7D79\u7D91\u7D81\u7D8F\u7D5B\u7F6E\u7F69\u7F6A\u7F72\u7FA9\u7FA8\u7FA4\u8056\u8058\u8086\u8084\u8171\u8170\u8178\u8165\u816E\u8173\u816B"],["b8a1","\u8179\u817A\u8166\u8205\u8247\u8482\u8477\u843D\u8431\u8475\u8466\u846B\u8449\u846C\u845B\u843C\u8435\u8461\u8463\u8469\u846D\u8446\u865E\u865C\u865F\u86F9\u8713\u8708\u8707\u8700\u86FE\u86FB\u8702\u8703\u8706\u870A\u8859\u88DF\u88D4\u88D9\u88DC\u88D8\u88DD\u88E1\u88CA\u88D5\u88D2\u899C\u89E3\u8A6B\u8A72\u8A73\u8A66\u8A69\u8A70\u8A87\u8A7C\u8A63\u8AA0\u8A71\u8A85\u8A6D\u8A62\u8A6E\u8A6C\u8A79\u8A7B\u8A3E\u8A68\u8C62\u8C8A\u8C89\u8CCA\u8CC7\u8CC8\u8CC4\u8CB2\u8CC3\u8CC2\u8CC5\u8DE1\u8DDF\u8DE8\u8DEF\u8DF3\u8DFA\u8DEA\u8DE4\u8DE6\u8EB2\u8F03\u8F09\u8EFE\u8F0A"],["b940","\u8F9F\u8FB2\u904B\u904A\u9053\u9042\u9054\u903C\u9055\u9050\u9047\u904F\u904E\u904D\u9051\u903E\u9041\u9112\u9117\u916C\u916A\u9169\u91C9\u9237\u9257\u9238\u923D\u9240\u923E\u925B\u924B\u9264\u9251\u9234\u9249\u924D\u9245\u9239\u923F\u925A\u9598\u9698\u9694\u9695\u96CD\u96CB\u96C9\u96CA\u96F7\u96FB\u96F9\u96F6\u9756\u9774\u9776\u9810\u9811\u9813\u980A\u9812\u980C\u98FC\u98F4"],["b9a1","\u98FD\u98FE\u99B3\u99B1\u99B4\u9AE1\u9CE9\u9E82\u9F0E\u9F13\u9F20\u50E7\u50EE\u50E5\u50D6\u50ED\u50DA\u50D5\u50CF\u50D1\u50F1\u50CE\u50E9\u5162\u51F3\u5283\u5282\u5331\u53AD\u55FE\u5600\u561B\u5617\u55FD\u5614\u5606\u5609\u560D\u560E\u55F7\u5616\u561F\u5608\u5610\u55F6\u5718\u5716\u5875\u587E\u5883\u5893\u588A\u5879\u5885\u587D\u58FD\u5925\u5922\u5924\u596A\u5969\u5AE1\u5AE6\u5AE9\u5AD7\u5AD6\u5AD8\u5AE3\u5B75\u5BDE\u5BE7\u5BE1\u5BE5\u5BE6\u5BE8\u5BE2\u5BE4\u5BDF\u5C0D\u5C62\u5D84\u5D87\u5E5B\u5E63\u5E55\u5E57\u5E54\u5ED3\u5ED6\u5F0A\u5F46\u5F70\u5FB9\u6147"],["ba40","\u613F\u614B\u6177\u6162\u6163\u615F\u615A\u6158\u6175\u622A\u6487\u6458\u6454\u64A4\u6478\u645F\u647A\u6451\u6467\u6434\u646D\u647B\u6572\u65A1\u65D7\u65D6\u66A2\u66A8\u669D\u699C\u69A8\u6995\u69C1\u69AE\u69D3\u69CB\u699B\u69B7\u69BB\u69AB\u69B4\u69D0\u69CD\u69AD\u69CC\u69A6\u69C3\u69A3\u6B49\u6B4C\u6C33\u6F33\u6F14\u6EFE\u6F13\u6EF4\u6F29\u6F3E\u6F20\u6F2C\u6F0F\u6F02\u6F22"],["baa1","\u6EFF\u6EEF\u6F06\u6F31\u6F38\u6F32\u6F23\u6F15\u6F2B\u6F2F\u6F88\u6F2A\u6EEC\u6F01\u6EF2\u6ECC\u6EF7\u7194\u7199\u717D\u718A\u7184\u7192\u723E\u7292\u7296\u7344\u7350\u7464\u7463\u746A\u7470\u746D\u7504\u7591\u7627\u760D\u760B\u7609\u7613\u76E1\u76E3\u7784\u777D\u777F\u7761\u78C1\u789F\u78A7\u78B3\u78A9\u78A3\u798E\u798F\u798D\u7A2E\u7A31\u7AAA\u7AA9\u7AED\u7AEF\u7BA1\u7B95\u7B8B\u7B75\u7B97\u7B9D\u7B94\u7B8F\u7BB8\u7B87\u7B84\u7CB9\u7CBD\u7CBE\u7DBB\u7DB0\u7D9C\u7DBD\u7DBE\u7DA0\u7DCA\u7DB4\u7DB2\u7DB1\u7DBA\u7DA2\u7DBF\u7DB5\u7DB8\u7DAD\u7DD2\u7DC7\u7DAC"],["bb40","\u7F70\u7FE0\u7FE1\u7FDF\u805E\u805A\u8087\u8150\u8180\u818F\u8188\u818A\u817F\u8182\u81E7\u81FA\u8207\u8214\u821E\u824B\u84C9\u84BF\u84C6\u84C4\u8499\u849E\u84B2\u849C\u84CB\u84B8\u84C0\u84D3\u8490\u84BC\u84D1\u84CA\u873F\u871C\u873B\u8722\u8725\u8734\u8718\u8755\u8737\u8729\u88F3\u8902\u88F4\u88F9\u88F8\u88FD\u88E8\u891A\u88EF\u8AA6\u8A8C\u8A9E\u8AA3\u8A8D\u8AA1\u8A93\u8AA4"],["bba1","\u8AAA\u8AA5\u8AA8\u8A98\u8A91\u8A9A\u8AA7\u8C6A\u8C8D\u8C8C\u8CD3\u8CD1\u8CD2\u8D6B\u8D99\u8D95\u8DFC\u8F14\u8F12\u8F15\u8F13\u8FA3\u9060\u9058\u905C\u9063\u9059\u905E\u9062\u905D\u905B\u9119\u9118\u911E\u9175\u9178\u9177\u9174\u9278\u9280\u9285\u9298\u9296\u927B\u9293\u929C\u92A8\u927C\u9291\u95A1\u95A8\u95A9\u95A3\u95A5\u95A4\u9699\u969C\u969B\u96CC\u96D2\u9700\u977C\u9785\u97F6\u9817\u9818\u98AF\u98B1\u9903\u9905\u990C\u9909\u99C1\u9AAF\u9AB0\u9AE6\u9B41\u9B42\u9CF4\u9CF6\u9CF3\u9EBC\u9F3B\u9F4A\u5104\u5100\u50FB\u50F5\u50F9\u5102\u5108\u5109\u5105\u51DC"],["bc40","\u5287\u5288\u5289\u528D\u528A\u52F0\u53B2\u562E\u563B\u5639\u5632\u563F\u5634\u5629\u5653\u564E\u5657\u5674\u5636\u562F\u5630\u5880\u589F\u589E\u58B3\u589C\u58AE\u58A9\u58A6\u596D\u5B09\u5AFB\u5B0B\u5AF5\u5B0C\u5B08\u5BEE\u5BEC\u5BE9\u5BEB\u5C64\u5C65\u5D9D\u5D94\u5E62\u5E5F\u5E61\u5EE2\u5EDA\u5EDF\u5EDD\u5EE3\u5EE0\u5F48\u5F71\u5FB7\u5FB5\u6176\u6167\u616E\u615D\u6155\u6182"],["bca1","\u617C\u6170\u616B\u617E\u61A7\u6190\u61AB\u618E\u61AC\u619A\u61A4\u6194\u61AE\u622E\u6469\u646F\u6479\u649E\u64B2\u6488\u6490\u64B0\u64A5\u6493\u6495\u64A9\u6492\u64AE\u64AD\u64AB\u649A\u64AC\u6499\u64A2\u64B3\u6575\u6577\u6578\u66AE\u66AB\u66B4\u66B1\u6A23\u6A1F\u69E8\u6A01\u6A1E\u6A19\u69FD\u6A21\u6A13\u6A0A\u69F3\u6A02\u6A05\u69ED\u6A11\u6B50\u6B4E\u6BA4\u6BC5\u6BC6\u6F3F\u6F7C\u6F84\u6F51\u6F66\u6F54\u6F86\u6F6D\u6F5B\u6F78\u6F6E\u6F8E\u6F7A\u6F70\u6F64\u6F97\u6F58\u6ED5\u6F6F\u6F60\u6F5F\u719F\u71AC\u71B1\u71A8\u7256\u729B\u734E\u7357\u7469\u748B\u7483"],["bd40","\u747E\u7480\u757F\u7620\u7629\u761F\u7624\u7626\u7621\u7622\u769A\u76BA\u76E4\u778E\u7787\u778C\u7791\u778B\u78CB\u78C5\u78BA\u78CA\u78BE\u78D5\u78BC\u78D0\u7A3F\u7A3C\u7A40\u7A3D\u7A37\u7A3B\u7AAF\u7AAE\u7BAD\u7BB1\u7BC4\u7BB4\u7BC6\u7BC7\u7BC1\u7BA0\u7BCC\u7CCA\u7DE0\u7DF4\u7DEF\u7DFB\u7DD8\u7DEC\u7DDD\u7DE8\u7DE3\u7DDA\u7DDE\u7DE9\u7D9E\u7DD9\u7DF2\u7DF9\u7F75\u7F77\u7FAF"],["bda1","\u7FE9\u8026\u819B\u819C\u819D\u81A0\u819A\u8198\u8517\u853D\u851A\u84EE\u852C\u852D\u8513\u8511\u8523\u8521\u8514\u84EC\u8525\u84FF\u8506\u8782\u8774\u8776\u8760\u8766\u8778\u8768\u8759\u8757\u874C\u8753\u885B\u885D\u8910\u8907\u8912\u8913\u8915\u890A\u8ABC\u8AD2\u8AC7\u8AC4\u8A95\u8ACB\u8AF8\u8AB2\u8AC9\u8AC2\u8ABF\u8AB0\u8AD6\u8ACD\u8AB6\u8AB9\u8ADB\u8C4C\u8C4E\u8C6C\u8CE0\u8CDE\u8CE6\u8CE4\u8CEC\u8CED\u8CE2\u8CE3\u8CDC\u8CEA\u8CE1\u8D6D\u8D9F\u8DA3\u8E2B\u8E10\u8E1D\u8E22\u8E0F\u8E29\u8E1F\u8E21\u8E1E\u8EBA\u8F1D\u8F1B\u8F1F\u8F29\u8F26\u8F2A\u8F1C\u8F1E"],["be40","\u8F25\u9069\u906E\u9068\u906D\u9077\u9130\u912D\u9127\u9131\u9187\u9189\u918B\u9183\u92C5\u92BB\u92B7\u92EA\u92AC\u92E4\u92C1\u92B3\u92BC\u92D2\u92C7\u92F0\u92B2\u95AD\u95B1\u9704\u9706\u9707\u9709\u9760\u978D\u978B\u978F\u9821\u982B\u981C\u98B3\u990A\u9913\u9912\u9918\u99DD\u99D0\u99DF\u99DB\u99D1\u99D5\u99D2\u99D9\u9AB7\u9AEE\u9AEF\u9B27\u9B45\u9B44\u9B77\u9B6F\u9D06\u9D09"],["bea1","\u9D03\u9EA9\u9EBE\u9ECE\u58A8\u9F52\u5112\u5118\u5114\u5110\u5115\u5180\u51AA\u51DD\u5291\u5293\u52F3\u5659\u566B\u5679\u5669\u5664\u5678\u566A\u5668\u5665\u5671\u566F\u566C\u5662\u5676\u58C1\u58BE\u58C7\u58C5\u596E\u5B1D\u5B34\u5B78\u5BF0\u5C0E\u5F4A\u61B2\u6191\u61A9\u618A\u61CD\u61B6\u61BE\u61CA\u61C8\u6230\u64C5\u64C1\u64CB\u64BB\u64BC\u64DA\u64C4\u64C7\u64C2\u64CD\u64BF\u64D2\u64D4\u64BE\u6574\u66C6\u66C9\u66B9\u66C4\u66C7\u66B8\u6A3D\u6A38\u6A3A\u6A59\u6A6B\u6A58\u6A39\u6A44\u6A62\u6A61\u6A4B\u6A47\u6A35\u6A5F\u6A48\u6B59\u6B77\u6C05\u6FC2\u6FB1\u6FA1"],["bf40","\u6FC3\u6FA4\u6FC1\u6FA7\u6FB3\u6FC0\u6FB9\u6FB6\u6FA6\u6FA0\u6FB4\u71BE\u71C9\u71D0\u71D2\u71C8\u71D5\u71B9\u71CE\u71D9\u71DC\u71C3\u71C4\u7368\u749C\u74A3\u7498\u749F\u749E\u74E2\u750C\u750D\u7634\u7638\u763A\u76E7\u76E5\u77A0\u779E\u779F\u77A5\u78E8\u78DA\u78EC\u78E7\u79A6\u7A4D\u7A4E\u7A46\u7A4C\u7A4B\u7ABA\u7BD9\u7C11\u7BC9\u7BE4\u7BDB\u7BE1\u7BE9\u7BE6\u7CD5\u7CD6\u7E0A"],["bfa1","\u7E11\u7E08\u7E1B\u7E23\u7E1E\u7E1D\u7E09\u7E10\u7F79\u7FB2\u7FF0\u7FF1\u7FEE\u8028\u81B3\u81A9\u81A8\u81FB\u8208\u8258\u8259\u854A\u8559\u8548\u8568\u8569\u8543\u8549\u856D\u856A\u855E\u8783\u879F\u879E\u87A2\u878D\u8861\u892A\u8932\u8925\u892B\u8921\u89AA\u89A6\u8AE6\u8AFA\u8AEB\u8AF1\u8B00\u8ADC\u8AE7\u8AEE\u8AFE\u8B01\u8B02\u8AF7\u8AED\u8AF3\u8AF6\u8AFC\u8C6B\u8C6D\u8C93\u8CF4\u8E44\u8E31\u8E34\u8E42\u8E39\u8E35\u8F3B\u8F2F\u8F38\u8F33\u8FA8\u8FA6\u9075\u9074\u9078\u9072\u907C\u907A\u9134\u9192\u9320\u9336\u92F8\u9333\u932F\u9322\u92FC\u932B\u9304\u931A"],["c040","\u9310\u9326\u9321\u9315\u932E\u9319\u95BB\u96A7\u96A8\u96AA\u96D5\u970E\u9711\u9716\u970D\u9713\u970F\u975B\u975C\u9766\u9798\u9830\u9838\u983B\u9837\u982D\u9839\u9824\u9910\u9928\u991E\u991B\u9921\u991A\u99ED\u99E2\u99F1\u9AB8\u9ABC\u9AFB\u9AED\u9B28\u9B91\u9D15\u9D23\u9D26\u9D28\u9D12\u9D1B\u9ED8\u9ED4\u9F8D\u9F9C\u512A\u511F\u5121\u5132\u52F5\u568E\u5680\u5690\u5685\u5687"],["c0a1","\u568F\u58D5\u58D3\u58D1\u58CE\u5B30\u5B2A\u5B24\u5B7A\u5C37\u5C68\u5DBC\u5DBA\u5DBD\u5DB8\u5E6B\u5F4C\u5FBD\u61C9\u61C2\u61C7\u61E6\u61CB\u6232\u6234\u64CE\u64CA\u64D8\u64E0\u64F0\u64E6\u64EC\u64F1\u64E2\u64ED\u6582\u6583\u66D9\u66D6\u6A80\u6A94\u6A84\u6AA2\u6A9C\u6ADB\u6AA3\u6A7E\u6A97\u6A90\u6AA0\u6B5C\u6BAE\u6BDA\u6C08\u6FD8\u6FF1\u6FDF\u6FE0\u6FDB\u6FE4\u6FEB\u6FEF\u6F80\u6FEC\u6FE1\u6FE9\u6FD5\u6FEE\u6FF0\u71E7\u71DF\u71EE\u71E6\u71E5\u71ED\u71EC\u71F4\u71E0\u7235\u7246\u7370\u7372\u74A9\u74B0\u74A6\u74A8\u7646\u7642\u764C\u76EA\u77B3\u77AA\u77B0\u77AC"],["c140","\u77A7\u77AD\u77EF\u78F7\u78FA\u78F4\u78EF\u7901\u79A7\u79AA\u7A57\u7ABF\u7C07\u7C0D\u7BFE\u7BF7\u7C0C\u7BE0\u7CE0\u7CDC\u7CDE\u7CE2\u7CDF\u7CD9\u7CDD\u7E2E\u7E3E\u7E46\u7E37\u7E32\u7E43\u7E2B\u7E3D\u7E31\u7E45\u7E41\u7E34\u7E39\u7E48\u7E35\u7E3F\u7E2F\u7F44\u7FF3\u7FFC\u8071\u8072\u8070\u806F\u8073\u81C6\u81C3\u81BA\u81C2\u81C0\u81BF\u81BD\u81C9\u81BE\u81E8\u8209\u8271\u85AA"],["c1a1","\u8584\u857E\u859C\u8591\u8594\u85AF\u859B\u8587\u85A8\u858A\u8667\u87C0\u87D1\u87B3\u87D2\u87C6\u87AB\u87BB\u87BA\u87C8\u87CB\u893B\u8936\u8944\u8938\u893D\u89AC\u8B0E\u8B17\u8B19\u8B1B\u8B0A\u8B20\u8B1D\u8B04\u8B10\u8C41\u8C3F\u8C73\u8CFA\u8CFD\u8CFC\u8CF8\u8CFB\u8DA8\u8E49\u8E4B\u8E48\u8E4A\u8F44\u8F3E\u8F42\u8F45\u8F3F\u907F\u907D\u9084\u9081\u9082\u9080\u9139\u91A3\u919E\u919C\u934D\u9382\u9328\u9375\u934A\u9365\u934B\u9318\u937E\u936C\u935B\u9370\u935A\u9354\u95CA\u95CB\u95CC\u95C8\u95C6\u96B1\u96B8\u96D6\u971C\u971E\u97A0\u97D3\u9846\u98B6\u9935\u9A01"],["c240","\u99FF\u9BAE\u9BAB\u9BAA\u9BAD\u9D3B\u9D3F\u9E8B\u9ECF\u9EDE\u9EDC\u9EDD\u9EDB\u9F3E\u9F4B\u53E2\u5695\u56AE\u58D9\u58D8\u5B38\u5F5D\u61E3\u6233\u64F4\u64F2\u64FE\u6506\u64FA\u64FB\u64F7\u65B7\u66DC\u6726\u6AB3\u6AAC\u6AC3\u6ABB\u6AB8\u6AC2\u6AAE\u6AAF\u6B5F\u6B78\u6BAF\u7009\u700B\u6FFE\u7006\u6FFA\u7011\u700F\u71FB\u71FC\u71FE\u71F8\u7377\u7375\u74A7\u74BF\u7515\u7656\u7658"],["c2a1","\u7652\u77BD\u77BF\u77BB\u77BC\u790E\u79AE\u7A61\u7A62\u7A60\u7AC4\u7AC5\u7C2B\u7C27\u7C2A\u7C1E\u7C23\u7C21\u7CE7\u7E54\u7E55\u7E5E\u7E5A\u7E61\u7E52\u7E59\u7F48\u7FF9\u7FFB\u8077\u8076\u81CD\u81CF\u820A\u85CF\u85A9\u85CD\u85D0\u85C9\u85B0\u85BA\u85B9\u85A6\u87EF\u87EC\u87F2\u87E0\u8986\u89B2\u89F4\u8B28\u8B39\u8B2C\u8B2B\u8C50\u8D05\u8E59\u8E63\u8E66\u8E64\u8E5F\u8E55\u8EC0\u8F49\u8F4D\u9087\u9083\u9088\u91AB\u91AC\u91D0\u9394\u938A\u9396\u93A2\u93B3\u93AE\u93AC\u93B0\u9398\u939A\u9397\u95D4\u95D6\u95D0\u95D5\u96E2\u96DC\u96D9\u96DB\u96DE\u9724\u97A3\u97A6"],["c340","\u97AD\u97F9\u984D\u984F\u984C\u984E\u9853\u98BA\u993E\u993F\u993D\u992E\u99A5\u9A0E\u9AC1\u9B03\u9B06\u9B4F\u9B4E\u9B4D\u9BCA\u9BC9\u9BFD\u9BC8\u9BC0\u9D51\u9D5D\u9D60\u9EE0\u9F15\u9F2C\u5133\u56A5\u58DE\u58DF\u58E2\u5BF5\u9F90\u5EEC\u61F2\u61F7\u61F6\u61F5\u6500\u650F\u66E0\u66DD\u6AE5\u6ADD\u6ADA\u6AD3\u701B\u701F\u7028\u701A\u701D\u7015\u7018\u7206\u720D\u7258\u72A2\u7378"],["c3a1","\u737A\u74BD\u74CA\u74E3\u7587\u7586\u765F\u7661\u77C7\u7919\u79B1\u7A6B\u7A69\u7C3E\u7C3F\u7C38\u7C3D\u7C37\u7C40\u7E6B\u7E6D\u7E79\u7E69\u7E6A\u7F85\u7E73\u7FB6\u7FB9\u7FB8\u81D8\u85E9\u85DD\u85EA\u85D5\u85E4\u85E5\u85F7\u87FB\u8805\u880D\u87F9\u87FE\u8960\u895F\u8956\u895E\u8B41\u8B5C\u8B58\u8B49\u8B5A\u8B4E\u8B4F\u8B46\u8B59\u8D08\u8D0A\u8E7C\u8E72\u8E87\u8E76\u8E6C\u8E7A\u8E74\u8F54\u8F4E\u8FAD\u908A\u908B\u91B1\u91AE\u93E1\u93D1\u93DF\u93C3\u93C8\u93DC\u93DD\u93D6\u93E2\u93CD\u93D8\u93E4\u93D7\u93E8\u95DC\u96B4\u96E3\u972A\u9727\u9761\u97DC\u97FB\u985E"],["c440","\u9858\u985B\u98BC\u9945\u9949\u9A16\u9A19\u9B0D\u9BE8\u9BE7\u9BD6\u9BDB\u9D89\u9D61\u9D72\u9D6A\u9D6C\u9E92\u9E97\u9E93\u9EB4\u52F8\u56A8\u56B7\u56B6\u56B4\u56BC\u58E4\u5B40\u5B43\u5B7D\u5BF6\u5DC9\u61F8\u61FA\u6518\u6514\u6519\u66E6\u6727\u6AEC\u703E\u7030\u7032\u7210\u737B\u74CF\u7662\u7665\u7926\u792A\u792C\u792B\u7AC7\u7AF6\u7C4C\u7C43\u7C4D\u7CEF\u7CF0\u8FAE\u7E7D\u7E7C"],["c4a1","\u7E82\u7F4C\u8000\u81DA\u8266\u85FB\u85F9\u8611\u85FA\u8606\u860B\u8607\u860A\u8814\u8815\u8964\u89BA\u89F8\u8B70\u8B6C\u8B66\u8B6F\u8B5F\u8B6B\u8D0F\u8D0D\u8E89\u8E81\u8E85\u8E82\u91B4\u91CB\u9418\u9403\u93FD\u95E1\u9730\u98C4\u9952\u9951\u99A8\u9A2B\u9A30\u9A37\u9A35\u9C13\u9C0D\u9E79\u9EB5\u9EE8\u9F2F\u9F5F\u9F63\u9F61\u5137\u5138\u56C1\u56C0\u56C2\u5914\u5C6C\u5DCD\u61FC\u61FE\u651D\u651C\u6595\u66E9\u6AFB\u6B04\u6AFA\u6BB2\u704C\u721B\u72A7\u74D6\u74D4\u7669\u77D3\u7C50\u7E8F\u7E8C\u7FBC\u8617\u862D\u861A\u8823\u8822\u8821\u881F\u896A\u896C\u89BD\u8B74"],["c540","\u8B77\u8B7D\u8D13\u8E8A\u8E8D\u8E8B\u8F5F\u8FAF\u91BA\u942E\u9433\u9435\u943A\u9438\u9432\u942B\u95E2\u9738\u9739\u9732\u97FF\u9867\u9865\u9957\u9A45\u9A43\u9A40\u9A3E\u9ACF\u9B54\u9B51\u9C2D\u9C25\u9DAF\u9DB4\u9DC2\u9DB8\u9E9D\u9EEF\u9F19\u9F5C\u9F66\u9F67\u513C\u513B\u56C8\u56CA\u56C9\u5B7F\u5DD4\u5DD2\u5F4E\u61FF\u6524\u6B0A\u6B61\u7051\u7058\u7380\u74E4\u758A\u766E\u766C"],["c5a1","\u79B3\u7C60\u7C5F\u807E\u807D\u81DF\u8972\u896F\u89FC\u8B80\u8D16\u8D17\u8E91\u8E93\u8F61\u9148\u9444\u9451\u9452\u973D\u973E\u97C3\u97C1\u986B\u9955\u9A55\u9A4D\u9AD2\u9B1A\u9C49\u9C31\u9C3E\u9C3B\u9DD3\u9DD7\u9F34\u9F6C\u9F6A\u9F94\u56CC\u5DD6\u6200\u6523\u652B\u652A\u66EC\u6B10\u74DA\u7ACA\u7C64\u7C63\u7C65\u7E93\u7E96\u7E94\u81E2\u8638\u863F\u8831\u8B8A\u9090\u908F\u9463\u9460\u9464\u9768\u986F\u995C\u9A5A\u9A5B\u9A57\u9AD3\u9AD4\u9AD1\u9C54\u9C57\u9C56\u9DE5\u9E9F\u9EF4\u56D1\u58E9\u652C\u705E\u7671\u7672\u77D7\u7F50\u7F88\u8836\u8839\u8862\u8B93\u8B92"],["c640","\u8B96\u8277\u8D1B\u91C0\u946A\u9742\u9748\u9744\u97C6\u9870\u9A5F\u9B22\u9B58\u9C5F\u9DF9\u9DFA\u9E7C\u9E7D\u9F07\u9F77\u9F72\u5EF3\u6B16\u7063\u7C6C\u7C6E\u883B\u89C0\u8EA1\u91C1\u9472\u9470\u9871\u995E\u9AD6\u9B23\u9ECC\u7064\u77DA\u8B9A\u9477\u97C9\u9A62\u9A65\u7E9C\u8B9C\u8EAA\u91C5\u947D\u947E\u947C\u9C77\u9C78\u9EF7\u8C54\u947F\u9E1A\u7228\u9A6A\u9B31\u9E1B\u9E1E\u7C72"],["c940","\u4E42\u4E5C\u51F5\u531A\u5382\u4E07\u4E0C\u4E47\u4E8D\u56D7\uFA0C\u5C6E\u5F73\u4E0F\u5187\u4E0E\u4E2E\u4E93\u4EC2\u4EC9\u4EC8\u5198\u52FC\u536C\u53B9\u5720\u5903\u592C\u5C10\u5DFF\u65E1\u6BB3\u6BCC\u6C14\u723F\u4E31\u4E3C\u4EE8\u4EDC\u4EE9\u4EE1\u4EDD\u4EDA\u520C\u531C\u534C\u5722\u5723\u5917\u592F\u5B81\u5B84\u5C12\u5C3B\u5C74\u5C73\u5E04\u5E80\u5E82\u5FC9\u6209\u6250\u6C15"],["c9a1","\u6C36\u6C43\u6C3F\u6C3B\u72AE\u72B0\u738A\u79B8\u808A\u961E\u4F0E\u4F18\u4F2C\u4EF5\u4F14\u4EF1\u4F00\u4EF7\u4F08\u4F1D\u4F02\u4F05\u4F22\u4F13\u4F04\u4EF4\u4F12\u51B1\u5213\u5209\u5210\u52A6\u5322\u531F\u534D\u538A\u5407\u56E1\u56DF\u572E\u572A\u5734\u593C\u5980\u597C\u5985\u597B\u597E\u5977\u597F\u5B56\u5C15\u5C25\u5C7C\u5C7A\u5C7B\u5C7E\u5DDF\u5E75\u5E84\u5F02\u5F1A\u5F74\u5FD5\u5FD4\u5FCF\u625C\u625E\u6264\u6261\u6266\u6262\u6259\u6260\u625A\u6265\u65EF\u65EE\u673E\u6739\u6738\u673B\u673A\u673F\u673C\u6733\u6C18\u6C46\u6C52\u6C5C\u6C4F\u6C4A\u6C54\u6C4B"],["ca40","\u6C4C\u7071\u725E\u72B4\u72B5\u738E\u752A\u767F\u7A75\u7F51\u8278\u827C\u8280\u827D\u827F\u864D\u897E\u9099\u9097\u9098\u909B\u9094\u9622\u9624\u9620\u9623\u4F56\u4F3B\u4F62\u4F49\u4F53\u4F64\u4F3E\u4F67\u4F52\u4F5F\u4F41\u4F58\u4F2D\u4F33\u4F3F\u4F61\u518F\u51B9\u521C\u521E\u5221\u52AD\u52AE\u5309\u5363\u5372\u538E\u538F\u5430\u5437\u542A\u5454\u5445\u5419\u541C\u5425\u5418"],["caa1","\u543D\u544F\u5441\u5428\u5424\u5447\u56EE\u56E7\u56E5\u5741\u5745\u574C\u5749\u574B\u5752\u5906\u5940\u59A6\u5998\u59A0\u5997\u598E\u59A2\u5990\u598F\u59A7\u59A1\u5B8E\u5B92\u5C28\u5C2A\u5C8D\u5C8F\u5C88\u5C8B\u5C89\u5C92\u5C8A\u5C86\u5C93\u5C95\u5DE0\u5E0A\u5E0E\u5E8B\u5E89\u5E8C\u5E88\u5E8D\u5F05\u5F1D\u5F78\u5F76\u5FD2\u5FD1\u5FD0\u5FED\u5FE8\u5FEE\u5FF3\u5FE1\u5FE4\u5FE3\u5FFA\u5FEF\u5FF7\u5FFB\u6000\u5FF4\u623A\u6283\u628C\u628E\u628F\u6294\u6287\u6271\u627B\u627A\u6270\u6281\u6288\u6277\u627D\u6272\u6274\u6537\u65F0\u65F4\u65F3\u65F2\u65F5\u6745\u6747"],["cb40","\u6759\u6755\u674C\u6748\u675D\u674D\u675A\u674B\u6BD0\u6C19\u6C1A\u6C78\u6C67\u6C6B\u6C84\u6C8B\u6C8F\u6C71\u6C6F\u6C69\u6C9A\u6C6D\u6C87\u6C95\u6C9C\u6C66\u6C73\u6C65\u6C7B\u6C8E\u7074\u707A\u7263\u72BF\u72BD\u72C3\u72C6\u72C1\u72BA\u72C5\u7395\u7397\u7393\u7394\u7392\u753A\u7539\u7594\u7595\u7681\u793D\u8034\u8095\u8099\u8090\u8092\u809C\u8290\u828F\u8285\u828E\u8291\u8293"],["cba1","\u828A\u8283\u8284\u8C78\u8FC9\u8FBF\u909F\u90A1\u90A5\u909E\u90A7\u90A0\u9630\u9628\u962F\u962D\u4E33\u4F98\u4F7C\u4F85\u4F7D\u4F80\u4F87\u4F76\u4F74\u4F89\u4F84\u4F77\u4F4C\u4F97\u4F6A\u4F9A\u4F79\u4F81\u4F78\u4F90\u4F9C\u4F94\u4F9E\u4F92\u4F82\u4F95\u4F6B\u4F6E\u519E\u51BC\u51BE\u5235\u5232\u5233\u5246\u5231\u52BC\u530A\u530B\u533C\u5392\u5394\u5487\u547F\u5481\u5491\u5482\u5488\u546B\u547A\u547E\u5465\u546C\u5474\u5466\u548D\u546F\u5461\u5460\u5498\u5463\u5467\u5464\u56F7\u56F9\u576F\u5772\u576D\u576B\u5771\u5770\u5776\u5780\u5775\u577B\u5773\u5774\u5762"],["cc40","\u5768\u577D\u590C\u5945\u59B5\u59BA\u59CF\u59CE\u59B2\u59CC\u59C1\u59B6\u59BC\u59C3\u59D6\u59B1\u59BD\u59C0\u59C8\u59B4\u59C7\u5B62\u5B65\u5B93\u5B95\u5C44\u5C47\u5CAE\u5CA4\u5CA0\u5CB5\u5CAF\u5CA8\u5CAC\u5C9F\u5CA3\u5CAD\u5CA2\u5CAA\u5CA7\u5C9D\u5CA5\u5CB6\u5CB0\u5CA6\u5E17\u5E14\u5E19\u5F28\u5F22\u5F23\u5F24\u5F54\u5F82\u5F7E\u5F7D\u5FDE\u5FE5\u602D\u6026\u6019\u6032\u600B"],["cca1","\u6034\u600A\u6017\u6033\u601A\u601E\u602C\u6022\u600D\u6010\u602E\u6013\u6011\u600C\u6009\u601C\u6214\u623D\u62AD\u62B4\u62D1\u62BE\u62AA\u62B6\u62CA\u62AE\u62B3\u62AF\u62BB\u62A9\u62B0\u62B8\u653D\u65A8\u65BB\u6609\u65FC\u6604\u6612\u6608\u65FB\u6603\u660B\u660D\u6605\u65FD\u6611\u6610\u66F6\u670A\u6785\u676C\u678E\u6792\u6776\u677B\u6798\u6786\u6784\u6774\u678D\u678C\u677A\u679F\u6791\u6799\u6783\u677D\u6781\u6778\u6779\u6794\u6B25\u6B80\u6B7E\u6BDE\u6C1D\u6C93\u6CEC\u6CEB\u6CEE\u6CD9\u6CB6\u6CD4\u6CAD\u6CE7\u6CB7\u6CD0\u6CC2\u6CBA\u6CC3\u6CC6\u6CED\u6CF2"],["cd40","\u6CD2\u6CDD\u6CB4\u6C8A\u6C9D\u6C80\u6CDE\u6CC0\u6D30\u6CCD\u6CC7\u6CB0\u6CF9\u6CCF\u6CE9\u6CD1\u7094\u7098\u7085\u7093\u7086\u7084\u7091\u7096\u7082\u709A\u7083\u726A\u72D6\u72CB\u72D8\u72C9\u72DC\u72D2\u72D4\u72DA\u72CC\u72D1\u73A4\u73A1\u73AD\u73A6\u73A2\u73A0\u73AC\u739D\u74DD\u74E8\u753F\u7540\u753E\u758C\u7598\u76AF\u76F3\u76F1\u76F0\u76F5\u77F8\u77FC\u77F9\u77FB\u77FA"],["cda1","\u77F7\u7942\u793F\u79C5\u7A78\u7A7B\u7AFB\u7C75\u7CFD\u8035\u808F\u80AE\u80A3\u80B8\u80B5\u80AD\u8220\u82A0\u82C0\u82AB\u829A\u8298\u829B\u82B5\u82A7\u82AE\u82BC\u829E\u82BA\u82B4\u82A8\u82A1\u82A9\u82C2\u82A4\u82C3\u82B6\u82A2\u8670\u866F\u866D\u866E\u8C56\u8FD2\u8FCB\u8FD3\u8FCD\u8FD6\u8FD5\u8FD7\u90B2\u90B4\u90AF\u90B3\u90B0\u9639\u963D\u963C\u963A\u9643\u4FCD\u4FC5\u4FD3\u4FB2\u4FC9\u4FCB\u4FC1\u4FD4\u4FDC\u4FD9\u4FBB\u4FB3\u4FDB\u4FC7\u4FD6\u4FBA\u4FC0\u4FB9\u4FEC\u5244\u5249\u52C0\u52C2\u533D\u537C\u5397\u5396\u5399\u5398\u54BA\u54A1\u54AD\u54A5\u54CF"],["ce40","\u54C3\u830D\u54B7\u54AE\u54D6\u54B6\u54C5\u54C6\u54A0\u5470\u54BC\u54A2\u54BE\u5472\u54DE\u54B0\u57B5\u579E\u579F\u57A4\u578C\u5797\u579D\u579B\u5794\u5798\u578F\u5799\u57A5\u579A\u5795\u58F4\u590D\u5953\u59E1\u59DE\u59EE\u5A00\u59F1\u59DD\u59FA\u59FD\u59FC\u59F6\u59E4\u59F2\u59F7\u59DB\u59E9\u59F3\u59F5\u59E0\u59FE\u59F4\u59ED\u5BA8\u5C4C\u5CD0\u5CD8\u5CCC\u5CD7\u5CCB\u5CDB"],["cea1","\u5CDE\u5CDA\u5CC9\u5CC7\u5CCA\u5CD6\u5CD3\u5CD4\u5CCF\u5CC8\u5CC6\u5CCE\u5CDF\u5CF8\u5DF9\u5E21\u5E22\u5E23\u5E20\u5E24\u5EB0\u5EA4\u5EA2\u5E9B\u5EA3\u5EA5\u5F07\u5F2E\u5F56\u5F86\u6037\u6039\u6054\u6072\u605E\u6045\u6053\u6047\u6049\u605B\u604C\u6040\u6042\u605F\u6024\u6044\u6058\u6066\u606E\u6242\u6243\u62CF\u630D\u630B\u62F5\u630E\u6303\u62EB\u62F9\u630F\u630C\u62F8\u62F6\u6300\u6313\u6314\u62FA\u6315\u62FB\u62F0\u6541\u6543\u65AA\u65BF\u6636\u6621\u6632\u6635\u661C\u6626\u6622\u6633\u662B\u663A\u661D\u6634\u6639\u662E\u670F\u6710\u67C1\u67F2\u67C8\u67BA"],["cf40","\u67DC\u67BB\u67F8\u67D8\u67C0\u67B7\u67C5\u67EB\u67E4\u67DF\u67B5\u67CD\u67B3\u67F7\u67F6\u67EE\u67E3\u67C2\u67B9\u67CE\u67E7\u67F0\u67B2\u67FC\u67C6\u67ED\u67CC\u67AE\u67E6\u67DB\u67FA\u67C9\u67CA\u67C3\u67EA\u67CB\u6B28\u6B82\u6B84\u6BB6\u6BD6\u6BD8\u6BE0\u6C20\u6C21\u6D28\u6D34\u6D2D\u6D1F\u6D3C\u6D3F\u6D12\u6D0A\u6CDA\u6D33\u6D04\u6D19\u6D3A\u6D1A\u6D11\u6D00\u6D1D\u6D42"],["cfa1","\u6D01\u6D18\u6D37\u6D03\u6D0F\u6D40\u6D07\u6D20\u6D2C\u6D08\u6D22\u6D09\u6D10\u70B7\u709F\u70BE\u70B1\u70B0\u70A1\u70B4\u70B5\u70A9\u7241\u7249\u724A\u726C\u7270\u7273\u726E\u72CA\u72E4\u72E8\u72EB\u72DF\u72EA\u72E6\u72E3\u7385\u73CC\u73C2\u73C8\u73C5\u73B9\u73B6\u73B5\u73B4\u73EB\u73BF\u73C7\u73BE\u73C3\u73C6\u73B8\u73CB\u74EC\u74EE\u752E\u7547\u7548\u75A7\u75AA\u7679\u76C4\u7708\u7703\u7704\u7705\u770A\u76F7\u76FB\u76FA\u77E7\u77E8\u7806\u7811\u7812\u7805\u7810\u780F\u780E\u7809\u7803\u7813\u794A\u794C\u794B\u7945\u7944\u79D5\u79CD\u79CF\u79D6\u79CE\u7A80"],["d040","\u7A7E\u7AD1\u7B00\u7B01\u7C7A\u7C78\u7C79\u7C7F\u7C80\u7C81\u7D03\u7D08\u7D01\u7F58\u7F91\u7F8D\u7FBE\u8007\u800E\u800F\u8014\u8037\u80D8\u80C7\u80E0\u80D1\u80C8\u80C2\u80D0\u80C5\u80E3\u80D9\u80DC\u80CA\u80D5\u80C9\u80CF\u80D7\u80E6\u80CD\u81FF\u8221\u8294\u82D9\u82FE\u82F9\u8307\u82E8\u8300\u82D5\u833A\u82EB\u82D6\u82F4\u82EC\u82E1\u82F2\u82F5\u830C\u82FB\u82F6\u82F0\u82EA"],["d0a1","\u82E4\u82E0\u82FA\u82F3\u82ED\u8677\u8674\u867C\u8673\u8841\u884E\u8867\u886A\u8869\u89D3\u8A04\u8A07\u8D72\u8FE3\u8FE1\u8FEE\u8FE0\u90F1\u90BD\u90BF\u90D5\u90C5\u90BE\u90C7\u90CB\u90C8\u91D4\u91D3\u9654\u964F\u9651\u9653\u964A\u964E\u501E\u5005\u5007\u5013\u5022\u5030\u501B\u4FF5\u4FF4\u5033\u5037\u502C\u4FF6\u4FF7\u5017\u501C\u5020\u5027\u5035\u502F\u5031\u500E\u515A\u5194\u5193\u51CA\u51C4\u51C5\u51C8\u51CE\u5261\u525A\u5252\u525E\u525F\u5255\u5262\u52CD\u530E\u539E\u5526\u54E2\u5517\u5512\u54E7\u54F3\u54E4\u551A\u54FF\u5504\u5508\u54EB\u5511\u5505\u54F1"],["d140","\u550A\u54FB\u54F7\u54F8\u54E0\u550E\u5503\u550B\u5701\u5702\u57CC\u5832\u57D5\u57D2\u57BA\u57C6\u57BD\u57BC\u57B8\u57B6\u57BF\u57C7\u57D0\u57B9\u57C1\u590E\u594A\u5A19\u5A16\u5A2D\u5A2E\u5A15\u5A0F\u5A17\u5A0A\u5A1E\u5A33\u5B6C\u5BA7\u5BAD\u5BAC\u5C03\u5C56\u5C54\u5CEC\u5CFF\u5CEE\u5CF1\u5CF7\u5D00\u5CF9\u5E29\u5E28\u5EA8\u5EAE\u5EAA\u5EAC\u5F33\u5F30\u5F67\u605D\u605A\u6067"],["d1a1","\u6041\u60A2\u6088\u6080\u6092\u6081\u609D\u6083\u6095\u609B\u6097\u6087\u609C\u608E\u6219\u6246\u62F2\u6310\u6356\u632C\u6344\u6345\u6336\u6343\u63E4\u6339\u634B\u634A\u633C\u6329\u6341\u6334\u6358\u6354\u6359\u632D\u6347\u6333\u635A\u6351\u6338\u6357\u6340\u6348\u654A\u6546\u65C6\u65C3\u65C4\u65C2\u664A\u665F\u6647\u6651\u6712\u6713\u681F\u681A\u6849\u6832\u6833\u683B\u684B\u684F\u6816\u6831\u681C\u6835\u682B\u682D\u682F\u684E\u6844\u6834\u681D\u6812\u6814\u6826\u6828\u682E\u684D\u683A\u6825\u6820\u6B2C\u6B2F\u6B2D\u6B31\u6B34\u6B6D\u8082\u6B88\u6BE6\u6BE4"],["d240","\u6BE8\u6BE3\u6BE2\u6BE7\u6C25\u6D7A\u6D63\u6D64\u6D76\u6D0D\u6D61\u6D92\u6D58\u6D62\u6D6D\u6D6F\u6D91\u6D8D\u6DEF\u6D7F\u6D86\u6D5E\u6D67\u6D60\u6D97\u6D70\u6D7C\u6D5F\u6D82\u6D98\u6D2F\u6D68\u6D8B\u6D7E\u6D80\u6D84\u6D16\u6D83\u6D7B\u6D7D\u6D75\u6D90\u70DC\u70D3\u70D1\u70DD\u70CB\u7F39\u70E2\u70D7\u70D2\u70DE\u70E0\u70D4\u70CD\u70C5\u70C6\u70C7\u70DA\u70CE\u70E1\u7242\u7278"],["d2a1","\u7277\u7276\u7300\u72FA\u72F4\u72FE\u72F6\u72F3\u72FB\u7301\u73D3\u73D9\u73E5\u73D6\u73BC\u73E7\u73E3\u73E9\u73DC\u73D2\u73DB\u73D4\u73DD\u73DA\u73D7\u73D8\u73E8\u74DE\u74DF\u74F4\u74F5\u7521\u755B\u755F\u75B0\u75C1\u75BB\u75C4\u75C0\u75BF\u75B6\u75BA\u768A\u76C9\u771D\u771B\u7710\u7713\u7712\u7723\u7711\u7715\u7719\u771A\u7722\u7727\u7823\u782C\u7822\u7835\u782F\u7828\u782E\u782B\u7821\u7829\u7833\u782A\u7831\u7954\u795B\u794F\u795C\u7953\u7952\u7951\u79EB\u79EC\u79E0\u79EE\u79ED\u79EA\u79DC\u79DE\u79DD\u7A86\u7A89\u7A85\u7A8B\u7A8C\u7A8A\u7A87\u7AD8\u7B10"],["d340","\u7B04\u7B13\u7B05\u7B0F\u7B08\u7B0A\u7B0E\u7B09\u7B12\u7C84\u7C91\u7C8A\u7C8C\u7C88\u7C8D\u7C85\u7D1E\u7D1D\u7D11\u7D0E\u7D18\u7D16\u7D13\u7D1F\u7D12\u7D0F\u7D0C\u7F5C\u7F61\u7F5E\u7F60\u7F5D\u7F5B\u7F96\u7F92\u7FC3\u7FC2\u7FC0\u8016\u803E\u8039\u80FA\u80F2\u80F9\u80F5\u8101\u80FB\u8100\u8201\u822F\u8225\u8333\u832D\u8344\u8319\u8351\u8325\u8356\u833F\u8341\u8326\u831C\u8322"],["d3a1","\u8342\u834E\u831B\u832A\u8308\u833C\u834D\u8316\u8324\u8320\u8337\u832F\u8329\u8347\u8345\u834C\u8353\u831E\u832C\u834B\u8327\u8348\u8653\u8652\u86A2\u86A8\u8696\u868D\u8691\u869E\u8687\u8697\u8686\u868B\u869A\u8685\u86A5\u8699\u86A1\u86A7\u8695\u8698\u868E\u869D\u8690\u8694\u8843\u8844\u886D\u8875\u8876\u8872\u8880\u8871\u887F\u886F\u8883\u887E\u8874\u887C\u8A12\u8C47\u8C57\u8C7B\u8CA4\u8CA3\u8D76\u8D78\u8DB5\u8DB7\u8DB6\u8ED1\u8ED3\u8FFE\u8FF5\u9002\u8FFF\u8FFB\u9004\u8FFC\u8FF6\u90D6\u90E0\u90D9\u90DA\u90E3\u90DF\u90E5\u90D8\u90DB\u90D7\u90DC\u90E4\u9150"],["d440","\u914E\u914F\u91D5\u91E2\u91DA\u965C\u965F\u96BC\u98E3\u9ADF\u9B2F\u4E7F\u5070\u506A\u5061\u505E\u5060\u5053\u504B\u505D\u5072\u5048\u504D\u5041\u505B\u504A\u5062\u5015\u5045\u505F\u5069\u506B\u5063\u5064\u5046\u5040\u506E\u5073\u5057\u5051\u51D0\u526B\u526D\u526C\u526E\u52D6\u52D3\u532D\u539C\u5575\u5576\u553C\u554D\u5550\u5534\u552A\u5551\u5562\u5536\u5535\u5530\u5552\u5545"],["d4a1","\u550C\u5532\u5565\u554E\u5539\u5548\u552D\u553B\u5540\u554B\u570A\u5707\u57FB\u5814\u57E2\u57F6\u57DC\u57F4\u5800\u57ED\u57FD\u5808\u57F8\u580B\u57F3\u57CF\u5807\u57EE\u57E3\u57F2\u57E5\u57EC\u57E1\u580E\u57FC\u5810\u57E7\u5801\u580C\u57F1\u57E9\u57F0\u580D\u5804\u595C\u5A60\u5A58\u5A55\u5A67\u5A5E\u5A38\u5A35\u5A6D\u5A50\u5A5F\u5A65\u5A6C\u5A53\u5A64\u5A57\u5A43\u5A5D\u5A52\u5A44\u5A5B\u5A48\u5A8E\u5A3E\u5A4D\u5A39\u5A4C\u5A70\u5A69\u5A47\u5A51\u5A56\u5A42\u5A5C\u5B72\u5B6E\u5BC1\u5BC0\u5C59\u5D1E\u5D0B\u5D1D\u5D1A\u5D20\u5D0C\u5D28\u5D0D\u5D26\u5D25\u5D0F"],["d540","\u5D30\u5D12\u5D23\u5D1F\u5D2E\u5E3E\u5E34\u5EB1\u5EB4\u5EB9\u5EB2\u5EB3\u5F36\u5F38\u5F9B\u5F96\u5F9F\u608A\u6090\u6086\u60BE\u60B0\u60BA\u60D3\u60D4\u60CF\u60E4\u60D9\u60DD\u60C8\u60B1\u60DB\u60B7\u60CA\u60BF\u60C3\u60CD\u60C0\u6332\u6365\u638A\u6382\u637D\u63BD\u639E\u63AD\u639D\u6397\u63AB\u638E\u636F\u6387\u6390\u636E\u63AF\u6375\u639C\u636D\u63AE\u637C\u63A4\u633B\u639F"],["d5a1","\u6378\u6385\u6381\u6391\u638D\u6370\u6553\u65CD\u6665\u6661\u665B\u6659\u665C\u6662\u6718\u6879\u6887\u6890\u689C\u686D\u686E\u68AE\u68AB\u6956\u686F\u68A3\u68AC\u68A9\u6875\u6874\u68B2\u688F\u6877\u6892\u687C\u686B\u6872\u68AA\u6880\u6871\u687E\u689B\u6896\u688B\u68A0\u6889\u68A4\u6878\u687B\u6891\u688C\u688A\u687D\u6B36\u6B33\u6B37\u6B38\u6B91\u6B8F\u6B8D\u6B8E\u6B8C\u6C2A\u6DC0\u6DAB\u6DB4\u6DB3\u6E74\u6DAC\u6DE9\u6DE2\u6DB7\u6DF6\u6DD4\u6E00\u6DC8\u6DE0\u6DDF\u6DD6\u6DBE\u6DE5\u6DDC\u6DDD\u6DDB\u6DF4\u6DCA\u6DBD\u6DED\u6DF0\u6DBA\u6DD5\u6DC2\u6DCF\u6DC9"],["d640","\u6DD0\u6DF2\u6DD3\u6DFD\u6DD7\u6DCD\u6DE3\u6DBB\u70FA\u710D\u70F7\u7117\u70F4\u710C\u70F0\u7104\u70F3\u7110\u70FC\u70FF\u7106\u7113\u7100\u70F8\u70F6\u710B\u7102\u710E\u727E\u727B\u727C\u727F\u731D\u7317\u7307\u7311\u7318\u730A\u7308\u72FF\u730F\u731E\u7388\u73F6\u73F8\u73F5\u7404\u7401\u73FD\u7407\u7400\u73FA\u73FC\u73FF\u740C\u740B\u73F4\u7408\u7564\u7563\u75CE\u75D2\u75CF"],["d6a1","\u75CB\u75CC\u75D1\u75D0\u768F\u7689\u76D3\u7739\u772F\u772D\u7731\u7732\u7734\u7733\u773D\u7725\u773B\u7735\u7848\u7852\u7849\u784D\u784A\u784C\u7826\u7845\u7850\u7964\u7967\u7969\u796A\u7963\u796B\u7961\u79BB\u79FA\u79F8\u79F6\u79F7\u7A8F\u7A94\u7A90\u7B35\u7B47\u7B34\u7B25\u7B30\u7B22\u7B24\u7B33\u7B18\u7B2A\u7B1D\u7B31\u7B2B\u7B2D\u7B2F\u7B32\u7B38\u7B1A\u7B23\u7C94\u7C98\u7C96\u7CA3\u7D35\u7D3D\u7D38\u7D36\u7D3A\u7D45\u7D2C\u7D29\u7D41\u7D47\u7D3E\u7D3F\u7D4A\u7D3B\u7D28\u7F63\u7F95\u7F9C\u7F9D\u7F9B\u7FCA\u7FCB\u7FCD\u7FD0\u7FD1\u7FC7\u7FCF\u7FC9\u801F"],["d740","\u801E\u801B\u8047\u8043\u8048\u8118\u8125\u8119\u811B\u812D\u811F\u812C\u811E\u8121\u8115\u8127\u811D\u8122\u8211\u8238\u8233\u823A\u8234\u8232\u8274\u8390\u83A3\u83A8\u838D\u837A\u8373\u83A4\u8374\u838F\u8381\u8395\u8399\u8375\u8394\u83A9\u837D\u8383\u838C\u839D\u839B\u83AA\u838B\u837E\u83A5\u83AF\u8388\u8397\u83B0\u837F\u83A6\u8387\u83AE\u8376\u839A\u8659\u8656\u86BF\u86B7"],["d7a1","\u86C2\u86C1\u86C5\u86BA\u86B0\u86C8\u86B9\u86B3\u86B8\u86CC\u86B4\u86BB\u86BC\u86C3\u86BD\u86BE\u8852\u8889\u8895\u88A8\u88A2\u88AA\u889A\u8891\u88A1\u889F\u8898\u88A7\u8899\u889B\u8897\u88A4\u88AC\u888C\u8893\u888E\u8982\u89D6\u89D9\u89D5\u8A30\u8A27\u8A2C\u8A1E\u8C39\u8C3B\u8C5C\u8C5D\u8C7D\u8CA5\u8D7D\u8D7B\u8D79\u8DBC\u8DC2\u8DB9\u8DBF\u8DC1\u8ED8\u8EDE\u8EDD\u8EDC\u8ED7\u8EE0\u8EE1\u9024\u900B\u9011\u901C\u900C\u9021\u90EF\u90EA\u90F0\u90F4\u90F2\u90F3\u90D4\u90EB\u90EC\u90E9\u9156\u9158\u915A\u9153\u9155\u91EC\u91F4\u91F1\u91F3\u91F8\u91E4\u91F9\u91EA"],["d840","\u91EB\u91F7\u91E8\u91EE\u957A\u9586\u9588\u967C\u966D\u966B\u9671\u966F\u96BF\u976A\u9804\u98E5\u9997\u509B\u5095\u5094\u509E\u508B\u50A3\u5083\u508C\u508E\u509D\u5068\u509C\u5092\u5082\u5087\u515F\u51D4\u5312\u5311\u53A4\u53A7\u5591\u55A8\u55A5\u55AD\u5577\u5645\u55A2\u5593\u5588\u558F\u55B5\u5581\u55A3\u5592\u55A4\u557D\u558C\u55A6\u557F\u5595\u55A1\u558E\u570C\u5829\u5837"],["d8a1","\u5819\u581E\u5827\u5823\u5828\u57F5\u5848\u5825\u581C\u581B\u5833\u583F\u5836\u582E\u5839\u5838\u582D\u582C\u583B\u5961\u5AAF\u5A94\u5A9F\u5A7A\u5AA2\u5A9E\u5A78\u5AA6\u5A7C\u5AA5\u5AAC\u5A95\u5AAE\u5A37\u5A84\u5A8A\u5A97\u5A83\u5A8B\u5AA9\u5A7B\u5A7D\u5A8C\u5A9C\u5A8F\u5A93\u5A9D\u5BEA\u5BCD\u5BCB\u5BD4\u5BD1\u5BCA\u5BCE\u5C0C\u5C30\u5D37\u5D43\u5D6B\u5D41\u5D4B\u5D3F\u5D35\u5D51\u5D4E\u5D55\u5D33\u5D3A\u5D52\u5D3D\u5D31\u5D59\u5D42\u5D39\u5D49\u5D38\u5D3C\u5D32\u5D36\u5D40\u5D45\u5E44\u5E41\u5F58\u5FA6\u5FA5\u5FAB\u60C9\u60B9\u60CC\u60E2\u60CE\u60C4\u6114"],["d940","\u60F2\u610A\u6116\u6105\u60F5\u6113\u60F8\u60FC\u60FE\u60C1\u6103\u6118\u611D\u6110\u60FF\u6104\u610B\u624A\u6394\u63B1\u63B0\u63CE\u63E5\u63E8\u63EF\u63C3\u649D\u63F3\u63CA\u63E0\u63F6\u63D5\u63F2\u63F5\u6461\u63DF\u63BE\u63DD\u63DC\u63C4\u63D8\u63D3\u63C2\u63C7\u63CC\u63CB\u63C8\u63F0\u63D7\u63D9\u6532\u6567\u656A\u6564\u655C\u6568\u6565\u658C\u659D\u659E\u65AE\u65D0\u65D2"],["d9a1","\u667C\u666C\u667B\u6680\u6671\u6679\u666A\u6672\u6701\u690C\u68D3\u6904\u68DC\u692A\u68EC\u68EA\u68F1\u690F\u68D6\u68F7\u68EB\u68E4\u68F6\u6913\u6910\u68F3\u68E1\u6907\u68CC\u6908\u6970\u68B4\u6911\u68EF\u68C6\u6914\u68F8\u68D0\u68FD\u68FC\u68E8\u690B\u690A\u6917\u68CE\u68C8\u68DD\u68DE\u68E6\u68F4\u68D1\u6906\u68D4\u68E9\u6915\u6925\u68C7\u6B39\u6B3B\u6B3F\u6B3C\u6B94\u6B97\u6B99\u6B95\u6BBD\u6BF0\u6BF2\u6BF3\u6C30\u6DFC\u6E46\u6E47\u6E1F\u6E49\u6E88\u6E3C\u6E3D\u6E45\u6E62\u6E2B\u6E3F\u6E41\u6E5D\u6E73\u6E1C\u6E33\u6E4B\u6E40\u6E51\u6E3B\u6E03\u6E2E\u6E5E"],["da40","\u6E68\u6E5C\u6E61\u6E31\u6E28\u6E60\u6E71\u6E6B\u6E39\u6E22\u6E30\u6E53\u6E65\u6E27\u6E78\u6E64\u6E77\u6E55\u6E79\u6E52\u6E66\u6E35\u6E36\u6E5A\u7120\u711E\u712F\u70FB\u712E\u7131\u7123\u7125\u7122\u7132\u711F\u7128\u713A\u711B\u724B\u725A\u7288\u7289\u7286\u7285\u728B\u7312\u730B\u7330\u7322\u7331\u7333\u7327\u7332\u732D\u7326\u7323\u7335\u730C\u742E\u742C\u7430\u742B\u7416"],["daa1","\u741A\u7421\u742D\u7431\u7424\u7423\u741D\u7429\u7420\u7432\u74FB\u752F\u756F\u756C\u75E7\u75DA\u75E1\u75E6\u75DD\u75DF\u75E4\u75D7\u7695\u7692\u76DA\u7746\u7747\u7744\u774D\u7745\u774A\u774E\u774B\u774C\u77DE\u77EC\u7860\u7864\u7865\u785C\u786D\u7871\u786A\u786E\u7870\u7869\u7868\u785E\u7862\u7974\u7973\u7972\u7970\u7A02\u7A0A\u7A03\u7A0C\u7A04\u7A99\u7AE6\u7AE4\u7B4A\u7B3B\u7B44\u7B48\u7B4C\u7B4E\u7B40\u7B58\u7B45\u7CA2\u7C9E\u7CA8\u7CA1\u7D58\u7D6F\u7D63\u7D53\u7D56\u7D67\u7D6A\u7D4F\u7D6D\u7D5C\u7D6B\u7D52\u7D54\u7D69\u7D51\u7D5F\u7D4E\u7F3E\u7F3F\u7F65"],["db40","\u7F66\u7FA2\u7FA0\u7FA1\u7FD7\u8051\u804F\u8050\u80FE\u80D4\u8143\u814A\u8152\u814F\u8147\u813D\u814D\u813A\u81E6\u81EE\u81F7\u81F8\u81F9\u8204\u823C\u823D\u823F\u8275\u833B\u83CF\u83F9\u8423\u83C0\u83E8\u8412\u83E7\u83E4\u83FC\u83F6\u8410\u83C6\u83C8\u83EB\u83E3\u83BF\u8401\u83DD\u83E5\u83D8\u83FF\u83E1\u83CB\u83CE\u83D6\u83F5\u83C9\u8409\u840F\u83DE\u8411\u8406\u83C2\u83F3"],["dba1","\u83D5\u83FA\u83C7\u83D1\u83EA\u8413\u83C3\u83EC\u83EE\u83C4\u83FB\u83D7\u83E2\u841B\u83DB\u83FE\u86D8\u86E2\u86E6\u86D3\u86E3\u86DA\u86EA\u86DD\u86EB\u86DC\u86EC\u86E9\u86D7\u86E8\u86D1\u8848\u8856\u8855\u88BA\u88D7\u88B9\u88B8\u88C0\u88BE\u88B6\u88BC\u88B7\u88BD\u88B2\u8901\u88C9\u8995\u8998\u8997\u89DD\u89DA\u89DB\u8A4E\u8A4D\u8A39\u8A59\u8A40\u8A57\u8A58\u8A44\u8A45\u8A52\u8A48\u8A51\u8A4A\u8A4C\u8A4F\u8C5F\u8C81\u8C80\u8CBA\u8CBE\u8CB0\u8CB9\u8CB5\u8D84\u8D80\u8D89\u8DD8\u8DD3\u8DCD\u8DC7\u8DD6\u8DDC\u8DCF\u8DD5\u8DD9\u8DC8\u8DD7\u8DC5\u8EEF\u8EF7\u8EFA"],["dc40","\u8EF9\u8EE6\u8EEE\u8EE5\u8EF5\u8EE7\u8EE8\u8EF6\u8EEB\u8EF1\u8EEC\u8EF4\u8EE9\u902D\u9034\u902F\u9106\u912C\u9104\u90FF\u90FC\u9108\u90F9\u90FB\u9101\u9100\u9107\u9105\u9103\u9161\u9164\u915F\u9162\u9160\u9201\u920A\u9225\u9203\u921A\u9226\u920F\u920C\u9200\u9212\u91FF\u91FD\u9206\u9204\u9227\u9202\u921C\u9224\u9219\u9217\u9205\u9216\u957B\u958D\u958C\u9590\u9687\u967E\u9688"],["dca1","\u9689\u9683\u9680\u96C2\u96C8\u96C3\u96F1\u96F0\u976C\u9770\u976E\u9807\u98A9\u98EB\u9CE6\u9EF9\u4E83\u4E84\u4EB6\u50BD\u50BF\u50C6\u50AE\u50C4\u50CA\u50B4\u50C8\u50C2\u50B0\u50C1\u50BA\u50B1\u50CB\u50C9\u50B6\u50B8\u51D7\u527A\u5278\u527B\u527C\u55C3\u55DB\u55CC\u55D0\u55CB\u55CA\u55DD\u55C0\u55D4\u55C4\u55E9\u55BF\u55D2\u558D\u55CF\u55D5\u55E2\u55D6\u55C8\u55F2\u55CD\u55D9\u55C2\u5714\u5853\u5868\u5864\u584F\u584D\u5849\u586F\u5855\u584E\u585D\u5859\u5865\u585B\u583D\u5863\u5871\u58FC\u5AC7\u5AC4\u5ACB\u5ABA\u5AB8\u5AB1\u5AB5\u5AB0\u5ABF\u5AC8\u5ABB\u5AC6"],["dd40","\u5AB7\u5AC0\u5ACA\u5AB4\u5AB6\u5ACD\u5AB9\u5A90\u5BD6\u5BD8\u5BD9\u5C1F\u5C33\u5D71\u5D63\u5D4A\u5D65\u5D72\u5D6C\u5D5E\u5D68\u5D67\u5D62\u5DF0\u5E4F\u5E4E\u5E4A\u5E4D\u5E4B\u5EC5\u5ECC\u5EC6\u5ECB\u5EC7\u5F40\u5FAF\u5FAD\u60F7\u6149\u614A\u612B\u6145\u6136\u6132\u612E\u6146\u612F\u614F\u6129\u6140\u6220\u9168\u6223\u6225\u6224\u63C5\u63F1\u63EB\u6410\u6412\u6409\u6420\u6424"],["dda1","\u6433\u6443\u641F\u6415\u6418\u6439\u6437\u6422\u6423\u640C\u6426\u6430\u6428\u6441\u6435\u642F\u640A\u641A\u6440\u6425\u6427\u640B\u63E7\u641B\u642E\u6421\u640E\u656F\u6592\u65D3\u6686\u668C\u6695\u6690\u668B\u668A\u6699\u6694\u6678\u6720\u6966\u695F\u6938\u694E\u6962\u6971\u693F\u6945\u696A\u6939\u6942\u6957\u6959\u697A\u6948\u6949\u6935\u696C\u6933\u693D\u6965\u68F0\u6978\u6934\u6969\u6940\u696F\u6944\u6976\u6958\u6941\u6974\u694C\u693B\u694B\u6937\u695C\u694F\u6951\u6932\u6952\u692F\u697B\u693C\u6B46\u6B45\u6B43\u6B42\u6B48\u6B41\u6B9B\uFA0D\u6BFB\u6BFC"],["de40","\u6BF9\u6BF7\u6BF8\u6E9B\u6ED6\u6EC8\u6E8F\u6EC0\u6E9F\u6E93\u6E94\u6EA0\u6EB1\u6EB9\u6EC6\u6ED2\u6EBD\u6EC1\u6E9E\u6EC9\u6EB7\u6EB0\u6ECD\u6EA6\u6ECF\u6EB2\u6EBE\u6EC3\u6EDC\u6ED8\u6E99\u6E92\u6E8E\u6E8D\u6EA4\u6EA1\u6EBF\u6EB3\u6ED0\u6ECA\u6E97\u6EAE\u6EA3\u7147\u7154\u7152\u7163\u7160\u7141\u715D\u7162\u7172\u7178\u716A\u7161\u7142\u7158\u7143\u714B\u7170\u715F\u7150\u7153"],["dea1","\u7144\u714D\u715A\u724F\u728D\u728C\u7291\u7290\u728E\u733C\u7342\u733B\u733A\u7340\u734A\u7349\u7444\u744A\u744B\u7452\u7451\u7457\u7440\u744F\u7450\u744E\u7442\u7446\u744D\u7454\u74E1\u74FF\u74FE\u74FD\u751D\u7579\u7577\u6983\u75EF\u760F\u7603\u75F7\u75FE\u75FC\u75F9\u75F8\u7610\u75FB\u75F6\u75ED\u75F5\u75FD\u7699\u76B5\u76DD\u7755\u775F\u7760\u7752\u7756\u775A\u7769\u7767\u7754\u7759\u776D\u77E0\u7887\u789A\u7894\u788F\u7884\u7895\u7885\u7886\u78A1\u7883\u7879\u7899\u7880\u7896\u787B\u797C\u7982\u797D\u7979\u7A11\u7A18\u7A19\u7A12\u7A17\u7A15\u7A22\u7A13"],["df40","\u7A1B\u7A10\u7AA3\u7AA2\u7A9E\u7AEB\u7B66\u7B64\u7B6D\u7B74\u7B69\u7B72\u7B65\u7B73\u7B71\u7B70\u7B61\u7B78\u7B76\u7B63\u7CB2\u7CB4\u7CAF\u7D88\u7D86\u7D80\u7D8D\u7D7F\u7D85\u7D7A\u7D8E\u7D7B\u7D83\u7D7C\u7D8C\u7D94\u7D84\u7D7D\u7D92\u7F6D\u7F6B\u7F67\u7F68\u7F6C\u7FA6\u7FA5\u7FA7\u7FDB\u7FDC\u8021\u8164\u8160\u8177\u815C\u8169\u815B\u8162\u8172\u6721\u815E\u8176\u8167\u816F"],["dfa1","\u8144\u8161\u821D\u8249\u8244\u8240\u8242\u8245\u84F1\u843F\u8456\u8476\u8479\u848F\u848D\u8465\u8451\u8440\u8486\u8467\u8430\u844D\u847D\u845A\u8459\u8474\u8473\u845D\u8507\u845E\u8437\u843A\u8434\u847A\u8443\u8478\u8432\u8445\u8429\u83D9\u844B\u842F\u8442\u842D\u845F\u8470\u8439\u844E\u844C\u8452\u846F\u84C5\u848E\u843B\u8447\u8436\u8433\u8468\u847E\u8444\u842B\u8460\u8454\u846E\u8450\u870B\u8704\u86F7\u870C\u86FA\u86D6\u86F5\u874D\u86F8\u870E\u8709\u8701\u86F6\u870D\u8705\u88D6\u88CB\u88CD\u88CE\u88DE\u88DB\u88DA\u88CC\u88D0\u8985\u899B\u89DF\u89E5\u89E4"],["e040","\u89E1\u89E0\u89E2\u89DC\u89E6\u8A76\u8A86\u8A7F\u8A61\u8A3F\u8A77\u8A82\u8A84\u8A75\u8A83\u8A81\u8A74\u8A7A\u8C3C\u8C4B\u8C4A\u8C65\u8C64\u8C66\u8C86\u8C84\u8C85\u8CCC\u8D68\u8D69\u8D91\u8D8C\u8D8E\u8D8F\u8D8D\u8D93\u8D94\u8D90\u8D92\u8DF0\u8DE0\u8DEC\u8DF1\u8DEE\u8DD0\u8DE9\u8DE3\u8DE2\u8DE7\u8DF2\u8DEB\u8DF4\u8F06\u8EFF\u8F01\u8F00\u8F05\u8F07\u8F08\u8F02\u8F0B\u9052\u903F"],["e0a1","\u9044\u9049\u903D\u9110\u910D\u910F\u9111\u9116\u9114\u910B\u910E\u916E\u916F\u9248\u9252\u9230\u923A\u9266\u9233\u9265\u925E\u9283\u922E\u924A\u9246\u926D\u926C\u924F\u9260\u9267\u926F\u9236\u9261\u9270\u9231\u9254\u9263\u9250\u9272\u924E\u9253\u924C\u9256\u9232\u959F\u959C\u959E\u959B\u9692\u9693\u9691\u9697\u96CE\u96FA\u96FD\u96F8\u96F5\u9773\u9777\u9778\u9772\u980F\u980D\u980E\u98AC\u98F6\u98F9\u99AF\u99B2\u99B0\u99B5\u9AAD\u9AAB\u9B5B\u9CEA\u9CED\u9CE7\u9E80\u9EFD\u50E6\u50D4\u50D7\u50E8\u50F3\u50DB\u50EA\u50DD\u50E4\u50D3\u50EC\u50F0\u50EF\u50E3\u50E0"],["e140","\u51D8\u5280\u5281\u52E9\u52EB\u5330\u53AC\u5627\u5615\u560C\u5612\u55FC\u560F\u561C\u5601\u5613\u5602\u55FA\u561D\u5604\u55FF\u55F9\u5889\u587C\u5890\u5898\u5886\u5881\u587F\u5874\u588B\u587A\u5887\u5891\u588E\u5876\u5882\u5888\u587B\u5894\u588F\u58FE\u596B\u5ADC\u5AEE\u5AE5\u5AD5\u5AEA\u5ADA\u5AED\u5AEB\u5AF3\u5AE2\u5AE0\u5ADB\u5AEC\u5ADE\u5ADD\u5AD9\u5AE8\u5ADF\u5B77\u5BE0"],["e1a1","\u5BE3\u5C63\u5D82\u5D80\u5D7D\u5D86\u5D7A\u5D81\u5D77\u5D8A\u5D89\u5D88\u5D7E\u5D7C\u5D8D\u5D79\u5D7F\u5E58\u5E59\u5E53\u5ED8\u5ED1\u5ED7\u5ECE\u5EDC\u5ED5\u5ED9\u5ED2\u5ED4\u5F44\u5F43\u5F6F\u5FB6\u612C\u6128\u6141\u615E\u6171\u6173\u6152\u6153\u6172\u616C\u6180\u6174\u6154\u617A\u615B\u6165\u613B\u616A\u6161\u6156\u6229\u6227\u622B\u642B\u644D\u645B\u645D\u6474\u6476\u6472\u6473\u647D\u6475\u6466\u64A6\u644E\u6482\u645E\u645C\u644B\u6453\u6460\u6450\u647F\u643F\u646C\u646B\u6459\u6465\u6477\u6573\u65A0\u66A1\u66A0\u669F\u6705\u6704\u6722\u69B1\u69B6\u69C9"],["e240","\u69A0\u69CE\u6996\u69B0\u69AC\u69BC\u6991\u6999\u698E\u69A7\u698D\u69A9\u69BE\u69AF\u69BF\u69C4\u69BD\u69A4\u69D4\u69B9\u69CA\u699A\u69CF\u69B3\u6993\u69AA\u69A1\u699E\u69D9\u6997\u6990\u69C2\u69B5\u69A5\u69C6\u6B4A\u6B4D\u6B4B\u6B9E\u6B9F\u6BA0\u6BC3\u6BC4\u6BFE\u6ECE\u6EF5\u6EF1\u6F03\u6F25\u6EF8\u6F37\u6EFB\u6F2E\u6F09\u6F4E\u6F19\u6F1A\u6F27\u6F18\u6F3B\u6F12\u6EED\u6F0A"],["e2a1","\u6F36\u6F73\u6EF9\u6EEE\u6F2D\u6F40\u6F30\u6F3C\u6F35\u6EEB\u6F07\u6F0E\u6F43\u6F05\u6EFD\u6EF6\u6F39\u6F1C\u6EFC\u6F3A\u6F1F\u6F0D\u6F1E\u6F08\u6F21\u7187\u7190\u7189\u7180\u7185\u7182\u718F\u717B\u7186\u7181\u7197\u7244\u7253\u7297\u7295\u7293\u7343\u734D\u7351\u734C\u7462\u7473\u7471\u7475\u7472\u7467\u746E\u7500\u7502\u7503\u757D\u7590\u7616\u7608\u760C\u7615\u7611\u760A\u7614\u76B8\u7781\u777C\u7785\u7782\u776E\u7780\u776F\u777E\u7783\u78B2\u78AA\u78B4\u78AD\u78A8\u787E\u78AB\u789E\u78A5\u78A0\u78AC\u78A2\u78A4\u7998\u798A\u798B\u7996\u7995\u7994\u7993"],["e340","\u7997\u7988\u7992\u7990\u7A2B\u7A4A\u7A30\u7A2F\u7A28\u7A26\u7AA8\u7AAB\u7AAC\u7AEE\u7B88\u7B9C\u7B8A\u7B91\u7B90\u7B96\u7B8D\u7B8C\u7B9B\u7B8E\u7B85\u7B98\u5284\u7B99\u7BA4\u7B82\u7CBB\u7CBF\u7CBC\u7CBA\u7DA7\u7DB7\u7DC2\u7DA3\u7DAA\u7DC1\u7DC0\u7DC5\u7D9D\u7DCE\u7DC4\u7DC6\u7DCB\u7DCC\u7DAF\u7DB9\u7D96\u7DBC\u7D9F\u7DA6\u7DAE\u7DA9\u7DA1\u7DC9\u7F73\u7FE2\u7FE3\u7FE5\u7FDE"],["e3a1","\u8024\u805D\u805C\u8189\u8186\u8183\u8187\u818D\u818C\u818B\u8215\u8497\u84A4\u84A1\u849F\u84BA\u84CE\u84C2\u84AC\u84AE\u84AB\u84B9\u84B4\u84C1\u84CD\u84AA\u849A\u84B1\u84D0\u849D\u84A7\u84BB\u84A2\u8494\u84C7\u84CC\u849B\u84A9\u84AF\u84A8\u84D6\u8498\u84B6\u84CF\u84A0\u84D7\u84D4\u84D2\u84DB\u84B0\u8491\u8661\u8733\u8723\u8728\u876B\u8740\u872E\u871E\u8721\u8719\u871B\u8743\u872C\u8741\u873E\u8746\u8720\u8732\u872A\u872D\u873C\u8712\u873A\u8731\u8735\u8742\u8726\u8727\u8738\u8724\u871A\u8730\u8711\u88F7\u88E7\u88F1\u88F2\u88FA\u88FE\u88EE\u88FC\u88F6\u88FB"],["e440","\u88F0\u88EC\u88EB\u899D\u89A1\u899F\u899E\u89E9\u89EB\u89E8\u8AAB\u8A99\u8A8B\u8A92\u8A8F\u8A96\u8C3D\u8C68\u8C69\u8CD5\u8CCF\u8CD7\u8D96\u8E09\u8E02\u8DFF\u8E0D\u8DFD\u8E0A\u8E03\u8E07\u8E06\u8E05\u8DFE\u8E00\u8E04\u8F10\u8F11\u8F0E\u8F0D\u9123\u911C\u9120\u9122\u911F\u911D\u911A\u9124\u9121\u911B\u917A\u9172\u9179\u9173\u92A5\u92A4\u9276\u929B\u927A\u92A0\u9294\u92AA\u928D"],["e4a1","\u92A6\u929A\u92AB\u9279\u9297\u927F\u92A3\u92EE\u928E\u9282\u9295\u92A2\u927D\u9288\u92A1\u928A\u9286\u928C\u9299\u92A7\u927E\u9287\u92A9\u929D\u928B\u922D\u969E\u96A1\u96FF\u9758\u977D\u977A\u977E\u9783\u9780\u9782\u977B\u9784\u9781\u977F\u97CE\u97CD\u9816\u98AD\u98AE\u9902\u9900\u9907\u999D\u999C\u99C3\u99B9\u99BB\u99BA\u99C2\u99BD\u99C7\u9AB1\u9AE3\u9AE7\u9B3E\u9B3F\u9B60\u9B61\u9B5F\u9CF1\u9CF2\u9CF5\u9EA7\u50FF\u5103\u5130\u50F8\u5106\u5107\u50F6\u50FE\u510B\u510C\u50FD\u510A\u528B\u528C\u52F1\u52EF\u5648\u5642\u564C\u5635\u5641\u564A\u5649\u5646\u5658"],["e540","\u565A\u5640\u5633\u563D\u562C\u563E\u5638\u562A\u563A\u571A\u58AB\u589D\u58B1\u58A0\u58A3\u58AF\u58AC\u58A5\u58A1\u58FF\u5AFF\u5AF4\u5AFD\u5AF7\u5AF6\u5B03\u5AF8\u5B02\u5AF9\u5B01\u5B07\u5B05\u5B0F\u5C67\u5D99\u5D97\u5D9F\u5D92\u5DA2\u5D93\u5D95\u5DA0\u5D9C\u5DA1\u5D9A\u5D9E\u5E69\u5E5D\u5E60\u5E5C\u7DF3\u5EDB\u5EDE\u5EE1\u5F49\u5FB2\u618B\u6183\u6179\u61B1\u61B0\u61A2\u6189"],["e5a1","\u619B\u6193\u61AF\u61AD\u619F\u6192\u61AA\u61A1\u618D\u6166\u61B3\u622D\u646E\u6470\u6496\u64A0\u6485\u6497\u649C\u648F\u648B\u648A\u648C\u64A3\u649F\u6468\u64B1\u6498\u6576\u657A\u6579\u657B\u65B2\u65B3\u66B5\u66B0\u66A9\u66B2\u66B7\u66AA\u66AF\u6A00\u6A06\u6A17\u69E5\u69F8\u6A15\u69F1\u69E4\u6A20\u69FF\u69EC\u69E2\u6A1B\u6A1D\u69FE\u6A27\u69F2\u69EE\u6A14\u69F7\u69E7\u6A40\u6A08\u69E6\u69FB\u6A0D\u69FC\u69EB\u6A09\u6A04\u6A18\u6A25\u6A0F\u69F6\u6A26\u6A07\u69F4\u6A16\u6B51\u6BA5\u6BA3\u6BA2\u6BA6\u6C01\u6C00\u6BFF\u6C02\u6F41\u6F26\u6F7E\u6F87\u6FC6\u6F92"],["e640","\u6F8D\u6F89\u6F8C\u6F62\u6F4F\u6F85\u6F5A\u6F96\u6F76\u6F6C\u6F82\u6F55\u6F72\u6F52\u6F50\u6F57\u6F94\u6F93\u6F5D\u6F00\u6F61\u6F6B\u6F7D\u6F67\u6F90\u6F53\u6F8B\u6F69\u6F7F\u6F95\u6F63\u6F77\u6F6A\u6F7B\u71B2\u71AF\u719B\u71B0\u71A0\u719A\u71A9\u71B5\u719D\u71A5\u719E\u71A4\u71A1\u71AA\u719C\u71A7\u71B3\u7298\u729A\u7358\u7352\u735E\u735F\u7360\u735D\u735B\u7361\u735A\u7359"],["e6a1","\u7362\u7487\u7489\u748A\u7486\u7481\u747D\u7485\u7488\u747C\u7479\u7508\u7507\u757E\u7625\u761E\u7619\u761D\u761C\u7623\u761A\u7628\u761B\u769C\u769D\u769E\u769B\u778D\u778F\u7789\u7788\u78CD\u78BB\u78CF\u78CC\u78D1\u78CE\u78D4\u78C8\u78C3\u78C4\u78C9\u799A\u79A1\u79A0\u799C\u79A2\u799B\u6B76\u7A39\u7AB2\u7AB4\u7AB3\u7BB7\u7BCB\u7BBE\u7BAC\u7BCE\u7BAF\u7BB9\u7BCA\u7BB5\u7CC5\u7CC8\u7CCC\u7CCB\u7DF7\u7DDB\u7DEA\u7DE7\u7DD7\u7DE1\u7E03\u7DFA\u7DE6\u7DF6\u7DF1\u7DF0\u7DEE\u7DDF\u7F76\u7FAC\u7FB0\u7FAD\u7FED\u7FEB\u7FEA\u7FEC\u7FE6\u7FE8\u8064\u8067\u81A3\u819F"],["e740","\u819E\u8195\u81A2\u8199\u8197\u8216\u824F\u8253\u8252\u8250\u824E\u8251\u8524\u853B\u850F\u8500\u8529\u850E\u8509\u850D\u851F\u850A\u8527\u851C\u84FB\u852B\u84FA\u8508\u850C\u84F4\u852A\u84F2\u8515\u84F7\u84EB\u84F3\u84FC\u8512\u84EA\u84E9\u8516\u84FE\u8528\u851D\u852E\u8502\u84FD\u851E\u84F6\u8531\u8526\u84E7\u84E8\u84F0\u84EF\u84F9\u8518\u8520\u8530\u850B\u8519\u852F\u8662"],["e7a1","\u8756\u8763\u8764\u8777\u87E1\u8773\u8758\u8754\u875B\u8752\u8761\u875A\u8751\u875E\u876D\u876A\u8750\u874E\u875F\u875D\u876F\u876C\u877A\u876E\u875C\u8765\u874F\u877B\u8775\u8762\u8767\u8769\u885A\u8905\u890C\u8914\u890B\u8917\u8918\u8919\u8906\u8916\u8911\u890E\u8909\u89A2\u89A4\u89A3\u89ED\u89F0\u89EC\u8ACF\u8AC6\u8AB8\u8AD3\u8AD1\u8AD4\u8AD5\u8ABB\u8AD7\u8ABE\u8AC0\u8AC5\u8AD8\u8AC3\u8ABA\u8ABD\u8AD9\u8C3E\u8C4D\u8C8F\u8CE5\u8CDF\u8CD9\u8CE8\u8CDA\u8CDD\u8CE7\u8DA0\u8D9C\u8DA1\u8D9B\u8E20\u8E23\u8E25\u8E24\u8E2E\u8E15\u8E1B\u8E16\u8E11\u8E19\u8E26\u8E27"],["e840","\u8E14\u8E12\u8E18\u8E13\u8E1C\u8E17\u8E1A\u8F2C\u8F24\u8F18\u8F1A\u8F20\u8F23\u8F16\u8F17\u9073\u9070\u906F\u9067\u906B\u912F\u912B\u9129\u912A\u9132\u9126\u912E\u9185\u9186\u918A\u9181\u9182\u9184\u9180\u92D0\u92C3\u92C4\u92C0\u92D9\u92B6\u92CF\u92F1\u92DF\u92D8\u92E9\u92D7\u92DD\u92CC\u92EF\u92C2\u92E8\u92CA\u92C8\u92CE\u92E6\u92CD\u92D5\u92C9\u92E0\u92DE\u92E7\u92D1\u92D3"],["e8a1","\u92B5\u92E1\u92C6\u92B4\u957C\u95AC\u95AB\u95AE\u95B0\u96A4\u96A2\u96D3\u9705\u9708\u9702\u975A\u978A\u978E\u9788\u97D0\u97CF\u981E\u981D\u9826\u9829\u9828\u9820\u981B\u9827\u98B2\u9908\u98FA\u9911\u9914\u9916\u9917\u9915\u99DC\u99CD\u99CF\u99D3\u99D4\u99CE\u99C9\u99D6\u99D8\u99CB\u99D7\u99CC\u9AB3\u9AEC\u9AEB\u9AF3\u9AF2\u9AF1\u9B46\u9B43\u9B67\u9B74\u9B71\u9B66\u9B76\u9B75\u9B70\u9B68\u9B64\u9B6C\u9CFC\u9CFA\u9CFD\u9CFF\u9CF7\u9D07\u9D00\u9CF9\u9CFB\u9D08\u9D05\u9D04\u9E83\u9ED3\u9F0F\u9F10\u511C\u5113\u5117\u511A\u5111\u51DE\u5334\u53E1\u5670\u5660\u566E"],["e940","\u5673\u5666\u5663\u566D\u5672\u565E\u5677\u571C\u571B\u58C8\u58BD\u58C9\u58BF\u58BA\u58C2\u58BC\u58C6\u5B17\u5B19\u5B1B\u5B21\u5B14\u5B13\u5B10\u5B16\u5B28\u5B1A\u5B20\u5B1E\u5BEF\u5DAC\u5DB1\u5DA9\u5DA7\u5DB5\u5DB0\u5DAE\u5DAA\u5DA8\u5DB2\u5DAD\u5DAF\u5DB4\u5E67\u5E68\u5E66\u5E6F\u5EE9\u5EE7\u5EE6\u5EE8\u5EE5\u5F4B\u5FBC\u619D\u61A8\u6196\u61C5\u61B4\u61C6\u61C1\u61CC\u61BA"],["e9a1","\u61BF\u61B8\u618C\u64D7\u64D6\u64D0\u64CF\u64C9\u64BD\u6489\u64C3\u64DB\u64F3\u64D9\u6533\u657F\u657C\u65A2\u66C8\u66BE\u66C0\u66CA\u66CB\u66CF\u66BD\u66BB\u66BA\u66CC\u6723\u6A34\u6A66\u6A49\u6A67\u6A32\u6A68\u6A3E\u6A5D\u6A6D\u6A76\u6A5B\u6A51\u6A28\u6A5A\u6A3B\u6A3F\u6A41\u6A6A\u6A64\u6A50\u6A4F\u6A54\u6A6F\u6A69\u6A60\u6A3C\u6A5E\u6A56\u6A55\u6A4D\u6A4E\u6A46\u6B55\u6B54\u6B56\u6BA7\u6BAA\u6BAB\u6BC8\u6BC7\u6C04\u6C03\u6C06\u6FAD\u6FCB\u6FA3\u6FC7\u6FBC\u6FCE\u6FC8\u6F5E\u6FC4\u6FBD\u6F9E\u6FCA\u6FA8\u7004\u6FA5\u6FAE\u6FBA\u6FAC\u6FAA\u6FCF\u6FBF\u6FB8"],["ea40","\u6FA2\u6FC9\u6FAB\u6FCD\u6FAF\u6FB2\u6FB0\u71C5\u71C2\u71BF\u71B8\u71D6\u71C0\u71C1\u71CB\u71D4\u71CA\u71C7\u71CF\u71BD\u71D8\u71BC\u71C6\u71DA\u71DB\u729D\u729E\u7369\u7366\u7367\u736C\u7365\u736B\u736A\u747F\u749A\u74A0\u7494\u7492\u7495\u74A1\u750B\u7580\u762F\u762D\u7631\u763D\u7633\u763C\u7635\u7632\u7630\u76BB\u76E6\u779A\u779D\u77A1\u779C\u779B\u77A2\u77A3\u7795\u7799"],["eaa1","\u7797\u78DD\u78E9\u78E5\u78EA\u78DE\u78E3\u78DB\u78E1\u78E2\u78ED\u78DF\u78E0\u79A4\u7A44\u7A48\u7A47\u7AB6\u7AB8\u7AB5\u7AB1\u7AB7\u7BDE\u7BE3\u7BE7\u7BDD\u7BD5\u7BE5\u7BDA\u7BE8\u7BF9\u7BD4\u7BEA\u7BE2\u7BDC\u7BEB\u7BD8\u7BDF\u7CD2\u7CD4\u7CD7\u7CD0\u7CD1\u7E12\u7E21\u7E17\u7E0C\u7E1F\u7E20\u7E13\u7E0E\u7E1C\u7E15\u7E1A\u7E22\u7E0B\u7E0F\u7E16\u7E0D\u7E14\u7E25\u7E24\u7F43\u7F7B\u7F7C\u7F7A\u7FB1\u7FEF\u802A\u8029\u806C\u81B1\u81A6\u81AE\u81B9\u81B5\u81AB\u81B0\u81AC\u81B4\u81B2\u81B7\u81A7\u81F2\u8255\u8256\u8257\u8556\u8545\u856B\u854D\u8553\u8561\u8558"],["eb40","\u8540\u8546\u8564\u8541\u8562\u8544\u8551\u8547\u8563\u853E\u855B\u8571\u854E\u856E\u8575\u8555\u8567\u8560\u858C\u8566\u855D\u8554\u8565\u856C\u8663\u8665\u8664\u879B\u878F\u8797\u8793\u8792\u8788\u8781\u8796\u8798\u8779\u8787\u87A3\u8785\u8790\u8791\u879D\u8784\u8794\u879C\u879A\u8789\u891E\u8926\u8930\u892D\u892E\u8927\u8931\u8922\u8929\u8923\u892F\u892C\u891F\u89F1\u8AE0"],["eba1","\u8AE2\u8AF2\u8AF4\u8AF5\u8ADD\u8B14\u8AE4\u8ADF\u8AF0\u8AC8\u8ADE\u8AE1\u8AE8\u8AFF\u8AEF\u8AFB\u8C91\u8C92\u8C90\u8CF5\u8CEE\u8CF1\u8CF0\u8CF3\u8D6C\u8D6E\u8DA5\u8DA7\u8E33\u8E3E\u8E38\u8E40\u8E45\u8E36\u8E3C\u8E3D\u8E41\u8E30\u8E3F\u8EBD\u8F36\u8F2E\u8F35\u8F32\u8F39\u8F37\u8F34\u9076\u9079\u907B\u9086\u90FA\u9133\u9135\u9136\u9193\u9190\u9191\u918D\u918F\u9327\u931E\u9308\u931F\u9306\u930F\u937A\u9338\u933C\u931B\u9323\u9312\u9301\u9346\u932D\u930E\u930D\u92CB\u931D\u92FA\u9325\u9313\u92F9\u92F7\u9334\u9302\u9324\u92FF\u9329\u9339\u9335\u932A\u9314\u930C"],["ec40","\u930B\u92FE\u9309\u9300\u92FB\u9316\u95BC\u95CD\u95BE\u95B9\u95BA\u95B6\u95BF\u95B5\u95BD\u96A9\u96D4\u970B\u9712\u9710\u9799\u9797\u9794\u97F0\u97F8\u9835\u982F\u9832\u9924\u991F\u9927\u9929\u999E\u99EE\u99EC\u99E5\u99E4\u99F0\u99E3\u99EA\u99E9\u99E7\u9AB9\u9ABF\u9AB4\u9ABB\u9AF6\u9AFA\u9AF9\u9AF7\u9B33\u9B80\u9B85\u9B87\u9B7C\u9B7E\u9B7B\u9B82\u9B93\u9B92\u9B90\u9B7A\u9B95"],["eca1","\u9B7D\u9B88\u9D25\u9D17\u9D20\u9D1E\u9D14\u9D29\u9D1D\u9D18\u9D22\u9D10\u9D19\u9D1F\u9E88\u9E86\u9E87\u9EAE\u9EAD\u9ED5\u9ED6\u9EFA\u9F12\u9F3D\u5126\u5125\u5122\u5124\u5120\u5129\u52F4\u5693\u568C\u568D\u5686\u5684\u5683\u567E\u5682\u567F\u5681\u58D6\u58D4\u58CF\u58D2\u5B2D\u5B25\u5B32\u5B23\u5B2C\u5B27\u5B26\u5B2F\u5B2E\u5B7B\u5BF1\u5BF2\u5DB7\u5E6C\u5E6A\u5FBE\u5FBB\u61C3\u61B5\u61BC\u61E7\u61E0\u61E5\u61E4\u61E8\u61DE\u64EF\u64E9\u64E3\u64EB\u64E4\u64E8\u6581\u6580\u65B6\u65DA\u66D2\u6A8D\u6A96\u6A81\u6AA5\u6A89\u6A9F\u6A9B\u6AA1\u6A9E\u6A87\u6A93\u6A8E"],["ed40","\u6A95\u6A83\u6AA8\u6AA4\u6A91\u6A7F\u6AA6\u6A9A\u6A85\u6A8C\u6A92\u6B5B\u6BAD\u6C09\u6FCC\u6FA9\u6FF4\u6FD4\u6FE3\u6FDC\u6FED\u6FE7\u6FE6\u6FDE\u6FF2\u6FDD\u6FE2\u6FE8\u71E1\u71F1\u71E8\u71F2\u71E4\u71F0\u71E2\u7373\u736E\u736F\u7497\u74B2\u74AB\u7490\u74AA\u74AD\u74B1\u74A5\u74AF\u7510\u7511\u7512\u750F\u7584\u7643\u7648\u7649\u7647\u76A4\u76E9\u77B5\u77AB\u77B2\u77B7\u77B6"],["eda1","\u77B4\u77B1\u77A8\u77F0\u78F3\u78FD\u7902\u78FB\u78FC\u78F2\u7905\u78F9\u78FE\u7904\u79AB\u79A8\u7A5C\u7A5B\u7A56\u7A58\u7A54\u7A5A\u7ABE\u7AC0\u7AC1\u7C05\u7C0F\u7BF2\u7C00\u7BFF\u7BFB\u7C0E\u7BF4\u7C0B\u7BF3\u7C02\u7C09\u7C03\u7C01\u7BF8\u7BFD\u7C06\u7BF0\u7BF1\u7C10\u7C0A\u7CE8\u7E2D\u7E3C\u7E42\u7E33\u9848\u7E38\u7E2A\u7E49\u7E40\u7E47\u7E29\u7E4C\u7E30\u7E3B\u7E36\u7E44\u7E3A\u7F45\u7F7F\u7F7E\u7F7D\u7FF4\u7FF2\u802C\u81BB\u81C4\u81CC\u81CA\u81C5\u81C7\u81BC\u81E9\u825B\u825A\u825C\u8583\u8580\u858F\u85A7\u8595\u85A0\u858B\u85A3\u857B\u85A4\u859A\u859E"],["ee40","\u8577\u857C\u8589\u85A1\u857A\u8578\u8557\u858E\u8596\u8586\u858D\u8599\u859D\u8581\u85A2\u8582\u8588\u8585\u8579\u8576\u8598\u8590\u859F\u8668\u87BE\u87AA\u87AD\u87C5\u87B0\u87AC\u87B9\u87B5\u87BC\u87AE\u87C9\u87C3\u87C2\u87CC\u87B7\u87AF\u87C4\u87CA\u87B4\u87B6\u87BF\u87B8\u87BD\u87DE\u87B2\u8935\u8933\u893C\u893E\u8941\u8952\u8937\u8942\u89AD\u89AF\u89AE\u89F2\u89F3\u8B1E"],["eea1","\u8B18\u8B16\u8B11\u8B05\u8B0B\u8B22\u8B0F\u8B12\u8B15\u8B07\u8B0D\u8B08\u8B06\u8B1C\u8B13\u8B1A\u8C4F\u8C70\u8C72\u8C71\u8C6F\u8C95\u8C94\u8CF9\u8D6F\u8E4E\u8E4D\u8E53\u8E50\u8E4C\u8E47\u8F43\u8F40\u9085\u907E\u9138\u919A\u91A2\u919B\u9199\u919F\u91A1\u919D\u91A0\u93A1\u9383\u93AF\u9364\u9356\u9347\u937C\u9358\u935C\u9376\u9349\u9350\u9351\u9360\u936D\u938F\u934C\u936A\u9379\u9357\u9355\u9352\u934F\u9371\u9377\u937B\u9361\u935E\u9363\u9367\u9380\u934E\u9359\u95C7\u95C0\u95C9\u95C3\u95C5\u95B7\u96AE\u96B0\u96AC\u9720\u971F\u9718\u971D\u9719\u979A\u97A1\u979C"],["ef40","\u979E\u979D\u97D5\u97D4\u97F1\u9841\u9844\u984A\u9849\u9845\u9843\u9925\u992B\u992C\u992A\u9933\u9932\u992F\u992D\u9931\u9930\u9998\u99A3\u99A1\u9A02\u99FA\u99F4\u99F7\u99F9\u99F8\u99F6\u99FB\u99FD\u99FE\u99FC\u9A03\u9ABE\u9AFE\u9AFD\u9B01\u9AFC\u9B48\u9B9A\u9BA8\u9B9E\u9B9B\u9BA6\u9BA1\u9BA5\u9BA4\u9B86\u9BA2\u9BA0\u9BAF\u9D33\u9D41\u9D67\u9D36\u9D2E\u9D2F\u9D31\u9D38\u9D30"],["efa1","\u9D45\u9D42\u9D43\u9D3E\u9D37\u9D40\u9D3D\u7FF5\u9D2D\u9E8A\u9E89\u9E8D\u9EB0\u9EC8\u9EDA\u9EFB\u9EFF\u9F24\u9F23\u9F22\u9F54\u9FA0\u5131\u512D\u512E\u5698\u569C\u5697\u569A\u569D\u5699\u5970\u5B3C\u5C69\u5C6A\u5DC0\u5E6D\u5E6E\u61D8\u61DF\u61ED\u61EE\u61F1\u61EA\u61F0\u61EB\u61D6\u61E9\u64FF\u6504\u64FD\u64F8\u6501\u6503\u64FC\u6594\u65DB\u66DA\u66DB\u66D8\u6AC5\u6AB9\u6ABD\u6AE1\u6AC6\u6ABA\u6AB6\u6AB7\u6AC7\u6AB4\u6AAD\u6B5E\u6BC9\u6C0B\u7007\u700C\u700D\u7001\u7005\u7014\u700E\u6FFF\u7000\u6FFB\u7026\u6FFC\u6FF7\u700A\u7201\u71FF\u71F9\u7203\u71FD\u7376"],["f040","\u74B8\u74C0\u74B5\u74C1\u74BE\u74B6\u74BB\u74C2\u7514\u7513\u765C\u7664\u7659\u7650\u7653\u7657\u765A\u76A6\u76BD\u76EC\u77C2\u77BA\u78FF\u790C\u7913\u7914\u7909\u7910\u7912\u7911\u79AD\u79AC\u7A5F\u7C1C\u7C29\u7C19\u7C20\u7C1F\u7C2D\u7C1D\u7C26\u7C28\u7C22\u7C25\u7C30\u7E5C\u7E50\u7E56\u7E63\u7E58\u7E62\u7E5F\u7E51\u7E60\u7E57\u7E53\u7FB5\u7FB3\u7FF7\u7FF8\u8075\u81D1\u81D2"],["f0a1","\u81D0\u825F\u825E\u85B4\u85C6\u85C0\u85C3\u85C2\u85B3\u85B5\u85BD\u85C7\u85C4\u85BF\u85CB\u85CE\u85C8\u85C5\u85B1\u85B6\u85D2\u8624\u85B8\u85B7\u85BE\u8669\u87E7\u87E6\u87E2\u87DB\u87EB\u87EA\u87E5\u87DF\u87F3\u87E4\u87D4\u87DC\u87D3\u87ED\u87D8\u87E3\u87A4\u87D7\u87D9\u8801\u87F4\u87E8\u87DD\u8953\u894B\u894F\u894C\u8946\u8950\u8951\u8949\u8B2A\u8B27\u8B23\u8B33\u8B30\u8B35\u8B47\u8B2F\u8B3C\u8B3E\u8B31\u8B25\u8B37\u8B26\u8B36\u8B2E\u8B24\u8B3B\u8B3D\u8B3A\u8C42\u8C75\u8C99\u8C98\u8C97\u8CFE\u8D04\u8D02\u8D00\u8E5C\u8E62\u8E60\u8E57\u8E56\u8E5E\u8E65\u8E67"],["f140","\u8E5B\u8E5A\u8E61\u8E5D\u8E69\u8E54\u8F46\u8F47\u8F48\u8F4B\u9128\u913A\u913B\u913E\u91A8\u91A5\u91A7\u91AF\u91AA\u93B5\u938C\u9392\u93B7\u939B\u939D\u9389\u93A7\u938E\u93AA\u939E\u93A6\u9395\u9388\u9399\u939F\u938D\u93B1\u9391\u93B2\u93A4\u93A8\u93B4\u93A3\u93A5\u95D2\u95D3\u95D1\u96B3\u96D7\u96DA\u5DC2\u96DF\u96D8\u96DD\u9723\u9722\u9725\u97AC\u97AE\u97A8\u97AB\u97A4\u97AA"],["f1a1","\u97A2\u97A5\u97D7\u97D9\u97D6\u97D8\u97FA\u9850\u9851\u9852\u98B8\u9941\u993C\u993A\u9A0F\u9A0B\u9A09\u9A0D\u9A04\u9A11\u9A0A\u9A05\u9A07\u9A06\u9AC0\u9ADC\u9B08\u9B04\u9B05\u9B29\u9B35\u9B4A\u9B4C\u9B4B\u9BC7\u9BC6\u9BC3\u9BBF\u9BC1\u9BB5\u9BB8\u9BD3\u9BB6\u9BC4\u9BB9\u9BBD\u9D5C\u9D53\u9D4F\u9D4A\u9D5B\u9D4B\u9D59\u9D56\u9D4C\u9D57\u9D52\u9D54\u9D5F\u9D58\u9D5A\u9E8E\u9E8C\u9EDF\u9F01\u9F00\u9F16\u9F25\u9F2B\u9F2A\u9F29\u9F28\u9F4C\u9F55\u5134\u5135\u5296\u52F7\u53B4\u56AB\u56AD\u56A6\u56A7\u56AA\u56AC\u58DA\u58DD\u58DB\u5912\u5B3D\u5B3E\u5B3F\u5DC3\u5E70"],["f240","\u5FBF\u61FB\u6507\u6510\u650D\u6509\u650C\u650E\u6584\u65DE\u65DD\u66DE\u6AE7\u6AE0\u6ACC\u6AD1\u6AD9\u6ACB\u6ADF\u6ADC\u6AD0\u6AEB\u6ACF\u6ACD\u6ADE\u6B60\u6BB0\u6C0C\u7019\u7027\u7020\u7016\u702B\u7021\u7022\u7023\u7029\u7017\u7024\u701C\u702A\u720C\u720A\u7207\u7202\u7205\u72A5\u72A6\u72A4\u72A3\u72A1\u74CB\u74C5\u74B7\u74C3\u7516\u7660\u77C9\u77CA\u77C4\u77F1\u791D\u791B"],["f2a1","\u7921\u791C\u7917\u791E\u79B0\u7A67\u7A68\u7C33\u7C3C\u7C39\u7C2C\u7C3B\u7CEC\u7CEA\u7E76\u7E75\u7E78\u7E70\u7E77\u7E6F\u7E7A\u7E72\u7E74\u7E68\u7F4B\u7F4A\u7F83\u7F86\u7FB7\u7FFD\u7FFE\u8078\u81D7\u81D5\u8264\u8261\u8263\u85EB\u85F1\u85ED\u85D9\u85E1\u85E8\u85DA\u85D7\u85EC\u85F2\u85F8\u85D8\u85DF\u85E3\u85DC\u85D1\u85F0\u85E6\u85EF\u85DE\u85E2\u8800\u87FA\u8803\u87F6\u87F7\u8809\u880C\u880B\u8806\u87FC\u8808\u87FF\u880A\u8802\u8962\u895A\u895B\u8957\u8961\u895C\u8958\u895D\u8959\u8988\u89B7\u89B6\u89F6\u8B50\u8B48\u8B4A\u8B40\u8B53\u8B56\u8B54\u8B4B\u8B55"],["f340","\u8B51\u8B42\u8B52\u8B57\u8C43\u8C77\u8C76\u8C9A\u8D06\u8D07\u8D09\u8DAC\u8DAA\u8DAD\u8DAB\u8E6D\u8E78\u8E73\u8E6A\u8E6F\u8E7B\u8EC2\u8F52\u8F51\u8F4F\u8F50\u8F53\u8FB4\u9140\u913F\u91B0\u91AD\u93DE\u93C7\u93CF\u93C2\u93DA\u93D0\u93F9\u93EC\u93CC\u93D9\u93A9\u93E6\u93CA\u93D4\u93EE\u93E3\u93D5\u93C4\u93CE\u93C0\u93D2\u93E7\u957D\u95DA\u95DB\u96E1\u9729\u972B\u972C\u9728\u9726"],["f3a1","\u97B3\u97B7\u97B6\u97DD\u97DE\u97DF\u985C\u9859\u985D\u9857\u98BF\u98BD\u98BB\u98BE\u9948\u9947\u9943\u99A6\u99A7\u9A1A\u9A15\u9A25\u9A1D\u9A24\u9A1B\u9A22\u9A20\u9A27\u9A23\u9A1E\u9A1C\u9A14\u9AC2\u9B0B\u9B0A\u9B0E\u9B0C\u9B37\u9BEA\u9BEB\u9BE0\u9BDE\u9BE4\u9BE6\u9BE2\u9BF0\u9BD4\u9BD7\u9BEC\u9BDC\u9BD9\u9BE5\u9BD5\u9BE1\u9BDA\u9D77\u9D81\u9D8A\u9D84\u9D88\u9D71\u9D80\u9D78\u9D86\u9D8B\u9D8C\u9D7D\u9D6B\u9D74\u9D75\u9D70\u9D69\u9D85\u9D73\u9D7B\u9D82\u9D6F\u9D79\u9D7F\u9D87\u9D68\u9E94\u9E91\u9EC0\u9EFC\u9F2D\u9F40\u9F41\u9F4D\u9F56\u9F57\u9F58\u5337\u56B2"],["f440","\u56B5\u56B3\u58E3\u5B45\u5DC6\u5DC7\u5EEE\u5EEF\u5FC0\u5FC1\u61F9\u6517\u6516\u6515\u6513\u65DF\u66E8\u66E3\u66E4\u6AF3\u6AF0\u6AEA\u6AE8\u6AF9\u6AF1\u6AEE\u6AEF\u703C\u7035\u702F\u7037\u7034\u7031\u7042\u7038\u703F\u703A\u7039\u7040\u703B\u7033\u7041\u7213\u7214\u72A8\u737D\u737C\u74BA\u76AB\u76AA\u76BE\u76ED\u77CC\u77CE\u77CF\u77CD\u77F2\u7925\u7923\u7927\u7928\u7924\u7929"],["f4a1","\u79B2\u7A6E\u7A6C\u7A6D\u7AF7\u7C49\u7C48\u7C4A\u7C47\u7C45\u7CEE\u7E7B\u7E7E\u7E81\u7E80\u7FBA\u7FFF\u8079\u81DB\u81D9\u820B\u8268\u8269\u8622\u85FF\u8601\u85FE\u861B\u8600\u85F6\u8604\u8609\u8605\u860C\u85FD\u8819\u8810\u8811\u8817\u8813\u8816\u8963\u8966\u89B9\u89F7\u8B60\u8B6A\u8B5D\u8B68\u8B63\u8B65\u8B67\u8B6D\u8DAE\u8E86\u8E88\u8E84\u8F59\u8F56\u8F57\u8F55\u8F58\u8F5A\u908D\u9143\u9141\u91B7\u91B5\u91B2\u91B3\u940B\u9413\u93FB\u9420\u940F\u9414\u93FE\u9415\u9410\u9428\u9419\u940D\u93F5\u9400\u93F7\u9407\u940E\u9416\u9412\u93FA\u9409\u93F8\u940A\u93FF"],["f540","\u93FC\u940C\u93F6\u9411\u9406\u95DE\u95E0\u95DF\u972E\u972F\u97B9\u97BB\u97FD\u97FE\u9860\u9862\u9863\u985F\u98C1\u98C2\u9950\u994E\u9959\u994C\u994B\u9953\u9A32\u9A34\u9A31\u9A2C\u9A2A\u9A36\u9A29\u9A2E\u9A38\u9A2D\u9AC7\u9ACA\u9AC6\u9B10\u9B12\u9B11\u9C0B\u9C08\u9BF7\u9C05\u9C12\u9BF8\u9C40\u9C07\u9C0E\u9C06\u9C17\u9C14\u9C09\u9D9F\u9D99\u9DA4\u9D9D\u9D92\u9D98\u9D90\u9D9B"],["f5a1","\u9DA0\u9D94\u9D9C\u9DAA\u9D97\u9DA1\u9D9A\u9DA2\u9DA8\u9D9E\u9DA3\u9DBF\u9DA9\u9D96\u9DA6\u9DA7\u9E99\u9E9B\u9E9A\u9EE5\u9EE4\u9EE7\u9EE6\u9F30\u9F2E\u9F5B\u9F60\u9F5E\u9F5D\u9F59\u9F91\u513A\u5139\u5298\u5297\u56C3\u56BD\u56BE\u5B48\u5B47\u5DCB\u5DCF\u5EF1\u61FD\u651B\u6B02\u6AFC\u6B03\u6AF8\u6B00\u7043\u7044\u704A\u7048\u7049\u7045\u7046\u721D\u721A\u7219\u737E\u7517\u766A\u77D0\u792D\u7931\u792F\u7C54\u7C53\u7CF2\u7E8A\u7E87\u7E88\u7E8B\u7E86\u7E8D\u7F4D\u7FBB\u8030\u81DD\u8618\u862A\u8626\u861F\u8623\u861C\u8619\u8627\u862E\u8621\u8620\u8629\u861E\u8625"],["f640","\u8829\u881D\u881B\u8820\u8824\u881C\u882B\u884A\u896D\u8969\u896E\u896B\u89FA\u8B79\u8B78\u8B45\u8B7A\u8B7B\u8D10\u8D14\u8DAF\u8E8E\u8E8C\u8F5E\u8F5B\u8F5D\u9146\u9144\u9145\u91B9\u943F\u943B\u9436\u9429\u943D\u943C\u9430\u9439\u942A\u9437\u942C\u9440\u9431\u95E5\u95E4\u95E3\u9735\u973A\u97BF\u97E1\u9864\u98C9\u98C6\u98C0\u9958\u9956\u9A39\u9A3D\u9A46\u9A44\u9A42\u9A41\u9A3A"],["f6a1","\u9A3F\u9ACD\u9B15\u9B17\u9B18\u9B16\u9B3A\u9B52\u9C2B\u9C1D\u9C1C\u9C2C\u9C23\u9C28\u9C29\u9C24\u9C21\u9DB7\u9DB6\u9DBC\u9DC1\u9DC7\u9DCA\u9DCF\u9DBE\u9DC5\u9DC3\u9DBB\u9DB5\u9DCE\u9DB9\u9DBA\u9DAC\u9DC8\u9DB1\u9DAD\u9DCC\u9DB3\u9DCD\u9DB2\u9E7A\u9E9C\u9EEB\u9EEE\u9EED\u9F1B\u9F18\u9F1A\u9F31\u9F4E\u9F65\u9F64\u9F92\u4EB9\u56C6\u56C5\u56CB\u5971\u5B4B\u5B4C\u5DD5\u5DD1\u5EF2\u6521\u6520\u6526\u6522\u6B0B\u6B08\u6B09\u6C0D\u7055\u7056\u7057\u7052\u721E\u721F\u72A9\u737F\u74D8\u74D5\u74D9\u74D7\u766D\u76AD\u7935\u79B4\u7A70\u7A71\u7C57\u7C5C\u7C59\u7C5B\u7C5A"],["f740","\u7CF4\u7CF1\u7E91\u7F4F\u7F87\u81DE\u826B\u8634\u8635\u8633\u862C\u8632\u8636\u882C\u8828\u8826\u882A\u8825\u8971\u89BF\u89BE\u89FB\u8B7E\u8B84\u8B82\u8B86\u8B85\u8B7F\u8D15\u8E95\u8E94\u8E9A\u8E92\u8E90\u8E96\u8E97\u8F60\u8F62\u9147\u944C\u9450\u944A\u944B\u944F\u9447\u9445\u9448\u9449\u9446\u973F\u97E3\u986A\u9869\u98CB\u9954\u995B\u9A4E\u9A53\u9A54\u9A4C\u9A4F\u9A48\u9A4A"],["f7a1","\u9A49\u9A52\u9A50\u9AD0\u9B19\u9B2B\u9B3B\u9B56\u9B55\u9C46\u9C48\u9C3F\u9C44\u9C39\u9C33\u9C41\u9C3C\u9C37\u9C34\u9C32\u9C3D\u9C36\u9DDB\u9DD2\u9DDE\u9DDA\u9DCB\u9DD0\u9DDC\u9DD1\u9DDF\u9DE9\u9DD9\u9DD8\u9DD6\u9DF5\u9DD5\u9DDD\u9EB6\u9EF0\u9F35\u9F33\u9F32\u9F42\u9F6B\u9F95\u9FA2\u513D\u5299\u58E8\u58E7\u5972\u5B4D\u5DD8\u882F\u5F4F\u6201\u6203\u6204\u6529\u6525\u6596\u66EB\u6B11\u6B12\u6B0F\u6BCA\u705B\u705A\u7222\u7382\u7381\u7383\u7670\u77D4\u7C67\u7C66\u7E95\u826C\u863A\u8640\u8639\u863C\u8631\u863B\u863E\u8830\u8832\u882E\u8833\u8976\u8974\u8973\u89FE"],["f840","\u8B8C\u8B8E\u8B8B\u8B88\u8C45\u8D19\u8E98\u8F64\u8F63\u91BC\u9462\u9455\u945D\u9457\u945E\u97C4\u97C5\u9800\u9A56\u9A59\u9B1E\u9B1F\u9B20\u9C52\u9C58\u9C50\u9C4A\u9C4D\u9C4B\u9C55\u9C59\u9C4C\u9C4E\u9DFB\u9DF7\u9DEF\u9DE3\u9DEB\u9DF8\u9DE4\u9DF6\u9DE1\u9DEE\u9DE6\u9DF2\u9DF0\u9DE2\u9DEC\u9DF4\u9DF3\u9DE8\u9DED\u9EC2\u9ED0\u9EF2\u9EF3\u9F06\u9F1C\u9F38\u9F37\u9F36\u9F43\u9F4F"],["f8a1","\u9F71\u9F70\u9F6E\u9F6F\u56D3\u56CD\u5B4E\u5C6D\u652D\u66ED\u66EE\u6B13\u705F\u7061\u705D\u7060\u7223\u74DB\u74E5\u77D5\u7938\u79B7\u79B6\u7C6A\u7E97\u7F89\u826D\u8643\u8838\u8837\u8835\u884B\u8B94\u8B95\u8E9E\u8E9F\u8EA0\u8E9D\u91BE\u91BD\u91C2\u946B\u9468\u9469\u96E5\u9746\u9743\u9747\u97C7\u97E5\u9A5E\u9AD5\u9B59\u9C63\u9C67\u9C66\u9C62\u9C5E\u9C60\u9E02\u9DFE\u9E07\u9E03\u9E06\u9E05\u9E00\u9E01\u9E09\u9DFF\u9DFD\u9E04\u9EA0\u9F1E\u9F46\u9F74\u9F75\u9F76\u56D4\u652E\u65B8\u6B18\u6B19\u6B17\u6B1A\u7062\u7226\u72AA\u77D8\u77D9\u7939\u7C69\u7C6B\u7CF6\u7E9A"],["f940","\u7E98\u7E9B\u7E99\u81E0\u81E1\u8646\u8647\u8648\u8979\u897A\u897C\u897B\u89FF\u8B98\u8B99\u8EA5\u8EA4\u8EA3\u946E\u946D\u946F\u9471\u9473\u9749\u9872\u995F\u9C68\u9C6E\u9C6D\u9E0B\u9E0D\u9E10\u9E0F\u9E12\u9E11\u9EA1\u9EF5\u9F09\u9F47\u9F78\u9F7B\u9F7A\u9F79\u571E\u7066\u7C6F\u883C\u8DB2\u8EA6\u91C3\u9474\u9478\u9476\u9475\u9A60\u9C74\u9C73\u9C71\u9C75\u9E14\u9E13\u9EF6\u9F0A"],["f9a1","\u9FA4\u7068\u7065\u7CF7\u866A\u883E\u883D\u883F\u8B9E\u8C9C\u8EA9\u8EC9\u974B\u9873\u9874\u98CC\u9961\u99AB\u9A64\u9A66\u9A67\u9B24\u9E15\u9E17\u9F48\u6207\u6B1E\u7227\u864C\u8EA8\u9482\u9480\u9481\u9A69\u9A68\u9B2E\u9E19\u7229\u864B\u8B9F\u9483\u9C79\u9EB7\u7675\u9A6B\u9C7A\u9E1D\u7069\u706A\u9EA4\u9F7E\u9F49\u9F98\u7881\u92B9\u88CF\u58BB\u6052\u7CA7\u5AFA\u2554\u2566\u2557\u2560\u256C\u2563\u255A\u2569\u255D\u2552\u2564\u2555\u255E\u256A\u2561\u2558\u2567\u255B\u2553\u2565\u2556\u255F\u256B\u2562\u2559\u2568\u255C\u2551\u2550\u256D\u256E\u2570\u256F\u2593"]]});var uOt=S((Nms,KJr)=>{KJr.exports=[["8740","\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"],["8767","\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"],["87a1","\u{258DE}\u3AF5\u7AFC\u9F97\u{24161}\u{2890D}\u{231EA}\u{20A8A}\u{2325E}\u430A\u8484\u9F96\u942F\u4930\u8613\u5896\u974A\u9218\u79D0\u7A32\u6660\u6A29\u889D\u744C\u7BC5\u6782\u7A2C\u524F\u9046\u34E6\u73C4\u{25DB9}\u74C6\u9FC7\u57B3\u492F\u544C\u4131\u{2368E}\u5818\u7A72\u{27B65}\u8B8F\u46AE\u{26E88}\u4181\u{25D99}\u7BAE\u{224BC}\u9FC8\u{224C1}\u{224C9}\u{224CC}\u9FC9\u8504\u{235BB}\u40B4\u9FCA\u44E1\u{2ADFF}\u62C1\u706E\u9FCB"],["8840","\u31C0",4,"\u{2010C}\u31C5\u{200D1}\u{200CD}\u31C6\u31C7\u{200CB}\u{21FE8}\u31C8\u{200CA}\u31C9\u31CA\u31CB\u31CC\u{2010E}\u31CD\u31CE\u0100\xC1\u01CD\xC0\u0112\xC9\u011A\xC8\u014C\xD3\u01D1\xD2\u0FFF\xCA\u0304\u1EBE\u0FFF\xCA\u030C\u1EC0\xCA\u0101\xE1\u01CE\xE0\u0251\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA"],["88a1","\u01DC\xFC\u0FFF\xEA\u0304\u1EBF\u0FFF\xEA\u030C\u1EC1\xEA\u0261\u23DA\u23DB"],["8940","\u{2A3A9}\u{21145}"],["8943","\u650A"],["8946","\u4E3D\u6EDD\u9D4E\u91DF"],["894c","\u{27735}\u6491\u4F1A\u4F28\u4FA8\u5156\u5174\u519C\u51E4\u52A1\u52A8\u533B\u534E\u53D1\u53D8\u56E2\u58F0\u5904\u5907\u5932\u5934\u5B66\u5B9E\u5B9F\u5C9A\u5E86\u603B\u6589\u67FE\u6804\u6865\u6D4E\u70BC\u7535\u7EA4\u7EAC\u7EBA\u7EC7\u7ECF\u7EDF\u7F06\u7F37\u827A\u82CF\u836F\u89C6\u8BBE\u8BE2\u8F66\u8F67\u8F6E"],["89a1","\u7411\u7CFC\u7DCD\u6946\u7AC9\u5227"],["89ab","\u918C\u78B8\u915E\u80BC"],["89b0","\u8D0B\u80F6\u{209E7}"],["89b5","\u809F\u9EC7\u4CCD\u9DC9\u9E0C\u4C3E\u{29DF6}\u{2700E}\u9E0A\u{2A133}\u35C1"],["89c1","\u6E9A\u823E\u7519"],["89c5","\u4911\u9A6C\u9A8F\u9F99\u7987\u{2846C}\u{21DCA}\u{205D0}\u{22AE6}\u4E24\u4E81\u4E80\u4E87\u4EBF\u4EEB\u4F37\u344C\u4FBD\u3E48\u5003\u5088\u347D\u3493\u34A5\u5186\u5905\u51DB\u51FC\u5205\u4E89\u5279\u5290\u5327\u35C7\u53A9\u3551\u53B0\u3553\u53C2\u5423\u356D\u3572\u3681\u5493\u54A3\u54B4\u54B9\u54D0\u54EF\u5518\u5523\u5528\u3598\u553F\u35A5\u35BF\u55D7\u35C5"],["8a40","\u{27D84}\u5525"],["8a43","\u{20C42}\u{20D15}\u{2512B}\u5590\u{22CC6}\u39EC\u{20341}\u8E46\u{24DB8}\u{294E5}\u4053\u{280BE}\u777A\u{22C38}\u3A34\u47D5\u{2815D}\u{269F2}\u{24DEA}\u64DD\u{20D7C}\u{20FB4}\u{20CD5}\u{210F4}\u648D\u8E7E\u{20E96}\u{20C0B}\u{20F64}\u{22CA9}\u{28256}\u{244D3}"],["8a64","\u{20D46}\u{29A4D}\u{280E9}\u47F4\u{24EA7}\u{22CC2}\u9AB2\u3A67\u{295F4}\u3FED\u3506\u{252C7}\u{297D4}\u{278C8}\u{22D44}\u9D6E\u9815"],["8a76","\u43D9\u{260A5}\u64B4\u54E3\u{22D4C}\u{22BCA}\u{21077}\u39FB\u{2106F}"],["8aa1","\u{266DA}\u{26716}\u{279A0}\u64EA\u{25052}\u{20C43}\u8E68\u{221A1}\u{28B4C}\u{20731}"],["8aac","\u480B\u{201A9}\u3FFA\u5873\u{22D8D}"],["8ab2","\u{245C8}\u{204FC}\u{26097}\u{20F4C}\u{20D96}\u5579\u40BB\u43BA"],["8abb","\u4AB4\u{22A66}\u{2109D}\u81AA\u98F5\u{20D9C}\u6379\u39FE\u{22775}\u8DC0\u56A1\u647C\u3E43"],["8ac9","\u{2A601}\u{20E09}\u{22ACF}\u{22CC9}"],["8ace","\u{210C8}\u{239C2}\u3992\u3A06\u{2829B}\u3578\u{25E49}\u{220C7}\u5652\u{20F31}\u{22CB2}\u{29720}\u34BC\u6C3D\u{24E3B}"],["8adf","\u{27574}\u{22E8B}\u{22208}\u{2A65B}\u{28CCD}\u{20E7A}\u{20C34}\u{2681C}\u7F93\u{210CF}\u{22803}\u{22939}\u35FB\u{251E3}\u{20E8C}\u{20F8D}\u{20EAA}\u3F93\u{20F30}\u{20D47}\u{2114F}\u{20E4C}"],["8af6","\u{20EAB}\u{20BA9}\u{20D48}\u{210C0}\u{2113D}\u3FF9\u{22696}\u6432\u{20FAD}"],["8b40","\u{233F4}\u{27639}\u{22BCE}\u{20D7E}\u{20D7F}\u{22C51}\u{22C55}\u3A18\u{20E98}\u{210C7}\u{20F2E}\u{2A632}\u{26B50}\u{28CD2}\u{28D99}\u{28CCA}\u95AA\u54CC\u82C4\u55B9"],["8b55","\u{29EC3}\u9C26\u9AB6\u{2775E}\u{22DEE}\u7140\u816D\u80EC\u5C1C\u{26572}\u8134\u3797\u535F\u{280BD}\u91B6\u{20EFA}\u{20E0F}\u{20E77}\u{20EFB}\u35DD\u{24DEB}\u3609\u{20CD6}\u56AF\u{227B5}\u{210C9}\u{20E10}\u{20E78}\u{21078}\u{21148}\u{28207}\u{21455}\u{20E79}\u{24E50}\u{22DA4}\u5A54\u{2101D}\u{2101E}\u{210F5}\u{210F6}\u579C\u{20E11}"],["8ba1","\u{27694}\u{282CD}\u{20FB5}\u{20E7B}\u{2517E}\u3703\u{20FB6}\u{21180}\u{252D8}\u{2A2BD}\u{249DA}\u{2183A}\u{24177}\u{2827C}\u5899\u5268\u361A\u{2573D}\u7BB2\u5B68\u4800\u4B2C\u9F27\u49E7\u9C1F\u9B8D\u{25B74}\u{2313D}\u55FB\u35F2\u5689\u4E28\u5902\u{21BC1}\u{2F878}\u9751\u{20086}\u4E5B\u4EBB\u353E\u5C23\u5F51\u5FC4\u38FA\u624C\u6535\u6B7A\u6C35\u6C3A\u706C\u722B\u4E2C\u72AD\u{248E9}\u7F52\u793B\u7CF9\u7F53\u{2626A}\u34C1"],["8bde","\u{2634B}\u8002\u8080\u{26612}\u{26951}\u535D\u8864\u89C1\u{278B2}\u8BA0\u8D1D\u9485\u9578\u957F\u95E8\u{28E0F}\u97E6\u9875\u98CE\u98DE\u9963\u{29810}\u9C7C\u9E1F\u9EC4\u6B6F\uF907\u4E37\u{20087}\u961D\u6237\u94A2"],["8c40","\u503B\u6DFE\u{29C73}\u9FA6\u3DC9\u888F\u{2414E}\u7077\u5CF5\u4B20\u{251CD}\u3559\u{25D30}\u6122\u{28A32}\u8FA7\u91F6\u7191\u6719\u73BA\u{23281}\u{2A107}\u3C8B\u{21980}\u4B10\u78E4\u7402\u51AE\u{2870F}\u4009\u6A63\u{2A2BA}\u4223\u860F\u{20A6F}\u7A2A\u{29947}\u{28AEA}\u9755\u704D\u5324\u{2207E}\u93F4\u76D9\u{289E3}\u9FA7\u77DD\u4EA3\u4FF0\u50BC\u4E2F\u4F17\u9FA8\u5434\u7D8B\u5892\u58D0\u{21DB6}\u5E92\u5E99\u5FC2\u{22712}\u658B"],["8ca1","\u{233F9}\u6919\u6A43\u{23C63}\u6CFF"],["8ca7","\u7200\u{24505}\u738C\u3EDB\u{24A13}\u5B15\u74B9\u8B83\u{25CA4}\u{25695}\u7A93\u7BEC\u7CC3\u7E6C\u82F8\u8597\u9FA9\u8890\u9FAA\u8EB9\u9FAB\u8FCF\u855F\u99E0\u9221\u9FAC\u{28DB9}\u{2143F}\u4071\u42A2\u5A1A"],["8cc9","\u9868\u676B\u4276\u573D"],["8cce","\u85D6\u{2497B}\u82BF\u{2710D}\u4C81\u{26D74}\u5D7B\u{26B15}\u{26FBE}\u9FAD\u9FAE\u5B96\u9FAF\u66E7\u7E5B\u6E57\u79CA\u3D88\u44C3\u{23256}\u{22796}\u439A\u4536"],["8ce6","\u5CD5\u{23B1A}\u8AF9\u5C78\u3D12\u{23551}\u5D78\u9FB2\u7157\u4558\u{240EC}\u{21E23}\u4C77\u3978\u344A\u{201A4}\u{26C41}\u8ACC\u4FB4\u{20239}\u59BF\u816C\u9856\u{298FA}\u5F3B"],["8d40","\u{20B9F}"],["8d42","\u{221C1}\u{2896D}\u4102\u46BB\u{29079}\u3F07\u9FB3\u{2A1B5}\u40F8\u37D6\u46F7\u{26C46}\u417C\u{286B2}\u{273FF}\u456D\u38D4\u{2549A}\u4561\u451B\u4D89\u4C7B\u4D76\u45EA\u3FC8\u{24B0F}\u3661\u44DE\u44BD\u41ED\u5D3E\u5D48\u5D56\u3DFC\u380F\u5DA4\u5DB9\u3820\u3838\u5E42\u5EBD\u5F25\u5F83\u3908\u3914\u393F\u394D\u60D7\u613D\u5CE5\u3989\u61B7\u61B9\u61CF\u39B8\u622C\u6290\u62E5\u6318\u39F8\u56B1"],["8da1","\u3A03\u63E2\u63FB\u6407\u645A\u3A4B\u64C0\u5D15\u5621\u9F9F\u3A97\u6586\u3ABD\u65FF\u6653\u3AF2\u6692\u3B22\u6716\u3B42\u67A4\u6800\u3B58\u684A\u6884\u3B72\u3B71\u3B7B\u6909\u6943\u725C\u6964\u699F\u6985\u3BBC\u69D6\u3BDD\u6A65\u6A74\u6A71\u6A82\u3BEC\u6A99\u3BF2\u6AAB\u6AB5\u6AD4\u6AF6\u6B81\u6BC1\u6BEA\u6C75\u6CAA\u3CCB\u6D02\u6D06\u6D26\u6D81\u3CEF\u6DA4\u6DB1\u6E15\u6E18\u6E29\u6E86\u{289C0}\u6EBB\u6EE2\u6EDA\u9F7F\u6EE8\u6EE9\u6F24\u6F34\u3D46\u{23F41}\u6F81\u6FBE\u3D6A\u3D75\u71B7\u5C99\u3D8A\u702C\u3D91\u7050\u7054\u706F\u707F\u7089\u{20325}\u43C1\u35F1\u{20ED8}"],["8e40","\u{23ED7}\u57BE\u{26ED3}\u713E\u{257E0}\u364E\u69A2\u{28BE9}\u5B74\u7A49\u{258E1}\u{294D9}\u7A65\u7A7D\u{259AC}\u7ABB\u7AB0\u7AC2\u7AC3\u71D1\u{2648D}\u41CA\u7ADA\u7ADD\u7AEA\u41EF\u54B2\u{25C01}\u7B0B\u7B55\u7B29\u{2530E}\u{25CFE}\u7BA2\u7B6F\u839C\u{25BB4}\u{26C7F}\u7BD0\u8421\u7B92\u7BB8\u{25D20}\u3DAD\u{25C65}\u8492\u7BFA\u7C06\u7C35\u{25CC1}\u7C44\u7C83\u{24882}\u7CA6\u667D\u{24578}\u7CC9\u7CC7\u7CE6\u7C74\u7CF3\u7CF5\u7CCE"],["8ea1","\u7E67\u451D\u{26E44}\u7D5D\u{26ED6}\u748D\u7D89\u7DAB\u7135\u7DB3\u7DD2\u{24057}\u{26029}\u7DE4\u3D13\u7DF5\u{217F9}\u7DE5\u{2836D}\u7E1D\u{26121}\u{2615A}\u7E6E\u7E92\u432B\u946C\u7E27\u7F40\u7F41\u7F47\u7936\u{262D0}\u99E1\u7F97\u{26351}\u7FA3\u{21661}\u{20068}\u455C\u{23766}\u4503\u{2833A}\u7FFA\u{26489}\u8005\u8008\u801D\u8028\u802F\u{2A087}\u{26CC3}\u803B\u803C\u8061\u{22714}\u4989\u{26626}\u{23DE3}\u{266E8}\u6725\u80A7\u{28A48}\u8107\u811A\u58B0\u{226F6}\u6C7F\u{26498}\u{24FB8}\u64E7\u{2148A}\u8218\u{2185E}\u6A53\u{24A65}\u{24A95}\u447A\u8229\u{20B0D}\u{26A52}\u{23D7E}\u4FF9\u{214FD}\u84E2\u8362\u{26B0A}\u{249A7}\u{23530}\u{21773}\u{23DF8}\u82AA\u691B\u{2F994}\u41DB"],["8f40","\u854B\u82D0\u831A\u{20E16}\u{217B4}\u36C1\u{2317D}\u{2355A}\u827B\u82E2\u8318\u{23E8B}\u{26DA3}\u{26B05}\u{26B97}\u{235CE}\u3DBF\u831D\u55EC\u8385\u450B\u{26DA5}\u83AC\u83C1\u83D3\u347E\u{26ED4}\u6A57\u855A\u3496\u{26E42}\u{22EEF}\u8458\u{25BE4}\u8471\u3DD3\u44E4\u6AA7\u844A\u{23CB5}\u7958\u84A8\u{26B96}\u{26E77}\u{26E43}\u84DE\u840F\u8391\u44A0\u8493\u84E4\u{25C91}\u4240\u{25CC0}\u4543\u8534\u5AF2\u{26E99}\u4527\u8573\u4516\u67BF\u8616"],["8fa1","\u{28625}\u{2863B}\u85C1\u{27088}\u8602\u{21582}\u{270CD}\u{2F9B2}\u456A\u8628\u3648\u{218A2}\u53F7\u{2739A}\u867E\u8771\u{2A0F8}\u87EE\u{22C27}\u87B1\u87DA\u880F\u5661\u866C\u6856\u460F\u8845\u8846\u{275E0}\u{23DB9}\u{275E4}\u885E\u889C\u465B\u88B4\u88B5\u63C1\u88C5\u7777\u{2770F}\u8987\u898A\u89A6\u89A9\u89A7\u89BC\u{28A25}\u89E7\u{27924}\u{27ABD}\u8A9C\u7793\u91FE\u8A90\u{27A59}\u7AE9\u{27B3A}\u{23F8F}\u4713\u{27B38}\u717C\u8B0C\u8B1F\u{25430}\u{25565}\u8B3F\u8B4C\u8B4D\u8AA9\u{24A7A}\u8B90\u8B9B\u8AAF\u{216DF}\u4615\u884F\u8C9B\u{27D54}\u{27D8F}\u{2F9D4}\u3725\u{27D53}\u8CD6\u{27D98}\u{27DBD}\u8D12\u8D03\u{21910}\u8CDB\u705C\u8D11\u{24CC9}\u3ED0\u8D77"],["9040","\u8DA9\u{28002}\u{21014}\u{2498A}\u3B7C\u{281BC}\u{2710C}\u7AE7\u8EAD\u8EB6\u8EC3\u92D4\u8F19\u8F2D\u{28365}\u{28412}\u8FA5\u9303\u{2A29F}\u{20A50}\u8FB3\u492A\u{289DE}\u{2853D}\u{23DBB}\u5EF8\u{23262}\u8FF9\u{2A014}\u{286BC}\u{28501}\u{22325}\u3980\u{26ED7}\u9037\u{2853C}\u{27ABE}\u9061\u{2856C}\u{2860B}\u90A8\u{28713}\u90C4\u{286E6}\u90AE\u90FD\u9167\u3AF0\u91A9\u91C4\u7CAC\u{28933}\u{21E89}\u920E\u6C9F\u9241\u9262\u{255B9}\u92B9\u{28AC6}\u{23C9B}\u{28B0C}\u{255DB}"],["90a1","\u{20D31}\u932C\u936B\u{28AE1}\u{28BEB}\u708F\u5AC3\u{28AE2}\u{28AE5}\u4965\u9244\u{28BEC}\u{28C39}\u{28BFF}\u9373\u945B\u8EBC\u9585\u95A6\u9426\u95A0\u6FF6\u42B9\u{2267A}\u{286D8}\u{2127C}\u{23E2E}\u49DF\u6C1C\u967B\u9696\u416C\u96A3\u{26ED5}\u61DA\u96B6\u78F5\u{28AE0}\u96BD\u53CC\u49A1\u{26CB8}\u{20274}\u{26410}\u{290AF}\u{290E5}\u{24AD1}\u{21915}\u{2330A}\u9731\u8642\u9736\u4A0F\u453D\u4585\u{24AE9}\u7075\u5B41\u971B\u975C\u{291D5}\u9757\u5B4A\u{291EB}\u975F\u9425\u50D0\u{230B7}\u{230BC}\u9789\u979F\u97B1\u97BE\u97C0\u97D2\u97E0\u{2546C}\u97EE\u741C\u{29433}\u97FF\u97F5\u{2941D}\u{2797A}\u4AD1\u9834\u9833\u984B\u9866\u3B0E\u{27175}\u3D51\u{20630}\u{2415C}"],["9140","\u{25706}\u98CA\u98B7\u98C8\u98C7\u4AFF\u{26D27}\u{216D3}\u55B0\u98E1\u98E6\u98EC\u9378\u9939\u{24A29}\u4B72\u{29857}\u{29905}\u99F5\u9A0C\u9A3B\u9A10\u9A58\u{25725}\u36C4\u{290B1}\u{29BD5}\u9AE0\u9AE2\u{29B05}\u9AF4\u4C0E\u9B14\u9B2D\u{28600}\u5034\u9B34\u{269A8}\u38C3\u{2307D}\u9B50\u9B40\u{29D3E}\u5A45\u{21863}\u9B8E\u{2424B}\u9C02\u9BFF\u9C0C\u{29E68}\u9DD4\u{29FB7}\u{2A192}\u{2A1AB}\u{2A0E1}\u{2A123}\u{2A1DF}\u9D7E\u9D83\u{2A134}\u9E0E\u6888"],["91a1","\u9DC4\u{2215B}\u{2A193}\u{2A220}\u{2193B}\u{2A233}\u9D39\u{2A0B9}\u{2A2B4}\u9E90\u9E95\u9E9E\u9EA2\u4D34\u9EAA\u9EAF\u{24364}\u9EC1\u3B60\u39E5\u3D1D\u4F32\u37BE\u{28C2B}\u9F02\u9F08\u4B96\u9424\u{26DA2}\u9F17\u9F16\u9F39\u569F\u568A\u9F45\u99B8\u{2908B}\u97F2\u847F\u9F62\u9F69\u7ADC\u9F8E\u7216\u4BBE\u{24975}\u{249BB}\u7177\u{249F8}\u{24348}\u{24A51}\u739E\u{28BDA}\u{218FA}\u799F\u{2897E}\u{28E36}\u9369\u93F3\u{28A44}\u92EC\u9381\u93CB\u{2896C}\u{244B9}\u7217\u3EEB\u7772\u7A43\u70D0\u{24473}\u{243F8}\u717E\u{217EF}\u70A3\u{218BE}\u{23599}\u3EC7\u{21885}\u{2542F}\u{217F8}\u3722\u{216FB}\u{21839}\u36E1\u{21774}\u{218D1}\u{25F4B}\u3723\u{216C0}\u575B\u{24A25}\u{213FE}\u{212A8}"],["9240","\u{213C6}\u{214B6}\u8503\u{236A6}\u8503\u8455\u{24994}\u{27165}\u{23E31}\u{2555C}\u{23EFB}\u{27052}\u44F4\u{236EE}\u{2999D}\u{26F26}\u67F9\u3733\u3C15\u3DE7\u586C\u{21922}\u6810\u4057\u{2373F}\u{240E1}\u{2408B}\u{2410F}\u{26C21}\u54CB\u569E\u{266B1}\u5692\u{20FDF}\u{20BA8}\u{20E0D}\u93C6\u{28B13}\u939C\u4EF8\u512B\u3819\u{24436}\u4EBC\u{20465}\u{2037F}\u4F4B\u4F8A\u{25651}\u5A68\u{201AB}\u{203CB}\u3999\u{2030A}\u{20414}\u3435\u4F29\u{202C0}\u{28EB3}\u{20275}\u8ADA\u{2020C}\u4E98"],["92a1","\u50CD\u510D\u4FA2\u4F03\u{24A0E}\u{23E8A}\u4F42\u502E\u506C\u5081\u4FCC\u4FE5\u5058\u50FC\u5159\u515B\u515D\u515E\u6E76\u{23595}\u{23E39}\u{23EBF}\u6D72\u{21884}\u{23E89}\u51A8\u51C3\u{205E0}\u44DD\u{204A3}\u{20492}\u{20491}\u8D7A\u{28A9C}\u{2070E}\u5259\u52A4\u{20873}\u52E1\u936E\u467A\u718C\u{2438C}\u{20C20}\u{249AC}\u{210E4}\u69D1\u{20E1D}\u7479\u3EDE\u7499\u7414\u7456\u7398\u4B8E\u{24ABC}\u{2408D}\u53D0\u3584\u720F\u{240C9}\u55B4\u{20345}\u54CD\u{20BC6}\u571D\u925D\u96F4\u9366\u57DD\u578D\u577F\u363E\u58CB\u5A99\u{28A46}\u{216FA}\u{2176F}\u{21710}\u5A2C\u59B8\u928F\u5A7E\u5ACF\u5A12\u{25946}\u{219F3}\u{21861}\u{24295}\u36F5\u6D05\u7443\u5A21\u{25E83}"],["9340","\u5A81\u{28BD7}\u{20413}\u93E0\u748C\u{21303}\u7105\u4972\u9408\u{289FB}\u93BD\u37A0\u5C1E\u5C9E\u5E5E\u5E48\u{21996}\u{2197C}\u{23AEE}\u5ECD\u5B4F\u{21903}\u{21904}\u3701\u{218A0}\u36DD\u{216FE}\u36D3\u812A\u{28A47}\u{21DBA}\u{23472}\u{289A8}\u5F0C\u5F0E\u{21927}\u{217AB}\u5A6B\u{2173B}\u5B44\u8614\u{275FD}\u8860\u607E\u{22860}\u{2262B}\u5FDB\u3EB8\u{225AF}\u{225BE}\u{29088}\u{26F73}\u61C0\u{2003E}\u{20046}\u{2261B}\u6199\u6198\u6075\u{22C9B}\u{22D07}\u{246D4}\u{2914D}"],["93a1","\u6471\u{24665}\u{22B6A}\u3A29\u{22B22}\u{23450}\u{298EA}\u{22E78}\u6337\u{2A45B}\u64B6\u6331\u63D1\u{249E3}\u{22D67}\u62A4\u{22CA1}\u643B\u656B\u6972\u3BF4\u{2308E}\u{232AD}\u{24989}\u{232AB}\u550D\u{232E0}\u{218D9}\u{2943F}\u66CE\u{23289}\u{231B3}\u3AE0\u4190\u{25584}\u{28B22}\u{2558F}\u{216FC}\u{2555B}\u{25425}\u78EE\u{23103}\u{2182A}\u{23234}\u3464\u{2320F}\u{23182}\u{242C9}\u668E\u{26D24}\u666B\u4B93\u6630\u{27870}\u{21DEB}\u6663\u{232D2}\u{232E1}\u661E\u{25872}\u38D1\u{2383A}\u{237BC}\u3B99\u{237A2}\u{233FE}\u74D0\u3B96\u678F\u{2462A}\u68B6\u681E\u3BC4\u6ABE\u3863\u{237D5}\u{24487}\u6A33\u6A52\u6AC9\u6B05\u{21912}\u6511\u6898\u6A4C\u3BD7\u6A7A\u6B57\u{23FC0}\u{23C9A}\u93A0\u92F2\u{28BEA}\u{28ACB}"],["9440","\u9289\u{2801E}\u{289DC}\u9467\u6DA5\u6F0B\u{249EC}\u6D67\u{23F7F}\u3D8F\u6E04\u{2403C}\u5A3D\u6E0A\u5847\u6D24\u7842\u713B\u{2431A}\u{24276}\u70F1\u7250\u7287\u7294\u{2478F}\u{24725}\u5179\u{24AA4}\u{205EB}\u747A\u{23EF8}\u{2365F}\u{24A4A}\u{24917}\u{25FE1}\u3F06\u3EB1\u{24ADF}\u{28C23}\u{23F35}\u60A7\u3EF3\u74CC\u743C\u9387\u7437\u449F\u{26DEA}\u4551\u7583\u3F63\u{24CD9}\u{24D06}\u3F58\u7555\u7673\u{2A5C6}\u3B19\u7468\u{28ACC}\u{249AB}\u{2498E}\u3AFB"],["94a1","\u3DCD\u{24A4E}\u3EFF\u{249C5}\u{248F3}\u91FA\u5732\u9342\u{28AE3}\u{21864}\u50DF\u{25221}\u{251E7}\u7778\u{23232}\u770E\u770F\u777B\u{24697}\u{23781}\u3A5E\u{248F0}\u7438\u749B\u3EBF\u{24ABA}\u{24AC7}\u40C8\u{24A96}\u{261AE}\u9307\u{25581}\u781E\u788D\u7888\u78D2\u73D0\u7959\u{27741}\u{256E3}\u410E\u799B\u8496\u79A5\u6A2D\u{23EFA}\u7A3A\u79F4\u416E\u{216E6}\u4132\u9235\u79F1\u{20D4C}\u{2498C}\u{20299}\u{23DBA}\u{2176E}\u3597\u556B\u3570\u36AA\u{201D4}\u{20C0D}\u7AE2\u5A59\u{226F5}\u{25AAF}\u{25A9C}\u5A0D\u{2025B}\u78F0\u5A2A\u{25BC6}\u7AFE\u41F9\u7C5D\u7C6D\u4211\u{25BB3}\u{25EBC}\u{25EA6}\u7CCD\u{249F9}\u{217B0}\u7C8E\u7C7C\u7CAE\u6AB2\u7DDC\u7E07\u7DD3\u7F4E\u{26261}"],["9540","\u{2615C}\u{27B48}\u7D97\u{25E82}\u426A\u{26B75}\u{20916}\u67D6\u{2004E}\u{235CF}\u57C4\u{26412}\u{263F8}\u{24962}\u7FDD\u7B27\u{2082C}\u{25AE9}\u{25D43}\u7B0C\u{25E0E}\u99E6\u8645\u9A63\u6A1C\u{2343F}\u39E2\u{249F7}\u{265AD}\u9A1F\u{265A0}\u8480\u{27127}\u{26CD1}\u44EA\u8137\u4402\u80C6\u8109\u8142\u{267B4}\u98C3\u{26A42}\u8262\u8265\u{26A51}\u8453\u{26DA7}\u8610\u{2721B}\u5A86\u417F\u{21840}\u5B2B\u{218A1}\u5AE4\u{218D8}\u86A0\u{2F9BC}\u{23D8F}\u882D\u{27422}\u5A02"],["95a1","\u886E\u4F45\u8887\u88BF\u88E6\u8965\u894D\u{25683}\u8954\u{27785}\u{27784}\u{28BF5}\u{28BD9}\u{28B9C}\u{289F9}\u3EAD\u84A3\u46F5\u46CF\u37F2\u8A3D\u8A1C\u{29448}\u5F4D\u922B\u{24284}\u65D4\u7129\u70C4\u{21845}\u9D6D\u8C9F\u8CE9\u{27DDC}\u599A\u77C3\u59F0\u436E\u36D4\u8E2A\u8EA7\u{24C09}\u8F30\u8F4A\u42F4\u6C58\u6FBB\u{22321}\u489B\u6F79\u6E8B\u{217DA}\u9BE9\u36B5\u{2492F}\u90BB\u9097\u5571\u4906\u91BB\u9404\u{28A4B}\u4062\u{28AFC}\u9427\u{28C1D}\u{28C3B}\u84E5\u8A2B\u9599\u95A7\u9597\u9596\u{28D34}\u7445\u3EC2\u{248FF}\u{24A42}\u{243EA}\u3EE7\u{23225}\u968F\u{28EE7}\u{28E66}\u{28E65}\u3ECC\u{249ED}\u{24A78}\u{23FEE}\u7412\u746B\u3EFC\u9741\u{290B0}"],["9640","\u6847\u4A1D\u{29093}\u{257DF}\u975D\u9368\u{28989}\u{28C26}\u{28B2F}\u{263BE}\u92BA\u5B11\u8B69\u493C\u73F9\u{2421B}\u979B\u9771\u9938\u{20F26}\u5DC1\u{28BC5}\u{24AB2}\u981F\u{294DA}\u92F6\u{295D7}\u91E5\u44C0\u{28B50}\u{24A67}\u{28B64}\u98DC\u{28A45}\u3F00\u922A\u4925\u8414\u993B\u994D\u{27B06}\u3DFD\u999B\u4B6F\u99AA\u9A5C\u{28B65}\u{258C8}\u6A8F\u9A21\u5AFE\u9A2F\u{298F1}\u4B90\u{29948}\u99BC\u4BBD\u4B97\u937D\u5872\u{21302}\u5822\u{249B8}"],["96a1","\u{214E8}\u7844\u{2271F}\u{23DB8}\u68C5\u3D7D\u9458\u3927\u6150\u{22781}\u{2296B}\u6107\u9C4F\u9C53\u9C7B\u9C35\u9C10\u9B7F\u9BCF\u{29E2D}\u9B9F\u{2A1F5}\u{2A0FE}\u9D21\u4CAE\u{24104}\u9E18\u4CB0\u9D0C\u{2A1B4}\u{2A0ED}\u{2A0F3}\u{2992F}\u9DA5\u84BD\u{26E12}\u{26FDF}\u{26B82}\u85FC\u4533\u{26DA4}\u{26E84}\u{26DF0}\u8420\u85EE\u{26E00}\u{237D7}\u{26064}\u79E2\u{2359C}\u{23640}\u492D\u{249DE}\u3D62\u93DB\u92BE\u9348\u{202BF}\u78B9\u9277\u944D\u4FE4\u3440\u9064\u{2555D}\u783D\u7854\u78B6\u784B\u{21757}\u{231C9}\u{24941}\u369A\u4F72\u6FDA\u6FD9\u701E\u701E\u5414\u{241B5}\u57BB\u58F3\u578A\u9D16\u57D7\u7134\u34AF\u{241AC}\u71EB\u{26C40}\u{24F97}\u5B28\u{217B5}\u{28A49}"],["9740","\u610C\u5ACE\u5A0B\u42BC\u{24488}\u372C\u4B7B\u{289FC}\u93BB\u93B8\u{218D6}\u{20F1D}\u8472\u{26CC0}\u{21413}\u{242FA}\u{22C26}\u{243C1}\u5994\u{23DB7}\u{26741}\u7DA8\u{2615B}\u{260A4}\u{249B9}\u{2498B}\u{289FA}\u92E5\u73E2\u3EE9\u74B4\u{28B63}\u{2189F}\u3EE1\u{24AB3}\u6AD8\u73F3\u73FB\u3ED6\u{24A3E}\u{24A94}\u{217D9}\u{24A66}\u{203A7}\u{21424}\u{249E5}\u7448\u{24916}\u70A5\u{24976}\u9284\u73E6\u935F\u{204FE}\u9331\u{28ACE}\u{28A16}\u9386\u{28BE7}\u{255D5}\u4935\u{28A82}\u716B"],["97a1","\u{24943}\u{20CFF}\u56A4\u{2061A}\u{20BEB}\u{20CB8}\u5502\u79C4\u{217FA}\u7DFE\u{216C2}\u{24A50}\u{21852}\u452E\u9401\u370A\u{28AC0}\u{249AD}\u59B0\u{218BF}\u{21883}\u{27484}\u5AA1\u36E2\u{23D5B}\u36B0\u925F\u5A79\u{28A81}\u{21862}\u9374\u3CCD\u{20AB4}\u4A96\u398A\u50F4\u3D69\u3D4C\u{2139C}\u7175\u42FB\u{28218}\u6E0F\u{290E4}\u44EB\u6D57\u{27E4F}\u7067\u6CAF\u3CD6\u{23FED}\u{23E2D}\u6E02\u6F0C\u3D6F\u{203F5}\u7551\u36BC\u34C8\u4680\u3EDA\u4871\u59C4\u926E\u493E\u8F41\u{28C1C}\u{26BC0}\u5812\u57C8\u36D6\u{21452}\u70FE\u{24362}\u{24A71}\u{22FE3}\u{212B0}\u{223BD}\u68B9\u6967\u{21398}\u{234E5}\u{27BF4}\u{236DF}\u{28A83}\u{237D6}\u{233FA}\u{24C9F}\u6A1A\u{236AD}\u{26CB7}\u843E\u44DF\u44CE"],["9840","\u{26D26}\u{26D51}\u{26C82}\u{26FDE}\u6F17\u{27109}\u833D\u{2173A}\u83ED\u{26C80}\u{27053}\u{217DB}\u5989\u5A82\u{217B3}\u5A61\u5A71\u{21905}\u{241FC}\u372D\u59EF\u{2173C}\u36C7\u718E\u9390\u669A\u{242A5}\u5A6E\u5A2B\u{24293}\u6A2B\u{23EF9}\u{27736}\u{2445B}\u{242CA}\u711D\u{24259}\u{289E1}\u4FB0\u{26D28}\u5CC2\u{244CE}\u{27E4D}\u{243BD}\u6A0C\u{24256}\u{21304}\u70A6\u7133\u{243E9}\u3DA5\u6CDF\u{2F825}\u{24A4F}\u7E65\u59EB\u5D2F\u3DF3\u5F5C\u{24A5D}\u{217DF}\u7DA4\u8426"],["98a1","\u5485\u{23AFA}\u{23300}\u{20214}\u577E\u{208D5}\u{20619}\u3FE5\u{21F9E}\u{2A2B6}\u7003\u{2915B}\u5D70\u738F\u7CD3\u{28A59}\u{29420}\u4FC8\u7FE7\u72CD\u7310\u{27AF4}\u7338\u7339\u{256F6}\u7341\u7348\u3EA9\u{27B18}\u906C\u71F5\u{248F2}\u73E1\u81F6\u3ECA\u770C\u3ED1\u6CA2\u56FD\u7419\u741E\u741F\u3EE2\u3EF0\u3EF4\u3EFA\u74D3\u3F0E\u3F53\u7542\u756D\u7572\u758D\u3F7C\u75C8\u75DC\u3FC0\u764D\u3FD7\u7674\u3FDC\u767A\u{24F5C}\u7188\u5623\u8980\u5869\u401D\u7743\u4039\u6761\u4045\u35DB\u7798\u406A\u406F\u5C5E\u77BE\u77CB\u58F2\u7818\u70B9\u781C\u40A8\u7839\u7847\u7851\u7866\u8448\u{25535}\u7933\u6803\u7932\u4103"],["9940","\u4109\u7991\u7999\u8FBB\u7A06\u8FBC\u4167\u7A91\u41B2\u7ABC\u8279\u41C4\u7ACF\u7ADB\u41CF\u4E21\u7B62\u7B6C\u7B7B\u7C12\u7C1B\u4260\u427A\u7C7B\u7C9C\u428C\u7CB8\u4294\u7CED\u8F93\u70C0\u{20CCF}\u7DCF\u7DD4\u7DD0\u7DFD\u7FAE\u7FB4\u729F\u4397\u8020\u8025\u7B39\u802E\u8031\u8054\u3DCC\u57B4\u70A0\u80B7\u80E9\u43ED\u810C\u732A\u810E\u8112\u7560\u8114\u4401\u3B39\u8156\u8159\u815A"],["99a1","\u4413\u583A\u817C\u8184\u4425\u8193\u442D\u81A5\u57EF\u81C1\u81E4\u8254\u448F\u82A6\u8276\u82CA\u82D8\u82FF\u44B0\u8357\u9669\u698A\u8405\u70F5\u8464\u60E3\u8488\u4504\u84BE\u84E1\u84F8\u8510\u8538\u8552\u453B\u856F\u8570\u85E0\u4577\u8672\u8692\u86B2\u86EF\u9645\u878B\u4606\u4617\u88AE\u88FF\u8924\u8947\u8991\u{27967}\u8A29\u8A38\u8A94\u8AB4\u8C51\u8CD4\u8CF2\u8D1C\u4798\u585F\u8DC3\u47ED\u4EEE\u8E3A\u55D8\u5754\u8E71\u55F5\u8EB0\u4837\u8ECE\u8EE2\u8EE4\u8EED\u8EF2\u8FB7\u8FC1\u8FCA\u8FCC\u9033\u99C4\u48AD\u98E0\u9213\u491E\u9228\u9258\u926B\u92B1\u92AE\u92BF"],["9a40","\u92E3\u92EB\u92F3\u92F4\u92FD\u9343\u9384\u93AD\u4945\u4951\u9EBF\u9417\u5301\u941D\u942D\u943E\u496A\u9454\u9479\u952D\u95A2\u49A7\u95F4\u9633\u49E5\u67A0\u4A24\u9740\u4A35\u97B2\u97C2\u5654\u4AE4\u60E8\u98B9\u4B19\u98F1\u5844\u990E\u9919\u51B4\u991C\u9937\u9942\u995D\u9962\u4B70\u99C5\u4B9D\u9A3C\u9B0F\u7A83\u9B69\u9B81\u9BDD\u9BF1\u9BF4\u4C6D\u9C20\u376F\u{21BC2}\u9D49\u9C3A"],["9aa1","\u9EFE\u5650\u9D93\u9DBD\u9DC0\u9DFC\u94F6\u8FB6\u9E7B\u9EAC\u9EB1\u9EBD\u9EC6\u94DC\u9EE2\u9EF1\u9EF8\u7AC8\u9F44\u{20094}\u{202B7}\u{203A0}\u691A\u94C3\u59AC\u{204D7}\u5840\u94C1\u37B9\u{205D5}\u{20615}\u{20676}\u{216BA}\u5757\u7173\u{20AC2}\u{20ACD}\u{20BBF}\u546A\u{2F83B}\u{20BCB}\u549E\u{20BFB}\u{20C3B}\u{20C53}\u{20C65}\u{20C7C}\u60E7\u{20C8D}\u567A\u{20CB5}\u{20CDD}\u{20CED}\u{20D6F}\u{20DB2}\u{20DC8}\u6955\u9C2F\u87A5\u{20E04}\u{20E0E}\u{20ED7}\u{20F90}\u{20F2D}\u{20E73}\u5C20\u{20FBC}\u5E0B\u{2105C}\u{2104F}\u{21076}\u671E\u{2107B}\u{21088}\u{21096}\u3647\u{210BF}\u{210D3}\u{2112F}\u{2113B}\u5364\u84AD\u{212E3}\u{21375}\u{21336}\u8B81\u{21577}\u{21619}\u{217C3}\u{217C7}\u4E78\u70BB\u{2182D}\u{2196A}"],["9b40","\u{21A2D}\u{21A45}\u{21C2A}\u{21C70}\u{21CAC}\u{21EC8}\u62C3\u{21ED5}\u{21F15}\u7198\u6855\u{22045}\u69E9\u36C8\u{2227C}\u{223D7}\u{223FA}\u{2272A}\u{22871}\u{2294F}\u82FD\u{22967}\u{22993}\u{22AD5}\u89A5\u{22AE8}\u8FA0\u{22B0E}\u97B8\u{22B3F}\u9847\u9ABD\u{22C4C}"],["9b62","\u{22C88}\u{22CB7}\u{25BE8}\u{22D08}\u{22D12}\u{22DB7}\u{22D95}\u{22E42}\u{22F74}\u{22FCC}\u{23033}\u{23066}\u{2331F}\u{233DE}\u5FB1\u6648\u66BF\u{27A79}\u{23567}\u{235F3}\u7201\u{249BA}\u77D7\u{2361A}\u{23716}\u7E87\u{20346}\u58B5\u670E"],["9ba1","\u6918\u{23AA7}\u{27657}\u{25FE2}\u{23E11}\u{23EB9}\u{275FE}\u{2209A}\u48D0\u4AB8\u{24119}\u{28A9A}\u{242EE}\u{2430D}\u{2403B}\u{24334}\u{24396}\u{24A45}\u{205CA}\u51D2\u{20611}\u599F\u{21EA8}\u3BBE\u{23CFF}\u{24404}\u{244D6}\u5788\u{24674}\u399B\u{2472F}\u{285E8}\u{299C9}\u3762\u{221C3}\u8B5E\u{28B4E}\u99D6\u{24812}\u{248FB}\u{24A15}\u7209\u{24AC0}\u{20C78}\u5965\u{24EA5}\u{24F86}\u{20779}\u8EDA\u{2502C}\u528F\u573F\u7171\u{25299}\u{25419}\u{23F4A}\u{24AA7}\u55BC\u{25446}\u{2546E}\u{26B52}\u91D4\u3473\u{2553F}\u{27632}\u{2555E}\u4718\u{25562}\u{25566}\u{257C7}\u{2493F}\u{2585D}\u5066\u34FB\u{233CC}\u60DE\u{25903}\u477C\u{28948}\u{25AAE}\u{25B89}\u{25C06}\u{21D90}\u57A1\u7151\u6FB6\u{26102}\u{27C12}\u9056\u{261B2}\u{24F9A}\u8B62\u{26402}\u{2644A}"],["9c40","\u5D5B\u{26BF7}\u8F36\u{26484}\u{2191C}\u8AEA\u{249F6}\u{26488}\u{23FEF}\u{26512}\u4BC0\u{265BF}\u{266B5}\u{2271B}\u9465\u{257E1}\u6195\u5A27\u{2F8CD}\u4FBB\u56B9\u{24521}\u{266FC}\u4E6A\u{24934}\u9656\u6D8F\u{26CBD}\u3618\u8977\u{26799}\u{2686E}\u{26411}\u{2685E}\u71DF\u{268C7}\u7B42\u{290C0}\u{20A11}\u{26926}\u9104\u{26939}\u7A45\u9DF0\u{269FA}\u9A26\u{26A2D}\u365F\u{26469}\u{20021}\u7983\u{26A34}\u{26B5B}\u5D2C\u{23519}\u83CF\u{26B9D}\u46D0\u{26CA4}\u753B\u8865\u{26DAE}\u58B6"],["9ca1","\u371C\u{2258D}\u{2704B}\u{271CD}\u3C54\u{27280}\u{27285}\u9281\u{2217A}\u{2728B}\u9330\u{272E6}\u{249D0}\u6C39\u949F\u{27450}\u{20EF8}\u8827\u88F5\u{22926}\u{28473}\u{217B1}\u6EB8\u{24A2A}\u{21820}\u39A4\u36B9\u5C10\u79E3\u453F\u66B6\u{29CAD}\u{298A4}\u8943\u{277CC}\u{27858}\u56D6\u40DF\u{2160A}\u39A1\u{2372F}\u{280E8}\u{213C5}\u71AD\u8366\u{279DD}\u{291A8}\u5A67\u4CB7\u{270AF}\u{289AB}\u{279FD}\u{27A0A}\u{27B0B}\u{27D66}\u{2417A}\u7B43\u797E\u{28009}\u6FB5\u{2A2DF}\u6A03\u{28318}\u53A2\u{26E07}\u93BF\u6836\u975D\u{2816F}\u{28023}\u{269B5}\u{213ED}\u{2322F}\u{28048}\u5D85\u{28C30}\u{28083}\u5715\u9823\u{28949}\u5DAB\u{24988}\u65BE\u69D5\u53D2\u{24AA5}\u{23F81}\u3C11\u6736\u{28090}\u{280F4}\u{2812E}\u{21FA1}\u{2814F}"],["9d40","\u{28189}\u{281AF}\u{2821A}\u{28306}\u{2832F}\u{2838A}\u35CA\u{28468}\u{286AA}\u48FA\u63E6\u{28956}\u7808\u9255\u{289B8}\u43F2\u{289E7}\u43DF\u{289E8}\u{28B46}\u{28BD4}\u59F8\u{28C09}\u8F0B\u{28FC5}\u{290EC}\u7B51\u{29110}\u{2913C}\u3DF7\u{2915E}\u{24ACA}\u8FD0\u728F\u568B\u{294E7}\u{295E9}\u{295B0}\u{295B8}\u{29732}\u{298D1}\u{29949}\u{2996A}\u{299C3}\u{29A28}\u{29B0E}\u{29D5A}\u{29D9B}\u7E9F\u{29EF8}\u{29F23}\u4CA4\u9547\u{2A293}\u71A2\u{2A2FF}\u4D91\u9012\u{2A5CB}\u4D9C\u{20C9C}\u8FBE\u55C1"],["9da1","\u8FBA\u{224B0}\u8FB9\u{24A93}\u4509\u7E7F\u6F56\u6AB1\u4EEA\u34E4\u{28B2C}\u{2789D}\u373A\u8E80\u{217F5}\u{28024}\u{28B6C}\u{28B99}\u{27A3E}\u{266AF}\u3DEB\u{27655}\u{23CB7}\u{25635}\u{25956}\u4E9A\u{25E81}\u{26258}\u56BF\u{20E6D}\u8E0E\u5B6D\u{23E88}\u{24C9E}\u63DE\u62D0\u{217F6}\u{2187B}\u6530\u562D\u{25C4A}\u541A\u{25311}\u3DC6\u{29D98}\u4C7D\u5622\u561E\u7F49\u{25ED8}\u5975\u{23D40}\u8770\u4E1C\u{20FEA}\u{20D49}\u{236BA}\u8117\u9D5E\u8D18\u763B\u9C45\u764E\u77B9\u9345\u5432\u8148\u82F7\u5625\u8132\u8418\u80BD\u55EA\u7962\u5643\u5416\u{20E9D}\u35CE\u5605\u55F1\u66F1\u{282E2}\u362D\u7534\u55F0\u55BA\u5497\u5572\u{20C41}\u{20C96}\u5ED0\u{25148}\u{20E76}\u{22C62}"],["9e40","\u{20EA2}\u9EAB\u7D5A\u55DE\u{21075}\u629D\u976D\u5494\u8CCD\u71F6\u9176\u63FC\u63B9\u63FE\u5569\u{22B43}\u9C72\u{22EB3}\u519A\u34DF\u{20DA7}\u51A7\u544D\u551E\u5513\u7666\u8E2D\u{2688A}\u75B1\u80B6\u8804\u8786\u88C7\u81B6\u841C\u{210C1}\u44EC\u7304\u{24706}\u5B90\u830B\u{26893}\u567B\u{226F4}\u{27D2F}\u{241A3}\u{27D73}\u{26ED0}\u{272B6}\u9170\u{211D9}\u9208\u{23CFC}\u{2A6A9}\u{20EAC}\u{20EF9}\u7266\u{21CA2}\u474E\u{24FC2}\u{27FF9}\u{20FEB}\u40FA"],["9ea1","\u9C5D\u651F\u{22DA0}\u48F3\u{247E0}\u{29D7C}\u{20FEC}\u{20E0A}\u6062\u{275A3}\u{20FED}"],["9ead","\u{26048}\u{21187}\u71A3\u7E8E\u9D50\u4E1A\u4E04\u3577\u5B0D\u6CB2\u5367\u36AC\u39DC\u537D\u36A5\u{24618}\u589A\u{24B6E}\u822D\u544B\u57AA\u{25A95}\u{20979}"],["9ec5","\u3A52\u{22465}\u7374\u{29EAC}\u4D09\u9BED\u{23CFE}\u{29F30}\u4C5B\u{24FA9}\u{2959E}\u{29FDE}\u845C\u{23DB6}\u{272B2}\u{267B3}\u{23720}\u632E\u7D25\u{23EF7}\u{23E2C}\u3A2A\u9008\u52CC\u3E74\u367A\u45E9\u{2048E}\u7640\u5AF0\u{20EB6}\u787A\u{27F2E}\u58A7\u40BF\u567C\u9B8B\u5D74\u7654\u{2A434}\u9E85\u4CE1\u75F9\u37FB\u6119\u{230DA}\u{243F2}"],["9ef5","\u565D\u{212A9}\u57A7\u{24963}\u{29E06}\u5234\u{270AE}\u35AD\u6C4A\u9D7C"],["9f40","\u7C56\u9B39\u57DE\u{2176C}\u5C53\u64D3\u{294D0}\u{26335}\u{27164}\u86AD\u{20D28}\u{26D22}\u{24AE2}\u{20D71}"],["9f4f","\u51FE\u{21F0F}\u5D8E\u9703\u{21DD1}\u9E81\u904C\u7B1F\u9B02\u5CD1\u7BA3\u6268\u6335\u9AFF\u7BCF\u9B2A\u7C7E\u9B2E\u7C42\u7C86\u9C15\u7BFC\u9B09\u9F17\u9C1B\u{2493E}\u9F5A\u5573\u5BC3\u4FFD\u9E98\u4FF2\u5260\u3E06\u52D1\u5767\u5056\u59B7\u5E12\u97C8\u9DAB\u8F5C\u5469\u97B4\u9940\u97BA\u532C\u6130"],["9fa1","\u692C\u53DA\u9C0A\u9D02\u4C3B\u9641\u6980\u50A6\u7546\u{2176D}\u99DA\u5273"],["9fae","\u9159\u9681\u915C"],["9fb2","\u9151\u{28E97}\u637F\u{26D23}\u6ACA\u5611\u918E\u757A\u6285\u{203FC}\u734F\u7C70\u{25C21}\u{23CFD}"],["9fc1","\u{24919}\u76D6\u9B9D\u4E2A\u{20CD4}\u83BE\u8842"],["9fc9","\u5C4A\u69C0\u50ED\u577A\u521F\u5DF5\u4ECE\u6C31\u{201F2}\u4F39\u549C\u54DA\u529A\u8D82\u35FE\u5F0C\u35F3"],["9fdb","\u6B52\u917C\u9FA5\u9B97\u982E\u98B4\u9ABA\u9EA8\u9E84\u717A\u7B14"],["9fe7","\u6BFA\u8818\u7F78"],["9feb","\u5620\u{2A64A}\u8E77\u9F53"],["9ff0","\u8DD4\u8E4F\u9E1C\u8E01\u6282\u{2837D}\u8E28\u8E75\u7AD3\u{24A77}\u7A3E\u78D8\u6CEA\u8A67\u7607"],["a040","\u{28A5A}\u9F26\u6CCE\u87D6\u75C3\u{2A2B2}\u7853\u{2F840}\u8D0C\u72E2\u7371\u8B2D\u7302\u74F1\u8CEB\u{24ABB}\u862F\u5FBA\u88A0\u44B7"],["a055","\u{2183B}\u{26E05}"],["a058","\u8A7E\u{2251B}"],["a05b","\u60FD\u7667\u9AD7\u9D44\u936E\u9B8F\u87F5"],["a063","\u880F\u8CF7\u732C\u9721\u9BB0\u35D6\u72B2\u4C07\u7C51\u994A\u{26159}\u6159\u4C04\u9E96\u617D"],["a073","\u575F\u616F\u62A6\u6239\u62CE\u3A5C\u61E2\u53AA\u{233F5}\u6364\u6802\u35D2"],["a0a1","\u5D57\u{28BC2}\u8FDA\u{28E39}"],["a0a6","\u50D9\u{21D46}\u7906\u5332\u9638\u{20F3B}\u4065"],["a0ae","\u77FE"],["a0b0","\u7CC2\u{25F1A}\u7CDA\u7A2D\u8066\u8063\u7D4D\u7505\u74F2\u8994\u821A\u670C\u8062\u{27486}\u805B\u74F0\u8103\u7724\u8989\u{267CC}\u7553\u{26ED1}\u87A9\u87CE\u81C8\u878C\u8A49\u8CAD\u8B43\u772B\u74F8\u84DA\u3635\u69B2\u8DA6"],["a0d4","\u89A9\u7468\u6DB9\u87C1\u{24011}\u74E7\u3DDB\u7176\u60A4\u619C\u3CD1\u7162\u6077"],["a0e2","\u7F71\u{28B2D}\u7250\u60E9\u4B7E\u5220\u3C18\u{23CC7}\u{25ED7}\u{27656}\u{25531}\u{21944}\u{212FE}\u{29903}\u{26DDC}\u{270AD}\u5CC1\u{261AD}\u{28A0F}\u{23677}\u{200EE}\u{26846}\u{24F0E}\u4562\u5B1F\u{2634C}\u9F50\u9EA6\u{2626B}"],["a3c0","\u2400",31,"\u2421"],["c6a1","\u2460",9,"\u2474",9,"\u2170",9,"\u4E36\u4E3F\u4E85\u4EA0\u5182\u5196\u51AB\u52F9\u5338\u5369\u53B6\u590A\u5B80\u5DDB\u2F33\u5E7F\u5EF4\u5F50\u5F61\u6534\u65E0\u7592\u7676\u8FB5\u96B6\xA8\u02C6\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\uFF3B\uFF3D\u273D\u3041",23],["c740","\u3059",58,"\u30A1\u30A2\u30A3\u30A4"],["c7a1","\u30A5",81,"\u0410",5,"\u0401\u0416",4],["c840","\u041B",26,"\u0451\u0436",25,"\u21E7\u21B8\u21B9\u31CF\u{200CC}\u4E5A\u{2008A}\u5202\u4491"],["c8a1","\u9FB0\u5188\u9FB1\u{27607}"],["c8cd","\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u309B\u309C\u2E80\u2E84\u2E86\u2E87\u2E88\u2E8A\u2E8C\u2E8D\u2E95\u2E9C\u2E9D\u2EA5\u2EA7\u2EAA\u2EAC\u2EAE\u2EB6\u2EBC\u2EBE\u2EC6\u2ECA\u2ECC\u2ECD\u2ECF\u2ED6\u2ED7\u2EDE\u2EE3"],["c8f5","\u0283\u0250\u025B\u0254\u0275\u0153\xF8\u014B\u028A\u026A"],["f9fe","\uFFED"],["fa40","\u{20547}\u92DB\u{205DF}\u{23FC5}\u854C\u42B5\u73EF\u51B5\u3649\u{24942}\u{289E4}\u9344\u{219DB}\u82EE\u{23CC8}\u783C\u6744\u62DF\u{24933}\u{289AA}\u{202A0}\u{26BB3}\u{21305}\u4FAB\u{224ED}\u5008\u{26D29}\u{27A84}\u{23600}\u{24AB1}\u{22513}\u5029\u{2037E}\u5FA4\u{20380}\u{20347}\u6EDB\u{2041F}\u507D\u5101\u347A\u510E\u986C\u3743\u8416\u{249A4}\u{20487}\u5160\u{233B4}\u516A\u{20BFF}\u{220FC}\u{202E5}\u{22530}\u{2058E}\u{23233}\u{21983}\u5B82\u877D\u{205B3}\u{23C99}\u51B2\u51B8"],["faa1","\u9D34\u51C9\u51CF\u51D1\u3CDC\u51D3\u{24AA6}\u51B3\u51E2\u5342\u51ED\u83CD\u693E\u{2372D}\u5F7B\u520B\u5226\u523C\u52B5\u5257\u5294\u52B9\u52C5\u7C15\u8542\u52E0\u860D\u{26B13}\u5305\u{28ADE}\u5549\u6ED9\u{23F80}\u{20954}\u{23FEC}\u5333\u5344\u{20BE2}\u6CCB\u{21726}\u681B\u73D5\u604A\u3EAA\u38CC\u{216E8}\u71DD\u44A2\u536D\u5374\u{286AB}\u537E\u537F\u{21596}\u{21613}\u77E6\u5393\u{28A9B}\u53A0\u53AB\u53AE\u73A7\u{25772}\u3F59\u739C\u53C1\u53C5\u6C49\u4E49\u57FE\u53D9\u3AAB\u{20B8F}\u53E0\u{23FEB}\u{22DA3}\u53F6\u{20C77}\u5413\u7079\u552B\u6657\u6D5B\u546D\u{26B53}\u{20D74}\u555D\u548F\u54A4\u47A6\u{2170D}\u{20EDD}\u3DB4\u{20D4D}"],["fb40","\u{289BC}\u{22698}\u5547\u4CED\u542F\u7417\u5586\u55A9\u5605\u{218D7}\u{2403A}\u4552\u{24435}\u66B3\u{210B4}\u5637\u66CD\u{2328A}\u66A4\u66AD\u564D\u564F\u78F1\u56F1\u9787\u53FE\u5700\u56EF\u56ED\u{28B66}\u3623\u{2124F}\u5746\u{241A5}\u6C6E\u708B\u5742\u36B1\u{26C7E}\u57E6\u{21416}\u5803\u{21454}\u{24363}\u5826\u{24BF5}\u585C\u58AA\u3561\u58E0\u58DC\u{2123C}\u58FB\u5BFF\u5743\u{2A150}\u{24278}\u93D3\u35A1\u591F\u68A6\u36C3\u6E59"],["fba1","\u{2163E}\u5A24\u5553\u{21692}\u8505\u59C9\u{20D4E}\u{26C81}\u{26D2A}\u{217DC}\u59D9\u{217FB}\u{217B2}\u{26DA6}\u6D71\u{21828}\u{216D5}\u59F9\u{26E45}\u5AAB\u5A63\u36E6\u{249A9}\u5A77\u3708\u5A96\u7465\u5AD3\u{26FA1}\u{22554}\u3D85\u{21911}\u3732\u{216B8}\u5E83\u52D0\u5B76\u6588\u5B7C\u{27A0E}\u4004\u485D\u{20204}\u5BD5\u6160\u{21A34}\u{259CC}\u{205A5}\u5BF3\u5B9D\u4D10\u5C05\u{21B44}\u5C13\u73CE\u5C14\u{21CA5}\u{26B28}\u5C49\u48DD\u5C85\u5CE9\u5CEF\u5D8B\u{21DF9}\u{21E37}\u5D10\u5D18\u5D46\u{21EA4}\u5CBA\u5DD7\u82FC\u382D\u{24901}\u{22049}\u{22173}\u8287\u3836\u3BC2\u5E2E\u6A8A\u5E75\u5E7A\u{244BC}\u{20CD3}\u53A6\u4EB7\u5ED0\u53A8\u{21771}\u5E09\u5EF4\u{28482}"],["fc40","\u5EF9\u5EFB\u38A0\u5EFC\u683E\u941B\u5F0D\u{201C1}\u{2F894}\u3ADE\u48AE\u{2133A}\u5F3A\u{26888}\u{223D0}\u5F58\u{22471}\u5F63\u97BD\u{26E6E}\u5F72\u9340\u{28A36}\u5FA7\u5DB6\u3D5F\u{25250}\u{21F6A}\u{270F8}\u{22668}\u91D6\u{2029E}\u{28A29}\u6031\u6685\u{21877}\u3963\u3DC7\u3639\u5790\u{227B4}\u7971\u3E40\u609E\u60A4\u60B3\u{24982}\u{2498F}\u{27A53}\u74A4\u50E1\u5AA0\u6164\u8424\u6142\u{2F8A6}\u{26ED2}\u6181\u51F4\u{20656}\u6187\u5BAA\u{23FB7}"],["fca1","\u{2285F}\u61D3\u{28B9D}\u{2995D}\u61D0\u3932\u{22980}\u{228C1}\u6023\u615C\u651E\u638B\u{20118}\u62C5\u{21770}\u62D5\u{22E0D}\u636C\u{249DF}\u3A17\u6438\u63F8\u{2138E}\u{217FC}\u6490\u6F8A\u{22E36}\u9814\u{2408C}\u{2571D}\u64E1\u64E5\u947B\u3A66\u643A\u3A57\u654D\u6F16\u{24A28}\u{24A23}\u6585\u656D\u655F\u{2307E}\u65B5\u{24940}\u4B37\u65D1\u40D8\u{21829}\u65E0\u65E3\u5FDF\u{23400}\u6618\u{231F7}\u{231F8}\u6644\u{231A4}\u{231A5}\u664B\u{20E75}\u6667\u{251E6}\u6673\u6674\u{21E3D}\u{23231}\u{285F4}\u{231C8}\u{25313}\u77C5\u{228F7}\u99A4\u6702\u{2439C}\u{24A21}\u3B2B\u69FA\u{237C2}\u675E\u6767\u6762\u{241CD}\u{290ED}\u67D7\u44E9\u6822\u6E50\u923C\u6801\u{233E6}\u{26DA0}\u685D"],["fd40","\u{2346F}\u69E1\u6A0B\u{28ADF}\u6973\u68C3\u{235CD}\u6901\u6900\u3D32\u3A01\u{2363C}\u3B80\u67AC\u6961\u{28A4A}\u42FC\u6936\u6998\u3BA1\u{203C9}\u8363\u5090\u69F9\u{23659}\u{2212A}\u6A45\u{23703}\u6A9D\u3BF3\u67B1\u6AC8\u{2919C}\u3C0D\u6B1D\u{20923}\u60DE\u6B35\u6B74\u{227CD}\u6EB5\u{23ADB}\u{203B5}\u{21958}\u3740\u5421\u{23B5A}\u6BE1\u{23EFC}\u6BDC\u6C37\u{2248B}\u{248F1}\u{26B51}\u6C5A\u8226\u6C79\u{23DBC}\u44C5\u{23DBD}\u{241A4}\u{2490C}\u{24900}"],["fda1","\u{23CC9}\u36E5\u3CEB\u{20D32}\u9B83\u{231F9}\u{22491}\u7F8F\u6837\u{26D25}\u{26DA1}\u{26DEB}\u6D96\u6D5C\u6E7C\u6F04\u{2497F}\u{24085}\u{26E72}\u8533\u{26F74}\u51C7\u6C9C\u6E1D\u842E\u{28B21}\u6E2F\u{23E2F}\u7453\u{23F82}\u79CC\u6E4F\u5A91\u{2304B}\u6FF8\u370D\u6F9D\u{23E30}\u6EFA\u{21497}\u{2403D}\u4555\u93F0\u6F44\u6F5C\u3D4E\u6F74\u{29170}\u3D3B\u6F9F\u{24144}\u6FD3\u{24091}\u{24155}\u{24039}\u{23FF0}\u{23FB4}\u{2413F}\u51DF\u{24156}\u{24157}\u{24140}\u{261DD}\u704B\u707E\u70A7\u7081\u70CC\u70D5\u70D6\u70DF\u4104\u3DE8\u71B4\u7196\u{24277}\u712B\u7145\u5A88\u714A\u716E\u5C9C\u{24365}\u714F\u9362\u{242C1}\u712C\u{2445A}\u{24A27}\u{24A22}\u71BA\u{28BE8}\u70BD\u720E"],["fe40","\u9442\u7215\u5911\u9443\u7224\u9341\u{25605}\u722E\u7240\u{24974}\u68BD\u7255\u7257\u3E55\u{23044}\u680D\u6F3D\u7282\u732A\u732B\u{24823}\u{2882B}\u48ED\u{28804}\u7328\u732E\u73CF\u73AA\u{20C3A}\u{26A2E}\u73C9\u7449\u{241E2}\u{216E7}\u{24A24}\u6623\u36C5\u{249B7}\u{2498D}\u{249FB}\u73F7\u7415\u6903\u{24A26}\u7439\u{205C3}\u3ED7\u745C\u{228AD}\u7460\u{28EB2}\u7447\u73E4\u7476\u83B9\u746C\u3730\u7474\u93F1\u6A2C\u7482\u4953\u{24A8C}"],["fea1","\u{2415F}\u{24A79}\u{28B8F}\u5B46\u{28C03}\u{2189E}\u74C8\u{21988}\u750E\u74E9\u751E\u{28ED9}\u{21A4B}\u5BD7\u{28EAC}\u9385\u754D\u754A\u7567\u756E\u{24F82}\u3F04\u{24D13}\u758E\u745D\u759E\u75B4\u7602\u762C\u7651\u764F\u766F\u7676\u{263F5}\u7690\u81EF\u37F8\u{26911}\u{2690E}\u76A1\u76A5\u76B7\u76CC\u{26F9F}\u8462\u{2509D}\u{2517D}\u{21E1C}\u771E\u7726\u7740\u64AF\u{25220}\u7758\u{232AC}\u77AF\u{28964}\u{28968}\u{216C1}\u77F4\u7809\u{21376}\u{24A12}\u68CA\u78AF\u78C7\u78D3\u96A5\u792E\u{255E0}\u78D7\u7934\u78B1\u{2760C}\u8FB8\u8884\u{28B2B}\u{26083}\u{2261C}\u7986\u8900\u6902\u7980\u{25857}\u799D\u{27B39}\u793C\u79A9\u6E2A\u{27126}\u3EA8\u79C6\u{2910D}\u79D4"]]});var dOt=S((Oms,lOt)=>{"use strict";lOt.exports={shiftjis:{type:"_dbcs",table:function(){return iOt()},encodeAdd:{"\xA5":92,"\u203E":126},encodeSkipVals:[{from:60736,to:63808}]},csshiftjis:"shiftjis",mskanji:"shiftjis",sjis:"shiftjis",windows31j:"shiftjis",ms31j:"shiftjis",xsjis:"shiftjis",windows932:"shiftjis",ms932:"shiftjis",932:"shiftjis",cp932:"shiftjis",eucjp:{type:"_dbcs",table:function(){return aOt()},encodeAdd:{"\xA5":92,"\u203E":126}},gb2312:"cp936",gb231280:"cp936",gb23121980:"cp936",csgb2312:"cp936",csiso58gb231280:"cp936",euccn:"cp936",windows936:"cp936",ms936:"cp936",936:"cp936",cp936:{type:"_dbcs",table:function(){return PV()}},gbk:{type:"_dbcs",table:function(){return PV().concat(pTe())}},xgbk:"gbk",isoir58:"gbk",gb18030:{type:"_dbcs",table:function(){return PV().concat(pTe())},gb18030:function(){return oOt()},encodeSkipVals:[128],encodeAdd:{"\u20AC":41699}},chinese:"gb18030",windows949:"cp949",ms949:"cp949",949:"cp949",cp949:{type:"_dbcs",table:function(){return cOt()}},cseuckr:"cp949",csksc56011987:"cp949",euckr:"cp949",isoir149:"cp949",korean:"cp949",ksc56011987:"cp949",ksc56011989:"cp949",ksc5601:"cp949",windows950:"cp950",ms950:"cp950",950:"cp950",cp950:{type:"_dbcs",table:function(){return mTe()}},big5:"big5hkscs",big5hkscs:{type:"_dbcs",table:function(){return mTe().concat(uOt())},encodeSkipVals:[36457,36463,36478,36523,36532,36557,36560,36695,36713,36718,36811,36862,36973,36986,37060,37084,37105,37311,37551,37552,37553,37554,37585,37959,38090,38361,38652,39285,39798,39800,39803,39878,39902,39916,39926,40002,40019,40034,40040,40043,40055,40124,40125,40144,40279,40282,40388,40431,40443,40617,40687,40701,40800,40907,41079,41180,41183,36812,37576,38468,38637,41636,41637,41639,41638,41676,41678]},cnbig5:"big5hkscs",csbig5:"big5hkscs",xxbig5:"big5hkscs"}});var pOt=S((hOt,RC)=>{"use strict";var fOt=[qNt(),jNt(),YNt(),zNt(),XNt(),ZNt(),tOt(),sOt(),dOt()];for(LV=0;LV{"use strict";var mOt=r0().Buffer;gOt.exports=function(e){var t=e.Transform;function r(s,i){this.conv=s,i=i||{},i.decodeStrings=!1,t.call(this,i)}r.prototype=Object.create(t.prototype,{constructor:{value:r}}),r.prototype._transform=function(s,i,a){if(typeof s!="string")return a(new Error("Iconv encoding stream needs strings as its input."));try{var o=this.conv.write(s);o&&o.length&&this.push(o),a()}catch(c){a(c)}},r.prototype._flush=function(s){try{var i=this.conv.end();i&&i.length&&this.push(i),s()}catch(a){s(a)}},r.prototype.collect=function(s){var i=[];return this.on("error",s),this.on("data",function(a){i.push(a)}),this.on("end",function(){s(null,mOt.concat(i))}),this};function n(s,i){this.conv=s,i=i||{},i.encoding=this.encoding="utf8",t.call(this,i)}return n.prototype=Object.create(t.prototype,{constructor:{value:n}}),n.prototype._transform=function(s,i,a){if(!mOt.isBuffer(s)&&!(s instanceof Uint8Array))return a(new Error("Iconv decoding stream needs buffers as its input."));try{var o=this.conv.write(s);o&&o.length&&this.push(o,this.encoding),a()}catch(c){a(c)}},n.prototype._flush=function(s){try{var i=this.conv.end();i&&i.length&&this.push(i,this.encoding),s()}catch(a){s(a)}},n.prototype.collect=function(s){var i="";return this.on("error",s),this.on("data",function(a){i+=a}),this.on("end",function(){s(null,i)}),this},{IconvLiteEncoderStream:r,IconvLiteDecoderStream:n}}});var vOt=S((Pms,yOt)=>{"use strict";var AOt=r0().Buffer,EOt=FNt(),or=yOt.exports;or.encodings=null;or.defaultCharUnicode="\uFFFD";or.defaultCharSingleByte="?";or.encode=function(t,r,n){t=""+(t||"");var s=or.getEncoder(r,n),i=s.write(t),a=s.end();return a&&a.length>0?AOt.concat([i,a]):i};or.decode=function(t,r,n){typeof t=="string"&&(or.skipDecodeWarning||(console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding"),or.skipDecodeWarning=!0),t=AOt.from(""+(t||""),"binary"));var s=or.getDecoder(r,n),i=s.write(t),a=s.end();return a?i+a:i};or.encodingExists=function(t){try{return or.getCodec(t),!0}catch{return!1}};or.toEncoding=or.encode;or.fromEncoding=or.decode;or._codecDataCache={};or.getCodec=function(t){or.encodings||(or.encodings=pOt());for(var r=or._canonicalizeEncoding(t),n={};;){var s=or._codecDataCache[r];if(s)return s;var i=or.encodings[r];switch(typeof i){case"string":r=i;break;case"object":for(var a in i)n[a]=i[a];n.encodingName||(n.encodingName=r),r=i.type;break;case"function":return n.encodingName||(n.encodingName=r),s=new i(n,or),or._codecDataCache[n.encodingName]=s,s;default:throw new Error("Encoding not recognized: '"+t+"' (searched as: '"+r+"')")}}};or._canonicalizeEncoding=function(e){return(""+e).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g,"")};or.getEncoder=function(t,r){var n=or.getCodec(t),s=new n.encoder(r,n);return n.bomAware&&r&&r.addBOM&&(s=new EOt.PrependBOM(s,r)),s};or.getDecoder=function(t,r){var n=or.getCodec(t),s=new n.decoder(r,n);return n.bomAware&&!(r&&r.stripBOM===!1)&&(s=new EOt.StripBOM(s,r)),s};or.enableStreamingAPI=function(t){if(!or.supportsStreams){var r=_Ot()(t);or.IconvLiteEncoderStream=r.IconvLiteEncoderStream,or.IconvLiteDecoderStream=r.IconvLiteDecoderStream,or.encodeStream=function(s,i){return new or.IconvLiteEncoderStream(or.getEncoder(s,i),i)},or.decodeStream=function(s,i){return new or.IconvLiteDecoderStream(or.getDecoder(s,i),i)},or.supportsStreams=!0}};var kV;try{kV=require("stream")}catch{}kV&&kV.Transform?or.enableStreamingAPI(kV):or.encodeStream=or.decodeStream=function(){throw new Error("iconv-lite Streaming API is not enabled. Use iconv.enableStreamingAPI(require('stream')); to enable it.")}});var bOt=S((Lms,BV)=>{var TOt=TOt||function(e){return Buffer.from(e).toString("base64")};function GJr(e){var t=this,r=Math.round,n=Math.floor,s=new Array(64),i=new Array(64),a=new Array(64),o=new Array(64),c,u,l,d,f=new Array(65535),h=new Array(65535),p=new Array(64),m=new Array(64),g=[],_=0,y=7,E=new Array(64),A=new Array(64),v=new Array(64),T=new Array(256),C=new Array(2048),b,x=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],w=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],P=[0,1,2,3,4,5,6,7,8,9,10,11],M=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],L=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],U=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],Y=[0,1,2,3,4,5,6,7,8,9,10,11],$=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],V=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function W(X){for(var ce=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],me=0;me<64;me++){var be=n((ce[me]*X+50)/100);be<1?be=1:be>255&&(be=255),s[x[me]]=be}for(var Ne=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],De=0;De<64;De++){var je=n((Ne[De]*X+50)/100);je<1?je=1:je>255&&(je=255),i[x[De]]=je}for(var Ae=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],ge=0,Ee=0;Ee<8;Ee++)for(var _e=0;_e<8;_e++)a[ge]=1/(s[x[ge]]*Ae[Ee]*Ae[_e]*8),o[ge]=1/(i[x[ge]]*Ae[Ee]*Ae[_e]*8),ge++}function G(X,ce){for(var me=0,be=0,Ne=new Array,De=1;De<=16;De++){for(var je=1;je<=X[De];je++)Ne[ce[be]]=[],Ne[ce[be]][0]=me,Ne[ce[be]][1]=De,be++,me++;me*=2}return Ne}function se(){c=G(w,P),u=G(U,Y),l=G(M,L),d=G($,V)}function ue(){for(var X=1,ce=2,me=1;me<=15;me++){for(var be=X;be>0]=38470*X,C[X+512>>0]=7471*X+32768,C[X+768>>0]=-11059*X,C[X+1024>>0]=-21709*X,C[X+1280>>0]=32768*X+8421375,C[X+1536>>0]=-27439*X,C[X+1792>>0]=-5329*X}function Q(X){for(var ce=X[0],me=X[1]-1;me>=0;)ce&1<>8&255),ee(X&255)}function B(X,ce){var me,be,Ne,De,je,Ae,ge,Ee,_e=0,ve,Re=8,Me=64;for(ve=0;ve0?by+.5|0:by-.5|0;return p}function k(){de(65504),de(16),ee(74),ee(70),ee(73),ee(70),ee(0),ee(1),ee(1),ee(0),de(1),de(1),ee(0),ee(0)}function J(X){if(X){de(65505),X[0]===69&&X[1]===120&&X[2]===105&&X[3]===102?de(X.length+2):(de(X.length+5+2),ee(69),ee(120),ee(105),ee(102),ee(0));for(var ce=0;ce"u"||X.constructor!==Array||X.forEach(ce=>{if(typeof ce=="string"){de(65534);var me=ce.length;de(me+2);var be;for(be=0;be0&&m[Ce]==0;Ce--);if(Ce==0)return Q(De),me;for(var $e=1,Qe;$e<=Ce;){for(var Ue=$e;m[$e]==0&&$e<=Ce;++$e);var ze=$e-Ue;if(ze>=ge){Qe=ze>>4;for(var Ot=1;Ot<=Qe;++Ot)Q(je);ze=ze&15}Ae=32767+m[$e],Q(Ne[(ze<<4)+h[Ae]]),Q(f[Ae]),$e++}return Ce!=Ee&&Q(De),me}function ae(){for(var X=String.fromCharCode,ce=0;ce<256;ce++)T[ce]=X(ce)}this.encode=function(X,ce){var me=new Date().getTime();ce&&ne(ce),g=new Array,_=0,y=7,de(65496),k(),q(X.comments),J(X.exifBuffer),H(),D(X.width,X.height),K(),z();var be=0,Ne=0,De=0;_=0,y=7,this.encode.displayName="_encode_";for(var je=X.data,Ae=X.width,ge=X.height,Ee=Ae*4,_e=Ae*3,ve,Re=0,Me,Ce,$e,Qe,Ue,ze,Ot,We;Re>3,ze=(We&7)*4,Ue=Qe+Ot*Ee+ze,Re+Ot>=ge&&(Ue-=Ee*(Re+1+Ot-ge)),ve+ze>=Ee&&(Ue-=ve+ze-Ee+4),Me=je[Ue++],Ce=je[Ue++],$e=je[Ue++],E[We]=(C[Me]+C[Ce+256>>0]+C[$e+512>>0]>>16)-128,A[We]=(C[Me+768>>0]+C[Ce+1024>>0]+C[$e+1280>>0]>>16)-128,v[We]=(C[Me+1280>>0]+C[Ce+1536>>0]+C[$e+1792>>0]>>16)-128;be=Z(E,a,be,c,l),Ne=Z(A,o,Ne,u,d),De=Z(v,o,De,u,d),ve+=32}Re+=8}if(y>=0){var ht=[];ht[1]=y+1,ht[0]=(1<"u")return new Uint8Array(g);return Buffer.from(g);var At,Et};function ne(X){if(X<=0&&(X=1),X>100&&(X=100),b!=X){var ce=0;X<50?ce=Math.floor(5e3/X):ce=Math.floor(200-X*2),W(ce),b=X}}function ie(){var X=new Date().getTime();e||(e=50),ae(),se(),ue(),te(),ne(e);var ce=new Date().getTime()-X}ie()}typeof BV<"u"?BV.exports=SOt:typeof window<"u"&&(window["jpeg-js"]=window["jpeg-js"]||{},window["jpeg-js"].encode=SOt);function SOt(e,t){typeof t>"u"&&(t=50);var r=new GJr(t),n=r.encode(e,t);return{data:n,width:e.width,height:e.height}}});var ROt=S((Mms,_Te)=>{var gTe=function(){"use strict";var t=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),r=4017,n=799,s=3406,i=2276,a=1567,o=3784,c=5793,u=2896;function l(){}function d(y,E){for(var A=0,v=[],T,C,b=16;b>0&&!y[b-1];)b--;v.push({children:[],index:0});var x=v[0],w;for(T=0;T0;){if(v.length===0)throw new Error("Could not recreate Huffman Table");x=v.pop()}for(x.index++,v.push(x);v.length<=T;)v.push(w={children:[],index:0}),x.children[x.index]=w.children,x=w;A++}T+10)return ue--,se>>ue&1;if(se=y[E++],se==255){var _e=y[E++];if(_e)throw new Error("unexpected marker: "+(se<<8|_e).toString(16))}return ue=7,se>>>7}function Q(_e){for(var ve=_e,Re;(Re=te())!==null;){if(ve=ve[Re],typeof ve=="number")return ve;if(typeof ve!="object")throw new Error("invalid huffman sequence")}return null}function ee(_e){for(var ve=0;_e>0;){var Re=te();if(Re===null)return;ve=ve<<1|Re,_e--}return ve}function de(_e){var ve=ee(_e);return ve>=1<<_e-1?ve:ve+(-1<<_e)+1}function B(_e,ve){var Re=Q(_e.huffmanTableDC),Me=Re===0?0:de(Re);ve[0]=_e.pred+=Me;for(var Ce=1;Ce<64;){var $e=Q(_e.huffmanTableAC),Qe=$e&15,Ue=$e>>4;if(Qe===0){if(Ue<15)break;Ce+=16;continue}Ce+=Ue;var ze=t[Ce];ve[ze]=de(Qe),Ce++}}function k(_e,ve){var Re=Q(_e.huffmanTableDC),Me=Re===0?0:de(Re)<0){D--;return}for(var Re=C,Me=b;Re<=Me;){var Ce=Q(_e.huffmanTableAC),$e=Ce&15,Qe=Ce>>4;if($e===0){if(Qe<15){D=ee(Qe)+(1<>4;if(ze===0)Ce<15?(D=ee(Ce)+(1<=65488&&je<=65495)E+=2;else break}return E-G}function h(y,E){var A=[],v=E.blocksPerLine,T=E.blocksPerColumn,C=v<<3,b=new Int32Array(64),x=new Uint8Array(64);function w(G,se,ue){var te=E.quantizationTable,Q,ee,de,B,k,J,D,H,K,q=ue,z;for(z=0;z<64;z++)q[z]=G[z]*te[z];for(z=0;z<8;++z){var Z=8*z;if(q[1+Z]==0&&q[2+Z]==0&&q[3+Z]==0&&q[4+Z]==0&&q[5+Z]==0&&q[6+Z]==0&&q[7+Z]==0){K=c*q[0+Z]+512>>10,q[0+Z]=K,q[1+Z]=K,q[2+Z]=K,q[3+Z]=K,q[4+Z]=K,q[5+Z]=K,q[6+Z]=K,q[7+Z]=K;continue}Q=c*q[0+Z]+128>>8,ee=c*q[4+Z]+128>>8,de=q[2+Z],B=q[6+Z],k=u*(q[1+Z]-q[7+Z])+128>>8,H=u*(q[1+Z]+q[7+Z])+128>>8,J=q[3+Z]<<4,D=q[5+Z]<<4,K=Q-ee+1>>1,Q=Q+ee+1>>1,ee=K,K=de*o+B*a+128>>8,de=de*a-B*o+128>>8,B=K,K=k-D+1>>1,k=k+D+1>>1,D=K,K=H+J+1>>1,J=H-J+1>>1,H=K,K=Q-B+1>>1,Q=Q+B+1>>1,B=K,K=ee-de+1>>1,ee=ee+de+1>>1,de=K,K=k*i+H*s+2048>>12,k=k*s-H*i+2048>>12,H=K,K=J*n+D*r+2048>>12,J=J*r-D*n+2048>>12,D=K,q[0+Z]=Q+H,q[7+Z]=Q-H,q[1+Z]=ee+D,q[6+Z]=ee-D,q[2+Z]=de+J,q[5+Z]=de-J,q[3+Z]=B+k,q[4+Z]=B-k}for(z=0;z<8;++z){var ae=z;if(q[8+ae]==0&&q[16+ae]==0&&q[24+ae]==0&&q[32+ae]==0&&q[40+ae]==0&&q[48+ae]==0&&q[56+ae]==0){K=c*ue[z+0]+8192>>14,q[0+ae]=K,q[8+ae]=K,q[16+ae]=K,q[24+ae]=K,q[32+ae]=K,q[40+ae]=K,q[48+ae]=K,q[56+ae]=K;continue}Q=c*q[0+ae]+2048>>12,ee=c*q[32+ae]+2048>>12,de=q[16+ae],B=q[48+ae],k=u*(q[8+ae]-q[56+ae])+2048>>12,H=u*(q[8+ae]+q[56+ae])+2048>>12,J=q[24+ae],D=q[40+ae],K=Q-ee+1>>1,Q=Q+ee+1>>1,ee=K,K=de*o+B*a+2048>>12,de=de*a-B*o+2048>>12,B=K,K=k-D+1>>1,k=k+D+1>>1,D=K,K=H+J+1>>1,J=H-J+1>>1,H=K,K=Q-B+1>>1,Q=Q+B+1>>1,B=K,K=ee-de+1>>1,ee=ee+de+1>>1,de=K,K=k*i+H*s+2048>>12,k=k*s-H*i+2048>>12,H=K,K=J*n+D*r+2048>>12,J=J*r-D*n+2048>>12,D=K,q[0+ae]=Q+H,q[56+ae]=Q-H,q[8+ae]=ee+D,q[48+ae]=ee-D,q[16+ae]=de+J,q[40+ae]=de-J,q[24+ae]=B+k,q[32+ae]=B-k}for(z=0;z<64;++z){var ne=128+(q[z]+8>>4);se[z]=ne<0?0:ne>255?255:ne}}_(C*T*8);for(var P,M,L=0;L255?255:y}l.prototype={load:function(E){var A=new XMLHttpRequest;A.open("GET",E,!0),A.responseType="arraybuffer",A.onload=function(){var v=new Uint8Array(A.response||A.mozResponseArrayBuffer);this.parse(v),this.onload&&this.onload()}.bind(this),A.send(null)},parse:function(E){var A=this.opts.maxResolutionInMP*1e3*1e3,v=0,T=E.length;function C(){var Ue=E[v]<<8|E[v+1];return v+=2,Ue}function b(){var Ue=C(),ze=E.subarray(v,v+Ue-2);return v+=ze.length,ze}function x(Ue){var ze=1,Ot=1,We,ht;for(ht in Ue.components)Ue.components.hasOwnProperty(ht)&&(We=Ue.components[ht],ze>4)if(J>>4===1)for(te=0;te<64;te++){var H=t[te];D[H]=C()}else throw new Error("DQT: invalid table spec");else for(te=0;te<64;te++){var H=t[te];D[H]=E[v++]}Y[J&15]=D}break;case 65472:case 65473:case 65474:C(),L={},L.extended=G===65473,L.progressive=G===65474,L.precision=E[v++],L.scanLines=C(),L.samplesPerLine=C(),L.components={},L.componentsOrder=[];var K=L.scanLines*L.samplesPerLine;if(K>A){var q=Math.ceil((K-A)/1e6);throw new Error(`maxResolutionInMP limit exceeded by ${q}MP`)}var z=E[v++],Z,ae=0,ne=0;for(ue=0;ue>4,X=E[v+1]&15,ce=E[v+2];if(ie<=0||X<=0)throw new Error("Invalid sampling factor, expected values above 0");L.componentsOrder.push(Z),L.components[Z]={h:ie,v:X,quantizationIdx:ce},v+=3}x(L),$.push(L);break;case 65476:var me=C();for(ue=2;ue>4?V:W)[be&15]=d(Ne,je)}break;case 65501:C(),U=C();break;case 65500:C(),C();break;case 65498:var Ae=C(),ge=E[v++],Ee=[],_e;for(ue=0;ue>4],_e.huffmanTableAC=V[ve&15],Ee.push(_e)}var Re=E[v++],Me=E[v++],Ce=E[v++],$e=f(E,v,L,Ee,U,Re,Me,Ce>>4,Ce&15,this.opts);v+=$e;break;case 65535:E[v]!==255&&v--;break;default:if(E[v-3]==255&&E[v-2]>=192&&E[v-2]<=254){v-=3;break}else if(G===224||G==225){if(se!==-1)throw new Error(`first unknown JPEG marker at offset ${se.toString(16)}, second unknown JPEG marker ${G.toString(16)} at offset ${(v-1).toString(16)}`);se=v-1;let Ue=C();if(E[v+Ue-2]===255){v+=Ue-2;break}}throw new Error("unknown JPEG marker "+G.toString(16))}G=C()}if($.length!=1)throw new Error("only single frame JPEGs supported");for(var ue=0;ue<$.length;ue++){var Qe=$[ue].components;for(var te in Qe)Qe[te].quantizationTable=Y[Qe[te].quantizationIdx],delete Qe[te].quantizationIdx}this.width=L.samplesPerLine,this.height=L.scanLines,this.jfif=w,this.adobe=P,this.components=[];for(var ue=0;ueg){var A=Math.ceil((E-g)/1024/1024);throw new Error(`maxMemoryUsageInMB limit exceeded by at least ${A}MB`)}m=E}return l.resetMaxMemoryUsage=function(y){m=0,g=y},l.getBytesAllocated=function(){return m},l.requestMemoryAllocation=_,l}();typeof _Te<"u"?_Te.exports=IOt:typeof window<"u"&&(window["jpeg-js"]=window["jpeg-js"]||{},window["jpeg-js"].decode=IOt);function IOt(e,t={}){var r={colorTransform:void 0,useTArray:!1,formatAsRGBA:!0,tolerantDecoding:!0,maxResolutionInMP:100,maxMemoryUsageInMB:512},n={...r,...t},s=new Uint8Array(e),i=new gTe;i.opts=n,gTe.resetMaxMemoryUsage(n.maxMemoryUsageInMB*1024*1024),i.parse(s);var a=n.formatAsRGBA?4:3,o=i.width*i.height*a;try{gTe.requestMemoryAllocation(o);var c={width:i.width,height:i.height,exifBuffer:i.exifBuffer,data:n.useTArray?new Uint8Array(o):Buffer.alloc(o)};i.comments.length>0&&(c.comments=i.comments)}catch(u){throw u instanceof RangeError?new Error("Could not allocate enough memory for the image. Required: "+o):u instanceof ReferenceError&&u.message==="Buffer is not defined"?new Error("Buffer is not globally defined in this environment. Consider setting useTArray to true"):u}return i.copyToImageData(c,n.formatAsRGBA),c}});var xOt=S((kms,COt)=>{var YJr=bOt(),QJr=ROt();COt.exports={encode:YJr,decode:QJr}});var NOt=S((Bms,wOt)=>{wOt.exports=require("util").inspect});var Ok=S((Ums,WOt)=>{var CTe=typeof Map=="function"&&Map.prototype,ATe=Object.getOwnPropertyDescriptor&&CTe?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,FV=CTe&&ATe&&typeof ATe.get=="function"?ATe.get:null,OOt=CTe&&Map.prototype.forEach,xTe=typeof Set=="function"&&Set.prototype,ETe=Object.getOwnPropertyDescriptor&&xTe?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,$V=xTe&&ETe&&typeof ETe.get=="function"?ETe.get:null,DOt=xTe&&Set.prototype.forEach,zJr=typeof WeakMap=="function"&&WeakMap.prototype,xk=zJr?WeakMap.prototype.has:null,WJr=typeof WeakSet=="function"&&WeakSet.prototype,wk=WJr?WeakSet.prototype.has:null,XJr=typeof WeakRef=="function"&&WeakRef.prototype,POt=XJr?WeakRef.prototype.deref:null,JJr=Boolean.prototype.valueOf,ZJr=Object.prototype.toString,eZr=Function.prototype.toString,tZr=String.prototype.match,wTe=String.prototype.slice,iE=String.prototype.replace,rZr=String.prototype.toUpperCase,LOt=String.prototype.toLowerCase,VOt=RegExp.prototype.test,MOt=Array.prototype.concat,qh=Array.prototype.join,nZr=Array.prototype.slice,kOt=Math.floor,STe=typeof BigInt=="function"?BigInt.prototype.valueOf:null,yTe=Object.getOwnPropertySymbols,TTe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,CC=typeof Symbol=="function"&&typeof Symbol.iterator=="object",Nk=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===CC||!0)?Symbol.toStringTag:null,jOt=Object.prototype.propertyIsEnumerable,BOt=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function UOt(e,t){if(e===1/0||e===-1/0||e!==e||e&&e>-1e3&&e<1e3||VOt.call(/e/,t))return t;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof e=="number"){var n=e<0?-kOt(-e):kOt(e);if(n!==e){var s=String(n),i=wTe.call(t,s.length+1);return iE.call(s,r,"$&_")+"."+iE.call(iE.call(i,/([0-9]{3})/g,"$&_"),/_$/,"")}}return iE.call(t,r,"$&_")}var bTe=NOt(),FOt=bTe.custom,$Ot=YOt(FOt)?FOt:null,KOt={__proto__:null,double:'"',single:"'"},sZr={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};WOt.exports=function e(t,r,n,s){var i=r||{};if(yg(i,"quoteStyle")&&!yg(KOt,i.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(yg(i,"maxStringLength")&&(typeof i.maxStringLength=="number"?i.maxStringLength<0&&i.maxStringLength!==1/0:i.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var a=yg(i,"customInspect")?i.customInspect:!0;if(typeof a!="boolean"&&a!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(yg(i,"indent")&&i.indent!==null&&i.indent!==" "&&!(parseInt(i.indent,10)===i.indent&&i.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(yg(i,"numericSeparator")&&typeof i.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var o=i.numericSeparator;if(typeof t>"u")return"undefined";if(t===null)return"null";if(typeof t=="boolean")return t?"true":"false";if(typeof t=="string")return zOt(t,i);if(typeof t=="number"){if(t===0)return 1/0/t>0?"0":"-0";var c=String(t);return o?UOt(t,c):c}if(typeof t=="bigint"){var u=String(t)+"n";return o?UOt(t,u):u}var l=typeof i.depth>"u"?5:i.depth;if(typeof n>"u"&&(n=0),n>=l&&l>0&&typeof t=="object")return ITe(t)?"[Array]":"[Object]";var d=SZr(i,n);if(typeof s>"u")s=[];else if(QOt(s,t)>=0)return"[Circular]";function f(L,U,Y){if(U&&(s=nZr.call(s),s.push(U)),Y){var $={depth:i.depth};return yg(i,"quoteStyle")&&($.quoteStyle=i.quoteStyle),e(L,$,n+1,s)}return e(L,i,n+1,s)}if(typeof t=="function"&&!qOt(t)){var h=hZr(t),p=UV(t,f);return"[Function"+(h?": "+h:" (anonymous)")+"]"+(p.length>0?" { "+qh.call(p,", ")+" }":"")}if(YOt(t)){var m=CC?iE.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):TTe.call(t);return typeof t=="object"&&!CC?Ck(m):m}if(EZr(t)){for(var g="<"+LOt.call(String(t.nodeName)),_=t.attributes||[],y=0;y<_.length;y++)g+=" "+_[y].name+"="+GOt(iZr(_[y].value),"double",i);return g+=">",t.childNodes&&t.childNodes.length&&(g+="..."),g+="",g}if(ITe(t)){if(t.length===0)return"[]";var E=UV(t,f);return d&&!vZr(E)?"["+RTe(E,d)+"]":"[ "+qh.call(E,", ")+" ]"}if(oZr(t)){var A=UV(t,f);return!("cause"in Error.prototype)&&"cause"in t&&!jOt.call(t,"cause")?"{ ["+String(t)+"] "+qh.call(MOt.call("[cause]: "+f(t.cause),A),", ")+" }":A.length===0?"["+String(t)+"]":"{ ["+String(t)+"] "+qh.call(A,", ")+" }"}if(typeof t=="object"&&a){if($Ot&&typeof t[$Ot]=="function"&&bTe)return bTe(t,{depth:l-n});if(a!=="symbol"&&typeof t.inspect=="function")return t.inspect()}if(pZr(t)){var v=[];return OOt&&OOt.call(t,function(L,U){v.push(f(U,t,!0)+" => "+f(L,t))}),HOt("Map",FV.call(t),v,d)}if(_Zr(t)){var T=[];return DOt&&DOt.call(t,function(L){T.push(f(L,t))}),HOt("Set",$V.call(t),T,d)}if(mZr(t))return vTe("WeakMap");if(AZr(t))return vTe("WeakSet");if(gZr(t))return vTe("WeakRef");if(uZr(t))return Ck(f(Number(t)));if(dZr(t))return Ck(f(STe.call(t)));if(lZr(t))return Ck(JJr.call(t));if(cZr(t))return Ck(f(String(t)));if(typeof window<"u"&&t===window)return"{ [object Window] }";if(typeof globalThis<"u"&&t===globalThis||typeof global<"u"&&t===global)return"{ [object globalThis] }";if(!aZr(t)&&!qOt(t)){var C=UV(t,f),b=BOt?BOt(t)===Object.prototype:t instanceof Object||t.constructor===Object,x=t instanceof Object?"":"null prototype",w=!b&&Nk&&Object(t)===t&&Nk in t?wTe.call(aE(t),8,-1):x?"Object":"",P=b||typeof t.constructor!="function"?"":t.constructor.name?t.constructor.name+" ":"",M=P+(w||x?"["+qh.call(MOt.call([],w||[],x||[]),": ")+"] ":"");return C.length===0?M+"{}":d?M+"{"+RTe(C,d)+"}":M+"{ "+qh.call(C,", ")+" }"}return String(t)};function GOt(e,t,r){var n=r.quoteStyle||t,s=KOt[n];return s+e+s}function iZr(e){return iE.call(String(e),/"/g,""")}function ZS(e){return!Nk||!(typeof e=="object"&&(Nk in e||typeof e[Nk]<"u"))}function ITe(e){return aE(e)==="[object Array]"&&ZS(e)}function aZr(e){return aE(e)==="[object Date]"&&ZS(e)}function qOt(e){return aE(e)==="[object RegExp]"&&ZS(e)}function oZr(e){return aE(e)==="[object Error]"&&ZS(e)}function cZr(e){return aE(e)==="[object String]"&&ZS(e)}function uZr(e){return aE(e)==="[object Number]"&&ZS(e)}function lZr(e){return aE(e)==="[object Boolean]"&&ZS(e)}function YOt(e){if(CC)return e&&typeof e=="object"&&e instanceof Symbol;if(typeof e=="symbol")return!0;if(!e||typeof e!="object"||!TTe)return!1;try{return TTe.call(e),!0}catch{}return!1}function dZr(e){if(!e||typeof e!="object"||!STe)return!1;try{return STe.call(e),!0}catch{}return!1}var fZr=Object.prototype.hasOwnProperty||function(e){return e in this};function yg(e,t){return fZr.call(e,t)}function aE(e){return ZJr.call(e)}function hZr(e){if(e.name)return e.name;var t=tZr.call(eZr.call(e),/^function\s*([\w$]+)/);return t?t[1]:null}function QOt(e,t){if(e.indexOf)return e.indexOf(t);for(var r=0,n=e.length;rt.maxStringLength){var r=e.length-t.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return zOt(wTe.call(e,0,t.maxStringLength),t)+n}var s=sZr[t.quoteStyle||"single"];s.lastIndex=0;var i=iE.call(iE.call(e,s,"\\$1"),/[\x00-\x1f]/g,yZr);return GOt(i,"single",t)}function yZr(e){var t=e.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return r?"\\"+r:"\\x"+(t<16?"0":"")+rZr.call(t.toString(16))}function Ck(e){return"Object("+e+")"}function vTe(e){return e+" { ? }"}function HOt(e,t,r,n){var s=n?RTe(r,n):qh.call(r,", ");return e+" ("+t+") {"+s+"}"}function vZr(e){for(var t=0;t=0)return!1;return!0}function SZr(e,t){var r;if(e.indent===" ")r=" ";else if(typeof e.indent=="number"&&e.indent>0)r=qh.call(Array(e.indent+1)," ");else return null;return{base:r,prev:qh.call(Array(t+1),r)}}function RTe(e,t){if(e.length===0)return"";var r=` +`+t.prev+t.base;return r+qh.call(e,","+r)+` +`+t.prev}function UV(e,t){var r=ITe(e),n=[];if(r){n.length=e.length;for(var s=0;s{"use strict";var TZr=Ok(),bZr=oA(),qV=function(e,t,r){for(var n=e,s;(s=n.next)!=null;n=s)if(s.key===t)return n.next=s.next,r||(s.next=e.next,e.next=s),s},IZr=function(e,t){if(e){var r=qV(e,t);return r&&r.value}},RZr=function(e,t,r){var n=qV(e,t);n?n.value=r:e.next={key:t,next:e.next,value:r}},CZr=function(e,t){return e?!!qV(e,t):!1},xZr=function(e,t){if(e)return qV(e,t,!0)};XOt.exports=function(){var t,r={assert:function(n){if(!r.has(n))throw new bZr("Side channel does not contain "+TZr(n))},delete:function(n){var s=t&&t.next,i=xZr(t,n);return i&&s&&s===i&&(t=void 0),!!i},get:function(n){return IZr(t,n)},has:function(n){return CZr(t,n)},set:function(n,s){t||(t={next:void 0}),RZr(t,n,s)}};return r}});var NTe=S(($ms,tDt)=>{"use strict";var ZOt=i2(),eDt=Yoe(),wZr=eDt([ZOt("%String.prototype.indexOf%")]);tDt.exports=function(t,r){var n=ZOt(t,!!r);return typeof n=="function"&&wZr(t,".prototype.")>-1?eDt([n]):n}});var OTe=S((qms,nDt)=>{"use strict";var NZr=i2(),Dk=NTe(),OZr=Ok(),DZr=oA(),rDt=NZr("%Map%",!0),PZr=Dk("Map.prototype.get",!0),LZr=Dk("Map.prototype.set",!0),MZr=Dk("Map.prototype.has",!0),kZr=Dk("Map.prototype.delete",!0),BZr=Dk("Map.prototype.size",!0);nDt.exports=!!rDt&&function(){var t,r={assert:function(n){if(!r.has(n))throw new DZr("Side channel does not contain "+OZr(n))},delete:function(n){if(t){var s=kZr(t,n);return BZr(t)===0&&(t=void 0),s}return!1},get:function(n){if(t)return PZr(t,n)},has:function(n){return t?MZr(t,n):!1},set:function(n,s){t||(t=new rDt),LZr(t,n,s)}};return r}});var iDt=S((Hms,sDt)=>{"use strict";var UZr=i2(),VV=NTe(),FZr=Ok(),HV=OTe(),$Zr=oA(),xC=UZr("%WeakMap%",!0),qZr=VV("WeakMap.prototype.get",!0),HZr=VV("WeakMap.prototype.set",!0),VZr=VV("WeakMap.prototype.has",!0),jZr=VV("WeakMap.prototype.delete",!0);sDt.exports=xC?function(){var t,r,n={assert:function(s){if(!n.has(s))throw new $Zr("Side channel does not contain "+FZr(s))},delete:function(s){if(xC&&s&&(typeof s=="object"||typeof s=="function")){if(t)return jZr(t,s)}else if(HV&&r)return r.delete(s);return!1},get:function(s){return xC&&s&&(typeof s=="object"||typeof s=="function")&&t?qZr(t,s):r&&r.get(s)},has:function(s){return xC&&s&&(typeof s=="object"||typeof s=="function")&&t?VZr(t,s):!!r&&r.has(s)},set:function(s,i){xC&&s&&(typeof s=="object"||typeof s=="function")?(t||(t=new xC),HZr(t,s,i)):HV&&(r||(r=HV()),r.set(s,i))}};return n}:HV});var oDt=S((Vms,aDt)=>{"use strict";var KZr=oA(),GZr=Ok(),YZr=JOt(),QZr=OTe(),zZr=iDt(),WZr=zZr||QZr||YZr;aDt.exports=function(){var t,r={assert:function(n){if(!r.has(n))throw new KZr("Side channel does not contain "+GZr(n))},delete:function(n){return!!t&&t.delete(n)},get:function(n){return t&&t.get(n)},has:function(n){return!!t&&t.has(n)},set:function(n,s){t||(t=WZr()),t.set(n,s)}};return r}});var jV=S((jms,cDt)=>{"use strict";var XZr=String.prototype.replace,JZr=/%20/g,DTe={RFC1738:"RFC1738",RFC3986:"RFC3986"};cDt.exports={default:DTe.RFC3986,formatters:{RFC1738:function(e){return XZr.call(e,JZr,"+")},RFC3986:function(e){return String(e)}},RFC1738:DTe.RFC1738,RFC3986:DTe.RFC3986}});var MTe=S((Kms,lDt)=>{"use strict";var ZZr=jV(),PTe=Object.prototype.hasOwnProperty,eT=Array.isArray,Hh=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),een=function(t){for(;t.length>1;){var r=t.pop(),n=r.obj[r.prop];if(eT(n)){for(var s=[],i=0;i=LTe?a.slice(c,c+LTe):a,l=[],d=0;d=48&&f<=57||f>=65&&f<=90||f>=97&&f<=122||i===ZZr.RFC1738&&(f===40||f===41)){l[l.length]=u.charAt(d);continue}if(f<128){l[l.length]=Hh[f];continue}if(f<2048){l[l.length]=Hh[192|f>>6]+Hh[128|f&63];continue}if(f<55296||f>=57344){l[l.length]=Hh[224|f>>12]+Hh[128|f>>6&63]+Hh[128|f&63];continue}d+=1,f=65536+((f&1023)<<10|u.charCodeAt(d)&1023),l[l.length]=Hh[240|f>>18]+Hh[128|f>>12&63]+Hh[128|f>>6&63]+Hh[128|f&63]}o+=l.join("")}return o},ien=function(t){for(var r=[{obj:{o:t},prop:"o"}],n=[],s=0;s{"use strict";var fDt=oDt(),KV=MTe(),Pk=jV(),len=Object.prototype.hasOwnProperty,hDt={brackets:function(t){return t+"[]"},comma:"comma",indices:function(t,r){return t+"["+r+"]"},repeat:function(t){return t}},Vh=Array.isArray,den=Array.prototype.push,pDt=function(e,t){den.apply(e,Vh(t)?t:[t])},fen=Date.prototype.toISOString,dDt=Pk.default,fa={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,commaRoundTrip:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:KV.encode,encodeValuesOnly:!1,filter:void 0,format:dDt,formatter:Pk.formatters[dDt],indices:!1,serializeDate:function(t){return fen.call(t)},skipNulls:!1,strictNullHandling:!1},hen=function(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||typeof t=="symbol"||typeof t=="bigint"},kTe={},pen=function e(t,r,n,s,i,a,o,c,u,l,d,f,h,p,m,g,_,y){for(var E=t,A=y,v=0,T=!1;(A=A.get(kTe))!==void 0&&!T;){var C=A.get(t);if(v+=1,typeof C<"u"){if(C===v)throw new RangeError("Cyclic object value");T=!0}typeof A.get(kTe)>"u"&&(v=0)}if(typeof l=="function"?E=l(r,E):E instanceof Date?E=h(E):n==="comma"&&Vh(E)&&(E=KV.maybeMap(E,function(se){return se instanceof Date?h(se):se})),E===null){if(a)return u&&!g?u(r,fa.encoder,_,"key",p):r;E=""}if(hen(E)||KV.isBuffer(E)){if(u){var b=g?r:u(r,fa.encoder,_,"key",p);return[m(b)+"="+m(u(E,fa.encoder,_,"value",p))]}return[m(r)+"="+m(String(E))]}var x=[];if(typeof E>"u")return x;var w;if(n==="comma"&&Vh(E))g&&u&&(E=KV.maybeMap(E,u)),w=[{value:E.length>0?E.join(",")||null:void 0}];else if(Vh(l))w=l;else{var P=Object.keys(E);w=d?P.sort(d):P}var M=c?String(r).replace(/\./g,"%2E"):String(r),L=s&&Vh(E)&&E.length===1?M+"[]":M;if(i&&Vh(E)&&E.length===0)return L+"[]";for(var U=0;U"u"?t.encodeDotInKeys===!0?!0:fa.allowDots:!!t.allowDots;return{addQueryPrefix:typeof t.addQueryPrefix=="boolean"?t.addQueryPrefix:fa.addQueryPrefix,allowDots:o,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:fa.allowEmptyArrays,arrayFormat:a,charset:r,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:fa.charsetSentinel,commaRoundTrip:!!t.commaRoundTrip,delimiter:typeof t.delimiter>"u"?fa.delimiter:t.delimiter,encode:typeof t.encode=="boolean"?t.encode:fa.encode,encodeDotInKeys:typeof t.encodeDotInKeys=="boolean"?t.encodeDotInKeys:fa.encodeDotInKeys,encoder:typeof t.encoder=="function"?t.encoder:fa.encoder,encodeValuesOnly:typeof t.encodeValuesOnly=="boolean"?t.encodeValuesOnly:fa.encodeValuesOnly,filter:i,format:n,formatter:s,serializeDate:typeof t.serializeDate=="function"?t.serializeDate:fa.serializeDate,skipNulls:typeof t.skipNulls=="boolean"?t.skipNulls:fa.skipNulls,sort:typeof t.sort=="function"?t.sort:null,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:fa.strictNullHandling}};mDt.exports=function(e,t){var r=e,n=men(t),s,i;typeof n.filter=="function"?(i=n.filter,r=i("",r)):Vh(n.filter)&&(i=n.filter,s=i);var a=[];if(typeof r!="object"||r===null)return"";var o=hDt[n.arrayFormat],c=o==="comma"&&n.commaRoundTrip;s||(s=Object.keys(r)),n.sort&&s.sort(n.sort);for(var u=fDt(),l=0;l0?p+h:""}});var yDt=S((Yms,EDt)=>{"use strict";var tT=MTe(),BTe=Object.prototype.hasOwnProperty,_Dt=Array.isArray,Ai={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:tT.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1,throwOnLimitExceeded:!1},gen=function(e){return e.replace(/&#(\d+);/g,function(t,r){return String.fromCharCode(parseInt(r,10))})},ADt=function(e,t,r){if(e&&typeof e=="string"&&t.comma&&e.indexOf(",")>-1)return e.split(",");if(t.throwOnLimitExceeded&&r>=t.arrayLimit)throw new RangeError("Array limit exceeded. Only "+t.arrayLimit+" element"+(t.arrayLimit===1?"":"s")+" allowed in an array.");return e},_en="utf8=%26%2310003%3B",Aen="utf8=%E2%9C%93",Een=function(t,r){var n={__proto__:null},s=r.ignoreQueryPrefix?t.replace(/^\?/,""):t;s=s.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var i=r.parameterLimit===1/0?void 0:r.parameterLimit,a=s.split(r.delimiter,r.throwOnLimitExceeded?i+1:i);if(r.throwOnLimitExceeded&&a.length>i)throw new RangeError("Parameter limit exceeded. Only "+i+" parameter"+(i===1?"":"s")+" allowed.");var o=-1,c,u=r.charset;if(r.charsetSentinel)for(c=0;c-1&&(p=_Dt(p)?[p]:p);var m=BTe.call(n,h);m&&r.duplicates==="combine"?n[h]=tT.combine(n[h],p):(!m||r.duplicates==="last")&&(n[h]=p)}return n},yen=function(e,t,r,n){var s=0;if(e.length>0&&e[e.length-1]==="[]"){var i=e.slice(0,-1).join("");s=Array.isArray(t)&&t[i]?t[i].length:0}for(var a=n?t:ADt(t,r,s),o=e.length-1;o>=0;--o){var c,u=e[o];if(u==="[]"&&r.parseArrays)c=r.allowEmptyArrays&&(a===""||r.strictNullHandling&&a===null)?[]:tT.combine([],a);else{c=r.plainObjects?{__proto__:null}:{};var l=u.charAt(0)==="["&&u.charAt(u.length-1)==="]"?u.slice(1,-1):u,d=r.decodeDotInKeys?l.replace(/%2E/g,"."):l,f=parseInt(d,10);!r.parseArrays&&d===""?c={0:a}:!isNaN(f)&&u!==d&&String(f)===d&&f>=0&&r.parseArrays&&f<=r.arrayLimit?(c=[],c[f]=a):d!=="__proto__"&&(c[d]=a)}a=c}return a},ven=function(t,r,n,s){if(t){var i=n.allowDots?t.replace(/\.([^.[]+)/g,"[$1]"):t,a=/(\[[^[\]]*])/,o=/(\[[^[\]]*])/g,c=n.depth>0&&a.exec(i),u=c?i.slice(0,c.index):i,l=[];if(u){if(!n.plainObjects&&BTe.call(Object.prototype,u)&&!n.allowPrototypes)return;l.push(u)}for(var d=0;n.depth>0&&(c=o.exec(i))!==null&&d"u"?Ai.charset:t.charset,n=typeof t.duplicates>"u"?Ai.duplicates:t.duplicates;if(n!=="combine"&&n!=="first"&&n!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var s=typeof t.allowDots>"u"?t.decodeDotInKeys===!0?!0:Ai.allowDots:!!t.allowDots;return{allowDots:s,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:Ai.allowEmptyArrays,allowPrototypes:typeof t.allowPrototypes=="boolean"?t.allowPrototypes:Ai.allowPrototypes,allowSparse:typeof t.allowSparse=="boolean"?t.allowSparse:Ai.allowSparse,arrayLimit:typeof t.arrayLimit=="number"?t.arrayLimit:Ai.arrayLimit,charset:r,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:Ai.charsetSentinel,comma:typeof t.comma=="boolean"?t.comma:Ai.comma,decodeDotInKeys:typeof t.decodeDotInKeys=="boolean"?t.decodeDotInKeys:Ai.decodeDotInKeys,decoder:typeof t.decoder=="function"?t.decoder:Ai.decoder,delimiter:typeof t.delimiter=="string"||tT.isRegExp(t.delimiter)?t.delimiter:Ai.delimiter,depth:typeof t.depth=="number"||t.depth===!1?+t.depth:Ai.depth,duplicates:n,ignoreQueryPrefix:t.ignoreQueryPrefix===!0,interpretNumericEntities:typeof t.interpretNumericEntities=="boolean"?t.interpretNumericEntities:Ai.interpretNumericEntities,parameterLimit:typeof t.parameterLimit=="number"?t.parameterLimit:Ai.parameterLimit,parseArrays:t.parseArrays!==!1,plainObjects:typeof t.plainObjects=="boolean"?t.plainObjects:Ai.plainObjects,strictDepth:typeof t.strictDepth=="boolean"?!!t.strictDepth:Ai.strictDepth,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:Ai.strictNullHandling,throwOnLimitExceeded:typeof t.throwOnLimitExceeded=="boolean"?t.throwOnLimitExceeded:!1}};EDt.exports=function(e,t){var r=Sen(t);if(e===""||e===null||typeof e>"u")return r.plainObjects?{__proto__:null}:{};for(var n=typeof e=="string"?Een(e,r):e,s=r.plainObjects?{__proto__:null}:{},i=Object.keys(n),a=0;a{"use strict";var Ten=gDt(),ben=yDt(),Ien=jV();vDt.exports={formats:Ien,parse:ben,stringify:Ten}});var UTe={};Bt(UTe,{default:()=>Ren,getPanEnabled:()=>rT,getPanName:()=>lt,getPans:()=>_o,publishPans:()=>oE});function _o(){let e=globalThis?.Pans;return Array.isArray(e)?e:[]}function lt(e){return e==="magnet"?"\u78C1\u529B":_o().find(r=>r?.key===e)?.name||e}function rT(e,t=_o()){let r=Array.isArray(t)?t:[];return e==="magnet"?r.some(s=>["magnet","magnet_guangya"].includes(s?.key)&&!!s?.enable):!!r.find(s=>s?.key===e)?.enable}function oE(e){let t=Array.isArray(e)?e:[];return globalThis.Pans=t,globalThis.getPanName=lt,globalThis.getPanEnabled=rT,t}var Ren,Bi=oe(()=>{Ren={getPans:_o,getPanName:lt,getPanEnabled:rT,publishPans:oE}});var JTe={};Bt(JTe,{IOS_UA:()=>sT,MAC_UA:()=>Ven,MOBILE_UA:()=>Fen,PC_UA:()=>$en,UA:()=>qen,UC_UA:()=>Hen,conversion:()=>Vu,delay:()=>tr,findBestLCS:()=>Qen,fixUrl:()=>Gen,formatPlayUrl:()=>Mk,formatPlayUrl2:()=>jen,getCookieArray:()=>n0,isEmpty:()=>XTe,jsonParse:()=>Yen,lcs:()=>xDt,rand:()=>nT,randDevice:()=>CDt,randDeviceWithId:()=>WTe,randMAC:()=>Uen,randStr:()=>ha,randUUID:()=>Ben,stripHtmlTag:()=>Ken});function nT(e,t){return Math.floor(Math.random()*(t-e+1))+e}function ha(e,t,r){var n="";let s=t===void 0?!0:t;for(var i=0;i|《|》/g,"").replace(/\$|#/g," ").trim()}function jen(e,t){var r=t.indexOf("$");return r<=0?Mk(e,t):Mk(e,t.substring(0,r))+t.substring(r)}function Ken(e){return e.replace(/<\/?[^>]+(>|$)/g,"").replace(/&.{1,5};/g,"").replace(/\s{2,}/g," ")}function Gen(e,t){try{if(t.startsWith("//")){let r=new URL(e);t.substring(2,t.indexOf("/",2)).includes(".")?t=r.protocol+":"+t:t=r.protocol+"://"+r.host+t.substring(1)}else if(!t.includes("://")){let r=new URL(e);t=r.protocol+"://"+r.host+t}}catch{}return t}function Yen(e,t){try{let r=t.url||"";if(r.startsWith("//")&&(r="https:"+r),!r.startsWith("http"))return{};let n=t.headers||{},s=(t["user-agent"]||"").trim();s.length>0&&(n["User-Agent"]=s);let i=(t.referer||"").trim();return i.length>0&&(n.Referer=i),{header:n,url:r}}catch{}return{}}function Vu(e){let t=e/1048576;return t>1024?`${(t/1024).toFixed(2)}GB`:`${parseInt(t).toFixed(0)}MB`}function XTe(e){return e==null?!0:typeof e=="string"||Array.isArray(e)?e.length===0:!1}function xDt(e,t){if(!e||!t)return{length:0,sequence:"",offset:0};for(var r="",n=e.length,s=t.length,i=new Array(n),a=0,o=0,c=0;ca&&(a=i[c][l],d=c-i[c][l]+1,o===d?r+=e[c]:(o=d,r="",r+=e.substr(o,c+1-o))));return{length:a,sequence:r,offset:d}}function Qen(e,t){let r=[],n=0;for(let i=0;ir[n].lcs.length&&(n=i)}let s=r[n];return{allLCS:r,bestMatch:s,bestMatchIndex:n}}function tr(e){return new Promise(t=>setTimeout(t,e))}var Lk,IDt,RDt,Fen,$en,qen,Hen,sT,Ven,n0,Cs=oe(()=>{Lk="abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789";IDt=["Huawei","Xiaomi"],RDt=[["MHA-AL00","HUAWEI Mate 9","MHA-TL00","HUAWEI Mate 9","LON-AL00","HUAWEI Mate 9 Pro","ALP-AL00","HUAWEI Mate 10","ALP-TL00","HUAWEI Mate 10","BLA-AL00","HUAWEI Mate 10 Pro","BLA-TL00","HUAWEI Mate 10 Pro","HMA-AL00","HUAWEI Mate 20","HMA-TL00","HUAWEI Mate 20","LYA-AL00","HUAWEI Mate 20 Pro","LYA-AL10","HUAWEI Mate 20 Pro","LYA-TL00","HUAWEI Mate 20 Pro","EVR-AL00","HUAWEI Mate 20 X","EVR-TL00","HUAWEI Mate 20 X","EVR-AN00","HUAWEI Mate 20 X","TAS-AL00","HUAWEI Mate 30","TAS-TL00","HUAWEI Mate 30","TAS-AN00","HUAWEI Mate 30","TAS-TN00","HUAWEI Mate 30","LIO-AL00","HUAWEI Mate 30 Pro","LIO-TL00","HUAWEI Mate 30 Pro","LIO-AN00","HUAWEI Mate 30 Pro","LIO-TN00","HUAWEI Mate 30 Pro","LIO-AN00m","HUAWEI Mate 30E Pro","OCE-AN10","HUAWEI Mate 40","OCE-AN50","HUAWEI Mate 40E","OCE-AL50","HUAWEI Mate 40E","NOH-AN00","HUAWEI Mate 40 Pro","NOH-AN01","HUAWEI Mate 40 Pro","NOH-AL00","HUAWEI Mate 40 Pro","NOH-AL10","HUAWEI Mate 40 Pro","NOH-AN50","HUAWEI Mate 40E Pro","NOP-AN00","HUAWEI Mate 40 Pro","CET-AL00","HUAWEI Mate 50","CET-AL60","HUAWEI Mate 50E","DCO-AL00","HUAWEI Mate 50 Pro","TAH-AN00","HUAWEI Mate X","TAH-AN00m","HUAWEI Mate Xs","TET-AN00","HUAWEI Mate X2","TET-AN10","HUAWEI Mate X2","TET-AN50","HUAWEI Mate X2","TET-AL00","HUAWEI Mate X2","PAL-AL00","HUAWEI Mate Xs 2","PAL-AL10","HUAWEI Mate Xs 2","EVA-AL00","HUAWEI P9","EVA-AL10","HUAWEI P9","EVA-TL00","HUAWEI P9","EVA-DL00","HUAWEI P9","EVA-CL00","HUAWEI P9","VIE-AL10","HUAWEI P9 Plus","VTR-AL00","HUAWEI P10","VTR-TL00","HUAWEI P10","VKY-AL00","HUAWEI P10 Plus","VKY-TL00","HUAWEI P10 Plus","EML-AL00","HUAWEI P20","EML-TL00","HUAWEI P20","CLT-AL00","HUAWEI P20 Pro","CLT-AL01","HUAWEI P20 Pro","CLT-AL00l","HUAWEI P20 Pro","CLT-TL00","HUAWEI P20 Pro","CLT-TL01","HUAWEI P20 Pro","ELE-AL00","HUAWEI P30","ELE-TL00","HUAWEI P30","VOG-AL00","HUAWEI P30 Pro","VOG-AL10","HUAWEI P30 Pro","VOG-TL00","HUAWEI P30 Pro","ANA-AL00","HUAWEI P40","ANA-AN00","HUAWEI P40","ANA-TN00","HUAWEI P40","ELS-AN00","HUAWEI P40 Pro","ELS-TN00","HUAWEI P40 Pro","ELS-AN10","HUAWEI P40 Pro","ELS-TN10","HUAWEI P40 Pro","ABR-AL00","HUAWEI P50","ABR-AL80","HUAWEI P50","ABR-AL60","HUAWEI P50E","ABR-AL90","HUAWEI P50E","JAD-AL00","HUAWEI P50 Pro","JAD-AL80","HUAWEI P50 Pro","JAD-AL50","HUAWEI P50 Pro","JAD-AL60","HUAWEI P50 Pro","BAL-AL00","HUAWEI P50 Pocket","BAL-AL60","HUAWEI Pocket S","PIC-AL00","HUAWEI nova 2","PIC-TL00","HUAWEI nova 2","BAC-AL00","HUAWEI nova 2 Plus","BAC-TL00","HUAWEI nova 2 Plus","HWI-AL00","HUAWEI nova 2s","HWI-TL00","HUAWEI nova 2s","ANE-AL00","HUAWEI nova 3e","ANE-TL00","HUAWEI nova 3e","PAR-AL00","HUAWEI nova 3","PAR-TL00","HUAWEI nova 3","INE-AL00","HUAWEI nova 3i","INE-TL00","HUAWEI nova 3i","VCE-AL00","HUAWEI nova 4","VCE-TL00","HUAWEI nova 4","MAR-AL00","HUAWEI nova 4e","MAR-TL00","HUAWEI nova 4e","SEA-AL00","HUAWEI nova 5","SEA-TL00","HUAWEI nova 5","SEA-AL10","HUAWEI nova 5 Pro","SEA-TL10","HUAWEI nova 5 Pro","GLK-AL00","HUAWEI nova 5i","GLK-TL00","HUAWEI nova 5i","GLK-LX1U","HUAWEI nova 5i","SPN-TL00","HUAWEI nova 5i Pro","SPN-AL00","HUAWEI nova 5z","WLZ-AL10","HUAWEI nova 6","WLZ-AN00","HUAWEI nova 6","JNY-AL10","HUAWEI nova 6 SE","JNY-TL10","HUAWEI nova 6 SE","JEF-AN00","HUAWEI nova 7","JEF-AN20","HUAWEI nova 7","JEF-TN00","HUAWEI nova 7","JEF-TN20","HUAWEI nova 7","JER-AN10","HUAWEI nova 7 Pro","JER-AN20","HUAWEI nova 7 Pro","JER-TN10","HUAWEI nova 7 Pro","JER-TN20","HUAWEI nova 7 Pro","CDY-AN00","HUAWEI nova 7 SE","CDY-AN20","HUAWEI nova 7 SE","CDY-TN00","HUAWEI nova 7 SE","CDY-TN20","HUAWEI nova 7 SE","ANG-AN00","HUAWEI nova 8","BRQ-AN00","HUAWEI nova 8 Pro","BRQ-AL00","HUAWEI nova 8 Pro","JSC-AN00","HUAWEI nova 8 SE","JSC-TN00","HUAWEI nova 8 SE","JSC-AL50","HUAWEI nova 8 SE","NAM-AL00","HUAWEI nova 9","RTE-AL00","HUAWEI nova 9 Pro","JLN-AL00","HUAWEI nova 9 SE","NCO-AL00","HUAWEI nova 10","GLA-AL00","HUAWEI nova 10 Pro","CHA-AL80","HUAWEI nova 10z"],["M2001J2C","Xiaomi 10","M2001J2G","Xiaomi 10","M2001J2I","Xiaomi 10","M2011K2C","Xiaomi 11","M2011K2G","Xiaomi 11","2201123C","Xiaomi 12","2201123G","Xiaomi 12","2112123AC","Xiaomi 12X","2112123AG","Xiaomi 12X","2201122C","Xiaomi 12 Pro","2201122G","Xiaomi 12 Pro"]];Fen="Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36",$en="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36",qen="Mozilla/5.0",Hen="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36",sT="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1",Ven="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0";n0=e=>e.map(t=>t.split(";")[0]+";")});var kk=S((ZTe,ebe)=>{(function(e,t){typeof ZTe=="object"&&typeof ebe<"u"?ebe.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs=t()})(ZTe,function(){"use strict";var e=1e3,t=6e4,r=36e5,n="millisecond",s="second",i="minute",a="hour",o="day",c="week",u="month",l="quarter",d="year",f="date",h="Invalid Date",p=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,m=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(M){var L=["th","st","nd","rd"],U=M%100;return"["+M+(L[(U-20)%10]||L[U]||L[0])+"]"}},_=function(M,L,U){var Y=String(M);return!Y||Y.length>=L?M:""+Array(L+1-Y.length).join(U)+M},y={s:_,z:function(M){var L=-M.utcOffset(),U=Math.abs(L),Y=Math.floor(U/60),$=U%60;return(L<=0?"+":"-")+_(Y,2,"0")+":"+_($,2,"0")},m:function M(L,U){if(L.date()1)return M(W[0])}else{var G=L.name;A[G]=L,$=G}return!Y&&$&&(E=$),$||!Y&&E},b=function(M,L){if(T(M))return M.clone();var U=typeof L=="object"?L:{};return U.date=M,U.args=arguments,new w(U)},x=y;x.l=C,x.i=T,x.w=function(M,L){return b(M,{locale:L.$L,utc:L.$u,x:L.$x,$offset:L.$offset})};var w=function(){function M(U){this.$L=C(U.locale,null,!0),this.parse(U),this.$x=this.$x||U.x||{},this[v]=!0}var L=M.prototype;return L.parse=function(U){this.$d=function(Y){var $=Y.date,V=Y.utc;if($===null)return new Date(NaN);if(x.u($))return new Date;if($ instanceof Date)return new Date($);if(typeof $=="string"&&!/Z$/i.test($)){var W=$.match(p);if(W){var G=W[2]-1||0,se=(W[7]||"0").substring(0,3);return V?new Date(Date.UTC(W[1],G,W[3]||1,W[4]||0,W[5]||0,W[6]||0,se)):new Date(W[1],G,W[3]||1,W[4]||0,W[5]||0,W[6]||0,se)}}return new Date($)}(U),this.init()},L.init=function(){var U=this.$d;this.$y=U.getFullYear(),this.$M=U.getMonth(),this.$D=U.getDate(),this.$W=U.getDay(),this.$H=U.getHours(),this.$m=U.getMinutes(),this.$s=U.getSeconds(),this.$ms=U.getMilliseconds()},L.$utils=function(){return x},L.isValid=function(){return this.$d.toString()!==h},L.isSame=function(U,Y){var $=b(U);return this.startOf(Y)<=$&&$<=this.endOf(Y)},L.isAfter=function(U,Y){return b(U){"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.getOptions=Ur.setOptions=Ur.hasOwnProp=Ur.formatDate=Ur.camelify=Ur.splitByCommaWithPreservingQuotes=Ur.trim=Ur.splitAt=Ur.tryCatch=Ur.byteSequenceToHex=Ur.hexToByteSequence=Ur.toNumber=Ur.INVALIDPLAYLIST=Ur.CONDITIONALPARAMCHECK=Ur.PARAMCHECK=Ur.CONDITIONALASSERT=Ur.ASSERT=Ur.THROW=void 0;var Bk={};function iT(e){if(!Bk.strictMode){Bk.silent||console.error(e.message);return}throw e}Ur.THROW=iT;function zen(e,...t){for(let[r,n]of t.entries())n||iT(new Error(`${e} : Failed at [${r}]`))}Ur.ASSERT=zen;function Wen(...e){for(let[t,[r,n]]of e.entries())r&&(n||iT(new Error(`Conditional Assert : Failed at [${t}]`)))}Ur.CONDITIONALASSERT=Wen;function Xen(...e){for(let[t,r]of e.entries())r===void 0&&iT(new Error(`Param Check : Failed at [${t}]`))}Ur.PARAMCHECK=Xen;function Jen(...e){for(let[t,[r,n]]of e.entries())r&&n===void 0&&iT(new Error(`Conditional Param Check : Failed at [${t}]`))}Ur.CONDITIONALPARAMCHECK=Jen;function Zen(e){iT(new Error(`Invalid Playlist : ${e}`))}Ur.INVALIDPLAYLIST=Zen;function wDt(e,t=10){if(typeof e=="number")return e;let r=t===10?Number.parseFloat(e):Number.parseInt(e,t);return Number.isNaN(r)?0:r}Ur.toNumber=wDt;function etn(e){(e.startsWith("0x")||e.startsWith("0X"))&&(e=e.slice(2));let t=[];for(let r=0;r{"use strict";var dtn=Wr&&Wr.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),ftn=Wr&&Wr.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),htn=Wr&&Wr.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&dtn(t,e,r);return ftn(t,e),t};Object.defineProperty(Wr,"__esModule",{value:!0});Wr.RenditionReport=Wr.PrefetchSegment=Wr.PartialSegment=Wr.Segment=Wr.MediaPlaylist=Wr.MasterPlaylist=Wr.Playlist=Wr.SpliceInfo=Wr.DateRange=Wr.MediaInitializationSection=Wr.Key=Wr.SessionData=Wr.Variant=Wr.Rendition=void 0;var Ji=htn(Uk()),tbe=class{constructor({type:t,uri:r,groupId:n,language:s,assocLanguage:i,name:a,isDefault:o,autoselect:c,forced:u,instreamId:l,characteristics:d,channels:f}){Ji.PARAMCHECK(t,n,a),Ji.CONDITIONALASSERT([t==="SUBTITLES",r],[t==="CLOSED-CAPTIONS",l],[t==="CLOSED-CAPTIONS",!r],[u,t==="SUBTITLES"]),this.type=t,this.uri=r,this.groupId=n,this.language=s,this.assocLanguage=i,this.name=a,this.isDefault=o,this.autoselect=c,this.forced=u,this.instreamId=l,this.characteristics=d,this.channels=f}};Wr.Rendition=tbe;var rbe=class{constructor({uri:t,isIFrameOnly:r=!1,bandwidth:n,averageBandwidth:s,score:i,codecs:a,resolution:o,frameRate:c,hdcpLevel:u,allowedCpc:l,videoRange:d,stableVariantId:f,programId:h,audio:p=[],video:m=[],subtitles:g=[],closedCaptions:_=[],currentRenditions:y={audio:0,video:0,subtitles:0,closedCaptions:0}}){Ji.PARAMCHECK(t,n),this.uri=t,this.isIFrameOnly=r,this.bandwidth=n,this.averageBandwidth=s,this.score=i,this.codecs=a,this.resolution=o,this.frameRate=c,this.hdcpLevel=u,this.allowedCpc=l,this.videoRange=d,this.stableVariantId=f,this.programId=h,this.audio=p,this.video=m,this.subtitles=g,this.closedCaptions=_,this.currentRenditions=y}};Wr.Variant=rbe;var nbe=class{constructor({id:t,value:r,uri:n,language:s}){Ji.PARAMCHECK(t,r||n),Ji.ASSERT("SessionData cannot have both value and uri, shoud be either.",!(r&&n)),this.id=t,this.value=r,this.uri=n,this.language=s}};Wr.SessionData=nbe;var sbe=class{constructor({method:t,uri:r,iv:n,format:s,formatVersion:i}){Ji.PARAMCHECK(t),Ji.CONDITIONALPARAMCHECK([t!=="NONE",r]),Ji.CONDITIONALASSERT([t==="NONE",!(r||n||s||i)]),this.method=t,this.uri=r,this.iv=n,this.format=s,this.formatVersion=i}};Wr.Key=sbe;var ibe=class{constructor({hint:t=!1,uri:r,mimeType:n,byterange:s}){Ji.PARAMCHECK(r),this.hint=t,this.uri=r,this.mimeType=n,this.byterange=s}};Wr.MediaInitializationSection=ibe;var abe=class{constructor({id:t,classId:r,start:n,end:s,duration:i,plannedDuration:a,endOnNext:o,attributes:c={}}){Ji.PARAMCHECK(t),Ji.CONDITIONALPARAMCHECK([o===!0,r]),Ji.CONDITIONALASSERT([s,n],[s,n<=s],[i,i>=0],[a,a>=0]),this.id=t,this.classId=r,this.start=n,this.end=s,this.duration=i,this.plannedDuration=a,this.endOnNext=o,this.attributes=c}};Wr.DateRange=abe;var obe=class{constructor({type:t,duration:r,tagName:n,value:s}){Ji.PARAMCHECK(t),Ji.CONDITIONALPARAMCHECK([t==="OUT",r]),Ji.CONDITIONALPARAMCHECK([t==="RAW",n]),this.type=t,this.duration=r,this.tagName=n,this.value=s}};Wr.SpliceInfo=obe;var OC=class{constructor(t){Ji.PARAMCHECK(t),this.type=t}},Fk=class extends OC{constructor({isMasterPlaylist:t,uri:r,version:n,independentSegments:s=!1,start:i,source:a}){super("playlist"),Ji.PARAMCHECK(t),this.isMasterPlaylist=t,this.uri=r,this.version=n,this.independentSegments=s,this.start=i,this.source=a}};Wr.Playlist=Fk;var cbe=class extends Fk{constructor(t={}){super({...t,isMasterPlaylist:!0});let{variants:r=[],currentVariant:n,sessionDataList:s=[],sessionKeyList:i=[]}=t;this.variants=r,this.currentVariant=n,this.sessionDataList=s,this.sessionKeyList=i}};Wr.MasterPlaylist=cbe;var ube=class extends Fk{constructor(t={}){super({...t,isMasterPlaylist:!1});let{targetDuration:r,mediaSequenceBase:n=0,discontinuitySequenceBase:s=0,endlist:i=!1,playlistType:a,isIFrame:o,segments:c=[],prefetchSegments:u=[],lowLatencyCompatibility:l,partTargetDuration:d,renditionReports:f=[],skip:h=0,hash:p}=t;this.targetDuration=r,this.mediaSequenceBase=n,this.discontinuitySequenceBase=s,this.endlist=i,this.playlistType=a,this.isIFrame=o,this.segments=c,this.prefetchSegments=u,this.lowLatencyCompatibility=l,this.partTargetDuration=d,this.renditionReports=f,this.skip=h,this.hash=p}};Wr.MediaPlaylist=ube;var lbe=class extends OC{constructor({uri:t,mimeType:r,data:n,duration:s,title:i,byterange:a,discontinuity:o,mediaSequenceNumber:c=0,discontinuitySequence:u=0,key:l,map:d,programDateTime:f,dateRange:h,markers:p=[],parts:m=[]}){super("segment"),this.uri=t,this.mimeType=r,this.data=n,this.duration=s,this.title=i,this.byterange=a,this.discontinuity=o,this.mediaSequenceNumber=c,this.discontinuitySequence=u,this.key=l,this.map=d,this.programDateTime=f,this.dateRange=h,this.markers=p,this.parts=m}};Wr.Segment=lbe;var dbe=class extends OC{constructor({hint:t=!1,uri:r,duration:n,independent:s,byterange:i,gap:a}){super("part"),Ji.PARAMCHECK(r),this.hint=t,this.uri=r,this.duration=n,this.independent=s,this.duration=n,this.byterange=i,this.gap=a}};Wr.PartialSegment=dbe;var fbe=class extends OC{constructor({uri:t,discontinuity:r,mediaSequenceNumber:n=0,discontinuitySequence:s=0,key:i}){super("prefetch"),Ji.PARAMCHECK(t),this.uri=t,this.discontinuity=r,this.mediaSequenceNumber=n,this.discontinuitySequence=s,this.key=i}};Wr.PrefetchSegment=fbe;var hbe=class{constructor({uri:t,lastMSN:r,lastPart:n}){Ji.PARAMCHECK(t),this.uri=t,this.lastMSN=r,this.lastPart=n}};Wr.RenditionReport=hbe});var BDt=S(Sg=>{"use strict";var ptn=Sg&&Sg.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),mtn=Sg&&Sg.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),gtn=Sg&&Sg.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&ptn(t,e,r);return mtn(t,e),t};Object.defineProperty(Sg,"__esModule",{value:!0});var rt=gtn(Uk()),Ua=pbe();function MDt(e){return rt.trim(e,'"')}function _tn(e){switch(e){case"EXTM3U":case"EXT-X-VERSION":return"Basic";case"EXTINF":case"EXT-X-BYTERANGE":case"EXT-X-DISCONTINUITY":case"EXT-X-PREFETCH-DISCONTINUITY":case"EXT-X-KEY":case"EXT-X-MAP":case"EXT-X-PROGRAM-DATE-TIME":case"EXT-X-DATERANGE":case"EXT-X-CUE-OUT":case"EXT-X-CUE-IN":case"EXT-X-CUE-OUT-CONT":case"EXT-X-CUE":case"EXT-OATCLS-SCTE35":case"EXT-X-ASSET":case"EXT-X-SCTE35":case"EXT-X-PART":case"EXT-X-PRELOAD-HINT":return"Segment";case"EXT-X-TARGETDURATION":case"EXT-X-MEDIA-SEQUENCE":case"EXT-X-DISCONTINUITY-SEQUENCE":case"EXT-X-ENDLIST":case"EXT-X-PLAYLIST-TYPE":case"EXT-X-I-FRAMES-ONLY":case"EXT-X-SERVER-CONTROL":case"EXT-X-PART-INF":case"EXT-X-PREFETCH":case"EXT-X-RENDITION-REPORT":case"EXT-X-SKIP":return"MediaPlaylist";case"EXT-X-MEDIA":case"EXT-X-STREAM-INF":case"EXT-X-I-FRAME-STREAM-INF":case"EXT-X-SESSION-DATA":case"EXT-X-SESSION-KEY":return"MasterPlaylist";case"EXT-X-INDEPENDENT-SEGMENTS":case"EXT-X-START":return"MediaorMasterPlaylist";default:return"Unknown"}}function Atn(e){let t=rt.splitAt(e,",");return{duration:rt.toNumber(t[0]),title:decodeURIComponent(escape(t[1]))}}function kDt(e){let t=rt.splitAt(e,"@");return{length:rt.toNumber(t[0]),offset:t[1]?rt.toNumber(t[1]):-1}}function Etn(e){let t=rt.splitAt(e,"x");return{width:rt.toNumber(t[0]),height:rt.toNumber(t[1])}}function ytn(e){let t="ALLOWED-CPC: Each entry must consit of KEYFORMAT and Content Protection Configuration",r=e.split(",");r.length===0&&rt.INVALIDPLAYLIST(t);let n=[];for(let s of r){let[i,a]=rt.splitAt(s,":");if(!i||!a){rt.INVALIDPLAYLIST(t);continue}n.push({format:i,cpcList:a.split("/")})}return n}function vtn(e){let t=rt.hexToByteSequence(e);return t.length!==16&&rt.INVALIDPLAYLIST("IV must be a 128-bit unsigned integer"),t}function Stn(e){return e.startsWith('"')?MDt(e):e.startsWith("0x")||e.startsWith("0X")?rt.hexToByteSequence(e):rt.toNumber(e)}function mbe(e,t){t.IV&&e.compatibleVersion<2&&(e.compatibleVersion=2),(t.KEYFORMAT||t.KEYFORMATVERSIONS)&&e.compatibleVersion<5&&(e.compatibleVersion=5)}function NDt(e){let t={};for(let r of rt.splitByCommaWithPreservingQuotes(e)){let[n,s]=rt.splitAt(r,"="),i=MDt(s);switch(n){case"URI":t[n]=i;break;case"START-DATE":case"END-DATE":t[n]=new Date(i);break;case"IV":t[n]=vtn(i);break;case"BYTERANGE":t[n]=kDt(i);break;case"RESOLUTION":t[n]=Etn(i);break;case"ALLOWED-CPC":t[n]=ytn(i);break;case"END-ON-NEXT":case"DEFAULT":case"AUTOSELECT":case"FORCED":case"PRECISE":case"CAN-BLOCK-RELOAD":case"INDEPENDENT":case"GAP":t[n]=i==="YES";break;case"DURATION":case"PLANNED-DURATION":case"BANDWIDTH":case"AVERAGE-BANDWIDTH":case"FRAME-RATE":case"TIME-OFFSET":case"CAN-SKIP-UNTIL":case"HOLD-BACK":case"PART-HOLD-BACK":case"PART-TARGET":case"BYTERANGE-START":case"BYTERANGE-LENGTH":case"LAST-MSN":case"LAST-PART":case"SKIPPED-SEGMENTS":case"SCORE":case"PROGRAM-ID":t[n]=rt.toNumber(i);break;default:n.startsWith("SCTE35-")?t[n]=rt.hexToByteSequence(i):n.startsWith("X-")?t[n]=Stn(s):(n==="VIDEO-RANGE"&&i!=="SDR"&&i!=="HLG"&&i!=="PQ"&&rt.INVALIDPLAYLIST(`VIDEO-RANGE: unknown value "${i}"`),t[n]=i)}}return t}function Ttn(e,t){switch(e){case"EXTM3U":case"EXT-X-DISCONTINUITY":case"EXT-X-ENDLIST":case"EXT-X-I-FRAMES-ONLY":case"EXT-X-INDEPENDENT-SEGMENTS":case"EXT-X-CUE-IN":return[null,null];case"EXT-X-VERSION":case"EXT-X-TARGETDURATION":case"EXT-X-MEDIA-SEQUENCE":case"EXT-X-DISCONTINUITY-SEQUENCE":return[rt.toNumber(t),null];case"EXT-X-CUE-OUT":return Number.isNaN(Number(t))?[null,NDt(t)]:[rt.toNumber(t),null];case"EXT-X-KEY":case"EXT-X-MAP":case"EXT-X-DATERANGE":case"EXT-X-MEDIA":case"EXT-X-STREAM-INF":case"EXT-X-I-FRAME-STREAM-INF":case"EXT-X-SESSION-DATA":case"EXT-X-SESSION-KEY":case"EXT-X-START":case"EXT-X-SERVER-CONTROL":case"EXT-X-PART-INF":case"EXT-X-PART":case"EXT-X-PRELOAD-HINT":case"EXT-X-RENDITION-REPORT":case"EXT-X-SKIP":return[null,NDt(t)];case"EXTINF":return[Atn(t),null];case"EXT-X-BYTERANGE":return[kDt(t),null];case"EXT-X-PROGRAM-DATE-TIME":return[new Date(t),null];case"EXT-X-PLAYLIST-TYPE":return[t,null];default:return[t,null]}}function ODt(){rt.INVALIDPLAYLIST("The file contains both media and master playlist tags.")}function btn(e){let t=e.indexOf(":");return t===-1?[e.slice(1).trim(),null]:[e.slice(1,t).trim(),e.slice(t+1).trim()]}function Itn({attributes:e}){return new Ua.Rendition({type:e.TYPE,uri:e.URI,groupId:e["GROUP-ID"],language:e.LANGUAGE,assocLanguage:e["ASSOC-LANGUAGE"],name:e.NAME,isDefault:e.DEFAULT,autoselect:e.AUTOSELECT,forced:e.FORCED,instreamId:e["INSTREAM-ID"],characteristics:e.CHARACTERISTICS,channels:e.CHANNELS})}function Rtn(e,t){let r=!1;for(let n of e){if(n.name===t.name)return"All EXT-X-MEDIA tags in the same Group MUST have different NAME attributes.";n.isDefault&&(r=!0)}return r&&t.isDefault?"EXT-X-MEDIA A Group MUST NOT have more than one member with a DEFAULT attribute of YES.":""}function Ctn(e,t,r){let n=Itn(t),s=e[rt.camelify(r)],i=Rtn(s,n);i&&rt.INVALIDPLAYLIST(i),s.push(n),n.isDefault&&(e.currentRenditions[rt.camelify(r)]=s.length-1)}function xtn(e,t,r){for(let n of["AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS"])n==="CLOSED-CAPTIONS"&&e[n]==="NONE"?(r.isClosedCaptionsNone=!0,t.closedCaptions=[]):e[n]&&!t[rt.camelify(n)].some(s=>s.groupId===e[n])&&rt.INVALIDPLAYLIST(`${n} attribute MUST match the value of the GROUP-ID attribute of an EXT-X-MEDIA tag whose TYPE attribute is ${n}.`)}function DDt(e,t,r,n,s){let i=new Ua.Variant({uri:r,bandwidth:t.BANDWIDTH,averageBandwidth:t["AVERAGE-BANDWIDTH"],score:t.SCORE,codecs:t.CODECS,resolution:t.RESOLUTION,frameRate:t["FRAME-RATE"],hdcpLevel:t["HDCP-LEVEL"],allowedCpc:t["ALLOWED-CPC"],videoRange:t["VIDEO-RANGE"],stableVariantId:t["STABLE-VARIANT-ID"],programId:t["PROGRAM-ID"]});for(let a of e)if(a.name==="EXT-X-MEDIA"){let o=a.attributes,c=o.TYPE;if((!c||!o["GROUP-ID"])&&rt.INVALIDPLAYLIST("EXT-X-MEDIA TYPE attribute is REQUIRED."),t[c]===o["GROUP-ID"]&&(Ctn(i,a,c),c==="CLOSED-CAPTIONS")){for(let{instreamId:u}of i.closedCaptions)if(u&&u.startsWith("SERVICE")&&s.compatibleVersion<7){s.compatibleVersion=7;break}}}return xtn(t,i,s),i.isIFrameOnly=n,i}function wtn(e,t){if(e.method!==t.method||e.uri!==t.uri)return!1;if(e.iv){if(!t.iv||e.iv.length!==t.iv.length)return!1;for(let r=0;ru.id===c.id&&u.language===c.language)&&rt.INVALIDPLAYLIST("A Playlist MUST NOT contain more than one EXT-X-SESSION-DATA tag with the same DATA-ID attribute and the same LANGUAGE attribute."),r.sessionDataList.push(c)}else if(i==="EXT-X-SESSION-KEY"){o.METHOD==="NONE"&&rt.INVALIDPLAYLIST("EXT-X-SESSION-KEY: The value of the METHOD attribute MUST NOT be NONE");let c=new Ua.Key({method:o.METHOD,uri:o.URI,iv:o.IV,format:o.KEYFORMAT,formatVersion:o.KEYFORMATVERSIONS});r.sessionKeyList.some(u=>wtn(u,c))&&rt.INVALIDPLAYLIST("A Master Playlist MUST NOT contain more than one EXT-X-SESSION-KEY tag with the same METHOD, URI, IV, KEYFORMAT, and KEYFORMATVERSIONS attribute values."),mbe(t,o),r.sessionKeyList.push(c)}else i==="EXT-X-INDEPENDENT-SEGMENTS"?(r.independentSegments&&rt.INVALIDPLAYLIST("EXT-X-INDEPENDENT-SEGMENTS tag MUST NOT appear more than once in a Playlist"),r.independentSegments=!0):i==="EXT-X-START"&&(r.start&&rt.INVALIDPLAYLIST("EXT-X-START tag MUST NOT appear more than once in a Playlist"),typeof o["TIME-OFFSET"]!="number"&&rt.INVALIDPLAYLIST("EXT-X-START: TIME-OFFSET attribute is REQUIRED"),r.start={offset:o["TIME-OFFSET"],precise:o.PRECISE||!1});if(n)for(let s of r.variants)typeof s.score!="number"&&rt.INVALIDPLAYLIST("If any Variant Stream contains the SCORE attribute, then all Variant Streams in the Master Playlist SHOULD have a SCORE attribute");if(t.isClosedCaptionsNone)for(let s of r.variants)s.closedCaptions.length>0&&rt.INVALIDPLAYLIST("If there is a variant with CLOSED-CAPTIONS attribute of NONE, all EXT-X-STREAM-INF tags MUST have this attribute with a value of NONE");return r}function PDt(e,t,r,n,s,i,a){let o=new Ua.Segment({uri:t,mediaSequenceNumber:s,discontinuitySequence:i}),c=!1,u=!1;for(let l=r;l<=n;l++){let{name:d,value:f,attributes:h}=e[l];if(d==="EXTINF")!Number.isInteger(f.duration)&&a.compatibleVersion<3&&(a.compatibleVersion=3),Math.round(f.duration)>a.targetDuration&&rt.INVALIDPLAYLIST("EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration"),o.duration=f.duration,o.title=f.title;else if(d==="EXT-X-BYTERANGE")a.compatibleVersion<4&&(a.compatibleVersion=4),o.byterange=f;else if(d==="EXT-X-DISCONTINUITY")o.parts.length>0&&rt.INVALIDPLAYLIST("EXT-X-DISCONTINUITY must appear before the first EXT-X-PART tag of the Parent Segment."),o.discontinuity=!0;else if(d==="EXT-X-KEY")o.parts.length>0&&rt.INVALIDPLAYLIST("EXT-X-KEY must appear before the first EXT-X-PART tag of the Parent Segment."),mbe(a,h),o.key=new Ua.Key({method:h.METHOD,uri:h.URI,iv:h.IV,format:h.KEYFORMAT,formatVersion:h.KEYFORMATVERSIONS});else if(d==="EXT-X-MAP")o.parts.length>0&&rt.INVALIDPLAYLIST("EXT-X-MAP must appear before the first EXT-X-PART tag of the Parent Segment."),a.compatibleVersion<5&&(a.compatibleVersion=5),a.hasMap=!0,o.map=new Ua.MediaInitializationSection({uri:h.URI,byterange:h.BYTERANGE});else if(d==="EXT-X-PROGRAM-DATE-TIME")o.programDateTime=f;else if(d==="EXT-X-DATERANGE"){let p={};for(let m of Object.keys(h))(m.startsWith("SCTE35-")||m.startsWith("X-"))&&(p[m]=h[m]);o.dateRange=new Ua.DateRange({id:h.ID,classId:h.CLASS,start:h["START-DATE"],end:h["END-DATE"],duration:h.DURATION,plannedDuration:h["PLANNED-DURATION"],endOnNext:h["END-ON-NEXT"],attributes:p})}else if(d==="EXT-X-CUE-OUT")o.markers.push(new Ua.SpliceInfo({type:"OUT",duration:h&&h.DURATION||f}));else if(d==="EXT-X-CUE-IN")o.markers.push(new Ua.SpliceInfo({type:"IN"}));else if(d==="EXT-X-CUE-OUT-CONT"||d==="EXT-X-CUE"||d==="EXT-OATCLS-SCTE35"||d==="EXT-X-ASSET"||d==="EXT-X-SCTE35")o.markers.push(new Ua.SpliceInfo({type:"RAW",tagName:d,value:f}));else if(d==="EXT-X-PRELOAD-HINT"&&!h.TYPE)rt.INVALIDPLAYLIST("EXT-X-PRELOAD-HINT: TYPE attribute is mandatory");else if(d==="EXT-X-PRELOAD-HINT"&&h.TYPE==="PART"&&u)rt.INVALIDPLAYLIST("Servers should not add more than one EXT-X-PRELOAD-HINT tag with the same TYPE attribute to a Playlist.");else if((d==="EXT-X-PART"||d==="EXT-X-PRELOAD-HINT")&&!h.URI)rt.INVALIDPLAYLIST("EXT-X-PART / EXT-X-PRELOAD-HINT: URI attribute is mandatory");else if(d==="EXT-X-PRELOAD-HINT"&&h.TYPE==="MAP")c&&rt.INVALIDPLAYLIST("Servers should not add more than one EXT-X-PRELOAD-HINT tag with the same TYPE attribute to a Playlist."),c=!0,a.hasMap=!0,o.map=new Ua.MediaInitializationSection({hint:!0,uri:h.URI,byterange:{length:h["BYTERANGE-LENGTH"],offset:h["BYTERANGE-START"]||0}});else if(d==="EXT-X-PART"||d==="EXT-X-PRELOAD-HINT"&&h.TYPE==="PART"){d==="EXT-X-PART"&&!h.DURATION&&rt.INVALIDPLAYLIST("EXT-X-PART: DURATION attribute is mandatory"),d==="EXT-X-PRELOAD-HINT"&&(u=!0);let p=new Ua.PartialSegment({hint:d==="EXT-X-PRELOAD-HINT",uri:h.URI,byterange:d==="EXT-X-PART"?h.BYTERANGE:{length:h["BYTERANGE-LENGTH"],offset:h["BYTERANGE-START"]||0},duration:h.DURATION,independent:h.INDEPENDENT,gap:h.GAP});o.parts.push(p)}}return o}function Otn(e,t,r,n,s,i,a){let o=new Ua.PrefetchSegment({uri:t,mediaSequenceNumber:s,discontinuitySequence:i});for(let c=r;c<=n;c++){let{name:u,attributes:l}=e[c];u==="EXTINF"?rt.INVALIDPLAYLIST("A prefetch segment must not be advertised with an EXTINF tag."):u==="EXT-X-DISCONTINUITY"?rt.INVALIDPLAYLIST("A prefetch segment must not be advertised with an EXT-X-DISCONTINUITY tag."):u==="EXT-X-PREFETCH-DISCONTINUITY"?o.discontinuity=!0:u==="EXT-X-KEY"?(mbe(a,l),o.key=new Ua.Key({method:l.METHOD,uri:l.URI,iv:l.IV,format:l.KEYFORMAT,formatVersion:l.KEYFORMATVERSIONS})):u==="EXT-X-MAP"&&rt.INVALIDPLAYLIST("Prefetch segments must not be advertised with an EXT-X-MAP tag.")}return o}function Dtn(e,t){let r=new Ua.MediaPlaylist,n=-1,s=0,i=!1,a=!1,o=0,c=null,u=null,l=!1;for(let[d,f]of e.entries()){let{name:h,value:p,attributes:m,category:g}=f;if(g==="Segment"){n===-1&&(n=d),h==="EXT-X-DISCONTINUITY"&&(i=!0);continue}if(h==="EXT-X-VERSION")r.version===void 0?r.version=p:rt.INVALIDPLAYLIST("A Playlist file MUST NOT contain more than one EXT-X-VERSION tag.");else if(h==="EXT-X-TARGETDURATION")r.targetDuration=t.targetDuration=p;else if(h==="EXT-X-MEDIA-SEQUENCE")r.segments.length>0&&rt.INVALIDPLAYLIST("The EXT-X-MEDIA-SEQUENCE tag MUST appear before the first Media Segment in the Playlist."),r.mediaSequenceBase=s=p;else if(h==="EXT-X-DISCONTINUITY-SEQUENCE")r.segments.length>0&&rt.INVALIDPLAYLIST("The EXT-X-DISCONTINUITY-SEQUENCE tag MUST appear before the first Media Segment in the Playlist."),i&&rt.INVALIDPLAYLIST("The EXT-X-DISCONTINUITY-SEQUENCE tag MUST appear before any EXT-X-DISCONTINUITY tag."),r.discontinuitySequenceBase=o=p;else if(h==="EXT-X-ENDLIST")r.endlist=!0;else if(h==="EXT-X-PLAYLIST-TYPE")r.playlistType=p;else if(h==="EXT-X-I-FRAMES-ONLY")t.compatibleVersion<4&&(t.compatibleVersion=4),r.isIFrame=!0;else if(h==="EXT-X-INDEPENDENT-SEGMENTS")r.independentSegments&&rt.INVALIDPLAYLIST("EXT-X-INDEPENDENT-SEGMENTS tag MUST NOT appear more than once in a Playlist"),r.independentSegments=!0;else if(h==="EXT-X-START")r.start&&rt.INVALIDPLAYLIST("EXT-X-START tag MUST NOT appear more than once in a Playlist"),typeof m["TIME-OFFSET"]!="number"&&rt.INVALIDPLAYLIST("EXT-X-START: TIME-OFFSET attribute is REQUIRED"),r.start={offset:m["TIME-OFFSET"],precise:m.PRECISE||!1};else if(h==="EXT-X-SERVER-CONTROL")m["CAN-BLOCK-RELOAD"]||rt.INVALIDPLAYLIST("EXT-X-SERVER-CONTROL: CAN-BLOCK-RELOAD=YES is mandatory for Low-Latency HLS"),r.lowLatencyCompatibility={canBlockReload:m["CAN-BLOCK-RELOAD"],canSkipUntil:m["CAN-SKIP-UNTIL"],holdBack:m["HOLD-BACK"],partHoldBack:m["PART-HOLD-BACK"]};else if(h==="EXT-X-PART-INF")m["PART-TARGET"]||rt.INVALIDPLAYLIST("EXT-X-PART-INF: PART-TARGET attribute is mandatory"),r.partTargetDuration=m["PART-TARGET"];else if(h==="EXT-X-RENDITION-REPORT")m.URI||rt.INVALIDPLAYLIST("EXT-X-RENDITION-REPORT: URI attribute is mandatory"),m.URI.search(/^[a-z]+:/)===0&&rt.INVALIDPLAYLIST("EXT-X-RENDITION-REPORT: URI must be relative to the playlist uri"),r.renditionReports.push(new Ua.RenditionReport({uri:m.URI,lastMSN:m["LAST-MSN"],lastPart:m["LAST-PART"]}));else if(h==="EXT-X-SKIP")m["SKIPPED-SEGMENTS"]||rt.INVALIDPLAYLIST("EXT-X-SKIP: SKIPPED-SEGMENTS attribute is mandatory"),t.compatibleVersion<9&&(t.compatibleVersion=9),r.skip=m["SKIPPED-SEGMENTS"],s+=r.skip;else if(h==="EXT-X-PREFETCH"){let _=Otn(e,p,n===-1?d:n,d-1,s++,o,t);_&&(_.discontinuity&&(_.discontinuitySequence++,o=_.discontinuitySequence),_.key?c=_.key:_.key=c,r.prefetchSegments.push(_)),a=!0,n=-1}else if(typeof f=="string"){n===-1&&rt.INVALIDPLAYLIST("A URI line is not preceded by any segment tags"),r.targetDuration||rt.INVALIDPLAYLIST("The EXT-X-TARGETDURATION tag is REQUIRED"),a&&rt.INVALIDPLAYLIST("These segments must appear after all complete segments.");let _=PDt(e,f,n,d-1,s++,o,t);_&&([o,c,u]=LDt(r,_,o,c,u),!l&&_.parts.length>0&&(l=!0)),n=-1}}if(n!==-1){let d=PDt(e,"",n,e.length-1,s++,o,t);if(d){let{parts:f}=d;f.length>0&&!r.endlist&&!f.at(-1)?.hint&&rt.INVALIDPLAYLIST("If the Playlist contains EXT-X-PART tags and does not contain an EXT-X-ENDLIST tag, the Playlist must contain an EXT-X-PRELOAD-HINT tag with a TYPE=PART attribute"),LDt(r,d,c,u),!l&&d.parts.length>0&&(l=!0)}}return Ptn(r.segments),r.lowLatencyCompatibility&&Ltn(r,l),r}function LDt(e,t,r,n,s){let{discontinuity:i,key:a,map:o,byterange:c,uri:u}=t;if(i&&(t.discontinuitySequence=r+1),a||(t.key=n),o||(t.map=s),c&&c.offset===-1){let{segments:l}=e;if(l.length>0){let d=l.at(-1);d.byterange&&d.uri===u?c.offset=d.byterange.offset+d.byterange.length:rt.INVALIDPLAYLIST("If offset of EXT-X-BYTERANGE is not present, a previous Media Segment MUST be a sub-range of the same media resource")}else rt.INVALIDPLAYLIST("If offset of EXT-X-BYTERANGE is not present, a previous Media Segment MUST appear in the Playlist file")}return e.segments.push(t),[t.discontinuitySequence,t.key,t.map]}function Ptn(e){let t=new Map,r=new Map,n=!1,s=!1;for(let i=e.length-1;i>=0;i--){let{programDateTime:a,dateRange:o}=e[i];if(a&&(s=!0),o&&o.start){n=!0,o.endOnNext&&(o.end||o.duration)&&rt.INVALIDPLAYLIST("An EXT-X-DATERANGE tag with an END-ON-NEXT=YES attribute MUST NOT contain DURATION or END-DATE attributes.");let c=o.start.getTime(),u=o.duration||0;o.end&&o.duration&&c+u*1e3!==o.end.getTime()&&rt.INVALIDPLAYLIST("END-DATE MUST be equal to the value of the START-DATE attribute plus the value of the DURATION"),o.endOnNext&&(o.end=t.get(o.classId)),t.set(o.classId,o.start);let l=o.end?o.end.getTime():o.start.getTime()+(o.duration||0)*1e3,d=r.get(o.classId);if(d){for(let f of d)(f.start<=c&&f.end>c||f.start>=c&&f.start0&&ur&&rt.INVALIDPLAYLIST("PART-TARGET is the maximum duration of any Partial Segment"),d0&&(u.lastPart=l.parts.length-1)}}function Mtn(e,t){if(e==="Segment"||e==="MediaPlaylist"){if(t.isMasterPlaylist===void 0){t.isMasterPlaylist=!1;return}t.isMasterPlaylist&&ODt();return}if(e==="MasterPlaylist"){if(t.isMasterPlaylist===void 0){t.isMasterPlaylist=!0;return}t.isMasterPlaylist===!1&&ODt()}}function ktn(e,t){let[r,n]=btn(e),s=_tn(r);if(Mtn(s,t),s==="Unknown")return null;s==="MediaPlaylist"&&r!=="EXT-X-RENDITION-REPORT"&&r!=="EXT-X-PREFETCH"&&(t.hash[r]&&rt.INVALIDPLAYLIST("There MUST NOT be more than one Media Playlist tag of each type in any Media Playlist"),t.hash[r]=!0);let[i,a]=Ttn(r,n);return{name:r,category:s,value:i,attributes:a}}function Btn(e,t){let r=[];for(let n of e.split(` +`)){let s=Buffer.from(n.trim()).toString();if(s){if(s.startsWith("#")){if(s.startsWith("#EXT")){let i=ktn(s,t);i&&r.push(i)}continue}r.push(s)}}return(r.length===0||r[0].name!=="EXTM3U")&&rt.INVALIDPLAYLIST("The EXTM3U tag MUST be the first line."),r}function Utn(e,t){let r;return t.isMasterPlaylist?r=Ntn(e,t):(r=Dtn(e,t),!r.isIFrame&&t.hasMap&&t.compatibleVersion<6&&(t.compatibleVersion=6)),t.compatibleVersion>1&&(!r.version||r.version{"use strict";var $tn=Tg&&Tg.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),qtn=Tg&&Tg.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Htn=Tg&&Tg.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&$tn(t,e,r);return qtn(t,e),t};Object.defineProperty(Tg,"__esModule",{value:!0});var s0=Htn(Uk()),Vtn=["#EXTINF","#EXT-X-BYTERANGE","#EXT-X-DISCONTINUITY","#EXT-X-STREAM-INF","#EXT-X-CUE-OUT","#EXT-X-CUE-IN","#EXT-X-KEY","#EXT-X-MAP"],jtn=["#EXT-X-MEDIA"],gbe=class extends Array{constructor(t){super(),this.baseUri=t}push(...t){for(let r of t){if(!r.startsWith("#")){super.push(r);continue}if(Vtn.some(n=>r.startsWith(n))){super.push(r);continue}if(this.includes(r)){if(jtn.some(n=>r.startsWith(n)))continue;s0.INVALIDPLAYLIST(`Redundant item (${r})`)}super.push(r)}return this.length}};function _be(e,t){let r=1e3;t&&(r=10**t);let n=Math.round(e*r)/r;return t?n.toFixed(t):n}function Ktn(e){let t=e.toString(10),r=t.indexOf(".");return r===-1?0:t.length-r-1}function Gtn(e,t){for(let r of t.sessionDataList)e.push(Ytn(r));for(let r of t.sessionKeyList)e.push(UDt(r,!0));for(let r of t.variants)Qtn(e,r)}function Ytn(e){let t=[`DATA-ID="${e.id}"`];return e.language&&t.push(`LANGUAGE="${e.language}"`),e.value?t.push(`VALUE="${e.value}"`):e.uri&&t.push(`URI="${e.uri}"`),`#EXT-X-SESSION-DATA:${t.join(",")}`}function UDt(e,t){let r=t?"#EXT-X-SESSION-KEY":"#EXT-X-KEY",n=[`METHOD=${e.method}`];return e.uri&&n.push(`URI="${e.uri}"`),e.iv&&(e.iv.length!==16&&s0.INVALIDPLAYLIST("IV must be a 128-bit unsigned integer"),n.push(`IV=${s0.byteSequenceToHex(e.iv)}`)),e.format&&n.push(`KEYFORMAT="${e.format}"`),e.formatVersion&&n.push(`KEYFORMATVERSIONS="${e.formatVersion}"`),`${r}:${n.join(",")}`}function Qtn(e,t){let r=t.isIFrameOnly?"#EXT-X-I-FRAME-STREAM-INF":"#EXT-X-STREAM-INF",n=[`BANDWIDTH=${t.bandwidth}`];if(t.averageBandwidth&&n.push(`AVERAGE-BANDWIDTH=${t.averageBandwidth}`),t.isIFrameOnly&&n.push(`URI="${t.uri}"`),t.codecs&&n.push(`CODECS="${t.codecs}"`),t.resolution&&n.push(`RESOLUTION=${t.resolution.width}x${t.resolution.height}`),t.frameRate&&n.push(`FRAME-RATE=${_be(t.frameRate,3)}`),t.hdcpLevel&&n.push(`HDCP-LEVEL=${t.hdcpLevel}`),t.audio.length>0){n.push(`AUDIO="${t.audio[0].groupId}"`);for(let s of t.audio)e.push(YV(s))}if(t.video.length>0){n.push(`VIDEO="${t.video[0].groupId}"`);for(let s of t.video)e.push(YV(s))}if(t.subtitles.length>0){n.push(`SUBTITLES="${t.subtitles[0].groupId}"`);for(let s of t.subtitles)e.push(YV(s))}if(s0.getOptions().allowClosedCaptionsNone&&t.closedCaptions.length===0)n.push("CLOSED-CAPTIONS=NONE");else if(t.closedCaptions.length>0){n.push(`CLOSED-CAPTIONS="${t.closedCaptions[0].groupId}"`);for(let s of t.closedCaptions)e.push(YV(s))}if(t.score&&n.push(`SCORE=${t.score}`),t.allowedCpc){let s=[];for(let{format:i,cpcList:a}of t.allowedCpc)s.push(`${i}:${a.join("/")}`);n.push(`ALLOWED-CPC="${s.join(",")}"`)}t.videoRange&&n.push(`VIDEO-RANGE=${t.videoRange}`),t.stableVariantId&&n.push(`STABLE-VARIANT-ID="${t.stableVariantId}"`),t.programId&&n.push(`PROGRAM-ID=${t.programId}`),e.push(`${r}:${n.join(",")}`),t.isIFrameOnly||e.push(`${t.uri}`)}function YV(e){let t=[`TYPE=${e.type}`,`GROUP-ID="${e.groupId}"`,`NAME="${e.name}"`];return e.isDefault!==void 0&&t.push(`DEFAULT=${e.isDefault?"YES":"NO"}`),e.autoselect!==void 0&&t.push(`AUTOSELECT=${e.autoselect?"YES":"NO"}`),e.forced!==void 0&&t.push(`FORCED=${e.forced?"YES":"NO"}`),e.language&&t.push(`LANGUAGE="${e.language}"`),e.assocLanguage&&t.push(`ASSOC-LANGUAGE="${e.assocLanguage}"`),e.instreamId&&t.push(`INSTREAM-ID="${e.instreamId}"`),e.characteristics&&t.push(`CHARACTERISTICS="${e.characteristics}"`),e.channels&&t.push(`CHANNELS="${e.channels}"`),e.uri&&t.push(`URI="${e.uri}"`),`#EXT-X-MEDIA:${t.join(",")}`}function ztn(e,t){let r="",n="",s=!1;if(t.targetDuration&&e.push(`#EXT-X-TARGETDURATION:${t.targetDuration}`),t.lowLatencyCompatibility){let{canBlockReload:i,canSkipUntil:a,holdBack:o,partHoldBack:c}=t.lowLatencyCompatibility,u=[];u.push(`CAN-BLOCK-RELOAD=${i?"YES":"NO"}`),a!==void 0&&u.push(`CAN-SKIP-UNTIL=${a}`),o!==void 0&&u.push(`HOLD-BACK=${o}`),c!==void 0&&u.push(`PART-HOLD-BACK=${c}`),e.push(`#EXT-X-SERVER-CONTROL:${u.join(",")}`)}t.partTargetDuration&&e.push(`#EXT-X-PART-INF:PART-TARGET=${t.partTargetDuration}`),t.mediaSequenceBase&&e.push(`#EXT-X-MEDIA-SEQUENCE:${t.mediaSequenceBase}`),t.discontinuitySequenceBase&&e.push(`#EXT-X-DISCONTINUITY-SEQUENCE:${t.discontinuitySequenceBase}`),t.playlistType&&e.push(`#EXT-X-PLAYLIST-TYPE:${t.playlistType}`),t.isIFrame&&e.push("#EXT-X-I-FRAMES-ONLY"),t.skip>0&&e.push(`#EXT-X-SKIP:SKIPPED-SEGMENTS=${t.skip}`);for(let i of t.segments){let a="";[r,n,a]=Wtn(e,i,r,n,t.version),a==="OUT"?s=!0:a==="IN"&&s&&(s=!1)}t.playlistType==="VOD"&&s&&e.push("#EXT-X-CUE-IN"),t.prefetchSegments.length>2&&s0.INVALIDPLAYLIST("The server must deliver no more than two prefetch segments");for(let i of t.prefetchSegments)i.discontinuity&&e.push("#EXT-X-PREFETCH-DISCONTINUITY"),e.push(`#EXT-X-PREFETCH:${i.uri}`);t.endlist&&e.push("#EXT-X-ENDLIST");for(let i of t.renditionReports){let a=[];a.push(`URI="${i.uri}"`,`LAST-MSN=${i.lastMSN}`),i.lastPart!==void 0&&a.push(`LAST-PART=${i.lastPart}`),e.push(`#EXT-X-RENDITION-REPORT:${a.join(",")}`)}}function Wtn(e,t,r,n,s=1){let i=!1,a="";if(t.discontinuity&&e.push("#EXT-X-DISCONTINUITY"),t.key){let c=UDt(t.key);c!==r&&(e.push(c),r=c)}if(t.map){let c=Xtn(t.map);c!==n&&(e.push(c),n=c)}if(t.programDateTime&&e.push(`#EXT-X-PROGRAM-DATE-TIME:${s0.formatDate(t.programDateTime)}`),t.dateRange&&e.push(Jtn(t.dateRange)),t.markers.length>0&&(a=Ztn(e,t.markers)),t.parts.length>0&&(i=ern(e,t.parts)),i)return[r,n];let o=s<3?Math.round(t.duration):_be(t.duration,Ktn(t.duration));return e.push(`#EXTINF:${o},${unescape(encodeURIComponent(t.title||""))}`),t.byterange&&e.push(`#EXT-X-BYTERANGE:${Abe(t.byterange)}`),Array.prototype.push.call(e,`${t.uri}`),[r,n,a]}function Xtn(e){let t=[`URI="${e.uri}"`];return e.byterange&&t.push(`BYTERANGE="${Abe(e.byterange)}"`),`#EXT-X-MAP:${t.join(",")}`}function Abe({offset:e,length:t}){return`${t}@${e}`}function Jtn(e){let t=[`ID="${e.id}"`];e.start&&t.push(`START-DATE="${s0.formatDate(e.start)}"`),e.end&&t.push(`END-DATE="${s0.formatDate(e.end)}"`),e.duration&&t.push(`DURATION=${e.duration}`),e.plannedDuration&&t.push(`PLANNED-DURATION=${e.plannedDuration}`),e.classId&&t.push(`CLASS="${e.classId}"`),e.endOnNext&&t.push("END-ON-NEXT=YES");for(let r of Object.keys(e.attributes))r.startsWith("X-")?typeof e.attributes[r]=="number"?t.push(`${r}=${e.attributes[r]}`):t.push(`${r}="${e.attributes[r]}"`):r.startsWith("SCTE35-")&&t.push(`${r}=${s0.byteSequenceToHex(e.attributes[r])}`);return`#EXT-X-DATERANGE:${t.join(",")}`}function Ztn(e,t){let r="";for(let n of t)if(n.type==="OUT")r="OUT",e.push(`#EXT-X-CUE-OUT:DURATION=${n.duration}`);else if(n.type==="IN")r="IN",e.push("#EXT-X-CUE-IN");else if(n.type==="RAW"){let s=n.value?`:${n.value}`:"";e.push(`#${n.tagName}${s}`)}return r}function ern(e,t){let r=!1;for(let n of t)if(n.hint){let s=[];if(s.push("TYPE=PART",`URI="${n.uri}"`),n.byterange){let{offset:i,length:a}=n.byterange;s.push(`BYTERANGE-START=${i}`),a&&s.push(`BYTERANGE-LENGTH=${a}`)}e.push(`#EXT-X-PRELOAD-HINT:${s.join(",")}`),r=!0}else{let s=[];s.push(`DURATION=${n.duration}`,`URI="${n.uri}"`),n.byterange&&s.push(`BYTERANGE=${Abe(n.byterange)}`),n.independent&&s.push("INDEPENDENT=YES"),n.gap&&s.push("GAP=YES"),e.push(`#EXT-X-PART:${s.join(",")}`)}return r}function trn(e){s0.PARAMCHECK(e),s0.ASSERT("Not a playlist",e.type==="playlist");let t=new gbe(e.uri);return t.push("#EXTM3U"),e.version&&t.push(`#EXT-X-VERSION:${e.version}`),e.independentSegments&&t.push("#EXT-X-INDEPENDENT-SEGMENTS"),e.start&&t.push(`#EXT-X-START:TIME-OFFSET=${_be(e.start.offset)}${e.start.precise?",PRECISE=YES":""}`),e.isMasterPlaylist?Gtn(t,e):ztn(t,e),t.join(` +`)}Tg.default=trn});var HDt=S(Zi=>{"use strict";var rrn=Zi&&Zi.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),nrn=Zi&&Zi.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),srn=Zi&&Zi.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&rrn(t,e,r);return nrn(t,e),t},$Dt=Zi&&Zi.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Zi,"__esModule",{value:!0});Zi.setOptions=Zi.getOptions=Zi.types=Zi.stringify=Zi.parse=void 0;var qDt=Uk();Object.defineProperty(Zi,"getOptions",{enumerable:!0,get:function(){return qDt.getOptions}});Object.defineProperty(Zi,"setOptions",{enumerable:!0,get:function(){return qDt.setOptions}});var irn=$Dt(BDt());Zi.parse=irn.default;var arn=$Dt(FDt());Zi.stringify=arn.default;var orn=srn(pbe());Zi.types=orn});function DC(e,t={}){if(!e||typeof e!="string")throw new TypeError("createCache: name \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32");if(Ebe.has(e))return Ebe.get(e).cache;let r=new pt(t.maxSize??100,t.ttl??5*60*1e3);return Ebe.set(e,{cache:r,options:{maxSize:r.maxSize,ttl:r.ttl},createdAt:Date.now()}),r}function Hs(e,t={}){let r=DC(e,t),n=Symbol("absent");return{has(s){return r.cache.has(s)},get(s){let i=r.get(s);if(!(i===null&&!r.cache.has(s)))return i},set(s,i){return r.set(s,i),this},delete(s){return r.delete(s)},clear(){r.clear()},get size(){return r.size},*entries(){yield*r.entries()},*keys(){for(let[s]of r.entries())yield s},*values(){for(let[,s]of r.entries())yield s},[Symbol.iterator](){return r.entries()}}}var Ebe,jh=oe(()=>{zi();Ebe=new Map});function crn(e){if(!e||typeof e!="string")return null;let t=PC.chineseEpisode.exec(e);if(t){let o=t[0].replace(/第|[集話话]/g,"");if(VDt.has(o))return VDt.get(o);if(/^\d+$/.test(o))return parseInt(o,10)}let r=PC.epFormat.exec(e);if(r)return parseInt(r[1],10);let n=PC.seasonEpisode.exec(e);if(n)return parseInt(n[2],10);let s=PC.bracketNumber.exec(e);if(s)return parseInt(s[1],10);let i=PC.plainNumber.exec(e);if(i){let o=parseInt(i[1],10);if(o<1e3)return o}let a=PC.simpleEpisode.exec(e);return a?parseInt(a[1],10):null}function cr(e){return!e||e.length<=1?e:e.map(r=>{let n=r.vod_name||r.n||r.name||r.file_name||r.FileName||"",s=n,i=jDt.get(s);return i===void 0&&(i=crn(n),jDt.set(s,i)),{video:r,name:n,number:i}}).sort((r,n)=>r.number!==null&&n.number!==null?r.number-n.number:r.number!==null&&n.number===null?-1:r.number===null&&n.number!==null?1:r.name.localeCompare(n.name,"zh-CN")).map(r=>r.video)}async function uE(e,t,r=5){if(!Array.isArray(e)||e.length===0)return[];let n=[],s=0;async function i(){for(;;){let c=s++;if(c>=e.length)return;let u=e[c];if(u!==void 0)try{let l=await t(u);l&&n.push(l)}catch(l){console.error("Parallel processing error:",l)}}}let a=Math.min(r,e.length),o=Array.from({length:a},()=>i());return await Promise.all(o),n}function Ao(e,t,r=!1){if(!t||t.length===0)return{};let i=(r?cr(t):t).map(a=>{let o=Vu(a.vod_size),u=(a.vod_name||"").replace(/\.[^.]+$/,"");return{vod_id:a.vod_id,vod_name:Mk("",` ${u} [${o}]`)}}).map(a=>`${a.vod_name}$${a.vod_id}`).join("#");return{from:e,url:i}}async function QV(e,t){if(!Array.isArray(e)||e.length===0)return null;let r=[...new Set(e.map(l=>String(l||"").trim()).filter(Boolean))];if(r.length===0)return null;let n=r.map(l=>{try{let d=new URL(l);return{url:l,host:d.host,origin:d.origin}}catch{return{url:l,host:"",origin:""}}}),s=l=>{let d=Number(l||0);return d===200||d===204||d===301||d===302||d===401||d===403||d===405},i=(l,d)=>{let f=d?.request?.res?.responseUrl||d?.config?.url||l.url;try{let h=new URL(f).host;return!!h&&h===l.host}catch{return!1}},a=(l,d)=>{let f=String(l||"").toLowerCase();return!f||d.host&&f.includes(d.host.toLowerCase())?!1:f.includes("/en/?")||f.includes("access denied")||f.includes("forbidden")||f.includes("captcha")||f.includes("cloudflare")},o=async l=>{let d=Date.now();try{let f=await Se({method:"head",url:l.url,headers:t,timeout:5e3,maxRedirects:5,validateStatus:()=>!0});if(s(f?.status)&&i(l,f))return{url:l.url,elapsedMs:Date.now()-d,status:Number(f?.status||0),method:"head"}}catch{}try{let f=await Se({method:"get",url:l.url,headers:t,timeout:5e3,maxRedirects:5,validateStatus:()=>!0});return!s(f?.status)||!i(l,f)||a(f?.data,l)?null:{url:l.url,elapsedMs:Date.now()-d,status:Number(f?.status||0),method:"get"}}catch{return null}},u=(await Promise.all(n.map(o))).filter(Boolean);return u.length===0?null:(u.sort((l,d)=>l.elapsedMs!==d.elapsedMs?l.elapsedMs-d.elapsedMs:l.url.localeCompare(d.url)),u[0].url)}var PC,VDt,jDt,Fa=oe(()=>{Cs();Pr();jh();PC={chineseEpisode:/第[零一二三四五六七八九十百千万0-9]+[集話话]/,epFormat:/(?:E|EP)[\s_-]*(\d+)/i,seasonEpisode:/S(\d+)[\s_-]*E(\d+)/i,bracketNumber:/[\[【\(](\d+)[\]】\)]/,plainNumber:/\b(\d{1,4})\b/,simpleEpisode:/(\d+)[集話话]/},VDt=new Map([["\u96F6",0],["\u3007",0],["\u4E00",1],["\u4E8C",2],["\u4E09",3],["\u56DB",4],["\u4E94",5],["\u516D",6],["\u4E03",7],["\u516B",8],["\u4E5D",9],["\u5341",10],["\u5341\u4E00",11],["\u5341\u4E8C",12],["\u5341\u4E09",13],["\u5341\u56DB",14],["\u5341\u4E94",15],["\u5341\u516D",16],["\u5341\u4E03",17],["\u5341\u516B",18],["\u5341\u4E5D",19],["\u4E8C\u5341",20],["\u4E8C\u5341\u4E00",21],["\u4E8C\u5341\u4E8C",22],["\u4E8C\u5341\u4E09",23],["\u4E8C\u5341\u56DB",24],["\u4E8C\u5341\u4E94",25],["\u4E8C\u5341\u516D",26],["\u4E8C\u5341\u4E03",27],["\u4E8C\u5341\u516B",28],["\u4E8C\u5341\u4E5D",29],["\u4E09\u5341",30],["\u4E09\u5341\u4E00",31],["\u4E09\u5341\u4E8C",32],["\u4E09\u5341\u4E09",33],["\u4E09\u5341\u56DB",34],["\u4E09\u5341\u4E94",35],["\u4E09\u5341\u516D",36],["\u4E09\u5341\u4E03",37],["\u4E09\u5341\u516B",38],["\u4E09\u5341\u4E5D",39],["\u56DB\u5341",40]]);jDt=Hs("utils.vodNumber",{maxSize:5e3,ttl:60*60*1e3})});function lrn(){let e=_o();if(!Array.isArray(e)||e.length===0)return null;let t={};for(let r of e)r?.key&&(t[r.key]=r.enable!==!1);return t.magnet=t.magnet===!0||t.magnet_guangya===!0,t}function drn(e=Date.now()){return zV&&e-KDt{Bi();GDt={ali:/https?:\/\/(?:www\.)?(?:alipan|aliyundrive)\.com\/s\/[a-zA-Z0-9_-]+(\/folder\/[a-zA-Z0-9_-]+)?/i,pan115:/https?:\/\/(?:115\.com|115cdn\.com|anxia\.com)\/s\/[a-zA-Z0-9]+(?:\?password=[a-zA-Z0-9]+)?/i,tianyi:/https?:\/\/cloud\.189\.cn\/(?:t\/[a-zA-Z0-9]+|web\/share\?code=[^&\s]+)/i,yd:/https?:\/\/(?:yun\.139\.com\/shareweb\/#\/w\/i\/|caiyun\.139\.com\/(?:m\/i\?|w\/i\/))[^&\s]+/i,quark:/https?:\/\/(?:pan\.quark\.cn|pan\.qoark\.cn)\/s\/[a-zA-Z0-9_-]+/i,uc:/https?:\/\/drive\.uc\.cn\/s\/[a-zA-Z0-9]+(?:\?public=\d)?/i,pan123:/https?:\/\/(?:(?:www\.)?123(?:684|865|685|912|pan|592)\.(?:com|cn)\/s\/|(?:[a-zA-Z0-9-]+\.)?share\.123(?:684|865|685|912|pan|592)\.(?:com|cn)\/(?:s|123pan)\/)[^/?#\s]+(?:\?[^\s]*)?/i,baidu:/https?:\/\/pan\.baidu\.com\/s\/[a-zA-Z0-9_-]+(?:\?pwd=[a-zA-Z0-9]{4})?/i,xunlei:/https?:\/\/pan\.xunlei\.com\/s\/[^?\s]+(?:\?[^\s]*)?/i,guangya:/https?:\/\/(?:www\.)?guangyapan\.com\/s\/[a-zA-Z0-9_-]+(?:\?[^\s#]*)?(?:#[^\s]*)?/i,magnet:/^(?:magnet:\?xt=urn:btih:[A-Za-z0-9]+|ed2k:\/\/\|file\|)/i},YDt={ali:"ali",quark:"quark",baidu:"baidu",uc:"uc",tianyi:"tianyi",yd:"yidong",pan123:"123",pan115:"115",xunlei:"xunlei",magnet:"magnet",guangya:"guangya"},zV=null,KDt=0,urn=3e4;QDt=async e=>WV(e)==="ali",zDt=async e=>WV(e)==="quark",WDt=async e=>WV(e)==="uc",XV=e=>i0(e)==="ali",JV=e=>i0(e)==="quark",ZV=e=>i0(e)==="uc",e7=e=>i0(e)==="tianyi",t7=e=>i0(e)==="yidong",r7=e=>i0(e)==="123",n7=e=>i0(e)==="115",s7=e=>i0(e)==="baidu",XDt=e=>i0(e)==="xunlei",i7=e=>i0(e)==="magnet",a7=e=>i0(e)==="guangya",o7=async e=>WV(e)});function Ct(e){return!!e&&frn.test(String(e))}function t2t(e){return String(e||"").replace(/\.[^.]+$/,"")}function on(e){let t=String(e||"").toLowerCase().match(/\.([^.]+)$/),r=t?t[1]:"";return["srt","ass","ssa","vtt","sub","idx","smi","txt"].includes(r)?r:""}function u7(e){let t=String(e||"").toLowerCase();return t=t2t(t),t=t.replace(/[\[\((【].*?[\]\))】]/g," "),t=t.replace(/(?:[._\-\s]|^)(?:chs|cht|chi|zh-cn|zh|cn|sc|tc|eng|en|jpn|jp|简中|繁中|中字|双语|中英|外挂字幕|内封字幕|sub|subtitle)(?:[._\-\s]|$)/gi," "),t=t.replace(/[._\-]+/g," "),t=t.replace(/\s+/g," ").trim(),t.replace(/\s+/g,"")}function l7(e){let t=String(e||"").toLowerCase().match(/\.([^.]+)$/);return t?t[1]:""}function d7(e){return t2t(String(e||"")).trim().toLowerCase()}function JDt(e,t){return!Array.isArray(e)||e.length===0?null:e.slice().sort((n,s)=>{let i=c7[l7(t(n))]||99,a=c7[l7(t(s))]||99;return i!==a?i-a:String(t(n)||"").localeCompare(String(t(s)||""),"zh-CN")})[0]}function ZDt(e,t){return!Array.isArray(e)||e.length===0?[]:e.slice().sort((r,n)=>{let s=c7[l7(t(r))]||99,i=c7[l7(t(n))]||99;return s!==i?s-i:String(t(r)||"").localeCompare(String(t(n)||""),"zh-CN")})}function aT(e,t,r){if(!e||!Array.isArray(t)||t.length===0)return[];let n=d7(e);if(!n)return[];let s=t.filter(o=>d7(r(o))===n);if(s.length>0)return ZDt(s,r);let i=u7(e);if(!i)return[];let a=[];for(let o of t){let c=r(o),u=u7(c);u&&(u===i||u.startsWith(i)||i.startsWith(u))&&a.push(o)}return ZDt(a,r)}function yr(e,t,r){if(!e||!Array.isArray(t)||t.length===0)return null;let n=d7(e);if(!n)return null;let s=t.filter(o=>d7(r(o))===n);if(s.length>0)return JDt(s,r);let i=u7(e);if(!i)return null;let a=[];for(let o of t){let c=r(o),u=u7(c);u&&(u===i||u.startsWith(i)||i.startsWith(u))&&a.push(o)}return JDt(a,r)}function e2t(e){let t=String(e||"").trim().match(/^(\d+):(\d{1,2}):(\d{1,2})[.](\d{1,2})$/);if(!t)return"00:00:00,000";let r=String(Number(t[1])).padStart(2,"0"),n=String(Number(t[2])).padStart(2,"0"),s=String(Number(t[3])).padStart(2,"0"),i=Number(t[4]),a=String(i*10).padStart(3,"0");return`${r}:${n}:${s},${a}`}function hrn(e){return String(e||"").replace(/\{[^}]*\}/g,"").replace(/\\N/g,` +`).replace(/\\n/g,` +`).replace(/\\h/g," ").trim()}function prn(e){let t=String(e||"");return/[\u4e00-\u9fff]/.test(t)?t.split(` +`).map(r=>r.replace(/[A-Za-z][A-Za-z0-9\s.,!?;:'"()\-_/\\[\]{}<>`~@#$%^&*+=|]*/g,"").replace(/\s{2,}/g," ").trim()).filter(Boolean).join(` +`):t}function f7(e){let t=String(e||"").split(/\r?\n/),r=[],n=1;for(let s of t){if(!s.startsWith("Dialogue:"))continue;let a=s.slice(9).trim().split(",");if(a.length<10)continue;let o=e2t(a[1]),c=e2t(a[2]),u=prn(hrn(a.slice(9).join(",")));u&&(r.push(String(n++)),r.push(`${o} --> ${c}`),r.push(u),r.push(""))}return r.join(` +`)}var frn,c7,ju=oe(()=>{frn=/\.(srt|ass|ssa|vtt|sub|idx|smi|txt)$/i,c7={ass:1,ssa:2,srt:3,vtt:4,sub:5,idx:6,smi:7,txt:8}});function Zt(e,t={}){let{fieldOrder:r,encodeUri:n=!1,structured:s=!1}=t,i;if(Array.isArray(e))i=e.map(ybe);else if(e&&typeof e=="object"){if(!Array.isArray(r)||r.length===0)throw new TypeError("encodeVodId: object payload requires options.fieldOrder");i=r.map(o=>ybe(e[o]))}else{let o=ybe(e);return n?encodeURIComponent(o):o}let a=s?mrn(i):i.join(r2t);return n?encodeURIComponent(a):a}function qn(e,t={}){let{fieldOrder:r,decodeUri:n=!1,minLength:s}=t;if(e==null)return Array.isArray(r)?{}:[];let i=String(e);if(n)try{i=decodeURIComponent(i)}catch{}let a=grn(i);if(a===null&&(a=i.split(r2t)),typeof s=="number"&&a.length{o[c]=a[u]??""}),a.length>r.length&&(o._rest=a.slice(r.length)),o}function ybe(e){return e==null?"":String(e)}function mrn(e){let t=JSON.stringify(e),r=Buffer.from(t,"utf8").toString("base64url");return vbe+r}function grn(e){if(typeof e!="string"||!e.startsWith(vbe))return null;try{let t=e.slice(vbe.length),r=Buffer.from(t,"base64url").toString("utf8"),n=JSON.parse(r);return Array.isArray(n)?n.map(s=>s==null?"":String(s)):null}catch{return null}}var r2t,vbe,xl=oe(()=>{r2t="*",vbe="!vod1!"});function $k(e,t,r=!1){let n=Array.isArray(t)?t.filter(Boolean):[];if(!e||n.length===0)return null;let s=Ao(e,n,r);return!s?.from||!s?.url?null:s}function Eo(e,t,r=!1){let n=$k(e,t,r);return n?[n]:[]}function oT(e,t){let r=String(e?.headers?.["x-forwarded-proto"]||e?.protocol||"http").split(",")[0].trim()||"http",n=String(e?.headers?.["x-forwarded-host"]||e?.headers?.host||"").split(",")[0].trim();return`${n?`${r}://${n}`:e.server.address().url}${e.server.prefix}/proxy/${t}`}function LC(e,t,r,n,s,i=".bin"){return`${oT(e,t)}/src/${r}/${n}/${s}/${i}`}function wl(e,t,r,n,s,i,a=".bin"){return[String(r||""),LC(e,t,n,s,i,a)]}function n2t(e,t,r,n,s,i=".m3u8"){return`${oT(e,t)}/trans/${r}/${n}/${s}/${i}`}function dE(e,t,r,n,s=".srt",i={}){return{name:i.name?String(i.name):"\u5916\u6302\u5B57\u5E55",url:LC(e,t,"subt",r,n,s),format:i.format?String(i.format):s.replace(/^\./,"")||"srt"}}var a0=oe(()=>{Fa()});function Sbe(e={}){let t=e&&typeof e.url=="string"?e.url:"";return t?{url:t,name:e.name?String(e.name):_rn,format:e.format?String(e.format):Arn}:null}function ec(e={}){let{parse:t,urls:r,subtitles:n,extra:s,header:i}=e||{},a={parse:t===1?1:0,url:Array.isArray(r)?r.slice():[]};i&&typeof i=="object"&&!Array.isArray(i)&&(a.header={...i});let o=Array.isArray(n)?n.map(u=>u&&typeof u=="object"?Sbe(u):null).filter(Boolean):[];o.length>0&&(a.subs=o,a.subt=o[0].url,a.subtitle=o[0].url,a.subs_urls=o.map(u=>u.url));let c=s&&typeof s=="object"?{...s}:null;if(o.length>0){let u=o.map(d=>d.url),l=c||{};l.subt||(l.subt=o[0].url),l.subtitle||(l.subtitle=o[0].url),(!Array.isArray(l.subs_urls)||l.subs_urls.length===0)&&(l.subs_urls=u),(!Array.isArray(l.subs)||l.subs.length===0)&&(l.subs=o.map(d=>({name:d.name,url:d.url,format:d.format}))),Object.keys(l).length>0&&(a.extra=l)}else c&&Object.keys(c).length>0&&(a.extra=c);return a}function Vs(e,t){let r={parse:0,url:[],error:String(e??"\u64AD\u653E\u5931\u8D25")};return t&&typeof t=="object"?{...r,...t}:r}var _rn,Arn,bg=oe(()=>{_rn="\u5916\u6302\u5B57\u5E55",Arn="srt"});function MC(e,t){let r=String(e||"").trim(),n=/^bytes=(\d*)-(\d*)$/i.exec(r);if(!n)return null;let s=n[1]===""?null:Number(n[1]),i=n[2]===""?null:Number(n[2]);if(s===null&&i===null)return null;if(s===null){let a=Number(i);if(!Number.isFinite(a)||a<=0)return null;s=Math.max(t-a,0),i=t-1}else if(!Number.isFinite(s)||s<0||(i===null&&(i=t-1),!Number.isFinite(i)||i=t?{unsatisfied:!0}:(i=Math.min(i,t-1),{start:s,end:i})}var h7=oe(()=>{});function p7(e,t,r,n){let s=Number(e);if(!Number.isFinite(s))return t;let i=Math.floor(s);return i$d.maxChunkSize||e.poolSize<$d.minPoolSize||e.poolSize>$d.maxPoolSize)return null;let n=yo(e,t);if(r.requireEnableFast){if(typeof e.enableFast!="boolean")return null;n.enableFast=e.enableFast}return n}var Ern,$d,qd=oe(()=>{Ern={chunkSize:524288,poolSize:4,useMultithread:!0},$d={minChunkSize:1024,maxChunkSize:10*1024*1024,minPoolSize:1,maxPoolSize:100,minTimeout:1e3,maxTimeout:120*1e3,minRetries:1,maxRetries:10}});async function yrn(e,t={}){let r=await Ye.get(e,{responseType:"stream",headers:Object.assign({Range:"bytes=0-0"},t)}).catch(n=>n.response||{status:500,data:{}});if(r?.data&&typeof r.data.destroy=="function"&&r.data.destroy(),r&&r.status===206){let n=r.headers["accept-ranges"]==="bytes",s=r.headers["content-range"],i=parseInt(r.headers["content-length"]),a=n||!!s||i===1,o=s?parseInt(s.split("/")[1]):i;return delete r.headers["content-range"],delete r.headers["content-length"],o&&(r.headers["content-length"]=o.toString()),[a,r.headers]}else return[!1,null]}async function o2t(e){try{if(Ei.default.existsSync(e)){let t=await Ei.default.promises.readdir(e);await Promise.all(t.map(async r=>{let n=`${e}/${r}`;(await Ei.default.promises.stat(n)).isDirectory()?await o2t(n):await Ei.default.promises.unlink(n)})),await Ei.default.promises.rmdir(e)}}catch{}}function Trn(){try{Ei.default.readdir(kC,(e,t)=>{if(t)for(let r of t){if(cT.has(r)&&cT.get(r)>0)continue;let n=(0,qk.join)(kC,r);Ei.default.stat(n,(s,i)=>{i&&i.isDirectory()&&Ei.default.rm(n,{recursive:!0,force:!0},()=>{})})}})}catch{}}function brn(e){cT.set(e,(cT.get(e)||0)+1);let t=!1;return()=>{if(t)return;t=!0;let r=(cT.get(e)||1)-1;r<=0?cT.delete(e):cT.set(e,r)}}async function i2t(e){let t=await Ei.default.promises.stat(e).catch(()=>null);return t&&t.isFile()?t.size:-1}async function Irn(e,t,r,n,s,i,a=null,o=!1,c=0){await Srn,n=Tbe.default.enc.Hex.stringify(Tbe.default.MD5(n||r)).toString();let u=brn(n);Trn();try{s=s||{},c=Math.max(Number(c)||0,0);let l=Number(a);(!Number.isFinite(l)||l<=0)&&(l=null);let d=s2t.get(n);if(!l||!o){if(!d){let[V,W]=await yrn(r,s);if(!V||!W?.["content-length"]){u(),t.redirect(r);return}s2t.set(n,W),d=W}l||(l=parseInt(d["content-length"]))}if(!Number.isFinite(l)||l<=0){u(),t.redirect(r);return}await Ei.default.promises.mkdir((0,qk.join)(kC,n),{recursive:!0});let f=0,h=l-1,p={"accept-ranges":"bytes","cache-control":"no-store"};if(e.headers.range){let V=MC(e.headers.range,l);if(!V||V.unsatisfied){u(),t.code(416).headers({"content-range":`bytes */${l}`,"accept-ranges":"bytes"});return}f=V.start,h=V.end,Object.assign(p,d||{}),p["accept-ranges"]="bytes",p["cache-control"]="no-store",p["content-length"]=(h-f+1).toString(),p["content-range"]=`bytes ${f}-${h}/${l}`,t.code(206)}else Object.assign(p,d||{}),p["accept-ranges"]="bytes",p["cache-control"]="no-store",p["content-length"]=l.toString(),t.code(200);i=yo(i||{},{chunkSize:1024*256,poolSize:5,timeout:1e3*10,maxRetries:4});let m=i.chunkSize,g=i.poolSize,_=i.timeout,y=i.maxRetries,E=Math.floor(h/m)+1,A=Math.floor(f/m),v=A,T=!1,C=null,b=new Set,x=new Set,w=new Set,P={},M=new a2t.PassThrough,L=V=>(0,qk.join)(kC,n,`${e.id}-${c}-${l}-${m}-${V}.p`),U=V=>(0,qk.join)(kC,n,`${e.id}-${V}-${Date.now()}.dl`),Y=(V,W)=>{if(C||T)return;let G=Number(W?.response?.status||W?.statusCode||W?.status||0),se=(P[V]||0)+1;if(P[V]=se,!(G===401||G===403||G===404||se>=y))return;let te=G?` status=${G}`:"",Q=W?.message?` ${W.message}`:"";C=new Error(`chunk ${V} failed after ${se} attempts.${te}${Q}`.trim()),G&&(C.statusCode=G),T=!0,M.destroy(C)},$=V=>{C||T||(C=V instanceof Error?V:new Error(String(V||"chunk stream failed")),T=!0,M.destroy(C))};for(let V=0;V{(async function G(se){if(T||C||se===void 0&&A>=E){W();return}if(se===void 0&&(A-v)*m>=vrn){setTimeout(G,5);return}let ue=se??A++,te=L(ue),Q=ue*m,ee=Math.min(l-1,(ue+1)*m-1),de=ee-Q+1;try{let B=await i2t(te);if(B=0&&await Ei.default.promises.rm(te).catch(()=>{});let k=Q+c,J=ee+c,D=await Ye.get(r,{responseType:"stream",timeout:_,headers:Object.assign({Range:`bytes=${k}-${J}`},s)}),H=U(ue);x.add(H);let K=Ei.default.createWriteStream(H),q=setTimeout(()=>{K.destroy(new Error(`${e.id}-${ue} read timeout`))},_),z=new Promise(ae=>{let ne=!1,ie=async X=>{ne||(ne=!0,clearTimeout(q),x.delete(H),ae(X))};K.on("finish",async()=>{if(T){await Ei.default.promises.rm(H).catch(()=>{}),await ie({ok:!1,error:C});return}try{await Ei.default.promises.rename(H,te),await ie({ok:!0})}catch(X){let ce=await i2t(te);await Ei.default.promises.rm(H).catch(()=>{}),await ie({ok:ce>=de,error:X})}}),K.on("error",async X=>{await Ei.default.promises.rm(H).catch(()=>{}),await ie({ok:!1,error:X})}),D.data.on("error",X=>{K.destroy(X)})});D.data.pipe(K);let Z=await z;if(!Z.ok){if(Y(ue,Z.error),T||C){W();return}setTimeout(()=>{G(ue)},15);return}}w.add(te),b.add(ue),setTimeout(G,5)}catch(B){if(Y(ue,B),T||C){W();return}setTimeout(()=>{G(ue)},15)}})()});return t.headers(p),new Promise(V=>{let W=!0;(async function G(){try{if(C){V();return}if(v>=E||T){M.end(),V();return}if(!W){setTimeout(G,5);return}if(!b.has(v)){setTimeout(G,5);return}b.delete(v);let se=v*m,ue=Math.min(h,(v+1)*m-1),te=Math.max(f,se)-se,Q=L(v),ee=await Ei.default.promises.open(Q,"r"),de=ue-se-te+1;if(de<=0){await ee.close().catch(()=>{}),w.delete(Q),await Ei.default.promises.rm(Q).catch(()=>{}),v++,setTimeout(G,5);return}let B=Buffer.alloc(de);await ee.read(B,0,de,te),await ee.close().catch(()=>{}),w.delete(Q),await Ei.default.promises.rm(Q).catch(()=>{}),W=M.write(B),W||M.once("drain",()=>{W=!0}),v++,setTimeout(G,5)}catch(se){$(se),V()}})()}),M.on("close",async()=>{T=!0;for(let V of x)Ei.default.rm(V,{recursive:!0},()=>{});x.clear();for(let V of w)Ei.default.rm(V,{recursive:!0},()=>{});w.clear(),u()}),M}catch(l){throw u(),l}}var Tbe,qk,Ei,a2t,s2t,cT,kC,vrn,Srn,Kc,uT=oe(()=>{kr();Tbe=we(ki(),1),qk=require("path"),Ei=we(require("fs"),1),a2t=require("stream");jh();h7();qd();s2t=Hs("chunk.urlHead",{maxSize:200,ttl:30*60*1e3}),cT=new Map,kC=(process.env.NODE_PATH||".")+"/vod_cache",vrn=1024*1024*100;Srn=o2t(kC).catch(()=>{});Kc=Irn});var bbe=S((Tgs,c2t)=>{c2t.exports=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}});var hE=S(lT=>{var Ibe,Rrn=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];lT.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17};lT.getSymbolTotalCodewords=function(t){return Rrn[t]};lT.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t};lT.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');Ibe=t};lT.isKanjiModeEnabled=function(){return typeof Ibe<"u"};lT.toSJIS=function(t){return Ibe(t)}});var m7=S(Hd=>{Hd.L={bit:1};Hd.M={bit:0};Hd.Q={bit:3};Hd.H={bit:2};function Crn(e){if(typeof e!="string")throw new Error("Param is not a string");switch(e.toLowerCase()){case"l":case"low":return Hd.L;case"m":case"medium":return Hd.M;case"q":case"quartile":return Hd.Q;case"h":case"high":return Hd.H;default:throw new Error("Unknown EC Level: "+e)}}Hd.isValid=function(t){return t&&typeof t.bit<"u"&&t.bit>=0&&t.bit<4};Hd.from=function(t,r){if(Hd.isValid(t))return t;try{return Crn(t)}catch{return r}}});var d2t=S((Rgs,l2t)=>{function u2t(){this.buffer=[],this.length=0}u2t.prototype={get:function(e){let t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)===1},put:function(e,t){for(let r=0;r>>t-r-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};l2t.exports=u2t});var h2t=S((Cgs,f2t)=>{function Hk(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}Hk.prototype.set=function(e,t,r,n){let s=e*this.size+t;this.data[s]=r,n&&(this.reservedBit[s]=!0)};Hk.prototype.get=function(e,t){return this.data[e*this.size+t]};Hk.prototype.xor=function(e,t,r){this.data[e*this.size+t]^=r};Hk.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};f2t.exports=Hk});var p2t=S(g7=>{var xrn=hE().getSymbolSize;g7.getRowColCoords=function(t){if(t===1)return[];let r=Math.floor(t/7)+2,n=xrn(t),s=n===145?26:Math.ceil((n-13)/(2*r-2))*2,i=[n-7];for(let a=1;a{var wrn=hE().getSymbolSize,m2t=7;g2t.getPositions=function(t){let r=wrn(t);return[[0,0],[r-m2t,0],[0,r-m2t]]}});var A2t=S(xs=>{xs.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var dT={N1:3,N2:3,N3:40,N4:10};xs.isValid=function(t){return t!=null&&t!==""&&!isNaN(t)&&t>=0&&t<=7};xs.from=function(t){return xs.isValid(t)?parseInt(t,10):void 0};xs.getPenaltyN1=function(t){let r=t.size,n=0,s=0,i=0,a=null,o=null;for(let c=0;c=5&&(n+=dT.N1+(s-5)),a=l,s=1),l=t.get(u,c),l===o?i++:(i>=5&&(n+=dT.N1+(i-5)),o=l,i=1)}s>=5&&(n+=dT.N1+(s-5)),i>=5&&(n+=dT.N1+(i-5))}return n};xs.getPenaltyN2=function(t){let r=t.size,n=0;for(let s=0;s=10&&(s===1488||s===93)&&n++,i=i<<1&2047|t.get(o,a),o>=10&&(i===1488||i===93)&&n++}return n*dT.N3};xs.getPenaltyN4=function(t){let r=0,n=t.data.length;for(let i=0;i{var pE=m7(),_7=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],A7=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];Rbe.getBlocksCount=function(t,r){switch(r){case pE.L:return _7[(t-1)*4+0];case pE.M:return _7[(t-1)*4+1];case pE.Q:return _7[(t-1)*4+2];case pE.H:return _7[(t-1)*4+3];default:return}};Rbe.getTotalCodewordsCount=function(t,r){switch(r){case pE.L:return A7[(t-1)*4+0];case pE.M:return A7[(t-1)*4+1];case pE.Q:return A7[(t-1)*4+2];case pE.H:return A7[(t-1)*4+3];default:return}}});var E2t=S(y7=>{var Vk=new Uint8Array(512),E7=new Uint8Array(256);(function(){let t=1;for(let r=0;r<255;r++)Vk[r]=t,E7[t]=r,t<<=1,t&256&&(t^=285);for(let r=255;r<512;r++)Vk[r]=Vk[r-255]})();y7.log=function(t){if(t<1)throw new Error("log("+t+")");return E7[t]};y7.exp=function(t){return Vk[t]};y7.mul=function(t,r){return t===0||r===0?0:Vk[E7[t]+E7[r]]}});var y2t=S(jk=>{var xbe=E2t();jk.mul=function(t,r){let n=new Uint8Array(t.length+r.length-1);for(let s=0;s=0;){let s=n[0];for(let a=0;a{var v2t=y2t();function wbe(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}wbe.prototype.initialize=function(t){this.degree=t,this.genPoly=v2t.generateECPolynomial(this.degree)};wbe.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");let r=new Uint8Array(t.length+this.degree);r.set(t);let n=v2t.mod(r,this.genPoly),s=this.degree-n.length;if(s>0){let i=new Uint8Array(this.degree);return i.set(n,s),i}return n};S2t.exports=wbe});var Nbe=S(b2t=>{b2t.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}});var Obe=S(Ig=>{var I2t="[0-9]+",Orn="[A-Z $%*+\\-./:]+",Kk="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";Kk=Kk.replace(/u/g,"\\u");var Drn="(?:(?![A-Z0-9 $%*+\\-./:]|"+Kk+`)(?:.|[\r +]))+`;Ig.KANJI=new RegExp(Kk,"g");Ig.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");Ig.BYTE=new RegExp(Drn,"g");Ig.NUMERIC=new RegExp(I2t,"g");Ig.ALPHANUMERIC=new RegExp(Orn,"g");var Prn=new RegExp("^"+Kk+"$"),Lrn=new RegExp("^"+I2t+"$"),Mrn=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");Ig.testKanji=function(t){return Prn.test(t)};Ig.testNumeric=function(t){return Lrn.test(t)};Ig.testAlphanumeric=function(t){return Mrn.test(t)}});var mE=S(ea=>{var krn=Nbe(),Dbe=Obe();ea.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]};ea.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]};ea.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]};ea.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]};ea.MIXED={bit:-1};ea.getCharCountIndicator=function(t,r){if(!t.ccBits)throw new Error("Invalid mode: "+t);if(!krn.isValid(r))throw new Error("Invalid version: "+r);return r>=1&&r<10?t.ccBits[0]:r<27?t.ccBits[1]:t.ccBits[2]};ea.getBestModeForData=function(t){return Dbe.testNumeric(t)?ea.NUMERIC:Dbe.testAlphanumeric(t)?ea.ALPHANUMERIC:Dbe.testKanji(t)?ea.KANJI:ea.BYTE};ea.toString=function(t){if(t&&t.id)return t.id;throw new Error("Invalid mode")};ea.isValid=function(t){return t&&t.bit&&t.ccBits};function Brn(e){if(typeof e!="string")throw new Error("Param is not a string");switch(e.toLowerCase()){case"numeric":return ea.NUMERIC;case"alphanumeric":return ea.ALPHANUMERIC;case"kanji":return ea.KANJI;case"byte":return ea.BYTE;default:throw new Error("Unknown mode: "+e)}}ea.from=function(t,r){if(ea.isValid(t))return t;try{return Brn(t)}catch{return r}}});var N2t=S(fT=>{var v7=hE(),Urn=Cbe(),R2t=m7(),gE=mE(),Pbe=Nbe(),x2t=7973,C2t=v7.getBCHDigit(x2t);function Frn(e,t,r){for(let n=1;n<=40;n++)if(t<=fT.getCapacity(n,r,e))return n}function w2t(e,t){return gE.getCharCountIndicator(e,t)+4}function $rn(e,t){let r=0;return e.forEach(function(n){let s=w2t(n.mode,t);r+=s+n.getBitsLength()}),r}function qrn(e,t){for(let r=1;r<=40;r++)if($rn(e,r)<=fT.getCapacity(r,t,gE.MIXED))return r}fT.from=function(t,r){return Pbe.isValid(t)?parseInt(t,10):r};fT.getCapacity=function(t,r,n){if(!Pbe.isValid(t))throw new Error("Invalid QR Code version");typeof n>"u"&&(n=gE.BYTE);let s=v7.getSymbolTotalCodewords(t),i=Urn.getTotalCodewordsCount(t,r),a=(s-i)*8;if(n===gE.MIXED)return a;let o=a-w2t(n,t);switch(n){case gE.NUMERIC:return Math.floor(o/10*3);case gE.ALPHANUMERIC:return Math.floor(o/11*2);case gE.KANJI:return Math.floor(o/13);case gE.BYTE:default:return Math.floor(o/8)}};fT.getBestVersionForData=function(t,r){let n,s=R2t.from(r,R2t.M);if(Array.isArray(t)){if(t.length>1)return qrn(t,s);if(t.length===0)return 1;n=t[0]}else n=t;return Frn(n.mode,n.getLength(),s)};fT.getEncodedBits=function(t){if(!Pbe.isValid(t)||t<7)throw new Error("Invalid QR Code version");let r=t<<12;for(;v7.getBCHDigit(r)-C2t>=0;)r^=x2t<{var Lbe=hE(),D2t=1335,Hrn=21522,O2t=Lbe.getBCHDigit(D2t);P2t.getEncodedBits=function(t,r){let n=t.bit<<3|r,s=n<<10;for(;Lbe.getBCHDigit(s)-O2t>=0;)s^=D2t<{var Vrn=mE();function BC(e){this.mode=Vrn.NUMERIC,this.data=e.toString()}BC.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)};BC.prototype.getLength=function(){return this.data.length};BC.prototype.getBitsLength=function(){return BC.getBitsLength(this.data.length)};BC.prototype.write=function(t){let r,n,s;for(r=0;r+3<=this.data.length;r+=3)n=this.data.substr(r,3),s=parseInt(n,10),t.put(s,10);let i=this.data.length-r;i>0&&(n=this.data.substr(r),s=parseInt(n,10),t.put(s,i*3+1))};M2t.exports=BC});var U2t=S((qgs,B2t)=>{var jrn=mE(),Mbe=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function UC(e){this.mode=jrn.ALPHANUMERIC,this.data=e}UC.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)};UC.prototype.getLength=function(){return this.data.length};UC.prototype.getBitsLength=function(){return UC.getBitsLength(this.data.length)};UC.prototype.write=function(t){let r;for(r=0;r+2<=this.data.length;r+=2){let n=Mbe.indexOf(this.data[r])*45;n+=Mbe.indexOf(this.data[r+1]),t.put(n,11)}this.data.length%2&&t.put(Mbe.indexOf(this.data[r]),6)};B2t.exports=UC});var $2t=S((Hgs,F2t)=>{var Krn=mE();function FC(e){this.mode=Krn.BYTE,typeof e=="string"?this.data=new TextEncoder().encode(e):this.data=new Uint8Array(e)}FC.getBitsLength=function(t){return t*8};FC.prototype.getLength=function(){return this.data.length};FC.prototype.getBitsLength=function(){return FC.getBitsLength(this.data.length)};FC.prototype.write=function(e){for(let t=0,r=this.data.length;t{var Grn=mE(),Yrn=hE();function $C(e){this.mode=Grn.KANJI,this.data=e}$C.getBitsLength=function(t){return t*13};$C.prototype.getLength=function(){return this.data.length};$C.prototype.getBitsLength=function(){return $C.getBitsLength(this.data.length)};$C.prototype.write=function(e){let t;for(t=0;t=33088&&r<=40956)r-=33088;else if(r>=57408&&r<=60351)r-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+` +Make sure your charset is UTF-8`);r=(r>>>8&255)*192+(r&255),e.put(r,13)}};q2t.exports=$C});var V2t=S((jgs,kbe)=>{"use strict";var Gk={single_source_shortest_paths:function(e,t,r){var n={},s={};s[t]=0;var i=Gk.PriorityQueue.make();i.push(t,0);for(var a,o,c,u,l,d,f,h,p;!i.empty();){a=i.pop(),o=a.value,u=a.cost,l=e[o]||{};for(c in l)l.hasOwnProperty(c)&&(d=l[c],f=u+d,h=s[c],p=typeof s[c]>"u",(p||h>f)&&(s[c]=f,i.push(c,f),n[c]=o))}if(typeof r<"u"&&typeof s[r]>"u"){var m=["Could not find a path from ",t," to ",r,"."].join("");throw new Error(m)}return n},extract_shortest_path_from_predecessor_list:function(e,t){for(var r=[],n=t,s;n;)r.push(n),s=e[n],n=e[n];return r.reverse(),r},find_path:function(e,t,r){var n=Gk.single_source_shortest_paths(e,t,r);return Gk.extract_shortest_path_from_predecessor_list(n,r)},PriorityQueue:{make:function(e){var t=Gk.PriorityQueue,r={},n;e=e||{};for(n in t)t.hasOwnProperty(n)&&(r[n]=t[n]);return r.queue=[],r.sorter=e.sorter||t.default_sorter,r},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var r={value:e,cost:t};this.queue.push(r),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};typeof kbe<"u"&&(kbe.exports=Gk)});var X2t=S(qC=>{var Kn=mE(),G2t=k2t(),Y2t=U2t(),Q2t=$2t(),z2t=H2t(),Yk=Obe(),S7=hE(),Qrn=V2t();function j2t(e){return unescape(encodeURIComponent(e)).length}function Qk(e,t,r){let n=[],s;for(;(s=e.exec(r))!==null;)n.push({data:s[0],index:s.index,mode:t,length:s[0].length});return n}function W2t(e){let t=Qk(Yk.NUMERIC,Kn.NUMERIC,e),r=Qk(Yk.ALPHANUMERIC,Kn.ALPHANUMERIC,e),n,s;return S7.isKanjiModeEnabled()?(n=Qk(Yk.BYTE,Kn.BYTE,e),s=Qk(Yk.KANJI,Kn.KANJI,e)):(n=Qk(Yk.BYTE_KANJI,Kn.BYTE,e),s=[]),t.concat(r,n,s).sort(function(a,o){return a.index-o.index}).map(function(a){return{data:a.data,mode:a.mode,length:a.length}})}function Bbe(e,t){switch(t){case Kn.NUMERIC:return G2t.getBitsLength(e);case Kn.ALPHANUMERIC:return Y2t.getBitsLength(e);case Kn.KANJI:return z2t.getBitsLength(e);case Kn.BYTE:return Q2t.getBitsLength(e)}}function zrn(e){return e.reduce(function(t,r){let n=t.length-1>=0?t[t.length-1]:null;return n&&n.mode===r.mode?(t[t.length-1].data+=r.data,t):(t.push(r),t)},[])}function Wrn(e){let t=[];for(let r=0;r{var b7=hE(),Ube=m7(),Jrn=d2t(),Zrn=h2t(),enn=p2t(),tnn=_2t(),qbe=A2t(),Hbe=Cbe(),rnn=T2t(),T7=N2t(),nnn=L2t(),snn=mE(),Fbe=X2t();function inn(e,t){let r=e.size,n=tnn.getPositions(t);for(let s=0;s=0&&o<=6&&(c===0||c===6)||c>=0&&c<=6&&(o===0||o===6)||o>=2&&o<=4&&c>=2&&c<=4?e.set(i+o,a+c,!0,!0):e.set(i+o,a+c,!1,!0))}}function ann(e){let t=e.size;for(let r=8;r>o&1)===1,e.set(s,i,a,!0),e.set(i,s,a,!0)}function $be(e,t,r){let n=e.size,s=nnn.getEncodedBits(t,r),i,a;for(i=0;i<15;i++)a=(s>>i&1)===1,i<6?e.set(i,8,a,!0):i<8?e.set(i+1,8,a,!0):e.set(n-15+i,8,a,!0),i<8?e.set(8,n-i-1,a,!0):i<9?e.set(8,15-i-1+1,a,!0):e.set(8,15-i-1,a,!0);e.set(n-8,8,1,!0)}function unn(e,t){let r=e.size,n=-1,s=r-1,i=7,a=0;for(let o=r-1;o>0;o-=2)for(o===6&&o--;;){for(let c=0;c<2;c++)if(!e.isReserved(s,o-c)){let u=!1;a>>i&1)===1),e.set(s,o-c,u),i--,i===-1&&(a++,i=7)}if(s+=n,s<0||r<=s){s-=n,n=-n;break}}}function lnn(e,t,r){let n=new Jrn;r.forEach(function(c){n.put(c.mode.bit,4),n.put(c.getLength(),snn.getCharCountIndicator(c.mode,e)),c.write(n)});let s=b7.getSymbolTotalCodewords(e),i=Hbe.getTotalCodewordsCount(e,t),a=(s-i)*8;for(n.getLengthInBits()+4<=a&&n.put(0,4);n.getLengthInBits()%8!==0;)n.putBit(0);let o=(a-n.getLengthInBits())/8;for(let c=0;c=7&&cnn(c,t),unn(c,a),isNaN(n)&&(n=qbe.getBestMask(c,$be.bind(null,c,r))),qbe.applyMask(n,c),$be(c,r,n),{modules:c,version:t,errorCorrectionLevel:r,maskPattern:n,segments:s}}J2t.create=function(t,r){if(typeof t>"u"||t==="")throw new Error("No input text");let n=Ube.M,s,i;return typeof r<"u"&&(n=Ube.from(r.errorCorrectionLevel,Ube.M),s=T7.from(r.version),i=qbe.from(r.maskPattern),r.toSJISFunc&&b7.setToSJISFunction(r.toSJISFunc)),fnn(t,s,n,i)}});var jbe=S((Ygs,ePt)=>{"use strict";var hnn=require("util"),Z2t=require("stream"),o0=ePt.exports=function(){Z2t.call(this),this._buffers=[],this._buffered=0,this._reads=[],this._paused=!1,this._encoding="utf8",this.writable=!0};hnn.inherits(o0,Z2t);o0.prototype.read=function(e,t){this._reads.push({length:Math.abs(e),allowLess:e<0,func:t}),process.nextTick(function(){this._process(),this._paused&&this._reads&&this._reads.length>0&&(this._paused=!1,this.emit("drain"))}.bind(this))};o0.prototype.write=function(e,t){if(!this.writable)return this.emit("error",new Error("Stream not writable")),!1;let r;return Buffer.isBuffer(e)?r=e:r=Buffer.from(e,t||this._encoding),this._buffers.push(r),this._buffered+=r.length,this._process(),this._reads&&this._reads.length===0&&(this._paused=!0),this.writable&&!this._paused};o0.prototype.end=function(e,t){e&&this.write(e,t),this.writable=!1,this._buffers&&(this._buffers.length===0?this._end():(this._buffers.push(null),this._process()))};o0.prototype.destroySoon=o0.prototype.end;o0.prototype._end=function(){this._reads.length>0&&this.emit("error",new Error("Unexpected end of input")),this.destroy()};o0.prototype.destroy=function(){this._buffers&&(this.writable=!1,this._reads=null,this._buffers=null,this.emit("close"))};o0.prototype._processReadAllowingLess=function(e){this._reads.shift();let t=this._buffers[0];t.length>e.length?(this._buffered-=e.length,this._buffers[0]=t.slice(e.length),e.func.call(this,t.slice(0,e.length))):(this._buffered-=t.length,this._buffers.shift(),e.func.call(this,t))};o0.prototype._processRead=function(e){this._reads.shift();let t=0,r=0,n=Buffer.alloc(e.length);for(;t0&&this._buffers.splice(0,r),this._buffered-=e.length,e.func.call(this,n)};o0.prototype._process=function(){try{for(;this._buffered>0&&this._reads&&this._reads.length>0;){let e=this._reads[0];if(e.allowLess)this._processReadAllowingLess(e);else if(this._buffered>=e.length)this._processRead(e);else break}this._buffers&&!this.writable&&this._end()}catch(e){this.emit("error",e)}}});var Gbe=S(Kbe=>{"use strict";var _E=[{x:[0],y:[0]},{x:[4],y:[0]},{x:[0,4],y:[4]},{x:[2,6],y:[0,4]},{x:[0,2,4,6],y:[2,6]},{x:[1,3,5,7],y:[0,2,4,6]},{x:[0,1,2,3,4,5,6,7],y:[1,3,5,7]}];Kbe.getImagePasses=function(e,t){let r=[],n=e%8,s=t%8,i=(e-n)/8,a=(t-s)/8;for(let o=0;o<_E.length;o++){let c=_E[o],u=i*c.x.length,l=a*c.y.length;for(let d=0;d0&&l>0&&r.push({width:u,height:l,index:o})}return r};Kbe.getInterlaceIterator=function(e){return function(t,r,n){let s=t%_E[n].x.length,i=(t-s)/_E[n].x.length*8+_E[n].x[s],a=r%_E[n].y.length,o=(r-a)/_E[n].y.length*8+_E[n].y[a];return i*4+o*e*4}}});var Ybe=S((zgs,tPt)=>{"use strict";tPt.exports=function(t,r,n){let s=t+r-n,i=Math.abs(s-t),a=Math.abs(s-r),o=Math.abs(s-n);return i<=a&&i<=o?t:a<=o?r:n}});var Qbe=S((Wgs,nPt)=>{"use strict";var pnn=Gbe(),mnn=Ybe();function rPt(e,t,r){let n=e*t;return r!==8&&(n=Math.ceil(n/(8/r))),n}var HC=nPt.exports=function(e,t){let r=e.width,n=e.height,s=e.interlace,i=e.bpp,a=e.depth;if(this.read=t.read,this.write=t.write,this.complete=t.complete,this._imageIndex=0,this._images=[],s){let o=pnn.getImagePasses(r,n);for(let c=0;cs?t[i-n]:0;t[i]=a+o}};HC.prototype._unFilterType2=function(e,t,r){let n=this._lastLine;for(let s=0;ss?t[a-n]:0,l=Math.floor((u+c)/2);t[a]=o+l}};HC.prototype._unFilterType4=function(e,t,r){let n=this._xComparison,s=n-1,i=this._lastLine;for(let a=0;as?t[a-n]:0,l=a>s&&i?i[a-n]:0,d=mnn(u,c,l);t[a]=o+d}};HC.prototype._reverseFilterLine=function(e){let t=e[0],r,n=this._images[this._imageIndex],s=n.byteWidth;if(t===0)r=e.slice(1,s+1);else switch(r=Buffer.alloc(s),t){case 1:this._unFilterType1(e,r,s);break;case 2:this._unFilterType2(e,r,s);break;case 3:this._unFilterType3(e,r,s);break;case 4:this._unFilterType4(e,r,s);break;default:throw new Error("Unrecognised filter type - "+t)}this.write(r),n.lineIndex++,n.lineIndex>=n.height?(this._lastLine=null,this._imageIndex++,n=this._images[this._imageIndex]):this._lastLine=r,n?this.read(n.byteWidth+1,this._reverseFilterLine.bind(this)):(this._lastLine=null,this.complete())}});var aPt=S((Xgs,iPt)=>{"use strict";var gnn=require("util"),sPt=jbe(),_nn=Qbe(),Ann=iPt.exports=function(e){sPt.call(this);let t=[],r=this;this._filter=new _nn(e,{read:this.read.bind(this),write:function(n){t.push(n)},complete:function(){r.emit("complete",Buffer.concat(t))}}),this._filter.start()};gnn.inherits(Ann,sPt)});var VC=S((Jgs,oPt)=>{"use strict";oPt.exports={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:1229472850,TYPE_IEND:1229278788,TYPE_IDAT:1229209940,TYPE_PLTE:1347179589,TYPE_tRNS:1951551059,TYPE_gAMA:1732332865,COLORTYPE_GRAYSCALE:0,COLORTYPE_PALETTE:1,COLORTYPE_COLOR:2,COLORTYPE_ALPHA:4,COLORTYPE_PALETTE_COLOR:3,COLORTYPE_COLOR_ALPHA:6,COLORTYPE_TO_BPP_MAP:{0:1,2:3,3:1,4:2,6:4},GAMMA_DIVISION:1e5}});var Xbe=S((Zgs,cPt)=>{"use strict";var zbe=[];(function(){for(let e=0;e<256;e++){let t=e;for(let r=0;r<8;r++)t&1?t=3988292384^t>>>1:t=t>>>1;zbe[e]=t}})();var Wbe=cPt.exports=function(){this._crc=-1};Wbe.prototype.write=function(e){for(let t=0;t>>8;return!0};Wbe.prototype.crc32=function(){return this._crc^-1};Wbe.crc32=function(e){let t=-1;for(let r=0;r>>8;return t^-1}});var Jbe=S((e_s,uPt)=>{"use strict";var pa=VC(),Enn=Xbe(),$a=uPt.exports=function(e,t){this._options=e,e.checkCRC=e.checkCRC!==!1,this._hasIHDR=!1,this._hasIEND=!1,this._emittedHeadersFinished=!1,this._palette=[],this._colorType=0,this._chunks={},this._chunks[pa.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[pa.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[pa.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[pa.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[pa.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[pa.TYPE_gAMA]=this._handleGAMA.bind(this),this.read=t.read,this.error=t.error,this.metadata=t.metadata,this.gamma=t.gamma,this.transColor=t.transColor,this.palette=t.palette,this.parsed=t.parsed,this.inflateData=t.inflateData,this.finished=t.finished,this.simpleTransparency=t.simpleTransparency,this.headersFinished=t.headersFinished||function(){}};$a.prototype.start=function(){this.read(pa.PNG_SIGNATURE.length,this._parseSignature.bind(this))};$a.prototype._parseSignature=function(e){let t=pa.PNG_SIGNATURE;for(let r=0;rthis._palette.length){this.error(new Error("More transparent colors than palette size"));return}for(let t=0;t0?this._handleIDAT(r):this._handleChunkEnd()};$a.prototype._handleIEND=function(e){this.read(e,this._parseIEND.bind(this))};$a.prototype._parseIEND=function(e){this._crc.write(e),this._hasIEND=!0,this._handleChunkEnd(),this.finished&&this.finished()}});var Zbe=S(dPt=>{"use strict";var lPt=Gbe(),ynn=[function(){},function(e,t,r,n){if(n===t.length)throw new Error("Ran out of data");let s=t[n];e[r]=s,e[r+1]=s,e[r+2]=s,e[r+3]=255},function(e,t,r,n){if(n+1>=t.length)throw new Error("Ran out of data");let s=t[n];e[r]=s,e[r+1]=s,e[r+2]=s,e[r+3]=t[n+1]},function(e,t,r,n){if(n+2>=t.length)throw new Error("Ran out of data");e[r]=t[n],e[r+1]=t[n+1],e[r+2]=t[n+2],e[r+3]=255},function(e,t,r,n){if(n+3>=t.length)throw new Error("Ran out of data");e[r]=t[n],e[r+1]=t[n+1],e[r+2]=t[n+2],e[r+3]=t[n+3]}],vnn=[function(){},function(e,t,r,n){let s=t[0];e[r]=s,e[r+1]=s,e[r+2]=s,e[r+3]=n},function(e,t,r){let n=t[0];e[r]=n,e[r+1]=n,e[r+2]=n,e[r+3]=t[1]},function(e,t,r,n){e[r]=t[0],e[r+1]=t[1],e[r+2]=t[2],e[r+3]=n},function(e,t,r){e[r]=t[0],e[r+1]=t[1],e[r+2]=t[2],e[r+3]=t[3]}];function Snn(e,t){let r=[],n=0;function s(){if(n===e.length)throw new Error("Ran out of data");let i=e[n];n++;let a,o,c,u,l,d,f,h;switch(t){default:throw new Error("unrecognised depth");case 16:f=e[n],n++,r.push((i<<8)+f);break;case 4:f=i&15,h=i>>4,r.push(h,f);break;case 2:l=i&3,d=i>>2&3,f=i>>4&3,h=i>>6&3,r.push(h,f,d,l);break;case 1:a=i&1,o=i>>1&1,c=i>>2&1,u=i>>3&1,l=i>>4&1,d=i>>5&1,f=i>>6&1,h=i>>7&1,r.push(h,f,d,l,u,c,o,a);break}}return{get:function(i){for(;r.length{"use strict";function Inn(e,t,r,n,s){let i=0;for(let a=0;a{"use strict";var xnn=require("util"),t1e=require("zlib"),hPt=jbe(),wnn=aPt(),Nnn=Jbe(),Onn=Zbe(),Dnn=e1e(),Kh=pPt.exports=function(e){hPt.call(this),this._parser=new Nnn(e,{read:this.read.bind(this),error:this._handleError.bind(this),metadata:this._handleMetaData.bind(this),gamma:this.emit.bind(this,"gamma"),palette:this._handlePalette.bind(this),transColor:this._handleTransColor.bind(this),finished:this._finished.bind(this),inflateData:this._inflateData.bind(this),simpleTransparency:this._simpleTransparency.bind(this),headersFinished:this._headersFinished.bind(this)}),this._options=e,this.writable=!0,this._parser.start()};xnn.inherits(Kh,hPt);Kh.prototype._handleError=function(e){this.emit("error",e),this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy&&this._inflate.destroy(),this._filter&&(this._filter.destroy(),this._filter.on("error",function(){})),this.errord=!0};Kh.prototype._inflateData=function(e){if(!this._inflate)if(this._bitmapInfo.interlace)this._inflate=t1e.createInflate(),this._inflate.on("error",this.emit.bind(this,"error")),this._filter.on("complete",this._complete.bind(this)),this._inflate.pipe(this._filter);else{let r=((this._bitmapInfo.width*this._bitmapInfo.bpp*this._bitmapInfo.depth+7>>3)+1)*this._bitmapInfo.height,n=Math.max(r,t1e.Z_MIN_CHUNK);this._inflate=t1e.createInflate({chunkSize:n});let s=r,i=this.emit.bind(this,"error");this._inflate.on("error",function(o){s&&i(o)}),this._filter.on("complete",this._complete.bind(this));let a=this._filter.write.bind(this._filter);this._inflate.on("data",function(o){s&&(o.length>s&&(o=o.slice(0,s)),s-=o.length,a(o))}),this._inflate.on("end",this._filter.end.bind(this._filter))}this._inflate.write(e)};Kh.prototype._handleMetaData=function(e){this._metaData=e,this._bitmapInfo=Object.create(e),this._filter=new wnn(this._bitmapInfo)};Kh.prototype._handleTransColor=function(e){this._bitmapInfo.transColor=e};Kh.prototype._handlePalette=function(e){this._bitmapInfo.palette=e};Kh.prototype._simpleTransparency=function(){this._metaData.alpha=!0};Kh.prototype._headersFinished=function(){this.emit("metadata",this._metaData)};Kh.prototype._finished=function(){this.errord||(this._inflate?this._inflate.end():this.emit("error","No Inflate block"))};Kh.prototype._complete=function(e){if(this.errord)return;let t;try{let r=Onn.dataToBitMap(e,this._bitmapInfo);t=Dnn(r,this._bitmapInfo),r=null}catch(r){this._handleError(r);return}this.emit("parsed",t)}});var _Pt=S((s_s,gPt)=>{"use strict";var Vd=VC();gPt.exports=function(e,t,r,n){let s=[Vd.COLORTYPE_COLOR_ALPHA,Vd.COLORTYPE_ALPHA].indexOf(n.colorType)!==-1;if(n.colorType===n.inputColorType){let p=function(){let m=new ArrayBuffer(2);return new DataView(m).setInt16(0,256,!0),new Int16Array(m)[0]!==256}();if(n.bitDepth===8||n.bitDepth===16&&p)return e}let i=n.bitDepth!==16?e:new Uint16Array(e.buffer),a=255,o=Vd.COLORTYPE_TO_BPP_MAP[n.inputColorType];o===4&&!n.inputHasAlpha&&(o=3);let c=Vd.COLORTYPE_TO_BPP_MAP[n.colorType];n.bitDepth===16&&(a=65535,c*=2);let u=Buffer.alloc(t*r*c),l=0,d=0,f=n.bgColor||{};f.red===void 0&&(f.red=a),f.green===void 0&&(f.green=a),f.blue===void 0&&(f.blue=a);function h(){let p,m,g,_=a;switch(n.inputColorType){case Vd.COLORTYPE_COLOR_ALPHA:_=i[l+3],p=i[l],m=i[l+1],g=i[l+2];break;case Vd.COLORTYPE_COLOR:p=i[l],m=i[l+1],g=i[l+2];break;case Vd.COLORTYPE_ALPHA:_=i[l+1],p=i[l],m=p,g=p;break;case Vd.COLORTYPE_GRAYSCALE:p=i[l],m=p,g=p;break;default:throw new Error("input color type:"+n.inputColorType+" is not supported at present")}return n.inputHasAlpha&&(s||(_/=a,p=Math.min(Math.max(Math.round((1-_)*f.red+_*p),0),a),m=Math.min(Math.max(Math.round((1-_)*f.green+_*m),0),a),g=Math.min(Math.max(Math.round((1-_)*f.blue+_*g),0),a))),{red:p,green:m,blue:g,alpha:_}}for(let p=0;p{"use strict";var APt=Ybe();function Pnn(e,t,r,n,s){for(let i=0;i=i?e[t+a-i]:0,c=e[t+a]-o;n[s+a]=c}}function knn(e,t,r,n){let s=0;for(let i=0;i=n?e[t+i-n]:0,o=e[t+i]-a;s+=Math.abs(o)}return s}function Bnn(e,t,r,n,s){for(let i=0;i0?e[t+i-r]:0,o=e[t+i]-a;n[s+i]=o}}function Unn(e,t,r){let n=0,s=t+r;for(let i=t;i0?e[i-r]:0,o=e[i]-a;n+=Math.abs(o)}return n}function Fnn(e,t,r,n,s,i){for(let a=0;a=i?e[t+a-i]:0,c=t>0?e[t+a-r]:0,u=e[t+a]-(o+c>>1);n[s+a]=u}}function $nn(e,t,r,n){let s=0;for(let i=0;i=n?e[t+i-n]:0,o=t>0?e[t+i-r]:0,c=e[t+i]-(a+o>>1);s+=Math.abs(c)}return s}function qnn(e,t,r,n,s,i){for(let a=0;a=i?e[t+a-i]:0,c=t>0?e[t+a-r]:0,u=t>0&&a>=i?e[t+a-(r+i)]:0,l=e[t+a]-APt(o,c,u);n[s+a]=l}}function Hnn(e,t,r,n){let s=0;for(let i=0;i=n?e[t+i-n]:0,o=t>0?e[t+i-r]:0,c=t>0&&i>=n?e[t+i-(r+n)]:0,u=e[t+i]-APt(a,o,c);s+=Math.abs(u)}return s}var Vnn={0:Pnn,1:Mnn,2:Bnn,3:Fnn,4:qnn},jnn={0:Lnn,1:knn,2:Unn,3:$nn,4:Hnn};EPt.exports=function(e,t,r,n,s){let i;if(!("filterType"in n)||n.filterType===-1)i=[0,1,2,3,4];else if(typeof n.filterType=="number")i=[n.filterType];else throw new Error("unrecognised filter types");n.bitDepth===16&&(s*=2);let a=t*s,o=0,c=0,u=Buffer.alloc((a+1)*r),l=i[0];for(let d=0;d1){let f=1/0;for(let h=0;h{"use strict";var tc=VC(),Knn=Xbe(),Gnn=_Pt(),Ynn=yPt(),Qnn=require("zlib"),AE=vPt.exports=function(e){if(this._options=e,e.deflateChunkSize=e.deflateChunkSize||32*1024,e.deflateLevel=e.deflateLevel!=null?e.deflateLevel:9,e.deflateStrategy=e.deflateStrategy!=null?e.deflateStrategy:3,e.inputHasAlpha=e.inputHasAlpha!=null?e.inputHasAlpha:!0,e.deflateFactory=e.deflateFactory||Qnn.createDeflate,e.bitDepth=e.bitDepth||8,e.colorType=typeof e.colorType=="number"?e.colorType:tc.COLORTYPE_COLOR_ALPHA,e.inputColorType=typeof e.inputColorType=="number"?e.inputColorType:tc.COLORTYPE_COLOR_ALPHA,[tc.COLORTYPE_GRAYSCALE,tc.COLORTYPE_COLOR,tc.COLORTYPE_COLOR_ALPHA,tc.COLORTYPE_ALPHA].indexOf(e.colorType)===-1)throw new Error("option color type:"+e.colorType+" is not supported at present");if([tc.COLORTYPE_GRAYSCALE,tc.COLORTYPE_COLOR,tc.COLORTYPE_COLOR_ALPHA,tc.COLORTYPE_ALPHA].indexOf(e.inputColorType)===-1)throw new Error("option input color type:"+e.inputColorType+" is not supported at present");if(e.bitDepth!==8&&e.bitDepth!==16)throw new Error("option bit depth:"+e.bitDepth+" is not supported at present")};AE.prototype.getDeflateOptions=function(){return{chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy}};AE.prototype.createDeflate=function(){return this._options.deflateFactory(this.getDeflateOptions())};AE.prototype.filterData=function(e,t,r){let n=Gnn(e,t,r,this._options),s=tc.COLORTYPE_TO_BPP_MAP[this._options.colorType];return Ynn(n,t,r,this._options,s)};AE.prototype._packChunk=function(e,t){let r=t?t.length:0,n=Buffer.alloc(r+12);return n.writeUInt32BE(r,0),n.writeUInt32BE(e,4),t&&t.copy(n,8),n.writeInt32BE(Knn.crc32(n.slice(4,n.length-4)),n.length-4),n};AE.prototype.packGAMA=function(e){let t=Buffer.alloc(4);return t.writeUInt32BE(Math.floor(e*tc.GAMMA_DIVISION),0),this._packChunk(tc.TYPE_gAMA,t)};AE.prototype.packIHDR=function(e,t){let r=Buffer.alloc(13);return r.writeUInt32BE(e,0),r.writeUInt32BE(t,4),r[8]=this._options.bitDepth,r[9]=this._options.colorType,r[10]=0,r[11]=0,r[12]=0,this._packChunk(tc.TYPE_IHDR,r)};AE.prototype.packIDAT=function(e){return this._packChunk(tc.TYPE_IDAT,e)};AE.prototype.packIEND=function(){return this._packChunk(tc.TYPE_IEND,null)}});var IPt=S((o_s,bPt)=>{"use strict";var znn=require("util"),SPt=require("stream"),Wnn=VC(),Xnn=r1e(),TPt=bPt.exports=function(e){SPt.call(this);let t=e||{};this._packer=new Xnn(t),this._deflate=this._packer.createDeflate(),this.readable=!0};znn.inherits(TPt,SPt);TPt.prototype.pack=function(e,t,r,n){this.emit("data",Buffer.from(Wnn.PNG_SIGNATURE)),this.emit("data",this._packer.packIHDR(t,r)),n&&this.emit("data",this._packer.packGAMA(n));let s=this._packer.filterData(e,t,r);this._deflate.on("error",this.emit.bind(this,"error")),this._deflate.on("data",function(i){this.emit("data",this._packer.packIDAT(i))}.bind(this)),this._deflate.on("end",function(){this.emit("data",this._packer.packIEND()),this.emit("end")}.bind(this)),this._deflate.end(s)}});var OPt=S((zk,NPt)=>{"use strict";var RPt=require("assert").ok,jC=require("zlib"),Jnn=require("util"),CPt=require("buffer").kMaxLength;function hT(e){if(!(this instanceof hT))return new hT(e);e&&e.chunkSize=0,"have should not go down"),g>0){let _=n._buffer.slice(n._offset,n._offset+g);if(n._offset+=g,_.length>a&&(_=_.slice(0,a)),c.push(_),u+=_.length,a-=_.length,a===0)return!1}return(m===0||n._offset>=n._chunkSize)&&(i=n._chunkSize,n._offset=0,n._buffer=Buffer.allocUnsafe(n._chunkSize)),m===0?(o+=s-p,s=p,!0):!1}RPt(this._handle,"zlib binding closed");let f;do f=this._handle.writeSync(t,e,o,s,this._buffer,this._offset,i),f=f||this._writeState;while(!this._hadError&&d(f[0],f[1]));if(this._hadError)throw l;if(u>=CPt)throw xPt(this),new RangeError("Cannot create final Buffer. It would be larger than 0x"+CPt.toString(16)+" bytes");let h=Buffer.concat(c,u);return xPt(this),h};Jnn.inherits(hT,jC.Inflate);function esn(e,t){if(typeof t=="string"&&(t=Buffer.from(t)),!(t instanceof Buffer))throw new TypeError("Not a string or buffer");let r=e._finishFlushFlag;return r==null&&(r=jC.Z_FINISH),e._processChunk(t,r)}function wPt(e,t){return esn(new hT(t),e)}NPt.exports=zk=wPt;zk.Inflate=hT;zk.createInflate=Znn;zk.inflateSync=wPt});var n1e=S((c_s,PPt)=>{"use strict";var DPt=PPt.exports=function(e){this._buffer=e,this._reads=[]};DPt.prototype.read=function(e,t){this._reads.push({length:Math.abs(e),allowLess:e<0,func:t})};DPt.prototype.process=function(){for(;this._reads.length>0&&this._buffer.length;){let e=this._reads[0];if(this._buffer.length&&(this._buffer.length>=e.length||e.allowLess)){this._reads.shift();let t=this._buffer;this._buffer=t.slice(e.length),e.func.call(this,t.slice(0,e.length))}else break}if(this._reads.length>0)return new Error("There are some read requests waitng on finished stream");if(this._buffer.length>0)return new Error("unrecognised content at end of stream")}});var MPt=S(LPt=>{"use strict";var tsn=n1e(),rsn=Qbe();LPt.process=function(e,t){let r=[],n=new tsn(e);return new rsn(t,{read:n.read.bind(n),write:function(i){r.push(i)},complete:function(){}}).start(),n.process(),Buffer.concat(r)}});var FPt=S((l_s,UPt)=>{"use strict";var kPt=!0,BPt=require("zlib"),nsn=OPt();BPt.deflateSync||(kPt=!1);var ssn=n1e(),isn=MPt(),asn=Jbe(),osn=Zbe(),csn=e1e();UPt.exports=function(e,t){if(!kPt)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let r;function n(A){r=A}let s;function i(A){s=A}function a(A){s.transColor=A}function o(A){s.palette=A}function c(){s.alpha=!0}let u;function l(A){u=A}let d=[];function f(A){d.push(A)}let h=new ssn(e);if(new asn(t,{read:h.read.bind(h),error:n,metadata:i,gamma:l,palette:o,transColor:a,inflateData:f,simpleTransparency:c}).start(),h.process(),r)throw r;let m=Buffer.concat(d);d.length=0;let g;if(s.interlace)g=BPt.inflateSync(m);else{let v=((s.width*s.bpp*s.depth+7>>3)+1)*s.height;g=nsn(m,{chunkSize:v,maxLength:v})}if(m=null,!g||!g.length)throw new Error("bad png - invalid inflate data response");let _=isn.process(g,s);m=null;let y=osn.dataToBitMap(_,s);_=null;let E=csn(y,s);return s.data=E,s.gamma=u||0,s}});var VPt=S((d_s,HPt)=>{"use strict";var $Pt=!0,qPt=require("zlib");qPt.deflateSync||($Pt=!1);var usn=VC(),lsn=r1e();HPt.exports=function(e,t){if(!$Pt)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let r=t||{},n=new lsn(r),s=[];s.push(Buffer.from(usn.PNG_SIGNATURE)),s.push(n.packIHDR(e.width,e.height)),e.gamma&&s.push(n.packGAMA(e.gamma));let i=n.filterData(e.data,e.width,e.height),a=qPt.deflateSync(i,n.getDeflateOptions());if(i=null,!a||!a.length)throw new Error("bad png - invalid compressed data response");return s.push(n.packIDAT(a)),s.push(n.packIEND()),Buffer.concat(s)}});var jPt=S(s1e=>{"use strict";var dsn=FPt(),fsn=VPt();s1e.read=function(e,t){return dsn(e,t||{})};s1e.write=function(e,t){return fsn(e,t)}});var i1e=S(GPt=>{"use strict";var hsn=require("util"),KPt=require("stream"),psn=mPt(),msn=IPt(),gsn=jPt(),Gc=GPt.PNG=function(e){KPt.call(this),e=e||{},this.width=e.width|0,this.height=e.height|0,this.data=this.width>0&&this.height>0?Buffer.alloc(4*this.width*this.height):null,e.fill&&this.data&&this.data.fill(0),this.gamma=0,this.readable=this.writable=!0,this._parser=new psn(e),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",function(t){this.data=t,this.emit("parsed",t)}.bind(this)),this._packer=new msn(e),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};hsn.inherits(Gc,KPt);Gc.sync=gsn;Gc.prototype.pack=function(){return!this.data||!this.data.length?(this.emit("error","No data provided"),this):(process.nextTick(function(){this._packer.pack(this.data,this.width,this.height,this.gamma)}.bind(this)),this)};Gc.prototype.parse=function(e,t){if(t){let r,n;r=function(s){this.removeListener("error",n),this.data=s,t(null,this)}.bind(this),n=function(s){this.removeListener("parsed",r),t(s,null)}.bind(this),this.once("parsed",r),this.once("error",n)}return this.end(e),this};Gc.prototype.write=function(e){return this._parser.write(e),!0};Gc.prototype.end=function(e){this._parser.end(e)};Gc.prototype._metadata=function(e){this.width=e.width,this.height=e.height,this.emit("metadata",e)};Gc.prototype._gamma=function(e){this.gamma=e};Gc.prototype._handleClose=function(){!this._parser.writable&&!this._packer.readable&&this.emit("close")};Gc.bitblt=function(e,t,r,n,s,i,a,o){if(r|=0,n|=0,s|=0,i|=0,a|=0,o|=0,r>e.width||n>e.height||r+s>e.width||n+i>e.height)throw new Error("bitblt reading outside image");if(a>t.width||o>t.height||a+s>t.width||o+i>t.height)throw new Error("bitblt writing outside image");for(let c=0;c{function YPt(e){if(typeof e=="number"&&(e=e.toString()),typeof e!="string")throw new Error("Color should be defined as hex string");let t=e.slice().replace("#","").split("");if(t.length<3||t.length===5||t.length>8)throw new Error("Invalid hex color: "+e);(t.length===3||t.length===4)&&(t=Array.prototype.concat.apply([],t.map(function(n){return[n,n]}))),t.length===6&&t.push("F","F");let r=parseInt(t.join(""),16);return{r:r>>24&255,g:r>>16&255,b:r>>8&255,a:r&255,hex:"#"+t.slice(0,6).join("")}}pT.getOptions=function(t){t||(t={}),t.color||(t.color={});let r=typeof t.margin>"u"||t.margin===null||t.margin<0?4:t.margin,n=t.width&&t.width>=21?t.width:void 0,s=t.scale||4;return{width:n,scale:n?4:s,margin:r,color:{dark:YPt(t.color.dark||"#000000ff"),light:YPt(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}};pT.getScale=function(t,r){return r.width&&r.width>=t+r.margin*2?r.width/(t+r.margin*2):r.scale};pT.getImageWidth=function(t,r){let n=pT.getScale(t,r);return Math.floor((t+r.margin*2)*n)};pT.qrToImageData=function(t,r,n){let s=r.modules.size,i=r.modules.data,a=pT.getScale(s,n),o=Math.floor((s+n.margin*2)*a),c=n.margin*a,u=[n.color.light,n.color.dark];for(let l=0;l=c&&d>=c&&l{var _sn=require("fs"),Asn=i1e().PNG,a1e=Wk();Gh.render=function(t,r){let n=a1e.getOptions(r),s=n.rendererOpts,i=a1e.getImageWidth(t.modules.size,n);s.width=i,s.height=i;let a=new Asn(s);return a1e.qrToImageData(a.data,t,n),a};Gh.renderToDataURL=function(t,r,n){typeof n>"u"&&(n=r,r=void 0),Gh.renderToBuffer(t,r,function(s,i){s&&n(s);let a="data:image/png;base64,";a+=i.toString("base64"),n(null,a)})};Gh.renderToBuffer=function(t,r,n){typeof n>"u"&&(n=r,r=void 0);let s=Gh.render(t,r),i=[];s.on("error",n),s.on("data",function(a){i.push(a)}),s.on("end",function(){n(null,Buffer.concat(i))}),s.pack()};Gh.renderToFile=function(t,r,n,s){typeof s>"u"&&(s=n,n=void 0);let i=!1,a=(...c)=>{i||(i=!0,s.apply(null,c))},o=_sn.createWriteStream(t);o.on("error",a),o.on("close",a),Gh.renderToFileStream(o,r,n)};Gh.renderToFileStream=function(t,r,n){Gh.render(r,n).pack().pipe(t)}});var zPt=S(I7=>{var Esn=Wk(),ysn={WW:" ",WB:"\u2584",BB:"\u2588",BW:"\u2580"},vsn={BB:" ",BW:"\u2584",WW:"\u2588",WB:"\u2580"};function Ssn(e,t,r){return e&&t?r.BB:e&&!t?r.BW:!e&&t?r.WB:r.WW}I7.render=function(e,t,r){let n=Esn.getOptions(t),s=ysn;(n.color.dark.hex==="#ffffff"||n.color.light.hex==="#000000")&&(s=vsn);let i=e.modules.size,a=e.modules.data,o="",c=Array(i+n.margin*2+1).join(s.WW);c=Array(n.margin/2+1).join(c+` +`);let u=Array(n.margin+1).join(s.WW);o+=c;for(let l=0;l"u"&&(s=n,n=void 0);let i=require("fs"),a=I7.render(r,n);i.writeFile(t,a,s)}});var XPt=S(WPt=>{WPt.render=function(e,t,r){let n=e.modules.size,s=e.modules.data,i="\x1B[40m \x1B[0m",a="\x1B[47m \x1B[0m",o="",c=Array(n+3).join(a),u=Array(2).join(a);o+=c+` +`;for(let l=0;l{var Tsn="\x1B[47m",bsn="\x1B[40m",o1e="\x1B[37m",c1e="\x1B[30m",mT="\x1B[0m",Isn=Tsn+c1e,Rsn=bsn+o1e,Csn=function(e,t,r){return{"00":mT+" "+e,"01":mT+t+"\u2584"+e,"02":mT+r+"\u2584"+e,10:mT+t+"\u2580"+e,11:" ",12:"\u2584",20:mT+r+"\u2580"+e,21:"\u2580",22:"\u2588"}},JPt=function(e,t,r,n){let s=t+1;if(r>=s||n>=s||n<-1||r<-1)return"0";if(r>=t||n>=t||n<0||r<0)return"1";let i=n*t+r;return e[i]?"2":"1"},ZPt=function(e,t,r,n){return JPt(e,t,r,n)+JPt(e,t,r,n+1)};eLt.render=function(e,t,r){let n=e.modules.size,s=e.modules.data,i=!!(t&&t.inverse),a=t&&t.inverse?Rsn:Isn,u=Csn(a,i?c1e:o1e,i?o1e:c1e),l=mT+` +`+a,d=a;for(let f=-1;f{var xsn=XPt(),wsn=tLt();rLt.render=function(e,t,r){return t&&t.small?wsn.render(e,t,r):xsn.render(e,t,r)}});var l1e=S(iLt=>{var Nsn=Wk();function sLt(e,t){let r=e.a/255,n=t+'="'+e.hex+'"';return r<1?n+" "+t+'-opacity="'+r.toFixed(2).slice(1)+'"':n}function u1e(e,t,r){let n=e+t;return typeof r<"u"&&(n+=" "+r),n}function Osn(e,t,r){let n="",s=0,i=!1,a=0;for(let o=0;o0&&c>0&&e[o-1]||(n+=i?u1e("M",c+r,.5+u+r):u1e("m",s,0),s=0,i=!1),c+1':"",u="',l='viewBox="0 0 '+o+" "+o+'"',f=''+c+u+` +`;return typeof n=="function"&&n(null,f),f}});var aLt=S(R7=>{var Dsn=l1e();R7.render=Dsn.render;R7.renderToFile=function(t,r,n,s){typeof s>"u"&&(s=n,n=void 0);let i=require("fs"),o=''+R7.render(r,n);i.writeFile(t,o,s)}});var oLt=S(C7=>{var d1e=Wk();function Psn(e,t,r){e.clearRect(0,0,t.width,t.height),t.style||(t.style={}),t.height=r,t.width=r,t.style.height=r+"px",t.style.width=r+"px"}function Lsn(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}C7.render=function(t,r,n){let s=n,i=r;typeof s>"u"&&(!r||!r.getContext)&&(s=r,r=void 0),r||(i=Lsn()),s=d1e.getOptions(s);let a=d1e.getImageWidth(t.modules.size,s),o=i.getContext("2d"),c=o.createImageData(a,a);return d1e.qrToImageData(c.data,t,s),Psn(o,i,a),o.putImageData(c,0,0),i};C7.renderToDataURL=function(t,r,n){let s=n;typeof s>"u"&&(!r||!r.getContext)&&(s=r,r=void 0),s||(s={});let i=C7.render(t,r,s),a=s.type||"image/png",o=s.rendererOpts||{};return i.toDataURL(a,o.quality)}});var uLt=S(Xk=>{var Msn=bbe(),f1e=Vbe(),cLt=oLt(),ksn=l1e();function h1e(e,t,r,n,s){let i=[].slice.call(arguments,1),a=i.length,o=typeof i[a-1]=="function";if(!o&&!Msn())throw new Error("Callback required as last argument");if(o){if(a<2)throw new Error("Too few arguments provided");a===2?(s=r,r=t,t=n=void 0):a===3&&(t.getContext&&typeof s>"u"?(s=n,n=void 0):(s=n,n=r,r=t,t=void 0))}else{if(a<1)throw new Error("Too few arguments provided");return a===1?(r=t,t=n=void 0):a===2&&!t.getContext&&(n=r,r=t,t=void 0),new Promise(function(c,u){try{let l=f1e.create(r,n);c(e(l,t,n))}catch(l){u(l)}})}try{let c=f1e.create(r,n);s(null,e(c,t,n))}catch(c){s(c)}}Xk.create=f1e.create;Xk.toCanvas=h1e.bind(null,cLt.render);Xk.toDataURL=h1e.bind(null,cLt.renderToDataURL);Xk.toString=h1e.bind(null,function(e,t,r){return ksn.render(e,r)})});var hLt=S(EE=>{var lLt=bbe(),p1e=Vbe(),Bsn=QPt(),dLt=zPt(),Usn=nLt(),fLt=aLt();function Jk(e,t,r){if(typeof e>"u")throw new Error("String required as first argument");if(typeof r>"u"&&(r=t,t={}),typeof r!="function")if(lLt())t=r||{},r=null;else throw new Error("Callback required as last argument");return{opts:t,cb:r}}function Fsn(e){return e.slice((e.lastIndexOf(".")-1>>>0)+2).toLowerCase()}function x7(e){switch(e){case"svg":return fLt;case"txt":case"utf8":return dLt;case"png":case"image/png":default:return Bsn}}function $sn(e){switch(e){case"svg":return fLt;case"terminal":return Usn;case"utf8":default:return dLt}}function Zk(e,t,r){if(!r.cb)return new Promise(function(n,s){try{let i=p1e.create(t,r.opts);return e(i,r.opts,function(a,o){return a?s(a):n(o)})}catch(i){s(i)}});try{let n=p1e.create(t,r.opts);return e(n,r.opts,r.cb)}catch(n){r.cb(n)}}EE.create=p1e.create;EE.toCanvas=uLt().toCanvas;EE.toString=function(t,r,n){let s=Jk(t,r,n),i=s.opts?s.opts.type:void 0,a=$sn(i);return Zk(a.render,t,s)};EE.toDataURL=function(t,r,n){let s=Jk(t,r,n),i=x7(s.opts.type);return Zk(i.renderToDataURL,t,s)};EE.toBuffer=function(t,r,n){let s=Jk(t,r,n),i=x7(s.opts.type);return Zk(i.renderToBuffer,t,s)};EE.toFile=function(t,r,n,s){if(typeof t!="string"||!(typeof r=="string"||typeof r=="object"))throw new Error("Invalid argument");if(arguments.length<3&&!lLt())throw new Error("Too few arguments provided");let i=Jk(r,n,s),a=i.opts.type||Fsn(t),c=x7(a).renderToFile.bind(null,t);return Zk(c,r,i)};EE.toFileStream=function(t,r,n){if(arguments.length<2)throw new Error("Too few arguments provided");let s=Jk(r,n,t.emit.bind(t,"error")),a=x7("png").renderToFileStream.bind(null,t);Zk(a,r,s)}});var yE=S((I_s,pLt)=>{pLt.exports=hLt()});function Hsn(e){let t=qsn.exec(e);return t?{shareCode:t[1],receiveCode:t[2]}:null}function jsn(e){if(!e)return!1;let t=e.lastIndexOf(".");if(t===-1)return!1;let r=e.slice(t+1).toLowerCase();return Vsn.has(r)}async function Ksn(e,t="GET",r=null,n=null){let s=new URL(e);await Yye();let i=!1,a=()=>{if(!i){i=!0;try{Qye()}catch{}}};try{return await new Promise((o,c)=>{let u={hostname:s.hostname,path:`${s.pathname}${s.search}`,method:t,headers:r},d=(s.protocol==="https:"?yLt.request:ELt.request)(u,f=>{let h="";f.on("data",p=>{h+=p}),f.on("end",()=>{a();try{o(JSON.parse(h))}catch{c(h)}})});d.on("error",f=>{a(),c(f)}),d.setTimeout(1e4,()=>{d.destroy(),a(),c(new Error("\u8BF7\u6C42\u8D85\u65F6"))}),n&&d.write(n),d.end()})}catch(o){throw a(),o}}function TLt(e,t){t==null&&(t=Math.ceil(e.toString(16).length/2));let r=new Uint8Array(t),n=e;for(let s=t-1;s>=0;s--)r[s]=Number(n&0xffn),n>>=8n;return r}function bLt(e){let t=0n;for(let r of e)t=t<<8n|BigInt(r);return t}function*m1e(e,t,r=1){for(let n=e+r;n0n;)t&1n&&(n=n*e%r),t>>=1n,e=e*e%r;return n}function RLt(e){(typeof e=="string"||e instanceof String)&&(e=new TextEncoder().encode(e));let t=new Uint8Array(16+e.length);t.set(w7(w7(e,new Uint8Array([141,165,165,141])).reverse(),new Uint8Array([120,6,173,76,51,134,93,24,76,1,63,70])),16);let r=new Uint8Array(Math.ceil(t.length/117)*128),n=0;for(let[s,i]of m1e(0,t.length,117)){let a=t.subarray(s,i),o=ILt(Ysn(a),SLt,vLt);r.set(TLt(o,128),n),n+=128}return Buffer.from(r).toString("base64")}function CLt(e){let t=new Uint8Array(Buffer.from(e,"base64")),r=[];for(let[i,a]of m1e(0,t.length,128)){let o=ILt(bLt(t.subarray(i,a)),SLt,vLt),c=TLt(o);r.push(...c.subarray(c.indexOf(0)+1))}r=new Uint8Array(r);let n=Gsn(r.subarray(0,16),12),s=w7(r.subarray(16),n).reverse();return new TextDecoder("utf-8").decode(w7(s,new Uint8Array([141,165,165,141])))}async function Qsn({shareCode:e,receiveCode:t,dirID:r=""}){let n=[],s=async(i,a="")=>{try{let o=0,c=9999,u=[];for(;;){let _=(await Se.get("https://webapi.115.com/share/snap",{params:{share_code:e,receive_code:t,cid:i,limit:String(c),offset:String(o)},timeout:15e3})).data?.data?.list||[];if(_.length===0||(u.push(..._),_.lengthy.n);_?.fid&&(g.subtitle={fid:_.fid})}let p=cr(f);n.push(...p);let m=d.map(g=>s(g.cid,a+(a?"/":"")+g.n));await Promise.all(m)}catch(o){console.error("\u83B7\u53D6115\u6587\u4EF6\u5217\u8868\u5931\u8D25:",o.message)}};return await s(r||e,""),n}async function Yh(e){_Lt||(_Lt=!0)}async function xLt(e,t){try{t&&await Yh(t);let r=Hsn(e);if(!r)return[];let n=await Qsn(r);if(!n?.length)return[];let s=await lt("115"),i=n.map(a=>({vod_id:Zt([r.shareCode,r.receiveCode,a.fid,a.subtitle?.fid||""],{structured:!0}),vod_name:a.n,vod_size:a.s}));return Eo(s,i)}catch(r){return console.error("115\u8BE6\u60C5\u83B7\u53D6\u5931\u8D25:",r),[]}}async function wLt(e,t){try{await Yh(e);let r=e.body.id,n=await vo(e.server),{shareCode:s,receiveCode:i,fileId:a,subtitleId:o=""}=qn(r,{fieldOrder:["shareCode","receiveCode","fileId","subtitleId"]}),c=await OLt(s,i,a,n);if(!c)return Vs("115 \u83B7\u53D6\u64AD\u653E\u94FE\u63A5\u5931\u8D25");let u=[];if(o){let l=encodeURIComponent(Zt([i,o],{structured:!0})),d=LC(e,"115","subt",s,l,".bin");u.push(Sbe({url:d,name:"\u5916\u6302\u5B57\u5E55",format:"bin"}))}return ec({parse:0,urls:["\u539F\u753B",c],subtitles:u,header:{"User-Agent":g1e,Cookie:n,Referer:"https://115.com/",Origin:"https://115.com"}})}catch(r){return console.error("115\u64AD\u653E\u5931\u8D25:",r),console.error("\u9519\u8BEF\u8BE6\u60C5:",r.stack),Vs("115 \u64AD\u653E\u5931\u8D25")}}async function NLt(e,t){try{await Yh(e);let{site:r,flag:n,shareId:s,fileId:i}=e.params;if(r!=="115"||n!=="subt")return;let{receiveCode:a,subtitleFileId:o}=qn(String(i||""),{fieldOrder:["receiveCode","subtitleFileId"]});if(!s||!a||!o)return t.code(400),"Invalid subtitle parameters";let c=await vo(e.server),u=await OLt(s,a,o,c);if(!u)return t.code(404),"Subtitle not found";t.redirect(u)}catch(r){return console.error("115\u5B57\u5E55\u4EE3\u7406\u5931\u8D25:",r),t.code(500),"Subtitle proxy error"}}async function OLt(e,t,r,n){return await N7(e,t,r,n,{legacyString:!0})}async function N7(e,t,r,n,s={}){if(!n)return s.legacyString?null:{url:"",msg:"115 Cookie \u7F3A\u5931"};if(!e||!t||!r)return s.legacyString?null:{url:"",msg:"115 \u5206\u4EAB\u64AD\u653E\u53C2\u6570\u9519\u8BEF"};try{let i=`data=${encodeURIComponent(RLt(`{"share_code":"${e}","receive_code":"${t}","file_id":"${r}"}`))}`,a=await Ksn("https://proapi.115.com/app/share/downurl","POST",{"Content-Type":"application/x-www-form-urlencoded","Content-Length":Buffer.byteLength(i),Cookie:n,"User-Agent":g1e,Referer:"https://115.com/",Origin:"https://115.com"},i);if(a?.error)return a.error.includes?.("\u767B\u5F55")&&Qr.toast("115\u76D8\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",{duration:5}),s.legacyString?null:{url:"",msg:a.error};if(!a||typeof a!="object")return s.legacyString?null:{url:"",msg:"115 \u5206\u4EAB\u63A5\u53E3\u54CD\u5E94\u5F02\u5E38"};if(!a.data){let c=a?.msg||a?.message||a?.error_msg||a?.errno||a?.errcode||"115 \u5206\u4EAB\u63A5\u53E3\u672A\u8FD4\u56DE data \u5B57\u6BB5";return console.warn("[115 share][down] missing data, raw=%s",JSON.stringify(a).slice(0,300)),s.legacyString?null:{url:"",msg:String(c)}}let o=JSON.parse(CLt(a.data));return o?.url?.url?s.legacyString?o.url.url:{url:o.url.url,cookie:n}:(console.error("115\u83B7\u53D6\u4E0B\u8F7D\u94FE\u63A5\u5931\u8D25:",o),s.legacyString?null:{url:"",msg:o?.error||"115 \u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"})}catch(i){return console.error("[115 share][down] error:",i?.message||i),s.legacyString?null:{url:"",msg:`115 \u5206\u4EAB\u63A5\u53E3\u5F02\u5E38: ${i?.message||i}`}}}async function KC(e,t="0",r=1){if(!e)return{list:[],count:0};let s=(Math.max(1,Number.parseInt(r,10)||1)-1)*ALt,i=`https://webapi.115.com/files?aid=&cid=${encodeURIComponent(t||"0")}&o=user_ptime&asc=0&offset=${s}&show_dir=1&limit=${ALt}&code=&scid=&snap=0&natsort=1&record_open_time=1&source=&format=json`;try{let o=(await Se.get(i,{headers:{...zsn,Cookie:e},timeout:15e3}))?.data;if(o?.state)return{list:Array.isArray(o.data)?o.data:[],count:Number.parseInt(o.count,10)||0};console.warn("[115 own][list] non-state response, raw=%s",JSON.stringify(o).slice(0,300))}catch(a){console.error("[115 own] list error:",a?.message||a)}return{list:[],count:0}}async function GC(e,t){let r=String(t||"").trim();if(!e)return{url:"",msg:"115 Cookie \u7F3A\u5931"};if(!r)return{url:"",msg:"115 \u64AD\u653E\u53C2\u6570\u9519\u8BEF"};let n=`https://proapi.115.com/app/chrome/downurl?t=${Math.floor(Date.now()/1e3)}`,s=`data=${encodeURIComponent(RLt(JSON.stringify({pickcode:r})))}`;try{let i=await Se.post(n,s,{headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":g1e,Referer:"https://115.com/",Origin:"https://115.com",Cookie:e},timeout:15e3,validateStatus:()=>!0}),a=i?.data;if(!a||a.error)return{url:"",msg:a?.error||`115 \u63A5\u53E3\u8FD4\u56DE status=${i?.status}`};if(typeof a!="object"||!a.data)return{url:"",msg:a?.msg||a?.message||a?.error_msg||"115 \u63A5\u53E3\u672A\u8FD4\u56DE data \u5B57\u6BB5"};let o;try{o=JSON.parse(CLt(a.data))}catch(h){return console.warn("[115 own][down] decrypt failed:",h?.message),{url:"",msg:"115 \u89E3\u5BC6\u5931\u8D25"}}let c=o&&typeof o=="object"?Object.keys(o)[0]:"",l=(c?o[c]:null)?.url?.url||o?.url?.url||"";if(!l)return console.warn("[115 own][down] decoded missing url, raw=%s",JSON.stringify(o).slice(0,300)),{url:"",msg:"115 \u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"};let d=Wsn(e,i.headers?.["set-cookie"]),f=c&&/^\d+$/.test(c)?c:"";return{url:l,cookie:d,fileId:f}}catch(i){return console.error("[115 own][down] error:",i?.message||i),{url:"",msg:`115 \u63A5\u53E3\u5F02\u5E38: ${i?.message||i}`}}}function Wsn(e,t){if(!t)return e;let r=Array.isArray(t)?t:[t],n=new Map;for(let s of String(e||"").split(";").map(i=>i.trim()).filter(Boolean)){let i=s.indexOf("=");i>0&&n.set(s.slice(0,i).trim(),s.slice(i+1))}for(let s of r){let i=String(s||"").split(";")[0].trim(),a=i.indexOf("=");if(a<=0)continue;let o=i.slice(0,a).trim(),c=i.slice(a+1);if(o){if(/expires=thu, 01 jan 1970/i.test(String(s))){n.delete(o);continue}n.set(o,c)}}return Array.from(n.entries()).map(([s,i])=>`${s}=${i}`).join("; ")}async function DLt(e){if(!e)throw new Error("115 Cookie required");let t="https://proapi.115.com/app/uploadinfo";try{let n=(await Se.post(t,"",{headers:{Cookie:e,"User-Agent":"Mozilla/5.0 115disk/27.0.5.7","Content-Type":"application/x-www-form-urlencoded"},timeout:1e4}))?.data;if(!n||n.state===!1)throw new Error(n?.error||"\u83B7\u53D6 userkey \u5931\u8D25");return{userId:n.user_id,userKey:n.userkey}}catch(r){throw console.error("[115][getUserKey] error:",r?.message||r),r}}async function PLt(e,t){let r=await GC(e,t);if(!r.url)throw new Error(r.msg||"\u83B7\u53D6\u4E0B\u8F7D\u94FE\u63A5\u5931\u8D25");return{url:r.url,cookie:r.cookie,fileId:r.fileId}}async function _1e(e,t){if(!e||!t)return;let r="https://webapi.115.com/rb/delete",n=`fid=${t}`;try{let i=(await Se.post(r,n,{headers:{Cookie:e,"Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 115disk/27.0.5.7"},timeout:1e4}))?.data;(!i||!i.state)&&console.warn("[115][deleteFile] failed:",i?.error||"unknown")}catch(s){console.warn("[115][deleteFile] error:",s?.message||s)}}var ELt,yLt,qsn,Vsn,mLt,vLt,SLt,_Lt,zsn,g1e,ALt,vE=oe(()=>{Cs();Pr();gT();ELt=require("http"),yLt=require("https");kr();Fa();ju();Nd();Bi();xl();a0();bg();qsn=/https:\/\/(?:115|anxia|115cdn)\.com\/s\/([a-zA-Z0-9]+)\?password=([a-zA-Z0-9]+)/;Vsn=new Set(["mp4","webm","avi","wmv","flv","mov","mkv","mpeg","3gp","ts","m2ts","mp3","wav","aac","iso","rmvb","rm","m4v","f4v","m4a"]);mLt=new Uint8Array([240,229,105,174,191,220,191,138,26,69,232,190,125,166,115,184,222,143,231,196,69,218,134,196,155,100,139,20,106,180,241,170,56,1,53,158,38,105,44,134,0,107,79,165,54,52,98,166,42,150,104,24,242,74,253,189,107,151,143,77,143,137,19,183,108,142,147,237,14,13,72,62,215,47,136,216,254,254,126,134,80,149,79,209,235,131,38,52,219,102,123,156,126,157,122,129,50,234,182,51,222,58,169,89,52,102,59,170,186,129,96,72,185,213,129,156,248,108,132,119,255,84,120,38,95,190,232,30,54,159,52,128,92,69,44,155,118,213,27,143,204,195,184,245]),vLt=0x8686980c0f5a24c4b9d43020cd2c22703ff3f450756529058b1cf88f09b8602136477198a6e2683149659bd122c33592fdb5ad47944ad1ea4d36c6b172aad6338c3bb6ac6227502d010993ac967d1aef00f0c8e038de2e4d3bc2ec368af2e9f10a6f1eda4f7262f136420c07c331b871bf139f74f3010e3c4fe57df3afb71683n,SLt=0x10001n;_Lt=!1;zsn={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 115Browser/36.0.0 Chromium/125.0",Referer:"https://webapi.115.com/bridge_2.0.html?namespace=Core.DataAccess&api=UDataAPI&_t=v5","X-Requested-With":"XMLHttpRequest",Origin:"https://115.com"},g1e="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 115Browser/36.0.0 Chromium/125.0",ALt=115});function D7(e){return{"User-Agent":Xsn,Cookie:e,Referer:"https://115.com/",Origin:"https://115.com","X-Requested-With":"XMLHttpRequest"}}function FLt(e){if(!e)return"";let t=String(e).match(/UID=([^;\s]+)/i);if(!t)return"";let r=t[1],n=r.match(/^(\d+)/);return n?n[1]:r}function $Lt(e){if(!e)return"";let t=String(e).match(/xt=urn:btih:([A-Za-z0-9]+)/i);return t?t[1].toLowerCase():""}function rin(e){if(!e)return"";let t=String(e).match(/[&?]dn=([^&]+)/i);if(!t)return"";try{return decodeURIComponent(t[1])}catch{return t[1]}}function nin(e){return String(e||"").trim()}async function qLt(e){let t=await Se.get(Jsn,{headers:D7(e),timeout:15e3,validateStatus:()=>!0}),r=t?.data;if(!r||r.state===!1)throw new Error(`115 \u79BB\u7EBF space \u5931\u8D25: ${r?.error||r?.error_msg||t?.status}`);let n=r.sign||r.data?.sign,s=r.time||r.data?.time;if(!n||!s)throw new Error("115 \u79BB\u7EBF space \u54CD\u5E94\u7F3A\u5C11 sign/time");return{sign:n,time:String(s)}}async function sin(e,t){let r=`${tin}?aid=&cid=${encodeURIComponent(t||"0")}&o=user_ptime&asc=0&offset=0&show_dir=1&limit=115&snap=0&natsort=1&format=json`,s=(await Se.get(r,{headers:D7(e),timeout:15e3,validateStatus:()=>!0}))?.data;return s?.state?Array.isArray(s.data)?s.data:[]:[]}async function HLt(e,t="0"){if(!e)return[];let r=await sin(e,t),n=[];for(let s of r){if(Number(s?.iv)===1||Number(s?.fc)!==0)continue;let i=String(s.cid||"");i&&n.push({cid:i,name:String(s.n||s.name||i),has_children:Number(s?.ns)>0||Number(s?.fc)===0})}return n}async function VLt(e,t,r={}){let{savePath:n="0",pollAttempts:s=6,pollIntervalMs:i=1500}=r;if(!e)throw new Error("115 cookie \u7F3A\u5931");let a=FLt(e);if(!a)throw new Error("cookie \u4E2D\u6CA1\u6709 UID \u5B57\u6BB5");console.log(`[115-offline] \u5F00\u59CB\u6DFB\u52A0\u79BB\u7EBF\u4EFB\u52A1\uFF0CsavePath=${n}, pollAttempts=${s}`);let{sign:o,time:c}=await qLt(e),u=new URLSearchParams;u.set("url",nin(t)),u.set("uid",a),u.set("sign",o),u.set("time",c),u.set("wp_path_id",String(n||"0"));let l=async()=>(await Se.post(Zsn,u.toString(),{headers:{...D7(e),"Content-Type":"application/x-www-form-urlencoded"},timeout:3e4,validateStatus:()=>!0}))?.data,d=await l();if(!d)throw new Error("115 \u79BB\u7EBF\u6DFB\u52A0\u65E0\u54CD\u5E94");let f=Number(d.errcode)===10008||/任务已存在/i.test(String(d.error_msg||d.error||""));if(d.state===!1&&!f)throw new Error(`115 \u79BB\u7EBF\u6DFB\u52A0\u5931\u8D25: ${d.error_msg||d.error||d.errcode}`);if(console.log(`[115-offline] \u79BB\u7EBF\u4EFB\u52A1\u6DFB\u52A0\u6210\u529F\uFF0Cstate=${d.state}, isDuplicate=${f}, files\u6570\u91CF=${d.files?.length||0}`),d.files&&d.files.length>0){let p=kLt(d.files);console.log(`[115-offline] \u7B2C\u4E00\u6B21\u8C03\u7528\u5373\u8FD4\u56DE ${d.files.length} \u4E2A\u6587\u4EF6\uFF0C\u79CD\u5B50\u76EE\u5F55\u540D: "${p}"`),MLt("\u7B2C\u4E00\u6B21\u8FD4\u56DE",d.files);let m=await A1e(e,n,p,{...r,magnet:t,taskFiles:d.files});if(m.length>0)return console.log(`[115-offline] \u7ACB\u5373\u627E\u5230 ${m.length} \u4E2A\u5A92\u4F53\u6587\u4EF6`),m}console.log(`[115-offline] files\u4E3A\u7A7A\uFF0C\u5F00\u59CB\u8F6E\u8BE2 add_task_url \u63A5\u53E3 ${s} \u6B21\uFF0C\u95F4\u9694 ${i}ms`);for(let p=0;p0){let m=kLt(d.files);console.log(`[115-offline] \u8F6E\u8BE2\u6210\u529F\uFF0C\u63A5\u53E3\u8FD4\u56DE ${d.files.length} \u4E2A\u6587\u4EF6\uFF0C\u79CD\u5B50\u76EE\u5F55\u540D: "${m}"`),MLt("\u8F6E\u8BE2\u8FD4\u56DE",d.files);let g=await A1e(e,n,m,{...r,magnet:t,taskFiles:d.files});if(g.length>0)return console.log(`[115-offline] \u627E\u5230 ${g.length} \u4E2A\u5A92\u4F53\u6587\u4EF6`),g}let h=!!r.allowFallbackScan;if((n||n==="0")&&h){console.log(`[115-offline] \u8F6E\u8BE2 ${s} \u6B21\u540E\u4ECD\u672A\u83B7\u53D6\u5230\u6587\u4EF6\u5217\u8868\uFF0C\u5C1D\u8BD5\u626B\u63CF savePath=${n}`);let p=await A1e(e,n,"",{...r,magnet:t});if(p.length>0)return p}return console.warn(`[115-offline] \u8F6E\u8BE2 ${s} \u6B21\u540E\u4ECD\u672A\u83B7\u53D6\u5230\u6587\u4EF6\u5217\u8868${h?"":"\uFF0C\u8DF3\u8FC7 savePath \u9012\u5F52\u626B\u63CF"}`),[]}function iin(e){return Array.isArray(e)?e.slice(0,5).map(t=>{let r={};for(let n of["name","n","file_name","file_size","size","s","pick_code","pc","cid","fid","file_id","wanted","path","wp_path","sha1"])t?.[n]!==void 0&&(r[n]=t[n]);return r}):[]}function MLt(e,t){if(!(!Array.isArray(t)||t.length===0))try{let r=Object.keys(t[0]||{}).join(",");console.log(`[115-offline] ${e} files[0] keys=${r}, sample=${JSON.stringify(iin(t))}`)}catch{}}function kLt(e){if(!Array.isArray(e))return"";let t="";for(let r of e){let n=String(r?.name||r?.n||r?.file_name||"");if(!n)continue;let s=n.indexOf("/");if(s>0)return n.slice(0,s);let i=P7(n);!t&&YC(i)&&(t=i)}return t}function ain(e){let t=rin(e);return t?P7(t).replace(/\.[^.]+$/,"").trim():""}function BLt(e){return String(e||"").trim().toLowerCase().replace(/[\s._-]+/g,"").replace(/[\[\]【】()()]/g,"")}function oin(e,t){let r=BLt(e),n=BLt(t);return!!(r&&n&&(r===n||r.includes(n)||n.includes(r)))}function YC(e){if(!e)return!1;let t=e.lastIndexOf(".");return t<0?!1:cin.has(e.slice(t+1).toLowerCase())}function P7(e){let t=String(e||"").trim();if(!t)return"";let r=t.split("/").filter(Boolean);return r.length?r[r.length-1]:t}function uin(e){let t=Number(e?.file_size??e?.size??e?.s??0);return Number.isFinite(t)&&t>0?t:0}function lin(e){if(!Array.isArray(e))return[];let t=[],r=new Set;for(let n of e){let s=P7(n?.name||n?.n||n?.file_name);if(!YC(s))continue;let i=uin(n),a=`${s}::${i||""}`;r.has(a)||(r.add(a),t.push({name:s,size:i}))}return t}function ULt(e,t){if(!t?.length)return null;let r=P7(e?.n||e?.name||e?.file_name),n=Number(e?.s||e?.size||e?.file_size||0);return t.find(s=>s.name===r&&(!s.size||!n||Number(s.size)===Number(n)))||null}function din(e){return[...e].sort((t,r)=>{let n=Number(t?.upt||t?.te||t?.tp||t?.user_ptime||t?.ptime||t?.mtime||0);return Number(r?.upt||r?.te||r?.tp||r?.user_ptime||r?.ptime||r?.mtime||0)-n})}async function fin(e,t,r){if(!r?.length||!t?.length)return null;let n=null,s=din(t);for(let i of s){let a=String(i?.cid||"");if(!a)continue;let o=await jLt(e,[],r,[a]);if(!o.length)continue;let c=o.length;if((!n||c>n.score)&&(n={dir:i,found:o,score:c},c>=r.length))break}return n}async function jLt(e,t,r,n=[]){if(!r?.length)return[];let s=new Map,i=Array.isArray(n)?[...n].filter(Boolean):[];for(let o of t){if(Number(o?.fc)===0){o?.cid&&i.push(String(o.cid));continue}if(Number(o?.fc)===1&&YC(String(o?.n||""))){let c=ULt(o,r);if(c){let u=`${c.name}::${c.size||""}`;if(!s.has(u)){let l=O7(o);l.pick_code&&s.set(u,l)}}}}let a=new Set;for(;i.length>0&&s.sizes.get(`${o.name}::${o.size||""}`)).filter(Boolean)}async function A1e(e,t,r,n={}){let s=await y1e(e,t);if(s.length===0)return console.log(`[115-offline] savePath=${t} \u4E0B\u6CA1\u6709\u4EFB\u4F55\u6587\u4EF6\u6216\u76EE\u5F55`),[];let i=s.filter(d=>Number(d?.fc)===0);console.log(`[115-offline] savePath=${t} \u4E0B\u5171\u6709 ${i.length} \u4E2A\u76EE\u5F55`);let a="";if(r){let d=s.find(f=>Number(f?.fc)===0&&String(f?.n||"").trim()===r);d?(a=String(d.cid||""),console.log(`[115-offline] \u7CBE\u786E\u5339\u914D\u5230\u76EE\u5F55: "${d.n||d.name}", cid=${a}`)):console.log(`[115-offline] \u672A\u627E\u5230\u7CBE\u786E\u5339\u914D\u7684\u76EE\u5F55: "${r}"`)}if(a)return await E1e(e,a);let o=ain(n.magnet);if(o){let d=i.filter(f=>oin(f?.n||f?.name,o));if(d.length>0){let f=d[0];console.log(`[115-offline] \u6309\u78C1\u529B dn \u5339\u914D\u5230\u76EE\u5F55: "${f.n||f.name}", cid=${f.cid}`);let h=await E1e(e,String(f.cid||""));if(h.length>0)return h}else console.log(`[115-offline] \u672A\u6309\u78C1\u529B dn \u5339\u914D\u5230\u76EE\u5F55: "${o}"`)}let c=lin(n.taskFiles);if(c.length>0){console.log(`[115-offline] \u672A\u627E\u5230\u79CD\u5B50\u76EE\u5F55\uFF0C\u6309\u63A5\u53E3\u6587\u4EF6\u540D\u53CD\u63A8\u771F\u5B9E\u76EE\u5F55 ${c.length} \u4E2A\u5A92\u4F53\u6587\u4EF6`);let d=await fin(e,i,c);if(d?.found?.length)return console.log(`[115-offline] \u6309\u63A5\u53E3\u6587\u4EF6\u540D\u5339\u914D\u5230\u76EE\u5F55: "${d.dir.n||d.dir.name}", \u547D\u4E2D ${d.found.length}/${c.length}`),d.found;let f=await jLt(e,s,c);return f.length>0?f:(console.log("[115-offline] \u6309\u63A5\u53E3\u6587\u4EF6\u540D\u7CBE\u786E\u67E5\u627E\u672A\u547D\u4E2D\uFF0C\u4E0D\u626B\u63CF\u65E0\u5173\u76EE\u5F55"),[])}if(!n.allowFallbackScan)return console.log("[115-offline] \u672A\u627E\u5230\u79CD\u5B50\u76EE\u5F55\u4E14\u65E0\u63A5\u53E3\u6587\u4EF6\u540D\uFF0C\u8DF3\u8FC7\u9012\u5F52\u67E5\u627E\u5A92\u4F53\u6587\u4EF6"),[];console.log("[115-offline] \u672A\u627E\u5230\u79CD\u5B50\u76EE\u5F55\u4E14\u65E0\u63A5\u53E3\u6587\u4EF6\u540D\uFF0C\u5C1D\u8BD5\u9012\u5F52\u67E5\u627E\u5A92\u4F53\u6587\u4EF6");let u=s.filter(d=>Number(d?.fc)===1&&YC(String(d?.n||"")));if(u.length>0)return u.map(O7).filter(d=>d.pick_code);let l=i.map(d=>String(d.cid||"")).filter(Boolean);for(let d of l){let f=await E1e(e,d);if(f.length>0)return f}return console.log("[115-offline] \u9012\u5F52\u626B\u63CF\u6240\u6709\u5B50\u76EE\u5F55\u540E\u4ECD\u672A\u627E\u5230\u5A92\u4F53\u6587\u4EF6"),[]}async function E1e(e,t){let r=[t],n=[],s=new Set;for(;r.length>0;){let i=r.shift();if(s.has(i))continue;s.add(i);let a=await y1e(e,i);for(let o of a){if(Number(o?.fc)===0){o?.cid&&r.push(String(o.cid));continue}if(Number(o?.fc)===1&&YC(String(o?.n||""))){let c=O7(o);c.pick_code&&n.push(c)}}}return n}async function y1e(e,t){let r=[];for(let n=1;n<=30;n++){let{list:s,count:i}=await KC(e,t,n);if(!Array.isArray(s)||s.length===0||(r.push(...s),r.length>=i))break}return r}function O7(e){return{file_id:String(e?.fid||e?.cid||e?.file_id||""),file_name:String(e?.n||e?.name||e?.file_name||""),file_size:Number(e?.s||e?.size||e?.file_size||0),pick_code:String(e?.pc||e?.pick_code||"")}}function hin(e){return new Promise(t=>setTimeout(t,Math.max(0,e)))}async function KLt(e,{deleteSource:t=!1}={}){if(!e)throw new Error("115 cookie \u7F3A\u5931");let r=FLt(e);if(!r)throw new Error("cookie \u4E2D\u6CA1\u6709 UID \u5B57\u6BB5");let{sign:n,time:s}=await qLt(e),i=new URLSearchParams;i.set("flag",t?"5":"0"),i.set("uid",r),i.set("sign",n),i.set("time",s);let a=await Se.post(ein,i.toString(),{headers:{...D7(e),"Content-Type":"application/x-www-form-urlencoded"},timeout:3e4,validateStatus:()=>!0}),o=a?.data;if(!o)throw new Error(`115 \u6E05\u7A7A\u79BB\u7EBF\u65E0\u54CD\u5E94 status=${a?.status}`);if(o.state===!1)throw new Error(`115 \u6E05\u7A7A\u79BB\u7EBF\u5931\u8D25: ${o.error_msg||o.error||o.errcode}`);return{ok:!0}}var Xsn,Jsn,Zsn,ein,tin,cin,v1e=oe(()=>{Pr();vE();Xsn="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0",Jsn="https://115.com/?ct=offline&ac=space",Zsn="https://115.com/web/lixian/?ct=lixian&ac=add_task_url",ein="https://115.com/web/lixian/?ct=lixian&ac=task_clear",tin="https://webapi.115.com/files";cin=new Set(["mp4","mkv","mov","avi","wmv","flv","webm","m2ts","ts","rmvb","rm","m4v","f4v","3gp","mpeg","iso"])});function _in(e){return{Cookie:e,"User-Agent":"Mozilla/5.0 115disk/27.0.5.7",Referer:"https://115.com/",Origin:"https://115.com","X-Requested-With":"XMLHttpRequest","Content-Type":"application/x-www-form-urlencoded"}}async function QLt(e,t,r){let n=await Se.post(t,r,{headers:_in(e),timeout:3e4,validateStatus:()=>!0}),s=n?.data;if(!s||typeof s!="object")throw new Error(`115 \u56DE\u6536\u7AD9\u63A5\u53E3\u54CD\u5E94\u5F02\u5E38 status=${n?.status}`);if(!s.state)throw new Error(s.error||s.error_msg||`115 \u56DE\u6536\u7AD9\u64CD\u4F5C\u5931\u8D25 (errcode=${s.errcode})`);return s}async function zLt(e,t){let r=[];for(let n=1;n<=gin;n++){let{list:s,count:i}=await KC(e,t,n);if(!Array.isArray(s)||s.length===0||(r.push(...s),r.length>=i))break}return r}async function Ain(e){let r=(await zLt(e,"0")).find(n=>n.fid===void 0&&String(n.n||"")===YLt);return r?{cid:String(r.cid),name:String(r.n)}:null}async function Ein(e,t){let r=[String(t)],n=new Set,s=[];for(;r.length>0;){let i=r.shift();if(n.has(i))continue;n.add(i);let a=await zLt(e,i);for(let o of a)o.fid!==void 0?s.push(String(o.fid)):o.cid&&r.push(String(o.cid))}return s}async function yin(e,t){let r=0;for(let n=0;ni.set(`fid[${o}]`,a));try{await QLt(e,pin,i.toString())}catch(a){throw new Error(`\u79FB\u5165\u56DE\u6536\u7AD9\u5931\u8D25 (\u5DF2\u6210\u529F ${r}/${t.length}): ${a?.message||a}`)}r+=s.length}return r}async function WLt(e,{doRecent:t=!1,doRecycle:r=!1}={}){if(!e)throw new Error("115 cookie \u7F3A\u5931");if(!t&&!r)throw new Error("\u672A\u9009\u62E9\u6E05\u7406\u9879");let n=null;if(t){let i=await Ain(e);if(!i)n={found:!1,name:YLt,moved:0};else{let a=await Ein(e,i.cid),o=a.length?await yin(e,a):0;n={found:!0,name:i.name,moved:o}}}let s=null;return r&&(await QLt(e,min,""),s={cleared:!0}),{recent:n,recycle:s}}var pin,min,YLt,GLt,gin,XLt=oe(()=>{Pr();vE();pin="https://webapi.115.com/rb/delete",min="https://webapi.115.com/rb/clean",YLt="\u6700\u8FD1\u63A5\u6536",GLt=50,gin=50});function k7(e){let t=_t(e).toLowerCase().replace(/^wdi10\./,"").replace(/x+$/g,"").replace(/[^0-9a-f]/g,"");return t.length===32?t:""}function bin(){try{return tMt.default.randomBytes(16).toString("hex")}catch{return T1e}}function b1e(e){let t=k7(e)||T1e;return{Accept:"application/json, text/plain, */*","Content-Type":"application/json","X-Client-Id":M7,"X-Client-Version":"0.0.1","X-Device-Id":t,"X-Device-Model":"chrome%2F147.0.0.0","X-Device-Name":"PC-Chrome","X-Device-Sign":`wdi10.${t}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,"X-Net-Work-Type":"NONE","X-OS-Version":"Win32","X-Platform-Version":"1","X-Protocol-Version":"301","X-Provider-Name":"NONE","X-SDK-Version":"9.0.2"}}function iMt(e="",t=""){let r={Accept:"application/json, text/plain, */*","Content-Type":"application/json",Origin:"https://www.guangyapan.com",Referer:"https://www.guangyapan.com/",Did:k7(t)||T1e,Dt:"4"};return e&&(r.Authorization=`Bearer ${e}`),r}async function QC(e){let t=await e.db.getObjectDefault("/guangya",{});return{accessToken:_t(t?.accessToken),refreshToken:_t(t?.refreshToken),deviceId:k7(t?.deviceId)||bin(),updatedAt:_t(t?.updatedAt)}}async function aMt(e,{reveal:t=!1}={}){let r=await QC(e);return t?r:{deviceId:r.deviceId,updatedAt:r.updatedAt,loggedIn:!!(r.accessToken||r.refreshToken)}}async function e4(e,t={}){let r=await QC(e),n={accessToken:_t(t.accessToken??t.access_token??r.accessToken),refreshToken:_t(t.refreshToken??t.refresh_token??t.cookie??r.refreshToken),deviceId:k7(t.deviceId??t.device_id??r.deviceId)||r.deviceId,updatedAt:new Date().toISOString()};return await e.db.push("/guangya",n),n}async function oMt(e){let t=await QC(e);await e4(e,{deviceId:t.deviceId});let r=await Ye.post(`${S1e}/v1/auth/device/code`,{scope:"user",client_id:M7},{headers:b1e(t.deviceId),validateStatus:()=>!0}),n=r?.data||{};if(r.status<200||r.status>=300||!n.device_code)throw new Error(_t(n.error_description||n.message||`HTTP ${r.status}`));return{deviceCode:_t(n.device_code),verificationUrl:_t(n.verification_uri_complete||n.verification_url),expiresIn:Number(n.expires_in||120),deviceId:t.deviceId}}async function cMt(e,t={}){let r=await Ye.post(`${S1e}/v1/auth/token`,{grant_type:vin,device_code:_t(t.deviceCode),client_id:M7},{headers:b1e(t.deviceId),validateStatus:()=>!0}),n=r?.data||{},s=_t(n.access_token||n.accessToken),i=_t(n.refresh_token||n.refreshToken);if(r.status>=200&&r.status<300&&(s||i))return await e4(e,{accessToken:s,refreshToken:i,deviceId:t.deviceId}),{status:"CONFIRMED"};let a=_t(n.error).toLowerCase();return a==="access_denied"?{status:"CANCELED"}:a==="invalid_grant"||a.includes("expired")?{status:"EXPIRED"}:{status:"NEW"}}async function JLt(e){let t=await QC(e);if(!t.refreshToken)throw new Error("\u8BF7\u5148\u5728\u7F51\u76D8\u914D\u7F6E\u4E2D\u767B\u5F55\u5149\u9E2D");let n=(await Ye.post(`${S1e}/v1/auth/token`,{client_id:M7,grant_type:"refresh_token",refresh_token:t.refreshToken},{headers:b1e(t.deviceId),validateStatus:()=>!0}))?.data||{},s=_t(n.access_token||n.accessToken);if(!s)throw new Error(_t(n.error_description||n.message||"\u5237\u65B0\u5149\u9E2D\u767B\u5F55\u6001\u5931\u8D25"));return await e4(e,{accessToken:s,refreshToken:_t(n.refresh_token||n.refreshToken)||t.refreshToken,deviceId:t.deviceId}),s}async function Nl(e,t,r,n=!0){let s=await QC(e);s.accessToken||(await JLt(e),s=await QC(e));let i=await Ye.post(`${rMt}${t}`,r,{headers:iMt(s.accessToken,s.deviceId),validateStatus:()=>!0}),a=i?.data||{},o=_t(a.msg||a.message||a.error);if((i.status===401||i.status===403||Number(a.code)===401||Number(a.code)===403||/token|unauthorized/i.test(o))&&n)return await JLt(e),Nl(e,t,r,!1);if(i.status<200||i.status>=300||a.code!=null&&Number(a.code)!==0)throw new Error(o||`\u5149\u9E2D\u63A5\u53E3\u5931\u8D25 HTTP ${i.status}`);return a.data||{}}function zC(e){return Number(e?.resType)===2}function t4(e){if(Number(e?.resType)!==1)return!1;let t=_t(e?.fileName).toLowerCase(),r=_t(e?.ext).toLowerCase(),n=_t(e?.mineType||e?.mimeType).toLowerCase();return Number(e?.fileType)===2||n.startsWith("video/")||Sin.some(s=>r===s||t.endsWith(s))}async function Rg(e,t="",r=1,n=200){let s=Math.max(1,Number(r)||1),i={parentId:_t(t),pageSize:n,orderBy:3,sortType:1,fileTypes:[]};s>1&&(i.cursor=(s-1)*n);let a=await Nl(e,"/nd.bizuserres.s/v1/file/get_file_list",i);return{list:Array.isArray(a.list)?a.list:[],total:Number(a.total||0),cursor:_t(a.cursor)}}async function WC(e,t){let r=await Nl(e,"/nd.bizuserres.s/v1/get_res_download_url",{fileId:_t(t)});return _t(r.signedURL||r.downloadUrl||r.url)}function L7(e=""){return _t(e).toLowerCase().replace(/\.[a-z0-9]{2,6}$/i,"").replace(/[\s\[\]()()【】._\-]+/g,"")}async function Iin(e,t=nMt,r=""){let s=(await Rg(e,r,1,200)).list.find(c=>zC(c)&&_t(c?.fileName)===t);if(s?.fileId)return _t(s.fileId);let i=[["/userres/v1/file/create_dir",{parentId:r,dirName:t}],["/userres/v1/file/create_dir",{parentId:r,fileName:t}],["/userres/v1/file/create_dir",{parentId:r,name:t}],["/nd.bizuserres.s/v1/file/create_dir",{parentId:r,dirName:t}]];for(let[c,u]of i)try{let l=await Nl(e,c,u),d=_t(l.fileId||l.id||l.folderId||l.resId);if(d)return d}catch{}let o=(await Rg(e,r,1,200)).list.find(c=>zC(c)&&_t(c?.fileName)===t);if(o?.fileId)return _t(o.fileId);throw new Error(`\u521B\u5EFA\u5149\u9E2D\u8F6C\u5B58\u76EE\u5F55\u5931\u8D25: ${t}`)}async function Rin(e,t="",r=5e3){let n=[],s="",i=new Set;for(let a=0;a<100&&n.lengthn.length?n.length:"")),d=Number(c.total||0);if(!u.length||d>0&&n.length>=d||!l||i.has(l))break;i.add(l),s=l}return n.slice(0,r)}async function Cin(e,t,{attempts:r=30,intervalMs:n=500}={}){if(t){for(let s=0;s0&&await new Promise(o=>setTimeout(o,n));let i=await Nl(e,"/userres/v1/get_task_status",{taskId:_t(t)}),a=Number(i.status);if(a===2)return;if(a===3)throw new Error(_t(i?.detail?.msg||i?.message||"\u5149\u9E2D\u6587\u4EF6\u5220\u9664\u4EFB\u52A1\u5931\u8D25"))}throw new Error("\u5149\u9E2D\u6587\u4EF6\u5220\u9664\u4EFB\u52A1\u7B49\u5F85\u8D85\u65F6")}}async function uMt(e,t=[]){let r=[...new Set((Array.isArray(t)?t:[]).map(_t).filter(Boolean))],n=0;for(let s=0;sn?.fileId))}async function win(e,t=sMt){let r=[],n="",s=new Set;for(let i=0;i<100;i+=1){let a={pageSize:100,status:t};n&&(a.cursor=n);let o=await Nl(e,"/cloudcollection/v1/list_task",a),c=Array.isArray(o.list)?o.list:[];r.push(...c);let u=_t(o.nextCursor||o.next_cursor||o.cursor||(Number(o.total||0)>r.length?r.length:"")),l=Number(o.total||0);if(!c.length||l>0&&r.length>=l||!u||s.has(u))break;s.add(u),n=u}return r}async function lMt(e,{deleteFiles:t=!1}={}){let r=await win(e),n=t?r.filter(i=>i?.fileDeleted!==!0).flatMap(i=>[i?.fileId,i?.targetFileId,...Array.isArray(i?.fileIds)?i.fileIds:[]]):[];r.length&&await Nl(e,"/cloudcollection/v2/delete_task",{status:sMt});let s=t?await uMt(e,n):0;return{taskCount:r.length,fileCount:s}}async function Nin(e,t,r){let n=L7(r);return n&&(await Rg(e,t,1,200)).list.find(i=>{if(!t4(i))return!1;let a=L7(i?.fileName);return a===n||a.includes(n)||n.includes(a)})||null}async function Oin(e,t={}){let r=_t(t.fileName);if(!t.shareId||!t.fileId||!r)throw new Error("\u5149\u9E2D\u5206\u4EAB\u8F6C\u5B58\u53C2\u6570\u4E0D\u5B8C\u6574");let n=await Iin(e,nMt);await xin(e,n);let s=await dMt({shareId:t.shareId,code:t.code||""}),i=await Nl(e,"/userres/v1/restore_share",{accessToken:s,fileIds:[_t(t.fileId)],parentId:n}),a=_t(i.taskId||i.task_id);for(let o=0;o<12;o+=1){if(a){await new Promise(u=>setTimeout(u,500));try{await Nl(e,"/userres/v1/get_task_status",{taskId:a})}catch{}}let c=await Nin(e,n,r);if(c?.fileId){let u=await WC(e,c.fileId);if(u)return u}}throw new Error(`\u5149\u9E2D\u8F6C\u5B58\u540E\u672A\u627E\u5230\u6587\u4EF6: ${r}`)}function Din(e){let t=ZLt.then(e,e);return ZLt=t.catch(()=>{}),t}function Pin(e){let r=_t(e).match(Tin);if(!r)return null;let n="";try{let s=new URL(r[0]);n=_t(s.searchParams.get("code")||s.searchParams.get("pwd")),!n&&s.hash&&(n=_t(new URLSearchParams(s.hash.slice(1)).get("code")||s.hash.slice(1)))}catch{}return{url:r[0],shareId:r[1],code:n}}async function I1e(e,t,r=3){let n=await Ye.post(`${rMt}${e}`,t,{headers:iMt(),validateStatus:()=>!0}),s=n?.data||{};if(n.status<200||n.status>=300||Number(s.code||0)!==0){if(r>1&&(n.status===400||n.status===429||n.status>=500))return await new Promise(i=>setTimeout(i,150*(4-r))),I1e(e,t,r-1);throw new Error(_t(s.msg||s.message||`\u5149\u9E2D\u5206\u4EAB\u63A5\u53E3\u5931\u8D25 HTTP ${n.status}`))}return s.data||{}}async function dMt(e){let t={shareId:e.shareId};e.code&&(t.code=e.code);let r=await I1e("/userres/v1/get_share_access_token",t);return _t(r.accessToken)}async function R1e(e,t=5,r=500){let n=Pin(e);if(!n)throw new Error("\u5149\u9E2D\u5206\u4EAB\u94FE\u63A5\u65E0\u6548");let s=await dMt(n),i=[],a=new Set;async function o(c="",u=0){if(u>t||i.length>=r||a.has(c||"__root__"))return;a.add(c||"__root__");let l="",d=0;do{let f={accessToken:s,parentId:c,pageSize:200,orderBy:0,sortType:0};l&&(f.cursor=l);let h=await I1e("/userres/v1/get_share_page_files_list",f),p=Array.isArray(h.list)?h.list:[];d+=p.length;for(let _ of p){if(zC(_))try{await o(_t(_.fileId),u+1)}catch{}else t4(_)&&i.push(_);if(i.length>=r)break}let m=_t(h.cursor),g=Number(h.total||0);if(!m||m===l||p.length===0||g>0&&d>=g)break;l=m}while(i.length{let a=_t(s.fileName)||`\u89C6\u9891${i+1}`,o=Zt([t.shareId,_t(s.fileId),t.code,a],{structured:!0});return`${a.replace(/[#$]/g," ")}$${o}`}).join("#")}]:[]}async function B7(e,t,r="",n=null,s=""){if(!n||!s)throw new Error("\u5149\u9E2D\u5206\u4EAB\u64AD\u653E\u9700\u8981\u767B\u5F55\u6001\u548C\u6587\u4EF6\u540D");let i={shareId:_t(e),fileId:_t(t),code:_t(r),fileName:_t(s)};return Din(async()=>{let a=null;for(let o=0;o<2;o+=1)try{return await Oin(n,i)}catch(c){a=c,o===0&&await new Promise(u=>setTimeout(u,300))}throw new Error(`\u5149\u9E2D\u5206\u4EAB\u8F6C\u5B58\u91CD\u8BD5\u5931\u8D25: ${a?.message||a||"\u672A\u77E5\u9519\u8BEF"}`)})}function Lin(e="",t="\u78C1\u529B\u4E91\u6DFB\u52A0"){return(_t(e).replace(/[\\/:*?"<>|]/g," ").replace(/\s+/g," ").trim()||t).slice(0,120)}function Min(e={}){let t=[e],r=new Set,n=[];for(;t.length&&r.size<200&&!n.length;){let s=t.shift();if(!(!s||typeof s!="object"||r.has(s))){if(r.add(s),Array.isArray(s)){s.some(i=>i&&typeof i=="object"&&(i.fileName||i.name||i.file_name||i.path))&&(n=s);continue}for(let i of Object.values(s))i&&typeof i=="object"&&t.push(i)}}return n.map((s,i)=>({index:Number.isFinite(Number(s?.fileIndex??s?.file_index??s?.index??s?.idx??s?.id))?Number(s.fileIndex??s.file_index??s.index??s.idx??s.id):i,name:_t(s?.fileName||s?.name||s?.file_name||s?.filename||s?.path||`\u6587\u4EF6${i+1}`),size:Number(s?.fileSize||s?.size||s?.length||0)||0,raw:s})).filter(s=>s.name)}async function eMt(e,t,r,n=[]){let s=await Rg(e,t,1,200),i=s.list.find(u=>zC(u)&&_t(u?.fileName)===r),a=i?.fileId?_t(i.fileId):t,c=(i?.fileId?(await Rg(e,a,1,200)).list:s.list).filter(t4);return n.length?c.filter(u=>n.some(l=>{let d=L7(u?.fileName),f=L7(l?.name);return d&&f&&(d===f||d.includes(f)||f.includes(d))})):c}async function hMt(e,t,r={}){let n=_t(t);if(!/^magnet:\?xt=urn:btih:[A-Za-z0-9]+/i.test(n))throw new Error("\u5149\u9E2D\u4E91\u8F6C\u5B58\u4EC5\u652F\u6301 magnet \u94FE\u63A5");let s=await Nl(e,"/cloudcollection/v1/resolve_res",{url:n}),i=Min(s);if(!i.length)throw new Error("\u5149\u9E2D\u78C1\u529B\u89E3\u6790\u672A\u8FD4\u56DE\u6587\u4EF6");let a=_t(r.savePath||"root"),o=!a||a==="root"||a==="auto"?"":a,c=Lin(r.name||s.name||s.title||i[0]?.name||"\u78C1\u529B\u4E91\u6DFB\u52A0"),u=await eMt(e,o,c,i);if(!u.length){await Nl(e,"/cloudcollection/v1/create_task",{fileIndexes:i.map(f=>f.index),url:n,parentId:o,newName:c});let l=Math.max(1,Math.min(50,Number(r.pollAttempts||20))),d=Math.max(200,Math.min(1e4,Number(r.pollIntervalMs||1500)));for(let f=0;f0&&await new Promise(h=>setTimeout(h,d)),u=await eMt(e,o,c,i).catch(()=>[]),!u.length);f+=1);}if(!u.length)throw new Error("\u5149\u9E2D\u4E91\u8F6C\u5B58\u4EFB\u52A1\u5DF2\u63D0\u4EA4\uFF0C\u4F46\u6682\u672A\u751F\u6210\u53EF\u64AD\u653E\u6587\u4EF6");return u.map(l=>({fileId:_t(l?.fileId),fileName:_t(l?.fileName),fileSize:Number(l?.fileSize||l?.size||0)||0})).filter(l=>l.fileId)}var tMt,S1e,rMt,M7,vin,T1e,nMt,sMt,Sin,Tin,_t,ZLt,SE,XC=oe(()=>{tMt=we(require("crypto"),1);kr();xl();S1e="https://account.guangyapan.com",rMt="https://api.guangyapan.com",M7="aMe-8VSlkrbQXpUR",vin="urn:ietf:params:oauth:grant-type:device_code",T1e="0123456789abcdef0123456789abcdef",nMt="CatPawOpen",sMt=[0,1,2,3,4,5],Sin=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso",".vob",".asf",".divx"],Tin=/https?:\/\/(?:www\.)?guangyapan\.com\/s\/([a-zA-Z0-9_-]+)(?:\?[^\s#]*)?(?:#[^\s]*)?/i,_t=e=>String(e??"").trim();ZLt=Promise.resolve();SE={Referer:"https://www.guangyapan.com/",Origin:"https://www.guangyapan.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/147.0.0.0 Safari/537.36"}});function Bin(e){return w1e.default.enc.Hex.stringify(w1e.default.MD5(String(e||""))).toString().slice(0,8)}function gMt(e,t,r="115"){return`v${r4}:${r}:${Bin(e)}:${(t||"").toLowerCase()}`}function Uin(){let e=_o(),t=e.find(n=>n?.key==="magnet")?.enable===!0;return e.find(n=>n?.key==="magnet_guangya")?.enable===!0?"guangya":t?"115":""}async function _Mt(e,t){if(!e?.db)return null;try{return(await e.db.getObjectDefault("/y115_offline",{}))?.[t]||null}catch{return null}}async function AMt(e,t,r){if(e?.db)try{await e.db.push(`/y115_offline/${t}`,r)}catch(n){console.warn("[magnet] persist offline cache failed:",n?.message)}}async function Fin(e){let t=e?.config?.y115?.offline||{},r={savePath:t.savePath||"0",pollAttempts:t.pollAttempts??20,pollIntervalMs:t.pollIntervalMs??1500};if(!e?.db?.getObjectDefault)return r;try{let n=await e.db.getObjectDefault("/y115_settings",r);return{...r,...n||{}}}catch{return r}}async function $in(e){let t={savePath:"root",pollAttempts:20,pollIntervalMs:1500};if(!e?.db?.getObjectDefault)return t;try{let r=await e.db.getObjectDefault("/guangya_cloud_settings",t),n={...t,...r||{}};return(!n.savePath||n.savePath==="auto")&&(n.savePath="root"),n}catch{return t}}function qin(e){return/^magnet:\?xt=urn:btih:[A-Za-z0-9]+/i.test(String(e||""))}function Hin(e){return/^ed2k:\/\//i.test(String(e||""))}function Vin(e){let t=String(e||"").split("|");return t.length>=5?t[4].toLowerCase():""}function Qh(e){return[{from:"\u78C1\u529B",url:`${e}$`}]}function C1e(e){let t=e.filter(r=>r.pick_code).map(r=>{let n=String(r.file_name||"unknown"),s=n.replace(/\.[^.]+$/,""),i=r.file_size?Vu(r.file_size):"";return`${i?`${s} [${i}]`:n}$own*${r.pick_code}`});return t.length===0?[]:[{from:"\u78C1\u529B",url:t.join("#")}]}function x1e(e){let t=(e||[]).filter(r=>r.fileId).map(r=>{let n=String(r.fileName||"unknown"),s=n.replace(/\.[^.]+$/,""),i=r.fileSize?Vu(r.fileSize):"";return`${i?`${s} [${i}]`:n}$gyown*${r.fileId}`});return t.length?[{from:"\u78C1\u529B",url:t.join("#")}]:[]}async function EMt(e,t){let r=Hin(e);if(!r&&!qin(e))return[];let n=t?.server||t?.raw?.server||t?.routeOptions?.config?.server||globalThis.server;if(!n)return Qh("\u274C \u7F3A\u5C11 server \u4E0A\u4E0B\u6587");let s=Uin();if(!s)return Qh("\u274C 115\u4E91\u8F6C\u5B58\u548C\u5149\u9E2D\u4E91\u8F6C\u5B58\u5747\u672A\u5F00\u542F");let i=r?Vin(e):$Lt(e);if(!i)return Qh(r?"\u274C ed2k \u94FE\u63A5\u7F3A\u5C11 hash":"\u274C \u78C1\u529B\u94FE\u63A5\u7F3A\u5C11 btih");if(s==="guangya"){if(r)return Qh("\u274C \u5149\u9E2D\u4E91\u8F6C\u5B58\u6682\u4E0D\u652F\u6301 ed2k");let m=gMt("guangya",i,"guangya"),g=Date.now(),_=jd.get(m);if(_&&g-_.ts<(_.error?mMt:pMt))return _.error?Qh(_.error):x1e(_.files||[]);let y=await _Mt(n,m);if(y?.files?.length&&y.version===r4)return jd.set(m,{ts:g,files:y.files}),x1e(y.files);try{let E=await $in(n),A=await hMt(n,e,E);return jd.set(m,{ts:g,files:A}),await AMt(n,m,{files:A,ts:g,version:r4,provider:"guangya"}),x1e(A)}catch(E){let A=`\u274C \u5149\u9E2D\u4E91\u8F6C\u5B58\u5931\u8D25\uFF1A${E?.message||E}`;return jd.set(m,{ts:g,error:A}),Qh(A)}}let a=await vo(n);if(!a)return Qh("\u274C \u672A\u914D\u7F6E 115 cookie");let o=gMt(a,i,"115"),c=Date.now(),u=jd.get(o);if(u&&c-u.ts<(u.error?mMt:pMt))return u.error?Qh(u.error):C1e(u.files||[]);let l=await _Mt(n,o);if(l?.files?.length&&l.version===r4)return jd.set(o,{ts:c,files:l.files}),C1e(l.files);let d=await Fin(n),f=r?1:d.pollAttempts||20,h=r?3e3:d.pollIntervalMs||1500;console.log(`[magnet] \u5F00\u59CB\u8F6C\u5B58 ${i} (${r?"ed2k":"magnet"}), pollAttempts=${f}, pollIntervalMs=${h}`);let p=[];try{p=await VLt(a,e,{savePath:d.savePath||"0",pollAttempts:f,pollIntervalMs:h,magnet:e,allowFallbackScan:r}),console.log(`[magnet] \u8F6C\u5B58\u5B8C\u6210 ${i}\uFF0C\u83B7\u5F97 ${p.length} \u4E2A\u6587\u4EF6`)}catch(m){let g=`\u274C \u79BB\u7EBF\u5931\u8D25\uFF1A${m?.message||"\u672A\u77E5\u9519\u8BEF"}`;return console.error(`[magnet] \u8F6C\u5B58\u5931\u8D25 ${i}:`,m?.message),jd.set(o,{ts:c,error:g}),Qh(g)}if(!p.length){let m="\u274C \u79BB\u7EBF\u5931\u8D25\uFF1A\u672A\u6293\u5230\u4E0B\u8F7D\u6587\u4EF6\uFF0C\u53EF\u80FD\u4ECD\u5728 115 \u540E\u53F0\u8F6C\u5B58\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5";return console.warn(`[magnet] \u672A\u83B7\u53D6\u5230\u6587\u4EF6 ${i}\uFF0C\u5DF2\u8F6E\u8BE2 ${f} \u6B21`),jd.set(o,{ts:c,error:m}),Qh(m)}return jd.set(o,{ts:c,files:p}),await AMt(n,o,{files:p,ts:c,version:r4}),C1e(p)}async function yMt(e,t){let r=String(e.body?.id||"").split("*");if(!["own","gyown"].includes(r[0])||!r[1])return{parse:0,url:"",msg:"\u78C1\u529B\u64AD\u653E\u53C2\u6570\u9519\u8BEF"};let n=e.server||e.raw?.server||e.routeOptions?.config?.server||globalThis.server;if(!n)return{parse:0,url:"",msg:"\u7F3A\u5C11 server \u4E0A\u4E0B\u6587"};if(r[0]==="gyown"){let a=await WC(n,r[1]);return a?{parse:0,url:["\u539F\u753B",a],header:SE}:{parse:0,url:"",msg:"\u5149\u9E2D\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"}}let s=await vo(n);if(!s)return{parse:0,url:"",msg:"\u672A\u914D\u7F6E 115 cookie"};let i=await GC(s,r[1]);return i?.url?{parse:0,url:["\u539F\u753B",i.url],header:{"User-Agent":kin,Cookie:i.cookie||s,Referer:"https://115.com/",Origin:"https://115.com"}}:{parse:0,url:"",msg:i?.msg||"115 \u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"}}async function vMt(e){if(jd.clear(),!!e?.db)try{await e.db.delete("/y115_offline")}catch(t){console.warn("[magnet] clear /y115_offline failed:",t?.message)}}async function N1e(e){for(let t of jd.keys())t.includes(":guangya:")&&jd.delete(t);if(e?.db)try{let t=await e.db.getObjectDefault("/y115_offline",{}),r=Object.fromEntries(Object.entries(t||{}).filter(([n])=>!n.includes(":guangya:")));await e.db.push("/y115_offline",r)}catch(t){console.warn("[magnet] clear guangya offline cache failed:",t?.message)}}var w1e,kin,pMt,r4,mMt,jd,U7=oe(()=>{w1e=we(ki(),1);gT();vE();v1e();Cs();Bi();XC();kin="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 115Browser/36.0.0 Chromium/125.0",pMt=30*60*1e3,r4=5,mMt=60*1e3,jd=new Map});var bMt={};Bt(bMt,{default:()=>F7,getCache:()=>vo,setCache:()=>TMt});async function F7(e){e.get("/qrcode",async(t,r)=>{JC=(await Se.get("https://qrcodeapi.115.com/api/1.0/web/1.0/token",{"User-Agent":O1e,referer:"https://115.com/"})).data.data;let s=await SMt.default.toBuffer(JC.qrcode,{width:300,height:300});r.send(s)}),e.post("/cookie",(t,r)=>{Se.get(`https://qrcodeapi.115.com/get/status/?_=${parseInt(Date.now()/1e3)}&sign=${JC.sign}&time=${JC.time}&uid=${JC.uid}`,{"User-Agent":O1e,referer:"https://115.com/"}).then(n=>n.data.data.status===2?Promise.resolve():Promise.reject(new Error(`\u626B\u7801\u72B6\u6001\u68C0\u6D4B\u5931\u8D25: ${n.data.message}`))).then(async()=>{let n=new URLSearchParams({account:JC.uid,app:"android"}),s=await Se.post("https://passportapi.115.com/app/1.0/android/1.0/login/qrcode",n,{headers:{"User-Agent":O1e,referer:"https://115.com/"}});if(s.data.state===1)r.send({code:0,data:n0(s.headers["set-cookie"]).join("")});else return Promise.reject(new Error(`\u767B\u5F55\u5931\u8D25\uFF1A${s.data.message}`))}).catch(n=>{console.error(n),r.send({code:-1,message:n?.message||"\u626B\u7801\u767B\u5F55\u5931\u8D25"})})}),e.get("/cookie",async(t,r)=>{r.send({code:0,data:await vo(t.server)})}),e.put("/cookie",async(t,r)=>{await TMt(t.server,t.body.cookie),r.send({code:0})}),e.get("/folders",async(t,r)=>{try{let n=await vo(t.server);if(!n)return r.send({code:-1,message:"\u672A\u914D\u7F6E 115 cookie"});let s=String(t.query?.cid||"0"),i=await HLt(n,s);return r.send({code:0,data:i})}catch(n){return console.error("[115/folders]",n?.message),r.send({code:-1,message:n?.message||"\u8BFB\u53D6\u76EE\u5F55\u5931\u8D25"})}}),e.get("/offline/settings",async(t,r)=>{let n={savePath:"0",pollAttempts:20,pollIntervalMs:1500},s=await t.server.db.getObjectDefault("/y115_settings",n);r.send({code:0,data:{...n,...s||{}}})}),e.post("/offline/settings",async(t,r)=>{let n=t.body||{},s={savePath:String(n.savePath||"0"),pollAttempts:Math.max(0,Math.min(50,Number(n.pollAttempts)||20)),pollIntervalMs:Math.max(200,Math.min(1e4,Number(n.pollIntervalMs)||1500))};await t.server.db.push("/y115_settings",s),r.send({code:0,data:s})}),e.post("/offline/clear",async(t,r)=>{try{let n=await vo(t.server);if(!n)return r.send({code:-1,message:"\u672A\u914D\u7F6E 115 cookie"});let s=!!t.body?.deleteSource;return await KLt(n,{deleteSource:s}),await vMt(t.server),r.send({code:0,data:{deleteSource:s}})}catch(n){return console.error("[115/offline/clear]",n?.message),r.send({code:-1,message:n?.message||"\u6E05\u7A7A\u79BB\u7EBF\u5217\u8868\u5931\u8D25"})}}),e.post("/files/clean",async(t,r)=>{try{let n=await vo(t.server);if(!n)return r.send({code:-1,message:"\u672A\u914D\u7F6E 115 cookie"});let s=!!t.body?.recent,i=!!t.body?.recycle;if(!s&&!i)return r.send({code:-1,message:"\u672A\u9009\u62E9\u6E05\u7406\u9879"});let a=await WLt(n,{doRecent:s,doRecycle:i});return r.send({code:0,data:a})}catch(n){return console.error("[115/files/clean]",n?.message),r.send({code:-1,message:n?.message||"\u6E05\u7406 115 \u6587\u4EF6\u5931\u8D25"})}})}var SMt,n4,O1e,JC,vo,TMt,gT=oe(()=>{Pr();SMt=we(yE(),1),n4=we(ki(),1);Cs();v1e();XLt();U7();O1e="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0",JC={},vo=async e=>{let t=String(e.config?.y115?.cookie||""),r=n4.default.enc.Hex.stringify(n4.default.MD5(t)).toString(),n=await e.db.getObjectDefault("/y115",{});return n[r]?n[r]:t?(await e.db.push(`/y115/${r}`,t),t):""},TMt=async(e,t)=>{let r=n4.default.enc.Hex.stringify(n4.default.MD5(e.config.y115.cookie)).toString();await e.db.push(`/y115/${r}`,t)}});function wMt(e){let t=4294967295;for(let r=0;r>>1^3988292384&-(t&1)}return(t^4294967295)>>>0}function NMt(e,t=8192){let r=0,n=Buffer.alloc(t),s=0;for(;r>4;if(a===15){let u;do{if(r>=e.length)throw new Error("LZ4 literal length overflow");u=e[r++],a+=u}while(u===255)}if(a>0){if(r+a>e.length)throw new Error("LZ4 literal out of bounds");if(s+a>n.length)throw new Error("LZ4 literal exceeds output");e.copy(n,s,r,r+a),r+=a,s+=a}if(r>=e.length)break;if(r+2>e.length)throw new Error("LZ4 missing match offset");let o=e[r]|e[r+1]<<8;if(r+=2,o<=0||o>s)throw new Error(`LZ4 invalid match offset: ${o}`);let c=i&15;if(c===15){let u;do{if(r>=e.length)throw new Error("LZ4 match length overflow");u=e[r++],c+=u}while(u===255)}if(c+=4,s+c>n.length)throw new Error("LZ4 match exceeds output");for(let u=0;u{TE=we(require("crypto"),1),Kin=Buffer.from([87,162,146,87,205,35,32,229,214,209,67,50,47,164,187,138,60,249,211,204,98,62,245,237,172,98,183,103,138,137,201,26,131,186,128,13,97,41,245,34,208,52,200,149,221,36,101,36,58,221,194,80,149,59,238,186]),D1e=28,xMt="^j>WD3Kr?J2gLFjD4W2y@",IMt=Buffer.from([251,26,25,214,82,245,170,247,188,101,29,15,105,191,66,47]),RMt=Buffer.from([105,191,66,47,73,150,5,80,160,173,68,236,52,70,203,76]),CMt=Buffer.from([29,3,14,128,161,120,220,238,206,205,163,119,222,18,141,142,217,221,207,85,174,97,237,70,234,18,26,28,252,129]);$7=class{static encodeToken(t){let r=Buffer.alloc(48),n=0;CMt.slice(0,15).copy(r,n),n+=15,r[n++]=0,r[n++]=115,r[n++]=0,r[n++]=0,r[n++]=0,r.writeUInt32LE(t,n),n+=4,CMt.slice(15).copy(r,n),n+=15,r[n++]=0,r[n++]=1,r[n++]=0,r[n++]=0,r[n++]=0;let s=wMt(Buffer.concat([Buffer.from(xMt),r.slice(0,44)]));return r.writeUInt32LE(s,n),r.toString("base64")}static encrypt(t){let r=Buffer.from(t),n=(16-r.length%16)%16,s=n?Buffer.concat([r,Buffer.alloc(n,n)]):r,i=TE.default.createCipheriv("aes-128-cbc",IMt,RMt);return i.setAutoPadding(!1),Buffer.concat([i.update(s),i.final()])}static decrypt(t){let r=t.length-t.length%16,n=TE.default.createDecipheriv("aes-128-cbc",IMt,RMt);n.setAutoPadding(!1);let s=Buffer.concat([n.update(t.slice(0,r)),n.final()]);if(s.length>=2){let a=s[0]|s[1]<<8;if(a>0&&a<=s.length-2)try{return NMt(s.slice(2,a+2))}catch(o){console.warn("[115-cipher] static LZ4 decompression failed, using raw decrypted data:",o?.message||o)}}let i=s[s.length-1];return i>0&&i<=16&&s.slice(-i).every(a=>a===i)&&(s=s.slice(0,-i)),s}},q7=class e{constructor(){this.key=null,this.iv=null,this.pubKey=null}static create(){let t=new e,r=TE.default.createECDH("secp224r1");r.generateKeys();let n=r.getPublicKey(),s=Buffer.concat([Buffer.from([4]),Kin]),i=r.computeSecret(s);t.key=i.slice(0,16),t.iv=i.slice(i.length-16);let a=n.slice(1,D1e+1),o=n.slice(D1e+1),u=(o[o.length-1]&1)===1?3:2;return t.pubKey=Buffer.concat([Buffer.from([D1e+1,u]),a]),t}encrypt(t){let r=Gin(Buffer.from(t),16),n=Buffer.alloc(r.length),s=Buffer.from(this.iv),i=TE.default.createCipheriv("aes-128-ecb",this.key,null);i.setAutoPadding(!1);for(let a=0;a=2){let o=a[0]|a[1]<<8;if(o>0&&o<=a.length-2)try{return NMt(a.slice(2,o+2))}catch(c){console.warn("[115-cipher] LZ4 decompression failed, using raw decrypted data:",c?.message||c)}}return a}encodeToken(t){let r=TE.default.randomBytes(1)[0],n=TE.default.randomBytes(1)[0],s=Buffer.alloc(48),i=Buffer.alloc(4);i.writeUInt32BE(t,0);let a=0;for(let l=0;l<15;l++)s[a++]=this.pubKey[l]^r;s[a++]=r,s[a++]=115^r;for(let l=0;l<3;l++)s[a++]=r;for(let l=0;l<4;l++)s[a++]=r^i[3-l];for(let l=15;ls||s>=e.length)throw new Error(`Range ${t} out of bounds for buffer size ${e.length}`);let i=e.slice(n,s+1);return _T.default.createHash("sha1").update(i).digest("hex").toUpperCase()}async function PMt(e){let{cookie:t,userId:r,userKey:n,fileName:s,fileSize:i,fileID:a,preID:o,dirID:c="0",buffer:u=null,readRangeBytes:l=null}=e,d=`U_1_${c}`,f=i.toString(),h=r.toString(),p=process.env.PAN115_RAPID_DYNAMIC_ECDH?q7.create():$7,m="",g="",_=!0;for(;_;){let y=Math.floor(Date.now()/1e3),E=y.toString(),A=p.encodeToken(y),v=[["appid",M1e==="0"?"":M1e],["appversion",DMt],["userid",h],["userkey",n],["filename",s],["filesize",f],["fileid",a],["target",d],["sig",Win(n,h,a,d)],["t",E],["token",Xin(h,a,f,E,m,g,o)],["topupload",process.env.PAN115_RAPID_TOPUPLOAD||"true"],["sign_key",m],["sign_val",g]],T=new URLSearchParams(v.filter(([,Y])=>Y).sort(([Y],[$])=>Y.localeCompare($))).toString(),C=p.encrypt(T),b=`${Qin}?k_ec=${encodeURIComponent(A)}`,x=await fetch(b,{method:"POST",headers:{Cookie:t,"Content-Type":"application/x-www-form-urlencoded","User-Agent":zin},body:C});if(!x.ok)throw new Error(`HTTP ${x.status}: ${x.statusText}`);let w=Buffer.from(await x.arrayBuffer()),P=p.decrypt(w),M=(()=>{let Y=P.indexOf(123),$=P.indexOf(91);return Y===-1?$:$===-1?Y:Math.min(Y,$)})();if(M<0)throw new Error(`115 API returned non-JSON response: ${P.slice(0,32).toString("hex")}`);let L=P.slice(M).toString("utf8").trim(),U;try{U=JSON.parse(L)}catch(Y){throw new Error(`115 API JSON parse failed: ${Y.message}; text=${L.slice(0,160)}; hex=${P.slice(0,96).toString("hex")}`)}if(U.status===7&&U.sign_key&&U.sign_check){if(m=U.sign_key,u)g=Jin(u,U.sign_check);else if(typeof l=="function"){let Y=Buffer.from(await l(U.sign_check));g=_T.default.createHash("sha1").update(Y).digest("hex").toUpperCase()}else throw new Error("Status 7 requires file buffer or readRangeBytes for sign_val, but neither was provided");continue}if(U.statuscode&&U.statuscode!==0)throw new Error(`115 API error ${U.statuscode}: ${U.statusmsg||"Unknown error"}`);if(U.status===7)throw new Error("Status 7 missing sign_key/sign_check");return _=!1,{pickCode:U.pickcode,status:U.status,fileID:U.fileid,target:U.target,sha1:a}}}var _T,Qin,P1e,M1e,DMt,zin,L1e,LMt=oe(()=>{_T=we(require("crypto"),1);OMt();Qin=process.env.PAN115_RAPID_INIT_URL||"https://uplb.115.com/4.0/initupload.php",P1e="Qclm8MGWUv59TnrR0XPg",M1e=process.env.PAN115_RAPID_APP_ID||"0",DMt=process.env.PAN115_RAPID_APP_VERSION||"99.99.99.99",zin=process.env.PAN115_RAPID_UA||"Mozilla/5.0 115disk/99.99.99.99 115Browser/99.99.99.99 115wangpan_android/99.99.99.99",L1e=process.env.PAN115_RAPID_TOKEN_VERSION||DMt});var kMt={};Bt(kMt,{aliTo115:()=>MMt,aliTo115FullFlow:()=>nan,cancelAllCleanups:()=>san});function tan(e,t,r){let n=setTimeout(async()=>{try{await _1e(e,t),console.log(`[ali-to-115] Cleaned up 115 temp file: ${t}`)}catch(s){console.warn(`[ali-to-115] 115 cleanup failed for ${t}:`,s?.message)}finally{H7.delete(n)}},r);return H7.add(n),n}function ran(e){k1e(e).then(()=>console.log(`[ali-to-115] Cleaned up Ali temp file: ${e}`),t=>console.warn(`[ali-to-115] Ali cleanup failed for ${e}:`,t?.message))}async function MMt(e){let{shareUrl:t,fileId:r,fileName:n,fileSize:s,cookie115:i}=e;console.log(`[ali-to-115] Starting: ${n} (${s} bytes)`);let a=null,o=null;try{let c=bE(t);if(!c)throw new Error("Invalid Aliyun share URL");console.log(`[ali-to-115] Step 1: Parsed share ${c.shareId}`),a=await UMt(c.shareId,r),console.log(`[ali-to-115] Step 2: Saved to Aliyun drive: ${a}`);let u=await FMt(a);if(!u.contentHash)throw new Error("Aliyun did not return content_hash");console.log(`[ali-to-115] Step 3: Got content_hash: ${u.contentHash}`);let l=await DLt(i);console.log(`[ali-to-115] Step 4: Got 115 user info: ${l.userId}`);let d="0";console.log(`[ali-to-115] Step 5: Using 115 target dir: ${d} (root)`);let f=async m=>{let g=await fetch(u.url,{headers:{Range:`bytes=${m}`,"User-Agent":"Mozilla/5.0"},redirect:"follow"});if(!g.ok&&g.status!==206)throw new Error(`Aliyun range fetch failed: HTTP ${g.status}`);return Buffer.from(await g.arrayBuffer())},h=await PMt({cookie:i,userId:l.userId,userKey:l.userKey,fileName:n,fileSize:s,fileID:u.contentHash,preID:Zin,dirID:d,readRangeBytes:f});o=h.fileID,console.log(`[ali-to-115] Step 6: Rapid upload success! pickCode: ${h.pickCode}`);let p=await PLt(i,h.pickCode);return p.fileId&&(o=p.fileId),console.log(`[ali-to-115] Step 7: Got 115 direct URL, fileId=${o||"(unknown)"}`),o?tan(i,o,ean):console.warn("[ali-to-115] Step 8: skipping 115 cleanup \u2014 no file_id resolved"),ran(a),a=null,{pickCode:h.pickCode,contentHash:u.contentHash,url:p.url,cookie:p.cookie}}catch(c){throw console.error(`[ali-to-115] Failed for ${n}:`,c?.message||c),a&&k1e(a).catch(u=>console.warn("[ali-to-115] Ali error-cleanup failed:",u?.message)),o&&_1e(i,o).catch(u=>console.warn("[ali-to-115] 115 error-cleanup failed:",u?.message)),c}}function san(){for(let e of H7)clearTimeout(e);H7.clear(),console.log("[ali-to-115] All cleanup tasks cancelled")}var Zin,ean,H7,nan,BMt=oe(()=>{ZC();vE();LMt();Zin="2EF7BDE608CE5404E97D5F042F95F89F1C232871",ean=30*1e3,H7=new Set;nan=MMt});function bE(e){let t=ian.exec(e);return t?{shareId:t[1]||t[4],folderId:t[3]||t[6]||"root"}:null}async function Cg(e){if(qMt&&RE)return;RE=e.server.db;let t=e.server.config?.ali||{},r=String(t?.token||"").trim();CE=vT.default.enc.Hex.stringify(vT.default.MD5(r)).toString();let n=await RE.getObjectDefault(KMt,{});n[CE]?ET=n[CE]:r?ET=r:ET="",qMt=!0}async function Q7(e,t=3,r=1e3){for(let n=0;n{let i=await Ye.post(`${aan}/${e}`,t,{headers:r}).catch(a=>(console.error(a),a.response||{status:500,data:{}}));return i.status===429&&(n||3)>0?(await tr(1e3),await ST(e,t,r,(n||3)-1)):i.data||{}},3,1e3)}async function Kd(e,t,r,n){return r=r||{},Object.assign(r,{Authorization:qa.auth}),Q7(async()=>{let i=await Ye.post(`${oan}/${e}`,t,{headers:r}).catch(a=>(console.error(a),a.response||{status:500,data:{}}));return i.status===429&&(n||3)>0?(await tr(1e3),await Kd(e,t,r,(n||3)-1)):i.data||{}},3,1e3)}async function i4(){if(!ET){Hn={};return}if(!Hn.user_id||Hn.expire_time-(0,c0.default)().unix()<120){let e=await Ye.post("https://auth.aliyundrive.com/v2/account/token",{refresh_token:ET,grant_type:"refresh_token"},{headers:YMt}).catch(t=>t.response||{status:500,data:{}});e.status===200&&(Hn=e.data,Hn.expire_time=(0,c0.default)(e.data.expire_time).unix(),Hn.auth=`${Hn.token_type} ${Hn.access_token}`,ET=Hn.refresh_token,await RE.push(KMt+"/"+CE,Hn.refresh_token))}}function QMt(e={}){if(!e?.access_token)return null;let t={...e};if(!t.expire_time)try{let r=String(t.access_token||"").split(".")[1],n=JSON.parse(vT.default.enc.Base64.parse(r).toString(vT.default.enc.Utf8));t.expire_time=Number(n.exp||0)}catch{t.expire_time=(0,c0.default)().unix()+Math.max(Number(t.expires_in||7200)-60,300)}return t.token_type=t.token_type||"Bearer",t.auth=`${t.token_type} ${t.access_token}`,t.expire_time>(0,c0.default)().unix()?t:null}async function can(){if(!RE||!CE)return null;let e=await RE.getObjectDefault(`${GMt}/${CE}`,null),t=QMt(e);return t&&t.expire_time-(0,c0.default)().unix()>120?(qa=t,qa):null}async function zMt(e){let t=QMt(e);return t?(qa=t,RE&&CE&&await RE.push(`${GMt}/${CE}`,t),qa):null}async function WMt(e){let t=await Q7(()=>Ye.post("https://aliyundrive-oauth.messense.me/oauth/access_token",e,{timeout:15e3,headers:{"Content-Type":"application/json"}}),2,1200);return t?.status===200?t.data:null}async function uan(){if(!qa?.refresh_token)return null;try{let e=await WMt({refresh_token:qa.refresh_token,grant_type:"refresh_token"});return await zMt(e)}catch(e){return console.warn("[ali] OpenAPI refresh_token \u5237\u65B0\u5931\u8D25\uFF0C\u51C6\u5907\u56DE\u9000\u4E8C\u7EF4\u7801\u6388\u6743:",e?.message||e),null}}async function lan(){let e=await Q7(()=>Ye.post("https://aliyundrive-oauth.messense.me/oauth/authorize/qrcode",{scopes:["user:base","file:all:read","file:all:write"],width:300,height:300},{timeout:15e3,headers:{"Content-Type":"application/json"}}),2,1200);if(!e.data?.sid)return console.error("\u83B7\u53D6sid\u5931\u8D25"),null;let t=e.data.sid;if(!(await Ye.post(`https://open.aliyundrive.com/oauth/users/qrcode/authorize?sid=${t}`,{authorize:1,scope:"user:base,file:all:read,file:all:write",drives:["backup","resource"],scopes:["user:base","file:all:read","file:all:write"],sid:t},{timeout:15e3,headers:{authorization:Hn.auth}})).data?.result)return console.error("\u83B7\u53D6\u6388\u6743flag\u5931\u8D25"),null;let n=null;for(let i=0;i<30;i++){await tr(1e3);let a=await Ye.get(`https://openapi.aliyundrive.com/oauth/qrcode/${t}/status`,{timeout:1e4});if(a.data?.status==="LoginSuccess"){n=a.data.authCode;break}}if(!n)return console.error("\u83B7\u53D6\u6388\u6743code\u8D85\u65F6"),null;let s=await WMt({code:n,grant_type:"authorization_code"});return await zMt(s)}async function dan(){if(qa?.access_token&&qa.expire_time-(0,c0.default)().unix()>120||await can())return qa;if(await i4(),!Hn.auth)return console.error("\u65E0\u6CD5\u83B7\u53D6\u7528\u6237\u6388\u6743"),null;if(await uan())return qa;try{return await lan()}catch(e){return console.error("driveAuth\u5931\u8D25:",e?.message||e),null}}async function a4(){return V7||(V7=dan().finally(()=>{V7=null})),await V7}async function VMt(){let e=await Kd("openFile/list",{drive_id:Hn.drive.resource_drive_id,parent_file_id:IE,limit:100,order_by:"updated_at",order_direction:"DESC"});if(e.items){let t=e.items.map(r=>Kd("openFile/delete",{drive_id:Hn.drive.resource_drive_id,file_id:r.file_id}));await Promise.all(t)}}async function XMt(e){if(!Hn.device_id)return;if(IE){e&&await VMt();return}if(await a4(),!qa.auth){console.error("\u65E0\u6CD5\u83B7\u53D6openapi\u6388\u6743");return}let t=await Kd("user/getDriveInfo",{});if(t.resource_drive_id){Hn.drive=t;let r=t.resource_drive_id,n=await Kd("openFile/list",{drive_id:r,parent_file_id:"root",limit:100,order_by:"updated_at",order_direction:"DESC"});if(n.items){for(let s of n.items)if(s.name===HMt){IE=s.file_id,await VMt();break}if(!IE){let s=await Kd("openFile/create",{check_name_mode:"refuse",drive_id:r,name:HMt,parent_file_id:"root",type:"folder"});s.file_id&&(IE=s.file_id)}}}}async function z7(e){let t=e.shareId,r=AT.get(t);if(!r||r.expire_time-(0,c0.default)().unix()<120){if(j7.has(t)){await j7.get(t);return}let n=(async()=>{try{AT.delete(t);let s=await ST("v2/share_link/get_share_token",{share_id:e.shareId,share_pwd:e.sharePwd||""});s?.expire_time?(s.expire_time=(0,c0.default)(s.expire_time).unix(),AT.set(t,s)):console.warn("[ali detail] get_share_token empty",JSON.stringify({shareId:e.shareId,folderId:e.folderId||"root",hasToken:!!s?.share_token,code:s?.code??null,message:s?.message||""}))}finally{j7.delete(t)}})();j7.set(t,n),await n}}async function JMt(e,t,r={}){let n=typeof e=="string"?bE(e):e;if(!n)return[];await z7(n);let s=AT.get(n.shareId);if(!s)return console.warn("[ali share] no cached share token",JSON.stringify({shareId:n.shareId,folderId:t||n.folderId||"root"})),[];let i=[],a=Math.max(0,Number.parseInt(r.page||r.pg,10)||0),o=a>0,c=Math.max(1,Math.min(200,Number(r.pageLimit||r.perPage||r.batchSize)||200)),u=Math.max(1,Number(r.batchSize)||500),l=Math.max(0,Number(r.batchIntervalMs)||0),d="",f=0,h=1,p=0,m=0;do{let g=await ST("adrive/v2/file/list_by_share",{share_id:n.shareId,parent_file_id:t||n.folderId||"root",limit:c,order_by:"name",order_direction:"ASC",marker:d},{"X-Share-Token":s.share_token}),_=Array.isArray(g?.items)?g.items:[];if(m+=_.length,(!o||h===a)&&i.push(..._),f+=_.length,p=Number(g?.total||g?.total_count||p||0),d=g?.next_marker||"",o&&h>=a){let y=p>0?p:(a-1)*c+_.length+(d?c:0);return{items:i,paged:!0,page:a,pageSize:c,total:Math.max(y,(a-1)*c+i.length)}}d&&l>0&&f>=u&&(f=0,await tr(l)),h+=1}while(d);if(o){let g=p>0?p:m;return{items:i,paged:!0,page:a,pageSize:c,total:g}}return i}async function ZMt(e){let t=typeof e=="string"?bE(e):e;if(!t)return[];await z7(t);let r=AT.get(t.shareId);if(!r)return console.warn("[ali detail] no cached share token",JSON.stringify({shareId:t.shareId,folderId:t.folderId||"root"})),[];let n=[],s=async(i,a,o="",c)=>{let u=await ST("adrive/v2/file/list_by_share",{share_id:i,parent_file_id:a,limit:200,order_by:"name",order_direction:"ASC",marker:c||""},{"X-Share-Token":r.share_token}),l=u.items;if(!l){console.warn("[ali detail] list items empty",JSON.stringify({shareId:i,folderId:a,currentPath:o,nextMarker:c||"",code:u?.code??null,message:u?.message||""}));return}let d=[],f=[],h=[];for(let g of l)g.type==="folder"?h.push({item:g,path:o+(o?"/":"")+g.name}):g.type==="file"&&g.category==="video"?(g.name=g.name.replace(/玩偶哥.*【神秘的哥哥们】/g,""),g.fullPath=o+(o?"/":"")+g.name,d.push(g)):g.type==="file"&&Ct(g.name)&&f.push(g);for(let g of d){let _=yr(g.name,f,y=>y.name);_?.file_id&&(g.subtitle={file_id:_.file_id})}let p=cr(d);n.push(...p);let m=h.map(g=>s(i,g.item.file_id,g.path));await Promise.all(m),u.next_marker&&await s(i,a,o,u.next_marker)};return await s(t.shareId,t.folderId,""),n}function fan(e,t){let n=(K7.get(e)||Promise.resolve()).catch(()=>{}).then(()=>t()),s=n.catch(()=>{});return K7.set(e,s),s.finally(()=>{K7.get(e)===s&&K7.delete(e)}),n}async function ekt(e,t,r){return fan(e,()=>han(e,t,r))}async function han(e,t,r){if(await i4(),await XMt(r),r&&yT.clear(),!IE)return null;await z7({shareId:e});let n=AT.get(e);return n?(await ST("adrive/v2/file/copy",{file_id:t,share_id:e,auto_rename:!0,to_parent_file_id:IE,to_drive_id:Hn.drive.resource_drive_id},{"X-Share-Token":n.share_token})).file_id||!1:null}async function tkt(e,t){if(!yT.has(t)){let s=await ekt(e,t,!0);if(!s)return null;yT.set(t,s)}if(await a4(),!qa.auth)return console.error("\u65E0\u6CD5\u83B7\u53D6openapi\u6388\u6743\uFF0C\u65E0\u6CD5\u83B7\u53D6\u8F6C\u7801\u4FE1\u606F"),null;let n=(await Kd("openFile/getVideoPreviewPlayInfo",{file_id:yT.get(t),drive_id:Hn.drive.resource_drive_id,category:"live_transcoding",url_expire_sec:"14400"}))?.video_preview_play_info;return n?.quick_video_list??n?.live_transcoding_task_list}async function pan(e,t){if(!yT.has(t)){let n=await ekt(e,t,!0);if(!n)return null;yT.set(t,n)}if(await a4(),!qa.auth)return console.error("\u65E0\u6CD5\u83B7\u53D6openapi\u6388\u6743\uFF0C\u65E0\u6CD5\u83B7\u53D6\u4E0B\u8F7D\u94FE\u63A5"),null;let r=await Kd("openFile/getDownloadUrl",{file_id:yT.get(t),drive_id:Hn.drive.resource_drive_id});return r.url?r:null}async function rkt(e,t){if(t&&await Cg(t),await QDt(e)){let r=bE(e);if(r){let n=await ZMt(r);if(n?.length>0){let s=await lt("ali"),i=n.map(c=>({vod_id:Zt([c.share_id,c.file_id,c.subtitle?.file_id||""],{structured:!0}),vod_name:c.name,vod_size:c.size})),a=Eo(s,i),o=Eo("\u79D2\u4F20115",n.map(c=>({vod_id:Zt([r.shareId,c.file_id,c.subtitle?.file_id||"",e,c.name||"",c.size??""],{structured:!0}),vod_name:c.name,vod_size:c.size})));return[...a,...o]}}}return[]}function man(e){let t=String(e?.server?.config?.ali?.token||"");return vT.default.enc.Hex.stringify(vT.default.MD5(t)).toString()}async function gan(e){let t=man(e),r=await e.server.db.getObjectDefault(`/ali/settings/${t}`,jMt);return yo(r,jMt)}async function nkt(e,t){await Cg(e);let r=e.params.site,n=e.params.what,s=e.params.shareId,i=e.params.fileId;if(r!=="ali")return;let a=e.params.flag,o=e.params.end;if(n==="trans"){let c=Y7.get(i);if(c){let l=c.find(d=>d.template_id.toLowerCase()===a)?.url;if(l){let d=l.match(/x-oss-expires=(\d+)/);d&&parseInt(d[1])-(0,c0.default)().unix()<15&&(Y7.delete(i),c=null)}}if(!c){if(c=await tkt(s,i),!c)return t.code(500),"\u65E0\u6CD5\u83B7\u53D6\u8F6C\u7801\u4FE1\u606F\uFF0C\u8BF7\u68C0\u67E5\u6388\u6743";Y7.set(i,c)}let u=c.find(l=>l.template_id.toLowerCase()===a);if(!u)return t.code(404),"\u627E\u4E0D\u5230\u6307\u5B9A\u7684\u8F6C\u7801\u683C\u5F0F";if(o?.endsWith(".ts")){if(!u.plist){let f=await Ye.get(u.url,{headers:{"User-Agent":sT}});u.plist=s4.parse(f.data),u.plist.segments.forEach((h,p)=>{h.uri.startsWith("http")||(h.uri=new URL(h.uri,u.url).toString()),h.suri=h.uri,h.uri=p+".ts"})}let l=parseInt(o.replace(".ts","")),d=u.plist.segments[l];if(d?.suri){t.redirect(d.suri);return}}else{if(!u.plist){let d=await Ye.get(u.url,{headers:{"User-Agent":sT}});u.plist=s4.parse(d.data)}let l=s4.stringify(u.plist);return t.code(200).headers({"content-type":"audio/x-mpegurl","content-length":l.length.toString()}),l}}else{let c=G7.get(i);if(c){let u=c.url.match(/x-oss-expires=(\d+)/);u&&parseInt(u[1])-(0,c0.default)().unix()<15&&(G7.delete(i),c=null)}if(!c){if(c=await pan(s,i),!c)return t.code(500),"\u65E0\u6CD5\u83B7\u53D6\u4E0B\u8F7D\u94FE\u63A5\uFF0C\u8BF7\u68C0\u67E5\u6388\u6743";G7.set(i,c)}if(a==="subt"){t.redirect(c.url);return}if(a==="redirect"){t.redirect(c.url);return}if(a==="down"){let u=await gan(e);if(!u.useMultithread){t.redirect(c.url);return}let l=Number(c.size||c.file_size||c.fileSize||0),d=l>0?l:null;try{return await Kc(e,t,c.url,i,{},{chunkSize:u.chunkSize,poolSize:u.poolSize,timeout:1e3*10},d,!0)}catch(f){console.error("[ali proxy] chunkStream error, clearing cache:",f.message),G7.delete(i),t.sent||t.code(503).send({error:"stream error, please retry"});return}}t.sent||t.code(400).send({error:"\u4E0D\u652F\u6301\u7684\u4EE3\u7406\u7C7B\u578B"})}}async function o4(e,t){await Cg(e);let r=e.body.flag,n=e.body.id;if(r.startsWith("\u79D2\u4F20115")){let s;try{s=qn(n,{minLength:3,fieldOrder:[...$Mt,"shareUrl","fileName","fileSize"]})}catch{return Vs("\u79D2\u4F20115\u64AD\u653E\u53C2\u6570\u65E0\u6548")}let{shareId:i,fileId:a,shareUrl:o,fileName:c="",fileSize:u=""}=s,l=bE(o);if(!l)return Vs("\u65E0\u6548\u7684\u963F\u91CC\u4E91\u76D8\u5206\u4EAB\u94FE\u63A5");let d=c,f=u;if(!d){let p=(await ZMt(l)).find(m=>m.file_id===a);if(!p)return Vs("\u627E\u4E0D\u5230\u6307\u5B9A\u7684\u6587\u4EF6");d=p.name,f=p.size}console.log(`[ali-to-115] Play request: ${d}`);try{let{getCache:h}=await Promise.resolve().then(()=>(gT(),bMt)),p=await h(e.server);if(!p)return Vs("115 Cookie \u672A\u914D\u7F6E\uFF0C\u8BF7\u5148\u914D\u7F6E115\u8D26\u53F7");let{aliTo115FullFlow:m}=await Promise.resolve().then(()=>(BMt(),kMt)),g=await m({shareUrl:o,fileId:a,fileName:d,fileSize:f,cookie115:p});return console.log(`[ali-to-115] Success: ${d}`),ec({parse:0,urls:["\u539F\u753B",g.url],header:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 115Browser/36.0.0 Chromium/125.0",Cookie:g.cookie||p,Referer:"https://115.com/",Origin:"https://115.com"}})}catch(h){return console.error(`[ali-to-115] Play failed for ${d}:`,h?.message||h),Vs(`\u79D2\u4F20115\u5931\u8D25: ${h?.message||"\u672A\u77E5\u9519\u8BEF"}`)}}if(r.startsWith(await lt("ali"))){let s;try{s=qn(n,{minLength:2,fieldOrder:$Mt})}catch{return Vs("\u963F\u91CC\u4E91\u76D8\u64AD\u653E\u53C2\u6570\u65E0\u6548")}let{shareId:i,fileId:a,subtitleFileId:o=""}=s,c=[...wl(e,"ali","\u4EE3\u7406","down",i,a,".bin"),...wl(e,"ali","\u539F\u753B","redirect",i,a,".bin")],u=[];o&&u.push(dE(e,"ali",i,o,".bin",{name:"\u5916\u6302\u5B57\u5E55",format:"bin"}));let l=await tkt(i,a);if(l){Y7.set(a,l),l.sort((f,h)=>h.template_width-f.template_width);let d={QHD:"\u8D85\u6E05",FHD:"\u9AD8\u6E05",HD:"\u6807\u6E05",SD:"\u666E\u753B",LD:"\u6781\u901F"};l.forEach(f=>{let h=d[f.template_id]||f.template_id;c.push(h,n2t(e,"ali",f.template_id.toLowerCase(),i,a,".m3u8"))})}else console.warn("[ali play] \u8F6C\u7801\u4FE1\u606F\u83B7\u53D6\u5931\u8D25\uFF0C\u964D\u7EA7\u4E3A\u4EE3\u7406/\u539F\u753B\u7EBF\u8DEF");return ec({parse:0,urls:c,subtitles:u})}}async function skt(){if(await i4(),!Hn.auth||(await a4(),!qa.auth))return null;if(!Hn.drive?.resource_drive_id){let e=await Kd("user/getDriveInfo",{});e?.resource_drive_id&&(Hn.drive=e)}return Hn.drive?.resource_drive_id||Hn.drive?.default_drive_id||""}async function ikt(e="root",t=""){let r=await skt();if(!r)return{items:[],next_marker:"",drive_id:""};let n=await Kd("openFile/list",{drive_id:r,parent_file_id:e||"root",limit:200,order_by:"name",order_direction:"ASC",marker:t||""});return{items:Array.isArray(n?.items)?n.items:[],next_marker:String(n?.next_marker||""),drive_id:r}}async function U1e(e){let t=await skt();if(!t||!e)return"";let r=await Kd("openFile/getDownloadUrl",{drive_id:t,file_id:e});return String(r?.url||"").trim()}async function UMt(e,t,r=null){if(await i4(),r||(await XMt(!1),r=IE),!r){let i={hasToken:!!ET,hasUser:!!Hn.user_id,hasDeviceId:!!Hn.device_id,hasOauth:!!qa.auth,hasDrive:!!Hn.drive?.resource_drive_id};throw console.error("[ali][saveShareFile] \u65E0\u6CD5\u521B\u5EFA\u4FDD\u5B58\u76EE\u5F55\uFF0C\u8C03\u8BD5\u4FE1\u606F:",JSON.stringify(i)),new Error(`\u65E0\u6CD5\u521B\u5EFA\u4FDD\u5B58\u76EE\u5F55: ${JSON.stringify(i)}`)}await z7({shareId:e});let n=AT.get(e);if(!n)throw new Error("\u65E0\u6CD5\u83B7\u53D6\u5206\u4EAB token");let s=await ST("adrive/v2/file/copy",{file_id:t,share_id:e,auto_rename:!0,to_parent_file_id:r,to_drive_id:Hn.drive.resource_drive_id},{"X-Share-Token":n.share_token});if(!s.file_id)throw new Error("\u4FDD\u5B58\u6587\u4EF6\u5931\u8D25");return s.file_id}async function FMt(e){if(await a4(),!qa.auth)throw new Error("\u65E0\u6CD5\u83B7\u53D6 OpenAPI \u6388\u6743");let t=await Kd("openFile/getDownloadUrl",{file_id:e,drive_id:Hn.drive.resource_drive_id});if(!t.url)throw new Error("\u83B7\u53D6\u4E0B\u8F7D\u94FE\u63A5\u5931\u8D25");return{url:t.url,contentHash:t.content_hash||null,size:t.size||0,expiration:t.expiration||null}}async function k1e(e){if(e){await i4();try{await ST("adrive/v2/recyclebin/trash",{drive_id:Hn.drive.resource_drive_id,file_id:e})}catch(t){console.warn("[ali][deleteFile] failed:",t?.message||t)}}}var c0,vT,s4,$Mt,ian,aan,oan,AT,Hn,qa,RE,qMt,KMt,HMt,IE,CE,ET,V7,GMt,YMt,j7,yT,K7,Y7,G7,jMt,ZC=oe(()=>{c0=we(kk(),1),vT=we(ki(),1);Cs();kr();s4=we(HDt(),1);Fa();lE();ju();Bi();xl();a0();bg();jh();uT();qd();$Mt=["shareId","fileId","subtitleFileId"],ian=/https:\/\/www\.alipan\.com\/s\/([^\\/]+)(\/folder\/([^\\/]+))?|https:\/\/www\.aliyundrive\.com\/s\/([^\\/]+)(\/folder\/([^\\/]+))?/;aan="https://api.aliyundrive.com",oan="https://open.aliyundrive.com/adrive/v1.0",AT=Hs("ali.shareToken",{maxSize:200,ttl:30*60*1e3}),Hn={},qa={},RE=null,qMt=!1,KMt="/ali",HMt="CatVodOpen",IE=null,CE="",ET="",V7=null,GMt="/ali/oauth",YMt={"User-Agent":sT,Referer:"https://www.aliyundrive.com/"};j7=new Map;yT=Hs("ali.saveFileId",{maxSize:1e3,ttl:60*60*1e3}),K7=new Map;Y7=Hs("ali.transcoding",{maxSize:500,ttl:30*60*1e3}),G7=Hs("ali.downloading",{maxSize:500,ttl:5*60*1e3}),jMt={chunkSize:512*1024,poolSize:4,useMultithread:!0}});async function l4(e){if(e.includes("pan.qoark.cn"))try{let r=akt.exec(e);if(r&&r[1])return{shareId:r[1],folderId:"0"};let n=await Se.get(e,{maxRedirects:2,timeout:1e4,headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}}),s=n.request?.res?.responseUrl||n.headers?.location||e;if(s.startsWith("/")){let i=new URL(e);s=`${i.protocol}//${i.host}${s}`}e=s}catch(r){console.error("\u5938\u514B\u77ED\u94FE\u63A5\u91CD\u5B9A\u5411\u5931\u8D25:",r);let n=akt.exec(e);return n&&n[1]?{shareId:n[1],folderId:"0"}:null}let t=_an.exec(e);return t?{shareId:t[1],folderId:"0"}:null}async function zh(e){let r=(e?.server?.config?.quark||{}).cookie||"",n=IT.default.enc.Hex.stringify(IT.default.MD5(r)).toString();if((!okt||!ex||TT!==n||!ui)&&(ex=e.server.db,ui=r,TT=n),ex){let s=await ex.getObjectDefault("/quark",{});s[TT]&&s[TT]!==ui&&(ui=s[TT])}okt=!0}async function Dl(e,t,r,n,s){return r=r||{},Object.assign(r,xE),Object.assign(r,{Cookie:ui||""}),n=n||"post",(async()=>{let a;if(n==="get"?a=await Ye.get(`${ckt}/${e}`,{headers:r}).catch(o=>(console.error(o),o?.response?.status===401&&Qr.toast("\u5938\u514Btoken\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",{duration:5}),o.response||{status:500,data:{}})):a=await Ye.post(`${ckt}/${e}`,t,{headers:r}).catch(o=>(console.error(o),o?.response?.status===401&&Qr.toast("\u5938\u514Btoken\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",{duration:5}),o.response||{status:500,data:{}})),a.headers?.["set-cookie"]){let o=a.headers["set-cookie"].join(";;;").match(/__puus=([^;]+)/);o&&ui.match(/__puus=([^;]+)/)?.[1]!==o[1]&&(ui=ui.replace(/__puus=[^;]+/,`__puus=${o[1]}`),await ex.push(`/quark/${TT}`,ui))}return a.status===429&&(s||3)>0?(await tr(1e3),await Dl(e,t,r,n,(s||3)-1)):a.data||{}})()}async function H1e(e,t,r,n,s){return r=r||{},Object.assign(r,xE),Object.assign(r,{Cookie:ui||""}),n=n||"post",(async()=>{let a;if(n==="get"?a=await Ye.get(e,{headers:r}).catch(o=>(console.error(o),o?.response?.status===401&&Qr.toast("\u5938\u514Btoken\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",{duration:5}),o.response||{status:500,data:{}})):a=await Ye.post(e,t,{headers:r}).catch(o=>(console.error(o),o?.response?.status===401&&Qr.toast("\u5938\u514Btoken\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",{duration:5}),o.response||{status:500,data:{}})),a.headers?.["set-cookie"]){let o=a.headers["set-cookie"].join(";;;").match(/__puus=([^;]+)/);o&&ui.match(/__puus=([^;]+)/)?.[1]!==o[1]&&(ui=ui.replace(/__puus=[^;]+/,`__puus=${o[1]}`),await ex.push(`/quark/${TT}`,ui))}return a.status===429&&(s||3)>0?(await tr(1e3),await H1e(e,t,r,n,(s||3)-1)):a.data||{}})()}async function dkt(){let e=await Dl(`file/sort?${Ol}&pdir_fid=${bT}&_page=1&_size=200&_sort=file_type:asc,updated_at:desc`,{},{},"get");if(e.data?.list?.length>0){let t=e.data.list.map(r=>Dl(`file/delete?${Ol}`,{action_type:2,filelist:[r.fid],exclude_fids:[]}));await Promise.all(t)}}async function Aan(e){if(bT){e&&await dkt();return}let t=await Dl(`file/sort?${Ol}&pdir_fid=0&_page=1&_size=200&_sort=file_type:asc,updated_at:desc`,{},{},"get");if(t.data?.list){for(let r of t.data.list)if(r.file_name===lkt){bT=r.fid,await dkt();break}}if(!bT){let r=await Dl(`file?${Ol}`,{pdir_fid:"0",file_name:lkt,dir_path:"",dir_init_lock:!1});r.data?.fid&&(bT=r.data.fid)}}function yan(e){if(e?.file!==!0)return!1;if(e.obj_category==="video")return!0;let t=String(e.file_name||"").toLowerCase();return Ean.some(r=>t.endsWith(r))}async function u4(e){let t=`${e.shareId}_${e.sharePwd||""}`,r=ukt.get(t);if(r)return r;if(W7.has(t))return await W7.get(t);let n=(async()=>{try{let s=await Dl(`share/sharepage/token?${Ol}`,{pwd_id:e.shareId,passcode:e.sharePwd||""});return s.data?.stoken?(ukt.set(t,s.data),s.data):null}finally{W7.delete(t)}})();return W7.set(t,n),await n}async function mkt(e,t,r={}){let n=typeof e=="string"?await l4(e):e;if(!n)return[];let s=await u4(n);if(!s)return[];let i=[],a=Math.max(0,Number.parseInt(r.page||r.pg,10)||0),o=a>0,c=Math.max(1,Math.min(200,Number(r.pageLimit||r.perPage||200)||200)),u=Math.max(1,Number(r.batchSize)||1e3),l=Math.max(0,Number(r.batchIntervalMs)||0),d=o?a:1,f=1,h=0,p=0,m=!1;do{let _=await Dl(`share/sharepage/detail?${Ol}&pwd_id=${n.shareId}&stoken=${encodeURIComponent(s.stoken)}&pdir_fid=${t||n.folderId||"0"}&force=0&_page=${d}&_size=${c}&_sort=file_type:asc,file_name:asc`,{},{},"get"),y=Array.isArray(_?.data?.list)?_.data.list:[];i.push(...y),p+=y.length;let E=Number(_?.metadata?._total||_?.data?._total||_?.data?.total||0);if(E>0&&(h=E),m=E>0?d*c=c,f=E>0?Math.max(1,Math.ceil(E/c)):m?d+1:d,o)break;m&&l>0&&p>=u&&(p=0,await tr(l)),d+=1}while(d<=f);let g=i.map(_=>({..._,stoken:s.stoken,share_fid_token:_?.share_fid_token||_?.fid_token||_?.file_token||_?.share_file_token||_?.obj_token||"",size:Number(_?.size||_?.file_size||_?.fileSize||_?.file?.size||0)}));return o?{items:g,paged:!0,page:a,pageSize:c,total:h>0?h:(a-1)*c+g.length+(m?c:0)}:g}async function van(e){let t=typeof e=="string"?await l4(e):e;if(!t)return[];let r=await u4(t);if(!r)return[];let n=[],s=async(i,a,o="",c=1)=>{let l=await Dl(`share/sharepage/detail?${Ol}&pwd_id=${i}&stoken=${encodeURIComponent(r.stoken)}&pdir_fid=${a}&force=0&_page=${c}&_size=100&_sort=file_type:asc,file_name:asc`,{},{},"get");if(!l.data)return;let d=l.data.list;if(!d)return;let f=[],h=[],p=[];for(let _ of d)_.dir===!0?f.push({item:_,path:o+(o?"/":"")+_.file_name}):yan(_)?(_.stoken=r.stoken,h.push(_)):_.file===!0&&Ct(_.file_name)&&p.push(_);for(let _ of h){let y=yr(_.file_name,p,A=>A.file_name),E=y?.share_fid_token||y?.fid_token||"";y?.fid&&E&&(_.subtitle={fid:y.fid,share_fid_token:E,ext:on(y.file_name)})}let m=cr(h);n.push(...m),cs(i,_.item.fid,_.path));await Promise.all(g)};return await s(t.shareId,t.folderId,""),n}function San(e,t){let n=(X7.get(e)||Promise.resolve()).catch(()=>{}).then(()=>t()),s=n.catch(()=>{});return X7.set(e,s),s.finally(()=>{X7.get(e)===s&&X7.delete(e)}),n}async function Tan(){let e=Date.now();if(c4.token&&e-c4.ts<55*1e3)return c4.token;let t={conversation_id:`300000${e}`,conversation_type:3,msg_id:`${e}000`},n=await H1e("https://drive-social-api.quark.cn/1/clouddrive/chat/conv/file/acquire_dl_token?pr=ucpro&fr=pc&sys=darwin&ve=3.19",t,{"Content-Type":"application/json"}),s=n?.status===200&&n?.code===0?n?.data?.token:"";return s&&(c4.token=s,c4.ts=e),s||""}async function ban(e,t,r,n){if(!e||!r||!n)return null;let s=t;s||(s=(await u4({shareId:e,sharePwd:""}))?.stoken||"");let i={fids:[r],fids_token:[n],pwd_id:e,stoken:s||"",speedup_session:""},a=await Tan();a&&(i.token=a);let c=(await H1e(`https://drive-pc.quark.cn/1/clouddrive/file/download?${Ol}`,i))?.data?.[0];return c?.download_url?c:null}async function Ian(e,t,r,n,s){return San(e,()=>Ran(e,t,r,n,s))}async function Ran(e,t,r,n,s){if(await Aan(s),s&&J7.clear(),!bT)return null;let i=t;if(!i&&(i=(await u4({shareId:e,sharePwd:""}))?.stoken||"",!i))return null;let a=async c=>await Dl(`share/sharepage/save?${Ol}`,{fid_list:[r],fid_token_list:[n],to_pdir_fid:bT,pwd_id:e,stoken:c,pdir_fid:"0",scene:"link"}),o=await a(i);if(!o?.data?.task_id){let u=(await u4({shareId:e,sharePwd:""}))?.stoken||"";if(!u)return!1;o=await a(u)}if(o.data?.task_id){let c=0;for(;c<=5;){let u=await Dl(`task?${Ol}&task_id=${o.data.task_id}&retry_index=${c}`,{},{},"get");if(u.data?.save_as?.save_as_top_fids?.length>0)return u.data.save_as.save_as_top_fids[0];c++,await tr(1e3)}}return!1}async function fkt(e,t,r,n,s){if(!J7.has(r)){let a=await Ian(e,t,r,n,s);if(!a)return null;J7.set(r,a)}return(await Dl(`file/download?${Ol}`,{fids:[J7.get(r)]})).data?.[0]||null}function Can(e){if(!e||e.length<16||!e.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])))return!1;let r=e.subarray(8,12).equals(Buffer.from([26,69,223,163])),n=e.subarray(12,16).equals(Buffer.from("ftyp"));return r||n}async function hkt(e,t){if(!e)return!1;if(F1e.has(t))return F1e.get(t);try{let r=await Se.get(e,{headers:{Cookie:ui,...xE,Range:"bytes=0-15"},responseType:"arraybuffer",timeout:2e4,validateStatus:s=>s===200||s===206}),n=Can(r.data||Buffer.alloc(0));return F1e.set(t,n),n}catch{return!1}}async function pkt(e,t,r,n,s,i){let a=Number(n?.size||n?.file_size||n?.fileSize||0),o=Math.max(a-8,0);if(o<=0){t.sent||t.code(502).send({error:"invalid disguised media size"});return}return MC(e.headers.range,o)?.unsatisfied?(t.code(416).headers({"content-range":`bytes */${o}`,"accept-ranges":"bytes","cache-control":"no-store"}),""):await Kc(e,t,r,i,{Cookie:ui,...xE},{chunkSize:s.chunkSize,poolSize:s.poolSize,timeout:1e3*10},o,!0,8)}async function gkt(e,t){if(t&&await zh(t),await zDt(e)){let r=await l4(e);if(r){let n=await van(r);if(n?.length>0){let s=await lt("quark"),i=n.map(a=>({vod_id:Zt([r.shareId,a.stoken,a.fid,a.share_fid_token,a.subtitle?.fid||"",a.subtitle?.share_fid_token||"",a.subtitle?.ext||""],{structured:!0}),vod_name:a.file_name,vod_size:a.size}));return Eo(s,i)}}}return[]}async function _kt(e,t){try{await zh(e);let r=e.params.site,n=e.params.what,s=e.params.shareId,i=e.params.fileId;if(r!=="quark")return;let a=qn(i,{fieldOrder:["stoken","fid","shareFidToken"]}),o=e.params.flag,c=IT.default.enc.Hex.stringify(IT.default.MD5(e.server.config.quark.cookie)).toString(),u=yo(await e.server.db.getObjectDefault(`/quark/settings/${c}`,{chunkSize:512*1024,poolSize:8,useMultithread:!0,enableFast:!1}),{chunkSize:512*1024,poolSize:8,useMultithread:!0,enableFast:!1});if(n==="trans"){t.sent||t.code(404).send({error:"quark transcoding disabled"});return}else{if(o==="subt"){let d=await fkt(s,decodeURIComponent(a.stoken),a.fid,a.shareFidToken,!1);if(!d?.download_url){t.sent||t.code(404).send({error:"subtitle not found"});return}let f=await wan(d.download_url);if(!f){t.sent||t.code(502).send({error:"subtitle fetch failed"});return}let h=f;if(String(e.params.end||"").toLowerCase().endsWith(".srt")&&Oan(f)){let g=f7(f.toString("utf8"));h=Buffer.from(g,"utf8")}let m=Nan(h,e.params.end);return t.code(200).headers({"content-type":m,"content-length":String(h.length),"cache-control":"no-store"}),h}if(o==="fast"){if(!u.enableFast){t.sent||t.code(403).send({error:"fast disabled"});return}let d=Date.now(),f=q1e.get(a.fid),h=f&&d-f.ts0?m:null;if(!u.useMultithread){t.redirect(h.download_url);return}try{return await Kc(e,t,h.download_url,`fast_${a.fid}`,{Cookie:ui,...xE},{chunkSize:u.chunkSize,poolSize:u.poolSize,timeout:1e3*10},g,!0)}catch(_){console.error("[quark fast] chunkStream error, clearing cache:",_.message),q1e.delete(a.fid),t.sent||t.code(503).send({error:"fast stream error, please retry"})}}return}let l=$1e.get(a.fid);if(l||(l=await fkt(s,decodeURIComponent(a.stoken),a.fid,a.shareFidToken,o==="down"),l&&$1e.set(a.fid,l)),l?.download_url){if(o==="redirect"||!u.useMultithread){t.redirect(l.download_url);return}if(await hkt(l.download_url,a.fid))return await pkt(e,t,l.download_url,l,u,a.fid);let f=Number(l.size||l.file_size||l.fileSize||0),h=f>0?f:null;try{return await Kc(e,t,l.download_url,a.fid,{Cookie:ui,...xE},{chunkSize:u.chunkSize,poolSize:u.poolSize,timeout:1e3*10},h,!0)}catch(p){console.error("[quark proxy] chunkStream error, clearing cache:",p.message),$1e.delete(a.fid),t.sent||t.code(503).send({error:"stream error, please retry"})}}}}catch(r){console.error("[quark proxy] error:",r.message),t.sent||t.code(500).send({error:r.message})}}async function Z7(e,t){await zh(e);let r=e.body.flag,n=e.body.id;if(r.startsWith(await lt("quark"))){let{shareId:s,stoken:i,fid:a,shareFidToken:o,subtitleFid:c="",subtitleShareFidToken:u="",subtitleExt:l=""}=qn(n,{fieldOrder:["shareId","stoken","fid","shareFidToken","subtitleFid","subtitleShareFidToken","subtitleExt"]}),d=IT.default.enc.Hex.stringify(IT.default.MD5(e.server.config.quark.cookie)).toString(),f=yo(await e.server.db.getObjectDefault(`/quark/settings/${d}`,{chunkSize:512*1024,poolSize:8,useMultithread:!0,enableFast:!1}),{chunkSize:512*1024,poolSize:8,useMultithread:!0,enableFast:!1}),h=encodeURIComponent(Zt([i,a,o],{structured:!0})),p=[],m=wl(e,"quark","\u5FEB\u4F20","fast",s,h,".bin"),g=wl(e,"quark","\u4EE3\u7406","down",s,h,".bin"),_=wl(e,"quark","\u539F\u753B","redirect",s,h,".bin");f.enableFast?p.push(...m,...g,..._):p.push(...g,..._);let y=[],E={Cookie:ui,...xE};if(c){let A=Dan(l||"")||"srt",v=encodeURIComponent(Zt([i,c,u,A],{structured:!0}));y.push(dE(e,"quark",s,v,`.${A}`,{name:"\u5916\u6302\u5B57\u5E55",format:A}))}return ec({parse:0,urls:p,subtitles:y,header:E})}return Vs("\u5938\u514B\u7F51\u76D8\u64AD\u653E\u53C2\u6570\u65E0\u6548")}async function wan(e){if(!e)return null;let t={Cookie:ui,...xE};try{let r=await Se.get(e,{headers:t,responseType:"arraybuffer",maxRedirects:0,timeout:2e4,validateStatus:a=>a>=200&&a<400});if(r.status===200&&r.data)return r.data;let n=r.headers?.location;if(r.data=null,!n)return null;let s=new URL(n,e).toString(),i=await Se.get(s,{headers:t,responseType:"arraybuffer",timeout:3e4,validateStatus:a=>a===200});try{return i.data||null}finally{i.data&&(i.data=null)}}catch{return null}}function Nan(e,t=""){let r=String(t||"").toLowerCase();if(r.endsWith(".ass")||r.endsWith(".ssa"))return"text/x-ssa; charset=utf-8";if(r.endsWith(".vtt"))return"text/vtt; charset=utf-8";if(r.endsWith(".srt"))return"application/x-subrip; charset=utf-8";let n=Buffer.from(e).subarray(0,4096).toString("utf8").toLowerCase();return n.includes("[script info]")?"text/x-ssa; charset=utf-8":n.includes("webvtt")?"text/vtt; charset=utf-8":n.includes("-->")?"application/x-subrip; charset=utf-8":"text/plain; charset=utf-8"}function Oan(e){let t=Buffer.from(e).subarray(0,8192).toString("utf8").toLowerCase();return t.includes("[script info]")||t.includes("[events]")||t.includes("dialogue:")}function Dan(e=""){let t=on(e);if(t)return t;let r=String(e||"").replace(/^\./,"").toLowerCase();return["srt","ass","ssa","vtt","sub","idx","smi","txt"].includes(r)?r:""}async function Akt(e="0",t=1,r=200){let n=Math.max(1,Number.parseInt(t,10)||1),s=`file/sort?${Ol}&pdir_fid=${encodeURIComponent(e||"0")}&_page=${n}&_size=${r}&_sort=file_type:asc,updated_at:desc`,i=await Dl(s,{},{},"get"),a=Array.isArray(i?.data?.list)?i.data.list:[],o=[],c=[];return a.forEach(u=>{u?.dir===!0||u?.dir===1||u?.file_type===0?o.push(u):c.push(u)}),{folderList:o,fileList:c,count:Number(i?.metadata?._total||a.length||0)}}async function ej(e){return e&&(await Dl(`file/download?${Ol}`,{fids:[e]}))?.data?.[0]||null}var IT,akt,_an,Ol,xE,ex,TT,okt,ckt,ui,ukt,lkt,bT,W7,Ean,J7,X7,c4,F1e,$1e,q1e,xan,d4=oe(()=>{kr();Pr();uT();IT=we(ki(),1);Cs();Fa();lE();ju();Nd();Bi();jh();h7();xl();a0();bg();qd();akt=/pan\.qoark\.cn\/s\/([^\/?#]+)/,_an=/https:\/\/pan\.quark\.cn\/s\/([^\/?#]+)/;Ol="pr=ucpro&fr=pc",xE={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) quark-cloud-drive/2.5.20 Chrome/100.0.4896.160 Electron/18.3.5.4-b478491100 Safari/537.36 Channel/pckk_other_ch",Referer:"https://pan.quark.cn"},ex=null,TT=null,okt=!1,ckt="https://drive.quark.cn/1/clouddrive/",ui="",ukt=Hs("quark.shareToken",{maxSize:200,ttl:30*60*1e3}),lkt="CatVodOpen",bT=null;W7=new Map,Ean=[".mp4",".mkv",".avi",".mov",".flv",".wmv",".m3u8",".ts",".rmvb",".webm",".m4v",".mpg",".mpeg",".3gp",".f4v",".vob",".rm",".iso",".asf",".divx"];J7=Hs("quark.saveFileId",{maxSize:1e3,ttl:60*60*1e3}),X7=new Map;c4={token:"",ts:0};F1e=Hs("quark.disguisedHeader",{maxSize:500,ttl:60*60*1e3});$1e=Hs("quark.downloading",{maxSize:500,ttl:5*60*1e3}),q1e=Hs("quark.fast",{maxSize:500,ttl:60*1e3}),xan=60*1e3});async function Y1e(e){e.get("/qrcode",async(t,r)=>{let n=await Se.get(`https://api.open.uc.cn/cas/ajax/getTokenForQrcodeLogin?client_id=381&v=1.2&request_id=${Date.now()}`,{headers:{"User-Agent":V1e,referer:"https://drive.uc.cn"}});ykt=n0(n.headers["set-cookie"]),j1e=n.data.data.members.token;let s=`https://su.uc.cn/1_n0ZCv?uc_param_str=dsdnfrpfbivesscpgimibtbmnijblauputogpintnwktprchmt&token=${j1e}&client_id=381&uc_biz_str=S%3Acustom%7CC%3Atitlebar_fix`,i=await vkt.default.toBuffer(s,{width:300,height:300});r.send(i)}),e.post("/cookie",(t,r)=>{Se.get(`https://api.open.uc.cn/cas/ajax/getServiceTicketByQrcodeToken?__t=${Date.now()}&token=${j1e}&client_id=381&v=1.2&request_id=${Date.now()}`).then(n=>n.data.status===2e6?{data:n.data.data,cookies:ykt}:Promise.reject(new Error(`service_ticket\u83B7\u53D6\u5931\u8D25: ${n.data.message}`))).then(async({data:n,cookies:s})=>{let i=await Se.get(`https://drive.uc.cn/account/info?st=${n.members.service_ticket}&fr=pc&platform=pc`,{headers:{"User-Agent":V1e,Cookie:s.join(""),referer:"https://drive.uc.cn"}});return i.headers["set-cookie"]?s.concat(n0(i.headers["set-cookie"])):Promise.reject(new Error(`\u4E2A\u4EBAPus\u83B7\u53D6\u5931\u8D25\uFF1A${i.data.message}`))}).then(async n=>{let s=await Se.post("https://pc-api.uc.cn/1/clouddrive/transfer/upload/pdir?pr=UCBrowser&fr=pc",{},{headers:{"User-Agent":V1e,Cookie:n.join("")}});if(s.headers["set-cookie"])r.send({code:0,data:n.concat(n0(s.headers["set-cookie"])).join("")});else return Promise.reject(new Error(`\u4E2A\u4EBAPuus\u83B7\u53D6\u5931\u8D25\uFF1A${s.data.message}`))}).catch(n=>{console.error(n),r.send({code:-1,message:n?.message||"\u626B\u7801\u767B\u5F55\u5931\u8D25"})})}),e.get("/cookie",async(t,r)=>{r.send({code:0,data:await Pan(t.server)})}),e.put("/cookie",async(t,r)=>{await Lan(t.server,t.body.cookie),r.send({code:0})}),e.get("/ut",async(t,r)=>{r.send({code:0,data:await K1e(t.server)})}),e.put("/ut",async(t,r)=>{await G1e(t.server,t.body.ut),r.send({code:0})}),e.get("/config",async(t,r)=>{try{let n=xg.default.enc.Hex.stringify(xg.default.MD5(t.server.config.uc.cookie)).toString(),s={chunkSize:64*1024,poolSize:16,useMultithread:!0,enableFast:!1},i=await t.server.db.getObjectDefault(`/uc/settings/${n}`,s),a={...s,...i,enableFast:i?.enableFast===!0};r.send({code:0,data:a})}catch(n){console.error("\u83B7\u53D6UC\u5206\u7247\u914D\u7F6E\u5931\u8D25:",n),r.send({code:-1,message:n?.message||"\u83B7\u53D6\u914D\u7F6E\u5931\u8D25"})}}),e.put("/config",async(t,r)=>{try{let n=fE(t.body,{chunkSize:65536,poolSize:16,useMultithread:!0,enableFast:!1},{requireEnableFast:!0});if(!n)return r.send({code:-1,message:"\u53C2\u6570\u683C\u5F0F\u9519\u8BEF"});let s=xg.default.enc.Hex.stringify(xg.default.MD5(t.server.config.uc.cookie)).toString();await t.server.db.push(`/uc/settings/${s}`,n),r.send({code:0,message:"\u914D\u7F6E\u5DF2\u4FDD\u5B58"})}catch(n){console.error("\u4FDD\u5B58UC\u5206\u7247\u914D\u7F6E\u5931\u8D25:",n),r.send({code:-1,message:n?.message||"\u4FDD\u5B58\u914D\u7F6E\u5931\u8D25"})}})}var vkt,xg,V1e,tj,rj,ykt,j1e,Pan,Lan,K1e,G1e,Q1e=oe(()=>{Pr();vkt=we(yE(),1),xg=we(ki(),1);Cs();qd();V1e="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0",tj="cookie",rj="ut",ykt=[],j1e=null,Pan=async e=>{let t=String(e.config?.uc?.cookie||""),r=xg.default.enc.Hex.stringify(xg.default.MD5(t)).toString(),n=await e.db.getObjectDefault("/uc",{});return n[tj]?n[tj]:n[r]?n[r]:t?(await e.db.push(`/uc/${tj}`,t),t):""},Lan=async(e,t)=>{await e.db.push(`/uc/${tj}`,t)},K1e=async e=>{let t=String(e.config?.uc?.ut||""),r=xg.default.enc.Hex.stringify(xg.default.MD5(t)).toString(),n=await e.db.getObjectDefault("/uc",{});return n[rj]?n[rj]:n[r]?n[r]:t?(await e.db.push(`/uc/${rj}`,t),t):""},G1e=async(e,t)=>{await e.db.push(`/uc/${rj}`,t)}});function tx(e,t){let r=t?e:Yc.DeviceID,n=t||e;return u0.default.MD5(r+n).toString().slice(0,16)}function aj(e,t,r,n){return u0.default.SHA256((e||"GET")+"&"+(t||"/file")+"&"+r+"&"+(n||ei.signKey)).toString()}function g4(e){let t=Man.exec(e);if(!t)return null;let r="";try{let n=new URL(String(e||""));r=n.searchParams.get("pwd")||n.searchParams.get("password")||n.searchParams.get("passcode")||""}catch{}return{shareId:t[1],sharePwd:r,folderId:"0",url:String(e||"")}}function X1e(){return{Cookie:Gd||"","User-Agent":wkt["User-Agent"]}}async function Wh(e){let t=e.server.config.uc,r=u0.default.enc.Hex.stringify(u0.default.MD5(t.cookie)).toString(),n=u0.default.enc.Hex.stringify(u0.default.MD5(t.token)).toString(),s=u0.default.enc.Hex.stringify(u0.default.MD5(t.ut)).toString();if(Skt&&l0&&f4===r&&Z1e===n&&ij===s)return;l0=e.server.db,Gd=t.cookie,eIe=String(t.token||""),f4=r,Z1e=n,ij=s;let i=await l0.getObjectDefault("/uc",{});if(i[tIe]?Gd=i[tIe]:i[f4]&&(Gd=i[f4]),h4=await K1e(e.server),!h4)try{await Ye.get(`${J1e}/file`)}catch(a){a?.response?.data&&(h4=a.response.data,G1e(e.server,h4))}Skt=!0}async function Ku(e,t,r,n,s){return r=r||{},Object.assign(r,wkt),Object.assign(r,{Cookie:Gd||""}),n=n||"post",(async()=>{let a;if(n==="get"?a=await Ye.get(`${J1e}/${e}`,{headers:r}).catch(o=>(console.error("[uc api] request failed:",n.toUpperCase(),e,o?.response?.status||o?.code||o?.message),o?.response?.status===401&&Qr.toast("UC token\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",{duration:5}),o.response||{status:500,data:{}})):a=await Ye.post(`${J1e}/${e}`,t,{headers:r}).catch(o=>(console.error("[uc api] request failed:",n.toUpperCase(),e,o?.response?.status||o?.code||o?.message),o?.response?.status===401&&Qr.toast("UC token\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",{duration:5}),o.response||{status:500,data:{}})),a.headers?.["set-cookie"]){let o=a.headers["set-cookie"].join(";;;").match(/__puus=([^;]+)/);o&&Gd.match(/__puus=([^;]+)/)?.[1]!==o[1]&&(Gd=Gd.replace(/__puus=[^;]+/,`__puus=${o[1]}`),await l0.push(`/uc/${tIe}`,Gd))}return a.status===429&&(s||3)>0?(await tr(1e3),await Ku(e,t,r,n,(s||3)-1)):a.data||{}})()}async function Ikt(){let e=await Ku(`file/sort?${Pl}&pdir_fid=${RT}&_page=1&_size=200&_sort=file_type:asc,updated_at:desc`,{},{},"get");if(e.data?.list?.length>0){let t=e.data.list.map(r=>Ku(`file/delete?${Pl}`,{action_type:2,filelist:[r.fid],exclude_fids:[]}));await Promise.all(t)}}async function Ban(e){if(RT){e&&await Ikt();return}let t=await Ku(`file/sort?${Pl}&pdir_fid=0&_page=1&_size=200&_sort=file_type:asc,updated_at:desc`,{},{},"get");if(t.data?.list){for(let r of t.data.list)if(r.file_name===bkt){RT=r.fid,await Ikt();break}}if(!RT){let r=await Ku(`file?${Pl}`,{pdir_fid:"0",file_name:bkt,dir_path:"",dir_init_lock:!1});r.data?.fid&&(RT=r.data.fid)}}async function m4(e){let t=`${e.shareId}_${e.sharePwd||""}`,r=Tkt.get(t);if(r)return r;if(nj.has(t))return await nj.get(t);let n=(async()=>{try{let s=await Ku(`share/sharepage/token?${Pl}`,{pwd_id:e.shareId,passcode:e.sharePwd||""});return s.data?.stoken?(Tkt.set(t,s.data),s.data):null}finally{nj.delete(t)}})();return nj.set(t,n),await n}async function Uan(e){let t=typeof e=="string"?g4(e):e;if(!t)return[];let r=await m4(t);if(!r)return[];let n=[],s=async(i,a,o="",c=1)=>{let l=await Ku(`share/sharepage/detail?${Pl}&pwd_id=${i}&stoken=${encodeURIComponent(r.stoken)}&pdir_fid=${a}&force=0&_page=${c}&_size=100&_sort=file_type:asc,file_name:asc`,{},{},"get");if(!l.data)return;let d=l.data.list;if(!d)return;let f=[],h=[],p=[];for(let _ of d)_.dir===!0?f.push({item:_,path:o+(o?"/":"")+_.file_name}):_.file===!0&&_.obj_category==="video"?(_.stoken=r.stoken,h.push(_)):_.file===!0&&Ct(_.file_name)&&p.push(_);for(let _ of h){let y=yr(_.file_name,p,A=>A.file_name),E=y?.share_fid_token||y?.fid_token||"";y?.fid&&E&&(_.subtitle={fid:y.fid,share_fid_token:E,ext:on(y.file_name)})}let m=cr(h);n.push(...m),cs(i,_.item.fid,_.path));await Promise.all(g)};return await s(t.shareId,t.folderId,""),n}async function Okt(e,t="0",r={}){let n=typeof e=="string"?g4(e):e;if(!n?.shareId)return{items:[],stoken:""};let s=await m4(n);if(!s?.stoken)return{items:[],stoken:""};let i=Math.max(0,Number.parseInt(r.page||r.pg,10)||0),a=i>0,o=Math.max(1,Math.min(1e3,Number(r.batchSize)||200)),c=Math.max(0,Math.min(1e4,Number(r.batchIntervalMs)||0)),u=String(t||n.folderId||"0"),l=[],d=a?i:1,f=0,h=!1;for(;;){let p=await Ku(`share/sharepage/detail?${Pl}&pwd_id=${n.shareId}&stoken=${encodeURIComponent(s.stoken)}&pdir_fid=${u}&force=0&_page=${d}&_size=${o}&_sort=file_type:asc,file_name:asc`,{},{},"get"),m=Array.isArray(p?.data?.list)?p.data.list:[];if(m.forEach(g=>{g.stoken=s.stoken}),l.push(...m),f=Number(p?.metadata?._total||p?.data?._total||p?.data?.total||f||0),h=m.length>=o&&!(f>0&&d*o>=f),a||!h)break;d+=1,c>0&&await tr(c)}return a?{items:l,stoken:s.stoken,paged:!0,page:i,pageSize:o,total:f>0?f:(i-1)*o+l.length+(h?o:0)}:{items:l,stoken:s.stoken}}function Fan(e,t){let n=(sj.get(e)||Promise.resolve()).catch(()=>{}).then(()=>t()),s=n.catch(()=>{});return sj.set(e,s),s.finally(()=>{sj.get(e)===s&&sj.delete(e)}),n}async function $an(e,t,r,n,s){return Fan(e,()=>qan(e,t,r,n,s))}async function qan(e,t,r,n,s){if(await Ban(s),s&&p4.clear(),!RT)return null;let i=t;if(!i&&(i=(await m4({shareId:e,sharePwd:""}))?.stoken||"",!i))return null;let a=async c=>await Ku(`share/sharepage/save?${Pl}`,{fid_list:[r],fid_token_list:[n],to_pdir_fid:RT,pwd_id:e,stoken:c,pdir_fid:"0",scene:"link"}),o=await a(i);if(!o?.data?.task_id){let u=(await m4({shareId:e,sharePwd:""}))?.stoken||"";if(!u)return!1;o=await a(u)}if(o.data?.task_id){let c=0;for(;c<=5;){let u=await Ku(`task?${Pl}&task_id=${o.data.task_id}&retry_index=${c}`,{},{},"get");if(u.data?.save_as?.save_as_top_fids?.length>0)return u.data.save_as.save_as_top_fids[0];c++,await tr(1e3)}}return!1}async function Han(){if(!l0)return null;let e=String(await l0.getObjectDefault("/uc/refresh_token","")||"").trim();if(!e)return null;let t=Math.floor(Date.now()/1e3).toString()+"000",n={req_id:tx(Yc.DeviceID,t),app_ver:ei.appVer,device_id:Yc.DeviceID,device_brand:"Xiaomi",platform:"tv",device_name:"M2004J7AC",device_model:"M2004J7AC",build_device:"M2004J7AC",build_product:"M2004J7AC",device_gpu:"Adreno (TM) 550",activity_rect:"{}",channel:ei.channel,refresh_token:e};try{let i=(await Se.post(`${ei.codeApi}/token`,n,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36",Accept:"application/json, text/plain, */*","Content-Type":"application/json"},timeout:1e4}))?.data;if(i?.code===200&&i.data?.access_token)return await l0.push("/uc/token",i.data.access_token),i.data.refresh_token&&await l0.push("/uc/refresh_token",i.data.refresh_token),console.log("[uc] access_token \u5DF2\u81EA\u52A8\u5237\u65B0"),i.data.access_token;console.warn("[uc] refresh \u54CD\u5E94\u5F02\u5E38:",JSON.stringify(i||{}).slice(0,200))}catch(s){console.error("[uc] refreshAccessToken \u5931\u8D25:",s?.response?.data?JSON.stringify(s.response.data).slice(0,200):s?.message)}return null}function Van(e){if(!e)return!1;if(e.status===-1&&(e.errno===10001||e.errno===11001))return!0;let t=String(e.error_info||"").toLowerCase();return t.includes("access token")||t.includes("access_token")||t.includes("token\u65E0\u6548")||t.includes("token \u65E0\u6548")}async function rIe(){let e=await l0.getObjectDefault("/uc",{});return e[kan]||(eIe?e[Z1e]||eIe:"")}async function Rkt(e,t,r,n,s,i={}){let a=i?.mode||"auto",o=a==="cookie"?"":await rIe();if(a==="token"&&!o)return null;if(!p4.has(r)){let l=await $an(e,t,r,n,s);if(!l)return null;p4.set(r,l)}let c=await l0.getObjectDefault("/uc",{}),u=c[Nkt]||c[ij];if(o){let l=f=>{let h=Math.floor(Date.now()/1e3).toString()+"000",p=tx(h),m=aj("GET","/file",h,ei.signKey);return{method:"GET",url:"https://open-api-drive.uc.cn/file",params:{req_id:p,access_token:f,app_ver:ei.appVer,device_id:Yc.DeviceID,device_brand:"Xiaomi",platform:"tv",device_name:"M2004J7AC",device_model:"M2004J7AC",build_device:"M2004J7AC",build_product:"M2004J7AC",device_gpu:"Adreno (TM) 550",activity_rect:"{}",channel:ei.channel,method:"streaming",group_by:"source",fid:p4.get(r),resolution:"low,normal,high,super,2k,4k",support:"dolby_vision"},headers:{"User-Agent":"Mozilla/5.0 (Linux; U; Android 9; zh-cn; RMX1931 Build/PQ3A.190605.05081124) AppleWebKit/533.1 (KHTML, like Gecko) Mobile Safari/533.1",Connection:"Keep-Alive","Accept-Encoding":"gzip","x-pan-tm":h,"x-pan-token":m,"content-type":"text/plain;charset=UTF-8","x-pan-client-id":ei.clientID},timeout:15e3}},d=o;for(let f=0;f<2;f++)try{let h=await Se.request(l(d));if(h.status===200){let p=h.data.data?.video_info?.filter(m=>m.accessable)?.[0];if(p)return p.download_url=p.url,p}break}catch(h){if(f===0&&Van(h?.response?.data)){let p=await Han();if(p){d=p;continue}}break}if(a==="token")return null}if(a==="token")return null;{let l=`file/download?${Pl}`;return u&&(l+=`&ut=${u}`),(await Ku(l,{fids:[p4.get(r)]})).data?.[0]||null}return null}async function Dkt(e,t){if(t&&await Wh(t),await WDt(e)){let r=g4(e);if(r){let n=await Uan(r);if(n?.length>0){let s=await lt("uc"),i=n.map(a=>({vod_id:Zt([r.shareId,a.stoken,a.fid,a.share_fid_token,a.subtitle?.fid||"",a.subtitle?.share_fid_token||"",a.subtitle?.ext||""],{structured:!0}),vod_name:a.file_name,vod_size:a.size}));return Eo(s,i)}}}return[]}async function Pkt(e){let t=f4||u0.default.enc.Hex.stringify(u0.default.MD5(e.config.uc.cookie)).toString(),r=await e.db.getObjectDefault(`/uc/settings/${t}`,Ckt);return yo(r,Ckt)}async function xkt(e,t,r,n){if(!e||!r||!n)return null;let s=t;if(s||(s=(await m4({shareId:e,sharePwd:""}))?.stoken||""),!s)return null;let i=await l0.getObjectDefault("/uc",{}),a=i[Nkt]||i[ij]||h4||"",o=`file/download?${Pl}`;a&&(o+=`&ut=${encodeURIComponent(a)}`);let u=(await Ku(o,{fids:[r],fids_token:[n],pwd_id:e,stoken:s,speedup_session:""}))?.data?.[0];return u?.download_url?u:null}async function Lkt(e,t){try{await Wh(e);let r=e.params.site,n=e.params.what,s=e.params.shareId,i=e.params.fileId;if(r!=="uc")return;let a=qn(i,{fieldOrder:["stoken","fid","shareFidToken"]}),o=e.params.flag,c=await Pkt(e.server),u=await rIe(),l=n==="trans"||n==="src"&&["fast","subt","token","cookie","redirect"].includes(o);if(c.enableFast&&!l){t.sent||t.code(403).send({error:"fast mode only"});return}if(n==="trans"){t.sent||t.code(404).send({error:"uc transcoding disabled"});return}else{if(o==="subt"){let p=c.enableFast?await xkt(s,decodeURIComponent(a.stoken),a.fid,a.shareFidToken):await Rkt(s,decodeURIComponent(a.stoken),a.fid,a.shareFidToken,!1,{mode:u?"token":"cookie"});if(!p?.download_url){t.sent||t.code(404).send({error:"subtitle not found"});return}let m=await jan(p.download_url);if(!m){t.sent||t.code(502).send({error:"subtitle fetch failed"});return}let g=m;if(String(e.params.end||"").toLowerCase().endsWith(".srt")&&Gan(m)){let E=f7(m.toString("utf8"));g=Buffer.from(E,"utf8")}let y=Kan(g,e.params.end);return t.code(200).headers({"content-type":y,"content-length":String(g.length),"cache-control":"no-store"}),g}if(o==="fast"){if(!c.enableFast){t.sent||t.code(403).send({error:"fast disabled"});return}let p=W1e.get(a.fid);if(p||(p=await xkt(s,decodeURIComponent(a.stoken),a.fid,a.shareFidToken),p&&W1e.set(a.fid,p)),p?.download_url){let m=Number(p.size||p.file_size||p.fileSize||0),g=m>0?m:null;try{return await Kc(e,t,p.download_url,`fast_${a.fid}`,X1e(),{chunkSize:c.chunkSize,poolSize:c.poolSize,timeout:1e3*10},g,!0)}catch(_){console.error("[uc fast] chunkStream error, clearing cache:",_.message),W1e.delete(a.fid),t.sent||t.code(503).send({error:"fast stream error, please retry"})}}return}let d=u?"auto":"cookie",f=`${d}_${a.fid}`,h=z1e.get(f);if(h||(h=await Rkt(s,decodeURIComponent(a.stoken),a.fid,a.shareFidToken,o==="down"||o==="cookie"||o==="token",{mode:d}),h&&z1e.set(f,h)),h?.download_url){if(o==="redirect"||!c.useMultithread){t.redirect(h.download_url);return}let p=h.size;try{return await Kc(e,t,h.download_url,a.fid,X1e(),{chunkSize:c.chunkSize,poolSize:c.poolSize,timeout:1e3*10},p,!0)}catch(m){console.error("[uc proxy] chunkStream error, clearing cache:",m.message),z1e.delete(f),t.sent||t.code(503).send({error:"stream error, please retry"})}}}}catch(r){console.error("[uc proxy] error:",r.message),t.sent||t.code(500).send({error:r.message})}}async function oj(e,t){await Wh(e);let r=e.body.flag,n=e.body.id;if(r.startsWith(await lt("uc"))){let{shareId:s,stoken:i,fid:a,shareFidToken:o,subtitleFid:c="",subtitleShareFidToken:u="",subtitleExt:l=""}=qn(n,{fieldOrder:["shareId","stoken","fid","shareFidToken","subtitleFid","subtitleShareFidToken","subtitleExt"]}),d=await Pkt(e.server),f=await rIe(),h=encodeURIComponent(Zt([i,a,o],{structured:!0})),p=[];d.enableFast&&p.push(...wl(e,"uc","\u5FEB\u4F20","fast",s,h,".bin")),p.push(...wl(e,"uc","\u4EE3\u7406",f?"token":"cookie",s,h,".bin")),p.push(...wl(e,"uc","\u539F\u753B","redirect",s,h,".bin"));let m=[],g={};if(c){let _=Yan(l||"")||"srt",y=encodeURIComponent(Zt([i,c,u,_],{structured:!0}));m.push(dE(e,"uc",s,y,`.${_}`,{name:"\u5916\u6302\u5B57\u5E55",format:_}))}return ec({parse:0,urls:p,subtitles:m,extra:g})}return Vs("UC \u7F51\u76D8\u64AD\u653E\u53C2\u6570\u65E0\u6548")}async function jan(e){if(!e)return null;let t=X1e();try{let r=await Se.get(e,{headers:t,responseType:"arraybuffer",maxRedirects:0,timeout:2e4,validateStatus:a=>a>=200&&a<400});if(r.status===200&&r.data)return r.data;let n=r.headers?.location;if(r.data=null,!n)return null;let s=new URL(n,e).toString(),i=await Se.get(s,{headers:t,responseType:"arraybuffer",timeout:3e4,validateStatus:a=>a===200});try{return i.data||null}finally{i.data&&(i.data=null)}}catch{return null}}function Kan(e,t=""){let r=String(t||"").toLowerCase();if(r.endsWith(".ass")||r.endsWith(".ssa"))return"text/x-ssa; charset=utf-8";if(r.endsWith(".vtt"))return"text/vtt; charset=utf-8";if(r.endsWith(".srt"))return"application/x-subrip; charset=utf-8";let n=(Buffer.isBuffer(e)?e:Buffer.from(e)).subarray(0,4096).toString("utf8").toLowerCase();return n.includes("[script info]")?"text/x-ssa; charset=utf-8":n.includes("webvtt")?"text/vtt; charset=utf-8":n.includes("-->")?"application/x-subrip; charset=utf-8":"text/plain; charset=utf-8"}function Gan(e){let t=(Buffer.isBuffer(e)?e:Buffer.from(e)).subarray(0,8192).toString("utf8").toLowerCase();return t.includes("[script info]")||t.includes("[events]")||t.includes("dialogue:")}function Yan(e=""){let t=on(e);if(t)return t;let r=String(e||"").replace(/^\./,"").toLowerCase();return["srt","ass","ssa","vtt","sub","idx","smi","txt"].includes(r)?r:""}async function Mkt(e="0",t=1,r=200){let n=Math.max(1,Number.parseInt(t,10)||1),s=`file/sort?${Pl}&pdir_fid=${encodeURIComponent(e||"0")}&_page=${n}&_size=${r}&_sort=file_type:asc,updated_at:desc`,i=await Ku(s,{},{},"get"),a=Array.isArray(i?.data?.list)?i.data.list:[],o=[],c=[];return a.forEach(u=>{u?.dir===!0||u?.dir===1||u?.file_type===0?o.push(u):c.push(u)}),{folderList:o,fileList:c,count:Number(i?.metadata?._total||a.length||0)}}async function cj(e){return e&&(await Ku(`file/download?${Pl}`,{fids:[e]}))?.data?.[0]||null}var u0,Yc,ei,Man,Pl,wkt,l0,f4,Skt,J1e,Gd,Z1e,ij,eIe,tIe,kan,Nkt,Tkt,bkt,RT,h4,nj,p4,sj,z1e,W1e,Ckt,_4=oe(()=>{kr();uT();u0=we(ki(),1);Cs();Pr();Fa();lE();Q1e();ju();Nd();xl();a0();bg();jh();qd();Bi();Yc={DeviceID:"07b48aaba8a739356ab8107b5e230ad4",RefreshToken:"",AccessToken:""},ei={api:"https://open-api-drive.uc.cn",clientID:"5acf882d27b74502b7040b0c65519aa7",signKey:"l3srvtd7p42l0d0x1u8d7yc8ye9kki4d",appVer:"1.6.8",channel:"UCTVOFFICIALWEB",codeApi:"http://api.extscreen.com/ucdrive"};Man=/https:\/\/drive\.uc\.cn\/s\/([^\\|#/?]+)/;Pl="pr=UCBrowser&fr=pc",wkt={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) uc-cloud-drive/2.5.20 Chrome/100.0.4896.160 Electron/18.3.5.4-b478491100 Safari/537.36 Channel/pckk_other_ch",Referer:"https://drive.uc.cn"};l0=null,f4=null,Skt=!1,J1e="https://pc-api.uc.cn/1/clouddrive/",Gd="",Z1e="",ij="",eIe="",tIe="cookie",kan="token",Nkt="ut",Tkt=Hs("uc.shareToken",{maxSize:200,ttl:30*60*1e3}),bkt="CatVodOpen",RT=null,h4="";nj=new Map;p4=Hs("uc.saveFileId",{maxSize:1e3,ttl:60*60*1e3}),sj=new Map;z1e=Hs("uc.downloading",{maxSize:500,ttl:5*60*1e3}),W1e=Hs("uc.fast",{maxSize:500,ttl:5*60*1e3}),Ckt={chunkSize:64*1024,poolSize:16,useMultithread:!0,enableFast:!1}});function A4(e){return e?zan.test(e):!1}var nIe,zan,uj=oe(()=>{nIe=new Set(["mp4","mkv","avi","mov","flv","wmv","m3u8","ts","rmvb","webm","m4v","mpg","mpeg","3gp","f4v","vob","rm","iso","asf","divx","m2ts"]),zan=new RegExp(`\\.(${[...nIe].join("|")})$`,"i")});var rx,sIe=oe(()=>{rx=class{constructor(t=200){this.limit=Math.max(1,t),this.items=[]}push(t){this.items.push(t),this.items.length>this.limit&&this.items.splice(0,this.items.length-this.limit)}toArray(){return this.items.slice()}recent(t=this.items.length){return this.items.slice(-Math.max(0,t))}clear(){this.items.length=0}get length(){return this.items.length}}});async function ax(e={}){for(let[t,r]of Object.entries(e))await Je.set(t,r)}function don(e={}){dIe.push({ts:new Date().toISOString(),...e})}function r4t(){return dIe.toArray()}function n4t(){dIe.clear()}async function Qc(e){if(Bkt&&E4)return;E4=e.server.db,sx=await E4.getObjectDefault("/xunlei",{});let t=e.server.config?.xunlei||{username:"",password:""};js={username:sx.username||t.username||"",password:sx.password||t.password||""},Bkt=!0}function s4t(){Ll=null,hj.clear()}function i4t(e=""){try{let t=new URL(String(e||"").trim()),r=Number(t.searchParams.get("e")||0);return!Number.isFinite(r)||r<=0?0:r*1e3}catch{return 0}}function fon(e=""){let t=pj.get(e);if(!t)return null;if(typeof t=="string"){let r={url:t,expiresAt:i4t(t)};return pj.set(e,r),r}return t?.url?t:null}function iIe(e=""){pj.delete(e)}function hon(e="",t=""){let r=String(t||"").trim();!e||!r||pj.set(e,{url:r,expiresAt:i4t(r)})}function pon(e){let t=Number(e?.expiresAt||0);return t>0&&t<=Date.now()+lon}async function Ukt(e="",t={}){let r=String(e||"").trim();if(!r)return{ok:!1,status:0};try{let n=await Ye.get(r,{responseType:"stream",timeout:1e4,headers:{Range:"bytes=0-0",...t},validateStatus:()=>!0});return n?.data?.destroy?.(),{ok:n.status===200||n.status===206,status:Number(n.status||0)}}catch(n){return n?.response?.data?.destroy?.(),{ok:!1,status:Number(n?.response?.status||0),message:n?.message||String(n)}}}async function v4(e,{username:t="",password:r=""}={}){await Qc(e);let n={username:String(t||"").trim(),password:String(r||"").trim()},s=n.username!==js.username||n.password!==js.password;js={...n},await ax({username:js.username,password:js.password}),s&&await a4t(!0)}async function a4t(e=!1,t={}){let r=!!t.preserveReviewSmsToken;await ax({auth:"",appAuth:"",refreshToken:"",userId:"",...r?{}:{reviewSmsToken:"",reviewSmsExpiresAt:""}}),e&&await ax({creditKey:"",reviewUserId:"",reviewMainHost:"",reviewMobile:"",reviewUrl:"",reviewQuery:"",reviewCookie:"",reviewCsrfToken:"",reviewActiveHost:""}),s4t()}function Jh(e){if(!e)return!1;let t=e.lastIndexOf(".");if(t<0)return!1;let r=e.slice(t+1).toLowerCase();return nIe.has(r)}function mon(e=""){let t=String(e||"").lastIndexOf(".");if(t<0)return"application/octet-stream";switch(e.slice(t+1).toLowerCase()){case"mkv":return"video/x-matroska";case"mp4":case"m4v":case"mov":return"video/mp4";case"webm":return"video/webm";case"avi":return"video/x-msvideo";case"flv":return"video/x-flv";case"wmv":case"asf":return"video/x-ms-wmv";case"ts":return"video/mp2t";case"m3u8":return"application/vnd.apple.mpegurl";case"mpg":case"mpeg":case"vob":return"video/mpeg";case"3gp":return"video/3gpp";default:return"application/octet-stream"}}function o4t(e){try{let r=(e.includes(" ")?e.split(" ")[1]:e).split(".");if(r.length<2)return null;let n=r[1].replace(/-/g,"+").replace(/_/g,"/"),s=Buffer.from(n,"base64").toString("utf8");return JSON.parse(s)}catch{return null}}function gon(e){if(!e)return!1;let t=o4t(e);if(!t?.exp)return!1;let r=Math.floor(Date.now()/1e3);return t.exp>r+uon}function li(e=""){return String(o4t(e)?.aud||"").trim()}function _on(e=""){return gon(e)&&li(e)===OE}function wE(e=""){return _on(e)}function Aj(e){return uIe.default.MD5(e).toString()}function Ej(e){return typeof e=="string"&&e.includes("@")}function Aon(e){let t=String(e||"").trim();if(!t)return"";if(t.startsWith("+"))return t;let r=t.replace(/\D/g,"");return r?r.length===11&&!r.startsWith("86")?`+86 ${r}`:r.startsWith("86")?`+${r}`:`+${r}`:t}function Qd(e){let t=String(e||"").trim();if(!t)return{account:"",captchaMeta:{}};if(Ej(t))return{account:t,captchaMeta:{email:t}};let r=Aon(t);return{account:r,captchaMeta:{phone_number:r}}}function Eon(e){let t=String(e||"").trim();if(!t||Ej(t))return t;let r=t.replace(/\D/g,"");return r.length===13&&r.startsWith("86")?r.slice(2):r||t}function NE(e){let t=e?.response?.data;return t?t?.details?.find(n=>n?.message)?.message||t.error_description||t.message||e?.message||String(e):e?.message||String(e)}function rc(e,t={}){let r=new Error(e);return r.data=t,r}function Gn(e,t={}){try{let r=JSON.stringify(t,null,2);console.error(`[\u8FC5\u96F7\u8C03\u8BD5] ${e}: ${r}`)}catch{console.error(`[\u8FC5\u96F7\u8C03\u8BD5] ${e}:`,t)}}function Xh(e){return{message:e?.message||String(e),response:e?.response?.data||e?.data?.response||e?.data||null}}function ep(){let e=String(js.username||"").trim(),t=String(js.password||"").trim(),r=e||t?`${e}${t}`:"CatVodOpenXunlei";return Aj(r)}function c4t(e=ep(),t=mj){return`div101.${e}${Aj(uIe.default.SHA1(`${e}${t}${gj}${eon}`).toString())}`}function yon(e=ep()){let t=String(Date.now()),r=`${ox}${xT}${mj}${e}${t}`;for(let n of ion)r=Aj(r+n);return{timestamp:t,sign:`1.${r}`}}function von(e=nx){let t=String(Date.now()),r=`${aIe}${t4t}${e4t}${e}${t}`;for(let n of oon)r=Aj(r+n);return{timestamp:t,sign:`1.${r}`}}function u4t(e=""){return li(e)===Yd?{kind:"web",clientId:Yd,deviceId:cx,userAgent:ux,clientVersionHeader:zkt}:{kind:"app",clientId:ox,deviceId:ep(),userAgent:wT,clientVersionHeader:xT}}function fIe({authorization:e="",captchaToken:t="",contentType:r="application/json",userAgent:n,acceptLanguage:s="zh-cn",clientId:i,deviceId:a,clientVersion:o,extra:c={}}={}){let u=e?u4t(e):null,l=i||u?.clientId||ox,d=a||u?.deviceId||ep(),f=n||u?.userAgent||wT,h=o!==void 0?o:u?.clientVersionHeader??xT,p={"User-Agent":f,Accept:"application/json;charset=UTF-8","x-client-id":l,"x-device-id":d,...c};return h&&(p["x-client-version"]=h),r&&(p["Content-Type"]=r),s&&(p["accept-language"]=s),e&&(p.authorization=e),t&&(p["x-captcha-token"]=t),p}function NT({authorization:e="",captchaToken:t="",contentType:r="application/json",userAgent:n,acceptLanguage:s,clientVersion:i,extra:a={}}={}){let o=e?u4t(e):null,c=o?.clientId||OE,u=o?.deviceId||ep(),l=n||o?.userAgent||Jkt,d=i!==void 0?i:o?.clientVersionHeader??xT,f=s!==void 0?s:o?.kind==="web"?"zh,en-GB;q=0.9,en-US;q=0.8,en;q=0.7,zh-CN;q=0.6":"zh-cn",h={"User-Agent":l,"x-client-id":c,"x-device-id":u,...a};return d&&(h["x-client-version"]=d),r&&(h["Content-Type"]=r),f&&(h["accept-language"]=f),e&&(h.authorization=e),t&&(h["x-captcha-token"]=t),h}function oIe(){return String(Je.get("reviewActiveHost")||Je.get("reviewMainHost")||"xluser-ssl.xunlei.com").split(",").find(Boolean)||"xluser-ssl.xunlei.com"}function Son(){return`https://${oIe()}`}function Ton(){return String(Je.get("reviewMainHost")||"xluser-ssl.xunlei.com").split(",").map(e=>String(e||"").trim()).filter(Boolean)}function l4t(){return String(Je.get("reviewUrl")||"").trim()}function bon(){return l4t()||"https://i.xunlei.com/xlcaptcha/vertifyPhone.html"}function Ion(e=[]){return(Array.isArray(e)?e:[e]).map(t=>String(t||"").split(";")[0]?.trim()).filter(Boolean).join("; ")}function Fkt(e=[]){let t=Array.isArray(e)?e:[e],r={};for(let n of t){let s=String(n||"").split(";")[0]?.trim();if(!s)continue;let i=s.indexOf("=");if(i<=0)continue;let a=s.slice(0,i).trim(),o=s.slice(i+1).trim();a&&(r[a]=decodeURIComponent(o||""))}return r}function Ron(...e){return Object.assign({},...e.filter(t=>t&&typeof t=="object"))}function $kt(e={}){return Object.entries(e).map(([t,r])=>`${t}=${r}`).join("; ")}function d4t(e="",t=""){if(!e||!t)return"";let r=new RegExp(`(?:^|;\\s*)${t}=([^;]*)`),n=String(e).match(r);return n?decodeURIComponent(n[1]):""}function f4t(){return String(Je.get("reviewCookie")||"").trim()}function Con(){return String(Je.get("reviewCsrfToken")||"").trim()}function h4t(){try{let e=String(Je.get("reviewQuery")||"").trim();return e?JSON.parse(e):{}}catch{return{}}}function y4(){return{creditKey:String(Je.get("creditKey")||"").trim(),reviewUrl:String(Je.get("reviewUrl")||"").trim(),reviewQuery:String(Je.get("reviewQuery")||"").trim(),reviewMainHost:String(Je.get("reviewMainHost")||"").trim(),reviewUserId:String(Je.get("reviewUserId")||"").trim(),reviewMobile:String(Je.get("reviewMobile")||"").trim(),reviewActiveHost:String(Je.get("reviewActiveHost")||"").trim(),reviewCookie:String(Je.get("reviewCookie")||"").trim(),reviewCsrfToken:String(Je.get("reviewCsrfToken")||"").trim(),reviewSmsToken:String(Je.get("reviewSmsToken")||"").trim(),reviewSmsExpiresAt:String(Je.get("reviewSmsExpiresAt")||"").trim()}}function xon(){let e=y4();return!!(e.creditKey&&(e.reviewUrl||e.reviewMainHost))}async function p4t(e,t={}){!t||typeof t!="object"||await ax({creditKey:String(t.creditKey||"").trim(),reviewUrl:String(t.reviewUrl||"").trim(),reviewQuery:String(t.reviewQuery||"").trim(),reviewMainHost:String(t.reviewMainHost||"").trim(),reviewUserId:String(t.reviewUserId||"").trim(),reviewMobile:String(t.reviewMobile||"").trim(),reviewActiveHost:String(t.reviewActiveHost||"").trim(),reviewCookie:String(t.reviewCookie||"").trim(),reviewCsrfToken:String(t.reviewCsrfToken||"").trim(),reviewSmsToken:String(t.reviewSmsToken||"").trim(),reviewSmsExpiresAt:String(t.reviewSmsExpiresAt||"").trim()})}function won(e=""){let t=String(e||"").replace(/\D/g,"");return t.length<7?t:`${t.slice(0,3)}****${t.slice(-4)}`}function Non(e="",t=""){if(t&&Je.set("creditKey",t),!!e)try{let r=new URL(e);Je.set("reviewUrl",e),Je.set("reviewQuery",JSON.stringify(Object.fromEntries(r.searchParams.entries())));let n=r.searchParams.get("mainHost")||"",s=r.searchParams.get("userID")||"",i=r.searchParams.get("mobile")||"";n&&Je.set("reviewMainHost",n),s&&Je.set("reviewUserId",s),i&&Je.set("reviewMobile",i)}catch{}}function yj(e=""){let t=String(e||"").trim();if(t){Je.set("creditKey",t);try{let r=String(Je.get("reviewUrl")||"").trim();if(r){let n=new URL(r);n.searchParams.set("creditkey",t),Je.set("reviewUrl",n.toString()),Je.set("reviewQuery",JSON.stringify(Object.fromEntries(n.searchParams.entries())));return}}catch{}try{let r=h4t();Object.keys(r).length>0&&(r.creditkey=t,Je.set("reviewQuery",JSON.stringify(r)))}catch{}}}function m4t(e={}){let t=Qd(js.username).account,r=h4t(),n=String(r.platformVersion||lj||"").trim();return{appid:r.appid||gj,appName:r.appName||Xkt,clientVersion:r.clientVersion||xT,event:r.event||"login3",platformVersion:n||lj,protocolVersion:r.protocolVersion||Wkt,providerName:r.providerName||"NONE",OSVersion:r.OSVersion||"NONE",deviceName:r.deviceName||"NONE",deviceModel:r.deviceModel||"NONE",netWorkType:r.netWorkType||"NONE",userID:r.userID||Je.get("reviewUserId")||"",mobile:r.mobile||Je.get("reviewMobile")||won(t),creditkey:Je.get("creditKey")||"",smsEvent:r.smsEvent||"34",trigger:r.trigger||"0",privateStyle:r.privateStyle||"",deviceid:ep(),devicesign:c4t(),fromPlatformVersion:n||lj,sdkVersion:"1.0",hl:r.hl||"",timestamp:Date.now(),...e}}async function Oon(e,t={},r={}){let n=`jsonp_${Date.now()}_${Math.random().toString(36).slice(2,10)}`,s=await Ye.get(e,{params:{...t,callback:n},headers:r,timeout:15e3,responseType:"text",transformResponse:[o=>o]}),a=String(s.data||"").trim().match(/^[^(]+\(([\s\S]*)\)\s*;?\s*$/);return a?JSON.parse(a[1]):typeof s.data=="string"?JSON.parse(s.data):s.data}async function Don(e,t={},r={}){let n=new Gkt.default;for(let[f,h]of Object.entries(t))n.append(f,h==null?"":String(h));let s=Ron(Fkt(f4t().split(/,(?=[^;]+?=)/))),i=e,a="post",o="https://i.xunlei.com/xlcaptcha/vertifyPhone.html",c=n,u=null,l="";for(let f=0;f<5;f++){let h=$kt(s),p={Referer:o,"User-Agent":wT,...a==="post"?n.getHeaders():{},...h?{Cookie:h}:{},...r};u=a==="post"?await Ye.post(i,c,{headers:p,timeout:15e3,maxRedirects:0,validateStatus:()=>!0,responseType:"text",transformResponse:[_=>_]}):await Ye.get(i,{headers:p,timeout:15e3,maxRedirects:0,validateStatus:()=>!0,responseType:"text",transformResponse:[_=>_]}),Object.assign(s,Fkt(u?.headers?.["set-cookie"]||[])),l=String(u?.data||"").trim();let m=$kt(s);if(m){Je.set("reviewCookie",m);let _=d4t(m,"csrf_token");_&&Je.set("reviewCsrfToken",_)}let g=String(u?.headers?.location||"").trim();if(!g)break;i=/^https?:\/\//i.test(g)?g:new URL(g,i).toString(),o=i,a="get",c=void 0}let d=l.match(/\{[\s\S]*?\}/);return d?{...JSON.parse(d[0]),...s,response:l}:{...s,response:l}}async function hIe(){let e=l4t();if(e)try{let t=await Ye.get(e,{headers:{Referer:"https://i.xunlei.com/xlcaptcha/vertifyPhone.html","User-Agent":wT},timeout:15e3,maxRedirects:5}),r=Ion(t?.headers?.["set-cookie"]||[]);if(r){Je.set("reviewCookie",r);let n=d4t(r,"csrf_token");n&&Je.set("reviewCsrfToken",n)}}catch{}}function g4t(e={}){let t=f4t();return{Referer:bon(),"User-Agent":wT,...t?{Cookie:t}:{},...e}}function _4t(e={}){let t=Con();return{...t?{csrf_token:t}:{},...e}}function Pon(e=[]){if(!e.length)return null;let t=e.find(s=>String(s?.payload?.errorCode)==="0"&&s?.payload?.token);if(t)return t;let r=e.find(s=>["51","28"].includes(String(s?.payload?.errorCode)));if(r)return r;let n=e.find(s=>["33","12","13"].includes(String(s?.payload?.errorCode)));return n||e[0]}async function A4t(e,t={},r={}){let n=Ton(),s=[];for(let a of n.length?n:[oIe()]){let o=await Oon(`https://${a}${e}`,_4t(t),g4t(r));if(s.push({host:a,payload:o}),String(o?.errorCode)==="0"&&o?.token)return Je.set("reviewActiveHost",a),{host:a,payload:o,attempts:s}}let i=Pon(s)||{host:oIe(),payload:{}};return i?.host&&Je.set("reviewActiveHost",i.host),{host:i.host,payload:i.payload,attempts:s}}async function Ml(e,t,r={},n=2){try{let s=await Ye.post(e,t,{headers:r,timeout:15e3});return s.status===429&&n>0?(await tr(1e3),await Ml(e,t,r,n-1)):s}catch(s){if(s?.response?.status===429&&n>0)return await tr(1e3),await Ml(e,t,r,n-1);throw s}}async function Zh(e,t={},r=2){try{let n=await Ye.get(e,{headers:t,timeout:15e3});return n.status===429&&r>0?(await tr(1e3),await Zh(e,t,r-1)):n}catch(n){if(n?.response?.status===429&&r>0)return await tr(1e3),await Zh(e,t,r-1);throw n}}async function E4t(e="GET:drive/v1/files",t={}){let r=ep(),{timestamp:n,sign:s}=yon(r),i={client_id:ox,action:e,device_id:r,captcha_token:"",meta:{client_version:xT,package_name:mj,timestamp:n,captcha_sign:s,user_id:Je.get("userId")||"",...t},redirect_uri:aon},a=fIe();try{let c=(await Ml(`${DE}v1/shield/captcha/init`,i,a)).data||{};return{token:c.captcha_token||"",url:c.url||"",expiresIn:c.expires_in||0,raw:c}}catch(o){throw Gn("getAppActionCaptchaInfo error",{action:e,message:o?.message||String(o),response:o?.response?.data||null,data:i}),o}}async function Lon(e){let t=Qd(e);return t.account?await E4t("POST:/v1/auth/signin/token",t.captchaMeta):{token:"",url:"",expiresIn:0,raw:{}}}async function Mon(e){let t=Qd(e);if(!t.account)return{token:"",url:"",expiresIn:0,raw:{}};let r={client_id:Yd,action:"POST:/v1/auth/signin",device_id:cx,captcha_token:"",meta:t.captchaMeta},s=(await Ml(`${DE}v1/shield/captcha/init`,r,{"User-Agent":ux,"Content-Type":"application/json"})).data||{};return{token:s.captcha_token||"",url:s.url||"",expiresIn:s.expires_in||0,raw:s}}async function y4t(){await hIe();let{payload:e}=await A4t("/xluser.core.login/v3/sendsms",m4t()),t=mIe(Qd(js.username).account);if(["28","51"].includes(String(e?.errorCode||"").trim())&&t?.verificationId)return{...e,token:t.verificationId,reviewState:t.reviewState||y4(),reused:!0};if(String(e?.errorCode)!=="0"||!e?.token){let n=e?.reviewurl?`https://i.xunlei.com${e.reviewurl}`:"";throw rc(e?.errorDesc||e?.error_description||e?.error||"\u53D1\u9001\u9A8C\u8BC1\u7801\u5931\u8D25",{verifyUrl:n,response:e})}e.creditkey&&yj(e.creditkey);let r=Date.now()+Number(e.expires_in||e.expiresIn||300)*1e3;return e.token&&(await Je.set("reviewSmsToken",e.token),await Je.set("reviewSmsExpiresAt",String(r))),{...e,expiresAt:r,reviewState:{...y4(),creditKey:String(e.creditkey||Je.get("creditKey")||"").trim(),reviewSmsToken:String(e.token||"").trim(),reviewSmsExpiresAt:String(r)}}}function pIe(e,t={}){let r=Number(t.expiresAt||Je.get("reviewSmsExpiresAt")||0);return{phone:e,verificationId:t.token||"",expiresAt:r,expiresIn:r>Date.now()?Math.max(0,Math.ceil((r-Date.now())/1e3)):Number(t.expiresIn||300),selectedChannel:"sms",remaining:null,reviewState:t.reviewState||y4()}}function mIe(e=""){let t=String(Je.get("reviewSmsToken")||"").trim(),r=Number(Je.get("reviewSmsExpiresAt")||0);if(!t||r>0&&r<=Date.now())return null;let n=y4();return n.creditKey&&(n.reviewUrl||n.reviewMainHost)?pIe(e,{token:t,expiresAt:r,reviewState:n}):null}function kon(e){let t=String(e?.data?.response?.errorCode||"").trim();return t==="12"||t==="13"}async function Bon(e,t={}){if(!!!t.forceSend){let s=mIe(e);if(s)return s}let n=await y4t();return pIe(e,n)}async function Uon(e,t){await hIe();let r=await Don(`${Son()}/xluser.core.login/v3/checksms`,_4t(m4t({token:t,smsCode:String(e||"").trim()})),g4t());if(Gn("checksms payload",r),(r?.creditkey||r?.creditKey)&&yj(r.creditkey||r.creditKey),!(String(r?.blogresult||"").trim()==="0"||String(r?.errorCode||"").trim()==="0"||String(r?.error||"").trim().toLowerCase()==="success"))throw rc(r?.msg||r?.errorDesc||"\u9A8C\u8BC1\u7801\u6821\u9A8C\u5931\u8D25",{response:r});let s=String(r?.userid||r?.userID||"").trim();s&&await Je.set("reviewUserId",s);let i=String(r?.securitytoken||r?.securityToken||"").trim();return i&&await Je.set("reviewSecurityToken",i),r}async function Fon(e){await hIe();let{payload:t}=await A4t("/credit/v1/report",{deviceid:ep(),creditkey:Je.get("creditKey")||"",type:"sms",scene:"34",userid:Je.get("reviewUserId")||"",data:e,result:"0",appid:gj});return Number(t?.code)===200&&t?.creditkey&&yj(t.creditkey),t}async function gIe(e,t,r=Je.get("creditKey")||""){if(!Qd(e).account)return"";let s=Eon(e),a=(await Ml(`${DE}xluser.core.login/v3/login`,{protocolVersion:Wkt,sequenceNo:"1000012",platformVersion:lj,isCompressed:"0",appid:gj,clientVersion:xT,peerID:"00000000000000000000000000000000",appName:Xkt,sdkVersion:ton,devicesign:c4t(),netWorkType:"WIFI",providerName:"NONE",deviceModel:"M2004J7AC",deviceName:"Xiaomi_M2004j7ac",OSVersion:"12",creditkey:r,hl:"zh-CN",userName:s,passWord:t,verifyKey:"",verifyCode:"",isMd5Pwd:"0"},fIe({userAgent:ron,acceptLanguage:""}))).data||{};if(Gn("coreLogin response",{creditKey:r,data:a}),a?.error==="review_panel")throw Non(a.reviewurl||"",a.creditkey||r),rc(a.error_description||a.errorDesc||"\u9700\u8981\u5B89\u5168\u9A8C\u8BC1",{verifyUrl:a.reviewurl||"",reviewUrl:a.reviewurl||"",creditKey:a.creditkey||r||"",reviewUserId:Je.get("reviewUserId")||"",response:a});if(!a?.sessionID)throw rc(a?.error_description||a?.errorDesc||a?.error||"\u8FC5\u96F7\u767B\u5F55\u5931\u8D25",{response:a});return a.sessionID}async function _Ie(e,t){let r=Qd(e),n=await Lon(r.account);if(!n.token)throw rc("\u83B7\u53D6\u767B\u5F55\u9A8C\u8BC1\u7801\u4EE4\u724C\u5931\u8D25",{verifyUrl:n.url||""});let i=(await Ml(`${DE}v1/auth/signin/token`,{client_id:ox,client_secret:Qkt,provider:"access_end_point_token",signin_token:t},fIe({captchaToken:n.token}))).data||{};return Gn("signInWithSessionToken response",i),i}async function $on(e,t){let r=Qd(e),n=await Mon(r.account);if(!n.token)throw rc("\u83B7\u53D6\u7F51\u9875\u767B\u5F55\u9A8C\u8BC1\u7801\u4EE4\u724C\u5931\u8D25",{verifyUrl:n.url||"",response:n.raw||null});let i=(await Ml(`${DE}v1/auth/signin`,{username:r.account,password:t,client_id:Yd},{"User-Agent":ux,"Content-Type":"application/json","accept-language":"zh-cn","x-captcha-token":n.token,"x-client-id":Yd,"x-device-id":cx})).data||{};return Gn("signInWithWebCredentials response",i),i}async function vj(e={}){if(!(e.token_type&&e.access_token))return"";let t=`${e.token_type} ${e.access_token}`,r=li(t);return await ax({auth:t,appAuth:r===OE?t:"",userId:e.user_id||"",refreshToken:e.refresh_token||"",reviewSmsToken:"",reviewSmsExpiresAt:""}),s4t(),t}function qon(){return{auth:String(Je.get("auth")||"").trim(),appAuth:String(Je.get("appAuth")||"").trim(),refreshToken:String(Je.get("refreshToken")||"").trim(),userId:String(Je.get("userId")||"").trim()}}function Sj(e="\u8FC5\u96F7\u767B\u5F55\u6001\u672A\u5B8C\u6574\u4FDD\u5B58",t={}){let r=t.requireAppAuth!==!1,n=qon();if(!(r?n.auth&&n.appAuth&&n.refreshToken&&n.userId:n.auth&&n.refreshToken&&n.userId))throw rc(e,{state:n});return n}async function S4(e){let t=String(e||Je.get("appAuth")||Je.get("auth")||"").trim();if(!t)throw rc("\u8FC5\u96F7\u7F51\u76D8\u767B\u5F55\u6001\u4E3A\u7A7A");let r=await DT(t,"GET:drive/v1/files"),n=NT({authorization:t,captchaToken:r}),s=new URLSearchParams({parent_id:"",limit:"1",with_audit:"true",thumbnail_size:"SIZE_SMALL"});try{await Zh(`${d0}drive/v1/files?${s.toString()}`,n,0)}catch(i){throw Gn("validatePanAuthState error",i?.response?.data||{message:i?.message||""}),rc(NE(i)||"\u8FC5\u96F7\u7F51\u76D8\u767B\u5F55\u6001\u6821\u9A8C\u5931\u8D25",{response:i?.response?.data||null})}}async function Hon(e){let t=[],r=String(Je.get("creditKey")||"").trim();r&&t.push(r),t.push("");let n=null;for(let s of[...new Set(t)])try{let i=await gIe(e,js.password,s),a=await _Ie(e,i);if(!await vj(a))throw rc("\u8FC5\u96F7\u767B\u5F55\u5931\u8D25",{response:a});let c=Sj("\u8FC5\u96F7\u767B\u5F55\u6001\u4E0D\u5B8C\u6574\uFF0C\u767B\u5F55\u7ED3\u679C\u672A\u843D\u5E93");return await S4(c.appAuth),c}catch(i){n=i}throw n||rc("\u8FC5\u96F7\u767B\u5F55\u5931\u8D25")}async function AIe(){if(!String(Je.get("refreshToken")||"").trim())return"";try{let t=await ix(OE,fj,CT);if(t)return t}catch(t){console.error("[\u8FC5\u96F7] \u5237\u65B0Pan\u8BA4\u8BC1\u5931\u8D25:",NE(t))}try{let t=await ix(Yd,Ykt,_j);t&&await Je.set("auth",t)}catch(t){console.error("[\u8FC5\u96F7] \u5237\u65B0\u7F51\u9875\u767B\u5F55\u8BA4\u8BC1\u5931\u8D25:",NE(t))}try{let t=await ix(OE,fj,CT);if(t)return t}catch(t){console.error("[\u8FC5\u96F7] \u4F7F\u7528\u6700\u65B0\u5237\u65B0\u4EE4\u724C\u91CD\u8BD5Pan\u8BA4\u8BC1\u5931\u8D25:",NE(t))}return""}async function qkt(e=js.username,t=js.password){let r=Qd(e);if(!r.account||!t)return"";try{let n=await Tj(r.account,t);Gn("recoverPanAuthWithWebSignin web state",{userId:n.userId,audience:li(n.auth),hasRefreshToken:!!n.refreshToken});let s=await AIe(),i=wE(s)?s:wE(n.auth)?n.auth:"";if(!i)throw rc("\u8FC5\u96F7\u7F51\u9875\u767B\u5F55\u6210\u529F\uFF0C\u4F46\u672A\u80FD\u6362\u53D6\u7F51\u76D8\u767B\u5F55\u6001");return await Je.set("appAuth",i),await S4(i),i}catch(n){return console.error("[\u8FC5\u96F7] \u91CD\u65B0\u7F51\u9875\u767B\u5F55\u6362\u53D6Pan\u8BA4\u8BC1\u5931\u8D25:",NE(n)),""}}async function Von(e,t=js.password){let r=await Tj(e,t);Gn("bootstrapPanAuthFromWebSignin web state",{userId:r.userId,audience:li(r.auth),hasRefreshToken:!!r.refreshToken});let n=await AIe(),s=wE(n)?n:wE(r.auth)?r.auth:"";if(!s)throw rc("\u8FC5\u96F7\u7F51\u9875\u767B\u5F55\u6210\u529F\uFF0C\u4F46\u672A\u80FD\u6362\u53D6\u7F51\u76D8\u767B\u5F55\u6001");await Je.set("appAuth",s);let i=Sj("\u8FC5\u96F7\u7F51\u76D8\u767B\u5F55\u6001\u4E0D\u5B8C\u6574\uFF0C\u6362\u53D6\u7ED3\u679C\u672A\u843D\u5E93");return await S4(s),{...i,appAuth:s}}async function Tj(e,t=js.password){let r=await $on(e,t);if(!await vj(r))throw rc(NE({response:{data:r}})||"\u8FC5\u96F7\u767B\u5F55\u5931\u8D25",{response:r});return Sj("\u8FC5\u96F7\u7F51\u9875\u767B\u5F55\u6001\u4E0D\u5B8C\u6574\uFF0C\u767B\u5F55\u7ED3\u679C\u672A\u843D\u5E93",{requireAppAuth:!1})}async function v4t(e,t,r={}){await Qc(e);let n=!!r.forceSend,s=Qd(t);if(!s.account)throw new Error("\u8BF7\u8F93\u5165\u624B\u673A\u53F7");if(Ej(s.account))throw new Error("\u9A8C\u8BC1\u7801\u767B\u5F55\u4EC5\u652F\u6301\u624B\u673A\u53F7");if(!js.password)throw new Error("\u8BF7\u8F93\u5165\u5BC6\u7801");if(!n){let i=mIe(s.account);if(i)return i}if(xon())try{return await Bon(s.account,{forceSend:n})}catch(i){if(!kon(i))throw i;await ax({reviewSmsToken:"",reviewCookie:"",reviewCsrfToken:"",reviewActiveHost:""})}try{let i=await gIe(s.account,js.password),a=await _Ie(s.account,i);if(!await vj(a))throw rc("\u8FC5\u96F7\u767B\u5F55\u5931\u8D25\uFF0C\u672A\u83B7\u53D6\u5230\u767B\u5F55\u6001",{response:a});let c=Sj("\u8FC5\u96F7\u767B\u5F55\u6001\u4E0D\u5B8C\u6574\uFF0C\u767B\u5F55\u7ED3\u679C\u672A\u843D\u5E93");return await S4(c.appAuth),{autoLoggedIn:!0,userId:c.userId,hasRefreshToken:!!c.refreshToken}}catch(i){if(i?.data?.verifyUrl||i?.data?.reviewUrl||i?.data?.response?.error==="review_panel"){let a=await y4t();return pIe(s.account,a)}throw i}}async function S4t(e,{username:t="",password:r=""}={}){await v4(e,{username:t,password:r});let n=Qd(js.username);if(!n.account)throw new Error("\u8BF7\u8F93\u5165\u624B\u673A\u53F7");if(!js.password)throw new Error("\u8BF7\u8F93\u5165\u5BC6\u7801");let s=await Tj(n.account,js.password);return{userId:s.userId,hasRefreshToken:!!s.refreshToken,audience:li(s.auth)}}async function T4t(e,{username:t="",password:r="",verificationId:n="",verificationCode:s=""}={}){await v4(e,{username:t,password:r});let i=Qd(js.username);if(!i.account)throw new Error("\u8BF7\u8F93\u5165\u624B\u673A\u53F7");if(Ej(i.account))throw new Error("\u9A8C\u8BC1\u7801\u767B\u5F55\u4EC5\u652F\u6301\u624B\u673A\u53F7");if(!js.password)throw new Error("\u8BF7\u8F93\u5165\u5BC6\u7801");let a=String(n||"").trim()||String(Je.get("reviewSmsToken")||"").trim();if(!a)throw new Error("\u8BF7\u5148\u53D1\u9001\u9A8C\u8BC1\u7801");if(!String(s||"").trim())throw new Error("\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801");try{let o=await Uon(String(s||"").trim(),a);if(o?.securitytoken)try{await Fon(o.securitytoken)}catch{}(o?.creditkey||o?.creditKey)&&yj(o.creditkey||o.creditKey);try{let u=await Von(i.account,js.password);return{userId:u.userId,hasRefreshToken:!!u.refreshToken}}catch(u){Gn("verified web signin fallback",{message:NE(u),response:u?.response?.data||u?.data?.response||null})}let c=await Hon(i.account);return{userId:c.userId,hasRefreshToken:!!c.refreshToken}}catch(o){await a4t(!1,{preserveReviewSmsToken:!0});let c=NE(o);throw rc(c==="\u64CD\u4F5C\u6210\u529F"?"\u77ED\u4FE1\u9A8C\u8BC1\u7801\u5DF2\u6821\u9A8C\uFF0C\u4F46\u8FC5\u96F7\u6CA1\u6709\u8FD4\u56DE\u53EF\u7528\u767B\u5F55\u6001":c,{verifyUrl:o?.data?.verifyUrl||o?.data?.reviewUrl||"",response:o?.data?.response||null})}}async function ix(e,t,r=wT){let n=Je.get("refreshToken");if(!n)return"";let s={client_id:e,client_secret:t,grant_type:"refresh_token",refresh_token:n},a=(await Ml(`${DE}v1/auth/token`,s,{"User-Agent":r,"Content-Type":"application/json","x-client-id":e,"x-device-id":e===Yd?cx:ep()})).data||{};return a.refresh_token&&await Je.set("refreshToken",a.refresh_token),a.token_type&&a.access_token?`${a.token_type} ${a.access_token}`:""}async function jon(){let e=Je.get("refreshToken");if(!e)return await qkt();if(!e)return"";let t=await AIe();return wE(t)?(await Je.set("appAuth",t),t):await qkt()}async function OT(){let e=Je.get("appAuth");if(wE(e))return Gn("getAppAuth cached appAuth",{audience:li(e),userId:Je.get("userId")||""}),e;let t=Je.get("auth");if(wE(t))return await Je.set("appAuth",t),Gn("getAppAuth promote auth",{audience:li(t),userId:Je.get("userId")||""}),t;let r=await jon();return wE(r)?(await Je.set("appAuth",r),Gn("getAppAuth refreshed",{audience:li(r),userId:Je.get("userId")||""}),r):""}async function b4t(e,t){let{timestamp:r,sign:n}=von(nx),s={client_id:aIe,action:`${t}:${e}`,device_id:nx,captcha_token:"",meta:{username:"",phone_number:"",email:"",package_name:son,client_version:t4t,captcha_sign:n,timestamp:r,user_id:Je.get("userId")||""}},i={"User-Agent":ux,"Content-Type":"application/json","x-client-id":aIe,"x-device-id":nx};return(await Ml(`${DE}v1/shield/captcha/init`,s,i)).data?.captcha_token||""}async function I4t(e="GET:drive/v1/files"){let t={client_id:Yd,action:e,device_id:cx,captcha_token:"",meta:{package_name:Xan,client_version:e==="GET:CAPTCHA_TOKEN"?Wan:zkt,captcha_sign:e==="GET:CAPTCHA_TOKEN"?Zan:Jan,timestamp:String(Date.now()),user_id:Je.get("userId")||""}};return(await Ml(`${DE}v1/shield/captcha/init`,t,{"User-Agent":e==="GET:CAPTCHA_TOKEN"?_j:ux,"Content-Type":"application/json",...e==="GET:CAPTCHA_TOKEN"?{"Accept-Encoding":"gzip, deflate, br"}:{}})).data?.captcha_token||""}async function R4t(e="GET:drive/v1/files"){return(await E4t(e)).token||""}async function DT(e="",t="GET:drive/v1/files"){return li(e)===Yd?await I4t(t==="GET:CAPTCHA_TOKEN"?"GET:CAPTCHA_TOKEN":t):await R4t(t)}async function Kon(){let e=String(Je.get("appAuth")||Je.get("auth")||"").trim();return li(e)===Yd?await I4t("GET:CAPTCHA_TOKEN"):await R4t("GET:CAPTCHA_TOKEN")}function C4t(e){if(!e||typeof e!="string")return null;try{let t=new URL(e);if(!t.hostname.includes("pan.xunlei.com"))return null;let r=t.pathname.split("/").filter(Boolean).pop();if(!r)return null;let n=t.searchParams.get("pwd")||t.searchParams.get("passcode")||t.searchParams.get("password")||"";return{shareId:r,passCode:n}}catch{let r=con.exec(e);return r?{shareId:r[1],passCode:r[2]||""}:null}}function x4t(e=[]){return e.map(t=>({id:t.id,name:t.name,parentId:t.parent_id||t.parentId||"",size:t.size||0,isDirectory:!t.mime_type}))}async function Gon(e,t,r=""){let s={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36","accept-language":"zh,en-GB;q=0.9,en-US;q=0.8,en;q=0.7,zh-CN;q=0.6","x-captcha-token":await b4t("/drive/v1/share","GET"),"x-client-id":lIe,"x-device-id":nx},i=`${d0}drive/v1/share?share_id=${e}&pass_code=${t||""}&limit=100&page_token=${r||""}&thumbnail_size=SIZE_SMALL`,o=(await Zh(i,s)).data||{};return{files:x4t(o.files||[]),passCodeToken:o.pass_code_token||"",nextPageToken:o.next_page_token||o.nextPageToken||o.page_token||""}}async function Yon(e,t,r,n=""){let i={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36","accept-language":"zh,en-GB;q=0.9,en-US;q=0.8,en;q=0.7,zh-CN;q=0.6","x-captcha-token":await b4t("/drive/v1/share","GET"),"x-client-id":lIe,"x-device-id":nx},a=`${d0}drive/v1/share/detail?share_id=${e}&parent_id=${r||""}&pass_code_token=${encodeURIComponent(t||"")}&limit=100&page_token=${n||""}&thumbnail_size=SIZE_SMALL`,c=(await Zh(a,i)).data||{};return{files:x4t(c.files||[]),nextPageToken:c.next_page_token||c.nextPageToken||c.page_token||""}}async function Qon(e,t){let r="",n="",s=[];do{let{files:i,passCodeToken:a,nextPageToken:o}=await Gon(e,t,r);a&&(n=a),s.push(...i),r=o}while(r);return{files:s,passCodeToken:n}}async function zon(e,t,r){let n="",s=[];do{let{files:i,nextPageToken:a}=await Yon(e,t,r,n);s.push(...i),n=a}while(n);return s}function Hkt(e={}){if(!e?.link?.url||e?.is_visible===!1)return Number.NEGATIVE_INFINITY;let t=0;e?.is_origin&&(t+=1e7);let r=String(e?.resolution_name||e?.media_name||"").trim().toUpperCase(),n=r.match(/(\d+(?:\.\d+)?)\s*K/);n&&(t+=Math.round(Number(n[1])*1e6));let s=r.match(/(\d{3,4})\s*P/);s&&(t+=Number(s[1])*1e4),r.includes("\u539F\u753B")&&(t+=1e7),r.includes("\u84DD\u5149")&&(t+=3e6),r.includes("\u8D85\u6E05")&&(t+=108e4),r.includes("\u9AD8\u6E05")&&(t+=72e4),r.includes("\u6807\u6E05")&&(t+=48e4);let i=e?.video||{},a=Number.isFinite(Number(i?.width))?Number(i.width):0,o=Number.isFinite(Number(i?.height))?Number(i.height):0,c=Number.isFinite(Number(i?.bit_rate))?Number(i.bit_rate):0,u=Number.isFinite(Number(i?.frame_rate))?Number(i.frame_rate):0,l=Number.isFinite(Number(e?.priority))?Number(e.priority):999;return t+=Math.max(a,o)*100,t+=Math.min(a,o),t+=Math.round(c/100),t+=u*10,t+=Math.max(0,1e3-l),t}function EIe(e=[]){return e.filter(t=>t?.is_visible!==!1&&t?.link?.url).sort((t,r)=>Hkt(r)-Hkt(t))}function Won(e={}){let t=EIe(Array.isArray(e.medias)?e.medias:[]);if(t.length>0)return t[0].link.url||"";let r=e?.links?.["application/octet-stream"]?.url;if(r)return r;let n=Object.values(e?.links||{}).find(s=>s?.url)?.url;return n||e?.web_content_link||""}function Xon(e=""){let t=String(e||"").toLowerCase();return t.includes("video_x_matroska")||t.includes("matroska")||t.includes("fext=mkv")||/\.mkv(?:[?#]|$)/.test(t)}function Vkt(e=""){let t=String(e||"").toLowerCase();return t.includes("fext=mp4")||t.includes("video_mp4")||/\.mp4(?:[?#]|$)/.test(t)||/\.m3u8(?:[?#]|$)/.test(t)}function cIe(e="",t=""){let r=Zon(e);Vkt(t)&&(r+=1e7),Xon(t)&&(r-=1e7);let n=String(e||"").trim().toUpperCase();return(n==="\u539F\u753B"||n==="\u539F\u6587\u4EF6")&&!Vkt(t)&&(r-=1e5),r}function yIe(e={},t=""){let r=[],n=new Set,s=(a,o)=>{!a||!o||n.has(o)||(n.add(o),r.push(a,o))};if(Jh(t)){let a=EIe(Array.isArray(e.medias)?e.medias:[]).sort((o,c)=>cIe(dj(c,e,"\u539F\u753B"),c?.link?.url||"")-cIe(dj(o,e,"\u539F\u753B"),o?.link?.url||""));for(let o of a)s(dj(o,e,"\u539F\u753B"),o?.link?.url||"")}let i=e?.links?.["application/octet-stream"]?.url;i&&s(Jh(t)?"\u539F\u753B":"\u539F\u6587\u4EF6",i),e?.web_content_link&&s(Jh(t)?"\u539F\u6587\u4EF6":"\u7F51\u9875\u4E0B\u8F7D",e.web_content_link);for(let a of Object.values(e?.links||{}))a?.url&&s(Jh(t)?"\u539F\u6587\u4EF6":"\u4E0B\u8F7D\u94FE\u63A5",a.url);return r.length>0?r:Jon(e,t)}function dj(e={},t={},r="\u539F\u753B"){if(e?.is_origin)return"\u539F\u753B";let n=String(e?.resolution_name||"").trim();if(n)return n.toUpperCase();let s=String(e?.media_name||"").trim();return s?s.replace(/\s+/g," "):t?.mime_type?.startsWith("video/")?r:"\u539F\u6587\u4EF6"}function Jon(e={},t=""){let r=[],n=new Set,s=(o,c)=>{!o||!c||n.has(c)||(n.add(c),r.push(o,c))},i=EIe(Array.isArray(e.medias)?e.medias:[]);for(let o of i)s(dj(o,e,Jh(t)?"\u539F\u753B":"\u539F\u6587\u4EF6"),o.link.url);if(r.length>0)return r;let a=Won(e);return a&&s(Jh(t)?"\u539F\u753B":"\u539F\u6587\u4EF6",a),r}function Zon(e=""){let t=String(e||"").trim().toUpperCase();if(!t)return 0;if(t==="\u539F\u753B"||t==="\u539F\u6587\u4EF6")return 1e4;let r=t.match(/(\d+(?:\.\d+)?)\s*K/);if(r)return Math.round(Number(r[1])*1e3);let n=t.match(/(\d{3,4})\s*P/);return n?Number(n[1]):t.includes("\u84DD\u5149")?3e3:t.includes("\u8D85\u6E05")?1080:t.includes("\u9AD8\u6E05")?720:t.includes("\u6807\u6E05")?480:1}function w4t(e=[],t=[],r=""){let n=[],s=new Set,i=new Set,a=(c,u)=>{!c||!u||s.has(u)||Jh(r)&&i.has(String(c||"").trim().toUpperCase())||(s.add(u),Jh(r)&&i.add(String(c||"").trim().toUpperCase()),n.push(c,u))};for(let c=0;cu.score-c.score),o.flatMap(c=>[c.label,c.url])}function N4t(e=[]){let t=[];for(let r=0;r{let n=String(r.label||"").trim().toUpperCase();return n==="\u539F\u753B"||n==="\u539F\u6587\u4EF6"})||null}function ecn({shareId:e="",fileId:t="",passCodeToken:r="",fileName:n="",fileSize:s=""}={}){return[e,t,r,n,s].join("*")}async function vIe(e,t=""){if(!e)return null;let r=await OT();if(!r)return null;let n=li(r)===Yd,s=t==="FETCH",i=s&&!n?await Kon():await DT(r,"GET:drive/v1/files"),a=s?n?{"User-Agent":_j,Accept:"*/*","Accept-Encoding":"gzip, deflate, br",authorization:r,"content-type":"application/json","x-device-id":cx,"x-captcha-token":i}:{"User-Agent":CT,Accept:"*/*","Accept-Encoding":"gzip, deflate, br",authorization:r,"content-type":"application/json","x-client-id":OE,"x-device-id":ep(),"x-captcha-token":i}:NT({authorization:r,captchaToken:i,userAgent:n?ux:Jkt,acceptLanguage:n?"zh,en-GB;q=0.9,en-US;q=0.8,en;q=0.7,zh-CN;q=0.6":"zh-cn"}),o=new URLSearchParams({space:"","with[0]":"public_share_tag"});t&&o.set("usage",t);let c;try{c=await Zh(`${d0}drive/v1/files/${e}?${o.toString()}`,a),Gn("fetchDriveFileInfo response",{fileId:e,usage:t,hasLinks:!!c?.data?.links,linkTypes:Object.keys(c?.data?.links||{}),hasWebContentLink:!!c?.data?.web_content_link,mediaCount:Array.isArray(c?.data?.medias)?c.data.medias.length:0})}catch(u){throw Gn("fetchDriveFileInfo error",{fileId:e,usage:t,message:u?.message||String(u),response:u?.response?.data||null}),u}return c.data||null}function tcn(e=""){let t=String(e??"").trim();return!t||t==="0"||t==="/"||t.toLowerCase()==="root"?"":t}function jkt(e={}){return String(e?.kind||"").toLowerCase().includes("folder")}async function D4t(e,t="",r=1,n=100){await Qc(e);let s=await OT();if(!s)return{page:1,pagecount:1,limit:n,total:0,count:0,list:[],folderList:[],fileList:[],nextPageToken:""};let i=Math.max(1,Number.parseInt(r,10)||1),a=Math.min(200,Math.max(1,Number.parseInt(n,10)||100)),o=await DT(s,"GET:drive/v1/files"),c=NT({authorization:s,captchaToken:o}),u="",l={};for(let g=1;g<=i;g+=1){let _=new URLSearchParams({parent_id:tcn(t),page_token:u,space:"",with_audit:"true",thumbnail_size:"SIZE_SMALL",limit:String(a),filters:'{"phase":{"eq":"PHASE_TYPE_COMPLETE"},"trashed":{"eq":false}}'});if(l=(await Zh(`${d0}drive/v1/files?${_.toString()}`,c)).data||{},g>=i||(u=String(l.next_page_token||l.nextPageToken||l.page_token||"").trim(),!u))break}let d=Array.isArray(l.files)?l.files:[],f=String(l.next_page_token||l.nextPageToken||l.page_token||"").trim(),h=d.filter(jkt),p=d.filter(g=>!jkt(g)),m=(i-1)*a+d.length+(f?a:0);return{page:i,pagecount:f?i+1:i,limit:a,total:Number(l.count||m||d.length||0),count:Number(l.count||m||d.length||0),list:d,folderList:h,fileList:p,nextPageToken:f}}async function SIe(e,t="",r=""){if(await Qc(e),!t)return[];let n=[];for(let s of["FETCH","","CONSUME","PLAY","DISPLAY"])try{let i=await vIe(t,s),a=yIe(i||{},r);a.length>0&&(n=w4t(n,a,r))}catch(i){console.error(`[\u8FC5\u96F7] \u83B7\u53D6\u81EA\u6709\u6587\u4EF6\u4E0B\u8F7D\u94FE\u63A5\u5931\u8D25(${s||"DEFAULT"}):`,i.message||i)}return n}async function P4t(e,t="",r=""){let n=await SIe(e,t,r);return{url:n[1]||"",entries:n}}async function rcn({shareId:e,fileId:t,passCodeToken:r,fileName:n,fileSize:s,clean:i}){let a=ecn({shareId:e,fileId:t,passCodeToken:r,fileName:n,fileSize:s}),o=hj.get(a)||"";if(!o){if(Gn("getSavedFileEntries save start",{shareId:e,fileId:t,fileName:n,fileSize:s,clean:i}),o=await M4t({shareId:e,fileId:t,passCodeToken:r,fileName:n,fileSize:s,clean:i}),!o)return[];hj.set(a,o)}Gn("getSavedFileEntries saved file",{cacheKey:a,savedFileId:o});let c=[];for(let u of["FETCH","","CONSUME","PLAY","DISPLAY"])try{Gn("getSavedFileEntries fetch usage",{savedFileId:o,usage:u});let l=await vIe(o,u),d=yIe(l||{},n);Gn("getSavedFileEntries usage result",{savedFileId:o,usage:u,entryCount:d.length/2}),d.length>0&&(c=w4t(c,d,n))}catch(l){console.error(`[\u8FC5\u96F7] \u901A\u8FC7\u8F6C\u5B58\u6587\u4EF6\u83B7\u53D6\u94FE\u63A5\u5931\u8D25(${u||"DEFAULT"}):`,l.message||l)}return c}function ncn({shareId:e,fileId:t,passCodeToken:r,size:n,name:s,subtitle:i}){let a=[e,t,r||"",n||0,encodeURIComponent(s||"")];return i?.id&&a.push(i.id,i.size||0,encodeURIComponent(i.name||""),i.ext||""),Zt(a,{structured:!0})}async function scn(e){let t=typeof e=="string"?C4t(e):e;if(!t?.shareId)return[];let{files:r,passCodeToken:n}=await Qon(t.shareId,t.passCode||"");if(!n)return[];let s=[],i=(o,c="")=>{if(!o?.length)return;let u=[],l=[],d=[];for(let h of o)h.isDirectory?u.push({id:h.id,path:c+(c?"/":"")+h.name}):Jh(h.name)?l.push(h):Ct(h.name)&&d.push(h);let f=cr(l.map(h=>({vod_id:h.id,vod_name:h.name,vod_size:h.size,raw:h})));for(let h of f){let p=h.raw,m=yr(p.name,d,_=>_.name),g=m?{id:m.id,size:m.size,name:m.name,ext:on(m.name)}:null;s.push({vod_id:ncn({shareId:t.shareId,fileId:p.id,passCodeToken:n,size:p.size,name:p.name,subtitle:g}),vod_name:p.name,vod_size:p.size})}return u},a=async(o,c)=>{let u=i(o,c)||[];u.length!==0&&await uE(u,async l=>{let d=await zon(t.shareId,n,l.id);await a(d,l.path)},3)};return await a(r,""),s}async function Kkt(){if(!Ll)return;let e=await OT();if(!e)return;let t=await DT(e,"GET:drive/v1/files"),r=NT({authorization:e,captchaToken:t}),n=`${d0}drive/v1/files?parent_id=${Ll}&filters=%7B%22phase%22%3A%7B%22eq%22%3A%22PHASE_TYPE_COMPLETE%22%7D%2C%22trashed%22%3A%7B%22eq%22%3Afalse%7D%7D&with_audit=true&thumbnail_size=SIZE_SMALL&limit=200`,s;try{s=await Zh(n,r)}catch(c){throw Gn("clearSaveDir list error",{message:c?.message||String(c),response:c?.response?.data||null}),c}let i=s.data?.files||[];if(!i.length)return;let o={ids:i.map(c=>c.id),space:""};try{await Ml(`${d0}drive/v1/files:batchDelete`,o,r)}catch(c){throw Gn("clearSaveDir delete error",{message:c?.message||String(c),response:c?.response?.data||null,body:o}),c}}async function icn(e){if(Ll){e&&await Kkt();return}let t=await OT();if(!t)return;let r=await DT(t,"GET:drive/v1/files"),n=NT({authorization:t,captchaToken:r}),s=`${d0}drive/v1/files?parent_id=&filters=%7B%22phase%22%3A%7B%22eq%22%3A%22PHASE_TYPE_COMPLETE%22%7D%2C%22trashed%22%3A%7B%22eq%22%3Afalse%7D%7D&with_audit=true&thumbnail_size=SIZE_SMALL&limit=200`,i;try{i=await Zh(s,n)}catch(u){throw Gn("createSaveDir list error",{message:u?.message||String(u),response:u?.response?.data||null}),u}let a=i.data?.files||[];for(let u of a)if(u?.name===kkt){Ll=u.id,Gn("createSaveDir reuse",{saveDirId:Ll,clean:e}),e&&await Kkt();return}let o={parent_id:"",name:kkt,kind:"drive#folder",space:""},c;try{c=await Ml(`${d0}drive/v1/files`,o,n)}catch(u){throw Gn("createSaveDir create error",{message:u?.message||String(u),response:u?.response?.data||null,body:o}),u}c.data?.file?.id&&(Ll=c.data.file.id,Gn("createSaveDir created",{saveDirId:Ll,clean:e}))}async function L4t(){if(!Ll)return[];let e=await OT();if(!e)return[];let t=await DT(e,"GET:drive/v1/files"),r=NT({authorization:e,captchaToken:t}),n=`${d0}drive/v1/files?parent_id=${Ll}&filters=%7B%22phase%22%3A%7B%22eq%22%3A%22PHASE_TYPE_COMPLETE%22%7D%2C%22trashed%22%3A%7B%22eq%22%3Afalse%7D%7D&with_audit=true&thumbnail_size=SIZE_SMALL&limit=200`,s;try{s=await Zh(n,r)}catch(i){throw Gn("listFolderFiles error",{message:i?.message||String(i),response:i?.response?.data||null,saveDirId:Ll}),i}return s.data?.files||[]}async function acn(e,t){let r=await L4t();if(Gn("findSavedFileId list",{expectedName:e,expectedSize:t,files:r.map(i=>({id:i?.id,name:i?.name,size:i?.size,phase:i?.phase}))}),!r.length)return"";let n=Number(t||0),s=r.find(i=>i.name===e&&(!n||i.size===n));return s||(s=r.find(i=>i.name===e),s)||n&&(s=r.find(i=>i.size===n),s)?s.id:r[0]?.id||""}async function M4t({fileId:e,shareId:t,passCodeToken:r,fileName:n,fileSize:s,clean:i}){if(await icn(i),i&&hj.clear(),!Ll)return"";let a=await OT();if(!a)return"";let o=await DT(a,"POST:drive/v1/share/restore"),c=NT({authorization:a,captchaToken:o}),u={parent_id:Ll,share_id:t,pass_code_token:r,ancestor_ids:[],file_ids:[e],specify_parent_id:!0},l;try{l=await Ml(`${d0}drive/v1/share/restore`,u,c)}catch(h){return Gn("share restore error",{message:h?.message||String(h),response:h?.response?.data||null,body:u}),console.error("[\u8FC5\u96F7] \u8F6C\u5B58\u5931\u8D25:",h.message||h),""}let d=l.data||{};Gn("share restore response",{data:d,expectedName:n,expectedSize:s});let f=d?.file?.id||d?.file_id||d?.files?.[0]?.id||"";for(let h=0;h<5;h++){await tr(1e3*(h+1));let p=await acn(n,s);if(p)return p}return f}async function k4t(e,t,r,n,s,i=!0){return!e||!t?"":(await bj(e,t,r,n,s,i))[1]||""}async function bj(e,t,r,n,s,i=!0){if(!e||!t)return[];try{return await rcn({shareId:e,fileId:t,passCodeToken:r,fileName:n,fileSize:s,clean:i})}catch(a){console.error("[\u8FC5\u96F7] \u901A\u8FC7\u8F6C\u5B58\u6587\u4EF6\u83B7\u53D6\u76F4\u94FE\u5931\u8D25:",a.message||a)}return[]}async function B4t(e,t){let r={reqId:String(e.id||""),method:String(e.method||"").toUpperCase(),url:String(e.url||""),routeFlag:String(e.params?.flag||""),range:String(e.headers?.range||""),userAgent:String(e.headers?.["user-agent"]||""),referer:String(e.headers?.referer||""),cacheHit:!1,downloadUrlSource:"",downloadUrlAudience:"",statusCode:0,elapsedMs:0,error:""},n=Date.now();try{await Qc(e);let s=e.params.site,i=e.params.what;if(s!=="xunlei"||i!=="src")return;let a;try{a=qn(String(e.params.fileId||""),{decodeUri:!0,minLength:4,fieldOrder:["fileId","passCodeToken","fileSize","encodedFileName"]})}catch{t.sent||t.code(400).send({error:"\u53C2\u6570\u65E0\u6548"});return}let o=String(e.params.shareId||"").trim(),c=String(a.fileId||"").trim(),u=String(a.passCodeToken||"").trim(),l=String(a.fileSize||"").trim(),d="";try{d=decodeURIComponent(a.encodedFileName||"")}catch{d=String(a.encodedFileName||"").trim()}let f=[o,c,u,l,d].join("*"),h={"User-Agent":CT,Accept:"*/*","Accept-Encoding":"identity"},p="",m=fon(f);if(m&&!pon(m)){let y=await Ukt(m.url,h);y.ok?(p=m.url,r.cacheHit=!0,r.downloadUrlSource="cache"):(Gn("proxy cached original url invalid",{cacheKey:f,status:y.status,expiresAt:m.expiresAt||0,message:y.message||""}),iIe(f))}else m&&iIe(f);if(!p){let y=await bj(o,c,u,d,l,!1),E=O4t(y);if(p=String(E?.url||"").trim(),p){r.downloadUrlSource="fresh";let A=await Ukt(p,h);A.ok?hon(f,p):(Gn("proxy fresh original url invalid",{cacheKey:f,status:A.status,message:A.message||""}),p="")}}if(!p){r.statusCode=404,r.error="\u539F\u753B\u5730\u5740\u83B7\u53D6\u5931\u8D25",t.sent||t.code(404).send({error:"\u539F\u753B\u5730\u5740\u83B7\u53D6\u5931\u8D25"});return}if(r.downloadUrlAudience=li(String(Je.get("appAuth")||Je.get("auth")||"")),String(e.params.flag||"").trim()==="redirect"){r.statusCode=302,t.redirect(p);return}let g=yo(await e.server.db.getObjectDefault("/xunlei/settings",{chunkSize:512*1024,poolSize:4,useMultithread:!0,timeout:1e3*15}),{chunkSize:512*1024,poolSize:4,useMultithread:!0,timeout:1e3*15});if(!g.useMultithread){t.redirect(p);return}let _=Number(l||0);try{return t.headers({"accept-ranges":"bytes","cache-control":"no-store","content-type":mon(d)}),await Kc(e,t,p,f,h,{chunkSize:g.chunkSize,poolSize:g.poolSize,timeout:g.timeout},Number.isFinite(_)&&_>0?_:null,!0)}catch(y){r.error=y?.message||String(y),console.error("[xunlei proxy] chunkStream error, clearing cache:",y.message||y),iIe(f),t.sent||t.redirect(p)}}catch(s){r.error=s?.message||String(s),console.error("[xunlei proxy] error:",s.message||s),t.sent||t.code(500).send({error:s.message||"xunlei proxy error"})}finally{r.elapsedMs=Date.now()-n,r.statusCode=r.statusCode||Number(t?.statusCode||0),don(r)}}async function U4t(e,{shareId:t="",fileId:r="",passCodeToken:n="",fileName:s="",fileSize:i="",clean:a=!0}={}){await Qc(e);let o={shareId:t,fileId:r,fileName:s,fileSize:i,authAudience:li(Je.get("auth")),appAuthAudience:li(Je.get("appAuth")),userId:Je.get("userId")||"",hasRefreshToken:!!Je.get("refreshToken")},c="";try{c=await OT(),o.resolvedAppAuthAudience=li(c),o.hasResolvedAppAuth=!!c}catch(l){return o.getAppAuthError=Xh(l),o}if(!c){let l=!1;try{let d=await ix(OE,fj,CT);o.appRefreshAttempt={ok:!!d,audience:li(d)}}catch(d){o.appRefreshAttempt={ok:!1,error:Xh(d)}}try{let d=await ix(Yd,Ykt,_j);o.webRefreshAttempt={ok:!!d,audience:li(d)},l=!!d}catch(d){o.webRefreshAttempt={ok:!1,error:Xh(d)}}if(l)try{let d=await ix(OE,fj,CT);o.appRefreshAfterWebAttempt={ok:!!d,audience:li(d)}}catch(d){o.appRefreshAfterWebAttempt={ok:!1,error:Xh(d)}}}let u="";try{u=await M4t({shareId:t,fileId:r,passCodeToken:n,fileName:s,fileSize:i,clean:a}),o.savedFileId=u}catch(l){return o.saveError=Xh(l),o}try{o.folderFiles=(await L4t()).map(l=>({id:l?.id||"",name:l?.name||"",size:l?.size||0,phase:l?.phase||""}))}catch(l){o.listFolderFilesError=Xh(l)}if(!u)return o;o.usages=[];for(let l of["FETCH","","CONSUME","PLAY","DISPLAY"])try{let d=await vIe(u,l),f=yIe(d||{},s),h=N4t(f),p=O4t(f);o.usages.push({usage:l||"DEFAULT",linkTypes:Object.keys(d?.links||{}),links:Object.fromEntries(Object.entries(d?.links||{}).map(([m,g])=>[m,{url:g?.url||""}])),hasWebContentLink:!!d?.web_content_link,webContentLink:d?.web_content_link||"",mediaCount:Array.isArray(d?.medias)?d.medias.length:0,medias:Array.isArray(d?.medias)?d.medias.map(m=>({resolutionName:m?.resolution_name||"",mediaName:m?.media_name||"",isOrigin:!!m?.is_origin,width:Number(m?.video?.width||0),height:Number(m?.video?.height||0),codec:m?.video?.codec||"",linkUrl:m?.link?.url||""})):[],entryCount:f.length/2,labels:f.filter((m,g)=>g%2===0),entries:h,pickedOriginalEntry:p})}catch(d){o.usages.push({usage:l||"DEFAULT",error:Xh(d)})}return o}async function F4t(e){await Qc(e);let t=String(js.username||"").trim(),r=String(js.password||"").trim(),n=Qd(t),s={username:n.account,hasPassword:!!r,authAudience:li(Je.get("auth")),appAuthAudience:li(Je.get("appAuth")),userId:Je.get("userId")||"",hasRefreshToken:!!Je.get("refreshToken"),creditKey:String(Je.get("creditKey")||"").trim()};try{let o=await Tj(n.account,r);s.webSignin={ok:!0,audience:li(o.auth),userId:o.userId,hasRefreshToken:!!o.refreshToken}}catch(o){s.webSignin={ok:!1,error:Xh(o)}}s.appSigninAttempts=[];let i=[],a=String(Je.get("creditKey")||"").trim();a&&i.push(a),i.push("");for(let o of[...new Set(i)]){let c={creditKey:o};try{let u=await gIe(n.account,r,o);c.coreLogin={ok:!0,sessionId:u};let l=await _Ie(n.account,u),d=await vj(l);c.signInWithSessionToken={ok:!!d,audience:li(d)};try{await S4(d),c.validatePanAuthState={ok:!0}}catch(f){c.validatePanAuthState={ok:!1,error:Xh(f)}}}catch(u){c.error=Xh(u)}s.appSigninAttempts.push(c)}return s}async function $4t(e,t){t&&await Qc(t);let r=C4t(e);if(!r)return[];let n=await scn(r);if(!n?.length)return[];let s=await lt("xunlei");return Eo(s,n)}var uIe,Gkt,DE,d0,ox,Yd,Ykt,lIe,nx,cx,Qkt,xT,zkt,Wan,mj,Xan,Jan,Zan,gj,eon,Wkt,lj,ton,Xkt,wT,ron,non,ux,_j,OE,fj,Jkt,CT,Zkt,e4t,t4t,aIe,son,ion,kkt,aon,oon,con,uon,lon,EEs,E4,sx,Bkt,js,Ll,hj,pj,dIe,Je,Ij=oe(()=>{kr();uIe=we(ki(),1),Gkt=we(tce(),1);uT();Cs();Fa();ju();Bi();xl();a0();jh();uj();sIe();qd();DE="https://xluser-ssl.xunlei.com/",d0="https://api-pan.xunlei.com/",ox="Xp6vsxz_7IYVw2BB",Yd="XW-G4v1H72tgfJym",Ykt="Qbaferw2knfQKqxa25EYJGtZ2_6755CMwzXBN3ctW54",lIe="Xqp0kJBXWhwaTpB6",nx="1bf91caf40093318e8040916eb7ad16a",cx="652c6bb3cacdb4b80e852dfc3cb3cca4",Qkt="Xp6vsy4tN9toTVdMSpomVdXpRmES",xT="8.31.0.9726",zkt="3.1.5",Wan="3.1.1",mj="com.xunlei.downloadprovider",Xan="ThunderPanPlugin",Jan="1.ee2cef5f061a7cdf4374df81b370d2ec",Zan="1.0eada0deeeaac52a6376f2e167fa9f29",gj="40",eon="34a062aaa22f906fca4fefe9fb3a3021",Wkt="301",lj="10",ton="512000",Xkt=`ANDROID-${mj}`,wT="ANDROID-com.xunlei.downloadprovider/8.31.0.9726 netWorkType/5G appid/40 deviceName/Xiaomi_M2004j7ac deviceModel/M2004J7AC OSVersion/12 protocolVersion/301 platformVersion/10 sdkVersion/512000 Oauth2Client/0.9 (Linux 4_14_186-perf-gddfs8vbb238b) (JAVA 0)",ron="android-ok-http-client/xl-acc-sdk/version-5.0.12.512000",non="Dalvik/2.1.0 (Linux; U; Android 12; M2004J7AC Build/SP1A.210812.016)",ux="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",_j="thunder/12.4.4.3740 Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.215 XDASKernel/22.3.27 Safari/537.36",OE=ox,fj=Qkt,Jkt=wT,CT=non,Zkt={"User-Agent":CT},e4t="pan.xunlei.com",t4t="1.92.9",aIe=lIe,son=e4t,ion=["9uJNVj/wLmdwKrJaVj/omlQ","Oz64Lp0GigmChHMf/6TNfxx7O9PyopcczMsnf","Eb+L7Ce+Ej48u","jKY0","ASr0zCl6v8W4aidjPK5KHd1Lq3t+vBFf41dqv5+fnOd","wQlozdg6r1qxh0eRmt3QgNXOvSZO6q/GXK","gmirk+ciAvIgA/cxUUCema47jr/YToixTT+Q6O","5IiCoM9B1/788ntB","P07JH0h6qoM6TSUAK2aL9T5s2QBVeY9JWvalf","+oK0AN"],kkt="CatVodOpen",aon="xlaccsdk01://xunlei.com/callback?state=harbor",oon=["QG3/GhopO+5+T","1Sv94+ANND3lDmmw","q2eTxRva8b3B5d","m2","VIc5CZRBMU71ENfbOh0+RgWIuzLy","66M8Wpw6nkBEekOtL6e","N0rucK7S8W/vrRkfPto5urIJJS8dVY0S","oLAR7pdUVUAp9xcuHWzrU057aUhdCJrt","6lxcykBSsfI//GR9","r50cz+1I4gbU/fk8","tdwzrTc4SNFC4marNGTgf05flC85A","qvNVUDFjfsOMqvdi2gB8gCvtaJAIqxXs"],con=/https?:\/\/pan\.xunlei\.com\/s\/([^?#/]+)(?:\?[^#]*?(?:pwd|passcode|password)=([^&#]+))?/i,uon=60,lon=60*1e3,EEs=64*1024,E4=null,sx={},Bkt=!1,js={username:"",password:""},Ll=null,hj=Hs("xunlei.saveFileId",{maxSize:1e3,ttl:60*60*1e3}),pj=Hs("xunlei.downloading",{maxSize:500,ttl:5*60*1e3}),dIe=new rx(200),Je={get(e){return sx[e]||""},set(e,t){return sx[e]=t||"",E4?E4.push(`/xunlei/${e}`,sx[e]):Promise.resolve()}}});var TIe=S((q4t,Rj)=>{(function(e){"use strict";var t,r=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,n=Math.ceil,s=Math.floor,i="[BigNumber Error] ",a=i+"Number primitive has more than 15 significant digits: ",o=1e14,c=14,u=9007199254740991,l=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],d=1e7,f=1e9;function h(v){var T,C,b,x=Q.prototype={constructor:Q,toString:null,valueOf:null},w=new Q(1),P=20,M=4,L=-7,U=21,Y=-1e7,$=1e7,V=!1,W=1,G=0,se={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},ue="0123456789abcdefghijklmnopqrstuvwxyz",te=!0;function Q(D,H){var K,q,z,Z,ae,ne,ie,X,ce=this;if(!(ce instanceof Q))return new Q(D,H);if(H==null){if(D&&D._isBigNumber===!0){ce.s=D.s,!D.c||D.e>$?ce.c=ce.e=null:D.e=10;ae/=10,Z++);Z>$?ce.c=ce.e=null:(ce.e=Z,ce.c=[D]);return}X=String(D)}else{if(!r.test(X=String(D)))return b(ce,X,ne);ce.s=X.charCodeAt(0)==45?(X=X.slice(1),-1):1}(Z=X.indexOf("."))>-1&&(X=X.replace(".","")),(ae=X.search(/e/i))>0?(Z<0&&(Z=ae),Z+=+X.slice(ae+1),X=X.substring(0,ae)):Z<0&&(Z=X.length)}else{if(_(H,2,ue.length,"Base"),H==10&&te)return ce=new Q(D),k(ce,P+ce.e+1,M);if(X=String(D),ne=typeof D=="number"){if(D*0!=0)return b(ce,X,ne,H);if(ce.s=1/D<0?(X=X.slice(1),-1):1,Q.DEBUG&&X.replace(/^0\.0*|\./,"").length>15)throw Error(a+D)}else ce.s=X.charCodeAt(0)===45?(X=X.slice(1),-1):1;for(K=ue.slice(0,H),Z=ae=0,ie=X.length;aeZ){Z=ie;continue}}else if(!z&&(X==X.toUpperCase()&&(X=X.toLowerCase())||X==X.toLowerCase()&&(X=X.toUpperCase()))){z=!0,ae=-1,Z=0;continue}return b(ce,String(D),ne,H)}ne=!1,X=C(X,H,10,ce.s),(Z=X.indexOf("."))>-1?X=X.replace(".",""):Z=X.length}for(ae=0;X.charCodeAt(ae)===48;ae++);for(ie=X.length;X.charCodeAt(--ie)===48;);if(X=X.slice(ae,++ie)){if(ie-=ae,ne&&Q.DEBUG&&ie>15&&(D>u||D!==s(D)))throw Error(a+ce.s*D);if((Z=Z-ae-1)>$)ce.c=ce.e=null;else if(Z=-f&&z<=f&&z===s(z)){if(q[0]===0){if(z===0&&q.length===1)return!0;break e}if(H=(z+1)%c,H<1&&(H+=c),String(q[0]).length==H){for(H=0;H=o||K!==s(K))break e;if(K!==0)return!0}}}else if(q===null&&z===null&&(Z===null||Z===1||Z===-1))return!0;throw Error(i+"Invalid BigNumber: "+D)},Q.maximum=Q.max=function(){return de(arguments,-1)},Q.minimum=Q.min=function(){return de(arguments,1)},Q.random=function(){var D=9007199254740992,H=Math.random()*D&2097151?function(){return s(Math.random()*D)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(K){var q,z,Z,ae,ne,ie=0,X=[],ce=new Q(w);if(K==null?K=P:_(K,0,f),ae=n(K/c),V)if(crypto.getRandomValues){for(q=crypto.getRandomValues(new Uint32Array(ae*=2));ie>>11),ne>=9e15?(z=crypto.getRandomValues(new Uint32Array(2)),q[ie]=z[0],q[ie+1]=z[1]):(X.push(ne%1e14),ie+=2);ie=ae/2}else if(crypto.randomBytes){for(q=crypto.randomBytes(ae*=7);ie=9e15?crypto.randomBytes(7).copy(q,ie):(X.push(ne%1e14),ie+=7);ie=ae/7}else throw V=!1,Error(i+"crypto unavailable");if(!V)for(;ie=10;ne/=10,ie++);iez-1&&(ne[ae+1]==null&&(ne[ae+1]=0),ne[ae+1]+=ne[ae]/z|0,ne[ae]%=z)}return ne.reverse()}return function(K,q,z,Z,ae){var ne,ie,X,ce,me,be,Ne,De,je=K.indexOf("."),Ae=P,ge=M;for(je>=0&&(ce=G,G=0,K=K.replace(".",""),De=new Q(q),be=De.pow(K.length-je),G=ce,De.c=H(A(m(be.c),be.e,"0"),10,z,D),De.e=De.c.length),Ne=H(K,q,z,ae?(ne=ue,D):(ne=D,ue)),X=ce=Ne.length;Ne[--ce]==0;Ne.pop());if(!Ne[0])return ne.charAt(0);if(je<0?--X:(be.c=Ne,be.e=X,be.s=Z,be=T(be,De,Ae,ge,z),Ne=be.c,me=be.r,X=be.e),ie=X+Ae+1,je=Ne[ie],ce=z/2,me=me||ie<0||Ne[ie+1]!=null,me=ge<4?(je!=null||me)&&(ge==0||ge==(be.s<0?3:2)):je>ce||je==ce&&(ge==4||me||ge==6&&Ne[ie-1]&1||ge==(be.s<0?8:7)),ie<1||!Ne[0])K=me?A(ne.charAt(1),-Ae,ne.charAt(0)):ne.charAt(0);else{if(Ne.length=ie,me)for(--z;++Ne[--ie]>z;)Ne[ie]=0,ie||(++X,Ne=[1].concat(Ne));for(ce=Ne.length;!Ne[--ce];);for(je=0,K="";je<=ce;K+=ne.charAt(Ne[je++]));K=A(K,X,ne.charAt(0))}return K}}(),T=function(){function D(q,z,Z){var ae,ne,ie,X,ce=0,me=q.length,be=z%d,Ne=z/d|0;for(q=q.slice();me--;)ie=q[me]%d,X=q[me]/d|0,ae=Ne*ie+X*be,ne=be*ie+ae%d*d+ce,ce=(ne/Z|0)+(ae/d|0)+Ne*X,q[me]=ne%Z;return ce&&(q=[ce].concat(q)),q}function H(q,z,Z,ae){var ne,ie;if(Z!=ae)ie=Z>ae?1:-1;else for(ne=ie=0;nez[ne]?1:-1;break}return ie}function K(q,z,Z,ae){for(var ne=0;Z--;)q[Z]-=ne,ne=q[Z]1;q.splice(0,1));}return function(q,z,Z,ae,ne){var ie,X,ce,me,be,Ne,De,je,Ae,ge,Ee,_e,ve,Re,Me,Ce,$e,Qe=q.s==z.s?1:-1,Ue=q.c,ze=z.c;if(!Ue||!Ue[0]||!ze||!ze[0])return new Q(!q.s||!z.s||(Ue?ze&&Ue[0]==ze[0]:!ze)?NaN:Ue&&Ue[0]==0||!ze?Qe*0:Qe/0);for(je=new Q(Qe),Ae=je.c=[],X=q.e-z.e,Qe=Z+X+1,ne||(ne=o,X=p(q.e/c)-p(z.e/c),Qe=Qe/c|0),ce=0;ze[ce]==(Ue[ce]||0);ce++);if(ze[ce]>(Ue[ce]||0)&&X--,Qe<0)Ae.push(1),me=!0;else{for(Re=Ue.length,Ce=ze.length,ce=0,Qe+=2,be=s(ne/(ze[0]+1)),be>1&&(ze=D(ze,be,ne),Ue=D(Ue,be,ne),Ce=ze.length,Re=Ue.length),ve=Ce,ge=Ue.slice(0,Ce),Ee=ge.length;Ee=ne/2&&Me++;do{if(be=0,ie=H(ze,ge,Ce,Ee),ie<0){if(_e=ge[0],Ce!=Ee&&(_e=_e*ne+(ge[1]||0)),be=s(_e/Me),be>1)for(be>=ne&&(be=ne-1),Ne=D(ze,be,ne),De=Ne.length,Ee=ge.length;H(Ne,ge,De,Ee)==1;)be--,K(Ne,Ce=10;Qe/=10,ce++);k(je,Z+(je.e=ce+X*c-1)+1,ae,me)}else je.e=X,je.r=+me;return je}}();function ee(D,H,K,q){var z,Z,ae,ne,ie;if(K==null?K=M:_(K,0,8),!D.c)return D.toString();if(z=D.c[0],ae=D.e,H==null)ie=m(D.c),ie=q==1||q==2&&(ae<=L||ae>=U)?E(ie,ae):A(ie,ae,"0");else if(D=k(new Q(D),H,K),Z=D.e,ie=m(D.c),ne=ie.length,q==1||q==2&&(H<=Z||Z<=L)){for(;neae),ie=A(ie,Z,"0"),Z+1>ne){if(--H>0)for(ie+=".";H--;ie+="0");}else if(H+=Z-ne,H>0)for(Z+1==ne&&(ie+=".");H--;ie+="0");return D.s<0&&z?"-"+ie:ie}function de(D,H){for(var K,q,z=1,Z=new Q(D[0]);z=10;z/=10,q++);return(K=q+K*c-1)>$?D.c=D.e=null:K=10;ne/=10,z++);if(Z=H-z,Z<0)Z+=c,ae=H,ie=me[X=0],ce=s(ie/be[z-ae-1]%10);else if(X=n((Z+1)/c),X>=me.length)if(q){for(;me.length<=X;me.push(0));ie=ce=0,z=1,Z%=c,ae=Z-c+1}else break e;else{for(ie=ne=me[X],z=1;ne>=10;ne/=10,z++);Z%=c,ae=Z-c+z,ce=ae<0?0:s(ie/be[z-ae-1]%10)}if(q=q||H<0||me[X+1]!=null||(ae<0?ie:ie%be[z-ae-1]),q=K<4?(ce||q)&&(K==0||K==(D.s<0?3:2)):ce>5||ce==5&&(K==4||q||K==6&&(Z>0?ae>0?ie/be[z-ae]:0:me[X-1])%10&1||K==(D.s<0?8:7)),H<1||!me[0])return me.length=0,q?(H-=D.e+1,me[0]=be[(c-H%c)%c],D.e=-H||0):me[0]=D.e=0,D;if(Z==0?(me.length=X,ne=1,X--):(me.length=X+1,ne=be[c-Z],me[X]=ae>0?s(ie/be[z-ae]%be[ae])*ne:0),q)for(;;)if(X==0){for(Z=1,ae=me[0];ae>=10;ae/=10,Z++);for(ae=me[0]+=ne,ne=1;ae>=10;ae/=10,ne++);Z!=ne&&(D.e++,me[0]==o&&(me[0]=1));break}else{if(me[X]+=ne,me[X]!=o)break;me[X--]=0,ne=1}for(Z=me.length;me[--Z]===0;me.pop());}D.e>$?D.c=D.e=null:D.e=U?E(H,K):A(H,K,"0"),D.s<0?"-"+H:H)}return x.absoluteValue=x.abs=function(){var D=new Q(this);return D.s<0&&(D.s=1),D},x.comparedTo=function(D,H){return g(this,new Q(D,H))},x.decimalPlaces=x.dp=function(D,H){var K,q,z,Z=this;if(D!=null)return _(D,0,f),H==null?H=M:_(H,0,8),k(new Q(Z),D+Z.e+1,H);if(!(K=Z.c))return null;if(q=((z=K.length-1)-p(this.e/c))*c,z=K[z])for(;z%10==0;z/=10,q--);return q<0&&(q=0),q},x.dividedBy=x.div=function(D,H){return T(this,new Q(D,H),P,M)},x.dividedToIntegerBy=x.idiv=function(D,H){return T(this,new Q(D,H),0,1)},x.exponentiatedBy=x.pow=function(D,H){var K,q,z,Z,ae,ne,ie,X,ce,me=this;if(D=new Q(D),D.c&&!D.isInteger())throw Error(i+"Exponent not an integer: "+J(D));if(H!=null&&(H=new Q(H)),ne=D.e>14,!me.c||!me.c[0]||me.c[0]==1&&!me.e&&me.c.length==1||!D.c||!D.c[0])return ce=new Q(Math.pow(+J(me),ne?D.s*(2-y(D)):+J(D))),H?ce.mod(H):ce;if(ie=D.s<0,H){if(H.c?!H.c[0]:!H.s)return new Q(NaN);q=!ie&&me.isInteger()&&H.isInteger(),q&&(me=me.mod(H))}else{if(D.e>9&&(me.e>0||me.e<-1||(me.e==0?me.c[0]>1||ne&&me.c[1]>=24e7:me.c[0]<8e13||ne&&me.c[0]<=9999975e7)))return Z=me.s<0&&y(D)?-0:0,me.e>-1&&(Z=1/Z),new Q(ie?1/Z:Z);G&&(Z=n(G/c+2))}for(ne?(K=new Q(.5),ie&&(D.s=1),X=y(D)):(z=Math.abs(+J(D)),X=z%2),ce=new Q(w);;){if(X){if(ce=ce.times(me),!ce.c)break;Z?ce.c.length>Z&&(ce.c.length=Z):q&&(ce=ce.mod(H))}if(z){if(z=s(z/2),z===0)break;X=z%2}else if(D=D.times(K),k(D,D.e+1,1),D.e>14)X=y(D);else{if(z=+J(D),z===0)break;X=z%2}me=me.times(me),Z?me.c&&me.c.length>Z&&(me.c.length=Z):q&&(me=me.mod(H))}return q?ce:(ie&&(ce=w.div(ce)),H?ce.mod(H):Z?k(ce,G,M,ae):ce)},x.integerValue=function(D){var H=new Q(this);return D==null?D=M:_(D,0,8),k(H,H.e+1,D)},x.isEqualTo=x.eq=function(D,H){return g(this,new Q(D,H))===0},x.isFinite=function(){return!!this.c},x.isGreaterThan=x.gt=function(D,H){return g(this,new Q(D,H))>0},x.isGreaterThanOrEqualTo=x.gte=function(D,H){return(H=g(this,new Q(D,H)))===1||H===0},x.isInteger=function(){return!!this.c&&p(this.e/c)>this.c.length-2},x.isLessThan=x.lt=function(D,H){return g(this,new Q(D,H))<0},x.isLessThanOrEqualTo=x.lte=function(D,H){return(H=g(this,new Q(D,H)))===-1||H===0},x.isNaN=function(){return!this.s},x.isNegative=function(){return this.s<0},x.isPositive=function(){return this.s>0},x.isZero=function(){return!!this.c&&this.c[0]==0},x.minus=function(D,H){var K,q,z,Z,ae=this,ne=ae.s;if(D=new Q(D,H),H=D.s,!ne||!H)return new Q(NaN);if(ne!=H)return D.s=-H,ae.plus(D);var ie=ae.e/c,X=D.e/c,ce=ae.c,me=D.c;if(!ie||!X){if(!ce||!me)return ce?(D.s=-H,D):new Q(me?ae:NaN);if(!ce[0]||!me[0])return me[0]?(D.s=-H,D):new Q(ce[0]?ae:M==3?-0:0)}if(ie=p(ie),X=p(X),ce=ce.slice(),ne=ie-X){for((Z=ne<0)?(ne=-ne,z=ce):(X=ie,z=me),z.reverse(),H=ne;H--;z.push(0));z.reverse()}else for(q=(Z=(ne=ce.length)<(H=me.length))?ne:H,ne=H=0;H0)for(;H--;ce[K++]=0);for(H=o-1;q>ne;){if(ce[--q]=0;){for(K=0,be=_e[z]%Ae,Ne=_e[z]/Ae|0,ae=ie,Z=z+ae;Z>z;)X=Ee[--ae]%Ae,ce=Ee[ae]/Ae|0,ne=Ne*X+ce*be,X=be*X+ne%Ae*Ae+De[Z]+K,K=(X/je|0)+(ne/Ae|0)+Ne*ce,De[Z--]=X%je;De[Z]=K}return K?++q:De.splice(0,1),B(D,De,q)},x.negated=function(){var D=new Q(this);return D.s=-D.s||null,D},x.plus=function(D,H){var K,q=this,z=q.s;if(D=new Q(D,H),H=D.s,!z||!H)return new Q(NaN);if(z!=H)return D.s=-H,q.minus(D);var Z=q.e/c,ae=D.e/c,ne=q.c,ie=D.c;if(!Z||!ae){if(!ne||!ie)return new Q(z/0);if(!ne[0]||!ie[0])return ie[0]?D:new Q(ne[0]?q:z*0)}if(Z=p(Z),ae=p(ae),ne=ne.slice(),z=Z-ae){for(z>0?(ae=Z,K=ie):(z=-z,K=ne),K.reverse();z--;K.push(0));K.reverse()}for(z=ne.length,H=ie.length,z-H<0&&(K=ie,ie=ne,ne=K,H=z),z=0;H;)z=(ne[--H]=ne[H]+ie[H]+z)/o|0,ne[H]=o===ne[H]?0:ne[H]%o;return z&&(ne=[z].concat(ne),++ae),B(D,ne,ae)},x.precision=x.sd=function(D,H){var K,q,z,Z=this;if(D!=null&&D!==!!D)return _(D,1,f),H==null?H=M:_(H,0,8),k(new Q(Z),D,H);if(!(K=Z.c))return null;if(z=K.length-1,q=z*c+1,z=K[z]){for(;z%10==0;z/=10,q--);for(z=K[0];z>=10;z/=10,q++);}return D&&Z.e+1>q&&(q=Z.e+1),q},x.shiftedBy=function(D){return _(D,-u,u),this.times("1e"+D)},x.squareRoot=x.sqrt=function(){var D,H,K,q,z,Z=this,ae=Z.c,ne=Z.s,ie=Z.e,X=P+4,ce=new Q("0.5");if(ne!==1||!ae||!ae[0])return new Q(!ne||ne<0&&(!ae||ae[0])?NaN:ae?Z:1/0);if(ne=Math.sqrt(+J(Z)),ne==0||ne==1/0?(H=m(ae),(H.length+ie)%2==0&&(H+="0"),ne=Math.sqrt(+H),ie=p((ie+1)/2)-(ie<0||ie%2),ne==1/0?H="5e"+ie:(H=ne.toExponential(),H=H.slice(0,H.indexOf("e")+1)+ie),K=new Q(H)):K=new Q(ne+""),K.c[0]){for(ie=K.e,ne=ie+X,ne<3&&(ne=0);;)if(z=K,K=ce.times(z.plus(T(Z,z,X,1))),m(z.c).slice(0,ne)===(H=m(K.c)).slice(0,ne))if(K.e0&&De>0){for(Z=De%ne||ne,ce=Ne.substr(0,Z);Z0&&(ce+=X+Ne.slice(Z)),be&&(ce="-"+ce)}q=me?ce+(K.decimalSeparator||"")+((ie=+K.fractionGroupSize)?me.replace(new RegExp("\\d{"+ie+"}\\B","g"),"$&"+(K.fractionGroupSeparator||"")):me):ce}return(K.prefix||"")+q+(K.suffix||"")},x.toFraction=function(D){var H,K,q,z,Z,ae,ne,ie,X,ce,me,be,Ne=this,De=Ne.c;if(D!=null&&(ne=new Q(D),!ne.isInteger()&&(ne.c||ne.s!==1)||ne.lt(w)))throw Error(i+"Argument "+(ne.isInteger()?"out of range: ":"not an integer: ")+J(ne));if(!De)return new Q(Ne);for(H=new Q(w),X=K=new Q(w),q=ie=new Q(w),be=m(De),Z=H.e=be.length-Ne.e-1,H.c[0]=l[(ae=Z%c)<0?c+ae:ae],D=!D||ne.comparedTo(H)>0?Z>0?H:X:ne,ae=$,$=1/0,ne=new Q(be),ie.c[0]=0;ce=T(ne,H,0,1),z=K.plus(ce.times(q)),z.comparedTo(D)!=1;)K=q,q=z,X=ie.plus(ce.times(z=X)),ie=z,H=ne.minus(ce.times(z=H)),ne=z;return z=T(D.minus(K),q,0,1),ie=ie.plus(z.times(X)),K=K.plus(z.times(q)),ie.s=X.s=Ne.s,Z=Z*2,me=T(X,q,Z,M).minus(Ne).abs().comparedTo(T(ie,K,Z,M).minus(Ne).abs())<1?[X,q]:[ie,K],$=ae,me},x.toNumber=function(){return+J(this)},x.toPrecision=function(D,H){return D!=null&&_(D,1,f),ee(this,D,H,2)},x.toString=function(D){var H,K=this,q=K.s,z=K.e;return z===null?q?(H="Infinity",q<0&&(H="-"+H)):H="NaN":(D==null?H=z<=L||z>=U?E(m(K.c),z):A(m(K.c),z,"0"):D===10&&te?(K=k(new Q(K),P+z+1,M),H=A(m(K.c),K.e,"0")):(_(D,2,ue.length,"Base"),H=C(A(m(K.c),z,"0"),10,D,q,!0)),q<0&&K.c[0]&&(H="-"+H)),H},x.valueOf=x.toJSON=function(){return J(this)},x._isBigNumber=!0,v!=null&&Q.set(v),Q}function p(v){var T=v|0;return v>0||v===T?T:T-1}function m(v){for(var T,C,b=1,x=v.length,w=v[0]+"";bU^C?1:-1;for(M=(L=x.length)<(U=w.length)?L:U,P=0;Pw[P]^C?1:-1;return L==U?0:L>U^C?1:-1}function _(v,T,C,b){if(vC||v!==s(v))throw Error(i+(b||"Argument")+(typeof v=="number"?vC?" out of range: ":" not an integer: ":" not a primitive number: ")+String(v))}function y(v){var T=v.c.length-1;return p(v.e/c)==T&&v.c[T]%2!=0}function E(v,T){return(v.length>1?v.charAt(0)+"."+v.slice(1):v)+(T<0?"e":"e+")+T}function A(v,T,C){var b,x;if(T<0){for(x=C+".";++T;x+=C);v=x+v}else if(b=v.length,++T>b){for(x=C,T-=b;--T;x+=C);v+=x}else T{var H4t=TIe(),V4t=j4t.exports;(function(){"use strict";function e(u){return u<10?"0"+u:u}var t=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n,s,i={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},a;function o(u){return r.lastIndex=0,r.test(u)?'"'+u.replace(r,function(l){var d=i[l];return typeof d=="string"?d:"\\u"+("0000"+l.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+u+'"'}function c(u,l){var d,f,h,p,m=n,g,_=l[u],y=_!=null&&(_ instanceof H4t||H4t.isBigNumber(_));switch(_&&typeof _=="object"&&typeof _.toJSON=="function"&&(_=_.toJSON(u)),typeof a=="function"&&(_=a.call(l,u,_)),typeof _){case"string":return y?_:o(_);case"number":return isFinite(_)?String(_):"null";case"boolean":case"null":case"bigint":return String(_);case"object":if(!_)return"null";if(n+=s,g=[],Object.prototype.toString.apply(_)==="[object Array]"){for(p=_.length,d=0;d{var Cj=null,ccn=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,ucn=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/,lcn=function(e){"use strict";var t={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(e!=null){if(e.strict===!0&&(t.strict=!0),e.storeAsString===!0&&(t.storeAsString=!0),t.alwaysParseAsBig=e.alwaysParseAsBig===!0?e.alwaysParseAsBig:!1,t.useNativeBigInt=e.useNativeBigInt===!0?e.useNativeBigInt:!1,typeof e.constructorAction<"u")if(e.constructorAction==="error"||e.constructorAction==="ignore"||e.constructorAction==="preserve")t.constructorAction=e.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${e.constructorAction}`);if(typeof e.protoAction<"u")if(e.protoAction==="error"||e.protoAction==="ignore"||e.protoAction==="preserve")t.protoAction=e.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${e.protoAction}`)}var r,n,s={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:` +`,r:"\r",t:" "},i,a=function(m){throw{name:"SyntaxError",message:m,at:r,text:i}},o=function(m){return m&&m!==n&&a("Expected '"+m+"' instead of '"+n+"'"),n=i.charAt(r),r+=1,n},c=function(){var m,g="";for(n==="-"&&(g="-",o("-"));n>="0"&&n<="9";)g+=n,o();if(n===".")for(g+=".";o()&&n>="0"&&n<="9";)g+=n;if(n==="e"||n==="E")for(g+=n,o(),(n==="-"||n==="+")&&(g+=n,o());n>="0"&&n<="9";)g+=n,o();if(m=+g,!isFinite(m))a("Bad number");else return Cj==null&&(Cj=TIe()),g.length>15?t.storeAsString?g:t.useNativeBigInt?BigInt(g):new Cj(g):t.alwaysParseAsBig?t.useNativeBigInt?BigInt(m):new Cj(m):m},u=function(){var m,g,_="",y;if(n==='"')for(var E=r;o();){if(n==='"')return r-1>E&&(_+=i.substring(E,r-1)),o(),_;if(n==="\\"){if(r-1>E&&(_+=i.substring(E,r-1)),o(),n==="u"){for(y=0,g=0;g<4&&(m=parseInt(o(),16),!!isFinite(m));g+=1)y=y*16+m;_+=String.fromCharCode(y)}else if(typeof s[n]=="string")_+=s[n];else break;E=r}}a("Bad string")},l=function(){for(;n&&n<=" ";)o()},d=function(){switch(n){case"t":return o("t"),o("r"),o("u"),o("e"),!0;case"f":return o("f"),o("a"),o("l"),o("s"),o("e"),!1;case"n":return o("n"),o("u"),o("l"),o("l"),null}a("Unexpected '"+n+"'")},f,h=function(){var m=[];if(n==="["){if(o("["),l(),n==="]")return o("]"),m;for(;n;){if(m.push(f()),l(),n==="]")return o("]"),m;o(","),l()}}a("Bad array")},p=function(){var m,g=Object.create(null);if(n==="{"){if(o("{"),l(),n==="}")return o("}"),g;for(;n;){if(m=u(),l(),o(":"),t.strict===!0&&Object.hasOwnProperty.call(g,m)&&a('Duplicate key "'+m+'"'),ccn.test(m)===!0?t.protoAction==="error"?a("Object contains forbidden prototype property"):t.protoAction==="ignore"?f():g[m]=f():ucn.test(m)===!0?t.constructorAction==="error"?a("Object contains forbidden constructor property"):t.constructorAction==="ignore"?f():g[m]=f():g[m]=f(),l(),n==="}")return o("}"),g;o(","),l()}}a("Bad object")};return f=function(){switch(l(),n){case"{":return p();case"[":return h();case'"':return u();case"-":return c();default:return n>="0"&&n<="9"?c():d()}},function(m,g){var _;return i=m+"",r=0,n=" ",_=f(),l(),n&&a("Syntax error"),typeof g=="function"?function y(E,A){var v,T,C=E[A];return C&&typeof C=="object"&&Object.keys(C).forEach(function(b){T=y(C,b),T!==void 0?C[b]=T:delete C[b]}),g.call(E,A,C)}({"":_},""):_}};G4t.exports=lcn});var W4t=S((SEs,xj)=>{var Q4t=K4t().stringify,z4t=Y4t();xj.exports=function(e){return{parse:z4t(e),stringify:Q4t}};xj.exports.parse=z4t();xj.exports.stringify=Q4t});var wj=S(bIe=>{(function(){bIe.defaults={"0.1":{explicitCharkey:!1,trim:!0,normalize:!0,normalizeTags:!1,attrkey:"@",charkey:"#",explicitArray:!1,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!1,validator:null,xmlns:!1,explicitChildren:!1,childkey:"@@",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,emptyTag:""},"0.2":{explicitCharkey:!1,trim:!1,normalize:!1,normalizeTags:!1,attrkey:"$",charkey:"_",explicitArray:!0,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!0,validator:null,xmlns:!1,explicitChildren:!1,preserveChildrenOrder:!1,childkey:"$$",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,rootName:"root",xmldec:{version:"1.0",encoding:"UTF-8",standalone:!0},doctype:null,renderOpts:{pretty:!0,indent:" ",newline:` +`},headless:!1,chunkSize:1e4,emptyTag:"",cdata:!1}}}).call(bIe)});var tp=S((X4t,PE)=>{(function(){var e,t,r,n,s,i,a,o=[].slice,c={}.hasOwnProperty;e=function(){var u,l,d,f,h,p;if(p=arguments[0],h=2<=arguments.length?o.call(arguments,1):[],s(Object.assign))Object.assign.apply(null,arguments);else for(u=0,d=h.length;u{(function(){var e;Z4t.exports=e=function(){function t(){}return t.prototype.hasFeature=function(r,n){return!0},t.prototype.createDocumentType=function(r,n,s){throw new Error("This DOM method is not implemented.")},t.prototype.createDocument=function(r,n,s){throw new Error("This DOM method is not implemented.")},t.prototype.createHTMLDocument=function(r){throw new Error("This DOM method is not implemented.")},t.prototype.getFeature=function(r,n){throw new Error("This DOM method is not implemented.")},t}()}).call(J4t)});var rBt=S((eBt,tBt)=>{(function(){var e;tBt.exports=e=function(){function t(){}return t.prototype.handleError=function(r){throw new Error(r)},t}()}).call(eBt)});var iBt=S((nBt,sBt)=>{(function(){var e;sBt.exports=e=function(){function t(r){this.arr=r||[]}return Object.defineProperty(t.prototype,"length",{get:function(){return this.arr.length}}),t.prototype.item=function(r){return this.arr[r]||null},t.prototype.contains=function(r){return this.arr.indexOf(r)!==-1},t}()}).call(nBt)});var cBt=S((aBt,oBt)=>{(function(){var e,t,r;t=rBt(),r=iBt(),oBt.exports=e=function(){function n(){var s;this.defaultParams={"canonical-form":!1,"cdata-sections":!1,comments:!1,"datatype-normalization":!1,"element-content-whitespace":!0,entities:!0,"error-handler":new t,infoset:!0,"validate-if-schema":!1,namespaces:!0,"namespace-declarations":!0,"normalize-characters":!1,"schema-location":"","schema-type":"","split-cdata-sections":!0,validate:!1,"well-formed":!0},this.params=s=Object.create(this.defaultParams)}return Object.defineProperty(n.prototype,"parameterNames",{get:function(){return new r(Object.keys(this.defaultParams))}}),n.prototype.getParameter=function(s){return this.params.hasOwnProperty(s)?this.params[s]:null},n.prototype.canSetParameter=function(s,i){return!0},n.prototype.setParameter=function(s,i){return i!=null?this.params[s]=i:delete this.params[s]},n}()}).call(aBt)});var Ui=S((uBt,lBt)=>{(function(){lBt.exports={Element:1,Attribute:2,Text:3,CData:4,EntityReference:5,EntityDeclaration:6,ProcessingInstruction:7,Comment:8,Document:9,DocType:10,DocumentFragment:11,NotationDeclaration:12,Declaration:201,Raw:202,AttributeDeclaration:203,ElementDeclaration:204,Dummy:205}}).call(uBt)});var RIe=S((dBt,fBt)=>{(function(){var e,t,r;e=Ui(),r=kl(),fBt.exports=t=function(){function n(s,i,a){if(this.parent=s,this.parent&&(this.options=this.parent.options,this.stringify=this.parent.stringify),i==null)throw new Error("Missing attribute name. "+this.debugInfo(i));this.name=this.stringify.name(i),this.value=this.stringify.attValue(a),this.type=e.Attribute,this.isId=!1,this.schemaTypeInfo=null}return Object.defineProperty(n.prototype,"nodeType",{get:function(){return this.type}}),Object.defineProperty(n.prototype,"ownerElement",{get:function(){return this.parent}}),Object.defineProperty(n.prototype,"textContent",{get:function(){return this.value},set:function(s){return this.value=s||""}}),Object.defineProperty(n.prototype,"namespaceURI",{get:function(){return""}}),Object.defineProperty(n.prototype,"prefix",{get:function(){return""}}),Object.defineProperty(n.prototype,"localName",{get:function(){return this.name}}),Object.defineProperty(n.prototype,"specified",{get:function(){return!0}}),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(s){return this.options.writer.attribute(this,this.options.writer.filterOptions(s))},n.prototype.debugInfo=function(s){return s=s||this.name,s==null?"parent: <"+this.parent.name+">":"attribute: {"+s+"}, parent: <"+this.parent.name+">"},n.prototype.isEqualNode=function(s){return!(s.namespaceURI!==this.namespaceURI||s.prefix!==this.prefix||s.localName!==this.localName||s.value!==this.value)},n}()}).call(dBt)});var Nj=S((hBt,pBt)=>{(function(){var e;pBt.exports=e=function(){function t(r){this.nodes=r}return Object.defineProperty(t.prototype,"length",{get:function(){return Object.keys(this.nodes).length||0}}),t.prototype.clone=function(){return this.nodes=null},t.prototype.getNamedItem=function(r){return this.nodes[r]},t.prototype.setNamedItem=function(r){var n;return n=this.nodes[r.nodeName],this.nodes[r.nodeName]=r,n||null},t.prototype.removeNamedItem=function(r){var n;return n=this.nodes[r],delete this.nodes[r],n||null},t.prototype.item=function(r){return this.nodes[Object.keys(this.nodes)[r]]||null},t.prototype.getNamedItemNS=function(r,n){throw new Error("This DOM method is not implemented.")},t.prototype.setNamedItemNS=function(r){throw new Error("This DOM method is not implemented.")},t.prototype.removeNamedItemNS=function(r,n){throw new Error("This DOM method is not implemented.")},t}()}).call(hBt)});var Oj=S((mBt,gBt)=>{(function(){var e,t,r,n,s,i,a,o,c,u=function(d,f){for(var h in f)l.call(f,h)&&(d[h]=f[h]);function p(){this.constructor=d}return p.prototype=f.prototype,d.prototype=new p,d.__super__=f.prototype,d},l={}.hasOwnProperty;c=tp(),o=c.isObject,a=c.isFunction,i=c.getValue,s=kl(),e=Ui(),t=RIe(),n=Nj(),gBt.exports=r=function(d){u(f,d);function f(h,p,m){var g,_,y,E;if(f.__super__.constructor.call(this,h),p==null)throw new Error("Missing element name. "+this.debugInfo());if(this.name=this.stringify.name(p),this.type=e.Element,this.attribs={},this.schemaTypeInfo=null,m!=null&&this.attribute(m),h.type===e.Document&&(this.isRoot=!0,this.documentObject=h,h.rootObject=this,h.children)){for(E=h.children,_=0,y=E.length;_=g;p=0<=g?++m:--m)if(!this.attribs[p].isEqualNode(h.attribs[p]))return!1;return!0},f}(s)}).call(mBt)});var T4=S((_Bt,ABt)=>{(function(){var e,t,r=function(s,i){for(var a in i)n.call(i,a)&&(s[a]=i[a]);function o(){this.constructor=s}return o.prototype=i.prototype,s.prototype=new o,s.__super__=i.prototype,s},n={}.hasOwnProperty;t=kl(),ABt.exports=e=function(s){r(i,s);function i(a){i.__super__.constructor.call(this,a),this.value=""}return Object.defineProperty(i.prototype,"data",{get:function(){return this.value},set:function(a){return this.value=a||""}}),Object.defineProperty(i.prototype,"length",{get:function(){return this.value.length}}),Object.defineProperty(i.prototype,"textContent",{get:function(){return this.value},set:function(a){return this.value=a||""}}),i.prototype.clone=function(){return Object.create(this)},i.prototype.substringData=function(a,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},i.prototype.appendData=function(a){throw new Error("This DOM method is not implemented."+this.debugInfo())},i.prototype.insertData=function(a,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},i.prototype.deleteData=function(a,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},i.prototype.replaceData=function(a,o,c){throw new Error("This DOM method is not implemented."+this.debugInfo())},i.prototype.isEqualNode=function(a){return!(!i.__super__.isEqualNode.apply(this,arguments).isEqualNode(a)||a.data!==this.data)},i}(t)}).call(_Bt)});var Dj=S((EBt,yBt)=>{(function(){var e,t,r,n=function(i,a){for(var o in a)s.call(a,o)&&(i[o]=a[o]);function c(){this.constructor=i}return c.prototype=a.prototype,i.prototype=new c,i.__super__=a.prototype,i},s={}.hasOwnProperty;e=Ui(),r=T4(),yBt.exports=t=function(i){n(a,i);function a(o,c){if(a.__super__.constructor.call(this,o),c==null)throw new Error("Missing CDATA text. "+this.debugInfo());this.name="#cdata-section",this.type=e.CData,this.value=this.stringify.cdata(c)}return a.prototype.clone=function(){return Object.create(this)},a.prototype.toString=function(o){return this.options.writer.cdata(this,this.options.writer.filterOptions(o))},a}(r)}).call(EBt)});var Pj=S((vBt,SBt)=>{(function(){var e,t,r,n=function(i,a){for(var o in a)s.call(a,o)&&(i[o]=a[o]);function c(){this.constructor=i}return c.prototype=a.prototype,i.prototype=new c,i.__super__=a.prototype,i},s={}.hasOwnProperty;e=Ui(),t=T4(),SBt.exports=r=function(i){n(a,i);function a(o,c){if(a.__super__.constructor.call(this,o),c==null)throw new Error("Missing comment text. "+this.debugInfo());this.name="#comment",this.type=e.Comment,this.value=this.stringify.comment(c)}return a.prototype.clone=function(){return Object.create(this)},a.prototype.toString=function(o){return this.options.writer.comment(this,this.options.writer.filterOptions(o))},a}(t)}).call(vBt)});var Lj=S((TBt,bBt)=>{(function(){var e,t,r,n,s=function(a,o){for(var c in o)i.call(o,c)&&(a[c]=o[c]);function u(){this.constructor=a}return u.prototype=o.prototype,a.prototype=new u,a.__super__=o.prototype,a},i={}.hasOwnProperty;n=tp().isObject,r=kl(),e=Ui(),bBt.exports=t=function(a){s(o,a);function o(c,u,l,d){var f;o.__super__.constructor.call(this,c),n(u)&&(f=u,u=f.version,l=f.encoding,d=f.standalone),u||(u="1.0"),this.type=e.Declaration,this.version=this.stringify.xmlVersion(u),l!=null&&(this.encoding=this.stringify.xmlEncoding(l)),d!=null&&(this.standalone=this.stringify.xmlStandalone(d))}return o.prototype.toString=function(c){return this.options.writer.declaration(this,this.options.writer.filterOptions(c))},o}(r)}).call(TBt)});var Mj=S((IBt,RBt)=>{(function(){var e,t,r,n=function(i,a){for(var o in a)s.call(a,o)&&(i[o]=a[o]);function c(){this.constructor=i}return c.prototype=a.prototype,i.prototype=new c,i.__super__=a.prototype,i},s={}.hasOwnProperty;r=kl(),e=Ui(),RBt.exports=t=function(i){n(a,i);function a(o,c,u,l,d,f){if(a.__super__.constructor.call(this,o),c==null)throw new Error("Missing DTD element name. "+this.debugInfo());if(u==null)throw new Error("Missing DTD attribute name. "+this.debugInfo(c));if(!l)throw new Error("Missing DTD attribute type. "+this.debugInfo(c));if(!d)throw new Error("Missing DTD attribute default. "+this.debugInfo(c));if(d.indexOf("#")!==0&&(d="#"+d),!d.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/))throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. "+this.debugInfo(c));if(f&&!d.match(/^(#FIXED|#DEFAULT)$/))throw new Error("Default value only applies to #FIXED or #DEFAULT. "+this.debugInfo(c));this.elementName=this.stringify.name(c),this.type=e.AttributeDeclaration,this.attributeName=this.stringify.name(u),this.attributeType=this.stringify.dtdAttType(l),f&&(this.defaultValue=this.stringify.dtdAttDefault(f)),this.defaultValueType=d}return a.prototype.toString=function(o){return this.options.writer.dtdAttList(this,this.options.writer.filterOptions(o))},a}(r)}).call(IBt)});var kj=S((CBt,xBt)=>{(function(){var e,t,r,n,s=function(a,o){for(var c in o)i.call(o,c)&&(a[c]=o[c]);function u(){this.constructor=a}return u.prototype=o.prototype,a.prototype=new u,a.__super__=o.prototype,a},i={}.hasOwnProperty;n=tp().isObject,r=kl(),e=Ui(),xBt.exports=t=function(a){s(o,a);function o(c,u,l,d){if(o.__super__.constructor.call(this,c),l==null)throw new Error("Missing DTD entity name. "+this.debugInfo(l));if(d==null)throw new Error("Missing DTD entity value. "+this.debugInfo(l));if(this.pe=!!u,this.name=this.stringify.name(l),this.type=e.EntityDeclaration,!n(d))this.value=this.stringify.dtdEntityValue(d),this.internal=!0;else{if(!d.pubID&&!d.sysID)throw new Error("Public and/or system identifiers are required for an external entity. "+this.debugInfo(l));if(d.pubID&&!d.sysID)throw new Error("System identifier is required for a public external entity. "+this.debugInfo(l));if(this.internal=!1,d.pubID!=null&&(this.pubID=this.stringify.dtdPubID(d.pubID)),d.sysID!=null&&(this.sysID=this.stringify.dtdSysID(d.sysID)),d.nData!=null&&(this.nData=this.stringify.dtdNData(d.nData)),this.pe&&this.nData)throw new Error("Notation declaration is not allowed in a parameter entity. "+this.debugInfo(l))}}return Object.defineProperty(o.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(o.prototype,"systemId",{get:function(){return this.sysID}}),Object.defineProperty(o.prototype,"notationName",{get:function(){return this.nData||null}}),Object.defineProperty(o.prototype,"inputEncoding",{get:function(){return null}}),Object.defineProperty(o.prototype,"xmlEncoding",{get:function(){return null}}),Object.defineProperty(o.prototype,"xmlVersion",{get:function(){return null}}),o.prototype.toString=function(c){return this.options.writer.dtdEntity(this,this.options.writer.filterOptions(c))},o}(r)}).call(CBt)});var Bj=S((wBt,NBt)=>{(function(){var e,t,r,n=function(i,a){for(var o in a)s.call(a,o)&&(i[o]=a[o]);function c(){this.constructor=i}return c.prototype=a.prototype,i.prototype=new c,i.__super__=a.prototype,i},s={}.hasOwnProperty;r=kl(),e=Ui(),NBt.exports=t=function(i){n(a,i);function a(o,c,u){if(a.__super__.constructor.call(this,o),c==null)throw new Error("Missing DTD element name. "+this.debugInfo());u||(u="(#PCDATA)"),Array.isArray(u)&&(u="("+u.join(",")+")"),this.name=this.stringify.name(c),this.type=e.ElementDeclaration,this.value=this.stringify.dtdElementValue(u)}return a.prototype.toString=function(o){return this.options.writer.dtdElement(this,this.options.writer.filterOptions(o))},a}(r)}).call(wBt)});var Uj=S((OBt,DBt)=>{(function(){var e,t,r,n=function(i,a){for(var o in a)s.call(a,o)&&(i[o]=a[o]);function c(){this.constructor=i}return c.prototype=a.prototype,i.prototype=new c,i.__super__=a.prototype,i},s={}.hasOwnProperty;r=kl(),e=Ui(),DBt.exports=t=function(i){n(a,i);function a(o,c,u){if(a.__super__.constructor.call(this,o),c==null)throw new Error("Missing DTD notation name. "+this.debugInfo(c));if(!u.pubID&&!u.sysID)throw new Error("Public or system identifiers are required for an external entity. "+this.debugInfo(c));this.name=this.stringify.name(c),this.type=e.NotationDeclaration,u.pubID!=null&&(this.pubID=this.stringify.dtdPubID(u.pubID)),u.sysID!=null&&(this.sysID=this.stringify.dtdSysID(u.sysID))}return Object.defineProperty(a.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(a.prototype,"systemId",{get:function(){return this.sysID}}),a.prototype.toString=function(o){return this.options.writer.dtdNotation(this,this.options.writer.filterOptions(o))},a}(r)}).call(OBt)});var Fj=S((PBt,LBt)=>{(function(){var e,t,r,n,s,i,a,o,c,u=function(d,f){for(var h in f)l.call(f,h)&&(d[h]=f[h]);function p(){this.constructor=d}return p.prototype=f.prototype,d.prototype=new p,d.__super__=f.prototype,d},l={}.hasOwnProperty;c=tp().isObject,o=kl(),e=Ui(),t=Mj(),n=kj(),r=Bj(),s=Uj(),a=Nj(),LBt.exports=i=function(d){u(f,d);function f(h,p,m){var g,_,y,E,A,v;if(f.__super__.constructor.call(this,h),this.type=e.DocType,h.children){for(E=h.children,_=0,y=E.length;_{(function(){var e,t,r,n=function(i,a){for(var o in a)s.call(a,o)&&(i[o]=a[o]);function c(){this.constructor=i}return c.prototype=a.prototype,i.prototype=new c,i.__super__=a.prototype,i},s={}.hasOwnProperty;e=Ui(),t=kl(),kBt.exports=r=function(i){n(a,i);function a(o,c){if(a.__super__.constructor.call(this,o),c==null)throw new Error("Missing raw text. "+this.debugInfo());this.type=e.Raw,this.value=this.stringify.raw(c)}return a.prototype.clone=function(){return Object.create(this)},a.prototype.toString=function(o){return this.options.writer.raw(this,this.options.writer.filterOptions(o))},a}(t)}).call(MBt)});var qj=S((BBt,UBt)=>{(function(){var e,t,r,n=function(i,a){for(var o in a)s.call(a,o)&&(i[o]=a[o]);function c(){this.constructor=i}return c.prototype=a.prototype,i.prototype=new c,i.__super__=a.prototype,i},s={}.hasOwnProperty;e=Ui(),t=T4(),UBt.exports=r=function(i){n(a,i);function a(o,c){if(a.__super__.constructor.call(this,o),c==null)throw new Error("Missing element text. "+this.debugInfo());this.name="#text",this.type=e.Text,this.value=this.stringify.text(c)}return Object.defineProperty(a.prototype,"isElementContentWhitespace",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(a.prototype,"wholeText",{get:function(){var o,c,u;for(u="",c=this.previousSibling;c;)u=c.data+u,c=c.previousSibling;for(u+=this.data,o=this.nextSibling;o;)u=u+o.data,o=o.nextSibling;return u}}),a.prototype.clone=function(){return Object.create(this)},a.prototype.toString=function(o){return this.options.writer.text(this,this.options.writer.filterOptions(o))},a.prototype.splitText=function(o){throw new Error("This DOM method is not implemented."+this.debugInfo())},a.prototype.replaceWholeText=function(o){throw new Error("This DOM method is not implemented."+this.debugInfo())},a}(t)}).call(BBt)});var Hj=S((FBt,$Bt)=>{(function(){var e,t,r,n=function(i,a){for(var o in a)s.call(a,o)&&(i[o]=a[o]);function c(){this.constructor=i}return c.prototype=a.prototype,i.prototype=new c,i.__super__=a.prototype,i},s={}.hasOwnProperty;e=Ui(),t=T4(),$Bt.exports=r=function(i){n(a,i);function a(o,c,u){if(a.__super__.constructor.call(this,o),c==null)throw new Error("Missing instruction target. "+this.debugInfo());this.type=e.ProcessingInstruction,this.target=this.stringify.insTarget(c),this.name=this.target,u&&(this.value=this.stringify.insValue(u))}return a.prototype.clone=function(){return Object.create(this)},a.prototype.toString=function(o){return this.options.writer.processingInstruction(this,this.options.writer.filterOptions(o))},a.prototype.isEqualNode=function(o){return!(!a.__super__.isEqualNode.apply(this,arguments).isEqualNode(o)||o.target!==this.target)},a}(t)}).call(FBt)});var CIe=S((qBt,HBt)=>{(function(){var e,t,r,n=function(i,a){for(var o in a)s.call(a,o)&&(i[o]=a[o]);function c(){this.constructor=i}return c.prototype=a.prototype,i.prototype=new c,i.__super__=a.prototype,i},s={}.hasOwnProperty;r=kl(),e=Ui(),HBt.exports=t=function(i){n(a,i);function a(o){a.__super__.constructor.call(this,o),this.type=e.Dummy}return a.prototype.clone=function(){return Object.create(this)},a.prototype.toString=function(o){return""},a}(r)}).call(qBt)});var KBt=S((VBt,jBt)=>{(function(){var e;jBt.exports=e=function(){function t(r){this.nodes=r}return Object.defineProperty(t.prototype,"length",{get:function(){return this.nodes.length||0}}),t.prototype.clone=function(){return this.nodes=null},t.prototype.item=function(r){return this.nodes[r]||null},t}()}).call(VBt)});var QBt=S((GBt,YBt)=>{(function(){YBt.exports={Disconnected:1,Preceding:2,Following:4,Contains:8,ContainedBy:16,ImplementationSpecific:32}}).call(GBt)});var kl=S((zBt,WBt)=>{(function(){var e,t,r,n,s,i,a,o,c,u,l,d,f,h,p,m,g,_,y,E={}.hasOwnProperty;y=tp(),_=y.isObject,g=y.isFunction,m=y.isEmpty,p=y.getValue,o=null,r=null,n=null,s=null,i=null,f=null,h=null,d=null,a=null,t=null,l=null,c=null,e=null,WBt.exports=u=function(){function A(v){this.parent=v,this.parent&&(this.options=this.parent.options,this.stringify=this.parent.stringify),this.value=null,this.children=[],this.baseURI=null,o||(o=Oj(),r=Dj(),n=Pj(),s=Lj(),i=Fj(),f=$j(),h=qj(),d=Hj(),a=CIe(),t=Ui(),l=KBt(),c=Nj(),e=QBt())}return Object.defineProperty(A.prototype,"nodeName",{get:function(){return this.name}}),Object.defineProperty(A.prototype,"nodeType",{get:function(){return this.type}}),Object.defineProperty(A.prototype,"nodeValue",{get:function(){return this.value}}),Object.defineProperty(A.prototype,"parentNode",{get:function(){return this.parent}}),Object.defineProperty(A.prototype,"childNodes",{get:function(){return(!this.childNodeList||!this.childNodeList.nodes)&&(this.childNodeList=new l(this.children)),this.childNodeList}}),Object.defineProperty(A.prototype,"firstChild",{get:function(){return this.children[0]||null}}),Object.defineProperty(A.prototype,"lastChild",{get:function(){return this.children[this.children.length-1]||null}}),Object.defineProperty(A.prototype,"previousSibling",{get:function(){var v;return v=this.parent.children.indexOf(this),this.parent.children[v-1]||null}}),Object.defineProperty(A.prototype,"nextSibling",{get:function(){var v;return v=this.parent.children.indexOf(this),this.parent.children[v+1]||null}}),Object.defineProperty(A.prototype,"ownerDocument",{get:function(){return this.document()||null}}),Object.defineProperty(A.prototype,"textContent",{get:function(){var v,T,C,b,x;if(this.nodeType===t.Element||this.nodeType===t.DocumentFragment){for(x="",b=this.children,T=0,C=b.length;T":(C=this.parent)!=null&&C.name?"node: <"+v+">, parent: <"+this.parent.name+">":"node: <"+v+">"},A.prototype.ele=function(v,T,C){return this.element(v,T,C)},A.prototype.nod=function(v,T,C){return this.node(v,T,C)},A.prototype.txt=function(v){return this.text(v)},A.prototype.dat=function(v){return this.cdata(v)},A.prototype.com=function(v){return this.comment(v)},A.prototype.ins=function(v,T){return this.instruction(v,T)},A.prototype.doc=function(){return this.document()},A.prototype.dec=function(v,T,C){return this.declaration(v,T,C)},A.prototype.e=function(v,T,C){return this.element(v,T,C)},A.prototype.n=function(v,T,C){return this.node(v,T,C)},A.prototype.t=function(v){return this.text(v)},A.prototype.d=function(v){return this.cdata(v)},A.prototype.c=function(v){return this.comment(v)},A.prototype.r=function(v){return this.raw(v)},A.prototype.i=function(v,T){return this.instruction(v,T)},A.prototype.u=function(){return this.up()},A.prototype.importXMLBuilder=function(v){return this.importDocument(v)},A.prototype.replaceChild=function(v,T){throw new Error("This DOM method is not implemented."+this.debugInfo())},A.prototype.removeChild=function(v){throw new Error("This DOM method is not implemented."+this.debugInfo())},A.prototype.appendChild=function(v){throw new Error("This DOM method is not implemented."+this.debugInfo())},A.prototype.hasChildNodes=function(){return this.children.length!==0},A.prototype.cloneNode=function(v){throw new Error("This DOM method is not implemented."+this.debugInfo())},A.prototype.normalize=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},A.prototype.isSupported=function(v,T){return!0},A.prototype.hasAttributes=function(){return this.attribs.length!==0},A.prototype.compareDocumentPosition=function(v){var T,C;return T=this,T===v?0:this.document()!==v.document()?(C=e.Disconnected|e.ImplementationSpecific,Math.random()<.5?C|=e.Preceding:C|=e.Following,C):T.isAncestor(v)?e.Contains|e.Preceding:T.isDescendant(v)?e.Contains|e.Following:T.isPreceding(v)?e.Preceding:e.Following},A.prototype.isSameNode=function(v){throw new Error("This DOM method is not implemented."+this.debugInfo())},A.prototype.lookupPrefix=function(v){throw new Error("This DOM method is not implemented."+this.debugInfo())},A.prototype.isDefaultNamespace=function(v){throw new Error("This DOM method is not implemented."+this.debugInfo())},A.prototype.lookupNamespaceURI=function(v){throw new Error("This DOM method is not implemented."+this.debugInfo())},A.prototype.isEqualNode=function(v){var T,C,b;if(v.nodeType!==this.nodeType||v.children.length!==this.children.length)return!1;for(T=C=0,b=this.children.length-1;0<=b?C<=b:C>=b;T=0<=b?++C:--C)if(!this.children[T].isEqualNode(v.children[T]))return!1;return!0},A.prototype.getFeature=function(v,T){throw new Error("This DOM method is not implemented."+this.debugInfo())},A.prototype.setUserData=function(v,T,C){throw new Error("This DOM method is not implemented."+this.debugInfo())},A.prototype.getUserData=function(v){throw new Error("This DOM method is not implemented."+this.debugInfo())},A.prototype.contains=function(v){return v?v===this||this.isDescendant(v):!1},A.prototype.isDescendant=function(v){var T,C,b,x,w;for(w=this.children,b=0,x=w.length;bC},A.prototype.treePosition=function(v){var T,C;return C=0,T=!1,this.foreachTreeNode(this.document(),function(b){if(C++,!T&&b===v)return T=!0}),T?C:-1},A.prototype.foreachTreeNode=function(v,T){var C,b,x,w,P;for(v||(v=this.document()),w=v.children,b=0,x=w.length;b{(function(){var e,t=function(n,s){return function(){return n.apply(s,arguments)}},r={}.hasOwnProperty;JBt.exports=e=function(){function n(s){this.assertLegalName=t(this.assertLegalName,this),this.assertLegalChar=t(this.assertLegalChar,this);var i,a,o;s||(s={}),this.options=s,this.options.version||(this.options.version="1.0"),a=s.stringify||{};for(i in a)r.call(a,i)&&(o=a[i],this[i]=o)}return n.prototype.name=function(s){return this.options.noValidation?s:this.assertLegalName(""+s||"")},n.prototype.text=function(s){return this.options.noValidation?s:this.assertLegalChar(this.textEscape(""+s||""))},n.prototype.cdata=function(s){return this.options.noValidation?s:(s=""+s||"",s=s.replace("]]>","]]]]>"),this.assertLegalChar(s))},n.prototype.comment=function(s){if(this.options.noValidation)return s;if(s=""+s||"",s.match(/--/))throw new Error("Comment text cannot contain double-hypen: "+s);return this.assertLegalChar(s)},n.prototype.raw=function(s){return this.options.noValidation?s:""+s||""},n.prototype.attValue=function(s){return this.options.noValidation?s:this.assertLegalChar(this.attEscape(s=""+s||""))},n.prototype.insTarget=function(s){return this.options.noValidation?s:this.assertLegalChar(""+s||"")},n.prototype.insValue=function(s){if(this.options.noValidation)return s;if(s=""+s||"",s.match(/\?>/))throw new Error("Invalid processing instruction value: "+s);return this.assertLegalChar(s)},n.prototype.xmlVersion=function(s){if(this.options.noValidation)return s;if(s=""+s||"",!s.match(/1\.[0-9]+/))throw new Error("Invalid version number: "+s);return s},n.prototype.xmlEncoding=function(s){if(this.options.noValidation)return s;if(s=""+s||"",!s.match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/))throw new Error("Invalid encoding: "+s);return this.assertLegalChar(s)},n.prototype.xmlStandalone=function(s){return this.options.noValidation?s:s?"yes":"no"},n.prototype.dtdPubID=function(s){return this.options.noValidation?s:this.assertLegalChar(""+s||"")},n.prototype.dtdSysID=function(s){return this.options.noValidation?s:this.assertLegalChar(""+s||"")},n.prototype.dtdElementValue=function(s){return this.options.noValidation?s:this.assertLegalChar(""+s||"")},n.prototype.dtdAttType=function(s){return this.options.noValidation?s:this.assertLegalChar(""+s||"")},n.prototype.dtdAttDefault=function(s){return this.options.noValidation?s:this.assertLegalChar(""+s||"")},n.prototype.dtdEntityValue=function(s){return this.options.noValidation?s:this.assertLegalChar(""+s||"")},n.prototype.dtdNData=function(s){return this.options.noValidation?s:this.assertLegalChar(""+s||"")},n.prototype.convertAttKey="@",n.prototype.convertPIKey="?",n.prototype.convertTextKey="#text",n.prototype.convertCDataKey="#cdata",n.prototype.convertCommentKey="#comment",n.prototype.convertRawKey="#raw",n.prototype.assertLegalChar=function(s){var i,a;if(this.options.noValidation)return s;if(i="",this.options.version==="1.0"){if(i=/[\0-\x08\x0B\f\x0E-\x1F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,a=s.match(i))throw new Error("Invalid character in string: "+s+" at index "+a.index)}else if(this.options.version==="1.1"&&(i=/[\0\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,a=s.match(i)))throw new Error("Invalid character in string: "+s+" at index "+a.index);return s},n.prototype.assertLegalName=function(s){var i;if(this.options.noValidation)return s;if(this.assertLegalChar(s),i=/^([:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])([\x2D\.0-:A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/,!s.match(i))throw new Error("Invalid character in name");return s},n.prototype.textEscape=function(s){var i;return this.options.noValidation?s:(i=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,s.replace(i,"&").replace(//g,">").replace(/\r/g," "))},n.prototype.attEscape=function(s){var i;return this.options.noValidation?s:(i=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,s.replace(i,"&").replace(/{(function(){e3t.exports={None:0,OpenTag:1,InsideTag:2,CloseTag:3}}).call(ZBt)});var wIe=S((t3t,r3t)=>{(function(){var e,t,r,n,s,i,a,o,c,u,l,d,f,h,p,m,g,_={}.hasOwnProperty;g=tp().assign,e=Ui(),c=Lj(),u=Fj(),r=Dj(),n=Pj(),d=Oj(),h=$j(),p=qj(),f=Hj(),l=CIe(),s=Mj(),i=Bj(),a=kj(),o=Uj(),t=b4(),r3t.exports=m=function(){function y(E){var A,v,T;E||(E={}),this.options=E,v=E.writer||{};for(A in v)_.call(v,A)&&(T=v[A],this["_"+A]=this[A],this[A]=T)}return y.prototype.filterOptions=function(E){var A,v,T,C,b,x,w,P;return E||(E={}),E=g({},this.options,E),A={writer:this},A.pretty=E.pretty||!1,A.allowEmpty=E.allowEmpty||!1,A.indent=(v=E.indent)!=null?v:" ",A.newline=(T=E.newline)!=null?T:` +`,A.offset=(C=E.offset)!=null?C:0,A.dontPrettyTextNodes=(b=(x=E.dontPrettyTextNodes)!=null?x:E.dontprettytextnodes)!=null?b:0,A.spaceBeforeSlash=(w=(P=E.spaceBeforeSlash)!=null?P:E.spacebeforeslash)!=null?w:"",A.spaceBeforeSlash===!0&&(A.spaceBeforeSlash=" "),A.suppressPrettyCount=0,A.user={},A.state=t.None,A},y.prototype.indent=function(E,A,v){var T;return!A.pretty||A.suppressPrettyCount?"":A.pretty&&(T=(v||0)+A.offset+1,T>0)?new Array(T).join(A.indent):""},y.prototype.endline=function(E,A,v){return!A.pretty||A.suppressPrettyCount?"":A.newline},y.prototype.attribute=function(E,A,v){var T;return this.openAttribute(E,A,v),T=" "+E.name+'="'+E.value+'"',this.closeAttribute(E,A,v),T},y.prototype.cdata=function(E,A,v){var T;return this.openNode(E,A,v),A.state=t.OpenTag,T=this.indent(E,A,v)+""+this.endline(E,A,v),A.state=t.None,this.closeNode(E,A,v),T},y.prototype.comment=function(E,A,v){var T;return this.openNode(E,A,v),A.state=t.OpenTag,T=this.indent(E,A,v)+""+this.endline(E,A,v),A.state=t.None,this.closeNode(E,A,v),T},y.prototype.declaration=function(E,A,v){var T;return this.openNode(E,A,v),A.state=t.OpenTag,T=this.indent(E,A,v)+"",T+=this.endline(E,A,v),A.state=t.None,this.closeNode(E,A,v),T},y.prototype.docType=function(E,A,v){var T,C,b,x,w;if(v||(v=0),this.openNode(E,A,v),A.state=t.OpenTag,x=this.indent(E,A,v),x+="0){for(x+=" [",x+=this.endline(E,A,v),A.state=t.InsideTag,w=E.children,C=0,b=w.length;C",x+=this.endline(E,A,v),A.state=t.None,this.closeNode(E,A,v),x},y.prototype.element=function(E,A,v){var T,C,b,x,w,P,M,L,U,Y,$,V,W,G;v||(v=0),Y=!1,$="",this.openNode(E,A,v),A.state=t.OpenTag,$+=this.indent(E,A,v)+"<"+E.name,V=E.attribs;for(U in V)_.call(V,U)&&(T=V[U],$+=this.attribute(T,A,v));if(b=E.children.length,x=b===0?null:E.children[0],b===0||E.children.every(function(se){return(se.type===e.Text||se.type===e.Raw)&&se.value===""}))A.allowEmpty?($+=">",A.state=t.CloseTag,$+=""+this.endline(E,A,v)):(A.state=t.CloseTag,$+=A.spaceBeforeSlash+"/>"+this.endline(E,A,v));else if(A.pretty&&b===1&&(x.type===e.Text||x.type===e.Raw)&&x.value!=null)$+=">",A.state=t.InsideTag,A.suppressPrettyCount++,Y=!0,$+=this.writeChildNode(x,A,v+1),A.suppressPrettyCount--,Y=!1,A.state=t.CloseTag,$+=""+this.endline(E,A,v);else{if(A.dontPrettyTextNodes){for(W=E.children,w=0,M=W.length;w"+this.endline(E,A,v),A.state=t.InsideTag,G=E.children,P=0,L=G.length;P",Y&&A.suppressPrettyCount--,$+=this.endline(E,A,v),A.state=t.None}return this.closeNode(E,A,v),$},y.prototype.writeChildNode=function(E,A,v){switch(E.type){case e.CData:return this.cdata(E,A,v);case e.Comment:return this.comment(E,A,v);case e.Element:return this.element(E,A,v);case e.Raw:return this.raw(E,A,v);case e.Text:return this.text(E,A,v);case e.ProcessingInstruction:return this.processingInstruction(E,A,v);case e.Dummy:return"";case e.Declaration:return this.declaration(E,A,v);case e.DocType:return this.docType(E,A,v);case e.AttributeDeclaration:return this.dtdAttList(E,A,v);case e.ElementDeclaration:return this.dtdElement(E,A,v);case e.EntityDeclaration:return this.dtdEntity(E,A,v);case e.NotationDeclaration:return this.dtdNotation(E,A,v);default:throw new Error("Unknown XML node type: "+E.constructor.name)}},y.prototype.processingInstruction=function(E,A,v){var T;return this.openNode(E,A,v),A.state=t.OpenTag,T=this.indent(E,A,v)+"",T+=this.endline(E,A,v),A.state=t.None,this.closeNode(E,A,v),T},y.prototype.raw=function(E,A,v){var T;return this.openNode(E,A,v),A.state=t.OpenTag,T=this.indent(E,A,v),A.state=t.InsideTag,T+=E.value,A.state=t.CloseTag,T+=this.endline(E,A,v),A.state=t.None,this.closeNode(E,A,v),T},y.prototype.text=function(E,A,v){var T;return this.openNode(E,A,v),A.state=t.OpenTag,T=this.indent(E,A,v),A.state=t.InsideTag,T+=E.value,A.state=t.CloseTag,T+=this.endline(E,A,v),A.state=t.None,this.closeNode(E,A,v),T},y.prototype.dtdAttList=function(E,A,v){var T;return this.openNode(E,A,v),A.state=t.OpenTag,T=this.indent(E,A,v)+""+this.endline(E,A,v),A.state=t.None,this.closeNode(E,A,v),T},y.prototype.dtdElement=function(E,A,v){var T;return this.openNode(E,A,v),A.state=t.OpenTag,T=this.indent(E,A,v)+""+this.endline(E,A,v),A.state=t.None,this.closeNode(E,A,v),T},y.prototype.dtdEntity=function(E,A,v){var T;return this.openNode(E,A,v),A.state=t.OpenTag,T=this.indent(E,A,v)+""+this.endline(E,A,v),A.state=t.None,this.closeNode(E,A,v),T},y.prototype.dtdNotation=function(E,A,v){var T;return this.openNode(E,A,v),A.state=t.OpenTag,T=this.indent(E,A,v)+""+this.endline(E,A,v),A.state=t.None,this.closeNode(E,A,v),T},y.prototype.openNode=function(E,A,v){},y.prototype.closeNode=function(E,A,v){},y.prototype.openAttribute=function(E,A,v){},y.prototype.closeAttribute=function(E,A,v){},y}()}).call(t3t)});var Vj=S((n3t,s3t)=>{(function(){var e,t,r=function(s,i){for(var a in i)n.call(i,a)&&(s[a]=i[a]);function o(){this.constructor=s}return o.prototype=i.prototype,s.prototype=new o,s.__super__=i.prototype,s},n={}.hasOwnProperty;t=wIe(),s3t.exports=e=function(s){r(i,s);function i(a){i.__super__.constructor.call(this,a)}return i.prototype.document=function(a,o){var c,u,l,d,f;for(o=this.filterOptions(o),d="",f=a.children,u=0,l=f.length;u{(function(){var e,t,r,n,s,i,a,o,c=function(l,d){for(var f in d)u.call(d,f)&&(l[f]=d[f]);function h(){this.constructor=l}return h.prototype=d.prototype,l.prototype=new h,l.__super__=d.prototype,l},u={}.hasOwnProperty;o=tp().isPlainObject,r=IIe(),t=cBt(),s=kl(),e=Ui(),a=xIe(),i=Vj(),a3t.exports=n=function(l){c(d,l);function d(f){d.__super__.constructor.call(this,null),this.name="#document",this.type=e.Document,this.documentURI=null,this.domConfig=new t,f||(f={}),f.writer||(f.writer=new i),this.options=f,this.stringify=new a(f)}return Object.defineProperty(d.prototype,"implementation",{value:new r}),Object.defineProperty(d.prototype,"doctype",{get:function(){var f,h,p,m;for(m=this.children,h=0,p=m.length;h{(function(){var e,t,r,n,s,i,a,o,c,u,l,d,f,h,p,m,g,_,y,E,A,v,T,C,b={}.hasOwnProperty;C=tp(),v=C.isObject,A=C.isFunction,T=C.isPlainObject,E=C.getValue,e=Ui(),d=NIe(),h=Oj(),n=Dj(),s=Pj(),m=$j(),y=qj(),p=Hj(),u=Lj(),l=Fj(),i=Mj(),o=kj(),a=Bj(),c=Uj(),r=RIe(),_=xIe(),g=Vj(),t=b4(),c3t.exports=f=function(){function x(w,P,M){var L;this.name="?xml",this.type=e.Document,w||(w={}),L={},w.writer?T(w.writer)&&(L=w.writer,w.writer=new g):w.writer=new g,this.options=w,this.writer=w.writer,this.writerOptions=this.writer.filterOptions(L),this.stringify=new _(w),this.onDataCallback=P||function(){},this.onEndCallback=M||function(){},this.currentNode=null,this.currentLevel=-1,this.openTags={},this.documentStarted=!1,this.documentCompleted=!1,this.root=null}return x.prototype.createChildNode=function(w){var P,M,L,U,Y,$,V,W;switch(w.type){case e.CData:this.cdata(w.value);break;case e.Comment:this.comment(w.value);break;case e.Element:L={},V=w.attribs;for(M in V)b.call(V,M)&&(P=V[M],L[M]=P.value);this.node(w.name,L);break;case e.Dummy:this.dummy();break;case e.Raw:this.raw(w.value);break;case e.Text:this.text(w.value);break;case e.ProcessingInstruction:this.instruction(w.target,w.value);break;default:throw new Error("This XML node type is not supported in a JS object: "+w.constructor.name)}for(W=w.children,Y=0,$=W.length;Y<$;Y++)U=W[Y],this.createChildNode(U),U.type===e.Element&&this.up();return this},x.prototype.dummy=function(){return this},x.prototype.node=function(w,P,M){var L;if(w==null)throw new Error("Missing node name.");if(this.root&&this.currentLevel===-1)throw new Error("Document can only have one root node. "+this.debugInfo(w));return this.openCurrent(),w=E(w),P==null&&(P={}),P=E(P),v(P)||(L=[P,M],M=L[0],P=L[1]),this.currentNode=new h(this,w,P),this.currentNode.children=!1,this.currentLevel++,this.openTags[this.currentLevel]=this.currentNode,M!=null&&this.text(M),this},x.prototype.element=function(w,P,M){var L,U,Y,$,V,W;if(this.currentNode&&this.currentNode.type===e.DocType)this.dtdElement.apply(this,arguments);else if(Array.isArray(w)||v(w)||A(w))for($=this.options.noValidation,this.options.noValidation=!0,W=new d(this.options).element("TEMP_ROOT"),W.element(w),this.options.noValidation=$,V=W.children,U=0,Y=V.length;U=0;)this.up();return this.onEnd()},x.prototype.openCurrent=function(){if(this.currentNode)return this.currentNode.children=!0,this.openNode(this.currentNode)},x.prototype.openNode=function(w){var P,M,L,U;if(!w.isOpen){if(!this.root&&this.currentLevel===0&&w.type===e.Element&&(this.root=w),M="",w.type===e.Element){this.writerOptions.state=t.OpenTag,M=this.writer.indent(w,this.writerOptions,this.currentLevel)+"<"+w.name,U=w.attribs;for(L in U)b.call(U,L)&&(P=U[L],M+=this.writer.attribute(P,this.writerOptions,this.currentLevel));M+=(w.children?">":"/>")+this.writer.endline(w,this.writerOptions,this.currentLevel),this.writerOptions.state=t.InsideTag}else this.writerOptions.state=t.OpenTag,M=this.writer.indent(w,this.writerOptions,this.currentLevel)+""),M+=this.writer.endline(w,this.writerOptions,this.currentLevel);return this.onData(M,this.currentLevel),w.isOpen=!0}},x.prototype.closeNode=function(w){var P;if(!w.isClosed)return P="",this.writerOptions.state=t.CloseTag,w.type===e.Element?P=this.writer.indent(w,this.writerOptions,this.currentLevel)+""+this.writer.endline(w,this.writerOptions,this.currentLevel):P=this.writer.indent(w,this.writerOptions,this.currentLevel)+"]>"+this.writer.endline(w,this.writerOptions,this.currentLevel),this.writerOptions.state=t.None,this.onData(P,this.currentLevel),w.isClosed=!0},x.prototype.onData=function(w,P){return this.documentStarted=!0,this.onDataCallback(w,P+1)},x.prototype.onEnd=function(){return this.documentCompleted=!0,this.onEndCallback()},x.prototype.debugInfo=function(w){return w==null?"":"node: <"+w+">"},x.prototype.ele=function(){return this.element.apply(this,arguments)},x.prototype.nod=function(w,P,M){return this.node(w,P,M)},x.prototype.txt=function(w){return this.text(w)},x.prototype.dat=function(w){return this.cdata(w)},x.prototype.com=function(w){return this.comment(w)},x.prototype.ins=function(w,P){return this.instruction(w,P)},x.prototype.dec=function(w,P,M){return this.declaration(w,P,M)},x.prototype.dtd=function(w,P,M){return this.doctype(w,P,M)},x.prototype.e=function(w,P,M){return this.element(w,P,M)},x.prototype.n=function(w,P,M){return this.node(w,P,M)},x.prototype.t=function(w){return this.text(w)},x.prototype.d=function(w){return this.cdata(w)},x.prototype.c=function(w){return this.comment(w)},x.prototype.r=function(w){return this.raw(w)},x.prototype.i=function(w,P){return this.instruction(w,P)},x.prototype.att=function(){return this.currentNode&&this.currentNode.type===e.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},x.prototype.a=function(){return this.currentNode&&this.currentNode.type===e.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},x.prototype.ent=function(w,P){return this.entity(w,P)},x.prototype.pent=function(w,P){return this.pEntity(w,P)},x.prototype.not=function(w,P){return this.notation(w,P)},x}()}).call(o3t)});var f3t=S((l3t,d3t)=>{(function(){var e,t,r,n,s=function(a,o){for(var c in o)i.call(o,c)&&(a[c]=o[c]);function u(){this.constructor=a}return u.prototype=o.prototype,a.prototype=new u,a.__super__=o.prototype,a},i={}.hasOwnProperty;e=Ui(),n=wIe(),t=b4(),d3t.exports=r=function(a){s(o,a);function o(c,u){this.stream=c,o.__super__.constructor.call(this,u)}return o.prototype.endline=function(c,u,l){return c.isLastRootNode&&u.state===t.CloseTag?"":o.__super__.endline.call(this,c,u,l)},o.prototype.document=function(c,u){var l,d,f,h,p,m,g,_,y;for(g=c.children,d=f=0,p=g.length;f0){for(this.stream.write(" ["),this.stream.write(this.endline(c,u,l)),u.state=t.InsideTag,p=c.children,f=0,h=p.length;f"),this.stream.write(this.endline(c,u,l)),u.state=t.None,this.closeNode(c,u,l)},o.prototype.element=function(c,u,l){var d,f,h,p,m,g,_,y,E,A;l||(l=0),this.openNode(c,u,l),u.state=t.OpenTag,this.stream.write(this.indent(c,u,l)+"<"+c.name),E=c.attribs;for(_ in E)i.call(E,_)&&(d=E[_],this.attribute(d,u,l));if(h=c.children.length,p=h===0?null:c.children[0],h===0||c.children.every(function(v){return(v.type===e.Text||v.type===e.Raw)&&v.value===""}))u.allowEmpty?(this.stream.write(">"),u.state=t.CloseTag,this.stream.write("")):(u.state=t.CloseTag,this.stream.write(u.spaceBeforeSlash+"/>"));else if(u.pretty&&h===1&&(p.type===e.Text||p.type===e.Raw)&&p.value!=null)this.stream.write(">"),u.state=t.InsideTag,u.suppressPrettyCount++,y=!0,this.writeChildNode(p,u,l+1),u.suppressPrettyCount--,y=!1,u.state=t.CloseTag,this.stream.write("");else{for(this.stream.write(">"+this.endline(c,u,l)),u.state=t.InsideTag,A=c.children,m=0,g=A.length;m")}return this.stream.write(this.endline(c,u,l)),u.state=t.None,this.closeNode(c,u,l)},o.prototype.processingInstruction=function(c,u,l){return this.stream.write(o.__super__.processingInstruction.call(this,c,u,l))},o.prototype.raw=function(c,u,l){return this.stream.write(o.__super__.raw.call(this,c,u,l))},o.prototype.text=function(c,u,l){return this.stream.write(o.__super__.text.call(this,c,u,l))},o.prototype.dtdAttList=function(c,u,l){return this.stream.write(o.__super__.dtdAttList.call(this,c,u,l))},o.prototype.dtdElement=function(c,u,l){return this.stream.write(o.__super__.dtdElement.call(this,c,u,l))},o.prototype.dtdEntity=function(c,u,l){return this.stream.write(o.__super__.dtdEntity.call(this,c,u,l))},o.prototype.dtdNotation=function(c,u,l){return this.stream.write(o.__super__.dtdNotation.call(this,c,u,l))},o}(n)}).call(l3t)});var p3t=S((h3t,LE)=>{(function(){var e,t,r,n,s,i,a,o,c,u;u=tp(),o=u.assign,c=u.isFunction,r=IIe(),n=NIe(),s=u3t(),a=Vj(),i=f3t(),e=Ui(),t=b4(),LE.exports.create=function(l,d,f,h){var p,m;if(l==null)throw new Error("Root element needs a name.");return h=o({},d,f,h),p=new n(h),m=p.element(l),h.headless||(p.declaration(h),(h.pubID!=null||h.sysID!=null)&&p.dtd(h)),m},LE.exports.begin=function(l,d,f){var h;return c(l)&&(h=[l,d],d=h[0],f=h[1],l={}),d?new s(l,d,f):new n(l)},LE.exports.stringWriter=function(l){return new a(l)},LE.exports.streamWriter=function(l,d){return new i(l,d)},LE.exports.implementation=new r,LE.exports.nodeType=e,LE.exports.writerState=t}).call(h3t)});var m3t=S(OIe=>{(function(){"use strict";var e,t,r,n,s,i={}.hasOwnProperty;e=p3t(),t=wj().defaults,n=function(a){return typeof a=="string"&&(a.indexOf("&")>=0||a.indexOf(">")>=0||a.indexOf("<")>=0)},s=function(a){return""},r=function(a){return a.replace("]]>","]]]]>")},OIe.Builder=function(){function a(o){var c,u,l;this.options={},u=t["0.2"];for(c in u)i.call(u,c)&&(l=u[c],this.options[c]=l);for(c in o)i.call(o,c)&&(l=o[c],this.options[c]=l)}return a.prototype.buildObject=function(o){var c,u,l,d,f;return c=this.options.attrkey,u=this.options.charkey,Object.keys(o).length===1&&this.options.rootName===t["0.2"].rootName?(f=Object.keys(o)[0],o=o[f]):f=this.options.rootName,l=function(h){return function(p,m){var g,_,y,E,A,v;if(typeof m!="object")h.options.cdata&&n(m)?p.raw(s(m)):p.txt(m);else if(Array.isArray(m)){for(E in m)if(i.call(m,E)){_=m[E];for(A in _)y=_[A],p=l(p.ele(A),y).up()}}else for(A in m)if(i.call(m,A))if(_=m[A],A===c){if(typeof _=="object")for(g in _)v=_[g],p=p.att(g,v)}else if(A===u)h.options.cdata&&n(_)?p=p.raw(s(_)):p=p.txt(_);else if(Array.isArray(_))for(E in _)i.call(_,E)&&(y=_[E],typeof y=="string"?h.options.cdata&&n(y)?p=p.ele(A).raw(s(y)).up():p=p.ele(A,y).up():p=l(p.ele(A),y).up());else typeof _=="object"?p=l(p.ele(A),_).up():typeof _=="string"&&h.options.cdata&&n(_)?p=p.ele(A).raw(s(_)).up():(_==null&&(_=""),p=p.ele(A,_.toString()).up());return p}}(this),d=e.create(f,this.options.xmldec,this.options.doctype,{headless:this.options.headless,allowSurrogateChars:this.options.allowSurrogateChars}),l(d,o).end(this.options.renderOpts)},a}()}).call(OIe)});var g3t=S(jj=>{(function(e){e.parser=function(B,k){return new r(B,k)},e.SAXParser=r,e.SAXStream=u,e.createStream=c,e.MAX_BUFFER_LENGTH=64*1024;var t=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];e.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"];function r(B,k){if(!(this instanceof r))return new r(B,k);var J=this;s(J),J.q=J.c="",J.bufferCheckPosition=e.MAX_BUFFER_LENGTH,J.opt=k||{},J.opt.lowercase=J.opt.lowercase||J.opt.lowercasetags,J.looseCase=J.opt.lowercase?"toLowerCase":"toUpperCase",J.tags=[],J.closed=J.closedRoot=J.sawRoot=!1,J.tag=J.error=null,J.strict=!!B,J.noscript=!!(B||J.opt.noscript),J.state=b.BEGIN,J.strictEntities=J.opt.strictEntities,J.ENTITIES=J.strictEntities?Object.create(e.XML_ENTITIES):Object.create(e.ENTITIES),J.attribList=[],J.opt.xmlns&&(J.ns=Object.create(p)),J.opt.unquotedAttributeValues===void 0&&(J.opt.unquotedAttributeValues=!B),J.trackPosition=J.opt.position!==!1,J.trackPosition&&(J.position=J.line=J.column=0),w(J,"onready")}Object.create||(Object.create=function(B){function k(){}k.prototype=B;var J=new k;return J}),Object.keys||(Object.keys=function(B){var k=[];for(var J in B)B.hasOwnProperty(J)&&k.push(J);return k});function n(B){for(var k=Math.max(e.MAX_BUFFER_LENGTH,10),J=0,D=0,H=t.length;Dk)switch(t[D]){case"textNode":M(B);break;case"cdata":P(B,"oncdata",B.cdata),B.cdata="";break;case"script":P(B,"onscript",B.script),B.script="";break;default:U(B,"Max buffer length exceeded: "+t[D])}J=Math.max(J,K)}var q=e.MAX_BUFFER_LENGTH-J;B.bufferCheckPosition=q+B.position}function s(B){for(var k=0,J=t.length;k"||E(B)}function T(B,k){return B.test(k)}function C(B,k){return!T(B,k)}var b=0;e.STATE={BEGIN:b++,BEGIN_WHITESPACE:b++,TEXT:b++,TEXT_ENTITY:b++,OPEN_WAKA:b++,SGML_DECL:b++,SGML_DECL_QUOTED:b++,DOCTYPE:b++,DOCTYPE_QUOTED:b++,DOCTYPE_DTD:b++,DOCTYPE_DTD_QUOTED:b++,COMMENT_STARTING:b++,COMMENT:b++,COMMENT_ENDING:b++,COMMENT_ENDED:b++,CDATA:b++,CDATA_ENDING:b++,CDATA_ENDING_2:b++,PROC_INST:b++,PROC_INST_BODY:b++,PROC_INST_ENDING:b++,OPEN_TAG:b++,OPEN_TAG_SLASH:b++,ATTRIB:b++,ATTRIB_NAME:b++,ATTRIB_NAME_SAW_WHITE:b++,ATTRIB_VALUE:b++,ATTRIB_VALUE_QUOTED:b++,ATTRIB_VALUE_CLOSED:b++,ATTRIB_VALUE_UNQUOTED:b++,ATTRIB_VALUE_ENTITY_Q:b++,ATTRIB_VALUE_ENTITY_U:b++,CLOSE_TAG:b++,CLOSE_TAG_SAW_WHITE:b++,SCRIPT:b++,SCRIPT_ENDING:b++},e.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},e.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(e.ENTITIES).forEach(function(B){var k=e.ENTITIES[B],J=typeof k=="number"?String.fromCharCode(k):k;e.ENTITIES[B]=J});for(var x in e.STATE)e.STATE[e.STATE[x]]=x;b=e.STATE;function w(B,k,J){B[k]&&B[k](J)}function P(B,k,J){B.textNode&&M(B),w(B,k,J)}function M(B){B.textNode=L(B.opt,B.textNode),B.textNode&&w(B,"ontext",B.textNode),B.textNode=""}function L(B,k){return B.trim&&(k=k.trim()),B.normalize&&(k=k.replace(/\s+/g," ")),k}function U(B,k){return M(B),B.trackPosition&&(k+=` +Line: `+B.line+` +Column: `+B.column+` +Char: `+B.c),k=new Error(k),B.error=k,w(B,"onerror",k),B}function Y(B){return B.sawRoot&&!B.closedRoot&&$(B,"Unclosed root tag"),B.state!==b.BEGIN&&B.state!==b.BEGIN_WHITESPACE&&B.state!==b.TEXT&&U(B,"Unexpected end"),M(B),B.c="",B.closed=!0,w(B,"onend"),r.call(B,B.strict,B.opt),B}function $(B,k){if(typeof B!="object"||!(B instanceof r))throw new Error("bad call to strictFail");B.strict&&U(B,k)}function V(B){B.strict||(B.tagName=B.tagName[B.looseCase]());var k=B.tags[B.tags.length-1]||B,J=B.tag={name:B.tagName,attributes:{}};B.opt.xmlns&&(J.ns=k.ns),B.attribList.length=0,P(B,"onopentagstart",J)}function W(B,k){var J=B.indexOf(":"),D=J<0?["",B]:B.split(":"),H=D[0],K=D[1];return k&&B==="xmlns"&&(H="xmlns",K=""),{prefix:H,local:K}}function G(B){if(B.strict||(B.attribName=B.attribName[B.looseCase]()),B.attribList.indexOf(B.attribName)!==-1||B.tag.attributes.hasOwnProperty(B.attribName)){B.attribName=B.attribValue="";return}if(B.opt.xmlns){var k=W(B.attribName,!0),J=k.prefix,D=k.local;if(J==="xmlns")if(D==="xml"&&B.attribValue!==f)$(B,"xml: prefix must be bound to "+f+` +Actual: `+B.attribValue);else if(D==="xmlns"&&B.attribValue!==h)$(B,"xmlns: prefix must be bound to "+h+` +Actual: `+B.attribValue);else{var H=B.tag,K=B.tags[B.tags.length-1]||B;H.ns===K.ns&&(H.ns=Object.create(K.ns)),H.ns[D]=B.attribValue}B.attribList.push([B.attribName,B.attribValue])}else B.tag.attributes[B.attribName]=B.attribValue,P(B,"onattribute",{name:B.attribName,value:B.attribValue});B.attribName=B.attribValue=""}function se(B,k){if(B.opt.xmlns){var J=B.tag,D=W(B.tagName);J.prefix=D.prefix,J.local=D.local,J.uri=J.ns[D.prefix]||"",J.prefix&&!J.uri&&($(B,"Unbound namespace prefix: "+JSON.stringify(B.tagName)),J.uri=D.prefix);var H=B.tags[B.tags.length-1]||B;J.ns&&H.ns!==J.ns&&Object.keys(J.ns).forEach(function(be){P(B,"onopennamespace",{prefix:be,uri:J.ns[be]})});for(var K=0,q=B.attribList.length;K",B.tagName="",B.state=b.SCRIPT;return}P(B,"onscript",B.script),B.script=""}var k=B.tags.length,J=B.tagName;B.strict||(J=J[B.looseCase]());for(var D=J;k--;){var H=B.tags[k];if(H.name!==D)$(B,"Unexpected close tag");else break}if(k<0){$(B,"Unmatched closing tag: "+B.tagName),B.textNode+="",B.state=b.TEXT;return}B.tagName=J;for(var K=B.tags.length;K-- >k;){var q=B.tag=B.tags.pop();B.tagName=B.tag.name,P(B,"onclosetag",B.tagName);var z={};for(var Z in q.ns)z[Z]=q.ns[Z];var ae=B.tags[B.tags.length-1]||B;B.opt.xmlns&&q.ns!==ae.ns&&Object.keys(q.ns).forEach(function(ne){var ie=q.ns[ne];P(B,"onclosenamespace",{prefix:ne,uri:ie})})}k===0&&(B.closedRoot=!0),B.tagName=B.attribValue=B.attribName="",B.attribList.length=0,B.state=b.TEXT}function te(B){var k=B.entity,J=k.toLowerCase(),D,H="";return B.ENTITIES[k]?B.ENTITIES[k]:B.ENTITIES[J]?B.ENTITIES[J]:(k=J,k.charAt(0)==="#"&&(k.charAt(1)==="x"?(k=k.slice(2),D=parseInt(k,16),H=D.toString(16)):(k=k.slice(1),D=parseInt(k,10),H=D.toString(10))),k=k.replace(/^0+/,""),isNaN(D)||H.toLowerCase()!==k||D<0||D>1114111?($(B,"Invalid character entity"),"&"+B.entity+";"):String.fromCodePoint(D))}function Q(B,k){k==="<"?(B.state=b.OPEN_WAKA,B.startTagPosition=B.position):E(k)||($(B,"Non-whitespace before first tag."),B.textNode=k,B.state=b.TEXT)}function ee(B,k){var J="";return k"?(P(k,"onsgmldeclaration",k.sgmlDecl),k.sgmlDecl="",k.state=b.TEXT):(A(D)&&(k.state=b.SGML_DECL_QUOTED),k.sgmlDecl+=D);continue;case b.SGML_DECL_QUOTED:D===k.q&&(k.state=b.SGML_DECL,k.q=""),k.sgmlDecl+=D;continue;case b.DOCTYPE:D===">"?(k.state=b.TEXT,P(k,"ondoctype",k.doctype),k.doctype=!0):(k.doctype+=D,D==="["?k.state=b.DOCTYPE_DTD:A(D)&&(k.state=b.DOCTYPE_QUOTED,k.q=D));continue;case b.DOCTYPE_QUOTED:k.doctype+=D,D===k.q&&(k.q="",k.state=b.DOCTYPE);continue;case b.DOCTYPE_DTD:D==="]"?(k.doctype+=D,k.state=b.DOCTYPE):D==="<"?(k.state=b.OPEN_WAKA,k.startTagPosition=k.position):A(D)?(k.doctype+=D,k.state=b.DOCTYPE_DTD_QUOTED,k.q=D):k.doctype+=D;continue;case b.DOCTYPE_DTD_QUOTED:k.doctype+=D,D===k.q&&(k.state=b.DOCTYPE_DTD,k.q="");continue;case b.COMMENT:D==="-"?k.state=b.COMMENT_ENDING:k.comment+=D;continue;case b.COMMENT_ENDING:D==="-"?(k.state=b.COMMENT_ENDED,k.comment=L(k.opt,k.comment),k.comment&&P(k,"oncomment",k.comment),k.comment=""):(k.comment+="-"+D,k.state=b.COMMENT);continue;case b.COMMENT_ENDED:D!==">"?($(k,"Malformed comment"),k.comment+="--"+D,k.state=b.COMMENT):k.doctype&&k.doctype!==!0?k.state=b.DOCTYPE_DTD:k.state=b.TEXT;continue;case b.CDATA:for(var K=J-1;D&&D!=="]";)D=ee(B,J++),D&&k.trackPosition&&(k.position++,D===` +`?(k.line++,k.column=0):k.column++);k.cdata+=B.substring(K,J-1),D==="]"&&(k.state=b.CDATA_ENDING);continue;case b.CDATA_ENDING:D==="]"?k.state=b.CDATA_ENDING_2:(k.cdata+="]"+D,k.state=b.CDATA);continue;case b.CDATA_ENDING_2:D===">"?(k.cdata&&P(k,"oncdata",k.cdata),P(k,"onclosecdata"),k.cdata="",k.state=b.TEXT):D==="]"?k.cdata+="]":(k.cdata+="]]"+D,k.state=b.CDATA);continue;case b.PROC_INST:D==="?"?k.state=b.PROC_INST_ENDING:E(D)?k.state=b.PROC_INST_BODY:k.procInstName+=D;continue;case b.PROC_INST_BODY:if(!k.procInstBody&&E(D))continue;D==="?"?k.state=b.PROC_INST_ENDING:k.procInstBody+=D;continue;case b.PROC_INST_ENDING:D===">"?(P(k,"onprocessinginstruction",{name:k.procInstName,body:k.procInstBody}),k.procInstName=k.procInstBody="",k.state=b.TEXT):(k.procInstBody+="?"+D,k.state=b.PROC_INST_BODY);continue;case b.OPEN_TAG:T(g,D)?k.tagName+=D:(V(k),D===">"?se(k):D==="/"?k.state=b.OPEN_TAG_SLASH:(E(D)||$(k,"Invalid character in tag name"),k.state=b.ATTRIB));continue;case b.OPEN_TAG_SLASH:D===">"?(se(k,!0),ue(k)):($(k,"Forward-slash in opening tag not followed by >"),k.state=b.ATTRIB);continue;case b.ATTRIB:if(E(D))continue;D===">"?se(k):D==="/"?k.state=b.OPEN_TAG_SLASH:T(m,D)?(k.attribName=D,k.attribValue="",k.state=b.ATTRIB_NAME):$(k,"Invalid attribute name");continue;case b.ATTRIB_NAME:D==="="?k.state=b.ATTRIB_VALUE:D===">"?($(k,"Attribute without value"),k.attribValue=k.attribName,G(k),se(k)):E(D)?k.state=b.ATTRIB_NAME_SAW_WHITE:T(g,D)?k.attribName+=D:$(k,"Invalid attribute name");continue;case b.ATTRIB_NAME_SAW_WHITE:if(D==="=")k.state=b.ATTRIB_VALUE;else{if(E(D))continue;$(k,"Attribute without value"),k.tag.attributes[k.attribName]="",k.attribValue="",P(k,"onattribute",{name:k.attribName,value:""}),k.attribName="",D===">"?se(k):T(m,D)?(k.attribName=D,k.state=b.ATTRIB_NAME):($(k,"Invalid attribute name"),k.state=b.ATTRIB)}continue;case b.ATTRIB_VALUE:if(E(D))continue;A(D)?(k.q=D,k.state=b.ATTRIB_VALUE_QUOTED):(k.opt.unquotedAttributeValues||U(k,"Unquoted attribute value"),k.state=b.ATTRIB_VALUE_UNQUOTED,k.attribValue=D);continue;case b.ATTRIB_VALUE_QUOTED:if(D!==k.q){D==="&"?k.state=b.ATTRIB_VALUE_ENTITY_Q:k.attribValue+=D;continue}G(k),k.q="",k.state=b.ATTRIB_VALUE_CLOSED;continue;case b.ATTRIB_VALUE_CLOSED:E(D)?k.state=b.ATTRIB:D===">"?se(k):D==="/"?k.state=b.OPEN_TAG_SLASH:T(m,D)?($(k,"No whitespace between attributes"),k.attribName=D,k.attribValue="",k.state=b.ATTRIB_NAME):$(k,"Invalid attribute name");continue;case b.ATTRIB_VALUE_UNQUOTED:if(!v(D)){D==="&"?k.state=b.ATTRIB_VALUE_ENTITY_U:k.attribValue+=D;continue}G(k),D===">"?se(k):k.state=b.ATTRIB;continue;case b.CLOSE_TAG:if(k.tagName)D===">"?ue(k):T(g,D)?k.tagName+=D:k.script?(k.script+=""?ue(k):$(k,"Invalid characters in closing tag");continue;case b.TEXT_ENTITY:case b.ATTRIB_VALUE_ENTITY_Q:case b.ATTRIB_VALUE_ENTITY_U:var q,z;switch(k.state){case b.TEXT_ENTITY:q=b.TEXT,z="textNode";break;case b.ATTRIB_VALUE_ENTITY_Q:q=b.ATTRIB_VALUE_QUOTED,z="attribValue";break;case b.ATTRIB_VALUE_ENTITY_U:q=b.ATTRIB_VALUE_UNQUOTED,z="attribValue";break}if(D===";"){var Z=te(k);k.opt.unparsedEntities&&!Object.values(e.XML_ENTITIES).includes(Z)?(k.entity="",k.state=q,k.write(Z)):(k[z]+=Z,k.entity="",k.state=q)}else T(k.entity.length?y:_,D)?k.entity+=D:($(k,"Invalid character in entity name"),k[z]+="&"+k.entity+D,k.entity="",k.state=q);continue;default:throw new Error(k,"Unknown state: "+k.state)}return k.position>=k.bufferCheckPosition&&n(k),k}String.fromCodePoint||function(){var B=String.fromCharCode,k=Math.floor,J=function(){var D=16384,H=[],K,q,z=-1,Z=arguments.length;if(!Z)return"";for(var ae="";++z1114111||k(ne)!==ne)throw RangeError("Invalid code point: "+ne);ne<=65535?H.push(ne):(ne-=65536,K=(ne>>10)+55296,q=ne%1024+56320,H.push(K,q)),(z+1===Z||H.length>D)&&(ae+=B.apply(null,H),H.length=0)}return ae};Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:J,configurable:!0,writable:!0}):String.fromCodePoint=J}()})(typeof jj>"u"?jj.sax={}:jj)});var _3t=S(DIe=>{(function(){"use strict";DIe.stripBOM=function(e){return e[0]==="\uFEFF"?e.substring(1):e}}).call(DIe)});var PIe=S(PT=>{(function(){"use strict";var e;e=new RegExp(/(?!xmlns)^.*:/),PT.normalize=function(t){return t.toLowerCase()},PT.firstCharLowerCase=function(t){return t.charAt(0).toLowerCase()+t.slice(1)},PT.stripPrefix=function(t){return t.replace(e,"")},PT.parseNumbers=function(t){return isNaN(t)||(t=t%1===0?parseInt(t,10):parseFloat(t)),t},PT.parseBooleans=function(t){return/^(?:true|false)$/i.test(t)&&(t=t.toLowerCase()==="true"),t}}).call(PT)});var A3t=S(wg=>{(function(){"use strict";var e,t,r,n,s,i,a,o,c,u=function(f,h){return function(){return f.apply(h,arguments)}},l=function(f,h){for(var p in h)d.call(h,p)&&(f[p]=h[p]);function m(){this.constructor=f}return m.prototype=h.prototype,f.prototype=new m,f.__super__=h.prototype,f},d={}.hasOwnProperty;o=g3t(),n=require("events"),e=_3t(),a=PIe(),c=require("timers").setImmediate,t=wj().defaults,s=function(f){return typeof f=="object"&&f!=null&&Object.keys(f).length===0},i=function(f,h,p){var m,g,_;for(m=0,g=f.length;m0&&(T[y.options.childkey]=b),b=T;else if(P){P[y.options.childkey]=P[y.options.childkey]||[],x={};for(v in b)d.call(b,v)&&r(x,v,b[v]);P[y.options.childkey].push(x),delete b["#name"],Object.keys(b).length===1&&m in b&&!y.EXPLICIT_CHARKEY&&(b=b[m])}}return _.length>0?y.assignOrPush(P,C,b):(y.options.explicitRoot&&(w=b,b={},r(b,C,w)),y.resultObject=b,y.saxParser.ended=!0,y.emit("end",y.resultObject))}}(this),g=function(y){return function(E){var A,v;if(v=_[_.length-1],v)return v[m]+=E,y.options.explicitChildren&&y.options.preserveChildrenOrder&&y.options.charsAsChildren&&(y.options.includeWhiteChars||E.replace(/\\n/g,"").trim()!=="")&&(v[y.options.childkey]=v[y.options.childkey]||[],A={"#name":"__text__"},A[m]=E,y.options.normalize&&(A[m]=A[m].replace(/\s{2,}/g," ").trim()),v[y.options.childkey].push(A)),v}}(this),this.saxParser.ontext=g,this.saxParser.oncdata=function(y){return function(E){var A;if(A=g(E),A)return A.cdata=!0}}(this)},h.prototype.parseString=function(p,m){var g;m!=null&&typeof m=="function"&&(this.on("end",function(_){return this.reset(),m(null,_)}),this.on("error",function(_){return this.reset(),m(_)}));try{return p=p.toString(),p.trim()===""?(this.emit("end",null),!0):(p=e.stripBOM(p),this.options.async?(this.remaining=p,c(this.processAsync),this.saxParser):this.saxParser.write(p).close())}catch(_){if(g=_,this.saxParser.errThrown||this.saxParser.ended){if(this.saxParser.ended)throw g}else return this.emit("error",g),this.saxParser.errThrown=!0}},h.prototype.parseStringPromise=function(p){return new Promise(function(m){return function(g,_){return m.parseString(p,function(y,E){return y?_(y):g(E)})}}(this))},h}(n),wg.parseString=function(f,h,p){var m,g,_;return p!=null?(typeof p=="function"&&(m=p),typeof h=="object"&&(g=h)):(typeof h=="function"&&(m=h),g={}),_=new wg.Parser(g),_.parseString(f,m)},wg.parseStringPromise=function(f,h){var p,m;return typeof h=="object"&&(p=h),m=new wg.Parser(p),m.parseStringPromise(f)}}).call(wg)});var E3t=S(Ng=>{(function(){"use strict";var e,t,r,n,s=function(a,o){for(var c in o)i.call(o,c)&&(a[c]=o[c]);function u(){this.constructor=a}return u.prototype=o.prototype,a.prototype=new u,a.__super__=o.prototype,a},i={}.hasOwnProperty;t=wj(),e=m3t(),r=A3t(),n=PIe(),Ng.defaults=t.defaults,Ng.processors=n,Ng.ValidationError=function(a){s(o,a);function o(c){this.message=c}return o}(Error),Ng.Builder=e.Builder,Ng.Parser=r.Parser,Ng.parseString=r.parseString,Ng.parseStringPromise=r.parseStringPromise}).call(Ng)});function N3t(e){return e===400||e===401||e===403}function O3t(e,t=300){if(e==null)return"empty";if(typeof e=="string")return e.slice(0,t).replace(/\s+/g," ");try{return JSON.stringify(e).slice(0,t)}catch{return"[unserializable]"}}function S3t(e,t){let r=O3t(e,500),n=r.toLowerCase(),s=/invalidsessionkey|cookieusersession is null or invalid|usersessionbo is null/.test(n),i=/check ip error|cookiesip=|curip=/.test(n),a=/permissiondenied|file type error or not support|forbidden|access denied|无权限/.test(n),o=N3t(t)||s||i||a,c="unknown",u="\u5929\u7FFC\u5206\u4EAB\u64AD\u653E\u9274\u6743\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5",l=o,d="refresh_share_cookie";return i?(c="ip_mismatch",u="\u5929\u7FFC\u5206\u4EAB\u64AD\u653E\u9274\u6743\u5931\u8D25\uFF1A\u7F51\u7EDC\u51FA\u53E3\u53D8\u5316\u5BFC\u81F4\u4F1A\u8BDD\u5931\u6548\uFF0C\u5DF2\u5C1D\u8BD5\u5207\u6362 IPv4 \u4F1A\u8BDD",l=!0,d="force_share_login_ipv4_once"):s?(c="invalid_session",u="\u5929\u7FFC\u5206\u4EAB\u64AD\u653E\u9274\u6743\u5DF2\u5931\u6548\uFF0C\u5DF2\u5C1D\u8BD5\u81EA\u52A8\u5237\u65B0",l=!0,d="refresh_share_cookie"):a?(c="access_denied",u="\u5929\u7FFC\u5206\u4EAB\u64AD\u653E\u9274\u6743\u5931\u8D25\uFF1A\u5F53\u524D\u5206\u4EAB\u4F1A\u8BDD\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5",l=!1,d="no_retry"):o&&(c="auth",u="\u5929\u7FFC\u5206\u4EAB\u64AD\u653E\u9274\u6743\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5",l=!0,d="refresh_share_cookie"),{authFailure:o,category:c,detail:r,message:u,retryable:l,retryAdvice:d}}function fcn(e){switch(e){case"ip_mismatch":return"\u5929\u7FFC\u5206\u4EAB\u64AD\u653E\u9274\u6743\u5931\u8D25\uFF1A\u5F53\u524D\u7F51\u7EDC\u51FA\u53E3\u53D8\u5316\u5BFC\u81F4\u4F1A\u8BDD\u5931\u6548\uFF0C\u5DF2\u81EA\u52A8\u91CD\u5EFA IPv4 \u4F1A\u8BDD\uFF1B\u82E5\u4ECD\u5931\u8D25\u8BF7\u7A0D\u540E\u91CD\u8BD5";case"invalid_session":return"\u5929\u7FFC\u5206\u4EAB\u64AD\u653E\u9274\u6743\u5931\u6548\uFF0C\u5DF2\u81EA\u52A8\u91CD\u8BD5\uFF1B\u82E5\u4ECD\u5931\u8D25\u8BF7\u7A0D\u540E\u518D\u8BD5";case"access_denied":return"\u5929\u7FFC\u5206\u4EAB\u64AD\u653E\u9274\u6743\u5931\u8D25\uFF1A\u5F53\u524D\u5206\u4EAB\u4F1A\u8BDD\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5";default:return"\u5929\u7FFC\u5206\u4EAB\u64AD\u653E\u9274\u6743\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"}}function rp(e={}){let t={...e||{}};return t.httpAgent=t.httpAgent||hcn,t.httpsAgent=t.httpsAgent||pcn,t.family=4,t}function LT(e){return Array.isArray(e)?e.map(t=>String(t||"").split(";")[0].trim()).filter(Boolean):[]}function lx(e){let t=new Map;return e.forEach(r=>{let n=r.indexOf("=");if(n<=0)return;let s=r.slice(0,n).trim(),i=r.slice(n+1).trim();s&&t.set(s,`${s}=${i}`)}),Array.from(t.values())}function T3t(e,t={}){return e?.toUrl||e?.data?.toUrl||e?.returnUrl||e?.data?.returnUrl||e?.redirectUrl||e?.data?.redirectUrl||t?.location||""}function LIe(e=""){return/\.cas$/i.test(String(e||""))}function R4(e=""){return String(e||"").replace(/\.cas$/i,"")}function FIe(e=""){let t=String(e||"").trim();if(!t||/[\\/]/.test(t))throw new Error(`\u65E0\u6548\u7684\u6E90\u6587\u4EF6\u540D: ${e}`);return t}function mcn(e={}){let t=JSON.stringify(e||{});return BIe+Buffer.from(t,"utf8").toString("base64url")}function D3t(e=""){let t=String(e||"");if(!t.startsWith(BIe))return null;try{let r=Buffer.from(t.slice(BIe.length),"base64url").toString("utf8"),n=JSON.parse(r);return n&&typeof n=="object"?n:null}catch{return null}}function P3t(e=""){return!!D3t(e)}function gcn(e=""){let t=FIe(e||`video-${Date.now()}.cas`),r=t.lastIndexOf("."),n=`${Date.now()}_${Math.floor(Math.random()*1e5)}`;return r<=0?`${t}.${n}`:`${t.slice(0,r)}.${n}${t.slice(r)}`}function _cn(){return cn.TEMP_DIR_NAME}function dx(e){return e==null?"":typeof e=="string"?e.trim():String(typeof e=="number"||typeof e=="boolean"?e:typeof e=="object"?e.code||e.errorCode||e.message||e.errorMsg||JSON.stringify(e):e)}function MIe(e){if(!e)return"";let t=typeof e=="string"?Yj(e):e;if(!t||typeof t!="object")return"";let r=t.res_code;return typeof r=="number"&&r!==0?`res_code: ${r} ${dx(t.res_message)}`.trim():typeof r=="string"&&r?`res_code: ${r} ${dx(t.res_message)}`.trim():t.code&&t.code!=="SUCCESS"?`code: ${t.code} ${dx(t.msg||t.message)}`.trim():t.errorCode?`err_code: ${t.errorCode} ${dx(t.errorMsg)}`.trim():t.error?`error: ${dx(t.error)} ${dx(t.message)}`.trim():""}function Yj(e=""){try{return JSON.parse(String(e||""))}catch{return null}}function kIe(){return{clientType:cn.PC,version:cn.VERSION,channelId:cn.CHANNEL_ID,rand:`${Math.floor(Math.random()*1e5)}_${Math.floor(Math.random()*1e10)}`}}function Acn(){return new Date().toUTCString()}function Ecn(){return Date.now()}function Kj(e="",t){return String(e||"").match(t)?.[1]||""}function ME(e={}){if(!e||typeof e!="object")return{};for(let t of ycn)if(e[t]&&typeof e[t]=="object")return e[t];return e}function C4(e){return Array.isArray(e)?e:e?[e]:[]}function UIe(e={},t={}){let r=ME(e);return{...t,accessToken:String(r?.accessToken||t?.accessToken||""),refreshToken:String(r?.refreshToken||t?.refreshToken||""),sessionKey:String(r?.sessionKey||t?.sessionKey||""),sessionSecret:String(r?.sessionSecret||t?.sessionSecret||""),familySessionKey:String(r?.familySessionKey||t?.familySessionKey||""),familySessionSecret:String(r?.familySessionSecret||t?.familySessionSecret||""),loginName:String(r?.loginName||t?.loginName||"")}}async function b3t(e){let t=await L3t(e);return UIe(t)}async function L3t(e){if(e&&typeof e=="object")return e;let t=String(e||"").trim();if(!t)return{};if(t.startsWith("{")||t.startsWith("["))return Yj(t)||{};if(!t.startsWith("<"))return{};try{return await(0,w3t.parseStringPromise)(t,{explicitArray:!1,trim:!0})||{}}catch{return{}}}function vcn(e,t,r,n,s,i=""){let a=new URL(n).pathname,o=kT.default.createHmac("sha1",e),c=`SessionKey=${t}&Operate=${r}&RequestURI=${a}&Date=${s}`;return i&&(c+=`¶ms=${i}`),o.update(c),o.digest("hex").toUpperCase()}function Scn(e,t){let r=e.length%t,n=r===0?t:t-r;return Buffer.concat([e,Buffer.alloc(n,n)])}function Tcn(e,t){let r=Buffer.from(String(t||"").slice(0,16),"utf8"),n=kT.default.createCipheriv("aes-128-ecb",r,null);n.setAutoPadding(!1);let s=Scn(Buffer.from(String(e||""),"utf8"),16);return Buffer.concat([n.update(s),n.final()]).toString("hex").toUpperCase()}function bcn(e={},t=""){let n=Object.entries(e||{}).filter(([,s])=>s!=null&&s!=="").sort(([s],[i])=>s.localeCompare(i)).map(([s,i])=>`${s}=${i}`).join("&");return n?Tcn(n,t):""}function Icn(e){return e>10485760*2*999?Math.max(Math.ceil(e/1999/10485760),5)*10485760:e>10485760*999?10485760*2:10485760}function Rcn(e){let t=Buffer.from(e||[]).toString("utf8").replace(/^\uFEFF/,"").trim();if(!t)throw new Error("\u7A7A\u7684 .cas \u6587\u4EF6");let r=null;if(t.startsWith("{")&&t.endsWith("}")&&(r=Yj(t)),!r){let s=Buffer.from(t,"base64").toString("utf8");r=Yj(s)}if(!r||typeof r!="object")throw new Error("\u89E3\u6790 .cas \u5931\u8D25");let n={name:FIe(r.name||""),size:Number(r.size||0),md5:String(r.md5||"").trim(),sliceMd5:String(r.sliceMd5||r.slice_md5||"").trim(),createTime:String(r.create_time||"").trim()};if(!n.md5||!n.sliceMd5||!Number.isFinite(n.size)||n.size<0)throw new Error("\u65E0\u6548\u7684 .cas \u5143\u6570\u636E");return n}function I3t(e=""){return String(e||"").trim().toUpperCase()}var R3t,C3t,MT,x3t,w3t,kT,kE,sc,cn,BIe,I4,Ha,dcn,nc,y3t,v3t,Gj,BT,hcn,pcn,ycn,fx,BE,$Ie=oe(()=>{Pr();R3t=we(require("http"),1),C3t=we(require("https"),1),MT=we(wC(),1),x3t=we(W4t(),1),w3t=we(E3t(),1),kT=we(require("crypto"),1);Fa();ju();Nd();xl();Bi();a0();sc={},cn={WEB_URL:"https://cloud.189.cn",API_URL:"https://api.cloud.189.cn",UPLOAD_URL:"https://upload.cloud.189.cn",PC:"TELEPC",VERSION:"6.2",CHANNEL_ID:"web_cloud.189.cn",APP_ID:"8025431004",ACCOUNT_TYPE:"02",LOGIN_CLIENT_TYPE:"10020",RETURN_URL:"https://m.cloud.189.cn/zhuanti/2020/loginErrorPc/index.html",ROOT_FOLDER_ID:"-11",TEMP_DIR_NAME:"CatVodOpen",TEMP_DIR_PREFIX:"CatVodOpen-cas-",DELETE_DELAY_MS:2*60*60*1e3},BIe="!tycas1!",I4="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",Ha={legacy:"cloud_cookie",private:"cloud_cookie_private",share:"cloud_cookie_share"},dcn=2,nc={set(e,t){if(sc[e]=t,!kE)return Promise.resolve();let r=kE.push(`/tyi/${e}`,t);return r&&typeof r.catch=="function"&&r.catch(n=>console.warn(`[cloud] db.push /tyi/${e} \u5931\u8D25:`,n.message)),r},get(e){return sc[e]}},y3t=(e,t={})=>{let r=t.method||"GET",n=t.headers||{};return Se({method:r,url:e,headers:n,transformResponse:[s=>s]}).then(s=>({ok:s.status===200,status:s.status,statusText:s.statusText,url:s.config.url,text:()=>Promise.resolve(s.data),json:()=>Promise.resolve(JSON.parse(s.data)),headers:s.headers})).catch(s=>s.response?{ok:!1,status:s.response.status,statusText:s.response.statusText,url:s.config.url,text:()=>Promise.resolve(s.response.data),json:()=>Promise.resolve(JSON.parse(s.response.data)),headers:s.response.headers}:s.request?{ok:!1,status:0,statusText:"No response received",text:()=>Promise.resolve(""),json:()=>Promise.reject(new Error("No response received"))}:Promise.reject(s))},v3t=(0,x3t.default)({storeAsString:!0}),Gj=class{publicKey=null;setPublicKey(t){this.publicKey=t}encrypt(t){let r=Buffer.from(t,"utf8");return kT.default.publicEncrypt({key:this.publicKey,padding:kT.default.constants.RSA_PKCS1_PADDING},r).toString("base64")}},BT=async e=>{kE=e.server.db,sc=await kE.getObjectDefault("/tyi",{});let t=String(e?.server?.config?.tianyi?.username||""),r=String(e?.server?.config?.tianyi?.password||"");!sc.cloud_account&&t&&(sc.cloud_account=t,await kE.push("/tyi/cloud_account",t)),!sc.cloud_password&&r&&(sc.cloud_password=r,await kE.push("/tyi/cloud_password",r));let n=String(sc[Ha.legacy]||"").trim(),s=String(sc[Ha.private]||"").trim(),i=String(sc[Ha.share]||"").trim();n&&(s||(sc[Ha.private]=n,await kE.push(`/tyi/${Ha.private}`,n)),i||(sc[Ha.share]=n,await kE.push(`/tyi/${Ha.share}`,n))),console.log(`[Tianyi] initCloud account=${sc.cloud_account?"set":"empty"} password=${sc.cloud_password?"set":"empty"} privateCookie=${String(sc[Ha.private]||n).trim()?"set":"empty"} shareCookie=${String(sc[Ha.share]||n).trim()?"set":"empty"}`)};hcn=new R3t.default.Agent({keepAlive:!0,family:4}),pcn=new C3t.default.Agent({keepAlive:!0,family:4});ycn=["data","userSession","folder","listFiles","fileDownload","commitMultiUploadFile","initMultiUpload","TaskIdResp","taskState","batchTask"];fx=class{constructor(){this.regex=/https?:\/\/cloud\.189\.cn\/web\/share\?code=([^&]+)/,this.config={clientId:"538135150693412",model:"KB2000",version:"9.0.6",pubKey:"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCZLyV4gHNDUGJMZoOcYauxmNEsKrc0TlLeBEVVIIQNzG4WqjimceOj5R9ETwDeeSN3yejAKLGHgx83lyy2wBjvnbfm/nLObyWwQD/09CmpZdxoFYCH6rdDjRpwZOZ2nXSZpgkZXoOBkfNXNxnN74aXtho2dqBynTw3NFTWyQl8BQIDAQAB"},this.headers={"User-Agent":`Mozilla/5.0 (Linux; U; Android 11; ${this.config.model} Build/RP1A.201005.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36 Ecloud/${this.config.version} Android/30 clientId/${this.config.clientId} clientModel/${this.config.model} clientChannelId/qq proVersion/1.0.6`,Referer:"https://m.cloud.189.cn/zhuanti/2016/sign/index.jsp?albumBackupOpened=1","Accept-Encoding":"gzip, deflate"},this.api="https://cloud.189.cn/api",this.shareCode="",this.accessCode="",this.shareId="",this.shareMode="",this.isFolder="",this._privateCookie=String(nc.get(Ha.private)||nc.get(Ha.legacy)||"").trim(),this._shareCookie=String(nc.get(Ha.share)||"").trim(),this._shareAuthRetryCount=0,this._shareAuthLastError=null}get account(){return nc.get("cloud_account")}get password(){return nc.get("cloud_password")}get cookie(){return this.privateCookie}set cookie(t){this.privateCookie=t}get privateCookie(){return String(this._privateCookie||nc.get(Ha.private)||nc.get(Ha.legacy)||"").trim()}set privateCookie(t){this._privateCookie=String(t||"").trim(),nc.set(Ha.private,this._privateCookie),nc.set(Ha.legacy,this._privateCookie)}get shareCookie(){return String(this._shareCookie||nc.get(Ha.share)||"").trim()}set shareCookie(t){this._shareCookie=String(t||"").trim(),nc.set(Ha.share,this._shareCookie)}get tokenInfo(){return nc.get("cloud_token_info")||null}set tokenInfo(t){t&&typeof t=="object"?nc.set("cloud_token_info",t):nc.set("cloud_token_info",null)}get tempDirId(){return nc.get("cloud_temp_dir_id")||""}set tempDirId(t){nc.set("cloud_temp_dir_id",String(t||""))}hasCookie(){return this.hasPrivateCookie()}hasPrivateCookie(){return!!String(this.privateCookie||"").trim()}hasShareCookie(){return!!String(this.shareCookie||"").trim()}hasTokenInfo(){let t=this.tokenInfo;return!!(t?.sessionKey&&t?.sessionSecret)}async ensureLogin(){if(!this.account||!this.password)throw new Error("\u5929\u7FFC\u8D26\u53F7\u6216\u5BC6\u7801\u4E3A\u7A7A\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u586B\u5199");(!this.hasPrivateCookie()||!this.hasTokenInfo())&&await this.login(this.account,this.password)}clearAuthState(){this.clearPrivateAuthState()}clearPrivateAuthState(){this.privateCookie="",this.tokenInfo=null}clearShareAuthState(){this.shareCookie=""}resetShareAuthRetryState(){this._shareAuthRetryCount=0,this._shareAuthLastError=null}rememberShareAuthError(t){this._shareAuthLastError=t||null}flushShareAuthFailure(t={}){let r=t?.silentAuthFailure===!0,n=this._shareAuthLastError;this.resetShareAuthRetryState(),!(r||!n)&&Qr.toast(fcn(n.authCategory),{duration:5})}buildShareAuthError(t,r,n="\u5929\u7FFC\u64AD\u653E\u9274\u6743\u5931\u8D25"){let s=S3t(r,t),i=new Error(`${n} status=${t||"unknown"} body=${s.detail}`);return i.isAuthFailure=s.authFailure,i.authCategory=s.category,i.userMessage=s.message,i.response={status:t,data:r},i}getSessionHeader(t,r,n="",s=!1){let i=this.tokenInfo;if(!i)throw new Error("\u7F3A\u5C11\u5929\u7FFC\u79C1\u6709\u76D8\u4F1A\u8BDD");let a=s?i.familySessionKey:i.sessionKey,o=s?i.familySessionSecret:i.sessionSecret;if(!a||!o)throw new Error("\u5929\u7FFC\u79C1\u6709\u76D8\u4F1A\u8BDD\u4E0D\u5B8C\u6574");let c=Acn();return{Date:c,SessionKey:a,"X-Request-ID":kT.default.randomUUID(),Signature:vcn(o,a,r,t,c,n)}}encryptPrivateParams(t={},r=!1){let n=this.tokenInfo;if(!n)throw new Error("\u7F3A\u5C11\u5929\u7FFC\u79C1\u6709\u76D8\u4F1A\u8BDD");let s=r?n.familySessionSecret:n.sessionSecret;if(!s)throw new Error("\u5929\u7FFC\u79C1\u6709\u76D8\u4F1A\u8BDD\u5BC6\u94A5\u7F3A\u5931");return bcn(t,s)}async refreshSession(){let t=this.tokenInfo;if(!t?.accessToken)throw new Error("\u7F3A\u5C11 accessToken\uFF0C\u65E0\u6CD5\u5237\u65B0\u4F1A\u8BDD");let r=await Se.get(`${cn.API_URL}/getSessionForPC.action`,{params:{...kIe(),appId:cn.APP_ID,accessToken:t.accessToken},headers:{"User-Agent":I4,"X-Request-ID":kT.default.randomUUID(),...this.hasPrivateCookie()?{Cookie:String(this.privateCookie||"").trim()}:{}},validateStatus:null}),n=MIe(r.data);if(n)throw new Error(n);let s=UIe(await b3t(r.data),t);if(!s.sessionKey||!s.sessionSecret)throw new Error("\u5237\u65B0\u5929\u7FFC\u79C1\u6709\u76D8\u4F1A\u8BDD\u5931\u8D25\uFF1A\u672A\u8FD4\u56DE sessionKey");return this.tokenInfo=s,s}async requestPrivateApi(t,r="GET",n={},{isFamily:s=!1,form:i=null,encryptedParams:a=null}={}){await this.ensureLogin();let o=async()=>{let c=a?this.encryptPrivateParams(a,s):"",u={...kIe(),...Object.fromEntries(Object.entries(n||{}).filter(([,m])=>m!=null&&m!==""))};c&&(u.params=c);let l={"User-Agent":I4,Referer:cn.WEB_URL,...this.getSessionHeader(t,r,c,s)},d={method:r,url:t,params:u,headers:l,validateStatus:null};i&&(d.headers["Content-Type"]="application/x-www-form-urlencoded",d.data=MT.default.stringify(Object.fromEntries(Object.entries(i).filter(([,m])=>m!=null&&m!==""))));let f=await Se(d),h=await L3t(f.data),p=MIe(h);if(typeof f.data=="string"&&/InvalidSessionKey|userSessionBO is null/.test(f.data)){let m=new Error("InvalidSessionKey");throw m.code="INVALID_SESSION_KEY",m}if(p){let m=new Error(p);throw/UserInvalidOpenToken|InvalidSessionKey/i.test(p)&&(m.code="INVALID_SESSION_KEY"),m}return h};try{return await o()}catch(c){if(c?.code==="INVALID_SESSION_KEY")return await this.refreshSession(),await o();throw c}}async createTempDir(t=!1){let r={id:cn.ROOT_FOLDER_ID,name:"root"};try{await this.makeDir(r,cn.TEMP_DIR_NAME)}catch{}let s=(await this.getPrivateFiles(cn.ROOT_FOLDER_ID,!1,"filename","asc",50)).find(i=>i.isFolder&&i.name===cn.TEMP_DIR_NAME);if(!s?.id)throw new Error("\u521B\u5EFA\u5929\u7FFC\u4E34\u65F6\u76EE\u5F55\u5931\u8D25");return this.tempDirId=s.id,t&&await this.clearTempDir(s.id),s.id}async ensureTempDir(t=!1){await this.ensureLogin();let r=this.tempDirId||await this.createTempDir(t);return console.log(`[Tianyi][temp] ensureTempDir dirId=${r} clean=${t?1:0}`),t&&await this.clearTempDir(r),r}async clearTempDir(t=""){let r=String(t||this.tempDirId||"");if(!r)return;let n=await this.getPrivateFiles(r,!1,"filename","asc",200);if(console.log(`[Tianyi][temp] \u6E05\u7406\u4E34\u65F6\u76EE\u5F55 dirId=${r} fileCount=${n.length}`),!!n.length){for(let s of n)console.log(`[Tianyi][temp] \u5220\u9664\u4E34\u65F6\u6587\u4EF6 id=${s.id} name=${s.name} isFolder=${s.isFolder?1:0} size=${s.size||0}`),await this.deletePrivateFile(s.id,s.name,s.isFolder,{wait:!0});for(let s=1;s<=10;s++){let i=await this.getPrivateFiles(r,!1,"filename","asc",200);if(console.log(`[Tianyi][temp] \u6E05\u7406\u540E\u5269\u4F59 dirId=${r} remain=${i.length} attempt=${s}`),!i.length)return;await new Promise(a=>setTimeout(a,500*s))}}}async makeDir(t,r){let n=await this.requestPrivateApi(`${cn.API_URL}/createFolder.action`,"POST",{folderName:r,relativePath:"",parentFolderId:t.id}),s=n?.folder||n;return{id:String(s?.id||""),name:r,isFolder:!0}}async getPrivateFiles(t,r=!1,n="filename",s="asc",i=1e3){let a=[];for(let o=1;;o++){let c=`${cn.API_URL}${r?"/family/file":""}/listFiles.action`,u=await this.requestPrivateApi(c,"GET",{folderId:t,fileType:"0",mediaAttr:"0",iconOption:"5",pageNum:String(o),pageSize:String(i),recursive:r?void 0:"0",orderBy:n,descending:s==="desc"?"true":"false"},{isFamily:r}),l=ME(u),d=l?.fileListAO||l?.fileList||l,f=d?.folderList||d?.folder||[],h=d?.fileList||d?.file||[],p=C4(f),m=C4(h),g=p.length>0||m.length>0,_=Number(d?.count||(g?p.length+m.length:0)||0);if(!g&&!_||(p.forEach(y=>{a.push({id:String(y.id||""),name:String(y.name||""),isFolder:!0})}),m.forEach(y=>{a.push({id:String(y.id||""),name:String(y.name||""),size:Number(y.size||0),md5:String(y.md5||""),isFolder:!1})}),!g||_!i.isFolder&&i.name===r)||null}async findPrivateFileByPredicate(t,r,n=!1,s="filename",i="asc",a=200){return(await this.getPrivateFiles(t,n,s,i,a)).find(c=>{try{return!!r(c)}catch{return!1}})||null}async createBatchTask(t,r,n,s={},i=[]){let a={type:t,taskInfos:JSON.stringify(i),...s};n&&(a.targetFolderId=n),r&&(a.familyId=r);let o=await this.requestPrivateApi(`${cn.API_URL}/batch/createBatchTask.action`,"POST",{},{isFamily:!!r,form:a}),c=ME(o);return{...c,taskId:String(c?.taskId||"")}}async checkBatchTask(t,r){let n=await this.requestPrivateApi(`${cn.API_URL}/batch/checkBatchTask.action`,"POST",{},{form:{type:t,taskId:r}}),s=ME(n),i=s?.TaskResultResp||s?.taskResultResp||s;return{...s,TaskResultResp:i,taskId:String(i?.taskId||s?.taskId||r||""),taskStatus:Number(i?.taskStatus||s?.taskStatus||0),successedCount:Number(i?.successedCount||s?.successedCount||0),failedCount:Number(i?.failedCount||s?.failedCount||0),skipCount:Number(i?.skipCount||s?.skipCount||0),errorCode:String(i?.errorCode||s?.errorCode||"")}}async getConflictTaskInfo(t,r){let n=await this.requestPrivateApi(`${cn.API_URL}/batch/getConflictTaskInfo.action`,"POST",{},{form:{type:t,taskId:r}});return ME(n)||{}}async manageBatchTask(t,r,n,s=[]){await this.requestPrivateApi(`${cn.API_URL}/batch/manageBatchTask.action`,"POST",{},{form:{type:t,taskId:r,targetFolderId:String(n||""),taskInfos:JSON.stringify(s||[])}})}async waitBatchTask(t,r,n=1e3,s=0){let i=0;for(;;){i+=1;let a=await this.checkBatchTask(t,r);if(console.log(`[Tianyi][task] type=${t} taskId=${r} poll=${i} status=${Number(a?.taskStatus||0)} failed=${Number(a?.failedCount||0)} errorCode=${a?.errorCode||""}`),Number(a?.taskStatus)===2){let o=new Error("there is a conflict with the target object");throw o.code="TASK_CONFLICT",o}if(Number(a?.taskStatus)===4){if(Number(a?.failedCount||0)>0){let o=new Error(a?.errorCode||`batch task failed type=${t} taskId=${r}`);throw o.code=a?.errorCode||"TASK_FAILED",o.taskState=a,o}return}if(s>0&&i>=s){let o=new Error(`batch task timeout type=${t} taskId=${r} status=${Number(a?.taskStatus||0)}`);throw o.code="TASK_TIMEOUT",o.taskStatus=Number(a?.taskStatus||0),o}await new Promise(o=>setTimeout(o,n))}}async ensureCasTempDir(t=!1){await this.ensureLogin();let r={id:cn.ROOT_FOLDER_ID,name:"root"},n=_cn();try{await this.makeDir(r,n)}catch{}let i=(await this.getPrivateFiles(cn.ROOT_FOLDER_ID,!1,"filename","asc",200)).find(o=>o.isFolder&&o.name===n),a=String(i?.id||"");if(!a)throw new Error("\u521B\u5EFA\u5929\u7FFC CAS \u4E34\u65F6\u76EE\u5F55\u5931\u8D25");return t&&await this.clearTempDir(a),console.log(`[Tianyi][cas] ensureCasTempDir dirId=${a} name=${n} clean=${t?1:0}`),{id:a,name:n}}async transferShareFile(t,r,n,s={}){let i=String(s?.targetDirId||"")||await this.ensureTempDir(!0),a={fileId:String(r),fileName:n,isFolder:0},o=R4(String(n||"")),c=o?o.replace(/\.\d{13,}_[0-9]+$/,""):"",u=Array.from(new Set([String(n||"").trim(),o?`${o}.cas`:"",o,c?`${c}.cas`:"",c].filter(Boolean))),l;console.log(`[Tianyi][share-save] start shareId=${t} fileId=${r} tempDirId=${i} fileName=${n}`);try{l=await this.createBatchTask("SHARE_SAVE","",i,{shareId:String(t)},[a]),console.log(`[Tianyi][share-save] created taskId=${l?.taskId||""} shareId=${t} fileId=${r}`)}catch(p){let m=String(p?.message||"");if(p?.code!=="TASK_CONFLICT"&&p?.code!=="FileAlreadyExists"&&!/conflict/i.test(m)&&!/FileAlreadyExists/i.test(m)&&!/ShareSaveTaskIsAlreadyExist|already exist/i.test(m))throw p;console.warn("[Tianyi] \u590D\u7528\u5DF2\u6709\u8F6C\u5B58\u4EFB\u52A1:",m||"share save task already exists")}let d=async()=>{let p=await this.findPrivateFileByName(i,n,!1);return p?.id?p:(await this.getPrivateFiles(i,!1,"lastOpTime","desc",200)).find(_=>{if(!_||_.isFolder)return!1;let y=String(_.name||"").trim();return y?!!(u.includes(y)||LIe(y)&&o&&R4(y)===o||LIe(y)&&c&&R4(y)===c):!1})||null},f=async()=>{for(let p=1;p<=24;p++){let m=await d();if(console.log(`[Tianyi][share-save] lookup attempt=${p} tempDirId=${i} found=${m?.id?1:0} fileId=${m?.id||""} name=${m?.name||""}`),m?.id)return m;if(l?.taskId)try{let g=await this.checkBatchTask("SHARE_SAVE",l.taskId);if(console.log(`[Tianyi][share-save] taskState attempt=${p} taskId=${l.taskId} status=${Number(g?.taskStatus||0)} failed=${Number(g?.failedCount||0)} errorCode=${g?.errorCode||""}`),Number(g?.taskStatus)===2){let _=new Error("there is a conflict with the target object");throw _.code="TASK_CONFLICT",_}if(Number(g?.taskStatus)===4&&Number(g?.failedCount||0)>0){let _=new Error(g?.errorCode||"share save failed");throw _.code=g?.errorCode||"TASK_FAILED",_.taskState=g,_}}catch(g){if(g?.code==="TASK_CONFLICT"||g?.code==="FileAlreadyExists")throw g;console.warn(`[Tianyi][share-save] check task failed attempt=${p} taskId=${l.taskId} reason=${g?.message||g}`)}await new Promise(g=>setTimeout(g,1e3))}return null},h=async()=>{if(!l?.taskId)return null;try{let p=await this.getConflictTaskInfo("SHARE_SAVE",l.taskId),m=C4(p?.taskInfos||p?.taskInfo||p?.data?.taskInfos||[]);if(m.length)try{await this.manageBatchTask("SHARE_SAVE",l.taskId,i,m)}catch(g){console.warn(`[Tianyi][share-save] manageBatchTask failed taskId=${l.taskId} reason=${g?.message||g}`)}}catch(p){console.warn(`[Tianyi][share-save] getConflictTaskInfo failed taskId=${l?.taskId||""} reason=${p?.message||p}`)}return await d()};try{let p=await f();if(!p?.id)throw new Error("\u6587\u4EF6\u8F6C\u5B58\u5931\u8D25");return p}catch(p){let m=String(p?.message||"");if(p?.code!=="TASK_CONFLICT"&&p?.code!=="FileAlreadyExists"&&!/conflict/i.test(m)&&!/FileAlreadyExists/i.test(m)&&!/ShareSaveTaskIsAlreadyExist|already exist/i.test(m))throw p;console.warn("[Tianyi] \u590D\u7528\u5DF2\u6709\u8F6C\u5B58\u7ED3\u679C:",m||"share save task already exists");let g=await h();if(g?.id)return g;let _=await d();if(!_?.id)throw new Error("\u6587\u4EF6\u8F6C\u5B58\u5931\u8D25");return _}}async getPrivateDownloadLink(t,r=!1){let n=`${cn.API_URL}${r?"/family/file":""}/getFileDownloadUrl.action`,s=r?{fileId:String(t),familyId:this.tokenInfo?.familyId||""}:{fileId:String(t),dt:"3",flag:"1"},i=await this.requestPrivateApi(n,"GET",s,{isFamily:r}),a=ME(i),o=String(a?.fileDownloadUrl||a?.url||"").replaceAll("&","&").replace(/^http:\/\//i,"https://");if(console.log(`[Tianyi][private] getPrivateDownloadLink fileId=${t} isFamily=${r?1:0} hasUrl=${o?1:0}`),!o)throw console.warn("[Tianyi][private] getPrivateDownloadLink raw=",JSON.stringify(i).slice(0,500)),new Error("\u83B7\u53D6\u5929\u7FFC\u79C1\u6709\u76D8\u4E0B\u8F7D\u5730\u5740\u5931\u8D25");let c=async()=>{console.log(`[Tianyi][private] rawDownloadUrl=${o}`);let u=await Se.get(o,{maxRedirects:0,validateStatus:null}),l=typeof u.data=="string"?u.data.slice(0,300).replace(/\s+/g," "):JSON.stringify(u.data).slice(0,300);if(console.log(`[Tianyi][private] rawDownloadResp status=${u.status} location=${u.headers.location||""} body=${l}`),u.status>=300&&u.status<400&&u.headers.location)return u.headers.location;if(u.status>=200&&u.status<300)return o;let d=new Error(`\u5929\u7FFC\u79C1\u6709\u76D8\u4E0B\u8F7D\u8DF3\u8F6C\u5931\u8D25 status=${u.status}`);throw d.status=u.status,d.bodyText=l,d};for(let u=0;u<6;u++)try{return await c()}catch(l){let d=`${l?.message||""} ${l?.bodyText||""}`;if(!/FileNotFound/i.test(d)||u>=5)throw l;let h=1e3*(u+1);console.warn(`[Tianyi][private] \u4E0B\u8F7D\u8282\u70B9\u672A\u5C31\u7EEA\uFF0C\u7B49\u5F85\u91CD\u8BD5 attempt=${u+1} waitMs=${h} fileId=${t}`),await new Promise(p=>setTimeout(p,h))}throw new Error("\u83B7\u53D6\u5929\u7FFC\u79C1\u6709\u76D8\u4E0B\u8F7D\u5730\u5740\u5931\u8D25")}async deletePrivateFile(t,r,n=!1,s={}){let i=s?.wait!==!1;try{let a={fileId:String(t),fileName:r,isFolder:n?1:0},o=await this.createBatchTask("DELETE","","",{},[a]);console.log(`[Tianyi][temp] \u5220\u9664\u4EFB\u52A1\u5DF2\u521B\u5EFA taskId=${o?.taskId||""} fileId=${t} name=${r} wait=${i?1:0}`),i&&o?.taskId&&await this.waitBatchTask("DELETE",o.taskId,200,50)}catch(a){console.warn("[Tianyi] \u5220\u9664\u4E34\u65F6\u6587\u4EF6\u5931\u8D25:",a?.message||a)}}scheduleDeletePrivateFile(t,r){setTimeout(()=>{this.deletePrivateFile(t,r).catch(n=>{console.warn("[Tianyi] \u5EF6\u8FDF\u5220\u9664\u4E34\u65F6\u6587\u4EF6\u5931\u8D25:",n?.message||n)})},cn.DELETE_DELAY_MS)}async restoreSourceFromCASInfo(t,r){let n=await this.ensureTempDir(!1),s=FIe(t?.name||R4(r)),i=`${cn.UPLOAD_URL}/person/initMultiUpload`,a=await this.requestPrivateApi(i,"GET",{},{encryptedParams:{parentFolderId:n,fileName:encodeURIComponent(s),fileSize:String(t.size),sliceSize:String(Icn(t.size)),fileMd5:I3t(t.md5),sliceMd5:I3t(t.sliceMd5)}}),o=ME(a),c=o?.data||o||{};if(Number(c?.fileDataExists)!==1)throw new Error(`restore from .cas failed: source data for ${s} was not found in 189CloudPC`);let u=await this.requestPrivateApi(`${cn.UPLOAD_URL}/person/commitMultiUploadFile`,"GET",{},{encryptedParams:{uploadFileId:String(c?.uploadFileId||c?.uploadFileID||""),isLog:"0",opertype:"3"}}),l=ME(u),d=l?.file||l||{};if(!d.userFileId)throw new Error("\u63D0\u4EA4 .cas \u8FD8\u539F\u5931\u8D25");return{id:String(d.userFileId),name:String(d.fileName||s),size:Number(d.fileSize||t.size||0),isFolder:!1}}async downloadShareFileBuffer(t,r){console.log(`[Tianyi][cas] \u5F00\u59CB\u5206\u4EAB\u4FA7\u4E0B\u8F7D .cas shareId=${r} fileId=${t}`);let n=await this.getShareUrl(t,r,{rawOnly:!0,disablePrivateFallback:!0,silentAuthFailure:!0});console.log(`[Tianyi][cas] \u5206\u4EAB\u4FA7 .cas \u4E0B\u8F7D\u5730\u5740\u5DF2\u83B7\u53D6 shareId=${r} fileId=${t} url=${n}`);let s=await Se.get(n,{responseType:"arraybuffer",maxRedirects:5,validateStatus:i=>i>=200&&i<300});return console.log(`[Tianyi][cas] \u5206\u4EAB\u4FA7 .cas \u4E0B\u8F7D\u6210\u529F shareId=${r} fileId=${t} bytes=${Number(s?.data?.byteLength||s?.data?.length||0)}`),s.data||Buffer.alloc(0)}async restoreShareCAS(t,r,n,s={}){let i=await this.ensureCasTempDir(!1),a=gcn(n||"video.cas"),o=await this.transferShareFile(t,r,a,{targetDirId:i.id}),c,u=s?.preferPrivate!==!1,l=u?"private":"share";if(u)console.log(`[Tianyi][cas] \u76F4\u63A5\u4F18\u5148\u79C1\u6709\u76D8\u6062\u590D shareId=${t} fileId=${r}`),c=await Se.get(await this.getPrivateDownloadLink(o.id,!1),rp({responseType:"arraybuffer",maxRedirects:5,validateStatus:h=>h>=200&&h<300})).then(h=>h.data||Buffer.alloc(0));else try{c=await this.downloadShareFileBuffer(r,t)}catch(h){l="private",console.warn(`[Tianyi][cas] \u5206\u4EAB\u4FA7\u4E0B\u8F7D .cas \u5931\u8D25\uFF0C\u56DE\u9000\u79C1\u6709\u76D8\u4E0B\u8F7D shareId=${t} fileId=${r} reason=${h?.message||h}`),c=await Se.get(await this.getPrivateDownloadLink(o.id,!1),rp({responseType:"arraybuffer",maxRedirects:5,validateStatus:p=>p>=200&&p<300})).then(p=>p.data||Buffer.alloc(0))}let d=Rcn(c),f=await this.restoreSourceFromCASInfo(d,n);return this.scheduleDeletePrivateFile(o.id,o.name),this.scheduleDeletePrivateFile(f.id,f.name),console.log(`[Tianyi][cas] .cas \u89E3\u6790\u4E0E\u6062\u590D\u5B8C\u6210 source=${l} shareId=${t} fileId=${r} restoredId=${f.id}`),await this.getPrivateDownloadLink(f.id,!1)}async loginForNormalShare(t,r){try{console.log("[Tianyi] \u5F00\u59CB\u6267\u884C\u666E\u901A\u5206\u4EAB\u767B\u5F55\u6D41\u7A0B"),this.clearShareAuthState();let n=await Se.get("https://open.e.189.cn/api/logbox/config/encryptConf.do?appId=cloud",rp({validateStatus:null})),s=String(n?.data?.data?.pubKey||"");if(!s)throw new Error("\u5929\u7FFC\u666E\u901A\u5206\u4EAB\u767B\u5F55\u672A\u8FD4\u56DE RSA \u516C\u94A5");n=await Se.get("https://cloud.189.cn/api/portal/loginUrl.action?redirectURL=https://cloud.189.cn/web/redirect.html?returnURL=/main.action",rp({validateStatus:null}));let i=String(n?.request?.path||""),a=(i.match(/reqId=(\w+)/)||[])[1]||"",o=(i.match(/lt=(\w+)/)||[])[1]||"";if(!a||!o)throw new Error("\u5929\u7FFC\u666E\u901A\u5206\u4EAB\u767B\u5F55\u9875\u53C2\u6570\u63D0\u53D6\u5931\u8D25");let c={"Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/76.0",Referer:"https://open.e.189.cn/",Lt:o,Reqid:a},u={version:"2.0",appKey:"cloud"};n=await Se.post("https://open.e.189.cn/api/logbox/oauth2/appConf.do",MT.default.stringify(u),rp({headers:c,validateStatus:null}));let l=String(n?.data?.data?.returnUrl||""),d=String(n?.data?.data?.paramId||"");if(!l||!d)throw new Error("\u5929\u7FFC\u666E\u901A\u5206\u4EAB\u767B\u5F55 appConf \u8FD4\u56DE\u4E0D\u5B8C\u6574");let f=`-----BEGIN PUBLIC KEY----- +${s} +-----END PUBLIC KEY-----`,h=new Gj;h.setPublicKey(f);let p=h.encrypt(t),m=h.encrypt(r);if(!p||!m)throw new Error("\u5929\u7FFC\u666E\u901A\u5206\u4EAB\u767B\u5F55 RSA \u52A0\u5BC6\u5931\u8D25");u={appKey:"cloud",version:"2.0",accountType:"01",mailSuffix:"@189.cn",validateCode:"",returnUrl:l,paramId:d,captchaToken:"",dynamicCheck:"FALSE",clientType:"1",cb_SaveName:"0",isOauth2:!1,userName:`{NRP}${Buffer.from(p,"base64").toString("hex")}`,password:`{NRP}${Buffer.from(m,"base64").toString("hex")}`},n=await Se.post("https://open.e.189.cn/api/logbox/oauth2/loginSubmit.do",MT.default.stringify(u),rp({headers:c,validateStatus:null}));let g=T3t(n?.data,n?.headers),_=n?.data,y=_?typeof _=="string"?_.slice(0,120).replace(/\s+/g," "):JSON.stringify({msg:_?.msg||_?.message||"",result:_?.result||_?.resultCode||"",errorCode:_?.errorCode||""}):"empty",A=[...LT(n?.headers?.["set-cookie"])];if(g){let T=g;for(let C=0;C<3&&T;C++){let b=lx(A).join("; "),x=await Se.get(T,rp({headers:{...this.headers,Cookie:b},maxRedirects:0,validateStatus:null})),w=LT(x?.headers?.["set-cookie"]);if(w.length>0&&A.push(...w),x.status>=300&&x.status<400&&x.headers?.location)T=new URL(x.headers.location,T).toString();else break}}else if(A.length>0){let T=await Se.get("https://cloud.189.cn/web/main.action",rp({headers:{...this.headers,Cookie:lx(A).join("; ")},maxRedirects:0,validateStatus:null})),C=LT(T?.headers?.["set-cookie"]);C.length>0&&A.push(...C)}else throw new Error(`\u5929\u7FFC\u666E\u901A\u5206\u4EAB\u767B\u5F55\u5931\u8D25\uFF1A\u672A\u8FD4\u56DE\u53EF\u7528 cookie (${y})`);let v=lx(A).join("; ").trim();if(!v)throw new Error(`\u5929\u7FFC\u666E\u901A\u5206\u4EAB\u767B\u5F55\u5931\u8D25\uFF1A\u672A\u83B7\u53D6\u5230\u6709\u6548 cookie (${y})`);this.shareCookie=v,console.log(`[Tianyi] \u666E\u901A\u5206\u4EAB\u767B\u5F55\u6210\u529F\uFF0Ccookie length=${v.length}`)}catch(n){console.error("[Tianyi] \u666E\u901A\u5206\u4EAB\u767B\u5F55\u5931\u8D25:",n);let s=new Error("\u5929\u7FFC\u666E\u901A\u5206\u4EAB\u767B\u5F55\u5931\u8D25");throw s.isAuthFailure=!0,s.cause=n,s}}async login(t,r){try{console.log("[Tianyi] \u5F00\u59CB\u6267\u884C\u767B\u5F55\u6D41\u7A0B"),this.clearPrivateAuthState(),this.tempDirId="";let n=await Se.get("https://cloud.189.cn/api/portal/unifyLoginForPC.action",{params:{appId:cn.APP_ID,clientType:cn.LOGIN_CLIENT_TYPE,returnURL:cn.RETURN_URL,timeStamp:String(Ecn())},headers:{"User-Agent":I4,Referer:cn.WEB_URL},validateStatus:null}),s=String(n?.data||""),i=Kj(s,/'captchaToken' value='(.+?)'/),a=Kj(s,/lt = "(.+?)"/),o=Kj(s,/reqId = "(.+?)"/),c=Kj(s,/paramId = "(.+?)"/);if(!i||!a||!o||!c)throw new Error("\u5929\u7FFC\u767B\u5F55\u9875\u53C2\u6570\u63D0\u53D6\u5931\u8D25");let u={"Content-Type":"application/x-www-form-urlencoded","User-Agent":I4,Referer:"https://open.e.189.cn/",lt:a,REQID:o},l=await Se.post("https://open.e.189.cn/api/logbox/config/encryptConf.do",MT.default.stringify({appId:cn.APP_ID}),{headers:u,validateStatus:null}),d=String(l?.data?.data?.pubKey||""),f=String(l?.data?.data?.pre||"{NRP}");if(!d)throw new Error("\u5929\u7FFC\u767B\u5F55\u672A\u8FD4\u56DE RSA \u516C\u94A5");let h=`-----BEGIN PUBLIC KEY----- +${d} +-----END PUBLIC KEY-----`,p=new Gj;p.setPublicKey(h);let m=f+Buffer.from(p.encrypt(t),"base64").toString("hex").toUpperCase(),g=f+Buffer.from(p.encrypt(r),"base64").toString("hex").toUpperCase();l=await Se.post("https://open.e.189.cn/api/logbox/oauth2/needcaptcha.do",MT.default.stringify({appKey:cn.APP_ID,accountType:cn.ACCOUNT_TYPE,userName:m}),{headers:u,validateStatus:null});let _=String(l?.data||"").trim();if(_&&_!=="0")throw new Error("\u5F53\u524D\u5929\u7FFC\u8D26\u53F7\u767B\u5F55\u9700\u8981\u9A8C\u8BC1\u7801\uFF0C\u6682\u4E0D\u652F\u6301\u81EA\u52A8\u5904\u7406");l=await Se.post("https://open.e.189.cn/api/logbox/oauth2/loginSubmit.do",MT.default.stringify({appKey:cn.APP_ID,accountType:cn.ACCOUNT_TYPE,userName:m,password:g,validateCode:"",captchaToken:i,returnUrl:cn.RETURN_URL,dynamicCheck:"FALSE",clientType:cn.LOGIN_CLIENT_TYPE,cb_SaveName:"1",isOauth2:"false",state:"",paramId:c}),{headers:u,validateStatus:null});let y=T3t(l?.data,l?.headers),E=l?.data,A=E?typeof E=="string"?E.slice(0,160).replace(/\s+/g," "):JSON.stringify({msg:E?.msg||E?.message||"",result:E?.result||E?.resultCode||"",errorCode:E?.errorCode||""}):"empty",v=LT(n?.headers?.["set-cookie"]).concat(LT(l?.headers?.["set-cookie"]));if(y){let w=y;for(let P=0;P<3&&w;P++){let M=lx(v).join("; "),L=await Se.get(w,{headers:{...this.headers,Cookie:M},maxRedirects:0,validateStatus:null}),U=LT(L?.headers?.["set-cookie"]);if(U.length>0&&v.push(...U),L.status>=300&&L.status<400&&L.headers?.location)w=new URL(L.headers.location,w).toString();else break}}else if(console.warn(`[Tianyi] \u767B\u5F55\u54CD\u5E94\u672A\u63D0\u4F9B\u8DF3\u8F6C\u5730\u5740\uFF0Ccookies=${v.length}, data=${A}`),v.length>0){let w=await Se.get("https://cloud.189.cn/web/main.action",{headers:{...this.headers,Cookie:lx(v).join("; ")},maxRedirects:0,validateStatus:null}),P=LT(w?.headers?.["set-cookie"]);P.length>0&&v.push(...P)}let T=lx(v).join("; ").trim();if(!T)throw new Error(`\u5929\u7FFC\u767B\u5F55\u5931\u8D25\uFF1A\u672A\u83B7\u53D6\u5230\u6709\u6548 cookie (${A})`);if(this.privateCookie=T,!y){this.tokenInfo=null,console.log(`[Tianyi] \u767B\u5F55\u6210\u529F\uFF08cookie-only\uFF09\uFF0Ccookie length=${T.length}`);return}let C=await Se.post(`${cn.API_URL}/getSessionForPC.action`,null,{params:{...kIe(),redirectURL:y},headers:{"User-Agent":I4,Cookie:T},validateStatus:null}),b=MIe(C.data);if(b)throw new Error(`\u5929\u7FFC\u4F1A\u8BDD\u521D\u59CB\u5316\u5931\u8D25: ${b}`);let x=UIe(await b3t(C.data));if(!x.accessToken||!x.refreshToken||!x.sessionKey||!x.sessionSecret)throw new Error(`\u5929\u7FFC\u4F1A\u8BDD\u521D\u59CB\u5316\u5931\u8D25\uFF1A\u8FD4\u56DE\u5B57\u6BB5\u4E0D\u5B8C\u6574 ${JSON.stringify(C.data||{})}`);this.privateCookie=T,this.tokenInfo=x,console.log(`[Tianyi] \u767B\u5F55\u6210\u529F\uFF0Ccookie length=${T.length}`)}catch(n){console.error("[Tianyi] \u767B\u5F55\u5931\u8D25:",n);let s=new Error("\u5929\u7FFC\u767B\u5F55\u5931\u8D25");throw s.isAuthFailure=!0,s.cause=n,s}}async getShareID(t,r){let n=this.regex.exec(t);if(n&&n[1]){this.shareCode=n[1];let s=this.shareCode.match(/访问码:([a-zA-Z0-9]+)/);this.accessCode=s?s[1]:""}else{let s=t.match(/https?:\/\/cloud\.189\.cn\/t\/([^&]+)/);this.shareCode=s?s[1]:null;let i=this.shareCode.match(/访问码:([a-zA-Z0-9]+)/);this.accessCode=i?i[1]:""}r&&(this.accessCode=r)}async getShareData(t,r){let n=[],s=await this.getShareInfo(t,r);if(s){let i=await this.getShareList(s),a=await this.getShareFile(s);if(a?.length>0){let o=cr(a);n.push(...o)}Array.isArray(i)&&i.length>0&&(await uE(i,async u=>await this.getShareFile(u.id)||[],5)).forEach(u=>{if(u?.length>0){let l=cr(u);n.push(...l)}})}return n.map(i=>({vod_id:Zt([i.cas?mcn({fileId:i.fileId,fileName:i.sourceName||`${i.name}.cas`,shareId:i.shareId}):i.fileId,i.shareId,i.name||"",i.subtitle?.fileId||""],{structured:!0}),vod_name:i.name,vod_size:i.size}))}async getShareInfo(t,r){t.startsWith("http")?await this.getShareID(t,r):this.shareCode=t;try{if(r){let i=await Se.get(`${this.api}/open/share/checkAccessCode.action?shareCode=${this.shareCode}&accessCode=${this.accessCode}`,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",accept:"application/json;charset=UTF-8","accept-encoding":"gzip, deflate, br, zstd","accept-language":"zh-CN,zh;q=0.9"}});i.status===200&&(this.shareId=i.data.shareId)}let n=await Se.get(`${this.api}/open/share/getShareInfoByCodeV2.action?key=noCache&shareCode=${this.shareCode}`,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",accept:"application/json;charset=UTF-8","accept-encoding":"gzip, deflate, br, zstd","accept-language":"zh-CN,zh;q=0.9"}}),s=n.data.fileId;return this.shareId=n.data.shareId||this.shareId,this.shareMode=n.data.shareMode,this.isFolder=n.data.isFolder,s}catch(n){return console.error("\u83B7\u53D6\u5206\u4EAB\u4FE1\u606F\u5931\u8D25:",n),null}}async getShareList(t){try{let r=[],n={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",Accept:"application/json;charset=UTF-8","Accept-Encoding":"gzip, deflate, br, zstd"},s=async(l,d=1)=>{let f=await y3t(`${this.api}/open/share/listShareDir.action?key=noCache&pageNum=${d}&pageSize=200&fileId=${l}&shareDirFileId=${l}&isFolder=${this.isFolder}&shareId=${this.shareId}&shareMode=${this.shareMode}&iconOption=5&orderBy=lastOpTime&descending=true&accessCode=${this.accessCode}&noCache=${Math.random()}`,{method:"GET",headers:n});return v3t.parse(await f.text())?.fileListAO||{}},i=[],a=1;for(;;){let l=await s(t,a),d=C4(l?.folderList||l?.folder||[]);if(d.length===0)break;i.push(...d);let f=Number(l?.count||d.length||0);if(d.length<200||f>0&&i.length>=f)break;a+=1}if(i.length===0)return null;i.forEach(l=>{r.push({name:l.name,id:l.id,type:"folder"})});let o=async l=>{try{return await this.getShareList(l)}catch{return null}},u=(await uE(i.map(l=>l.id),o,3)).filter(l=>l!=null);return[...r,...u.flat()]}catch(r){return console.error("\u83B7\u53D6\u5206\u4EAB\u5217\u8868\u5931\u8D25:",r),null}}async getShareFile(t){try{let r={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",Accept:"application/json;charset=UTF-8","Accept-Encoding":"gzip, deflate, br, zstd"},n=async(c,u=1)=>{let l=await y3t(`${this.api}/open/share/listShareDir.action?key=noCache&pageNum=${u}&pageSize=200&fileId=${c}&shareDirFileId=${c}&isFolder=${this.isFolder}&shareId=${this.shareId}&shareMode=${this.shareMode}&iconOption=5&orderBy=lastOpTime&descending=true&accessCode=${this.accessCode}&noCache=${Math.random()}`,{method:"GET",headers:r});return v3t.parse(await l.text())?.fileListAO||{}},s=[],i=[],a=[],o=1;for(;;){let c=await n(t,o),u=C4(c?.fileList||c?.file||[]);if(u.length===0)break;a.push(...u);let l=Number(c?.count||c?.fileListSize||u.length||0);if(u.length<200||l>0&&a.length>=l)break;o+=1}if(a.length===0)return null;for(let c of a){let u=c?.name||"",l=c?.id;c.mediaType===3||/\.(mp4|mkv|avi|mov|flv|wmv|m3u8|ts|rmvb|webm|m4v|mpg|mpeg|3gp|f4v|vob|rm|iso|asf|divx|m2ts)$/i.test(u)?s.push({name:u,fileId:l,shareId:this.shareId,size:c.size}):LIe(u)?s.push({name:R4(u),fileId:l,shareId:this.shareId,size:c.size,cas:!0,sourceName:u}):Ct(u)&&i.push({name:u,fileId:l,shareId:this.shareId,size:c.size})}for(let c of s){let u=yr(c.name,i,l=>l.name);u?.fileId&&(c.subtitle={fileId:u.fileId,shareId:this.shareId,size:u.size,name:u.name})}return s}catch(r){return console.error("\u83B7\u53D6\u5206\u4EAB\u6587\u4EF6\u5931\u8D25:",r),null}}async getShareUrlNormal(t,r,n={}){let s={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",Accept:"application/json;charset=UTF-8","Accept-Encoding":"gzip, deflate, br, zstd",Referer:"https://cloud.189.cn/web/main/file",Origin:"https://cloud.189.cn","X-Requested-With":"XMLHttpRequest"},i=n?.silentAuthFailure===!0;for(this.resetShareAuthRetryState();;)try{if(!this.hasShareCookie()){if(!this.account||!this.password)throw new Error("\u5929\u7FFC\u8D26\u53F7\u6216\u5BC6\u7801\u4E3A\u7A7A\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u586B\u5199");if(await this.loginForNormalShare(this.account,this.password),!this.hasShareCookie()){let u=this.buildShareAuthError(0,"share cookie empty after login","\u5929\u7FFC\u666E\u901A\u5206\u4EAB\u767B\u5F55\u540E\u4ECD\u672A\u62FF\u5230 cookie");throw this.rememberShareAuthError(u),u}}s.Cookie=String(this.shareCookie||"").trim();let a=await Se.get(`${this.api}/portal/getNewVlcVideoPlayUrl.action?shareId=${r}&dt=1&fileId=${t}&type=4&key=noCache`,rp({headers:s,validateStatus:null}));if(!a?.data?.normal?.url)throw this.buildShareAuthError(a?.status,a?.data);let o=await Se.get(a.data.normal.url,rp({maxRedirects:0,validateStatus:u=>u>=200&&u<400})),c="";return o.status>=300&&o.status<400&&o.headers.location?c=o.headers.location:c=a.data.normal.url,this.resetShareAuthRetryState(),c}catch(a){let o=a?.response?.status,c=a?.isAuthFailure||N3t(o),u=c?S3t(a?.response?.data,o):{authFailure:!1,category:"unknown",detail:O3t(a?.response?.data||a?.message||""),message:a?.message||"\u83B7\u53D6\u5206\u4EABURL\u5931\u8D25",retryable:!1,retryAdvice:"none"};c&&(a.authCategory=a?.authCategory||u.category,a.userMessage=a?.userMessage||u.message,a.retryable=u.retryable,a.retryAdvice=u.retryAdvice,this.rememberShareAuthError(a));let l=u.retryAdvice==="force_share_login_ipv4_once"?1:dcn;if(c&&u.retryable&&this.account&&this.password&&this._shareAuthRetryCountawait new fx().getShareData(e,t),getShareUrl:async(e,t,r={})=>{let n=new fx;return n.shareId=t,await n.getShareUrl(e,t,r)},listOwnFiles:async(e="-11",{isFamily:t=!1,orderBy:r="filename",orderDirection:n="asc",pageSize:s=200}={})=>await new fx().getPrivateFiles(String(e||"-11"),t,r,n,s),getOwnDownload:async(e,{isFamily:t=!1}={})=>e?await new fx().getPrivateDownloadLink(String(e),t):""}});function Ccn(e=""){let t=String(e||"").trim();return!t||t==="root"}async function B3t(e,t="root",r={}){let n=new hx,s=typeof e=="string"?e:String(e?.url||""),i=typeof e=="object"?String(e?.linkID||""):"";if(s?await n.getShareID(s):n.linkID=i,!n.linkID)return{items:[],linkID:""};let a=Ccn(t)?"root":String(t||"root"),o=Math.max(0,Number.parseInt(r.page||r.pg,10)||0),c=o>0,u=Math.max(1,Math.min(k3t,Number(r.batchSize)||200)),l=Math.max(0,Math.min(1e4,Number(r.batchIntervalMs)||0)),d=Math.max(1e4,Math.min(18e4,Number(r.timeoutMs)||6e4)),f=[],h=[],p=c?o:1,m=!1,g=0;for(;;){let _=await n.getShareInfo(a,{pageNum:p,pageSize:u,timeoutMs:d});if(!_)break;let y=Math.max(0,Number(_.caLength||0)),E=Math.max(0,Number(_.coLength||0));if(g=y+E,p===1&&Array.isArray(_.caLst)){let T=/App|活动中心|免费|1T空间|免流/;f.push(..._.caLst.filter(C=>C?.caName&&!T.test(C.caName)).map(C=>({...C,itemType:"folder"})))}let A=(p-1)*u,v=c&&p>1&&E>0&&A>=E?[]:Array.isArray(_.coLst)?_.coLst:[];if(h.push(...v.map(T=>({...T,itemType:"file"}))),m=E>0?p*u=u,c||v.length0&&await new Promise(T=>setTimeout(T,l))}return{items:[...f,...h],linkID:n.linkID,...c?{paged:!0,page:o,pageSize:u,total:g||(o-1)*u+h.length+f.length+(m?u:0)}:{}}}var Fi,M3t,k3t,hx,UT,qIe=oe(()=>{Pr();Fi=we(ki(),1);Fa();ju();xl();Bi();a0();jh();uj();M3t=DC("yun.shareInfo",{maxSize:200,ttl:5*60*1e3}),k3t=200,hx=class{constructor(){this.regexs=[/https:\/\/yun.139.com\/shareweb\/#\/w\/i\/([^&]+)/,/https:\/\/caiyun.139.com\/m\/i\?([^&]+)/,/https:\/\/caiyun.139.com\/w\/i\/([^&]+)/],this.x=Fi.default.enc.Utf8.parse("PVGDwmcvfs1uV3d1"),this.baseUrl="https://share-kd-njs.yun.139.com/yun-share/richlifeApp/devapp/IOutLink/",this.baseHeader={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",Accept:"application/json, text/plain, */*","Content-Type":"application/json","hcy-cool-flag":"1","x-deviceinfo":"||3|12.27.0|chrome|131.0.0.0|5c7c68368f048245e1ce47f1c0f8f2d0||windows 10|1536X695|zh-CN|||"},this.linkID="",this.passwd=""}encrypt(t){let r=Fi.default.lib.WordArray.random(16),n;if(typeof t=="string"){let s=Fi.default.enc.Utf8.parse(t);n=Fi.default.AES.encrypt(s,this.x,{iv:r,mode:Fi.default.mode.CBC,padding:Fi.default.pad.Pkcs7})}else if(typeof t=="object"&&t!==null){let s=Fi.default.enc.Utf8.parse(JSON.stringify(t));n=Fi.default.AES.encrypt(s,this.x,{iv:r,mode:Fi.default.mode.CBC,padding:Fi.default.pad.Pkcs7})}else throw new Error("Invalid data type");return Fi.default.enc.Base64.stringify(r.concat(n.ciphertext))}decrypt(t){let r=Fi.default.enc.Base64.parse(t),n=r.clone(),s=n.words.splice(4);n.init(n.words),r.init(s);let i=Fi.default.enc.Base64.stringify(r);return Fi.default.AES.decrypt(i,this.x,{iv:n,mode:Fi.default.mode.CBC,padding:Fi.default.pad.Pkcs7}).toString(Fi.default.enc.Utf8)}md5(t){return Fi.default.MD5(String(t||"")).toString()}base64Utf8(t){return Fi.default.enc.Base64.stringify(Fi.default.enc.Utf8.parse(String(t||"")))}randomString(t=16){let r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n="";for(let s=0;sString(s).padStart(2,"0");return[`${r.getFullYear()}-${n(r.getMonth()+1)}-${n(r.getDate())}`,`${n(r.getHours())}:${n(r.getMinutes())}:${n(r.getSeconds())}`].join(" ")}getMcloudSign(t,r,n){let s="";t&&typeof t=="object"&&(s=encodeURIComponent(JSON.stringify({...t})).split("").sort().join(""));let i=this.md5(this.base64Utf8(s)),a=this.md5(`${r}:${n}`);return this.md5(i+a).toUpperCase()}buildSignedHeaders(t){let r=this.randomString(16),n=this.formatSignTime(),s=this.getMcloudSign(t,n,r);return{...this.baseHeader,"X-Requested-With":"XMLHttpRequest","CMS-DEVICE":"default","x-yun-channel-source":"10230043","x-huawei-channelSrc":"10230043","x-yun-svc-type":"1","x-SvcType":"1","x-m4c-caller":"PC","x-m4c-src":"10002","x-inner-ntwk":"2","mcloud-route":"001","mcloud-version":"12.27.0","mcloud-channel":"1000101","mcloud-client":"1001000021","mcloud-sign":`${n},${r},${s}`,"INNER-HCY-ROUTER-HTTPS":"1","x-yun-module-type":"100","x-yun-api-version":"v1","x-yun-app-channel":"10230043","x-yun-client-info":"||9|12.27.0|chrome|131.0.0.0|visitor||windows 10||zh-CN|||Y2hyb21l||",Referer:"https://yun.139.com/shareweb/"}}parseMaybeEncryptedResponse(t){if(typeof t!="string")return t;try{return JSON.parse(this.decrypt(t))}catch{return t}}pickPreviewUrl(t={}){return String(t?.presentUURL||t?.presentHURL||t?.presentURL||t?.presentLURL||"").trim()}buildFilePathFromContentInfo(t={}){let r=String(t?.contentID||t?.contentId||"").trim(),n=String(t?.parentCatalogId||t?.parentCatalogID||"").trim();return!r||!n?"":`${n}/${r}`}extractDownloadUrl(t={}){let r=t?.data??t;if(typeof r=="string"&&/^https?:\/\//i.test(r))return r;if(!r||typeof r!="object")return"";let n=r.extInfo&&typeof r.extInfo=="object"?r.extInfo:{},i=(Array.isArray(n.item)?n.item:[]).find(a=>a?.key==="cdnDownloadUrl"&&a?.value);return String(n.cdnDownloadUrl||i?.value||r.downloadURL||r.downloadUrl||r.redrUrl||r.url||"").trim()}downloadErrorMessage(t={}){let r=String(t?.resultCode||t?.code||t?.status||t?.mcsCode||"").trim(),n=String(t?.desc||t?.message||t?.resultDesc||"").trim();return r&&r!=="0"&&r!=="0000"?n?`\u79FB\u52A8\u4E91\u76D8\u4E0B\u8F7D\u63A5\u53E3\u5F02\u5E38 ${r}: ${n}`:`\u79FB\u52A8\u4E91\u76D8\u4E0B\u8F7D\u63A5\u53E3\u5F02\u5E38 ${r}`:n||""}async getShareID(t){for(let r of this.regexs){let n=r.exec(t);if(n&&n[1]){this.linkID=n[1];break}}}async getShareInfo(t,r={}){if(!this.linkID)return console.error("linkID is not set"),null;let n=Math.max(1,Number(r.pageNum||1)),s=Math.max(1,Math.min(k3t,Number(r.pageSize||200))),i=Math.max(1e4,Math.min(18e4,Number(r.timeoutMs)||6e4)),a=`${this.linkID}-${t}-${n}-${s}`,o=M3t.get(a);if(o)return o;let c=JSON.stringify(this.encrypt(JSON.stringify({getOutLinkInfoReq:{account:"",linkID:this.linkID,passwd:"",caSrt:0,coSrt:0,srtDr:1,bNum:n,pCaID:t,eNum:s},commonAccountInfo:{account:"",accountType:1}})));try{let u=await Se.post(this.baseUrl+"getOutLinkInfoV6",c,{headers:this.baseHeader,timeout:i});if(u.status!==200)return null;let l=JSON.parse(this.decrypt(u.data)).data;return M3t.set(a,l),l}catch(u){return console.error("\u83B7\u53D6\u5206\u4EAB\u4FE1\u606F\u5931\u8D25:",u),null}}async getShareData(t){if(!t)return[];let r=t.startsWith("http"),n=r?"root":t;return r&&await this.getShareID(t),await this.getFilesWithFolderSort(n)}async getFilesWithFolderSort(t){try{let r=[],n={shareInfoCalls:0,folderVisits:0},s=Date.now(),i=async(o,c)=>{let u=[],l=[],d=[],f=1,h=200;for(;;){let p=await this.getShareInfo(o,{pageNum:f,pageSize:h});if(c&&(c.shareInfoCalls+=1),f===1){let g=Array.isArray(p?.caLst)?p.caLst:[],_=/App|活动中心|免费|1T空间|免流/;d.push(...g.filter(y=>!_.test(y.caName)))}let m=Array.isArray(p?.coLst)?p.coLst:[];if(m.length===0)break;for(let g of m){if(!g?.coName)continue;let _={name:g.coName,contentId:g.coID,linkID:this.linkID,size:g.coSize,path:g.path};g.coType===3||A4(g.coName)?u.push(_):Ct(g.coName)&&l.push(_)}if(m.lengthg.name);m?.contentId&&(p.subtitle={contentId:m.contentId,name:m.name,path:m.path})}return{videos:u,folders:d}},a=async o=>{n.folderVisits+=1;let c=await i(o,n);if(c.videos?.length>0){let u=cr(c.videos);r.push(...u)}c.folders?.length>0&&await uE(c.folders,async u=>{await a(u.caID)},5)};return await a(t),console.log("[139 detail] perf",JSON.stringify({linkID:this.linkID,ms:Date.now()-s,videos:r.length,...n})),r.map(o=>({vod_name:o.name,vod_id:Zt([o.contentId,o.linkID,o.subtitle?.contentId||"",o.path||"",o.subtitle?.path||""],{structured:!0}),vod_size:o.size}))}catch(r){return console.error("\u83B7\u53D6\u6587\u4EF6\u5931\u8D25:",r),[]}}async getCurrentDirFiles(t,r){try{let n=[],s=[],i=1,a=200;for(;;){let o=await this.getShareInfo(t,{pageNum:i,pageSize:a});r&&(r.shareInfoCalls+=1);let c=Array.isArray(o?.coLst)?o.coLst:[];if(c.length===0)break;for(let u of c){if(!u?.coName)continue;let l={name:u.coName,contentId:u.coID,linkID:this.linkID,size:u.coSize,path:u.path};u.coType===3||/\.(mp4|mkv|avi|mov|flv|wmv|m3u8|ts|rmvb|webm|m4v|mpg|mpeg|3gp|f4v|vob|rm|iso|asf|divx|m2ts)$/i.test(u.coName)?n.push(l):Ct(u.coName)&&s.push(l)}if(c.lengthu.name);c?.contentId&&(o.subtitle={contentId:c.contentId,name:c.name,path:c.path})}return n}catch(n){return console.error("\u83B7\u53D6\u5F53\u524D\u76EE\u5F55\u6587\u4EF6\u5931\u8D25:",n),[]}}async processSubFolders(t,r,n){try{let s=await this.getShareInfo(t);if(n&&(n.shareInfoCalls+=1),!s||!s.caLst)return;let i=s.caLst,a=/App|活动中心|免费|1T空间|免流/,o=i.filter(u=>!a.test(u.caName));await uE(o,async u=>{n&&(n.folderVisits+=1);try{let l=await this.getCurrentDirFiles(u.caID,n);if(l?.length>0){let d=cr(l);r.push(...d)}await this.processSubFolders(u.caID,r,n)}catch(l){console.error(`\u5904\u7406\u5B50\u6587\u4EF6\u5939\u5931\u8D25 ${u.caName}:`,l)}},5)}catch(s){console.error("\u5904\u7406\u5B50\u6587\u4EF6\u5939\u5931\u8D25:",s)}}async getShareDownload(t,r){let n=String(t||"").trim();if(!n||!r)return{url:"",error:"\u79FB\u52A8\u4E91\u76D8\u4E0B\u8F7D\u53C2\u6570\u7F3A\u5C11\u6587\u4EF6\u8DEF\u5F84"};let s=[{linkID:r,coIDLst:{items:[n]},caIDLst:{items:[]}},{dlFromOutLinkReqV3:{linkID:r,account:"",coIDLst:{item:[n]}}}],i="";for(let a of s)try{let o=await Se.post(this.baseUrl+"dlFromOutLinkV3",this.encrypt(a),{headers:this.buildSignedHeaders(a),timeout:15e3,validateStatus:()=>!0});if(o.status!==200){i=`\u79FB\u52A8\u4E91\u76D8\u4E0B\u8F7D\u63A5\u53E3 HTTP ${o.status}`;continue}let c=this.parseMaybeEncryptedResponse(o.data),u=this.extractDownloadUrl(c);if(u)return{url:u,source:"download"};i=this.downloadErrorMessage(c)||"\u79FB\u52A8\u4E91\u76D8\u4E0B\u8F7D\u63A5\u53E3\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"}catch(o){i=o?.message||String(o)}return{url:"",error:i||"\u79FB\u52A8\u4E91\u76D8\u4E0B\u8F7D\u63A5\u53E3\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"}}async getSharePlayInfo(t,r,n=""){let s={getContentInfoFromOutLinkReq:{contentId:t,linkID:r,account:""},commonAccountInfo:{account:"",accountType:1}};try{let i=await Se.post(this.baseUrl+"getContentInfoFromOutLink",s,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",Accept:"application/json, text/plain, */*","Accept-Encoding":"gzip, deflate, br, zstd","Content-Type":"application/json"},timeout:15e3});if(i.status===200&&i.data.data){let a=i.data.data.contentInfo||{},o=this.pickPreviewUrl(a);if(o)return{url:o,source:"preview"};let c=String(n||"").trim()||this.buildFilePathFromContentInfo(a);if(c){let u=await this.getShareDownload(c,r);return u?.url?u:{url:"",source:"download",error:u?.error||"\u79FB\u52A8\u4E91\u76D8\u672A\u8FD4\u56DE\u9884\u89C8\u5730\u5740\uFF0C\u4E0B\u8F7D\u63A5\u53E3\u4E5F\u672A\u8FD4\u56DE\u5730\u5740"}}return{url:"",source:"preview",error:"\u79FB\u52A8\u4E91\u76D8\u672A\u8FD4\u56DE\u9884\u89C8\u5730\u5740\uFF0C\u4E14\u65E0\u6CD5\u786E\u5B9A\u6587\u4EF6\u8DEF\u5F84"}}}catch(i){throw console.error("\u83B7\u53D6\u64AD\u653E\u94FE\u63A5\u5931\u8D25:",i),i}return{url:"",error:"\u79FB\u52A8\u4E91\u76D8\u672A\u8FD4\u56DE\u64AD\u653E\u4FE1\u606F"}}async getSharePlay(t,r,n=""){let s=await this.getSharePlayInfo(t,r,n);return!s?.url&&s?.error&&console.warn("[139 play] no playable url:",s.error),s?.url||null}};UT={async getShareData(e){let t=new hx;if(!e)return[];let r=e.startsWith("http"),n=r?"root":e;return r?await t.getShareID(e):t.linkID=e,t.getFilesWithFolderSort(n)},async getSharePlay(e,t,r=""){let n=new hx;return n.linkID=t,n.getSharePlay(e,t,r)},async getSharePlayInfo(e,t,r=""){let n=new hx;return n.linkID=t,n.getSharePlayInfo(e,t,r)}}});function U3t(e){return Buffer.from(e,"base64").toString("utf8")}function q3t(e){let t=Number(e?.code),r=String(e?.message||e?.msg||"").toLowerCase();return t===401||t===401401||r.includes("token")||r.includes("unauthorized")||r.includes("\u767B\u5F55")||r.includes("auth")}function x4(e=""){let t=String(e||"").trim();if(!t)return"";try{t=decodeURIComponent(t)}catch{}try{let r=new URL(t);r.pathname=r.pathname.replace(/_24_24(?=\/|$)/g,"");for(let n of["w","h","trade_key","type"])r.searchParams.delete(n);return r.toString()}catch{return""}}function Wj(e=""){let t=x4(e);return t?Zt(["direct",t],{structured:!0}):""}function wcn(e){let t=String(e||"").trim();if(!t)return"";if(t.includes("\u539F\u753B")||t.includes("\u539F\u6587\u4EF6"))return"\u539F\u753B";if(t.includes("\u8D85\u6E05"))return"\u8D85\u6E05";if(t.includes("\u84DD\u5149"))return"\u84DD\u5149";if(t.includes("\u9AD8\u6E05"))return"\u9AD8\u6E05";if(t.includes("\u6807\u6E05"))return"\u6807\u6E05";if(t.includes("\u666E\u753B"))return"\u666E\u753B";if(t.includes("\u6781\u901F")||t.includes("\u6D41\u7545"))return"\u6781\u901F";let r=t.toLowerCase().replace(/\s+/g,"").replace(/[_-]+/g,"");return H3t[r]?H3t[r]:/(?:^|[^\d])2160p?(?:$|[^\d])|4k|uhd/.test(r)?"\u8D85\u6E05":/(?:^|[^\d])1440p?(?:$|[^\d])|2k|qhd/.test(r)?"\u84DD\u5149":/(?:^|[^\d])1080p?(?:$|[^\d])|super|fullhd|fhd/.test(r)?"\u9AD8\u6E05":/(?:^|[^\d])720p?(?:$|[^\d])|high|hd/.test(r)?"\u6807\u6E05":/(?:^|[^\d])480p?(?:$|[^\d])|low|sd/.test(r)?"\u666E\u753B":/(?:^|[^\d])360p?(?:$|[^\d])|normal|smooth|ld/.test(r)?"\u6781\u901F":t}async function V3t(e,t){t&&await f0(t);let r=Gu.getShareData(e);if(!r)return[];let n=await Gu.getFilesByShareUrl(r);if(!n?.length)return[];let s=await lt("123"),i=n.filter(c=>c?.vod_direct_id).map(c=>({...c,vod_id:c.vod_direct_id})),a=$k(px,i),o=Eo(s,n);return a?[a,...o]:o}var HIe,px,xcn,F3t,$3t,H3t,zj,VIe,Qj,f0,Og,Gu,Xj=oe(()=>{Pr();HIe=we(ki(),1);Fa();ju();Nd();xl();Bi();a0();px="123\u65E0\u9650",xcn=100,F3t="https://www.123684.com/b/api",$3t="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36";H3t={"4k":"\u8D85\u6E05","2160p":"\u8D85\u6E05",2160:"\u8D85\u6E05",uhd:"\u8D85\u6E05","2k":"\u84DD\u5149","1440p":"\u84DD\u5149",1440:"\u84DD\u5149",qhd:"\u84DD\u5149",super:"\u9AD8\u6E05","1080p":"\u9AD8\u6E05",1080:"\u9AD8\u6E05",fhd:"\u9AD8\u6E05",fullhd:"\u9AD8\u6E05",high:"\u6807\u6E05","720p":"\u6807\u6E05",720:"\u6807\u6E05",hd:"\u6807\u6E05",low:"\u666E\u753B","480p":"\u666E\u753B",480:"\u666E\u753B",sd:"\u666E\u753B",normal:"\u6781\u901F","360p":"\u6781\u901F",360:"\u6781\u901F",ld:"\u6781\u901F",smooth:"\u6781\u901F"};VIe={},Qj={async set(e,t){VIe[e]=t,zj&&await zj.push(`/pan123/${e}`,t)},get(e){return VIe[e]}},f0=async e=>{zj=e.server.db,VIe=await zj.getObjectDefault("/pan123",{})};Og=class{constructor(){this.regex=/https?:\/\/(?:(?:www\.)?123(?:684|865|685|912|pan|592)\.(?:com|cn)\/s\/|(?:[a-zA-Z0-9-]+\.)?share\.123(?:684|865|685|912|pan|592)\.(?:com|cn)\/(?:s|123pan)\/)([^/?#\s]+)/i,this.api="https://www.123684.com/b/api/share/",this.loginUrl="https://login.123pan.com/api/user/sign_in",this.cate="",this.SharePwd=""}async init(){if(!this.auth){await this.login();return}try{let t=JSON.parse(HIe.default.enc.Base64.parse(this.auth.split(".")[1]).toString(HIe.default.enc.Utf8));(!t.exp||t.exp<=Math.floor(Date.now()/1e3))&&await this.login()}catch{await this.login()}}get passport(){return Qj.get("pan_passport")}get password(){return Qj.get("pan_password")}get auth(){return Qj.get("pan_auth")}async login(){let t=JSON.stringify({passport:this.passport,password:this.password,remember:!0}),r={method:"POST",url:this.loginUrl,headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36","Content-Type":"application/json","App-Version":"43",Referer:"https://login.123pan.com/centerlogin?redirect_url=https%3A%2F%2Fwww.123684.com&source_page=website"},data:t};try{let s=(await Se.request(r)).data;if(s?.data?.token)await Qj.set("pan_auth",s.data.token);else throw new Error("\u767B\u5F55\u5931\u8D25")}catch(n){throw console.error("\u767B\u5F55\u5931\u8D25:",n),Qr.toast("123\u76D8\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",{duration:5}),n}}getShareData(t){t=decodeURIComponent(t);let r=this.regex.exec(t);if(!r||r.length<2)return console.error("\u65E0\u6CD5\u5339\u914D123\u7F51\u76D8URL:",t),null;let n=r[1],s="",a=/[?&](?:pwd|password|提取码|passcode|SharePwd)(?:=|:|:)([^&#\s]+)/i.exec(t);return a&&a[1]&&(s=a[1]),{shareKey:n,sharePwd:s}}async getFilesByShareUrl(t){try{let r=[],n=typeof t=="string"?t:t.shareKey,s=typeof t=="object"&&t.sharePwd||"",i={scanCalls:0,folderVisits:0},a=Date.now(),o=async(u,l)=>{let d=[],f=[],h=[],p=1,m=100;for(;;){let g=await Se.get(this.api+"get",{params:{limit:String(m),next:"0",orderBy:"file_name",orderDirection:"asc",shareKey:n,SharePwd:s,ParentFileId:u,Page:p.toString()},timeout:1e4});if(l&&(l.scanCalls+=1),g.status!==200||g.data.code===5103)break;let _=g.data.data||{},y=_.InfoList||[];for(let A of y)if(A.Category===0)d.push({filename:A.FileName,shareKey:n,SharePwd:s,next:_.Next||"0",fileId:A.FileId});else if(A.Category===2){let v=x4(A.DownloadUrl||A.DownloadURL||"");f.push({ShareKey:n,FileId:A.FileId,S3KeyFlag:A.S3KeyFlag,Size:A.Size,Etag:A.Etag,FileName:A.FileName,DownloadUrl:v})}else A.Category!==0&&Ct(A.FileName)&&h.push({ShareKey:n,FileId:A.FileId,S3KeyFlag:A.S3KeyFlag,Size:A.Size,Etag:A.Etag,FileName:A.FileName});let E=Number(_?.Total||_?.total||0);if(y.length0&&p*m>=E)break;p++}for(let g of f){let _=yr(g.FileName,h,y=>y.FileName);_?.FileId&&(g.subtitle={FileId:_.FileId,S3KeyFlag:_.S3KeyFlag,Size:_.Size,Etag:_.Etag,FileName:_.FileName})}return{folders:d,videos:f}},c=async(u=0,l="")=>{i.folderVisits+=1;try{let d=await o(u,i),f=d?.videos||[];if(f.length>0){let p=cr(f);r.push(...p)}let h=d?.folders||[];if(h.length===0)return;for(let p of h)await c(p.fileId||p.FileId,l+(l?"/":"")+(p.filename||p.FileName))}catch(d){console.error(`[123\u7F51\u76D8] \u5904\u7406\u6587\u4EF6\u5939\u5931\u8D25 parentFileId=${u}:`,d.message)}};return await c(0,""),console.log("[123 detail] perf",JSON.stringify({shareKey:n,ms:Date.now()-a,videos:r.length,...i})),r.map(u=>({vod_id:Zt([u.ShareKey,u.FileId,u.S3KeyFlag,u.Size,u.Etag,u.subtitle?.FileId||"",u.subtitle?.S3KeyFlag||"",u.subtitle?.Size||"",u.subtitle?.Etag||""],{structured:!0}),vod_direct_id:Wj(u.DownloadUrl||""),vod_name:u.FileName,vod_size:u.Size}))}catch(r){return console.error("[123\u7F51\u76D8] \u83B7\u53D6\u5206\u4EAB\u6587\u4EF6\u5931\u8D25:",r),[]}}async getShareInfo(t,r,n,s,i){try{let a=[],o=1,c=100;for(;;){let u=await Se.get(this.api+"get",{params:{limit:String(c),next:"0",orderBy:"file_name",orderDirection:"asc",shareKey:t,SharePwd:r,ParentFileId:s,Page:o.toString()},timeout:1e4});if(i&&(i.infoCalls+=1),u.status===200&&u.data.code!==5103){let l=u.data.data,d=l.InfoList||[],f=d.filter(p=>p.Category===0);a.push(...f.map(p=>({filename:p.FileName,shareKey:t,SharePwd:r,next:l.Next||"0",fileId:p.FileId})));let h=Number(l?.Total||l?.total||0);if(d.length0&&o*c>=h)break;o++}else break}return a}catch(a){return console.error("[123\u7F51\u76D8] \u83B7\u53D6\u5206\u4EAB\u4FE1\u606F\u5931\u8D25:",a.message),[]}}async getShareList(t,r,n,s,i){try{let a=[],o=[],c=1,u=100;for(;;){let l=await Se.get(this.api+"get",{params:{limit:String(u),next:"0",orderBy:"file_name",orderDirection:"asc",shareKey:t,SharePwd:r,ParentFileId:s,Page:c.toString()},timeout:1e4});i&&(i.listCalls+=1);let d=l.data.data,f=d?.InfoList||[];f.forEach(p=>{if(p.Category===2){let m=x4(p.DownloadUrl||p.DownloadURL||"");a.push({ShareKey:t,FileId:p.FileId,S3KeyFlag:p.S3KeyFlag,Size:p.Size,Etag:p.Etag,FileName:p.FileName,DownloadUrl:m})}else p.Category!==0&&Ct(p.FileName)&&o.push({ShareKey:t,FileId:p.FileId,S3KeyFlag:p.S3KeyFlag,Size:p.Size,Etag:p.Etag,FileName:p.FileName})});let h=Number(d?.Total||d?.total||0);if(f.length0&&c*u>=h)break;c++}for(let l of a){let d=yr(l.FileName,o,f=>f.FileName);d?.FileId&&(l.subtitle={FileId:d.FileId,S3KeyFlag:d.S3KeyFlag,Size:d.Size,Etag:d.Etag,FileName:d.FileName})}return a}catch(a){return console.error("[123\u7F51\u76D8] \u83B7\u53D6\u5206\u4EAB\u5217\u8868\u5931\u8D25:",a),[]}}async listShareFilesOneLayer(t,r="0",n={}){let s=typeof t=="string"?t:t?.shareKey,i=typeof t=="object"&&(t.sharePwd||t.SharePwd)||"";if(!s)return[];let a=Math.max(0,Number.parseInt(n.page||n.pg,10)||0),o=a>0,c=Math.max(1,Math.min(xcn,Number(n.batchSize)||100)),u=Math.max(0,Math.min(1e4,Number(n.batchIntervalMs)||0)),l=Math.max(1e4,Math.min(18e4,Number(n.timeoutMs)||6e4)),d=[],f=o?a:1,h=0,p=!1;for(;;){let m=await Se.get(this.api+"get",{params:{limit:String(c),next:"0",orderBy:"file_name",orderDirection:"asc",shareKey:s,SharePwd:i,ParentFileId:String(r||"0"),Page:f.toString()},timeout:l});if(m.status!==200||m.data.code===5103)break;let g=m.data.data||{},_=Array.isArray(g.InfoList)?g.InfoList:[];if(d.push(..._.map(y=>({...y,ShareKey:s,SharePwd:i}))),h=Number(g?.Total||g?.total||h||0),p=_.length>=c&&!(h>0&&f*c>=h),o||!p)break;f+=1,u>0&&await new Promise(y=>setTimeout(y,u))}return o?{items:d,paged:!0,page:a,pageSize:c,total:h>0?h:(a-1)*c+d.length+(p?c:0)}:d}async getDownload(t,r,n,s,i){await this.init();let a=JSON.stringify({ShareKey:t,FileID:r,S3KeyFlag:n,Size:s,Etag:i}),o={method:"POST",url:`${this.api}download/info`,headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36",Authorization:`Bearer ${this.auth}`,"Content-Type":"application/json;charset=UTF-8",platform:"android"},data:a,timeout:15e3};try{let c=await Se.request(o),u=c.data?.data,l=String(u?.DownloadURL||u?.DownloadUrl||"").trim();if(!l)return console.warn("[123 share][down] \u7A7A\u54CD\u5E94, code=%s msg=%s",c.data?.code,c.data?.message),"";let d=new URL(l).searchParams.get("params");return d?U3t(d):l}catch(c){throw console.error("\u83B7\u53D6\u4E0B\u8F7D\u94FE\u63A5\u5931\u8D25:",c),c}}async getLiveTranscoding(t,r,n,s,i){await this.init();let a={method:"GET",url:"https://www.123684.com/b/api/video/play/info",headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36",Authorization:`Bearer ${this.auth}`,"Content-Type":"application/json;charset=UTF-8",platform:"android"},params:{etag:i,size:s,from:"1",shareKey:t},timeout:15e3};try{let c=(await Se.request(a)).data.data?.video_play_info||[],u=[];return c.forEach(l=>{l.url&&u.push({name:wcn(l.resolution),url:l.url})}),u}catch(o){return console.error("\u83B7\u53D6\u8F6C\u7801\u4FE1\u606F\u5931\u8D25:",o),[]}}async listOwnFiles(t="0",r=1,n=100){await this.init();let s=Math.max(1,Number.parseInt(r,10)||1),i={method:"GET",url:`${F3t}/file/list/new`,headers:{"User-Agent":$3t,Authorization:`Bearer ${this.auth}`,platform:"android","App-Version":"43"},params:{driveId:"0",limit:String(n),next:"0",orderBy:"file_id",orderDirection:"desc",parentFileId:String(t||"0"),trashed:"false",SearchData:"",Page:String(s)},timeout:15e3};try{let a=await Se.request(i);q3t(a.data)&&(await this.login(),i.headers.Authorization=`Bearer ${this.auth}`,a=await Se.request(i)),Number(a.data?.code)!==0&&a.data?.code!==void 0&&console.warn("[123 own] listOwnFiles empty, code=%s msg=%s",a.data?.code,a.data?.message||a.data?.msg||"");let o=a.data?.data||{},c=Array.isArray(o.InfoList)?o.InfoList:[],u=[],l=[];return c.forEach(d=>{Number(d.Type)===1?u.push(d):l.push(d)}),{folderList:u,fileList:l,count:Number(o.Total||c.length||0),next:String(o.Next||"0")}}catch(a){return console.error("[123 own] listOwnFiles \u5931\u8D25:",a?.message||a),{folderList:[],fileList:[],count:0,next:"0"}}}async getOwnDownload(t,r,n,s,i=""){await this.init();let a={driveId:0,FileID:Number(t)||t,S3KeyFlag:r,Size:Number(n)||n,Etag:s};i&&(a.FileName=i);let o={method:"POST",url:`${F3t}/file/download_info`,headers:{"User-Agent":$3t,Authorization:`Bearer ${this.auth}`,"Content-Type":"application/json;charset=UTF-8",platform:"android","App-Version":"43"},data:JSON.stringify(a),timeout:15e3};try{let c=await Se.request(o);q3t(c.data)&&(await this.login(),o.headers.Authorization=`Bearer ${this.auth}`,c=await Se.request(o));let u=c.data?.data,l=String(u?.DownloadUrl||u?.DownloadURL||"").trim();if(!l)return console.warn("[123 own][down] empty url, code=%s msg=%s",c.data?.code,c.data?.message),"";try{let d=new URL(l).searchParams.get("params");if(d){let f=U3t(d);if(f.startsWith("http"))return f}}catch{}return l}catch(c){return console.error("[123 own] getOwnDownload \u5931\u8D25:",c?.message||c),""}}},Gu={getShareData:e=>new Og().getShareData(e),getFilesByShareUrl:async e=>await new Og().getFilesByShareUrl(e),listShareFilesOneLayer:async(e,t,r)=>await new Og().listShareFilesOneLayer(e,t,r),getDownload:async(e,t,r,n,s)=>await new Og().getDownload(e,t,r,n,s),getLiveTranscoding:async(e,t,r,n,s)=>await new Og().getLiveTranscoding(e,t,r,n,s),listOwnFiles:async(e,t,r)=>await new Og().listOwnFiles(e,t,r),getOwnDownload:async(e,t,r,n,s)=>await new Og().getOwnDownload(e,t,r,n,s)}});function JIe(e){let r=/https:\/\/pan\.baidu\.com\/s\/(.*)\?.*?pwd=([^&]+)/.exec(e);return r&&r[1]?{shareId:r[1],sharePwd:r[2]||"",url:String(e||"")}:null}function W3t(e="",t=""){let r=String(t||"").trim();if(!r)return"";let n=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),s=String(e||"").match(new RegExp(`(?:^|;\\s*)${n}=([^;]*)`));return s?s[1]:""}function X3t({sha1:e,bduss:t,uid:r,time:n}){return e(e(t)+r+Ocn+n+XIe+Ncn)}function J3t(e={}){return Array.isArray(e?.list)?e.list:Array.isArray(e?.info)?e.info:[]}function Dcn(e=""){let t=String(e||"").trim();return!t||t==="/"||t==="root"}function j3t(e){let t=String(e?.shareId||"").trim(),r=String(e?.sharePwd||"").trim();return t?`https://pan.baidu.com/s/${t}${r?`?pwd=${encodeURIComponent(r)}`:""}`:""}async function KIe(e,t,r,n=6e4){return(await Se.get(`${e.api}/share/list?web=5&app_id=${e.app_id}&desc=1&showempty=0&page=${t}&num=${r}&order=time&shorturl=${e.shorturl}&root=1&view_mode=${e.view_mode}&channel=${e.channel}&web=1&clienttype=0`,{headers:e.headers,timeout:n})).data||{}}async function Pcn(e,t=6e4){if(e.uk&&e.shareid)return;let r=await KIe(e,1,1,t);Number(r?.errno)===0&&(e.uk=r?.uk||e.uk||"",e.shareid=r?.share_id||r?.shareid||e.shareid||"")}function Jj(e={}){return Number(e.has_more||e.hasMore||e.records?.has_more||0)===1}function K3t(e={}){return Number(e?.total||e?.records?.total||0)}async function Z3t(e,t="/",r={}){let n=typeof e=="string"?JIe(e):e;if(!n?.shareId)return{items:[],meta:{}};let s=new gx;await s.getSurl(n.url||j3t(n)),s.surl||(s.surl=String(n.shareId||""),s.shorturl=s.surl?s.surl.slice(1):"",s.pwd=String(n.sharePwd||""),s.link=j3t(n));let i=Math.max(0,Number.parseInt(r.page||r.pg,10)||0),a=i>0,o=Math.max(1,Math.min(500,Number(r.batchSize)||100)),c=Math.max(0,Math.min(1e4,Number(r.batchIntervalMs)||0)),u=Math.max(1e4,Math.min(18e4,Number(r.timeoutMs)||6e4));await s.getRandsk(u),s.headers.cookie=s.cookie;let l=[],d=a?i:1,f=!1,h=0;if(Dcn(t))for(;;){let m=await KIe(s,d,o,u);if(Number(m?.errno)!==0||!Array.isArray(m.list))break;s.uk=m?.uk||s.uk||"",s.shareid=m?.share_id||m?.shareid||s.shareid||"";let g=m.list;if(h=K3t(m)||h,f=Jj(m),a&&d>1&&h<=0&&!f&&g.length0&&await new Promise(_=>setTimeout(_,c))}else{if(await Pcn(s,u),!s.uk||!s.shareid)return{items:[],meta:{surl:s.surl,pwd:s.pwd}};let m=String(t||"/");for(;;){let _=(await Se.get(`${s.api}/share/list?is_from_web=true&uk=${s.uk}&shareid=${s.shareid}&order=name&desc=0&showempty=0&view_mode=${s.view_mode}&web=1&page=${d}&num=${o}&dir=${encodeURIComponent(m)}&channel=${s.channel}&web=1&app_id=${s.app_id}`,{headers:s.headers,timeout:u})).data||{};if(Number(_?.errno)!==0||!Array.isArray(_.list))break;let y=_.list;if(h=K3t(_)||h,f=Jj(_),a&&d>1&&h<=0&&!f&&y.length0&&await new Promise(E=>setTimeout(E,c))}}let p={uk:s.uk||"",shareid:s.shareid||"",surl:s.surl||"",pwd:s.pwd||""};for(let m of l){let g=m?.fs_id||m?.fsid;g&&Zj.set(`${s.surl}_${g}`,m.size)}if(a){let m=h>0?h:(i-1)*o+l.length+(f?o:0);return{items:l,meta:p,paged:!0,page:i,pageSize:o,total:m}}return{items:l,meta:p}}function ZIe(e=""){try{return decodeURIComponent(String(e||""))}catch{return String(e||"")}}function $cn(e=""){if(qn(e).length>=7){let n=qn(e,{fieldOrder:["path","uk","shareid","fsid","surl","encodedPwd","subtitleFsid"]});return{path:n.path||"",uk:n.uk||"",shareid:n.shareid||"",fsid:n.fsid||"",surl:n.surl||"",pwd:ZIe(n.encodedPwd||""),subtitleFsid:n.subtitleFsid||""}}let r=qn(e,{fieldOrder:["path","uk","shareid","fsid","surl","subtitleFsid"]});return{path:r.path||"",uk:r.uk||"",shareid:r.shareid||"",fsid:r.fsid||"",surl:r.surl||"",pwd:"",subtitleFsid:r.subtitleFsid||""}}function qcn(e){return e&&ic.get(`baidu_share_${e}`)||null}function Hcn(e={},t=""){let r=qcn(t);return{surl:e.surl||r?.surl||"",pwd:e.pwd||r?.pwd||"",uk:e.uk||r?.uk||"",shareid:e.shareid||r?.shareid||"",link:e.link||r?.link||""}}function Vcn(e,{surl:t="",pwd:r="",uk:n="",shareid:s=""}){e.surl=t,e.shorturl=e.surl?e.surl.slice(1):"",e.pwd=r,e.link=e.surl?`https://pan.baidu.com/s/${e.surl}${e.pwd?`?pwd=${e.pwd}`:""}`:"",e.uk=n,e.shareid=s}function jcn(e,t={},r=""){let n=Hcn(t,r);return Vcn(e,n),n.link&&(e.link=n.link),n}async function Kcn(e){e.pwd&&(await e.getRandsk(),e.headers.cookie=e.cookie)}async function nUt(e={},t=""){let r=new gx,n=jcn(r,e,t);return await Kcn(r),{drive:r,shareContext:n}}function Gcn({fileId:e,fileSize:t,directUrl:r}){return{kind:zd,source:Ex,directUrl:r,fileId:e,fileSize:t,requestHeaders:{"User-Agent":rK,Referer:"https://pan.baidu.com/"}}}function sUt({fileId:e,directUrl:t}){return{kind:UE,source:Ex,directUrl:t,fileId:e,requestHeaders:{"User-Agent":rK,Referer:"https://pan.baidu.com/"}}}function GIe(e){return!!e&&typeof e=="object"&&typeof e.source=="string"}function Ycn(e){return e?.kind===UE?UE:zd}function eRe(e){return!e||typeof e!="object"||GIe(e)?!1:!!(e.recordsByPrimaryKey||e.primaryKeyByFileAlias||e.entriesByFileId||e.latestEntry||e.latestPrimaryKey)}function tRe(e=""){let t=String(e||""),r=[],n=new Set,s=i=>{let a=String(i||"");!a||n.has(a)||(n.add(a),r.push(a))};s(t),s(ZIe(t));try{s(encodeURIComponent(t))}catch{}return r}function YIe(){return{latestPrimaryKey:"",recordsByPrimaryKey:Object.create(null),primaryKeyByFileAlias:Object.create(null)}}function iUt(e,t){let r={...e,kind:Ycn(e)},n=tRe(t||e.fileId),s=n[0]||String(e.fileId||""),i=Date.now();return{kind:r.kind,primaryFileKey:s,fileKeys:n,cacheEntry:r,createdAt:i,lastAccessAt:i,expiresAt:i+rUt}}function nK(e,t){let r=e.recordsByPrimaryKey[t];if(r){for(let n of r.fileKeys||[])e.primaryKeyByFileAlias[n]===t&&delete e.primaryKeyByFileAlias[n];delete e.recordsByPrimaryKey[t],e.latestPrimaryKey===t&&(e.latestPrimaryKey="")}}function aUt(e,t){e.recordsByPrimaryKey[t.primaryFileKey]=t;for(let r of t.fileKeys)e.primaryKeyByFileAlias[r]=t.primaryFileKey;e.latestPrimaryKey=t.primaryFileKey}function G3t(e){let t=Date.now();e.lastAccessAt=t;let r=yx(e),n=r?.disposition===Ax?kcn:r?.disposition===$T?Bcn:rUt;return e.expiresAt=t+n,e}function yx(e){let t=e?.failureState;return!t?.observedAt||Date.now()-t.observedAt>Mcn?null:t}function oUt(e){let t=yx(e);return t?t.disposition===Ax:!1}function Qcn(e){let t=yx(e);return t?t.disposition===$T:!1}function zcn(e){let t=yx(e);return t?t.disposition===_x||t.disposition===Ax:!1}function Wcn(e){let t=yx(e);return t?t.disposition===$T:!1}function Xcn(e){let t=Number(e?.lastProbeAt||0);return!t||Date.now()-t>=Fcn}function Y3t(e,t){return e&&(e.lastProbeAt=Date.now(),t&&delete e.failureState,e)}function sK(e,t=""){let r=Object.values(e.recordsByPrimaryKey||{});return t?r.filter(n=>n.kind===t):r}function Jcn(e){let t=Date.now();for(let r of sK(e))(r.expiresAt||0)<=t&&nK(e,r.primaryFileKey)}function Zcn(e){let t=sK(e).sort((r,n)=>(n.lastAccessAt||0)-(r.lastAccessAt||0));for(let r=Lcn;r{!GIe(i)||r.has(i)||(r.add(i),n.push(i))};if(GIe(e))s(e);else if(eRe(e)){if(e.entriesByFileId&&typeof e.entriesByFileId=="object")for(let i of Object.values(e.entriesByFileId))s(i);s(e.latestEntry)}for(let i of n)aUt(t,iUt(i,i.fileId));return iK(t)}function cUt(e){let t=w4[e];if(eRe(t)&&t.recordsByPrimaryKey&&t.primaryKeyByFileAlias){let n=iK(t);if(rRe(n)){let s=YIe();return w4[e]=s,s}return n}let r=t?eun(t):YIe();return w4[e]=r,r}function nRe(e,t,r){let n=cUt(e),s=iUt(t,r);return nK(n,s.primaryFileKey),aUt(n,s),iK(n),s}function tun(e,t,r=zd){let n=sK(e,r).filter(s=>!oUt(s));return n.length!==1||t&&tRe(t).length>0?null:n[0]||null}function uUt(e,t,r=zd){let n=tRe(t),s=null;for(let i of n){let a=e.primaryKeyByFileAlias[i],o=a?e.recordsByPrimaryKey[a]:null;if(o&&o.kind===r){if(oUt(o))continue;if(Qcn(o)){s=s||o;continue}return o}}return s}function vx(e,t,r=zd){let n=cUt(e);if(rRe(n))return QIe(e,n),null;let s=uUt(n,t,r);if(s)return n.latestPrimaryKey=s.primaryFileKey,G3t(s);let i=tun(n,t,r);return i?(n.latestPrimaryKey=i.primaryFileKey,G3t(i)):null}function run(e,t){let r=vx(e,t,zd);return r?r.cacheEntry:null}function lUt(e,t){let r=vx(e,t,UE);return r?r.cacheEntry:null}function nun(e,t,r=zd){let n=w4[e];if(!n||!eRe(n))return!1;iK(n);let s=uUt(n,t,r);return s?(nK(n,s.primaryFileKey),QIe(e,n),!0):(QIe(e,n),!1)}function sun(e,t,r,n){return n.source===Ex?[...wl(e,"baidu","\u539F\u753B","redirect",t,r,".bin")]:n.source===eUt?n.qualityUrls.flatMap(s=>[s.name,LC(e,"baidu",s.name,t,r,".bin")]):[]}function iun(e,{shareId:t,encodedFileId:r,cacheEntry:n,subtitleRef:s=null,skipReuse:i=!1}){return i||nRe(t,n,n.fileId),ec({parse:0,urls:sun(e,t,r,n),subtitles:s?[s]:[],extra:{header:{}}})}function aun(e,t){if(!e)return{statusCode:404,error:"\u64AD\u653EURL\u672A\u627E\u5230"};if(e.source===Ex)return{targetUrl:e.directUrl,requestHeaders:e.requestHeaders,contentLength:e.fileSize};if(e.source===eUt){let r=e.qualityUrls.find(n=>n.name===t);return r?{targetUrl:r.url,requestHeaders:e.requestHeaders,contentLength:e.fileSize}:{statusCode:404,error:"\u753B\u8D28\u672A\u627E\u5230"}}return{statusCode:500,error:"\u65E0\u6548\u7684\u7F13\u5B58\u7C7B\u578B"}}async function oun(e){let t=FT.default.enc.Hex.stringify(FT.default.MD5(e.server.config.baidu.cookie)).toString(),r=await e.server.db.getObjectDefault(`/baidu/settings/${t}`,{chunkSize:512*1024,poolSize:8,useMultithread:!0});return yo(r,{chunkSize:512*1024,poolSize:8,useMultithread:!0})}function cun(e){return e.useMultithread?tUt:eK}async function uun(e,t={}){try{let r=await Se.head(e,{headers:t,timeout:Ucn,maxRedirects:0,validateStatus:()=>!0});return{ok:r.status>=200&&r.status<400,statusCode:r.status,response:r}}catch(r){return{ok:!1,error:r}}}async function zIe({shareId:e,fileId:t,expectedKind:r,targetUrl:n,requestHeaders:s,force:i=!1}){let a=vx(e,t,r);if(!a||!i&&!zcn(a)||!Xcn(a))return null;let o=await uun(n,s);if(o.ok)return Y3t(a,!0),{action:"retain",probe:o};Y3t(a,!1);let c=tK(e,t,r,o.error||{response:{status:o.statusCode},message:`redirect probe failed with status ${o.statusCode||0}`},{stage:i?"redirect_retain_probe":"redirect_probe",deliveryMode:eK});return{action:c.disposition,probe:o,failure:c}}function lun(e,t=""){let r=yx(e);return!r||t!==Ex?!1:r.disposition===Ax||r.disposition===$T}async function dun(e,t,{targetUrl:r,fileId:n,requestHeaders:s,contentLength:i,settings:a}){let o=e.params.flag===eK?eK:cun(a),c=vx(e.params.shareId,n,zd);if(o===tUt)try{return await Kc(e,t,r,n,s,{chunkSize:a.chunkSize,poolSize:a.poolSize,timeout:1e3*10},i,!0)}catch(d){console.error("[baidu proxy] chunkStream error:",d.message),tK(e.params.shareId,n,zd,d,{stage:"chunk_stream",deliveryMode:o}),t.sent||t.code(503).send({error:"stream error, please retry"});return}let u=c&&Wcn(c)?await zIe({shareId:e.params.shareId,fileId:n,expectedKind:zd,targetUrl:r,requestHeaders:s,force:!0}):null;if(u?.failure?.disposition===_x){t.sent||t.code(503).send({error:"redirect target unavailable, please retry"});return}if((u||await zIe({shareId:e.params.shareId,fileId:n,expectedKind:zd,targetUrl:r,requestHeaders:s}))?.failure?.disposition===_x){t.sent||t.code(503).send({error:"redirect target unavailable, please retry"});return}t.redirect(r)}function fun(e,{path:t,uk:r,shareid:n,subtitleFsid:s,surl:i,pwd:a}){if(!s)return null;let o=encodeURIComponent(Zt([t,r,n,s,i,encodeURIComponent(a||"")],{structured:!0}));return{fileId:o,ref:dE(e,"baidu",i,o,".srt",{name:"\u5916\u6302\u5B57\u5E55",format:"srt"})}}function hun(e){let t=String(e?.code||"").toUpperCase(),r=String(e?.message||"").toLowerCase();return t==="ECONNABORTED"||t==="ETIMEDOUT"||t==="ESOCKETTIMEDOUT"||r.includes("timeout")}function pun(e){let t=String(e?.code||"").toUpperCase();return t==="ECONNRESET"||t==="EAI_AGAIN"||t==="ENOTFOUND"||t==="ECONNREFUSED"||t==="EPIPE"}function mun(e=null){return{statusCode:Number(e?.response?.status||e?.statusCode||0)||0,code:String(e?.code||""),message:String(e?.message||""),name:String(e?.name||"")}}function dUt(e,t={}){let r=mun(e);return r.statusCode>=400&&r.statusCode<500?{disposition:_x,category:"upstream_4xx",...r,...t}:r.statusCode>=500?{disposition:$T,category:"upstream_5xx",...r,...t}:hun(e)?{disposition:$T,category:"timeout",...r,...t}:pun(e)?{disposition:Ax,category:"network_error",...r,...t}:{disposition:Ax,category:"uncertain_failure",...r,...t}}function gun(e,t){return e&&(e.failureState={category:t.category,disposition:t.disposition,statusCode:t.statusCode||0,code:t.code||"",message:t.message||"",stage:t.stage||"",deliveryMode:t.deliveryMode||"",observedAt:Date.now()},e)}function tK(e,t,r,n,s={}){let i=dUt(n,{expectedKind:r,...s});if(i.disposition===_x){let c=nun(e,t,r);return console.warn("[baidu proxy] invalidate handoff record:",i.category,{shareId:e,expectedKind:r,invalidated:c,statusCode:i.statusCode,code:i.code,stage:i.stage}),i}let a=vx(e,t,r);a&&gun(a,i);let o=i.disposition===$T?"warn":"info";return console[o]("[baidu proxy] keep handoff record:",i.category,{shareId:e,expectedKind:r,statusCode:i.statusCode,code:i.code,stage:i.stage}),i}async function _un({drive:e,shareId:t,subtitleContext:r,path:n,uk:s,shareid:i,subtitleFsid:a}){if(!(!r?.fileId||!a)&&!lUt(t,r.fileId))try{let o=await e.getAppShareUrl(n,s,i,a);if(!o)return;nRe(t,sUt({fileId:r.fileId,directUrl:o}),r.fileId)}catch(o){let c=dUt(o,{stage:"subtitle_prewarm",deliveryMode:"prewarm",expectedKind:UE});console.debug("[baidu subtitle prewarm] skipped:",c.category,c.code||c.statusCode||c.message)}}async function fUt(e,t){await Dg(t);let r=await lt("baidu");if(Array.isArray(e)){let n=[];for(let s of e)try{let i=new gx;await i.getSurl(s);let a=await i.getShareList();if(!a)continue;let o=$k(r,a);o?.from&&o?.url&&n.push(o)}catch(i){console.error(`\u5904\u7406\u767E\u5EA6\u94FE\u63A5\u5931\u8D25: ${s}`,i.message)}return n}else try{let n=new gx;await n.getSurl(e);let s=await n.getShareList();return s?Eo(r,s):[]}catch(n){return console.error("\u5904\u7406\u767E\u5EA6\u94FE\u63A5\u5931\u8D25:",e,n.message),[]}}async function aK(e,t){await Dg(e);let{path:r,uk:n,shareid:s,fsid:i,surl:a,pwd:o,subtitleFsid:c}=$cn(e.body.id),u=Zj.get(`${a}_${i}`),{drive:l,shareContext:d}=await nUt({surl:a,pwd:o,uk:n,shareid:s},a),f=d.surl||a,h=d.uk||n,p=d.shareid||s,m=`${r}*${h}*${p}*${i}`,g=encodeURIComponent(m),_=f,y=c?fun(e,{path:r,uk:h,shareid:p,subtitleFsid:c,surl:f,pwd:d.pwd}):null,E=y?y.ref:null,A=vx(_,m,zd);try{let v=await l.getAppShareUrl(r,h,p,i);if(v){y?.fileId&&await _un({drive:l,shareId:_,subtitleContext:y,path:r,uk:h,shareid:p,subtitleFsid:c});let T=lun(A,Ex);return iun(e,{shareId:_,encodedFileId:g,cacheEntry:Gcn({fileId:m,fileSize:u,directUrl:v}),subtitleRef:E,skipReuse:T})}}catch(v){console.debug("App\u7248API\u83B7\u53D6\u767E\u5EA6\u539F\u753B\u76F4\u94FE\u5931\u8D25:",v.message)}return console.error("\u83B7\u53D6\u767E\u5EA6\u539F\u753B\u76F4\u94FE\u5931\u8D25"),Vs("\u767E\u5EA6\u7F51\u76D8\u83B7\u53D6\u539F\u753B\u76F4\u94FE\u5931\u8D25")}async function hUt(e,t){try{let r=e.params.site,n=e.params.shareId,s=e.params.fileId,i=e.params.flag;if(r!=="baidu")return t.status(400).send({error:"\u65E0\u6548\u7684\u7AD9\u70B9"});if(i==="subt"){let c=lUt(n,s);if(c?.directUrl){if((await zIe({shareId:n,fileId:s,expectedKind:UE,targetUrl:c.directUrl,requestHeaders:c.requestHeaders}))?.failure?.disposition===_x)return t.status(503).send({error:"\u5B57\u5E55\u5730\u5740\u6682\u4E0D\u53EF\u7528\uFF0C\u8BF7\u91CD\u8BD5"});t.redirect(c.directUrl);return}let u=qn(decodeURIComponent(String(s||"")),{fieldOrder:["subPath","subUk","subShareId","subFsid","subSurl","encodedPwd"]});if(!u.subPath||!u.subUk||!u.subShareId||!u.subFsid)return t.status(400).send({error:"\u5B57\u5E55\u53C2\u6570\u65E0\u6548"});let{subPath:l,subUk:d,subShareId:f,subFsid:h,subSurl:p="",encodedPwd:m=""}=u,{drive:g}=await nUt({surl:p,pwd:m?ZIe(m):"",uk:d,shareid:f},p||n),_=null;try{_=await g.getAppShareUrl(l,d,f,h)}catch(y){throw tK(n,s,UE,y,{stage:"subtitle_fetch",deliveryMode:"redirect"}),y}if(!_)return tK(n,s,UE,{response:{status:404},message:"subtitle direct url empty"},{stage:"subtitle_fetch_empty",deliveryMode:"redirect"}),t.status(404).send({error:"\u5B57\u5E55\u5730\u5740\u83B7\u53D6\u5931\u8D25"});nRe(n,sUt({fileId:s,directUrl:_}),s),t.redirect(_);return}let a=aun(run(n,s),i);if(!a.targetUrl)return t.status(a.statusCode||500).send({error:a.error||"\u4EE3\u7406\u5931\u8D25"});let o=await oun(e);return await dun(e,t,{targetUrl:a.targetUrl,fileId:s,requestHeaders:a.requestHeaders,contentLength:a.contentLength,settings:o})}catch(r){console.error("[baidu proxy] error:",r.message),t.sent||t.code(500).send({error:r.message})}}async function gUt(e="/",t=1,r=100){let n=ic.get("baidu_cookie")||"";if(!n)return console.warn("[baidu own][list] cookie empty"),{folderList:[],fileList:[],count:0};let s=Math.max(1,Number.parseInt(t,10)||1),i="https://pan.baidu.com/api/list";try{let a=await Se.get(i,{headers:{"User-Agent":pUt,Referer:"https://pan.baidu.com/disk/main",cookie:n},params:{order:"time",desc:1,showempty:0,web:5,page:s,num:r,dir:e||"/",clienttype:0,app_id:250528},timeout:1e4});if(Number(a.data?.errno)!==0||!Array.isArray(a.data?.list))return console.warn("[baidu own][list] non-zero errno=%s",a.data?.errno),{folderList:[],fileList:[],count:0};let o=[],c=[];return a.data.list.forEach(u=>{Number(u.isdir)===1?o.push(u):c.push(u)}),{folderList:o,fileList:c,count:a.data.list.length}}catch(a){return console.error("[baidu own] listOwnFiles \u5931\u8D25:",a?.message||a),{folderList:[],fileList:[],count:0}}}async function Aun(e){try{return(await Se.get("https://mbd.baidu.com/userx/v1/info/get?appname=baiduboxapp&fields=%5B%22uid%22%5D&client&clientfrom&lang=zh-cn&tpl&ttt",{headers:{"User-Agent":pUt,cookie:e},timeout:8e3})).data?.data?.fields?.uid||"default_uid"}catch{return"default_uid"}}async function oK(e){let t=ic.get("baidu_cookie")||"";if(!t||!e)return"";let r=W3t(t,"BDUSS");if(!r)return console.warn("[baidu own][download] cookie missing BDUSS"),"";try{let n=await Aun(t),s=String(Date.now()),a=X3t({sha1:u=>FT.default.SHA1(u).toString(FT.default.enc.Hex),bduss:r,uid:n,time:s}),o=`https://pan.baidu.com/api/filemetas?app_id=250528&fsids=%5B${encodeURIComponent(String(e))}%5D&dlink=1&origin=dlna&devuid=${XIe}&clienttype=1&channel=${z3t}&version=${WIe}&time=${s}&rand=${a}`,c=await Se.get(o,{headers:{"User-Agent":mUt,Referer:"https://pan.baidu.com/",cookie:t},timeout:1e4});if(Number(c.data?.errno)===0){let u=J3t(c.data);if(u[0]?.dlink)return u[0].dlink}return console.warn("[baidu own][download] errno=%s, body=%s",c.data?.errno,JSON.stringify(c.data||{}).slice(0,200)),""}catch(n){return console.error("[baidu own] getOwnDownload \u5931\u8D25:",n?.message||n),""}}var Q3t,FT,jIe,ic,Zj,WIe,z3t,Ncn,rK,XIe,Ocn,mx,Dg,gx,Ex,eUt,eK,tUt,zd,UE,rUt,Lcn,_x,$T,Ax,Mcn,kcn,Bcn,Ucn,Fcn,w4,pUt,mUt,_Ut,N4=oe(()=>{Pr();Q3t=we(wC(),1),FT=we(ki(),1);Fa();uT();ju();Bi();xl();a0();bg();jh();qd();jIe=class{constructor(){this.localData={},this.db=null,this.initialized=!1,this._writeChain=Promise.resolve()}async init(t){this.db=t;try{let r=await this.db.getObjectDefault("/baidu_driver",{});return this.localData=r,this.initialized=!0,!0}catch{return this.localData={},this.initialized=!1,!1}}_enqueue(t){let r=this._writeChain.then(t,t);return this._writeChain=r.catch(()=>{}),r}async set(t,r){return this.db?this._enqueue(async()=>{this.localData[t]=r;try{let n={};try{n=await this.db.getObjectDefault("/baidu_driver",{})}catch{}let s={...n,...this.localData,[t]:r};return await this.db.push("/baidu_driver",s),!0}catch{return!1}}):!1}get(t){return this.localData[t]}async delete(t){return this.db?this._enqueue(async()=>{delete this.localData[t];try{let r=await this.db.getObjectDefault("/baidu_driver",{});delete r[t];let n={...r,...this.localData};return await this.db.push("/baidu_driver",n),!0}catch{return!1}}):!1}getAll(){return{...this.localData}}async clear(){return this._enqueue(async()=>{this.localData={};try{return await this.db.delete("/baidu_driver"),!0}catch{return!1}})}isInitialized(){return this.initialized}},ic=new jIe,Zj=Hs("baidu.fileSize",{maxSize:2e3,ttl:60*60*1e3}),WIe="12.0.0",z3t="android_12_zhao_bd-netdisk_1024266h",Ncn=`${WIe}ae5821440fab5e1a61a025f014bd8972`,rK="netdisk;P2SP;2.2.91.136;android-android;",XIe="73CED981D0F186D12BC18CAE1684FFD5|VSRCQTF6W",Ocn="ebrcUYiuxaZv2XGu7KIYKxUrqfnOfpDF",mx=500,Dg=async e=>{ic.isInitialized()||await ic.init(e.server.db)};gx=class{constructor(){this.regex=/https:\/\/pan\.baidu\.com\/s\/(.*)\?.*?pwd=([^&]+)/,this.type=["M3U8_AUTO_4K","M3U8_AUTO_2K","M3U8_AUTO_1080","M3U8_AUTO_720","M3U8_AUTO_480"],this.headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",Connection:"keep-alive",Accept:"application/json, text/plain, */*","Accept-Encoding":"gzip, deflate, br","Accept-Language":"zh,en-GB;q=0.9,en-US;q=0.8,en;q=0.7,zh-CN;q=0.6"},this.api="https://pan.baidu.com",this.link="",this.pwd="",this.surl="",this.shorturl="",this.shareid="",this.app_id=250528,this.view_mode=1,this.channel="chunlei",this.randsk=""}get cookie(){return ic.get("baidu_cookie")||""}async getSurl(t){this.link=t;let r=this.regex.exec(t);r&&r[1]&&(this.surl=r[1],this.shorturl=this.surl.slice(1),this.pwd=r[2]||"")}async getSign(){let t={...this.headers,cookie:this.cookie},r=await Se.get(`${this.api}/share/tplconfig?surl=${this.surl}&fields=Espace_info,card_info,sign,timestamp&view_mode=${this.view_mode}&channel=${this.channel}&web=1&app_id=${this.app_id}`,{headers:t,timeout:8e3});if(!r.data?.data?.sign)throw new Error("\u83B7\u53D6sign\u5931\u8D25");return r.data.data.sign}async getRandsk(t=1e4){if(this.randsk)return this.randsk;let r=Q3t.default.stringify({pwd:this.pwd,vcode:"",vcode_str:""}),n=this.link;try{n=new URL(this.link).toString()}catch{n=`${this.api}/s/${this.surl}${this.pwd?`?pwd=${encodeURIComponent(this.pwd)}`:""}`}let s=await Se.post(`${this.api}/share/verify?surl=${this.shorturl}&pwd=${this.pwd}`,r,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",Referer:n},timeout:t});if(!s.data?.randsk)throw console.warn("[baidu detail] getRandsk missing randsk",{errno:s.data?.errno,hasCookie:!!this.cookie,surl:this.surl,shorturl:this.shorturl,body:typeof s.data=="object"?JSON.stringify(s.data).slice(0,300):String(s.data||"").slice(0,300)}),new Error("\u83B7\u53D6randsk\u5931\u8D25");let i=s.data.randsk,a="BDCLND="+i,o=this.cookie;return o.includes("BDCLND")?(o=o.split(";").map(c=>/BDCLND/.test(c)?a:c).join(";"),o!==this.cookie&&await ic.set("baidu_cookie",o)):(o=o+";"+a,await ic.set("baidu_cookie",o)),this.randsk=i,i}async getShareList(){let t=Date.now();this.headers.cookie=this.cookie;let r=!1,n=async(a=1,o=[],c={})=>{let l=(await Se.get(`${this.api}/share/list?web=5&app_id=${this.app_id}&desc=1&showempty=0&page=${a}&num=${mx}&order=time&shorturl=${this.shorturl}&root=1&view_mode=${this.view_mode}&channel=${this.channel}&web=1&clienttype=0`,{headers:this.headers,timeout:1e4})).data;if(a===1&&(c.uk=l?.uk||c.uk||"",c.shareid=l?.share_id||l?.shareid||c.shareid||"",c.errno=Number(l?.errno),c.hasList=Array.isArray(l?.list)),Number(l?.errno)===-21)return console.warn("[baidu detail] share canceled",JSON.stringify({surl:this.surl,shorturl:this.shorturl})),c.canceled=!0,{items:o,meta:c};if(l.errno!==0||!Array.isArray(l.list)||l.list.length===0)return{items:o,meta:c};o.push(...l.list);let d=Number(l.has_more||l.hasMore||0)===1||Number(l.records?.has_more||0)===1,f=Number(l.num||mx);return d||l.list.length>=f?await n(a+1,o,c):{items:o,meta:c}},s=await n();!s.meta?.canceled&&s.items.length===0&&(s.meta?.errno!==0||!s.meta?.hasList)&&(await this.getRandsk(),r=!0,this.headers.cookie=this.cookie,s=await n(1,[],{retriedAfterVerify:!0}));let i=s.items||[];if(s.meta?.canceled)return[];if(i.length>0){let a=[],o=[];this.uk=s.meta?.uk||i[0]?.uk||this.uk,this.shareid=s.meta?.shareid||i[0]?.share_id||i[0]?.shareid||this.shareid;let c=[],u=[];for(let d of i)if((d.category==="6"||d.category===6)&&o.push(d.path),d.category==="1"||d.category===1)d.name=d.server_filename||d.path.split("/").pop(),c.push(d);else{let f=d.server_filename||d.path?.split("/").pop()||"";Ct(f)&&(d.name=f,u.push(d))}let l=cr(c);for(let d of l){let f=d.fs_id||d.fsid,h=yr(d.name,u,_=>_.server_filename||_.path?.split("/").pop()||_.name||""),p=h&&(h.fs_id||h.fsid)||"",m=encodeURIComponent(this.pwd||""),g=d.path.replaceAll("#","\0");Zj.set(`${this.surl}_${f}`,d.size),a.push({vod_name:d.name,vod_id:Zt([g,this.uk,this.shareid,f,this.surl,m,p],{structured:!0}),vod_size:d.size})}if(o.length>0){let d=Date.now(),f=o.map(p=>this.getSharepath(p));(await Promise.allSettled(f)).forEach(p=>{p.status==="fulfilled"&&p.value?.length>0&&a.push(...p.value)}),console.log("[baidu detail] perf",JSON.stringify({surl:this.surl,rootItems:i.length,rootDirs:o.length,totalVideos:a.length,verifiedForList:r,pageSize:mx,subdirMs:Date.now()-d,totalMs:Date.now()-t}))}else console.log("[baidu detail] perf",JSON.stringify({surl:this.surl,rootItems:i.length,rootDirs:0,totalVideos:a.length,verifiedForList:r,pageSize:mx,subdirMs:0,totalMs:Date.now()-t}));return a}return null}async getSharepath(t){this.headers.cookie=this.cookie;let r=async(s=1,i=[])=>{let o=(await Se.get(`${this.api}/share/list?is_from_web=true&uk=${this.uk}&shareid=${this.shareid}&order=name&desc=0&showempty=0&view_mode=${this.view_mode}&web=1&page=${s}&num=${mx}&dir=${encodeURIComponent(t)}&channel=${this.channel}&web=1&app_id=${this.app_id}`,{headers:this.headers,timeout:8e3})).data;if(o.errno!==0||!Array.isArray(o.list)||o.list.length===0)return i;i.push(...o.list);let c=Number(o.has_more||o.hasMore||0)===1||Number(o.records?.has_more||0)===1,u=Number(o.num||mx);return c||o.list.length>=u?await r(s+1,i):i},n=await r();if(n.length>0){let s=[],i=[],a=[];for(let u of n)if((u.category==="6"||u.category===6)&&s.push(u.path),u.category==="1"||u.category===1)u.name=u.server_filename||u.path.split("/").pop(),i.push(u);else{let l=u.server_filename||u.path?.split("/").pop()||"";Ct(l)&&(u.name=l,a.push(u))}let o=cr(i),c=[];for(let u of o){let l=u.fs_id||u.fsid,d=yr(u.name,a,m=>m.server_filename||m.path?.split("/").pop()||m.name||""),f=d&&(d.fs_id||d.fsid)||"",h=encodeURIComponent(this.pwd||""),p=u.path.replaceAll("#","\0");Zj.set(`${this.surl}_${l}`,u.size),c.push({vod_name:u.name,vod_id:Zt([p,this.uk,this.shareid,l,this.surl,h,f],{structured:!0}),vod_size:u.size})}if(s.length>0){let u=s.map(f=>this.getSharepath(f)),d=(await Promise.allSettled(u)).filter(f=>f.status==="fulfilled"&&f.value?.length>0).flatMap(f=>f.value);return[...c,...d]}return c}return[]}sha1(t){return FT.default.SHA1(t).toString(FT.default.enc.Hex)}async getUid(){this.headers.cookie=this.cookie;let t=await Se.get("https://mbd.baidu.com/userx/v1/info/get?appname=baiduboxapp&fields=%20%20%20%20%20%20%20%20%5B%22bg_image%22,%22member%22,%22uid%22,%22avatar%22,%20%22avatar_member%22%5D&client&clientfrom&lang=zh-cn&tpl&ttt",{headers:this.headers,timeout:8e3});return t.data?.data?.fields?.uid?t.data.data.fields.uid:"default_uid"}async getShareUrl(t,r,n,s){t=t.replaceAll("\0","#");let i=await this.getSign(),a=Math.floor(Date.now()/1e3),o=[];return this.type.forEach(c=>{o.push({name:c.replace("M3U8_AUTO_",""),url:`${this.api}/share/streaming?channel=${this.channel}&uk=${r}&fid=${s}&sign=${i}×tamp=${a}&shareid=${n}&type=${c}&vip=0&jsToken&isplayer=1&check_blue=1&adToken`})}),o}async getAppShareUrl(t,r,n,s){t=t.replaceAll("\0","#");let i=await this.getRandsk(),a=await this.getUid(),o=this.cookie,c=W3t(o,"BDUSS");if(!c)return console.warn("[baidu share][app] cookie missing BDUSS"),null;let u={...this.headers,"User-Agent":rK,Referer:"https://pan.baidu.com/",cookie:o},l=String(Date.now()),d=X3t({sha1:this.sha1.bind(this),bduss:c,uid:a,time:l}),f=this.api+"/share/list?shareid="+n+"&uk="+r+"&fid="+s+"&sekey="+i+"&origin=dlna&devuid="+XIe+"&clienttype=1&channel="+z3t+"&version="+WIe+"&time="+l+"&rand="+d,h=await Se.get(f,{headers:u,timeout:1e4});if(Number(h.data?.errno)===0){let p=J3t(h.data);if(p[0]?.dlink)return p[0].dlink}return console.warn("[baidu share][app] no dlink errno=%s hasList=%s hasInfo=%s",h.data?.errno,Array.isArray(h.data?.list),Array.isArray(h.data?.info)),null}};Ex="app",eUt="web",eK="redirect",tUt="chunk",zd="play",UE="subtitle",rUt=30*60*1e3,Lcn=8,_x="invalidate",$T="retain",Ax="mark",Mcn=5*60*1e3,kcn=2*60*1e3,Bcn=10*60*1e3,Ucn=2500,Fcn=60*1e3,w4=Object.create(null);pUt="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",mUt=rK;_Ut={"User-Agent":mUt,Referer:"https://pan.baidu.com/"}});var iRe={};Bt(iRe,{detail:()=>di,getPanInfos:()=>So,init:()=>$i,isEmpty:()=>XTe,play:()=>ti,proxy:()=>ws,test:()=>Run,ua:()=>O4});async function $i(e,t){return{}}function cK(e,t="srt",r="\u5916\u6302\u5B57\u5E55"){return e?[{url:e,name:r,format:t||"srt"}]:[]}async function Tun(e){let t=new Map,r=20;for(let n=0;n{let o=`type_${a}`,c=Pg.get(o);if(c&&Date.now()-c.timestamp{try{let a=null;switch(e){case"ali":a=await rkt(t,r);break;case"quark":a=await gkt(t,r);break;case"uc":a=await Dkt(t,r);break;case"tianyi":let o=await BE.getShareData(t);if(o?.length>0){let u=await lt("tianyi"),l=Ao(u,o,!1);l&&(a=[l])}break;case"yidong":let c=await UT.getShareData(t);if(c?.length>0){let u=await lt("yidong"),l=Ao(u,c,!1);l&&(a=[l])}break;case"123":a=await V3t(t,r);break;case"115":a=await xLt(t,r);break;case"baidu":a=await fUt(t,r);break;case"xunlei":a=await $4t(t,r);break;case"magnet":a=await EMt(t,r);break;case"guangya":a=await fMt(t);break}if(a=Array.isArray(a)?a:[],s&&Pg.set(n,{data:a,timestamp:Date.now()}),Pg.size>200){let o=Array.from(Pg.keys());for(let c=0;c<50;c++)Pg.delete(o[c])}return{data:a,type:e}}catch(a){return console.debug(`\u5904\u7406${e}\u94FE\u63A5\u5931\u8D25:`,t,a.message),{data:[],type:e}}})}function Iun(e,t){let r=new Map,n=[];for(let s=0;sEUt&&Pg.delete(A);if(e=Array.isArray(e)?e:[e],e.length===0)return{froms:"",urls:"",links:[]};let n=await Tun(e),s=new Map;for(let A of e){let v=n.get(A);v&&(s.has(v)||s.set(v,[]),s.get(v).push(A))}let i=[],a=[],o=[],c=[],u=Array.from(s.entries()).map(async([A,v])=>{let T=v.map(b=>bun(A,b,t).then(x=>({...x,shareUrl:b})));(await Promise.allSettled(T)).forEach(b=>{if(b.status==="fulfilled"&&b.value.data.length>0){let x=!1;b.value.data.forEach(w=>{w?.from&&w?.url&&(i.push(w.from),a.push(w.url),o.push(b.value.type),x=!0)}),x&&c.push({type:b.value.type,url:b.value.shareUrl})}})});if(await Promise.all(u),i.length===0)return{froms:"",urls:"",links:[]};let l=globalThis.Pans||[],d=new Map;l.forEach((A,v)=>{d.set(A.key,v)});let f=[];for(let A=0;AC.key==="magnet"&&C.enable)||l.find(C=>C.key==="magnet_guangya"&&C.enable):l.find(C=>C.key===v);T&&T.enable&&f.push({from:i[A],url:a[A],type:v,order:d.get(v)??999})}if(f.sort((A,v)=>A.order-v.order),f.length===0)return{froms:"",urls:"",links:[]};let h=f.map(A=>A.from),p=f.map(A=>A.url),m=f.map(A=>A.type),g=Iun(h,m),_=new Set(f.map(A=>A.type)),y=new Map,E=c.filter(A=>_.has(A.type)).sort((A,v)=>(d.get(A.type)??999)-(d.get(v.type)??999)).map(A=>{let v=l.find(C=>C.key===A.type)?.name||lt(A.type)||A.type,T=(y.get(v)||0)+1;return y.set(v,T),{name:T===1?v:`${v}${T}`,url:A.url}});return{froms:g.join("$$$"),urls:p.join("$$$"),links:E}}async function ws(e,t){switch(e.params.site){case"ali":return await nkt(e,t);case"quark":return await _kt(e,t);case"uc":return await Lkt(e,t);case"baidu":return await hUt(e,t);case"115":return await NLt(e,t);case"tianyi":if(e.params.flag!=="subt")return{error:"\u4E0D\u652F\u6301\u7684\u4EE3\u7406\u7C7B\u578B"};await BT(e);{let n=await BE.getShareUrl(e.params.fileId,e.params.shareId);if(!n)return t.code(404),{error:"\u5B57\u5E55\u5730\u5740\u83B7\u53D6\u5931\u8D25"};t.redirect(n);return}case"yidong":if(e.params.flag!=="subt")return{error:"\u4E0D\u652F\u6301\u7684\u4EE3\u7406\u7C7B\u578B"};{let n=await UT.getSharePlay(e.params.fileId,e.params.shareId);if(!n)return t.code(404),{error:"\u5B57\u5E55\u5730\u5740\u83B7\u53D6\u5931\u8D25"};t.redirect(n);return}case"123":if(e.params.flag!=="subt")return{error:"\u4E0D\u652F\u6301\u7684\u4EE3\u7406\u7C7B\u578B"};await f0(e);{let n=String(e.params.fileId||""),s=n;try{s=decodeURIComponent(n)}catch{}let i=s.split("*");if(i.length<4)return t.code(400),{error:"\u5B57\u5E55\u53C2\u6570\u65E0\u6548"};let a=await Gu.getDownload(e.params.shareId,i[0],i[1],i[2],i[3]);if(!a)return t.code(404),{error:"\u5B57\u5E55\u5730\u5740\u83B7\u53D6\u5931\u8D25"};t.redirect(a);return}case"xunlei":if(e.params.flag==="subt"){await Qc(e);{let n=String(e.params.fileId||""),s=qn(n,{decodeUri:!0});if(s.length<4)return t.code(400),{error:"\u5B57\u5E55\u53C2\u6570\u65E0\u6548"};let i=await k4t(e.params.shareId,s[0],s[1],s[2],s[3],!1);if(!i)return t.code(404),{error:"\u5B57\u5E55\u5730\u5740\u83B7\u53D6\u5931\u8D25"};t.redirect(i);return}}return await B4t(e,t);default:return{error:"\u4E0D\u652F\u6301\u7684\u7AD9\u70B9"}}}async function ti(e,t){let r=String(e?.body?.flag||""),n=String(e?.body?.id||""),s=["\u78C1\u529B","115\u4E91\u8F6C\u5B58","\u5149\u9E2D\u4E91\u8F6C\u5B58",lt("magnet"),lt("magnet_guangya")].filter(Boolean),i=n.startsWith("gyown*")||s.some(a=>r.startsWith(a));if(r.startsWith("\u79D2\u4F20115"))return await o4(e,t);if(i)return await yMt(e,t);if(r.startsWith(await lt("ali")))return await o4(e,t);if(r.startsWith(await lt("quark")))return await Z7(e,t);if(r.startsWith(await lt("uc")))return await oj(e,t);if(r.startsWith(await lt("tianyi"))){let a=qn(n);await BT(e);let o=await BE.getShareUrl(a[0],a[1]),c=oT(e,"tianyi"),u={parse:0,url:P3t(a[0])?["\u5FEB\u4F20",o]:["\u539F\u753B",o]};if(a[3]){let l=`${c}/src/subt/${a[1]}/${encodeURIComponent(a[3])}/.srt`;return ec({parse:0,urls:u.url,subtitles:cK(l,"srt")})}return u}else if(r.startsWith(await lt("yidong"))){let a=qn(n),o;try{o=await UT.getSharePlayInfo(a[0],a[1],a[3]||"")}catch(d){return Vs(`\u79FB\u52A8\u4E91\u76D8\u64AD\u653E\u5931\u8D25: ${d?.message||d}`)}let c=o?.url||"";if(!c)return Vs(o?.error||"\u79FB\u52A8\u4E91\u76D8\u672A\u8FD4\u56DE\u64AD\u653E\u5730\u5740");let u=oT(e,"yidong"),l={parse:0,url:["\u539F\u753B",c]};if(a[2]){let d=`${u}/src/subt/${a[1]}/${encodeURIComponent(a[2])}/.srt`;return ec({parse:0,urls:l.url,subtitles:cK(d,"srt")})}return l}else if(r.startsWith(await lt("guangya"))){let a=qn(n),o=await B7(a[0],a[1],a[2]||"",e.server,a[3]||"");return o?{parse:0,url:["\u539F\u753B",o],header:SE}:Vs("\u5149\u9E2D\u672A\u8FD4\u56DE\u64AD\u653E\u5730\u5740")}else if(r.startsWith(px)){let a=qn(n),o=a[0]==="direct"?String(a[1]||"").trim():"";return o?{parse:0,url:["\u539F\u753B",o]}:Vs("123\u65E0\u9650\u672A\u8FD4\u56DE\u64AD\u653E\u5730\u5740")}else if(r.startsWith(await lt("123"))){await f0(e);let a=qn(n),o=oT(e,"123"),u={parse:0,url:["\u539F\u753B",await Gu.getDownload(a[0],a[1],a[2],a[3],a[4])]};if(a[5]&&a[6]&&a[7]&&a[8]){let l=encodeURIComponent([a[5],a[6],a[7],a[8]].join("*")),d=`${o}/src/subt/${a[0]}/${l}/.srt`;return ec({parse:0,urls:u.url,subtitles:cK(d,"srt")})}return u}else{if(r.startsWith(await lt("115")))return await wLt(e,t);if(r.startsWith(await lt("baidu")))return await aK(e,t);if(r.startsWith(await lt("xunlei"))){await Qc(e);let a=qn(n),o=a[0]||"",c=a[1]||"",u=a[2]||"",l=a[3]||"",d=a[4]?decodeURIComponent(a[4]):"",f=await bj(o,c,u,d,l,!0),h=oT(e,"xunlei"),p=encodeURIComponent([c,u,l,encodeURIComponent(d||"")].join("*")),m=["\u4EE3\u7406",`${h}/src/down/${a[0]}/${p}/.bin`],g=["\u539F\u753B",`${h}/src/redirect/${a[0]}/${p}/.bin`],_=[...m];for(let E=0;E0){let a=n.home.class[0].type_id,o={};if(n.home.filters?.[a]&&n.home.filters[a].forEach(c=>{let u=c.init;u&&c.value.forEach(l=>{l.v==u&&(o[c.key]=u)})}),s=await e.server.inject().post(`${r}/category`).payload({id:a,page:1,filter:!0,filters:o}),n.category=s.json(),console.debug(s.json()),n.category.list?.length>0){i=!0;let c=n.category.list[0].vod_id;await AUt(e,c,n)}}if(s=await e.server.inject().post(`${r}/search`).payload({wd:"\u6D4B\u8BD5",page:1}),n.search=s.json(),console.debug(s.json()),!i&&n.search.list?.length>0){let a=n.search.list[0].vod_id;await AUt(e,a,n)}return n}catch(r){return console.error(r),t.code(500),{err:r.message,tip:"\u68C0\u67E5\u8C03\u8BD5\u63A7\u5236\u53F0\u8F93\u51FA"}}}async function AUt(e,t,r){let n=e.server.prefix,s=await e.server.inject().post(`${n}/detail`).payload({id:t});if(r.detail=s.json(),console.debug(s.json()),r.detail.list?.length>0){r.play=[];for(let i of r.detail.list){let a=i.vod_play_from.split("$$$"),o=i.vod_play_url.split("$$$");for(let c=0;c{Cs();ZC();d4();_4();Ij();U7();$Ie();qIe();Xj();vE();N4();XC();Fa();lE();xl();Bi();bg();a0();lE();O4=sT,sRe=class{constructor(t=5){this.maxConcurrency=t,this.queue=[],this.running=0}async process(t){return new Promise((r,n)=>{this.queue.push({task:t,resolve:r,reject:n}),this.run()})}async run(){if(this.running>=this.maxConcurrency||this.queue.length===0)return;this.running++;let{task:t,resolve:r,reject:n}=this.queue.shift();try{let s=await t();r(s)}catch(s){n(s)}finally{this.running--,this.run()}}};Pg=new Map,EUt=10*60*1e3,yun=5*60*1e3,vun="subtitle_v2";Sun=new sRe(10);So=()=>[{key:"yidong",name:lt("yidong"),validator:t7,pic:"https://pp.myapp.com/ma_icon/0/icon_242055_1780279783/256"},{key:"tianyi",name:lt("tianyi"),validator:e7,pic:"https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/a8/fa/f0/a8faf032-0fa4-d9c5-ac70-920d9c84dff1/AppIcon-0-0-1x_U007emarketing-0-7-0-0-sRGB-85-220.png/350x350.png"},{key:"115",name:lt("115"),validator:n7,pic:"https://img.pcsoft.com.cn/soft/202104/093230-608b5e2ed5912.jpg"},{key:"quark",name:lt("quark"),validator:JV,pic:"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTxSZTMZgv4lvF6G3HU0O9yXx59bF4vNJkY_ZvT5lQWog&s=10"},{key:"uc",name:lt("uc"),validator:ZV,pic:"https://ts1.cn.mm.bing.net/th/id/R-C.421c96e47df7c9719403654ee4f7c281?rik=yiiEoGCTgDDc3w&riu=http%3a%2f%2fpic.9663.com%2fupload%2f2023-5%2f20235111411256277.png&ehk=R81N%2flXMrl%2bxpRlST8DtHXDfab6rzaMb83gihuD71Fk%3d&risl=&pid=ImgRaw&r=0"},{key:"ali",name:lt("ali"),validator:XV,pic:"https://cdn-1.webcatalog.io/catalog/aliyundrive/aliyundrive-icon-filled-256.png?v=1714773187515"},{key:"123",name:lt("123"),validator:r7,pic:"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSr7z3sM7s5fyeHphwYvBGwjOroJIEltqMqB9b8W5WFfSXViOzxMRjmgv0&s=10"},{key:"baidu",name:lt("baidu"),validator:s7,pic:"https://p1.ssl.qhimgs1.com/bdr/576__/t0414ace7e627f1689b.jpg"},{key:"xunlei",name:lt("xunlei"),validator:XDt,pic:"https://img.nkzy.com/nkzy/imgfile/20240130/30171032v4el.png"},{key:"guangya",name:lt("guangya"),validator:a7,pic:"https://pp.myapp.com/ma_icon/0/icon_54641066_1783673467/256"},{key:"magnet",name:lt("magnet"),validator:i7,pic:"https://img.icons8.com/fluency/96/magnet.png"}]});var lRe={};Bt(lRe,{buildRequestKey:()=>qT,clearInflightRequests:()=>xun,getConcurrencyStats:()=>uRe,getInflightStats:()=>SUt,getLimiter:()=>lK,getLimiterStats:()=>vUt,limiterTypeFromSpiderUrl:()=>oRe,resetInflightStats:()=>cRe,withConcurrencyControl:()=>Pn,withInflightDedup:()=>Sx});function lK(e="default"){return uK[e]||uK.default}function oRe(e){if(typeof e!="string"||!e.startsWith("/spider/"))return null;let t=e.match(/^\/spider\/[^/]+\/[^/]+\/([^/?]+)/);if(!t)return null;let r=t[1];return Object.prototype.hasOwnProperty.call(yUt,r)&&r!=="default"?r:null}function vUt(){return Object.entries(uK).map(([e,t])=>({type:e,...t.stats}))}async function Sx(e,t,r=3e4){if(h0.totalRequests++,np.has(e))return h0.dedupedRequests++,np.get(e);let n=Promise.race([t(),new Promise((s,i)=>setTimeout(()=>i(new Error(`Request timeout after ${r}ms`)),r))]).finally(()=>{np.delete(e),h0.activeRequests=np.size});return np.set(e,n),h0.activeRequests=np.size,n}function SUt(){return{count:np.size,totalRequests:h0.totalRequests,dedupedRequests:h0.dedupedRequests,dedupRate:h0.totalRequests>0?h0.dedupedRequests/h0.totalRequests:0,keys:Array.from(np.keys())}}function cRe(){h0={totalRequests:0,dedupedRequests:0,activeRequests:np.size}}async function Pn(e,t,r,n,s={}){let{enableDedup:i=!0,timeout:a=3e4,limiterType:o=t}=s,c=lK(o),u=`${e}:${t}:${r}`;return c.run(async()=>i?Sx(u,n,a):n())}function qT(e,t={}){let r=Object.entries(t).filter(([n,s])=>s!=null).sort(([n],[s])=>n.localeCompare(s));return r.length===0?e:`${e}:${JSON.stringify(r)}`}function xun(){np.clear(),h0.activeRequests=0}function uRe(){return{limiters:vUt(),inflight:SUt()}}var aRe,Cun,yUt,uK,np,h0,ta=oe(()=>{aRe=class{constructor(t){this.baseConcurrency=t,this.concurrency=t,this.activeCount=0,this.pendingCount=0,this.queue=[],this.memoryPressureMode=!1}adjustConcurrency(){let r=process.memoryUsage().rss,n=200*1024*1024,s=240*1024*1024;r>s?(this.concurrency=Math.max(5,Math.floor(this.baseConcurrency*.2)),this.memoryPressureMode=!0):r>n?(this.concurrency=Math.max(10,Math.floor(this.baseConcurrency*.5)),this.memoryPressureMode=!0):(this.concurrency=this.baseConcurrency,this.memoryPressureMode=!1)}async run(t){return new Promise((r,n)=>{this.queue.push({fn:t,resolve:r,reject:n}),this.pendingCount=this.queue.length,this.tryRun()})}tryRun(){if(this.activeCount%10===0&&this.adjustConcurrency(),this.activeCount>=this.concurrency||this.queue.length===0)return;let{fn:t,resolve:r,reject:n}=this.queue.shift();this.pendingCount=this.queue.length,this.activeCount++,Promise.resolve().then(()=>t()).then(r,n).finally(()=>{this.activeCount--,this.tryRun()})}get stats(){return{activeCount:this.activeCount,pendingCount:this.pendingCount,limit:this.concurrency,baseLimit:this.baseConcurrency,memoryPressure:this.memoryPressureMode}}async acquire(){return new Promise(t=>{this.queue.push({fn:()=>new Promise(r=>t(r)),resolve:()=>{},reject:()=>{}}),this.pendingCount=this.queue.length,this.tryRun()})}},Cun=parseInt(process.env.SEARCH_CONCURRENCY||"50",10),yUt={home:20,category:30,detail:30,play:40,search:Cun,default:50},uK={};for(let[e,t]of Object.entries(yUt))uK[e]=new aRe(t);np=new Map,h0={totalRequests:0,dedupedRequests:0,activeRequests:0}});var fRe={};Bt(fRe,{AD_QUERY_KEY_RE:()=>TUt,isLikelyAdSegment:()=>IUt,normalizeM3U8Content:()=>dRe,sanitizeMediaUrl:()=>HT,stripAivinLeadingAdBlock:()=>RUt});function Nun(e){if(typeof e!="string")return"";try{return decodeURIComponent(e)}catch{return e}}function bUt(e,t=3){let r=String(e||"").trim();for(let n=0;n0&&t<=2&&/(ad|gg|promo)/i.test(r)):!1}function Dun(e,t){let r=String(e||"").trim();return!r||!/URI=/i.test(r)?r:r.replace(/URI=(?:"([^"]+)"|([^,]+))/i,(n,s,i)=>{let a=String(s||i||"").trim();if(!a)return n;let o=HT(dK(bUt(a),t));return/^https?:\/\//i.test(o)?`URI="${o}"`:n})}function Pun(e,t=2){try{let r=new URL(e),s=(r.pathname||"").split("/").filter(Boolean).slice(0,t).join("/");return`${r.host}/${s}`}catch{return""}}function RUt(e,t){let r=e.map(p=>String(p||"").trim()).filter(Boolean),n=NaN,s=[],i=new Map;for(let p=0;po&&(a=p,o=m);if(!a||op.sig===a);if(!c||!u||u.lineIndex<=c.lineIndex)return r;let l=[];for(let p=0;p=0;p--){let m=r[p];if(m){if(!m.startsWith("#"))break;if(m.startsWith("#EXTINF:")||m.startsWith("#EXT-X-KEY")||m.startsWith("#EXT-X-MAP")||m.startsWith("#EXT-X-BYTERANGE")||m==="#EXT-X-DISCONTINUITY"){d=p;continue}break}}let f=r.slice(d);for(;f.length>0&&f[0]==="#EXT-X-DISCONTINUITY";)f.shift();for(;f.length>0&&f[f.length-1]==="#EXT-X-DISCONTINUITY";)f.pop();if(f.length===0)return r;let h=[...l.filter((p,m)=>l.indexOf(p)===m&&!f.includes(p)),...f];return h[0]!=="#EXTM3U"&&h.unshift("#EXTM3U"),h}function dRe(e,t,r=null){let n=Oun(e);if(!n.includes("#EXTM3U"))return n;let s=n.replace(/\r\n/g,` +`).split(` +`),i=[];for(let c=0;c0&&i[i.length-1]==="#EXT-X-DISCONTINUITY"&&i.pop(),c=p;continue}}}i.push(f);continue}let d=HT(dK(l,t));d&&(d.toLowerCase().includes(".m3u8")&&typeof r=="function"?i.push(r(d)):i.push(d))}let a=RUt(i,t),o=[];for(let c=0;c{wun=/^#EXT-(?:X-DATERANGE|X-CUE-OUT|X-CUE-OUT-CONT|X-CUE-IN|X-ASSET|OATCLS-SCTE35|X-SCTE35)/i,TUt=/^(ad|ads|adv|advert|advertise|adtag|adid|adurl|adtoken|gg|popup|pop|commercial)$/i});var EK=S(Lg=>{"use strict";Object.defineProperty(Lg,"__esModule",{value:!0});Lg.DefaultXMLBuilderCBOptions=Lg.XMLBuilderOptionKeys=Lg.DefaultBuilderOptions=void 0;Lg.DefaultBuilderOptions={version:"1.0",encoding:void 0,standalone:void 0,keepNullNodes:!1,keepNullAttributes:!1,ignoreConverters:!1,skipWhitespaceOnlyText:!0,convert:{att:"@",ins:"?",text:"#",cdata:"$",comment:"!"},defaultNamespace:{ele:void 0,att:void 0},namespaceAlias:{html:"http://www.w3.org/1999/xhtml",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink"},invalidCharReplacement:void 0,parser:void 0};Lg.XMLBuilderOptionKeys=new Set(Object.keys(Lg.DefaultBuilderOptions));Lg.DefaultXMLBuilderCBOptions={format:"xml",wellFormed:!1,prettyPrint:!1,indent:" ",newline:` +`,offset:0,width:0,allowEmptyTags:!1,spaceBeforeSlash:!1,keepNullNodes:!1,keepNullAttributes:!1,ignoreConverters:!1,convert:{att:"@",ins:"?",text:"#",cdata:"$",comment:"!"},defaultNamespace:{ele:void 0,att:void 0},namespaceAlias:{html:"http://www.w3.org/1999/xhtml",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink"}}});var UUt=S(yK=>{"use strict";Object.defineProperty(yK,"__esModule",{value:!0});yK.FixedSizeSet=void 0;var CRe=class{_limit;_items=new Set;constructor(t=1e3){this._limit=t}add(t){if(this._items.add(t),this._items.size>this._limit){let r=this._items.values().next();r.done||this._items.delete(r.value)}return this}delete(t){return this._items.delete(t)}has(t){return this._items.has(t)}clear(){this._items.clear()}get size(){return this._items.size}forEach(t,r){this._items.forEach(n=>t.call(r,n,n,this))}*keys(){yield*this._items.keys()}*values(){yield*this._items.values()}*entries(){yield*this._items.entries()}*[Symbol.iterator](){yield*this._items}get[Symbol.toStringTag](){return"FixedSizeSet"}};yK.FixedSizeSet=CRe});var FUt=S(vK=>{"use strict";Object.defineProperty(vK,"__esModule",{value:!0});vK.ObjectCache=void 0;var xRe=class{_limit;_items=new Map;constructor(t=1e3){this._limit=t}get(t){return this._items.get(t)}set(t,r){if(this._items.set(t,r),this._items.size>this._limit){let n=this._items.keys().next();n.done||this._items.delete(n.value)}}delete(t){return this._items.delete(t)}has(t){return this._items.has(t)}clear(){this._items.clear()}get size(){return this._items.size}forEach(t,r){this._items.forEach((n,s)=>t.call(r,s,n))}*keys(){yield*this._items.keys()}*values(){yield*this._items.values()}*entries(){yield*this._items.entries()}*[Symbol.iterator](){yield*this._items}get[Symbol.toStringTag](){return"ObjectCache"}};vK.ObjectCache=xRe});var $Ut=S(SK=>{"use strict";Object.defineProperty(SK,"__esModule",{value:!0});SK.CompareCache=void 0;var wRe=class{_limit;_items=new Map;constructor(t=1e3){this._limit=t}check(t,r){if(this._items.get(t)===r)return!0;if(this._items.get(r)===t)return!1;let n=Math.random()<.5;if(n?this._items.set(t,r):this._items.set(r,t),this._items.size>this._limit){let s=this._items.keys().next();s.done||this._items.delete(s.value)}return n}};SK.CompareCache=wRe});var qUt=S(TK=>{"use strict";Object.defineProperty(TK,"__esModule",{value:!0});TK.Lazy=void 0;var NRe=class{_initialized=!1;_initFunc;_value;constructor(t){this._value=void 0,this._initFunc=t}get value(){return this._initialized||(this._value=this._initFunc(),this._initialized=!0),this._value}};TK.Lazy=NRe});var HUt=S(bK=>{"use strict";Object.defineProperty(bK,"__esModule",{value:!0});bK.StringWalker=void 0;var ORe=class{_chars;_length;_pointer=0;_codePoint;_c;_remaining;_substring;constructor(t){this._chars=Array.from(t),this._length=this._chars.length}get eof(){return this._pointer>=this._length}get length(){return this._length}codePoint(){if(this._codePoint===void 0)if(this.eof)this._codePoint=-1;else{let t=this._chars[this._pointer].codePointAt(0);t!==void 0?this._codePoint=t:this._codePoint=-1}return this._codePoint}c(){return this._c===void 0&&(this._c=this.eof?"":this._chars[this._pointer]),this._c}remaining(){return this._remaining===void 0&&(this._remaining=this.eof?"":this._chars.slice(this._pointer+1).join("")),this._remaining}substring(){return this._substring===void 0&&(this._substring=this.eof?"":this._chars.slice(this._pointer).join("")),this._substring}get pointer(){return this._pointer}set pointer(t){t!==this._pointer&&(this._pointer=t,this._codePoint=void 0,this._c=void 0,this._remaining=void 0,this._substring=void 0)}};bK.StringWalker=ORe});var Yn=S(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.StringWalker=un.Lazy=un.CompareCache=un.ObjectCache=un.FixedSizeSet=void 0;un.applyMixin=pln;un.applyDefaults=VUt;un.forEachArray=mln;un.forEachObject=jUt;un.arrayLength=gln;un.objectLength=_ln;un.getObjectValue=Aln;un.removeObjectValue=Eln;un.clone=IK;un.isBoolean=yln;un.isNumber=vln;un.isString=Sln;un.isFunction=DRe;un.isObject=PRe;un.isArray=LRe;un.isSet=MRe;un.isMap=Tx;un.isEmpty=Tln;un.isPlainObject=kRe;un.isIterable=bln;un.getValue=Iln;un.utf8Encode=Rln;un.utf8Decode=Cln;var uln=UUt();Object.defineProperty(un,"FixedSizeSet",{enumerable:!0,get:function(){return uln.FixedSizeSet}});var lln=FUt();Object.defineProperty(un,"ObjectCache",{enumerable:!0,get:function(){return lln.ObjectCache}});var dln=$Ut();Object.defineProperty(un,"CompareCache",{enumerable:!0,get:function(){return dln.CompareCache}});var fln=qUt();Object.defineProperty(un,"Lazy",{enumerable:!0,get:function(){return fln.Lazy}});var hln=HUt();Object.defineProperty(un,"StringWalker",{enumerable:!0,get:function(){return hln.StringWalker}});function pln(e,t,...r){Object.getOwnPropertyNames(t.prototype).forEach(n=>{if(n!=="constructor"){if(r.indexOf(n)!==-1){let i=Object.getOwnPropertyDescriptor(e.prototype,n);i&&Object.defineProperty(e.prototype,"_"+n,i)}let s=Object.getOwnPropertyDescriptor(t.prototype,n);s&&Object.defineProperty(e.prototype,n,s)}})}function VUt(e,t,r=!1){let n=IK(e||{});return jUt(t,(s,i)=>{kRe(i)?n[s]=VUt(n[s],i,r):(r||n[s]===void 0)&&(n[s]=i)}),n}function mln(e,t,r){e.forEach(t,r)}function jUt(e,t,r){if(Tx(e))e.forEach((n,s)=>t.call(r,s,n));else for(let n in e)e.hasOwnProperty(n)&&t.call(r,n,e[n])}function gln(e){return MRe(e)?e.size:e.length}function _ln(e){return Tx(e)?e.size:Object.keys(e).length}function Aln(e,t){return Tx(e)?e.get(t):e[t]}function Eln(e,t){Tx(e)?e.delete(t):delete e[t]}function IK(e){if(DRe(e))return e;if(LRe(e)){let t=[];for(let r of e)t.push(IK(r));return t}else if(kRe(e)){let t={};for(let r in e)if(e.hasOwnProperty(r)){let n=e[r];t[r]=IK(n)}return t}else return e}function yln(e){return typeof e=="boolean"}function vln(e){return typeof e=="number"}function Sln(e){return typeof e=="string"}function DRe(e){return!!e&&typeof e=="function"}function PRe(e){let t=typeof e;return!!e&&(t==="function"||t==="object")}function LRe(e){return Array.isArray(e)}function MRe(e){return e instanceof Set}function Tx(e){return e instanceof Map}function Tln(e){if(LRe(e))return!e.length;if(MRe(e))return!e.size;if(Tx(e))return!e.size;if(PRe(e)){for(let t in e)if(e.hasOwnProperty(t))return!1;return!0}return!1}function kRe(e){if(PRe(e)){let t=Object.getPrototypeOf(e),r=t.constructor;return t&&r&&typeof r=="function"&&r instanceof r&&Function.prototype.toString.call(r)===Function.prototype.toString.call(Object)}return!1}function bln(e){return e&&typeof e[Symbol.iterator]=="function"}function Iln(e){return DRe(e.valueOf)?e.valueOf():e}function Rln(e){let t=new Uint8Array(e.length*4),r=0;for(let n=0;n>6|192;else{if(s>55295&&s<56320){if(++n>=e.length)throw new Error("Incomplete surrogate pair.");let i=e.charCodeAt(n);if(i<56320||i>57343)throw new Error("Invalid surrogate character.");s=65536+((s&1023)<<10)+(i&1023),t[r++]=s>>18|240,t[r++]=s>>12&63|128}else t[r++]=s>>12|224;t[r++]=s>>6&63|128}t[r++]=s&63|128}return t.subarray(0,r)}function Cln(e){let t="",r=0;for(;r127)if(n>191&&n<224){if(r>=e.length)throw new Error("Incomplete 2-byte sequence.");n=(n&31)<<6|e[r++]&63}else if(n>223&&n<240){if(r+1>=e.length)throw new Error("Incomplete 3-byte sequence.");n=(n&15)<<12|(e[r++]&63)<<6|e[r++]&63}else if(n>239&&n<248){if(r+2>=e.length)throw new Error("Incomplete 4-byte sequence.");n=(n&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63}else throw new Error("Unknown multi-byte start.");if(n<=65535)t+=String.fromCharCode(n);else if(n<=1114111)n-=65536,t+=String.fromCharCode(n>>10|55296),t+=String.fromCharCode(n&1023|56320);else throw new Error("Code point exceeds UTF-16 limit.")}return t}});var Vn=S(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.HowToCompare=ac.WhatToShow=ac.FilterResult=ac.Position=ac.NodeType=ac.EventPhase=ac.BoundaryPosition=void 0;var KUt;(function(e){e[e.Before=0]="Before",e[e.Equal=1]="Equal",e[e.After=2]="After"})(KUt||(ac.BoundaryPosition=KUt={}));var GUt;(function(e){e[e.None=0]="None",e[e.Capturing=1]="Capturing",e[e.AtTarget=2]="AtTarget",e[e.Bubbling=3]="Bubbling"})(GUt||(ac.EventPhase=GUt={}));var YUt;(function(e){e[e.Element=1]="Element",e[e.Attribute=2]="Attribute",e[e.Text=3]="Text",e[e.CData=4]="CData",e[e.EntityReference=5]="EntityReference",e[e.Entity=6]="Entity",e[e.ProcessingInstruction=7]="ProcessingInstruction",e[e.Comment=8]="Comment",e[e.Document=9]="Document",e[e.DocumentType=10]="DocumentType",e[e.DocumentFragment=11]="DocumentFragment",e[e.Notation=12]="Notation"})(YUt||(ac.NodeType=YUt={}));var QUt;(function(e){e[e.SameNode=0]="SameNode",e[e.Disconnected=1]="Disconnected",e[e.Preceding=2]="Preceding",e[e.Following=4]="Following",e[e.Contains=8]="Contains",e[e.ContainedBy=16]="ContainedBy",e[e.ImplementationSpecific=32]="ImplementationSpecific"})(QUt||(ac.Position=QUt={}));var zUt;(function(e){e[e.Accept=1]="Accept",e[e.Reject=2]="Reject",e[e.Skip=3]="Skip"})(zUt||(ac.FilterResult=zUt={}));var WUt;(function(e){e[e.All=4294967295]="All",e[e.Element=1]="Element",e[e.Attribute=2]="Attribute",e[e.Text=4]="Text",e[e.CDataSection=8]="CDataSection",e[e.EntityReference=16]="EntityReference",e[e.Entity=32]="Entity",e[e.ProcessingInstruction=64]="ProcessingInstruction",e[e.Comment=128]="Comment",e[e.Document=256]="Document",e[e.DocumentType=512]="DocumentType",e[e.DocumentFragment=1024]="DocumentFragment",e[e.Notation=2048]="Notation"})(WUt||(ac.WhatToShow=WUt={}));var XUt;(function(e){e[e.StartToStart=0]="StartToStart",e[e.StartToEnd=1]="StartToEnd",e[e.EndToEnd=2]="EndToEnd",e[e.EndToStart=3]="EndToStart"})(XUt||(ac.HowToCompare=XUt={}))});var D4=S(RK=>{"use strict";Object.defineProperty(RK,"__esModule",{value:!0});RK.LocalNameSet=void 0;var BRe=class{_items={};_nullItems={};set(t,r){t===null?this._nullItems[r]=!0:this._items[t]?this._items[t][r]=!0:(this._items[t]={},this._items[t][r]=!0)}has(t,r){return t===null?this._nullItems[r]===!0:this._items[t]?this._items[t][r]===!0:!1}};RK.LocalNameSet=BRe});var xK=S(CK=>{"use strict";Object.defineProperty(CK,"__esModule",{value:!0});CK.NamespacePrefixMap=void 0;var URe=class e{_items={};_nullItems=[];copy(){let t=new e;for(let r in this._items)t._items[r]=this._items[r].slice(0);return t._nullItems=this._nullItems.slice(0),t}get(t,r){let n=r===null?this._nullItems:this._items[r]||null;if(n===null)return null;let s=null;for(let i=0;i{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.ASCIIAlphanumeric=Xr.ASCIIAlpha=Xr.ASCIILowerAlpha=Xr.ASCIIUpperAlpha=Xr.ASCIIHexDigit=Xr.ASCIILowerHexDigit=Xr.ASCIIUpperHexDigit=Xr.ASCIIDigit=Xr.Control=Xr.C0ControlOrSpace=Xr.C0Control=Xr.ASCIIWhiteSpace=Xr.ASCIITabOrNewLine=Xr.ASCIICodePoint=Xr.NonCharacter=Xr.ScalarValue=Xr.Surrogate=void 0;Xr.Surrogate=/[\uD800-\uDFFF]/;Xr.ScalarValue=/[\uD800-\uDFFF]/;Xr.NonCharacter=/[\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]/;Xr.ASCIICodePoint=/[\u0000-\u007F]/;Xr.ASCIITabOrNewLine=/[\t\n\r]/;Xr.ASCIIWhiteSpace=/[\t\n\f\r ]/;Xr.C0Control=/[\u0000-\u001F]/;Xr.C0ControlOrSpace=/[\u0000-\u001F ]/;Xr.Control=/[\u0000-\u001F\u007F-\u009F]/;Xr.ASCIIDigit=/[0-9]/;Xr.ASCIIUpperHexDigit=/[0-9A-F]/;Xr.ASCIILowerHexDigit=/[0-9a-f]/;Xr.ASCIIHexDigit=/[0-9A-Fa-f]/;Xr.ASCIIUpperAlpha=/[A-Z]/;Xr.ASCIILowerAlpha=/[a-z]/;Xr.ASCIIAlpha=/[A-Za-z]/;Xr.ASCIIAlphanumeric=/[0-9A-Za-z]/});var JUt=S(NK=>{"use strict";Object.defineProperty(NK,"__esModule",{value:!0});NK.forgivingBase64Encode=wln;NK.forgivingBase64Decode=Nln;var xln=wK();function wln(e){return Buffer.from(e).toString("base64")}function Nln(e){return e===""?"":(e=e.replace(xln.ASCIIWhiteSpace,""),e.length%4===0&&(e.endsWith("==")?e=e.substr(0,e.length-2):e.endsWith("=")&&(e=e.substr(0,e.length-1))),e.length%4===1||!/[0-9A-Za-z+/]/.test(e)?null:Buffer.from(e,"base64").toString("utf8"))}});var $Re=S(FRe=>{"use strict";Object.defineProperty(FRe,"__esModule",{value:!0});FRe.isASCIIByte=Oln;function Oln(e){return e>=0&&e<=127}});var qRe=S(Mg=>{"use strict";Object.defineProperty(Mg,"__esModule",{value:!0});Mg.length=Dln;Mg.byteLowercase=Pln;Mg.byteUppercase=Lln;Mg.byteCaseInsensitiveMatch=Mln;Mg.startsWith=kln;Mg.byteLessThan=Bln;Mg.isomorphicDecode=Uln;function Dln(e){return e.length}function Pln(e){for(let t=0;t=65&&r<=90&&(e[t]=r+32)}}function Lln(e){for(let t=0;t=97&&r<=122&&(e[t]=r-32)}}function Mln(e,t){if(e.length!==t.length)return!1;for(let r=0;r=65&&n<=90&&(n+=32),s>=65&&s<=90&&(s+=32),n!==s)return!1}return!0}function kln(e,t){let r=0;for(;;){if(r>=e.length)return!1;if(r>=t.length)return!0;if(e[r]!==t[r])return!1;r++}}function Bln(e,t){let r=0;for(;;){if(r>=e.length)return!1;if(r>=t.length)return!0;let n=e[r],s=t[r];if(ns)return!1;r++}}function Uln(e){return String.fromCodePoint(...e)}});var ZUt=S(Ix=>{"use strict";Object.defineProperty(Ix,"__esModule",{value:!0});Ix.parseJSONFromBytes=Fln;Ix.serializeJSONToBytes=$ln;Ix.parseJSONIntoInfraValues=qln;Ix.convertAJSONDerivedJavaScriptValueToAnInfraValue=OK;var bx=Yn();function Fln(e){let t=(0,bx.utf8Decode)(e);return JSON.parse.call(void 0,t)}function $ln(e){let t=JSON.stringify.call(void 0,e);return(0,bx.utf8Encode)(t)}function qln(e){let t=JSON.parse.call(void 0,e);return OK(t)}function OK(e){if(e===null||(0,bx.isString)(e)||(0,bx.isNumber)(e))return e;if((0,bx.isArray)(e)){let t=new Array;for(let r of e)t.push(OK(r));return t}else if((0,bx.isObject)(e)){let t=new Map;for(let r in e)if(e.hasOwnProperty(r)){let n=e[r];t.set(r,OK(n))}return t}return e}});var eFt=S(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.append=Hln;oc.extend=Vln;oc.prepend=jln;oc.replace=Kln;oc.insert=Gln;oc.remove=Yln;oc.empty=Qln;oc.contains=zln;oc.size=Wln;oc.isEmpty=Xln;oc.forEach=Jln;oc.clone=Zln;oc.sortInAscendingOrder=edn;oc.sortInDescendingOrder=tdn;var HRe=Yn();function Hln(e,t){e.push(t)}function Vln(e,t){e.push(...t)}function jln(e,t){e.unshift(t)}function Kln(e,t,r){let n=0;for(let s of e){if((0,HRe.isFunction)(t))t.call(null,s)&&(e[n]=r);else if(s===t){e[n]=r;return}n++}}function Gln(e,t,r){e.splice(r,0,t)}function Yln(e,t){let r=e.length;for(;r--;){let n=e[r];if((0,HRe.isFunction)(t))t.call(null,n)&&e.splice(r,1);else if(n===t){e.splice(r,1);return}}}function Qln(e){e.length=0}function zln(e,t){for(let r of e)if((0,HRe.isFunction)(t)){if(t.call(null,r))return!0}else if(r===t)return!0;return!1}function Wln(e,t){if(t===void 0)return e.length;{let r=0;for(let n of e)t.call(null,n)&&r++;return r}}function Xln(e){return e.length===0}function*Jln(e,t){if(t===void 0)yield*e;else for(let r of e)t.call(null,r)&&(yield r)}function Zln(e){return new Array(...e)}function edn(e,t){return e.sort((r,n)=>t.call(null,r,n)?-1:1)}function tdn(e,t){return e.sort((r,n)=>t.call(null,r,n)?1:-1)}});var rFt=S(Qu=>{"use strict";Object.defineProperty(Qu,"__esModule",{value:!0});Qu.get=rdn;Qu.set=ndn;Qu.remove=sdn;Qu.contains=idn;Qu.keys=adn;Qu.values=odn;Qu.size=cdn;Qu.isEmpty=udn;Qu.forEach=ldn;Qu.clone=ddn;Qu.sortInAscendingOrder=fdn;Qu.sortInDescendingOrder=hdn;var tFt=Yn();function rdn(e,t){return e.get(t)}function ndn(e,t,r){e.set(t,r)}function sdn(e,t){if(!(0,tFt.isFunction)(t))e.delete(t);else{let r=[];for(let n of e)t.call(null,n)&&r.push(n[0]);for(let n of r)e.delete(n)}}function idn(e,t){if((0,tFt.isFunction)(t)){for(let r of e)if(t.call(null,r))return!0;return!1}else return e.has(t)}function adn(e){return new Set(e.keys())}function odn(e){return[...e.values()]}function cdn(e,t){if(t===void 0)return e.size;{let r=0;for(let n of e)t.call(null,n)&&r++;return r}}function udn(e){return e.size===0}function*ldn(e,t){if(t===void 0)yield*e;else for(let r of e)t.call(null,r)&&(yield r)}function ddn(e){return new Map(e)}function fdn(e,t){let r=new Array(...e);return r.sort((n,s)=>t.call(null,n,s)?-1:1),new Map(r)}function hdn(e,t){let r=new Array(...e);return r.sort((n,s)=>t.call(null,n,s)?1:-1),new Map(r)}});var nFt=S(zu=>{"use strict";Object.defineProperty(zu,"__esModule",{value:!0});zu.XLink=zu.SVG=zu.MathML=zu.XMLNS=zu.XML=zu.HTML=void 0;zu.HTML="http://www.w3.org/1999/xhtml";zu.XML="http://www.w3.org/XML/1998/namespace";zu.XMLNS="http://www.w3.org/2000/xmlns/";zu.MathML="http://www.w3.org/1998/Math/MathML";zu.SVG="http://www.w3.org/2000/svg";zu.XLink="http://www.w3.org/1999/xlink"});var sFt=S(DK=>{"use strict";Object.defineProperty(DK,"__esModule",{value:!0});DK.enqueue=pdn;DK.dequeue=mdn;function pdn(e,t){e.push(t)}function mdn(e){return e.shift()||null}});var aFt=S(qi=>{"use strict";Object.defineProperty(qi,"__esModule",{value:!0});qi.append=gdn;qi.extend=_dn;qi.prepend=Adn;qi.replace=Edn;qi.insert=ydn;qi.remove=vdn;qi.empty=Sdn;qi.contains=Tdn;qi.size=bdn;qi.isEmpty=Idn;qi.forEach=Rdn;qi.clone=Cdn;qi.sortInAscendingOrder=xdn;qi.sortInDescendingOrder=wdn;qi.isSubsetOf=iFt;qi.isSupersetOf=Ndn;qi.intersection=Odn;qi.union=Ddn;qi.range=Pdn;var VRe=Yn();function gdn(e,t){e.add(t)}function _dn(e,t){t.forEach(e.add,e)}function Adn(e,t){let r=new Set(e);e.clear(),e.add(t),r.forEach(e.add,e)}function Edn(e,t,r){let n=new Set;for(let s of e)(0,VRe.isFunction)(t)?t.call(null,s)?n.add(r):n.add(s):s===t?n.add(r):n.add(s);e.clear(),n.forEach(e.add,e)}function ydn(e,t,r){let n=new Set,s=0;for(let i of e)s===r&&n.add(t),n.add(i),s++;e.clear(),n.forEach(e.add,e)}function vdn(e,t){if(!(0,VRe.isFunction)(t))e.delete(t);else{let r=[];for(let n of e)t.call(null,n)&&r.push(n);for(let n of r)e.delete(n)}}function Sdn(e){e.clear()}function Tdn(e,t){if((0,VRe.isFunction)(t)){for(let r of e)if(t.call(null,r))return!0}else return e.has(t);return!1}function bdn(e,t){if(t===void 0)return e.size;{let r=0;for(let n of e)t.call(null,n)&&r++;return r}}function Idn(e){return e.size===0}function*Rdn(e,t){if(t===void 0)yield*e;else for(let r of e)t.call(null,r)&&(yield r)}function Cdn(e){return new Set(e)}function xdn(e,t){let r=new Array(...e);return r.sort((n,s)=>t.call(null,n,s)?-1:1),new Set(r)}function wdn(e,t){let r=new Array(...e);return r.sort((n,s)=>t.call(null,n,s)?1:-1),new Set(r)}function iFt(e,t){for(let r of e)if(!t.has(r))return!1;return!0}function Ndn(e,t){return iFt(t,e)}function Odn(e,t){let r=new Set;for(let n of e)t.has(n)&&r.add(n);return r}function Ddn(e,t){let r=new Set(e);return t.forEach(r.add,r),r}function Pdn(e,t){let r=new Set;for(let n=e;n<=t;n++)r.add(n);return r}});var oFt=S(PK=>{"use strict";Object.defineProperty(PK,"__esModule",{value:!0});PK.push=Ldn;PK.pop=Mdn;function Ldn(e,t){e.push(t)}function Mdn(e){return e.pop()||null}});var pFt=S(Hi=>{"use strict";Object.defineProperty(Hi,"__esModule",{value:!0});Hi.isCodeUnitPrefix=jRe;Hi.isCodeUnitLessThan=Udn;Hi.isomorphicEncode=uFt;Hi.isASCIIString=lFt;Hi.asciiLowercase=KRe;Hi.asciiUppercase=Fdn;Hi.asciiCaseInsensitiveMatch=$dn;Hi.asciiEncode=qdn;Hi.asciiDecode=Hdn;Hi.stripNewlines=Vdn;Hi.normalizeNewlines=jdn;Hi.stripLeadingAndTrailingASCIIWhitespace=YRe;Hi.stripAndCollapseASCIIWhitespace=Kdn;Hi.collectASequenceOfCodePoints=VT;Hi.skipASCIIWhitespace=GRe;Hi.strictlySplit=dFt;Hi.splitAStringOnASCIIWhitespace=fFt;Hi.splitAStringOnCommas=hFt;Hi.concatenate=Gdn;var cFt=wK(),kdn=qRe(),Bdn=$Re(),LK=Yn();function jRe(e,t){let r=0;for(;;){let n=r=65&&n<=90?t+=String.fromCodePoint(n+32):t+=r}return t}function Fdn(e){let t="";for(let r of e){let n=r.codePointAt(0);n!==void 0&&n>=97&&n<=122?t+=String.fromCodePoint(n-32):t+=r}return t}function $dn(e,t){return KRe(e)===KRe(t)}function qdn(e){return console.assert(lFt(e),"asciiEncode requires an ASCII string."),uFt(e)}function Hdn(e){for(let t of e)console.assert((0,Bdn.isASCIIByte)(t),"asciiDecode requires an ASCII byte sequence.");return(0,kdn.isomorphicDecode)(e)}function Vdn(e){return e.replace(/[\n\r]/g,"")}function jdn(e){return e.replace(/\r\n/g,` +`).replace(/\r/g,` +`)}function YRe(e){return e.replace(/^[\t\n\f\r ]+/,"").replace(/[\t\n\f\r ]+$/,"")}function Kdn(e){return YRe(e.replace(/[\t\n\f\r ]{2,}/g," "))}function VT(e,t,r){if(!(0,LK.isArray)(t))return VT(e,Array.from(t),r);let n="";for(;r.positioncFt.ASCIIWhiteSpace.test(r),e,t)}function dFt(e,t){if(!(0,LK.isArray)(e))return dFt(Array.from(e),t);let r={position:0},n=[],s=VT(i=>t!==i,e,r);for(n.push(s);r.positiont!==i,e,r),n.push(s);return n}function fFt(e){if(!(0,LK.isArray)(e))return fFt(Array.from(e));let t={position:0},r=[];for(GRe(e,t);t.position!cFt.ASCIIWhiteSpace.test(s),e,t);r.push(n),GRe(e,t)}return r}function hFt(e){if(!(0,LK.isArray)(e))return hFt(Array.from(e));let t={position:0},r=[];for(;t.positions!==",",e,t);r.push(YRe(n)),t.position{"use strict";var Ydn=Ln&&Ln.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Qdn=Ln&&Ln.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Wd=Ln&&Ln.__importStar||function(){var e=function(t){return e=Object.getOwnPropertyNames||function(r){var n=[];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(n[n.length]=s);return n},e(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(t!=null)for(var n=e(t),s=0;s{"use strict";Object.defineProperty(QRe,"__esModule",{value:!0});QRe.idl_defineConst=ofn;function ofn(e,t,r){Object.defineProperty(e,t,{writable:!1,enumerable:!0,configurable:!1,value:r})}});var zRe=S(kK=>{"use strict";Object.defineProperty(kK,"__esModule",{value:!0});kK.DOMImplementationImpl=void 0;var cfn=Vi(),Rx=ra(),p0=Cn(),ufn=cc(),MK=class e{_ID="@oozcitak/dom";_associatedDocument;constructor(t){this._associatedDocument=t||cfn.dom.window.document}createDocumentType(t,r,n){return(0,p0.namespace_validate)(t),(0,p0.create_documentType)(this._associatedDocument,t,r,n)}createDocument(t,r,n=null){let s=(0,p0.create_xmlDocument)(),i=null;return r&&(i=(0,p0.document_internalCreateElementNS)(s,t,r)),n&&s.appendChild(n),i&&s.appendChild(i),s._origin=this._associatedDocument._origin,t===Rx.namespace.HTML?s._contentType="application/xhtml+xml":t===Rx.namespace.SVG?s._contentType="image/svg+xml":s._contentType="application/xml",s}createHTMLDocument(t){let r=(0,p0.create_document)();r._type="html",r._contentType="text/html",r.appendChild((0,p0.create_documentType)(r,"html","",""));let n=(0,p0.element_createAnElement)(r,"html",Rx.namespace.HTML);r.appendChild(n);let s=(0,p0.element_createAnElement)(r,"head",Rx.namespace.HTML);if(n.appendChild(s),t!==void 0){let a=(0,p0.element_createAnElement)(r,"title",Rx.namespace.HTML);s.appendChild(a);let o=(0,p0.create_text)(r,t);a.appendChild(o)}let i=(0,p0.element_createAnElement)(r,"body",Rx.namespace.HTML);return n.appendChild(i),r._origin=this._associatedDocument._origin,r}hasFeature(){return!0}static _create(t){return new e(t)}};kK.DOMImplementationImpl=MK;(0,ufn.idl_defineConst)(MK.prototype,"_ID","@oozcitak/dom")});var ma=S(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.InvalidCharacterError=wt.SyntaxError=wt.IndexSizeError=wt.NotFoundError=wt.HierarchyRequestError=wt.NotImplementedError=wt.DataCloneError=wt.InvalidNodeTypeError=wt.TimeoutError=wt.QuotaExceededError=wt.URLMismatchError=wt.AbortError=wt.NetworkError=wt.SecurityError=wt.TypeMismatchError=wt.ValidationError=wt.InvalidAccessError=wt.NamespaceError=wt.InvalidModificationError=wt.InvalidStateError=wt.InUseAttributeError=wt.NotSupportedError=wt.NoModificationAllowedError=wt.NoDataAllowedError=wt.WrongDocumentError=wt.DOMStringSizeError=wt.DOMException=void 0;var Xn=class extends Error{name;constructor(t,r=""){super(r),this.name=t}};wt.DOMException=Xn;var WRe=class extends Xn{constructor(t=""){super("DOMStringSizeError",t)}};wt.DOMStringSizeError=WRe;var XRe=class extends Xn{constructor(t=""){super("WrongDocumentError","The object is in the wrong document. "+t)}};wt.WrongDocumentError=XRe;var JRe=class extends Xn{constructor(t=""){super("NoDataAllowedError",t)}};wt.NoDataAllowedError=JRe;var ZRe=class extends Xn{constructor(t=""){super("NoModificationAllowedError","The object can not be modified. "+t)}};wt.NoModificationAllowedError=ZRe;var eCe=class extends Xn{constructor(t=""){super("NotSupportedError","The operation is not supported. "+t)}};wt.NotSupportedError=eCe;var tCe=class extends Xn{constructor(t=""){super("InUseAttributeError",t)}};wt.InUseAttributeError=tCe;var rCe=class extends Xn{constructor(t=""){super("InvalidStateError","The object is in an invalid state. "+t)}};wt.InvalidStateError=rCe;var nCe=class extends Xn{constructor(t=""){super("InvalidModificationError","The object can not be modified in this way. "+t)}};wt.InvalidModificationError=nCe;var sCe=class extends Xn{constructor(t=""){super("NamespaceError","The operation is not allowed by Namespaces in XML. [XMLNS] "+t)}};wt.NamespaceError=sCe;var iCe=class extends Xn{constructor(t=""){super("InvalidAccessError","The object does not support the operation or argument. "+t)}};wt.InvalidAccessError=iCe;var aCe=class extends Xn{constructor(t=""){super("ValidationError",t)}};wt.ValidationError=aCe;var oCe=class extends Xn{constructor(t=""){super("TypeMismatchError",t)}};wt.TypeMismatchError=oCe;var cCe=class extends Xn{constructor(t=""){super("SecurityError","The operation is insecure. "+t)}};wt.SecurityError=cCe;var uCe=class extends Xn{constructor(t=""){super("NetworkError","A network error occurred. "+t)}};wt.NetworkError=uCe;var lCe=class extends Xn{constructor(t=""){super("AbortError","The operation was aborted. "+t)}};wt.AbortError=lCe;var dCe=class extends Xn{constructor(t=""){super("URLMismatchError","The given URL does not match another URL. "+t)}};wt.URLMismatchError=dCe;var fCe=class extends Xn{constructor(t=""){super("QuotaExceededError","The quota has been exceeded. "+t)}};wt.QuotaExceededError=fCe;var hCe=class extends Xn{constructor(t=""){super("TimeoutError","The operation timed out. "+t)}};wt.TimeoutError=hCe;var pCe=class extends Xn{constructor(t=""){super("InvalidNodeTypeError","The supplied node is incorrect or has an incorrect ancestor for this operation. "+t)}};wt.InvalidNodeTypeError=pCe;var mCe=class extends Xn{constructor(t=""){super("DataCloneError","The object can not be cloned. "+t)}};wt.DataCloneError=mCe;var gCe=class extends Xn{constructor(t=""){super("NotImplementedError","The DOM method is not implemented by this module. "+t)}};wt.NotImplementedError=gCe;var _Ce=class extends Xn{constructor(t=""){super("HierarchyRequestError","The operation would yield an incorrect node tree. "+t)}};wt.HierarchyRequestError=_Ce;var ACe=class extends Xn{constructor(t=""){super("NotFoundError","The object can not be found here. "+t)}};wt.NotFoundError=ACe;var ECe=class extends Xn{constructor(t=""){super("IndexSizeError","The index is not in the allowed range. "+t)}};wt.IndexSizeError=ECe;var yCe=class extends Xn{constructor(t=""){super("SyntaxError","The string did not match the expected pattern. "+t)}};wt.SyntaxError=yCe;var vCe=class extends Xn{constructor(t=""){super("InvalidCharacterError","The string contains invalid characters. "+t)}};wt.InvalidCharacterError=vCe});var TCe=S(BK=>{"use strict";Object.defineProperty(BK,"__esModule",{value:!0});BK.Guard=void 0;var zc=Vn(),SCe=class e{static isNode(t){return!!t&&t._nodeType!==void 0}static isDocumentNode(t){return e.isNode(t)&&t._nodeType===zc.NodeType.Document}static isDocumentTypeNode(t){return e.isNode(t)&&t._nodeType===zc.NodeType.DocumentType}static isDocumentFragmentNode(t){return e.isNode(t)&&t._nodeType===zc.NodeType.DocumentFragment}static isAttrNode(t){return e.isNode(t)&&t._nodeType===zc.NodeType.Attribute}static isCharacterDataNode(t){if(!e.isNode(t))return!1;let r=t._nodeType;return r===zc.NodeType.Text||r===zc.NodeType.ProcessingInstruction||r===zc.NodeType.Comment||r===zc.NodeType.CData}static isTextNode(t){return e.isNode(t)&&(t._nodeType===zc.NodeType.Text||t._nodeType===zc.NodeType.CData)}static isExclusiveTextNode(t){return e.isNode(t)&&t._nodeType===zc.NodeType.Text}static isCDATASectionNode(t){return e.isNode(t)&&t._nodeType===zc.NodeType.CData}static isCommentNode(t){return e.isNode(t)&&t._nodeType===zc.NodeType.Comment}static isProcessingInstructionNode(t){return e.isNode(t)&&t._nodeType===zc.NodeType.ProcessingInstruction}static isElementNode(t){return e.isNode(t)&&t._nodeType===zc.NodeType.Element}static isCustomElementNode(t){return e.isElementNode(t)&&t._customElementState==="custom"}static isShadowRoot(t){return!!t&&t.host!==void 0}static isMouseEvent(t){return!!t&&t.screenX!==void 0&&t.screenY!=null}static isSlotable(t){return!!t&&t._name!==void 0&&t._assignedSlot!==void 0&&(e.isTextNode(t)||e.isElementNode(t))}static isSlot(t){return!!t&&t._name!==void 0&&t._assignedNodes!==void 0&&e.isElementNode(t)}static isWindow(t){return!!t&&t.navigator!==void 0}static isEventListener(t){return!!t&&t.handleEvent!==void 0}static isRegisteredObserver(t){return!!t&&t.observer!==void 0&&t.options!==void 0}static isTransientRegisteredObserver(t){return!!t&&t.source!==void 0&&e.isRegisteredObserver(t)}};BK.Guard=SCe});var mFt=S(UK=>{"use strict";Object.defineProperty(UK,"__esModule",{value:!0});UK.Cast=void 0;var lfn=TCe(),bCe=class{static asNode(t){if(lfn.Guard.isNode(t))return t;throw new Error("Invalid object. Node expected.")}};UK.Cast=bCe});var gFt=S(FK=>{"use strict";Object.defineProperty(FK,"__esModule",{value:!0});FK.EmptySet=void 0;var ICe=class{get size(){return 0}add(t){throw new Error("Cannot add to an empty set.")}clear(){}delete(t){return!1}forEach(t,r){}has(t){return!1}[Symbol.iterator](){return new Cx}entries(){return new Cx}keys(){return new Cx}values(){return new Cx}get[Symbol.toStringTag](){return"EmptySet"}};FK.EmptySet=ICe;var Cx=class{[Symbol.iterator](){return this}next(){return{done:!0,value:null}}}});var ds=S(FE=>{"use strict";Object.defineProperty(FE,"__esModule",{value:!0});FE.EmptySet=FE.Guard=FE.Cast=void 0;var dfn=mFt();Object.defineProperty(FE,"Cast",{enumerable:!0,get:function(){return dfn.Cast}});var ffn=TCe();Object.defineProperty(FE,"Guard",{enumerable:!0,get:function(){return ffn.Guard}});var hfn=gFt();Object.defineProperty(FE,"EmptySet",{enumerable:!0,get:function(){return hfn.EmptySet}})});var P4=S($K=>{"use strict";Object.defineProperty($K,"__esModule",{value:!0});$K.EventTargetImpl=void 0;var pfn=ma(),_Ft=ds(),xx=Cn(),RCe=class{__eventListenerList;get _eventListenerList(){return this.__eventListenerList||(this.__eventListenerList=[])}__eventHandlerMap;get _eventHandlerMap(){return this.__eventHandlerMap||(this.__eventHandlerMap={})}constructor(){}addEventListener(t,r,n={passive:!1,once:!1,capture:!1}){let[s,i,a]=(0,xx.eventTarget_flattenMore)(n),o;if(r)_Ft.Guard.isEventListener(r)?o=r:o={handleEvent:r};else return;(0,xx.eventTarget_addEventListener)(this,{type:t,callback:o,capture:s,passive:i,once:a,removed:!1})}removeEventListener(t,r,n={capture:!1}){let s=(0,xx.eventTarget_flatten)(n);if(r)for(let i=0;i{"use strict";Object.defineProperty(qK,"__esModule",{value:!0});qK.WindowImpl=void 0;var mfn=P4(),gfn=Yn(),_fn=Cn(),CCe=class e extends mfn.EventTargetImpl{_currentEvent;_signalSlots=new Set;_mutationObserverMicrotaskQueued=!1;_mutationObservers=new Set;_associatedDocument;_iteratorList=new gfn.FixedSizeSet;constructor(){super(),this._associatedDocument=(0,_fn.create_document)()}get document(){return this._associatedDocument}get event(){return this._currentEvent}static _create(){return new e}};qK.WindowImpl=CCe});var EFt=S(wx=>{"use strict";Object.defineProperty(wx,"__esModule",{value:!0});wx.OpaqueOrigin=wx.ParserState=void 0;var AFt;(function(e){e[e.SchemeStart=0]="SchemeStart",e[e.Scheme=1]="Scheme",e[e.NoScheme=2]="NoScheme",e[e.SpecialRelativeOrAuthority=3]="SpecialRelativeOrAuthority",e[e.PathOrAuthority=4]="PathOrAuthority",e[e.Relative=5]="Relative",e[e.RelativeSlash=6]="RelativeSlash",e[e.SpecialAuthoritySlashes=7]="SpecialAuthoritySlashes",e[e.SpecialAuthorityIgnoreSlashes=8]="SpecialAuthorityIgnoreSlashes",e[e.Authority=9]="Authority",e[e.Host=10]="Host",e[e.Hostname=11]="Hostname",e[e.Port=12]="Port",e[e.File=13]="File",e[e.FileSlash=14]="FileSlash",e[e.FileHost=15]="FileHost",e[e.PathStart=16]="PathStart",e[e.Path=17]="Path",e[e.CannotBeABaseURLPath=18]="CannotBeABaseURLPath",e[e.Query=19]="Query",e[e.Fragment=20]="Fragment"})(AFt||(wx.ParserState=AFt={}));wx.OpaqueOrigin=["","",null,null]});var $Ce=S(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.setValidationErrorCallback=vfn;ur.newURL=TFt;ur.isSpecialScheme=Nx;ur.isSpecial=ga;ur.defaultPort=NCe;ur.includesCredentials=jK;ur.cannotHaveAUsernamePasswordPort=Sfn;ur.urlSerializer=OCe;ur.hostSerializer=BCe;ur.iPv4Serializer=bFt;ur.iPv6Serializer=IFt;ur.urlParser=Tfn;ur.basicURLParser=UCe;ur.setTheUsername=bfn;ur.setThePassword=Ifn;ur.isSingleDotPathSegment=DCe;ur.isDoubleDotPathSegment=RFt;ur.shorten=PCe;ur.isNormalizedWindowsDriveLetter=FCe;ur.isWindowsDriveLetter=KK;ur.startsWithAWindowsDriveLetter=LCe;ur.hostParser=VK;ur.iPv4NumberParser=CFt;ur.iPv4Parser=xFt;ur.iPv6Parser=wFt;ur.opaqueHostParser=NFt;ur.resolveABlobURL=OFt;ur.percentEncode=GK;ur.percentDecode=DFt;ur.stringPercentDecode=PFt;ur.utf8PercentEncode=$E;ur.hostEquals=Rfn;ur.urlEquals=Cfn;ur.urlEncodedStringParser=xfn;ur.urlEncodedParser=LFt;ur.urlEncodedByteSerializer=MCe;ur.urlEncodedSerializer=wfn;ur.origin=MFt;ur.domainToASCII=kFt;ur.domainToUnicode=Nfn;ur.asciiSerializationOfAnOrigin=Ofn;var Wc=Yn(),st=EFt(),Va=ra(),yFt=require("url"),wCe,vFt={ftp:21,file:null,http:80,https:443,ws:80,wss:443},SFt=/[\0-\x1F\x7F-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Afn=/[ "<>`]|[\0-\x1F\x7F-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Efn=/[ "<>`#?{}]|[\0-\x1F\x7F-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,kCe=/[ "<>`#?{}/:;=@\[\]\\\^\|]|[\0-\x1F\x7F-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,HK=/[0-9A-Za-z!\$&-\/:;=\?@_~\xA0-\uD7FF\uE000-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uD83E\uD840-\uD87E\uD880-\uD8BE\uD8C0-\uD8FE\uD900-\uD93E\uD940-\uD97E\uD980-\uD9BE\uD9C0-\uD9FE\uDA00-\uDA3E\uDA40-\uDA7E\uDA80-\uDABE\uDAC0-\uDAFE\uDB00-\uDB3E\uDB40-\uDB7E\uDB80-\uDBBE\uDBC0-\uDBFE][\uDC00-\uDFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDC00-\uDFFD]/,yfn=/[\0\t\f\r #%/:?@\[\\\]]/;function vfn(e){wCe=e}function bt(e){wCe!==void 0&&wCe.call(null,"Validation Error: "+e)}function TFt(){return{scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,_cannotBeABaseURLFlag:!1,_blobURLEntry:null}}function Nx(e){return e in vFt}function ga(e){return Nx(e.scheme)}function NCe(e){return vFt[e]||null}function jK(e){return e.username!==""||e.password!==""}function Sfn(e){return e.host===null||e.host===""||e._cannotBeABaseURLFlag||e.scheme==="file"}function OCe(e,t=!1){let r=e.scheme+":";if(e.host!==null?(r+="//",jK(e)&&(r+=e.username,e.password!==""&&(r+=":"+e.password),r+="@"),r+=BCe(e.host),e.port!==null&&(r+=":"+e.port)):e.host===null&&e.scheme==="file"&&(r+="//"),e._cannotBeABaseURLFlag)r+=e.path[0];else for(let n of e.path)r+="/"+n;return e.query!==null&&(r+="?"+e.query),!t&&e.fragment!==null&&(r+="#"+e.fragment),r}function BCe(e){return(0,Wc.isNumber)(e)?bFt(e):(0,Wc.isArray)(e)?"["+IFt(e)+"]":e}function bFt(e){let t="",r=e;for(let n=1;n<=4;n++)t=(r%256).toString()+t,n!==4&&(t="."+t),r=Math.floor(r/256);return t}function IFt(e){let t="",r=null,n=-1,s=0,i=0;for(let o=0;o<8;o++)if(e[o]===0){s=1;for(let c=o+1;c<8&&e[c]===0;c++)s++;s>i&&(i=s,n=o)}i>1&&(r=n);let a=!1;for(let o=0;o<8;o++)if(!(a&&e[o]===0)){if(a&&(a=!1),r===o){t+=o===0?"::":":",a=!0;continue}t+=e[o].toString(16),o!==7&&(t+=":")}return t}function Tfn(e,t,r){let n=UCe(e,t,r);if(n===null)return null;if(n.scheme!=="blob")return n;let s=OFt(n);return s!==null?n._blobURLEntry=s:n._blobURLEntry=null,n}function UCe(e,t,r,n,s){if(n===void 0){n=TFt();let p=/^[\u0000-\u001F\u0020]+/,m=/[\u0000-\u001F\u0020]+$/;(p.test(e)||m.test(e))&&bt("Input string contains leading or trailing control characters or space."),e=e.replace(p,""),e=e.replace(m,"")}let i=/[\u0009\u000A\u000D]/g;i.test(e)&&bt("Input string contains tab or newline characters."),e=e.replace(i,"");let a=s===void 0?st.ParserState.SchemeStart:s;t===void 0&&(t=null);let o=r===void 0||r==="replacement"||r==="UTF-16BE"||r==="UTF-16LE"?"UTF-8":r,c="",u=!1,l=!1,d=!1,f="",h=new Wc.StringWalker(e);for(;;){switch(a){case st.ParserState.SchemeStart:if(Va.codePoint.ASCIIAlpha.test(h.c()))c+=h.c().toLowerCase(),a=st.ParserState.Scheme;else if(s===void 0)a=st.ParserState.NoScheme,h.pointer--;else return bt("Invalid scheme start character."),null;break;case st.ParserState.Scheme:if(Va.codePoint.ASCIIAlphanumeric.test(h.c())||h.c()==="+"||h.c()==="-"||h.c()===".")c+=h.c().toLowerCase();else if(h.c()===":"){if(s!==void 0&&(Nx(n.scheme)&&!Nx(c)||!Nx(n.scheme)&&Nx(c)||(jK(n)||n.port!==null)&&c==="file"||n.scheme==="file"&&(n.host===""||n.host===null)))return n;if(n.scheme=c,s!==void 0)return n.port===NCe(n.scheme)&&(n.port=null),n;c="",n.scheme==="file"?(h.remaining().startsWith("//")||bt("Invalid file URL scheme, '//' expected."),a=st.ParserState.File):ga(n)&&t!==null&&t.scheme===n.scheme?a=st.ParserState.SpecialRelativeOrAuthority:ga(n)?a=st.ParserState.SpecialAuthoritySlashes:h.remaining().startsWith("/")?(a=st.ParserState.PathOrAuthority,h.pointer++):(n._cannotBeABaseURLFlag=!0,n.path.push(""),a=st.ParserState.CannotBeABaseURLPath)}else if(s===void 0){c="",a=st.ParserState.NoScheme,h.pointer=0;continue}else return bt("Invalid input string."),null;break;case st.ParserState.NoScheme:if(t===null||t._cannotBeABaseURLFlag&&h.c()!=="#")return bt("Invalid input string."),null;t._cannotBeABaseURLFlag&&h.c()==="#"?(n.scheme=t.scheme,n.path=Va.list.clone(t.path),n.query=t.query,n.fragment="",n._cannotBeABaseURLFlag=!0,a=st.ParserState.Fragment):t.scheme!=="file"?(a=st.ParserState.Relative,h.pointer--):(a=st.ParserState.File,h.pointer--);break;case st.ParserState.SpecialRelativeOrAuthority:h.c()==="/"&&h.remaining().startsWith("/")?(a=st.ParserState.SpecialAuthorityIgnoreSlashes,h.pointer++):(bt("Invalid input string."),a=st.ParserState.Relative,h.pointer--);break;case st.ParserState.PathOrAuthority:h.c()==="/"?a=st.ParserState.Authority:(a=st.ParserState.Path,h.pointer--);break;case st.ParserState.Relative:if(t===null)throw new Error("Invalid parser state. Base URL is null.");switch(n.scheme=t.scheme,h.c()){case f:n.username=t.username,n.password=t.password,n.host=t.host,n.port=t.port,n.path=Va.list.clone(t.path),n.query=t.query;break;case"/":a=st.ParserState.RelativeSlash;break;case"?":n.username=t.username,n.password=t.password,n.host=t.host,n.port=t.port,n.path=Va.list.clone(t.path),n.query="",a=st.ParserState.Query;break;case"#":n.username=t.username,n.password=t.password,n.host=t.host,n.port=t.port,n.path=Va.list.clone(t.path),n.query=t.query,n.fragment="",a=st.ParserState.Fragment;break;default:ga(n)&&h.c()==="\\"?(bt("Invalid input string."),a=st.ParserState.RelativeSlash):(n.username=t.username,n.password=t.password,n.host=t.host,n.port=t.port,n.path=Va.list.clone(t.path),n.path.length!==0&&n.path.splice(n.path.length-1,1),a=st.ParserState.Path,h.pointer--);break}break;case st.ParserState.RelativeSlash:if(ga(n)&&(h.c()==="/"||h.c()==="\\"))h.c()==="\\"&&bt("Invalid input string."),a=st.ParserState.SpecialAuthorityIgnoreSlashes;else if(h.c()==="/")a=st.ParserState.Authority;else{if(t===null)throw new Error("Invalid parser state. Base URL is null.");n.username=t.username,n.password=t.password,n.host=t.host,n.port=t.port,a=st.ParserState.Path,h.pointer--}break;case st.ParserState.SpecialAuthoritySlashes:h.c()==="/"&&h.remaining().startsWith("/")?(a=st.ParserState.SpecialAuthorityIgnoreSlashes,h.pointer++):(bt("Expected '//'."),a=st.ParserState.SpecialAuthorityIgnoreSlashes,h.pointer--);break;case st.ParserState.SpecialAuthorityIgnoreSlashes:h.c()!=="/"&&h.c()!=="\\"?(a=st.ParserState.Authority,h.pointer--):bt("Unexpected '/' or '\\'.");break;case st.ParserState.Authority:if(h.c()==="@"){bt("Unexpected '@'."),u&&(c="%40"+c),u=!0;for(let p of c){if(p===":"&&!d){d=!0;continue}let m=$E(p,kCe);d?n.password+=m:n.username+=m}c=""}else if(h.c()===f||h.c()==="/"||h.c()==="?"||h.c()==="#"||ga(n)&&h.c()==="\\"){if(u&&c==="")return bt("Invalid input string."),null;h.pointer-=c.length+1,c="",a=st.ParserState.Host}else c+=h.c();break;case st.ParserState.Host:case st.ParserState.Hostname:if(s!==void 0&&n.scheme==="file")h.pointer--,a=st.ParserState.FileHost;else if(h.c()===":"&&!l){if(c==="")return bt("Invalid input string."),null;let p=VK(c,!ga(n));if(p===null)return null;if(n.host=p,c="",a=st.ParserState.Port,s===st.ParserState.Hostname)return n}else if(h.c()===f||h.c()==="/"||h.c()==="?"||h.c()==="#"||ga(n)&&h.c()==="\\"){if(h.pointer--,ga(n)&&c==="")return bt("Invalid input string."),null;if(s!==void 0&&c===""&&(jK(n)||n.port!==null))return bt("Invalid input string."),n;let p=VK(c,!ga(n));if(p===null)return null;if(n.host=p,c="",a=st.ParserState.PathStart,s!==void 0)return n}else h.c()==="["&&(l=!0),h.c()==="]"&&(l=!1),c+=h.c();break;case st.ParserState.Port:if(Va.codePoint.ASCIIDigit.test(h.c()))c+=h.c();else if(h.c()===f||h.c()==="/"||h.c()==="?"||h.c()==="#"||ga(n)&&h.c()==="\\"||s){if(c!==""&&c!==""){let p=parseInt(c,10);if(p>Math.pow(2,16)-1)return bt("Invalid port number."),null;n.port=p===NCe(n.scheme)?null:p,c=""}if(s!==void 0)return n;a=st.ParserState.PathStart,h.pointer--}else return bt("Invalid input string."),null;break;case st.ParserState.File:if(n.scheme="file",h.c()==="/"||h.c()==="\\")h.c()==="\\"&&bt("Invalid input string."),a=st.ParserState.FileSlash;else if(t!==null&&t.scheme==="file")switch(h.c()){case f:n.host=t.host,n.path=Va.list.clone(t.path),n.query=t.query;break;case"?":n.host=t.host,n.path=Va.list.clone(t.path),n.query="",a=st.ParserState.Query;break;case"#":n.host=t.host,n.path=Va.list.clone(t.path),n.query=t.query,n.fragment="",a=st.ParserState.Fragment;break;default:LCe(h.substring())?bt("Unexpected windows drive letter in input string."):(n.host=t.host,n.path=Va.list.clone(t.path),PCe(n)),a=st.ParserState.Path,h.pointer--;break}else a=st.ParserState.Path,h.pointer--;break;case st.ParserState.FileSlash:h.c()==="/"||h.c()==="\\"?(h.c()==="\\"&&bt("Invalid input string."),a=st.ParserState.FileHost):(t!==null&&t.scheme==="file"&&!LCe(h.substring())&&(FCe(t.path[0])?n.path.push(t.path[0]):n.host=t.host),a=st.ParserState.Path,h.pointer--);break;case st.ParserState.FileHost:if(h.c()===f||h.c()==="/"||h.c()==="\\"||h.c()==="?"||h.c()==="#")if(h.pointer--,s===void 0&&KK(c))bt("Unexpected windows drive letter in input string."),a=st.ParserState.Path;else if(c===""){if(n.host="",s!==void 0)return n;a=st.ParserState.PathStart}else{let p=VK(c,!ga(n));if(p===null)return null;if(p==="localhost"&&(p=""),n.host=p,s!==void 0)return n;c="",a=st.ParserState.PathStart}else c+=h.c();break;case st.ParserState.PathStart:ga(n)?(h.c()==="\\"&&bt("Invalid input string."),a=st.ParserState.Path,h.c()!=="/"&&h.c()!=="\\"&&h.pointer--):s===void 0&&h.c()==="?"?(n.query="",a=st.ParserState.Query):s===void 0&&h.c()==="#"?(n.fragment="",a=st.ParserState.Fragment):h.c()!==f&&(a=st.ParserState.Path,h.c()!=="/"&&h.pointer--);break;case st.ParserState.Path:if(h.c()===f||h.c()==="/"||ga(n)&&h.c()==="\\"||s===void 0&&(h.c()==="?"||h.c()==="#")){if(ga(n)&&h.c()==="\\"&&bt("Invalid input string."),RFt(c))PCe(n),h.c()!=="/"&&!(ga(n)&&h.c()==="\\")&&n.path.push("");else if(DCe(c)&&h.c()!=="/"&&!(ga(n)&&h.c()==="\\"))n.path.push("");else if(!DCe(c)){if(n.scheme==="file"&&n.path.length===0&&KK(c)){n.host!==null&&n.host!==""&&(bt("Invalid input string."),n.host="");let p=Array.from(c);c=p.slice(0,1)+":"+p.slice(2)}n.path.push(c)}if(c="",n.scheme==="file"&&(h.c()===f||h.c()==="?"||h.c()==="#"))for(;n.path.length>1&&n.path[0]==="";)bt("Invalid input string."),n.path.splice(0,1);h.c()==="?"&&(n.query="",a=st.ParserState.Query),h.c()==="#"&&(n.fragment="",a=st.ParserState.Fragment)}else!HK.test(h.c())&&h.c()!=="%"&&bt("Character is not a URL code point or a percent encoded character."),h.c()==="%"&&!/^[0-9a-fA-F][0-9a-fA-F]/.test(h.remaining())&&bt("Percent encoded character must be followed by two hex digits."),c+=$E(h.c(),Efn);break;case st.ParserState.CannotBeABaseURLPath:h.c()==="?"?(n.query="",a=st.ParserState.Query):h.c()==="#"?(n.fragment="",a=st.ParserState.Fragment):(h.c()!==f&&!HK.test(h.c())&&h.c()!=="%"&&bt("Character is not a URL code point or a percent encoded character."),h.c()==="%"&&!/^[0-9a-fA-F][0-9a-fA-F]/.test(h.remaining())&&bt("Percent encoded character must be followed by two hex digits."),h.c()!==f&&(n.path[0]+=$E(h.c(),SFt)));break;case st.ParserState.Query:if(o!=="UTF-8"&&(!ga(n)||n.scheme==="ws"||n.scheme==="wss")&&(o="UTF-8"),s===void 0&&h.c()==="#")n.fragment="",a=st.ParserState.Fragment;else if(h.c()!==f){if(!HK.test(h.c())&&h.c()!=="%"&&bt("Character is not a URL code point or a percent encoded character."),h.c()==="%"&&!/^[0-9a-fA-F][0-9a-fA-F]/.test(h.remaining())&&bt("Percent encoded character must be followed by two hex digits."),o.toUpperCase()!=="UTF-8")throw new Error("Only UTF-8 encoding is supported.");let p=(0,Wc.utf8Encode)(h.c());if(p.length>=3&&p[0]===38&&p[1]===35&&p[p.length-1]===59)p=p.subarray(2,p.length-1),n.query+="%26%23"+Va.byteSequence.isomorphicDecode(p)+"%3B";else for(let m of p)m<33||m>126||m===34||m===35||m===60||m===62||m===39&&ga(n)?n.query+=GK(m):n.query+=String.fromCharCode(m)}break;case st.ParserState.Fragment:h.c()===f||(h.c()==="\0"?bt("NULL character in input string."):(!HK.test(h.c())&&h.c()!=="%"&&bt("Unexpected character in fragment string."),h.c()==="%"&&!/^[A-Za-z0-9][A-Za-z0-9]/.test(h.remaining())&&bt("Unexpected character in fragment string."),n.fragment+=$E(h.c(),Afn)));break}if(h.eof)break;h.pointer++}return n}function bfn(e,t){let r="";for(let n of t)r+=$E(n,kCe);e.username=r}function Ifn(e,t){let r="";for(let n of t)r+=$E(n,kCe);e.password=r}function DCe(e){return e==="."||e.toLowerCase()==="%2e"}function RFt(e){let t=e.toLowerCase();return t===".."||t===".%2e"||t==="%2e."||t==="%2e%2e"}function PCe(e){let t=e.path;t.length!==0&&(e.scheme==="file"&&t.length===1&&FCe(t[0])||e.path.splice(e.path.length-1,1))}function FCe(e){return e.length>=2&&Va.codePoint.ASCIIAlpha.test(e[0])&&e[1]===":"}function KK(e){return e.length>=2&&Va.codePoint.ASCIIAlpha.test(e[0])&&(e[1]===":"||e[1]==="|")}function LCe(e){return e.length>=2&&KK(e)&&(e.length===2||e[2]==="/"||e[2]==="\\"||e[2]==="?"||e[2]==="#")}function VK(e,t=!1){if(e.startsWith("["))return e.endsWith("]")?wFt(e.substring(1,e.length-1)):(bt("Expected ']' after '['."),null);if(t)return NFt(e);let r=(0,Wc.utf8Decode)(PFt(e)),n=kFt(r);if(n===null||yfn.test(n))return bt("Invalid domain."),null;let s=xFt(n);return s===null||(0,Wc.isNumber)(s)?s:n}function CFt(e,t={value:!1}){let r=10;return e.startsWith("0x")||e.startsWith("0X")?(t.value=!0,e=e.substr(2),r=16):e.length>=2&&e[0]==="0"&&(t.value=!0,e=e.substr(1),r=8),e===""?0:(r===10?/^[0-9]+$/:r===16?/^[0-9A-Fa-f]+$/:/^[0-7]+$/).test(e)?parseInt(e,r):null}function xFt(e){let t={value:!1},r=e.split(".");if(r[r.length-1]===""&&(t.value=!0,r.length>1&&r.pop()),r.length>4)return e;let n=[];for(let a of r){if(a==="")return e;let o=CFt(a,t);if(o===null)return e;n.push(o)}t.value&&bt("Invalid IP v4 address.");for(let a=0;a255&&(bt("Invalid IP v4 address."),a=Math.pow(256,5-n.length))return bt("Invalid IP v4 address."),null;let s=n[n.length-1];n.pop();let i=0;for(let a of n)s+=a*Math.pow(256,3-i),i++;return s}function wFt(e){let t="",r=[0,0,0,0,0,0,0,0],n=0,s=null,i=new Wc.StringWalker(e);if(i.c()===":"){if(!i.remaining().startsWith(":"))return bt("Invalid IP v6 address."),null;i.pointer+=2,n+=1,s=n}for(;i.c()!==t;){if(n===8)return bt("Invalid IP v6 address."),null;if(i.c()===":"){if(s!==null)return bt("Invalid IP v6 address."),null;i.pointer++,n++,s=n;continue}let a=0,o=0;for(;o<4&&Va.codePoint.ASCIIHexDigit.test(i.c());)a=a*16+parseInt(i.c(),16),i.pointer++,o++;if(i.c()==="."){if(o===0||(i.pointer-=o,n>6))return bt("Invalid IP v6 address."),null;let c=0;for(;i.c()!==t;){let u=null;if(c>0)if(i.c()==="."&&c<4)i.pointer++;else return bt("Invalid IP v6 address."),null;if(!Va.codePoint.ASCIIDigit.test(i.c()))return bt("Invalid IP v6 address."),null;for(;Va.codePoint.ASCIIDigit.test(i.c());){let l=parseInt(i.c(),10);if(u===null)u=l;else{if(u===0)return bt("Invalid IP v6 address."),null;u=u*10+l}if(u>255)return bt("Invalid IP v6 address."),null;i.pointer++}if(u===null)return bt("Invalid IP v6 address."),null;r[n]=r[n]*256+u,c++,(c===2||c===4)&&n++}if(c!==4)return bt("Invalid IP v6 address."),null;break}else if(i.c()===":"){if(i.pointer++,i.c()===t)return bt("Invalid IP v6 address."),null}else if(i.c()!==t)return bt("Invalid IP v6 address."),null;r[n]=a,n++}if(s!==null){let a=n-s;for(n=7;n!==0&&a>0;)[r[n],r[s+a-1]]=[r[s+a-1],r[n]],n--,a--}else if(s===null&&n!==8)return bt("Invalid IP v6 address."),null;return r}function NFt(e){if(/[\x00\t\f\r #/:?@\[\\\]]/.test(e))return bt("Invalid host string."),null;let r="";for(let n of e)r+=$E(n,SFt);return r}function OFt(e){return null}function GK(e){return"%"+("00"+e.toString(16).toUpperCase()).slice(-2)}function DFt(e){let t=s=>s>=48&&s<=57||s>=65&&s<=70||s>=97&&s<=102,r=new Uint8Array(e.length),n=0;for(let s=0;s=e.length-2)r[n]=i,n++;else if(i===37&&(!t(e[s+1])||!t(e[s+2])))r[n]=i,n++;else{let a=parseInt((0,Wc.utf8Decode)(Uint8Array.of(e[s+1],e[s+2])),16);r[n]=a,n++,s+=2}}return r.subarray(0,n)}function PFt(e){return DFt((0,Wc.utf8Encode)(e))}function $E(e,t){if(!t.test(e))return e;let r=(0,Wc.utf8Encode)(e),n="";for(let s of r)n+=GK(s);return n}function Rfn(e,t){return e===t}function Cfn(e,t,r=!1){return OCe(e,r)===OCe(t,r)}function xfn(e){return LFt((0,Wc.utf8Encode)(e))}function LFt(e){let t=[],r=[];for(let s of e)s===38?(t.push(Uint8Array.from(r)),r=[]):r.push(s);r.length!==0&&t.push(Uint8Array.from(r));let n=[];for(let s of t){if(s.length===0)continue;let i=s.indexOf(61),a=i!==-1?s.slice(0,i):s,o=i!==-1?s.slice(i+1):new Uint8Array;for(let l=0;l=48&&r<=57||r>=65&&r<=90||r===95||r>=97&&r<=122?t+=String.fromCodePoint(r):t+=GK(r);return t}function wfn(e,t){if((t===void 0||t==="replacement"||t==="UTF-16BE"||t==="UTF-16LE"?"UTF-8":t).toUpperCase()!=="UTF-8")throw new Error("Only UTF-8 encoding is supported.");let n="";for(let s of e){let i=MCe((0,Wc.utf8Encode)(s[0])),a=s[1];a=MCe((0,Wc.utf8Encode)(a)),n!==""&&(n+="&"),n+=i+"="+a}return n}function MFt(e){switch(e.scheme){case"blob":e._blobURLEntry;let t=UCe(e.path[0]);return t===null?st.OpaqueOrigin:MFt(t);case"ftp":case"http":case"https":case"ws":case"wss":return[e.scheme,e.host===null?"":e.host,e.port,null];case"file":return st.OpaqueOrigin;default:return st.OpaqueOrigin}}function kFt(e,t=!1){let r=(0,yFt.domainToASCII)(e);return r===""?(bt("Invalid domain name."),null):r}function Nfn(e,t=!1){let r=(0,yFt.domainToUnicode)(e);return r===""&&bt("Invalid domain name."),r}function Ofn(e){if(e[0]===""&&e[1]===""&&e[2]===null&&e[3]===null)return"null";let t=e[0]+"://"+BCe(e[1]);return e[2]!==null&&(t+=":"+e[2].toString()),t}});var qE=S(QK=>{"use strict";Object.defineProperty(QK,"__esModule",{value:!0});QK.NodeImpl=void 0;var YK=Vi(),To=Vn(),Dfn=P4(),Fr=ds(),Pfn=ma(),vr=Cn(),Lfn=$Ce(),ja=cc(),yi=class extends Dfn.EventTargetImpl{static ELEMENT_NODE=1;static ATTRIBUTE_NODE=2;static TEXT_NODE=3;static CDATA_SECTION_NODE=4;static ENTITY_REFERENCE_NODE=5;static ENTITY_NODE=6;static PROCESSING_INSTRUCTION_NODE=7;static COMMENT_NODE=8;static DOCUMENT_NODE=9;static DOCUMENT_TYPE_NODE=10;static DOCUMENT_FRAGMENT_NODE=11;static NOTATION_NODE=12;static DOCUMENT_POSITION_DISCONNECTED=1;static DOCUMENT_POSITION_PRECEDING=2;static DOCUMENT_POSITION_FOLLOWING=4;static DOCUMENT_POSITION_CONTAINS=8;static DOCUMENT_POSITION_CONTAINED_BY=16;static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=32;ELEMENT_NODE=1;ATTRIBUTE_NODE=2;TEXT_NODE=3;CDATA_SECTION_NODE=4;ENTITY_REFERENCE_NODE=5;ENTITY_NODE=6;PROCESSING_INSTRUCTION_NODE=7;COMMENT_NODE=8;DOCUMENT_NODE=9;DOCUMENT_TYPE_NODE=10;DOCUMENT_FRAGMENT_NODE=11;NOTATION_NODE=12;DOCUMENT_POSITION_DISCONNECTED=1;DOCUMENT_POSITION_PRECEDING=2;DOCUMENT_POSITION_FOLLOWING=4;DOCUMENT_POSITION_CONTAINS=8;DOCUMENT_POSITION_CONTAINED_BY=16;DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=32;__childNodes;get _childNodes(){return this.__childNodes||(this.__childNodes=(0,vr.create_nodeList)(this))}_nodeDocumentOverride;get _nodeDocument(){return this._nodeDocumentOverride||YK.dom.window._associatedDocument}set _nodeDocument(t){this._nodeDocumentOverride=t}__registeredObserverList;get _registeredObserverList(){return this.__registeredObserverList||(this.__registeredObserverList=[])}_parent=null;_children=new Fr.EmptySet;_firstChild=null;_lastChild=null;_previousSibling=null;_nextSibling=null;constructor(){super()}get nodeType(){return this._nodeType}get nodeName(){return Fr.Guard.isElementNode(this)?this._htmlUppercasedQualifiedName:Fr.Guard.isAttrNode(this)?this._qualifiedName:Fr.Guard.isExclusiveTextNode(this)?"#text":Fr.Guard.isCDATASectionNode(this)?"#cdata-section":Fr.Guard.isProcessingInstructionNode(this)?this._target:Fr.Guard.isCommentNode(this)?"#comment":Fr.Guard.isDocumentNode(this)?"#document":Fr.Guard.isDocumentTypeNode(this)?this._name:Fr.Guard.isDocumentFragmentNode(this)?"#document-fragment":""}get baseURI(){return(0,Lfn.urlSerializer)(this._nodeDocument._URL)}get isConnected(){return Fr.Guard.isElementNode(this)&&(0,vr.shadowTree_isConnected)(this)}get ownerDocument(){return this._nodeType===To.NodeType.Document?null:this._nodeDocument}getRootNode(t){return(0,vr.tree_rootNode)(this,!!t&&t.composed)}get parentNode(){return this._nodeType===To.NodeType.Attribute?null:this._parent}get parentElement(){return this._parent&&Fr.Guard.isElementNode(this._parent)?this._parent:null}hasChildNodes(){return this._firstChild!==null}get childNodes(){return this._childNodes}get firstChild(){return this._firstChild}get lastChild(){return this._lastChild}get previousSibling(){return this._previousSibling}get nextSibling(){return this._nextSibling}get nodeValue(){return Fr.Guard.isAttrNode(this)?this._value:Fr.Guard.isCharacterDataNode(this)?this._data:null}set nodeValue(t){t===null&&(t=""),Fr.Guard.isAttrNode(this)?(0,vr.attr_setAnExistingAttributeValue)(this,t):Fr.Guard.isCharacterDataNode(this)&&(0,vr.characterData_replaceData)(this,0,this._data.length,t)}get textContent(){return Fr.Guard.isDocumentFragmentNode(this)||Fr.Guard.isElementNode(this)?(0,vr.text_descendantTextContent)(this):Fr.Guard.isAttrNode(this)?this._value:Fr.Guard.isCharacterDataNode(this)?this._data:null}set textContent(t){t===null&&(t=""),Fr.Guard.isDocumentFragmentNode(this)||Fr.Guard.isElementNode(this)?(0,vr.node_stringReplaceAll)(t,this):Fr.Guard.isAttrNode(this)?(0,vr.attr_setAnExistingAttributeValue)(this,t):Fr.Guard.isCharacterDataNode(this)&&(0,vr.characterData_replaceData)(this,0,(0,vr.tree_nodeLength)(this),t)}normalize(){let t=[],r=(0,vr.tree_getFirstDescendantNode)(this,!1,!1,n=>Fr.Guard.isExclusiveTextNode(n));for(;r!==null;)t.push(r),r=(0,vr.tree_getNextDescendantNode)(this,r,!1,!1,n=>Fr.Guard.isExclusiveTextNode(n));for(let n=0;n{"use strict";Object.defineProperty(XK,"__esModule",{value:!0});XK.DocumentImpl=void 0;var Mfn=Vi(),zK=Vn(),kg=ma(),kfn=qE(),L4=ds(),qCe=Yn(),Bfn=ra(),Ufn=$Ce(),Ns=Cn(),Ffn=cc(),WK=class extends kfn.NodeImpl{_nodeType=zK.NodeType.Document;_children=new Set;_encoding={name:"UTF-8",labels:["unicode-1-1-utf-8","utf-8","utf8"]};_contentType="application/xml";_URL={scheme:"about",username:"",password:"",host:null,port:null,path:["blank"],query:null,fragment:null,_cannotBeABaseURLFlag:!0,_blobURLEntry:null};_origin=null;_type="xml";_mode="no-quirks";_implementation;_documentElement=null;_hasNamespaces=!1;_nodeDocumentOverwrite=null;get _nodeDocument(){return this._nodeDocumentOverwrite||this}set _nodeDocument(t){this._nodeDocumentOverwrite=t}constructor(){super()}get implementation(){return this._implementation||(this._implementation=(0,Ns.create_domImplementation)(this))}get URL(){return(0,Ufn.urlSerializer)(this._URL)}get documentURI(){return this.URL}get origin(){return"null"}get compatMode(){return this._mode==="quirks"?"BackCompat":"CSS1Compat"}get characterSet(){return this._encoding.name}get charset(){return this._encoding.name}get inputEncoding(){return this._encoding.name}get contentType(){return this._contentType}get doctype(){for(let t of this._children)if(L4.Guard.isDocumentTypeNode(t))return t;return null}get documentElement(){return this._documentElement}getElementsByTagName(t){return(0,Ns.node_listOfElementsWithQualifiedName)(t,this)}getElementsByTagNameNS(t,r){return(0,Ns.node_listOfElementsWithNamespace)(t,r,this)}getElementsByClassName(t){return(0,Ns.node_listOfElementsWithClassNames)(t,this)}createElement(t,r){if(!(0,Ns.xml_isName)(t))throw new kg.InvalidCharacterError;this._type==="html"&&(t=t.toLowerCase());let n=null;r!==void 0&&((0,qCe.isString)(r)?n=r:n=r.is);let s=this._type==="html"||this._contentType==="application/xhtml+xml"?Bfn.namespace.HTML:null;return(0,Ns.element_createAnElement)(this,t,s,null,n,!0)}createElementNS(t,r,n){return(0,Ns.document_internalCreateElementNS)(this,t,r,n)}createDocumentFragment(){return(0,Ns.create_documentFragment)(this)}createTextNode(t){return(0,Ns.create_text)(this,t)}createCDATASection(t){if(this._type==="html")throw new kg.NotSupportedError;if(t.indexOf("]]>")!==-1)throw new kg.InvalidCharacterError;return(0,Ns.create_cdataSection)(this,t)}createComment(t){return(0,Ns.create_comment)(this,t)}createProcessingInstruction(t,r){if(!(0,Ns.xml_isName)(t))throw new kg.InvalidCharacterError;if(r.indexOf("?>")!==-1)throw new kg.InvalidCharacterError;return(0,Ns.create_processingInstruction)(this,t,r)}importNode(t,r=!1){if(L4.Guard.isDocumentNode(t)||L4.Guard.isShadowRoot(t))throw new kg.NotSupportedError;return(0,Ns.node_clone)(t,this,r)}adoptNode(t){if(L4.Guard.isDocumentNode(t))throw new kg.NotSupportedError;if(L4.Guard.isShadowRoot(t))throw new kg.HierarchyRequestError;return(0,Ns.document_adopt)(t,this),t}createAttribute(t){if(!(0,Ns.xml_isName)(t))throw new kg.InvalidCharacterError;return this._type==="html"&&(t=t.toLowerCase()),(0,Ns.create_attr)(this,t)}createAttributeNS(t,r){let[n,s,i]=(0,Ns.namespace_validateAndExtract)(t,r),a=(0,Ns.create_attr)(this,i);return a._namespace=n,a._namespacePrefix=s,a}createEvent(t){return(0,Ns.event_createLegacyEvent)(t)}createRange(){let t=(0,Ns.create_range)();return t._start=[this,0],t._end=[this,0],t}createNodeIterator(t,r=zK.WhatToShow.All,n=null){let s=(0,Ns.create_nodeIterator)(t,t,!0);return s._whatToShow=r,s._iteratorCollection=(0,Ns.create_nodeList)(t),(0,qCe.isFunction)(n)?(s._filter=(0,Ns.create_nodeFilter)(),s._filter.acceptNode=n):s._filter=n,s}createTreeWalker(t,r=zK.WhatToShow.All,n=null){let s=(0,Ns.create_treeWalker)(t,t);return s._whatToShow=r,(0,qCe.isFunction)(n)?(s._filter=(0,Ns.create_nodeFilter)(),s._filter.acceptNode=n):s._filter=n,s}_getTheParent(t){return t._type==="load"?null:Mfn.dom.window}getElementById(t){throw new Error("Mixin: NonElementParentNode not implemented.")}get children(){throw new Error("Mixin: ParentNode not implemented.")}get firstElementChild(){throw new Error("Mixin: ParentNode not implemented.")}get lastElementChild(){throw new Error("Mixin: ParentNode not implemented.")}get childElementCount(){throw new Error("Mixin: ParentNode not implemented.")}prepend(...t){throw new Error("Mixin: ParentNode not implemented.")}append(...t){throw new Error("Mixin: ParentNode not implemented.")}querySelector(t){throw new Error("Mixin: ParentNode not implemented.")}querySelectorAll(t){throw new Error("Mixin: ParentNode not implemented.")}};XK.DocumentImpl=WK;(0,Ffn.idl_defineConst)(WK.prototype,"_nodeType",zK.NodeType.Document)});var VCe=S(ZK=>{"use strict";Object.defineProperty(ZK,"__esModule",{value:!0});ZK.XMLDocumentImpl=void 0;var $fn=JK(),HCe=class extends $fn.DocumentImpl{constructor(){super()}};ZK.XMLDocumentImpl=HCe});var KCe=S(eG=>{"use strict";Object.defineProperty(eG,"__esModule",{value:!0});eG.AbortControllerImpl=void 0;var BFt=Cn(),jCe=class{_signal;constructor(){this._signal=(0,BFt.create_abortSignal)()}get signal(){return this._signal}abort(){(0,BFt.abort_signalAbort)(this._signal)}};eG.AbortControllerImpl=jCe});var YCe=S(tG=>{"use strict";Object.defineProperty(tG,"__esModule",{value:!0});tG.AbortSignalImpl=void 0;var qfn=P4(),UFt=Cn(),GCe=class e extends qfn.EventTargetImpl{_abortedFlag=!1;_abortAlgorithms=new Set;constructor(){super()}get aborted(){return this._abortedFlag}get onabort(){return(0,UFt.event_getterEventHandlerIDLAttribute)(this,"onabort")}set onabort(t){(0,UFt.event_setterEventHandlerIDLAttribute)(this,"onabort",t)}static _create(){return new e}};tG.AbortSignalImpl=GCe});var QCe=S(nG=>{"use strict";Object.defineProperty(nG,"__esModule",{value:!0});nG.DocumentTypeImpl=void 0;var FFt=Vn(),Hfn=qE(),Vfn=cc(),rG=class e extends Hfn.NodeImpl{_nodeType=FFt.NodeType.DocumentType;_name="";_publicId="";_systemId="";constructor(t,r,n){super(),this._name=t,this._publicId=r,this._systemId=n}get name(){return this._name}get publicId(){return this._publicId}get systemId(){return this._systemId}before(...t){throw new Error("Mixin: ChildNode not implemented.")}after(...t){throw new Error("Mixin: ChildNode not implemented.")}replaceWith(...t){throw new Error("Mixin: ChildNode not implemented.")}remove(){throw new Error("Mixin: ChildNode not implemented.")}static _create(t,r,n="",s=""){let i=new e(r,n,s);return i._nodeDocument=t,i}};nG.DocumentTypeImpl=rG;(0,Vfn.idl_defineConst)(rG.prototype,"_nodeType",FFt.NodeType.DocumentType)});var aG=S(iG=>{"use strict";Object.defineProperty(iG,"__esModule",{value:!0});iG.ElementImpl=void 0;var $Ft=Vn(),jfn=qE(),Bg=ma(),M4=ra(),Sr=Cn(),Kfn=cc(),sG=class e extends jfn.NodeImpl{_nodeType=$Ft.NodeType.Element;_children=new Set;_namespace=null;_namespacePrefix=null;_localName="";_customElementState="undefined";_customElementDefinition=null;_is=null;_shadowRoot=null;_attributeList=(0,Sr.create_namedNodeMap)(this);_uniqueIdentifier;_attributeChangeSteps=[];_name="";_assignedSlot=null;constructor(){super()}get namespaceURI(){return this._namespace}get prefix(){return this._namespacePrefix}get localName(){return this._localName}get tagName(){return this._htmlUppercasedQualifiedName}get id(){return(0,Sr.element_getAnAttributeValue)(this,"id")}set id(t){(0,Sr.element_setAnAttributeValue)(this,"id",t)}get className(){return(0,Sr.element_getAnAttributeValue)(this,"class")}set className(t){(0,Sr.element_setAnAttributeValue)(this,"class",t)}get classList(){let t=(0,Sr.element_getAnAttributeByName)("class",this);return t===null&&(t=(0,Sr.create_attr)(this._nodeDocument,"class")),(0,Sr.create_domTokenList)(this,t)}get slot(){return(0,Sr.element_getAnAttributeValue)(this,"slot")}set slot(t){(0,Sr.element_setAnAttributeValue)(this,"slot",t)}hasAttributes(){return this._attributeList.length!==0}get attributes(){return this._attributeList}getAttributeNames(){let t=[];for(let r of this._attributeList)t.push(r._qualifiedName);return t}getAttribute(t){let r=(0,Sr.element_getAnAttributeByName)(t,this);return r?r._value:null}getAttributeNS(t,r){let n=(0,Sr.element_getAnAttributeByNamespaceAndLocalName)(t,r,this);return n?n._value:null}setAttribute(t,r){if(!(0,Sr.xml_isName)(t))throw new Bg.InvalidCharacterError;this._namespace===M4.namespace.HTML&&this._nodeDocument._type==="html"&&(t=t.toLowerCase());let n=null;for(let s=0;s{"use strict";Object.defineProperty(cG,"__esModule",{value:!0});cG.DocumentFragmentImpl=void 0;var qFt=Vn(),Gfn=qE(),Yfn=cc(),oG=class e extends Gfn.NodeImpl{_nodeType=qFt.NodeType.DocumentFragment;_children=new Set;_host;constructor(t=null){super(),this._host=t}getElementById(t){throw new Error("Mixin: NonElementParentNode not implemented.")}get children(){throw new Error("Mixin: ParentNode not implemented.")}get firstElementChild(){throw new Error("Mixin: ParentNode not implemented.")}get lastElementChild(){throw new Error("Mixin: ParentNode not implemented.")}get childElementCount(){throw new Error("Mixin: ParentNode not implemented.")}prepend(...t){throw new Error("Mixin: ParentNode not implemented.")}append(...t){throw new Error("Mixin: ParentNode not implemented.")}querySelector(t){throw new Error("Mixin: ParentNode not implemented.")}querySelectorAll(t){throw new Error("Mixin: ParentNode not implemented.")}static _create(t,r=null){let n=new e(r);return n._nodeDocument=t,n}};cG.DocumentFragmentImpl=oG;(0,Yfn.idl_defineConst)(oG.prototype,"_nodeType",qFt.NodeType.DocumentFragment)});var WCe=S(lG=>{"use strict";Object.defineProperty(lG,"__esModule",{value:!0});lG.ShadowRootImpl=void 0;var Qfn=uG(),zfn=Yn(),Wfn=Cn(),zCe=class e extends Qfn.DocumentFragmentImpl{_host;_mode;constructor(t,r){super(),this._host=t,this._mode=r}get mode(){return this._mode}get host(){return this._host}_getTheParent(t){return!t._composedFlag&&!(0,zfn.isEmpty)(t._path)&&(0,Wfn.tree_rootNode)(t._path[0].invocationTarget)===this?null:this._host}static _create(t,r){return new e(r,"closed")}};lG.ShadowRootImpl=zCe});var XCe=S(dG=>{"use strict";Object.defineProperty(dG,"__esModule",{value:!0});dG.AttrImpl=void 0;var HFt=Vn(),Xfn=qE(),Jfn=Cn(),VFt=cc(),k4=class e extends Xfn.NodeImpl{_nodeType=HFt.NodeType.Attribute;_localName;_namespace=null;_namespacePrefix=null;_element=null;_value="";constructor(t){super(),this._localName=t}specified;get ownerElement(){return this._element}get namespaceURI(){return this._namespace}get prefix(){return this._namespacePrefix}get localName(){return this._localName}get name(){return this._qualifiedName}get value(){return this._value}set value(t){(0,Jfn.attr_setAnExistingAttributeValue)(this,t)}get _qualifiedName(){return this._namespacePrefix!==null?this._namespacePrefix+":"+this._localName:this._localName}static _create(t,r){let n=new e(r);return n._nodeDocument=t,n}};dG.AttrImpl=k4;(0,VFt.idl_defineConst)(k4.prototype,"_nodeType",HFt.NodeType.Attribute);(0,VFt.idl_defineConst)(k4.prototype,"specified",!0)});var B4=S(fG=>{"use strict";Object.defineProperty(fG,"__esModule",{value:!0});fG.CharacterDataImpl=void 0;var Zfn=qE(),Ox=Cn(),JCe=class extends Zfn.NodeImpl{_data;constructor(t){super(),this._data=t}get data(){return this._data}set data(t){(0,Ox.characterData_replaceData)(this,0,this._data.length,t)}get length(){return this._data.length}substringData(t,r){return(0,Ox.characterData_substringData)(this,t,r)}appendData(t){return(0,Ox.characterData_replaceData)(this,this._data.length,0,t)}insertData(t,r){(0,Ox.characterData_replaceData)(this,t,0,r)}deleteData(t,r){(0,Ox.characterData_replaceData)(this,t,r,"")}replaceData(t,r,n){(0,Ox.characterData_replaceData)(this,t,r,n)}get previousElementSibling(){throw new Error("Mixin: NonDocumentTypeChildNode not implemented.")}get nextElementSibling(){throw new Error("Mixin: NonDocumentTypeChildNode not implemented.")}before(...t){throw new Error("Mixin: ChildNode not implemented.")}after(...t){throw new Error("Mixin: ChildNode not implemented.")}replaceWith(...t){throw new Error("Mixin: ChildNode not implemented.")}remove(){throw new Error("Mixin: ChildNode not implemented.")}};fG.CharacterDataImpl=JCe});var mG=S(pG=>{"use strict";Object.defineProperty(pG,"__esModule",{value:!0});pG.TextImpl=void 0;var KFt=Vn(),e0n=B4(),jFt=Cn(),t0n=cc(),hG=class e extends e0n.CharacterDataImpl{_nodeType=KFt.NodeType.Text;_name="";_assignedSlot=null;constructor(t=""){super(t)}get wholeText(){let t="";for(let r of(0,jFt.text_contiguousTextNodes)(this,!0))t=t+r._data;return t}splitText(t){return(0,jFt.text_split)(this,t)}get assignedSlot(){throw new Error("Mixin: Slotable not implemented.")}static _create(t,r=""){let n=new e(r);return n._nodeDocument=t,n}};pG.TextImpl=hG;(0,t0n.idl_defineConst)(hG.prototype,"_nodeType",KFt.NodeType.Text)});var ZCe=S(_G=>{"use strict";Object.defineProperty(_G,"__esModule",{value:!0});_G.CDATASectionImpl=void 0;var r0n=mG(),GFt=Vn(),n0n=cc(),gG=class e extends r0n.TextImpl{_nodeType=GFt.NodeType.CData;constructor(t){super(t)}static _create(t,r=""){let n=new e(r);return n._nodeDocument=t,n}};_G.CDATASectionImpl=gG;(0,n0n.idl_defineConst)(gG.prototype,"_nodeType",GFt.NodeType.CData)});var exe=S(EG=>{"use strict";Object.defineProperty(EG,"__esModule",{value:!0});EG.CommentImpl=void 0;var YFt=Vn(),s0n=B4(),i0n=cc(),AG=class e extends s0n.CharacterDataImpl{_nodeType=YFt.NodeType.Comment;constructor(t=""){super(t)}static _create(t,r=""){let n=new e(r);return n._nodeDocument=t,n}};EG.CommentImpl=AG;(0,i0n.idl_defineConst)(AG.prototype,"_nodeType",YFt.NodeType.Comment)});var txe=S(vG=>{"use strict";Object.defineProperty(vG,"__esModule",{value:!0});vG.ProcessingInstructionImpl=void 0;var QFt=Vn(),a0n=B4(),o0n=cc(),yG=class e extends a0n.CharacterDataImpl{_nodeType=QFt.NodeType.ProcessingInstruction;_target;constructor(t,r){super(r),this._target=t}get target(){return this._target}static _create(t,r,n){let s=new e(r,n);return s._nodeDocument=t,s}};vG.ProcessingInstructionImpl=yG;(0,o0n.idl_defineConst)(yG.prototype,"_nodeType",QFt.NodeType.ProcessingInstruction)});var nxe=S(SG=>{"use strict";Object.defineProperty(SG,"__esModule",{value:!0});SG.HTMLCollectionImpl=void 0;var c0n=ra(),Ug=Cn(),HE=ds(),zFt=Yn(),rxe=class e{_live=!0;_root;_filter;static reservedNames=["_root","_live","_filter","length","item","namedItem","get","set"];constructor(t,r){return this._root=t,this._filter=r,new Proxy(this,this)}get length(){let t=0,r=(0,Ug.tree_getFirstDescendantNode)(this._root,!1,!1,n=>HE.Guard.isElementNode(n)&&this._filter(n));for(;r!==null;)t++,r=(0,Ug.tree_getNextDescendantNode)(this._root,r,!1,!1,n=>HE.Guard.isElementNode(n)&&this._filter(n));return t}item(t){let r=0,n=(0,Ug.tree_getFirstDescendantNode)(this._root,!1,!1,s=>HE.Guard.isElementNode(s)&&this._filter(s));for(;n!==null;){if(r===t)return n;r++,n=(0,Ug.tree_getNextDescendantNode)(this._root,n,!1,!1,s=>HE.Guard.isElementNode(s)&&this._filter(s))}return null}namedItem(t){if(t==="")return null;let r=(0,Ug.tree_getFirstDescendantNode)(this._root,!1,!1,n=>HE.Guard.isElementNode(n)&&this._filter(n));for(;r!=null;){if(r._uniqueIdentifier===t)return r;if(r._namespace===c0n.namespace.HTML)for(let n=0;nHE.Guard.isElementNode(n)&&this._filter(n))}return null}[Symbol.iterator](){let t=this._root,r=this._filter,n=(0,Ug.tree_getFirstDescendantNode)(t,!1,!1,s=>HE.Guard.isElementNode(s)&&r(s));return{next(){if(n===null)return{done:!0,value:null};{let s={done:!1,value:n};return n=(0,Ug.tree_getNextDescendantNode)(t,n,!1,!1,i=>HE.Guard.isElementNode(i)&&r(i)),s}}}}get(t,r,n){if(!(0,zFt.isString)(r)||e.reservedNames.indexOf(r)!==-1)return Reflect.get(t,r,n);let s=Number(r);return isNaN(s)?t.namedItem(r)||void 0:t.item(s)||void 0}set(t,r,n,s){if(!(0,zFt.isString)(r)||e.reservedNames.indexOf(r)!==-1)return Reflect.set(t,r,n,s);let i=Number(r),a=isNaN(i)?t.namedItem(r)||void 0:t.item(i)||void 0;return a&&a._parent?((0,Ug.mutation_replace)(a,n,a._parent),!0):!1}static _create(t,r=()=>!0){return new e(t,r)}};SG.HTMLCollectionImpl=rxe});var ixe=S(TG=>{"use strict";Object.defineProperty(TG,"__esModule",{value:!0});TG.NodeListImpl=void 0;var u0n=Vi(),WFt=Yn(),l0n=Cn(),sxe=class e{_live=!0;_root;_filter=null;_length=0;constructor(t){return this._root=t,new Proxy(this,this)}get length(){return this._root._children.size}item(t){if(t<0||t>this.length-1)return null;if(t{"use strict";Object.defineProperty(bG,"__esModule",{value:!0});bG.NodeListStaticImpl=void 0;var d0n=Vi(),XFt=Yn(),axe=class e{_live=!1;_root;_filter;_items=[];_length=0;constructor(t){return this._root=t,this._items=[],this._filter=function(r){return!0},new Proxy(this,this)}get length(){return this._items.length}item(t){return t<0||t>this.length-1?null:this._items[t]}keys(){return{[Symbol.iterator]:function(){let t=0;return{next:function(){return t===this.length?{done:!0,value:null}:{done:!1,value:t++}}.bind(this)}}.bind(this)}}values(){return{[Symbol.iterator]:function(){let t=this[Symbol.iterator]();return{next(){return t.next()}}}.bind(this)}}entries(){return{[Symbol.iterator]:function(){let t=this[Symbol.iterator](),r=0;return{next(){let n=t.next();return n.done?{done:!0,value:null}:{done:!1,value:[r++,n.value]}}}}.bind(this)}}[Symbol.iterator](){let t=this._items[Symbol.iterator]();return{next(){return t.next()}}}forEach(t,r){r===void 0&&(r=d0n.dom.window);let n=0;for(let s of this._items)t.call(r,s,n++,this)}get(t,r,n){if(!(0,XFt.isString)(r))return Reflect.get(t,r,n);let s=Number(r);return isNaN(s)?Reflect.get(t,r,n):t._items[s]||void 0}set(t,r,n,s){if(!(0,XFt.isString)(r))return Reflect.set(t,r,n,s);let i=Number(r);return isNaN(i)?Reflect.set(t,r,n,s):i>=0&&i{"use strict";Object.defineProperty(IG,"__esModule",{value:!0});IG.NamedNodeMapImpl=void 0;var JFt=ma(),Dx=Cn(),cxe=class e extends Array{_element;constructor(t){super(),this._element=t,Object.setPrototypeOf(this,e.prototype)}_asArray(){return this}item(t){return this[t]||null}getNamedItem(t){return(0,Dx.element_getAnAttributeByName)(t,this._element)}getNamedItemNS(t,r){return(0,Dx.element_getAnAttributeByNamespaceAndLocalName)(t||"",r,this._element)}setNamedItem(t){return(0,Dx.element_setAnAttribute)(t,this._element)}setNamedItemNS(t){return(0,Dx.element_setAnAttribute)(t,this._element)}removeNamedItem(t){let r=(0,Dx.element_removeAnAttributeByName)(t,this._element);if(r===null)throw new JFt.NotFoundError;return r}removeNamedItemNS(t,r){let n=(0,Dx.element_removeAnAttributeByNamespaceAndLocalName)(t||"",r,this._element);if(n===null)throw new JFt.NotFoundError;return n}static _create(t){return new e(t)}};IG.NamedNodeMapImpl=cxe});var CG=S(RG=>{"use strict";Object.defineProperty(RG,"__esModule",{value:!0});RG.AbstractRangeImpl=void 0;var lxe=class{get _startNode(){return this._start[0]}get _startOffset(){return this._start[1]}get _endNode(){return this._end[0]}get _endOffset(){return this._end[1]}get _collapsed(){return this._start[0]===this._end[0]&&this._start[1]===this._end[1]}get startContainer(){return this._startNode}get startOffset(){return this._startOffset}get endContainer(){return this._endNode}get endOffset(){return this._endOffset}get collapsed(){return this._collapsed}};RG.AbstractRangeImpl=lxe});var fxe=S(wG=>{"use strict";Object.defineProperty(wG,"__esModule",{value:!0});wG.RangeImpl=void 0;var dxe=Vi(),uc=Vn(),f0n=CG(),Xc=ma(),Mt=Cn(),xG=cc(),Wu=ds(),jT=class e extends f0n.AbstractRangeImpl{static START_TO_START=0;static START_TO_END=1;static END_TO_END=2;static END_TO_START=3;START_TO_START=0;START_TO_END=1;END_TO_END=2;END_TO_START=3;_start;_end;constructor(){super();let t=dxe.dom.window._associatedDocument;this._start=[t,0],this._end=[t,0],dxe.dom.rangeList.add(this)}get commonAncestorContainer(){let t=this._start[0];for(;!(0,Mt.tree_isAncestorOf)(this._end[0],t,!0);){if(t._parent===null)throw new Error("Parent node is null.");t=t._parent}return t}setStart(t,r){(0,Mt.range_setTheStart)(this,t,r)}setEnd(t,r){(0,Mt.range_setTheEnd)(this,t,r)}setStartBefore(t){let r=t._parent;if(r===null)throw new Xc.InvalidNodeTypeError;(0,Mt.range_setTheStart)(this,r,(0,Mt.tree_index)(t))}setStartAfter(t){let r=t._parent;if(r===null)throw new Xc.InvalidNodeTypeError;(0,Mt.range_setTheStart)(this,r,(0,Mt.tree_index)(t)+1)}setEndBefore(t){let r=t._parent;if(r===null)throw new Xc.InvalidNodeTypeError;(0,Mt.range_setTheEnd)(this,r,(0,Mt.tree_index)(t))}setEndAfter(t){let r=t._parent;if(r===null)throw new Xc.InvalidNodeTypeError;(0,Mt.range_setTheEnd)(this,r,(0,Mt.tree_index)(t)+1)}collapse(t){t?this._end=this._start:this._start=this._end}selectNode(t){(0,Mt.range_select)(t,this)}selectNodeContents(t){if(Wu.Guard.isDocumentTypeNode(t))throw new Xc.InvalidNodeTypeError;let r=(0,Mt.tree_nodeLength)(t);this._start=[t,0],this._end=[t,r]}compareBoundaryPoints(t,r){if(t!==uc.HowToCompare.StartToStart&&t!==uc.HowToCompare.StartToEnd&&t!==uc.HowToCompare.EndToEnd&&t!==uc.HowToCompare.EndToStart)throw new Xc.NotSupportedError;if((0,Mt.range_root)(this)!==(0,Mt.range_root)(r))throw new Xc.WrongDocumentError;let n,s;switch(t){case uc.HowToCompare.StartToStart:n=this._start,s=r._start;break;case uc.HowToCompare.StartToEnd:n=this._end,s=r._start;break;case uc.HowToCompare.EndToEnd:n=this._end,s=r._end;break;case uc.HowToCompare.EndToStart:n=this._start,s=r._end;break;default:throw new Xc.NotSupportedError}let i=(0,Mt.boundaryPoint_position)(n,s);return i===uc.BoundaryPosition.Before?-1:i===uc.BoundaryPosition.After?1:0}deleteContents(){if((0,Mt.range_collapsed)(this))return;let t=this._startNode,r=this._startOffset,n=this._endNode,s=this._endOffset;if(t===n&&Wu.Guard.isCharacterDataNode(t)){(0,Mt.characterData_replaceData)(t,r,s-r,"");return}let i=[];for(let c of(0,Mt.range_getContainedNodes)(this)){let u=c._parent;u!==null&&(0,Mt.range_isContained)(u,this)||i.push(c)}let a,o;if((0,Mt.tree_isAncestorOf)(n,t,!0))a=t,o=r;else{let c=t;for(;c._parent!==null&&!(0,Mt.tree_isAncestorOf)(n,c._parent,!0);)c=c._parent;if(c._parent===null)throw new Error("Parent node is null.");a=c._parent,o=(0,Mt.tree_index)(c)+1}Wu.Guard.isCharacterDataNode(t)&&(0,Mt.characterData_replaceData)(t,r,(0,Mt.tree_nodeLength)(t)-r,"");for(let c of i)c._parent&&(0,Mt.mutation_remove)(c,c._parent);Wu.Guard.isCharacterDataNode(n)&&(0,Mt.characterData_replaceData)(n,0,s,""),this._start=[a,o],this._end=[a,o]}extractContents(){return(0,Mt.range_extract)(this)}cloneContents(){return(0,Mt.range_cloneTheContents)(this)}insertNode(t){return(0,Mt.range_insert)(t,this)}surroundContents(t){for(let n of(0,Mt.range_getPartiallyContainedNodes)(this))if(!Wu.Guard.isTextNode(n))throw new Xc.InvalidStateError;if(Wu.Guard.isDocumentNode(t)||Wu.Guard.isDocumentTypeNode(t)||Wu.Guard.isDocumentFragmentNode(t))throw new Xc.InvalidNodeTypeError;let r=(0,Mt.range_extract)(this);t._children.size!==0&&(0,Mt.mutation_replaceAll)(null,t),(0,Mt.range_insert)(t,this),(0,Mt.mutation_append)(r,t),(0,Mt.range_select)(t,this)}cloneRange(){return(0,Mt.create_range)(this._start,this._end)}detach(){dxe.dom.rangeList.delete(this)}isPointInRange(t,r){if((0,Mt.tree_rootNode)(t)!==(0,Mt.range_root)(this))return!1;if(Wu.Guard.isDocumentTypeNode(t))throw new Xc.InvalidNodeTypeError;if(r>(0,Mt.tree_nodeLength)(t))throw new Xc.IndexSizeError;let n=[t,r];return!((0,Mt.boundaryPoint_position)(n,this._start)===uc.BoundaryPosition.Before||(0,Mt.boundaryPoint_position)(n,this._end)===uc.BoundaryPosition.After)}comparePoint(t,r){if((0,Mt.tree_rootNode)(t)!==(0,Mt.range_root)(this))throw new Xc.WrongDocumentError;if(Wu.Guard.isDocumentTypeNode(t))throw new Xc.InvalidNodeTypeError;if(r>(0,Mt.tree_nodeLength)(t))throw new Xc.IndexSizeError;let n=[t,r];return(0,Mt.boundaryPoint_position)(n,this._start)===uc.BoundaryPosition.Before?-1:(0,Mt.boundaryPoint_position)(n,this._end)===uc.BoundaryPosition.After?1:0}intersectsNode(t){if((0,Mt.tree_rootNode)(t)!==(0,Mt.range_root)(this))return!1;let r=t._parent;if(r===null)return!0;let n=(0,Mt.tree_index)(t);return(0,Mt.boundaryPoint_position)([r,n],this._end)===uc.BoundaryPosition.Before&&(0,Mt.boundaryPoint_position)([r,n+1],this._start)===uc.BoundaryPosition.After}toString(){let t="";if(this._startNode===this._endNode&&Wu.Guard.isTextNode(this._startNode))return this._startNode._data.substring(this._startOffset,this._endOffset);Wu.Guard.isTextNode(this._startNode)&&(t+=this._startNode._data.substring(this._startOffset));for(let r of(0,Mt.range_getContainedNodes)(this))Wu.Guard.isTextNode(r)&&(t+=r._data);return Wu.Guard.isTextNode(this._endNode)&&(t+=this._endNode._data.substring(0,this._endOffset)),t}static _create(t,r){let n=new e;return t&&(n._start=t),r&&(n._end=r),n}};wG.RangeImpl=jT;(0,xG.idl_defineConst)(jT.prototype,"START_TO_START",0);(0,xG.idl_defineConst)(jT.prototype,"START_TO_END",1);(0,xG.idl_defineConst)(jT.prototype,"END_TO_END",2);(0,xG.idl_defineConst)(jT.prototype,"END_TO_START",3)});var OG=S(NG=>{"use strict";Object.defineProperty(NG,"__esModule",{value:!0});NG.TraverserImpl=void 0;var h0n=Vn(),hxe=class{_activeFlag;_root;_whatToShow;_filter;constructor(t){this._activeFlag=!1,this._root=t,this._whatToShow=h0n.WhatToShow.All,this._filter=null}get root(){return this._root}get whatToShow(){return this._whatToShow}get filter(){return this._filter}};NG.TraverserImpl=hxe});var mxe=S(PG=>{"use strict";Object.defineProperty(PG,"__esModule",{value:!0});PG.NodeIteratorImpl=void 0;var p0n=OG(),DG=Cn(),pxe=class e extends p0n.TraverserImpl{_iteratorCollection;_reference;_pointerBeforeReference;constructor(t,r,n){super(t),this._iteratorCollection=void 0,this._reference=r,this._pointerBeforeReference=n,(0,DG.nodeIterator_iteratorList)().add(this)}get referenceNode(){return this._reference}get pointerBeforeReferenceNode(){return this._pointerBeforeReference}nextNode(){return(0,DG.nodeIterator_traverse)(this,!0)}previousNode(){return(0,DG.nodeIterator_traverse)(this,!1)}detach(){(0,DG.nodeIterator_iteratorList)().delete(this)}static _create(t,r,n){return new e(t,r,n)}};PG.NodeIteratorImpl=pxe});var _xe=S(LG=>{"use strict";Object.defineProperty(LG,"__esModule",{value:!0});LG.TreeWalkerImpl=void 0;var VE=Vn(),m0n=OG(),sp=Cn(),gxe=class e extends m0n.TraverserImpl{_current;constructor(t,r){super(t),this._current=r}get currentNode(){return this._current}set currentNode(t){this._current=t}parentNode(){let t=this._current;for(;t!==null&&t!==this._root;)if(t=t._parent,t!==null&&(0,sp.traversal_filter)(this,t)===VE.FilterResult.Accept)return this._current=t,t;return null}firstChild(){return(0,sp.treeWalker_traverseChildren)(this,!0)}lastChild(){return(0,sp.treeWalker_traverseChildren)(this,!1)}nextSibling(){return(0,sp.treeWalker_traverseSiblings)(this,!0)}previousNode(){let t=this._current;for(;t!==this._root;){let r=t._previousSibling;for(;r;){t=r;let n=(0,sp.traversal_filter)(this,t);for(;n!==VE.FilterResult.Reject&&t._lastChild;)t=t._lastChild,n=(0,sp.traversal_filter)(this,t);if(n===VE.FilterResult.Accept)return this._current=t,t;r=t._previousSibling}if(t===this._root||t._parent===null)return null;if(t=t._parent,(0,sp.traversal_filter)(this,t)===VE.FilterResult.Accept)return this._current=t,t}return null}previousSibling(){return(0,sp.treeWalker_traverseSiblings)(this,!1)}nextNode(){let t=this._current,r=VE.FilterResult.Accept;for(;;){for(;r!==VE.FilterResult.Reject&&t._firstChild;)if(t=t._firstChild,r=(0,sp.traversal_filter)(this,t),r===VE.FilterResult.Accept)return this._current=t,t;let n=null,s=t;for(;s!==null;){if(s===this._root)return null;if(n=s._nextSibling,n!==null){t=n;break}s=s._parent}if(r=(0,sp.traversal_filter)(this,t),r===VE.FilterResult.Accept)return this._current=t,t}}static _create(t,r){return new e(t,r)}};LG.TreeWalkerImpl=gxe});var Axe=S(MG=>{"use strict";Object.defineProperty(MG,"__esModule",{value:!0});MG.NodeFilterImpl=void 0;var g0n=Vn(),lc=cc(),_a=class e{static FILTER_ACCEPT=1;static FILTER_REJECT=2;static FILTER_SKIP=3;static SHOW_ALL=4294967295;static SHOW_ELEMENT=1;static SHOW_ATTRIBUTE=2;static SHOW_TEXT=4;static SHOW_CDATA_SECTION=8;static SHOW_ENTITY_REFERENCE=16;static SHOW_ENTITY=32;static SHOW_PROCESSING_INSTRUCTION=64;static SHOW_COMMENT=128;static SHOW_DOCUMENT=256;static SHOW_DOCUMENT_TYPE=512;static SHOW_DOCUMENT_FRAGMENT=1024;static SHOW_NOTATION=2048;FILTER_ACCEPT=1;FILTER_REJECT=2;FILTER_SKIP=3;SHOW_ALL=4294967295;SHOW_ELEMENT=1;SHOW_ATTRIBUTE=2;SHOW_TEXT=4;SHOW_CDATA_SECTION=8;SHOW_ENTITY_REFERENCE=16;SHOW_ENTITY=32;SHOW_PROCESSING_INSTRUCTION=64;SHOW_COMMENT=128;SHOW_DOCUMENT=256;SHOW_DOCUMENT_TYPE=512;SHOW_DOCUMENT_FRAGMENT=1024;SHOW_NOTATION=2048;constructor(){}acceptNode(t){return g0n.FilterResult.Accept}static _create(){return new e}};MG.NodeFilterImpl=_a;(0,lc.idl_defineConst)(_a.prototype,"FILTER_ACCEPT",1);(0,lc.idl_defineConst)(_a.prototype,"FILTER_REJECT",2);(0,lc.idl_defineConst)(_a.prototype,"FILTER_SKIP",3);(0,lc.idl_defineConst)(_a.prototype,"SHOW_ALL",4294967295);(0,lc.idl_defineConst)(_a.prototype,"SHOW_ELEMENT",1);(0,lc.idl_defineConst)(_a.prototype,"SHOW_ATTRIBUTE",2);(0,lc.idl_defineConst)(_a.prototype,"SHOW_TEXT",4);(0,lc.idl_defineConst)(_a.prototype,"SHOW_CDATA_SECTION",8);(0,lc.idl_defineConst)(_a.prototype,"SHOW_ENTITY_REFERENCE",16);(0,lc.idl_defineConst)(_a.prototype,"SHOW_ENTITY",32);(0,lc.idl_defineConst)(_a.prototype,"SHOW_PROCESSING_INSTRUCTION",64);(0,lc.idl_defineConst)(_a.prototype,"SHOW_COMMENT",128);(0,lc.idl_defineConst)(_a.prototype,"SHOW_DOCUMENT",256);(0,lc.idl_defineConst)(_a.prototype,"SHOW_DOCUMENT_TYPE",512);(0,lc.idl_defineConst)(_a.prototype,"SHOW_DOCUMENT_FRAGMENT",1024);(0,lc.idl_defineConst)(_a.prototype,"SHOW_NOTATION",2048)});var yxe=S(kG=>{"use strict";Object.defineProperty(kG,"__esModule",{value:!0});kG.MutationRecordImpl=void 0;var Exe=class e{_type;_target;_addedNodes;_removedNodes;_previousSibling;_nextSibling;_attributeName;_attributeNamespace;_oldValue;constructor(t,r,n,s,i,a,o,c,u){this._type=t,this._target=r,this._addedNodes=n,this._removedNodes=s,this._previousSibling=i,this._nextSibling=a,this._attributeName=o,this._attributeNamespace=c,this._oldValue=u}get type(){return this._type}get target(){return this._target}get addedNodes(){return this._addedNodes}get removedNodes(){return this._removedNodes}get previousSibling(){return this._previousSibling}get nextSibling(){return this._nextSibling}get attributeName(){return this._attributeName}get attributeNamespace(){return this._attributeNamespace}get oldValue(){return this._oldValue}static _create(t,r,n,s,i,a,o,c,u){return new e(t,r,n,s,i,a,o,c,u)}};kG.MutationRecordImpl=Exe});var Sxe=S(BG=>{"use strict";Object.defineProperty(BG,"__esModule",{value:!0});BG.DOMTokenListImpl=void 0;var _0n=Vi(),jE=ma(),Px=ra(),m0=Cn(),vxe=class e{_element;_attribute;_tokenSet;constructor(t,r){this._element=t,this._attribute=r,this._tokenSet=new Set;let n=r._localName,s=(0,m0.element_getAnAttributeValue)(t,n),i=this;function a(o,c,u,l,d){c===i._attribute._localName&&d===null&&(l?i._tokenSet=(0,m0.orderedSet_parse)(l):i._tokenSet.clear())}this._element._attributeChangeSteps.push(a),_0n.dom.features.steps&&(0,m0.dom_runAttributeChangeSteps)(t,n,s,s,null)}get length(){return this._tokenSet.size}item(t){let r=0;for(let n of this._tokenSet){if(r===t)return n;r++}return null}contains(t){return this._tokenSet.has(t)}add(...t){for(let r of t){if(r==="")throw new jE.SyntaxError("Cannot add an empty token.");if(Px.codePoint.ASCIIWhiteSpace.test(r))throw new jE.InvalidCharacterError("Token cannot contain whitespace.");this._tokenSet.add(r)}(0,m0.tokenList_updateSteps)(this)}remove(...t){for(let r of t){if(r==="")throw new jE.SyntaxError("Cannot remove an empty token.");if(Px.codePoint.ASCIIWhiteSpace.test(r))throw new jE.InvalidCharacterError("Token cannot contain whitespace.");this._tokenSet.delete(r)}(0,m0.tokenList_updateSteps)(this)}toggle(t,r=void 0){if(t==="")throw new jE.SyntaxError("Cannot toggle an empty token.");if(Px.codePoint.ASCIIWhiteSpace.test(t))throw new jE.InvalidCharacterError("Token cannot contain whitespace.");return this._tokenSet.has(t)?r===void 0||r===!1?(this._tokenSet.delete(t),(0,m0.tokenList_updateSteps)(this),!1):!0:r===void 0||r===!0?(this._tokenSet.add(t),(0,m0.tokenList_updateSteps)(this),!0):!1}replace(t,r){if(t===""||r==="")throw new jE.SyntaxError("Cannot replace an empty token.");if(Px.codePoint.ASCIIWhiteSpace.test(t)||Px.codePoint.ASCIIWhiteSpace.test(r))throw new jE.InvalidCharacterError("Token cannot contain whitespace.");return this._tokenSet.has(t)?(Px.set.replace(this._tokenSet,t,r),(0,m0.tokenList_updateSteps)(this),!0):!1}supports(t){return(0,m0.tokenList_validationSteps)(this,t)}get value(){return(0,m0.tokenList_serializeSteps)(this)}set value(t){(0,m0.element_setAnAttributeValue)(this._element,this._attribute._localName,t)}[Symbol.iterator](){let t=this._tokenSet[Symbol.iterator]();return{next(){return t.next()}}}static _create(t,r){return new e(t,r)}};BG.DOMTokenListImpl=vxe});var Fg=S(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.create_domImplementation=H0n;Jn.create_window=V0n;Jn.create_xmlDocument=j0n;Jn.create_document=K0n;Jn.create_abortController=G0n;Jn.create_abortSignal=Y0n;Jn.create_documentType=Q0n;Jn.create_element=z0n;Jn.create_htmlElement=W0n;Jn.create_htmlUnknownElement=X0n;Jn.create_documentFragment=J0n;Jn.create_shadowRoot=Z0n;Jn.create_attr=ehn;Jn.create_text=thn;Jn.create_cdataSection=rhn;Jn.create_comment=nhn;Jn.create_processingInstruction=shn;Jn.create_htmlCollection=ihn;Jn.create_nodeList=ahn;Jn.create_nodeListStatic=ohn;Jn.create_namedNodeMap=chn;Jn.create_range=uhn;Jn.create_nodeIterator=lhn;Jn.create_treeWalker=dhn;Jn.create_nodeFilter=fhn;Jn.create_mutationRecord=hhn;Jn.create_domTokenList=phn;var A0n=zRe(),E0n=xCe(),y0n=VCe(),v0n=JK(),S0n=KCe(),T0n=YCe(),b0n=QCe(),Txe=aG(),I0n=uG(),R0n=WCe(),C0n=XCe(),x0n=mG(),w0n=ZCe(),N0n=exe(),O0n=txe(),D0n=nxe(),P0n=ixe(),L0n=oxe(),M0n=uxe(),k0n=fxe(),B0n=mxe(),U0n=_xe(),F0n=Axe(),$0n=yxe(),q0n=Sxe();function H0n(e){return A0n.DOMImplementationImpl._create(e)}function V0n(){return E0n.WindowImpl._create()}function j0n(){return new y0n.XMLDocumentImpl}function K0n(){return new v0n.DocumentImpl}function G0n(){return new S0n.AbortControllerImpl}function Y0n(){return T0n.AbortSignalImpl._create()}function Q0n(e,t,r,n){return b0n.DocumentTypeImpl._create(e,t,r,n)}function z0n(e,t,r,n){return Txe.ElementImpl._create(e,t,r,n)}function W0n(e,t,r,n){return Txe.ElementImpl._create(e,t,r,n)}function X0n(e,t,r,n){return Txe.ElementImpl._create(e,t,r,n)}function J0n(e){return I0n.DocumentFragmentImpl._create(e)}function Z0n(e,t){return R0n.ShadowRootImpl._create(e,t)}function ehn(e,t){return C0n.AttrImpl._create(e,t)}function thn(e,t){return x0n.TextImpl._create(e,t)}function rhn(e,t){return w0n.CDATASectionImpl._create(e,t)}function nhn(e,t){return N0n.CommentImpl._create(e,t)}function shn(e,t,r){return O0n.ProcessingInstructionImpl._create(e,t,r)}function ihn(e,t=()=>!0){return D0n.HTMLCollectionImpl._create(e,t)}function ahn(e){return P0n.NodeListImpl._create(e)}function ohn(e,t){return L0n.NodeListStaticImpl._create(e,t)}function chn(e){return M0n.NamedNodeMapImpl._create(e)}function uhn(e,t){return k0n.RangeImpl._create(e,t)}function lhn(e,t,r){return B0n.NodeIteratorImpl._create(e,t,r)}function dhn(e,t){return U0n.TreeWalkerImpl._create(e,t)}function fhn(){return F0n.NodeFilterImpl._create()}function hhn(e,t,r,n,s,i,a,o,c){return $0n.MutationRecordImpl._create(e,t,r,n,s,i,a,o,c)}function phn(e,t){return q0n.DOMTokenListImpl._create(e,t)}});var Vi=S(UG=>{"use strict";Object.defineProperty(UG,"__esModule",{value:!0});UG.dom=void 0;var bxe=Yn(),mhn=Fg(),Ixe=class e{static _instance;_features={mutationObservers:!0,customElements:!0,slots:!0,steps:!0};_window=null;_compareCache;_rangeList;constructor(){this._compareCache=new bxe.CompareCache,this._rangeList=new bxe.FixedSizeSet}setFeatures(t){if(t===void 0&&(t=!0),(0,bxe.isObject)(t))for(let r in t)this._features[r]=t[r]||!1;else for(let r in this._features)this._features[r]=t}get features(){return this._features}get window(){return this._window===null&&(this._window=(0,mhn.create_window)()),this._window}get compareCache(){return this._compareCache}get rangeList(){return this._rangeList}static get instance(){return e._instance||(e._instance=new e),e._instance}};UG.dom=Ixe.instance});var qG=S($G=>{"use strict";Object.defineProperty($G,"__esModule",{value:!0});$G.EventImpl=void 0;var ghn=Vn(),Rxe=Cn(),FG=cc(),KT=class{static NONE=0;static CAPTURING_PHASE=1;static AT_TARGET=2;static BUBBLING_PHASE=3;NONE=0;CAPTURING_PHASE=1;AT_TARGET=2;BUBBLING_PHASE=3;_target=null;_relatedTarget=null;_touchTargetList=[];_path=[];_currentTarget=null;_eventPhase=ghn.EventPhase.None;_stopPropagationFlag=!1;_stopImmediatePropagationFlag=!1;_canceledFlag=!1;_inPassiveListenerFlag=!1;_composedFlag=!1;_initializedFlag=!1;_dispatchFlag=!1;_isTrusted=!1;_type;_bubbles=!1;_cancelable=!1;_timeStamp;constructor(t,r){this._type=t,r&&(this._bubbles=r.bubbles||!1,this._cancelable=r.cancelable||!1,this._composedFlag=r.composed||!1),this._initializedFlag=!0,this._timeStamp=new Date().getTime()}get type(){return this._type}get target(){return this._target}get srcElement(){return this._target}get currentTarget(){return this._currentTarget}composedPath(){let t=[],r=this._path;if(r.length===0)return t;let n=this._currentTarget;if(n===null)throw new Error("Event currentTarget is null.");t.push(n);let s=0,i=0,a=r.length-1;for(;a>=0;){if(r[a].rootOfClosedTree&&i++,r[a].invocationTarget===n){s=a;break}r[a].slotInClosedTree&&i--,a--}let o=i,c=i;for(a=s-1;a>=0;)r[a].rootOfClosedTree&&o++,o<=c&&t.unshift(r[a].invocationTarget),r[a].slotInClosedTree&&(o--,o{"use strict";Object.defineProperty(HG,"__esModule",{value:!0});HG.CustomEventImpl=void 0;var _hn=qG(),Ahn=Cn(),Cxe=class extends _hn.EventImpl{_detail=null;constructor(t,r){super(t,r),this._detail=r&&r.detail||null}get detail(){return this._detail}initCustomEvent(t,r=!1,n=!1,s=null){this._dispatchFlag||((0,Ahn.event_initialize)(this,t,r,n),this._detail=s)}};HG.CustomEventImpl=Cxe});var Ul=S(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});Mn.tree_getFirstDescendantNode=wxe;Mn.tree_getNextDescendantNode=Nxe;Mn.tree_getDescendantNodes=ZFt;Mn.tree_getDescendantElements=Ehn;Mn.tree_getSiblingNodes=yhn;Mn.tree_getFirstAncestorNode=VG;Mn.tree_getNextAncestorNode=jG;Mn.tree_getAncestorNodes=vhn;Mn.tree_getCommonAncestor=Shn;Mn.tree_getFollowingNode=Thn;Mn.tree_getPrecedingNode=bhn;Mn.tree_isConstrained=e6t;Mn.tree_nodeLength=t6t;Mn.tree_isEmpty=Ihn;Mn.tree_rootNode=g0;Mn.tree_isDescendantOf=Rhn;Mn.tree_isAncestorOf=Oxe;Mn.tree_isHostIncludingAncestorOf=r6t;Mn.tree_isSiblingOf=Chn;Mn.tree_isPreceding=xhn;Mn.tree_isFollowing=whn;Mn.tree_isParentOf=Nhn;Mn.tree_isChildOf=Ohn;Mn.tree_previousSibling=Dhn;Mn.tree_nextSibling=Phn;Mn.tree_firstChild=Lhn;Mn.tree_lastChild=Mhn;Mn.tree_treePosition=U4;Mn.tree_index=khn;Mn.tree_retarget=Bhn;var Xd=ds(),bo=Vn();function GT(e,t,r=!1){if(r&&Xd.Guard.isElementNode(t)&&Xd.Guard.isShadowRoot(t.shadowRoot)&&t.shadowRoot._firstChild)return t.shadowRoot._firstChild;if(t._firstChild)return t._firstChild;if(t===e)return null;if(t._nextSibling)return t._nextSibling;let n=t._parent;for(;n&&n!==e;){if(n._nextSibling)return n._nextSibling;n=n._parent}return null}function KG(){return{[Symbol.iterator]:()=>({next:()=>({done:!0,value:null})})}}function wxe(e,t=!1,r=!1,n){let s=t?e:GT(e,e,r);for(;s&&n&&!n(s);)s=GT(e,s,r);return s}function Nxe(e,t,r=!1,n=!1,s){let i=GT(e,t,n);for(;i&&s&&!s(i);)i=GT(e,i,n);return i}function ZFt(e,t=!1,r=!1,n){return!t&&e._children.size===0?KG():{[Symbol.iterator]:()=>{let s=t?e:GT(e,e,r);return{next:()=>{for(;s&&n&&!n(s);)s=GT(e,s,r);if(s===null)return{done:!0,value:null};{let i={done:!1,value:s};return s=GT(e,s,r),i}}}}}}function Ehn(e,t=!1,r=!1,n){return!t&&e._children.size===0?KG():{[Symbol.iterator]:()=>{let s=ZFt(e,t,r,a=>Xd.Guard.isElementNode(a))[Symbol.iterator](),i=s.next().value;return{next(){for(;i&&n&&!n(i);)i=s.next().value;if(i===null)return{done:!0,value:null};{let a={done:!1,value:i};return i=s.next().value,a}}}}}}function yhn(e,t=!1,r){return!e._parent||e._parent._children.size===0?KG():{[Symbol.iterator](){let n=e._parent?e._parent._firstChild:null;return{next(){for(;n&&(r&&!r(n)||!t&&n===e);)n=n._nextSibling;if(n===null)return{done:!0,value:null};{let s={done:!1,value:n};return n=n._nextSibling,s}}}}}}function VG(e,t=!1,r){let n=t?e:e._parent;for(;n&&r&&!r(n);)n=n._parent;return n}function jG(e,t,r=!1,n){let s=t._parent;for(;s&&n&&!n(s);)s=s._parent;return s}function vhn(e,t=!1,r){return!t&&!e._parent?KG():{[Symbol.iterator](){let n=VG(e,t,r);return{next(){if(n===null)return{done:!0,value:null};{let s={done:!1,value:n};return n=jG(e,n,t,r),s}}}}}}function Shn(e,t){if(e===t)return e._parent;let r=[],n=[],s=VG(e,!0);for(;s!==null;)r.push(s),s=jG(e,s,!0);let i=VG(t,!0);for(;i!==null;)n.push(i),i=jG(t,i,!0);let a=r.length,o=n.length,c=null;for(let u=Math.min(a,o);u>0;u--){let l=r[--a],d=n[--o];if(l!==d)break;c=l}return c}function Thn(e,t){if(t._firstChild)return t._firstChild;if(t._nextSibling)return t._nextSibling;for(;;){let r=t._parent;if(r===null||r===e)return null;if(r._nextSibling)return r._nextSibling;t=r}}function bhn(e,t){return t===e?null:t._previousSibling?(t=t._previousSibling,t._lastChild?t._lastChild:t):t._parent}function e6t(e){switch(e._nodeType){case bo.NodeType.Document:let t=!1,r=!1;for(let n of e._children)switch(n._nodeType){case bo.NodeType.ProcessingInstruction:case bo.NodeType.Comment:break;case bo.NodeType.DocumentType:if(t||r)return!1;t=!0;break;case bo.NodeType.Element:if(r)return!1;r=!0;break;default:return!1}break;case bo.NodeType.DocumentFragment:case bo.NodeType.Element:for(let n of e._children)switch(n._nodeType){case bo.NodeType.Element:case bo.NodeType.Text:case bo.NodeType.ProcessingInstruction:case bo.NodeType.CData:case bo.NodeType.Comment:break;default:return!1}break;case bo.NodeType.DocumentType:case bo.NodeType.Text:case bo.NodeType.ProcessingInstruction:case bo.NodeType.CData:case bo.NodeType.Comment:return!e.hasChildNodes()}for(let t of e._children)if(!e6t(t))return!1;return!0}function t6t(e){return Xd.Guard.isDocumentTypeNode(e)?0:Xd.Guard.isCharacterDataNode(e)?e._data.length:e._children.size}function Ihn(e){return t6t(e)===0}function g0(e,t=!1){if(t){let r=g0(e,!1);return Xd.Guard.isShadowRoot(r)?g0(r._host,!0):r}else return e._parent?g0(e._parent):e}function Rhn(e,t,r=!1,n=!1){let s=wxe(e,r,n);for(;s!==null;){if(s===t)return!0;s=Nxe(e,s,r,n)}return!1}function Oxe(e,t,r=!1,n=!1){let s=r?e:n&&Xd.Guard.isShadowRoot(e)?e._host:e._parent;for(;s!==null;){if(s===t)return!0;s=n&&Xd.Guard.isShadowRoot(s)?s._host:s._parent}return!1}function r6t(e,t,r=!1){if(Oxe(e,t,r))return!0;let n=g0(e);return!!(Xd.Guard.isDocumentFragmentNode(n)&&n._host!==null&&r6t(n._host,t,r))}function Chn(e,t,r=!1){if(e===t){if(r)return!0}else return e._parent!==null&&e._parent===t._parent;return!1}function xhn(e,t){let r=U4(e),n=U4(t);return r===-1||n===-1||g0(e)!==g0(t)?!1:nr}function Nhn(e,t){return e._parent===t}function Ohn(e,t){return t._parent===e}function Dhn(e){return e._previousSibling}function Phn(e){return e._nextSibling}function Lhn(e){return e._firstChild}function Mhn(e){return e._lastChild}function U4(e){let t=g0(e),r=0,n=wxe(t);for(;n!==null;){if(r++,n===e)return r;n=Nxe(t,n)}return-1}function khn(e){let t=0;for(;e._previousSibling!==null;)t++,e=e._previousSibling;return t}function Bhn(e,t){for(;;){if(!e||!Xd.Guard.isNode(e))return e;let r=g0(e);if(!Xd.Guard.isShadowRoot(r)||t&&Xd.Guard.isNode(t)&&Oxe(r,t,!0,!0))return e;e=r.host}}});var Lx=S(QT=>{"use strict";Object.defineProperty(QT,"__esModule",{value:!0});QT.observer_queueAMutationObserverMicrotask=s6t;QT.observer_notifyMutationObservers=i6t;QT.observer_queueMutationRecord=Lxe;QT.observer_queueTreeMutationRecord=$hn;QT.observer_queueAttributeMutationRecord=qhn;var Pxe=Vi(),Uhn=ds(),YT=ra(),Dxe=Fg(),n6t=Ul(),Fhn=GG();function s6t(){let e=Pxe.dom.window;e._mutationObserverMicrotaskQueued||(e._mutationObserverMicrotaskQueued=!0,Promise.resolve().then(()=>{i6t()}))}function i6t(){let e=Pxe.dom.window;e._mutationObserverMicrotaskQueued=!1;let t=YT.set.clone(e._mutationObservers),r=YT.set.clone(e._signalSlots);YT.set.empty(e._signalSlots);for(let n of t){let s=YT.list.clone(n._recordQueue);YT.list.empty(n._recordQueue);for(let i=0;iUhn.Guard.isTransientRegisteredObserver(o)&&o.observer===n)}if(!YT.list.isEmpty(s))try{n._callback.call(n,s,n)}catch{}}if(Pxe.dom.features.slots)for(let n of r)(0,Fhn.event_fireAnEvent)("slotchange",n,void 0,{bubbles:!0})}function Lxe(e,t,r,n,s,i,a,o,c){let u=new Map,l=(0,n6t.tree_getFirstAncestorNode)(t,!0);for(;l!==null;){for(let d=0;d{"use strict";Object.defineProperty(_0,"__esModule",{value:!0});_0.shadowTree_signalASlotChange=a6t;_0.shadowTree_isConnected=Khn;_0.shadowTree_isAssigned=Ghn;_0.shadowTree_findASlot=Mxe;_0.shadowTree_findSlotables=kxe;_0.shadowTree_findFlattenedSlotables=o6t;_0.shadowTree_assignSlotables=Bxe;_0.shadowTree_assignSlotablesForATree=Yhn;_0.shadowTree_assignASlot=Qhn;var Hhn=Vi(),Jd=ds(),Vhn=Yn(),KE=Ul(),jhn=Lx();function a6t(e){Hhn.dom.window._signalSlots.add(e),(0,jhn.observer_queueAMutationObserverMicrotask)()}function Khn(e){return Jd.Guard.isDocumentNode((0,KE.tree_rootNode)(e,!0))}function Ghn(e){return e._assignedSlot!==null}function Mxe(e,t=!1){let n=Jd.Cast.asNode(e)._parent;if(n===null)return null;let s=n._shadowRoot||null;if(s===null||t&&s._mode!=="open")return null;let i=(0,KE.tree_getFirstDescendantNode)(s,!1,!0,a=>Jd.Guard.isSlot(a));for(;i!==null;){if(i._name===e._name)return i;i=(0,KE.tree_getNextDescendantNode)(s,i,!1,!0,a=>Jd.Guard.isSlot(a))}return null}function kxe(e){let t=[],r=(0,KE.tree_rootNode)(e);if(!Jd.Guard.isShadowRoot(r))return t;let n=r._host;for(let s of n._children)Jd.Guard.isSlotable(s)&&Mxe(s)===e&&t.push(s);return t}function o6t(e){let t=[],r=(0,KE.tree_rootNode)(e);if(!Jd.Guard.isShadowRoot(r))return t;let n=kxe(e);if((0,Vhn.isEmpty)(n))for(let s of e._children)Jd.Guard.isSlotable(s)&&n.push(s);for(let s of n)if(Jd.Guard.isSlot(s)&&Jd.Guard.isShadowRoot((0,KE.tree_rootNode)(s))){let i=o6t(s);t.push(...i)}else t.push(s);return t}function Bxe(e){let t=kxe(e);if(t.length===e._assignedNodes.length){let r=!0;for(let n=0;nJd.Guard.isSlot(r));for(;t!==null;)Bxe(t),t=(0,KE.tree_getNextDescendantNode)(e,t,!0,!1,r=>Jd.Guard.isSlot(r))}function Qhn(e){let t=Mxe(e);t!==null&&Bxe(t)}});var $g=S(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});Zd.dom_runRemovingSteps=Whn;Zd.dom_runCloningSteps=Xhn;Zd.dom_runAdoptingSteps=Jhn;Zd.dom_runAttributeChangeSteps=Zhn;Zd.dom_runInsertionSteps=epn;Zd.dom_runNodeIteratorPreRemovingSteps=tpn;Zd.dom_hasSupportedTokens=rpn;Zd.dom_getSupportedTokens=npn;Zd.dom_runEventConstructingSteps=spn;Zd.dom_runChildTextContentChangeSteps=ipn;var zhn=Vi(),zT=Ul(),c6t=ds(),YG=F4(),u6t=new Map;function Whn(e,t){}function Xhn(e,t,r,n){}function Jhn(e,t){}function Zhn(e,t,r,n,s){zhn.dom.features.slots&&(cpn.call(e,e,t,r,n,s),opn.call(e,e,t,r,n,s)),upn.call(e,e,t,n,s);for(let i of e._attributeChangeSteps)i.call(e,e,t,r,n,s)}function epn(e){}function tpn(e,t){apn.call(e,e,t)}function rpn(e){return u6t.has(e)}function npn(e){return u6t.get(e)||new Set}function spn(e){}function ipn(e){}function apn(e,t){if(!(t===e._root||!(0,zT.tree_isAncestorOf)(e._reference,t,!0))){if(e._pointerBeforeReference)for(;;){let r=(0,zT.tree_getFollowingNode)(e._root,t);if(r!==null&&(0,zT.tree_isDescendantOf)(e._root,r,!0)&&!(0,zT.tree_isDescendantOf)(t,r,!0)){e._reference=r;return}else if(r===null){e._pointerBeforeReference=!1;return}}if(t._previousSibling===null)t._parent!==null&&(e._reference=t._parent);else{let r=t._previousSibling,n=(0,zT.tree_getFirstDescendantNode)(t._previousSibling,!0,!1);for(;n!==null;)n!==null&&(r=n),n=(0,zT.tree_getNextDescendantNode)(t._previousSibling,n,!0,!1);e._reference=r}}}function opn(e,t,r,n,s){if(c6t.Guard.isSlot(e)&&t==="name"&&s===null){if(n===r||n===null&&r===""||n===""&&r===null)return;n===null||n===""?e._name="":e._name=n,(0,YG.shadowTree_assignSlotablesForATree)((0,zT.tree_rootNode)(e))}}function cpn(e,t,r,n,s){if(c6t.Guard.isSlotable(e)&&t==="slot"&&s===null){if(n===r||n===null&&r===""||n===""&&r===null)return;n===null||n===""?e._name="":e._name=n,(0,YG.shadowTree_isAssigned)(e)&&(0,YG.shadowTree_assignSlotables)(e._assignedSlot),(0,YG.shadowTree_assignASlot)(e)}}function upn(e,t,r,n){t==="id"&&n===null&&(r?e._uniqueIdentifier=r:e._uniqueIdentifier=void 0)}});var GG=S(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.event_setTheCanceledFlag=ppn;Ka.event_initialize=mpn;Ka.event_createAnEvent=f6t;Ka.event_innerEventCreationSteps=h6t;Ka.event_dispatch=p6t;Ka.event_appendToAnEventPath=QG;Ka.event_invoke=Uxe;Ka.event_innerInvoke=Fxe;Ka.event_fireAnEvent=gpn;Ka.event_createLegacyEvent=_pn;Ka.event_getterEventHandlerIDLAttribute=Apn;Ka.event_setterEventHandlerIDLAttribute=Epn;Ka.event_determineTheTargetOfAnEventHandler=$xe;Ka.event_getTheCurrentValueOfAnEventHandler=m6t;Ka.event_activateAnEventHandler=ypn;Ka.event_deactivateAnEventHandler=vpn;var lpn=Vi(),$4=Vn(),ji=ds(),dpn=xxe(),d6t=qG(),fpn=ma(),A0=Ul(),l6t=F4(),hpn=$g();function ppn(e){e._cancelable&&!e._inPassiveListenerFlag&&(e._canceledFlag=!0)}function mpn(e,t,r,n){e._initializedFlag=!0,e._stopPropagationFlag=!1,e._stopImmediatePropagationFlag=!1,e._canceledFlag=!1,e._isTrusted=!1,e._target=null,e._type=t,e._bubbles=r,e._cancelable=n}function f6t(e,t=void 0){t===void 0&&(t=null);let n=h6t(e,t,new Date,{});return n._isTrusted=!0,n}function h6t(e,t,r,n){let s=new e("");return s._initializedFlag=!0,s._timeStamp=r.getTime(),Object.assign(s,n),lpn.dom.features.steps&&(0,hpn.dom_runEventConstructingSteps)(s),s}function p6t(e,t,r=!1,n={value:!1}){let s=!1;e._dispatchFlag=!0;let i=t;if(r){let c=t._associatedDocument;ji.Guard.isDocumentNode(c)&&(i=c)}let a=null,o=(0,A0.tree_retarget)(e._relatedTarget,t);if(t!==o||t===e._relatedTarget){let c=[];for(let m of e._touchTargetList)c.push((0,A0.tree_retarget)(m,t));QG(e,t,i,o,c,!1);let u=ji.Guard.isMouseEvent(e)&&e._type==="click";u&&t._activationBehavior!==void 0&&(a=t);let l=ji.Guard.isSlotable(t)&&(0,l6t.shadowTree_isAssigned)(t)?t:null,d=!1,f=t._getTheParent(e);for(;f!==null&&ji.Guard.isNode(f);){if(l!==null){if(!ji.Guard.isSlot(f))throw new Error("Parent node of a slotable should be a slot.");l=null;let m=(0,A0.tree_rootNode)(f,!0);ji.Guard.isShadowRoot(m)&&m._mode==="closed"&&(d=!0)}ji.Guard.isSlotable(f)&&(0,l6t.shadowTree_isAssigned)(f)&&(l=f),o=(0,A0.tree_retarget)(e._relatedTarget,f),c=[];for(let m of e._touchTargetList)c.push((0,A0.tree_retarget)(m,f));ji.Guard.isWindow(f)||ji.Guard.isNode(f)&&ji.Guard.isNode(t)&&(0,A0.tree_isAncestorOf)((0,A0.tree_rootNode)(t,!0),f,!0,!0)?(u&&e._bubbles&&a===null&&f._activationBehavior&&(a=f),QG(e,f,null,o,c,d)):f===o?f=null:(t=f,u&&a===null&&t._activationBehavior&&(a=t),QG(e,f,t,o,c,d)),f!==null&&(f=f._getTheParent(e)),d=!1}let h=null,p=e._path;for(let m=p.length-1;m>=0;m--){let g=p[m];if(g.shadowAdjustedTarget!==null){h=g;break}}if(h!==null)if(ji.Guard.isNode(h.shadowAdjustedTarget)&&ji.Guard.isShadowRoot((0,A0.tree_rootNode)(h.shadowAdjustedTarget,!0)))s=!0;else if(ji.Guard.isNode(h.relatedTarget)&&ji.Guard.isShadowRoot((0,A0.tree_rootNode)(h.relatedTarget,!0)))s=!0;else for(let m=0;m=0;m--){let g=p[m];g.shadowAdjustedTarget!==null?e._eventPhase=$4.EventPhase.AtTarget:e._eventPhase=$4.EventPhase.Capturing,Uxe(g,e,"capturing",n)}for(let m=0;m0&&(l=s[i-1],l.shadowAdjustedTarget!==null&&(t._target=l.shadowAdjustedTarget))}if(t._relatedTarget=e.relatedTarget,t._touchTargetList=e.touchTargetList,t._stopPropagationFlag)return;t._currentTarget=e.invocationTarget;let o=t._currentTarget._eventListenerList,c=new Array(...o);if(!Fxe(t,c,r,e,n)&&t._isTrusted){let l=t._type;l==="animationend"?t._type="webkitAnimationEnd":l==="animationiteration"?t._type="webkitAnimationIteration":l==="animationstart"?t._type="webkitAnimationStart":l==="transitionend"&&(t._type="webkitTransitionEnd"),Fxe(t,c,r,e,n),t._type=l}}function Fxe(e,t,r,n,s={value:!1}){let i=!1;for(let a=0;a{"use strict";Object.defineProperty(q4,"__esModule",{value:!0});q4.abort_add=Tpn;q4.abort_remove=bpn;q4.abort_signalAbort=Ipn;var Spn=GG();function Tpn(e,t){t._abortedFlag||t._abortAlgorithms.add(e)}function bpn(e,t){t._abortAlgorithms.delete(e)}function Ipn(e){if(!e._abortedFlag){e._abortedFlag=!0;for(let t of e._abortAlgorithms)t.call(e);e._abortAlgorithms.clear(),(0,Spn.event_fireAnEvent)("abort",e)}}});var H4=S(E0=>{"use strict";Object.defineProperty(E0,"__esModule",{value:!0});E0.customElement_isValidCustomElementName=Opn;E0.customElement_isValidElementName=Dpn;E0.customElement_isVoidElementName=Ppn;E0.customElement_isValidShadowHostName=Lpn;E0.customElement_enqueueACustomElementUpgradeReaction=Mpn;E0.customElement_enqueueACustomElementCallbackReaction=kpn;E0.customElement_upgrade=Bpn;E0.customElement_tryToUpgrade=Upn;E0.customElement_lookUpACustomElementDefinition=Fpn;var Rpn=/[a-z]([\0-\t\x2D\._a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*-([\0-\t\x2D\._a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*/,Cpn=new Set(["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"]),xpn=new Set(["article","aside","blockquote","body","div","footer","h1","h2","h3","h4","h5","h6","header","main","nav","p","section","span"]),wpn=new Set(["area","base","basefont","bgsound","br","col","embed","frame","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"]),Npn=new Set(["article","aside","blockquote","body","div","footer","h1","h2","h3","h4","h5","h6","header","main","nav","p","section","span"]);function Opn(e){return!(!Rpn.test(e)||Cpn.has(e))}function Dpn(e){return xpn.has(e)}function Ppn(e){return wpn.has(e)}function Lpn(e){return Npn.has(e)}function Mpn(e,t){}function kpn(e,t,r){}function Bpn(e,t){}function Upn(e){}function Fpn(e,t,r,n){return null}});var zG=S(Hxe=>{"use strict";Object.defineProperty(Hxe,"__esModule",{value:!0});Hxe.traversal_filter=qpn;var qxe=Vn(),$pn=ma();function qpn(e,t){if(e._activeFlag)throw new $pn.InvalidStateError;let n=1<{"use strict";Object.defineProperty(WG,"__esModule",{value:!0});WG.nodeIterator_traverse=Kpn;WG.nodeIterator_iteratorList=Gpn;var Hpn=Vi(),Vpn=Vn(),jpn=zG(),_6t=Ul();function Kpn(e,t){let r=e._reference,n=e._pointerBeforeReference;for(;;){if(t)if(n)n=!1;else{let i=(0,_6t.tree_getFollowingNode)(e._root,r);if(i)r=i;else return null}else if(n){let i=(0,_6t.tree_getPrecedingNode)(e.root,r);if(i)r=i;else return null}else n=!0;if((0,jpn.traversal_filter)(e,r)===Vpn.FilterResult.Accept)break}return e._reference=r,e._pointerBeforeReference=n,r}function Gpn(){return Hpn.dom.window._iteratorList}});var jxe=S(Mx=>{"use strict";Object.defineProperty(Mx,"__esModule",{value:!0});Mx.xml_isName=Ypn;Mx.xml_isQName=Qpn;Mx.xml_isLegalChar=zpn;Mx.xml_isPubidChar=Wpn;function Ypn(e){for(let t=0;t=97&&r<=122||r>=65&&r<=90||r===58||r===95||r>=192&&r<=214||r>=216&&r<=246||r>=248&&r<=767||r>=880&&r<=893||r>=895&&r<=8191||r>=8204&&r<=8205||r>=8304&&r<=8591||r>=11264&&r<=12271||r>=12289&&r<=55295||r>=63744&&r<=64975||r>=65008&&r<=65533)&&!(t!==0&&(r===45||r===46||r>=48&&r<=57||r===183||r>=768&&r<=879||r>=8255&&r<=8256))){if(r>=55296&&r<=56319&&t=56320&&n<=57343&&(r=(r-55296)*1024+n-56320+65536,t++,r>=65536&&r<=983039))continue}return!1}}return!0}function Qpn(e){let t=!1;for(let r=0;r=97&&n<=122||n>=65&&n<=90||n===95||n>=192&&n<=214||n>=216&&n<=246||n>=248&&n<=767||n>=880&&n<=893||n>=895&&n<=8191||n>=8204&&n<=8205||n>=8304&&n<=8591||n>=11264&&n<=12271||n>=12289&&n<=55295||n>=63744&&n<=64975||n>=65008&&n<=65533)){{if(r!==0&&(n===45||n===46||n>=48&&n<=57||n===183||n>=768&&n<=879||n>=8255&&n<=8256))continue;if(r!==0&&n===58){if(t||r===e.length-1)return!1;t=!0;continue}}if(n>=55296&&n<=56319&&r=56320&&s<=57343&&(n=(n-55296)*1024+s-56320+65536,r++,n>=65536&&n<=983039))continue}return!1}}return!0}function zpn(e){for(let t=0;t=32&&r<=55295||r>=57344&&r<=65533)){if(r>=55296&&r<=56319&&t=56320&&n<=57343&&(r=(r-55296)*1024+n-56320+65536,t++,r>=65536&&r<=1114111))continue}return!1}}return!0}function Wpn(e){for(let t=0;t=97&&r<=122||r>=65&&r<=90||r>=39&&r<=59||r===32||r===13||r===10||r>=35&&r<=37||r===33||r===61||r===63||r===64||r===95))return!1}return!0}});var Yxe=S(V4=>{"use strict";Object.defineProperty(V4,"__esModule",{value:!0});V4.namespace_validate=Gxe;V4.namespace_validateAndExtract=Xpn;V4.namespace_extractQName=Jpn;var kx=ma(),Kxe=ra(),A6t=jxe();function Gxe(e){if(!(0,A6t.xml_isName)(e))throw new kx.InvalidCharacterError(`Invalid XML name: ${e}`);if(!(0,A6t.xml_isQName)(e))throw new kx.InvalidCharacterError(`Invalid XML qualified name: ${e}.`)}function Xpn(e,t){e||(e=null),Gxe(t);let r=t.split(":"),n=r.length===2?r[0]:null,s=r.length===2?r[1]:t;if(n&&e===null)throw new kx.NamespaceError("Qualified name includes a prefix but the namespace is null.");if(n==="xml"&&e!==Kxe.namespace.XML)throw new kx.NamespaceError('Qualified name includes the "xml" prefix but the namespace is not the XML namespace.');if(e!==Kxe.namespace.XMLNS&&(n==="xmlns"||t==="xmlns"))throw new kx.NamespaceError('Qualified name includes the "xmlns" prefix but the namespace is not the XMLNS namespace.');if(e===Kxe.namespace.XMLNS&&n!=="xmlns"&&t!=="xmlns")throw new kx.NamespaceError('Qualified name does not include the "xmlns" prefix but the namespace is the XMLNS namespace.');return[e,n,s]}function Jpn(e){Gxe(e);let t=e.split(":"),r=t.length===2?t[0]:null,n=t.length===2?t[1]:e;return[r,n]}});var XG=S(j4=>{"use strict";Object.defineProperty(j4,"__esModule",{value:!0});j4.document_elementInterface=amn;j4.document_internalCreateElementNS=omn;j4.document_adopt=cmn;var E6t=Vi(),y6t=ds(),Zpn=Yn(),emn=aG(),tmn=H4(),v6t=Ul(),rmn=Yxe(),nmn=$g(),smn=Bx(),imn=WT();function amn(e,t){return emn.ElementImpl}function omn(e,t,r,n){let[s,i,a]=(0,rmn.namespace_validateAndExtract)(t,r),o=null;return n!==void 0&&((0,Zpn.isString)(n)?o=n:o=n.is),(0,smn.element_createAnElement)(e,a,s,i,o,!0)}function cmn(e,t){if(e._nodeDocument===t&&e._parent===null)return;let r=e._nodeDocument;if(e._parent&&(0,imn.mutation_remove)(e,e._parent),t!==r){let n=(0,v6t.tree_getFirstDescendantNode)(e,!0,!0);for(;n!==null;){if(n._nodeDocument=t,y6t.Guard.isElementNode(n))for(let s of n._attributeList._asArray())s._nodeDocument=t;E6t.dom.features.customElements&&y6t.Guard.isElementNode(n)&&n._customElementState==="custom"&&(0,tmn.customElement_enqueueACustomElementCallbackReaction)(n,"adoptedCallback",[r,t]),E6t.dom.features.steps&&(0,nmn.dom_runAdoptingSteps)(n,r),n=(0,v6t.tree_getNextDescendantNode)(e,n,!0,!0)}}}});var WT=S(ip=>{"use strict";Object.defineProperty(ip,"__esModule",{value:!0});ip.mutation_ensurePreInsertionValidity=T6t;ip.mutation_preInsert=b6t;ip.mutation_insert=JG;ip.mutation_append=dmn;ip.mutation_replace=fmn;ip.mutation_replaceAll=hmn;ip.mutation_preRemove=pmn;ip.mutation_remove=K4;var xn=Vi(),kn=ma(),gt=Vn(),Ks=ds(),Qxe=Yn(),S6t=ra(),Ux=H4(),na=Ul(),umn=Vxe(),Fl=F4(),Fx=Lx(),GE=$g(),zxe=XG();function T6t(e,t,r){let n=t._nodeType,s=e._nodeType,i=r?r._nodeType:null;if(n!==gt.NodeType.Document&&n!==gt.NodeType.DocumentFragment&&n!==gt.NodeType.Element)throw new kn.HierarchyRequestError(`Only document, document fragment and element nodes can contain child nodes. Parent node is ${t.nodeName}.`);if((0,na.tree_isHostIncludingAncestorOf)(t,e,!0))throw new kn.HierarchyRequestError(`The node to be inserted cannot be an inclusive ancestor of parent node. Node is ${e.nodeName}, parent node is ${t.nodeName}.`);if(r!==null&&r._parent!==t)throw new kn.NotFoundError(`The reference child node cannot be found under parent node. Child node is ${r.nodeName}, parent node is ${t.nodeName}.`);if(s!==gt.NodeType.DocumentFragment&&s!==gt.NodeType.DocumentType&&s!==gt.NodeType.Element&&s!==gt.NodeType.Text&&s!==gt.NodeType.ProcessingInstruction&&s!==gt.NodeType.CData&&s!==gt.NodeType.Comment)throw new kn.HierarchyRequestError(`Only document fragment, document type, element, text, processing instruction, cdata section or comment nodes can be inserted. Node is ${e.nodeName}.`);if(s===gt.NodeType.Text&&n===gt.NodeType.Document)throw new kn.HierarchyRequestError(`Cannot insert a text node as a child of a document node. Node is ${e.nodeName}.`);if(s===gt.NodeType.DocumentType&&n!==gt.NodeType.Document)throw new kn.HierarchyRequestError(`A document type node can only be inserted under a document node. Parent node is ${t.nodeName}.`);if(n===gt.NodeType.Document){if(s===gt.NodeType.DocumentFragment){let a=0;for(let o of e._children)if(o._nodeType===gt.NodeType.Element)a++;else if(o._nodeType===gt.NodeType.Text)throw new kn.HierarchyRequestError(`Cannot insert text a node as a child of a document node. Node is ${o.nodeName}.`);if(a>1)throw new kn.HierarchyRequestError(`A document node can only have one document element node. Document fragment to be inserted has ${a} element nodes.`);if(a===1){for(let o of t._children)if(o._nodeType===gt.NodeType.Element)throw new kn.HierarchyRequestError("The document node already has a document element node.");if(r){if(i===gt.NodeType.DocumentType)throw new kn.HierarchyRequestError("Cannot insert an element node before a document type node.");let o=r._nextSibling;for(;o;){if(o._nodeType===gt.NodeType.DocumentType)throw new kn.HierarchyRequestError("Cannot insert an element node before a document type node.");o=o._nextSibling}}}}else if(s===gt.NodeType.Element){for(let a of t._children)if(a._nodeType===gt.NodeType.Element)throw new kn.HierarchyRequestError(`Document already has a document element node. Node is ${e.nodeName}.`);if(r){if(i===gt.NodeType.DocumentType)throw new kn.HierarchyRequestError(`Cannot insert an element node before a document type node. Node is ${e.nodeName}.`);let a=r._nextSibling;for(;a;){if(a._nodeType===gt.NodeType.DocumentType)throw new kn.HierarchyRequestError(`Cannot insert an element node before a document type node. Node is ${e.nodeName}.`);a=a._nextSibling}}}else if(s===gt.NodeType.DocumentType){for(let a of t._children)if(a._nodeType===gt.NodeType.DocumentType)throw new kn.HierarchyRequestError(`Document already has a document type node. Node is ${e.nodeName}.`);if(r){let a=r._previousSibling;for(;a;){if(a._nodeType===gt.NodeType.Element)throw new kn.HierarchyRequestError(`Cannot insert a document type node before an element node. Node is ${e.nodeName}.`);a=a._previousSibling}}else{let a=t._firstChild;for(;a;){if(a._nodeType===gt.NodeType.Element)throw new kn.HierarchyRequestError(`Cannot insert a document type node before an element node. Node is ${e.nodeName}.`);a=a._nextSibling}}}}}function b6t(e,t,r){T6t(e,t,r);let n=r;return n===e&&(n=e._nextSibling),(0,zxe.document_adopt)(e,t._nodeDocument),JG(e,t,n),e}function JG(e,t,r,n){if(r===null&&e._nodeType!==gt.NodeType.DocumentFragment){lmn(e,t,n);return}let s=e._nodeType===gt.NodeType.DocumentFragment?e._children.size:1;if(r!==null&&xn.dom.rangeList.size!==0){let c=(0,na.tree_index)(r);for(let u of xn.dom.rangeList)u._start[0]===t&&u._start[1]>c&&(u._start[1]+=s),u._end[0]===t&&u._end[1]>c&&(u._end[1]+=s)}let i=e._nodeType===gt.NodeType.DocumentFragment?new Array(...e._children):[e];if(e._nodeType===gt.NodeType.DocumentFragment)for(;e._firstChild;)K4(e._firstChild,e,!0);xn.dom.features.mutationObservers&&e._nodeType===gt.NodeType.DocumentFragment&&(0,Fx.observer_queueTreeMutationRecord)(e,[],i,null,null);let a=r?r._previousSibling:t._lastChild,o=r===null?-1:(0,na.tree_index)(r);for(let c=0;c1)throw new kn.HierarchyRequestError(`A document node can only have one document element node. Document fragment to be inserted has ${o} element nodes.`);if(o===1){for(let u of r._children)if(u._nodeType===gt.NodeType.Element&&u!==e)throw new kn.HierarchyRequestError("The document node already has a document element node.");let c=e._nextSibling;for(;c;){if(c._nodeType===gt.NodeType.DocumentType)throw new kn.HierarchyRequestError("Cannot insert an element node before a document type node.");c=c._nextSibling}}}else if(t._nodeType===gt.NodeType.Element){for(let c of r._children)if(c._nodeType===gt.NodeType.Element&&c!==e)throw new kn.HierarchyRequestError(`Document already has a document element node. Node is ${t.nodeName}.`);let o=e._nextSibling;for(;o;){if(o._nodeType===gt.NodeType.DocumentType)throw new kn.HierarchyRequestError(`Cannot insert an element node before a document type node. Node is ${t.nodeName}.`);o=o._nextSibling}}else if(t._nodeType===gt.NodeType.DocumentType){for(let c of r._children)if(c._nodeType===gt.NodeType.DocumentType&&c!==e)throw new kn.HierarchyRequestError(`Document already has a document type node. Node is ${t.nodeName}.`);let o=e._previousSibling;for(;o;){if(o._nodeType===gt.NodeType.Element)throw new kn.HierarchyRequestError(`Cannot insert a document type node before an element node. Node is ${t.nodeName}.`);o=o._previousSibling}}}let n=e._nextSibling;n===t&&(n=t._nextSibling);let s=e._previousSibling;(0,zxe.document_adopt)(t,r._nodeDocument);let i=[];e._parent!==null&&(i.push(e),K4(e,e._parent,!0));let a=[];return t._nodeType===gt.NodeType.DocumentFragment?a=Array.from(t._children):a.push(t),JG(t,r,n,!0),xn.dom.features.mutationObservers&&(0,Fx.observer_queueTreeMutationRecord)(r,a,i,s,n),e}function hmn(e,t){e!==null&&(0,zxe.document_adopt)(e,t._nodeDocument);let r=Array.from(t._children),n=[];e&&e._nodeType===gt.NodeType.DocumentFragment?n=Array.from(e._children):e!==null&&n.push(e);for(let s of r)K4(s,t,!0);e!==null&&JG(e,t,null,!0),xn.dom.features.mutationObservers&&(0,Fx.observer_queueTreeMutationRecord)(t,n,r,null,null)}function pmn(e,t){if(e._parent!==t)throw new kn.NotFoundError(`The child node cannot be found under parent node. Child node is ${e.nodeName}, parent node is ${t.nodeName}.`);return K4(e,t),e}function K4(e,t,r){if(xn.dom.rangeList.size!==0){let c=(0,na.tree_index)(e);for(let u of xn.dom.rangeList)(0,na.tree_isDescendantOf)(e,u._start[0],!0)&&(u._start=[t,c]),(0,na.tree_isDescendantOf)(e,u._end[0],!0)&&(u._end=[t,c]),u._start[0]===t&&u._start[1]>c&&u._start[1]--,u._end[0]===t&&u._end[1]>c&&u._end[1]--;for(let u of xn.dom.rangeList)u._start[0]===t&&u._start[1]>c&&(u._start[1]-=1),u._end[0]===t&&u._end[1]>c&&(u._end[1]-=1)}if(xn.dom.features.steps)for(let c of(0,umn.nodeIterator_iteratorList)())c._root._nodeDocument===e._nodeDocument&&(0,GE.dom_runNodeIteratorPreRemovingSteps)(c,e);let n=e._previousSibling,s=e._nextSibling;Ks.Guard.isDocumentNode(t)&&Ks.Guard.isElementNode(e)&&(t._documentElement=null),e._parent=null,t._children.delete(e);let i=e._previousSibling,a=e._nextSibling;e._previousSibling=null,e._nextSibling=null,i&&(i._nextSibling=a),a&&(a._previousSibling=i),i||(t._firstChild=a),a||(t._lastChild=i),xn.dom.features.slots&&Ks.Guard.isSlotable(e)&&e._assignedSlot!==null&&(0,Fl.shadowTree_isAssigned)(e)&&(0,Fl.shadowTree_assignSlotables)(e._assignedSlot),xn.dom.features.slots&&Ks.Guard.isShadowRoot((0,na.tree_rootNode)(t))&&Ks.Guard.isSlot(t)&&(0,Qxe.isEmpty)(t._assignedNodes)&&(0,Fl.shadowTree_signalASlotChange)(t),xn.dom.features.slots&&(0,na.tree_getFirstDescendantNode)(e,!0,!1,u=>Ks.Guard.isSlot(u))!==null&&((0,Fl.shadowTree_assignSlotablesForATree)((0,na.tree_rootNode)(t)),(0,Fl.shadowTree_assignSlotablesForATree)(e)),xn.dom.features.steps&&(0,GE.dom_runRemovingSteps)(e,t),xn.dom.features.customElements&&Ks.Guard.isCustomElementNode(e)&&(0,Ux.customElement_enqueueACustomElementCallbackReaction)(e,"disconnectedCallback",[]);let o=(0,na.tree_getFirstDescendantNode)(e,!1,!0);for(;o!==null;)xn.dom.features.steps&&(0,GE.dom_runRemovingSteps)(o,e),xn.dom.features.customElements&&Ks.Guard.isCustomElementNode(o)&&(0,Ux.customElement_enqueueACustomElementCallbackReaction)(o,"disconnectedCallback",[]),o=(0,na.tree_getNextDescendantNode)(e,o,!1,!0);if(xn.dom.features.mutationObservers){let c=(0,na.tree_getFirstAncestorNode)(t,!0);for(;c!==null;){for(let u of c._registeredObserverList)u.options.subtree&&e._registeredObserverList.push({observer:u.observer,options:u.options,source:u});c=(0,na.tree_getNextAncestorNode)(t,c,!0)}}xn.dom.features.mutationObservers&&(r||(0,Fx.observer_queueTreeMutationRecord)(t,[],[e],n,s)),xn.dom.features.steps&&Ks.Guard.isTextNode(e)&&(0,GE.dom_runChildTextContentChangeSteps)(t)}});var Bx=S(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.element_has=mmn;dc.element_change=R6t;dc.element_append=Wxe;dc.element_remove=Xxe;dc.element_replace=C6t;dc.element_getAnAttributeByName=x6t;dc.element_getAnAttributeByNamespaceAndLocalName=G4;dc.element_getAnAttributeValue=gmn;dc.element_setAnAttribute=_mn;dc.element_setAnAttributeValue=Amn;dc.element_removeAnAttributeByName=Emn;dc.element_removeAnAttributeByNamespaceAndLocalName=ymn;dc.element_createAnElement=vmn;dc.element_insertAdjacent=Smn;var $l=Vi(),XT=ra(),tY=ds(),JT=ma(),eY=Fg(),qg=H4(),rY=Lx(),nY=$g(),ZG=WT(),I6t=XG();function mmn(e,t){return t._attributeList._asArray().indexOf(e)!==-1}function R6t(e,t,r){$l.dom.features.mutationObservers&&(0,rY.observer_queueAttributeMutationRecord)(t,e._localName,e._namespace,e._value),$l.dom.features.customElements&&tY.Guard.isCustomElementNode(t)&&(0,qg.customElement_enqueueACustomElementCallbackReaction)(t,"attributeChangedCallback",[e._localName,e._value,r,e._namespace]),$l.dom.features.steps&&(0,nY.dom_runAttributeChangeSteps)(t,e._localName,e._value,r,e._namespace),e._value=r}function Wxe(e,t){$l.dom.features.mutationObservers&&(0,rY.observer_queueAttributeMutationRecord)(t,e._localName,e._namespace,null),$l.dom.features.customElements&&tY.Guard.isCustomElementNode(t)&&(0,qg.customElement_enqueueACustomElementCallbackReaction)(t,"attributeChangedCallback",[e._localName,null,e._value,e._namespace]),$l.dom.features.steps&&(0,nY.dom_runAttributeChangeSteps)(t,e._localName,null,e._value,e._namespace),t._attributeList._asArray().push(e),e._element=t,!t._nodeDocument._hasNamespaces&&(e._namespace!==null||e._namespacePrefix!==null||e._localName==="xmlns")&&(t._nodeDocument._hasNamespaces=!0)}function Xxe(e,t){$l.dom.features.mutationObservers&&(0,rY.observer_queueAttributeMutationRecord)(t,e._localName,e._namespace,e._value),$l.dom.features.customElements&&tY.Guard.isCustomElementNode(t)&&(0,qg.customElement_enqueueACustomElementCallbackReaction)(t,"attributeChangedCallback",[e._localName,e._value,null,e._namespace]),$l.dom.features.steps&&(0,nY.dom_runAttributeChangeSteps)(t,e._localName,e._value,null,e._namespace);let r=t._attributeList._asArray().indexOf(e);t._attributeList._asArray().splice(r,1),e._element=null}function C6t(e,t,r){$l.dom.features.mutationObservers&&(0,rY.observer_queueAttributeMutationRecord)(r,e._localName,e._namespace,e._value),$l.dom.features.customElements&&tY.Guard.isCustomElementNode(r)&&(0,qg.customElement_enqueueACustomElementCallbackReaction)(r,"attributeChangedCallback",[e._localName,e._value,t._value,e._namespace]),$l.dom.features.steps&&(0,nY.dom_runAttributeChangeSteps)(r,e._localName,e._value,t._value,e._namespace);let n=r._attributeList._asArray().indexOf(e);n!==-1&&(r._attributeList._asArray()[n]=t),e._element=null,t._element=r,!r._nodeDocument._hasNamespaces&&(t._namespace!==null||t._namespacePrefix!==null||t._localName==="xmlns")&&(r._nodeDocument._hasNamespaces=!0)}function x6t(e,t){return t._namespace===XT.namespace.HTML&&t._nodeDocument._type==="html"&&(e=e.toLowerCase()),t._attributeList._asArray().find(r=>r._qualifiedName===e)||null}function G4(e,t,r){let n=e||null;return r._attributeList._asArray().find(s=>s._namespace===n&&s._localName===t)||null}function gmn(e,t,r=""){let n=G4(r,t,e);return n===null?"":n._value}function _mn(e,t){if(e._element!==null&&e._element!==t)throw new JT.InUseAttributeError(`This attribute already exists in the document: ${e._qualifiedName} as a child of ${e._element._qualifiedName}.`);let r=G4(e._namespace||"",e._localName,t);return r===e?e:(r!==null?C6t(r,e,t):Wxe(e,t),r)}function Amn(e,t,r,n=null,s=null){let i=G4(s||"",t,e);if(i===null){let a=(0,eY.create_attr)(e._nodeDocument,t);a._namespace=s,a._namespacePrefix=n,a._value=r,Wxe(a,e);return}R6t(i,e,r)}function Emn(e,t){let r=x6t(e,t);return r!==null&&Xxe(r,t),r}function ymn(e,t,r){let n=G4(e,t,r);return n!==null&&Xxe(n,r),n}function vmn(e,t,r,n=null,s=null,i=!1){let a=null;if(!$l.dom.features.customElements)return a=(0,eY.create_element)(e,t,r,n),a._customElementState="uncustomized",a._customElementDefinition=null,a._is=s,a;let o=(0,qg.customElement_lookUpACustomElementDefinition)(e,r,t,s);if(o!==null&&o.name!==o.localName){let c=(0,I6t.document_elementInterface)(t,XT.namespace.HTML);a=new c,a._localName=t,a._namespace=XT.namespace.HTML,a._namespacePrefix=n,a._customElementState="undefined",a._customElementDefinition=null,a._is=s,a._nodeDocument=e,i?(0,qg.customElement_upgrade)(o,a):(0,qg.customElement_enqueueACustomElementUpgradeReaction)(a,o)}else if(o!==null)if(i)try{let c=o.constructor,u=new c;if(console.assert(u._customElementState!==void 0),console.assert(u._customElementDefinition!==void 0),console.assert(u._namespace===XT.namespace.HTML),u._attributeList.length!==0)throw new JT.NotSupportedError("Custom element already has attributes.");if(u._children.size!==0)throw new JT.NotSupportedError("Custom element already has child nodes.");if(u._parent!==null)throw new JT.NotSupportedError("Custom element already has a parent node.");if(u._nodeDocument!==e)throw new JT.NotSupportedError("Custom element is already in a document.");if(u._localName!==t)throw new JT.NotSupportedError("Custom element has a different local name.");u._namespacePrefix=n,u._is=null}catch{a=(0,eY.create_htmlUnknownElement)(e,t,XT.namespace.HTML,n),a._customElementState="failed",a._customElementDefinition=null,a._is=null}else a=(0,eY.create_htmlElement)(e,t,XT.namespace.HTML,n),a._customElementState="undefined",a._customElementDefinition=null,a._is=null,(0,qg.customElement_enqueueACustomElementUpgradeReaction)(a,o);else{let c=(0,I6t.document_elementInterface)(t,r);a=new c,a._localName=t,a._namespace=r,a._namespacePrefix=n,a._customElementState="uncustomized",a._customElementDefinition=null,a._is=s,a._nodeDocument=e,r===XT.namespace.HTML&&(s!==null||(0,qg.customElement_isValidCustomElementName)(t))&&(a._customElementState="undefined")}if(a===null)throw new Error("Unable to create element.");return a}function Smn(e,t,r){switch(t.toLowerCase()){case"beforebegin":return e._parent===null?null:(0,ZG.mutation_preInsert)(r,e._parent,e);case"afterbegin":return(0,ZG.mutation_preInsert)(r,e,e._firstChild);case"beforeend":return(0,ZG.mutation_preInsert)(r,e,null);case"afterend":return e._parent===null?null:(0,ZG.mutation_preInsert)(r,e._parent,e._nextSibling);default:throw new JT.SyntaxError(`Invalid 'where' argument. "beforebegin", "afterbegin", "beforeend" or "afterend" expected`)}}});var w6t=S(Jxe=>{"use strict";Object.defineProperty(Jxe,"__esModule",{value:!0});Jxe.attr_setAnExistingAttributeValue=bmn;var Tmn=Bx();function bmn(e,t){e._element===null?e._value=t:(0,Tmn.element_change)(e,e._element,t)}});var ewe=S(Zxe=>{"use strict";Object.defineProperty(Zxe,"__esModule",{value:!0});Zxe.boundaryPoint_position=N6t;var Hg=Vn(),$x=Ul();function N6t(e,t){let r=e[0],n=e[1],s=t[0],i=t[1];if(console.assert((0,$x.tree_rootNode)(r)===(0,$x.tree_rootNode)(s),"Boundary points must share the same root node."),r===s)return n===i?Hg.BoundaryPosition.Equal:n{"use strict";Object.defineProperty(sY,"__esModule",{value:!0});sY.characterData_replaceData=xmn;sY.characterData_substringData=wmn;var twe=Vi(),Imn=ds(),O6t=ma(),D6t=Ul(),Rmn=Lx(),Cmn=$g();function xmn(e,t,r,n){let s=(0,D6t.tree_nodeLength)(e);if(t>s)throw new O6t.IndexSizeError(`Offset exceeds character data length. Offset: ${t}, Length: ${s}, Node is ${e.nodeName}.`);t+r>s&&(r=s-t),twe.dom.features.mutationObservers&&(0,Rmn.observer_queueMutationRecord)("characterData",e,null,null,e._data,[],[],null,null);let i=e._data.substring(0,t)+n+e._data.substring(t+r);e._data=i;for(let a of twe.dom.rangeList)a._start[0]===e&&a._start[1]>t&&a._start[1]<=t+r&&(a._start[1]=t),a._end[0]===e&&a._end[1]>t&&a._end[1]<=t+r&&(a._end[1]=t),a._start[0]===e&&a._start[1]>t+r&&(a._start[1]+=n.length-r),a._end[0]===e&&a._end[1]>t+r&&(a._end[1]+=n.length-r);twe.dom.features.steps&&Imn.Guard.isTextNode(e)&&e._parent!==null&&(0,Cmn.dom_runChildTextContentChangeSteps)(e._parent)}function wmn(e,t,r){let n=(0,D6t.tree_nodeLength)(e);if(t>n)throw new O6t.IndexSizeError(`Offset exceeds character data length. Offset: ${t}, Length: ${n}, Node is ${e.nodeName}.`);return t+r>n?e._data.substr(t):e._data.substr(t,r)}});var aY=S(qx=>{"use strict";Object.defineProperty(qx,"__esModule",{value:!0});qx.orderedSet_parse=P6t;qx.orderedSet_serialize=L6t;qx.orderedSet_sanitize=Omn;qx.orderedSet_contains=Dmn;var Nmn=ra();function P6t(e){let t=Nmn.string.splitAStringOnASCIIWhitespace(e);return new Set(t)}function L6t(e){return[...e].join(" ")}function Omn(e){return L6t(P6t(e))}function Dmn(e,t,r){for(let n of t){let s=!1;for(let i of e)if(r){if(i===n){s=!0;break}}else if(i.toUpperCase()===n.toUpperCase()){s=!0;break}if(!s)return!1}return!0}});var B6t=S(Y4=>{"use strict";Object.defineProperty(Y4,"__esModule",{value:!0});Y4.tokenList_validationSteps=Lmn;Y4.tokenList_updateSteps=Mmn;Y4.tokenList_serializeSteps=kmn;var Pmn=aY(),M6t=$g(),k6t=Bx();function Lmn(e,t){if(!(0,M6t.dom_hasSupportedTokens)(e._attribute._localName))throw new TypeError(`There are no supported tokens defined for attribute name: '${e._attribute._localName}'.`);return(0,M6t.dom_getSupportedTokens)(e._attribute._localName).has(t.toLowerCase())}function Mmn(e){!e._element.hasAttribute(e._attribute._localName)&&e._tokenSet.size===0||(0,k6t.element_setAnAttributeValue)(e._element,e._attribute._localName,(0,Pmn.orderedSet_serialize)(e._tokenSet))}function kmn(e){return(0,k6t.element_getAnAttributeValue)(e._element,e._attribute._localName)}});var $6t=S(ZT=>{"use strict";Object.defineProperty(ZT,"__esModule",{value:!0});ZT.eventTarget_flatten=F6t;ZT.eventTarget_flattenMore=Bmn;ZT.eventTarget_addEventListener=Umn;ZT.eventTarget_removeEventListener=Fmn;ZT.eventTarget_removeAllEventListeners=$mn;var U6t=Yn();function F6t(e){return(0,U6t.isBoolean)(e)?e:e.capture||!1}function Bmn(e){let t=F6t(e),r=!1,n=!1;return(0,U6t.isBoolean)(e)||(r=e.once||!1,n=e.passive||!1),[t,n,r]}function Umn(e,t){if(t.callback!==null){for(let r=0;r{"use strict";Object.defineProperty(ap,"__esModule",{value:!0});ap.node_stringReplaceAll=Vmn;ap.node_clone=rwe;ap.node_equals=nwe;ap.node_listOfElementsWithQualifiedName=jmn;ap.node_listOfElementsWithNamespace=Kmn;ap.node_listOfElementsWithClassNames=Gmn;ap.node_locateANamespacePrefix=j6t;ap.node_locateANamespace=Q4;var qmn=Vi(),Zn=ds(),oY=ra(),Ga=Fg(),q6t=aY(),Hmn=$g(),V6t=WT(),H6t=Bx();function Vmn(e,t){let r=null;e!==""&&(r=(0,Ga.create_text)(t._nodeDocument,e)),(0,V6t.mutation_replaceAll)(r,t)}function rwe(e,t=null,r=!1){t===null&&(t=e._nodeDocument);let n;if(Zn.Guard.isElementNode(e)){n=(0,H6t.element_createAnElement)(t,e._localName,e._namespace,e._namespacePrefix,e._is,!1);for(let s of e._attributeList){let i=rwe(s,t);(0,H6t.element_append)(i,n)}}else if(Zn.Guard.isDocumentNode(e)){let s=(0,Ga.create_document)();s._encoding=e._encoding,s._contentType=e._contentType,s._URL=e._URL,s._origin=e._origin,s._type=e._type,s._mode=e._mode,n=s}else if(Zn.Guard.isDocumentTypeNode(e))n=(0,Ga.create_documentType)(t,e._name,e._publicId,e._systemId);else if(Zn.Guard.isAttrNode(e)){let s=(0,Ga.create_attr)(t,e.localName);s._namespace=e._namespace,s._namespacePrefix=e._namespacePrefix,s._value=e._value,n=s}else Zn.Guard.isExclusiveTextNode(e)?n=(0,Ga.create_text)(t,e._data):Zn.Guard.isCDATASectionNode(e)?n=(0,Ga.create_cdataSection)(t,e._data):Zn.Guard.isCommentNode(e)?n=(0,Ga.create_comment)(t,e._data):Zn.Guard.isProcessingInstructionNode(e)?n=(0,Ga.create_processingInstruction)(t,e._target,e._data):Zn.Guard.isDocumentFragmentNode(e)?n=(0,Ga.create_documentFragment)(t):n=Object.create(e);if(Zn.Guard.isDocumentNode(n)?(n._nodeDocument=n,t=n):n._nodeDocument=t,qmn.dom.features.steps&&(0,Hmn.dom_runCloningSteps)(n,e,t,r),r)for(let s of e._children){let i=rwe(s,t,!0);(0,V6t.mutation_append)(i,n)}return n}function nwe(e,t){if(e._nodeType!==t._nodeType)return!1;if(Zn.Guard.isDocumentTypeNode(e)&&Zn.Guard.isDocumentTypeNode(t)){if(e._name!==t._name||e._publicId!==t._publicId||e._systemId!==t._systemId)return!1}else if(Zn.Guard.isElementNode(e)&&Zn.Guard.isElementNode(t)){if(e._namespace!==t._namespace||e._namespacePrefix!==t._namespacePrefix||e._localName!==t._localName||e._attributeList.length!==t._attributeList.length)return!1}else if(Zn.Guard.isAttrNode(e)&&Zn.Guard.isAttrNode(t)){if(e._namespace!==t._namespace||e._localName!==t._localName||e._value!==t._value)return!1}else if(Zn.Guard.isProcessingInstructionNode(e)&&Zn.Guard.isProcessingInstructionNode(t)){if(e._target!==t._target||e._data!==t._data)return!1}else if(Zn.Guard.isCharacterDataNode(e)&&Zn.Guard.isCharacterDataNode(t)&&e._data!==t._data)return!1;if(Zn.Guard.isElementNode(e)&&Zn.Guard.isElementNode(t)){let a={};for(let o of e._attributeList)a[o._localName]=o;for(let o of t._attributeList){let c=a[o._localName];if(!c||!nwe(c,o))return!1}}if(e._children.size!==t._children.size)return!1;let r=e._children[Symbol.iterator](),n=t._children[Symbol.iterator](),s=r.next(),i=n.next();for(;!s.done&&!i.done;){let a=s.value,o=i.value;if(!nwe(a,o))return!1;s=r.next(),i=n.next()}return!0}function jmn(e,t){return e==="*"?(0,Ga.create_htmlCollection)(t):t._nodeDocument._type==="html"?(0,Ga.create_htmlCollection)(t,function(r){return r._namespace===oY.namespace.HTML&&r._qualifiedName===e.toLowerCase()?!0:r._namespace!==oY.namespace.HTML&&r._qualifiedName===e}):(0,Ga.create_htmlCollection)(t,function(r){return r._qualifiedName===e})}function Kmn(e,t,r){return e===""&&(e=null),e==="*"&&t==="*"?(0,Ga.create_htmlCollection)(r):e==="*"?(0,Ga.create_htmlCollection)(r,function(n){return n._localName===t}):t==="*"?(0,Ga.create_htmlCollection)(r,function(n){return n._namespace===e}):(0,Ga.create_htmlCollection)(r,function(n){return n._localName===t&&n._namespace===e})}function Gmn(e,t){let r=(0,q6t.orderedSet_parse)(e);if(r.size===0)return(0,Ga.create_htmlCollection)(t,()=>!1);let n=t._nodeDocument._mode!=="quirks";return(0,Ga.create_htmlCollection)(t,function(s){let i=s.classList;return(0,q6t.orderedSet_contains)(i._tokenSet,r,n)})}function j6t(e,t){if(e._namespace===t&&e._namespacePrefix!==null)return e._namespacePrefix;for(let r=0;r{"use strict";Object.defineProperty(iwe,"__esModule",{value:!0});iwe.parentNode_convertNodesIntoANode=Qmn;var Ymn=Yn(),K6t=Fg();function Qmn(e,t){let r=null;for(let n=0;n{"use strict";Object.defineProperty(Hx,"__esModule",{value:!0});Hx.text_contiguousTextNodes=Zmn;Hx.text_contiguousExclusiveTextNodes=egn;Hx.text_descendantTextContent=tgn;Hx.text_split=rgn;var zmn=Vi(),YE=ds(),Wmn=ma(),Xmn=Fg(),awe=Ul(),Y6t=iY(),Jmn=WT();function Zmn(e,t=!1){return{[Symbol.iterator](){let r=e;for(;r&&YE.Guard.isTextNode(r._previousSibling);)r=r._previousSibling;return{next(){if(r&&!t&&r===e&&(YE.Guard.isTextNode(r._nextSibling)?r=r._nextSibling:r=null),r===null)return{done:!0,value:null};{let n={done:!1,value:r};return YE.Guard.isTextNode(r._nextSibling)?r=r._nextSibling:r=null,n}}}}}}function egn(e,t=!1){return{[Symbol.iterator](){let r=e;for(;r&&YE.Guard.isExclusiveTextNode(r._previousSibling);)r=r._previousSibling;return{next(){if(r&&!t&&r===e&&(YE.Guard.isExclusiveTextNode(r._nextSibling)?r=r._nextSibling:r=null),r===null)return{done:!0,value:null};{let n={done:!1,value:r};return YE.Guard.isExclusiveTextNode(r._nextSibling)?r=r._nextSibling:r=null,n}}}}}}function tgn(e){let t="",r=(0,awe.tree_getFirstDescendantNode)(e,!1,!1,n=>YE.Guard.isTextNode(n));for(;r!==null;)t+=r._data,r=(0,awe.tree_getNextDescendantNode)(e,r,!1,!1,n=>YE.Guard.isTextNode(n));return t}function rgn(e,t){let r=e._data.length;if(t>r)throw new Wmn.IndexSizeError;let n=r-t,s=(0,Y6t.characterData_substringData)(e,t,n),i=(0,Xmn.create_text)(e._nodeDocument,s),a=e._parent;if(a!==null){(0,Jmn.mutation_insert)(i,a,e._nextSibling);for(let o of zmn.dom.rangeList){o._start[0]===e&&o._start[1]>t&&(o._start[0]=i,o._start[1]-=t),o._end[0]===e&&o._end[1]>t&&(o._end[0]=i,o._end[1]-=t);let c=(0,awe.tree_index)(e);o._start[0]===a&&o._start[1]===c+1&&o._start[1]++,o._end[0]===a&&o._end[1]===c+1&&o._end[1]++}}return(0,Y6t.characterData_replaceData)(e,t,n,""),i}});var z6t=S(Xu=>{"use strict";Object.defineProperty(Xu,"__esModule",{value:!0});Xu.range_collapsed=dY;Xu.range_root=fY;Xu.range_isContained=hY;Xu.range_isPartiallyContained=jx;Xu.range_setTheStart=sgn;Xu.range_setTheEnd=ign;Xu.range_select=agn;Xu.range_extract=lY;Xu.range_cloneTheContents=Q6t;Xu.range_insert=ogn;Xu.range_getContainedNodes=cgn;Xu.range_getPartiallyContainedNodes=ugn;var cY=Vn(),QE=ma(),fc=ds(),Vx=Fg(),wn=Ul(),uY=ewe(),Vg=iY(),y0=swe(),Ya=WT(),ngn=owe();function dY(e){return e._startNode===e._endNode&&e._startOffset===e._endOffset}function fY(e){return(0,wn.tree_rootNode)(e._startNode)}function hY(e,t){return(0,wn.tree_rootNode)(e)===fY(t)&&(0,uY.boundaryPoint_position)([e,0],t._start)===cY.BoundaryPosition.After&&(0,uY.boundaryPoint_position)([e,(0,wn.tree_nodeLength)(e)],t._end)===cY.BoundaryPosition.Before}function jx(e,t){let r=(0,wn.tree_isAncestorOf)(t._startNode,e,!0),n=(0,wn.tree_isAncestorOf)(t._endNode,e,!0);return r&&!n||!r&&n}function sgn(e,t,r){if(fc.Guard.isDocumentTypeNode(t))throw new QE.InvalidNodeTypeError;if(r>(0,wn.tree_nodeLength)(t))throw new QE.IndexSizeError;let n=[t,r];(fY(e)!==(0,wn.tree_rootNode)(t)||(0,uY.boundaryPoint_position)(n,e._end)===cY.BoundaryPosition.After)&&(e._end=n),e._start=n}function ign(e,t,r){if(fc.Guard.isDocumentTypeNode(t))throw new QE.InvalidNodeTypeError;if(r>(0,wn.tree_nodeLength)(t))throw new QE.IndexSizeError;let n=[t,r];(fY(e)!==(0,wn.tree_rootNode)(t)||(0,uY.boundaryPoint_position)(n,e._start)===cY.BoundaryPosition.Before)&&(e._start=n),e._end=n}function agn(e,t){let r=e._parent;if(r===null)throw new QE.InvalidNodeTypeError;let n=(0,wn.tree_index)(e);t._start=[r,n],t._end=[r,n+1]}function lY(e){let t=(0,Vx.create_documentFragment)(e._startNode._nodeDocument);if(dY(e))return t;let r=e._startNode,n=e._startOffset,s=e._endNode,i=e._endOffset;if(r===s&&fc.Guard.isCharacterDataNode(r)){let f=(0,y0.node_clone)(r);return f._data=(0,Vg.characterData_substringData)(r,n,i-n),(0,Ya.mutation_append)(f,t),(0,Vg.characterData_replaceData)(r,n,i-n,""),t}let a=r;for(;!(0,wn.tree_isAncestorOf)(s,a,!0);){if(a._parent===null)throw new Error("Parent node is null.");a=a._parent}let o=null;if(!(0,wn.tree_isAncestorOf)(s,r,!0)){for(let f of a._children)if(jx(f,e)){o=f;break}}let c=null;if(!(0,wn.tree_isAncestorOf)(r,s,!0)){let f=[...a._children];for(let h=f.length-1;h>0;h--){let p=f[h];if(jx(p,e)){c=p;break}}}let u=[];for(let f of a._children)if(hY(f,e)){if(fc.Guard.isDocumentTypeNode(f))throw new QE.HierarchyRequestError;u.push(f)}let l,d;if((0,wn.tree_isAncestorOf)(s,r,!0))l=r,d=n;else{let f=r;for(;f._parent!==null&&!(0,wn.tree_isAncestorOf)(s,f._parent);)f=f._parent;if(f._parent===null)throw new Error("Parent node is null.");l=f._parent,d=1+(0,wn.tree_index)(f)}if(fc.Guard.isCharacterDataNode(o)){let f=(0,y0.node_clone)(r);f._data=(0,Vg.characterData_substringData)(r,n,(0,wn.tree_nodeLength)(r)-n),(0,Ya.mutation_append)(f,t),(0,Vg.characterData_replaceData)(r,n,(0,wn.tree_nodeLength)(r)-n,"")}else if(o!==null){let f=(0,y0.node_clone)(o);(0,Ya.mutation_append)(f,t);let h=(0,Vx.create_range)([r,n],[o,(0,wn.tree_nodeLength)(o)]),p=lY(h);(0,Ya.mutation_append)(p,f)}for(let f of u)(0,Ya.mutation_append)(f,t);if(fc.Guard.isCharacterDataNode(c)){let f=(0,y0.node_clone)(s);f._data=(0,Vg.characterData_substringData)(s,0,i),(0,Ya.mutation_append)(f,t),(0,Vg.characterData_replaceData)(s,0,i,"")}else if(c!==null){let f=(0,y0.node_clone)(c);(0,Ya.mutation_append)(f,t);let h=(0,Vx.create_range)([c,0],[s,i]),p=lY(h);(0,Ya.mutation_append)(p,f)}return e._start=[l,d],e._end=[l,d],t}function Q6t(e){let t=(0,Vx.create_documentFragment)(e._startNode._nodeDocument);if(dY(e))return t;let r=e._startNode,n=e._startOffset,s=e._endNode,i=e._endOffset;if(r===s&&fc.Guard.isCharacterDataNode(r)){let l=(0,y0.node_clone)(r);l._data=(0,Vg.characterData_substringData)(r,n,i-n),(0,Ya.mutation_append)(l,t)}let a=r;for(;!(0,wn.tree_isAncestorOf)(s,a,!0);){if(a._parent===null)throw new Error("Parent node is null.");a=a._parent}let o=null;if(!(0,wn.tree_isAncestorOf)(s,r,!0)){for(let l of a._children)if(jx(l,e)){o=l;break}}let c=null;if(!(0,wn.tree_isAncestorOf)(r,s,!0)){let l=[...a._children];for(let d=l.length-1;d>0;d--){let f=l[d];if(jx(f,e)){c=f;break}}}let u=[];for(let l of a._children)if(hY(l,e)){if(fc.Guard.isDocumentTypeNode(l))throw new QE.HierarchyRequestError;u.push(l)}if(fc.Guard.isCharacterDataNode(o)){let l=(0,y0.node_clone)(r);l._data=(0,Vg.characterData_substringData)(r,n,(0,wn.tree_nodeLength)(r)-n),(0,Ya.mutation_append)(l,t)}else if(o!==null){let l=(0,y0.node_clone)(o);(0,Ya.mutation_append)(l,t);let d=(0,Vx.create_range)([r,n],[o,(0,wn.tree_nodeLength)(o)]),f=Q6t(d);(0,Ya.mutation_append)(f,l)}for(let l of u){let d=(0,y0.node_clone)(l);(0,Ya.mutation_append)(d,t)}if(fc.Guard.isCharacterDataNode(c)){let l=(0,y0.node_clone)(s);l._data=(0,Vg.characterData_substringData)(s,0,i),(0,Ya.mutation_append)(l,t)}else if(c!==null){let l=(0,y0.node_clone)(c);t.append(l);let d=(0,Vx.create_range)([c,0],[s,i]),f=lY(d);(0,Ya.mutation_append)(f,l)}return t}function ogn(e,t){if(fc.Guard.isProcessingInstructionNode(t._startNode)||fc.Guard.isCommentNode(t._startNode)||fc.Guard.isTextNode(t._startNode)&&t._startNode._parent===null||t._startNode===e)throw new QE.HierarchyRequestError;let r=null;if(fc.Guard.isTextNode(t._startNode))r=t._startNode;else{let i=0;for(let a of t._startNode._children){if(i===t._startOffset){r=a;break}i++}}let n;if(r===null)n=t._startNode;else{if(r._parent===null)throw new Error("Parent node is null.");n=r._parent}(0,Ya.mutation_ensurePreInsertionValidity)(e,n,r),fc.Guard.isTextNode(t._startNode)&&(r=(0,ngn.text_split)(t._startNode,t._startOffset)),e===r&&(r=e._nextSibling),e._parent!==null&&(0,Ya.mutation_remove)(e,e._parent);let s=r===null?(0,wn.tree_nodeLength)(n):(0,wn.tree_index)(r);fc.Guard.isDocumentFragmentNode(e)?s+=(0,wn.tree_nodeLength)(e):s++,(0,Ya.mutation_preInsert)(e,n,r),dY(t)&&(t._end=[n,s])}function cgn(e){return{[Symbol.iterator]:()=>{let t=e.commonAncestorContainer,r=(0,wn.tree_getFirstDescendantNode)(t);return{next:()=>{for(;r&&!hY(r,e);)r=(0,wn.tree_getNextDescendantNode)(t,r);if(r===null)return{done:!0,value:null};{let n={done:!1,value:r};return r=(0,wn.tree_getNextDescendantNode)(t,r),n}}}}}}function ugn(e){return{[Symbol.iterator]:()=>{let t=e.commonAncestorContainer,r=(0,wn.tree_getFirstDescendantNode)(t);return{next:()=>{for(;r&&!jx(r,e);)r=(0,wn.tree_getNextDescendantNode)(t,r);if(r===null)return{done:!0,value:null};{let n={done:!1,value:r};return r=(0,wn.tree_getNextDescendantNode)(t,r),n}}}}}}});var W6t=S(cwe=>{"use strict";Object.defineProperty(cwe,"__esModule",{value:!0});cwe.selectors_scopeMatchASelectorsString=dgn;var lgn=ma();function dgn(e,t){throw new lgn.NotSupportedError}});var X6t=S(pY=>{"use strict";Object.defineProperty(pY,"__esModule",{value:!0});pY.treeWalker_traverseChildren=fgn;pY.treeWalker_traverseSiblings=hgn;var z4=Vn(),uwe=zG();function fgn(e,t){let r=t?e._current._firstChild:e._current._lastChild;for(;r!==null;){let n=(0,uwe.traversal_filter)(e,r);if(n===z4.FilterResult.Accept)return e._current=r,r;if(n===z4.FilterResult.Skip){let s=t?r._firstChild:r._lastChild;if(s!==null){r=s;continue}}for(;r!==null;){let s=t?r._nextSibling:r._previousSibling;if(s!==null){r=s;break}let i=r._parent;if(i===null||i===e._root||i===e._current)return null;r=i}}return null}function hgn(e,t){let r=e._current;if(r===e._root)return null;for(;;){let n=t?r._nextSibling:r._previousSibling;for(;n!==null;){r=n;let s=(0,uwe.traversal_filter)(e,r);if(s===z4.FilterResult.Accept)return e._current=r,r;n=t?r._firstChild:r._lastChild,(s===z4.FilterResult.Reject||n===null)&&(n=t?r._nextSibling:r._previousSibling)}if(r=r._parent,r===null||r===e._root||(0,uwe.traversal_filter)(e,r)===z4.FilterResult.Accept)return null}}});var Cn=S(yn=>{"use strict";var pgn=yn&&yn.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),fs=yn&&yn.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&pgn(t,e,r)};Object.defineProperty(yn,"__esModule",{value:!0});fs(g6t(),yn);fs(w6t(),yn);fs(ewe(),yn);fs(iY(),yn);fs(Fg(),yn);fs(H4(),yn);fs(XG(),yn);fs($g(),yn);fs(B6t(),yn);fs(Bx(),yn);fs(GG(),yn);fs($6t(),yn);fs(WT(),yn);fs(Lx(),yn);fs(Yxe(),yn);fs(swe(),yn);fs(Vxe(),yn);fs(aY(),yn);fs(G6t(),yn);fs(z6t(),yn);fs(W6t(),yn);fs(F4(),yn);fs(owe(),yn);fs(zG(),yn);fs(Ul(),yn);fs(X6t(),yn);fs(cc(),yn);fs(jxe(),yn)});var J6t=S(mY=>{"use strict";Object.defineProperty(mY,"__esModule",{value:!0});mY.nonEntityAmpersandRegex=void 0;mY.nonEntityAmpersandRegex=/&(?![A-Za-z]+;|#\d+;)/g});var Kx=S(gY=>{"use strict";Object.defineProperty(gY,"__esModule",{value:!0});gY.BaseWriter=void 0;var hc=Vn(),mgn=D4(),ggn=xK(),jg=ra(),op=Cn(),Z6t=J6t(),lwe=class e{static _VoidElementNames=new Set(["area","base","basefont","bgsound","br","col","embed","frame","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"]);_builderOptions;_writerOptions;constructor(t){this._builderOptions=t}declaration(t,r,n){}docType(t,r,n){}comment(t){}text(t){}instruction(t,r){}cdata(t){}openTagBegin(t){}openTagEnd(t,r,n){}closeTag(t){}attributes(t){for(let r of t)this.attribute(r[1]===null?r[2]:r[1]+":"+r[2],r[3])}attribute(t,r){}beginElement(t){}endElement(t){}level=0;currentNode;serializeNode(t,r){let n=t._nodeDocument!==void 0&&t._nodeDocument._hasNamespaces;if(this.level=0,this.currentNode=t,n){let s=null,i=new ggn.NamespacePrefixMap;i.set("xml",jg.namespace.XML);let a={value:1};this._serializeNodeNS(t,s,i,a,r)}else this._serializeNode(t,r)}_serializeNodeNS(t,r,n,s,i){switch(this.currentNode=t,t.nodeType){case hc.NodeType.Element:this._serializeElementNS(t,r,n,s,i);break;case hc.NodeType.Document:this._serializeDocumentNS(t,r,n,s,i);break;case hc.NodeType.Comment:this._serializeComment(t,i);break;case hc.NodeType.Text:this._serializeText(t,i);break;case hc.NodeType.DocumentFragment:this._serializeDocumentFragmentNS(t,r,n,s,i);break;case hc.NodeType.DocumentType:this._serializeDocumentType(t,i);break;case hc.NodeType.ProcessingInstruction:this._serializeProcessingInstruction(t,i);break;case hc.NodeType.CData:this._serializeCData(t,i);break;default:throw new Error(`Unknown node type: ${t.nodeType}`)}}_serializeNode(t,r){switch(this.currentNode=t,t.nodeType){case hc.NodeType.Element:this._serializeElement(t,r);break;case hc.NodeType.Document:this._serializeDocument(t,r);break;case hc.NodeType.Comment:this._serializeComment(t,r);break;case hc.NodeType.Text:this._serializeText(t,r);break;case hc.NodeType.DocumentFragment:this._serializeDocumentFragment(t,r);break;case hc.NodeType.DocumentType:this._serializeDocumentType(t,r);break;case hc.NodeType.ProcessingInstruction:this._serializeProcessingInstruction(t,r);break;case hc.NodeType.CData:this._serializeCData(t,r);break;default:throw new Error(`Unknown node type: ${t.nodeType}`)}}_serializeElementNS(t,r,n,s,i){let a=[];if(i&&(t.localName.indexOf(":")!==-1||!(0,op.xml_isName)(t.localName)))throw new Error("Node local name contains invalid characters (well-formed required).");let o="",c=!1,u=!1,l=n.copy(),d={},f=this._recordNamespaceInformation(t,l,d),h=r,p=t.namespaceURI;if(h===p)f!==null&&(u=!0),p===jg.namespace.XML?o="xml:"+t.localName:o=t.localName,this.beginElement(o),this.openTagBegin(o);else{let g=t.prefix,_=null;if((g!==null||p!==f)&&(_=l.get(g,p)),g==="xmlns"){if(i)throw new Error("An element cannot have the 'xmlns' prefix (well-formed required).");_=g}_!==null?(o=_+":"+t.localName,f!==null&&f!==jg.namespace.XML&&(h=f||null),this.beginElement(o),this.openTagBegin(o)):g!==null?(g in d&&(g=this._generatePrefix(p,l,s)),l.set(g,p),o+=g+":"+t.localName,this.beginElement(o),this.openTagBegin(o),a.push([null,"xmlns",g,this._serializeAttributeValue(p,i)]),f!==null&&(h=f||null)):f===null||f!==null&&f!==p?(u=!0,o+=t.localName,h=p,this.beginElement(o),this.openTagBegin(o),a.push([null,null,"xmlns",this._serializeAttributeValue(p,i)])):(o+=t.localName,h=p,this.beginElement(o),this.openTagBegin(o))}a.push(...this._serializeAttributesNS(t,l,s,d,u,i)),this.attributes(a);let m=p===jg.namespace.HTML;if(m&&t.childNodes.length===0&&e._VoidElementNames.has(t.localName)?(this.openTagEnd(o,!0,!0),this.endElement(o),c=!0):!m&&t.childNodes.length===0?(this.openTagEnd(o,!0,!1),this.endElement(o),c=!0):this.openTagEnd(o,!1,!1),!c){if(!(m&&t.localName==="template"))for(let g of t.childNodes)this.level++,this._serializeNodeNS(g,h,l,s,i),this.level--;this.closeTag(o),this.endElement(o)}}_serializeElement(t,r){if(r&&(t.localName.indexOf(":")!==-1||!(0,op.xml_isName)(t.localName)))throw new Error("Node local name contains invalid characters (well-formed required).");let n=!1,s=t.localName;this.beginElement(s),this.openTagBegin(s);let i=this._serializeAttributes(t,r);if(this.attributes(i),t.hasChildNodes()?this.openTagEnd(s,!1,!1):(this.openTagEnd(s,!0,!1),this.endElement(s),n=!0),!n){for(let a of t._children)this.level++,this._serializeNode(a,r),this.level--;this.closeTag(s),this.endElement(s)}}_serializeDocumentNS(t,r,n,s,i){if(i&&t.documentElement===null)throw new Error("Missing document element (well-formed required).");for(let a of t.childNodes)this._serializeNodeNS(a,r,n,s,i)}_serializeDocument(t,r){if(r&&t.documentElement===null)throw new Error("Missing document element (well-formed required).");for(let n of t._children)this._serializeNode(n,r)}_serializeComment(t,r){if(r&&(!(0,op.xml_isLegalChar)(t.data)||t.data.indexOf("--")!==-1||t.data.endsWith("-")))throw new Error("Comment data contains invalid characters (well-formed required).");this.comment(t.data)}_serializeText(t,r){if(r&&!(0,op.xml_isLegalChar)(t.data))throw new Error("Text data contains invalid characters (well-formed required).");let n=t.data.replace(Z6t.nonEntityAmpersandRegex,"&").replace(//g,">");this.text(n)}_serializeDocumentFragmentNS(t,r,n,s,i){for(let a of t.childNodes)this._serializeNodeNS(a,r,n,s,i)}_serializeDocumentFragment(t,r){for(let n of t._children)this._serializeNode(n,r)}_serializeDocumentType(t,r){if(r&&!(0,op.xml_isPubidChar)(t.publicId))throw new Error("DocType public identifier does not match PubidChar construct (well-formed required).");if(r&&(!(0,op.xml_isLegalChar)(t.systemId)||t.systemId.indexOf('"')!==-1&&t.systemId.indexOf("'")!==-1))throw new Error("DocType system identifier contains invalid characters (well-formed required).");this.docType(t.name,t.publicId,t.systemId)}_serializeProcessingInstruction(t,r){if(r&&(t.target.indexOf(":")!==-1||/^xml$/i.test(t.target)))throw new Error("Processing instruction target contains invalid characters (well-formed required).");if(r&&(!(0,op.xml_isLegalChar)(t.data)||t.data.indexOf("?>")!==-1))throw new Error("Processing instruction data contains invalid characters (well-formed required).");this.instruction(t.target,t.data)}_serializeCData(t,r){if(r&&t.data.indexOf("]]>")!==-1)throw new Error("CDATA contains invalid characters (well-formed required).");this.cdata(t.data)}_serializeAttributesNS(t,r,n,s,i,a){let o=[],c=a?new mgn.LocalNameSet:void 0;for(let u of t.attributes){if(!a&&!i&&u.namespaceURI===null){o.push([null,null,u.localName,this._serializeAttributeValue(u.value,a)]);continue}if(a&&c&&c.has(u.namespaceURI,u.localName))throw new Error("Element contains duplicate attributes (well-formed required).");a&&c&&c.set(u.namespaceURI,u.localName);let l=u.namespaceURI,d=null;if(l!==null)if(d=r.get(u.prefix,l),l===jg.namespace.XMLNS){if(u.value===jg.namespace.XML||u.prefix===null&&i||u.prefix!==null&&(!(u.localName in s)||s[u.localName]!==u.value)&&r.has(u.localName,u.value))continue;if(a&&u.value===jg.namespace.XMLNS)throw new Error("XMLNS namespace is reserved (well-formed required).");if(a&&u.value==="")throw new Error("Namespace prefix declarations cannot be used to undeclare a namespace (well-formed required).");u.prefix==="xmlns"&&(d="xmlns")}else d===null&&(u.prefix!==null&&(!r.hasPrefix(u.prefix)||r.has(u.prefix,l))?d=u.prefix:d=this._generatePrefix(l,r,n),o.push([null,"xmlns",d,this._serializeAttributeValue(l,a)]));let f="";if(d!==null&&(f=d),a&&(u.localName.indexOf(":")!==-1||!(0,op.xml_isName)(u.localName)||u.localName==="xmlns"&&l===null))throw new Error("Attribute local name contains invalid characters (well-formed required).");o.push([l,d,u.localName,this._serializeAttributeValue(u.value,a)])}return o}_serializeAttributes(t,r){let n=[],s=r?{}:void 0;for(let i of t.attributes){if(!r){n.push([null,null,i.localName,this._serializeAttributeValue(i.value,r)]);continue}if(r&&s&&i.localName in s)throw new Error("Element contains duplicate attributes (well-formed required).");if(r&&s&&(s[i.localName]=!0),r&&(i.localName.indexOf(":")!==-1||!(0,op.xml_isName)(i.localName)))throw new Error("Attribute local name contains invalid characters (well-formed required).");n.push([null,null,i.localName,this._serializeAttributeValue(i.value,r)])}return n}_recordNamespaceInformation(t,r,n){let s=null;for(let i of t.attributes){let a=i.namespaceURI,o=i.prefix;if(a===jg.namespace.XMLNS)if(o===null){s=i.value;continue}else{let c=i.localName,u=i.value;if(u===jg.namespace.XML||(u===""&&(u=null),r.has(c,u)))continue;r.set(c,u),n[c]=u||""}}return s}_generatePrefix(t,r,n){let s="ns"+n.value.toString();return n.value++,r.set(s,t),s}_serializeAttributeValue(t,r){if(r&&t!==null&&!(0,op.xml_isLegalChar)(t))throw new Error("Invalid characters in attribute value.");return t===null?"":t.replace(Z6t.nonEntityAmpersandRegex,"&").replace(//g,">").replace(/"/g,""")}};gY.BaseWriter=lwe});var W4=S(_Y=>{"use strict";Object.defineProperty(_Y,"__esModule",{value:!0});_Y.ObjectWriter=void 0;var cp=Yn(),zE=Vn(),_gn=Kx(),dwe=class extends _gn.BaseWriter{_currentList;_currentIndex;_listRegister;constructor(t,r){super(t),this._writerOptions=(0,cp.applyDefaults)(r,{format:"object",wellFormed:!1,group:!1,verbose:!1})}serialize(t){return this._currentList=[],this._currentIndex=0,this._listRegister=[this._currentList],this.serializeNode(t,this._writerOptions.wellFormed),this._process(this._currentList,this._writerOptions)}_process(t,r){if(t.length===0)return{};let n={},s=!1,i=0,a=0,o=0,c=0;for(let p=0;p2)for(let o of t){let c=s+(a++).toString();r[c]=o}else{let o=i>1?s+(a++).toString():s;r[o]=t}return a}beginElement(t){let r=[];if(this._currentList.length===0)this._currentList.push({[t]:r});else{let n=this._currentList[this._currentList.length-1];this._isElementNode(n,t)?n[t].length!==0&&(0,cp.isArray)(n[t][0])?n[t].push(r):n[t]=[n[t],r]:this._currentList.push({[t]:r})}this._currentIndex++,this._listRegister.length>this._currentIndex?this._listRegister[this._currentIndex]=r:this._listRegister.push(r),this._currentList=r}endElement(){this._currentList=this._listRegister[--this._currentIndex]}attribute(t,r){if(this._currentList.length===0)this._currentList.push({"@":{[t]:r}});else{let n=this._currentList[this._currentList.length-1];this._isAttrNode(n)?n["@"][t]=r:this._currentList.push({"@":{[t]:r}})}}comment(t){if(this._currentList.length===0)this._currentList.push({"!":t});else{let r=this._currentList[this._currentList.length-1];this._isCommentNode(r)?(0,cp.isArray)(r["!"])?r["!"].push(t):r["!"]=[r["!"],t]:this._currentList.push({"!":t})}}text(t){if(this._currentList.length===0)this._currentList.push({"#":t});else{let r=this._currentList[this._currentList.length-1];this._isTextNode(r)?(0,cp.isArray)(r["#"])?r["#"].push(t):r["#"]=[r["#"],t]:this._currentList.push({"#":t})}}instruction(t,r){let n=r===""?t:t+" "+r;if(this._currentList.length===0)this._currentList.push({"?":n});else{let s=this._currentList[this._currentList.length-1];this._isInstructionNode(s)?(0,cp.isArray)(s["?"])?s["?"].push(n):s["?"]=[s["?"],n]:this._currentList.push({"?":n})}}cdata(t){if(this._currentList.length===0)this._currentList.push({$:t});else{let r=this._currentList[this._currentList.length-1];this._isCDATANode(r)?(0,cp.isArray)(r.$)?r.$.push(t):r.$=[r.$,t]:this._currentList.push({$:t})}}_isAttrNode(t){return"@"in t}_isTextNode(t){return"#"in t}_isCommentNode(t){return"!"in t}_isInstructionNode(t){return"?"in t}_isCDATANode(t){return"$"in t}_isElementNode(t,r){return r in t}_getAttrKey(){return this._builderOptions.convert.att}_getNodeKey(t){switch(t){case zE.NodeType.Comment:return this._builderOptions.convert.comment;case zE.NodeType.Text:return this._builderOptions.convert.text;case zE.NodeType.ProcessingInstruction:return this._builderOptions.convert.ins;case zE.NodeType.CData:return this._builderOptions.convert.cdata;default:throw new Error("Invalid node type.")}}};_Y.ObjectWriter=dwe});var e8t=S(EY=>{"use strict";Object.defineProperty(EY,"__esModule",{value:!0});EY.MapWriter=void 0;var AY=Yn(),Agn=W4(),Egn=Kx(),fwe=class extends Egn.BaseWriter{constructor(t,r){super(t),this._writerOptions=(0,AY.applyDefaults)(r,{format:"map",wellFormed:!1,group:!1,verbose:!1})}serialize(t){let r=(0,AY.applyDefaults)(this._writerOptions,{format:"object",wellFormed:!1,verbose:!1}),s=new Agn.ObjectWriter(this._builderOptions,r).serialize(t);return this._convertObject(s)}_convertObject(t){if((0,AY.isArray)(t)){for(let r=0;r{"use strict";Object.defineProperty(yY,"__esModule",{value:!0});yY.XMLWriter=void 0;var ygn=Yn(),vgn=Vn(),Sgn=Kx(),t8t=ds(),hwe=class extends Sgn.BaseWriter{_refs;_indentation={};_lengthToLastNewline=0;constructor(t,r){super(t),this._writerOptions=(0,ygn.applyDefaults)(r,{wellFormed:!1,headless:!1,prettyPrint:!1,indent:" ",newline:` +`,offset:0,width:0,allowEmptyTags:!1,indentTextOnlyNodes:!1,spaceBeforeSlash:!1})}serialize(t){return this._refs={suppressPretty:!1,emptyNode:!1,markup:""},t.nodeType===vgn.NodeType.Document&&!this._writerOptions.headless&&this.declaration(this._builderOptions.version,this._builderOptions.encoding,this._builderOptions.standalone),this.serializeNode(t,this._writerOptions.wellFormed),this._writerOptions.prettyPrint&&this._refs.markup.slice(-this._writerOptions.newline.length)===this._writerOptions.newline&&(this._refs.markup=this._refs.markup.slice(0,-this._writerOptions.newline.length)),this._refs.markup}declaration(t,r,n){this._beginLine(),this._refs.markup+='",this._endLine()}docType(t,r,n){this._beginLine(),r&&n?this._refs.markup+="':r?this._refs.markup+="':n?this._refs.markup+="':this._refs.markup+="",this._endLine()}openTagBegin(t){this._beginLine(),this._refs.markup+="<"+t}openTagEnd(t,r,n){if(this._refs.suppressPretty=!1,this._refs.emptyNode=!1,this._writerOptions.prettyPrint&&!r&&!n){let s=!0,i=!0,a=this.currentNode.firstChild,o=0,c=0;for(;a;){if(t8t.Guard.isExclusiveTextNode(a))c++;else if(t8t.Guard.isCDATASectionNode(a))o++;else{s=!1,i=!1;break}a.data!==""&&(i=!1),a=a.nextSibling}this._refs.suppressPretty=!this._writerOptions.indentTextOnlyNodes&&s&&(o<=1&&c===0||o===0),this._refs.emptyNode=i}(n||r||this._refs.emptyNode)&&this._writerOptions.allowEmptyTags?this._refs.markup+=">":this._refs.markup+=n?" />":r||this._refs.emptyNode?this._writerOptions.spaceBeforeSlash?" />":"/>":">",this._endLine()}closeTag(t){this._refs.emptyNode||(this._beginLine(),this._refs.markup+=""),this._refs.suppressPretty=!1,this._refs.emptyNode=!1,this._endLine()}attribute(t,r){let n=t+'="'+r+'"';this._writerOptions.prettyPrint&&this._writerOptions.width>0&&this._refs.markup.length-this._lengthToLastNewline+1+n.length>this._writerOptions.width?(this._endLine(),this._beginLine(),this._refs.markup+=this._indent(1)+n):this._refs.markup+=" "+n}text(t){t!==""&&(this._beginLine(),this._refs.markup+=t,this._endLine())}cdata(t){t!==""&&(this._beginLine(),this._refs.markup+="",this._endLine())}comment(t){this._beginLine(),this._refs.markup+="",this._endLine()}instruction(t,r){this._beginLine(),this._refs.markup+="",this._endLine()}_beginLine(){this._writerOptions.prettyPrint&&!this._refs.suppressPretty&&(this._refs.markup+=this._indent(this._writerOptions.offset+this.level))}_endLine(){this._writerOptions.prettyPrint&&!this._refs.suppressPretty&&(this._refs.markup+=this._writerOptions.newline,this._lengthToLastNewline=this._refs.markup.length)}_indent(t){if(t<=0)return"";if(this._indentation[t]!==void 0)return this._indentation[t];{let r=this._writerOptions.indent.repeat(t);return this._indentation[t]=r,r}}};yY.XMLWriter=hwe});var n8t=S(vY=>{"use strict";Object.defineProperty(vY,"__esModule",{value:!0});vY.JSONWriter=void 0;var Tgn=W4(),up=Yn(),bgn=Kx(),pwe=class extends bgn.BaseWriter{constructor(t,r){super(t),this._writerOptions=(0,up.applyDefaults)(r,{wellFormed:!1,prettyPrint:!1,indent:" ",newline:` +`,offset:0,group:!1,verbose:!1})}serialize(t){let r=(0,up.applyDefaults)(this._writerOptions,{format:"object",wellFormed:!1}),s=new Tgn.ObjectWriter(this._builderOptions,r).serialize(t);return this._beginLine(this._writerOptions,0)+this._convertObject(s,this._writerOptions)}_convertObject(t,r,n=0){let s="",i=this._isLeafNode(t);if((0,up.isArray)(t)){s+="[";let a=t.length,o=0;for(let c of t)s+=this._endLine(r,n+1)+this._beginLine(r,n+1)+this._convertObject(c,r,n+1),o{i&&r.prettyPrint?s+=" ":s+=this._endLine(r,n+1)+this._beginLine(r,n+1),s+=this._key(c),r.prettyPrint&&(s+=" "),s+=this._convertObject(u,r,n+1),o0)return new Array(n).join(t.indent)}else return"";return""}_endLine(t,r){return t.prettyPrint?t.newline:""}_key(t){return'"'+t+'":'}_val(t){return JSON.stringify(t)}_isLeafNode(t){return this._descendantCount(t)<=1}_descendantCount(t,r=0){return(0,up.isArray)(t)?(0,up.forEachArray)(t,n=>r+=this._descendantCount(n,r),this):(0,up.isObject)(t)?(0,up.forEachObject)(t,(n,s)=>r+=this._descendantCount(s,r),this):r++,r}};vY.JSONWriter=pwe});var s8t=S(SY=>{"use strict";Object.defineProperty(SY,"__esModule",{value:!0});SY.YAMLWriter=void 0;var Ign=W4(),Kg=Yn(),Rgn=Kx(),mwe=class extends Rgn.BaseWriter{constructor(t,r){if(super(t),this._writerOptions=(0,Kg.applyDefaults)(r,{wellFormed:!1,indent:" ",newline:` +`,offset:0,group:!1,verbose:!1}),this._writerOptions.indent.length<2)throw new Error("YAML indententation string must be at least two characters long.");if(this._writerOptions.offset<0)throw new Error("YAML offset should be zero or a positive number.")}serialize(t){let r=(0,Kg.applyDefaults)(this._writerOptions,{format:"object",wellFormed:!1}),s=new Ign.ObjectWriter(this._builderOptions,r).serialize(t),i=this._beginLine(this._writerOptions,0)+"---"+this._endLine(this._writerOptions)+this._convertObject(s,this._writerOptions,0);return i.slice(-this._writerOptions.newline.length)===this._writerOptions.newline&&(i=i.slice(0,-this._writerOptions.newline.length)),i}_convertObject(t,r,n,s=!1){let i="";if((0,Kg.isArray)(t))for(let a of t)i+=this._beginLine(r,n,!0),(0,Kg.isObject)(a)?(0,Kg.isEmpty)(a)?i+='""'+this._endLine(r):i+=this._convertObject(a,r,n,!0):i+=this._val(a)+this._endLine(r);else(0,Kg.forEachObject)(t,(a,o)=>{s?(i+=this._key(a),s=!1):i+=this._beginLine(r,n)+this._key(a),!(0,Kg.isObject)(o)&&!(0,Kg.isArray)(o)?i+=" "+this._val(o)+this._endLine(r):(0,Kg.isEmpty)(o)?i+=' ""'+this._endLine(r):i+=this._endLine(r)+this._convertObject(o,r,n+1)},this);return i}_beginLine(t,r,n=!1){let s=t.offset+r+1,i=new Array(s).join(t.indent);return n?i.substr(0,i.length-2)+"-"+i.substr(-1,1):i}_endLine(t){return t.newline}_key(t){return'"'+t+'":'}_val(t){return JSON.stringify(t)}};SY.YAMLWriter=mwe});var i8t=S(ef=>{"use strict";Object.defineProperty(ef,"__esModule",{value:!0});ef.YAMLWriter=ef.JSONWriter=ef.ObjectWriter=ef.XMLWriter=ef.MapWriter=void 0;var Cgn=e8t();Object.defineProperty(ef,"MapWriter",{enumerable:!0,get:function(){return Cgn.MapWriter}});var xgn=r8t();Object.defineProperty(ef,"XMLWriter",{enumerable:!0,get:function(){return xgn.XMLWriter}});var wgn=W4();Object.defineProperty(ef,"ObjectWriter",{enumerable:!0,get:function(){return wgn.ObjectWriter}});var Ngn=n8t();Object.defineProperty(ef,"JSONWriter",{enumerable:!0,get:function(){return Ngn.JSONWriter}});var Ogn=s8t();Object.defineProperty(ef,"YAMLWriter",{enumerable:!0,get:function(){return Ogn.YAMLWriter}})});var a8t=S(bY=>{"use strict";Object.defineProperty(bY,"__esModule",{value:!0});bY.ChildNodeImpl=void 0;var TY=ds(),WE=Cn(),gwe=class{before(...t){let r=TY.Cast.asNode(this),n=r._parent;if(n===null)return;let s=r._previousSibling,i=!0;for(;i&&s;){i=!1;for(let o=0;o{"use strict";Object.defineProperty(IY,"__esModule",{value:!0});IY.DocumentOrShadowRootImpl=void 0;var _we=class{};IY.DocumentOrShadowRootImpl=_we});var c8t=S(RY=>{"use strict";Object.defineProperty(RY,"__esModule",{value:!0});RY.MutationObserverImpl=void 0;var Dgn=Vi(),Pgn=ds(),Awe=ra(),Ewe=class{_callback;_nodeList=[];_recordQueue=[];constructor(t){this._callback=t;let r=Dgn.dom.window;Awe.set.append(r._mutationObservers,this)}observe(t,r){if(r=r||{childList:!1,subtree:!1},(r.attributeOldValue!==void 0||r.attributeFilter!==void 0)&&r.attributes===void 0&&(r.attributes=!0),r.characterDataOldValue!==void 0&&r.characterData===void 0&&(r.characterData=!0),!r.childList&&!r.attributes&&!r.characterData)throw new TypeError;if(r.attributeOldValue&&!r.attributes)throw new TypeError;if(r.attributeFilter!==void 0&&!r.attributes)throw new TypeError;if(r.characterDataOldValue&&!r.characterData)throw new TypeError;let n=!1,s=r;for(let i of t._registeredObserverList)if(i.observer===this){n=!0;for(let a of this._nodeList)Awe.list.remove(a._registeredObserverList,o=>Pgn.Guard.isTransientRegisteredObserver(o)&&o.source===i);i.options=s}n||(t._registeredObserverList.push({observer:this,options:r}),this._nodeList.push(t))}disconnect(){for(let t of this._nodeList)Awe.list.remove(t._registeredObserverList,r=>r.observer===this);this._recordQueue=[]}takeRecords(){let t=this._recordQueue;return this._recordQueue=[],t}};RY.MutationObserverImpl=Ewe});var u8t=S(xY=>{"use strict";Object.defineProperty(xY,"__esModule",{value:!0});xY.NonDocumentTypeChildNodeImpl=void 0;var CY=ds(),ywe=class{get previousElementSibling(){let t=CY.Cast.asNode(this)._previousSibling;for(;t;){if(CY.Guard.isElementNode(t))return t;t=t._previousSibling}return null}get nextElementSibling(){let t=CY.Cast.asNode(this)._nextSibling;for(;t;){if(CY.Guard.isElementNode(t))return t;t=t._nextSibling}return null}};xY.NonDocumentTypeChildNodeImpl=ywe});var d8t=S(NY=>{"use strict";Object.defineProperty(NY,"__esModule",{value:!0});NY.NonElementParentNodeImpl=void 0;var wY=ds(),l8t=Cn(),vwe=class{getElementById(t){let r=(0,l8t.tree_getFirstDescendantNode)(wY.Cast.asNode(this),!1,!1,n=>wY.Guard.isElementNode(n));for(;r!==null;){if(r._uniqueIdentifier===t)return r;r=(0,l8t.tree_getNextDescendantNode)(wY.Cast.asNode(this),r,!1,!1,n=>wY.Guard.isElementNode(n))}return null}};NY.NonElementParentNodeImpl=vwe});var f8t=S(OY=>{"use strict";Object.defineProperty(OY,"__esModule",{value:!0});OY.ParentNodeImpl=void 0;var v0=ds(),XE=Cn(),Swe=class{get children(){return(0,XE.create_htmlCollection)(v0.Cast.asNode(this))}get firstElementChild(){let t=v0.Cast.asNode(this)._firstChild;for(;t;){if(v0.Guard.isElementNode(t))return t;t=t._nextSibling}return null}get lastElementChild(){let t=v0.Cast.asNode(this)._lastChild;for(;t;){if(v0.Guard.isElementNode(t))return t;t=t._previousSibling}return null}get childElementCount(){let t=0;for(let r of v0.Cast.asNode(this)._children)v0.Guard.isElementNode(r)&&t++;return t}prepend(...t){let r=v0.Cast.asNode(this),n=(0,XE.parentNode_convertNodesIntoANode)(t,r._nodeDocument);(0,XE.mutation_preInsert)(n,r,r._firstChild)}append(...t){let r=v0.Cast.asNode(this),n=(0,XE.parentNode_convertNodesIntoANode)(t,r._nodeDocument);(0,XE.mutation_append)(n,r)}querySelector(t){let r=v0.Cast.asNode(this),n=(0,XE.selectors_scopeMatchASelectorsString)(t,r);return n.length===0?null:n[0]}querySelectorAll(t){let r=v0.Cast.asNode(this),n=(0,XE.selectors_scopeMatchASelectorsString)(t,r);return(0,XE.create_nodeListStatic)(r,n)}};OY.ParentNodeImpl=Swe});var h8t=S(DY=>{"use strict";Object.defineProperty(DY,"__esModule",{value:!0});DY.SlotableImpl=void 0;var Lgn=Cn(),Twe=class{__name;__assignedSlot;get _name(){return this.__name||""}set _name(t){this.__name=t}get _assignedSlot(){return this.__assignedSlot||null}set _assignedSlot(t){this.__assignedSlot=t}get assignedSlot(){return(0,Lgn.shadowTree_findASlot)(this,!0)}};DY.SlotableImpl=Twe});var p8t=S(LY=>{"use strict";Object.defineProperty(LY,"__esModule",{value:!0});LY.StaticRangeImpl=void 0;var Mgn=CG(),kgn=ma(),PY=ds(),bwe=class extends Mgn.AbstractRangeImpl{_start;_end;constructor(t){if(super(),PY.Guard.isDocumentTypeNode(t.startContainer)||PY.Guard.isAttrNode(t.startContainer)||PY.Guard.isDocumentTypeNode(t.endContainer)||PY.Guard.isAttrNode(t.endContainer))throw new kgn.InvalidNodeTypeError;this._start=[t.startContainer,t.startOffset],this._end=[t.endContainer,t.endOffset]}};LY.StaticRangeImpl=bwe});var kY=S(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.XMLDocument=at.Window=at.TreeWalker=at.Traverser=at.Text=at.StaticRange=at.ShadowRoot=at.Range=at.ProcessingInstruction=at.NodeListStatic=at.NodeList=at.NodeIterator=at.Node=at.NodeFilter=at.NamedNodeMap=at.MutationRecord=at.MutationObserver=at.HTMLCollection=at.EventTarget=at.Event=at.Element=at.DOMTokenList=at.DOMImplementation=at.dom=at.DocumentType=at.Document=at.DocumentFragment=at.CustomEvent=at.Comment=at.CharacterData=at.CDATASection=at.Attr=at.AbstractRange=at.AbortSignal=at.AbortController=void 0;var Ju=Yn(),Bgn=KCe();Object.defineProperty(at,"AbortController",{enumerable:!0,get:function(){return Bgn.AbortControllerImpl}});var Ugn=YCe();Object.defineProperty(at,"AbortSignal",{enumerable:!0,get:function(){return Ugn.AbortSignalImpl}});var Fgn=CG();Object.defineProperty(at,"AbstractRange",{enumerable:!0,get:function(){return Fgn.AbstractRangeImpl}});var $gn=XCe();Object.defineProperty(at,"Attr",{enumerable:!0,get:function(){return $gn.AttrImpl}});var qgn=ZCe();Object.defineProperty(at,"CDATASection",{enumerable:!0,get:function(){return qgn.CDATASectionImpl}});var Iwe=B4();Object.defineProperty(at,"CharacterData",{enumerable:!0,get:function(){return Iwe.CharacterDataImpl}});var Rwe=a8t(),Hgn=exe();Object.defineProperty(at,"Comment",{enumerable:!0,get:function(){return Hgn.CommentImpl}});var Vgn=xxe();Object.defineProperty(at,"CustomEvent",{enumerable:!0,get:function(){return Vgn.CustomEventImpl}});var Cwe=uG();Object.defineProperty(at,"DocumentFragment",{enumerable:!0,get:function(){return Cwe.DocumentFragmentImpl}});var MY=JK();Object.defineProperty(at,"Document",{enumerable:!0,get:function(){return MY.DocumentImpl}});var m8t=o8t(),g8t=QCe();Object.defineProperty(at,"DocumentType",{enumerable:!0,get:function(){return g8t.DocumentTypeImpl}});var jgn=Vi();Object.defineProperty(at,"dom",{enumerable:!0,get:function(){return jgn.dom}});var Kgn=zRe();Object.defineProperty(at,"DOMImplementation",{enumerable:!0,get:function(){return Kgn.DOMImplementationImpl}});var Ggn=Sxe();Object.defineProperty(at,"DOMTokenList",{enumerable:!0,get:function(){return Ggn.DOMTokenListImpl}});var X4=aG();Object.defineProperty(at,"Element",{enumerable:!0,get:function(){return X4.ElementImpl}});var Ygn=qG();Object.defineProperty(at,"Event",{enumerable:!0,get:function(){return Ygn.EventImpl}});var Qgn=P4();Object.defineProperty(at,"EventTarget",{enumerable:!0,get:function(){return Qgn.EventTargetImpl}});var zgn=nxe();Object.defineProperty(at,"HTMLCollection",{enumerable:!0,get:function(){return zgn.HTMLCollectionImpl}});var Wgn=c8t();Object.defineProperty(at,"MutationObserver",{enumerable:!0,get:function(){return Wgn.MutationObserverImpl}});var Xgn=yxe();Object.defineProperty(at,"MutationRecord",{enumerable:!0,get:function(){return Xgn.MutationRecordImpl}});var Jgn=uxe();Object.defineProperty(at,"NamedNodeMap",{enumerable:!0,get:function(){return Jgn.NamedNodeMapImpl}});var Zgn=Axe();Object.defineProperty(at,"NodeFilter",{enumerable:!0,get:function(){return Zgn.NodeFilterImpl}});var e_n=qE();Object.defineProperty(at,"Node",{enumerable:!0,get:function(){return e_n.NodeImpl}});var t_n=mxe();Object.defineProperty(at,"NodeIterator",{enumerable:!0,get:function(){return t_n.NodeIteratorImpl}});var r_n=ixe();Object.defineProperty(at,"NodeList",{enumerable:!0,get:function(){return r_n.NodeListImpl}});var n_n=oxe();Object.defineProperty(at,"NodeListStatic",{enumerable:!0,get:function(){return n_n.NodeListStaticImpl}});var _8t=u8t(),A8t=d8t(),xwe=f8t(),s_n=txe();Object.defineProperty(at,"ProcessingInstruction",{enumerable:!0,get:function(){return s_n.ProcessingInstructionImpl}});var i_n=fxe();Object.defineProperty(at,"Range",{enumerable:!0,get:function(){return i_n.RangeImpl}});var E8t=WCe();Object.defineProperty(at,"ShadowRoot",{enumerable:!0,get:function(){return E8t.ShadowRootImpl}});var y8t=h8t(),a_n=p8t();Object.defineProperty(at,"StaticRange",{enumerable:!0,get:function(){return a_n.StaticRangeImpl}});var v8t=mG();Object.defineProperty(at,"Text",{enumerable:!0,get:function(){return v8t.TextImpl}});var o_n=OG();Object.defineProperty(at,"Traverser",{enumerable:!0,get:function(){return o_n.TraverserImpl}});var c_n=_xe();Object.defineProperty(at,"TreeWalker",{enumerable:!0,get:function(){return c_n.TreeWalkerImpl}});var u_n=xCe();Object.defineProperty(at,"Window",{enumerable:!0,get:function(){return u_n.WindowImpl}});var l_n=VCe();Object.defineProperty(at,"XMLDocument",{enumerable:!0,get:function(){return l_n.XMLDocumentImpl}});(0,Ju.applyMixin)(X4.ElementImpl,Rwe.ChildNodeImpl);(0,Ju.applyMixin)(Iwe.CharacterDataImpl,Rwe.ChildNodeImpl);(0,Ju.applyMixin)(g8t.DocumentTypeImpl,Rwe.ChildNodeImpl);(0,Ju.applyMixin)(MY.DocumentImpl,m8t.DocumentOrShadowRootImpl);(0,Ju.applyMixin)(E8t.ShadowRootImpl,m8t.DocumentOrShadowRootImpl);(0,Ju.applyMixin)(X4.ElementImpl,_8t.NonDocumentTypeChildNodeImpl);(0,Ju.applyMixin)(Iwe.CharacterDataImpl,_8t.NonDocumentTypeChildNodeImpl);(0,Ju.applyMixin)(MY.DocumentImpl,A8t.NonElementParentNodeImpl);(0,Ju.applyMixin)(Cwe.DocumentFragmentImpl,A8t.NonElementParentNodeImpl);(0,Ju.applyMixin)(MY.DocumentImpl,xwe.ParentNodeImpl);(0,Ju.applyMixin)(Cwe.DocumentFragmentImpl,xwe.ParentNodeImpl);(0,Ju.applyMixin)(X4.ElementImpl,xwe.ParentNodeImpl);(0,Ju.applyMixin)(v8t.TextImpl,y8t.SlotableImpl);(0,Ju.applyMixin)(X4.ElementImpl,y8t.SlotableImpl)});var UY=S(BY=>{"use strict";Object.defineProperty(BY,"__esModule",{value:!0});BY.TokenType=void 0;var S8t;(function(e){e[e.EOF=0]="EOF",e[e.Declaration=1]="Declaration",e[e.DocType=2]="DocType",e[e.Element=3]="Element",e[e.Text=4]="Text",e[e.CDATA=5]="CDATA",e[e.PI=6]="PI",e[e.Comment=7]="Comment",e[e.ClosingTag=8]="ClosingTag"})(S8t||(BY.TokenType=S8t={}))});var Nwe=S(FY=>{"use strict";Object.defineProperty(FY,"__esModule",{value:!0});FY.XMLStringLexer=void 0;var Jc=UY(),wwe=class e{_str;_index;_length;_options={skipWhitespaceOnlyText:!1};err={line:-1,col:-1,index:-1,str:""};constructor(t,r){this._str=t,this._index=0,this._length=t.length,r&&(this._options.skipWhitespaceOnlyText=r.skipWhitespaceOnlyText||!1)}nextToken(){if(this.eof())return{type:Jc.TokenType.EOF};let t=this.skipIfStartsWith("<")?this.openBracket():this.text();return this._options.skipWhitespaceOnlyText&&t.type===Jc.TokenType.Text&&e.isWhiteSpaceToken(t)&&(t=this.nextToken()),t}openBracket(){if(this.skipIfStartsWith("?"))return this.skipIfStartsWith("xml")?e.isSpace(this._str[this._index])?this.declaration():(this.seek(-3),this.pi()):this.pi();if(this.skipIfStartsWith("!")){if(this.skipIfStartsWith("--"))return this.comment();if(this.skipIfStartsWith("[CDATA["))return this.cdata();if(this.skipIfStartsWith("DOCTYPE"))return this.doctype();this.throwError("Invalid '!' in opening tag.")}else return this.skipIfStartsWith("/")?this.closeTag():this.openTag()}declaration(){let t="",r="",n="";for(;!this.eof();){if(this.skipSpace(),this.skipIfStartsWith("?>"))return{type:Jc.TokenType.Declaration,version:t,encoding:r,standalone:n};{let[s,i]=this.attribute();s==="version"?t=i:s==="encoding"?r=i:s==="standalone"?n=i:this.throwError("Invalid attribute name: "+s)}}this.throwError("Missing declaration end symbol `?>`")}doctype(){let t="",r="";this.skipSpace();let n=this.takeUntil2("[",">",!0);return this.skipSpace(),this.skipIfStartsWith("PUBLIC")?(t=this.quotedString(),r=this.quotedString()):this.skipIfStartsWith("SYSTEM")&&(r=this.quotedString()),this.skipSpace(),this.skipIfStartsWith("[")&&(this.skipUntil("]"),this.skipIfStartsWith("]")||this.throwError("Missing end bracket of DTD internal subset")),this.skipSpace(),this.skipIfStartsWith(">")||this.throwError("Missing doctype end symbol `>`"),{type:Jc.TokenType.DocType,name:n,pubId:t,sysId:r}}pi(){let t=this.takeUntilStartsWith("?>",!0);if(this.eof()&&this.throwError("Missing processing instruction end symbol `?>`"),this.skipSpace(),this.skipIfStartsWith("?>"))return{type:Jc.TokenType.PI,target:t,data:""};let r=this.takeUntilStartsWith("?>");return this.eof()&&this.throwError("Missing processing instruction end symbol `?>`"),this.seek(2),{type:Jc.TokenType.PI,target:t,data:r}}text(){let t=this.takeUntil("<");return{type:Jc.TokenType.Text,data:t}}comment(){let t=this.takeUntilStartsWith("-->");return this.eof()&&this.throwError("Missing comment end symbol `-->`"),this.seek(3),{type:Jc.TokenType.Comment,data:t}}cdata(){let t=this.takeUntilStartsWith("]]>");return this.eof()&&this.throwError("Missing CDATA end symbol `]>`"),this.seek(3),{type:Jc.TokenType.CDATA,data:t}}openTag(){this.skipSpace();let t=this.takeUntil2(">","/",!0);if(this.skipSpace(),this.skipIfStartsWith(">"))return{type:Jc.TokenType.Element,name:t,attributes:[],selfClosing:!1};if(this.skipIfStartsWith("/>"))return{type:Jc.TokenType.Element,name:t,attributes:[],selfClosing:!0};let r=[];for(;!this.eof();){if(this.skipSpace(),this.skipIfStartsWith(">"))return{type:Jc.TokenType.Element,name:t,attributes:r,selfClosing:!1};if(this.skipIfStartsWith("/>"))return{type:Jc.TokenType.Element,name:t,attributes:r,selfClosing:!0};let n=this.attribute();r.push(n)}this.throwError("Missing opening element tag end symbol `>`")}closeTag(){this.skipSpace();let t=this.takeUntil(">",!0);return this.skipSpace(),this.skipIfStartsWith(">")||this.throwError("Missing closing element tag end symbol `>`"),{type:Jc.TokenType.ClosingTag,name:t}}attribute(){this.skipSpace();let t=this.takeUntil("=",!0);this.skipSpace(),this.skipIfStartsWith("=")||this.throwError("Missing equals sign before attribute value");let r=this.quotedString();return[t,r]}quotedString(){this.skipSpace();let t=this.take(1);e.isQuote(t)||this.throwError("Missing start quote character before quoted value");let r=this.takeUntil(t);return this.skipIfStartsWith(t)||this.throwError("Missing end quote character after quoted value"),r}eof(){return this._index>=this._length}skipIfStartsWith(t){let r=t.length;if(r===1)return this._str[this._index]===t?(this._index++,!0):!1;for(let n=0;nthis._length&&(this._index=this._length)}skipSpace(){for(;!this.eof()&&e.isSpace(this._str[this._index]);)this._index++}take(t){if(t===1)return this._str[this._index++];let r=this._index;return this.seek(t),this._str.slice(r,this._index)}takeUntil(t,r=!1){let n=this._index;for(;this._indexthis._index){a=n.index;break}throw this.err={line:s,col:this._index-i,index:this._index,str:this._str.substring(i,a)},new Error(t+` +Index: `+this.err.index+` +Ln: `+this.err.line+", Col: "+this.err.col+` +Input: `+this.err.str)}[Symbol.iterator](){return this._index=0,{next:function(){let t=this.nextToken();return t.type===Jc.TokenType.EOF?{done:!0,value:null}:{done:!1,value:t}}.bind(this)}}};FY.XMLStringLexer=wwe});var T8t=S($Y=>{"use strict";Object.defineProperty($Y,"__esModule",{value:!0});$Y.XMLParserImpl=void 0;var d_n=Nwe(),Gg=UY(),Owe=ra(),tf=Cn(),f_n=D4(),Dwe=class{parse(t){let r=new d_n.XMLStringLexer(t,{skipWhitespaceOnlyText:!0}),n=(0,tf.create_document)(),s=n,i=r.nextToken();for(;i.type!==Gg.TokenType.EOF;){switch(i.type){case Gg.TokenType.Declaration:let a=i;if(a.version!=="1.0")throw new Error("Invalid xml version: "+a.version);break;case Gg.TokenType.DocType:let o=i;if(!(0,tf.xml_isPubidChar)(o.pubId))throw new Error("DocType public identifier does not match PubidChar construct.");if(!(0,tf.xml_isLegalChar)(o.sysId)||o.sysId.indexOf('"')!==-1&&o.sysId.indexOf("'")!==-1)throw new Error("DocType system identifier contains invalid characters.");s.appendChild(n.implementation.createDocumentType(o.name,o.pubId,o.sysId));break;case Gg.TokenType.CDATA:let c=i;if(!(0,tf.xml_isLegalChar)(c.data)||c.data.indexOf("]]>")!==-1)throw new Error("CDATA contains invalid characters.");s.appendChild(n.createCDATASection(c.data));break;case Gg.TokenType.Comment:let u=i;if(!(0,tf.xml_isLegalChar)(u.data)||u.data.indexOf("--")!==-1||u.data.endsWith("-"))throw new Error("Comment data contains invalid characters.");s.appendChild(n.createComment(u.data));break;case Gg.TokenType.PI:let l=i;if(l.target.indexOf(":")!==-1||/^xml$/i.test(l.target))throw new Error("Processing instruction target contains invalid characters.");if(!(0,tf.xml_isLegalChar)(l.data)||l.data.indexOf("?>")!==-1)throw new Error("Processing instruction data contains invalid characters.");s.appendChild(n.createProcessingInstruction(l.target,l.data));break;case Gg.TokenType.Text:let d=i;if(!(0,tf.xml_isLegalChar)(d.data))throw new Error("Text data contains invalid characters.");s.appendChild(n.createTextNode(this._decodeText(d.data)));break;case Gg.TokenType.Element:let f=i,[h,p]=(0,tf.namespace_extractQName)(f.name);if(p.indexOf(":")!==-1||!(0,tf.xml_isName)(p))throw new Error("Node local name contains invalid characters.");if(h==="xmlns")throw new Error("An element cannot have the 'xmlns' prefix.");let m=s.lookupNamespaceURI(h),g={};for(let[A,v]of f.attributes)if(A==="xmlns")m=v;else{let[T,C]=(0,tf.namespace_extractQName)(A);T==="xmlns"&&(C===h&&(m=v),g[C]=v)}let _=m!==null?n.createElementNS(m,f.name):n.createElement(f.name);s.appendChild(_);let y=new f_n.LocalNameSet;for(let[A,v]of f.attributes){let[T,C]=(0,tf.namespace_extractQName)(A),b=null;if(T==="xmlns"||T===null&&C==="xmlns"?b=Owe.namespace.XMLNS:(b=_.lookupNamespaceURI(T),b!==null&&_.isDefaultNamespace(b)?b=null:b===null&&T!==null&&(b=g[T]||null)),y.has(b,C))throw new Error("Element contains duplicate attributes.");if(y.set(b,C),b===Owe.namespace.XMLNS&&v===Owe.namespace.XMLNS)throw new Error("XMLNS namespace is reserved.");if(C.indexOf(":")!==-1||!(0,tf.xml_isName)(C))throw new Error("Attribute local name contains invalid characters.");if(T==="xmlns"&&v==="")throw new Error("Empty XML namespace is not allowed.");b!==null?_.setAttributeNS(b,A,this._decodeAttributeValue(v)):_.setAttribute(A,this._decodeAttributeValue(v))}f.selfClosing||(s=_);break;case Gg.TokenType.ClosingTag:if(i.name!==s.nodeName)throw new Error("Closing tag name does not match opening tag name.");s._parent&&(s=s._parent);break}i=r.nextToken()}return n}_decodeText(t){return t==null?t:t.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")}_decodeAttributeValue(t){return t==null?t:t.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")}};$Y.XMLParserImpl=Dwe});var b8t=S(qY=>{"use strict";Object.defineProperty(qY,"__esModule",{value:!0});qY.DOMParserImpl=void 0;var h_n=Cn(),p_n=T8t(),Pwe=class{parseFromString(t,r){if(r==="text/html")throw new Error("HTML parser not implemented.");try{let s=new p_n.XMLParserImpl().parse(t);return s._contentType=r,s}catch(n){let s="http://www.mozilla.org/newlayout/xml/parsererror.xml",i=(0,h_n.create_xmlDocument)(),a=i.createElementNS(s,"parsererror"),o=i.createElementNS(s,"error");return o.setAttribute("message",n.message),a.appendChild(o),i.appendChild(a),i}}};qY.DOMParserImpl=Pwe});var I8t=S(HY=>{"use strict";Object.defineProperty(HY,"__esModule",{value:!0});HY.DOMParser=void 0;var m_n=b8t();Object.defineProperty(HY,"DOMParser",{enumerable:!0,get:function(){return m_n.DOMParserImpl}})});var C8t=S(VY=>{"use strict";Object.defineProperty(VY,"__esModule",{value:!0});VY.XMLSerializerImpl=void 0;var pc=Vn(),g_n=D4(),__n=xK(),R8t=ma(),Yg=ra(),lp=Cn(),Lwe=class e{static _VoidElementNames=new Set(["area","base","basefont","bgsound","br","col","embed","frame","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"]);serializeToString(t){return this._xmlSerialization(t,!1)}_xmlSerialization(t,r){if(t._nodeDocument===void 0||t._nodeDocument._hasNamespaces){let s=new __n.NamespacePrefixMap;s.set("xml",Yg.namespace.XML);let i={value:1};try{return this._serializeNodeNS(t,null,s,i,r)}catch{throw new R8t.InvalidStateError}}else try{return this._serializeNode(t,r)}catch{throw new R8t.InvalidStateError}}_serializeNodeNS(t,r,n,s,i){switch(t.nodeType){case pc.NodeType.Element:return this._serializeElementNS(t,r,n,s,i);case pc.NodeType.Document:return this._serializeDocumentNS(t,r,n,s,i);case pc.NodeType.Comment:return this._serializeComment(t,i);case pc.NodeType.Text:return this._serializeText(t,i);case pc.NodeType.DocumentFragment:return this._serializeDocumentFragmentNS(t,r,n,s,i);case pc.NodeType.DocumentType:return this._serializeDocumentType(t,i);case pc.NodeType.ProcessingInstruction:return this._serializeProcessingInstruction(t,i);case pc.NodeType.CData:return this._serializeCData(t,i);default:throw new Error(`Unknown node type: ${t.nodeType}`)}}_serializeNode(t,r){switch(t.nodeType){case pc.NodeType.Element:return this._serializeElement(t,r);case pc.NodeType.Document:return this._serializeDocument(t,r);case pc.NodeType.Comment:return this._serializeComment(t,r);case pc.NodeType.Text:return this._serializeText(t,r);case pc.NodeType.DocumentFragment:return this._serializeDocumentFragment(t,r);case pc.NodeType.DocumentType:return this._serializeDocumentType(t,r);case pc.NodeType.ProcessingInstruction:return this._serializeProcessingInstruction(t,r);case pc.NodeType.CData:return this._serializeCData(t,r);default:throw new Error(`Unknown node type: ${t.nodeType}`)}}_serializeElementNS(t,r,n,s,i){if(i&&(t.localName.indexOf(":")!==-1||!(0,lp.xml_isName)(t.localName)))throw new Error("Node local name contains invalid characters (well-formed required).");let a="<",o="",c=!1,u=!1,l=n.copy(),d={},f=this._recordNamespaceInformation(t,l,d),h=r,p=t.namespaceURI;if(h===p)f!==null&&(u=!0),p===Yg.namespace.XML?o="xml:"+t.localName:o=t.localName,a+=o;else{let g=t.prefix,_=null;if((g!==null||p!==f)&&(_=l.get(g,p)),g==="xmlns"){if(i)throw new Error("An element cannot have the 'xmlns' prefix (well-formed required).");_=g}_!==null?(o=_+":"+t.localName,f!==null&&f!==Yg.namespace.XML&&(h=f||null),a+=o):g!==null?(g in d&&(g=this._generatePrefix(p,l,s)),l.set(g,p),o+=g+":"+t.localName,a+=o,a+=" xmlns:"+g+'="'+this._serializeAttributeValue(p,i)+'"',f!==null&&(h=f||null)):f===null||f!==null&&f!==p?(u=!0,o+=t.localName,h=p,a+=o,a+=' xmlns="'+this._serializeAttributeValue(p,i)+'"'):(o+=t.localName,h=p,a+=o)}a+=this._serializeAttributesNS(t,l,s,d,u,i);let m=p===Yg.namespace.HTML;if(m&&t.childNodes.length===0&&e._VoidElementNames.has(t.localName)?(a+=" /",c=!0):!m&&t.childNodes.length===0&&(a+="/",c=!0),a+=">",c)return a;if(!(m&&t.localName==="template"))for(let g of t._children||t.childNodes)a+=this._serializeNodeNS(g,h,l,s,i);return a+="",a}_serializeDocumentNS(t,r,n,s,i){if(i&&t.documentElement===null)throw new Error("Missing document element (well-formed required).");let a="";for(let o of t._children||t.childNodes)a+=this._serializeNodeNS(o,r,n,s,i);return a}_serializeComment(t,r){if(r&&(!(0,lp.xml_isLegalChar)(t.data)||t.data.indexOf("--")!==-1||t.data.endsWith("-")))throw new Error("Comment data contains invalid characters (well-formed required).");return""}_serializeText(t,r){if(r&&!(0,lp.xml_isLegalChar)(t.data))throw new Error("Text data contains invalid characters (well-formed required).");let n="";for(let s=0;s"?n+=">":n+=i}return n}_serializeDocumentFragmentNS(t,r,n,s,i){let a="";for(let o of t._children||t.childNodes)a+=this._serializeNodeNS(o,r,n,s,i);return a}_serializeDocumentType(t,r){if(r&&!(0,lp.xml_isPubidChar)(t.publicId))throw new Error("DocType public identifier does not match PubidChar construct (well-formed required).");if(r&&(!(0,lp.xml_isLegalChar)(t.systemId)||t.systemId.indexOf('"')!==-1&&t.systemId.indexOf("'")!==-1))throw new Error("DocType system identifier contains invalid characters (well-formed required).");return t.publicId&&t.systemId?"':t.publicId?"':t.systemId?"':""}_serializeProcessingInstruction(t,r){if(r&&(t.target.indexOf(":")!==-1||/^xml$/i.test(t.target)))throw new Error("Processing instruction target contains invalid characters (well-formed required).");if(r&&(!(0,lp.xml_isLegalChar)(t.data)||t.data.indexOf("?>")!==-1))throw new Error("Processing instruction data contains invalid characters (well-formed required).");return""}_serializeCData(t,r){if(r&&t.data.indexOf("]]>")!==-1)throw new Error("CDATA contains invalid characters (well-formed required).");return""}_serializeAttributesNS(t,r,n,s,i,a){let o="",c=a?new g_n.LocalNameSet:void 0;for(let u of t.attributes){if(!i&&!a&&u.namespaceURI===null){o+=" "+u.localName+'="'+this._serializeAttributeValue(u.value,a)+'"';continue}if(a&&c&&c.has(u.namespaceURI,u.localName))throw new Error("Element contains duplicate attributes (well-formed required).");a&&c&&c.set(u.namespaceURI,u.localName);let l=u.namespaceURI,d=null;if(l!==null)if(d=r.get(u.prefix,l),l===Yg.namespace.XMLNS){if(u.value===Yg.namespace.XML||u.prefix===null&&i||u.prefix!==null&&(!(u.localName in s)||s[u.localName]!==u.value)&&r.has(u.localName,u.value))continue;if(a&&u.value===Yg.namespace.XMLNS)throw new Error("XMLNS namespace is reserved (well-formed required).");if(a&&u.value==="")throw new Error("Namespace prefix declarations cannot be used to undeclare a namespace (well-formed required).");u.prefix==="xmlns"&&(d="xmlns")}else d===null&&(u.prefix!==null&&(!r.hasPrefix(u.prefix)||r.has(u.prefix,l))?d=u.prefix:d=this._generatePrefix(l,r,n),o+=" xmlns:"+d+'="'+this._serializeAttributeValue(l,a)+'"');if(o+=" ",d!==null&&(o+=d+":"),a&&(u.localName.indexOf(":")!==-1||!(0,lp.xml_isName)(u.localName)||u.localName==="xmlns"&&l===null))throw new Error("Attribute local name contains invalid characters (well-formed required).");o+=u.localName+'="'+this._serializeAttributeValue(u.value,a)+'"'}return o}_recordNamespaceInformation(t,r,n){let s=null;for(let i of t.attributes){let a=i.namespaceURI,o=i.prefix;if(a===Yg.namespace.XMLNS)if(o===null){s=i.value;continue}else{let c=i.localName,u=i.value;if(u===Yg.namespace.XML||(u===""&&(u=null),r.has(c,u)))continue;r.set(c,u),n[c]=u||""}}return s}_generatePrefix(t,r,n){let s="ns"+n.value;return n.value++,r.set(s,t),s}_serializeAttributeValue(t,r){if(r&&t!==null&&!(0,lp.xml_isLegalChar)(t))throw new Error("Invalid characters in attribute value.");if(t===null)return"";let n="";for(let s=0;s"?n+=">":n+=i}return n}_serializeElement(t,r){if(r&&(t.localName.indexOf(":")!==-1||!(0,lp.xml_isName)(t.localName)))throw new Error("Node local name contains invalid characters (well-formed required).");let n=!1,s=t.localName,i="<"+s;if(i+=this._serializeAttributes(t,r),t._children.size===0&&(i+="/",n=!0),i+=">",n)return i;for(let a of t._children)i+=this._serializeNode(a,r);return i+="",i}_serializeDocument(t,r){if(r&&t.documentElement===null)throw new Error("Missing document element (well-formed required).");let n="";for(let s of t._children)n+=this._serializeNode(s,r);return n}_serializeDocumentFragment(t,r){let n="";for(let s of t._children)n+=this._serializeNode(s,r);return n}_serializeAttributes(t,r){let n="",s=r?{}:void 0;for(let i of t.attributes){if(r&&s&&i.localName in s)throw new Error("Element contains duplicate attributes (well-formed required).");if(r&&s&&(s[i.localName]=!0),r&&(i.localName.indexOf(":")!==-1||!(0,lp.xml_isName)(i.localName)))throw new Error("Attribute local name contains invalid characters (well-formed required).");n+=" "+i.localName+'="'+this._serializeAttributeValue(i.value,r)+'"'}return n}};VY.XMLSerializerImpl=Lwe});var x8t=S(jY=>{"use strict";Object.defineProperty(jY,"__esModule",{value:!0});jY.XMLSerializer=void 0;var A_n=C8t();Object.defineProperty(jY,"XMLSerializer",{enumerable:!0,get:function(){return A_n.XMLSerializerImpl}})});var w8t=S(JE=>{"use strict";Object.defineProperty(JE,"__esModule",{value:!0});JE.XMLSerializer=JE.DOMParser=JE.DOMImplementation=void 0;var E_n=kY();E_n.dom.setFeatures(!0);var y_n=kY();Object.defineProperty(JE,"DOMImplementation",{enumerable:!0,get:function(){return y_n.DOMImplementation}});var v_n=I8t();Object.defineProperty(JE,"DOMParser",{enumerable:!0,get:function(){return v_n.DOMParser}});var S_n=x8t();Object.defineProperty(JE,"XMLSerializer",{enumerable:!0,get:function(){return S_n.XMLSerializer}})});var GY=S(KY=>{"use strict";Object.defineProperty(KY,"__esModule",{value:!0});KY.createDocument=I_n;KY.sanitizeInput=R_n;var T_n=w8t(),b_n=kY(),N8t=Yn();b_n.dom.setFeatures(!1);function I_n(){let t=new T_n.DOMImplementation().createDocument(null,"root",null);return t.documentElement&&t.removeChild(t.documentElement),t}function R_n(e,t){if(e==null)return e;if(t===void 0)return e+"";{let r="";e=e+"";for(let n=0;n=32&&s<=55295||s>=57344&&s<=65533)r+=e.charAt(n);else if(s>=55296&&s<=56319&&n=56320&&i<=57343?(s=(s-55296)*1024+i-56320+65536,r+=String.fromCodePoint(s),n++):r+=(0,N8t.isString)(t)?t:t(e.charAt(n),n,e)}else r+=(0,N8t.isString)(t)?t:t(e.charAt(n),n,e)}return r}}});var J4=S(YY=>{"use strict";Object.defineProperty(YY,"__esModule",{value:!0});YY.BaseReader=void 0;var C_n=GY(),Mwe=class e{_builderOptions;static _entityTable={lt:"<",gt:">",amp:"&",quot:'"',apos:"'"};constructor(t){this._builderOptions=t,t.parser&&Object.assign(this,t.parser)}_docType(t,r,n,s){return t.dtd({name:r,pubID:n,sysID:s})}_comment(t,r){return t.com(r)}_text(t,r){return t.txt(r)}_instruction(t,r,n){return t.ins(r,n)}_cdata(t,r){return t.dat(r)}_element(t,r,n){return r===void 0?t.ele(n):t.ele(r,n)}_attribute(t,r,n,s){return r===void 0?t.att(n,s):t.att(r,n,s)}_sanitize(t){return(0,C_n.sanitizeInput)(t,this._builderOptions.invalidCharReplacement)}_decodeText(t){return t==null?t:t.replace(/&(quot|amp|apos|lt|gt);/g,(r,n)=>e._entityTable[n]).replace(/&#(?:x([a-fA-F0-9]+)|([0-9]+));/g,(r,n,s)=>String.fromCodePoint(parseInt(n||s,n?16:10)))}_decodeAttributeValue(t){return this._decodeText(t)}parse(t,r){return this._parse(t,r)}docType(t,r,n,s){return this._docType(t,r,n,s)}comment(t,r){return this._comment(t,r)}text(t,r){return this._text(t,r)}instruction(t,r,n){return this._instruction(t,r,n)}cdata(t,r){return this._cdata(t,r)}element(t,r,n){return this._element(t,r,n)}attribute(t,r,n,s){return this._attribute(t,r,n,s)}sanitize(t){return this._sanitize(t)}};YY.BaseReader=Mwe});var O8t=S(QY=>{"use strict";Object.defineProperty(QY,"__esModule",{value:!0});QY.XMLReader=void 0;var x_n=Nwe(),Qg=UY(),w_n=Vn(),N_n=ra(),kwe=Cn(),O_n=J4(),Bwe=class extends O_n.BaseReader{_parse(t,r){let n=new x_n.XMLStringLexer(r,{skipWhitespaceOnlyText:this._builderOptions.skipWhitespaceOnlyText}),s=t,i=t,a=n.nextToken();for(;a.type!==Qg.TokenType.EOF;){switch(a.type){case Qg.TokenType.Declaration:let o=a,c=this.sanitize(o.version);if(c!=="1.0")throw new Error("Invalid xml version: "+c);let u={version:c};o.encoding&&(u.encoding=this.sanitize(o.encoding)),o.standalone&&(u.standalone=this.sanitize(o.standalone)==="yes"),i.set(u);break;case Qg.TokenType.DocType:let l=a;i=this.docType(i,this.sanitize(l.name),this.sanitize(l.pubId),this.sanitize(l.sysId))||i;break;case Qg.TokenType.CDATA:let d=a;i=this.cdata(i,this.sanitize(d.data))||i;break;case Qg.TokenType.Comment:let f=a;i=this.comment(i,this.sanitize(f.data))||i;break;case Qg.TokenType.PI:let h=a;i=this.instruction(i,this.sanitize(h.target),this.sanitize(h.data))||i;break;case Qg.TokenType.Text:if(i.node.nodeType===w_n.NodeType.Document)break;let p=a;i=this.text(i,this._decodeText(this.sanitize(p.data)))||i;break;case Qg.TokenType.Element:let m=a,g=this.sanitize(m.name),[_]=(0,kwe.namespace_extractQName)(g),y=i.node.lookupNamespaceURI(_),E={};for(let[v,T]of m.attributes)if(v=this.sanitize(v),T=this.sanitize(T),v==="xmlns")y=T;else{let[C,b]=(0,kwe.namespace_extractQName)(v);C==="xmlns"&&(b===_&&(y=T),E[b]=T)}let A=y!==null?this.element(i,y,g):this.element(i,void 0,g);if(A===void 0)break;i.node===t.node&&(s=A);for(let[v,T]of m.attributes){v=this.sanitize(v),T=this.sanitize(T);let[C,b]=(0,kwe.namespace_extractQName)(v),x=null;C==="xmlns"||C===null&&b==="xmlns"?x=N_n.namespace.XMLNS:(x=A.node.lookupNamespaceURI(C),x!==null&&A.node.isDefaultNamespace(x)?x=null:x===null&&C!==null&&(x=E[C]||null)),x!==null?this.attribute(A,x,v,this._decodeAttributeValue(T)):this.attribute(A,void 0,v,this._decodeAttributeValue(T))}m.selfClosing||(i=A);break;case Qg.TokenType.ClosingTag:i.node.parentNode&&(i=i.up());break}a=n.nextToken()}return s}};QY.XMLReader=Bwe});var WY=S(zY=>{"use strict";Object.defineProperty(zY,"__esModule",{value:!0});zY.ObjectReader=void 0;var Jr=Yn(),D_n=J4(),Uwe=class extends D_n.BaseReader{_parse(t,r){let n=this._builderOptions,s=null;return(0,Jr.isFunction)(r)?s=this.parse(t,r.call(this)):(0,Jr.isArray)(r)||(0,Jr.isSet)(r)?(0,Jr.forEachArray)(r,i=>s=this.parse(t,i),this):(0,Jr.isMap)(r)||(0,Jr.isObject)(r)?(0,Jr.forEachObject)(r,(i,a)=>{if((0,Jr.isFunction)(a)&&(a=a.call(this)),!n.ignoreConverters&&i.indexOf(n.convert.att)===0)if(i===n.convert.att){if((0,Jr.isArray)(a)||(0,Jr.isSet)(a))throw new Error("Invalid attribute: "+a.toString()+". "+t._debugInfo());(0,Jr.forEachObject)(a,(o,c)=>{s=this.attribute(t,void 0,this.sanitize(o),this._decodeAttributeValue(this.sanitize(c)))||s})}else s=this.attribute(t,void 0,this.sanitize(i.substring(n.convert.att.length)),this._decodeAttributeValue(this.sanitize(a?.toString())))||s;else if(!n.ignoreConverters&&i.indexOf(n.convert.text)===0)(0,Jr.isMap)(a)||(0,Jr.isObject)(a)?s=this.parse(t,a):s=this.text(t,this._decodeText(this.sanitize(a?.toString())))||s;else if(!n.ignoreConverters&&i.indexOf(n.convert.cdata)===0)(0,Jr.isArray)(a)||(0,Jr.isSet)(a)?(0,Jr.forEachArray)(a,o=>s=this.cdata(t,this.sanitize(o))||s,this):s=this.cdata(t,this.sanitize(a?.toString()))||s;else if(!n.ignoreConverters&&i.indexOf(n.convert.comment)===0)(0,Jr.isArray)(a)||(0,Jr.isSet)(a)?(0,Jr.forEachArray)(a,o=>s=this.comment(t,this.sanitize(o))||s,this):s=this.comment(t,this.sanitize(a?.toString()))||s;else if(!n.ignoreConverters&&i.indexOf(n.convert.ins)===0)if((0,Jr.isString)(a)){let o=a.indexOf(" "),c=o===-1?a:a.substr(0,o),u=o===-1?"":a.substr(o+1);s=this.instruction(t,this.sanitize(c),this.sanitize(u))||s}else(0,Jr.isArray)(a)||(0,Jr.isSet)(a)?(0,Jr.forEachArray)(a,o=>{let c=o.indexOf(" "),u=c===-1?o:o.substr(0,c),l=c===-1?"":o.substr(c+1);s=this.instruction(t,this.sanitize(u),this.sanitize(l))||s},this):(0,Jr.forEachObject)(a,(o,c)=>s=this.instruction(t,this.sanitize(o),this.sanitize(c))||s,this);else if(!(((0,Jr.isArray)(a)||(0,Jr.isSet)(a))&&(0,Jr.isEmpty)(a))){if(((0,Jr.isMap)(a)||(0,Jr.isObject)(a))&&(0,Jr.isEmpty)(a))s=this.element(t,void 0,this.sanitize(i))||s;else if(!(!n.keepNullNodes&&a==null))if((0,Jr.isArray)(a)||(0,Jr.isSet)(a))(0,Jr.forEachArray)(a,o=>{let c={};c[i]=o,s=this.parse(t,c)},this);else if((0,Jr.isMap)(a)||(0,Jr.isObject)(a)){let o=this.element(t,void 0,this.sanitize(i));o&&(s=o,this.parse(o,a))}else if(a!=null&&(!(0,Jr.isString)(a)||a!=="")){let o=this.element(t,void 0,this.sanitize(i));o&&(s=o,this.text(o,this._decodeText(this.sanitize(a?.toString()))))}else s=this.element(t,void 0,this.sanitize(i))||s}},this):!n.keepNullNodes&&r==null||(s=this.text(t,this._decodeText(this.sanitize(r?.toString())))||s),s||t}};zY.ObjectReader=Uwe});var D8t=S(XY=>{"use strict";Object.defineProperty(XY,"__esModule",{value:!0});XY.JSONReader=void 0;var P_n=WY(),L_n=J4(),Fwe=class extends L_n.BaseReader{_parse(t,r){return new P_n.ObjectReader(this._builderOptions).parse(t,JSON.parse(r))}};XY.JSONReader=Fwe});var Gx=S((ZSs,eb)=>{"use strict";function P8t(e){return typeof e>"u"||e===null}function M_n(e){return typeof e=="object"&&e!==null}function k_n(e){return Array.isArray(e)?e:P8t(e)?[]:[e]}function B_n(e,t){var r,n,s,i;if(t)for(i=Object.keys(t),r=0,n=i.length;r{"use strict";function L8t(e,t){var r="",n=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(r+='in "'+e.mark.name+'" '),r+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(r+=` + +`+e.mark.snippet),n+" "+r):n}function Z4(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=L8t(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Z4.prototype=Object.create(Error.prototype);Z4.prototype.constructor=Z4;Z4.prototype.toString=function(t){return this.name+": "+L8t(this,t)};M8t.exports=Z4});var B8t=S((tTs,k8t)=>{"use strict";var eB=Gx();function $we(e,t,r,n,s){var i="",a="",o=Math.floor(s/2)-1;return n-t>o&&(i=" ... ",t=n-o+i.length),r-n>o&&(a=" ...",r=n+o-a.length),{str:i+e.slice(t,r).replace(/\t/g,"\u2192")+a,pos:n-t+i.length}}function qwe(e,t){return eB.repeat(" ",t-e.length)+e}function $_n(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),typeof t.indent!="number"&&(t.indent=1),typeof t.linesBefore!="number"&&(t.linesBefore=3),typeof t.linesAfter!="number"&&(t.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],s=[],i,a=-1;i=r.exec(e.buffer);)s.push(i.index),n.push(i.index+i[0].length),e.position<=i.index&&a<0&&(a=n.length-2);a<0&&(a=n.length-1);var o="",c,u,l=Math.min(e.line+t.linesAfter,s.length).toString().length,d=t.maxLength-(t.indent+l+3);for(c=1;c<=t.linesBefore&&!(a-c<0);c++)u=$we(e.buffer,n[a-c],s[a-c],e.position-(n[a]-n[a-c]),d),o=eB.repeat(" ",t.indent)+qwe((e.line-c+1).toString(),l)+" | "+u.str+` +`+o;for(u=$we(e.buffer,n[a],s[a],e.position,d),o+=eB.repeat(" ",t.indent)+qwe((e.line+1).toString(),l)+" | "+u.str+` +`,o+=eB.repeat("-",t.indent+l+3+u.pos)+`^ +`,c=1;c<=t.linesAfter&&!(a+c>=s.length);c++)u=$we(e.buffer,n[a+c],s[a+c],e.position-(n[a]-n[a+c]),d),o+=eB.repeat(" ",t.indent)+qwe((e.line+c+1).toString(),l)+" | "+u.str+` +`;return o.replace(/\n$/,"")}k8t.exports=$_n});var mc=S((rTs,F8t)=>{"use strict";var U8t=Yx(),q_n=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],H_n=["scalar","sequence","mapping"];function V_n(e){var t={};return e!==null&&Object.keys(e).forEach(function(r){e[r].forEach(function(n){t[String(n)]=r})}),t}function j_n(e,t){if(t=t||{},Object.keys(t).forEach(function(r){if(q_n.indexOf(r)===-1)throw new U8t('Unknown option "'+r+'" is met in definition of "'+e+'" YAML type.')}),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(r){return r},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=V_n(t.styleAliases||null),H_n.indexOf(this.kind)===-1)throw new U8t('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}F8t.exports=j_n});var jwe=S((nTs,q8t)=>{"use strict";var tB=Yx(),Hwe=mc();function $8t(e,t){var r=[];return e[t].forEach(function(n){var s=r.length;r.forEach(function(i,a){i.tag===n.tag&&i.kind===n.kind&&i.multi===n.multi&&(s=a)}),r[s]=n}),r}function K_n(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},t,r;function n(s){s.multi?(e.multi[s.kind].push(s),e.multi.fallback.push(s)):e[s.kind][s.tag]=e.fallback[s.tag]=s}for(t=0,r=arguments.length;t{"use strict";var G_n=mc();H8t.exports=new G_n("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}})});var Gwe=S((iTs,V8t)=>{"use strict";var Y_n=mc();V8t.exports=new Y_n("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})});var Ywe=S((aTs,j8t)=>{"use strict";var Q_n=mc();j8t.exports=new Q_n("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}})});var Qwe=S((oTs,K8t)=>{"use strict";var z_n=jwe();K8t.exports=new z_n({explicit:[Kwe(),Gwe(),Ywe()]})});var zwe=S((cTs,G8t)=>{"use strict";var W_n=mc();function X_n(e){if(e===null)return!0;var t=e.length;return t===1&&e==="~"||t===4&&(e==="null"||e==="Null"||e==="NULL")}function J_n(){return null}function Z_n(e){return e===null}G8t.exports=new W_n("tag:yaml.org,2002:null",{kind:"scalar",resolve:X_n,construct:J_n,predicate:Z_n,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"})});var Wwe=S((uTs,Y8t)=>{"use strict";var eAn=mc();function tAn(e){if(e===null)return!1;var t=e.length;return t===4&&(e==="true"||e==="True"||e==="TRUE")||t===5&&(e==="false"||e==="False"||e==="FALSE")}function rAn(e){return e==="true"||e==="True"||e==="TRUE"}function nAn(e){return Object.prototype.toString.call(e)==="[object Boolean]"}Y8t.exports=new eAn("tag:yaml.org,2002:bool",{kind:"scalar",resolve:tAn,construct:rAn,predicate:nAn,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})});var Xwe=S((lTs,Q8t)=>{"use strict";var sAn=Gx(),iAn=mc();function aAn(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function oAn(e){return 48<=e&&e<=55}function cAn(e){return 48<=e&&e<=57}function uAn(e){if(e===null)return!1;var t=e.length,r=0,n=!1,s;if(!t)return!1;if(s=e[r],(s==="-"||s==="+")&&(s=e[++r]),s==="0"){if(r+1===t)return!0;if(s=e[++r],s==="b"){for(r++;r=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var Jwe=S((dTs,W8t)=>{"use strict";var z8t=Gx(),fAn=mc(),hAn=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function pAn(e){return!(e===null||!hAn.test(e)||e[e.length-1]==="_")}function mAn(e){var t,r;return t=e.replace(/_/g,"").toLowerCase(),r=t[0]==="-"?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:r*parseFloat(t,10)}var gAn=/^[-+]?[0-9]+e/;function _An(e,t){var r;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(z8t.isNegativeZero(e))return"-0.0";return r=e.toString(10),gAn.test(r)?r.replace("e",".e"):r}function AAn(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||z8t.isNegativeZero(e))}W8t.exports=new fAn("tag:yaml.org,2002:float",{kind:"scalar",resolve:pAn,construct:mAn,predicate:AAn,represent:_An,defaultStyle:"lowercase"})});var Zwe=S((fTs,X8t)=>{"use strict";X8t.exports=Qwe().extend({implicit:[zwe(),Wwe(),Xwe(),Jwe()]})});var eNe=S((hTs,J8t)=>{"use strict";J8t.exports=Zwe()});var tNe=S((pTs,t5t)=>{"use strict";var EAn=mc(),Z8t=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),e5t=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function yAn(e){return e===null?!1:Z8t.exec(e)!==null||e5t.exec(e)!==null}function vAn(e){var t,r,n,s,i,a,o,c=0,u=null,l,d,f;if(t=Z8t.exec(e),t===null&&(t=e5t.exec(e)),t===null)throw new Error("Date resolve error");if(r=+t[1],n=+t[2]-1,s=+t[3],!t[4])return new Date(Date.UTC(r,n,s));if(i=+t[4],a=+t[5],o=+t[6],t[7]){for(c=t[7].slice(0,3);c.length<3;)c+="0";c=+c}return t[9]&&(l=+t[10],d=+(t[11]||0),u=(l*60+d)*6e4,t[9]==="-"&&(u=-u)),f=new Date(Date.UTC(r,n,s,i,a,o,c)),u&&f.setTime(f.getTime()-u),f}function SAn(e){return e.toISOString()}t5t.exports=new EAn("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:yAn,construct:vAn,instanceOf:Date,represent:SAn})});var rNe=S((mTs,r5t)=>{"use strict";var TAn=mc();function bAn(e){return e==="<<"||e===null}r5t.exports=new TAn("tag:yaml.org,2002:merge",{kind:"scalar",resolve:bAn})});var sNe=S((gTs,n5t)=>{"use strict";var IAn=mc(),nNe=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function RAn(e){if(e===null)return!1;var t,r,n=0,s=e.length,i=nNe;for(r=0;r64)){if(t<0)return!1;n+=6}return n%8===0}function CAn(e){var t,r,n=e.replace(/[\r\n=]/g,""),s=n.length,i=nNe,a=0,o=[];for(t=0;t>16&255),o.push(a>>8&255),o.push(a&255)),a=a<<6|i.indexOf(n.charAt(t));return r=s%4*6,r===0?(o.push(a>>16&255),o.push(a>>8&255),o.push(a&255)):r===18?(o.push(a>>10&255),o.push(a>>2&255)):r===12&&o.push(a>>4&255),new Uint8Array(o)}function xAn(e){var t="",r=0,n,s,i=e.length,a=nNe;for(n=0;n>18&63],t+=a[r>>12&63],t+=a[r>>6&63],t+=a[r&63]),r=(r<<8)+e[n];return s=i%3,s===0?(t+=a[r>>18&63],t+=a[r>>12&63],t+=a[r>>6&63],t+=a[r&63]):s===2?(t+=a[r>>10&63],t+=a[r>>4&63],t+=a[r<<2&63],t+=a[64]):s===1&&(t+=a[r>>2&63],t+=a[r<<4&63],t+=a[64],t+=a[64]),t}function wAn(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}n5t.exports=new IAn("tag:yaml.org,2002:binary",{kind:"scalar",resolve:RAn,construct:CAn,predicate:wAn,represent:xAn})});var iNe=S((_Ts,s5t)=>{"use strict";var NAn=mc(),OAn=Object.prototype.hasOwnProperty,DAn=Object.prototype.toString;function PAn(e){if(e===null)return!0;var t=[],r,n,s,i,a,o=e;for(r=0,n=o.length;r{"use strict";var MAn=mc(),kAn=Object.prototype.toString;function BAn(e){if(e===null)return!0;var t,r,n,s,i,a=e;for(i=new Array(a.length),t=0,r=a.length;t{"use strict";var FAn=mc(),$An=Object.prototype.hasOwnProperty;function qAn(e){if(e===null)return!0;var t,r=e;for(t in r)if($An.call(r,t)&&r[t]!==null)return!1;return!0}function HAn(e){return e!==null?e:{}}a5t.exports=new FAn("tag:yaml.org,2002:set",{kind:"mapping",resolve:qAn,construct:HAn})});var JY=S((yTs,o5t)=>{"use strict";o5t.exports=eNe().extend({implicit:[tNe(),rNe()],explicit:[sNe(),iNe(),aNe(),oNe()]})});var b5t=S((vTs,dNe)=>{"use strict";var rb=Gx(),p5t=Yx(),VAn=B8t(),jAn=JY(),ey=Object.prototype.hasOwnProperty,ZY=1,m5t=2,g5t=3,eQ=4,cNe=1,KAn=2,c5t=3,GAn=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,YAn=/[\x85\u2028\u2029]/,QAn=/[,\[\]\{\}]/,_5t=/^(?:!|!!|![a-z\-]+!)$/i,A5t=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function u5t(e){return Object.prototype.toString.call(e)}function dp(e){return e===10||e===13}function nb(e){return e===9||e===32}function Zu(e){return e===9||e===32||e===10||e===13}function Qx(e){return e===44||e===91||e===93||e===123||e===125}function zAn(e){var t;return 48<=e&&e<=57?e-48:(t=e|32,97<=t&&t<=102?t-97+10:-1)}function WAn(e){return e===120?2:e===117?4:e===85?8:0}function XAn(e){return 48<=e&&e<=57?e-48:-1}function l5t(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?` +`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function JAn(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function E5t(e,t,r){t==="__proto__"?Object.defineProperty(e,t,{configurable:!0,enumerable:!0,writable:!0,value:r}):e[t]=r}var y5t=new Array(256),v5t=new Array(256);for(tb=0;tb<256;tb++)y5t[tb]=l5t(tb)?1:0,v5t[tb]=l5t(tb);var tb;function ZAn(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||jAn,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function S5t(e,t){var r={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return r.snippet=VAn(r),new p5t(t,r)}function Nt(e,t){throw S5t(e,t)}function tQ(e,t){e.onWarning&&e.onWarning.call(null,S5t(e,t))}var d5t={YAML:function(t,r,n){var s,i,a;t.version!==null&&Nt(t,"duplication of %YAML directive"),n.length!==1&&Nt(t,"YAML directive accepts exactly one argument"),s=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),s===null&&Nt(t,"ill-formed argument of the YAML directive"),i=parseInt(s[1],10),a=parseInt(s[2],10),i!==1&&Nt(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=a<2,a!==1&&a!==2&&tQ(t,"unsupported YAML version of the document")},TAG:function(t,r,n){var s,i;n.length!==2&&Nt(t,"TAG directive accepts exactly two arguments"),s=n[0],i=n[1],_5t.test(s)||Nt(t,"ill-formed tag handle (first argument) of the TAG directive"),ey.call(t.tagMap,s)&&Nt(t,'there is a previously declared suffix for "'+s+'" tag handle'),A5t.test(i)||Nt(t,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch{Nt(t,"tag prefix is malformed: "+i)}t.tagMap[s]=i}};function ZE(e,t,r,n){var s,i,a,o;if(t1&&(e.result+=rb.repeat(` +`,t-1))}function eEn(e,t,r){var n,s,i,a,o,c,u,l,d=e.kind,f=e.result,h;if(h=e.input.charCodeAt(e.position),Zu(h)||Qx(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(s=e.input.charCodeAt(e.position+1),Zu(s)||r&&Qx(s)))return!1;for(e.kind="scalar",e.result="",i=a=e.position,o=!1;h!==0;){if(h===58){if(s=e.input.charCodeAt(e.position+1),Zu(s)||r&&Qx(s))break}else if(h===35){if(n=e.input.charCodeAt(e.position-1),Zu(n))break}else{if(e.position===e.lineStart&&rQ(e)||r&&Qx(h))break;if(dp(h))if(c=e.line,u=e.lineStart,l=e.lineIndent,sa(e,!1,-1),e.lineIndent>=t){o=!0,h=e.input.charCodeAt(e.position);continue}else{e.position=a,e.line=c,e.lineStart=u,e.lineIndent=l;break}}o&&(ZE(e,i,a,!1),lNe(e,e.line-c),i=a=e.position,o=!1),nb(h)||(a=e.position+1),h=e.input.charCodeAt(++e.position)}return ZE(e,i,a,!1),e.result?!0:(e.kind=d,e.result=f,!1)}function tEn(e,t){var r,n,s;if(r=e.input.charCodeAt(e.position),r!==39)return!1;for(e.kind="scalar",e.result="",e.position++,n=s=e.position;(r=e.input.charCodeAt(e.position))!==0;)if(r===39)if(ZE(e,n,e.position,!0),r=e.input.charCodeAt(++e.position),r===39)n=e.position,e.position++,s=e.position;else return!0;else dp(r)?(ZE(e,n,s,!0),lNe(e,sa(e,!1,t)),n=s=e.position):e.position===e.lineStart&&rQ(e)?Nt(e,"unexpected end of the document within a single quoted scalar"):(e.position++,s=e.position);Nt(e,"unexpected end of the stream within a single quoted scalar")}function rEn(e,t){var r,n,s,i,a,o;if(o=e.input.charCodeAt(e.position),o!==34)return!1;for(e.kind="scalar",e.result="",e.position++,r=n=e.position;(o=e.input.charCodeAt(e.position))!==0;){if(o===34)return ZE(e,r,e.position,!0),e.position++,!0;if(o===92){if(ZE(e,r,e.position,!0),o=e.input.charCodeAt(++e.position),dp(o))sa(e,!1,t);else if(o<256&&y5t[o])e.result+=v5t[o],e.position++;else if((a=WAn(o))>0){for(s=a,i=0;s>0;s--)o=e.input.charCodeAt(++e.position),(a=zAn(o))>=0?i=(i<<4)+a:Nt(e,"expected hexadecimal character");e.result+=JAn(i),e.position++}else Nt(e,"unknown escape sequence");r=n=e.position}else dp(o)?(ZE(e,r,n,!0),lNe(e,sa(e,!1,t)),r=n=e.position):e.position===e.lineStart&&rQ(e)?Nt(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}Nt(e,"unexpected end of the stream within a double quoted scalar")}function nEn(e,t){var r=!0,n,s,i,a=e.tag,o,c=e.anchor,u,l,d,f,h,p=Object.create(null),m,g,_,y;if(y=e.input.charCodeAt(e.position),y===91)l=93,h=!1,o=[];else if(y===123)l=125,h=!0,o={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=o),y=e.input.charCodeAt(++e.position);y!==0;){if(sa(e,!0,t),y=e.input.charCodeAt(e.position),y===l)return e.position++,e.tag=a,e.anchor=c,e.kind=h?"mapping":"sequence",e.result=o,!0;r?y===44&&Nt(e,"expected the node content, but found ','"):Nt(e,"missed comma between flow collection entries"),g=m=_=null,d=f=!1,y===63&&(u=e.input.charCodeAt(e.position+1),Zu(u)&&(d=f=!0,e.position++,sa(e,!0,t))),n=e.line,s=e.lineStart,i=e.position,Wx(e,t,ZY,!1,!0),g=e.tag,m=e.result,sa(e,!0,t),y=e.input.charCodeAt(e.position),(f||e.line===n)&&y===58&&(d=!0,y=e.input.charCodeAt(++e.position),sa(e,!0,t),Wx(e,t,ZY,!1,!0),_=e.result),h?zx(e,o,p,g,m,_,n,s,i):d?o.push(zx(e,null,p,g,m,_,n,s,i)):o.push(m),sa(e,!0,t),y=e.input.charCodeAt(e.position),y===44?(r=!0,y=e.input.charCodeAt(++e.position)):r=!1}Nt(e,"unexpected end of the stream within a flow collection")}function sEn(e,t){var r,n,s=cNe,i=!1,a=!1,o=t,c=0,u=!1,l,d;if(d=e.input.charCodeAt(e.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(e.kind="scalar",e.result="";d!==0;)if(d=e.input.charCodeAt(++e.position),d===43||d===45)cNe===s?s=d===43?c5t:KAn:Nt(e,"repeat of a chomping mode identifier");else if((l=XAn(d))>=0)l===0?Nt(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):a?Nt(e,"repeat of an indentation width identifier"):(o=t+l-1,a=!0);else break;if(nb(d)){do d=e.input.charCodeAt(++e.position);while(nb(d));if(d===35)do d=e.input.charCodeAt(++e.position);while(!dp(d)&&d!==0)}for(;d!==0;){for(uNe(e),e.lineIndent=0,d=e.input.charCodeAt(e.position);(!a||e.lineIndento&&(o=e.lineIndent),dp(d)){c++;continue}if(e.lineIndentt)&&c!==0)Nt(e,"bad indentation of a sequence entry");else if(e.lineIndentt)&&(g&&(a=e.line,o=e.lineStart,c=e.position),Wx(e,t,eQ,!0,s)&&(g?p=e.result:m=e.result),g||(zx(e,d,f,h,p,m,a,o,c),h=p=m=null),sa(e,!0,-1),y=e.input.charCodeAt(e.position)),(e.line===i||e.lineIndent>t)&&y!==0)Nt(e,"bad indentation of a mapping entry");else if(e.lineIndentt?c=1:e.lineIndent===t?c=0:e.lineIndentt?c=1:e.lineIndent===t?c=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),d=0,f=e.implicitTypes.length;d"),e.result!==null&&p.kind!==e.kind&&Nt(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+p.kind+'", not "'+e.kind+'"'),p.resolve(e.result,e.tag)?(e.result=p.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):Nt(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||l}function uEn(e){var t=e.position,r,n,s,i=!1,a;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(a=e.input.charCodeAt(e.position))!==0&&(sa(e,!0,-1),a=e.input.charCodeAt(e.position),!(e.lineIndent>0||a!==37));){for(i=!0,a=e.input.charCodeAt(++e.position),r=e.position;a!==0&&!Zu(a);)a=e.input.charCodeAt(++e.position);for(n=e.input.slice(r,e.position),s=[],n.length<1&&Nt(e,"directive name must not be less than one character in length");a!==0;){for(;nb(a);)a=e.input.charCodeAt(++e.position);if(a===35){do a=e.input.charCodeAt(++e.position);while(a!==0&&!dp(a));break}if(dp(a))break;for(r=e.position;a!==0&&!Zu(a);)a=e.input.charCodeAt(++e.position);s.push(e.input.slice(r,e.position))}a!==0&&uNe(e),ey.call(d5t,n)?d5t[n](e,n,s):tQ(e,'unknown document directive "'+n+'"')}if(sa(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,sa(e,!0,-1)):i&&Nt(e,"directives end mark is expected"),Wx(e,e.lineIndent-1,eQ,!1,!0),sa(e,!0,-1),e.checkLineBreaks&&YAn.test(e.input.slice(t,e.position))&&tQ(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&rQ(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,sa(e,!0,-1));return}if(e.position"u"&&(r=t,t=null);var n=T5t(e,r);if(typeof t!="function")return n;for(var s=0,i=n.length;s{"use strict";var iQ=Gx(),aB=Yx(),fEn=JY(),P5t=Object.prototype.toString,L5t=Object.prototype.hasOwnProperty,gNe=65279,hEn=9,nB=10,pEn=13,mEn=32,gEn=33,_En=34,fNe=35,AEn=37,EEn=38,yEn=39,vEn=42,M5t=44,SEn=45,nQ=58,TEn=61,bEn=62,IEn=63,REn=64,k5t=91,B5t=93,CEn=96,U5t=123,xEn=124,F5t=125,gc={};gc[0]="\\0";gc[7]="\\a";gc[8]="\\b";gc[9]="\\t";gc[10]="\\n";gc[11]="\\v";gc[12]="\\f";gc[13]="\\r";gc[27]="\\e";gc[34]='\\"';gc[92]="\\\\";gc[133]="\\N";gc[160]="\\_";gc[8232]="\\L";gc[8233]="\\P";var wEn=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],NEn=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function OEn(e,t){var r,n,s,i,a,o,c;if(t===null)return{};for(r={},n=Object.keys(t),s=0,i=n.length;s=55296&&r<=56319&&t+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}function $5t(e){var t=/^\n* /;return t.test(e)}var q5t=1,pNe=2,H5t=3,V5t=4,Xx=5;function UEn(e,t,r,n,s,i,a,o){var c,u=0,l=null,d=!1,f=!1,h=n!==-1,p=-1,m=kEn(rB(e,0))&&BEn(rB(e,e.length-1));if(t||a)for(c=0;c=65536?c+=2:c++){if(u=rB(e,c),!iB(u))return Xx;m=m&&C5t(u,l,o),l=u}else{for(c=0;c=65536?c+=2:c++){if(u=rB(e,c),u===nB)d=!0,h&&(f=f||c-p-1>n&&e[p+1]!==" ",p=c);else if(!iB(u))return Xx;m=m&&C5t(u,l,o),l=u}f=f||h&&c-p-1>n&&e[p+1]!==" "}return!d&&!f?m&&!a&&!s(e)?q5t:i===sB?Xx:pNe:r>9&&$5t(e)?Xx:a?i===sB?Xx:pNe:f?V5t:H5t}function FEn(e,t,r,n,s){e.dump=function(){if(t.length===0)return e.quotingType===sB?'""':"''";if(!e.noCompatMode&&(wEn.indexOf(t)!==-1||NEn.test(t)))return e.quotingType===sB?'"'+t+'"':"'"+t+"'";var i=e.indent*Math.max(1,r),a=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-i),o=n||e.flowLevel>-1&&r>=e.flowLevel;function c(u){return MEn(e,u)}switch(UEn(t,o,e.indent,a,c,e.quotingType,e.forceQuotes&&!n,s)){case q5t:return t;case pNe:return"'"+t.replace(/'/g,"''")+"'";case H5t:return"|"+x5t(t,e.indent)+w5t(I5t(t,i));case V5t:return">"+x5t(t,e.indent)+w5t(I5t($En(t,a),i));case Xx:return'"'+qEn(t,a)+'"';default:throw new aB("impossible error: invalid scalar style")}}()}function x5t(e,t){var r=$5t(e)?String(t):"",n=e[e.length-1]===` +`,s=n&&(e[e.length-2]===` +`||e===` +`),i=s?"+":n?"":"-";return r+i+` +`}function w5t(e){return e[e.length-1]===` +`?e.slice(0,-1):e}function $En(e,t){for(var r=/(\n+)([^\n]*)/g,n=function(){var u=e.indexOf(` +`);return u=u!==-1?u:e.length,r.lastIndex=u,N5t(e.slice(0,u),t)}(),s=e[0]===` +`||e[0]===" ",i,a;a=r.exec(e);){var o=a[1],c=a[2];i=c[0]===" ",n+=o+(!s&&!i&&c!==""?` +`:"")+N5t(c,t),s=i}return n}function N5t(e,t){if(e===""||e[0]===" ")return e;for(var r=/ [^ ]/g,n,s=0,i,a=0,o=0,c="";n=r.exec(e);)o=n.index,o-s>t&&(i=a>s?a:o,c+=` +`+e.slice(s,i),s=i+1),a=o;return c+=` +`,e.length-s>t&&a>s?c+=e.slice(s,a)+` +`+e.slice(a+1):c+=e.slice(s),c.slice(1)}function qEn(e){for(var t="",r=0,n,s=0;s=65536?s+=2:s++)r=rB(e,s),n=gc[r],!n&&iB(r)?(t+=e[s],r>=65536&&(t+=e[s+1])):t+=n||DEn(r);return t}function HEn(e,t,r){var n="",s=e.tag,i,a,o;for(i=0,a=r.length;i"u"&&zg(e,t,null,!1,!1))&&(n!==""&&(n+=","+(e.condenseFlow?"":" ")),n+=e.dump);e.tag=s,e.dump="["+n+"]"}function O5t(e,t,r,n){var s="",i=e.tag,a,o,c;for(a=0,o=r.length;a"u"&&zg(e,t+1,null,!0,!0,!1,!0))&&((!n||s!=="")&&(s+=hNe(e,t)),e.dump&&nB===e.dump.charCodeAt(0)?s+="-":s+="- ",s+=e.dump);e.tag=i,e.dump=s||"[]"}function VEn(e,t,r){var n="",s=e.tag,i=Object.keys(r),a,o,c,u,l;for(a=0,o=i.length;a1024&&(l+="? "),l+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),zg(e,t,u,!1,!1)&&(l+=e.dump,n+=l));e.tag=s,e.dump="{"+n+"}"}function jEn(e,t,r,n){var s="",i=e.tag,a=Object.keys(r),o,c,u,l,d,f;if(e.sortKeys===!0)a.sort();else if(typeof e.sortKeys=="function")a.sort(e.sortKeys);else if(e.sortKeys)throw new aB("sortKeys must be a boolean or a function");for(o=0,c=a.length;o1024,d&&(e.dump&&nB===e.dump.charCodeAt(0)?f+="?":f+="? "),f+=e.dump,d&&(f+=hNe(e,t)),zg(e,t+1,l,!0,d)&&(e.dump&&nB===e.dump.charCodeAt(0)?f+=":":f+=": ",f+=e.dump,s+=f));e.tag=i,e.dump=s||"{}"}function D5t(e,t,r){var n,s,i,a,o,c;for(s=r?e.explicitTypes:e.implicitTypes,i=0,a=s.length;i tag resolver accepts not "'+c+'" style');e.dump=n}return!0}return!1}function zg(e,t,r,n,s,i,a){e.tag=null,e.dump=r,D5t(e,r,!1)||D5t(e,r,!0);var o=P5t.call(e.dump),c=n,u;n&&(n=e.flowLevel<0||e.flowLevel>t);var l=o==="[object Object]"||o==="[object Array]",d,f;if(l&&(d=e.duplicates.indexOf(r),f=d!==-1),(e.tag!==null&&e.tag!=="?"||f||e.indent!==2&&t>0)&&(s=!1),f&&e.usedDuplicates[d])e.dump="*ref_"+d;else{if(l&&f&&!e.usedDuplicates[d]&&(e.usedDuplicates[d]=!0),o==="[object Object]")n&&Object.keys(e.dump).length!==0?(jEn(e,t,e.dump,s),f&&(e.dump="&ref_"+d+e.dump)):(VEn(e,t,e.dump),f&&(e.dump="&ref_"+d+" "+e.dump));else if(o==="[object Array]")n&&e.dump.length!==0?(e.noArrayIndent&&!a&&t>0?O5t(e,t-1,e.dump,s):O5t(e,t,e.dump,s),f&&(e.dump="&ref_"+d+e.dump)):(HEn(e,t,e.dump),f&&(e.dump="&ref_"+d+" "+e.dump));else if(o==="[object String]")e.tag!=="?"&&FEn(e,e.dump,t,i,c);else{if(o==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new aB("unacceptable kind of an object to dump "+o)}e.tag!==null&&e.tag!=="?"&&(u=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",e.dump=u+" "+e.dump)}return!0}function KEn(e,t){var r=[],n=[],s,i;for(mNe(e,r,n),s=0,i=n.length;s{"use strict";var G5t=b5t(),YEn=K5t();function _Ne(e,t){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+t+" instead, which is now safe by default.")}}Zc.exports.Type=mc();Zc.exports.Schema=jwe();Zc.exports.FAILSAFE_SCHEMA=Qwe();Zc.exports.JSON_SCHEMA=Zwe();Zc.exports.CORE_SCHEMA=eNe();Zc.exports.DEFAULT_SCHEMA=JY();Zc.exports.load=G5t.load;Zc.exports.loadAll=G5t.loadAll;Zc.exports.dump=YEn.dump;Zc.exports.YAMLException=Yx();Zc.exports.types={binary:sNe(),float:Jwe(),map:Ywe(),null:zwe(),pairs:aNe(),set:oNe(),timestamp:tNe(),bool:Wwe(),int:Xwe(),merge:rNe(),omap:iNe(),seq:Gwe(),str:Kwe()};Zc.exports.safeLoad=_Ne("safeLoad","load");Zc.exports.safeLoadAll=_Ne("safeLoadAll","loadAll");Zc.exports.safeDump=_Ne("safeDump","dump")});var Q5t=S(aQ=>{"use strict";Object.defineProperty(aQ,"__esModule",{value:!0});aQ.YAMLReader=void 0;var QEn=WY(),zEn=J4(),WEn=Y5t(),ANe=class extends zEn.BaseReader{_parse(t,r){let n=(0,WEn.load)(r);if(n===void 0)throw new Error("Unable to parse YAML document.");return new QEn.ObjectReader(this._builderOptions).parse(t,n)}};aQ.YAMLReader=ANe});var z5t=S(fp=>{"use strict";Object.defineProperty(fp,"__esModule",{value:!0});fp.YAMLReader=fp.JSONReader=fp.ObjectReader=fp.XMLReader=void 0;var XEn=O8t();Object.defineProperty(fp,"XMLReader",{enumerable:!0,get:function(){return XEn.XMLReader}});var JEn=WY();Object.defineProperty(fp,"ObjectReader",{enumerable:!0,get:function(){return JEn.ObjectReader}});var ZEn=D8t();Object.defineProperty(fp,"JSONReader",{enumerable:!0,get:function(){return ZEn.JSONReader}});var eyn=Q5t();Object.defineProperty(fp,"YAMLReader",{enumerable:!0,get:function(){return eyn.YAMLReader}})});var X5t=S(cQ=>{"use strict";Object.defineProperty(cQ,"__esModule",{value:!0});cQ.XMLBuilderImpl=void 0;var tyn=EK(),vn=Yn(),oB=i8t(),ryn=Vn(),Wg=ds(),Xg=Cn(),_c=GY(),W5t=ra(),oQ=z5t(),ENe=class e{_domNode;constructor(t){this._domNode=t}get node(){return this._domNode}get options(){return this._options}set(t){return this._options=(0,vn.applyDefaults)((0,vn.applyDefaults)(this._options,t,!0),tyn.DefaultBuilderOptions),this}ele(t,r,n){let s,i,a;if((0,vn.isObject)(t))return new oQ.ObjectReader(this._options).parse(this,t);if((0,vn.isString)(t)&&t!==null&&/^\s*this.att(f,h),this),this;t!=null&&(t=(0,vn.getValue)(t+"")),r!=null&&(r=(0,vn.getValue)(r+"")),n!=null&&(n=(0,vn.getValue)(n+""));let s,i,a;if((t===null||(0,vn.isString)(t))&&(0,vn.isString)(r)&&(n===null||(0,vn.isString)(n)))[s,i,a]=[t,r,n];else if((0,vn.isString)(t)&&(r==null||(0,vn.isString)(r)))[s,i,a]=[void 0,t,r];else throw new Error("Attribute name and value not specified. "+this._debugInfo());if(this._options.keepNullAttributes&&a==null)a="";else if(a==null)return this;if(!Wg.Guard.isElementNode(this.node))throw new Error("An attribute can only be assigned to an element node.");let o=this.node;[s,i]=this._extractNamespace(s,i,!1),i=(0,_c.sanitizeInput)(i,this._options.invalidCharReplacement),s=(0,_c.sanitizeInput)(s,this._options.invalidCharReplacement),a=(0,_c.sanitizeInput)(a,this._options.invalidCharReplacement);let[c,u]=(0,Xg.namespace_extractQName)(i),[l]=(0,Xg.namespace_extractQName)(o.prefix?o.prefix+":"+o.localName:o.localName),d=null;return c==="xmlns"?(s=W5t.namespace.XMLNS,o.namespaceURI===null&&l===u&&(d=a)):c===null&&u==="xmlns"&&l===null&&(s=W5t.namespace.XMLNS,d=a),d!==null&&(this._updateNamespace(d),o=this.node),s!==void 0?o.setAttributeNS(s,i,a):o.setAttribute(i,a),this}removeAtt(t,r){if(!Wg.Guard.isElementNode(this.node))throw new Error("An attribute can only be removed from an element node.");t=(0,vn.getValue)(t),r!==void 0&&(r=(0,vn.getValue)(r));let n,s;if(t!==null&&r===void 0)s=t;else if((t===null||(0,vn.isString)(t))&&r!==void 0)n=t,s=r;else throw new Error("Attribute namespace must be a string. "+this._debugInfo());return(0,vn.isArray)(s)||(0,vn.isSet)(s)?(0,vn.forEachArray)(s,i=>n===void 0?this.removeAtt(i):this.removeAtt(n,i),this):n!==void 0?(s=(0,_c.sanitizeInput)(s,this._options.invalidCharReplacement),n=(0,_c.sanitizeInput)(n,this._options.invalidCharReplacement),this.node.removeAttributeNS(n,s)):(s=(0,_c.sanitizeInput)(s,this._options.invalidCharReplacement),this.node.removeAttribute(s)),this}txt(t){if(t==null)if(this._options.keepNullNodes)t="";else return this;let r=this._doc.createTextNode((0,_c.sanitizeInput)(t,this._options.invalidCharReplacement));return this.node.appendChild(r),this}com(t){if(t==null)if(this._options.keepNullNodes)t="";else return this;let r=this._doc.createComment((0,_c.sanitizeInput)(t,this._options.invalidCharReplacement));return this.node.appendChild(r),this}dat(t){if(t==null)if(this._options.keepNullNodes)t="";else return this;let r=this._doc.createCDATASection((0,_c.sanitizeInput)(t,this._options.invalidCharReplacement));return this.node.appendChild(r),this}ins(t,r=""){if(r==null)if(this._options.keepNullNodes)r="";else return this;if((0,vn.isArray)(t)||(0,vn.isSet)(t))(0,vn.forEachArray)(t,n=>{n+="";let s=n.indexOf(" "),i=s===-1?n:n.substr(0,s),a=s===-1?"":n.substr(s+1);this.ins(i,a)},this);else if((0,vn.isMap)(t)||(0,vn.isObject)(t))(0,vn.forEachObject)(t,(n,s)=>this.ins(n,s),this);else{let n=this._doc.createProcessingInstruction((0,_c.sanitizeInput)(t,this._options.invalidCharReplacement),(0,_c.sanitizeInput)(r,this._options.invalidCharReplacement));this.node.appendChild(n)}return this}dec(t){return this._options.version=t.version||"1.0",this._options.encoding=t.encoding,this._options.standalone=t.standalone,this}dtd(t){let r=(0,_c.sanitizeInput)(t&&t.name||(this._doc.documentElement?this._doc.documentElement.tagName:"ROOT"),this._options.invalidCharReplacement),n=(0,_c.sanitizeInput)(t&&t.pubID||"",this._options.invalidCharReplacement),s=(0,_c.sanitizeInput)(t&&t.sysID||"",this._options.invalidCharReplacement);if(this._doc.documentElement!==null&&r!==this._doc.documentElement.tagName)throw new Error("DocType name does not match document element name.");let i=this._doc.implementation.createDocumentType(r,n,s);return this._doc.doctype!==null?this._doc.replaceChild(i,this._doc.doctype):this._doc.insertBefore(i,this._doc.documentElement),this}import(t){let r=this._domNode,n=this._doc,s=t.node,i=a=>{if(!a._namespace){let[o]=(0,Xg.namespace_extractQName)(a.prefix?a.prefix+":"+a.localName:a.localName),c=r.lookupNamespaceURI(o);new e(a)._updateNamespace(c)}};if(Wg.Guard.isDocumentNode(s)){let a=s.documentElement;if(a===null)throw new Error("Imported document has no document element node. "+this._debugInfo());let o=n.importNode(a,!0);r.appendChild(o),i(o)}else if(Wg.Guard.isDocumentFragmentNode(s))for(let a of s.childNodes){let o=n.importNode(a,!0);r.appendChild(o),Wg.Guard.isElementNode(o)&&i(o)}else{let a=n.importNode(s,!0);r.appendChild(a),Wg.Guard.isElementNode(a)&&i(a)}return this}doc(){if(this._doc._isFragment){let t=this.node;for(;t&&t.nodeType!==ryn.NodeType.DocumentFragment;)t=t.parentNode;if(t===null)throw new Error("Node has no parent node while searching for document fragment ancestor. "+this._debugInfo());return new e(t)}else return new e(this._doc)}root(){let t=this._doc.documentElement;if(!t)throw new Error("Document root element is null. "+this._debugInfo());return new e(t)}up(){let t=this._domNode.parentNode;if(!t)throw new Error("Parent node is null. "+this._debugInfo());return new e(t)}prev(){let t=this._domNode.previousSibling;if(!t)throw new Error("Previous sibling node is null. "+this._debugInfo());return new e(t)}next(){let t=this._domNode.nextSibling;if(!t)throw new Error("Next sibling node is null. "+this._debugInfo());return new e(t)}first(){let t=this._domNode.firstChild;if(!t)throw new Error("First child node is null. "+this._debugInfo());return new e(t)}last(){let t=this._domNode.lastChild;if(!t)throw new Error("Last child node is null. "+this._debugInfo());return new e(t)}each(t,r=!1,n=!1,s){let i=this._getFirstDescendantNode(this._domNode,r,n);for(;i[0];){let a=this._getNextDescendantNode(this._domNode,i[0],n,i[1],i[2]);t.call(s,new e(i[0]),i[1],i[2]),i=a}return this}map(t,r=!1,n=!1,s){let i=[];return this.each((a,o,c)=>i.push(t.call(s,a,o,c)),r,n),i}reduce(t,r,n=!1,s=!1,i){let a=r;return this.each((o,c,u)=>a=t.call(i,a,o,c,u),n,s),a}find(t,r=!1,n=!1,s){let i=this._getFirstDescendantNode(this._domNode,r,n);for(;i[0];){let a=new e(i[0]);if(t.call(s,a,i[1],i[2]))return a;i=this._getNextDescendantNode(this._domNode,i[0],n,i[1],i[2])}}filter(t,r=!1,n=!1,s){let i=[];return this.each((a,o,c)=>{t.call(s,a,o,c)&&i.push(a)},r,n),i}every(t,r=!1,n=!1,s){let i=this._getFirstDescendantNode(this._domNode,r,n);for(;i[0];){let a=new e(i[0]);if(!t.call(s,a,i[1],i[2]))return!1;i=this._getNextDescendantNode(this._domNode,i[0],n,i[1],i[2])}return!0}some(t,r=!1,n=!1,s){let i=this._getFirstDescendantNode(this._domNode,r,n);for(;i[0];){let a=new e(i[0]);if(t.call(s,a,i[1],i[2]))return!0;i=this._getNextDescendantNode(this._domNode,i[0],n,i[1],i[2])}return!1}toArray(t=!1,r=!1){let n=[];return this.each(s=>n.push(s),t,r),n}toString(t){return t=t||{},t.format===void 0&&(t.format="xml"),this._serialize(t)}toObject(t){return t=t||{},t.format===void 0&&(t.format="object"),this._serialize(t)}end(t){return t=t||{},t.format===void 0&&(t.format="xml"),this.doc()._serialize(t)}_getFirstDescendantNode(t,r,n){return r?[this._domNode,0,0]:n?this._getNextDescendantNode(t,t,n,0,0):[this._domNode.firstChild,0,1]}_getNextDescendantNode(t,r,n,s,i){if(n){if(r.firstChild)return[r.firstChild,0,i+1];if(r===t)return[null,-1,-1];if(r.nextSibling)return[r.nextSibling,s+1,i];let a=r.parentNode;for(;a&&a!==t;){if(a.nextSibling)return[a.nextSibling,(0,Xg.tree_index)(a.nextSibling),i-1];a=a.parentNode,i--}}else return t===r?[r.firstChild,0,i+1]:[r.nextSibling,s+1,i];return[null,-1,-1]}_serialize(t){if(t.format==="xml")return new oB.XMLWriter(this._options,t).serialize(this.node);if(t.format==="map")return new oB.MapWriter(this._options,t).serialize(this.node);if(t.format==="object")return new oB.ObjectWriter(this._options,t).serialize(this.node);if(t.format==="json")return new oB.JSONWriter(this._options,t).serialize(this.node);if(t.format==="yaml")return new oB.YAMLWriter(this._options,t).serialize(this.node);throw new Error("Invalid writer format: "+t.format+". "+this._debugInfo())}_extractNamespace(t,r,n){let s=r.indexOf("@");if(s>0&&(t===void 0&&(t=r.slice(s+1)),r=r.slice(0,s)),t===void 0)t=n?this._options.defaultNamespace.ele:this._options.defaultNamespace.att;else if(t!==null&&t[0]==="@"){let i=t.slice(1);if(t=this._options.namespaceAlias[i],t===void 0)throw new Error("Namespace alias `"+i+"` is not defined. "+this._debugInfo())}return[t,r]}_updateNamespace(t){let r=this._domNode;if(Wg.Guard.isElementNode(r)&&t!==null&&r.namespaceURI!==t){let[n,s]=(0,Xg.namespace_extractQName)(r.prefix?r.prefix+":"+r.localName:r.localName),i=(0,Xg.create_element)(this._doc,s,t,n);for(let o of r.attributes){let c=o.prefix?o.prefix+":"+o.localName:o.localName,[u]=(0,Xg.namespace_extractQName)(c),l=o.namespaceURI;l===null&&u!==null&&(l=r.lookupNamespaceURI(u)),l===null?i.setAttribute(c,o.value):i.setAttributeNS(l,c,o.value)}let a=r.parentNode;if(a===null)throw new Error("Parent node is null."+this._debugInfo());a.replaceChild(i,r),this._domNode=i;for(let o of r.childNodes){let c=o.cloneNode(!0);if(i.appendChild(c),Wg.Guard.isElementNode(c)&&!c._namespace){let[u]=(0,Xg.namespace_extractQName)(c.prefix?c.prefix+":"+c.localName:c.localName),l=i.lookupNamespaceURI(u);new e(c)._updateNamespace(l)}}}}get _doc(){let t=this.node;if(Wg.Guard.isDocumentNode(t))return t;{let r=t.ownerDocument;if(!r)throw new Error("Owner document is null. "+this._debugInfo());return r}}_debugInfo(t){let r=this.node,n=r.parentNode;t=t||r.nodeName;let s=n?n.nodeName:"";return s?"node: <"+t+">, parent: <"+s+">":"node: <"+t+">"}get _options(){let t=this._doc;if(t._xmlBuilderOptions===void 0)throw new Error("Builder options is not set.");return t._xmlBuilderOptions}set _options(t){let r=this._doc;r._xmlBuilderOptions=t}};cQ.XMLBuilderImpl=ENe});var vNe=S(ew=>{"use strict";Object.defineProperty(ew,"__esModule",{value:!0});ew.builder=syn;ew.create=Z5t;ew.fragment=iyn;ew.convert=ayn;var Zx=EK(),uQ=Yn(),nyn=ds(),lQ=dQ(),J5t=GY();function syn(e,t){let r=yNe(Jx(e)?e:Zx.DefaultBuilderOptions),n=nyn.Guard.isNode(e)||(0,uQ.isArray)(e)?e:t;if(n===void 0)throw new Error("Invalid arguments.");if((0,uQ.isArray)(n)){let s=[];for(let i=0;i{"use strict";Object.defineProperty(fQ,"__esModule",{value:!0});fQ.BaseCBWriter=void 0;var SNe=class{_builderOptions;_writerOptions;level=0;hasData;constructor(t){this._builderOptions=t,this._writerOptions=t}};fQ.BaseCBWriter=SNe});var t$t=S(pQ=>{"use strict";Object.defineProperty(pQ,"__esModule",{value:!0});pQ.XMLCBWriter=void 0;var oyn=hQ(),TNe=class extends oyn.BaseCBWriter{_lineLength=0;constructor(t){super(t)}frontMatter(){return""}declaration(t,r,n){let s=this._beginLine()+"",s}docType(t,r,n){let s=this._beginLine();return r&&n?s+="':r?s+="':n?s+="':s+="",s}comment(t){return this._beginLine()+""}text(t){return t}instruction(t,r){return r?this._beginLine()+"":this._beginLine()+""}cdata(t){return this._beginLine()+""}openTagBegin(t){return this._lineLength+=1+t.length,this._beginLine()+"<"+t}openTagEnd(t,r,n){return n?" />":r?this._writerOptions.allowEmptyTags?">":this._writerOptions.spaceBeforeSlash?" />":"/>":">"}closeTag(t,r){return(r?"":this._beginLine())+""}attribute(t,r){let n=t+'="'+r+'"';return this._writerOptions.prettyPrint&&this._writerOptions.width>0&&this._lineLength+1+n.length>this._writerOptions.width?(n=this._beginLine()+this._indent(1)+n,this._lineLength=n.length,n):(this._lineLength+=1+n.length," "+n)}beginElement(t){}endElement(t){}_beginLine(){if(this._writerOptions.prettyPrint){let t=(this.hasData?this._writerOptions.newline:"")+this._indent(this._writerOptions.offset+this.level);return this._lineLength=t.length,t}else return""}_indent(t){return t<=0?"":this._writerOptions.indent.repeat(t)}};pQ.XMLCBWriter=TNe});var r$t=S(mQ=>{"use strict";Object.defineProperty(mQ,"__esModule",{value:!0});mQ.JSONCBWriter=void 0;var cyn=hQ(),bNe=class extends cyn.BaseCBWriter{_hasChildren=[];_additionalLevel=0;constructor(t){super(t)}frontMatter(){return""}declaration(t,r,n){return""}docType(t,r,n){return""}comment(t){return this._comma()+this._beginLine()+"{"+this._sep()+this._key(this._builderOptions.convert.comment)+this._sep()+this._val(t)+this._sep()+"}"}text(t){return this._comma()+this._beginLine()+"{"+this._sep()+this._key(this._builderOptions.convert.text)+this._sep()+this._val(t)+this._sep()+"}"}instruction(t,r){return this._comma()+this._beginLine()+"{"+this._sep()+this._key(this._builderOptions.convert.ins)+this._sep()+this._val(r?t+" "+r:t)+this._sep()+"}"}cdata(t){return this._comma()+this._beginLine()+"{"+this._sep()+this._key(this._builderOptions.convert.cdata)+this._sep()+this._val(t)+this._sep()+"}"}attribute(t,r){return this._comma()+this._beginLine(1)+"{"+this._sep()+this._key(this._builderOptions.convert.att+t)+this._sep()+this._val(r)+this._sep()+"}"}openTagBegin(t){let r=this._comma()+this._beginLine()+"{"+this._sep()+this._key(t)+this._sep()+"{";return this._additionalLevel++,this.hasData=!0,r+=this._beginLine()+this._key(this._builderOptions.convert.text)+this._sep()+"[",this._hasChildren.push(!1),r}openTagEnd(t,r,n){if(r){let s=this._sep()+"]";return this._additionalLevel--,s+=this._beginLine()+"}"+this._sep()+"}",s}else return""}closeTag(t){let r=this._beginLine()+"]";return this._additionalLevel--,r+=this._beginLine()+"}"+this._sep()+"}",r}beginElement(t){}endElement(t){this._hasChildren.pop()}_beginLine(t=0){return this._writerOptions.prettyPrint?(this.hasData?this._writerOptions.newline:"")+this._indent(this._writerOptions.offset+this.level+t):""}_indent(t){return t+this._additionalLevel<=0?"":this._writerOptions.indent.repeat(t+this._additionalLevel)}_comma(){let t=this._hasChildren[this._hasChildren.length-1]?",":"";return this._hasChildren.length>0&&(this._hasChildren[this._hasChildren.length-1]=!0),t}_sep(){return this._writerOptions.prettyPrint?" ":""}_key(t){return'"'+t+'":'}_val(t){return JSON.stringify(t)}};mQ.JSONCBWriter=bNe});var n$t=S(gQ=>{"use strict";Object.defineProperty(gQ,"__esModule",{value:!0});gQ.YAMLCBWriter=void 0;var uyn=hQ(),INe=class extends uyn.BaseCBWriter{_rootWritten=!1;_additionalLevel=0;constructor(t){if(super(t),t.indent.length<2)throw new Error("YAML indententation string must be at least two characters long.");if(t.offset<0)throw new Error("YAML offset should be zero or a positive number.")}frontMatter(){return this._beginLine()+"---"}declaration(t,r,n){return""}docType(t,r,n){return""}comment(t){return this._beginLine()+this._key(this._builderOptions.convert.comment)+" "+this._val(t)}text(t){return this._beginLine()+this._key(this._builderOptions.convert.text)+" "+this._val(t)}instruction(t,r){return this._beginLine()+this._key(this._builderOptions.convert.ins)+" "+this._val(r?t+" "+r:t)}cdata(t){return this._beginLine()+this._key(this._builderOptions.convert.cdata)+" "+this._val(t)}attribute(t,r){this._additionalLevel++;let n=this._beginLine()+this._key(this._builderOptions.convert.att+t)+" "+this._val(r);return this._additionalLevel--,n}openTagBegin(t){let r=this._beginLine()+this._key(t);return this._rootWritten||(this._rootWritten=!0),this.hasData=!0,this._additionalLevel++,r+=this._beginLine(!0)+this._key(this._builderOptions.convert.text),r}openTagEnd(t,r,n){return r?" "+this._val(""):""}closeTag(t){return this._additionalLevel--,""}beginElement(t){}endElement(t){}_beginLine(t=!1){return(this.hasData?this._writerOptions.newline:"")+this._indent(this._writerOptions.offset+this.level,t)}_indent(t,r){if(t+this._additionalLevel<=0)return"";{let n=this._writerOptions.indent.repeat(t+this._additionalLevel);return!r&&this._rootWritten?n.substr(0,n.length-2)+"-"+n.substr(-1,1):n}}_key(t){return'"'+t+'":'}_val(t){return JSON.stringify(t)}};gQ.YAMLCBWriter=INe});var s$t=S(_Q=>{"use strict";Object.defineProperty(_Q,"__esModule",{value:!0});_Q.XMLBuilderCBImpl=void 0;var lyn=EK(),RNe=Yn(),ty=vNe(),ry=Cn(),Jg=ra(),dyn=xK(),fyn=D4(),cB=ds(),hyn=t$t(),pyn=r$t(),myn=n$t(),gyn=require("events"),CNe=class e extends gyn.EventEmitter{static _VoidElementNames=new Set(["area","base","basefont","bgsound","br","col","embed","frame","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"]);_options;_builderOptions;_writer;_fragment;_hasDeclaration=!1;_docTypeName="";_hasDocumentElement=!1;_currentElement;_currentElementSerialized=!1;_openTags=[];_prefixMap;_prefixIndex;_ended=!1;constructor(t,r=!1){super(),this._fragment=r,this._options=(0,RNe.applyDefaults)(t||{},lyn.DefaultXMLBuilderCBOptions),this._builderOptions={defaultNamespace:this._options.defaultNamespace,namespaceAlias:this._options.namespaceAlias},this._options.format==="json"?this._writer=new pyn.JSONCBWriter(this._options):this._options.format==="yaml"?this._writer=new myn.YAMLCBWriter(this._options):this._writer=new hyn.XMLCBWriter(this._options),this._options.data!==void 0&&this.on("data",this._options.data),this._options.end!==void 0&&this.on("end",this._options.end),this._options.error!==void 0&&this.on("error",this._options.error),this._prefixMap=new dyn.NamespacePrefixMap,this._prefixMap.set("xml",Jg.namespace.XML),this._prefixIndex={value:1},this._push(this._writer.frontMatter())}ele(t,r,n){if((0,RNe.isObject)(t)||(0,RNe.isString)(t)&&(/^\s*/g,">");this._push(this._writer.text(n));let s=this._openTags[this._openTags.length-1];return s&&(s[s.length-1]=!0),this}ins(t,r=""){this._serializeOpenTag(!0);let n;try{n=(0,ty.fragment)(this._builderOptions).ins(t,r).first().node}catch(s){return this.emit("error",s),this}return this._options.wellFormed&&(n.target.indexOf(":")!==-1||/^xml$/i.test(n.target))?(this.emit("error",new Error("Processing instruction target contains invalid characters (well-formed required).")),this):this._options.wellFormed&&!(0,ry.xml_isLegalChar)(n.data)?(this.emit("error",Error("Processing instruction data contains invalid characters (well-formed required).")),this):(this._push(this._writer.instruction(n.target,n.data)),this)}dat(t){this._serializeOpenTag(!0);let r;try{r=(0,ty.fragment)(this._builderOptions).dat(t).first().node}catch(n){return this.emit("error",n),this}return this._push(this._writer.cdata(r.data)),this}dec(t={version:"1.0"}){return this._fragment?(this.emit("error",Error("Cannot insert an XML declaration into a document fragment.")),this):this._hasDeclaration?(this.emit("error",Error("XML declaration is already inserted.")),this):(this._push(this._writer.declaration(t.version||"1.0",t.encoding,t.standalone)),this._hasDeclaration=!0,this)}dtd(t){if(this._fragment)return this.emit("error",Error("Cannot insert a DocType declaration into a document fragment.")),this;if(this._docTypeName!=="")return this.emit("error",new Error("DocType declaration is already inserted.")),this;if(this._hasDocumentElement)return this.emit("error",new Error("Cannot insert DocType declaration after document element.")),this;let r;try{r=(0,ty.create)().dtd(t).first().node}catch(n){return this.emit("error",n),this}return this._options.wellFormed&&!(0,ry.xml_isPubidChar)(r.publicId)?(this.emit("error",new Error("DocType public identifier does not match PubidChar construct (well-formed required).")),this):this._options.wellFormed&&(!(0,ry.xml_isLegalChar)(r.systemId)||r.systemId.indexOf('"')!==-1&&r.systemId.indexOf("'")!==-1)?(this.emit("error",new Error("DocType system identifier contains invalid characters (well-formed required).")),this):(this._docTypeName=t.name,this._push(this._writer.docType(t.name,r.publicId,r.systemId)),this)}import(t){let r=(0,ty.fragment)().set(this._options);try{r.import(t)}catch(n){return this.emit("error",n),this}for(let n of r.node.childNodes)this._fromNode(n);return this}up(){return this._serializeOpenTag(!1),this._serializeCloseTag(),this}end(){for(this._serializeOpenTag(!1);this._openTags.length>0;)this._serializeCloseTag();return this._push(null),this}_serializeOpenTag(t){if(this._currentElementSerialized||this._currentElement===void 0)return;let r=this._currentElement.node;if(this._options.wellFormed&&(r.localName.indexOf(":")!==-1||!(0,ry.xml_isName)(r.localName))){this.emit("error",new Error("Node local name contains invalid characters (well-formed required)."));return}let n="",s=!1,i=this._prefixMap.copy(),a={},o=this._recordNamespaceInformation(r,i,a),c=this._openTags.length===0?null:this._openTags[this._openTags.length-1][1],u=r.namespaceURI;if(u===null&&(u=c),c===u)o!==null&&(s=!0),u===Jg.namespace.XML?n="xml:"+r.localName:n=r.localName,this._writer.beginElement(n),this._push(this._writer.openTagBegin(n));else{let d=r.prefix,f=null;if((d!==null||u!==o)&&(f=i.get(d,u)),d==="xmlns"){if(this._options.wellFormed){this.emit("error",new Error("An element cannot have the 'xmlns' prefix (well-formed required)."));return}f=d}f!==null?(n=f+":"+r.localName,o!==null&&o!==Jg.namespace.XML&&(c=o||null),this._writer.beginElement(n),this._push(this._writer.openTagBegin(n))):d!==null?(d in a&&(d=this._generatePrefix(u,i,this._prefixIndex)),i.set(d,u),n+=d+":"+r.localName,this._writer.beginElement(n),this._push(this._writer.openTagBegin(n)),this._push(this._writer.attribute("xmlns:"+d,this._serializeAttributeValue(u,this._options.wellFormed))),o!==null&&(c=o||null)):o===null||o!==null&&o!==u?(s=!0,n+=r.localName,c=u,this._writer.beginElement(n),this._push(this._writer.openTagBegin(n)),this._push(this._writer.attribute("xmlns",this._serializeAttributeValue(u,this._options.wellFormed)))):(n+=r.localName,c=u,this._writer.beginElement(n),this._push(this._writer.openTagBegin(n)))}this._serializeAttributes(r,i,this._prefixIndex,a,s,this._options.wellFormed);let l=u===Jg.namespace.HTML;l&&!t&&e._VoidElementNames.has(r.localName)?(this._push(this._writer.openTagEnd(n,!0,!0)),this._writer.endElement(n)):!l&&!t?(this._push(this._writer.openTagEnd(n,!0,!1)),this._writer.endElement(n)):this._push(this._writer.openTagEnd(n,!1,!1)),this._currentElementSerialized=!0,this._openTags.push([n,c,this._prefixMap,t,void 0]),this._isPrefixMapModified(this._prefixMap,i)&&(this._prefixMap=i),this._writer.level++}_serializeCloseTag(){this._writer.level--;let t=this._openTags.pop();if(t===void 0){this.emit("error",new Error("Last element is undefined."));return}let[r,n,s,i,a]=t;this._prefixMap=s,i&&(this._push(this._writer.closeTag(r,a)),this._writer.endElement(r))}_push(t){t===null?(this._ended=!0,this.emit("end")):this._ended?this.emit("error",new Error("Cannot push to ended stream.")):t.length!==0&&(this._writer.hasData=!0,this.emit("data",t,this._writer.level))}_fromNode(t){if(cB.Guard.isElementNode(t)){let r=t.prefix?t.prefix+":"+t.localName:t.localName;t.namespaceURI!==null?this.ele(t.namespaceURI,r):this.ele(r);for(let n of t.attributes){let s=n.prefix?n.prefix+":"+n.localName:n.localName;n.namespaceURI!==null?this.att(n.namespaceURI,s,n.value):this.att(s,n.value)}for(let n of t.childNodes)this._fromNode(n);this.up()}else cB.Guard.isExclusiveTextNode(t)&&t.data?this.txt(t.data):cB.Guard.isCommentNode(t)?this.com(t.data):cB.Guard.isCDATASectionNode(t)?this.dat(t.data):cB.Guard.isProcessingInstructionNode(t)&&this.ins(t.target,t.data)}_serializeAttributes(t,r,n,s,i,a){let o=a?new fyn.LocalNameSet:void 0;for(let c of t.attributes){if(!a&&!i&&c.namespaceURI===null){this._push(this._writer.attribute(c.localName,this._serializeAttributeValue(c.value,this._options.wellFormed)));continue}if(a&&o&&o.has(c.namespaceURI,c.localName)){this.emit("error",new Error("Element contains duplicate attributes (well-formed required)."));return}a&&o&&o.set(c.namespaceURI,c.localName);let u=c.namespaceURI,l=null;if(u!==null)if(l=r.get(c.prefix,u),u===Jg.namespace.XMLNS){if(c.value===Jg.namespace.XML||c.prefix===null&&i||c.prefix!==null&&(!(c.localName in s)||s[c.localName]!==c.value)&&r.has(c.localName,c.value))continue;if(a&&c.value===Jg.namespace.XMLNS){this.emit("error",new Error("XMLNS namespace is reserved (well-formed required)."));return}if(a&&c.value===""){this.emit("error",new Error("Namespace prefix declarations cannot be used to undeclare a namespace (well-formed required)."));return}c.prefix==="xmlns"&&(l="xmlns")}else l===null&&(c.prefix!==null&&(!r.hasPrefix(c.prefix)||r.has(c.prefix,u))?l=c.prefix:l=this._generatePrefix(u,r,n),this._push(this._writer.attribute("xmlns:"+l,this._serializeAttributeValue(u,this._options.wellFormed))));if(a&&(c.localName.indexOf(":")!==-1||!(0,ry.xml_isName)(c.localName)||c.localName==="xmlns"&&u===null)){this.emit("error",new Error("Attribute local name contains invalid characters (well-formed required)."));return}this._push(this._writer.attribute((l!==null?l+":":"")+c.localName,this._serializeAttributeValue(c.value,this._options.wellFormed)))}}_serializeAttributeValue(t,r){return r&&t!==null&&!(0,ry.xml_isLegalChar)(t)?(this.emit("error",new Error("Invalid characters in attribute value.")),""):t===null?"":t.replace(/(?!&(lt|gt|amp|apos|quot);)&/g,"&").replace(//g,">").replace(/"/g,""")}_recordNamespaceInformation(t,r,n){let s=null;for(let i of t.attributes){let a=i.namespaceURI,o=i.prefix;if(a===Jg.namespace.XMLNS)if(o===null){s=i.value;continue}else{let c=i.localName,u=i.value;if(u===Jg.namespace.XML||(u===""&&(u=null),r.has(c,u)))continue;r.set(c,u),n[c]=u||""}}return s}_generatePrefix(t,r,n){let s="ns"+n.value;return n.value++,r.set(s,t),s}_isPrefixMapModified(t,r){let n=t._items,s=r._items,i=t._nullItems,a=r._nullItems;for(let o in s){let c=n[o];if(c===void 0)return!0;let u=s[o];if(c.length!==u.length)return!0;for(let l=0;l{"use strict";Object.defineProperty(AQ,"__esModule",{value:!0});AQ.createCB=_yn;AQ.fragmentCB=Ayn;var i$t=dQ();function _yn(e){return new i$t.XMLBuilderCBImpl(e)}function Ayn(e){return new i$t.XMLBuilderCBImpl(e,!0)}});var dQ=S(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.fragmentCB=Qa.createCB=Qa.convert=Qa.fragment=Qa.create=Qa.builder=Qa.XMLBuilderCBImpl=Qa.XMLBuilderImpl=void 0;var Eyn=X5t();Object.defineProperty(Qa,"XMLBuilderImpl",{enumerable:!0,get:function(){return Eyn.XMLBuilderImpl}});var yyn=s$t();Object.defineProperty(Qa,"XMLBuilderCBImpl",{enumerable:!0,get:function(){return yyn.XMLBuilderCBImpl}});var EQ=vNe();Object.defineProperty(Qa,"builder",{enumerable:!0,get:function(){return EQ.builder}});Object.defineProperty(Qa,"create",{enumerable:!0,get:function(){return EQ.create}});Object.defineProperty(Qa,"fragment",{enumerable:!0,get:function(){return EQ.fragment}});Object.defineProperty(Qa,"convert",{enumerable:!0,get:function(){return EQ.convert}});var o$t=a$t();Object.defineProperty(Qa,"createCB",{enumerable:!0,get:function(){return o$t.createCB}});Object.defineProperty(Qa,"fragmentCB",{enumerable:!0,get:function(){return o$t.fragmentCB}})});var c$t=S(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});el.fragmentCB=el.createCB=el.convert=el.fragment=el.create=el.builder=void 0;var tw=dQ();Object.defineProperty(el,"builder",{enumerable:!0,get:function(){return tw.builder}});Object.defineProperty(el,"create",{enumerable:!0,get:function(){return tw.create}});Object.defineProperty(el,"fragment",{enumerable:!0,get:function(){return tw.fragment}});Object.defineProperty(el,"convert",{enumerable:!0,get:function(){return tw.convert}});Object.defineProperty(el,"createCB",{enumerable:!0,get:function(){return tw.createCB}});Object.defineProperty(el,"fragmentCB",{enumerable:!0,get:function(){return tw.fragmentCB}})});var f$t={};Bt(f$t,{default:()=>Fyn});function nf(e){e+=`&udid=${S0.id}&uuid=${S0.id}&&rom=android&apikey=0dad551ec0f84ed02907ff5c42e8ec70&s=rexxar_new&channel=Yingyongbao_Market&timezone=Asia/Shanghai&device_id=${S0.id}&os_rom=android&apple=c52fbb99b908be4d026954cc4374f16d&mooncake=0f607264fc6318a92b9e13c65db7cd3c&sugar=0`;let t=new URL(e),r=(0,rw.default)().unix().toString(),n=NNe.default.HmacSHA1("GET&"+encodeURIComponent(t.pathname)+"&"+r,"bf7dddc7c9cfe6f7"),s=NNe.default.enc.Base64.stringify(n);return e+"&_sig="+encodeURIComponent(s)+"&_ts="+r}async function hp(e,t){return(await Ye.get(e,{headers:{"User-Agent":t||S0.ua,Referer:"https://frodo.douban.com/"}})).data}function wyn(e,t){return e?`http://127.0.0.1:${t?.server?.address()?.port||9988}/proxy?do=image&url=${encodeURIComponent(e)}&referer=${encodeURIComponent("https://movie.douban.com")}`:""}function dB(e,t){let r="";return e.cover_url?r=e.cover_url:e.pic?typeof e.pic=="string"?r=e.pic:e.pic.normal?r=e.pic.normal:e.pic.large?r=e.pic.large:e.pic.medium&&(r=e.pic.medium):e.images?e.images.normal?r=e.images.normal:e.images.large?r=e.images.large:e.images.medium&&(r=e.images.medium):e.cover&&(r=e.cover),r&&t?wyn(r,t):r||""}function Nyn(e){let t=Number.parseInt(e,10);return Number.isFinite(t)&&t>0?t:1}function lB(e){if(!e)return"";let t=String(e).trim();return t?t==="all"||t.includes("\u5168\u90E8")?"\u5168\u90E8":t:""}function Oyn(e){let t=lB(e);return t==="\u52A8\u6F2B"?"\u52A8\u753B":t}function Dyn(e){let t=(e?.rating&&e.rating.value||"").toString();return t.length>0?`\u8BC4\u5206:${t}`:""}function uB(e,t){return!e||!e.id?null:{vod_id:e.id,vod_name:e.title||"",vod_pic:dB(e,t),vod_remarks:Dyn(e)}}function sb(e,t,r){let n=Number.isFinite(t)?t:r.length,s=Math.max(1,Math.ceil(n/ql));return{page:e,pagecount:s,total:n,list:r}}async function Pyn(e,t){let r=e.server.prefix+"/device";return S0=await e.server.db.getObjectDefault(r,{}),S0.id||(S0.id=ha(40).toLowerCase(),S0.ua=`Rexxar-Core/0.1.3 api-client/1 com.douban.frodo/7.9.0(216) Android/28 product/Xiaomi11 rom/android network/wifi udid/${S0.id} platform/mobile com.douban.frodo/7.9.0(216) Rexxar/1.2.151 platform/mobile 1.2.151`,await e.server.db.push(r,S0)),{}}async function Lyn(e,t){let r=Vr("douban",e),n=jr(r);if(n)return n;let s=[{type_id:"t1",type_name:"\u70ED\u64AD"},{type_id:"t2",type_name:"\u7247\u5E93"},{type_id:"t250",type_name:"Top250"},{type_id:"t3",type_name:"\u699C\u5355",ratio:1},{type_id:"t4",type_name:"\u7247\u5355",ratio:1}],i={t1:[{key:"u",name:"",init:"movie/hot_gaia",value:[{n:"\u7535\u5F71",v:"movie/hot_gaia"},{n:"\u7535\u89C6\u5267",v:"subject_collection/tv_hot/items"},{n:"\u56FD\u4EA7\u5267",v:"subject_collection/tv_domestic/items"},{n:"\u7F8E\u5267",v:"subject_collection/tv_american/items"},{n:"\u65E5\u5267",v:"subject_collection/tv_japanese/items"},{n:"\u97E9\u5267",v:"subject_collection/tv_korean/items"},{n:"\u52A8\u6F2B",v:"subject_collection/tv_animation/items"},{n:"\u7EFC\u827A",v:"subject_collection/show_hot/items"}]}],t2:[],t4:[{key:"type",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u7535\u5F71",v:"movie"},{n:"\u7535\u89C6\u5267",v:"tv"}]},{key:"cate",name:"",init:"all",value:[{n:"\u5168\u90E8",v:"all"},{n:"\u8C46\u74E3\u7247\u5355",v:"official"},{n:"\u7CBE\u9009",v:"selected"},{n:"\u7ECF\u5178",v:"classical"},{n:"\u83B7\u5956",v:"prize"},{n:"\u9AD8\u5206",v:"high_score"},{n:"\u699C\u5355",v:"movie_list"},{n:"\u51B7\u95E8\u4F73\u7247",v:"dark_horse"},{n:"\u4E3B\u9898",v:"topic"},{n:"\u5BFC\u6F14",v:"director"},{n:"\u6F14\u5458",v:"actor"},{n:"\u7CFB\u5217",v:"series"}]},{key:"area",name:"",init:"all",value:[{n:"\u534E\u8BED",v:"chinese"},{n:"\u6B27\u7F8E",v:"western"},{n:"\u65E5\u672C",v:"japanese"},{n:"\u97E9\u56FD",v:"korea"}]},{key:"genre",name:"",init:"all",value:[{n:"\u559C\u5267",v:"comedy"},{n:"\u52A8\u4F5C",v:"action"},{n:"\u7231\u60C5",v:"love"},{n:"\u79D1\u5E7B",v:"science_fiction"},{n:"\u52A8\u753B",v:"cartoon"},{n:"\u60AC\u7591",v:"mystery"},{n:"\u60CA\u609A",v:"panic"},{n:"\u6050\u6016",v:"horrible"},{n:"\u72AF\u7F6A",v:"criminal"},{n:"\u540C\u6027",v:"lgbt"},{n:"\u6218\u4E89",v:"war"},{n:"\u5947\u5E7B",v:"fantasy"},{n:"\u60C5\u8272",v:"erotica"},{n:"\u97F3\u4E50",v:"music"},{n:"\u7EAA\u5F55\u7247",v:"documentary"},{n:"\u6CBB\u6108",v:"cure"},{n:"\u827A\u672F",v:"art"},{n:"\u9ED1\u8272\u5E7D\u9ED8",v:"dark_humor"},{n:"\u9752\u6625",v:"youth"},{n:"\u5973\u6027",v:"female"},{n:"\u771F\u5B9E\u4E8B\u4EF6\u6539\u7F16",v:"real_event"},{n:"\u66B4\u529B",v:"violence"},{n:"\u9ED1\u767D",v:"black_white"},{n:"\u7F8E\u98DF",v:"food"},{n:"\u65C5\u884C",v:"travel"},{n:"\u513F\u7AE5",v:"child"},{n:"\u4EBA\u6027",v:"humanity"},{n:"\u5BB6\u5EAD",v:"family"},{n:"\u6587\u827A",v:"literary_art"},{n:"\u5C0F\u8BF4\u6539\u7F16",v:"novel"},{n:"\u611F\u4EBA",v:"moving"},{n:"\u52B1\u5FD7",v:"inspiration"}]}]};try{let o=nf(`${rf}/api/v2/movie/tag?sort=U&start=0&count=${ql}&q=\u5168\u90E8\u5F62\u5F0F,\u5168\u90E8\u7C7B\u578B,\u5168\u90E8\u5730\u533A,\u5168\u90E8\u5E74\u4EE3&score_range=0,10`),c=await hp(o),u=Array.isArray(c?.tags)?c.tags:[],l=Array.isArray(c?.sorts)?c.sorts:[],d=[];for(let m of u){if(!m||m.type==="\u7279\u8272"||!Array.isArray(m.data)||m.data.length===0)continue;let g=[...m.data];m.type==="\u5E74\u4EE3"&&g.indexOf((0,rw.default)().year().toString())<0&&(g.splice(1,0,(0,rw.default)().year().toString()),g.indexOf(((0,rw.default)().year()-1).toString())<0&&g.splice(2,0,((0,rw.default)().year()-1).toString())),d.push({key:m.type,name:"",init:g[0],value:g.map(_=>({n:_.indexOf("\u5168\u90E8")>=0?"\u5168\u90E8":_,v:_}))})}l.length>0&&d.push({key:"sort",name:"",init:l[0].name,value:l.map(m=>({n:m.text,v:m.name}))});let f=[{n:"\u5168\u90E8",v:"\u5168\u90E8"},{n:"\u7535\u5F71",v:"\u7535\u5F71"},{n:"\u7535\u89C6\u5267",v:"\u7535\u89C6\u5267"},{n:"\u52A8\u6F2B",v:"\u52A8\u753B"},{n:"\u7EFC\u827A",v:"\u7EFC\u827A"},{n:"\u7EAA\u5F55\u7247",v:"\u7EAA\u5F55\u7247"},{n:"\u77ED\u7247",v:"\u77ED\u7247"}],h=d.findIndex(m=>m.key==="\u5F62\u5F0F"),p={key:"\u5F62\u5F0F",name:"",init:"\u5168\u90E8",value:f};h!==-1?d[h]=p:d.push(p),i.t2=d}catch{}let a={class:s,filters:i};return sn(r,a,Rt.semiStatic),a}async function Myn(e,t){let r=e.body||{},n=r.id||"",s=r.filters||{},i=Nyn(r.page),a=(i-1)*ql;try{if(n==="t1"){let o=nf(`${rf}/api/v2/${s.u||"movie/hot_gaia"}?area=\u5168\u90E8&sort=recommend&playable=0&loc_id=0&start=${a}&count=${ql}`),c=await hp(o),l=(c?.items||c?.subject_collection_items||[]).map(d=>uB(d,e)).filter(Boolean);return sb(i,c?.total,l)}if(n==="t250"){let o=nf(`${rf}/api/v2/subject_collection/movie_top250/items?area=\u5168\u90E8&sort=recommend&playable=0&loc_id=0&start=${a}&count=${ql}`),c=await hp(o),l=(c?.items||c?.subject_collection_items||[]).map(d=>uB(d,e)).filter(Boolean);return sb(i,c?.total,l)}if(n==="t2"){let o=Oyn(s.\u5F62\u5F0F)||"\u5168\u90E8",c=lB(s.\u7C7B\u578B)||"\u5168\u90E8",u=lB(s.\u5730\u533A)||"\u5168\u90E8",l=lB(s.\u5E74\u4EE3)||"\u5168\u90E8",d=lB(s.sort)||"U",f=null,h="",p={},m=[];if(o==="\u7535\u5F71")h="/api/v2/movie/recommend",p={\u5F62\u5F0F:"\u7535\u5F71"},m=["\u7535\u5F71"];else if(o==="\u7535\u89C6\u5267")h="/api/v2/tv/recommend",p={\u5F62\u5F0F:"\u7535\u89C6\u5267"},m=["\u7535\u89C6\u5267"];else if(o==="\u52A8\u753B")h="/api/v2/tv/recommend",p={\u5F62\u5F0F:"\u52A8\u753B"},m=["\u52A8\u753B"];else if(o==="\u7EFC\u827A")h="/api/v2/tv/recommend",p={\u5F62\u5F0F:"\u7EFC\u827A"},m=["\u7EFC\u827A"];else if(o==="\u7EAA\u5F55\u7247")h="/api/v2/movie/recommend",p={\u5F62\u5F0F:"\u7EAA\u5F55\u7247"},m=["\u7EAA\u5F55\u7247"];else if(o==="\u77ED\u7247")h="/api/v2/movie/recommend",p={\u5F62\u5F0F:"\u77ED\u7247"},m=["\u77ED\u7247"];else{let E=[o,c,u,l].filter(v=>v&&v!=="\u5168\u90E8"&&!v.includes("\u5168\u90E8")),A=E.length>0?`&q=${E.join(",")}`:"";f=nf(`${rf}/api/v2/movie/tag?sort=${d}&start=${a}&count=${ql}${A}&score_range=0,10`)}if(h){o!=="\u52A8\u753B"&&c&&c!=="\u5168\u90E8"&&c!=="all"&&(p.\u7C7B\u578B=c,m.push(c)),u&&u!=="\u5168\u90E8"&&u!=="all"&&(p.\u5730\u533A=u,m.push(u)),l&&l!=="\u5168\u90E8"&&m.push(l);let E=`${rf}${h}?refresh=0&start=${a}&count=${ql}`;E+=`&selected_categories=${encodeURIComponent(JSON.stringify(p))}`,m.length>0&&(E+=`&tags=${encodeURIComponent(m.join(","))}`),E+=`&uncollect=false&score_range=0%2C10&sort=${d}`,f=nf(E)}if(!f){let E=[o,c,u,l].filter(v=>v&&v!=="\u5168\u90E8"&&!v.includes("\u5168\u90E8")),A=E.length>0?`&q=${E.join(",")}`:"";f=nf(`${rf}/api/v2/movie/tag?sort=${d}&start=${a}&count=${ql}${A}&score_range=0,10`)}let g=await hp(f),_=[];g?.items?_=g.items:g?.data?_=g.data:g?.subject_collection_items&&(_=g.subject_collection_items);let y=_.map(E=>uB(E,e)).filter(Boolean);return sb(i,g?.total,y)}if(n==="t3"){let[o,c]=await Promise.all([hp(nf(`${rf}/api/v2/movie/category_ranks?count=${ql}&category=recent_hot`)),hp(nf(`${rf}/api/v2/tv/category_ranks?count=${ql}&category=recent_hot`))]),u=[];for(let l of o?.selected_collections||[])u.push({vod_id:`cr_${l.id}`,vod_name:l.short_name||l.title||"",vod_pic:dB(l,e),vod_remarks:"",cate:{}});for(let l of c?.selected_collections||[])u.push({vod_id:`cr_${l.id}`,vod_name:l.short_name||l.title||"",vod_pic:dB(l,e),vod_remarks:"",cate:{}});return sb(1,u.length,u)}if(n==="t4"){let o=nf(`${rf}/api/v2/skynet/new_playlists?subject_type=${s.type||""}&category=${s.cate||"all"}&loc_id=0&start=${a}&count=${ql}`),c=await hp(o),l=(c?.data?.[0]?.items||[]).map(d=>({vod_id:d.owner?`dl_${d.id}`:`cr_${d.id}`,vod_name:d.title||"",vod_pic:dB(d,e),vod_remarks:"",cate:{}}));return sb(i,c?.total,l)}if(n.startsWith("cr_")){let o=nf(`${rf}/api/v2/subject_collection/${n.substring(3)}/items?start=${a}&count=${ql}&updated_at=&items_only=1`),c=await hp(o),l=(c?.subject_collection_items||[]).map(d=>uB(d,e)).filter(Boolean);return sb(i,c?.total,l)}if(n.startsWith("dl_")){let o=nf(`${rf}/api/v2/doulist/${n.substring(3)}/posts?start=${a}&count=${ql}&updated_at=&items_only=1`),c=await hp(o),u=[];for(let l of c?.items||[]){let d=l?.content?.subject,f=uB(d,e);f&&u.push(f)}return sb(i,c?.total,u)}}catch{}return{page:i,pagecount:i,total:0,list:[]}}async function kyn(e,t){let r=e.body?.id;if(!r)return{list:[]};let n=qT("detail",{id:r});return Pn("douban","detail",n,async()=>{try{let s=nf(`${rf}/api/v2/movie/${r}`),i=await hp(s),a=Array.isArray(i?.directors)?i.directors.map(u=>u.name).join(","):"",o=Array.isArray(i?.actors)?i.actors.slice(0,5).map(u=>u.name).join(","):"",c=Array.isArray(i?.countries)?i.countries.join(","):"";return{list:[{vod_id:i.id||r,vod_name:i.title||"",vod_pic:dB(i,e),vod_remarks:i.rating?`\u8BC4\u5206:${i.rating.value}`:"",type_name:i.subtype==="tv"?"\u7535\u89C6\u5267":"\u7535\u5F71",vod_year:i.year||"",vod_area:c,vod_actor:o,vod_director:a,vod_content:i.intro||i.card_subtitle||"",vod_play_from:"\u8C46\u74E3",vod_play_url:`\u7B2C1\u96C6$$${r}`}]}}catch{return{list:[]}}},{timeout:3e4})}async function Byn(e,t){let r=e.body?.id;return r?{parse:0,url:`https://movie.douban.com/subject/${r}/`,header:{"User-Agent":S0.ua,Referer:"https://movie.douban.com/"}}:{parse:0,url:""}}async function Uyn(e,t){return{...xyn}}var rw,NNe,rf,S0,ql,xyn,Fyn,h$t=oe(()=>{kr();Cs();rw=we(kk(),1),NNe=we(ki(),1);Dn();ta();rf="https://frodo.douban.com",S0={},ql=30,xyn=Object.freeze({page:1,pagecount:1,limit:0,total:0,list:[]});Fyn={meta:{key:"douban",name:"\u{1F3E0} \u8C46\u74E3",type:3,indexs:1,supportSearch:!1},api:async e=>{e.post("/init",Pyn),e.post("/home",Lyn),e.post("/category",Myn),e.post("/detail",kyn),e.post("/play",Byn),e.post("/search",Uyn)}}});var S$t={};Bt(S$t,{default:()=>avn});async function SQ(e,t,r,n,s,i){let a=e.get(r);return a!==null?a:Pn("zhuijurili",t,r,async()=>{let o=await i();return e.set(r,o),o},{timeout:3e4})}async function E$t(e,t,r){if(!Array.isArray(e)||e.length===0)return[];let n=new Array(e.length),s=0,i=async()=>{for(;;){let c=s++;if(c>=e.length)break;n[c]=await r(e[c],c)}},a=Math.min(t,e.length),o=new Array(a);for(let c=0;c{let i=`https://api.themoviedb.org/3/tv/${r}?api_key=${p$t}&language=zh-CN`,a=await Ye.get(i,{timeout:m$t}).catch(()=>null);if(a?.data&&a.data.success!==!1)return a.data;let o=`https://api.themoviedb.org/3/movie/${r}?api_key=${p$t}&language=zh-CN`,c=await Ye.get(o,{timeout:m$t}).catch(()=>null);return c?.data&&c.data.success!==!1?c.data:null});if(!s)return;s.poster_path&&(e.poster_path=s.poster_path),s.vote_average!==void 0&&(e.vote_average=s.vote_average),(s.first_air_date||s.release_date)&&(e.first_air_date=e.first_air_date||s.first_air_date,e.release_date=e.release_date||s.release_date),s.overview&&(e.overview=s.overview||e.overview),s.last_episode_to_air&&(e.last_episode_to_air=s.last_episode_to_air),s.next_episode_to_air&&(e.next_episode_to_air=s.next_episode_to_air),s.number_of_episodes!==void 0&&(e.number_of_episodes=s.number_of_episodes),!e.name&&!e.title&&(s.name||s.title)&&(e.name=s.name||s.title,e.title=s.title||s.name)}catch{}}async function zyn(e){return SQ(vQ.raw,"default",`raw:${e}`,Ac.raw.ttl,Ac.raw.maxSize,async()=>{try{let t;if(A$t.includes(e))t=`https://gist.githubusercontent.com/huangxd-/5ae61c105b417218b9e5bad7073d2f36/raw/${e}`;else if(e.includes("\u4ECA\u5929\u64AD\u51FA\u7684\u56FD\u6F2B")||e.includes("\u660E\u5929\u64AD\u51FA\u7684\u56FD\u6F2B"))t=`https://gist.githubusercontent.com/huangxd-/5ae61c105b417218b9e5bad7073d2f36/raw/guoman_${e.includes("\u4ECA\u5929")?"today":"tomorrow"}.json`;else if(e.includes("\u4ECA\u5929\u64AD\u51FA\u7684\u7EFC\u827A")||e.includes("\u660E\u5929\u64AD\u51FA\u7684\u7EFC\u827A"))t=`https://gist.githubusercontent.com/huangxd-/5ae61c105b417218b9e5bad7073d2f36/raw/zongyi_${e.includes("\u4ECA\u5929")?"today":"tomorrow"}.json`;else{let n="https://zjrl-1318856176.cos.accelerate.myqcloud.com",s=y$t[e];if(!s)return null;t=`${n}/${s}.json`}let r=await Ye.get(t,{headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",Accept:"application/json"},timeout:$yn});return r&&r.data?r.data:null}catch(t){return console.error("fetchRawData error:",t.message),null}})}function hB(e){return e.poster_path?`https://image.tmdb.org/t/p/w500${e.poster_path}`:e.images&&e.images.poster?e.images.poster:e.cover_url?e.cover_url:e.cover?e.cover:e.pic&&e.pic.normal?e.pic.normal:""}function TQ(e){if(e.vote_average!==void 0&&e.vote_average!==null&&e.vote_average!==""){let t=Number(e.vote_average);return Number.isNaN(t)?`\u8BC4\u5206: ${e.vote_average}`:`\u8BC4\u5206: ${t.toFixed(1)}`}return e.rating!==void 0?`\u8BC4\u5206: ${e.rating}`:e.t3!==void 0?`\u8BC4\u5206: ${e.t3}`:""}function yQ(e){let t=Number.parseInt(e,10);return Number.isNaN(t)||t<=0?"":`\u7B2C${t}\u96C6`}function Wyn(e,t=""){if(!e||typeof e!="object")return"";let r=e.episode_number||e.episode||e.ep||e.current_episode||e.currentEp,n=yQ(r);if(n)return n;let s=e.next_episode_to_air?.episode_number,i=e.last_episode_to_air?.episode_number,a=t.includes("\u660E\u5929")?s:s||i;return yQ(a)||yQ(i)||yQ(s)}function bQ(e){return e.release_date?e.release_date.split("-")[0]:e.first_air_date?e.first_air_date.split("-")[0]:e.year?e.year.toString():""}function IQ(e){return e.title||e.name||e.t1||""}function Xyn(e,t){try{let r=e.find(s=>s.type==="category");if(!r||!r.content)return[];let n=r.content.find(s=>s.title===t);return!n||!n.data?[]:n.data.map(s=>({vod_id:s.id?.toString()||"",vod_name:IQ(s),vod_pic:hB(s),vod_remarks:TQ(s),vod_year:bQ(s),vod_content:s.t2||s.overview||""}))}catch(r){return console.error("parseAreaData error:",r.message),[]}}function Jyn(e,t){try{let r;return t==="\u4ECA\u65E5\u63A8\u8350"?r=e.find(n=>n.type==="1s"):r=e.find(n=>n.title===t),!r||!r.content?[]:r.content.map(n=>({vod_id:n.id?.toString()||"",vod_name:IQ(n),vod_pic:hB(n),vod_remarks:TQ(n),vod_year:bQ(n),vod_content:n.overview||n.description||""}))}catch(r){return console.error("parseNormalData error:",r.message),[]}}async function Zyn(e,t="All"){try{let r=[];return t==="All"?jyn.forEach(s=>{e[s]&&Array.isArray(e[s])&&(r=r.concat(e[s]))}):r=e[t]||[],await E$t(r,_$t,async s=>(await v$t(s),{vod_id:s.tmdb_id?.toString()||s.id?.toString()||"",vod_name:IQ(s),vod_pic:hB(s),vod_remarks:TQ(s),vod_year:bQ(s),vod_content:s.overview||""}))}catch(r){return console.error("parseWeekData error:",r.message),[]}}async function evn(e,t){try{let r=Array.isArray(e)?e.find(s=>s.title===t)?.content||e:[];return Array.isArray(r)?await E$t(r,_$t,async s=>(await v$t(s,!0),{vod_id:s.id?.toString()||s.tmdb_id?.toString()||"",vod_name:IQ(s),vod_pic:hB(s),vod_remarks:Wyn(s,t)||TQ(s),vod_year:bQ(s),vod_content:s.overview||s.description||""})):[]}catch(r){return console.error("parseAiringData error:",r.message),[]}}async function g$t(e,t="All"){let r=`parsed:${e}:${t}`;return SQ(vQ.parsed,"default",r,Ac.parsed.ttl,Ac.parsed.maxSize,async()=>{try{let n=await zyn(e);return n?A$t.includes(e)?Zyn(n,t):e.includes("\u4ECA\u5929\u64AD\u51FA\u7684")||e.includes("\u660E\u5929\u64AD\u51FA\u7684")?evn(n,e):Hyn.includes(e)?Xyn(n,e):Jyn(n,e):[]}catch(n){return console.error("parseRawData error:",n.message),[]}})}async function tvn(e,t){let r=e.body||{},n=r.id,s=Gyn(r.page),i=r.filters||{},a=Kyn(n,i),o=i.weekday||"All";if(!n||!a)return{page:1,pagecount:1,limit:fB,total:0,list:[]};let c=`category:${n}:${a}:${o}:${s}`;return SQ(vQ.category,"category",c,Ac.category.ttl,Ac.category.maxSize,async()=>{let u=[];try{n==="weekPlay"?u=await g$t(a,o):u=await g$t(a)}catch(h){console.error("category error:",h.message)}let l=(s-1)*fB,d=l+fB,f=u.slice(l,d);return{page:s,pagecount:Math.ceil(u.length/fB)||1,limit:fB,total:u.length,list:f}})}async function rvn(e,t){let r=Array.isArray(e.body.id)?e.body.id:[e.body.id],n=[];for(let s of r)n.push({vod_id:s,vod_name:`\u8FFD\u5267\u65E5\u5386\u9879\u76EE ${s}`,vod_pic:"",type_name:"\u8FFD\u5267\u65E5\u5386",vod_year:"2026",vod_area:"",vod_remarks:"\u8FFD\u5267\u65E5\u5386\u63A8\u8350",vod_actor:"",vod_director:"",vod_content:"\u8FD9\u662F\u6765\u81EA\u8FFD\u5267\u65E5\u5386\u7684\u63A8\u8350\u5185\u5BB9",vod_play_from:"\u8FFD\u5267\u65E5\u5386",vod_play_url:`\u7B2C1\u96C6$${s}`});return{list:n}}async function nvn(e,t){return{parse:0,url:"",header:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}}async function svn(e,t){return{page:1,pagecount:1,list:[]}}async function ivn(e,t){try{let r=function(o){o.statusCode&&o.statusCode==500&&console.error(o)},n=e.server.prefix,s={},i=await e.server.inject().post(`${n}/init`),a=i.json();if(s.init=a,r(a),i=await e.server.inject().post(`${n}/home`),a=i.json(),s.home=a,r(a),s.home.class&&s.home.class.length>0){let o=s.home.class.find(u=>u.type_id==="area");o&&(i=await e.server.inject().post(`${n}/category`).payload({id:o.type_id,page:1,filters:{sort_by:"\u56FD\u4EA7\u5267"}}),a=i.json(),s.area_category=a,r(a));let c=s.home.class.find(u=>u.type_id==="todayPlay");c&&(i=await e.server.inject().post(`${n}/category`).payload({id:c.type_id,page:1,filters:{sort_by:"\u4ECA\u5929\u64AD\u51FA\u7684\u5267\u96C6"}}),a=i.json(),s.today_category=a,r(a))}return i=await e.server.inject().post(`${n}/search`).payload({wd:"\u7231",page:1}),a=i.json(),s.search=a,r(a),s}catch(r){return console.error("Test error:",r),t.code(500),{err:r.message,tip:"check debug console output"}}}var p$t,m$t,$yn,fB,_$t,qyn,Hyn,A$t,Vyn,jyn,Ac,vQ,y$t,avn,T$t=oe(()=>{kr();Dn();Cs();ta();zi();p$t="f090bb54758cabf231fb605d3e3e0468",m$t=8e3,$yn=1e4,fB=20,_$t=6,qyn={home1:["\u4ECA\u5929\u64AD\u51FA\u7684\u5267\u96C6","\u4ECA\u5929\u64AD\u51FA\u7684\u756A\u5267","\u660E\u5929\u64AD\u51FA\u7684\u5267\u96C6","\u660E\u5929\u64AD\u51FA\u7684\u756A\u5267","\u73B0\u6B63\u70ED\u64AD","\u4EBA\u6C14 Top 10","\u65B0\u5267\u96F7\u8FBE","\u70ED\u95E8\u56FD\u6F2B","\u5DF2\u6536\u5B98\u597D\u5267"],home0:["\u534E\u8BED\u70ED\u95E8","\u672C\u5B63\u65B0\u756A","\u4ECA\u65E5\u63A8\u8350","\u56FD\u4EA7\u5267","\u65E5\u5267","\u82F1\u7F8E\u5267","\u756A\u5267","\u97E9\u5267","\u6E2F\u53F0\u5267"]},Hyn=["\u56FD\u4EA7\u5267","\u65E5\u5267","\u82F1\u7F8E\u5267","\u756A\u5267","\u97E9\u5267","\u6E2F\u53F0\u5267"],A$t=["juji_week.json","fanju_week.json","guoman_week.json","zongyi_week.json"],Vyn={todayPlay:"\u4ECA\u5929\u64AD\u51FA\u7684\u5267\u96C6",tomorrowPlay:"\u660E\u5929\u64AD\u51FA\u7684\u5267\u96C6",weekPlay:"juji_week.json",todayReCommand:"\u4ECA\u65E5\u63A8\u8350",rank:"\u73B0\u6B63\u70ED\u64AD",area:"\u56FD\u4EA7\u5267"},jyn=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Ac={raw:{ttl:5*60*1e3,maxSize:80},parsed:{ttl:3*60*1e3,maxSize:120},category:{ttl:60*1e3,maxSize:200},tmdb:{ttl:24*60*60*1e3,maxSize:2e3}},vQ={raw:new pt(Ac.raw.maxSize,Ac.raw.ttl),parsed:new pt(Ac.parsed.maxSize,Ac.parsed.ttl),category:new pt(Ac.category.maxSize,Ac.category.ttl),tmdb:new pt(Ac.tmdb.maxSize,Ac.tmdb.ttl)};y$t={};Object.entries(qyn).forEach(([e,t])=>{t.forEach(r=>y$t[r]=e)});avn={meta:{key:"zhuijurili",name:"\u{1F3E0} \u65E5\u5386",type:3,indexs:1},api:async e=>{e.post("/init",Yyn),e.post("/home",Qyn),e.post("/category",tvn),e.post("/detail",rvn),e.post("/play",nvn),e.post("/search",svn),e.get("/test",ivn)}}});var b$t,I$t=oe(()=>{b$t=[{moduleId:"mod_1",index:0,title:"\u{1F338} \u52A8\u6F2B\u5168\u5883\u805A\u5408",functionName:"routeAnimeOmni",params:[{name:"anime_source",title:"\u9009\u62E9\u6570\u636E\u6E90",value:"cal",belongTo:null,enumOptions:[{title:"\u{1F338} \u52A8\u6F2B Bangumi \u8FFD\u756A\u65E5\u5386",value:"cal"},{title:"\u{1F338} \u52A8\u6F2B Bilibili \u70ED\u5EA6\u699C\u5355",value:"bili"},{title:"\u{1F338} \u52A8\u6F2B Bangumi \u8FD1\u671F\u70ED\u95E8",value:"hot"},{title:"\u{1F338} \u52A8\u6F2B Bangumi \u5E74\u5B63\u5EA6\u699C",value:"rank"},{title:"\u{1F338} \u52A8\u6F2B Bangumi \u6BCF\u65E5\u653E\u9001",value:"daily"},{title:"\u{1F338} \u52A8\u6F2B TMDB \u70ED\u95E8/\u65B0\u756A",value:"tmdb"},{title:"\u{1F338} \u52A8\u6F2B AniList \u6D41\u884C\u699C\u5355",value:"anilist"},{title:"\u{1F338} \u52A8\u6F2B MAL \u6743\u5A01\u699C\u5355",value:"mal"}]},{name:"cal_day",title:"\u9009\u62E9\u65E5\u671F",value:"today",belongTo:{paramName:"anime_source",value:["cal"]},enumOptions:[{title:"\u{1F4C5} \u4ECA\u65E5\u66F4\u65B0",value:"today"},{title:"\u5468\u4E00",value:"1"},{title:"\u5468\u4E8C",value:"2"},{title:"\u5468\u4E09",value:"3"},{title:"\u5468\u56DB",value:"4"},{title:"\u5468\u4E94",value:"5"},{title:"\u5468\u516D",value:"6"},{title:"\u5468\u65E5",value:"7"}]},{name:"bili_sort",title:"\u699C\u5355\u5206\u533A",value:"1",belongTo:{paramName:"anime_source",value:["bili"]},enumOptions:[{title:"\u{1F4FA} B\u7AD9\u756A\u5267 (\u65E5\u6F2B)",value:"1"},{title:"\u{1F1E8}\u{1F1F3} B\u7AD9\u56FD\u521B (\u56FD\u6F2B)",value:"4"}]},{name:"hot_cat",title:"\u5206\u7C7B",value:"anime",belongTo:{paramName:"anime_source",value:["hot"]},enumOptions:[{title:"\u52A8\u753B",value:"anime"}]},{name:"rank_cat",title:"\u5206\u7C7B",value:"anime",belongTo:{paramName:"anime_source",value:["rank"]},enumOptions:[{title:"\u52A8\u753B",value:"anime"},{title:"\u4E09\u6B21\u5143",value:"real"}]},{name:"rank_year",title:"\u5E74\u4EFD",value:"2026",belongTo:{paramName:"anime_source",value:["rank"]},enumOptions:[{title:"2026",value:"2026"},{title:"2025",value:"2025"},{title:"2024",value:"2024"},{title:"2023",value:"2023"},{title:"2022",value:"2022"},{title:"2021",value:"2021"},{title:"2020",value:"2020"},{title:"2019",value:"2019"},{title:"2018",value:"2018"},{title:"2017",value:"2017"},{title:"2016",value:"2016"},{title:"2015",value:"2015"},{title:"2014",value:"2014"},{title:"2013",value:"2013"},{title:"2012",value:"2012"},{title:"2011",value:"2011"},{title:"2010",value:"2010"},{title:"2009",value:"2009"},{title:"2008",value:"2008"},{title:"2007",value:"2007"},{title:"2006",value:"2006"},{title:"2005",value:"2005"},{title:"2004",value:"2004"},{title:"2003",value:"2003"},{title:"2002",value:"2002"},{title:"2001",value:"2001"},{title:"2000",value:"2000"},{title:"1999",value:"1999"},{title:"1998",value:"1998"},{title:"1997",value:"1997"},{title:"1996",value:"1996"},{title:"1995",value:"1995"},{title:"1994",value:"1994"},{title:"1993",value:"1993"},{title:"1992",value:"1992"},{title:"1991",value:"1991"},{title:"1990",value:"1990"},{title:"1989",value:"1989"},{title:"1988",value:"1988"},{title:"1987",value:"1987"},{title:"1986",value:"1986"},{title:"1985",value:"1985"},{title:"1984",value:"1984"},{title:"1983",value:"1983"},{title:"1982",value:"1982"},{title:"1981",value:"1981"},{title:"1980",value:"1980"},{title:"1979",value:"1979"},{title:"1978",value:"1978"},{title:"1977",value:"1977"},{title:"1976",value:"1976"},{title:"1975",value:"1975"},{title:"1974",value:"1974"},{title:"1973",value:"1973"},{title:"1972",value:"1972"},{title:"1971",value:"1971"},{title:"1970",value:"1970"},{title:"1969",value:"1969"},{title:"1968",value:"1968"},{title:"1967",value:"1967"},{title:"1966",value:"1966"},{title:"1965",value:"1965"},{title:"1964",value:"1964"},{title:"1963",value:"1963"},{title:"1962",value:"1962"},{title:"1961",value:"1961"},{title:"1960",value:"1960"},{title:"1959",value:"1959"},{title:"1958",value:"1958"},{title:"1957",value:"1957"},{title:"1956",value:"1956"},{title:"1955",value:"1955"},{title:"1954",value:"1954"},{title:"1953",value:"1953"},{title:"1952",value:"1952"},{title:"1951",value:"1951"},{title:"1950",value:"1950"},{title:"1949",value:"1949"},{title:"1948",value:"1948"},{title:"1947",value:"1947"},{title:"1946",value:"1946"},{title:"1945",value:"1945"},{title:"1944",value:"1944"},{title:"1943",value:"1943"},{title:"1942",value:"1942"},{title:"1941",value:"1941"},{title:"1940",value:"1940"}]},{name:"rank_month",title:"\u6708\u4EFD/\u5B63\u5EA6",value:"all",belongTo:{paramName:"anime_source",value:["rank"]},enumOptions:[{title:"\u5168\u5E74",value:"all"},{title:"\u51AC\u5B63",value:"1"},{title:"\u6625\u5B63",value:"4"},{title:"\u590F\u5B63",value:"7"},{title:"\u79CB\u5B63",value:"10"}]},{name:"rank_sort",title:"\u6392\u5E8F\u65B9\u5F0F",value:"collects",belongTo:{paramName:"anime_source",value:["rank"]},enumOptions:[{title:"\u6392\u540D",value:"rank"},{title:"\u70ED\u5EA6",value:"trends"},{title:"\u6536\u85CF\u6570",value:"collects"},{title:"\u53D1\u552E\u65E5\u671F",value:"date"},{title:"\u540D\u79F0",value:"title"}]},{name:"daily_filter",title:"\u7B5B\u9009\u8303\u56F4",value:"today",belongTo:{paramName:"anime_source",value:["daily"]},enumOptions:[{title:"\u4ECA\u65E5\u653E\u9001",value:"today"},{title:"\u672C\u5468\u4E00\u81F3\u56DB",value:"mon_thu"},{title:"\u672C\u5468\u4E94\u81F3\u65E5",value:"fri_sun"},{title:"\u6574\u5468\u653E\u9001",value:"all_week"}]},{name:"daily_sort",title:"\u6392\u5E8F\u65B9\u5F0F",value:"popularity_rat_bgm",belongTo:{paramName:"anime_source",value:["daily"]},enumOptions:[{title:"\u70ED\u5EA6(\u8BC4\u5206\u4EBA\u6570)",value:"popularity_rat_bgm"},{title:"\u8BC4\u5206",value:"score_bgm_desc"},{title:"\u653E\u9001\u65E5(\u66F4\u65B0\u65E5\u671F)",value:"airdate_desc"},{title:"\u9ED8\u8BA4",value:"default"}]},{name:"tmdb_sort",title:"\u699C\u5355\u7C7B\u578B",value:"trending",belongTo:{paramName:"anime_source",value:["tmdb"]},enumOptions:[{title:"\u{1F525} \u5B9E\u65F6\u6D41\u884C (Trending)",value:"trending"},{title:"\u{1F4C5} \u6700\u65B0\u9996\u64AD (New)",value:"new"},{title:"\u{1F451} \u9AD8\u5206\u795E\u4F5C (Top Rated)",value:"top"}]},{name:"anilist_sort",title:"\u6392\u5E8F\u65B9\u5F0F",value:"TRENDING_DESC",belongTo:{paramName:"anime_source",value:["anilist"]},enumOptions:[{title:"\u{1F4C8} \u8FD1\u671F\u8D8B\u52BF (Trending)",value:"TRENDING_DESC"},{title:"\u{1F496} \u5386\u53F2\u4EBA\u6C14 (Popularity)",value:"POPULARITY_DESC"},{title:"\u2B50 \u8BC4\u5206\u6700\u9AD8 (Score)",value:"SCORE_DESC"}]},{name:"mal_sort",title:"\u699C\u5355\u7C7B\u578B",value:"airing",belongTo:{paramName:"anime_source",value:["mal"]},enumOptions:[{title:"\u{1F525} \u5F53\u524D\u70ED\u64AD Top",value:"airing"},{title:"\u{1F3C6} \u5386\u53F2\u603B\u699C Top",value:"all"},{title:"\u{1F3A5} \u6700\u4F73\u5267\u573A\u7248",value:"movie"},{title:"\u{1F51C} \u5373\u5C06\u4E0A\u6620",value:"upcoming"}]},{name:"page",title:"\u9875\u7801",belongTo:null,enumOptions:[]}]},{moduleId:"mod_2",index:1,title:"\u{1F3F7}\uFE0F \u5168\u7403\u5F71\u5267\u7C7B\u522B",functionName:"loadGenreRank",params:[{name:"sort_by",title:"\u5F71\u89C6\u7C7B\u578B",value:"all",belongTo:null,enumOptions:[{title:"\u{1F31F} \u5168\u90E8 (\u5F71+\u5267\u6DF7\u5408)",value:"all"},{title:"\u{1F3AC} \u7535\u5F71 (Movie)",value:"movie"},{title:"\u{1F4FA} \u7535\u89C6\u5267 (TV)",value:"tv"}]},{name:"genre",title:"\u9898\u6750\u6D41\u6D3E",value:"all",belongTo:null,enumOptions:[{title:"\u{1F31F} \u5168\u90E8\u9898\u6750 (All)",value:"all"},{title:"\u{1F6F8} \u79D1\u5E7B (Sci-Fi)",value:"scifi"},{title:"\u{1F50D} \u60AC\u7591 (Mystery)",value:"mystery"},{title:"\u{1F47B} \u6050\u6016 (Horror)",value:"horror"},{title:"\u{1F52A} \u72AF\u7F6A (Crime)",value:"crime"},{title:"\u{1F4A5} \u52A8\u4F5C (Action)",value:"action"},{title:"\u{1F602} \u559C\u5267 (Comedy)",value:"comedy"},{title:"\u2764\uFE0F \u7231\u60C5 (Romance)",value:"romance"},{title:"\u{1F3AD} \u5267\u60C5 (Drama)",value:"drama"},{title:"\u{1F409} \u5947\u5E7B (Fantasy)",value:"fantasy"},{title:"\u{1F3A8} \u52A8\u753B (Animation)",value:"animation"},{title:"\u{1F3A5} \u7EAA\u5F55\u7247 (Documentary)",value:"documentary"}]},{name:"region",title:"\u56FD\u5BB6/\u5730\u533A",value:"all",belongTo:null,enumOptions:[{title:"\u{1F30D} \u5168\u7403 (\u6240\u6709\u56FD\u5BB6)",value:"all"},{title:"\u{1F1E8}\u{1F1F3} \u4E2D\u56FD\u5927\u9646",value:"cn"},{title:"\u{1F1ED}\u{1F1F0} \u4E2D\u56FD\u9999\u6E2F",value:"hk"},{title:"\u{1F1F9}\u{1F1FC} \u4E2D\u56FD\u53F0\u6E7E",value:"tw"},{title:"\u{1F3EE} \u6E2F\u53F0 (\u9999\u6E2F+\u53F0\u6E7E)",value:"hktw"},{title:"\u{1F1EF}\u{1F1F5} \u65E5\u672C",value:"jp"},{title:"\u{1F1F0}\u{1F1F7} \u97E9\u56FD",value:"kr"},{title:"\u{1F338} \u65E5\u97E9\u5408\u96C6",value:"jpkr"},{title:"\u{1F1F9}\u{1F1ED} \u6CF0\u56FD",value:"th"},{title:"\u{1F1F8}\u{1F1EC} \u65B0\u52A0\u5761",value:"sg"},{title:"\u{1F1F2}\u{1F1FE} \u9A6C\u6765\u897F\u4E9A",value:"my"},{title:"\u{1F1EE}\u{1F1F3} \u5370\u5EA6",value:"in"},{title:"\u{1F30F} \u4E9A\u592A\u5927\u533A",value:"apac"},{title:"\u{1F1FA}\u{1F1F8} \u7F8E\u56FD",value:"us"},{title:"\u{1F1EC}\u{1F1E7} \u82F1\u56FD",value:"gb"},{title:"\u{1F1E9}\u{1F1EA} \u5FB7\u56FD",value:"de"},{title:"\u{1F1F8}\u{1F1EA} \u745E\u5178",value:"se"},{title:"\u{1F1EA}\u{1F1FA} \u6B27\u6D32\u5168\u5883",value:"europe"},{title:"\u{1F1EA}\u{1F1F8} \u897F\u73ED\u7259",value:"es"},{title:"\u{1F1F2}\u{1F1FD} \u58A8\u897F\u54E5",value:"mx"},{title:"\u{1F483} \u897F\u8BED/\u62C9\u4E01\u7F8E\u6D32",value:"latin"}]},{name:"order_rule",title:"\u6392\u5E8F\u89C4\u5219",value:"popularity",belongTo:null,enumOptions:[{title:"\u{1F525} \u70ED\u95E8\u8D8B\u52BF",value:"popularity"},{title:"\u2B50 \u8BC4\u5206\u6700\u9AD8",value:"rating"},{title:"\u{1F4C5} \u6700\u65B0\u4E0A\u7EBF",value:"time"}]},{name:"page",title:"\u9875\u7801",belongTo:null,enumOptions:[]}]},{moduleId:"mod_3",index:2,title:"\u{1F3AC} \u5168\u80FD\u7535\u5F71\u699C\u5355",functionName:"routeMovieOmni",params:[{name:"movie_source",title:"\u699C\u5355\u6A21\u5F0F",value:"general",belongTo:null,enumOptions:[{title:"\u{1F525} \u7535\u5F71\u7EFC\u5408\u699C",value:"general"},{title:"\u{1F3C6} \u5E74\u5EA6\u6700\u4F73\u7535\u5F71",value:"yearly"},{title:"\u{1F3F7}\uFE0F \u6309\u7C7B\u578B\u63A2\u7D22\u7535\u5F71",value:"genre"}]},{name:"general_sort",title:"\u699C\u5355\u5206\u7C7B",value:"popular",belongTo:{paramName:"movie_source",value:["general"]},enumOptions:[{title:"\u{1F525} \u6D41\u884C\u8D8B\u52BF (Popular)",value:"popular"},{title:"\u2B50\uFE0F \u5386\u53F2\u9AD8\u5206 (Top Rated)",value:"top_rated"},{title:"\u{1F4B0} \u5168\u7403\u7968\u623F\u699C (Box Office)",value:"box_office"},{title:"\u{1F3C6} \u5965\u65AF\u5361\u4F73\u7247 (Oscar)",value:"oscar"}]},{name:"yearly_sort",title:"\u9009\u62E9\u5E74\u4EFD",value:"2024",belongTo:{paramName:"movie_source",value:["yearly"]},enumOptions:[{title:"2025\u5E74 \u6700\u4F73",value:"2025"},{title:"2024\u5E74 \u6700\u4F73",value:"2024"},{title:"2023\u5E74 \u6700\u4F73",value:"2023"},{title:"2022\u5E74 \u6700\u4F73",value:"2022"},{title:"2021\u5E74 \u6700\u4F73",value:"2021"},{title:"2020\u5E74 \u6700\u4F73",value:"2020"},{title:"2019\u5E74 \u6700\u4F73",value:"2019"},{title:"2018\u5E74 \u6700\u4F73",value:"2018"},{title:"2017\u5E74 \u6700\u4F73",value:"2017"},{title:"2016\u5E74 \u6700\u4F73",value:"2016"},{title:"2015\u5E74 \u6700\u4F73",value:"2015"}]},{name:"genre_sort",title:"\u9009\u62E9\u7C7B\u578B",value:"878",belongTo:{paramName:"movie_source",value:["genre"]},enumOptions:[{title:"\u{1F6F8} \u79D1\u5E7B (Sci-Fi)",value:"878"},{title:"\u{1F3AD} \u5267\u60C5 (Drama)",value:"18"},{title:"\u{1F92F} \u60AC\u7591 (Mystery)",value:"9648"},{title:"\u{1F4A5} \u52A8\u4F5C (Action)",value:"28"},{title:"\u{1F602} \u559C\u5267 (Comedy)",value:"35"},{title:"\u2764\uFE0F \u7231\u60C5 (Romance)",value:"10749"},{title:"\u{1F47B} \u6050\u6016 (Horror)",value:"27"},{title:"\u{1F52A} \u72AF\u7F6A (Crime)",value:"80"},{title:"\u{1F9D9}\u200D\u2642\uFE0F \u5947\u5E7B (Fantasy)",value:"14"},{title:"\u{1F984} \u52A8\u753B (Animation)",value:"16"}]},{name:"page",title:"\u9875\u7801",belongTo:null,enumOptions:[]}]},{moduleId:"mod_4",index:3,title:"\u{1F4FA} \u5168\u7403\u7EFC\u827A\u9891\u9053",functionName:"loadVarietyShows",params:[{name:"sort_by",title:"\u56FD\u5BB6/\u5730\u533A",value:"cn",belongTo:null,enumOptions:[{title:"\u{1F1E8}\u{1F1F3} \u4E2D\u56FD\u5927\u9646",value:"cn"},{title:"\u{1F1F0}\u{1F1F7} \u97E9\u56FD",value:"kr"},{title:"\u{1F1EF}\u{1F1F5} \u65E5\u672C",value:"jp"},{title:"\u{1F1F9}\u{1F1FC} \u4E2D\u56FD\u53F0\u6E7E",value:"tw"},{title:"\u{1F1ED}\u{1F1F0} \u4E2D\u56FD\u9999\u6E2F",value:"hk"},{title:"\u{1F1FA}\u{1F1F8} \u6B27\u7F8E\u7EFC\u5408",value:"eu_us"},{title:"\u{1F30D} \u5168\u7403\u7EFC\u5408",value:"all"}]},{name:"list_type",title:"\u6392\u64AD\u4E0E\u699C\u5355",value:"hot",belongTo:null,enumOptions:[{title:"\u{1F525} \u8FD1\u671F\u70ED\u64AD (Hot)",value:"hot"},{title:"\u{1F4C5} \u4ECA\u65E5\u66F4\u65B0 (Today)",value:"today"},{title:"\u{1F51C} \u660E\u65E5\u9884\u544A (Tomorrow)",value:"tomorrow"},{title:"\u{1F4C8} \u6D41\u884C\u8D8B\u52BF (5\u5E74\u5185\u70ED\u699C)",value:"trend"},{title:"\u2B50 \u9AD8\u5206\u795E\u7EA7 (Top Rated)",value:"top"}]},{name:"page",title:"\u9875\u7801",belongTo:null,enumOptions:[]}]},{moduleId:"mod_5",index:4,title:"\u{1F9ED} \u5F71\u5267\u6D41\u884C\u98CE\u5411",functionName:"routeTrendsHub",params:[{name:"hub_source",title:"\u9009\u62E9\u5E73\u53F0",value:"imdb",belongTo:null,enumOptions:[{title:"\u{1F7E1} \u5F71\u5267 IMDb \u6743\u5A01\u699C\u5355",value:"imdb"},{title:"\u{1F345} \u5F71\u5267 \u70C2\u756A\u8304\u98CE\u5411\u6807",value:"rt"},{title:"\u{1F30D} \u5F71\u5267 Trakt \u8D8B\u52BF\u699C",value:"trakt"},{title:"\u{1F7E2} \u5F71\u5267 \u8C46\u74E3 \u56FD\u5185\u98CE\u5411",value:"douban"}]},{name:"imdb_sort",title:"IMDb \u699C\u5355",value:"trending_week",belongTo:{paramName:"hub_source",value:["imdb"]},enumOptions:[{title:"\u{1F4C5} \u672C\u5468\u70ED\u699C (Trending Week)",value:"trending_week"},{title:"\u{1F525} \u4ECA\u65E5\u70ED\u699C (Trending Day)",value:"trending_day"},{title:"\u{1F30A} \u6D41\u884C\u8D8B\u52BF (Popular)",value:"popular"},{title:"\u{1F48E} \u9AD8\u5206\u795E\u4F5C (Top Rated)",value:"top_rated"},{title:"\u{1F1E8}\u{1F1F3} \u56FD\u4EA7\u5267\u70ED\u5EA6(\u6A21\u62DF)",value:"china_tv"},{title:"\u{1F1E8}\u{1F1F3} \u56FD\u4EA7\u7535\u5F71\u70ED\u5EA6(\u6A21\u62DF)",value:"china_movie"}]},{name:"mediaType",title:"\u8303\u56F4 (\u4EC5\u5168\u7403\u699C\u6709\u6548)",value:"all",belongTo:{paramName:"imdb_sort",value:["trending_week","trending_day","popular","top_rated"]},enumOptions:[{title:"\u5168\u90E8 (\u5267\u96C6+\u7535\u5F71)",value:"all"},{title:"\u7535\u5F71",value:"movie"},{title:"\u5267\u96C6",value:"tv"}]},{name:"rt_sort",title:"\u70C2\u756A\u8304 \u699C\u5355",value:"rt_movies_home",belongTo:{paramName:"hub_source",value:["rt"]},enumOptions:[{title:"\u{1F3AC} \u6D41\u5A92\u4F53\u70ED\u6620",value:"rt_movies_home"},{title:"\u{1F37F} \u9662\u7EBF\u70ED\u6620",value:"rt_movies_theater"},{title:"\u{1F48E} \u6700\u4F73\u6D41\u5A92\u4F53",value:"rt_movies_best"},{title:"\u{1F4FA} \u70ED\u95E8\u5267\u96C6",value:"rt_tv_popular"},{title:"\u{1F195} \u6700\u65B0\u4E0A\u7EBF",value:"rt_tv_new"}]},{name:"trakt_sort",title:"Trakt \u699C\u5355",value:"trending",belongTo:{paramName:"hub_source",value:["trakt"]},enumOptions:[{title:"\u{1F525} \u5B9E\u65F6\u70ED\u64AD (Trending)",value:"trending"},{title:"\u{1F30A} \u6700\u53D7\u6B22\u8FCE (Popular)",value:"popular"},{title:"\u2764\uFE0F \u6700\u53D7\u671F\u5F85 (Anticipated)",value:"anticipated"}]},{name:"traktType",title:"Trakt \u7C7B\u578B",value:"all",belongTo:{paramName:"hub_source",value:["trakt"]},enumOptions:[{title:"\u5168\u90E8 (\u5267\u96C6+\u7535\u5F71)",value:"all"},{title:"\u5267\u96C6",value:"shows"},{title:"\u7535\u5F71",value:"movies"}]},{name:"db_sort",title:"\u8C46\u74E3 \u699C\u5355",value:"db_tv_cn",belongTo:{paramName:"hub_source",value:["douban"]},enumOptions:[{title:"\u{1F1E8}\u{1F1F3} \u70ED\u95E8\u56FD\u4EA7\u5267",value:"db_tv_cn"},{title:"\u{1F3A4} \u70ED\u95E8\u7EFC\u827A",value:"db_variety"},{title:"\u{1F3AC} \u70ED\u95E8\u7535\u5F71",value:"db_movie"},{title:"\u{1F1FA}\u{1F1F8} \u70ED\u95E8\u7F8E\u5267",value:"db_tv_us"}]},{name:"page",title:"\u9875\u7801",belongTo:null,enumOptions:[]}]},{moduleId:"mod_6",index:5,title:"\u{1F500} \u5E73\u53F0\u5206\u6D41\u7247\u5E93",functionName:"loadPlatformMatrix",params:[{name:"sort_by",title:"\u5185\u5BB9\u5206\u7C7B",value:"tv_drama",belongTo:null,enumOptions:[{title:"\u{1F4FA} \u7535\u89C6\u5267",value:"tv_drama"},{title:"\u{1F3A4} \u7EFC\u827A",value:"tv_variety"},{title:"\u{1F432} \u52A8\u6F2B",value:"tv_anime"},{title:"\u{1F3AC} \u7535\u5F71",value:"movie"}]},{name:"platform",title:"\u64AD\u51FA\u5E73\u53F0",value:"2007",belongTo:null,enumOptions:[{title:"\u817E\u8BAF\u89C6\u9891",value:"2007"},{title:"\u7231\u5947\u827A",value:"1330"},{title:"\u4F18\u9177",value:"1419"},{title:"\u8292\u679CTV",value:"1631"},{title:"Bilibili",value:"1605"},{title:"Netflix",value:"213"},{title:"Disney+",value:"2739"},{title:"HBO",value:"49"},{title:"Apple TV+",value:"2552"}]},{name:"sort",title:"\u6392\u5E8F",value:"popularity.desc",belongTo:null,enumOptions:[{title:"\u{1F525} \u70ED\u5EA6\u6700\u9AD8",value:"popularity.desc"},{title:"\u{1F4C5} \u6700\u65B0\u9996\u64AD",value:"first_air_date.desc"},{title:"\u2B50 \u8BC4\u5206\u6700\u9AD8",value:"vote_average.desc"}]},{name:"page",title:"\u9875\u7801",belongTo:null,enumOptions:[]}]},{moduleId:"mod_7",index:6,title:"\u{1F947} \u6D41\u5A92\u4F53TOP10",functionName:"loadOfficialTop10",params:[{name:"sort_by",title:"\u699C\u5355\u5730\u533A",value:"united-states",belongTo:null,enumOptions:[{title:"\u{1F1FA}\u{1F1F8} \u7F8E\u56FD",value:"united-states"},{title:"\u{1F1F0}\u{1F1F7} \u97E9\u56FD",value:"south-korea"},{title:"\u{1F1F9}\u{1F1FC} \u53F0\u6E7E",value:"taiwan"},{title:"\u{1F1ED}\u{1F1F0} \u9999\u6E2F",value:"hong-kong"},{title:"\u{1F1EF}\u{1F1F5} \u65E5\u672C",value:"japan"},{title:"\u{1F1EC}\u{1F1E7} \u82F1\u56FD",value:"united-kingdom"},{title:"\u{1F30D} \u5168\u7403",value:"world"}]},{name:"platform",title:"\u6D41\u5A92\u4F53\u5E73\u53F0",value:"netflix",belongTo:null,enumOptions:[{title:"Netflix",value:"netflix"},{title:"HBO",value:"hbo"},{title:"Disney+",value:"disney"},{title:"Apple TV+",value:"apple-tv"},{title:"Amazon Prime",value:"amazon-prime"}]},{name:"mediaType",title:"\u699C\u5355\u7C7B\u578B",value:"tv",belongTo:null,enumOptions:[{title:"\u{1F4FA} \u5267\u96C6 (TV Shows)",value:"tv"},{title:"\u{1F3AC} \u7535\u5F71 (Movies)",value:"movie"}]},{name:"page",title:"\u9875\u7801",belongTo:null,enumOptions:[]}]}]});var F$t={};Bt(F$t,{default:()=>aSn});async function kNe(e,t,r,n){let s=R$t[e]||R$t.category,i=s.get(t);return i!==null?i:Pn("zhuijujuhe",e,t,async()=>{let a=await n();return s.set(t,a),a},{timeout:3e4})}function P$t(e){let t=Number.parseInt(e,10);return Number.isNaN(t)||t<=0?1:t}function LNe(e=""){return String(e).replace(/[\u{1F300}-\u{1FAFF}\u{2600}-\u{27BF}]/gu,"").replace(/\s+/g," ").trim()}function Gs(e,t=""){return e==null?t:String(e).trim()}function L$t(e,t){return`${lvn}/${e==="movie"?"movie":"tv"}/${t}`}async function pp(e,t={}){let r={"User-Agent":O$t,...t.headers||{}};return Ye.get(e,{...t,headers:r})}async function Ki(e,t={}){let r={api_key:ovn,language:"zh-CN",...t.params||{}};return(await pp(`${uvn}${e}`,{...t,params:r,timeout:t.timeout||15e3}))?.data||{}}function fvn(e){return`mod_${e+1}`}function M$t(){let e=new Map;return b$t.forEach((t,r)=>{e.set(fvn(r),{...t,__index:r})}),e}function C$t(e=[]){return e.filter(t=>t&&t.name!=="page").map(t=>({key:t.name,name:t.title||t.name,init:t.value??"",showWhen:t.belongTo?{key:t.belongTo.paramName,values:Array.isArray(t.belongTo.value)?t.belongTo.value:[t.belongTo.value]}:null,value:Array.isArray(t.enumOptions)?t.enumOptions.map(r=>({n:Gs(r.title||r.label||r.value),v:Gs(r.value)})):[]}))}function hvn(e){return(e.params||[]).find(t=>t&&!t.belongTo&&t.name!=="page"&&Array.isArray(t.enumOptions)&&t.enumOptions.length>1)}function pvn(e,t,r){return`${e}__${t}__${r}`}function mvn(e){let t=String(e).match(/^(mod_\d+)__([^_]+(?:_[^_]+)*)__(.+)$/);return t?{moduleId:t[1],rootParamName:t[2],rootValue:t[3]}:null}function gvn(){let e=M$t(),t=[],r={};for(let[n,s]of e.entries()){let i=hvn(s),a=Evn(s,i);if(!i||!a){t.push({type_id:n,type_name:LNe(s.title||s.functionName||n)}),r[n]=C$t(s.params||[]);continue}for(let o of i.enumOptions||[]){let c=pvn(n,i.name,Gs(o.value)),u=LNe(o.title||o.label||o.value||`${s.title}`),l={[i.name]:Gs(o.value)},d=(s.params||[]).filter(f=>!f||f.name==="page"||f.name===i.name?!1:U$t(f,l));t.push({type_id:c,type_name:u}),r[c]=yvn(c,C$t(d).map(f=>({...f,showWhen:null})))}}return{classes:t,filters:r}}async function _vn(e){try{let t=await e?.db?.getObjectDefault("/config/zhuiju",{});return t&&typeof t=="object"?t:{}}catch{return{}}}function Avn(e=[],t={},r={}){let n=r?.classes&&typeof r.classes=="object"?r.classes:{},i=e.map((o,c)=>{let u=n[o.type_id]||{};return{...o,type_name:Gs(u.name,o.type_name)||o.type_name,__hidden:u.hidden===!0,__order:Number.isFinite(Number(u.order))?Number(u.order):c+1}}).filter(o=>!o.__hidden).sort((o,c)=>o.__order-c.__order||o.type_name.localeCompare(c.type_name,"zh-CN")).map(({__hidden:o,__order:c,...u})=>u),a={};return i.forEach(o=>{a[o.type_id]=t[o.type_id]||[]}),{classes:i,filters:a}}function Evn(e,t){return t?!!new Set(["anime_source","movie_source","hub_source"]).has(t.name):!1}function yvn(e,t=[]){let r=vvn(e);return!r||!Object.keys(r).length?t:t.map(n=>Object.prototype.hasOwnProperty.call(r,n.key)?{...n,init:r[n.key]}:n)}function vvn(e){switch(e){case"mod_5__hub_source__imdb":return{imdb_sort:"trending_week",mediaType:"all"};case"mod_6__sort_by__movie":return{platform:"213",sort:"popularity.desc"};case"mod_7__sort_by__united-kingdom":return{platform:"netflix",mediaType:"tv"};default:return null}}function Svn(e,t=""){let r=Gs(e?.tmdbId||e?.id),n=Gs(e?.title,"\u672A\u547D\u540D"),s=Gs(e?.subTitle||e?.genreTitle||e?.date||e?.releaseDate,t),i=Gs(e?.description||e?.desc||e?.overview,"\u6682\u65E0\u7B80\u4ECB"),a=Gs(e?.posterPath||e?.poster||e?.cover||e?.image),o=Gs(e?.year||(e?.releaseDate||e?.date||"").slice(0,4));return{vod_id:`${e?.mediaType==="movie"?"movie":"tv"}:${r}`,vod_name:n,vod_pic:a,vod_remarks:s,vod_year:o,vod_content:i,vod_tag:Gs(e?.genreTitle)}}function T0(e){if(!e||!Array.isArray(e))return"\u5F71\u89C6";let t=e.map(r=>dvn[r]).filter(Boolean);return t.length>0?t.slice(0,2).join(" / "):"\u5F71\u89C6"}function sw({id:e,tmdbId:t,type:r,title:n,date:s,poster:i,backdrop:a,genreText:o,subTitle:c,desc:u}){let l=[s,c].filter(Boolean).join(" \xB7 "),d=u?` +${u}`:` +\u6682\u65E0\u7B80\u4ECB`;return{id:String(e),tmdbId:parseInt(t,10)||parseInt(e,10),type:"tmdb",mediaType:r,title:n,genreTitle:o||(r==="tv"?"\u5267\u96C6":"\u7535\u5F71"),description:l?l+d:u||"\u6682\u65E0\u7B80\u4ECB",releaseDate:s,posterPath:i?String(i).startsWith("http")?String(i):`https://image.tmdb.org/t/p/w500${i}`:"",backdropPath:a?String(a).startsWith("http")?String(a):`https://image.tmdb.org/t/p/w780${a}`:"",subTitle:c}}function x$t(e){return Gs(e).replace(/[./]/g,"-")}async function Tvn(e,t={},r={}){let n={"User-Agent":O$t,"Content-Type":"application/json",...r.headers||{}};return Ye.post(e,t,{...r,headers:n})}async function mB(e,t,r){async function n(i){if(!i||typeof i!="string")return null;let a=i.replace(/第[一二三四五六七八九十\d]+[季章]/g,"").replace(/Season \d+/i,"").trim();try{let o={query:a,language:"zh-CN",include_adult:!1};r&&(o.first_air_date_year=r);let c=await Ki("/search/tv",{params:o}),u=c.results||[];u.length===0&&r&&(delete o.first_air_date_year,c=await Ki("/search/tv",{params:o}),u=c.results||[]);let l=u.filter(h=>Array.isArray(h.genre_ids)&&h.genre_ids.includes(16));if(l.length>0)return l.find(h=>h.poster_path)||l[0];let d={query:a,language:"zh-CN",include_adult:!1};r&&(d.primary_release_year=r),c=await Ki("/search/movie",{params:d}),u=c.results||[],u.length===0&&r&&(delete d.primary_release_year,c=await Ki("/search/movie",{params:d}),u=c.results||[]);let f=u.filter(h=>Array.isArray(h.genre_ids)&&h.genre_ids.includes(16));if(f.length>0)return f.find(h=>h.poster_path)||f[0]}catch{}return null}let s=await n(e);return!s&&t&&e!==t&&(s=await n(t)),s}async function MNe(e){return Array.isArray(e)?(await Promise.all(e.map(async r=>{let n=r.name_cn||r.title||r.name,s=r.title!==n?r.title:null,i=r.releaseDate||r.description||r.air_date||r.info||"",a=Gs(i).match(/(\d{4})/),o=a?a[1]:null,c=await mB(n,s,o);return c?{id:String(c.id),tmdbId:parseInt(c.id,10),type:"tmdb",mediaType:c.title?"movie":"tv",title:c.name||c.title||n,genreTitle:T0(c.genre_ids),description:c.first_air_date||c.release_date||x$t(i)||"\u5373\u5C06\u64AD\u51FA",releaseDate:c.first_air_date||c.release_date||x$t(i),posterPath:c.poster_path?`https://image.tmdb.org/t/p/w500${c.poster_path}`:"",backdropPath:c.backdrop_path?`https://image.tmdb.org/t/p/w780${c.backdrop_path}`:"",rating:c.vote_average?c.vote_average.toFixed(1):r.rating||"0.0"}:null}))).filter(Boolean):[]}async function bvn(e={}){let{sort_by:t="today",page:r=1}=e,n=parseInt(t,10);if(t==="today"){let s=new Date().getDay();n=s===0?7:s}try{let i=((await pp("https://api.bgm.tv/calendar")).data||[]).find(u=>u.weekday&&u.weekday.id===n);if(!i)return[];let a=20,o=i.items.slice((r-1)*a,r*a);return(await Promise.all(o.map(async u=>{let l=Gs(u.name_cn||u.name).replace(/第[一二三四五六七八九十\d]+[季章]/g,"").trim(),d=u.air_date?u.air_date.substring(0,4):null,f=await mB(l,u.name,d);return f?sw({id:f.id,tmdbId:f.id,type:"tv",title:f.name||f.title||u.name_cn||u.name,date:f.first_air_date||u.air_date,poster:f.poster_path,backdrop:f.backdrop_path,genreText:T0(f.genre_ids),desc:f.overview||u.summary||"\u6682\u65E0\u7B80\u4ECB"}):null}))).filter(Boolean)}catch{return[]}}async function Ivn(e={}){let t=e.category||"anime",r=parseInt(e.page||"1",10),n=20,s=(r-1)*n,i=await kNe("home",`bangumi-hot:${t}`,RQ,async()=>(await pp(cvn,{timeout:15e3}))?.data||{});return(t==="anime"?i?.hot_anime||[]:Array.isArray(i?.[t])?i[t]:[]).slice(s,s+n).map((o,c)=>{let u=Gs(o.description).split(` +`),l=u.length>1?u.slice(1).join(` +`):o.description;return sw({id:o.id,tmdbId:o.tmdbId,type:o.mediaType||o.type||"tv",title:o.title,date:o.releaseDate||"",poster:o.posterPath,backdrop:o.backdropPath,genreText:o.genreTitle,subTitle:`\u{1F525} \u70ED\u5EA6 TOP ${s+c+1}`,desc:l||"\u6682\u65E0\u7B80\u4ECB"})})}async function Rvn(e={}){let t=e.category||"anime",r=e.year||`${new Date().getFullYear()}`,n=e.month||"all",s=e.sort||"collects",i=parseInt(e.page||"1",10),a=`airtime-${t}-${r}-${n}-${s}-${i}`;if(nw.airtime[a])return MNe(nw.airtime[a]);let o=`https://bgm.tv/${t}/browser/airtime/${r}/${n}?sort=${s}&page=${i}`,c=await k$t.processBangumiPage(o);return nw.airtime[a]=c,MNe(c)}async function Cvn(e={}){nw.daily.length||(nw.daily=await k$t.processDailyCalendar());let t=nw.daily||[],{filterType:r="today",specificWeekday:n="1",dailySortOrder:s="popularity_rat_bgm"}=e,i={0:7,1:1,2:2,3:3,4:4,5:5,6:6},a=[];if(r==="all_week")a=t;else{let c=new Date().getDay(),u=new Set;switch(r){case"today":u.add(i[c]);break;case"specific_day":u.add(parseInt(n,10));break;case"mon_thu":[1,2,3,4].forEach(l=>u.add(l));break;case"fri_sun":[5,6,7].forEach(l=>u.add(l));break;default:u.add(i[c])}a=t.filter(l=>l.bgm_weekday_id&&u.has(l.bgm_weekday_id))}let o=[...a];return s!=="default"&&o.sort((c,u)=>s==="popularity_rat_bgm"?(u.bgm_rating_total||0)-(c.bgm_rating_total||0):s==="score_bgm_desc"?(u.bgm_score||0)-(c.bgm_score||0):s==="airdate_desc"?new Date(u.air_date||0).getTime()-new Date(c.air_date||0).getTime():0),MNe(o)}async function xvn(e={}){let{sort_by:t="1",page:r=1}=e,n=`https://api.bilibili.com/pgc/web/rank/list?day=3&season_type=${t}`;try{let s=await pp(n,{headers:{Referer:"https://www.bilibili.com/"}}),i=s.data?.result?.list||s.data?.data?.list||[],a=20,o=i.slice((r-1)*a,r*a);return(await Promise.all(o.map(async u=>{let l=Gs(u.title).replace(/第[一二三四五六七八九十\d]+[季章]/g,"").trim(),d=await mB(l,u.title,null);return d?sw({id:d.id,tmdbId:d.id,type:"tv",title:d.name||d.title,date:d.first_air_date,poster:d.poster_path,backdrop:d.backdrop_path,genreText:T0(d.genre_ids),desc:d.overview,subTitle:u.new_ep?.index_show||"\u70ED\u64AD\u4E2D"}):null}))).filter(Boolean)}catch{return[]}}async function wvn(e={}){let{sort_by:t="trending",page:r=1}=e,n={language:"zh-CN",page:r,with_genres:"16",with_original_language:"ja"};t==="trending"?n.sort_by="popularity.desc":t==="new"?n.sort_by="first_air_date.desc":t==="top"&&(n.sort_by="vote_average.desc");try{return((await Ki("/discover/tv",{params:n})).results||[]).map(i=>sw({id:i.id,tmdbId:i.id,type:"tv",title:i.name||i.title,date:i.first_air_date,poster:i.poster_path,backdrop:i.backdrop_path,genreText:T0(i.genre_ids),desc:i.overview}))}catch{return[]}}async function Nvn(e={}){let{sort_by:t="TRENDING_DESC",page:r=1}=e,n=`query ($page: Int, $perPage: Int) { Page (page: $page, perPage: $perPage) { media (sort: ${t}, type: ANIME) { title { native romaji english } averageScore seasonYear } } }`;try{let i=(await Tvn("https://graphql.anilist.co",{query:n,variables:{page:r,perPage:20}})).data?.data?.Page?.media||[];return(await Promise.all(i.map(async o=>{let c=await mB(o.title.native||o.title.romaji,o.title.english,o.seasonYear);return c?sw({id:c.id,tmdbId:c.id,type:"tv",title:c.name||c.title,date:c.first_air_date,poster:c.poster_path,backdrop:c.backdrop_path,genreText:T0(c.genre_ids),desc:c.overview}):null}))).filter(Boolean)}catch{return[]}}async function Ovn(e={}){let{sort_by:t="airing",page:r=1}=e,n={page:r};t==="airing"?n.filter="airing":t==="upcoming"&&(n.filter="upcoming");try{let i=(await pp("https://api.jikan.moe/v4/top/anime",{params:n})).data?.data||[];return(await Promise.all(i.map(async o=>{let c=await mB(o.title_japanese||o.title,o.title_english,null);return c?sw({id:c.id,tmdbId:c.id,type:"tv",title:c.name||c.title,date:c.first_air_date,poster:c.poster_path,backdrop:c.backdrop_path,genreText:T0(c.genre_ids),desc:c.overview}):null}))).filter(Boolean)}catch{return[]}}async function Dvn(e){let t=e.anime_source||"cal",r={page:e.page||1};return t==="cal"?(r.sort_by=e.cal_day||"today",bvn(r)):t==="bili"?(r.sort_by=e.bili_sort||"1",xvn(r)):t==="hot"?(r.category=e.hot_cat||"anime",Ivn(r)):t==="rank"?(r.category=e.rank_cat||"anime",r.year=e.rank_year||"2026",r.month=e.rank_month||"all",r.sort=e.rank_sort||"collects",Rvn(r)):t==="daily"?(r.filterType=e.daily_filter||"today",r.specificWeekday=e.daily_weekday||"1",r.dailySortOrder=e.daily_sort||"popularity_rat_bgm",Cvn(r)):t==="tmdb"?(r.sort_by=e.tmdb_sort||"trending",wvn(r)):t==="anilist"?(r.sort_by=e.anilist_sort||"TRENDING_DESC",Nvn(r)):t==="mal"?(r.sort_by=e.mal_sort||"airing",Ovn(r)):[]}function ib(e){if(!e)return null;let t=e.release_date||e.first_air_date||"";return{id:String(e.id),tmdbId:parseInt(e.id,10),type:"tmdb",mediaType:e.title?"movie":"tv",title:e.title||e.name,releaseDate:t,genreTitle:T0(e.genre_ids),subTitle:t?t.substring(0,4):"\u672A\u77E5",posterPath:e.poster_path?`https://image.tmdb.org/t/p/w500${e.poster_path}`:"",backdropPath:e.backdrop_path?`https://image.tmdb.org/t/p/w780${e.backdrop_path}`:"",description:`${t} +${e.overview||"\u6682\u65E0\u7B80\u4ECB"}`}}async function DNe(e,t,r,n,s){let i=Pvn[t]?.[e]||"",a=Lvn[r]||"",c={language:"zh-CN",page:s,sort_by:n==="rating"?"vote_average.desc":n==="time"?e==="movie"?"primary_release_date.desc":"first_air_date.desc":"popularity.desc",include_adult:!1,include_video:!1};if(i&&(c.with_genres=i),a&&(c.with_origin_country=a),c["vote_count.gte"]=n==="rating"?200:10,n==="time"){let u=new Date;u.setMonth(u.getMonth()+1);let l=u.toISOString().split("T")[0];e==="movie"?c["primary_release_date.lte"]=l:c["first_air_date.lte"]=l}try{return((await Ki(`/discover/${e}`,{params:c})).results||[]).map(l=>({...ib(l),_popularity:l.popularity||0,_date:l.release_date||l.first_air_date||"1970-01-01"}))}catch{return[]}}async function Mvn(e={}){let t=parseInt(e.page,10)||1,r=e.sort_by||"all",n=e.genre||"all",s=e.region||"all",i=e.order_rule||"popularity";if(r==="all"){let[a,o]=await Promise.all([DNe("movie",n,s,i,t),DNe("tv",n,s,i,t)]);return[...a,...o].sort((u,l)=>i==="time"?new Date(l._date)-new Date(u._date):l._popularity-u._popularity).slice(0,20)}return DNe(r,n,s,i,t)}async function kvn(e={}){let t=e.sort_by||"popular",r="/movie/popular",n={language:"zh-CN",page:e.page||1};t==="top_rated"?r="/movie/top_rated":t==="box_office"?(r="/discover/movie",n.sort_by="revenue.desc"):t==="oscar"&&(r="/discover/movie",n.with_keywords="818",n.sort_by="vote_average.desc",n["vote_count.gte"]=1e3);try{return((await Ki(r,{params:n})).results||[]).map(ib).filter(Boolean)}catch{return[]}}async function Bvn(e={}){try{return((await Ki("/discover/movie",{params:{language:"zh-CN",page:e.page||1,primary_release_year:e.sort_by||"2024",sort_by:"vote_average.desc","vote_count.gte":500}})).results||[]).map(ib).filter(Boolean)}catch{return[]}}async function Uvn(e={}){try{return((await Ki("/discover/movie",{params:{language:"zh-CN",page:e.page||1,with_genres:e.sort_by||"878",sort_by:"popularity.desc"}})).results||[]).map(ib).filter(Boolean)}catch{return[]}}async function Fvn(e={}){let t=e.movie_source||"general",r={page:e.page||1};return t==="general"?(r.sort_by=e.general_sort||"popular",kvn(r)):t==="yearly"?(r.sort_by=e.yearly_sort||"2024",Bvn(r)):t==="genre"?(r.sort_by=e.genre_sort||"878",Uvn(r)):[]}async function $vn(e={}){let t=parseInt(e.page,10)||1,r=e.sort_by||"cn",n=e.list_type||"hot",s={all:"",cn:"CN",kr:"KR",jp:"JP",tw:"TW",hk:"HK",eu_us:"US|GB|DE|FR|IT|ES|CA|AU"},i={language:"zh-CN",page:t,with_genres:"10764|10767",include_adult:!1};s[r]&&(i.with_origin_country=s[r]);let a=new Date,o=a.toISOString().split("T")[0],c=new Date(a);c.setDate(c.getDate()+1);let u=c.toISOString().split("T")[0],l=new Date(a);l.setFullYear(l.getFullYear()-5),n==="today"?(i.sort_by="popularity.desc",i["air_date.gte"]=o,i["air_date.lte"]=o):n==="tomorrow"?(i.sort_by="popularity.desc",i["air_date.gte"]=u,i["air_date.lte"]=u):n==="trend"?(i.sort_by="popularity.desc",i["first_air_date.gte"]=l.toISOString().split("T")[0]):n==="top"?(i.sort_by="vote_average.desc",i["vote_count.gte"]=15):i.sort_by="popularity.desc";try{return((await Ki("/discover/tv",{params:i})).results||[]).map(f=>({...ib({...f,title:f.name}),mediaType:"tv"})).filter(Boolean)}catch{return[]}}async function w$t(e,t){try{return((await Ki(`/discover/${e}`,{params:t})).results||[]).map(ib).filter(Boolean)}catch{return[]}}async function qvn(e={}){let t=e.sort_by||"tv_drama",r=e.platform||"2007",n=e.sort||"popularity.desc",s=e.page||1;if(t==="movie"&&!["213","2739","49","2552"].includes(r))return[];let a={language:"zh-CN",sort_by:n,page:s,include_adult:!1,include_null_first_air_dates:!1};if(t.startsWith("tv_"))return a.with_networks=r,t==="tv_anime"?a.with_genres="16":t==="tv_variety"?a.with_genres="10764|10767":t==="tv_drama"&&(a.without_genres="16,10764,10767"),w$t("tv",a);let o={213:"8",2739:"337",49:"1899|15",2552:"350"};return a.watch_region="US",a.with_watch_providers=o[r]||"8",w$t("movie",a)}async function Hvn(e,t,r){let n={netflix:"8",disney:"337",hbo:"1899|118","apple-tv":"350","amazon-prime":"119"},s={"united-states":"US","south-korea":"KR",taiwan:"TW","hong-kong":"HK",japan:"JP","united-kingdom":"GB",world:"US"};try{return((await Ki(`/discover/${r}`,{params:{watch_region:s[t]||"US",with_watch_providers:n[e]||"8",sort_by:"popularity.desc",page:1,language:"zh-CN"}})).results||[]).slice(0,10).map((a,o)=>({...ib(a),subTitle:`TOP ${o+1}`}))}catch{return[]}}async function Vvn(e={}){return Hvn(e.platform||"netflix",e.sort_by||"united-states",e.mediaType||"tv")}function pB(e,t){if(!e)return null;let r=t||e.media_type||(e.title?"movie":"tv"),n=e.release_date||e.first_air_date||"";return{id:String(e.id),tmdbId:parseInt(e.id,10),type:"tmdb",mediaType:r,title:e.title||e.name,subTitle:n||"",description:n?`${n} +${e.overview||"\u6682\u65E0\u7B80\u4ECB"}`:e.overview||"\u6682\u65E0\u7B80\u4ECB",releaseDate:n,posterPath:e.poster_path?`https://image.tmdb.org/t/p/w500${e.poster_path}`:"",backdropPath:e.backdrop_path?`https://image.tmdb.org/t/p/w780${e.backdrop_path}`:"",year:n.substring(0,4),genreTitle:T0(e.genre_ids)||(r==="tv"?"\u5267\u96C6":"\u7535\u5F71")}}async function B$t(e="trending_week",t="all",r=1){try{let n=[];if(String(e).startsWith("china_")){let a=e==="china_tv"?"tv":"movie";return((await Ki(`/discover/${a}`,{params:{language:"zh-CN",page:r,sort_by:"popularity.desc",with_original_language:"zh","vote_count.gte":2}})).results||[]).map(c=>pB(c,a))}if(String(e).startsWith("trending_"))return n=((await Ki(`/trending/${t==="all"?"all":t}/${e==="trending_day"?"day":"week"}`,{params:{language:"zh-CN",page:r}})).results||[]).map(c=>pB(c)),n;if(t==="all"){let[i,a]=await Promise.all([Ki(`/movie/${e}`,{params:{language:"zh-CN",page:r}}),Ki(`/tv/${e}`,{params:{language:"zh-CN",page:r}})]),o=(i.results||[]).map(u=>pB(u,"movie")),c=(a.results||[]).map(u=>pB(u,"tv"));return[...o,...c].slice(0,20)}return((await Ki(`/${t}/${e}`,{params:{language:"zh-CN",page:r}})).results||[]).map(i=>pB(i,t))}catch{return[]}}async function jvn(e){let t=N$t[e]||N$t.rt_movies_home;try{let r=await pp(t),n=Br(r.data||""),s=[];return n('[data-qa="discovery-media-list-item"]').each((i,a)=>{let o=n(a),c=o.find('[data-qa="discovery-media-list-item-title"]').text().trim();if(!c)return;let u=o.find("score-pairs");s.push({title:c,tomatoScore:u.attr("critics-score")||"",popcornScore:u.attr("audiencescore")||"",mediaType:String(e).includes("tv")?"tv":"movie"})}),s}catch{return[]}}async function Kvn(e,t){try{let r=Gs(e.title).replace(/\s\(\d{4}\)$/,""),s=((await Ki(`/search/${e.mediaType}`,{params:{query:r,language:"zh-CN"}})).results||[])[0];if(!s)return null;let i=[];e.tomatoScore&&i.push(`\u{1F345} ${e.tomatoScore}%`),e.popcornScore&&i.push(`\u{1F37F} ${e.popcornScore}%`);let a=s.first_air_date||s.release_date||"";return{id:String(s.id),tmdbId:s.id,type:"tmdb",mediaType:e.mediaType,title:`${t}. ${s.name||s.title}`,genreTitle:T0(s.genre_ids)||(e.mediaType==="movie"?"\u7535\u5F71":"\u5267\u96C6"),description:`${a} +\u539F\u540D: ${e.title}`,releaseDate:a,subTitle:i.join(" ")||"\u70C2\u756A\u8304\u8BA4\u8BC1",posterPath:s.poster_path?`https://image.tmdb.org/t/p/w500${s.poster_path}`:"",backdropPath:s.backdrop_path?`https://image.tmdb.org/t/p/w780${s.backdrop_path}`:""}}catch{return null}}async function Gvn(e,t=1){let r=await jvn(e);if(!r.length){let o=String(e).includes("tv")?"tv":"movie";return B$t("popular",o,t)}let n=15,s=(t-1)*n,i=r.slice(s,s+n);return(await Promise.all(i.map((o,c)=>Kvn(o,s+c+1)))).filter(Boolean)}async function PNe(e,t,r,n){try{return(await pp(`https://api.trakt.tv/${e}/${t}?limit=15&page=${n}`,{headers:{"Content-Type":"application/json","trakt-api-version":"2","trakt-api-key":r}})).data||[]}catch{return[]}}async function Yvn(e="trending",t="all",r="95b59922670c84040db3632c7aac6f33704f6ffe5cbf3113a056e37cb45cb482",n=1){let s=[];if(t==="all"){let[a,o]=await Promise.all([PNe("movies",e,r,n),PNe("shows",e,r,n)]);s=[...a,...o].sort((c,u)=>(u.watchers||u.list_count||0)-(c.watchers||c.list_count||0))}else s=await PNe(t,e,r,n);return s.length?(await Promise.all(s.slice(0,20).map(async(a,o)=>{let c=a.show||a.movie||a,u=a.show?"tv":"movie",l=e==="trending"?`\u{1F525} ${a.watchers||0} \u4EBA\u5728\u770B`:e==="anticipated"?`\u2764\uFE0F ${a.list_count||0} \u4EBA\u60F3\u770B`:`No. ${(n-1)*15+o+1}`;if(t==="all"&&(l=`[${u==="tv"?"\u5267":"\u5F71"}] ${l}`),!c?.ids?.tmdb)return null;try{let d=await Ki(`/${u}/${c.ids.tmdb}`,{params:{language:"zh-CN"}});return{id:String(d.id),tmdbId:d.id,type:"tmdb",mediaType:u,title:d.name||d.title||c.title,genreTitle:T0((d.genres||[]).map(f=>f.id)),releaseDate:d.first_air_date||d.release_date||"",subTitle:l,description:`${d.first_air_date||d.release_date||""} +${d.overview||"\u6682\u65E0\u7B80\u4ECB"}`,posterPath:d.poster_path?`https://image.tmdb.org/t/p/w500${d.poster_path}`:"",backdropPath:d.backdrop_path?`https://image.tmdb.org/t/p/w780${d.backdrop_path}`:""}}catch{return null}}))).filter(Boolean):[]}async function Qvn(e,t){try{let r=Gs(e).replace(/第[一二三四五六七八九十\d]+[季章]/g,"").trim();return((await Ki(`/search/${t}`,{params:{query:r,language:"zh-CN"}})).results||[])[0]||null}catch{return null}}function zvn(e,t){e.id=String(t.id),e.tmdbId=t.id,e.posterPath=t.poster_path?`https://image.tmdb.org/t/p/w500${t.poster_path}`:e.posterPath,e.backdropPath=t.backdrop_path?`https://image.tmdb.org/t/p/w780${t.backdrop_path}`:"";let r=t.first_air_date||t.release_date||"";e.genreTitle=T0(t.genre_ids)||(e.mediaType==="tv"?"\u5267\u96C6":"\u7535\u5F71"),e.releaseDate=r,e.description=`${r?`${r} \xB7 `:""}${e.subTitle}${t.overview?` +${t.overview}`:` +\u6682\u65E0\u7B80\u4ECB`}`}async function Wvn(e,t,r=1){let n=(r-1)*20;try{let s=Math.random().toString(36).slice(2,13),i=await pp(`https://movie.douban.com/j/search_subjects?type=${t}&tag=${encodeURIComponent(e)}&sort=recommend&page_limit=20&page_start=${n}`,{headers:{"User-Agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X)",Referer:"https://movie.douban.com/explore",Host:"movie.douban.com","X-Requested-With":"XMLHttpRequest",Cookie:`bid=${s};`}}),o=(typeof i.data=="string"?JSON.parse(i.data):i.data||{}).subjects||[];return await Promise.all(o.map(async u=>{let l={id:`db_${u.id}`,type:"tmdb",mediaType:t,title:u.title,subTitle:`\u8C46\u74E3 ${u.rate}`,description:`\u8C46\u74E3 ${u.rate} +\u6682\u65E0\u7B80\u4ECB`,genreTitle:t==="tv"?"\u5267\u96C6":"\u7535\u5F71",posterPath:u.cover},d=await Qvn(u.title,t);return d&&zvn(l,d),l}))}catch{return[]}}async function Xvn(e={}){let t=e.hub_source||"imdb",r=e.page||1;if(t==="rt")return Gvn(e.rt_sort||"rt_movies_home",r);if(t==="imdb")return B$t(e.imdb_sort||"trending_week",e.mediaType||"all",r);if(t==="trakt")return Yvn(e.trakt_sort||"trending",e.traktType||"all",e.traktClientId,r);if(t==="douban"){let n=e.db_sort||"db_tv_cn",s="\u70ED\u95E8",i="tv";return n==="db_tv_cn"?(s="\u56FD\u4EA7\u5267",i="tv"):n==="db_variety"?(s="\u7EFC\u827A",i="tv"):n==="db_movie"?(s="\u70ED\u95E8",i="movie"):n==="db_tv_us"&&(s="\u7F8E\u5267",i="tv"),Wvn(s,i,r)}return[]}async function Jvn(e,t){return{}}async function Zvn(e,t){let r=Vr("zhuijujuhe",arguments[0]||{}),n=jr(r);if(n)return n;let s=e?.query?.raw==="1"||e?.query?.raw===1||e?.query?.raw===!0,i=gvn();if(s)return{class:i.classes,filters:i.filters};let a=await _vn(e?.server),o=Avn(i.classes,i.filters,a),c={class:o.classes,filters:o.filters};return sn(r,c,Rt.semiStatic),c}function U$t(e,t){let r=e?.belongTo;if(!r||!r.paramName)return!0;let n=t?.[r.paramName];return Array.isArray(r.value)?r.value.includes(n):n===r.value}function eSn(e,t={}){let r=t.filters||{},n={};for(let i of e.params||[])!i||i.name==="page"||i.belongTo||(r[i.name]!==void 0&&r[i.name]!==""?n[i.name]=r[i.name]:i.value!==void 0&&(n[i.name]=i.value));let s=!0;for(;s;){s=!1;for(let i of e.params||[]){if(!i||i.name==="page"||!i.belongTo||!U$t(i,n))continue;let a=r[i.name]!==void 0&&r[i.name]!==""?r[i.name]:i.value;a!==void 0&&n[i.name]!==a&&(n[i.name]=a,s=!0)}}return n.page=P$t(t.page),n}async function tSn(e,t){let r=e.body||{},n=Gs(r.id),s=P$t(r.page);return n?kNe("category",`category:${n}:${JSON.stringify(r.filters||{})}:p${s}`,RQ,async()=>{let i=M$t(),a=mvn(n),o=a?.moduleId||n,c=i.get(o);if(!c)return{page:1,pagecount:1,limit:20,total:0,list:[]};let u=eSn(c,{...r,filters:{...r.filters||{},...a?{[a.rootParamName]:a.rootValue}:{}}}),l=[];if(c.functionName==="routeAnimeOmni")l=await Dvn(u);else if(c.functionName==="loadGenreRank")l=await Mvn(u);else if(c.functionName==="routeMovieOmni")l=await Fvn(u);else if(c.functionName==="loadVarietyShows")l=await $vn(u);else if(c.functionName==="loadPlatformMatrix")l=await qvn(u);else if(c.functionName==="loadOfficialTop10")l=await Vvn(u);else if(c.functionName==="routeTrendsHub")l=await Xvn(u);else throw new Error(`\u672C\u5730\u5B9E\u73B0\u672A\u63A5\u5165: ${c.functionName}`);let d=Array.isArray(l)?l.filter(Boolean).filter(f=>f.type!=="text").map(f=>Svn(f,LNe(c.title||""))):[];return{page:s,pagecount:d.length<20?s:s+1,limit:20,total:d.length,list:d}}):{page:1,pagecount:1,limit:20,total:0,list:[]}}async function rSn(e,t){return kNe("detail",`detail:${e}:${t}`,D$t,async()=>Ki(`/${e}/${t}`,{params:{append_to_response:"credits,videos,external_ids"}}))}function nSn(e,t,r){let n=e?.id||r,s=Gs(e?.name||e?.title,`TMDB ${n}`),i=Gs((e?.first_air_date||e?.release_date||"").slice(0,4)),a=Array.isArray(e?.origin_country)?e.origin_country.join("/"):"",o=Array.isArray(e?.credits?.cast)?e.credits.cast.slice(0,8).map(h=>h.name).join("/"):"",c=Array.isArray(e?.credits?.crew)?e.credits.crew.filter(h=>["Director","Series Director","Writer","Screenplay"].includes(h.job)).slice(0,6).map(h=>h.name).join("/"):"",u=Array.isArray(e?.genres)?e.genres.map(h=>h.name).join("/"):"",l=Gs(e?.overview,"\u6682\u65E0\u7B80\u4ECB"),d=Gs(e?.vote_average?`TMDB ${Number(e.vote_average).toFixed(1)}`:"TMDB"),f=L$t(t,n);return{vod_id:`${t}:${n}`,vod_name:s,vod_pic:e?.poster_path?`https://image.tmdb.org/t/p/w500${e.poster_path}`:"",type_name:u,vod_year:i,vod_area:a,vod_remarks:d,vod_actor:o,vod_director:c,vod_content:l,vod_play_from:"TMDB\u8BE6\u60C5",vod_play_url:`\u67E5\u770B\u8BE6\u60C5$${f}`}}async function sSn(e,t){let r=e.body?.id,n=Array.isArray(r)?r:[r],s=[];for(let i of n){let a=Gs(i),[o,c]=a.includes(":")?a.split(":"):["tv",a],u=o==="movie"?"movie":"tv";try{let l=await rSn(u,c);s.push(nSn(l,u,c))}catch(l){s.push({vod_id:a,vod_name:`TMDB ${c}`,vod_pic:"",type_name:u==="movie"?"\u7535\u5F71":"\u5267\u96C6",vod_year:"",vod_area:"",vod_remarks:"\u8BE6\u60C5\u62C9\u53D6\u5931\u8D25",vod_actor:"",vod_director:"",vod_content:l.message,vod_play_from:"TMDB\u8BE6\u60C5",vod_play_url:`\u67E5\u770B\u8BE6\u60C5$${L$t(u,c)}`})}}return{list:s}}async function iSn(e,t){try{let r=e.server.prefix,s=await(await e.server.inject().post(`${r}/home`)).json(),i=s?.class?.[0],a=null;return i&&(a=await(await e.server.inject().post(`${r}/category`).payload({id:i.type_id,page:1,filters:{}})).json()),{home:s,category:a}}catch(r){return t.code(500),{err:r.message}}}var ovn,cvn,uvn,lvn,O$t,RQ,D$t,ONe,dvn,R$t,nw,k$t,Pvn,Lvn,N$t,aSn,$$t=oe(()=>{kr();Dn();Fh();I$t();ta();zi();ovn="f090bb54758cabf231fb605d3e3e0468",cvn="https://raw.githubusercontent.com/MakkaPakka518/List/refs/heads/main/data/bangumi-hot.json",uvn="https://api.themoviedb.org/3",lvn="https://www.themoviedb.org",O$t="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36",RQ=60*1e3,D$t=10*60*1e3,ONe=128,dvn={16:"\u52A8\u753B",10759:"\u52A8\u4F5C\u5192\u9669",35:"\u559C\u5267",18:"\u5267\u60C5",14:"\u5947\u5E7B",878:"\u79D1\u5E7B",9648:"\u60AC\u7591",10749:"\u7231\u60C5",27:"\u6050\u6016",10765:"\u79D1\u5E7B\u5947\u5E7B",80:"\u72AF\u7F6A",99:"\u7EAA\u5F55\u7247",10751:"\u5BB6\u5EAD",36:"\u5386\u53F2",10402:"\u97F3\u4E50",10770:"\u7535\u89C6\u7535\u5F71",53:"\u60CA\u609A",10752:"\u6218\u4E89",37:"\u897F\u90E8",28:"\u52A8\u4F5C",12:"\u5192\u9669"},R$t={home:new pt(ONe,RQ),category:new pt(ONe,RQ),detail:new pt(ONe,D$t)};nw={airtime:Object.create(null),daily:[]},k$t={parseBangumiListItems(e){let t=Br(e||""),r=[];return t("ul#browserItemList li.item").each((n,s)=>{let i=t(s),a=i.attr("id")?.substring(5);if(!a)return;let o=i.find("h3 a.l").text().trim(),c=i.find("p.info.tip").text().trim(),u=i.find("small.fade").text().trim();r.push({id:a,title:o,info:c,rating:u})}),r},async processBangumiPage(e){try{let t=await pp(e);return this.parseBangumiListItems(t.data)}catch{return[]}},async processDailyCalendar(){try{let e=await pp("https://api.bgm.tv/calendar"),t=[];return Array.isArray(e?.data)&&e.data.forEach(r=>{r&&Array.isArray(r.items)&&r.items.forEach(n=>{n.bgm_weekday_id=r.weekday?.id,t.push(n)})}),t}catch{return[]}}};Pvn={all:{movie:"",tv:""},scifi:{movie:"878",tv:"10765"},mystery:{movie:"9648",tv:"9648"},horror:{movie:"27",tv:"27"},crime:{movie:"80",tv:"80"},action:{movie:"28",tv:"10759"},comedy:{movie:"35",tv:"35"},romance:{movie:"10749",tv:"10749"},drama:{movie:"18",tv:"18"},fantasy:{movie:"14",tv:"10765"},animation:{movie:"16",tv:"16"},documentary:{movie:"99",tv:"99"}},Lvn={all:"",cn:"CN",hk:"HK",tw:"TW",hktw:"HK|TW",jp:"JP",kr:"KR",jpkr:"JP|KR",th:"TH",sg:"SG",my:"MY",in:"IN",apac:"CN|HK|TW|JP|KR|TH|SG|MY|IN",us:"US",gb:"GB",de:"DE",se:"SE",europe:"GB|DE|FR|IT|ES|SE|NO|DK|FI|NL|BE|CH|AT|IE",es:"ES",mx:"MX",latin:"ES|MX|AR|CO|CL|PE|VE"};N$t={rt_movies_theater:"https://www.rottentomatoes.com/browse/movies_in_theaters/sort:popular?minTomato=75",rt_movies_home:"https://www.rottentomatoes.com/browse/movies_at_home/sort:popular?minTomato=75",rt_movies_best:"https://www.rottentomatoes.com/browse/movies_at_home/sort:critic_highest?minTomato=90",rt_tv_popular:"https://www.rottentomatoes.com/browse/tv_series_browse/sort:popular?minTomato=75",rt_tv_new:"https://www.rottentomatoes.com/browse/tv_series_browse/sort:newest?minTomato=75"};aSn={meta:{key:"zhuiju",name:"\u{1F3E0} \u8FFD\u5267",type:3,indexs:1,ext:{configurable:!0}},api:async e=>{e.post("/init",Jvn),e.post("/home",Zvn),e.post("/category",tSn),e.post("/detail",sSn),e.get("/test",iSn)}}});function ab(e,t=""){return e==null?t:String(e)}function cSn(e,t=tl.count){let r=Number.parseInt(e,10);return Number.isFinite(r)&&r>=0?r:t}function uSn(e,t=!1){if(typeof e=="boolean")return e;if(e==null||e==="")return t;let r=String(e).trim().toLowerCase();return["1","true","yes","on","y"].includes(r)?!0:["0","false","no","off","n"].includes(r)?!1:t}function q$t(e,t=tl.pancheck_mode){let r=String(e||"").trim().toLowerCase();return["off","detect","pancheck"].includes(r)?r:t}function UNe(e){return Array.isArray(e)?e.map(t=>String(t||"").trim()).filter(Boolean):String(e||"").split(",").map(t=>t.trim()).filter(Boolean)}function lSn(e){return Array.from(new Set(UNe(e)))}function dSn(e={}){let t=UNe(e.include),r=UNe(e.exclude);return{include:t,exclude:r}}function FNe(e={}){let t=e&&typeof e=="object"?e:{},r=lSn(t.selected_platforms??t.selectedPlatforms??tl.selected_platforms),n=t.pancheck_enabled!==void 0?uSn(t.pancheck_enabled,tl.pancheck_enabled):q$t(t.pancheck_mode,tl.pancheck_mode)==="pancheck",s=t.pancheck_mode!==void 0?q$t(t.pancheck_mode,tl.pancheck_mode):n?"pancheck":"off";return{api_urls:ab(t.api_urls,tl.api_urls),count:cSn(t.count,tl.count),pancheck:ab(t.pancheck,tl.pancheck),pancheck_enabled:n,pancheck_mode:s,channels:ab(t.channels,tl.channels),plugins:ab(t.plugins,tl.plugins),cloud_types:ab(t.cloud_types,tl.cloud_types),include:ab(t.include,tl.include),exclude:ab(t.exclude,tl.exclude),selected_platforms:r,selected_platforms_str:r.join(","),filter:dSn(t)}}async function CQ(e){e.get("/config",async(t,r)=>{try{let n=await iw(t.server);r.send({code:0,data:n})}catch(n){r.send({code:-1,message:n?.message||"\u83B7\u53D6\u914D\u7F6E\u5931\u8D25",data:FNe({})})}}),e.put("/config",async(t,r)=>{try{let n=await t.server.db.getObjectDefault(BNe,{}),s=FNe({...n,...t.body||{}});await t.server.db.push(BNe,s),r.send({code:0,data:s,message:"Pansou\u914D\u7F6E\u5DF2\u4FDD\u5B58"})}catch(n){r.send({code:-1,message:n?.message||"\u4FDD\u5B58\u914D\u7F6E\u5931\u8D25"})}})}var BNe,oSn,tl,iw,$Ne,qNe,HNe,VNe,jNe,xQ=oe(()=>{BNe="/pansou",oSn="https://pancheck.banye.tech:7777",tl={api_urls:"https://so.hk.111651.xyz",count:0,pancheck:oSn,pancheck_enabled:!1,pancheck_mode:"off",channels:"",plugins:"",cloud_types:"",include:"",exclude:"",selected_platforms:["quark","uc","tianyi","pan123","pan115","cmcc","baidu","aliyun","magnet","xunlei","ed2k","guangya"]};iw=async e=>{let t=await e.db.getObjectDefault(BNe,{});return FNe(t)},$Ne=async e=>(await iw(e)).api_urls,qNe=async e=>(await iw(e)).pancheck,HNe=async e=>(await iw(e)).pancheck_mode,VNe=async e=>(await iw(e)).count,jNe=async e=>{let t=await iw(e);return{channels:t.channels,plugins:t.plugins,cloud_types:t.cloud_types,selected_platforms:t.selected_platforms,filter:t.filter,include:t.include,exclude:t.exclude}}});var H$t=oe(()=>{xQ();xQ()});var X$t={};Bt(X$t,{default:()=>USn});function GNe(e){let t=KNe.get(e);return t?Date.now()>t?(KNe.delete(e),!1):!0:!1}function ASn(e){KNe.set(e,Date.now()+_Sn)}function NQ(){return{page:1,pagecount:1,list:[]}}function ySn(e={}){return JSON.stringify({source:"pansou",mode:"resource",...e})}function vSn(e={}){return JSON.stringify({source:"pansou",mode:"group-category",...e})}function z$t(e){try{let t=JSON.parse(String(e||""));if(t&&t.source==="pansou"&&t.mode)return t}catch{}return null}function SSn(e){if(!e)return[];let t=new Set,r=String(e).split(",");for(let n=0;ngB[t]):[]}function W$t(e,t){let r=new Set,n=new Set,s=t.map(i=>gB[i]);for(let i=0;is?.key===r);if(n?.name)return n.name}return String(e||"").trim()||"\u7F51\u76D8"}function _B(e,t=[],r=null){let n=AB(e);if(n){let s=t.find(i=>i?.key===n);if(s?.pic)return RSn(r,s.pic)}return""}function RSn(e,t=""){let r=String(t||"").trim();if(!r||!r.startsWith("/assets/"))return r;try{let n=e?.server?.address?.()?.url||"";return n?`${n}${r}`:r}catch{return r}}function CSn(){let e=Array.isArray(_o())?_o():[];return new Map(e.map((t,r)=>[String(t?.key||"").trim(),{index:r,enable:!!t?.enable}]))}function xSn(e,t){let r=AB(e);return r?r==="magnet"?!!t?.get("magnet")?.enable||!!t?.get("magnet_guangya")?.enable:t?.has(r)?!!t.get(r)?.enable:!1:!1}function Y$t(e,t){let r=AB(e);return r?t?.get(r)?.index??Number.MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER}function wSn(e){return`${e?.note||""} ${e?.url||""}`.match(/(?:提取码|访问码|密码|口令|code|pwd|password)\s*[:: =]?\s*([a-zA-Z0-9]{4,8})/i)?.[1]||""}async function NSn(e,t,r){let n=r.length>0?r:Object.keys(gB),{linksToCheck:s,uncheckedLinks:i}=W$t(t,n);if(s.size===0)return t;let a=[];for(let f=0;fi.has(f.url));let c=(await Se.post(`${e}/api/check/links`,{items:a},{timeout:1e4,headers:{"Content-Type":"application/json"}})).data||{},u=Array.isArray(c?.results)?c.results:Array.isArray(c?.data?.results)?c.data.results:null,l=null;if(Array.isArray(u))l=u.filter(f=>{let h=String(f?.state||"").trim().toLowerCase();return h==="valid"||h==="ok"||h==="good"}).map(f=>f?.url||f?.normalized_url||f?.link||"").filter(Boolean);else{let f=[c?.data?.valid_links,c?.data?.links,c?.valid_links,c?.links,c?.data,c];for(let h=0;htypeof g=="string"?g:g?.url||g?.link||g?.share_url||"").filter(Boolean);if(m.length>0||p.length===0){l=m;break}}}if(!Array.isArray(l))return t;let d=new Set(l);for(let f of i)d.add(f);return t.filter(f=>d.has(f.url))}async function OSn(e,t,r){let n=r.length>0?r:Object.keys(gB),{linksToCheck:s,uncheckedLinks:i}=W$t(t,n);if(r.length>0){if(s.size>0){let c=await Se.post(`${e||V$t}/api/v1/links/check`,{links:Array.from(s),selected_platforms:r},{timeout:1e4,headers:{"Content-Type":"application/json"}});if(Array.isArray(c.data?.valid_links)){let u=new Set(c.data.valid_links);for(let l of i)u.add(l);return t.filter(l=>u.has(l.url))}return t.filter(u=>i.has(u.url))}return t}let a=Array.from(new Set(t.map(c=>c.url))),o=await Se.post(`${e||V$t}/api/v1/links/check`,{links:a,selected_platforms:Object.keys(gB)},{timeout:1e4,headers:{"Content-Type":"application/json"}});if(Array.isArray(o.data?.valid_links)){let c=new Set(o.data.valid_links);return t.filter(u=>c.has(u.url))}return t}async function DSn(e){if(!Array.isArray(e)||e.length===0)return"";let t=Date.now();if(mp.url&&t-mp.timestamp!GNe(o)),n=r.length>0?r:e;if(n.length===1)return mp={url:n[0],timestamp:t},n[0];let s=new AbortController,i=setTimeout(()=>s.abort(),4e3),a=n.map(async o=>{try{return await Se.get(`${o}/api/health`,{timeout:2500,signal:s.signal}),o}catch(c){throw c}});try{let o=await Promise.any(a);return s.abort(),mp={url:o,timestamp:t},o}catch{return mp={url:"",timestamp:0},n[0]}finally{clearTimeout(i)}}async function PSn(e,t){return await $i(e,t),{}}async function LSn(e,t){let r=Vr("pansou",arguments[0]||{}),n=jr(r);return n||{class:[]}}async function MSn(e,t){let r=e.body||{},n=Math.max(1,Number.parseInt(r.pg||r.page||r.pn,10)||1),s=String(r.tid||r.id||r.t||"").trim(),i=z$t(s);if(!i||i.mode!=="group-category")return{page:n,pagecount:1,list:[]};let a=So(),o=Array.isArray(i.items)?i.items:[],c=String(i.panType||"").trim(),u=YNe(c,a);return{page:1,pagecount:1,list:o.map(d=>{let f=String(d?.url||"").trim(),h=G$t(d?.note||f)||f,p=String(d?.datetime||"").split("T")[0],m=G$t(d?.source||""),g=[u];return p&&!Q$t.test(p)&&g.push(p),m&&g.push(`[${m}]`),{vod_id:ySn({url:f,name:h,pic:d?.images?.[0]||_B(c,a)||"",remarks:g.join(" ")}),vod_name:h,vod_pic:d?.images?.[0]||_B(c,a)||"",vod_remarks:g.join(" "),type_name:`${u}\u8D44\u6E90`}})}}async function kSn(e,t){let r=Array.isArray(e.body.id)?e.body.id:[e.body.id],n=So(),s=r.map(async a=>{let o=String(a||""),c=z$t(o);if(c?.mode==="group"||c?.mode==="group-category"){let p=String(c.panType||"").trim(),m=YNe(p,n);return[{vod_id:o,vod_name:m,vod_pic:_B(p,n)||"",vod_remarks:"\u76EE\u5F55\u9879\uFF0C\u8BF7\u8FDB\u5165\u4E0B\u4E00\u5C42\u67E5\u770B\u8D44\u6E90"}]}let u=o,l=o,d="",f="";if(c?.mode==="resource")u=c.url||o,l=c.name||c.url||o,d=c.pic||"",f=c.remarks||"";else try{let p=JSON.parse(o);u=p.url,l=p.name||p.url,d=p.pic||"",f=p.remarks||""}catch{u=o,l=o}let h={vod_id:o,vod_name:l,vod_pic:d,vod_remarks:f};try{let p=await di(u,e);p&&(h.vod_play_from=p.froms,h.vod_play_url=p.urls,Array.isArray(p.links)&&p.links.length>0&&(h.vod_links=p.links))}catch{}return h});return{list:(await Promise.all(s)).flat().filter(Boolean)}}async function BSn(e,t){let{server:r,body:{wd:n}}=e,s=String(n||"").trim();if(!s)return NQ();let[i,a,o,c,u]=await Promise.all([$Ne(r),qNe(r),HNe(r),VNe(r),jNe(r)]),l=SSn(i);if(l.length===0)return NQ();let d=String(o||"off").trim().toLowerCase(),f=u||{},h=Number.parseInt(c,10),p=Number.isFinite(h)&&h>=0?h:0,m=bSn(s,l,a,d,p,f),g=j$t.get(m);if(g)return g;let y=await Pn("pansou","search",m,async()=>{let E=await DSn(l);if(!E)return NQ();let A=[],v="",T=[E,...l.filter(Y=>Y!==E&&!GNe(Y))],C=null,b="",x=null,w=T.length;for(let Y=0;YV.trim().toLowerCase()).filter(Boolean)):null;for(let[V,W]of Object.entries(C)){if($&&!$.has(V.toLowerCase())||!Array.isArray(W)||W.length===0)continue;if(!v)for(let ue=0;uewQ(te.datetime)-wQ(ue.datetime)),se=p>0?G.slice(0,p):G;for(let ue=0;ue0)try{let V=ISn(f.selected_platforms);d==="detect"?A=await NSn(b,Y,V):d==="pancheck"?A=await OSn(a,Y,V):A=Y}catch(V){console.error("[pansou] Pancheck \u9519\u8BEF:",Nv(V)),A=Y}else A=Y;A.sort((V,W)=>wQ(W.datetime)-wQ(V.datetime))}}catch(Y){console.error("[pansou] \u641C\u7D22\u7ED3\u679C\u5904\u7406\u9519\u8BEF:",Nv(Y))}if(A.length===0)return NQ();let P=So(),M=CSn(),L=new Map;for(let Y=0;Y{let V=Y$t(Y[0],M)-Y$t($[0],M);return V!==0?V:$[1].count-Y[1].count}).map(([Y,$])=>{let V=vSn({wd:s,panType:Y,items:$.items});return{vod_id:V,vod_name:YNe(Y,P),vod_pic:_B(Y,P,e)||$.cover||"",vod_remarks:`${$.count} \u6761\u7ED3\u679C`,vod_tag:"folder",type_id:V,type_name:"\u7F51\u76D8\u76EE\u5F55",cate:{}}})}},{timeout:6e4});return j$t.set(m,y),y}var V$t,fSn,Q$t,hSn,pSn,mSn,gSn,mp,j$t,K$t,_Sn,KNe,gB,ESn,wQ,USn,J$t=oe(()=>{Yu();H$t();Pr();Bi();hm();Dn();ta();zi();lE();V$t="https://pancheck.banye.tech:7777",fSn=6e5,Q$t=/^0001-01-01/,hSn=/<\/?[^>]+(>|$)/g,pSn=2e4,mSn=80,gSn=1e3,mp={url:"",timestamp:0},j$t=new pt(mSn,pSn),K$t=new pt(gSn,Number.POSITIVE_INFINITY),_Sn=5*60*1e3,KNe=new Map;gB={aliyun:XV,quark:JV,uc:ZV,tianyi:e7,pan123:r7,pan115:n7,baidu:s7,yidong:t7,magnet:i7,guangya:a7},ESn={aliyun:"ali",ali:"ali",quark:"quark",uc:"uc",tianyi:"tianyi",cloud189:"tianyi",pan123:"123",123:"123",pan115:"115",115:"115",baidu:"baidu",yidong:"yidong",mobile:"yidong",139:"yidong",xunlei:"xunlei",guangya:"guangya",magnet:"magnet",bt:"magnet",torrent:"magnet",\u78C1\u529B:"magnet",\u78C1\u94FE:"magnet",\u79CD\u5B50:"magnet"},wQ=e=>{if(!e||Q$t.test(e))return 0;let t=Date.parse(e);return isNaN(t)?0:t};USn={meta:{key:"pansou",name:"\u{1F50D} \u76D8\u641C",type:3},api:async e=>{e.post("/init",PSn),e.post("/home",LSn),e.post("/category",MSn),e.post("/detail",kSn),e.post("/play",ti),e.post("/search",BSn),e.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",ws)}}});async function JNe(e){e.get("/config",async(t,r)=>{let n=await QNe(t.server),s=await zNe(t.server),i=await WNe(t.server),a=await XNe(t.server);r.send({code:0,data:{url:n,count:Number(s),channelUsername:i.split(","),pic:a}})}),e.put("/config",async(t,r)=>{await OQ(t.server,"url",t.body.url),await OQ(t.server,"count",t.body.count),await OQ(t.server,"channelUsername",t.body.channelUsername.join(",")),await OQ(t.server,"pic",t.body.pic),r.send({code:0})})}var DQ,QNe,zNe,WNe,XNe,OQ,ZNe=oe(()=>{DQ=async(e,t,r)=>(await e.db.getObjectDefault("/tgsou",{}))?.[t]||e.config.tgsou[t]||r,QNe=e=>DQ(e,"url","https://tgsou.lmentor.dpdns.org"),zNe=e=>DQ(e,"count",4),WNe=e=>DQ(e,"channelUsername","tgsearchers5,Aliyun_4K_Movies,bdbdndn11,yunpanx,bsbdbfjfjff,yp123pan,sbsbsnsqq,yunpanxunlei,tianyifc,BaiduCloudDisk,txtyzy,peccxinpd,gotopan,PanjClub,kkxlzy,baicaoZY,MCPH01,MCPH02,MCPH03,bdwpzhpd,ysxb48,jdjdn1111,yggpan,MCPH086,zaihuayun,Q66Share,ucwpzy,shareAliyun,alyp_1,dianyingshare,Quark_Movies,XiangxiuNBB,ydypzyfx,ucquark,xx123pan,yingshifenxiang123,zyfb123,tyypzhpd,tianyirigeng,cloudtianyi,hdhhd21,Lsp115,oneonefivewpfx,qixingzhenren,taoxgzy,Channel_Shares_115,tyysypzypd,vip115hot,wp123zy,yunpan139,yunpan189,yunpanuc,yydf_hzl,leoziyuan,Q_dongman,yoyokuakeduanju,TG654TG,WFYSFX02,QukanMovie,yeqingjie_GJG666,movielover8888_film3,Baidu_netdisk,D_wusun,FLMdongtianfudi,KaiPanshare,QQZYDAPP,rjyxfx,btzhi,newproductsourcing,cctv1211,duan_ju,QuarkFree,yunpanNB,kkdj001,xxzlzn,pxyunpanxunlei,jxwpzy,kuakedongman,liangxingzhinan,xiangnikanj,solidsexydoll,guoman4K,zdqxm,kduanju,cilidianying,CBduanju,SharePanFilms,dzsgx,BooksRealm,Oscar_4Kmovies,douerpan,baidu_yppan,Q_jilupian,Netdisk_Movies,yunpanquark,ammmziyuan,ciliziyuanku,cili8888,jzmm_123pan,Q_dianying,domgmingapk,dianying4k,q_dianshiju,tgbokee,ucshare,godupan,gokuapan"),XNe=e=>DQ(e,"pic",!1),OQ=async(e,t,r)=>{await e.db.push(`/tgsou/${t}`,r)}});var i9t={};Bt(i9t,{default:()=>eTn});function KSn(e,t=""){let r=String(t||"").trim();if(!r||!r.startsWith("/assets/"))return r;try{let n=e?.server?.address?.()?.url||"";return n?`${n}${r}`:r}catch{return r}}async function s9t(e,t,r,n,s){let i=e.get(r);return i!==null?i:Pn("tgsou",t,r,async()=>{let a=await s();return e.set(r,a),a},{timeout:3e4})}async function GSn(e,t,r){if(!Array.isArray(e)||e.length===0)return[];let n=new Array(e.length),s=0,i=async()=>{for(;;){let c=s++;if(c>=e.length)break;n[c]=await r(e[c],c)}},a=Math.min(t,e.length),o=new Array(a);for(let c=0;cs.validator(e))||null;return e9t.set(e,n),n}async function zSn(e,t){return await $i(e,t),{}}async function WSn(e,t){let r=Vr("tgsou",e),n=jr(r);if(n)return n;let s={};return sn(r,s,Rt.dynamic),s}async function XSn(e,t){return{page:1,pagecount:1,list:[]}}async function JSn(e,t){let r=Array.isArray(e.body.id)?e.body.id:[e.body.id];return{list:await GSn(r,$Sn,async s=>{let i=String(s||""),a=i,o=i;try{let u=JSON.parse(i);a=u.url,o=u.name||u.url}catch{a=i,o=i}let c={vod_name:o,vod_remarks:""};if(!a)return c;try{let u=await s9t(VSn,"detail",`detail:${a}`,t9t,async()=>di(a,e));u&&(c.vod_play_from=u.froms,c.vod_play_url=u.urls,Array.isArray(u.links)&&u.links.length>0&&(c.vod_links=u.links))}catch{}return c})}}async function ZSn(e,t){let r=String(e.body.wd||"").trim();if(!r)return{page:1,pagecount:1,list:[]};let[n,s,i,a]=await Promise.all([QNe(e.server),zNe(e.server),WNe(e.server),XNe(e.server)]),o=Math.max(1,YSn(s,20));if(!n)return{page:1,pagecount:1,list:[]};let c=`${n}::${a}::${o}::${i}::${r}`;return{page:1,pagecount:1,list:await s9t(jSn,"search",c,r9t,async()=>{try{let l=await HSn.get(n,{params:{pic:a,count:o,channelUsername:i,keyword:r}}),d=Array.isArray(l.data?.results)?l.data.results:[],f=So(),h=[],p=new Set;for(let m of d){if(!m||typeof m!="string")continue;let[g,_]=m.split("$$$");if(!_)continue;let y=String(g||"").trim(),E=_.split("##"),A=Math.min(E.length,o);for(let v=0;v{Dn();Yu();ZNe();Pr();kr();ta();zi();FSn=12e3,t9t=60*1e3,r9t=20*1e3,n9t=200,$Sn=6,qSn=1e3,Z$t=Wn(),HSn=Se.create({timeout:FSn,httpAgent:Z$t.httpAgent,httpsAgent:Z$t.httpsAgent}),VSn=new pt(n9t,t9t),jSn=new pt(n9t,r9t),e9t=new pt(qSn,Number.POSITIVE_INFINITY);eTn={meta:{key:"tgsou",name:"\u{1F50D} TG\u641C",type:3},api:async e=>{e.post("/init",zSn),e.post("/home",WSn),e.post("/category",XSn),e.post("/detail",JSn),e.post("/play",ti),e.post("/search",ZSn),e.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",ws)}}});async function eOe(e){e.get("/config",async(t,r)=>{try{let n=await t.server.db.getObjectDefault("/bilibili_all",{}),s=t.server.config.bilibili_all||{};r.send({code:0,data:{cookie:n.cookie||s.cookie||"",classes_all:n.classes_all||s.classes_all||"",filters_all:n.filters_all||s.filters_all||"",user_info:n.user_info||null,lastUpdate:n.lastUpdate||null}})}catch(n){console.error("\u83B7\u53D6\u914D\u7F6E\u5931\u8D25:",n),r.send({code:500,message:"\u83B7\u53D6\u914D\u7F6E\u5931\u8D25: "+n.message,data:{cookie:"",classes_all:"",filters_all:"",user_info:null,lastUpdate:null}})}}),e.put("/config",async(t,r)=>{try{let{cookie:n,classes_all:s,filters_all:i}=t.body||{},a={},o=null;if(n!==void 0&&typeof n=="string"){let l=n.trim();if(l)try{let f=(await t.server.inject({method:"POST",url:"/spider/bili_all/3/validate-cookie",payload:{cookie:l}})).json();if(f.code!==0||!f.valid||!f.data)return r.send({code:400,message:f.message||"Cookie\u9A8C\u8BC1\u5931\u8D25\uFF0C\u914D\u7F6E\u672A\u4FDD\u5B58",data:{saved:!1,validationFailed:!0}});a.cookie=l,a.user_info=f.data,a.user_info_updated_at=Date.now(),o={success:!0,message:"Cookie\u9A8C\u8BC1\u6210\u529F",userInfo:f.data}}catch(d){return console.error("\u6D4B\u8BD5Cookie\u5931\u8D25:",d),r.send({code:500,message:"Cookie\u9A8C\u8BC1\u5931\u8D25\uFF0C\u914D\u7F6E\u672A\u4FDD\u5B58: "+d.message,data:{saved:!1,validationFailed:!0}})}else a.cookie="",a.user_info=null,a.user_info_updated_at=null}s!==void 0&&typeof s=="string"&&(a.classes_all=s.trim()),i!==void 0&&typeof i=="string"&&(a.filters_all=i.trim());let u={...await t.server.db.getObjectDefault("/bilibili_all",{}),...a,lastUpdate:Date.now()};if(await t.server.db.push("/bilibili_all",u),n!==void 0&&typeof n=="string")try{a.cookie?await t.server.inject({method:"POST",url:"/spider/bili_all/3/set-cookie",payload:{cookie:a.cookie}}):await t.server.inject({method:"POST",url:"/spider/bili_all/3/clear-cookie"})}catch(l){console.warn("\u540C\u6B65\u54D4\u54E9\u5927\u5168\u8FD0\u884C\u65F6Cookie\u5931\u8D25:",l.message)}r.send({code:0,message:"\u4FDD\u5B58\u6210\u529F",data:{updated:Object.keys(a),testResult:o,userInfo:u.user_info||null,lastUpdate:u.lastUpdate}})}catch(n){console.error("\u4FDD\u5B58\u914D\u7F6E\u5931\u8D25:",n),r.send({code:500,message:"\u4FDD\u5B58\u5931\u8D25: "+n.message})}}),e.delete("/config",async(t,r)=>{try{await t.server.db.push("/bilibili_all",{cookie:"",classes_all:"",filters_all:"",user_info:null,user_info_updated_at:null,lastUpdate:Date.now()});try{await t.server.inject({method:"POST",url:"/spider/bili_all/3/clear-cookie"})}catch{}r.send({code:0,message:"\u914D\u7F6E\u5DF2\u6E05\u9664"})}catch(n){console.error("\u6E05\u9664\u914D\u7F6E\u5931\u8D25:",n),r.send({code:500,message:"\u6E05\u9664\u5931\u8D25: "+n.message})}}),e.post("/test-cookie",async(t,r)=>{try{let{cookie:n}=t.body||{};if(!n||typeof n!="string"||n.trim().length<10)return r.send({code:400,message:"\u65E0\u6548\u7684Cookie\u683C\u5F0F",valid:!1});let s=n.trim(),i=s.includes("SESSDATA"),a=s.includes("bili_jct"),o=s.includes("DedeUserID"),c=i&&a;r.send({code:0,message:c?"Cookie\u683C\u5F0F\u6B63\u786E":"Cookie\u683C\u5F0F\u53EF\u80FD\u4E0D\u5B8C\u6574",valid:c,data:{hasSessdata:i,hasBiliJct:a,hasDedeUserID:o,cookieLength:s.length}})}catch(n){console.error("\u6D4B\u8BD5Cookie\u5931\u8D25:",n),r.send({code:500,message:"\u6D4B\u8BD5\u5931\u8D25: "+n.message,valid:!1})}}),e.get("/status",async(t,r)=>{try{let n=await t.server.db.getObjectDefault("/bilibili_all",{}),s={available:!1};try{let a=(await t.server.inject({method:"GET",url:"/spider/bili_all/3/cookie-status"})).json();a.code===0&&(s={available:!0,...a.data})}catch{}r.send({code:0,data:{config:{hasCookie:!!(n.cookie&&n.cookie.length>0),cookieLength:n.cookie?.length||0,hasClasses:!!(n.classes_all&&n.classes_all.length>0),hasFilters:!!(n.filters_all&&n.filters_all.length>0),lastUpdate:n.lastUpdate||"\u672A\u77E5"},biliAllStatus:s}})}catch(n){console.error("\u83B7\u53D6\u72B6\u6001\u5931\u8D25:",n),r.send({code:500,message:"\u83B7\u53D6\u72B6\u6001\u5931\u8D25: "+n.message})}})}var PQ,o9t,c9t,LQ=oe(()=>{PQ=async e=>{try{let t=await e.db.getObjectDefault("/bilibili_all",{});if(t&&t.cookie)return t.cookie;if(e.config?.bilibili_all?.cookie)return e.config.bilibili_all.cookie}catch{}return""},o9t=async e=>{try{let t=await e.db.getObjectDefault("/bilibili_all",{});if(t&&t.classes_all)return t.classes_all;if(e.config?.bilibili_all?.classes_all)return e.config.bilibili_all.classes_all}catch{}return""},c9t=async e=>{try{let t=await e.db.getObjectDefault("/bilibili_all",{});if(t&&t.filters_all)return t.filters_all;if(e.config?.bilibili_all?.filters_all)return e.config.bilibili_all.filters_all}catch{}return""}});var MQ,tOe,u9t,l9t=oe(()=>{MQ=[{type_name:"\u6C99\u96D5\u52A8\u6F2B",type_id:"\u4E00\u53E3\u6C14\u6C99\u96D5\u52A8\u6F2B"},{type_name:"\u7EAA\u5F55\u7247",type_id:"\u7EAA\u5F55\u7247\u8D85\u6E05"},{type_name:"\u6F14\u5531\u4F1A",type_id:"\u6F14\u5531\u4F1A\u8D85\u6E05"},{type_name:"\u7F8E\u98DF",type_id:"\u7F8E\u98DF\u8D85\u6E05"},{type_name:"\u98DF\u8C31",type_id:"\u98DF\u8C31"},{type_name:"\u4F53\u80B2",type_id:"\u4F53\u80B2\u8D85\u6E05"},{type_name:"\u7403\u661F",type_id:"\u7403\u661F"},{type_name:"\u65C5\u6E38",type_id:"\u65C5\u6E38"},{type_name:"\u98CE\u666F",type_id:"\u98CE\u666F4K"},{type_name:"\u8BF4\u6848",type_id:"\u8BF4\u6848"},{type_name:"\u77E5\u540DUP\u4E3B",type_id:"\u77E5\u540DUP\u4E3B"},{type_name:"\u63A2\u7D22\u53D1\u73B0",type_id:"\u63A2\u7D22\u53D1\u73B0\u8D85\u6E05"},{type_name:"\u9B3C\u755C",type_id:"\u9B3C\u755C"},{type_name:"\u641E\u7B11",type_id:"\u641E\u7B11\u8D85\u6E05"},{type_name:"\u513F\u7AE5",type_id:"\u513F\u7AE5\u8D85\u6E05"},{type_name:"\u52A8\u7269\u4E16\u754C",type_id:"\u52A8\u7269\u4E16\u754C\u8D85\u6E05"},{type_name:"\u76F8\u58F0\u5C0F\u54C1",type_id:"\u76F8\u58F0\u5C0F\u54C1\u8D85\u6E05"},{type_name:"\u620F\u66F2",type_id:"\u620F\u66F2"},{type_name:"\u89E3\u8BF4",type_id:"\u89E3\u8BF4"},{type_name:"\u6F14\u8BB2",type_id:"\u6F14\u8BB2"},{type_name:"\u5C0F\u59D0\u59D0",type_id:"\u5C0F\u59D0\u59D0\u8D85\u6E05"},{type_name:"\u8352\u91CE\u6C42\u751F",type_id:"\u8352\u91CE\u6C42\u751F\u8D85\u6E05"},{type_name:"\u5065\u8EAB",type_id:"\u5065\u8EAB"},{type_name:"\u5E15\u6885\u62C9",type_id:"\u5E15\u6885\u62C9"},{type_name:"\u592A\u6781\u62F3",type_id:"\u592A\u6781\u62F3"},{type_name:"\u5E7F\u573A\u821E",type_id:"\u5E7F\u573A\u821E"},{type_name:"\u821E\u8E48",type_id:"\u821E\u8E48"},{type_name:"\u97F3\u4E50",type_id:"\u97F3\u4E50"},{type_name:"\u6B4C\u66F2",type_id:"\u6B4C\u66F2"},{type_name:"MV",type_id:"MV4K"},{type_name:"\u821E\u66F2",type_id:"\u821E\u66F2\u8D85\u6E05"},{type_name:"4K",type_id:"4K"},{type_name:"\u7535\u5F71",type_id:"\u7535\u5F71"},{type_name:"\u7535\u89C6\u5267",type_id:"\u7535\u89C6\u5267"},{type_name:"\u767D\u566A\u97F3",type_id:"\u767D\u566A\u97F3\u8D85\u6E05"},{type_name:"\u8003\u516C\u8003\u8BC1",type_id:"\u8003\u516C\u8003\u8BC1"},{type_name:"\u5E73\u9762\u8BBE\u8BA1\u6559\u5B66",type_id:"\u5E73\u9762\u8BBE\u8BA1\u6559\u5B66"},{type_name:"\u8F6F\u4EF6\u6559\u7A0B",type_id:"\u8F6F\u4EF6\u6559\u7A0B"},{type_name:"Windows",type_id:"Windows"},{type_name:"\u9009\u7F8E",type_id:"\u9009\u7F8E"},{type_name:"\u6A21\u7279",type_id:"\u6A21\u7279"},{type_name:"\u6CF3\u88C5\u79C0",type_id:"\u6CF3\u88C5\u79C0"},{type_name:"\u5185\u8863\u79C0",type_id:"\u5185\u8863\u79C0"},{type_name:"4K\u97F3\u4E50",type_id:"4K\u97F3\u4E50"},{type_name:"MV",type_id:"MV"},{type_name:"4K MV",type_id:"4K MV"},{type_name:"\u5973\u56E2",type_id:"\u5973\u56E2"},{type_name:"\u76F4\u64AD\u5E73\u53F0",type_id:"\u76F4\u64AD\u5E73\u53F0"},{type_name:"\u6F14\u5531\u4F1A",type_id:"\u6F14\u5531\u4F1A"},{type_name:"\u8BFE\u7A0B\u8F85\u5BFC",type_id:"\u8BFE\u7A0B\u8F85\u5BFC"},{type_name:"\u98CE\u666F",type_id:"\u98CE\u666F"},{type_name:"\u7F8E\u98DF",type_id:"\u7F8E\u98DF"},{type_name:"\u76F8\u58F0\u5C0F\u54C1",type_id:"\u76F8\u58F0\u5C0F\u54C1"},{type_name:"\u52A8\u7269\u4E16\u754C",type_id:"\u52A8\u7269\u4E16\u754C"},{type_name:"\u513F\u7AE5\u5C11\u513F",type_id:"\u513F\u7AE5\u5C11\u513F"}],tOe={\u8003\u516C\u8003\u8BC1:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u6F14\u5531\u4F1A\u8D85\u6E05:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u963F\u675C\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u963F\u675C\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u963F\u9EDB\u5C14\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u963F\u9EDB\u5C14\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"Beyond\u6F14\u5531\u4F1A\u8D85\u6E05",v:"Beyond\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"By2\u6F14\u5531\u4F1A\u8D85\u6E05",v:"By2\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"BIGBANG\u6F14\u5531\u4F1A\u8D85\u6E05",v:"BIGBANG\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5E03\u5170\u59AE\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5E03\u5170\u59AE\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5742\u4E95\u6CC9\u6C34\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5742\u4E95\u6CC9\u6C34\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u9648\u5955\u8FC5\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u9648\u5955\u8FC5\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u8521\u4F9D\u6797\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u8521\u4F9D\u6797\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u521D\u97F3\u672A\u6765\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u521D\u97F3\u672A\u6765\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u8521\u5065\u96C5\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u8521\u5065\u96C5\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u9648\u5C0F\u6625\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u9648\u5C0F\u6625\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u8349\u8722\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u8349\u8722\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u9648\u6167\u5A34\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u9648\u6167\u5A34\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5D14\u5065\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5D14\u5065\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u4ED3\u6728\u9EBB\u8863\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u4ED3\u6728\u9EBB\u8863\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6234\u8343\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6234\u8343\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u52A8\u529B\u706B\u8F66\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u52A8\u529B\u706B\u8F66\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u9093\u4E3D\u541B\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u9093\u4E3D\u541B\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u4E01\u5F53\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u4E01\u5F53\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5200\u90CE\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5200\u90CE\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u9093\u7D2B\u68CB\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u9093\u7D2B\u68CB\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6234\u4F69\u59AE\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6234\u4F69\u59AE\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u9093\u4E3D\u541B\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u9093\u4E3D\u541B\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u98DE\u513F\u4E50\u961F\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u98DE\u513F\u4E50\u961F\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u8D39\u7389\u6E05\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u8D39\u7389\u6E05\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u8D39\u7FD4\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u8D39\u7FD4\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u65B9\u5927\u540C\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u65B9\u5927\u540C\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u623F\u4E1C\u7684\u732B\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u623F\u4E1C\u7684\u732B\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u51E4\u98DE\u98DE\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u51E4\u98DE\u98DE\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u51E4\u51F0\u4F20\u5947\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u51E4\u51F0\u4F20\u5947\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u90ED\u91C7\u6D01\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u90ED\u91C7\u6D01\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5149\u826F\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5149\u826F\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u90ED\u9759\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u90ED\u9759\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u90ED\u5BCC\u57CE\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u90ED\u5BCC\u57CE\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u80E1\u5F66\u658C\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u80E1\u5F66\u658C\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u80E1\u590F\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u80E1\u590F\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u97E9\u7EA2\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u97E9\u7EA2\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u9EC4\u54C1\u6E90\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u9EC4\u54C1\u6E90\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u9EC4\u5C0F\u7425\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u9EC4\u5C0F\u7425\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u82B1\u513F\u4E50\u961F\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u82B1\u513F\u4E50\u961F\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u9EC4\u5BB6\u5F3A\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u9EC4\u5BB6\u5F3A\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u540E\u8857\u7537\u5B69\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u540E\u8857\u7537\u5B69\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u7ECF\u5178\u8001\u6B4C\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u7ECF\u5178\u8001\u6B4C\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u8D3E\u65AF\u4E01\u6BD4\u4F2F\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u8D3E\u65AF\u4E01\u6BD4\u4F2F\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u91D1\u6C60\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u91D1\u6C60\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u91D1\u5FD7\u6587\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u91D1\u5FD7\u6587\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u7126\u8FC8\u5947\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u7126\u8FC8\u5947\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u7B77\u5B50\u5144\u5F1F\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u7B77\u5B50\u5144\u5F1F\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u674E\u739F\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u674E\u739F\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6797\u5FC6\u83B2\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6797\u5FC6\u83B2\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u674E\u514B\u52E4\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u674E\u514B\u52E4\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5218\u5BAA\u534E\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5218\u5BAA\u534E\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u674E\u5723\u6770\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u674E\u5723\u6770\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6797\u5BA5\u5609\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6797\u5BA5\u5609\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6881\u9759\u8339\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6881\u9759\u8339\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u674E\u5065\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u674E\u5065\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6797\u4FCA\u6770\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6797\u4FCA\u6770\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u674E\u7389\u521A\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u674E\u7389\u521A\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6797\u5FD7\u70AB\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6797\u5FD7\u70AB\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u674E\u8363\u6D69\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u674E\u8363\u6D69\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u674E\u5B87\u6625\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u674E\u5B87\u6625\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6D1B\u5929\u4F9D\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6D1B\u5929\u4F9D\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6797\u5B50\u7965\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6797\u5B50\u7965\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u674E\u5B97\u76DB\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u674E\u5B97\u76DB\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u9ECE\u660E\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u9ECE\u660E\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5218\u5FB7\u534E\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5218\u5FB7\u534E\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u7F57\u5927\u4F51\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u7F57\u5927\u4F51\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6797\u80AF\u516C\u56ED\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6797\u80AF\u516C\u56ED\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"LadyGaga\u6F14\u5531\u4F1A\u8D85\u6E05",v:"LadyGaga\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u65C5\u884C\u56E2\u4E50\u961F\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u65C5\u884C\u56E2\u4E50\u961F\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u83AB\u6587\u851A\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u83AB\u6587\u851A\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6BDB\u4E0D\u6613\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6BDB\u4E0D\u6613\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6885\u8273\u82B3\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6885\u8273\u82B3\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u8FC8\u514B\u5C14\u6770\u514B\u900A\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u8FC8\u514B\u5C14\u6770\u514B\u900A\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5357\u62F3\u5988\u5988\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5357\u62F3\u5988\u5988\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6734\u6811\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6734\u6811\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u9F50\u79E6\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u9F50\u79E6\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u9752\u9E1F\u98DE\u9C7C\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u9752\u9E1F\u98DE\u9C7C\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5BB9\u7956\u513F\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5BB9\u7956\u513F\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u4EFB\u8D24\u9F50\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u4EFB\u8D24\u9F50\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6C34\u6728\u5E74\u534E\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6C34\u6728\u5E74\u534E\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5B59\u71D5\u59FF\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5B59\u71D5\u59FF\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u82CF\u6253\u7EFF\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u82CF\u6253\u7EFF\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"SHE\u6F14\u5531\u4F1A\u8D85\u6E05",v:"SHE\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5B59\u6960\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5B59\u6960\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u9676\u5586\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u9676\u5586\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u8C2D\u548F\u9E9F\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u8C2D\u548F\u9E9F\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u7530\u99A5\u7504\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u7530\u99A5\u7504\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u8C2D\u7EF4\u7EF4\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u8C2D\u7EF4\u7EF4\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u9003\u8DD1\u8BA1\u5212\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u9003\u8DD1\u8BA1\u5212\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u7530\u9707\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u7530\u9707\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u8C2D\u6676\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u8C2D\u6676\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5C60\u6D2A\u521A\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5C60\u6D2A\u521A\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6CF0\u52D2\xB7\u65AF\u5A01\u592B\u7279\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6CF0\u52D2\xB7\u65AF\u5A01\u592B\u7279\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u738B\u529B\u5B8F\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u738B\u529B\u5B8F\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u738B\u6770\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u738B\u6770\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5434\u514B\u7FA4\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5434\u514B\u7FA4\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u738B\u5FC3\u51CC\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u738B\u5FC3\u51CC\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u597D\u58F0\u97F3\u738B\u9756\u96EF\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u597D\u58F0\u97F3\u738B\u9756\u96EF\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6C6A\u5CF0\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6C6A\u5CF0\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u4F0D\u4F70\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u4F0D\u4F70\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u738B\u83F2\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u738B\u83F2\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u4E94\u6708\u5929\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u4E94\u6708\u5929\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6C6A\u82CF\u6CF7\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6C6A\u82CF\u6CF7\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5F90\u4F73\u83B9\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5F90\u4F73\u83B9\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5F26\u5B50\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5F26\u5B50\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u8427\u4E9A\u8F69\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u8427\u4E9A\u8F69\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u8BB8\u5DCD\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u8BB8\u5DCD\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u859B\u4E4B\u8C26\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u859B\u4E4B\u8C26\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u8BB8\u5D69\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u8BB8\u5D69\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5C0F\u864E\u961F\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5C0F\u864E\u961F\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u8427\u656C\u817E\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u8427\u656C\u817E\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u8C22\u9706\u950B\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u8C22\u9706\u950B\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5F90\u5C0F\u51E4\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5F90\u5C0F\u51E4\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u4FE1\u4E50\u961F\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u4FE1\u4E50\u961F\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u591C\u613F\u4E50\u961F\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u591C\u613F\u4E50\u961F\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u7FBD\u6CC9\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u7FBD\u6CC9\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u90C1\u53EF\u552F\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u90C1\u53EF\u552F\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u53F6\u5029\u6587\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u53F6\u5029\u6587\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6768\u5764\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6768\u5764\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5EBE\u6F84\u5E86\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5EBE\u6F84\u5E86\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5C24\u957F\u9756\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5C24\u957F\u9756\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6613\u70CA\u5343\u73BA\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6613\u70CA\u5343\u73BA\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u8881\u5A05\u7EF4\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u8881\u5A05\u7EF4\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6768\u4E1E\u7433\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6768\u4E1E\u7433\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6768\u5343\u5B05\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6768\u5343\u5B05\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u6768\u5B97\u7EAC\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u6768\u5B97\u7EAC\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u90D1\u79C0\u6587\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u90D1\u79C0\u6587\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5468\u6770\u4F26\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5468\u6770\u4F26\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5F20\u5B66\u53CB\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5F20\u5B66\u53CB\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5F20\u4FE1\u54F2\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5F20\u4FE1\u54F2\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5F20\u5B87\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5F20\u5B87\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5468\u534E\u5065\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5468\u534E\u5065\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5F20\u97F6\u6DB5\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5F20\u97F6\u6DB5\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5468\u6DF1\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5468\u6DF1\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u7EB5\u8D2F\u7EBF\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u7EB5\u8D2F\u7EBF\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u8D75\u96F7\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u8D75\u96F7\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5468\u4F20\u96C4\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5468\u4F20\u96C4\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5F20\u56FD\u8363\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5F20\u56FD\u8363\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5468\u6167\u654F\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5468\u6167\u654F\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5F20\u60E0\u59B9\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5F20\u60E0\u59B9\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5468\u7B14\u7545\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5468\u7B14\u7545\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u90D1\u4E2D\u57FA\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u90D1\u4E2D\u57FA\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5F20\u827A\u5174\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5F20\u827A\u5174\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5F20\u9707\u5CB3\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5F20\u9707\u5CB3\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5F20\u96E8\u751F\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5F20\u96E8\u751F\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u90D1\u667A\u5316\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u90D1\u667A\u5316\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u5353\u4F9D\u5A77\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u5353\u4F9D\u5A77\u6F14\u5531\u4F1A\u8D85\u6E05"},{n:"\u4E2D\u5C9B\u7F8E\u96EA\u6F14\u5531\u4F1A\u8D85\u6E05",v:"\u4E2D\u5C9B\u7F8E\u96EA\u6F14\u5531\u4F1A\u8D85\u6E05"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u63A2\u7D22\u53D1\u73B0\u8D85\u6E05:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u7535\u5F71:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u9B3C\u755C:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u4E00\u53E3\u6C14\u6C99\u96D5\u52A8\u6F2B:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u8BF4\u6848:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u8BF4\u6848",v:"\u8BF4\u6848"},{n:"\u6C64\u5706\u8BF4\u6848",v:"\u6C64\u5706\u8BF4\u6848"},{n:"\u5510\u5510\u8BF4\u6848",v:"\u5510\u5510\u8BF4\u6848"},{n:"\u7F57\u7FD4\u8BF4\u5211\u6CD5",v:"\u7F57\u7FD4\u8BF4\u5211\u6CD5"},{n:"\u4F55\u5BB6\u5F18\u8BF4\u6848",v:"\u4F55\u5BB6\u5F18\u8BF4\u6848"},{n:"\u97E9\u8BFA\u8BF4\u6848",v:"\u97E9\u8BFA\u8BF4\u6848"},{n:"\u8001V\u8BF4\u6848",v:"\u8001V\u8BF4\u6848"},{n:"\u7981\u64AD\u6863\u6848",v:"\u7981\u64AD\u6863\u6848"},{n:"\u8BF4\u6848",v:"\u8BF4\u6848"},{n:"\u7981\u64AD\u6863\u6848",v:"\u7981\u64AD\u6863\u6848"},{n:"4K\u8BF4\u6848",v:"4K\u8BF4\u6848"},{n:"4K\u6C64\u5706\u8BF4\u6848",v:"4K\u6C64\u5706\u8BF4\u6848"},{n:"4K\u5510\u5510\u8BF4\u6848",v:"4K\u5510\u5510\u8BF4\u6848"},{n:"4K\u7F57\u7FD4\u8BF4\u5211\u6CD5",v:"4K\u7F57\u7FD4\u8BF4\u5211\u6CD5"},{n:"4K\u4F55\u5BB6\u5F18\u8BF4\u6848",v:"4K\u4F55\u5BB6\u5F18\u8BF4\u6848"},{n:"4K\u97E9\u8BFA\u8BF4\u6848",v:"4K\u97E9\u8BFA\u8BF4\u6848"},{n:"4K\u8001V\u8BF4\u6848",v:"4K\u8001V\u8BF4\u6848"},{n:"4K\u7981\u64AD\u6863\u6848",v:"4K\u7981\u64AD\u6863\u6848"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u6F14\u8BB2:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u5168\u90E8\u6F14\u8BB24K",v:"\u5168\u90E8\u6F14\u8BB24K"},{n:"\u827E\u8DC3\u8FDB\u6F14\u8BB24K",v:"\u827E\u8DC3\u8FDB\u6F14\u8BB24K"},{n:"\u8D85\u7EA7\u6F14\u8BF4\u5BB64K",v:"\u8D85\u7EA7\u6F14\u8BF4\u5BB64K"},{n:"\u7535\u5F71\u6F14\u8BB24K",v:"\u7535\u5F71\u6F14\u8BB24K"},{n:"\u5178\u7C4D\u91CC\u7684\u4E2D\u56FD4K",v:"\u5178\u7C4D\u91CC\u7684\u4E2D\u56FD4K"},{n:"\u611F\u52A8\u4E2D\u56FD4K",v:"\u611F\u52A8\u4E2D\u56FD4K"},{n:"\u90ED\u7EE7\u627F\u6F14\u8BB24K",v:"\u90ED\u7EE7\u627F\u6F14\u8BB24K"},{n:"\u534E\u6625\u83B9\u6F14\u8BB24K",v:"\u534E\u6625\u83B9\u6F14\u8BB24K"},{n:"\u96F7\u519B\u6F14\u8BB24K",v:"\u96F7\u519B\u6F14\u8BB24K"},{n:"\u7F57\u7FD4\u6F14\u8BB24K",v:"\u7F57\u7FD4\u6F14\u8BB24K"},{n:"\u4EFB\u6B63\u975E\u6F14\u8BB24K",v:"\u4EFB\u6B63\u975E\u6F14\u8BB24K"},{n:"TED\u6F14\u8BB24K",v:"TED\u6F14\u8BB24K"},{n:"\u6C6A\u6587\u658C\u6F14\u8BB24K",v:"\u6C6A\u6587\u658C\u6F14\u8BB24K"},{n:"\u4E00\u523B\u6F14\u8BB24K",v:"\u4E00\u523B\u6F14\u8BB24K"},{n:"\u8D75\u7ACB\u575A\u6F14\u8BB24K",v:"\u8D75\u7ACB\u575A\u6F14\u8BB24K"},{n:"\u90D1\u5F3A\u6F14\u8BB24K",v:"\u90D1\u5F3A\u6F14\u8BB24K"},{n:"\u6F14\u8BB2",v:"\u6F14\u8BB2"},{n:"\u827E\u8DC3\u8FDB\u6F14\u8BB2",v:"\u827E\u8DC3\u8FDB\u6F14\u8BB2"},{n:"\u8D85\u7EA7\u6F14\u8BF4\u5BB6",v:"\u8D85\u7EA7\u6F14\u8BF4\u5BB6"},{n:"\u7535\u5F71\u6F14\u8BB2",v:"\u7535\u5F71\u6F14\u8BB2"},{n:"\u5178\u7C4D\u91CC\u7684\u4E2D\u56FD",v:"\u5178\u7C4D\u91CC\u7684\u4E2D\u56FD"},{n:"\u611F\u52A8\u4E2D\u56FD",v:"\u611F\u52A8\u4E2D\u56FD"},{n:"\u90ED\u7EE7\u627F\u6F14\u8BB2",v:"\u90ED\u7EE7\u627F\u6F14\u8BB2"},{n:"\u534E\u6625\u83B9\u6F14\u8BB2",v:"\u534E\u6625\u83B9\u6F14\u8BB2"},{n:"\u96F7\u519B\u6F14\u8BB2",v:"\u96F7\u519B\u6F14\u8BB2"},{n:"\u7F57\u7FD4\u6F14\u8BB2",v:"\u7F57\u7FD4\u6F14\u8BB2"},{n:"\u4EFB\u6B63\u975E\u6F14\u8BB2",v:"\u4EFB\u6B63\u975E\u6F14\u8BB2"},{n:"TED\u6F14\u8BB2",v:"TED\u6F14\u8BB2"},{n:"\u6C6A\u6587\u658C\u6F14\u8BB2",v:"\u6C6A\u6587\u658C\u6F14\u8BB2"},{n:"\u4E00\u523B\u6F14\u8BB2",v:"\u4E00\u523B\u6F14\u8BB2"},{n:"\u8D75\u7ACB\u575A\u6F14\u8BB2",v:"\u8D75\u7ACB\u575A\u6F14\u8BB2"},{n:"\u90D1\u5F3A\u6F14\u8BB2",v:"\u90D1\u5F3A\u6F14\u8BB2"},{n:"4K\u6F14\u8BB2",v:"4K\u6F14\u8BB2"},{n:"4K\u827E\u8DC3\u8FDB\u6F14\u8BB2",v:"4K\u827E\u8DC3\u8FDB\u6F14\u8BB2"},{n:"4K\u8D85\u7EA7\u6F14\u8BF4\u5BB6",v:"4K\u8D85\u7EA7\u6F14\u8BF4\u5BB6"},{n:"4K\u7535\u5F71\u6F14\u8BB2",v:"4K\u7535\u5F71\u6F14\u8BB2"},{n:"4K\u5178\u7C4D\u91CC\u7684\u4E2D\u56FD",v:"4K\u5178\u7C4D\u91CC\u7684\u4E2D\u56FD"},{n:"4K\u611F\u52A8\u4E2D\u56FD",v:"4K\u611F\u52A8\u4E2D\u56FD"},{n:"4K\u90ED\u7EE7\u627F\u6F14\u8BB2",v:"4K\u90ED\u7EE7\u627F\u6F14\u8BB2"},{n:"4K\u534E\u6625\u83B9\u6F14\u8BB2",v:"4K\u534E\u6625\u83B9\u6F14\u8BB2"},{n:"4K\u96F7\u519B\u6F14\u8BB2",v:"4K\u96F7\u519B\u6F14\u8BB2"},{n:"4K\u7F57\u7FD4\u6F14\u8BB2",v:"4K\u7F57\u7FD4\u6F14\u8BB2"},{n:"4K\u4EFB\u6B63\u975E\u6F14\u8BB2",v:"4K\u4EFB\u6B63\u975E\u6F14\u8BB2"},{n:"4K TED\u6F14\u8BB2",v:"4K TED\u6F14\u8BB2"},{n:"4K\u6C6A\u6587\u658C\u6F14\u8BB2",v:"4K\u6C6A\u6587\u658C\u6F14\u8BB2"},{n:"4K\u4E00\u523B\u6F14\u8BB2",v:"4K\u4E00\u523B\u6F14\u8BB2"},{n:"4K\u8D75\u7ACB\u575A\u6F14\u8BB2",v:"4K\u8D75\u7ACB\u575A\u6F14\u8BB2"},{n:"4K\u90D1\u5F3A\u6F14\u8BB2",v:"4K\u90D1\u5F3A\u6F14\u8BB2"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u89E3\u8BF4:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u89E3\u8BF4",v:"\u89E3\u8BF4"},{n:"\u7535\u5F71\u89E3\u8BF4",v:"\u7535\u5F71\u89E3\u8BF4"},{n:"\u7535\u89C6\u89E3\u8BF4",v:"\u7535\u89C6\u89E3\u8BF4"},{n:"\u5386\u53F2\u89E3\u8BF4",v:"\u5386\u53F2\u89E3\u8BF4"},{n:"\u52A8\u6F2B\u89E3\u8BF4",v:"\u52A8\u6F2B\u89E3\u8BF4"},{n:"\u5C0F\u8BF4\u89E3\u8BF4",v:"\u5C0F\u8BF4\u89E3\u8BF4"},{n:"\u89E3\u8BF4",v:"\u89E3\u8BF4"},{n:"4K\u89E3\u8BF4",v:"4K\u89E3\u8BF4"},{n:"4K\u7535\u5F71\u89E3\u8BF4",v:"4K\u7535\u5F71\u89E3\u8BF4"},{n:"4K\u7535\u89C6\u89E3\u8BF4",v:"4K\u7535\u89C6\u89E3\u8BF4"},{n:"4K\u5386\u53F2\u89E3\u8BF4",v:"4K\u5386\u53F2\u89E3\u8BF4"},{n:"4K\u52A8\u6F2B\u89E3\u8BF4",v:"4K\u52A8\u6F2B\u89E3\u8BF4"},{n:"4K\u5C0F\u8BF4\u89E3\u8BF4",v:"4K\u5C0F\u8BF4\u89E3\u8BF4"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u98CE\u666F4K:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u98CE\u666F4K",v:"\u98CE\u666F4K"},{n:"\u6FB3\u95E8\u98CE\u666F4K",v:"\u6FB3\u95E8\u98CE\u666F4K"},{n:"\u5B89\u5FBD\u98CE\u666F4K",v:"\u5B89\u5FBD\u98CE\u666F4K"},{n:"\u5E03\u8FBE\u62C9\u5BAB\u98CE\u666F4K",v:"\u5E03\u8FBE\u62C9\u5BAB\u98CE\u666F4K"},{n:"\u5317\u4EAC\u98CE\u666F4K",v:"\u5317\u4EAC\u98CE\u666F4K"},{n:"\u91CD\u5E86\u98CE\u666F4K",v:"\u91CD\u5E86\u98CE\u666F4K"},{n:"\u8349\u539F\u98CE\u666F4K",v:"\u8349\u539F\u98CE\u666F4K"},{n:"\u5927\u6D77\u98CE\u666F4K",v:"\u5927\u6D77\u98CE\u666F4K"},{n:"\u798F\u5EFA\u98CE\u666F4K",v:"\u798F\u5EFA\u98CE\u666F4K"},{n:"\u5E7F\u4E1C\u98CE\u666F4K",v:"\u5E7F\u4E1C\u98CE\u666F4K"},{n:"\u5E7F\u897F\u98CE\u666F4K",v:"\u5E7F\u897F\u98CE\u666F4K"},{n:"\u8D35\u5DDE\u98CE\u666F4K",v:"\u8D35\u5DDE\u98CE\u666F4K"},{n:"\u7518\u8083\u98CE\u666F4K",v:"\u7518\u8083\u98CE\u666F4K"},{n:"\u6D77\u5357\u98CE\u666F4K",v:"\u6D77\u5357\u98CE\u666F4K"},{n:"\u6CB3\u5317\u98CE\u666F4K",v:"\u6CB3\u5317\u98CE\u666F4K"},{n:"\u6CB3\u5357\u98CE\u666F4K",v:"\u6CB3\u5357\u98CE\u666F4K"},{n:"\u6E56\u5317\u98CE\u666F4K",v:"\u6E56\u5317\u98CE\u666F4K"},{n:"\u6E56\u5357\u98CE\u666F4K",v:"\u6E56\u5357\u98CE\u666F4K"},{n:"\u9ED1\u9F99\u6C5F\u98CE\u666F4K",v:"\u9ED1\u9F99\u6C5F\u98CE\u666F4K"},{n:"\u5409\u6797\u98CE\u666F4K",v:"\u5409\u6797\u98CE\u666F4K"},{n:"\u6C5F\u82CF\u98CE\u666F4K",v:"\u6C5F\u82CF\u98CE\u666F4K"},{n:"\u6C5F\u897F\u98CE\u666F4K",v:"\u6C5F\u897F\u98CE\u666F4K"},{n:"\u8FBD\u5B81\u98CE\u666F4K",v:"\u8FBD\u5B81\u98CE\u666F4K"},{n:"\u6C11\u5BBF\u98CE\u666F4K",v:"\u6C11\u5BBF\u98CE\u666F4K"},{n:"\u5185\u8499\u53E4\u98CE\u666F4K",v:"\u5185\u8499\u53E4\u98CE\u666F4K"},{n:"\u5B81\u590F\u98CE\u666F4K",v:"\u5B81\u590F\u98CE\u666F4K"},{n:"\u9752\u6D77\u98CE\u666F4K",v:"\u9752\u6D77\u98CE\u666F4K"},{n:"\u4E0A\u6D77\u98CE\u666F4K",v:"\u4E0A\u6D77\u98CE\u666F4K"},{n:"\u9655\u897F\u98CE\u666F4K",v:"\u9655\u897F\u98CE\u666F4K"},{n:"\u56DB\u5DDD\u98CE\u666F4K",v:"\u56DB\u5DDD\u98CE\u666F4K"},{n:"\u5C71\u897F\u98CE\u666F4K",v:"\u5C71\u897F\u98CE\u666F4K"},{n:"\u5C71\u4E1C\u98CE\u666F4K",v:"\u5C71\u4E1C\u98CE\u666F4K"},{n:"\u5929\u6D25\u98CE\u666F4K",v:"\u5929\u6D25\u98CE\u666F4K"},{n:"\u53F0\u6E7E\u98CE\u666F4K",v:"\u53F0\u6E7E\u98CE\u666F4K"},{n:"\u5929\u7A7A\u98CE\u666F4K",v:"\u5929\u7A7A\u98CE\u666F4K"},{n:"\u897F\u6E56\u98CE\u666F4K",v:"\u897F\u6E56\u98CE\u666F4K"},{n:"\u897F\u85CF\u98CE\u666F4K",v:"\u897F\u85CF\u98CE\u666F4K"},{n:"\u65B0\u7586\u98CE\u666F4K",v:"\u65B0\u7586\u98CE\u666F4K"},{n:"\u9999\u6E2F\u98CE\u666F4K",v:"\u9999\u6E2F\u98CE\u666F4K"},{n:"\u4E91\u5357\u98CE\u666F4K",v:"\u4E91\u5357\u98CE\u666F4K"},{n:"\u6D59\u6C5F\u98CE\u666F4K",v:"\u6D59\u6C5F\u98CE\u666F4K"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],MV4K:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"MV4K",v:"MV4K"},{n:"\u963F\u675CMV4K",v:"\u963F\u675CMV4K"},{n:"\u963F\u9EDB\u5C14MV4K",v:"\u963F\u9EDB\u5C14MV4K"},{n:"BeyondMV4K",v:"BeyondMV4K"},{n:"By2MV4K",v:"By2MV4K"},{n:"BIGBANGMV4K",v:"BIGBANGMV4K"},{n:"\u5E03\u5170\u59AEMV4K",v:"\u5E03\u5170\u59AEMV4K"},{n:"\u9648\u5955\u8FC5MV4K",v:"\u9648\u5955\u8FC5MV4K"},{n:"\u8521\u4F9D\u6797MV4K",v:"\u8521\u4F9D\u6797MV4K"},{n:"\u521D\u97F3\u672A\u6765MV4K",v:"\u521D\u97F3\u672A\u6765MV4K"},{n:"\u8521\u5065\u96C5MV4K",v:"\u8521\u5065\u96C5MV4K"},{n:"\u9648\u5C0F\u6625MV4K",v:"\u9648\u5C0F\u6625MV4K"},{n:"\u8349\u8722MV4K",v:"\u8349\u8722MV4K"},{n:"\u9648\u6167\u5A34MV4K",v:"\u9648\u6167\u5A34MV4K"},{n:"\u5D14\u5065MV4K",v:"\u5D14\u5065MV4K"},{n:"\u4ED3\u6728\u9EBB\u8863MV4K",v:"\u4ED3\u6728\u9EBB\u8863MV4K"},{n:"\u6234\u8343MV4K",v:"\u6234\u8343MV4K"},{n:"\u52A8\u529B\u706B\u8F66MV4K",v:"\u52A8\u529B\u706B\u8F66MV4K"},{n:"\u9093\u4E3D\u541BMV4K",v:"\u9093\u4E3D\u541BMV4K"},{n:"\u4E01\u5F53MV4K",v:"\u4E01\u5F53MV4K"},{n:"\u5200\u90CEMV4K",v:"\u5200\u90CEMV4K"},{n:"\u9093\u7D2B\u68CBMV4K",v:"\u9093\u7D2B\u68CBMV4K"},{n:"\u6234\u4F69\u59AEMV4K",v:"\u6234\u4F69\u59AEMV4K"},{n:"\u9093\u4E3D\u541BMV4K",v:"\u9093\u4E3D\u541BMV4K"},{n:"\u98DE\u513F\u4E50\u961FMV4K",v:"\u98DE\u513F\u4E50\u961FMV4K"},{n:"\u8D39\u7389\u6E05MV4K",v:"\u8D39\u7389\u6E05MV4K"},{n:"\u8D39\u7FD4MV4K",v:"\u8D39\u7FD4MV4K"},{n:"\u65B9\u5927\u540CMV4K",v:"\u65B9\u5927\u540CMV4K"},{n:"\u623F\u4E1C\u7684\u732BMV4K",v:"\u623F\u4E1C\u7684\u732BMV4K"},{n:"\u51E4\u98DE\u98DEMV4K",v:"\u51E4\u98DE\u98DEMV4K"},{n:"\u51E4\u51F0\u4F20\u5947MV4K",v:"\u51E4\u51F0\u4F20\u5947MV4K"},{n:"\u53E4\u98CE\u6B4C\u66F24K",v:"\u53E4\u98CE\u6B4C\u66F24K"},{n:"\u56FD\u4E50\u5927\u51784K",v:"\u56FD\u4E50\u5927\u51784K"},{n:"\u90ED\u91C7\u6D01MV4K",v:"\u90ED\u91C7\u6D01MV4K"},{n:"\u5149\u826FMV4K",v:"\u5149\u826FMV4K"},{n:"\u90ED\u9759MV4K",v:"\u90ED\u9759MV4K"},{n:"\u90ED\u5BCC\u57CEMV4K",v:"\u90ED\u5BCC\u57CEMV4K"},{n:"\u80E1\u5F66\u658CMV4K",v:"\u80E1\u5F66\u658CMV4K"},{n:"\u80E1\u590FMV4K",v:"\u80E1\u590FMV4K"},{n:"\u97E9\u7EA2MV4K",v:"\u97E9\u7EA2MV4K"},{n:"\u9EC4\u54C1\u6E90MV4K",v:"\u9EC4\u54C1\u6E90MV4K"},{n:"\u9EC4\u5C0F\u7425MV4K",v:"\u9EC4\u5C0F\u7425MV4K"},{n:"\u82B1\u513F\u4E50\u961FMV4K",v:"\u82B1\u513F\u4E50\u961FMV4K"},{n:"\u9EC4\u5BB6\u5F3AMV4K",v:"\u9EC4\u5BB6\u5F3AMV4K"},{n:"\u540E\u8857\u7537\u5B69MV4K",v:"\u540E\u8857\u7537\u5B69MV4K"},{n:"\u7ECF\u5178\u8001\u6B4C4K",v:"\u7ECF\u5178\u8001\u6B4C4K"},{n:"\u8D3E\u65AF\u4E01\u6BD4\u4F2FMV4K",v:"\u8D3E\u65AF\u4E01\u6BD4\u4F2FMV4K"},{n:"\u91D1\u6C60MV4K",v:"\u91D1\u6C60MV4K"},{n:"\u91D1\u5FD7\u6587MV4K",v:"\u91D1\u5FD7\u6587MV4K"},{n:"\u7126\u8FC8\u5947MV4K",v:"\u7126\u8FC8\u5947MV4K"},{n:"\u7B77\u5B50\u5144\u5F1FMV4K",v:"\u7B77\u5B50\u5144\u5F1FMV4K"},{n:"\u674E\u739FMV4K",v:"\u674E\u739FMV4K"},{n:"\u6797\u5FC6\u83B2MV4K",v:"\u6797\u5FC6\u83B2MV4K"},{n:"\u674E\u514B\u52E4MV4K",v:"\u674E\u514B\u52E4MV4K"},{n:"\u5218\u5BAA\u534EMV4K",v:"\u5218\u5BAA\u534EMV4K"},{n:"\u674E\u5723\u6770MV4K",v:"\u674E\u5723\u6770MV4K"},{n:"\u6797\u5BA5\u5609MV4K",v:"\u6797\u5BA5\u5609MV4K"},{n:"\u6881\u9759\u8339MV4K",v:"\u6881\u9759\u8339MV4K"},{n:"\u674E\u5065MV4K",v:"\u674E\u5065MV4K"},{n:"\u6797\u4FCA\u6770MV4K",v:"\u6797\u4FCA\u6770MV4K"},{n:"\u674E\u7389\u521AMV4K",v:"\u674E\u7389\u521AMV4K"},{n:"\u6797\u5FD7\u70ABMV4K",v:"\u6797\u5FD7\u70ABMV4K"},{n:"\u674E\u8363\u6D69MV4K",v:"\u674E\u8363\u6D69MV4K"},{n:"\u674E\u5B87\u6625MV4K",v:"\u674E\u5B87\u6625MV4K"},{n:"\u6D1B\u5929\u4F9DMV4K",v:"\u6D1B\u5929\u4F9DMV4K"},{n:"\u6797\u5B50\u7965MV4K",v:"\u6797\u5B50\u7965MV4K"},{n:"\u674E\u5B97\u76DBMV4K",v:"\u674E\u5B97\u76DBMV4K"},{n:"\u9ECE\u660EMV4K",v:"\u9ECE\u660EMV4K"},{n:"\u5218\u5FB7\u534EMV4K",v:"\u5218\u5FB7\u534EMV4K"},{n:"\u7F57\u5927\u4F51MV4K",v:"\u7F57\u5927\u4F51MV4K"},{n:"\u6797\u80AF\u516C\u56EDMV4K",v:"\u6797\u80AF\u516C\u56EDMV4K"},{n:"LadyGagaMV4K",v:"LadyGagaMV4K"},{n:"\u65C5\u884C\u56E2\u4E50\u961FMV4K",v:"\u65C5\u884C\u56E2\u4E50\u961FMV4K"},{n:"\u83AB\u6587\u851AMV4K",v:"\u83AB\u6587\u851AMV4K"},{n:"\u6BDB\u4E0D\u6613MV4K",v:"\u6BDB\u4E0D\u6613MV4K"},{n:"\u6885\u8273\u82B3MV4K",v:"\u6885\u8273\u82B3MV4K"},{n:"\u8FC8\u514B\u5C14\u6770\u514B\u900AMV4K",v:"\u8FC8\u514B\u5C14\u6770\u514B\u900AMV4K"},{n:"\u5357\u62F3\u5988\u5988MV4K",v:"\u5357\u62F3\u5988\u5988MV4K"},{n:"\u6734\u6811MV4K",v:"\u6734\u6811MV4K"},{n:"\u9F50\u79E6MV4K",v:"\u9F50\u79E6MV4K"},{n:"\u9752\u9E1F\u98DE\u9C7CMV4K",v:"\u9752\u9E1F\u98DE\u9C7CMV4K"},{n:"\u5BB9\u7956\u513FMV4K",v:"\u5BB9\u7956\u513FMV4K"},{n:"\u70ED\u6B4CMV4K",v:"\u70ED\u6B4CMV4K"},{n:"\u4EFB\u8D24\u9F50MV4K",v:"\u4EFB\u8D24\u9F50MV4K"},{n:"\u6C34\u6728\u5E74\u534EMV4K",v:"\u6C34\u6728\u5E74\u534EMV4K"},{n:"\u5B59\u71D5\u59FFMV4K",v:"\u5B59\u71D5\u59FFMV4K"},{n:"\u82CF\u6253\u7EFFMV4K",v:"\u82CF\u6253\u7EFFMV4K"},{n:"SHEMV4K",v:"SHEMV4K"},{n:"\u5B59\u6960MV4K",v:"\u5B59\u6960MV4K"},{n:"\u9676\u5586MV4K",v:"\u9676\u5586MV4K"},{n:"\u8C2D\u548F\u9E9FMV4K",v:"\u8C2D\u548F\u9E9FMV4K"},{n:"\u7530\u99A5\u7504MV4K",v:"\u7530\u99A5\u7504MV4K"},{n:"\u8C2D\u7EF4\u7EF4MV4K",v:"\u8C2D\u7EF4\u7EF4MV4K"},{n:"\u9003\u8DD1\u8BA1\u5212MV4K",v:"\u9003\u8DD1\u8BA1\u5212MV4K"},{n:"\u7530\u9707MV4K",v:"\u7530\u9707MV4K"},{n:"\u8C2D\u6676MV4K",v:"\u8C2D\u6676MV4K"},{n:"\u5C60\u6D2A\u521AMV4K",v:"\u5C60\u6D2A\u521AMV4K"},{n:"\u6CF0\u52D2\xB7\u65AF\u5A01\u592B\u7279MV4K",v:"\u6CF0\u52D2\xB7\u65AF\u5A01\u592B\u7279MV4K"},{n:"\u738B\u529B\u5B8FMV4K",v:"\u738B\u529B\u5B8FMV4K"},{n:"\u738B\u6770MV4K",v:"\u738B\u6770MV4K"},{n:"\u5434\u514B\u7FA4MV4K",v:"\u5434\u514B\u7FA4MV4K"},{n:"\u738B\u5FC3\u51CCMV4K",v:"\u738B\u5FC3\u51CCMV4K"},{n:"\u6C6A\u5CF0MV4K",v:"\u6C6A\u5CF0MV4K"},{n:"\u4F0D\u4F70MV4K",v:"\u4F0D\u4F70MV4K"},{n:"\u738B\u83F2MV4K",v:"\u738B\u83F2MV4K"},{n:"\u4E94\u6708\u5929MV4K",v:"\u4E94\u6708\u5929MV4K"},{n:"\u6C6A\u82CF\u6CF7MV4K",v:"\u6C6A\u82CF\u6CF7MV4K"},{n:"\u5F90\u4F73\u83B9MV4K",v:"\u5F90\u4F73\u83B9MV4K"},{n:"\u5F26\u5B50MV4K",v:"\u5F26\u5B50MV4K"},{n:"\u8427\u4E9A\u8F69MV4K",v:"\u8427\u4E9A\u8F69MV4K"},{n:"\u8BB8\u5DCDMV4K",v:"\u8BB8\u5DCDMV4K"},{n:"\u859B\u4E4B\u8C26MV4K",v:"\u859B\u4E4B\u8C26MV4K"},{n:"\u8BB8\u5D69MV4K",v:"\u8BB8\u5D69MV4K"},{n:"\u5C0F\u864E\u961FMV4K",v:"\u5C0F\u864E\u961FMV4K"},{n:"\u8427\u656C\u817EMV4K",v:"\u8427\u656C\u817EMV4K"},{n:"\u8C22\u9706\u950BMV4K",v:"\u8C22\u9706\u950BMV4K"},{n:"\u5F90\u5C0F\u51E4MV4K",v:"\u5F90\u5C0F\u51E4MV4K"},{n:"\u4FE1\u4E50\u961FMV4K",v:"\u4FE1\u4E50\u961FMV4K"},{n:"\u591C\u613F\u4E50\u961FMV4K",v:"\u591C\u613F\u4E50\u961FMV4K"},{n:"\u539F\u521B\u97F3\u4E50MV4K",v:"\u539F\u521B\u97F3\u4E50MV4K"},{n:"\u7FBD\u6CC9MV4K",v:"\u7FBD\u6CC9MV4K"},{n:"\u7CA4\u8BEDMV4K",v:"\u7CA4\u8BEDMV4K"},{n:"\u90C1\u53EF\u552FMV4K",v:"\u90C1\u53EF\u552FMV4K"},{n:"\u53F6\u5029\u6587MV4K",v:"\u53F6\u5029\u6587MV4K"},{n:"\u6768\u5764MV4K",v:"\u6768\u5764MV4K"},{n:"\u5EBE\u6F84\u5E86MV4K",v:"\u5EBE\u6F84\u5E86MV4K"},{n:"\u5C24\u957F\u9756MV4K",v:"\u5C24\u957F\u9756MV4K"},{n:"\u6613\u70CA\u5343\u73BAMV4K",v:"\u6613\u70CA\u5343\u73BAMV4K"},{n:"\u8881\u5A05\u7EF4MV4K",v:"\u8881\u5A05\u7EF4MV4K"},{n:"\u6768\u4E1E\u7433MV4K",v:"\u6768\u4E1E\u7433MV4K"},{n:"\u6768\u5343\u5B05MV4K",v:"\u6768\u5343\u5B05MV4K"},{n:"\u6768\u5B97\u7EACMV4K",v:"\u6768\u5B97\u7EACMV4K"},{n:"\u5468\u6770\u4F26MV4K",v:"\u5468\u6770\u4F26MV4K"},{n:"\u5F20\u5B66\u53CBMV4K",v:"\u5F20\u5B66\u53CBMV4K"},{n:"\u5F20\u4FE1\u54F2MV4K",v:"\u5F20\u4FE1\u54F2MV4K"},{n:"\u5F20\u5B87MV4K",v:"\u5F20\u5B87MV4K"},{n:"\u5468\u534E\u5065MV4K",v:"\u5468\u534E\u5065MV4K"},{n:"\u5F20\u97F6\u6DB5MV4K",v:"\u5F20\u97F6\u6DB5MV4K"},{n:"\u5468\u6DF1MV4K",v:"\u5468\u6DF1MV4K"},{n:"\u7EB5\u8D2F\u7EBFMV4K",v:"\u7EB5\u8D2F\u7EBFMV4K"},{n:"\u8D75\u96F7MV4K",v:"\u8D75\u96F7MV4K"},{n:"\u5468\u4F20\u96C4MV4K",v:"\u5468\u4F20\u96C4MV4K"},{n:"\u5F20\u56FD\u8363MV4K",v:"\u5F20\u56FD\u8363MV4K"},{n:"\u5468\u6167\u654FMV4K",v:"\u5468\u6167\u654FMV4K"},{n:"\u5F20\u60E0\u59B9MV4K",v:"\u5F20\u60E0\u59B9MV4K"},{n:"\u5468\u7B14\u7545MV4K",v:"\u5468\u7B14\u7545MV4K"},{n:"\u90D1\u4E2D\u57FAMV4K",v:"\u90D1\u4E2D\u57FAMV4K"},{n:"\u5F20\u827A\u5174MV4K",v:"\u5F20\u827A\u5174MV4K"},{n:"\u5F20\u9707\u5CB3MV4K",v:"\u5F20\u9707\u5CB3MV4K"},{n:"\u4E2D\u56FD\u597D\u58F0\u97F3MV4K",v:"\u4E2D\u56FD\u597D\u58F0\u97F3MV4K"},{n:"\u5F20\u96E8\u751FMV4K",v:"\u5F20\u96E8\u751FMV4K"},{n:"\u90D1\u667A\u5316MV4K",v:"\u90D1\u667A\u5316MV4K"},{n:"\u5353\u4F9D\u5A77MV4K",v:"\u5353\u4F9D\u5A77MV4K"},{n:"\u4E2D\u5C9B\u7F8E\u96EAMV4K",v:"\u4E2D\u5C9B\u7F8E\u96EAMV4K"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u5E15\u6885\u62C9:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u5E15\u6885\u62C9",v:"\u5E15\u6885\u62C9"},{n:"\u5E15\u6885\u62C9\u7626\u817F",v:"\u5E15\u6885\u62C9\u7626\u817F"},{n:"\u5E15\u6885\u62C9\u8179\u90E8",v:"\u5E15\u6885\u62C9\u8179\u90E8"},{n:"\u5E15\u6885\u62C9\u624B\u81C2",v:"\u5E15\u6885\u62C9\u624B\u81C2"},{n:"\u5E15\u6885\u62C9\u70ED\u8EAB",v:"\u5E15\u6885\u62C9\u70ED\u8EAB"},{n:"\u5E15\u6885\u62C9\u821E\u8E48",v:"\u5E15\u6885\u62C9\u821E\u8E48"},{n:"\u5E15\u6885\u62C9\u71C3\u8102",v:"\u5E15\u6885\u62C9\u71C3\u8102"},{n:"\u5E15\u6885\u62C9\u6709\u6C27",v:"\u5E15\u6885\u62C9\u6709\u6C27"},{n:"\u5E15\u6885\u62C9\u62C9\u4F38",v:"\u5E15\u6885\u62C9\u62C9\u4F38"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u77E5\u540DUP\u4E3B:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u77E5\u540DUP\u4E3B",v:"\u77E5\u540DUP\u4E3B"},{n:"\u83E0\u841D\u8D5B\u4E1C",v:"\u83E0\u841D\u8D5B\u4E1C"},{n:"\u51AF\u63D0\u83AB",v:"\u51AF\u63D0\u83AB"},{n:"\u6797\u5EF6\u79CB",v:"\u6797\u5EF6\u79CB"},{n:"-LKs-",v:"-LKs-"},{n:"\u5C0F\u7EA6\u7FF0\u53EF\u6C57",v:"\u5C0F\u7EA6\u7FF0\u53EF\u6C57"},{n:"low\u9986\u957F",v:"low\u9986\u957F"},{n:"\u81EA\u8BF4\u81EA\u8BDD\u7684\u603B\u88C1",v:"\u81EA\u8BF4\u81EA\u8BDD\u7684\u603B\u88C1"},{n:"\u6240\u957F\u6797\u8D85",v:"\u6240\u957F\u6797\u8D85"},{n:"\u4E16\u754C\u672A\u89E3\u4E4B\u8C1CM",v:"\u4E16\u754C\u672A\u89E3\u4E4B\u8C1CM"},{n:"\u674E\u6C38\u4E50\u8001\u5E08\u5B98\u65B9",v:"\u674E\u6C38\u4E50\u8001\u5E08\u5B98\u65B9"},{n:"\u7F57\u5179",v:"\u7F57\u5179"},{n:"\u56DE\u52302049",v:"\u56DE\u52302049"},{n:"\u4E8C\u6B21\u5143\u7684\u4E2D\u79D1\u9662\u7269\u7406\u6240",v:"\u4E8C\u6B21\u5143\u7684\u4E2D\u79D1\u9662\u7269\u7406\u6240"},{n:"\u6BD5\u5BFCTHU",v:"\u6BD5\u5BFCTHU"},{n:"\u7F57\u7FD4\u8BB2\u5211\u6CD5",v:"\u7F57\u7FD4\u8BB2\u5211\u6CD5"},{n:"\u6234\u535A\u58EB\u5B9E\u9A8C\u5BA4",v:"\u6234\u535A\u58EB\u5B9E\u9A8C\u5BA4"},{n:"\u82B3\u65AF\u5854\u8299",v:"\u82B3\u65AF\u5854\u8299"},{n:"\u53C2\u8D5B\u8005\u7F51",v:"\u53C2\u8D5B\u8005\u7F51"},{n:"\u4E09\u7EF4\u5730\u56FE\u770B\u4E16\u754C",v:"\u4E09\u7EF4\u5730\u56FE\u770B\u4E16\u754C"},{n:"\u6709\u673A\u793E\u4F1A",v:"\u6709\u673A\u793E\u4F1A"},{n:"\u4E4C\u9E26\u6821\u5C09CaptainWuya",v:"\u4E4C\u9E26\u6821\u5C09CaptainWuya"},{n:"\u679C\u58F3",v:"\u679C\u58F3"},{n:"\u4E25\u4F2F\u94A7",v:"\u4E25\u4F2F\u94A7"},{n:"\u662F\u4F60\u4EEC\u7684\u5EB7\u5EB7",v:"\u662F\u4F60\u4EEC\u7684\u5EB7\u5EB7"},{n:"\u8001\u7238\u8BC4\u6D4B",v:"\u8001\u7238\u8BC4\u6D4B"},{n:"\u786C\u6838\u7684\u534A\u4F5B\u4ED9\u4EBA",v:"\u786C\u6838\u7684\u534A\u4F5B\u4ED9\u4EBA"},{n:"\u76D7\u6708\u793E\u98DF\u9047\u8BB0",v:"\u76D7\u6708\u793E\u98DF\u9047\u8BB0"},{n:"\u6211\u662F\u90ED\u6770\u745E",v:"\u6211\u662F\u90ED\u6770\u745E"},{n:"\u65E0\u7A77\u5C0F\u4EAE\u7684\u79D1\u666E\u65E5\u5E38",v:"\u65E0\u7A77\u5C0F\u4EAE\u7684\u79D1\u666E\u65E5\u5E38"},{n:"papi\u9171",v:"papi\u9171"},{n:"\u8001\u756A\u8304",v:"\u8001\u756A\u8304"},{n:"\u7EF5\u7F8A\u6599\u7406",v:"\u7EF5\u7F8A\u6599\u7406"},{n:"\u8001\u5E08\u597D\u6211\u53EB\u4F55\u540C\u5B66",v:"\u8001\u5E08\u597D\u6211\u53EB\u4F55\u540C\u5B66"},{n:"\u656C\u6C49\u537F",v:"\u656C\u6C49\u537F"},{n:"\u5468\u516D\u91CEZoey",v:"\u5468\u516D\u91CEZoey"},{n:"\u6728\u9C7C\u6C34\u5FC3",v:"\u6728\u9C7C\u6C34\u5FC3"},{n:"\u51C9\u98CEKaze",v:"\u51C9\u98CEKaze"},{n:"\u5C0F\u6F6E\u9662\u957F",v:"\u5C0F\u6F6E\u9662\u957F"},{n:"\u4E2D\u56FDBOY\u8D85\u7EA7\u5927\u7329\u7329",v:"\u4E2D\u56FDBOY\u8D85\u7EA7\u5927\u7329\u7329"},{n:"\u674E\u5B50\u67D2",v:"\u674E\u5B50\u67D2"},{n:"\u6556\u5382\u957F",v:"\u6556\u5382\u957F"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u592A\u6781\u62F3:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u592A\u6781\u62F3",v:"\u592A\u6781\u62F3"},{n:"\u592A\u6781\u62F3\u90B1\u6167\u82B3",v:"\u592A\u6781\u62F3\u90B1\u6167\u82B3"},{n:"\u592A\u6781\u62F3\u9648\u6C0F",v:"\u592A\u6781\u62F3\u9648\u6C0F"},{n:"\u592A\u6781\u62F3\u6B66\u5F53",v:"\u592A\u6781\u62F3\u6B66\u5F53"},{n:"\u592A\u6781\u62F3\u4E8C\u5341\u56DB\u5F0F",v:"\u592A\u6781\u62F3\u4E8C\u5341\u56DB\u5F0F"},{n:"\u592A\u6781\u62F3\u4E09\u5341\u516D\u5F0F",v:"\u592A\u6781\u62F3\u4E09\u5341\u516D\u5F0F"},{n:"\u4E94\u79BD\u620F",v:"\u4E94\u79BD\u620F"},{n:"\u516B\u6BB5\u9526",v:"\u516B\u6BB5\u9526"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u821E\u8E48:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u821E\u8E48",v:"\u821E\u8E48"},{n:"\u5B85\u821E",v:"\u5B85\u821E"},{n:"\u8857\u821E",v:"\u8857\u821E"},{n:"\u4E2D\u56FD\u821E",v:"\u4E2D\u56FD\u821E"},{n:"\u5E7F\u573A\u821E",v:"\u5E7F\u573A\u821E"},{n:"\u4EA4\u8C0A\u821E",v:"\u4EA4\u8C0A\u821E"},{n:"\u821E\u8E48\u6559\u7A0B",v:"\u821E\u8E48\u6559\u7A0B"},{n:"\u821E\u8E48",v:"\u821E\u8E48"},{n:"\u660E\u661F\u821E\u8E48",v:"\u660E\u661F\u821E\u8E48"},{n:"\u97E9\u821E",v:"\u97E9\u821E"},{n:"\u53E4\u5178\u821E",v:"\u53E4\u5178\u821E"},{n:"\u7FFB\u8DF3",v:"\u7FFB\u8DF3"},{n:"\u53E4\u98CE\u821E",v:"\u53E4\u98CE\u821E"},{n:"\u73B0\u4EE3\u821E",v:"\u73B0\u4EE3\u821E"},{n:"\u7235\u58EB\u821E",v:"\u7235\u58EB\u821E"},{n:"\u82AD\u857E",v:"\u82AD\u857E"},{n:"\u7F16\u821E",v:"\u7F16\u821E"},{n:"POPPING",v:"POPPING"},{n:"\u6781\u4E50\u51C0\u571F",v:"\u6781\u4E50\u51C0\u571F"},{n:"\u6843\u6E90\u604B\u6B4C",v:"\u6843\u6E90\u604B\u6B4C"},{n:"\u65B0\u5B9D\u5C9B",v:"\u65B0\u5B9D\u5C9B"},{n:"\u62C9\u4E01\u821E",v:"\u62C9\u4E01\u821E"},{n:"\u8E66\u8FEA",v:"\u8E66\u8FEA"},{n:"\u6C11\u65CF\u821E",v:"\u6C11\u65CF\u821E"},{n:"\u6296\u80A9\u821E",v:"\u6296\u80A9\u821E"},{n:"\u9F50\u821E",v:"\u9F50\u821E"},{n:"\u673A\u68B0\u821E",v:"\u673A\u68B0\u821E"},{n:"BDF",v:"BDF"},{n:"\u7EC3\u4E60\u5BA4",v:"\u7EC3\u4E60\u5BA4"},{n:"\u7F8E\u5973\u821E\u8E48",v:"\u7F8E\u5973\u821E\u8E48"},{n:"\u725B\u4ED4\u88E4",v:"\u725B\u4ED4\u88E4"},{n:"\u9ED1\u4E1D",v:"\u9ED1\u4E1D"},{n:"\u8D85\u77ED\u88E4",v:"\u8D85\u77ED\u88E4"},{n:"\u8D85\u77ED\u88D9",v:"\u8D85\u77ED\u88D9"},{n:"\u821E\u8E48\u7EFC\u5408",v:"\u821E\u8E48\u7EFC\u5408"},{n:"\u821E\u8E48\u6559\u7A0B",v:"\u821E\u8E48\u6559\u7A0B"},{n:"4K\u821E\u8E48",v:"4K\u821E\u8E48"},{n:"4K\u5B85\u821E",v:"4K\u5B85\u821E"},{n:"4K\u8857\u821E",v:"4K\u8857\u821E"},{n:"4K\u660E\u661F\u821E\u8E48",v:"4K\u660E\u661F\u821E\u8E48"},{n:"4K\u97E9\u821E",v:"4K\u97E9\u821E"},{n:"4K\u53E4\u5178\u821E",v:"4K\u53E4\u5178\u821E"},{n:"4K\u7FFB\u8DF3",v:"4K\u7FFB\u8DF3"},{n:"4K\u4E2D\u56FD\u821E",v:"4K\u4E2D\u56FD\u821E"},{n:"4K\u53E4\u98CE\u821E",v:"4K\u53E4\u98CE\u821E"},{n:"4K\u73B0\u4EE3\u821E",v:"4K\u73B0\u4EE3\u821E"},{n:"4K\u7235\u58EB\u821E",v:"4K\u7235\u58EB\u821E"},{n:"4K\u82AD\u857E",v:"4K\u82AD\u857E"},{n:"4K\u7F16\u821E",v:"4K\u7F16\u821E"},{n:"4K POPPING",v:"4K POPPING"},{n:"4K\u6781\u4E50\u51C0\u571F",v:"4K\u6781\u4E50\u51C0\u571F"},{n:"4K\u6843\u6E90\u604B\u6B4C",v:"4K\u6843\u6E90\u604B\u6B4C"},{n:"4K\u65B0\u5B9D\u5C9B",v:"4K\u65B0\u5B9D\u5C9B"},{n:"4K\u62C9\u4E01\u821E",v:"4K\u62C9\u4E01\u821E"},{n:"4K\u8E66\u8FEA",v:"4K\u8E66\u8FEA"},{n:"4K\u6C11\u65CF\u821E",v:"4K\u6C11\u65CF\u821E"},{n:"4K\u6296\u80A9\u821E",v:"4K\u6296\u80A9\u821E"},{n:"4K\u9F50\u821E",v:"4K\u9F50\u821E"},{n:"4K\u673A\u68B0\u821E",v:"4K\u673A\u68B0\u821E"},{n:"4K\u5E7F\u573A\u821E",v:"4K\u5E7F\u573A\u821E"},{n:"4KBDF",v:"4KBDF"},{n:"4K\u7EC3\u4E60\u5BA4",v:"4K\u7EC3\u4E60\u5BA4"},{n:"4K\u7F8E\u5973\u821E\u8E48",v:"4K\u7F8E\u5973\u821E\u8E48"},{n:"4K\u725B\u4ED4\u88E4",v:"4K\u725B\u4ED4\u88E4"},{n:"4K\u9ED1\u4E1D",v:"4K\u9ED1\u4E1D"},{n:"4K\u8D85\u77ED\u88E4",v:"4K\u8D85\u77ED\u88E4"},{n:"4K\u8D85\u77ED\u88D9",v:"4K\u8D85\u77ED\u88D9"},{n:"4K\u821E\u8E48\u7EFC\u5408",v:"4K\u821E\u8E48\u7EFC\u5408"},{n:"4K\u821E\u8E48\u6559\u7A0B",v:"4K\u821E\u8E48\u6559\u7A0B"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u97F3\u4E50:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u97F3\u4E50",v:"\u97F3\u4E50"},{n:"\u94A2\u7434\u66F2",v:"\u94A2\u7434\u66F2"},{n:"\u534F\u594F\u66F2r",v:"\u534F\u594F\u66F2r"},{n:"\u4E2D\u56FD\u53E4\u98CE\u97F3\u4E50",v:"\u4E2D\u56FD\u53E4\u98CE\u97F3\u4E50"},{n:"\u80CC\u666F\u97F3\u4E50",v:"\u80CC\u666F\u97F3\u4E50"},{n:"\u52A9\u7720\u97F3\u4E50",v:"\u52A9\u7720\u97F3\u4E50"},{n:"\u80CE\u6559\u97F3\u4E50",v:"\u80CE\u6559\u97F3\u4E50"},{n:"\u97F3\u4E50",v:"\u97F3\u4E50"},{n:"\u539F\u521B\u97F3\u4E50",v:"\u539F\u521B\u97F3\u4E50"},{n:"\u7FFB\u5531",v:"\u7FFB\u5531"},{n:"\u6F14\u594F",v:"\u6F14\u594F"},{n:"VOCALOID\xB7UTAU",v:"VOCALOID\xB7UTAU"},{n:"\u97F3\u4E50\u73B0\u573A",v:"\u97F3\u4E50\u73B0\u573A"},{n:"\u539F\u58F0\u97F3\u4E50",v:"\u539F\u58F0\u97F3\u4E50"},{n:"\u4E50\u8BC4\u76D8\u70B9",v:"\u4E50\u8BC4\u76D8\u70B9"},{n:"\u97F3\u4E50\u6559\u5B66",v:"\u97F3\u4E50\u6559\u5B66"},{n:"\u97F3\u4E50\u7EFC\u5408",v:"\u97F3\u4E50\u7EFC\u5408"},{n:"\u8BF4\u5531",v:"\u8BF4\u5531"},{n:"HIPHOP",v:"HIPHOP"},{n:"\u4E2D\u56FD\u98CE",v:"\u4E2D\u56FD\u98CE"},{n:"\u53E4\u98CE",v:"\u53E4\u98CE"},{n:"\u7535\u97F3",v:"\u7535\u97F3"},{n:"\u6447\u6EDA",v:"\u6447\u6EDA"},{n:"\u6C11\u8C23",v:"\u6C11\u8C23"},{n:"\u7235\u58EB",v:"\u7235\u58EB"},{n:"\u7EAF\u97F3\u4E50",v:"\u7EAF\u97F3\u4E50"},{n:"BEAT",v:"BEAT"},{n:"REMIX",v:"REMIX"},{n:"\u4EBA\u58F0\u672C\u5BB6",v:"\u4EBA\u58F0\u672C\u5BB6"},{n:"\u56FD\u4EBA\u539F\u521B",v:"\u56FD\u4EBA\u539F\u521B"},{n:"\u539F\u521B\u6B4C\u66F2",v:"\u539F\u521B\u6B4C\u66F2"},{n:"\u7F16\u66F2",v:"\u7F16\u66F2"},{n:"\u6539\u7F16",v:"\u6539\u7F16"},{n:"\u5409\u4ED6",v:"\u5409\u4ED6"},{n:"\u7535\u5B50\u97F3\u4E50",v:"\u7535\u5B50\u97F3\u4E50"},{n:"\u94A2\u7434",v:"\u94A2\u7434"},{n:"\u56FD\u4EBA\u7537\u58F0",v:"\u56FD\u4EBA\u7537\u58F0"},{n:"\u56FD\u4EBA\u5973\u751F",v:"\u56FD\u4EBA\u5973\u751F"},{n:"\u4E2D\u6587\u7FFB\u5531",v:"\u4E2D\u6587\u7FFB\u5531"},{n:"\u82F1\u6587\u7FFB\u5531",v:"\u82F1\u6587\u7FFB\u5531"},{n:"VOCALOID",v:"VOCALOID"},{n:"\u71C3\u5411",v:"\u71C3\u5411"},{n:"\u4E2D\u6587\u586B\u8BCD",v:"\u4E2D\u6587\u586B\u8BCD"},{n:"\u7075\u9B42\u6B4C\u624B",v:"\u7075\u9B42\u6B4C\u624B"},{n:"\u6CBB\u6108\u5411",v:"\u6CBB\u6108\u5411"},{n:"COVER",v:"COVER"},{n:"\u521D\u6295\u7A3F",v:"\u521D\u6295\u7A3F"},{n:"\u5409\u4ED6\u5F39\u5531",v:"\u5409\u4ED6\u5F39\u5531"},{n:"\u539F\u521BPV",v:"\u539F\u521BPV"},{n:"\u9B54\u9053\u7956\u5E08",v:"\u9B54\u9053\u7956\u5E08"},{n:"\u6B27\u7F8E",v:"\u6B27\u7F8E"},{n:"\u65B0\u4EBA\u5411",v:"\u65B0\u4EBA\u5411"},{n:"\u798F\u5229\u8033\u673A",v:"\u798F\u5229\u8033\u673A"},{n:"\u521B\u610F\u6F14\u594F",v:"\u521B\u610F\u6F14\u594F"},{n:"\u8857\u5934\u8868\u6F14",v:"\u8857\u5934\u8868\u6F14"},{n:"\u7FFB\u5F39",v:"\u7FFB\u5F39"},{n:"\u4E50\u961F",v:"\u4E50\u961F"},{n:"\u6C11\u4E50",v:"\u6C11\u4E50"},{n:"\u5408\u594F",v:"\u5408\u594F"},{n:"\u6307\u5F39",v:"\u6307\u5F39"},{n:"\u5C0F\u63D0\u7434",v:"\u5C0F\u63D0\u7434"},{n:"\u67B6\u5B50\u9F13",v:"\u67B6\u5B50\u9F13"},{n:"\u6728\u5409\u4ED6",v:"\u6728\u5409\u4ED6"},{n:"BGM",v:"BGM"},{n:"\u5361\u7956\u7B1B",v:"\u5361\u7956\u7B1B"},{n:"\u7535\u5409\u4ED6",v:"\u7535\u5409\u4ED6"},{n:"LAUNCHPAD",v:"LAUNCHPAD"},{n:"\u8D1D\u65AF",v:"\u8D1D\u65AF"},{n:"\u53E3\u7434",v:"\u53E3\u7434"},{n:"\u6307\u5F39\u5409\u4ED6",v:"\u6307\u5F39\u5409\u4ED6"},{n:"\u7435\u7436",v:"\u7435\u7436"},{n:"\u626C\u7434",v:"\u626C\u7434"},{n:"\u53E4\u5178\u97F3\u4E50",v:"\u53E4\u5178\u97F3\u4E50"},{n:"\u53E4\u7B5D",v:"\u53E4\u7B5D"},{n:"\u4E8C\u80E1",v:"\u4E8C\u80E1"},{n:"BEATBOX",v:"BEATBOX"},{n:"\u53E4\u5178",v:"\u53E4\u5178"},{n:"\u6D1B\u5929\u4F9D",v:"\u6D1B\u5929\u4F9D"},{n:"\u4E50\u6B63\u7EEB",v:"\u4E50\u6B63\u7EEB"},{n:"\u8A00\u548C",v:"\u8A00\u548C"},{n:"\u4E50\u6B63\u9F99\u7259",v:"\u4E50\u6B63\u9F99\u7259"},{n:"\u58A8\u6E05\u5F26",v:"\u58A8\u6E05\u5F26"},{n:"\u5FBD\u7FBD\u6469\u67EF",v:"\u5FBD\u7FBD\u6469\u67EF"},{n:"Vsinger",v:"Vsinger"},{n:"\u5FC3\u534E",v:"\u5FC3\u534E"},{n:"\u661F\u5C18",v:"\u661F\u5C18"},{n:"\u5AE3\u6C50",v:"\u5AE3\u6C50"},{n:"\u521D\u97F3\u672A\u6765",v:"\u521D\u97F3\u672A\u6765"},{n:"\u955C\u97F3\u94C3",v:"\u955C\u97F3\u94C3"},{n:"\u5DE1\u97F3\u6D41\u6B4C",v:"\u5DE1\u97F3\u6D41\u6B4C"},{n:"KAITO",v:"KAITO"},{n:"flower",v:"flower"},{n:"\u5143\u7B71",v:"\u5143\u7B71"},{n:"VOCALOID\u4E2D\u6587\u66F2",v:"VOCALOID\u4E2D\u6587\u66F2"},{n:"\u83B2\u534E",v:"\u83B2\u534E"},{n:"\u5357\u5317\u7EC4",v:"\u5357\u5317\u7EC4"},{n:"\u955C\u97F3\u53CC\u5B50",v:"\u955C\u97F3\u53CC\u5B50"},{n:"MUTA\u4E2D\u6587\u66F2",v:"MUTA\u4E2D\u6587\u66F2"},{n:"UTAU\u4E2D\u534E\u7EC4",v:"UTAU\u4E2D\u534E\u7EC4"},{n:"XStudio",v:"XStudio"},{n:"\u521D\u97F3",v:"\u521D\u97F3"},{n:"IA",v:"IA"},{n:"GUMI",v:"GUMI"},{n:"SynthV",v:"SynthV"},{n:"UTAU",v:"UTAU"},{n:"\u5E7B\u6653\u4F0A",v:"\u5E7B\u6653\u4F0A"},{n:"\u4E94\u7EF4\u4ECB\u8D28",v:"\u4E94\u7EF4\u4ECB\u8D28"},{n:"\u53EF\u4E0D",v:"\u53EF\u4E0D"},{n:"ACE\u865A\u62DF\u6B4C\u59EC",v:"ACE\u865A\u62DF\u6B4C\u59EC"},{n:"deepvocal",v:"deepvocal"},{n:"SYNTHV",v:"SYNTHV"},{n:"\u534E\u8BED\u73B0\u573A",v:"\u534E\u8BED\u73B0\u573A"},{n:"\u6B27\u7F8E\u73B0\u573A",v:"\u6B27\u7F8E\u73B0\u573A"},{n:"\u65E5\u8BED\u73B0\u573A",v:"\u65E5\u8BED\u73B0\u573A"},{n:"\u97E9\u8BED\u73B0\u573A",v:"\u97E9\u8BED\u73B0\u573A"},{n:"\u56FD\u8BED\u73B0\u573A",v:"\u56FD\u8BED\u73B0\u573A"},{n:"\u7CA4\u8BED\u73B0\u573A",v:"\u7CA4\u8BED\u73B0\u573A"},{n:"live",v:"live"},{n:"\u97F3\u4E50\u5267",v:"\u97F3\u4E50\u5267"},{n:"\u6F14\u5531\u4F1A",v:"\u6F14\u5531\u4F1A"},{n:"\u97F3\u4E50\u8282",v:"\u97F3\u4E50\u8282"},{n:"\u7ECF\u5178\u8001\u6B4C",v:"\u7ECF\u5178\u8001\u6B4C"},{n:"\u7CBE\u9009\u6B4C\u5355",v:"\u7CBE\u9009\u6B4C\u5355"},{n:"\u5F71\u89C6\u97F3\u4E50",v:"\u5F71\u89C6\u97F3\u4E50"},{n:"\u6E38\u620F\u97F3\u4E50",v:"\u6E38\u620F\u97F3\u4E50"},{n:"\u4E2D\u56FD\u620F\u66F2",v:"\u4E2D\u56FD\u620F\u66F2"},{n:"\u9ED1\u80F6\u5531\u7247",v:"\u9ED1\u80F6\u5531\u7247"},{n:"ACG\u97F3\u4E50",v:"ACG\u97F3\u4E50"},{n:"\u4EA4\u54CD\u4E50",v:"\u4EA4\u54CD\u4E50"},{n:"\u5FAA\u73AF\u97F3\u4E50",v:"\u5FAA\u73AF\u97F3\u4E50"},{n:"OST\u97F3\u4E50",v:"OST\u97F3\u4E50"},{n:"4K\u97F3\u4E50",v:"4K\u97F3\u4E50"},{n:"DJ\u97F3\u4E50",v:"DJ\u97F3\u4E50"},{n:"\u821E\u66F2",v:"\u821E\u66F2"},{n:"\u591C\u5E97\u821E\u66F2",v:"\u591C\u5E97\u821E\u66F2"},{n:"\u56FD\u5916\u821E\u66F2",v:"\u56FD\u5916\u821E\u66F2"},{n:"\u4E9A\u6D32\u821E\u66F2",v:"\u4E9A\u6D32\u821E\u66F2"},{n:"\u6B27\u7F8E\u821E\u66F2",v:"\u6B27\u7F8E\u821E\u66F2"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u6B4C\u66F2:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u6B4C\u66F2",v:"\u6B4C\u66F2"},{n:"\u9999\u6E2F\u6B4C\u66F2",v:"\u9999\u6E2F\u6B4C\u66F2"},{n:"\u53F0\u6E7E\u6B4C\u66F2",v:"\u53F0\u6E7E\u6B4C\u66F2"},{n:"\u5185\u5730\u6B4C\u66F2",v:"\u5185\u5730\u6B4C\u66F2"},{n:"\u82F1\u6587\u6B4C\u66F2",v:"\u82F1\u6587\u6B4C\u66F2"},{n:"\u65E5\u6587\u6B4C\u66F2",v:"\u65E5\u6587\u6B4C\u66F2"},{n:"\u5C0F\u8BED\u79CD\u6B4C\u66F2",v:"\u5C0F\u8BED\u79CD\u6B4C\u66F2"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u5E73\u9762\u8BBE\u8BA1\u6559\u5B66:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u5E73\u9762\u8BBE\u8BA1\u6559\u5B66",v:"\u5E73\u9762\u8BBE\u8BA1\u6559\u5B66"},{n:"Adobe Photoshop\u6559\u7A0B",v:"Adobe Photoshop\u6559\u7A0B"},{n:"Adobe Illustrator\u6559\u7A0B",v:"Adobe Illustrator\u6559\u7A0B"},{n:"CorelDRAW\u6559\u7A0B",v:"CorelDRAW\u6559\u7A0B"},{n:"Adobe InDesign\u6559\u7A0B",v:"Adobe InDesign\u6559\u7A0B"},{n:"Adobe Pagermaker\u6559\u7A0B",v:"Adobe Pagermaker\u6559\u7A0B"},{n:"SAI\u6559\u7A0B",v:"SAI\u6559\u7A0B"},{n:"Adobe Bridge\u6559\u7A0B",v:"Adobe Bridge\u6559\u7A0B"},{n:"Adobe Pagermake\u6559\u7A0Br",v:"Adobe Pagermake\u6559\u7A0Br"},{n:"3D Studio Max\u6559\u7A0B",v:"3D Studio Max\u6559\u7A0B"},{n:"PR\u6559\u7A0B",v:"PR\u6559\u7A0B"},{n:"AE\u6559\u7A0B",v:"AE\u6559\u7A0B"},{n:"CINEMA 4D\u6559\u7A0B",v:"CINEMA 4D\u6559\u7A0B"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u8F6F\u4EF6\u6559\u7A0B:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u8F6F\u4EF6\u6559\u7A0B",v:"\u8F6F\u4EF6\u6559\u7A0B"},{n:"MT\u7BA1\u7406\u5668",v:"MT\u7BA1\u7406\u5668"},{n:"NP\u7BA1\u7406\u5668",v:"NP\u7BA1\u7406\u5668"},{n:"mixplorer",v:"mixplorer"},{n:"\u8131\u58F3",v:"\u8131\u58F3"},{n:"\u722C\u866B",v:"\u722C\u866B"},{n:"json&jar",v:"json&jar"},{n:"\u7F51\u76D8\u6302\u8F7D",v:"\u7F51\u76D8\u6302\u8F7D"},{n:"alist+WebDav",v:"alist+WebDav"},{n:"TVBox\u4FEE\u6539\u6559\u7A0B",v:"TVBox\u4FEE\u6539\u6559\u7A0B"},{n:"EXCEL\u6559\u7A0B",v:"EXCEL\u6559\u7A0B"},{n:"Git\u5165\u95E8\u5230\u7CBE\u901A",v:"Git\u5165\u95E8\u5230\u7CBE\u901A"},{n:"java\u6559\u7A0B",v:"java\u6559\u7A0B"},{n:"phyton\u6559\u7A0B",v:"phyton\u6559\u7A0B"},{n:"xml\u6559\u7A0B",v:"xml\u6559\u7A0B"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],Windows:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u5C0F\u59D0\u59D0\u8D85\u6E05:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u5E7F\u573A\u821E\u8D85\u6E05:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u821E\u66F2\u8D85\u6E05:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u767D\u566A\u97F3\u8D85\u6E05:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u641E\u7B11\u8D85\u6E05:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u4F53\u80B2\u8D85\u6E05:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],"4K":[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u8DB3\u7403\u6BD4\u8D5B\u5408\u96C6\u8D85\u6E05:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u7BEE\u7403\u8D85\u6E05:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u52A8\u7269\u4E16\u754C\u8D85\u6E05:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u513F\u7AE5\u8D85\u6E05:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u8352\u91CE\u6C42\u751F\u8D85\u6E05:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u7EAA\u5F55\u7247\u8D85\u6E05:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u98DF\u8C31:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u98DF\u8C31",v:"\u98DF\u8C31"},{n:"\u5DDD\u83DC\u98DF\u8C31",v:"\u5DDD\u83DC\u98DF\u8C31"},{n:"\u8C6B\u83DC\u98DF\u8C31",v:"\u8C6B\u83DC\u98DF\u8C31"},{n:"\u6DEE\u626C\u83DC\u98DF\u8C31",v:"\u6DEE\u626C\u83DC\u98DF\u8C31"},{n:"\u6E58\u83DC\u98DF\u8C31",v:"\u6E58\u83DC\u98DF\u8C31"},{n:"\u9C81\u83DC\u98DF\u8C31",v:"\u9C81\u83DC\u98DF\u8C31"},{n:"\u7CA4\u83DC\u98DF\u8C31",v:"\u7CA4\u83DC\u98DF\u8C31"},{n:"\u6F6E\u83DC\u98DF\u8C31",v:"\u6F6E\u83DC\u98DF\u8C31"},{n:"\u6D59\u83DC\u98DF\u8C31",v:"\u6D59\u83DC\u98DF\u8C31"},{n:"\u5FBD\u83DC\u98DF\u8C31",v:"\u5FBD\u83DC\u98DF\u8C31"},{n:"\u95FD\u83DC\u98DF\u8C31",v:"\u95FD\u83DC\u98DF\u8C31"},{n:"\u82CF\u83DC\u98DF\u8C31",v:"\u82CF\u83DC\u98DF\u8C31"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u5065\u8EAB:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u5065\u8EAB",v:"\u5065\u8EAB"},{n:"\u7626\u817F",v:"\u7626\u817F"},{n:"\u8179\u90E8",v:"\u8179\u90E8"},{n:"\u624B\u81C2",v:"\u624B\u81C2"},{n:"\u70ED\u8EAB",v:"\u70ED\u8EAB"},{n:"\u5E15\u6885\u62C9",v:"\u5E15\u6885\u62C9"},{n:"\u71C3\u8102",v:"\u71C3\u8102"},{n:"\u6709\u6C27",v:"\u6709\u6C27"},{n:"\u62C9\u4F38",v:"\u62C9\u4F38"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u7A97\u767D\u566A\u97F3:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u7F8E\u98DF\u8D85\u6E05:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u7F8E\u98DF\u8D85\u6E05",v:"\u7F8E\u98DF\u8D85\u6E05"},{n:"\u820C\u5C16\u4E0A\u7684\u4E2D\u56FD\u8D85\u6E05",v:"\u820C\u5C16\u4E0A\u7684\u4E2D\u56FD\u8D85\u6E05"},{n:"\u8001\u5B57\u53F7\u7F8E\u98DF\u8D85\u6E05",v:"\u8001\u5B57\u53F7\u7F8E\u98DF\u8D85\u6E05"},{n:"\u5BB6\u5E38\u83DC\u7F8E\u98DF\u8D85\u6E05",v:"\u5BB6\u5E38\u83DC\u7F8E\u98DF\u8D85\u6E05"},{n:"\u9999\u6E2F\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05",v:"\u9999\u6E2F\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05"},{n:"\u6FB3\u95E8\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05",v:"\u6FB3\u95E8\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05"},{n:"\u4E0A\u6D77\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05",v:"\u4E0A\u6D77\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05"},{n:"\u5317\u4EAC\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05",v:"\u5317\u4EAC\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05"},{n:"\u91CD\u5E86\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05",v:"\u91CD\u5E86\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05"},{n:"\u5357\u4EAC\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05",v:"\u5357\u4EAC\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05"},{n:"\u5E7F\u5DDE\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05",v:"\u5E7F\u5DDE\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05"},{n:"\u676D\u5DDE\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05",v:"\u676D\u5DDE\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05"},{n:"\u6210\u90FD\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05",v:"\u6210\u90FD\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05"},{n:"\u82CF\u5DDE\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05",v:"\u82CF\u5DDE\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05"},{n:"\u6B66\u6C49\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05",v:"\u6B66\u6C49\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05"},{n:"\u53F0\u6E7E\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05",v:"\u53F0\u6E7E\u7F8E\u98DF\u63A2\u5E97\u8D85\u6E05"},{n:"\u5DDD\u83DC\u7F8E\u98DF\u8D85\u6E05",v:"\u5DDD\u83DC\u7F8E\u98DF\u8D85\u6E05"},{n:"\u8C6B\u83DC\u7F8E\u98DF\u8D85\u6E05",v:"\u8C6B\u83DC\u7F8E\u98DF\u8D85\u6E05"},{n:"\u6DEE\u626C\u83DC\u7F8E\u98DF\u8D85\u6E05",v:"\u6DEE\u626C\u83DC\u7F8E\u98DF\u8D85\u6E05"},{n:"\u6E58\u83DC\u7F8E\u98DF\u8D85\u6E05",v:"\u6E58\u83DC\u7F8E\u98DF\u8D85\u6E05"},{n:"\u9C81\u83DC\u7F8E\u98DF\u8D85\u6E05",v:"\u9C81\u83DC\u7F8E\u98DF\u8D85\u6E05"},{n:"\u7CA4\u83DC\u7F8E\u98DF\u8D85\u6E05",v:"\u7CA4\u83DC\u7F8E\u98DF\u8D85\u6E05"},{n:"\u6F6E\u83DC\u7F8E\u98DF\u8D85\u6E05",v:"\u6F6E\u83DC\u7F8E\u98DF\u8D85\u6E05"},{n:"\u6D59\u83DC\u7F8E\u98DF\u8D85\u6E05",v:"\u6D59\u83DC\u7F8E\u98DF\u8D85\u6E05"},{n:"\u5FBD\u83DC\u7F8E\u98DF\u8D85\u6E05",v:"\u5FBD\u83DC\u7F8E\u98DF\u8D85\u6E05"},{n:"\u95FD\u83DC\u7F8E\u98DF\u8D85\u6E05",v:"\u95FD\u83DC\u7F8E\u98DF\u8D85\u6E05"},{n:"\u4E1C\u5317\u83DC\u7F8E\u98DF\u8D85\u6E05",v:"\u4E1C\u5317\u83DC\u7F8E\u98DF\u8D85\u6E05"},{n:"\u5BA2\u5BB6\u83DC\u7F8E\u98DF\u8D85\u6E05",v:"\u5BA2\u5BB6\u83DC\u7F8E\u98DF\u8D85\u6E05"},{n:"\u82CF\u83DC\u7F8E\u98DF\u8D85\u6E05",v:"\u82CF\u83DC\u7F8E\u98DF\u8D85\u6E05"},{n:"\u706B\u9505",v:"\u706B\u9505"},{n:"\u9762\u98DF",v:"\u9762\u98DF"},{n:"\u7092\u83DC",v:"\u7092\u83DC"},{n:"\u70B9\u5FC3",v:"\u70B9\u5FC3"},{n:"\u65E5\u6599",v:"\u65E5\u6599"},{n:"\u5C0F\u5403",v:"\u5C0F\u5403"},{n:"\u7D20\u98DF",v:"\u7D20\u98DF"},{n:"\u84B8\u83DC",v:"\u84B8\u83DC"},{n:"\u51C9\u83DC",v:"\u51C9\u83DC"},{n:"\u65E9\u9910",v:"\u65E9\u9910"},{n:"\u62AB\u8428",v:"\u62AB\u8428"},{n:"\u70E4\u9C7C",v:"\u70E4\u9C7C"},{n:"\u6D77\u9C9C\u7F8E\u98DF\u8D85\u6E05",v:"\u6D77\u9C9C\u7F8E\u98DF\u8D85\u6E05"},{n:"\u6C49\u5821",v:"\u6C49\u5821"},{n:"\u97E9\u56FD\u83DC",v:"\u97E9\u56FD\u83DC"},{n:"\u6CF0\u56FD\u83DC",v:"\u6CF0\u56FD\u83DC"},{n:"\u7A46\u65AF\u6797\u83DC",v:"\u7A46\u65AF\u6797\u83DC"},{n:"\u6CD5\u56FD\u83DC",v:"\u6CD5\u56FD\u83DC"},{n:"\u610F\u5927\u5229\u83DC",v:"\u610F\u5927\u5229\u83DC"},{n:"\u897F\u73ED\u7259\u83DC",v:"\u897F\u73ED\u7259\u83DC"},{n:"\u571F\u8033\u5176\u83DC\u7CFB",v:"\u571F\u8033\u5176\u83DC\u7CFB"},{n:"\u963F\u62C9\u4F2F\u83DC",v:"\u963F\u62C9\u4F2F\u83DC"},{n:"\u5FB7\u56FD\u83DC",v:"\u5FB7\u56FD\u83DC"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u5E7F\u573A\u821E:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u7403\u661F:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u7403\u661F",v:"\u7403\u661F"},{n:"\u6885\u897F",v:"\u6885\u897F"},{n:"C\u7F57",v:"C\u7F57"},{n:"\u5929\u4E0B\u8DB3\u7403",v:"\u5929\u4E0B\u8DB3\u7403"},{n:"\u7F57\u7EB3\u5C14\u591A",v:"\u7F57\u7EB3\u5C14\u591A"},{n:"\u4EA8\u5229",v:"\u4EA8\u5229"},{n:"\u5C0F\u7F57",v:"\u5C0F\u7F57"},{n:"\u9F50\u8FBE\u5185",v:"\u9F50\u8FBE\u5185"},{n:"\u8D1D\u514B\u6C49\u59C6",v:"\u8D1D\u514B\u6C49\u59C6"},{n:"\u5185\u9A6C\u5C14",v:"\u5185\u9A6C\u5C14"},{n:"\u5FB7\u5E03\u52B3\u5185",v:"\u5FB7\u5E03\u52B3\u5185"},{n:"\u6B27\u51A0",v:"\u6B27\u51A0"},{n:"\u4E16\u754C\u676F",v:"\u4E16\u754C\u676F"},{n:"\u897F\u7532",v:"\u897F\u7532"},{n:"\u82F1\u8D85",v:"\u82F1\u8D85"},{n:"\u610F\u7532",v:"\u610F\u7532"},{n:"\u5FB7\u7532",v:"\u5FB7\u7532"},{n:"\u56FD\u7C73",v:"\u56FD\u7C73"},{n:"\u7687\u9A6C",v:"\u7687\u9A6C"},{n:"\u5DF4\u8428",v:"\u5DF4\u8428"},{n:"\u5DF4\u9ECE\u5723\u65E5\u8033\u66FC",v:"\u5DF4\u9ECE\u5723\u65E5\u8033\u66FC"},{n:"\u66FC\u8054",v:"\u66FC\u8054"},{n:"\u66FC\u57CE",v:"\u66FC\u57CE"},{n:"NBA",v:"NBA"},{n:"\u8A79\u59C6\u65AF",v:"\u8A79\u59C6\u65AF"},{n:"\u5E93\u91CC",v:"\u5E93\u91CC"},{n:"\u675C\u5170\u7279",v:"\u675C\u5170\u7279"},{n:"UFC",v:"UFC"},{n:"\u65AF\u8BFA\u514B",v:"\u65AF\u8BFA\u514B"},{n:"\u7F51\u7403",v:"\u7F51\u7403"},{n:"F1",v:"F1"},{n:"\u9AD8\u5C14\u592B",v:"\u9AD8\u5C14\u592B"},{n:"\u7403\u661F",v:"\u7403\u661F"},{n:"\u7BEE\u7403",v:"\u7BEE\u7403"},{n:"\u8DB3\u7403",v:"\u8DB3\u7403"},{n:"4K\u7403\u661F",v:"4K\u7403\u661F"},{n:"4K\u6885\u897F",v:"4K\u6885\u897F"},{n:"4K C\u7F57",v:"4K C\u7F57"},{n:"4K\u5929\u4E0B\u8DB3\u7403",v:"4K\u5929\u4E0B\u8DB3\u7403"},{n:"4K\u7F57\u7EB3\u5C14\u591A",v:"4K\u7F57\u7EB3\u5C14\u591A"},{n:"4K\u4EA8\u5229",v:"4K\u4EA8\u5229"},{n:"4K\u5C0F\u7F57",v:"4K\u5C0F\u7F57"},{n:"4K\u9F50\u8FBE\u5185",v:"4K\u9F50\u8FBE\u5185"},{n:"4K\u8D1D\u514B\u6C49\u59C6",v:"4K\u8D1D\u514B\u6C49\u59C6"},{n:"4K\u5185\u9A6C\u5C14",v:"4K\u5185\u9A6C\u5C14"},{n:"4K\u5FB7\u5E03\u52B3\u5185",v:"4K\u5FB7\u5E03\u52B3\u5185"},{n:"4K\u6B27\u51A0",v:"4K\u6B27\u51A0"},{n:"4K\u4E16\u754C\u676F",v:"4K\u4E16\u754C\u676F"},{n:"4K\u897F\u7532",v:"4K\u897F\u7532"},{n:"4K\u82F1\u8D85",v:"4K\u82F1\u8D85"},{n:"4K\u610F\u7532",v:"4K\u610F\u7532"},{n:"4K\u5FB7\u7532",v:"4K\u5FB7\u7532"},{n:"4K\u56FD\u7C73",v:"4K\u56FD\u7C73"},{n:"4K\u7687\u9A6C",v:"4K\u7687\u9A6C"},{n:"4K\u5DF4\u8428",v:"4K\u5DF4\u8428"},{n:"4K\u5DF4\u9ECE\u5723\u65E5\u8033\u66FC",v:"4K\u5DF4\u9ECE\u5723\u65E5\u8033\u66FC"},{n:"4K\u66FC\u8054",v:"4K\u66FC\u8054"},{n:"4K\u66FC\u57CE",v:"4K\u66FC\u57CE"},{n:"4K NBA",v:"4K NBA"},{n:"4K\u8A79\u59C6\u65AF",v:"4K\u8A79\u59C6\u65AF"},{n:"4K\u5E93\u91CC",v:"4K\u5E93\u91CC"},{n:"4K\u675C\u5170\u7279",v:"4K\u675C\u5170\u7279"},{n:"4K UFC",v:"4K UFC"},{n:"4K\u65AF\u8BFA\u514B",v:"4K\u65AF\u8BFA\u514B"},{n:"4K\u7F51\u7403",v:"4K\u7F51\u7403"},{n:"4K\u7BEE\u7403",v:"4K\u7BEE\u7403"},{n:"4K\u8DB3\u7403",v:"4K\u8DB3\u7403"},{n:"4K F1",v:"4K F1"},{n:"4K\u9AD8\u5C14\u592B",v:"4K\u9AD8\u5C14\u592B"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u7535\u89C6\u5267:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u76F8\u58F0\u5C0F\u54C1\u8D85\u6E05:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u76F8\u58F0\u5C0F\u54C1",v:"\u76F8\u58F0\u5C0F\u54C1"},{n:"\u5355\u53E3\u76F8\u58F0",v:"\u5355\u53E3\u76F8\u58F0"},{n:"\u7FA4\u53E3\u76F8\u58F0",v:"\u7FA4\u53E3\u76F8\u58F0"},{n:"\u5FB7\u4E91\u793E",v:"\u5FB7\u4E91\u793E"},{n:"\u9752\u66F2\u793E",v:"\u9752\u66F2\u793E"},{n:"\u90ED\u5FB7\u7EB2",v:"\u90ED\u5FB7\u7EB2"},{n:"\u5CB3\u4E91\u9E4F",v:"\u5CB3\u4E91\u9E4F"},{n:"\u66F9\u4E91\u91D1",v:"\u66F9\u4E91\u91D1"},{n:"\u8BC4\u4E66",v:"\u8BC4\u4E66"},{n:"\u5C0F\u66F2",v:"\u5C0F\u66F2"},{n:"\u4E8C\u4EBA\u8F6C",v:"\u4E8C\u4EBA\u8F6C"},{n:"\u6625\u665A\u5C0F\u54C1",v:"\u6625\u665A\u5C0F\u54C1"},{n:"\u8D75\u672C\u5C71",v:"\u8D75\u672C\u5C71"},{n:"\u9648\u4F69\u65AF",v:"\u9648\u4F69\u65AF"},{n:"\u51AF\u5DE9",v:"\u51AF\u5DE9"},{n:"\u5B8B\u5C0F\u5B9D",v:"\u5B8B\u5C0F\u5B9D"},{n:"\u8D75\u4E3D\u84C9",v:"\u8D75\u4E3D\u84C9"},{n:"\u90ED\u8FBE",v:"\u90ED\u8FBE"},{n:"\u6F58\u957F\u6C5F",v:"\u6F58\u957F\u6C5F"},{n:"\u90ED\u51AC\u4E34",v:"\u90ED\u51AC\u4E34"},{n:"\u4E25\u987A\u5F00",v:"\u4E25\u987A\u5F00"},{n:"\u6587\u677E",v:"\u6587\u677E"},{n:"\u5F00\u5FC3\u9EBB\u82B1",v:"\u5F00\u5FC3\u9EBB\u82B1"},{n:"\u5C4C\u4E1D\u7537\u58EB",v:"\u5C4C\u4E1D\u7537\u58EB"},{n:"\u559C\u5267\u7EFC\u827A",v:"\u559C\u5267\u7EFC\u827A"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u620F\u66F2:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u620F\u66F2",v:"\u620F\u66F2"},{n:"\u4EAC\u5267",v:"\u4EAC\u5267"},{n:"\u8D8A\u5267",v:"\u8D8A\u5267"},{n:"\u9EC4\u6885\u620F",v:"\u9EC4\u6885\u620F"},{n:"\u8BC4\u5267",v:"\u8BC4\u5267"},{n:"\u8C6B\u5267",v:"\u8C6B\u5267"},{n:"\u6606\u66F2",v:"\u6606\u66F2"},{n:"\u9AD8\u8154",v:"\u9AD8\u8154"},{n:"\u6886\u5B50\u8154",v:"\u6886\u5B50\u8154"},{n:"\u6CB3\u5317\u6886\u5B50",v:"\u6CB3\u5317\u6886\u5B50"},{n:"\u664B\u5267",v:"\u664B\u5267"},{n:"\u84B2\u5267",v:"\u84B2\u5267"},{n:"\u96C1\u5267",v:"\u96C1\u5267"},{n:"\u4E0A\u515A\u6886\u5B50",v:"\u4E0A\u515A\u6886\u5B50"},{n:"\u79E6\u8154",v:"\u79E6\u8154"},{n:"\u6B66\u5B89\u5E73\u8C03",v:"\u6B66\u5B89\u5E73\u8C03"},{n:"\u4E8C\u4EBA\u53F0",v:"\u4E8C\u4EBA\u53F0"},{n:"\u5409\u5267",v:"\u5409\u5267"},{n:"\u9F99\u6C5F\u5267",v:"\u9F99\u6C5F\u5267"},{n:"\u8D8A\u8C03",v:"\u8D8A\u8C03"},{n:"\u6CB3\u5357\u66F2\u5267",v:"\u6CB3\u5357\u66F2\u5267"},{n:"\u5C71\u4E1C\u6886\u5B50",v:"\u5C71\u4E1C\u6886\u5B50"},{n:"\u6DEE\u5267",v:"\u6DEE\u5267"},{n:"\u6CAA\u5267",v:"\u6CAA\u5267"},{n:"\u6ED1\u7A3D\u620F",v:"\u6ED1\u7A3D\u620F"},{n:"\u5A7A\u5267",v:"\u5A7A\u5267"},{n:"\u7ECD\u5267",v:"\u7ECD\u5267"},{n:"\u5FBD\u5267",v:"\u5FBD\u5267"},{n:"\u95FD\u5267",v:"\u95FD\u5267"},{n:"\u8386\u4ED9\u620F",v:"\u8386\u4ED9\u620F"},{n:"\u68A8\u56ED\u620F",v:"\u68A8\u56ED\u620F"},{n:"\u9AD8\u7532\u620F",v:"\u9AD8\u7532\u620F"},{n:"\u8D63\u5267",v:"\u8D63\u5267"},{n:"\u91C7\u8336\u620F",v:"\u91C7\u8336\u620F"},{n:"\u6C49\u5267",v:"\u6C49\u5267"},{n:"\u6E58\u5267",v:"\u6E58\u5267"},{n:"\u7941\u5267",v:"\u7941\u5267"},{n:"\u6E56\u5357\u82B1\u9F13\u620F",v:"\u6E56\u5357\u82B1\u9F13\u620F"},{n:"\u7CA4\u5267",v:"\u7CA4\u5267"},{n:"\u6F6E\u5267",v:"\u6F6E\u5267"},{n:"\u6842\u5267",v:"\u6842\u5267"},{n:"\u5F69\u8C03",v:"\u5F69\u8C03"},{n:"\u58EE\u5267",v:"\u58EE\u5267"},{n:"\u5DDD\u5267",v:"\u5DDD\u5267"},{n:"\u9ED4\u5267",v:"\u9ED4\u5267"},{n:"\u6EC7\u5267",v:"\u6EC7\u5267"},{n:"\u50A3\u5267",v:"\u50A3\u5267"},{n:"\u85CF\u5267",v:"\u85CF\u5267"},{n:"\u76AE\u5F71\u620F",v:"\u76AE\u5F71\u620F"},{n:"\u620F\u66F2",v:"\u620F\u66F2"},{n:"4K\u620F\u66F2",v:"4K\u620F\u66F2"},{n:"4K\u4EAC\u5267",v:"4K\u4EAC\u5267"},{n:"4K\u8D8A\u5267",v:"4K\u8D8A\u5267"},{n:"4K\u9EC4\u6885\u620F",v:"4K\u9EC4\u6885\u620F"},{n:"4K\u8BC4\u5267",v:"4K\u8BC4\u5267"},{n:"4K\u8C6B\u5267",v:"4K\u8C6B\u5267"},{n:"4K\u6606\u66F2",v:"4K\u6606\u66F2"},{n:"4K\u9AD8\u8154",v:"4K\u9AD8\u8154"},{n:"4K\u6886\u5B50\u8154",v:"4K\u6886\u5B50\u8154"},{n:"4K\u6CB3\u5317\u6886\u5B50",v:"4K\u6CB3\u5317\u6886\u5B50"},{n:"4K\u664B\u5267",v:"4K\u664B\u5267"},{n:"4K\u84B2\u5267",v:"4K\u84B2\u5267"},{n:"4K\u96C1\u5267",v:"4K\u96C1\u5267"},{n:"4K\u4E0A\u515A\u6886\u5B50",v:"4K\u4E0A\u515A\u6886\u5B50"},{n:"4K\u79E6\u8154",v:"4K\u79E6\u8154"},{n:"4K\u6B66\u5B89\u5E73\u8C03",v:"4K\u6B66\u5B89\u5E73\u8C03"},{n:"4K\u4E8C\u4EBA\u53F0",v:"4K\u4E8C\u4EBA\u53F0"},{n:"4K\u5409\u5267",v:"4K\u5409\u5267"},{n:"4K\u9F99\u6C5F\u5267",v:"4K\u9F99\u6C5F\u5267"},{n:"4K\u8D8A\u8C03",v:"4K\u8D8A\u8C03"},{n:"4K\u6CB3\u5357\u66F2\u5267",v:"4K\u6CB3\u5357\u66F2\u5267"},{n:"4K\u5C71\u4E1C\u6886\u5B50",v:"4K\u5C71\u4E1C\u6886\u5B50"},{n:"4K\u6DEE\u5267",v:"4K\u6DEE\u5267"},{n:"4K\u6CAA\u5267",v:"4K\u6CAA\u5267"},{n:"4K\u6ED1\u7A3D\u620F",v:"4K\u6ED1\u7A3D\u620F"},{n:"4K\u5A7A\u5267",v:"4K\u5A7A\u5267"},{n:"4K\u7ECD\u5267",v:"4K\u7ECD\u5267"},{n:"4K\u5FBD\u5267",v:"4K\u5FBD\u5267"},{n:"4K\u95FD\u5267",v:"4K\u95FD\u5267"},{n:"4K\u8386\u4ED9\u620F",v:"4K\u8386\u4ED9\u620F"},{n:"4K\u68A8\u56ED\u620F",v:"4K\u68A8\u56ED\u620F"},{n:"4K\u9AD8\u7532\u620F",v:"4K\u9AD8\u7532\u620F"},{n:"4K\u8D63\u5267",v:"4K\u8D63\u5267"},{n:"4K\u91C7\u8336\u620F",v:"4K\u91C7\u8336\u620F"},{n:"4K\u6C49\u5267",v:"4K\u6C49\u5267"},{n:"4K\u6E58\u5267",v:"4K\u6E58\u5267"},{n:"4K\u7941\u5267",v:"4K\u7941\u5267"},{n:"4K\u6E56\u5357\u82B1\u9F13\u620F",v:"4K\u6E56\u5357\u82B1\u9F13\u620F"},{n:"4K\u7CA4\u5267",v:"4K\u7CA4\u5267"},{n:"4K\u6F6E\u5267",v:"4K\u6F6E\u5267"},{n:"4K\u6842\u5267",v:"4K\u6842\u5267"},{n:"4K\u5F69\u8C03",v:"4K\u5F69\u8C03"},{n:"4K\u58EE\u5267",v:"4K\u58EE\u5267"},{n:"4K\u5DDD\u5267",v:"4K\u5DDD\u5267"},{n:"4K\u9ED4\u5267",v:"4K\u9ED4\u5267"},{n:"4K\u6EC7\u5267",v:"4K\u6EC7\u5267"},{n:"4K\u50A3\u5267",v:"4K\u50A3\u5267"},{n:"4K\u85CF\u5267",v:"4K\u85CF\u5267"},{n:"4K\u76AE\u5F71\u620F",v:"4K\u76AE\u5F71\u620F"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u65C5\u6E38:[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u6E38\u6CF3:[{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u6CF3\u59FF",v:"\u6CF3\u59FF"},{n:"\u8776\u6CF3",v:"\u8776\u6CF3"},{n:"\u4EF0\u6CF3",v:"\u4EF0\u6CF3"},{n:"\u86D9\u6CF3",v:"\u86D9\u6CF3"},{n:"\u81EA\u7531\u6CF3",v:"\u81EA\u7531\u6CF3"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u9009\u7F8E:[{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u6A21\u7279:[{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u6CF3\u88C5\u79C0:[{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u5185\u8863\u79C0:[{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u7F8E\u98DF:[{key:"tida",name:"\u5206\u7C7B",value:[{n:"\u7F8E\u98DF",v:"\u7F8E\u98DF"},{n:"\u820C\u5C16\u4E0A\u7684\u4E2D\u56FD",v:"\u820C\u5C16\u4E0A\u7684\u4E2D\u56FD"},{n:"\u820C\u5C16\u4E0A\u7684\u6E56\u5317",v:"\u820C\u5C16\u4E0A\u7684\u6E56\u5317"},{n:"\u5DDD\u83DC",v:"\u5DDD\u83DC"},{n:"\u6E58\u83DC",v:"\u6E58\u83DC"},{n:"\u82CF\u83DC",v:"\u82CF\u83DC"},{n:"\u7CA4\u83DC",v:"\u7CA4\u83DC"},{n:"\u95FD\u83DC",v:"\u95FD\u83DC"},{n:"\u5FBD\u83DC",v:"\u5FBD\u83DC"},{n:"\u9C81\u83DC",v:"\u9C81\u83DC"},{n:"\u6D59\u83DC",v:"\u6D59\u83DC"},{n:"\u706B\u9505",v:"\u706B\u9505"},{n:"\u5BB6\u5E38\u83DC",v:"\u5BB6\u5E38\u83DC"},{n:"\u4E0B\u9152\u83DC",v:"\u4E0B\u9152\u83DC"},{n:"\u84B8\u83DC",v:"\u84B8\u83DC"},{n:"\u5364\u83DC",v:"\u5364\u83DC"},{n:"\u51C9\u83DC",v:"\u51C9\u83DC"},{n:"\u70B9\u5FC3",v:"\u70B9\u5FC3"},{n:"\u65E5\u6599",v:"\u65E5\u6599"},{n:"\u5C0F\u5403",v:"\u5C0F\u5403"},{n:"\u65E9\u9910\u98DF\u8C31",v:"\u65E9\u9910\u98DF\u8C31"}]},{key:"tidb",name:"\u5206\u7C7B",value:[{n:"4K\u7F8E\u98DF",v:"4K\u7F8E\u98DF"},{n:"4K\u820C\u5C16\u4E0A\u7684\u4E2D\u56FD",v:"4K\u820C\u5C16\u4E0A\u7684\u4E2D\u56FD"},{n:"4K\u820C\u5C16\u4E0A\u7684\u6E56\u5317",v:"4K\u820C\u5C16\u4E0A\u7684\u6E56\u5317"},{n:"4K\u5DDD\u83DC",v:"4K\u5DDD\u83DC"},{n:"4K\u6E58\u83DC",v:"4K\u6E58\u83DC"},{n:"4K\u82CF\u83DC",v:"4K\u82CF\u83DC"},{n:"4K\u7CA4\u83DC",v:"4K\u7CA4\u83DC"},{n:"4K\u95FD\u83DC",v:"4K\u95FD\u83DC"},{n:"4K\u5FBD\u83DC",v:"4K\u5FBD\u83DC"},{n:"4K\u9C81\u83DC",v:"4K\u9C81\u83DC"},{n:"4K\u6D59\u83DC",v:"4K\u6D59\u83DC"},{n:"4K\u706B\u9505",v:"4K\u706B\u9505"},{n:"4K\u5BB6\u5E38\u83DC",v:"4K\u5BB6\u5E38\u83DC"},{n:"4K\u4E0B\u9152\u83DC",v:"4K\u4E0B\u9152\u83DC"},{n:"4K\u84B8\u83DC",v:"4K\u84B8\u83DC"},{n:"4K\u5364\u83DC",v:"4K\u5364\u83DC"},{n:"4K\u51C9\u83DC",v:"4K\u51C9\u83DC"},{n:"4K\u70B9\u5FC3",v:"4K\u70B9\u5FC3"},{n:"4K\u65E5\u6599",v:"4K\u65E5\u6599"},{n:"4K\u5C0F\u5403",v:"4K\u5C0F\u5403"},{n:"4K\u65E9\u9910\u98DF\u8C31",v:"4K\u65E9\u9910\u98DF\u8C31"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u76F4\u64AD\u5E73\u53F0:[{key:"tida",name:"\u5206\u7C7B",value:[{n:"\u6296\u97F3",v:"\u6296\u97F3"},{n:"\u6296\u97F3\u7F8E\u5973",v:"\u6296\u97F3\u7F8E\u5973"},{n:"\u6296\u97F3\u5C0F\u59D0\u59D0",v:"\u6296\u97F3\u5C0F\u59D0\u59D0"},{n:"\u6296\u97F3\u821E\u8E48",v:"\u6296\u97F3\u821E\u8E48"},{n:"\u6296\u97F3\u97F3\u4E50",v:"\u6296\u97F3\u97F3\u4E50"},{n:"\u6296\u97F3MV",v:"\u6296\u97F3MV"}]},{key:"tidb",name:"\u5206\u7C7B",value:[{n:"4K\u6296\u97F3",v:"4K\u6296\u97F3"},{n:"4K\u6296\u97F3\u7F8E\u5973",v:"4K\u6296\u97F3\u7F8E\u5973"},{n:"4K\u6296\u97F3\u5C0F\u59D0\u59D0",v:"4K\u6296\u97F3\u5C0F\u59D0\u59D0"},{n:"4K\u6296\u97F3\u821E\u8E48",v:"4K\u6296\u97F3\u821E\u8E48"},{n:"4K\u6296\u97F3\u97F3\u4E50",v:"4K\u6296\u97F3\u97F3\u4E50"},{n:"4K\u6296\u97F3MV",v:"4K\u6296\u97F3MV"}]},{key:"tidc",name:"\u5206\u7C7B",value:[{n:"\u5FEB\u624B",v:"\u5FEB\u624B"},{n:"\u5FEB\u624B\u7F8E\u5973",v:"\u5FEB\u624B\u7F8E\u5973"},{n:"\u5FEB\u624B\u5C0F\u59D0\u59D0",v:"\u5FEB\u624B\u5C0F\u59D0\u59D0"},{n:"\u5FEB\u624B\u821E\u8E48",v:"\u5FEB\u624B\u821E\u8E48"},{n:"\u5FEB\u624B\u97F3\u4E50",v:"\u5FEB\u624B\u97F3\u4E50"},{n:"\u5FEB\u624BMV",v:"\u5FEB\u624BMV"}]},{key:"tidd",name:"\u5206\u7C7B",value:[{n:"4K\u5FEB\u624B",v:"4K\u5FEB\u624B"},{n:"4K\u5FEB\u624B\u7F8E\u5973",v:"4K\u5FEB\u624B\u7F8E\u5973"},{n:"4K\u5FEB\u624B\u5C0F\u59D0\u59D0",v:"4K\u5FEB\u624B\u5C0F\u59D0\u59D0"},{n:"4K\u5FEB\u624B\u821E\u8E48",v:"4K\u5FEB\u624B\u821E\u8E48"},{n:"4K\u5FEB\u624B\u97F3\u4E50",v:"4K\u5FEB\u624B\u97F3\u4E50"},{n:"4K\u5FEB\u624BMV",v:"4K\u5FEB\u624BMV"}]},{key:"tide",name:"\u5206\u7C7B",value:[{n:"\u6597\u9C7C\u76F4\u64AD",v:"\u6597\u9C7C\u76F4\u64AD"},{n:"\u6597\u9C7C\u7F8E\u5973",v:"\u6597\u9C7C\u7F8E\u5973"},{n:"\u6597\u9C7C\u5C0F\u59D0\u59D0",v:"\u6597\u9C7C\u5C0F\u59D0\u59D0"},{n:"\u6597\u9C7C\u821E\u8E48",v:"\u6597\u9C7C\u821E\u8E48"},{n:"\u6597\u9C7C\u97F3\u4E50",v:"\u6597\u9C7C\u97F3\u4E50"},{n:"\u6597\u9C7CMV",v:"\u6597\u9C7CMV"}]},{key:"tidf",name:"\u5206\u7C7B",value:[{n:"4K\u6597\u9C7C\u76F4\u64AD",v:"4K\u6597\u9C7C\u76F4\u64AD"},{n:"4K\u6597\u9C7C\u7F8E\u5973",v:"4K\u6597\u9C7C\u7F8E\u5973"},{n:"4K\u6597\u9C7C\u5C0F\u59D0\u59D0",v:"4K\u6597\u9C7C\u5C0F\u59D0\u59D0"},{n:"4K\u6597\u9C7C\u821E\u8E48",v:"4K\u6597\u9C7C\u821E\u8E48"},{n:"4K\u6597\u9C7C\u97F3\u4E50",v:"4K\u6597\u9C7C\u97F3\u4E50"},{n:"4K\u6597\u9C7CMV",v:"4K\u6597\u9C7CMV"}]},{key:"tidg",name:"\u5206\u7C7B",value:[{n:"\u817E\u8BAF\u76F4\u64AD",v:"\u817E\u8BAF\u76F4\u64AD"},{n:"\u817E\u8BAF\u6F14\u5531\u4F1A",v:"\u817E\u8BAF\u6F14\u5531\u4F1A"},{n:"\u817E\u8BAF\u97F3\u4E50\u4F1A",v:"\u817E\u8BAF\u97F3\u4E50\u4F1A"}]},{key:"tidh",name:"\u5206\u7C7B",value:[{n:"4K\u817E\u8BAF\u76F4\u64AD",v:"4K\u817E\u8BAF\u76F4\u64AD"},{n:"4K\u817E\u8BAF\u6F14\u5531\u4F1A",v:"4K\u817E\u8BAF\u6F14\u5531\u4F1A"},{n:"4K\u817E\u8BAF\u97F3\u4E50\u4F1A",v:"4K\u817E\u8BAF\u97F3\u4E50\u4F1A"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u641E\u7B11:[{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],"4K\u97F3\u4E50":[{key:"tidy",name:"\u5206\u7C7B",value:[{n:"4K\u97F3\u4E50",v:"4K\u97F3\u4E50"},{n:"4K\u539F\u521B\u97F3\u4E50",v:"4K\u539F\u521B\u97F3\u4E50"},{n:"4K\u7FFB\u5531",v:"4K\u7FFB\u5531"},{n:"4K\u6F14\u594F",v:"4K\u6F14\u594F"},{n:"4K VOCALOID\xB7UTAU",v:"4K VOCALOID\xB7UTAU"},{n:"4K\u97F3\u4E50\u73B0\u573A",v:"4K\u97F3\u4E50\u73B0\u573A"},{n:"4K\u539F\u58F0\u97F3\u4E50",v:"4K\u539F\u58F0\u97F3\u4E50"},{n:"4K\u4E50\u8BC4\u76D8\u70B9",v:"4K\u4E50\u8BC4\u76D8\u70B9"},{n:"4K\u97F3\u4E50\u6559\u5B66",v:"4K\u97F3\u4E50\u6559\u5B66"},{n:"4K\u97F3\u4E50\u7EFC\u5408",v:"4K\u97F3\u4E50\u7EFC\u5408"}]},{key:"tidc",name:"4K\u539F\u521B\u97F3\u4E50",value:[{n:"4K\u8BF4\u5531",v:"4K\u8BF4\u5531"},{n:"4K HIPHOP",v:"4K HIPHOP"},{n:"4K\u4E2D\u56FD\u98CE",v:"4K\u4E2D\u56FD\u98CE"},{n:"4K\u53E4\u98CE",v:"4K\u53E4\u98CE"},{n:"4K\u7535\u97F3",v:"4K\u7535\u97F3"},{n:"4K\u6447\u6EDA",v:"4K\u6447\u6EDA"},{n:"4K\u6C11\u8C23",v:"4K\u6C11\u8C23"},{n:"4K\u7235\u58EB",v:"4K\u7235\u58EB"},{n:"4K\u7EAF\u97F3\u4E50",v:"4K\u7EAF\u97F3\u4E50"},{n:"4K BEAT",v:"4K BEAT"},{n:"4K REMIX",v:"4K REMIX"},{n:"4K\u4EBA\u58F0\u672C\u5BB6",v:"4K\u4EBA\u58F0\u672C\u5BB6"},{n:"4K\u56FD\u4EBA\u539F\u521B",v:"4K\u56FD\u4EBA\u539F\u521B"},{n:"4K\u539F\u521B\u6B4C\u66F2",v:"4K\u539F\u521B\u6B4C\u66F2"},{n:"4K\u7F16\u66F2",v:"4K\u7F16\u66F2"},{n:"4K\u6539\u7F16",v:"4K\u6539\u7F16"},{n:"4K\u5409\u4ED6",v:"4K\u5409\u4ED6"},{n:"4K\u7535\u5B50\u97F3\u4E50",v:"4K\u7535\u5B50\u97F3\u4E50"},{n:"4K\u94A2\u7434",v:"4K\u94A2\u7434"}]},{key:"tidf",name:"4k\u7FFB\u5531",value:[{n:"4K\u56FD\u4EBA\u7537\u58F0",v:"4K\u56FD\u4EBA\u7537\u58F0"},{n:"4K\u56FD\u4EBA\u5973\u751F",v:"4K\u56FD\u4EBA\u5973\u751F"},{n:"4K\u4E2D\u6587\u7FFB\u5531",v:"4K\u4E2D\u6587\u7FFB\u5531"},{n:"4K\u82F1\u6587\u7FFB\u5531",v:"4K\u82F1\u6587\u7FFB\u5531"},{n:"4K\u53E4\u98CE",v:"4K\u53E4\u98CE"},{n:"4K VOCALOID",v:"4K VOCALOID"},{n:"4K\u71C3\u5411",v:"4K\u71C3\u5411"},{n:"4K\u4E2D\u6587\u586B\u8BCD",v:"4K\u4E2D\u6587\u586B\u8BCD"},{n:"4K\u7075\u9B42\u6B4C\u624B",v:"4K\u7075\u9B42\u6B4C\u624B"},{n:"4K\u6CBB\u6108\u5411",v:"4K\u6CBB\u6108\u5411"},{n:"4K COVER",v:"4K COVER"},{n:"4K\u521D\u6295\u7A3F",v:"4K\u521D\u6295\u7A3F"},{n:"4K\u5409\u4ED6\u5F39\u5531",v:"4K\u5409\u4ED6\u5F39\u5531"},{n:"4K\u539F\u521BPV",v:"4K\u539F\u521BPV"},{n:"4K\u9B54\u9053\u7956\u5E08",v:"4K\u9B54\u9053\u7956\u5E08"},{n:"4K\u6B27\u7F8E",v:"4K\u6B27\u7F8E"},{n:"4K\u65B0\u4EBA\u5411",v:"4K\u65B0\u4EBA\u5411"},{n:"4K\u798F\u5229\u8033\u673A",v:"4K\u798F\u5229\u8033\u673A"}]},{key:"tidz",name:"4K\u6F14\u594F",value:[{n:"4K\u521B\u610F\u6F14\u594F",v:"4K\u521B\u610F\u6F14\u594F"},{n:"4K\u94A2\u7434",v:"4K\u94A2\u7434"},{n:"4K\u8857\u5934\u8868\u6F14",v:"4K\u8857\u5934\u8868\u6F14"},{n:"4K\u7FFB\u5F39",v:"4K\u7FFB\u5F39"},{n:"4K\u4E50\u961F",v:"4K\u4E50\u961F"},{n:"4K\u6C11\u4E50",v:"4K\u6C11\u4E50"},{n:"4K\u5408\u594F",v:"4K\u5408\u594F"},{n:"4K\u5409\u4ED6",v:"4K\u5409\u4ED6"},{n:"4K\u6307\u5F39",v:"4K\u6307\u5F39"},{n:"4K\u5C0F\u63D0\u7434",v:"4K\u5C0F\u63D0\u7434"},{n:"4K\u67B6\u5B50\u9F13",v:"4K\u67B6\u5B50\u9F13"},{n:"4K COVER",v:"4K COVER"},{n:"4K\u6728\u5409\u4ED6",v:"4K\u6728\u5409\u4ED6"},{n:"4K\u94A2\u7434\u66F2",v:"4K\u94A2\u7434\u66F2"},{n:"4K BGM",v:"4K BGM"},{n:"4K\u5361\u7956\u7B1B",v:"4K\u5361\u7956\u7B1B"},{n:"4K\u7535\u5409\u4ED6",v:"4K\u7535\u5409\u4ED6"},{n:"4K LAUNCHPAD",v:"4K LAUNCHPAD"},{n:"4K\u8D1D\u65AF",v:"4K\u8D1D\u65AF"},{n:"4K\u53E3\u7434",v:"4K\u53E3\u7434"},{n:"4K\u6307\u5F39\u5409\u4ED6",v:"4K\u6307\u5F39\u5409\u4ED6"},{n:"4K\u7435\u7436",v:"4K\u7435\u7436"},{n:"4K\u626C\u7434",v:"4K\u626C\u7434"},{n:"4K\u53E4\u5178\u97F3\u4E50",v:"4K\u53E4\u5178\u97F3\u4E50"},{n:"4K\u53E4\u7B5D",v:"4K\u53E4\u7B5D"},{n:"4K\u4E8C\u80E1",v:"4K\u4E8C\u80E1"},{n:"4K BEATBOX",v:"4K BEATBOX"},{n:"4K\u53E4\u5178",v:"4K\u53E4\u5178"}]},{key:"tidv",name:"4k VOCALOID\xB7UTAU",value:[{n:"4K\u6D1B\u5929\u4F9D",v:"4K\u6D1B\u5929\u4F9D"},{n:"4K\u4E50\u6B63\u7EEB",v:"4K\u4E50\u6B63\u7EEB"},{n:"4K\u8A00\u548C",v:"4K\u8A00\u548C"},{n:"4K\u4E50\u6B63\u9F99\u7259",v:"4K\u4E50\u6B63\u9F99\u7259"},{n:"4K\u58A8\u6E05\u5F26",v:"4K\u58A8\u6E05\u5F26"},{n:"4K\u5FBD\u7FBD\u6469\u67EF",v:"4K\u5FBD\u7FBD\u6469\u67EF"},{n:"4K Vsinger",v:"4K Vsinger"},{n:"4K\u5FC3\u534E",v:"4K\u5FC3\u534E"},{n:"4K\u661F\u5C18",v:"4K\u661F\u5C18"},{n:"4K\u5AE3\u6C50",v:"4K\u5AE3\u6C50"},{n:"4K\u521D\u97F3\u672A\u6765",v:"4K\u521D\u97F3\u672A\u6765"},{n:"4K\u955C\u97F3\u94C3",v:"4K\u955C\u97F3\u94C3"},{n:"4K\u5DE1\u97F3\u6D41\u6B4C",v:"4K\u5DE1\u97F3\u6D41\u6B4C"},{n:"4K KAITO",v:"4K KAITO"},{n:"4K flower",v:"4K flower"},{n:"4K\u5143\u7B71",v:"4K\u5143\u7B71"},{n:"4K VOCALOID\u4E2D\u6587\u66F2",v:"4K VOCALOID\u4E2D\u6587\u66F2"},{n:"4K\u83B2\u534E",v:"4K\u83B2\u534E"},{n:"4K\u5357\u5317\u7EC4",v:"4K\u5357\u5317\u7EC4"},{n:"4K\u955C\u97F3\u53CC\u5B50",v:"4K\u955C\u97F3\u53CC\u5B50"},{n:"4K MUTA\u4E2D\u6587\u66F2",v:"4K MUTA\u4E2D\u6587\u66F2"},{n:"4K UTAU\u4E2D\u534E\u7EC4",v:"4K UTAU\u4E2D\u534E\u7EC4"},{n:"4K XStudio",v:"4K XStudio"},{n:"4K\u521D\u97F3",v:"4K\u521D\u97F3"},{n:"4K IA",v:"4K IA"},{n:"4K GUMI",v:"4K GUMI"},{n:"4K SynthV",v:"4K SynthV"},{n:"4K UTAU",v:"4K UTAU"},{n:"4K\u5E7B\u6653\u4F0A",v:"4K\u5E7B\u6653\u4F0A"},{n:"4K\u4E94\u7EF4\u4ECB\u8D28",v:"4K\u4E94\u7EF4\u4ECB\u8D28"},{n:"4K\u53EF\u4E0D",v:"4K\u53EF\u4E0D"},{n:"4K ACE\u865A\u62DF\u6B4C\u59EC",v:"4K ACE\u865A\u62DF\u6B4C\u59EC"},{n:"4K deepvocal",v:"4K deepvocal"},{n:"4K SYNTHV",v:"4K SYNTHV"}]},{key:"tidx",name:"4K\u97F3\u4E50\u73B0\u573A",value:[{n:"4K\u534E\u8BED\u73B0\u573A",v:"4K\u534E\u8BED\u73B0\u573A"},{n:"4K\u6B27\u7F8E\u73B0\u573A",v:"4K\u6B27\u7F8E\u73B0\u573A"},{n:"4K\u65E5\u8BED\u73B0\u573A",v:"4K\u65E5\u8BED\u73B0\u573A"},{n:"4K\u97E9\u8BED\u73B0\u573A",v:"4K\u97E9\u8BED\u73B0\u573A"},{n:"4K\u56FD\u8BED\u73B0\u573A",v:"4K\u56FD\u8BED\u73B0\u573A"},{n:"4K\u7CA4\u8BED\u73B0\u573A",v:"4K\u7CA4\u8BED\u73B0\u573A"},{n:"4K live",v:"4K live"},{n:"4K\u97F3\u4E50\u5267",v:"4K\u97F3\u4E50\u5267"},{n:"4K\u6F14\u5531\u4F1A",v:"4K\u6F14\u5531\u4F1A"},{n:"4K\u97F3\u4E50\u8282",v:"4K\u97F3\u4E50\u8282"}]},{key:"tidh",name:"4K\u97F3\u4E50\u7EFC\u5408",value:[{n:"4K\u7ECF\u5178\u8001\u6B4C",v:"4K\u7ECF\u5178\u8001\u6B4C"},{n:"4K\u7CBE\u9009\u6B4C\u5355",v:"4K\u7CBE\u9009\u6B4C\u5355"},{n:"4K\u5F71\u89C6\u97F3\u4E50",v:"4K\u5F71\u89C6\u97F3\u4E50"},{n:"4K\u6E38\u620F\u97F3\u4E50",v:"4K\u6E38\u620F\u97F3\u4E50"},{n:"4K\u4E2D\u56FD\u620F\u66F2",v:"4K\u4E2D\u56FD\u620F\u66F2"},{n:"4K\u9ED1\u80F6\u5531\u7247",v:"4K\u9ED1\u80F6\u5531\u7247"},{n:"4K ACG\u97F3\u4E50",v:"4K ACG\u97F3\u4E50"},{n:"4K\u97F3\u4E50\u5267",v:"4K\u97F3\u4E50\u5267"},{n:"4K\u4EA4\u54CD\u4E50",v:"4K\u4EA4\u54CD\u4E50"},{n:"4K\u5FAA\u73AF\u97F3\u4E50",v:"4K\u5FAA\u73AF\u97F3\u4E50"},{n:"4K OST\u97F3\u4E50",v:"4K OST\u97F3\u4E50"},{n:"4K BGM\u97F3\u4E50",v:"4K BGM\u97F3\u4E50"},{n:"4K\u97F3\u4E50",v:"4K\u97F3\u4E50"},{n:"4K DJ\u97F3\u4E50",v:"4K DJ\u97F3\u4E50"},{n:"4K\u7535\u97F3",v:"4K\u7535\u97F3"},{n:"4K\u821E\u66F2",v:"4K\u821E\u66F2"},{n:"4K\u591C\u5E97\u821E\u66F2",v:"4K\u591C\u5E97\u821E\u66F2"},{n:"4K\u56FD\u5916\u821E\u66F2",v:"4K\u56FD\u5916\u821E\u66F2"},{n:"4K\u4E9A\u6D32\u821E\u66F2",v:"4K\u4E9A\u6D32\u821E\u66F2"},{n:"4K\u6B27\u7F8E\u821E\u66F2",v:"4K\u6B27\u7F8E\u821E\u66F2"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],MV:[{key:"tidm",name:"\u5206\u7C7B",value:[{n:"MV",v:"MV"},{n:"MV\u5408\u96C6",v:"MV\u5408\u96C6"},{n:"\u5168\u7F51\u7B2C\u4E00",v:"\u5168\u7F51\u7B2C\u4E00"},{n:"4K60FPS",v:"4K60FPS"}]},{key:"tidh",name:"\u5206\u7C7B",value:[{n:"\u97E9\u56FD\u5973\u661F MV\u5408\u96C6",v:"\u97E9\u56FD\u5973\u661F MV\u5408\u96C6"},{n:"\u674E\u5B5D\u5229 MV\u5408\u96C6",v:"\u674E\u5B5D\u5229 MV\u5408\u96C6"},{n:"\u674E\u77E5\u6069 MV\u5408\u96C6",v:"\u674E\u77E5\u6069 MV\u5408\u96C6"},{n:"\u6797\u5141\u513F MV\u5408\u96C6",v:"\u6797\u5141\u513F MV\u5408\u96C6"},{n:"\u91D1\u6CEB\u96C5 MV\u5408\u96C6",v:"\u91D1\u6CEB\u96C5 MV\u5408\u96C6"},{n:"\u91D1\u6CF0\u598D MV\u5408\u96C6",v:"\u91D1\u6CF0\u598D MV\u5408\u96C6"},{n:"\u674E\u5BA3\u7F8E MV\u5408\u96C6",v:"\u674E\u5BA3\u7F8E MV\u5408\u96C6"},{n:"\u5D14\u96EA\u8389 MV\u5408\u96C6",v:"\u5D14\u96EA\u8389 MV\u5408\u96C6"},{n:"\u5B89\u559C\u5EF6 MV\u5408\u96C6",v:"\u5B89\u559C\u5EF6 MV\u5408\u96C6"},{n:"\u91D1\u4E9A\u8363 MV\u5408\u96C6",v:"\u91D1\u4E9A\u8363 MV\u5408\u96C6"},{n:"\u674E\u77E5\u6069 MV\u5408\u96C6",v:"\u674E\u77E5\u6069 MV\u5408\u96C6"},{n:"\u674E\u8D1E\u8D24 MV\u5408\u96C6",v:"\u674E\u8D1E\u8D24 MV\u5408\u96C6"},{n:"\u6D2A\u771F\u82F1 MV\u5408\u96C6",v:"\u6D2A\u771F\u82F1 MV\u5408\u96C6"}]},{key:"tidr",name:"\u5206\u7C7B",value:[{n:"\u65E5\u672C\u5973\u661F MV\u5408\u96C6",v:"\u65E5\u672C\u5973\u661F MV\u5408\u96C6"},{n:"YUI MV\u5408\u96C6",v:"YUI MV\u5408\u96C6"},{n:"\u5E78\u7530\u6765\u672A MV\u5408\u96C6",v:"\u5E78\u7530\u6765\u672A MV\u5408\u96C6"},{n:"\u5B89\u5BA4\u5948\u7F8E\u60E0 MV\u5408\u96C6",v:"\u5B89\u5BA4\u5948\u7F8E\u60E0 MV\u5408\u96C6"},{n:"\u6EE8\u5D0E\u6B65 MV\u5408\u96C6",v:"\u6EE8\u5D0E\u6B65 MV\u5408\u96C6"},{n:"\u53E4\u8C37\u4EC1\u7F8E MV\u5408\u96C6",v:"\u53E4\u8C37\u4EC1\u7F8E MV\u5408\u96C6"},{n:"\u5B87\u591A\u7530\u5149 MV\u5408\u96C6",v:"\u5B87\u591A\u7530\u5149 MV\u5408\u96C6"},{n:"\u4F0A\u85E4\u7531\u5948 MV\u5408\u96C6",v:"\u4F0A\u85E4\u7531\u5948 MV\u5408\u96C6"},{n:"\u7389\u7F6E\u6210\u5B9E MV\u5408\u96C6",v:"\u7389\u7F6E\u6210\u5B9E MV\u5408\u96C6"},{n:"\u4ED3\u6728\u9EBB\u8863 MV\u5408\u96C6",v:"\u4ED3\u6728\u9EBB\u8863 MV\u5408\u96C6"},{n:"Angela MV\u5408\u96C6",v:"Angela MV\u5408\u96C6"},{n:"\u4E2D\u5C9B\u7F8E\u96EA MV\u5408\u96C6",v:"\u4E2D\u5C9B\u7F8E\u96EA MV\u5408\u96C6"}]},{key:"tidn",name:"\u5206\u7C7B",value:[{n:"\u5973\u661F MV\u5408\u96C6",v:"\u5973\u661F MV\u5408\u96C6"},{n:"\u6234\u4F69\u59AE MV\u5408\u96C6",v:"\u6234\u4F69\u59AE MV\u5408\u96C6"},{n:"\u9093\u7D2B\u68CB MV\u5408\u96C6",v:"\u9093\u7D2B\u68CB MV\u5408\u96C6"},{n:"\u5F20\u97F6\u6DB5 MV\u5408\u96C6",v:"\u5F20\u97F6\u6DB5 MV\u5408\u96C6"},{n:"\u8521\u5065\u96C5 MV\u5408\u96C6",v:"\u8521\u5065\u96C5 MV\u5408\u96C6"},{n:"\u83AB\u6587\u851A MV\u5408\u96C6",v:"\u83AB\u6587\u851A MV\u5408\u96C6"},{n:"\u5218\u82E5\u82F1 MV\u5408\u96C6",v:"\u5218\u82E5\u82F1 MV\u5408\u96C6"},{n:"\u9093\u4E3D\u541B MV\u5408\u96C6",v:"\u9093\u4E3D\u541B MV\u5408\u96C6"},{n:"\u8521\u4F9D\u6797 MV\u5408\u96C6",v:"\u8521\u4F9D\u6797 MV\u5408\u96C6"},{n:"\u674E\u5B87\u6625 MV\u5408\u96C6",v:"\u674E\u5B87\u6625 MV\u5408\u96C6"},{n:"\u5F90\u4F73\u83B9 MV\u5408\u96C6",v:"\u5F90\u4F73\u83B9 MV\u5408\u96C6"},{n:"\u6768\u5343\u5B05 MV\u5408\u96C6",v:"\u6768\u5343\u5B05 MV\u5408\u96C6"},{n:"\u5F20\u9753\u9896 MV\u5408\u96C6",v:"\u5F20\u9753\u9896 MV\u5408\u96C6"},{n:"\u6768\u4E1E\u7433 MV\u5408\u96C6",v:"\u6768\u4E1E\u7433 MV\u5408\u96C6"},{n:"\u8427\u4E9A\u8F69 MV\u5408\u96C6",v:"\u8427\u4E9A\u8F69 MV\u5408\u96C6"},{n:"\u5BB9\u7956\u513F MV\u5408\u96C6",v:"\u5BB9\u7956\u513F MV\u5408\u96C6"},{n:"\u6885\u8273\u82B3 MV\u5408\u96C6",v:"\u6885\u8273\u82B3 MV\u5408\u96C6"},{n:"\u5B59\u71D5\u59FF MV\u5408\u96C6",v:"\u5B59\u71D5\u59FF MV\u5408\u96C6"},{n:"\u8881\u5A05\u7EF4 MV\u5408\u96C6",v:"\u8881\u5A05\u7EF4 MV\u5408\u96C6"},{n:"\u738B\u83F2 MV\u5408\u96C6",v:"\u738B\u83F2 MV\u5408\u96C6"},{n:"\u6881\u9759\u8339 MV\u5408\u96C6",v:"\u6881\u9759\u8339 MV\u5408\u96C6"},{n:"\u5468\u6167\u654F MV\u5408\u96C6",v:"\u5468\u6167\u654F MV\u5408\u96C6"},{n:"\u5F20\u60E0\u59B9 MV\u5408\u96C6",v:"\u5F20\u60E0\u59B9 MV\u5408\u96C6"},{n:"\u5468\u7B14\u7545 MV\u5408\u96C6",v:"\u5468\u7B14\u7545 MV\u5408\u96C6"},{n:"\u8C2D\u7EF4\u7EF4 MV\u5408\u96C6",v:"\u8C2D\u7EF4\u7EF4 MV\u5408\u96C6"},{n:"\u9648\u6167\u5A34 MV\u5408\u96C6",v:"\u9648\u6167\u5A34 MV\u5408\u96C6"},{n:"\u90ED\u9759 MV\u5408\u96C6",v:"\u90ED\u9759 MV\u5408\u96C6"},{n:"\u90A3\u82F1 MV\u5408\u96C6",v:"\u90A3\u82F1 MV\u5408\u96C6"},{n:"\u97E9\u7EA2 MV\u5408\u96C6",v:"\u97E9\u7EA2 MV\u5408\u96C6"},{n:"\u6797\u5FC6\u83B2 MV\u5408\u96C6",v:"\u6797\u5FC6\u83B2 MV\u5408\u96C6"},{n:"\u674E\u739F MV\u5408\u96C6",v:"\u674E\u739F MV\u5408\u96C6"},{n:"\u5F90\u5C0F\u51E4 MV\u5408\u96C6",v:"\u5F90\u5C0F\u51E4 MV\u5408\u96C6"},{n:"\u5353\u4F9D\u5A77 MV\u5408\u96C6",v:"\u5353\u4F9D\u5A77 MV\u5408\u96C6"},{n:"\u90C1\u53EF\u552F MV\u5408\u96C6",v:"\u90C1\u53EF\u552F MV\u5408\u96C6"},{n:"\u7530\u9707 MV\u5408\u96C6",v:"\u7530\u9707 MV\u5408\u96C6"},{n:"\u51E4\u98DE\u98DE MV\u5408\u96C6",v:"\u51E4\u98DE\u98DE MV\u5408\u96C6"},{n:"\u8C2D\u6676 MV\u5408\u96C6",v:"\u8C2D\u6676 MV\u5408\u96C6"},{n:"\u53F6\u5029\u6587 MV\u5408\u96C6",v:"\u53F6\u5029\u6587 MV\u5408\u96C6"},{n:"\u738B\u5FC3\u51CC MV\u5408\u96C6",v:"\u738B\u5FC3\u51CC MV\u5408\u96C6"},{n:"\u90ED\u91C7\u6D01 MV\u5408\u96C6",v:"\u90ED\u91C7\u6D01 MV\u5408\u96C6"},{n:"\u963F\u9EDB\u5C14 MV\u5408\u96C6",v:"\u963F\u9EDB\u5C14 MV\u5408\u96C6"},{n:"LadyGaga MV\u5408\u96C6",v:"LadyGaga MV\u5408\u96C6"},{n:"\u5E03\u5170\u59AE MV\u5408\u96C6",v:"\u5E03\u5170\u59AE MV\u5408\u96C6"},{n:"\u6D1B\u5929\u4F9D MV\u5408\u96C6",v:"\u6D1B\u5929\u4F9D MV\u5408\u96C6"},{n:"\u521D\u97F3\u672A\u6765 MV\u5408\u96C6",v:"\u521D\u97F3\u672A\u6765 MV\u5408\u96C6"}]},{key:"tidx",name:"\u5206\u7C7B",value:[{n:"\u7537\u661F MV\u5408\u96C6",v:"\u7537\u661F MV\u5408\u96C6"},{n:"\u5468\u6770\u4F26 MV\u5408\u96C6",v:"\u5468\u6770\u4F26 MV\u5408\u96C6"},{n:"\u9648\u5955\u8FC5 MV\u5408\u96C6",v:"\u9648\u5955\u8FC5 MV\u5408\u96C6"},{n:"\u5218\u5FB7\u534E MV\u5408\u96C6",v:"\u5218\u5FB7\u534E MV\u5408\u96C6"},{n:"\u90ED\u5BCC\u57CE MV\u5408\u96C6",v:"\u90ED\u5BCC\u57CE MV\u5408\u96C6"},{n:"\u5F20\u5B66\u53CB MV\u5408\u96C6",v:"\u5F20\u5B66\u53CB MV\u5408\u96C6"},{n:"\u9ECE\u660E MV\u5408\u96C6",v:"\u9ECE\u660E MV\u5408\u96C6"},{n:"\u674E\u5B97\u76DB MV\u5408\u96C6",v:"\u674E\u5B97\u76DB MV\u5408\u96C6"},{n:"\u6734\u6811 MV\u5408\u96C6",v:"\u6734\u6811 MV\u5408\u96C6"},{n:"\u6797\u5B50\u7965 MV\u5408\u96C6",v:"\u6797\u5B50\u7965 MV\u5408\u96C6"},{n:"\u4EFB\u8D24\u9F50 MV\u5408\u96C6",v:"\u4EFB\u8D24\u9F50 MV\u5408\u96C6"},{n:"\u5F20\u4FE1\u54F2 MV\u5408\u96C6",v:"\u5F20\u4FE1\u54F2 MV\u5408\u96C6"},{n:"\u5B59\u6960 MV\u5408\u96C6",v:"\u5B59\u6960 MV\u5408\u96C6"},{n:"\u5F20\u5B87 MV\u5408\u96C6",v:"\u5F20\u5B87 MV\u5408\u96C6"},{n:"\u5468\u534E\u5065 MV\u5408\u96C6",v:"\u5468\u534E\u5065 MV\u5408\u96C6"},{n:"\u859B\u4E4B\u8C26 MV\u5408\u96C6",v:"\u859B\u4E4B\u8C26 MV\u5408\u96C6"},{n:"\u8BB8\u5D69 MV\u5408\u96C6",v:"\u8BB8\u5D69 MV\u5408\u96C6"},{n:"\u5468\u6DF1 MV\u5408\u96C6",v:"\u5468\u6DF1 MV\u5408\u96C6"},{n:"\u6BDB\u4E0D\u6613 MV\u5408\u96C6",v:"\u6BDB\u4E0D\u6613 MV\u5408\u96C6"},{n:"\u6C6A\u82CF\u6CF7 MV\u5408\u96C6",v:"\u6C6A\u82CF\u6CF7 MV\u5408\u96C6"},{n:"\u6768\u5B97\u7EAC MV\u5408\u96C6",v:"\u6768\u5B97\u7EAC MV\u5408\u96C6"},{n:"\u80E1\u5F66\u658C MV\u5408\u96C6",v:"\u80E1\u5F66\u658C MV\u5408\u96C6"},{n:"\u674E\u8363\u6D69 MV\u5408\u96C6",v:"\u674E\u8363\u6D69 MV\u5408\u96C6"},{n:"\u6797\u5FD7\u70AB MV\u5408\u96C6",v:"\u6797\u5FD7\u70AB MV\u5408\u96C6"},{n:"\u9676\u5586 MV\u5408\u96C6",v:"\u9676\u5586 MV\u5408\u96C6"},{n:"\u80E1\u590F MV\u5408\u96C6",v:"\u80E1\u590F MV\u5408\u96C6"},{n:"\u674E\u7389\u521A MV\u5408\u96C6",v:"\u674E\u7389\u521A MV\u5408\u96C6"},{n:"\u5F26\u5B50 MV\u5408\u96C6",v:"\u5F26\u5B50 MV\u5408\u96C6"},{n:"\u9648\u5C0F\u6625 MV\u5408\u96C6",v:"\u9648\u5C0F\u6625 MV\u5408\u96C6"},{n:"\u9E7F\u6657 MV\u5408\u96C6",v:"\u9E7F\u6657 MV\u5408\u96C6"},{n:"\u8BB8\u5DCD MV\u5408\u96C6",v:"\u8BB8\u5DCD MV\u5408\u96C6"},{n:"\u6797\u4FCA\u6770 MV\u5408\u96C6",v:"\u6797\u4FCA\u6770 MV\u5408\u96C6"},{n:"\u8D75\u96F7 MV\u5408\u96C6",v:"\u8D75\u96F7 MV\u5408\u96C6"},{n:"\u8C2D\u548F\u9E9F MV\u5408\u96C6",v:"\u8C2D\u548F\u9E9F MV\u5408\u96C6"},{n:"\u5468\u4F20\u96C4 MV\u5408\u96C6",v:"\u5468\u4F20\u96C4 MV\u5408\u96C6"},{n:"\u5F20\u56FD\u8363 MV\u5408\u96C6",v:"\u5F20\u56FD\u8363 MV\u5408\u96C6"},{n:"\u674E\u5065 MV\u5408\u96C6",v:"\u674E\u5065 MV\u5408\u96C6"},{n:"\u534E\u6668\u5B87 MV\u5408\u96C6",v:"\u534E\u6668\u5B87 MV\u5408\u96C6"},{n:"\u5927\u5F20\u4F1F MV\u5408\u96C6",v:"\u5927\u5F20\u4F1F MV\u5408\u96C6"},{n:"\u738B\u4FCA\u51EF MV\u5408\u96C6",v:"\u738B\u4FCA\u51EF MV\u5408\u96C6"},{n:"\u6613\u70CA\u5343\u73BA MV\u5408\u96C6",v:"\u6613\u70CA\u5343\u73BA MV\u5408\u96C6"},{n:"\u738B\u6E90 MV\u5408\u96C6",v:"\u738B\u6E90 MV\u5408\u96C6"},{n:"\u7530\u99A5\u7504 MV\u5408\u96C6",v:"\u7530\u99A5\u7504 MV\u5408\u96C6"},{n:"\u5C0F\u864E\u961F MV\u5408\u96C6",v:"\u5C0F\u864E\u961F MV\u5408\u96C6"},{n:"\u5F20\u6770 MV\u5408\u96C6",v:"\u5F20\u6770 MV\u5408\u96C6"},{n:"\u4F0D\u4F70 MV\u5408\u96C6",v:"\u4F0D\u4F70 MV\u5408\u96C6"},{n:"\u5200\u90CE MV\u5408\u96C6",v:"\u5200\u90CE MV\u5408\u96C6"},{n:"\u6F58\u73AE\u67CF MV\u5408\u96C6",v:"\u6F58\u73AE\u67CF MV\u5408\u96C6"},{n:"\u6797\u5BA5\u5609 MV\u5408\u96C6",v:"\u6797\u5BA5\u5609 MV\u5408\u96C6"},{n:"\u8521\u5F90\u5764 MV\u5408\u96C6",v:"\u8521\u5F90\u5764 MV\u5408\u96C6"},{n:"\u674E\u5723\u6770 MV\u5408\u96C6",v:"\u674E\u5723\u6770 MV\u5408\u96C6"},{n:"\u8427\u656C\u817E MV\u5408\u96C6",v:"\u8427\u656C\u817E MV\u5408\u96C6"},{n:"\u7126\u8FC8\u5947 MV\u5408\u96C6",v:"\u7126\u8FC8\u5947 MV\u5408\u96C6"},{n:"\u5C24\u957F\u9756 MV\u5408\u96C6",v:"\u5C24\u957F\u9756 MV\u5408\u96C6"},{n:"\u90D1\u4E2D\u57FA MV\u5408\u96C6",v:"\u90D1\u4E2D\u57FA MV\u5408\u96C6"},{n:"\u5F20\u827A\u5174 MV\u5408\u96C6",v:"\u5F20\u827A\u5174 MV\u5408\u96C6"},{n:"\u738B\u5609\u5C14 MV\u5408\u96C6",v:"\u738B\u5609\u5C14 MV\u5408\u96C6"},{n:"\u5218\u5BAA\u534E MV\u5408\u96C6",v:"\u5218\u5BAA\u534E MV\u5408\u96C6"},{n:"\u5F20\u656C\u8F69 MV\u5408\u96C6",v:"\u5F20\u656C\u8F69 MV\u5408\u96C6"},{n:"\u674E\u514B\u52E4 MV\u5408\u96C6",v:"\u674E\u514B\u52E4 MV\u5408\u96C6"},{n:"\u963F\u675C MV\u5408\u96C6",v:"\u963F\u675C MV\u5408\u96C6"},{n:"\u5D14\u5065 MV\u5408\u96C6",v:"\u5D14\u5065 MV\u5408\u96C6"},{n:"\u5EBE\u6F84\u5E86 MV\u5408\u96C6",v:"\u5EBE\u6F84\u5E86 MV\u5408\u96C6"},{n:"\u6C6A\u5CF0 MV\u5408\u96C6",v:"\u6C6A\u5CF0 MV\u5408\u96C6"},{n:"\u6768\u5764 MV\u5408\u96C6",v:"\u6768\u5764 MV\u5408\u96C6"},{n:"\u5F20\u9707\u5CB3 MV\u5408\u96C6",v:"\u5F20\u9707\u5CB3 MV\u5408\u96C6"},{n:"\u9F50\u79E6 MV\u5408\u96C6",v:"\u9F50\u79E6 MV\u5408\u96C6"},{n:"\u5F20\u96E8\u751F MV\u5408\u96C6",v:"\u5F20\u96E8\u751F MV\u5408\u96C6"},{n:"\u9EC4\u54C1\u6E90 MV\u5408\u96C6",v:"\u9EC4\u54C1\u6E90 MV\u5408\u96C6"},{n:"\u4E01\u5F53 MV\u5408\u96C6",v:"\u4E01\u5F53 MV\u5408\u96C6"},{n:"\u90D1\u667A\u5316 MV\u5408\u96C6",v:"\u90D1\u667A\u5316 MV\u5408\u96C6"},{n:"\u8C22\u9706\u950B MV\u5408\u96C6",v:"\u8C22\u9706\u950B MV\u5408\u96C6"},{n:"\u9EC4\u5C0F\u7425 MV\u5408\u96C6",v:"\u9EC4\u5C0F\u7425 MV\u5408\u96C6"},{n:"\u4EFB\u5609\u4F26 MV\u5408\u96C6",v:"\u4EFB\u5609\u4F26 MV\u5408\u96C6"},{n:"\u5B8B\u4E9A\u68EE MV\u5408\u96C6",v:"\u5B8B\u4E9A\u68EE MV\u5408\u96C6"},{n:"\u8D39\u7389\u6E05 MV\u5408\u96C6",v:"\u8D39\u7389\u6E05 MV\u5408\u96C6"},{n:"\u8D39\u7FD4 MV\u5408\u96C6",v:"\u8D39\u7FD4 MV\u5408\u96C6"},{n:"\u91D1\u5FD7\u6587 MV\u5408\u96C6",v:"\u91D1\u5FD7\u6587 MV\u5408\u96C6"},{n:"\u9EC4\u5BB6\u5F3A MV\u5408\u96C6",v:"\u9EC4\u5BB6\u5F3A MV\u5408\u96C6"},{n:"\u65B9\u5927\u540C MV\u5408\u96C6",v:"\u65B9\u5927\u540C MV\u5408\u96C6"},{n:"\u5434\u514B\u7FA4 MV\u5408\u96C6",v:"\u5434\u514B\u7FA4 MV\u5408\u96C6"},{n:"\u7F57\u5927\u4F51 MV\u5408\u96C6",v:"\u7F57\u5927\u4F51 MV\u5408\u96C6"},{n:"\u5149\u826F MV\u5408\u96C6",v:"\u5149\u826F MV\u5408\u96C6"},{n:"\u738B\u6770 MV\u5408\u96C6",v:"\u738B\u6770 MV\u5408\u96C6"},{n:"\u91D1\u6C60 MV\u5408\u96C6",v:"\u91D1\u6C60 MV\u5408\u96C6"},{n:"\u5C60\u6D2A\u521A MV\u5408\u96C6",v:"\u5C60\u6D2A\u521A MV\u5408\u96C6"},{n:"\u6234\u8343 MV\u5408\u96C6",v:"\u6234\u8343 MV\u5408\u96C6"},{n:"\u7F57\u5FD7\u7965 MV\u5408\u96C6",v:"\u7F57\u5FD7\u7965 MV\u5408\u96C6"},{n:"\u738B\u529B\u5B8F MV\u5408\u96C6",v:"\u738B\u529B\u5B8F MV\u5408\u96C6"},{n:"\u8FC8\u514B\u5C14\u6770\u514B\u900A MV\u5408\u96C6",v:"\u8FC8\u514B\u5C14\u6770\u514B\u900A MV\u5408\u96C6"},{n:"\u6CF0\u52D2\xB7\u65AF\u5A01\u592B\u7279 MV\u5408\u96C6",v:"\u6CF0\u52D2\xB7\u65AF\u5A01\u592B\u7279 MV\u5408\u96C6"},{n:"\u8D3E\u65AF\u4E01\u6BD4\u4F2F MV\u5408\u96C6",v:"\u8D3E\u65AF\u4E01\u6BD4\u4F2F MV\u5408\u96C6"}]},{key:"tidz",name:"\u8BED\u79CD",value:[{n:"\u534E\u8BED MV\u5408\u96C6",v:"\u534E\u8BED MV\u5408\u96C6"},{n:"\u6B27\u7F8E MV\u5408\u96C6",v:"\u6B27\u7F8E MV\u5408\u96C6"},{n:"\u65E5\u8BED MV\u5408\u96C6",v:"\u65E5\u8BED MV\u5408\u96C6"},{n:"\u97E9\u8BED MV\u5408\u96C6",v:"\u97E9\u8BED MV\u5408\u96C6"},{n:"\u56FD\u8BED MV\u5408\u96C6",v:"\u56FD\u8BED MV\u5408\u96C6"},{n:"\u7CA4\u8BED MV\u5408\u96C6",v:"\u7CA4\u8BED MV\u5408\u96C6"},{n:"\u95FD\u5357\u8BED MV\u5408\u96C6",v:"\u95FD\u5357\u8BED MV\u5408\u96C6"},{n:"\u4E1C\u5357\u4E9A MV\u5408\u96C6",v:"\u4E1C\u5357\u4E9A MV\u5408\u96C6"},{n:"\u82F1\u8BED MV\u5408\u96C6",v:"\u82F1\u8BED MV\u5408\u96C6"},{n:"\u4FC4\u8BED MV\u5408\u96C6",v:"\u4FC4\u8BED MV\u5408\u96C6"},{n:"\u5370\u5EA6 MV\u5408\u96C6",v:"\u5370\u5EA6 MV\u5408\u96C6"},{n:"\u81EA\u5236 MV\u5408\u96C6",v:"\u81EA\u5236 MV\u5408\u96C6"}]},{key:"tidd",name:"\u4E50\u961F\u7EC4\u5408",value:[{n:"\u4E50\u961F MV\u5408\u96C6",v:"\u4E50\u961F MV\u5408\u96C6"},{n:"\u7EC4\u5408 MV\u5408\u96C6",v:"\u7EC4\u5408 MV\u5408\u96C6"},{n:"Beyond MV\u5408\u96C6",v:"Beyond MV\u5408\u96C6"},{n:"\u51E4\u51F0\u4F20\u5947 MV\u5408\u96C6",v:"\u51E4\u51F0\u4F20\u5947 MV\u5408\u96C6"},{n:"\u7EB5\u8D2F\u7EBF MV\u5408\u96C6",v:"\u7EB5\u8D2F\u7EBF MV\u5408\u96C6"},{n:"\u82CF\u6253\u7EFF MV\u5408\u96C6",v:"\u82CF\u6253\u7EFF MV\u5408\u96C6"},{n:"\u4E94\u6708\u5929 MV\u5408\u96C6",v:"\u4E94\u6708\u5929 MV\u5408\u96C6"},{n:"TFBOYS MV\u5408\u96C6",v:"TFBOYS MV\u5408\u96C6"},{n:"\u7FBD\u6CC9 MV\u5408\u96C6",v:"\u7FBD\u6CC9 MV\u5408\u96C6"},{n:"\u8349\u8722 MV\u5408\u96C6",v:"\u8349\u8722 MV\u5408\u96C6"},{n:"\u9003\u8DD1\u8BA1\u5212 MV\u5408\u96C6",v:"\u9003\u8DD1\u8BA1\u5212 MV\u5408\u96C6"},{n:"\u9752\u9E1F\u98DE\u9C7C MV\u5408\u96C6",v:"\u9752\u9E1F\u98DE\u9C7C MV\u5408\u96C6"},{n:"\u98DE\u513F\u4E50\u961F MV\u5408\u96C6",v:"\u98DE\u513F\u4E50\u961F MV\u5408\u96C6"},{n:"\u82B1\u513F\u4E50\u961F MV\u5408\u96C6",v:"\u82B1\u513F\u4E50\u961F MV\u5408\u96C6"},{n:"\u5357\u62F3\u5988\u5988 MV\u5408\u96C6",v:"\u5357\u62F3\u5988\u5988 MV\u5408\u96C6"},{n:"\u6C34\u6728\u5E74\u534E MV\u5408\u96C6",v:"\u6C34\u6728\u5E74\u534E MV\u5408\u96C6"},{n:"\u52A8\u529B\u706B\u8F66 MV\u5408\u96C6",v:"\u52A8\u529B\u706B\u8F66 MV\u5408\u96C6"},{n:"\u7B77\u5B50\u5144\u5F1F MV\u5408\u96C6",v:"\u7B77\u5B50\u5144\u5F1F MV\u5408\u96C6"},{n:"\u9E7F\u5148\u68EE\u4E50\u961F MV\u5408\u96C6",v:"\u9E7F\u5148\u68EE\u4E50\u961F MV\u5408\u96C6"},{n:"\u4FE1\u4E50\u961F MV\u5408\u96C6",v:"\u4FE1\u4E50\u961F MV\u5408\u96C6"},{n:"\u65C5\u884C\u56E2\u4E50\u961F MV\u5408\u96C6",v:"\u65C5\u884C\u56E2\u4E50\u961F MV\u5408\u96C6"},{n:"\u6797\u80AF\u516C\u56ED MV\u5408\u96C6",v:"\u6797\u80AF\u516C\u56ED MV\u5408\u96C6"},{n:"BIGBANG MV\u5408\u96C6",v:"BIGBANG MV\u5408\u96C6"},{n:"\u540E\u8857\u7537\u5B69 MV\u5408\u96C6",v:"\u540E\u8857\u7537\u5B69 MV\u5408\u96C6"},{n:"\u591C\u613F\u4E50\u961F MV\u5408\u96C6",v:"\u591C\u613F\u4E50\u961F MV\u5408\u96C6"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],"4K MV":[{key:"tidv",name:"\u5206\u7C7B",value:[{n:"4K MV",v:"4K MV"},{n:"4K MV\u5408\u96C6",v:"4K MV\u5408\u96C6"},{n:"4K\u5168\u7F51\u7B2C\u4E00",v:"4K\u5168\u7F51\u7B2C\u4E00"},{n:"4K60FPS",v:"4K60FPS"}]},{key:"tidh",name:"\u5206\u7C7B",value:[{n:"4K\u97E9\u56FD\u5973\u661F MV\u5408\u96C6",v:"4K\u97E9\u56FD\u5973\u661F MV\u5408\u96C6"},{n:"4K\u674E\u5B5D\u5229 MV\u5408\u96C6",v:"4K\u674E\u5B5D\u5229 MV\u5408\u96C6"},{n:"4K\u674E\u77E5\u6069 MV\u5408\u96C6",v:"4K\u674E\u77E5\u6069 MV\u5408\u96C6"},{n:"4K\u6797\u5141\u513F MV\u5408\u96C6",v:"4K\u6797\u5141\u513F MV\u5408\u96C6"},{n:"4K\u91D1\u6CEB\u96C5 MV\u5408\u96C6",v:"4K\u91D1\u6CEB\u96C5 MV\u5408\u96C6"},{n:"4K\u91D1\u6CF0\u598D MV\u5408\u96C6",v:"4K\u91D1\u6CF0\u598D MV\u5408\u96C6"},{n:"4K\u674E\u5BA3\u7F8E MV\u5408\u96C6",v:"4K\u674E\u5BA3\u7F8E MV\u5408\u96C6"},{n:"4K\u5D14\u96EA\u8389 MV\u5408\u96C6",v:"4K\u5D14\u96EA\u8389 MV\u5408\u96C6"},{n:"4K\u5B89\u559C\u5EF6 MV\u5408\u96C6",v:"4K\u5B89\u559C\u5EF6 MV\u5408\u96C6"},{n:"4K\u91D1\u4E9A\u8363 MV\u5408\u96C6",v:"4K\u91D1\u4E9A\u8363 MV\u5408\u96C6"},{n:"4K\u674E\u77E5\u6069 MV\u5408\u96C6",v:"4K\u674E\u77E5\u6069 MV\u5408\u96C6"},{n:"4K\u674E\u8D1E\u8D24 MV\u5408\u96C6",v:"4K\u674E\u8D1E\u8D24 MV\u5408\u96C6"},{n:"4K\u6D2A\u771F\u82F1 MV\u5408\u96C6",v:"4K\u6D2A\u771F\u82F1 MV\u5408\u96C6"}]},{key:"tidr",name:"\u5206\u7C7B",value:[{n:"4K\u65E5\u672C\u5973\u661F MV\u5408\u96C6",v:"4K\u65E5\u672C\u5973\u661F MV\u5408\u96C6"},{n:"4K YUI MV\u5408\u96C6",v:"4K YUI MV\u5408\u96C6"},{n:"4K\u5E78\u7530\u6765\u672A MV\u5408\u96C6",v:"4K\u5E78\u7530\u6765\u672A MV\u5408\u96C6"},{n:"4K\u5B89\u5BA4\u5948\u7F8E\u60E0 MV\u5408\u96C6",v:"4K\u5B89\u5BA4\u5948\u7F8E\u60E0 MV\u5408\u96C6"},{n:"4K\u6EE8\u5D0E\u6B65 MV\u5408\u96C6",v:"4K\u6EE8\u5D0E\u6B65 MV\u5408\u96C6"},{n:"4K\u53E4\u8C37\u4EC1\u7F8E MV\u5408\u96C6",v:"4K\u53E4\u8C37\u4EC1\u7F8E MV\u5408\u96C6"},{n:"4K\u5B87\u591A\u7530\u5149 MV\u5408\u96C6",v:"4K\u5B87\u591A\u7530\u5149 MV\u5408\u96C6"},{n:"4K\u4F0A\u85E4\u7531\u5948 MV\u5408\u96C6",v:"4K\u4F0A\u85E4\u7531\u5948 MV\u5408\u96C6"},{n:"4K\u7389\u7F6E\u6210\u5B9E MV\u5408\u96C6",v:"4K\u7389\u7F6E\u6210\u5B9E MV\u5408\u96C6"},{n:"4K\u4ED3\u6728\u9EBB\u8863 MV\u5408\u96C6",v:"4K\u4ED3\u6728\u9EBB\u8863 MV\u5408\u96C6"},{n:"4K Angela MV\u5408\u96C6",v:"4K Angela MV\u5408\u96C6"},{n:"4K\u4E2D\u5C9B\u7F8E\u96EA MV\u5408\u96C6",v:"4K\u4E2D\u5C9B\u7F8E\u96EA MV\u5408\u96C6"}]},{key:"tidn",name:"\u5206\u7C7B",value:[{n:"4K\u5973\u661F MV\u5408\u96C6",v:"4K\u5973\u661F MV\u5408\u96C6"},{n:"4K\u6234\u4F69\u59AE MV\u5408\u96C6",v:"4K\u6234\u4F69\u59AE MV\u5408\u96C6"},{n:"4K\u9093\u7D2B\u68CB MV\u5408\u96C6",v:"4K\u9093\u7D2B\u68CB MV\u5408\u96C6"},{n:"4K\u5F20\u97F6\u6DB5 MV\u5408\u96C6",v:"4K\u5F20\u97F6\u6DB5 MV\u5408\u96C6"},{n:"4K\u8521\u5065\u96C5 MV\u5408\u96C6",v:"4K\u8521\u5065\u96C5 MV\u5408\u96C6"},{n:"4K\u83AB\u6587\u851A MV\u5408\u96C6",v:"4K\u83AB\u6587\u851A MV\u5408\u96C6"},{n:"4K\u5218\u82E5\u82F1 MV\u5408\u96C6",v:"4K\u5218\u82E5\u82F1 MV\u5408\u96C6"},{n:"4K\u9093\u4E3D\u541B MV\u5408\u96C6",v:"4K\u9093\u4E3D\u541B MV\u5408\u96C6"},{n:"4K\u8521\u4F9D\u6797 MV\u5408\u96C6",v:"4K\u8521\u4F9D\u6797 MV\u5408\u96C6"},{n:"4K\u674E\u5B87\u6625 MV\u5408\u96C6",v:"4K\u674E\u5B87\u6625 MV\u5408\u96C6"},{n:"4K\u5F90\u4F73\u83B9 MV\u5408\u96C6",v:"4K\u5F90\u4F73\u83B9 MV\u5408\u96C6"},{n:"4K\u6768\u5343\u5B05 MV\u5408\u96C6",v:"4K\u6768\u5343\u5B05 MV\u5408\u96C6"},{n:"4K\u5F20\u9753\u9896 MV\u5408\u96C6",v:"4K\u5F20\u9753\u9896 MV\u5408\u96C6"},{n:"4K\u6768\u4E1E\u7433 MV\u5408\u96C6",v:"4K\u6768\u4E1E\u7433 MV\u5408\u96C6"},{n:"4K\u8427\u4E9A\u8F69 MV\u5408\u96C6",v:"4K\u8427\u4E9A\u8F69 MV\u5408\u96C6"},{n:"4K\u5BB9\u7956\u513F MV\u5408\u96C6",v:"4K\u5BB9\u7956\u513F MV\u5408\u96C6"},{n:"4K\u6885\u8273\u82B3 MV\u5408\u96C6",v:"4K\u6885\u8273\u82B3 MV\u5408\u96C6"},{n:"4K\u5B59\u71D5\u59FF MV\u5408\u96C6",v:"4K\u5B59\u71D5\u59FF MV\u5408\u96C6"},{n:"4K\u8881\u5A05\u7EF4 MV\u5408\u96C6",v:"4K\u8881\u5A05\u7EF4 MV\u5408\u96C6"},{n:"4K\u738B\u83F2 MV\u5408\u96C6",v:"4K\u738B\u83F2 MV\u5408\u96C6"},{n:"4K\u6881\u9759\u8339 MV\u5408\u96C6",v:"4K\u6881\u9759\u8339 MV\u5408\u96C6"},{n:"4K\u5468\u6167\u654F MV\u5408\u96C6",v:"4K\u5468\u6167\u654F MV\u5408\u96C6"},{n:"4K\u5F20\u60E0\u59B9 MV\u5408\u96C6",v:"4K\u5F20\u60E0\u59B9 MV\u5408\u96C6"},{n:"4K\u5468\u7B14\u7545 MV\u5408\u96C6",v:"4K\u5468\u7B14\u7545 MV\u5408\u96C6"},{n:"4K\u8C2D\u7EF4\u7EF4 MV\u5408\u96C6",v:"4K\u8C2D\u7EF4\u7EF4 MV\u5408\u96C6"},{n:"4K\u9648\u6167\u5A34 MV\u5408\u96C6",v:"4K\u9648\u6167\u5A34 MV\u5408\u96C6"},{n:"4K\u90ED\u9759 MV\u5408\u96C6",v:"4K\u90ED\u9759 MV\u5408\u96C6"},{n:"4K\u90A3\u82F1 MV\u5408\u96C6",v:"4K\u90A3\u82F1 MV\u5408\u96C6"},{n:"4K\u97E9\u7EA2 MV\u5408\u96C6",v:"4K\u97E9\u7EA2 MV\u5408\u96C6"},{n:"4K\u6797\u5FC6\u83B2 MV\u5408\u96C6",v:"4K\u6797\u5FC6\u83B2 MV\u5408\u96C6"},{n:"4K\u674E\u739F MV\u5408\u96C6",v:"4K\u674E\u739F MV\u5408\u96C6"},{n:"4K\u5F90\u5C0F\u51E4 MV\u5408\u96C6",v:"4K\u5F90\u5C0F\u51E4 MV\u5408\u96C6"},{n:"4K\u5353\u4F9D\u5A77 MV\u5408\u96C6",v:"4K\u5353\u4F9D\u5A77 MV\u5408\u96C6"},{n:"4K\u90C1\u53EF\u552F MV\u5408\u96C6",v:"4K\u90C1\u53EF\u552F MV\u5408\u96C6"},{n:"4K\u7530\u9707 MV\u5408\u96C6",v:"4K\u7530\u9707 MV\u5408\u96C6"},{n:"4K\u51E4\u98DE\u98DE MV\u5408\u96C6",v:"4K\u51E4\u98DE\u98DE MV\u5408\u96C6"},{n:"4K\u8C2D\u6676 MV\u5408\u96C6",v:"4K\u8C2D\u6676 MV\u5408\u96C6"},{n:"4K\u53F6\u5029\u6587 MV\u5408\u96C6",v:"4K\u53F6\u5029\u6587 MV\u5408\u96C6"},{n:"4K\u738B\u5FC3\u51CC MV\u5408\u96C6",v:"4K\u738B\u5FC3\u51CC MV\u5408\u96C6"},{n:"4K\u90ED\u91C7\u6D01 MV\u5408\u96C6",v:"4K\u90ED\u91C7\u6D01 MV\u5408\u96C6"},{n:"4K\u963F\u9EDB\u5C14 MV\u5408\u96C6",v:"4K\u963F\u9EDB\u5C14 MV\u5408\u96C6"},{n:"4K LadyGaga MV\u5408\u96C6",v:"4K LadyGaga MV\u5408\u96C6"},{n:"4K\u5E03\u5170\u59AE MV\u5408\u96C6",v:"4K\u5E03\u5170\u59AE MV\u5408\u96C6"},{n:"4K\u6D1B\u5929\u4F9D MV\u5408\u96C6",v:"4K\u6D1B\u5929\u4F9D MV\u5408\u96C6"},{n:"4K\u521D\u97F3\u672A\u6765 MV\u5408\u96C6",v:"4K\u521D\u97F3\u672A\u6765 MV\u5408\u96C6"}]},{key:"tidx",name:"\u5206\u7C7B",value:[{n:"4K\u7537\u661F MV\u5408\u96C6",v:"4K\u7537\u661F MV\u5408\u96C6"},{n:"4K\u5468\u6770\u4F26 MV\u5408\u96C6",v:"4K\u5468\u6770\u4F26 MV\u5408\u96C6"},{n:"4K\u9648\u5955\u8FC5 MV\u5408\u96C6",v:"4K\u9648\u5955\u8FC5 MV\u5408\u96C6"},{n:"4K\u5218\u5FB7\u534E MV\u5408\u96C6",v:"4K\u5218\u5FB7\u534E MV\u5408\u96C6"},{n:"4K\u90ED\u5BCC\u57CE MV\u5408\u96C6",v:"4K\u90ED\u5BCC\u57CE MV\u5408\u96C6"},{n:"4K\u5F20\u5B66\u53CB MV\u5408\u96C6",v:"4K\u5F20\u5B66\u53CB MV\u5408\u96C6"},{n:"4K\u9ECE\u660E MV\u5408\u96C6",v:"4K\u9ECE\u660E MV\u5408\u96C6"},{n:"4K\u674E\u5B97\u76DB MV\u5408\u96C6",v:"4K\u674E\u5B97\u76DB MV\u5408\u96C6"},{n:"4K\u6734\u6811 MV\u5408\u96C6",v:"4K\u6734\u6811 MV\u5408\u96C6"},{n:"4K\u6797\u5B50\u7965 MV\u5408\u96C6",v:"4K\u6797\u5B50\u7965 MV\u5408\u96C6"},{n:"4K\u4EFB\u8D24\u9F50 MV\u5408\u96C6",v:"4K\u4EFB\u8D24\u9F50 MV\u5408\u96C6"},{n:"4K\u5F20\u4FE1\u54F2 MV\u5408\u96C6",v:"4K\u5F20\u4FE1\u54F2 MV\u5408\u96C6"},{n:"4K\u5B59\u6960 MV\u5408\u96C6",v:"4K\u5B59\u6960 MV\u5408\u96C6"},{n:"4K\u5F20\u5B87 MV\u5408\u96C6",v:"4K\u5F20\u5B87 MV\u5408\u96C6"},{n:"4K\u5468\u534E\u5065 MV\u5408\u96C6",v:"4K\u5468\u534E\u5065 MV\u5408\u96C6"},{n:"4K\u859B\u4E4B\u8C26 MV\u5408\u96C6",v:"4K\u859B\u4E4B\u8C26 MV\u5408\u96C6"},{n:"4K\u8BB8\u5D69 MV\u5408\u96C6",v:"4K\u8BB8\u5D69 MV\u5408\u96C6"},{n:"4K\u5468\u6DF1 MV\u5408\u96C6",v:"4K\u5468\u6DF1 MV\u5408\u96C6"},{n:"4K\u6BDB\u4E0D\u6613 MV\u5408\u96C6",v:"4K\u6BDB\u4E0D\u6613 MV\u5408\u96C6"},{n:"4K\u6C6A\u82CF\u6CF7 MV\u5408\u96C6",v:"4K\u6C6A\u82CF\u6CF7 MV\u5408\u96C6"},{n:"4K\u6768\u5B97\u7EAC MV\u5408\u96C6",v:"4K\u6768\u5B97\u7EAC MV\u5408\u96C6"},{n:"4K\u80E1\u5F66\u658C MV\u5408\u96C6",v:"4K\u80E1\u5F66\u658C MV\u5408\u96C6"},{n:"4K\u674E\u8363\u6D69 MV\u5408\u96C6",v:"4K\u674E\u8363\u6D69 MV\u5408\u96C6"},{n:"4K\u6797\u5FD7\u70AB MV\u5408\u96C6",v:"4K\u6797\u5FD7\u70AB MV\u5408\u96C6"},{n:"4K\u9676\u5586 MV\u5408\u96C6",v:"4K\u9676\u5586 MV\u5408\u96C6"},{n:"4K\u80E1\u590F MV\u5408\u96C6",v:"4K\u80E1\u590F MV\u5408\u96C6"},{n:"4K\u674E\u7389\u521A MV\u5408\u96C6",v:"4K\u674E\u7389\u521A MV\u5408\u96C6"},{n:"4K\u5F26\u5B50 MV\u5408\u96C6",v:"4K\u5F26\u5B50 MV\u5408\u96C6"},{n:"4K\u9648\u5C0F\u6625 MV\u5408\u96C6",v:"4K\u9648\u5C0F\u6625 MV\u5408\u96C6"},{n:"4K\u9E7F\u6657 MV\u5408\u96C6",v:"4K\u9E7F\u6657 MV\u5408\u96C6"},{n:"4K\u8BB8\u5DCD MV\u5408\u96C6",v:"4K\u8BB8\u5DCD MV\u5408\u96C6"},{n:"4K\u6797\u4FCA\u6770 MV\u5408\u96C6",v:"4K\u6797\u4FCA\u6770 MV\u5408\u96C6"},{n:"4K\u8D75\u96F7 MV\u5408\u96C6",v:"4K\u8D75\u96F7 MV\u5408\u96C6"},{n:"4K\u8C2D\u548F\u9E9F MV\u5408\u96C6",v:"4K\u8C2D\u548F\u9E9F MV\u5408\u96C6"},{n:"4K\u5468\u4F20\u96C4 MV\u5408\u96C6",v:"4K\u5468\u4F20\u96C4 MV\u5408\u96C6"},{n:"4K\u5F20\u56FD\u8363 MV\u5408\u96C6",v:"4K\u5F20\u56FD\u8363 MV\u5408\u96C6"},{n:"4K\u674E\u5065 MV\u5408\u96C6",v:"4K\u674E\u5065 MV\u5408\u96C6"},{n:"4K\u534E\u6668\u5B87 MV\u5408\u96C6",v:"4K\u534E\u6668\u5B87 MV\u5408\u96C6"},{n:"4K\u5927\u5F20\u4F1F MV\u5408\u96C6",v:"4K\u5927\u5F20\u4F1F MV\u5408\u96C6"},{n:"4K\u738B\u4FCA\u51EF MV\u5408\u96C6",v:"4K\u738B\u4FCA\u51EF MV\u5408\u96C6"},{n:"4K\u6613\u70CA\u5343\u73BA MV\u5408\u96C6",v:"4K\u6613\u70CA\u5343\u73BA MV\u5408\u96C6"},{n:"4K\u738B\u6E90 MV\u5408\u96C6",v:"4K\u738B\u6E90 MV\u5408\u96C6"},{n:"4K\u7530\u99A5\u7504 MV\u5408\u96C6",v:"4K\u7530\u99A5\u7504 MV\u5408\u96C6"},{n:"4K\u5C0F\u864E\u961F MV\u5408\u96C6",v:"4K\u5C0F\u864E\u961F MV\u5408\u96C6"},{n:"4K\u5F20\u6770 MV\u5408\u96C6",v:"4K\u5F20\u6770 MV\u5408\u96C6"},{n:"4K\u4F0D\u4F70 MV\u5408\u96C6",v:"4K\u4F0D\u4F70 MV\u5408\u96C6"},{n:"4K\u5200\u90CE MV\u5408\u96C6",v:"4K\u5200\u90CE MV\u5408\u96C6"},{n:"4K\u6F58\u73AE\u67CF MV\u5408\u96C6",v:"4K\u6F58\u73AE\u67CF MV\u5408\u96C6"},{n:"4K\u6797\u5BA5\u5609 MV\u5408\u96C6",v:"4K\u6797\u5BA5\u5609 MV\u5408\u96C6"},{n:"4K\u8521\u5F90\u5764 MV\u5408\u96C6",v:"4K\u8521\u5F90\u5764 MV\u5408\u96C6"},{n:"4K\u674E\u5723\u6770 MV\u5408\u96C6",v:"4K\u674E\u5723\u6770 MV\u5408\u96C6"},{n:"4K\u8427\u656C\u817E MV\u5408\u96C6",v:"4K\u8427\u656C\u817E MV\u5408\u96C6"},{n:"4K\u7126\u8FC8\u5947 MV\u5408\u96C6",v:"4K\u7126\u8FC8\u5947 MV\u5408\u96C6"},{n:"4K\u5C24\u957F\u9756 MV\u5408\u96C6",v:"4K\u5C24\u957F\u9756 MV\u5408\u96C6"},{n:"4K\u90D1\u4E2D\u57FA MV\u5408\u96C6",v:"4K\u90D1\u4E2D\u57FA MV\u5408\u96C6"},{n:"4K\u5F20\u827A\u5174 MV\u5408\u96C6",v:"4K\u5F20\u827A\u5174 MV\u5408\u96C6"},{n:"4K\u738B\u5609\u5C14 MV\u5408\u96C6",v:"4K\u738B\u5609\u5C14 MV\u5408\u96C6"},{n:"4K\u5218\u5BAA\u534E MV\u5408\u96C6",v:"4K\u5218\u5BAA\u534E MV\u5408\u96C6"},{n:"4K\u5F20\u656C\u8F69 MV\u5408\u96C6",v:"4K\u5F20\u656C\u8F69 MV\u5408\u96C6"},{n:"4K\u674E\u514B\u52E4 MV\u5408\u96C6",v:"4K\u674E\u514B\u52E4 MV\u5408\u96C6"},{n:"4K\u963F\u675C MV\u5408\u96C6",v:"4K\u963F\u675C MV\u5408\u96C6"},{n:"4K\u5D14\u5065 MV\u5408\u96C6",v:"4K\u5D14\u5065 MV\u5408\u96C6"},{n:"4K\u5EBE\u6F84\u5E86 MV\u5408\u96C6",v:"4K\u5EBE\u6F84\u5E86 MV\u5408\u96C6"},{n:"4K\u6C6A\u5CF0 MV\u5408\u96C6",v:"4K\u6C6A\u5CF0 MV\u5408\u96C6"},{n:"4K\u6768\u5764 MV\u5408\u96C6",v:"4K\u6768\u5764 MV\u5408\u96C6"},{n:"4K\u5F20\u9707\u5CB3 MV\u5408\u96C6",v:"4K\u5F20\u9707\u5CB3 MV\u5408\u96C6"},{n:"4K\u9F50\u79E6 MV\u5408\u96C6",v:"4K\u9F50\u79E6 MV\u5408\u96C6"},{n:"4K\u5F20\u96E8\u751F MV\u5408\u96C6",v:"4K\u5F20\u96E8\u751F MV\u5408\u96C6"},{n:"4K\u9EC4\u54C1\u6E90 MV\u5408\u96C6",v:"4K\u9EC4\u54C1\u6E90 MV\u5408\u96C6"},{n:"4K\u4E01\u5F53 MV\u5408\u96C6",v:"4K\u4E01\u5F53 MV\u5408\u96C6"},{n:"4K\u90D1\u667A\u5316 MV\u5408\u96C6",v:"4K\u90D1\u667A\u5316 MV\u5408\u96C6"},{n:"4K\u8C22\u9706\u950B MV\u5408\u96C6",v:"4K\u8C22\u9706\u950B MV\u5408\u96C6"},{n:"4K\u9EC4\u5C0F\u7425 MV\u5408\u96C6",v:"4K\u9EC4\u5C0F\u7425 MV\u5408\u96C6"},{n:"4K\u4EFB\u5609\u4F26 MV\u5408\u96C6",v:"4K\u4EFB\u5609\u4F26 MV\u5408\u96C6"},{n:"4K\u5B8B\u4E9A\u68EE MV\u5408\u96C6",v:"4K\u5B8B\u4E9A\u68EE MV\u5408\u96C6"},{n:"4K\u8D39\u7389\u6E05 MV\u5408\u96C6",v:"4K\u8D39\u7389\u6E05 MV\u5408\u96C6"},{n:"4K\u8D39\u7FD4 MV\u5408\u96C6",v:"4K\u8D39\u7FD4 MV\u5408\u96C6"},{n:"4K\u91D1\u5FD7\u6587 MV\u5408\u96C6",v:"4K\u91D1\u5FD7\u6587 MV\u5408\u96C6"},{n:"4K\u9EC4\u5BB6\u5F3A MV\u5408\u96C6",v:"4K\u9EC4\u5BB6\u5F3A MV\u5408\u96C6"},{n:"4K\u65B9\u5927\u540C MV\u5408\u96C6",v:"4K\u65B9\u5927\u540C MV\u5408\u96C6"},{n:"4K\u5434\u514B\u7FA4 MV\u5408\u96C6",v:"4K\u5434\u514B\u7FA4 MV\u5408\u96C6"},{n:"4K\u7F57\u5927\u4F51 MV\u5408\u96C6",v:"4K\u7F57\u5927\u4F51 MV\u5408\u96C6"},{n:"4K\u5149\u826F MV\u5408\u96C6",v:"4K\u5149\u826F MV\u5408\u96C6"},{n:"4K\u738B\u6770 MV\u5408\u96C6",v:"4K\u738B\u6770 MV\u5408\u96C6"},{n:"4K\u91D1\u6C60 MV\u5408\u96C6",v:"4K\u91D1\u6C60 MV\u5408\u96C6"},{n:"4K\u5C60\u6D2A\u521A MV\u5408\u96C6",v:"4K\u5C60\u6D2A\u521A MV\u5408\u96C6"},{n:"4K\u6234\u8343 MV\u5408\u96C6",v:"4K\u6234\u8343 MV\u5408\u96C6"},{n:"4K\u7F57\u5FD7\u7965 MV\u5408\u96C6",v:"4K\u7F57\u5FD7\u7965 MV\u5408\u96C6"},{n:"4K\u738B\u529B\u5B8F MV\u5408\u96C6",v:"4K\u738B\u529B\u5B8F MV\u5408\u96C6"},{n:"4K\u8FC8\u514B\u5C14\u6770\u514B\u900A MV\u5408\u96C6",v:"4K\u8FC8\u514B\u5C14\u6770\u514B\u900A MV\u5408\u96C6"},{n:"4K\u6CF0\u52D2\xB7\u65AF\u5A01\u592B\u7279 MV\u5408\u96C6",v:"4K\u6CF0\u52D2\xB7\u65AF\u5A01\u592B\u7279 MV\u5408\u96C6"},{n:"4K\u8D3E\u65AF\u4E01\u6BD4\u4F2F MV\u5408\u96C6",v:"4K\u8D3E\u65AF\u4E01\u6BD4\u4F2F MV\u5408\u96C6"}]},{key:"tidy",name:"\u8BED\u79CD",value:[{n:"4K\u534E\u8BED MV\u5408\u96C6",v:"4K\u534E\u8BED MV\u5408\u96C6"},{n:"4K\u6B27\u7F8E MV\u5408\u96C6",v:"4K\u6B27\u7F8E MV\u5408\u96C6"},{n:"4K\u65E5\u8BED MV\u5408\u96C6",v:"4K\u65E5\u8BED MV\u5408\u96C6"},{n:"4K\u97E9\u8BED MV\u5408\u96C6",v:"4K\u97E9\u8BED MV\u5408\u96C6"},{n:"4K\u56FD\u8BED MV\u5408\u96C6",v:"4K\u56FD\u8BED MV\u5408\u96C6"},{n:"4K\u7CA4\u8BED MV\u5408\u96C6",v:"4K\u7CA4\u8BED MV\u5408\u96C6"},{n:"4K\u95FD\u5357\u8BED MV\u5408\u96C6",v:"4K\u95FD\u5357\u8BED MV\u5408\u96C6"},{n:"4K\u4E1C\u5357\u4E9A MV\u5408\u96C6",v:"4K\u4E1C\u5357\u4E9A MV\u5408\u96C6"},{n:"4K\u82F1\u8BED MV\u5408\u96C6",v:"4K\u82F1\u8BED MV\u5408\u96C6"},{n:"4K\u4FC4\u8BED MV\u5408\u96C6",v:"4K\u4FC4\u8BED MV\u5408\u96C6"},{n:"4K\u5370\u5EA6 MV\u5408\u96C6",v:"4K\u5370\u5EA6 MV\u5408\u96C6"},{n:"4K\u81EA\u5236 MV\u5408\u96C6",v:"4K\u81EA\u5236 MV\u5408\u96C6"}]},{key:"tidd",name:"\u4E50\u961F\u7EC4\u5408",value:[{n:"4K\u4E50\u961F MV\u5408\u96C6",v:"4K\u4E50\u961F MV\u5408\u96C6"},{n:"4K\u7EC4\u5408 MV\u5408\u96C6",v:"4K\u7EC4\u5408 MV\u5408\u96C6"},{n:"4K Beyond MV\u5408\u96C6",v:"4K Beyond MV\u5408\u96C6"},{n:"4K\u51E4\u51F0\u4F20\u5947 MV\u5408\u96C6",v:"4K\u51E4\u51F0\u4F20\u5947 MV\u5408\u96C6"},{n:"4K\u7EB5\u8D2F\u7EBF MV\u5408\u96C6",v:"4K\u7EB5\u8D2F\u7EBF MV\u5408\u96C6"},{n:"4K\u82CF\u6253\u7EFF MV\u5408\u96C6",v:"4K\u82CF\u6253\u7EFF MV\u5408\u96C6"},{n:"4K\u4E94\u6708\u5929 MV\u5408\u96C6",v:"4K\u4E94\u6708\u5929 MV\u5408\u96C6"},{n:"4K TFBOYS MV\u5408\u96C6",v:"4K TFBOYS MV\u5408\u96C6"},{n:"4K\u7FBD\u6CC9 MV\u5408\u96C6",v:"4K\u7FBD\u6CC9 MV\u5408\u96C6"},{n:"4K\u8349\u8722 MV\u5408\u96C6",v:"4K\u8349\u8722 MV\u5408\u96C6"},{n:"4K\u9003\u8DD1\u8BA1\u5212 MV\u5408\u96C6",v:"4K\u9003\u8DD1\u8BA1\u5212 MV\u5408\u96C6"},{n:"4K\u9752\u9E1F\u98DE\u9C7C MV\u5408\u96C6",v:"4K\u9752\u9E1F\u98DE\u9C7C MV\u5408\u96C6"},{n:"4K\u98DE\u513F\u4E50\u961F MV\u5408\u96C6",v:"4K\u98DE\u513F\u4E50\u961F MV\u5408\u96C6"},{n:"4K\u82B1\u513F\u4E50\u961F MV\u5408\u96C6",v:"4K\u82B1\u513F\u4E50\u961F MV\u5408\u96C6"},{n:"4K\u5357\u62F3\u5988\u5988 MV\u5408\u96C6",v:"4K\u5357\u62F3\u5988\u5988 MV\u5408\u96C6"},{n:"4K\u6C34\u6728\u5E74\u534E MV\u5408\u96C6",v:"4K\u6C34\u6728\u5E74\u534E MV\u5408\u96C6"},{n:"4K\u52A8\u529B\u706B\u8F66 MV\u5408\u96C6",v:"4K\u52A8\u529B\u706B\u8F66 MV\u5408\u96C6"},{n:"4K\u7B77\u5B50\u5144\u5F1F MV\u5408\u96C6",v:"4K\u7B77\u5B50\u5144\u5F1F MV\u5408\u96C6"},{n:"4K\u9E7F\u5148\u68EE\u4E50\u961F MV\u5408\u96C6",v:"4K\u9E7F\u5148\u68EE\u4E50\u961F MV\u5408\u96C6"},{n:"4K\u4FE1\u4E50\u961F MV\u5408\u96C6",v:"4K\u4FE1\u4E50\u961F MV\u5408\u96C6"},{n:"4K\u65C5\u884C\u56E2\u4E50\u961F MV\u5408\u96C6",v:"4K\u65C5\u884C\u56E2\u4E50\u961F MV\u5408\u96C6"},{n:"4K\u6797\u80AF\u516C\u56ED MV\u5408\u96C6",v:"4K\u6797\u80AF\u516C\u56ED MV\u5408\u96C6"},{n:"4K BIGBANG MV\u5408\u96C6",v:"4K BIGBANG MV\u5408\u96C6"},{n:"4K\u540E\u8857\u7537\u5B69 MV\u5408\u96C6",v:"4K\u540E\u8857\u7537\u5B69 MV\u5408\u96C6"},{n:"4K\u591C\u613F\u4E50\u961F MV\u5408\u96C6",v:"4K\u591C\u613F\u4E50\u961F MV\u5408\u96C6"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u5973\u56E2:[{key:"tidt",name:"\u5206\u7C7B",value:[{n:"\u5973\u56E2",v:"\u5973\u56E2"},{n:"\u5973\u56E2\u5408\u96C6",v:"\u5973\u56E2\u5408\u96C6"}]},{key:"tidz",name:"\u5206\u7C7B",value:[{n:"\u4E2D\u56FD\u5973\u56E2",v:"\u4E2D\u56FD\u5973\u56E2"},{n:"\u4E2D\u56FD\u5973\u56E2\u5408\u96C6",v:"\u4E2D\u56FD\u5973\u56E2\u5408\u96C6"},{n:"SNH48 MV\u5408\u96C6",v:"SNH48 MV\u5408\u96C6"},{n:"S.H.E MV\u5408\u96C6",v:"S.H.E MV\u5408\u96C6"},{n:"Twins MV\u5408\u96C6",v:"Twins MV\u5408\u96C6"},{n:"\u706B\u7BAD\u5C11\u5973101 MV\u5408\u96C6",v:"\u706B\u7BAD\u5C11\u5973101 MV\u5408\u96C6"},{n:"BY2 MV\u5408\u96C6",v:"BY2 MV\u5408\u96C6"},{n:"S.I.N.G MV\u5408\u96C6",v:"S.I.N.G MV\u5408\u96C6"},{n:"3unshine MV\u5408\u96C6",v:"3unshine MV\u5408\u96C6"},{n:"\u871C\u8702\u5C11\u5973\u961F MV\u5408\u96C6",v:"\u871C\u8702\u5C11\u5973\u961F MV\u5408\u96C6"},{n:"\u4E03\u6735\u7EC4\u5408 MV\u5408\u96C6",v:"\u4E03\u6735\u7EC4\u5408 MV\u5408\u96C6"},{n:"GNZ48 MV\u5408\u96C6",v:"GNZ48 MV\u5408\u96C6"}]},{key:"tidh",name:"\u5206\u7C7B",value:[{n:"\u97E9\u56FD\u5973\u56E2",v:"\u97E9\u56FD\u5973\u56E2"},{n:"\u97E9\u56FD\u5973\u56E2\u5408\u96C6",v:"\u97E9\u56FD\u5973\u56E2\u5408\u96C6"},{n:"TWICE MV\u5408\u96C6",v:"TWICE MV\u5408\u96C6"},{n:"4MINUTE MV\u5408\u96C6",v:"4MINUTE MV\u5408\u96C6"},{n:"EXID MV\u5408\u96C6",v:"EXID MV\u5408\u96C6"},{n:"KARA MV\u5408\u96C6",v:"KARA MV\u5408\u96C6"},{n:"TARA MV\u5408\u96C6",v:"TARA MV\u5408\u96C6"},{n:"BLACKPINK MV\u5408\u96C6",v:"BLACKPINK MV\u5408\u96C6"},{n:"LOONA MV\u5408\u96C6",v:"LOONA MV\u5408\u96C6"},{n:"ITZY MV\u5408\u96C6",v:"ITZY MV\u5408\u96C6"},{n:"RedVelvet MV\u5408\u96C6",v:"RedVelvet MV\u5408\u96C6"},{n:"Everglow MV\u5408\u96C6",v:"Everglow MV\u5408\u96C6"},{n:"Mamamoo MV\u5408\u96C6",v:"Mamamoo MV\u5408\u96C6"},{n:"\u5C11\u5973\u65F6\u4EE3 MV\u5408\u96C6",v:"\u5C11\u5973\u65F6\u4EE3 MV\u5408\u96C6"},{n:"S.E.S MV\u5408\u96C6",v:"S.E.S MV\u5408\u96C6"},{n:"FIN.K.L MV\u5408\u96C6",v:"FIN.K.L MV\u5408\u96C6"},{n:"2NE1 MV\u5408\u96C6",v:"2NE1 MV\u5408\u96C6"},{n:"WonderGirls MV\u5408\u96C6",v:"WonderGirls MV\u5408\u96C6"},{n:"IZ*ONE MV\u5408\u96C6",v:"IZ*ONE MV\u5408\u96C6"},{n:"Sistar MV\u5408\u96C6",v:"Sistar MV\u5408\u96C6"},{n:"Apink MV\u5408\u96C6",v:"Apink MV\u5408\u96C6"},{n:"AOA MV\u5408\u96C6",v:"AOA MV\u5408\u96C6"},{n:"GFRIEND MV\u5408\u96C6",v:"GFRIEND MV\u5408\u96C6"},{n:"f(x) MV\u5408\u96C6",v:"f(x) MV\u5408\u96C6"},{n:"(G)I-DLE MV\u5408\u96C6",v:"(G)I-DLE MV\u5408\u96C6"},{n:"Itzy MV\u5408\u96C6",v:"Itzy MV\u5408\u96C6"},{n:"Oh!GG MV\u5408\u96C6",v:"Oh!GG MV\u5408\u96C6"},{n:"GirlCrush MV\u5408\u96C6",v:"GirlCrush MV\u5408\u96C6"}]},{key:"tidr",name:"\u5206\u7C7B",value:[{n:"\u65E5\u672C\u5973\u56E2",v:"\u65E5\u672C\u5973\u56E2"},{n:"\u65E5\u672C\u5973\u56E2\u5408\u96C6",v:"\u65E5\u672C\u5973\u56E2\u5408\u96C6"},{n:"AKB48 MV\u5408\u96C6",v:"AKB48 MV\u5408\u96C6"},{n:"SKE48 MV\u5408\u96C6",v:"SKE48 MV\u5408\u96C6"},{n:"NMB48 MV\u5408\u96C6",v:"NMB48 MV\u5408\u96C6"},{n:"JKT48 MV\u5408\u96C6",v:"JKT48 MV\u5408\u96C6"},{n:"HKT48 MV\u5408\u96C6",v:"HKT48 MV\u5408\u96C6"},{n:"AKB48TeamTP MV\u5408\u96C6",v:"AKB48TeamTP MV\u5408\u96C6"},{n:"Perfume MV\u5408\u96C6",v:"Perfume MV\u5408\u96C6"},{n:"\u6843\u8272\u5E78\u8FD0\u8349Z MV\u5408\u96C6",v:"\u6843\u8272\u5E78\u8FD0\u8349Z MV\u5408\u96C6"},{n:"\u4E43\u6728\u574246\u4E43 MV\u5408\u96C6",v:"\u4E43\u6728\u574246\u4E43 MV\u5408\u96C6"},{n:"\u6A31\u574246 MV\u5408\u96C6",v:"\u6A31\u574246 MV\u5408\u96C6"},{n:"\u65E5\u5411\u574246 MV\u5408\u96C6",v:"\u65E5\u5411\u574246 MV\u5408\u96C6"},{n:"E-girls MV\u5408\u96C6",v:"E-girls MV\u5408\u96C6"},{n:"NiziU MV\u5408\u96C6",v:"NiziU MV\u5408\u96C6"},{n:"BiSH MV\u5408\u96C6",v:"BiSH MV\u5408\u96C6"},{n:"\u65E9\u5B89\u5C11\u5973\u7EC4 MV\u5408\u96C6",v:"\u65E9\u5B89\u5C11\u5973\u7EC4 MV\u5408\u96C6"}]},{key:"tidn",name:"\u5206\u7C7B",value:[{n:"4K\u5973\u56E2",v:"4K\u5973\u56E2"}]},{key:"tidg",name:"\u5206\u7C7B",value:[{n:"4K\u4E2D\u56FD\u5973\u56E2",v:"4K\u4E2D\u56FD\u5973\u56E2"},{n:"4K\u4E2D\u56FD\u5973\u56E2\u5408\u96C6",v:"4K\u4E2D\u56FD\u5973\u56E2\u5408\u96C6"},{n:"4K SNH48 MV\u5408\u96C6",v:"4K SNH48 MV\u5408\u96C6"},{n:"4K S.H.E MV\u5408\u96C6",v:"4K S.H.E MV\u5408\u96C6"},{n:"4K Twins MV\u5408\u96C6",v:"4K Twins MV\u5408\u96C6"},{n:"4K\u706B\u7BAD\u5C11\u5973101 MV\u5408\u96C6",v:"4K\u706B\u7BAD\u5C11\u5973101 MV\u5408\u96C6"},{n:"4K BY2 MV\u5408\u96C6",v:"4K BY2 MV\u5408\u96C6"},{n:"4K S.I.N.G MV\u5408\u96C6",v:"4K S.I.N.G MV\u5408\u96C6"},{n:"4K 3unshine MV\u5408\u96C6",v:"4K 3unshine MV\u5408\u96C6"},{n:"4K\u871C\u8702\u5C11\u5973\u961F MV\u5408\u96C6",v:"4K\u871C\u8702\u5C11\u5973\u961F MV\u5408\u96C6"},{n:"4K\u4E03\u6735\u7EC4\u5408 MV\u5408\u96C6",v:"4K\u4E03\u6735\u7EC4\u5408 MV\u5408\u96C6"},{n:"4K GNZ48 MV\u5408\u96C6",v:"4K GNZ48 MV\u5408\u96C6"}]},{key:"tidk",name:"\u5206\u7C7B",value:[{n:"4K\u97E9\u56FD\u5973\u56E2",v:"4K\u97E9\u56FD\u5973\u56E2"},{n:"4K\u97E9\u56FD\u5973\u56E2\u5408\u96C6",v:"4K\u97E9\u56FD\u5973\u56E2\u5408\u96C6"},{n:"4K TWICE MV\u5408\u96C6",v:"4K TWICE MV\u5408\u96C6"},{n:"4K 4MINUTE MV\u5408\u96C6",v:"4K 4MINUTE MV\u5408\u96C6"},{n:"4K EXID MV\u5408\u96C6",v:"4K EXID MV\u5408\u96C6"},{n:"4K KARA MV\u5408\u96C6",v:"4K KARA MV\u5408\u96C6"},{n:"4K TARA MV\u5408\u96C6",v:"4K TARA MV\u5408\u96C6"},{n:"4K BLACKPINK MV\u5408\u96C6",v:"4K BLACKPINK MV\u5408\u96C6"},{n:"4K LOONA MV\u5408\u96C6",v:"4K LOONA MV\u5408\u96C6"},{n:"4K ITZY MV\u5408\u96C6",v:"4K ITZY MV\u5408\u96C6"},{n:"4K RedVelvet MV\u5408\u96C6",v:"4K RedVelvet MV\u5408\u96C6"},{n:"4K Everglow MV\u5408\u96C6",v:"4K Everglow MV\u5408\u96C6"},{n:"4K Mamamoo MV\u5408\u96C6",v:"4K Mamamoo MV\u5408\u96C6"},{n:"4K\u5C11\u5973\u65F6\u4EE3 MV\u5408\u96C6",v:"4K\u5C11\u5973\u65F6\u4EE3 MV\u5408\u96C6"},{n:"4K S.E.S MV\u5408\u96C6",v:"4K S.E.S MV\u5408\u96C6"},{n:"4K FIN.K.L MV\u5408\u96C6",v:"4K FIN.K.L MV\u5408\u96C6"},{n:"4K 2NE1 MV\u5408\u96C6",v:"4K 2NE1 MV\u5408\u96C6"},{n:"4K WonderGirls MV\u5408\u96C6",v:"4K WonderGirls MV\u5408\u96C6"},{n:"4K IZ*ONE MV\u5408\u96C6",v:"4K IZ*ONE MV\u5408\u96C6"},{n:"4K Sistar MV\u5408\u96C6",v:"4K Sistar MV\u5408\u96C6"},{n:"4K Apink MV\u5408\u96C6",v:"4K Apink MV\u5408\u96C6"},{n:"4K AOA MV\u5408\u96C6",v:"4K AOA MV\u5408\u96C6"},{n:"4K GFRIEND MV\u5408\u96C6",v:"4K GFRIEND MV\u5408\u96C6"},{n:"4K f(x) MV\u5408\u96C6",v:"4K f(x) MV\u5408\u96C6"},{n:"4K (G)I-DLE MV\u5408\u96C6",v:"4K (G)I-DLE MV\u5408\u96C6"},{n:"4K Itzy MV\u5408\u96C6",v:"4K Itzy MV\u5408\u96C6"},{n:"4K Oh!GG MV\u5408\u96C6",v:"4K Oh!GG MV\u5408\u96C6"},{n:"4K GirlCrush MV\u5408\u96C6",v:"4K GirlCrush MV\u5408\u96C6"}]},{key:"tida",name:"\u5206\u7C7B",value:[{n:"4K\u65E5\u672C\u5973\u56E2",v:"4K\u65E5\u672C\u5973\u56E2"},{n:"4K\u65E5\u672C\u5973\u56E2\u5408\u96C6",v:"4K\u65E5\u672C\u5973\u56E2\u5408\u96C6"},{n:"4K AKB48 MV\u5408\u96C6",v:"4K AKB48 MV\u5408\u96C6"},{n:"4K SKE48 MV\u5408\u96C6",v:"4K SKE48 MV\u5408\u96C6"},{n:"4K NMB48 MV\u5408\u96C6",v:"4K NMB48 MV\u5408\u96C6"},{n:"4K JKT48 MV\u5408\u96C6",v:"4K JKT48 MV\u5408\u96C6"},{n:"4K HKT48 MV\u5408\u96C6",v:"4K HKT48 MV\u5408\u96C6"},{n:"4K AKB48 TeamTP MV\u5408\u96C6",v:"4K AKB48 TeamTP MV\u5408\u96C6"},{n:"4K Perfume MV\u5408\u96C6",v:"4K Perfume MV\u5408\u96C6"},{n:"4K\u6843\u8272\u5E78\u8FD0\u8349Z MV\u5408\u96C6",v:"4K\u6843\u8272\u5E78\u8FD0\u8349Z MV\u5408\u96C6"},{n:"4K\u4E43\u6728\u574246\u4E43 MV\u5408\u96C6",v:"4K\u4E43\u6728\u574246\u4E43 MV\u5408\u96C6"},{n:"4K\u6A31\u574246 MV\u5408\u96C6",v:"4K\u6A31\u574246 MV\u5408\u96C6"},{n:"4K\u65E5\u5411\u574246 MV\u5408\u96C6",v:"4K\u65E5\u5411\u574246 MV\u5408\u96C6"},{n:"4K E-girls MV\u5408\u96C6",v:"4K E-girls MV\u5408\u96C6"},{n:"4K NiziU MV\u5408\u96C6",v:"4K NiziU MV\u5408\u96C6"},{n:"4K BiSH MV\u5408\u96C6",v:"4K BiSH MV\u5408\u96C6"},{n:"4K\u65E9\u5B89\u5C11\u5973\u7EC4 MV\u5408\u96C6",v:"4K\u65E9\u5B89\u5C11\u5973\u7EC4 MV\u5408\u96C6"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u5F71\u89C6MV:[{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u76F8\u58F0\u5C0F\u54C1:[{key:"tida",name:"\u5206\u7C7B",value:[{n:"\u76F8\u58F0\u5C0F\u54C1",v:"\u76F8\u58F0\u5C0F\u54C1"},{n:"\u5355\u53E3\u76F8\u58F0",v:"\u5355\u53E3\u76F8\u58F0"},{n:"\u7FA4\u53E3\u76F8\u58F0",v:"\u7FA4\u53E3\u76F8\u58F0"},{n:"\u5FB7\u4E91\u793E",v:"\u5FB7\u4E91\u793E"},{n:"\u9752\u66F2\u793E",v:"\u9752\u66F2\u793E"},{n:"\u90ED\u5FB7\u7EB2",v:"\u90ED\u5FB7\u7EB2"},{n:"\u5CB3\u4E91\u9E4F",v:"\u5CB3\u4E91\u9E4F"},{n:"\u66F9\u4E91\u91D1",v:"\u66F9\u4E91\u91D1"},{n:"\u8BC4\u4E66",v:"\u8BC4\u4E66"},{n:"\u5C0F\u66F2",v:"\u5C0F\u66F2"},{n:"\u4E8C\u4EBA\u8F6C",v:"\u4E8C\u4EBA\u8F6C"},{n:"\u6625\u665A\u5C0F\u54C1",v:"\u6625\u665A\u5C0F\u54C1"},{n:"\u8D75\u672C\u5C71",v:"\u8D75\u672C\u5C71"},{n:"\u9648\u4F69\u65AF",v:"\u9648\u4F69\u65AF"},{n:"\u51AF\u5DE9",v:"\u51AF\u5DE9"},{n:"\u5B8B\u5C0F\u5B9D",v:"\u5B8B\u5C0F\u5B9D"},{n:"\u8D75\u4E3D\u84C9",v:"\u8D75\u4E3D\u84C9"},{n:"\u90ED\u8FBE",v:"\u90ED\u8FBE"},{n:"\u6F58\u957F\u6C5F",v:"\u6F58\u957F\u6C5F"},{n:"\u90ED\u51AC\u4E34",v:"\u90ED\u51AC\u4E34"},{n:"\u4E25\u987A\u5F00",v:"\u4E25\u987A\u5F00"},{n:"\u6587\u677E",v:"\u6587\u677E"},{n:"\u5F00\u5FC3\u9EBB\u82B1",v:"\u5F00\u5FC3\u9EBB\u82B1"},{n:"\u5C4C\u4E1D\u7537\u58EB",v:"\u5C4C\u4E1D\u7537\u58EB"},{n:"\u559C\u5267\u7EFC\u827A",v:"\u559C\u5267\u7EFC\u827A"}]},{key:"tidb",name:"\u5206\u7C7B",value:[{n:"4K\u76F8\u58F0\u5C0F\u54C1",v:"4K\u76F8\u58F0\u5C0F\u54C1"},{n:"4K\u5355\u53E3\u76F8\u58F0",v:"4K\u5355\u53E3\u76F8\u58F0"},{n:"4K\u7FA4\u53E3\u76F8\u58F0",v:"4K\u7FA4\u53E3\u76F8\u58F0"},{n:"4K\u5FB7\u4E91\u793E",v:"4K\u5FB7\u4E91\u793E"},{n:"4K\u9752\u66F2\u793E",v:"4K\u9752\u66F2\u793E"},{n:"4K\u90ED\u5FB7\u7EB2",v:"4K\u90ED\u5FB7\u7EB2"},{n:"4K\u5CB3\u4E91\u9E4F",v:"4K\u5CB3\u4E91\u9E4F"},{n:"4K\u66F9\u4E91\u91D1",v:"4K\u66F9\u4E91\u91D1"},{n:"4K\u8BC4\u4E66",v:"4K\u8BC4\u4E66"},{n:"4K\u5C0F\u66F2",v:"4K\u5C0F\u66F2"},{n:"4K\u4E8C\u4EBA\u8F6C",v:"4K\u4E8C\u4EBA\u8F6C"},{n:"4K\u6625\u665A\u5C0F\u54C1",v:"4K\u6625\u665A\u5C0F\u54C1"},{n:"4K\u8D75\u672C\u5C71",v:"4K\u8D75\u672C\u5C71"},{n:"4K\u9648\u4F69\u65AF",v:"4K\u9648\u4F69\u65AF"},{n:"4K\u51AF\u5DE9",v:"4K\u51AF\u5DE9"},{n:"4K\u5B8B\u5C0F\u5B9D",v:"4K\u5B8B\u5C0F\u5B9D"},{n:"4K\u8D75\u4E3D\u84C9",v:"4K\u8D75\u4E3D\u84C9"},{n:"4K\u90ED\u8FBE",v:"4K\u90ED\u8FBE"},{n:"4K\u6F58\u957F\u6C5F",v:"4K\u6F58\u957F\u6C5F"},{n:"4K\u90ED\u51AC\u4E34",v:"4K\u90ED\u51AC\u4E34"},{n:"4K\u4E25\u987A\u5F00",v:"4K\u4E25\u987A\u5F00"},{n:"4K\u6587\u677E",v:"4K\u6587\u677E"},{n:"4K\u5F00\u5FC3\u9EBB\u82B1",v:"4K\u5F00\u5FC3\u9EBB\u82B1"},{n:"4K\u5C4C\u4E1D\u7537\u58EB",v:"4K\u5C4C\u4E1D\u7537\u58EB"},{n:"4K\u559C\u5267\u7EFC\u827A",v:"4K\u559C\u5267\u7EFC\u827A"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u513F\u7AE5\u5C11\u513F:[{key:"tida",name:"\u5206\u7C7B",value:[{n:"\u513F\u7AE5",v:"\u513F\u7AE5"},{n:"\u513F\u7AE5\u6559\u80B2",v:"\u513F\u7AE5\u6559\u80B2"},{n:"\u513F\u7AE5\u6B4C\u66F2",v:"\u513F\u7AE5\u6B4C\u66F2"},{n:"\u513F\u7AE5\u821E\u8E48",v:"\u513F\u7AE5\u821E\u8E48"},{n:"\u513F\u7AE5\u6210\u8BED\u6545\u4E8B",v:"\u513F\u7AE5\u6210\u8BED\u6545\u4E8B"},{n:"\u513F\u7AE5\u97F3\u4E50",v:"\u513F\u7AE5\u97F3\u4E50"},{n:"\u513F\u7AE5 MV",v:"\u513F\u7AE5 MV"},{n:"\u8D1D\u4E50\u864E",v:"\u8D1D\u4E50\u864E"},{n:"\u5B9D\u5B9D\u5DF4\u58EB",v:"\u5B9D\u5B9D\u5DF4\u58EB"},{n:"\u513F\u6B4C\u591A\u591A",v:"\u513F\u6B4C\u591A\u591A"},{n:"\u8D85\u7EA7\u5B9D\u8D1DJOJO",v:"\u8D85\u7EA7\u5B9D\u8D1DJOJO"},{n:"\u513F\u7AE5\u597D\u58F0\u97F3",v:"\u513F\u7AE5\u597D\u58F0\u97F3"},{n:"3-6\u5C81\u76CA\u667A\u52A8\u753B",v:"3-6\u5C81\u76CA\u667A\u52A8\u753B"},{n:"6-8\u5C81\u5C11\u513F\u9891\u9053",v:"6-8\u5C81\u5C11\u513F\u9891\u9053"},{n:"\u5B66\u800C\u601D\u8BFE\u7A0B",v:"\u5B66\u800C\u601D\u8BFE\u7A0B"}]},{key:"tidb",name:"\u5206\u7C7B",value:[{n:"4K\u513F\u7AE5",v:"4K\u513F\u7AE5"},{n:"4K\u513F\u7AE5\u6559\u80B2",v:"4K\u513F\u7AE5\u6559\u80B2"},{n:"4K\u513F\u7AE5\u6B4C\u66F2",v:"4K\u513F\u7AE5\u6B4C\u66F2"},{n:"4K\u513F\u7AE5\u821E\u8E48",v:"4K\u513F\u7AE5\u821E\u8E48"},{n:"4K\u513F\u7AE5\u6210\u8BED\u6545\u4E8B",v:"4K\u513F\u7AE5\u6210\u8BED\u6545\u4E8B"},{n:"4K\u513F\u7AE5\u97F3\u4E50",v:"4K\u513F\u7AE5\u97F3\u4E50"},{n:"4K\u513F\u7AE5 MV",v:"4K\u513F\u7AE5 MV"},{n:"4K\u8D1D\u4E50\u864E",v:"4K\u8D1D\u4E50\u864E"},{n:"4K\u5B9D\u5B9D\u5DF4\u58EB",v:"4K\u5B9D\u5B9D\u5DF4\u58EB"},{n:"4K\u513F\u6B4C\u591A\u591A",v:"4K\u513F\u6B4C\u591A\u591A"},{n:"4K\u8D85\u7EA7\u5B9D\u8D1DJOJO",v:"4K\u8D85\u7EA7\u5B9D\u8D1DJOJO"},{n:"4K\u513F\u7AE5\u597D\u58F0\u97F3",v:"4K\u513F\u7AE5\u597D\u58F0\u97F3"},{n:"4K 3-6\u5C81\u76CA\u667A\u52A8\u753B",v:"4K 3-6\u5C81\u76CA\u667A\u52A8\u753B"},{n:"4K 6-8\u5C81\u5C11\u513F\u9891\u9053",v:"4K 6-8\u5C81\u5C11\u513F\u9891\u9053"},{n:"4K\u5B66\u800C\u601D\u8BFE\u7A0B",v:"4K\u5B66\u800C\u601D\u8BFE\u7A0B"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u52A8\u7269\u4E16\u754C:[{key:"tid",name:"\u5206\u7C7B",value:[{n:"\u52A8\u7269\u4E16\u754C",v:"\u52A8\u7269\u4E16\u754C"},{n:"4K\u52A8\u7269\u4E16\u754C",v:"4K\u52A8\u7269\u4E16\u754C"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u6F14\u5531\u4F1A:[{key:"tida",name:"\u5206\u7C7B",value:[{n:"\u6F14\u5531\u4F1A",v:"\u6F14\u5531\u4F1A"},{n:"\u5468\u6770\u4F26\u6F14\u5531\u4F1A",v:"\u5468\u6770\u4F26\u6F14\u5531\u4F1A"},{n:"\u9648\u5955\u8FC5\u6F14\u5531\u4F1A",v:"\u9648\u5955\u8FC5\u6F14\u5531\u4F1A"},{n:"Beyond\u6F14\u5531\u4F1A",v:"Beyond\u6F14\u5531\u4F1A"},{n:"\u5218\u5FB7\u534E\u6F14\u5531\u4F1A",v:"\u5218\u5FB7\u534E\u6F14\u5531\u4F1A"},{n:"\u90ED\u5BCC\u57CE\u6F14\u5531\u4F1A",v:"\u90ED\u5BCC\u57CE\u6F14\u5531\u4F1A"},{n:"\u5F20\u5B66\u53CB\u6F14\u5531\u4F1A",v:"\u5F20\u5B66\u53CB\u6F14\u5531\u4F1A"},{n:"\u9ECE\u660E\u6F14\u5531\u4F1A",v:"\u9ECE\u660E\u6F14\u5531\u4F1A"},{n:"\u674E\u5B97\u76DB\u6F14\u5531\u4F1A",v:"\u674E\u5B97\u76DB\u6F14\u5531\u4F1A"},{n:"\u9093\u4E3D\u541B\u6F14\u5531\u4F1A",v:"\u9093\u4E3D\u541B\u6F14\u5531\u4F1A"},{n:"\u6734\u6811\u6F14\u5531\u4F1A",v:"\u6734\u6811\u6F14\u5531\u4F1A"},{n:"\u6797\u5B50\u7965\u6F14\u5531\u4F1A",v:"\u6797\u5B50\u7965\u6F14\u5531\u4F1A"},{n:"\u4EFB\u8D24\u9F50\u6F14\u5531\u4F1A",v:"\u4EFB\u8D24\u9F50\u6F14\u5531\u4F1A"},{n:"\u5F20\u4FE1\u54F2\u6F14\u5531\u4F1A",v:"\u5F20\u4FE1\u54F2\u6F14\u5531\u4F1A"},{n:"\u5B59\u6960\u6F14\u5531\u4F1A",v:"\u5B59\u6960\u6F14\u5531\u4F1A"},{n:"\u5F20\u5B87\u6F14\u5531\u4F1A",v:"\u5F20\u5B87\u6F14\u5531\u4F1A"},{n:"\u5468\u534E\u5065\u6F14\u5531\u4F1A",v:"\u5468\u534E\u5065\u6F14\u5531\u4F1A"},{n:"\u8521\u4F9D\u6797\u6F14\u5531\u4F1A",v:"\u8521\u4F9D\u6797\u6F14\u5531\u4F1A"},{n:"\u859B\u4E4B\u8C26\u6F14\u5531\u4F1A",v:"\u859B\u4E4B\u8C26\u6F14\u5531\u4F1A"},{n:"\u6D1B\u5929\u4F9D\u6F14\u5531\u4F1A",v:"\u6D1B\u5929\u4F9D\u6F14\u5531\u4F1A"},{n:"\u521D\u97F3\u672A\u6765\u6F14\u5531\u4F1A",v:"\u521D\u97F3\u672A\u6765\u6F14\u5531\u4F1A"},{n:"\u8BB8\u5D69\u6F14\u5531\u4F1A",v:"\u8BB8\u5D69\u6F14\u5531\u4F1A"},{n:"\u6234\u4F69\u59AE\u6F14\u5531\u4F1A",v:"\u6234\u4F69\u59AE\u6F14\u5531\u4F1A"},{n:"\u9093\u7D2B\u68CB\u6F14\u5531\u4F1A",v:"\u9093\u7D2B\u68CB\u6F14\u5531\u4F1A"},{n:"\u5F20\u97F6\u6DB5\u6F14\u5531\u4F1A",v:"\u5F20\u97F6\u6DB5\u6F14\u5531\u4F1A"},{n:"\u8521\u5065\u96C5\u6F14\u5531\u4F1A",v:"\u8521\u5065\u96C5\u6F14\u5531\u4F1A"},{n:"\u83AB\u6587\u851A\u6F14\u5531\u4F1A",v:"\u83AB\u6587\u851A\u6F14\u5531\u4F1A"},{n:"\u5218\u82E5\u82F1\u6F14\u5531\u4F1A",v:"\u5218\u82E5\u82F1\u6F14\u5531\u4F1A"},{n:"\u5468\u6DF1\u6F14\u5531\u4F1A",v:"\u5468\u6DF1\u6F14\u5531\u4F1A"},{n:"\u6BDB\u4E0D\u6613\u6F14\u5531\u4F1A",v:"\u6BDB\u4E0D\u6613\u6F14\u5531\u4F1A"},{n:"\u6C6A\u82CF\u6CF7\u6F14\u5531\u4F1A",v:"\u6C6A\u82CF\u6CF7\u6F14\u5531\u4F1A"},{n:"\u674E\u5B87\u6625\u6F14\u5531\u4F1A",v:"\u674E\u5B87\u6625\u6F14\u5531\u4F1A"},{n:"\u5F90\u4F73\u83B9\u6F14\u5531\u4F1A",v:"\u5F90\u4F73\u83B9\u6F14\u5531\u4F1A"},{n:"\u6768\u5B97\u7EAC\u6F14\u5531\u4F1A",v:"\u6768\u5B97\u7EAC\u6F14\u5531\u4F1A"},{n:"\u80E1\u5F66\u658C\u6F14\u5531\u4F1A",v:"\u80E1\u5F66\u658C\u6F14\u5531\u4F1A"},{n:"\u6768\u5343\u5B05\u6F14\u5531\u4F1A",v:"\u6768\u5343\u5B05\u6F14\u5531\u4F1A"},{n:"\u5F20\u9753\u9896\u6F14\u5531\u4F1A",v:"\u5F20\u9753\u9896\u6F14\u5531\u4F1A"},{n:"\u674E\u8363\u6D69\u6F14\u5531\u4F1A",v:"\u674E\u8363\u6D69\u6F14\u5531\u4F1A"},{n:"\u6768\u4E1E\u7433\u6F14\u5531\u4F1A",v:"\u6768\u4E1E\u7433\u6F14\u5531\u4F1A"},{n:"\u6797\u5FD7\u70AB\u6F14\u5531\u4F1A",v:"\u6797\u5FD7\u70AB\u6F14\u5531\u4F1A"},{n:"\u9676\u5586\u6F14\u5531\u4F1A",v:"\u9676\u5586\u6F14\u5531\u4F1A"},{n:"\u80E1\u590F\u6F14\u5531\u4F1A",v:"\u80E1\u590F\u6F14\u5531\u4F1A"},{n:"\u674E\u7389\u521A\u6F14\u5531\u4F1A",v:"\u674E\u7389\u521A\u6F14\u5531\u4F1A"},{n:"\u5F26\u5B50\u6F14\u5531\u4F1A",v:"\u5F26\u5B50\u6F14\u5531\u4F1A"},{n:"\u9648\u5C0F\u6625\u6F14\u5531\u4F1A",v:"\u9648\u5C0F\u6625\u6F14\u5531\u4F1A"},{n:"\u8427\u4E9A\u8F69\u6F14\u5531\u4F1A",v:"\u8427\u4E9A\u8F69\u6F14\u5531\u4F1A"},{n:"\u9E7F\u6657\u6F14\u5531\u4F1A",v:"\u9E7F\u6657\u6F14\u5531\u4F1A"},{n:"\u7EB5\u8D2F\u7EBF\u6F14\u5531\u4F1A",v:"\u7EB5\u8D2F\u7EBF\u6F14\u5531\u4F1A"},{n:"\u8BB8\u5DCD\u6F14\u5531\u4F1A",v:"\u8BB8\u5DCD\u6F14\u5531\u4F1A"},{n:"\u6797\u4FCA\u6770\u6F14\u5531\u4F1A",v:"\u6797\u4FCA\u6770\u6F14\u5531\u4F1A"},{n:"\u8D75\u96F7\u6F14\u5531\u4F1A",v:"\u8D75\u96F7\u6F14\u5531\u4F1A"},{n:"\u8C2D\u548F\u9E9F\u6F14\u5531\u4F1A",v:"\u8C2D\u548F\u9E9F\u6F14\u5531\u4F1A"},{n:"\u51E4\u51F0\u4F20\u5947\u6F14\u5531\u4F1A",v:"\u51E4\u51F0\u4F20\u5947\u6F14\u5531\u4F1A"},{n:"\u5BB9\u7956\u513F\u6F14\u5531\u4F1A",v:"\u5BB9\u7956\u513F\u6F14\u5531\u4F1A"},{n:"\u5468\u4F20\u96C4\u6F14\u5531\u4F1A",v:"\u5468\u4F20\u96C4\u6F14\u5531\u4F1A"},{n:"SHE\u6F14\u5531\u4F1A",v:"SHE\u6F14\u5531\u4F1A"},{n:"\u82CF\u6253\u7EFF\u6F14\u5531\u4F1A",v:"\u82CF\u6253\u7EFF\u6F14\u5531\u4F1A"},{n:"\u4E94\u6708\u5929\u6F14\u5531\u4F1A",v:"\u4E94\u6708\u5929\u6F14\u5531\u4F1A"},{n:"\u5F20\u56FD\u8363\u6F14\u5531\u4F1A",v:"\u5F20\u56FD\u8363\u6F14\u5531\u4F1A"},{n:"\u6885\u8273\u82B3\u6F14\u5531\u4F1A",v:"\u6885\u8273\u82B3\u6F14\u5531\u4F1A"},{n:"\u5B59\u71D5\u59FF\u6F14\u5531\u4F1A",v:"\u5B59\u71D5\u59FF\u6F14\u5531\u4F1A"},{n:"\u674E\u5065\u6F14\u5531\u4F1A",v:"\u674E\u5065\u6F14\u5531\u4F1A"},{n:"\u534E\u6668\u5B87\u6F14\u5531\u4F1A",v:"\u534E\u6668\u5B87\u6F14\u5531\u4F1A"},{n:"\u8881\u5A05\u7EF4\u6F14\u5531\u4F1A",v:"\u8881\u5A05\u7EF4\u6F14\u5531\u4F1A"},{n:"\u5927\u5F20\u4F1F\u6F14\u5531\u4F1A",v:"\u5927\u5F20\u4F1F\u6F14\u5531\u4F1A"},{n:"TFBOYS\u6F14\u5531\u4F1A",v:"TFBOYS\u6F14\u5531\u4F1A"},{n:"\u738B\u4FCA\u51EF\u6F14\u5531\u4F1A",v:"\u738B\u4FCA\u51EF\u6F14\u5531\u4F1A"},{n:"\u6613\u70CA\u5343\u73BA\u6F14\u5531\u4F1A",v:"\u6613\u70CA\u5343\u73BA\u6F14\u5531\u4F1A"},{n:"\u738B\u6E90\u6F14\u5531\u4F1A",v:"\u738B\u6E90\u6F14\u5531\u4F1A"},{n:"\u7530\u99A5\u7504\u6F14\u5531\u4F1A",v:"\u7530\u99A5\u7504\u6F14\u5531\u4F1A"},{n:"\u5C0F\u864E\u961F\u6F14\u5531\u4F1A",v:"\u5C0F\u864E\u961F\u6F14\u5531\u4F1A"},{n:"\u5F20\u6770\u6F14\u5531\u4F1A",v:"\u5F20\u6770\u6F14\u5531\u4F1A"},{n:"\u738B\u83F2\u6F14\u5531\u4F1A",v:"\u738B\u83F2\u6F14\u5531\u4F1A"},{n:"\u4F0D\u4F70\u6F14\u5531\u4F1A",v:"\u4F0D\u4F70\u6F14\u5531\u4F1A"},{n:"\u5200\u90CE\u6F14\u5531\u4F1A",v:"\u5200\u90CE\u6F14\u5531\u4F1A"},{n:"\u8349\u8722\u6F14\u5531\u4F1A",v:"\u8349\u8722\u6F14\u5531\u4F1A"},{n:"\u6F58\u73AE\u67CF\u6F14\u5531\u4F1A",v:"\u6F58\u73AE\u67CF\u6F14\u5531\u4F1A"},{n:"\u6881\u9759\u8339\u6F14\u5531\u4F1A",v:"\u6881\u9759\u8339\u6F14\u5531\u4F1A"},{n:"\u6797\u5BA5\u5609\u6F14\u5531\u4F1A",v:"\u6797\u5BA5\u5609\u6F14\u5531\u4F1A"},{n:"\u8521\u5F90\u5764\u6F14\u5531\u4F1A",v:"\u8521\u5F90\u5764\u6F14\u5531\u4F1A"},{n:"\u5468\u6167\u654F\u6F14\u5531\u4F1A",v:"\u5468\u6167\u654F\u6F14\u5531\u4F1A"},{n:"\u674E\u5723\u6770\u6F14\u5531\u4F1A",v:"\u674E\u5723\u6770\u6F14\u5531\u4F1A"},{n:"\u5F20\u60E0\u59B9\u6F14\u5531\u4F1A",v:"\u5F20\u60E0\u59B9\u6F14\u5531\u4F1A"},{n:"\u8427\u656C\u817E\u6F14\u5531\u4F1A",v:"\u8427\u656C\u817E\u6F14\u5531\u4F1A"},{n:"\u5468\u7B14\u7545\u6F14\u5531\u4F1A",v:"\u5468\u7B14\u7545\u6F14\u5531\u4F1A"},{n:"\u7126\u8FC8\u5947\u6F14\u5531\u4F1A",v:"\u7126\u8FC8\u5947\u6F14\u5531\u4F1A"},{n:"\u5C24\u957F\u9756\u6F14\u5531\u4F1A",v:"\u5C24\u957F\u9756\u6F14\u5531\u4F1A"},{n:"\u90D1\u4E2D\u57FA\u6F14\u5531\u4F1A",v:"\u90D1\u4E2D\u57FA\u6F14\u5531\u4F1A"},{n:"\u8C2D\u7EF4\u7EF4\u6F14\u5531\u4F1A",v:"\u8C2D\u7EF4\u7EF4\u6F14\u5531\u4F1A"},{n:"\u9648\u6167\u5A34\u6F14\u5531\u4F1A",v:"\u9648\u6167\u5A34\u6F14\u5531\u4F1A"},{n:"\u5F20\u827A\u5174\u6F14\u5531\u4F1A",v:"\u5F20\u827A\u5174\u6F14\u5531\u4F1A"},{n:"\u738B\u5609\u5C14\u6F14\u5531\u4F1A",v:"\u738B\u5609\u5C14\u6F14\u5531\u4F1A"},{n:"\u5218\u5BAA\u534E\u6F14\u5531\u4F1A",v:"\u5218\u5BAA\u534E\u6F14\u5531\u4F1A"},{n:"\u5F20\u656C\u8F69\u6F14\u5531\u4F1A",v:"\u5F20\u656C\u8F69\u6F14\u5531\u4F1A"},{n:"\u674E\u514B\u52E4\u6F14\u5531\u4F1A",v:"\u674E\u514B\u52E4\u6F14\u5531\u4F1A"},{n:"\u963F\u675C\u6F14\u5531\u4F1A",v:"\u963F\u675C\u6F14\u5531\u4F1A"},{n:"\u90ED\u9759\u6F14\u5531\u4F1A",v:"\u90ED\u9759\u6F14\u5531\u4F1A"},{n:"\u5D14\u5065\u6F14\u5531\u4F1A",v:"\u5D14\u5065\u6F14\u5531\u4F1A"},{n:"\u5EBE\u6F84\u5E86\u6F14\u5531\u4F1A",v:"\u5EBE\u6F84\u5E86\u6F14\u5531\u4F1A"},{n:"\u6C6A\u5CF0\u6F14\u5531\u4F1A",v:"\u6C6A\u5CF0\u6F14\u5531\u4F1A"},{n:"\u90A3\u82F1\u6F14\u5531\u4F1A",v:"\u90A3\u82F1\u6F14\u5531\u4F1A"},{n:"\u6768\u5764\u6F14\u5531\u4F1A",v:"\u6768\u5764\u6F14\u5531\u4F1A"},{n:"\u53F6\u5029\u6587\u6F14\u5531\u4F1A",v:"\u53F6\u5029\u6587\u6F14\u5531\u4F1A"},{n:"\u738B\u5FC3\u51CC\u6F14\u5531\u4F1A",v:"\u738B\u5FC3\u51CC\u6F14\u5531\u4F1A"},{n:"\u5F20\u9707\u5CB3\u6F14\u5531\u4F1A",v:"\u5F20\u9707\u5CB3\u6F14\u5531\u4F1A"},{n:"\u97E9\u7EA2\u6F14\u5531\u4F1A",v:"\u97E9\u7EA2\u6F14\u5531\u4F1A"},{n:"\u9F50\u79E6\u6F14\u5531\u4F1A",v:"\u9F50\u79E6\u6F14\u5531\u4F1A"},{n:"\u5F20\u96E8\u751F\u6F14\u5531\u4F1A",v:"\u5F20\u96E8\u751F\u6F14\u5531\u4F1A"},{n:"\u9EC4\u54C1\u6E90\u6F14\u5531\u4F1A",v:"\u9EC4\u54C1\u6E90\u6F14\u5531\u4F1A"},{n:"\u6797\u5FC6\u83B2\u6F14\u5531\u4F1A",v:"\u6797\u5FC6\u83B2\u6F14\u5531\u4F1A"},{n:"\u4E01\u5F53\u6F14\u5531\u4F1A",v:"\u4E01\u5F53\u6F14\u5531\u4F1A"},{n:"\u90D1\u667A\u5316\u6F14\u5531\u4F1A",v:"\u90D1\u667A\u5316\u6F14\u5531\u4F1A"},{n:"\u674E\u739F\u6F14\u5531\u4F1A",v:"\u674E\u739F\u6F14\u5531\u4F1A"},{n:"\u8C22\u9706\u950B\u6F14\u5531\u4F1A",v:"\u8C22\u9706\u950B\u6F14\u5531\u4F1A"},{n:"\u9EC4\u5C0F\u7425\u6F14\u5531\u4F1A",v:"\u9EC4\u5C0F\u7425\u6F14\u5531\u4F1A"},{n:"\u5F90\u5C0F\u51E4\u6F14\u5531\u4F1A",v:"\u5F90\u5C0F\u51E4\u6F14\u5531\u4F1A"},{n:"\u4EFB\u5609\u4F26\u6F14\u5531\u4F1A",v:"\u4EFB\u5609\u4F26\u6F14\u5531\u4F1A"},{n:"\u5353\u4F9D\u5A77\u6F14\u5531\u4F1A",v:"\u5353\u4F9D\u5A77\u6F14\u5531\u4F1A"},{n:"\u9003\u8DD1\u8BA1\u5212\u6F14\u5531\u4F1A",v:"\u9003\u8DD1\u8BA1\u5212\u6F14\u5531\u4F1A"},{n:"\u9752\u9E1F\u98DE\u9C7C\u6F14\u5531\u4F1A",v:"\u9752\u9E1F\u98DE\u9C7C\u6F14\u5531\u4F1A"},{n:"\u98DE\u513F\u4E50\u961F\u6F14\u5531\u4F1A",v:"\u98DE\u513F\u4E50\u961F\u6F14\u5531\u4F1A"},{n:"\u82B1\u513F\u4E50\u961F\u6F14\u5531\u4F1A",v:"\u82B1\u513F\u4E50\u961F\u6F14\u5531\u4F1A"},{n:"\u5357\u62F3\u5988\u5988\u6F14\u5531\u4F1A",v:"\u5357\u62F3\u5988\u5988\u6F14\u5531\u4F1A"},{n:"\u6C34\u6728\u5E74\u534E\u6F14\u5531\u4F1A",v:"\u6C34\u6728\u5E74\u534E\u6F14\u5531\u4F1A"},{n:"\u52A8\u529B\u706B\u8F66\u6F14\u5531\u4F1A",v:"\u52A8\u529B\u706B\u8F66\u6F14\u5531\u4F1A"},{n:"\u7B77\u5B50\u5144\u5F1F\u6F14\u5531\u4F1A",v:"\u7B77\u5B50\u5144\u5F1F\u6F14\u5531\u4F1A"},{n:"\u9E7F\u5148\u68EE\u4E50\u961F\u6F14\u5531\u4F1A",v:"\u9E7F\u5148\u68EE\u4E50\u961F\u6F14\u5531\u4F1A"},{n:"\u4FE1\u4E50\u961F\u6F14\u5531\u4F1A",v:"\u4FE1\u4E50\u961F\u6F14\u5531\u4F1A"},{n:"\u65C5\u884C\u56E2\u4E50\u961F\u6F14\u5531\u4F1A",v:"\u65C5\u884C\u56E2\u4E50\u961F\u6F14\u5531\u4F1A"},{n:"By2\u6F14\u5531\u4F1A",v:"By2\u6F14\u5531\u4F1A"},{n:"\u90C1\u53EF\u552F\u6F14\u5531\u4F1A",v:"\u90C1\u53EF\u552F\u6F14\u5531\u4F1A"},{n:"\u5B8B\u4E9A\u68EE\u6F14\u5531\u4F1A",v:"\u5B8B\u4E9A\u68EE\u6F14\u5531\u4F1A"},{n:"\u8D39\u7389\u6E05\u6F14\u5531\u4F1A",v:"\u8D39\u7389\u6E05\u6F14\u5531\u4F1A"},{n:"\u8D39\u7FD4\u6F14\u5531\u4F1A",v:"\u8D39\u7FD4\u6F14\u5531\u4F1A"},{n:"\u91D1\u5FD7\u6587\u6F14\u5531\u4F1A",v:"\u91D1\u5FD7\u6587\u6F14\u5531\u4F1A"},{n:"\u9EC4\u5BB6\u5F3A\u6F14\u5531\u4F1A",v:"\u9EC4\u5BB6\u5F3A\u6F14\u5531\u4F1A"},{n:"\u65B9\u5927\u540C\u6F14\u5531\u4F1A",v:"\u65B9\u5927\u540C\u6F14\u5531\u4F1A"},{n:"\u5434\u514B\u7FA4\u6F14\u5531\u4F1A",v:"\u5434\u514B\u7FA4\u6F14\u5531\u4F1A"},{n:"\u7F57\u5927\u4F51\u6F14\u5531\u4F1A",v:"\u7F57\u5927\u4F51\u6F14\u5531\u4F1A"},{n:"\u5149\u826F\u6F14\u5531\u4F1A",v:"\u5149\u826F\u6F14\u5531\u4F1A"},{n:"\u7530\u9707\u6F14\u5531\u4F1A",v:"\u7530\u9707\u6F14\u5531\u4F1A"},{n:"\u51E4\u98DE\u98DE\u6F14\u5531\u4F1A",v:"\u51E4\u98DE\u98DE\u6F14\u5531\u4F1A"},{n:"\u8C2D\u6676\u6F14\u5531\u4F1A",v:"\u8C2D\u6676\u6F14\u5531\u4F1A"},{n:"\u738B\u6770\u6F14\u5531\u4F1A",v:"\u738B\u6770\u6F14\u5531\u4F1A"},{n:"\u7FBD\u6CC9\u6F14\u5531\u4F1A",v:"\u7FBD\u6CC9\u6F14\u5531\u4F1A"},{n:"\u91D1\u6C60\u6F14\u5531\u4F1A",v:"\u91D1\u6C60\u6F14\u5531\u4F1A"},{n:"\u5C60\u6D2A\u521A\u6F14\u5531\u4F1A",v:"\u5C60\u6D2A\u521A\u6F14\u5531\u4F1A"},{n:"\u6234\u8343\u6F14\u5531\u4F1A",v:"\u6234\u8343\u6F14\u5531\u4F1A"},{n:"\u90ED\u91C7\u6D01\u6F14\u5531\u4F1A",v:"\u90ED\u91C7\u6D01\u6F14\u5531\u4F1A"},{n:"\u7F57\u5FD7\u7965\u6F14\u5531\u4F1A",v:"\u7F57\u5FD7\u7965\u6F14\u5531\u4F1A"},{n:"\u738B\u529B\u5B8F\u6F14\u5531\u4F1A",v:"\u738B\u529B\u5B8F\u6F14\u5531\u4F1A"},{n:"\u6797\u80AF\u516C\u56ED\u6F14\u5531\u4F1A",v:"\u6797\u80AF\u516C\u56ED\u6F14\u5531\u4F1A"},{n:"\u8FC8\u514B\u5C14\u6770\u514B\u900A\u6F14\u5531\u4F1A",v:"\u8FC8\u514B\u5C14\u6770\u514B\u900A\u6F14\u5531\u4F1A"},{n:"\u6CF0\u52D2\xB7\u65AF\u5A01\u592B\u7279\u6F14\u5531\u4F1A",v:"\u6CF0\u52D2\xB7\u65AF\u5A01\u592B\u7279\u6F14\u5531\u4F1A"},{n:"\u963F\u9EDB\u5C14\u6F14\u5531\u4F1A",v:"\u963F\u9EDB\u5C14\u6F14\u5531\u4F1A"},{n:"BIGBANG\u6F14\u5531\u4F1A",v:"BIGBANG\u6F14\u5531\u4F1A"},{n:"LadyGaga\u6F14\u5531\u4F1A",v:"LadyGaga\u6F14\u5531\u4F1A"},{n:"\u8D3E\u65AF\u4E01\u6BD4\u4F2F\u6F14\u5531\u4F1A",v:"\u8D3E\u65AF\u4E01\u6BD4\u4F2F\u6F14\u5531\u4F1A"},{n:"\u4E2D\u5C9B\u7F8E\u96EA\u6F14\u5531\u4F1A",v:"\u4E2D\u5C9B\u7F8E\u96EA\u6F14\u5531\u4F1A"},{n:"\u4ED3\u6728\u9EBB\u8863\u6F14\u5531\u4F1A",v:"\u4ED3\u6728\u9EBB\u8863\u6F14\u5531\u4F1A"},{n:"\u540E\u8857\u7537\u5B69\u6F14\u5531\u4F1A",v:"\u540E\u8857\u7537\u5B69\u6F14\u5531\u4F1A"},{n:"\u5E03\u5170\u59AE\u6F14\u5531\u4F1A",v:"\u5E03\u5170\u59AE\u6F14\u5531\u4F1A"},{n:"\u591C\u613F\u4E50\u961F\u6F14\u5531\u4F1A",v:"\u591C\u613F\u4E50\u961F\u6F14\u5531\u4F1A"}]},{key:"tidb",name:"\u5206\u7C7B",value:[{n:"4K\u6F14\u5531\u4F1A",v:"4K\u6F14\u5531\u4F1A"},{n:"4K\u5468\u6770\u4F26\u6F14\u5531\u4F1A",v:"4K\u5468\u6770\u4F26\u6F14\u5531\u4F1A"},{n:"4K\u9648\u5955\u8FC5\u6F14\u5531\u4F1A",v:"4K\u9648\u5955\u8FC5\u6F14\u5531\u4F1A"},{n:"4 KBeyond\u6F14\u5531\u4F1A",v:"4 KBeyond\u6F14\u5531\u4F1A"},{n:"4K\u5218\u5FB7\u534E\u6F14\u5531\u4F1A",v:"4K\u5218\u5FB7\u534E\u6F14\u5531\u4F1A"},{n:"4K\u90ED\u5BCC\u57CE\u6F14\u5531\u4F1A",v:"4K\u90ED\u5BCC\u57CE\u6F14\u5531\u4F1A"},{n:"4K\u5F20\u5B66\u53CB\u6F14\u5531\u4F1A",v:"4K\u5F20\u5B66\u53CB\u6F14\u5531\u4F1A"},{n:"4K\u9ECE\u660E\u6F14\u5531\u4F1A",v:"4K\u9ECE\u660E\u6F14\u5531\u4F1A"},{n:"4K\u674E\u5B97\u76DB\u6F14\u5531\u4F1A",v:"4K\u674E\u5B97\u76DB\u6F14\u5531\u4F1A"},{n:"4K\u9093\u4E3D\u541B\u6F14\u5531\u4F1A",v:"4K\u9093\u4E3D\u541B\u6F14\u5531\u4F1A"},{n:"4K\u6734\u6811\u6F14\u5531\u4F1A",v:"4K\u6734\u6811\u6F14\u5531\u4F1A"},{n:"4K\u6797\u5B50\u7965\u6F14\u5531\u4F1A",v:"4K\u6797\u5B50\u7965\u6F14\u5531\u4F1A"},{n:"4K\u4EFB\u8D24\u9F50\u6F14\u5531\u4F1A",v:"4K\u4EFB\u8D24\u9F50\u6F14\u5531\u4F1A"},{n:"4K\u5F20\u4FE1\u54F2\u6F14\u5531\u4F1A",v:"4K\u5F20\u4FE1\u54F2\u6F14\u5531\u4F1A"},{n:"4K\u5B59\u6960\u6F14\u5531\u4F1A",v:"4K\u5B59\u6960\u6F14\u5531\u4F1A"},{n:"4K\u5F20\u5B87\u6F14\u5531\u4F1A",v:"4K\u5F20\u5B87\u6F14\u5531\u4F1A"},{n:"4K\u5468\u534E\u5065\u6F14\u5531\u4F1A",v:"4K\u5468\u534E\u5065\u6F14\u5531\u4F1A"},{n:"4K\u8521\u4F9D\u6797\u6F14\u5531\u4F1A",v:"4K\u8521\u4F9D\u6797\u6F14\u5531\u4F1A"},{n:"4K\u859B\u4E4B\u8C26\u6F14\u5531\u4F1A",v:"4K\u859B\u4E4B\u8C26\u6F14\u5531\u4F1A"},{n:"4K\u6D1B\u5929\u4F9D\u6F14\u5531\u4F1A",v:"4K\u6D1B\u5929\u4F9D\u6F14\u5531\u4F1A"},{n:"4K\u521D\u97F3\u672A\u6765\u6F14\u5531\u4F1A",v:"4K\u521D\u97F3\u672A\u6765\u6F14\u5531\u4F1A"},{n:"4K\u8BB8\u5D69\u6F14\u5531\u4F1A",v:"4K\u8BB8\u5D69\u6F14\u5531\u4F1A"},{n:"4K\u6234\u4F69\u59AE\u6F14\u5531\u4F1A",v:"4K\u6234\u4F69\u59AE\u6F14\u5531\u4F1A"},{n:"4K\u9093\u7D2B\u68CB\u6F14\u5531\u4F1A",v:"4K\u9093\u7D2B\u68CB\u6F14\u5531\u4F1A"},{n:"4K\u5F20\u97F6\u6DB5\u6F14\u5531\u4F1A",v:"4K\u5F20\u97F6\u6DB5\u6F14\u5531\u4F1A"},{n:"4K\u8521\u5065\u96C5\u6F14\u5531\u4F1A",v:"4K\u8521\u5065\u96C5\u6F14\u5531\u4F1A"},{n:"4K\u83AB\u6587\u851A\u6F14\u5531\u4F1A",v:"4K\u83AB\u6587\u851A\u6F14\u5531\u4F1A"},{n:"4K\u5218\u82E5\u82F1\u6F14\u5531\u4F1A",v:"4K\u5218\u82E5\u82F1\u6F14\u5531\u4F1A"},{n:"4K\u5468\u6DF1\u6F14\u5531\u4F1A",v:"4K\u5468\u6DF1\u6F14\u5531\u4F1A"},{n:"4K\u6BDB\u4E0D\u6613\u6F14\u5531\u4F1A",v:"4K\u6BDB\u4E0D\u6613\u6F14\u5531\u4F1A"},{n:"4K\u6C6A\u82CF\u6CF7\u6F14\u5531\u4F1A",v:"4K\u6C6A\u82CF\u6CF7\u6F14\u5531\u4F1A"},{n:"4K\u674E\u5B87\u6625\u6F14\u5531\u4F1A",v:"4K\u674E\u5B87\u6625\u6F14\u5531\u4F1A"},{n:"4K\u5F90\u4F73\u83B9\u6F14\u5531\u4F1A",v:"4K\u5F90\u4F73\u83B9\u6F14\u5531\u4F1A"},{n:"4K\u6768\u5B97\u7EAC\u6F14\u5531\u4F1A",v:"4K\u6768\u5B97\u7EAC\u6F14\u5531\u4F1A"},{n:"4K\u80E1\u5F66\u658C\u6F14\u5531\u4F1A",v:"4K\u80E1\u5F66\u658C\u6F14\u5531\u4F1A"},{n:"4K\u6768\u5343\u5B05\u6F14\u5531\u4F1A",v:"4K\u6768\u5343\u5B05\u6F14\u5531\u4F1A"},{n:"4K\u5F20\u9753\u9896\u6F14\u5531\u4F1A",v:"4K\u5F20\u9753\u9896\u6F14\u5531\u4F1A"},{n:"4K\u674E\u8363\u6D69\u6F14\u5531\u4F1A",v:"4K\u674E\u8363\u6D69\u6F14\u5531\u4F1A"},{n:"4K\u6768\u4E1E\u7433\u6F14\u5531\u4F1A",v:"4K\u6768\u4E1E\u7433\u6F14\u5531\u4F1A"},{n:"4K\u6797\u5FD7\u70AB\u6F14\u5531\u4F1A",v:"4K\u6797\u5FD7\u70AB\u6F14\u5531\u4F1A"},{n:"4K\u9676\u5586\u6F14\u5531\u4F1A",v:"4K\u9676\u5586\u6F14\u5531\u4F1A"},{n:"4K\u80E1\u590F\u6F14\u5531\u4F1A",v:"4K\u80E1\u590F\u6F14\u5531\u4F1A"},{n:"4K\u674E\u7389\u521A\u6F14\u5531\u4F1A",v:"4K\u674E\u7389\u521A\u6F14\u5531\u4F1A"},{n:"4K\u5F26\u5B50\u6F14\u5531\u4F1A",v:"4K\u5F26\u5B50\u6F14\u5531\u4F1A"},{n:"4K\u9648\u5C0F\u6625\u6F14\u5531\u4F1A",v:"4K\u9648\u5C0F\u6625\u6F14\u5531\u4F1A"},{n:"4K\u8427\u4E9A\u8F69\u6F14\u5531\u4F1A",v:"4K\u8427\u4E9A\u8F69\u6F14\u5531\u4F1A"},{n:"4K\u9E7F\u6657\u6F14\u5531\u4F1A",v:"4K\u9E7F\u6657\u6F14\u5531\u4F1A"},{n:"4K\u7EB5\u8D2F\u7EBF\u6F14\u5531\u4F1A",v:"4K\u7EB5\u8D2F\u7EBF\u6F14\u5531\u4F1A"},{n:"4K\u8BB8\u5DCD\u6F14\u5531\u4F1A",v:"4K\u8BB8\u5DCD\u6F14\u5531\u4F1A"},{n:"4K\u6797\u4FCA\u6770\u6F14\u5531\u4F1A",v:"4K\u6797\u4FCA\u6770\u6F14\u5531\u4F1A"},{n:"4K\u8D75\u96F7\u6F14\u5531\u4F1A",v:"4K\u8D75\u96F7\u6F14\u5531\u4F1A"},{n:"4K\u8C2D\u548F\u9E9F\u6F14\u5531\u4F1A",v:"4K\u8C2D\u548F\u9E9F\u6F14\u5531\u4F1A"},{n:"4K\u51E4\u51F0\u4F20\u5947\u6F14\u5531\u4F1A",v:"4K\u51E4\u51F0\u4F20\u5947\u6F14\u5531\u4F1A"},{n:"4K\u5BB9\u7956\u513F\u6F14\u5531\u4F1A",v:"4K\u5BB9\u7956\u513F\u6F14\u5531\u4F1A"},{n:"4K\u5468\u4F20\u96C4\u6F14\u5531\u4F1A",v:"4K\u5468\u4F20\u96C4\u6F14\u5531\u4F1A"},{n:"4K SHE\u6F14\u5531\u4F1A",v:"4K SHE\u6F14\u5531\u4F1A"},{n:"4K\u82CF\u6253\u7EFF\u6F14\u5531\u4F1A",v:"4K\u82CF\u6253\u7EFF\u6F14\u5531\u4F1A"},{n:"4K\u4E94\u6708\u5929\u6F14\u5531\u4F1A",v:"4K\u4E94\u6708\u5929\u6F14\u5531\u4F1A"},{n:"4K\u5F20\u56FD\u8363\u6F14\u5531\u4F1A",v:"4K\u5F20\u56FD\u8363\u6F14\u5531\u4F1A"},{n:"4K\u6885\u8273\u82B3\u6F14\u5531\u4F1A",v:"4K\u6885\u8273\u82B3\u6F14\u5531\u4F1A"},{n:"4K\u5B59\u71D5\u59FF\u6F14\u5531\u4F1A",v:"4K\u5B59\u71D5\u59FF\u6F14\u5531\u4F1A"},{n:"4K\u674E\u5065\u6F14\u5531\u4F1A",v:"4K\u674E\u5065\u6F14\u5531\u4F1A"},{n:"4K\u534E\u6668\u5B87\u6F14\u5531\u4F1A",v:"4K\u534E\u6668\u5B87\u6F14\u5531\u4F1A"},{n:"4K\u8881\u5A05\u7EF4\u6F14\u5531\u4F1A",v:"4K\u8881\u5A05\u7EF4\u6F14\u5531\u4F1A"},{n:"4K\u5927\u5F20\u4F1F\u6F14\u5531\u4F1A",v:"4K\u5927\u5F20\u4F1F\u6F14\u5531\u4F1A"},{n:"4K TFBOYS\u6F14\u5531\u4F1A",v:"4K TFBOYS\u6F14\u5531\u4F1A"},{n:"4K\u738B\u4FCA\u51EF\u6F14\u5531\u4F1A",v:"4K\u738B\u4FCA\u51EF\u6F14\u5531\u4F1A"},{n:"4K\u6613\u70CA\u5343\u73BA\u6F14\u5531\u4F1A",v:"4K\u6613\u70CA\u5343\u73BA\u6F14\u5531\u4F1A"},{n:"4K\u738B\u6E90\u6F14\u5531\u4F1A",v:"4K\u738B\u6E90\u6F14\u5531\u4F1A"},{n:"4K\u7530\u99A5\u7504\u6F14\u5531\u4F1A",v:"4K\u7530\u99A5\u7504\u6F14\u5531\u4F1A"},{n:"4K\u5C0F\u864E\u961F\u6F14\u5531\u4F1A",v:"4K\u5C0F\u864E\u961F\u6F14\u5531\u4F1A"},{n:"4K\u5F20\u6770\u6F14\u5531\u4F1A",v:"4K\u5F20\u6770\u6F14\u5531\u4F1A"},{n:"4K\u738B\u83F2\u6F14\u5531\u4F1A",v:"4K\u738B\u83F2\u6F14\u5531\u4F1A"},{n:"4K\u4F0D\u4F70\u6F14\u5531\u4F1A",v:"4K\u4F0D\u4F70\u6F14\u5531\u4F1A"},{n:"4K\u5200\u90CE\u6F14\u5531\u4F1A",v:"4K\u5200\u90CE\u6F14\u5531\u4F1A"},{n:"4K\u8349\u8722\u6F14\u5531\u4F1A",v:"4K\u8349\u8722\u6F14\u5531\u4F1A"},{n:"4K\u6F58\u73AE\u67CF\u6F14\u5531\u4F1A",v:"4K\u6F58\u73AE\u67CF\u6F14\u5531\u4F1A"},{n:"4K\u6881\u9759\u8339\u6F14\u5531\u4F1A",v:"4K\u6881\u9759\u8339\u6F14\u5531\u4F1A"},{n:"4K\u6797\u5BA5\u5609\u6F14\u5531\u4F1A",v:"4K\u6797\u5BA5\u5609\u6F14\u5531\u4F1A"},{n:"4K\u8521\u5F90\u5764\u6F14\u5531\u4F1A",v:"4K\u8521\u5F90\u5764\u6F14\u5531\u4F1A"},{n:"4K\u5468\u6167\u654F\u6F14\u5531\u4F1A",v:"4K\u5468\u6167\u654F\u6F14\u5531\u4F1A"},{n:"4K\u674E\u5723\u6770\u6F14\u5531\u4F1A",v:"4K\u674E\u5723\u6770\u6F14\u5531\u4F1A"},{n:"4K\u5F20\u60E0\u59B9\u6F14\u5531\u4F1A",v:"4K\u5F20\u60E0\u59B9\u6F14\u5531\u4F1A"},{n:"4K\u8427\u656C\u817E\u6F14\u5531\u4F1A",v:"4K\u8427\u656C\u817E\u6F14\u5531\u4F1A"},{n:"4K\u5468\u7B14\u7545\u6F14\u5531\u4F1A",v:"4K\u5468\u7B14\u7545\u6F14\u5531\u4F1A"},{n:"4K\u7126\u8FC8\u5947\u6F14\u5531\u4F1A",v:"4K\u7126\u8FC8\u5947\u6F14\u5531\u4F1A"},{n:"4K\u5C24\u957F\u9756\u6F14\u5531\u4F1A",v:"4K\u5C24\u957F\u9756\u6F14\u5531\u4F1A"},{n:"4K\u90D1\u4E2D\u57FA\u6F14\u5531\u4F1A",v:"4K\u90D1\u4E2D\u57FA\u6F14\u5531\u4F1A"},{n:"4K\u8C2D\u7EF4\u7EF4\u6F14\u5531\u4F1A",v:"4K\u8C2D\u7EF4\u7EF4\u6F14\u5531\u4F1A"},{n:"4K\u9648\u6167\u5A34\u6F14\u5531\u4F1A",v:"4K\u9648\u6167\u5A34\u6F14\u5531\u4F1A"},{n:"4K\u5F20\u827A\u5174\u6F14\u5531\u4F1A",v:"4K\u5F20\u827A\u5174\u6F14\u5531\u4F1A"},{n:"4K\u738B\u5609\u5C14\u6F14\u5531\u4F1A",v:"4K\u738B\u5609\u5C14\u6F14\u5531\u4F1A"},{n:"4K\u5218\u5BAA\u534E\u6F14\u5531\u4F1A",v:"4K\u5218\u5BAA\u534E\u6F14\u5531\u4F1A"},{n:"4K\u5F20\u656C\u8F69\u6F14\u5531\u4F1A",v:"4K\u5F20\u656C\u8F69\u6F14\u5531\u4F1A"},{n:"4K\u674E\u514B\u52E4\u6F14\u5531\u4F1A",v:"4K\u674E\u514B\u52E4\u6F14\u5531\u4F1A"},{n:"4K\u963F\u675C\u6F14\u5531\u4F1A",v:"4K\u963F\u675C\u6F14\u5531\u4F1A"},{n:"4K\u90ED\u9759\u6F14\u5531\u4F1A",v:"4K\u90ED\u9759\u6F14\u5531\u4F1A"},{n:"4K\u5D14\u5065\u6F14\u5531\u4F1A",v:"4K\u5D14\u5065\u6F14\u5531\u4F1A"},{n:"4K\u5EBE\u6F84\u5E86\u6F14\u5531\u4F1A",v:"4K\u5EBE\u6F84\u5E86\u6F14\u5531\u4F1A"},{n:"4K\u6C6A\u5CF0\u6F14\u5531\u4F1A",v:"4K\u6C6A\u5CF0\u6F14\u5531\u4F1A"},{n:"4K\u90A3\u82F1\u6F14\u5531\u4F1A",v:"4K\u90A3\u82F1\u6F14\u5531\u4F1A"},{n:"4K\u6768\u5764\u6F14\u5531\u4F1A",v:"4K\u6768\u5764\u6F14\u5531\u4F1A"},{n:"4K\u53F6\u5029\u6587\u6F14\u5531\u4F1A",v:"4K\u53F6\u5029\u6587\u6F14\u5531\u4F1A"},{n:"4K\u738B\u5FC3\u51CC\u6F14\u5531\u4F1A",v:"4K\u738B\u5FC3\u51CC\u6F14\u5531\u4F1A"},{n:"4K\u5F20\u9707\u5CB3\u6F14\u5531\u4F1A",v:"4K\u5F20\u9707\u5CB3\u6F14\u5531\u4F1A"},{n:"4K\u97E9\u7EA2\u6F14\u5531\u4F1A",v:"4K\u97E9\u7EA2\u6F14\u5531\u4F1A"},{n:"4K\u9F50\u79E6\u6F14\u5531\u4F1A",v:"4K\u9F50\u79E6\u6F14\u5531\u4F1A"},{n:"4K\u5F20\u96E8\u751F\u6F14\u5531\u4F1A",v:"4K\u5F20\u96E8\u751F\u6F14\u5531\u4F1A"},{n:"4K\u9EC4\u54C1\u6E90\u6F14\u5531\u4F1A",v:"4K\u9EC4\u54C1\u6E90\u6F14\u5531\u4F1A"},{n:"4K\u6797\u5FC6\u83B2\u6F14\u5531\u4F1A",v:"4K\u6797\u5FC6\u83B2\u6F14\u5531\u4F1A"},{n:"4K\u4E01\u5F53\u6F14\u5531\u4F1A",v:"4K\u4E01\u5F53\u6F14\u5531\u4F1A"},{n:"4K\u90D1\u667A\u5316\u6F14\u5531\u4F1A",v:"4K\u90D1\u667A\u5316\u6F14\u5531\u4F1A"},{n:"4K\u674E\u739F\u6F14\u5531\u4F1A",v:"4K\u674E\u739F\u6F14\u5531\u4F1A"},{n:"4K\u8C22\u9706\u950B\u6F14\u5531\u4F1A",v:"4K\u8C22\u9706\u950B\u6F14\u5531\u4F1A"},{n:"4K\u9EC4\u5C0F\u7425\u6F14\u5531\u4F1A",v:"4K\u9EC4\u5C0F\u7425\u6F14\u5531\u4F1A"},{n:"4K\u5F90\u5C0F\u51E4\u6F14\u5531\u4F1A",v:"4K\u5F90\u5C0F\u51E4\u6F14\u5531\u4F1A"},{n:"4K\u4EFB\u5609\u4F26\u6F14\u5531\u4F1A",v:"4K\u4EFB\u5609\u4F26\u6F14\u5531\u4F1A"},{n:"4K\u5353\u4F9D\u5A77\u6F14\u5531\u4F1A",v:"4K\u5353\u4F9D\u5A77\u6F14\u5531\u4F1A"},{n:"4K\u9003\u8DD1\u8BA1\u5212\u6F14\u5531\u4F1A",v:"4K\u9003\u8DD1\u8BA1\u5212\u6F14\u5531\u4F1A"},{n:"4K\u9752\u9E1F\u98DE\u9C7C\u6F14\u5531\u4F1A",v:"4K\u9752\u9E1F\u98DE\u9C7C\u6F14\u5531\u4F1A"},{n:"4K\u98DE\u513F\u4E50\u961F\u6F14\u5531\u4F1A",v:"4K\u98DE\u513F\u4E50\u961F\u6F14\u5531\u4F1A"},{n:"4K\u82B1\u513F\u4E50\u961F\u6F14\u5531\u4F1A",v:"4K\u82B1\u513F\u4E50\u961F\u6F14\u5531\u4F1A"},{n:"4K\u5357\u62F3\u5988\u5988\u6F14\u5531\u4F1A",v:"4K\u5357\u62F3\u5988\u5988\u6F14\u5531\u4F1A"},{n:"4K\u6C34\u6728\u5E74\u534E\u6F14\u5531\u4F1A",v:"4K\u6C34\u6728\u5E74\u534E\u6F14\u5531\u4F1A"},{n:"4K\u52A8\u529B\u706B\u8F66\u6F14\u5531\u4F1A",v:"4K\u52A8\u529B\u706B\u8F66\u6F14\u5531\u4F1A"},{n:"4K\u7B77\u5B50\u5144\u5F1F\u6F14\u5531\u4F1A",v:"4K\u7B77\u5B50\u5144\u5F1F\u6F14\u5531\u4F1A"},{n:"4K\u9E7F\u5148\u68EE\u4E50\u961F\u6F14\u5531\u4F1A",v:"4K\u9E7F\u5148\u68EE\u4E50\u961F\u6F14\u5531\u4F1A"},{n:"4K\u4FE1\u4E50\u961F\u6F14\u5531\u4F1A",v:"4K\u4FE1\u4E50\u961F\u6F14\u5531\u4F1A"},{n:"4K\u65C5\u884C\u56E2\u4E50\u961F\u6F14\u5531\u4F1A",v:"4K\u65C5\u884C\u56E2\u4E50\u961F\u6F14\u5531\u4F1A"},{n:"4K By2\u6F14\u5531\u4F1A",v:"4K By2\u6F14\u5531\u4F1A"},{n:"4K\u90C1\u53EF\u552F\u6F14\u5531\u4F1A",v:"4K\u90C1\u53EF\u552F\u6F14\u5531\u4F1A"},{n:"4K\u5B8B\u4E9A\u68EE\u6F14\u5531\u4F1A",v:"4K\u5B8B\u4E9A\u68EE\u6F14\u5531\u4F1A"},{n:"4K\u8D39\u7389\u6E05\u6F14\u5531\u4F1A",v:"4K\u8D39\u7389\u6E05\u6F14\u5531\u4F1A"},{n:"4K\u8D39\u7FD4\u6F14\u5531\u4F1A",v:"4K\u8D39\u7FD4\u6F14\u5531\u4F1A"},{n:"4K\u91D1\u5FD7\u6587\u6F14\u5531\u4F1A",v:"4K\u91D1\u5FD7\u6587\u6F14\u5531\u4F1A"},{n:"4K\u9EC4\u5BB6\u5F3A\u6F14\u5531\u4F1A",v:"4K\u9EC4\u5BB6\u5F3A\u6F14\u5531\u4F1A"},{n:"4K\u65B9\u5927\u540C\u6F14\u5531\u4F1A",v:"4K\u65B9\u5927\u540C\u6F14\u5531\u4F1A"},{n:"4K\u5434\u514B\u7FA4\u6F14\u5531\u4F1A",v:"4K\u5434\u514B\u7FA4\u6F14\u5531\u4F1A"},{n:"4K\u7F57\u5927\u4F51\u6F14\u5531\u4F1A",v:"4K\u7F57\u5927\u4F51\u6F14\u5531\u4F1A"},{n:"4K\u5149\u826F\u6F14\u5531\u4F1A",v:"4K\u5149\u826F\u6F14\u5531\u4F1A"},{n:"4K\u7530\u9707\u6F14\u5531\u4F1A",v:"4K\u7530\u9707\u6F14\u5531\u4F1A"},{n:"4K\u51E4\u98DE\u98DE\u6F14\u5531\u4F1A",v:"4K\u51E4\u98DE\u98DE\u6F14\u5531\u4F1A"},{n:"4K\u8C2D\u6676\u6F14\u5531\u4F1A",v:"4K\u8C2D\u6676\u6F14\u5531\u4F1A"},{n:"4K\u738B\u6770\u6F14\u5531\u4F1A",v:"4K\u738B\u6770\u6F14\u5531\u4F1A"},{n:"4K\u7FBD\u6CC9\u6F14\u5531\u4F1A",v:"4K\u7FBD\u6CC9\u6F14\u5531\u4F1A"},{n:"4K\u91D1\u6C60\u6F14\u5531\u4F1A",v:"4K\u91D1\u6C60\u6F14\u5531\u4F1A"},{n:"4K\u5C60\u6D2A\u521A\u6F14\u5531\u4F1A",v:"4K\u5C60\u6D2A\u521A\u6F14\u5531\u4F1A"},{n:"4K\u6234\u8343\u6F14\u5531\u4F1A",v:"4K\u6234\u8343\u6F14\u5531\u4F1A"},{n:"4K\u90ED\u91C7\u6D01\u6F14\u5531\u4F1A",v:"4K\u90ED\u91C7\u6D01\u6F14\u5531\u4F1A"},{n:"4K\u7F57\u5FD7\u7965\u6F14\u5531\u4F1A",v:"4K\u7F57\u5FD7\u7965\u6F14\u5531\u4F1A"},{n:"4K\u738B\u529B\u5B8F\u6F14\u5531\u4F1A",v:"4K\u738B\u529B\u5B8F\u6F14\u5531\u4F1A"},{n:"4K\u6797\u80AF\u516C\u56ED\u6F14\u5531\u4F1A",v:"4K\u6797\u80AF\u516C\u56ED\u6F14\u5531\u4F1A"},{n:"4K\u8FC8\u514B\u5C14\u6770\u514B\u900A\u6F14\u5531\u4F1A",v:"4K\u8FC8\u514B\u5C14\u6770\u514B\u900A\u6F14\u5531\u4F1A"},{n:"4K\u6CF0\u52D2\xB7\u65AF\u5A01\u592B\u7279\u6F14\u5531\u4F1A",v:"4K\u6CF0\u52D2\xB7\u65AF\u5A01\u592B\u7279\u6F14\u5531\u4F1A"},{n:"4K\u963F\u9EDB\u5C14\u6F14\u5531\u4F1A",v:"4K\u963F\u9EDB\u5C14\u6F14\u5531\u4F1A"},{n:"4K BIGBANG\u6F14\u5531\u4F1A",v:"4K BIGBANG\u6F14\u5531\u4F1A"},{n:"4K LadyGaga\u6F14\u5531\u4F1A",v:"4K LadyGaga\u6F14\u5531\u4F1A"},{n:"4K\u8D3E\u65AF\u4E01\u6BD4\u4F2F\u6F14\u5531\u4F1A",v:"4K\u8D3E\u65AF\u4E01\u6BD4\u4F2F\u6F14\u5531\u4F1A"},{n:"4K\u4E2D\u5C9B\u7F8E\u96EA\u6F14\u5531\u4F1A",v:"4K\u4E2D\u5C9B\u7F8E\u96EA\u6F14\u5531\u4F1A"},{n:"4K\u4ED3\u6728\u9EBB\u8863\u6F14\u5531\u4F1A",v:"4K\u4ED3\u6728\u9EBB\u8863\u6F14\u5531\u4F1A"},{n:"4K\u540E\u8857\u7537\u5B69\u6F14\u5531\u4F1A",v:"4K\u540E\u8857\u7537\u5B69\u6F14\u5531\u4F1A"},{n:"4K\u5E03\u5170\u59AE\u6F14\u5531\u4F1A",v:"4K\u5E03\u5170\u59AE\u6F14\u5531\u4F1A"},{n:"4K\u591C\u613F\u4E50\u961F\u6F14\u5531\u4F1A",v:"4K\u591C\u613F\u4E50\u961F\u6F14\u5531\u4F1A"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u8BFE\u7A0B\u8F85\u5BFC:[{key:"tida",name:"\u82CF\u6559\u7248\u5E74\u7EA7\u79D1\u76EE",value:[{n:"\u82CF\u6559\u72481\u5E74\u7EA7\u8BED\u6587",v:"\u82CF\u6559\u72481\u5E74\u7EA7\u8BED\u6587"},{n:"\u82CF\u6559\u72481\u5E74\u7EA7\u6570\u5B66",v:"\u82CF\u6559\u72481\u5E74\u7EA7\u6570\u5B66"},{n:"\u82CF\u6559\u72481\u5E74\u7EA7\u82F1\u8BED",v:"\u82CF\u6559\u72481\u5E74\u7EA7\u82F1\u8BED"},{n:"\u82CF\u6559\u72482\u5E74\u7EA7\u8BED\u6587",v:"\u82CF\u6559\u72482\u5E74\u7EA7\u8BED\u6587"},{n:"\u82CF\u6559\u72482\u5E74\u7EA7\u6570\u5B66",v:"\u82CF\u6559\u72482\u5E74\u7EA7\u6570\u5B66"},{n:"\u82CF\u6559\u72482\u5E74\u7EA7\u82F1\u8BED",v:"\u82CF\u6559\u72482\u5E74\u7EA7\u82F1\u8BED"},{n:"\u82CF\u6559\u72483\u5E74\u7EA7\u8BED\u6587",v:"\u82CF\u6559\u72483\u5E74\u7EA7\u8BED\u6587"},{n:"\u82CF\u6559\u72483\u5E74\u7EA7\u6570\u5B66",v:"\u82CF\u6559\u72483\u5E74\u7EA7\u6570\u5B66"},{n:"\u82CF\u6559\u72483\u5E74\u7EA7\u82F1\u8BED",v:"\u82CF\u6559\u72483\u5E74\u7EA7\u82F1\u8BED"},{n:"\u82CF\u6559\u72484\u5E74\u7EA7\u8BED\u6587",v:"\u82CF\u6559\u72484\u5E74\u7EA7\u8BED\u6587"},{n:"\u82CF\u6559\u72484\u5E74\u7EA7\u6570\u5B66",v:"\u82CF\u6559\u72484\u5E74\u7EA7\u6570\u5B66"},{n:"\u82CF\u6559\u72484\u5E74\u7EA7\u82F1\u8BED",v:"\u82CF\u6559\u72484\u5E74\u7EA7\u82F1\u8BED"},{n:"\u82CF\u6559\u72485\u5E74\u7EA7\u8BED\u6587",v:"\u82CF\u6559\u72485\u5E74\u7EA7\u8BED\u6587"},{n:"\u82CF\u6559\u72485\u5E74\u7EA7\u6570\u5B66",v:"\u82CF\u6559\u72485\u5E74\u7EA7\u6570\u5B66"},{n:"\u82CF\u6559\u72485\u5E74\u7EA7\u82F1\u8BED",v:"\u82CF\u6559\u72485\u5E74\u7EA7\u82F1\u8BED"},{n:"\u82CF\u6559\u72486\u5E74\u7EA7\u8BED\u6587",v:"\u82CF\u6559\u72486\u5E74\u7EA7\u8BED\u6587"},{n:"\u82CF\u6559\u72486\u5E74\u7EA7\u6570\u5B66",v:"\u82CF\u6559\u72486\u5E74\u7EA7\u6570\u5B66"},{n:"\u82CF\u6559\u72486\u5E74\u7EA7\u82F1\u8BED",v:"\u82CF\u6559\u72486\u5E74\u7EA7\u82F1\u8BED"},{n:"\u82CF\u6559\u72487\u5E74\u7EA7\u8BED\u6587",v:"\u82CF\u6559\u72487\u5E74\u7EA7\u8BED\u6587"},{n:"\u82CF\u6559\u72487\u5E74\u7EA7\u6570\u5B66",v:"\u82CF\u6559\u72487\u5E74\u7EA7\u6570\u5B66"},{n:"\u82CF\u6559\u72487\u5E74\u7EA7\u82F1\u8BED",v:"\u82CF\u6559\u72487\u5E74\u7EA7\u82F1\u8BED"},{n:"\u82CF\u6559\u72487\u5E74\u7EA7\u5386\u53F2",v:"\u82CF\u6559\u72487\u5E74\u7EA7\u5386\u53F2"},{n:"\u82CF\u6559\u72487\u5E74\u7EA7\u5730\u7406",v:"\u82CF\u6559\u72487\u5E74\u7EA7\u5730\u7406"},{n:"\u82CF\u6559\u72487\u5E74\u7EA7\u751F\u7269",v:"\u82CF\u6559\u72487\u5E74\u7EA7\u751F\u7269"},{n:"\u82CF\u6559\u72487\u5E74\u7EA7\u7269\u7406",v:"\u82CF\u6559\u72487\u5E74\u7EA7\u7269\u7406"},{n:"\u82CF\u6559\u72487\u5E74\u7EA7\u5316\u5B66",v:"\u82CF\u6559\u72487\u5E74\u7EA7\u5316\u5B66"},{n:"\u82CF\u6559\u72488\u5E74\u7EA7\u8BED\u6587",v:"\u82CF\u6559\u72488\u5E74\u7EA7\u8BED\u6587"},{n:"\u82CF\u6559\u72488\u5E74\u7EA7\u6570\u5B66",v:"\u82CF\u6559\u72488\u5E74\u7EA7\u6570\u5B66"},{n:"\u82CF\u6559\u72488\u5E74\u7EA7\u82F1\u8BED",v:"\u82CF\u6559\u72488\u5E74\u7EA7\u82F1\u8BED"},{n:"\u82CF\u6559\u72488\u5E74\u7EA7\u5386\u53F2",v:"\u82CF\u6559\u72488\u5E74\u7EA7\u5386\u53F2"},{n:"\u82CF\u6559\u72488\u5E74\u7EA7\u5730\u7406",v:"\u82CF\u6559\u72488\u5E74\u7EA7\u5730\u7406"},{n:"\u82CF\u6559\u72488\u5E74\u7EA7\u751F\u7269",v:"\u82CF\u6559\u72488\u5E74\u7EA7\u751F\u7269"},{n:"\u82CF\u6559\u72488\u5E74\u7EA7\u7269\u7406",v:"\u82CF\u6559\u72488\u5E74\u7EA7\u7269\u7406"},{n:"\u82CF\u6559\u72488\u5E74\u7EA7\u5316\u5B66",v:"\u82CF\u6559\u72488\u5E74\u7EA7\u5316\u5B66"},{n:"\u82CF\u6559\u72489\u5E74\u7EA7\u8BED\u6587",v:"\u82CF\u6559\u72489\u5E74\u7EA7\u8BED\u6587"},{n:"\u82CF\u6559\u72489\u5E74\u7EA7\u6570\u5B66",v:"\u82CF\u6559\u72489\u5E74\u7EA7\u6570\u5B66"},{n:"\u82CF\u6559\u72489\u5E74\u7EA7\u82F1\u8BED",v:"\u82CF\u6559\u72489\u5E74\u7EA7\u82F1\u8BED"},{n:"\u82CF\u6559\u72489\u5E74\u7EA7\u5386\u53F2",v:"\u82CF\u6559\u72489\u5E74\u7EA7\u5386\u53F2"},{n:"\u82CF\u6559\u72489\u5E74\u7EA7\u5730\u7406",v:"\u82CF\u6559\u72489\u5E74\u7EA7\u5730\u7406"},{n:"\u82CF\u6559\u72489\u5E74\u7EA7\u751F\u7269",v:"\u82CF\u6559\u72489\u5E74\u7EA7\u751F\u7269"},{n:"\u82CF\u6559\u72489\u5E74\u7EA7\u7269\u7406",v:"\u82CF\u6559\u72489\u5E74\u7EA7\u7269\u7406"},{n:"\u82CF\u6559\u72489\u5E74\u7EA7\u5316\u5B66",v:"\u82CF\u6559\u72489\u5E74\u7EA7\u5316\u5B66"},{n:"\u82CF\u6559\u7248\u9AD8\u4E00\u8BED\u6587",v:"\u82CF\u6559\u7248\u9AD8\u4E00\u8BED\u6587"},{n:"\u82CF\u6559\u7248\u9AD8\u4E00\u6570\u5B66",v:"\u82CF\u6559\u7248\u9AD8\u4E00\u6570\u5B66"},{n:"\u82CF\u6559\u7248\u9AD8\u4E00\u82F1\u8BED",v:"\u82CF\u6559\u7248\u9AD8\u4E00\u82F1\u8BED"},{n:"\u82CF\u6559\u7248\u9AD8\u4E00\u601D\u60F3\u653F\u6CBB",v:"\u82CF\u6559\u7248\u9AD8\u4E00\u601D\u60F3\u653F\u6CBB"},{n:"\u82CF\u6559\u7248\u9AD8\u4E00\u5386\u53F2",v:"\u82CF\u6559\u7248\u9AD8\u4E00\u5386\u53F2"},{n:"\u82CF\u6559\u7248\u9AD8\u4E00\u5730\u7406",v:"\u82CF\u6559\u7248\u9AD8\u4E00\u5730\u7406"},{n:"\u82CF\u6559\u7248\u9AD8\u4E00\u751F\u7269",v:"\u82CF\u6559\u7248\u9AD8\u4E00\u751F\u7269"},{n:"\u82CF\u6559\u7248\u9AD8\u4E00\u7269\u7406",v:"\u82CF\u6559\u7248\u9AD8\u4E00\u7269\u7406"},{n:"\u82CF\u6559\u7248\u9AD8\u4E00\u5316\u5B66",v:"\u82CF\u6559\u7248\u9AD8\u4E00\u5316\u5B66"},{n:"\u82CF\u6559\u7248\u9AD8\u4E8C\u8BED\u6587",v:"\u82CF\u6559\u7248\u9AD8\u4E8C\u8BED\u6587"},{n:"\u82CF\u6559\u7248\u9AD8\u4E8C\u6570\u5B66",v:"\u82CF\u6559\u7248\u9AD8\u4E8C\u6570\u5B66"},{n:"\u82CF\u6559\u7248\u9AD8\u4E8C\u82F1\u8BED",v:"\u82CF\u6559\u7248\u9AD8\u4E8C\u82F1\u8BED"},{n:"\u82CF\u6559\u7248\u9AD8\u4E8C\u601D\u60F3\u653F\u6CBB",v:"\u82CF\u6559\u7248\u9AD8\u4E8C\u601D\u60F3\u653F\u6CBB"},{n:"\u82CF\u6559\u7248\u9AD8\u4E8C\u5386\u53F2",v:"\u82CF\u6559\u7248\u9AD8\u4E8C\u5386\u53F2"},{n:"\u82CF\u6559\u7248\u9AD8\u4E8C\u5730\u7406",v:"\u82CF\u6559\u7248\u9AD8\u4E8C\u5730\u7406"},{n:"\u82CF\u6559\u7248\u9AD8\u4E8C\u751F\u7269",v:"\u82CF\u6559\u7248\u9AD8\u4E8C\u751F\u7269"},{n:"\u82CF\u6559\u7248\u9AD8\u4E8C\u7269\u7406",v:"\u82CF\u6559\u7248\u9AD8\u4E8C\u7269\u7406"},{n:"\u82CF\u6559\u7248\u9AD8\u4E8C\u5316\u5B66",v:"\u82CF\u6559\u7248\u9AD8\u4E8C\u5316\u5B66"},{n:"\u82CF\u6559\u7248\u9AD8\u4E09\u8BED\u6587",v:"\u82CF\u6559\u7248\u9AD8\u4E09\u8BED\u6587"},{n:"\u82CF\u6559\u7248\u9AD8\u4E09\u6570\u5B66",v:"\u82CF\u6559\u7248\u9AD8\u4E09\u6570\u5B66"},{n:"\u82CF\u6559\u7248\u9AD8\u4E09\u82F1\u8BED",v:"\u82CF\u6559\u7248\u9AD8\u4E09\u82F1\u8BED"},{n:"\u82CF\u6559\u7248\u9AD8\u4E09\u601D\u60F3\u653F\u6CBB",v:"\u82CF\u6559\u7248\u9AD8\u4E09\u601D\u60F3\u653F\u6CBB"},{n:"\u82CF\u6559\u7248\u9AD8\u4E09\u5386\u53F2",v:"\u82CF\u6559\u7248\u9AD8\u4E09\u5386\u53F2"},{n:"\u82CF\u6559\u7248\u9AD8\u4E09\u5730\u7406",v:"\u82CF\u6559\u7248\u9AD8\u4E09\u5730\u7406"},{n:"\u82CF\u6559\u7248\u9AD8\u4E09\u751F\u7269",v:"\u82CF\u6559\u7248\u9AD8\u4E09\u751F\u7269"},{n:"\u82CF\u6559\u7248\u9AD8\u4E09\u7269\u7406",v:"\u82CF\u6559\u7248\u9AD8\u4E09\u7269\u7406"},{n:"\u82CF\u6559\u7248\u9AD8\u4E09\u5316\u5B66",v:"\u82CF\u6559\u7248\u9AD8\u4E09\u5316\u5B66"}]},{key:"tidb",name:"\u4EBA\u6559\u7248\u5E74\u7EA7\u79D1\u76EE",value:[{n:"\u4EBA\u6559\u72481\u5E74\u7EA7\u8BED\u6587",v:"\u4EBA\u6559\u72481\u5E74\u7EA7\u8BED\u6587"},{n:"\u4EBA\u6559\u72481\u5E74\u7EA7\u6570\u5B66",v:"\u4EBA\u6559\u72481\u5E74\u7EA7\u6570\u5B66"},{n:"\u4EBA\u6559\u72481\u5E74\u7EA7\u82F1\u8BED",v:"\u4EBA\u6559\u72481\u5E74\u7EA7\u82F1\u8BED"},{n:"\u4EBA\u6559\u72482\u5E74\u7EA7\u8BED\u6587",v:"\u4EBA\u6559\u72482\u5E74\u7EA7\u8BED\u6587"},{n:"\u4EBA\u6559\u72482\u5E74\u7EA7\u6570\u5B66",v:"\u4EBA\u6559\u72482\u5E74\u7EA7\u6570\u5B66"},{n:"\u4EBA\u6559\u72482\u5E74\u7EA7\u82F1\u8BED",v:"\u4EBA\u6559\u72482\u5E74\u7EA7\u82F1\u8BED"},{n:"\u4EBA\u6559\u72483\u5E74\u7EA7\u8BED\u6587",v:"\u4EBA\u6559\u72483\u5E74\u7EA7\u8BED\u6587"},{n:"\u4EBA\u6559\u72483\u5E74\u7EA7\u6570\u5B66",v:"\u4EBA\u6559\u72483\u5E74\u7EA7\u6570\u5B66"},{n:"\u4EBA\u6559\u72483\u5E74\u7EA7\u82F1\u8BED",v:"\u4EBA\u6559\u72483\u5E74\u7EA7\u82F1\u8BED"},{n:"\u4EBA\u6559\u72484\u5E74\u7EA7\u8BED\u6587",v:"\u4EBA\u6559\u72484\u5E74\u7EA7\u8BED\u6587"},{n:"\u4EBA\u6559\u72484\u5E74\u7EA7\u6570\u5B66",v:"\u4EBA\u6559\u72484\u5E74\u7EA7\u6570\u5B66"},{n:"\u4EBA\u6559\u72484\u5E74\u7EA7\u82F1\u8BED",v:"\u4EBA\u6559\u72484\u5E74\u7EA7\u82F1\u8BED"},{n:"\u4EBA\u6559\u72485\u5E74\u7EA7\u8BED\u6587",v:"\u4EBA\u6559\u72485\u5E74\u7EA7\u8BED\u6587"},{n:"\u4EBA\u6559\u72485\u5E74\u7EA7\u6570\u5B66",v:"\u4EBA\u6559\u72485\u5E74\u7EA7\u6570\u5B66"},{n:"\u4EBA\u6559\u72485\u5E74\u7EA7\u82F1\u8BED",v:"\u4EBA\u6559\u72485\u5E74\u7EA7\u82F1\u8BED"},{n:"\u4EBA\u6559\u72486\u5E74\u7EA7\u8BED\u6587",v:"\u4EBA\u6559\u72486\u5E74\u7EA7\u8BED\u6587"},{n:"\u4EBA\u6559\u72486\u5E74\u7EA7\u6570\u5B66",v:"\u4EBA\u6559\u72486\u5E74\u7EA7\u6570\u5B66"},{n:"\u4EBA\u6559\u72486\u5E74\u7EA7\u82F1\u8BED",v:"\u4EBA\u6559\u72486\u5E74\u7EA7\u82F1\u8BED"},{n:"\u4EBA\u6559\u72487\u5E74\u7EA7\u8BED\u6587",v:"\u4EBA\u6559\u72487\u5E74\u7EA7\u8BED\u6587"},{n:"\u4EBA\u6559\u72487\u5E74\u7EA7\u6570\u5B66",v:"\u4EBA\u6559\u72487\u5E74\u7EA7\u6570\u5B66"},{n:"\u4EBA\u6559\u72487\u5E74\u7EA7\u82F1\u8BED",v:"\u4EBA\u6559\u72487\u5E74\u7EA7\u82F1\u8BED"},{n:"\u4EBA\u6559\u72487\u5E74\u7EA7\u5386\u53F2",v:"\u4EBA\u6559\u72487\u5E74\u7EA7\u5386\u53F2"},{n:"\u4EBA\u6559\u72487\u5E74\u7EA7\u5730\u7406",v:"\u4EBA\u6559\u72487\u5E74\u7EA7\u5730\u7406"},{n:"\u4EBA\u6559\u72487\u5E74\u7EA7\u751F\u7269",v:"\u4EBA\u6559\u72487\u5E74\u7EA7\u751F\u7269"},{n:"\u4EBA\u6559\u72487\u5E74\u7EA7\u7269\u7406",v:"\u4EBA\u6559\u72487\u5E74\u7EA7\u7269\u7406"},{n:"\u4EBA\u6559\u72487\u5E74\u7EA7\u5316\u5B66",v:"\u4EBA\u6559\u72487\u5E74\u7EA7\u5316\u5B66"},{n:"\u4EBA\u6559\u72488\u5E74\u7EA7\u8BED\u6587",v:"\u4EBA\u6559\u72488\u5E74\u7EA7\u8BED\u6587"},{n:"\u4EBA\u6559\u72488\u5E74\u7EA7\u6570\u5B66",v:"\u4EBA\u6559\u72488\u5E74\u7EA7\u6570\u5B66"},{n:"\u4EBA\u6559\u72488\u5E74\u7EA7\u82F1\u8BED",v:"\u4EBA\u6559\u72488\u5E74\u7EA7\u82F1\u8BED"},{n:"\u4EBA\u6559\u72488\u5E74\u7EA7\u5386\u53F2",v:"\u4EBA\u6559\u72488\u5E74\u7EA7\u5386\u53F2"},{n:"\u4EBA\u6559\u72488\u5E74\u7EA7\u5730\u7406",v:"\u4EBA\u6559\u72488\u5E74\u7EA7\u5730\u7406"},{n:"\u4EBA\u6559\u72488\u5E74\u7EA7\u751F\u7269",v:"\u4EBA\u6559\u72488\u5E74\u7EA7\u751F\u7269"},{n:"\u4EBA\u6559\u72488\u5E74\u7EA7\u7269\u7406",v:"\u4EBA\u6559\u72488\u5E74\u7EA7\u7269\u7406"},{n:"\u4EBA\u6559\u72488\u5E74\u7EA7\u5316\u5B66",v:"\u4EBA\u6559\u72488\u5E74\u7EA7\u5316\u5B66"},{n:"\u4EBA\u6559\u72489\u5E74\u7EA7\u8BED\u6587",v:"\u4EBA\u6559\u72489\u5E74\u7EA7\u8BED\u6587"},{n:"\u4EBA\u6559\u72489\u5E74\u7EA7\u6570\u5B66",v:"\u4EBA\u6559\u72489\u5E74\u7EA7\u6570\u5B66"},{n:"\u4EBA\u6559\u72489\u5E74\u7EA7\u82F1\u8BED",v:"\u4EBA\u6559\u72489\u5E74\u7EA7\u82F1\u8BED"},{n:"\u4EBA\u6559\u72489\u5E74\u7EA7\u5386\u53F2",v:"\u4EBA\u6559\u72489\u5E74\u7EA7\u5386\u53F2"},{n:"\u4EBA\u6559\u72489\u5E74\u7EA7\u5730\u7406",v:"\u4EBA\u6559\u72489\u5E74\u7EA7\u5730\u7406"},{n:"\u4EBA\u6559\u72489\u5E74\u7EA7\u751F\u7269",v:"\u4EBA\u6559\u72489\u5E74\u7EA7\u751F\u7269"},{n:"\u4EBA\u6559\u72489\u5E74\u7EA7\u7269\u7406",v:"\u4EBA\u6559\u72489\u5E74\u7EA7\u7269\u7406"},{n:"\u4EBA\u6559\u72489\u5E74\u7EA7\u5316\u5B66",v:"\u4EBA\u6559\u72489\u5E74\u7EA7\u5316\u5B66"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E00\u8BED\u6587",v:"\u4EBA\u6559\u7248\u9AD8\u4E00\u8BED\u6587"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E00\u6570\u5B66",v:"\u4EBA\u6559\u7248\u9AD8\u4E00\u6570\u5B66"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E00\u82F1\u8BED",v:"\u4EBA\u6559\u7248\u9AD8\u4E00\u82F1\u8BED"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E00\u601D\u60F3\u653F\u6CBB",v:"\u4EBA\u6559\u7248\u9AD8\u4E00\u601D\u60F3\u653F\u6CBB"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E00\u5386\u53F2",v:"\u4EBA\u6559\u7248\u9AD8\u4E00\u5386\u53F2"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E00\u5730\u7406",v:"\u4EBA\u6559\u7248\u9AD8\u4E00\u5730\u7406"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E00\u751F\u7269",v:"\u4EBA\u6559\u7248\u9AD8\u4E00\u751F\u7269"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E00\u7269\u7406",v:"\u4EBA\u6559\u7248\u9AD8\u4E00\u7269\u7406"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E00\u5316\u5B66",v:"\u4EBA\u6559\u7248\u9AD8\u4E00\u5316\u5B66"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E8C\u8BED\u6587",v:"\u4EBA\u6559\u7248\u9AD8\u4E8C\u8BED\u6587"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E8C\u6570\u5B66",v:"\u4EBA\u6559\u7248\u9AD8\u4E8C\u6570\u5B66"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E8C\u82F1\u8BED",v:"\u4EBA\u6559\u7248\u9AD8\u4E8C\u82F1\u8BED"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E8C\u601D\u60F3\u653F\u6CBB",v:"\u4EBA\u6559\u7248\u9AD8\u4E8C\u601D\u60F3\u653F\u6CBB"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E8C\u5386\u53F2",v:"\u4EBA\u6559\u7248\u9AD8\u4E8C\u5386\u53F2"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E8C\u5730\u7406",v:"\u4EBA\u6559\u7248\u9AD8\u4E8C\u5730\u7406"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E8C\u751F\u7269",v:"\u4EBA\u6559\u7248\u9AD8\u4E8C\u751F\u7269"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E8C\u7269\u7406",v:"\u4EBA\u6559\u7248\u9AD8\u4E8C\u7269\u7406"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E8C\u5316\u5B66",v:"\u4EBA\u6559\u7248\u9AD8\u4E8C\u5316\u5B66"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E09\u8BED\u6587",v:"\u4EBA\u6559\u7248\u9AD8\u4E09\u8BED\u6587"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E09\u6570\u5B66",v:"\u4EBA\u6559\u7248\u9AD8\u4E09\u6570\u5B66"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E09\u82F1\u8BED",v:"\u4EBA\u6559\u7248\u9AD8\u4E09\u82F1\u8BED"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E09\u601D\u60F3\u653F\u6CBB",v:"\u4EBA\u6559\u7248\u9AD8\u4E09\u601D\u60F3\u653F\u6CBB"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E09\u5386\u53F2",v:"\u4EBA\u6559\u7248\u9AD8\u4E09\u5386\u53F2"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E09\u5730\u7406",v:"\u4EBA\u6559\u7248\u9AD8\u4E09\u5730\u7406"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E09\u751F\u7269",v:"\u4EBA\u6559\u7248\u9AD8\u4E09\u751F\u7269"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E09\u7269\u7406",v:"\u4EBA\u6559\u7248\u9AD8\u4E09\u7269\u7406"},{n:"\u4EBA\u6559\u7248\u9AD8\u4E09\u5316\u5B66",v:"\u4EBA\u6559\u7248\u9AD8\u4E09\u5316\u5B66"}]},{key:"tidc",name:"\u6CAA\u6559\u7248\u5E74\u7EA7\u79D1\u76EE",value:[{n:"\u6CAA\u6559\u72481\u5E74\u7EA7\u8BED\u6587",v:"\u6CAA\u6559\u72481\u5E74\u7EA7\u8BED\u6587"},{n:"\u6CAA\u6559\u72481\u5E74\u7EA7\u6570\u5B66",v:"\u6CAA\u6559\u72481\u5E74\u7EA7\u6570\u5B66"},{n:"\u6CAA\u6559\u72481\u5E74\u7EA7\u82F1\u8BED",v:"\u6CAA\u6559\u72481\u5E74\u7EA7\u82F1\u8BED"},{n:"\u6CAA\u6559\u72482\u5E74\u7EA7\u8BED\u6587",v:"\u6CAA\u6559\u72482\u5E74\u7EA7\u8BED\u6587"},{n:"\u6CAA\u6559\u72482\u5E74\u7EA7\u6570\u5B66",v:"\u6CAA\u6559\u72482\u5E74\u7EA7\u6570\u5B66"},{n:"\u6CAA\u6559\u72482\u5E74\u7EA7\u82F1\u8BED",v:"\u6CAA\u6559\u72482\u5E74\u7EA7\u82F1\u8BED"},{n:"\u6CAA\u6559\u72483\u5E74\u7EA7\u8BED\u6587",v:"\u6CAA\u6559\u72483\u5E74\u7EA7\u8BED\u6587"},{n:"\u6CAA\u6559\u72483\u5E74\u7EA7\u6570\u5B66",v:"\u6CAA\u6559\u72483\u5E74\u7EA7\u6570\u5B66"},{n:"\u6CAA\u6559\u72483\u5E74\u7EA7\u82F1\u8BED",v:"\u6CAA\u6559\u72483\u5E74\u7EA7\u82F1\u8BED"},{n:"\u6CAA\u6559\u72484\u5E74\u7EA7\u8BED\u6587",v:"\u6CAA\u6559\u72484\u5E74\u7EA7\u8BED\u6587"},{n:"\u6CAA\u6559\u72484\u5E74\u7EA7\u6570\u5B66",v:"\u6CAA\u6559\u72484\u5E74\u7EA7\u6570\u5B66"},{n:"\u6CAA\u6559\u72484\u5E74\u7EA7\u82F1\u8BED",v:"\u6CAA\u6559\u72484\u5E74\u7EA7\u82F1\u8BED"},{n:"\u6CAA\u6559\u72485\u5E74\u7EA7\u8BED\u6587",v:"\u6CAA\u6559\u72485\u5E74\u7EA7\u8BED\u6587"},{n:"\u6CAA\u6559\u72485\u5E74\u7EA7\u6570\u5B66",v:"\u6CAA\u6559\u72485\u5E74\u7EA7\u6570\u5B66"},{n:"\u6CAA\u6559\u72485\u5E74\u7EA7\u82F1\u8BED",v:"\u6CAA\u6559\u72485\u5E74\u7EA7\u82F1\u8BED"},{n:"\u6CAA\u6559\u72486\u5E74\u7EA7\u8BED\u6587",v:"\u6CAA\u6559\u72486\u5E74\u7EA7\u8BED\u6587"},{n:"\u6CAA\u6559\u72486\u5E74\u7EA7\u6570\u5B66",v:"\u6CAA\u6559\u72486\u5E74\u7EA7\u6570\u5B66"},{n:"\u6CAA\u6559\u72486\u5E74\u7EA7\u82F1\u8BED",v:"\u6CAA\u6559\u72486\u5E74\u7EA7\u82F1\u8BED"},{n:"\u6CAA\u6559\u72487\u5E74\u7EA7\u8BED\u6587",v:"\u6CAA\u6559\u72487\u5E74\u7EA7\u8BED\u6587"},{n:"\u6CAA\u6559\u72487\u5E74\u7EA7\u6570\u5B66",v:"\u6CAA\u6559\u72487\u5E74\u7EA7\u6570\u5B66"},{n:"\u6CAA\u6559\u72487\u5E74\u7EA7\u82F1\u8BED",v:"\u6CAA\u6559\u72487\u5E74\u7EA7\u82F1\u8BED"},{n:"\u6CAA\u6559\u72487\u5E74\u7EA7\u5386\u53F2",v:"\u6CAA\u6559\u72487\u5E74\u7EA7\u5386\u53F2"},{n:"\u6CAA\u6559\u72487\u5E74\u7EA7\u5730\u7406",v:"\u6CAA\u6559\u72487\u5E74\u7EA7\u5730\u7406"},{n:"\u6CAA\u6559\u72487\u5E74\u7EA7\u751F\u7269",v:"\u6CAA\u6559\u72487\u5E74\u7EA7\u751F\u7269"},{n:"\u6CAA\u6559\u72487\u5E74\u7EA7\u7269\u7406",v:"\u6CAA\u6559\u72487\u5E74\u7EA7\u7269\u7406"},{n:"\u6CAA\u6559\u72487\u5E74\u7EA7\u5316\u5B66",v:"\u6CAA\u6559\u72487\u5E74\u7EA7\u5316\u5B66"},{n:"\u6CAA\u6559\u72488\u5E74\u7EA7\u8BED\u6587",v:"\u6CAA\u6559\u72488\u5E74\u7EA7\u8BED\u6587"},{n:"\u6CAA\u6559\u72488\u5E74\u7EA7\u6570\u5B66",v:"\u6CAA\u6559\u72488\u5E74\u7EA7\u6570\u5B66"},{n:"\u6CAA\u6559\u72488\u5E74\u7EA7\u82F1\u8BED",v:"\u6CAA\u6559\u72488\u5E74\u7EA7\u82F1\u8BED"},{n:"\u6CAA\u6559\u72488\u5E74\u7EA7\u5386\u53F2",v:"\u6CAA\u6559\u72488\u5E74\u7EA7\u5386\u53F2"},{n:"\u6CAA\u6559\u72488\u5E74\u7EA7\u5730\u7406",v:"\u6CAA\u6559\u72488\u5E74\u7EA7\u5730\u7406"},{n:"\u6CAA\u6559\u72488\u5E74\u7EA7\u751F\u7269",v:"\u6CAA\u6559\u72488\u5E74\u7EA7\u751F\u7269"},{n:"\u6CAA\u6559\u72488\u5E74\u7EA7\u7269\u7406",v:"\u6CAA\u6559\u72488\u5E74\u7EA7\u7269\u7406"},{n:"\u6CAA\u6559\u72488\u5E74\u7EA7\u5316\u5B66",v:"\u6CAA\u6559\u72488\u5E74\u7EA7\u5316\u5B66"},{n:"\u6CAA\u6559\u72489\u5E74\u7EA7\u8BED\u6587",v:"\u6CAA\u6559\u72489\u5E74\u7EA7\u8BED\u6587"},{n:"\u6CAA\u6559\u72489\u5E74\u7EA7\u6570\u5B66",v:"\u6CAA\u6559\u72489\u5E74\u7EA7\u6570\u5B66"},{n:"\u6CAA\u6559\u72489\u5E74\u7EA7\u82F1\u8BED",v:"\u6CAA\u6559\u72489\u5E74\u7EA7\u82F1\u8BED"},{n:"\u6CAA\u6559\u72489\u5E74\u7EA7\u5386\u53F2",v:"\u6CAA\u6559\u72489\u5E74\u7EA7\u5386\u53F2"},{n:"\u6CAA\u6559\u72489\u5E74\u7EA7\u5730\u7406",v:"\u6CAA\u6559\u72489\u5E74\u7EA7\u5730\u7406"},{n:"\u6CAA\u6559\u72489\u5E74\u7EA7\u751F\u7269",v:"\u6CAA\u6559\u72489\u5E74\u7EA7\u751F\u7269"},{n:"\u6CAA\u6559\u72489\u5E74\u7EA7\u7269\u7406",v:"\u6CAA\u6559\u72489\u5E74\u7EA7\u7269\u7406"},{n:"\u6CAA\u6559\u72489\u5E74\u7EA7\u5316\u5B66",v:"\u6CAA\u6559\u72489\u5E74\u7EA7\u5316\u5B66"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E00\u8BED\u6587",v:"\u6CAA\u6559\u7248\u9AD8\u4E00\u8BED\u6587"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E00\u6570\u5B66",v:"\u6CAA\u6559\u7248\u9AD8\u4E00\u6570\u5B66"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E00\u82F1\u8BED",v:"\u6CAA\u6559\u7248\u9AD8\u4E00\u82F1\u8BED"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E00\u601D\u60F3\u653F\u6CBB",v:"\u6CAA\u6559\u7248\u9AD8\u4E00\u601D\u60F3\u653F\u6CBB"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E00\u5386\u53F2",v:"\u6CAA\u6559\u7248\u9AD8\u4E00\u5386\u53F2"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E00\u5730\u7406",v:"\u6CAA\u6559\u7248\u9AD8\u4E00\u5730\u7406"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E00\u751F\u7269",v:"\u6CAA\u6559\u7248\u9AD8\u4E00\u751F\u7269"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E00\u7269\u7406",v:"\u6CAA\u6559\u7248\u9AD8\u4E00\u7269\u7406"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E00\u5316\u5B66",v:"\u6CAA\u6559\u7248\u9AD8\u4E00\u5316\u5B66"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E8C\u8BED\u6587",v:"\u6CAA\u6559\u7248\u9AD8\u4E8C\u8BED\u6587"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E8C\u6570\u5B66",v:"\u6CAA\u6559\u7248\u9AD8\u4E8C\u6570\u5B66"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E8C\u82F1\u8BED",v:"\u6CAA\u6559\u7248\u9AD8\u4E8C\u82F1\u8BED"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E8C\u601D\u60F3\u653F\u6CBB",v:"\u6CAA\u6559\u7248\u9AD8\u4E8C\u601D\u60F3\u653F\u6CBB"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E8C\u5386\u53F2",v:"\u6CAA\u6559\u7248\u9AD8\u4E8C\u5386\u53F2"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E8C\u5730\u7406",v:"\u6CAA\u6559\u7248\u9AD8\u4E8C\u5730\u7406"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E8C\u751F\u7269",v:"\u6CAA\u6559\u7248\u9AD8\u4E8C\u751F\u7269"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E8C\u7269\u7406",v:"\u6CAA\u6559\u7248\u9AD8\u4E8C\u7269\u7406"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E8C\u5316\u5B66",v:"\u6CAA\u6559\u7248\u9AD8\u4E8C\u5316\u5B66"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E09\u8BED\u6587",v:"\u6CAA\u6559\u7248\u9AD8\u4E09\u8BED\u6587"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E09\u6570\u5B66",v:"\u6CAA\u6559\u7248\u9AD8\u4E09\u6570\u5B66"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E09\u82F1\u8BED",v:"\u6CAA\u6559\u7248\u9AD8\u4E09\u82F1\u8BED"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E09\u601D\u60F3\u653F\u6CBB",v:"\u6CAA\u6559\u7248\u9AD8\u4E09\u601D\u60F3\u653F\u6CBB"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E09\u5386\u53F2",v:"\u6CAA\u6559\u7248\u9AD8\u4E09\u5386\u53F2"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E09\u5730\u7406",v:"\u6CAA\u6559\u7248\u9AD8\u4E09\u5730\u7406"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E09\u751F\u7269",v:"\u6CAA\u6559\u7248\u9AD8\u4E09\u751F\u7269"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E09\u7269\u7406",v:"\u6CAA\u6559\u7248\u9AD8\u4E09\u7269\u7406"},{n:"\u6CAA\u6559\u7248\u9AD8\u4E09\u5316\u5B66",v:"\u6CAA\u6559\u7248\u9AD8\u4E09\u5316\u5B66"}]},{key:"tidd",name:"\u5317\u5E08\u5927\u7248\u5E74\u7EA7\u79D1\u76EE",value:[{n:"\u5317\u5E08\u5927\u72481\u5E74\u7EA7\u8BED\u6587",v:"\u5317\u5E08\u5927\u72481\u5E74\u7EA7\u8BED\u6587"},{n:"\u5317\u5E08\u5927\u72481\u5E74\u7EA7\u6570\u5B66",v:"\u5317\u5E08\u5927\u72481\u5E74\u7EA7\u6570\u5B66"},{n:"\u5317\u5E08\u5927\u72481\u5E74\u7EA7\u82F1\u8BED",v:"\u5317\u5E08\u5927\u72481\u5E74\u7EA7\u82F1\u8BED"},{n:"\u5317\u5E08\u5927\u72482\u5E74\u7EA7\u8BED\u6587",v:"\u5317\u5E08\u5927\u72482\u5E74\u7EA7\u8BED\u6587"},{n:"\u5317\u5E08\u5927\u72482\u5E74\u7EA7\u6570\u5B66",v:"\u5317\u5E08\u5927\u72482\u5E74\u7EA7\u6570\u5B66"},{n:"\u5317\u5E08\u5927\u72482\u5E74\u7EA7\u82F1\u8BED",v:"\u5317\u5E08\u5927\u72482\u5E74\u7EA7\u82F1\u8BED"},{n:"\u5317\u5E08\u5927\u72483\u5E74\u7EA7\u8BED\u6587",v:"\u5317\u5E08\u5927\u72483\u5E74\u7EA7\u8BED\u6587"},{n:"\u5317\u5E08\u5927\u72483\u5E74\u7EA7\u6570\u5B66",v:"\u5317\u5E08\u5927\u72483\u5E74\u7EA7\u6570\u5B66"},{n:"\u5317\u5E08\u5927\u72483\u5E74\u7EA7\u82F1\u8BED",v:"\u5317\u5E08\u5927\u72483\u5E74\u7EA7\u82F1\u8BED"},{n:"\u5317\u5E08\u5927\u72484\u5E74\u7EA7\u8BED\u6587",v:"\u5317\u5E08\u5927\u72484\u5E74\u7EA7\u8BED\u6587"},{n:"\u5317\u5E08\u5927\u72484\u5E74\u7EA7\u6570\u5B66",v:"\u5317\u5E08\u5927\u72484\u5E74\u7EA7\u6570\u5B66"},{n:"\u5317\u5E08\u5927\u72484\u5E74\u7EA7\u82F1\u8BED",v:"\u5317\u5E08\u5927\u72484\u5E74\u7EA7\u82F1\u8BED"},{n:"\u5317\u5E08\u5927\u72485\u5E74\u7EA7\u8BED\u6587",v:"\u5317\u5E08\u5927\u72485\u5E74\u7EA7\u8BED\u6587"},{n:"\u5317\u5E08\u5927\u72485\u5E74\u7EA7\u6570\u5B66",v:"\u5317\u5E08\u5927\u72485\u5E74\u7EA7\u6570\u5B66"},{n:"\u5317\u5E08\u5927\u72485\u5E74\u7EA7\u82F1\u8BED",v:"\u5317\u5E08\u5927\u72485\u5E74\u7EA7\u82F1\u8BED"},{n:"\u5317\u5E08\u5927\u72486\u5E74\u7EA7\u8BED\u6587",v:"\u5317\u5E08\u5927\u72486\u5E74\u7EA7\u8BED\u6587"},{n:"\u5317\u5E08\u5927\u72486\u5E74\u7EA7\u6570\u5B66",v:"\u5317\u5E08\u5927\u72486\u5E74\u7EA7\u6570\u5B66"},{n:"\u5317\u5E08\u5927\u72486\u5E74\u7EA7\u82F1\u8BED",v:"\u5317\u5E08\u5927\u72486\u5E74\u7EA7\u82F1\u8BED"},{n:"\u5317\u5E08\u5927\u72487\u5E74\u7EA7\u8BED\u6587",v:"\u5317\u5E08\u5927\u72487\u5E74\u7EA7\u8BED\u6587"},{n:"\u5317\u5E08\u5927\u72487\u5E74\u7EA7\u6570\u5B66",v:"\u5317\u5E08\u5927\u72487\u5E74\u7EA7\u6570\u5B66"},{n:"\u5317\u5E08\u5927\u72487\u5E74\u7EA7\u82F1\u8BED",v:"\u5317\u5E08\u5927\u72487\u5E74\u7EA7\u82F1\u8BED"},{n:"\u5317\u5E08\u5927\u72487\u5E74\u7EA7\u5386\u53F2",v:"\u5317\u5E08\u5927\u72487\u5E74\u7EA7\u5386\u53F2"},{n:"\u5317\u5E08\u5927\u72487\u5E74\u7EA7\u5730\u7406",v:"\u5317\u5E08\u5927\u72487\u5E74\u7EA7\u5730\u7406"},{n:"\u5317\u5E08\u5927\u72487\u5E74\u7EA7\u751F\u7269",v:"\u5317\u5E08\u5927\u72487\u5E74\u7EA7\u751F\u7269"},{n:"\u5317\u5E08\u5927\u72487\u5E74\u7EA7\u7269\u7406",v:"\u5317\u5E08\u5927\u72487\u5E74\u7EA7\u7269\u7406"},{n:"\u5317\u5E08\u5927\u72487\u5E74\u7EA7\u5316\u5B66",v:"\u5317\u5E08\u5927\u72487\u5E74\u7EA7\u5316\u5B66"},{n:"\u5317\u5E08\u5927\u72488\u5E74\u7EA7\u8BED\u6587",v:"\u5317\u5E08\u5927\u72488\u5E74\u7EA7\u8BED\u6587"},{n:"\u5317\u5E08\u5927\u72488\u5E74\u7EA7\u6570\u5B66",v:"\u5317\u5E08\u5927\u72488\u5E74\u7EA7\u6570\u5B66"},{n:"\u5317\u5E08\u5927\u72488\u5E74\u7EA7\u82F1\u8BED",v:"\u5317\u5E08\u5927\u72488\u5E74\u7EA7\u82F1\u8BED"},{n:"\u5317\u5E08\u5927\u72488\u5E74\u7EA7\u5386\u53F2",v:"\u5317\u5E08\u5927\u72488\u5E74\u7EA7\u5386\u53F2"},{n:"\u5317\u5E08\u5927\u72488\u5E74\u7EA7\u5730\u7406",v:"\u5317\u5E08\u5927\u72488\u5E74\u7EA7\u5730\u7406"},{n:"\u5317\u5E08\u5927\u72488\u5E74\u7EA7\u751F\u7269",v:"\u5317\u5E08\u5927\u72488\u5E74\u7EA7\u751F\u7269"},{n:"\u5317\u5E08\u5927\u72488\u5E74\u7EA7\u7269\u7406",v:"\u5317\u5E08\u5927\u72488\u5E74\u7EA7\u7269\u7406"},{n:"\u5317\u5E08\u5927\u72488\u5E74\u7EA7\u5316\u5B66",v:"\u5317\u5E08\u5927\u72488\u5E74\u7EA7\u5316\u5B66"},{n:"\u5317\u5E08\u5927\u72489\u5E74\u7EA7\u8BED\u6587",v:"\u5317\u5E08\u5927\u72489\u5E74\u7EA7\u8BED\u6587"},{n:"\u5317\u5E08\u5927\u72489\u5E74\u7EA7\u6570\u5B66",v:"\u5317\u5E08\u5927\u72489\u5E74\u7EA7\u6570\u5B66"},{n:"\u5317\u5E08\u5927\u72489\u5E74\u7EA7\u82F1\u8BED",v:"\u5317\u5E08\u5927\u72489\u5E74\u7EA7\u82F1\u8BED"},{n:"\u5317\u5E08\u5927\u72489\u5E74\u7EA7\u5386\u53F2",v:"\u5317\u5E08\u5927\u72489\u5E74\u7EA7\u5386\u53F2"},{n:"\u5317\u5E08\u5927\u72489\u5E74\u7EA7\u5730\u7406",v:"\u5317\u5E08\u5927\u72489\u5E74\u7EA7\u5730\u7406"},{n:"\u5317\u5E08\u5927\u72489\u5E74\u7EA7\u751F\u7269",v:"\u5317\u5E08\u5927\u72489\u5E74\u7EA7\u751F\u7269"},{n:"\u5317\u5E08\u5927\u72489\u5E74\u7EA7\u7269\u7406",v:"\u5317\u5E08\u5927\u72489\u5E74\u7EA7\u7269\u7406"},{n:"\u5317\u5E08\u5927\u72489\u5E74\u7EA7\u5316\u5B66",v:"\u5317\u5E08\u5927\u72489\u5E74\u7EA7\u5316\u5B66"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E00\u8BED\u6587",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E00\u8BED\u6587"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E00\u6570\u5B66",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E00\u6570\u5B66"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E00\u82F1\u8BED",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E00\u82F1\u8BED"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E00\u601D\u60F3\u653F\u6CBB",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E00\u601D\u60F3\u653F\u6CBB"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E00\u5386\u53F2",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E00\u5386\u53F2"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E00\u5730\u7406",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E00\u5730\u7406"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E00\u751F\u7269",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E00\u751F\u7269"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E00\u7269\u7406",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E00\u7269\u7406"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E00\u5316\u5B66",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E00\u5316\u5B66"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E8C\u8BED\u6587",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E8C\u8BED\u6587"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E8C\u6570\u5B66",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E8C\u6570\u5B66"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E8C\u82F1\u8BED",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E8C\u82F1\u8BED"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E8C\u601D\u60F3\u653F\u6CBB",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E8C\u601D\u60F3\u653F\u6CBB"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E8C\u5386\u53F2",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E8C\u5386\u53F2"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E8C\u5730\u7406",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E8C\u5730\u7406"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E8C\u751F\u7269",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E8C\u751F\u7269"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E8C\u7269\u7406",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E8C\u7269\u7406"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E8C\u5316\u5B66",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E8C\u5316\u5B66"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E09\u8BED\u6587",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E09\u8BED\u6587"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E09\u6570\u5B66",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E09\u6570\u5B66"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E09\u82F1\u8BED",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E09\u82F1\u8BED"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E09\u601D\u60F3\u653F\u6CBB",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E09\u601D\u60F3\u653F\u6CBB"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E09\u5386\u53F2",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E09\u5386\u53F2"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E09\u5730\u7406",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E09\u5730\u7406"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E09\u751F\u7269",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E09\u751F\u7269"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E09\u7269\u7406",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E09\u7269\u7406"},{n:"\u5317\u5E08\u5927\u7248\u9AD8\u4E09\u5316\u5B66",v:"\u5317\u5E08\u5927\u7248\u9AD8\u4E09\u5316\u5B66"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}],\u98CE\u666F:[{key:"tida",name:"\u5206\u7C7B",value:[{n:"\u98CE\u666F",v:"\u98CE\u666F"},{n:"\u6FB3\u95E8\u98CE\u666F",v:"\u6FB3\u95E8\u98CE\u666F"},{n:"\u5B89\u5FBD\u98CE\u666F",v:"\u5B89\u5FBD\u98CE\u666F"},{n:"\u5E03\u8FBE\u62C9\u5BAB\u98CE\u666F",v:"\u5E03\u8FBE\u62C9\u5BAB\u98CE\u666F"},{n:"\u5317\u4EAC\u98CE\u666F",v:"\u5317\u4EAC\u98CE\u666F"},{n:"\u91CD\u5E86\u98CE\u666F",v:"\u91CD\u5E86\u98CE\u666F"},{n:"\u8349\u539F\u98CE\u666F",v:"\u8349\u539F\u98CE\u666F"},{n:"\u5927\u6D77\u98CE\u666F",v:"\u5927\u6D77\u98CE\u666F"},{n:"\u798F\u5EFA\u98CE\u666F",v:"\u798F\u5EFA\u98CE\u666F"},{n:"\u5E7F\u4E1C\u98CE\u666F",v:"\u5E7F\u4E1C\u98CE\u666F"},{n:"\u5E7F\u897F\u98CE\u666F",v:"\u5E7F\u897F\u98CE\u666F"},{n:"\u8D35\u5DDE\u98CE\u666F",v:"\u8D35\u5DDE\u98CE\u666F"},{n:"\u7518\u8083\u98CE\u666F",v:"\u7518\u8083\u98CE\u666F"},{n:"\u6D77\u5357\u98CE\u666F",v:"\u6D77\u5357\u98CE\u666F"},{n:"\u6CB3\u5317\u98CE\u666F",v:"\u6CB3\u5317\u98CE\u666F"},{n:"\u6CB3\u5357\u98CE\u666F",v:"\u6CB3\u5357\u98CE\u666F"},{n:"\u6E56\u5317\u98CE\u666F",v:"\u6E56\u5317\u98CE\u666F"},{n:"\u6E56\u5357\u98CE\u666F",v:"\u6E56\u5357\u98CE\u666F"},{n:"\u9ED1\u9F99\u6C5F\u98CE\u666F",v:"\u9ED1\u9F99\u6C5F\u98CE\u666F"},{n:"\u5409\u6797\u98CE\u666F",v:"\u5409\u6797\u98CE\u666F"},{n:"\u6C5F\u82CF\u98CE\u666F",v:"\u6C5F\u82CF\u98CE\u666F"},{n:"\u6C5F\u897F\u98CE\u666F",v:"\u6C5F\u897F\u98CE\u666F"},{n:"\u8FBD\u5B81\u98CE\u666F",v:"\u8FBD\u5B81\u98CE\u666F"},{n:"\u6C11\u5BBF\u98CE\u666F",v:"\u6C11\u5BBF\u98CE\u666F"},{n:"\u5185\u8499\u53E4\u98CE\u666F",v:"\u5185\u8499\u53E4\u98CE\u666F"},{n:"\u5B81\u590F\u98CE\u666F",v:"\u5B81\u590F\u98CE\u666F"},{n:"\u9752\u6D77\u98CE\u666F",v:"\u9752\u6D77\u98CE\u666F"},{n:"\u4E0A\u6D77\u98CE\u666F",v:"\u4E0A\u6D77\u98CE\u666F"},{n:"\u9655\u897F\u98CE\u666F",v:"\u9655\u897F\u98CE\u666F"},{n:"\u56DB\u5DDD\u98CE\u666F",v:"\u56DB\u5DDD\u98CE\u666F"},{n:"\u5C71\u897F\u98CE\u666F",v:"\u5C71\u897F\u98CE\u666F"},{n:"\u5C71\u4E1C\u98CE\u666F",v:"\u5C71\u4E1C\u98CE\u666F"},{n:"\u5929\u6D25\u98CE\u666F",v:"\u5929\u6D25\u98CE\u666F"},{n:"\u53F0\u6E7E\u98CE\u666F",v:"\u53F0\u6E7E\u98CE\u666F"},{n:"\u5929\u7A7A\u98CE\u666F",v:"\u5929\u7A7A\u98CE\u666F"},{n:"\u897F\u6E56\u98CE\u666F",v:"\u897F\u6E56\u98CE\u666F"},{n:"\u897F\u85CF\u98CE\u666F",v:"\u897F\u85CF\u98CE\u666F"},{n:"\u65B0\u7586\u98CE\u666F",v:"\u65B0\u7586\u98CE\u666F"},{n:"\u9999\u6E2F\u98CE\u666F",v:"\u9999\u6E2F\u98CE\u666F"},{n:"\u4E91\u5357\u98CE\u666F",v:"\u4E91\u5357\u98CE\u666F"},{n:"\u6D59\u6C5F\u98CE\u666F",v:"\u6D59\u6C5F\u98CE\u666F"},{n:"\u6CB3\u5357\u536B\u89C6\u56FD\u98CE",v:"\u6CB3\u5357\u536B\u89C6\u56FD\u98CE"}]},{key:"tidb",name:"\u5206\u7C7B",value:[{n:"4K\u98CE\u666F",v:"4K\u98CE\u666F"},{n:"4K\u6FB3\u95E8\u98CE\u666F",v:"4K\u6FB3\u95E8\u98CE\u666F"},{n:"4K\u5B89\u5FBD\u98CE\u666F",v:"4K\u5B89\u5FBD\u98CE\u666F"},{n:"4K\u5E03\u8FBE\u62C9\u5BAB\u98CE\u666F",v:"4K\u5E03\u8FBE\u62C9\u5BAB\u98CE\u666F"},{n:"4K\u5317\u4EAC\u98CE\u666F",v:"4K\u5317\u4EAC\u98CE\u666F"},{n:"4K\u91CD\u5E86\u98CE\u666F",v:"4K\u91CD\u5E86\u98CE\u666F"},{n:"4K\u8349\u539F\u98CE\u666F",v:"4K\u8349\u539F\u98CE\u666F"},{n:"4K\u5927\u6D77\u98CE\u666F",v:"4K\u5927\u6D77\u98CE\u666F"},{n:"4K\u798F\u5EFA\u98CE\u666F",v:"4K\u798F\u5EFA\u98CE\u666F"},{n:"4K\u5E7F\u4E1C\u98CE\u666F",v:"4K\u5E7F\u4E1C\u98CE\u666F"},{n:"4K\u5E7F\u897F\u98CE\u666F",v:"4K\u5E7F\u897F\u98CE\u666F"},{n:"4K\u8D35\u5DDE\u98CE\u666F",v:"4K\u8D35\u5DDE\u98CE\u666F"},{n:"4K\u7518\u8083\u98CE\u666F",v:"4K\u7518\u8083\u98CE\u666F"},{n:"4K\u6D77\u5357\u98CE\u666F",v:"4K\u6D77\u5357\u98CE\u666F"},{n:"4K\u6CB3\u5317\u98CE\u666F",v:"4K\u6CB3\u5317\u98CE\u666F"},{n:"4K\u6CB3\u5357\u98CE\u666F",v:"4K\u6CB3\u5357\u98CE\u666F"},{n:"4K\u6E56\u5317\u98CE\u666F",v:"4K\u6E56\u5317\u98CE\u666F"},{n:"4K\u6E56\u5357\u98CE\u666F",v:"4K\u6E56\u5357\u98CE\u666F"},{n:"4K\u9ED1\u9F99\u6C5F\u98CE\u666F",v:"4K\u9ED1\u9F99\u6C5F\u98CE\u666F"},{n:"4K\u5409\u6797\u98CE\u666F",v:"4K\u5409\u6797\u98CE\u666F"},{n:"4K\u6C5F\u82CF\u98CE\u666F",v:"4K\u6C5F\u82CF\u98CE\u666F"},{n:"4K\u6C5F\u897F\u98CE\u666F",v:"4K\u6C5F\u897F\u98CE\u666F"},{n:"4K\u8FBD\u5B81\u98CE\u666F",v:"4K\u8FBD\u5B81\u98CE\u666F"},{n:"4K\u6C11\u5BBF\u98CE\u666F",v:"4K\u6C11\u5BBF\u98CE\u666F"},{n:"4K\u5185\u8499\u53E4\u98CE\u666F",v:"4K\u5185\u8499\u53E4\u98CE\u666F"},{n:"4K\u5B81\u590F\u98CE\u666F",v:"4K\u5B81\u590F\u98CE\u666F"},{n:"4K\u9752\u6D77\u98CE\u666F",v:"4K\u9752\u6D77\u98CE\u666F"},{n:"4K\u4E0A\u6D77\u98CE\u666F",v:"4K\u4E0A\u6D77\u98CE\u666F"},{n:"4K\u9655\u897F\u98CE\u666F",v:"4K\u9655\u897F\u98CE\u666F"},{n:"4K\u56DB\u5DDD\u98CE\u666F",v:"4K\u56DB\u5DDD\u98CE\u666F"},{n:"4K\u5C71\u897F\u98CE\u666F",v:"4K\u5C71\u897F\u98CE\u666F"},{n:"4K\u5C71\u4E1C\u98CE\u666F",v:"4K\u5C71\u4E1C\u98CE\u666F"},{n:"4K\u5929\u6D25\u98CE\u666F",v:"4K\u5929\u6D25\u98CE\u666F"},{n:"4K\u53F0\u6E7E\u98CE\u666F",v:"4K\u53F0\u6E7E\u98CE\u666F"},{n:"4K\u5929\u7A7A\u98CE\u666F",v:"4K\u5929\u7A7A\u98CE\u666F"},{n:"4K\u897F\u6E56\u98CE\u666F",v:"4K\u897F\u6E56\u98CE\u666F"},{n:"4K\u897F\u85CF\u98CE\u666F",v:"4K\u897F\u85CF\u98CE\u666F"},{n:"4K\u65B0\u7586\u98CE\u666F",v:"4K\u65B0\u7586\u98CE\u666F"},{n:"4K\u9999\u6E2F\u98CE\u666F",v:"4K\u9999\u6E2F\u98CE\u666F"},{n:"4K\u4E91\u5357\u98CE\u666F",v:"4K\u4E91\u5357\u98CE\u666F"},{n:"4K\u6D59\u6C5F\u98CE\u666F",v:"4K\u6D59\u6C5F\u98CE\u666F"},{n:"4K\u6CB3\u5357\u536B\u89C6\u56FD\u98CE",v:"4K\u6CB3\u5357\u536B\u89C6\u56FD\u98CE"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}]},u9t=()=>[{key:"order",name:"\u6392\u5E8F",value:[{n:"\u7EFC\u5408\u6392\u5E8F",v:"totalrank"},{n:"\u6700\u591A\u70B9\u51FB",v:"click"},{n:"\u6700\u65B0\u53D1\u5E03",v:"pubdate"},{n:"\u6700\u591A\u5F39\u5E55",v:"dm"},{n:"\u6700\u591A\u6536\u85CF",v:"stow"}]},{key:"duration",name:"\u65F6\u957F",value:[{n:"\u5168\u90E8\u65F6\u957F",v:"0"},{n:"60\u5206\u949F\u4EE5\u4E0A",v:"4"},{n:"30~60\u5206\u949F",v:"3"},{n:"10~30\u5206\u949F",v:"2"},{n:"10\u5206\u949F\u4EE5\u4E0B",v:"1"}]}]});var yOe={};Bt(yOe,{default:()=>KQ});async function D9t(e=null,{force:t=!1}={}){if(!e)return Ec.hasCookie();let r=Date.now();return t||!Ec.hasCookie()||r-m9t>sTn?(BQ||(m9t=r,BQ=(async()=>{try{let s=await PQ(e);return s&&Ec.setCookie(s),Ec.hasCookie()}finally{BQ=null}})()),BQ):Ec.hasCookie()}async function lw(e=null,{forceServerCookie:t=!1}={}){await D9t(e,{force:t}),!((Ec.hasCookie()||rl.isValid())&&cw.isValid()&&uOe.isValid())&&(UQ||(UQ=(async()=>{try{!Ec.hasCookie()&&!rl.isValid()&&await rl.refresh(),await Promise.all([P9t(),uOe.ensure()])}finally{UQ=null}})()),await UQ)}async function P9t(){if(cw.isValid())return cw.getKey();try{let e="";Ec.hasCookie()?e=Ec.getCookie():(rl.isValid()||await rl.refresh(),e=rl.getCookie()||"");let r=(await Se.get("https://api.bilibili.com/x/web-interface/nav",{timeout:hOe,headers:{"User-Agent":r_,Referer:"https://www.bilibili.com",Origin:"https://www.bilibili.com",Accept:"*/*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",...e?{Cookie:e}:{}}})).data?.data?.wbi_img;if(r?.img_url&&r?.sub_url){let n=o=>o.split("/").pop().split(".")[0],s=n(r.img_url)+n(r.sub_url),a=[46,47,18,2,53,8,23,32,15,50,10,31,58,3,45,35,27,43,5,49,33,9,42,19,29,28,14,39,12,38,41,13,37,48,7,16,24,55,40,61,26,17,0,1,60,51,30,4,22,25,54,21,56,59,6,63,57,62,11,36,20,34,44,52].map(o=>s[o]||"").join("").slice(0,32);if(a)return cw.setKey(a),a}}catch(e){console.error("\u83B7\u53D6 mixinKey \u5931\u8D25:",e.message)}return"tkk"}async function HQ(e){let t=await P9t(),r=Math.floor(Date.now()/1e3),n={...e,wts:r},s=Object.keys(n).sort().map(a=>`${encodeURIComponent(a)}=${encodeURIComponent(n[a])}`).join("&"),i=fOe.default.createHash("md5").update(s+t).digest("hex");return O9t.default.stringify({...n,w_rid:i})}async function mOe({includeBuvid:e=!1}={}){let t="";if(Ec.hasCookie()?t=Ec.getCookie():(rl.isValid()||await rl.refresh(),t=rl.getCookie()||""),e){let r=await uOe.ensure();if(r){let n=/(?:^|;\s*)buvid3=/.test(t),s=/(?:^|;\s*)buvid4=/.test(t),i=r.split(";").map(a=>a.trim()).filter(a=>a.startsWith("buvid3=")?!n:a.startsWith("buvid4=")?!s:!0);i.length&&(t=[t,i.join("; ")].filter(Boolean).join("; "))}}return t}async function L9t(e=""){let t=encodeURIComponent(e||""),r=await mOe({includeBuvid:!0});return{headers:{"User-Agent":r_,Referer:`https://search.bilibili.com/all?keyword=${t}`,Origin:"https://search.bilibili.com",Accept:"application/json, text/plain, */*",...r?{Cookie:r}:{}}}}function VQ(e){if(e==null||e==="")return 0;if(typeof e=="number")return Number.isFinite(e)?Math.max(0,e):0;if(typeof e!="string")return 0;let t=e.trim();if(!t)return 0;if(!t.includes(":"))return parseFloat(t)||0;let r=t.split(":");return r.length===2?(Number.parseInt(r[0],10)||0)*60+(parseFloat(r[1])||0):r.length===3?(Number.parseInt(r[0],10)||0)*3600+(Number.parseInt(r[1],10)||0)*60+(parseFloat(r[2])||0):0}function M9t(e){return!e||typeof e!="object"?"":e.bvid?e.bvid:e.bvid_str?e.bvid_str:e.aid?`av${e.aid}`:e.id?`av${e.id}`:""}function yTn(e={},t=0){let r=e.play??e.view??e.stat?.view??0,n=e.pubdate||e.created||e.ctime||0;return`${_Oe(t)}|${U9t(r)}|${AOe(n)}`}function k9t(e,{encodeId:t=!0,meta:r={}}={}){let n=M9t(e);if(!n)return null;let s=VQ(e.duration||e.length||0),i=B9t(e.pic||e.cover||e.first_frame||r.vod_pic),a=r.vod_remarks||yTn(e,s);return{vod_id:t?vTn(n,{vod_pic:i,vod_remarks:a||"\u65E0\u4FE1\u606F"}):n,vod_name:gOe(e.title||e.name||e.show_title),vod_pic:i,vod_remarks:a||"\u65E0\u4FE1\u606F",vod_time:AOe(e.pubdate||e.created||e.ctime),vod_author:e.author||e.owner?.name||e.upper?.name||"",vod_duration:F9t(s)}}function gOe(e){return String(e||"\u672A\u77E5\u6807\u9898").replace(pTn,"").replace(mTn,"").trim()||"\u672A\u77E5\u6807\u9898"}function ow(e,t){if(!Array.isArray(e)||e.length===0)return null;let r=null,n=-1/0;for(let s of e){let i=t(s);i>n&&(r=s,n=i)}return r}function B9t(e){if(!e||typeof e!="string")return fTn;let t=e.trim();return t.startsWith("//")?t="https:"+t:t.startsWith("http://")&&(t=t.replace("http://","https://")),t.startsWith("https://")||(t="https://"+t),t}function U9t(e){if(!e&&e!==0)return"0";let t=Number.parseInt(e,10);return!Number.isFinite(t)||t<0?"0":t>=1e8?`${(t/1e8).toFixed(1)}\u4EBF`:t>=1e4?`${(t/1e4).toFixed(1)}\u4E07`:`${t}`}function F9t(e){if(!e&&e!==0)return"";let t=VQ(e),r=Math.floor(t/3600),n=Math.floor(t%3600/60),s=Math.floor(t%60);return r>0?`${r}:${n.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}`:`${n.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}`}function _Oe(e){if(!e&&e!==0)return"";let t=VQ(e),r=Math.floor(t/3600),n=Math.floor(t%3600/60),s=Math.floor(t%60);return r>0?`${r}\u65F6${n}\u5206${s}\u79D2`:n>0?`${n}\u5206${s}\u79D2`:`${s}\u79D2`}function AOe(e){if(!e)return"";let t=new Date(e*1e3),n=Math.floor((new Date-t)/1e3);return n<60?"\u521A\u521A":n<3600?`${Math.floor(n/60)}\u5206\u949F\u524D`:n<86400?`${Math.floor(n/3600)}\u5C0F\u65F6\u524D`:n<2592e3?`${Math.floor(n/86400)}\u5929\u524D`:`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function vTn(e,t={}){return JSON.stringify({id:String(e||"").trim(),meta:t&&typeof t=="object"?t:{}})}function STn(e){try{let t=JSON.parse(String(e||""));if(t&&typeof t=="object"&&t.id)return{id:String(t.id||"").trim(),meta:t.meta&&typeof t.meta=="object"?t.meta:{}}}catch{}return{id:String(e||"").trim(),meta:{}}}function $9t(e,t,r="auto",n="auto"){let s=e?.bvid||e?.bvid_str||"",i=e?.aid||e?.avid||"";return`${s}_${i}_${t}_${r}_${n}`}function TTn(e){let t=gOe(e?.title||e?.part||e?.name),r=_Oe(e?.duration||e?.length||0);return r?`${t}(${r})`:t}function bTn(e,t="auto",r="auto"){let n=e?.cid||e?.pages?.[0]?.cid||"auto",s=e?.bvid||e?.bvid_str||"",i=e?.aid||e?.avid||"";return!s||!i?"":$9t({bvid:s,aid:i},n,t,r)}function q9t(e,t="auto",r="auto",n=""){if(!Array.isArray(e))return"";let s=String(n||""),i=new Set;return e.map(a=>{let o=a?.bvid||a?.bvid_str||"";if(!o||o===s||i.has(o))return"";i.add(o);let c=bTn(a,t,r);return c?`${TTn(a)}$${c}`:""}).filter(Boolean).join("#")}async function ITn(e,t="auto",r="auto"){try{let n=await uw.get(`https://api.bilibili.com/x/web-interface/archive/related?bvid=${encodeURIComponent(e)}`);return q9t(n.data?.data||[],t,r,e)}catch(n){return console.warn("\u83B7\u53D6\u76F8\u5173\u89C6\u9891\u5931\u8D25:",n.message),""}}async function RTn(e,t="auto",r="auto",n=""){try{if(!e)return"";let s=await HQ({mid:e,pn:1,ps:30,tid:0,index:0,keyword:"",special_type:"",order:"pubdate",platform:"web",web_location:"333.1387",order_avoided:!0}),a=(await uw.get(`https://api.bilibili.com/x/space/wbi/arc/search?${s}`,{headers:{Referer:`https://space.bilibili.com/${e}/video`,Origin:"https://space.bilibili.com"}})).data?.data?.list?.vlist||[];return q9t(a,t,r,n)}catch(s){return console.warn("\u83B7\u53D6UP\u4E3B\u6295\u7A3F\u89C6\u9891\u5931\u8D25:",s.message),""}}async function H9t({bvid:e="",aid:t=""}={}){!e&&typeof t=="string"&&t.startsWith("av")&&(t=t.slice(2));let r=e?`bvid:${e}`:`aid:${t}`,n=kQ.get(r);if(n)return n;let i=await HQ(e?{bvid:e}:{aid:t}),o=(await uw.get(`https://api.bilibili.com/x/web-interface/view?${i}`)).data?.data;if(!o)throw new Hl("\u89C6\u9891\u4FE1\u606F\u83B7\u53D6\u5931\u8D25");return o.bvid&&kQ.set(`bvid:${o.bvid}`,o),o.aid&&kQ.set(`aid:${o.aid}`,o),kQ.set(r,o)}async function aw({aid:e,cid:t,qn:r=80,fnval:n=4048,force:s=!1}){let i=`${e}:${t}:${r}:${n}`,a=s?null:p9t.get(i);if(a)return a;let c=(await uw.get(`https://api.bilibili.com/x/player/playurl?avid=${e}&cid=${t}&qn=${r}&fnval=${n}&fourk=1`)).data?.data||null;return c&&p9t.set(i,c),c}function rOe(e){let t=String(e?.headers?.["x-forwarded-proto"]||e?.protocol||"http").split(",")[0].trim()||"http",r=String(e?.headers?.["x-forwarded-host"]||e?.headers?.host||"").split(",")[0].trim();return r?`${t}://${r}`:`${t}://${e?.hostname||"127.0.0.1"}${e?.port?":"+e.port:""}`}function nOe(e){return e?.server&&typeof e.server.prefix=="string"?e.server.prefix.replace(/\/+$/,""):"/spider/bili_all/3"}function CTn(e=""){return/miraplay|mira|tvbox/i.test(String(e||""))}function V9t(e={}){let t=Number.parseFloat(e.duration||0)*1e3,r=t>0?t+oTn:d9t;return Math.min(cTn,Math.max(d9t,r))}function j9t(){let e=Date.now();for(let[t,r]of Zg.entries())(!r||r.expires<=e)&&Zg.delete(t)}function xTn(){if(Zg.size<=f9t)return;let e=[...Zg.entries()].sort((t,r)=>(t[1]?.lastAccess||t[1]?.created||0)-(r[1]?.lastAccess||r[1]?.created||0));for(;Zg.size>f9t&&e.length;){let[t]=e.shift();Zg.delete(t)}}function wTn(){return fOe.default.randomBytes(16).toString("hex")}function NTn(e={}){j9t();let t=wTn(),r=Date.now(),n=V9t(e);return Zg.set(t,{payload:e,created:r,lastAccess:r,expires:r+n,ttl:n}),xTn(),t}function K9t(e,t={}){j9t();let r=Zg.get(String(e||""));if(!r?.payload)return null;if(t.touch!==!1){let n=Date.now();r.lastAccess=n,r.expires=n+(r.ttl||V9t(r.payload))}return r.payload}function G9t(e,t=""){let r=String(e||"").slice(0,8);console.warn(`[bili_all] MPD media payload missing route=${t} token=${r} cacheSize=${Zg.size}`)}async function OTn(e){try{let t=await o9t(e);if(t&&t.trim()){let r=JSON.parse(t.trim());if(Array.isArray(r)&&r.length)if(typeof r[0]=="string"){let n=r.filter(s=>s&&typeof s=="string").map(s=>({type_id:s,type_name:s}));if(n.length)return n}else{let n=r.filter(s=>s&&typeof s.type_id=="string");if(n.length)return n}}}catch{}return null}async function DTn(e){try{let t=await c9t(e);if(t&&t.trim()){let r=JSON.parse(t.trim());if(typeof r=="object"&&r!==null)return r}}catch{}return null}function PTn(e){if(!e||e<=0)return"PT0S";let t=Math.floor(e/3600),r=Math.floor(e%3600/60),n=e%60,s="PT";return t>0&&(s+=`${t}H`),r>0&&(s+=`${r}M`),s+=`${n.toFixed(3)}S`,s}function dOe(e){if(!e)return null;let t,r;if(Array.isArray(e))t=Number.parseInt(e[0],10),r=Number.parseInt(e[1],10);else if(typeof e=="object")t=Number.parseInt(e.start??e.startByte??e.from??e.begin,10),r=Number.parseInt(e.end??e.endByte??e.to??e.finish,10);else{let n=String(e).match(/(\d+)\s*[-,]\s*(\d+)/);n&&(t=Number.parseInt(n[1],10),r=Number.parseInt(n[2],10))}return!Number.isFinite(t)||!Number.isFinite(r)||t<0||r/g,">")}function _9t(e){return String(e||"").replace(/&/g,"&").replace(//g,">")}function LTn(e){return String(e||"").replace(/\]\]>/g,"]]]]>")}function A9t(e){return LTn(e).replace(/&/g,"&")}function dw(e){return e&&typeof e=="object"?e:{}}function Vl(e={}){return e=dw(e),e.url||e.base_url||e.baseUrl||e.backup_url?.[0]||e.backupUrl?.[0]||""}function ob(e={},t="video/mp4"){return e=dw(e),e.mime_type||e.mimeType||e.mime||t}function EB(e={},t=""){return e=dw(e),e.codecs||e.codec||t}function MTn(e={},t=0){e=dw(e);let r=Number.parseInt(e.bandwidth||e.bandwidth_kbps||e.bandwidthKbps||0,10);return Number.isFinite(r)&&r>0?r:t}function jQ(e={}){e=dw(e);let t=e.segment_base||e.segmentBase||{},r=dOe(t.initialization||t.initialization_range||t.init_range||t.initRange||e.initialization||e.initialization_range||e.init_range),n=dOe(t.index_range||t.indexRange||t.sidx_range||t.sidxRange||e.index_range||e.indexRange);return{initRange:r,indexRange:n}}function kTn(e,t){let r=Buffer.isBuffer(e)?e:Buffer.from(e||[]),n=dOe(t);if(!n||r.length<12||r.toString("ascii",4,8)!=="sidx")return null;let s=r[8],i=12;if(i+8>r.length)return null;i+=4;let a=r.readUInt32BE(i);i+=4;let o=0;if(s===0){if(i+8>r.length)return null;i+=4,o=r.readUInt32BE(i),i+=4}else if(s===1){if(i+16>r.length)return null;i+=8,o=Number(r.readBigUInt64BE(i)),i+=8}else return null;if(!Number.isFinite(a)||a<=0||!Number.isFinite(o)||o<0||i+4>r.length)return null;i+=2;let c=r.readUInt16BE(i);i+=2;let u=[],l=n.end+1+o,d=0;for(let f=0;f>>31,m=h&2147483647,g=r.readUInt32BE(i+4);if(i+=12,p!==0||m<=0||g<=0)return null;let _=l,y=_+m-1;u.push({range:{start:_,end:y},duration:g}),d+=g,l=y+1}return u.length?{timescale:a,totalDuration:d,totalSeconds:d/a,segments:u}:null}function EOe(e={}){return e=dw(e),e.segment_list||e.segmentList||e._segmentList||null}function BTn(e={},t=""){let r=EOe(e),{initRange:n}=jQ(e);if(!r?.segments?.length||!r.timescale||!n)return"";let s=[`${t}`];s.push(`${t} `),s.push(`${t} `);let i=0,a=0,o=()=>{if(!a)return;let c=a>1?` r="${a-1}"`:"";s.push(`${t} `),i=0,a=0};for(let c of r.segments){let u=Number.parseInt(c?.duration,10);if(!Number.isFinite(u)||u<=0){o();continue}u===i?a+=1:(o(),i=u,a=1)}o(),s.push(`${t} `);for(let c of r.segments)c?.range&&s.push(`${t} `);return s.push(`${t}`),s.join(` +`)}function E9t(e={},t=""){let r=BTn(e,t);if(r)return r;let{initRange:n,indexRange:s}=jQ(e);if(!n&&!s)return"";let i=s;if(n){let a=i?` indexRange="${t_(i)}"`:"";return`${t}`}return`${t}`}function y9t(e={},t=""){let{initRange:r,indexRange:n}=jQ(e);if(!r&&!n)return"";let s=n;if(r){let i=s?` indexRange="${t_(s)}"`:"";return`${t}`}return`${t}`}function qQ(e,t={},r=0){let n=[`id="${e_(e)}"`,`bandwidth="${MTn(t,r)}"`],s=Number.parseInt(t.width||0,10),i=Number.parseInt(t.height||0,10);return Number.isFinite(s)&&s>0&&n.push(`width="${s}"`),Number.isFinite(i)&&i>0&&n.push(`height="${i}"`),n.join(" ")}function cb(e={},t="",r="video"){let n=Vl(e)||t||"";return n?{url:n,id:e.id||e.quality||"",bandwidth:e.bandwidth||0,width:e.width||0,height:e.height||0,mime_type:ob(e,r==="audio"?"audio/mp4":"video/mp4"),codecs:EB(e,r==="audio"?"mp4a.40.2":"avc1.640028"),segment_base:e.segment_base||e.segmentBase||null,segment_list:EOe(e)}:null}function v9t(e,t="",r="video"){if(e){for(let n of[e,(()=>{try{return decodeURIComponent(e)}catch{return""}})()])if(n)try{let s=JSON.parse(n);if(s&&typeof s=="object")return cb(s,t,r)}catch{}}return cb({},t,r)}function S9t(e,t,r,n){let s=String(t||"").replace(/\/+$/,"")||"/spider/bili_all/3";return`${e}${s}/proxy/media/${encodeURIComponent(r)}/${encodeURIComponent(n)}`}function T9t(e,t,r,n,s,i,a={}){let o=cb(n,"","video"),c=s?cb(s,"","audio"):null,u=NTn({mode:r,duration:Number.parseFloat(i||0)||0,aid:String(a.aid||""),cid:String(a.cid||""),qn:String(a.qn||""),videoTrack:o,audioTrack:c}),l=String(t||"").replace(/\/+$/,"")||"/spider/bili_all/3";return`${e}${l}/proxy?do=mpd&mode=${encodeURIComponent(r)}&token=${encodeURIComponent(u)}`}function UTn(e,t=null,r="PT0S"){let n=Vl(e),s=t?Vl(t):"",i=ob(e,"video/mp4"),a=t?ob(t,"audio/mp4"):"",o=EB(e,"avc1.640028"),c=t?EB(t,"mp4a.40.2"):"",u=['',''," ",` `,` `,` `,E9t(e," ")," "," "];return t&&s&&u.push(` `,` `,` `,E9t(t," ")," "," "),u.push(" ",""),u.join(` +`)}function FTn(e,t=null,r="PT0S"){let n=r&&r!=="PT0S"?r:"PT0S",s=Vl(e),i=t?Vl(t):"",a=ob(e,"video/mp4"),o=t?ob(t,"audio/mp4"):"",c=EB(e,"avc1.640028"),u=t?EB(t,"mp4a.40.2"):"",l=[` `,` `,` ${_9t(s)}`,y9t(e," ")," "," "].join(` +`),d=i?[` `,` `,` ${_9t(i)}`,y9t(t," ")," "," "].join(` +`):"";return['','',' '," ",l," ",d," ",""].join(` +`)}async function sOe(e,t={}){let{do:r,video_url:n,audio_url:s,video_track:i,audio_track:a,mode:o,duration:c,token:u}=e;if(r==="mpd"){if(!o||o!=="mira"&&o!=="dash")return[400,"text/plain",Buffer.from('Missing or invalid mode parameter. Must be "mira" or "dash"')];try{let l,d,f=parseFloat(c)||0,h=u?K9t(u):null;if(u&&!h?.videoTrack)return G9t(u,"mpd"),[404,"text/plain",Buffer.from("MPD media payload expired or missing")];if(h?.videoTrack){f=parseFloat(h.duration||c)||0;let g=t.serverUrl||"",_=t.routePrefix||"";l={...h.videoTrack,url:g?S9t(g,_,u,"video"):Vl(h.videoTrack)},d=h.audioTrack?{...h.audioTrack,url:g?S9t(g,_,u,"audio"):Vl(h.audioTrack)}:null}else{let g=n?decodeURIComponent(n):"",_=s?decodeURIComponent(s):"";l=v9t(i,g,"video"),d=a||_?v9t(a,_,"audio"):null}let p=PTn(f),m=o==="mira"?UTn(l,d,p):FTn(l,d,p);return[200,"application/dash+xml",Buffer.from(m)]}catch(l){return console.error("proxy/mpd error:",l),[500,"text/plain",Buffer.from("MPD build error: "+l.message)]}}return[501,"text/plain",Buffer.from("Unsupported proxy action")]}function x9t(e=[],t={},r=null){let n=Array.isArray(e)?e:[];if(!n.length)return null;let s=String(t?.id||t?.quality||""),i=String(t?.codecs||t?.codec||""),a=String(t?.mime_type||t?.mimeType||t?.mime||""),o=n.find(l=>String(l?.id||l?.quality||"")===s&&(!i||String(l?.codecs||l?.codec||"")===i));if(o)return o;let c=n.find(l=>String(l?.id||l?.quality||"")===s);return c||n.find(l=>!(a&&String(l?.mime_type||l?.mimeType||l?.mime||"")!==a||i&&String(l?.codecs||l?.codec||"")!==i))||(r?r(n):n[0])}async function $Tn(e={}){if(!e.aid||!e.cid||!e.qn)return!1;let r=(await aw({aid:e.aid,cid:e.cid,qn:e.qn,fnval:4048,force:!0}))?.dash;if(!r)return!1;let n=x9t(r.video,e.videoTrack,i=>ow(i,a=>Number(a?.id)||0)),s=e.audioTrack?x9t(r.audio,e.audioTrack,i=>ow(i,a=>Number(a?.bandwidth)||0)):null;return Vl(n)?(e.videoTrack=cb(n,"","video"),e.audioTrack=s?cb(s,"","audio"):null,!0):!1}async function qTn(e,t=""){let r=Wn(),n=await mOe({includeBuvid:!0}).catch(()=>""),s={"User-Agent":r_,Referer:"https://www.bilibili.com/",Origin:"https://www.bilibili.com",Accept:"*/*","Accept-Encoding":"identity",...t?{Range:t}:{},...n?{Cookie:n}:{}};return Se.get(e,{headers:s,responseType:"arraybuffer",timeout:hOe,httpAgent:r.httpAgent,httpsAgent:r.httpsAgent,validateStatus:()=>!0,maxContentLength:2*1024*1024,maxBodyLength:2*1024*1024})}async function FQ(e={}){let t=cb(e,"",ob(e).startsWith("audio/")?"audio":"video"),r=Vl(t),{indexRange:n}=jQ(t);if(!r||!n||EOe(t)?.segments?.length)return t;try{let s=await qTn(r,`bytes=${t_(n)}`);if(s.status!==200&&s.status!==206)return t;let i=kTn(Buffer.from(s.data||[]),n);return i?.segments?.length?{...t,segment_list:i}:t}catch(s){return console.warn("[bili_all] \u89E3\u6790 sidx \u5206\u6BB5\u5931\u8D25:",s.message),t}}async function w9t(e,t,r=""){let n=Wn(),s=await mOe({includeBuvid:!0}).catch(()=>""),i={"User-Agent":r_,Referer:"https://www.bilibili.com/",Origin:"https://www.bilibili.com",Accept:"*/*","Accept-Encoding":"identity",...r?{Range:r}:{},...s?{Cookie:s}:{}};return Se.get(e,{headers:i,responseType:"stream",timeout:0,httpAgent:n.httpAgent,httpsAgent:n.httpsAgent,validateStatus:()=>!0,maxContentLength:1/0,maxBodyLength:1/0})}async function HTn(e,t){let r=e?.params?.token,n=String(e?.params?.track||"").trim(),s=K9t(r);if(!s?.videoTrack)return G9t(r,`media:${n||"unknown"}`),t.code(404).header("Content-Type","text/plain; charset=utf-8").send("MPD media payload expired or missing");let i=n==="audio"?s.audioTrack:n==="video"?s.videoTrack:null,a=Vl(i);if(!i||!a)return t.code(400).header("Content-Type","text/plain; charset=utf-8").send("Missing media track");let o=String(e?.headers?.range||"").trim(),c=await w9t(a,n,o);[403,410,416].includes(c.status)&&(console.warn(`[bili_all] refreshing expired media track=${n||"unknown"} status=${c.status}`),c.data?.destroy&&c.data.destroy(),await $Tn(s).catch(()=>!1)&&(i=n==="audio"?s.audioTrack:s.videoTrack,a=Vl(i),c=await w9t(a,n,o)));let u=c.data;if(u?.destroy){let l=()=>{u.destroyed||u.destroy()};e?.raw?.on?.("close",l),t?.raw?.on?.("close",l)}return t.code(c.status||502).header("Content-Type",c.headers?.["content-type"]||ob(i,n==="audio"?"audio/mp4":"video/mp4")).header("Accept-Ranges",c.headers?.["accept-ranges"]||"bytes").header("Cache-Control","no-cache").header("Access-Control-Allow-Origin","*").header("Access-Control-Expose-Headers","Content-Length, Content-Range, Accept-Ranges"),c.headers?.["content-range"]&&t.header("Content-Range",c.headers["content-range"]),c.headers?.["content-length"]&&t.header("Content-Length",c.headers["content-length"]),t.send(u)}function VTn(e={},t={},r=0){let n=Number.parseInt(e?.id||e?.quality||0,10);if(Number.isFinite(n)&&n>0)return n;let s=Number.parseInt(t?.quality||0,10);if(Number.isFinite(s)&&s>0)return s;let i=Number.parseInt(r||0,10);return Number.isFinite(i)&&i>0?i:0}var fOe,O9t,tTn,rTn,nTn,sTn,iTn,aTn,d9t,oTn,cTn,f9t,uTn,hOe,lTn,gp,r_,dTn,fTn,hTn,pTn,mTn,h9t,gTn,_Tn,Hl,iOe,Ec,aOe,rl,oOe,cw,cOe,uOe,$Q,kQ,p9t,Zg,pOe,m9t,BQ,ATn,g9t,ETn,lOe,uw,UQ,b9t,I9t,R9t,C9t,N9t,KQ,GQ=oe(()=>{Pr();fOe=we(require("crypto"),1),O9t=we(require("querystring"),1);kr();LQ();l9t();Cs();tTn=36e5,rTn=3e5,nTn=864e5,sTn=3e4,iTn=6e4,aTn=45e3,d9t=2*60*60*1e3,oTn=30*60*1e3,cTn=12*60*60*1e3,f9t=200,uTn=3,hOe=15e3,lTn=2,gp=20,r_="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",dTn="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",fTn="https://i0.hdslb.com/bfs/archive/404.png",hTn=new Set(["totalrank","click","pubdate","dm","stow"]),pTn=/<[^>]*>/g,mTn=/&[a-z]+;/g,h9t={129:"HDR Vivid",127:"8K\u8D85\u6E05",126:"\u675C\u6BD4\u89C6\u754C",125:"HDR\u771F\u5F69",120:"4K\u8D85\u6E05",116:"1080P\u9AD8\u5E27",112:"1080P\u9AD8\u7801",80:"1080P",64:"720P",32:"480P",16:"360P"},gTn=[129,127,126,125,120,116,112,80],_Tn=new Set(gTn),Hl=class extends Error{constructor(t,r="UNKNOWN_ERROR"){super(t),this.name="BiliAPIError",this.code=r}},iOe=class{constructor(){this.cookie="",this.isSet=!1}setCookie(t){return t&&t.trim()?(this.cookie=t.trim(),this.isSet=!0,!0):!1}clearCookie(){this.cookie="",this.isSet=!1}getCookie(){return this.cookie}hasCookie(){return this.isSet&&this.cookie.length>10}getCsrf(){let t=this.cookie.match(/bili_jct=([^;]+)/);return t?t[1]:""}},Ec=new iOe,aOe=class{constructor(){this.cache="",this.last=0}isValid(){return this.cache&&Date.now()-this.lastn.split(";")[0].trim()).join("; "),this.last=Date.now(),this.cache}catch{}return""}getCookie(){return this.cache}},rl=new aOe,oOe=class{constructor(){this.key="",this.exp=0}isValid(){return this.key&&Date.now()-this.expthis.ttlMs?(this.map.delete(t),null):r.value:null}set(t,r){if(!t)return r;if(this.map.size>=this.max){let n=this.map.keys().next().value;n&&this.map.delete(n)}return this.map.set(t,{value:r,time:Date.now()}),r}},kQ=new $Q(iTn,100),p9t=new $Q(aTn,200),Zg=new Map,pOe="",m9t=0,BQ=null,ATn=e=>{let t=Wn(),r=Se.create({timeout:1e4,httpAgent:t.httpAgent,httpsAgent:t.httpsAgent,headers:{"User-Agent":r_,Cookie:e,Referer:"https://www.bilibili.com",Origin:"https://www.bilibili.com"}});return r.interceptors.response.use(n=>{if(n.data?.code!==void 0&&n.data.code!==0)throw new Error(n.data.message||`API\u9519\u8BEF: ${n.data.code}`);return n},n=>{throw n}),r},g9t=(e={})=>{let t=e.level??e.level_info?.current_level,r=Number(t),n=e.vip?.status??e.vipStatus,s=Number(n),i=Number(e.vip?.type??e.vipType??0),a=n!=null?s>0:i>0;return{nickname:e.name||e.uname||"",face:e.face||"",level:Number.isFinite(r)?r:0,vip:a?"\u5927\u4F1A\u5458":"\u975E\u5927\u4F1A\u5458",mid:e.mid,coins:Number(e.coins??e.money??0)||0,following:Number(e.following??0)||0,follower:Number(e.follower??0)||0}},ETn=async e=>{let t=null;try{let n=(await e.get("https://api.bilibili.com/x/space/myinfo")).data?.data;if(n?.mid)return g9t(n)}catch(r){t=r}try{let n=(await e.get("https://api.bilibili.com/x/web-interface/nav")).data?.data;return n?.isLogin&&n?.mid?g9t(n):null}catch(r){throw t||r}},lOe=class{constructor(){let t=Wn();this.instance=Se.create({timeout:hOe,maxRedirects:5,httpAgent:t.httpAgent,httpsAgent:t.httpsAgent}),this.instance.interceptors.request.use(async r=>{r.headers&&r.headers["User-Agent"]&&(pOe=r.headers["User-Agent"]),r.headers={"User-Agent":r_,Referer:"https://www.bilibili.com",Origin:"https://www.bilibili.com",Accept:"*/*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Connection:"keep-alive",...r.headers};let n="";return Ec.hasCookie()?n=Ec.getCookie():(rl.isValid()||await rl.refresh(),rl.getCookie()&&(n=rl.getCookie())),n&&(r.headers.Cookie=n),r}),this.instance.interceptors.response.use(r=>{if(r.data?.code!==void 0&&r.data.code!==0)throw new Hl(r.data.message||`API\u9519\u8BEF: ${r.data.code}`,r.data.code);return r},async r=>{throw r.response?.status===412&&cw.clear(),r})}async request(t,r=lTn){try{return await this.instance(t)}catch(n){if(r>0&&!n.response)return await tr(1e3),this.request(t,r-1);throw n}}get(t,r={}){return this.request({...r,method:"GET",url:t})}post(t,r={},n={}){return this.request({...n,method:"POST",url:t,data:r})}},uw=new lOe,UQ=null;b9t=async e=>{try{await lw(e);let r=await OTn(e)||MQ,n=await DTn(e),s={};return r.forEach(i=>{let a=i.type_id;n&&n[a]?s[a]=n[a]:tOe[a]?s[a]=tOe[a]:s[a]=u9t()}),{class:r.map(i=>({type_id:i.type_id,type_name:i.type_name})),filters:s}}catch(t){return console.error("\u83B7\u53D6\u9996\u9875\u5931\u8D25:",t),{class:MQ.map(r=>({type_id:r.type_id,type_name:r.type_name})),filters:{}}}},I9t=async({id:e,page:t=1,filters:r={},ext:n={},server:s=null})=>{let i=Math.max(1,Number.parseInt(t,10)||1),a={};if(r&&typeof r=="object"&&Object.keys(r).length>0)a=r;else if(n&&typeof n=="string")try{let d=Buffer.from(n,"base64").toString();a=JSON.parse(d)}catch{try{a=JSON.parse(n)}catch{}}let o=e,c=[];for(let d in a)d!=="order"&&d!=="duration"&&a[d]&&a[d]&&a[d].trim()!==""&&c.push(a[d].trim());c.length>0&&(c.length===1?o=c[0]:(c=[...new Set(c)],o=`(${c.join(" OR ")})`));let u="totalrank";a.order&&hTn.has(a.order)&&(u=a.order);let l=0;a.duration&&(l=Number.parseInt(a.duration,10)||0);try{await lw(s);let h=`https://api.bilibili.com/x/web-interface/wbi/search/type?${await HQ({keyword:o,page:i,search_type:"video",order:u,duration:l,tids:0,page_size:gp})}`,m=(await uw.get(h,await L9t(o))).data.data;if(!m)return console.error("\u641C\u7D22\u8FD4\u56DE\u6570\u636E\u4E3A\u7A7A"),{page:i,pagecount:1,total:0,limit:gp,list:[]};let g=m.result||[],_=m.numResults||0,y=Math.ceil(_/gp)||1,E=g.map(A=>k9t(A)).filter(A=>A?.vod_id);return{page:i,pagecount:y,total:_,limit:gp,list:E}}catch(d){return console.error("\u5206\u7C7B\u83B7\u53D6\u5931\u8D25:",d.message,d.stack),{page:i,pagecount:1,total:0,limit:gp,list:[]}}},R9t=async({id:e,headers:t={},server:r=null})=>{let n=STn(e);e=n.id;try{await lw(r);let s=e.startsWith("BV"),i=await H9t(s?{bvid:e}:{aid:e.replace("av","")}),o=(i.pages||[]).map(_=>({title:gOe(_.part||`P${_.page}`),cid:_.cid})).map(_=>`${_.title}$${$9t(i,_.cid)}`).join("#"),c=["\u54D4\u54E9"],u=[o],[l,d]=await Promise.all([ITn(i.bvid,"auto","auto"),RTn(i.owner?.mid,"auto","auto",i.bvid)]);l&&(c.push("\u76F8\u5173\u89C6\u9891"),u.push(l)),d&&(c.push("UP\u4E3B\u89C6\u9891"),u.push(d));let f=c.join("$$$"),h=u.join("$$$"),p=_Oe(i.duration),m=U9t(i.stat?.view||0),g=AOe(i.pubdate);return{list:[{vod_id:i.bvid,vod_name:i.title,vod_pic:n.meta?.vod_pic||B9t(i.pic),vod_content:i.desc||"\u6682\u65E0\u7B80\u4ECB",vod_year:new Date(i.pubdate*1e3).getFullYear().toString(),vod_area:"\u4E2D\u56FD",vod_actor:i.owner?.name||"",vod_director:i.owner?.name||"",vod_tag:i.tname||"",vod_remarks:`${p}|${m}|${g}`,vod_play_from:f,vod_play_url:h,vod_duration:F9t(i.duration)}]}}catch(s){throw console.error("\u83B7\u53D6\u8BE6\u60C5\u5931\u8D25:",s),new Hl("\u83B7\u53D6\u89C6\u9891\u8BE6\u60C5\u5931\u8D25: "+s.message)}},C9t=async({wd:e,page:t=1,server:r=null})=>{try{if(await lw(r),!e||e.trim()==="")return{page:1,pagecount:1,total:0,list:[]};let n=e.trim(),s=Math.max(1,Number.parseInt(t,10)||1),a=Array.from({length:3},(p,m)=>s+m),o=await Promise.all(a.map(async p=>{let m=await HQ({keyword:n,page:p,search_type:"video",order:"totalrank",duration:0,tids:0,page_size:gp});return(await uw.get(`https://api.bilibili.com/x/web-interface/wbi/search/type?${m}`,await L9t(n))).data?.data})),c=o.find(Boolean);if(!c)return{page:s,pagecount:1,total:0,list:[]};let u=new Set,l=[];for(let p of o)if(p?.result)for(let m of p.result){let g=M9t(m);!g||u.has(g)||(u.add(g),l.push(m))}let d=l.map(p=>k9t(p)).filter(p=>p?.vod_name&&p.vod_name.toLowerCase().includes(n.toLowerCase())),f=c.numResults||d.length,h=Math.max(1,Math.ceil(f/gp));return{page:s,pagecount:h,total:f,limit:gp,list:d}}catch(n){return console.error("\u641C\u7D22\u5931\u8D25:",n.message,n.stack),{page:Math.max(1,Number.parseInt(t,10)||1),pagecount:1,total:0,limit:gp,list:[]}}};N9t=async({id:e,flag:t,serverUrl:r,routePrefix:n="/spider/bili_all/3",headers:s={},server:i=null})=>{try{await lw(i);let a=e.split("_");if(a.length!==5)throw new Hl("\u53C2\u6570\u9519\u8BEF");let[o,c,u,l,d]=a,f=await H9t({bvid:o,aid:c});if(c=String(f.aid||c),u==="auto"&&(u=String(f.cid||f.pages?.[0]?.cid||""),!u))throw new Hl("\u83B7\u53D6\u89C6\u9891CID\u5931\u8D25");let p=f.pages?.find(_=>String(_.cid)===String(u))?.duration,m=VQ(p??f.duration),g=`https://comment.bilibili.com/${u}.xml`;if(l==="auto"||d==="auto"){let _=s["user-agent"]||pOe||"",y=CTn(_)?"mira":"dash",E=[80];try{E=(await aw({aid:c,cid:u,qn:127,fnval:4048}))?.accept_quality||E}catch{}let A=E.filter(C=>_Tn.has(C)),v=(A.length?A:[80]).slice(0,uTn),T=[];for(let C of v)try{let b=await aw({aid:c,cid:u,qn:C,fnval:4048}),x=b?.dash;if(!x)continue;let w=ow(x.video,$=>Number($?.id)||0),P=ow(x.audio,$=>Number($?.bandwidth)||0);if(!Vl(w))continue;let[L,U]=y==="mira"?await Promise.all([FQ(w),P?FQ(P):null]):[w,P],Y=T9t(r,n,y,L,U,m,{aid:c,cid:u,qn:VTn(w,b,C)});T.push(h9t[C]||`${C}P`,Y)}catch(b){console.warn(`\u83B7\u53D6 ${h9t[C]||C} \u753B\u8D28\u5931\u8D25:`,b.message)}try{let C=v.includes(80)?80:v[v.length-1],x=(await aw({aid:c,cid:u,qn:C,fnval:1}))?.durl?.[0];x?.url&&T.push("MP4",x.url)}catch(C){console.warn("\u83B7\u53D6 MP4 \u753B\u8D28\u5931\u8D25:",C.message)}if(!T.length)throw new Hl("\u64AD\u653E\u94FE\u63A5\u83B7\u53D6\u5931\u8D25");return{parse:0,url:T,header:{"User-Agent":r_,Referer:"https://www.bilibili.com/"},subt:g,extra:{format:"application/dash+xml",duration:m,danmaku:g}}}if(d==="mp4"){let y=(await aw({aid:c,cid:u,qn:l,fnval:1}))?.durl?.[0];if(!y)throw new Hl("MP4 \u94FE\u63A5\u83B7\u53D6\u5931\u8D25");return{parse:0,url:y.url,header:{"User-Agent":r_,Referer:"https://www.bilibili.com"},subt:g,extra:{danmaku:g}}}if(d==="mira"||d==="dash"){let y=(await aw({aid:c,cid:u,qn:l,fnval:4048}))?.dash;if(!y)throw new Hl("\u65E0\u53EF\u7528\u7684 DASH \u6570\u636E");let E=ow(y.video,x=>Number(x?.id)||0),A=ow(y.audio,x=>Number(x?.bandwidth)||0);if(!E)throw new Hl("\u6CA1\u6709\u89C6\u9891\u6D41");if(!Vl(E))throw new Hl("\u89C6\u9891\u6D41URL\u83B7\u53D6\u5931\u8D25");let[T,C]=d==="mira"?await Promise.all([FQ(E),A?FQ(A):null]):[E,A];return{parse:0,url:T9t(r,n,d,T,C,m,{aid:c,cid:u,qn:l}),header:{Referer:"https://www.bilibili.com/"},extra:{format:"application/dash+xml",duration:m,danmaku:g},subt:g}}throw new Hl("\u4E0D\u652F\u6301\u7684\u64AD\u653E\u7C7B\u578B")}catch(a){throw console.error("\u64AD\u653E\u9519\u8BEF:",a),a}},KQ={meta:{key:"bili_all",name:"\u{1F3AC} \u54D4\u54E9",type:3,searchable:1,quickSearch:1,filterable:1,version:"1.0.3",author:"BiliCatpaw",description:"\u54D4\u54E9\u5927\u5168 - \u4F18\u5316\u7248\uFF0C\u652F\u6301\u641C\u7D22\u529F\u80FD\uFF0C\u9ED8\u8BA4\u5206\u7C7B\u4E3A\u7A7A\uFF0C\u4ECE\u524D\u7AEF\u52A0\u8F7D\uFF0C\u652F\u6301\u591A\u7EBF\u8DEF\u64AD\u653E\uFF0C\u65E0\u9700Cookie",homepage:"https://www.bilibili.com"},api:async e=>{e.post("/set-cookie",async(t,r)=>{let{cookie:n}=t.body||{},s=Ec.setCookie(n);if(s&&t.server?.db)try{await t.server.db.push("/bilibili_all/cookie",n.trim())}catch{}return r.send({code:s?0:400,message:s?"\u8BBE\u7F6E\u6210\u529F":"\u8BBE\u7F6E\u5931\u8D25"})}),e.post("/clear-cookie",async(t,r)=>{if(Ec.clearCookie(),t.server?.db)try{await t.server.db.push("/bilibili_all/cookie","")}catch{}return r.send({code:0,message:"Cookie\u5DF2\u6E05\u9664"})}),e.get("/cookie-status",async(t,r)=>(await D9t(t.server),r.send({code:0,data:{user_cookie_set:Ec.hasCookie(),system_cookie_valid:rl.isValid(),mixin_key_valid:cw.isValid(),current_user_agent:pOe||"\u672A\u68C0\u6D4B\u5230"}}))),e.post("/init",async(t,r)=>{try{return await lw(t.server),r.send({code:0,message:"\u54D4\u54E9\u5927\u5168\u521D\u59CB\u5316\u5B8C\u6210"})}catch(n){return console.error("\u521D\u59CB\u5316\u5931\u8D25:",n),r.send({code:500,message:"\u521D\u59CB\u5316\u5931\u8D25: "+n.message})}}),e.post("/validate-cookie",async(t,r)=>{try{let{cookie:n}=t.body||{};if(!n||n.trim().length<10)return r.send({code:400,message:"Cookie\u683C\u5F0F\u65E0\u6548",valid:!1});let s=n.trim(),i=ATn(s);try{let a=await ETn(i);return a?r.send({code:0,message:"Cookie\u9A8C\u8BC1\u6210\u529F",valid:!0,data:a}):r.send({code:401,message:"Cookie\u65E0\u6548\uFF0C\u672A\u767B\u5F55",valid:!1})}catch(a){return console.error("API\u9A8C\u8BC1\u5931\u8D25:",a.message),r.send({code:500,message:"\u9A8C\u8BC1\u5931\u8D25: "+a.message,valid:!1})}}catch(n){return console.error("\u9A8C\u8BC1Cookie\u5931\u8D25:",n),r.send({code:500,message:"\u9A8C\u8BC1\u5931\u8D25: "+n.message,valid:!1})}}),e.get("/user-info",async(t,r)=>{try{let n=await t.server.db.getObjectDefault("/bilibili_all",{});return n?.user_info?r.send({code:0,data:n.user_info}):r.send({code:401,message:"\u6682\u65E0\u5DF2\u4FDD\u5B58\u7684\u8D26\u53F7\u4FE1\u606F\uFF0C\u8BF7\u5148\u4FDD\u5B58\u57FA\u7840\u914D\u7F6E",data:null})}catch(n){return console.error("\u83B7\u53D6\u7528\u6237\u4FE1\u606F\u5931\u8D25:",n),r.send({code:500,message:"\u83B7\u53D6\u5931\u8D25: "+n.message,data:null})}}),e.post("/home",async(t,r)=>{try{let n=await b9t(t.server);return r.send(n)}catch(n){return console.error("\u83B7\u53D6\u9996\u9875\u5931\u8D25:",n),r.send({class:MQ.map(s=>({type_id:s.type_id,type_name:s.type_name})),filters:{}})}}),e.post("/category",async(t,r)=>{try{let n=await I9t({...t.body||{},server:t.server});return r.send(n)}catch(n){return console.error("\u5206\u7C7B\u83B7\u53D6\u5931\u8D25:",n),r.send({page:t.body?.page||1,pagecount:1,total:0,limit:gp,list:[]})}}),e.post("/detail",async(t,r)=>{try{let n=await R9t({...t.body,headers:t.headers,server:t.server});return r.send(n)}catch(n){return console.error("\u8BE6\u60C5\u83B7\u53D6\u5931\u8D25:",n),r.send({list:[]})}}),e.post("/search",async(t,r)=>{try{let n=await C9t({...t.body||{},server:t.server});return r.send(n)}catch(n){return console.error("\u641C\u7D22\u5931\u8D25:",n),r.send({page:t.body?.page||1,pagecount:1,total:0,list:[],message:"\u641C\u7D22\u5931\u8D25: "+n.message})}}),e.post("/play",async(t,r)=>{try{let n=rOe(t),s=await N9t({...t.body,serverUrl:n,routePrefix:nOe(t),headers:t.headers,server:t.server});return r.send(s)}catch(n){return console.error("\u64AD\u653E\u9519\u8BEF:",n),r.send({code:500,message:n.message||"\u64AD\u653E\u5931\u8D25",parse:0,url:"",header:{}})}}),e.get("/proxy",async(t,r)=>{try{let[n,s,i]=await sOe(t.query,{serverUrl:rOe(t),routePrefix:nOe(t)});return r.code(n).header("Content-Type",s).send(i)}catch(n){return console.error("proxy error:",n),r.code(500).send("Internal Server Error")}}),e.post("/proxy",async(t,r)=>{try{let[n,s,i]=await sOe(t.body||{},{serverUrl:rOe(t),routePrefix:nOe(t)});return r.code(n).header("Content-Type",s).send(i)}catch(n){return console.error("proxy error:",n),r.code(500).send("Internal Server Error")}}),e.get("/proxy/media/:token/:track",async(t,r)=>{try{return await HTn(t,r)}catch(n){return console.error("media proxy error:",n),r.code(500).send("Internal Server Error")}}),e.options("*",async(t,r)=>{r.header("Access-Control-Allow-Origin","*").header("Access-Control-Allow-Methods","GET,POST,OPTIONS").header("Access-Control-Allow-Headers","Content-Type").send()})},home:b9t,category:I9t,detail:R9t,search:C9t,play:N9t,proxy:sOe}});var dqt={};Bt(dqt,{default:()=>rbn});function YTn(e={}){let t=e.keyword??e.value??e.id??"";return{v:String(t),n:String(e.name||e.title||t)}}function QTn(e={}){let t=String(e.field??"2"),r=String(e.sort??"0");return{v:`${t}:${r}`,n:String(e.name||e.title||t)}}async function zTn(e){let t=String(e||"1"),r=z9t.get(t);if(r)return r;let n=await fw("https://api.bilibili.com/pgc/season/index/condition",{params:{season_type:t,type:1},referer:"https://www.bilibili.com/anime/index/",useCookie:!1});if(n?.code!==0)throw new Error(n?.message||`PGC \u6761\u4EF6\u63A5\u53E3\u9519\u8BEF ${n?.code}`);let s=n?.data||{};return z9t.set(t,s),s}async function WTn(e){let t=await zTn(e),r=(t.filter||[]).filter(n=>n?.field&&Array.isArray(n.values)).map(n=>({key:String(n.field),name:String(n.name||n.field),value:n.values.map(YTn)}));return Array.isArray(t.order)&&t.order.length&&r.unshift({key:"order",name:"\u6392\u5E8F",value:t.order.map(QTn)}),r}async function XTn(){let e=await Promise.all(iqt.map(async t=>{try{return[t.type_id,await WTn(t.type_id)]}catch(r){return console.warn(`[bili_official] \u83B7\u53D6\u7B5B\u9009\u6761\u4EF6\u5931\u8D25 type=${t.type_id}:`,r.message),[t.type_id,[]]}}));return Object.fromEntries(e)}function aqt(e){let t=String(e||"").trim();return t?t.startsWith("//")?"https:"+t:t.startsWith("http://")?t.replace("http://","https://"):t:""}function oqt(e){return String(e||"").replace(/<[^>]*>/g,"").replace(/&[a-z]+;/g,"").trim()}function YQ(e){return oqt(e)||"\u672A\u77E5\u6807\u9898"}function cqt(e,t={}){let r=String(e||"").trim();return r?JSON.stringify({source:IOe,id:r,meta:t&&typeof t=="object"?t:{}}):""}function uqt(e){let t=String(e||"").trim();if(!t)return{id:"",meta:{}};try{let r=JSON.parse(t);if(r&&typeof r=="object"){let n=String(r.source||"").trim(),s=String(r.id||r.season_id||"").trim();if((!n||n===IOe)&&s)return{id:s,meta:r.meta&&typeof r.meta=="object"?r.meta:{}}}}catch{}return{id:t,meta:{}}}function JTn(e){let t=Math.max(0,Math.floor(Number(e||0)/1e3)),r=Math.floor(t/3600),n=Math.floor(t%3600/60),s=t%60;return r>0?`${String(r).padStart(2,"0")}:${String(n).padStart(2,"0")}:${String(s).padStart(2,"0")}`:`${String(n).padStart(2,"0")}:${String(s).padStart(2,"0")}`}async function ZTn(e){try{let t=await PQ(e);return t?String(t).trim():""}catch{return""}}async function ebn(){if(yB&&Date.now()-Q9t=400||e.data?.code!==0)return yB;let t=e.data?.data||{},r=t.b_3||t.buvid3||"",n=t.b_4||t.buvid4||"",s=[];r&&s.push(`buvid3=${r}`),n&&s.push(`buvid4=${n}`),s.length&&(yB=s.join("; "),Q9t=Date.now())}catch{}return yB}function tbn(e="",t=""){let r=new Set,n=[];for(let s of[e,t])String(s||"").split(";").map(i=>i.trim()).filter(Boolean).forEach(i=>{let a=i.split("=")[0];!a||r.has(a)||(r.add(a),n.push(i))});return n.join("; ")}async function fw(e,{server:t=null,params:r={},referer:n="https://www.bilibili.com/",origin:s=null,useCookie:i=!0,includeBuvid:a=!1}={}){let o=tbn(i?await ZTn(t):"",a?await ebn():""),c=await sqt.get(e,{params:r,headers:{Referer:n,...s?{Origin:s}:{},...o?{Cookie:o}:{}}});if(c.status>=400)throw new Error(`HTTP ${c.status}`);return c.data}function lqt(e={}){let t=String(e.season_id||e.media_id||"").trim();if(!t)return null;let r=aqt(e.cover||e.media_cover||e.eps?.[0]?.cover||""),n=oqt(e.index_show||e.pubtime||e.desc||e.styles||"")||"\u65E0\u4FE1\u606F";return{vod_id:cqt(t,{vod_pic:r,vod_remarks:n}),vod_name:YQ(e.title||e.season_title),vod_pic:r,vod_remarks:n}}function QQ(e){return e?.body?e.body:e||{}}function W9t(e,t={}){return t.serverUrl?t.serverUrl:e?.protocol&&e?.hostname?`${e.protocol}://${e.hostname}${e.port?":"+e.port:""}`:jTn}async function X9t(e={}){return{class:iqt,filters:await XTn()}}async function J9t(e={}){return{list:(await bOe({...e,body:{tid:"1",pg:1,extend:{}}})).list||[]}}async function bOe(e={}){let t=QQ(e),r=Math.max(1,Number.parseInt(t.pg||t.page||t.pn,10)||1),n=String(t.tid||t.id||t.t||"1").trim(),s=t.extend||t.ext||t.filters||{},i={order:2,sort:0,pagesize:TOe,type:1,st:n,season_type:n,page:r};for(let[a,o]of Object.entries(s||{})){let c=String(o??"").trim();if(!(!c||c==="-1"))if(a==="order"){let[u,l="0"]=c.split(":");u&&(i.order=u),i.sort=l}else i[a]=c}try{let a=await fw("https://api.bilibili.com/pgc/season/index/result",{server:e.server,params:i,referer:"https://www.bilibili.com/anime/index/"});if(a?.code!==0)throw new Error(a?.message||`PGC \u5206\u7C7B\u63A5\u53E3\u9519\u8BEF ${a?.code}`);let o=(a?.data?.list||[]).map(lqt).filter(Boolean);return{page:r,pagecount:a?.data?.has_next===1?r+1:r,limit:o.length,total:o.length,list:o}}catch(a){return console.error("[bili_official] \u5206\u7C7B\u5931\u8D25:",a.message),{page:r,pagecount:1,limit:0,total:0,list:[]}}}async function Z9t(e={}){let t=QQ(e),r=Array.isArray(t.id)?t.id[0]:t.id||t.ids||t.vod_id||"",n=uqt(r),s=String(n.id||"").split(",")[0].trim();if(!s)return{list:[]};let i=await fw("https://api.bilibili.com/pgc/view/web/season",{server:e.server,params:{season_id:s},referer:`https://www.bilibili.com/bangumi/play/ss${s}`});if(i?.code!==0||!i?.result)throw new Error(i?.message||"PGC \u8BE6\u60C5\u63A5\u53E3\u8FD4\u56DE\u5F02\u5E38");let a=i.result,o=n.meta?.vod_pic||aqt(a.cover||""),c=n.meta?.vod_remarks||a.new_ep?.desc||a.index_show||"",u=(a.episodes||[]).map(l=>{let d=YQ(l.share_copy||l.long_title||l.title||`\u7B2C${l.title||""}\u96C6`).replace(/#/g,"-").replace(/\$/g,"*");return`[${JTn(l.duration)}]/${d}$pgc_${l.id}_${l.cid}`}).filter(Boolean).join("#");return{list:[{vod_id:cqt(s,{vod_pic:o,vod_remarks:c}),vod_name:YQ(a.title),vod_pic:o,type_name:a.share_sub_title||a.type_name||"",vod_actor:String(a.actors||"").replace(/\n/g,"\uFF0C"),vod_content:YQ(a.evaluate||a.new_ep?.desc||""),vod_year:a.publish?.pub_time?String(new Date(a.publish.pub_time).getFullYear()):"",vod_remarks:c,vod_play_from:"\u54D4\u54E9\u89C6\u9891",vod_play_url:u}]}}async function eqt(e={}){let t=QQ(e),r=String(t.wd||t.key||t.keyword||"").trim(),n=Math.max(1,Number.parseInt(t.page||t.pg||t.pn,10)||1);if(!r)return{page:n,pagecount:1,total:0,list:[]};try{let s=`https://search.bilibili.com/all?keyword=${encodeURIComponent(r)}`,i=await Promise.all(Y9t.map(async l=>{let d={search_type:l,keyword:r,page:n},f;try{f=await fw("https://api.bilibili.com/x/web-interface/search/type",{server:e.server,params:d,referer:s,origin:"https://search.bilibili.com",includeBuvid:!0})}catch(h){if(!String(h.message||"").includes("HTTP 412"))throw h;f=await fw("https://api.bilibili.com/x/web-interface/search/type",{server:e.server,params:d,referer:s,origin:"https://search.bilibili.com",useCookie:!1,includeBuvid:!0})}if(f?.code!==0)throw new Error(f?.message||`\u641C\u7D22\u63A5\u53E3\u9519\u8BEF ${f?.code}`);return f?.data||{}})),a=new Set,o=[],c=0;for(let l of i){c+=Number(l?.numResults||0);for(let d of l?.result||[]){let f=lqt(d);if(!f)continue;let h=uqt(f.vod_id).id||f.vod_id;a.has(h)||(a.add(h),o.push(f))}}let u=TOe*Y9t.length;return{page:n,pagecount:Math.max(1,Math.ceil((c||o.length)/u)),total:c||o.length,limit:u,list:o}}catch(s){return console.error("[bili_official] \u641C\u7D22\u5931\u8D25:",s.message),{page:n,pagecount:1,total:0,limit:TOe,list:[]}}}async function tqt({epId:e,cid:t,qn:r=120,server:n=null}){let s=await fw("https://api.bilibili.com/pgc/player/web/playurl",{server:n,params:{ep_id:e,cid:t,qn:r,fnval:4048,fnver:0,fourk:1},referer:`https://www.bilibili.com/bangumi/play/ep${e}`});if(s?.code!==0)throw new Error(s?.message||`PGC \u64AD\u653E\u63A5\u53E3\u9519\u8BEF ${s?.code}`);return s.result||s.data||{}}function rqt(e,t){return!Array.isArray(e)||!e.length?null:e.reduce((r,n)=>t(n)>t(r)?n:r,e[0])}async function nqt(e={}){let t=QQ(e),r=String(t.id||"").trim();if(!r)throw new Error("\u53C2\u6570\u9519\u8BEF");if(!r.startsWith("pgc_"))return KQ.play({...t,serverUrl:W9t(e,t),headers:e.headers||{},server:e.server});let[,n,s]=r.split("_");if(!n||!s)throw new Error("PGC \u64AD\u653E\u53C2\u6570\u9519\u8BEF");let i=W9t(e,t),o=(e.headers?.["user-agent"]||"").toLowerCase().includes("tvbox")?"mira":"dash",c=`https://comment.bilibili.com/${s}.xml`,u=await tqt({epId:n,cid:s,qn:120,server:e.server}),l=Number(u?.dash?.duration||0);if(u?.dash?.video?.length){let h=(u.accept_quality||[120,116,112,80]).slice(0,4),p=[];for(let m of h)try{let g=m===120?u:await tqt({epId:n,cid:s,qn:m,server:e.server}),_=g?.dash;if(!_?.video?.length)continue;let y=rqt(_.video,T=>Number(T?.id)||0),E=rqt(_.audio,T=>Number(T?.bandwidth)||0),A=y?.backup_url?.[0]||y?.backupUrl?.[0]||y?.base_url||y?.baseUrl||"",v=E?.backup_url?.[0]||E?.backupUrl?.[0]||E?.base_url||E?.baseUrl||"";if(!A)continue;p.push(g.accept_description?.[g.accept_quality?.indexOf(m)]||`${m}P`,`${i}/proxy?do=mpd&mode=${o}&video_url=${encodeURIComponent(A)}${v?`&audio_url=${encodeURIComponent(v)}`:""}&duration=${Number(_.duration||l||0)}`)}catch(g){console.warn("[bili_official] \u83B7\u53D6\u753B\u8D28\u5931\u8D25:",m,g.message)}if(p.length)return{parse:0,url:p,header:{"User-Agent":SOe,Referer:"https://www.bilibili.com/"},subt:c,extra:{format:"application/dash+xml",duration:l,danmaku:c}}}let f=u?.durl?.[0];if(f?.url)return{parse:0,url:f.url,header:{"User-Agent":SOe,Referer:"https://www.bilibili.com/"},subt:c,extra:{danmaku:c}};throw new Error("\u64AD\u653E\u94FE\u63A5\u83B7\u53D6\u5931\u8D25")}async function vOe(e){return KQ.proxy(e)}var SOe,TOe,jTn,IOe,KTn,Y9t,sqt,yB,Q9t,iqt,GTn,z9t,rbn,fqt=oe(()=>{Pr();GQ();kr();LQ();zi();SOe="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",TOe=20,jTn="http://127.0.0.1:3006",IOe="bili_official",KTn=24*60*60*1e3,Y9t=["media_bangumi","media_ft"],sqt=Se.create({timeout:15e3,validateStatus:()=>!0,...Wn(),paramsSerializer:{serialize(e={}){return Object.entries(e).filter(([,t])=>t!=null&&String(t)!=="").map(([t,r])=>`${encodeURIComponent(t)}=${encodeURIComponent(String(r))}`).join("&")}},headers:{"User-Agent":SOe,Referer:"https://www.bilibili.com/",Origin:"https://www.bilibili.com",Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8"}}),yB="",Q9t=0,iqt=[{type_id:"5",type_name:"\u7535\u89C6\u5267"},{type_id:"2",type_name:"\u7535\u5F71"},{type_id:"3",type_name:"\u7EAA\u5F55\u7247"},{type_id:"1",type_name:"\u756A\u5267"},{type_id:"4",type_name:"\u56FD\u521B"},{type_id:"7",type_name:"\u7EFC\u827A"},{type_id:"8",type_name:"\u77ED\u5267"}],GTn=6*60*60*1e3,z9t=new pt(20,GTn);rbn={meta:{key:IOe,name:"\u{1F3AC} bili\u5B98",type:3,searchable:1,quickSearch:1,filterable:1,version:"1.0.0",author:"CatPawOpen",description:"\u54D4\u54E9\u54D4\u54E9 PGC \u5B98\u65B9\u5206\u7C7B/\u641C\u7D22\uFF0C\u767B\u5F55\u548C MPD \u6784\u5EFA\u590D\u7528 bili_all",homepage:"https://www.bilibili.com"},api:async e=>{e.post("/init",async(t,r)=>r.send({code:0,message:"bili\u5B98\u521D\u59CB\u5316\u5B8C\u6210"})),e.post("/home",async(t,r)=>r.send(await X9t(t))),e.post("/homeVod",async(t,r)=>r.send(await J9t(t))),e.post("/category",async(t,r)=>r.send(await bOe(t))),e.post("/detail",async(t,r)=>{try{return r.send(await Z9t(t))}catch(n){return console.error("[bili_official] \u8BE6\u60C5\u5931\u8D25:",n.message),r.send({list:[]})}}),e.post("/search",async(t,r)=>r.send(await eqt(t))),e.post("/play",async(t,r)=>{try{return r.send(await nqt(t))}catch(n){return console.error("[bili_official] \u64AD\u653E\u5931\u8D25:",n.message),r.send({code:500,message:n.message||"\u64AD\u653E\u5931\u8D25",parse:0,url:"",header:{}})}}),e.get("/proxy",async(t,r)=>{let[n,s,i]=await vOe(t.query||{});r.code(n).header("Content-Type",s).send(i)}),e.post("/proxy",async(t,r)=>{let[n,s,i]=await vOe(t.body||{});r.code(n).header("Content-Type",s).send(i)})},home:X9t,homeVod:J9t,category:bOe,detail:Z9t,search:eqt,play:nqt,proxy:vOe}});function pqt(e,t={}){return JSON.stringify({id:String(e||"").trim(),meta:t&&typeof t=="object"?t:{}})}function obn(e){try{let t=JSON.parse(String(e||""));if(t&&typeof t=="object"&&t.id)return{id:String(t.id||"").trim(),meta:t.meta&&typeof t.meta=="object"?t.meta:{}}}catch{}return{id:String(e||"").trim(),meta:{}}}var hqt,nbn,sbn,ibn,abn,vi,b0=oe(()=>{kr();Fh();Yu();Fa();Dn();ta();Cs();hqt=15e3,nbn=8e3,sbn=5*60*1e3,ibn=500,abn=6;vi=class{constructor(t,r,n,s){this.siteName=t,this.siteKey=r,this.meta=n,this.getCacheFunction=s,this.baseUrlCache=new Map,this.requestCache=new Map,this.inflightRequests=new Map,this.filterRulesCache=new Map,this.liveStructureCache=null,this.liveStructurePromise=null,this.requestTimeout=hqt,this.requestCacheTTL=sbn,this.requestCacheMax=ibn,this.requestRetryCount=1,this.requestRetryDelay=300,this.detailConcurrency=abn,this.liveStructureTTL=10*60*1e3,this.useLiveCategoryMetadata=!1,this.validateCategoryPageUrl=!1}async getUrl(t){if(!this.baseUrlCache.has(t)){let r=await this.getCacheFunction(t),n=await this.resolveWorkingUrl(r);if(!n)throw new Error(`[${this.siteName}] \u65E0\u53EF\u7528\u7AD9\u70B9 url\uFF08\u6240\u6709\u5019\u9009\u5747\u8FDE\u4E0D\u4E0A\uFF09`);this.baseUrlCache.set(t,n)}return this.baseUrlCache.get(t)}async resolveWorkingUrl(t){let r=Array.isArray(t)?t:[];if(this.validateCategoryPageUrl){for(let n of r)if(await this.isValidCategoryBaseUrl(n))return n}return await this.firstSuccessfulUrl(r)}async firstSuccessfulUrl(t){return await QV(t)}async isValidCategoryBaseUrl(t){if(!t)return!1;try{let r=await this.request(`${t}/index.php/vod/show/id/1.html`,!1,{timeout:8e3,retryCount:0});return typeof r=="string"&&/class="library-box/i.test(r)}catch{return!1}}delay(t){return tr(t)}shouldRetryRequest(t){return t?.response?[408,425,429,500,502,503,504].includes(t.response.status):!0}getCachedRequest(t){let r=this.requestCache.get(t);return r?Date.now()-r.timestamp>this.requestCacheTTL?(this.requestCache.delete(t),null):(this.requestCache.delete(t),this.requestCache.set(t,r),r.data):null}setCachedRequest(t,r){if(this.requestCache.size>=this.requestCacheMax){let n=Math.min(50,this.requestCache.size),s=0;for(let i of this.requestCache.keys())if(this.requestCache.delete(i),s++,s>=n)break}this.requestCache.set(t,{data:r,timestamp:Date.now()})}async doRequest(t){let r=new AbortController,n=setTimeout(()=>r.abort(),this.requestTimeout);try{return(await Ye.get(t,{headers:{"User-Agent":O4},signal:r.signal})).data}catch(s){throw s}finally{clearTimeout(n)}}async request(t,r=!1,n={}){let s=t,i=r?this.getCachedRequest(s):null;if(i!==null)return i;let a=Number.isFinite(n.timeout)?n.timeout:this.requestTimeout,o=Number.isFinite(n.retryCount)?n.retryCount:this.requestRetryCount,c=`${r?"cache":"nocache"}:${s}:${a}:${o}`;if(this.inflightRequests.has(c))return this.inflightRequests.get(c);let u=(async()=>{let l=r?this.requestCache.get(s)?.data:null,d=null;for(let f=0;f<=o;f++)try{let h=this.requestTimeout;this.requestTimeout=a;try{let p=this.normalizeHtmlResponse(await this.doRequest(t));return r&&this.setCachedRequest(s,p),p}finally{this.requestTimeout=h}}catch(h){if(d=h,f>=o||!this.shouldRetryRequest(h))break;await this.delay(this.requestRetryDelay*(f+1))}if(l&&!d?.response)return l;throw d})();this.inflightRequests.set(c,u);try{return await u}finally{this.inflightRequests.delete(c)}}normalizePage(t){let r=Number.parseInt(t,10);return Number.isNaN(r)||r<=0?1:r}generateYears(t,r){let n=[];for(let s=r;s>=t;s--)n.push({v:s.toString(),n:s.toString()});return n}normalizeText(t){return String(t||"").replace(/\s+/g," ").trim()}normalizeHtmlResponse(t){if(typeof t!="string")return t;let r=t.indexOf('"n.includes(u)))return{key:o,name:o==="year"?"\u65F6\u95F4":c[0]};let i=this.detectFilterKey(r);return i?{key:i,name:{id:"\u7C7B\u578B",class:"\u5267\u60C5",area:"\u5730\u533A",lang:"\u8BED\u8A00",year:"\u65F6\u95F4",letter:"\u5B57\u6BCD",by:"\u6392\u5E8F"}[i]||i}:{key:"",name:""}}detectFilterKey(t=""){return/\/show\/by\//i.test(t)?"by":/\/show\/class\//i.test(t)?"class":/\/show\/area\//i.test(t)?"area":/\/lang\//i.test(t)?"lang":/\/year\//i.test(t)?"year":/\/letter\//i.test(t)?"letter":/\/show\/id\/\d+\.html/i.test(t)?"id":""}extractFilterValue(t="",r=""){let s={by:/\/show\/by\/([^/]+)\/id\//i,class:/\/show\/class\/([^/]+)\/id\//i,area:/\/show\/area\/([^/]+)\/id\//i,lang:/\/lang\/([^/.]+)\.html/i,year:/\/year\/([^/.]+)\.html/i,letter:/\/letter\/([^/.]+)\.html/i,id:/\/show\/id\/(\d+)\.html/i}[r];if(!s)return"";let i=t.match(s);return i?this.decodeFilterValue(i[1]):""}parseLiveClasses(t){let r=Br(t),n=[],s=new Set,i=[".page-heading .library-box-first .library-list a",".drop-content-items li",".nav-menu-items li"];for(let a of i)if(r(a).each((o,c)=>{let u=r(c),l=c.tagName==="a"?u:u.find("a").first(),d=l.attr("href")||"";if(!d||!d.includes("/show/")&&!d.includes("/type/"))return;let f=d.match(/\/id\/(\d+)/i)?.[1]||d.match(/\/type\/(\d+)/i)?.[1]||d.match(/(\d+)(?:\.html)?$/i)?.[1];if(!f||s.has(f))return;let h=this.normalizeLiveClassName(l.text()||l.attr("title")||l.attr("alt")||"");h&&(s.add(f),n.push({type_name:h,type_id:f}))}),n.length>0)return n;return n}parseLiveFilters(t,r){let n=Br(t),s=[],i={},a=new Set;return n("div.library-box.scroll-box").slice(1).each((o,c)=>{let u=n(c);if(u.find(".library-stat").length>0)return;let l=this.normalizeText(u.find("a.library-item-first").first().text()),d=u.find(".library-list a"),f=d.first().attr("href")||"",h=this.getLiveFilterMeta(l,f);if(!h.key||a.has(h.key)||d.length===0)return;let p=new Set,m=[];d.each((g,_)=>{let y=n(_),E=y.attr("href")||"",A=this.extractFilterValue(E,h.key),v=this.normalizeText(y.text()||y.attr("title")||"");!A||!v||p.has(A)||(p.add(A),m.push({v:A,n:v}))}),m.length!==0&&(a.add(h.key),s.push({name:h.name,key:h.key}),i[`${r}.${h.key}`]=m)}),{rules:s,values:i}}async ensureLiveFilterData(t,r,n=null){if(!this.useLiveCategoryMetadata||!r)return;let s=String(r);if(this.filterData?.[s]?.length>0)return;let i=n||await this.getUrl(t);try{let a=await this.request(`${i}/index.php/vod/show/id/${s}.html`,!0),o=this.parseLiveFilters(a,s);if(o.rules.length===0)return;this.filterData={...this.filterData||{},[s]:o.rules},this.filterValues={...this.filterValues||{},...o.values},this.filterRulesCache.delete(s),this.homeCache=null}catch{}}async ensureLiveCategoryMetadata(t){if(!this.useLiveCategoryMetadata)return;let r=Date.now();if(!(this.liveStructureCache&&r-this.liveStructureCache.timestamp{let n=await this.getUrl(t),s=String(this.classes?.[0]?.type_id||"1"),i=await this.request(`${n}/index.php/vod/show/id/${s}.html`,!0),a=this.parseLiveClasses(i);if(a.length===0)return;let o={},c={},u=new Map([[s,i]]);await this.mapWithConcurrency(a,3,async l=>{let d=String(l.type_id);try{let f=u.get(d)||await this.request(`${n}/index.php/vod/show/id/${d}.html`,!0);u.set(d,f);let h=this.parseLiveFilters(f,d);o[d]=h.rules,Object.assign(c,h.values)}catch{o[d]=this.filterData?.[d]||[]}}),this.classes=a,this.filterData=o,this.filterValues=c,this.filterRulesCache.clear(),this.homeCache=null,this.liveStructureCache={timestamp:Date.now()}})();try{await this.liveStructurePromise}finally{this.liveStructurePromise=null}}}resolveFilterValue(t,r){let n=`${t}.${r}`;return this.filterValues?.[n]||this.filterValues?.[r]||[]}getFilterRules(t){let r=String(t??"");if(this.filterRulesCache.has(r))return this.filterRulesCache.get(r);let s=(this.filterData?.[r]||[]).map(i=>({name:i.name,key:i.key,value:this.resolveFilterValue(r,i.key)}));return this.filterRulesCache.set(r,s),s}async home(t,r){try{this.useLiveCategoryMetadata&&t?.server&&await this.ensureLiveCategoryMetadata(t.server);let n=Vr(this.siteKey,t),s=jr(n);if(s)return s;let i={};for(let c of Object.keys(this.filterData||{}))i[c]=this.getFilterRules(c);let a={class:this.classes||[],filters:i},o=this.meta?.homeCacheTTL||Rt.static;return sn(n,a,o),a}catch(n){return console.warn(`[${this.siteName}] home \u5931\u8D25:`,n.message),{class:this.classes||[],filters:{}}}}buildDetailUrl(t,r){return r.startsWith("http")?r:r.startsWith("/")?t+r:`${t}/index.php/vod/detail/id/${r}.html`}async mapWithConcurrency(t,r,n){let s=[],i=new Array(t.length),a=0,o=async()=>{for(;;){let u=a++;if(u>=t.length)break;i[u]=await n(t[u],u)}},c=Math.min(r,t.length);for(let u=0;uobn(o)).filter(o=>o.id);return{list:(await Promise.all(i.map(({id:o,meta:c})=>{let u=qT("detail",{id:o,server:t.server});return Pn(this.siteKey,"detail",u,async()=>{try{let l=this.buildDetailUrl(n,o),d=await this.request(l,!0),f=Br(d),h={vod_id:o,vod_name:f(".page-title")[0]?.children[0]?.data||"",vod_pic:c?.vod_pic||f(f(".mobile-play")).find(".lazyload")[0]?.attribs["data-src"]||"",vod_remarks:c?.vod_remarks||""},p=f(".video-info-itemtitle");for(let y of p){let E=f(y).text(),v=f(y).next().find("a").map((T,C)=>{let b=f(C).text().trim();return b||null}).get().filter(Boolean).join(", ");E.includes("\u5267\u60C5")?h.vod_content=f(y).next().find("p").text().trim():E.includes("\u5BFC\u6F14")?h.vod_director=v.trim():E.includes("\u4E3B\u6F14")&&(h.vod_actor=v.trim())}let g=f("div.module-row-info p").map((y,E)=>f(E).text().trim()).get().filter(Boolean),_=g.length>0?await di(g,t):null;return _&&(h.vod_play_from=_.froms,h.vod_play_url=_.urls,Array.isArray(_.links)&&_.links.length>0&&(h.vod_links=_.links)),h}catch(l){return console.error(`[${this.siteName}] \u83B7\u53D6\u8BE6\u60C5\u5931\u8D25 (id: ${o}):`,l.message),{vod_id:o,vod_name:"\u83B7\u53D6\u5931\u8D25",vod_pic:c?.vod_pic||"",vod_remarks:c?.vod_remarks||"\u8BE6\u60C5\u83B7\u53D6\u5931\u8D25",vod_content:`\u8BE6\u60C5\u83B7\u53D6\u5931\u8D25: ${l.message}`}}},{timeout:hqt})}))).filter(Boolean)}}catch{return{list:[]}}}async search(t,r){let n=this.normalizePage(t.body.page);try{let s=await this.getUrl(t.server),i=String(t.body.wd||"").trim();if(!i)return{page:n,pagecount:n,list:[]};let a=await this.request(`${s}/index.php/vod/search/wd/${encodeURIComponent(i)}.html`,!0,{timeout:nbn,retryCount:0}),o=Br(a),c=o(".module-search-item").map((u,l)=>{let d=o(l),f=d.find(".video-serial"),h=f.length>0?f[0].attribs.href:"",p=this.fixImgUrl(d.find(".module-item-pic > img")[0]?.attribs["data-src"]||""),m=f.length>0?o(f[0]).text():"";return{vod_id:pqt(h,{vod_pic:p,vod_remarks:m}),vod_name:f.length>0?f[0].attribs.title:"",vod_pic:p,vod_remarks:m}}).get();return{page:n,pagecount:c.length<10?n:n+1,list:c}}catch(s){return console.error(`[${this.siteName}] \u641C\u7D22\u5931\u8D25:`,s.message),{page:n,pagecount:n,list:[]}}}buildFilterUrl(t,r,n={}){let s=t.replace(/\/index\.php\/vod\/show\/id\/[^/]+$/i,""),i=String(n.id||r),a=[];return n.area&&a.push(`area/${encodeURIComponent(n.area)}`),n.by&&a.push(`by/${encodeURIComponent(n.by)}`),n.class&&a.push(`class/${encodeURIComponent(n.class)}`),a.push(`id/${encodeURIComponent(i)}`),n.lang&&a.push(`lang/${encodeURIComponent(n.lang)}`),n.letter&&a.push(`letter/${encodeURIComponent(n.letter)}`),n.year&&a.push(`year/${encodeURIComponent(n.year)}`),`${s}/index.php/vod/show/${a.join("/")}`}async parseCategoryVideos(t){return t("#main .module-item").map((n,s)=>{let i=t(s),a=i.find(".module-item-pic a").attr("href"),o=i.find(".module-item-pic img").attr("alt"),c=i.find(".module-item-pic img").attr("data-src"),u=i.find(".module-item-text").text(),l=this.fixImgUrl(c);return{vod_id:pqt(a||"",{vod_pic:l,vod_remarks:u}),vod_name:o,vod_pic:l,vod_remarks:u}}).get()}async category(t,r){let n=this.normalizePage(t.body.page);try{this.useLiveCategoryMetadata&&t?.server&&await this.ensureLiveCategoryMetadata(t.server);let s=await this.getUrl(t.server),i=t.body.id,a=t.body.filters||t.body.extend||t.body.ext||{},o=String(a.id||i);this.useLiveCategoryMetadata&&await this.ensureLiveFilterData(t.server,o,s);let c=`${s}/index.php/vod/show/id/${i}`,u=this.buildFilterUrl(c,i,a)+`/page/${n}.html`,l=await this.request(u,!0),d=Br(l);if(this.useLiveCategoryMetadata){let _=this.parseLiveFilters(l,o);_.rules.length>0&&(this.filterData={...this.filterData||{},[o]:_.rules},this.filterValues={...this.filterValues||{},..._.values},this.filterRulesCache.delete(o))}let f=await this.parseCategoryVideos(d),p=d("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?n+1:n,m={page:n,pagecount:p,limit:72,total:72*p,list:f},g=this.getFilterRules(o);return g&&g.length>0&&(m.filter=g),m}catch(s){return console.warn(`[${this.siteName}] category \u5931\u8D25:`,s.message),{page:n,pagecount:n,limit:72,total:0,list:[]}}}createApi(t){t.post("/init",$i),t.post("/home",async(r,n)=>n.send(await this.home(r,n))),t.post("/category",async(r,n)=>n.send(await this.category(r,n))),t.post("/detail",async(r,n)=>n.send(await this.detail(r,n))),t.post("/play",ti),t.post("/search",async(r,n)=>n.send(await this.search(r,n))),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",ws)}getStaticHomeSnapshot(){let t={};for(let r of Object.keys(this.filterData||{}))t[r]=this.getFilterRules(r);return JSON.parse(JSON.stringify({class:this.classes||[],filters:t}))}getExports(){return{meta:this.meta,api:async t=>this.createApi(t),staticHome:()=>this.getStaticHomeSnapshot(),check:async t=>{try{return await this.getUrl(t)}catch{return null}}}}}});function gqt(e){let t=[];Array.isArray(e)?t=e:typeof e=="string"?t=[e]:e&&typeof e=="object"&&(Array.isArray(e.urls)?t=e.urls:typeof e.url=="string"&&(t=[e.url]));let r=[],n=new Set;for(let s of t){let i=String(s??"").trim();!i||n.has(i)||(n.add(i),r.push(i))}return r}function mqt(e,t){let r=e?.config?.[t];return gqt(r)}async function hw(e,t){if(!e||!t)return[];if(!e.db)return mqt(e,t);let r=[];try{let s=await e.db.getObjectDefault(`/${t}`,{});r=gqt(s?.urls??s)}catch(s){console.error(`[${t}] \u8BFB\u53D6\u6570\u636E\u5E93\u57DF\u540D\u914D\u7F6E\u5931\u8D25:`,s)}if(r.length>0)return r;let n=mqt(e,t);if(n.length===0)return[];try{await e.db.push(`/${t}/urls`,n),console.log(`[${t}] DB\u4E3A\u7A7A\uFF0C\u5DF2\u4ECE index.config.js \u56DE\u586B\u57DF\u540D\u914D\u7F6E\uFF0C\u5171 ${n.length} \u6761`)}catch(s){console.error(`[${t}] \u56DE\u586B index.config.js \u5230\u6570\u636E\u5E93\u5931\u8D25:`,s)}return n}var zQ=oe(()=>{});async function COe(e){e.get("/urls",async(t,r)=>{r.send({code:0,data:await ROe(t.server)})}),e.put("/urls",async(t,r)=>{await cbn(t.server,t.body),r.send({code:0})}),e.delete("/urls",async(t,r)=>{await ubn(t.server),r.send({code:0})})}var ROe,cbn,ubn,xOe=oe(()=>{zQ();ROe=async e=>hw(e,"wogg"),cbn=async(e,t)=>{await e.db.push("/wogg/urls",t)},ubn=async e=>{await e.db.delete("/wogg/urls")}});function wOe(e,t={}){return JSON.stringify({id:String(e||"").trim(),meta:t&&typeof t=="object"?t:{}})}function lbn(e){try{let t=JSON.parse(String(e||""));if(t&&typeof t=="object"&&t.id)return{id:String(t.id||"").trim(),meta:t.meta&&typeof t.meta=="object"?t.meta:{}}}catch{}return{id:String(e||"").trim(),meta:{}}}var dbn,fbn,hbn,pbn,_qt,Aqt,mbn,NOe,gbn,Eqt,yqt=oe(()=>{kr();Yu();Fh();b0();xOe();Fa();Dn();ta();zi();dbn=15e3,fbn=10*60*1e3,hbn=15*1e3,pbn=30*1e3,_qt=60*1e3,Aqt=200,mbn=4,NOe=class extends vi{constructor(){super("\u73A9\u5076","wogg",{key:"wogg",name:"\u2601\uFE0F \u73A9\u5076",type:3,homeCacheTTL:Rt.static},ROe),this.urlState={value:"",timestamp:0},this.htmlCache=new Map,this.shareDetailCache=new pt(Aqt,_qt),this.detailConcurrency=mbn}getCacheBucket(t,r){if(t instanceof pt)return t;let n=String(r),s=t.get(n);return s||(s=new pt(Aqt,r),t.set(n,s)),s}async withCache(t,r,n,s,i){let a=this.getCacheBucket(t,s),o=a.get(n);return o?o.data:Pn("wogg",r,n,async()=>{let c=await i();return a.set(n,{data:c}),c},{timeout:3e4})}async getUrl(t,r=!1){let n=Date.now();return!r&&this.urlState.value&&n-this.urlState.timestamp{let s=await this.getCacheFunction(t),i=await QV(s);return console.log(`[wogg] \u57DF\u540D\u5019\u9009=${Array.isArray(s)?s.length:0}, \u9009\u4E2D=${i||"none"}`),this.urlState.value=i||"",this.urlState.timestamp=Date.now(),this.urlState.value},3e4)}async request(t,r={}){let n=r.ttl==null?hbn:r.ttl,s=async()=>(await Ye.get(t,{headers:{"User-Agent":O4},timeout:dbn})).data||"";if(r.noCache||n<=0)return s();let i=`html:${t}`;return this.withCache(this.htmlCache,"html",i,n,s)}async init(t,r){return await $i(t,r),{}}async home(t,r){let n=await this.getUrl(t.server);if(!n)return{class:[]};let s=await this.request(`${n}/index.php/vodshow/1-----------.html`);return{class:Br(s)("div.library-box-first a[href*=/vodshow/]").map((a,o)=>{let c=o.attribs?.href?.match(/vodshow\/(\d+)-----------.html/);return c?{type_id:c[1],type_name:(o.attribs?.title||"").replace(/片库|玩偶/g,"")}:null}).get().filter(Boolean)}}fixImgUrl(t,r=""){if(!t)return"";let n=String(r||"").replace(/\/+$/,"");return t.startsWith("/img.php?url=")?t.substring(13):t.startsWith("/db.php?url=")?n?`${n}${t}`:t:t.startsWith("//")?`https:${t}`:t.startsWith("/")&&n?`${n}${t}`:t}getImgUrl(t,r,n=""){let s=t(r).find("div.module-item-pic img").first(),i=[s.attr("data-src"),s.attr("data-original"),s.attr("data-lazy-src"),s.attr("data-srcset"),s.attr("srcset"),s.attr("src")];for(let a of i){if(!a)continue;let o=String(a).trim();if(!o)continue;let c=o.split(",")[0]?.trim().split(/\s+/)[0]||"";if(c)return this.fixImgUrl(c,n)}return""}getHrefInfoIdx(t){let r=Array.isArray(t)?t:t.split("-");for(let n=1;n div.module-search-item").map((g,_)=>{let y=p(_).find("div.video-info-header h3 a")[0];if(!y?.attribs?.href)return null;let E=y.attribs.href.match(/voddetail\/(.*).html/);return E?{vod_id:wOe(E[1],{vod_pic:this.getImgUrl(p,_,n),vod_remarks:p(_).find("a.video-serial").text()}),vod_name:y.attribs.title||"",vod_pic:this.getImgUrl(p,_,n),vod_remarks:p(_).find("a.video-serial").text()}:null}).get().filter(Boolean);return{page:a,pagecount:m.length<10?a:a+1,list:m}}let o=[],c=null;if(a===1&&Object.keys(i).length===0){let d=await this.request(`${n}/index.php/vodshow/${s}-----------.html`);c=Br(d),c("a.library-item-first").map((f,h)=>{let p=c(h.parent).find("div.library-list > a.library-item");if(p.length>0){let m=[],g=0;p.each((_,y)=>{let A=y.attribs.href.match(/vodshow\/(.*).html/)[1].split("-");_===0&&(g=this.getHrefInfoIdx(A),g!==2&&m.push({n:"\u5168\u90E8",v:""})),m.push({n:y.attribs.title.replace(/按|排序/g,""),v:decodeURIComponent(A[g].toString())})}),o.push({key:g.toString(),name:"",init:m[0].v,value:m})}})}if(c===null){let d=[s,"","","","","","","",a,"","",""];Object.keys(i).forEach(h=>{d[Number.parseInt(h,10)]=i[h]});let f=await this.request(`${n}/index.php/vodshow/${d.join("-")}.html`);c=Br(f)}let u=c("div.module-items > div.module-item").map((d,f)=>{let h=c(f).find("div.video-name a")[0];if(!h?.attribs?.href)return null;let p=h.attribs.href.match(/voddetail\/(.*).html/);return p?{vod_id:wOe(p[1],{vod_pic:this.getImgUrl(c,f,n),vod_remarks:c(f).find("div.module-item-text").text()}),vod_name:h.attribs.title||"",vod_pic:this.getImgUrl(c,f,n),vod_remarks:c(f).find("div.module-item-text").text()}:null}).get().filter(Boolean),l={page:a,pagecount:u.length<70?a:a+1,list:u};return o.length>0&&(l.filter=o),l}async detail(t,r){let n=await this.getUrl(t.server);if(!n)return{list:[]};let s=Array.isArray(t.body.id)?t.body.id:[t.body.id];return{list:(await this.mapWithConcurrency(s,this.detailConcurrency,async a=>{let o=lbn(a),c=String(o.id||"").trim();if(!c)return null;try{let u=await this.request(`${n}/index.php/voddetail/${c}.html`,{ttl:pbn}),l=Br(u),d=[],f=[],h="";l("div.video-info-items a[href*=/vodsearch/]").each((g,_)=>{let y=_.attribs?.href?.match(/vodsearch\/(.*).html/);if(!y)return;let E=y[1].split("-"),A=l(_).text().trim(),v=this.getHrefInfoIdx(E);if(v===5){let T={id:"s-5-"+decodeURIComponent(E[5].toString()),name:A};d.push(`[a=cr:${JSON.stringify(T)}/]${A}[/a]`)}else if(v===1){let T={id:"s-1-"+decodeURIComponent(E[1].toString()),name:A};f.push(`[a=cr:${JSON.stringify(T)}/]${A}[/a]`)}else v===13&&(h=A)});let p={vod_name:l(".page-title").first().text().trim()||c,vod_year:h,vod_actor:f.join(", "),vod_director:d.join(", "),vod_content:l("div.video-info-content p[style*=none]").first().text().trim(),vod_pic:o.meta?.vod_pic||this.getImgUrl(l,l.root(),n),vod_remarks:o.meta?.vod_remarks||l("div.video-info-items, div.video-info-item, div.module-info-item, div.module-info-items").find("span.video-serial, a.video-serial, div.module-item-text, span.module-item-note, span.module-item-text").map((g,_)=>l(_).text().trim()).get().filter(Boolean)[0]||""},m=l("div.module-row-info p").map((g,_)=>l(_).text().trim()).get().filter(Boolean);if(m.length>0){let g=`share:${m.join("|")}`,_=await this.withCache(this.shareDetailCache,"detail",g,_qt,async()=>di(m,t));_&&(p.vod_play_from=_.froms,p.vod_play_url=_.urls,Array.isArray(_.links)&&_.links.length>0&&(p.vod_links=_.links))}return p}catch{return null}})).filter(Boolean)}}async search(t,r){let n=this.normalizePage(t.body.page);try{let s=await this.getUrl(t.server);if(!s)return{page:1,pagecount:1,list:[]};let i=String(t.body.wd||"").trim();if(!i)return{page:n,pagecount:1,list:[]};let a=await this.request(`${s}/index.php/vodsearch/-------------.html?wd=${encodeURIComponent(i)}`),o=Br(a),c=o("div.module-items > div.module-search-item").map((u,l)=>{let d=o(l).find("div.video-info-header h3 a")[0];if(!d?.attribs?.href)return null;let f=d.attribs.href.match(/voddetail\/(.*).html/);return f?{vod_id:wOe(f[1],{vod_pic:this.getImgUrl(o,l,s),vod_remarks:o(l).find("a.video-serial").text()}),vod_name:d.attribs.title||"",vod_pic:this.getImgUrl(o,l,s),vod_remarks:o(l).find("a.video-serial").text()}:null}).get().filter(Boolean);return{page:n,pagecount:c.length<10?n:n+1,list:c}}catch(s){return console.error("[wogg] \u641C\u7D22\u5931\u8D25:",s.message),{page:n,pagecount:n,list:[]}}}async test(t,r){try{let n=function(c){c.statusCode&&c.statusCode===500&&console.error(c)},s=t.server.prefix,i={},a=await t.server.inject().post(`${s}/init`),o=a.json();if(i.init=o,n(o),a=await t.server.inject().post(`${s}/home`),o=a.json(),i.home=o,n(o),i.home.class.length>0&&(a=await t.server.inject().post(`${s}/category`).payload({id:i.home.class[0].type_id,page:1,filter:!0,filters:{}}),o=a.json(),i.category=o,n(o),i.category.list.length>0&&(a=await t.server.inject().post(`${s}/detail`).payload({id:i.category.list[0].vod_id}),o=a.json(),i.detail=o,n(o),i.detail.list&&i.detail.list.length>0))){i.play=[];for(let c of i.detail.list){let u=c.vod_play_from.split("$$$"),l=c.vod_play_url.split("$$$");for(let d=0;dn.send(await this.init(r,n))),t.post("/home",async(r,n)=>n.send(await this.home(r,n))),t.post("/category",async(r,n)=>n.send(await this.category(r,n))),t.post("/detail",async(r,n)=>n.send(await this.detail(r,n))),t.post("/play",ti),t.post("/search",async(r,n)=>n.send(await this.search(r,n))),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",ws),t.get("/test",async(r,n)=>n.send(await this.test(r,n)))}getExports(){return{meta:this.meta,api:async t=>this.createApi(t),check:t=>this.getUrl(t)}}},gbn=new NOe,Eqt=gbn.getExports()});var ia,_p=oe(()=>{zQ();ia=class{constructor(t){this.siteKey=t}async getCache(t){return hw(t,this.siteKey)}async setCache(t,r){await t.db.push(`/${this.siteKey}/urls`,r)}async removeCache(t){await t.db.delete(`/${this.siteKey}/urls`)}createRoutes(t){t.get("/urls",async(r,n)=>{n.send({code:0,data:await this.getCache(r.server)})}),t.put("/urls",async(r,n)=>{await this.setCache(r.server,r.body),n.send({code:0})}),t.delete("/urls",async(r,n)=>{await this.removeCache(r.server),n.send({code:0})})}}});async function DOe(e){vqt.createRoutes(e)}var OOe,vqt,Sqt,POe=oe(()=>{_p();OOe=class extends ia{constructor(){super("muou")}},vqt=new OOe,Sqt=e=>vqt.getCache(e)});var LOe,_bn,Tqt,bqt=oe(()=>{b0();POe();Dn();LOe=class extends vi{constructor(){super("\u6728\u5076","mogg",{key:"muou",name:"\u2601\uFE0F \u6728\u5076",type:3,homeCacheTTL:Rt.static},Sqt),this.initFilterData()}initFilterData(){this.classes=[{type_name:"115\u81FB\u4EAB",type_id:"25"},{type_name:"\u6728\u5076\u7535\u5F71",type_id:"1"},{type_name:"\u6728\u5076\u5267\u96C6",type_id:"2"},{type_name:"\u6728\u5076\u52A8\u6F2B",type_id:"3"},{type_name:"\u6728\u5076\u7EFC\u827A",type_id:"29"},{type_name:"\u6728\u5076\u7EAA\u5F55\u7247",type_id:"4"}],this.filterData={1:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],2:[{name:"\u7C7B\u578B",key:"id"},{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],3:[{name:"\u7C7B\u578B",key:"id"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],4:[{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],25:[{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],29:[{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}]},this.filterValues={"25.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"25.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"25.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"1.class":[{v:"\u559C\u5267",n:"\u559C\u5267"},{v:"\u7231\u60C5",n:"\u7231\u60C5"},{v:"\u6050\u6016",n:"\u6050\u6016"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u79D1\u5E7B",n:"\u79D1\u5E7B"},{v:"\u5267\u60C5",n:"\u5267\u60C5"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u8B66\u532A",n:"\u8B66\u532A"},{v:"\u72AF\u7F6A",n:"\u72AF\u7F6A"},{v:"\u52A8\u753B",n:"\u52A8\u753B"},{v:"\u5947\u5E7B",n:"\u5947\u5E7B"},{v:"\u6B66\u4FA0",n:"\u6B66\u4FA0"},{v:"\u5192\u9669",n:"\u5192\u9669"},{v:"\u67AA\u6218",n:"\u67AA\u6218"},{v:"\u60AC\u7591",n:"\u60AC\u7591"},{v:"\u60CA\u609A",n:"\u60CA\u609A"},{v:"\u7ECF\u5178",n:"\u7ECF\u5178"},{v:"\u9752\u6625",n:"\u9752\u6625"},{v:"\u6587\u827A",n:"\u6587\u827A"},{v:"\u5FAE\u7535\u5F71",n:"\u5FAE\u7535\u5F71"},{v:"\u53E4\u88C5",n:"\u53E4\u88C5"},{v:"\u5386\u53F2",n:"\u5386\u53F2"},{v:"\u8FD0\u52A8",n:"\u8FD0\u52A8"},{v:"\u519C\u6751",n:"\u519C\u6751"},{v:"\u513F\u7AE5",n:"\u513F\u7AE5"},{v:"\u7F51\u7EDC\u7535\u5F71",n:"\u7F51\u7EDC\u7535\u5F71"}],"1.area":[{v:"\u5927\u9646",n:"\u5927\u9646"},{v:"\u9999\u6E2F",n:"\u9999\u6E2F"},{v:"\u53F0\u6E7E",n:"\u53F0\u6E7E"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u6CD5\u56FD",n:"\u6CD5\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u5FB7\u56FD",n:"\u5FB7\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u5370\u5EA6",n:"\u5370\u5EA6"},{v:"\u610F\u5927\u5229",n:"\u610F\u5927\u5229"},{v:"\u897F\u73ED\u7259",n:"\u897F\u73ED\u7259"},{v:"\u52A0\u62FF\u5927",n:"\u52A0\u62FF\u5927"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"1.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u6CD5\u8BED",n:"\u6CD5\u8BED"},{v:"\u5FB7\u8BED",n:"\u5FB7\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"1.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"1.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"1.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"2.id":[{v:"13",n:"\u56FD\u4EA7\u5267"},{v:"14",n:"\u6B27\u7F8E\u5267"},{v:"15",n:"\u65E5\u97E9\u5267"},{v:"16",n:"\u6E2F\u53F0\u5267"},{v:"23",n:"\u6CF0\u5267"},{v:"26",n:"\u5176\u5B83\u5267"}],"2.class":[{v:"\u53E4\u88C5",n:"\u53E4\u88C5"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u9752\u6625\u5076\u50CF",n:"\u9752\u6625\u5076\u50CF"},{v:"\u559C\u5267",n:"\u559C\u5267"},{v:"\u5BB6\u5EAD",n:"\u5BB6\u5EAD"},{v:"\u72AF\u7F6A",n:"\u72AF\u7F6A"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u5947\u5E7B",n:"\u5947\u5E7B"},{v:"\u5267\u60C5",n:"\u5267\u60C5"},{v:"\u5386\u53F2",n:"\u5386\u53F2"},{v:"\u7ECF\u5178",n:"\u7ECF\u5178"},{v:"\u4E61\u6751",n:"\u4E61\u6751"},{v:"\u60C5\u666F",n:"\u60C5\u666F"},{v:"\u5546\u6218",n:"\u5546\u6218"},{v:"\u7F51\u5267",n:"\u7F51\u5267"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"2.area":[{v:"\u4E2D\u56FD\u5927\u9646",n:"\u4E2D\u56FD\u5927\u9646"},{v:"\u5927\u9646",n:"\u5927\u9646"},{v:"\u5185\u5730",n:"\u5185\u5730"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u9999\u6E2F",n:"\u9999\u6E2F"},{v:"\u53F0\u6E7E",n:"\u53F0\u6E7E"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u65B0\u52A0\u5761",n:"\u65B0\u52A0\u5761"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"2.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"2.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"2.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"2.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"3.id":[{v:"20",n:"\u56FD\u4EA7"},{v:"21",n:"\u65E5\u672C"},{v:"22",n:"\u6B27\u7F8E"}],"3.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"3.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"3.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"29.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"29.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"29.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"4.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"4.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"4.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}]}}},_bn=new LOe,Tqt=_bn.getExports()});async function kOe(e){Iqt.createRoutes(e)}var MOe,Iqt,Rqt,BOe=oe(()=>{_p();MOe=class extends ia{constructor(){super("erxiao")}},Iqt=new MOe,Rqt=e=>Iqt.getCache(e)});var UOe,Abn,Cqt,xqt=oe(()=>{b0();Dn();BOe();UOe=class extends vi{constructor(){super("\u4E8C\u5C0F","erxiao",{key:"erxiao",name:"\u2601\uFE0F \u4E8C\u5C0F",type:3,homeCacheTTL:Rt.static},Rqt),this.initFilterData()}initFilterData(){this.classes=[{type_name:"\u7535\u5F71",type_id:"1"},{type_name:"\u5267\u96C6",type_id:"2"},{type_name:"\u52A8\u6F2B",type_id:"3"},{type_name:"\u771F\u5F69",type_id:"22"},{type_name:"\u7EFC\u827A",type_id:"21"}],this.filterData={1:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],2:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],3:[{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],21:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],22:[{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}]},this.filterValues={"1.class":[{v:"\u559C\u5267",n:"\u559C\u5267"},{v:"\u7231\u60C5",n:"\u7231\u60C5"},{v:"\u6050\u6016",n:"\u6050\u6016"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u79D1\u5E7B",n:"\u79D1\u5E7B"},{v:"\u5267\u60C5",n:"\u5267\u60C5"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u8B66\u532A",n:"\u8B66\u532A"},{v:"\u72AF\u7F6A",n:"\u72AF\u7F6A"},{v:"\u52A8\u753B",n:"\u52A8\u753B"},{v:"\u5947\u5E7B",n:"\u5947\u5E7B"},{v:"\u6B66\u4FA0",n:"\u6B66\u4FA0"},{v:"\u5192\u9669",n:"\u5192\u9669"},{v:"\u67AA\u6218",n:"\u67AA\u6218"},{v:"\u60AC\u7591",n:"\u60AC\u7591"},{v:"\u60CA\u609A",n:"\u60CA\u609A"},{v:"\u7ECF\u5178",n:"\u7ECF\u5178"},{v:"\u9752\u6625",n:"\u9752\u6625"},{v:"\u6587\u827A",n:"\u6587\u827A"},{v:"\u5FAE\u7535\u5F71",n:"\u5FAE\u7535\u5F71"},{v:"\u53E4\u88C5",n:"\u53E4\u88C5"},{v:"\u5386\u53F2",n:"\u5386\u53F2"},{v:"\u8FD0\u52A8",n:"\u8FD0\u52A8"},{v:"\u519C\u6751",n:"\u519C\u6751"},{v:"\u513F\u7AE5",n:"\u513F\u7AE5"},{v:"\u7F51\u7EDC\u7535\u5F71",n:"\u7F51\u7EDC\u7535\u5F71"}],"1.area":[{v:"\u5927\u9646",n:"\u5927\u9646"},{v:"\u9999\u6E2F",n:"\u9999\u6E2F"},{v:"\u53F0\u6E7E",n:"\u53F0\u6E7E"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u6CD5\u56FD",n:"\u6CD5\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u5FB7\u56FD",n:"\u5FB7\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u5370\u5EA6",n:"\u5370\u5EA6"},{v:"\u610F\u5927\u5229",n:"\u610F\u5927\u5229"},{v:"\u897F\u73ED\u7259",n:"\u897F\u73ED\u7259"},{v:"\u52A0\u62FF\u5927",n:"\u52A0\u62FF\u5927"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"1.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u6CD5\u8BED",n:"\u6CD5\u8BED"},{v:"\u5FB7\u8BED",n:"\u5FB7\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"1.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"1.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"1.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"2.class":[{v:"\u53E4\u88C5",n:"\u53E4\u88C5"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u9752\u6625\u5076\u50CF",n:"\u9752\u6625\u5076\u50CF"},{v:"\u559C\u5267",n:"\u559C\u5267"},{v:"\u5BB6\u5EAD",n:"\u5BB6\u5EAD"},{v:"\u72AF\u7F6A",n:"\u72AF\u7F6A"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u5947\u5E7B",n:"\u5947\u5E7B"},{v:"\u5267\u60C5",n:"\u5267\u60C5"},{v:"\u5386\u53F2",n:"\u5386\u53F2"},{v:"\u7ECF\u5178",n:"\u7ECF\u5178"},{v:"\u4E61\u6751",n:"\u4E61\u6751"},{v:"\u60C5\u666F",n:"\u60C5\u666F"},{v:"\u5546\u6218",n:"\u5546\u6218"},{v:"\u7F51\u5267",n:"\u7F51\u5267"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"2.area":[{v:"\u5185\u5730",n:"\u5185\u5730"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u9999\u6E2F",n:"\u9999\u6E2F"},{v:"\u53F0\u6E7E",n:"\u53F0\u6E7E"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u65B0\u52A0\u5761",n:"\u65B0\u52A0\u5761"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"2.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"2.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"2.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"2.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"3.area":[{v:"\u5185\u5730",n:"\u5185\u5730"},{v:"\u6E2F\u53F0",n:"\u6E2F\u53F0"},{v:"\u65E5\u97E9",n:"\u65E5\u97E9"},{v:"\u6B27\u7F8E",n:"\u6B27\u7F8E"}],"3.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"3.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"3.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"3.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"22.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"22.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"22.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"21.class":[{v:"\u60C5\u611F",n:"\u60C5\u611F"},{v:"\u79D1\u5E7B",n:"\u79D1\u5E7B"},{v:"\u70ED\u8840",n:"\u70ED\u8840"},{v:"\u63A8\u7406",n:"\u63A8\u7406"},{v:"\u641E\u7B11",n:"\u641E\u7B11"},{v:"\u5192\u9669",n:"\u5192\u9669"},{v:"\u841D\u8389",n:"\u841D\u8389"},{v:"\u6821\u56ED",n:"\u6821\u56ED"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u673A\u6218",n:"\u673A\u6218"},{v:"\u8FD0\u52A8",n:"\u8FD0\u52A8"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u5C11\u5E74",n:"\u5C11\u5E74"},{v:"\u5C11\u5973",n:"\u5C11\u5973"},{v:"\u793E\u4F1A",n:"\u793E\u4F1A"},{v:"\u539F\u521B",n:"\u539F\u521B"},{v:"\u4EB2\u5B50",n:"\u4EB2\u5B50"},{v:"\u76CA\u667A",n:"\u76CA\u667A"},{v:"\u52B1\u5FD7",n:"\u52B1\u5FD7"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"21.area":[{v:"\u56FD\u4EA7",n:"\u56FD\u4EA7"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u6B27\u7F8E",n:"\u6B27\u7F8E"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"21.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"21.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"21.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"21.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}]}}},Abn=new UOe,Cqt=Abn.getExports()});async function $Oe(e){wqt.createRoutes(e)}var FOe,wqt,Nqt,qOe=oe(()=>{_p();FOe=class extends ia{constructor(){super("zhizhen")}},wqt=new FOe,Nqt=e=>wqt.getCache(e)});var HOe,Ebn,Oqt,Dqt=oe(()=>{b0();Dn();qOe();HOe=class extends vi{constructor(){super("\u81F3\u81FB","zhizhen",{key:"zhizhen",name:"\u2601\uFE0F \u81F3\u81FB",type:3,homeCacheTTL:Rt.static},Nqt),this.initFilterData()}initFilterData(){this.classes=[{type_name:"\u81FB\u5F69\u8BA1\u5212",type_id:"26"},{type_name:"\u7535\u5F71",type_id:"1"},{type_name:"\u5267\u96C6",type_id:"2"},{type_name:"\u7EFC\u827A",type_id:"3"},{type_name:"\u52A8\u6F2B",type_id:"4"},{type_name:"\u77ED\u5267\u5403\u5230\u9971",type_id:"5"}],this.filterData={1:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],2:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],3:[{name:"\u5730\u533A",key:"area"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],4:[{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],5:[{name:"\u5730\u533A",key:"area"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],26:[{name:"\u7C7B\u578B",key:"id"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}]},this.filterValues={"26.id":[{v:"30",n:"\u9AD8\u5206\u5916\u5267"},{v:"29",n:"\u56FD\u6F2B\u4E4B\u5149"},{v:"28",n:"\u771F\u5F69\u5267\u96C6"},{v:"31",n:"\u9AD8\u5206\u8001\u5267"},{v:"27",n:"\u81FB\u5F69\u7535\u5F71"}],"26.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"26.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"1.class":[{v:"\u559C\u5267",n:"\u559C\u5267"},{v:"\u7231\u60C5",n:"\u7231\u60C5"},{v:"\u6050\u6016",n:"\u6050\u6016"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u79D1\u5E7B",n:"\u79D1\u5E7B"},{v:"\u5267\u60C5",n:"\u5267\u60C5"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u8B66\u532A",n:"\u8B66\u532A"},{v:"\u72AF\u7F6A",n:"\u72AF\u7F6A"},{v:"\u52A8\u753B",n:"\u52A8\u753B"},{v:"\u5947\u5E7B",n:"\u5947\u5E7B"},{v:"\u6B66\u4FA0",n:"\u6B66\u4FA0"},{v:"\u5192\u9669",n:"\u5192\u9669"},{v:"\u67AA\u6218",n:"\u67AA\u6218"},{v:"\u60AC\u7591",n:"\u60AC\u7591"},{v:"\u60CA\u609A",n:"\u60CA\u609A"},{v:"\u7ECF\u5178",n:"\u7ECF\u5178"},{v:"\u9752\u6625",n:"\u9752\u6625"},{v:"\u6587\u827A",n:"\u6587\u827A"},{v:"\u5FAE\u7535\u5F71",n:"\u5FAE\u7535\u5F71"},{v:"\u53E4\u88C5",n:"\u53E4\u88C5"},{v:"\u5386\u53F2",n:"\u5386\u53F2"},{v:"\u8FD0\u52A8",n:"\u8FD0\u52A8"},{v:"\u519C\u6751",n:"\u519C\u6751"},{v:"\u513F\u7AE5",n:"\u513F\u7AE5"},{v:"\u7F51\u7EDC\u7535\u5F71",n:"\u7F51\u7EDC\u7535\u5F71"}],"1.area":[{v:"\u5927\u9646",n:"\u5927\u9646"},{v:"\u9999\u6E2F",n:"\u9999\u6E2F"},{v:"\u53F0\u6E7E",n:"\u53F0\u6E7E"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u6CD5\u56FD",n:"\u6CD5\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u5FB7\u56FD",n:"\u5FB7\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u5370\u5EA6",n:"\u5370\u5EA6"},{v:"\u610F\u5927\u5229",n:"\u610F\u5927\u5229"},{v:"\u897F\u73ED\u7259",n:"\u897F\u73ED\u7259"},{v:"\u52A0\u62FF\u5927",n:"\u52A0\u62FF\u5927"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"1.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u6CD5\u8BED",n:"\u6CD5\u8BED"},{v:"\u5FB7\u8BED",n:"\u5FB7\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"1.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"1.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"1.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"2.class":[{v:"\u53E4\u88C5",n:"\u53E4\u88C5"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u9752\u6625\u5076\u50CF",n:"\u9752\u6625\u5076\u50CF"},{v:"\u559C\u5267",n:"\u559C\u5267"},{v:"\u5BB6\u5EAD",n:"\u5BB6\u5EAD"},{v:"\u72AF\u7F6A",n:"\u72AF\u7F6A"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u5947\u5E7B",n:"\u5947\u5E7B"},{v:"\u5267\u60C5",n:"\u5267\u60C5"},{v:"\u5386\u53F2",n:"\u5386\u53F2"},{v:"\u7ECF\u5178",n:"\u7ECF\u5178"},{v:"\u4E61\u6751",n:"\u4E61\u6751"},{v:"\u60C5\u666F",n:"\u60C5\u666F"},{v:"\u5546\u6218",n:"\u5546\u6218"},{v:"\u7F51\u5267",n:"\u7F51\u5267"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"2.area":[{v:"\u5185\u5730",n:"\u5185\u5730"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u9999\u6E2F",n:"\u9999\u6E2F"},{v:"\u53F0\u6E7E",n:"\u53F0\u6E7E"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u65B0\u52A0\u5761",n:"\u65B0\u52A0\u5761"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"2.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"2.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"2.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"2.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"3.area":[{v:"\u5185\u5730",n:"\u5185\u5730"},{v:"\u6E2F\u53F0",n:"\u6E2F\u53F0"},{v:"\u65E5\u97E9",n:"\u65E5\u97E9"},{v:"\u6B27\u7F8E",n:"\u6B27\u7F8E"}],"3.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"3.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"3.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"4.area":[{v:"\u56FD\u4EA7",n:"\u56FD\u4EA7"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u6B27\u7F8E",n:"\u6B27\u7F8E"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"4.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"4.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"4.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"4.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"5.area":[{v:"\u5185\u5730",n:"\u5185\u5730"},{v:"\u6E2F\u53F0",n:"\u6E2F\u53F0"},{v:"\u65E5\u97E9",n:"\u65E5\u97E9"},{v:"\u6B27\u7F8E",n:"\u6B27\u7F8E"}],"5.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"5.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"5.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}]}}},Ebn=new HOe,Oqt=Ebn.getExports()});async function jOe(e){Pqt.createRoutes(e)}var VOe,Pqt,Lqt,KOe=oe(()=>{_p();VOe=class extends ia{constructor(){super("ouge")}},Pqt=new VOe,Lqt=e=>Pqt.getCache(e)});var GOe,ybn,Mqt,kqt=oe(()=>{b0();Dn();KOe();GOe=class extends vi{constructor(){super("\u6B27\u54E5","ouge",{key:"ouge",name:"\u2601\uFE0F \u6B27\u54E5",type:3,homeCacheTTL:Rt.static},Lqt),this.initFilterData()}initFilterData(){this.classes=[{type_name:"\u7535\u5F71",type_id:"1"},{type_name:"\u5267\u96C6",type_id:"2"},{type_name:"\u52A8\u6F2B",type_id:"3"},{type_name:"\u77ED\u5267",type_id:"5"},{type_name:"\u7EFC\u827A",type_id:"4"},{type_name:"\u7EFC\u5408",type_id:"21"}],this.filterData={1:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],2:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],3:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],4:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],5:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],21:[{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}]},this.filterValues={"1.class":[{v:"\u559C\u5267",n:"\u559C\u5267"},{v:"\u7231\u60C5",n:"\u7231\u60C5"},{v:"\u6050\u6016",n:"\u6050\u6016"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u79D1\u5E7B",n:"\u79D1\u5E7B"},{v:"\u5267\u60C5",n:"\u5267\u60C5"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u8B66\u532A",n:"\u8B66\u532A"},{v:"\u72AF\u7F6A",n:"\u72AF\u7F6A"},{v:"\u53E4\u88C5",n:"\u53E4\u88C5"},{v:"\u5947\u5E7B",n:"\u5947\u5E7B"},{v:"\u6B66\u4FA0",n:"\u6B66\u4FA0"},{v:"\u5192\u9669",n:"\u5192\u9669"},{v:"\u67AA\u6218",n:"\u67AA\u6218"},{v:"\u60AC\u7591",n:"\u60AC\u7591"},{v:"\u60CA\u609A",n:"\u60CA\u609A"},{v:"\u7ECF\u5178",n:"\u7ECF\u5178"},{v:"\u9752\u6625",n:"\u9752\u6625"},{v:"\u6587\u827A",n:"\u6587\u827A"},{v:"\u5FAE\u7535\u5F71",n:"\u5FAE\u7535\u5F71"},{v:"\u5386\u53F2",n:"\u5386\u53F2"}],"1.area":[{v:"+\u4E2D\u56FD\u5927\u9646",n:"\u4E2D\u56FD\u5927\u9646"},{v:"\u4E2D\u56FD\u9999\u6E2F",n:"\u4E2D\u56FD\u9999\u6E2F"},{v:"\u4E2D\u56FD\u53F0\u6E7E",n:"\u4E2D\u56FD\u53F0\u6E7E"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u897F\u73ED\u7259",n:"\u897F\u73ED\u7259"},{v:"\u6CD5\u56FD",n:"\u6CD5\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u5FB7\u56FD",n:"\u5FB7\u56FD"},{v:"\u5370\u5EA6",n:"\u5370\u5EA6"},{v:"\u610F\u5927\u5229",n:"\u610F\u5927\u5229"},{v:"\u52A0\u62FF\u5927",n:"\u52A0\u62FF\u5927"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"1.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u6CD5\u8BED",n:"\u6CD5\u8BED"},{v:"\u5FB7\u8BED",n:"\u5FB7\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"1.year":[{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2007",n:"2007"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"},{v:"2003",n:"2003"},{v:"2002",n:"2002"},{v:"2001",n:"2001"},{v:"2000",n:"2000"}],"1.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"1.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"2.class":[{v:"\u559C\u5267",n:"\u559C\u5267"},{v:"\u7231\u60C5",n:"\u7231\u60C5"},{v:"\u6050\u6016",n:"\u6050\u6016"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u79D1\u5E7B",n:"\u79D1\u5E7B"},{v:"\u5267\u60C5",n:"\u5267\u60C5"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u8B66\u532A",n:"\u8B66\u532A"},{v:"\u72AF\u7F6A",n:"\u72AF\u7F6A"},{v:"\u53E4\u88C5",n:"\u53E4\u88C5"},{v:"\u5947\u5E7B",n:"\u5947\u5E7B"},{v:"\u6B66\u4FA0",n:"\u6B66\u4FA0"},{v:"\u5192\u9669",n:"\u5192\u9669"},{v:"\u67AA\u6218",n:"\u67AA\u6218"},{v:"\u60AC\u7591",n:"\u60AC\u7591"},{v:"\u60CA\u609A",n:"\u60CA\u609A"},{v:"\u7ECF\u5178",n:"\u7ECF\u5178"},{v:"\u9752\u6625",n:"\u9752\u6625"},{v:"\u6587\u827A",n:"\u6587\u827A"},{v:"\u5FAE\u7535\u5F71",n:"\u5FAE\u7535\u5F71"},{v:"\u5386\u53F2",n:"\u5386\u53F2"}],"2.area":[{v:"+\u4E2D\u56FD\u5927\u9646",n:"\u4E2D\u56FD\u5927\u9646"},{v:"\u4E2D\u56FD\u9999\u6E2F",n:"\u4E2D\u56FD\u9999\u6E2F"},{v:"\u4E2D\u56FD\u53F0\u6E7E",n:"\u4E2D\u56FD\u53F0\u6E7E"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u897F\u73ED\u7259",n:"\u897F\u73ED\u7259"},{v:"\u6CD5\u56FD",n:"\u6CD5\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u5FB7\u56FD",n:"\u5FB7\u56FD"},{v:"\u5370\u5EA6",n:"\u5370\u5EA6"},{v:"\u610F\u5927\u5229",n:"\u610F\u5927\u5229"},{v:"\u52A0\u62FF\u5927",n:"\u52A0\u62FF\u5927"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"2.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"2.year":[{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2007",n:"2007"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"},{v:"2003",n:"2003"},{v:"2002",n:"2002"},{v:"2001",n:"2001"},{v:"2000",n:"2000"}],"2.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"2.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"3.class":[{v:"\u60C5\u611F",n:"\u60C5\u611F"},{v:"\u79D1\u5E7B",n:"\u79D1\u5E7B"},{v:"\u70ED\u8840",n:"\u70ED\u8840"},{v:"\u63A8\u7406",n:"\u63A8\u7406"},{v:"\u641E\u7B11",n:"\u641E\u7B11"},{v:"\u5192\u9669",n:"\u5192\u9669"},{v:"\u841D\u8389",n:"\u841D\u8389"},{v:"\u6821\u56ED",n:"\u6821\u56ED"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u673A\u6218",n:"\u673A\u6218"},{v:"\u8FD0\u52A8",n:"\u8FD0\u52A8"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u5C11\u5E74",n:"\u5C11\u5E74"},{v:"\u5C11\u5973",n:"\u5C11\u5973"},{v:"\u793E\u4F1A",n:"\u793E\u4F1A"},{v:"\u539F\u521B",n:"\u539F\u521B"},{v:"\u4EB2\u5B50",n:"\u4EB2\u5B50"},{v:"\u76CA\u667A",n:"\u76CA\u667A"},{v:"\u52B1\u5FD7",n:"\u52B1\u5FD7"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"3.area":[{v:"\u4E2D\u56FD\u5927\u9646",n:"\u4E2D\u56FD\u5927\u9646"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u897F\u73ED\u7259",n:"\u897F\u73ED\u7259"},{v:"\u6CD5\u56FD",n:"\u6CD5\u56FD"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"3.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"3.year":[{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2007",n:"2007"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"},{v:"2003",n:"2003"},{v:"2002",n:"2002"},{v:"2001",n:"2001"},{v:"2000",n:"2000"}],"3.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"3.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"5.class":[{v:"+\u7537\u9891",n:"\u7537\u9891"},{v:"\u5973\u9891",n:"\u5973\u9891"},{v:"\u90FD\u5E02",n:"\u90FD\u5E02"},{v:"\u751C\u5BA0",n:"\u751C\u5BA0"},{v:"\u5E74\u4EE3",n:"\u5E74\u4EE3"},{v:"\u7A7F\u8D8A",n:"\u7A7F\u8D8A"},{v:"\u53E4\u88C5",n:"\u53E4\u88C5"},{v:"\u4EB2\u60C5",n:"\u4EB2\u60C5"},{v:"\u5947\u5E7B",n:"\u5947\u5E7B"},{v:"\u840C\u5B9D",n:"\u840C\u5B9D"},{v:"\u91CD\u751F",n:"\u91CD\u751F"},{v:"\u5192\u9669",n:"\u5192\u9669"},{v:"\u9006\u88AD",n:"\u9006\u88AD"},{v:"\u8650\u604B",n:"\u8650\u604B"},{v:"\u9274\u5B9D",n:"\u9274\u5B9D"},{v:"\u590D\u4EC7",n:"\u590D\u4EC7"},{v:"\u4FEE\u4ED9",n:"\u4FEE\u4ED9"}],"5.area":[{v:"\u4E2D\u56FD\u5927\u9646",n:"\u4E2D\u56FD\u5927\u9646"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u897F\u73ED\u7259",n:"\u897F\u73ED\u7259"},{v:"\u6CD5\u56FD",n:"\u6CD5\u56FD"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"5.year":[{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2007",n:"2007"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"},{v:"2003",n:"2003"},{v:"2002",n:"2002"},{v:"2001",n:"2001"},{v:"2000",n:"2000"}],"5.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"5.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"4.class":[{v:"\u9009\u79C0",n:"\u9009\u79C0"},{v:"\u60C5\u611F",n:"\u60C5\u611F"},{v:"\u8BBF\u8C08",n:"\u8BBF\u8C08"},{v:"\u64AD\u62A5",n:"\u64AD\u62A5"},{v:"\u65C5\u6E38",n:"\u65C5\u6E38"},{v:"\u97F3\u4E50",n:"\u97F3\u4E50"},{v:"\u7F8E\u98DF",n:"\u7F8E\u98DF"},{v:"\u7EAA\u5B9E",n:"\u7EAA\u5B9E"},{v:"\u66F2\u827A",n:"\u66F2\u827A"},{v:"\u751F\u6D3B",n:"\u751F\u6D3B"},{v:"\u6E38\u620F\u4E92\u52A8",n:"\u6E38\u620F\u4E92\u52A8"},{v:"\u8D22\u7ECF",n:"\u8D22\u7ECF"},{v:"\u6C42\u804C",n:"\u6C42\u804C"}],"4.area":[{v:"\u4E2D\u56FD\u5927\u9646",n:"\u4E2D\u56FD\u5927\u9646"},{v:"\u4E2D\u56FD\u53F0\u6E7E",n:"\u4E2D\u56FD\u53F0\u6E7E"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u6CD5\u56FD",n:"\u6CD5\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"}],"4.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"4.year":[{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2007",n:"2007"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"},{v:"2003",n:"2003"},{v:"2002",n:"2002"},{v:"2001",n:"2001"},{v:"2000",n:"2000"}],"4.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"4.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"21.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"21.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}]}}},ybn=new GOe,Mqt=ybn.getExports()});async function QOe(e){Bqt.createRoutes(e)}var YOe,Bqt,Uqt,zOe=oe(()=>{_p();YOe=class extends ia{constructor(){super("labi")}},Bqt=new YOe,Uqt=e=>Bqt.getCache(e)});var WOe,vbn,Fqt,$qt=oe(()=>{b0();Dn();zOe();WOe=class extends vi{constructor(){super("\u8721\u7B14","labi",{key:"labi",name:"\u2601\uFE0F \u8721\u7B14",type:3,homeCacheTTL:Rt.static},Uqt),this.initFilterData()}initFilterData(){this.classes=[{type_name:"\u8721\u7B14\u7535\u5F71",type_id:"1"},{type_name:"\u8721\u7B14\u5267\u96C6",type_id:"2"},{type_name:"\u8721\u7B14\u52A8\u6F2B",type_id:"3"},{type_name:"\u8721\u7B14\u7EFC\u827A",type_id:"4"},{type_name:"\u81FB\u5F694K",type_id:"24"},{type_name:"\u8721\u7B14\u81FB\u5F69",type_id:"29"},{type_name:"\u8721\u7B14\u77ED\u5267",type_id:"5"}],this.filterData={1:[{name:"\u7C7B\u578B",key:"id"},{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],2:[{name:"\u7C7B\u578B",key:"id"},{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],3:[{name:"\u7C7B\u578B",key:"id"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],4:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],5:[{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],24:[{name:"\u7C7B\u578B",key:"id"},{name:"\u5730\u533A",key:"area"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],29:[{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}]},this.filterValues={"1.id":[{v:"6",n:"\u79D1\u5E7B"},{v:"7",n:"\u7231\u60C5"},{v:"8",n:"\u6218\u4E89"},{v:"9",n:"\u6050\u6016"},{v:"10",n:"\u9AD8\u7801"},{v:"11",n:"\u52A8\u753B"},{v:"12",n:"\u52A8\u4F5C"},{v:"23",n:"\u753B\u8D28\u63A7"}],"1.class":[{v:"\u559C\u5267",n:"\u559C\u5267"},{v:"\u7231\u60C5",n:"\u7231\u60C5"},{v:"\u6050\u6016",n:"\u6050\u6016"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u79D1\u5E7B",n:"\u79D1\u5E7B"},{v:"\u5267\u60C5",n:"\u5267\u60C5"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u8B66\u532A",n:"\u8B66\u532A"},{v:"\u72AF\u7F6A",n:"\u72AF\u7F6A"},{v:"\u52A8\u753B",n:"\u52A8\u753B"},{v:"\u5947\u5E7B",n:"\u5947\u5E7B"},{v:"\u6B66\u4FA0",n:"\u6B66\u4FA0"},{v:"\u5192\u9669",n:"\u5192\u9669"},{v:"\u67AA\u6218",n:"\u67AA\u6218"},{v:"\u60AC\u7591",n:"\u60AC\u7591"},{v:"\u60CA\u609A",n:"\u60CA\u609A"},{v:"\u7ECF\u5178",n:"\u7ECF\u5178"},{v:"\u9752\u6625",n:"\u9752\u6625"},{v:"\u6587\u827A",n:"\u6587\u827A"},{v:"\u5FAE\u7535\u5F71",n:"\u5FAE\u7535\u5F71"},{v:"\u53E4\u88C5",n:"\u53E4\u88C5"},{v:"\u5386\u53F2",n:"\u5386\u53F2"},{v:"\u8FD0\u52A8",n:"\u8FD0\u52A8"},{v:"\u519C\u6751",n:"\u519C\u6751"},{v:"\u513F\u7AE5",n:"\u513F\u7AE5"},{v:"\u7F51\u7EDC\u7535\u5F71",n:"\u7F51\u7EDC\u7535\u5F71"}],"1.area":[{v:"\u4E2D\u56FD\u5927\u9646",n:"\u4E2D\u56FD\u5927\u9646"},{v:"\u4E2D\u56FD\u9999\u6E2F",n:"\u4E2D\u56FD\u9999\u6E2F"},{v:"\u4E2D\u56FD\u53F0\u6E7E",n:"\u4E2D\u56FD\u53F0\u6E7E"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u6CD5\u56FD",n:"\u6CD5\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u5FB7\u56FD",n:"\u5FB7\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u5370\u5EA6",n:"\u5370\u5EA6"},{v:"\u610F\u5927\u5229",n:"\u610F\u5927\u5229"},{v:"\u897F\u73ED\u7259",n:"\u897F\u73ED\u7259"},{v:"\u52A0\u62FF\u5927",n:"\u52A0\u62FF\u5927"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"1.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u6CD5\u8BED",n:"\u6CD5\u8BED"},{v:"\u5FB7\u8BED",n:"\u5FB7\u8BED"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"1.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"1.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"1.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"2.id":[{v:"13",n:"\u56FD\u4EA7\u5267"},{v:"14",n:"\u65E5\u97E9\u5267"},{v:"15",n:"\u6B27\u7F8E\u5267"},{v:"16",n:"\u6E2F\u53F0\u5267"}],"2.class":[{v:"\u53E4\u88C5",n:"\u53E4\u88C5"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u9752\u6625\u5076\u50CF",n:"\u9752\u6625\u5076\u50CF"},{v:"\u559C\u5267",n:"\u559C\u5267"},{v:"\u5BB6\u5EAD",n:"\u5BB6\u5EAD"},{v:"\u72AF\u7F6A",n:"\u72AF\u7F6A"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u5947\u5E7B",n:"\u5947\u5E7B"},{v:"\u5267\u60C5",n:"\u5267\u60C5"},{v:"\u5386\u53F2",n:"\u5386\u53F2"},{v:"\u7ECF\u5178",n:"\u7ECF\u5178"},{v:"\u4E61\u6751",n:"\u4E61\u6751"},{v:"\u60C5\u666F",n:"\u60C5\u666F"},{v:"\u5546\u6218",n:"\u5546\u6218"},{v:"\u7F51\u5267",n:"\u7F51\u5267"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"2.area":[{v:"\u4E2D\u56FD\u5927\u9646",n:"\u4E2D\u56FD\u5927\u9646"},{v:"\u4E2D\u56FD\u9999\u6E2F",n:"\u4E2D\u56FD\u9999\u6E2F"},{v:"\u4E2D\u56FD\u53F0\u6E7E",n:"\u4E2D\u56FD\u53F0\u6E7E"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u9999\u6E2F",n:"\u9999\u6E2F"},{v:"\u53F0\u6E7E",n:"\u53F0\u6E7E"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u65B0\u52A0\u5761",n:"\u65B0\u52A0\u5761"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"2.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"2.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"2.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"2.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"3.id":[{v:"22",n:"\u65E5\u97E9"},{v:"20",n:"\u56FD\u4EA7"},{v:"21",n:"\u6B27\u7F8E"}],"3.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"3.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"3.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"4.class":[{v:"\u60C5\u611F",n:"\u60C5\u611F"},{v:"\u79D1\u5E7B",n:"\u79D1\u5E7B"},{v:"\u70ED\u8840",n:"\u70ED\u8840"},{v:"\u63A8\u7406",n:"\u63A8\u7406"},{v:"\u641E\u7B11",n:"\u641E\u7B11"},{v:"\u5192\u9669",n:"\u5192\u9669"},{v:"\u841D\u8389",n:"\u841D\u8389"},{v:"\u6821\u56ED",n:"\u6821\u56ED"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u673A\u6218",n:"\u673A\u6218"},{v:"\u8FD0\u52A8",n:"\u8FD0\u52A8"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u5C11\u5E74",n:"\u5C11\u5E74"},{v:"\u5C11\u5973",n:"\u5C11\u5973"},{v:"\u793E\u4F1A",n:"\u793E\u4F1A"},{v:"\u539F\u521B",n:"\u539F\u521B"},{v:"\u4EB2\u5B50",n:"\u4EB2\u5B50"},{v:"\u76CA\u667A",n:"\u76CA\u667A"},{v:"\u52B1\u5FD7",n:"\u52B1\u5FD7"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"4.area":[{v:"\u56FD\u4EA7",n:"\u56FD\u4EA7"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u6B27\u7F8E",n:"\u6B27\u7F8E"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"4.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"4.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"4.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"4.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"24.id":[{v:"26",n:"4K\u7535\u5F71"},{v:"27",n:"4K\u5267\u96C6"},{v:"28",n:"4K\u52A8\u6F2B"}],"24.area":[{v:"\u4E2D\u56FD",n:"\u4E2D\u56FD"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"24.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"}],"24.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"24.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"29.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"29.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"29.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"5.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"}],"5.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"5.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}]}}},vbn=new WOe,Fqt=vbn.getExports()});async function JOe(e){qqt.createRoutes(e)}var XOe,qqt,Hqt,ZOe=oe(()=>{_p();XOe=class extends ia{constructor(){super("huban")}},qqt=new XOe,Hqt=e=>qqt.getCache(e)});var eDe,Sbn,Vqt,jqt=oe(()=>{b0();Dn();ZOe();eDe=class extends vi{constructor(){super("\u864E\u6591","huban",{key:"huban",name:"\u2601\uFE0F \u864E\u6591",type:3,homeCacheTTL:Rt.static},Hqt),this.initFilterData(),this.validateCategoryPageUrl=!0}initFilterData(){this.classes=[{type_name:"\u5C0F\u864E\u6591\u98CE",type_id:"1"},{type_name:"\u5C0F\u864E\u6591\u82B1",type_id:"2"},{type_name:"\u5C0F\u864E\u6591\u96EA",type_id:"3"},{type_name:"\u5C0F\u864E\u6591\u6708",type_id:"4"},{type_name:"\u5C0F\u864E\u6591\u77ED",type_id:"6"},{type_name:"\u5C0F\u864E\u6591\u7CBE",type_id:"5"},{type_name:"115",type_id:"30"}],this.filterData={1:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],2:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],3:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],4:[{name:"\u7C7B\u578B",key:"id"},{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],5:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],6:[{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],30:[{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}]},this.filterValues={"1.class":[{v:"\u559C\u5267",n:"\u559C\u5267"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u7231\u60C5",n:"\u7231\u60C5"},{v:"\u60CA\u609A",n:"\u60CA\u609A"},{v:"\u72AF\u7F6A",n:"\u72AF\u7F6A"},{v:"\u5192\u9669",n:"\u5192\u9669"},{v:"\u79D1\u5E7B",n:"\u79D1\u5E7B"},{v:"\u60AC\u7591",n:"\u60AC\u7591"},{v:"\u5267\u60C5",n:"\u5267\u60C5"},{v:"\u52A8\u753B",n:"\u52A8\u753B"},{v:"\u6B66\u4FA0",n:"\u6B66\u4FA0"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u6B4C\u821E",n:"\u6B4C\u821E"},{v:"\u5947\u5E7B",n:"\u5947\u5E7B"},{v:"\u4F20\u8BB0",n:"\u4F20\u8BB0"},{v:"\u8B66\u532A",n:"\u8B66\u532A"},{v:"\u5386\u53F2",n:"\u5386\u53F2"},{v:"\u8FD0\u52A8",n:"\u8FD0\u52A8"},{v:"\u4F26\u7406",n:"\u4F26\u7406"},{v:"\u707E\u96BE",n:"\u707E\u96BE"},{v:"\u897F\u90E8",n:"\u897F\u90E8"},{v:"\u9B54\u5E7B",n:"\u9B54\u5E7B"},{v:"\u67AA\u6218",n:"\u67AA\u6218"},{v:"\u6050\u6016",n:"\u6050\u6016"},{v:"\u8BB0\u5F55",n:"\u8BB0\u5F55"}],"1.area":[{v:"\u5927\u9646",n:"\u5927\u9646"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u9999\u6E2F",n:"\u9999\u6E2F"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u53F0\u6E7E",n:"\u53F0\u6E7E"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u6CD5\u56FD",n:"\u6CD5\u56FD"},{v:"\u610F\u5927\u5229",n:"\u610F\u5927\u5229"},{v:"\u5FB7\u56FD",n:"\u5FB7\u56FD"},{v:"\u897F\u73ED\u7259",n:"\u897F\u73ED\u7259"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"1.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u6CD5\u8BED",n:"\u6CD5\u8BED"},{v:"\u5FB7\u8BED",n:"\u5FB7\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"1.year":[{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"}],"1.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"1.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"2.class":[{v:"\u53E4\u88C5",n:"\u53E4\u88C5"},{v:"\u559C\u5267",n:"\u559C\u5267"},{v:"\u5076\u50CF",n:"\u5076\u50CF"},{v:"\u5BB6\u5EAD",n:"\u5BB6\u5EAD"},{v:"\u8B66\u532A",n:"\u8B66\u532A"},{v:"\u8A00\u60C5",n:"\u8A00\u60C5"},{v:"\u519B\u4E8B",n:"\u519B\u4E8B"},{v:"\u6B66\u4FA0",n:"\u6B66\u4FA0"},{v:"\u60AC\u7591",n:"\u60AC\u7591"},{v:"\u5386\u53F2",n:"\u5386\u53F2"},{v:"\u519C\u6751",n:"\u519C\u6751"},{v:"\u90FD\u5E02",n:"\u90FD\u5E02"},{v:"\u795E\u8BDD",n:"\u795E\u8BDD"},{v:"\u79D1\u5E7B",n:"\u79D1\u5E7B"},{v:"\u5C11\u513F",n:"\u5C11\u513F"},{v:"\u641E\u7B11",n:"\u641E\u7B11"},{v:"\u8C0D\u6218",n:"\u8C0D\u6218"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u5E74\u4EE3",n:"\u5E74\u4EE3"},{v:"\u72AF\u7F6A",n:"\u72AF\u7F6A"},{v:"\u6050\u6016",n:"\u6050\u6016"},{v:"\u60CA\u609A",n:"\u60CA\u609A"},{v:"\u7231\u60C5",n:"\u7231\u60C5"},{v:"\u5267\u60C5",n:"\u5267\u60C5"},{v:"\u5947\u5E7B",n:"\u5947\u5E7B"}],"2.area":[{v:"\u5927\u9646",n:"\u5927\u9646"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u9999\u6E2F",n:"\u9999\u6E2F"},{v:"\u53F0\u6E7E",n:"\u53F0\u6E7E"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u65B0\u52A0\u5761",n:"\u65B0\u52A0\u5761"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"},{v:"\u9999\u6E2F\u5730\u533A",n:"\u9999\u6E2F\u5730\u533A"}],"2.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"2.year":[{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"}],"2.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"2.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"3.class":[{v:"\u771F\u4EBA\u79C0",n:"\u771F\u4EBA\u79C0"},{v:"\u8BBF\u8C08",n:"\u8BBF\u8C08"},{v:"\u60C5\u611F",n:"\u60C5\u611F"},{v:"\u9009\u79C0",n:"\u9009\u79C0"},{v:"\u65C5\u6E38",n:"\u65C5\u6E38"},{v:"\u7F8E\u98DF",n:"\u7F8E\u98DF"},{v:"\u53E3\u79C0",n:"\u53E3\u79C0"},{v:"\u66F2\u827A",n:"\u66F2\u827A"},{v:"\u641E\u7B11",n:"\u641E\u7B11"},{v:"\u6E38\u620F",n:"\u6E38\u620F"},{v:"\u6B4C\u821E",n:"\u6B4C\u821E"},{v:"\u751F\u6D3B",n:"\u751F\u6D3B"},{v:"\u97F3\u4E50",n:"\u97F3\u4E50"},{v:"\u65F6\u5C1A",n:"\u65F6\u5C1A"},{v:"\u76CA\u667A",n:"\u76CA\u667A"},{v:"\u804C\u573A",n:"\u804C\u573A"},{v:"\u5C11\u513F",n:"\u5C11\u513F"},{v:"\u7EAA\u5B9E",n:"\u7EAA\u5B9E"},{v:"\u76DB\u4F1A",n:"\u76DB\u4F1A"}],"3.area":[{v:"\u5927\u9646",n:"\u5927\u9646"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u9999\u6E2F",n:"\u9999\u6E2F"},{v:"\u53F0\u6E7E",n:"\u53F0\u6E7E"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"3.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"3.year":[{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"}],"3.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"3.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"4.id":[{v:"31",n:"\u65E5\u672C\u52A8\u6F2B"},{v:"32",n:"\u56FD\u4EA7\u52A8\u6F2B"},{v:"33",n:"\u52A8\u6F2B\u7535\u5F71"},{v:"34",n:"\u6B27\u7F8E\u52A8\u6F2B"}],"4.class":[{v:"\u70ED\u8840",n:"\u70ED\u8840"},{v:"\u79D1\u5E7B",n:"\u79D1\u5E7B"},{v:"\u63A8\u7406",n:"\u63A8\u7406"},{v:"\u641E\u7B11",n:"\u641E\u7B11"},{v:"\u5192\u9669",n:"\u5192\u9669"},{v:"\u6821\u56ED",n:"\u6821\u56ED"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u673A\u6218",n:"\u673A\u6218"},{v:"\u8FD0\u52A8",n:"\u8FD0\u52A8"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u5C11\u5E74",n:"\u5C11\u5E74"},{v:"\u5C11\u5973",n:"\u5C11\u5973"},{v:"\u793E\u4F1A",n:"\u793E\u4F1A"},{v:"\u539F\u521B",n:"\u539F\u521B"},{v:"\u4EB2\u5B50",n:"\u4EB2\u5B50"},{v:"\u76CA\u667A",n:"\u76CA\u667A"},{v:"\u52B1\u5FD7",n:"\u52B1\u5FD7"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"4.area":[{v:"\u5927\u9646",n:"\u5927\u9646"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u6B27\u7F8E",n:"\u6B27\u7F8E"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"4.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"4.year":[{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"}],"4.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"4.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"6.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"6.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"5.class":[{v:"\u592E\u89C6\u76F4\u64AD",n:"\u592E\u89C6\u76F4\u64AD"},{v:"\u5730\u65B9\u76F4\u64AD",n:"\u5730\u65B9\u76F4\u64AD"},{v:"\u7EFC\u827A\u8282\u76EE",n:"\u7EFC\u827A\u8282\u76EE"},{v:"\u5A31\u4E50\u8D44\u8BAF",n:"\u5A31\u4E50\u8D44\u8BAF"}],"5.area":[{v:"\u5927\u9646",n:"\u5927\u9646"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u6B27\u7F8E",n:"\u6B27\u7F8E"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"5.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"5.year":[{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2007",n:"2007"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"}],"5.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"5.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"30.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"30.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}]}}},Sbn=new eDe,Vqt=Sbn.getExports()});async function rDe(e){Kqt.createRoutes(e)}var tDe,Kqt,Gqt,nDe=oe(()=>{_p();tDe=class extends ia{constructor(){super("kuaiying")}},Kqt=new tDe,Gqt=e=>Kqt.getCache(e)});var sDe,Tbn,Yqt,Qqt=oe(()=>{b0();Dn();nDe();sDe=class extends vi{constructor(){super("\u5FEB\u6620","kuaiying",{key:"kuaiying",name:"\u2601\uFE0F \u5FEB\u6620",type:3,homeCacheTTL:Rt.static},Gqt),this.initFilterData(),this.validateCategoryPageUrl=!0}initFilterData(){this.classes=[{type_name:"\u6885",type_id:"1"},{type_name:"\u5170",type_id:"2"},{type_name:"\u7AF9",type_id:"3"},{type_name:"\u83CA",type_id:"4"},{type_name:"\u77ED",type_id:"6"},{type_name:"\u7CBE",type_id:"5"}],this.filterData={1:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],2:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],3:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],4:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],5:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],6:[{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}]},this.filterValues={"1.class":[{v:"\u559C\u5267",n:"\u559C\u5267"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u7231\u60C5",n:"\u7231\u60C5"},{v:"\u60CA\u609A",n:"\u60CA\u609A"},{v:"\u72AF\u7F6A",n:"\u72AF\u7F6A"},{v:"\u5192\u9669",n:"\u5192\u9669"},{v:"\u79D1\u5E7B",n:"\u79D1\u5E7B"},{v:"\u60AC\u7591",n:"\u60AC\u7591"},{v:"\u5267\u60C5",n:"\u5267\u60C5"},{v:"\u52A8\u753B",n:"\u52A8\u753B"},{v:"\u6B66\u4FA0",n:"\u6B66\u4FA0"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u6B4C\u821E",n:"\u6B4C\u821E"},{v:"\u5947\u5E7B",n:"\u5947\u5E7B"},{v:"\u4F20\u8BB0",n:"\u4F20\u8BB0"},{v:"\u8B66\u532A",n:"\u8B66\u532A"},{v:"\u5386\u53F2",n:"\u5386\u53F2"},{v:"\u8FD0\u52A8",n:"\u8FD0\u52A8"},{v:"\u4F26\u7406",n:"\u4F26\u7406"},{v:"\u707E\u96BE",n:"\u707E\u96BE"},{v:"\u897F\u90E8",n:"\u897F\u90E8"},{v:"\u9B54\u5E7B",n:"\u9B54\u5E7B"},{v:"\u67AA\u6218",n:"\u67AA\u6218"},{v:"\u6050\u6016",n:"\u6050\u6016"},{v:"\u8BB0\u5F55",n:"\u8BB0\u5F55"}],"1.area":[{v:"\u5927\u9646",n:"\u5927\u9646"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u9999\u6E2F",n:"\u9999\u6E2F"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u53F0\u6E7E",n:"\u53F0\u6E7E"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u6CD5\u56FD",n:"\u6CD5\u56FD"},{v:"\u610F\u5927\u5229",n:"\u610F\u5927\u5229"},{v:"\u5FB7\u56FD",n:"\u5FB7\u56FD"},{v:"\u897F\u73ED\u7259",n:"\u897F\u73ED\u7259"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"1.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u6CD5\u8BED",n:"\u6CD5\u8BED"},{v:"\u5FB7\u8BED",n:"\u5FB7\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"1.year":[{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"}],"1.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"1.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"2.class":[{v:"\u53E4\u88C5",n:"\u53E4\u88C5"},{v:"\u559C\u5267",n:"\u559C\u5267"},{v:"\u5076\u50CF",n:"\u5076\u50CF"},{v:"\u5BB6\u5EAD",n:"\u5BB6\u5EAD"},{v:"\u8B66\u532A",n:"\u8B66\u532A"},{v:"\u8A00\u60C5",n:"\u8A00\u60C5"},{v:"\u519B\u4E8B",n:"\u519B\u4E8B"},{v:"\u6B66\u4FA0",n:"\u6B66\u4FA0"},{v:"\u60AC\u7591",n:"\u60AC\u7591"},{v:"\u5386\u53F2",n:"\u5386\u53F2"},{v:"\u519C\u6751",n:"\u519C\u6751"},{v:"\u90FD\u5E02",n:"\u90FD\u5E02"},{v:"\u795E\u8BDD",n:"\u795E\u8BDD"},{v:"\u79D1\u5E7B",n:"\u79D1\u5E7B"},{v:"\u5C11\u513F",n:"\u5C11\u513F"},{v:"\u641E\u7B11",n:"\u641E\u7B11"},{v:"\u8C0D\u6218",n:"\u8C0D\u6218"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u5E74\u4EE3",n:"\u5E74\u4EE3"},{v:"\u72AF\u7F6A",n:"\u72AF\u7F6A"},{v:"\u6050\u6016",n:"\u6050\u6016"},{v:"\u60CA\u609A",n:"\u60CA\u609A"},{v:"\u7231\u60C5",n:"\u7231\u60C5"},{v:"\u5267\u60C5",n:"\u5267\u60C5"},{v:"\u5947\u5E7B",n:"\u5947\u5E7B"}],"2.area":[{v:"\u5927\u9646",n:"\u5927\u9646"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u9999\u6E2F",n:"\u9999\u6E2F"},{v:"\u53F0\u6E7E",n:"\u53F0\u6E7E"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u65B0\u52A0\u5761",n:"\u65B0\u52A0\u5761"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"},{v:"\u9999\u6E2F\u5730\u533A",n:"\u9999\u6E2F\u5730\u533A"}],"2.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"2.year":[{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"}],"2.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"2.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"3.class":[{v:"\u771F\u4EBA\u79C0",n:"\u771F\u4EBA\u79C0"},{v:"\u8BBF\u8C08",n:"\u8BBF\u8C08"},{v:"\u60C5\u611F",n:"\u60C5\u611F"},{v:"\u9009\u79C0",n:"\u9009\u79C0"},{v:"\u65C5\u6E38",n:"\u65C5\u6E38"},{v:"\u7F8E\u98DF",n:"\u7F8E\u98DF"},{v:"\u53E3\u79C0",n:"\u53E3\u79C0"},{v:"\u66F2\u827A",n:"\u66F2\u827A"},{v:"\u641E\u7B11",n:"\u641E\u7B11"},{v:"\u6E38\u620F",n:"\u6E38\u620F"},{v:"\u6B4C\u821E",n:"\u6B4C\u821E"},{v:"\u751F\u6D3B",n:"\u751F\u6D3B"},{v:"\u97F3\u4E50",n:"\u97F3\u4E50"},{v:"\u65F6\u5C1A",n:"\u65F6\u5C1A"},{v:"\u76CA\u667A",n:"\u76CA\u667A"},{v:"\u804C\u573A",n:"\u804C\u573A"},{v:"\u5C11\u513F",n:"\u5C11\u513F"},{v:"\u7EAA\u5B9E",n:"\u7EAA\u5B9E"},{v:"\u76DB\u4F1A",n:"\u76DB\u4F1A"}],"3.area":[{v:"\u5927\u9646",n:"\u5927\u9646"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u9999\u6E2F",n:"\u9999\u6E2F"},{v:"\u53F0\u6E7E",n:"\u53F0\u6E7E"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"3.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"3.year":[{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"}],"3.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"3.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"4.class":[{v:"\u70ED\u8840",n:"\u70ED\u8840"},{v:"\u79D1\u5E7B",n:"\u79D1\u5E7B"},{v:"\u63A8\u7406",n:"\u63A8\u7406"},{v:"\u641E\u7B11",n:"\u641E\u7B11"},{v:"\u5192\u9669",n:"\u5192\u9669"},{v:"\u6821\u56ED",n:"\u6821\u56ED"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u673A\u6218",n:"\u673A\u6218"},{v:"\u8FD0\u52A8",n:"\u8FD0\u52A8"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u5C11\u5E74",n:"\u5C11\u5E74"},{v:"\u5C11\u5973",n:"\u5C11\u5973"},{v:"\u793E\u4F1A",n:"\u793E\u4F1A"},{v:"\u539F\u521B",n:"\u539F\u521B"},{v:"\u4EB2\u5B50",n:"\u4EB2\u5B50"},{v:"\u76CA\u667A",n:"\u76CA\u667A"},{v:"\u52B1\u5FD7",n:"\u52B1\u5FD7"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"4.area":[{v:"\u5927\u9646",n:"\u5927\u9646"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u6B27\u7F8E",n:"\u6B27\u7F8E"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"4.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"4.year":[{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"}],"4.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"4.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"6.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"6.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"5.class":[{v:"\u592E\u89C6\u76F4\u64AD",n:"\u592E\u89C6\u76F4\u64AD"},{v:"\u5730\u65B9\u76F4\u64AD",n:"\u5730\u65B9\u76F4\u64AD"},{v:"\u7EFC\u827A\u8282\u76EE",n:"\u7EFC\u827A\u8282\u76EE"},{v:"\u5A31\u4E50\u8D44\u8BAF",n:"\u5A31\u4E50\u8D44\u8BAF"}],"5.area":[{v:"\u5927\u9646",n:"\u5927\u9646"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u6B27\u7F8E",n:"\u6B27\u7F8E"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"5.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"5.year":[{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2007",n:"2007"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"}],"5.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"5.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}]}}},Tbn=new sDe,Yqt=Tbn.getExports()});async function aDe(e){zqt.createRoutes(e)}var iDe,zqt,Wqt,oDe=oe(()=>{_p();iDe=class extends ia{constructor(){super("duoduo")}},zqt=new iDe,Wqt=e=>zqt.getCache(e)});var cDe,bbn,Xqt,Jqt=oe(()=>{b0();Dn();oDe();cDe=class extends vi{constructor(){super("\u591A\u591A","duoduo",{key:"duoduo",name:"\u2601\uFE0F \u591A\u591A",type:3,homeCacheTTL:Rt.static},Wqt),this.initFilterData()}initFilterData(){this.classes=[{type_name:"\u591A\u591A\u7535\u5F71",type_id:"1"},{type_name:"\u591A\u591A\u5267\u96C6",type_id:"2"},{type_name:"\u52A8\u6F2B",type_id:"4"},{type_name:"\u77ED\u5267",type_id:"5"},{type_name:"\u7EFC\u827A",type_id:"3"},{type_name:"\u7EAA\u5F55",type_id:"20"}],this.filterData={1:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],2:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],3:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],4:[{name:"\u5267\u60C5",key:"class"},{name:"\u5730\u533A",key:"area"},{name:"\u8BED\u8A00",key:"lang"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],5:[{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],20:[{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}]},this.filterValues={"1.class":[{v:"\u559C\u5267",n:"\u559C\u5267"},{v:"\u7231\u60C5",n:"\u7231\u60C5"},{v:"\u6050\u6016",n:"\u6050\u6016"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u79D1\u5E7B",n:"\u79D1\u5E7B"},{v:"\u5267\u60C5",n:"\u5267\u60C5"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u8B66\u532A",n:"\u8B66\u532A"},{v:"\u72AF\u7F6A",n:"\u72AF\u7F6A"},{v:"\u52A8\u753B",n:"\u52A8\u753B"},{v:"\u5947\u5E7B",n:"\u5947\u5E7B"},{v:"\u6B66\u4FA0",n:"\u6B66\u4FA0"},{v:"\u5192\u9669",n:"\u5192\u9669"},{v:"\u67AA\u6218",n:"\u67AA\u6218"},{v:"\u60AC\u7591",n:"\u60AC\u7591"},{v:"\u60CA\u609A",n:"\u60CA\u609A"},{v:"\u7ECF\u5178",n:"\u7ECF\u5178"},{v:"\u9752\u6625",n:"\u9752\u6625"},{v:"\u6587\u827A",n:"\u6587\u827A"},{v:"\u5FAE\u7535\u5F71",n:"\u5FAE\u7535\u5F71"},{v:"\u53E4\u88C5",n:"\u53E4\u88C5"},{v:"\u5386\u53F2",n:"\u5386\u53F2"},{v:"\u8FD0\u52A8",n:"\u8FD0\u52A8"},{v:"\u519C\u6751",n:"\u519C\u6751"},{v:"\u513F\u7AE5",n:"\u513F\u7AE5"},{v:"\u7F51\u7EDC\u7535\u5F71",n:"\u7F51\u7EDC\u7535\u5F71"}],"1.area":[{v:"\u5927\u9646",n:"\u5927\u9646"},{v:"\u9999\u6E2F",n:"\u9999\u6E2F"},{v:"\u53F0\u6E7E",n:"\u53F0\u6E7E"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u6CD5\u56FD",n:"\u6CD5\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u5FB7\u56FD",n:"\u5FB7\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u5370\u5EA6",n:"\u5370\u5EA6"},{v:"\u610F\u5927\u5229",n:"\u610F\u5927\u5229"},{v:"\u897F\u73ED\u7259",n:"\u897F\u73ED\u7259"},{v:"\u52A0\u62FF\u5927",n:"\u52A0\u62FF\u5927"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"1.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u6CD5\u8BED",n:"\u6CD5\u8BED"},{v:"\u5FB7\u8BED",n:"\u5FB7\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"1.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2007",n:"2007"},{v:"2006",n:"2006"}],"1.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"1.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"2.class":[{v:"\u53E4\u88C5",n:"\u53E4\u88C5"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u9752\u6625\u5076\u50CF",n:"\u9752\u6625\u5076\u50CF"},{v:"\u559C\u5267",n:"\u559C\u5267"},{v:"\u5BB6\u5EAD",n:"\u5BB6\u5EAD"},{v:"\u72AF\u7F6A",n:"\u72AF\u7F6A"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u5947\u5E7B",n:"\u5947\u5E7B"},{v:"\u5267\u60C5",n:"\u5267\u60C5"},{v:"\u5386\u53F2",n:"\u5386\u53F2"},{v:"\u7ECF\u5178",n:"\u7ECF\u5178"},{v:"\u4E61\u6751",n:"\u4E61\u6751"},{v:"\u60C5\u666F",n:"\u60C5\u666F"},{v:"\u5546\u6218",n:"\u5546\u6218"},{v:"\u7F51\u5267",n:"\u7F51\u5267"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"2.area":[{v:"\u5927\u9646",n:"\u5927\u9646"},{v:"\u5185\u5730",n:"\u5185\u5730"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u9999\u6E2F",n:"\u9999\u6E2F"},{v:"\u53F0\u6E7E",n:"\u53F0\u6E7E"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u65B0\u52A0\u5761",n:"\u65B0\u52A0\u5761"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"2.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"2.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2007",n:"2007"},{v:"2006",n:"2006"}],"2.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"2.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"4.class":[{v:"\u60C5\u611F",n:"\u60C5\u611F"},{v:"\u79D1\u5E7B",n:"\u79D1\u5E7B"},{v:"\u70ED\u8840",n:"\u70ED\u8840"},{v:"\u63A8\u7406",n:"\u63A8\u7406"},{v:"\u641E\u7B11",n:"\u641E\u7B11"},{v:"\u5192\u9669",n:"\u5192\u9669"},{v:"\u841D\u8389",n:"\u841D\u8389"},{v:"\u6821\u56ED",n:"\u6821\u56ED"},{v:"\u52A8\u4F5C",n:"\u52A8\u4F5C"},{v:"\u673A\u6218",n:"\u673A\u6218"},{v:"\u8FD0\u52A8",n:"\u8FD0\u52A8"},{v:"\u6218\u4E89",n:"\u6218\u4E89"},{v:"\u5C11\u5E74",n:"\u5C11\u5E74"},{v:"\u5C11\u5973",n:"\u5C11\u5973"},{v:"\u793E\u4F1A",n:"\u793E\u4F1A"},{v:"\u539F\u521B",n:"\u539F\u521B"},{v:"\u4EB2\u5B50",n:"\u4EB2\u5B50"},{v:"\u76CA\u667A",n:"\u76CA\u667A"},{v:"\u52B1\u5FD7",n:"\u52B1\u5FD7"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"4.area":[{v:"\u56FD\u4EA7",n:"\u56FD\u4EA7"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u6B27\u7F8E",n:"\u6B27\u7F8E"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"4.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"4.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2007",n:"2007"},{v:"2006",n:"2006"}],"4.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"4.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"5.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2007",n:"2007"},{v:"2006",n:"2006"}],"5.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"5.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"3.class":[{v:"\u9009\u79C0",n:"\u9009\u79C0"},{v:"\u60C5\u611F",n:"\u60C5\u611F"},{v:"\u8BBF\u8C08",n:"\u8BBF\u8C08"},{v:"\u64AD\u62A5",n:"\u64AD\u62A5"},{v:"\u65C5\u6E38",n:"\u65C5\u6E38"},{v:"\u97F3\u4E50",n:"\u97F3\u4E50"},{v:"\u7F8E\u98DF",n:"\u7F8E\u98DF"},{v:"\u7EAA\u5B9E",n:"\u7EAA\u5B9E"},{v:"\u66F2\u827A",n:"\u66F2\u827A"},{v:"\u751F\u6D3B",n:"\u751F\u6D3B"},{v:"\u6E38\u620F\u4E92\u52A8",n:"\u6E38\u620F\u4E92\u52A8"},{v:"\u8D22\u7ECF",n:"\u8D22\u7ECF"},{v:"\u6C42\u804C",n:"\u6C42\u804C"}],"3.area":[{v:"\u5185\u5730",n:"\u5185\u5730"},{v:"\u6E2F\u53F0",n:"\u6E2F\u53F0"},{v:"\u65E5\u97E9",n:"\u65E5\u97E9"},{v:"\u6B27\u7F8E",n:"\u6B27\u7F8E"}],"3.lang":[{v:"\u56FD\u8BED",n:"\u56FD\u8BED"},{v:"\u82F1\u8BED",n:"\u82F1\u8BED"},{v:"\u7CA4\u8BED",n:"\u7CA4\u8BED"},{v:"\u95FD\u5357\u8BED",n:"\u95FD\u5357\u8BED"},{v:"\u97E9\u8BED",n:"\u97E9\u8BED"},{v:"\u65E5\u8BED",n:"\u65E5\u8BED"},{v:"\u5176\u5B83",n:"\u5176\u5B83"}],"3.year":[{v:"2026",n:"2026"},{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2007",n:"2007"},{v:"2006",n:"2006"}],"3.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"3.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"20.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"20.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}]}}},bbn=new cDe,Xqt=bbn.getExports()});async function lDe(e){Zqt.createRoutes(e)}var uDe,Zqt,eHt,dDe=oe(()=>{_p();uDe=class extends ia{constructor(){super("shandian")}},Zqt=new uDe,eHt=e=>Zqt.getCache(e)});var fDe,Ibn,tHt,rHt=oe(()=>{b0();Dn();dDe();fDe=class extends vi{constructor(){super("\u95EA\u7535","shandian",{key:"shandian",name:"\u2601\uFE0F \u95EA\u7535",type:3,homeCacheTTL:Rt.static},eHt),this.initFilterData()}initFilterData(){this.classes=[{type_name:"\u95EA\u7535\u7535\u5F71",type_id:"1"},{type_name:"\u95EA\u7535\u5267\u96C6",type_id:"2"},{type_name:"\u95EA\u7535\u7EFC\u827A",type_id:"3"},{type_name:"\u95EA\u7535\u52A8\u6F2B",type_id:"4"},{type_name:"\u95EA\u7535\u77ED\u5267",type_id:"30"}],this.filterData={1:[{name:"\u7C7B\u578B",key:"id"},{name:"\u5730\u533A",key:"area"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],2:[{name:"\u7C7B\u578B",key:"id"},{name:"\u5730\u533A",key:"area"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],3:[{name:"\u7C7B\u578B",key:"id"},{name:"\u5730\u533A",key:"area"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],4:[{name:"\u7C7B\u578B",key:"id"},{name:"\u5730\u533A",key:"area"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}],30:[{name:"\u5730\u533A",key:"area"},{name:"\u65F6\u95F4",key:"year"},{name:"\u5B57\u6BCD",key:"letter"},{name:"\u6392\u5E8F",key:"by"}]},this.filterValues={"1.id":[{v:"12",n:"\u52A8\u4F5C\u7247"},{v:"102",n:"\u559C\u5267\u7247"},{v:"103",n:"\u7231\u60C5\u7247"},{v:"104",n:"\u79D1\u5E7B\u7247"},{v:"105",n:"\u5267\u60C5\u7247"},{v:"106",n:"\u60AC\u7591\u7247"},{v:"107",n:"\u60CA\u609A\u7247"},{v:"108",n:"\u6050\u6016\u7247"},{v:"109",n:"\u72AF\u7F6A\u7247"},{v:"110",n:"\u6B66\u4FA0\u7247"},{v:"111",n:"\u5192\u9669\u7247"},{v:"112",n:"\u5947\u5E7B\u7247"},{v:"113",n:"\u6218\u4E89\u7247"},{v:"114",n:"\u7EAA\u5F55\u7247"},{v:"115",n:"\u4F26\u7406\u7247"}],"1.area":[{v:"\u4E2D\u56FD\u5927\u9646",n:"\u4E2D\u56FD\u5927\u9646"},{v:"\u4E2D\u56FD\u9999\u6E2F",n:"\u4E2D\u56FD\u9999\u6E2F"},{v:"\u4E2D\u56FD\u53F0\u6E7E",n:"\u4E2D\u56FD\u53F0\u6E7E"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u6CD5\u56FD",n:"\u6CD5\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u5FB7\u56FD",n:"\u5FB7\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u5370\u5EA6",n:"\u5370\u5EA6"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"1.year":[{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2007",n:"2007"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"},{v:"2003",n:"2003"},{v:"2002",n:"2002"},{v:"2001",n:"2001"},{v:"2000",n:"2000"}],"1.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"1.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"2.id":[{v:"201",n:"\u56FD\u4EA7\u5267"},{v:"202",n:"\u6E2F\u53F0\u5267"},{v:"203",n:"\u6B27\u7F8E\u5267"},{v:"204",n:"\u65E5\u97E9\u5267"},{v:"205",n:"\u6D77\u5916\u5267"}],"2.area":[{v:"\u4E2D\u56FD\u5927\u9646",n:"\u4E2D\u56FD\u5927\u9646"},{v:"\u4E2D\u56FD\u9999\u6E2F",n:"\u4E2D\u56FD\u9999\u6E2F"},{v:"\u4E2D\u56FD\u53F0\u6E7E",n:"\u4E2D\u56FD\u53F0\u6E7E"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u6CD5\u56FD",n:"\u6CD5\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u5FB7\u56FD",n:"\u5FB7\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u5370\u5EA6",n:"\u5370\u5EA6"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"2.year":[{v:"2025",n:"2025"},{v:"2024",n:"2024"},{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2007",n:"2007"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"},{v:"2003",n:"2003"},{v:"2002",n:"2002"},{v:"2001",n:"2001"},{v:"2000",n:"2000"}],"2.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"2.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"3.id":[{v:"301",n:"\u5927\u9646\u7EFC\u827A"},{v:"302",n:"\u6E2F\u53F0\u7EFC\u827A"},{v:"303",n:"\u6B27\u7F8E\u7EFC\u827A"},{v:"304",n:"\u65E5\u97E9\u7EFC\u827A"}],"3.area":[{v:"\u4E2D\u56FD\u5927\u9646",n:"\u4E2D\u56FD\u5927\u9646"},{v:"\u4E2D\u56FD\u9999\u6E2F",n:"\u4E2D\u56FD\u9999\u6E2F"},{v:"\u4E2D\u56FD\u53F0\u6E7E",n:"\u4E2D\u56FD\u53F0\u6E7E"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u6CD5\u56FD",n:"\u6CD5\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u5FB7\u56FD",n:"\u5FB7\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u5370\u5EA6",n:"\u5370\u5EA6"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"3.year":[{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2007",n:"2007"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"},{v:"2003",n:"2003"},{v:"2002",n:"2002"},{v:"2001",n:"2001"},{v:"2000",n:"2000"}],"3.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"3.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"4.id":[{v:"401",n:"\u52A8\u753B\u7247"},{v:"402",n:"\u56FD\u4EA7\u52A8\u6F2B"},{v:"403",n:"\u65E5\u97E9\u52A8\u6F2B"},{v:"404",n:"\u6B27\u7F8E\u52A8\u6F2B"},{v:"405",n:"\u6E2F\u53F0\u52A8\u6F2B"},{v:"406",n:"\u6D77\u5916\u52A8\u6F2B"}],"4.area":[{v:"\u4E2D\u56FD\u5927\u9646",n:"\u4E2D\u56FD\u5927\u9646"},{v:"\u4E2D\u56FD\u9999\u6E2F",n:"\u4E2D\u56FD\u9999\u6E2F"},{v:"\u4E2D\u56FD\u53F0\u6E7E",n:"\u4E2D\u56FD\u53F0\u6E7E"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u6CD5\u56FD",n:"\u6CD5\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u5FB7\u56FD",n:"\u5FB7\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u5370\u5EA6",n:"\u5370\u5EA6"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"4.year":[{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2007",n:"2007"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"},{v:"2003",n:"2003"},{v:"2002",n:"2002"},{v:"2001",n:"2001"},{v:"2000",n:"2000"}],"4.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"4.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}],"30.area":[{v:"\u4E2D\u56FD\u5927\u9646",n:"\u4E2D\u56FD\u5927\u9646"},{v:"\u4E2D\u56FD\u9999\u6E2F",n:"\u4E2D\u56FD\u9999\u6E2F"},{v:"\u4E2D\u56FD\u53F0\u6E7E",n:"\u4E2D\u56FD\u53F0\u6E7E"},{v:"\u7F8E\u56FD",n:"\u7F8E\u56FD"},{v:"\u97E9\u56FD",n:"\u97E9\u56FD"},{v:"\u65E5\u672C",n:"\u65E5\u672C"},{v:"\u6CD5\u56FD",n:"\u6CD5\u56FD"},{v:"\u82F1\u56FD",n:"\u82F1\u56FD"},{v:"\u5FB7\u56FD",n:"\u5FB7\u56FD"},{v:"\u6CF0\u56FD",n:"\u6CF0\u56FD"},{v:"\u5370\u5EA6",n:"\u5370\u5EA6"},{v:"\u5176\u4ED6",n:"\u5176\u4ED6"}],"30.year":[{v:"2023",n:"2023"},{v:"2022",n:"2022"},{v:"2021",n:"2021"},{v:"2020",n:"2020"},{v:"2019",n:"2019"},{v:"2018",n:"2018"},{v:"2017",n:"2017"},{v:"2016",n:"2016"},{v:"2015",n:"2015"},{v:"2014",n:"2014"},{v:"2013",n:"2013"},{v:"2012",n:"2012"},{v:"2011",n:"2011"},{v:"2010",n:"2010"},{v:"2009",n:"2009"},{v:"2008",n:"2008"},{v:"2007",n:"2007"},{v:"2006",n:"2006"},{v:"2005",n:"2005"},{v:"2004",n:"2004"},{v:"2003",n:"2003"},{v:"2002",n:"2002"},{v:"2001",n:"2001"},{v:"2000",n:"2000"}],"30.letter":[{v:"A",n:"A"},{v:"B",n:"B"},{v:"C",n:"C"},{v:"D",n:"D"},{v:"E",n:"E"},{v:"F",n:"F"},{v:"G",n:"G"},{v:"H",n:"H"},{v:"I",n:"I"},{v:"J",n:"J"},{v:"K",n:"K"},{v:"L",n:"L"},{v:"M",n:"M"},{v:"N",n:"N"},{v:"O",n:"O"},{v:"P",n:"P"},{v:"Q",n:"Q"},{v:"R",n:"R"},{v:"S",n:"S"},{v:"T",n:"T"},{v:"U",n:"U"},{v:"V",n:"V"},{v:"W",n:"W"},{v:"X",n:"X"},{v:"Y",n:"Y"},{v:"Z",n:"Z"},{v:"0-9",n:"0-9"}],"30.by":[{v:"time",n:"\u65F6\u95F4\u6392\u5E8F"},{v:"hits",n:"\u4EBA\u6C14\u6392\u5E8F"},{v:"score",n:"\u8BC4\u5206\u6392\u5E8F"}]}}},Ibn=new fDe,tHt=Ibn.getExports()});var uHt={};Bt(uHt,{default:()=>qbn});function I0(e){return e.map(t=>Array.isArray(t)?{n:t[0],v:t[1]}:{n:t,v:t})}function Nn(e,t,r=""){return{key:e,name:"",init:r,value:t}}function yDe(e){return e==null?e:JSON.parse(JSON.stringify(e))}function ADe(e,t){return JSON.stringify({site:String(e||"").trim(),id:String(t||"").trim()})}function Mbn(e){try{let t=JSON.parse(String(e||""));if(t&&typeof t=="object"&&t.site&&t.id)return{site:String(t.site||"").trim(),id:String(t.id||"").trim()}}catch{}return{site:"",id:String(e||"").trim()}}function kbn(e){return String(e.url||"").split("?")[0].replace(/\/(?:init|home|category|detail|play|search)$/i,"")}function Bbn(e={}){let t=e.filters||e.extend||e.ext||{};return t&&typeof t=="object"?t:{}}function oHt(e){return Array.isArray(e?.class)?e.class.filter(Boolean):[]}function pDe(e,t){let n=(e?.filters||{})?.[String(t||"")];return Array.isArray(n)?yDe(n):[]}function cHt(e){let t=Lbn[e.key];return t?yDe(t):typeof e.spider?.staticHome=="function"?e.spider.staticHome():{class:[],filters:{}}}function Ubn(e,t=""){let r=e.map(n=>({v:String(n?.type_id||"").trim(),n:String(n?.type_name||"").trim()})).filter(n=>n.v&&n.n);return r.length===0?null:{name:"\u5206\u7C7B",key:"cat",init:t||r[0].v,value:r}}function mDe(e,t,r=[]){let n=Ubn(e,t),s=Array.isArray(r)?yDe(r):[];return[...n?[n]:[],...s.filter(i=>i?.key!=="cat")]}function Fbn(e,t=""){let r=String(t||"").trim();return r?`${e.name} \xB7 ${r}`:e.name}function gDe(e,t,r={}){if(!t||typeof t!="object")return t;let n=r.sourceId==null?t.vod_id:r.sourceId,s={...t,vod_id:ADe(e.key,n)};return r.withSiteRemark&&(s.vod_remarks=Fbn(e,t.vod_remarks)),s}function _De(e=1){return{page:e,pagecount:e,limit:72,total:0,list:[]}}var nHt,sHt,mw,iHt,Rbn,aHt,Cbn,xbn,wbn,hDe,Nbn,Obn,pw,Dbn,ny,sy,Pbn,Lbn,EDe,$bn,qbn,lHt=oe(()=>{Yu();yqt();bqt();xqt();Dqt();kqt();$qt();jqt();Qqt();Jqt();rHt();nHt="wanoujuhe",sHt="_wanoujuhe",mw=[{key:"wogg",name:"\u73A9\u5076",spider:Eqt},{key:"muou",name:"\u6728\u5076",spider:Tqt},{key:"erxiao",name:"\u4E8C\u5C0F",spider:Cqt},{key:"zhizhen",name:"\u81F3\u81FB",spider:Oqt},{key:"ouge",name:"\u6B27\u6B4C",spider:Mqt},{key:"labi",name:"\u8721\u7B14",spider:Fqt},{key:"huban",name:"\u864E\u6591",spider:Vqt},{key:"kuaiying",name:"\u5FEB\u6620",spider:Yqt},{key:"duoduo",name:"\u591A\u591A",spider:Xqt},{key:"shandian",name:"\u95EA\u7535",spider:tHt}],iHt=new Map(mw.map(e=>[e.key,e]));Rbn=[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"44",type_name:"\u81FB\u5F69\u89C6\u754C"},{type_id:"6",type_name:"\u77ED\u5267"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"4",type_name:"\u7EFC\u827A"},{type_id:"46",type_name:"\u7EAA\u5F55\u7247"},{type_id:"5",type_name:"\u97F3\u4E50"}],aHt=I0([["\u5168\u90E8",""],"\u559C\u5267","\u7231\u60C5","\u6050\u6016","\u52A8\u4F5C","\u79D1\u5E7B","\u5267\u60C5","\u6218\u4E89","\u8B66\u532A","\u72AF\u7F6A","\u53E4\u88C5","\u5947\u5E7B","\u6B66\u4FA0","\u5192\u9669","\u67AA\u6218","\u6050\u6016","\u60AC\u7591","\u60CA\u609A","\u7ECF\u5178","\u9752\u6625","\u6587\u827A","\u5FAE\u7535\u5F71","\u5386\u53F2"]),Cbn=I0([["\u5168\u90E8",""],"\u7231\u60C5","\u6050\u6016","\u52A8\u4F5C","\u79D1\u5E7B","\u5267\u60C5","\u6218\u4E89","\u8B66\u532A","\u72AF\u7F6A","\u53E4\u88C5","\u5947\u5E7B","\u6B66\u4FA0","\u5192\u9669","\u67AA\u6218","\u6050\u6016","\u60AC\u7591","\u60CA\u609A","\u7ECF\u5178","\u9752\u6625","\u6587\u827A","\u5FAE\u7535\u5F71","\u5386\u53F2"]),xbn=I0([["\u5168\u90E8",""],"\u7537\u9891","\u5973\u9891","\u90FD\u5E02","\u751C\u5BA0","\u5E74\u4EE3","\u7A7F\u8D8A","\u53E4\u88C5","\u4EB2\u60C5","\u5947\u5E7B","\u840C\u5B9D","\u91CD\u751F","\u5192\u9669","\u9006\u88AD","\u8650\u604B","\u9274\u5B9D","\u590D\u4EC7","\u4FEE\u4ED9"]),wbn=I0([["\u5168\u90E8",""],"\u60C5\u611F","\u79D1\u5E7B","\u70ED\u8840","\u63A8\u7406","\u641E\u7B11","\u5192\u9669","\u841D\u8389","\u6821\u56ED","\u52A8\u4F5C","\u673A\u6218","\u8FD0\u52A8","\u6218\u4E89","\u5C11\u5E74","\u5C11\u5973","\u793E\u4F1A","\u539F\u521B","\u4EB2\u5B50","\u76CA\u667A","\u52B1\u5FD7","\u5176\u4ED6"]),hDe=I0([["\u5168\u90E8",""],"\u4E2D\u56FD\u5927\u9646","\u4E2D\u56FD\u9999\u6E2F","\u4E2D\u56FD\u53F0\u6E7E","\u7F8E\u56FD","\u897F\u73ED\u7259","\u6CD5\u56FD","\u82F1\u56FD","\u65E5\u672C","\u97E9\u56FD","\u6CF0\u56FD","\u5FB7\u56FD","\u5370\u5EA6","\u610F\u5927\u5229","\u52A0\u62FF\u5927","\u5176\u4ED6"]),Nbn=I0([["\u5168\u90E8",""],"\u4E2D\u56FD\u5927\u9646","\u65E5\u672C","\u7F8E\u56FD","\u82F1\u56FD","\u897F\u73ED\u7259","\u6CD5\u56FD","\u82F1\u56FD","\u5176\u4ED6"]),Obn=I0([["\u5168\u90E8",""],"\u4E2D\u56FD\u5927\u9646","\u4E2D\u56FD\u53F0\u6E7E","\u7F8E\u56FD","\u6CD5\u56FD","\u82F1\u56FD","\u65E5\u672C","\u97E9\u56FD"]),pw=I0([["\u5168\u90E8",""],"2026","2025","2024","2023","2022","2021","2020","2019","2018","2017","2016","2015","2014","2013","2012","2011","2010"]),Dbn=I0([["\u5168\u90E8",""],"2026","2025","2024","2023","2022","2021"]),ny=I0([["\u5168\u90E8",""],"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",["0-9","0"]]),sy=I0([["\u65F6\u95F4","time"],["\u4EBA\u6C14","hits"],["\u8BC4\u5206","score"]]),Pbn={1:[Nn("3",aHt),Nn("1",hDe),Nn("11",pw),Nn("5",ny),Nn("2",sy,"time")],2:[Nn("3",aHt),Nn("1",hDe),Nn("11",pw),Nn("5",ny),Nn("2",sy,"time")],44:[Nn("3",Cbn),Nn("1",hDe),Nn("11",pw),Nn("5",ny),Nn("2",sy,"time")],6:[Nn("3",xbn),Nn("11",Dbn),Nn("5",ny),Nn("2",sy,"time")],3:[Nn("3",wbn),Nn("1",Nbn),Nn("11",pw),Nn("5",ny),Nn("2",sy,"time")],4:[Nn("1",Obn),Nn("11",pw),Nn("5",ny),Nn("2",sy,"time")],46:[Nn("11",pw),Nn("5",ny),Nn("2",sy,"time")],5:[Nn("5",ny),Nn("2",sy,"time")]},Lbn={wogg:{class:Rbn,filters:Pbn}};EDe=class{constructor(){this.meta={key:nHt,name:"\u2601\uFE0F \u73A9\u5076",type:3}}async injectSource(t,r,n,s={}){let a=`${kbn(t)}/${sHt}/${r.key}/${n}`,o=await t.server.inject({method:"POST",url:a,payload:s});if(o.statusCode>=400)throw new Error(`${r.name} ${n} HTTP ${o.statusCode}`);return o.json()}resolveSourceTid(t,r){let n=String(r.cat||"").trim(),s=cHt(t),i=oHt(s);return{homeResult:s,classes:i,tid:n||String(i[0]?.type_id||"").trim()}}async home(t,r){let n={};for(let s of mw){let i=cHt(s),a=oHt(i),o=String(a[0]?.type_id||"").trim(),c=o?pDe(i,o):[],u=mDe(a,o,c);u.length>0&&(n[s.key]=u)}return{class:mw.map(s=>({type_id:s.key,type_name:s.name})),filters:n}}async category(t,r){let n=Number.parseInt(t.body?.page,10)>0?Number.parseInt(t.body.page,10):1,s=String(t.body?.id||"").trim(),i=iHt.get(s);if(!i)return _De(n);let a=Bbn(t.body),{homeResult:o,classes:c,tid:u}=this.resolveSourceTid(i,a);if(!u)return _De(n);let l={...a};delete l.cat;let d=pDe(o,u);try{let f=await this.injectSource(t,i,"category",{...t.body||{},id:u,filters:l,extend:l,ext:l});return{...f,page:f?.page||n,pagecount:f?.pagecount||n,list:Array.isArray(f?.list)?f.list.map(h=>gDe(i,h)):[],filter:mDe(c,u,d)}}catch(f){return console.warn(`[\u73A9\u5076\u805A\u5408] ${i.name} category \u5931\u8D25:`,f.message),{..._De(n),filter:mDe(c,u,pDe(o,u))}}}async detail(t,r){let n=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],s=new Map,i=new Array(n.length).fill(null);return n.forEach((a,o)=>{let c=Mbn(a),u=iHt.get(c.site);if(!u||!c.id){i[o]={vod_id:String(a||""),vod_name:"\u83B7\u53D6\u5931\u8D25",vod_remarks:"\u65E0\u6548\u7684\u805A\u5408\u8BE6\u60C5 ID"};return}s.has(u.key)||s.set(u.key,{source:u,items:[]}),s.get(u.key).items.push({index:o,id:c.id})}),await Promise.all(Array.from(s.values()).map(async({source:a,items:o})=>{try{let c=await this.injectSource(t,a,"detail",{...t.body||{},id:o.map(l=>l.id)}),u=Array.isArray(c?.list)?c.list:[];o.forEach((l,d)=>{let f=u[d];i[l.index]=f?gDe(a,f,{sourceId:l.id}):{vod_id:ADe(a.key,l.id),vod_name:"\u83B7\u53D6\u5931\u8D25",vod_remarks:`${a.name} \u8BE6\u60C5\u4E3A\u7A7A`}})}catch(c){console.warn(`[\u73A9\u5076\u805A\u5408] ${a.name} detail \u5931\u8D25:`,c.message),o.forEach(u=>{i[u.index]={vod_id:ADe(a.key,u.id),vod_name:"\u83B7\u53D6\u5931\u8D25",vod_remarks:`${a.name} \u8BE6\u60C5\u83B7\u53D6\u5931\u8D25`,vod_content:c.message}})}})),{list:i.filter(Boolean)}}async search(t,r){let n=Number.parseInt(t.body?.page,10)>0?Number.parseInt(t.body.page,10):1;if(!String(t.body?.wd||"").trim())return{page:n,pagecount:n,list:[]};let i=await Promise.all(mw.map(async c=>{try{let u=await this.injectSource(t,c,"search",t.body||{});return{source:c,result:u}}catch(u){return console.warn(`[\u73A9\u5076\u805A\u5408] ${c.name} search \u5931\u8D25:`,u.message),{source:c,result:{page:n,pagecount:n,list:[]}}}})),a=i.flatMap(({source:c,result:u})=>Array.isArray(u?.list)?u.list.map(l=>gDe(c,l,{withSiteRemark:!0})):[]),o=i.reduce((c,{result:u})=>Math.max(c,Number.parseInt(u?.pagecount,10)||n),n);return{page:n,pagecount:o,list:a}}async createApi(t){for(let r of mw)await t.register(r.spider.api,{prefix:`/${sHt}/${r.key}`});t.post("/init",$i),t.post("/home",async(r,n)=>n.send(await this.home(r,n))),t.post("/category",async(r,n)=>n.send(await this.category(r,n))),t.post("/detail",async(r,n)=>n.send(await this.detail(r,n))),t.post("/play",ti),t.post("/search",async(r,n)=>n.send(await this.search(r,n))),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",ws)}getExports(){return{meta:this.meta,api:async t=>this.createApi(t),check:async t=>(await Promise.allSettled(mw.map(n=>n.spider.check?.(t)))).some(n=>n.status==="fulfilled"&&n.value)?nHt:null}}},$bn=new EDe,qbn=$bn.getExports()});var hHt=S((IIs,fHt)=>{var dHt=Array.prototype.slice;fHt.exports=function(t,r){return function(){var n,s=arguments,i=s.length;return i!==0&&typeof s[i-1]!="function"&&(s=dHt.call(arguments),n=new Promise(function(a,o){s.push(function(c,u){c!=null?o(c):a(r!==void 0?r.apply(this,dHt.call(arguments,1)):u)})})),t.apply(this,s),n}}});var mHt=S((RIs,pHt)=>{pHt.exports={request:[["StructureSize",2,24],["Flags",2,0],["Reserved",4,0],["FileId",16]],response:[["StructureSize",2],["Flags",2],["Reserved",4],["CreationTime",8],["LastAccessTime",8],["LastWriteTime",8],["ChangeTime",8],["AllocationSize",8],["EndofFile",8],["FileAttributes",4]]}});var yc=S((CIs,gHt)=>{gHt.exports={FILE_SUPERSEDE:0,FILE_OPEN:1,FILE_CREATE:2,FILE_OPEN_IF:3,FILE_OVERWRITE:4,FILE_OVERWRITE_IF:5,MAX_READ_LENGTH:65536,MAX_WRITE_LENGTH:65423,FILE_SHARE_NONE:0,FILE_SHARE_READ:1,FILE_SHARE_WRITE:2,FILE_SHARE_DELETE:4,DELETE:65536,FILE_APPEND_DATA:4,FILE_DELETE_CHILD:64,FILE_READ_ATTRIBUTES:128,FILE_READ_DATA:1,FILE_READ_EA:8,FILE_WRITE_ATTRIBUTES:256,FILE_WRITE_DATA:2,FILE_WRITE_EA:16,READ_CONTROL:131072,SYNCHRONIZE:1048576,WRITE_DAC:262144,DIRECTORY:16}});var AHt=S((xIs,_Ht)=>{var Hbn=yc();_Ht.exports={request:[["StructureSize",2,57],["SecurityFlags",1,0],["RequestedOplockLevel",1,0],["ImpersonationLevel",4,2],["SmbCreateFlags",8,0],["Reserved",8,0],["DesiredAccess",4,1048705],["FileAttributes",4,0],["ShareAccess",4,7],["CreateDisposition",4,Hbn.FILE_OPEN],["CreateOptions",4,32],["NameOffset",2],["NameLength",2],["CreateContextsOffset",4],["CreateContextsLength",4],["Buffer","NameLength"],["Reserved2",2,16896],["CreateContexts","CreateContextsLength",""]],response:[["StructureSize",2],["OplockLevel",1],["Flags",1],["CreateAction",4],["CreationTime",8],["LastAccessTime",8],["LastWriteTime",8],["ChangeTime",8],["AllocationSize",8],["EndofFile",8],["FileAttributes",4],["Reserved2",4],["FileId",16],["CreateContextsOffset",4],["CreateContextsLength",4],["Buffer","CreateContextsLength"]]}});var yHt=S((wIs,EHt)=>{EHt.exports={request:[["StructureSize",2,36],["DialectCount",2,2],["SecurityMode",2,1],["Reserved",2,0],["Capabilities",4,0],["ClientGuid",16,0],["ClientStartTime",8,0],["Dialects",4,Buffer.from([2,2,16,2])]],response:[["StructureSize",2],["SecurityMode",2],["DialectRevision",2],["Reserved",2],["ServerGuid",16],["Capabilities",4],["MaxTransactSize",4],["MaxReadSize",4],["MaxWriteSize",4],["SystemTime",8],["ServerStartTime",8],["SecurityBufferOffset",2],["SecurityBufferLength",2],["Reserved2",4],["Buffer","SecurityBufferLength"]]}});var SHt=S((NIs,vHt)=>{vHt.exports={request:[["StructureSize",2,33],["FileInformationClass",1,37],["Flags",1,0],["FileIndex",4,0],["FileId",16],["FileNameOffset",2,96],["FileNameLength",2],["OutputBufferLength",4,65536],["Buffer","FileNameLength"]],response:[["StructureSize",2],["OutputBufferOffset",2],["OutputBufferLength",4],["Buffer","OutputBufferLength"]]}});var bHt=S((OIs,THt)=>{THt.exports={request:[["StructureSize",2,49],["Padding",1,80],["Flags",1,0],["Length",4],["Offset",8],["FileId",16],["MinimumCount",4,0],["Channel",4,0],["RemainingBytes",4,0],["ReadChannelInfoOffset",2,0],["ReadChannelInfoLength",2,0],["Buffer",1,0]],response:[["StructureSize",2],["DataOffset",1],["Reserved",1],["DataLength",4],["DataRemaining",4],["Reserved2",4],["Buffer","DataLength"]]}});var RHt=S((DIs,IHt)=>{IHt.exports={request:[["StructureSize",2,25],["Flags",1,0],["SecurityMode",1,1],["Capabilities",4,1],["Channel",4,0],["SecurityBufferOffset",2,88],["SecurityBufferLength",2],["PreviousSessionId",8,0],["Buffer","SecurityBufferLength"]],response:[["StructureSize",2],["SessionFlags",2],["SecurityBufferOffset",2],["SecurityBufferLength",2],["Buffer","SecurityBufferLength"]]}});var xHt=S((PIs,CHt)=>{CHt.exports={request:[["StructureSize",2,33],["InfoType",1,1],["FileInfoClass",1],["BufferLength",4],["BufferOffset",2,96],["Reserved",2,0],["AdditionalInformation",4,0],["FileId",16],["Buffer","BufferLength"]],response:[["StructureSize",2]]}});var NHt=S((LIs,wHt)=>{wHt.exports={request:[["StructureSize",2,9],["Reserved",2,0],["PathOffset",2,72],["PathLength",2],["Buffer","PathLength"]],response:[["StructureSize",2],["ShareType",1],["Reserved",1],["ShareFlags",4],["Capabilities",4],["MaximalAccess",4]]}});var DHt=S((MIs,OHt)=>{OHt.exports={request:[["StructureSize",2,49],["DataOffset",2,112],["Length",4,0],["Offset",8],["FileId",16],["Channel",4,0],["RemainingBytes",4,0],["WriteChannelInfoOffset",2,0],["WriteChannelInfoLength",2,0],["Flags",4,0],["Buffer","Length"]],response:[["StructureSize",2],["Reserved",2],["Count",4],["Remaining",4],["WriteChannelInfoOffset",2],["WriteChannelInfoLength",2]]}});var eu=S((kIs,qHt)=>{var PHt={close:mHt(),create:AHt(),negotiate:yHt(),query_directory:SHt(),read:bHt(),session_setup:RHt(),set_info:xHt(),tree_connect:NHt(),write:DHt()},LHt=Buffer.from([254,83,77,66]),gw={Command:{NEGOTIATE:0,SESSION_SETUP:1,LOGOFF:2,TREE_CONNECT:3,TREE_DISCONNECT:4,CREATE:5,CLOSE:6,FLUSH:7,READ:8,WRITE:9,LOCK:10,IOCTL:11,CANCEL:12,ECHO:13,QUERY_DIRECTORY:14,CHANGE_NOTIFY:15,QUERY_INFO:16,SET_INFO:17,OPLOCK_BREAK:18}},WQ=64,MHt=function(e,t){return[["ProtocolId",4,LHt],["StructureSize",2,WQ],["CreditCharge",2,0],["Status",4,0],["Command",2],["Credit",2,126],["Flags",4,0],["NextCommand",4,0],["MessageId",4],["MessageIdHigh",4,0],["ProcessId",4,e],["TreeId",4,0],["SessionId",8,t],["Signature",16,0]]},kHt=function(e,t){return[["ProtocolId",4,LHt],["StructureSize",2,WQ],["CreditCharge",2,0],["Status",4,0],["Command",2],["Credit",2,126],["Flags",4,0],["NextCommand",4,0],["MessageId",4],["MessageIdHigh",4,0],["AsyncId",8],["SessionId",8,t],["Signature",16,0]]},Vbn=qHt.exports=function(e){this.headers={},e&&e.headers&&this.setHeaders(e.headers),this.request={},e&&e.request&&this.setRequest(e.request),this.response={}},_w=Vbn.prototype={};_w.setHeaders=function(e){for(var t in e)this.headers[t]=e[t];if(this.structure=PHt[this.headers.Command.toLowerCase()],!this.structure)throw new Error("Unknown SMB2 structure: "+this.headers.Command)};_w.getHeaders=function(){return this.headers};_w.setRequest=function(e){this.request=e};_w.getResponse=function(){return this.response};_w.getBuffer=function(e){var t=Buffer.allocUnsafe(65535),r=0;this.isMessageIdSetted||(this.isMessageIdSetted=!0,this.headers.MessageId=e.messageId++),r+=Qbn(this,t),r+=$Ht(this,t,WQ);var n=Buffer.allocUnsafe(r);return t.copy(n,0,0,r),n};_w.parseBuffer=function(e){Ybn(this,e),zbn(this,e,WQ)};function jbn(e,t){if(Buffer.isBuffer(e))return e;if(typeof e=="string")return Buffer.from(e);for(var r=Buffer.allocUnsafe(t),n=0;n>n*8,n);return r}function BHt(e){if(!Buffer.isBuffer(e))return e;for(var t=0,r=0;r{HHt.exports={getStatus:function(e){var t="0x"+("00000000"+e.toString(16)).toUpperCase().substr(-8),r=Jbn[t]||Zbn[t]||{code:"ERROR_UNRECOGNIZED",message:"Unrecognized error"};r.value=e,r.valueHex=t;var n=e>>16&2047;r.facility=Xbn[n]||{code:"FACILITY_UNRECOGNIZED",message:"Unrecognized facility"},r.facility.value=n;var s=e>>30&3;return r.severity=Wbn[s]||{code:"STATUS_UNRECOGNIZED",message:"Unrecognized status"},r.severity.value=s,r},getErrorMessage:function(e){return e.code+" ("+e.valueHex+") : "+e.message}};var Wbn={0:{code:"STATUS_SEVERITY_SUCCESS",message:"Success"},1:{code:"STATUS_SEVERITY_INFORMATIONAL",message:"Informational"},2:{code:"STATUS_SEVERITY_WARNING",message:"Warning"},3:{code:"STATUS_SEVERITY_ERROR",message:"Error"}},Xbn={0:{code:"FACILITY_NULL",message:"The default facility code."},1:{code:"FACILITY_RPC",message:"The source of the error code is an RPC subsystem."},2:{code:"FACILITY_DISPATCH",message:"The source of the error code is a COM Dispatch."},3:{code:"FACILITY_STORAGE",message:"The source of the error code is OLE Storage."},4:{code:"FACILITY_ITF",message:"The source of the error code is COM/OLE Interface management."},7:{code:"FACILITY_WIN32",message:"This region is reserved to map undecorated error codes into HRESULTs."},8:{code:"FACILITY_WINDOWS",message:"The source of the error code is the Windows subsystem."},9:{code:"FACILITY_SECURITY",message:"The source of the error code is the Security API layer."},10:{code:"FACILITY_CONTROL",message:"The source of the error code is the control mechanism."},11:{code:"FACILITY_CERT",message:"The source of the error code is a certificate client or server?"},12:{code:"FACILITY_INTERNET",message:"The source of the error code is Wininet related."},13:{code:"FACILITY_MEDIASERVER",message:"The source of the error code is the Windows Media Server."},14:{code:"FACILITY_MSMQ",message:"The source of the error code is the Microsoft Message Queue."},15:{code:"FACILITY_SETUPAPI",message:"The source of the error code is the Setup API."},16:{code:"FACILITY_SCARD",message:"The source of the error code is the Smart-card subsystem."},17:{code:"FACILITY_COMPLUS",message:"The source of the error code is COM+."},18:{code:"FACILITY_AAF",message:"The source of the error code is the Microsoft agent."},19:{code:"FACILITY_URT",message:"The source of the error code is .NET CLR."},20:{code:"FACILITY_ACS",message:"The source of the error code is the audit collection service."},21:{code:"FACILITY_DPLAY",message:"The source of the error code is Direct Play."},22:{code:"FACILITY_UMI",message:"The source of the error code is the ubiquitous memoryintrospection service."},23:{code:"FACILITY_SXS",message:"The source of the error code is Side-by-side servicing."},24:{code:"FACILITY_WINDOWS_CE",message:"The error code is specific to Windows CE."},25:{code:"FACILITY_HTTP",message:"The source of the error code is HTTP support."},26:{code:"FACILITY_USERMODE_COMMONLOG",message:"The source of the error code is common Logging support."},31:{code:"FACILITY_USERMODE_FILTER_MANAGER",message:"The source of the error code is the user mode filter manager."},32:{code:"FACILITY_BACKGROUNDCOPY",message:"The source of the error code is background copy control"},33:{code:"FACILITY_CONFIGURATION",message:"The source of the error code is configuration services."},34:{code:"FACILITY_STATE_MANAGEMENT",message:"The source of the error code is state management services."},35:{code:"FACILITY_METADIRECTORY",message:"The source of the error code is the Microsoft Identity Server."},36:{code:"FACILITY_WINDOWSUPDATE",message:"The source of the error code is a Windows update."},37:{code:"FACILITY_DIRECTORYSERVICE",message:"The source of the error code is Active Directory."},38:{code:"FACILITY_GRAPHICS",message:"The source of the error code is the graphics drivers."},39:{code:"FACILITY_SHELL",message:"The source of the error code is the user Shell."},40:{code:"FACILITY_TPM_SERVICES",message:"The source of the error code is the Trusted Platform Module services."},41:{code:"FACILITY_TPM_SOFTWARE",message:"The source of the error code is the Trusted Platform Module applications."},48:{code:"FACILITY_PLA",message:"The source of the error code is Performance Logs and Alerts"},49:{code:"FACILITY_FVE",message:"The source of the error code is Full volume encryption."},50:{code:"FACILITY_FWP",message:"he source of the error code is the Firewall Platform."},51:{code:"FACILITY_WINRM",message:"The source of the error code is the Windows Resource Manager."},52:{code:"FACILITY_NDIS",message:"The source of the error code is the Network Driver Interface."},53:{code:"FACILITY_USERMODE_HYPERVISOR",message:"The source of the error code is the Usermode Hypervisor components."},54:{code:"FACILITY_CMI",message:"The source of the error code is the Configuration Management Infrastructure."},55:{code:"FACILITY_USERMODE_VIRTUALIZATION",message:"The source of the error code is the user mode virtualization subsystem."},56:{code:"FACILITY_USERMODE_VOLMGR",message:"The source of the error code is the user mode volume manager"},57:{code:"FACILITY_BCD",message:"The source of the error code is the Boot Configuration Database."},58:{code:"FACILITY_USERMODE_VHD",message:"The source of the error code is user mode virtual hard disk support."},60:{code:"FACILITY_SDIAG",message:"The source of the error code is System Diagnostics."},61:{code:"FACILITY_WEBSERVICES",message:"The source of the error code is the Web Services."},80:{code:"FACILITY_WINDOWS_DEFENDER",message:"The source of the error code is a Windows Defender component."},81:{code:"FACILITY_OPC",message:"The source of the error code is the open connectivity service."}},Jbn={"0x00000000":{code:"STATUS_SUCCESS",message:"The operation completed successfully."},"0x00000001":{code:"STATUS_WAIT_1",message:"The caller specified WaitAny for WaitType and one of the dispatcher objects in the Object array has been set to the signaled state."},"0x00000002":{code:"STATUS_WAIT_2",message:"The caller specified WaitAny for WaitType and one of the dispatcher objects in the Object array has been set to the signaled state."},"0x00000003":{code:"STATUS_WAIT_3",message:"The caller specified WaitAny for WaitType and one of the dispatcher objects in the Object array has been set to the signaled state."},"0x0000003F":{code:"STATUS_WAIT_63",message:"The caller specified WaitAny for WaitType and one of the dispatcher objects in the Object array has been set to the signaled state."},"0x00000080":{code:"STATUS_ABANDONED",message:"The caller attempted to wait for a mutex that has been abandoned."},"0x000000BF":{code:"STATUS_ABANDONED_WAIT_63",message:"The caller attempted to wait for a mutex that has been abandoned."},"0x000000C0":{code:"STATUS_USER_APC",message:"A user-mode APC was delivered before the given Interval expired."},"0x00000101":{code:"STATUS_ALERTED",message:"The delay completed because the thread was alerted."},"0x00000102":{code:"STATUS_TIMEOUT",message:"The given Timeout interval expired."},"0x00000103":{code:"STATUS_PENDING",message:"The operation that was requested is pending completion."},"0x00000104":{code:"STATUS_REPARSE",message:"A reparse should be performed by the Object Manager because the name of the file resulted in a symbolic link."},"0x00000105":{code:"STATUS_MORE_ENTRIES",message:"Returned by enumeration APIs to indicate more information is available to successive calls."},"0x00000106":{code:"STATUS_NOT_ALL_ASSIGNED",message:"Indicates not all privileges or groups that are referenced are assigned to the caller. This allows, for example, all privileges to be disabled without having to know exactly which privileges are assigned."},"0x00000107":{code:"STATUS_SOME_NOT_MAPPED",message:"Some of the information to be translated has not been translated."},"0x00000108":{code:"STATUS_OPLOCK_BREAK_IN_PROGRESS",message:"An open/create operation completed while an opportunistic lock (oplock) break is underway."},"0x00000109":{code:"STATUS_VOLUME_MOUNTED",message:"A new volume has been mounted by a file system."},"0x0000010A":{code:"STATUS_RXACT_COMMITTED",message:"This success level status indicates that the transaction state already exists for the registry subtree but that a transaction commit was previously aborted. The commit has now been completed."},"0x0000010B":{code:"STATUS_NOTIFY_CLEANUP",message:"Indicates that a notify change request has been completed due to closing the handle that made the notify change request."},"0x0000010C":{code:"STATUS_NOTIFY_ENUM_DIR",message:"Indicates that a notify change request is being completed and that the information is not being returned in the caller's buffer. The caller now needs to enumerate the files to find the changes."},"0x0000010D":{code:"STATUS_NO_QUOTAS_FOR_ACCOUNT",message:"{No Quotas} No system quota limits are specifically set for this account."},"0x0000010E":{code:"STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED",message:"{Connect Failure on Primary Transport} An attempt was made to connect to the remote server %hs on the primary transport, but the connection failed. The computer WAS able to connect on a secondary transport."},"0x00000110":{code:"STATUS_PAGE_FAULT_TRANSITION",message:"The page fault was a transition fault."},"0x00000111":{code:"STATUS_PAGE_FAULT_DEMAND_ZERO",message:"The page fault was a demand zero fault."},"0x00000112":{code:"STATUS_PAGE_FAULT_COPY_ON_WRITE",message:"The page fault was a demand zero fault."},"0x00000113":{code:"STATUS_PAGE_FAULT_GUARD_PAGE",message:"The page fault was a demand zero fault."},"0x00000114":{code:"STATUS_PAGE_FAULT_PAGING_FILE",message:"The page fault was satisfied by reading from a secondary storage device."},"0x00000115":{code:"STATUS_CACHE_PAGE_LOCKED",message:"The cached page was locked during operation."},"0x00000116":{code:"STATUS_CRASH_DUMP",message:"The crash dump exists in a paging file."},"0x00000117":{code:"STATUS_BUFFER_ALL_ZEROS",message:"The specified buffer contains all zeros."},"0x00000118":{code:"STATUS_REPARSE_OBJECT",message:"A reparse should be performed by the Object Manager because the name of the file resulted in a symbolic link."},"0x00000119":{code:"STATUS_RESOURCE_REQUIREMENTS_CHANGED",message:"The device has succeeded a query-stop and its resource requirements have changed."},"0x00000120":{code:"STATUS_TRANSLATION_COMPLETE",message:"The translator has translated these resources into the global space and no additional translations should be performed."},"0x00000121":{code:"STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY",message:"The directory service evaluated group memberships locally, because it was unable to contact a global catalog server."},"0x00000122":{code:"STATUS_NOTHING_TO_TERMINATE",message:"A process being terminated has no threads to terminate."},"0x00000123":{code:"STATUS_PROCESS_NOT_IN_JOB",message:"The specified process is not part of a job."},"0x00000124":{code:"STATUS_PROCESS_IN_JOB",message:"The specified process is part of a job."},"0x00000125":{code:"STATUS_VOLSNAP_HIBERNATE_READY",message:"{Volume Shadow Copy Service} The system is now ready for hibernation."},"0x00000126":{code:"STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY",message:"A file system or file system filter driver has successfully completed an FsFilter operation."},"0x00000127":{code:"STATUS_INTERRUPT_VECTOR_ALREADY_CONNECTED",message:"The specified interrupt vector was already connected."},"0x00000128":{code:"STATUS_INTERRUPT_STILL_CONNECTED",message:"The specified interrupt vector is still connected."},"0x00000129":{code:"STATUS_PROCESS_CLONED",message:"The current process is a cloned process."},"0x0000012A":{code:"STATUS_FILE_LOCKED_WITH_ONLY_READERS",message:"The file was locked and all users of the file can only read."},"0x0000012B":{code:"STATUS_FILE_LOCKED_WITH_WRITERS",message:"The file was locked and at least one user of the file can write."},"0x00000202":{code:"STATUS_RESOURCEMANAGER_READ_ONLY",message:"The specified ResourceManager made no changes or updates to the resource under this transaction."},"0x00000367":{code:"STATUS_WAIT_FOR_OPLOCK",message:"An operation is blocked and waiting for an oplock."},"0x00010001":{code:"DBG_EXCEPTION_HANDLED",message:"Debugger handled the exception."},"0x00010002":{code:"DBG_CONTINUE",message:"The debugger continued."},"0x001C0001":{code:"STATUS_FLT_IO_COMPLETE",message:"The IO was completed by a filter."},"0xC0000467":{code:"STATUS_FILE_NOT_AVAILABLE",message:"The file is temporarily unavailable."},"0xC0000721":{code:"STATUS_CALLBACK_RETURNED_THREAD_AFFINITY",message:`A threadpool worker thread entered a callback at thread affinity %p and exited at affinity %p. +This is unexpected, indicating that the callback missed restoring the priority.`},"0x40000000":{code:"STATUS_OBJECT_NAME_EXISTS",message:"{Object Exists} An attempt was made to create an object but the object name already exists."},"0x40000001":{code:"STATUS_THREAD_WAS_SUSPENDED",message:"{Thread Suspended} A thread termination occurred while the thread was suspended. The thread resumed, and termination proceeded."},"0x40000002":{code:"STATUS_WORKING_SET_LIMIT_RANGE",message:"{Working Set Range Error} An attempt was made to set the working set minimum or maximum to values that are outside the allowable range."},"0x40000003":{code:"STATUS_IMAGE_NOT_AT_BASE",message:"{Image Relocated} An image file could not be mapped at the address that is specified in the image file. Local fixes must be performed on this image."},"0x40000004":{code:"STATUS_RXACT_STATE_CREATED",message:"This informational level status indicates that a specified registry subtree transaction state did not yet exist and had to be created."},"0x40000005":{code:"STATUS_SEGMENT_NOTIFICATION",message:"{Segment Load} A virtual DOS machine (VDM) is loading, unloading, or moving an MS-DOS or Win16 program segment image. An exception is raised so that a debugger can load, unload, or track symbols and breakpoints within these 16-bit segments."},"0x40000006":{code:"STATUS_LOCAL_USER_SESSION_KEY",message:"{Local Session Key} A user session key was requested for a local remote procedure call (RPC) connection. The session key that is returned is a constant value and not unique to this connection."},"0x40000007":{code:"STATUS_BAD_CURRENT_DIRECTORY",message:"{Invalid Current Directory} The process cannot switch to the startup current directory %hs. Select OK to set the current directory to %hs, or select CANCEL to exit."},"0x40000008":{code:"STATUS_SERIAL_MORE_WRITES",message:"{Serial IOCTL Complete} A serial I/O operation was completed by another write to a serial port. (The IOCTL_SERIAL_XOFF_COUNTER reached zero.)"},"0x40000009":{code:"STATUS_REGISTRY_RECOVERED",message:"{Registry Recovery} One of the files that contains the system registry data had to be recovered by using a log or alternate copy. The recovery was successful."},"0x4000000A":{code:"STATUS_FT_READ_RECOVERY_FROM_BACKUP",message:"{Redundant Read} To satisfy a read request, the Windows NT fault-tolerant file system successfully read the requested data from a redundant copy. This was done because the file system encountered a failure on a member of the fault-tolerant volume but was unable to reassign the failing area of the device."},"0x4000000B":{code:"STATUS_FT_WRITE_RECOVERY",message:"{Redundant Write} To satisfy a write request, the Windows NT fault-tolerant file system successfully wrote a redundant copy of the information. This was done because the file system encountered a failure on a member of the fault-tolerant volume but was unable to reassign the failing area of the device."},"0x4000000C":{code:"STATUS_SERIAL_COUNTER_TIMEOUT",message:"{Serial IOCTL Timeout} A serial I/O operation completed because the time-out period expired. (The IOCTL_SERIAL_XOFF_COUNTER had not reached zero.)"},"0x4000000D":{code:"STATUS_NULL_LM_PASSWORD",message:"{Password Too Complex} The Windows password is too complex to be converted to a LAN Manager password. The LAN Manager password that returned is a NULL string."},"0x4000000E":{code:"STATUS_IMAGE_MACHINE_TYPE_MISMATCH",message:"{Machine Type Mismatch} The image file %hs is valid but is for a machine type other than the current machine. Select OK to continue, or CANCEL to fail the DLL load."},"0x4000000F":{code:"STATUS_RECEIVE_PARTIAL",message:"{Partial Data Received} The network transport returned partial data to its client. The remaining data will be sent later."},"0x40000010":{code:"STATUS_RECEIVE_EXPEDITED",message:"{Expedited Data Received} The network transport returned data to its client that was marked as expedited by the remote system."},"0x40000011":{code:"STATUS_RECEIVE_PARTIAL_EXPEDITED",message:"{Partial Expedited Data Received} The network transport returned partial data to its client and this data was marked as expedited by the remote system. The remaining data will be sent later."},"0x40000012":{code:"STATUS_EVENT_DONE",message:"{TDI Event Done} The TDI indication has completed successfully."},"0x40000013":{code:"STATUS_EVENT_PENDING",message:"{TDI Event Pending} The TDI indication has entered the pending state."},"0x40000014":{code:"STATUS_CHECKING_FILE_SYSTEM",message:"Checking file system on %wZ."},"0x40000015":{code:"STATUS_FATAL_APP_EXIT",message:"{Fatal Application Exit} %hs"},"0x40000016":{code:"STATUS_PREDEFINED_HANDLE",message:"The specified registry key is referenced by a predefined handle."},"0x40000017":{code:"STATUS_WAS_UNLOCKED",message:"{Page Unlocked} The page protection of a locked page was changed to 'No Access' and the page was unlocked from memory and from the process."},"0x40000018":{code:"STATUS_SERVICE_NOTIFICATION",message:"%hs"},"0x40000019":{code:"STATUS_WAS_LOCKED",message:"{Page Locked} One of the pages to lock was already locked."},"0x4000001A":{code:"STATUS_LOG_HARD_ERROR",message:"Application popup: %1 : %2"},"0x4000001B":{code:"STATUS_ALREADY_WIN32",message:"A Win32 process already exists."},"0x4000001C":{code:"STATUS_WX86_UNSIMULATE",message:"An exception status code that is used by the Win32 x86 emulation subsystem."},"0x4000001D":{code:"STATUS_WX86_CONTINUE",message:"An exception status code that is used by the Win32 x86 emulation subsystem."},"0x4000001E":{code:"STATUS_WX86_SINGLE_STEP",message:"An exception status code that is used by the Win32 x86 emulation subsystem."},"0x4000001F":{code:"STATUS_WX86_BREAKPOINT",message:"An exception status code that is used by the Win32 x86 emulation subsystem."},"0x40000020":{code:"STATUS_WX86_EXCEPTION_CONTINUE",message:"An exception status code that is used by the Win32 x86 emulation subsystem."},"0x40000021":{code:"STATUS_WX86_EXCEPTION_LASTCHANCE",message:"An exception status code that is used by the Win32 x86 emulation subsystem."},"0x40000022":{code:"STATUS_WX86_EXCEPTION_CHAIN",message:"An exception status code that is used by the Win32 x86 emulation subsystem."},"0x40000023":{code:"STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE",message:"{Machine Type Mismatch} The image file %hs is valid but is for a machine type other than the current machine."},"0x40000024":{code:"STATUS_NO_YIELD_PERFORMED",message:"A yield execution was performed and no thread was available to run."},"0x40000025":{code:"STATUS_TIMER_RESUME_IGNORED",message:"The resume flag to a timer API was ignored."},"0x40000026":{code:"STATUS_ARBITRATION_UNHANDLED",message:"The arbiter has deferred arbitration of these resources to its parent."},"0x40000027":{code:"STATUS_CARDBUS_NOT_SUPPORTED",message:"The device has detected a CardBus card in its slot."},"0x40000028":{code:"STATUS_WX86_CREATEWX86TIB",message:"An exception status code that is used by the Win32 x86 emulation subsystem."},"0x40000029":{code:"STATUS_MP_PROCESSOR_MISMATCH",message:"The CPUs in this multiprocessor system are not all the same revision level. To use all processors, the operating system restricts itself to the features of the least capable processor in the system. If problems occur with this system, contact the CPU manufacturer to see if this mix of processors is supported."},"0x4000002A":{code:"STATUS_HIBERNATED",message:"The system was put into hibernation."},"0x4000002B":{code:"STATUS_RESUME_HIBERNATION",message:"The system was resumed from hibernation."},"0x4000002C":{code:"STATUS_FIRMWARE_UPDATED",message:"Windows has detected that the system firmware (BIOS) was updated [previous firmware date = %2, current firmware date %3]."},"0x4000002D":{code:"STATUS_DRIVERS_LEAKING_LOCKED_PAGES",message:"A device driver is leaking locked I/O pages and is causing system degradation. The system has automatically enabled the tracking code to try and catch the culprit."},"0x4000002E":{code:"STATUS_MESSAGE_RETRIEVED",message:"The ALPC message being canceled has already been retrieved from the queue on the other side."},"0x4000002F":{code:"STATUS_SYSTEM_POWERSTATE_TRANSITION",message:"The system power state is transitioning from %2 to %3."},"0x40000030":{code:"STATUS_ALPC_CHECK_COMPLETION_LIST",message:"The receive operation was successful. Check the ALPC completion list for the received message."},"0x40000031":{code:"STATUS_SYSTEM_POWERSTATE_COMPLEX_TRANSITION",message:"The system power state is transitioning from %2 to %3 but could enter %4."},"0x40000032":{code:"STATUS_ACCESS_AUDIT_BY_POLICY",message:"Access to %1 is monitored by policy rule %2."},"0x40000033":{code:"STATUS_ABANDON_HIBERFILE",message:"A valid hibernation file has been invalidated and should be abandoned."},"0x40000034":{code:"STATUS_BIZRULES_NOT_ENABLED",message:"Business rule scripts are disabled for the calling application."},"0x40000294":{code:"STATUS_WAKE_SYSTEM",message:"The system has awoken."},"0x40000370":{code:"STATUS_DS_SHUTTING_DOWN",message:"The directory service is shutting down."},"0x40010001":{code:"DBG_REPLY_LATER",message:"Debugger will reply later."},"0x40010002":{code:"DBG_UNABLE_TO_PROVIDE_HANDLE",message:"Debugger cannot provide a handle."},"0x40010003":{code:"DBG_TERMINATE_THREAD",message:"Debugger terminated the thread."},"0x40010004":{code:"DBG_TERMINATE_PROCESS",message:"Debugger terminated the process."},"0x40010005":{code:"DBG_CONTROL_C",message:"Debugger obtained control of C."},"0x40010006":{code:"DBG_PRINTEXCEPTION_C",message:"Debugger printed an exception on control C."},"0x40010007":{code:"DBG_RIPEXCEPTION",message:"Debugger received a RIP exception."},"0x40010008":{code:"DBG_CONTROL_BREAK",message:"Debugger received a control break."},"0x40010009":{code:"DBG_COMMAND_EXCEPTION",message:"Debugger command communication exception."},"0x40020056":{code:"RPC_NT_UUID_LOCAL_ONLY",message:"A UUID that is valid only on this computer has been allocated."},"0x400200AF":{code:"RPC_NT_SEND_INCOMPLETE",message:"Some data remains to be sent in the request buffer."},"0x400A0004":{code:"STATUS_CTX_CDM_CONNECT",message:"The Client Drive Mapping Service has connected on Terminal Connection."},"0x400A0005":{code:"STATUS_CTX_CDM_DISCONNECT",message:"The Client Drive Mapping Service has disconnected on Terminal Connection."},"0x4015000D":{code:"STATUS_SXS_RELEASE_ACTIVATION_CONTEXT",message:"A kernel mode component is releasing a reference on an activation context."},"0x40190034":{code:"STATUS_RECOVERY_NOT_NEEDED",message:"The transactional resource manager is already consistent. Recovery is not needed."},"0x40190035":{code:"STATUS_RM_ALREADY_STARTED",message:"The transactional resource manager has already been started."},"0x401A000C":{code:"STATUS_LOG_NO_RESTART",message:"The log service encountered a log stream with no restart area."},"0x401B00EC":{code:"STATUS_VIDEO_DRIVER_DEBUG_REPORT_REQUEST",message:"{Display Driver Recovered From Failure} The %hs display driver has detected a failure and recovered from it. Some graphical operations may have failed. The next time you restart the machine, a dialog box appears, giving you an opportunity to upload data about this failure to Microsoft."},"0x401E000A":{code:"STATUS_GRAPHICS_PARTIAL_DATA_POPULATED",message:`The specified buffer is not big enough to contain the entire requested dataset. Partial data is populated up to the size of the buffer. +The caller needs to provide a buffer of the size as specified in the partially populated buffer's content (interface specific).`},"0x401E0117":{code:"STATUS_GRAPHICS_DRIVER_MISMATCH",message:"The kernel driver detected a version mismatch between it and the user mode driver."},"0x401E0307":{code:"STATUS_GRAPHICS_MODE_NOT_PINNED",message:"No mode is pinned on the specified VidPN source/target."},"0x401E031E":{code:"STATUS_GRAPHICS_NO_PREFERRED_MODE",message:"The specified mode set does not specify a preference for one of its modes."},"0x401E034B":{code:"STATUS_GRAPHICS_DATASET_IS_EMPTY",message:"The specified dataset (for example, mode set, frequency range set, descriptor set, or topology) is empty."},"0x401E034C":{code:"STATUS_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET",message:"The specified dataset (for example, mode set, frequency range set, descriptor set, or topology) does not contain any more elements."},"0x401E0351":{code:"STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED",message:"The specified content transformation is not pinned on the specified VidPN present path."},"0x401E042F":{code:"STATUS_GRAPHICS_UNKNOWN_CHILD_STATUS",message:"The child device presence was not reliably detected."},"0x401E0437":{code:"STATUS_GRAPHICS_LEADLINK_START_DEFERRED",message:"Starting the lead adapter in a linked configuration has been temporarily deferred."},"0x401E0439":{code:"STATUS_GRAPHICS_POLLING_TOO_FREQUENTLY",message:"The display adapter is being polled for children too frequently at the same polling level."},"0x401E043A":{code:"STATUS_GRAPHICS_START_DEFERRED",message:"Starting the adapter has been temporarily deferred."},"0x40230001":{code:"STATUS_NDIS_INDICATION_REQUIRED",message:"The request will be completed later by an NDIS status indication."},"0x80000001":{code:"STATUS_GUARD_PAGE_VIOLATION",message:"{EXCEPTION} Guard Page Exception A page of memory that marks the end of a data structure, such as a stack or an array, has been accessed."},"0x80000002":{code:"STATUS_DATATYPE_MISALIGNMENT",message:"{EXCEPTION} Alignment Fault A data type misalignment was detected in a load or store instruction."},"0x80000003":{code:"STATUS_BREAKPOINT",message:"{EXCEPTION} Breakpoint A breakpoint has been reached."},"0x80000004":{code:"STATUS_SINGLE_STEP",message:"{EXCEPTION} Single Step A single step or trace operation has just been completed."},"0x80000005":{code:"STATUS_BUFFER_OVERFLOW",message:"{Buffer Overflow} The data was too large to fit into the specified buffer."},"0x80000006":{code:"STATUS_NO_MORE_FILES",message:"{No More Files} No more files were found which match the file specification."},"0x80000007":{code:"STATUS_WAKE_SYSTEM_DEBUGGER",message:"{Kernel Debugger Awakened} The system debugger was awakened by an interrupt."},"0x8000000A":{code:"STATUS_HANDLES_CLOSED",message:"{Handles Closed} Handles to objects have been automatically closed because of the requested operation."},"0x8000000B":{code:"STATUS_NO_INHERITANCE",message:"{Non-Inheritable ACL} An access control list (ACL) contains no components that can be inherited."},"0x8000000C":{code:"STATUS_GUID_SUBSTITUTION_MADE",message:"{GUID Substitution} During the translation of a globally unique identifier (GUID) to a Windows security ID (SID), no administratively defined GUID prefix was found. A substitute prefix was used, which will not compromise system security. However, this may provide a more restrictive access than intended."},"0x8000000D":{code:"STATUS_PARTIAL_COPY",message:"Because of protection conflicts, not all the requested bytes could be copied."},"0x8000000E":{code:"STATUS_DEVICE_PAPER_EMPTY",message:"{Out of Paper} The printer is out of paper."},"0x8000000F":{code:"STATUS_DEVICE_POWERED_OFF",message:"{Device Power Is Off} The printer power has been turned off."},"0x80000010":{code:"STATUS_DEVICE_OFF_LINE",message:"{Device Offline} The printer has been taken offline."},"0x80000011":{code:"STATUS_DEVICE_BUSY",message:"{Device Busy} The device is currently busy."},"0x80000012":{code:"STATUS_NO_MORE_EAS",message:"{No More EAs} No more extended attributes (EAs) were found for the file."},"0x80000013":{code:"STATUS_INVALID_EA_NAME",message:"{Illegal EA} The specified extended attribute (EA) name contains at least one illegal character."},"0x80000014":{code:"STATUS_EA_LIST_INCONSISTENT",message:"{Inconsistent EA List} The extended attribute (EA) list is inconsistent."},"0x80000015":{code:"STATUS_INVALID_EA_FLAG",message:"{Invalid EA Flag} An invalid extended attribute (EA) flag was set."},"0x80000016":{code:"STATUS_VERIFY_REQUIRED",message:"{Verifying Disk} The media has changed and a verify operation is in progress; therefore, no reads or writes may be performed to the device, except those that are used in the verify operation."},"0x80000017":{code:"STATUS_EXTRANEOUS_INFORMATION",message:"{Too Much Information} The specified access control list (ACL) contained more information than was expected."},"0x80000018":{code:"STATUS_RXACT_COMMIT_NECESSARY",message:"This warning level status indicates that the transaction state already exists for the registry subtree, but that a transaction commit was previously aborted. The commit has NOT been completed but has not been rolled back either; therefore, it may still be committed, if needed."},"0x8000001A":{code:"STATUS_NO_MORE_ENTRIES",message:"{No More Entries} No more entries are available from an enumeration operation."},"0x8000001B":{code:"STATUS_FILEMARK_DETECTED",message:"{Filemark Found} A filemark was detected."},"0x8000001C":{code:"STATUS_MEDIA_CHANGED",message:"{Media Changed} The media may have changed."},"0x8000001D":{code:"STATUS_BUS_RESET",message:"{I/O Bus Reset} An I/O bus reset was detected."},"0x8000001E":{code:"STATUS_END_OF_MEDIA",message:"{End of Media} The end of the media was encountered."},"0x8000001F":{code:"STATUS_BEGINNING_OF_MEDIA",message:"The beginning of a tape or partition has been detected."},"0x80000020":{code:"STATUS_MEDIA_CHECK",message:"{Media Changed} The media may have changed."},"0x80000021":{code:"STATUS_SETMARK_DETECTED",message:"A tape access reached a set mark."},"0x80000022":{code:"STATUS_NO_DATA_DETECTED",message:"During a tape access, the end of the data written is reached."},"0x80000023":{code:"STATUS_REDIRECTOR_HAS_OPEN_HANDLES",message:"The redirector is in use and cannot be unloaded."},"0x80000024":{code:"STATUS_SERVER_HAS_OPEN_HANDLES",message:"The server is in use and cannot be unloaded."},"0x80000025":{code:"STATUS_ALREADY_DISCONNECTED",message:"The specified connection has already been disconnected."},"0x80000026":{code:"STATUS_LONGJUMP",message:"A long jump has been executed."},"0x80000027":{code:"STATUS_CLEANER_CARTRIDGE_INSTALLED",message:"A cleaner cartridge is present in the tape library."},"0x80000028":{code:"STATUS_PLUGPLAY_QUERY_VETOED",message:"The Plug and Play query operation was not successful."},"0x80000029":{code:"STATUS_UNWIND_CONSOLIDATE",message:"A frame consolidation has been executed."},"0x8000002A":{code:"STATUS_REGISTRY_HIVE_RECOVERED",message:"{Registry Hive Recovered} The registry hive (file): %hs was corrupted and it has been recovered. Some data might have been lost."},"0x8000002B":{code:"STATUS_DLL_MIGHT_BE_INSECURE",message:"The application is attempting to run executable code from the module %hs. This may be insecure. An alternative, %hs, is available. Should the application use the secure module %hs?"},"0x8000002C":{code:"STATUS_DLL_MIGHT_BE_INCOMPATIBLE",message:"The application is loading executable code from the module %hs. This is secure but may be incompatible with previous releases of the operating system. An alternative, %hs, is available. Should the application use the secure module %hs?"},"0x8000002D":{code:"STATUS_STOPPED_ON_SYMLINK",message:"The create operation stopped after reaching a symbolic link."},"0x80000288":{code:"STATUS_DEVICE_REQUIRES_CLEANING",message:"The device has indicated that cleaning is necessary."},"0x80000289":{code:"STATUS_DEVICE_DOOR_OPEN",message:"The device has indicated that its door is open. Further operations require it closed and secured."},"0x80000803":{code:"STATUS_DATA_LOST_REPAIR",message:"Windows discovered a corruption in the file %hs. This file has now been repaired. Check if any data in the file was lost because of the corruption."},"0x80010001":{code:"DBG_EXCEPTION_NOT_HANDLED",message:"Debugger did not handle the exception."},"0x80130001":{code:"STATUS_CLUSTER_NODE_ALREADY_UP",message:"The cluster node is already up."},"0x80130002":{code:"STATUS_CLUSTER_NODE_ALREADY_DOWN",message:"The cluster node is already down."},"0x80130003":{code:"STATUS_CLUSTER_NETWORK_ALREADY_ONLINE",message:"The cluster network is already online."},"0x80130004":{code:"STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE",message:"The cluster network is already offline."},"0x80130005":{code:"STATUS_CLUSTER_NODE_ALREADY_MEMBER",message:"The cluster node is already a member of the cluster."},"0x80190009":{code:"STATUS_COULD_NOT_RESIZE_LOG",message:"The log could not be set to the requested size."},"0x80190029":{code:"STATUS_NO_TXF_METADATA",message:"There is no transaction metadata on the file."},"0x80190031":{code:"STATUS_CANT_RECOVER_WITH_HANDLE_OPEN",message:"The file cannot be recovered because there is a handle still open on it."},"0x80190041":{code:"STATUS_TXF_METADATA_ALREADY_PRESENT",message:"Transaction metadata is already present on this file and cannot be superseded."},"0x80190042":{code:"STATUS_TRANSACTION_SCOPE_CALLBACKS_NOT_SET",message:"A transaction scope could not be entered because the scope handler has not been initialized."},"0x801B00EB":{code:"STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD_RECOVERED",message:"{Display Driver Stopped Responding and recovered} The %hs display driver has stopped working normally. The recovery had been performed."},"0x801C0001":{code:"STATUS_FLT_BUFFER_TOO_SMALL",message:"{Buffer too small} The buffer is too small to contain the entry. No information has been written to the buffer."},"0x80210001":{code:"STATUS_FVE_PARTIAL_METADATA",message:"Volume metadata read or write is incomplete."},"0x80210002":{code:"STATUS_FVE_TRANSIENT_STATE",message:"BitLocker encryption keys were ignored because the volume was in a transient state."},"0xC0000001":{code:"STATUS_UNSUCCESSFUL",message:"{Operation Failed} The requested operation was unsuccessful."},"0xC0000002":{code:"STATUS_NOT_IMPLEMENTED",message:"{Not Implemented} The requested operation is not implemented."},"0xC0000003":{code:"STATUS_INVALID_INFO_CLASS",message:"{Invalid Parameter} The specified information class is not a valid information class for the specified object."},"0xC0000004":{code:"STATUS_INFO_LENGTH_MISMATCH",message:"The specified information record length does not match the length that is required for the specified information class."},"0xC0000005":{code:"STATUS_ACCESS_VIOLATION",message:"The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s."},"0xC0000006":{code:"STATUS_IN_PAGE_ERROR",message:"The instruction at 0x%08lx referenced memory at 0x%08lx. The required data was not placed into memory because of an I/O error status of 0x%08lx."},"0xC0000007":{code:"STATUS_PAGEFILE_QUOTA",message:"The page file quota for the process has been exhausted."},"0xC0000008":{code:"STATUS_INVALID_HANDLE",message:"An invalid HANDLE was specified."},"0xC0000009":{code:"STATUS_BAD_INITIAL_STACK",message:"An invalid initial stack was specified in a call to NtCreateThread."},"0xC000000A":{code:"STATUS_BAD_INITIAL_PC",message:"An invalid initial start address was specified in a call to NtCreateThread."},"0xC000000B":{code:"STATUS_INVALID_CID",message:"An invalid client ID was specified."},"0xC000000C":{code:"STATUS_TIMER_NOT_CANCELED",message:"An attempt was made to cancel or set a timer that has an associated APC and the specified thread is not the thread that originally set the timer with an associated APC routine."},"0xC000000D":{code:"STATUS_INVALID_PARAMETER",message:"An invalid parameter was passed to a service or function."},"0xC000000E":{code:"STATUS_NO_SUCH_DEVICE",message:"A device that does not exist was specified."},"0xC000000F":{code:"STATUS_NO_SUCH_FILE",message:"{File Not Found} The file %hs does not exist."},"0xC0000010":{code:"STATUS_INVALID_DEVICE_REQUEST",message:"The specified request is not a valid operation for the target device."},"0xC0000011":{code:"STATUS_END_OF_FILE",message:"The end-of-file marker has been reached. There is no valid data in the file beyond this marker."},"0xC0000012":{code:"STATUS_WRONG_VOLUME",message:"{Wrong Volume} The wrong volume is in the drive. Insert volume %hs into drive %hs."},"0xC0000013":{code:"STATUS_NO_MEDIA_IN_DEVICE",message:"{No Disk} There is no disk in the drive. Insert a disk into drive %hs."},"0xC0000014":{code:"STATUS_UNRECOGNIZED_MEDIA",message:"{Unknown Disk Format} The disk in drive %hs is not formatted properly. Check the disk, and reformat it, if needed."},"0xC0000015":{code:"STATUS_NONEXISTENT_SECTOR",message:"{Sector Not Found} The specified sector does not exist."},"0xC0000016":{code:"STATUS_MORE_PROCESSING_REQUIRED",message:"{Still Busy} The specified I/O request packet (IRP) cannot be disposed of because the I/O operation is not complete."},"0xC0000017":{code:"STATUS_NO_MEMORY",message:"{Not Enough Quota} Not enough virtual memory or paging file quota is available to complete the specified operation."},"0xC0000018":{code:"STATUS_CONFLICTING_ADDRESSES",message:"{Conflicting Address Range} The specified address range conflicts with the address space."},"0xC0000019":{code:"STATUS_NOT_MAPPED_VIEW",message:"The address range to unmap is not a mapped view."},"0xC000001A":{code:"STATUS_UNABLE_TO_FREE_VM",message:"The virtual memory cannot be freed."},"0xC000001B":{code:"STATUS_UNABLE_TO_DELETE_SECTION",message:"The specified section cannot be deleted."},"0xC000001C":{code:"STATUS_INVALID_SYSTEM_SERVICE",message:"An invalid system service was specified in a system service call."},"0xC000001D":{code:"STATUS_ILLEGAL_INSTRUCTION",message:"{EXCEPTION} Illegal Instruction An attempt was made to execute an illegal instruction."},"0xC000001E":{code:"STATUS_INVALID_LOCK_SEQUENCE",message:"{Invalid Lock Sequence} An attempt was made to execute an invalid lock sequence."},"0xC000001F":{code:"STATUS_INVALID_VIEW_SIZE",message:"{Invalid Mapping} An attempt was made to create a view for a section that is bigger than the section."},"0xC0000020":{code:"STATUS_INVALID_FILE_FOR_SECTION",message:"{Bad File} The attributes of the specified mapping file for a section of memory cannot be read."},"0xC0000021":{code:"STATUS_ALREADY_COMMITTED",message:"{Already Committed} The specified address range is already committed."},"0xC0000022":{code:"STATUS_ACCESS_DENIED",message:"{Access Denied} A process has requested access to an object but has not been granted those access rights."},"0xC0000023":{code:"STATUS_BUFFER_TOO_SMALL",message:"{Buffer Too Small} The buffer is too small to contain the entry. No information has been written to the buffer."},"0xC0000024":{code:"STATUS_OBJECT_TYPE_MISMATCH",message:"{Wrong Type} There is a mismatch between the type of object that is required by the requested operation and the type of object that is specified in the request."},"0xC0000025":{code:"STATUS_NONCONTINUABLE_EXCEPTION",message:"{EXCEPTION} Cannot Continue Windows cannot continue from this exception."},"0xC0000026":{code:"STATUS_INVALID_DISPOSITION",message:"An invalid exception disposition was returned by an exception handler."},"0xC0000027":{code:"STATUS_UNWIND",message:"Unwind exception code."},"0xC0000028":{code:"STATUS_BAD_STACK",message:"An invalid or unaligned stack was encountered during an unwind operation."},"0xC0000029":{code:"STATUS_INVALID_UNWIND_TARGET",message:"An invalid unwind target was encountered during an unwind operation."},"0xC000002A":{code:"STATUS_NOT_LOCKED",message:"An attempt was made to unlock a page of memory that was not locked."},"0xC000002B":{code:"STATUS_PARITY_ERROR",message:"A device parity error on an I/O operation."},"0xC000002C":{code:"STATUS_UNABLE_TO_DECOMMIT_VM",message:"An attempt was made to decommit uncommitted virtual memory."},"0xC000002D":{code:"STATUS_NOT_COMMITTED",message:"An attempt was made to change the attributes on memory that has not been committed."},"0xC000002E":{code:"STATUS_INVALID_PORT_ATTRIBUTES",message:"Invalid object attributes specified to NtCreatePort or invalid port attributes specified to NtConnectPort."},"0xC000002F":{code:"STATUS_PORT_MESSAGE_TOO_LONG",message:"The length of the message that was passed to NtRequestPort or NtRequestWaitReplyPort is longer than the maximum message that is allowed by the port."},"0xC0000030":{code:"STATUS_INVALID_PARAMETER_MIX",message:"An invalid combination of parameters was specified."},"0xC0000031":{code:"STATUS_INVALID_QUOTA_LOWER",message:"An attempt was made to lower a quota limit below the current usage."},"0xC0000032":{code:"STATUS_DISK_CORRUPT_ERROR",message:"{Corrupt Disk} The file system structure on the disk is corrupt and unusable. Run the Chkdsk utility on the volume %hs."},"0xC0000033":{code:"STATUS_OBJECT_NAME_INVALID",message:"The object name is invalid."},"0xC0000034":{code:"STATUS_OBJECT_NAME_NOT_FOUND",message:"The object name is not found."},"0xC0000035":{code:"STATUS_OBJECT_NAME_COLLISION",message:"The object name already exists."},"0xC0000037":{code:"STATUS_PORT_DISCONNECTED",message:"An attempt was made to send a message to a disconnected communication port."},"0xC0000038":{code:"STATUS_DEVICE_ALREADY_ATTACHED",message:"An attempt was made to attach to a device that was already attached to another device."},"0xC0000039":{code:"STATUS_OBJECT_PATH_INVALID",message:"The object path component was not a directory object."},"0xC000003A":{code:"STATUS_OBJECT_PATH_NOT_FOUND",message:"{Path Not Found} The path %hs does not exist."},"0xC000003B":{code:"STATUS_OBJECT_PATH_SYNTAX_BAD",message:"The object path component was not a directory object."},"0xC000003C":{code:"STATUS_DATA_OVERRUN",message:"{Data Overrun} A data overrun error occurred."},"0xC000003D":{code:"STATUS_DATA_LATE_ERROR",message:"{Data Late} A data late error occurred."},"0xC000003E":{code:"STATUS_DATA_ERROR",message:"{Data Error} An error occurred in reading or writing data."},"0xC000003F":{code:"STATUS_CRC_ERROR",message:"{Bad CRC} A cyclic redundancy check (CRC) checksum error occurred."},"0xC0000040":{code:"STATUS_SECTION_TOO_BIG",message:"{Section Too Large} The specified section is too big to map the file."},"0xC0000041":{code:"STATUS_PORT_CONNECTION_REFUSED",message:"The NtConnectPort request is refused."},"0xC0000042":{code:"STATUS_INVALID_PORT_HANDLE",message:"The type of port handle is invalid for the operation that is requested."},"0xC0000043":{code:"STATUS_SHARING_VIOLATION",message:"A file cannot be opened because the share access flags are incompatible."},"0xC0000044":{code:"STATUS_QUOTA_EXCEEDED",message:"Insufficient quota exists to complete the operation."},"0xC0000045":{code:"STATUS_INVALID_PAGE_PROTECTION",message:"The specified page protection was not valid."},"0xC0000046":{code:"STATUS_MUTANT_NOT_OWNED",message:"An attempt to release a mutant object was made by a thread that was not the owner of the mutant object."},"0xC0000047":{code:"STATUS_SEMAPHORE_LIMIT_EXCEEDED",message:"An attempt was made to release a semaphore such that its maximum count would have been exceeded."},"0xC0000048":{code:"STATUS_PORT_ALREADY_SET",message:"An attempt was made to set the DebugPort or ExceptionPort of a process, but a port already exists in the process, or an attempt was made to set the CompletionPort of a file but a port was already set in the file, or an attempt was made to set the associated completion port of an ALPC port but it is already set."},"0xC0000049":{code:"STATUS_SECTION_NOT_IMAGE",message:"An attempt was made to query image information on a section that does not map an image."},"0xC000004A":{code:"STATUS_SUSPEND_COUNT_EXCEEDED",message:"An attempt was made to suspend a thread whose suspend count was at its maximum."},"0xC000004B":{code:"STATUS_THREAD_IS_TERMINATING",message:"An attempt was made to suspend a thread that has begun termination."},"0xC000004C":{code:"STATUS_BAD_WORKING_SET_LIMIT",message:"An attempt was made to set the working set limit to an invalid value (for example, the minimum greater than maximum)."},"0xC000004D":{code:"STATUS_INCOMPATIBLE_FILE_MAP",message:"A section was created to map a file that is not compatible with an already existing section that maps the same file."},"0xC000004E":{code:"STATUS_SECTION_PROTECTION",message:"A view to a section specifies a protection that is incompatible with the protection of the initial view."},"0xC000004F":{code:"STATUS_EAS_NOT_SUPPORTED",message:"An operation involving EAs failed because the file system does not support EAs."},"0xC0000050":{code:"STATUS_EA_TOO_LARGE",message:"An EA operation failed because the EA set is too large."},"0xC0000051":{code:"STATUS_NONEXISTENT_EA_ENTRY",message:"An EA operation failed because the name or EA index is invalid."},"0xC0000052":{code:"STATUS_NO_EAS_ON_FILE",message:"The file for which EAs were requested has no EAs."},"0xC0000053":{code:"STATUS_EA_CORRUPT_ERROR",message:"The EA is corrupt and cannot be read."},"0xC0000054":{code:"STATUS_FILE_LOCK_CONFLICT",message:"A requested read/write cannot be granted due to a conflicting file lock."},"0xC0000055":{code:"STATUS_LOCK_NOT_GRANTED",message:"A requested file lock cannot be granted due to other existing locks."},"0xC0000056":{code:"STATUS_DELETE_PENDING",message:"A non-close operation has been requested of a file object that has a delete pending."},"0xC0000057":{code:"STATUS_CTL_FILE_NOT_SUPPORTED",message:"An attempt was made to set the control attribute on a file. This attribute is not supported in the destination file system."},"0xC0000058":{code:"STATUS_UNKNOWN_REVISION",message:"Indicates a revision number that was encountered or specified is not one that is known by the service. It may be a more recent revision than the service is aware of."},"0xC0000059":{code:"STATUS_REVISION_MISMATCH",message:"Indicates that two revision levels are incompatible."},"0xC000005A":{code:"STATUS_INVALID_OWNER",message:"Indicates a particular security ID may not be assigned as the owner of an object."},"0xC000005B":{code:"STATUS_INVALID_PRIMARY_GROUP",message:"Indicates a particular security ID may not be assigned as the primary group of an object."},"0xC000005C":{code:"STATUS_NO_IMPERSONATION_TOKEN",message:"An attempt has been made to operate on an impersonation token by a thread that is not currently impersonating a client."},"0xC000005D":{code:"STATUS_CANT_DISABLE_MANDATORY",message:"A mandatory group may not be disabled."},"0xC000005E":{code:"STATUS_NO_LOGON_SERVERS",message:"No logon servers are currently available to service the logon request."},"0xC000005F":{code:"STATUS_NO_SUCH_LOGON_SESSION",message:"A specified logon session does not exist. It may already have been terminated."},"0xC0000060":{code:"STATUS_NO_SUCH_PRIVILEGE",message:"A specified privilege does not exist."},"0xC0000061":{code:"STATUS_PRIVILEGE_NOT_HELD",message:"A required privilege is not held by the client."},"0xC0000062":{code:"STATUS_INVALID_ACCOUNT_NAME",message:"The name provided is not a properly formed account name."},"0xC0000063":{code:"STATUS_USER_EXISTS",message:"The specified account already exists."},"0xC0000064":{code:"STATUS_NO_SUCH_USER",message:"The specified account does not exist."},"0xC0000065":{code:"STATUS_GROUP_EXISTS",message:"The specified group already exists."},"0xC0000066":{code:"STATUS_NO_SUCH_GROUP",message:"The specified group does not exist."},"0xC0000067":{code:"STATUS_MEMBER_IN_GROUP",message:"The specified user account is already in the specified group account. Also used to indicate a group cannot be deleted because it contains a member."},"0xC0000068":{code:"STATUS_MEMBER_NOT_IN_GROUP",message:"The specified user account is not a member of the specified group account."},"0xC0000069":{code:"STATUS_LAST_ADMIN",message:"Indicates the requested operation would disable or delete the last remaining administration account. This is not allowed to prevent creating a situation in which the system cannot be administrated."},"0xC000006A":{code:"STATUS_WRONG_PASSWORD",message:"When trying to update a password, this return status indicates that the value provided as the current password is not correct."},"0xC000006B":{code:"STATUS_ILL_FORMED_PASSWORD",message:"When trying to update a password, this return status indicates that the value provided for the new password contains values that are not allowed in passwords."},"0xC000006C":{code:"STATUS_PASSWORD_RESTRICTION",message:"When trying to update a password, this status indicates that some password update rule has been violated. For example, the password may not meet length criteria."},"0xC000006D":{code:"STATUS_LOGON_FAILURE",message:"The attempted logon is invalid. This is either due to a bad username or authentication information."},"0xC000006E":{code:"STATUS_ACCOUNT_RESTRICTION",message:"Indicates a referenced user name and authentication information are valid, but some user account restriction has prevented successful authentication (such as time-of-day restrictions)."},"0xC000006F":{code:"STATUS_INVALID_LOGON_HOURS",message:"The user account has time restrictions and may not be logged onto at this time."},"0xC0000070":{code:"STATUS_INVALID_WORKSTATION",message:"The user account is restricted so that it may not be used to log on from the source workstation."},"0xC0000071":{code:"STATUS_PASSWORD_EXPIRED",message:"The user account password has expired."},"0xC0000072":{code:"STATUS_ACCOUNT_DISABLED",message:"The referenced account is currently disabled and may not be logged on to."},"0xC0000073":{code:"STATUS_NONE_MAPPED",message:"None of the information to be translated has been translated."},"0xC0000074":{code:"STATUS_TOO_MANY_LUIDS_REQUESTED",message:"The number of LUIDs requested may not be allocated with a single allocation."},"0xC0000075":{code:"STATUS_LUIDS_EXHAUSTED",message:"Indicates there are no more LUIDs to allocate."},"0xC0000076":{code:"STATUS_INVALID_SUB_AUTHORITY",message:"Indicates the sub-authority value is invalid for the particular use."},"0xC0000077":{code:"STATUS_INVALID_ACL",message:"Indicates the ACL structure is not valid."},"0xC0000078":{code:"STATUS_INVALID_SID",message:"Indicates the SID structure is not valid."},"0xC0000079":{code:"STATUS_INVALID_SECURITY_DESCR",message:"Indicates the SECURITY_DESCRIPTOR structure is not valid."},"0xC000007A":{code:"STATUS_PROCEDURE_NOT_FOUND",message:"Indicates the specified procedure address cannot be found in the DLL."},"0xC000007B":{code:"STATUS_INVALID_IMAGE_FORMAT",message:"{Bad Image} %hs is either not designed to run on Windows or it contains an error. Try installing the program again using the original installation media or contact your system administrator or the software vendor for support."},"0xC000007C":{code:"STATUS_NO_TOKEN",message:"An attempt was made to reference a token that does not exist. This is typically done by referencing the token that is associated with a thread when the thread is not impersonating a client."},"0xC000007D":{code:"STATUS_BAD_INHERITANCE_ACL",message:"Indicates that an attempt to build either an inherited ACL or ACE was not successful. This can be caused by a number of things. One of the more probable causes is the replacement of a CreatorId with a SID that did not fit into the ACE or ACL."},"0xC000007E":{code:"STATUS_RANGE_NOT_LOCKED",message:"The range specified in NtUnlockFile was not locked."},"0xC000007F":{code:"STATUS_DISK_FULL",message:"An operation failed because the disk was full."},"0xC0000080":{code:"STATUS_SERVER_DISABLED",message:"The GUID allocation server is disabled at the moment."},"0xC0000081":{code:"STATUS_SERVER_NOT_DISABLED",message:"The GUID allocation server is enabled at the moment."},"0xC0000082":{code:"STATUS_TOO_MANY_GUIDS_REQUESTED",message:"Too many GUIDs were requested from the allocation server at once."},"0xC0000083":{code:"STATUS_GUIDS_EXHAUSTED",message:"The GUIDs could not be allocated because the Authority Agent was exhausted."},"0xC0000084":{code:"STATUS_INVALID_ID_AUTHORITY",message:"The value provided was an invalid value for an identifier authority."},"0xC0000085":{code:"STATUS_AGENTS_EXHAUSTED",message:"No more authority agent values are available for the particular identifier authority value."},"0xC0000086":{code:"STATUS_INVALID_VOLUME_LABEL",message:"An invalid volume label has been specified."},"0xC0000087":{code:"STATUS_SECTION_NOT_EXTENDED",message:"A mapped section could not be extended."},"0xC0000088":{code:"STATUS_NOT_MAPPED_DATA",message:"Specified section to flush does not map a data file."},"0xC0000089":{code:"STATUS_RESOURCE_DATA_NOT_FOUND",message:"Indicates the specified image file did not contain a resource section."},"0xC000008A":{code:"STATUS_RESOURCE_TYPE_NOT_FOUND",message:"Indicates the specified resource type cannot be found in the image file."},"0xC000008B":{code:"STATUS_RESOURCE_NAME_NOT_FOUND",message:"Indicates the specified resource name cannot be found in the image file."},"0xC000008C":{code:"STATUS_ARRAY_BOUNDS_EXCEEDED",message:"{EXCEPTION} Array bounds exceeded."},"0xC000008D":{code:"STATUS_FLOAT_DENORMAL_OPERAND",message:"{EXCEPTION} Floating-point denormal operand."},"0xC000008E":{code:"STATUS_FLOAT_DIVIDE_BY_ZERO",message:"{EXCEPTION} Floating-point division by zero."},"0xC000008F":{code:"STATUS_FLOAT_INEXACT_RESULT",message:"{EXCEPTION} Floating-point inexact result."},"0xC0000090":{code:"STATUS_FLOAT_INVALID_OPERATION",message:"{EXCEPTION} Floating-point invalid operation."},"0xC0000091":{code:"STATUS_FLOAT_OVERFLOW",message:"{EXCEPTION} Floating-point overflow."},"0xC0000092":{code:"STATUS_FLOAT_STACK_CHECK",message:"{EXCEPTION} Floating-point stack check."},"0xC0000093":{code:"STATUS_FLOAT_UNDERFLOW",message:"{EXCEPTION} Floating-point underflow."},"0xC0000094":{code:"STATUS_INTEGER_DIVIDE_BY_ZERO",message:"{EXCEPTION} Integer division by zero."},"0xC0000095":{code:"STATUS_INTEGER_OVERFLOW",message:"{EXCEPTION} Integer overflow."},"0xC0000096":{code:"STATUS_PRIVILEGED_INSTRUCTION",message:"{EXCEPTION} Privileged instruction."},"0xC0000097":{code:"STATUS_TOO_MANY_PAGING_FILES",message:"An attempt was made to install more paging files than the system supports."},"0xC0000098":{code:"STATUS_FILE_INVALID",message:"The volume for a file has been externally altered such that the opened file is no longer valid."},"0xC0000099":{code:"STATUS_ALLOTTED_SPACE_EXCEEDED",message:"When a block of memory is allotted for future updates, such as the memory allocated to hold discretionary access control and primary group information, successive updates may exceed the amount of memory originally allotted. Because a quota may already have been charged to several processes that have handles to the object, it is not reasonable to alter the size of the allocated memory. Instead, a request that requires more memory than has been allotted must fail and the STATUS_ALLOTTED_SPACE_EXCEEDED error returned."},"0xC000009A":{code:"STATUS_INSUFFICIENT_RESOURCES",message:"Insufficient system resources exist to complete the API."},"0xC000009B":{code:"STATUS_DFS_EXIT_PATH_FOUND",message:"An attempt has been made to open a DFS exit path control file."},"0xC000009C":{code:"STATUS_DEVICE_DATA_ERROR",message:"There are bad blocks (sectors) on the hard disk."},"0xC000009D":{code:"STATUS_DEVICE_NOT_CONNECTED",message:"There is bad cabling, non-termination, or the controller is not able to obtain access to the hard disk."},"0xC000009F":{code:"STATUS_FREE_VM_NOT_AT_BASE",message:"Virtual memory cannot be freed because the base address is not the base of the region and a region size of zero was specified."},"0xC00000A0":{code:"STATUS_MEMORY_NOT_ALLOCATED",message:"An attempt was made to free virtual memory that is not allocated."},"0xC00000A1":{code:"STATUS_WORKING_SET_QUOTA",message:"The working set is not big enough to allow the requested pages to be locked."},"0xC00000A2":{code:"STATUS_MEDIA_WRITE_PROTECTED",message:"{Write Protect Error} The disk cannot be written to because it is write-protected. Remove the write protection from the volume %hs in drive %hs."},"0xC00000A3":{code:"STATUS_DEVICE_NOT_READY",message:"{Drive Not Ready} The drive is not ready for use; its door may be open. Check drive %hs and make sure that a disk is inserted and that the drive door is closed."},"0xC00000A4":{code:"STATUS_INVALID_GROUP_ATTRIBUTES",message:"The specified attributes are invalid or are incompatible with the attributes for the group as a whole."},"0xC00000A5":{code:"STATUS_BAD_IMPERSONATION_LEVEL",message:"A specified impersonation level is invalid. Also used to indicate that a required impersonation level was not provided."},"0xC00000A6":{code:"STATUS_CANT_OPEN_ANONYMOUS",message:"An attempt was made to open an anonymous-level token. Anonymous tokens may not be opened."},"0xC00000A7":{code:"STATUS_BAD_VALIDATION_CLASS",message:"The validation information class requested was invalid."},"0xC00000A8":{code:"STATUS_BAD_TOKEN_TYPE",message:"The type of a token object is inappropriate for its attempted use."},"0xC00000A9":{code:"STATUS_BAD_MASTER_BOOT_RECORD",message:"The type of a token object is inappropriate for its attempted use."},"0xC00000AA":{code:"STATUS_INSTRUCTION_MISALIGNMENT",message:"An attempt was made to execute an instruction at an unaligned address and the host system does not support unaligned instruction references."},"0xC00000AB":{code:"STATUS_INSTANCE_NOT_AVAILABLE",message:"The maximum named pipe instance count has been reached."},"0xC00000AC":{code:"STATUS_PIPE_NOT_AVAILABLE",message:"An instance of a named pipe cannot be found in the listening state."},"0xC00000AD":{code:"STATUS_INVALID_PIPE_STATE",message:"The named pipe is not in the connected or closing state."},"0xC00000AE":{code:"STATUS_PIPE_BUSY",message:"The specified pipe is set to complete operations and there are current I/O operations queued so that it cannot be changed to queue operations."},"0xC00000AF":{code:"STATUS_ILLEGAL_FUNCTION",message:"The specified handle is not open to the server end of the named pipe."},"0xC00000B0":{code:"STATUS_PIPE_DISCONNECTED",message:"The specified named pipe is in the disconnected state."},"0xC00000B1":{code:"STATUS_PIPE_CLOSING",message:"The specified named pipe is in the closing state."},"0xC00000B2":{code:"STATUS_PIPE_CONNECTED",message:"The specified named pipe is in the connected state."},"0xC00000B3":{code:"STATUS_PIPE_LISTENING",message:"The specified named pipe is in the listening state."},"0xC00000B4":{code:"STATUS_INVALID_READ_MODE",message:"The specified named pipe is not in message mode."},"0xC00000B5":{code:"STATUS_IO_TIMEOUT",message:"{Device Timeout} The specified I/O operation on %hs was not completed before the time-out period expired."},"0xC00000B6":{code:"STATUS_FILE_FORCED_CLOSED",message:"The specified file has been closed by another process."},"0xC00000B7":{code:"STATUS_PROFILING_NOT_STARTED",message:"Profiling is not started."},"0xC00000B8":{code:"STATUS_PROFILING_NOT_STOPPED",message:"Profiling is not stopped."},"0xC00000B9":{code:"STATUS_COULD_NOT_INTERPRET",message:"The passed ACL did not contain the minimum required information."},"0xC00000BA":{code:"STATUS_FILE_IS_A_DIRECTORY",message:"The file that was specified as a target is a directory, and the caller specified that it could be anything but a directory."},"0xC00000BB":{code:"STATUS_NOT_SUPPORTED",message:"The request is not supported."},"0xC00000BC":{code:"STATUS_REMOTE_NOT_LISTENING",message:"This remote computer is not listening."},"0xC00000BD":{code:"STATUS_DUPLICATE_NAME",message:"A duplicate name exists on the network."},"0xC00000BE":{code:"STATUS_BAD_NETWORK_PATH",message:"The network path cannot be located."},"0xC00000BF":{code:"STATUS_NETWORK_BUSY",message:"The network is busy."},"0xC00000C0":{code:"STATUS_DEVICE_DOES_NOT_EXIST",message:"This device does not exist."},"0xC00000C1":{code:"STATUS_TOO_MANY_COMMANDS",message:"The network BIOS command limit has been reached."},"0xC00000C2":{code:"STATUS_ADAPTER_HARDWARE_ERROR",message:"An I/O adapter hardware error has occurred."},"0xC00000C3":{code:"STATUS_INVALID_NETWORK_RESPONSE",message:"The network responded incorrectly."},"0xC00000C4":{code:"STATUS_UNEXPECTED_NETWORK_ERROR",message:"An unexpected network error occurred."},"0xC00000C5":{code:"STATUS_BAD_REMOTE_ADAPTER",message:"The remote adapter is not compatible."},"0xC00000C6":{code:"STATUS_PRINT_QUEUE_FULL",message:"The print queue is full."},"0xC00000C7":{code:"STATUS_NO_SPOOL_SPACE",message:"Space to store the file that is waiting to be printed is not available on the server."},"0xC00000C8":{code:"STATUS_PRINT_CANCELLED",message:"The requested print file has been canceled."},"0xC00000C9":{code:"STATUS_NETWORK_NAME_DELETED",message:"The network name was deleted."},"0xC00000CA":{code:"STATUS_NETWORK_ACCESS_DENIED",message:"Network access is denied."},"0xC00000CB":{code:"STATUS_BAD_DEVICE_TYPE",message:"{Incorrect Network Resource Type} The specified device type (LPT, for example) conflicts with the actual device type on the remote resource."},"0xC00000CC":{code:"STATUS_BAD_NETWORK_NAME",message:"{Network Name Not Found} The specified share name cannot be found on the remote server."},"0xC00000CD":{code:"STATUS_TOO_MANY_NAMES",message:"The name limit for the network adapter card of the local computer was exceeded."},"0xC00000CE":{code:"STATUS_TOO_MANY_SESSIONS",message:"The network BIOS session limit was exceeded."},"0xC00000CF":{code:"STATUS_SHARING_PAUSED",message:"File sharing has been temporarily paused."},"0xC00000D0":{code:"STATUS_REQUEST_NOT_ACCEPTED",message:"No more connections can be made to this remote computer at this time because the computer has already accepted the maximum number of connections."},"0xC00000D1":{code:"STATUS_REDIRECTOR_PAUSED",message:"Print or disk redirection is temporarily paused."},"0xC00000D2":{code:"STATUS_NET_WRITE_FAULT",message:"A network data fault occurred."},"0xC00000D3":{code:"STATUS_PROFILING_AT_LIMIT",message:"The number of active profiling objects is at the maximum and no more may be started."},"0xC00000D4":{code:"STATUS_NOT_SAME_DEVICE",message:"{Incorrect Volume} The destination file of a rename request is located on a different device than the source of the rename request."},"0xC00000D5":{code:"STATUS_FILE_RENAMED",message:"The specified file has been renamed and thus cannot be modified."},"0xC00000D6":{code:"STATUS_VIRTUAL_CIRCUIT_CLOSED",message:"{Network Request Timeout} The session with a remote server has been disconnected because the time-out interval for a request has expired."},"0xC00000D7":{code:"STATUS_NO_SECURITY_ON_OBJECT",message:"Indicates an attempt was made to operate on the security of an object that does not have security associated with it."},"0xC00000D8":{code:"STATUS_CANT_WAIT",message:"Used to indicate that an operation cannot continue without blocking for I/O."},"0xC00000D9":{code:"STATUS_PIPE_EMPTY",message:"Used to indicate that a read operation was done on an empty pipe."},"0xC00000DA":{code:"STATUS_CANT_ACCESS_DOMAIN_INFO",message:"Configuration information could not be read from the domain controller, either because the machine is unavailable or access has been denied."},"0xC00000DB":{code:"STATUS_CANT_TERMINATE_SELF",message:"Indicates that a thread attempted to terminate itself by default (called NtTerminateThread with NULL) and it was the last thread in the current process."},"0xC00000DC":{code:"STATUS_INVALID_SERVER_STATE",message:"Indicates the Sam Server was in the wrong state to perform the desired operation."},"0xC00000DD":{code:"STATUS_INVALID_DOMAIN_STATE",message:"Indicates the domain was in the wrong state to perform the desired operation."},"0xC00000DE":{code:"STATUS_INVALID_DOMAIN_ROLE",message:"This operation is only allowed for the primary domain controller of the domain."},"0xC00000DF":{code:"STATUS_NO_SUCH_DOMAIN",message:"The specified domain did not exist."},"0xC00000E0":{code:"STATUS_DOMAIN_EXISTS",message:"The specified domain already exists."},"0xC00000E1":{code:"STATUS_DOMAIN_LIMIT_EXCEEDED",message:"An attempt was made to exceed the limit on the number of domains per server for this release."},"0xC00000E2":{code:"STATUS_OPLOCK_NOT_GRANTED",message:"An error status returned when the opportunistic lock (oplock) request is denied."},"0xC00000E3":{code:"STATUS_INVALID_OPLOCK_PROTOCOL",message:"An error status returned when an invalid opportunistic lock (oplock) acknowledgment is received by a file system."},"0xC00000E4":{code:"STATUS_INTERNAL_DB_CORRUPTION",message:"This error indicates that the requested operation cannot be completed due to a catastrophic media failure or an on-disk data structure corruption."},"0xC00000E5":{code:"STATUS_INTERNAL_ERROR",message:"An internal error occurred."},"0xC00000E6":{code:"STATUS_GENERIC_NOT_MAPPED",message:"Indicates generic access types were contained in an access mask which should already be mapped to non-generic access types."},"0xC00000E7":{code:"STATUS_BAD_DESCRIPTOR_FORMAT",message:"Indicates a security descriptor is not in the necessary format (absolute or self-relative)."},"0xC00000E8":{code:"STATUS_INVALID_USER_BUFFER",message:"An access to a user buffer failed at an expected point in time. This code is defined because the caller does not want to accept STATUS_ACCESS_VIOLATION in its filter."},"0xC00000E9":{code:"STATUS_UNEXPECTED_IO_ERROR",message:"If an I/O error that is not defined in the standard FsRtl filter is returned, it is converted to the following error, which is guaranteed to be in the filter. In this case, information is lost; however, the filter correctly handles the exception."},"0xC00000EA":{code:"STATUS_UNEXPECTED_MM_CREATE_ERR",message:"If an MM error that is not defined in the standard FsRtl filter is returned, it is converted to one of the following errors, which are guaranteed to be in the filter. In this case, information is lost; however, the filter correctly handles the exception."},"0xC00000EB":{code:"STATUS_UNEXPECTED_MM_MAP_ERROR",message:"If an MM error that is not defined in the standard FsRtl filter is returned, it is converted to one of the following errors, which are guaranteed to be in the filter. In this case, information is lost; however, the filter correctly handles the exception."},"0xC00000EC":{code:"STATUS_UNEXPECTED_MM_EXTEND_ERR",message:"If an MM error that is not defined in the standard FsRtl filter is returned, it is converted to one of the following errors, which are guaranteed to be in the filter. In this case, information is lost; however, the filter correctly handles the exception."},"0xC00000ED":{code:"STATUS_NOT_LOGON_PROCESS",message:"The requested action is restricted for use by logon processes only. The calling process has not registered as a logon process."},"0xC00000EE":{code:"STATUS_LOGON_SESSION_EXISTS",message:"An attempt has been made to start a new session manager or LSA logon session by using an ID that is already in use."},"0xC00000EF":{code:"STATUS_INVALID_PARAMETER_1",message:"An invalid parameter was passed to a service or function as the first argument."},"0xC00000F0":{code:"STATUS_INVALID_PARAMETER_2",message:"An invalid parameter was passed to a service or function as the second argument."},"0xC00000F1":{code:"STATUS_INVALID_PARAMETER_3",message:"An invalid parameter was passed to a service or function as the third argument."},"0xC00000F2":{code:"STATUS_INVALID_PARAMETER_4",message:"An invalid parameter was passed to a service or function as the fourth argument."},"0xC00000F3":{code:"STATUS_INVALID_PARAMETER_5",message:"An invalid parameter was passed to a service or function as the fifth argument."},"0xC00000F4":{code:"STATUS_INVALID_PARAMETER_6",message:"An invalid parameter was passed to a service or function as the sixth argument."},"0xC00000F5":{code:"STATUS_INVALID_PARAMETER_7",message:"An invalid parameter was passed to a service or function as the seventh argument."},"0xC00000F6":{code:"STATUS_INVALID_PARAMETER_8",message:"An invalid parameter was passed to a service or function as the eighth argument."},"0xC00000F7":{code:"STATUS_INVALID_PARAMETER_9",message:"An invalid parameter was passed to a service or function as the ninth argument."},"0xC00000F8":{code:"STATUS_INVALID_PARAMETER_10",message:"An invalid parameter was passed to a service or function as the tenth argument."},"0xC00000F9":{code:"STATUS_INVALID_PARAMETER_11",message:"An invalid parameter was passed to a service or function as the eleventh argument."},"0xC00000FA":{code:"STATUS_INVALID_PARAMETER_12",message:"An invalid parameter was passed to a service or function as the twelfth argument."},"0xC00000FB":{code:"STATUS_REDIRECTOR_NOT_STARTED",message:"An attempt was made to access a network file, but the network software was not yet started."},"0xC00000FC":{code:"STATUS_REDIRECTOR_STARTED",message:"An attempt was made to start the redirector, but the redirector has already been started."},"0xC00000FD":{code:"STATUS_STACK_OVERFLOW",message:"A new guard page for the stack cannot be created."},"0xC00000FE":{code:"STATUS_NO_SUCH_PACKAGE",message:"A specified authentication package is unknown."},"0xC00000FF":{code:"STATUS_BAD_FUNCTION_TABLE",message:"A malformed function table was encountered during an unwind operation."},"0xC0000100":{code:"STATUS_VARIABLE_NOT_FOUND",message:"Indicates the specified environment variable name was not found in the specified environment block."},"0xC0000101":{code:"STATUS_DIRECTORY_NOT_EMPTY",message:"Indicates that the directory trying to be deleted is not empty."},"0xC0000102":{code:"STATUS_FILE_CORRUPT_ERROR",message:"{Corrupt File} The file or directory %hs is corrupt and unreadable. Run the Chkdsk utility."},"0xC0000103":{code:"STATUS_NOT_A_DIRECTORY",message:"A requested opened file is not a directory."},"0xC0000104":{code:"STATUS_BAD_LOGON_SESSION_STATE",message:"The logon session is not in a state that is consistent with the requested operation."},"0xC0000105":{code:"STATUS_LOGON_SESSION_COLLISION",message:"An internal LSA error has occurred. An authentication package has requested the creation of a logon session but the ID of an already existing logon session has been specified."},"0xC0000106":{code:"STATUS_NAME_TOO_LONG",message:"A specified name string is too long for its intended use."},"0xC0000107":{code:"STATUS_FILES_OPEN",message:"The user attempted to force close the files on a redirected drive, but there were opened files on the drive, and the user did not specify a sufficient level of force."},"0xC0000108":{code:"STATUS_CONNECTION_IN_USE",message:"The user attempted to force close the files on a redirected drive, but there were opened directories on the drive, and the user did not specify a sufficient level of force."},"0xC0000109":{code:"STATUS_MESSAGE_NOT_FOUND",message:"RtlFindMessage could not locate the requested message ID in the message table resource."},"0xC000010A":{code:"STATUS_PROCESS_IS_TERMINATING",message:"An attempt was made to duplicate an object handle into or out of an exiting process."},"0xC000010B":{code:"STATUS_INVALID_LOGON_TYPE",message:"Indicates an invalid value has been provided for the LogonType requested."},"0xC000010C":{code:"STATUS_NO_GUID_TRANSLATION",message:"Indicates that an attempt was made to assign protection to a file system file or directory and one of the SIDs in the security descriptor could not be translated into a GUID that could be stored by the file system. This causes the protection attempt to fail, which may cause a file creation attempt to fail."},"0xC000010D":{code:"STATUS_CANNOT_IMPERSONATE",message:"Indicates that an attempt has been made to impersonate via a named pipe that has not yet been read from."},"0xC000010E":{code:"STATUS_IMAGE_ALREADY_LOADED",message:"Indicates that the specified image is already loaded."},"0xC0000117":{code:"STATUS_NO_LDT",message:"Indicates that an attempt was made to change the size of the LDT for a process that has no LDT."},"0xC0000118":{code:"STATUS_INVALID_LDT_SIZE",message:"Indicates that an attempt was made to grow an LDT by setting its size, or that the size was not an even number of selectors."},"0xC0000119":{code:"STATUS_INVALID_LDT_OFFSET",message:"Indicates that the starting value for the LDT information was not an integral multiple of the selector size."},"0xC000011A":{code:"STATUS_INVALID_LDT_DESCRIPTOR",message:"Indicates that the user supplied an invalid descriptor when trying to set up LDT descriptors."},"0xC000011B":{code:"STATUS_INVALID_IMAGE_NE_FORMAT",message:"The specified image file did not have the correct format. It appears to be NE format."},"0xC000011C":{code:"STATUS_RXACT_INVALID_STATE",message:"Indicates that the transaction state of a registry subtree is incompatible with the requested operation. For example, a request has been made to start a new transaction with one already in progress, or a request has been made to apply a transaction when one is not currently in progress."},"0xC000011D":{code:"STATUS_RXACT_COMMIT_FAILURE",message:"Indicates an error has occurred during a registry transaction commit. The database has been left in an unknown, but probably inconsistent, state. The state of the registry transaction is left as COMMITTING."},"0xC000011E":{code:"STATUS_MAPPED_FILE_SIZE_ZERO",message:"An attempt was made to map a file of size zero with the maximum size specified as zero."},"0xC000011F":{code:"STATUS_TOO_MANY_OPENED_FILES",message:"Too many files are opened on a remote server. This error should only be returned by the Windows redirector on a remote drive."},"0xC0000120":{code:"STATUS_CANCELLED",message:"The I/O request was canceled."},"0xC0000121":{code:"STATUS_CANNOT_DELETE",message:"An attempt has been made to remove a file or directory that cannot be deleted."},"0xC0000122":{code:"STATUS_INVALID_COMPUTER_NAME",message:"Indicates a name that was specified as a remote computer name is syntactically invalid."},"0xC0000123":{code:"STATUS_FILE_DELETED",message:"An I/O request other than close was performed on a file after it was deleted, which can only happen to a request that did not complete before the last handle was closed via NtClose."},"0xC0000124":{code:"STATUS_SPECIAL_ACCOUNT",message:"Indicates an operation that is incompatible with built-in accounts has been attempted on a built-in (special) SAM account. For example, built-in accounts cannot be deleted."},"0xC0000125":{code:"STATUS_SPECIAL_GROUP",message:"The operation requested may not be performed on the specified group because it is a built-in special group."},"0xC0000126":{code:"STATUS_SPECIAL_USER",message:"The operation requested may not be performed on the specified user because it is a built-in special user."},"0xC0000127":{code:"STATUS_MEMBERS_PRIMARY_GROUP",message:"Indicates a member cannot be removed from a group because the group is currently the member's primary group."},"0xC0000128":{code:"STATUS_FILE_CLOSED",message:"An I/O request other than close and several other special case operations was attempted using a file object that had already been closed."},"0xC0000129":{code:"STATUS_TOO_MANY_THREADS",message:"Indicates a process has too many threads to perform the requested action. For example, assignment of a primary token may only be performed when a process has zero or one threads."},"0xC000012A":{code:"STATUS_THREAD_NOT_IN_PROCESS",message:"An attempt was made to operate on a thread within a specific process, but the specified thread is not in the specified process."},"0xC000012B":{code:"STATUS_TOKEN_ALREADY_IN_USE",message:"An attempt was made to establish a token for use as a primary token but the token is already in use. A token can only be the primary token of one process at a time."},"0xC000012C":{code:"STATUS_PAGEFILE_QUOTA_EXCEEDED",message:"The page file quota was exceeded."},"0xC000012D":{code:"STATUS_COMMITMENT_LIMIT",message:"{Out of Virtual Memory} Your system is low on virtual memory. To ensure that Windows runs correctly, increase the size of your virtual memory paging file. For more information, see Help."},"0xC000012E":{code:"STATUS_INVALID_IMAGE_LE_FORMAT",message:"The specified image file did not have the correct format: it appears to be LE format."},"0xC000012F":{code:"STATUS_INVALID_IMAGE_NOT_MZ",message:"The specified image file did not have the correct format: it did not have an initial MZ."},"0xC0000130":{code:"STATUS_INVALID_IMAGE_PROTECT",message:"The specified image file did not have the correct format: it did not have a proper e_lfarlc in the MZ header."},"0xC0000131":{code:"STATUS_INVALID_IMAGE_WIN_16",message:"The specified image file did not have the correct format: it appears to be a 16-bit Windows image."},"0xC0000132":{code:"STATUS_LOGON_SERVER_CONFLICT",message:"The Netlogon service cannot start because another Netlogon service running in the domain conflicts with the specified role."},"0xC0000133":{code:"STATUS_TIME_DIFFERENCE_AT_DC",message:"The time at the primary domain controller is different from the time at the backup domain controller or member server by too large an amount."},"0xC0000134":{code:"STATUS_SYNCHRONIZATION_REQUIRED",message:"The SAM database on a Windows Server is significantly out of synchronization with the copy on the domain controller. A complete synchronization is required."},"0xC0000135":{code:"STATUS_DLL_NOT_FOUND",message:"{Unable To Locate Component} This application has failed to start because %hs was not found. Reinstalling the application may fix this problem."},"0xC0000136":{code:"STATUS_OPEN_FAILED",message:"The NtCreateFile API failed. This error should never be returned to an application; it is a place holder for the Windows LAN Manager Redirector to use in its internal error-mapping routines."},"0xC0000137":{code:"STATUS_IO_PRIVILEGE_FAILED",message:"{Privilege Failed} The I/O permissions for the process could not be changed."},"0xC0000138":{code:"STATUS_ORDINAL_NOT_FOUND",message:"{Ordinal Not Found} The ordinal %ld could not be located in the dynamic link library %hs."},"0xC0000139":{code:"STATUS_ENTRYPOINT_NOT_FOUND",message:"{Entry Point Not Found} The procedure entry point %hs could not be located in the dynamic link library %hs."},"0xC000013A":{code:"STATUS_CONTROL_C_EXIT",message:"{Application Exit by CTRL+C} The application terminated as a result of a CTRL+C."},"0xC000013B":{code:"STATUS_LOCAL_DISCONNECT",message:"{Virtual Circuit Closed} The network transport on your computer has closed a network connection. There may or may not be I/O requests outstanding."},"0xC000013C":{code:"STATUS_REMOTE_DISCONNECT",message:"{Virtual Circuit Closed} The network transport on a remote computer has closed a network connection. There may or may not be I/O requests outstanding."},"0xC000013D":{code:"STATUS_REMOTE_RESOURCES",message:"{Insufficient Resources on Remote Computer} The remote computer has insufficient resources to complete the network request. For example, the remote computer may not have enough available memory to carry out the request at this time."},"0xC000013E":{code:"STATUS_LINK_FAILED",message:"{Virtual Circuit Closed} An existing connection (virtual circuit) has been broken at the remote computer. There is probably something wrong with the network software protocol or the network hardware on the remote computer."},"0xC000013F":{code:"STATUS_LINK_TIMEOUT",message:"{Virtual Circuit Closed} The network transport on your computer has closed a network connection because it had to wait too long for a response from the remote computer."},"0xC0000140":{code:"STATUS_INVALID_CONNECTION",message:"The connection handle that was given to the transport was invalid."},"0xC0000141":{code:"STATUS_INVALID_ADDRESS",message:"The address handle that was given to the transport was invalid."},"0xC0000142":{code:"STATUS_DLL_INIT_FAILED",message:"{DLL Initialization Failed} Initialization of the dynamic link library %hs failed. The process is terminating abnormally."},"0xC0000143":{code:"STATUS_MISSING_SYSTEMFILE",message:"{Missing System File} The required system file %hs is bad or missing."},"0xC0000144":{code:"STATUS_UNHANDLED_EXCEPTION",message:"{Application Error} The exception %s (0x%08lx) occurred in the application at location 0x%08lx."},"0xC0000145":{code:"STATUS_APP_INIT_FAILURE",message:"{Application Error} The application failed to initialize properly (0x%lx). Click OK to terminate the application."},"0xC0000146":{code:"STATUS_PAGEFILE_CREATE_FAILED",message:"{Unable to Create Paging File} The creation of the paging file %hs failed (%lx). The requested size was %ld."},"0xC0000147":{code:"STATUS_NO_PAGEFILE",message:"{No Paging File Specified} No paging file was specified in the system configuration."},"0xC0000148":{code:"STATUS_INVALID_LEVEL",message:"{Incorrect System Call Level} An invalid level was passed into the specified system call."},"0xC0000149":{code:"STATUS_WRONG_PASSWORD_CORE",message:"{Incorrect Password to LAN Manager Server} You specified an incorrect password to a LAN Manager 2.x or MS-NET server."},"0xC000014A":{code:"STATUS_ILLEGAL_FLOAT_CONTEXT",message:"{EXCEPTION} A real-mode application issued a floating-point instruction and floating-point hardware is not present."},"0xC000014B":{code:"STATUS_PIPE_BROKEN",message:"The pipe operation has failed because the other end of the pipe has been closed."},"0xC000014C":{code:"STATUS_REGISTRY_CORRUPT",message:"{The Registry Is Corrupt} The structure of one of the files that contains registry data is corrupt; the image of the file in memory is corrupt; or the file could not be recovered because the alternate copy or log was absent or corrupt."},"0xC000014D":{code:"STATUS_REGISTRY_IO_FAILED",message:"An I/O operation initiated by the Registry failed and cannot be recovered. The registry could not read in, write out, or flush one of the files that contain the system's image of the registry."},"0xC000014E":{code:"STATUS_NO_EVENT_PAIR",message:"An event pair synchronization operation was performed using the thread-specific client/server event pair object, but no event pair object was associated with the thread."},"0xC000014F":{code:"STATUS_UNRECOGNIZED_VOLUME",message:"The volume does not contain a recognized file system. Be sure that all required file system drivers are loaded and that the volume is not corrupt."},"0xC0000150":{code:"STATUS_SERIAL_NO_DEVICE_INITED",message:"No serial device was successfully initialized. The serial driver will unload."},"0xC0000151":{code:"STATUS_NO_SUCH_ALIAS",message:"The specified local group does not exist."},"0xC0000152":{code:"STATUS_MEMBER_NOT_IN_ALIAS",message:"The specified account name is not a member of the group."},"0xC0000153":{code:"STATUS_MEMBER_IN_ALIAS",message:"The specified account name is already a member of the group."},"0xC0000154":{code:"STATUS_ALIAS_EXISTS",message:"The specified local group already exists."},"0xC0000155":{code:"STATUS_LOGON_NOT_GRANTED",message:"A requested type of logon (for example, interactive, network, and service) is not granted by the local security policy of the target system. Ask the system administrator to grant the necessary form of logon."},"0xC0000156":{code:"STATUS_TOO_MANY_SECRETS",message:"The maximum number of secrets that may be stored in a single system was exceeded. The length and number of secrets is limited to satisfy U.S. State Department export restrictions."},"0xC0000157":{code:"STATUS_SECRET_TOO_LONG",message:"The length of a secret exceeds the maximum allowable length. The length and number of secrets is limited to satisfy U.S. State Department export restrictions."},"0xC0000158":{code:"STATUS_INTERNAL_DB_ERROR",message:"The local security authority (LSA) database contains an internal inconsistency."},"0xC0000159":{code:"STATUS_FULLSCREEN_MODE",message:"The requested operation cannot be performed in full-screen mode."},"0xC000015A":{code:"STATUS_TOO_MANY_CONTEXT_IDS",message:"During a logon attempt, the user's security context accumulated too many security IDs. This is a very unusual situation. Remove the user from some global or local groups to reduce the number of security IDs to incorporate into the security context."},"0xC000015B":{code:"STATUS_LOGON_TYPE_NOT_GRANTED",message:"A user has requested a type of logon (for example, interactive or network) that has not been granted. An administrator has control over who may logon interactively and through the network."},"0xC000015C":{code:"STATUS_NOT_REGISTRY_FILE",message:"The system has attempted to load or restore a file into the registry, and the specified file is not in the format of a registry file."},"0xC000015D":{code:"STATUS_NT_CROSS_ENCRYPTION_REQUIRED",message:"An attempt was made to change a user password in the security account manager without providing the necessary Windows cross-encrypted password."},"0xC000015E":{code:"STATUS_DOMAIN_CTRLR_CONFIG_ERROR",message:"A Windows Server has an incorrect configuration."},"0xC000015F":{code:"STATUS_FT_MISSING_MEMBER",message:"An attempt was made to explicitly access the secondary copy of information via a device control to the fault tolerance driver and the secondary copy is not present in the system."},"0xC0000160":{code:"STATUS_ILL_FORMED_SERVICE_ENTRY",message:"A configuration registry node that represents a driver service entry was ill-formed and did not contain the required value entries."},"0xC0000161":{code:"STATUS_ILLEGAL_CHARACTER",message:"An illegal character was encountered. For a multibyte character set, this includes a lead byte without a succeeding trail byte. For the Unicode character set this includes the characters 0xFFFF and 0xFFFE."},"0xC0000162":{code:"STATUS_UNMAPPABLE_CHARACTER",message:"No mapping for the Unicode character exists in the target multibyte code page."},"0xC0000163":{code:"STATUS_UNDEFINED_CHARACTER",message:"The Unicode character is not defined in the Unicode character set that is installed on the system."},"0xC0000164":{code:"STATUS_FLOPPY_VOLUME",message:"The paging file cannot be created on a floppy disk."},"0xC0000165":{code:"STATUS_FLOPPY_ID_MARK_NOT_FOUND",message:"{Floppy Disk Error} While accessing a floppy disk, an ID address mark was not found."},"0xC0000166":{code:"STATUS_FLOPPY_WRONG_CYLINDER",message:"{Floppy Disk Error} While accessing a floppy disk, the track address from the sector ID field was found to be different from the track address that is maintained by the controller."},"0xC0000167":{code:"STATUS_FLOPPY_UNKNOWN_ERROR",message:"{Floppy Disk Error} The floppy disk controller reported an error that is not recognized by the floppy disk driver."},"0xC0000168":{code:"STATUS_FLOPPY_BAD_REGISTERS",message:"{Floppy Disk Error} While accessing a floppy-disk, the controller returned inconsistent results via its registers."},"0xC0000169":{code:"STATUS_DISK_RECALIBRATE_FAILED",message:"{Hard Disk Error} While accessing the hard disk, a recalibrate operation failed, even after retries."},"0xC000016A":{code:"STATUS_DISK_OPERATION_FAILED",message:"{Hard Disk Error} While accessing the hard disk, a disk operation failed even after retries."},"0xC000016B":{code:"STATUS_DISK_RESET_FAILED",message:"{Hard Disk Error} While accessing the hard disk, a disk controller reset was needed, but even that failed."},"0xC000016C":{code:"STATUS_SHARED_IRQ_BUSY",message:"An attempt was made to open a device that was sharing an interrupt request (IRQ) with other devices. At least one other device that uses that IRQ was already opened. Two concurrent opens of devices that share an IRQ and only work via interrupts is not supported for the particular bus type that the devices use."},"0xC000016D":{code:"STATUS_FT_ORPHANING",message:"{FT Orphaning} A disk that is part of a fault-tolerant volume can no longer be accessed."},"0xC000016E":{code:"STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT",message:"The basic input/output system (BIOS) failed to connect a system interrupt to the device or bus for which the device is connected."},"0xC0000172":{code:"STATUS_PARTITION_FAILURE",message:"The tape could not be partitioned."},"0xC0000173":{code:"STATUS_INVALID_BLOCK_LENGTH",message:"When accessing a new tape of a multi-volume partition, the current blocksize is incorrect."},"0xC0000174":{code:"STATUS_DEVICE_NOT_PARTITIONED",message:"The tape partition information could not be found when loading a tape."},"0xC0000175":{code:"STATUS_UNABLE_TO_LOCK_MEDIA",message:"An attempt to lock the eject media mechanism failed."},"0xC0000176":{code:"STATUS_UNABLE_TO_UNLOAD_MEDIA",message:"An attempt to unload media failed."},"0xC0000177":{code:"STATUS_EOM_OVERFLOW",message:"The physical end of tape was detected."},"0xC0000178":{code:"STATUS_NO_MEDIA",message:"{No Media} There is no media in the drive. Insert media into drive %hs."},"0xC000017A":{code:"STATUS_NO_SUCH_MEMBER",message:"A member could not be added to or removed from the local group because the member does not exist."},"0xC000017B":{code:"STATUS_INVALID_MEMBER",message:"A new member could not be added to a local group because the member has the wrong account type."},"0xC000017C":{code:"STATUS_KEY_DELETED",message:"An illegal operation was attempted on a registry key that has been marked for deletion."},"0xC000017D":{code:"STATUS_NO_LOG_SPACE",message:"The system could not allocate the required space in a registry log."},"0xC000017E":{code:"STATUS_TOO_MANY_SIDS",message:"Too many SIDs have been specified."},"0xC000017F":{code:"STATUS_LM_CROSS_ENCRYPTION_REQUIRED",message:"An attempt was made to change a user password in the security account manager without providing the necessary LM cross-encrypted password."},"0xC0000180":{code:"STATUS_KEY_HAS_CHILDREN",message:"An attempt was made to create a symbolic link in a registry key that already has subkeys or values."},"0xC0000181":{code:"STATUS_CHILD_MUST_BE_VOLATILE",message:"An attempt was made to create a stable subkey under a volatile parent key."},"0xC0000182":{code:"STATUS_DEVICE_CONFIGURATION_ERROR",message:"The I/O device is configured incorrectly or the configuration parameters to the driver are incorrect."},"0xC0000183":{code:"STATUS_DRIVER_INTERNAL_ERROR",message:"An error was detected between two drivers or within an I/O driver."},"0xC0000184":{code:"STATUS_INVALID_DEVICE_STATE",message:"The device is not in a valid state to perform this request."},"0xC0000185":{code:"STATUS_IO_DEVICE_ERROR",message:"The I/O device reported an I/O error."},"0xC0000186":{code:"STATUS_DEVICE_PROTOCOL_ERROR",message:"A protocol error was detected between the driver and the device."},"0xC0000187":{code:"STATUS_BACKUP_CONTROLLER",message:"This operation is only allowed for the primary domain controller of the domain."},"0xC0000188":{code:"STATUS_LOG_FILE_FULL",message:"The log file space is insufficient to support this operation."},"0xC0000189":{code:"STATUS_TOO_LATE",message:"A write operation was attempted to a volume after it was dismounted."},"0xC000018A":{code:"STATUS_NO_TRUST_LSA_SECRET",message:"The workstation does not have a trust secret for the primary domain in the local LSA database."},"0xC000018B":{code:"STATUS_NO_TRUST_SAM_ACCOUNT",message:"The SAM database on the Windows Server does not have a computer account for this workstation trust relationship."},"0xC000018C":{code:"STATUS_TRUSTED_DOMAIN_FAILURE",message:"The logon request failed because the trust relationship between the primary domain and the trusted domain failed."},"0xC000018D":{code:"STATUS_TRUSTED_RELATIONSHIP_FAILURE",message:"The logon request failed because the trust relationship between this workstation and the primary domain failed."},"0xC000018E":{code:"STATUS_EVENTLOG_FILE_CORRUPT",message:"The Eventlog log file is corrupt."},"0xC000018F":{code:"STATUS_EVENTLOG_CANT_START",message:"No Eventlog log file could be opened. The Eventlog service did not start."},"0xC0000190":{code:"STATUS_TRUST_FAILURE",message:"The network logon failed. This may be because the validation authority cannot be reached."},"0xC0000191":{code:"STATUS_MUTANT_LIMIT_EXCEEDED",message:"An attempt was made to acquire a mutant such that its maximum count would have been exceeded."},"0xC0000192":{code:"STATUS_NETLOGON_NOT_STARTED",message:"An attempt was made to logon, but the NetLogon service was not started."},"0xC0000193":{code:"STATUS_ACCOUNT_EXPIRED",message:"The user account has expired."},"0xC0000194":{code:"STATUS_POSSIBLE_DEADLOCK",message:"{EXCEPTION} Possible deadlock condition."},"0xC0000195":{code:"STATUS_NETWORK_CREDENTIAL_CONFLICT",message:"Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again."},"0xC0000196":{code:"STATUS_REMOTE_SESSION_LIMIT",message:"An attempt was made to establish a session to a network server, but there are already too many sessions established to that server."},"0xC0000197":{code:"STATUS_EVENTLOG_FILE_CHANGED",message:"The log file has changed between reads."},"0xC0000198":{code:"STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT",message:"The account used is an interdomain trust account. Use your global user account or local user account to access this server."},"0xC0000199":{code:"STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT",message:"The account used is a computer account. Use your global user account or local user account to access this server."},"0xC000019A":{code:"STATUS_NOLOGON_SERVER_TRUST_ACCOUNT",message:"The account used is a server trust account. Use your global user account or local user account to access this server."},"0xC000019B":{code:"STATUS_DOMAIN_TRUST_INCONSISTENT",message:"The name or SID of the specified domain is inconsistent with the trust information for that domain."},"0xC000019C":{code:"STATUS_FS_DRIVER_REQUIRED",message:"A volume has been accessed for which a file system driver is required that has not yet been loaded."},"0xC000019D":{code:"STATUS_IMAGE_ALREADY_LOADED_AS_DLL",message:"Indicates that the specified image is already loaded as a DLL."},"0xC000019E":{code:"STATUS_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING",message:"Short name settings may not be changed on this volume due to the global registry setting."},"0xC000019F":{code:"STATUS_SHORT_NAMES_NOT_ENABLED_ON_VOLUME",message:"Short names are not enabled on this volume."},"0xC00001A0":{code:"STATUS_SECURITY_STREAM_IS_INCONSISTENT",message:"The security stream for the given volume is in an inconsistent state. Please run CHKDSK on the volume."},"0xC00001A1":{code:"STATUS_INVALID_LOCK_RANGE",message:"A requested file lock operation cannot be processed due to an invalid byte range."},"0xC00001A2":{code:"STATUS_INVALID_ACE_CONDITION",message:"The specified access control entry (ACE) contains an invalid condition."},"0xC00001A3":{code:"STATUS_IMAGE_SUBSYSTEM_NOT_PRESENT",message:"The subsystem needed to support the image type is not present."},"0xC00001A4":{code:"STATUS_NOTIFICATION_GUID_ALREADY_DEFINED",message:"The specified file already has a notification GUID associated with it."},"0xC0000201":{code:"STATUS_NETWORK_OPEN_RESTRICTION",message:"A remote open failed because the network open restrictions were not satisfied."},"0xC0000202":{code:"STATUS_NO_USER_SESSION_KEY",message:"There is no user session key for the specified logon session."},"0xC0000203":{code:"STATUS_USER_SESSION_DELETED",message:"The remote user session has been deleted."},"0xC0000204":{code:"STATUS_RESOURCE_LANG_NOT_FOUND",message:"Indicates the specified resource language ID cannot be found in the image file."},"0xC0000205":{code:"STATUS_INSUFF_SERVER_RESOURCES",message:"Insufficient server resources exist to complete the request."},"0xC0000206":{code:"STATUS_INVALID_BUFFER_SIZE",message:"The size of the buffer is invalid for the specified operation."},"0xC0000207":{code:"STATUS_INVALID_ADDRESS_COMPONENT",message:"The transport rejected the specified network address as invalid."},"0xC0000208":{code:"STATUS_INVALID_ADDRESS_WILDCARD",message:"The transport rejected the specified network address due to invalid use of a wildcard."},"0xC0000209":{code:"STATUS_TOO_MANY_ADDRESSES",message:"The transport address could not be opened because all the available addresses are in use."},"0xC000020A":{code:"STATUS_ADDRESS_ALREADY_EXISTS",message:"The transport address could not be opened because it already exists."},"0xC000020B":{code:"STATUS_ADDRESS_CLOSED",message:"The transport address is now closed."},"0xC000020C":{code:"STATUS_CONNECTION_DISCONNECTED",message:"The transport connection is now disconnected."},"0xC000020D":{code:"STATUS_CONNECTION_RESET",message:"The transport connection has been reset."},"0xC000020E":{code:"STATUS_TOO_MANY_NODES",message:"The transport cannot dynamically acquire any more nodes."},"0xC000020F":{code:"STATUS_TRANSACTION_ABORTED",message:"The transport aborted a pending transaction."},"0xC0000210":{code:"STATUS_TRANSACTION_TIMED_OUT",message:"The transport timed out a request that is waiting for a response."},"0xC0000211":{code:"STATUS_TRANSACTION_NO_RELEASE",message:"The transport did not receive a release for a pending response."},"0xC0000212":{code:"STATUS_TRANSACTION_NO_MATCH",message:"The transport did not find a transaction that matches the specific token."},"0xC0000213":{code:"STATUS_TRANSACTION_RESPONDED",message:"The transport had previously responded to a transaction request."},"0xC0000214":{code:"STATUS_TRANSACTION_INVALID_ID",message:"The transport does not recognize the specified transaction request ID."},"0xC0000215":{code:"STATUS_TRANSACTION_INVALID_TYPE",message:"The transport does not recognize the specified transaction request type."},"0xC0000216":{code:"STATUS_NOT_SERVER_SESSION",message:"The transport can only process the specified request on the server side of a session."},"0xC0000217":{code:"STATUS_NOT_CLIENT_SESSION",message:"The transport can only process the specified request on the client side of a session."},"0xC0000218":{code:"STATUS_CANNOT_LOAD_REGISTRY_FILE",message:"{Registry File Failure} The registry cannot load the hive (file): %hs or its log or alternate. It is corrupt, absent, or not writable."},"0xC0000219":{code:"STATUS_DEBUG_ATTACH_FAILED",message:"{Unexpected Failure in DebugActiveProcess} An unexpected failure occurred while processing a DebugActiveProcess API request. You may choose OK to terminate the process, or Cancel to ignore the error."},"0xC000021A":{code:"STATUS_SYSTEM_PROCESS_TERMINATED",message:"{Fatal System Error} The %hs system process terminated unexpectedly with a status of 0x%08x (0x%08x 0x%08x). The system has been shut down."},"0xC000021B":{code:"STATUS_DATA_NOT_ACCEPTED",message:"{Data Not Accepted} The TDI client could not handle the data received during an indication."},"0xC000021C":{code:"STATUS_NO_BROWSER_SERVERS_FOUND",message:"{Unable to Retrieve Browser Server List} The list of servers for this workgroup is not currently available."},"0xC000021D":{code:"STATUS_VDM_HARD_ERROR",message:"NTVDM encountered a hard error."},"0xC000021E":{code:"STATUS_DRIVER_CANCEL_TIMEOUT",message:"{Cancel Timeout} The driver %hs failed to complete a canceled I/O request in the allotted time."},"0xC000021F":{code:"STATUS_REPLY_MESSAGE_MISMATCH",message:"{Reply Message Mismatch} An attempt was made to reply to an LPC message, but the thread specified by the client ID in the message was not waiting on that message."},"0xC0000220":{code:"STATUS_MAPPED_ALIGNMENT",message:"{Mapped View Alignment Incorrect} An attempt was made to map a view of a file, but either the specified base address or the offset into the file were not aligned on the proper allocation granularity."},"0xC0000221":{code:"STATUS_IMAGE_CHECKSUM_MISMATCH",message:"{Bad Image Checksum} The image %hs is possibly corrupt. The header checksum does not match the computed checksum."},"0xC0000222":{code:"STATUS_LOST_WRITEBEHIND_DATA",message:"{Delayed Write Failed} Windows was unable to save all the data for the file %hs. The data has been lost. This error may be caused by a failure of your computer hardware or network connection. Try to save this file elsewhere."},"0xC0000223":{code:"STATUS_CLIENT_SERVER_PARAMETERS_INVALID",message:"The parameters passed to the server in the client/server shared memory window were invalid. Too much data may have been put in the shared memory window."},"0xC0000224":{code:"STATUS_PASSWORD_MUST_CHANGE",message:"The user password must be changed before logging on the first time."},"0xC0000225":{code:"STATUS_NOT_FOUND",message:"The object was not found."},"0xC0000226":{code:"STATUS_NOT_TINY_STREAM",message:"The stream is not a tiny stream."},"0xC0000227":{code:"STATUS_RECOVERY_FAILURE",message:"A transaction recovery failed."},"0xC0000228":{code:"STATUS_STACK_OVERFLOW_READ",message:"The request must be handled by the stack overflow code."},"0xC0000229":{code:"STATUS_FAIL_CHECK",message:"A consistency check failed."},"0xC000022A":{code:"STATUS_DUPLICATE_OBJECTID",message:"The attempt to insert the ID in the index failed because the ID is already in the index."},"0xC000022B":{code:"STATUS_OBJECTID_EXISTS",message:"The attempt to set the object ID failed because the object already has an ID."},"0xC000022C":{code:"STATUS_CONVERT_TO_LARGE",message:"Internal OFS status codes indicating how an allocation operation is handled. Either it is retried after the containing oNode is moved or the extent stream is converted to a large stream."},"0xC000022D":{code:"STATUS_RETRY",message:"The request needs to be retried."},"0xC000022E":{code:"STATUS_FOUND_OUT_OF_SCOPE",message:"The attempt to find the object found an object on the volume that matches by ID; however, it is out of the scope of the handle that is used for the operation."},"0xC000022F":{code:"STATUS_ALLOCATE_BUCKET",message:"The bucket array must be grown. Retry the transaction after doing so."},"0xC0000230":{code:"STATUS_PROPSET_NOT_FOUND",message:"The specified property set does not exist on the object."},"0xC0000231":{code:"STATUS_MARSHALL_OVERFLOW",message:"The user/kernel marshaling buffer has overflowed."},"0xC0000232":{code:"STATUS_INVALID_VARIANT",message:"The supplied variant structure contains invalid data."},"0xC0000233":{code:"STATUS_DOMAIN_CONTROLLER_NOT_FOUND",message:"A domain controller for this domain was not found."},"0xC0000234":{code:"STATUS_ACCOUNT_LOCKED_OUT",message:"The user account has been automatically locked because too many invalid logon attempts or password change attempts have been requested."},"0xC0000235":{code:"STATUS_HANDLE_NOT_CLOSABLE",message:"NtClose was called on a handle that was protected from close via NtSetInformationObject."},"0xC0000236":{code:"STATUS_CONNECTION_REFUSED",message:"The transport-connection attempt was refused by the remote system."},"0xC0000237":{code:"STATUS_GRACEFUL_DISCONNECT",message:"The transport connection was gracefully closed."},"0xC0000238":{code:"STATUS_ADDRESS_ALREADY_ASSOCIATED",message:"The transport endpoint already has an address associated with it."},"0xC0000239":{code:"STATUS_ADDRESS_NOT_ASSOCIATED",message:"An address has not yet been associated with the transport endpoint."},"0xC000023A":{code:"STATUS_CONNECTION_INVALID",message:"An operation was attempted on a nonexistent transport connection."},"0xC000023B":{code:"STATUS_CONNECTION_ACTIVE",message:"An invalid operation was attempted on an active transport connection."},"0xC000023C":{code:"STATUS_NETWORK_UNREACHABLE",message:"The remote network is not reachable by the transport."},"0xC000023D":{code:"STATUS_HOST_UNREACHABLE",message:"The remote system is not reachable by the transport."},"0xC000023E":{code:"STATUS_PROTOCOL_UNREACHABLE",message:"The remote system does not support the transport protocol."},"0xC000023F":{code:"STATUS_PORT_UNREACHABLE",message:"No service is operating at the destination port of the transport on the remote system."},"0xC0000240":{code:"STATUS_REQUEST_ABORTED",message:"The request was aborted."},"0xC0000241":{code:"STATUS_CONNECTION_ABORTED",message:"The transport connection was aborted by the local system."},"0xC0000242":{code:"STATUS_BAD_COMPRESSION_BUFFER",message:"The specified buffer contains ill-formed data."},"0xC0000243":{code:"STATUS_USER_MAPPED_FILE",message:"The requested operation cannot be performed on a file with a user mapped section open."},"0xC0000244":{code:"STATUS_AUDIT_FAILED",message:"{Audit Failed} An attempt to generate a security audit failed."},"0xC0000245":{code:"STATUS_TIMER_RESOLUTION_NOT_SET",message:"The timer resolution was not previously set by the current process."},"0xC0000246":{code:"STATUS_CONNECTION_COUNT_LIMIT",message:"A connection to the server could not be made because the limit on the number of concurrent connections for this account has been reached."},"0xC0000247":{code:"STATUS_LOGIN_TIME_RESTRICTION",message:"Attempting to log on during an unauthorized time of day for this account."},"0xC0000248":{code:"STATUS_LOGIN_WKSTA_RESTRICTION",message:"The account is not authorized to log on from this station."},"0xC0000249":{code:"STATUS_IMAGE_MP_UP_MISMATCH",message:"{UP/MP Image Mismatch} The image %hs has been modified for use on a uniprocessor system, but you are running it on a multiprocessor machine. Reinstall the image file."},"0xC0000250":{code:"STATUS_INSUFFICIENT_LOGON_INFO",message:"There is insufficient account information to log you on."},"0xC0000251":{code:"STATUS_BAD_DLL_ENTRYPOINT",message:"{Invalid DLL Entrypoint} The dynamic link library %hs is not written correctly. The stack pointer has been left in an inconsistent state. The entry point should be declared as WINAPI or STDCALL. Select YES to fail the DLL load. Select NO to continue execution. Selecting NO may cause the application to operate incorrectly."},"0xC0000252":{code:"STATUS_BAD_SERVICE_ENTRYPOINT",message:"{Invalid Service Callback Entrypoint} The %hs service is not written correctly. The stack pointer has been left in an inconsistent state. The callback entry point should be declared as WINAPI or STDCALL. Selecting OK will cause the service to continue operation. However, the service process may operate incorrectly."},"0xC0000253":{code:"STATUS_LPC_REPLY_LOST",message:"The server received the messages but did not send a reply."},"0xC0000254":{code:"STATUS_IP_ADDRESS_CONFLICT1",message:"There is an IP address conflict with another system on the network."},"0xC0000255":{code:"STATUS_IP_ADDRESS_CONFLICT2",message:"There is an IP address conflict with another system on the network."},"0xC0000256":{code:"STATUS_REGISTRY_QUOTA_LIMIT",message:"{Low On Registry Space} The system has reached the maximum size that is allowed for the system part of the registry. Additional storage requests will be ignored."},"0xC0000257":{code:"STATUS_PATH_NOT_COVERED",message:"The contacted server does not support the indicated part of the DFS namespace."},"0xC0000258":{code:"STATUS_NO_CALLBACK_ACTIVE",message:"A callback return system service cannot be executed when no callback is active."},"0xC0000259":{code:"STATUS_LICENSE_QUOTA_EXCEEDED",message:"The service being accessed is licensed for a particular number of connections. No more connections can be made to the service at this time because the service has already accepted the maximum number of connections."},"0xC000025A":{code:"STATUS_PWD_TOO_SHORT",message:"The password provided is too short to meet the policy of your user account. Choose a longer password."},"0xC000025B":{code:"STATUS_PWD_TOO_RECENT",message:"The policy of your user account does not allow you to change passwords too frequently. This is done to prevent users from changing back to a familiar, but potentially discovered, password. If you feel your password has been compromised, contact your administrator immediately to have a new one assigned."},"0xC000025C":{code:"STATUS_PWD_HISTORY_CONFLICT",message:"You have attempted to change your password to one that you have used in the past. The policy of your user account does not allow this. Select a password that you have not previously used."},"0xC000025E":{code:"STATUS_PLUGPLAY_NO_DEVICE",message:"You have attempted to load a legacy device driver while its device instance had been disabled."},"0xC000025F":{code:"STATUS_UNSUPPORTED_COMPRESSION",message:"The specified compression format is unsupported."},"0xC0000260":{code:"STATUS_INVALID_HW_PROFILE",message:"The specified hardware profile configuration is invalid."},"0xC0000261":{code:"STATUS_INVALID_PLUGPLAY_DEVICE_PATH",message:"The specified Plug and Play registry device path is invalid."},"0xC0000262":{code:"STATUS_DRIVER_ORDINAL_NOT_FOUND",message:"{Driver Entry Point Not Found} The %hs device driver could not locate the ordinal %ld in driver %hs."},"0xC0000263":{code:"STATUS_DRIVER_ENTRYPOINT_NOT_FOUND",message:"{Driver Entry Point Not Found} The %hs device driver could not locate the entry point %hs in driver %hs."},"0xC0000264":{code:"STATUS_RESOURCE_NOT_OWNED",message:"{Application Error} The application attempted to release a resource it did not own. Click OK to terminate the application."},"0xC0000265":{code:"STATUS_TOO_MANY_LINKS",message:"An attempt was made to create more links on a file than the file system supports."},"0xC0000266":{code:"STATUS_QUOTA_LIST_INCONSISTENT",message:"The specified quota list is internally inconsistent with its descriptor."},"0xC0000267":{code:"STATUS_FILE_IS_OFFLINE",message:"The specified file has been relocated to offline storage."},"0xC0000268":{code:"STATUS_EVALUATION_EXPIRATION",message:"{Windows Evaluation Notification} The evaluation period for this installation of Windows has expired. This system will shutdown in 1 hour. To restore access to this installation of Windows, upgrade this installation by using a licensed distribution of this product."},"0xC0000269":{code:"STATUS_ILLEGAL_DLL_RELOCATION",message:"{Illegal System DLL Relocation} The system DLL %hs was relocated in memory. The application will not run properly. The relocation occurred because the DLL %hs occupied an address range that is reserved for Windows system DLLs. The vendor supplying the DLL should be contacted for a new DLL."},"0xC000026A":{code:"STATUS_LICENSE_VIOLATION",message:"{License Violation} The system has detected tampering with your registered product type. This is a violation of your software license. Tampering with the product type is not permitted."},"0xC000026B":{code:"STATUS_DLL_INIT_FAILED_LOGOFF",message:"{DLL Initialization Failed} The application failed to initialize because the window station is shutting down."},"0xC000026C":{code:"STATUS_DRIVER_UNABLE_TO_LOAD",message:"{Unable to Load Device Driver} %hs device driver could not be loaded. Error Status was 0x%x."},"0xC000026D":{code:"STATUS_DFS_UNAVAILABLE",message:"DFS is unavailable on the contacted server."},"0xC000026E":{code:"STATUS_VOLUME_DISMOUNTED",message:"An operation was attempted to a volume after it was dismounted."},"0xC000026F":{code:"STATUS_WX86_INTERNAL_ERROR",message:"An internal error occurred in the Win32 x86 emulation subsystem."},"0xC0000270":{code:"STATUS_WX86_FLOAT_STACK_CHECK",message:"Win32 x86 emulation subsystem floating-point stack check."},"0xC0000271":{code:"STATUS_VALIDATE_CONTINUE",message:"The validation process needs to continue on to the next step."},"0xC0000272":{code:"STATUS_NO_MATCH",message:"There was no match for the specified key in the index."},"0xC0000273":{code:"STATUS_NO_MORE_MATCHES",message:"There are no more matches for the current index enumeration."},"0xC0000275":{code:"STATUS_NOT_A_REPARSE_POINT",message:"The NTFS file or directory is not a reparse point."},"0xC0000276":{code:"STATUS_IO_REPARSE_TAG_INVALID",message:"The Windows I/O reparse tag passed for the NTFS reparse point is invalid."},"0xC0000277":{code:"STATUS_IO_REPARSE_TAG_MISMATCH",message:"The Windows I/O reparse tag does not match the one that is in the NTFS reparse point."},"0xC0000278":{code:"STATUS_IO_REPARSE_DATA_INVALID",message:"The user data passed for the NTFS reparse point is invalid."},"0xC0000279":{code:"STATUS_IO_REPARSE_TAG_NOT_HANDLED",message:"The layered file system driver for this I/O tag did not handle it when needed."},"0xC0000280":{code:"STATUS_REPARSE_POINT_NOT_RESOLVED",message:"The NTFS symbolic link could not be resolved even though the initial file name is valid."},"0xC0000281":{code:"STATUS_DIRECTORY_IS_A_REPARSE_POINT",message:"The NTFS directory is a reparse point."},"0xC0000282":{code:"STATUS_RANGE_LIST_CONFLICT",message:"The range could not be added to the range list because of a conflict."},"0xC0000283":{code:"STATUS_SOURCE_ELEMENT_EMPTY",message:"The specified medium changer source element contains no media."},"0xC0000284":{code:"STATUS_DESTINATION_ELEMENT_FULL",message:"The specified medium changer destination element already contains media."},"0xC0000285":{code:"STATUS_ILLEGAL_ELEMENT_ADDRESS",message:"The specified medium changer element does not exist."},"0xC0000286":{code:"STATUS_MAGAZINE_NOT_PRESENT",message:"The specified element is contained in a magazine that is no longer present."},"0xC0000287":{code:"STATUS_REINITIALIZATION_NEEDED",message:"The device requires re-initialization due to hardware errors."},"0xC000028A":{code:"STATUS_ENCRYPTION_FAILED",message:"The file encryption attempt failed."},"0xC000028B":{code:"STATUS_DECRYPTION_FAILED",message:"The file decryption attempt failed."},"0xC000028C":{code:"STATUS_RANGE_NOT_FOUND",message:"The specified range could not be found in the range list."},"0xC000028D":{code:"STATUS_NO_RECOVERY_POLICY",message:"There is no encryption recovery policy configured for this system."},"0xC000028E":{code:"STATUS_NO_EFS",message:"The required encryption driver is not loaded for this system."},"0xC000028F":{code:"STATUS_WRONG_EFS",message:"The file was encrypted with a different encryption driver than is currently loaded."},"0xC0000290":{code:"STATUS_NO_USER_KEYS",message:"There are no EFS keys defined for the user."},"0xC0000291":{code:"STATUS_FILE_NOT_ENCRYPTED",message:"The specified file is not encrypted."},"0xC0000292":{code:"STATUS_NOT_EXPORT_FORMAT",message:"The specified file is not in the defined EFS export format."},"0xC0000293":{code:"STATUS_FILE_ENCRYPTED",message:"The specified file is encrypted and the user does not have the ability to decrypt it."},"0xC0000295":{code:"STATUS_WMI_GUID_NOT_FOUND",message:"The GUID passed was not recognized as valid by a WMI data provider."},"0xC0000296":{code:"STATUS_WMI_INSTANCE_NOT_FOUND",message:"The instance name passed was not recognized as valid by a WMI data provider."},"0xC0000297":{code:"STATUS_WMI_ITEMID_NOT_FOUND",message:"The data item ID passed was not recognized as valid by a WMI data provider."},"0xC0000298":{code:"STATUS_WMI_TRY_AGAIN",message:"The WMI request could not be completed and should be retried."},"0xC0000299":{code:"STATUS_SHARED_POLICY",message:"The policy object is shared and can only be modified at the root."},"0xC000029A":{code:"STATUS_POLICY_OBJECT_NOT_FOUND",message:"The policy object does not exist when it should."},"0xC000029B":{code:"STATUS_POLICY_ONLY_IN_DS",message:"The requested policy information only lives in the Ds."},"0xC000029C":{code:"STATUS_VOLUME_NOT_UPGRADED",message:"The volume must be upgraded to enable this feature."},"0xC000029D":{code:"STATUS_REMOTE_STORAGE_NOT_ACTIVE",message:"The remote storage service is not operational at this time."},"0xC000029E":{code:"STATUS_REMOTE_STORAGE_MEDIA_ERROR",message:"The remote storage service encountered a media error."},"0xC000029F":{code:"STATUS_NO_TRACKING_SERVICE",message:"The tracking (workstation) service is not running."},"0xC00002A0":{code:"STATUS_SERVER_SID_MISMATCH",message:"The server process is running under a SID that is different from the SID that is required by client."},"0xC00002A1":{code:"STATUS_DS_NO_ATTRIBUTE_OR_VALUE",message:"The specified directory service attribute or value does not exist."},"0xC00002A2":{code:"STATUS_DS_INVALID_ATTRIBUTE_SYNTAX",message:"The attribute syntax specified to the directory service is invalid."},"0xC00002A3":{code:"STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED",message:"The attribute type specified to the directory service is not defined."},"0xC00002A4":{code:"STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS",message:"The specified directory service attribute or value already exists."},"0xC00002A5":{code:"STATUS_DS_BUSY",message:"The directory service is busy."},"0xC00002A6":{code:"STATUS_DS_UNAVAILABLE",message:"The directory service is unavailable."},"0xC00002A7":{code:"STATUS_DS_NO_RIDS_ALLOCATED",message:"The directory service was unable to allocate a relative identifier."},"0xC00002A8":{code:"STATUS_DS_NO_MORE_RIDS",message:"The directory service has exhausted the pool of relative identifiers."},"0xC00002A9":{code:"STATUS_DS_INCORRECT_ROLE_OWNER",message:"The requested operation could not be performed because the directory service is not the master for that type of operation."},"0xC00002AA":{code:"STATUS_DS_RIDMGR_INIT_ERROR",message:"The directory service was unable to initialize the subsystem that allocates relative identifiers."},"0xC00002AB":{code:"STATUS_DS_OBJ_CLASS_VIOLATION",message:"The requested operation did not satisfy one or more constraints that are associated with the class of the object."},"0xC00002AC":{code:"STATUS_DS_CANT_ON_NON_LEAF",message:"The directory service can perform the requested operation only on a leaf object."},"0xC00002AD":{code:"STATUS_DS_CANT_ON_RDN",message:"The directory service cannot perform the requested operation on the Relatively Defined Name (RDN) attribute of an object."},"0xC00002AE":{code:"STATUS_DS_CANT_MOD_OBJ_CLASS",message:"The directory service detected an attempt to modify the object class of an object."},"0xC00002AF":{code:"STATUS_DS_CROSS_DOM_MOVE_FAILED",message:"An error occurred while performing a cross domain move operation."},"0xC00002B0":{code:"STATUS_DS_GC_NOT_AVAILABLE",message:"Unable to contact the global catalog server."},"0xC00002B1":{code:"STATUS_DIRECTORY_SERVICE_REQUIRED",message:"The requested operation requires a directory service, and none was available."},"0xC00002B2":{code:"STATUS_REPARSE_ATTRIBUTE_CONFLICT",message:"The reparse attribute cannot be set because it is incompatible with an existing attribute."},"0xC00002B3":{code:"STATUS_CANT_ENABLE_DENY_ONLY",message:'A group marked "use for deny only" cannot be enabled.'},"0xC00002B4":{code:"STATUS_FLOAT_MULTIPLE_FAULTS",message:"{EXCEPTION} Multiple floating-point faults."},"0xC00002B5":{code:"STATUS_FLOAT_MULTIPLE_TRAPS",message:"{EXCEPTION} Multiple floating-point traps."},"0xC00002B6":{code:"STATUS_DEVICE_REMOVED",message:"The device has been removed."},"0xC00002B7":{code:"STATUS_JOURNAL_DELETE_IN_PROGRESS",message:"The volume change journal is being deleted."},"0xC00002B8":{code:"STATUS_JOURNAL_NOT_ACTIVE",message:"The volume change journal is not active."},"0xC00002B9":{code:"STATUS_NOINTERFACE",message:"The requested interface is not supported."},"0xC00002C1":{code:"STATUS_DS_ADMIN_LIMIT_EXCEEDED",message:"A directory service resource limit has been exceeded."},"0xC00002C2":{code:"STATUS_DRIVER_FAILED_SLEEP",message:"{System Standby Failed} The driver %hs does not support standby mode. Updating this driver may allow the system to go to standby mode."},"0xC00002C3":{code:"STATUS_MUTUAL_AUTHENTICATION_FAILED",message:"Mutual Authentication failed. The server password is out of date at the domain controller."},"0xC00002C4":{code:"STATUS_CORRUPT_SYSTEM_FILE",message:"The system file %1 has become corrupt and has been replaced."},"0xC00002C5":{code:"STATUS_DATATYPE_MISALIGNMENT_ERROR",message:"{EXCEPTION} Alignment Error A data type misalignment error was detected in a load or store instruction."},"0xC00002C6":{code:"STATUS_WMI_READ_ONLY",message:"The WMI data item or data block is read-only."},"0xC00002C7":{code:"STATUS_WMI_SET_FAILURE",message:"The WMI data item or data block could not be changed."},"0xC00002C8":{code:"STATUS_COMMITMENT_MINIMUM",message:"{Virtual Memory Minimum Too Low} Your system is low on virtual memory. Windows is increasing the size of your virtual memory paging file. During this process, memory requests for some applications may be denied. For more information, see Help."},"0xC00002C9":{code:"STATUS_REG_NAT_CONSUMPTION",message:"{EXCEPTION} Register NaT consumption faults. A NaT value is consumed on a non-speculative instruction."},"0xC00002CA":{code:"STATUS_TRANSPORT_FULL",message:"The transport element of the medium changer contains media, which is causing the operation to fail."},"0xC00002CB":{code:"STATUS_DS_SAM_INIT_FAILURE",message:"Security Accounts Manager initialization failed because of the following error: %hs Error Status: 0x%x. Click OK to shut down this system and restart in Directory Services Restore Mode. Check the event log for more detailed information."},"0xC00002CC":{code:"STATUS_ONLY_IF_CONNECTED",message:"This operation is supported only when you are connected to the server."},"0xC00002CD":{code:"STATUS_DS_SENSITIVE_GROUP_VIOLATION",message:"Only an administrator can modify the membership list of an administrative group."},"0xC00002CE":{code:"STATUS_PNP_RESTART_ENUMERATION",message:"A device was removed so enumeration must be restarted."},"0xC00002CF":{code:"STATUS_JOURNAL_ENTRY_DELETED",message:"The journal entry has been deleted from the journal."},"0xC00002D0":{code:"STATUS_DS_CANT_MOD_PRIMARYGROUPID",message:"Cannot change the primary group ID of a domain controller account."},"0xC00002D1":{code:"STATUS_SYSTEM_IMAGE_BAD_SIGNATURE",message:"{Fatal System Error} The system image %s is not properly signed. The file has been replaced with the signed file. The system has been shut down."},"0xC00002D2":{code:"STATUS_PNP_REBOOT_REQUIRED",message:"The device will not start without a reboot."},"0xC00002D3":{code:"STATUS_POWER_STATE_INVALID",message:"The power state of the current device cannot support this request."},"0xC00002D4":{code:"STATUS_DS_INVALID_GROUP_TYPE",message:"The specified group type is invalid."},"0xC00002D5":{code:"STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN",message:"In a mixed domain, no nesting of a global group if the group is security enabled."},"0xC00002D6":{code:"STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN",message:"In a mixed domain, cannot nest local groups with other local groups, if the group is security enabled."},"0xC00002D7":{code:"STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER",message:"A global group cannot have a local group as a member."},"0xC00002D8":{code:"STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER",message:"A global group cannot have a universal group as a member."},"0xC00002D9":{code:"STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER",message:"A universal group cannot have a local group as a member."},"0xC00002DA":{code:"STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER",message:"A global group cannot have a cross-domain member."},"0xC00002DB":{code:"STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER",message:"A local group cannot have another cross-domain local group as a member."},"0xC00002DC":{code:"STATUS_DS_HAVE_PRIMARY_MEMBERS",message:"Cannot change to a security-disabled group because primary members are in this group."},"0xC00002DD":{code:"STATUS_WMI_NOT_SUPPORTED",message:"The WMI operation is not supported by the data block or method."},"0xC00002DE":{code:"STATUS_INSUFFICIENT_POWER",message:"There is not enough power to complete the requested operation."},"0xC00002DF":{code:"STATUS_SAM_NEED_BOOTKEY_PASSWORD",message:"The Security Accounts Manager needs to get the boot password."},"0xC00002E0":{code:"STATUS_SAM_NEED_BOOTKEY_FLOPPY",message:"The Security Accounts Manager needs to get the boot key from the floppy disk."},"0xC00002E1":{code:"STATUS_DS_CANT_START",message:"The directory service cannot start."},"0xC00002E2":{code:"STATUS_DS_INIT_FAILURE",message:"The directory service could not start because of the following error: %hs Error Status: 0x%x. Click OK to shut down this system and restart in Directory Services Restore Mode. Check the event log for more detailed information."},"0xC00002E3":{code:"STATUS_SAM_INIT_FAILURE",message:"The Security Accounts Manager initialization failed because of the following error: %hs Error Status: 0x%x. Click OK to shut down this system and restart in Safe Mode. Check the event log for more detailed information."},"0xC00002E4":{code:"STATUS_DS_GC_REQUIRED",message:"The requested operation can be performed only on a global catalog server."},"0xC00002E5":{code:"STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY",message:"A local group can only be a member of other local groups in the same domain."},"0xC00002E6":{code:"STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS",message:"Foreign security principals cannot be members of universal groups."},"0xC00002E7":{code:"STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED",message:"Your computer could not be joined to the domain. You have exceeded the maximum number of computer accounts you are allowed to create in this domain. Contact your system administrator to have this limit reset or increased."},"0xC00002E9":{code:"STATUS_CURRENT_DOMAIN_NOT_ALLOWED",message:"This operation cannot be performed on the current domain."},"0xC00002EA":{code:"STATUS_CANNOT_MAKE",message:"The directory or file cannot be created."},"0xC00002EB":{code:"STATUS_SYSTEM_SHUTDOWN",message:"The system is in the process of shutting down."},"0xC00002EC":{code:"STATUS_DS_INIT_FAILURE_CONSOLE",message:"Directory Services could not start because of the following error: %hs Error Status: 0x%x. Click OK to shut down the system. You can use the recovery console to diagnose the system further."},"0xC00002ED":{code:"STATUS_DS_SAM_INIT_FAILURE_CONSOLE",message:"Security Accounts Manager initialization failed because of the following error: %hs Error Status: 0x%x. Click OK to shut down the system. You can use the recovery console to diagnose the system further."},"0xC00002EE":{code:"STATUS_UNFINISHED_CONTEXT_DELETED",message:"A security context was deleted before the context was completed. This is considered a logon failure."},"0xC00002EF":{code:"STATUS_NO_TGT_REPLY",message:"The client is trying to negotiate a context and the server requires user-to-user but did not send a TGT reply."},"0xC00002F0":{code:"STATUS_OBJECTID_NOT_FOUND",message:"An object ID was not found in the file."},"0xC00002F1":{code:"STATUS_NO_IP_ADDRESSES",message:"Unable to accomplish the requested task because the local machine does not have any IP addresses."},"0xC00002F2":{code:"STATUS_WRONG_CREDENTIAL_HANDLE",message:"The supplied credential handle does not match the credential that is associated with the security context."},"0xC00002F3":{code:"STATUS_CRYPTO_SYSTEM_INVALID",message:"The crypto system or checksum function is invalid because a required function is unavailable."},"0xC00002F4":{code:"STATUS_MAX_REFERRALS_EXCEEDED",message:"The number of maximum ticket referrals has been exceeded."},"0xC00002F5":{code:"STATUS_MUST_BE_KDC",message:"The local machine must be a Kerberos KDC (domain controller) and it is not."},"0xC00002F6":{code:"STATUS_STRONG_CRYPTO_NOT_SUPPORTED",message:"The other end of the security negotiation requires strong crypto but it is not supported on the local machine."},"0xC00002F7":{code:"STATUS_TOO_MANY_PRINCIPALS",message:"The KDC reply contained more than one principal name."},"0xC00002F8":{code:"STATUS_NO_PA_DATA",message:"Expected to find PA data for a hint of what etype to use, but it was not found."},"0xC00002F9":{code:"STATUS_PKINIT_NAME_MISMATCH",message:"The client certificate does not contain a valid UPN, or does not match the client name in the logon request. Contact your administrator."},"0xC00002FA":{code:"STATUS_SMARTCARD_LOGON_REQUIRED",message:"Smart card logon is required and was not used."},"0xC00002FB":{code:"STATUS_KDC_INVALID_REQUEST",message:"An invalid request was sent to the KDC."},"0xC00002FC":{code:"STATUS_KDC_UNABLE_TO_REFER",message:"The KDC was unable to generate a referral for the service requested."},"0xC00002FD":{code:"STATUS_KDC_UNKNOWN_ETYPE",message:"The encryption type requested is not supported by the KDC."},"0xC00002FE":{code:"STATUS_SHUTDOWN_IN_PROGRESS",message:"A system shutdown is in progress."},"0xC00002FF":{code:"STATUS_SERVER_SHUTDOWN_IN_PROGRESS",message:"The server machine is shutting down."},"0xC0000300":{code:"STATUS_NOT_SUPPORTED_ON_SBS",message:"This operation is not supported on a computer running Windows Server 2003 for Small Business Server."},"0xC0000301":{code:"STATUS_WMI_GUID_DISCONNECTED",message:"The WMI GUID is no longer available."},"0xC0000302":{code:"STATUS_WMI_ALREADY_DISABLED",message:"Collection or events for the WMI GUID is already disabled."},"0xC0000303":{code:"STATUS_WMI_ALREADY_ENABLED",message:"Collection or events for the WMI GUID is already enabled."},"0xC0000304":{code:"STATUS_MFT_TOO_FRAGMENTED",message:"The master file table on the volume is too fragmented to complete this operation."},"0xC0000305":{code:"STATUS_COPY_PROTECTION_FAILURE",message:"Copy protection failure."},"0xC0000306":{code:"STATUS_CSS_AUTHENTICATION_FAILURE",message:"Copy protection error\u2014DVD CSS Authentication failed."},"0xC0000307":{code:"STATUS_CSS_KEY_NOT_PRESENT",message:"Copy protection error\u2014The specified sector does not contain a valid key."},"0xC0000308":{code:"STATUS_CSS_KEY_NOT_ESTABLISHED",message:"Copy protection error\u2014DVD session key not established."},"0xC0000309":{code:"STATUS_CSS_SCRAMBLED_SECTOR",message:"Copy protection error\u2014The read failed because the sector is encrypted."},"0xC000030A":{code:"STATUS_CSS_REGION_MISMATCH",message:"Copy protection error\u2014The region of the specified DVD does not correspond to the region setting of the drive."},"0xC000030B":{code:"STATUS_CSS_RESETS_EXHAUSTED",message:"Copy protection error\u2014The region setting of the drive may be permanent."},"0xC0000320":{code:"STATUS_PKINIT_FAILURE",message:"The Kerberos protocol encountered an error while validating the KDC certificate during smart card logon. There is more information in the system event log."},"0xC0000321":{code:"STATUS_SMARTCARD_SUBSYSTEM_FAILURE",message:"The Kerberos protocol encountered an error while attempting to use the smart card subsystem."},"0xC0000322":{code:"STATUS_NO_KERB_KEY",message:"The target server does not have acceptable Kerberos credentials."},"0xC0000350":{code:"STATUS_HOST_DOWN",message:"The transport determined that the remote system is down."},"0xC0000351":{code:"STATUS_UNSUPPORTED_PREAUTH",message:"An unsupported pre-authentication mechanism was presented to the Kerberos package."},"0xC0000352":{code:"STATUS_EFS_ALG_BLOB_TOO_BIG",message:"The encryption algorithm that is used on the source file needs a bigger key buffer than the one that is used on the destination file."},"0xC0000353":{code:"STATUS_PORT_NOT_SET",message:"An attempt to remove a processes DebugPort was made, but a port was not already associated with the process."},"0xC0000354":{code:"STATUS_DEBUGGER_INACTIVE",message:"An attempt to do an operation on a debug port failed because the port is in the process of being deleted."},"0xC0000355":{code:"STATUS_DS_VERSION_CHECK_FAILURE",message:"This version of Windows is not compatible with the behavior version of the directory forest, domain, or domain controller."},"0xC0000356":{code:"STATUS_AUDITING_DISABLED",message:"The specified event is currently not being audited."},"0xC0000357":{code:"STATUS_PRENT4_MACHINE_ACCOUNT",message:"The machine account was created prior to Windows NT 4.0. The account needs to be recreated."},"0xC0000358":{code:"STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER",message:"An account group cannot have a universal group as a member."},"0xC0000359":{code:"STATUS_INVALID_IMAGE_WIN_32",message:"The specified image file did not have the correct format; it appears to be a 32-bit Windows image."},"0xC000035A":{code:"STATUS_INVALID_IMAGE_WIN_64",message:"The specified image file did not have the correct format; it appears to be a 64-bit Windows image."},"0xC000035B":{code:"STATUS_BAD_BINDINGS",message:"The client's supplied SSPI channel bindings were incorrect."},"0xC000035C":{code:"STATUS_NETWORK_SESSION_EXPIRED",message:"The client session has expired; so the client must re-authenticate to continue accessing the remote resources."},"0xC000035D":{code:"STATUS_APPHELP_BLOCK",message:"The AppHelp dialog box canceled; thus preventing the application from starting."},"0xC000035E":{code:"STATUS_ALL_SIDS_FILTERED",message:"The SID filtering operation removed all SIDs."},"0xC000035F":{code:"STATUS_NOT_SAFE_MODE_DRIVER",message:"The driver was not loaded because the system is starting in safe mode."},"0xC0000361":{code:"STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT",message:"Access to %1 has been restricted by your Administrator by the default software restriction policy level."},"0xC0000362":{code:"STATUS_ACCESS_DISABLED_BY_POLICY_PATH",message:"Access to %1 has been restricted by your Administrator by location with policy rule %2 placed on path %3."},"0xC0000363":{code:"STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER",message:"Access to %1 has been restricted by your Administrator by software publisher policy."},"0xC0000364":{code:"STATUS_ACCESS_DISABLED_BY_POLICY_OTHER",message:"Access to %1 has been restricted by your Administrator by policy rule %2."},"0xC0000365":{code:"STATUS_FAILED_DRIVER_ENTRY",message:"The driver was not loaded because it failed its initialization call."},"0xC0000366":{code:"STATUS_DEVICE_ENUMERATION_ERROR",message:"The device encountered an error while applying power or reading the device configuration. This may be caused by a failure of your hardware or by a poor connection."},"0xC0000368":{code:"STATUS_MOUNT_POINT_NOT_RESOLVED",message:"The create operation failed because the name contained at least one mount point that resolves to a volume to which the specified device object is not attached."},"0xC0000369":{code:"STATUS_INVALID_DEVICE_OBJECT_PARAMETER",message:"The device object parameter is either not a valid device object or is not attached to the volume that is specified by the file name."},"0xC000036A":{code:"STATUS_MCA_OCCURED",message:"A machine check error has occurred. Check the system event log for additional information."},"0xC000036B":{code:"STATUS_DRIVER_BLOCKED_CRITICAL",message:"Driver %2 has been blocked from loading."},"0xC000036C":{code:"STATUS_DRIVER_BLOCKED",message:"Driver %2 has been blocked from loading."},"0xC000036D":{code:"STATUS_DRIVER_DATABASE_ERROR",message:"There was error [%2] processing the driver database."},"0xC000036E":{code:"STATUS_SYSTEM_HIVE_TOO_LARGE",message:"System hive size has exceeded its limit."},"0xC000036F":{code:"STATUS_INVALID_IMPORT_OF_NON_DLL",message:"A dynamic link library (DLL) referenced a module that was neither a DLL nor the process's executable image."},"0xC0000371":{code:"STATUS_NO_SECRETS",message:"The local account store does not contain secret material for the specified account."},"0xC0000372":{code:"STATUS_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY",message:"Access to %1 has been restricted by your Administrator by policy rule %2."},"0xC0000373":{code:"STATUS_FAILED_STACK_SWITCH",message:"The system was not able to allocate enough memory to perform a stack switch."},"0xC0000374":{code:"STATUS_HEAP_CORRUPTION",message:"A heap has been corrupted."},"0xC0000380":{code:"STATUS_SMARTCARD_WRONG_PIN",message:"An incorrect PIN was presented to the smart card."},"0xC0000381":{code:"STATUS_SMARTCARD_CARD_BLOCKED",message:"The smart card is blocked."},"0xC0000382":{code:"STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED",message:"No PIN was presented to the smart card."},"0xC0000383":{code:"STATUS_SMARTCARD_NO_CARD",message:"No smart card is available."},"0xC0000384":{code:"STATUS_SMARTCARD_NO_KEY_CONTAINER",message:"The requested key container does not exist on the smart card."},"0xC0000385":{code:"STATUS_SMARTCARD_NO_CERTIFICATE",message:"The requested certificate does not exist on the smart card."},"0xC0000386":{code:"STATUS_SMARTCARD_NO_KEYSET",message:"The requested keyset does not exist."},"0xC0000387":{code:"STATUS_SMARTCARD_IO_ERROR",message:"A communication error with the smart card has been detected."},"0xC0000388":{code:"STATUS_DOWNGRADE_DETECTED",message:"The system detected a possible attempt to compromise security. Ensure that you can contact the server that authenticated you."},"0xC0000389":{code:"STATUS_SMARTCARD_CERT_REVOKED",message:"The smart card certificate used for authentication has been revoked. Contact your system administrator. There may be additional information in the event log."},"0xC000038A":{code:"STATUS_ISSUING_CA_UNTRUSTED",message:"An untrusted certificate authority was detected while processing the smart card certificate that is used for authentication. Contact your system administrator."},"0xC000038B":{code:"STATUS_REVOCATION_OFFLINE_C",message:"The revocation status of the smart card certificate that is used for authentication could not be determined. Contact your system administrator."},"0xC000038C":{code:"STATUS_PKINIT_CLIENT_FAILURE",message:"The smart card certificate used for authentication was not trusted. Contact your system administrator."},"0xC000038D":{code:"STATUS_SMARTCARD_CERT_EXPIRED",message:"The smart card certificate used for authentication has expired. Contact your system administrator."},"0xC000038E":{code:"STATUS_DRIVER_FAILED_PRIOR_UNLOAD",message:"The driver could not be loaded because a previous version of the driver is still in memory."},"0xC000038F":{code:"STATUS_SMARTCARD_SILENT_CONTEXT",message:"The smart card provider could not perform the action because the context was acquired as silent."},"0xC0000401":{code:"STATUS_PER_USER_TRUST_QUOTA_EXCEEDED",message:"The delegated trust creation quota of the current user has been exceeded."},"0xC0000402":{code:"STATUS_ALL_USER_TRUST_QUOTA_EXCEEDED",message:"The total delegated trust creation quota has been exceeded."},"0xC0000403":{code:"STATUS_USER_DELETE_TRUST_QUOTA_EXCEEDED",message:"The delegated trust deletion quota of the current user has been exceeded."},"0xC0000404":{code:"STATUS_DS_NAME_NOT_UNIQUE",message:"The requested name already exists as a unique identifier."},"0xC0000405":{code:"STATUS_DS_DUPLICATE_ID_FOUND",message:"The requested object has a non-unique identifier and cannot be retrieved."},"0xC0000406":{code:"STATUS_DS_GROUP_CONVERSION_ERROR",message:"The group cannot be converted due to attribute restrictions on the requested group type."},"0xC0000407":{code:"STATUS_VOLSNAP_PREPARE_HIBERNATE",message:"{Volume Shadow Copy Service} Wait while the Volume Shadow Copy Service prepares volume %hs for hibernation."},"0xC0000408":{code:"STATUS_USER2USER_REQUIRED",message:"Kerberos sub-protocol User2User is required."},"0xC0000409":{code:"STATUS_STACK_BUFFER_OVERRUN",message:"The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application."},"0xC000040A":{code:"STATUS_NO_S4U_PROT_SUPPORT",message:"The Kerberos subsystem encountered an error. A service for user protocol request was made against a domain controller which does not support service for user."},"0xC000040B":{code:"STATUS_CROSSREALM_DELEGATION_FAILURE",message:"An attempt was made by this server to make a Kerberos constrained delegation request for a target that is outside the server realm. This action is not supported and the resulting error indicates a misconfiguration on the allowed-to-delegate-to list for this server. Contact your administrator."},"0xC000040C":{code:"STATUS_REVOCATION_OFFLINE_KDC",message:"The revocation status of the domain controller certificate used for smart card authentication could not be determined. There is additional information in the system event log. Contact your system administrator."},"0xC000040D":{code:"STATUS_ISSUING_CA_UNTRUSTED_KDC",message:"An untrusted certificate authority was detected while processing the domain controller certificate used for authentication. There is additional information in the system event log. Contact your system administrator."},"0xC000040E":{code:"STATUS_KDC_CERT_EXPIRED",message:"The domain controller certificate used for smart card logon has expired. Contact your system administrator with the contents of your system event log."},"0xC000040F":{code:"STATUS_KDC_CERT_REVOKED",message:"The domain controller certificate used for smart card logon has been revoked. Contact your system administrator with the contents of your system event log."},"0xC0000410":{code:"STATUS_PARAMETER_QUOTA_EXCEEDED",message:"Data present in one of the parameters is more than the function can operate on."},"0xC0000411":{code:"STATUS_HIBERNATION_FAILURE",message:"The system has failed to hibernate (The error code is %hs). Hibernation will be disabled until the system is restarted."},"0xC0000412":{code:"STATUS_DELAY_LOAD_FAILED",message:"An attempt to delay-load a .dll or get a function address in a delay-loaded .dll failed."},"0xC0000413":{code:"STATUS_AUTHENTICATION_FIREWALL_FAILED",message:"Logon Failure: The machine you are logging onto is protected by an authentication firewall. The specified account is not allowed to authenticate to the machine."},"0xC0000414":{code:"STATUS_VDM_DISALLOWED",message:"%hs is a 16-bit application. You do not have permissions to execute 16-bit applications. Check your permissions with your system administrator."},"0xC0000415":{code:"STATUS_HUNG_DISPLAY_DRIVER_THREAD",message:"{Display Driver Stopped Responding} The %hs display driver has stopped working normally. Save your work and reboot the system to restore full display functionality. The next time you reboot the machine a dialog will be displayed giving you a chance to report this failure to Microsoft."},"0xC0000416":{code:"STATUS_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE",message:"The Desktop heap encountered an error while allocating session memory. There is more information in the system event log."},"0xC0000417":{code:"STATUS_INVALID_CRUNTIME_PARAMETER",message:"An invalid parameter was passed to a C runtime function."},"0xC0000418":{code:"STATUS_NTLM_BLOCKED",message:"The authentication failed because NTLM was blocked."},"0xC0000419":{code:"STATUS_DS_SRC_SID_EXISTS_IN_FOREST",message:"The source object's SID already exists in destination forest."},"0xC000041A":{code:"STATUS_DS_DOMAIN_NAME_EXISTS_IN_FOREST",message:"The domain name of the trusted domain already exists in the forest."},"0xC000041B":{code:"STATUS_DS_FLAT_NAME_EXISTS_IN_FOREST",message:"The flat name of the trusted domain already exists in the forest."},"0xC000041C":{code:"STATUS_INVALID_USER_PRINCIPAL_NAME",message:"The User Principal Name (UPN) is invalid."},"0xC0000420":{code:"STATUS_ASSERTION_FAILURE",message:"There has been an assertion failure."},"0xC0000421":{code:"STATUS_VERIFIER_STOP",message:"Application verifier has found an error in the current process."},"0xC0000423":{code:"STATUS_CALLBACK_POP_STACK",message:"A user mode unwind is in progress."},"0xC0000424":{code:"STATUS_INCOMPATIBLE_DRIVER_BLOCKED",message:"%2 has been blocked from loading due to incompatibility with this system. Contact your software vendor for a compatible version of the driver."},"0xC0000425":{code:"STATUS_HIVE_UNLOADED",message:"Illegal operation attempted on a registry key which has already been unloaded."},"0xC0000426":{code:"STATUS_COMPRESSION_DISABLED",message:"Compression is disabled for this volume."},"0xC0000427":{code:"STATUS_FILE_SYSTEM_LIMITATION",message:"The requested operation could not be completed due to a file system limitation."},"0xC0000428":{code:"STATUS_INVALID_IMAGE_HASH",message:"The hash for image %hs cannot be found in the system catalogs. The image is likely corrupt or the victim of tampering."},"0xC0000429":{code:"STATUS_NOT_CAPABLE",message:"The implementation is not capable of performing the request."},"0xC000042A":{code:"STATUS_REQUEST_OUT_OF_SEQUENCE",message:"The requested operation is out of order with respect to other operations."},"0xC000042B":{code:"STATUS_IMPLEMENTATION_LIMIT",message:"An operation attempted to exceed an implementation-defined limit."},"0xC000042C":{code:"STATUS_ELEVATION_REQUIRED",message:"The requested operation requires elevation."},"0xC000042D":{code:"STATUS_NO_SECURITY_CONTEXT",message:"The required security context does not exist."},"0xC000042E":{code:"STATUS_PKU2U_CERT_FAILURE",message:"The PKU2U protocol encountered an error while attempting to utilize the associated certificates."},"0xC0000432":{code:"STATUS_BEYOND_VDL",message:"The operation was attempted beyond the valid data length of the file."},"0xC0000433":{code:"STATUS_ENCOUNTERED_WRITE_IN_PROGRESS",message:"The attempted write operation encountered a write already in progress for some portion of the range."},"0xC0000434":{code:"STATUS_PTE_CHANGED",message:"The page fault mappings changed in the middle of processing a fault so the operation must be retried."},"0xC0000435":{code:"STATUS_PURGE_FAILED",message:"The attempt to purge this file from memory failed to purge some or all the data from memory."},"0xC0000440":{code:"STATUS_CRED_REQUIRES_CONFIRMATION",message:"The requested credential requires confirmation."},"0xC0000441":{code:"STATUS_CS_ENCRYPTION_INVALID_SERVER_RESPONSE",message:"The remote server sent an invalid response for a file being opened with Client Side Encryption."},"0xC0000442":{code:"STATUS_CS_ENCRYPTION_UNSUPPORTED_SERVER",message:"Client Side Encryption is not supported by the remote server even though it claims to support it."},"0xC0000443":{code:"STATUS_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE",message:"File is encrypted and should be opened in Client Side Encryption mode."},"0xC0000444":{code:"STATUS_CS_ENCRYPTION_NEW_ENCRYPTED_FILE",message:"A new encrypted file is being created and a $EFS needs to be provided."},"0xC0000445":{code:"STATUS_CS_ENCRYPTION_FILE_NOT_CSE",message:"The SMB client requested a CSE FSCTL on a non-CSE file."},"0xC0000446":{code:"STATUS_INVALID_LABEL",message:"Indicates a particular Security ID may not be assigned as the label of an object."},"0xC0000450":{code:"STATUS_DRIVER_PROCESS_TERMINATED",message:"The process hosting the driver for this device has terminated."},"0xC0000451":{code:"STATUS_AMBIGUOUS_SYSTEM_DEVICE",message:"The requested system device cannot be identified due to multiple indistinguishable devices potentially matching the identification criteria."},"0xC0000452":{code:"STATUS_SYSTEM_DEVICE_NOT_FOUND",message:"The requested system device cannot be found."},"0xC0000453":{code:"STATUS_RESTART_BOOT_APPLICATION",message:"This boot application must be restarted."},"0xC0000454":{code:"STATUS_INSUFFICIENT_NVRAM_RESOURCES",message:"Insufficient NVRAM resources exist to complete the API. A reboot might be required."},"0xC0000460":{code:"STATUS_NO_RANGES_PROCESSED",message:"No ranges for the specified operation were able to be processed."},"0xC0000463":{code:"STATUS_DEVICE_FEATURE_NOT_SUPPORTED",message:"The storage device does not support Offload Write."},"0xC0000464":{code:"STATUS_DEVICE_UNREACHABLE",message:"Data cannot be moved because the source device cannot communicate with the destination device."},"0xC0000465":{code:"STATUS_INVALID_TOKEN",message:"The token representing the data is invalid or expired."},"0xC0000500":{code:"STATUS_INVALID_TASK_NAME",message:"The specified task name is invalid."},"0xC0000501":{code:"STATUS_INVALID_TASK_INDEX",message:"The specified task index is invalid."},"0xC0000502":{code:"STATUS_THREAD_ALREADY_IN_TASK",message:"The specified thread is already joining a task."},"0xC0000503":{code:"STATUS_CALLBACK_BYPASS",message:"A callback has requested to bypass native code."},"0xC0000602":{code:"STATUS_FAIL_FAST_EXCEPTION",message:"A fail fast exception occurred. Exception handlers will not be invoked and the process will be terminated immediately."},"0xC0000603":{code:"STATUS_IMAGE_CERT_REVOKED",message:"Windows cannot verify the digital signature for this file. The signing certificate for this file has been revoked."},"0xC0000700":{code:"STATUS_PORT_CLOSED",message:"The ALPC port is closed."},"0xC0000701":{code:"STATUS_MESSAGE_LOST",message:"The ALPC message requested is no longer available."},"0xC0000702":{code:"STATUS_INVALID_MESSAGE",message:"The ALPC message supplied is invalid."},"0xC0000703":{code:"STATUS_REQUEST_CANCELED",message:"The ALPC message has been canceled."},"0xC0000704":{code:"STATUS_RECURSIVE_DISPATCH",message:"Invalid recursive dispatch attempt."},"0xC0000705":{code:"STATUS_LPC_RECEIVE_BUFFER_EXPECTED",message:"No receive buffer has been supplied in a synchronous request."},"0xC0000706":{code:"STATUS_LPC_INVALID_CONNECTION_USAGE",message:"The connection port is used in an invalid context."},"0xC0000707":{code:"STATUS_LPC_REQUESTS_NOT_ALLOWED",message:"The ALPC port does not accept new request messages."},"0xC0000708":{code:"STATUS_RESOURCE_IN_USE",message:"The resource requested is already in use."},"0xC0000709":{code:"STATUS_HARDWARE_MEMORY_ERROR",message:"The hardware has reported an uncorrectable memory error."},"0xC000070A":{code:"STATUS_THREADPOOL_HANDLE_EXCEPTION",message:"Status 0x%08x was returned, waiting on handle 0x%x for wait 0x%p, in waiter 0x%p."},"0xC000070B":{code:"STATUS_THREADPOOL_SET_EVENT_ON_COMPLETION_FAILED",message:"After a callback to 0x%p(0x%p), a completion call to Set event(0x%p) failed with status 0x%08x."},"0xC000070C":{code:"STATUS_THREADPOOL_RELEASE_SEMAPHORE_ON_COMPLETION_FAILED",message:"After a callback to 0x%p(0x%p), a completion call to ReleaseSemaphore(0x%p, %d) failed with status 0x%08x."},"0xC000070D":{code:"STATUS_THREADPOOL_RELEASE_MUTEX_ON_COMPLETION_FAILED",message:"After a callback to 0x%p(0x%p), a completion call to ReleaseMutex(%p) failed with status 0x%08x."},"0xC000070E":{code:"STATUS_THREADPOOL_FREE_LIBRARY_ON_COMPLETION_FAILED",message:"After a callback to 0x%p(0x%p), a completion call to FreeLibrary(%p) failed with status 0x%08x."},"0xC000070F":{code:"STATUS_THREADPOOL_RELEASED_DURING_OPERATION",message:"The thread pool 0x%p was released while a thread was posting a callback to 0x%p(0x%p) to it."},"0xC0000710":{code:"STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING",message:"A thread pool worker thread is impersonating a client, after a callback to 0x%p(0x%p). This is unexpected, indicating that the callback is missing a call to revert the impersonation."},"0xC0000711":{code:"STATUS_APC_RETURNED_WHILE_IMPERSONATING",message:"A thread pool worker thread is impersonating a client, after executing an APC. This is unexpected, indicating that the APC is missing a call to revert the impersonation."},"0xC0000712":{code:"STATUS_PROCESS_IS_PROTECTED",message:"Either the target process, or the target thread's containing process, is a protected process."},"0xC0000713":{code:"STATUS_MCA_EXCEPTION",message:"A thread is getting dispatched with MCA EXCEPTION because of MCA."},"0xC0000714":{code:"STATUS_CERTIFICATE_MAPPING_NOT_UNIQUE",message:"The client certificate account mapping is not unique."},"0xC0000715":{code:"STATUS_SYMLINK_CLASS_DISABLED",message:"The symbolic link cannot be followed because its type is disabled."},"0xC0000716":{code:"STATUS_INVALID_IDN_NORMALIZATION",message:"Indicates that the specified string is not valid for IDN normalization."},"0xC0000717":{code:"STATUS_NO_UNICODE_TRANSLATION",message:"No mapping for the Unicode character exists in the target multi-byte code page."},"0xC0000718":{code:"STATUS_ALREADY_REGISTERED",message:"The provided callback is already registered."},"0xC0000719":{code:"STATUS_CONTEXT_MISMATCH",message:"The provided context did not match the target."},"0xC000071A":{code:"STATUS_PORT_ALREADY_HAS_COMPLETION_LIST",message:"The specified port already has a completion list."},"0xC000071B":{code:"STATUS_CALLBACK_RETURNED_THREAD_PRIORITY",message:`A threadpool worker thread entered a callback at thread base priority 0x%x and exited at priority 0x%x. +This is unexpected, indicating that the callback missed restoring the priority.`},"0xC000071C":{code:"STATUS_INVALID_THREAD",message:"An invalid thread, handle %p, is specified for this operation. Possibly, a threadpool worker thread was specified."},"0xC000071D":{code:"STATUS_CALLBACK_RETURNED_TRANSACTION",message:`A threadpool worker thread entered a callback, which left transaction state. +This is unexpected, indicating that the callback missed clearing the transaction.`},"0xC000071E":{code:"STATUS_CALLBACK_RETURNED_LDR_LOCK",message:`A threadpool worker thread entered a callback, which left the loader lock held. +This is unexpected, indicating that the callback missed releasing the lock.`},"0xC000071F":{code:"STATUS_CALLBACK_RETURNED_LANG",message:`A threadpool worker thread entered a callback, which left with preferred languages set. +This is unexpected, indicating that the callback missed clearing them.`},"0xC0000720":{code:"STATUS_CALLBACK_RETURNED_PRI_BACK",message:`A threadpool worker thread entered a callback, which left with background priorities set. +This is unexpected, indicating that the callback missed restoring the original priorities.`},"0xC0000800":{code:"STATUS_DISK_REPAIR_DISABLED",message:"The attempted operation required self healing to be enabled."},"0xC0000801":{code:"STATUS_DS_DOMAIN_RENAME_IN_PROGRESS",message:"The directory service cannot perform the requested operation because a domain rename operation is in progress."},"0xC0000802":{code:"STATUS_DISK_QUOTA_EXCEEDED",message:"An operation failed because the storage quota was exceeded."},"0xC0000804":{code:"STATUS_CONTENT_BLOCKED",message:"An operation failed because the content was blocked."},"0xC0000805":{code:"STATUS_BAD_CLUSTERS",message:"The operation could not be completed due to bad clusters on disk."},"0xC0000806":{code:"STATUS_VOLUME_DIRTY",message:"The operation could not be completed because the volume is dirty. Please run the Chkdsk utility and try again."},"0xC0000901":{code:"STATUS_FILE_CHECKED_OUT",message:"This file is checked out or locked for editing by another user."},"0xC0000902":{code:"STATUS_CHECKOUT_REQUIRED",message:"The file must be checked out before saving changes."},"0xC0000903":{code:"STATUS_BAD_FILE_TYPE",message:"The file type being saved or retrieved has been blocked."},"0xC0000904":{code:"STATUS_FILE_TOO_LARGE",message:"The file size exceeds the limit allowed and cannot be saved."},"0xC0000905":{code:"STATUS_FORMS_AUTH_REQUIRED",message:"Access Denied. Before opening files in this location, you must first browse to the e.g. site and select the option to log on automatically."},"0xC0000906":{code:"STATUS_VIRUS_INFECTED",message:"The operation did not complete successfully because the file contains a virus."},"0xC0000907":{code:"STATUS_VIRUS_DELETED",message:"This file contains a virus and cannot be opened. Due to the nature of this virus, the file has been removed from this location."},"0xC0000908":{code:"STATUS_BAD_MCFG_TABLE",message:"The resources required for this device conflict with the MCFG table."},"0xC0000909":{code:"STATUS_CANNOT_BREAK_OPLOCK",message:"The operation did not complete successfully because it would cause an oplock to be broken. The caller has requested that existing oplocks not be broken."},"0xC0009898":{code:"STATUS_WOW_ASSERTION",message:"WOW Assertion Error."},"0xC000A000":{code:"STATUS_INVALID_SIGNATURE",message:"The cryptographic signature is invalid."},"0xC000A001":{code:"STATUS_HMAC_NOT_SUPPORTED",message:"The cryptographic provider does not support HMAC."},"0xC000A010":{code:"STATUS_IPSEC_QUEUE_OVERFLOW",message:"The IPsec queue overflowed."},"0xC000A011":{code:"STATUS_ND_QUEUE_OVERFLOW",message:"The neighbor discovery queue overflowed."},"0xC000A012":{code:"STATUS_HOPLIMIT_EXCEEDED",message:"An Internet Control Message Protocol (ICMP) hop limit exceeded error was received."},"0xC000A013":{code:"STATUS_PROTOCOL_NOT_SUPPORTED",message:"The protocol is not installed on the local machine."},"0xC000A080":{code:"STATUS_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED",message:"{Delayed Write Failed} Windows was unable to save all the data for the file %hs; the data has been lost. This error may be caused by network connectivity issues. Try to save this file elsewhere."},"0xC000A081":{code:"STATUS_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR",message:"{Delayed Write Failed} Windows was unable to save all the data for the file %hs; the data has been lost. This error was returned by the server on which the file exists. Try to save this file elsewhere."},"0xC000A082":{code:"STATUS_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR",message:"{Delayed Write Failed} Windows was unable to save all the data for the file %hs; the data has been lost. This error may be caused if the device has been removed or the media is write-protected."},"0xC000A083":{code:"STATUS_XML_PARSE_ERROR",message:"Windows was unable to parse the requested XML data."},"0xC000A084":{code:"STATUS_XMLDSIG_ERROR",message:"An error was encountered while processing an XML digital signature."},"0xC000A085":{code:"STATUS_WRONG_COMPARTMENT",message:"This indicates that the caller made the connection request in the wrong routing compartment."},"0xC000A086":{code:"STATUS_AUTHIP_FAILURE",message:"This indicates that there was an AuthIP failure when attempting to connect to the remote host."},"0xC000A087":{code:"STATUS_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS",message:"OID mapped groups cannot have members."},"0xC000A088":{code:"STATUS_DS_OID_NOT_FOUND",message:"The specified OID cannot be found."},"0xC000A100":{code:"STATUS_HASH_NOT_SUPPORTED",message:"Hash generation for the specified version and hash type is not enabled on server."},"0xC000A101":{code:"STATUS_HASH_NOT_PRESENT",message:"The hash requests is not present or not up to date with the current file contents."},"0xC000A2A1":{code:"STATUS_OFFLOAD_READ_FLT_NOT_SUPPORTED",message:"A file system filter on the server has not opted in for Offload Read support."},"0xC000A2A2":{code:"STATUS_OFFLOAD_WRITE_FLT_NOT_SUPPORTED",message:"A file system filter on the server has not opted in for Offload Write support."},"0xC000A2A3":{code:"STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED",message:`Offload read operations cannot be performed on: +Compressed files +Sparse files +Encrypted files +File system metadata files`},"0xC000A2A4":{code:"STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED",message:`Offload write operations cannot be performed on: +Compressed files +Sparse files +Encrypted files +File system metadata files`},"0xC0010001":{code:"DBG_NO_STATE_CHANGE",message:"The debugger did not perform a state change."},"0xC0010002":{code:"DBG_APP_NOT_IDLE",message:"The debugger found that the application is not idle."},"0xC0020001":{code:"RPC_NT_INVALID_STRING_BINDING",message:"The string binding is invalid."},"0xC0020002":{code:"RPC_NT_WRONG_KIND_OF_BINDING",message:"The binding handle is not the correct type."},"0xC0020003":{code:"RPC_NT_INVALID_BINDING",message:"The binding handle is invalid."},"0xC0020004":{code:"RPC_NT_PROTSEQ_NOT_SUPPORTED",message:"The RPC protocol sequence is not supported."},"0xC0020005":{code:"RPC_NT_INVALID_RPC_PROTSEQ",message:"The RPC protocol sequence is invalid."},"0xC0020006":{code:"RPC_NT_INVALID_STRING_UUID",message:"The string UUID is invalid."},"0xC0020007":{code:"RPC_NT_INVALID_ENDPOINT_FORMAT",message:"The endpoint format is invalid."},"0xC0020008":{code:"RPC_NT_INVALID_NET_ADDR",message:"The network address is invalid."},"0xC0020009":{code:"RPC_NT_NO_ENDPOINT_FOUND",message:"No endpoint was found."},"0xC002000A":{code:"RPC_NT_INVALID_TIMEOUT",message:"The time-out value is invalid."},"0xC002000B":{code:"RPC_NT_OBJECT_NOT_FOUND",message:"The object UUID was not found."},"0xC002000C":{code:"RPC_NT_ALREADY_REGISTERED",message:"The object UUID has already been registered."},"0xC002000D":{code:"RPC_NT_TYPE_ALREADY_REGISTERED",message:"The type UUID has already been registered."},"0xC002000E":{code:"RPC_NT_ALREADY_LISTENING",message:"The RPC server is already listening."},"0xC002000F":{code:"RPC_NT_NO_PROTSEQS_REGISTERED",message:"No protocol sequences have been registered."},"0xC0020010":{code:"RPC_NT_NOT_LISTENING",message:"The RPC server is not listening."},"0xC0020011":{code:"RPC_NT_UNKNOWN_MGR_TYPE",message:"The manager type is unknown."},"0xC0020012":{code:"RPC_NT_UNKNOWN_IF",message:"The interface is unknown."},"0xC0020013":{code:"RPC_NT_NO_BINDINGS",message:"There are no bindings."},"0xC0020014":{code:"RPC_NT_NO_PROTSEQS",message:"There are no protocol sequences."},"0xC0020015":{code:"RPC_NT_CANT_CREATE_ENDPOINT",message:"The endpoint cannot be created."},"0xC0020016":{code:"RPC_NT_OUT_OF_RESOURCES",message:"Insufficient resources are available to complete this operation."},"0xC0020017":{code:"RPC_NT_SERVER_UNAVAILABLE",message:"The RPC server is unavailable."},"0xC0020018":{code:"RPC_NT_SERVER_TOO_BUSY",message:"The RPC server is too busy to complete this operation."},"0xC0020019":{code:"RPC_NT_INVALID_NETWORK_OPTIONS",message:"The network options are invalid."},"0xC002001A":{code:"RPC_NT_NO_CALL_ACTIVE",message:"No RPCs are active on this thread."},"0xC002001B":{code:"RPC_NT_CALL_FAILED",message:"The RPC failed."},"0xC002001C":{code:"RPC_NT_CALL_FAILED_DNE",message:"The RPC failed and did not execute."},"0xC002001D":{code:"RPC_NT_PROTOCOL_ERROR",message:"An RPC protocol error occurred."},"0xC002001F":{code:"RPC_NT_UNSUPPORTED_TRANS_SYN",message:"The RPC server does not support the transfer syntax."},"0xC0020021":{code:"RPC_NT_UNSUPPORTED_TYPE",message:"The type UUID is not supported."},"0xC0020022":{code:"RPC_NT_INVALID_TAG",message:"The tag is invalid."},"0xC0020023":{code:"RPC_NT_INVALID_BOUND",message:"The array bounds are invalid."},"0xC0020024":{code:"RPC_NT_NO_ENTRY_NAME",message:"The binding does not contain an entry name."},"0xC0020025":{code:"RPC_NT_INVALID_NAME_SYNTAX",message:"The name syntax is invalid."},"0xC0020026":{code:"RPC_NT_UNSUPPORTED_NAME_SYNTAX",message:"The name syntax is not supported."},"0xC0020028":{code:"RPC_NT_UUID_NO_ADDRESS",message:"No network address is available to construct a UUID."},"0xC0020029":{code:"RPC_NT_DUPLICATE_ENDPOINT",message:"The endpoint is a duplicate."},"0xC002002A":{code:"RPC_NT_UNKNOWN_AUTHN_TYPE",message:"The authentication type is unknown."},"0xC002002B":{code:"RPC_NT_MAX_CALLS_TOO_SMALL",message:"The maximum number of calls is too small."},"0xC002002C":{code:"RPC_NT_STRING_TOO_LONG",message:"The string is too long."},"0xC002002D":{code:"RPC_NT_PROTSEQ_NOT_FOUND",message:"The RPC protocol sequence was not found."},"0xC002002E":{code:"RPC_NT_PROCNUM_OUT_OF_RANGE",message:"The procedure number is out of range."},"0xC002002F":{code:"RPC_NT_BINDING_HAS_NO_AUTH",message:"The binding does not contain any authentication information."},"0xC0020030":{code:"RPC_NT_UNKNOWN_AUTHN_SERVICE",message:"The authentication service is unknown."},"0xC0020031":{code:"RPC_NT_UNKNOWN_AUTHN_LEVEL",message:"The authentication level is unknown."},"0xC0020032":{code:"RPC_NT_INVALID_AUTH_IDENTITY",message:"The security context is invalid."},"0xC0020033":{code:"RPC_NT_UNKNOWN_AUTHZ_SERVICE",message:"The authorization service is unknown."},"0xC0020034":{code:"EPT_NT_INVALID_ENTRY",message:"The entry is invalid."},"0xC0020035":{code:"EPT_NT_CANT_PERFORM_OP",message:"The operation cannot be performed."},"0xC0020036":{code:"EPT_NT_NOT_REGISTERED",message:"No more endpoints are available from the endpoint mapper."},"0xC0020037":{code:"RPC_NT_NOTHING_TO_EXPORT",message:"No interfaces have been exported."},"0xC0020038":{code:"RPC_NT_INCOMPLETE_NAME",message:"The entry name is incomplete."},"0xC0020039":{code:"RPC_NT_INVALID_VERS_OPTION",message:"The version option is invalid."},"0xC002003A":{code:"RPC_NT_NO_MORE_MEMBERS",message:"There are no more members."},"0xC002003B":{code:"RPC_NT_NOT_ALL_OBJS_UNEXPORTED",message:"There is nothing to unexport."},"0xC002003C":{code:"RPC_NT_INTERFACE_NOT_FOUND",message:"The interface was not found."},"0xC002003D":{code:"RPC_NT_ENTRY_ALREADY_EXISTS",message:"The entry already exists."},"0xC002003E":{code:"RPC_NT_ENTRY_NOT_FOUND",message:"The entry was not found."},"0xC002003F":{code:"RPC_NT_NAME_SERVICE_UNAVAILABLE",message:"The name service is unavailable."},"0xC0020040":{code:"RPC_NT_INVALID_NAF_ID",message:"The network address family is invalid."},"0xC0020041":{code:"RPC_NT_CANNOT_SUPPORT",message:"The requested operation is not supported."},"0xC0020042":{code:"RPC_NT_NO_CONTEXT_AVAILABLE",message:"No security context is available to allow impersonation."},"0xC0020043":{code:"RPC_NT_INTERNAL_ERROR",message:"An internal error occurred in the RPC."},"0xC0020044":{code:"RPC_NT_ZERO_DIVIDE",message:"The RPC server attempted to divide an integer by zero."},"0xC0020045":{code:"RPC_NT_ADDRESS_ERROR",message:"An addressing error occurred in the RPC server."},"0xC0020046":{code:"RPC_NT_FP_DIV_ZERO",message:"A floating point operation at the RPC server caused a divide by zero."},"0xC0020047":{code:"RPC_NT_FP_UNDERFLOW",message:"A floating point underflow occurred at the RPC server."},"0xC0020048":{code:"RPC_NT_FP_OVERFLOW",message:"A floating point overflow occurred at the RPC server."},"0xC0020049":{code:"RPC_NT_CALL_IN_PROGRESS",message:"An RPC is already in progress for this thread."},"0xC002004A":{code:"RPC_NT_NO_MORE_BINDINGS",message:"There are no more bindings."},"0xC002004B":{code:"RPC_NT_GROUP_MEMBER_NOT_FOUND",message:"The group member was not found."},"0xC002004C":{code:"EPT_NT_CANT_CREATE",message:"The endpoint mapper database entry could not be created."},"0xC002004D":{code:"RPC_NT_INVALID_OBJECT",message:"The object UUID is the nil UUID."},"0xC002004F":{code:"RPC_NT_NO_INTERFACES",message:"No interfaces have been registered."},"0xC0020050":{code:"RPC_NT_CALL_CANCELLED",message:"The RPC was canceled."},"0xC0020051":{code:"RPC_NT_BINDING_INCOMPLETE",message:"The binding handle does not contain all the required information."},"0xC0020052":{code:"RPC_NT_COMM_FAILURE",message:"A communications failure occurred during an RPC."},"0xC0020053":{code:"RPC_NT_UNSUPPORTED_AUTHN_LEVEL",message:"The requested authentication level is not supported."},"0xC0020054":{code:"RPC_NT_NO_PRINC_NAME",message:"No principal name was registered."},"0xC0020055":{code:"RPC_NT_NOT_RPC_ERROR",message:"The error specified is not a valid Windows RPC error code."},"0xC0020057":{code:"RPC_NT_SEC_PKG_ERROR",message:"A security package-specific error occurred."},"0xC0020058":{code:"RPC_NT_NOT_CANCELLED",message:"The thread was not canceled."},"0xC0020062":{code:"RPC_NT_INVALID_ASYNC_HANDLE",message:"Invalid asynchronous RPC handle."},"0xC0020063":{code:"RPC_NT_INVALID_ASYNC_CALL",message:"Invalid asynchronous RPC call handle for this operation."},"0xC0020064":{code:"RPC_NT_PROXY_ACCESS_DENIED",message:"Access to the HTTP proxy is denied."},"0xC0030001":{code:"RPC_NT_NO_MORE_ENTRIES",message:"The list of RPC servers available for auto-handle binding has been exhausted."},"0xC0030002":{code:"RPC_NT_SS_CHAR_TRANS_OPEN_FAIL",message:"The file designated by DCERPCCHARTRANS cannot be opened."},"0xC0030003":{code:"RPC_NT_SS_CHAR_TRANS_SHORT_FILE",message:"The file containing the character translation table has fewer than 512 bytes."},"0xC0030004":{code:"RPC_NT_SS_IN_NULL_CONTEXT",message:"A null context handle is passed as an [in] parameter."},"0xC0030005":{code:"RPC_NT_SS_CONTEXT_MISMATCH",message:"The context handle does not match any known context handles."},"0xC0030006":{code:"RPC_NT_SS_CONTEXT_DAMAGED",message:"The context handle changed during a call."},"0xC0030007":{code:"RPC_NT_SS_HANDLES_MISMATCH",message:"The binding handles passed to an RPC do not match."},"0xC0030008":{code:"RPC_NT_SS_CANNOT_GET_CALL_HANDLE",message:"The stub is unable to get the call handle."},"0xC0030009":{code:"RPC_NT_NULL_REF_POINTER",message:"A null reference pointer was passed to the stub."},"0xC003000A":{code:"RPC_NT_ENUM_VALUE_OUT_OF_RANGE",message:"The enumeration value is out of range."},"0xC003000B":{code:"RPC_NT_BYTE_COUNT_TOO_SMALL",message:"The byte count is too small."},"0xC003000C":{code:"RPC_NT_BAD_STUB_DATA",message:"The stub received bad data."},"0xC0030059":{code:"RPC_NT_INVALID_ES_ACTION",message:"Invalid operation on the encoding/decoding handle."},"0xC003005A":{code:"RPC_NT_WRONG_ES_VERSION",message:"Incompatible version of the serializing package."},"0xC003005B":{code:"RPC_NT_WRONG_STUB_VERSION",message:"Incompatible version of the RPC stub."},"0xC003005C":{code:"RPC_NT_INVALID_PIPE_OBJECT",message:"The RPC pipe object is invalid or corrupt."},"0xC003005D":{code:"RPC_NT_INVALID_PIPE_OPERATION",message:"An invalid operation was attempted on an RPC pipe object."},"0xC003005E":{code:"RPC_NT_WRONG_PIPE_VERSION",message:"Unsupported RPC pipe version."},"0xC003005F":{code:"RPC_NT_PIPE_CLOSED",message:"The RPC pipe object has already been closed."},"0xC0030060":{code:"RPC_NT_PIPE_DISCIPLINE_ERROR",message:"The RPC call completed before all pipes were processed."},"0xC0030061":{code:"RPC_NT_PIPE_EMPTY",message:"No more data is available from the RPC pipe."},"0xC0040035":{code:"STATUS_PNP_BAD_MPS_TABLE",message:"A device is missing in the system BIOS MPS table. This device will not be used. Contact your system vendor for a system BIOS update."},"0xC0040036":{code:"STATUS_PNP_TRANSLATION_FAILED",message:"A translator failed to translate resources."},"0xC0040037":{code:"STATUS_PNP_IRQ_TRANSLATION_FAILED",message:"An IRQ translator failed to translate resources."},"0xC0040038":{code:"STATUS_PNP_INVALID_ID",message:"Driver %2 returned an invalid ID for a child device (%3)."},"0xC0040039":{code:"STATUS_IO_REISSUE_AS_CACHED",message:"Reissue the given operation as a cached I/O operation"},"0xC00A0001":{code:"STATUS_CTX_WINSTATION_NAME_INVALID",message:"Session name %1 is invalid."},"0xC00A0002":{code:"STATUS_CTX_INVALID_PD",message:"The protocol driver %1 is invalid."},"0xC00A0003":{code:"STATUS_CTX_PD_NOT_FOUND",message:"The protocol driver %1 was not found in the system path."},"0xC00A0006":{code:"STATUS_CTX_CLOSE_PENDING",message:"A close operation is pending on the terminal connection."},"0xC00A0007":{code:"STATUS_CTX_NO_OUTBUF",message:"No free output buffers are available."},"0xC00A0008":{code:"STATUS_CTX_MODEM_INF_NOT_FOUND",message:"The MODEM.INF file was not found."},"0xC00A0009":{code:"STATUS_CTX_INVALID_MODEMNAME",message:"The modem (%1) was not found in the MODEM.INF file."},"0xC00A000A":{code:"STATUS_CTX_RESPONSE_ERROR",message:"The modem did not accept the command sent to it. Verify that the configured modem name matches the attached modem."},"0xC00A000B":{code:"STATUS_CTX_MODEM_RESPONSE_TIMEOUT",message:"The modem did not respond to the command sent to it. Verify that the modem cable is properly attached and the modem is turned on."},"0xC00A000C":{code:"STATUS_CTX_MODEM_RESPONSE_NO_CARRIER",message:"Carrier detection has failed or the carrier has been dropped due to disconnection."},"0xC00A000D":{code:"STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE",message:"A dial tone was not detected within the required time. Verify that the phone cable is properly attached and functional."},"0xC00A000E":{code:"STATUS_CTX_MODEM_RESPONSE_BUSY",message:"A busy signal was detected at a remote site on callback."},"0xC00A000F":{code:"STATUS_CTX_MODEM_RESPONSE_VOICE",message:"A voice was detected at a remote site on callback."},"0xC00A0010":{code:"STATUS_CTX_TD_ERROR",message:"Transport driver error."},"0xC00A0012":{code:"STATUS_CTX_LICENSE_CLIENT_INVALID",message:"The client you are using is not licensed to use this system. Your logon request is denied."},"0xC00A0013":{code:"STATUS_CTX_LICENSE_NOT_AVAILABLE",message:"The system has reached its licensed logon limit. Try again later."},"0xC00A0014":{code:"STATUS_CTX_LICENSE_EXPIRED",message:"The system license has expired. Your logon request is denied."},"0xC00A0015":{code:"STATUS_CTX_WINSTATION_NOT_FOUND",message:"The specified session cannot be found."},"0xC00A0016":{code:"STATUS_CTX_WINSTATION_NAME_COLLISION",message:"The specified session name is already in use."},"0xC00A0017":{code:"STATUS_CTX_WINSTATION_BUSY",message:"The requested operation cannot be completed because the terminal connection is currently processing a connect, disconnect, reset, or delete operation."},"0xC00A0018":{code:"STATUS_CTX_BAD_VIDEO_MODE",message:"An attempt has been made to connect to a session whose video mode is not supported by the current client."},"0xC00A0022":{code:"STATUS_CTX_GRAPHICS_INVALID",message:"The application attempted to enable DOS graphics mode. DOS graphics mode is not supported."},"0xC00A0024":{code:"STATUS_CTX_NOT_CONSOLE",message:"The requested operation can be performed only on the system console. This is most often the result of a driver or system DLL requiring direct console access."},"0xC00A0026":{code:"STATUS_CTX_CLIENT_QUERY_TIMEOUT",message:"The client failed to respond to the server connect message."},"0xC00A0027":{code:"STATUS_CTX_CONSOLE_DISCONNECT",message:"Disconnecting the console session is not supported."},"0xC00A0028":{code:"STATUS_CTX_CONSOLE_CONNECT",message:"Reconnecting a disconnected session to the console is not supported."},"0xC00A002A":{code:"STATUS_CTX_SHADOW_DENIED",message:"The request to control another session remotely was denied."},"0xC00A002B":{code:"STATUS_CTX_WINSTATION_ACCESS_DENIED",message:"A process has requested access to a session, but has not been granted those access rights."},"0xC00A002E":{code:"STATUS_CTX_INVALID_WD",message:"The terminal connection driver %1 is invalid."},"0xC00A002F":{code:"STATUS_CTX_WD_NOT_FOUND",message:"The terminal connection driver %1 was not found in the system path."},"0xC00A0030":{code:"STATUS_CTX_SHADOW_INVALID",message:"The requested session cannot be controlled remotely. You cannot control your own session, a session that is trying to control your session, a session that has no user logged on, or other sessions from the console."},"0xC00A0031":{code:"STATUS_CTX_SHADOW_DISABLED",message:"The requested session is not configured to allow remote control."},"0xC00A0032":{code:"STATUS_RDP_PROTOCOL_ERROR",message:"The RDP protocol component %2 detected an error in the protocol stream and has disconnected the client."},"0xC00A0033":{code:"STATUS_CTX_CLIENT_LICENSE_NOT_SET",message:"Your request to connect to this terminal server has been rejected. Your terminal server client license number has not been entered for this copy of the terminal client. Contact your system administrator for help in entering a valid, unique license number for this terminal server client. Click OK to continue."},"0xC00A0034":{code:"STATUS_CTX_CLIENT_LICENSE_IN_USE",message:"Your request to connect to this terminal server has been rejected. Your terminal server client license number is currently being used by another user. Contact your system administrator to obtain a new copy of the terminal server client with a valid, unique license number. Click OK to continue."},"0xC00A0035":{code:"STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE",message:"The remote control of the console was terminated because the display mode was changed. Changing the display mode in a remote control session is not supported."},"0xC00A0036":{code:"STATUS_CTX_SHADOW_NOT_RUNNING",message:"Remote control could not be terminated because the specified session is not currently being remotely controlled."},"0xC00A0037":{code:"STATUS_CTX_LOGON_DISABLED",message:"Your interactive logon privilege has been disabled. Contact your system administrator."},"0xC00A0038":{code:"STATUS_CTX_SECURITY_LAYER_ERROR",message:"The terminal server security layer detected an error in the protocol stream and has disconnected the client."},"0xC00A0039":{code:"STATUS_TS_INCOMPATIBLE_SESSIONS",message:"The target session is incompatible with the current session."},"0xC00B0001":{code:"STATUS_MUI_FILE_NOT_FOUND",message:"The resource loader failed to find an MUI file."},"0xC00B0002":{code:"STATUS_MUI_INVALID_FILE",message:"The resource loader failed to load an MUI file because the file failed to pass validation."},"0xC00B0003":{code:"STATUS_MUI_INVALID_RC_CONFIG",message:"The RC manifest is corrupted with garbage data, is an unsupported version, or is missing a required item."},"0xC00B0004":{code:"STATUS_MUI_INVALID_LOCALE_NAME",message:"The RC manifest has an invalid culture name."},"0xC00B0005":{code:"STATUS_MUI_INVALID_ULTIMATEFALLBACK_NAME",message:"The RC manifest has and invalid ultimate fallback name."},"0xC00B0006":{code:"STATUS_MUI_FILE_NOT_LOADED",message:"The resource loader cache does not have a loaded MUI entry."},"0xC00B0007":{code:"STATUS_RESOURCE_ENUM_USER_STOP",message:"The user stopped resource enumeration."},"0xC0130001":{code:"STATUS_CLUSTER_INVALID_NODE",message:"The cluster node is not valid."},"0xC0130002":{code:"STATUS_CLUSTER_NODE_EXISTS",message:"The cluster node already exists."},"0xC0130003":{code:"STATUS_CLUSTER_JOIN_IN_PROGRESS",message:"A node is in the process of joining the cluster."},"0xC0130004":{code:"STATUS_CLUSTER_NODE_NOT_FOUND",message:"The cluster node was not found."},"0xC0130005":{code:"STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND",message:"The cluster local node information was not found."},"0xC0130006":{code:"STATUS_CLUSTER_NETWORK_EXISTS",message:"The cluster network already exists."},"0xC0130007":{code:"STATUS_CLUSTER_NETWORK_NOT_FOUND",message:"The cluster network was not found."},"0xC0130008":{code:"STATUS_CLUSTER_NETINTERFACE_EXISTS",message:"The cluster network interface already exists."},"0xC0130009":{code:"STATUS_CLUSTER_NETINTERFACE_NOT_FOUND",message:"The cluster network interface was not found."},"0xC013000A":{code:"STATUS_CLUSTER_INVALID_REQUEST",message:"The cluster request is not valid for this object."},"0xC013000B":{code:"STATUS_CLUSTER_INVALID_NETWORK_PROVIDER",message:"The cluster network provider is not valid."},"0xC013000C":{code:"STATUS_CLUSTER_NODE_DOWN",message:"The cluster node is down."},"0xC013000D":{code:"STATUS_CLUSTER_NODE_UNREACHABLE",message:"The cluster node is not reachable."},"0xC013000E":{code:"STATUS_CLUSTER_NODE_NOT_MEMBER",message:"The cluster node is not a member of the cluster."},"0xC013000F":{code:"STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS",message:"A cluster join operation is not in progress."},"0xC0130010":{code:"STATUS_CLUSTER_INVALID_NETWORK",message:"The cluster network is not valid."},"0xC0130011":{code:"STATUS_CLUSTER_NO_NET_ADAPTERS",message:"No network adapters are available."},"0xC0130012":{code:"STATUS_CLUSTER_NODE_UP",message:"The cluster node is up."},"0xC0130013":{code:"STATUS_CLUSTER_NODE_PAUSED",message:"The cluster node is paused."},"0xC0130014":{code:"STATUS_CLUSTER_NODE_NOT_PAUSED",message:"The cluster node is not paused."},"0xC0130015":{code:"STATUS_CLUSTER_NO_SECURITY_CONTEXT",message:"No cluster security context is available."},"0xC0130016":{code:"STATUS_CLUSTER_NETWORK_NOT_INTERNAL",message:"The cluster network is not configured for internal cluster communication."},"0xC0130017":{code:"STATUS_CLUSTER_POISONED",message:"The cluster node has been poisoned."},"0xC0140001":{code:"STATUS_ACPI_INVALID_OPCODE",message:"An attempt was made to run an invalid AML opcode."},"0xC0140002":{code:"STATUS_ACPI_STACK_OVERFLOW",message:"The AML interpreter stack has overflowed."},"0xC0140003":{code:"STATUS_ACPI_ASSERT_FAILED",message:"An inconsistent state has occurred."},"0xC0140004":{code:"STATUS_ACPI_INVALID_INDEX",message:"An attempt was made to access an array outside its bounds."},"0xC0140005":{code:"STATUS_ACPI_INVALID_ARGUMENT",message:"A required argument was not specified."},"0xC0140006":{code:"STATUS_ACPI_FATAL",message:"A fatal error has occurred."},"0xC0140007":{code:"STATUS_ACPI_INVALID_SUPERNAME",message:"An invalid SuperName was specified."},"0xC0140008":{code:"STATUS_ACPI_INVALID_ARGTYPE",message:"An argument with an incorrect type was specified."},"0xC0140009":{code:"STATUS_ACPI_INVALID_OBJTYPE",message:"An object with an incorrect type was specified."},"0xC014000A":{code:"STATUS_ACPI_INVALID_TARGETTYPE",message:"A target with an incorrect type was specified."},"0xC014000B":{code:"STATUS_ACPI_INCORRECT_ARGUMENT_COUNT",message:"An incorrect number of arguments was specified."},"0xC014000C":{code:"STATUS_ACPI_ADDRESS_NOT_MAPPED",message:"An address failed to translate."},"0xC014000D":{code:"STATUS_ACPI_INVALID_EVENTTYPE",message:"An incorrect event type was specified."},"0xC014000E":{code:"STATUS_ACPI_HANDLER_COLLISION",message:"A handler for the target already exists."},"0xC014000F":{code:"STATUS_ACPI_INVALID_DATA",message:"Invalid data for the target was specified."},"0xC0140010":{code:"STATUS_ACPI_INVALID_REGION",message:"An invalid region for the target was specified."},"0xC0140011":{code:"STATUS_ACPI_INVALID_ACCESS_SIZE",message:"An attempt was made to access a field outside the defined range."},"0xC0140012":{code:"STATUS_ACPI_ACQUIRE_GLOBAL_LOCK",message:"The global system lock could not be acquired."},"0xC0140013":{code:"STATUS_ACPI_ALREADY_INITIALIZED",message:"An attempt was made to reinitialize the ACPI subsystem."},"0xC0140014":{code:"STATUS_ACPI_NOT_INITIALIZED",message:"The ACPI subsystem has not been initialized."},"0xC0140015":{code:"STATUS_ACPI_INVALID_MUTEX_LEVEL",message:"An incorrect mutex was specified."},"0xC0140016":{code:"STATUS_ACPI_MUTEX_NOT_OWNED",message:"The mutex is not currently owned."},"0xC0140017":{code:"STATUS_ACPI_MUTEX_NOT_OWNER",message:"An attempt was made to access the mutex by a process that was not the owner."},"0xC0140018":{code:"STATUS_ACPI_RS_ACCESS",message:"An error occurred during an access to region space."},"0xC0140019":{code:"STATUS_ACPI_INVALID_TABLE",message:"An attempt was made to use an incorrect table."},"0xC0140020":{code:"STATUS_ACPI_REG_HANDLER_FAILED",message:"The registration of an ACPI event failed."},"0xC0140021":{code:"STATUS_ACPI_POWER_REQUEST_FAILED",message:"An ACPI power object failed to transition state."},"0xC0150001":{code:"STATUS_SXS_SECTION_NOT_FOUND",message:"The requested section is not present in the activation context."},"0xC0150002":{code:"STATUS_SXS_CANT_GEN_ACTCTX",message:"Windows was unble to process the application binding information. Refer to the system event log for further information."},"0xC0150003":{code:"STATUS_SXS_INVALID_ACTCTXDATA_FORMAT",message:"The application binding data format is invalid."},"0xC0150004":{code:"STATUS_SXS_ASSEMBLY_NOT_FOUND",message:"The referenced assembly is not installed on the system."},"0xC0150005":{code:"STATUS_SXS_MANIFEST_FORMAT_ERROR",message:"The manifest file does not begin with the required tag and format information."},"0xC0150006":{code:"STATUS_SXS_MANIFEST_PARSE_ERROR",message:"The manifest file contains one or more syntax errors."},"0xC0150007":{code:"STATUS_SXS_ACTIVATION_CONTEXT_DISABLED",message:"The application attempted to activate a disabled activation context."},"0xC0150008":{code:"STATUS_SXS_KEY_NOT_FOUND",message:"The requested lookup key was not found in any active activation context."},"0xC0150009":{code:"STATUS_SXS_VERSION_CONFLICT",message:"A component version required by the application conflicts with another component version that is already active."},"0xC015000A":{code:"STATUS_SXS_WRONG_SECTION_TYPE",message:"The type requested activation context section does not match the query API used."},"0xC015000B":{code:"STATUS_SXS_THREAD_QUERIES_DISABLED",message:"Lack of system resources has required isolated activation to be disabled for the current thread of execution."},"0xC015000C":{code:"STATUS_SXS_ASSEMBLY_MISSING",message:"The referenced assembly could not be found."},"0xC015000E":{code:"STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET",message:"An attempt to set the process default activation context failed because the process default activation context was already set."},"0xC015000F":{code:"STATUS_SXS_EARLY_DEACTIVATION",message:"The activation context being deactivated is not the most recently activated one."},"0xC0150010":{code:"STATUS_SXS_INVALID_DEACTIVATION",message:"The activation context being deactivated is not active for the current thread of execution."},"0xC0150011":{code:"STATUS_SXS_MULTIPLE_DEACTIVATION",message:"The activation context being deactivated has already been deactivated."},"0xC0150012":{code:"STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY",message:"The activation context of the system default assembly could not be generated."},"0xC0150013":{code:"STATUS_SXS_PROCESS_TERMINATION_REQUESTED",message:"A component used by the isolation facility has requested that the process be terminated."},"0xC0150014":{code:"STATUS_SXS_CORRUPT_ACTIVATION_STACK",message:"The activation context activation stack for the running thread of execution is corrupt."},"0xC0150015":{code:"STATUS_SXS_CORRUPTION",message:"The application isolation metadata for this process or thread has become corrupt."},"0xC0150016":{code:"STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE",message:"The value of an attribute in an identity is not within the legal range."},"0xC0150017":{code:"STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME",message:"The name of an attribute in an identity is not within the legal range."},"0xC0150018":{code:"STATUS_SXS_IDENTITY_DUPLICATE_ATTRIBUTE",message:"An identity contains two definitions for the same attribute."},"0xC0150019":{code:"STATUS_SXS_IDENTITY_PARSE_ERROR",message:"The identity string is malformed. This may be due to a trailing comma, more than two unnamed attributes, a missing attribute name, or a missing attribute value."},"0xC015001A":{code:"STATUS_SXS_COMPONENT_STORE_CORRUPT",message:"The component store has become corrupted."},"0xC015001B":{code:"STATUS_SXS_FILE_HASH_MISMATCH",message:"A component's file does not match the verification information present in the component manifest."},"0xC015001C":{code:"STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT",message:"The identities of the manifests are identical, but their contents are different."},"0xC015001D":{code:"STATUS_SXS_IDENTITIES_DIFFERENT",message:"The component identities are different."},"0xC015001E":{code:"STATUS_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT",message:"The assembly is not a deployment."},"0xC015001F":{code:"STATUS_SXS_FILE_NOT_PART_OF_ASSEMBLY",message:"The file is not a part of the assembly."},"0xC0150020":{code:"STATUS_ADVANCED_INSTALLER_FAILED",message:"An advanced installer failed during setup or servicing."},"0xC0150021":{code:"STATUS_XML_ENCODING_MISMATCH",message:"The character encoding in the XML declaration did not match the encoding used in the document."},"0xC0150022":{code:"STATUS_SXS_MANIFEST_TOO_BIG",message:"The size of the manifest exceeds the maximum allowed."},"0xC0150023":{code:"STATUS_SXS_SETTING_NOT_REGISTERED",message:"The setting is not registered."},"0xC0150024":{code:"STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE",message:"One or more required transaction members are not present."},"0xC0150025":{code:"STATUS_SMI_PRIMITIVE_INSTALLER_FAILED",message:"The SMI primitive installer failed during setup or servicing."},"0xC0150026":{code:"STATUS_GENERIC_COMMAND_FAILED",message:"A generic command executable returned a result that indicates failure."},"0xC0150027":{code:"STATUS_SXS_FILE_HASH_MISSING",message:"A component is missing file verification information in its manifest."},"0xC0190001":{code:"STATUS_TRANSACTIONAL_CONFLICT",message:"The function attempted to use a name that is reserved for use by another transaction."},"0xC0190002":{code:"STATUS_INVALID_TRANSACTION",message:"The transaction handle associated with this operation is invalid."},"0xC0190003":{code:"STATUS_TRANSACTION_NOT_ACTIVE",message:"The requested operation was made in the context of a transaction that is no longer active."},"0xC0190004":{code:"STATUS_TM_INITIALIZATION_FAILED",message:"The transaction manager was unable to be successfully initialized. Transacted operations are not supported."},"0xC0190005":{code:"STATUS_RM_NOT_ACTIVE",message:"Transaction support within the specified file system resource manager was not started or was shut down due to an error."},"0xC0190006":{code:"STATUS_RM_METADATA_CORRUPT",message:"The metadata of the resource manager has been corrupted. The resource manager will not function."},"0xC0190007":{code:"STATUS_TRANSACTION_NOT_JOINED",message:"The resource manager attempted to prepare a transaction that it has not successfully joined."},"0xC0190008":{code:"STATUS_DIRECTORY_NOT_RM",message:"The specified directory does not contain a file system resource manager."},"0xC019000A":{code:"STATUS_TRANSACTIONS_UNSUPPORTED_REMOTE",message:"The remote server or share does not support transacted file operations."},"0xC019000B":{code:"STATUS_LOG_RESIZE_INVALID_SIZE",message:"The requested log size for the file system resource manager is invalid."},"0xC019000C":{code:"STATUS_REMOTE_FILE_VERSION_MISMATCH",message:"The remote server sent mismatching version number or Fid for a file opened with transactions."},"0xC019000F":{code:"STATUS_CRM_PROTOCOL_ALREADY_EXISTS",message:"The resource manager tried to register a protocol that already exists."},"0xC0190010":{code:"STATUS_TRANSACTION_PROPAGATION_FAILED",message:"The attempt to propagate the transaction failed."},"0xC0190011":{code:"STATUS_CRM_PROTOCOL_NOT_FOUND",message:"The requested propagation protocol was not registered as a CRM."},"0xC0190012":{code:"STATUS_TRANSACTION_SUPERIOR_EXISTS",message:"The transaction object already has a superior enlistment, and the caller attempted an operation that would have created a new superior. Only a single superior enlistment is allowed."},"0xC0190013":{code:"STATUS_TRANSACTION_REQUEST_NOT_VALID",message:"The requested operation is not valid on the transaction object in its current state."},"0xC0190014":{code:"STATUS_TRANSACTION_NOT_REQUESTED",message:"The caller has called a response API, but the response is not expected because the transaction manager did not issue the corresponding request to the caller."},"0xC0190015":{code:"STATUS_TRANSACTION_ALREADY_ABORTED",message:"It is too late to perform the requested operation, because the transaction has already been aborted."},"0xC0190016":{code:"STATUS_TRANSACTION_ALREADY_COMMITTED",message:"It is too late to perform the requested operation, because the transaction has already been committed."},"0xC0190017":{code:"STATUS_TRANSACTION_INVALID_MARSHALL_BUFFER",message:"The buffer passed in to NtPushTransaction or NtPullTransaction is not in a valid format."},"0xC0190018":{code:"STATUS_CURRENT_TRANSACTION_NOT_VALID",message:"The current transaction context associated with the thread is not a valid handle to a transaction object."},"0xC0190019":{code:"STATUS_LOG_GROWTH_FAILED",message:"An attempt to create space in the transactional resource manager's log failed. The failure status has been recorded in the event log."},"0xC0190021":{code:"STATUS_OBJECT_NO_LONGER_EXISTS",message:"The object (file, stream, or link) that corresponds to the handle has been deleted by a transaction savepoint rollback."},"0xC0190022":{code:"STATUS_STREAM_MINIVERSION_NOT_FOUND",message:"The specified file miniversion was not found for this transacted file open."},"0xC0190023":{code:"STATUS_STREAM_MINIVERSION_NOT_VALID",message:"The specified file miniversion was found but has been invalidated. The most likely cause is a transaction savepoint rollback."},"0xC0190024":{code:"STATUS_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION",message:"A miniversion may be opened only in the context of the transaction that created it."},"0xC0190025":{code:"STATUS_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT",message:"It is not possible to open a miniversion with modify access."},"0xC0190026":{code:"STATUS_CANT_CREATE_MORE_STREAM_MINIVERSIONS",message:"It is not possible to create any more miniversions for this stream."},"0xC0190028":{code:"STATUS_HANDLE_NO_LONGER_VALID",message:"The handle has been invalidated by a transaction. The most likely cause is the presence of memory mapping on a file or an open handle when the transaction ended or rolled back to savepoint."},"0xC0190030":{code:"STATUS_LOG_CORRUPTION_DETECTED",message:"The log data is corrupt."},"0xC0190032":{code:"STATUS_RM_DISCONNECTED",message:"The transaction outcome is unavailable because the resource manager responsible for it is disconnected."},"0xC0190033":{code:"STATUS_ENLISTMENT_NOT_SUPERIOR",message:"The request was rejected because the enlistment in question is not a superior enlistment."},"0xC0190036":{code:"STATUS_FILE_IDENTITY_NOT_PERSISTENT",message:"The file cannot be opened in a transaction because its identity depends on the outcome of an unresolved transaction."},"0xC0190037":{code:"STATUS_CANT_BREAK_TRANSACTIONAL_DEPENDENCY",message:"The operation cannot be performed because another transaction is depending on this property not changing."},"0xC0190038":{code:"STATUS_CANT_CROSS_RM_BOUNDARY",message:"The operation would involve a single file with two transactional resource managers and is, therefore, not allowed."},"0xC0190039":{code:"STATUS_TXF_DIR_NOT_EMPTY",message:"The $Txf directory must be empty for this operation to succeed."},"0xC019003A":{code:"STATUS_INDOUBT_TRANSACTIONS_EXIST",message:"The operation would leave a transactional resource manager in an inconsistent state and is therefore not allowed."},"0xC019003B":{code:"STATUS_TM_VOLATILE",message:"The operation could not be completed because the transaction manager does not have a log."},"0xC019003C":{code:"STATUS_ROLLBACK_TIMER_EXPIRED",message:"A rollback could not be scheduled because a previously scheduled rollback has already executed or been queued for execution."},"0xC019003D":{code:"STATUS_TXF_ATTRIBUTE_CORRUPT",message:"The transactional metadata attribute on the file or directory %hs is corrupt and unreadable."},"0xC019003E":{code:"STATUS_EFS_NOT_ALLOWED_IN_TRANSACTION",message:"The encryption operation could not be completed because a transaction is active."},"0xC019003F":{code:"STATUS_TRANSACTIONAL_OPEN_NOT_ALLOWED",message:"This object is not allowed to be opened in a transaction."},"0xC0190040":{code:"STATUS_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE",message:"Memory mapping (creating a mapped section) a remote file under a transaction is not supported."},"0xC0190043":{code:"STATUS_TRANSACTION_REQUIRED_PROMOTION",message:"Promotion was required to allow the resource manager to enlist, but the transaction was set to disallow it."},"0xC0190044":{code:"STATUS_CANNOT_EXECUTE_FILE_IN_TRANSACTION",message:"This file is open for modification in an unresolved transaction and may be opened for execute only by a transacted reader."},"0xC0190045":{code:"STATUS_TRANSACTIONS_NOT_FROZEN",message:"The request to thaw frozen transactions was ignored because transactions were not previously frozen."},"0xC0190046":{code:"STATUS_TRANSACTION_FREEZE_IN_PROGRESS",message:"Transactions cannot be frozen because a freeze is already in progress."},"0xC0190047":{code:"STATUS_NOT_SNAPSHOT_VOLUME",message:"The target volume is not a snapshot volume. This operation is valid only on a volume mounted as a snapshot."},"0xC0190048":{code:"STATUS_NO_SAVEPOINT_WITH_OPEN_FILES",message:"The savepoint operation failed because files are open on the transaction, which is not permitted."},"0xC0190049":{code:"STATUS_SPARSE_NOT_ALLOWED_IN_TRANSACTION",message:"The sparse operation could not be completed because a transaction is active on the file."},"0xC019004A":{code:"STATUS_TM_IDENTITY_MISMATCH",message:"The call to create a transaction manager object failed because the Tm Identity that is stored in the log file does not match the Tm Identity that was passed in as an argument."},"0xC019004B":{code:"STATUS_FLOATED_SECTION",message:"I/O was attempted on a section object that has been floated as a result of a transaction ending. There is no valid data."},"0xC019004C":{code:"STATUS_CANNOT_ACCEPT_TRANSACTED_WORK",message:"The transactional resource manager cannot currently accept transacted work due to a transient condition, such as low resources."},"0xC019004D":{code:"STATUS_CANNOT_ABORT_TRANSACTIONS",message:"The transactional resource manager had too many transactions outstanding that could not be aborted. The transactional resource manager has been shut down."},"0xC019004E":{code:"STATUS_TRANSACTION_NOT_FOUND",message:"The specified transaction was unable to be opened because it was not found."},"0xC019004F":{code:"STATUS_RESOURCEMANAGER_NOT_FOUND",message:"The specified resource manager was unable to be opened because it was not found."},"0xC0190050":{code:"STATUS_ENLISTMENT_NOT_FOUND",message:"The specified enlistment was unable to be opened because it was not found."},"0xC0190051":{code:"STATUS_TRANSACTIONMANAGER_NOT_FOUND",message:"The specified transaction manager was unable to be opened because it was not found."},"0xC0190052":{code:"STATUS_TRANSACTIONMANAGER_NOT_ONLINE",message:"The specified resource manager was unable to create an enlistment because its associated transaction manager is not online."},"0xC0190053":{code:"STATUS_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION",message:"The specified transaction manager was unable to create the objects contained in its log file in the Ob namespace. Therefore, the transaction manager was unable to recover."},"0xC0190054":{code:"STATUS_TRANSACTION_NOT_ROOT",message:"The call to create a superior enlistment on this transaction object could not be completed because the transaction object specified for the enlistment is a subordinate branch of the transaction. Only the root of the transaction can be enlisted as a superior."},"0xC0190055":{code:"STATUS_TRANSACTION_OBJECT_EXPIRED",message:"Because the associated transaction manager or resource manager has been closed, the handle is no longer valid."},"0xC0190056":{code:"STATUS_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION",message:"The compression operation could not be completed because a transaction is active on the file."},"0xC0190057":{code:"STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED",message:"The specified operation could not be performed on this superior enlistment because the enlistment was not created with the corresponding completion response in the NotificationMask."},"0xC0190058":{code:"STATUS_TRANSACTION_RECORD_TOO_LONG",message:"The specified operation could not be performed because the record to be logged was too long. This can occur because either there are too many enlistments on this transaction or the combined RecoveryInformation being logged on behalf of those enlistments is too long."},"0xC0190059":{code:"STATUS_NO_LINK_TRACKING_IN_TRANSACTION",message:"The link-tracking operation could not be completed because a transaction is active."},"0xC019005A":{code:"STATUS_OPERATION_NOT_SUPPORTED_IN_TRANSACTION",message:"This operation cannot be performed in a transaction."},"0xC019005B":{code:"STATUS_TRANSACTION_INTEGRITY_VIOLATED",message:"The kernel transaction manager had to abort or forget the transaction because it blocked forward progress."},"0xC0190060":{code:"STATUS_EXPIRED_HANDLE",message:"The handle is no longer properly associated with its transaction. It may have been opened in a transactional resource manager that was subsequently forced to restart. Please close the handle and open a new one."},"0xC0190061":{code:"STATUS_TRANSACTION_NOT_ENLISTED",message:"The specified operation could not be performed because the resource manager is not enlisted in the transaction."},"0xC01A0001":{code:"STATUS_LOG_SECTOR_INVALID",message:"The log service found an invalid log sector."},"0xC01A0002":{code:"STATUS_LOG_SECTOR_PARITY_INVALID",message:"The log service encountered a log sector with invalid block parity."},"0xC01A0003":{code:"STATUS_LOG_SECTOR_REMAPPED",message:"The log service encountered a remapped log sector."},"0xC01A0004":{code:"STATUS_LOG_BLOCK_INCOMPLETE",message:"The log service encountered a partial or incomplete log block."},"0xC01A0005":{code:"STATUS_LOG_INVALID_RANGE",message:"The log service encountered an attempt to access data outside the active log range."},"0xC01A0006":{code:"STATUS_LOG_BLOCKS_EXHAUSTED",message:"The log service user-log marshaling buffers are exhausted."},"0xC01A0007":{code:"STATUS_LOG_READ_CONTEXT_INVALID",message:"The log service encountered an attempt to read from a marshaling area with an invalid read context."},"0xC01A0008":{code:"STATUS_LOG_RESTART_INVALID",message:"The log service encountered an invalid log restart area."},"0xC01A0009":{code:"STATUS_LOG_BLOCK_VERSION",message:"The log service encountered an invalid log block version."},"0xC01A000A":{code:"STATUS_LOG_BLOCK_INVALID",message:"The log service encountered an invalid log block."},"0xC01A000B":{code:"STATUS_LOG_READ_MODE_INVALID",message:"The log service encountered an attempt to read the log with an invalid read mode."},"0xC01A000D":{code:"STATUS_LOG_METADATA_CORRUPT",message:"The log service encountered a corrupted metadata file."},"0xC01A000E":{code:"STATUS_LOG_METADATA_INVALID",message:"The log service encountered a metadata file that could not be created by the log file system."},"0xC01A000F":{code:"STATUS_LOG_METADATA_INCONSISTENT",message:"The log service encountered a metadata file with inconsistent data."},"0xC01A0010":{code:"STATUS_LOG_RESERVATION_INVALID",message:"The log service encountered an attempt to erroneously allocate or dispose reservation space."},"0xC01A0011":{code:"STATUS_LOG_CANT_DELETE",message:"The log service cannot delete the log file or the file system container."},"0xC01A0012":{code:"STATUS_LOG_CONTAINER_LIMIT_EXCEEDED",message:"The log service has reached the maximum allowable containers allocated to a log file."},"0xC01A0013":{code:"STATUS_LOG_START_OF_LOG",message:"The log service has attempted to read or write backward past the start of the log."},"0xC01A0014":{code:"STATUS_LOG_POLICY_ALREADY_INSTALLED",message:"The log policy could not be installed because a policy of the same type is already present."},"0xC01A0015":{code:"STATUS_LOG_POLICY_NOT_INSTALLED",message:"The log policy in question was not installed at the time of the request."},"0xC01A0016":{code:"STATUS_LOG_POLICY_INVALID",message:"The installed set of policies on the log is invalid."},"0xC01A0017":{code:"STATUS_LOG_POLICY_CONFLICT",message:"A policy on the log in question prevented the operation from completing."},"0xC01A0018":{code:"STATUS_LOG_PINNED_ARCHIVE_TAIL",message:"The log space cannot be reclaimed because the log is pinned by the archive tail."},"0xC01A0019":{code:"STATUS_LOG_RECORD_NONEXISTENT",message:"The log record is not a record in the log file."},"0xC01A001A":{code:"STATUS_LOG_RECORDS_RESERVED_INVALID",message:"The number of reserved log records or the adjustment of the number of reserved log records is invalid."},"0xC01A001B":{code:"STATUS_LOG_SPACE_RESERVED_INVALID",message:"The reserved log space or the adjustment of the log space is invalid."},"0xC01A001C":{code:"STATUS_LOG_TAIL_INVALID",message:"A new or existing archive tail or the base of the active log is invalid."},"0xC01A001D":{code:"STATUS_LOG_FULL",message:"The log space is exhausted."},"0xC01A001E":{code:"STATUS_LOG_MULTIPLEXED",message:"The log is multiplexed; no direct writes to the physical log are allowed."},"0xC01A001F":{code:"STATUS_LOG_DEDICATED",message:"The operation failed because the log is dedicated."},"0xC01A0020":{code:"STATUS_LOG_ARCHIVE_NOT_IN_PROGRESS",message:"The operation requires an archive context."},"0xC01A0021":{code:"STATUS_LOG_ARCHIVE_IN_PROGRESS",message:"Log archival is in progress."},"0xC01A0022":{code:"STATUS_LOG_EPHEMERAL",message:"The operation requires a nonephemeral log, but the log is ephemeral."},"0xC01A0023":{code:"STATUS_LOG_NOT_ENOUGH_CONTAINERS",message:"The log must have at least two containers before it can be read from or written to."},"0xC01A0024":{code:"STATUS_LOG_CLIENT_ALREADY_REGISTERED",message:"A log client has already registered on the stream."},"0xC01A0025":{code:"STATUS_LOG_CLIENT_NOT_REGISTERED",message:"A log client has not been registered on the stream."},"0xC01A0026":{code:"STATUS_LOG_FULL_HANDLER_IN_PROGRESS",message:"A request has already been made to handle the log full condition."},"0xC01A0027":{code:"STATUS_LOG_CONTAINER_READ_FAILED",message:"The log service encountered an error when attempting to read from a log container."},"0xC01A0028":{code:"STATUS_LOG_CONTAINER_WRITE_FAILED",message:"The log service encountered an error when attempting to write to a log container."},"0xC01A0029":{code:"STATUS_LOG_CONTAINER_OPEN_FAILED",message:"The log service encountered an error when attempting to open a log container."},"0xC01A002A":{code:"STATUS_LOG_CONTAINER_STATE_INVALID",message:"The log service encountered an invalid container state when attempting a requested action."},"0xC01A002B":{code:"STATUS_LOG_STATE_INVALID",message:"The log service is not in the correct state to perform a requested action."},"0xC01A002C":{code:"STATUS_LOG_PINNED",message:"The log space cannot be reclaimed because the log is pinned."},"0xC01A002D":{code:"STATUS_LOG_METADATA_FLUSH_FAILED",message:"The log metadata flush failed."},"0xC01A002E":{code:"STATUS_LOG_INCONSISTENT_SECURITY",message:"Security on the log and its containers is inconsistent."},"0xC01A002F":{code:"STATUS_LOG_APPENDED_FLUSH_FAILED",message:"Records were appended to the log or reservation changes were made, but the log could not be flushed."},"0xC01A0030":{code:"STATUS_LOG_PINNED_RESERVATION",message:"The log is pinned due to reservation consuming most of the log space. Free some reserved records to make space available."},"0xC01B00EA":{code:"STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD",message:"{Display Driver Stopped Responding} The %hs display driver has stopped working normally. Save your work and reboot the system to restore full display functionality. The next time you reboot the computer, a dialog box will allow you to upload data about this failure to Microsoft."},"0xC01C0001":{code:"STATUS_FLT_NO_HANDLER_DEFINED",message:"A handler was not defined by the filter for this operation."},"0xC01C0002":{code:"STATUS_FLT_CONTEXT_ALREADY_DEFINED",message:"A context is already defined for this object."},"0xC01C0003":{code:"STATUS_FLT_INVALID_ASYNCHRONOUS_REQUEST",message:"Asynchronous requests are not valid for this operation."},"0xC01C0004":{code:"STATUS_FLT_DISALLOW_FAST_IO",message:"This is an internal error code used by the filter manager to determine if a fast I/O operation should be forced down the input/output request packet (IRP) path. Minifilters should never return this value."},"0xC01C0005":{code:"STATUS_FLT_INVALID_NAME_REQUEST",message:"An invalid name request was made. The name requested cannot be retrieved at this time."},"0xC01C0006":{code:"STATUS_FLT_NOT_SAFE_TO_POST_OPERATION",message:"Posting this operation to a worker thread for further processing is not safe at this time because it could lead to a system deadlock."},"0xC01C0007":{code:"STATUS_FLT_NOT_INITIALIZED",message:"The Filter Manager was not initialized when a filter tried to register. Make sure that the Filter Manager is loaded as a driver."},"0xC01C0008":{code:"STATUS_FLT_FILTER_NOT_READY",message:"The filter is not ready for attachment to volumes because it has not finished initializing (FltStartFiltering has not been called)."},"0xC01C0009":{code:"STATUS_FLT_POST_OPERATION_CLEANUP",message:"The filter must clean up any operation-specific context at this time because it is being removed from the system before the operation is completed by the lower drivers."},"0xC01C000A":{code:"STATUS_FLT_INTERNAL_ERROR",message:"The Filter Manager had an internal error from which it cannot recover; therefore, the operation has failed. This is usually the result of a filter returning an invalid value from a pre-operation callback."},"0xC01C000B":{code:"STATUS_FLT_DELETING_OBJECT",message:"The object specified for this action is in the process of being deleted; therefore, the action requested cannot be completed at this time."},"0xC01C000C":{code:"STATUS_FLT_MUST_BE_NONPAGED_POOL",message:"A nonpaged pool must be used for this type of context."},"0xC01C000D":{code:"STATUS_FLT_DUPLICATE_ENTRY",message:"A duplicate handler definition has been provided for an operation."},"0xC01C000E":{code:"STATUS_FLT_CBDQ_DISABLED",message:"The callback data queue has been disabled."},"0xC01C000F":{code:"STATUS_FLT_DO_NOT_ATTACH",message:"Do not attach the filter to the volume at this time."},"0xC01C0010":{code:"STATUS_FLT_DO_NOT_DETACH",message:"Do not detach the filter from the volume at this time."},"0xC01C0011":{code:"STATUS_FLT_INSTANCE_ALTITUDE_COLLISION",message:"An instance already exists at this altitude on the volume specified."},"0xC01C0012":{code:"STATUS_FLT_INSTANCE_NAME_COLLISION",message:"An instance already exists with this name on the volume specified."},"0xC01C0013":{code:"STATUS_FLT_FILTER_NOT_FOUND",message:"The system could not find the filter specified."},"0xC01C0014":{code:"STATUS_FLT_VOLUME_NOT_FOUND",message:"The system could not find the volume specified."},"0xC01C0015":{code:"STATUS_FLT_INSTANCE_NOT_FOUND",message:"The system could not find the instance specified."},"0xC01C0016":{code:"STATUS_FLT_CONTEXT_ALLOCATION_NOT_FOUND",message:"No registered context allocation definition was found for the given request."},"0xC01C0017":{code:"STATUS_FLT_INVALID_CONTEXT_REGISTRATION",message:"An invalid parameter was specified during context registration."},"0xC01C0018":{code:"STATUS_FLT_NAME_CACHE_MISS",message:"The name requested was not found in the Filter Manager name cache and could not be retrieved from the file system."},"0xC01C0019":{code:"STATUS_FLT_NO_DEVICE_OBJECT",message:"The requested device object does not exist for the given volume."},"0xC01C001A":{code:"STATUS_FLT_VOLUME_ALREADY_MOUNTED",message:"The specified volume is already mounted."},"0xC01C001B":{code:"STATUS_FLT_ALREADY_ENLISTED",message:"The specified transaction context is already enlisted in a transaction."},"0xC01C001C":{code:"STATUS_FLT_CONTEXT_ALREADY_LINKED",message:"The specified context is already attached to another object."},"0xC01C0020":{code:"STATUS_FLT_NO_WAITER_FOR_REPLY",message:"No waiter is present for the filter's reply to this message."},"0xC01D0001":{code:"STATUS_MONITOR_NO_DESCRIPTOR",message:"A monitor descriptor could not be obtained."},"0xC01D0002":{code:"STATUS_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT",message:"This release does not support the format of the obtained monitor descriptor."},"0xC01D0003":{code:"STATUS_MONITOR_INVALID_DESCRIPTOR_CHECKSUM",message:"The checksum of the obtained monitor descriptor is invalid."},"0xC01D0004":{code:"STATUS_MONITOR_INVALID_STANDARD_TIMING_BLOCK",message:"The monitor descriptor contains an invalid standard timing block."},"0xC01D0005":{code:"STATUS_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED",message:"WMI data-block registration failed for one of the MSMonitorClass WMI subclasses."},"0xC01D0006":{code:"STATUS_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK",message:"The provided monitor descriptor block is either corrupted or does not contain the monitor's detailed serial number."},"0xC01D0007":{code:"STATUS_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK",message:"The provided monitor descriptor block is either corrupted or does not contain the monitor's user-friendly name."},"0xC01D0008":{code:"STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA",message:"There is no monitor descriptor data at the specified (offset or size) region."},"0xC01D0009":{code:"STATUS_MONITOR_INVALID_DETAILED_TIMING_BLOCK",message:"The monitor descriptor contains an invalid detailed timing block."},"0xC01D000A":{code:"STATUS_MONITOR_INVALID_MANUFACTURE_DATE",message:"Monitor descriptor contains invalid manufacture date."},"0xC01E0000":{code:"STATUS_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER",message:"Exclusive mode ownership is needed to create an unmanaged primary allocation."},"0xC01E0001":{code:"STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER",message:"The driver needs more DMA buffer space to complete the requested operation."},"0xC01E0002":{code:"STATUS_GRAPHICS_INVALID_DISPLAY_ADAPTER",message:"The specified display adapter handle is invalid."},"0xC01E0003":{code:"STATUS_GRAPHICS_ADAPTER_WAS_RESET",message:"The specified display adapter and all of its state have been reset."},"0xC01E0004":{code:"STATUS_GRAPHICS_INVALID_DRIVER_MODEL",message:"The driver stack does not match the expected driver model."},"0xC01E0005":{code:"STATUS_GRAPHICS_PRESENT_MODE_CHANGED",message:"Present happened but ended up into the changed desktop mode."},"0xC01E0006":{code:"STATUS_GRAPHICS_PRESENT_OCCLUDED",message:"Nothing to present due to desktop occlusion."},"0xC01E0007":{code:"STATUS_GRAPHICS_PRESENT_DENIED",message:"Not able to present due to denial of desktop access."},"0xC01E0008":{code:"STATUS_GRAPHICS_CANNOTCOLORCONVERT",message:"Not able to present with color conversion."},"0xC01E000B":{code:"STATUS_GRAPHICS_PRESENT_REDIRECTION_DISABLED",message:"Present redirection is disabled (desktop windowing management subsystem is off)."},"0xC01E000C":{code:"STATUS_GRAPHICS_PRESENT_UNOCCLUDED",message:"Previous exclusive VidPn source owner has released its ownership"},"0xC01E0100":{code:"STATUS_GRAPHICS_NO_VIDEO_MEMORY",message:"Not enough video memory is available to complete the operation."},"0xC01E0101":{code:"STATUS_GRAPHICS_CANT_LOCK_MEMORY",message:"Could not probe and lock the underlying memory of an allocation."},"0xC01E0102":{code:"STATUS_GRAPHICS_ALLOCATION_BUSY",message:"The allocation is currently busy."},"0xC01E0103":{code:"STATUS_GRAPHICS_TOO_MANY_REFERENCES",message:"An object being referenced has already reached the maximum reference count and cannot be referenced further."},"0xC01E0104":{code:"STATUS_GRAPHICS_TRY_AGAIN_LATER",message:"A problem could not be solved due to an existing condition. Try again later."},"0xC01E0105":{code:"STATUS_GRAPHICS_TRY_AGAIN_NOW",message:"A problem could not be solved due to an existing condition. Try again now."},"0xC01E0106":{code:"STATUS_GRAPHICS_ALLOCATION_INVALID",message:"The allocation is invalid."},"0xC01E0107":{code:"STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE",message:"No more unswizzling apertures are currently available."},"0xC01E0108":{code:"STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED",message:"The current allocation cannot be unswizzled by an aperture."},"0xC01E0109":{code:"STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION",message:"The request failed because a pinned allocation cannot be evicted."},"0xC01E0110":{code:"STATUS_GRAPHICS_INVALID_ALLOCATION_USAGE",message:"The allocation cannot be used from its current segment location for the specified operation."},"0xC01E0111":{code:"STATUS_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION",message:"A locked allocation cannot be used in the current command buffer."},"0xC01E0112":{code:"STATUS_GRAPHICS_ALLOCATION_CLOSED",message:"The allocation being referenced has been closed permanently."},"0xC01E0113":{code:"STATUS_GRAPHICS_INVALID_ALLOCATION_INSTANCE",message:"An invalid allocation instance is being referenced."},"0xC01E0114":{code:"STATUS_GRAPHICS_INVALID_ALLOCATION_HANDLE",message:"An invalid allocation handle is being referenced."},"0xC01E0115":{code:"STATUS_GRAPHICS_WRONG_ALLOCATION_DEVICE",message:"The allocation being referenced does not belong to the current device."},"0xC01E0116":{code:"STATUS_GRAPHICS_ALLOCATION_CONTENT_LOST",message:"The specified allocation lost its content."},"0xC01E0200":{code:"STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE",message:"A GPU exception was detected on the given device. The device cannot be scheduled."},"0xC01E0300":{code:"STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY",message:"The specified VidPN topology is invalid."},"0xC01E0301":{code:"STATUS_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED",message:"The specified VidPN topology is valid but is not supported by this model of the display adapter."},"0xC01E0302":{code:"STATUS_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED",message:"The specified VidPN topology is valid but is not currently supported by the display adapter due to allocation of its resources."},"0xC01E0303":{code:"STATUS_GRAPHICS_INVALID_VIDPN",message:"The specified VidPN handle is invalid."},"0xC01E0304":{code:"STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE",message:"The specified video present source is invalid."},"0xC01E0305":{code:"STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET",message:"The specified video present target is invalid."},"0xC01E0306":{code:"STATUS_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED",message:"The specified VidPN modality is not supported (for example, at least two of the pinned modes are not co-functional)."},"0xC01E0308":{code:"STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET",message:"The specified VidPN source mode set is invalid."},"0xC01E0309":{code:"STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET",message:"The specified VidPN target mode set is invalid."},"0xC01E030A":{code:"STATUS_GRAPHICS_INVALID_FREQUENCY",message:"The specified video signal frequency is invalid."},"0xC01E030B":{code:"STATUS_GRAPHICS_INVALID_ACTIVE_REGION",message:"The specified video signal active region is invalid."},"0xC01E030C":{code:"STATUS_GRAPHICS_INVALID_TOTAL_REGION",message:"The specified video signal total region is invalid."},"0xC01E0310":{code:"STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE",message:"The specified video present source mode is invalid."},"0xC01E0311":{code:"STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE",message:"The specified video present target mode is invalid."},"0xC01E0312":{code:"STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET",message:"The pinned mode must remain in the set on the VidPN's co-functional modality enumeration."},"0xC01E0313":{code:"STATUS_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY",message:"The specified video present path is already in the VidPN's topology."},"0xC01E0314":{code:"STATUS_GRAPHICS_MODE_ALREADY_IN_MODESET",message:"The specified mode is already in the mode set."},"0xC01E0315":{code:"STATUS_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET",message:"The specified video present source set is invalid."},"0xC01E0316":{code:"STATUS_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET",message:"The specified video present target set is invalid."},"0xC01E0317":{code:"STATUS_GRAPHICS_SOURCE_ALREADY_IN_SET",message:"The specified video present source is already in the video present source set."},"0xC01E0318":{code:"STATUS_GRAPHICS_TARGET_ALREADY_IN_SET",message:"The specified video present target is already in the video present target set."},"0xC01E0319":{code:"STATUS_GRAPHICS_INVALID_VIDPN_PRESENT_PATH",message:"The specified VidPN present path is invalid."},"0xC01E031A":{code:"STATUS_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY",message:"The miniport has no recommendation for augmenting the specified VidPN's topology."},"0xC01E031B":{code:"STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET",message:"The specified monitor frequency range set is invalid."},"0xC01E031C":{code:"STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE",message:"The specified monitor frequency range is invalid."},"0xC01E031D":{code:"STATUS_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET",message:"The specified frequency range is not in the specified monitor frequency range set."},"0xC01E031F":{code:"STATUS_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET",message:"The specified frequency range is already in the specified monitor frequency range set."},"0xC01E0320":{code:"STATUS_GRAPHICS_STALE_MODESET",message:"The specified mode set is stale. Reacquire the new mode set."},"0xC01E0321":{code:"STATUS_GRAPHICS_INVALID_MONITOR_SOURCEMODESET",message:"The specified monitor source mode set is invalid."},"0xC01E0322":{code:"STATUS_GRAPHICS_INVALID_MONITOR_SOURCE_MODE",message:"The specified monitor source mode is invalid."},"0xC01E0323":{code:"STATUS_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN",message:"The miniport does not have a recommendation regarding the request to provide a functional VidPN given the current display adapter configuration."},"0xC01E0324":{code:"STATUS_GRAPHICS_MODE_ID_MUST_BE_UNIQUE",message:"The ID of the specified mode is being used by another mode in the set."},"0xC01E0325":{code:"STATUS_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION",message:"The system failed to determine a mode that is supported by both the display adapter and the monitor connected to it."},"0xC01E0326":{code:"STATUS_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES",message:"The number of video present targets must be greater than or equal to the number of video present sources."},"0xC01E0327":{code:"STATUS_GRAPHICS_PATH_NOT_IN_TOPOLOGY",message:"The specified present path is not in the VidPN's topology."},"0xC01E0328":{code:"STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE",message:"The display adapter must have at least one video present source."},"0xC01E0329":{code:"STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET",message:"The display adapter must have at least one video present target."},"0xC01E032A":{code:"STATUS_GRAPHICS_INVALID_MONITORDESCRIPTORSET",message:"The specified monitor descriptor set is invalid."},"0xC01E032B":{code:"STATUS_GRAPHICS_INVALID_MONITORDESCRIPTOR",message:"The specified monitor descriptor is invalid."},"0xC01E032C":{code:"STATUS_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET",message:"The specified descriptor is not in the specified monitor descriptor set."},"0xC01E032D":{code:"STATUS_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET",message:"The specified descriptor is already in the specified monitor descriptor set."},"0xC01E032E":{code:"STATUS_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE",message:"The ID of the specified monitor descriptor is being used by another descriptor in the set."},"0xC01E032F":{code:"STATUS_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE",message:"The specified video present target subset type is invalid."},"0xC01E0330":{code:"STATUS_GRAPHICS_RESOURCES_NOT_RELATED",message:"Two or more of the specified resources are not related to each other, as defined by the interface semantics."},"0xC01E0331":{code:"STATUS_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE",message:"The ID of the specified video present source is being used by another source in the set."},"0xC01E0332":{code:"STATUS_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE",message:"The ID of the specified video present target is being used by another target in the set."},"0xC01E0333":{code:"STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET",message:"The specified VidPN source cannot be used because there is no available VidPN target to connect it to."},"0xC01E0334":{code:"STATUS_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER",message:"The newly arrived monitor could not be associated with a display adapter."},"0xC01E0335":{code:"STATUS_GRAPHICS_NO_VIDPNMGR",message:"The particular display adapter does not have an associated VidPN manager."},"0xC01E0336":{code:"STATUS_GRAPHICS_NO_ACTIVE_VIDPN",message:"The VidPN manager of the particular display adapter does not have an active VidPN."},"0xC01E0337":{code:"STATUS_GRAPHICS_STALE_VIDPN_TOPOLOGY",message:"The specified VidPN topology is stale; obtain the new topology."},"0xC01E0338":{code:"STATUS_GRAPHICS_MONITOR_NOT_CONNECTED",message:"No monitor is connected on the specified video present target."},"0xC01E0339":{code:"STATUS_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY",message:"The specified source is not part of the specified VidPN's topology."},"0xC01E033A":{code:"STATUS_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE",message:"The specified primary surface size is invalid."},"0xC01E033B":{code:"STATUS_GRAPHICS_INVALID_VISIBLEREGION_SIZE",message:"The specified visible region size is invalid."},"0xC01E033C":{code:"STATUS_GRAPHICS_INVALID_STRIDE",message:"The specified stride is invalid."},"0xC01E033D":{code:"STATUS_GRAPHICS_INVALID_PIXELFORMAT",message:"The specified pixel format is invalid."},"0xC01E033E":{code:"STATUS_GRAPHICS_INVALID_COLORBASIS",message:"The specified color basis is invalid."},"0xC01E033F":{code:"STATUS_GRAPHICS_INVALID_PIXELVALUEACCESSMODE",message:"The specified pixel value access mode is invalid."},"0xC01E0340":{code:"STATUS_GRAPHICS_TARGET_NOT_IN_TOPOLOGY",message:"The specified target is not part of the specified VidPN's topology."},"0xC01E0341":{code:"STATUS_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT",message:"Failed to acquire the display mode management interface."},"0xC01E0342":{code:"STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE",message:"The specified VidPN source is already owned by a DMM client and cannot be used until that client releases it."},"0xC01E0343":{code:"STATUS_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN",message:"The specified VidPN is active and cannot be accessed."},"0xC01E0344":{code:"STATUS_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL",message:"The specified VidPN's present path importance ordinal is invalid."},"0xC01E0345":{code:"STATUS_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION",message:"The specified VidPN's present path content geometry transformation is invalid."},"0xC01E0346":{code:"STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED",message:"The specified content geometry transformation is not supported on the respective VidPN present path."},"0xC01E0347":{code:"STATUS_GRAPHICS_INVALID_GAMMA_RAMP",message:"The specified gamma ramp is invalid."},"0xC01E0348":{code:"STATUS_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED",message:"The specified gamma ramp is not supported on the respective VidPN present path."},"0xC01E0349":{code:"STATUS_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED",message:"Multisampling is not supported on the respective VidPN present path."},"0xC01E034A":{code:"STATUS_GRAPHICS_MODE_NOT_IN_MODESET",message:"The specified mode is not in the specified mode set."},"0xC01E034D":{code:"STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON",message:"The specified VidPN topology recommendation reason is invalid."},"0xC01E034E":{code:"STATUS_GRAPHICS_INVALID_PATH_CONTENT_TYPE",message:"The specified VidPN present path content type is invalid."},"0xC01E034F":{code:"STATUS_GRAPHICS_INVALID_COPYPROTECTION_TYPE",message:"The specified VidPN present path copy protection type is invalid."},"0xC01E0350":{code:"STATUS_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS",message:"Only one unassigned mode set can exist at any one time for a particular VidPN source or target."},"0xC01E0352":{code:"STATUS_GRAPHICS_INVALID_SCANLINE_ORDERING",message:"The specified scan line ordering type is invalid."},"0xC01E0353":{code:"STATUS_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED",message:"The topology changes are not allowed for the specified VidPN."},"0xC01E0354":{code:"STATUS_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS",message:"All available importance ordinals are being used in the specified topology."},"0xC01E0355":{code:"STATUS_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT",message:"The specified primary surface has a different private-format attribute than the current primary surface."},"0xC01E0356":{code:"STATUS_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM",message:"The specified mode-pruning algorithm is invalid."},"0xC01E0357":{code:"STATUS_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN",message:"The specified monitor-capability origin is invalid."},"0xC01E0358":{code:"STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT",message:"The specified monitor-frequency range constraint is invalid."},"0xC01E0359":{code:"STATUS_GRAPHICS_MAX_NUM_PATHS_REACHED",message:"The maximum supported number of present paths has been reached."},"0xC01E035A":{code:"STATUS_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION",message:"The miniport requested that augmentation be canceled for the specified source of the specified VidPN's topology."},"0xC01E035B":{code:"STATUS_GRAPHICS_INVALID_CLIENT_TYPE",message:"The specified client type was not recognized."},"0xC01E035C":{code:"STATUS_GRAPHICS_CLIENTVIDPN_NOT_SET",message:"The client VidPN is not set on this adapter (for example, no user mode-initiated mode changes have taken place on this adapter)."},"0xC01E0400":{code:"STATUS_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED",message:"The specified display adapter child device already has an external device connected to it."},"0xC01E0401":{code:"STATUS_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED",message:"The display adapter child device does not support reporting a descriptor."},"0xC01E0430":{code:"STATUS_GRAPHICS_NOT_A_LINKED_ADAPTER",message:"The display adapter is not linked to any other adapters."},"0xC01E0431":{code:"STATUS_GRAPHICS_LEADLINK_NOT_ENUMERATED",message:"The lead adapter in a linked configuration was not enumerated yet."},"0xC01E0432":{code:"STATUS_GRAPHICS_CHAINLINKS_NOT_ENUMERATED",message:"Some chain adapters in a linked configuration have not yet been enumerated."},"0xC01E0433":{code:"STATUS_GRAPHICS_ADAPTER_CHAIN_NOT_READY",message:"The chain of linked adapters is not ready to start because of an unknown failure."},"0xC01E0434":{code:"STATUS_GRAPHICS_CHAINLINKS_NOT_STARTED",message:"An attempt was made to start a lead link display adapter when the chain links had not yet started."},"0xC01E0435":{code:"STATUS_GRAPHICS_CHAINLINKS_NOT_POWERED_ON",message:"An attempt was made to turn on a lead link display adapter when the chain links were turned off."},"0xC01E0436":{code:"STATUS_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE",message:"The adapter link was found in an inconsistent state. Not all adapters are in an expected PNP/power state."},"0xC01E0438":{code:"STATUS_GRAPHICS_NOT_POST_DEVICE_DRIVER",message:"The driver trying to start is not the same as the driver for the posted display adapter."},"0xC01E043B":{code:"STATUS_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED",message:"An operation is being attempted that requires the display adapter to be in a quiescent state."},"0xC01E0500":{code:"STATUS_GRAPHICS_OPM_NOT_SUPPORTED",message:"The driver does not support OPM."},"0xC01E0501":{code:"STATUS_GRAPHICS_COPP_NOT_SUPPORTED",message:"The driver does not support COPP."},"0xC01E0502":{code:"STATUS_GRAPHICS_UAB_NOT_SUPPORTED",message:"The driver does not support UAB."},"0xC01E0503":{code:"STATUS_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS",message:"The specified encrypted parameters are invalid."},"0xC01E0504":{code:"STATUS_GRAPHICS_OPM_PARAMETER_ARRAY_TOO_SMALL",message:"An array passed to a function cannot hold all of the data that the function wants to put in it."},"0xC01E0505":{code:"STATUS_GRAPHICS_OPM_NO_PROTECTED_OUTPUTS_EXIST",message:"The GDI display device passed to this function does not have any active protected outputs."},"0xC01E0506":{code:"STATUS_GRAPHICS_PVP_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME",message:"The PVP cannot find an actual GDI display device that corresponds to the passed-in GDI display device name."},"0xC01E0507":{code:"STATUS_GRAPHICS_PVP_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP",message:"This function failed because the GDI display device passed to it was not attached to the Windows desktop."},"0xC01E0508":{code:"STATUS_GRAPHICS_PVP_MIRRORING_DEVICES_NOT_SUPPORTED",message:"The PVP does not support mirroring display devices because they do not have any protected outputs."},"0xC01E050A":{code:"STATUS_GRAPHICS_OPM_INVALID_POINTER",message:"The function failed because an invalid pointer parameter was passed to it. A pointer parameter is invalid if it is null, is not correctly aligned, or it points to an invalid address or a kernel mode address."},"0xC01E050B":{code:"STATUS_GRAPHICS_OPM_INTERNAL_ERROR",message:"An internal error caused an operation to fail."},"0xC01E050C":{code:"STATUS_GRAPHICS_OPM_INVALID_HANDLE",message:"The function failed because the caller passed in an invalid OPM user-mode handle."},"0xC01E050D":{code:"STATUS_GRAPHICS_PVP_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE",message:"This function failed because the GDI device passed to it did not have any monitors associated with it."},"0xC01E050E":{code:"STATUS_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH",message:"A certificate could not be returned because the certificate buffer passed to the function was too small."},"0xC01E050F":{code:"STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED",message:"DxgkDdiOpmCreateProtectedOutput() could not create a protected output because the video present yarget is in spanning mode."},"0xC01E0510":{code:"STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED",message:"DxgkDdiOpmCreateProtectedOutput() could not create a protected output because the video present target is in theater mode."},"0xC01E0511":{code:"STATUS_GRAPHICS_PVP_HFS_FAILED",message:"The function call failed because the display adapter's hardware functionality scan (HFS) failed to validate the graphics hardware."},"0xC01E0512":{code:"STATUS_GRAPHICS_OPM_INVALID_SRM",message:"The HDCP SRM passed to this function did not comply with section 5 of the HDCP 1.1 specification."},"0xC01E0513":{code:"STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP",message:"The protected output cannot enable the HDCP system because it does not support it."},"0xC01E0514":{code:"STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP",message:"The protected output cannot enable analog copy protection because it does not support it."},"0xC01E0515":{code:"STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA",message:"The protected output cannot enable the CGMS-A protection technology because it does not support it."},"0xC01E0516":{code:"STATUS_GRAPHICS_OPM_HDCP_SRM_NEVER_SET",message:"DxgkDdiOPMGetInformation() cannot return the version of the SRM being used because the application never successfully passed an SRM to the protected output."},"0xC01E0517":{code:"STATUS_GRAPHICS_OPM_RESOLUTION_TOO_HIGH",message:"DxgkDdiOPMConfigureProtectedOutput() cannot enable the specified output protection technology because the output's screen resolution is too high."},"0xC01E0518":{code:"STATUS_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE",message:"DxgkDdiOPMConfigureProtectedOutput() cannot enable HDCP because other physical outputs are using the display adapter's HDCP hardware."},"0xC01E051A":{code:"STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_NO_LONGER_EXISTS",message:"The operating system asynchronously destroyed this OPM-protected output because the operating system state changed. This error typically occurs because the monitor PDO associated with this protected output was removed or stopped, the protected output's session became a nonconsole session, or the protected output's desktop became inactive."},"0xC01E051B":{code:"STATUS_GRAPHICS_OPM_SESSION_TYPE_CHANGE_IN_PROGRESS",message:"OPM functions cannot be called when a session is changing its type. Three types of sessions currently exist: console, disconnected, and remote (RDP or ICA)."},"0xC01E051C":{code:"STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS",message:`The DxgkDdiOPMGetCOPPCompatibleInformation, DxgkDdiOPMGetInformation, or DxgkDdiOPMConfigureProtectedOutput function failed. This error is returned only if a protected output has OPM semantics. +DxgkDdiOPMGetCOPPCompatibleInformation always returns this error if a protected output has OPM semantics. +DxgkDdiOPMGetInformation returns this error code if the caller requested COPP-specific information. +DxgkDdiOPMConfigureProtectedOutput returns this error when the caller tries to use a COPP-specific command.`},"0xC01E051D":{code:"STATUS_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST",message:"The DxgkDdiOPMGetInformation and DxgkDdiOPMGetCOPPCompatibleInformation functions return this error code if the passed-in sequence number is not the expected sequence number or the passed-in OMAC value is invalid."},"0xC01E051E":{code:"STATUS_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR",message:"The function failed because an unexpected error occurred inside a display driver."},"0xC01E051F":{code:"STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS",message:`The DxgkDdiOPMGetCOPPCompatibleInformation, DxgkDdiOPMGetInformation, or DxgkDdiOPMConfigureProtectedOutput function failed. This error is returned only if a protected output has COPP semantics. +DxgkDdiOPMGetCOPPCompatibleInformation returns this error code if the caller requested OPM-specific information. +DxgkDdiOPMGetInformation always returns this error if a protected output has COPP semantics. +DxgkDdiOPMConfigureProtectedOutput returns this error when the caller tries to use an OPM-specific command.`},"0xC01E0520":{code:"STATUS_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED",message:"The DxgkDdiOPMGetCOPPCompatibleInformation and DxgkDdiOPMConfigureProtectedOutput functions return this error if the display driver does not support the DXGKMDT_OPM_GET_ACP_AND_CGMSA_SIGNALING and DXGKMDT_OPM_SET_ACP_AND_CGMSA_SIGNALING GUIDs."},"0xC01E0521":{code:"STATUS_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST",message:"The DxgkDdiOPMConfigureProtectedOutput function returns this error code if the passed-in sequence number is not the expected sequence number or the passed-in OMAC value is invalid."},"0xC01E0580":{code:"STATUS_GRAPHICS_I2C_NOT_SUPPORTED",message:"The monitor connected to the specified video output does not have an I2C bus."},"0xC01E0581":{code:"STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST",message:"No device on the I2C bus has the specified address."},"0xC01E0582":{code:"STATUS_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA",message:"An error occurred while transmitting data to the device on the I2C bus."},"0xC01E0583":{code:"STATUS_GRAPHICS_I2C_ERROR_RECEIVING_DATA",message:"An error occurred while receiving data from the device on the I2C bus."},"0xC01E0584":{code:"STATUS_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED",message:"The monitor does not support the specified VCP code."},"0xC01E0585":{code:"STATUS_GRAPHICS_DDCCI_INVALID_DATA",message:"The data received from the monitor is invalid."},"0xC01E0586":{code:"STATUS_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE",message:"A function call failed because a monitor returned an invalid timing status byte when the operating system used the DDC/CI get timing report and timing message command to get a timing report from a monitor."},"0xC01E0587":{code:"STATUS_GRAPHICS_DDCCI_INVALID_CAPABILITIES_STRING",message:"A monitor returned a DDC/CI capabilities string that did not comply with the ACCESS.bus 3.0, DDC/CI 1.1, or MCCS 2 Revision 1 specification."},"0xC01E0588":{code:"STATUS_GRAPHICS_MCA_INTERNAL_ERROR",message:"An internal error caused an operation to fail."},"0xC01E0589":{code:"STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND",message:"An operation failed because a DDC/CI message had an invalid value in its command field."},"0xC01E058A":{code:"STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH",message:"This error occurred because a DDC/CI message had an invalid value in its length field."},"0xC01E058B":{code:"STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM",message:"This error occurred because the value in a DDC/CI message's checksum field did not match the message's computed checksum value. This error implies that the data was corrupted while it was being transmitted from a monitor to a computer."},"0xC01E058C":{code:"STATUS_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE",message:"This function failed because an invalid monitor handle was passed to it."},"0xC01E058D":{code:"STATUS_GRAPHICS_MONITOR_NO_LONGER_EXISTS",message:"The operating system asynchronously destroyed the monitor that corresponds to this handle because the operating system's state changed. This error typically occurs because the monitor PDO associated with this handle was removed or stopped, or a display mode change occurred. A display mode change occurs when Windows sends a WM_DISPLAYCHANGE message to applications."},"0xC01E05E0":{code:"STATUS_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED",message:"This function can be used only if a program is running in the local console session. It cannot be used if a program is running on a remote desktop session or on a terminal server session."},"0xC01E05E1":{code:"STATUS_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME",message:"This function cannot find an actual GDI display device that corresponds to the specified GDI display device name."},"0xC01E05E2":{code:"STATUS_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP",message:"The function failed because the specified GDI display device was not attached to the Windows desktop."},"0xC01E05E3":{code:"STATUS_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED",message:"This function does not support GDI mirroring display devices because GDI mirroring display devices do not have any physical monitors associated with them."},"0xC01E05E4":{code:"STATUS_GRAPHICS_INVALID_POINTER",message:"The function failed because an invalid pointer parameter was passed to it. A pointer parameter is invalid if it is null, is not correctly aligned, or points to an invalid address or to a kernel mode address."},"0xC01E05E5":{code:"STATUS_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE",message:"This function failed because the GDI device passed to it did not have a monitor associated with it."},"0xC01E05E6":{code:"STATUS_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL",message:"An array passed to the function cannot hold all of the data that the function must copy into the array."},"0xC01E05E7":{code:"STATUS_GRAPHICS_INTERNAL_ERROR",message:"An internal error caused an operation to fail."},"0xC01E05E8":{code:"STATUS_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS",message:"The function failed because the current session is changing its type. This function cannot be called when the current session is changing its type. Three types of sessions currently exist: console, disconnected, and remote (RDP or ICA)."},"0xC0210000":{code:"STATUS_FVE_LOCKED_VOLUME",message:"The volume must be unlocked before it can be used."},"0xC0210001":{code:"STATUS_FVE_NOT_ENCRYPTED",message:"The volume is fully decrypted and no key is available."},"0xC0210002":{code:"STATUS_FVE_BAD_INFORMATION",message:"The control block for the encrypted volume is not valid."},"0xC0210003":{code:"STATUS_FVE_TOO_SMALL",message:"Not enough free space remains on the volume to allow encryption."},"0xC0210004":{code:"STATUS_FVE_FAILED_WRONG_FS",message:"The partition cannot be encrypted because the file system is not supported."},"0xC0210005":{code:"STATUS_FVE_FAILED_BAD_FS",message:"The file system is inconsistent. Run the Check Disk utility."},"0xC0210006":{code:"STATUS_FVE_FS_NOT_EXTENDED",message:"The file system does not extend to the end of the volume."},"0xC0210007":{code:"STATUS_FVE_FS_MOUNTED",message:"This operation cannot be performed while a file system is mounted on the volume."},"0xC0210008":{code:"STATUS_FVE_NO_LICENSE",message:"BitLocker Drive Encryption is not included with this version of Windows."},"0xC0210009":{code:"STATUS_FVE_ACTION_NOT_ALLOWED",message:"The requested action was denied by the FVE control engine."},"0xC021000A":{code:"STATUS_FVE_BAD_DATA",message:"The data supplied is malformed."},"0xC021000B":{code:"STATUS_FVE_VOLUME_NOT_BOUND",message:"The volume is not bound to the system."},"0xC021000C":{code:"STATUS_FVE_NOT_DATA_VOLUME",message:"The volume specified is not a data volume."},"0xC021000D":{code:"STATUS_FVE_CONV_READ_ERROR",message:"A read operation failed while converting the volume."},"0xC021000E":{code:"STATUS_FVE_CONV_WRITE_ERROR",message:"A write operation failed while converting the volume."},"0xC021000F":{code:"STATUS_FVE_OVERLAPPED_UPDATE",message:"The control block for the encrypted volume was updated by another thread. Try again."},"0xC0210010":{code:"STATUS_FVE_FAILED_SECTOR_SIZE",message:"The volume encryption algorithm cannot be used on this sector size."},"0xC0210011":{code:"STATUS_FVE_FAILED_AUTHENTICATION",message:"BitLocker recovery authentication failed."},"0xC0210012":{code:"STATUS_FVE_NOT_OS_VOLUME",message:"The volume specified is not the boot operating system volume."},"0xC0210013":{code:"STATUS_FVE_KEYFILE_NOT_FOUND",message:"The BitLocker startup key or recovery password could not be read from external media."},"0xC0210014":{code:"STATUS_FVE_KEYFILE_INVALID",message:"The BitLocker startup key or recovery password file is corrupt or invalid."},"0xC0210015":{code:"STATUS_FVE_KEYFILE_NO_VMK",message:"The BitLocker encryption key could not be obtained from the startup key or the recovery password."},"0xC0210016":{code:"STATUS_FVE_TPM_DISABLED",message:"The TPM is disabled."},"0xC0210017":{code:"STATUS_FVE_TPM_SRK_AUTH_NOT_ZERO",message:"The authorization data for the SRK of the TPM is not zero."},"0xC0210018":{code:"STATUS_FVE_TPM_INVALID_PCR",message:"The system boot information changed or the TPM locked out access to BitLocker encryption keys until the computer is restarted."},"0xC0210019":{code:"STATUS_FVE_TPM_NO_VMK",message:"The BitLocker encryption key could not be obtained from the TPM."},"0xC021001A":{code:"STATUS_FVE_PIN_INVALID",message:"The BitLocker encryption key could not be obtained from the TPM and PIN."},"0xC021001B":{code:"STATUS_FVE_AUTH_INVALID_APPLICATION",message:"A boot application hash does not match the hash computed when BitLocker was turned on."},"0xC021001C":{code:"STATUS_FVE_AUTH_INVALID_CONFIG",message:"The Boot Configuration Data (BCD) settings are not supported or have changed because BitLocker was enabled."},"0xC021001D":{code:"STATUS_FVE_DEBUGGER_ENABLED",message:"Boot debugging is enabled. Run Windows Boot Configuration Data Store Editor (bcdedit.exe) to turn it off."},"0xC021001E":{code:"STATUS_FVE_DRY_RUN_FAILED",message:"The BitLocker encryption key could not be obtained."},"0xC021001F":{code:"STATUS_FVE_BAD_METADATA_POINTER",message:"The metadata disk region pointer is incorrect."},"0xC0210020":{code:"STATUS_FVE_OLD_METADATA_COPY",message:"The backup copy of the metadata is out of date."},"0xC0210021":{code:"STATUS_FVE_REBOOT_REQUIRED",message:"No action was taken because a system restart is required."},"0xC0210022":{code:"STATUS_FVE_RAW_ACCESS",message:"No action was taken because BitLocker Drive Encryption is in RAW access mode."},"0xC0210023":{code:"STATUS_FVE_RAW_BLOCKED",message:"BitLocker Drive Encryption cannot enter RAW access mode for this volume."},"0xC0210026":{code:"STATUS_FVE_NO_FEATURE_LICENSE",message:"This feature of BitLocker Drive Encryption is not included with this version of Windows."},"0xC0210027":{code:"STATUS_FVE_POLICY_USER_DISABLE_RDV_NOT_ALLOWED",message:"Group policy does not permit turning off BitLocker Drive Encryption on roaming data volumes."},"0xC0210028":{code:"STATUS_FVE_CONV_RECOVERY_FAILED",message:"Bitlocker Drive Encryption failed to recover from aborted conversion. This could be due to either all conversion logs being corrupted or the media being write-protected."},"0xC0210029":{code:"STATUS_FVE_VIRTUALIZED_SPACE_TOO_BIG",message:"The requested virtualization size is too big."},"0xC0210030":{code:"STATUS_FVE_VOLUME_TOO_SMALL",message:"The drive is too small to be protected using BitLocker Drive Encryption."},"0xC0220001":{code:"STATUS_FWP_CALLOUT_NOT_FOUND",message:"The callout does not exist."},"0xC0220002":{code:"STATUS_FWP_CONDITION_NOT_FOUND",message:"The filter condition does not exist."},"0xC0220003":{code:"STATUS_FWP_FILTER_NOT_FOUND",message:"The filter does not exist."},"0xC0220004":{code:"STATUS_FWP_LAYER_NOT_FOUND",message:"The layer does not exist."},"0xC0220005":{code:"STATUS_FWP_PROVIDER_NOT_FOUND",message:"The provider does not exist."},"0xC0220006":{code:"STATUS_FWP_PROVIDER_CONTEXT_NOT_FOUND",message:"The provider context does not exist."},"0xC0220007":{code:"STATUS_FWP_SUBLAYER_NOT_FOUND",message:"The sublayer does not exist."},"0xC0220008":{code:"STATUS_FWP_NOT_FOUND",message:"The object does not exist."},"0xC0220009":{code:"STATUS_FWP_ALREADY_EXISTS",message:"An object with that GUID or LUID already exists."},"0xC022000A":{code:"STATUS_FWP_IN_USE",message:"The object is referenced by other objects and cannot be deleted."},"0xC022000B":{code:"STATUS_FWP_DYNAMIC_SESSION_IN_PROGRESS",message:"The call is not allowed from within a dynamic session."},"0xC022000C":{code:"STATUS_FWP_WRONG_SESSION",message:"The call was made from the wrong session and cannot be completed."},"0xC022000D":{code:"STATUS_FWP_NO_TXN_IN_PROGRESS",message:"The call must be made from within an explicit transaction."},"0xC022000E":{code:"STATUS_FWP_TXN_IN_PROGRESS",message:"The call is not allowed from within an explicit transaction."},"0xC022000F":{code:"STATUS_FWP_TXN_ABORTED",message:"The explicit transaction has been forcibly canceled."},"0xC0220010":{code:"STATUS_FWP_SESSION_ABORTED",message:"The session has been canceled."},"0xC0220011":{code:"STATUS_FWP_INCOMPATIBLE_TXN",message:"The call is not allowed from within a read-only transaction."},"0xC0220012":{code:"STATUS_FWP_TIMEOUT",message:"The call timed out while waiting to acquire the transaction lock."},"0xC0220013":{code:"STATUS_FWP_NET_EVENTS_DISABLED",message:"The collection of network diagnostic events is disabled."},"0xC0220014":{code:"STATUS_FWP_INCOMPATIBLE_LAYER",message:"The operation is not supported by the specified layer."},"0xC0220015":{code:"STATUS_FWP_KM_CLIENTS_ONLY",message:"The call is allowed for kernel-mode callers only."},"0xC0220016":{code:"STATUS_FWP_LIFETIME_MISMATCH",message:"The call tried to associate two objects with incompatible lifetimes."},"0xC0220017":{code:"STATUS_FWP_BUILTIN_OBJECT",message:"The object is built-in and cannot be deleted."},"0xC0220018":{code:"STATUS_FWP_TOO_MANY_BOOTTIME_FILTERS",message:"The maximum number of boot-time filters has been reached."},"0xC0220019":{code:"STATUS_FWP_NOTIFICATION_DROPPED",message:"A notification could not be delivered because a message queue has reached maximum capacity."},"0xC022001A":{code:"STATUS_FWP_TRAFFIC_MISMATCH",message:"The traffic parameters do not match those for the security association context."},"0xC022001B":{code:"STATUS_FWP_INCOMPATIBLE_SA_STATE",message:"The call is not allowed for the current security association state."},"0xC022001C":{code:"STATUS_FWP_NULL_POINTER",message:"A required pointer is null."},"0xC022001D":{code:"STATUS_FWP_INVALID_ENUMERATOR",message:"An enumerator is not valid."},"0xC022001E":{code:"STATUS_FWP_INVALID_FLAGS",message:"The flags field contains an invalid value."},"0xC022001F":{code:"STATUS_FWP_INVALID_NET_MASK",message:"A network mask is not valid."},"0xC0220020":{code:"STATUS_FWP_INVALID_RANGE",message:"An FWP_RANGE is not valid."},"0xC0220021":{code:"STATUS_FWP_INVALID_INTERVAL",message:"The time interval is not valid."},"0xC0220022":{code:"STATUS_FWP_ZERO_LENGTH_ARRAY",message:"An array that must contain at least one element has a zero length."},"0xC0220023":{code:"STATUS_FWP_NULL_DISPLAY_NAME",message:"The displayData.name field cannot be null."},"0xC0220024":{code:"STATUS_FWP_INVALID_ACTION_TYPE",message:"The action type is not one of the allowed action types for a filter."},"0xC0220025":{code:"STATUS_FWP_INVALID_WEIGHT",message:"The filter weight is not valid."},"0xC0220026":{code:"STATUS_FWP_MATCH_TYPE_MISMATCH",message:"A filter condition contains a match type that is not compatible with the operands."},"0xC0220027":{code:"STATUS_FWP_TYPE_MISMATCH",message:"An FWP_VALUE or FWPM_CONDITION_VALUE is of the wrong type."},"0xC0220028":{code:"STATUS_FWP_OUT_OF_BOUNDS",message:"An integer value is outside the allowed range."},"0xC0220029":{code:"STATUS_FWP_RESERVED",message:"A reserved field is nonzero."},"0xC022002A":{code:"STATUS_FWP_DUPLICATE_CONDITION",message:"A filter cannot contain multiple conditions operating on a single field."},"0xC022002B":{code:"STATUS_FWP_DUPLICATE_KEYMOD",message:"A policy cannot contain the same keying module more than once."},"0xC022002C":{code:"STATUS_FWP_ACTION_INCOMPATIBLE_WITH_LAYER",message:"The action type is not compatible with the layer."},"0xC022002D":{code:"STATUS_FWP_ACTION_INCOMPATIBLE_WITH_SUBLAYER",message:"The action type is not compatible with the sublayer."},"0xC022002E":{code:"STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_LAYER",message:"The raw context or the provider context is not compatible with the layer."},"0xC022002F":{code:"STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_CALLOUT",message:"The raw context or the provider context is not compatible with the callout."},"0xC0220030":{code:"STATUS_FWP_INCOMPATIBLE_AUTH_METHOD",message:"The authentication method is not compatible with the policy type."},"0xC0220031":{code:"STATUS_FWP_INCOMPATIBLE_DH_GROUP",message:"The Diffie-Hellman group is not compatible with the policy type."},"0xC0220032":{code:"STATUS_FWP_EM_NOT_SUPPORTED",message:"An IKE policy cannot contain an Extended Mode policy."},"0xC0220033":{code:"STATUS_FWP_NEVER_MATCH",message:"The enumeration template or subscription will never match any objects."},"0xC0220034":{code:"STATUS_FWP_PROVIDER_CONTEXT_MISMATCH",message:"The provider context is of the wrong type."},"0xC0220035":{code:"STATUS_FWP_INVALID_PARAMETER",message:"The parameter is incorrect."},"0xC0220036":{code:"STATUS_FWP_TOO_MANY_SUBLAYERS",message:"The maximum number of sublayers has been reached."},"0xC0220037":{code:"STATUS_FWP_CALLOUT_NOTIFICATION_FAILED",message:"The notification function for a callout returned an error."},"0xC0220038":{code:"STATUS_FWP_INCOMPATIBLE_AUTH_CONFIG",message:"The IPsec authentication configuration is not compatible with the authentication type."},"0xC0220039":{code:"STATUS_FWP_INCOMPATIBLE_CIPHER_CONFIG",message:"The IPsec cipher configuration is not compatible with the cipher type."},"0xC022003C":{code:"STATUS_FWP_DUPLICATE_AUTH_METHOD",message:"A policy cannot contain the same auth method more than once."},"0xC0220100":{code:"STATUS_FWP_TCPIP_NOT_READY",message:"The TCP/IP stack is not ready."},"0xC0220101":{code:"STATUS_FWP_INJECT_HANDLE_CLOSING",message:"The injection handle is being closed by another thread."},"0xC0220102":{code:"STATUS_FWP_INJECT_HANDLE_STALE",message:"The injection handle is stale."},"0xC0220103":{code:"STATUS_FWP_CANNOT_PEND",message:"The classify cannot be pended."},"0xC0230002":{code:"STATUS_NDIS_CLOSING",message:"The binding to the network interface is being closed."},"0xC0230004":{code:"STATUS_NDIS_BAD_VERSION",message:"An invalid version was specified."},"0xC0230005":{code:"STATUS_NDIS_BAD_CHARACTERISTICS",message:"An invalid characteristics table was used."},"0xC0230006":{code:"STATUS_NDIS_ADAPTER_NOT_FOUND",message:"Failed to find the network interface or the network interface is not ready."},"0xC0230007":{code:"STATUS_NDIS_OPEN_FAILED",message:"Failed to open the network interface."},"0xC0230008":{code:"STATUS_NDIS_DEVICE_FAILED",message:"The network interface has encountered an internal unrecoverable failure."},"0xC0230009":{code:"STATUS_NDIS_MULTICAST_FULL",message:"The multicast list on the network interface is full."},"0xC023000A":{code:"STATUS_NDIS_MULTICAST_EXISTS",message:"An attempt was made to add a duplicate multicast address to the list."},"0xC023000B":{code:"STATUS_NDIS_MULTICAST_NOT_FOUND",message:"At attempt was made to remove a multicast address that was never added."},"0xC023000C":{code:"STATUS_NDIS_REQUEST_ABORTED",message:"The network interface aborted the request."},"0xC023000D":{code:"STATUS_NDIS_RESET_IN_PROGRESS",message:"The network interface cannot process the request because it is being reset."},"0xC023000F":{code:"STATUS_NDIS_INVALID_PACKET",message:"An attempt was made to send an invalid packet on a network interface."},"0xC0230010":{code:"STATUS_NDIS_INVALID_DEVICE_REQUEST",message:"The specified request is not a valid operation for the target device."},"0xC0230011":{code:"STATUS_NDIS_ADAPTER_NOT_READY",message:"The network interface is not ready to complete this operation."},"0xC0230014":{code:"STATUS_NDIS_INVALID_LENGTH",message:"The length of the buffer submitted for this operation is not valid."},"0xC0230015":{code:"STATUS_NDIS_INVALID_DATA",message:"The data used for this operation is not valid."},"0xC0230016":{code:"STATUS_NDIS_BUFFER_TOO_SHORT",message:"The length of the submitted buffer for this operation is too small."},"0xC0230017":{code:"STATUS_NDIS_INVALID_OID",message:"The network interface does not support this object identifier."},"0xC0230018":{code:"STATUS_NDIS_ADAPTER_REMOVED",message:"The network interface has been removed."},"0xC0230019":{code:"STATUS_NDIS_UNSUPPORTED_MEDIA",message:"The network interface does not support this media type."},"0xC023001A":{code:"STATUS_NDIS_GROUP_ADDRESS_IN_USE",message:"An attempt was made to remove a token ring group address that is in use by other components."},"0xC023001B":{code:"STATUS_NDIS_FILE_NOT_FOUND",message:"An attempt was made to map a file that cannot be found."},"0xC023001C":{code:"STATUS_NDIS_ERROR_READING_FILE",message:"An error occurred while NDIS tried to map the file."},"0xC023001D":{code:"STATUS_NDIS_ALREADY_MAPPED",message:"An attempt was made to map a file that is already mapped."},"0xC023001E":{code:"STATUS_NDIS_RESOURCE_CONFLICT",message:"An attempt to allocate a hardware resource failed because the resource is used by another component."},"0xC023001F":{code:"STATUS_NDIS_MEDIA_DISCONNECTED",message:"The I/O operation failed because the network media is disconnected or the wireless access point is out of range."},"0xC0230022":{code:"STATUS_NDIS_INVALID_ADDRESS",message:"The network address used in the request is invalid."},"0xC023002A":{code:"STATUS_NDIS_PAUSED",message:"The offload operation on the network interface has been paused."},"0xC023002B":{code:"STATUS_NDIS_INTERFACE_NOT_FOUND",message:"The network interface was not found."},"0xC023002C":{code:"STATUS_NDIS_UNSUPPORTED_REVISION",message:"The revision number specified in the structure is not supported."},"0xC023002D":{code:"STATUS_NDIS_INVALID_PORT",message:"The specified port does not exist on this network interface."},"0xC023002E":{code:"STATUS_NDIS_INVALID_PORT_STATE",message:"The current state of the specified port on this network interface does not support the requested operation."},"0xC023002F":{code:"STATUS_NDIS_LOW_POWER_STATE",message:"The miniport adapter is in a lower power state."},"0xC02300BB":{code:"STATUS_NDIS_NOT_SUPPORTED",message:"The network interface does not support this request."},"0xC023100F":{code:"STATUS_NDIS_OFFLOAD_POLICY",message:"The TCP connection is not offloadable because of a local policy setting."},"0xC0231012":{code:"STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED",message:"The TCP connection is not offloadable by the Chimney offload target."},"0xC0231013":{code:"STATUS_NDIS_OFFLOAD_PATH_REJECTED",message:"The IP Path object is not in an offloadable state."},"0xC0232000":{code:"STATUS_NDIS_DOT11_AUTO_CONFIG_ENABLED",message:"The wireless LAN interface is in auto-configuration mode and does not support the requested parameter change operation."},"0xC0232001":{code:"STATUS_NDIS_DOT11_MEDIA_IN_USE",message:"The wireless LAN interface is busy and cannot perform the requested operation."},"0xC0232002":{code:"STATUS_NDIS_DOT11_POWER_STATE_INVALID",message:"The wireless LAN interface is power down and does not support the requested operation."},"0xC0232003":{code:"STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL",message:"The list of wake on LAN patterns is full."},"0xC0232004":{code:"STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL",message:"The list of low power protocol offloads is full."},"0xC0360001":{code:"STATUS_IPSEC_BAD_SPI",message:"The SPI in the packet does not match a valid IPsec SA."},"0xC0360002":{code:"STATUS_IPSEC_SA_LIFETIME_EXPIRED",message:"The packet was received on an IPsec SA whose lifetime has expired."},"0xC0360003":{code:"STATUS_IPSEC_WRONG_SA",message:"The packet was received on an IPsec SA that does not match the packet characteristics."},"0xC0360004":{code:"STATUS_IPSEC_REPLAY_CHECK_FAILED",message:"The packet sequence number replay check failed."},"0xC0360005":{code:"STATUS_IPSEC_INVALID_PACKET",message:"The IPsec header and/or trailer in the packet is invalid."},"0xC0360006":{code:"STATUS_IPSEC_INTEGRITY_CHECK_FAILED",message:"The IPsec integrity check failed."},"0xC0360007":{code:"STATUS_IPSEC_CLEAR_TEXT_DROP",message:"IPsec dropped a clear text packet."},"0xC0360008":{code:"STATUS_IPSEC_AUTH_FIREWALL_DROP",message:"IPsec dropped an incoming ESP packet in authenticated firewall mode. This drop is benign."},"0xC0360009":{code:"STATUS_IPSEC_THROTTLE_DROP",message:"IPsec dropped a packet due to DOS throttle."},"0xC0368000":{code:"STATUS_IPSEC_DOSP_BLOCK",message:"IPsec Dos Protection matched an explicit block rule."},"0xC0368001":{code:"STATUS_IPSEC_DOSP_RECEIVED_MULTICAST",message:"IPsec Dos Protection received an IPsec specific multicast packet which is not allowed."},"0xC0368002":{code:"STATUS_IPSEC_DOSP_INVALID_PACKET",message:"IPsec Dos Protection received an incorrectly formatted packet."},"0xC0368003":{code:"STATUS_IPSEC_DOSP_STATE_LOOKUP_FAILED",message:"IPsec Dos Protection failed to lookup state."},"0xC0368004":{code:"STATUS_IPSEC_DOSP_MAX_ENTRIES",message:"IPsec Dos Protection failed to create state because there are already maximum number of entries allowed by policy."},"0xC0368005":{code:"STATUS_IPSEC_DOSP_KEYMOD_NOT_ALLOWED",message:"IPsec Dos Protection received an IPsec negotiation packet for a keying module which is not allowed by policy."},"0xC0368006":{code:"STATUS_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES",message:"IPsec Dos Protection failed to create per internal IP ratelimit queue because there is already maximum number of queues allowed by policy."},"0xC038005B":{code:"STATUS_VOLMGR_MIRROR_NOT_SUPPORTED",message:"The system does not support mirrored volumes."},"0xC038005C":{code:"STATUS_VOLMGR_RAID5_NOT_SUPPORTED",message:"The system does not support RAID-5 volumes."},"0xC03A0014":{code:"STATUS_VIRTDISK_PROVIDER_NOT_FOUND",message:"A virtual disk support provider for the specified file was not found."},"0xC03A0015":{code:"STATUS_VIRTDISK_NOT_VIRTUAL_DISK",message:"The specified disk is not a virtual disk."},"0xC03A0016":{code:"STATUS_VHD_PARENT_VHD_ACCESS_DENIED",message:"The chain of virtual hard disks is inaccessible. The process has not been granted access rights to the parent virtual hard disk for the differencing disk."},"0xC03A0017":{code:"STATUS_VHD_CHILD_PARENT_SIZE_MISMATCH",message:"The chain of virtual hard disks is corrupted. There is a mismatch in the virtual sizes of the parent virtual hard disk and differencing disk."},"0xC03A0018":{code:"STATUS_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED",message:"The chain of virtual hard disks is corrupted. A differencing disk is indicated in its own parent chain."},"0xC03A0019":{code:"STATUS_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT",message:"The chain of virtual hard disks is inaccessible. There was an error opening a virtual hard disk further up the chain."}},Zbn={"0x00000000":{code:"ERROR_SUCCESS",message:"The operation completed successfully."},"0x00000001":{code:"ERROR_INVALID_FUNCTION",message:"Incorrect function."},"0x00000002":{code:"ERROR_FILE_NOT_FOUND",message:"The system cannot find the file specified."},"0x00000003":{code:"ERROR_PATH_NOT_FOUND",message:"The system cannot find the path specified."},"0x00000004":{code:"ERROR_TOO_MANY_OPEN_FILES",message:"The system cannot open the file."},"0x00000005":{code:"ERROR_ACCESS_DENIED",message:"Access is denied."},"0x00000006":{code:"ERROR_INVALID_HANDLE",message:"The handle is invalid."},"0x00000007":{code:"ERROR_ARENA_TRASHED",message:"The storage control blocks were destroyed."},"0x00000008":{code:"ERROR_NOT_ENOUGH_MEMORY",message:"Not enough storage is available to process this command."},"0x00000009":{code:"ERROR_INVALID_BLOCK",message:"The storage control block address is invalid."},"0x0000000A":{code:"ERROR_BAD_ENVIRONMENT",message:"The environment is incorrect."},"0x0000000B":{code:"ERROR_BAD_FORMAT",message:"An attempt was made to load a program with an incorrect format."},"0x0000000C":{code:"ERROR_INVALID_ACCESS",message:"The access code is invalid."},"0x0000000D":{code:"ERROR_INVALID_DATA",message:"The data is invalid."},"0x0000000E":{code:"ERROR_OUTOFMEMORY",message:"Not enough storage is available to complete this operation."},"0x0000000F":{code:"ERROR_INVALID_DRIVE",message:"The system cannot find the drive specified."},"0x00000010":{code:"ERROR_CURRENT_DIRECTORY",message:"The directory cannot be removed."},"0x00000011":{code:"ERROR_NOT_SAME_DEVICE",message:"The system cannot move the file to a different disk drive."},"0x00000012":{code:"ERROR_NO_MORE_FILES",message:"There are no more files."},"0x00000013":{code:"ERROR_WRITE_PROTECT",message:"The media is write-protected."},"0x00000014":{code:"ERROR_BAD_UNIT",message:"The system cannot find the device specified."},"0x00000015":{code:"ERROR_NOT_READY",message:"The device is not ready."},"0x00000016":{code:"ERROR_BAD_COMMAND",message:"The device does not recognize the command."},"0x00000017":{code:"ERROR_CRC",message:"Data error (cyclic redundancy check)."},"0x00000018":{code:"ERROR_BAD_LENGTH",message:"The program issued a command but the command length is incorrect."},"0x00000019":{code:"ERROR_SEEK",message:"The drive cannot locate a specific area or track on the disk."},"0x0000001A":{code:"ERROR_NOT_DOS_DISK",message:"The specified disk cannot be accessed."},"0x0000001B":{code:"ERROR_SECTOR_NOT_FOUND",message:"The drive cannot find the sector requested."},"0x0000001C":{code:"ERROR_OUT_OF_PAPER",message:"The printer is out of paper."},"0x0000001D":{code:"ERROR_WRITE_FAULT",message:"The system cannot write to the specified device."},"0x0000001E":{code:"ERROR_READ_FAULT",message:"The system cannot read from the specified device."},"0x0000001F":{code:"ERROR_GEN_FAILURE",message:"A device attached to the system is not functioning."},"0x00000020":{code:"ERROR_SHARING_VIOLATION",message:"The process cannot access the file because it is being used by another process."},"0x00000021":{code:"ERROR_LOCK_VIOLATION",message:"The process cannot access the file because another process has locked a portion of the file."},"0x00000022":{code:"ERROR_WRONG_DISK",message:"The wrong disk is in the drive. Insert %2 (Volume Serial Number: %3) into drive %1."},"0x00000024":{code:"ERROR_SHARING_BUFFER_EXCEEDED",message:"Too many files opened for sharing."},"0x00000026":{code:"ERROR_HANDLE_EOF",message:"Reached the end of the file."},"0x00000027":{code:"ERROR_HANDLE_DISK_FULL",message:"The disk is full."},"0x00000032":{code:"ERROR_NOT_SUPPORTED",message:"The request is not supported."},"0x00000033":{code:"ERROR_REM_NOT_LIST",message:"Windows cannot find the network path. Verify that the network path is correct and the destination computer is not busy or turned off. If Windows still cannot find the network path, contact your network administrator."},"0x00000034":{code:"ERROR_DUP_NAME",message:"You were not connected because a duplicate name exists on the network. Go to System in Control Panel to change the computer name, and then try again."},"0x00000035":{code:"ERROR_BAD_NETPATH",message:"The network path was not found."},"0x00000036":{code:"ERROR_NETWORK_BUSY",message:"The network is busy."},"0x00000037":{code:"ERROR_DEV_NOT_EXIST",message:"The specified network resource or device is no longer available."},"0x00000038":{code:"ERROR_TOO_MANY_CMDS",message:"The network BIOS command limit has been reached."},"0x00000039":{code:"ERROR_ADAP_HDW_ERR",message:"A network adapter hardware error occurred."},"0x0000003A":{code:"ERROR_BAD_NET_RESP",message:"The specified server cannot perform the requested operation."},"0x0000003B":{code:"ERROR_UNEXP_NET_ERR",message:"An unexpected network error occurred."},"0x0000003C":{code:"ERROR_BAD_REM_ADAP",message:"The remote adapter is not compatible."},"0x0000003D":{code:"ERROR_PRINTQ_FULL",message:"The print queue is full."},"0x0000003E":{code:"ERROR_NO_SPOOL_SPACE",message:"Space to store the file waiting to be printed is not available on the server."},"0x0000003F":{code:"ERROR_PRINT_CANCELLED",message:"Your file waiting to be printed was deleted."},"0x00000040":{code:"ERROR_NETNAME_DELETED",message:"The specified network name is no longer available."},"0x00000041":{code:"ERROR_NETWORK_ACCESS_DENIED",message:"Network access is denied."},"0x00000042":{code:"ERROR_BAD_DEV_TYPE",message:"The network resource type is not correct."},"0x00000043":{code:"ERROR_BAD_NET_NAME",message:"The network name cannot be found."},"0x00000044":{code:"ERROR_TOO_MANY_NAMES",message:"The name limit for the local computer network adapter card was exceeded."},"0x00000045":{code:"ERROR_TOO_MANY_SESS",message:"The network BIOS session limit was exceeded."},"0x00000046":{code:"ERROR_SHARING_PAUSED",message:"The remote server has been paused or is in the process of being started."},"0x00000047":{code:"ERROR_REQ_NOT_ACCEP",message:"No more connections can be made to this remote computer at this time because the computer has accepted the maximum number of connections."},"0x00000048":{code:"ERROR_REDIR_PAUSED",message:"The specified printer or disk device has been paused."},"0x00000050":{code:"ERROR_FILE_EXISTS",message:"The file exists."},"0x00000052":{code:"ERROR_CANNOT_MAKE",message:"The directory or file cannot be created."},"0x00000053":{code:"ERROR_FAIL_I24",message:"Fail on INT 24."},"0x00000054":{code:"ERROR_OUT_OF_STRUCTURES",message:"Storage to process this request is not available."},"0x00000055":{code:"ERROR_ALREADY_ASSIGNED",message:"The local device name is already in use."},"0x00000056":{code:"ERROR_INVALID_PASSWORD",message:"The specified network password is not correct."},"0x00000057":{code:"ERROR_INVALID_PARAMETER",message:"The parameter is incorrect."},"0x00000058":{code:"ERROR_NET_WRITE_FAULT",message:"A write fault occurred on the network."},"0x00000059":{code:"ERROR_NO_PROC_SLOTS",message:"The system cannot start another process at this time."},"0x00000064":{code:"ERROR_TOO_MANY_SEMAPHORES",message:"Cannot create another system semaphore."},"0x00000065":{code:"ERROR_EXCL_SEM_ALREADY_OWNED",message:"The exclusive semaphore is owned by another process."},"0x00000066":{code:"ERROR_SEM_IS_SET",message:"The semaphore is set and cannot be closed."},"0x00000067":{code:"ERROR_TOO_MANY_SEM_REQUESTS",message:"The semaphore cannot be set again."},"0x00000068":{code:"ERROR_INVALID_AT_INTERRUPT_TIME",message:"Cannot request exclusive semaphores at interrupt time."},"0x00000069":{code:"ERROR_SEM_OWNER_DIED",message:"The previous ownership of this semaphore has ended."},"0x0000006A":{code:"ERROR_SEM_USER_LIMIT",message:"Insert the disk for drive %1."},"0x0000006B":{code:"ERROR_DISK_CHANGE",message:"The program stopped because an alternate disk was not inserted."},"0x0000006C":{code:"ERROR_DRIVE_LOCKED",message:"The disk is in use or locked by another process."},"0x0000006D":{code:"ERROR_BROKEN_PIPE",message:"The pipe has been ended."},"0x0000006E":{code:"ERROR_OPEN_FAILED",message:"The system cannot open the device or file specified."},"0x0000006F":{code:"ERROR_BUFFER_OVERFLOW",message:"The file name is too long."},"0x00000070":{code:"ERROR_DISK_FULL",message:"There is not enough space on the disk."},"0x00000071":{code:"ERROR_NO_MORE_SEARCH_HANDLES",message:"No more internal file identifiers are available."},"0x00000072":{code:"ERROR_INVALID_TARGET_HANDLE",message:"The target internal file identifier is incorrect."},"0x00000075":{code:"ERROR_INVALID_CATEGORY",message:"The Input Output Control (IOCTL) call made by the application program is not correct."},"0x00000076":{code:"ERROR_INVALID_VERIFY_SWITCH",message:"The verify-on-write switch parameter value is not correct."},"0x00000077":{code:"ERROR_BAD_DRIVER_LEVEL",message:"The system does not support the command requested."},"0x00000078":{code:"ERROR_CALL_NOT_IMPLEMENTED",message:"This function is not supported on this system."},"0x00000079":{code:"ERROR_SEM_TIMEOUT",message:"The semaphore time-out period has expired."},"0x0000007A":{code:"ERROR_INSUFFICIENT_BUFFER",message:"The data area passed to a system call is too small."},"0x0000007B":{code:"ERROR_INVALID_NAME",message:"The file name, directory name, or volume label syntax is incorrect."},"0x0000007C":{code:"ERROR_INVALID_LEVEL",message:"The system call level is not correct."},"0x0000007D":{code:"ERROR_NO_VOLUME_LABEL",message:"The disk has no volume label."},"0x0000007E":{code:"ERROR_MOD_NOT_FOUND",message:"The specified module could not be found."},"0x0000007F":{code:"ERROR_PROC_NOT_FOUND",message:"The specified procedure could not be found."},"0x00000080":{code:"ERROR_WAIT_NO_CHILDREN",message:"There are no child processes to wait for."},"0x00000081":{code:"ERROR_CHILD_NOT_COMPLETE",message:"The %1 application cannot be run in Win32 mode."},"0x00000082":{code:"ERROR_DIRECT_ACCESS_HANDLE",message:"Attempt to use a file handle to an open disk partition for an operation other than raw disk I/O."},"0x00000083":{code:"ERROR_NEGATIVE_SEEK",message:"An attempt was made to move the file pointer before the beginning of the file."},"0x00000084":{code:"ERROR_SEEK_ON_DEVICE",message:"The file pointer cannot be set on the specified device or file."},"0x00000085":{code:"ERROR_IS_JOIN_TARGET",message:"A JOIN or SUBST command cannot be used for a drive that contains previously joined drives."},"0x00000086":{code:"ERROR_IS_JOINED",message:"An attempt was made to use a JOIN or SUBST command on a drive that has already been joined."},"0x00000087":{code:"ERROR_IS_SUBSTED",message:"An attempt was made to use a JOIN or SUBST command on a drive that has already been substituted."},"0x00000088":{code:"ERROR_NOT_JOINED",message:"The system tried to delete the JOIN of a drive that is not joined."},"0x00000089":{code:"ERROR_NOT_SUBSTED",message:"The system tried to delete the substitution of a drive that is not substituted."},"0x0000008A":{code:"ERROR_JOIN_TO_JOIN",message:"The system tried to join a drive to a directory on a joined drive."},"0x0000008B":{code:"ERROR_SUBST_TO_SUBST",message:"The system tried to substitute a drive to a directory on a substituted drive."},"0x0000008C":{code:"ERROR_JOIN_TO_SUBST",message:"The system tried to join a drive to a directory on a substituted drive."},"0x0000008D":{code:"ERROR_SUBST_TO_JOIN",message:"The system tried to SUBST a drive to a directory on a joined drive."},"0x0000008E":{code:"ERROR_BUSY_DRIVE",message:"The system cannot perform a JOIN or SUBST at this time."},"0x0000008F":{code:"ERROR_SAME_DRIVE",message:"The system cannot join or substitute a drive to or for a directory on the same drive."},"0x00000090":{code:"ERROR_DIR_NOT_ROOT",message:"The directory is not a subdirectory of the root directory."},"0x00000091":{code:"ERROR_DIR_NOT_EMPTY",message:"The directory is not empty."},"0x00000092":{code:"ERROR_IS_SUBST_PATH",message:"The path specified is being used in a substitute."},"0x00000093":{code:"ERROR_IS_JOIN_PATH",message:"Not enough resources are available to process this command."},"0x00000094":{code:"ERROR_PATH_BUSY",message:"The path specified cannot be used at this time."},"0x00000095":{code:"ERROR_IS_SUBST_TARGET",message:"An attempt was made to join or substitute a drive for which a directory on the drive is the target of a previous substitute."},"0x00000096":{code:"ERROR_SYSTEM_TRACE",message:"System trace information was not specified in your CONFIG.SYS file, or tracing is disallowed."},"0x00000097":{code:"ERROR_INVALID_EVENT_COUNT",message:"The number of specified semaphore events for DosMuxSemWait is not correct."},"0x00000098":{code:"ERROR_TOO_MANY_MUXWAITERS",message:"DosMuxSemWait did not execute; too many semaphores are already set."},"0x00000099":{code:"ERROR_INVALID_LIST_FORMAT",message:"The DosMuxSemWait list is not correct."},"0x0000009A":{code:"ERROR_LABEL_TOO_LONG",message:"The volume label you entered exceeds the label character limit of the destination file system."},"0x0000009B":{code:"ERROR_TOO_MANY_TCBS",message:"Cannot create another thread."},"0x0000009C":{code:"ERROR_SIGNAL_REFUSED",message:"The recipient process has refused the signal."},"0x0000009D":{code:"ERROR_DISCARDED",message:"The segment is already discarded and cannot be locked."},"0x0000009E":{code:"ERROR_NOT_LOCKED",message:"The segment is already unlocked."},"0x0000009F":{code:"ERROR_BAD_THREADID_ADDR",message:"The address for the thread ID is not correct."},"0x000000A0":{code:"ERROR_BAD_ARGUMENTS",message:"One or more arguments are not correct."},"0x000000A1":{code:"ERROR_BAD_PATHNAME",message:"The specified path is invalid."},"0x000000A2":{code:"ERROR_SIGNAL_PENDING",message:"A signal is already pending."},"0x000000A4":{code:"ERROR_MAX_THRDS_REACHED",message:"No more threads can be created in the system."},"0x000000A7":{code:"ERROR_LOCK_FAILED",message:"Unable to lock a region of a file."},"0x000000AA":{code:"ERROR_BUSY",message:"The requested resource is in use."},"0x000000AD":{code:"ERROR_CANCEL_VIOLATION",message:"A lock request was not outstanding for the supplied cancel region."},"0x000000AE":{code:"ERROR_ATOMIC_LOCKS_NOT_SUPPORTED",message:"The file system does not support atomic changes to the lock type."},"0x000000B4":{code:"ERROR_INVALID_SEGMENT_NUMBER",message:"The system detected a segment number that was not correct."},"0x000000B6":{code:"ERROR_INVALID_ORDINAL",message:"The operating system cannot run %1."},"0x000000B7":{code:"ERROR_ALREADY_EXISTS",message:"Cannot create a file when that file already exists."},"0x000000BA":{code:"ERROR_INVALID_FLAG_NUMBER",message:"The flag passed is not correct."},"0x000000BB":{code:"ERROR_SEM_NOT_FOUND",message:"The specified system semaphore name was not found."},"0x000000BC":{code:"ERROR_INVALID_STARTING_CODESEG",message:"The operating system cannot run %1."},"0x000000BD":{code:"ERROR_INVALID_STACKSEG",message:"The operating system cannot run %1."},"0x000000BE":{code:"ERROR_INVALID_MODULETYPE",message:"The operating system cannot run %1."},"0x000000BF":{code:"ERROR_INVALID_EXE_SIGNATURE",message:"Cannot run %1 in Win32 mode."},"0x000000C0":{code:"ERROR_EXE_MARKED_INVALID",message:"The operating system cannot run %1."},"0x000000C1":{code:"ERROR_BAD_EXE_FORMAT",message:"%1 is not a valid Win32 application."},"0x000000C2":{code:"ERROR_ITERATED_DATA_EXCEEDS_64k",message:"The operating system cannot run %1."},"0x000000C3":{code:"ERROR_INVALID_MINALLOCSIZE",message:"The operating system cannot run %1."},"0x000000C4":{code:"ERROR_DYNLINK_FROM_INVALID_RING",message:"The operating system cannot run this application program."},"0x000000C5":{code:"ERROR_IOPL_NOT_ENABLED",message:"The operating system is not presently configured to run this application."},"0x000000C6":{code:"ERROR_INVALID_SEGDPL",message:"The operating system cannot run %1."},"0x000000C7":{code:"ERROR_AUTODATASEG_EXCEEDS_64k",message:"The operating system cannot run this application program."},"0x000000C8":{code:"ERROR_RING2SEG_MUST_BE_MOVABLE",message:"The code segment cannot be greater than or equal to 64 KB."},"0x000000C9":{code:"ERROR_RELOC_CHAIN_XEEDS_SEGLIM",message:"The operating system cannot run %1."},"0x000000CA":{code:"ERROR_INFLOOP_IN_RELOC_CHAIN",message:"The operating system cannot run %1."},"0x000000CB":{code:"ERROR_ENVVAR_NOT_FOUND",message:"The system could not find the environment option that was entered."},"0x000000CD":{code:"ERROR_NO_SIGNAL_SENT",message:"No process in the command subtree has a signal handler."},"0x000000CE":{code:"ERROR_FILENAME_EXCED_RANGE",message:"The file name or extension is too long."},"0x000000CF":{code:"ERROR_RING2_STACK_IN_USE",message:"The ring 2 stack is in use."},"0x000000D0":{code:"ERROR_META_EXPANSION_TOO_LONG",message:"The asterisk (*) or question mark (?) global file name characters are entered incorrectly, or too many global file name characters are specified."},"0x000000D1":{code:"ERROR_INVALID_SIGNAL_NUMBER",message:"The signal being posted is not correct."},"0x000000D2":{code:"ERROR_THREAD_1_INACTIVE",message:"The signal handler cannot be set."},"0x000000D4":{code:"ERROR_LOCKED",message:"The segment is locked and cannot be reallocated."},"0x000000D6":{code:"ERROR_TOO_MANY_MODULES",message:"Too many dynamic-link modules are attached to this program or dynamic-link module."},"0x000000D7":{code:"ERROR_NESTING_NOT_ALLOWED",message:"Cannot nest calls to LoadModule."},"0x000000D8":{code:"ERROR_EXE_MACHINE_TYPE_MISMATCH",message:"This version of %1 is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need an x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher."},"0x000000D9":{code:"ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY",message:"The image file %1 is signed, unable to modify."},"0x000000DA":{code:"ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY",message:"The image file %1 is strong signed, unable to modify."},"0x000000DC":{code:"ERROR_FILE_CHECKED_OUT",message:"This file is checked out or locked for editing by another user."},"0x000000DD":{code:"ERROR_CHECKOUT_REQUIRED",message:"The file must be checked out before saving changes."},"0x000000DE":{code:"ERROR_BAD_FILE_TYPE",message:"The file type being saved or retrieved has been blocked."},"0x000000DF":{code:"ERROR_FILE_TOO_LARGE",message:"The file size exceeds the limit allowed and cannot be saved."},"0x000000E0":{code:"ERROR_FORMS_AUTH_REQUIRED",message:"Access denied. Before opening files in this location, you must first browse to the website and select the option to sign in automatically."},"0x000000E1":{code:"ERROR_VIRUS_INFECTED",message:"Operation did not complete successfully because the file contains a virus."},"0x000000E2":{code:"ERROR_VIRUS_DELETED",message:"This file contains a virus and cannot be opened. Due to the nature of this virus, the file has been removed from this location."},"0x000000E5":{code:"ERROR_PIPE_LOCAL",message:"The pipe is local."},"0x000000E6":{code:"ERROR_BAD_PIPE",message:"The pipe state is invalid."},"0x000000E7":{code:"ERROR_PIPE_BUSY",message:"All pipe instances are busy."},"0x000000E8":{code:"ERROR_NO_DATA",message:"The pipe is being closed."},"0x000000E9":{code:"ERROR_PIPE_NOT_CONNECTED",message:"No process is on the other end of the pipe."},"0x000000EA":{code:"ERROR_MORE_DATA",message:"More data is available."},"0x000000F0":{code:"ERROR_VC_DISCONNECTED",message:"The session was canceled."},"0x000000FE":{code:"ERROR_INVALID_EA_NAME",message:"The specified extended attribute name was invalid."},"0x000000FF":{code:"ERROR_EA_LIST_INCONSISTENT",message:"The extended attributes are inconsistent."},"0x00000102":{code:"WAIT_TIMEOUT",message:"The wait operation timed out."},"0x00000103":{code:"ERROR_NO_MORE_ITEMS",message:"No more data is available."},"0x0000010A":{code:"ERROR_CANNOT_COPY",message:"The copy functions cannot be used."},"0x0000010B":{code:"ERROR_DIRECTORY",message:"The directory name is invalid."},"0x00000113":{code:"ERROR_EAS_DIDNT_FIT",message:"The extended attributes did not fit in the buffer."},"0x00000114":{code:"ERROR_EA_FILE_CORRUPT",message:"The extended attribute file on the mounted file system is corrupt."},"0x00000115":{code:"ERROR_EA_TABLE_FULL",message:"The extended attribute table file is full."},"0x00000116":{code:"ERROR_INVALID_EA_HANDLE",message:"The specified extended attribute handle is invalid."},"0x0000011A":{code:"ERROR_EAS_NOT_SUPPORTED",message:"The mounted file system does not support extended attributes."},"0x00000120":{code:"ERROR_NOT_OWNER",message:"Attempt to release mutex not owned by caller."},"0x0000012A":{code:"ERROR_TOO_MANY_POSTS",message:"Too many posts were made to a semaphore."},"0x0000012B":{code:"ERROR_PARTIAL_COPY",message:"Only part of a ReadProcessMemory or WriteProcessMemory request was completed."},"0x0000012C":{code:"ERROR_OPLOCK_NOT_GRANTED",message:"The oplock request is denied."},"0x0000012D":{code:"ERROR_INVALID_OPLOCK_PROTOCOL",message:"An invalid oplock acknowledgment was received by the system."},"0x0000012E":{code:"ERROR_DISK_TOO_FRAGMENTED",message:"The volume is too fragmented to complete this operation."},"0x0000012F":{code:"ERROR_DELETE_PENDING",message:"The file cannot be opened because it is in the process of being deleted."},"0x0000013D":{code:"ERROR_MR_MID_NOT_FOUND",message:"The system cannot find message text for message number 0x%1 in the message file for %2."},"0x0000013E":{code:"ERROR_SCOPE_NOT_FOUND",message:"The scope specified was not found."},"0x0000015E":{code:"ERROR_FAIL_NOACTION_REBOOT",message:"No action was taken because a system reboot is required."},"0x0000015F":{code:"ERROR_FAIL_SHUTDOWN",message:"The shutdown operation failed."},"0x00000160":{code:"ERROR_FAIL_RESTART",message:"The restart operation failed."},"0x00000161":{code:"ERROR_MAX_SESSIONS_REACHED",message:"The maximum number of sessions has been reached."},"0x00000190":{code:"ERROR_THREAD_MODE_ALREADY_BACKGROUND",message:"The thread is already in background processing mode."},"0x00000191":{code:"ERROR_THREAD_MODE_NOT_BACKGROUND",message:"The thread is not in background processing mode."},"0x00000192":{code:"ERROR_PROCESS_MODE_ALREADY_BACKGROUND",message:"The process is already in background processing mode."},"0x00000193":{code:"ERROR_PROCESS_MODE_NOT_BACKGROUND",message:"The process is not in background processing mode."},"0x000001E7":{code:"ERROR_INVALID_ADDRESS",message:"Attempt to access invalid address."},"0x000001F4":{code:"ERROR_USER_PROFILE_LOAD",message:"User profile cannot be loaded."},"0x00000216":{code:"ERROR_ARITHMETIC_OVERFLOW",message:"Arithmetic result exceeded 32 bits."},"0x00000217":{code:"ERROR_PIPE_CONNECTED",message:"There is a process on the other end of the pipe."},"0x00000218":{code:"ERROR_PIPE_LISTENING",message:"Waiting for a process to open the other end of the pipe."},"0x00000219":{code:"ERROR_VERIFIER_STOP",message:"Application verifier has found an error in the current process."},"0x0000021A":{code:"ERROR_ABIOS_ERROR",message:"An error occurred in the ABIOS subsystem."},"0x0000021B":{code:"ERROR_WX86_WARNING",message:"A warning occurred in the WX86 subsystem."},"0x0000021C":{code:"ERROR_WX86_ERROR",message:"An error occurred in the WX86 subsystem."},"0x0000021D":{code:"ERROR_TIMER_NOT_CANCELED",message:"An attempt was made to cancel or set a timer that has an associated asynchronous procedure call (APC) and the subject thread is not the thread that originally set the timer with an associated APC routine."},"0x0000021E":{code:"ERROR_UNWIND",message:"Unwind exception code."},"0x0000021F":{code:"ERROR_BAD_STACK",message:"An invalid or unaligned stack was encountered during an unwind operation."},"0x00000220":{code:"ERROR_INVALID_UNWIND_TARGET",message:"An invalid unwind target was encountered during an unwind operation."},"0x00000221":{code:"ERROR_INVALID_PORT_ATTRIBUTES",message:"Invalid object attributes specified to NtCreatePort or invalid port attributes specified to NtConnectPort."},"0x00000222":{code:"ERROR_PORT_MESSAGE_TOO_LONG",message:"Length of message passed to NtRequestPort or NtRequestWaitReplyPort was longer than the maximum message allowed by the port."},"0x00000223":{code:"ERROR_INVALID_QUOTA_LOWER",message:"An attempt was made to lower a quota limit below the current usage."},"0x00000224":{code:"ERROR_DEVICE_ALREADY_ATTACHED",message:"An attempt was made to attach to a device that was already attached to another device."},"0x00000225":{code:"ERROR_INSTRUCTION_MISALIGNMENT",message:"An attempt was made to execute an instruction at an unaligned address, and the host system does not support unaligned instruction references."},"0x00000226":{code:"ERROR_PROFILING_NOT_STARTED",message:"Profiling not started."},"0x00000227":{code:"ERROR_PROFILING_NOT_STOPPED",message:"Profiling not stopped."},"0x00000228":{code:"ERROR_COULD_NOT_INTERPRET",message:"The passed ACL did not contain the minimum required information."},"0x00000229":{code:"ERROR_PROFILING_AT_LIMIT",message:"The number of active profiling objects is at the maximum and no more may be started."},"0x0000022A":{code:"ERROR_CANT_WAIT",message:"Used to indicate that an operation cannot continue without blocking for I/O."},"0x0000022B":{code:"ERROR_CANT_TERMINATE_SELF",message:"Indicates that a thread attempted to terminate itself by default (called NtTerminateThread with NULL) and it was the last thread in the current process."},"0x0000022C":{code:"ERROR_UNEXPECTED_MM_CREATE_ERR",message:"If an MM error is returned that is not defined in the standard FsRtl filter, it is converted to one of the following errors that is guaranteed to be in the filter. In this case, information is lost; however, the filter correctly handles the exception."},"0x0000022D":{code:"ERROR_UNEXPECTED_MM_MAP_ERROR",message:"If an MM error is returned that is not defined in the standard FsRtl filter, it is converted to one of the following errors that is guaranteed to be in the filter. In this case, information is lost; however, the filter correctly handles the exception."},"0x0000022E":{code:"ERROR_UNEXPECTED_MM_EXTEND_ERR",message:"If an MM error is returned that is not defined in the standard FsRtl filter, it is converted to one of the following errors that is guaranteed to be in the filter. In this case, information is lost; however, the filter correctly handles the exception."},"0x0000022F":{code:"ERROR_BAD_FUNCTION_TABLE",message:"A malformed function table was encountered during an unwind operation."},"0x00000230":{code:"ERROR_NO_GUID_TRANSLATION",message:"Indicates that an attempt was made to assign protection to a file system file or directory and one of the SIDs in the security descriptor could not be translated into a GUID that could be stored by the file system. This causes the protection attempt to fail, which may cause a file creation attempt to fail."},"0x00000231":{code:"ERROR_INVALID_LDT_SIZE",message:"Indicates that an attempt was made to grow a local domain table (LDT) by setting its size, or that the size was not an even number of selectors."},"0x00000233":{code:"ERROR_INVALID_LDT_OFFSET",message:"Indicates that the starting value for the LDT information was not an integral multiple of the selector size."},"0x00000234":{code:"ERROR_INVALID_LDT_DESCRIPTOR",message:"Indicates that the user supplied an invalid descriptor when trying to set up LDT descriptors."},"0x00000235":{code:"ERROR_TOO_MANY_THREADS",message:"Indicates a process has too many threads to perform the requested action. For example, assignment of a primary token may only be performed when a process has zero or one threads."},"0x00000236":{code:"ERROR_THREAD_NOT_IN_PROCESS",message:"An attempt was made to operate on a thread within a specific process, but the thread specified is not in the process specified."},"0x00000237":{code:"ERROR_PAGEFILE_QUOTA_EXCEEDED",message:"Page file quota was exceeded."},"0x00000238":{code:"ERROR_LOGON_SERVER_CONFLICT",message:"The Netlogon service cannot start because another Netlogon service running in the domain conflicts with the specified role."},"0x00000239":{code:"ERROR_SYNCHRONIZATION_REQUIRED",message:"The Security Accounts Manager (SAM) database on a Windows Server is significantly out of synchronization with the copy on the domain controller. A complete synchronization is required."},"0x0000023A":{code:"ERROR_NET_OPEN_FAILED",message:"The NtCreateFile API failed. This error should never be returned to an application, it is a place holder for the Windows LAN Manager Redirector to use in its internal error mapping routines."},"0x0000023B":{code:"ERROR_IO_PRIVILEGE_FAILED",message:"{Privilege Failed} The I/O permissions for the process could not be changed."},"0x0000023C":{code:"ERROR_CONTROL_C_EXIT",message:"{Application Exit by CTRL+C} The application terminated as a result of a CTRL+C."},"0x0000023D":{code:"ERROR_MISSING_SYSTEMFILE",message:"{Missing System File} The required system file %hs is bad or missing."},"0x0000023E":{code:"ERROR_UNHANDLED_EXCEPTION",message:"{Application Error} The exception %s (0x%08lx) occurred in the application at location 0x%08lx."},"0x0000023F":{code:"ERROR_APP_INIT_FAILURE",message:"{Application Error} The application failed to initialize properly (0x%lx). Click OK to terminate the application."},"0x00000240":{code:"ERROR_PAGEFILE_CREATE_FAILED",message:"{Unable to Create Paging File} The creation of the paging file %hs failed (%lx). The requested size was %ld."},"0x00000241":{code:"ERROR_INVALID_IMAGE_HASH",message:"The hash for the image cannot be found in the system catalogs. The image is likely corrupt or the victim of tampering."},"0x00000242":{code:"ERROR_NO_PAGEFILE",message:"{No Paging File Specified} No paging file was specified in the system configuration."},"0x00000243":{code:"ERROR_ILLEGAL_FLOAT_CONTEXT",message:"{EXCEPTION} A real-mode application issued a floating-point instruction, and floating-point hardware is not present."},"0x00000244":{code:"ERROR_NO_EVENT_PAIR",message:"An event pair synchronization operation was performed using the thread-specific client/server event pair object, but no event pair object was associated with the thread."},"0x00000245":{code:"ERROR_DOMAIN_CTRLR_CONFIG_ERROR",message:"A Windows Server has an incorrect configuration."},"0x00000246":{code:"ERROR_ILLEGAL_CHARACTER",message:"An illegal character was encountered. For a multibyte character set, this includes a lead byte without a succeeding trail byte. For the Unicode character set, this includes the characters 0xFFFF and 0xFFFE."},"0x00000247":{code:"ERROR_UNDEFINED_CHARACTER",message:"The Unicode character is not defined in the Unicode character set installed on the system."},"0x00000248":{code:"ERROR_FLOPPY_VOLUME",message:"The paging file cannot be created on a floppy disk."},"0x00000249":{code:"ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT",message:"The system bios failed to connect a system interrupt to the device or bus for which the device is connected."},"0x0000024A":{code:"ERROR_BACKUP_CONTROLLER",message:"This operation is only allowed for the primary domain controller (PDC) of the domain."},"0x0000024B":{code:"ERROR_MUTANT_LIMIT_EXCEEDED",message:"An attempt was made to acquire a mutant such that its maximum count would have been exceeded."},"0x0000024C":{code:"ERROR_FS_DRIVER_REQUIRED",message:"A volume has been accessed for which a file system driver is required that has not yet been loaded."},"0x0000024D":{code:"ERROR_CANNOT_LOAD_REGISTRY_FILE",message:"{Registry File Failure} The registry cannot load the hive (file): %hs or its log or alternate. It is corrupt, absent, or not writable."},"0x0000024E":{code:"ERROR_DEBUG_ATTACH_FAILED",message:"{Unexpected Failure in DebugActiveProcess} An unexpected failure occurred while processing a DebugActiveProcess API request. You may choose OK to terminate the process, or Cancel to ignore the error."},"0x0000024F":{code:"ERROR_SYSTEM_PROCESS_TERMINATED",message:"{Fatal System Error} The %hs system process terminated unexpectedly with a status of 0x%08x (0x%08x 0x%08x). The system has been shut down."},"0x00000250":{code:"ERROR_DATA_NOT_ACCEPTED",message:"{Data Not Accepted} The transport driver interface (TDI) client could not handle the data received during an indication."},"0x00000251":{code:"ERROR_VDM_HARD_ERROR",message:"The NT Virtual DOS Machine (NTVDM) encountered a hard error."},"0x00000252":{code:"ERROR_DRIVER_CANCEL_TIMEOUT",message:"{Cancel Timeout} The driver %hs failed to complete a canceled I/O request in the allotted time."},"0x00000253":{code:"ERROR_REPLY_MESSAGE_MISMATCH",message:"{Reply Message Mismatch} An attempt was made to reply to a local procedure call (LPC) message, but the thread specified by the client ID in the message was not waiting on that message."},"0x00000254":{code:"ERROR_LOST_WRITEBEHIND_DATA",message:"{Delayed Write Failed} Windows was unable to save all the data for the file %hs. The data has been lost. This error may be caused by a failure of your computer hardware or network connection. Try to save this file elsewhere."},"0x00000255":{code:"ERROR_CLIENT_SERVER_PARAMETERS_INVALID",message:"The parameters passed to the server in the client/server shared memory window were invalid. Too much data may have been put in the shared memory window."},"0x00000256":{code:"ERROR_NOT_TINY_STREAM",message:"The stream is not a tiny stream."},"0x00000257":{code:"ERROR_STACK_OVERFLOW_READ",message:"The request must be handled by the stack overflow code."},"0x00000258":{code:"ERROR_CONVERT_TO_LARGE",message:"Internal OFS status codes indicating how an allocation operation is handled. Either it is retried after the containing onode is moved or the extent stream is converted to a large stream."},"0x00000259":{code:"ERROR_FOUND_OUT_OF_SCOPE",message:"The attempt to find the object found an object matching by ID on the volume but it is out of the scope of the handle used for the operation."},"0x0000025A":{code:"ERROR_ALLOCATE_BUCKET",message:"The bucket array must be grown. Retry transaction after doing so."},"0x0000025B":{code:"ERROR_MARSHALL_OVERFLOW",message:"The user/kernel marshaling buffer has overflowed."},"0x0000025C":{code:"ERROR_INVALID_VARIANT",message:"The supplied variant structure contains invalid data."},"0x0000025D":{code:"ERROR_BAD_COMPRESSION_BUFFER",message:"The specified buffer contains ill-formed data."},"0x0000025E":{code:"ERROR_AUDIT_FAILED",message:"{Audit Failed} An attempt to generate a security audit failed."},"0x0000025F":{code:"ERROR_TIMER_RESOLUTION_NOT_SET",message:"The timer resolution was not previously set by the current process."},"0x00000260":{code:"ERROR_INSUFFICIENT_LOGON_INFO",message:"There is insufficient account information to log you on."},"0x00000261":{code:"ERROR_BAD_DLL_ENTRYPOINT",message:"{Invalid DLL Entrypoint} The dynamic link library %hs is not written correctly. The stack pointer has been left in an inconsistent state. The entry point should be declared as WINAPI or STDCALL. Select YES to fail the DLL load. Select NO to continue execution. Selecting NO may cause the application to operate incorrectly."},"0x00000262":{code:"ERROR_BAD_SERVICE_ENTRYPOINT",message:"{Invalid Service Callback Entrypoint} The %hs service is not written correctly. The stack pointer has been left in an inconsistent state. The callback entry point should be declared as WINAPI or STDCALL. Selecting OK will cause the service to continue operation. However, the service process may operate incorrectly."},"0x00000263":{code:"ERROR_IP_ADDRESS_CONFLICT1",message:"There is an IP address conflict with another system on the network."},"0x00000264":{code:"ERROR_IP_ADDRESS_CONFLICT2",message:"There is an IP address conflict with another system on the network."},"0x00000265":{code:"ERROR_REGISTRY_QUOTA_LIMIT",message:"{Low On Registry Space} The system has reached the maximum size allowed for the system part of the registry. Additional storage requests will be ignored."},"0x00000266":{code:"ERROR_NO_CALLBACK_ACTIVE",message:"A callback return system service cannot be executed when no callback is active."},"0x00000267":{code:"ERROR_PWD_TOO_SHORT",message:"The password provided is too short to meet the policy of your user account. Choose a longer password."},"0x00000268":{code:"ERROR_PWD_TOO_RECENT",message:"The policy of your user account does not allow you to change passwords too frequently. This is done to prevent users from changing back to a familiar, but potentially discovered, password. If you feel your password has been compromised, contact your administrator immediately to have a new one assigned."},"0x00000269":{code:"ERROR_PWD_HISTORY_CONFLICT",message:"You have attempted to change your password to one that you have used in the past. The policy of your user account does not allow this. Select a password that you have not previously used."},"0x0000026A":{code:"ERROR_UNSUPPORTED_COMPRESSION",message:"The specified compression format is unsupported."},"0x0000026B":{code:"ERROR_INVALID_HW_PROFILE",message:"The specified hardware profile configuration is invalid."},"0x0000026C":{code:"ERROR_INVALID_PLUGPLAY_DEVICE_PATH",message:"The specified Plug and Play registry device path is invalid."},"0x0000026D":{code:"ERROR_QUOTA_LIST_INCONSISTENT",message:"The specified quota list is internally inconsistent with its descriptor."},"0x0000026E":{code:"ERROR_EVALUATION_EXPIRATION",message:"{Windows Evaluation Notification} The evaluation period for this installation of Windows has expired. This system will shut down in 1 hour. To restore access to this installation of Windows, upgrade this installation using a licensed distribution of this product."},"0x0000026F":{code:"ERROR_ILLEGAL_DLL_RELOCATION",message:"{Illegal System DLL Relocation} The system DLL %hs was relocated in memory. The application will not run properly. The relocation occurred because the DLL %hs occupied an address range reserved for Windows system DLLs. The vendor supplying the DLL should be contacted for a new DLL."},"0x00000270":{code:"ERROR_DLL_INIT_FAILED_LOGOFF",message:"{DLL Initialization Failed} The application failed to initialize because the window station is shutting down."},"0x00000271":{code:"ERROR_VALIDATE_CONTINUE",message:"The validation process needs to continue on to the next step."},"0x00000272":{code:"ERROR_NO_MORE_MATCHES",message:"There are no more matches for the current index enumeration."},"0x00000273":{code:"ERROR_RANGE_LIST_CONFLICT",message:"The range could not be added to the range list because of a conflict."},"0x00000274":{code:"ERROR_SERVER_SID_MISMATCH",message:"The server process is running under a SID different than that required by the client."},"0x00000275":{code:"ERROR_CANT_ENABLE_DENY_ONLY",message:"A group marked use for deny only cannot be enabled."},"0x00000276":{code:"ERROR_FLOAT_MULTIPLE_FAULTS",message:"{EXCEPTION} Multiple floating point faults."},"0x00000277":{code:"ERROR_FLOAT_MULTIPLE_TRAPS",message:"{EXCEPTION} Multiple floating point traps."},"0x00000278":{code:"ERROR_NOINTERFACE",message:"The requested interface is not supported."},"0x00000279":{code:"ERROR_DRIVER_FAILED_SLEEP",message:"{System Standby Failed} The driver %hs does not support standby mode. Updating this driver may allow the system to go to standby mode."},"0x0000027A":{code:"ERROR_CORRUPT_SYSTEM_FILE",message:"The system file %1 has become corrupt and has been replaced."},"0x0000027B":{code:"ERROR_COMMITMENT_MINIMUM",message:"{Virtual Memory Minimum Too Low} Your system is low on virtual memory. Windows is increasing the size of your virtual memory paging file. During this process, memory requests for some applications may be denied. For more information, see Help."},"0x0000027C":{code:"ERROR_PNP_RESTART_ENUMERATION",message:"A device was removed so enumeration must be restarted."},"0x0000027D":{code:"ERROR_SYSTEM_IMAGE_BAD_SIGNATURE",message:"{Fatal System Error} The system image %s is not properly signed. The file has been replaced with the signed file. The system has been shut down."},"0x0000027E":{code:"ERROR_PNP_REBOOT_REQUIRED",message:"Device will not start without a reboot."},"0x0000027F":{code:"ERROR_INSUFFICIENT_POWER",message:"There is not enough power to complete the requested operation."},"0x00000281":{code:"ERROR_SYSTEM_SHUTDOWN",message:"The system is in the process of shutting down."},"0x00000282":{code:"ERROR_PORT_NOT_SET",message:"An attempt to remove a process DebugPort was made, but a port was not already associated with the process."},"0x00000283":{code:"ERROR_DS_VERSION_CHECK_FAILURE",message:"This version of Windows is not compatible with the behavior version of directory forest, domain, or domain controller."},"0x00000284":{code:"ERROR_RANGE_NOT_FOUND",message:"The specified range could not be found in the range list."},"0x00000286":{code:"ERROR_NOT_SAFE_MODE_DRIVER",message:"The driver was not loaded because the system is booting into safe mode."},"0x00000287":{code:"ERROR_FAILED_DRIVER_ENTRY",message:"The driver was not loaded because it failed its initialization call."},"0x00000288":{code:"ERROR_DEVICE_ENUMERATION_ERROR",message:"The device encountered an error while applying power or reading the device configuration. This may be caused by a failure of your hardware or by a poor connection."},"0x00000289":{code:"ERROR_MOUNT_POINT_NOT_RESOLVED",message:"The create operation failed because the name contained at least one mount point that resolves to a volume to which the specified device object is not attached."},"0x0000028A":{code:"ERROR_INVALID_DEVICE_OBJECT_PARAMETER",message:"The device object parameter is either not a valid device object or is not attached to the volume specified by the file name."},"0x0000028B":{code:"ERROR_MCA_OCCURED",message:"A machine check error has occurred. Check the system event log for additional information."},"0x0000028C":{code:"ERROR_DRIVER_DATABASE_ERROR",message:"There was an error [%2] processing the driver database."},"0x0000028D":{code:"ERROR_SYSTEM_HIVE_TOO_LARGE",message:"The system hive size has exceeded its limit."},"0x0000028E":{code:"ERROR_DRIVER_FAILED_PRIOR_UNLOAD",message:"The driver could not be loaded because a previous version of the driver is still in memory."},"0x0000028F":{code:"ERROR_VOLSNAP_PREPARE_HIBERNATE",message:"{Volume Shadow Copy Service} Wait while the Volume Shadow Copy Service prepares volume %hs for hibernation."},"0x00000290":{code:"ERROR_HIBERNATION_FAILURE",message:"The system has failed to hibernate (the error code is %hs). Hibernation will be disabled until the system is restarted."},"0x00000299":{code:"ERROR_FILE_SYSTEM_LIMITATION",message:"The requested operation could not be completed due to a file system limitation."},"0x0000029C":{code:"ERROR_ASSERTION_FAILURE",message:"An assertion failure has occurred."},"0x0000029D":{code:"ERROR_ACPI_ERROR",message:"An error occurred in the Advanced Configuration and Power Interface (ACPI) subsystem."},"0x0000029E":{code:"ERROR_WOW_ASSERTION",message:"WOW assertion error."},"0x0000029F":{code:"ERROR_PNP_BAD_MPS_TABLE",message:"A device is missing in the system BIOS MultiProcessor Specification (MPS) table. This device will not be used. Contact your system vendor for system BIOS update."},"0x000002A0":{code:"ERROR_PNP_TRANSLATION_FAILED",message:"A translator failed to translate resources."},"0x000002A1":{code:"ERROR_PNP_IRQ_TRANSLATION_FAILED",message:"An interrupt request (IRQ) translator failed to translate resources."},"0x000002A2":{code:"ERROR_PNP_INVALID_ID",message:"Driver %2 returned invalid ID for a child device (%3)."},"0x000002A3":{code:"ERROR_WAKE_SYSTEM_DEBUGGER",message:"{Kernel Debugger Awakened} the system debugger was awakened by an interrupt."},"0x000002A4":{code:"ERROR_HANDLES_CLOSED",message:"{Handles Closed} Handles to objects have been automatically closed because of the requested operation."},"0x000002A5":{code:"ERROR_EXTRANEOUS_INFORMATION",message:"{Too Much Information} The specified ACL contained more information than was expected."},"0x000002A6":{code:"ERROR_RXACT_COMMIT_NECESSARY",message:"This warning level status indicates that the transaction state already exists for the registry subtree, but that a transaction commit was previously aborted. The commit has NOT been completed, but it has not been rolled back either (so it may still be committed if desired)."},"0x000002A7":{code:"ERROR_MEDIA_CHECK",message:"{Media Changed} The media may have changed."},"0x000002A8":{code:"ERROR_GUID_SUBSTITUTION_MADE",message:"{GUID Substitution} During the translation of a GUID to a Windows SID, no administratively defined GUID prefix was found. A substitute prefix was used, which will not compromise system security. However, this may provide more restrictive access than intended."},"0x000002A9":{code:"ERROR_STOPPED_ON_SYMLINK",message:"The create operation stopped after reaching a symbolic link."},"0x000002AA":{code:"ERROR_LONGJUMP",message:"A long jump has been executed."},"0x000002AB":{code:"ERROR_PLUGPLAY_QUERY_VETOED",message:"The Plug and Play query operation was not successful."},"0x000002AC":{code:"ERROR_UNWIND_CONSOLIDATE",message:"A frame consolidation has been executed."},"0x000002AD":{code:"ERROR_REGISTRY_HIVE_RECOVERED",message:"{Registry Hive Recovered} Registry hive (file): %hs was corrupted and it has been recovered. Some data might have been lost."},"0x000002AE":{code:"ERROR_DLL_MIGHT_BE_INSECURE",message:"The application is attempting to run executable code from the module %hs. This may be insecure. An alternative, %hs, is available. Should the application use the secure module %hs?"},"0x000002AF":{code:"ERROR_DLL_MIGHT_BE_INCOMPATIBLE",message:"The application is loading executable code from the module %hs. This is secure, but may be incompatible with previous releases of the operating system. An alternative, %hs, is available. Should the application use the secure module %hs?"},"0x000002B0":{code:"ERROR_DBG_EXCEPTION_NOT_HANDLED",message:"Debugger did not handle the exception."},"0x000002B1":{code:"ERROR_DBG_REPLY_LATER",message:"Debugger will reply later."},"0x000002B2":{code:"ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE",message:"Debugger cannot provide handle."},"0x000002B3":{code:"ERROR_DBG_TERMINATE_THREAD",message:"Debugger terminated thread."},"0x000002B4":{code:"ERROR_DBG_TERMINATE_PROCESS",message:"Debugger terminated process."},"0x000002B5":{code:"ERROR_DBG_CONTROL_C",message:"Debugger got control C."},"0x000002B6":{code:"ERROR_DBG_PRINTEXCEPTION_C",message:"Debugger printed exception on control C."},"0x000002B7":{code:"ERROR_DBG_RIPEXCEPTION",message:"Debugger received Routing Information Protocol (RIP) exception."},"0x000002B8":{code:"ERROR_DBG_CONTROL_BREAK",message:"Debugger received control break."},"0x000002B9":{code:"ERROR_DBG_COMMAND_EXCEPTION",message:"Debugger command communication exception."},"0x000002BA":{code:"ERROR_OBJECT_NAME_EXISTS",message:"{Object Exists} An attempt was made to create an object and the object name already existed."},"0x000002BB":{code:"ERROR_THREAD_WAS_SUSPENDED",message:"{Thread Suspended} A thread termination occurred while the thread was suspended. The thread was resumed and termination proceeded."},"0x000002BC":{code:"ERROR_IMAGE_NOT_AT_BASE",message:"{Image Relocated} An image file could not be mapped at the address specified in the image file. Local fixes must be performed on this image."},"0x000002BD":{code:"ERROR_RXACT_STATE_CREATED",message:"This informational level status indicates that a specified registry subtree transaction state did not yet exist and had to be created."},"0x000002BE":{code:"ERROR_SEGMENT_NOTIFICATION",message:"{Segment Load} A virtual DOS machine (VDM) is loading, unloading, or moving an MS-DOS or Win16 program segment image. An exception is raised so a debugger can load, unload, or track symbols and breakpoints within these 16-bit segments."},"0x000002BF":{code:"ERROR_BAD_CURRENT_DIRECTORY",message:"{Invalid Current Directory} The process cannot switch to the startup current directory %hs. Select OK to set current directory to %hs, or select CANCEL to exit."},"0x000002C0":{code:"ERROR_FT_READ_RECOVERY_FROM_BACKUP",message:"{Redundant Read} To satisfy a read request, the NT fault-tolerant file system successfully read the requested data from a redundant copy. This was done because the file system encountered a failure on a member of the fault-tolerant volume, but it was unable to reassign the failing area of the device."},"0x000002C1":{code:"ERROR_FT_WRITE_RECOVERY",message:"{Redundant Write} To satisfy a write request, the Windows NT fault-tolerant file system successfully wrote a redundant copy of the information. This was done because the file system encountered a failure on a member of the fault-tolerant volume, but it was not able to reassign the failing area of the device."},"0x000002C2":{code:"ERROR_IMAGE_MACHINE_TYPE_MISMATCH",message:"{Machine Type Mismatch} The image file %hs is valid, but is for a machine type other than the current machine. Select OK to continue, or CANCEL to fail the DLL load."},"0x000002C3":{code:"ERROR_RECEIVE_PARTIAL",message:"{Partial Data Received} The network transport returned partial data to its client. The remaining data will be sent later."},"0x000002C4":{code:"ERROR_RECEIVE_EXPEDITED",message:"{Expedited Data Received} The network transport returned data to its client that was marked as expedited by the remote system."},"0x000002C5":{code:"ERROR_RECEIVE_PARTIAL_EXPEDITED",message:"{Partial Expedited Data Received} The network transport returned partial data to its client and this data was marked as expedited by the remote system. The remaining data will be sent later."},"0x000002C6":{code:"ERROR_EVENT_DONE",message:"{TDI Event Done} The TDI indication has completed successfully."},"0x000002C7":{code:"ERROR_EVENT_PENDING",message:"{TDI Event Pending} The TDI indication has entered the pending state."},"0x000002C8":{code:"ERROR_CHECKING_FILE_SYSTEM",message:"Checking file system on %wZ."},"0x000002C9":{code:"ERROR_FATAL_APP_EXIT",message:"{Fatal Application Exit} %hs."},"0x000002CA":{code:"ERROR_PREDEFINED_HANDLE",message:"The specified registry key is referenced by a predefined handle."},"0x000002CB":{code:"ERROR_WAS_UNLOCKED",message:"{Page Unlocked} The page protection of a locked page was changed to 'No Access' and the page was unlocked from memory and from the process."},"0x000002CD":{code:"ERROR_WAS_LOCKED",message:"{Page Locked} One of the pages to lock was already locked."},"0x000002CF":{code:"ERROR_ALREADY_WIN32",message:"The value already corresponds with a Win 32 error code."},"0x000002D0":{code:"ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE",message:"{Machine Type Mismatch} The image file %hs is valid, but is for a machine type other than the current machine."},"0x000002D1":{code:"ERROR_NO_YIELD_PERFORMED",message:"A yield execution was performed and no thread was available to run."},"0x000002D2":{code:"ERROR_TIMER_RESUME_IGNORED",message:"The resume flag to a timer API was ignored."},"0x000002D3":{code:"ERROR_ARBITRATION_UNHANDLED",message:"The arbiter has deferred arbitration of these resources to its parent."},"0x000002D4":{code:"ERROR_CARDBUS_NOT_SUPPORTED",message:'The inserted CardBus device cannot be started because of a configuration error on %hs"."'},"0x000002D5":{code:"ERROR_MP_PROCESSOR_MISMATCH",message:"The CPUs in this multiprocessor system are not all the same revision level. To use all processors the operating system restricts itself to the features of the least capable processor in the system. If problems occur with this system, contact the CPU manufacturer to see if this mix of processors is supported."},"0x000002D6":{code:"ERROR_HIBERNATED",message:"The system was put into hibernation."},"0x000002D7":{code:"ERROR_RESUME_HIBERNATION",message:"The system was resumed from hibernation."},"0x000002D8":{code:"ERROR_FIRMWARE_UPDATED",message:"Windows has detected that the system firmware (BIOS) was updated (previous firmware date = %2, current firmware date %3)."},"0x000002D9":{code:"ERROR_DRIVERS_LEAKING_LOCKED_PAGES",message:"A device driver is leaking locked I/O pages, causing system degradation. The system has automatically enabled a tracking code to try and catch the culprit."},"0x000002DA":{code:"ERROR_WAKE_SYSTEM",message:"The system has awoken."},"0x000002DF":{code:"ERROR_ABANDONED_WAIT_0",message:"The call failed because the handle associated with it was closed."},"0x000002E4":{code:"ERROR_ELEVATION_REQUIRED",message:"The requested operation requires elevation."},"0x000002E5":{code:"ERROR_REPARSE",message:"A reparse should be performed by the object manager because the name of the file resulted in a symbolic link."},"0x000002E6":{code:"ERROR_OPLOCK_BREAK_IN_PROGRESS",message:"An open/create operation completed while an oplock break is underway."},"0x000002E7":{code:"ERROR_VOLUME_MOUNTED",message:"A new volume has been mounted by a file system."},"0x000002E8":{code:"ERROR_RXACT_COMMITTED",message:"This success level status indicates that the transaction state already exists for the registry subtree, but that a transaction commit was previously aborted. The commit has now been completed."},"0x000002E9":{code:"ERROR_NOTIFY_CLEANUP",message:"This indicates that a notify change request has been completed due to closing the handle which made the notify change request."},"0x000002EA":{code:"ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED",message:"{Connect Failure on Primary Transport} An attempt was made to connect to the remote server %hs on the primary transport, but the connection failed. The computer was able to connect on a secondary transport."},"0x000002EB":{code:"ERROR_PAGE_FAULT_TRANSITION",message:"Page fault was a transition fault."},"0x000002EC":{code:"ERROR_PAGE_FAULT_DEMAND_ZERO",message:"Page fault was a demand zero fault."},"0x000002ED":{code:"ERROR_PAGE_FAULT_COPY_ON_WRITE",message:"Page fault was a demand zero fault."},"0x000002EE":{code:"ERROR_PAGE_FAULT_GUARD_PAGE",message:"Page fault was a demand zero fault."},"0x000002EF":{code:"ERROR_PAGE_FAULT_PAGING_FILE",message:"Page fault was satisfied by reading from a secondary storage device."},"0x000002F0":{code:"ERROR_CACHE_PAGE_LOCKED",message:"Cached page was locked during operation."},"0x000002F1":{code:"ERROR_CRASH_DUMP",message:"Crash dump exists in paging file."},"0x000002F2":{code:"ERROR_BUFFER_ALL_ZEROS",message:"Specified buffer contains all zeros."},"0x000002F3":{code:"ERROR_REPARSE_OBJECT",message:"A reparse should be performed by the object manager because the name of the file resulted in a symbolic link."},"0x000002F4":{code:"ERROR_RESOURCE_REQUIREMENTS_CHANGED",message:"The device has succeeded a query-stop and its resource requirements have changed."},"0x000002F5":{code:"ERROR_TRANSLATION_COMPLETE",message:"The translator has translated these resources into the global space and no further translations should be performed."},"0x000002F6":{code:"ERROR_NOTHING_TO_TERMINATE",message:"A process being terminated has no threads to terminate."},"0x000002F7":{code:"ERROR_PROCESS_NOT_IN_JOB",message:"The specified process is not part of a job."},"0x000002F8":{code:"ERROR_PROCESS_IN_JOB",message:"The specified process is part of a job."},"0x000002F9":{code:"ERROR_VOLSNAP_HIBERNATE_READY",message:"{Volume Shadow Copy Service} The system is now ready for hibernation."},"0x000002FA":{code:"ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY",message:"A file system or file system filter driver has successfully completed an FsFilter operation."},"0x000002FB":{code:"ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED",message:"The specified interrupt vector was already connected."},"0x000002FC":{code:"ERROR_INTERRUPT_STILL_CONNECTED",message:"The specified interrupt vector is still connected."},"0x000002FD":{code:"ERROR_WAIT_FOR_OPLOCK",message:"An operation is blocked waiting for an oplock."},"0x000002FE":{code:"ERROR_DBG_EXCEPTION_HANDLED",message:"Debugger handled exception."},"0x000002FF":{code:"ERROR_DBG_CONTINUE",message:"Debugger continued."},"0x00000300":{code:"ERROR_CALLBACK_POP_STACK",message:"An exception occurred in a user mode callback and the kernel callback frame should be removed."},"0x00000301":{code:"ERROR_COMPRESSION_DISABLED",message:"Compression is disabled for this volume."},"0x00000302":{code:"ERROR_CANTFETCHBACKWARDS",message:"The data provider cannot fetch backward through a result set."},"0x00000303":{code:"ERROR_CANTSCROLLBACKWARDS",message:"The data provider cannot scroll backward through a result set."},"0x00000304":{code:"ERROR_ROWSNOTRELEASED",message:"The data provider requires that previously fetched data is released before asking for more data."},"0x00000305":{code:"ERROR_BAD_ACCESSOR_FLAGS",message:"The data provider was not able to interpret the flags set for a column binding in an accessor."},"0x00000306":{code:"ERROR_ERRORS_ENCOUNTERED",message:"One or more errors occurred while processing the request."},"0x00000307":{code:"ERROR_NOT_CAPABLE",message:"The implementation is not capable of performing the request."},"0x00000308":{code:"ERROR_REQUEST_OUT_OF_SEQUENCE",message:"The client of a component requested an operation that is not valid given the state of the component instance."},"0x00000309":{code:"ERROR_VERSION_PARSE_ERROR",message:"A version number could not be parsed."},"0x0000030A":{code:"ERROR_BADSTARTPOSITION",message:"The iterator's start position is invalid."},"0x0000030B":{code:"ERROR_MEMORY_HARDWARE",message:"The hardware has reported an uncorrectable memory error."},"0x0000030C":{code:"ERROR_DISK_REPAIR_DISABLED",message:"The attempted operation required self-healing to be enabled."},"0x0000030D":{code:"ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE",message:"The Desktop heap encountered an error while allocating session memory. There is more information in the system event log."},"0x0000030E":{code:"ERROR_SYSTEM_POWERSTATE_TRANSITION",message:"The system power state is transitioning from %2 to %3."},"0x0000030F":{code:"ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION",message:"The system power state is transitioning from %2 to %3 but could enter %4."},"0x00000310":{code:"ERROR_MCA_EXCEPTION",message:"A thread is getting dispatched with MCA EXCEPTION because of MCA."},"0x00000311":{code:"ERROR_ACCESS_AUDIT_BY_POLICY",message:"Access to %1 is monitored by policy rule %2."},"0x00000312":{code:"ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY",message:"Access to %1 has been restricted by your administrator by policy rule %2."},"0x00000313":{code:"ERROR_ABANDON_HIBERFILE",message:"A valid hibernation file has been invalidated and should be abandoned."},"0x00000314":{code:"ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED",message:"{Delayed Write Failed} Windows was unable to save all the data for the file %hs; the data has been lost. This error may be caused by network connectivity issues. Try to save this file elsewhere."},"0x00000315":{code:"ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR",message:"{Delayed Write Failed} Windows was unable to save all the data for the file %hs; the data has been lost. This error was returned by the server on which the file exists. Try to save this file elsewhere."},"0x00000316":{code:"ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR",message:"{Delayed Write Failed} Windows was unable to save all the data for the file %hs; the data has been lost. This error may be caused if the device has been removed or the media is write-protected."},"0x000003E2":{code:"ERROR_EA_ACCESS_DENIED",message:"Access to the extended attribute was denied."},"0x000003E3":{code:"ERROR_OPERATION_ABORTED",message:"The I/O operation has been aborted because of either a thread exit or an application request."},"0x000003E4":{code:"ERROR_IO_INCOMPLETE",message:"Overlapped I/O event is not in a signaled state."},"0x000003E5":{code:"ERROR_IO_PENDING",message:"Overlapped I/O operation is in progress."},"0x000003E6":{code:"ERROR_NOACCESS",message:"Invalid access to memory location."},"0x000003E7":{code:"ERROR_SWAPERROR",message:"Error performing in-page operation."},"0x000003E9":{code:"ERROR_STACK_OVERFLOW",message:"Recursion too deep; the stack overflowed."},"0x000003EA":{code:"ERROR_INVALID_MESSAGE",message:"The window cannot act on the sent message."},"0x000003EB":{code:"ERROR_CAN_NOT_COMPLETE",message:"Cannot complete this function."},"0x000003EC":{code:"ERROR_INVALID_FLAGS",message:"Invalid flags."},"0x000003ED":{code:"ERROR_UNRECOGNIZED_VOLUME",message:"The volume does not contain a recognized file system. Be sure that all required file system drivers are loaded and that the volume is not corrupted."},"0x000003EE":{code:"ERROR_FILE_INVALID",message:"The volume for a file has been externally altered so that the opened file is no longer valid."},"0x000003EF":{code:"ERROR_FULLSCREEN_MODE",message:"The requested operation cannot be performed in full-screen mode."},"0x000003F0":{code:"ERROR_NO_TOKEN",message:"An attempt was made to reference a token that does not exist."},"0x000003F1":{code:"ERROR_BADDB",message:"The configuration registry database is corrupt."},"0x000003F2":{code:"ERROR_BADKEY",message:"The configuration registry key is invalid."},"0x000003F3":{code:"ERROR_CANTOPEN",message:"The configuration registry key could not be opened."},"0x000003F4":{code:"ERROR_CANTREAD",message:"The configuration registry key could not be read."},"0x000003F5":{code:"ERROR_CANTWRITE",message:"The configuration registry key could not be written."},"0x000003F6":{code:"ERROR_REGISTRY_RECOVERED",message:"One of the files in the registry database had to be recovered by use of a log or alternate copy. The recovery was successful."},"0x000003F7":{code:"ERROR_REGISTRY_CORRUPT",message:"The registry is corrupted. The structure of one of the files containing registry data is corrupted, or the system's memory image of the file is corrupted, or the file could not be recovered because the alternate copy or log was absent or corrupted."},"0x000003F8":{code:"ERROR_REGISTRY_IO_FAILED",message:"An I/O operation initiated by the registry failed and cannot be recovered. The registry could not read in, write out, or flush one of the files that contain the system's image of the registry."},"0x000003F9":{code:"ERROR_NOT_REGISTRY_FILE",message:"The system attempted to load or restore a file into the registry, but the specified file is not in a registry file format."},"0x000003FA":{code:"ERROR_KEY_DELETED",message:"Illegal operation attempted on a registry key that has been marked for deletion."},"0x000003FB":{code:"ERROR_NO_LOG_SPACE",message:"System could not allocate the required space in a registry log."},"0x000003FC":{code:"ERROR_KEY_HAS_CHILDREN",message:"Cannot create a symbolic link in a registry key that already has subkeys or values."},"0x000003FD":{code:"ERROR_CHILD_MUST_BE_VOLATILE",message:"Cannot create a stable subkey under a volatile parent key."},"0x000003FE":{code:"ERROR_NOTIFY_ENUM_DIR",message:"A notify change request is being completed and the information is not being returned in the caller's buffer. The caller now needs to enumerate the files to find the changes."},"0x0000041B":{code:"ERROR_DEPENDENT_SERVICES_RUNNING",message:"A stop control has been sent to a service that other running services are dependent on."},"0x0000041C":{code:"ERROR_INVALID_SERVICE_CONTROL",message:"The requested control is not valid for this service."},"0x0000041D":{code:"ERROR_SERVICE_REQUEST_TIMEOUT",message:"The service did not respond to the start or control request in a timely fashion."},"0x0000041E":{code:"ERROR_SERVICE_NO_THREAD",message:"A thread could not be created for the service."},"0x0000041F":{code:"ERROR_SERVICE_DATABASE_LOCKED",message:"The service database is locked."},"0x00000420":{code:"ERROR_SERVICE_ALREADY_RUNNING",message:"An instance of the service is already running."},"0x00000421":{code:"ERROR_INVALID_SERVICE_ACCOUNT",message:"The account name is invalid or does not exist, or the password is invalid for the account name specified."},"0x00000422":{code:"ERROR_SERVICE_DISABLED",message:"The service cannot be started, either because it is disabled or because it has no enabled devices associated with it."},"0x00000423":{code:"ERROR_CIRCULAR_DEPENDENCY",message:"Circular service dependency was specified."},"0x00000424":{code:"ERROR_SERVICE_DOES_NOT_EXIST",message:"The specified service does not exist as an installed service."},"0x00000425":{code:"ERROR_SERVICE_CANNOT_ACCEPT_CTRL",message:"The service cannot accept control messages at this time."},"0x00000426":{code:"ERROR_SERVICE_NOT_ACTIVE",message:"The service has not been started."},"0x00000427":{code:"ERROR_FAILED_SERVICE_CONTROLLER_CONNECT",message:"The service process could not connect to the service controller."},"0x00000428":{code:"ERROR_EXCEPTION_IN_SERVICE",message:"An exception occurred in the service when handling the control request."},"0x00000429":{code:"ERROR_DATABASE_DOES_NOT_EXIST",message:"The database specified does not exist."},"0x0000042A":{code:"ERROR_SERVICE_SPECIFIC_ERROR",message:"The service has returned a service-specific error code."},"0x0000042B":{code:"ERROR_PROCESS_ABORTED",message:"The process terminated unexpectedly."},"0x0000042C":{code:"ERROR_SERVICE_DEPENDENCY_FAIL",message:"The dependency service or group failed to start."},"0x0000042D":{code:"ERROR_SERVICE_LOGON_FAILED",message:"The service did not start due to a logon failure."},"0x0000042E":{code:"ERROR_SERVICE_START_HANG",message:"After starting, the service hung in a start-pending state."},"0x0000042F":{code:"ERROR_INVALID_SERVICE_LOCK",message:"The specified service database lock is invalid."},"0x00000430":{code:"ERROR_SERVICE_MARKED_FOR_DELETE",message:"The specified service has been marked for deletion."},"0x00000431":{code:"ERROR_SERVICE_EXISTS",message:"The specified service already exists."},"0x00000432":{code:"ERROR_ALREADY_RUNNING_LKG",message:"The system is currently running with the last-known-good configuration."},"0x00000433":{code:"ERROR_SERVICE_DEPENDENCY_DELETED",message:"The dependency service does not exist or has been marked for deletion."},"0x00000434":{code:"ERROR_BOOT_ALREADY_ACCEPTED",message:"The current boot has already been accepted for use as the last-known-good control set."},"0x00000435":{code:"ERROR_SERVICE_NEVER_STARTED",message:"No attempts to start the service have been made since the last boot."},"0x00000436":{code:"ERROR_DUPLICATE_SERVICE_NAME",message:"The name is already in use as either a service name or a service display name."},"0x00000437":{code:"ERROR_DIFFERENT_SERVICE_ACCOUNT",message:"The account specified for this service is different from the account specified for other services running in the same process."},"0x00000438":{code:"ERROR_CANNOT_DETECT_DRIVER_FAILURE",message:"Failure actions can only be set for Win32 services, not for drivers."},"0x00000439":{code:"ERROR_CANNOT_DETECT_PROCESS_ABORT",message:"This service runs in the same process as the service control manager. Therefore, the service control manager cannot take action if this service's process terminates unexpectedly."},"0x0000043A":{code:"ERROR_NO_RECOVERY_PROGRAM",message:"No recovery program has been configured for this service."},"0x0000043B":{code:"ERROR_SERVICE_NOT_IN_EXE",message:"The executable program that this service is configured to run in does not implement the service."},"0x0000043C":{code:"ERROR_NOT_SAFEBOOT_SERVICE",message:"This service cannot be started in Safe Mode."},"0x0000044C":{code:"ERROR_END_OF_MEDIA",message:"The physical end of the tape has been reached."},"0x0000044D":{code:"ERROR_FILEMARK_DETECTED",message:"A tape access reached a filemark."},"0x0000044E":{code:"ERROR_BEGINNING_OF_MEDIA",message:"The beginning of the tape or a partition was encountered."},"0x0000044F":{code:"ERROR_SETMARK_DETECTED",message:"A tape access reached the end of a set of files."},"0x00000450":{code:"ERROR_NO_DATA_DETECTED",message:"No more data is on the tape."},"0x00000451":{code:"ERROR_PARTITION_FAILURE",message:"Tape could not be partitioned."},"0x00000452":{code:"ERROR_INVALID_BLOCK_LENGTH",message:"When accessing a new tape of a multivolume partition, the current block size is incorrect."},"0x00000453":{code:"ERROR_DEVICE_NOT_PARTITIONED",message:"Tape partition information could not be found when loading a tape."},"0x00000454":{code:"ERROR_UNABLE_TO_LOCK_MEDIA",message:"Unable to lock the media eject mechanism."},"0x00000455":{code:"ERROR_UNABLE_TO_UNLOAD_MEDIA",message:"Unable to unload the media."},"0x00000456":{code:"ERROR_MEDIA_CHANGED",message:"The media in the drive may have changed."},"0x00000457":{code:"ERROR_BUS_RESET",message:"The I/O bus was reset."},"0x00000458":{code:"ERROR_NO_MEDIA_IN_DRIVE",message:"No media in drive."},"0x00000459":{code:"ERROR_NO_UNICODE_TRANSLATION",message:"No mapping for the Unicode character exists in the target multibyte code page."},"0x0000045A":{code:"ERROR_DLL_INIT_FAILED",message:"A DLL initialization routine failed."},"0x0000045B":{code:"ERROR_SHUTDOWN_IN_PROGRESS",message:"A system shutdown is in progress."},"0x0000045C":{code:"ERROR_NO_SHUTDOWN_IN_PROGRESS",message:"Unable to abort the system shutdown because no shutdown was in progress."},"0x0000045D":{code:"ERROR_IO_DEVICE",message:"The request could not be performed because of an I/O device error."},"0x0000045E":{code:"ERROR_SERIAL_NO_DEVICE",message:"No serial device was successfully initialized. The serial driver will unload."},"0x0000045F":{code:"ERROR_IRQ_BUSY",message:"Unable to open a device that was sharing an IRQ with other devices. At least one other device that uses that IRQ was already opened."},"0x00000460":{code:"ERROR_MORE_WRITES",message:"A serial I/O operation was completed by another write to the serial port. (The IOCTL_SERIAL_XOFF_COUNTER reached zero.)"},"0x00000461":{code:"ERROR_COUNTER_TIMEOUT",message:"A serial I/O operation completed because the time-out period expired. (The IOCTL_SERIAL_XOFF_COUNTER did not reach zero.)"},"0x00000462":{code:"ERROR_FLOPPY_ID_MARK_NOT_FOUND",message:"No ID address mark was found on the floppy disk."},"0x00000463":{code:"ERROR_FLOPPY_WRONG_CYLINDER",message:"Mismatch between the floppy disk sector ID field and the floppy disk controller track address."},"0x00000464":{code:"ERROR_FLOPPY_UNKNOWN_ERROR",message:"The floppy disk controller reported an error that is not recognized by the floppy disk driver."},"0x00000465":{code:"ERROR_FLOPPY_BAD_REGISTERS",message:"The floppy disk controller returned inconsistent results in its registers."},"0x00000466":{code:"ERROR_DISK_RECALIBRATE_FAILED",message:"While accessing the hard disk, a recalibrate operation failed, even after retries."},"0x00000467":{code:"ERROR_DISK_OPERATION_FAILED",message:"While accessing the hard disk, a disk operation failed even after retries."},"0x00000468":{code:"ERROR_DISK_RESET_FAILED",message:"While accessing the hard disk, a disk controller reset was needed, but that also failed."},"0x00000469":{code:"ERROR_EOM_OVERFLOW",message:"Physical end of tape encountered."},"0x0000046A":{code:"ERROR_NOT_ENOUGH_SERVER_MEMORY",message:"Not enough server storage is available to process this command."},"0x0000046B":{code:"ERROR_POSSIBLE_DEADLOCK",message:"A potential deadlock condition has been detected."},"0x0000046C":{code:"ERROR_MAPPED_ALIGNMENT",message:"The base address or the file offset specified does not have the proper alignment."},"0x00000474":{code:"ERROR_SET_POWER_STATE_VETOED",message:"An attempt to change the system power state was vetoed by another application or driver."},"0x00000475":{code:"ERROR_SET_POWER_STATE_FAILED",message:"The system BIOS failed an attempt to change the system power state."},"0x00000476":{code:"ERROR_TOO_MANY_LINKS",message:"An attempt was made to create more links on a file than the file system supports."},"0x0000047E":{code:"ERROR_OLD_WIN_VERSION",message:"The specified program requires a newer version of Windows."},"0x0000047F":{code:"ERROR_APP_WRONG_OS",message:"The specified program is not a Windows or MS-DOS program."},"0x00000480":{code:"ERROR_SINGLE_INSTANCE_APP",message:"Cannot start more than one instance of the specified program."},"0x00000481":{code:"ERROR_RMODE_APP",message:"The specified program was written for an earlier version of Windows."},"0x00000482":{code:"ERROR_INVALID_DLL",message:"One of the library files needed to run this application is damaged."},"0x00000483":{code:"ERROR_NO_ASSOCIATION",message:"No application is associated with the specified file for this operation."},"0x00000484":{code:"ERROR_DDE_FAIL",message:"An error occurred in sending the command to the application."},"0x00000485":{code:"ERROR_DLL_NOT_FOUND",message:"One of the library files needed to run this application cannot be found."},"0x00000486":{code:"ERROR_NO_MORE_USER_HANDLES",message:"The current process has used all of its system allowance of handles for Windows manager objects."},"0x00000487":{code:"ERROR_MESSAGE_SYNC_ONLY",message:"The message can be used only with synchronous operations."},"0x00000488":{code:"ERROR_SOURCE_ELEMENT_EMPTY",message:"The indicated source element has no media."},"0x00000489":{code:"ERROR_DESTINATION_ELEMENT_FULL",message:"The indicated destination element already contains media."},"0x0000048A":{code:"ERROR_ILLEGAL_ELEMENT_ADDRESS",message:"The indicated element does not exist."},"0x0000048B":{code:"ERROR_MAGAZINE_NOT_PRESENT",message:"The indicated element is part of a magazine that is not present."},"0x0000048C":{code:"ERROR_DEVICE_REINITIALIZATION_NEEDED",message:"The indicated device requires re-initialization due to hardware errors."},"0x0000048D":{code:"ERROR_DEVICE_REQUIRES_CLEANING",message:"The device has indicated that cleaning is required before further operations are attempted."},"0x0000048E":{code:"ERROR_DEVICE_DOOR_OPEN",message:"The device has indicated that its door is open."},"0x0000048F":{code:"ERROR_DEVICE_NOT_CONNECTED",message:"The device is not connected."},"0x00000490":{code:"ERROR_NOT_FOUND",message:"Element not found."},"0x00000491":{code:"ERROR_NO_MATCH",message:"There was no match for the specified key in the index."},"0x00000492":{code:"ERROR_SET_NOT_FOUND",message:"The property set specified does not exist on the object."},"0x00000493":{code:"ERROR_POINT_NOT_FOUND",message:"The point passed to GetMouseMovePoints is not in the buffer."},"0x00000494":{code:"ERROR_NO_TRACKING_SERVICE",message:"The tracking (workstation) service is not running."},"0x00000495":{code:"ERROR_NO_VOLUME_ID",message:"The volume ID could not be found."},"0x00000497":{code:"ERROR_UNABLE_TO_REMOVE_REPLACED",message:"Unable to remove the file to be replaced."},"0x00000498":{code:"ERROR_UNABLE_TO_MOVE_REPLACEMENT",message:"Unable to move the replacement file to the file to be replaced. The file to be replaced has retained its original name."},"0x00000499":{code:"ERROR_UNABLE_TO_MOVE_REPLACEMENT_2",message:"Unable to move the replacement file to the file to be replaced. The file to be replaced has been renamed using the backup name."},"0x0000049A":{code:"ERROR_JOURNAL_DELETE_IN_PROGRESS",message:"The volume change journal is being deleted."},"0x0000049B":{code:"ERROR_JOURNAL_NOT_ACTIVE",message:"The volume change journal is not active."},"0x0000049C":{code:"ERROR_POTENTIAL_FILE_FOUND",message:"A file was found, but it may not be the correct file."},"0x0000049D":{code:"ERROR_JOURNAL_ENTRY_DELETED",message:"The journal entry has been deleted from the journal."},"0x000004A6":{code:"ERROR_SHUTDOWN_IS_SCHEDULED",message:"A system shutdown has already been scheduled."},"0x000004A7":{code:"ERROR_SHUTDOWN_USERS_LOGGED_ON",message:"The system shutdown cannot be initiated because there are other users logged on to the computer."},"0x000004B0":{code:"ERROR_BAD_DEVICE",message:"The specified device name is invalid."},"0x000004B1":{code:"ERROR_CONNECTION_UNAVAIL",message:"The device is not currently connected but it is a remembered connection."},"0x000004B2":{code:"ERROR_DEVICE_ALREADY_REMEMBERED",message:"The local device name has a remembered connection to another network resource."},"0x000004B3":{code:"ERROR_NO_NET_OR_BAD_PATH",message:"The network path was either typed incorrectly, does not exist, or the network provider is not currently available. Try retyping the path or contact your network administrator."},"0x000004B4":{code:"ERROR_BAD_PROVIDER",message:"The specified network provider name is invalid."},"0x000004B5":{code:"ERROR_CANNOT_OPEN_PROFILE",message:"Unable to open the network connection profile."},"0x000004B6":{code:"ERROR_BAD_PROFILE",message:"The network connection profile is corrupted."},"0x000004B7":{code:"ERROR_NOT_CONTAINER",message:"Cannot enumerate a noncontainer."},"0x000004B8":{code:"ERROR_EXTENDED_ERROR",message:"An extended error has occurred."},"0x000004B9":{code:"ERROR_INVALID_GROUPNAME",message:"The format of the specified group name is invalid."},"0x000004BA":{code:"ERROR_INVALID_COMPUTERNAME",message:"The format of the specified computer name is invalid."},"0x000004BB":{code:"ERROR_INVALID_EVENTNAME",message:"The format of the specified event name is invalid."},"0x000004BC":{code:"ERROR_INVALID_DOMAINNAME",message:"The format of the specified domain name is invalid."},"0x000004BD":{code:"ERROR_INVALID_SERVICENAME",message:"The format of the specified service name is invalid."},"0x000004BE":{code:"ERROR_INVALID_NETNAME",message:"The format of the specified network name is invalid."},"0x000004BF":{code:"ERROR_INVALID_SHARENAME",message:"The format of the specified share name is invalid."},"0x000004C0":{code:"ERROR_INVALID_PASSWORDNAME",message:"The format of the specified password is invalid."},"0x000004C1":{code:"ERROR_INVALID_MESSAGENAME",message:"The format of the specified message name is invalid."},"0x000004C2":{code:"ERROR_INVALID_MESSAGEDEST",message:"The format of the specified message destination is invalid."},"0x000004C3":{code:"ERROR_SESSION_CREDENTIAL_CONFLICT",message:"Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again."},"0x000004C4":{code:"ERROR_REMOTE_SESSION_LIMIT_EXCEEDED",message:"An attempt was made to establish a session to a network server, but there are already too many sessions established to that server."},"0x000004C5":{code:"ERROR_DUP_DOMAINNAME",message:"The workgroup or domain name is already in use by another computer on the network."},"0x000004C6":{code:"ERROR_NO_NETWORK",message:"The network is not present or not started."},"0x000004C7":{code:"ERROR_CANCELLED",message:"The operation was canceled by the user."},"0x000004C8":{code:"ERROR_USER_MAPPED_FILE",message:"The requested operation cannot be performed on a file with a user-mapped section open."},"0x000004C9":{code:"ERROR_CONNECTION_REFUSED",message:"The remote system refused the network connection."},"0x000004CA":{code:"ERROR_GRACEFUL_DISCONNECT",message:"The network connection was gracefully closed."},"0x000004CB":{code:"ERROR_ADDRESS_ALREADY_ASSOCIATED",message:"The network transport endpoint already has an address associated with it."},"0x000004CC":{code:"ERROR_ADDRESS_NOT_ASSOCIATED",message:"An address has not yet been associated with the network endpoint."},"0x000004CD":{code:"ERROR_CONNECTION_INVALID",message:"An operation was attempted on a nonexistent network connection."},"0x000004CE":{code:"ERROR_CONNECTION_ACTIVE",message:"An invalid operation was attempted on an active network connection."},"0x000004CF":{code:"ERROR_NETWORK_UNREACHABLE",message:"The network location cannot be reached. For information about network troubleshooting, see Windows Help."},"0x000004D0":{code:"ERROR_HOST_UNREACHABLE",message:"The network location cannot be reached. For information about network troubleshooting, see Windows Help."},"0x000004D1":{code:"ERROR_PROTOCOL_UNREACHABLE",message:"The network location cannot be reached. For information about network troubleshooting, see Windows Help."},"0x000004D2":{code:"ERROR_PORT_UNREACHABLE",message:"No service is operating at the destination network endpoint on the remote system."},"0x000004D3":{code:"ERROR_REQUEST_ABORTED",message:"The request was aborted."},"0x000004D4":{code:"ERROR_CONNECTION_ABORTED",message:"The network connection was aborted by the local system."},"0x000004D5":{code:"ERROR_RETRY",message:"The operation could not be completed. A retry should be performed."},"0x000004D6":{code:"ERROR_CONNECTION_COUNT_LIMIT",message:"A connection to the server could not be made because the limit on the number of concurrent connections for this account has been reached."},"0x000004D7":{code:"ERROR_LOGIN_TIME_RESTRICTION",message:"Attempting to log on during an unauthorized time of day for this account."},"0x000004D8":{code:"ERROR_LOGIN_WKSTA_RESTRICTION",message:"The account is not authorized to log on from this station."},"0x000004D9":{code:"ERROR_INCORRECT_ADDRESS",message:"The network address could not be used for the operation requested."},"0x000004DA":{code:"ERROR_ALREADY_REGISTERED",message:"The service is already registered."},"0x000004DB":{code:"ERROR_SERVICE_NOT_FOUND",message:"The specified service does not exist."},"0x000004DC":{code:"ERROR_NOT_AUTHENTICATED",message:"The operation being requested was not performed because the user has not been authenticated."},"0x000004DD":{code:"ERROR_NOT_LOGGED_ON",message:"The operation being requested was not performed because the user has not logged on to the network. The specified service does not exist."},"0x000004DE":{code:"ERROR_CONTINUE",message:"Continue with work in progress."},"0x000004DF":{code:"ERROR_ALREADY_INITIALIZED",message:"An attempt was made to perform an initialization operation when initialization has already been completed."},"0x000004E0":{code:"ERROR_NO_MORE_DEVICES",message:"No more local devices."},"0x000004E1":{code:"ERROR_NO_SUCH_SITE",message:"The specified site does not exist."},"0x000004E2":{code:"ERROR_DOMAIN_CONTROLLER_EXISTS",message:"A domain controller with the specified name already exists."},"0x000004E3":{code:"ERROR_ONLY_IF_CONNECTED",message:"This operation is supported only when you are connected to the server."},"0x000004E4":{code:"ERROR_OVERRIDE_NOCHANGES",message:"The group policy framework should call the extension even if there are no changes."},"0x000004E5":{code:"ERROR_BAD_USER_PROFILE",message:"The specified user does not have a valid profile."},"0x000004E6":{code:"ERROR_NOT_SUPPORTED_ON_SBS",message:"This operation is not supported on a computer running Windows Server 2003 for Small Business Server."},"0x000004E7":{code:"ERROR_SERVER_SHUTDOWN_IN_PROGRESS",message:"The server machine is shutting down."},"0x000004E8":{code:"ERROR_HOST_DOWN",message:"The remote system is not available. For information about network troubleshooting, see Windows Help."},"0x000004E9":{code:"ERROR_NON_ACCOUNT_SID",message:"The security identifier provided is not from an account domain."},"0x000004EA":{code:"ERROR_NON_DOMAIN_SID",message:"The security identifier provided does not have a domain component."},"0x000004EB":{code:"ERROR_APPHELP_BLOCK",message:"AppHelp dialog canceled, thus preventing the application from starting."},"0x000004EC":{code:"ERROR_ACCESS_DISABLED_BY_POLICY",message:"This program is blocked by Group Policy. For more information, contact your system administrator."},"0x000004ED":{code:"ERROR_REG_NAT_CONSUMPTION",message:"A program attempt to use an invalid register value. Normally caused by an uninitialized register. This error is Itanium specific."},"0x000004EE":{code:"ERROR_CSCSHARE_OFFLINE",message:"The share is currently offline or does not exist."},"0x000004EF":{code:"ERROR_PKINIT_FAILURE",message:"The Kerberos protocol encountered an error while validating the KDC certificate during smartcard logon. There is more information in the system event log."},"0x000004F0":{code:"ERROR_SMARTCARD_SUBSYSTEM_FAILURE",message:"The Kerberos protocol encountered an error while attempting to utilize the smartcard subsystem."},"0x000004F1":{code:"ERROR_DOWNGRADE_DETECTED",message:"The system detected a possible attempt to compromise security. Ensure that you can contact the server that authenticated you."},"0x000004F7":{code:"ERROR_MACHINE_LOCKED",message:"The machine is locked and cannot be shut down without the force option."},"0x000004F9":{code:"ERROR_CALLBACK_SUPPLIED_INVALID_DATA",message:"An application-defined callback gave invalid data when called."},"0x000004FA":{code:"ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED",message:"The Group Policy framework should call the extension in the synchronous foreground policy refresh."},"0x000004FB":{code:"ERROR_DRIVER_BLOCKED",message:"This driver has been blocked from loading."},"0x000004FC":{code:"ERROR_INVALID_IMPORT_OF_NON_DLL",message:"A DLL referenced a module that was neither a DLL nor the process's executable image."},"0x000004FD":{code:"ERROR_ACCESS_DISABLED_WEBBLADE",message:"Windows cannot open this program because it has been disabled."},"0x000004FE":{code:"ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER",message:"Windows cannot open this program because the license enforcement system has been tampered with or become corrupted."},"0x000004FF":{code:"ERROR_RECOVERY_FAILURE",message:"A transaction recover failed."},"0x00000500":{code:"ERROR_ALREADY_FIBER",message:"The current thread has already been converted to a fiber."},"0x00000501":{code:"ERROR_ALREADY_THREAD",message:"The current thread has already been converted from a fiber."},"0x00000502":{code:"ERROR_STACK_BUFFER_OVERRUN",message:"The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application."},"0x00000503":{code:"ERROR_PARAMETER_QUOTA_EXCEEDED",message:"Data present in one of the parameters is more than the function can operate on."},"0x00000504":{code:"ERROR_DEBUGGER_INACTIVE",message:"An attempt to perform an operation on a debug object failed because the object is in the process of being deleted."},"0x00000505":{code:"ERROR_DELAY_LOAD_FAILED",message:"An attempt to delay-load a .dll or get a function address in a delay-loaded .dll failed."},"0x00000506":{code:"ERROR_VDM_DISALLOWED",message:"%1 is a 16-bit application. You do not have permissions to execute 16-bit applications. Check your permissions with your system administrator."},"0x00000507":{code:"ERROR_UNIDENTIFIED_ERROR",message:"Insufficient information exists to identify the cause of failure."},"0x00000508":{code:"ERROR_INVALID_CRUNTIME_PARAMETER",message:"The parameter passed to a C runtime function is incorrect."},"0x00000509":{code:"ERROR_BEYOND_VDL",message:"The operation occurred beyond the valid data length of the file."},"0x0000050A":{code:"ERROR_INCOMPATIBLE_SERVICE_SID_TYPE",message:"The service start failed because one or more services in the same process have an incompatible service SID type setting. A service with a restricted service SID type can only coexist in the same process with other services with a restricted SID type."},"0x0000050B":{code:"ERROR_DRIVER_PROCESS_TERMINATED",message:"The process hosting the driver for this device has been terminated."},"0x0000050C":{code:"ERROR_IMPLEMENTATION_LIMIT",message:"An operation attempted to exceed an implementation-defined limit."},"0x0000050D":{code:"ERROR_PROCESS_IS_PROTECTED",message:"Either the target process, or the target thread's containing process, is a protected process."},"0x0000050E":{code:"ERROR_SERVICE_NOTIFY_CLIENT_LAGGING",message:"The service notification client is lagging too far behind the current state of services in the machine."},"0x0000050F":{code:"ERROR_DISK_QUOTA_EXCEEDED",message:"An operation failed because the storage quota was exceeded."},"0x00000510":{code:"ERROR_CONTENT_BLOCKED",message:"An operation failed because the content was blocked."},"0x00000511":{code:"ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE",message:"A privilege that the service requires to function properly does not exist in the service account configuration. You may use the Services Microsoft Management Console (MMC) snap-in (Services.msc) and the Local Security Settings MMC snap-in (Secpol.msc) to view the service configuration and the account configuration."},"0x00000513":{code:"ERROR_INVALID_LABEL",message:"Indicates a particular SID may not be assigned as the label of an object."},"0x00000514":{code:"ERROR_NOT_ALL_ASSIGNED",message:"Not all privileges or groups referenced are assigned to the caller."},"0x00000515":{code:"ERROR_SOME_NOT_MAPPED",message:"Some mapping between account names and SIDs was not done."},"0x00000516":{code:"ERROR_NO_QUOTAS_FOR_ACCOUNT",message:"No system quota limits are specifically set for this account."},"0x00000517":{code:"ERROR_LOCAL_USER_SESSION_KEY",message:"No encryption key is available. A well-known encryption key was returned."},"0x00000518":{code:"ERROR_NULL_LM_PASSWORD",message:"The password is too complex to be converted to a LAN Manager password. The LAN Manager password returned is a null string."},"0x00000519":{code:"ERROR_UNKNOWN_REVISION",message:"The revision level is unknown."},"0x0000051A":{code:"ERROR_REVISION_MISMATCH",message:"Indicates two revision levels are incompatible."},"0x0000051B":{code:"ERROR_INVALID_OWNER",message:"This SID may not be assigned as the owner of this object."},"0x0000051C":{code:"ERROR_INVALID_PRIMARY_GROUP",message:"This SID may not be assigned as the primary group of an object."},"0x0000051D":{code:"ERROR_NO_IMPERSONATION_TOKEN",message:"An attempt has been made to operate on an impersonation token by a thread that is not currently impersonating a client."},"0x0000051E":{code:"ERROR_CANT_DISABLE_MANDATORY",message:"The group may not be disabled."},"0x0000051F":{code:"ERROR_NO_LOGON_SERVERS",message:"There are currently no logon servers available to service the logon request."},"0x00000520":{code:"ERROR_NO_SUCH_LOGON_SESSION",message:"A specified logon session does not exist. It may already have been terminated."},"0x00000521":{code:"ERROR_NO_SUCH_PRIVILEGE",message:"A specified privilege does not exist."},"0x00000522":{code:"ERROR_PRIVILEGE_NOT_HELD",message:"A required privilege is not held by the client."},"0x00000523":{code:"ERROR_INVALID_ACCOUNT_NAME",message:"The name provided is not a properly formed account name."},"0x00000524":{code:"ERROR_USER_EXISTS",message:"The specified account already exists."},"0x00000525":{code:"ERROR_NO_SUCH_USER",message:"The specified account does not exist."},"0x00000526":{code:"ERROR_GROUP_EXISTS",message:"The specified group already exists."},"0x00000527":{code:"ERROR_NO_SUCH_GROUP",message:"The specified group does not exist."},"0x00000528":{code:"ERROR_MEMBER_IN_GROUP",message:"Either the specified user account is already a member of the specified group, or the specified group cannot be deleted because it contains a member."},"0x00000529":{code:"ERROR_MEMBER_NOT_IN_GROUP",message:"The specified user account is not a member of the specified group account."},"0x0000052A":{code:"ERROR_LAST_ADMIN",message:"The last remaining administration account cannot be disabled or deleted."},"0x0000052B":{code:"ERROR_WRONG_PASSWORD",message:"Unable to update the password. The value provided as the current password is incorrect."},"0x0000052C":{code:"ERROR_ILL_FORMED_PASSWORD",message:"Unable to update the password. The value provided for the new password contains values that are not allowed in passwords."},"0x0000052D":{code:"ERROR_PASSWORD_RESTRICTION",message:"Unable to update the password. The value provided for the new password does not meet the length, complexity, or history requirements of the domain."},"0x0000052E":{code:"ERROR_LOGON_FAILURE",message:"Logon failure: Unknown user name or bad password."},"0x0000052F":{code:"ERROR_ACCOUNT_RESTRICTION",message:"Logon failure: User account restriction. Possible reasons are blank passwords not allowed, logon hour restrictions, or a policy restriction has been enforced."},"0x00000530":{code:"ERROR_INVALID_LOGON_HOURS",message:"Logon failure: Account logon time restriction violation."},"0x00000531":{code:"ERROR_INVALID_WORKSTATION",message:"Logon failure: User not allowed to log on to this computer."},"0x00000532":{code:"ERROR_PASSWORD_EXPIRED",message:"Logon failure: The specified account password has expired."},"0x00000533":{code:"ERROR_ACCOUNT_DISABLED",message:"Logon failure: Account currently disabled."},"0x00000534":{code:"ERROR_NONE_MAPPED",message:"No mapping between account names and SIDs was done."},"0x00000535":{code:"ERROR_TOO_MANY_LUIDS_REQUESTED",message:"Too many local user identifiers (LUIDs) were requested at one time."},"0x00000536":{code:"ERROR_LUIDS_EXHAUSTED",message:"No more LUIDs are available."},"0x00000537":{code:"ERROR_INVALID_SUB_AUTHORITY",message:"The sub-authority part of an SID is invalid for this particular use."},"0x00000538":{code:"ERROR_INVALID_ACL",message:"The ACL structure is invalid."},"0x00000539":{code:"ERROR_INVALID_SID",message:"The SID structure is invalid."},"0x0000053A":{code:"ERROR_INVALID_SECURITY_DESCR",message:"The security descriptor structure is invalid."},"0x0000053C":{code:"ERROR_BAD_INHERITANCE_ACL",message:"The inherited ACL or ACE could not be built."},"0x0000053D":{code:"ERROR_SERVER_DISABLED",message:"The server is currently disabled."},"0x0000053E":{code:"ERROR_SERVER_NOT_DISABLED",message:"The server is currently enabled."},"0x0000053F":{code:"ERROR_INVALID_ID_AUTHORITY",message:"The value provided was an invalid value for an identifier authority."},"0x00000540":{code:"ERROR_ALLOTTED_SPACE_EXCEEDED",message:"No more memory is available for security information updates."},"0x00000541":{code:"ERROR_INVALID_GROUP_ATTRIBUTES",message:"The specified attributes are invalid, or incompatible with the attributes for the group as a whole."},"0x00000542":{code:"ERROR_BAD_IMPERSONATION_LEVEL",message:"Either a required impersonation level was not provided, or the provided impersonation level is invalid."},"0x00000543":{code:"ERROR_CANT_OPEN_ANONYMOUS",message:"Cannot open an anonymous level security token."},"0x00000544":{code:"ERROR_BAD_VALIDATION_CLASS",message:"The validation information class requested was invalid."},"0x00000545":{code:"ERROR_BAD_TOKEN_TYPE",message:"The type of the token is inappropriate for its attempted use."},"0x00000546":{code:"ERROR_NO_SECURITY_ON_OBJECT",message:"Unable to perform a security operation on an object that has no associated security."},"0x00000547":{code:"ERROR_CANT_ACCESS_DOMAIN_INFO",message:"Configuration information could not be read from the domain controller, either because the machine is unavailable, or access has been denied."},"0x00000548":{code:"ERROR_INVALID_SERVER_STATE",message:"The SAM or local security authority (LSA) server was in the wrong state to perform the security operation."},"0x00000549":{code:"ERROR_INVALID_DOMAIN_STATE",message:"The domain was in the wrong state to perform the security operation."},"0x0000054A":{code:"ERROR_INVALID_DOMAIN_ROLE",message:"This operation is only allowed for the PDC of the domain."},"0x0000054B":{code:"ERROR_NO_SUCH_DOMAIN",message:"The specified domain either does not exist or could not be contacted."},"0x0000054C":{code:"ERROR_DOMAIN_EXISTS",message:"The specified domain already exists."},"0x0000054D":{code:"ERROR_DOMAIN_LIMIT_EXCEEDED",message:"An attempt was made to exceed the limit on the number of domains per server."},"0x0000054E":{code:"ERROR_INTERNAL_DB_CORRUPTION",message:"Unable to complete the requested operation because of either a catastrophic media failure or a data structure corruption on the disk."},"0x0000054F":{code:"ERROR_INTERNAL_ERROR",message:"An internal error occurred."},"0x00000550":{code:"ERROR_GENERIC_NOT_MAPPED",message:"Generic access types were contained in an access mask that should already be mapped to nongeneric types."},"0x00000551":{code:"ERROR_BAD_DESCRIPTOR_FORMAT",message:"A security descriptor is not in the right format (absolute or self-relative)."},"0x00000552":{code:"ERROR_NOT_LOGON_PROCESS",message:"The requested action is restricted for use by logon processes only. The calling process has not registered as a logon process."},"0x00000553":{code:"ERROR_LOGON_SESSION_EXISTS",message:"Cannot start a new logon session with an ID that is already in use."},"0x00000554":{code:"ERROR_NO_SUCH_PACKAGE",message:"A specified authentication package is unknown."},"0x00000555":{code:"ERROR_BAD_LOGON_SESSION_STATE",message:"The logon session is not in a state that is consistent with the requested operation."},"0x00000556":{code:"ERROR_LOGON_SESSION_COLLISION",message:"The logon session ID is already in use."},"0x00000557":{code:"ERROR_INVALID_LOGON_TYPE",message:"A logon request contained an invalid logon type value."},"0x00000558":{code:"ERROR_CANNOT_IMPERSONATE",message:"Unable to impersonate using a named pipe until data has been read from that pipe."},"0x00000559":{code:"ERROR_RXACT_INVALID_STATE",message:"The transaction state of a registry subtree is incompatible with the requested operation."},"0x0000055A":{code:"ERROR_RXACT_COMMIT_FAILURE",message:"An internal security database corruption has been encountered."},"0x0000055B":{code:"ERROR_SPECIAL_ACCOUNT",message:"Cannot perform this operation on built-in accounts."},"0x0000055C":{code:"ERROR_SPECIAL_GROUP",message:"Cannot perform this operation on this built-in special group."},"0x0000055D":{code:"ERROR_SPECIAL_USER",message:"Cannot perform this operation on this built-in special user."},"0x0000055E":{code:"ERROR_MEMBERS_PRIMARY_GROUP",message:"The user cannot be removed from a group because the group is currently the user's primary group."},"0x0000055F":{code:"ERROR_TOKEN_ALREADY_IN_USE",message:"The token is already in use as a primary token."},"0x00000560":{code:"ERROR_NO_SUCH_ALIAS",message:"The specified local group does not exist."},"0x00000561":{code:"ERROR_MEMBER_NOT_IN_ALIAS",message:"The specified account name is not a member of the group."},"0x00000562":{code:"ERROR_MEMBER_IN_ALIAS",message:"The specified account name is already a member of the group."},"0x00000563":{code:"ERROR_ALIAS_EXISTS",message:"The specified local group already exists."},"0x00000564":{code:"ERROR_LOGON_NOT_GRANTED",message:"Logon failure: The user has not been granted the requested logon type at this computer."},"0x00000565":{code:"ERROR_TOO_MANY_SECRETS",message:"The maximum number of secrets that may be stored in a single system has been exceeded."},"0x00000566":{code:"ERROR_SECRET_TOO_LONG",message:"The length of a secret exceeds the maximum length allowed."},"0x00000567":{code:"ERROR_INTERNAL_DB_ERROR",message:"The local security authority database contains an internal inconsistency."},"0x00000568":{code:"ERROR_TOO_MANY_CONTEXT_IDS",message:"During a logon attempt, the user's security context accumulated too many SIDs."},"0x00000569":{code:"ERROR_LOGON_TYPE_NOT_GRANTED",message:"Logon failure: The user has not been granted the requested logon type at this computer."},"0x0000056A":{code:"ERROR_NT_CROSS_ENCRYPTION_REQUIRED",message:"A cross-encrypted password is necessary to change a user password."},"0x0000056B":{code:"ERROR_NO_SUCH_MEMBER",message:"A member could not be added to or removed from the local group because the member does not exist."},"0x0000056C":{code:"ERROR_INVALID_MEMBER",message:"A new member could not be added to a local group because the member has the wrong account type."},"0x0000056D":{code:"ERROR_TOO_MANY_SIDS",message:"Too many SIDs have been specified."},"0x0000056E":{code:"ERROR_LM_CROSS_ENCRYPTION_REQUIRED",message:"A cross-encrypted password is necessary to change this user password."},"0x0000056F":{code:"ERROR_NO_INHERITANCE",message:"Indicates an ACL contains no inheritable components."},"0x00000570":{code:"ERROR_FILE_CORRUPT",message:"The file or directory is corrupted and unreadable."},"0x00000571":{code:"ERROR_DISK_CORRUPT",message:"The disk structure is corrupted and unreadable."},"0x00000572":{code:"ERROR_NO_USER_SESSION_KEY",message:"There is no user session key for the specified logon session."},"0x00000573":{code:"ERROR_LICENSE_QUOTA_EXCEEDED",message:"The service being accessed is licensed for a particular number of connections. No more connections can be made to the service at this time because the service has accepted the maximum number of connections."},"0x00000574":{code:"ERROR_WRONG_TARGET_NAME",message:"Logon failure: The target account name is incorrect."},"0x00000575":{code:"ERROR_MUTUAL_AUTH_FAILED",message:"Mutual authentication failed. The server's password is out of date at the domain controller."},"0x00000576":{code:"ERROR_TIME_SKEW",message:"There is a time and/or date difference between the client and server."},"0x00000577":{code:"ERROR_CURRENT_DOMAIN_NOT_ALLOWED",message:"This operation cannot be performed on the current domain."},"0x00000578":{code:"ERROR_INVALID_WINDOW_HANDLE",message:"Invalid window handle."},"0x00000579":{code:"ERROR_INVALID_MENU_HANDLE",message:"Invalid menu handle."},"0x0000057A":{code:"ERROR_INVALID_CURSOR_HANDLE",message:"Invalid cursor handle."},"0x0000057B":{code:"ERROR_INVALID_ACCEL_HANDLE",message:"Invalid accelerator table handle."},"0x0000057C":{code:"ERROR_INVALID_HOOK_HANDLE",message:"Invalid hook handle."},"0x0000057D":{code:"ERROR_INVALID_DWP_HANDLE",message:"Invalid handle to a multiple-window position structure."},"0x0000057E":{code:"ERROR_TLW_WITH_WSCHILD",message:"Cannot create a top-level child window."},"0x0000057F":{code:"ERROR_CANNOT_FIND_WND_CLASS",message:"Cannot find window class."},"0x00000580":{code:"ERROR_WINDOW_OF_OTHER_THREAD",message:"Invalid window; it belongs to other thread."},"0x00000581":{code:"ERROR_HOTKEY_ALREADY_REGISTERED",message:"Hot key is already registered."},"0x00000582":{code:"ERROR_CLASS_ALREADY_EXISTS",message:"Class already exists."},"0x00000583":{code:"ERROR_CLASS_DOES_NOT_EXIST",message:"Class does not exist."},"0x00000584":{code:"ERROR_CLASS_HAS_WINDOWS",message:"Class still has open windows."},"0x00000585":{code:"ERROR_INVALID_INDEX",message:"Invalid index."},"0x00000586":{code:"ERROR_INVALID_ICON_HANDLE",message:"Invalid icon handle."},"0x00000587":{code:"ERROR_PRIVATE_DIALOG_INDEX",message:"Using private DIALOG window words."},"0x00000588":{code:"ERROR_LISTBOX_ID_NOT_FOUND",message:"The list box identifier was not found."},"0x00000589":{code:"ERROR_NO_WILDCARD_CHARACTERS",message:"No wildcards were found."},"0x0000058A":{code:"ERROR_CLIPBOARD_NOT_OPEN",message:"Thread does not have a clipboard open."},"0x0000058B":{code:"ERROR_HOTKEY_NOT_REGISTERED",message:"Hot key is not registered."},"0x0000058C":{code:"ERROR_WINDOW_NOT_DIALOG",message:"The window is not a valid dialog window."},"0x0000058D":{code:"ERROR_CONTROL_ID_NOT_FOUND",message:"Control ID not found."},"0x0000058E":{code:"ERROR_INVALID_COMBOBOX_MESSAGE",message:"Invalid message for a combo box because it does not have an edit control."},"0x0000058F":{code:"ERROR_WINDOW_NOT_COMBOBOX",message:"The window is not a combo box."},"0x00000590":{code:"ERROR_INVALID_EDIT_HEIGHT",message:"Height must be less than 256."},"0x00000591":{code:"ERROR_DC_NOT_FOUND",message:"Invalid device context (DC) handle."},"0x00000592":{code:"ERROR_INVALID_HOOK_FILTER",message:"Invalid hook procedure type."},"0x00000593":{code:"ERROR_INVALID_FILTER_PROC",message:"Invalid hook procedure."},"0x00000594":{code:"ERROR_HOOK_NEEDS_HMOD",message:"Cannot set nonlocal hook without a module handle."},"0x00000595":{code:"ERROR_GLOBAL_ONLY_HOOK",message:"This hook procedure can only be set globally."},"0x00000596":{code:"ERROR_JOURNAL_HOOK_SET",message:"The journal hook procedure is already installed."},"0x00000597":{code:"ERROR_HOOK_NOT_INSTALLED",message:"The hook procedure is not installed."},"0x00000598":{code:"ERROR_INVALID_LB_MESSAGE",message:"Invalid message for single-selection list box."},"0x00000599":{code:"ERROR_SETCOUNT_ON_BAD_LB",message:"LB_SETCOUNT sent to non-lazy list box."},"0x0000059A":{code:"ERROR_LB_WITHOUT_TABSTOPS",message:"This list box does not support tab stops."},"0x0000059B":{code:"ERROR_DESTROY_OBJECT_OF_OTHER_THREAD",message:"Cannot destroy object created by another thread."},"0x0000059C":{code:"ERROR_CHILD_WINDOW_MENU",message:"Child windows cannot have menus."},"0x0000059D":{code:"ERROR_NO_SYSTEM_MENU",message:"The window does not have a system menu."},"0x0000059E":{code:"ERROR_INVALID_MSGBOX_STYLE",message:"Invalid message box style."},"0x0000059F":{code:"ERROR_INVALID_SPI_VALUE",message:"Invalid system-wide (SPI_*) parameter."},"0x000005A0":{code:"ERROR_SCREEN_ALREADY_LOCKED",message:"Screen already locked."},"0x000005A1":{code:"ERROR_HWNDS_HAVE_DIFF_PARENT",message:"All handles to windows in a multiple-window position structure must have the same parent."},"0x000005A2":{code:"ERROR_NOT_CHILD_WINDOW",message:"The window is not a child window."},"0x000005A3":{code:"ERROR_INVALID_GW_COMMAND",message:"Invalid GW_* command."},"0x000005A4":{code:"ERROR_INVALID_THREAD_ID",message:"Invalid thread identifier."},"0x000005A5":{code:"ERROR_NON_MDICHILD_WINDOW",message:"Cannot process a message from a window that is not a multiple document interface (MDI) window."},"0x000005A6":{code:"ERROR_POPUP_ALREADY_ACTIVE",message:"Pop-up menu already active."},"0x000005A7":{code:"ERROR_NO_SCROLLBARS",message:"The window does not have scroll bars."},"0x000005A8":{code:"ERROR_INVALID_SCROLLBAR_RANGE",message:"Scroll bar range cannot be greater than MAXLONG."},"0x000005A9":{code:"ERROR_INVALID_SHOWWIN_COMMAND",message:"Cannot show or remove the window in the way specified."},"0x000005AA":{code:"ERROR_NO_SYSTEM_RESOURCES",message:"Insufficient system resources exist to complete the requested service."},"0x000005AB":{code:"ERROR_NONPAGED_SYSTEM_RESOURCES",message:"Insufficient system resources exist to complete the requested service."},"0x000005AC":{code:"ERROR_PAGED_SYSTEM_RESOURCES",message:"Insufficient system resources exist to complete the requested service."},"0x000005AD":{code:"ERROR_WORKING_SET_QUOTA",message:"Insufficient quota to complete the requested service."},"0x000005AE":{code:"ERROR_PAGEFILE_QUOTA",message:"Insufficient quota to complete the requested service."},"0x000005AF":{code:"ERROR_COMMITMENT_LIMIT",message:"The paging file is too small for this operation to complete."},"0x000005B0":{code:"ERROR_MENU_ITEM_NOT_FOUND",message:"A menu item was not found."},"0x000005B1":{code:"ERROR_INVALID_KEYBOARD_HANDLE",message:"Invalid keyboard layout handle."},"0x000005B2":{code:"ERROR_HOOK_TYPE_NOT_ALLOWED",message:"Hook type not allowed."},"0x000005B3":{code:"ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION",message:"This operation requires an interactive window station."},"0x000005B4":{code:"ERROR_TIMEOUT",message:"This operation returned because the time-out period expired."},"0x000005B5":{code:"ERROR_INVALID_MONITOR_HANDLE",message:"Invalid monitor handle."},"0x000005B6":{code:"ERROR_INCORRECT_SIZE",message:"Incorrect size argument."},"0x000005B7":{code:"ERROR_SYMLINK_CLASS_DISABLED",message:"The symbolic link cannot be followed because its type is disabled."},"0x000005B8":{code:"ERROR_SYMLINK_NOT_SUPPORTED",message:"This application does not support the current operation on symbolic links."},"0x000005DC":{code:"ERROR_EVENTLOG_FILE_CORRUPT",message:"The event log file is corrupted."},"0x000005DD":{code:"ERROR_EVENTLOG_CANT_START",message:"No event log file could be opened, so the event logging service did not start."},"0x000005DE":{code:"ERROR_LOG_FILE_FULL",message:"The event log file is full."},"0x000005DF":{code:"ERROR_EVENTLOG_FILE_CHANGED",message:"The event log file has changed between read operations."},"0x0000060E":{code:"ERROR_INVALID_TASK_NAME",message:"The specified task name is invalid."},"0x0000060F":{code:"ERROR_INVALID_TASK_INDEX",message:"The specified task index is invalid."},"0x00000610":{code:"ERROR_THREAD_ALREADY_IN_TASK",message:"The specified thread is already joining a task."},"0x00000641":{code:"ERROR_INSTALL_SERVICE_FAILURE",message:"The Windows Installer service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance."},"0x00000642":{code:"ERROR_INSTALL_USEREXIT",message:"User canceled installation."},"0x00000643":{code:"ERROR_INSTALL_FAILURE",message:"Fatal error during installation."},"0x00000644":{code:"ERROR_INSTALL_SUSPEND",message:"Installation suspended, incomplete."},"0x00000645":{code:"ERROR_UNKNOWN_PRODUCT",message:"This action is valid only for products that are currently installed."},"0x00000646":{code:"ERROR_UNKNOWN_FEATURE",message:"Feature ID not registered."},"0x00000647":{code:"ERROR_UNKNOWN_COMPONENT",message:"Component ID not registered."},"0x00000648":{code:"ERROR_UNKNOWN_PROPERTY",message:"Unknown property."},"0x00000649":{code:"ERROR_INVALID_HANDLE_STATE",message:"Handle is in an invalid state."},"0x0000064A":{code:"ERROR_BAD_CONFIGURATION",message:"The configuration data for this product is corrupt. Contact your support personnel."},"0x0000064B":{code:"ERROR_INDEX_ABSENT",message:"Component qualifier not present."},"0x0000064C":{code:"ERROR_INSTALL_SOURCE_ABSENT",message:"The installation source for this product is not available. Verify that the source exists and that you can access it."},"0x0000064D":{code:"ERROR_INSTALL_PACKAGE_VERSION",message:"This installation package cannot be installed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service."},"0x0000064E":{code:"ERROR_PRODUCT_UNINSTALLED",message:"Product is uninstalled."},"0x0000064F":{code:"ERROR_BAD_QUERY_SYNTAX",message:"SQL query syntax invalid or unsupported."},"0x00000650":{code:"ERROR_INVALID_FIELD",message:"Record field does not exist."},"0x00000651":{code:"ERROR_DEVICE_REMOVED",message:"The device has been removed."},"0x00000652":{code:"ERROR_INSTALL_ALREADY_RUNNING",message:"Another installation is already in progress. Complete that installation before proceeding with this install."},"0x00000653":{code:"ERROR_INSTALL_PACKAGE_OPEN_FAILED",message:"This installation package could not be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer package."},"0x00000654":{code:"ERROR_INSTALL_PACKAGE_INVALID",message:"This installation package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer package."},"0x00000655":{code:"ERROR_INSTALL_UI_FAILURE",message:"There was an error starting the Windows Installer service user interface. Contact your support personnel."},"0x00000656":{code:"ERROR_INSTALL_LOG_FAILURE",message:"Error opening installation log file. Verify that the specified log file location exists and that you can write to it."},"0x00000657":{code:"ERROR_INSTALL_LANGUAGE_UNSUPPORTED",message:"The language of this installation package is not supported by your system."},"0x00000658":{code:"ERROR_INSTALL_TRANSFORM_FAILURE",message:"Error applying transforms. Verify that the specified transform paths are valid."},"0x00000659":{code:"ERROR_INSTALL_PACKAGE_REJECTED",message:"This installation is forbidden by system policy. Contact your system administrator."},"0x0000065A":{code:"ERROR_FUNCTION_NOT_CALLED",message:"Function could not be executed."},"0x0000065B":{code:"ERROR_FUNCTION_FAILED",message:"Function failed during execution."},"0x0000065C":{code:"ERROR_INVALID_TABLE",message:"Invalid or unknown table specified."},"0x0000065D":{code:"ERROR_DATATYPE_MISMATCH",message:"Data supplied is of wrong type."},"0x0000065E":{code:"ERROR_UNSUPPORTED_TYPE",message:"Data of this type is not supported."},"0x0000065F":{code:"ERROR_CREATE_FAILED",message:"The Windows Installer service failed to start. Contact your support personnel."},"0x00000660":{code:"ERROR_INSTALL_TEMP_UNWRITABLE",message:"The Temp folder is on a drive that is full or is inaccessible. Free up space on the drive or verify that you have write permission on the Temp folder."},"0x00000661":{code:"ERROR_INSTALL_PLATFORM_UNSUPPORTED",message:"This installation package is not supported by this processor type. Contact your product vendor."},"0x00000662":{code:"ERROR_INSTALL_NOTUSED",message:"Component not used on this computer."},"0x00000663":{code:"ERROR_PATCH_PACKAGE_OPEN_FAILED",message:"This update package could not be opened. Verify that the update package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer update package."},"0x00000664":{code:"ERROR_PATCH_PACKAGE_INVALID",message:"This update package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer update package."},"0x00000665":{code:"ERROR_PATCH_PACKAGE_UNSUPPORTED",message:"This update package cannot be processed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service."},"0x00000666":{code:"ERROR_PRODUCT_VERSION",message:"Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs in Control Panel."},"0x00000667":{code:"ERROR_INVALID_COMMAND_LINE",message:"Invalid command-line argument. Consult the Windows Installer SDK for detailed command line help."},"0x00000668":{code:"ERROR_INSTALL_REMOTE_DISALLOWED",message:"Only administrators have permission to add, remove, or configure server software during a Terminal Services remote session. If you want to install or configure software on the server, contact your network administrator."},"0x00000669":{code:"ERROR_SUCCESS_REBOOT_INITIATED",message:"The requested operation completed successfully. The system will be restarted so the changes can take effect."},"0x0000066A":{code:"ERROR_PATCH_TARGET_NOT_FOUND",message:"The upgrade cannot be installed by the Windows Installer service because the program to be upgraded may be missing, or the upgrade may update a different version of the program. Verify that the program to be upgraded exists on your computer and that you have the correct upgrade."},"0x0000066B":{code:"ERROR_PATCH_PACKAGE_REJECTED",message:"The update package is not permitted by a software restriction policy."},"0x0000066C":{code:"ERROR_INSTALL_TRANSFORM_REJECTED",message:"One or more customizations are not permitted by a software restriction policy."},"0x0000066D":{code:"ERROR_INSTALL_REMOTE_PROHIBITED",message:"The Windows Installer does not permit installation from a Remote Desktop Connection."},"0x0000066E":{code:"ERROR_PATCH_REMOVAL_UNSUPPORTED",message:"Uninstallation of the update package is not supported."},"0x0000066F":{code:"ERROR_UNKNOWN_PATCH",message:"The update is not applied to this product."},"0x00000670":{code:"ERROR_PATCH_NO_SEQUENCE",message:"No valid sequence could be found for the set of updates."},"0x00000671":{code:"ERROR_PATCH_REMOVAL_DISALLOWED",message:"Update removal was disallowed by policy."},"0x00000672":{code:"ERROR_INVALID_PATCH_XML",message:"The XML update data is invalid."},"0x00000673":{code:"ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT",message:"Windows Installer does not permit updating of managed advertised products. At least one feature of the product must be installed before applying the update."},"0x00000674":{code:"ERROR_INSTALL_SERVICE_SAFEBOOT",message:"The Windows Installer service is not accessible in Safe Mode. Try again when your computer is not in Safe Mode or you can use System Restore to return your machine to a previous good state."},"0x000006A4":{code:"RPC_S_INVALID_STRING_BINDING",message:"The string binding is invalid."},"0x000006A5":{code:"RPC_S_WRONG_KIND_OF_BINDING",message:"The binding handle is not the correct type."},"0x000006A6":{code:"RPC_S_INVALID_BINDING",message:"The binding handle is invalid."},"0x000006A7":{code:"RPC_S_PROTSEQ_NOT_SUPPORTED",message:"The RPC protocol sequence is not supported."},"0x000006A8":{code:"RPC_S_INVALID_RPC_PROTSEQ",message:"The RPC protocol sequence is invalid."},"0x000006A9":{code:"RPC_S_INVALID_STRING_UUID",message:"The string UUID is invalid."},"0x000006AA":{code:"RPC_S_INVALID_ENDPOINT_FORMAT",message:"The endpoint format is invalid."},"0x000006AB":{code:"RPC_S_INVALID_NET_ADDR",message:"The network address is invalid."},"0x000006AC":{code:"RPC_S_NO_ENDPOINT_FOUND",message:"No endpoint was found."},"0x000006AD":{code:"RPC_S_INVALID_TIMEOUT",message:"The time-out value is invalid."},"0x000006AE":{code:"RPC_S_OBJECT_NOT_FOUND",message:"The object UUID) was not found."},"0x000006AF":{code:"RPC_S_ALREADY_REGISTERED",message:"The object UUID) has already been registered."},"0x000006B0":{code:"RPC_S_TYPE_ALREADY_REGISTERED",message:"The type UUID has already been registered."},"0x000006B1":{code:"RPC_S_ALREADY_LISTENING",message:"The RPC server is already listening."},"0x000006B2":{code:"RPC_S_NO_PROTSEQS_REGISTERED",message:"No protocol sequences have been registered."},"0x000006B3":{code:"RPC_S_NOT_LISTENING",message:"The RPC server is not listening."},"0x000006B4":{code:"RPC_S_UNKNOWN_MGR_TYPE",message:"The manager type is unknown."},"0x000006B5":{code:"RPC_S_UNKNOWN_IF",message:"The interface is unknown."},"0x000006B6":{code:"RPC_S_NO_BINDINGS",message:"There are no bindings."},"0x000006B7":{code:"RPC_S_NO_PROTSEQS",message:"There are no protocol sequences."},"0x000006B8":{code:"RPC_S_CANT_CREATE_ENDPOINT",message:"The endpoint cannot be created."},"0x000006B9":{code:"RPC_S_OUT_OF_RESOURCES",message:"Not enough resources are available to complete this operation."},"0x000006BA":{code:"RPC_S_SERVER_UNAVAILABLE",message:"The RPC server is unavailable."},"0x000006BB":{code:"RPC_S_SERVER_TOO_BUSY",message:"The RPC server is too busy to complete this operation."},"0x000006BC":{code:"RPC_S_INVALID_NETWORK_OPTIONS",message:"The network options are invalid."},"0x000006BD":{code:"RPC_S_NO_CALL_ACTIVE",message:"There are no RPCs active on this thread."},"0x000006BE":{code:"RPC_S_CALL_FAILED",message:"The RPC failed."},"0x000006BF":{code:"RPC_S_CALL_FAILED_DNE",message:"The RPC failed and did not execute."},"0x000006C0":{code:"RPC_S_PROTOCOL_ERROR",message:"An RPC protocol error occurred."},"0x000006C1":{code:"RPC_S_PROXY_ACCESS_DENIED",message:"Access to the HTTP proxy is denied."},"0x000006C2":{code:"RPC_S_UNSUPPORTED_TRANS_SYN",message:"The transfer syntax is not supported by the RPC server."},"0x000006C4":{code:"RPC_S_UNSUPPORTED_TYPE",message:"The UUID type is not supported."},"0x000006C5":{code:"RPC_S_INVALID_TAG",message:"The tag is invalid."},"0x000006C6":{code:"RPC_S_INVALID_BOUND",message:"The array bounds are invalid."},"0x000006C7":{code:"RPC_S_NO_ENTRY_NAME",message:"The binding does not contain an entry name."},"0x000006C8":{code:"RPC_S_INVALID_NAME_SYNTAX",message:"The name syntax is invalid."},"0x000006C9":{code:"RPC_S_UNSUPPORTED_NAME_SYNTAX",message:"The name syntax is not supported."},"0x000006CB":{code:"RPC_S_UUID_NO_ADDRESS",message:"No network address is available to use to construct a UUID."},"0x000006CC":{code:"RPC_S_DUPLICATE_ENDPOINT",message:"The endpoint is a duplicate."},"0x000006CD":{code:"RPC_S_UNKNOWN_AUTHN_TYPE",message:"The authentication type is unknown."},"0x000006CE":{code:"RPC_S_MAX_CALLS_TOO_SMALL",message:"The maximum number of calls is too small."},"0x000006CF":{code:"RPC_S_STRING_TOO_LONG",message:"The string is too long."},"0x000006D0":{code:"RPC_S_PROTSEQ_NOT_FOUND",message:"The RPC protocol sequence was not found."},"0x000006D1":{code:"RPC_S_PROCNUM_OUT_OF_RANGE",message:"The procedure number is out of range."},"0x000006D2":{code:"RPC_S_BINDING_HAS_NO_AUTH",message:"The binding does not contain any authentication information."},"0x000006D3":{code:"RPC_S_UNKNOWN_AUTHN_SERVICE",message:"The authentication service is unknown."},"0x000006D4":{code:"RPC_S_UNKNOWN_AUTHN_LEVEL",message:"The authentication level is unknown."},"0x000006D5":{code:"RPC_S_INVALID_AUTH_IDENTITY",message:"The security context is invalid."},"0x000006D6":{code:"RPC_S_UNKNOWN_AUTHZ_SERVICE",message:"The authorization service is unknown."},"0x000006D7":{code:"EPT_S_INVALID_ENTRY",message:"The entry is invalid."},"0x000006D8":{code:"EPT_S_CANT_PERFORM_OP",message:"The server endpoint cannot perform the operation."},"0x000006D9":{code:"EPT_S_NOT_REGISTERED",message:"There are no more endpoints available from the endpoint mapper."},"0x000006DA":{code:"RPC_S_NOTHING_TO_EXPORT",message:"No interfaces have been exported."},"0x000006DB":{code:"RPC_S_INCOMPLETE_NAME",message:"The entry name is incomplete."},"0x000006DC":{code:"RPC_S_INVALID_VERS_OPTION",message:"The version option is invalid."},"0x000006DD":{code:"RPC_S_NO_MORE_MEMBERS",message:"There are no more members."},"0x000006DE":{code:"RPC_S_NOT_ALL_OBJS_UNEXPORTED",message:"There is nothing to unexport."},"0x000006DF":{code:"RPC_S_INTERFACE_NOT_FOUND",message:"The interface was not found."},"0x000006E0":{code:"RPC_S_ENTRY_ALREADY_EXISTS",message:"The entry already exists."},"0x000006E1":{code:"RPC_S_ENTRY_NOT_FOUND",message:"The entry is not found."},"0x000006E2":{code:"RPC_S_NAME_SERVICE_UNAVAILABLE",message:"The name service is unavailable."},"0x000006E3":{code:"RPC_S_INVALID_NAF_ID",message:"The network address family is invalid."},"0x000006E4":{code:"RPC_S_CANNOT_SUPPORT",message:"The requested operation is not supported."},"0x000006E5":{code:"RPC_S_NO_CONTEXT_AVAILABLE",message:"No security context is available to allow impersonation."},"0x000006E6":{code:"RPC_S_INTERNAL_ERROR",message:"An internal error occurred in an RPC."},"0x000006E7":{code:"RPC_S_ZERO_DIVIDE",message:"The RPC server attempted an integer division by zero."},"0x000006E8":{code:"RPC_S_ADDRESS_ERROR",message:"An addressing error occurred in the RPC server."},"0x000006E9":{code:"RPC_S_FP_DIV_ZERO",message:"A floating-point operation at the RPC server caused a division by zero."},"0x000006EA":{code:"RPC_S_FP_UNDERFLOW",message:"A floating-point underflow occurred at the RPC server."},"0x000006EB":{code:"RPC_S_FP_OVERFLOW",message:"A floating-point overflow occurred at the RPC server."},"0x000006EC":{code:"RPC_X_NO_MORE_ENTRIES",message:"The list of RPC servers available for the binding of auto handles has been exhausted."},"0x000006ED":{code:"RPC_X_SS_CHAR_TRANS_OPEN_FAIL",message:"Unable to open the character translation table file."},"0x000006EE":{code:"RPC_X_SS_CHAR_TRANS_SHORT_FILE",message:"The file containing the character translation table has fewer than 512 bytes."},"0x000006EF":{code:"RPC_X_SS_IN_NULL_CONTEXT",message:"A null context handle was passed from the client to the host during an RPC."},"0x000006F1":{code:"RPC_X_SS_CONTEXT_DAMAGED",message:"The context handle changed during an RPC."},"0x000006F2":{code:"RPC_X_SS_HANDLES_MISMATCH",message:"The binding handles passed to an RPC do not match."},"0x000006F3":{code:"RPC_X_SS_CANNOT_GET_CALL_HANDLE",message:"The stub is unable to get the RPC handle."},"0x000006F4":{code:"RPC_X_NULL_REF_POINTER",message:"A null reference pointer was passed to the stub."},"0x000006F5":{code:"RPC_X_ENUM_VALUE_OUT_OF_RANGE",message:"The enumeration value is out of range."},"0x000006F6":{code:"RPC_X_BYTE_COUNT_TOO_SMALL",message:"The byte count is too small."},"0x000006F7":{code:"RPC_X_BAD_STUB_DATA",message:"The stub received bad data."},"0x000006F8":{code:"ERROR_INVALID_USER_BUFFER",message:"The supplied user buffer is not valid for the requested operation."},"0x000006F9":{code:"ERROR_UNRECOGNIZED_MEDIA",message:"The disk media is not recognized. It may not be formatted."},"0x000006FA":{code:"ERROR_NO_TRUST_LSA_SECRET",message:"The workstation does not have a trust secret."},"0x000006FB":{code:"ERROR_NO_TRUST_SAM_ACCOUNT",message:"The security database on the server does not have a computer account for this workstation trust relationship."},"0x000006FC":{code:"ERROR_TRUSTED_DOMAIN_FAILURE",message:"The trust relationship between the primary domain and the trusted domain failed."},"0x000006FD":{code:"ERROR_TRUSTED_RELATIONSHIP_FAILURE",message:"The trust relationship between this workstation and the primary domain failed."},"0x000006FE":{code:"ERROR_TRUST_FAILURE",message:"The network logon failed."},"0x000006FF":{code:"RPC_S_CALL_IN_PROGRESS",message:"An RPC is already in progress for this thread."},"0x00000700":{code:"ERROR_NETLOGON_NOT_STARTED",message:"An attempt was made to log on, but the network logon service was not started."},"0x00000701":{code:"ERROR_ACCOUNT_EXPIRED",message:"The user's account has expired."},"0x00000702":{code:"ERROR_REDIRECTOR_HAS_OPEN_HANDLES",message:"The redirector is in use and cannot be unloaded."},"0x00000703":{code:"ERROR_PRINTER_DRIVER_ALREADY_INSTALLED",message:"The specified printer driver is already installed."},"0x00000704":{code:"ERROR_UNKNOWN_PORT",message:"The specified port is unknown."},"0x00000705":{code:"ERROR_UNKNOWN_PRINTER_DRIVER",message:"The printer driver is unknown."},"0x00000706":{code:"ERROR_UNKNOWN_PRINTPROCESSOR",message:"The print processor is unknown."},"0x00000707":{code:"ERROR_INVALID_SEPARATOR_FILE",message:"The specified separator file is invalid."},"0x00000708":{code:"ERROR_INVALID_PRIORITY",message:"The specified priority is invalid."},"0x00000709":{code:"ERROR_INVALID_PRINTER_NAME",message:"The printer name is invalid."},"0x0000070A":{code:"ERROR_PRINTER_ALREADY_EXISTS",message:"The printer already exists."},"0x0000070B":{code:"ERROR_INVALID_PRINTER_COMMAND",message:"The printer command is invalid."},"0x0000070C":{code:"ERROR_INVALID_DATATYPE",message:"The specified data type is invalid."},"0x0000070D":{code:"ERROR_INVALID_ENVIRONMENT",message:"The environment specified is invalid."},"0x0000070E":{code:"RPC_S_NO_MORE_BINDINGS",message:"There are no more bindings."},"0x0000070F":{code:"ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT",message:"The account used is an interdomain trust account. Use your global user account or local user account to access this server."},"0x00000710":{code:"ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT",message:"The account used is a computer account. Use your global user account or local user account to access this server."},"0x00000711":{code:"ERROR_NOLOGON_SERVER_TRUST_ACCOUNT",message:"The account used is a server trust account. Use your global user account or local user account to access this server."},"0x00000712":{code:"ERROR_DOMAIN_TRUST_INCONSISTENT",message:"The name or SID of the domain specified is inconsistent with the trust information for that domain."},"0x00000713":{code:"ERROR_SERVER_HAS_OPEN_HANDLES",message:"The server is in use and cannot be unloaded."},"0x00000714":{code:"ERROR_RESOURCE_DATA_NOT_FOUND",message:"The specified image file did not contain a resource section."},"0x00000715":{code:"ERROR_RESOURCE_TYPE_NOT_FOUND",message:"The specified resource type cannot be found in the image file."},"0x00000716":{code:"ERROR_RESOURCE_NAME_NOT_FOUND",message:"The specified resource name cannot be found in the image file."},"0x00000717":{code:"ERROR_RESOURCE_LANG_NOT_FOUND",message:"The specified resource language ID cannot be found in the image file."},"0x00000718":{code:"ERROR_NOT_ENOUGH_QUOTA",message:"Not enough quota is available to process this command."},"0x00000719":{code:"RPC_S_NO_INTERFACES",message:"No interfaces have been registered."},"0x0000071A":{code:"RPC_S_CALL_CANCELLED",message:"The RPC was canceled."},"0x0000071B":{code:"RPC_S_BINDING_INCOMPLETE",message:"The binding handle does not contain all the required information."},"0x0000071C":{code:"RPC_S_COMM_FAILURE",message:"A communications failure occurred during an RPC."},"0x0000071D":{code:"RPC_S_UNSUPPORTED_AUTHN_LEVEL",message:"The requested authentication level is not supported."},"0x0000071E":{code:"RPC_S_NO_PRINC_NAME",message:"No principal name is registered."},"0x0000071F":{code:"RPC_S_NOT_RPC_ERROR",message:"The error specified is not a valid Windows RPC error code."},"0x00000720":{code:"RPC_S_UUID_LOCAL_ONLY",message:"A UUID that is valid only on this computer has been allocated."},"0x00000721":{code:"RPC_S_SEC_PKG_ERROR",message:"A security package-specific error occurred."},"0x00000722":{code:"RPC_S_NOT_CANCELLED",message:"The thread is not canceled."},"0x00000723":{code:"RPC_X_INVALID_ES_ACTION",message:"Invalid operation on the encoding/decoding handle."},"0x00000724":{code:"RPC_X_WRONG_ES_VERSION",message:"Incompatible version of the serializing package."},"0x00000725":{code:"RPC_X_WRONG_STUB_VERSION",message:"Incompatible version of the RPC stub."},"0x00000726":{code:"RPC_X_INVALID_PIPE_OBJECT",message:"The RPC pipe object is invalid or corrupted."},"0x00000727":{code:"RPC_X_WRONG_PIPE_ORDER",message:"An invalid operation was attempted on an RPC pipe object."},"0x00000728":{code:"RPC_X_WRONG_PIPE_VERSION",message:"Unsupported RPC pipe version."},"0x0000076A":{code:"RPC_S_GROUP_MEMBER_NOT_FOUND",message:"The group member was not found."},"0x0000076B":{code:"EPT_S_CANT_CREATE",message:"The endpoint mapper database entry could not be created."},"0x0000076C":{code:"RPC_S_INVALID_OBJECT",message:"The object UUID is the nil UUID."},"0x0000076D":{code:"ERROR_INVALID_TIME",message:"The specified time is invalid."},"0x0000076E":{code:"ERROR_INVALID_FORM_NAME",message:"The specified form name is invalid."},"0x0000076F":{code:"ERROR_INVALID_FORM_SIZE",message:"The specified form size is invalid."},"0x00000770":{code:"ERROR_ALREADY_WAITING",message:"The specified printer handle is already being waited on."},"0x00000771":{code:"ERROR_PRINTER_DELETED",message:"The specified printer has been deleted."},"0x00000772":{code:"ERROR_INVALID_PRINTER_STATE",message:"The state of the printer is invalid."},"0x00000773":{code:"ERROR_PASSWORD_MUST_CHANGE",message:"The user's password must be changed before logging on the first time."},"0x00000774":{code:"ERROR_DOMAIN_CONTROLLER_NOT_FOUND",message:"Could not find the domain controller for this domain."},"0x00000775":{code:"ERROR_ACCOUNT_LOCKED_OUT",message:"The referenced account is currently locked out and may not be logged on to."},"0x00000776":{code:"OR_INVALID_OXID",message:"The object exporter specified was not found."},"0x00000777":{code:"OR_INVALID_OID",message:"The object specified was not found."},"0x00000778":{code:"OR_INVALID_SET",message:"The object set specified was not found."},"0x00000779":{code:"RPC_S_SEND_INCOMPLETE",message:"Some data remains to be sent in the request buffer."},"0x0000077A":{code:"RPC_S_INVALID_ASYNC_HANDLE",message:"Invalid asynchronous RPC handle."},"0x0000077B":{code:"RPC_S_INVALID_ASYNC_CALL",message:"Invalid asynchronous RPC call handle for this operation."},"0x0000077C":{code:"RPC_X_PIPE_CLOSED",message:"The RPC pipe object has already been closed."},"0x0000077D":{code:"RPC_X_PIPE_DISCIPLINE_ERROR",message:"The RPC call completed before all pipes were processed."},"0x0000077E":{code:"RPC_X_PIPE_EMPTY",message:"No more data is available from the RPC pipe."},"0x0000077F":{code:"ERROR_NO_SITENAME",message:"No site name is available for this machine."},"0x00000780":{code:"ERROR_CANT_ACCESS_FILE",message:"The file cannot be accessed by the system."},"0x00000781":{code:"ERROR_CANT_RESOLVE_FILENAME",message:"The name of the file cannot be resolved by the system."},"0x00000782":{code:"RPC_S_ENTRY_TYPE_MISMATCH",message:"The entry is not of the expected type."},"0x00000783":{code:"RPC_S_NOT_ALL_OBJS_EXPORTED",message:"Not all object UUIDs could be exported to the specified entry."},"0x00000784":{code:"RPC_S_INTERFACE_NOT_EXPORTED",message:"The interface could not be exported to the specified entry."},"0x00000785":{code:"RPC_S_PROFILE_NOT_ADDED",message:"The specified profile entry could not be added."},"0x00000786":{code:"RPC_S_PRF_ELT_NOT_ADDED",message:"The specified profile element could not be added."},"0x00000787":{code:"RPC_S_PRF_ELT_NOT_REMOVED",message:"The specified profile element could not be removed."},"0x00000788":{code:"RPC_S_GRP_ELT_NOT_ADDED",message:"The group element could not be added."},"0x00000789":{code:"RPC_S_GRP_ELT_NOT_REMOVED",message:"The group element could not be removed."},"0x0000078A":{code:"ERROR_KM_DRIVER_BLOCKED",message:"The printer driver is not compatible with a policy enabled on your computer that blocks Windows NT 4.0 drivers."},"0x0000078B":{code:"ERROR_CONTEXT_EXPIRED",message:"The context has expired and can no longer be used."},"0x0000078C":{code:"ERROR_PER_USER_TRUST_QUOTA_EXCEEDED",message:"The current user's delegated trust creation quota has been exceeded."},"0x0000078D":{code:"ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED",message:"The total delegated trust creation quota has been exceeded."},"0x0000078E":{code:"ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED",message:"The current user's delegated trust deletion quota has been exceeded."},"0x0000078F":{code:"ERROR_AUTHENTICATION_FIREWALL_FAILED",message:"Logon failure: The machine you are logging on to is protected by an authentication firewall. The specified account is not allowed to authenticate to the machine."},"0x00000790":{code:"ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED",message:"Remote connections to the Print Spooler are blocked by a policy set on your machine."},"0x000007D0":{code:"ERROR_INVALID_PIXEL_FORMAT",message:"The pixel format is invalid."},"0x000007D1":{code:"ERROR_BAD_DRIVER",message:"The specified driver is invalid."},"0x000007D2":{code:"ERROR_INVALID_WINDOW_STYLE",message:"The window style or class attribute is invalid for this operation."},"0x000007D3":{code:"ERROR_METAFILE_NOT_SUPPORTED",message:"The requested metafile operation is not supported."},"0x000007D4":{code:"ERROR_TRANSFORM_NOT_SUPPORTED",message:"The requested transformation operation is not supported."},"0x000007D5":{code:"ERROR_CLIPPING_NOT_SUPPORTED",message:"The requested clipping operation is not supported."},"0x000007DA":{code:"ERROR_INVALID_CMM",message:"The specified color management module is invalid."},"0x000007DB":{code:"ERROR_INVALID_PROFILE",message:"The specified color profile is invalid."},"0x000007DC":{code:"ERROR_TAG_NOT_FOUND",message:"The specified tag was not found."},"0x000007DD":{code:"ERROR_TAG_NOT_PRESENT",message:"A required tag is not present."},"0x000007DE":{code:"ERROR_DUPLICATE_TAG",message:"The specified tag is already present."},"0x000007DF":{code:"ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE",message:"The specified color profile is not associated with any device."},"0x000007E0":{code:"ERROR_PROFILE_NOT_FOUND",message:"The specified color profile was not found."},"0x000007E1":{code:"ERROR_INVALID_COLORSPACE",message:"The specified color space is invalid."},"0x000007E2":{code:"ERROR_ICM_NOT_ENABLED",message:"Image Color Management is not enabled."},"0x000007E3":{code:"ERROR_DELETING_ICM_XFORM",message:"There was an error while deleting the color transform."},"0x000007E4":{code:"ERROR_INVALID_TRANSFORM",message:"The specified color transform is invalid."},"0x000007E5":{code:"ERROR_COLORSPACE_MISMATCH",message:"The specified transform does not match the bitmap's color space."},"0x000007E6":{code:"ERROR_INVALID_COLORINDEX",message:"The specified named color index is not present in the profile."},"0x000007E7":{code:"ERROR_PROFILE_DOES_NOT_MATCH_DEVICE",message:"The specified profile is intended for a device of a different type than the specified device."},"0x00000836":{code:"NERR_NetNotStarted",message:"The workstation driver is not installed."},"0x00000837":{code:"NERR_UnknownServer",message:"The server could not be located."},"0x00000838":{code:"NERR_ShareMem",message:"An internal error occurred. The network cannot access a shared memory segment."},"0x00000839":{code:"NERR_NoNetworkResource",message:"A network resource shortage occurred."},"0x0000083A":{code:"NERR_RemoteOnly",message:"This operation is not supported on workstations."},"0x0000083B":{code:"NERR_DevNotRedirected",message:"The device is not connected."},"0x0000083C":{code:"ERROR_CONNECTED_OTHER_PASSWORD",message:"The network connection was made successfully, but the user had to be prompted for a password other than the one originally specified."},"0x0000083D":{code:"ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT",message:"The network connection was made successfully using default credentials."},"0x00000842":{code:"NERR_ServerNotStarted",message:"The Server service is not started."},"0x00000843":{code:"NERR_ItemNotFound",message:"The queue is empty."},"0x00000844":{code:"NERR_UnknownDevDir",message:"The device or directory does not exist."},"0x00000845":{code:"NERR_RedirectedPath",message:"The operation is invalid on a redirected resource."},"0x00000846":{code:"NERR_DuplicateShare",message:"The name has already been shared."},"0x00000847":{code:"NERR_NoRoom",message:"The server is currently out of the requested resource."},"0x00000849":{code:"NERR_TooManyItems",message:"Requested addition of items exceeds the maximum allowed."},"0x0000084A":{code:"NERR_InvalidMaxUsers",message:"The Peer service supports only two simultaneous users."},"0x0000084B":{code:"NERR_BufTooSmall",message:"The API return buffer is too small."},"0x0000084F":{code:"NERR_RemoteErr",message:"A remote API error occurred."},"0x00000853":{code:"NERR_LanmanIniError",message:"An error occurred when opening or reading the configuration file."},"0x00000858":{code:"NERR_NetworkError",message:"A general network error occurred."},"0x00000859":{code:"NERR_WkstaInconsistentState",message:"The Workstation service is in an inconsistent state. Restart the computer before restarting the Workstation service."},"0x0000085A":{code:"NERR_WkstaNotStarted",message:"The Workstation service has not been started."},"0x0000085B":{code:"NERR_BrowserNotStarted",message:"The requested information is not available."},"0x0000085C":{code:"NERR_InternalError",message:"An internal error occurred."},"0x0000085D":{code:"NERR_BadTransactConfig",message:"The server is not configured for transactions."},"0x0000085E":{code:"NERR_InvalidAPI",message:"The requested API is not supported on the remote server."},"0x0000085F":{code:"NERR_BadEventName",message:"The event name is invalid."},"0x00000860":{code:"NERR_DupNameReboot",message:"The computer name already exists on the network. Change it and reboot the computer."},"0x00000862":{code:"NERR_CfgCompNotFound",message:"The specified component could not be found in the configuration information."},"0x00000863":{code:"NERR_CfgParamNotFound",message:"The specified parameter could not be found in the configuration information."},"0x00000865":{code:"NERR_LineTooLong",message:"A line in the configuration file is too long."},"0x00000866":{code:"NERR_QNotFound",message:"The printer does not exist."},"0x00000867":{code:"NERR_JobNotFound",message:"The print job does not exist."},"0x00000868":{code:"NERR_DestNotFound",message:"The printer destination cannot be found."},"0x00000869":{code:"NERR_DestExists",message:"The printer destination already exists."},"0x0000086A":{code:"NERR_QExists",message:"The print queue already exists."},"0x0000086B":{code:"NERR_QNoRoom",message:"No more printers can be added."},"0x0000086C":{code:"NERR_JobNoRoom",message:"No more print jobs can be added."},"0x0000086D":{code:"NERR_DestNoRoom",message:"No more printer destinations can be added."},"0x0000086E":{code:"NERR_DestIdle",message:"This printer destination is idle and cannot accept control operations."},"0x0000086F":{code:"NERR_DestInvalidOp",message:"This printer destination request contains an invalid control function."},"0x00000870":{code:"NERR_ProcNoRespond",message:"The print processor is not responding."},"0x00000871":{code:"NERR_SpoolerNotLoaded",message:"The spooler is not running."},"0x00000872":{code:"NERR_DestInvalidState",message:"This operation cannot be performed on the print destination in its current state."},"0x00000873":{code:"NERR_QinvalidState",message:"This operation cannot be performed on the print queue in its current state."},"0x00000874":{code:"NERR_JobInvalidState",message:"This operation cannot be performed on the print job in its current state."},"0x00000875":{code:"NERR_SpoolNoMemory",message:"A spooler memory allocation failure occurred."},"0x00000876":{code:"NERR_DriverNotFound",message:"The device driver does not exist."},"0x00000877":{code:"NERR_DataTypeInvalid",message:"The data type is not supported by the print processor."},"0x00000878":{code:"NERR_ProcNotFound",message:"The print processor is not installed."},"0x00000884":{code:"NERR_ServiceTableLocked",message:"The service database is locked."},"0x00000885":{code:"NERR_ServiceTableFull",message:"The service table is full."},"0x00000886":{code:"NERR_ServiceInstalled",message:"The requested service has already been started."},"0x00000887":{code:"NERR_ServiceEntryLocked",message:"The service does not respond to control actions."},"0x00000888":{code:"NERR_ServiceNotInstalled",message:"The service has not been started."},"0x00000889":{code:"NERR_BadServiceName",message:"The service name is invalid."},"0x0000088A":{code:"NERR_ServiceCtlTimeout",message:"The service is not responding to the control function."},"0x0000088B":{code:"NERR_ServiceCtlBusy",message:"The service control is busy."},"0x0000088C":{code:"NERR_BadServiceProgName",message:"The configuration file contains an invalid service program name."},"0x0000088D":{code:"NERR_ServiceNotCtrl",message:"The service could not be controlled in its present state."},"0x0000088E":{code:"NERR_ServiceKillProc",message:"The service ended abnormally."},"0x0000088F":{code:"NERR_ServiceCtlNotValid",message:"The requested pause or stop is not valid for this service."},"0x00000890":{code:"NERR_NotInDispatchTbl",message:"The service control dispatcher could not find the service name in the dispatch table."},"0x00000891":{code:"NERR_BadControlRecv",message:"The service control dispatcher pipe read failed."},"0x00000892":{code:"NERR_ServiceNotStarting",message:"A thread for the new service could not be created."},"0x00000898":{code:"NERR_AlreadyLoggedOn",message:"This workstation is already logged on to the LAN."},"0x00000899":{code:"NERR_NotLoggedOn",message:"The workstation is not logged on to the LAN."},"0x0000089A":{code:"NERR_BadUsername",message:"The user name or group name parameter is invalid."},"0x0000089B":{code:"NERR_BadPassword",message:"The password parameter is invalid."},"0x0000089C":{code:"NERR_UnableToAddName_W",message:"The logon processor did not add the message alias."},"0x0000089D":{code:"NERR_UnableToAddName_F",message:"The logon processor did not add the message alias."},"0x0000089E":{code:"NERR_UnableToDelName_W",message:"@W The logoff processor did not delete the message alias."},"0x0000089F":{code:"NERR_UnableToDelName_F",message:"The logoff processor did not delete the message alias."},"0x000008A1":{code:"NERR_LogonsPaused",message:"Network logons are paused."},"0x000008A2":{code:"NERR_LogonServerConflict",message:"A centralized logon server conflict occurred."},"0x000008A3":{code:"NERR_LogonNoUserPath",message:"The server is configured without a valid user path."},"0x000008A4":{code:"NERR_LogonScriptError",message:"An error occurred while loading or running the logon script."},"0x000008A6":{code:"NERR_StandaloneLogon",message:"The logon server was not specified. The computer will be logged on as STANDALONE."},"0x000008A7":{code:"NERR_LogonServerNotFound",message:"The logon server could not be found."},"0x000008A8":{code:"NERR_LogonDomainExists",message:"There is already a logon domain for this computer."},"0x000008A9":{code:"NERR_NonValidatedLogon",message:"The logon server could not validate the logon."},"0x000008AB":{code:"NERR_ACFNotFound",message:"The security database could not be found."},"0x000008AC":{code:"NERR_GroupNotFound",message:"The group name could not be found."},"0x000008AD":{code:"NERR_UserNotFound",message:"The user name could not be found."},"0x000008AE":{code:"NERR_ResourceNotFound",message:"The resource name could not be found."},"0x000008AF":{code:"NERR_GroupExists",message:"The group already exists."},"0x000008B0":{code:"NERR_UserExists",message:"The user account already exists."},"0x000008B1":{code:"NERR_ResourceExists",message:"The resource permission list already exists."},"0x000008B2":{code:"NERR_NotPrimary",message:"This operation is allowed only on the PDC of the domain."},"0x000008B3":{code:"NERR_ACFNotLoaded",message:"The security database has not been started."},"0x000008B4":{code:"NERR_ACFNoRoom",message:"There are too many names in the user accounts database."},"0x000008B5":{code:"NERR_ACFFileIOFail",message:"A disk I/O failure occurred."},"0x000008B6":{code:"NERR_ACFTooManyLists",message:"The limit of 64 entries per resource was exceeded."},"0x000008B7":{code:"NERR_UserLogon",message:"Deleting a user with a session is not allowed."},"0x000008B8":{code:"NERR_ACFNoParent",message:"The parent directory could not be located."},"0x000008B9":{code:"NERR_CanNotGrowSegment",message:"Unable to add to the security database session cache segment."},"0x000008BA":{code:"NERR_SpeGroupOp",message:"This operation is not allowed on this special group."},"0x000008BB":{code:"NERR_NotInCache",message:"This user is not cached in the user accounts database session cache."},"0x000008BC":{code:"NERR_UserInGroup",message:"The user already belongs to this group."},"0x000008BD":{code:"NERR_UserNotInGroup",message:"The user does not belong to this group."},"0x000008BE":{code:"NERR_AccountUndefined",message:"This user account is undefined."},"0x000008BF":{code:"NERR_AccountExpired",message:"This user account has expired."},"0x000008C0":{code:"NERR_InvalidWorkstation",message:"The user is not allowed to log on from this workstation."},"0x000008C1":{code:"NERR_InvalidLogonHours",message:"The user is not allowed to log on at this time."},"0x000008C2":{code:"NERR_PasswordExpired",message:"The password of this user has expired."},"0x000008C3":{code:"NERR_PasswordCantChange",message:"The password of this user cannot change."},"0x000008C4":{code:"NERR_PasswordHistConflict",message:"This password cannot be used now."},"0x000008C5":{code:"NERR_PasswordTooShort",message:"The password does not meet the password policy requirements. Check the minimum password length, password complexity, and password history requirements."},"0x000008C6":{code:"NERR_PasswordTooRecent",message:"The password of this user is too recent to change."},"0x000008C7":{code:"NERR_InvalidDatabase",message:"The security database is corrupted."},"0x000008C8":{code:"NERR_DatabaseUpToDate",message:"No updates are necessary to this replicant network or local security database."},"0x000008C9":{code:"NERR_SyncRequired",message:"This replicant database is outdated; synchronization is required."},"0x000008CA":{code:"NERR_UseNotFound",message:"The network connection could not be found."},"0x000008CB":{code:"NERR_BadAsgType",message:"This asg_type is invalid."},"0x000008CC":{code:"NERR_DeviceIsShared",message:"This device is currently being shared."},"0x000008DE":{code:"NERR_NoComputerName",message:"The computer name could not be added as a message alias. The name may already exist on the network."},"0x000008DF":{code:"NERR_MsgAlreadyStarted",message:"The Messenger service is already started."},"0x000008E0":{code:"NERR_MsgInitFailed",message:"The Messenger service failed to start."},"0x000008E1":{code:"NERR_NameNotFound",message:"The message alias could not be found on the network."},"0x000008E2":{code:"NERR_AlreadyForwarded",message:"This message alias has already been forwarded."},"0x000008E3":{code:"NERR_AddForwarded",message:"This message alias has been added but is still forwarded."},"0x000008E4":{code:"NERR_AlreadyExists",message:"This message alias already exists locally."},"0x000008E5":{code:"NERR_TooManyNames",message:"The maximum number of added message aliases has been exceeded."},"0x000008E6":{code:"NERR_DelComputerName",message:"The computer name could not be deleted."},"0x000008E7":{code:"NERR_LocalForward",message:"Messages cannot be forwarded back to the same workstation."},"0x000008E8":{code:"NERR_GrpMsgProcessor",message:"An error occurred in the domain message processor."},"0x000008E9":{code:"NERR_PausedRemote",message:"The message was sent, but the recipient has paused the Messenger service."},"0x000008EA":{code:"NERR_BadReceive",message:"The message was sent but not received."},"0x000008EB":{code:"NERR_NameInUse",message:"The message alias is currently in use. Try again later."},"0x000008EC":{code:"NERR_MsgNotStarted",message:"The Messenger service has not been started."},"0x000008ED":{code:"NERR_NotLocalName",message:"The name is not on the local computer."},"0x000008EE":{code:"NERR_NoForwardName",message:"The forwarded message alias could not be found on the network."},"0x000008EF":{code:"NERR_RemoteFull",message:"The message alias table on the remote station is full."},"0x000008F0":{code:"NERR_NameNotForwarded",message:"Messages for this alias are not currently being forwarded."},"0x000008F1":{code:"NERR_TruncatedBroadcast",message:"The broadcast message was truncated."},"0x000008F6":{code:"NERR_InvalidDevice",message:"This is an invalid device name."},"0x000008F7":{code:"NERR_WriteFault",message:"A write fault occurred."},"0x000008F9":{code:"NERR_DuplicateName",message:"A duplicate message alias exists on the network."},"0x000008FA":{code:"NERR_DeleteLater",message:"This message alias will be deleted later."},"0x000008FB":{code:"NERR_IncompleteDel",message:"The message alias was not successfully deleted from all networks."},"0x000008FC":{code:"NERR_MultipleNets",message:"This operation is not supported on computers with multiple networks."},"0x00000906":{code:"NERR_NetNameNotFound",message:"This shared resource does not exist."},"0x00000907":{code:"NERR_DeviceNotShared",message:"This device is not shared."},"0x00000908":{code:"NERR_ClientNameNotFound",message:"A session does not exist with that computer name."},"0x0000090A":{code:"NERR_FileIdNotFound",message:"There is not an open file with that identification number."},"0x0000090B":{code:"NERR_ExecFailure",message:"A failure occurred when executing a remote administration command."},"0x0000090C":{code:"NERR_TmpFile",message:"A failure occurred when opening a remote temporary file."},"0x0000090D":{code:"NERR_TooMuchData",message:"The data returned from a remote administration command has been truncated to 64 KB."},"0x0000090E":{code:"NERR_DeviceShareConflict",message:"This device cannot be shared as both a spooled and a nonspooled resource."},"0x0000090F":{code:"NERR_BrowserTableIncomplete",message:"The information in the list of servers may be incorrect."},"0x00000910":{code:"NERR_NotLocalDomain",message:"The computer is not active in this domain."},"0x00000911":{code:"NERR_IsDfsShare",message:"The share must be removed from the Distributed File System (DFS) before it can be deleted."},"0x0000091B":{code:"NERR_DevInvalidOpCode",message:"The operation is invalid for this device."},"0x0000091C":{code:"NERR_DevNotFound",message:"This device cannot be shared."},"0x0000091D":{code:"NERR_DevNotOpen",message:"This device was not open."},"0x0000091E":{code:"NERR_BadQueueDevString",message:"This device name list is invalid."},"0x0000091F":{code:"NERR_BadQueuePriority",message:"The queue priority is invalid."},"0x00000921":{code:"NERR_NoCommDevs",message:"There are no shared communication devices."},"0x00000922":{code:"NERR_QueueNotFound",message:"The queue you specified does not exist."},"0x00000924":{code:"NERR_BadDevString",message:"This list of devices is invalid."},"0x00000925":{code:"NERR_BadDev",message:"The requested device is invalid."},"0x00000926":{code:"NERR_InUseBySpooler",message:"This device is already in use by the spooler."},"0x00000927":{code:"NERR_CommDevInUse",message:"This device is already in use as a communication device."},"0x0000092F":{code:"NERR_InvalidComputer",message:"This computer name is invalid."},"0x00000932":{code:"NERR_MaxLenExceeded",message:"The string and prefix specified are too long."},"0x00000934":{code:"NERR_BadComponent",message:"This path component is invalid."},"0x00000935":{code:"NERR_CantType",message:"Could not determine the type of input."},"0x0000093A":{code:"NERR_TooManyEntries",message:"The buffer for types is not big enough."},"0x00000942":{code:"NERR_ProfileFileTooBig",message:"Profile files cannot exceed 64 KB."},"0x00000943":{code:"NERR_ProfileOffset",message:"The start offset is out of range."},"0x00000944":{code:"NERR_ProfileCleanup",message:"The system cannot delete current connections to network resources."},"0x00000945":{code:"NERR_ProfileUnknownCmd",message:"The system was unable to parse the command line in this file."},"0x00000946":{code:"NERR_ProfileLoadErr",message:"An error occurred while loading the profile file."},"0x00000947":{code:"NERR_ProfileSaveErr",message:"Errors occurred while saving the profile file. The profile was partially saved."},"0x00000949":{code:"NERR_LogOverflow",message:"Log file %1 is full."},"0x0000094A":{code:"NERR_LogFileChanged",message:"This log file has changed between reads."},"0x0000094B":{code:"NERR_LogFileCorrupt",message:"Log file %1 is corrupt."},"0x0000094C":{code:"NERR_SourceIsDir",message:"The source path cannot be a directory."},"0x0000094D":{code:"NERR_BadSource",message:"The source path is illegal."},"0x0000094E":{code:"NERR_BadDest",message:"The destination path is illegal."},"0x0000094F":{code:"NERR_DifferentServers",message:"The source and destination paths are on different servers."},"0x00000951":{code:"NERR_RunSrvPaused",message:"The Run server you requested is paused."},"0x00000955":{code:"NERR_ErrCommRunSrv",message:"An error occurred when communicating with a Run server."},"0x00000957":{code:"NERR_ErrorExecingGhost",message:"An error occurred when starting a background process."},"0x00000958":{code:"NERR_ShareNotFound",message:"The shared resource you are connected to could not be found."},"0x00000960":{code:"NERR_InvalidLana",message:"The LAN adapter number is invalid."},"0x00000961":{code:"NERR_OpenFiles",message:"There are open files on the connection."},"0x00000962":{code:"NERR_ActiveConns",message:"Active connections still exist."},"0x00000963":{code:"NERR_BadPasswordCore",message:"This share name or password is invalid."},"0x00000964":{code:"NERR_DevInUse",message:"The device is being accessed by an active process."},"0x00000965":{code:"NERR_LocalDrive",message:"The drive letter is in use locally."},"0x0000097E":{code:"NERR_AlertExists",message:"The specified client is already registered for the specified event."},"0x0000097F":{code:"NERR_TooManyAlerts",message:"The alert table is full."},"0x00000980":{code:"NERR_NoSuchAlert",message:"An invalid or nonexistent alert name was raised."},"0x00000981":{code:"NERR_BadRecipient",message:"The alert recipient is invalid."},"0x00000982":{code:"NERR_AcctLimitExceeded",message:"A user's session with this server has been deleted."},"0x00000988":{code:"NERR_InvalidLogSeek",message:"The log file does not contain the requested record number."},"0x00000992":{code:"NERR_BadUasConfig",message:"The user accounts database is not configured correctly."},"0x00000993":{code:"NERR_InvalidUASOp",message:"This operation is not permitted when the Net Logon service is running."},"0x00000994":{code:"NERR_LastAdmin",message:"This operation is not allowed on the last administrative account."},"0x00000995":{code:"NERR_DCNotFound",message:"Could not find the domain controller for this domain."},"0x00000996":{code:"NERR_LogonTrackingError",message:"Could not set logon information for this user."},"0x00000997":{code:"NERR_NetlogonNotStarted",message:"The Net Logon service has not been started."},"0x00000998":{code:"NERR_CanNotGrowUASFile",message:"Unable to add to the user accounts database."},"0x00000999":{code:"NERR_TimeDiffAtDC",message:"This server's clock is not synchronized with the PDC's clock."},"0x0000099A":{code:"NERR_PasswordMismatch",message:"A password mismatch has been detected."},"0x0000099C":{code:"NERR_NoSuchServer",message:"The server identification does not specify a valid server."},"0x0000099D":{code:"NERR_NoSuchSession",message:"The session identification does not specify a valid session."},"0x0000099E":{code:"NERR_NoSuchConnection",message:"The connection identification does not specify a valid connection."},"0x0000099F":{code:"NERR_TooManyServers",message:"There is no space for another entry in the table of available servers."},"0x000009A0":{code:"NERR_TooManySessions",message:"The server has reached the maximum number of sessions it supports."},"0x000009A1":{code:"NERR_TooManyConnections",message:"The server has reached the maximum number of connections it supports."},"0x000009A2":{code:"NERR_TooManyFiles",message:"The server cannot open more files because it has reached its maximum number."},"0x000009A3":{code:"NERR_NoAlternateServers",message:"There are no alternate servers registered on this server."},"0x000009A6":{code:"NERR_TryDownLevel",message:"Try the down-level (remote admin protocol) version of API instead."},"0x000009B0":{code:"NERR_UPSDriverNotStarted",message:"The uninterruptible power supply (UPS) driver could not be accessed by the UPS service."},"0x000009B1":{code:"NERR_UPSInvalidConfig",message:"The UPS service is not configured correctly."},"0x000009B2":{code:"NERR_UPSInvalidCommPort",message:"The UPS service could not access the specified Comm Port."},"0x000009B3":{code:"NERR_UPSSignalAsserted",message:"The UPS indicated a line fail or low battery situation. Service not started."},"0x000009B4":{code:"NERR_UPSShutdownFailed",message:"The UPS service failed to perform a system shut down."},"0x000009C4":{code:"NERR_BadDosRetCode",message:"The program below returned an MS-DOS error code."},"0x000009C5":{code:"NERR_ProgNeedsExtraMem",message:"The program below needs more memory."},"0x000009C6":{code:"NERR_BadDosFunction",message:"The program below called an unsupported MS-DOS function."},"0x000009C7":{code:"NERR_RemoteBootFailed",message:"The workstation failed to boot."},"0x000009C8":{code:"NERR_BadFileCheckSum",message:"The file below is corrupt."},"0x000009C9":{code:"NERR_NoRplBootSystem",message:"No loader is specified in the boot-block definition file."},"0x000009CA":{code:"NERR_RplLoadrNetBiosErr",message:"NetBIOS returned an error: The network control blocks (NCBs) and Server Message Block (SMB) are dumped above."},"0x000009CB":{code:"NERR_RplLoadrDiskErr",message:"A disk I/O error occurred."},"0x000009CC":{code:"NERR_ImageParamErr",message:"Image parameter substitution failed."},"0x000009CD":{code:"NERR_TooManyImageParams",message:"Too many image parameters cross disk sector boundaries."},"0x000009CE":{code:"NERR_NonDosFloppyUsed",message:"The image was not generated from an MS-DOS disk formatted with /S."},"0x000009CF":{code:"NERR_RplBootRestart",message:"Remote boot will be restarted later."},"0x000009D0":{code:"NERR_RplSrvrCallFailed",message:"The call to the Remoteboot server failed."},"0x000009D1":{code:"NERR_CantConnectRplSrvr",message:"Cannot connect to the Remoteboot server."},"0x000009D2":{code:"NERR_CantOpenImageFile",message:"Cannot open image file on the Remoteboot server."},"0x000009D3":{code:"NERR_CallingRplSrvr",message:"Connecting to the Remoteboot server."},"0x000009D4":{code:"NERR_StartingRplBoot",message:"Connecting to the Remoteboot server."},"0x000009D5":{code:"NERR_RplBootServiceTerm",message:"Remote boot service was stopped, check the error log for the cause of the problem."},"0x000009D6":{code:"NERR_RplBootStartFailed",message:"Remote boot startup failed; check the error log for the cause of the problem."},"0x000009D7":{code:"NERR_RPL_CONNECTED",message:"A second connection to a Remoteboot resource is not allowed."},"0x000009F6":{code:"NERR_BrowserConfiguredToNotRun",message:"The browser service was configured with MaintainServerList=No."},"0x00000A32":{code:"NERR_RplNoAdaptersStarted",message:"Service failed to start because none of the network adapters started with this service."},"0x00000A33":{code:"NERR_RplBadRegistry",message:"Service failed to start due to bad startup information in the registry."},"0x00000A34":{code:"NERR_RplBadDatabase",message:"Service failed to start because its database is absent or corrupt."},"0x00000A35":{code:"NERR_RplRplfilesShare",message:"Service failed to start because the RPLFILES share is absent."},"0x00000A36":{code:"NERR_RplNotRplServer",message:"Service failed to start because the RPLUSER group is absent."},"0x00000A37":{code:"NERR_RplCannotEnum",message:"Cannot enumerate service records."},"0x00000A38":{code:"NERR_RplWkstaInfoCorrupted",message:"Workstation record information has been corrupted."},"0x00000A39":{code:"NERR_RplWkstaNotFound",message:"Workstation record was not found."},"0x00000A3A":{code:"NERR_RplWkstaNameUnavailable",message:"Workstation name is in use by some other workstation."},"0x00000A3B":{code:"NERR_RplProfileInfoCorrupted",message:"Profile record information has been corrupted."},"0x00000A3C":{code:"NERR_RplProfileNotFound",message:"Profile record was not found."},"0x00000A3D":{code:"NERR_RplProfileNameUnavailable",message:"Profile name is in use by some other profile."},"0x00000A3E":{code:"NERR_RplProfileNotEmpty",message:"There are workstations using this profile."},"0x00000A3F":{code:"NERR_RplConfigInfoCorrupted",message:"Configuration record information has been corrupted."},"0x00000A40":{code:"NERR_RplConfigNotFound",message:"Configuration record was not found."},"0x00000A41":{code:"NERR_RplAdapterInfoCorrupted",message:"Adapter ID record information has been corrupted."},"0x00000A42":{code:"NERR_RplInternal",message:"An internal service error has occurred."},"0x00000A43":{code:"NERR_RplVendorInfoCorrupted",message:"Vendor ID record information has been corrupted."},"0x00000A44":{code:"NERR_RplBootInfoCorrupted",message:"Boot block record information has been corrupted."},"0x00000A45":{code:"NERR_RplWkstaNeedsUserAcct",message:"The user account for this workstation record is missing."},"0x00000A46":{code:"NERR_RplNeedsRPLUSERAcct",message:"The RPLUSER local group could not be found."},"0x00000A47":{code:"NERR_RplBootNotFound",message:"Boot block record was not found."},"0x00000A48":{code:"NERR_RplIncompatibleProfile",message:"Chosen profile is incompatible with this workstation."},"0x00000A49":{code:"NERR_RplAdapterNameUnavailable",message:"Chosen network adapter ID is in use by some other workstation."},"0x00000A4A":{code:"NERR_RplConfigNotEmpty",message:"There are profiles using this configuration."},"0x00000A4B":{code:"NERR_RplBootInUse",message:"There are workstations, profiles, or configurations using this boot block."},"0x00000A4C":{code:"NERR_RplBackupDatabase",message:"Service failed to back up the Remoteboot database."},"0x00000A4D":{code:"NERR_RplAdapterNotFound",message:"Adapter record was not found."},"0x00000A4E":{code:"NERR_RplVendorNotFound",message:"Vendor record was not found."},"0x00000A4F":{code:"NERR_RplVendorNameUnavailable",message:"Vendor name is in use by some other vendor record."},"0x00000A50":{code:"NERR_RplBootNameUnavailable",message:"The boot name or vendor ID is in use by some other boot block record."},"0x00000A51":{code:"NERR_RplConfigNameUnavailable",message:"The configuration name is in use by some other configuration."},"0x00000A64":{code:"NERR_DfsInternalCorruption",message:"The internal database maintained by the DFS service is corrupt."},"0x00000A65":{code:"NERR_DfsVolumeDataCorrupt",message:"One of the records in the internal DFS database is corrupt."},"0x00000A66":{code:"NERR_DfsNoSuchVolume",message:"There is no DFS name whose entry path matches the input entry path."},"0x00000A67":{code:"NERR_DfsVolumeAlreadyExists",message:"A root or link with the given name already exists."},"0x00000A68":{code:"NERR_DfsAlreadyShared",message:"The server share specified is already shared in the DFS."},"0x00000A69":{code:"NERR_DfsNoSuchShare",message:"The indicated server share does not support the indicated DFS namespace."},"0x00000A6A":{code:"NERR_DfsNotALeafVolume",message:"The operation is not valid in this portion of the namespace."},"0x00000A6B":{code:"NERR_DfsLeafVolume",message:"The operation is not valid in this portion of the namespace."},"0x00000A6C":{code:"NERR_DfsVolumeHasMultipleServers",message:"The operation is ambiguous because the link has multiple servers."},"0x00000A6D":{code:"NERR_DfsCantCreateJunctionPoint",message:"Unable to create a link."},"0x00000A6E":{code:"NERR_DfsServerNotDfsAware",message:"The server is not DFS-aware."},"0x00000A6F":{code:"NERR_DfsBadRenamePath",message:"The specified rename target path is invalid."},"0x00000A70":{code:"NERR_DfsVolumeIsOffline",message:"The specified DFS link is offline."},"0x00000A71":{code:"NERR_DfsNoSuchServer",message:"The specified server is not a server for this link."},"0x00000A72":{code:"NERR_DfsCyclicalName",message:"A cycle in the DFS name was detected."},"0x00000A73":{code:"NERR_DfsNotSupportedInServerDfs",message:"The operation is not supported on a server-based DFS."},"0x00000A74":{code:"NERR_DfsDuplicateService",message:"This link is already supported by the specified server share."},"0x00000A75":{code:"NERR_DfsCantRemoveLastServerShare",message:"Cannot remove the last server share supporting this root or link."},"0x00000A76":{code:"NERR_DfsVolumeIsInterDfs",message:"The operation is not supported for an inter-DFS link."},"0x00000A77":{code:"NERR_DfsInconsistent",message:"The internal state of the DFS Service has become inconsistent."},"0x00000A78":{code:"NERR_DfsServerUpgraded",message:"The DFS Service has been installed on the specified server."},"0x00000A79":{code:"NERR_DfsDataIsIdentical",message:"The DFS data being reconciled is identical."},"0x00000A7A":{code:"NERR_DfsCantRemoveDfsRoot",message:"The DFS root cannot be deleted. Uninstall DFS if required."},"0x00000A7B":{code:"NERR_DfsChildOrParentInDfs",message:"A child or parent directory of the share is already in a DFS."},"0x00000A82":{code:"NERR_DfsInternalError",message:"DFS internal error."},"0x00000A83":{code:"NERR_SetupAlreadyJoined",message:"This machine is already joined to a domain."},"0x00000A84":{code:"NERR_SetupNotJoined",message:"This machine is not currently joined to a domain."},"0x00000A85":{code:"NERR_SetupDomainController",message:"This machine is a domain controller and cannot be unjoined from a domain."},"0x00000A86":{code:"NERR_DefaultJoinRequired",message:"The destination domain controller does not support creating machine accounts in organizational units (OUs)."},"0x00000A87":{code:"NERR_InvalidWorkgroupName",message:"The specified workgroup name is invalid."},"0x00000A88":{code:"NERR_NameUsesIncompatibleCodePage",message:"The specified computer name is incompatible with the default language used on the domain controller."},"0x00000A89":{code:"NERR_ComputerAccountNotFound",message:"The specified computer account could not be found."},"0x00000A8A":{code:"NERR_PersonalSku",message:"This version of Windows cannot be joined to a domain."},"0x00000A8D":{code:"NERR_PasswordMustChange",message:"The password must change at the next logon."},"0x00000A8E":{code:"NERR_AccountLockedOut",message:"The account is locked out."},"0x00000A8F":{code:"NERR_PasswordTooLong",message:"The password is too long."},"0x00000A90":{code:"NERR_PasswordNotComplexEnough",message:"The password does not meet the complexity policy."},"0x00000A91":{code:"NERR_PasswordFilterError",message:"The password does not meet the requirements of the password filter DLLs."},"0x00000BB8":{code:"ERROR_UNKNOWN_PRINT_MONITOR",message:"The specified print monitor is unknown."},"0x00000BB9":{code:"ERROR_PRINTER_DRIVER_IN_USE",message:"The specified printer driver is currently in use."},"0x00000BBA":{code:"ERROR_SPOOL_FILE_NOT_FOUND",message:"The spool file was not found."},"0x00000BBB":{code:"ERROR_SPL_NO_STARTDOC",message:"A StartDocPrinter call was not issued."},"0x00000BBC":{code:"ERROR_SPL_NO_ADDJOB",message:"An AddJob call was not issued."},"0x00000BBD":{code:"ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED",message:"The specified print processor has already been installed."},"0x00000BBE":{code:"ERROR_PRINT_MONITOR_ALREADY_INSTALLED",message:"The specified print monitor has already been installed."},"0x00000BBF":{code:"ERROR_INVALID_PRINT_MONITOR",message:"The specified print monitor does not have the required functions."},"0x00000BC0":{code:"ERROR_PRINT_MONITOR_IN_USE",message:"The specified print monitor is currently in use."},"0x00000BC1":{code:"ERROR_PRINTER_HAS_JOBS_QUEUED",message:"The requested operation is not allowed when there are jobs queued to the printer."},"0x00000BC2":{code:"ERROR_SUCCESS_REBOOT_REQUIRED",message:"The requested operation is successful. Changes will not be effective until the system is rebooted."},"0x00000BC3":{code:"ERROR_SUCCESS_RESTART_REQUIRED",message:"The requested operation is successful. Changes will not be effective until the service is restarted."},"0x00000BC4":{code:"ERROR_PRINTER_NOT_FOUND",message:"No printers were found."},"0x00000BC5":{code:"ERROR_PRINTER_DRIVER_WARNED",message:"The printer driver is known to be unreliable."},"0x00000BC6":{code:"ERROR_PRINTER_DRIVER_BLOCKED",message:"The printer driver is known to harm the system."},"0x00000BC7":{code:"ERROR_PRINTER_DRIVER_PACKAGE_IN_USE",message:"The specified printer driver package is currently in use."},"0x00000BC8":{code:"ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND",message:"Unable to find a core driver package that is required by the printer driver package."},"0x00000BC9":{code:"ERROR_FAIL_REBOOT_REQUIRED",message:"The requested operation failed. A system reboot is required to roll back changes made."},"0x00000BCA":{code:"ERROR_FAIL_REBOOT_INITIATED",message:"The requested operation failed. A system reboot has been initiated to roll back changes made."},"0x00000F6E":{code:"ERROR_IO_REISSUE_AS_CACHED",message:"Reissue the given operation as a cached I/O operation."},"0x00000FA0":{code:"ERROR_WINS_INTERNAL",message:"Windows Internet Name Service (WINS) encountered an error while processing the command."},"0x00000FA1":{code:"ERROR_CAN_NOT_DEL_LOCAL_WINS",message:"The local WINS cannot be deleted."},"0x00000FA2":{code:"ERROR_STATIC_INIT",message:"The importation from the file failed."},"0x00000FA3":{code:"ERROR_INC_BACKUP",message:"The backup failed. Was a full backup done before?"},"0x00000FA4":{code:"ERROR_FULL_BACKUP",message:"The backup failed. Check the directory to which you are backing the database."},"0x00000FA5":{code:"ERROR_REC_NON_EXISTENT",message:"The name does not exist in the WINS database."},"0x00000FA6":{code:"ERROR_RPL_NOT_ALLOWED",message:"Replication with a nonconfigured partner is not allowed."},"0x00000FD2":{code:"PEERDIST_ERROR_CONTENTINFO_VERSION_UNSUPPORTED",message:"The version of the supplied content information is not supported."},"0x00000FD3":{code:"PEERDIST_ERROR_CANNOT_PARSE_CONTENTINFO",message:"The supplied content information is malformed."},"0x00000FD4":{code:"PEERDIST_ERROR_MISSING_DATA",message:"The requested data cannot be found in local or peer caches."},"0x00000FD5":{code:"PEERDIST_ERROR_NO_MORE",message:"No more data is available or required."},"0x00000FD6":{code:"PEERDIST_ERROR_NOT_INITIALIZED",message:"The supplied object has not been initialized."},"0x00000FD7":{code:"PEERDIST_ERROR_ALREADY_INITIALIZED",message:"The supplied object has already been initialized."},"0x00000FD8":{code:"PEERDIST_ERROR_SHUTDOWN_IN_PROGRESS",message:"A shutdown operation is already in progress."},"0x00000FD9":{code:"PEERDIST_ERROR_INVALIDATED",message:"The supplied object has already been invalidated."},"0x00000FDA":{code:"PEERDIST_ERROR_ALREADY_EXISTS",message:"An element already exists and was not replaced."},"0x00000FDB":{code:"PEERDIST_ERROR_OPERATION_NOTFOUND",message:"Can not cancel the requested operation as it has already been completed."},"0x00000FDC":{code:"PEERDIST_ERROR_ALREADY_COMPLETED",message:"Can not perform the reqested operation because it has already been carried out."},"0x00000FDD":{code:"PEERDIST_ERROR_OUT_OF_BOUNDS",message:"An operation accessed data beyond the bounds of valid data."},"0x00000FDE":{code:"PEERDIST_ERROR_VERSION_UNSUPPORTED",message:"The requested version is not supported."},"0x00000FDF":{code:"PEERDIST_ERROR_INVALID_CONFIGURATION",message:"A configuration value is invalid."},"0x00000FE0":{code:"PEERDIST_ERROR_NOT_LICENSED",message:"The SKU is not licensed."},"0x00000FE1":{code:"PEERDIST_ERROR_SERVICE_UNAVAILABLE",message:"PeerDist Service is still initializing and will be available shortly."},"0x00001004":{code:"ERROR_DHCP_ADDRESS_CONFLICT",message:"The Dynamic Host Configuration Protocol (DHCP) client has obtained an IP address that is already in use on the network. The local interface will be disabled until the DHCP client can obtain a new address."},"0x00001068":{code:"ERROR_WMI_GUID_NOT_FOUND",message:"The GUID passed was not recognized as valid by a WMI data provider."},"0x00001069":{code:"ERROR_WMI_INSTANCE_NOT_FOUND",message:"The instance name passed was not recognized as valid by a WMI data provider."},"0x0000106A":{code:"ERROR_WMI_ITEMID_NOT_FOUND",message:"The data item ID passed was not recognized as valid by a WMI data provider."},"0x0000106B":{code:"ERROR_WMI_TRY_AGAIN",message:"The WMI request could not be completed and should be retried."},"0x0000106C":{code:"ERROR_WMI_DP_NOT_FOUND",message:"The WMI data provider could not be located."},"0x0000106D":{code:"ERROR_WMI_UNRESOLVED_INSTANCE_REF",message:"The WMI data provider references an instance set that has not been registered."},"0x0000106E":{code:"ERROR_WMI_ALREADY_ENABLED",message:"The WMI data block or event notification has already been enabled."},"0x0000106F":{code:"ERROR_WMI_GUID_DISCONNECTED",message:"The WMI data block is no longer available."},"0x00001070":{code:"ERROR_WMI_SERVER_UNAVAILABLE",message:"The WMI data service is not available."},"0x00001071":{code:"ERROR_WMI_DP_FAILED",message:"The WMI data provider failed to carry out the request."},"0x00001072":{code:"ERROR_WMI_INVALID_MOF",message:"The WMI Managed Object Format (MOF) information is not valid."},"0x00001073":{code:"ERROR_WMI_INVALID_REGINFO",message:"The WMI registration information is not valid."},"0x00001074":{code:"ERROR_WMI_ALREADY_DISABLED",message:"The WMI data block or event notification has already been disabled."},"0x00001075":{code:"ERROR_WMI_READ_ONLY",message:"The WMI data item or data block is read-only."},"0x00001076":{code:"ERROR_WMI_SET_FAILURE",message:"The WMI data item or data block could not be changed."},"0x000010CC":{code:"ERROR_INVALID_MEDIA",message:"The media identifier does not represent a valid medium."},"0x000010CD":{code:"ERROR_INVALID_LIBRARY",message:"The library identifier does not represent a valid library."},"0x000010CE":{code:"ERROR_INVALID_MEDIA_POOL",message:"The media pool identifier does not represent a valid media pool."},"0x000010CF":{code:"ERROR_DRIVE_MEDIA_MISMATCH",message:"The drive and medium are not compatible, or they exist in different libraries."},"0x000010D0":{code:"ERROR_MEDIA_OFFLINE",message:"The medium currently exists in an offline library and must be online to perform this operation."},"0x000010D1":{code:"ERROR_LIBRARY_OFFLINE",message:"The operation cannot be performed on an offline library."},"0x000010D2":{code:"ERROR_EMPTY",message:"The library, drive, or media pool is empty."},"0x000010D3":{code:"ERROR_NOT_EMPTY",message:"The library, drive, or media pool must be empty to perform this operation."},"0x000010D4":{code:"ERROR_MEDIA_UNAVAILABLE",message:"No media is currently available in this media pool or library."},"0x000010D5":{code:"ERROR_RESOURCE_DISABLED",message:"A resource required for this operation is disabled."},"0x000010D6":{code:"ERROR_INVALID_CLEANER",message:"The media identifier does not represent a valid cleaner."},"0x000010D7":{code:"ERROR_UNABLE_TO_CLEAN",message:"The drive cannot be cleaned or does not support cleaning."},"0x000010D8":{code:"ERROR_OBJECT_NOT_FOUND",message:"The object identifier does not represent a valid object."},"0x000010D9":{code:"ERROR_DATABASE_FAILURE",message:"Unable to read from or write to the database."},"0x000010DA":{code:"ERROR_DATABASE_FULL",message:"The database is full."},"0x000010DB":{code:"ERROR_MEDIA_INCOMPATIBLE",message:"The medium is not compatible with the device or media pool."},"0x000010DC":{code:"ERROR_RESOURCE_NOT_PRESENT",message:"The resource required for this operation does not exist."},"0x000010DD":{code:"ERROR_INVALID_OPERATION",message:"The operation identifier is not valid."},"0x000010DE":{code:"ERROR_MEDIA_NOT_AVAILABLE",message:"The media is not mounted or ready for use."},"0x000010DF":{code:"ERROR_DEVICE_NOT_AVAILABLE",message:"The device is not ready for use."},"0x000010E0":{code:"ERROR_REQUEST_REFUSED",message:"The operator or administrator has refused the request."},"0x000010E1":{code:"ERROR_INVALID_DRIVE_OBJECT",message:"The drive identifier does not represent a valid drive."},"0x000010E2":{code:"ERROR_LIBRARY_FULL",message:"Library is full. No slot is available for use."},"0x000010E3":{code:"ERROR_MEDIUM_NOT_ACCESSIBLE",message:"The transport cannot access the medium."},"0x000010E4":{code:"ERROR_UNABLE_TO_LOAD_MEDIUM",message:"Unable to load the medium into the drive."},"0x000010E5":{code:"ERROR_UNABLE_TO_INVENTORY_DRIVE",message:"Unable to retrieve the drive status."},"0x000010E6":{code:"ERROR_UNABLE_TO_INVENTORY_SLOT",message:"Unable to retrieve the slot status."},"0x000010E7":{code:"ERROR_UNABLE_TO_INVENTORY_TRANSPORT",message:"Unable to retrieve status about the transport."},"0x000010E8":{code:"ERROR_TRANSPORT_FULL",message:"Cannot use the transport because it is already in use."},"0x000010E9":{code:"ERROR_CONTROLLING_IEPORT",message:"Unable to open or close the inject/eject port."},"0x000010EA":{code:"ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA",message:"Unable to eject the medium because it is in a drive."},"0x000010EB":{code:"ERROR_CLEANER_SLOT_SET",message:"A cleaner slot is already reserved."},"0x000010EC":{code:"ERROR_CLEANER_SLOT_NOT_SET",message:"A cleaner slot is not reserved."},"0x000010ED":{code:"ERROR_CLEANER_CARTRIDGE_SPENT",message:"The cleaner cartridge has performed the maximum number of drive cleanings."},"0x000010EE":{code:"ERROR_UNEXPECTED_OMID",message:"Unexpected on-medium identifier."},"0x000010EF":{code:"ERROR_CANT_DELETE_LAST_ITEM",message:"The last remaining item in this group or resource cannot be deleted."},"0x000010F0":{code:"ERROR_MESSAGE_EXCEEDS_MAX_SIZE",message:"The message provided exceeds the maximum size allowed for this parameter."},"0x000010F1":{code:"ERROR_VOLUME_CONTAINS_SYS_FILES",message:"The volume contains system or paging files."},"0x000010F2":{code:"ERROR_INDIGENOUS_TYPE",message:"The media type cannot be removed from this library because at least one drive in the library reports it can support this media type."},"0x000010F3":{code:"ERROR_NO_SUPPORTING_DRIVES",message:"This offline media cannot be mounted on this system because no enabled drives are present that can be used."},"0x000010F4":{code:"ERROR_CLEANER_CARTRIDGE_INSTALLED",message:"A cleaner cartridge is present in the tape library."},"0x000010F5":{code:"ERROR_IEPORT_FULL",message:"Cannot use the IEport because it is not empty."},"0x000010FE":{code:"ERROR_FILE_OFFLINE",message:"The remote storage service was not able to recall the file."},"0x000010FF":{code:"ERROR_REMOTE_STORAGE_NOT_ACTIVE",message:"The remote storage service is not operational at this time."},"0x00001100":{code:"ERROR_REMOTE_STORAGE_MEDIA_ERROR",message:"The remote storage service encountered a media error."},"0x00001126":{code:"ERROR_NOT_A_REPARSE_POINT",message:"The file or directory is not a reparse point."},"0x00001127":{code:"ERROR_REPARSE_ATTRIBUTE_CONFLICT",message:"The reparse point attribute cannot be set because it conflicts with an existing attribute."},"0x00001128":{code:"ERROR_INVALID_REPARSE_DATA",message:"The data present in the reparse point buffer is invalid."},"0x00001129":{code:"ERROR_REPARSE_TAG_INVALID",message:"The tag present in the reparse point buffer is invalid."},"0x0000112A":{code:"ERROR_REPARSE_TAG_MISMATCH",message:"There is a mismatch between the tag specified in the request and the tag present in the reparse point."},"0x00001194":{code:"ERROR_VOLUME_NOT_SIS_ENABLED",message:"Single Instance Storage (SIS) is not available on this volume."},"0x00001389":{code:"ERROR_DEPENDENT_RESOURCE_EXISTS",message:"The operation cannot be completed because other resources depend on this resource."},"0x0000138A":{code:"ERROR_DEPENDENCY_NOT_FOUND",message:"The cluster resource dependency cannot be found."},"0x0000138B":{code:"ERROR_DEPENDENCY_ALREADY_EXISTS",message:"The cluster resource cannot be made dependent on the specified resource because it is already dependent."},"0x0000138C":{code:"ERROR_RESOURCE_NOT_ONLINE",message:"The cluster resource is not online."},"0x0000138D":{code:"ERROR_HOST_NODE_NOT_AVAILABLE",message:"A cluster node is not available for this operation."},"0x0000138E":{code:"ERROR_RESOURCE_NOT_AVAILABLE",message:"The cluster resource is not available."},"0x0000138F":{code:"ERROR_RESOURCE_NOT_FOUND",message:"The cluster resource could not be found."},"0x00001390":{code:"ERROR_SHUTDOWN_CLUSTER",message:"The cluster is being shut down."},"0x00001391":{code:"ERROR_CANT_EVICT_ACTIVE_NODE",message:"A cluster node cannot be evicted from the cluster unless the node is down or it is the last node."},"0x00001392":{code:"ERROR_OBJECT_ALREADY_EXISTS",message:"The object already exists."},"0x00001393":{code:"ERROR_OBJECT_IN_LIST",message:"The object is already in the list."},"0x00001394":{code:"ERROR_GROUP_NOT_AVAILABLE",message:"The cluster group is not available for any new requests."},"0x00001395":{code:"ERROR_GROUP_NOT_FOUND",message:"The cluster group could not be found."},"0x00001396":{code:"ERROR_GROUP_NOT_ONLINE",message:"The operation could not be completed because the cluster group is not online."},"0x00001397":{code:"ERROR_HOST_NODE_NOT_RESOURCE_OWNER",message:"The operation failed because either the specified cluster node is not the owner of the resource, or the node is not a possible owner of the resource."},"0x00001398":{code:"ERROR_HOST_NODE_NOT_GROUP_OWNER",message:"The operation failed because either the specified cluster node is not the owner of the group, or the node is not a possible owner of the group."},"0x00001399":{code:"ERROR_RESMON_CREATE_FAILED",message:"The cluster resource could not be created in the specified resource monitor."},"0x0000139A":{code:"ERROR_RESMON_ONLINE_FAILED",message:"The cluster resource could not be brought online by the resource monitor."},"0x0000139B":{code:"ERROR_RESOURCE_ONLINE",message:"The operation could not be completed because the cluster resource is online."},"0x0000139C":{code:"ERROR_QUORUM_RESOURCE",message:"The cluster resource could not be deleted or brought offline because it is the quorum resource."},"0x0000139D":{code:"ERROR_NOT_QUORUM_CAPABLE",message:"The cluster could not make the specified resource a quorum resource because it is not capable of being a quorum resource."},"0x0000139E":{code:"ERROR_CLUSTER_SHUTTING_DOWN",message:"The cluster software is shutting down."},"0x0000139F":{code:"ERROR_INVALID_STATE",message:"The group or resource is not in the correct state to perform the requested operation."},"0x000013A0":{code:"ERROR_RESOURCE_PROPERTIES_STORED",message:"The properties were stored but not all changes will take effect until the next time the resource is brought online."},"0x000013A1":{code:"ERROR_NOT_QUORUM_CLASS",message:"The cluster could not make the specified resource a quorum resource because it does not belong to a shared storage class."},"0x000013A2":{code:"ERROR_CORE_RESOURCE",message:"The cluster resource could not be deleted because it is a core resource."},"0x000013A3":{code:"ERROR_QUORUM_RESOURCE_ONLINE_FAILED",message:"The quorum resource failed to come online."},"0x000013A4":{code:"ERROR_QUORUMLOG_OPEN_FAILED",message:"The quorum log could not be created or mounted successfully."},"0x000013A5":{code:"ERROR_CLUSTERLOG_CORRUPT",message:"The cluster log is corrupt."},"0x000013A6":{code:"ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE",message:"The record could not be written to the cluster log because it exceeds the maximum size."},"0x000013A7":{code:"ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE",message:"The cluster log exceeds its maximum size."},"0x000013A8":{code:"ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND",message:"No checkpoint record was found in the cluster log."},"0x000013A9":{code:"ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE",message:"The minimum required disk space needed for logging is not available."},"0x000013AA":{code:"ERROR_QUORUM_OWNER_ALIVE",message:"The cluster node failed to take control of the quorum resource because the resource is owned by another active node."},"0x000013AB":{code:"ERROR_NETWORK_NOT_AVAILABLE",message:"A cluster network is not available for this operation."},"0x000013AC":{code:"ERROR_NODE_NOT_AVAILABLE",message:"A cluster node is not available for this operation."},"0x000013AD":{code:"ERROR_ALL_NODES_NOT_AVAILABLE",message:"All cluster nodes must be running to perform this operation."},"0x000013AE":{code:"ERROR_RESOURCE_FAILED",message:"A cluster resource failed."},"0x000013AF":{code:"ERROR_CLUSTER_INVALID_NODE",message:"The cluster node is not valid."},"0x000013B0":{code:"ERROR_CLUSTER_NODE_EXISTS",message:"The cluster node already exists."},"0x000013B1":{code:"ERROR_CLUSTER_JOIN_IN_PROGRESS",message:"A node is in the process of joining the cluster."},"0x000013B2":{code:"ERROR_CLUSTER_NODE_NOT_FOUND",message:"The cluster node was not found."},"0x000013B3":{code:"ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND",message:"The cluster local node information was not found."},"0x000013B4":{code:"ERROR_CLUSTER_NETWORK_EXISTS",message:"The cluster network already exists."},"0x000013B5":{code:"ERROR_CLUSTER_NETWORK_NOT_FOUND",message:"The cluster network was not found."},"0x000013B6":{code:"ERROR_CLUSTER_NETINTERFACE_EXISTS",message:"The cluster network interface already exists."},"0x000013B7":{code:"ERROR_CLUSTER_NETINTERFACE_NOT_FOUND",message:"The cluster network interface was not found."},"0x000013B8":{code:"ERROR_CLUSTER_INVALID_REQUEST",message:"The cluster request is not valid for this object."},"0x000013B9":{code:"ERROR_CLUSTER_INVALID_NETWORK_PROVIDER",message:"The cluster network provider is not valid."},"0x000013BA":{code:"ERROR_CLUSTER_NODE_DOWN",message:"The cluster node is down."},"0x000013BB":{code:"ERROR_CLUSTER_NODE_UNREACHABLE",message:"The cluster node is not reachable."},"0x000013BC":{code:"ERROR_CLUSTER_NODE_NOT_MEMBER",message:"The cluster node is not a member of the cluster."},"0x000013BD":{code:"ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS",message:"A cluster join operation is not in progress."},"0x000013BE":{code:"ERROR_CLUSTER_INVALID_NETWORK",message:"The cluster network is not valid."},"0x000013C0":{code:"ERROR_CLUSTER_NODE_UP",message:"The cluster node is up."},"0x000013C1":{code:"ERROR_CLUSTER_IPADDR_IN_USE",message:"The cluster IP address is already in use."},"0x000013C2":{code:"ERROR_CLUSTER_NODE_NOT_PAUSED",message:"The cluster node is not paused."},"0x000013C3":{code:"ERROR_CLUSTER_NO_SECURITY_CONTEXT",message:"No cluster security context is available."},"0x000013C4":{code:"ERROR_CLUSTER_NETWORK_NOT_INTERNAL",message:"The cluster network is not configured for internal cluster communication."},"0x000013C5":{code:"ERROR_CLUSTER_NODE_ALREADY_UP",message:"The cluster node is already up."},"0x000013C6":{code:"ERROR_CLUSTER_NODE_ALREADY_DOWN",message:"The cluster node is already down."},"0x000013C7":{code:"ERROR_CLUSTER_NETWORK_ALREADY_ONLINE",message:"The cluster network is already online."},"0x000013C8":{code:"ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE",message:"The cluster network is already offline."},"0x000013C9":{code:"ERROR_CLUSTER_NODE_ALREADY_MEMBER",message:"The cluster node is already a member of the cluster."},"0x000013CA":{code:"ERROR_CLUSTER_LAST_INTERNAL_NETWORK",message:"The cluster network is the only one configured for internal cluster communication between two or more active cluster nodes. The internal communication capability cannot be removed from the network."},"0x000013CB":{code:"ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS",message:"One or more cluster resources depend on the network to provide service to clients. The client access capability cannot be removed from the network."},"0x000013CC":{code:"ERROR_INVALID_OPERATION_ON_QUORUM",message:"This operation cannot be performed on the cluster resource because it is the quorum resource. You may not bring the quorum resource offline or modify its possible owners list."},"0x000013CD":{code:"ERROR_DEPENDENCY_NOT_ALLOWED",message:"The cluster quorum resource is not allowed to have any dependencies."},"0x000013CE":{code:"ERROR_CLUSTER_NODE_PAUSED",message:"The cluster node is paused."},"0x000013CF":{code:"ERROR_NODE_CANT_HOST_RESOURCE",message:"The cluster resource cannot be brought online. The owner node cannot run this resource."},"0x000013D0":{code:"ERROR_CLUSTER_NODE_NOT_READY",message:"The cluster node is not ready to perform the requested operation."},"0x000013D1":{code:"ERROR_CLUSTER_NODE_SHUTTING_DOWN",message:"The cluster node is shutting down."},"0x000013D2":{code:"ERROR_CLUSTER_JOIN_ABORTED",message:"The cluster join operation was aborted."},"0x000013D3":{code:"ERROR_CLUSTER_INCOMPATIBLE_VERSIONS",message:"The cluster join operation failed due to incompatible software versions between the joining node and its sponsor."},"0x000013D4":{code:"ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED",message:"This resource cannot be created because the cluster has reached the limit on the number of resources it can monitor."},"0x000013D5":{code:"ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED",message:"The system configuration changed during the cluster join or form operation. The join or form operation was aborted."},"0x000013D6":{code:"ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND",message:"The specified resource type was not found."},"0x000013D7":{code:"ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED",message:"The specified node does not support a resource of this type. This may be due to version inconsistencies or due to the absence of the resource DLL on this node."},"0x000013D8":{code:"ERROR_CLUSTER_RESNAME_NOT_FOUND",message:"The specified resource name is not supported by this resource DLL. This may be due to a bad (or changed) name supplied to the resource DLL."},"0x000013D9":{code:"ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED",message:"No authentication package could be registered with the RPC server."},"0x000013DA":{code:"ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST",message:"You cannot bring the group online because the owner of the group is not in the preferred list for the group. To change the owner node for the group, move the group."},"0x000013DB":{code:"ERROR_CLUSTER_DATABASE_SEQMISMATCH",message:"The join operation failed because the cluster database sequence number has changed or is incompatible with the locker node. This may happen during a join operation if the cluster database was changing during the join."},"0x000013DC":{code:"ERROR_RESMON_INVALID_STATE",message:"The resource monitor will not allow the fail operation to be performed while the resource is in its current state. This may happen if the resource is in a pending state."},"0x000013DD":{code:"ERROR_CLUSTER_GUM_NOT_LOCKER",message:"A non-locker code received a request to reserve the lock for making global updates."},"0x000013DE":{code:"ERROR_QUORUM_DISK_NOT_FOUND",message:"The quorum disk could not be located by the cluster service."},"0x000013DF":{code:"ERROR_DATABASE_BACKUP_CORRUPT",message:"The backed-up cluster database is possibly corrupt."},"0x000013E0":{code:"ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT",message:"A DFS root already exists in this cluster node."},"0x000013E1":{code:"ERROR_RESOURCE_PROPERTY_UNCHANGEABLE",message:"An attempt to modify a resource property failed because it conflicts with another existing property."},"0x00001702":{code:"ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE",message:"An operation was attempted that is incompatible with the current membership state of the node."},"0x00001703":{code:"ERROR_CLUSTER_QUORUMLOG_NOT_FOUND",message:"The quorum resource does not contain the quorum log."},"0x00001704":{code:"ERROR_CLUSTER_MEMBERSHIP_HALT",message:"The membership engine requested shutdown of the cluster service on this node."},"0x00001705":{code:"ERROR_CLUSTER_INSTANCE_ID_MISMATCH",message:"The join operation failed because the cluster instance ID of the joining node does not match the cluster instance ID of the sponsor node."},"0x00001706":{code:"ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP",message:"A matching cluster network for the specified IP address could not be found."},"0x00001707":{code:"ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH",message:"The actual data type of the property did not match the expected data type of the property."},"0x00001708":{code:"ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP",message:"The cluster node was evicted from the cluster successfully, but the node was not cleaned up. To determine what clean-up steps failed and how to recover, see the Failover Clustering application event log using Event Viewer."},"0x00001709":{code:"ERROR_CLUSTER_PARAMETER_MISMATCH",message:"Two or more parameter values specified for a resource's properties are in conflict."},"0x0000170A":{code:"ERROR_NODE_CANNOT_BE_CLUSTERED",message:"This computer cannot be made a member of a cluster."},"0x0000170B":{code:"ERROR_CLUSTER_WRONG_OS_VERSION",message:"This computer cannot be made a member of a cluster because it does not have the correct version of Windows installed."},"0x0000170C":{code:"ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME",message:"A cluster cannot be created with the specified cluster name because that cluster name is already in use. Specify a different name for the cluster."},"0x0000170D":{code:"ERROR_CLUSCFG_ALREADY_COMMITTED",message:"The cluster configuration action has already been committed."},"0x0000170E":{code:"ERROR_CLUSCFG_ROLLBACK_FAILED",message:"The cluster configuration action could not be rolled back."},"0x0000170F":{code:"ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT",message:"The drive letter assigned to a system disk on one node conflicted with the drive letter assigned to a disk on another node."},"0x00001710":{code:"ERROR_CLUSTER_OLD_VERSION",message:"One or more nodes in the cluster are running a version of Windows that does not support this operation."},"0x00001711":{code:"ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME",message:"The name of the corresponding computer account does not match the network name for this resource."},"0x00001712":{code:"ERROR_CLUSTER_NO_NET_ADAPTERS",message:"No network adapters are available."},"0x00001713":{code:"ERROR_CLUSTER_POISONED",message:"The cluster node has been poisoned."},"0x00001714":{code:"ERROR_CLUSTER_GROUP_MOVING",message:"The group is unable to accept the request because it is moving to another node."},"0x00001715":{code:"ERROR_CLUSTER_RESOURCE_TYPE_BUSY",message:"The resource type cannot accept the request because it is too busy performing another operation."},"0x00001716":{code:"ERROR_RESOURCE_CALL_TIMED_OUT",message:"The call to the cluster resource DLL timed out."},"0x00001717":{code:"ERROR_INVALID_CLUSTER_IPV6_ADDRESS",message:"The address is not valid for an IPv6 Address resource. A global IPv6 address is required, and it must match a cluster network. Compatibility addresses are not permitted."},"0x00001718":{code:"ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION",message:"An internal cluster error occurred. A call to an invalid function was attempted."},"0x00001719":{code:"ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS",message:"A parameter value is out of acceptable range."},"0x0000171A":{code:"ERROR_CLUSTER_PARTIAL_SEND",message:"A network error occurred while sending data to another node in the cluster. The number of bytes transmitted was less than required."},"0x0000171B":{code:"ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION",message:"An invalid cluster registry operation was attempted."},"0x0000171C":{code:"ERROR_CLUSTER_INVALID_STRING_TERMINATION",message:"An input string of characters is not properly terminated."},"0x0000171D":{code:"ERROR_CLUSTER_INVALID_STRING_FORMAT",message:"An input string of characters is not in a valid format for the data it represents."},"0x0000171E":{code:"ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS",message:"An internal cluster error occurred. A cluster database transaction was attempted while a transaction was already in progress."},"0x0000171F":{code:"ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS",message:"An internal cluster error occurred. There was an attempt to commit a cluster database transaction while no transaction was in progress."},"0x00001720":{code:"ERROR_CLUSTER_NULL_DATA",message:"An internal cluster error occurred. Data was not properly initialized."},"0x00001721":{code:"ERROR_CLUSTER_PARTIAL_READ",message:"An error occurred while reading from a stream of data. An unexpected number of bytes was returned."},"0x00001722":{code:"ERROR_CLUSTER_PARTIAL_WRITE",message:"An error occurred while writing to a stream of data. The required number of bytes could not be written."},"0x00001723":{code:"ERROR_CLUSTER_CANT_DESERIALIZE_DATA",message:"An error occurred while deserializing a stream of cluster data."},"0x00001724":{code:"ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT",message:"One or more property values for this resource are in conflict with one or more property values associated with its dependent resources."},"0x00001725":{code:"ERROR_CLUSTER_NO_QUORUM",message:"A quorum of cluster nodes was not present to form a cluster."},"0x00001726":{code:"ERROR_CLUSTER_INVALID_IPV6_NETWORK",message:"The cluster network is not valid for an IPv6 address resource, or it does not match the configured address."},"0x00001727":{code:"ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK",message:"The cluster network is not valid for an IPv6 tunnel resource. Check the configuration of the IP Address resource on which the IPv6 tunnel resource depends."},"0x00001728":{code:"ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP",message:"Quorum resource cannot reside in the available storage group."},"0x00001770":{code:"ERROR_ENCRYPTION_FAILED",message:"The specified file could not be encrypted."},"0x00001771":{code:"ERROR_DECRYPTION_FAILED",message:"The specified file could not be decrypted."},"0x00001772":{code:"ERROR_FILE_ENCRYPTED",message:"The specified file is encrypted and the user does not have the ability to decrypt it."},"0x00001773":{code:"ERROR_NO_RECOVERY_POLICY",message:"There is no valid encryption recovery policy configured for this system."},"0x00001774":{code:"ERROR_NO_EFS",message:"The required encryption driver is not loaded for this system."},"0x00001775":{code:"ERROR_WRONG_EFS",message:"The file was encrypted with a different encryption driver than is currently loaded."},"0x00001776":{code:"ERROR_NO_USER_KEYS",message:"There are no Encrypting File System (EFS) keys defined for the user."},"0x00001777":{code:"ERROR_FILE_NOT_ENCRYPTED",message:"The specified file is not encrypted."},"0x00001778":{code:"ERROR_NOT_EXPORT_FORMAT",message:"The specified file is not in the defined EFS export format."},"0x00001779":{code:"ERROR_FILE_READ_ONLY",message:"The specified file is read-only."},"0x0000177A":{code:"ERROR_DIR_EFS_DISALLOWED",message:"The directory has been disabled for encryption."},"0x0000177B":{code:"ERROR_EFS_SERVER_NOT_TRUSTED",message:"The server is not trusted for remote encryption operation."},"0x0000177C":{code:"ERROR_BAD_RECOVERY_POLICY",message:"Recovery policy configured for this system contains invalid recovery certificate."},"0x0000177D":{code:"ERROR_EFS_ALG_BLOB_TOO_BIG",message:"The encryption algorithm used on the source file needs a bigger key buffer than the one on the destination file."},"0x0000177E":{code:"ERROR_VOLUME_NOT_SUPPORT_EFS",message:"The disk partition does not support file encryption."},"0x0000177F":{code:"ERROR_EFS_DISABLED",message:"This machine is disabled for file encryption."},"0x00001780":{code:"ERROR_EFS_VERSION_NOT_SUPPORT",message:"A newer system is required to decrypt this encrypted file."},"0x00001781":{code:"ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE",message:"The remote server sent an invalid response for a file being opened with client-side encryption."},"0x00001782":{code:"ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER",message:"Client-side encryption is not supported by the remote server even though it claims to support it."},"0x00001783":{code:"ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE",message:"File is encrypted and should be opened in client-side encryption mode."},"0x00001784":{code:"ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE",message:"A new encrypted file is being created and a $EFS needs to be provided."},"0x00001785":{code:"ERROR_CS_ENCRYPTION_FILE_NOT_CSE",message:"The SMB client requested a client-side extension (CSE) file system control (FSCTL) on a non-CSE file."},"0x000017E6":{code:"ERROR_NO_BROWSER_SERVERS_FOUND",message:"The list of servers for this workgroup is not currently available"},"0x00001838":{code:"SCHED_E_SERVICE_NOT_LOCALSYSTEM",message:"The Task Scheduler service must be configured to run in the System account to function properly. Individual tasks may be configured to run in other accounts."},"0x000019C8":{code:"ERROR_LOG_SECTOR_INVALID",message:"The log service encountered an invalid log sector."},"0x000019C9":{code:"ERROR_LOG_SECTOR_PARITY_INVALID",message:"The log service encountered a log sector with invalid block parity."},"0x000019CA":{code:"ERROR_LOG_SECTOR_REMAPPED",message:"The log service encountered a remapped log sector."},"0x000019CB":{code:"ERROR_LOG_BLOCK_INCOMPLETE",message:"The log service encountered a partial or incomplete log block."},"0x000019CC":{code:"ERROR_LOG_INVALID_RANGE",message:"The log service encountered an attempt to access data outside the active log range."},"0x000019CD":{code:"ERROR_LOG_BLOCKS_EXHAUSTED",message:"The log service user marshaling buffers are exhausted."},"0x000019CE":{code:"ERROR_LOG_READ_CONTEXT_INVALID",message:"The log service encountered an attempt to read from a marshaling area with an invalid read context."},"0x000019CF":{code:"ERROR_LOG_RESTART_INVALID",message:"The log service encountered an invalid log restart area."},"0x000019D0":{code:"ERROR_LOG_BLOCK_VERSION",message:"The log service encountered an invalid log block version."},"0x000019D1":{code:"ERROR_LOG_BLOCK_INVALID",message:"The log service encountered an invalid log block."},"0x000019D2":{code:"ERROR_LOG_READ_MODE_INVALID",message:"The log service encountered an attempt to read the log with an invalid read mode."},"0x000019D3":{code:"ERROR_LOG_NO_RESTART",message:"The log service encountered a log stream with no restart area."},"0x000019D4":{code:"ERROR_LOG_METADATA_CORRUPT",message:"The log service encountered a corrupted metadata file."},"0x000019D5":{code:"ERROR_LOG_METADATA_INVALID",message:"The log service encountered a metadata file that could not be created by the log file system."},"0x000019D6":{code:"ERROR_LOG_METADATA_INCONSISTENT",message:"The log service encountered a metadata file with inconsistent data."},"0x000019D7":{code:"ERROR_LOG_RESERVATION_INVALID",message:"The log service encountered an attempt to erroneous allocate or dispose reservation space."},"0x000019D8":{code:"ERROR_LOG_CANT_DELETE",message:"The log service cannot delete a log file or file system container."},"0x000019D9":{code:"ERROR_LOG_CONTAINER_LIMIT_EXCEEDED",message:"The log service has reached the maximum allowable containers allocated to a log file."},"0x000019DA":{code:"ERROR_LOG_START_OF_LOG",message:"The log service has attempted to read or write backward past the start of the log."},"0x000019DB":{code:"ERROR_LOG_POLICY_ALREADY_INSTALLED",message:"The log policy could not be installed because a policy of the same type is already present."},"0x000019DC":{code:"ERROR_LOG_POLICY_NOT_INSTALLED",message:"The log policy in question was not installed at the time of the request."},"0x000019DD":{code:"ERROR_LOG_POLICY_INVALID",message:"The installed set of policies on the log is invalid."},"0x000019DE":{code:"ERROR_LOG_POLICY_CONFLICT",message:"A policy on the log in question prevented the operation from completing."},"0x000019DF":{code:"ERROR_LOG_PINNED_ARCHIVE_TAIL",message:"Log space cannot be reclaimed because the log is pinned by the archive tail."},"0x000019E0":{code:"ERROR_LOG_RECORD_NONEXISTENT",message:"The log record is not a record in the log file."},"0x000019E1":{code:"ERROR_LOG_RECORDS_RESERVED_INVALID",message:"The number of reserved log records or the adjustment of the number of reserved log records is invalid."},"0x000019E2":{code:"ERROR_LOG_SPACE_RESERVED_INVALID",message:"The reserved log space or the adjustment of the log space is invalid."},"0x000019E3":{code:"ERROR_LOG_TAIL_INVALID",message:"A new or existing archive tail or base of the active log is invalid."},"0x000019E4":{code:"ERROR_LOG_FULL",message:"The log space is exhausted."},"0x000019E5":{code:"ERROR_COULD_NOT_RESIZE_LOG",message:"The log could not be set to the requested size."},"0x000019E6":{code:"ERROR_LOG_MULTIPLEXED",message:"The log is multiplexed; no direct writes to the physical log are allowed."},"0x000019E7":{code:"ERROR_LOG_DEDICATED",message:"The operation failed because the log is a dedicated log."},"0x000019E8":{code:"ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS",message:"The operation requires an archive context."},"0x000019E9":{code:"ERROR_LOG_ARCHIVE_IN_PROGRESS",message:"Log archival is in progress."},"0x000019EA":{code:"ERROR_LOG_EPHEMERAL",message:"The operation requires a non-ephemeral log, but the log is ephemeral."},"0x000019EB":{code:"ERROR_LOG_NOT_ENOUGH_CONTAINERS",message:"The log must have at least two containers before it can be read from or written to."},"0x000019EC":{code:"ERROR_LOG_CLIENT_ALREADY_REGISTERED",message:"A log client has already registered on the stream."},"0x000019ED":{code:"ERROR_LOG_CLIENT_NOT_REGISTERED",message:"A log client has not been registered on the stream."},"0x000019EE":{code:"ERROR_LOG_FULL_HANDLER_IN_PROGRESS",message:"A request has already been made to handle the log full condition."},"0x000019EF":{code:"ERROR_LOG_CONTAINER_READ_FAILED",message:"The log service encountered an error when attempting to read from a log container."},"0x000019F0":{code:"ERROR_LOG_CONTAINER_WRITE_FAILED",message:"The log service encountered an error when attempting to write to a log container."},"0x000019F1":{code:"ERROR_LOG_CONTAINER_OPEN_FAILED",message:"The log service encountered an error when attempting to open a log container."},"0x000019F2":{code:"ERROR_LOG_CONTAINER_STATE_INVALID",message:"The log service encountered an invalid container state when attempting a requested action."},"0x000019F3":{code:"ERROR_LOG_STATE_INVALID",message:"The log service is not in the correct state to perform a requested action."},"0x000019F4":{code:"ERROR_LOG_PINNED",message:"The log space cannot be reclaimed because the log is pinned."},"0x000019F5":{code:"ERROR_LOG_METADATA_FLUSH_FAILED",message:"The log metadata flush failed."},"0x000019F6":{code:"ERROR_LOG_INCONSISTENT_SECURITY",message:"Security on the log and its containers is inconsistent."},"0x000019F7":{code:"ERROR_LOG_APPENDED_FLUSH_FAILED",message:"Records were appended to the log or reservation changes were made, but the log could not be flushed."},"0x000019F8":{code:"ERROR_LOG_PINNED_RESERVATION",message:"The log is pinned due to reservation consuming most of the log space. Free some reserved records to make space available."},"0x00001A2C":{code:"ERROR_INVALID_TRANSACTION",message:"The transaction handle associated with this operation is not valid."},"0x00001A2D":{code:"ERROR_TRANSACTION_NOT_ACTIVE",message:"The requested operation was made in the context of a transaction that is no longer active."},"0x00001A2E":{code:"ERROR_TRANSACTION_REQUEST_NOT_VALID",message:"The requested operation is not valid on the transaction object in its current state."},"0x00001A2F":{code:"ERROR_TRANSACTION_NOT_REQUESTED",message:"The caller has called a response API, but the response is not expected because the transaction manager did not issue the corresponding request to the caller."},"0x00001A30":{code:"ERROR_TRANSACTION_ALREADY_ABORTED",message:"It is too late to perform the requested operation because the transaction has already been aborted."},"0x00001A31":{code:"ERROR_TRANSACTION_ALREADY_COMMITTED",message:"It is too late to perform the requested operation because the transaction has already been committed."},"0x00001A32":{code:"ERROR_TM_INITIALIZATION_FAILED",message:"The transaction manager was unable to be successfully initialized. Transacted operations are not supported."},"0x00001A33":{code:"ERROR_RESOURCEMANAGER_READ_ONLY",message:"The specified resource manager made no changes or updates to the resource under this transaction."},"0x00001A34":{code:"ERROR_TRANSACTION_NOT_JOINED",message:"The resource manager has attempted to prepare a transaction that it has not successfully joined."},"0x00001A35":{code:"ERROR_TRANSACTION_SUPERIOR_EXISTS",message:"The transaction object already has a superior enlistment, and the caller attempted an operation that would have created a new superior. Only a single superior enlistment is allowed."},"0x00001A36":{code:"ERROR_CRM_PROTOCOL_ALREADY_EXISTS",message:"The resource manager tried to register a protocol that already exists."},"0x00001A37":{code:"ERROR_TRANSACTION_PROPAGATION_FAILED",message:"The attempt to propagate the transaction failed."},"0x00001A38":{code:"ERROR_CRM_PROTOCOL_NOT_FOUND",message:"The requested propagation protocol was not registered as a CRM."},"0x00001A39":{code:"ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER",message:"The buffer passed in to PushTransaction or PullTransaction is not in a valid format."},"0x00001A3A":{code:"ERROR_CURRENT_TRANSACTION_NOT_VALID",message:"The current transaction context associated with the thread is not a valid handle to a transaction object."},"0x00001A3B":{code:"ERROR_TRANSACTION_NOT_FOUND",message:"The specified transaction object could not be opened because it was not found."},"0x00001A3C":{code:"ERROR_RESOURCEMANAGER_NOT_FOUND",message:"The specified resource manager object could not be opened because it was not found."},"0x00001A3D":{code:"ERROR_ENLISTMENT_NOT_FOUND",message:"The specified enlistment object could not be opened because it was not found."},"0x00001A3E":{code:"ERROR_TRANSACTIONMANAGER_NOT_FOUND",message:"The specified transaction manager object could not be opened because it was not found."},"0x00001A3F":{code:"ERROR_TRANSACTIONMANAGER_NOT_ONLINE",message:"The specified resource manager was unable to create an enlistment because its associated transaction manager is not online."},"0x00001A40":{code:"ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION",message:"The specified transaction manager was unable to create the objects contained in its log file in the ObjectB namespace. Therefore, the transaction manager was unable to recover."},"0x00001A90":{code:"ERROR_TRANSACTIONAL_CONFLICT",message:"The function attempted to use a name that is reserved for use by another transaction."},"0x00001A91":{code:"ERROR_RM_NOT_ACTIVE",message:"Transaction support within the specified file system resource manager is not started or was shut down due to an error."},"0x00001A92":{code:"ERROR_RM_METADATA_CORRUPT",message:"The metadata of the resource manager has been corrupted. The resource manager will not function."},"0x00001A93":{code:"ERROR_DIRECTORY_NOT_RM",message:"The specified directory does not contain a resource manager."},"0x00001A95":{code:"ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE",message:"The remote server or share does not support transacted file operations."},"0x00001A96":{code:"ERROR_LOG_RESIZE_INVALID_SIZE",message:"The requested log size is invalid."},"0x00001A97":{code:"ERROR_OBJECT_NO_LONGER_EXISTS",message:"The object (file, stream, link) corresponding to the handle has been deleted by a transaction savepoint rollback."},"0x00001A98":{code:"ERROR_STREAM_MINIVERSION_NOT_FOUND",message:"The specified file miniversion was not found for this transacted file open."},"0x00001A99":{code:"ERROR_STREAM_MINIVERSION_NOT_VALID",message:"The specified file miniversion was found but has been invalidated. The most likely cause is a transaction savepoint rollback."},"0x00001A9A":{code:"ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION",message:"A miniversion may only be opened in the context of the transaction that created it."},"0x00001A9B":{code:"ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT",message:"It is not possible to open a miniversion with modify access."},"0x00001A9C":{code:"ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS",message:"It is not possible to create any more miniversions for this stream."},"0x00001A9E":{code:"ERROR_REMOTE_FILE_VERSION_MISMATCH",message:"The remote server sent mismatching version numbers or FID for a file opened with transactions."},"0x00001A9F":{code:"ERROR_HANDLE_NO_LONGER_VALID",message:"The handle has been invalidated by a transaction. The most likely cause is the presence of memory mapping on a file, or an open handle when the transaction ended or rolled back to savepoint."},"0x00001AA0":{code:"ERROR_NO_TXF_METADATA",message:"There is no transaction metadata on the file."},"0x00001AA1":{code:"ERROR_LOG_CORRUPTION_DETECTED",message:"The log data is corrupt."},"0x00001AA2":{code:"ERROR_CANT_RECOVER_WITH_HANDLE_OPEN",message:"The file cannot be recovered because a handle is still open on it."},"0x00001AA3":{code:"ERROR_RM_DISCONNECTED",message:"The transaction outcome is unavailable because the resource manager responsible for it is disconnected."},"0x00001AA4":{code:"ERROR_ENLISTMENT_NOT_SUPERIOR",message:"The request was rejected because the enlistment in question is not a superior enlistment."},"0x00001AA5":{code:"ERROR_RECOVERY_NOT_NEEDED",message:"The transactional resource manager is already consistent. Recovery is not needed."},"0x00001AA6":{code:"ERROR_RM_ALREADY_STARTED",message:"The transactional resource manager has already been started."},"0x00001AA7":{code:"ERROR_FILE_IDENTITY_NOT_PERSISTENT",message:"The file cannot be opened in a transaction because its identity depends on the outcome of an unresolved transaction."},"0x00001AA8":{code:"ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY",message:"The operation cannot be performed because another transaction is depending on the fact that this property will not change."},"0x00001AA9":{code:"ERROR_CANT_CROSS_RM_BOUNDARY",message:"The operation would involve a single file with two transactional resource managers and is therefore not allowed."},"0x00001AAA":{code:"ERROR_TXF_DIR_NOT_EMPTY",message:"The $Txf directory must be empty for this operation to succeed."},"0x00001AAB":{code:"ERROR_INDOUBT_TRANSACTIONS_EXIST",message:"The operation would leave a transactional resource manager in an inconsistent state and is, therefore, not allowed."},"0x00001AAC":{code:"ERROR_TM_VOLATILE",message:"The operation could not be completed because the transaction manager does not have a log."},"0x00001AAD":{code:"ERROR_ROLLBACK_TIMER_EXPIRED",message:"A rollback could not be scheduled because a previously scheduled rollback has already been executed or is queued for execution."},"0x00001AAE":{code:"ERROR_TXF_ATTRIBUTE_CORRUPT",message:"The transactional metadata attribute on the file or directory is corrupt and unreadable."},"0x00001AAF":{code:"ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION",message:"The encryption operation could not be completed because a transaction is active."},"0x00001AB0":{code:"ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED",message:"This object is not allowed to be opened in a transaction."},"0x00001AB1":{code:"ERROR_LOG_GROWTH_FAILED",message:"An attempt to create space in the transactional resource manager's log failed. The failure status has been recorded in the event log."},"0x00001AB2":{code:"ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE",message:"Memory mapping (creating a mapped section) to a remote file under a transaction is not supported."},"0x00001AB3":{code:"ERROR_TXF_METADATA_ALREADY_PRESENT",message:"Transaction metadata is already present on this file and cannot be superseded."},"0x00001AB4":{code:"ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET",message:"A transaction scope could not be entered because the scope handler has not been initialized."},"0x00001AB5":{code:"ERROR_TRANSACTION_REQUIRED_PROMOTION",message:"Promotion was required to allow the resource manager to enlist, but the transaction was set to disallow it."},"0x00001AB6":{code:"ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION",message:"This file is open for modification in an unresolved transaction and may be opened for execution only by a transacted reader."},"0x00001AB7":{code:"ERROR_TRANSACTIONS_NOT_FROZEN",message:"The request to thaw frozen transactions was ignored because transactions were not previously frozen."},"0x00001AB8":{code:"ERROR_TRANSACTION_FREEZE_IN_PROGRESS",message:"Transactions cannot be frozen because a freeze is already in progress."},"0x00001AB9":{code:"ERROR_NOT_SNAPSHOT_VOLUME",message:"The target volume is not a snapshot volume. This operation is only valid on a volume mounted as a snapshot."},"0x00001ABA":{code:"ERROR_NO_SAVEPOINT_WITH_OPEN_FILES",message:"The savepoint operation failed because files are open on the transaction. This is not permitted."},"0x00001ABB":{code:"ERROR_DATA_LOST_REPAIR",message:"Windows has discovered corruption in a file, and that file has since been repaired. Data loss may have occurred."},"0x00001ABC":{code:"ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION",message:"The sparse operation could not be completed because a transaction is active on the file."},"0x00001ABD":{code:"ERROR_TM_IDENTITY_MISMATCH",message:"The call to create a transaction manager object failed because the Tm Identity stored in the logfile does not match the Tm Identity that was passed in as an argument."},"0x00001ABE":{code:"ERROR_FLOATED_SECTION",message:"I/O was attempted on a section object that has been floated as a result of a transaction ending. There is no valid data."},"0x00001ABF":{code:"ERROR_CANNOT_ACCEPT_TRANSACTED_WORK",message:"The transactional resource manager cannot currently accept transacted work due to a transient condition, such as low resources."},"0x00001AC0":{code:"ERROR_CANNOT_ABORT_TRANSACTIONS",message:"The transactional resource manager had too many transactions outstanding that could not be aborted. The transactional resource manager has been shut down."},"0x00001B59":{code:"ERROR_CTX_WINSTATION_NAME_INVALID",message:"The specified session name is invalid."},"0x00001B5A":{code:"ERROR_CTX_INVALID_PD",message:"The specified protocol driver is invalid."},"0x00001B5B":{code:"ERROR_CTX_PD_NOT_FOUND",message:"The specified protocol driver was not found in the system path."},"0x00001B5C":{code:"ERROR_CTX_WD_NOT_FOUND",message:"The specified terminal connection driver was not found in the system path."},"0x00001B5D":{code:"ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY",message:"A registry key for event logging could not be created for this session."},"0x00001B5E":{code:"ERROR_CTX_SERVICE_NAME_COLLISION",message:"A service with the same name already exists on the system."},"0x00001B5F":{code:"ERROR_CTX_CLOSE_PENDING",message:"A close operation is pending on the session."},"0x00001B60":{code:"ERROR_CTX_NO_OUTBUF",message:"There are no free output buffers available."},"0x00001B61":{code:"ERROR_CTX_MODEM_INF_NOT_FOUND",message:"The MODEM.INF file was not found."},"0x00001B62":{code:"ERROR_CTX_INVALID_MODEMNAME",message:"The modem name was not found in the MODEM.INF file."},"0x00001B63":{code:"ERROR_CTX_MODEM_RESPONSE_ERROR",message:"The modem did not accept the command sent to it. Verify that the configured modem name matches the attached modem."},"0x00001B64":{code:"ERROR_CTX_MODEM_RESPONSE_TIMEOUT",message:"The modem did not respond to the command sent to it. Verify that the modem is properly cabled and turned on."},"0x00001B65":{code:"ERROR_CTX_MODEM_RESPONSE_NO_CARRIER",message:"Carrier detect has failed or carrier has been dropped due to disconnect."},"0x00001B66":{code:"ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE",message:"Dial tone not detected within the required time. Verify that the phone cable is properly attached and functional."},"0x00001B67":{code:"ERROR_CTX_MODEM_RESPONSE_BUSY",message:"Busy signal detected at remote site on callback."},"0x00001B68":{code:"ERROR_CTX_MODEM_RESPONSE_VOICE",message:"Voice detected at remote site on callback."},"0x00001B69":{code:"ERROR_CTX_TD_ERROR",message:"Transport driver error."},"0x00001B6E":{code:"ERROR_CTX_WINSTATION_NOT_FOUND",message:"The specified session cannot be found."},"0x00001B6F":{code:"ERROR_CTX_WINSTATION_ALREADY_EXISTS",message:"The specified session name is already in use."},"0x00001B70":{code:"ERROR_CTX_WINSTATION_BUSY",message:"The requested operation cannot be completed because the terminal connection is currently busy processing a connect, disconnect, reset, or delete operation."},"0x00001B71":{code:"ERROR_CTX_BAD_VIDEO_MODE",message:"An attempt has been made to connect to a session whose video mode is not supported by the current client."},"0x00001B7B":{code:"ERROR_CTX_GRAPHICS_INVALID",message:"The application attempted to enable DOS graphics mode. DOS graphics mode is not supported."},"0x00001B7D":{code:"ERROR_CTX_LOGON_DISABLED",message:"Your interactive logon privilege has been disabled. Contact your administrator."},"0x00001B7E":{code:"ERROR_CTX_NOT_CONSOLE",message:"The requested operation can be performed only on the system console. This is most often the result of a driver or system DLL requiring direct console access."},"0x00001B80":{code:"ERROR_CTX_CLIENT_QUERY_TIMEOUT",message:"The client failed to respond to the server connect message."},"0x00001B81":{code:"ERROR_CTX_CONSOLE_DISCONNECT",message:"Disconnecting the console session is not supported."},"0x00001B82":{code:"ERROR_CTX_CONSOLE_CONNECT",message:"Reconnecting a disconnected session to the console is not supported."},"0x00001B84":{code:"ERROR_CTX_SHADOW_DENIED",message:"The request to control another session remotely was denied."},"0x00001B85":{code:"ERROR_CTX_WINSTATION_ACCESS_DENIED",message:"The requested session access is denied."},"0x00001B89":{code:"ERROR_CTX_INVALID_WD",message:"The specified terminal connection driver is invalid."},"0x00001B8A":{code:"ERROR_CTX_SHADOW_INVALID",message:"The requested session cannot be controlled remotely. This may be because the session is disconnected or does not currently have a user logged on."},"0x00001B8B":{code:"ERROR_CTX_SHADOW_DISABLED",message:"The requested session is not configured to allow remote control."},"0x00001B8C":{code:"ERROR_CTX_CLIENT_LICENSE_IN_USE",message:"Your request to connect to this terminal server has been rejected. Your terminal server client license number is currently being used by another user. Call your system administrator to obtain a unique license number."},"0x00001B8D":{code:"ERROR_CTX_CLIENT_LICENSE_NOT_SET",message:"Your request to connect to this terminal server has been rejected. Your terminal server client license number has not been entered for this copy of the terminal server client. Contact your system administrator."},"0x00001B8E":{code:"ERROR_CTX_LICENSE_NOT_AVAILABLE",message:"The number of connections to this computer is limited and all connections are in use right now. Try connecting later or contact your system administrator."},"0x00001B8F":{code:"ERROR_CTX_LICENSE_CLIENT_INVALID",message:"The client you are using is not licensed to use this system. Your logon request is denied."},"0x00001B90":{code:"ERROR_CTX_LICENSE_EXPIRED",message:"The system license has expired. Your logon request is denied."},"0x00001B91":{code:"ERROR_CTX_SHADOW_NOT_RUNNING",message:"Remote control could not be terminated because the specified session is not currently being remotely controlled."},"0x00001B92":{code:"ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE",message:"The remote control of the console was terminated because the display mode was changed. Changing the display mode in a remote control session is not supported."},"0x00001B93":{code:"ERROR_ACTIVATION_COUNT_EXCEEDED",message:"Activation has already been reset the maximum number of times for this installation. Your activation timer will not be cleared."},"0x00001B94":{code:"ERROR_CTX_WINSTATIONS_DISABLED",message:"Remote logons are currently disabled."},"0x00001B95":{code:"ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED",message:"You do not have the proper encryption level to access this session."},"0x00001B96":{code:"ERROR_CTX_SESSION_IN_USE",message:"The user %s\\%s is currently logged on to this computer. Only the current user or an administrator can log on to this computer."},"0x00001B97":{code:"ERROR_CTX_NO_FORCE_LOGOFF",message:"The user %s\\%s is already logged on to the console of this computer. You do not have permission to log in at this time. To resolve this issue, contact %s\\%s and have them log off."},"0x00001B98":{code:"ERROR_CTX_ACCOUNT_RESTRICTION",message:"Unable to log you on because of an account restriction."},"0x00001B99":{code:"ERROR_RDP_PROTOCOL_ERROR",message:"The RDP component %2 detected an error in the protocol stream and has disconnected the client."},"0x00001B9A":{code:"ERROR_CTX_CDM_CONNECT",message:"The Client Drive Mapping Service has connected on terminal connection."},"0x00001B9B":{code:"ERROR_CTX_CDM_DISCONNECT",message:"The Client Drive Mapping Service has disconnected on terminal connection."},"0x00001B9C":{code:"ERROR_CTX_SECURITY_LAYER_ERROR",message:"The terminal server security layer detected an error in the protocol stream and has disconnected the client."},"0x00001B9D":{code:"ERROR_TS_INCOMPATIBLE_SESSIONS",message:"The target session is incompatible with the current session."},"0x00001F41":{code:"FRS_ERR_INVALID_API_SEQUENCE",message:"The file replication service API was called incorrectly."},"0x00001F42":{code:"FRS_ERR_STARTING_SERVICE",message:"The file replication service cannot be started."},"0x00001F43":{code:"FRS_ERR_STOPPING_SERVICE",message:"The file replication service cannot be stopped."},"0x00001F44":{code:"FRS_ERR_INTERNAL_API",message:"The file replication service API terminated the request. The event log may have more information."},"0x00001F45":{code:"FRS_ERR_INTERNAL",message:"The file replication service terminated the request. The event log may have more information."},"0x00001F46":{code:"FRS_ERR_SERVICE_COMM",message:"The file replication service cannot be contacted. The event log may have more information."},"0x00001F47":{code:"FRS_ERR_INSUFFICIENT_PRIV",message:"The file replication service cannot satisfy the request because the user has insufficient privileges. The event log may have more information."},"0x00001F48":{code:"FRS_ERR_AUTHENTICATION",message:"The file replication service cannot satisfy the request because authenticated RPC is not available. The event log may have more information."},"0x00001F49":{code:"FRS_ERR_PARENT_INSUFFICIENT_PRIV",message:"The file replication service cannot satisfy the request because the user has insufficient privileges on the domain controller. The event log may have more information."},"0x00001F4A":{code:"FRS_ERR_PARENT_AUTHENTICATION",message:"The file replication service cannot satisfy the request because authenticated RPC is not available on the domain controller. The event log may have more information."},"0x00001F4B":{code:"FRS_ERR_CHILD_TO_PARENT_COMM",message:"The file replication service cannot communicate with the file replication service on the domain controller. The event log may have more information."},"0x00001F4C":{code:"FRS_ERR_PARENT_TO_CHILD_COMM",message:"The file replication service on the domain controller cannot communicate with the file replication service on this computer. The event log may have more information."},"0x00001F4D":{code:"FRS_ERR_SYSVOL_POPULATE",message:"The file replication service cannot populate the system volume because of an internal error. The event log may have more information."},"0x00001F4E":{code:"FRS_ERR_SYSVOL_POPULATE_TIMEOUT",message:"The file replication service cannot populate the system volume because of an internal time-out. The event log may have more information."},"0x00001F4F":{code:"FRS_ERR_SYSVOL_IS_BUSY",message:"The file replication service cannot process the request. The system volume is busy with a previous request."},"0x00001F50":{code:"FRS_ERR_SYSVOL_DEMOTE",message:"The file replication service cannot stop replicating the system volume because of an internal error. The event log may have more information."},"0x00001F51":{code:"FRS_ERR_INVALID_SERVICE_PARAMETER",message:"The file replication service detected an invalid parameter."},"0x00002008":{code:"ERROR_DS_NOT_INSTALLED",message:"An error occurred while installing the directory service. For more information, see the event log."},"0x00002009":{code:"ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY",message:"The directory service evaluated group memberships locally."},"0x0000200A":{code:"ERROR_DS_NO_ATTRIBUTE_OR_VALUE",message:"The specified directory service attribute or value does not exist."},"0x0000200B":{code:"ERROR_DS_INVALID_ATTRIBUTE_YNTAX",message:"The attribute syntax specified to the directory service is invalid."},"0x0000200C":{code:"ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED",message:"The attribute type specified to the directory service is not defined."},"0x0000200D":{code:"ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS",message:"The specified directory service attribute or value already exists."},"0x0000200E":{code:"ERROR_DS_BUSY",message:"The directory service is busy."},"0x0000200F":{code:"ERROR_DS_UNAVAILABLE",message:"The directory service is unavailable."},"0x00002010":{code:"ERROR_DS_NO_RIDS_ALLOCATED",message:"The directory service was unable to allocate a relative identifier."},"0x00002011":{code:"ERROR_DS_NO_MORE_RIDS",message:"The directory service has exhausted the pool of relative identifiers."},"0x00002012":{code:"ERROR_DS_INCORRECT_ROLE_OWNER",message:"The requested operation could not be performed because the directory service is not the master for that type of operation."},"0x00002013":{code:"ERROR_DS_RIDMGR_INIT_ERROR",message:"The directory service was unable to initialize the subsystem that allocates relative identifiers."},"0x00002014":{code:"ERROR_DS_OBJ_CLASS_VIOLATION",message:"The requested operation did not satisfy one or more constraints associated with the class of the object."},"0x00002015":{code:"ERROR_DS_CANT_ON_NON_LEAF",message:"The directory service can perform the requested operation only on a leaf object."},"0x00002016":{code:"ERROR_DS_CANT_ON_RDN",message:"The directory service cannot perform the requested operation on the relative distinguished name (RDN) attribute of an object."},"0x00002017":{code:"ERROR_DS_CANT_MOD_OBJ_CLASS",message:"The directory service detected an attempt to modify the object class of an object."},"0x00002018":{code:"ERROR_DS_CROSS_DOM_MOVE_ERROR",message:"The requested cross-domain move operation could not be performed."},"0x00002019":{code:"ERROR_DS_GC_NOT_AVAILABLE",message:"Unable to contact the global catalog (GC) server."},"0x0000201A":{code:"ERROR_SHARED_POLICY",message:"The policy object is shared and can only be modified at the root."},"0x0000201B":{code:"ERROR_POLICY_OBJECT_NOT_FOUND",message:"The policy object does not exist."},"0x0000201C":{code:"ERROR_POLICY_ONLY_IN_DS",message:"The requested policy information is only in the directory service."},"0x0000201D":{code:"ERROR_PROMOTION_ACTIVE",message:"A domain controller promotion is currently active."},"0x0000201E":{code:"ERROR_NO_PROMOTION_ACTIVE",message:"A domain controller promotion is not currently active."},"0x00002020":{code:"ERROR_DS_OPERATIONS_ERROR",message:"An operations error occurred."},"0x00002021":{code:"ERROR_DS_PROTOCOL_ERROR",message:"A protocol error occurred."},"0x00002022":{code:"ERROR_DS_TIMELIMIT_EXCEEDED",message:"The time limit for this request was exceeded."},"0x00002023":{code:"ERROR_DS_SIZELIMIT_EXCEEDED",message:"The size limit for this request was exceeded."},"0x00002024":{code:"ERROR_DS_ADMIN_LIMIT_EXCEEDED",message:"The administrative limit for this request was exceeded."},"0x00002025":{code:"ERROR_DS_COMPARE_FALSE",message:"The compare response was false."},"0x00002026":{code:"ERROR_DS_COMPARE_TRUE",message:"The compare response was true."},"0x00002027":{code:"ERROR_DS_AUTH_METHOD_NOT_SUPPORTED",message:"The requested authentication method is not supported by the server."},"0x00002028":{code:"ERROR_DS_STRONG_AUTH_REQUIRED",message:"A more secure authentication method is required for this server."},"0x00002029":{code:"ERROR_DS_INAPPROPRIATE_AUTH",message:"Inappropriate authentication."},"0x0000202A":{code:"ERROR_DS_AUTH_UNKNOWN",message:"The authentication mechanism is unknown."},"0x0000202B":{code:"ERROR_DS_REFERRAL",message:"A referral was returned from the server."},"0x0000202C":{code:"ERROR_DS_UNAVAILABLE_CRIT_EXTENSION",message:"The server does not support the requested critical extension."},"0x0000202D":{code:"ERROR_DS_CONFIDENTIALITY_REQUIRED",message:"This request requires a secure connection."},"0x0000202E":{code:"ERROR_DS_INAPPROPRIATE_MATCHING",message:"Inappropriate matching."},"0x0000202F":{code:"ERROR_DS_CONSTRAINT_VIOLATION",message:"A constraint violation occurred."},"0x00002030":{code:"ERROR_DS_NO_SUCH_OBJECT",message:"There is no such object on the server."},"0x00002031":{code:"ERROR_DS_ALIAS_PROBLEM",message:"There is an alias problem."},"0x00002032":{code:"ERROR_DS_INVALID_DN_SYNTAX",message:"An invalid dn syntax has been specified."},"0x00002033":{code:"ERROR_DS_IS_LEAF",message:"The object is a leaf object."},"0x00002034":{code:"ERROR_DS_ALIAS_DEREF_PROBLEM",message:"There is an alias dereferencing problem."},"0x00002035":{code:"ERROR_DS_UNWILLING_TO_PERFORM",message:"The server is unwilling to process the request."},"0x00002036":{code:"ERROR_DS_LOOP_DETECT",message:"A loop has been detected."},"0x00002037":{code:"ERROR_DS_NAMING_VIOLATION",message:"There is a naming violation."},"0x00002038":{code:"ERROR_DS_OBJECT_RESULTS_TOO_LARGE",message:"The result set is too large."},"0x00002039":{code:"ERROR_DS_AFFECTS_MULTIPLE_DSAS",message:"The operation affects multiple DSAs."},"0x0000203A":{code:"ERROR_DS_SERVER_DOWN",message:"The server is not operational."},"0x0000203B":{code:"ERROR_DS_LOCAL_ERROR",message:"A local error has occurred."},"0x0000203C":{code:"ERROR_DS_ENCODING_ERROR",message:"An encoding error has occurred."},"0x0000203D":{code:"ERROR_DS_DECODING_ERROR",message:"A decoding error has occurred."},"0x0000203E":{code:"ERROR_DS_FILTER_UNKNOWN",message:"The search filter cannot be recognized."},"0x0000203F":{code:"ERROR_DS_PARAM_ERROR",message:"One or more parameters are illegal."},"0x00002040":{code:"ERROR_DS_NOT_SUPPORTED",message:"The specified method is not supported."},"0x00002041":{code:"ERROR_DS_NO_RESULTS_RETURNED",message:"No results were returned."},"0x00002042":{code:"ERROR_DS_CONTROL_NOT_FOUND",message:"The specified control is not supported by the server."},"0x00002043":{code:"ERROR_DS_CLIENT_LOOP",message:"A referral loop was detected by the client."},"0x00002044":{code:"ERROR_DS_REFERRAL_LIMIT_EXCEEDED",message:"The preset referral limit was exceeded."},"0x00002045":{code:"ERROR_DS_SORT_CONTROL_MISSING",message:"The search requires a SORT control."},"0x00002046":{code:"ERROR_DS_OFFSET_RANGE_ERROR",message:"The search results exceed the offset range specified."},"0x0000206D":{code:"ERROR_DS_ROOT_MUST_BE_NC",message:"The root object must be the head of a naming context. The root object cannot have an instantiated parent."},"0x0000206E":{code:"ERROR_DS_ADD_REPLICA_INHIBITED",message:"The add replica operation cannot be performed. The naming context must be writable to create the replica."},"0x0000206F":{code:"ERROR_DS_ATT_NOT_DEF_IN_SCHEMA",message:"A reference to an attribute that is not defined in the schema occurred."},"0x00002070":{code:"ERROR_DS_MAX_OBJ_SIZE_EXCEEDED",message:"The maximum size of an object has been exceeded."},"0x00002071":{code:"ERROR_DS_OBJ_STRING_NAME_EXISTS",message:"An attempt was made to add an object to the directory with a name that is already in use."},"0x00002072":{code:"ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA",message:"An attempt was made to add an object of a class that does not have an RDN defined in the schema."},"0x00002073":{code:"ERROR_DS_RDN_DOESNT_MATCH_SCHEMA",message:"An attempt was made to add an object using an RDN that is not the RDN defined in the schema."},"0x00002074":{code:"ERROR_DS_NO_REQUESTED_ATTS_FOUND",message:"None of the requested attributes were found on the objects."},"0x00002075":{code:"ERROR_DS_USER_BUFFER_TO_SMALL",message:"The user buffer is too small."},"0x00002076":{code:"ERROR_DS_ATT_IS_NOT_ON_OBJ",message:"The attribute specified in the operation is not present on the object."},"0x00002077":{code:"ERROR_DS_ILLEGAL_MOD_OPERATION",message:"Illegal modify operation. Some aspect of the modification is not permitted."},"0x00002078":{code:"ERROR_DS_OBJ_TOO_LARGE",message:"The specified object is too large."},"0x00002079":{code:"ERROR_DS_BAD_INSTANCE_TYPE",message:"The specified instance type is not valid."},"0x0000207A":{code:"ERROR_DS_MASTERDSA_REQUIRED",message:"The operation must be performed at a master DSA."},"0x0000207B":{code:"ERROR_DS_OBJECT_CLASS_REQUIRED",message:"The object class attribute must be specified."},"0x0000207C":{code:"ERROR_DS_MISSING_REQUIRED_ATT",message:"A required attribute is missing."},"0x0000207D":{code:"ERROR_DS_ATT_NOT_DEF_FOR_CLASS",message:"An attempt was made to modify an object to include an attribute that is not legal for its class."},"0x0000207E":{code:"ERROR_DS_ATT_ALREADY_EXISTS",message:"The specified attribute is already present on the object."},"0x00002080":{code:"ERROR_DS_CANT_ADD_ATT_VALUES",message:"The specified attribute is not present, or has no values."},"0x00002081":{code:"ERROR_DS_SINGLE_VALUE_CONSTRAINT",message:"Multiple values were specified for an attribute that can have only one value."},"0x00002082":{code:"ERROR_DS_RANGE_CONSTRAINT",message:"A value for the attribute was not in the acceptable range of values."},"0x00002083":{code:"ERROR_DS_ATT_VAL_ALREADY_EXISTS",message:"The specified value already exists."},"0x00002084":{code:"ERROR_DS_CANT_REM_MISSING_ATT",message:"The attribute cannot be removed because it is not present on the object."},"0x00002085":{code:"ERROR_DS_CANT_REM_MISSING_ATT_VAL",message:"The attribute value cannot be removed because it is not present on the object."},"0x00002086":{code:"ERROR_DS_ROOT_CANT_BE_SUBREF",message:"The specified root object cannot be a subreference."},"0x00002087":{code:"ERROR_DS_NO_CHAINING",message:"Chaining is not permitted."},"0x00002088":{code:"ERROR_DS_NO_CHAINED_EVAL",message:"Chained evaluation is not permitted."},"0x00002089":{code:"ERROR_DS_NO_PARENT_OBJECT",message:"The operation could not be performed because the object's parent is either uninstantiated or deleted."},"0x0000208A":{code:"ERROR_DS_PARENT_IS_AN_ALIAS",message:"Having a parent that is an alias is not permitted. Aliases are leaf objects."},"0x0000208B":{code:"ERROR_DS_CANT_MIX_MASTER_AND_REPS",message:"The object and parent must be of the same type, either both masters or both replicas."},"0x0000208C":{code:"ERROR_DS_CHILDREN_EXIST",message:"The operation cannot be performed because child objects exist. This operation can only be performed on a leaf object."},"0x0000208D":{code:"ERROR_DS_OBJ_NOT_FOUND",message:"Directory object not found."},"0x0000208E":{code:"ERROR_DS_ALIASED_OBJ_MISSING",message:"The aliased object is missing."},"0x0000208F":{code:"ERROR_DS_BAD_NAME_SYNTAX",message:"The object name has bad syntax."},"0x00002090":{code:"ERROR_DS_ALIAS_POINTS_TO_ALIAS",message:"An alias is not permitted to refer to another alias."},"0x00002091":{code:"ERROR_DS_CANT_DEREF_ALIAS",message:"The alias cannot be dereferenced."},"0x00002092":{code:"ERROR_DS_OUT_OF_SCOPE",message:"The operation is out of scope."},"0x00002093":{code:"ERROR_DS_OBJECT_BEING_REMOVED",message:"The operation cannot continue because the object is in the process of being removed."},"0x00002094":{code:"ERROR_DS_CANT_DELETE_DSA_OBJ",message:"The DSA object cannot be deleted."},"0x00002095":{code:"ERROR_DS_GENERIC_ERROR",message:"A directory service error has occurred."},"0x00002096":{code:"ERROR_DS_DSA_MUST_BE_INT_MASTER",message:"The operation can only be performed on an internal master DSA object."},"0x00002097":{code:"ERROR_DS_CLASS_NOT_DSA",message:"The object must be of class DSA."},"0x00002098":{code:"ERROR_DS_INSUFF_ACCESS_RIGHTS",message:"Insufficient access rights to perform the operation."},"0x00002099":{code:"ERROR_DS_ILLEGAL_SUPERIOR",message:"The object cannot be added because the parent is not on the list of possible superiors."},"0x0000209A":{code:"ERROR_DS_ATTRIBUTE_OWNED_BY_SAM",message:"Access to the attribute is not permitted because the attribute is owned by the SAM."},"0x0000209B":{code:"ERROR_DS_NAME_TOO_MANY_PARTS",message:"The name has too many parts."},"0x0000209C":{code:"ERROR_DS_NAME_TOO_LONG",message:"The name is too long."},"0x0000209D":{code:"ERROR_DS_NAME_VALUE_TOO_LONG",message:"The name value is too long."},"0x0000209E":{code:"ERROR_DS_NAME_UNPARSEABLE",message:"The directory service encountered an error parsing a name."},"0x0000209F":{code:"ERROR_DS_NAME_TYPE_UNKNOWN",message:"The directory service cannot get the attribute type for a name."},"0x000020A0":{code:"ERROR_DS_NOT_AN_OBJECT",message:"The name does not identify an object; the name identifies a phantom."},"0x000020A1":{code:"ERROR_DS_SEC_DESC_TOO_SHORT",message:"The security descriptor is too short."},"0x000020A2":{code:"ERROR_DS_SEC_DESC_INVALID",message:"The security descriptor is invalid."},"0x000020A3":{code:"ERROR_DS_NO_DELETED_NAME",message:"Failed to create name for deleted object."},"0x000020A4":{code:"ERROR_DS_SUBREF_MUST_HAVE_PARENT",message:"The parent of a new subreference must exist."},"0x000020A5":{code:"ERROR_DS_NCNAME_MUST_BE_NC",message:"The object must be a naming context."},"0x000020A6":{code:"ERROR_DS_CANT_ADD_SYSTEM_ONLY",message:"It is not permitted to add an attribute that is owned by the system."},"0x000020A7":{code:"ERROR_DS_CLASS_MUST_BE_CONCRETE",message:"The class of the object must be structural; you cannot instantiate an abstract class."},"0x000020A8":{code:"ERROR_DS_INVALID_DMD",message:"The schema object could not be found."},"0x000020A9":{code:"ERROR_DS_OBJ_GUID_EXISTS",message:"A local object with this GUID (dead or alive) already exists."},"0x000020AA":{code:"ERROR_DS_NOT_ON_BACKLINK",message:"The operation cannot be performed on a back link."},"0x000020AB":{code:"ERROR_DS_NO_CROSSREF_FOR_NC",message:"The cross-reference for the specified naming context could not be found."},"0x000020AC":{code:"ERROR_DS_SHUTTING_DOWN",message:"The operation could not be performed because the directory service is shutting down."},"0x000020AD":{code:"ERROR_DS_UNKNOWN_OPERATION",message:"The directory service request is invalid."},"0x000020AE":{code:"ERROR_DS_INVALID_ROLE_OWNER",message:"The role owner attribute could not be read."},"0x000020AF":{code:"ERROR_DS_COULDNT_CONTACT_FSMO",message:"The requested Flexible Single Master Operations (FSMO) operation failed. The current FSMO holder could not be contacted."},"0x000020B0":{code:"ERROR_DS_CROSS_NC_DN_RENAME",message:"Modification of a distinguished name across a naming context is not permitted."},"0x000020B1":{code:"ERROR_DS_CANT_MOD_SYSTEM_ONLY",message:"The attribute cannot be modified because it is owned by the system."},"0x000020B2":{code:"ERROR_DS_REPLICATOR_ONLY",message:"Only the replicator can perform this function."},"0x000020B3":{code:"ERROR_DS_OBJ_CLASS_NOT_DEFINED",message:"The specified class is not defined."},"0x000020B4":{code:"ERROR_DS_OBJ_CLASS_NOT_SUBCLASS",message:"The specified class is not a subclass."},"0x000020B5":{code:"ERROR_DS_NAME_REFERENCE_INVALID",message:"The name reference is invalid."},"0x000020B6":{code:"ERROR_DS_CROSS_REF_EXISTS",message:"A cross-reference already exists."},"0x000020B7":{code:"ERROR_DS_CANT_DEL_MASTER_CROSSREF",message:"It is not permitted to delete a master cross-reference."},"0x000020B8":{code:"ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD",message:"Subtree notifications are only supported on naming context (NC) heads."},"0x000020B9":{code:"ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX",message:"Notification filter is too complex."},"0x000020BA":{code:"ERROR_DS_DUP_RDN",message:"Schema update failed: Duplicate RDN."},"0x000020BB":{code:"ERROR_DS_DUP_OID",message:"Schema update failed: Duplicate OID."},"0x000020BC":{code:"ERROR_DS_DUP_MAPI_ID",message:"Schema update failed: Duplicate Message Application Programming Interface (MAPI) identifier."},"0x000020BD":{code:"ERROR_DS_DUP_SCHEMA_ID_GUID",message:"Schema update failed: Duplicate schema ID GUID."},"0x000020BE":{code:"ERROR_DS_DUP_LDAP_DISPLAY_NAME",message:"Schema update failed: Duplicate LDAP display name."},"0x000020BF":{code:"ERROR_DS_SEMANTIC_ATT_TEST",message:"Schema update failed: Range-Lower less than Range-Upper."},"0x000020C0":{code:"ERROR_DS_SYNTAX_MISMATCH",message:"Schema update failed: Syntax mismatch."},"0x000020C1":{code:"ERROR_DS_EXISTS_IN_MUST_HAVE",message:"Schema deletion failed: Attribute is used in the Must-Contain list."},"0x000020C2":{code:"ERROR_DS_EXISTS_IN_MAY_HAVE",message:"Schema deletion failed: Attribute is used in the May-Contain list."},"0x000020C3":{code:"ERROR_DS_NONEXISTENT_MAY_HAVE",message:"Schema update failed: Attribute in May-Contain list does not exist."},"0x000020C4":{code:"ERROR_DS_NONEXISTENT_MUST_HAVE",message:"Schema update failed: Attribute in the Must-Contain list does not exist."},"0x000020C5":{code:"ERROR_DS_AUX_CLS_TEST_FAIL",message:"Schema update failed: Class in the Aux Class list does not exist or is not an auxiliary class."},"0x000020C6":{code:"ERROR_DS_NONEXISTENT_POSS_SUP",message:"Schema update failed: Class in the Poss-Superiors list does not exist."},"0x000020C7":{code:"ERROR_DS_SUB_CLS_TEST_FAIL",message:"Schema update failed: Class in the subclass of the list does not exist or does not satisfy hierarchy rules."},"0x000020C8":{code:"ERROR_DS_BAD_RDN_ATT_ID_SYNTAX",message:"Schema update failed: Rdn-Att-Id has wrong syntax."},"0x000020C9":{code:"ERROR_DS_EXISTS_IN_AUX_CLS",message:"Schema deletion failed: Class is used as an auxiliary class."},"0x000020CA":{code:"ERROR_DS_EXISTS_IN_SUB_CLS",message:"Schema deletion failed: Class is used as a subclass."},"0x000020CB":{code:"ERROR_DS_EXISTS_IN_POSS_SUP",message:"Schema deletion failed: Class is used as a Poss-Superior."},"0x000020CC":{code:"ERROR_DS_RECALCSCHEMA_FAILED",message:"Schema update failed in recalculating validation cache."},"0x000020CD":{code:"ERROR_DS_TREE_DELETE_NOT_FINISHED",message:"The tree deletion is not finished. The request must be made again to continue deleting the tree."},"0x000020CE":{code:"ERROR_DS_CANT_DELETE",message:"The requested delete operation could not be performed."},"0x000020CF":{code:"ERROR_DS_ATT_SCHEMA_REQ_ID",message:"Cannot read the governs class identifier for the schema record."},"0x000020D0":{code:"ERROR_DS_BAD_ATT_SCHEMA_SYNTAX",message:"The attribute schema has bad syntax."},"0x000020D1":{code:"ERROR_DS_CANT_CACHE_ATT",message:"The attribute could not be cached."},"0x000020D2":{code:"ERROR_DS_CANT_CACHE_CLASS",message:"The class could not be cached."},"0x000020D3":{code:"ERROR_DS_CANT_REMOVE_ATT_CACHE",message:"The attribute could not be removed from the cache."},"0x000020D4":{code:"ERROR_DS_CANT_REMOVE_CLASS_CACHE",message:"The class could not be removed from the cache."},"0x000020D5":{code:"ERROR_DS_CANT_RETRIEVE_DN",message:"The distinguished name attribute could not be read."},"0x000020D6":{code:"ERROR_DS_MISSING_SUPREF",message:"No superior reference has been configured for the directory service. The directory service is, therefore, unable to issue referrals to objects outside this forest."},"0x000020D7":{code:"ERROR_DS_CANT_RETRIEVE_INSTANCE",message:"The instance type attribute could not be retrieved."},"0x000020D8":{code:"ERROR_DS_CODE_INCONSISTENCY",message:"An internal error has occurred."},"0x000020D9":{code:"ERROR_DS_DATABASE_ERROR",message:"A database error has occurred."},"0x000020DA":{code:"ERROR_DS_GOVERNSID_MISSING",message:"The governsID attribute is missing."},"0x000020DB":{code:"ERROR_DS_MISSING_EXPECTED_ATT",message:"An expected attribute is missing."},"0x000020DC":{code:"ERROR_DS_NCNAME_MISSING_CR_REF",message:"The specified naming context is missing a cross-reference."},"0x000020DD":{code:"ERROR_DS_SECURITY_CHECKING_ERROR",message:"A security checking error has occurred."},"0x000020DE":{code:"ERROR_DS_SCHEMA_NOT_LOADED",message:"The schema is not loaded."},"0x000020DF":{code:"ERROR_DS_SCHEMA_ALLOC_FAILED",message:"Schema allocation failed. Check if the machine is running low on memory."},"0x000020E0":{code:"ERROR_DS_ATT_SCHEMA_REQ_SYNTAX",message:"Failed to obtain the required syntax for the attribute schema."},"0x000020E1":{code:"ERROR_DS_GCVERIFY_ERROR",message:"The GC verification failed. The GC is not available or does not support the operation. Some part of the directory is currently not available."},"0x000020E2":{code:"ERROR_DS_DRA_SCHEMA_MISMATCH",message:"The replication operation failed because of a schema mismatch between the servers involved."},"0x000020E3":{code:"ERROR_DS_CANT_FIND_DSA_OBJ",message:"The DSA object could not be found."},"0x000020E4":{code:"ERROR_DS_CANT_FIND_EXPECTED_NC",message:"The naming context could not be found."},"0x000020E5":{code:"ERROR_DS_CANT_FIND_NC_IN_CACHE",message:"The naming context could not be found in the cache."},"0x000020E6":{code:"ERROR_DS_CANT_RETRIEVE_CHILD",message:"The child object could not be retrieved."},"0x000020E7":{code:"ERROR_DS_SECURITY_ILLEGAL_MODIFY",message:"The modification was not permitted for security reasons."},"0x000020E8":{code:"ERROR_DS_CANT_REPLACE_HIDDEN_REC",message:"The operation cannot replace the hidden record."},"0x000020E9":{code:"ERROR_DS_BAD_HIERARCHY_FILE",message:"The hierarchy file is invalid."},"0x000020EA":{code:"ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED",message:"The attempt to build the hierarchy table failed."},"0x000020EB":{code:"ERROR_DS_CONFIG_PARAM_MISSING",message:"The directory configuration parameter is missing from the registry."},"0x000020EC":{code:"ERROR_DS_COUNTING_AB_INDICES_FAILED",message:"The attempt to count the address book indices failed."},"0x000020ED":{code:"ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED",message:"The allocation of the hierarchy table failed."},"0x000020EE":{code:"ERROR_DS_INTERNAL_FAILURE",message:"The directory service encountered an internal failure."},"0x000020EF":{code:"ERROR_DS_UNKNOWN_ERROR",message:"The directory service encountered an unknown failure."},"0x000020F0":{code:"ERROR_DS_ROOT_REQUIRES_CLASS_TOP",message:'A root object requires a class of "top".'},"0x000020F1":{code:"ERROR_DS_REFUSING_FSMO_ROLES",message:"This directory server is shutting down, and cannot take ownership of new floating single-master operation roles."},"0x000020F2":{code:"ERROR_DS_MISSING_FSMO_SETTINGS",message:"The directory service is missing mandatory configuration information and is unable to determine the ownership of floating single-master operation roles."},"0x000020F3":{code:"ERROR_DS_UNABLE_TO_SURRENDER_ROLES",message:"The directory service was unable to transfer ownership of one or more floating single-master operation roles to other servers."},"0x000020F4":{code:"ERROR_DS_DRA_GENERIC",message:"The replication operation failed."},"0x000020F5":{code:"ERROR_DS_DRA_INVALID_PARAMETER",message:"An invalid parameter was specified for this replication operation."},"0x000020F6":{code:"ERROR_DS_DRA_BUSY",message:"The directory service is too busy to complete the replication operation at this time."},"0x000020F7":{code:"ERROR_DS_DRA_BAD_DN",message:"The DN specified for this replication operation is invalid."},"0x000020F8":{code:"ERROR_DS_DRA_BAD_NC",message:"The naming context specified for this replication operation is invalid."},"0x000020F9":{code:"ERROR_DS_DRA_DN_EXISTS",message:"The DN specified for this replication operation already exists."},"0x000020FA":{code:"ERROR_DS_DRA_INTERNAL_ERROR",message:"The replication system encountered an internal error."},"0x000020FB":{code:"ERROR_DS_DRA_INCONSISTENT_DIT",message:"The replication operation encountered a database inconsistency."},"0x000020FC":{code:"ERROR_DS_DRA_CONNECTION_FAILED",message:"The server specified for this replication operation could not be contacted."},"0x000020FD":{code:"ERROR_DS_DRA_BAD_INSTANCE_TYPE",message:"The replication operation encountered an object with an invalid instance type."},"0x000020FE":{code:"ERROR_DS_DRA_OUT_OF_MEM",message:"The replication operation failed to allocate memory."},"0x000020FF":{code:"ERROR_DS_DRA_MAIL_PROBLEM",message:"The replication operation encountered an error with the mail system."},"0x00002100":{code:"ERROR_DS_DRA_REF_ALREADY_EXISTS",message:"The replication reference information for the target server already exists."},"0x00002101":{code:"ERROR_DS_DRA_REF_NOT_FOUND",message:"The replication reference information for the target server does not exist."},"0x00002102":{code:"ERROR_DS_DRA_OBJ_IS_REP_SOURCE",message:"The naming context cannot be removed because it is replicated to another server."},"0x00002103":{code:"ERROR_DS_DRA_DB_ERROR",message:"The replication operation encountered a database error."},"0x00002104":{code:"ERROR_DS_DRA_NO_REPLICA",message:"The naming context is in the process of being removed or is not replicated from the specified server."},"0x00002105":{code:"ERROR_DS_DRA_ACCESS_DENIED",message:"Replication access was denied."},"0x00002106":{code:"ERROR_DS_DRA_NOT_SUPPORTED",message:"The requested operation is not supported by this version of the directory service."},"0x00002107":{code:"ERROR_DS_DRA_RPC_CANCELLED",message:"The replication RPC was canceled."},"0x00002108":{code:"ERROR_DS_DRA_SOURCE_DISABLED",message:"The source server is currently rejecting replication requests."},"0x00002109":{code:"ERROR_DS_DRA_SINK_DISABLED",message:"The destination server is currently rejecting replication requests."},"0x0000210A":{code:"ERROR_DS_DRA_NAME_COLLISION",message:"The replication operation failed due to a collision of object names."},"0x0000210B":{code:"ERROR_DS_DRA_SOURCE_REINSTALLED",message:"The replication source has been reinstalled."},"0x0000210C":{code:"ERROR_DS_DRA_MISSING_PARENT",message:"The replication operation failed because a required parent object is missing."},"0x0000210D":{code:"ERROR_DS_DRA_PREEMPTED",message:"The replication operation was preempted."},"0x0000210E":{code:"ERROR_DS_DRA_ABANDON_SYNC",message:"The replication synchronization attempt was abandoned because of a lack of updates."},"0x0000210F":{code:"ERROR_DS_DRA_SHUTDOWN",message:"The replication operation was terminated because the system is shutting down."},"0x00002110":{code:"ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET",message:"A synchronization attempt failed because the destination DC is currently waiting to synchronize new partial attributes from the source. This condition is normal if a recent schema change modified the partial attribute set. The destination partial attribute set is not a subset of the source partial attribute set."},"0x00002111":{code:"ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA",message:"The replication synchronization attempt failed because a master replica attempted to sync from a partial replica."},"0x00002112":{code:"ERROR_DS_DRA_EXTN_CONNECTION_FAILED",message:"The server specified for this replication operation was contacted, but that server was unable to contact an additional server needed to complete the operation."},"0x00002113":{code:"ERROR_DS_INSTALL_SCHEMA_MISMATCH",message:"The version of the directory service schema of the source forest is not compatible with the version of the directory service on this computer."},"0x00002114":{code:"ERROR_DS_DUP_LINK_ID",message:"Schema update failed: An attribute with the same link identifier already exists."},"0x00002115":{code:"ERROR_DS_NAME_ERROR_RESOLVING",message:"Name translation: Generic processing error."},"0x00002116":{code:"ERROR_DS_NAME_ERROR_NOT_FOUND",message:"Name translation: Could not find the name or insufficient right to see name."},"0x00002117":{code:"ERROR_DS_NAME_ERROR_NOT_UNIQUE",message:"Name translation: Input name mapped to more than one output name."},"0x00002118":{code:"ERROR_DS_NAME_ERROR_NO_MAPPING",message:"Name translation: The input name was found but not the associated output format."},"0x00002119":{code:"ERROR_DS_NAME_ERROR_DOMAIN_ONLY",message:"Name translation: Unable to resolve completely, only the domain was found."},"0x0000211A":{code:"ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING",message:"Name translation: Unable to perform purely syntactical mapping at the client without going out to the wire."},"0x0000211B":{code:"ERROR_DS_CONSTRUCTED_ATT_MOD",message:"Modification of a constructed attribute is not allowed."},"0x0000211C":{code:"ERROR_DS_WRONG_OM_OBJ_CLASS",message:"The OM-Object-Class specified is incorrect for an attribute with the specified syntax."},"0x0000211D":{code:"ERROR_DS_DRA_REPL_PENDING",message:"The replication request has been posted; waiting for a reply."},"0x0000211E":{code:"ERROR_DS_DS_REQUIRED",message:"The requested operation requires a directory service, and none was available."},"0x0000211F":{code:"ERROR_DS_INVALID_LDAP_DISPLAY_NAME",message:"The LDAP display name of the class or attribute contains non-ASCII characters."},"0x00002120":{code:"ERROR_DS_NON_BASE_SEARCH",message:"The requested search operation is only supported for base searches."},"0x00002121":{code:"ERROR_DS_CANT_RETRIEVE_ATTS",message:"The search failed to retrieve attributes from the database."},"0x00002122":{code:"ERROR_DS_BACKLINK_WITHOUT_LINK",message:"The schema update operation tried to add a backward link attribute that has no corresponding forward link."},"0x00002123":{code:"ERROR_DS_EPOCH_MISMATCH",message:"The source and destination of a cross-domain move do not agree on the object's epoch number. Either the source or the destination does not have the latest version of the object."},"0x00002124":{code:"ERROR_DS_SRC_NAME_MISMATCH",message:"The source and destination of a cross-domain move do not agree on the object's current name. Either the source or the destination does not have the latest version of the object."},"0x00002125":{code:"ERROR_DS_SRC_AND_DST_NC_IDENTICAL",message:"The source and destination for the cross-domain move operation are identical. The caller should use a local move operation instead of a cross-domain move operation."},"0x00002126":{code:"ERROR_DS_DST_NC_MISMATCH",message:"The source and destination for a cross-domain move do not agree on the naming contexts in the forest. Either the source or the destination does not have the latest version of the Partitions container."},"0x00002127":{code:"ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC",message:"The destination of a cross-domain move is not authoritative for the destination naming context."},"0x00002128":{code:"ERROR_DS_SRC_GUID_MISMATCH",message:"The source and destination of a cross-domain move do not agree on the identity of the source object. Either the source or the destination does not have the latest version of the source object."},"0x00002129":{code:"ERROR_DS_CANT_MOVE_DELETED_OBJECT",message:"The object being moved across domains is already known to be deleted by the destination server. The source server does not have the latest version of the source object."},"0x0000212A":{code:"ERROR_DS_PDC_OPERATION_IN_PROGRESS",message:"Another operation that requires exclusive access to the PDC FSMO is already in progress."},"0x0000212B":{code:"ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD",message:"A cross-domain move operation failed because two versions of the moved object exist\u2014one each in the source and destination domains. The destination object needs to be removed to restore the system to a consistent state."},"0x0000212C":{code:"ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION",message:"This object may not be moved across domain boundaries either because cross-domain moves for this class are not allowed, or the object has some special characteristics, for example, a trust account or a restricted relative identifier (RID), that prevent its move."},"0x0000212D":{code:"ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS",message:"Cannot move objects with memberships across domain boundaries because, once moved, this violates the membership conditions of the account group. Remove the object from any account group memberships and retry."},"0x0000212E":{code:"ERROR_DS_NC_MUST_HAVE_NC_PARENT",message:"A naming context head must be the immediate child of another naming context head, not of an interior node."},"0x0000212F":{code:"ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE",message:"The directory cannot validate the proposed naming context name because it does not hold a replica of the naming context above the proposed naming context. Ensure that the domain naming master role is held by a server that is configured as a GC server, and that the server is up-to-date with its replication partners. (Applies only to Windows 2000 domain naming masters.)"},"0x00002130":{code:"ERROR_DS_DST_DOMAIN_NOT_NATIVE",message:"Destination domain must be in native mode."},"0x00002131":{code:"ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER",message:"The operation cannot be performed because the server does not have an infrastructure container in the domain of interest."},"0x00002132":{code:"ERROR_DS_CANT_MOVE_ACCOUNT_GROUP",message:"Cross-domain moves of nonempty account groups is not allowed."},"0x00002133":{code:"ERROR_DS_CANT_MOVE_RESOURCE_GROUP",message:"Cross-domain moves of nonempty resource groups is not allowed."},"0x00002134":{code:"ERROR_DS_INVALID_SEARCH_FLAG",message:"The search flags for the attribute are invalid. The ambiguous name resolution (ANR) bit is valid only on attributes of Unicode or Teletex strings."},"0x00002135":{code:"ERROR_DS_NO_TREE_DELETE_ABOVE_NC",message:"Tree deletions starting at an object that has an NC head as a descendant are not allowed."},"0x00002136":{code:"ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE",message:"The directory service failed to lock a tree in preparation for a tree deletion because the tree was in use."},"0x00002137":{code:"ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE",message:"The directory service failed to identify the list of objects to delete while attempting a tree deletion."},"0x00002138":{code:"ERROR_DS_SAM_INIT_FAILURE",message:"SAM initialization failed because of the following error: %1. Error Status: 0x%2. Click OK to shut down the system and reboot into Directory Services Restore Mode. Check the event log for detailed information."},"0x00002139":{code:"ERROR_DS_SENSITIVE_GROUP_VIOLATION",message:"Only an administrator can modify the membership list of an administrative group."},"0x0000213A":{code:"ERROR_DS_CANT_MOD_PRIMARYGROUPID",message:"Cannot change the primary group ID of a domain controller account."},"0x0000213B":{code:"ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD",message:"An attempt was made to modify the base schema."},"0x0000213C":{code:"ERROR_DS_NONSAFE_SCHEMA_CHANGE",message:"Adding a new mandatory attribute to an existing class, deleting a mandatory attribute from an existing class, or adding an optional attribute to the special class Top that is not a backlink attribute (directly or through inheritance, for example, by adding or deleting an auxiliary class) is not allowed."},"0x0000213D":{code:"ERROR_DS_SCHEMA_UPDATE_DISALLOWED",message:"Schema update is not allowed on this DC because the DC is not the schema FSMO role owner."},"0x0000213E":{code:"ERROR_DS_CANT_CREATE_UNDER_SCHEMA",message:"An object of this class cannot be created under the schema container. You can only create Attribute-Schema and Class-Schema objects under the schema container."},"0x0000213F":{code:"ERROR_DS_INSTALL_NO_SRC_SCH_VERSION",message:"The replica or child install failed to get the objectVersion attribute on the schema container on the source DC. Either the attribute is missing on the schema container or the credentials supplied do not have permission to read it."},"0x00002140":{code:"ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE",message:"The replica or child install failed to read the objectVersion attribute in the SCHEMA section of the file schema.ini in the System32 directory."},"0x00002141":{code:"ERROR_DS_INVALID_GROUP_TYPE",message:"The specified group type is invalid."},"0x00002142":{code:"ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN",message:"You cannot nest global groups in a mixed domain if the group is security-enabled."},"0x00002143":{code:"ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN",message:"You cannot nest local groups in a mixed domain if the group is security-enabled."},"0x00002144":{code:"ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER",message:"A global group cannot have a local group as a member."},"0x00002145":{code:"ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER",message:"A global group cannot have a universal group as a member."},"0x00002146":{code:"ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER",message:"A universal group cannot have a local group as a member."},"0x00002147":{code:"ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER",message:"A global group cannot have a cross-domain member."},"0x00002148":{code:"ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER",message:"A local group cannot have another cross domain local group as a member."},"0x00002149":{code:"ERROR_DS_HAVE_PRIMARY_MEMBERS",message:"A group with primary members cannot change to a security-disabled group."},"0x0000214A":{code:"ERROR_DS_STRING_SD_CONVERSION_FAILED",message:"The schema cache load failed to convert the string default security descriptor (SD) on a class-schema object."},"0x0000214B":{code:"ERROR_DS_NAMING_MASTER_GC",message:"Only DSAs configured to be GC servers should be allowed to hold the domain naming master FSMO role. (Applies only to Windows 2000 servers.)"},"0x0000214C":{code:"ERROR_DS_DNS_LOOKUP_FAILURE",message:"The DSA operation is unable to proceed because of a DNS lookup failure."},"0x0000214D":{code:"ERROR_DS_COULDNT_UPDATE_SPNS",message:"While processing a change to the DNS host name for an object, the SPN values could not be kept in sync."},"0x0000214E":{code:"ERROR_DS_CANT_RETRIEVE_SD",message:"The Security Descriptor attribute could not be read."},"0x0000214F":{code:"ERROR_DS_KEY_NOT_UNIQUE",message:"The object requested was not found, but an object with that key was found."},"0x00002150":{code:"ERROR_DS_WRONG_LINKED_ATT_SYNTAX",message:"The syntax of the linked attribute being added is incorrect. Forward links can only have syntax 2.5.5.1, 2.5.5.7, and 2.5.5.14, and backlinks can only have syntax 2.5.5.1."},"0x00002151":{code:"ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD",message:"SAM needs to get the boot password."},"0x00002152":{code:"ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY",message:"SAM needs to get the boot key from the floppy disk."},"0x00002153":{code:"ERROR_DS_CANT_START",message:"Directory Service cannot start."},"0x00002154":{code:"ERROR_DS_INIT_FAILURE",message:"Directory Services could not start."},"0x00002155":{code:"ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION",message:"The connection between client and server requires packet privacy or better."},"0x00002156":{code:"ERROR_DS_SOURCE_DOMAIN_IN_FOREST",message:"The source domain may not be in the same forest as the destination."},"0x00002157":{code:"ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST",message:"The destination domain must be in the forest."},"0x00002158":{code:"ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED",message:"The operation requires that destination domain auditing be enabled."},"0x00002159":{code:"ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN",message:"The operation could not locate a DC for the source domain."},"0x0000215A":{code:"ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER",message:"The source object must be a group or user."},"0x0000215B":{code:"ERROR_DS_SRC_SID_EXISTS_IN_FOREST",message:"The source object's SID already exists in the destination forest."},"0x0000215C":{code:"ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH",message:"The source and destination object must be of the same type."},"0x0000215D":{code:"ERROR_SAM_INIT_FAILURE",message:"SAM initialization failed because of the following error: %1. Error Status: 0x%2. Click OK to shut down the system and reboot into Safe Mode. Check the event log for detailed information."},"0x0000215E":{code:"ERROR_DS_DRA_SCHEMA_INFO_SHIP",message:"Schema information could not be included in the replication request."},"0x0000215F":{code:"ERROR_DS_DRA_SCHEMA_CONFLICT",message:"The replication operation could not be completed due to a schema incompatibility."},"0x00002160":{code:"ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT",message:"The replication operation could not be completed due to a previous schema incompatibility."},"0x00002161":{code:"ERROR_DS_DRA_OBJ_NC_MISMATCH",message:"The replication update could not be applied because either the source or the destination has not yet received information regarding a recent cross-domain move operation."},"0x00002162":{code:"ERROR_DS_NC_STILL_HAS_DSAS",message:"The requested domain could not be deleted because there exist domain controllers that still host this domain."},"0x00002163":{code:"ERROR_DS_GC_REQUIRED",message:"The requested operation can be performed only on a GC server."},"0x00002164":{code:"ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY",message:"A local group can only be a member of other local groups in the same domain."},"0x00002165":{code:"ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS",message:"Foreign security principals cannot be members of universal groups."},"0x00002166":{code:"ERROR_DS_CANT_ADD_TO_GC",message:"The attribute is not allowed to be replicated to the GC because of security reasons."},"0x00002167":{code:"ERROR_DS_NO_CHECKPOINT_WITH_PDC",message:"The checkpoint with the PDC could not be taken because too many modifications are currently being processed."},"0x00002168":{code:"ERROR_DS_SOURCE_AUDITING_NOT_ENABLED",message:"The operation requires that source domain auditing be enabled."},"0x00002169":{code:"ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC",message:"Security principal objects can only be created inside domain naming contexts."},"0x0000216A":{code:"ERROR_DS_INVALID_NAME_FOR_SPN",message:"An SPN could not be constructed because the provided host name is not in the necessary format."},"0x0000216B":{code:"ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS",message:"A filter was passed that uses constructed attributes."},"0x0000216C":{code:"ERROR_DS_UNICODEPWD_NOT_IN_QUOTES",message:"The unicodePwd attribute value must be enclosed in quotation marks."},"0x0000216D":{code:"ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED",message:"Your computer could not be joined to the domain. You have exceeded the maximum number of computer accounts you are allowed to create in this domain. Contact your system administrator to have this limit reset or increased."},"0x0000216E":{code:"ERROR_DS_MUST_BE_RUN_ON_DST_DC",message:"For security reasons, the operation must be run on the destination DC."},"0x0000216F":{code:"ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER",message:"For security reasons, the source DC must be NT4SP4 or greater."},"0x00002170":{code:"ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ",message:"Critical directory service system objects cannot be deleted during tree deletion operations. The tree deletion may have been partially performed."},"0x00002171":{code:"ERROR_DS_INIT_FAILURE_CONSOLE",message:"Directory Services could not start because of the following error: %1. Error Status: 0x%2. Click OK to shut down the system. You can use the Recovery Console to further diagnose the system."},"0x00002172":{code:"ERROR_DS_SAM_INIT_FAILURE_CONSOLE",message:"SAM initialization failed because of the following error: %1. Error Status: 0x%2. Click OK to shut down the system. You can use the Recovery Console to further diagnose the system."},"0x00002173":{code:"ERROR_DS_FOREST_VERSION_TOO_HIGH",message:"The version of the operating system installed is incompatible with the current forest functional level. You must upgrade to a new version of the operating system before this server can become a domain controller in this forest."},"0x00002174":{code:"ERROR_DS_DOMAIN_VERSION_TOO_HIGH",message:"The version of the operating system installed is incompatible with the current domain functional level. You must upgrade to a new version of the operating system before this server can become a domain controller in this domain."},"0x00002175":{code:"ERROR_DS_FOREST_VERSION_TOO_LOW",message:"The version of the operating system installed on this server no longer supports the current forest functional level. You must raise the forest functional level before this server can become a domain controller in this forest."},"0x00002176":{code:"ERROR_DS_DOMAIN_VERSION_TOO_LOW",message:"The version of the operating system installed on this server no longer supports the current domain functional level. You must raise the domain functional level before this server can become a domain controller in this domain."},"0x00002177":{code:"ERROR_DS_INCOMPATIBLE_VERSION",message:"The version of the operating system installed on this server is incompatible with the functional level of the domain or forest."},"0x00002178":{code:"ERROR_DS_LOW_DSA_VERSION",message:"The functional level of the domain (or forest) cannot be raised to the requested value because one or more domain controllers in the domain (or forest) are at a lower, incompatible functional level."},"0x00002179":{code:"ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN",message:"The forest functional level cannot be raised to the requested value because one or more domains are still in mixed-domain mode. All domains in the forest must be in native mode for you to raise the forest functional level."},"0x0000217A":{code:"ERROR_DS_NOT_SUPPORTED_SORT_ORDER",message:"The sort order requested is not supported."},"0x0000217B":{code:"ERROR_DS_NAME_NOT_UNIQUE",message:"The requested name already exists as a unique identifier."},"0x0000217C":{code:"ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4",message:"The machine account was created before Windows NT 4.0. The account needs to be re-created."},"0x0000217D":{code:"ERROR_DS_OUT_OF_VERSION_STORE",message:"The database is out of version store."},"0x0000217E":{code:"ERROR_DS_INCOMPATIBLE_CONTROLS_USED",message:"Unable to continue operation because multiple conflicting controls were used."},"0x0000217F":{code:"ERROR_DS_NO_REF_DOMAIN",message:"Unable to find a valid security descriptor reference domain for this partition."},"0x00002180":{code:"ERROR_DS_RESERVED_LINK_ID",message:"Schema update failed: The link identifier is reserved."},"0x00002181":{code:"ERROR_DS_LINK_ID_NOT_AVAILABLE",message:"Schema update failed: There are no link identifiers available."},"0x00002182":{code:"ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER",message:"An account group cannot have a universal group as a member."},"0x00002183":{code:"ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE",message:"Rename or move operations on naming context heads or read-only objects are not allowed."},"0x00002184":{code:"ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC",message:"Move operations on objects in the schema naming context are not allowed."},"0x00002185":{code:"ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG",message:"A system flag has been set on the object that does not allow the object to be moved or renamed."},"0x00002186":{code:"ERROR_DS_MODIFYDN_WRONG_GRANDPARENT",message:"This object is not allowed to change its grandparent container. Moves are not forbidden on this object, but are restricted to sibling containers."},"0x00002187":{code:"ERROR_DS_NAME_ERROR_TRUST_REFERRAL",message:"Unable to resolve completely; a referral to another forest was generated."},"0x00002188":{code:"ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER",message:"The requested action is not supported on a standard server."},"0x00002189":{code:"ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD",message:"Could not access a partition of the directory service located on a remote server. Make sure at least one server is running for the partition in question."},"0x0000218A":{code:"ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2",message:"The directory cannot validate the proposed naming context (or partition) name because it does not hold a replica, nor can it contact a replica of the naming context above the proposed naming context. Ensure that the parent naming context is properly registered in the DNS, and at least one replica of this naming context is reachable by the domain naming master."},"0x0000218B":{code:"ERROR_DS_THREAD_LIMIT_EXCEEDED",message:"The thread limit for this request was exceeded."},"0x0000218C":{code:"ERROR_DS_NOT_CLOSEST",message:"The GC server is not in the closest site."},"0x0000218D":{code:"ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF",message:"The directory service cannot derive an SPN with which to mutually authenticate the target server because the corresponding server object in the local DS database has no serverReference attribute."},"0x0000218E":{code:"ERROR_DS_SINGLE_USER_MODE_FAILED",message:"The directory service failed to enter single-user mode."},"0x0000218F":{code:"ERROR_DS_NTDSCRIPT_SYNTAX_ERROR",message:"The directory service cannot parse the script because of a syntax error."},"0x00002190":{code:"ERROR_DS_NTDSCRIPT_PROCESS_ERROR",message:"The directory service cannot process the script because of an error."},"0x00002191":{code:"ERROR_DS_DIFFERENT_REPL_EPOCHS",message:"The directory service cannot perform the requested operation because the servers involved are of different replication epochs (which is usually related to a domain rename that is in progress)."},"0x00002192":{code:"ERROR_DS_DRS_EXTENSIONS_CHANGED",message:"The directory service binding must be renegotiated due to a change in the server extensions information."},"0x00002193":{code:"ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR",message:"The operation is not allowed on a disabled cross-reference."},"0x00002194":{code:"ERROR_DS_NO_MSDS_INTID",message:"Schema update failed: No values for msDS-IntId are available."},"0x00002195":{code:"ERROR_DS_DUP_MSDS_INTID",message:"Schema update failed: Duplicate msDS-IntId. Retry the operation."},"0x00002196":{code:"ERROR_DS_EXISTS_IN_RDNATTID",message:"Schema deletion failed: Attribute is used in rDNAttID."},"0x00002197":{code:"ERROR_DS_AUTHORIZATION_FAILED",message:"The directory service failed to authorize the request."},"0x00002198":{code:"ERROR_DS_INVALID_SCRIPT",message:"The directory service cannot process the script because it is invalid."},"0x00002199":{code:"ERROR_DS_REMOTE_CROSSREF_OP_FAILED",message:"The remote create cross-reference operation failed on the domain naming master FSMO. The operation's error is in the extended data."},"0x0000219A":{code:"ERROR_DS_CROSS_REF_BUSY",message:"A cross-reference is in use locally with the same name."},"0x0000219B":{code:"ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN",message:"The directory service cannot derive an SPN with which to mutually authenticate the target server because the server's domain has been deleted from the forest."},"0x0000219C":{code:"ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC",message:"Writable NCs prevent this DC from demoting."},"0x0000219D":{code:"ERROR_DS_DUPLICATE_ID_FOUND",message:"The requested object has a nonunique identifier and cannot be retrieved."},"0x0000219E":{code:"ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT",message:"Insufficient attributes were given to create an object. This object may not exist because it may have been deleted and the garbage already collected."},"0x0000219F":{code:"ERROR_DS_GROUP_CONVERSION_ERROR",message:"The group cannot be converted due to attribute restrictions on the requested group type."},"0x000021A0":{code:"ERROR_DS_CANT_MOVE_APP_BASIC_GROUP",message:"Cross-domain moves of nonempty basic application groups is not allowed."},"0x000021A1":{code:"ERROR_DS_CANT_MOVE_APP_QUERY_GROUP",message:"Cross-domain moves of nonempty query-based application groups is not allowed."},"0x000021A2":{code:"ERROR_DS_ROLE_NOT_VERIFIED",message:"The FSMO role ownership could not be verified because its directory partition did not replicate successfully with at least one replication partner."},"0x000021A3":{code:"ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL",message:"The target container for a redirection of a well-known object container cannot already be a special container."},"0x000021A4":{code:"ERROR_DS_DOMAIN_RENAME_IN_PROGRESS",message:"The directory service cannot perform the requested operation because a domain rename operation is in progress."},"0x000021A5":{code:"ERROR_DS_EXISTING_AD_CHILD_NC",message:"The directory service detected a child partition below the requested partition name. The partition hierarchy must be created in a top down method."},"0x000021A6":{code:"ERROR_DS_REPL_LIFETIME_EXCEEDED",message:"The directory service cannot replicate with this server because the time since the last replication with this server has exceeded the tombstone lifetime."},"0x000021A7":{code:"ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER",message:"The requested operation is not allowed on an object under the system container."},"0x000021A8":{code:"ERROR_DS_LDAP_SEND_QUEUE_FULL",message:"The LDAP server's network send queue has filled up because the client is not processing the results of its requests fast enough. No more requests will be processed until the client catches up. If the client does not catch up then it will be disconnected."},"0x000021A9":{code:"ERROR_DS_DRA_OUT_SCHEDULE_WINDOW",message:"The scheduled replication did not take place because the system was too busy to execute the request within the schedule window. The replication queue is overloaded. Consider reducing the number of partners or decreasing the scheduled replication frequency."},"0x000021AA":{code:"ERROR_DS_POLICY_NOT_KNOWN",message:"At this time, it cannot be determined if the branch replication policy is available on the hub domain controller. Retry at a later time to account for replication latencies."},"0x000021AB":{code:"ERROR_NO_SITE_SETTINGS_OBJECT",message:"The site settings object for the specified site does not exist."},"0x000021AC":{code:"ERROR_NO_SECRETS",message:"The local account store does not contain secret material for the specified account."},"0x000021AD":{code:"ERROR_NO_WRITABLE_DC_FOUND",message:"Could not find a writable domain controller in the domain."},"0x000021AE":{code:"ERROR_DS_NO_SERVER_OBJECT",message:"The server object for the domain controller does not exist."},"0x000021AF":{code:"ERROR_DS_NO_NTDSA_OBJECT",message:"The NTDS Settings object for the domain controller does not exist."},"0x000021B0":{code:"ERROR_DS_NON_ASQ_SEARCH",message:"The requested search operation is not supported for attribute scoped query (ASQ) searches."},"0x000021B1":{code:"ERROR_DS_AUDIT_FAILURE",message:"A required audit event could not be generated for the operation."},"0x000021B2":{code:"ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE",message:"The search flags for the attribute are invalid. The subtree index bit is valid only on single-valued attributes."},"0x000021B3":{code:"ERROR_DS_INVALID_SEARCH_FLAG_TUPLE",message:"The search flags for the attribute are invalid. The tuple index bit is valid only on attributes of Unicode strings."},"0x000021C2":{code:"ERROR_DS_HIGH_DSA_VERSION",message:"The functional level of the domain (or forest) cannot be lowered to the requested value."},"0x000021C7":{code:"ERROR_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST",message:"The operation failed because the SPN value provided for addition/modification is not unique forest-wide."},"0x000021C8":{code:"ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST",message:"The operation failed because the UPN value provided for addition/modification is not unique forest-wide."},"0x00002329":{code:"DNS_ERROR_RCODE_FORMAT_ERROR",message:"DNS server unable to interpret format."},"0x0000232A":{code:"DNS_ERROR_RCODE_SERVER_FAILURE",message:"DNS server failure."},"0x0000232B":{code:"DNS_ERROR_RCODE_NAME_ERROR",message:"DNS name does not exist."},"0x0000232C":{code:"DNS_ERROR_RCODE_NOT_IMPLEMENTED",message:"DNS request not supported by name server."},"0x0000232D":{code:"DNS_ERROR_RCODE_REFUSED",message:"DNS operation refused."},"0x0000232E":{code:"DNS_ERROR_RCODE_YXDOMAIN",message:"DNS name that should not exist, does exist."},"0x0000232F":{code:"DNS_ERROR_RCODE_YXRRSET",message:"DNS resource record (RR) set that should not exist, does exist."},"0x00002330":{code:"DNS_ERROR_RCODE_NXRRSET",message:"DNS RR set that should to exist, does not exist."},"0x00002331":{code:"DNS_ERROR_RCODE_NOTAUTH",message:"DNS server not authoritative for zone."},"0x00002332":{code:"DNS_ERROR_RCODE_NOTZONE",message:"DNS name in update or prereq is not in zone."},"0x00002338":{code:"DNS_ERROR_RCODE_BADSIG",message:"DNS signature failed to verify."},"0x00002339":{code:"DNS_ERROR_RCODE_BADKEY",message:"DNS bad key."},"0x0000233A":{code:"DNS_ERROR_RCODE_BADTIME",message:"DNS signature validity expired."},"0x0000251D":{code:"DNS_INFO_NO_RECORDS",message:"No records found for given DNS query."},"0x0000251E":{code:"DNS_ERROR_BAD_PACKET",message:"Bad DNS packet."},"0x0000251F":{code:"DNS_ERROR_NO_PACKET",message:"No DNS packet."},"0x00002520":{code:"DNS_ERROR_RCODE",message:"DNS error, check rcode."},"0x00002521":{code:"DNS_ERROR_UNSECURE_PACKET",message:"Unsecured DNS packet."},"0x0000254F":{code:"DNS_ERROR_INVALID_TYPE",message:"Invalid DNS type."},"0x00002550":{code:"DNS_ERROR_INVALID_IP_ADDRESS",message:"Invalid IP address."},"0x00002551":{code:"DNS_ERROR_INVALID_PROPERTY",message:"Invalid property."},"0x00002552":{code:"DNS_ERROR_TRY_AGAIN_LATER",message:"Try DNS operation again later."},"0x00002553":{code:"DNS_ERROR_NOT_UNIQUE",message:"Record for given name and type is not unique."},"0x00002554":{code:"DNS_ERROR_NON_RFC_NAME",message:"DNS name does not comply with RFC specifications."},"0x00002555":{code:"DNS_STATUS_FQDN",message:"DNS name is a fully qualified DNS name."},"0x00002556":{code:"DNS_STATUS_DOTTED_NAME",message:"DNS name is dotted (multilabel)."},"0x00002557":{code:"DNS_STATUS_SINGLE_PART_NAME",message:"DNS name is a single-part name."},"0x00002558":{code:"DNS_ERROR_INVALID_NAME_CHAR",message:"DNS name contains an invalid character."},"0x00002559":{code:"DNS_ERROR_NUMERIC_NAME",message:"DNS name is entirely numeric."},"0x0000255A":{code:"DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER",message:"The operation requested is not permitted on a DNS root server."},"0x0000255B":{code:"DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION",message:"The record could not be created because this part of the DNS namespace has been delegated to another server."},"0x0000255C":{code:"DNS_ERROR_CANNOT_FIND_ROOT_HINTS",message:"The DNS server could not find a set of root hints."},"0x0000255D":{code:"DNS_ERROR_INCONSISTENT_ROOT_HINTS",message:"The DNS server found root hints but they were not consistent across all adapters."},"0x0000255E":{code:"DNS_ERROR_DWORD_VALUE_TOO_SMALL",message:"The specified value is too small for this parameter."},"0x0000255F":{code:"DNS_ERROR_DWORD_VALUE_TOO_LARGE",message:"The specified value is too large for this parameter."},"0x00002560":{code:"DNS_ERROR_BACKGROUND_LOADING",message:"This operation is not allowed while the DNS server is loading zones in the background. Try again later."},"0x00002561":{code:"DNS_ERROR_NOT_ALLOWED_ON_RODC",message:"The operation requested is not permitted on against a DNS server running on a read-only DC."},"0x00002581":{code:"DNS_ERROR_ZONE_DOES_NOT_EXIST",message:"DNS zone does not exist."},"0x00002582":{code:"DNS_ERROR_NO_ZONE_INFO",message:"DNS zone information not available."},"0x00002583":{code:"DNS_ERROR_INVALID_ZONE_OPERATION",message:"Invalid operation for DNS zone."},"0x00002584":{code:"DNS_ERROR_ZONE_CONFIGURATION_ERROR",message:"Invalid DNS zone configuration."},"0x00002585":{code:"DNS_ERROR_ZONE_HAS_NO_SOA_RECORD",message:"DNS zone has no start of authority (SOA) record."},"0x00002586":{code:"DNS_ERROR_ZONE_HAS_NO_NS_RECORDS",message:"DNS zone has no Name Server (NS) record."},"0x00002587":{code:"DNS_ERROR_ZONE_LOCKED",message:"DNS zone is locked."},"0x00002588":{code:"DNS_ERROR_ZONE_CREATION_FAILED",message:"DNS zone creation failed."},"0x00002589":{code:"DNS_ERROR_ZONE_ALREADY_EXISTS",message:"DNS zone already exists."},"0x0000258A":{code:"DNS_ERROR_AUTOZONE_ALREADY_EXISTS",message:"DNS automatic zone already exists."},"0x0000258B":{code:"DNS_ERROR_INVALID_ZONE_TYPE",message:"Invalid DNS zone type."},"0x0000258C":{code:"DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP",message:"Secondary DNS zone requires master IP address."},"0x0000258D":{code:"DNS_ERROR_ZONE_NOT_SECONDARY",message:"DNS zone not secondary."},"0x0000258E":{code:"DNS_ERROR_NEED_SECONDARY_ADDRESSES",message:"Need secondary IP address."},"0x0000258F":{code:"DNS_ERROR_WINS_INIT_FAILED",message:"WINS initialization failed."},"0x00002590":{code:"DNS_ERROR_NEED_WINS_SERVERS",message:"Need WINS servers."},"0x00002591":{code:"DNS_ERROR_NBSTAT_INIT_FAILED",message:"NBTSTAT initialization call failed."},"0x00002592":{code:"DNS_ERROR_SOA_DELETE_INVALID",message:"Invalid delete of SOA."},"0x00002593":{code:"DNS_ERROR_FORWARDER_ALREADY_EXISTS",message:"A conditional forwarding zone already exists for that name."},"0x00002594":{code:"DNS_ERROR_ZONE_REQUIRES_MASTER_IP",message:"This zone must be configured with one or more master DNS server IP addresses."},"0x00002595":{code:"DNS_ERROR_ZONE_IS_SHUTDOWN",message:"The operation cannot be performed because this zone is shut down."},"0x000025B3":{code:"DNS_ERROR_PRIMARY_REQUIRES_DATAFILE",message:"The primary DNS zone requires a data file."},"0x000025B4":{code:"DNS_ERROR_INVALID_DATAFILE_NAME",message:"Invalid data file name for the DNS zone."},"0x000025B5":{code:"DNS_ERROR_DATAFILE_OPEN_FAILURE",message:"Failed to open the data file for the DNS zone."},"0x000025B6":{code:"DNS_ERROR_FILE_WRITEBACK_FAILED",message:"Failed to write the data file for the DNS zone."},"0x000025B7":{code:"DNS_ERROR_DATAFILE_PARSING",message:"Failure while reading datafile for DNS zone."},"0x000025E5":{code:"DNS_ERROR_RECORD_DOES_NOT_EXIST",message:"DNS record does not exist."},"0x000025E6":{code:"DNS_ERROR_RECORD_FORMAT",message:"DNS record format error."},"0x000025E7":{code:"DNS_ERROR_NODE_CREATION_FAILED",message:"Node creation failure in DNS."},"0x000025E8":{code:"DNS_ERROR_UNKNOWN_RECORD_TYPE",message:"Unknown DNS record type."},"0x000025E9":{code:"DNS_ERROR_RECORD_TIMED_OUT",message:"DNS record timed out."},"0x000025EA":{code:"DNS_ERROR_NAME_NOT_IN_ZONE",message:"Name not in DNS zone."},"0x000025EB":{code:"DNS_ERROR_CNAME_LOOP",message:"CNAME loop detected."},"0x000025EC":{code:"DNS_ERROR_NODE_IS_CNAME",message:"Node is a CNAME DNS record."},"0x000025ED":{code:"DNS_ERROR_CNAME_COLLISION",message:"A CNAME record already exists for the given name."},"0x000025EE":{code:"DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT",message:"Record is only at DNS zone root."},"0x000025EF":{code:"DNS_ERROR_RECORD_ALREADY_EXISTS",message:"DNS record already exists."},"0x000025F0":{code:"DNS_ERROR_SECONDARY_DATA",message:"Secondary DNS zone data error."},"0x000025F1":{code:"DNS_ERROR_NO_CREATE_CACHE_DATA",message:"Could not create DNS cache data."},"0x000025F2":{code:"DNS_ERROR_NAME_DOES_NOT_EXIST",message:"DNS name does not exist."},"0x000025F3":{code:"DNS_WARNING_PTR_CREATE_FAILED",message:"Could not create pointer (PTR) record."},"0x000025F4":{code:"DNS_WARNING_DOMAIN_UNDELETED",message:"DNS domain was undeleted."},"0x000025F5":{code:"DNS_ERROR_DS_UNAVAILABLE",message:"The directory service is unavailable."},"0x000025F6":{code:"DNS_ERROR_DS_ZONE_ALREADY_EXISTS",message:"DNS zone already exists in the directory service."},"0x000025F7":{code:"DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE",message:"DNS server not creating or reading the boot file for the directory service integrated DNS zone."},"0x00002617":{code:"DNS_INFO_AXFR_COMPLETE",message:"DNS AXFR (zone transfer) complete."},"0x00002618":{code:"DNS_ERROR_AXFR",message:"DNS zone transfer failed."},"0x00002619":{code:"DNS_INFO_ADDED_LOCAL_WINS",message:"Added local WINS server."},"0x00002649":{code:"DNS_STATUS_CONTINUE_NEEDED",message:"Secure update call needs to continue update request."},"0x0000267B":{code:"DNS_ERROR_NO_TCPIP",message:"TCP/IP network protocol not installed."},"0x0000267C":{code:"DNS_ERROR_NO_DNS_SERVERS",message:"No DNS servers configured for local system."},"0x000026AD":{code:"DNS_ERROR_DP_DOES_NOT_EXIST",message:"The specified directory partition does not exist."},"0x000026AE":{code:"DNS_ERROR_DP_ALREADY_EXISTS",message:"The specified directory partition already exists."},"0x000026AF":{code:"DNS_ERROR_DP_NOT_ENLISTED",message:"This DNS server is not enlisted in the specified directory partition."},"0x000026B0":{code:"DNS_ERROR_DP_ALREADY_ENLISTED",message:"This DNS server is already enlisted in the specified directory partition."},"0x000026B1":{code:"DNS_ERROR_DP_NOT_AVAILABLE",message:"The directory partition is not available at this time. Wait a few minutes and try again."},"0x000026B2":{code:"DNS_ERROR_DP_FSMO_ERROR",message:"The application directory partition operation failed. The domain controller holding the domain naming master role is down or unable to service the request or is not running Windows Server 2003."},"0x00002714":{code:"WSAEINTR",message:"A blocking operation was interrupted by a call to WSACancelBlockingCall."},"0x00002719":{code:"WSAEBADF",message:"The file handle supplied is not valid."},"0x0000271D":{code:"WSAEACCES",message:"An attempt was made to access a socket in a way forbidden by its access permissions."},"0x0000271E":{code:"WSAEFAULT",message:"The system detected an invalid pointer address in attempting to use a pointer argument in a call."},"0x00002726":{code:"WSAEINVAL",message:"An invalid argument was supplied."},"0x00002728":{code:"WSAEMFILE",message:"Too many open sockets."},"0x00002733":{code:"WSAEWOULDBLOCK",message:"A nonblocking socket operation could not be completed immediately."},"0x00002734":{code:"WSAEINPROGRESS",message:"A blocking operation is currently executing."},"0x00002735":{code:"WSAEALREADY",message:"An operation was attempted on a nonblocking socket that already had an operation in progress."},"0x00002736":{code:"WSAENOTSOCK",message:"An operation was attempted on something that is not a socket."},"0x00002737":{code:"WSAEDESTADDRREQ",message:"A required address was omitted from an operation on a socket."},"0x00002738":{code:"WSAEMSGSIZE",message:"A message sent on a datagram socket was larger than the internal message buffer or some other network limit, or the buffer used to receive a datagram into was smaller than the datagram itself."},"0x00002739":{code:"WSAEPROTOTYPE",message:"A protocol was specified in the socket function call that does not support the semantics of the socket type requested."},"0x0000273A":{code:"WSAENOPROTOOPT",message:"An unknown, invalid, or unsupported option or level was specified in a getsockopt or setsockopt call."},"0x0000273B":{code:"WSAEPROTONOSUPPORT",message:"The requested protocol has not been configured into the system, or no implementation for it exists."},"0x0000273C":{code:"WSAESOCKTNOSUPPORT",message:"The support for the specified socket type does not exist in this address family."},"0x0000273D":{code:"WSAEOPNOTSUPP",message:"The attempted operation is not supported for the type of object referenced."},"0x0000273E":{code:"WSAEPFNOSUPPORT",message:"The protocol family has not been configured into the system or no implementation for it exists."},"0x0000273F":{code:"WSAEAFNOSUPPORT",message:"An address incompatible with the requested protocol was used."},"0x00002740":{code:"WSAEADDRINUSE",message:"Only one usage of each socket address (protocol/network address/port) is normally permitted."},"0x00002741":{code:"WSAEADDRNOTAVAIL",message:"The requested address is not valid in its context."},"0x00002742":{code:"WSAENETDOWN",message:"A socket operation encountered a dead network."},"0x00002743":{code:"WSAENETUNREACH",message:"A socket operation was attempted to an unreachable network."},"0x00002744":{code:"WSAENETRESET",message:"The connection has been broken due to keep-alive activity detecting a failure while the operation was in progress."},"0x00002745":{code:"WSAECONNABORTED",message:"An established connection was aborted by the software in your host machine."},"0x00002746":{code:"WSAECONNRESET",message:"An existing connection was forcibly closed by the remote host."},"0x00002747":{code:"WSAENOBUFS",message:"An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full."},"0x00002748":{code:"WSAEISCONN",message:"A connect request was made on an already connected socket."},"0x00002749":{code:"WSAENOTCONN",message:"A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied."},"0x0000274A":{code:"WSAESHUTDOWN",message:"A request to send or receive data was disallowed because the socket had already been shut down in that direction with a previous shutdown call."},"0x0000274B":{code:"WSAETOOMANYREFS",message:"Too many references to a kernel object."},"0x0000274C":{code:"WSAETIMEDOUT",message:"A connection attempt failed because the connected party did not properly respond after a period of time, or the established connection failed because the connected host failed to respond."},"0x0000274D":{code:"WSAECONNREFUSED",message:"No connection could be made because the target machine actively refused it."},"0x0000274E":{code:"WSAELOOP",message:"Cannot translate name."},"0x0000274F":{code:"WSAENAMETOOLONG",message:"Name or name component was too long."},"0x00002750":{code:"WSAEHOSTDOWN",message:"A socket operation failed because the destination host was down."},"0x00002751":{code:"WSAEHOSTUNREACH",message:"A socket operation was attempted to an unreachable host."},"0x00002752":{code:"WSAENOTEMPTY",message:"Cannot remove a directory that is not empty."},"0x00002753":{code:"WSAEPROCLIM",message:"A Windows Sockets implementation may have a limit on the number of applications that may use it simultaneously."},"0x00002754":{code:"WSAEUSERS",message:"Ran out of quota."},"0x00002755":{code:"WSAEDQUOT",message:"Ran out of disk quota."},"0x00002756":{code:"WSAESTALE",message:"File handle reference is no longer available."},"0x00002757":{code:"WSAEREMOTE",message:"Item is not available locally."},"0x0000276B":{code:"WSASYSNOTREADY",message:"WSAStartup cannot function at this time because the underlying system it uses to provide network services is currently unavailable."},"0x0000276C":{code:"WSAVERNOTSUPPORTED",message:"The Windows Sockets version requested is not supported."},"0x0000276D":{code:"WSANOTINITIALISED",message:"Either the application has not called WSAStartup, or WSAStartup failed."},"0x00002775":{code:"WSAEDISCON",message:"Returned by WSARecv or WSARecvFrom to indicate that the remote party has initiated a graceful shutdown sequence."},"0x00002776":{code:"WSAENOMORE",message:"No more results can be returned by WSALookupServiceNext."},"0x00002777":{code:"WSAECANCELLED",message:"A call to WSALookupServiceEnd was made while this call was still processing. The call has been canceled."},"0x00002778":{code:"WSAEINVALIDPROCTABLE",message:"The procedure call table is invalid."},"0x00002779":{code:"WSAEINVALIDPROVIDER",message:"The requested service provider is invalid."},"0x0000277A":{code:"WSAEPROVIDERFAILEDINIT",message:"The requested service provider could not be loaded or initialized."},"0x0000277B":{code:"WSASYSCALLFAILURE",message:"A system call that should never fail has failed."},"0x0000277C":{code:"WSASERVICE_NOT_FOUND",message:"No such service is known. The service cannot be found in the specified namespace."},"0x0000277D":{code:"WSATYPE_NOT_FOUND",message:"The specified class was not found."},"0x0000277E":{code:"WSA_E_NO_MORE",message:"No more results can be returned by WSALookupServiceNext."},"0x0000277F":{code:"WSA_E_CANCELLED",message:"A call to WSALookupServiceEnd was made while this call was still processing. The call has been canceled."},"0x00002780":{code:"WSAEREFUSED",message:"A database query failed because it was actively refused."},"0x00002AF9":{code:"WSAHOST_NOT_FOUND",message:"No such host is known."},"0x00002AFA":{code:"WSATRY_AGAIN",message:"This is usually a temporary error during host name resolution and means that the local server did not receive a response from an authoritative server."},"0x00002AFB":{code:"WSANO_RECOVERY",message:"A nonrecoverable error occurred during a database lookup."},"0x00002AFC":{code:"WSANO_DATA",message:"The requested name is valid, but no data of the requested type was found."},"0x00002AFD":{code:"WSA_QOS_RECEIVERS",message:"At least one reserve has arrived."},"0x00002AFE":{code:"WSA_QOS_SENDERS",message:"At least one path has arrived."},"0x00002AFF":{code:"WSA_QOS_NO_SENDERS",message:"There are no senders."},"0x00002B00":{code:"WSA_QOS_NO_RECEIVERS",message:"There are no receivers."},"0x00002B01":{code:"WSA_QOS_REQUEST_CONFIRMED",message:"Reserve has been confirmed."},"0x00002B02":{code:"WSA_QOS_ADMISSION_FAILURE",message:"Error due to lack of resources."},"0x00002B03":{code:"WSA_QOS_POLICY_FAILURE",message:"Rejected for administrative reasons\u2014bad credentials."},"0x00002B04":{code:"WSA_QOS_BAD_STYLE",message:"Unknown or conflicting style."},"0x00002B05":{code:"WSA_QOS_BAD_OBJECT",message:"There is a problem with some part of the filterspec or provider-specific buffer in general."},"0x00002B06":{code:"WSA_QOS_TRAFFIC_CTRL_ERROR",message:"There is a problem with some part of the flowspec."},"0x00002B07":{code:"WSA_QOS_GENERIC_ERROR",message:"General quality of serve (QOS) error."},"0x00002B08":{code:"WSA_QOS_ESERVICETYPE",message:"An invalid or unrecognized service type was found in the flowspec."},"0x00002B09":{code:"WSA_QOS_EFLOWSPEC",message:"An invalid or inconsistent flowspec was found in the QOS structure."},"0x00002B0A":{code:"WSA_QOS_EPROVSPECBUF",message:"Invalid QOS provider-specific buffer."},"0x00002B0B":{code:"WSA_QOS_EFILTERSTYLE",message:"An invalid QOS filter style was used."},"0x00002B0C":{code:"WSA_QOS_EFILTERTYPE",message:"An invalid QOS filter type was used."},"0x00002B0D":{code:"WSA_QOS_EFILTERCOUNT",message:"An incorrect number of QOS FILTERSPECs were specified in the FLOWDESCRIPTOR."},"0x00002B0E":{code:"WSA_QOS_EOBJLENGTH",message:"An object with an invalid ObjectLength field was specified in the QOS provider-specific buffer."},"0x00002B0F":{code:"WSA_QOS_EFLOWCOUNT",message:"An incorrect number of flow descriptors was specified in the QOS structure."},"0x00002B10":{code:"WSA_QOS_EUNKOWNPSOBJ",message:"An unrecognized object was found in the QOS provider-specific buffer."},"0x00002B11":{code:"WSA_QOS_EPOLICYOBJ",message:"An invalid policy object was found in the QOS provider-specific buffer."},"0x00002B12":{code:"WSA_QOS_EFLOWDESC",message:"An invalid QOS flow descriptor was found in the flow descriptor list."},"0x00002B13":{code:"WSA_QOS_EPSFLOWSPEC",message:"An invalid or inconsistent flowspec was found in the QOS provider-specific buffer."},"0x00002B14":{code:"WSA_QOS_EPSFILTERSPEC",message:"An invalid FILTERSPEC was found in the QOS provider-specific buffer."},"0x00002B15":{code:"WSA_QOS_ESDMODEOBJ",message:"An invalid shape discard mode object was found in the QOS provider-specific buffer."},"0x00002B16":{code:"WSA_QOS_ESHAPERATEOBJ",message:"An invalid shaping rate object was found in the QOS provider-specific buffer."},"0x00002B17":{code:"WSA_QOS_RESERVED_PETYPE",message:"A reserved policy element was found in the QOS provider-specific buffer."},"0x000032C8":{code:"ERROR_IPSEC_QM_POLICY_EXISTS",message:"The specified quick mode policy already exists."},"0x000032C9":{code:"ERROR_IPSEC_QM_POLICY_NOT_FOUND",message:"The specified quick mode policy was not found."},"0x000032CA":{code:"ERROR_IPSEC_QM_POLICY_IN_USE",message:"The specified quick mode policy is being used."},"0x000032CB":{code:"ERROR_IPSEC_MM_POLICY_EXISTS",message:"The specified main mode policy already exists."},"0x000032CC":{code:"ERROR_IPSEC_MM_POLICY_NOT_FOUND",message:"The specified main mode policy was not found."},"0x000032CD":{code:"ERROR_IPSEC_MM_POLICY_IN_USE",message:"The specified main mode policy is being used."},"0x000032CE":{code:"ERROR_IPSEC_MM_FILTER_EXISTS",message:"The specified main mode filter already exists."},"0x000032CF":{code:"ERROR_IPSEC_MM_FILTER_NOT_FOUND",message:"The specified main mode filter was not found."},"0x000032D0":{code:"ERROR_IPSEC_TRANSPORT_FILTER_EXISTS",message:"The specified transport mode filter already exists."},"0x000032D1":{code:"ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND",message:"The specified transport mode filter does not exist."},"0x000032D2":{code:"ERROR_IPSEC_MM_AUTH_EXISTS",message:"The specified main mode authentication list exists."},"0x000032D3":{code:"ERROR_IPSEC_MM_AUTH_NOT_FOUND",message:"The specified main mode authentication list was not found."},"0x000032D4":{code:"ERROR_IPSEC_MM_AUTH_IN_USE",message:"The specified main mode authentication list is being used."},"0x000032D5":{code:"ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND",message:"The specified default main mode policy was not found."},"0x000032D6":{code:"ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND",message:"The specified default main mode authentication list was not found."},"0x000032D7":{code:"ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND",message:"The specified default quick mode policy was not found."},"0x000032D8":{code:"ERROR_IPSEC_TUNNEL_FILTER_EXISTS",message:"The specified tunnel mode filter exists."},"0x000032D9":{code:"ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND",message:"The specified tunnel mode filter was not found."},"0x000032DA":{code:"ERROR_IPSEC_MM_FILTER_PENDING_DELETION",message:"The main mode filter is pending deletion."},"0x000032DB":{code:"ERROR_IPSEC_TRANSPORT_FILTER_ENDING_DELETION",message:"The transport filter is pending deletion."},"0x000032DC":{code:"ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION",message:"The tunnel filter is pending deletion."},"0x000032DD":{code:"ERROR_IPSEC_MM_POLICY_PENDING_ELETION",message:"The main mode policy is pending deletion."},"0x000032DE":{code:"ERROR_IPSEC_MM_AUTH_PENDING_DELETION",message:"The main mode authentication bundle is pending deletion."},"0x000032DF":{code:"ERROR_IPSEC_QM_POLICY_PENDING_DELETION",message:"The quick mode policy is pending deletion."},"0x000032E0":{code:"WARNING_IPSEC_MM_POLICY_PRUNED",message:"The main mode policy was successfully added, but some of the requested offers are not supported."},"0x000032E1":{code:"WARNING_IPSEC_QM_POLICY_PRUNED",message:"The quick mode policy was successfully added, but some of the requested offers are not supported."},"0x000035E8":{code:"ERROR_IPSEC_IKE_NEG_STATUS_BEGIN",message:"Starts the list of frequencies of various IKE Win32 error codes encountered during negotiations."},"0x000035E9":{code:"ERROR_IPSEC_IKE_AUTH_FAIL",message:"The IKE authentication credentials are unacceptable."},"0x000035EA":{code:"ERROR_IPSEC_IKE_ATTRIB_FAIL",message:"The IKE security attributes are unacceptable."},"0x000035EB":{code:"ERROR_IPSEC_IKE_NEGOTIATION_PENDING",message:"The IKE negotiation is in progress."},"0x000035EC":{code:"ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR",message:"General processing error."},"0x000035ED":{code:"ERROR_IPSEC_IKE_TIMED_OUT",message:"Negotiation timed out."},"0x000035EE":{code:"ERROR_IPSEC_IKE_NO_CERT",message:"The IKE failed to find a valid machine certificate. Contact your network security administrator about installing a valid certificate in the appropriate certificate store."},"0x000035EF":{code:"ERROR_IPSEC_IKE_SA_DELETED",message:"The IKE security association (SA) was deleted by a peer before it was completely established."},"0x000035F0":{code:"ERROR_IPSEC_IKE_SA_REAPED",message:"The IKE SA was deleted before it was completely established."},"0x000035F1":{code:"ERROR_IPSEC_IKE_MM_ACQUIRE_DROP",message:"The negotiation request sat in the queue too long."},"0x000035F2":{code:"ERROR_IPSEC_IKE_QM_ACQUIRE_DROP",message:"The negotiation request sat in the queue too long."},"0x000035F3":{code:"ERROR_IPSEC_IKE_QUEUE_DROP_MM",message:"The negotiation request sat in the queue too long."},"0x000035F4":{code:"ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM",message:"The negotiation request sat in the queue too long."},"0x000035F5":{code:"ERROR_IPSEC_IKE_DROP_NO_RESPONSE",message:"There was no response from a peer."},"0x000035F6":{code:"ERROR_IPSEC_IKE_MM_DELAY_DROP",message:"The negotiation took too long."},"0x000035F7":{code:"ERROR_IPSEC_IKE_QM_DELAY_DROP",message:"The negotiation took too long."},"0x000035F8":{code:"ERROR_IPSEC_IKE_ERROR",message:"An unknown error occurred."},"0x000035F9":{code:"ERROR_IPSEC_IKE_CRL_FAILED",message:"The certificate revocation check failed."},"0x000035FA":{code:"ERROR_IPSEC_IKE_INVALID_KEY_USAGE",message:"Invalid certificate key usage."},"0x000035FB":{code:"ERROR_IPSEC_IKE_INVALID_CERT_TYPE",message:"Invalid certificate type."},"0x000035FC":{code:"ERROR_IPSEC_IKE_NO_PRIVATE_KEY",message:"The IKE negotiation failed because the machine certificate used does not have a private key. IPsec certificates require a private key. Contact your network security administrator about a certificate that has a private key."},"0x000035FE":{code:"ERROR_IPSEC_IKE_DH_FAIL",message:"There was a failure in the Diffie-Hellman computation."},"0x00003600":{code:"ERROR_IPSEC_IKE_INVALID_HEADER",message:"Invalid header."},"0x00003601":{code:"ERROR_IPSEC_IKE_NO_POLICY",message:"No policy configured."},"0x00003602":{code:"ERROR_IPSEC_IKE_INVALID_SIGNATURE",message:"Failed to verify signature."},"0x00003603":{code:"ERROR_IPSEC_IKE_KERBEROS_ERROR",message:"Failed to authenticate using Kerberos."},"0x00003604":{code:"ERROR_IPSEC_IKE_NO_PUBLIC_KEY",message:"The peer's certificate did not have a public key."},"0x00003605":{code:"ERROR_IPSEC_IKE_PROCESS_ERR",message:"Error processing the error payload."},"0x00003606":{code:"ERROR_IPSEC_IKE_PROCESS_ERR_SA",message:"Error processing the SA payload."},"0x00003607":{code:"ERROR_IPSEC_IKE_PROCESS_ERR_PROP",message:"Error processing the proposal payload."},"0x00003608":{code:"ERROR_IPSEC_IKE_PROCESS_ERR_TRANS",message:"Error processing the transform payload."},"0x00003609":{code:"ERROR_IPSEC_IKE_PROCESS_ERR_KE",message:"Error processing the key exchange payload."},"0x0000360A":{code:"ERROR_IPSEC_IKE_PROCESS_ERR_ID",message:"Error processing the ID payload."},"0x0000360B":{code:"ERROR_IPSEC_IKE_PROCESS_ERR_CERT",message:"Error processing the certification payload."},"0x0000360C":{code:"ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ",message:"Error processing the certificate request payload."},"0x0000360D":{code:"ERROR_IPSEC_IKE_PROCESS_ERR_HASH",message:"Error processing the hash payload."},"0x0000360E":{code:"ERROR_IPSEC_IKE_PROCESS_ERR_SIG",message:"Error processing the signature payload."},"0x0000360F":{code:"ERROR_IPSEC_IKE_PROCESS_ERR_NONCE",message:"Error processing the nonce payload."},"0x00003610":{code:"ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY",message:"Error processing the notify payload."},"0x00003611":{code:"ERROR_IPSEC_IKE_PROCESS_ERR_DELETE",message:"Error processing the delete payload."},"0x00003612":{code:"ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR",message:"Error processing the VendorId payload."},"0x00003613":{code:"ERROR_IPSEC_IKE_INVALID_PAYLOAD",message:"Invalid payload received."},"0x00003614":{code:"ERROR_IPSEC_IKE_LOAD_SOFT_SA",message:"Soft SA loaded."},"0x00003615":{code:"ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN",message:"Soft SA torn down."},"0x00003616":{code:"ERROR_IPSEC_IKE_INVALID_COOKIE",message:"Invalid cookie received."},"0x00003617":{code:"ERROR_IPSEC_IKE_NO_PEER_CERT",message:"Peer failed to send valid machine certificate."},"0x00003618":{code:"ERROR_IPSEC_IKE_PEER_CRL_FAILED",message:"Certification revocation check of peer's certificate failed."},"0x00003619":{code:"ERROR_IPSEC_IKE_POLICY_CHANGE",message:"New policy invalidated SAs formed with the old policy."},"0x0000361A":{code:"ERROR_IPSEC_IKE_NO_MM_POLICY",message:"There is no available main mode IKE policy."},"0x0000361B":{code:"ERROR_IPSEC_IKE_NOTCBPRIV",message:"Failed to enabled trusted computer base (TCB) privilege."},"0x0000361C":{code:"ERROR_IPSEC_IKE_SECLOADFAIL",message:"Failed to load SECURITY.DLL."},"0x0000361D":{code:"ERROR_IPSEC_IKE_FAILSSPINIT",message:"Failed to obtain the security function table dispatch address from the SSPI."},"0x0000361E":{code:"ERROR_IPSEC_IKE_FAILQUERYSSP",message:"Failed to query the Kerberos package to obtain the max token size."},"0x0000361F":{code:"ERROR_IPSEC_IKE_SRVACQFAIL",message:"Failed to obtain the Kerberos server credentials for the Internet Security Association and Key Management Protocol (ISAKMP)/ERROR_IPSEC_IKE service. Kerberos authentication will not function. The most likely reason for this is lack of domain membership. This is normal if your computer is a member of a workgroup."},"0x00003620":{code:"ERROR_IPSEC_IKE_SRVQUERYCRED",message:"Failed to determine the SSPI principal name for ISAKMP/ERROR_IPSEC_IKE service (QueryCredentialsAttributes)."},"0x00003621":{code:"ERROR_IPSEC_IKE_GETSPIFAIL",message:"Failed to obtain a new service provider interface (SPI) for the inbound SA from the IPsec driver. The most common cause for this is that the driver does not have the correct filter. Check your policy to verify the filters."},"0x00003622":{code:"ERROR_IPSEC_IKE_INVALID_FILTER",message:"Given filter is invalid."},"0x00003623":{code:"ERROR_IPSEC_IKE_OUT_OF_MEMORY",message:"Memory allocation failed."},"0x00003624":{code:"ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED",message:"Failed to add an SA to the IPSec driver. The most common cause for this is if the IKE negotiation took too long to complete. If the problem persists, reduce the load on the faulting machine."},"0x00003625":{code:"ERROR_IPSEC_IKE_INVALID_POLICY",message:"Invalid policy."},"0x00003626":{code:"ERROR_IPSEC_IKE_UNKNOWN_DOI",message:"Invalid digital object identifier (DOI)."},"0x00003627":{code:"ERROR_IPSEC_IKE_INVALID_SITUATION",message:"Invalid situation."},"0x00003628":{code:"ERROR_IPSEC_IKE_DH_FAILURE",message:"Diffie-Hellman failure."},"0x00003629":{code:"ERROR_IPSEC_IKE_INVALID_GROUP",message:"Invalid Diffie-Hellman group."},"0x0000362A":{code:"ERROR_IPSEC_IKE_ENCRYPT",message:"Error encrypting payload."},"0x0000362B":{code:"ERROR_IPSEC_IKE_DECRYPT",message:"Error decrypting payload."},"0x0000362C":{code:"ERROR_IPSEC_IKE_POLICY_MATCH",message:"Policy match error."},"0x0000362D":{code:"ERROR_IPSEC_IKE_UNSUPPORTED_ID",message:"Unsupported ID."},"0x0000362E":{code:"ERROR_IPSEC_IKE_INVALID_HASH",message:"Hash verification failed."},"0x0000362F":{code:"ERROR_IPSEC_IKE_INVALID_HASH_ALG",message:"Invalid hash algorithm."},"0x00003630":{code:"ERROR_IPSEC_IKE_INVALID_HASH_SIZE",message:"Invalid hash size."},"0x00003631":{code:"ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG",message:"Invalid encryption algorithm."},"0x00003632":{code:"ERROR_IPSEC_IKE_INVALID_AUTH_ALG",message:"Invalid authentication algorithm."},"0x00003633":{code:"ERROR_IPSEC_IKE_INVALID_SIG",message:"Invalid certificate signature."},"0x00003634":{code:"ERROR_IPSEC_IKE_LOAD_FAILED",message:"Load failed."},"0x00003635":{code:"ERROR_IPSEC_IKE_RPC_DELETE",message:"Deleted by using an RPC call."},"0x00003636":{code:"ERROR_IPSEC_IKE_BENIGN_REINIT",message:"A temporary state was created to perform reinitialization. This is not a real failure."},"0x00003637":{code:"ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY",message:"The lifetime value received in the Responder Lifetime Notify is below the Windows 2000 configured minimum value. Fix the policy on the peer machine."},"0x00003639":{code:"ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN",message:"Key length in the certificate is too small for configured security requirements."},"0x0000363A":{code:"ERROR_IPSEC_IKE_MM_LIMIT",message:"Maximum number of established MM SAs to peer exceeded."},"0x0000363B":{code:"ERROR_IPSEC_IKE_NEGOTIATION_DISABLED",message:"The IKE received a policy that disables negotiation."},"0x0000363C":{code:"ERROR_IPSEC_IKE_QM_LIMIT",message:"Reached maximum quick mode limit for the main mode. New main mode will be started."},"0x0000363D":{code:"ERROR_IPSEC_IKE_MM_EXPIRED",message:"Main mode SA lifetime expired or the peer sent a main mode delete."},"0x0000363E":{code:"ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID",message:"Main mode SA assumed to be invalid because peer stopped responding."},"0x0000363F":{code:"ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH",message:"Certificate does not chain to a trusted root in IPsec policy."},"0x00003640":{code:"ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID",message:"Received unexpected message ID."},"0x00003641":{code:"ERROR_IPSEC_IKE_INVALID_UMATTS",message:"Received invalid AuthIP user mode attributes."},"0x00003642":{code:"ERROR_IPSEC_IKE_DOS_COOKIE_SENT",message:"Sent DOS cookie notify to initiator."},"0x00003643":{code:"ERROR_IPSEC_IKE_SHUTTING_DOWN",message:"The IKE service is shutting down."},"0x00003644":{code:"ERROR_IPSEC_IKE_CGA_AUTH_FAILED",message:"Could not verify the binding between the color graphics adapter (CGA) address and the certificate."},"0x00003645":{code:"ERROR_IPSEC_IKE_PROCESS_ERR_NATOA",message:"Error processing the NatOA payload."},"0x00003646":{code:"ERROR_IPSEC_IKE_INVALID_MM_FOR_QM",message:"The parameters of the main mode are invalid for this quick mode."},"0x00003647":{code:"ERROR_IPSEC_IKE_QM_EXPIRED",message:"The quick mode SA was expired by the IPsec driver."},"0x00003648":{code:"ERROR_IPSEC_IKE_TOO_MANY_FILTERS",message:"Too many dynamically added IKEEXT filters were detected."},"0x00003649":{code:"ERROR_IPSEC_IKE_NEG_STATUS_END",message:"Ends the list of frequencies of various IKE Win32 error codes encountered during negotiations."},"0x000036B0":{code:"ERROR_SXS_SECTION_NOT_FOUND",message:"The requested section was not present in the activation context."},"0x000036B1":{code:"ERROR_SXS_CANT_GEN_ACTCTX",message:"The application has failed to start because its side-by-side configuration is incorrect. See the application event log for more detail."},"0x000036B2":{code:"ERROR_SXS_INVALID_ACTCTXDATA_FORMAT",message:"The application binding data format is invalid."},"0x000036B3":{code:"ERROR_SXS_ASSEMBLY_NOT_FOUND",message:"The referenced assembly is not installed on your system."},"0x000036B4":{code:"ERROR_SXS_MANIFEST_FORMAT_ERROR",message:"The manifest file does not begin with the required tag and format information."},"0x000036B5":{code:"ERROR_SXS_MANIFEST_PARSE_ERROR",message:"The manifest file contains one or more syntax errors."},"0x000036B6":{code:"ERROR_SXS_ACTIVATION_CONTEXT_DISABLED",message:"The application attempted to activate a disabled activation context."},"0x000036B7":{code:"ERROR_SXS_KEY_NOT_FOUND",message:"The requested lookup key was not found in any active activation context."},"0x000036B8":{code:"ERROR_SXS_VERSION_CONFLICT",message:"A component version required by the application conflicts with another active component version."},"0x000036B9":{code:"ERROR_SXS_WRONG_SECTION_TYPE",message:"The type requested activation context section does not match the query API used."},"0x000036BA":{code:"ERROR_SXS_THREAD_QUERIES_DISABLED",message:"Lack of system resources has required isolated activation to be disabled for the current thread of execution."},"0x000036BB":{code:"ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET",message:"An attempt to set the process default activation context failed because the process default activation context was already set."},"0x000036BC":{code:"ERROR_SXS_UNKNOWN_ENCODING_GROUP",message:"The encoding group identifier specified is not recognized."},"0x000036BD":{code:"ERROR_SXS_UNKNOWN_ENCODING",message:"The encoding requested is not recognized."},"0x000036BE":{code:"ERROR_SXS_INVALID_XML_NAMESPACE_URI",message:"The manifest contains a reference to an invalid URI."},"0x000036BF":{code:"ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_OT_INSTALLED",message:"The application manifest contains a reference to a dependent assembly that is not installed."},"0x000036C0":{code:"ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED",message:"The manifest for an assembly used by the application has a reference to a dependent assembly that is not installed."},"0x000036C1":{code:"ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE",message:"The manifest contains an attribute for the assembly identity that is not valid."},"0x000036C2":{code:"ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE",message:"The manifest is missing the required default namespace specification on the assembly element."},"0x000036C3":{code:"ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE",message:'The manifest has a default namespace specified on the assembly element but its value is not urn:schemas-microsoft-com:asm.v1"."'},"0x000036C4":{code:"ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT",message:"The private manifest probed has crossed the reparse-point-associated path."},"0x000036C5":{code:"ERROR_SXS_DUPLICATE_DLL_NAME",message:"Two or more components referenced directly or indirectly by the application manifest have files by the same name."},"0x000036C6":{code:"ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME",message:"Two or more components referenced directly or indirectly by the application manifest have window classes with the same name."},"0x000036C7":{code:"ERROR_SXS_DUPLICATE_CLSID",message:"Two or more components referenced directly or indirectly by the application manifest have the same COM server CLSIDs."},"0x000036C8":{code:"ERROR_SXS_DUPLICATE_IID",message:"Two or more components referenced directly or indirectly by the application manifest have proxies for the same COM interface IIDs."},"0x000036C9":{code:"ERROR_SXS_DUPLICATE_TLBID",message:"Two or more components referenced directly or indirectly by the application manifest have the same COM type library TLBIDs."},"0x000036CA":{code:"ERROR_SXS_DUPLICATE_PROGID",message:"Two or more components referenced directly or indirectly by the application manifest have the same COM ProgIDs."},"0x000036CB":{code:"ERROR_SXS_DUPLICATE_ASSEMBLY_NAME",message:"Two or more components referenced directly or indirectly by the application manifest are different versions of the same component, which is not permitted."},"0x000036CC":{code:"ERROR_SXS_FILE_HASH_MISMATCH",message:"A component's file does not match the verification information present in the component manifest."},"0x000036CD":{code:"ERROR_SXS_POLICY_PARSE_ERROR",message:"The policy manifest contains one or more syntax errors."},"0x000036CE":{code:"ERROR_SXS_XML_E_MISSINGQUOTE",message:"Manifest Parse Error: A string literal was expected, but no opening quotation mark was found."},"0x000036CF":{code:"ERROR_SXS_XML_E_COMMENTSYNTAX",message:"Manifest Parse Error: Incorrect syntax was used in a comment."},"0x000036D0":{code:"ERROR_SXS_XML_E_BADSTARTNAMECHAR",message:"Manifest Parse Error: A name started with an invalid character."},"0x000036D1":{code:"ERROR_SXS_XML_E_BADNAMECHAR",message:"Manifest Parse Error: A name contained an invalid character."},"0x000036D2":{code:"ERROR_SXS_XML_E_BADCHARINSTRING",message:"Manifest Parse Error: A string literal contained an invalid character."},"0x000036D3":{code:"ERROR_SXS_XML_E_XMLDECLSYNTAX",message:"Manifest Parse Error: Invalid syntax for an XML declaration."},"0x000036D4":{code:"ERROR_SXS_XML_E_BADCHARDATA",message:"Manifest Parse Error: An Invalid character was found in text content."},"0x000036D5":{code:"ERROR_SXS_XML_E_MISSINGWHITESPACE",message:"Manifest Parse Error: Required white space was missing."},"0x000036D6":{code:"ERROR_SXS_XML_E_EXPECTINGTAGEND",message:"Manifest Parse Error: The angle bracket (>) character was expected."},"0x000036D7":{code:"ERROR_SXS_XML_E_MISSINGSEMICOLON",message:"Manifest Parse Error: A semicolon (;) was expected."},"0x000036D8":{code:"ERROR_SXS_XML_E_UNBALANCEDPAREN",message:"Manifest Parse Error: Unbalanced parentheses."},"0x000036D9":{code:"ERROR_SXS_XML_E_INTERNALERROR",message:"Manifest Parse Error: Internal error."},"0x000036DA":{code:"ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE",message:"Manifest Parse Error: Whitespace is not allowed at this location."},"0x000036DB":{code:"ERROR_SXS_XML_E_INCOMPLETE_ENCODING",message:"Manifest Parse Error: End of file reached in invalid state for current encoding."},"0x000036DC":{code:"ERROR_SXS_XML_E_MISSING_PAREN",message:"Manifest Parse Error: Missing parenthesis."},"0x000036DD":{code:"ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE",message:`Manifest Parse Error: A single (') or double (") quotation mark is missing.`},"0x000036DE":{code:"ERROR_SXS_XML_E_MULTIPLE_COLONS",message:"Manifest Parse Error: Multiple colons are not allowed in a name."},"0x000036DF":{code:"ERROR_SXS_XML_E_INVALID_DECIMAL",message:"Manifest Parse Error: Invalid character for decimal digit."},"0x000036E0":{code:"ERROR_SXS_XML_E_INVALID_HEXIDECIMAL",message:"Manifest Parse Error: Invalid character for hexadecimal digit."},"0x000036E1":{code:"ERROR_SXS_XML_E_INVALID_UNICODE",message:"Manifest Parse Error: Invalid Unicode character value for this platform."},"0x000036E2":{code:"ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK",message:"Manifest Parse Error: Expecting whitespace or question mark (?)."},"0x000036E3":{code:"ERROR_SXS_XML_E_UNEXPECTEDENDTAG",message:"Manifest Parse Error: End tag was not expected at this location."},"0x000036E4":{code:"ERROR_SXS_XML_E_UNCLOSEDTAG",message:"Manifest Parse Error: The following tags were not closed: %1."},"0x000036E5":{code:"ERROR_SXS_XML_E_DUPLICATEATTRIBUTE",message:"Manifest Parse Error: Duplicate attribute."},"0x000036E6":{code:"ERROR_SXS_XML_E_MULTIPLEROOTS",message:"Manifest Parse Error: Only one top-level element is allowed in an XML document."},"0x000036E7":{code:"ERROR_SXS_XML_E_INVALIDATROOTLEVEL",message:"Manifest Parse Error: Invalid at the top level of the document."},"0x000036E8":{code:"ERROR_SXS_XML_E_BADXMLDECL",message:"Manifest Parse Error: Invalid XML declaration."},"0x000036E9":{code:"ERROR_SXS_XML_E_MISSINGROOT",message:"Manifest Parse Error: XML document must have a top-level element."},"0x000036EA":{code:"ERROR_SXS_XML_E_UNEXPECTEDEOF",message:"Manifest Parse Error: Unexpected end of file."},"0x000036EB":{code:"ERROR_SXS_XML_E_BADPEREFINSUBSET",message:"Manifest Parse Error: Parameter entities cannot be used inside markup declarations in an internal subset."},"0x000036EC":{code:"ERROR_SXS_XML_E_UNCLOSEDSTARTTAG",message:"Manifest Parse Error: Element was not closed."},"0x000036ED":{code:"ERROR_SXS_XML_E_UNCLOSEDENDTAG",message:"Manifest Parse Error: End element was missing the angle bracket (>) character."},"0x000036EE":{code:"ERROR_SXS_XML_E_UNCLOSEDSTRING",message:"Manifest Parse Error: A string literal was not closed."},"0x000036EF":{code:"ERROR_SXS_XML_E_UNCLOSEDCOMMENT",message:"Manifest Parse Error: A comment was not closed."},"0x000036F0":{code:"ERROR_SXS_XML_E_UNCLOSEDDECL",message:"Manifest Parse Error: A declaration was not closed."},"0x000036F1":{code:"ERROR_SXS_XML_E_UNCLOSEDCDATA",message:"Manifest Parse Error: A CDATA section was not closed."},"0x000036F2":{code:"ERROR_SXS_XML_E_RESERVEDNAMESPACE",message:'Manifest Parse Error: The namespace prefix is not allowed to start with the reserved string xml"."'},"0x000036F3":{code:"ERROR_SXS_XML_E_INVALIDENCODING",message:"Manifest Parse Error: System does not support the specified encoding."},"0x000036F4":{code:"ERROR_SXS_XML_E_INVALIDSWITCH",message:"Manifest Parse Error: Switch from current encoding to specified encoding not supported."},"0x000036F5":{code:"ERROR_SXS_XML_E_BADXMLCASE",message:'Manifest Parse Error: The name "xml" is reserved and must be lowercase.'},"0x000036F6":{code:"ERROR_SXS_XML_E_INVALID_STANDALONE",message:'Manifest Parse Error: The stand-alone attribute must have the value "yes" or "no".'},"0x000036F7":{code:"ERROR_SXS_XML_E_UNEXPECTED_STANDALONE",message:"Manifest Parse Error: The stand-alone attribute cannot be used in external entities."},"0x000036F8":{code:"ERROR_SXS_XML_E_INVALID_VERSION",message:"Manifest Parse Error: Invalid version number."},"0x000036F9":{code:"ERROR_SXS_XML_E_MISSINGEQUALS",message:"Manifest Parse Error: Missing equal sign (=) between the attribute and the attribute value."},"0x000036FA":{code:"ERROR_SXS_PROTECTION_RECOVERY_FAILED",message:"Assembly Protection Error: Unable to recover the specified assembly."},"0x000036FB":{code:"ERROR_SXS_PROTECTION_PUBLIC_KEY_OO_SHORT",message:"Assembly Protection Error: The public key for an assembly was too short to be allowed."},"0x000036FC":{code:"ERROR_SXS_PROTECTION_CATALOG_NOT_VALID",message:"Assembly Protection Error: The catalog for an assembly is not valid, or does not match the assembly's manifest."},"0x000036FD":{code:"ERROR_SXS_UNTRANSLATABLE_HRESULT",message:"An HRESULT could not be translated to a corresponding Win32 error code."},"0x000036FE":{code:"ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING",message:"Assembly Protection Error: The catalog for an assembly is missing."},"0x000036FF":{code:"ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE",message:"The supplied assembly identity is missing one or more attributes that must be present in this context."},"0x00003700":{code:"ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME",message:"The supplied assembly identity has one or more attribute names that contain characters not permitted in XML names."},"0x00003701":{code:"ERROR_SXS_ASSEMBLY_MISSING",message:"The referenced assembly could not be found."},"0x00003702":{code:"ERROR_SXS_CORRUPT_ACTIVATION_STACK",message:"The activation context activation stack for the running thread of execution is corrupt."},"0x00003703":{code:"ERROR_SXS_CORRUPTION",message:"The application isolation metadata for this process or thread has become corrupt."},"0x00003704":{code:"ERROR_SXS_EARLY_DEACTIVATION",message:"The activation context being deactivated is not the most recently activated one."},"0x00003705":{code:"ERROR_SXS_INVALID_DEACTIVATION",message:"The activation context being deactivated is not active for the current thread of execution."},"0x00003706":{code:"ERROR_SXS_MULTIPLE_DEACTIVATION",message:"The activation context being deactivated has already been deactivated."},"0x00003707":{code:"ERROR_SXS_PROCESS_TERMINATION_REQUESTED",message:"A component used by the isolation facility has requested to terminate the process."},"0x00003708":{code:"ERROR_SXS_RELEASE_ACTIVATION_ONTEXT",message:"A kernel mode component is releasing a reference on an activation context."},"0x00003709":{code:"ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY",message:"The activation context of the system default assembly could not be generated."},"0x0000370A":{code:"ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE",message:"The value of an attribute in an identity is not within the legal range."},"0x0000370B":{code:"ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME",message:"The name of an attribute in an identity is not within the legal range."},"0x0000370C":{code:"ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE",message:"An identity contains two definitions for the same attribute."},"0x0000370D":{code:"ERROR_SXS_IDENTITY_PARSE_ERROR",message:"The identity string is malformed. This may be due to a trailing comma, more than two unnamed attributes, a missing attribute name, or a missing attribute value."},"0x0000370E":{code:"ERROR_MALFORMED_SUBSTITUTION_STRING",message:"A string containing localized substitutable content was malformed. Either a dollar sign ($) was followed by something other than a left parenthesis or another dollar sign, or a substitution's right parenthesis was not found."},"0x0000370F":{code:"ERROR_SXS_INCORRECT_PUBLIC_KEY_OKEN",message:"The public key token does not correspond to the public key specified."},"0x00003710":{code:"ERROR_UNMAPPED_SUBSTITUTION_STRING",message:"A substitution string had no mapping."},"0x00003711":{code:"ERROR_SXS_ASSEMBLY_NOT_LOCKED",message:"The component must be locked before making the request."},"0x00003712":{code:"ERROR_SXS_COMPONENT_STORE_CORRUPT",message:"The component store has been corrupted."},"0x00003713":{code:"ERROR_ADVANCED_INSTALLER_FAILED",message:"An advanced installer failed during setup or servicing."},"0x00003714":{code:"ERROR_XML_ENCODING_MISMATCH",message:"The character encoding in the XML declaration did not match the encoding used in the document."},"0x00003715":{code:"ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT",message:"The identities of the manifests are identical, but the contents are different."},"0x00003716":{code:"ERROR_SXS_IDENTITIES_DIFFERENT",message:"The component identities are different."},"0x00003717":{code:"ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT",message:"The assembly is not a deployment."},"0x00003718":{code:"ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY",message:"The file is not a part of the assembly."},"0x00003719":{code:"ERROR_SXS_MANIFEST_TOO_BIG",message:"The size of the manifest exceeds the maximum allowed."},"0x0000371A":{code:"ERROR_SXS_SETTING_NOT_REGISTERED",message:"The setting is not registered."},"0x0000371B":{code:"ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE",message:"One or more required members of the transaction are not present."},"0x00003A98":{code:"ERROR_EVT_INVALID_CHANNEL_PATH",message:"The specified channel path is invalid."},"0x00003A99":{code:"ERROR_EVT_INVALID_QUERY",message:"The specified query is invalid."},"0x00003A9A":{code:"ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND",message:"The publisher metadata cannot be found in the resource."},"0x00003A9B":{code:"ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND",message:"The template for an event definition cannot be found in the resource (error = %1)."},"0x00003A9C":{code:"ERROR_EVT_INVALID_PUBLISHER_NAME",message:"The specified publisher name is invalid."},"0x00003A9D":{code:"ERROR_EVT_INVALID_EVENT_DATA",message:"The event data raised by the publisher is not compatible with the event template definition in the publisher's manifest."},"0x00003A9F":{code:"ERROR_EVT_CHANNEL_NOT_FOUND",message:"The specified channel could not be found. Check channel configuration."},"0x00003AA0":{code:"ERROR_EVT_MALFORMED_XML_TEXT",message:"The specified XML text was not well-formed. See extended error for more details."},"0x00003AA1":{code:"ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL",message:"The caller is trying to subscribe to a direct channel which is not allowed. The events for a direct channel go directly to a log file and cannot be subscribed to."},"0x00003AA2":{code:"ERROR_EVT_CONFIGURATION_ERROR",message:"Configuration error."},"0x00003AA3":{code:"ERROR_EVT_QUERY_RESULT_STALE",message:"The query result is stale or invalid. This may be due to the log being cleared or rolling over after the query result was created. Users should handle this code by releasing the query result object and reissuing the query."},"0x00003AA4":{code:"ERROR_EVT_QUERY_RESULT_INVALID_POSITION",message:"Query result is currently at an invalid position."},"0x00003AA5":{code:"ERROR_EVT_NON_VALIDATING_MSXML",message:"Registered Microsoft XML (MSXML) does not support validation."},"0x00003AA6":{code:"ERROR_EVT_FILTER_ALREADYSCOPED",message:"An expression can only be followed by a change-of-scope operation if it itself evaluates to a node set and is not already part of some other change-of-scope operation."},"0x00003AA7":{code:"ERROR_EVT_FILTER_NOTELTSET",message:"Cannot perform a step operation from a term that does not represent an element set."},"0x00003AA8":{code:"ERROR_EVT_FILTER_INVARG",message:"Left side arguments to binary operators must be either attributes, nodes, or variables and right side arguments must be constants."},"0x00003AA9":{code:"ERROR_EVT_FILTER_INVTEST",message:"A step operation must involve either a node test or, in the case of a predicate, an algebraic expression against which to test each node in the node set identified by the preceding node set can be evaluated."},"0x00003AAA":{code:"ERROR_EVT_FILTER_INVTYPE",message:"This data type is currently unsupported."},"0x00003AAB":{code:"ERROR_EVT_FILTER_PARSEERR",message:"A syntax error occurred at position %1!d!"},"0x00003AAC":{code:"ERROR_EVT_FILTER_UNSUPPORTEDOP",message:"This operator is unsupported by this implementation of the filter."},"0x00003AAD":{code:"ERROR_EVT_FILTER_UNEXPECTEDTOKEN",message:"The token encountered was unexpected."},"0x00003AAE":{code:"ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL",message:"The requested operation cannot be performed over an enabled direct channel. The channel must first be disabled before performing the requested operation."},"0x00003AAF":{code:"ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE",message:"Channel property %1!s! contains an invalid value. The value has an invalid type, is outside the valid range, cannot be updated, or is not supported by this type of channel."},"0x00003AB0":{code:"ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE",message:"Publisher property %1!s! contains an invalid value. The value has an invalid type, is outside the valid range, cannot be updated, or is not supported by this type of publisher."},"0x00003AB1":{code:"ERROR_EVT_CHANNEL_CANNOT_ACTIVATE",message:"The channel fails to activate."},"0x00003AB2":{code:"ERROR_EVT_FILTER_TOO_COMPLEX",message:"The xpath expression exceeded supported complexity. Simplify it or split it into two or more simple expressions."},"0x00003AB3":{code:"ERROR_EVT_MESSAGE_NOT_FOUND",message:"The message resource is present but the message is not found in the string or message table."},"0x00003AB4":{code:"ERROR_EVT_MESSAGE_ID_NOT_FOUND",message:"The message ID for the desired message could not be found."},"0x00003AB5":{code:"ERROR_EVT_UNRESOLVED_VALUE_INSERT",message:"The substitution string for the insert index (%1) could not be found."},"0x00003AB6":{code:"ERROR_EVT_UNRESOLVED_PARAMETER_INSERT",message:"The description string for the parameter reference (%1) could not be found."},"0x00003AB7":{code:"ERROR_EVT_MAX_INSERTS_REACHED",message:"The maximum number of replacements has been reached."},"0x00003AB8":{code:"ERROR_EVT_EVENT_DEFINITION_NOT_OUND",message:"The event definition could not be found for the event ID (%1)."},"0x00003AB9":{code:"ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND",message:"The locale-specific resource for the desired message is not present."},"0x00003ABA":{code:"ERROR_EVT_VERSION_TOO_OLD",message:"The resource is too old to be compatible."},"0x00003ABB":{code:"ERROR_EVT_VERSION_TOO_NEW",message:"The resource is too new to be compatible."},"0x00003ABC":{code:"ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY",message:"The channel at index %1 of the query cannot be opened."},"0x00003ABD":{code:"ERROR_EVT_PUBLISHER_DISABLED",message:"The publisher has been disabled and its resource is not available. This usually occurs when the publisher is in the process of being uninstalled or upgraded."},"0x00003AE8":{code:"ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE",message:"The subscription fails to activate."},"0x00003AE9":{code:"ERROR_EC_LOG_DISABLED",message:"The log of the subscription is in a disabled state and events cannot be forwarded to it. The log must first be enabled before the subscription can be activated."},"0x00003AFC":{code:"ERROR_MUI_FILE_NOT_FOUND",message:"The resource loader failed to find the Multilingual User Interface (MUI) file."},"0x00003AFD":{code:"ERROR_MUI_INVALID_FILE",message:"The resource loader failed to load the MUI file because the file failed to pass validation."},"0x00003AFE":{code:"ERROR_MUI_INVALID_RC_CONFIG",message:"The release candidate (RC) manifest is corrupted with garbage data, is an unsupported version, or is missing a required item."},"0x00003AFF":{code:"ERROR_MUI_INVALID_LOCALE_NAME",message:"The RC manifest has an invalid culture name."},"0x00003B00":{code:"ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME",message:"The RC Manifest has an invalid ultimate fallback name."},"0x00003B01":{code:"ERROR_MUI_FILE_NOT_LOADED",message:"The resource loader cache does not have a loaded MUI entry."},"0x00003B02":{code:"ERROR_RESOURCE_ENUM_USER_STOP",message:"The user stopped resource enumeration."},"0x00003B03":{code:"ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED",message:"User interface language installation failed."},"0x00003B04":{code:"ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME",message:"Locale installation failed."},"0x00003B60":{code:"ERROR_MCA_INVALID_CAPABILITIES_STRING",message:"The monitor returned a DDC/CI capabilities string that did not comply with the ACCESS.bus 3.0, DDC/CI 1.1, or MCCS 2 Revision 1 specification."},"0x00003B61":{code:"ERROR_MCA_INVALID_VCP_VERSION",message:"The monitor's VCP version (0xDF) VCP code returned an invalid version value."},"0x00003B62":{code:"ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION",message:"The monitor does not comply with the MCCS specification it claims to support."},"0x00003B63":{code:"ERROR_MCA_MCCS_VERSION_MISMATCH",message:"The MCCS version in a monitor's mccs_ver capability does not match the MCCS version the monitor reports when the VCP version (0xDF) VCP code is used."},"0x00003B64":{code:"ERROR_MCA_UNSUPPORTED_MCCS_VERSION",message:"The monitor configuration API works only with monitors that support the MCCS 1.0, MCCS 2.0, or MCCS 2.0 Revision 1 specifications."},"0x00003B65":{code:"ERROR_MCA_INTERNAL_ERROR",message:"An internal monitor configuration API error occurred."},"0x00003B66":{code:"ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED",message:"The monitor returned an invalid monitor technology type. CRT, plasma, and LCD (TFT) are examples of monitor technology types. This error implies that the monitor violated the MCCS 2.0 or MCCS 2.0 Revision 1 specification."},"0x00003B67":{code:"ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE",message:"The SetMonitorColorTemperature() caller passed a color temperature to it that the current monitor did not support. CRT, plasma, and LCD (TFT) are examples of monitor technology types. This error implies that the monitor violated the MCCS 2.0 or MCCS 2.0 Revision 1 specification."},"0x00003B92":{code:"ERROR_AMBIGUOUS_SYSTEM_DEVICE",message:"The requested system device cannot be identified due to multiple indistinguishable devices potentially matching the identification criteria."},"0x00003BC3":{code:"ERROR_SYSTEM_DEVICE_NOT_FOUND",message:"The requested system device cannot be found."}}});var nl=S((UIs,jHt)=>{var es=jHt.exports=function(e,t){if(es.isBigInt(e))this.buffer=Buffer.allocUnsafe(e.buffer.length),e.buffer.copy(this.buffer,0),this.sign=e.sign;else if(this.buffer=Buffer.alloc(e),this.sign=1,t=t||0,t!==0){t<0&&(this.sign=-1,t=-t),t=t.toString(16);for(var r=Math.ceil(t.length/2),n=r*2-t.length,s=0;s"u"?1:t;var r=new es(0);return r.sign=t,r.buffer=e,r};es.prototype.add=function(e){if(es.isBigInt(e)||(e=es.toBigInt(this.buffer.length,e)),this.sign!==e.sign)return this.neg().sub(e);for(var t=0,r=Math.max(e.buffer.length,this.buffer.length),n=new es(r),s=0;s>8}return n.sign=this.sign,n};es.prototype.neg=function(){var e=new es(this);return e.sign*=-1,e};es.prototype.abs=function(){var e=new es(this);return e.sign=1,e};es.prototype.sub=function(e){if(es.isBigInt(e)||(e=es.toBigInt(this.buffer.length,e)),this.sign!==e.sign)return this.add(e.neg());var t=0,r=new es(this),n=new es(e),s=Math.max(r.buffer.length,n.buffer.length),i=new es(s),a=this.sign;if(r.abs().lt(n.abs())){var o=r;r=n,n=o,a*=-1}for(var c=0;c>8)+d}return i.sign=a,i};es.prototype.toBuffer=function(){return this.buffer};es.prototype.toNumber=function(){for(var e=Buffer.allocUnsafe(this.buffer.length),t=0;te.sign)return 1;if(this.sign=0;r--){var n=rs?this.sign:-this.sign}return 0};es.prototype.lt=function(e){return this.compare(e)<0};es.prototype.le=function(e){return this.compare(e)<=0};es.prototype.gt=function(e){return this.compare(e)>0};es.prototype.ge=function(e){return this.compare(e)>=0}});var sl=S((FIs,YHt)=>{var KHt=VHt(),e1n=nl(),GHt={successCode:"STATUS_SUCCESS",parse:function(e,t,r){var n=this;return function(s){var i=s.getHeaders(),a=KHt.getStatus(e1n.fromBuffer(i.Status).toNumber());a.code===n.successCode?(n.onSuccess&&n.onSuccess(e,s),t&&t(null,n.parseResponse&&n.parseResponse(s))):(r.message=KHt.getErrorMessage(a),r.code=a.code,t&&t(r))}},parseResponse:function(e){return e.getResponse()}};YHt.exports=function(e){for(var t in GHt)e[t]=e[t]||GHt[t];return e}});var zHt=S(($Is,QHt)=>{var t1n=eu(),r1n=sl();QHt.exports=r1n({generate:function(e,t){return new t1n({headers:{Command:"CLOSE",SessionId:e.SessionId,TreeId:e.TreeId,ProcessId:e.ProcessId},request:{FileId:t.FileId}})}})});var XHt=S((qIs,WHt)=>{var n1n=eu(),s1n=sl(),il=yc(),i1n=il.DELETE|il.FILE_APPEND_DATA|il.FILE_DELETE_CHILD|il.FILE_READ_ATTRIBUTES|il.FILE_READ_DATA|il.FILE_READ_EA|il.FILE_WRITE_ATTRIBUTES|il.FILE_WRITE_DATA|il.FILE_WRITE_EA|il.READ_CONTROL|il.SYNCHRONIZE|il.WRITE_DAC;WHt.exports=s1n({generate:function(e,t){var r=Buffer.from(t.path,"ucs2"),n=t.createDisposition,s=t.shareAccess;return n>=0&&n<=5||(n=il.FILE_OVERWRITE_IF),s>=0&&s<=7||(s=il.FILE_SHARE_NONE),new n1n({headers:{Command:"CREATE",SessionId:e.SessionId,TreeId:e.TreeId,ProcessId:e.ProcessId},request:{Buffer:r,DesiredAccess:i1n,FileAttributes:128,ShareAccess:s,CreateDisposition:n,CreateOptions:68,NameOffset:120,CreateContextsOffset:122+r.length}})}})});var ZHt=S((HIs,JHt)=>{var a1n=eu(),o1n=sl(),jl=yc(),c1n=jl.DELETE|jl.FILE_APPEND_DATA|jl.FILE_DELETE_CHILD|jl.FILE_READ_ATTRIBUTES|jl.FILE_READ_DATA|jl.FILE_READ_EA|jl.FILE_WRITE_ATTRIBUTES|jl.FILE_WRITE_DATA|jl.FILE_WRITE_EA|jl.READ_CONTROL|jl.SYNCHRONIZE|jl.WRITE_DAC;JHt.exports=o1n({generate:function(e,t){var r=Buffer.from(t.path,"ucs2");return new a1n({headers:{Command:"CREATE",SessionId:e.SessionId,TreeId:e.TreeId,ProcessId:e.ProcessId},request:{Buffer:r,DesiredAccess:c1n,FileAttributes:0,ShareAccess:0,CreateDisposition:jl.FILE_CREATE,CreateOptions:33,NameOffset:120,CreateContextsOffset:122+r.length}})}})});var tVt=S((VIs,eVt)=>{var u1n=eu(),l1n=sl();eVt.exports=l1n({generate:function(e){return new u1n({headers:{Command:"NEGOTIATE",ProcessId:e.ProcessId}})}})});var nVt=S((jIs,rVt)=>{var d1n=eu(),f1n=sl();rVt.exports=f1n({generate:function(e,t){var r=Buffer.from(t.path,"ucs2");return new d1n({headers:{Command:"CREATE",SessionId:e.SessionId,TreeId:e.TreeId,ProcessId:e.ProcessId},request:{Buffer:r,NameOffset:120,CreateContextsOffset:122+r.length,DesiredAccess:t.desiredAccess}})}})});var iVt=S((KIs,sVt)=>{var h1n=eu(),p1n=sl(),Kl=yc(),m1n=Kl.DELETE|Kl.FILE_APPEND_DATA|Kl.FILE_DELETE_CHILD|Kl.FILE_READ_ATTRIBUTES|Kl.FILE_READ_DATA|Kl.FILE_READ_EA|Kl.FILE_WRITE_ATTRIBUTES|Kl.FILE_WRITE_DATA|Kl.FILE_WRITE_EA|Kl.READ_CONTROL|Kl.SYNCHRONIZE|Kl.WRITE_DAC;sVt.exports=p1n({generate:function(e,t){var r=Buffer.from(t.path,"ucs2");return new h1n({headers:{Command:"CREATE",SessionId:e.SessionId,TreeId:e.TreeId,ProcessId:e.ProcessId},request:{Buffer:r,DesiredAccess:m1n,FileAttributes:0,ShareAccess:7,CreateDisposition:Kl.FILE_OPEN,CreateOptions:2097185,NameOffset:120,CreateContextsOffset:122+r.length}})}})});var oVt=S((GIs,aVt)=>{var g1n=eu(),_1n=sl();aVt.exports=_1n({generate:function(e,t){return new g1n({headers:{Command:"QUERY_DIRECTORY",SessionId:e.SessionId,TreeId:e.TreeId,ProcessId:e.ProcessId},request:{FileId:t.FileId,Buffer:Buffer.from("*","ucs2")}})},parseResponse:function(e){return A1n(e.getResponse().Buffer)}});function A1n(e){for(var t=[],r=0,n=-1;n!==0;)n=e.readUInt32LE(r),t.push(E1n(e.slice(r+4,n?r+n:e.length))),r+=n;return t}function E1n(e){var t={},r=0;return t.Index=e.readUInt32LE(r),r+=4,t.CreationTime=e.slice(r,r+8),r+=8,t.LastAccessTime=e.slice(r,r+8),r+=8,t.LastWriteTime=e.slice(r,r+8),r+=8,t.ChangeTime=e.slice(r,r+8),r+=8,t.EndofFile=e.slice(r,r+8),r+=8,t.AllocationSize=e.slice(r,r+8),r+=8,t.FileAttributes=e.readUInt32LE(r),r+=4,t.FilenameLength=e.readUInt32LE(r),r+=4,t.EASize=e.readUInt32LE(r),r+=4,t.ShortNameLength=e.readUInt8(r),r+=1,t.FileId=e.slice(r,r+8),r+=8,r+=27,t.Filename=e.slice(r,r+t.FilenameLength).toString("ucs2"),r+=t.FilenameLength,t}});var uVt=S((YIs,cVt)=>{var y1n=eu(),v1n=sl();cVt.exports=v1n({generate:function(e,t){return new y1n({headers:{Command:"READ",SessionId:e.SessionId,TreeId:e.TreeId,ProcessId:e.ProcessId},request:{FileId:t.FileId,Length:t.Length,Offset:t.Offset}})},parseResponse:function(e){return e.getResponse().Buffer}})});var vDe=S((zIs,vB)=>{var QIs=require("crypto");function lVt(e,t){for(;e.length>n&1))%2;e[t]|=r&1}return e}function T1n(e){var t=new Buffer(8);return t[0]=e[0]&254,t[1]=e[0]<<7&255|e[1]>>1,t[2]=e[1]<<6&255|e[2]>>2,t[3]=e[2]<<5&255|e[3]>>3,t[4]=e[3]<<4&255|e[4]>>4,t[5]=e[4]<<3&255|e[5]>>5,t[6]=e[5]<<2&255|e[6]>>6,t[7]=e[6]<<1&255,t}function b1n(e){var t=Buffer.isBuffer(t)?t:new Buffer(e,"binary"),r=t.toString("hex").toUpperCase();return lVt(r,32)}vB.exports.zeroextend=lVt;vB.exports.oddpar=S1n;vB.exports.expandkey=T1n;vB.exports.bintohex=b1n});var XQ=S((WIs,SB)=>{var dVt=require("crypto"),Aw=vDe();function fVt(e){var t=e.substring(0,14).toUpperCase(),r=Buffer.byteLength(t,"ascii"),n=new Buffer(14);n.write(t,0,r,"ascii"),n.fill(0,r);var s=[Aw.oddpar(Aw.expandkey(n.slice(0,7))),Aw.oddpar(Aw.expandkey(n.slice(7,14)))],i=new Buffer(16),a=0,o=s.forEach(function(c){var u=dVt.createCipheriv("DES-ECB",c,""),l=u.update("KGS!@#$%","binary","binary");i.write(l,a,a+8,"binary"),a+=8});return i}function hVt(e){var t=new Buffer(e,"ucs2"),r=dVt.createHash("md4");return r.update(t),new Buffer(r.digest("binary"),"binary")}function I1n(e){return Aw.bintohex(fVt(e))}function R1n(e){return Aw.bintohex(hVt(e))}SB.exports.nthashbuf=hVt;SB.exports.lmhashbuf=fVt;SB.exports.nthash=R1n;SB.exports.lmhash=I1n});var SDe=S(Ap=>{var C1n=require("crypto"),pVt=vDe(),x1n=XQ().lmhashbuf,w1n=XQ().nthashbuf;function N1n(e,t){e=e.toUpperCase(),t=t.toUpperCase();var r=Buffer.byteLength(e,"ascii"),n=Buffer.byteLength(t,"ascii"),s=0,i=new Buffer(32+r+n);i.write("NTLMSSP",s,7,"ascii"),s+=7,i.writeUInt8(0,s),s++,i.writeUInt8(1,s),s++,i.fill(0,s,s+3),s+=3,i.writeUInt16LE(45571,s),s+=2,i.fill(0,s,s+2),s+=2,i.writeUInt16LE(n,s),s+=2,i.writeUInt16LE(n,s),s+=2;var a=32+r;return i.writeUInt16LE(a,s),s+=2,i.fill(0,s,s+2),s+=2,i.writeUInt16LE(r,s),s+=2,i.writeUInt16LE(r,s),s+=2,i.writeUInt16LE(32,s),s+=2,i.fill(0,s,s+2),s+=2,i.write(e,32,r,"ascii"),i.write(t,a,n,"ascii"),i}function O1n(e){var t=e.toString("ascii",0,7);if(e[7]!==0||t!=="NTLMSSP")throw new Error("magic was not NTLMSSP");var r=e.readUInt8(8);if(r!==2)throw new Error("message was not NTLMSSP type 0x02");var n=e.slice(24,32);return n}function D1n(e,t,r,n,s){t=t.toUpperCase(),r=r.toUpperCase();var i=new Buffer(21);x1n(s).copy(i),i.fill(0,16);var a=new Buffer(21);w1n(s).copy(a),a.fill(0,16);var o=mVt(i,n),c=mVt(a,n),u=Buffer.byteLength(e,"ucs2"),l=Buffer.byteLength(t,"ucs2"),d=Buffer.byteLength(r,"ucs2"),f=24,h=24,p=64,m=p+d,g=m+u,_=g+l,y=_+f,E=0,A=64+d+u+l+f+h,v=new Buffer(A);return v.write("NTLMSSP",E,7,"ascii"),E+=7,v.writeUInt8(0,E),E++,v.writeUInt8(3,E),E++,v.fill(0,E,E+3),E+=3,v.writeUInt16LE(f,E),E+=2,v.writeUInt16LE(f,E),E+=2,v.writeUInt16LE(_,E),E+=2,v.fill(0,E,E+2),E+=2,v.writeUInt16LE(h,E),E+=2,v.writeUInt16LE(h,E),E+=2,v.writeUInt16LE(y,E),E+=2,v.fill(0,E,E+2),E+=2,v.writeUInt16LE(d,E),E+=2,v.writeUInt16LE(d,E),E+=2,v.writeUInt16LE(p,E),E+=2,v.fill(0,E,E+2),E+=2,v.writeUInt16LE(u,E),E+=2,v.writeUInt16LE(u,E),E+=2,v.writeUInt16LE(m,E),E+=2,v.fill(0,E,E+2),E+=2,v.writeUInt16LE(l,E),E+=2,v.writeUInt16LE(l,E),E+=2,v.writeUInt16LE(g,E),E+=2,v.fill(0,E,E+6),E+=6,v.writeUInt16LE(A,E),E+=2,v.fill(0,E,E+2),E+=2,v.writeUInt16LE(33281,E),E+=2,v.fill(0,E,E+2),E+=2,v.write(r,p,d,"ucs2"),v.write(e,m,u,"ucs2"),v.write(t,g,l,"ucs2"),o.copy(v,_,0,f),c.copy(v,y,0,h),v}function mVt(e,t){for(var r=new Buffer(24),n=0;n<3;n++){var s=pVt.oddpar(pVt.expandkey(e.slice(n*7,n*7+7))),i=C1n.createCipheriv("DES-ECB",s,""),a=i.update(t.toString("binary"),"binary","binary");r.write(a,n*8,n*8+8,"binary")}return r}Ap.encodeType1=N1n;Ap.decodeType2=O1n;Ap.encodeType3=D1n;Ap.challengeHeader=function(e,t){return"NTLM "+Ap.encodeType1(e,t).toString("base64")};Ap.responseHeader=function(e,t,r,n,s){var i=new Buffer((e.headers["www-authenticate"].match(/^NTLM\s+(.+?)(,|\s+|$)/)||[])[1],"base64"),a=require("url").parse(t).hostname;return"NTLM "+Ap.encodeType3(n,a,r,Ap.decodeType2(i),s).toString("base64")};Ap.smbhash=XQ()});var AVt=S((JIs,_Vt)=>{var P1n=eu(),L1n=sl(),gVt=SDe();_Vt.exports=L1n({generate:function(e){return new P1n({headers:{Command:"SESSION_SETUP",ProcessId:e.ProcessId},request:{Buffer:gVt.encodeType1(e.ip,e.domain)}})},successCode:"STATUS_MORE_PROCESSING_REQUIRED",onSuccess:function(e,t){var r=t.getHeaders();e.SessionId=r.SessionId,e.nonce=gVt.decodeType2(t.getResponse().Buffer)}})});var yVt=S((ZIs,EVt)=>{var M1n=eu(),k1n=sl(),B1n=SDe();EVt.exports=k1n({generate:function(e){return new M1n({headers:{Command:"SESSION_SETUP",SessionId:e.SessionId,ProcessId:e.ProcessId},request:{Buffer:B1n.encodeType3(e.username,e.ip,e.domain,e.nonce,e.password)}})}})});var SVt=S((eRs,vVt)=>{var U1n=eu(),F1n=sl(),$1n={FileAllocationInformation:19,FileBasicInformation:4,FileDispositionInformation:13,FileEndOfFileInformation:20,FileFullEaInformation:15,FileLinkInformation:11,FileModeInformation:16,FilePipeInformation:23,FilePositionInformation:14,FileRenameInformation:10,FileShortNameInformation:40,FileValidDataLengthInformation:39};vVt.exports=F1n({generate:function(e,t){return new U1n({headers:{Command:"SET_INFO",SessionId:e.SessionId,TreeId:e.TreeId,ProcessId:e.ProcessId},request:{FileInfoClass:$1n[t.FileInfoClass],FileId:t.FileId,Buffer:t.Buffer}})}})});var bVt=S((tRs,TVt)=>{var q1n=eu(),H1n=sl();TVt.exports=H1n({generate:function(e){return new q1n({headers:{Command:"TREE_CONNECT",SessionId:e.SessionId,ProcessId:e.ProcessId},request:{Buffer:Buffer.from(e.fullPath,"ucs2")}})},onSuccess:function(e,t){var r=t.getHeaders();e.TreeId=r.TreeId}})});var RVt=S((rRs,IVt)=>{var V1n=eu(),j1n=sl();IVt.exports=j1n({generate:function(e,t){return new V1n({headers:{Command:"WRITE",SessionId:e.SessionId,TreeId:e.TreeId,ProcessId:e.ProcessId},request:{FileId:t.FileId,Offset:t.Offset,Buffer:t.Buffer}})},parseResponse:function(e){return e.getResponse().Buffer}})});var Aa=S((nRs,xVt)=>{var K1n=eu(),G1n={close:zHt(),create:XHt(),create_folder:ZHt(),negotiate:tVt(),open:nVt(),open_folder:iVt(),query_directory:oVt(),read:uVt(),session_setup_step1:AVt(),session_setup_step2:yVt(),set_info:SVt(),tree_connect:bVt(),write:RVt()},CVt=xVt.exports={};CVt.request=function(e,t,r,n){var s=G1n[e];if(!s)throw new Error("Unknown SMB2 message: "+e);var i=s.generate(r,t);Y1n(r,i);var a=new Error;a.messageName=e,a.params=t,Q1n(r,i.getHeaders().MessageId,s.parse(r,n,a))};CVt.response=function(e){return e.responses={},e.responsesCB={},e.responseBuffer=Buffer.allocUnsafe(0),function(t){e.responseBuffer=Buffer.concat([e.responseBuffer,t]);for(var r=!0;r;)if(r=!1,e.responseBuffer.length>=4){var n=(e.responseBuffer.readUInt8(1)<<16)+e.responseBuffer.readUInt16BE(2);if(e.responseBuffer.length>=n+4){r=!0;var s=e.responseBuffer.slice(4,n+4),i=new K1n;i.parseBuffer(s),e.debug&&(console.log("--response"),console.log(s.toString("hex")));var a=i.getHeaders().MessageId.toString("hex");e.responsesCB[a]?(e.responsesCB[a](i),delete e.responsesCB[a]):e.responses[a]=i,e.responseBuffer=e.responseBuffer.slice(n+4)}}}};function Y1n(e,t){var r=t.getBuffer(e);e.debug&&(console.log("--request"),console.log(r.toString("hex")));var n=Buffer.allocUnsafe(r.length+4);return n.writeUInt8(0,0),n.writeUInt8((16711680&r.length)>>16,1),n.writeUInt16BE(65535&r.length,2),r.copy(n,4,0,r.length),e.newResponse=!1,e.socket.write(n),!0}function Q1n(e,t,r){var n=Buffer.allocUnsafe(4);n.writeUInt32LE(t,0),n=n.toString("hex"),e.responses[n]?(r(e.responses[n]),delete e.responses[n]):e.responsesCB[n]=r}});var bDe=S((sRs,OVt)=>{var z1n=require("net"),wVt=Aa(),JQ=wVt.request,ZQ=OVt.exports={};ZQ.close=function(e){TDe(e),e.connected&&(e.connected=!1,e.socket.end())};ZQ.requireConnect=function(e){return function(){var t=this,r=Array.prototype.slice.call(arguments);W1n(t,function(n){var s=r.pop();typeof s!="function"&&(r.push(s),s=function(i){if(i)throw i instanceof Error||(i=new Error(String(i))),i}),s=NVt(t,s),r.push(s),n?s(n):e.apply(t,r)})}};ZQ.init=function(e){e.connected=!1,e.socket=new z1n.Socket({allowHalfOpen:!0}),e.socket.on("data",wVt.response(e)),e.errorHandler=[],e.socket.on("error",function(t){e.errorHandler.length>0&&e.errorHandler[0].call(null,t),e.debug&&(console.log("-- error"),console.log(arguments))})};function W1n(e,t){if(e.connected){t&&t(null);return}t=NVt(e,t),e.messageId=0,e.SessionId=Math.floor(Math.random()*256)&255,e.socket.connect(e.port,e.ip),JQ("negotiate",{},e,function(r){r?t&&t(r):JQ("session_setup_step1",{},e,function(n){n?t&&t(n):JQ("session_setup_step2",{},e,function(s){s?t&&t(s):JQ("tree_connect",{},e,function(i){i?t&&t(i):(e.connected=!0,t&&t(null))})})})})}function TDe(e){e.scheduledAutoClose&&(clearTimeout(e.scheduledAutoClose),e.scheduledAutoClose=null)}function X1n(e){TDe(e),e.autoCloseTimeout!==0&&(e.scheduledAutoClose=setTimeout(function(){ZQ.close(e)},e.autoCloseTimeout))}function NVt(e,t){return J1n(e,t),TDe(e),function(){Z1n(e),X1n(e),t.apply(null,arguments)}}function J1n(e,t){e.errorHandler.unshift(t)}function Z1n(e){e.errorHandler.shift()}});var PVt=S((iRs,DVt)=>{var eIn=bDe();DVt.exports=function(){eIn.close(this)}});var kVt=S((aRs,MVt)=>{var tIn=Aa(),LVt=tIn.request;MVt.exports=function(t,r){var n=this;LVt("open",{path:t},n,function(s,i){if(s!=null)return s.code==="STATUS_OBJECT_NAME_NOT_FOUND"||s.code==="STATUS_OBJECT_PATH_NOT_FOUND"?r&&r(null,!1):r&&r(s);LVt("close",i,n,function(){r&&r(null,!0)})})}});var $Vt=S((oRs,FVt)=>{var ez=nl(),tz=Aa().request,BVt=yc();FVt.exports=function(t,r,n,s){typeof n=="function"&&(s=n,n={});var i=this;tz("open_folder",{path:t},i,function(a,o){a?tz("create",{path:t,createDisposition:BVt.FILE_OPEN,shareAccess:BVt.FILE_SHARE_DELETE},i,function(c,u){c?s&&s(c):UVt(i,u,r,n,s)}):UVt(i,o,r,n,s)})};function UVt(e,t,r,n,s){tz("set_info",{FileId:t.FileId,FileInfoClass:"FileRenameInformation",Buffer:rIn(r,n)},e,function(i){tz("close",t,e,function(){i?s&&s(i):s&&s(null)})})}function rIn(e,t){var r=Buffer.from(e,"ucs2");return Buffer.concat([new ez(1,t.replace?1:0).toBuffer(),new ez(7,0).toBuffer(),new ez(8,0).toBuffer(),new ez(4,r.length).toBuffer(),r])}});var VVt=S((cRs,HVt)=>{var nIn=Aa(),IDe=nIn.request,sIn=nl(),qVt=yc().MAX_READ_LENGTH;HVt.exports=function(t,r,n){var s=this;typeof r=="function"&&(n=r,r={}),IDe("open",{path:t},s,function(i,a){if(i)n&&n(i);else{for(var o=0,c=new sIn(8),u=!1,l=0,d=0;d{var iIn=require("stream").Readable,jVt=nl(),RDe=Aa().request,aIn=yc().MAX_READ_LENGTH;KVt.exports=function(t,r,n){typeof r=="function"?(n=r,r={}):r==null&&(r={});var s=this,i=r.fd,a=i!=null,o=!a||r.autoClose==null||r.autoClose;function c(u,l){if(u!=null)return n(u);var d=r.start||0,f=jVt.fromBuffer(l.EndofFile).toNumber(),h=f;r.end=h)return o?p(function(){m.push(null)}):m.push(null);g=!0,RDe("read",{FileId:l.FileId,Length:Math.min(aIn,_,h-d),Offset:new jVt(8,d).toBuffer()},s,function(y,E){if(g=!1,y!=null)return process.nextTick(m.emit.bind(m,"error",y));d+=E.length,m.push(E)})}},n(null,m)}a?c(null,i):RDe("open",{path:t},s,c)}});var nz=S((lRs,YVt)=>{var rz=yc();YVt.exports=function(t){for(var r={__proto__:null},n=0,s=t.length;n{var oIn=require("stream").Writable,cIn=nl(),uIn=yc(),lIn=nz(),CDe=Aa().request;QVt.exports=function(t,r,n){typeof r=="function"&&(n=r,r={});var s=this,i=r.fd,a=i!=null,o=!a||r.autoClose==null||r.autoClose;function c(u,l){if(u!=null)return n(u);var d=new cIn(8,r!=null&&r.start||0);function f(m,g,_){var y=g+uIn.MAX_WRITE_LENGTH,E=m.slice(g,y);CDe("write",{Buffer:E,FileId:l.FileId,Offset:d.toBuffer()},s,function(A){if(A!=null)return _(A);if(d=d.add(E.length),y{var dIn=Aa(),sz=dIn.request,xDe=nl(),fIn=yc(),hIn=nz();WVt.exports=function(t,r,n,s){typeof n=="function"&&(s=n,n={}),n.encoding=n.encoding||"utf8";var i=this,a,o=Buffer.isBuffer(r)?r:Buffer.from(r,n.encoding),c=new xDe(8,o.length);function u(h){sz("create",{createDisposition:hIn(n!=null&&(n.flags||n.flag)||"wx"),path:t},i,function(p,m){p?s&&s(p):(a=m,h())})}function l(h){sz("close",a,i,function(p){p?s&&s(p):(a=null,h())})}function d(h){sz("set_info",{FileId:a.FileId,FileInfoClass:"FileEndOfFileInformation",Buffer:c.toBuffer()},i,function(p){p?s&&s(p):h()})}function f(h){var p=new xDe(8),m=!1,g=0,_=new xDe(8,fIn.MAX_WRITE_LENGTH);function y(){return function(v){m||(v?(s&&s(v),m=!0):(g--,E()))}}function E(){m||(A(),g===0&&p.ge(c)&&h())}function A(){for(;g{var pIn=Aa(),wDe=pIn.request,mIn=nl(),gIn=yc();JVt.exports=function(t,r){var n=this;wDe("create",{path:t,shareAccess:gIn.FILE_SHARE_DELETE},n,function(s,i){s?r&&r(s):wDe("set_info",{FileId:i.FileId,FileInfoClass:"FileDispositionInformation",Buffer:new mIn(1,1).toBuffer()},n,function(a,o){wDe("close",i,n,function(){a?r&&r(a):r&&r(null,o)})})})}});var t7t=S((pRs,e7t)=>{var _In=1e7,AIn=11644473600;e7t.exports=function(t){var r=t/_In-AIn;return new Date(r*1e3)}});var NDe=S((mRs,n7t)=>{var iz=t7t(),Ew=nl(),r7t=yc().DIRECTORY;n7t.exports=function(t){return{birthtime:iz(Ew.fromBuffer(t.CreationTime).toNumber()),atime:iz(Ew.fromBuffer(t.LastAccessTime).toNumber()),mtime:iz(Ew.fromBuffer(t.LastWriteTime).toNumber()),ctime:iz(Ew.fromBuffer(t.ChangeTime).toNumber()),size:Ew.fromBuffer(t.EndofFile).toNumber(),isDirectory:function(){var r=t.FileAttributes;return typeof r!="number"&&(r=Ew.fromBuffer(r).toNumber()),(r&r7t)==r7t}}}});var i7t=S((gRs,s7t)=>{var EIn=Aa(),ODe=EIn.request,yIn=NDe();s7t.exports=function(t,r,n){var s=this;typeof r=="function"&&(n=r,r={});var i=r.stats?function(u){var l=yIn(u);return l.name=u.Filename,l}:function(u){return u.Filename};function a(u,l,d,f){ODe("query_directory",l,d,function(h,p){h?h.code==="STATUS_NO_MORE_FILES"?f(null,u):f(h):(u.push(p.filter(function(m){return m.Filename!=="."&&m.Filename!==".."}).map(i)),a(u,l,d,f))})}function o(u,l,d){ODe("open",{path:u},l,function(f,h){if(f)d(f);else return d(null,h)})}function c(u,l,d){ODe("close",u,l,function(f,h){f&&f.code!=="STATUS_FILE_CLOSED"&&d(f),d(null,h)})}o(t,s,function(u,l){var d=[],f=[];u?n(u):a(f,l,s,function(h,p){h?n(h):c(p,s,function(m,g){m?n(m):(d=[].concat(...f),n(null,d))})})})}});var o7t=S((_Rs,a7t)=>{var vIn=Aa(),DDe=vIn.request,SIn=nl();a7t.exports=function(t,r){var n=this;DDe("open_folder",{path:t},n,function(s,i){s?r&&r(s):DDe("set_info",{FileId:i.FileId,FileInfoClass:"FileDispositionInformation",Buffer:new SIn(1,1).toBuffer()},n,function(a,o){DDe("close",i,n,function(){if(a)return r(a);r(null,o)})})})}});var l7t=S((ARs,u7t)=>{var TIn=Aa(),c7t=TIn.request;u7t.exports=function(t,r,n){typeof r=="function"&&(n=r,r="0777");var s=this;c7t("create_folder",{path:t},s,function(i,a){i?n&&n(i):c7t("close",a,s,function(){n&&n(null)})})}});var h7t=S((ERs,f7t)=>{var bIn=nl(),d7t=Aa().request;f7t.exports=function(t,r){var n=this;d7t("open",{path:t},n,function(s,i){if(s!=null)return r(s);d7t("close",i,n,function(){r(null,bIn.fromBuffer(i.EndofFile).toNumber())})})}});var g7t=S((yRs,m7t)=>{var IIn=NDe(),p7t=Aa().request;m7t.exports=function(t,r){var n=this;p7t("open",{path:t},n,function(s,i){if(s!=null)return r(s);p7t("close",i,n,function(){r(null,IIn(i))})})}});var A7t=S((vRs,_7t)=>{var RIn=nz(),CIn=Aa().request;_7t.exports=function(t,r,n){typeof r=="function"&&(n=r,r=void 0),CIn("create",{createDisposition:RIn(r||"r"),path:t},this,n)}});var v7t=S((SRs,y7t)=>{var xIn=require("assert"),E7t=nl(),wIn=Aa().request,NIn=yc().MAX_READ_LENGTH;y7t.exports=function(t,r,n,s,i,a){xIn(i!==null,"null pos is not supported");var o=this,c=Math.min(i+s,E7t.fromBuffer(t.EndofFile).toNumber()),u=i;function l(f,h){if(f!=null)return a(f,u-i,r);h.copy(r,n);var p=h.length;n+=p,u+=p,d()}function d(){if(u>=c)return a(null,u-i,r);wIn("read",{FileId:t.FileId,Length:Math.min(NIn,c-u),Offset:new E7t(8,u).toBuffer()},o,l)}process.nextTick(d)}});var T7t=S((TRs,S7t)=>{var ub=require("assert"),OIn=nl(),DIn=Aa().request,PIn=yc().MAX_WRITE_LENGTH;S7t.exports=function(t,r,n,s,i,a){ub(Buffer.isBuffer(r)),n==null?n=0:(ub.strictEqual(typeof n,"number"),ub(n>0),ub(n0),s=Math.min(s,r.length-n)),ub.strictEqual(typeof i,"number");var o=this,c=i,u;function l(f){if(f!=null)return a(f,c-i,r);s-=u,n+=u,c+=u,d()}function d(){if(s<=0)return a(null,c-i,r);u=Math.min(PIn,s),DIn("write",{Buffer:r.slice(n,n+u),FileId:t.FileId,Offset:new OIn(8,c).toBuffer()},o,l)}process.nextTick(d)}});var I7t=S((bRs,b7t)=>{var LIn=Aa().request;b7t.exports=function(t,r){LIn("close",t,this,r)}});var C7t=S((IRs,R7t)=>{var MIn=Aa(),PDe=MIn.request,kIn=nl(),BIn=yc().FILE_WRITE_DATA;function UIn(e,t,r,n){PDe("set_info",{FileId:e.FileId,FileInfoClass:"FileEndOfFileInformation",Buffer:t.toBuffer()},r,n)}R7t.exports=function(t,r,n){var s=this;PDe("open",{path:t,desiredAccess:BIn},s,function(i,a){if(i!=null)return n(i);UIn(a,new kIn(8,r),s,function(o){PDe("close",a,s,function(){n(o)})})})}});var w7t=S((RRs,x7t)=>{var FIn=/\\\\([^\\]*)\\([^\\]*)\\?/,$In=445,qIn=20,HIn=1e4,Io=hHt(),tu=bDe(),VIn=x7t.exports=function(e){e=e||{};var t;if(!e.share||!(t=e.share.match(FIn)))throw new Error("the share is not valid");this.ip=t[1],this.port=e.port||$In,this.share=t[2],this.fullPath=e.share,this.packetConcurrency=e.packetConcurrency||qIn,e.autoCloseTimeout!==void 0?this.autoCloseTimeout=e.autoCloseTimeout:this.autoCloseTimeout=HIn,this.domain=e.domain,this.username=e.username,this.password=e.password,this.ProcessId=Buffer.from([Math.floor(Math.random()*256)&255,Math.floor(Math.random()*256)&255,Math.floor(Math.random()*256)&255,Math.floor(Math.random()*256)&254]),this.debug=e.debug,tu.init(this)},za=VIn.prototype={};za.disconnect=PVt();za.exists=Io(tu.requireConnect(kVt()));za.rename=Io(tu.requireConnect($Vt()));za.readFile=Io(tu.requireConnect(VVt()));za.createReadStream=Io(tu.requireConnect(GVt()));za.createWriteStream=Io(tu.requireConnect(zVt()));za.writeFile=Io(tu.requireConnect(XVt()));za.unlink=Io(tu.requireConnect(ZVt()));za.readdir=Io(tu.requireConnect(i7t()));za.rmdir=Io(tu.requireConnect(o7t()));za.mkdir=Io(tu.requireConnect(l7t()));za.getSize=Io(tu.requireConnect(h7t()));za.stat=Io(tu.requireConnect(g7t()));za.open=Io(tu.requireConnect(A7t()));za.read=Io(v7t(),function(e,t){return{bytesRead:e,buffer:t}});za.write=Io(T7t(),function(e,t){return{bytesWritten:e,buffer:t}});za.close=Io(I7t());za.truncate=Io(tu.requireConnect(C7t()))});function n_(e){let t=N7t.get(e)||az[2];return{batchTierKey:t.key,defaultBatchSize:t.defaultBatchSize,maxBatchSize:t.maxBatchSize,defaultBatchIntervalMs:t.defaultBatchIntervalMs,defaultTimeoutMs:t.timeoutMs||6e4}}function lb(e){let t=String(e||"").trim();return t&&(jIn.get(t)||O7t.get(t.toLowerCase()))||null}function YIn(e){let t=String(e||"").trim();return!t||t===s_||t==="/"||t.toLowerCase()==="root"?[]:t.replace(/^\/+|\/+$/g,"").split("/").map(r=>r.trim()).filter(r=>r&&r!==".")}function QIn(e){return Array.isArray(e)&&e.length?e.join("/"):s_}function D7t(e){return String(e||"").split(/\r?\n/).map(t=>t.trim()).filter(t=>t&&!t.startsWith("//"))}function zIn(e,t){let r=lb(e);return r?D7t(t).filter(n=>!n.startsWith("#")).map(n=>`${r.label} ${n}`).join(` +`):""}function LDe(e,t={}){let r=t.providerKey?lb(t.providerKey)?.key:"",n=[],s=[],i=0;for(let a of D7t(e)){if(a.startsWith("#")&&!/^\S+\s+#\s+(?:https?:\/\/|smb:\/\/)/i.test(a))continue;let o=/((?:https?:\/\/|smb:\/\/)\S+)\s*$/i.exec(a);if(!o){s.push({line:a,message:"\u7F3A\u5C11\u94FE\u63A5"});continue}let c=o[1].trim(),l=a.slice(0,o.index).trim().split(/\s+/).filter(Boolean),d=lb(l.shift()),f=l.join(" ").trim();if(!d){s.push({line:a,message:"\u672A\u77E5\u6302\u8F7D\u540D\u79F0"});continue}if(!f){s.push({line:a,message:"\u7F3A\u5C11\u5F52\u7C7B"});continue}if(d.key==="smb"&&!/^smb:\/\//i.test(c)){s.push({line:a,message:"SMB\u5408\u96C6\u5FC5\u987B\u4F7F\u7528 smb:// \u94FE\u63A5"});continue}if(d.key!=="smb"&&!/^https?:\/\//i.test(c)){s.push({line:a,message:`${d.label} \u5FC5\u987B\u4F7F\u7528 http(s) \u94FE\u63A5`});continue}if(r&&d.key!==r)continue;let h=YIn(f);n.push({id:String(n.length),sourceOrder:i,providerKey:d.key,providerLabel:d.label,mountPath:QIn(h),pathSegments:h,direct:h.length===0,url:c,raw:a}),i+=1}return{entries:n,errors:s}}async function WIn(e,t){let r=String(e?.config?.[t.key]?.text||""),n="";try{let s=await e.db.getObjectDefault(`/config/${t.key}`,null);n=typeof s?.text=="string"?s.text:""}catch{}return n||r}async function XIn(e){let t=[];for(let r of oz){let n=await WIn(e,r),s=zIn(r.key,n);s&&t.push(s)}return t.join(` +`)}async function JIn(e,t){if(typeof e?.text=="string"&&e.text.length>0)return e.text;let r=String(t?.config?.sharemount?.text||"");if(r)return r;let n=await XIn(t);return n||GIn}function Ep(e,t,r,n){return Math.max(r,Math.min(n,Number(e)||t))}function MDe(){return Object.fromEntries(az.map(e=>[e.key,{batchSize:e.defaultBatchSize,batchIntervalMs:e.defaultBatchIntervalMs,timeoutMs:e.timeoutMs||6e4}]))}function L7t(){return az.map(e=>({key:e.key,label:e.label,providerKeys:e.providerKeys,providerLabels:e.providerLabels,defaultBatchSize:e.defaultBatchSize,maxBatchSize:e.maxBatchSize,defaultBatchIntervalMs:e.defaultBatchIntervalMs,timeoutMs:e.timeoutMs||6e4,fixed:!0}))}function M7t(e){let t=e.tierAli||e.tier115Baidu||e.tierOthers||{};return{batchSize:t.batchSize||500,batchIntervalMs:t.batchIntervalMs??800,timeoutMs:t.timeoutMs||6e4}}function k7t(){return oz.map(({key:e,label:t,aliases:r,batchTierKey:n,defaultBatchSize:s,maxBatchSize:i,defaultBatchIntervalMs:a,defaultTimeoutMs:o})=>({key:e,label:t,aliases:r,batchTierKey:n,defaultBatchSize:s,maxBatchSize:i,defaultBatchIntervalMs:a,defaultTimeoutMs:o}))}function yw(e,t){let r=lb(t),n=N7t.get(r?.key||""),s=MDe(e?.batchTiers),i=n?s[n.key]:null,a=i?.batchSize||r?.defaultBatchSize||500,o=r?.maxBatchSize||n?.maxBatchSize||5e3,c=i?.batchIntervalMs??r?.defaultBatchIntervalMs??1e3;return{...e,batchSize:Ep(i?.batchSize,a,1,o),batchIntervalMs:Ep(i?.batchIntervalMs,c,0,1e4),timeoutMs:6e4}}async function R0(e){e.get("/settings",async(t,r)=>{r.send({code:0,data:await cz(t.server)})}),e.post("/settings",async(t,r)=>{let n=await ZIn(t.server,t.body||{});r.send({code:0,data:n})})}var s_,az,N7t,oz,jIn,O7t,KIn,GIn,P7t,cz,ZIn,kDe=oe(()=>{s_="#",az=[{key:"tier115Baidu",label:"115/\u767E\u5EA6\u5408\u96C6",providerKeys:["115share","baidushare"],providerLabels:["115\u5408\u96C6","\u767E\u5EA6\u5408\u96C6"],defaultBatchSize:500,maxBatchSize:500,defaultBatchIntervalMs:100,timeoutMs:6e4},{key:"tierAli",label:"\u963F\u91CC\u5408\u96C6",providerKeys:["alishare"],providerLabels:["\u963F\u91CC\u5408\u96C6"],defaultBatchSize:800,maxBatchSize:800,defaultBatchIntervalMs:100,timeoutMs:6e4},{key:"tierOthers",label:"\u5176\u5B83\u5408\u96C6",providerKeys:["123share","139share","ucshare","quarkshare","guangyashare","smb"],providerLabels:["123\u5408\u96C6","139\u5408\u96C6","UC\u5408\u96C6","\u5938\u514B\u5408\u96C6","\u5149\u9E2D\u5408\u96C6","SMB\u5408\u96C6"],defaultBatchSize:1e3,maxBatchSize:1e3,defaultBatchIntervalMs:10,timeoutMs:6e4}],N7t=new Map(az.flatMap(e=>e.providerKeys.map(t=>[t,e])));oz=[{key:"115share",label:"115\u5408\u96C6",aliases:["115\u5408\u96C6","115","115share"],...n_("115share")},{key:"alishare",label:"\u963F\u91CC\u5408\u96C6",aliases:["\u963F\u91CC\u5408\u96C6","\u963F\u91CC","ali","alishare"],...n_("alishare")},{key:"123share",label:"123\u5408\u96C6",aliases:["123\u5408\u96C6","123","123share"],...n_("123share")},{key:"139share",label:"139\u5408\u96C6",aliases:["139\u5408\u96C6","139","\u79FB\u52A8\u5408\u96C6","\u79FB\u52A8","139share"],...n_("139share")},{key:"ucshare",label:"UC\u5408\u96C6",aliases:["UC\u5408\u96C6","uc\u5408\u96C6","UC","uc","ucshare"],...n_("ucshare")},{key:"baidushare",label:"\u767E\u5EA6\u5408\u96C6",aliases:["\u767E\u5EA6\u5408\u96C6","\u767E\u5EA6","baidu","baidushare"],...n_("baidushare")},{key:"quarkshare",label:"\u5938\u514B\u5408\u96C6",aliases:["\u5938\u514B\u5408\u96C6","\u5938\u514B","quark","quarkshare"],...n_("quarkshare")},{key:"guangyashare",label:"\u5149\u9E2D\u5408\u96C6",aliases:["\u5149\u9E2D\u5408\u96C6","\u5149\u9E2D","guangya","guangyapan","guangyashare"],...n_("guangyashare")},{key:"smb",label:"SMB\u5408\u96C6",aliases:["SMB\u5408\u96C6","smb\u5408\u96C6","SMB","smb"],...n_("smb")}],jIn=new Map(oz.map(e=>[e.key,e])),O7t=new Map;for(let e of oz)for(let t of e.aliases)O7t.set(String(t).trim().toLowerCase(),e);KIn=["\u539F\u76D8/600T\u84DD\u5149\u539F\u76D8\u7535\u5F71 https://115.com/s/sw6xz303321?password=6668#","\u539F\u76D8/BD\u539F\u76D8 https://115.com/s/sw622f53nn3?password=pcb1#","\u539F\u76D8/SGNB \u7279\u65484K\u539F\u76D8\uFF08\u6574\u7406\u7248\uFF09 https://115.com/s/swzp2vf3h9s?password=5089#","\u539F\u76D8/SGNB\u7279\u6548563\u90E8 https://115.com/s/sw313rp3zx1?password=w146","\u539F\u76D8/SGNB\u7279\u6548\u5B57\u5E554k\u539F\u76D8\u7535\u5F71 https://115.com/s/swzwwqg3hls?password=e241#","\u539F\u76D8/SGNB\u7279\u6548\u5B57\u5E554K\u539F\u76D8\u7535\u5F71\u96C6 https://115.com/s/sw6283733l6?password=z484#","\u539F\u76D8/UHD\u539F\u76D8 https://115.com/s/sw6u5nq3nn3?password=r495#","\u539F\u76D8/\u5408\u96C6\u6574\u7406 https://115cdn.com/s/sww7pbf3zxx?password=1234&","\u539F\u76D8/\u5468\u661F\u9A70 https://115.com/s/swzp2vb3h9s?password=5089#","\u539F\u76D8/\u6B27\u7F8E\u5267 https://115.com/s/swz4wm23wsp?password=z1d9#","\u539F\u76D8/\u6E2F\u7247\u7ECF\u5178\u84DD\u5149\u539F\u76D8 https://115.com/s/sw6c6wa3nn3?password=aaa0#","\u539F\u76D8/\u6E2F\u7247\u84DD\u5149\u539F\u76D8 https://115.com/s/sw69nao3h3b?password=a548","\u539F\u76D8/\u6F14\u5531\u4F1A https://115.com/s/swzp25d3h9s?password=5089#","\u539F\u76D8/\u6F2B\u5A01 https://115.com/s/sw6865s3nn3?password=ja76#","\u539F\u76D8/\u6F2B\u5A014k https://115.com/s/swzew4m3nc6?password=i0d7#","\u539F\u76D8/\u7535\u5F71\u5927\u5408\u96C6 https://115.com/s/swzlcya3wsp?password=bab4","\u539F\u76D8/\u7535\u89C6\u5267 https://115.com/s/swz7aq33nan?password=2580","\u539F\u76D8/\u7EAA\u5F55\u7247 https://115.com/s/swzmg533697?password=6688#","\u539F\u76D8/\u8718\u86DB\u4FA0 https://115.com/s/swhlzsc3nm7?password=y399#","\u539F\u76D8/\u8C46\u74E3TOP250 https://115.com/s/swzp25u3h9s?password=5089#","\u539F\u76D8/\u97E9\u56FD https://115cdn.com/s/swhid5x3wfa?password=xdf9","\u539F\u76D8/79\u90E8 https://115.com/s/swzhrkr3nn3?password=x663#","\u5408\u96C6/2026\u5E742\u6708 https://115cdn.com/s/swfm52v3h5u?password=hce0#","\u5408\u96C6/Netflix https://115.com/s/swzqpxd369v?password=ka72","\u5408\u96C6/Netflix2 https://115.com/s/swzgtc93h4y?password=5296#","\u5408\u96C6/TVB https://115.com/s/swz69un3fwo?password=8888","\u5408\u96C6/\u4E16\u754C\u676F https://115.com/s/swzcaxo3nrl?password=v1a6#","\u5408\u96C6/\u7CBE\u5FC3\u6574\u7406\u5F71\u89C6\u5267 https://115.com/s/swzr6d73697?password=2618#","\u7535\u5F71/2267\u90E8 https://115.com/s/swzjffn3h4y?password=k880#","\u7535\u5F71/REMUX https://115.com/s/swzhs093nn3?password=w768#","\u7535\u5F71/\u5168\u7403TOP250 https://115cdn.com/s/swwluyb3z1g?password=e950#","\u7535\u5F71/\u5168\u7403\u4E27\u5C38TOP100 https://115cdn.com/s/swflzjj3nd3?password=2022#","\u7535\u5F71/\u522E\u524A\u5B8C\u7535\u5F71 https://115.com/s/swz5xxr3697?password=2618#","\u7535\u5F71/\u52A8\u753B\u7535\u5F71 https://115.com/s/swz6gml3fwo?password=8888#","\u7535\u5F71/\u675C\u6BD471\u90E8 https://115cdn.com/s/swffkgd3hqd?password=f1c5#","\u7535\u5F71/\u753B\u8D28\u63A7 https://115cdn.com/s/swh9oc13zpx?password=ayss#","\u7535\u5F71/\u97E9\u56FD https://115.com/s/sw680gn3nn3?password=ee84#","\u7535\u89C6\u5267/\u52A8\u6F2B https://115.com/s/swzkkkk3hqx?password=zba9#","\u7535\u89C6\u5267/\u52A8\u6F2B\u5408\u96C6 https://115.com/s/swzc4ek3z75?password=2268#","\u7535\u89C6\u5267/\u534E\u8BED https://115.com/s/sw69s7y3nn3?password=d269#","\u7535\u89C6\u5267/\u5DF2\u6574\u7406 https://115.com/s/swzywe13wn9?password=c318#","\u7535\u89C6\u5267/\u6B27\u7F8E https://115.com/s/swz75dj3697?password=d717#","\u7535\u89C6\u5267/\u6B27\u7F8E2 https://115.com/s/swzyj6836ku?password=dda7#","\u7535\u89C6\u5267/\u7ECF\u5178\u6E2F\u5267 https://115cdn.com/s/swfnolz3h4y?password=hzys#","\u97F3\u4E50/\u97F3\u4E50\u5305 https://115.com/s/swz6sih3fwo?password=8888#"],GIn=[...KIn.map(e=>`115\u5408\u96C6 ${e}`),"\u963F\u91CC\u5408\u96C6 \u7535\u5F71 https://www.alipan.com/s/ZHNChQfiPfk","123\u5408\u96C6 \u7535\u5F71 https://123684.com/s/oec7Vv-rIYWh?\u63D0\u53D6\u7801:ZY4K","139\u5408\u96C6 \u7535\u5F71 https://yun.139.com/shareweb/#/w/i/2uh8ZHDm2NUqh","UC\u5408\u96C6 \u7535\u5F71 https://drive.uc.cn/s/e36c3fca7f234?public=1","\u767E\u5EA6\u5408\u96C6 \u7535\u5F71 https://pan.baidu.com/s/1e7s-XDuJlqG-IesgY3Vt5Q?pwd=x6l4","\u5938\u514B\u5408\u96C6 \u7535\u5F71 https://pan.quark.cn/s/d19c4ebe1ff7","SMB\u5408\u96C6 \u7535\u5F71 smb://192.168.1.10/Videos"].join(` +`);P7t=Number.MAX_SAFE_INTEGER;cz=async e=>{let t={text:String(e.config?.sharemount?.text||""),batchTiers:e.config?.sharemount?.batchTiers||{},searchLimit:Number(e.config?.sharemount?.searchLimit)||30,searchMaxShares:Number(e.config?.sharemount?.searchMaxShares)||10,searchIntervalMs:Number(e.config?.sharemount?.searchIntervalMs)||600,searchCacheTtlMs:Number(e.config?.sharemount?.searchCacheTtlMs)||6e5},r=await e.db.getObjectDefault("/config/sharemount",t),n=MDe(r?.batchTiers);return{text:await JIn(r,e),...M7t(n),batchTiers:n,batchTierOptions:L7t(),searchLimit:Ep(r?.searchLimit,30,1,100),searchMaxShares:Ep(r?.searchMaxShares,10,1,P7t),searchIntervalMs:Ep(r?.searchIntervalMs,600,0,5e3),searchCacheTtlMs:Ep(r?.searchCacheTtlMs,10*60*1e3,0,60*60*1e3),providers:k7t(),directMountToken:s_}};ZIn=async(e,t={})=>{let r=MDe(),n={text:String(t.text||""),...M7t(r),batchTiers:r,searchLimit:Ep(t.searchLimit,30,1,100),searchMaxShares:Ep(t.searchMaxShares,10,1,P7t),searchIntervalMs:Ep(t.searchIntervalMs,600,0,5e3),searchCacheTtlMs:Ep(t.searchCacheTtlMs,10*60*1e3,0,60*60*1e3)};return await e.db.push("/config/sharemount",n),{...n,batchTierOptions:L7t(),providers:k7t(),directMountToken:s_}}});var gjt={};Bt(gjt,{createShareMountSpider:()=>cCn,createUnifiedShareMountSpider:()=>mjt,default:()=>uCn});function hz(e){return Buffer.from(JSON.stringify(e),"utf8").toString("base64url")}function gz(e){try{return JSON.parse(Buffer.from(String(e||""),"base64url").toString("utf8"))}catch{return null}}function NB(e,t){return`${e}@@@${hz(t)}`}function yp(e,t){let r=`${t}@@@`;return String(e||"").startsWith(r)?gz(String(e).slice(r.length)):null}function ejt(e,t=["pwd","password","share_pwd","passcode"]){try{let r=new URL(e);for(let n of t){let s=r.searchParams.get(n);if(s)return s}}catch{}return""}function Sw(e,t=mz){let r=String(e||"").toLowerCase();return t.some(n=>r.endsWith(n))}function lRn(e){return String(e||"\u64AD\u653E").replace(/\.[^.]+$/,"").replace(/<|>|《|》/g,"").replace(/\$|#/g," ").trim()||"\u64AD\u653E"}function a_(e,t=0){let r=lRn(e),n=Number(t||0);return n>0?`${r} [${Vu(n)}]`:r}function _z(e,t="srt",r="\u5916\u6302\u5B57\u5E55"){if(!e)return{};let n={url:e,name:r,format:t||"srt"};return{subt:e,subtitle:e,subs_urls:[e],subs:[n],extra:{subt:e,subtitle:e,subs_urls:[e],subs:[n]}}}function ru(e){return Vs(e,{msg:e})}function tjt(e=""){let t=on(e);if(t)return t;let r=String(e||"").replace(/^\./,"").toLowerCase();return["srt","ass","ssa","vtt","sub","idx","smi","txt"].includes(r)?r:""}function dRn(e){let t=String(e||"").split(".").pop()?.toLowerCase();return t&&t!==String(e||"").toLowerCase()?t:""}function BDe(e){let t=dRn(e);return!!t&&tRn.has(t)}function fRn(e){let t=String(e||"").trim(),r=/https?:\/\/(?:115|anxia|115cdn)\.com\/s\/([a-zA-Z0-9]+)(?:\?([^\s#]+))?/i.exec(t);if(!r)return null;let n=new URLSearchParams(r[2]||""),s=n.get("password")||n.get("pwd")||"";return s?{shareCode:r[1],receiveCode:s,url:t}:null}async function hRn(e,t,r){let n=[],s=r.batchSize,i=Math.max(1e4,Number(r.timeoutMs)||6e4),a=t||e.shareCode,o=Math.max(0,Number.parseInt(r.page,10)||0),c=o>0?(o-1)*s:0;for(;;){let u=await Se.get(F7t,{params:{share_code:e.shareCode,receive_code:e.receiveCode,cid:a,limit:String(s),offset:String(c)},timeout:i,validateStatus:()=>!0}),l=u?.data;if(u.status>=400||l?.state===!1)throw new Error(l?.error||l?.message||`115 share snap status=${u.status}`);let d=Array.isArray(l?.data?.list)?l.data.list:[];if(o>0){let h=Number(l?.data?.count)||0;if(h<=0&&(h=c+d.length,d.length===0&&o>1)){let p=Math.max(0,c-s),m=await Se.get(F7t,{params:{share_code:e.shareCode,receive_code:e.receiveCode,cid:a,limit:String(s),offset:String(p)},timeout:i,validateStatus:()=>!0}),g=m?.data;if(m.status<400&&g?.state!==!1){let _=Array.isArray(g?.data?.list)?g.data.list:[];_.length0&&await tr(r.batchIntervalMs)}return n}function pRn(e){let t=HDe.get(e);return t?t.expiresAt<=Date.now()?(HDe.delete(e),null):t.value:null}function mRn(e,t,r){r<=0||HDe.set(e,{value:t,expiresAt:Date.now()+r})}function gRn(e){let t=[e?.data?.list,e?.data?.items,e?.data,e?.list,e?.items];for(let r of t)if(Array.isArray(r))return r;return[]}function _Rn(e,t=""){let r=Number(e?.errno??e?.errNo??e?.code??0),n=String(t||e?.error||e?.message||e?.msg||"");return r===990001||/登录|login/i.test(n)}async function ARn(e,t,r,n,s=""){let i=n.searchLimit,a=(r-1)*i,o=await Se.get(iRn,{params:{share_code:e.shareCode,receive_code:e.receiveCode,cid:0,limit:String(i),offset:String(a),search_value:t,type:0},headers:{...aRn,Referer:`https://115.com/s/${e.shareCode}?password=${e.receiveCode}`,...s?{Cookie:s}:{}},timeout:15e3,validateStatus:()=>!0}),c=o?.data;if(o.status>=400||c?.state===!1){let u=c?.error||c?.message||`115 share search status=${o.status}`,l=new Error(u);throw l.auth=_Rn(c,u),l}return gRn(c)}function ERn(e,t){let r=String(e||"").trim().toLowerCase(),n=String(t||"").trim().toLowerCase();return!!n&&r.includes(n)}function $7t(e,t,r="",n=""){return["share",e.shareCode,e.receiveCode,t||"",r||"",tjt(n)].join("*")}function yRn(e){let t=String(e||"").trim(),r=[/https?:\/\/yun\.139\.com\/shareweb\/#\/w\/i\/([^?&#\s]+)/i,/https?:\/\/caiyun\.139\.com\/m\/i\?([^?&#\s]+)/i,/https?:\/\/caiyun\.139\.com\/w\/i\/([^?&#\s]+)/i];for(let n of r){let s=n.exec(t);if(s?.[1])return{url:t,linkID:s[1]}}return null}function q7t(e){let t=[];for(let r=0;r>>2]|=e[r]<<24-r%4*8;return CB.default.lib.WordArray.create(t,e.length)}function vRn(e){let{words:t,sigBytes:r}=e,n=Buffer.alloc(r);for(let s=0;s>>2]>>>24-s%4*8&255;return n}function SRn(e){return{update(t,r,n){let s=Buffer.isBuffer(t)?t:Buffer.from(String(t||""),r==="binary"?"latin1":r),i=CB.default.DES.encrypt(q7t(s),q7t(Buffer.from(e)),{mode:CB.default.mode.ECB,padding:CB.default.pad.NoPadding}),a=vRn(i.ciphertext);return n==="binary"?a.toString("latin1"):a},final(t){return t==="binary"?"":Buffer.alloc(0)}}}function TRn(e){let t=Buffer.isBuffer(e)?e:Buffer.from(e||""),r=BigInt(t.length)*8n,n=(56-(t.length+1)%64+64)%64,s=Buffer.concat([t,Buffer.from([128]),Buffer.alloc(n),Buffer.alloc(8)]);s.writeUInt32LE(Number(r&0xffffffffn),s.length-8),s.writeUInt32LE(Number(r>>32n&0xffffffffn),s.length-4);let i=1732584193,a=4023233417,o=2562383102,c=271733878,u=new Array(16),l=(g,_,y)=>(g&_|~g&y)>>>0,d=(g,_,y)=>(g&_|g&y|_&y)>>>0,f=(g,_,y)=>(g^_^y)>>>0,h=(g,_)=>(g<<_|g>>>32-_)>>>0,p=(...g)=>g.reduce((_,y)=>_+y>>>0,0);for(let g=0;g{i=h(p(i,l(a,o,c),u[v]),3),c=h(p(c,l(i,a,o),u[v+1]),7),o=h(p(o,l(c,i,a),u[v+2]),11),a=h(p(a,l(o,c,i),u[v+3]),19)}),[0,1,2,3].forEach(v=>{i=h(p(i,d(a,o,c),u[v],1518500249),3),c=h(p(c,d(i,a,o),u[v+4],1518500249),5),o=h(p(o,d(c,i,a),u[v+8],1518500249),9),a=h(p(a,d(o,c,i),u[v+12],1518500249),13)}),[0,2,1,3].forEach(v=>{i=h(p(i,f(a,o,c),u[v],1859775393),3),c=h(p(c,f(i,a,o),u[v+8],1859775393),9),o=h(p(o,f(c,i,a),u[v+4],1859775393),11),a=h(p(a,f(o,c,i),u[v+12],1859775393),15)}),i=p(i,_),a=p(a,y),o=p(o,E),c=p(c,A)}let m=Buffer.alloc(16);return m.writeUInt32LE(i,0),m.writeUInt32LE(a,4),m.writeUInt32LE(o,8),m.writeUInt32LE(c,12),m}function bRn(){let e=[];return{update(t,r){return e.push(Buffer.isBuffer(t)?t:Buffer.from(String(t||""),r)),this},digest(t){let r=TRn(Buffer.concat(e));return t==="hex"?r.toString("hex"):t==="binary"?r.toString("latin1"):t?r.toString(t):r}}}function IRn(){let e=sf.default.createCipheriv,t=sf.default.createHash,r=!1;try{e.call(sf.default,"DES-ECB",Buffer.alloc(8),"")}catch{r=!0}let n=!1;try{t.call(sf.default,"md4")}catch{n=!0}if(r&&!sf.default.__catpawSmbDesEcbPatched&&(sf.default.createCipheriv=function(i,a,o,c){return String(i).toLowerCase()==="des-ecb"?SRn(a):e.call(this,i,a,o,c)},sf.default.__catpawSmbDesEcbPatched=!0),n&&!sf.default.__catpawSmbMd4Patched){let s=sf.default.createHash;sf.default.createHash=function(a,o){return String(a).toLowerCase()==="md4"?bRn():s.call(this,a,o)},sf.default.__catpawSmbMd4Patched=!0}}function aa(...e){let t=[];for(let r of e)for(let n of String(r||"").split(/[\\/]+/)){let s=n.trim();if(!(!s||s===".")){if(s===".."){t.pop();continue}t.push(s)}}return t.join("\\")}function xB(e){return String(e||"").split(/[\\/]+/).filter(Boolean).pop()||""}function Az(e){let t=String(e||"").split(".").pop()?.toLowerCase();return t&&t!==String(e||"").toLowerCase()?t:""}function RRn(e){let t=Az(e);return!!t&&cRn.has(t)}function CRn(e){let t=String(e||"").trim();if(!/^smb:\/\//i.test(t))return null;let r;try{r=new URL(t)}catch{return null}let n=r.pathname.split("/").filter(Boolean).map(c=>{try{return decodeURIComponent(c)}catch{return c}});if(!r.hostname||!n.length)return null;let s=r.searchParams,i=s.get("username")||s.get("user")||decodeURIComponent(r.username||""),a=s.get("password")||s.get("pass")||decodeURIComponent(r.password||""),o=s.get("domain")||s.get("workgroup")||"";if(i.includes(";")){let c=i.split(";");o=o||c.shift(),i=c.join(";")}else if(i.includes("\\")){let c=i.split("\\");o=o||c.shift(),i=c.join("\\")}return{host:r.hostname,port:Number(r.port||s.get("port")||VDe)||VDe,share:n.shift(),rootPath:aa(n.join("\\")),username:i,password:a,domain:o||Z7t,url:t}}function rjt(e){return new Q7t.default({share:`\\\\${e.host}\\${e.share}`,domain:e.domain||Z7t,username:e.username||"",password:e.password||"",port:e.port||VDe,packetConcurrency:8,autoCloseTimeout:1e4})}async function njt(e,t){let r=rjt(e);try{return await t(r)}finally{try{r.disconnect()}catch{}}}async function xRn(e,t,r){let n=aa(t||e.rootPath||"");return await njt(e,async s=>{let i=await s.readdir(n,{stats:!0}),a=Math.max(0,Number.parseInt(r.page||r.pg,10)||0),o=Math.max(1,Number(r.batchSize)||1e3);if(r.batchIntervalMs>0&&i.length>r.batchSize&&await tr(r.batchIntervalMs),a>0){let c=(a-1)*o;return{items:i.slice(c,c+o),paged:!0,page:a,pageSize:o,total:i.length}}return i.slice(0,o)})}async function wRn(e,t){return await njt(e,async r=>r.stat(aa(t)))}function NRn(e,t,r=""){let n=hz({e:e.id,p:aa(t),n:r||xB(t),exp:Date.now()+oRn});return wB.set(n,!0),n}function ORn(e){if(!wB.has(e))return null;let t=gz(e);return!t||Number(t.exp||0)String(r||"").trim()).filter(Boolean)}}function $Rn(e){let t=cjt(e);return t?t.segments:null}function KDe(e,t,r="",n=""){return NB("mount",{k:e.key,e:t.id,...e.mountPayload(t,r,n),n:n||t.dirName||t.category})}function ujt(e,t,r,n,s){return NB("file",{k:e.key,...e.filePayload(t,r,n,s)})}function qRn(e,t,r="",n=""){return NB("playlist",{k:e.key,e:t.id,...e.playlistPayload(t,r,n),n:n||t.dirName||t.category||"\u64AD\u653E\u5217\u8868"})}function ljt(e,t){if(e.lengthA.name).slice(0,20);return{vod_id:i,vod_name:c.join(" / ")||o||`${t.shortName}\u76EE\u5F55`,vod_pic:i_,vod_remarks:y.length?`${y.length}\u4E2A\u5B50\u76EE\u5F55`:"\u76EE\u5F55",vod_content:[`\u76EE\u5F55: ${c.join(" / ")||o||""}`,`\u6765\u6E90: ${Os(n)}`,E.length?`\u5B50\u76EE\u5F55: ${E.join("\u3001")}${y.length>E.length?"...":""}`:"\u672A\u53D1\u73B0\u53EF\u64AD\u653E\u89C6\u9891"].join(` +`),cate:{id:i,name:c.join(" / ")||o||`${t.shortName}\u76EE\u5F55`}}}return{vod_id:i,vod_name:c.join(" / ")||o||`${t.shortName}\u76EE\u5F55`,vod_pic:i_,vod_remarks:"\u76EE\u5F55",vod_content:`\u76EE\u5F55\u5C42\u7EA7\u8FC7\u6DF1\uFF0C\u8BF7\u4ECE\u76EE\u5F55\u5165\u53E3\u7EE7\u7EED\u8FDB\u5165 +\u6765\u6E90: ${Os(n)}`,cate:{id:i,name:c.join(" / ")||o||`${t.shortName}\u76EE\u5F55`}}}async function Sz(e,t,r,n,s,i,a={}){await vp(t,e);let o=t.categoryPaging&&a.page?{...r,page:Math.max(1,Number.parseInt(a.page,10)||1)}:r,c=await t.list(n,s,o),u=Ez(t,c),l=yz(t,c,n,s),d=HRn(c),f=[],h=[],p=[];for(let y of u){let E=t.fileName(y);if(t.isFolder(y,E)){let A=t.folderLocator(n,y,l),v=KDe(t,n,A,E);f.push({vod_id:v,type_id:v,type_name:E,vod_name:E,vod_pic:i_,vod_remarks:"\u76EE\u5F55",vod_tag:"folder",cate:{id:v,name:E},ratio:1.33})}else(t.isSubtitle?t.isSubtitle(y,E):Ct(E))?p.push(y):t.isVideo(y,E)&&h.push(y)}let m=cr(h),g=f,_=a.playlistName||`${i||n.dirName||n.category||"\u672C\u5C42"} \u64AD\u653E\u5217\u8868`;(!d||d.page===1)&&m.length>1&&g.push({vod_id:qRn(t,n,s,_),vod_name:a.shortPlaylistName||"\u64AD\u653E\u5217\u8868",vod_pic:eRn,vod_remarks:`${m.length}\u4E2A\u89C6\u9891`,ratio:1.33});for(let y of m){let E=t.fileName(y),A=yr(E,p,t.fileName);g.push({vod_id:ujt(t,n,y,A,l),vod_name:E,vod_pic:z7t,vod_remarks:Vu(t.itemSize(y)),ratio:1.33})}return d&&Object.defineProperty(g,"pageMeta",{value:d,enumerable:!1}),g}async function vp(e,t){return e.init&&await e.init(t),{}}async function fjt(e,t){let{entries:r}=await Tw(t.server,e),n=new Set,s=[];for(let i of r){let a=i.pathSegments[0]||s_;n.has(a)||(n.add(a),s.push({type_id:URn(a),type_name:a===s_?pz:a}))}return{class:s}}async function K7t(e,t,r,n,s,i){let a=new Map,o=[];for(let f of n){if(!ljt(f.pathSegments,s))continue;if(f.pathSegments.length===s.length){o.push(f);continue}let h=f.pathSegments[s.length];a.has(h)||a.set(h,[...s,h])}let c=[];for(let[f,h]of a){let p=ojt(h);c.push({vod_id:p,type_id:p,type_name:f,vod_name:f,vod_pic:i_,vod_remarks:"\u76EE\u5F55",vod_tag:"folder",cate:{id:p,name:f},ratio:1.33})}let u=[],l=null;for(let f=0;f1?`${t.shortName}${f+1} \u64AD\u653E\u5217\u8868`:`${p} \u64AD\u653E\u5217\u8868`,g=await Sz(e,t,r,h,t.rootLocator(h),p,{playlistName:m,shortPlaylistName:o.length>1?`${t.shortName}${f+1} \u64AD\u653E\u5217\u8868`:"\u64AD\u653E\u5217\u8868",page:i});a.size===0&&o.length===1&&g.pageMeta&&(l=g.pageMeta),c.push(...g)}catch(p){u.push(`${Os(h)}: ${p?.message||p}`),console.error(`[${t.key}] category failed:`,p?.message||p)}}l&&Object.defineProperty(c,"pageMeta",{value:l,enumerable:!1});let d=vz(i,c,s.join("/")||pz);return u.length&&(d.msg=u.slice(0,3).join(` +`)),d}async function jRn(e,t){await vp(e,t);let{settings:r,entries:n}=await Tw(t.server,e),s=String(t.body?.id||fz),i=Math.max(1,Number.parseInt(t.body?.page||t.body?.pg,10)||1);if(s===fz){let u=await fjt(e,t);return{page:1,pagecount:1,limit:u.class.length,total:u.class.length,list:u.class.map(l=>({vod_id:l.type_id,type_id:l.type_id,type_name:l.type_name,vod_name:l.type_name,vod_pic:i_,vod_remarks:"\u5206\u7C7B",vod_tag:"folder",cate:{id:l.type_id,name:l.type_name},ratio:1.33}))}}let a=$Rn(s);if(a)return await K7t(t,e,r,n,a,i);let o=FRn(s);if(o)return await K7t(t,e,r,n,o,i);let c=yp(s,"mount");if(c){let u=n.find(d=>d.id===String(c.e));if(!u)return{page:1,pagecount:1,limit:0,total:0,list:[]};let l=String(c.n||u.dirName||u.category||e.shortName);try{let d=await Sz(t,e,r,u,e.locatorFromMount(c,u),l,{page:i});return vz(i,d,l)}catch(d){return console.error(`[${e.key}] category failed:`,d?.message||d),{page:1,pagecount:1,limit:0,total:0,list:[],msg:d?.message||`\u8BFB\u53D6${e.shortName}\u5931\u8D25`}}}return{page:1,pagecount:1,limit:0,total:0,list:[]}}async function KRn(e,t){let{settings:r,entries:n}=await Tw(t.server,e),s=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],i=[];for(let a of s){let o=yp(a,"file");if(o){let l=n.find(d=>d.id===String(o.e));if(!l){i.push({vod_id:a,vod_name:o.n||`${e.shortName}\u8D44\u6E90`,vod_content:"\u914D\u7F6E\u5DF2\u4E0D\u5B58\u5728"});continue}i.push(await e.fileDetail(t,l,o,a));continue}let c=yp(a,"playlist");if(c){let l=n.find(d=>d.id===String(c.e));if(!l){i.push({vod_id:a,vod_name:c.n||"\u64AD\u653E\u5217\u8868",vod_content:"\u914D\u7F6E\u5DF2\u4E0D\u5B58\u5728"});continue}try{let d=e.locatorFromPlaylist(c,l),f=await e.list(l,d,r),h=Ez(e,f),p=yz(e,f,l,d),{videos:m,subtitles:g}=GDe(e,h);i.push(await e.playlistDetail(t,l,c,cr(m),g,p,a))}catch(d){console.error(`[${e.key}] playlist detail failed:`,d?.message||d),i.push({vod_id:a,vod_name:c.n||"\u64AD\u653E\u5217\u8868",vod_content:d?.message||`\u8BFB\u53D6${e.shortName}\u64AD\u653E\u5217\u8868\u5931\u8D25`})}continue}let u=yp(a,"mount");if(u){let l=n.find(d=>d.id===String(u.e));if(!l){i.push({vod_id:a,vod_name:u.n||`${e.shortName}\u76EE\u5F55`,vod_content:"\u914D\u7F6E\u5DF2\u4E0D\u5B58\u5728"});continue}try{i.push(await djt(t,e,r,l,u,a))}catch(d){console.error(`[${e.key}] mount detail failed:`,d?.message||d),i.push({vod_id:a,vod_name:u.n||`${e.shortName}\u76EE\u5F55`,vod_content:d?.message||`\u8BFB\u53D6${e.shortName}\u76EE\u5F55\u5931\u8D25`})}continue}i.push({vod_id:a,vod_name:`${e.shortName}\u76EE\u5F55`,vod_remarks:"\u76EE\u5F55"})}return{list:i}}async function GRn(){return{page:1,pagecount:1,list:[]}}async function YRn(e,t,r){try{let n=t.server.prefix,s={},i=await t.server.inject().post(`${n}/init`);s.init=i.json(),i=await t.server.inject().post(`${n}/home`),s.home=i.json();let a=s.home?.class?.[0];return a&&(i=await t.server.inject().post(`${n}/category`).payload({id:a.type_id,page:1}),s.category=i.json()),s}catch(n){return console.error(n),r.code(500),{err:n.message,tip:"\u68C0\u67E5\u8C03\u8BD5\u63A7\u5236\u53F0\u8F93\u51FA"}}}function G7t(e){let t=e==="quarkshare";return{key:e,shortName:t?"\u5938\u514B\u5206\u4EAB":"UC\u5206\u4EAB",metaName:t?"\u{1F4E6} \u5938\u514B\u5408\u96C6":"\u{1F4E6} UC\u5408\u96C6",searchable:!1,init:t?zh:Wh,async parseShare(r){let n=t?await l4(r):g4(r);return n?.shareId?{url:r,...n,sharePwd:n.sharePwd||ejt(r,["pwd","password","passcode"])}:null},rootLocator:r=>r.folderId||"0",list:t?mkt:Okt,categoryPaging:!0,items:r=>Array.isArray(r?.items)?r.items:Array.isArray(r)?r:[],fileName:sjt,itemSize:uz,isFolder(r,n){return jDe(r,n)},isSubtitle:(r,n)=>!jDe(r,n)&&Ct(n),isVideo:(r,n)=>PRn(r,t?W7t:mz)&&uz(r)>=qDe&&TB(r),folderLocator:(r,n)=>bB(n),mountPayload:(r,n="")=>({f:n||r.folderId||"0"}),locatorFromMount:(r,n)=>String(r.f||n.folderId||"0"),playlistPayload:(r,n="")=>({l:n||""}),locatorFromPlaylist:(r,n)=>String(r.l||n.folderId||"0"),filePayload(r,n,s,i={}){return{e:r.id,n:this.fileName(n),f:bB(n),ft:TB(n),st:String(n?.stoken||i?.stoken||""),sf:bB(s),sft:TB(s),se:s?on(this.fileName(s)):"",sz:uz(n)}},async fileDetail(r,n,s,i){let a=await lt(t?"quark":"uc"),o=Zt([n.shareId,s.st||"",s.f||"",s.ft||"",s.sf||"",s.sft||"",s.se||""],{structured:!0});if(!t)return{vod_id:i,vod_name:s.n||"UC\u5206\u4EAB\u8D44\u6E90",vod_content:`\u6587\u4EF6\u540D: ${s.n||""} +\u6765\u6E90: ${Os(n)}`,vod_play_from:a,vod_play_url:`${a_(s.n,s.sz)}$${o}`};let c=Ao(a,[{vod_id:o,vod_name:s.n||"\u5938\u514B\u5206\u4EAB\u8D44\u6E90",vod_size:Number(s.sz||0)}]);return{vod_id:i,vod_name:s.n||"\u5938\u514B\u5206\u4EAB\u8D44\u6E90",vod_content:`\u6587\u4EF6\u540D: ${s.n||""} +\u6765\u6E90: ${Os(n)}`,vod_play_from:c?.from||a,vod_play_url:c?.url||""}},async playlistDetail(r,n,s,i,a,o,c){let u=await lt(t?"quark":"uc"),l=i.map(f=>{let h=this.fileName(f),p=yr(h,a,this.fileName);return{vod_id:Zt([n.shareId,String(f?.stoken||o?.stoken||""),bB(f),TB(f),bB(p),TB(p),p?on(this.fileName(p)):""],{structured:!0}),vod_name:h,vod_size:uz(f)}}),d=Ao(u,l,!1);return{vod_id:c,vod_name:s.n||"\u64AD\u653E\u5217\u8868",vod_content:`\u672C\u5C42\u64AD\u653E\u5217\u8868: ${l.length}\u4E2A\u89C6\u9891 +\u6765\u6E90: ${Os(n)}`,vod_play_from:d?.from||u,vod_play_url:d?.url||""}},play:t?(r,n)=>Z7(r,n):(r,n)=>oj(r,n)}}async function hjt(e,t){let r=String(e.params?.token||"").replace(/\.[^.]+$/,""),n=ORn(r);if(!n)return t.code(403).send("SMB proxy token expired");let{entries:s}=await Tw(e.server,YDe),i=s.find(p=>p.id===String(n.e));if(!i)return t.code(404).send("SMB config not found");let a=aa(n.p),o=String(n.n||xB(a)||"file"),c;try{c=await wRn(i,a)}catch(p){return t.code(404).send(p?.message||"SMB file not found")}if(typeof c?.isDirectory=="function"&&c.isDirectory())return t.code(400).send("SMB path is a directory");let u=Number(c?.size||0),l=Az(o),d=uRn[l]||"application/octet-stream",f=MC(e.headers?.range,u);if(f?.unsatisfied)return t.code(416),t.header("Content-Range",`bytes */${u}`),t.send("");let h=rjt(i);try{let p=f?{start:f.start,end:f.end}:{},m=await h.createReadStream(a,p),g=()=>{try{h.disconnect()}catch{}};return m.on("close",g),m.on("end",g),m.on("error",g),t.header("Content-Type",d),t.header("Accept-Ranges","bytes"),t.header("Access-Control-Allow-Origin","*"),t.header("Access-Control-Allow-Headers","Range, Content-Type"),t.header("Access-Control-Expose-Headers","Content-Length, Content-Range, Accept-Ranges"),t.header("Cache-Control","no-store"),f?(t.code(206),t.header("Content-Range",`bytes ${f.start}-${f.end}/${u}`),t.header("Content-Length",String(f.end-f.start+1))):u>0&&t.header("Content-Length",String(u)),t.send(m)}catch(p){try{h.disconnect()}catch{}return t.code(502).send(p?.message||"SMB proxy failed")}}function RB(e){return lb(e.key)?.label||e.shortName}async function QDe(e){let t=await cz(e),r=LDe(t.text),n=new Map,s=[];for(let i of r.entries){let a=vc[i.providerKey];if(!a)continue;let o=await a.parseShare(i.url);if(!o)continue;n.has(a.key)||(n.set(a.key,[]),s.push(a));let c=n.get(a.key);c.push({...i,id:String(c.length),category:i.pathSegments[0]||pz,dirName:i.pathSegments.slice(1).join("/")||"",namePath:i.mountPath,...o})}return{settings:t,entriesByProvider:n,orderedProviders:s,errors:r.errors}}function ZRn(e){return`cat@@@${e.key}`}function eCn(e){if(!String(e||"").startsWith("cat@@@"))return null;let t=String(e).slice(6);return vc[t]?t:null}async function pjt(e){let{entriesByProvider:t,orderedProviders:r}=await QDe(e.server),n=[];for(let s of r){let i=t.get(s.key)||[];i.length&&n.push({type_id:ZRn(s),type_name:i[0]?.providerLabel||RB(s)})}return{class:n}}async function Y7t(e,t,r,n,s,i){await vp(t,e);let a=yw(r,t.key),o=new Map,c=[];for(let h of n){if(!ljt(h.pathSegments,s))continue;if(h.pathSegments.length===s.length){c.push(h);continue}let p=h.pathSegments[s.length];o.has(p)||o.set(p,[...s,p])}let u=[];for(let[h,p]of o){let m=ojt(p,t.key);u.push({vod_id:m,type_id:m,type_name:h,vod_name:h,vod_pic:i_,vod_remarks:"\u76EE\u5F55",vod_tag:"folder",cate:{id:m,name:h},ratio:1.33})}let l=[],d=null;for(let h=0;h1?`${RB(t)}${h+1} \u64AD\u653E\u5217\u8868`:`${m} \u64AD\u653E\u5217\u8868`,_=await Sz(e,t,a,p,t.rootLocator(p),m,{playlistName:g,shortPlaylistName:c.length>1?`${RB(t)}${h+1} \u64AD\u653E\u5217\u8868`:"\u64AD\u653E\u5217\u8868",page:i});o.size===0&&c.length===1&&_.pageMeta&&(d=_.pageMeta),u.push(..._)}catch(m){l.push(`${Os(p)}: ${m?.message||m}`),console.error(`[sharemount:${t.key}] category failed:`,m?.message||m)}}d&&Object.defineProperty(u,"pageMeta",{value:d,enumerable:!1});let f=vz(i,u,s.join("/")||RB(t));return l.length&&(f.msg=l.slice(0,3).join(` +`)),f}async function tCn(e){let{settings:t,entriesByProvider:r}=await QDe(e.server),n=String(e.body?.id||fz),s=Math.max(1,Number.parseInt(e.body?.page||e.body?.pg,10)||1);if(n===fz){let c=await pjt(e);return{page:1,pagecount:1,limit:c.class.length,total:c.class.length,list:c.class.map(u=>({vod_id:u.type_id,type_id:u.type_id,type_name:u.type_name,vod_name:u.type_name,vod_pic:i_,vod_remarks:"\u5206\u7C7B",vod_tag:"folder",cate:{id:u.type_id,name:u.type_name},ratio:1.33}))}}let i=eCn(n);if(i){let c=vc[i];return await Y7t(e,c,t,r.get(c.key)||[],[],s)}let a=cjt(n);if(a?.providerKey&&vc[a.providerKey]){let c=vc[a.providerKey];return await Y7t(e,c,t,r.get(c.key)||[],a.segments,s)}let o=yp(n,"mount");if(o?.k&&vc[o.k]){let c=vc[o.k],l=(r.get(c.key)||[]).find(f=>f.id===String(o.e));if(!l)return{page:1,pagecount:1,limit:0,total:0,list:[]};let d=String(o.n||l.dirName||l.category||c.shortName);try{await vp(c,e);let f=yw(t,c.key),h=await Sz(e,c,f,l,c.locatorFromMount(o,l),d,{page:s});return vz(s,h,d)}catch(f){return console.error(`[sharemount:${c.key}] category failed:`,f?.message||f),{page:1,pagecount:1,limit:0,total:0,list:[],msg:f?.message||`\u8BFB\u53D6${c.shortName}\u5931\u8D25`}}}return{page:1,pagecount:1,limit:0,total:0,list:[]}}function rCn(e,t){return NB("play",{k:e,id:String(t||"")})}function nCn(e,t){return String(e||"").split("$$$").map(r=>r.split("#").map(n=>{let s=n.indexOf("$");return s<0?n:`${n.slice(0,s+1)}${rCn(t,n.slice(s+1))}`}).join("#")).join("$$$")}function $De(e,t){return e?.vod_play_url?{...e,vod_play_url:nCn(e.vod_play_url,t)}:e}async function sCn(e){let{settings:t,entriesByProvider:r}=await QDe(e.server),n=Array.isArray(e.body?.id)?e.body.id:[e.body?.id],s=[];for(let i of n){let a=yp(i,"file");if(a?.k&&vc[a.k]){let u=vc[a.k],l=(r.get(u.key)||[]).find(d=>d.id===String(a.e));if(!l){s.push({vod_id:i,vod_name:a.n||`${u.shortName}\u8D44\u6E90`,vod_content:"\u914D\u7F6E\u5DF2\u4E0D\u5B58\u5728"});continue}await vp(u,e),s.push($De(await u.fileDetail(e,l,a,i),u.key));continue}let o=yp(i,"playlist");if(o?.k&&vc[o.k]){let u=vc[o.k],d=(r.get(u.key)||[]).find(f=>f.id===String(o.e));if(!d){s.push({vod_id:i,vod_name:o.n||"\u64AD\u653E\u5217\u8868",vod_content:"\u914D\u7F6E\u5DF2\u4E0D\u5B58\u5728"});continue}try{await vp(u,e);let f=yw(t,u.key),h=u.locatorFromPlaylist(o,d),p=await u.list(d,h,f),m=Ez(u,p),g=yz(u,p,d,h),{videos:_,subtitles:y}=GDe(u,m),E=await u.playlistDetail(e,d,o,cr(_),y,g,i);s.push($De(E,u.key))}catch(f){console.error(`[sharemount:${u.key}] playlist detail failed:`,f?.message||f),s.push({vod_id:i,vod_name:o.n||"\u64AD\u653E\u5217\u8868",vod_content:f?.message||`\u8BFB\u53D6${u.shortName}\u64AD\u653E\u5217\u8868\u5931\u8D25`})}continue}let c=yp(i,"mount");if(c?.k&&vc[c.k]){let u=vc[c.k],d=(r.get(u.key)||[]).find(f=>f.id===String(c.e));if(!d){s.push({vod_id:i,vod_name:c.n||`${u.shortName}\u76EE\u5F55`,vod_content:"\u914D\u7F6E\u5DF2\u4E0D\u5B58\u5728"});continue}try{let f=yw(t,u.key),h=await djt(e,u,f,d,c,i);s.push($De(h,u.key))}catch(f){console.error(`[sharemount:${u.key}] mount detail failed:`,f?.message||f),s.push({vod_id:i,vod_name:c.n||`${u.shortName}\u76EE\u5F55`,vod_content:f?.message||`\u8BFB\u53D6${u.shortName}\u76EE\u5F55\u5931\u8D25`})}continue}s.push({vod_id:i,vod_name:"\u5408\u96C6\u76EE\u5F55",vod_remarks:"\u76EE\u5F55"})}return{list:s}}async function iCn(e,t){let r=yp(e.body?.id,"play");if(!r?.k||!vc[r.k])return ru("\u5408\u96C6\u64AD\u653E\u53C2\u6570\u9519\u8BEF");let n=vc[r.k];await vp(n,e);let s=e.body;e.body={...s||{},id:r.id||""};try{return await n.play(e,t)}finally{e.body=s}}async function aCn(e){return await vp(C0,e),await C0.search(e)}async function oCn(e,t){try{let r=e.server.prefix,n={},s=await e.server.inject().post(`${r}/init`);n.init=s.json(),s=await e.server.inject().post(`${r}/home`),n.home=s.json();let i=n.home?.class?.[0];return i&&(s=await e.server.inject().post(`${r}/category`).payload({id:i.type_id,page:1}),n.category=s.json()),n}catch(r){return console.error(r),t.code(500),{err:r.message,tip:"\u68C0\u67E5\u8C03\u8BD5\u63A7\u5236\u53F0\u8F93\u51FA"}}}function mjt(){return{meta:{key:"sharemount",name:"\u{1F4E6} \u7F51\u76D8",type:3,searchable:!0},api:async e=>{e.post("/init",async()=>({})),e.post("/home",pjt),e.post("/category",tCn),e.post("/detail",sCn),e.post("/play",iCn),e.post("/search",aCn),e.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",ws),e.get("/proxy/media/:token",hjt),e.get("/test",oCn)}}}function cCn(e){let t=vc[e];if(!t||!lb(e))throw new Error(`Unknown sharemount provider: ${e}`);return{meta:{key:t.key,name:t.metaName,type:3,searchable:t.searchable},api:async r=>{r.post("/init",n=>vp(t,n)),r.post("/home",n=>fjt(t,n)),r.post("/category",n=>jRn(t,n)),r.post("/detail",n=>KRn(t,n)),r.post("/play",(n,s)=>t.play(n,s)),r.post("/search",t.search?n=>t.search(n):GRn),["alishare","quarkshare","ucshare","baidushare"].includes(t.key)&&r.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",ws),t.key==="smb"&&r.get("/proxy/media/:token",hjt),r.get("/test",(n,s)=>YRn(t,n,s))}}}var Q7t,sf,CB,i_,z7t,eRn,fz,pz,qDe,mz,W7t,tRn,rRn,nRn,sRn,X7t,B7t,U7t,F7t,iRn,J7t,aRn,HDe,VDe,Z7t,oRn,cRn,uRn,wB,C0,QRn,zRn,WRn,XRn,JRn,YDe,vc,uCn,_jt=oe(()=>{Pr();Q7t=we(w7t(),1),sf=we(require("node:crypto"),1),CB=we(ki(),1);vE();gT();ZC();ZC();d4();d4();_4();Xj();qIe();N4();Yu();XC();Cs();Bi();xl();bg();ju();Fa();uj();h7();zi();kDe();i_="https://img.icons8.com/fluency/96/folder-invoices--v1.png",z7t="https://img.icons8.com/color/48/video.png",eRn="https://img.icons8.com/fluency/96/playlist.png",fz="root",pz="\u76F4\u6302",qDe=5*1024*1024,mz=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"],W7t=[".mp4",".mkv",".avi",".mov",".flv",".wmv",".m3u8",".ts",".rmvb",".webm",".m4v",".mpg",".mpeg",".3gp",".f4v",".vob",".rm",".iso",".asf",".divx"],tRn=new Set(["mp4","webm","avi","wmv","flv","mov","mkv","mpeg","mpg","3gp","ts","m2ts","mp3","wav","aac","iso","rmvb","rm","m4v","f4v","m4a","vob"]),rRn=30,nRn=10,sRn=600,X7t=10*60*1e3,B7t=2*60*1e3,U7t=6,F7t="https://webapi.115.com/share/snap",iRn="https://webapi.115.com/share/search",J7t="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 115Browser/36.0.0 Chromium/125.0",aRn={"User-Agent":J7t,"X-Requested-With":"XMLHttpRequest",Origin:"https://115.com"},HDe=new pt(200,X7t),VDe=445,Z7t="WORKGROUP",oRn=6*60*60*1e3,cRn=new Set(["mp4","mkv","webm","avi","wmv","flv","mov","mpeg","mpg","m4v","ts","m2ts","3gp","rm","rmvb","iso","vob","f4v","m3u8"]),uRn={mp4:"video/mp4",m4v:"video/mp4",mkv:"video/x-matroska",webm:"video/webm",avi:"video/x-msvideo",mov:"video/quicktime",ts:"video/mp2t",m2ts:"video/mp2t",m3u8:"application/vnd.apple.mpegurl",vtt:"text/vtt; charset=utf-8",srt:"text/plain; charset=utf-8",ass:"text/plain; charset=utf-8",ssa:"text/plain; charset=utf-8"},wB=new Map;IRn();C0={key:"115share",shortName:"115\u5206\u4EAB",metaName:"\u{1F4E6} 115\u5408\u96C6",searchable:!0,init:Yh,parseShare:fRn,rootLocator:()=>"",list:hRn,categoryPaging:!0,items:e=>Array.isArray(e?.items)?e.items:Array.isArray(e)?e:[],fileName:e=>String(e?.n||e?.name||"\u672A\u77E5").trim()||"\u672A\u77E5",itemSize:e=>Number(e?.s||e?.size||0),isFolder(e,t){return BDe(t)||Ct(t)||e?.fid||e?.file_id?!1:Number(e?.fc)===0||!!e?.cid},isVideo:(e,t)=>BDe(t),folderLocator:(e,t)=>String(t.cid||""),mountPayload:(e,t="")=>({c:t||""}),locatorFromMount:e=>String(e.c||""),playlistPayload:(e,t="")=>({c:t||""}),locatorFromPlaylist:e=>String(e.c||""),filePayload(e,t,r){return{e:e.id,n:this.fileName(t),f:String(t?.fid||t?.file_id||""),sf:String(r?.fid||r?.file_id||""),se:r?tjt(this.fileName(r)):"",sz:this.itemSize(t)}},async fileDetail(e,t,r,n){let s=await lt("115"),i=$7t(t,r.f||"",r.sf||"",r.se||"");return{vod_id:n,vod_name:r.n||"115\u5206\u4EAB\u8D44\u6E90",vod_content:`\u6587\u4EF6\u540D: ${r.n||""} +\u6765\u6E90: ${Os(t)}`,vod_play_from:s,vod_play_url:`${a_(r.n,r.sz)}$${i}`}},async playlistDetail(e,t,r,n,s,i,a){let o=await lt("115"),c=n.map(u=>{let l=this.fileName(u),d=yr(l,s,this.fileName);return`${a_(l,this.itemSize(u))}$${$7t(t,String(u?.fid||u?.file_id||""),String(d?.fid||d?.file_id||""),d?this.fileName(d):"")}`});return{vod_id:a,vod_name:r.n||"\u64AD\u653E\u5217\u8868",vod_content:`\u672C\u5C42\u64AD\u653E\u5217\u8868: ${c.length}\u4E2A\u89C6\u9891 +\u6765\u6E90: ${Os(t)}`,vod_play_from:o,vod_play_url:c.join("#")}},async play(e){await Yh(e);let t=String(e.body?.id||"").split("*");if(t[0]!=="share"||!t[1]||!t[2]||!t[3])return ru("115\u5206\u4EAB\u64AD\u653E\u53C2\u6570\u9519\u8BEF");let r=await vo(e.server),n=await N7(t[1],t[2],t[3],r);if(!n?.url)return ru(n?.msg||"115\u5206\u4EAB\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740");let s={parse:0,url:["\u539F\u753B",n.url],header:{"User-Agent":J7t,Cookie:n.cookie||r,Referer:"https://115.com/",Origin:"https://115.com"}};if(t[4]){let i=await N7(t[1],t[2],t[4],r);if(i?.url){let a=t[5]||"srt";Object.assign(s,_z(i.url,a))}}return s},async search(e){let t=String(e.body?.wd||e.body?.keyword||e.body?.searchword||"").trim(),r=Math.max(1,Number.parseInt(e.body?.page||e.body?.pg,10)||1);if(!t)return{page:r,pagecount:1,limit:0,total:0,list:[]};let{settings:n,entries:s}=await Tw(e.server,C0);n.searchLimit=Math.max(1,Math.min(100,Number(n.searchLimit)||rRn)),n.searchMaxShares=Math.max(1,Math.floor(Number(n.searchMaxShares)||nRn)),n.searchIntervalMs=Math.max(0,Math.min(5e3,Number(n.searchIntervalMs)||sRn)),n.searchCacheTtlMs=Math.max(0,Math.min(60*60*1e3,Number(n.searchCacheTtlMs)||X7t));let i=await vo(e.server),a=s.slice(0,n.searchMaxShares),o=n.searchLimit,c=JSON.stringify({v:12,q:t,p:r,m:n.searchMaxShares,l:n.searchLimit}),u=pRn(c);if(u)return u;let l=[],d=new Set,f=[],h=!1;for(let m=0;m=o);m+=1){let g=a[m];if(g.pathSegments?.some(_=>ERn(_,t))){let _=KDe(C0,g,C0.rootLocator(g),g.pathSegments.at(-1)||g.category),y=`${g.id}:config:${g.mountPath}`;!d.has(y)&&l.length=o)break;try{let _=Math.max(1,Math.min(n.searchLimit,o-l.length)),y=await ARn(g,t,r,{...n,searchLimit:_},i);for(let E of y){if(l.length>=o)break;let A=this.fileName(E);if(this.isFolder(E,A)){let C=this.folderLocator(g,E,{});if(!C)continue;let b=KDe(C0,g,C,A),x=`${g.id}:dir:${C}`;if(d.has(x))continue;d.add(x),l.push({vod_id:b,type_id:b,type_name:A,vod_name:A,vod_pic:i_,vod_remarks:`${Os(g)} \xB7 \u76EE\u5F55`,vod_tag:"folder",cate:{id:b,name:A},ratio:1.33});continue}let v=String(E?.fid||E?.file_id||"");if(!v||this.isFolder(E,A)||!BDe(A))continue;let T=`${g.id}:${v}`;d.has(T)||(d.add(T),l.push({vod_id:ujt(C0,g,E,null,{}),vod_name:A,vod_pic:z7t,vod_remarks:`${Os(g)}${E?.s||E?.size?` \xB7 ${Vu(Number(E?.s||E?.size||0))}`:""}`,ratio:1.33}))}}catch(_){_?.auth&&(h=!0),f.push(`${Os(g)}: ${_?.message||_}`),console.warn("[115share] search failed:",Os(g),_?.message||_)}m0&&await tr(n.searchIntervalMs)}let p={page:r,pagecount:l.length>=n.searchLimit?r+1:r,limit:n.searchLimit,total:l.length,list:l};return!l.length&&f.length&&(p.msg=f.slice(0,3).join(` +`)),h||mRn(c,p,l.length?n.searchCacheTtlMs:Math.min(n.searchCacheTtlMs||B7t,B7t)),p}},QRn={key:"alishare",shortName:"\u963F\u91CC\u5206\u4EAB",metaName:"\u{1F4E6} \u963F\u91CC\u5408\u96C6",searchable:!1,init:Cg,parseShare(e){let t=bE(e);return t?.shareId?{url:e,...t,sharePwd:t.sharePwd||ejt(e)}:null},rootLocator:e=>e.folderId||"root",list:JMt,categoryPaging:!0,items:e=>Array.isArray(e?.items)?e.items:Array.isArray(e)?e:[],fileName:e=>String(e?.name||e?.file_name||"\u672A\u77E5").trim()||"\u672A\u77E5",itemSize:e=>Number(e?.size||0),isFolder(e,t){return this.isVideo(e,t)||Ct(t)?!1:e?.type==="folder"||e?.category==="folder"},folderLocator:(e,t)=>String(t.file_id||""),mountPayload:(e,t="")=>({f:t||e.folderId||"root"}),locatorFromMount:(e,t)=>String(e.f||t.folderId||"root"),playlistPayload:(e,t="")=>({l:t||""}),locatorFromPlaylist:(e,t)=>String(e.l||t.folderId||"root"),filePayload(e,t,r){return{e:e.id,n:this.fileName(t),f:String(t?.file_id||""),sf:String(r?.file_id||""),sz:Number(t?.size||0),se:r?on(this.fileName(r)):""}},isVideo:function(t,r){if(t?.category==="video")return Number(t?.size||0)>=qDe;let n=`.${String(t?.file_extension||"").toLowerCase()}`;return Number(t?.size||0)>=qDe&&(mz.includes(n)||Sw(r))},async fileDetail(e,t,r,n){let s=await lt("ali"),i=[{vod_id:Zt([t.shareId,r.f||"",r.sf||""],{structured:!0}),vod_name:r.n||"\u963F\u91CC\u5206\u4EAB\u8D44\u6E90",vod_size:Number(r.sz||0)}],a=Ao(s,i),o=[{vod_id:Zt([t.shareId,r.f||"",r.sf||"",t.url||""],{structured:!0}),vod_name:r.n||"\u963F\u91CC\u5206\u4EAB\u8D44\u6E90",vod_size:Number(r.sz||0)}],c=Ao("\u79D2\u4F20115",o);return{vod_id:n,vod_name:r.n||"\u963F\u91CC\u5206\u4EAB\u8D44\u6E90",vod_content:`\u6587\u4EF6\u540D: ${r.n||""} +\u6765\u6E90: ${Os(t)}`,vod_play_from:[a?.from,c?.from].filter(Boolean).join("$$$"),vod_play_url:[a?.url,c?.url].filter(Boolean).join("$$$")}},async playlistDetail(e,t,r,n,s,i,a){let o=await lt("ali"),c=n.map(f=>{let h=this.fileName(f),p=yr(h,s,this.fileName);return{vod_id:Zt([t.shareId,String(f?.file_id||""),String(p?.file_id||"")],{structured:!0}),vod_name:h,vod_size:Number(f?.size||0)}}),u=n.map(f=>{let h=this.fileName(f),p=yr(h,s,this.fileName);return{vod_id:Zt([t.shareId,String(f?.file_id||""),String(p?.file_id||""),t.url||""],{structured:!0}),vod_name:h,vod_size:Number(f?.size||0)}}),l=Ao(o,c),d=Ao("\u79D2\u4F20115",u);return{vod_id:a,vod_name:r.n||"\u64AD\u653E\u5217\u8868",vod_content:`\u672C\u5C42\u64AD\u653E\u5217\u8868: ${n.length}\u4E2A\u89C6\u9891 +\u6765\u6E90: ${Os(t)}`,vod_play_from:[l?.from,d?.from].filter(Boolean).join("$$$"),vod_play_url:[l?.url,d?.url].filter(Boolean).join("$$$")}},play:(e,t)=>o4(e,t)};zRn={key:"123share",shortName:"123\u5206\u4EAB",metaName:"\u{1F4E6} 123\u5408\u96C6",searchable:!1,init:f0,parseShare(e){let t=Gu.getShareData(e);return t?.shareKey?{url:e,...t}:null},rootLocator:()=>"0",list:(e,t,r)=>Gu.listShareFilesOneLayer(e,t||"0",r),categoryPaging:!0,items:e=>Array.isArray(e?.items)?e.items:Array.isArray(e)?e:[],fileName:LRn,itemSize:db,isFolder(e,t){return ajt(e,t)},isVideo:MRn,folderLocator:(e,t)=>vw(t),mountPayload:(e,t="")=>({f:t||"0"}),locatorFromMount:e=>String(e.f||"0"),playlistPayload:(e,t="")=>({l:t||""}),locatorFromPlaylist:e=>String(e.l||"0"),filePayload(e,t,r){return{e:e.id,n:this.fileName(t),f:vw(t),s3:lz(t),sz:db(t),et:dz(t),dl:V7t(t),sf:vw(r),ss3:lz(r),ssz:db(r),set:dz(r),se:r?on(this.fileName(r)):""}},async fileDetail(e,t,r,n){let s=await lt("123"),i=Zt([t.shareKey,r.f||"",r.s3||"",r.sz||"",r.et||"",r.sf||"",r.ss3||"",r.ssz||"",r.set||"",r.se||""],{structured:!0}),a=Wj(r.dl||""),o=a_(r.n,r.sz);return{vod_id:n,vod_name:r.n||"123\u5206\u4EAB\u8D44\u6E90",vod_content:`\u6587\u4EF6\u540D: ${r.n||""} +\u6765\u6E90: ${Os(t)}`,vod_play_from:a?`${px}$$$${s}`:s,vod_play_url:a?`${o}$${a}$$$${o}$${i}`:`${o}$${i}`}},async playlistDetail(e,t,r,n,s,i,a){let o=await lt("123"),c=n.map(h=>{let p=this.fileName(h),m=yr(p,s,this.fileName);return{vod_id:Zt([t.shareKey,vw(h),lz(h),db(h),dz(h),vw(m),lz(m),db(m),dz(m),m?on(this.fileName(m)):""],{structured:!0}),vod_name:p,vod_size:db(h)}}),u=n.map(h=>{let p=Wj(V7t(h));return p?{vod_id:p,vod_name:this.fileName(h),vod_size:db(h)}:null}).filter(Boolean),l=Ao(px,u,!1),d=Ao(o,c,!1),f=!!(l?.from&&l?.url);return{vod_id:a,vod_name:r.n||"\u64AD\u653E\u5217\u8868",vod_content:`\u672C\u5C42\u64AD\u653E\u5217\u8868: ${c.length}\u4E2A\u89C6\u9891 +\u6765\u6E90: ${Os(t)}`,vod_play_from:f?`${l.from}$$$${d?.from||o}`:d?.from||o,vod_play_url:f?`${l.url}$$$${d?.url||""}`:d?.url||""}},async play(e){await f0(e);let t=qn(e.body?.id||"");if(!t[0]||!t[1])return ru("123\u5206\u4EAB\u64AD\u653E\u53C2\u6570\u9519\u8BEF");try{if(t[0]==="direct"){let s=String(t[1]||"").trim();return s?{parse:0,url:["\u539F\u753B",s]}:ru("123\u65E0\u9650\u672A\u8FD4\u56DE\u64AD\u653E\u5730\u5740")}let r=await Gu.getDownload(t[0],t[1],t[2],t[3],t[4]);if(!r)return ru("123\u5206\u4EAB\u672A\u8FD4\u56DE\u64AD\u653E\u5730\u5740");let n={parse:0,url:["\u539F\u753B",r]};if(t[5]&&t[6]&&t[7]&&t[8]){let s=await Gu.getDownload(t[0],t[5],t[6],t[7],t[8]).catch(()=>"");if(s){let i=t[9]||"srt";Object.assign(n,_z(s,i))}}return n}catch(r){return ru(`123\u5206\u4EAB\u63A5\u53E3\u5F02\u5E38: ${r?.message||r}`)}}},WRn={key:"guangyashare",shortName:"\u5149\u9E2D\u5206\u4EAB",metaName:"\u{1F4E6} \u5149\u9E2D\u5408\u96C6",searchable:!1,parseShare(e){let t=String(e||"").match(/https?:\/\/(?:www\.)?guangyapan\.com\/s\/([a-zA-Z0-9_-]+)(?:\?[^\s#]*)?(?:#[^\s]*)?/i);if(!t)return null;let r="";try{let n=new URL(t[0]);r=String(n.searchParams.get("code")||n.searchParams.get("pwd")||"").trim(),!r&&n.hash&&(r=String(new URLSearchParams(n.hash.slice(1)).get("code")||n.hash.slice(1)).trim())}catch{}return{url:t[0],shareId:t[1],code:r}},rootLocator:()=>"",async list(e){return{items:(await R1e(e.url)).videos||[]}},items:e=>Array.isArray(e?.items)?e.items:[],fileName:e=>String(e?.fileName||"\u672A\u77E5").trim()||"\u672A\u77E5",itemSize:e=>Number(e?.fileSize||e?.size||0)||0,isFolder:()=>!1,isVideo:e=>!!e?.fileId,folderLocator:()=>"",mountPayload:()=>({f:""}),locatorFromMount:()=>"",playlistPayload:()=>({l:""}),locatorFromPlaylist:()=>"",filePayload(e,t){return{e:e.id,n:this.fileName(t),f:String(t?.fileId||""),sz:this.itemSize(t)}},async fileDetail(e,t,r,n){let s=await lt("guangya"),i=Zt([t.shareId,r.f||"",t.code||"",r.n||""],{structured:!0});return{vod_id:n,vod_name:r.n||"\u5149\u9E2D\u5206\u4EAB\u8D44\u6E90",vod_content:`\u6587\u4EF6\u540D: ${r.n||""} +\u6765\u6E90: ${Os(t)}`,vod_play_from:s,vod_play_url:`${a_(r.n,r.sz)}$${i}`}},async playlistDetail(e,t,r,n,s,i,a){let o=await lt("guangya"),c=n.map(l=>({vod_id:Zt([t.shareId,String(l?.fileId||""),t.code||"",this.fileName(l)],{structured:!0}),vod_name:this.fileName(l),vod_size:this.itemSize(l)})),u=Ao(o,c,!1);return{vod_id:a,vod_name:r.n||"\u64AD\u653E\u5217\u8868",vod_content:`\u5149\u9E2D\u5206\u4EAB\u64AD\u653E\u5217\u8868: ${c.length}\u4E2A\u89C6\u9891 +\u6765\u6E90: ${Os(t)}`,vod_play_from:u?.from||o,vod_play_url:u?.url||""}},async play(e){let t=qn(e.body?.id||"");if(!t[0]||!t[1]||!t[3])return ru("\u5149\u9E2D\u5206\u4EAB\u64AD\u653E\u53C2\u6570\u9519\u8BEF");try{let r=await B7(t[0],t[1],t[2]||"",e.server,t[3]);return r?{parse:0,url:["\u539F\u753B",r],header:SE}:ru("\u5149\u9E2D\u5206\u4EAB\u672A\u8FD4\u56DE\u64AD\u653E\u5730\u5740")}catch(r){return ru(`\u5149\u9E2D\u5206\u4EAB\u63A5\u53E3\u5F02\u5E38: ${r?.message||r}`)}}},XRn={key:"139share",shortName:"139\u5206\u4EAB",metaName:"\u{1F4E6} 139\u5408\u96C6",searchable:!1,parseShare:yRn,rootLocator:()=>"root",list:B3t,categoryPaging:!0,items:e=>Array.isArray(e?.items)?e.items:[],context:(e,t)=>({linkID:e?.linkID||t.linkID||""}),fileName:kRn,itemSize:UDe,isFolder:(e,t)=>!Ct(t)&&!A4(t)&&e?.itemType==="folder",isVideo:(e,t)=>e?.itemType!=="folder"&&(Number(e?.coType)===3||A4(t))&&!!e?.coID,folderLocator:(e,t)=>String(t.path||""),mountPayload:(e,t="")=>({f:t||"root"}),locatorFromMount:e=>String(e.f||"root"),playlistPayload:(e,t="")=>({l:t||""}),locatorFromPlaylist:e=>String(e.l||"root"),filePayload(e,t,r,n){return{e:e.id,n:this.fileName(t),c:String(t?.coID||t?.contentId||""),l:n?.linkID||e.linkID||"",sf:String(r?.coID||r?.contentId||""),se:r?on(this.fileName(r)):"",p:String(t?.path||""),sp:String(r?.path||""),sz:UDe(t)}},async fileDetail(e,t,r,n){let s=await lt("yidong"),i=Zt([r.c||"",r.l||t.linkID||"",r.sf||"",r.se||"",r.p||"",r.sp||""],{structured:!0});return{vod_id:n,vod_name:r.n||"139\u5206\u4EAB\u8D44\u6E90",vod_content:`\u6587\u4EF6\u540D: ${r.n||""} +\u6765\u6E90: ${Os(t)}`,vod_play_from:s,vod_play_url:`${a_(r.n,r.sz)}$${i}`}},async playlistDetail(e,t,r,n,s,i,a){let o=await lt("yidong"),c=n.map(l=>{let d=this.fileName(l),f=yr(d,s,this.fileName);return{vod_id:Zt([String(l?.coID||l?.contentId||""),i?.linkID||t.linkID||"",String(f?.coID||f?.contentId||""),f?on(this.fileName(f)):"",String(l?.path||""),String(f?.path||"")],{structured:!0}),vod_name:d,vod_size:UDe(l)}}),u=Ao(o,c,!1);return{vod_id:a,vod_name:r.n||"\u64AD\u653E\u5217\u8868",vod_content:`\u672C\u5C42\u64AD\u653E\u5217\u8868: ${c.length}\u4E2A\u89C6\u9891 +\u6765\u6E90: ${Os(t)}`,vod_play_from:u?.from||o,vod_play_url:u?.url||""}},async play(e){let t=qn(e.body?.id||"");if(!t[0]||!t[1])return ru("139\u5206\u4EAB\u64AD\u653E\u53C2\u6570\u9519\u8BEF");try{let r=await UT.getSharePlayInfo(t[0],t[1],t[4]||""),n=r?.url||"";if(!n)return ru(r?.error||"139\u5206\u4EAB\u672A\u8FD4\u56DE\u64AD\u653E\u5730\u5740");let s={parse:0,url:["\u539F\u753B",n]};if(t[2]){let a=(await UT.getSharePlayInfo(t[2],t[1],t[5]||""))?.url||"";if(a){let o=t[3]||"srt";Object.assign(s,_z(a,o))}}return s}catch(r){return ru(`139\u5206\u4EAB\u63A5\u53E3\u5F02\u5E38: ${r?.message||r}`)}}},JRn={key:"baidushare",shortName:"\u767E\u5EA6\u5206\u4EAB",metaName:"\u{1F4E6} \u767E\u5EA6\u5408\u96C6",searchable:!1,init:Dg,parseShare(e){let t=JIe(e);return t?.shareId?{url:e,...t}:null},rootLocator:()=>"/",list:Z3t,categoryPaging:!0,items:e=>Array.isArray(e?.items)?e.items:[],context:e=>({meta:e?.meta||{}}),fileName:BRn,itemSize:FDe,isFolder(e,t){if(this.isVideo(e,t)||Ct(t))return!1;let r=e?.isdir??e?.is_dir;return r!=null?Number(r)===1:!1},isVideo:(e,t)=>(Number(e?.category)===1||Sw(t))&&!!IB(e),folderLocator:(e,t)=>String(t?.path||"/"),mountPayload:(e,t="")=>({p:t||"/"}),locatorFromMount:e=>String(e.p||"/"),playlistPayload:(e,t="")=>({l:t||""}),locatorFromPlaylist:e=>String(e.l||"/"),filePayload(e,t,r,n){let s=n?.meta||{};return{e:e.id,n:this.fileName(t),p:String(t?.path||""),u:String(s?.uk||""),sid:String(s?.shareid||""),f:IB(t),su:String(s?.surl||e.shareId||""),pw:String(s?.pwd||e.sharePwd||""),sf:IB(r),se:r?on(this.fileName(r)):"",sz:FDe(t)}},async fileDetail(e,t,r,n){let s=await lt("baidu"),i=Zt([String(r.p||"").replaceAll("#","\0"),r.u||"",r.sid||"",r.f||"",r.su||t.shareId||"",encodeURIComponent(r.pw||""),r.sf||""],{structured:!0});return{vod_id:n,vod_name:r.n||"\u767E\u5EA6\u5206\u4EAB\u8D44\u6E90",vod_content:`\u6587\u4EF6\u540D: ${r.n||""} +\u6765\u6E90: ${Os(t)}`,vod_play_from:s,vod_play_url:`${a_(r.n,r.sz)}$${i}`}},async playlistDetail(e,t,r,n,s,i,a){let o=await lt("baidu"),c=i?.meta||{},u=n.map(d=>{let f=this.fileName(d),h=yr(f,s,this.fileName);return{vod_id:Zt([String(d?.path||"").replaceAll("#","\0"),String(c?.uk||""),String(c?.shareid||""),IB(d),String(c?.surl||t.shareId||""),encodeURIComponent(String(c?.pwd||t.sharePwd||"")),IB(h)],{structured:!0}),vod_name:f,vod_size:FDe(d)}}),l=Ao(o,u,!1);return{vod_id:a,vod_name:r.n||"\u64AD\u653E\u5217\u8868",vod_content:`\u672C\u5C42\u64AD\u653E\u5217\u8868: ${u.length}\u4E2A\u89C6\u9891 +\u6765\u6E90: ${Os(t)}`,vod_play_from:l?.from||o,vod_play_url:l?.url||""}},play:(e,t)=>aK(e,t)},YDe={key:"smb",shortName:"SMB",metaName:"\u{1F5C4}\uFE0F SMB\u6302\u8F7D",searchable:!1,parseShare:CRn,rootLocator:e=>aa(e.rootPath||""),list:xRn,categoryPaging:!0,items:e=>Array.isArray(e?.items)?e.items:Array.isArray(e)?e:[],fileName:j7t,itemSize:e=>Number(e?.size||0),isFolder:e=>typeof e?.isDirectory=="function"?e.isDirectory():!!e?.directory,isVideo:(e,t)=>RRn(t),folderLocator:(e,t,r)=>aa(r?.locator||e.rootPath||"",j7t(t)),mountPayload:(e,t="")=>({p:aa(t||e.rootPath||"")}),locatorFromMount:(e,t)=>aa(e.p||t.rootPath||""),playlistPayload:(e,t="")=>({p:aa(t||e.rootPath||"")}),locatorFromPlaylist:(e,t)=>aa(e.p||t.rootPath||""),filePayload(e,t,r,n){let s=this.fileName(t),i=aa(n?.locator||e.rootPath||"",s),a=r?aa(n?.locator||e.rootPath||"",this.fileName(r)):"";return{e:e.id,p:i,n:s,sz:Number(t?.size||0),sp:a}},async fileDetail(e,t,r,n){let s=hz({e:t.id,p:aa(r.p),n:r.n||xB(r.p),sp:aa(r.sp||"")});return{vod_id:n,vod_name:r.n||"SMB\u8D44\u6E90",vod_content:`\u6587\u4EF6\u540D: ${r.n||""} +\u6765\u6E90: ${Os(t)}`,vod_play_from:"SMB",vod_play_url:`${a_(r.n,r.sz)}$${s}`}},async playlistDetail(e,t,r,n,s,i,a){let o=aa(i?.locator||t.rootPath||""),c=n.map(u=>{let l=this.fileName(u),d=yr(l,s,this.fileName),f=hz({e:t.id,p:aa(o,l),n:l,sz:Number(u?.size||0),sp:d?aa(o,this.fileName(d)):""});return`${a_(l,u?.size)}$${f}`}).join("#");return{vod_id:a,vod_name:r.n||"\u64AD\u653E\u5217\u8868",vod_content:`\u672C\u5C42\u64AD\u653E\u5217\u8868: ${n.length}\u4E2A\u89C6\u9891 +\u6765\u6E90: ${Os(t)}`,vod_play_from:"SMB",vod_play_url:c}},async play(e){let t=gz(e.body?.id);if(!t)return ru("\u65E0\u6548\u7684SMB\u64AD\u653EID");let{entries:r}=await Tw(e.server,YDe),n=r.find(c=>c.id===String(t.e));if(!n)return ru("SMB\u914D\u7F6E\u5DF2\u4E0D\u5B58\u5728");let s=aa(t.p),i=String(t.n||xB(s)||"video"),a=H7t(e,n,s,i),o=t.sp?H7t(e,n,aa(t.sp),xB(t.sp)):"";return{parse:0,url:a,header:{},subt:o,..._z(o,Az(t.sp)||"srt")}}};vc={"115share":C0,alishare:QRn,quarkshare:G7t("quarkshare"),ucshare:G7t("ucshare"),"123share":zRn,"139share":XRn,baidushare:JRn,guangyashare:WRn,smb:YDe};uCn=mjt()});async function WDe(e){e.get("/settings",async(t,r)=>{r.send({code:0,data:await zDe(t.server)})}),e.post("/settings",async(t,r)=>{let n=await dCn(t.server,t.body||{});r.send({code:0,data:n})})}var Ajt,Tz,lCn,zDe,dCn,XDe=oe(()=>{Ajt=["\u6211\u7684\u767E\u5EA6 0","\u6211\u7684\u5938\u514B 0","\u6211\u7684\u963F\u91CC 0","\u6211\u7684115 0","\u6211\u7684123 0","\u6211\u7684\u5929\u7FFC 0","\u6211\u7684UC 0","\u6211\u7684\u8FC5\u96F7 0"].join(` +`),Tz=e=>String(e||"").trim(),lCn=(e,t)=>{let r=Tz(e?.text);if(r)return r;let n=Tz(t?.config?.mycloud?.text);return n||Ajt},zDe=async e=>{let t={text:Tz(e.config?.mycloud?.text)},r=await e.db.getObjectDefault("/config/mycloud",t);return{text:lCn(r,e)}},dCn=async(e,t={})=>{let r={text:Tz(t.text)};return await e.db.push("/config/mycloud",r),{text:r.text||Ajt}}});var Vjt={};Bt(Vjt,{default:()=>Exn});function Cw(e,t){return`${e}@@@${Buffer.from(JSON.stringify(t)).toString("base64url")}`}function Rz(e){let t=String(e||""),r=t.indexOf("@@@");if(r<0)return null;try{return{kind:t.slice(0,r),data:JSON.parse(Buffer.from(t.slice(r+3),"base64url").toString("utf8"))}}catch{return null}}function RCn(e=""){return Buffer.from(String(e||""),"utf8").toString("base64url")}function Ojt(e=""){return Buffer.from(String(e||""),"base64url").toString("utf8")}function Sjt(e=""){return RCn(e)}function Tjt(e=""){if(!e)return"";try{return Ojt(e)}catch{try{return decodeURIComponent(e)}catch{return String(e||"")}}}function Djt(e=""){let t=String(e||"").toLowerCase().match(/\.([a-z0-9]+)$/);return t?t[1]:""}function CCn(e=""){return TCn[Djt(e)]||"application/octet-stream"}function xCn(e=""){let t=String(e||"").replace(/^\./,"").toLowerCase()||"srt";return bCn[t]||"text/plain; charset=utf-8"}function wCn(e=""){let t=String(e||"").replace(/\.[a-z0-9]+$/i,"");try{let r=JSON.parse(Ojt(t));return!r||typeof r!="object"||Number(r.exp||0)t.endsWith(r))}function s2e(e){return e!=null&&e!==""&&Number.isFinite(Number(e))}function bjt(e){return String(e||"\u64AD\u653E").replace(/\.[^.]+$/,"").replace(/<|>|《|》/g,"").replace(/\$|#/g," ").trim()||"\u64AD\u653E"}function Ljt(e,t=0){let r=Number(t||0);return r>0?`${bjt(e)} [${Vu(r)}]`:bjt(e)}function iy(e,t="srt",r="\u5916\u6302\u5B57\u5E55"){if(!e)return{};let n={url:e,name:r,format:t||"srt"};return{subt:e,subtitle:e,subs_urls:[e],subs:[n],extra:{subt:e,subtitle:e,subs_urls:[e],subs:[n]}}}function Wa(e){return Vs(e,{msg:e})}function PCn(e,t){let r=String(t??"").trim();return!r||r==="0"?Sp[e].rootId:r}function LCn(e){let t=String(e||"").toLowerCase();for(let r of ICn)if(Sp[r].aliases.some(s=>t.includes(String(s).toLowerCase())))return r;return""}function MCn(e,t){let r=String(e||"").trim();if(!r)return null;let n=r.match(/^(.+?)\s+(\S.*)$/),s=String(n?.[1]||r).trim(),i=String(n?.[2]||"0").trim(),a=LCn(s);if(!a)return null;let o=PCn(a,i);return{index:t,provider:a,displayName:s||Sp[a].fallbackName,baseDisplayName:s||Sp[a].fallbackName,inputFolderId:i||"0",folderId:o}}function Ijt(e){let t=String(e||"").trim();if(!t||t==="0")return"\u6839\u76EE\u5F55";let r=t.split("/").map(n=>n.trim()).filter(Boolean);return r[r.length-1]||t}function kCn(e){return String(e||"").split(/\r?\n|[、,,;]/).map((t,r)=>MCn(t,r)).filter(Boolean)}async function i2e(e){let t=await zDe(e);return kCn(t.text)}function Mjt(e){let t=[],r=new Map;for(let n of e){let s=n.baseDisplayName||n.displayName,i=`${n.provider}@@@${s}`,a=r.get(i);a||(a={provider:n.provider,displayName:s,typeId:Cw("group",{provider:n.provider,displayName:s}),mounts:[]},r.set(i,a),t.push(a)),a.mounts.push(n)}return t}function BCn(e){let t=new Map;return e.forEach(r=>{let n=Ijt(r.inputFolderId);t.set(n,(t.get(n)||0)+1)}),e.map(r=>{let n=Ijt(r.inputFolderId);return{n:(t.get(n)||0)>1?`${n} (${r.inputFolderId||"0"})`:n,v:String(r.index)}})}function UCn(e){let t={};for(let r of e)r.mounts.length<=1||(t[r.typeId]=[{key:"mount",name:"\u76EE\u5F55",init:String(r.mounts[0].index),value:BCn(r.mounts)}]);return t}function FCn(e={}){return e.extend||e.filters||e.ext||{}}function ay(e,t,r,n){let s=Cw("folder",{provider:e,name:t,folderId:r,mountName:n?.displayName||""});return{vod_id:s,type_id:s,type_name:t,vod_name:t,vod_pic:fCn,vod_remarks:"\u76EE\u5F55",vod_tag:"folder",cate:{id:s,name:t},ratio:1.33}}function oy(e,t,r,n){let s=Number(n||0);return{vod_id:Cw("file",{provider:e,name:t,playId:r,size:s}),vod_name:t,vod_pic:hCn,vod_remarks:Vu(s),ratio:1.33}}function $Cn(e,t,r,n,s){let i=t||n?.displayName||"\u672C\u5C42\u64AD\u653E\u5217\u8868";return{vod_id:Cw("playlist",{provider:e,name:i,folderId:r,mountName:n?.displayName||"",inputFolderId:n?.inputFolderId||""}),vod_name:"\u64AD\u653E\u5217\u8868",vod_pic:pCn,vod_remarks:`${s}\u4E2A\u89C6\u9891`,ratio:1.33}}function cy(e,t,r,n,s,i={}){if(i.includePlaylist===!1||!Array.isArray(s)||s.length<=1)return;let a=i.playlistName||`${n?.displayName||"\u672C\u5C42"} \u64AD\u653E\u5217\u8868`;e.push($Cn(t,a,r,n,s.length))}function bw(e){return String(e?.FileName||e?.file_name||e?.name||"\u672A\u77E5").trim()||"\u672A\u77E5"}function OB(e){return String(e?.FileId||e?.fileId||e?.file_id||"")}function r2e(e){return Number(e?.Size||e?.size||0)}function kjt(e,t){return!e||Ct(t)||al(t)?!1:s2e(e?.fc)?Number(e.fc)===0:!1}function qCn(e,t){return!e||kjt(e,t)||Ct(t)?!1:al(t)}function Bjt(e,t){return!e||Ct(t)||al(t)?!1:s2e(e?.Type)?Number(e.Type)===1:!1}function HCn(e){let t=bw(e);return!e||Bjt(e,t)||Ct(t)?!1:(Number(e?.Category)===2||al(t))&&!!OB(e)}function Ujt(e,t){return!e||Ct(t)||al(t)?!1:e?.type==="folder"||e?.category==="folder"}function VCn(e,t){if(!e||Ujt(e,t)||Ct(t))return!1;let r=`.${String(e?.file_extension||"").toLowerCase()}`;return Number(e?.size||0)>=wjt&&(e?.category==="video"||Njt.includes(r)||al(t))}function DB(e){return String(e?.server_filename||e?.path?.split("/").pop()||e?.name||"\u672A\u77E5").trim()||"\u672A\u77E5"}function Fjt(e,t){if(!e||Ct(t)||al(t))return!1;let r=e?.isdir??e?.is_dir;return r!=null?Number(r)===1:!1}function jCn(e){let t=DB(e);return!e||Fjt(e,t)||Ct(t)?!1:(Number(e?.category)===1||al(t))&&!!String(e?.fs_id||e?.fsid||"")}function Iw(e){return String(e?.file_name||e?.name||"\u672A\u77E5").trim()||"\u672A\u77E5"}function Rjt(e){return Number(e?.size||e?.file_size||e?.fileSize||e?.file?.size||0)}function n2e(e){return String(e?.fid||e?.file_id||e?.fileId||e?.FileId||"")}function $jt(e,t){return!e||Ct(t)||al(t)?!1:!!(e?.dir===!0||e?.dir===1||e?.type==="folder"||e?.kind==="folder"||s2e(e?.file_type)&&Number(e.file_type)===0)}function KCn(e,t=Iw(e)){return!e||$jt(e,t)||Ct(t)?!1:e?.obj_category==="video"||e?.category==="video"?!0:al(t)}function GCn(e,t){return!e||Ct(t)||al(t)?!1:e.isFolder===!0||e.type==="folder"||e.kind==="folder"}function Rw(e){return String(e?.name||e?.file_name||"\u672A\u77E5").trim()||"\u672A\u77E5"}function Iz(e){return String(e?.id||e?.file_id||e?.fileId||"")}function YCn(e){return Number(e?.size||e?.file_size||e?.fileSize||0)}function qjt(e,t){return!e||Ct(t)||al(t)?!1:String(e?.kind||"").toLowerCase().includes("folder")||e?.isDirectory===!0||e?.is_dir===!0}function QCn(e,t=Rw(e)){return!e||qjt(e,t)||Ct(t)?!1:al(t)&&!!Iz(e)}async function zCn(e,t,r,n,s={}){await Yh(e);let i=await vo(e.server),{list:a,count:o}=await KC(i,r,n),c=[],u=[],l=[];for(let h of a||[]){let p=String(h?.n||h?.name||"\u672A\u77E5").trim()||"\u672A\u77E5";if(kjt(h,p)){let m=String(h.cid||"");c.push(ay("115",p,m,t))}else Ct(p)?l.push(h):qCn(h,p)&&u.push(h)}let d=c,f=cr(u);cy(d,"115",r,t,f,s);for(let h of f){let p=String(h?.n||h?.name||"\u672A\u77E5").trim()||"\u672A\u77E5",m=String(h.pc||h.pick_code||"");if(!m)continue;let g=yr(p,l,E=>String(E?.n||E?.name||"")),_=["own",m],y=String(g?.pc||g?.pick_code||"");y&&_.push(y,on(String(g?.n||g?.name||""))),d.push(oy("115",p,_.join("*"),Number(h.s||h.size||0)))}return{page:n,pagecount:Math.max(1,Math.ceil(Number(o||0)/Ejt)),limit:Ejt,total:Number(o||0),list:d}}async function WCn(e,t,r,n,s={}){await f0(e);let i=await Gu.listOwnFiles(r,n,JDe),a=[],o=[],c=[];for(let f of[...i?.folderList||[],...i?.fileList||[]]){let h=bw(f),p=OB(f);OB(f)&&(Bjt(f,h)?a.push(ay("123",h,p,t)):Ct(h)?c.push(f):HCn(f)&&o.push(f))}let u=a,l=cr(o);cy(u,"123",r,t,l,s);for(let f of l){let h=bw(f),p=yr(h,c,bw),m=["own",OB(f),String(f?.S3KeyFlag||f?.s3KeyFlag||""),String(r2e(f)),String(f?.Etag||f?.etag||""),encodeURIComponent(h)];p&&m.push(OB(p),String(p?.S3KeyFlag||p?.s3KeyFlag||""),String(r2e(p)),String(p?.Etag||p?.etag||""),encodeURIComponent(bw(p)),on(bw(p))),u.push(oy("123",h,m.join("*"),r2e(f)))}let d=Number(i?.count||u.length||0);return{page:n,pagecount:Math.max(1,Math.ceil(d/JDe)),limit:JDe,total:Math.max(d,u.length),list:u}}async function XCn(e,t,r,n,s={}){await Cg(e);let i="",a={items:[],next_marker:""},o=1;for(let p=1;p<=n&&(a=await ikt(r,i),o=p,!(p===n||(i=a.next_marker,i||(a={items:[],next_marker:""}),!i)));p+=1);let c=Array.isArray(a?.items)?a.items:[],u=String(a?.next_marker||""),l=[],d=[],f=[];for(let p of c){let m=String(p?.name||"\u672A\u77E5").trim()||"\u672A\u77E5";Ujt(p,m)?l.push(ay("ali",m,p.file_id,t)):p?.type==="file"&&Ct(m)?f.push(p):p?.type==="file"&&VCn(p,m)&&d.push(p)}let h=cr(d);cy(l,"ali",r,t,h,s);for(let p of h){let m=String(p.name||"\u672A\u77E5").trim()||"\u672A\u77E5",g=yr(m,f,y=>y.name),_=["own",p.file_id];g?.file_id&&_.push(g.file_id,on(g.name)),l.push(oy("ali",m,_.join("*"),Number(p.size||0)))}return{page:n,pagecount:u?n+1:Math.min(n,o),limit:ZDe,total:(n-1)*ZDe+c.length+(u?ZDe:0),list:l}}async function JCn(e,t,r,n,s={}){await Dg(e);let i=await gUt(r||"/",n,e2e),a=[],o=[],c=[];for(let f of[...i?.folderList||[],...i?.fileList||[]]){let h=DB(f);if(Fjt(f,h)){let p=String(f?.path||"/");a.push(ay("baidu",h,p,t))}else Ct(h)?c.push(f):jCn(f)&&o.push(f)}let u=a,l=cr(o);cy(u,"baidu",r,t,l,s);for(let f of l){let h=DB(f),p=String(f?.fs_id||f?.fsid||""),m=String(f?.path||""),g=yr(h,c,DB),_=["own",p,encodeURIComponent(m)],y=String(g?.fs_id||g?.fsid||"");y&&_.push(y,on(DB(g))),u.push(oy("baidu",h,_.join("*"),Number(f.size||0)))}let d=Number(i?.count||0);return{page:n,pagecount:d>=e2e?n+1:n,limit:e2e,total:9999,list:u}}async function Cjt(e,t,r,n,s,i={}){let a=s==="uc";a?await Wh(e):await zh(e);let o=a?await Mkt(r||"0",n,bz):await Akt(r||"0",n,bz),c=[],u=[],l=[];for(let p of[...o?.folderList||[],...o?.fileList||[]]){let m=n2e(p);if(!m)continue;let g=Iw(p);$jt(p,g)?c.push(ay(s,g,m,t)):Ct(g)?l.push(p):KCn(p,g)&&Rjt(p)>=wjt&&u.push(p)}let d=c,f=cr(u);cy(d,s,r,t,f,i);for(let p of f){let m=Iw(p),g=yr(m,l,Iw),_=["own2",n2e(p),Sjt(m)],y=n2e(g);y&&_.push(y,on(Iw(g)),Sjt(Iw(g))),d.push(oy(s,m,_.join("*"),Rjt(p)))}let h=Number(o?.count||0);return{page:n,pagecount:h>n*bz?n+1:n,limit:bz,total:Math.max(h,d.length),list:d}}async function ZCn(e,t,r,n,s={}){await BT(e);let i=await BE.listOwnFiles(r||"-11",{pageSize:mCn}),a=[],o=[],c=[];for(let l of i||[])l?.id&&(GCn(l,l.name)?a.push(ay("tianyi",l.name,l.id,t)):al(l.name)?o.push(l):Ct(l.name)&&c.push(l));let u=cr(o);cy(a,"tianyi",r,t,u,s);for(let l of u){let d=yr(l.name,c,h=>h.name),f=["own",l.id];d?.id&&f.push(d.id,on(d.name)),a.push(oy("tianyi",l.name,f.join("*"),Number(l.size||0)))}return{page:n,pagecount:1,limit:a.length,total:a.length,list:a}}async function exn(e,t,r,n,s={}){await Qc(e);let i=await D4t(e,r||"",n,yjt),a=[],o=[],c=[];for(let f of[...i?.folderList||[],...i?.fileList||[]]){let h=Iz(f);if(!h)continue;let p=Rw(f);qjt(f,p)?a.push(ay("xunlei",p,h,t)):Ct(p)?c.push(f):QCn(f,p)&&o.push(f)}let u=a,l=cr(o);cy(u,"xunlei",r,t,l,s);for(let f of l){let h=Rw(f),p=yr(h,c,Rw),m=["own",Iz(f),encodeURIComponent(h)],g=Iz(p);g&&m.push(g,encodeURIComponent(Rw(p)),on(Rw(p))),u.push(oy("xunlei",h,m.join("*"),YCn(f)))}let d=Number(i?.count||i?.total||0);return{page:n,pagecount:Number(i?.pagecount||n)||n,limit:yjt,total:Math.max(d,u.length),list:u}}async function txn(e,t,r,n,s={}){let i=await Rg(e.server,r||"",n,t2e),a=[],o=[],c=[];for(let f of i.list||[]){let h=String(f?.fileName||"\u672A\u77E5").trim()||"\u672A\u77E5",p=String(f?.fileId||"");p&&(zC(f)?a.push(ay("guangya",h,p,t)):Ct(h)?c.push(f):t4(f)&&o.push(f))}let u=a,l=cr(o);cy(u,"guangya",r,t,l,s);for(let f of l){let h=String(f?.fileName||"\u672A\u77E5").trim()||"\u672A\u77E5",p=yr(h,c,g=>String(g?.fileName||"")),m=["own",String(f.fileId)];p?.fileId&&m.push(String(p.fileId),on(p.fileName)),u.push(oy("guangya",h,m.join("*"),Number(f?.fileSize||f?.size||0)))}let d=Number(i.total||0);return{page:n,pagecount:d>n*t2e?n+1:n,limit:t2e,total:Math.max(d,u.length),list:u}}async function Hjt(e,t,r,n,s,i={}){return r==="115"?await zCn(e,t,n,s,i):r==="123"?await WCn(e,t,n,s,i):r==="ali"?await XCn(e,t,n,s,i):r==="baidu"?await JCn(e,t,n,s,i):r==="quark"?await Cjt(e,t,n,s,"quark",i):r==="uc"?await Cjt(e,t,n,s,"uc",i):r==="tianyi"?await ZCn(e,t,n,s,i):r==="xunlei"?await exn(e,t,n,s,i):r==="guangya"?await txn(e,t,n,s,i):{page:s,pagecount:1,limit:0,total:0,list:[]}}async function rxn(e){let t=await i2e(e.server),r=new Set(t.map(s=>s.provider)),n=[];return r.has("115")&&n.push(Yh(e)),r.has("123")&&n.push(f0(e)),r.has("ali")&&n.push(Cg(e)),r.has("baidu")&&n.push(Dg(e)),r.has("quark")&&n.push(zh(e)),r.has("tianyi")&&n.push(BT(e)),r.has("uc")&&n.push(Wh(e)),r.has("xunlei")&&n.push(Qc(e)),await Promise.allSettled(n),{}}async function nxn(e){let t=await i2e(e.server),r=Mjt(t);return{class:r.map(n=>({type_id:n.typeId,type_name:n.displayName})),filters:UCn(r)}}async function sxn(e){let t=e.body||{},r=Rz(t.id||t.tid||t.t),n=r?.data||{},s=n.provider;if(!Sp[s])return{page:1,pagecount:1,limit:0,total:0,list:[]};let i=Math.max(1,Number.parseInt(t.pg||t.page||t.pn,10)||1),a=r.kind==="mount"?n:null,o=n.folderId;if(r.kind==="group"){let c=await i2e(e.server),l=Mjt(c).find(h=>h.provider===s&&h.displayName===n.displayName),d=FCn(t),f=String(d.mount??"");a=l?.mounts.find(h=>String(h.index)===f)||l?.mounts[0]||null,s=a?.provider||s,o=a?.folderId||Sp[s].rootId}try{return await Hjt(e,a,s,o,i)}catch(c){console.error(`[mycloud][${s}][category] failed:`,c?.message||c)}return{page:i,pagecount:1,limit:0,total:0,list:[]}}async function ixn(e,t,r,n){let s=[],i=new Set,a=1,o=1;for(;a<=Math.max(o,a)&&a<=yCn;){let c=await Hjt(e,n,t,r,a,{includePlaylist:!1}),u=Array.isArray(c?.list)?c.list:[],l=0;for(let d of u){let f=Rz(d?.vod_id);if(f?.kind!=="file")continue;let h=f.data||{},p=`${t}@@@${h.playId||d.vod_id}`;i.has(p)||(i.add(p),s.push({...d,data:h,vod_name:h.name||d.vod_name||"\u64AD\u653E"}),l+=1)}if(o=Math.max(o,Number(c?.pagecount||a)||a),a>=o||a>1&&l===0&&u.length===0)break;a+=1}return cr(s)}async function axn(e,t,r,n){let s=r.provider,i=r.folderId||Sp[s]?.rootId,a=r.name||n.fallbackVodName||"\u64AD\u653E\u5217\u8868",o=await lt(n.panKey||s),c=await ixn(e,s,i,r),u=c.map(d=>{let f=d.data?.name||d.vod_name||"\u64AD\u653E",h=d.data?.playId||"",p=Number(d.data?.size||0);return`${Ljt(f,p)}$${Cw("play",{provider:s,name:f,playId:h})}`}).join("#"),l=[`\u672C\u5C42\u64AD\u653E\u5217\u8868: ${c.length}\u4E2A\u89C6\u9891`,r.mountName?`\u6765\u6E90: ${r.mountName}`:"",r.inputFolderId?`\u76EE\u5F55: ${r.inputFolderId}`:""].filter(Boolean).join(` +`);return{vod_id:t,vod_name:a,vod_content:l,vod_play_from:o,vod_play_url:u}}async function oxn(e){let t=Array.isArray(e.body.id)?e.body.id:[e.body.id],r=[];for(let n of t){let s=Rz(n),i=s?.data||{},a=i.provider,o=Sp[a]||{};if(s?.kind==="playlist"&&Sp[a]){try{r.push(await axn(e,n,i,o))}catch(d){console.error(`[mycloud][${a}][playlist] failed:`,d?.message||d),r.push({vod_id:String(n||""),vod_name:i.name||o.fallbackVodName||"\u64AD\u653E\u5217\u8868",vod_content:d?.message||"\u8BFB\u53D6\u64AD\u653E\u5217\u8868\u5931\u8D25"})}continue}if(s?.kind!=="file"){r.push({vod_id:String(n||""),vod_name:i.name||o.fallbackVodName||"\u7F51\u76D8\u8D44\u6E90",vod_remarks:"\u76EE\u5F55"});continue}let c=i.name||o.fallbackVodName||"\u7F51\u76D8\u8D44\u6E90",u=Number(i.size||0),l=await lt(o.panKey||a);r.push({vod_id:n,vod_name:c,vod_content:[`\u6587\u4EF6\u540D: ${c}`,u>0?`\u5927\u5C0F: ${Vu(u)}`:""].filter(Boolean).join(` +`),vod_play_from:l,vod_play_url:`${Ljt(c,u)}$${Cw("play",{provider:a,name:c,playId:i.playId||""})}`})}return{list:r}}async function cxn(e,t){await Yh(e);let r=String(t||"").split("*");if(r[0]!=="own"||!r[1])return Wa("115 \u64AD\u653E\u53C2\u6570\u9519\u8BEF");let n=await vo(e.server),s=await GC(n,r[1]);if(!s?.url)return Wa(s?.msg||"115 \u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740");let i={parse:0,url:["\u539F\u753B",s.url],header:{"User-Agent":gCn,Cookie:s.cookie||n,Referer:"https://115.com/",Origin:"https://115.com"}};if(r[2]){let o=(await GC(n,r[2]))?.url||"";if(o){let c=r[3]||"srt";Object.assign(i,iy(o,c))}}return i}async function uxn(e,t){await f0(e);let r=String(t||"").split("*");if(r[0]!=="own"||r.length<5)return Wa("123 \u64AD\u653E\u53C2\u6570\u9519\u8BEF");let[,n,s,i,a,o,c,u,l,d,f,h]=r,p="",m="";try{p=decodeURIComponent(o||"")}catch{p=String(o||"")}try{m=decodeURIComponent(f||"")}catch{m=String(f||"")}let g=await Gu.getOwnDownload(n,s,i,a,p);if(!g)return Wa("123 \u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740");let _={parse:0,url:["\u539F\u753B",g]};if(c&&u&&l&&d){let y=await Gu.getOwnDownload(c,u,l,d,m);if(y){let E=h||on(m)||"srt";Object.assign(_,iy(y,E))}}return _}async function lxn(e,t){await Cg(e);let r=String(t||"").split("*");if(r[0]!=="own"||!r[1])return Wa("\u963F\u91CC\u64AD\u653E\u53C2\u6570\u9519\u8BEF");let n=await U1e(r[1]);if(!n)return Wa("\u963F\u91CC\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740");let s={parse:0,url:["\u539F\u753B",n]};if(r[2]){let i=await U1e(r[2]);if(i){let a=r[3]||"srt";Object.assign(s,iy(i,a))}}return s}async function dxn(e,t){await Dg(e);let r=String(t||"").split("*");if(r[0]!=="own"||!r[1])return Wa("\u767E\u5EA6\u64AD\u653E\u53C2\u6570\u9519\u8BEF");let n=await oK(r[1]);if(!n)return Wa("\u767E\u5EA6\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740");let s={parse:0,url:["\u539F\u753B",n],header:{"User-Agent":_Cn}};if(r[3]){let i=await oK(r[3]),a=r[4]||"srt";i&&Object.assign(s,iy(i,a))}return s}async function xjt(e,t,r){let n=r==="uc";n?await Wh(e):await zh(e);let s=String(t||"").split("*"),i="",a="",o="",c="",u="";if(s[0]==="own2"?(i=s[1]||"",a=Tjt(s[2]||""),o=s[3]||"",c=s[4]||"",u=Tjt(s[5]||"")):s[0]==="own"&&(i=s[1]||"",o=s[2]||"",c=s[3]||""),!i)return Wa(`${n?"UC":"\u5938\u514B"}\u64AD\u653E\u53C2\u6570\u9519\u8BEF`);let l=n?await cj(i):await ej(i),d=String(l?.download_url||"").trim();if(!d)return Wa(`${n?"UC":"\u5938\u514B"}\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740`);let f={parse:0,url:["\u539F\u753B",d],header:Pjt(r)};if(o){let h=n?await cj(o):await ej(o),p=String(h?.download_url||"").trim(),m=c||on(u)||"srt";p&&Object.assign(f,iy(p,m,u||"\u5916\u6302\u5B57\u5E55"))}return f}async function fxn(e,t){let r=String(e.params?.provider||""),n=String(e.params?.mode||"");if(!["baidu","quark","uc"].includes(r)||!["down","redirect","subt"].includes(n))return t.code(404),"not found";let s=wCn(e.params?.token||"");if(!s||s.p!==r||!s.f)return t.code(403),"invalid proxy token";try{r==="baidu"?await Dg(e):r==="uc"?await Wh(e):await zh(e);let i=r==="baidu"?await oK(s.f):r==="uc"?await cj(s.f):await ej(s.f),a=String(r==="baidu"?i:i?.download_url||"").trim();if(!a)return t.code(404),"download url not found";let o=String(s.n||""),c=NCn(r);if(t.header("Access-Control-Allow-Origin","*"),t.header("Access-Control-Allow-Headers","Range, Content-Type"),t.header("Access-Control-Expose-Headers","Content-Length, Content-Range, Accept-Ranges"),t.header("Cache-Control","no-store"),n==="redirect")return t.redirect(a);if(n==="subt"){let d=on(o)||Djt(o)||"srt",f=await Ye.get(a,{responseType:"stream",headers:{...c,Accept:"text/plain,text/vtt,*/*","Accept-Encoding":"identity"},timeout:3e4,maxRedirects:5,validateStatus:()=>!0});return f.status<200||f.status>=400?(f.data&&typeof f.data.destroy=="function"&&f.data.destroy(),t.code(f.status||502),`subtitle fetch failed: ${f.status||502}`):(t.code(f.status||200),t.header("Content-Type",xCn(d)),f.headers?.["content-length"]&&t.header("Content-Length",f.headers["content-length"]),t.send(f.data))}let u=await DCn(e,r);if(!u.useMultithread)return t.redirect(a);let l=Number(r==="baidu"?s.s||0:i?.size||i?.file_size||i?.fileSize||0);return t.header("Content-Type",CCn(o)),await Kc(e,t,a,`mycloud_${r}_${s.f}`,c,{chunkSize:u.chunkSize,poolSize:u.poolSize,timeout:1e3*10},l>0?l:null,!0)}catch(i){return console.error(`[mycloud ${r} proxy] failed:`,i?.message||i),t.sent||t.code(502),`proxy failed: ${i?.message||i}`}}async function hxn(e,t){await BT(e);let r=String(t||"").split("*");if(r[0]!=="own"||!r[1])return Wa("\u5929\u7FFC\u64AD\u653E\u53C2\u6570\u9519\u8BEF");let n=await BE.getOwnDownload(r[1]);if(!n)return Wa("\u5929\u7FFC\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740");let s={parse:0,url:["\u539F\u753B",n],header:{"User-Agent":ACn}};if(r[2]){let i=await BE.getOwnDownload(r[2]);if(i){let a=r[3]||"srt";Object.assign(s,iy(i,a))}}return s}async function pxn(e,t){await Qc(e);let r=String(t||"").split("*");if(r[0]!=="own"||!r[1])return Wa("\u8FC5\u96F7\u64AD\u653E\u53C2\u6570\u9519\u8BEF");let n="",s="";try{n=decodeURIComponent(r[2]||"")}catch{n=String(r[2]||"")}try{s=decodeURIComponent(r[4]||"")}catch{s=String(r[4]||"")}let i=await SIe(e,r[1],n);if(!i.length)return Wa("\u8FC5\u96F7\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740");let a={parse:0,url:i,header:Zkt};if(r[3]){let o=await P4t(e,r[3],s);if(o?.url){let c=r[5]||on(s)||"srt";Object.assign(a,iy(o.url,c))}}return a}async function mxn(e,t){let r=String(t||"").split("*");if(r[0]!=="own"||!r[1])return Wa("\u5149\u9E2D\u64AD\u653E\u53C2\u6570\u9519\u8BEF");let n=await WC(e.server,r[1]);if(!n)return Wa("\u5149\u9E2D\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740");let s={parse:0,url:["\u539F\u753B",n],header:SE};if(r[2]){let i=await WC(e.server,r[2]);i&&Object.assign(s,iy(i,r[3]||"srt"))}return s}async function gxn(e){let t=Rz(e.body.id),{provider:r,playId:n}=t?.data||{};try{if(r==="115")return await cxn(e,n);if(r==="123")return await uxn(e,n);if(r==="ali")return await lxn(e,n);if(r==="baidu")return await dxn(e,n);if(r==="quark")return await xjt(e,n,"quark");if(r==="uc")return await xjt(e,n,"uc");if(r==="tianyi")return await hxn(e,n);if(r==="xunlei")return await pxn(e,n);if(r==="guangya")return await mxn(e,n)}catch(s){return Wa(`${Sp[r]?.fallbackName||"\u7F51\u76D8"}\u63A5\u53E3\u5F02\u5E38: ${s?.message||s}`)}return Wa("\u7F51\u76D8\u64AD\u653E\u53C2\u6570\u9519\u8BEF")}async function _xn(){return{page:1,pagecount:1,list:[]}}async function Axn(e,t){try{let r=e.server.prefix,n={},s=await e.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await e.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await e.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await e.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),t.code(500),{err:r.message,tip:"\u68C0\u67E5\u8C03\u8BD5\u63A7\u5236\u53F0\u8F93\u51FA"}}}var PB,fCn,hCn,pCn,Ejt,JDe,ZDe,e2e,bz,mCn,yjt,t2e,gCn,_Cn,ACn,ECn,wjt,yCn,Njt,mCs,vCn,SCn,vjt,TCn,bCn,ICn,Sp,Exn,jjt=oe(()=>{vE();Xj();ZC();N4();d4();$Ie();_4();Ij();XC();kr();uT();PB=we(ki(),1);XDe();gT();Cs();Bi();bg();qd();Fa();ju();fCn="https://img.icons8.com/fluency/96/folder-invoices--v1.png",hCn="https://img.icons8.com/color/48/video.png",pCn="https://img.icons8.com/fluency/96/playlist.png",Ejt=115,JDe=100,ZDe=200,e2e=100,bz=200,mCn=100,yjt=100,t2e=200,gCn="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 115Browser/36.0.0 Chromium/125.0",_Cn="netdisk",ACn="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",ECn="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.160 Safari/537.36",wjt=5*1024*1024,yCn=50,Njt=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso",".m3u8",".f4v",".vob",".asf",".divx"],mCs=6*60*60*1e3,vCn={chunkSize:512*1024,poolSize:8,useMultithread:!0,enableFast:!1},SCn={chunkSize:64*1024,poolSize:16,useMultithread:!0,enableFast:!1},vjt={chunkSize:512*1024,poolSize:8,useMultithread:!0,enableFast:!1},TCn={mp4:"video/mp4",m4v:"video/mp4",mkv:"video/x-matroska",webm:"video/webm",avi:"video/x-msvideo",mov:"video/quicktime",flv:"video/x-flv",wmv:"video/x-ms-wmv",ts:"video/MP2T",m2ts:"video/MP2T",m3u8:"application/vnd.apple.mpegurl"},bCn={srt:"application/x-subrip; charset=utf-8",ass:"text/x-ssa; charset=utf-8",ssa:"text/x-ssa; charset=utf-8",vtt:"text/vtt; charset=utf-8",sub:"text/plain; charset=utf-8",idx:"text/plain; charset=utf-8",smi:"text/plain; charset=utf-8",txt:"text/plain; charset=utf-8"},ICn=["baidu","quark","ali","115","123","tianyi","uc","xunlei","guangya"],Sp={baidu:{aliases:["\u767E\u5EA6","baidu","bd"],rootId:"/",fallbackName:"\u6211\u7684\u767E\u5EA6",panKey:"baidu",fallbackVodName:"\u767E\u5EA6\u8D44\u6E90"},quark:{aliases:["\u5938\u514B","quark"],rootId:"0",fallbackName:"\u6211\u7684\u5938\u514B",panKey:"quark",fallbackVodName:"\u5938\u514B\u8D44\u6E90"},ali:{aliases:["\u963F\u91CC","ali","alipan"],rootId:"root",fallbackName:"\u6211\u7684\u963F\u91CC",panKey:"ali",fallbackVodName:"\u963F\u91CC\u8D44\u6E90"},115:{aliases:["115"],rootId:"0",fallbackName:"\u6211\u7684115",panKey:"115",fallbackVodName:"115\u8D44\u6E90"},123:{aliases:["123"],rootId:"0",fallbackName:"\u6211\u7684123",panKey:"123",fallbackVodName:"123\u8D44\u6E90"},tianyi:{aliases:["\u5929\u7FFC","tianyi","cloud189","189"],rootId:"-11",fallbackName:"\u6211\u7684\u5929\u7FFC",panKey:"tianyi",fallbackVodName:"\u5929\u7FFC\u8D44\u6E90"},uc:{aliases:["uc"],rootId:"0",fallbackName:"\u6211\u7684UC",panKey:"uc",fallbackVodName:"UC\u8D44\u6E90"},xunlei:{aliases:["\u8FC5\u96F7","xunlei","thunder"],rootId:"",fallbackName:"\u6211\u7684\u8FC5\u96F7",panKey:"xunlei",fallbackVodName:"\u8FC5\u96F7\u8D44\u6E90"},guangya:{aliases:["\u5149\u9E2D","guangya","guangyapan","gy"],rootId:"",fallbackName:"\u6211\u7684\u5149\u9E2D",panKey:"guangya",fallbackVodName:"\u5149\u9E2D\u8D44\u6E90"}};Exn={meta:{key:"mycloud",name:"\u2B50\uFE0F \u6211\u7684",type:3,searchable:!1},api:async e=>{e.post("/init",rxn),e.post("/home",nxn),e.post("/category",sxn),e.post("/detail",oxn),e.post("/play",gxn),e.post("/search",_xn),e.get("/proxy/:provider/:mode/:token",fxn),e.get("/test",Axn)}}});var iKt={};Bt(iKt,{default:()=>swn,performLogin:()=>kB});function a2e(e=[]){return[{n:"\u5168\u90E8",v:""},...e.map(t=>({n:String(t),v:String(t)}))]}async function Nxn(e,t,r){if(!Array.isArray(e)||e.length===0)return[];let n=new Array(e.length),s=0,i=async()=>{for(;;){let o=s;if(s+=1,o>=e.length)break;n[o]=await r(e[o],o)}},a=Math.min(t,e.length);return await Promise.all(Array.from({length:a},()=>i())),n}function Oxn(e){return String(e||"").trim()}function LB(e,t,r){let n=Array.isArray(r)?r.length:0,s=t>0?Math.max(1,Math.ceil(t/MB)):Math.max(1,Number(e)||1);return{page:e,pagecount:s,limit:MB,total:t,list:r,count:n}}function o_(e){return String(e||"").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/\s+/g," ").trim()}async function zjt(e){return await e?.server?.db?.getObjectDefault("/panlian",{})}async function o2e(e){let t=await zjt(e);return String(t?.cookie||"").trim()}async function Dxn(e){let t=await zjt(e);return{username:String(t?.username||"").trim(),password:String(t?.password||"").trim()}}async function xz(e,t,r){await e.db.push(`/panlian/${t}`,r)}function Pxn(e=[]){let t=new Map,r=Array.isArray(e)?e:[e];for(let n of r){let s=String(n||"").split(";")[0].trim();if(!s||!s.includes("="))continue;let i=s.indexOf("="),a=s.slice(0,i).trim(),o=s.slice(i+1).trim();a&&t.set(a,o)}return t}function Lxn(e=""){let t=new Map;return String(e||"").split(";").forEach(r=>{let n=String(r||"").trim();if(!n||!n.includes("="))return;let s=n.indexOf("="),i=n.slice(0,s).trim(),a=n.slice(s+1).trim();i&&t.set(i,a)}),t}function Mxn(e){return[...e.entries()].map(([t,r])=>`${t}=${r}`).join("; ")}function Wjt(e="",t=[]){let r=Lxn(e);for(let[n,s]of Pxn(t).entries())r.set(n,s);return Mxn(r).trim()}async function Xjt(e,t){let r=t?.headers?.["set-cookie"];if(!r)return await o2e(e);let n=await o2e(e),s=Wjt(n,r);return s&&s!==n&&await xz(e.server,"cookie",s),s||n}async function Jjt(e,t=`${x0}/all-videos.php`){let r=await o2e(e);return{"User-Agent":l2e,"X-Requested-With":"XMLHttpRequest",Accept:"application/json, text/plain, */*",Referer:t,Origin:x0,...r?{Cookie:r}:{}}}function kxn(e){let t=String(e?.message||e?.msg||"").trim();return t.includes("\u8BF7\u5148\u767B\u5F55")||e?.code===401||e?.success===!1&&t.includes("\u767B\u5F55")}async function wz(e,t,r={},n,s={}){let{retryAuth:i=!0}=s||{},a=await f2e.get(`${x0}${t}`,{params:r,headers:await Jjt(e,n)});await Xjt(e,a);let o=a.data;if(a.status===401||kxn(o)){if(i){let{username:u,password:l}=await Dxn(e);if(u&&l)return await kB(e,u,l,!0),await wz(e,t,r,n,{...s,retryAuth:!1})}let c=new Error("\u76D8\u94FE\u9700\u8981\u767B\u5F55");throw c.loginRequired=!0,c.response=o,c}if(a.status>=400)throw new Error(`HTTP ${a.status}`);return o}async function Bxn(e,t,r={},n=`${x0}/pages/video.php`){let s=await f2e.get(`${x0}${t}`,{params:r,maxRedirects:0,headers:await Jjt(e,n)});if(await Xjt(e,s),s.status>=400)throw new Error(`HTTP ${s.status}`);return String(s.data||"")}function Uxn(e=""){let t=String(e||"").replace(/\\\//g,"/"),r=[Si.pan123,Si.quark,Si.baidu,Si.uc,Si.tianyi,Si.mobile,Si.pan115,Si.xunlei,Si.ali,Si.guangya,Si.magnet];for(let n of r){let s=t.match(n);if(s?.[0])return s[0].replace(/["'<>\\]+$/g,"").trim()}return""}async function Fxn(e,t=""){let r=String(t||"").trim();if(!r)return"";if(/^(?:https?:|magnet:|thunder:|ed2k:)/i.test(r))return r;let n=Gjt.get(r);if(n)return n;let s=await Bxn(e,"/api/go.php",{t:r},`${x0}/pages/video.php`),i=Uxn(s);if(!i)throw new Error("\u76D8\u94FE token \u89E3\u6790\u5931\u8D25");return Gjt.set(r,i),i}function fb(e={}){return{vod_id:String(e.vod_id||e.id||""),vod_name:o_(e.vod_name||e.title||"\u672A\u77E5\u6807\u9898"),vod_pic:e.vod_pic||e.pic||e.cover||"",vod_remarks:o_(e.vod_remarks||e.state||e.note||""),vod_year:String(e.vod_year||e.year||""),vod_content:o_(e.vod_content||e.content||e.description||""),vod_actor:o_(e.vod_actor||e.actor||""),vod_director:o_(e.vod_director||e.director||""),vod_area:o_(e.vod_area||e.area||""),type_id:String(e.type_id||e.type||""),type_name:String(e.type_name||e.class||"")}}function $xn(e){try{let t=JSON.parse(String(e||""));if(t&&typeof t=="object"&&t.url)return t}catch{}return null}function c2e(e,t=null){let r=String(e||"").trim(),n=t&&typeof t=="object"?{vod_id:r,vod_name:t.vod_name||"",vod_pic:t.vod_pic||"",vod_remarks:t.vod_remarks||"",vod_year:t.vod_year||"",vod_content:t.vod_content||"",vod_actor:t.vod_actor||"",vod_director:t.vod_director||"",vod_area:t.vod_area||"",type_id:t.type_id||"",type_name:t.type_name||""}:null;return n?JSON.stringify({source:"panlian",mode:"show",vodId:r,baseVod:n}):`panlian_show|${r}`}function Zjt(e){try{let r=JSON.parse(String(e||""));if(r&&r.source==="panlian"&&r.mode==="show"&&r.vodId)return{vodId:String(r.vodId),baseVod:r.baseVod&&typeof r.baseVod=="object"?fb(r.baseVod):null}}catch{}let t=String(e||"").match(/^panlian_show\|(.+)$/);return t?{vodId:t[1],baseVod:null}:null}function qxn(e,t,r=null){let n=String(e||"").trim(),s=String(t||"").trim(),i=r&&typeof r=="object"?{vod_id:n,vod_name:r.vod_name||"",vod_pic:r.vod_pic||"",vod_remarks:r.vod_remarks||"",vod_year:r.vod_year||"",vod_content:r.vod_content||"",vod_actor:r.vod_actor||"",vod_director:r.vod_director||"",vod_area:r.vod_area||"",type_id:r.type_id||"",type_name:r.type_name||""}:null;return i?JSON.stringify({source:"panlian",mode:"group",vodId:n,panType:s,baseVod:i}):`panlian_group|${n}|${s}`}function Hxn(e){try{let r=JSON.parse(String(e||""));if(r&&r.source==="panlian"&&r.mode==="group"&&r.vodId&&r.panType)return{vodId:String(r.vodId),panType:String(r.panType),baseVod:r.baseVod&&typeof r.baseVod=="object"?fb(r.baseVod):null}}catch{}let t=String(e||"").match(/^panlian_group\|([^|]+)\|([^|]+)$/);return t?{vodId:t[1],panType:t[2],baseVod:null}:null}function Vxn(e){return JSON.stringify({source:"panlian",mode:"resource",...e})}function jxn(e){try{let t=JSON.parse(String(e||""));if(t&&t.source==="panlian"&&t.mode==="resource"&&t.url)return t}catch{}return null}function h2e(e={}){let t=String(e?.vod_id||"").trim(),r=c2e(t,e),n=e?.vod_name||"";return{...e,vod_id:r,type_id:r,type_name:n,vod_tag:"folder",cate:{id:r,name:n}}}function p2e(e={}){return Nz(e?.pan_type||e?.drive_type||e?.sourceName||e?.groupName||e?.groupKey||e?.type||"")||Gxn(e?.url||e?.link||e?.token||"")}async function Kxn(e,t={},r={}){let n=String(r.url||r.link||r.token||"").trim(),s=await Fxn(e,n).catch(()=>n);if(!s)return null;let i=String(r.password||r.pwd||"").trim(),a=p2e(r);if(!d2e.has(a)||!g2e(a))return null;let o=eKt(a)||o_(r.groupName||r.groupKey||"\u7F51\u76D8"),c=o_(r.note||r.remark||r.title||""),u=o_(r.created_at||r.create_time||r.updated_at||r.update_time||r.time||r.add_time||r.date||""),l=i&&!/([?&])(pwd|password|passcode|code)=/i.test(s)&&["baidu","xunlei","123"].includes(a)?`${s}${s.includes("?")?"&":"?"}pwd=${encodeURIComponent(i)}`:s,d=c||t?.vod_name||"\u8D44\u6E90",f=[o,u].filter(Boolean);return{vod_id:Vxn({vodId:String(t?.vod_id||"").trim(),url:l,name:d,sourceName:o,note:c,time:u,pic:t?.vod_pic||"",content:t?.vod_content||"",panType:a,baseVodRemark:t?.vod_remarks||"",baseVodYear:t?.vod_year||"",baseVodActor:t?.vod_actor||"",baseVodDirector:t?.vod_director||"",baseVodArea:t?.vod_area||""}),vod_name:d,vod_pic:t?.vod_pic||rKt(e,tKt(a))||"",vod_remarks:f.join(" \xB7 "),vod_year:t?.vod_year||"",vod_content:t?.vod_content||"",vod_actor:t?.vod_actor||"",vod_director:t?.vod_director||"",vod_area:t?.vod_area||"",type_id:"",type_name:`${o} \u8D44\u6E90`,__panType:a,__time:zxn(u)}}function Gxn(e=""){let t=String(e||"").trim();return t?Si.magnet.test(t)?"magnet":Si.ali.test(t)?"ali":Si.quark.test(t)?"quark":Si.baidu.test(t)?"baidu":Si.uc.test(t)?"uc":Si.tianyi.test(t)?"tianyi":Si.mobile.test(t)?"yidong":Si.pan123.test(t)?"123":Si.pan115.test(t)?"115":Si.xunlei.test(t)?"xunlei":Si.guangya.test(t)?"guangya":"":""}function Nz(e=""){let t=String(e||"").toLowerCase().trim();return t?["quark","\u5938\u514B","\u5938\u514B\u7F51\u76D8"].includes(t)?"quark":["uc","uc\u7F51\u76D8"].includes(t)?"uc":["baidu","\u767E\u5EA6","\u767E\u5EA6\u7F51\u76D8"].includes(t)?"baidu":["tianyi","189","\u5929\u7FFC","\u5929\u7FFC\u7F51\u76D8","cloud189"].includes(t)?"tianyi":["115","115\u7F51\u76D8"].includes(t)?"115":["123","pan123","123\u7F51\u76D8","123\u4E91\u76D8"].includes(t)?"123":["ali","aliyun","alipan","aliyundrive","\u963F\u91CC","\u963F\u91CC\u4E91\u76D8"].includes(t)?"ali":["mobile","139","yidong","caiyun","\u79FB\u52A8","\u79FB\u52A8\u4E91\u76D8","\u79FB\u52A8\u7F51\u76D8"].includes(t)?"yidong":["xunlei","\u8FC5\u96F7","\u8FC5\u96F7\u4E91\u76D8","\u8FC5\u96F7\u7F51\u76D8"].includes(t)?"xunlei":["guangya","guangyapan","gy","\u5149\u9E2D","\u5149\u9E2D\u7F51\u76D8"].includes(t)?"guangya":["magnet","\u78C1\u529B","\u78C1\u94FE","bt","\u79CD\u5B50","torrent"].includes(t)?"magnet":"":""}function m2e(){return Array.isArray(_o())?_o():[]}function Yxn(){return new Map(m2e().map((e,t)=>[String(e?.key||"").trim(),t]))}function g2e(e=""){let t=Nz(e);return t?rT(t,m2e()):!1}function eKt(e=""){let t=Nz(e);if(!t)return"";if(t==="magnet")return"\u78C1\u529B";let r=m2e().find(s=>String(s?.key||"").trim()===t);return r?.name?r.name:So().find(s=>s?.key===t)?.name||""}function tKt(e=""){let t=Nz(e);return t&&So().find(n=>n?.key===t)?.pic||""}function rKt(e,t=""){let r=String(t||"").trim();if(!r||!r.startsWith("/assets/"))return r;try{let n=e?.server?.address?.()?.url||"";return n?`${n}${r}`:r}catch{return r}}function Qxn(e=[]){let t=Yxn();return[...e].sort((r,n)=>(t.get(r?.__panType)??999)-(t.get(n?.__panType)??999))}function zxn(e){if(e==null)return 0;if(typeof e=="number")return Number.isFinite(e)?e:0;let t=String(e).trim();if(!t)return 0;let r=Date.parse(t.replace(/\./g,"-"));if(!Number.isNaN(r))return r;let n=t.match(/(20\d{2})[-/.](\d{1,2})[-/.](\d{1,2})(?:\s+(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?)?/);if(!n)return 0;let[,s,i,a,o="0",c="0",u="0"]=n;return new Date(Number(s),Number(i)-1,Number(a),Number(o),Number(c),Number(u)).getTime()}async function nKt(e){if(Cz.data.length&&Date.now()-Cz.ts=r))break}if(a.length[]);for(let s of n){let a=(await _2e(e,{t:s?.type_id||0,pg:1}).catch(()=>[])).find(o=>String(o.vod_id)===r);if(a)return a}return null}async function kB(e,t,r,n=!0){let s=new URLSearchParams;s.set("username",String(t||"").trim()),s.set("password",String(r||"").trim()),n&&s.set("remember","on");let i=await f2e.post(`${x0}/api/login.php`,s.toString(),{headers:{"User-Agent":l2e,"X-Requested-With":"XMLHttpRequest","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8",Referer:`${x0}/pages/login.php`,Origin:x0,Accept:"application/json, text/plain, */*"}}),a=i.data||{};if(i.status>=400||a?.success!==!0)throw new Error(a?.message||`\u767B\u5F55\u5931\u8D25 HTTP ${i.status}`);let o=Wjt("",i.headers["set-cookie"]||[]);if(!o)throw new Error("\u767B\u5F55\u6210\u529F\u4F46\u672A\u62FF\u5230 Cookie");return await xz(e.server,"cookie",o),await xz(e.server,"username",String(t||"").trim()),await xz(e.server,"password",String(r||"").trim()),{success:!0,message:a?.message||"\u767B\u5F55\u6210\u529F",cookie:o}}async function Xxn(e,t){return await $i(e,t),{}}async function Jxn(e){let t=Vr("panlian",arguments[0]||{}),r=jr(t);if(r)return r;let n=await nKt(e),s=[],i={};for(let o of n){s.push({type_id:String(o.type_id),type_name:o.type_name});let c=[];Array.isArray(o.children)&&o.children.length&&c.push({key:"sc",name:"\u5206\u7C7B",value:[{n:"\u5168\u90E8",v:""},...o.children.map(u=>({n:u.type_name,v:String(u.type_id)}))]}),c.push({key:"year",name:"\u5E74\u4EFD",value:a2e(Cxn)},{key:"area",name:"\u5730\u533A",value:a2e(xxn)},{key:"lang",name:"\u8BED\u8A00",value:a2e(wxn)}),i[String(o.type_id)]=c}let a={class:s,filters:i};return sn(t,a,Rt.semiStatic),a}async function Zxn(e){return{list:(await _2e(e,{t:0,pg:1})).slice(0,MB).map(r=>h2e(r))}}async function ewn(e){let t=e.body||{},r=Math.max(1,Number.parseInt(t.pg||t.page||t.pn,10)||1),n=String(t.tid||t.id||t.t||"0").trim(),s=t.extend||t.filters||t.ext||{},i=Hxn(n);if(i){if(r>1)return LB(r,0,[]);let p=i.vodId,m=i.baseVod||null,_=(Array.isArray(t?.list)?t.list:[]).find(v=>String(v?.vod_id||"")===c2e(p)||String(v?.vod_id||"")===p);_&&(m=fb({..._,vod_id:p})),m||(m=await Yjt(e,p).catch(()=>null)),m||(m=fb({vod_id:p,vod_name:p}));let y=await u2e(e,m.vod_name||p,p).catch(()=>[]),A=(await Promise.all(y.map(v=>Kxn(e,m,v)))).filter(v=>v&&v.__panType===i.panType).sort((v,T)=>(T.__time||0)-(v.__time||0)).map(({__panType:v,__time:T,...C})=>C);return LB(1,A.length,A)}let a=Zjt(n);if(a){if(r>1)return LB(r,0,[]);let p=a.vodId,m=a.baseVod||null,_=(Array.isArray(t?.list)?t.list:[]).find(v=>String(v?.vod_id||"")===n||String(v?.vod_id||"")===c2e(p));_&&(m=fb({..._,vod_id:p})),m||(m=await Yjt(e,p).catch(()=>null)),m||(m=fb({vod_id:p}));let y=await u2e(e,m.vod_name||p,p).catch(()=>[]),E=new Map;for(let v of y){let T=p2e(v);if(!d2e.has(T)||!g2e(T))continue;let C=E.get(T)||{count:0};C.count+=1,E.set(T,C)}let A=Qxn([...E.entries()].map(([v,T])=>{let C=qxn(p,v,m),b=eKt(v);return{vod_id:C,vod_name:b,vod_pic:rKt(e,tKt(v))||"",type_id:C,type_name:b,vod_remarks:`${T.count} \u6761\u8D44\u6E90`,vod_tag:"folder",cate:{id:C,name:b},__panType:v}})).map(({__panType:v,...T})=>T);return LB(1,A.length,A)}let c=String(s.sc||"").trim()||n,u=String(s.year||"").trim(),l=String(s.area||"").trim(),d=String(s.lang||"").trim(),f={t:c,pg:r};u&&(f.year=u),l&&(f.area=l),d&&(f.lang=d);let h=await sKt(e,f);return{page:r,pagecount:h.pagecount,limit:MB,total:h.total,list:h.list.map(p=>h2e(p)),count:h.list.length}}async function twn(e){let t=Array.isArray(e.body?.id)?e.body.id:[e.body?.id],r=[];for(let n of t){let s=jxn(n)||$xn(n);if(s?.url){let a=await di(s.url,e).catch(()=>({froms:"",urls:"",links:[]})),o={vod_id:String(n||""),vod_name:s.name||s.baseVodName||"\u8D44\u6E90",vod_pic:s.pic||"",vod_remarks:s.baseVodRemark||[s.sourceName,s.note,s.time].filter(Boolean).join(" \xB7 "),vod_year:s.baseVodYear||"",vod_actor:s.baseVodActor||"",vod_director:s.baseVodDirector||"",vod_area:s.baseVodArea||"",vod_content:s.content||"",vod_play_from:a?.froms||"",vod_play_url:a?.urls||""};Array.isArray(a?.links)&&a.links.length>0&&(o.vod_links=a.links),r.push(o);continue}let i=Zjt(n);if(i?.baseVod){r.push({...i.baseVod,vod_id:String(n||""),vod_play_from:"",vod_play_url:""});continue}}return{list:r}}async function rwn(e){let t=String(e.body?.wd||"").trim(),r=Math.max(1,Number.parseInt(e.body?.page,10)||1);if(!t)return LB(1,0,[]);let n=Oxn(t),s=Kjt.get(n),i=null;return s?i=s:(i=await Pn("panlian","search",n,async()=>{let a=[];try{a=await Wxn(e,t,Qjt)}catch(l){if(l?.loginRequired||String(l?.message||"").includes("\u8BF7\u5148\u767B\u5F55"))return console.warn(`[panlian.search] login required, degrade to empty result. keyword=${JSON.stringify(t)}`),[];throw l}let o=[],c=new Set,u=await Nxn(a,vxn,async l=>{let f=(await u2e(e,l.vod_name||l.vod_id,l.vod_id).catch(()=>[])).filter(h=>{let p=p2e(h);return d2e.has(p)&&g2e(p)});return{vod:l,enabledLinks:f}});for(let l of u){if(!l?.vod||!Array.isArray(l.enabledLinks)||l.enabledLinks.length===0)continue;let d=l.vod,f=String(d.vod_id||"").trim()||`${d.vod_name||""}|${d.vod_pic||""}`;!f||c.has(f)||(c.add(f),o.push(h2e(d)))}return o},{timeout:3e4}),Kjt.set(n,i)),{page:r,pagecount:1,limit:i.length,total:i.length,list:i,count:i.length}}async function nwn(e,t){return ti(e,t)}var x0,l2e,MB,Qjt,yxn,vxn,Sxn,Txn,bxn,TCs,Ixn,Rxn,d2e,Cxn,xxn,wxn,Si,f2e,Cz,Kjt,Gjt,swn,A2e=oe(()=>{Pr();Dn();kr();Bi();Yu();ta();zi();x0="https://pinglian.lol",l2e="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",MB=30,Qjt=Number.POSITIVE_INFINITY,yxn=Number.POSITIVE_INFINITY,vxn=6,Sxn=20*1e3,Txn=80,bxn=15e3,TCs=10*60*1e3,Ixn=60*60*1e3,Rxn=60*1e3,d2e=new Set(["quark","uc","baidu","tianyi","115","123","ali","yidong","xunlei","guangya","magnet"]),Cxn=Array.from({length:42},(e,t)=>String(2026-t)),xxn=["\u5927\u9646","\u9999\u6E2F","\u53F0\u6E7E","\u7F8E\u56FD","\u65E5\u672C","\u97E9\u56FD","\u82F1\u56FD","\u6CD5\u56FD","\u5FB7\u56FD","\u5370\u5EA6","\u6CF0\u56FD","\u4FC4\u7F57\u65AF","\u5176\u4ED6"],wxn=["\u56FD\u8BED","\u82F1\u8BED","\u7CA4\u8BED","\u95FD\u5357\u8BED","\u97E9\u8BED","\u65E5\u8BED","\u6CD5\u8BED","\u5FB7\u8BED","\u4FC4\u8BED","\u6CF0\u8BED","\u897F\u73ED\u7259\u8BED","\u8461\u8404\u7259\u8BED","\u5176\u4ED6"];Si={baidu:/https?:\/\/pan\.baidu\.com\/s\/[a-zA-Z0-9_-]+(?:\?pwd=[a-zA-Z0-9]{4})?/i,quark:/https?:\/\/pan\.quark\.cn\/s\/[a-zA-Z0-9]+/i,xunlei:/https?:\/\/pan\.xunlei\.com\/s\/[a-zA-Z0-9]+(?:\?pwd=[a-zA-Z0-9]{4})?(?:#)?/i,tianyi:/https?:\/\/cloud\.189\.cn\/(?:t\/[a-zA-Z0-9]+(?:%[0-9A-Fa-f]{2})*(?:([^)]*))?|web\/share\?code=[^&\s]+)/i,uc:/https?:\/\/(?:drive|pan)\.uc\.cn\/s\/[a-zA-Z0-9]+(?:\?public=\d)?/i,pan123:/https?:\/\/(?:(?:www\.)?123(?:684|865|685|912|pan|592)\.(?:com|cn)\/s\/|(?:[a-zA-Z0-9-]+\.)?share\.123(?:684|865|685|912|pan|592)\.(?:com|cn)\/(?:s|123pan)\/)[a-zA-Z0-9_-]+(?:\?[^\s<>"']*)?/i,pan115:/https?:\/\/(?:115\.com|115cdn\.com|anxia\.com)\/s\/[a-zA-Z0-9]+(?:\?password=[a-zA-Z0-9]{4})?(?:#)?/i,ali:/https?:\/\/(?:www\.)?(?:alipan|aliyundrive)\.com\/s\/[a-zA-Z0-9]+(?:\/folder\/[a-zA-Z0-9_-]+)?/i,mobile:/https?:\/\/(?:(?:www\.)?yun\.139\.com\/shareweb\/#\/w\/i\/[a-zA-Z0-9]+|(?:www\.)?caiyun\.139\.com\/(?:w\/i\/[a-zA-Z0-9]+|m\/i\?[a-zA-Z0-9]+)[^\s<>"']*|caiyun\.feixin\.10086\.cn\/[a-zA-Z0-9]+)/i,guangya:/https?:\/\/(?:www\.)?guangyapan\.com\/s\/[a-zA-Z0-9_-]+(?:\?[^\s#]*)?(?:#[^\s]*)?/i,magnet:/^magnet:\?xt=urn:btih:[A-Za-z0-9]+/i},f2e=Se.create({timeout:bxn,validateStatus:()=>!0,httpsAgent:Wn({insecure:!0}).httpsAgent,headers:{"User-Agent":l2e,"X-Requested-With":"XMLHttpRequest",Accept:"application/json, text/plain, */*"}}),Cz={ts:0,data:[]},Kjt=new pt(Txn,Sxn),Gjt=new pt(300,Rxn);swn={meta:{key:"panlian",name:"\u2601\uFE0F \u76D8\u94FE",type:3},api:async e=>{e.post("/init",Xxn),e.post("/home",Jxn),e.post("/homeVod",Zxn),e.post("/category",ewn),e.post("/detail",twn),e.post("/play",nwn),e.post("/search",rwn),e.post("/login",async t=>kB(t,t.body?.username,t.body?.password,t.body?.remember!==!1)),e.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",ws)}}});var O2e={};Bt(O2e,{__test:()=>Ywn,default:()=>zwn,performLogin:()=>Dw});async function fwn(e,t,r){if(!Array.isArray(e)||e.length===0)return[];let n=new Array(e.length),s=0,i=async()=>{for(;;){let o=s;if(s+=1,o>=e.length)break;n[o]=await r(e[o],o)}},a=Math.min(t,e.length);return await Promise.all(Array.from({length:a},()=>i())),n}function hwn(e){return String(e||"").trim()}function UB(e,t,r){let n=Array.isArray(r)?r.length:0,s=t>0?Math.max(1,Math.ceil(t/ww)):Math.max(1,Number(e)||1);return{page:e,pagecount:s,limit:ww,total:t,list:r,count:n}}function Tp(e){return String(e||"").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/\s+/g," ").trim()}async function T2e(e){return await e?.server?.db?.getObjectDefault("/filejin",{})}async function E2e(e){let t=await T2e(e);return String(t?.cookie||"").trim()}async function pKt(e){let t=await T2e(e);return{username:String(t?.username||"").trim(),password:String(t?.password||"").trim()}}async function bp(e){let t=await T2e(e);return String(t?.site||"").trim().replace(/\/+$/,"")||iwn}async function N0(e,t,r){await e.db.push(`/filejin/${t}`,r)}function pwn(e=[]){let t=new Map,r=Array.isArray(e)?e:[e];for(let n of r){let s=String(n||"").split(";")[0].trim();if(!s||!s.includes("="))continue;let i=s.indexOf("="),a=s.slice(0,i).trim(),o=s.slice(i+1).trim();a&&t.set(a,o)}return t}function mwn(e=""){let t=new Map;return String(e||"").split(";").forEach(r=>{let n=String(r||"").trim();if(!n||!n.includes("="))return;let s=n.indexOf("="),i=n.slice(0,s).trim(),a=n.slice(s+1).trim();i&&t.set(i,a)}),t}function gwn(e){return[...e.entries()].map(([t,r])=>`${t}=${r}`).join("; ")}function Nw(e="",t=[]){let r=mwn(e);for(let[n,s]of pwn(t).entries())r.set(n,s);return gwn(r).trim()}async function mKt(e,t){let r=t?.headers?.["set-cookie"];if(!r)return await E2e(e);let n=await E2e(e),s=Nw(n,r);return s&&s!==n&&await N0(e.server,"cookie",s),s||n}function Ow(e,t=null){try{return JSON.parse(e)}catch{return t}}function b2e(e="",t=0){let r=String(e||""),n=r[t],s=n==="{"?"}":n==="["?"]":"";if(!s)return"";let i=0,a=!1,o="",c=!1;for(let u=t;u0)return r;let s=[/(?:window\.)?_obj\s*=\s*(\{[\s\S]*?\})\s*;\s*<\/script>/i,/(?:window\.)?_obj\s*=\s*(\{[\s\S]*?\})\s*;?/i];for(let i of s){let a=t.match(i);if(!a?.[1])continue;let o=Ow(a[1],null);if(o&&typeof o=="object")return o}return null}function gKt(e,t,r=384){let n=String(e||"").trim(),s=String(t||"").trim();return!n||!s?"":`https://s.tutu.pm/img/${n}/${s}/${r}.webp`}function _Kt(e,t){let r=String(e||"").trim(),n=String(t||"").trim();return r&&n?`${r}::${n}`:n}function Gl(e=""){let t=String(e||"").trim(),r=t.match(/^(tv|mv|ac)::(.+)$/);return r?{dir:r[1],id:r[2]}:{dir:"",id:t}}function ly(e={},t={}){let r=String(e.dir||e.type||e.type_id||t.dir||"").trim(),n=String(e.id??e.vod_id??e.pf?.db?.id??t.id??"").trim(),s=Gl(n);s.dir&&(r=r||s.dir,n=s.id);let i=Tp(e.title||e.vod_name||e.name||t.title||"\u672A\u77E5\u6807\u9898"),a=e.vod_pic||e.pic||e.cover||e.image||t.vod_pic||gKt(r,n,384),o=Tp(e.vod_remarks||e.note||e.state||e.remark||t.vod_remarks||""),c=String(e.vod_year||e.year||e.publish_year||t.vod_year||""),u=Tp(e.vod_content||e.summary||e.desc||e.description||t.vod_content||""),l=Tp(e.vod_actor||e.actor||e.actors||t.vod_actor||""),d=Tp(e.vod_director||e.director||t.vod_director||""),f=Tp(e.vod_area||e.area||e.region||t.vod_area||"");return{vod_id:_Kt(r,n),vod_name:i,vod_pic:a,vod_remarks:o,vod_year:c,vod_content:u,vod_actor:l,vod_director:d,vod_area:f,type_id:r,type_name:hKt[r]||String(e.type_name||t.type_name||""),_dir:r,_raw_id:n}}function Dz(e={},t){return ly(e,{dir:t,id:e.id,title:e.title,vod_remarks:e.note||"",vod_year:e.year||""})}function AKt(e={},t,r,n=null){let s=e?.pf?.db||{},i={...e,id:String(s?.id||r||e?.id||"").trim(),dir:t||"",title:e?.title||n?.vod_name||"",vod_pic:n?.vod_pic||gKt(t,String(s?.id||r||e?.id||"").trim(),384),vod_remarks:e?.note||e?.year||n?.vod_remarks||"",vod_year:e?.year||n?.vod_year||"",vod_content:e?.intro||e?.summary||n?.vod_content||"",vod_actor:Array.isArray(e?.actors)?e.actors.join("/"):e?.actor||e?.starring||n?.vod_actor||"",vod_director:Array.isArray(e?.director)?e.director.join("/"):e?.director||n?.vod_director||"",vod_area:e?.area||n?.vod_area||""};return ly(i,n||{})}function _wn(e){try{let t=JSON.parse(String(e||""));if(t&&typeof t=="object"&&t.url)return t}catch{}return null}function y2e(e,t=null){let r=String(e||"").trim(),n=t&&typeof t=="object"?{vod_id:r,vod_name:t.vod_name||"",vod_pic:t.vod_pic||"",vod_remarks:t.vod_remarks||"",vod_year:t.vod_year||"",vod_content:t.vod_content||"",vod_actor:t.vod_actor||"",vod_director:t.vod_director||"",vod_area:t.vod_area||"",type_id:t.type_id||"",type_name:t.type_name||""}:null;return n?JSON.stringify({source:"filejin",mode:"show",vodId:r,baseVod:n}):`filejin_show|${r}`}function EKt(e){try{let r=JSON.parse(String(e||""));if(r&&r.source==="filejin"&&r.mode==="show"&&r.vodId)return{vodId:String(r.vodId),baseVod:r.baseVod&&typeof r.baseVod=="object"?ly(r.baseVod):null}}catch{}let t=String(e||"").match(/^filejin_show\|(.+)$/);return t?{vodId:t[1],baseVod:null}:null}function Awn(e,t,r=null){let n=String(e||"").trim(),s=String(t||"").trim(),i=r&&typeof r=="object"?{vod_id:n,vod_name:r.vod_name||"",vod_pic:r.vod_pic||"",vod_remarks:r.vod_remarks||"",vod_year:r.vod_year||"",vod_content:r.vod_content||"",vod_actor:r.vod_actor||"",vod_director:r.vod_director||"",vod_area:r.vod_area||"",type_id:r.type_id||"",type_name:r.type_name||""}:null;return i?JSON.stringify({source:"filejin",mode:"group",vodId:n,panType:s,baseVod:i}):`filejin_group|${n}|${s}`}function Ewn(e){try{let r=JSON.parse(String(e||""));if(r&&r.source==="filejin"&&r.mode==="group"&&r.vodId&&r.panType)return{vodId:String(r.vodId),panType:String(r.panType),baseVod:r.baseVod&&typeof r.baseVod=="object"?ly(r.baseVod):null}}catch{}let t=String(e||"").match(/^filejin_group\|([^|]+)\|([^|]+)$/);return t?{vodId:t[1],panType:t[2],baseVod:null}:null}function ywn(e){return JSON.stringify({source:"filejin",mode:"resource",...e})}function yKt(e){try{let t=JSON.parse(String(e||""));if(t&&t.source==="filejin"&&t.mode==="resource"&&t.url)return t}catch{}return null}function I2e(e={}){let t=String(e?.vod_id||"").trim(),r=y2e(t,e),n=e?.vod_name||"";return{...e,vod_id:r,type_id:r,type_name:n,vod_tag:"folder",cate:{id:r,name:n}}}function R2e(e={}){return Swn(e?.url||e?.link||"")||Lz(e?.pan_type||e?.drive_type||e?.sourceName||e?.groupName||e?.groupKey||"")}function vwn(e={},t={}){let r=String(t.url||t.link||"").trim();if(!r)return null;let n=String(t.password||t.pwd||t.code||"").trim(),s=R2e(t);if(!S2e.has(s)||!x2e(s))return null;let i=vKt(s)||Tp(t.groupName||t.groupKey||"\u7F51\u76D8"),a=Tp(t.title||t.name||t.file_name||t.filename||e?.vod_name||"\u8D44\u6E90"),o=Tp(t.note||t.remark||t.user||t.username||""),c=Tp(t.created_at||t.create_time||t.updated_at||t.update_time||t.time||t.add_time||t.date||""),u=n&&!/([?&])(pwd|password|passcode|code)=/i.test(r)&&["baidu","xunlei","123"].includes(s)?`${r}${r.includes("?")?"&":"?"}pwd=${encodeURIComponent(n)}`:r,l=[a].filter(Boolean),d=[i,o,c].filter(Boolean);return{vod_id:ywn({vodId:_Kt(e?._dir||Gl(e?.vod_id||"").dir||e?.type_id||"",e?._raw_id||Gl(e?.vod_id||"").id||e?.vod_id||""),url:u,name:l.join(" \xB7 "),sourceName:i,note:o,time:c,pic:e?.vod_pic||"",content:e?.vod_content||"",panType:s,baseVodRemark:e?.vod_remarks||"",baseVodYear:e?.vod_year||"",baseVodActor:e?.vod_actor||"",baseVodDirector:e?.vod_director||"",baseVodArea:e?.vod_area||""}),vod_name:l.join(" \xB7 "),vod_pic:e?.vod_pic||TKt(null,SKt(s))||"",vod_remarks:d.join(" \xB7 "),vod_year:e?.vod_year||"",vod_content:e?.vod_content||"",vod_actor:e?.vod_actor||"",vod_director:e?.vod_director||"",vod_area:e?.vod_area||"",type_id:"",type_name:`${i} \u8D44\u6E90`,__panType:s,__time:Iwn(c)}}function Swn(e=""){let t=String(e||"").trim();return t?w0.magnet.test(t)?"magnet":w0.ali.test(t)?"ali":w0.quark.test(t)?"quark":w0.baidu.test(t)?"baidu":w0.uc.test(t)?"uc":w0.tianyi.test(t)?"tianyi":w0.mobile.test(t)?"yidong":w0.pan123.test(t)?"123":w0.pan115.test(t)?"115":w0.xunlei.test(t)?"xunlei":w0.guangya.test(t)?"guangya":"":""}function Lz(e=""){let t=String(e||"").toLowerCase().trim();return t?["quark","\u5938\u514B","\u5938\u514B\u7F51\u76D8"].includes(t)?"quark":["uc","uc\u7F51\u76D8"].includes(t)?"uc":["baidu","\u767E\u5EA6","\u767E\u5EA6\u7F51\u76D8"].includes(t)?"baidu":["tianyi","189","\u5929\u7FFC","\u5929\u7FFC\u7F51\u76D8","cloud189"].includes(t)?"tianyi":["115","115\u7F51\u76D8"].includes(t)?"115":["123","pan123","123\u7F51\u76D8","123\u4E91\u76D8"].includes(t)?"123":["ali","aliyun","alipan","\u963F\u91CC","\u963F\u91CC\u4E91\u76D8"].includes(t)?"ali":["mobile","139","yidong","caiyun","\u79FB\u52A8","\u79FB\u52A8\u4E91\u76D8","\u79FB\u52A8\u7F51\u76D8"].includes(t)?"yidong":["xunlei","\u8FC5\u96F7","\u8FC5\u96F7\u4E91\u76D8","\u8FC5\u96F7\u7F51\u76D8"].includes(t)?"xunlei":["guangya","guangyapan","gy","\u5149\u9E2D","\u5149\u9E2D\u7F51\u76D8"].includes(t)?"guangya":["magnet","\u78C1\u529B","\u78C1\u94FE","bt","\u79CD\u5B50","torrent"].includes(t)?"magnet":"":""}function C2e(){return Array.isArray(_o())?_o():[]}function Twn(){return new Map(C2e().map((e,t)=>[String(e?.key||"").trim(),t]))}function x2e(e=""){let t=Lz(e);return t?rT(t,C2e()):!1}function vKt(e=""){let t=Lz(e);if(!t)return"";if(t==="magnet")return"\u78C1\u529B";let r=C2e().find(s=>String(s?.key||"").trim()===t);return r?.name?r.name:So().find(s=>s?.key===t)?.name||""}function SKt(e=""){let t=Lz(e);return t&&So().find(n=>n?.key===t)?.pic||""}function TKt(e,t=""){let r=String(t||"").trim();if(!r||!r.startsWith("/assets/"))return r;try{let n=e?.server?.address?.()?.url||"";return n?`${n}${r}`:r}catch{return r}}function bwn(e=[]){let t=Twn();return[...e].sort((r,n)=>(t.get(r?.__panType)??999)-(t.get(n?.__panType)??999))}function Iwn(e){if(e==null)return 0;if(typeof e=="number")return Number.isFinite(e)?e:0;let t=String(e).trim();if(!t)return 0;let r=Date.parse(t.replace(/\./g,"-"));if(!Number.isNaN(r))return r;let n=t.match(/(20\d{2})[-/.](\d{1,2})[-/.](\d{1,2})(?:\s+(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?)?/);if(!n)return 0;let[,s,i,a,o="0",c="0",u="0"]=n;return new Date(Number(s),Number(i)-1,Number(a),Number(o),Number(c),Number(u)).getTime()}function xwn(e,t,r){let n=BigInt("0x"+e),s=BigInt("0x"+t),i=r|0;for(let a=0;asetImmediate(u))}return s.toString(16)}async function IKt(e,t,r){let{Worker:n}=await import("node:worker_threads"),s=new n(Cwn,{eval:!0});try{return await new Promise((i,a)=>{let o=setTimeout(()=>a(new Error(`pow worker timeout ${uKt}ms`)),uKt),c=(u,l)=>{clearTimeout(o),u(l)};s.on("message",u=>{if(u&&u.error)return c(a,new Error(u.error));if(u&&u.y)return c(i,u.y)}),s.on("error",u=>c(a,u)),s.postMessage({N:e,x:t,t:r})})}finally{try{await s.terminate()}catch{}}}async function RKt(e,t,r){try{return await IKt(e,t,r)}catch{return await bKt(e,t,r)}}function wwn(e=""){return/(?:^|;\s*)browser_verified=/.test(String(e||""))}async function Nwn(e,t=""){let r=await pb.get(`${e}/res/pow`,{headers:{"User-Agent":hb,Accept:"application/json, text/plain, */*",Referer:`${e}/`,"X-Requested-With":"XMLHttpRequest",...t?{Cookie:t}:{}}}),n=Nw(t,r.headers?.["set-cookie"]||[]),s=typeof r.data=="string"?Ow(r.data,null):r.data;return{status:r.status,data:s,cookie:n}}async function Own(e,t=""){let r=`${e}::${String(t||"").trim()||"__noCookie__"}`,n=xw.get(r);if(n!==null)return n;let s=await pb.get(`${e}/`,{headers:{"User-Agent":hb,...t?{Cookie:t}:{}}}),i=Nw(t,s.headers?.["set-cookie"]||[]),a=String(s.data||"");if(wwn(i)&&!/浏览器安全验证|\/res\/pow|powSolve/i.test(a))return xw.set(r,i),i;let o=null,c="/",u={};if(/\/res\/pow|powSolve/i.test(a)){let E=await Nwn(e,i);i=E.cookie||i,E.status<400&&E.data&&(o=E.data,c="/res/pow")}if(!o){let E=a.match(/const json=(\{.*?\});const jss=/s);E&&(o=Ow(E[1],null),c="/",u={action:"verify",id:o?.id})}let{N:l,x:d,t:f}=o||{};if(!l||!d||!f)return xw.set(r,i),i;let h="",p=Date.now();try{h=await RKt(String(l),String(d),Number(f))}catch{return xw.set(r,i),i}let m=Date.now()-p;m<3e3&&await tr(3e3-m);let g=new URLSearchParams;for(let[E,A]of Object.entries(u))A!=null&&A!==""&&g.append(E,String(A));g.append("y",h);let _=await pb.post(`${e}${c}`,g.toString(),{headers:{"User-Agent":hb,"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8","X-Requested-With":"XMLHttpRequest",Accept:"application/json, text/plain, */*",Referer:`${e}/`,Origin:e,...i?{Cookie:i}:{}}}),y=Nw(i,_.headers?.["set-cookie"]||[]);return xw.set(r,y),y&&xw.set(`${e}::${y}`,y),y}async function CKt(e){let t=await bp(e),r=await E2e(e),n=await Own(t,r);return n&&n!==r&&await N0(e.server,"cookie",n),n||r}async function xKt(e,t,r="text/html,application/json,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"){let n=await bp(e),s=await CKt(e);return{"User-Agent":hb,Accept:r,Referer:t||`${n}/`,Origin:n,...s?{Cookie:s}:{}}}function lKt(e=""){let t=String(e||"");return/_obj\.header=.*?\"u\"\s*:\s*\{[^}]*\"n\"\s*:\s*\"[^\"]+/s.test(t)||/_obj\.header=.*?u\s*:\s*\{[^}]*n\s*:/s.test(t)}function Dwn(e){let t=String(e?.message||e?.msg||"").trim();return t.includes("\u8BF7\u5148\u767B\u5F55")||e?.code===401||e?.success===!1&&t.includes("\u767B\u5F55")}async function $B(e,t,r,n={}){let{retryAuth:s=!0}=n||{},i=await bp(e),a=await pb.get(`${i}${t}`,{headers:await xKt(e,r||`${i}/`)});await mKt(e,a);let o=String(a.data||"");if((a.status===401||/请先登录/.test(o))&&s){let{username:c,password:u}=await pKt(e);if(c&&u)return await Dw(e,c,u,!0),await $B(e,t,r,{...n,retryAuth:!1})}if(a.status>=400)throw new Error(`HTTP ${a.status}`);return o}async function w2e(e,t,r={},n,s={}){let{retryAuth:i=!0}=s||{},a=await bp(e),o=await pb.get(`${a}${t}`,{params:r,headers:await xKt(e,n||`${a}/`,"application/json, text/plain, */*")});await mKt(e,o);let c=typeof o.data=="string"?Ow(o.data,null):o.data;if(o.status===401||Dwn(c)){if(i){let{username:l,password:d}=await pKt(e);if(l&&d)return await Dw(e,l,d,!0),await w2e(e,t,r,n,{...s,retryAuth:!1})}let u=new Error("Filejin \u9700\u8981\u767B\u5F55");throw u.loginRequired=!0,u.response=c,u}if(o.status>=400)throw new Error(`HTTP ${o.status}`);return c}function BB(e="",t="search",r="title"){let n=String(e||""),s=`_obj.${t}=`,i=n.indexOf(s);if(i<0)return[];let a=`"${r}":[`,o=n.indexOf(a,i);if(o<0)return[];let c=n.indexOf("[",o);if(c<0)return[];let u=b2e(n,c),l=Ow(u,[]);return Array.isArray(l)?l:[]}function Pwn(e=""){let t=BB(e,"search","title"),r=BB(e,"search","i"),n=BB(e,"search","d"),s=BB(e,"search","info"),i=BB(e,"search","year");return!Array.isArray(r)||r.length===0?[]:r.map((a,o)=>({id:a,dir:n[o]||"",title:t[o]||"",note:s[o]||"",year:i[o]||""}))}function Lwn(e={},t=""){if(!e||typeof e!="object"||Array.isArray(e))return[];let r=Array.isArray(e.i)?e.i:[],n=Array.isArray(e.t)?e.t:[],s=Array.isArray(e.g)?e.g:[],i=Array.isArray(e.d)?e.d:[],a=Array.isArray(e.a)?e.a:[],o=Array.isArray(e.q)?e.q:[],c=String(e.ty||t||"").trim();return r.map((u,l)=>{let d=[];s[l]&&d.push(String(s[l]).trim()),i[l]&&d.push(`\u8BC4\u5206 ${i[l]}`);let f=Array.isArray(o[l])?o[l].filter(Boolean).join("/"):"";f&&d.push(f);let h=Array.isArray(a[l])?a[l].filter(p=>p!=null&&String(p).trim()!=="").map(p=>String(p).trim()):[];return h.length>0&&d.push(h.join(" / ")),{id:u,dir:c,title:n[l]||"",note:d.filter(Boolean).join(" \xB7 "),year:Array.isArray(a[l])&&a[l].length>0?String(a[l][0]||""):""}})}function wKt(e){if(Array.isArray(e))return e;if(Array.isArray(e?.list))return e.list;if(Array.isArray(e?.data))return e.data;let t=e?.l&&typeof e.l=="object"?e.l:e;if(t&&Array.isArray(t?.title)&&Array.isArray(t?.i)){let r=t.title||[],n=t.i||[],s=t.d||[],i=t.info||[],a=t.year||[];return n.map((o,c)=>({id:o,dir:s[c]||"",title:r[c]||"",note:i[c]||"",year:a[c]||""}))}return[]}function v2e(e={},t=""){return!e||typeof e!="object"?[]:Lwn(e,t)}function Mwn(e){let t=c_.includes(String(e||"").trim())?String(e||"").trim():"tv",r=(n,s=n)=>[{n:"\u5168\u90E8",v:""},...n.map((i,a)=>({n:String(i),v:String(s[a]??i)}))];return[{key:"genre",name:"\u7C7B\u578B",value:r(uy.genre[t]||[])},{key:"year",name:"\u5E74\u4EE3",value:r(uy.year,uy.yearValue)},{key:"region",name:"\u5730\u533A",value:r(uy.region)},{key:"lang",name:"\u8BED\u8A00",value:r(uy.lang)},{key:"sort",name:"\u6392\u5E8F",value:uy.sort.map(([n,s])=>({n,v:s}))},{key:"quality",name:"\u753B\u8D28",value:uy.quality.map(([n,s])=>({n,v:s}))},{key:"status",name:"\u72B6\u6001",value:uy.status.map(([n,s])=>({n,v:s}))}]}function kwn(){return Object.fromEntries(c_.map(e=>[e,Mwn(e)]))}function Bwn(e,t=1,r={}){let n=c_.includes(String(e||"").trim())?String(e||"").trim():"tv",s=Math.max(1,Number.parseInt(t,10)||1),i=new URLSearchParams,a=["genre","genres","year","region","lang","sort","quality","status","rrange","srange","trange","timetype","imdb","play"];for(let c of a){let u=r?.[c];u!=null&&String(u).trim()!==""&&i.set(c,String(u).trim())}s>1&&i.set("page",String(s));let o=i.toString();return`/${n}${o?`?${o}`:""}`}async function Uwn(e){let t=await bp(e),r=await $B(e,"/",`${t}/`),n=FB(r)||{};return v2e(n?.inlist,n?.inlist?.ty||"mv")}async function Fwn(e){if(Oz.data.length&&Date.now()-Oz.ts({type_id:r,type_name:hKt[r]||r}));return Oz={ts:Date.now(),data:t},t}async function N2e(e,t,r=1,n={}){let s=c_.includes(String(t||"").trim())?String(t||"").trim():"tv",i=Math.max(1,Number.parseInt(r,10)||1),a=JSON.stringify(n||{}),o=`${s}:${i}:${a}`,c=cKt.get(o);if(c)return c;let u=null,l=Object.keys(n||{}).some(f=>n?.[f]!==void 0&&n?.[f]!==null&&String(n[f]).trim()!==""),d=await bp(e);if(i===1&&!l){let f=await $B(e,`/${s}`,`${d}/`),h=FB(f)||{};u={list:Array.isArray(h?.inlist)?h.inlist:v2e(h?.inlist,s),page:1,pagecount:Number(h?.page?.pages||1)||1,inlineObj:h}}else{let f=await w2e(e,`/res${Bwn(s,i,n)}`,{},`${d}/${s}`),h=f?.inlist||f?.list||f?.data||{};u={list:Array.isArray(h)?h:v2e(h,s),page:i,pagecount:Number(f?.page?.pages||i)||i,inlineObj:f}}return cKt.set(o,u),u}async function Mz(e,t={}){let r=c_.includes(String(t.t||t.dir||"").trim())?String(t.t||t.dir||"").trim():"tv",n=Math.max(1,Number.parseInt(t.pg||t.page,10)||1),s=await N2e(e,r,n,t.ext||t.extend||{}),i=Array.isArray(s?.list)?s.list:[],a=[];if(i.length>0&&typeof i[0]=="object"&&!Array.isArray(i[0]))a=i.map(o=>Dz(o,r));else{let o=s?.inlineObj?.inlist||s?.inlineObj||{},c=Array.isArray(o?.i)?o.i:[],u=Array.isArray(o?.t)?o.t:[],l=Array.isArray(o?.g)?o.g:[],d=Array.isArray(o?.q)?o.q:[];a=c.map((f,h)=>Dz({id:f,title:u[h]||"",note:[l[h],Array.isArray(d[h])?d[h].join("/"):""].filter(Boolean).join(" \xB7 ")},r))}return a.filter(o=>o?.vod_id&&o?.vod_name)}async function NKt(e,t,r=fKt){let n=await bp(e),s=await $B(e,`/search?q=${encodeURIComponent(t)}`,`${n}/`),i=FB(s)||{},a=Pwn(s),c=(a.length>0?a:wKt(i?.search)).map(l=>{let d=String(l.dir||l.type||l.t||"").trim();return Dz(l,d)});if(c.length===0&&/未登录,访问受限/.test(s)){let l=[];for(let f of c_)for(let h=2;h<=awn;h+=1){let p=await Mz(e,{t:f,pg:h}).catch(()=>[]);if(!(!Array.isArray(p)||p.length===0))for(let m of p)String(m.vod_name||"").includes(t)&&l.push(m)}let d=new Set;return l.filter(f=>{let h=String(f.vod_id||"").trim()||`${f.vod_name}|${f.vod_pic}`;return!h||d.has(h)?!1:(d.add(h),!0)})}let u=new Set;return c.filter(l=>{let d=String(l.vod_id||"").trim()||`${l.vod_name}|${l.vod_pic}`;return!d||u.has(d)?!1:(u.add(d),!0)})}function $wn(e){let t=[];if(e?.panlist&&typeof e.panlist=="object"){let n=e.panlist,s=Array.isArray(n.url)?n.url:[];for(let i=0;i0?t:Array.isArray(e)?e:Array.isArray(e?.downlist)?e.downlist:Array.isArray(e?.list)?e.list:Array.isArray(e?.data)?e.data:Array.isArray(e?.urls)?e.urls:e?.data&&typeof e.data=="object"?Object.entries(e.data).flatMap(([n,s])=>Array.isArray(s)?s.map(i=>({...i,groupKey:n})):Array.isArray(s?.links)?s.links.map(i=>({...i,groupKey:n,groupName:s?.name||n})):[]):[]}async function Pz(e,t,r){let n=c_.includes(String(t||"").trim())?String(t||"").trim():"tv",s=String(r||"").trim();if(!s)return[];let i=await bp(e),a=await w2e(e,`/res/downurl/${n}/${encodeURIComponent(s)}`,{},`${i}/${n}/${s}`);return $wn(a)}async function dKt(e,t){let r=Gl(t);if(!r.dir||!r.id)return null;let n=await OKt(e,r.dir,r.id).catch(()=>null);return n?AKt(n,r.dir,r.id):null}async function OKt(e,t,r){let n=await bp(e),s=await $B(e,`/${t}/${encodeURIComponent(r)}`,`${n}/${t}`);return(FB(s)||{})?.d||null}async function Dw(e,t,r,n=!0){let s=await bp(e),i=await CKt(e),a=await pb.get(`${s}/user/login`,{headers:{"User-Agent":hb,Referer:`${s}/`,...i?{Cookie:i}:{}}});i=Nw(i,a.headers?.["set-cookie"]||[]);let o=String(a.data||""),c=String(a?.request?.res?.responseUrl||"");if(/app_auth=/i.test(i)&&(a.status===301||a.status===302||lKt(o)||c&&!/\/user\/login(?:$|[?#])/.test(c)))return await N0(e.server,"cookie",i),await N0(e.server,"username",String(t||"").trim()),await N0(e.server,"password",String(r||"").trim()),{success:!0,message:"\u5DF2\u767B\u5F55",cookie:i};let u=new URLSearchParams;u.set("username",String(t||"").trim()),u.set("password",String(r||"").trim()),n&&u.set("cookietime","10506240"),u.set("code",""),u.set("dosubmit","1"),u.set("siteid","1");let l=await pb.post(`${s}/user/login`,u.toString(),{headers:{"User-Agent":hb,"X-Requested-With":"XMLHttpRequest","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8",Referer:`${s}/user/login`,Origin:s,Accept:"application/json, text/plain, */*",...i?{Cookie:i}:{}}}),d=typeof l.data=="string"?(()=>{try{return JSON.parse(l.data)}catch{return null}})():l.data||{},f=Nw(i,l.headers?.["set-cookie"]||[]),h=typeof l.data=="string"?l.data:"",p=String(l?.request?.res?.responseUrl||"");if(l.status<400&&/app_auth=/i.test(f)&&(d?.code===200||lKt(h)||p&&!/\/user\/login(?:$|[?#])/.test(p)))return await N0(e.server,"cookie",f),await N0(e.server,"username",String(t||"").trim()),await N0(e.server,"password",String(r||"").trim()),{success:!0,message:d?.message||d?.msg||"\u767B\u5F55\u6210\u529F",cookie:f};if(l.status>=400||d?.code!==200)throw new Error(d?.message||d?.msg||`\u767B\u5F55\u5931\u8D25 HTTP ${l.status}`);if(!f||!/app_auth=/i.test(f))throw new Error("\u767B\u5F55\u6210\u529F\u4F46\u672A\u62FF\u5230 app_auth Cookie");return await N0(e.server,"cookie",f),await N0(e.server,"username",String(t||"").trim()),await N0(e.server,"password",String(r||"").trim()),{success:!0,message:d?.message||d?.msg||"\u767B\u5F55\u6210\u529F",cookie:f}}async function qwn(e,t){return await $i(e,t),{}}async function Hwn(e){let t=Vr("filejin",arguments[0]||{}),r=jr(t);if(r)return r;let i={class:(await Fwn(e)).map(a=>({type_id:String(a.type_id),type_name:a.type_name})),filters:kwn()};return sn(t,i,Rt.semiStatic),i}async function Vwn(e){let t=await Uwn(e).catch(()=>[]);return(!Array.isArray(t)||t.length===0)&&(t=await Mz(e,{t:"tv",pg:1})),{list:t.slice(0,ww).map(r=>I2e(r))}}async function jwn(e){let t=e.body||{},r=Math.max(1,Number.parseInt(t.pg||t.page||t.pn,10)||1),n=String(t.tid||t.id||t.t||"tv").trim(),s=t.extend||t.filters||t.ext||{},i=Ewn(n);if(i){if(r>1)return UB(r,0,[]);let l=i.vodId,d=i.baseVod||null,h=(Array.isArray(t?.list)?t.list:[]).find(_=>String(_?.vod_id||"")===y2e(l)||String(_?.vod_id||"")===l);if(h&&(d=ly({...h,vod_id:Gl(l).id,dir:Gl(l).dir})),d||(d=await dKt(e,l).catch(()=>null)),!d){let _=Gl(l);d=ly({vod_id:_.id,dir:_.dir,vod_name:l})}let p=Gl(l),g=(await Pz(e,p.dir,p.id).catch(()=>[])).map(_=>vwn(d,_)).filter(_=>_&&_.__panType===i.panType).sort((_,y)=>(y.__time||0)-(_.__time||0)).map(({__panType:_,__time:y,...E})=>E);return UB(1,g.length,g)}let a=EKt(n);if(a){if(r>1)return UB(r,0,[]);let l=a.vodId,d=a.baseVod||null,h=(Array.isArray(t?.list)?t.list:[]).find(y=>String(y?.vod_id||"")===n||String(y?.vod_id||"")===y2e(l));if(h){let y=Gl(l);d=ly({...h,vod_id:y.id,dir:y.dir})}if(d||(d=await dKt(e,l).catch(()=>null)),!d){let y=Gl(l);d=ly({vod_id:y.id,dir:y.dir})}let p=Gl(l),m=await Pz(e,p.dir,p.id).catch(()=>[]),g=new Map;for(let y of m){let E=R2e(y);if(!S2e.has(E)||!x2e(E))continue;let A=g.get(E)||{count:0};A.count+=1,g.set(E,A)}let _=bwn([...g.entries()].map(([y,E])=>{let A=Awn(l,y,d),v=vKt(y);return{vod_id:A,vod_name:v,vod_pic:TKt(e,SKt(y))||"",type_id:A,type_name:v,vod_remarks:`${E.count} \u6761\u8D44\u6E90`,vod_tag:"folder",cate:{id:A,name:v},__panType:y}})).map(({__panType:y,...E})=>E);return UB(1,_.length,_)}let o=c_.includes(String(s.sc||n).trim())?String(s.sc||n).trim():"tv",c=await Mz(e,{t:o,pg:r,ext:s}),u=await N2e(e,o,r,s).catch(()=>null);return{page:r,pagecount:u?.pagecount||(c.length>=ww?r+1:r),limit:ww,total:(u?.pagecount||r)*ww,list:c.map(l=>I2e(l)),count:c.length}}async function Kwn(e){let t=Array.isArray(e.body?.id)?e.body.id:[e.body?.id],r=[];for(let n of t){let s=yKt(n)||_wn(n);if(s?.url){let u=String(n||""),l=aKt.get(u);if(l){r.push(l);continue}let d=await di(s.url,e).catch(()=>({froms:"",urls:"",links:[]})),f={vod_id:u,vod_name:s.name||s.baseVodName||"\u8D44\u6E90",vod_pic:s.pic||"",vod_remarks:s.baseVodRemark||[s.sourceName,s.note,s.time].filter(Boolean).join(" \xB7 "),vod_year:s.baseVodYear||"",vod_actor:s.baseVodActor||"",vod_director:s.baseVodDirector||"",vod_area:s.baseVodArea||"",vod_content:s.content||"",vod_play_from:d?.froms||"",vod_play_url:d?.urls||""};Array.isArray(d?.links)&&d.links.length>0&&(f.vod_links=d.links),aKt.set(u,f),r.push(f);continue}let i=EKt(n);if(!i?.vodId)continue;let a=Gl(i.vodId);if(!a.dir||!a.id)continue;let o=await OKt(e,a.dir,a.id).catch(()=>null),c=AKt(o||{},a.dir,a.id,i.baseVod||null);r.push({...c,vod_id:n,vod_play_from:"",vod_play_url:""})}return{list:r}}async function Gwn(e){let t=String(e.body?.wd||"").trim(),r=Math.max(1,Number.parseInt(e.body?.page,10)||1);if(!t)return UB(1,0,[]);let n=hwn(t),s=oKt.get(n),i=null;return s?i=s:(i=await Pn("filejin","search",n,async()=>{let a=await NKt(e,t,fKt),o=[],c=new Set,u=await fwn(a,4,async l=>{let d=Gl(l.vod_id),h=(await Pz(e,d.dir,d.id).catch(()=>[])).filter(p=>{let m=R2e(p);return S2e.has(m)&&x2e(m)});return{vod:l,enabledLinks:h}});for(let l of u){if(!l?.vod||!Array.isArray(l.enabledLinks)||l.enabledLinks.length===0)continue;let d=l.vod,f=String(d.vod_id||"").trim()||`${d.vod_name||""}|${d.vod_pic||""}`;!f||c.has(f)||(c.add(f),o.push(I2e(d)))}return o},{timeout:3e4}),oKt.set(n,i)),{page:r,pagecount:1,limit:i.length,total:i.length,list:i,count:i.length}}async function Qwn(e,t){return ti(e,t)}var iwn,hb,ww,fKt,awn,own,cwn,uwn,lwn,dwn,c_,hKt,uy,S2e,w0,pb,Oz,aKt,oKt,cKt,Rwn,uKt,xw,Cwn,Ywn,zwn,kz=oe(()=>{Pr();Dn();kr();Bi();Yu();ta();Cs();zi();iwn="https://www.xn--rhqp87dfoiv9a830g.com",hb="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",ww=20,fKt=Number.POSITIVE_INFINITY,awn=8,own=20*1e3,cwn=80,uwn=15e3,lwn=10*60*1e3,dwn=60*60*1e3,c_=["tv","mv","ac"],hKt={tv:"\u5267\u96C6",mv:"\u7535\u5F71",ac:"\u52A8\u6F2B"},uy={genre:{tv:["\u5267\u60C5","\u79D1\u5E7B","\u52A8\u4F5C","\u559C\u5267","\u7231\u60C5","\u5192\u9669","\u513F\u7AE5","\u6B4C\u821E","\u97F3\u4E50","\u5947\u5E7B","\u52A8\u753B","\u6050\u6016","\u60CA\u609A","\u4E27\u5C38","\u6218\u4E89","\u4F20\u8BB0","\u7EAA\u5F55","\u72AF\u7F6A","\u60AC\u7591","\u897F\u90E8","\u707E\u96BE","\u53E4\u88C5","\u6B66\u4FA0","\u5BB6\u5EAD","\u77ED\u7247","\u6821\u56ED","\u6587\u827A","\u8FD0\u52A8","\u9752\u6625","\u540C\u6027","\u52B1\u5FD7","\u4EBA\u6027","\u7F8E\u98DF","\u5973\u6027","\u6CBB\u6108","\u5386\u53F2","\u771F\u4EBA\u79C0","\u8131\u53E3\u79C0"],mv:["\u5267\u60C5","\u79D1\u5E7B","\u52A8\u4F5C","\u559C\u5267","\u7231\u60C5","\u5192\u9669","\u513F\u7AE5","\u6B4C\u821E","\u97F3\u4E50","\u5947\u5E7B","\u52A8\u753B","\u6050\u6016","\u60CA\u609A","\u4E27\u5C38","\u6218\u4E89","\u4F20\u8BB0","\u7EAA\u5F55","\u72AF\u7F6A","\u60AC\u7591","\u897F\u90E8","\u707E\u96BE","\u53E4\u88C5","\u6B66\u4FA0","\u5BB6\u5EAD","\u77ED\u7247","\u6821\u56ED","\u6587\u827A","\u8FD0\u52A8","\u9752\u6625","\u540C\u6027","\u52B1\u5FD7","\u4EBA\u6027","\u7F8E\u98DF","\u5973\u6027","\u6CBB\u6108","\u5386\u53F2","\u771F\u4EBA\u79C0","\u8131\u53E3\u79C0"],ac:["\u5267\u60C5","\u840C\u7CFB","\u79D1\u5E7B","\u65E5\u5E38","\u6218\u6597","\u6218\u4E89","\u70ED\u8840","\u673A\u6218","\u6E38\u620F","\u641E\u7B11","\u604B\u7231","\u540E\u5BAB","\u767E\u5408","\u57FA\u8150","\u5192\u9669","\u513F\u7AE5","\u6B4C\u821E","\u97F3\u4E50","\u5947\u5E7B","\u6050\u6016","\u60CA\u609A","\u72AF\u7F6A","\u60AC\u7591","\u897F\u90E8","\u707E\u96BE","\u53E4\u88C5","\u6B66\u4FA0","\u6CE1\u9762","\u6821\u56ED","\u8FD0\u52A8","\u9752\u6625","\u7F8E\u98DF","\u6CBB\u6108","\u81F4\u90C1","\u52B1\u5FD7","\u5386\u53F2","\u7EAA\u5F55","\u5F02\u4E16\u754C"]},year:["\u8FD1\u4E09\u5E74","2026","2025","2024","2023","2022","2021","2020","20\u5E74\u4EE3","10\u5E74\u4EE3","00\u5E74\u4EE3","90\u5E74\u4EE3","80\u5E74\u4EE3","70\u5E74\u4EE3","60\u5E74\u4EE3","\u66F4\u65E9"],yearValue:["3","2026","2025","2024","2023","2022","2021","2020","120","110","100","90","80","70","60","1"],region:["\u6D77\u5916","\u6B27\u7F8E","\u4E9A\u6D32","\u7F8E\u56FD","\u65E5\u672C","\u97E9\u56FD","\u82F1\u56FD","\u6CD5\u56FD","\u5FB7\u56FD","\u5370\u5EA6","\u6CF0\u56FD","\u745E\u5178","\u5DF4\u897F","\u5927\u9646","\u9999\u6E2F","\u53F0\u6E7E","\u52A0\u62FF\u5927","\u4FC4\u7F57\u65AF","\u610F\u5927\u5229","\u897F\u73ED\u7259","\u6FB3\u5927\u5229\u4E9A"],lang:["\u82F1\u8BED","\u6CD5\u8BED","\u56FD\u8BED","\u7CA4\u8BED","\u65E5\u8BED","\u97E9\u8BED","\u6CF0\u8BED","\u5FB7\u8BED","\u4FC4\u8BED","\u95FD\u5357\u8BED","\u4E39\u9EA6\u8BED","\u6CE2\u5170\u8BED","\u745E\u5178\u8BED","\u5370\u5730\u8BED","\u632A\u5A01\u8BED","\u610F\u5927\u5229\u8BED","\u897F\u73ED\u7259\u8BED","\u65E0\u5BF9\u767D"],sort:[["\u6DFB\u52A0\u65F6\u95F4",""],["\u66F4\u65B0\u65F6\u95F4","uptime"],["\u4E0A\u6620/\u9996\u64AD\u65F6\u95F4","date"],["\u8BC4\u5206\u6700\u9AD8","score"],["\u8BC4\u5206\u4EBA\u6570","number"],["\u8BC4\u5206\u603B\u4EBA\u6570","numbers"],["\u7EFC\u5408\u8BC4\u5206","cscore"]],quality:[["\u5168\u90E8",""],["720P","720P"],["1080P","1080P"],["4K","4K"],["3D","3D"],["BD","BD"],["HDR","HDR"],["DV","DV"],["\u539F\u76D8","\u539F\u76D8"]],status:[["\u5168\u90E8",""],["\u9884\u544A","\u9884\u544A"],["\u8FDE\u8F7D/\u62A2\u5148\u7248","\u8FDE\u8F7D"],["\u5B8C\u7ED3","\u5B8C\u7ED3"]]},S2e=new Set(["quark","uc","baidu","tianyi","115","123","ali","yidong","xunlei","guangya","magnet"]),w0={baidu:/https?:\/\/pan\.baidu\.com\/s\/[a-zA-Z0-9_-]+(?:\?pwd=[a-zA-Z0-9]{4})?/i,quark:/https?:\/\/pan\.quark\.cn\/s\/[a-zA-Z0-9]+/i,xunlei:/https?:\/\/pan\.xunlei\.com\/s\/[a-zA-Z0-9]+(?:\?pwd=[a-zA-Z0-9]{4})?(?:#)?/i,tianyi:/https?:\/\/cloud\.189\.cn\/(?:t\/[a-zA-Z0-9]+(?:%[0-9A-Fa-f]{2})*(?:([^)]*))?|web\/share\?code=[^&\s]+)/i,uc:/https?:\/\/drive\.uc\.cn\/s\/[a-zA-Z0-9]+(?:\?public=\d)?/i,pan123:/https?:\/\/(?:(?:www\.)?123(?:684|865|685|912|pan|592)\.(?:com|cn)\/s\/|(?:[a-zA-Z0-9-]+\.)?share\.123(?:684|865|685|912|pan|592)\.(?:com|cn)\/(?:s|123pan)\/)[a-zA-Z0-9_-]+(?:\?[^\s<>"']*)?/i,pan115:/https?:\/\/(?:115\.com|115cdn\.com|anxia\.com)\/s\/[a-zA-Z0-9]+(?:\?password=[a-zA-Z0-9]{4})?(?:#)?/i,ali:/https?:\/\/(?:www\.)?(?:alipan|aliyundrive)\.com\/s\/[a-zA-Z0-9]+(?:\/folder\/[a-zA-Z0-9_-]+)?/i,mobile:/https?:\/\/(?:(?:www\.)?yun\.139\.com\/shareweb\/#\/w\/i\/[a-zA-Z0-9]+|(?:www\.)?caiyun\.139\.com\/(?:w\/i\/[a-zA-Z0-9]+|m\/i\?[a-zA-Z0-9]+)[^\s<>"']*|caiyun\.feixin\.10086\.cn\/[a-zA-Z0-9]+)/i,guangya:/https?:\/\/(?:www\.)?guangyapan\.com\/s\/[a-zA-Z0-9_-]+(?:\?[^\s#]*)?(?:#[^\s]*)?/i,magnet:/^magnet:\?xt=urn:btih:[A-Za-z0-9]+/i},pb=Se.create({timeout:uwn,validateStatus:()=>!0,httpsAgent:Wn({insecure:!0}).httpsAgent,headers:{"User-Agent":hb,Accept:"text/html,application/json,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}}),Oz={ts:0,data:[]},aKt=new pt(200,lwn),oKt=new pt(cwn,own),cKt=new pt(80,15*1e3);Rwn=90*1e3,uKt=60*1e3,xw=new pt(16,Rwn),Cwn=` +(async () => { + const { parentPort } = await import('node:worker_threads'); + parentPort.on('message', (msg) => { + try { + const { N: nHex, x: xHex, t } = msg; + const N = BigInt('0x' + nHex); + let y = BigInt('0x' + xHex); + const steps = t | 0; + for (let i = 0; i < steps; i += 1) y = (y * y) % N; + parentPort.postMessage({ y: y.toString(16) }); + } catch (err) { + parentPort.postMessage({ error: (err && err.message) || String(err) }); + } + }); +})(); +`;Ywn={extractBalancedLiteral:b2e,extractInlineObj:FB,getSearchMatchList:wKt,normalizeListItem:Dz,fetchSearchVideos:NKt,fetchCategoryPage:N2e,fetchVideos:Mz,fetchPanLinks:Pz,decodeResourceId:yKt,solveVdfSyncImpl:xwn,solveVdfMainThread:bKt,solveVdfWorker:IKt,solveVdfChallenge:RKt};zwn={meta:{key:"filejin",name:"\u2601\uFE0F \u89C2\u5F71",type:3},api:async e=>{e.post("/init",qwn),e.post("/home",Hwn),e.post("/homeVod",Vwn),e.post("/category",jwn),e.post("/detail",Kwn),e.post("/play",Qwn),e.post("/search",Gwn),e.post("/login",async t=>Dw(t,t.body?.username,t.body?.password,t.body?.remember!==!1)),e.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",ws)}}});var KKt={};Bt(KKt,{default:()=>jKt});function O0(e=""){return String(e||"").replace(/\s+/g," ").trim()}function k2e(e=""){return String(e||"").replace(//gi," ").replace(//gi," ").replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/\s+/g," ").trim()}function Uw(e=""){let t=String(e||"").trim();return t?/^https?:\/\//i.test(t)?t:t.startsWith("//")?`https:${t}`:new URL(t,`${Mw}/`).toString():""}function FKt(e){return Buffer.from(JSON.stringify(e||{}),"utf8").toString("base64url")}function $Kt(e){try{return JSON.parse(Buffer.from(String(e||""),"base64url").toString("utf8"))||null}catch{return null}}function $z(e){return(e?.body&&Object.keys(e.body).length?e.body:null)||e?.query||{}}function rNn(e,t){let r=Object.create(e||null);return Object.defineProperty(r,"body",{value:t||{},enumerable:!0,configurable:!0,writable:!0}),r}function B2e(e){let t=Number.parseInt(e,10);return Number.isFinite(t)&&t>0?t:1}function nNn(e=""){return String(e||"").match(/(?:\?|\/|^)thread-(\d+)\.htm/i)?.[1]||""}function sNn(e=""){return String(e||"").match(/(?:\?|\/|^)forum-(\d+)(?:-\d+)?\.htm/i)?.[1]||""}function Uz(e){return`/?thread-${encodeURIComponent(String(e||""))}.htm`}function iNn(e){return`/?search-${encodeURIComponent(String(e||"").trim())}-1.htm`}function aNn(e={}){let t=[e.quality||"0",e.source||"0",e.hdr||"0",e.genre||"0"].map(r=>String(r||"0").replace(/\D+/g,"")||"0");return t.every(r=>r==="0")?"":t.join("_")}function oNn(e,t=1,r={}){let n=`/?forum-${encodeURIComponent(String(e||"48"))}-${B2e(t)}.htm`,s=new URLSearchParams,i=aNn(r);i&&s.set("tagids",i),r.orderby&&s.set("orderby",String(r.orderby)),r.digest&&s.set("digest",String(r.digest));let a=s.toString();return a?`${n}&${a}`:n}function cNn(e){let t=String(e?.headers?.["x-forwarded-proto"]||e?.protocol||"http").split(",")[0].trim()||"http",r=String(e?.headers?.["x-forwarded-host"]||e?.headers?.host||"").split(",")[0].trim();if(r)return`${t}://${r}`;try{return String(e?.server?.address?.()?.url||"").replace(/\/+$/,"")}catch{return""}}function uNn(e){return String(e?.server?.prefix||"").replace(/\/+$/,"")||`/spider/${BKt}/3`}function qKt(e,t=""){let r=Uw(t);if(!r)return"";let n=cNn(e);return n?`${n}${uNn(e)}/proxy/pic/${Buffer.from(r,"utf8").toString("base64url")}.jpg`:r}async function qz(e){let t=await e?.server?.db?.getObjectDefault("/pan1",{});return{cookie:String(t?.cookie||"").trim(),autoReply:t?.autoReply!==!1,replyMessage:O0(t?.replyMessage||P2e)||P2e}}function lNn(e=""){let t=new Map;return String(e||"").split(";").forEach(r=>{let n=r.trim(),s=n.indexOf("=");s<=0||t.set(n.slice(0,s).trim(),n.slice(s+1).trim())}),t}function dNn(e="",t=[]){let r=lNn(e);for(let n of Array.isArray(t)?t:[t]){let s=String(n||"").split(";")[0].trim(),i=s.indexOf("=");if(i<=0)continue;let a=s.slice(0,i).trim(),o=s.slice(i+1).trim();!o||o.toLowerCase()==="deleted"?r.delete(a):r.set(a,o)}return[...r.entries()].map(([n,s])=>`${n}=${s}`).join("; ")}async function HKt(e,t,r){let n=r?.headers?.["set-cookie"];if(!n)return t;let s=dNn(t,n);return s!==t&&await e.server.db.push("/pan1/cookie",s),s}function fNn(e=""){return String(e||"").match(/\bvar\s+uid\s*=\s*(\d+)\s*;/i)?.[1]||"0"}function hNn(e=""){return/您所在的用户组权限不足|请先登录后操作|登录后体验更多功能/.test(String(e||""))}function pNn(e=""){let t=fNn(e);if(t==="0"||hNn(e))throw new Error("pan1 Cookie \u672A\u914D\u7F6E\u3001\u5DF2\u5931\u6548\u6216\u7528\u6237\u7EC4\u6743\u9650\u4E0D\u8DB3\uFF0C\u8BF7\u524D\u5F80\u7AD9\u6E90\u914D\u7F6E\u586B\u5199\u8BBA\u575B Cookie");return t}async function Bw(e,t,r={}){let n=await qz(e),s=await M2e.get(Uw(t),{headers:{"User-Agent":Fz,Referer:r.referer||`${Mw}/`,...r.noCache?{"Cache-Control":"no-cache",Pragma:"no-cache"}:{},...n.cookie?{Cookie:n.cookie}:{}}});if(await HKt(e,n.cookie,s),s.status>=400)throw new Error(`pan1 HTTP ${s.status}`);let i=String(s.data||"");return r.auth!==!1&&pNn(i),i}function mNn(e){if(e&&typeof e=="object")return e;try{return JSON.parse(String(e||""))}catch{return{code:-1,message:O0(e)||"\u8FD4\u56DE\u683C\u5F0F\u65E0\u6548"}}}async function gNn(e,t,r,n){let s=await qz(e);if(!s.cookie)throw new Error("pan1 \u81EA\u52A8\u56DE\u590D\u9700\u8981\u5148\u914D\u7F6E\u8BBA\u575B Cookie");let i=await M2e.post(Uw(t),kKt.default.stringify(r),{headers:{"User-Agent":Fz,Referer:n||`${Mw}/`,Origin:Mw,"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8","X-Requested-With":"XMLHttpRequest",Cookie:s.cookie}});if(await HKt(e,s.cookie,i),i.status>=400)throw new Error(`pan1 \u56DE\u5E16 HTTP ${i.status}`);return mNn(i.data)}function Pw(e){return[{n:"\u5168\u90E8",v:""},...e.map(([t,r])=>({n:t,v:String(r)}))]}function _Nn(e=[]){let t=[{key:"orderby",name:"\u6392\u5E8F",value:Pw([["\u6700\u65B0\u56DE\u590D","lastpid"],["\u6700\u65B0\u53D1\u5E03","tid"]])},{key:"digest",name:"\u4E3B\u9898",value:Pw([["\u7CBE\u534E","1"],["\u70ED\u95E8","5"]])},{key:"quality",name:"\u5206\u8FA8\u7387",value:Pw([["480P","22"],["720P","23"],["1080P","24"],["2K","25"],["4K","26"]])},{key:"source",name:"\u7247\u6E90",value:Pw([["\u84DD\u5149\u539F\u76D8/ISO","217"],["\u84DD\u5149\u539F\u76D8/REMUX","218"],["BDRip/Encode","219"],["WEB-DL/WEBRip","220"],["HDTV/HDRip","221"]])},{key:"hdr",name:"\u753B\u8D28",value:Pw([["\u675C\u6BD4\u89C6\u754C/DV","317"],["HDR","318"],["HQ","319"],["EDR","320"],["HLG","321"],["SDR","322"],["60FPS","323"]])},{key:"genre",name:"\u7C7B\u578B",value:Pw([["\u53E4\u88C5","27"],["\u559C\u5267","39"],["\u52A8\u4F5C","38"],["\u6218\u4E89","37"],["\u7231\u60C5","36"],["\u60AC\u7591","35"],["\u5947\u5E7B","34"],["\u5192\u9669","33"],["\u72AF\u7F6A","32"],["\u60CA\u609A","31"],["\u5267\u60C5","30"],["\u5386\u53F2","29"],["\u7EAA\u5F55\u7247","28"],["\u52A8\u753B","40"]])}],r={};for(let n of e)tNn.has(String(n.type_id))&&(r[String(n.type_id)]=t);return r}function ANn(e=""){let t=Br(e),r=new Set,n=[];return t("li[fid]").each((s,i)=>{let a=t(i),o=String(a.attr("fid")||"").trim(),u=a.find('a[href*="forum-"]').toArray().map(l=>O0(t(l).find("span").first().text()||t(l).attr("title")||t(l).text())).find(l=>l&&!/主题\s*:|今日\s*:/.test(l))||"";!o||!u||r.has(o)||!UKt.has(o)||(r.add(o),n.push({type_id:o,type_name:u.replace(/主题:.*/,"").trim()}))}),n}function VKt(e=""){return Uw(`/upload/forum/${String(e||"48")}.png`)}function U2e(e="",t){let r=Br(e),n=[],s=new Set;return r("li.thread[data-tid], li.media.thread[data-tid]").each((i,a)=>{let o=r(a),c=String(o.attr("data-tid")||"").trim();if(!c||s.has(c))return;let u=o.find('.style3_subject a[href*="thread-"]').first().length?o.find('.style3_subject a[href*="thread-"]').first():o.find('a[href*="thread-"]').filter((y,E)=>!String(r(E).attr("href")||"").includes("#comments")).last(),l=O0(u.text());if(!l||/版规|公告:|举报楼|发帖必看/.test(l))return;let d=o.find('a[href*="forum-"]').first(),f=sNn(d.attr("href")||"")||"48";if(!UKt.has(f))return;let h=o.find('a[href*="tagids="]').map((y,E)=>O0(r(E).text())).get().filter(Boolean),p=O0(o.find(".date").first().text()),m=O0(o.find('a[href*="#comments"]').first().text()).replace(/\D+/g,""),g=[...h.slice(0,4),p,m?`${m}\u8BC4`:""].filter(Boolean).join(" \xB7 "),_=qKt(t,VKt(f));s.add(c),n.push({vod_id:FKt({type:"thread",tid:c,title:l,fid:f,pic:_}),vod_name:l,vod_pic:_,vod_remarks:g,type_name:O0(d.text())||"123\u8D44\u6E90"})}),n.slice(0,qB)}function ENn(e="",t=1){let r=Br(e),n=t;return r(".pagination .page-link").each((s,i)=>{let a=String(r(i).attr("href")||""),o=Number.parseInt(a.match(/forum-\d+-(\d+)\.htm/i)?.[1]||O0(r(i).text()).replace(/\D+/g,""),10);Number.isFinite(o)&&o>n&&o<1e5&&(n=o)}),n}function F2e(e=""){let t=String(e||"").replace(/&/gi,"&").replace(//|//gi,"/").replace(/:|:/gi,":").replace(/\\u002f|\\x2f/gi,"/").replace(/\\u003a|\\x3a/gi,":").replace(/\\u0026|\\x26/gi,"&").replace(/\\\//g,"/");for(let r=0;r<3&&/%[0-9a-f]{2}/i.test(t);r+=1)try{let n=decodeURIComponent(t);if(n===t)break;t=n}catch{break}return t}function yNn(e=""){let t=[],r=new Set,n=[String(e||"")];for(;n.length>0&&t.length<200;){let s=n.shift(),i=F2e(s).trim();if(!i||r.has(i))continue;r.add(i),t.push(i);let a=i.match(/(?:https?%3a%2f%2f|%2f%2f)[^\s"'<>]+/ig)||[];n.push(...a);try{let o=new URL(i,Mw);for(let[,c]of o.searchParams)n.push(c)}catch{}if(/^[a-zA-Z0-9+/_=-]{16,}$/.test(i))try{let o=Buffer.from(i,"base64url").toString("utf8");/https?:|123(?:684|865|685|912|pan|592)/i.test(o)&&n.push(o)}catch{}}return t}function LKt(e=""){let t=F2e(e).trim().replace(/^[\s="'(>]+|[\s,。;、\[\]))}"']+$/g,"").replace(/[&#?]+$/g,"");t.startsWith("//")?t=`https:${t}`:/^https?:\/\//i.test(t)||(t=`https://${t}`),Lw.lastIndex=0;let r=Lw.exec(t);return Lw.lastIndex=0,r?.[0]?String(r[0]).replace(/[\s,。;、\[\]))}"']+$/g,""):""}function MKt(e=""){let t=new Set,r=F2e(e),n=Br(r),s=[r,n.root().text()];n("[href], [data-href], [data-url], [data-link], [onclick]").each((i,a)=>{for(let o of["href","data-href","data-url","data-link","onclick"]){let c=n(a).attr(o);c&&s.push(c)}});for(let i of s)for(let a of yNn(i)){Lw.lastIndex=0;for(let o of a.matchAll(Lw)){let c=LKt(o[0]);c&&t.add(c)}Lw.lastIndex=0,D2e.lastIndex=0;for(let o of a.matchAll(D2e)){let c=LKt(o[1]);c&&t.add(c)}D2e.lastIndex=0}return[...t]}function L2e(e=""){let t=k2e(e);return/本帖含有特定内容[^。]{0,80}回复后再查看|本帖含有隐藏内容[^。]{0,80}回复后查看|回复\s*后查看|回帖后可见/.test(t)}function vNn(e){return e('.message[isfirst="1"] img[src], .message[isfirst="1"] img[data-original], .message[isfirst="1"] img[data-src]').map((t,r)=>e(r).attr("data-original")||e(r).attr("data-src")||e(r).attr("src")).get().find(t=>t&&!/avatar|logo|loading|emoicon|forum\//i.test(t))||""}function SNn(e="",t={}){let r=Br(e),n=O0(r(".card-thread .card-header h4.break-all").first().text()||r("h1").first().text()||t.title||t.tid||"123\u8D44\u6E90"),s=r('.message[isfirst="1"]').first().clone();s.find("script,style,.tt-license,.alert").remove();let i=k2e(s.text()).slice(0,1600)||n,a=vNn(r);return{title:n,content:i,image:a}}async function TNn(e,t){return!!await e?.server?.db?.getObjectDefault(`/pan1/replied/${t}`,0)}async function bNn(e,t){await e?.server?.db?.push(`/pan1/replied/${t}`,Date.now())}async function INn(e,t,r,n){if(!n.autoReply)return{replied:!1,reason:"disabled"};if(!n.cookie)throw new Error("\u5E16\u5B50\u9700\u8981\u56DE\u590D\uFF0C\u4F46\u5C1A\u672A\u914D\u7F6E pan1 \u8BBA\u575B Cookie");if(await TNn(e,t))return{replied:!1,reason:"already-replied"};let s=Br(r),i=s("#quick_reply_form"),a=String(i.attr("action")||`?post-create-${t}-1.htm`).trim();if(!i.length||!a)throw new Error("\u5E16\u5B50\u9700\u8981\u56DE\u590D\uFF0C\u4F46\u672A\u627E\u5230\u5FEB\u901F\u56DE\u5E16\u8868\u5355");let o={doctype:"1",return_html:"1",quotepid:"0",quick_reply_message:"0",message:n.replyMessage||P2e};i.find("input[name], select[name]").each((f,h)=>{let p=String(s(h).attr("name")||"").trim();!p||Object.prototype.hasOwnProperty.call(o,p)||(o[p]=String(s(h).val()??s(h).attr("value")??""))});let c=eNn-(Date.now()-PKt);c>0&&await tr(c);let u=await gNn(e,a,o,Uw(Uz(t)));PKt=Date.now();let l=Array.isArray(u)?u[0]:u?.code,d=Array.isArray(u)?u[1]:u?.message;if(String(l)!=="0")throw new Error(`pan1 \u81EA\u52A8\u56DE\u5E16\u5931\u8D25\uFF1A${k2e(d||l||"unknown")}`);return await bNn(e,t),{replied:!0,reason:"success"}}async function RNn(e,t,r,n){if(!L2e(r))return{replied:!1,reason:"not-required"};let s=String(t);if(Bz.has(s))return Bz.get(s);let i=INn(e,t,r,n).finally(()=>Bz.delete(s));return Bz.set(s,i),i}async function CNn(e,t){return $i(e,t)}async function xNn(e){let t="home",r=kw.get(t);if(r)return r;let n=await Bw(e,"/"),s=ANn(n),i={class:s,filters:_Nn(s)};return kw.set(t,i),i}async function wNn(e){let t=await Bw(e,"/");return{list:U2e(t,e)}}async function NNn(e){let t=$z(e),r=String(t.id||t.tid||"48").replace(/\D+/g,"")||"48",n=B2e(t.page||t.pg),s=t.filters||t.extend||t.ext||t.filter||{},i=`category:${r}:${n}:${JSON.stringify(s)}`,a=kw.get(i);if(a)return a;let o=await Bw(e,oNn(r,n,s)),c=U2e(o,e),u=ENn(o,n),l={page:n,pagecount:u,limit:qB,total:u*qB,list:c,count:c.length};return kw.set(i,l),l}async function ONn(e){let t=$z(e),r=Array.isArray(t.id)?t.id:[t.id],n=[];for(let s of r.filter(Boolean)){let i=$Kt(s);if(i?.type==="pan"&&i.url){let d=await di([i.url],e).catch(()=>null),f={vod_id:String(s),vod_name:i.title||"123\u7F51\u76D8\u8D44\u6E90",vod_pic:i.pic||"",vod_content:i.content||"",vod_remarks:"123\u7F51\u76D8"};d?.froms&&d?.urls&&(f.vod_play_from=d.froms,f.vod_play_url=d.urls),n.push(f);continue}let a=i?.type==="thread"?i:{type:"thread",tid:nNn(String(s))||String(s||"").replace(/\D+/g,"")},o=String(a.tid||"").trim();if(!o)continue;let c=`detail:${o}`,u=DKt.get(c);if(!u){let d=await qz(e),f=await Bw(e,Uz(o)),h=MKt(f),p={replied:!1,reason:"not-required"};h.length===0&&L2e(f)&&(p=await RNn(e,o,f,d),p.replied&&await tr(800),f=await Bw(e,`${Uz(o)}&_t=${Date.now()}`,{referer:Uw(Uz(o)),noCache:!0}),h=MKt(f));let m=SNn(f,a),g=qKt(e,m.image||a.pic||VKt(a.fid||"48"));u={tid:o,title:m.title,content:m.content,pic:g,links:h,locked:L2e(f),replyResult:p},(h.length>0||!u.locked)&&DKt.set(c,u)}let l={vod_id:String(s),vod_name:u.title,vod_pic:u.pic||a.pic||"",vod_content:u.content,type_name:"123\u7F51\u76D8\u8D44\u6E90",vod_remarks:u.links.length>0?`${u.links.length} \u6761123\u7F51\u76D8\u8D44\u6E90`:u.locked?"\u5E16\u5B50\u9700\u8981\u56DE\u590D\uFF0C\u5C1A\u672A\u89E3\u9501\u8D44\u6E90":"\u672A\u53D1\u73B0123\u7F51\u76D8\u94FE\u63A5"};if(u.links.length>0){let d=await di(u.links,e).catch(()=>null);d?.froms&&d?.urls&&(l.vod_play_from=d.froms,l.vod_play_url=d.urls),l.vod_links=u.links.map(f=>({type:"123",url:f})),l.vod_play_from||(l.vod_play_from="123\u7F51\u76D8\u94FE\u63A5",l.vod_play_url=u.links.map((f,h)=>`\u94FE\u63A5${h+1}$${FKt({type:"pan",url:f,title:u.title,pic:u.pic,content:u.content})}`).join("#"))}n.push(l)}return{list:n}}async function DNn(e){let t=$z(e),r=O0(t.wd||t.keyword||""),n=B2e(t.page||t.pg);if(!r||n>1)return{page:n,pagecount:1,limit:qB,total:0,list:[],count:0};let s=`search:${r}`,i=kw.get(s);if(i)return i;let a=await Bw(e,iNn(r)),o=U2e(a,e),c={page:1,pagecount:1,limit:qB,total:o.length,list:o,count:o.length};return kw.set(s,c),c}async function PNn(e,t){let r=$z(e),n=$Kt(r.id);if(n?.type==="pan"&&n.url){let s=await di([n.url],e).catch(()=>null),i=String(s?.froms||"").split("$$$")[0]||"",a=String(s?.urls||"").split("$$$")[0]?.split("#")[0]||"",o=a.indexOf("$"),c=o>=0?a.slice(o+1):"";return i&&c?ti(rNn(e,{...r,flag:i,id:c}),t):{parse:0,url:[],msg:"\u5DF2\u53D6\u5F97123\u5206\u4EAB\u94FE\u63A5\uFF0C\u4F46\u5F53\u524D\u7F51\u76D8\u672A\u8FD4\u56DE\u53EF\u64AD\u653E\u6587\u4EF6"}}return ti(e,t)}async function LNn(e,t){let r=String(e.params?.encoded||"").replace(/\.jpg$/i,""),n="";try{n=Buffer.from(r,"base64url").toString("utf8")}catch{}let s="";try{s=new URL(n).hostname}catch{}if(!n||!(s==="pan1.me"||s.endsWith(".pan1.me")))return t.code(400),"bad image url";let i=await qz(e),a=await M2e.get(n,{responseType:"arraybuffer",headers:{"User-Agent":Fz,Referer:`${Mw}/`,...i.cookie?{Cookie:i.cookie}:{}}});return a.status>=400?(t.code(502),"image fetch failed"):(t.header("Content-Type",a.headers?.["content-type"]||"image/jpeg"),t.header("Cache-Control","public, max-age=86400"),Buffer.from(a.data))}function jKt(){return{meta:{key:BKt,name:Wwn,type:3,searchable:1,quickSearch:1,filterable:1},api:async e=>{e.post("/init",CNn),e.post("/home",xNn),e.post("/homeVod",wNn),e.post("/category",NNn),e.post("/detail",ONn),e.post("/search",DNn),e.post("/play",PNn),e.get("/proxy/pic/:encoded",LNn),e.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",ws)},check:async()=>!0}}var kKt,BKt,Wwn,Mw,Fz,qB,Xwn,Jwn,Zwn,eNn,P2e,UKt,tNn,Lw,D2e,M2e,kw,DKt,Bz,PKt,GKt=oe(()=>{Pr();kKt=we(wC(),1);Fh();kr();Yu();Cs();zi();BKt="pan1",Wwn="\u2601\uFE0F 123\u793E\u533A",Mw="https://pan1.me",Fz="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",qB=40,Xwn=2e4,Jwn=30*1e3,Zwn=3*60*1e3,eNn=15*1e3,P2e="\u611F\u8C22\u5206\u4EAB\uFF0C\u8F9B\u82E6\u6574\u7406\u4E86",UKt=new Set(["2","48","37","52","56","40","51","42","57","58"]),tNn=new Set(["2","48","37","52","56","58"]),Lw=/(?:https?:)?\/\/(?:(?:www\.)?123(?:684|865|685|912|pan|592)\.(?:com|cn)\/s\/|(?:[a-zA-Z0-9-]+\.)?share\.123(?:684|865|685|912|pan|592)\.(?:com|cn)\/(?:s|123pan)\/)[a-zA-Z0-9_-]+(?:\?[^\s<>"',。;、\[\]))]*)?/ig,D2e=/(?:^|[^a-zA-Z0-9.-])((?:www\.)?123(?:684|865|685|912|pan|592)\.(?:com|cn)\/s\/[a-zA-Z0-9_-]+(?:\?[^\s<>"',。;、\[\]))]*)?|(?:[a-zA-Z0-9-]+\.)?share\.123(?:684|865|685|912|pan|592)\.(?:com|cn)\/(?:s|123pan)\/[a-zA-Z0-9_-]+(?:\?[^\s<>"',。;、\[\]))]*)?)/ig,M2e=Se.create({timeout:Xwn,validateStatus:()=>!0,httpAgent:Wn().httpAgent,httpsAgent:Wn().httpsAgent,headers:{"User-Agent":Fz,Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}}),kw=new pt(160,Jwn),DKt=new pt(160,Zwn),Bz=new Map,PKt=0});var JKt={};Bt(JKt,{default:()=>XKt});function dy(e=""){return String(e||"").replace(/\s+/g," ").trim()}function jz(e){return(e?.body&&Object.keys(e.body).length?e.body:null)||e?.query||{}}function WKt(e){let t=Number.parseInt(e,10);return Number.isFinite(t)&&t>0?t:1}function FNn(e){let t=jz(e);return t.filters||t.extend||t.ext||t.filter||{}}function Kz(e="",t=`${QKt}/`){let r=String(e||"").trim();if(!r)return"";if(/^https?:\/\//i.test(r))return r;if(r.startsWith("//"))return`https:${r}`;try{return new URL(r,t).toString()}catch{return""}}function Hz(e=""){let t=Kz(e);return/^https:\/\/guangya\.qsxy\.top\/\d+\.html(?:[?#].*)?$/i.test(t)?t.split(/[?#]/)[0]:""}async function $Nn(e){let t=await e?.server?.db?.getObjectDefault("/guangyaqsxy",{});return{cookie:String(t?.cookie||"").trim()}}function qNn(e=""){return/]*\blogged-in\b/i.test(String(e||""))||/\u9000\u51fa\u767b\u5f55|\u7528\u6237\u4e2d\u5fc3/.test(String(e||""))}function HNn(e=""){let t=dy(Br(String(e||""))("body").text());return/\u672a\u767b\u5f55\u6e38\u5ba2|\u767b\u5f55\u540e\u4f53\u9a8c\u66f4\u591a\u529f\u80fd|\u8bf7\u5148\u767b\u5f55/.test(t)}async function Gz(e,t,r=`${QKt}/`){let n=await $Nn(e),s=Kz(t),i=await BNn.get(s,{headers:{"User-Agent":zKt,Referer:r,...n.cookie?{Cookie:n.cookie}:{}}});if(i.status>=400)throw new Error(`\u5149\u9E2D\u81FB\u5F71\u793E HTTP ${i.status}`);return String(i.data||"")}function VNn(e,t){let r=e(t).find("img").first(),n=[r.attr("data-src"),r.attr("data-lazy-src"),r.attr("data-original"),r.attr("src")];return Kz(n.find(Boolean)||"")}function jNn(e,t,r){let n=[e(t).find(".item-heading a, .posts-item-title a, h2 a, h3 a").first().attr("title"),e(t).find(".item-heading a, .posts-item-title a, h2 a, h3 a").first().text(),r.attr("title"),r.text(),e(t).find("img").first().attr("alt")];return dy(n.find(s=>dy(s))||"")}function H2e(e=""){let t=Br(e),r=[],n=new Set;return t(".posts-item, article.post, article").each((s,i)=>{let a=t(i).find("a[href]").toArray(),o=a.map(f=>t(f).attr("href")).find(f=>Hz(f)),c=Hz(o);if(!c||n.has(c))return;let u=t(a.find(f=>Hz(t(f).attr("href")))||[]),l=jNn(t,i,u);if(!l)return;n.add(c);let d=dy(t(i).find(".item-meta, .item-tags, .posts-text, .meta-right, .post-meta").first().text()).slice(0,80);r.push({vod_id:c,vod_name:l,vod_pic:VNn(t,i),vod_remarks:d})}),r}function KNn(e,t,r={}){let n=q2e.some(l=>l.type_id===e)?e:"film",s=String(r.area||"").trim(),i=new Set(($2e[n]||[]).map(l=>l[1])),a=s&&i.has(s)?`${n}/${s}`:n,o=t>1?`/page/${t}`:"",c=String(r.orderby||"").trim(),u=["views","comment_count","like","modified"].includes(c)?`?orderby=${encodeURIComponent(c)}`:"";return`/category/${a}${o}${u}`}function GNn(){let e={};for(let t of q2e){let r=[];$2e[t.type_id]&&r.push({key:"area",name:"\u5206\u7C7B",value:$2e[t.type_id].map(([n,s])=>({n,v:s}))}),r.push({key:"orderby",name:"\u6392\u5E8F",value:[{n:"\u66F4\u65B0",v:""},{n:"\u6D4F\u89C8",v:"views"},{n:"\u8BC4\u8BBA",v:"comment_count"},{n:"\u70B9\u8D5E",v:"like"},{n:"\u6700\u8FD1\u4FEE\u6539",v:"modified"}]}),e[t.type_id]=r}return e}async function YNn(e){let t="home",r=Vz.get(t);if(r)return r;let n=await Gz(e,"/"),s={class:q2e,filters:GNn(),list:H2e(n)};return Vz.set(t,s),s}async function QNn(e){let t=jz(e),r=WKt(t.page),n=KNn(String(t.id||"film"),r,FNn(e)),s=`category:${n}`,i=Vz.get(s);return i||(i=H2e(await Gz(e,n)),Vz.set(s,i)),{page:r,pagecount:i.length>0?r+1:r,limit:HB,total:i.length>0?r*HB+1:0,list:i}}function zNn(e){let t=dy(e(".article-content, .wp-posts-content").first().text()),r=n=>t.match(new RegExp(`${n}\\s*[\uFF1A:]\\s*([^\u2B50\u{1F4C5}\u{1F30D}\u{1F3F7}\u{1F4FA}\u{1F3AC}\u{1F465}\u{1F4DD}\u{1F4E5}]+)`))?.[1]?.trim()||"";return{content:t,year:t.match(/(?:\u65e5\u671f|\u5e74\u4efd)\s*[::]\s*(\d{4})/)?.[1]||"",area:r("(?:\u51FA\u54C1\u56FD\u5BB6|\u5730\u533A)"),director:r("(?:\u4E3B\u521B|\u5BFC\u6F14)"),actor:r("(?:\u4E3B\u8981\u6F14\u5458|\u6F14\u5458)")}}function WNn(e=""){let t=Br(e),r=[];t(".article-content a[href], .wp-posts-content a[href]").each((s,i)=>r.push(t(i).attr("href")||"")),r.push(t(".article-content, .wp-posts-content").first().text());let n=r.flatMap(s=>String(s||"").match(UNn)||[]);return[...new Set(n.map(s=>s.replace(/[)\]}>.,;,。;]+$/g,"")))]}async function XNn(e){let t=jz(e).id,r=(Array.isArray(t)?t:[t]).map(Hz).filter(Boolean),n=[];for(let s of r){let i=await Gz(e,s,s),a=Br(i),o=dy(a("h1").first().text())||dy(a("title").text()).replace(/-\u5149\u9e2d[\s\S]*$/,""),c=a(".article-content, .wp-posts-content").first(),u=zNn(a),l=WNn(i),d={vod_id:s,vod_name:o,vod_pic:Kz(c.find("img").first().attr("data-src")||c.find("img").first().attr("src")||a('meta[property="og:image"]').attr("content")||""),vod_content:u.content,vod_year:u.year,vod_area:u.area,vod_actor:u.actor,vod_director:u.director};if(l.length>0){let f=await di(l,e).catch(h=>(console.warn(`[${YKt}] \u7F51\u76D8\u8BE6\u60C5\u89E3\u6790\u5931\u8D25:`,h?.message||h),null));f?.froms&&f?.urls?(d.vod_play_from=f.froms,d.vod_play_url=f.urls,Array.isArray(f.links)&&f.links.length&&(d.vod_links=f.links)):d.vod_content=`${d.vod_content} + +\u5DF2\u63D0\u53D6\u5149\u9E2D\u7F51\u76D8\u94FE\u63A5\uFF0C\u4F46\u5F53\u524D\u7F51\u76D8\u914D\u7F6E\u672A\u8FD4\u56DE\u53EF\u64AD\u653E\u6587\u4EF6\u3002`.trim()}else!qNn(i)||HNn(i)?d.vod_content=`${d.vod_content} + +\u8D44\u6E90\u94FE\u63A5\u672A\u89E3\u9501\uFF0C\u8BF7\u5728\u7AD9\u6E90\u914D\u7F6E\u4E2D\u586B\u5199\u6709\u6548 Cookie\u3002`.trim():d.vod_content=`${d.vod_content} + +\u6B63\u6587\u672A\u63D0\u53D6\u5230\u5149\u9E2D\u7F51\u76D8\u5206\u4EAB\u94FE\u63A5\u3002`.trim();n.push(d)}return{list:n}}async function JNn(e){let t=jz(e),r=WKt(t.page),n=dy(t.wd);if(!n)return{page:r,pagecount:r,limit:HB,total:0,list:[]};let s=r>1?`/page/${r}/?s=${encodeURIComponent(n)}`:`/?s=${encodeURIComponent(n)}`,i=H2e(await Gz(e,s));return{page:r,pagecount:i.length>0?r+1:r,limit:HB,total:i.length>0?r*HB+1:0,list:i}}function XKt(){return{meta:{key:YKt,name:MNn,type:3},api:async e=>{e.post("/init",$i),e.post("/home",YNn),e.post("/category",QNn),e.post("/detail",XNn),e.post("/play",ti),e.post("/search",JNn),e.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",ws)},check:async()=>!0}}var YKt,MNn,QKt,zKt,HB,kNn,BNn,Vz,UNn,q2e,$2e,ZKt=oe(()=>{Pr();Fh();kr();Yu();zi();YKt="guangyaqsxy",MNn="\u2601\uFE0F \u5149\u9E2D\u81FB\u5F71\u793E",QKt="https://guangya.qsxy.top",zKt="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",HB=12,kNn=30*1e3,BNn=Se.create({timeout:2e4,validateStatus:()=>!0,httpAgent:Wn().httpAgent,httpsAgent:Wn().httpsAgent,headers:{"User-Agent":zKt,Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}}),Vz=new pt(160,kNn),UNn=/https?:\/\/(?:www\.)?guangyapan\.com\/s\/[a-zA-Z0-9_-]+(?:\?[^\s<>"',。;、]*)?(?:#[^\s<>"',。;、]*)?/ig,q2e=[{type_id:"film",type_name:"\u7535\u5F71"},{type_id:"show",type_name:"\u5267\u96C6"},{type_id:"animation",type_name:"\u52A8\u6F2B"},{type_id:"reality",type_name:"\u7EFC\u827A"},{type_id:"documentary",type_name:"\u7EAA\u5F55\u7247"},{type_id:"music",type_name:"\u97F3\u4E50"},{type_id:"toolware",type_name:"\u5DE5\u5177\u8D44\u6599"}],$2e={film:[["\u5168\u90E8",""],["\u56FD\u4EA7","domestic"],["\u6B27\u7F8E","euramerican"],["\u65E5\u97E9","japankorean"],["\u5176\u4ED6","other"]],show:[["\u5168\u90E8",""],["\u56FD\u4EA7","domestic-show"],["\u6B27\u7F8E","euramerican-show"],["\u65E5\u97E9","japankorean-show"],["\u5176\u4ED6","other-show"]],animation:[["\u5168\u90E8",""],["\u56FD\u4EA7","domestic-animation"],["\u6B27\u7F8E","euramerican-animation"],["\u65E5\u97E9","japankorean-animation"],["\u5176\u4ED6","other-animation"]],reality:[["\u5168\u90E8",""],["\u56FD\u4EA7","domestic-reality"],["\u5176\u4ED6","other-reality"]],documentary:[["\u5168\u90E8",""],["\u56FD\u4EA7","domestic-documentary"],["\u5176\u4ED6","other-documentary"]],toolware:[["\u5168\u90E8",""],["\u8F6F\u4EF6","software"],["\u5C0F\u8BF4","fiction"],["\u6F2B\u753B","comics"],["\u6709\u58F0\u4E66","audiobooks"],["\u5B66\u4E60\u8D44\u6599","resources"]]}});function tGt(e=""){return String(e||"").trim().replace(ZNn,"")}function rOn(e=""){let t=tGt(e),r=t.match(/([?&](?:pwd|password|passcode)=)([a-zA-Z0-9]{4,8})/i);return r?{cleanUrl:t,password:r[2]||""}:{cleanUrl:t,password:""}}function nOn(e,t=""){let r=tGt(e),{cleanUrl:n,password:s}=rOn(r),i=s||iOn(t,n),a=n;return i&&/pan\.baidu\.com\/s\//i.test(n)&&!/[?&]pwd=/i.test(n)&&(a=`${n}${n.includes("?")?"&":"?"}pwd=${i}`),{rawUrl:e,cleanUrl:a,password:i,type:sOn(a)}}function sOn(e){let t=String(e||"").toLowerCase();return t.startsWith("ed2k:")?"ed2k":t.startsWith("magnet:")?"magnet":t.includes("pan.baidu.com")?"baidu":t.includes("pan.quark.cn")||t.includes("pan.qoark.cn")?"quark":t.includes("alipan.com")||t.includes("aliyundrive.com")?"ali":t.includes("cloud.189.cn")?"tianyi":t.includes("drive.uc.cn")?"uc":t.includes("yun.139.com")||t.includes("caiyun.139.com")||t.includes("caiyun.feixin.10086.cn")?"yidong":t.includes("115.com")||t.includes("115cdn.com")||t.includes("anxia.com")?"115":t.includes("123684.")||t.includes("123685.")||t.includes("123865.")||t.includes("123912.")||t.includes("123pan.")||t.includes("123592.")?"123":t.includes("pan.xunlei.com")?"xunlei":t.includes("guangyapan.com")?"guangya":null}function iOn(e,t=""){let r=String(e||""),n=String(t||""),s=n.match(eGt);if(s?.[1])return s[1];let i=r.indexOf(n);if(i>=0){let u=r.slice(i,i+n.length+40).match(eGt);if(u?.[1])return u[1]}let a=rGt(r).length,o=[...r.matchAll(eOn)].map(c=>c[1]).filter(Boolean);return a<=1&&o.length===1?o[0]:""}function rGt(e=""){let t=[];for(let r of tOn){let n=e.match(r)||[];t.push(...n)}return t}function aOn(e=[]){let t=new Map;for(let r of e){if(!r?.cleanUrl||!r.type)continue;if(!t.has(r.cleanUrl)){t.set(r.cleanUrl,r);continue}!t.get(r.cleanUrl).password&&r.password&&t.set(r.cleanUrl,r)}return Array.from(t.values())}function Fw(e="",t=[]){let r=Array.isArray(t)?t.map(i=>typeof i=="string"?i:i?.href).filter(Boolean):[],n=rGt(e),s=[...r,...n].map(i=>nOn(i,e)).filter(i=>!!i.type);return aOn(s).map(i=>({...i,url:i.cleanUrl}))}var ZNn,eGt,eOn,tOn,V2e=oe(()=>{ZNn=/[\u{1F300}-\u{1FAFF}\u2600-\u27BF。,、;;!!??)\)】\]」』"'`]+$/gu,eGt=/(?:提取码|访问码|密码|口令|code|pwd)\s*[:: ]\s*([a-zA-Z0-9]{4,8})/i,eOn=/(?:提取码|访问码|密码|口令|code|pwd)\s*[:: ]\s*([a-zA-Z0-9]{4,8})/gi,tOn=[/https?:\/\/(?:www\.)?(?:alipan|aliyundrive)\.com\/s\/[a-zA-Z0-9_-]+(?:\/folder\/[a-zA-Z0-9_-]+)?/gi,/https?:\/\/(?:pan\.quark\.cn|pan\.qoark\.cn)\/s\/[a-zA-Z0-9_-]+/gi,/https?:\/\/drive\.uc\.cn\/s\/[a-zA-Z0-9]+(?:\?public=\d)?/gi,/https?:\/\/cloud\.189\.cn\/(?:t\/[a-zA-Z0-9]+|web\/share\?code=[^&\s]+)/gi,/https?:\/\/(?:yun\.139\.com\/shareweb\/#\/w\/i\/|caiyun\.139\.com\/(?:m\/i\?|w\/i\/))[^\s]+/gi,/https?:\/\/(?:www\.)?123(?:684|865|685|912|pan|592)\.(?:com|cn)\/s\/[^?\s]+(?:\?[^\s]*)?/gi,/https?:\/\/(?:115\.com|115cdn\.com|anxia\.com)\/s\/[a-zA-Z0-9]+(?:\?password=[a-zA-Z0-9]+)?/gi,/https?:\/\/pan\.baidu\.com\/s\/[a-zA-Z0-9_-]+(?:\?pwd=[a-zA-Z0-9]{4})?/gi,/https?:\/\/pan\.xunlei\.com\/s\/[^?\s]+(?:\?[^\s]*)?/gi,/https?:\/\/(?:www\.)?guangyapan\.com\/s\/[a-zA-Z0-9_-]+(?:\?[^\s#]*)?(?:#[^\s]*)?/gi,/magnet:\?xt=urn:[^\s]+/gi,/ed2k:\/\/\|file\|[^\s]+/gi]});function af(e=""){return String(e||"").replace(oOn,"").replace(uOn,"").replace(j2e,"").replace(cOn,"").replace(/[::||\-\s]+$/,"").replace(/[((【\[].*$/,"").replace(/\s+/g," ").trim()}function fy(e=""){let t=af(e);return!(!t||/^[·•\-||]+$/.test(t)||/^(?:描述|简介|大小|标签|via|匿名)$/i.test(t)||VB.test(t))}function lOn(e=""){let r=String(e||"").split(` +`).map(n=>af(n)).filter(n=>fy(n)).filter(n=>!j2e.test(n)).filter(n=>!/pan\.|alipan|aliyundrive|drive\.uc|cloud\.189|123pan|115\.com|xunlei|guangyapan/i.test(n));return r[0]?r[0]:""}function dOn(e=""){let t=e.search(/https?:\/\/|magnet:\?|ed2k:\/\//i);return t<=0?"":af(e.slice(0,t))}function fOn(e=""){let t=String(e||"").replace(/\s+/g," ").trim();if(!t)return"";let r=t.split(/[\n||]/).map(n=>af(n)).filter(n=>fy(n)).filter(n=>!/提取码|访问码|密码|口令|code|pwd/i.test(n)).filter(n=>!/pan\.|alipan|aliyundrive|drive\.uc|cloud\.189|123pan|115\.com|xunlei|guangyapan/i.test(n));return r[r.length-1]||""}function hOn(e=[],t=-1,r=""){for(let n=t;n>=0;n--){let s=String(e[n]||""),i=af(s);if(fy(i)&&!j2e.test(s)&&!VB.test(i))return i}return af(r)}function pOn(e="",t=[],r=""){let n=String(e||"").split(` +`),s={},i=af(r),a=fy(i);if(!t.map(d=>d.cleanUrl||d.url).filter(Boolean).length)return s;let c=[];for(let d=0;df.includes(y.rawUrl||"")||f.includes(y.cleanUrl||y.url||""));if(!h.length)continue;let p=dOn(f),m=p?"":hOn(n,d-1,""),g=af(p||m||""),_=fy(g)?g:"";h.forEach(y=>{let E=y.cleanUrl||y.url;E&&(_&&(s[E]=_),_&&_!==i&&!VB.test(_)&&c.push(_))})}if(!(Array.from(new Set(c.filter(Boolean))).length>=2)&&a){for(let d of t){let f=d.cleanUrl||d.url;f&&(s[f]=i)}return s}for(let d of t){let f=d.cleanUrl||d.url;if(!f||s[f])continue;let h=d.rawUrl||f,p=String(e||"").replace(/\n+/g,` +`),m=p.indexOf(h);if(m>=0){let g=p.slice(Math.max(0,m-120),m),_=fOn(g);if(fy(_)&&!VB.test(_)){s[f]=_;continue}}a&&(s[f]=i)}return s}function mOn(e={}){return Object.values(e||{}).some(t=>{let r=af(t||"");return r?VB.test(r)||/^(?:链接|描述|简介|大小|标签|via)$/i.test(r):!0})}function gOn(e={},t=""){let r=af(t);if(!fy(r))return!1;let n=Object.values(e||{}).map(i=>af(i)).filter(Boolean);if(!n.length||mOn(e))return!0;let s=Array.from(new Set(n));return s.length===1&&s[0]===r||s.length<=1}function $w(e="",t={}){let r=Fw(e,t.anchors||[]),n=lOn(e),s=pOn(e,r,n);if(gOn(s,n)){let i=af(n);if(fy(i)){s={};for(let a of r){let o=a.cleanUrl||a.url;o&&(s[o]=i)}}}return{messageTitle:n,linkTitleMap:s,rawLinks:r.map(i=>i.rawUrl||i.cleanUrl),normalizedLinks:r}}var oOn,cOn,j2e,uOn,VB,nGt=oe(()=>{V2e();oOn=/^(?:名称|标题|片名|资源名|剧名|电影名|夸克|阿里|百度|天翼|UC|115|123云盘|123盘|迅雷|光鸭|网盘)\s*[::||\-]?\s*/i,cOn=/[\u{1F300}-\u{1FAFF}\u2600-\u27BF]+$/gu,j2e=/(https?:\/\/|magnet:\?|ed2k:\/\/)/i,uOn=/\s*(?:提取码|访问码|密码|口令|code|pwd)\s*[:: ].*$/i,VB=/^(?:描述|简介|大小|标签|via|更新|类型|地区|年份|导演|主演|链接)\b/i});function _On(e,t=""){return e==null?t:String(e)}function AOn(e,t=jB.count){let r=Number.parseInt(e,10);return Number.isFinite(r)&&r>0?r:t}function EOn(e,t=jB.enableImage){if(typeof e=="boolean")return e;if(e==null||e==="")return t;let r=String(e).trim().toLowerCase();return["1","true","yes","on","y"].includes(r)?!0:["0","false","no","off","n"].includes(r)?!1:t}function sGt(e){return Array.isArray(e)?e.map(t=>String(t||"").trim()).filter(Boolean):String(e||"").split(",").map(t=>t.trim()).filter(Boolean)}function yOn(e){if(!e||typeof e!="object"||Array.isArray(e))return{};let t={};for(let[r,n]of Object.entries(e)){let s=String(r||"").trim();s&&(t[s]=String(n||"").trim())}return t}function G2e(e={}){let t=e&&typeof e=="object"?e:{};return{url:_On(t.url,jB.url),count:AOn(t.count,jB.count),enableImage:EOn(t.enableImage,jB.enableImage),homeChannelUsername:sGt(t.homeChannelUsername),channelUsername:sGt(t.channelUsername),channelRemark:yOn(t.channelRemark)}}async function zz(e){e.get("/config",async(t,r)=>{try{let n=await mb(t.server);r.send({code:0,data:n})}catch(n){r.send({code:-1,message:n?.message||"\u83B7\u53D6\u914D\u7F6E\u5931\u8D25",data:G2e({})})}}),e.put("/config",async(t,r)=>{try{let n=await t.server.db.getObjectDefault(K2e,{}),s=G2e({...n,...t.body||{}});await t.server.db.push(K2e,s),r.send({code:0,data:s,message:"TGChannel\u914D\u7F6E\u5DF2\u4FDD\u5B58"})}catch(n){r.send({code:-1,message:n?.message||"\u4FDD\u5B58\u914D\u7F6E\u5931\u8D25"})}})}var K2e,jB,mb,KB,Y2e,GB,Q2e,Yz,Qz,Wz=oe(()=>{K2e="/tgchannel",jB={url:"",count:20,enableImage:!0,homeChannelUsername:[],channelUsername:[],channelRemark:{}};mb=async e=>{let t=await e.db.getObjectDefault(K2e,{});return G2e(t)},KB=async e=>(await mb(e)).url,Y2e=async e=>(await mb(e)).count,GB=async e=>(await mb(e)).enableImage,Q2e=async e=>(await mb(e)).channelUsername,Yz=async e=>(await mb(e)).homeChannelUsername,Qz=async e=>(await mb(e)).channelRemark});var iGt=oe(()=>{Wz();Wz()});var wGt={};Bt(wGt,{default:()=>sDn});function Zz(e){let t=String(e&&e.attribs&&e.attribs.class||"");return/tgme_widget_message_inline_button/.test(t)}function MOn(e){if(!e||e.response)return!1;if(LOn.has(e.code))return!0;let t=String(e.message||"");return/before secure TLS connection was established|socket hang up|network socket disconnected/i.test(t)}function kOn(e){try{return new URL(e).hostname}catch{return"unknown-host"}}async function tW(e,t={}){let r=kOn(e),n;for(let s=0;s<4;s++)try{if(s===0)return await oGt.get(e,t);await new Promise(o=>setTimeout(o,250*s)),console.warn(`\u8BBF\u95EE ${r} \u77AC\u65F6\u7F51\u7EDC\u5931\u8D25\uFF0CIPv4 \u65B0\u8FDE\u63A5\u91CD\u8BD5 ${s}/3:`,n.code||n.message);let i=new uGt.default.Agent({keepAlive:!1,family:4}),a=new lGt.default.Agent({keepAlive:!1,family:4});return await oGt.get(e,{...t,proxy:!1,httpAgent:i,httpsAgent:a,headers:{...t.headers||{},Connection:"close"}})}catch(i){if(n=i,!MOn(i))throw i}throw n}async function YB(e,t,r,n,s){let i=e.get(r);return i!==null?i:Pn("tgchannel",t,r,async()=>{let a=await s();return a?._skipCache||e.set(r,a),a},{timeout:3e4})}function W2e(e){return String(e||"").split(",").map(t=>t.trim()).filter(Boolean)}function FOn(e){let t=Number.parseInt(e,10);return Number.isNaN(t)||t<=0?1:t}async function pGt(e,t,r){if(!Array.isArray(e)||e.length===0)return[];let n=new Array(e.length),s=0,i=async()=>{for(;;){let c=s++;if(c>=e.length)break;n[c]=await r(e[c],c)}},a=Math.min(t,e.length),o=new Array(a);for(let c=0;cs.validator(e))||null;return cGt.set(e,n),n}function $On(e){let t=e.attr("style");if(!t)return;let r=/background-image:url\('([^']+)'\)/.exec(t);if(r&&r.length>1)return r[1]}function mGt(e){return $w(String(e||"")).messageTitle||String(e||"").trim()}function gGt(e=[]){return Array.from(e||[]).map(t=>({href:(t&&t.attribs?t.attribs.href:"")||"",text:String(t&&t.children&&t.children.map?t.children.map(r=>r&&r.data||"").join(""):"").trim(),cls:String((t&&t.attribs?t.attribs.class:"")||"")})).filter(t=>t.href)}function _Gt(e){return e.find("a").toArray()}function AGt(e=""){return xOn.test(String(e||""))}function tPe(e=""){return wOn.test(String(e||""))}function EGt(e=""){let t=String(e||"");return NOn.test(t)||OOn.test(t)}function qOn(e=""){let t=String(e||"").match(COn)||[];return Array.from(new Set(t.filter(function(r){return EGt(r)})))}function yGt(e=[]){return gGt(e).map(t=>t.href)}function vGt(e=""){return String(e||"").trim().replace(/^[^A-Za-z0-9\u4e00-\u9fa5]+/g,"")}function Xz(e=""){return String(e||"").toLowerCase().replace(/第\s*\d+\s*[季部集期话篇]/g," ").replace(/[\s\-—_::·•,.,。!!??'"“”‘’()()\[\]【】]/g,"").trim()}function HOn(e,t){let r=Xz(t);if(!r)return!0;let n=String(e?.parsed?.messageTitle||"").trim(),s=String(e?.title||"").trim(),i=String(e?.description||"").trim(),a=Xz(n),o=Xz(s),c=Xz(i);return a?a.includes(r):o?o.includes(r):!!(c&&c.includes(r))}function VOn(e={}){let t=String(e.href||""),r=String(e.text||"").trim(),n=String(e.cls||""),s=vGt(r);return!t||/^\?q=/.test(t)?!0:DOn.test(t)?!(Zz({attribs:{class:n}})&&hGt.test(s)):!!(s&&POn.test(s)||!Zz({attribs:{class:n}})&&!Fw("",[t]).length)}function SGt(e="",t=[]){let r=gGt(t).filter(u=>!VOn(u)),n=r.map(u=>u.href),s=Fw(String(e||""),n).map(u=>u.cleanUrl),i=r.filter(u=>Zz({attribs:{class:u.cls}})&&AGt(u.href)).map(u=>u.href),a=r.map(u=>u.href).filter(u=>tPe(u)),o=r.filter(u=>Zz({attribs:{class:u.cls}})&&hGt.test(vGt(u.text))&&EGt(u.href)).map(u=>u.href),c=qOn(e);return Array.from(new Set([].concat(s,i,a,o,c)))}function TGt(e="",t=[]){return SGt(e,t)}async function bGt(e,t=!0){let r=`${e}::${t?1:0}`;return YB(BOn,"parse",r,dGt,async()=>{try{let n=await tW(e),s=Br(n.data);s("br").replaceWith(` +`);let i=s(".tgme_widget_message"),a=So(),o=[],c=0,u=0;for(let l=0;lb.cleanUrl).filter(b=>ePe(b,a)),C=TGt(g,y);C.length&&o.push({id:C.join("|"),title:v,description:_,cover:m,messageId:h,panLinks:T,parsed:A})}return o._blockCount=i.length,o._newestMessageId=c,o._oldestMessageId=u,o}catch(n){console.error("\u89E3\u6790\u9891\u9053HTML\u5931\u8D25:",n.message);let s=[];return s._skipCache=!0,s}})}async function IGt(e,t=""){let r=`${e}::textfile`;return YB(Z2e,"parse",r,eW,async()=>{try{let n=await tW(e,{responseType:"text"}),s=typeof n.data=="string"?n.data:String(n.data||""),i=Fw(s,[]).map(a=>a.cleanUrl);return{title:t,description:s,cover:void 0,links:Array.from(new Set(i)),parsed:$w(s)}}catch(n){return console.error("\u89E3\u6790\u6587\u672C\u8D44\u6E90\u6587\u4EF6\u5931\u8D25:",n.message),{title:t,description:"",cover:void 0,links:[],parsed:null}}})}async function KOn(e,t=""){let r=`${e}::telegraph`;return YB(Z2e,"parse",r,eW,async()=>{try{let n=await tW(e),s=Br(n.data),i=s("h1").first().text().trim()||s('meta[property="og:title"]').attr("content")||t,a=s(".tl_article").first().length?s(".tl_article").first():s.root(),o=a.text()||"",u=SGt(o,a.find("a").toArray());return u.length===1&&tPe(u[0])&&(u=(await IGt(u[0],i)).links||[]),{title:i,description:o,cover:s('meta[property="og:image"]').attr("content")||void 0,links:u,parsed:$w(o)}}catch(n){return console.error("\u89E3\u6790Telegraph\u5931\u8D25:",n.message),{title:t,description:"",cover:void 0,links:[],parsed:null}}})}async function GOn(e,t=!0){let r=`${e}::${t?1:0}`;return YB(Z2e,"parse",r,eW,async()=>{try{let n=await tW(e),s=Br(n.data),i=s('meta[property="og:description"]').attr("content")||"",a=t?s('meta[property="og:image"]').attr("content"):void 0,o=s(".tgme_widget_message_text").first().text()||i,c=_Gt(s(".tgme_widget_message").first().length?s(".tgme_widget_message").first():s.root()),u=yGt(c),l=$w(o||i,{anchors:u}),d=TGt(o||i,c);return{title:l.messageTitle||mGt(o||i),description:o||i,cover:a,links:d,parsed:l}}catch(n){return console.error("\u89E3\u6790\u6D88\u606FHTML\u5931\u8D25:",n.message),{title:"",description:"",cover:void 0,links:[]}}})}async function YOn(e,t={},r=0){let n=String(e||"").trim(),s=t.url,i=t.enableImage,a=t.fallbackTitle||"";if(!n||r>3)return{title:a,parsed:null,cover:void 0,links:n?[n]:[]};if(jOn(n)){let o=n.replace(/^https?:\/\/t\.me/i,s),c=await GOn(o,i),u=Array.isArray(c.links)?c.links.filter(Boolean):[];if(!u.length||u.length===1&&u[0]===n)return{title:c.title||a,parsed:c.parsed||null,cover:c.cover,links:[]};let l=await X2e(u,{url:s,enableImage:i,fallbackTitle:c.title||a},r+1);return{title:l.title||c.title||a,parsed:l.parsed||c.parsed||null,cover:l.cover||c.cover,links:l.links}}if(AGt(n)){let o=await KOn(n,a),c=Array.isArray(o.links)?o.links.filter(Boolean):[];if(!c.length||c.length===1&&c[0]===n)return{title:o.title||a,parsed:o.parsed||null,cover:o.cover,links:[]};let u=await X2e(c,{url:s,enableImage:i,fallbackTitle:o.title||a},r+1);return{title:u.title||o.title||a,parsed:u.parsed||o.parsed||null,cover:u.cover||o.cover,links:u.links}}if(tPe(n)){let o=await IGt(n,a);return{title:o.title||a,parsed:o.parsed||null,cover:o.cover,links:Array.isArray(o.links)?o.links.filter(Boolean):[]}}return{title:a,parsed:null,cover:void 0,links:[n]}}async function X2e(e=[],t={},r=0){let n=Array.isArray(e)?e:[],s=await Promise.all(n.filter(Boolean).map(function(o){return YOn(o,t,r)})),i=Array.from(new Set([].concat.apply([],s.map(function(o){return o.links||[]})).filter(Boolean))),a=null;for(let o=0;o{let c=i[o]&&i[o].trim()||o;return{type_id:o,type_name:c}})}}catch(n){console.error("home \u51FD\u6570\u9519\u8BEF:",n);let s={class:[]};return sn(t,s,Rt.semiStatic),s}}function RGt(e){return Jz[e]||(Jz[e]={1:void 0}),Jz[e]}function JOn(e,t,r){let n=r?`${t.includes("?")?"&":"?"}before=${r}`:"";return`${e}/s/${t}${n}`}function ZOn(e){let t=Number(e&&e._oldestMessageId)||0;return t>1?t:void 0}async function CGt(e,t,r,n,s=IOn){let i=r,a=[],o,c=0;for(;c0||!o||o===i));)i=o;return{beforeId:i,data:a,nextBeforeId:o,scanned:c}}async function eDn(e,t,r,n){if(t<=1)return;let s=RGt(e);if(Object.prototype.hasOwnProperty.call(s,t))return s[t];let i=1;Object.keys(s).forEach(o=>{let c=Number.parseInt(o,10);Number.isFinite(c)&&c>i&&c0){s===1&&(WOn[n]=o[o.length-1].messageId),o.reverse();let l=So(),d=o.map(f=>{let h;if(f.panLinks.length){let p=ePe(f.panLinks[0],l);h=p?xGt(e,p.pic):void 0}return h||(h=z2e),{vod_name:f.title,vod_id:JSON.stringify({links:f.id,name:f.title,parsed:f.parsed,rawData:f,vod_pic:f.cover||h,vod_remarks:f.parsed?.channelName||f.parsed?.remark||""}),vod_pic:f.cover||h,vod_remarks:f.parsed?.channelName||f.parsed?.remark||"",rawData:f}});return{page:s,pagecount:c&&c!==i?s+1:s,list:d}}else return{page:s,pagecount:c&&c!==i?s+1:s,list:[]}}catch(i){return console.error("category \u9519\u8BEF:",i),{page:s,pagecount:1,list:[]}}}async function rDn(e,t){try{let[r,n]=await Promise.all([KB(e.server),GB(e.server)]),s=Array.isArray(e.body.id)?e.body.id:[e.body.id];return{list:await pGt(s,TOn,async a=>{try{let o=String(a||""),c=o,u=o;try{let y=JSON.parse(o);c=y.links,u=y.name||y.links}catch{c=o,u=o}let l=String(c||"").split("|").filter(Boolean),d=null;try{let y=JSON.parse(o);d=y&&y.parsed||(y&&y.rawData?y.rawData.parsed:null)||null}catch{}d&&d.normalizedLinks&&d.normalizedLinks.length&&(l=d.normalizedLinks.map(y=>y.cleanUrl).filter(Boolean),u=d.messageTitle||u);let f=await X2e(l,{url:r,enableImage:n,fallbackTitle:u});f.links.length&&(l=f.links),f.parsed&&(d=f.parsed),f.title&&(u=f.title);let h="",p=d?.channelName||d?.remark||"";try{let y=JSON.parse(o);h=y?.vod_pic||"",p=y?.vod_remarks||p}catch{}let m={vod_id:o,vod_name:u,vod_pic:h||"",vod_remarks:p};if(!l.length)return m;let g=l.join("|"),_=await YB(UOn,"detail",g,fGt,async()=>di(l,e));return _&&(m.vod_play_from=_.froms,m.vod_play_url=_.urls,Array.isArray(_.links)&&_.links.length>0&&(m.vod_links=_.links)),m}catch{return{vod_id:String(a||""),vod_name:String(a||""),vod_remarks:""}}})}}catch(r){return console.error("detail \u51FD\u6570\u9519\u8BEF:",r),{list:[]}}}async function nDn(e,t){try{let[r,n,s,i,a,o]=await Promise.all([Y2e(e.server),Q2e(e.server),Yz(e.server),Qz(e.server),KB(e.server),GB(e.server)]),c=Number.parseInt(r,10)||20,u=i||{},l=String(e.body.wd||"").trim(),d=Array.from(new Set([...W2e(s),...W2e(n)]));if(!l||d.length===0)return{page:1,pagecount:1,list:[]};let f=await pGt(d,bOn,async m=>bGt(`${a}/s/${m}?q=${encodeURIComponent(l)}`,o)),h=So(),p=[];return f.forEach((m,g)=>{m&&m.length>0&&m.filter(_=>_&&_.panLinks&&_.panLinks.length).filter(_=>HOn(_,l)).slice(0,c).forEach(_=>{let y="",E;_.panLinks.forEach(v=>{let T=ePe(v,h);T&&(y+=y?`|${T.name}`:T.name),E||(E=T?xGt(e,T.pic):void 0)});let A=u[d[g]]&&u[d[g]].trim()||d[g];p.push({vod_id:JSON.stringify({links:_.id,name:_.title,parsed:_.parsed,rawData:_,vod_pic:_.cover||E||z2e,vod_remarks:`${y}:${A}`}),vod_name:_.title,vod_pic:_.cover||E||z2e,vod_remarks:`${y}:${A}`})})}),{page:1,pagecount:1,list:p}}catch(r){return console.error("search \u51FD\u6570\u9519\u8BEF:",r),{page:1,pagecount:1,list:[]}}}var uGt,lGt,z2e,vOn,J2e,SOn,dGt,eW,fGt,TOn,bOn,IOn,ROn,COn,xOn,wOn,NOn,OOn,DOn,POn,hGt,aGt,oGt,LOn,BOn,Z2e,UOn,cGt,jOn,WOn,XOn,Jz,sDn,NGt=oe(()=>{Yu();Dn();nGt();V2e();Pr();uGt=we(require("node:http"),1),lGt=we(require("node:https"),1);kr();Fh();iGt();ta();zi();z2e="https://telegram.org/img/apple-touch-icon.png",vOn=8e3,J2e=200,SOn=1e3,dGt=20*1e3,eW=30*1e3,fGt=45*1e3,TOn=6,bOn=4,IOn=30,ROn=/t\.me\/[^/\s]+\/[^/\s]+/i,COn=/https?:\/\/t\.me\/(?:c\/\d+\/\d+|[^/\s?#]+\/\d+(?:\?single)?)(?:\?[^\s]*)?/gi,xOn=/^https?:\/\/(?:telegra\.ph|graph\.org)\//i,wOn=/^https?:\/\/[^\s]+\.(?:txt|text)(?:[?#].*)?$/i,NOn=/^https?:\/\/t\.me\/c\/\d+\/\d+(?:\?.*)?$/i,OOn=/^https?:\/\/t\.me\/[^/\s?#]+\/\d+(?:\?single)?(?:\?.*)?$/i,DOn=/(?:imdb\.com|movie\.douban\.com|content\.21cn\.com|t\.me)/i,POn=/^(?:#.+|IMDb|豆瓣|评分|简介|介绍|预告|搜索|标签|资源搜索|查看热播|订阅直达)$/i,hGt=/(?:直达链接|点击下载|在线下载|点击获取(?:夸克|阿里云盘|百度|光鸭)?链接|查看资源|资源|网盘|天翼|夸克|阿里|百度|UC|115|123云盘|迅雷|光鸭|guangya|磁力|magnet)/i;aGt=Wn(),oGt=Se.create({timeout:vOn,httpAgent:aGt.httpAgent,httpsAgent:aGt.httpsAgent,headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),LOn=new Set(["ECONNRESET","ETIMEDOUT","ECONNABORTED","EAI_AGAIN","ENETUNREACH","EHOSTUNREACH","ECONNREFUSED"]);BOn=new pt(J2e,dGt),Z2e=new pt(J2e,eW),UOn=new pt(J2e,fGt),cGt=new pt(SOn,Number.POSITIVE_INFINITY);jOn=e=>ROn.test(e||"");WOn={},XOn={},Jz={};sDn={meta:{key:"tgchannel",name:"\u2601\uFE0F \u9891\u9053",type:3},api:async e=>{e.post("/init",QOn),e.post("/home",zOn),e.post("/category",tDn),e.post("/detail",rDn),e.post("/play",ti),e.post("/search",nDn),e.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",ws)}}});var qGt={};Bt(qGt,{default:()=>UDn});function cDn(){return hs.staticCache.classes||(hs.staticCache.classes=[{type_id:"",type_name:"\u5168\u90E8\u76F4\u64AD"},{type_id:"1",type_name:"\u7BEE\u7403\u76F4\u64AD"},{type_id:"8",type_name:"\u8DB3\u7403\u76F4\u64AD"},{type_id:"21",type_name:"\u5176\u4ED6\u76F4\u64AD"}]),hs.staticCache.classes}function uDn(){return hs.staticCache.filters||(hs.staticCache.filters={1:[{key:"cateId",name:"\u7C7B\u578B",value:[{n:"NBA",v:"1"},{n:"CBA",v:"2"},{n:"\u7BEE\u7403\u7EFC\u5408",v:"4"},{n:"\u7EAC\u6765\u4F53\u80B2",v:"21"}]}],8:[{key:"cateId",name:"\u7C7B\u578B",value:[{n:"\u82F1\u8D85",v:"8"},{n:"\u897F\u7532",v:"9"},{n:"\u610F\u7532",v:"10"},{n:"\u6B27\u51A0",v:"12"},{n:"\u6B27\u8054",v:"13"},{n:"\u5FB7\u7532",v:"14"},{n:"\u6CD5\u7532",v:"15"},{n:"\u6B27\u56FD\u8054",v:"16"},{n:"\u8DB3\u603B\u676F",v:"27"},{n:"\u56FD\u738B\u676F",v:"33"},{n:"\u4E2D\u8D85",v:"7"},{n:"\u4E9A\u51A0",v:"11"},{n:"\u8DB3\u7403\u7EFC\u5408",v:"23"},{n:"\u6B27\u534F\u8054",v:"28"},{n:"\u7F8E\u804C\u8054",v:"26"}]}]}),hs.staticCache.filters}function lDn(){let e=(0,QB.default)().unix();if(e-hs.lastCleanup>_r.cleanupInterval){for(let[t,r]of hs.cache.entries())e>r.expire&&hs.cache.delete(t);hs.lastCleanup=e}}function BGt(e){lDn();let t=hs.cache.get(e);return t?(0,QB.default)().unix()>=t.expire?(hs.cache.delete(e),null):t.data:null}function nPe(e,t,r=_r.cacheTTL){if(hs.cache.size>=_r.cacheMaxSize){let n=Math.min(50,hs.cache.size),s=0;for(let i of hs.cache.keys())if(hs.cache.delete(i),s++,s>=n)break}hs.cache.set(e,{data:t,expire:(0,QB.default)().unix()+r})}async function rW(e,t=_r.retryTimes){let r=null;for(let n=0;n<=t;n++)try{return await e()}catch(s){if(r=s,n>=t)break;await tr(1e3*(n+1))}throw r}function dDn(e){if(!e||typeof e!="object"||Array.isArray(e))return JSON.stringify(e);let t=Object.entries(e).sort(([r],[n])=>r.localeCompare(n));return JSON.stringify(Object.fromEntries(t))}async function UGt(e,t,r){let n=Array.isArray(e)?e:[];if(n.length===0)return[];let s=Math.max(1,Math.min(t,n.length)),i=new Array(n.length),a=0,o=async()=>{for(;;){let c=a++;if(c>=n.length)return;i[c]=await r(n[c],c)}};return await Promise.all(Array.from({length:s},()=>o())),i}function iPe(e){let t=String(e||"").trim();try{let r=t.match(/[?&](?:url|liveUrl)=/i),n=r?t.slice(r.index+r[0].length):"";if(!n){let s=new URL(t);n=s.searchParams.get("url")||s.searchParams.get("liveUrl")||t}return n.includes("%")&&(n=decodeURIComponent(n)),n}catch{return t||e}}function fDn(e){return`${rPe}${Buffer.from(JSON.stringify(e),"utf-8").toString("base64url")}`}function hDn(e){let t=String(e||"").trim();if(!t.startsWith(rPe))return{url:t,lineName:"",sourceHost:"",wrapperUrl:t};try{let r=t.slice(rPe.length),n=JSON.parse(Buffer.from(r,"base64url").toString("utf-8")),s=String(n?.wrapperUrl||n?.url||"").trim();return{url:String(n?.url||"").trim()||s,lineName:String(n?.lineName||"").trim(),sourceHost:String(n?.sourceHost||"").trim(),wrapperUrl:s}}catch{return{url:t,lineName:"",sourceHost:"",wrapperUrl:t}}}function pDn(e){let t=String(e||"").trim();if(!t)return null;let r=[t.slice(6,-2),t.slice(6),t];for(let n of r)if(n)try{let s=Buffer.from(n,"base64").toString("utf-8");return JSON.parse(s)}catch{}return null}function DGt(e,t){let r=e.length,n=new Array(r&3?(r>>>2)+1:r>>>2).fill(0);for(let s=0;s>>2]|=e.charCodeAt(s)<<((s&3)<<3);return t&&n.push(r),n}function gDn(e,t){let r=e.length<<2;if(t){let s=e[e.length-1];if(sr-4)return null;r=s}let n=[];for(let s of e)n.push(String.fromCharCode(s&255),String.fromCharCode(s>>>8&255),String.fromCharCode(s>>>16&255),String.fromCharCode(s>>>24&255));return n.join("").slice(0,r)}function PGt(e,t,r,n,s,i){return((r>>>5^t<<2)+(t>>>3^r<<4)^(e^t)+(i[n&3^s]^r))>>>0}function _Dn(e,t=mDn){let r=Buffer.from(String(e||""),"base64").toString("binary");if(!r)return"";let n=DGt(r,!1),s=DGt(t,!1);s.length<4&&(s=[...s,0,0,0,0].slice(0,4));let i=n.length;if(i<2)return r;let a=2654435769,c=Math.floor(6+52/i)*a>>>0,u=n[0];for(;c!==0;){let d=c>>>2&3;for(let h=i-1;h>0;h--){let p=n[h-1];u=n[h]=n[h]-PGt(c,u,p,h,d,s)>>>0}let f=n[i-1];u=n[0]=n[0]-PGt(c,u,f,0,d,s)>>>0,c=c-a>>>0}let l=gDn(n,!0);return l?Buffer.from(l,"binary").toString("utf-8"):""}function ADn(e){try{let t=_Dn(e),r=JSON.parse(t),n=String(r?.url||"").trim();return/^https?:\/\//i.test(n)?n:""}catch{return""}}async function FGt(e,t={}){let r=String(e||"").trim();if(!/sportsteam368\.com/i.test(r))return"";let n=Number(t.timeout||_r.timeout),s=Number.isFinite(t.retryTimes)?t.retryTimes:_r.retryTimes,i=await rW(()=>Ye.get(r,{headers:{..._r.headers,Referer:_r.host,Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"},timeout:n}),s),o=String(i.data||"").match(/encodedStr\s*=\s*['"]([^'"]+)['"]/i)?.[1];return o?ADn(o):""}function EDn(e){let t=String(e||"").trim();if(!t)return"";try{let s=new URL(t,_r.host).pathname.match(/\/live\/(\d+)\/play\/?/i);if(s)return s[1]}catch{}let r=t.match(/\/live\/(\d+)\/play\/?/i)||t.match(/^(\d+)$/);return r?r[1]:""}function aPe(e){let t=String(e||"").trim();return t?/^https?:\/\//i.test(t)?t:new URL(t,_r.host).toString():""}function yDn(e){let t=EDn(e);if(t)return`${_r.host}/live/${t}/source`;let r=aPe(e);return r?r.replace(/\/play\/?$/i,"/source"):""}function vDn(e){let t=aPe(e)||_r.host;return{..._r.headers,Referer:t,Origin:_r.host,"X-Requested-With":"XMLHttpRequest"}}function SDn(e){let t=WS.load(e||""),r=t(".game-info-container .team-name").map((s,i)=>t(i).text().trim()).get().filter(Boolean);return r.length>=2?`${r[0]} vs ${r[1]}`:t("title").text().trim().replace(/_线上看.*$/g,"").trim()||"\u8D5B\u4E8B\u76F4\u64AD"}async function TDn(e){let t=aPe(e);if(!t)return{links:[],name:"\u8D5B\u4E8B\u76F4\u64AD"};let r=await rW(()=>Ye.get(t,{headers:{..._r.headers,Referer:_r.host},timeout:_r.timeout})),n=WS.load(r.data||""),s=[];return n("#livePlaySource a.videos-url, #livePlaySource a[href]").each((i,a)=>{let o=n(a).text().trim(),c=n(a).attr("href");o&&c&&s.push({name:o,url:c,shareLock:Number(n(a).attr("data-sharelock")||0)})}),{links:s,name:SDn(r.data)}}async function bDn(e){let t=yDn(e);if(!t)return{links:[],name:"\u8D5B\u4E8B\u76F4\u64AD"};let r=await rW(()=>Ye.get(t,{headers:vDn(e),timeout:_r.timeout})),n=pDn(r.data?.data);return{links:Array.isArray(n?.links)?n.links:[],name:"\u8D5B\u4E8B\u76F4\u64AD"}}function LGt(e){let t=new Set;return(Array.isArray(e)?e:[]).filter(r=>{let n=String(r?.url||"").trim();return!n||t.has(n)?!1:(t.add(n),!0)})}function MGt(e,t){let r=String(e||"").trim().toLowerCase(),n=String(t||"").trim().toLowerCase();return NDn(r)?0:r.includes("c5")?1:r.includes("c4")?2:r.includes("b1")?3:r.includes("b2")?4:qw.test(iPe(n))?5:n.includes("sportsteam368.com")?20:n.includes("embedsports.top")?21:10}function kGt(e){try{let t=new URL(e);return`${t.protocol}//${t.host}`}catch{return""}}function sPe(e,t,r={}){let n={..._r.headers,Referer:t||_r.playerHost,"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Allow-Headers":"User-Agent, Content-Type, Range","Access-Control-Expose-Headers":"Content-Length, Content-Range",...r},s=kGt(t)||kGt(e);return s&&(n.Origin=s),n}function IDn(e,t){let r=sPe(e,t);for(let n of["Content-Type","Connection","Access-Control-Allow-Origin","Access-Control-Allow-Methods","Access-Control-Allow-Headers","Access-Control-Expose-Headers"])delete r[n];return r}function RDn(e,t=""){let r=String(t||"").toLowerCase();return qw.test(String(e||""))||r.startsWith("video/")||r.includes("mpegurl")||r.includes("octet-stream")}async function CDn(e,t){let r=String(e||"").trim();if(!/^https?:\/\//i.test(r))return{ok:!1,reason:"not-http"};let n=IDn(r,t),s=[{method:"HEAD",headers:n},{method:"GET",headers:{...n,Range:"bytes=0-1023"}}],i={ok:!1,reason:"unknown"};for(let a of s)try{let o=await Ye.request({url:r,method:a.method,headers:a.headers,timeout:_r.lineProbeTimeout,responseType:"arraybuffer",maxRedirects:5,validateStatus:()=>!0}),c=String(o.request?.res?.responseUrl||o.config?.url||r),u=String(o.headers?.["content-type"]||""),l=Number(o.status||0);if(i={ok:l>0&&l<400&&RDn(c,u),status:l,contentType:u,finalUrl:c,method:a.method},a.method==="GET")return i}catch(o){if(i={ok:!1,reason:o.code||o.message||"request-error"},a.method==="GET")return i}return i}async function xDn(e){let t=String(e?.name||"").trim(),r=String(e?.url||"").trim();if(!r)return null;let n=r.startsWith("http")?r:`${_r.host}${r}`,s=(()=>{try{return new URL(n).host}catch{return""}})(),i=iPe(n);if(i&&!/^https?:\/\//i.test(i)&&(i=`${_r.host}${i}`),!qw.test(i)&&/sportsteam368\.com/i.test(n))try{i=await FGt(n,{timeout:_r.lineProbeTimeout,retryTimes:0})}catch{i=""}if(!qw.test(i))return null;let a=await CDn(i,n);return a.ok?{...e,name:t,url:a.finalUrl||i,wrapperUrl:n,sourceHost:s,probe:a}:null}async function wDn(e){return(await UGt(e,_r.lineProbeConcurrency,async r=>{try{return await xDn(r)}catch{return null}})).filter(Boolean)}function NDn(e){if(!e)return!1;let t=e.toLowerCase().replace(/\s+/g,"");if(t.includes("d1")&&t.includes("\u7EBF\u8DEF")||t.includes("d1")&&t.includes("line")||/^d1(线路|line)?$/.test(t)||/^(线路|line)d1$/.test(t))return!0;let r=e.toLowerCase();return!!(r.includes("\u7EBF\u8DEF")&&r.includes("d1"))}async function $Gt(e,t={}){let r=`category_${e}_${dDn(t)}`,n=BGt(r);if(n)return n;let s=async()=>{let i=t.cateId||e||"",a=i?`/match/${i}/live`:"",o=_r.host+a,c=await rW(()=>Ye.get(o,{headers:_r.headers,timeout:_r.timeout})),u=WS.load(c.data),l=[],d=[];u(".list-group-item").each((p,m)=>{let g=u(m),_=g.find(".btn.btn-primary"),y=g.find(".category-game-time").text().trim()||"",E=g.find(".game-type").text().trim()||"",A=g.find(".team-name"),v="",T="";A.length>=2&&(v=A.first().text().trim(),T=A.last().text().trim());let C="";if(v&&T?C=`${y} ${E} ${v} vs ${T}`.trim():E?C=`${y} ${E}`.trim():C=y.trim(),!C)return;let b=g.find("img").first().attr("src")||hs.staticCache.defaultPic,x=b.startsWith("http")?b:_r.host+b,w={vod_name:C,vod_pic:x,vod_remarks:""};if(_.length>0)w.vod_id=_r.host+_.attr("href"),w.vod_remarks=_.text().trim()||"\u76F4\u64AD\u4E2D",l.push(w);else{let P=`${y}-${E}-${v}-${T}`;w.vod_id=`upcoming_${Buffer.from(P).toString("base64")}`,w.vod_remarks=y||"\u672A\u5F00\u64AD",d.push(w)}});let f=[...l,...d],h={list:f,page:1,pagecount:1,limit:f.length,total:f.length};return f.length>0&&nPe(r,h),h};return Pn("kanqiu","category",r,async()=>{try{return await s()}catch{return{list:[],page:1,pagecount:1,limit:0,total:0}}},{timeout:3e4})}async function ODn(e){let t=`detail_${e}`,r=BGt(t);if(r)return r;let n=async()=>{if(e.startsWith("upcoming_")){let d={vod_id:e,vod_name:"\u8D5B\u4E8B\u76F4\u64AD",vod_pic:hs.staticCache.defaultPic,type_name:"\u4F53\u80B2\u76F4\u64AD",vod_remarks:"\u672A\u5F00\u64AD",vod_content:"\u6BD4\u8D5B\u5C1A\u672A\u5F00\u59CB\uFF0C\u8BF7\u7B49\u5F85\u5F00\u64AD",vod_play_from:"88\u770B\u7403",vod_play_url:""};return nPe(t,d,_r.detailCacheTTL),d}if(e===_r.host)return null;let{links:s}=await bDn(e),i=LGt(s);if(i.length===0){let d=await TDn(e);i=LGt(d.links)}if(i.length===0)return null;let a=[...i].sort((d,f)=>{let h=MGt(d?.name,d?.url)-MGt(f?.name,f?.url);return h!==0?h:String(d?.name||"").localeCompare(String(f?.name||""),"zh-CN")}),o=await wDn(a),c=o.map(d=>{let f=d.wrapperUrl||(d.url.startsWith("http")?d.url:`${_r.host}${d.url}`),h=fDn({lineName:String(d.name||"").trim(),sourceHost:d.sourceHost||(()=>{try{return new URL(f).host}catch{return""}})(),wrapperUrl:f,url:d.url||f});return`${d.name}$${h}`}).join("#"),u=o.length>0,l={vod_id:e,vod_name:"\u8D5B\u4E8B\u76F4\u64AD",vod_pic:hs.staticCache.defaultPic,type_name:"\u4F53\u80B2\u76F4\u64AD",vod_remarks:u?"\u5B9E\u65F6\u76F4\u64AD":"\u6682\u65E0\u53EF\u64AD\u653E\u7EBF\u8DEF",vod_content:u?"\u5B9E\u65F6\u4F53\u80B2\u76F4\u64AD":"\u5F53\u524D\u7EBF\u8DEF\u5747\u65E0\u6CD5\u89E3\u51FA\u53EF\u64AD\u653E\u5A92\u4F53\u5730\u5740",vod_play_from:"88\u770B\u7403",vod_play_url:c};return nPe(t,l,u?_r.detailCacheTTL:_r.cacheTTL),l};return Pn("kanqiu","detail",t,async()=>{try{return await n()}catch{return null}},{timeout:3e4})}async function DDn(e,t){return hs.init||(hs.device=await e.server.db.getObjectDefault(`${e.server.prefix}/device`,{}),hs.device.id||(hs.device=WTe(32),hs.device.id=hs.device.id.toLowerCase(),await e.server.db.push(`${e.server.prefix}/device`,hs.device)),hs.init=!0),{}}async function PDn(e,t){let r=Vr("kanqiu",arguments[0]||{}),n=jr(r);if(n)return n;let s=await $Gt(""),i={class:cDn(),filters:uDn(),list:s.list};return sn(r,i,Rt.semiStatic),i}async function LDn(e,t){let r=e.body.id,n=e.body.filters||{};return await $Gt(r,n)}async function MDn(e,t){let n=(Array.isArray(e.body.id)?e.body.id:[e.body.id]).map(i=>String(i||"").trim()).filter(Boolean);return{list:(await UGt(n,6,i=>ODn(i))).filter(Boolean)}}function gb(e="",t=""){return{parse:0,jx:0,url:"",format:"hls",disableSniff:!0,player:"hlsjs",header:_r.headers,...e?{error:e}:{},...t?{line:t}:{}}}async function kDn(e,t){try{let r=String(e.body?.id||"").trim();if(!r)return gb();if(r.startsWith("upcoming_"))return gb("\u6BD4\u8D5B\u5C1A\u672A\u5F00\u59CB\uFF0C\u8BF7\u7B49\u5F85\u5F00\u64AD");let n=decodeURIComponent(r).replace(/\*\*\*/g,"#"),s=hDn(n),i=s.wrapperUrl||s.url||n,a=s.lineName||String(e.body?.flag||"").trim(),o=s.sourceHost||(()=>{try{return new URL(i).host}catch{return""}})(),c=iPe(s.url||n);c&&!/^https?:/i.test(c)&&(c=`${_r.host}${c}`);let u=String(e.body?.line||"").trim(),l=oDn[u]||_r.playerHost;if(i&&/^https?:\/\//i.test(i))try{let f=new URL(i);l=`${f.protocol}//${f.host}/`}catch{}if(qw.test(c)){let f=e.body.quality||"sd",h=iDn[f]||aDn,p=OGt.test(c)?c.replace(OGt,`${f}-$2`):c,m=/\.mp4(\?|$)/i.test(p)?"video/mp4":"application/vnd.apple.mpegurl";return{parse:0,jx:0,url:p,format:/m3u8(\?|$)/i.test(p)?"hls":"mp4",type:m,header:sPe(p,l,{"Content-Type":m}),disableSniff:!0,player:/m3u8(\?|$)/i.test(p)?"hlsjs":"ijk",quality:h,line:a||u||"default"}}if(/sportsteam368\.com/i.test(o)||/sportsteam368\.com/i.test(i)){let f=await FGt(i);if(qw.test(f)){let h=/\.mp4(\?|$)/i.test(f)?"video/mp4":"application/vnd.apple.mpegurl";return{parse:0,jx:0,url:f,format:/m3u8(\?|$)/i.test(f)?"hls":"mp4",type:h,header:sPe(f,i,{"Content-Type":h}),disableSniff:!0,player:/m3u8(\?|$)/i.test(f)?"hlsjs":"ijk",line:a||"sportsteam368"}}return gb("\u672A\u80FD\u89E3\u51FA\u53EF\u64AD\u653E\u5A92\u4F53\u5730\u5740",a||"sportsteam368")}return/embedsports\.top/i.test(o)||/embedsports\.top/i.test(i)?gb("\u6682\u4E0D\u652F\u6301\u8BE5\u7B2C\u4E09\u65B9\u64AD\u653E\u58F3\u76F4\u94FE\u89E3\u5BC6",a||"embedsports"):(/^https?:\/\//i.test(i),gb("\u672A\u80FD\u89E3\u51FA\u53EF\u64AD\u653E\u5A92\u4F53\u5730\u5740",a||u||"fallback"))}catch{return gb("\u64AD\u653E\u5730\u5740\u89E3\u6790\u5931\u8D25")}}async function BDn(e,t){return{list:[],page:1,pagecount:1,total:0}}var QB,_r,iDn,aDn,OGt,oDn,qw,rPe,hs,mDn,UDn,HGt=oe(()=>{kr();Dn();Cs();QB=we(kk(),1);Fh();ta();_r={host:"https://www.88kanqiu.tw",playerHost:"https://play.88player.top",backupHosts:["https://play.88player.top","https://play.88player2.top"],headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",Accept:"*/*","Accept-Language":"zh-CN,zh;q=0.9",Connection:"keep-alive"},cacheTTL:60,detailCacheTTL:300,retryTimes:2,timeout:15e3,lineProbeTimeout:7e3,lineProbeConcurrency:5,cacheMaxSize:500,cleanupInterval:300},iDn={ld:"240p",sd:"480p",hd:"720p",fhd:"1080p"},aDn="480p",OGt=/(sd|hd|fhd|ld)-(\d+)/,oDn={default:_r.playerHost,backup1:_r.backupHosts[0],backup2:_r.backupHosts[1]},qw=/^https?:\/\/.*\.(m3u8|mp4|flv|m4s|ts)(\?.*)?$/i,rPe="kanqiu://",hs={init:!1,cache:new Map,device:{},lastCleanup:(0,QB.default)().unix(),staticCache:{classes:null,filters:null,defaultPic:"https://pic.imgdb.cn/item/657673d6c458853aeff94ab9.jpg"}};mDn="ABCDEFGHIJKLMNOPQRSTUVWX";UDn={meta:{key:"88kanqiu",name:"\u{1F3C0} \u770B\u7403",type:3,searchable:0,quickSearch:0,filterable:1,qualities:["ld","sd","hd","fhd"],lines:["default","backup1","backup2"]},api:async e=>{let t={"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Allow-Headers":"User-Agent, Content-Type, Range","Access-Control-Expose-Headers":"Content-Length, Content-Range"};e.options("/play",async(r,n)=>{n.headers(t),n.code(204).send()}),e.post("/init",DDn),e.post("/home",PDn),e.post("/category",LDn),e.post("/detail",MDn),e.post("/play",kDn),e.post("/search",BDn)}}});function FDn(e){return Array.isArray(e)?e:e&&typeof e=="object"?Object.values(e):[]}function zB(e,t=""){return e==null?t:String(e).trim()||t}function VGt(e){let t=FDn(e),r=[];for(let n=0;n0)return t;let r=VGt(e?.config?.live);if(r.length===0)return[];try{await e.db.push("/config/live",r),console.log(`[Live] DB\u4E3A\u7A7A\uFF0C\u5DF2\u4ECE index.config.js \u56DE\u586B\u76F4\u64AD\u914D\u7F6E\uFF0C\u5171 ${r.length} \u6761`)}catch(n){console.error("[Live] \u56DE\u586B\u9ED8\u8BA4\u914D\u7F6E\u5230\u6570\u636E\u5E93\u5931\u8D25:",n)}return r}var oPe=oe(()=>{});var YGt={};Bt(YGt,{default:()=>$Dn});async function YDn(e){if(!e)return Ti;let t=Date.now();if(Hw.loaded&&t-Hw.timestamp{s.Referer="https://live.bilibili.com/",s.Origin="https://live.bilibili.com"},"douyin.com":()=>{s.Referer="https://www.douyin.com/",s.Origin="https://www.douyin.com"},"huya.com":()=>{s.Referer="https://www.huya.com/",s.Origin="https://www.huya.com"}};if(i){for(let[o,c]of Object.entries(a))if(i.includes(o)){c();break}s.Referer||(s.Referer=`https://${i}/`)}if(XB.set(r,s),XB.size>100){let o=Array.from(XB.keys());for(let c=0;c<20;c++)XB.delete(o[c])}return s}async function QDn(e){return e.server&&await Ab(e.server),{}}async function zDn(e){let t=Vr("live",arguments[0]||{}),r=jr(t);if(r)return r;e?.server&&await Ab(e.server);let n={class:Ti.map((s,i)=>({type_id:`${i}`,type_name:s.name,type_image:s.logo}))};return sn(t,n,Rt.semiStatic),n}async function WDn(e){return e?.server&&await Ab(e.server),{list:Ti.map((t,r)=>({vod_id:`${r}_0_${Date.now()}`,vod_name:t.name,vod_pic:t.logo,vod_remarks:"\u76F4\u64AD\u6E90"})),page:{page:1,pagecount:1,limit:Ti.length,total:Ti.length}}}async function XDn(e){await Ab(e.server);let{id:t,page:r=1,limit:n=50}=e.body,s=Number.parseInt(t,10),i=Ti[s];if(!i)return{list:[],page:{page:1,pagecount:1,limit:0,total:0}};let a=await uPe(i),o=a.length,c=Math.ceil(o/n),u=(r-1)*n,l=u+n,d=r>c?[]:a.slice(u,l),f=new Array(d.length);for(let h=0;hh>=200&&h<400});f.status>=300&&f.status<400&&f.headers.location&&(u=new URL(f.headers.location,i).href)}catch(f){let h=f?.response?.headers?.location;h&&(u=new URL(h,i).href)}if(u!==i){let f=sW(u);l={"User-Agent":c.ua||"okhttp/3.15",Accept:"*/*",Connection:"keep-alive",Referer:`https://${f}/`}}}let d={parse:0,url:u,header:l,headers:l};if(_b.set(t,{result:d,timestamp:r}),_b.size>VDn){let f=Math.min(50,_b.size),h=0;for(let p of _b.keys())if(_b.delete(p),h++,h>=f)break}return d}catch(t){return console.error("[Live Play] Error:",t.message),{parse:0,url:""}}}async function e2n(e){let{wd:t,page:r=1,limit:n=30}=e.body;if(!t)return{list:[],page:{page:1,pagecount:1,limit:0,total:0}};let s=t.toLowerCase(),i=Number.parseInt(r,10)||1,a=Number.parseInt(n,10)||30;await Ab(e.server);let o=[],c=Ti.map(m=>uPe(m)),u=await Promise.allSettled(c);for(let m=0;md?[]:o.slice(f,h),page:{page:i,pagecount:d,limit:a,total:l}}}async function uPe(e){if(!e?.url)return[];let t=e.url,r=Date.now(),n=cPe.get(t);if(n&&r-n.timestamp{try{let i=GGt(e,e.url),o=(await Ye(e.url,{method:"GET",headers:i,timeout:8e3})).data;if(Buffer.isBuffer(o)?o=o.toString("utf-8"):typeof o!="string"&&(o=String(o||"")),o){let u=o.split(` +`),l=[];for(let d=0;d0)return cPe.set(t,{data:c,timestamp:r,ttl:30*60*1e3}),c;throw new Error("Empty groups")}catch{let a={data:[],timestamp:r,ttl:6e4};return cPe.set(t,a),[]}})();WB.set(t,s);try{return await s}finally{WB.get(t)===s&&WB.delete(t)}}function t2n(e){if(!e||typeof e!="string")return[];let t=new Map,r=e.split(` +`),n="\u672A\u5206\u7C7B";for(let i=0;i0&&s.push({groupName:i,channels:a});return s}var $Dn,Ti,JB,cPe,WB,Hw,qDn,_b,HDn,VDn,jGt,KGt,jDn,KDn,GDn,XB,QGt=oe(()=>{kr();Dn();oPe();$Dn={meta:{key:"live",name:"\u{1F4FA} \u76F4\u64AD",type:3,version:"20260115",author:"Gemini"},api:async e=>{e.post("/init",QDn),e.post("/home",zDn),e.post("/homeVod",WDn),e.post("/category",XDn),e.post("/detail",JDn),e.post("/play",ZDn),e.post("/search",e2n)}},Ti=[],JB=new Map,cPe=new Map,WB=new Map,Hw={loaded:!1,timestamp:0,ttl:5*60*1e3},qDn="https://ghp.xptvhelper.link/https://raw.githubusercontent.com/hjdhnx/hipy-server/master/app/static/img/lives.jpg",_b=new Map,HDn=30*1e3,VDn=200,jGt=/\[IDX:(\d+)\]/,KGt=/^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:/\n?]+)/,jDn=/#EXTINF:.*?group-title="([^"]+)".*?,(.+)$/,KDn=/([^,]+)#genre#/,GDn=/^#EXTGRP:(.+)/;XB=new Map});var nu=S((gxs,Vw)=>{var mxs=require("crypto");Vw.exports.linebrk=function(e,t){for(var r="",n=0;n+t0){if(r>=4)return e.readUIntBE(t,r);for(var n=0,s=t+r,i=0;s>t;s--,i+=2)n+=e[s-1]*Math.pow(16,i);return n}else return NaN};Vw.exports._={isObject:function(e){var t=typeof e;return!!e&&(t=="object"||t=="function")},isString:function(e){return typeof e=="string"||e instanceof String},isNumber:function(e){return typeof e=="number"||!isNaN(parseFloat(e))&&isFinite(e)},omit:function(e,t){var r={};for(var n in e)!e.hasOwnProperty(n)||n===t||(r[n]=e[n]);return r}};Vw.exports.trimSurroundingText=function(e,t,r){var n=0,s=e.length,i=e.indexOf(t);i>=0&&(n=i+t.length);var a=e.indexOf(r,i);return a>=0&&(s=a),e.substring(n,s)}});var vb=S((Axs,ZGt)=>{var r2n=require("crypto"),n2n=nu()._,jw,s2n=0xdeadbeefcafe,_xs=(s2n&16777215)==15715070;function Ke(e,t){e!=null&&(typeof e=="number"?this.fromNumber(e,t):Buffer.isBuffer(e)?this.fromBuffer(e):t==null&&typeof e!="string"?this.fromByteArray(e):this.fromString(e,t))}function ln(){return new Ke(null)}function i2n(e,t,r,n,s,i){for(var a=t&16383,o=t>>14;--i>=0;){var c=this[e]&16383,u=this[e++]>>14,l=o*c+u*a;c=a*c+((l&16383)<<14)+r[n]+s,s=(c>>28)+(l>>14)+o*u,r[n++]=c&268435455}return s}Ke.prototype.am=i2n;jw=28;Ke.prototype.DB=jw;Ke.prototype.DM=(1<=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s}function c2n(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+DV:this.t=0}function hy(e){var t=ln();return t.fromInt(e),t}function u2n(e,t,r){var n;switch(t){case 2:n=1;break;case 4:n=2;break;case 8:n=3;break;case 16:n=4;break;case 32:n=5;break;case 256:n=8;break;default:this.fromRadix(e,t);return}this.t=0,this.s=0;for(var s=e.length,i=!1,a=0;--s>=0;){var o=n==8?e[s]&255:zGt(e,s);if(o<0){e.charAt(s)=="-"&&(i=!0);continue}i=!1,a===0?this[this.t++]=o:a+n>this.DB?(this[this.t-1]|=(o&(1<>this.DB-a):this[this.t-1]|=o<=this.DB&&(a-=this.DB)}!r&&n==8&&e[0]&128&&(this.s=-1,a>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==e;)--this.t}function h2n(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<0)for(o>o)>0&&(s=!0,i=lPe(n));a>=0;)o>(o+=this.DB-t)):(n=this[a]>>(o-=t)&r,o<=0&&(o+=this.DB,--a)),n>0&&(s=!0),s&&(i+=lPe(n));return s?i:"0"}function p2n(){var e=ln();return Ke.ZERO.subTo(this,e),e}function m2n(){return this.s<0?this.negate():this}function g2n(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this[r]-e[r])!=0)return t;return 0}function aW(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function _2n(){return this.t<=0?0:this.DB*(this.t-1)+aW(this[this.t-1]^this.s&this.DM)}function A2n(e,t){var r;for(r=this.t-1;r>=0;--r)t[r+e]=this[r];for(r=e-1;r>=0;--r)t[r]=0;t.t=this.t+e,t.s=this.s}function E2n(e,t){for(var r=e;r=0;--o)t[o+i+1]=this[o]>>n|a,a=(this[o]&s)<=0;--o)t[o]=0;t[i]=a,t.t=this.t+i+1,t.s=this.s,t.clamp()}function v2n(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,s=this.DB-n,i=(1<>n;for(var a=r+1;a>n;n>0&&(t[this.t-r-1]|=(this.s&i)<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t[r++]=this.DV+n:n>0&&(t[r++]=n),t.t=r,t.clamp()}function T2n(e,t){var r=this.abs(),n=e.abs(),s=r.t;for(t.t=s+n.t;--s>=0;)t[s]=0;for(s=0;s=0;)e[r]=0;for(r=0;r=t.DV&&(e[r+t.t]-=t.DV,e[r+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(r,t[r],e,2*r,0,1)),e.s=0,e.clamp()}function I2n(e,t,r){var n=e.abs();if(!(n.t<=0)){var s=this.abs();if(s.t0?(n.lShiftTo(c,i),s.lShiftTo(c,r)):(n.copyTo(i),s.copyTo(r));var u=i.t,l=i[u-1];if(l!==0){var d=l*(1<1?i[u-2]>>this.F2:0),f=this.FV/d,h=(1<=0&&(r[r.t++]=1,r.subTo(_,r)),Ke.ONE.dlShiftTo(u,_),_.subTo(i,i);i.t=0;){var y=r[--m]==l?this.DM:Math.floor(r[m]*f+(r[m-1]+p)*h);if((r[m]+=i.am(0,y,r,g,0,u))0&&r.rShiftTo(c,r),a<0&&Ke.ZERO.subTo(r,r)}}}function R2n(e){var t=ln();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(Ke.ZERO)>0&&e.subTo(t,t),t}function Eb(e){this.m=e}function C2n(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function x2n(e){return e}function w2n(e){e.divRemTo(this.m,null,e)}function N2n(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function O2n(e,t){e.squareTo(t),this.reduce(t)}Eb.prototype.convert=C2n;Eb.prototype.revert=x2n;Eb.prototype.reduce=w2n;Eb.prototype.mulTo=N2n;Eb.prototype.sqrTo=O2n;function D2n(){if(this.t<1)return 0;var e=this[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function yb(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(t,t),t}function L2n(e){var t=ln();return e.copyTo(t),this.reduce(t),t}function M2n(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e[r]+=this.m.am(0,n,e,t,0,this.m.t);e[r]>=e.DV;)e[r]-=e.DV,e[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function k2n(e,t){e.squareTo(t),this.reduce(t)}function B2n(e,t,r){e.multiplyTo(t,r),this.reduce(r)}yb.prototype.convert=P2n;yb.prototype.revert=L2n;yb.prototype.reduce=M2n;yb.prototype.mulTo=B2n;yb.prototype.sqrTo=k2n;function U2n(){return(this.t>0?this[0]&1:this.s)===0}function F2n(e,t){if(e>4294967295||e<1)return Ke.ONE;var r=ln(),n=ln(),s=t.convert(this),i=aW(e)-1;for(s.copyTo(r);--i>=0;)if(t.sqrTo(r,n),(e&1<0)t.mulTo(n,s,r);else{var a=r;r=n,n=a}return t.revert(r)}function $2n(e,t){var r;return e<256||t.isEven()?r=new Eb(t):r=new yb(t),this.exp(e,r)}function q2n(){var e=ln();return this.copyTo(e),e}function H2n(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t===0)return-1}else{if(this.t==1)return this[0];if(this.t===0)return 0}return(this[1]&(1<<32-this.DB)-1)<>24}function j2n(){return this.t==0?this.s:this[0]<<16>>16}function K2n(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function G2n(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function Y2n(e){if(e==null&&(e=10),this.signum()===0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=hy(r),s=ln(),i=ln(),a="";for(this.divRemTo(n,s,i);s.signum()>0;)a=(r+i.intValue()).toString(e).substr(1)+a,s.divRemTo(n,s,i);return i.intValue().toString(e)+a}function Q2n(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),s=!1,i=0,a=0,o=0;o=r&&(this.dMultiply(n),this.dAddOffset(a,0),i=0,a=0)}i>0&&(this.dMultiply(Math.pow(t,i)),this.dAddOffset(a,0)),s&&Ke.ZERO.subTo(this,this)}function z2n(e,t){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e),this.testBit(e-1)||this.bitwiseTo(Ke.ONE.shiftLeft(e-1),fPe,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(Ke.ONE.shiftLeft(e-1),this);else{var r=r2n.randomBytes((e>>3)+1),n=e&7;n>0?r[0]&=(1<0)for(r>r)!=(this.s&this.DM)>>r&&(t[s++]=n|this.s<=0;)r<8?(n=(this[e]&(1<>(r+=this.DB-8)):(n=this[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),s===0&&(this.s&128)!=(n&128)&&++s,(s>0||n!=this.s)&&(t[s++]=n);return t}function X2n(e){var t=Buffer.from(this.toByteArray());if(e===!0&&t[0]===0)t=t.slice(1);else if(n2n.isNumber(e)){if(t.length>e){for(var r=0;r0?this:e}function tPn(e,t,r){var n,s,i=Math.min(e.t,this.t);for(n=0;n>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function dPn(){for(var e=0;e=this.t?this.s!=0:(this[t]&1<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t[r++]=n:n<-1&&(t[r++]=this.DV+n),t.t=r,t.clamp()}function yPn(e){var t=ln();return this.addTo(e,t),t}function vPn(e){var t=ln();return this.subTo(e,t),t}function SPn(e){var t=ln();return this.multiplyTo(e,t),t}function TPn(){var e=ln();return this.squareTo(e),e}function bPn(e){var t=ln();return this.divRemTo(e,t,null),t}function IPn(e){var t=ln();return this.divRemTo(e,null,t),t}function RPn(e){var t=ln(),r=ln();return this.divRemTo(e,t,r),new Array(t,r)}function CPn(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function xPn(e,t){if(e!==0){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}}function ZB(){}function JGt(e){return e}function wPn(e,t,r){e.multiplyTo(t,r)}function NPn(e,t){e.squareTo(t)}ZB.prototype.convert=JGt;ZB.prototype.revert=JGt;ZB.prototype.mulTo=wPn;ZB.prototype.sqrTo=NPn;function OPn(e){return this.exp(e,new ZB)}function DPn(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r[--n]=0;var s;for(s=r.t-this.t;n=0;)r[n]=0;for(n=Math.max(t-this.t,0);n2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=ln();return e.copyTo(t),this.reduce(t),t}function MPn(e){return e}function kPn(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function BPn(e,t){e.squareTo(t),this.reduce(t)}function UPn(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Gw.prototype.convert=LPn;Gw.prototype.revert=MPn;Gw.prototype.reduce=kPn;Gw.prototype.mulTo=UPn;Gw.prototype.sqrTo=BPn;function FPn(e,t){var r=e.bitLength(),n,s=hy(1),i;if(r<=0)return s;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?i=new Eb(t):t.isEven()?i=new Gw(t):i=new yb(t);var a=new Array,o=3,c=n-1,u=(1<1){var l=ln();for(i.sqrTo(a[1],l);o<=u;)a[o]=ln(),i.mulTo(l,a[o-2],a[o]),o+=2}var d=e.t-1,f,h=!0,p=ln(),m;for(r=aW(e[d])-1;d>=0;){for(r>=c?f=e[d]>>r-c&u:(f=(e[d]&(1<0&&(f|=e[d-1]>>this.DB+r-c)),o=n;!(f&1);)f>>=1,--o;if((r-=o)<0&&(r+=this.DB,--d),h)a[f].copyTo(s),h=!1;else{for(;o>1;)i.sqrTo(s,p),i.sqrTo(p,s),o-=2;o>0?i.sqrTo(s,p):(m=s,s=p,p=m),i.mulTo(p,a[f],s)}for(;d>=0&&!(e[d]&1<0&&(t.rShiftTo(i,t),r.rShiftTo(i,r));t.signum()>0;)(s=t.getLowestSetBit())>0&&t.rShiftTo(s,t),(s=r.getLowestSetBit())>0&&r.rShiftTo(s,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return i>0&&r.lShiftTo(i,r),r}function qPn(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t===0)r=this[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this[n])%e;return r}function HPn(e){var t=e.isEven();if(this.isEven()&&t||e.signum()===0)return Ke.ZERO;for(var r=e.clone(),n=this.clone(),s=hy(1),i=hy(0),a=hy(0),o=hy(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!s.isEven()||!i.isEven())&&(s.addTo(this,s),i.subTo(e,i)),s.rShiftTo(1,s)):i.isEven()||i.subTo(e,i),i.rShiftTo(1,i);for(;n.isEven();)n.rShiftTo(1,n),t?((!a.isEven()||!o.isEven())&&(a.addTo(this,a),o.subTo(e,o)),a.rShiftTo(1,a)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);r.compareTo(n)>=0?(r.subTo(n,r),t&&s.subTo(a,s),i.subTo(o,i)):(n.subTo(r,n),t&&a.subTo(s,a),o.subTo(i,o))}if(n.compareTo(Ke.ONE)!=0)return Ke.ZERO;if(o.compareTo(e)>=0)return o.subtract(e);if(o.signum()<0)o.addTo(e,o);else return o;return o.signum()<0?o.add(e):o}var su=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],VPn=(1<<26)/su[su.length-1];function jPn(e){var t,r=this.abs();if(r.t==1&&r[0]<=su[su.length-1]){for(t=0;t>1,e>su.length&&(e=su.length);for(var s=ln(),i=0;i{var eYt=vb(),Yw=require("crypto"),oW=require("constants"),GPn={md2:Buffer.from("3020300c06082a864886f70d020205000410","hex"),md5:Buffer.from("3020300c06082a864886f70d020505000410","hex"),sha1:Buffer.from("3021300906052b0e03021a05000414","hex"),sha224:Buffer.from("302d300d06096086480165030402040500041c","hex"),sha256:Buffer.from("3031300d060960864801650304020105000420","hex"),sha384:Buffer.from("3041300d060960864801650304020205000430","hex"),sha512:Buffer.from("3051300d060960864801650304020305000440","hex"),ripemd160:Buffer.from("3021300906052b2403020105000414","hex"),rmd160:Buffer.from("3021300906052b2403020105000414","hex")},tYt={ripemd160:"rmd160"},rYt="sha256";hPe.exports={isEncryption:!0,isSignature:!0};hPe.exports.makeScheme=function(e,t){function r(n,s){this.key=n,this.options=s}return r.prototype.maxMessageLength=function(){return this.options.encryptionSchemeOptions&&this.options.encryptionSchemeOptions.padding==oW.RSA_NO_PADDING?this.key.encryptedDataLength:this.key.encryptedDataLength-11},r.prototype.encPad=function(n,s){s=s||{};var i;if(n.length>this.key.maxMessageLength)throw new Error("Message too long for RSA (n="+this.key.encryptedDataLength+", l="+n.length+")");if(this.options.encryptionSchemeOptions&&this.options.encryptionSchemeOptions.padding==oW.RSA_NO_PADDING)return i=Buffer.alloc(this.key.maxMessageLength-n.length),i.fill(0),Buffer.concat([i,n]);if(s.type===1)return i=Buffer.alloc(this.key.encryptedDataLength-n.length-1),i.fill(255,0,i.length-1),i[0]=1,i[i.length-1]=0,Buffer.concat([i,n]);i=Buffer.alloc(this.key.encryptedDataLength-n.length),i[0]=0,i[1]=2;for(var a=Yw.randomBytes(i.length-3),o=0;o=n.length)return null}else{if(n[0]!==0||n[1]!==2)return null;for(i=3;n[i]!==0;)if(++i>=n.length)return null}return n.slice(i+1,n.length)},r.prototype.sign=function(n){var s=this.options.signingSchemeOptions.hash||rYt;if(this.options.environment==="browser"){s=tYt[s]||s;var i=Yw.createHash(s);i.update(n);var a=this.pkcs1pad(i.digest(),s),o=this.key.$doPrivate(new eYt(a)).toBuffer(this.key.encryptedDataLength);return o}else{var c=Yw.createSign("RSA-"+s.toUpperCase());return c.update(n),c.sign(this.options.rsaUtils.exportKey("private"))}},r.prototype.verify=function(n,s,i){if(this.options.encryptionSchemeOptions&&this.options.encryptionSchemeOptions.padding==oW.RSA_NO_PADDING)return!1;var a=this.options.signingSchemeOptions.hash||rYt;if(this.options.environment==="browser"){a=tYt[a]||a,i&&(s=Buffer.from(s,i));var o=Yw.createHash(a);o.update(n);var c=this.pkcs1pad(o.digest(),a),u=this.key.$doPublic(new eYt(s));return u.toBuffer().toString("hex")==c.toString("hex")}else{var l=Yw.createVerify("RSA-"+a.toUpperCase());return l.update(n),l.verify(this.options.rsaUtils.exportKey("public"),s,i)}},r.prototype.pkcs0pad=function(n){var s=Buffer.alloc(this.key.maxMessageLength-n.length);return s.fill(0),Buffer.concat([s,n])},r.prototype.pkcs0unpad=function(n){var s;return typeof n.lastIndexOf=="function"?s=n.slice(n.lastIndexOf("\0")+1,n.length):s=n.slice(String.prototype.lastIndexOf.call(n,"\0")+1,n.length),s},r.prototype.pkcs1pad=function(n,s){var i=GPn[s];if(!i)throw Error("Unsupported hash algorithm");var a=Buffer.concat([i,n]);if(a.length+10>this.key.encryptedDataLength)throw Error("Key is too short for signing algorithm ("+s+")");var o=Buffer.alloc(this.key.encryptedDataLength-a.length-1);o.fill(255,0,o.length-1),o[0]=1,o[o.length-1]=0;var c=Buffer.concat([o,a]);return c},new r(e,t)}});var sYt=S((vxs,D0)=>{var yxs=vb(),cW=require("crypto");D0.exports={isEncryption:!0,isSignature:!1};D0.exports.digestLength={md4:16,md5:16,ripemd160:20,rmd160:20,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64};var uW="sha1";D0.exports.eme_oaep_mgf1=function(e,t,r){r=r||uW;for(var n=D0.exports.digestLength[r],s=Math.ceil(t/n),i=Buffer.alloc(n*s),a=Buffer.alloc(4),o=0;oo-2*c-2)throw new Error("Message is too long to encode into an encoded message with a length of "+o+" bytes, increaseemLen to fix this error (minimum value for given parameters and options: "+(o-2*c-2)+")");var u=cW.createHash(s);u.update(a),u=u.digest();var l=Buffer.alloc(o-n.length-2*c-1);l.fill(0),l[l.length-1]=1;for(var d=Buffer.concat([u,l,n]),f=cW.randomBytes(c),h=i(f,d.length,s),p=0;p{var iYt=vb(),e3=require("crypto");pPe.exports={isEncryption:!1,isSignature:!0};var lW="sha1",aYt=20;pPe.exports.makeScheme=function(e,t){var r=Sb().pkcs1_oaep;function n(s,i){this.key=s,this.options=i}return n.prototype.sign=function(s){var i=e3.createHash(this.options.signingSchemeOptions.hash||lW);i.update(s);var a=this.emsa_pss_encode(i.digest(),this.key.keySize-1);return this.key.$doPrivate(new iYt(a)).toBuffer(this.key.encryptedDataLength)},n.prototype.verify=function(s,i,a){a&&(i=Buffer.from(i,a)),i=new iYt(i);var o=Math.ceil((this.key.keySize-1)/8),c=this.key.$doPublic(i).toBuffer(o),u=e3.createHash(this.options.signingSchemeOptions.hash||lW);return u.update(s),this.emsa_pss_verify(u.digest(),c,this.key.keySize-1)},n.prototype.emsa_pss_encode=function(s,i){var a=this.options.signingSchemeOptions.hash||lW,o=this.options.signingSchemeOptions.mgf||r.eme_oaep_mgf1,c=this.options.signingSchemeOptions.saltLength||aYt,u=r.digestLength[a],l=Math.ceil(i/8);if(l>8-E<<8-E;_[0]=_[0]&A;var v=Buffer.alloc(_.length+h.length+1);return _.copy(v,0),h.copy(v,_.length),v[v.length-1]=188,v},n.prototype.emsa_pss_verify=function(s,i,a){var o=this.options.signingSchemeOptions.hash||lW,c=this.options.signingSchemeOptions.mgf||r.eme_oaep_mgf1,u=this.options.signingSchemeOptions.saltLength||aYt,l=r.digestLength[o],d=Math.ceil(a/8);if(d>8-m<<8-m,f[0]=f[0]&h,p=0;f[p]===0&&p{Qw.exports={pkcs1:nYt(),pkcs1_oaep:sYt(),pss:oYt(),isEncryption:function(e){return Qw.exports[e]&&Qw.exports[e].isEncryption},isSignature:function(e){return Qw.exports[e]&&Qw.exports[e].isSignature}}});var gPe=S((bxs,cYt)=>{var mPe=vb(),YPn=Sb();cYt.exports=function(e,t){var r=YPn.pkcs1.makeScheme(e,t);return{encrypt:function(n,s){var i,a;return s?(i=new mPe(r.encPad(n,{type:1})),a=e.$doPrivate(i)):(i=new mPe(e.encryptionScheme.encPad(n)),a=e.$doPublic(i)),a.toBuffer(e.encryptedDataLength)},decrypt:function(n,s){var i,a=new mPe(n);return s?(i=e.$doPublic(a),r.encUnPad(i.toBuffer(e.encryptedDataLength),{type:1})):(i=e.$doPrivate(a),e.encryptionScheme.encUnPad(i.toBuffer(e.encryptedDataLength)))}}}});var lYt=S((Ixs,uYt)=>{var dW=require("crypto"),py=require("constants"),QPn=Sb();uYt.exports=function(e,t){var r=QPn.pkcs1.makeScheme(e,t);return{encrypt:function(n,s){var i;if(s)return i=py.RSA_PKCS1_PADDING,t.encryptionSchemeOptions&&t.encryptionSchemeOptions.padding&&(i=t.encryptionSchemeOptions.padding),dW.privateEncrypt({key:t.rsaUtils.exportKey("private"),padding:i},n);i=py.RSA_PKCS1_OAEP_PADDING,t.encryptionScheme==="pkcs1"&&(i=py.RSA_PKCS1_PADDING),t.encryptionSchemeOptions&&t.encryptionSchemeOptions.padding&&(i=t.encryptionSchemeOptions.padding);var a=n;return i===py.RSA_NO_PADDING&&(a=r.pkcs0pad(n)),dW.publicEncrypt({key:t.rsaUtils.exportKey("public"),padding:i},a)},decrypt:function(n,s){var i;if(s)return i=py.RSA_PKCS1_PADDING,t.encryptionSchemeOptions&&t.encryptionSchemeOptions.padding&&(i=t.encryptionSchemeOptions.padding),dW.publicDecrypt({key:t.rsaUtils.exportKey("public"),padding:i},n);i=py.RSA_PKCS1_OAEP_PADDING,t.encryptionScheme==="pkcs1"&&(i=py.RSA_PKCS1_PADDING),t.encryptionSchemeOptions&&t.encryptionSchemeOptions.padding&&(i=t.encryptionSchemeOptions.padding);var a=dW.privateDecrypt({key:t.rsaUtils.exportKey("private"),padding:i},n);return i===py.RSA_NO_PADDING?r.pkcs0unpad(a):a}}}});var hYt=S((Rxs,fYt)=>{var dYt=require("crypto"),zw=require("constants"),zPn=Sb();fYt.exports=function(e,t){var r=gPe()(e,t),n=zPn.pkcs1.makeScheme(e,t);return{encrypt:function(s,i){if(i)return r.encrypt(s,i);var a=zw.RSA_PKCS1_OAEP_PADDING;t.encryptionScheme==="pkcs1"&&(a=zw.RSA_PKCS1_PADDING),t.encryptionSchemeOptions&&t.encryptionSchemeOptions.padding&&(a=t.encryptionSchemeOptions.padding);var o=s;return a===zw.RSA_NO_PADDING&&(o=n.pkcs0pad(s)),dYt.publicEncrypt({key:t.rsaUtils.exportKey("public"),padding:a},o)},decrypt:function(s,i){if(i)return r.decrypt(s,i);var a=zw.RSA_PKCS1_OAEP_PADDING;t.encryptionScheme==="pkcs1"&&(a=zw.RSA_PKCS1_PADDING),t.encryptionSchemeOptions&&t.encryptionSchemeOptions.padding&&(a=t.encryptionSchemeOptions.padding);var o=dYt.privateDecrypt({key:t.rsaUtils.exportKey("private"),padding:a},s);return a===zw.RSA_NO_PADDING?n.pkcs0unpad(o):o}}}});var mYt=S((Cxs,pYt)=>{var fW=require("crypto");pYt.exports={getEngine:function(e,t){var r=gPe();return t.environment==="node"&&typeof fW.publicEncrypt=="function"&&typeof fW.privateDecrypt=="function"&&(typeof fW.privateEncrypt=="function"&&typeof fW.publicDecrypt=="function"?r=lYt():r=hYt()),r(e,t)}}});var yYt=S((AYt,EYt)=>{var hW=nu()._,xxs=require("crypto"),Ea=vb(),gYt=nu(),_Yt=Sb(),WPn=mYt();AYt.BigInteger=Ea;EYt.exports.Key=function(){function e(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}return e.prototype.setOptions=function(t){var r=_Yt[t.signingScheme],n=_Yt[t.encryptionScheme];r===n?this.signingScheme=this.encryptionScheme=n.makeScheme(this,t):(this.encryptionScheme=n.makeScheme(this,t),this.signingScheme=r.makeScheme(this,t)),this.encryptEngine=WPn.getEngine(this,t)},e.prototype.generate=function(t,r){var n=t>>1;this.e=parseInt(r,16);for(var s=new Ea(r,16);;){for(;this.p=new Ea(t-n,1),!(this.p.subtract(Ea.ONE).gcd(s).compareTo(Ea.ONE)===0&&this.p.isProbablePrime(10)););for(;this.q=new Ea(n,1),!(this.q.subtract(Ea.ONE).gcd(s).compareTo(Ea.ONE)===0&&this.q.isProbablePrime(10)););if(this.p.compareTo(this.q)<=0){var i=this.p;this.p=this.q,this.q=i}var a=this.p.subtract(Ea.ONE),o=this.q.subtract(Ea.ONE),c=a.multiply(o);if(c.gcd(s).compareTo(Ea.ONE)===0){if(this.n=this.p.multiply(this.q),this.n.bitLength()0&&(hW.isNumber(r)||r.length>0)&&n.length>0)this.n=new Ea(t),this.e=hW.isNumber(r)?r:gYt.get32IntFromBuffer(r,0),this.d=new Ea(n),s&&i&&a&&o&&c&&(this.p=new Ea(s),this.q=new Ea(i),this.dmp1=new Ea(a),this.dmq1=new Ea(o),this.coeff=new Ea(c)),this.$$recalculateCache();else throw Error("Invalid RSA private key")},e.prototype.setPublic=function(t,r){if(t&&r&&t.length>0&&(hW.isNumber(r)||r.length>0))this.n=new Ea(t),this.e=hW.isNumber(r)?r:gYt.get32IntFromBuffer(r,0),this.$$recalculateCache();else throw Error("Invalid RSA public key")},e.prototype.$doPrivate=function(t){if(this.p||this.q)return t.modPow(this.d,this.n);for(var r=t.mod(this.p).modPow(this.dmp1,this.p),n=t.mod(this.q).modPow(this.dmq1,this.q);r.compareTo(n)<0;)r=r.add(this.p);return r.subtract(n).multiply(this.coeff).mod(this.p).multiply(this.q).add(n)},e.prototype.$doPublic=function(t){return t.modPowInt(this.e,this.n)},e.prototype.encrypt=function(t,r){var n=[],s=[],i=t.length,a=Math.ceil(i/this.maxMessageLength)||1,o=Math.ceil(i/a||1);if(a==1)n.push(t);else for(var c=0;c0)throw Error("Incorrect data or key");for(var n=[],s=0,i=0,a=t.length/this.encryptedDataLength,o=0;o>3},e}()});var pW=S((wxs,vYt)=>{vYt.exports={newInvalidAsn1Error:function(e){var t=new Error;return t.name="InvalidAsn1Error",t.message=e||"",t}}});var mW=S((Nxs,SYt)=>{SYt.exports={EOC:0,Boolean:1,Integer:2,BitString:3,OctetString:4,Null:5,OID:6,ObjectDescriptor:7,External:8,Real:9,Enumeration:10,PDV:11,Utf8String:12,RelativeOID:13,Sequence:16,Set:17,NumericString:18,PrintableString:19,T61String:20,VideotexString:21,IA5String:22,UTCTime:23,GeneralizedTime:24,GraphicString:25,VisibleString:26,GeneralString:28,UniversalString:29,CharacterString:30,BMPString:31,Constructor:32,Context:128}});var IYt=S((Oxs,bYt)=>{var XPn=require("assert"),TYt=r0().Buffer,t3=mW(),JPn=pW(),Ww=JPn.newInvalidAsn1Error;function iu(e){if(!e||!TYt.isBuffer(e))throw new TypeError("data must be a node Buffer");this._buf=e,this._size=e.length,this._len=0,this._offset=0}Object.defineProperty(iu.prototype,"length",{enumerable:!0,get:function(){return this._len}});Object.defineProperty(iu.prototype,"offset",{enumerable:!0,get:function(){return this._offset}});Object.defineProperty(iu.prototype,"remain",{get:function(){return this._size-this._offset}});Object.defineProperty(iu.prototype,"buffer",{get:function(){return this._buf.slice(this._offset)}});iu.prototype.readByte=function(e){if(this._size-this._offset<1)return null;var t=this._buf[this._offset]&255;return e||(this._offset+=1),t};iu.prototype.peek=function(){return this.readByte(!0)};iu.prototype.readLength=function(e){if(e===void 0&&(e=this._offset),e>=this._size)return null;var t=this._buf[e++]&255;if(t===null)return null;if((t&128)===128){if(t&=127,t===0)throw Ww("Indefinite length not supported");if(t>4)throw Ww("encoding too long");if(this._size-ethis._size-n)return null;if(this._offset=n,this.length===0)return t?TYt.alloc(0):"";var s=this._buf.slice(this._offset,this._offset+this.length);return this._offset+=this.length,t?s:s.toString("utf8")};iu.prototype.readOID=function(e){e||(e=t3.OID);var t=this.readString(e,!0);if(t===null)return null;for(var r=[],n=0,s=0;s>0),r.join(".")};iu.prototype._readTag=function(e){XPn.ok(e!==void 0);var t=this.peek();if(t===null)return null;if(t!==e)throw Ww("Expected 0x"+e.toString(16)+": got 0x"+t.toString(16));var r=this.readLength(this._offset+1);if(r===null)return null;if(this.length>4)throw Ww("Integer too long: "+this.length);if(this.length>this._size-r)return null;this._offset=r;for(var n=this._buf[this._offset],s=0,i=0;i>0};bYt.exports=iu});var CYt=S((Dxs,RYt)=>{var my=require("assert"),gW=r0().Buffer,gy=mW(),ZPn=pW(),_W=ZPn.newInvalidAsn1Error,eLn={size:1024,growthFactor:8};function tLn(e,t){my.ok(e),my.equal(typeof e,"object"),my.ok(t),my.equal(typeof t,"object");var r=Object.getOwnPropertyNames(e);return r.forEach(function(n){if(!t[n]){var s=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,s)}}),t}function Sc(e){e=tLn(eLn,e||{}),this._buf=gW.alloc(e.size||1024),this._size=this._buf.length,this._offset=0,this._options=e,this._seq=[]}Object.defineProperty(Sc.prototype,"buffer",{get:function(){if(this._seq.length)throw _W(this._seq.length+" unended sequence(s)");return this._buf.slice(0,this._offset)}});Sc.prototype.writeByte=function(e){if(typeof e!="number")throw new TypeError("argument must be a Number");this._ensure(1),this._buf[this._offset++]=e};Sc.prototype.writeInt=function(e,t){if(typeof e!="number")throw new TypeError("argument must be a Number");typeof t!="number"&&(t=gy.Integer);for(var r=4;(!(e&4286578688)||(e&4286578688)===-8388608)&&r>1;)r--,e<<=8;if(r>4)throw _W("BER ints cannot be > 0xffffffff");for(this._ensure(2+r),this._buf[this._offset++]=t,this._buf[this._offset++]=r;r-- >0;)this._buf[this._offset++]=(e&4278190080)>>>24,e<<=8};Sc.prototype.writeNull=function(){this.writeByte(gy.Null),this.writeByte(0)};Sc.prototype.writeEnumeration=function(e,t){if(typeof e!="number")throw new TypeError("argument must be a Number");return typeof t!="number"&&(t=gy.Enumeration),this.writeInt(e,t)};Sc.prototype.writeBoolean=function(e,t){if(typeof e!="boolean")throw new TypeError("argument must be a Boolean");typeof t!="number"&&(t=gy.Boolean),this._ensure(3),this._buf[this._offset++]=t,this._buf[this._offset++]=1,this._buf[this._offset++]=e?255:0};Sc.prototype.writeString=function(e,t){if(typeof e!="string")throw new TypeError("argument must be a string (was: "+typeof e+")");typeof t!="number"&&(t=gy.OctetString);var r=gW.byteLength(e);this.writeByte(t),this.writeLength(r),r&&(this._ensure(r),this._buf.write(e,this._offset),this._offset+=r)};Sc.prototype.writeBuffer=function(e,t){if(typeof t!="number")throw new TypeError("tag must be a number");if(!gW.isBuffer(e))throw new TypeError("argument must be a buffer");this.writeByte(t),this.writeLength(e.length),this._ensure(e.length),e.copy(this._buf,this._offset,0,e.length),this._offset+=e.length};Sc.prototype.writeStringArray=function(e){if(!e instanceof Array)throw new TypeError("argument must be an Array[String]");var t=this;e.forEach(function(r){t.writeString(r)})};Sc.prototype.writeOID=function(e,t){if(typeof e!="string")throw new TypeError("argument must be a string");if(typeof t!="number"&&(t=gy.OID),!/^([0-9]+\.){3,}[0-9]+$/.test(e))throw new Error("argument is not a valid OID string");function r(a,o){o<128?a.push(o):o<16384?(a.push(o>>>7|128),a.push(o&127)):o<2097152?(a.push(o>>>14|128),a.push((o>>>7|128)&255),a.push(o&127)):o<268435456?(a.push(o>>>21|128),a.push((o>>>14|128)&255),a.push((o>>>7|128)&255),a.push(o&127)):(a.push((o>>>28|128)&255),a.push((o>>>21|128)&255),a.push((o>>>14|128)&255),a.push((o>>>7|128)&255),a.push(o&127))}var n=e.split("."),s=[];s.push(parseInt(n[0],10)*40+parseInt(n[1],10)),n.slice(2).forEach(function(a){r(s,parseInt(a,10))});var i=this;this._ensure(2+s.length),this.writeByte(t),this.writeLength(s.length),s.forEach(function(a){i.writeByte(a)})};Sc.prototype.writeLength=function(e){if(typeof e!="number")throw new TypeError("argument must be a Number");if(this._ensure(4),e<=127)this._buf[this._offset++]=e;else if(e<=255)this._buf[this._offset++]=129,this._buf[this._offset++]=e;else if(e<=65535)this._buf[this._offset++]=130,this._buf[this._offset++]=e>>8,this._buf[this._offset++]=e;else if(e<=16777215)this._buf[this._offset++]=131,this._buf[this._offset++]=e>>16,this._buf[this._offset++]=e>>8,this._buf[this._offset++]=e;else throw _W("Length too long (> 4 bytes)")};Sc.prototype.startSequence=function(e){typeof e!="number"&&(e=gy.Sequence|gy.Constructor),this.writeByte(e),this._seq.push(this._offset),this._ensure(3),this._offset+=3};Sc.prototype.endSequence=function(){var e=this._seq.pop(),t=e+3,r=this._offset-t;if(r<=127)this._shift(t,r,-2),this._buf[e]=r;else if(r<=255)this._shift(t,r,-1),this._buf[e]=129,this._buf[e+1]=r;else if(r<=65535)this._buf[e]=130,this._buf[e+1]=r>>8,this._buf[e+2]=r;else if(r<=16777215)this._shift(t,r,1),this._buf[e]=131,this._buf[e+1]=r>>16,this._buf[e+2]=r>>8,this._buf[e+3]=r;else throw _W("Sequence too long")};Sc.prototype._shift=function(e,t,r){my.ok(e!==void 0),my.ok(t!==void 0),my.ok(r),this._buf.copy(this._buf,e+r,e,e+t),this._offset+=r};Sc.prototype._ensure=function(e){if(my.ok(e),this._size-this._offset{var _Pe=pW(),APe=mW(),rLn=IYt(),nLn=CYt();yW.exports={Reader:rLn,Writer:nLn};for(AW in APe)APe.hasOwnProperty(AW)&&(yW.exports[AW]=APe[AW]);var AW;for(EW in _Pe)_Pe.hasOwnProperty(EW)&&(yW.exports[EW]=_Pe[EW]);var EW});var vW=S((Lxs,wYt)=>{var EPe=xYt();wYt.exports={Ber:EPe,BerReader:EPe.Reader,BerWriter:EPe.Writer}});var MYt=S((Mxs,bW)=>{var SW=vW().Ber,NYt=nu()._,TW=nu(),OYt="-----BEGIN RSA PRIVATE KEY-----",DYt="-----END RSA PRIVATE KEY-----",PYt="-----BEGIN RSA PUBLIC KEY-----",LYt="-----END RSA PUBLIC KEY-----";bW.exports={privateExport:function(e,t){t=t||{};var r=e.n.toBuffer(),n=e.d.toBuffer(),s=e.p.toBuffer(),i=e.q.toBuffer(),a=e.dmp1.toBuffer(),o=e.dmq1.toBuffer(),c=e.coeff.toBuffer(),u=r.length+n.length+s.length+i.length+a.length+o.length+c.length+512,l=new SW.Writer({size:u});return l.startSequence(),l.writeInt(0),l.writeBuffer(r,2),l.writeInt(e.e),l.writeBuffer(n,2),l.writeBuffer(s,2),l.writeBuffer(i,2),l.writeBuffer(a,2),l.writeBuffer(o,2),l.writeBuffer(c,2),l.endSequence(),t.type==="der"?l.buffer:OYt+` +`+TW.linebrk(l.buffer.toString("base64"),64)+` +`+DYt},privateImport:function(e,t,r){r=r||{};var n;if(r.type!=="der")if(Buffer.isBuffer(t)&&(t=t.toString("utf8")),NYt.isString(t)){var s=TW.trimSurroundingText(t,OYt,DYt).replace(/\s+|\n\r|\n|\r$/gm,"");n=Buffer.from(s,"base64")}else throw Error("Unsupported key format");else if(Buffer.isBuffer(t))n=t;else throw Error("Unsupported key format");var i=new SW.Reader(n);i.readSequence(),i.readString(2,!0),e.setPrivate(i.readString(2,!0),i.readString(2,!0),i.readString(2,!0),i.readString(2,!0),i.readString(2,!0),i.readString(2,!0),i.readString(2,!0),i.readString(2,!0))},publicExport:function(e,t){t=t||{};var r=e.n.toBuffer(),n=r.length+512,s=new SW.Writer({size:n});return s.startSequence(),s.writeBuffer(r,2),s.writeInt(e.e),s.endSequence(),t.type==="der"?s.buffer:PYt+` +`+TW.linebrk(s.buffer.toString("base64"),64)+` +`+LYt},publicImport:function(e,t,r){r=r||{};var n;if(r.type!=="der"){if(Buffer.isBuffer(t)&&(t=t.toString("utf8")),NYt.isString(t)){var s=TW.trimSurroundingText(t,PYt,LYt).replace(/\s+|\n\r|\n|\r$/gm,"");n=Buffer.from(s,"base64")}}else if(Buffer.isBuffer(t))n=t;else throw Error("Unsupported key format");var i=new SW.Reader(n);i.readSequence(),e.setPublic(i.readString(2,!0),i.readString(2,!0))},autoImport:function(e,t){return/^[\S\s]*-----BEGIN RSA PRIVATE KEY-----\s*(?=(([A-Za-z0-9+/=]+\s*)+))\1-----END RSA PRIVATE KEY-----[\S\s]*$/g.test(t)?(bW.exports.privateImport(e,t),!0):/^[\S\s]*-----BEGIN RSA PUBLIC KEY-----\s*(?=(([A-Za-z0-9+/=]+\s*)+))\1-----END RSA PUBLIC KEY-----[\S\s]*$/g.test(t)?(bW.exports.publicImport(e,t),!0):!1}}});var qYt=S((kxs,CW)=>{var Ip=vW().Ber,kYt=nu()._,IW="1.2.840.113549.1.1.1",RW=nu(),BYt="-----BEGIN PRIVATE KEY-----",UYt="-----END PRIVATE KEY-----",FYt="-----BEGIN PUBLIC KEY-----",$Yt="-----END PUBLIC KEY-----";CW.exports={privateExport:function(e,t){t=t||{};var r=e.n.toBuffer(),n=e.d.toBuffer(),s=e.p.toBuffer(),i=e.q.toBuffer(),a=e.dmp1.toBuffer(),o=e.dmq1.toBuffer(),c=e.coeff.toBuffer(),u=r.length+n.length+s.length+i.length+a.length+o.length+c.length+512,l=new Ip.Writer({size:u});l.startSequence(),l.writeInt(0),l.writeBuffer(r,2),l.writeInt(e.e),l.writeBuffer(n,2),l.writeBuffer(s,2),l.writeBuffer(i,2),l.writeBuffer(a,2),l.writeBuffer(o,2),l.writeBuffer(c,2),l.endSequence();var d=new Ip.Writer({size:u});return d.startSequence(),d.writeInt(0),d.startSequence(),d.writeOID(IW),d.writeNull(),d.endSequence(),d.writeBuffer(l.buffer,4),d.endSequence(),t.type==="der"?d.buffer:BYt+` +`+RW.linebrk(d.buffer.toString("base64"),64)+` +`+UYt},privateImport:function(e,t,r){r=r||{};var n;if(r.type!=="der")if(Buffer.isBuffer(t)&&(t=t.toString("utf8")),kYt.isString(t)){var s=RW.trimSurroundingText(t,BYt,UYt).replace("-----END PRIVATE KEY-----","").replace(/\s+|\n\r|\n|\r$/gm,"");n=Buffer.from(s,"base64")}else throw Error("Unsupported key format");else if(Buffer.isBuffer(t))n=t;else throw Error("Unsupported key format");var i=new Ip.Reader(n);i.readSequence(),i.readInt(0);var a=new Ip.Reader(i.readString(48,!0));if(a.readOID(6,!0)!==IW)throw Error("Invalid Public key format");var o=new Ip.Reader(i.readString(4,!0));o.readSequence(),o.readString(2,!0),e.setPrivate(o.readString(2,!0),o.readString(2,!0),o.readString(2,!0),o.readString(2,!0),o.readString(2,!0),o.readString(2,!0),o.readString(2,!0),o.readString(2,!0))},publicExport:function(e,t){t=t||{};var r=e.n.toBuffer(),n=r.length+512,s=new Ip.Writer({size:n});s.writeByte(0),s.startSequence(),s.writeBuffer(r,2),s.writeInt(e.e),s.endSequence();var i=new Ip.Writer({size:n});return i.startSequence(),i.startSequence(),i.writeOID(IW),i.writeNull(),i.endSequence(),i.writeBuffer(s.buffer,3),i.endSequence(),t.type==="der"?i.buffer:FYt+` +`+RW.linebrk(i.buffer.toString("base64"),64)+` +`+$Yt},publicImport:function(e,t,r){r=r||{};var n;if(r.type!=="der"){if(Buffer.isBuffer(t)&&(t=t.toString("utf8")),kYt.isString(t)){var s=RW.trimSurroundingText(t,FYt,$Yt).replace(/\s+|\n\r|\n|\r$/gm,"");n=Buffer.from(s,"base64")}}else if(Buffer.isBuffer(t))n=t;else throw Error("Unsupported key format");var i=new Ip.Reader(n);i.readSequence();var a=new Ip.Reader(i.readString(48,!0));if(a.readOID(6,!0)!==IW)throw Error("Invalid Public key format");var o=new Ip.Reader(i.readString(3,!0));o.readByte(),o.readSequence(),e.setPublic(o.readString(2,!0),o.readString(2,!0))},autoImport:function(e,t){return/^[\S\s]*-----BEGIN PRIVATE KEY-----\s*(?=(([A-Za-z0-9+/=]+\s*)+))\1-----END PRIVATE KEY-----[\S\s]*$/g.test(t)?(CW.exports.privateImport(e,t),!0):/^[\S\s]*-----BEGIN PUBLIC KEY-----\s*(?=(([A-Za-z0-9+/=]+\s*)+))\1-----END PUBLIC KEY-----[\S\s]*$/g.test(t)?(CW.exports.publicImport(e,t),!0):!1}}});var HYt=S((Fxs,xW)=>{var Bxs=nu()._,Uxs=nu();xW.exports={privateExport:function(e,t){return{n:e.n.toBuffer(),e:e.e,d:e.d.toBuffer(),p:e.p.toBuffer(),q:e.q.toBuffer(),dmp1:e.dmp1.toBuffer(),dmq1:e.dmq1.toBuffer(),coeff:e.coeff.toBuffer()}},privateImport:function(e,t,r){if(t.n&&t.e&&t.d&&t.p&&t.q&&t.dmp1&&t.dmq1&&t.coeff)e.setPrivate(t.n,t.e,t.d,t.p,t.q,t.dmp1,t.dmq1,t.coeff);else throw Error("Invalid key data")},publicExport:function(e,t){return{n:e.n.toBuffer(),e:e.e}},publicImport:function(e,t,r){if(t.n&&t.e)e.setPublic(t.n,t.e);else throw Error("Invalid key data")},autoImport:function(e,t){return t.n&&t.e?t.d&&t.p&&t.q&&t.dmp1&&t.dmq1&&t.coeff?(xW.exports.privateImport(e,t),!0):(xW.exports.publicImport(e,t),!0):!1}}});var YYt=S(($xs,wW)=>{var VYt=nu()._,jYt=nu(),r3=vb(),KYt="-----BEGIN OPENSSH PRIVATE KEY-----",GYt="-----END OPENSSH PRIVATE KEY-----";wW.exports={privateExport:function(e,t){let r=e.n.toBuffer(),n=Buffer.alloc(4);for(n.writeUInt32BE(e.e,0);n[0]===0;)n=n.slice(1);let s=e.d.toBuffer(),i=e.coeff.toBuffer(),a=e.p.toBuffer(),o=e.q.toBuffer(),c;typeof e.sshcomment<"u"?c=Buffer.from(e.sshcomment):c=Buffer.from([]);let u=15+n.byteLength+4+r.byteLength,l=23+r.byteLength+4+n.byteLength+4+s.byteLength+4+i.byteLength+4+a.byteLength+4+o.byteLength+4+c.byteLength,d=43+u+4+l,f=Math.ceil(l/8)*8-l;d+=f;let h=Buffer.alloc(d),p={buf:h,off:0};h.write("openssh-key-v1","utf8"),h.writeUInt8(0,14),p.off+=15,Co(p,Buffer.from("none")),Co(p,Buffer.from("none")),Co(p,Buffer.from("")),p.off=p.buf.writeUInt32BE(1,p.off),p.off=p.buf.writeUInt32BE(u,p.off),Co(p,Buffer.from("ssh-rsa")),Co(p,n),Co(p,r),p.off=p.buf.writeUInt32BE(d-47-u,p.off),p.off+=8,Co(p,Buffer.from("ssh-rsa")),Co(p,r),Co(p,n),Co(p,s),Co(p,i),Co(p,a),Co(p,o),Co(p,c);let m=1;for(;p.off{var qxs=nu()._;function QYt(e){e=e.split("-");for(var t="private",r={type:"default"},n=1;n{var WYt=require("constants"),sLn=yYt(),Vxs=require("crypto"),jxs=vW().Ber,Yl=nu()._,iLn=nu(),XYt=Sb(),JYt=zYt();typeof WYt.RSA_NO_PADDING>"u"&&(WYt.RSA_NO_PADDING=3);ZYt.exports=function(){var e={node10:["md4","md5","ripemd160","sha1","sha224","sha256","sha384","sha512"],node:["md4","md5","ripemd160","sha1","sha224","sha256","sha384","sha512"],iojs:["md4","md5","ripemd160","sha1","sha224","sha256","sha384","sha512"],browser:["md5","ripemd160","sha1","sha256","sha512"]},t="pkcs1_oaep",r="pkcs1",n="private",s={private:"pkcs1-private-pem","private-der":"pkcs1-private-der",public:"pkcs8-public-pem","public-der":"pkcs8-public-der"};function i(a,o,c){if(!(this instanceof i))return new i(a,o,c);Yl.isObject(o)&&(c=o,o=void 0),this.$options={signingScheme:r,signingSchemeOptions:{hash:"sha256",saltLength:null},encryptionScheme:t,encryptionSchemeOptions:{hash:"sha1",label:null},environment:iLn.detectEnvironment(),rsaUtils:this},this.keyPair=new sLn.Key,this.$cache={},Buffer.isBuffer(a)||Yl.isString(a)?this.importKey(a,o):Yl.isObject(a)&&this.generateKeyPair(a.b,a.e),this.setOptions(c)}return i.prototype.setOptions=function(a){if(a=a||{},a.environment&&(this.$options.environment=a.environment),a.signingScheme){if(Yl.isString(a.signingScheme)){var o=a.signingScheme.toLowerCase().split("-");o.length==1?e.node.indexOf(o[0])>-1?(this.$options.signingSchemeOptions={hash:o[0]},this.$options.signingScheme=r):(this.$options.signingScheme=o[0],this.$options.signingSchemeOptions={hash:null}):(this.$options.signingSchemeOptions={hash:o[1]},this.$options.signingScheme=o[0])}else Yl.isObject(a.signingScheme)&&(this.$options.signingScheme=a.signingScheme.scheme||r,this.$options.signingSchemeOptions=Yl.omit(a.signingScheme,"scheme"));if(!XYt.isSignature(this.$options.signingScheme))throw Error("Unsupported signing scheme");if(this.$options.signingSchemeOptions.hash&&e[this.$options.environment].indexOf(this.$options.signingSchemeOptions.hash)===-1)throw Error("Unsupported hashing algorithm for "+this.$options.environment+" environment")}if(a.encryptionScheme){if(Yl.isString(a.encryptionScheme)?(this.$options.encryptionScheme=a.encryptionScheme.toLowerCase(),this.$options.encryptionSchemeOptions={}):Yl.isObject(a.encryptionScheme)&&(this.$options.encryptionScheme=a.encryptionScheme.scheme||t,this.$options.encryptionSchemeOptions=Yl.omit(a.encryptionScheme,"scheme")),!XYt.isEncryption(this.$options.encryptionScheme))throw Error("Unsupported encryption scheme");if(this.$options.encryptionSchemeOptions.hash&&e[this.$options.environment].indexOf(this.$options.encryptionSchemeOptions.hash)===-1)throw Error("Unsupported hashing algorithm for "+this.$options.environment+" environment")}this.keyPair.setOptions(this.$options)},i.prototype.generateKeyPair=function(a,o){if(a=a||2048,o=o||65537,a%8!==0)throw Error("Key size must be a multiple of 8.");return this.keyPair.generate(a,o.toString(16)),this.$cache={},this},i.prototype.importKey=function(a,o){if(!a)throw Error("Empty key given");if(o&&(o=s[o]||o),!JYt.detectAndImport(this.keyPair,a,o)&&o===void 0)throw Error("Key format must be specified");return this.$cache={},this},i.prototype.exportKey=function(a){return a=a||n,a=s[a]||a,this.$cache[a]||(this.$cache[a]=JYt.detectAndExport(this.keyPair,a)),this.$cache[a]},i.prototype.isPrivate=function(){return this.keyPair.isPrivate()},i.prototype.isPublic=function(a){return this.keyPair.isPublic(a)},i.prototype.isEmpty=function(a){return!(this.keyPair.n||this.keyPair.e||this.keyPair.d)},i.prototype.encrypt=function(a,o,c){return this.$$encryptKey(!1,a,o,c)},i.prototype.decrypt=function(a,o){return this.$$decryptKey(!1,a,o)},i.prototype.encryptPrivate=function(a,o,c){return this.$$encryptKey(!0,a,o,c)},i.prototype.decryptPublic=function(a,o){return this.$$decryptKey(!0,a,o)},i.prototype.$$encryptKey=function(a,o,c,u){try{var l=this.keyPair.encrypt(this.$getDataForEncrypt(o,u),a);return c=="buffer"||!c?l:l.toString(c)}catch(d){throw Error("Error during encryption. Original error: "+d)}},i.prototype.$$decryptKey=function(a,o,c){try{o=Yl.isString(o)?Buffer.from(o,"base64"):o;var u=this.keyPair.decrypt(o,a);if(u===null)throw Error("Key decrypt method returns null.");return this.$getDecryptedData(u,c)}catch(l){throw Error("Error during decryption (probably incorrect key). Original error: "+l)}},i.prototype.sign=function(a,o,c){if(!this.isPrivate())throw Error("This is not private key");var u=this.keyPair.sign(this.$getDataForEncrypt(a,c));return o&&o!="buffer"&&(u=u.toString(o)),u},i.prototype.verify=function(a,o,c,u){if(!this.isPublic())throw Error("This is not public key");return u=!u||u=="buffer"?null:u,this.keyPair.verify(this.$getDataForEncrypt(a,c),o,u)},i.prototype.getKeySize=function(){return this.keyPair.keySize},i.prototype.getMaxMessageSize=function(){return this.keyPair.maxMessageLength},i.prototype.$getDataForEncrypt=function(a,o){if(Yl.isString(a)||Yl.isNumber(a))return Buffer.from(""+a,o||"utf8");if(Buffer.isBuffer(a))return a;if(Yl.isObject(a))return Buffer.from(JSON.stringify(a));throw Error("Unexpected data type")},i.prototype.$getDecryptedData=function(a,o){return o=o||"buffer",o=="buffer"?a:o=="json"?JSON.parse(a.toString()):a.toString(o)},i}()});var sQt={};Bt(sQt,{default:()=>ELn});function nQt(e,t={}){return JSON.stringify({id:String(e||"").trim(),meta:t&&typeof t=="object"?t:{}})}function aLn(e){try{let t=JSON.parse(String(e||""));if(t&&typeof t=="object"&&t.id)return{id:String(t.id||"").trim(),meta:t.meta&&typeof t.meta=="object"?t.meta:{}}}catch{}return{id:String(e||"").trim(),meta:{}}}function uLn(e,t){if(!t||typeof t!="object"||Array.isArray(t))return`${e}:${JSON.stringify(t)}`;let r=Object.entries(t).sort(([n],[s])=>n.localeCompare(s));return`${e}:${JSON.stringify(Object.fromEntries(r))}`}function lLn(e){if(!e||typeof e!="object")return[];let t=[];for(let[r,n]of Object.entries(e))n?.param&&t.push({resolution:r,param:n.param,priority:vPe(r)});return t.sort((r,n)=>n.priority-r.priority),t}function vPe(e){if(!e)return 0;let t=e.toLowerCase().replace(/p$/i,"");if(Object.prototype.hasOwnProperty.call(tQt,t))return tQt[t];let r=parseInt(t,10);return isNaN(r)?1:r>=4320?100:r>=2160?90:r>=1440?85:r>=1080?80:r>=720?70:r>=480?50:r>=360?40:30}async function dLn(e){let t=e.server.config?.guazi;return t&&(t.url&&(u_.url=t.url),t.token&&(u_.token=t.token)),{}}async function fLn(){let e=Vr("guazi",arguments[0]||{}),t=jr(e);if(t)return t;let r={class:oLn,filters:cLn};return sn(e,r,Rt.static),r}async function hLn(e){let{id:t,page:r=1,filters:n={}}=e.body,s=await a3.request({area:n.area||"0",year:n.year||"0",pageSize:"30",sort:n.sort||"d_id",page:r.toString(),tid:t},i3.INDEX_LIST,"category");return{list:(s?.list||[]).map(a=>({vod_id:nQt(a.vod_id,{vod_pic:a.vod_pic||"",vod_remarks:(a.vod_continu||0)===0?"\u7535\u5F71":`\u66F4\u65B0\u81F3${a.vod_continu}\u96C6`}),vod_name:a.vod_name||"",vod_pic:a.vod_pic||"",vod_remarks:(a.vod_continu||0)===0?"\u7535\u5F71":`\u66F4\u65B0\u81F3${a.vod_continu}\u96C6`})),page:parseInt(r,10),pagecount:s?.totalPage||9999,limit:30,total:s?.total||999999}}async function pLn(e){let r=(Array.isArray(e.body.id)?e.body.id:[e.body.id]).map(async s=>{if(!s)return null;let i=aLn(s),a=String(i.id||"").trim();if(!a)return null;try{let[o,c]=await Promise.all([a3.request({token_id:"1649412",vod_id:a,mobile_time:Math.floor(Date.now()/1e3).toString(),token:u_.token},i3.PLAY_INFO,"detail"),a3.request({vurl_cloud_id:"2",vod_d_id:a},i3.VURL_SHOW,"detail")]);if(!o?.vodInfo)return null;let u=o.vodInfo,l={vod_id:a,vod_name:u.vod_name||"",vod_pic:i.meta?.vod_pic||u.vod_pic||"",vod_year:u.vod_year||"",vod_area:u.vod_area||"",vod_actor:u.vod_actor||"",vod_director:u.vod_director||"",vod_remarks:i.meta?.vod_remarks||(u.vod_continu?`\u66F4\u65B0\u81F3${u.vod_continu}\u96C6`:""),vod_content:(u.vod_use_content||"").trim(),vod_play_from:"\u55F7\u545C\u8981\u5403\u74DC"},d=[];return c?.list&&c.list.forEach((f,h)=>{let p=lLn(f?.play);if(p.length===0)return;let m=c.list.length===1?u.vod_name||"":(h+1).toString(),g=p[0].param,_=p.map(E=>E.resolution),y=`${g}||${_.join("@")}`;d.push(`${m}$${y}`)}),l.vod_play_url=d.join("#"),l}catch{return null}});return{list:(await Promise.all(r)).filter(s=>s!==null)}}async function mLn(e){let{id:t}=e.body;try{if(!t)return n3;let r=String(t).split("||");if(r.length<2)return n3;let n=r[0],s=r[1].split("@").filter(Boolean),i=Object.fromEntries(new URLSearchParams(n));if(Object.keys(i).length===0)return n3;s.length>0&&(s.sort((o,c)=>vPe(c)-vPe(o)),i.resolution=s[0]);let a=await a3.request(i,i3.VURL_DETAIL,"play");return a?.url?{parse:0,url:a.url}:n3}catch{return n3}}async function gLn(e){let{wd:t,page:r=1}=e.body,n=String(t||"").trim();if(!n)return{list:[],page:1,pagecount:0,total:0};let s=await a3.request({keywords:n,order_val:"1",page:r.toString()},i3.FIND_MORE,"search",0),i=s?.list||[];if(i.length>0){let o=n.toLowerCase();i=i.filter(c=>c.vod_name&&c.vod_name.toLowerCase().includes(o))}return{list:i.map(o=>({vod_id:nQt(o.vod_id||"",{vod_pic:o.vod_pic||"",vod_remarks:(o.vod_continu||0)===0?"\u7535\u5F71":`\u66F4\u65B0\u81F3${o.vod_continu}\u96C6`}),vod_name:o.vod_name||"",vod_pic:o.vod_pic||"",vod_remarks:(o.vod_continu||0)===0?"\u7535\u5F71":`\u66F4\u65B0\u81F3${o.vod_continu}\u96C6`})),page:parseInt(r,10),pagecount:s?.totalPage||9999,limit:30,total:s?.total||999999}}async function _Ln(){return NW.clear(),{success:!0,message:"\u7F13\u5B58\u5DF2\u6E05\u7A7A"}}async function ALn(){let e=NW.getStats();return{success:!0,stats:e,message:`\u7F13\u5B58\u7EDF\u8BA1\uFF1A\u603B\u8BA1${e.total}\u6761`}}var au,rQt,u_,i3,n3,oLn,cLn,yPe,NW,tQt,SPe,s3,TPe,a3,ELn,iQt=oe(()=>{kr();kr();Dn();au=we(ki(),1),rQt=we(eQt(),1);ta();Cs();u_={url:"https://api.w32z7vtd.com",token:"1be86e8e18a9fa18b2b8d5432699dad0.ac008ed650fd087bfbecf2fda9d82e9835253ef24843e6b18fcd128b10763497bcf9d53e959f5377cde038c20ccf9d17f604c9b8bb6e61041def86729b2fc7408bd241e23c213ac57f0226ee656e2bb0a583ae0e4f3bf6c6ab6c490c9a6f0d8cdfd366aacf5d83193671a8f77cd1af1ff2e9145de92ec43ec87cf4bdc563f6e919fe32861b0e93b118ec37d8035fbb3c.59dd05c5d9a8ae726528783128218f15fe6f2c0c8145eddab112b374fcfe3d79",privateKey:`-----BEGIN PRIVATE KEY----- +MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGAe6hKrWLi1zQmjTT1 +ozbE4QdFeJGNxubxld6GrFGximxfMsMB6BpJhpcTouAqywAFppiKetUBBbXwYsYU +1wNr648XVmPmCMCy4rY8vdliFnbMUj086DU6Z+/oXBdWU3/b1G0DN3E9wULRSwcK +ZT3wj/cCI1vsCm3gj2R5SqkA9Y0CAwEAAQKBgAJH+4CxV0/zBVcLiBCHvSANm0l7 +HetybTh/j2p0Y1sTXro4ALwAaCTUeqdBjWiLSo9lNwDHFyq8zX90+gNxa7c5EqcW +V9FmlVXr8VhfBzcZo1nXeNdXFT7tQ2yah/odtdcx+vRMSGJd1t/5k5bDd9wAvYdI +DblMAg+wiKKZ5KcdAkEA1cCakEN4NexkF5tHPRrR6XOY/XHfkqXxEhMqmNbB9U34 +saTJnLWIHC8IXys6Qmzz30TtzCjuOqKRRy+FMM4TdwJBAJQZFPjsGC+RqcG5UvVM +iMPhnwe/bXEehShK86yJK/g/UiKrO87h3aEu5gcJqBygTq3BBBoH2md3pr/W+hUM +WBsCQQChfhTIrdDinKi6lRxrdBnn0Ohjg2cwuqK5zzU9p/N+S9x7Ck8wUI53DKm8 +jUJE8WAG7WLj/oCOWEh+ic6NIwTdAkEAj0X8nhx6AXsgCYRql1klbqtVmL8+95KZ +K7PnLWG/IfjQUy3pPGoSaZ7fdquG8bq8oyf5+dzjE/oTXcByS+6XRQJAP/5ciy1b +L3NhUhsaOVy55MHXnPjdcTX0FaLi+ybXZIfIQ2P4rb19mVq1feMbCXhz+L1rG8oa +t5lYKfpe8k83ZA== +-----END PRIVATE KEY-----`},i3={INDEX_LIST:"/App/IndexList/indexList",PLAY_INFO:"/App/IndexPlay/playInfo",VURL_SHOW:"/App/Resource/Vurl/show",VURL_DETAIL:"/App/Resource/VurlDetail/showOne",FIND_MORE:"/App/Index/findMoreVod"},n3={parse:0,url:""};oLn=[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u7535\u89C6\u5267"},{type_id:"4",type_name:"\u52A8\u6F2B"},{type_id:"3",type_name:"\u7EFC\u827A"},{type_id:"64",type_name:"\u77ED\u5267"}],cLn={1:[{key:"year",name:"\u5E74\u4EFD",value:[{n:"\u5168\u90E8",v:"0"},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"},{n:"2009",v:"2009"},{n:"2008",v:"2008"},{n:"2007",v:"2007"},{n:"2006",v:"2006"},{n:"2005",v:"2005"},{n:"\u66F4\u65E9",v:"2004"}]},{key:"area",name:"\u5730\u533A",value:[{n:"\u5168\u90E8",v:"0"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u9999\u6E2F",v:"\u9999\u6E2F"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u6CD5\u56FD",v:"\u6CD5\u56FD"},{n:"\u6CF0\u56FD",v:"\u6CF0\u56FD"},{n:"\u5370\u5EA6",v:"\u5370\u5EA6"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},{key:"sort",name:"\u6392\u5E8F",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}],2:[{key:"year",name:"\u5E74\u4EFD",value:[{n:"\u5168\u90E8",v:"0"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"},{n:"2009",v:"2009"},{n:"2008",v:"2008"},{n:"2007",v:"2007"},{n:"2006",v:"2006"},{n:"2005",v:"2005"},{n:"\u66F4\u65E9",v:"2004"}]},{key:"area",name:"\u5730\u533A",value:[{n:"\u5168\u90E8",v:"0"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u9999\u6E2F",v:"\u9999\u6E2F"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u6CD5\u56FD",v:"\u6CD5\u56FD"},{n:"\u6CF0\u56FD",v:"\u6CF0\u56FD"},{n:"\u5370\u5EA6",v:"India"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},{key:"sort",name:"\u6392\u5E8F",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}],4:[{key:"year",name:"\u5E74\u4EFD",value:[{n:"\u5168\u90E8",v:"0"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"}]},{key:"area",name:"\u5730\u533A",value:[{n:"\u5168\u90E8",v:"0"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},{key:"sort",name:"\u6392\u5E8F",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}],3:[{key:"year",name:"\u5E74\u4EFD",value:[{n:"\u5168\u90E8",v:"0"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"}]},{key:"area",name:"\u5730\u533A",value:[{n:"\u5168\u90E8",v:"0"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"}]},{key:"sort",name:"\u6392\u5E8F",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}],64:[{key:"year",name:"\u5E74\u4EFD",value:[{n:"\u5168\u90E8",v:"0"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"}]},{key:"sort",name:"\u6392\u5E8F",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}]},yPe=class{constructor(){this.cache=new Map,this.ttlConfig={category:3e5,detail:6e5,play:3e5,search:6e4},this.maxSize=200}get(t){let r=this.cache.get(t);if(!r)return null;let n=this.ttlConfig[r.type]||3e5;return Date.now()-r.timestamp>n?(this.cache.delete(t),null):r.data}set(t,r,n="category"){this.cache.size>=this.maxSize&&this.clearOldest(50),this.cache.set(t,{data:r,timestamp:Date.now(),type:n})}clear(){this.cache.clear()}clearOldest(t=20){let r=Math.min(t,this.cache.size),n=0;for(let s of this.cache.keys())if(this.cache.delete(s),n++,n>=r)break}getStats(){let t={total:this.cache.size,byType:{}};for(let r of this.cache.values())t.byType[r.type]=(t.byType[r.type]||0)+1;return t}},NW=new yPe,tQt={"8k":100,"4k":95,2160:90,1440:85,1080:80,720:70,\u8D85\u6E05:75,\u9AD8\u6E05:65,\u6807\u6E05:55,480:50,360:40,\u6D41\u7545:30,240:20,144:10};SPe=class{constructor(){this.aesKey=au.default.enc.Utf8.parse("mvXBSW7ekreItNsT"),this.aesIv=au.default.enc.Utf8.parse("2U3IrJL8szAKp0Fj"),this.staticKeys="Qmxi5ciWXbQzkr7o+SUNiUuQxQEf8/AVyUWY4T/BGhcXBIUz4nOyHBGf9A4KbM0iKF3yp9M7WAY0rrs5PzdTAOB45plcS2zZ0wUibcXuGJ29VVGRWKGwE9zu2vLwhfgjTaaDpXo4rby+7GxXTktzJmxvneOUdYeHi+PZsThlvPI=",this.rsa=new rQt.default(u_.privateKey),this.rsa.setOptions({encryptionScheme:"pkcs1"})}md5(t){return au.default.MD5(t).toString()}aesEncrypt(t){try{return au.default.AES.encrypt(t,this.aesKey,{iv:this.aesIv,mode:au.default.mode.CBC,padding:au.default.pad.Pkcs7}).ciphertext.toString(au.default.enc.Hex).toUpperCase()}catch{return""}}aesDecrypt(t,r,n){try{let s=au.default.enc.Utf8.parse(r),i=au.default.enc.Utf8.parse(n),a=au.default.enc.Hex.parse(t);return au.default.AES.decrypt({ciphertext:a},s,{iv:i,mode:au.default.mode.CBC,padding:au.default.pad.Pkcs7}).toString(au.default.enc.Utf8)}catch{return""}}rsaDecrypt(t){try{return this.rsa.decrypt(Buffer.from(t,"base64"),"utf8")}catch{return""}}generateSignature(t,r){let n=`token_id=,token=${u_.token},phone_type=1,request_key=${t},app_id=1,time=${r},keys=${this.staticKeys}*&zvdvdvddbfikkkumtmdwqppp?|4Y!s!2br`;return this.md5(n)}},s3=new SPe,TPe=class{constructor(){let{httpsAgent:t}=Wn({insecure:!0});this.axiosConfig={httpsAgent:t,timeout:1e4,headers:{"Cache-Control":"no-cache",Version:"2406025",PackageName:"com.uf076bf0c246.qe439f0d5e.m8aaf56b725a.ifeb647346f",Ver:"1.9.2",Referer:u_.url,"Content-Type":"application/x-www-form-urlencoded","User-Agent":"okhttp/3.12.0"}},this.retryConfig={maxRetries:2,retryDelay:1e3}}async request(t,r,n="category",s=this.retryConfig.maxRetries){let i=uLn(r,t);if(n!=="none"){let o=NW.get(i);if(o)return o}let a=`${n}:${i}`;return Pn("guazi",n,a,async()=>{let o=null;for(let c=0;c<=s;c++)try{let u=s3.aesEncrypt(JSON.stringify(t));if(!u)throw new Error("AES\u52A0\u5BC6\u5931\u8D25");let l=Math.floor(Date.now()/1e3).toString(),d=s3.generateSignature(u,l),f=new URLSearchParams({token:u_.token,token_id:"",phone_type:"1",time:l,phone_model:"xiaomi-22021211rc",keys:s3.staticKeys,request_key:u,signature:d,app_id:"1",ad_version:"1"}).toString(),h=await Ye.post(`${u_.url}${r}`,f,{...this.axiosConfig,headers:{...this.axiosConfig.headers,Referer:u_.url},timeout:8e3+c*2e3});if(h.status!==200||!h.data?.data)throw new Error(`API\u54CD\u5E94\u5F02\u5E38: ${h.status}`);let p=s3.rsaDecrypt(h.data.data.keys);if(!p)throw new Error("RSA\u89E3\u5BC6\u5931\u8D25");let m=JSON.parse(p),g=s3.aesDecrypt(h.data.data.response_key,m.key,m.iv);if(!g)throw new Error("AES\u89E3\u5BC6\u5931\u8D25");let _=JSON.parse(g);return n!=="none"&&_&&NW.set(i,_,n),_}catch(u){o=u,c{e.post("/init",dLn),e.post("/home",fLn),e.post("/category",hLn),e.post("/detail",pLn),e.post("/play",mLn),e.post("/search",gLn),e.get("/clear-cache",_Ln),e.get("/cache-stats",ALn)}}});var CQt={};Bt(CQt,{buildPowMessage:()=>wPe,buildVerifyReadyPayload:()=>RQt,createWGenerator:()=>OPe,detectGapByTemplate:()=>bQt,detectGapX:()=>TQt,fetchGeetestLoad:()=>SQt,fetchVerifyConfig:()=>vQt,initSiteAuth:()=>NPe,prepareChallenge:()=>LPe,solveGeetestChallenge:()=>DPe,solveVerifyToken:()=>HLn,submitAuthVerify:()=>PPe,verifyGeetest:()=>IQt});function NLn(e){return new Promise(t=>setTimeout(t,e))}function OLn(e){let t=String(e?.code||"");return t==="ECONNABORTED"||t==="ETIMEDOUT"||t==="ECONNRESET"||t==="EAI_AGAIN"||t==="ENOTFOUND"}async function LW(e,t={}){let r=Math.max(0,Number(t.retries??xLn)),n=Math.max(0,Number(t.delayMs??wLn)),s=null;for(let i=0;i<=r;i+=1)try{return await e(i)}catch(a){if(s=a,i>=r||!OLn(a))throw a;await NLn(n*(i+1))}throw s||new Error("request failed")}function RPe(e){let t=String(e||""),r="0x1A2B3C4D5E6F7A8B9C",n="";for(let s=0;si[o]||"").join("");return a=a.replace(/1/g,"i").replace(/0/g,"o").replace(/5/g,"s"),Rp.default.createHmac("sha256",String(r||"")).update(a).digest("hex")}function DLn(e){return Rp.default.createHash("md5").update(String(e||"")).digest("hex")}function CPe(e=16){return Rp.default.randomBytes(e).toString("hex")}function xPe(e){return Buffer.from(e).toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function PLn(e){return xPe(Buffer.from(String(e||""),"utf8"))}function aQt(){return Rp.default.randomBytes(8).toString("hex")}function LLn(){let e=yLn.replace(/^00/,""),t=bPe.length%2===0?bPe:`0${bPe}`;return Rp.default.createPublicKey({key:{kty:"RSA",n:xPe(Buffer.from(e,"hex")),e:xPe(Buffer.from(t,"hex"))},format:"jwk"})}function oQt(e,t){return Rp.default.publicEncrypt({key:e,padding:Rp.default.constants.RSA_PKCS1_PADDING},Buffer.from(String(t||""),"utf8")).toString("hex")}function MLn(e,t){let r=Rp.default.createCipheriv("aes-128-cbc",Buffer.from(String(t||""),"utf8"),Buffer.from(vLn,"utf8"));return Buffer.concat([r.update(String(e||""),"utf8"),r.final()]).toString("hex")}function kLn(e){let t=String(e||"");return t.length<30?{}:{[t.slice(24,28)]:{[t[29]+t[27]+t[15]+t[9]]:t.slice(1,9)}}}function mQt(e){let t=Number(e);return!Number.isFinite(t)||t<0?0:Math.max(0,Math.round(t))}function BLn(e){return e/SLn+2}function wPe(e,t,r){return[String(e?.version||1),String(e?.bits||0),String(e?.hashfunc||"md5"),String(e?.datetime||""),String(t||""),String(r||""),"",CPe(8)].join("|")}function gQt(){return IPe=(IPe+1)%1e3,`geetest_${Date.now()}`}function _Qt(e){let t=String(e||"").trim(),r=t.indexOf("("),n=t.lastIndexOf(")");if(r<0||n<=r)return null;try{return JSON.parse(t.slice(r+1,n))}catch{return null}}function ULn(e,t=240){let r=String(e||"");return r.length<=t*2?r:`${r.slice(0,t)} ... ${r.slice(-t)}`}async function AQt(e,t={},r={}){let{retries:n,retryDelayMs:s,...i}=r||{},a=await LW(()=>Ye.get(e,{headers:t,timeout:i.timeout||PW,validateStatus:()=>!0,...i}),{retries:n,delayMs:s});return{status:Number(a?.status||0),headers:a?.headers||{},text:typeof a?.data=="string"?a.data:JSON.stringify(a?.data||{})}}async function cQt(e,t={}){let r=await LW(()=>Ye.get(e,{headers:t,timeout:PW,responseType:"arraybuffer",validateStatus:()=>!0}));return Buffer.from(r.data||[])}async function EQt(e,t={}){return(await AQt(e,t)).text}async function yQt(e,t={}){let r=await EQt(e,t);try{return JSON.parse(r)}catch{return null}}function DW(e){if(!e?.length)return null;try{let t=lQt.PNG.sync.read(e);return{data:t.data,width:Number(t.width||0),height:Number(t.height||0),channels:4,format:"png"}}catch{return null}}function FLn(e){let t=e.width*e.height,r=Buffer.alloc(t);for(let n=0;nYe.get(`${ou}/api/stats/track`,{headers:{...OW,referer:`${ou}/m/index`},timeout:Math.min(PW,15e3),validateStatus:()=>!0})),t=e.headers?.["set-cookie"]||e.headers?.["Set-Cookie"],r=Array.isArray(t)?t.map(l=>String(l).split(";")[0]).join("; "):"",n=CPe(16),s={...OW,cookie:r,referer:`${ou}/m/index`,"x-client-id":n,"x-verify-token":"","x-timestamp":String(Date.now()),"x-report-id":CPe(32)},a=(await yQt(`${ou}/api/system/config`,s))?.data||{},o=RPe(a.session||""),c=RPe(a.traceId||""),u=RPe(a.reportId||"");return{cookie:r,clientId:n,session:o,traceId:c,reportId:u}}async function $Ln(e,t,r={}){let n=`${ou}${e}`,s=r.useChecksumTs?hQt(Date.now()):String(Date.now()),i={...OW,cookie:t.cookie,referer:r.referer||`${ou}/m/index`,"x-client-id":t.clientId,"x-verify-token":t.verifyToken||"","x-timestamp":s};return t.reportId&&t.session&&t.traceId&&(i[t.reportId]=pQt(n,s,t.session,t.traceId)),r.extraHeaders&&Object.assign(i,r.extraHeaders),yQt(n,i)}async function vQt(e){return $Ln("/api/auth/verify/config",e,{referer:`${ou}/m/verify`,useChecksumTs:!0})}async function SQt({captchaId:e,challenge:t}){let r=gQt(),n=new URLSearchParams({callback:r,captcha_id:e,challenge:t,client_type:"h5",lang:"zho"}),s=`${dQt}/load?${n.toString()}`,i=await AQt(s,{"User-Agent":o3,referer:`${ou}/`});return{callback:r,url:s,status:i.status,headers:i.headers,raw:i.text,data:_Qt(i.text)}}async function uQt(e){let t=DW(e);return t?{width:t.width,height:t.height,channels:t.channels,format:t.format}:null}async function TQt(e,t){let r=DW(e);if(!r)return{bestX:0,bestScore:0,top:[],width:0,height:0,yStart:0,yEnd:0};let n=FLn(r),s=Math.max(0,Math.round(t+8)),i=Math.min(n.height,Math.round(t+52)),a={x:-1,score:-1/0},o=[];for(let c=0;c0?n.data[h*n.width+c-1]:m,_=c0?n.data[(h-1)*n.width+c]:m,E=ha.score&&(a={x:c,score:f})}return o.sort((c,u)=>u.score-c.score),{bestX:a.x,bestScore:a.score,top:o.slice(0,10),width:n.width,height:n.height,yStart:s,yEnd:i}}async function bQt(e,t,r){if(!e?.length||!t?.length)return{bestX:0,bestScore:0,top:[]};let n=DW(e),s=DW(t);if(!n||!s)return{bestX:0,bestScore:0,top:[]};let i=[];for(let c=0;c10&&i.push([u,c,l])}let a={x:0,score:-1/0},o=[];for(let c=0;c<=n.width-s.width;c+=1){let u=0;for(let[l,d,f]of i){let h=r+d;if(h<0||h>=n.height)continue;let p=(h*n.width+(c+l))*4,m=(n.data[p]+n.data[p+1]+n.data[p+2])/3;u+=(255-m)*(f/255)}o.push({x:c,score:u}),u>a.score&&(a={x:c,score:u})}return o.sort((c,u)=>u.score-c.score),{bestX:a.x,bestScore:a.score,top:o.slice(0,10)}}function qLn(e={}){let t=String(e.lotNumber||""),r=mQt(e.setLeft??e.gapX),n=Number.isFinite(Number(e.passtime))?Number(e.passtime):fQt,s=String(e.powMsg||"");return JSON.stringify({setLeft:r,passtime:n,userresponse:BLn(r),device_id:"",lot_number:t,pow_msg:s,pow_sign:DLn(s),geetest:"captcha",lang:"zh",ep:"123",biht:TLn,[bLn]:ILn,...kLn(t),em:{...RLn}})}function OPe(){let e=LLn();return{supported:!0,reason:"",generate(t={}){let r=qLn(t);if(Number(t.pt||1)!==1)return PLn(r);let s=aQt(),i=oQt(e,s);for(;!i||i.length!==256;)s=aQt(),i=oQt(e,s);return MLn(r,s)+i}}}async function IQt(e){let t=gQt(),r=new URLSearchParams({callback:t,captcha_id:e.captchaId,client_type:e.clientType||"web_mobile",lot_number:e.lotNumber,payload:e.payload,process_token:e.processToken,payload_protocol:String(e.payloadProtocol||1),pt:String(e.pt||1),w:e.w}).toString(),n=await EQt(`${dQt}/verify?${r}`,{"User-Agent":o3,referer:`${ou}/`});return{raw:n,data:_Qt(n)}}async function DPe(e,t){let r=e.loadData||{},n=String(r.lot_number||""),s=r.pow_detail||{},i=String(r.payload||""),a=String(r.process_token||""),o=Number(r.payload_protocol||1),c=Number(r.pt||1),u=await bQt(e.bgBuffer,e.sliceBuffer,e.ypos),l=[];for(let d of CLn){let f=mQt(u.bestX+d),h=wPe(s,e.captchaId,n),p=t.generate({captchaId:e.captchaId,lotNumber:n,payload:i,processToken:a,payloadProtocol:o,pt:c,setLeft:f,passtime:fQt,powMsg:h}),m=await IQt({captchaId:e.captchaId,lotNumber:n,payload:i,processToken:a,payloadProtocol:o,pt:c,w:p}),g=m?.data?.data?.result||m?.data?.result||"";if(l.push({delta:d,setLeft:f,powMsg:h,result:g,verify:m.data||null}),g==="success")return{success:!0,templateGap:u,attempts:l,verify:m.data,selected:{delta:d,setLeft:f,powMsg:h}}}return{success:!1,templateGap:u,attempts:l,verify:l.at(-1)?.verify||null,selected:l.at(-1)?{delta:l.at(-1).delta,setLeft:l.at(-1).setLeft,powMsg:l.at(-1).powMsg}:null}}async function PPe(e,t,r){let n=hQt(Date.now()),s={captchaId:r,captchaOutput:t?.seccode?.captcha_output||"",genTime:Number(t?.seccode?.gen_time||0),lotNumber:t?.seccode?.lot_number||"",passToken:t?.seccode?.pass_token||""},i={...OW,cookie:e.cookie,referer:`${ou}/m/verify`,"x-client-id":e.clientId,"x-verify-token":e.verifyToken||"","Content-Type":"application/json","x-timestamp":n};e.reportId&&e.session&&e.traceId&&(i[e.reportId]=pQt(`${ou}/api/auth/verify`,n,e.session,e.traceId));let a=await LW(()=>Ye.post(`${ou}/api/auth/verify`,s,{headers:i,timeout:PW,validateStatus:()=>!0}));return typeof a.data=="string"?JSON.parse(a.data):a.data}async function HLn(e={}){let t=await NPe(),r=await LPe(t,e),n=OPe(),s=await DPe(r,n);if(!s.success)return{success:!1,token:"",auth:t,prepared:r,solved:s,authVerify:null};let i=await PPe(t,s.verify?.data,r.captchaId),a=String(i?.data?.token||"");return a&&(t.verifyToken=a),{success:!!(i?.data?.verified&&a),token:a,auth:t,prepared:r,solved:s,authVerify:i}}async function LPe(e,t={}){let r=await vQt(e),n=r?.data?.captchaId||"";if(!n)throw new Error("\u672A\u83B7\u53D6\u5230 captchaId");let s=t.challenge||Rp.default.randomUUID(),i=await SQt({captchaId:n,challenge:s}),a=i?.data?.data||{},o=a.bg?`https://static.geetest.com/${a.bg}`:"",c=a.slice?`https://static.geetest.com/${a.slice}`:"",u=Number(a.ypos||0),[l,d]=await Promise.all([o?cQt(o,{"User-Agent":o3,referer:`${ou}/`}):Buffer.alloc(0),c?cQt(c,{"User-Agent":o3,referer:`${ou}/`}):Buffer.alloc(0)]),[f,h]=await Promise.all([uQt(l),uQt(d)]),p=l.length?await TQt(l,u):null;return{verifyConfig:r,captchaId:n,challenge:s,load:i,loadData:a,bgUrl:o,sliceUrl:c,ypos:u,bgBuffer:l,sliceBuffer:d,bgMeta:f,sliceMeta:h,gap:p}}function RQt(e){let t=e.loadData||{},r=e.templateGap||{},n=Number.isFinite(Number(e.selectedSetLeft))?Number(e.selectedSetLeft):Number(r.bestX||e.gap?.bestX||0),s=String(e.selectedPowMsg||wPe(t.pow_detail||{},e.captchaId,t.lot_number||""));return{captchaId:e.captchaId,challenge:e.challenge,lotNumber:t.lot_number||"",payload:t.payload||"",processToken:t.process_token||"",payloadProtocol:Number(t.payload_protocol||1),pt:Number(t.pt||1),gapX:n,setLeft:n,ypos:e.ypos,powMsg:s,staticPath:t.static_path||"",gctPath:t.gct_path||""}}async function VLn(){let e=await NPe();console.log("SITE_AUTH",JSON.stringify(e,null,2));let t=await LPe(e);if(console.log("VERIFY_CONFIG",JSON.stringify(t.verifyConfig,null,2)),console.log("GEETEST_LOAD",JSON.stringify(t.load.data,null,2)),!t.load.data)throw console.log("GEETEST_LOAD_RAW",JSON.stringify({status:t.load.status,contentType:t.load.headers?.["content-type"]||"",preview:ULn(t.load.raw,360)},null,2)),new Error("GeeTest /load \u8FD4\u56DE\u65E0\u6CD5\u89E3\u6790");console.log("IMAGE_INFO",JSON.stringify({bgUrl:t.bgUrl,sliceUrl:t.sliceUrl,ypos:t.ypos,bgBytes:t.bgBuffer.length,sliceBytes:t.sliceBuffer.length,bgMeta:t.bgMeta,sliceMeta:t.sliceMeta},null,2)),console.log("GAP",JSON.stringify(t.gap,null,2));let r=OPe();console.log("W_GENERATOR",JSON.stringify({supported:r.supported,reason:r.reason||""},null,2));let n=await DPe(t,r);if(t.templateGap=n.templateGap,t.selectedSetLeft=n.selected?.setLeft??null,t.selectedPowMsg=n.selected?.powMsg??"",console.log("TEMPLATE_GAP",JSON.stringify(n.templateGap,null,2)),console.log("VERIFY_ATTEMPTS",JSON.stringify(n.attempts.map(i=>({delta:i.delta,setLeft:i.setLeft,result:i.result})),null,2)),console.log("GEETEST_VERIFY",JSON.stringify(n.verify,null,2)),!n.success){console.log("VERIFY_READY_PAYLOAD",JSON.stringify({...RQt(t),note:"\u672A\u547D\u4E2D\u6210\u529F offset\uFF0C\u53EF\u6269\u5927\u626B\u63CF\u533A\u95F4\u7EE7\u7EED\u8C03\u8BD5"},null,2));return}let s=await PPe(e,n.verify?.data,t.captchaId);console.log("AUTH_VERIFY",JSON.stringify(s,null,2))}var Rp,lQt,ou,dQt,o3,OW,yLn,bPe,vLn,SLn,TLn,bLn,ILn,RLn,fQt,CLn,PW,xLn,wLn,IPe,xQt=oe(()=>{Rp=we(require("crypto"),1);kr();lQt=we(i1e(),1),ou="https://film.symx.club",dQt="https://gcaptcha4.geevisit.com",o3="Mozilla/5.0 (Linux; Android 13; 23049RAD8C Build/TQ3A.230901.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/124.0.6367.82 Mobile Safari/537.36",OW={"User-Agent":o3,"x-platform":"web"},yLn="00C1E3934D1614465B33053E7F48EE4EC87B14B95EF88947713D25EECBFF7E74C7977D02DC1D9451F79DD5D1C10C29ACB6A9B4D6FB7D0A0279B6719E1772565F09AF627715919221AEF91899CAE08C0D686D748B20A3603BE2318CA6BC2B59706592A9219D0BF05C9F65023A21D2330807252AE0066D59CEEFA5F2748EA80BAB81",bPe="10001",vLn="0000000000000000",SLn=.8876*340/300,TLn="1426265548",bLn="9zXN",ILn="NYzS",RLn={ph:0,cp:0,ek:"11",wd:1,nt:0,si:0,sc:0},fQt=419,CLn=[-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12],PW=Number.parseInt(process.env.MUXI_VERIFY_TIMEOUT_MS||"",10)||25e3,xLn=Math.max(0,Number.parseInt(process.env.MUXI_VERIFY_RETRIES||"",10)||1),wLn=Math.max(200,Number.parseInt(process.env.MUXI_VERIFY_RETRY_DELAY_MS||"",10)||800),IPe=0;process.argv[1]&&/(^|[\/])muxi-geetest-node\.js$/.test(process.argv[1])&&VLn().catch(e=>{console.error("MUXI_GEETEST_NODE_ERROR",e?.stack||e?.message||String(e)),process.exit(1)})});var FQt={};Bt(FQt,{default:()=>wMn});async function QLn(){return MPe||(MPe=Promise.resolve().then(()=>(xQt(),CQt)).then(e=>typeof e.solveVerifyToken=="function"?e.solveVerifyToken:null).catch(e=>(console.error("[muxi] load verify solver failed:",e?.message||String(e)),null))),MPe}function UPe(e=16){return FPe.default.randomBytes(e).toString("hex")}function zLn(e,t){let r=BPe.get(e);return r?Date.now()-r.ts>t?(BPe.delete(e),null):r.data:null}function WLn(e,t){BPe.set(e,{ts:Date.now(),data:t})}function DQt(e){return Array.isArray(e)?e.map(t=>String(t).split(";")[0]).join("; "):typeof e=="string"&&e.trim()?e.split(";")[0].trim():""}function PQt(e){let t=Number.parseInt(e,10);return Number.isFinite(t)&&t>0?t:1}function XLn(e){if(!e)return{};if(typeof e=="object")return e;if(typeof e!="string")return{};try{return JSON.parse(e)}catch{try{return JSON.parse(Buffer.from(e,"base64").toString("utf8"))}catch{return{}}}}function JLn(e){return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?`https:${e}`:e.startsWith("/")?`${lr.host}${e}`:`${lr.host}/${e}`:""}function $Pe(e){return/\.m3u8(?:[?#].*)?$/i.test(String(e||"").trim())}function ZLn(e){return Buffer.from(JSON.stringify(e||{}),"utf8").toString("base64url")}function LQt(e){try{let t=JSON.parse(Buffer.from(String(e||""),"base64url").toString("utf8"));return t&&typeof t=="object"?t:{}}catch{return{}}}function eMn(e){let t=String(e?.headers?.["x-forwarded-proto"]||e?.protocol||"http").split(",")[0].trim()||"http",r=String(e?.headers?.["x-forwarded-host"]||e?.headers?.host||"").split(",")[0].trim();return r?`${t}://${r}`:""}function tMn(e){return e?.server&&typeof e.server.prefix=="string"?e.server.prefix.replace(/\/+$/,""):`/spider/${lr.key}/3`}function qPe(e,t,r){let n=eMn(e);return n?`${n}${tMn(e)}${t}?u=${ZLn(r)}`:""}function MQt(e){return e?Array.isArray(e)?e.reduce((t,r)=>({...t,...r&&typeof r=="object"?r:{}}),{}):typeof e=="object"?e:{}:{}}function rMn(e){let t=String(e||"").trim();return t?YLn.some(r=>r.test(t)):!1}function kPe(e){let t=String(e||""),r="0x1A2B3C4D5E6F7A8B9C",n="";for(let s=0;si[o]||"").join("");return a=a.replace(/1/g,"i").replace(/0/g,"o").replace(/5/g,"s"),FPe.default.createHmac("sha256",String(r||"")).update(a).digest("hex")}async function HPe(e,t={}){let r=String(t.method||"GET").toUpperCase(),n={headers:{...lr.headers,...t.headers||{}},timeout:t.timeout||1e4,validateStatus:()=>!0,maxRedirects:3};t.data!==void 0&&(n.data=t.data);let s=r==="POST"?await Ye.post(e,n.data,n):await Ye.get(e,n);return{data:s?.data,headers:s?.headers||{},status:Number(s?.status||0)}}async function VPe(e,t={}){let r=await HPe(e,t);return typeof r.data=="string"?r.data:JSON.stringify(r.data||{})}async function c3(e,t={}){let r=await VPe(e,t);try{return JSON.parse(r)}catch{return null}}async function u3(e,t,r,n){if(r>0){let s=zLn(t,r);if(s!==null)return s}return Pn("muxi",e,t,async()=>{let s=await n();return r>0&&WLn(t,s),s},{timeout:3e4})}async function iMn(e=!1){if(!e&&Ft.cookies)return Ft.cookies;let t=await HPe(`${lr.host}/`,{headers:{referer:`${lr.host}/`},timeout:15e3}).catch(()=>({data:"",headers:{},status:0})),r=t.headers?.["set-cookie"]||t.headers?.["Set-Cookie"],n=DQt(r);return n&&(Ft.cookies=n),Ft.cookies}async function bb(e=!1){let t=Ft.cookies&&Ft.session&&Ft.traceId&&Ft.reportId&&Date.now()-Ft.initedAt{if(!e&&Ft.cookies&&Ft.session&&Ft.traceId&&Ft.reportId&&Date.now()-Ft.initedAt"");let r=await HPe(`${lr.host}/api/stats/track`,{headers:{...Ft.cookies?{cookie:Ft.cookies}:{},referer:`${lr.host}/m/index`}}).catch(()=>({data:"",headers:{},status:0})),n=r.headers?.["set-cookie"]||r.headers?.["Set-Cookie"],s=DQt(n);s&&(Ft.cookies=s);let a=(await c3(`${lr.host}/api/system/config`,{headers:{...Ft.cookies?{cookie:Ft.cookies}:{},referer:`${lr.host}/`}}).catch(()=>null))?.data||{};return(!Ft.clientId||e)&&(Ft.clientId=UPe(16)),Ft.reportId=kPe(a.reportId||""),Ft.session=kPe(a.session||""),Ft.traceId=kPe(a.traceId||""),(!Ft.clientId||e)&&(Ft.clientId=UPe(16)),Ft.initedAt=Date.now(),!!Ft.cookies})}function l3(e,t,r=!1){let n=r?nMn(Date.now()):String(Date.now()),s=sMn(e,n,Ft.session,Ft.traceId),i={...lr.headers,...Ft.cookies?{cookie:Ft.cookies}:{},referer:t||lr.host,"x-client-id":Ft.clientId||UPe(16),"x-verify-token":Ft.verifyToken||"","x-timestamp":n};return Ft.reportId&&s&&(i[Ft.reportId]=s),i}function aMn(e={}){e.cookie&&(Ft.cookies=String(e.cookie)),e.clientId&&(Ft.clientId=String(e.clientId)),e.reportId&&(Ft.reportId=String(e.reportId)),e.session&&(Ft.session=String(e.session)),e.traceId&&(Ft.traceId=String(e.traceId)),e.verifyToken&&(Ft.verifyToken=String(e.verifyToken),Ft.verifiedAt=Date.now()),Ft.initedAt=Date.now()}async function kQt(e=!1){let t=Ft.verifyToken&&Date.now()-Ft.verifiedAt(console.error("[muxi] solve verify token failed:",i?.message||String(i)),null)),!(n?.success&&n?.token));s+=1)snull);return String(r?.data||"").trim()}function cMn(e){let t=Buffer.isBuffer(e)?e:Buffer.from(e||[]),r=Math.min(t.length,GLn);for(let n=0;n=t.length)break;s+=1,t[o]===71&&(i+=1)}if(s>=3&&i===s||s>=6&&i>=s-1)return n}return-1}function uMn(e,t){let r=String(e||"").trim().match(/^bytes=(\d*)-(\d*)$/i);if(!r)return null;let n=r[1]===""?NaN:Number.parseInt(r[1],10),s=r[2]===""?NaN:Number.parseInt(r[2],10);return!Number.isFinite(n)&&Number.isFinite(s)?(n=Math.max(0,t-s),s=t-1):(Number.isFinite(n)||(n=0),Number.isFinite(s)||(s=t-1)),n<0||n>=t||s{let a=BQt(i,t);if(!a)return s;let o=$Pe(a)?"/proxy/hls.m3u8":"/proxy/hls-seg.ts",c=qPe(r,o,{url:a,header:n,referer:t});return c?`URI="${c}"`:s})}function pMn(e,t,r,n={}){return String(e||"").split(/\r?\n/).map(s=>{let i=s.trim();if(!i)return s;if(i.startsWith("#"))return hMn(s,t,r,n);let a=BQt(i,t);if(!a)return s;let o=$Pe(a)?"/proxy/hls.m3u8":"/proxy/hls-seg.ts";return qPe(r,o,{url:a,header:n,referer:t})||s}).join(` +`)}async function mMn(e,t){let r=LQt(e?.query?.u),n=String(r.url||"").trim(),s=MQt(r.header),i=String(r.referer||"").trim();if(!/^https?:\/\//i.test(n))return t.code(400).send("bad playlist url");let a=await Ye.get(n,{headers:{"User-Agent":lr.headers["User-Agent"],...s,...i?{Referer:i}:{}},timeout:15e3,responseType:"text",validateStatus:()=>!0}),o=typeof a.data=="string"?a.data:String(a.data||"");if(a.status>=400||!o.includes("#EXTM3U"))return t.code(502).send(o||"playlist fetch failed");let c=pMn(o,n,e,s);return t.header("Content-Type","application/vnd.apple.mpegurl; charset=utf-8").header("Access-Control-Allow-Origin","*").header("Cache-Control","no-cache").send(c)}async function gMn(e,t){let r=LQt(e?.query?.u),n=String(r.url||"").trim(),s=MQt(r.header),i=String(r.referer||"").trim();if(!/^https?:\/\//i.test(n))return t.code(400).send("bad segment url");let a=await Ye.get(n,{headers:fMn(n,s,i),timeout:2e4,responseType:"arraybuffer",validateStatus:()=>!0});if(a.status>=400)return t.code(502).send(`segment http ${a.status}`);let o=Buffer.from(a.data||[]),c=cMn(o);if(c<0&&/^image\//i.test(String(a.headers?.["content-type"]||"")))return t.code(502).send("segment ts sync not found");let u=c>=0?o.slice(c):o,l=uMn(e?.headers?.range,u.length);if(t.header("Content-Type",lMn(n,a.headers?.["content-type"],c>=0)).header("Accept-Ranges","bytes").header("Access-Control-Allow-Origin","*").header("Cache-Control","public, max-age=3600"),e?.headers?.range){if(!l)return t.code(416).header("Content-Range",`bytes */${u.length}`).send("");let d=u.slice(l.start,l.end+1);return t.code(206).header("Content-Range",`bytes ${l.start}-${l.end}/${u.length}`).header("Content-Length",String(d.length)).send(d)}return t.header("Content-Length",String(u.length)).send(u)}async function _Mn({filmId:e,lineId:t,referer:r}){let n=[`${lr.host}/api/system/config`,`${lr.host}/api/stats/track`,`${lr.host}/api/film/detail/play?filmId=${encodeURIComponent(e||"")}`,`${lr.host}/api/category/top`,`${lr.host}/api/issue/new`,`${lr.host}/api/film/search/hot`,`${lr.host}/api/line/play?lineId=${encodeURIComponent(t||"")}`];for(let s of n)await VPe(s,{headers:l3(s,r,!0)}).catch(()=>"");await tr(2800)}async function AMn({referer:e}){let t=[`${lr.host}/api/system/config`,`${lr.host}/api/stats/track`,`${lr.host}/api/auth/verify/config`,`${lr.host}/api/category/top`,`${lr.host}/api/film/search/hot`];for(let r of t)await VPe(r,{headers:l3(r,e,!0)}).catch(()=>"");await tr(1200)}function EMn(e,t={}){return JSON.stringify({id:String(e||"").trim(),meta:t&&typeof t=="object"?t:{}})}function yMn(e){try{let t=JSON.parse(String(e||""));if(t&&typeof t=="object"&&t.id)return{id:String(t.id||"").trim(),meta:t.meta&&typeof t.meta=="object"?t.meta:{}}}catch{}return{id:String(e||"").trim(),meta:{}}}function UQt(e){return(Array.isArray(e)?e:[]).map(t=>({vod_id:EMn(String(t?.id||""),{vod_pic:t?.cover||"",vod_remarks:t?.updateStatus||""}),vod_name:t?.name||"",vod_pic:t?.cover||"",vod_remarks:t?.updateStatus||"",vod_content:t?.blurb||""})).filter(t=>t.vod_id&&t.vod_name)}async function vMn(){return await bb().catch(()=>!1),{}}async function SMn(){let e=Vr("muxi",arguments[0]||{}),t=jr(e);if(t)return t;let r={class:lr.class,filters:lr.filters};return sn(e,r,Rt.static),r}async function TMn(){return{list:[]}}async function bMn(e){let t=e?.body||{},r=String(t.id||"1").trim()||"1",n=PQt(t.page),s=XLn(t.extend||t.filters||t.ext),i={...lr.filterDef[r]||lr.filterDef[1],...s},a=`category:${r}:${n}:${JSON.stringify(i)}`;return u3("category",a,Tb.category,async()=>{await bb().catch(()=>!1);let o=new URLSearchParams({categoryId:r,language:String(i.lang||""),pageNum:String(n),pageSize:"15",sort:String(i.by||"updateTime"),year:String(i.year||"")}),c=`${lr.host}/api/film/category/list?${o.toString()}`,u=`${lr.host}/m/category?categoryId=${encodeURIComponent(r)}`,l=async()=>{let f=await c3(c,{headers:{...lr.headers,...Ft.cookies?{cookie:Ft.cookies}:{},referer:u}}).catch(()=>null);return UQt(f?.data?.list||[])},d=await l();return d.length===0&&await bb(!0)&&(d=await l()),{page:n,pagecount:d.length>=10?n+1:n,limit:15,total:d.length?n*15+d.length:0,list:d}})}async function IMn(e){let t=e?.body||{},n=(Array.isArray(t.id)?t.id:[t.id]).map(i=>yMn(i)).filter(i=>i.id);if(!n.length)return{list:[]};await bb().catch(()=>!1);let s=[];for(let i of n){let a=i.id,o=`detail:${a}`,c=await u3("detail",o,Tb.detail,async()=>{let u=`${lr.host}/api/film/detail/play?filmId=${encodeURIComponent(a)}`,d=(await c3(u,{headers:l3(u,lr.host,!1)}).catch(()=>null))?.data;if(!d)return null;let f=[],h=[];for(let p of Array.isArray(d.playLineList)?d.playLineList:[]){let m=String(p?.playerName||"\u9ED8\u8BA4").trim()||"\u9ED8\u8BA4";if(rMn(m))continue;let g=(Array.isArray(p?.lines)?p.lines:[]).map(_=>{let y=String(_?.id||"").trim();return y?`${String(_?.name||"\u64AD\u653E").trim()||"\u64AD\u653E"}$${y}@${d.id}@${d.categoryId}`:""}).filter(Boolean);g.length&&(f.push(m),h.push(g.join("#")))}return{vod_id:String(d.id||a),vod_name:d.name||"",type_name:jLn[d.categoryId]||"",vod_pic:i.meta?.vod_pic||d.cover||"",vod_remarks:i.meta?.vod_remarks||d.updateStatus||"",vod_content:d.blurb||"",vod_play_from:f.join("$$$"),vod_play_url:h.join("$$$")}});c&&s.push(c)}return{list:s}}async function RMn(e){let t=String(e?.body?.id||"").trim();if(!t)return{...NQt};let r=`play:${t}`,n=await u3("play",r,Tb.play,async()=>{if(!await bb())return null;let[c,u,l]=t.split("@");if(!c)return null;let d=`${lr.host}/m/player?cid=${encodeURIComponent(l||"")}&film_id=${encodeURIComponent(u||"")}&line_id=${encodeURIComponent(c||"")}`,f=`${lr.host}/api/line/play/parse?lineId=${encodeURIComponent(c)}`,h=async(g=!1)=>await kQt(g)?(await _Mn({filmId:u,lineId:c,referer:d}),oMn(f,d)):"",p=await h(!1);if(p||await bb(!0)&&(p=await h(!0)),!p)return null;let m={"User-Agent":lr.headers["User-Agent"],Referer:d};return{playUrl:p,playHeader:m,referer:d}});if(!n?.playUrl)return{...NQt};let{playUrl:s,playHeader:i,referer:a}=n;if($Pe(s)){let o=qPe(e,"/proxy/hls.m3u8",{url:s,header:i,referer:a});if(o)return{parse:0,jx:0,url:o,header:{}}}return{parse:0,jx:0,url:s,header:i}}async function CMn(e){let t=e?.body||{},r=PQt(t.page),n=String(t.wd||"").trim();if(!n)return{page:r,pagecount:r,limit:10,total:0,list:[]};let s=`search:${r}:${n}`;return u3("search",s,Tb.search,async()=>{let i=JLn(`/api/film/search?keyword=${encodeURIComponent(n)}&pageNum=${r}&pageSize=10`),a=`${lr.host}/m/search?keyword=${encodeURIComponent(n)}`,o=async(u=!1)=>{if(!await bb(u).catch(()=>!1))return[];if(!await kQt(u).catch(()=>""))return[];await AMn({referer:a}).catch(()=>{});let f=await c3(i,{headers:l3(i,a,!0)}).catch(()=>null);return UQt(f?.data?.list||[])},c=await o(!1);return c.length===0&&(c=await o(!0)),{page:r,pagecount:c.length>0?r+1:r,limit:10,total:c.length,list:c}})}async function xMn(e){e.post("/init",async()=>vMn()),e.post("/home",async()=>SMn()),e.post("/homeVod",async()=>TMn()),e.post("/category",async t=>bMn(t)),e.post("/detail",async t=>IMn(t)),e.post("/play",async t=>RMn(t)),e.post("/search",async t=>CMn(t)),e.get("/proxy/hls.m3u8",mMn),e.get("/proxy/hls-seg.ts",gMn)}var FPe,lr,jLn,Tb,wQt,KLn,GLn,BPe,NQt,YLn,Ft,MPe,wMn,$Qt=oe(()=>{kr();Dn();FPe=we(require("crypto"),1);ta();Cs();lr={title:"\u{1F3AC} \u6728\u516E",key:"muxi",host:"https://film.symx.club",headers:{"User-Agent":"Mozilla/5.0 (Linux; Android 13; 23049RAD8C Build/TQ3A.230901.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/124.0.6367.82 Mobile Safari/537.36","x-platform":"web"},class:[{type_id:"1",type_name:"\u7535\u89C6\u5267"},{type_id:"2",type_name:"\u7535\u5F71"},{type_id:"3",type_name:"\u7EFC\u827A"},{type_id:"4",type_name:"\u52A8\u6F2B"},{type_id:"5",type_name:"\u77ED\u5267"}],filters:{1:[{key:"lang",name:"\u8BED\u8A00",value:[{n:"\u5168\u90E8",v:""},{n:"\u56FD\u8BED",v:"\u56FD\u8BED"},{n:"\u82F1\u8BED",v:"\u82F1\u8BED"},{n:"\u97E9\u8BED",v:"\u97E9\u8BED"},{n:"\u65E5\u8BED",v:"\u65E5\u8BED"}]},{key:"year",name:"\u5E74\u4EFD",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"}]},{key:"by",name:"\u6392\u5E8F",value:[{n:"\u66F4\u65B0\u65F6\u95F4",v:"updateTime"},{n:"\u70ED\u5EA6",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],2:[{key:"lang",name:"\u8BED\u8A00",value:[{n:"\u5168\u90E8",v:""},{n:"\u56FD\u8BED",v:"\u56FD\u8BED"},{n:"\u82F1\u8BED",v:"\u82F1\u8BED"},{n:"\u97E9\u8BED",v:"\u97E9\u8BED"},{n:"\u65E5\u8BED",v:"\u65E5\u8BED"}]},{key:"year",name:"\u5E74\u4EFD",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"}]},{key:"by",name:"\u6392\u5E8F",value:[{n:"\u66F4\u65B0\u65F6\u95F4",v:"updateTime"},{n:"\u70ED\u5EA6",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],3:[{key:"lang",name:"\u8BED\u8A00",value:[{n:"\u5168\u90E8",v:""},{n:"\u56FD\u8BED",v:"\u56FD\u8BED"},{n:"\u82F1\u8BED",v:"\u82F1\u8BED"},{n:"\u97E9\u8BED",v:"\u97E9\u8BED"},{n:"\u65E5\u8BED",v:"\u65E5\u8BED"}]},{key:"year",name:"\u5E74\u4EFD",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"}]},{key:"by",name:"\u6392\u5E8F",value:[{n:"\u66F4\u65B0\u65F6\u95F4",v:"updateTime"},{n:"\u70ED\u5EA6",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],4:[{key:"lang",name:"\u8BED\u8A00",value:[{n:"\u5168\u90E8",v:""},{n:"\u56FD\u8BED",v:"\u56FD\u8BED"},{n:"\u82F1\u8BED",v:"\u82F1\u8BED"},{n:"\u97E9\u8BED",v:"\u97E9\u8BED"},{n:"\u65E5\u8BED",v:"\u65E5\u8BED"}]},{key:"year",name:"\u5E74\u4EFD",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"}]},{key:"by",name:"\u6392\u5E8F",value:[{n:"\u66F4\u65B0\u65F6\u95F4",v:"updateTime"},{n:"\u70ED\u5EA6",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],5:[{key:"lang",name:"\u8BED\u8A00",value:[{n:"\u5168\u90E8",v:""},{n:"\u56FD\u8BED",v:"\u56FD\u8BED"},{n:"\u82F1\u8BED",v:"\u82F1\u8BED"},{n:"\u97E9\u8BED",v:"\u97E9\u8BED"},{n:"\u65E5\u8BED",v:"\u65E5\u8BED"}]},{key:"year",name:"\u5E74\u4EFD",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"}]},{key:"by",name:"\u6392\u5E8F",value:[{n:"\u66F4\u65B0\u65F6\u95F4",v:"updateTime"},{n:"\u70ED\u5EA6",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}]},filterDef:{1:{lang:"",by:"updateTime",year:""},2:{lang:"",by:"updateTime",year:""},3:{lang:"",by:"updateTime",year:""},4:{lang:"",by:"updateTime",year:""},5:{lang:"",by:"updateTime",year:""}}},jLn={1:"\u7535\u89C6\u5267",2:"\u7535\u5F71",3:"\u7EFC\u827A",4:"\u52A8\u6F2B",5:"\u77ED\u5267"},Tb={auth:10*60*1e3,category:30*1e3,detail:2*60*1e3,search:20*1e3,play:15*1e3},wQt=Math.max(0,Number.parseInt(process.env.MUXI_VERIFY_SOLVE_RETRIES||"",10)||1),KLn=Math.max(200,Number.parseInt(process.env.MUXI_VERIFY_SOLVE_RETRY_DELAY_MS||"",10)||1e3),GLn=512*1024,BPe=new Map,NQt={parse:0,jx:0,url:""},YLn=[/聚合\s*[-_]?\s*0/i],Ft={cookies:"",clientId:"",reportId:"",session:"",traceId:"",verifyToken:"",verifiedAt:0,initedAt:0},MPe=null;wMn={meta:{key:lr.key,name:lr.title,type:3,searchable:2,quickSearch:1,filterable:1},api:xMn}});function MW(e,t){let r=e[t];if(r===void 0)throw new Xa(`varint underflow at offset ${t}`);if(!(r&128))return{value:r,length:1};let n=r&127;for(let s=1;s<8;s++){if(r=e[t+s],r===void 0)throw new Xa(`varint underflow at offset ${t+s}`);if(n=n*128+(r&127),!(r&128)){if(n>Number.MAX_SAFE_INTEGER)throw new Xa("varint exceeds MAX_SAFE_INTEGER");return{value:n,length:s+1}}}if(r=e[t+8],r===void 0)throw new Xa(`varint underflow at offset ${t+8}`);if(n=n*256+r,n>Number.MAX_SAFE_INTEGER)throw new Xa("varint exceeds MAX_SAFE_INTEGER");return{value:n,length:9}}function jQt(e){if(e===0)return 0;if(e<=4)return e;if(e===5)return 6;if(e===6||e===7)return 8;if(e===8||e===9)return 0;if(e===10||e===11)throw new Xa(`reserved serial type ${e}`);return e%2===0?(e-12)/2:(e-13)/2}function PMn(e){let t="",r=null,n=e.length;for(let s=0;s=u.length)continue;let d=u[l],f;if(d==='"'||d==="`"){let g=u.indexOf(d,l+1);if(g<0)continue;f=u.slice(l+1,g),l=g+1}else if(d==="["){let g=u.indexOf("]",l+1);if(g<0)continue;f=u.slice(l+1,g),l=g+1}else{let g=u.slice(l).match(/^[A-Za-z_][A-Za-z0-9_]*/);if(!g)continue;f=g[0],l+=f.length}if(DMn.has(f.toUpperCase()))continue;let h=u.slice(l).trim(),p=(h.match(/^[A-Za-z_][A-Za-z0-9_]*/)?.[0]||"").toUpperCase(),m=p==="INTEGER"&&/\bPRIMARY\s+KEY\b/i.test(h);c.push({name:f,type:p,isIntegerPrimaryKey:m})}return c}var GPe,qQt,NMn,HQt,jPe,OMn,VQt,Xa,KPe,DMn,kW,KQt=oe(()=>{GPe=we(require("fs"),1),qQt=100,NMn="SQLite format 3\0",HQt=2,jPe=5,OMn=10,VQt=13,Xa=class extends Error{constructor(t){super(t),this.name="SqliteFormatError"}};KPe=class e{constructor(t){if(Buffer.isBuffer(t)||(t=Buffer.from(t)),t.length65536||n&n-1)throw new Xa(`invalid page size ${n}`);let s=t[20],i=t.readUInt32BE(28),a=t.readUInt32BE(56);if(a<1||a>3)throw new Xa(`unknown text encoding ${a}`);this.buffer=t,this.pageSize=n,this.pageCount=i,this.textEncoding=a,this.reservedPerPage=s,this.usablePageSize=n-s}static fromPath(t){return new e(GPe.default.readFileSync(t))}readPage(t){if(t<1||t>this.pageCount)throw new Xa(`page ${t} out of range (1..${this.pageCount})`);let r=(t-1)*this.pageSize;return this.buffer.slice(r,r+this.pageSize)}decodeText(t,r,n){if(this.textEncoding===1)return t.slice(r,r+n).toString("utf8");if(this.textEncoding===2)return t.slice(r,r+n).toString("utf16le");let s=Buffer.allocUnsafe(n);for(let i=0;i+1BigInt(Number.MAX_SAFE_INTEGER)||s=12){let s=jQt(n);return n%2===0?t.slice(r,r+s):this.decodeText(t,r,s)}throw new Xa(`unhandled serial type ${n}`)}decodeRecord(t){let r=MW(t,0),n=[],s=r.length;for(;s0;){let o=this.readPage(s),c=o.readUInt32BE(0),u=Math.min(a,i);n.push(o.slice(4,4+u)),i-=u,s=c}if(i>0)throw new Xa(`overflow chain truncated, ${i} bytes missing`);return Buffer.concat(n)}readBTreePageHeader(t,r){let n=r?qQt:0,s=t[n];if(s!==VQt&&s!==jPe&&s!==OMn&&s!==HQt)throw new Xa(`unknown B-tree page type 0x${s.toString(16)} at offset ${n}`);let i=t.readUInt16BE(n+3),a=t.readUInt16BE(n+5);a===0&&(a=65536);let o=s===jPe||s===HQt,c=o?12:8,u=o?t.readUInt32BE(n+8):0;return{type:s,cellCount:i,cellContentStart:a,rightPointer:u,headerSize:c,pageHeaderOffset:n,cellPointerArrayOffset:n+c}}readTableLeafCell(t,r){let n=this.usablePageSize,s=n-35,i=Math.floor((n-12)*32/255)-23,a=MW(t,r),o=a.value,c=MW(t,r+a.length),u=r+a.length+c.length;if(o<=s)return{rowid:c.value,payload:t.slice(u,u+o),payloadSize:o};let l=i+(o-i)%(n-4);l>s&&(l=i);let d=t.slice(u,u+l),f=t.readUInt32BE(u+l),h=o-l,p=this.readOverflowChain(f,h);return{rowid:c.value,payload:Buffer.concat([d,p]),payloadSize:o}}walkTable(t,r,n){let s=[t],i=!1;for(;s.length&&!i;){let a=s.pop(),o=this.readPage(a),c=a===1,u=this.readBTreePageHeader(o,c);if(u.type===VQt)for(let l=0;l=0;d--)s.push(l[d])}else throw new Xa(`walkTable hit non-table page type 0x${u.type.toString(16)} at page ${a}`)}}},DMn=new Set(["PRIMARY","UNIQUE","CHECK","FOREIGN","CONSTRAINT"]);kW=class e{constructor(t){this.file=new KPe(t),this.schemaCache=null}static fromPath(t){return new e(GPe.default.readFileSync(t))}ensureSchema(){if(this.schemaCache)return this.schemaCache;let t=new Map;return this.file.walkTable(1,5,({values:r})=>{let[n,s,,i,a]=r;n==="table"&&s&&i&&t.set(String(s),{name:String(s),rootpage:Number(i),sql:String(a||""),columns:LMn(String(a||""))})}),this.schemaCache={tables:t},this.schemaCache}listTables(){return[...this.ensureSchema().tables.keys()].filter(r=>!r.startsWith("sqlite_"))}tableInfo(t){return this.ensureSchema().tables.get(String(t))||null}tableColumns(t){let r=this.tableInfo(t);return r?r.columns.map(n=>n.name):[]}iterateRows(t,r){let n=this.tableInfo(t);if(!n)throw new Error(`unknown table: ${t}`);this.file.walkTable(n.rootpage,n.columns.length,({rowid:s,values:i})=>{let a={rowid:s};for(let o=0;o{(!r||r(s))&&n++}),n}findRows(t,r,n=1/0){let s=[];return this.iterateRows(t,i=>{if(r(i)&&(s.push(i),s.length>=n))return!1}),s}findOne(t,r){return this.findRows(t,r,1)[0]||null}distinctValues(t,r){let n=new Set;return this.iterateRows(t,s=>{let i=s[r];i!=null&&n.add(String(i))}),[...n]}close(){this.file=null,this.schemaCache=null}}});function Xw(){try{xp.default.mkdirSync(Ay,{recursive:!0})}catch{}}function ezt(){return Ay}function Jw(){let e=Number(process.env.DUDB_MAX_UPLOAD_MB||0);if(!Number.isFinite(e)||e<=0)return GQt;let t=Math.floor(e*1024*1024);return t<=0?GQt:Math.min(t,MMn)}function $W(e=Jw()){let t=e/1024/1024;return Number.isInteger(t)?`${t}MB`:`${t.toFixed(1)}MB`}function tzt(e,t=YQt){let r=Math.max(1,Math.floor(Number(t)||YQt));if(e==null||e==="")return r;let n=Number(e);return!Number.isFinite(n)||n<=0?r:Math.max(1,Math.floor(n))}function YPe(e={},t={}){return{searchDbLimit:tzt(e?.searchDbLimit,t.searchDbLimit)}}async function qW(e){let t=YPe(e?.config?.dudb||{}),r={};try{r=await e?.db?.getObjectDefault(JQt,{})}catch{}return YPe(r&&typeof r=="object"?r:{},t)}async function rzt(e,t={}){let r=YPe(t);return await e.db.push(JQt,r),r}function HW(e){let t=_y.default.basename(String(e||""));return!kMn.test(t)||!t.toLowerCase().endsWith(".db")?null:t}function qMn(e){return!e||e<1024?`${e||0}B`:e<1024*1024?`${(e/1024).toFixed(0)}K`:e<1024*1024*1024?`${(e/1024/1024).toFixed(1)}M`:`${(e/1024/1024/1024).toFixed(2)}G`}function nzt(e){return Buffer.from(e,"utf8").toString("base64url")}function szt(e){try{return Buffer.from(String(e),"base64url").toString("utf8")}catch{return""}}function HMn(e){return String(e||"").replace(/\.db$/i,"")}function FW(e){let t=String(e??"").trim();return/^https?:\/\//i.test(t)?t:$Mn}function izt(){Xw();let e=[];try{e=xp.default.readdirSync(Ay,{withFileTypes:!0})}catch{return[]}let t=[];for(let r of e){if(!r.isFile()||!r.name.toLowerCase().endsWith(".db")||r.name.split(".").length!==2)continue;let n=_y.default.join(Ay,r.name);try{let s=xp.default.statSync(n);if(s.size[a.name,a])),n=[];try{n=await e.db.getObjectDefault(UW,[])}catch{}let s=new Set,i=[];if(Array.isArray(n))for(let a of n){let o=r.get(a);o&&!s.has(a)&&(i.push(o),s.add(a))}for(let a of t)s.has(a.name)||i.push(a);return i.map(a=>({...a,key:nzt(a.name)}))}async function azt(e,t){let r=Array.isArray(t)?t.filter(n=>HW(n)):[];await e.db.push(UW,r)}async function ozt(e,t,r={}){let n=HW(e);if(!n)throw new Error("\u6587\u4EF6\u540D\u975E\u6CD5\u6216\u540E\u7F00\u4E0D\u662F .db");if(!t||typeof t[Symbol.asyncIterator]!="function")throw new Error("\u4E0A\u4F20\u6D41\u65E0\u6548");Xw();let s=Number(r.maxBytes||Jw()),i=_y.default.join(Ay,n);if(!(r.overwrite===!0||r.overwrite==="1"||r.overwrite==="true")&&xp.default.existsSync(i)){t.destroy?.();let l=new Error("\u6587\u4EF6\u5DF2\u5B58\u5728\uFF0C\u8BF7\u786E\u8BA4\u8986\u76D6");throw l.code="DUDB_UPLOAD_EXISTS",l.name=n,l}let o=_y.default.join(Ay,`.upload-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2)}.tmp`),c=0,u=new WQt.Transform({transform(l,d,f){if(c+=l.length,c>s){let h=new Error(`\u6587\u4EF6\u8D85\u8FC7 ${$W(s)} \u4E0A\u9650`);h.code="DUDB_UPLOAD_TOO_LARGE",f(h);return}f(null,l)}});try{if(await(0,XQt.pipeline)(t,u,xp.default.createWriteStream(o,{flags:"wx"})),ci!==r))}catch{}return{name:r}}function uzt(e){if(d3===e&&Cp){try{Cp.close()}catch{}Cp=null,d3=""}BW.delete(e)}function QPe(e){let t=HW(e);if(!t)return null;let r=_y.default.join(Ay,t);if(!xp.default.existsSync(r))return null;if(d3===t&&Cp)return Cp;if(Cp){try{Cp.close()}catch{}Cp=null,d3=""}return Cp=kW.fromPath(r),d3=t,Cp}function VMn(e){let t=e.listTables();return t.length===0?null:UMn.find(r=>t.includes(r))||t[0]}function jMn(e,t){let r=BMn,n=[],i=String(t||"").toLowerCase(),a=QPe(e.name);if(!a)return n;let o=zPe(a,e.name);if(!o)return n;let{table:c,mapping:u}=o,l=u.vod_id,d=u.vod_name,f=u.vod_pic,h=HMn(e.name),p=0;return a.iterateRows(c,m=>{let g=String(m[d]==null?"":m[d]);if(i&&!g.toLowerCase().includes(i))return;let _=l==="rowid"?m.rowid:m[l],y=f?String(m[f]==null?"":m[f]):"";if(n.push({vod_id:`${e.key}#ID#${_}`,vod_name:g,vod_pic:FW(y),vod_remarks:h}),p++,p>=r)return!1}),n}function zPe(e,t){if(BW.has(t))return BW.get(t);let r=VMn(e);if(!r)return null;let n=e.tableColumns(r),s=n.map(l=>l.toLowerCase()),i=new Set;for(let l of Object.values(QQt)){for(let d of l)n.includes(d)&&i.add(d);for(let d of n)l.some(f=>d.toLowerCase().includes(f.toLowerCase()))&&i.add(d)}let a=new Map;for(let l of i)a.set(l,[]);e.iterateRows(r,l=>{let d=!0;for(let[f,h]of a){if(h.length>=5)continue;d=!1;let p=l[f];p!=null&&p!==""&&h.push(p)}if(d)return!1});let o={};for(let[l,d]of Object.entries(QQt)){let f=d.filter(m=>n.includes(m));if(f.length===0&&(f=n.filter(m=>d.some(g=>m.toLowerCase().includes(g.toLowerCase())))),f.length===0){l==="category_field"?o[l]=null:l==="vod_id"?o[l]="rowid":o[l]=null;continue}let h=f[0],p=-1;for(let m of f){let g=a.get(m)||[],_=g.length*10;d.includes(m)&&(_+=50),l==="vod_play_url"&&g.length>0&&g.some(y=>/^(https?|rtsp|magnet|ftp):/i.test(String(y||"")))&&(_+=100),_>p&&(p=_,h=m)}o[l]=h}let c=FMn.filter(l=>s.includes(l)),u={table:r,mapping:o,picCols:c};return BW.set(t,u),u}async function lzt(e){return{class:(await VW(e)).map(n=>({type_id:n.key,type_name:`\u{1F4C1} ${n.name.replace(/\.db$/i,"")}`}))}}async function dzt(e,t,r){let n=String(t||"").split("$"),s=n[0],i=n.length>1?n[1]:null,a=szt(s);if(!a)return{list:[]};let o=QPe(a);if(!o)return{list:[]};let c=zPe(o,a);if(!c)return{list:[]};let{table:u,mapping:l,picCols:d}=c,f=l.category_field;if(i==null){let T=new Map;if(f&&o.iterateRows(u,w=>{let P=String(w[f]==null?"":w[f]);if(P=P.replace(/[()()]/g,"").trim(),!P)return;let M=T.get(P);if(M||(M={cnt:0,pic:""},T.set(P,M)),M.cnt+=1,!M.pic&&d.length>0)for(let L of d){let U=String(w[L]||"").trim();if(U.startsWith("http://")||U.startsWith("https://")){M.pic=U;break}}}),T.size<=1){let w=f?[...T.values()].reduce((L,U)=>L+U.cnt,0):o.countRows(u),P=500,M=[];for(let L=0;Lw.includes(L.toLowerCase()));if(M){let L=o.tableColumns(M),U=L.map(ue=>ue.toLowerCase()),Y=["id","category_id","type_id","cate_id","cat_id","tid"],$=["name","category_name","type_name","cate_name","cat_name","tname","title"],V=Y.find(ue=>U.includes(ue))||"id",W=$.find(ue=>U.includes(ue))||"name",G=L[U.indexOf(V)],se=L[U.indexOf(W)];G&&se&&o.iterateRows(M,ue=>{let te=ue[G];te!=null&&b.set(String(te),ue[se]!=null?String(ue[se]):String(te))})}}let x=[...T.entries()].map(([w,P])=>{let M=`${s}$${w}`,L=b.get(w)||w;return{cnt:P.cnt,vod_id:M,type_id:M,type_name:L,vod_name:L,vod_pic:P.pic||zQt,vod_tag:"folder",vod_remarks:`\u5171${P.cnt}\u6761\u{1F3AC}`,cate:{id:M,name:L}}});return x.sort((w,P)=>P.cnt-w.cnt),{page:1,pagecount:1,limit:999,list:x.map(({cnt:w,...P})=>P)}}let h=20,p=Math.max(1,Number(r)||1),m=(p-1)*h,g=l.vod_id,_=l.vod_name,y=l.vod_pic,E=l.vod_remarks,A=[],v=0;if(i.startsWith("CHUNK_")){let C=(Number(i.replace("CHUNK_",""))||0)+m;o.iterateRows(u,b=>{if(v=h)return!1})}else o.iterateRows(u,T=>{let C=f?T[f]:"\u65E0\u5206\u7C7B";if(String(C??"")!==i)return;if(v=h)return!1});return{page:p,pagecount:p+1,limit:h,list:A}}function KMn(e){let t=String(e||"").trim();return t?(t.includes("\\/")&&(t=t.replace(/\\\//g,"/")),t.includes("$$$")&&(t=t.split("$$$").pop()),t.includes("|")&&(t=t.split("|")[0]),t=t.replace(/t26\.cdn/g,"t33.cdn").replace(/t27\.cdn/g,"t33.cdn"),t):""}async function fzt(e,t){let r=Array.isArray(t)?t[0]:t,n=String(r||"").indexOf("#ID#");if(n<0)return{list:[]};let s=r.slice(0,n),i=r.slice(n+4),a=szt(s);if(!a)return{list:[]};let o=QPe(a);if(!o)return{list:[]};let c=zPe(o,a);if(!c)return{list:[]};let{table:u,mapping:l}=c,d=l.vod_id||"rowid",f=null;if(o.iterateRows(u,A=>{let v=d==="rowid"?A.rowid:A[d];if(String(v??"")===i)return f=A,!1}),!f)return{list:[]};let h=A=>{let v=l[A];if(!v)return"";let T=v==="rowid"?f.rowid:f[v];return T==null?"":String(T)},p=izt().find(A=>A.name===a),m=p?p.size_str:"",g=p?p.path:"",y=[`\u3010\u539F\u59CB\u7B80\u4ECB\u3011: ${h("vod_content")||"\u6682\u65E0\u8BE6\u7EC6\u63CF\u8FF0"}`,"--------------------------",`\u{1F4CA} \u6587\u4EF6\u5927\u5C0F: ${m}`,`\u2705 \u7269\u7406\u4F4D\u7F6E: ${g}`,`\u26A1 \u7D22\u5F15\u6807\u8BC6: ID_${i}`].join(` +`),E=h("vod_play_url");return E||(E=`Play#${i}`),E=KMn(E),E&&!E.includes("$")&&(E=`\u64AD\u653E$${E}`),{list:[{vod_id:r,vod_name:h("vod_name"),vod_pic:FW(h("vod_pic")),vod_remarks:h("vod_remarks"),vod_actor:h("vod_actor")||"\u5185\u8BE6",vod_content:y,vod_play_from:"DB\u6570\u636E\u5E93",vod_play_url:E}]}}async function hzt(e,t,r={}){let n=tzt(r.searchDbLimit),s=(await VW(e)).slice(0,n),i=[];for(let a of s)i.push(...jMn(a,t));return{list:i}}var xp,_y,WQt,XQt,Ay,UW,JQt,ZQt,GQt,MMn,kMn,YQt,BMn,UMn,QQt,FMn,zQt,$Mn,Cp,d3,BW,jW=oe(()=>{xp=we(require("fs"),1),_y=we(require("path"),1),WQt=require("stream"),XQt=require("stream/promises");KQt();Ay=_y.default.join(process.env.NODE_PATH||".","dudb"),UW="/dudb/order",JQt="/dudb/settings",ZQt=1024,GQt=512*1024*1024,MMn=1024*1024*1024,kMn=/^[\w一-龥\-. ()()\[\] ]+\.db$/i,YQt=3,BMn=50,UMn=["videos","vod_unified_data","cj","vod","mac_vod","data","video_detail","list"],QQt={vod_id:["id","vod_id","uuid","guid","vid"],vod_name:["name","vod_name","title","subject","display_name"],vod_pic:["image","vod_pic","pic","thumbnail","img","cover"],vod_play_url:["play_url","vod_play_url","url","link","m3u8_url","vod_url"],vod_remarks:["vod_remarks","remarks","content","desc","note","msg"],vod_actor:["actor","vod_actor","starring","performer"],vod_content:["content","vod_content","summary","description"],category_field:["type_name","category_id","class_name","cate_name","tag"]},FMn=["vod_pic","pic","cover","img","image","poster"],zQt="https://img.icons8.com/color/512/folder-invoices--v1.png",$Mn="https://img.icons8.com/color/512/video-file.png";Cp=null,d3="",BW=new Map});var gzt={};Bt(gzt,{default:()=>rkn});function YMn(e){let t=String(e||"").trim();if(!t)return!1;try{let r=new URL(t);return/\.m3u8$/i.test(r.pathname||"")}catch{return/\.m3u8(\?|$)/i.test(t)&&!/\.php(?:\?|$)/i.test(t)}}function QMn(e){let t=String(e?.headers?.host||"").trim(),r=String(e?.headers?.["x-forwarded-proto"]||"").split(",")[0].trim()||"http";return t?`${r}://${t}`:"http://127.0.0.1:3006"}function pzt(e,t,r=""){let s=`${QMn(e)}/spider/dudb/3/m3u8-clean?url=${encodeURIComponent(t)}`;return r&&(s+=`&referer=${encodeURIComponent(r)}`),s}function mzt(e){try{let t=new URL(e);return`${t.protocol}//${t.host}/`}catch{return""}}async function zMn(){return{}}async function WMn(e){let t=Vr("dudb",arguments[0]||{}),r=jr(t);if(r)return r;let n=lzt(e.server);return sn(t,n,Rt.static),n}async function XMn(e){let t=e.body||{};return dzt(e.server,String(t.id||""),t.page)}async function JMn(e){let t=e.body||{},r=Array.isArray(t.id)?t.id:[t.id];return fzt(e.server,r)}async function ZMn(e){let t=e.body||{},r=String(t.id||""),n=HT(r)||r;if(!n)return{parse:0,url:"",header:{"User-Agent":WPe}};if(YMn(n)){let s=mzt(n);return{parse:0,url:pzt(e,n,s),header:{"User-Agent":WPe}}}return{parse:0,url:n,header:{"User-Agent":WPe}}}async function ekn(e){let t=e.body||{},r=await qW(e.server);return{...await hzt(e.server,String(t.wd||""),{searchDbLimit:r.searchDbLimit}),page:t.page||1}}async function tkn(e,t){let r=String(e.query?.url||"").trim(),n=String(e.query?.referer||"").trim(),s=HT(r);if(!r)return t.code(400).send("missing url");if(!/^https?:\/\//i.test(s))return t.code(400).send("invalid url");let i={"User-Agent":GMn,Accept:"*/*"},a=n||mzt(s);a&&(i.Referer=a);try{let o=await Ye.get(s,{headers:i,timeout:1e4,responseType:"text",validateStatus:u=>u>=200&&u<400}),c=dRe(o?.data,s,u=>pzt(e,u,a));return t.header("Content-Type","application/vnd.apple.mpegurl; charset=utf-8"),t.header("Access-Control-Allow-Origin","*"),t.header("Cache-Control","public, max-age=15"),t.send(c)}catch(o){return console.warn("[dudb.m3u8-clean] failed:",o?.message||"unknown"),t.redirect(s)}}var WPe,GMn,rkn,_zt=oe(()=>{Dn();jW();kr();hRe();Xw();WPe="Dalvik/2.1.0 (Linux; U; Android 9; MIbox PRO Build/PI)",GMn="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36";rkn={meta:{key:"dudb",name:"\u{1F4C1} \u672C\u5730DB",type:3},api:async e=>{e.post("/init",zMn),e.post("/home",WMn),e.post("/category",XMn),e.post("/detail",JMn),e.post("/play",ZMn),e.post("/search",ekn),e.get("/m3u8-clean",tkn)}}});var Azt={};Bt(Azt,{default:()=>nkn});var nkn,Ezt=oe(()=>{nkn={meta:{key:"js",name:"\u{1F4E6} \u672C\u5730JS",type:3},api:async e=>{e.post("/init",async()=>({})),e.post("/home",async()=>({class:[],filters:{}})),e.post("/category",async t=>({page:t?.body?.page||1,pagecount:1,limit:0,total:0,list:[]})),e.post("/detail",async()=>({list:[]})),e.post("/play",async t=>({parse:0,url:t?.body?.id||""})),e.post("/search",async t=>({page:t?.body?.page||1,pagecount:1,limit:0,total:0,list:[]}))}}});var Szt={};Bt(Szt,{default:()=>lkn});function skn(e){return f3.default.enc.Utf8.stringify(f3.default.enc.Base64.parse(e))}function yzt(e){return f3.default.enc.Base64.stringify(f3.default.enc.Utf8.parse(e))}async function ikn(e,t){return{}}async function akn(e,t){return{class:[{type_id:"setting",type_name:`${e.server.address().url}/website`}]}}async function okn(e,t){let r=e.body.id,n=[],s=e.server.address().url+e.server.prefix+"/proxy";return{page:1,pagecount:1,limit:1,total:1,list:[{vod_id:String(Math.random()),vod_name:"\u626B\u7801\u914D\u7F6E",vod_pic:s+"/"+yzt(`${e.server.address().url}/website`)},{vod_id:"openInternalWebsite",vod_name:"\u70B9\u51FB\u914D\u7F6E",vod_pic:s+"/"+yzt(`${e.server.address().url}/website`)}]}}async function ckn(e,t){return e.body.id==="openInternalWebsite"?(await Qr.dispatch("openInternalWebview",{opt:{url:`${e.server.address().url}/website`}}),{list:[{vod_name:"",vod_content:"",vod_remarks:""}]}):{list:[{vod_name:"",vod_content:"",vod_remarks:""}]}}async function ukn(e,t){let r=e.params.img,n=skn(r),s=await vzt.default.toBuffer(n,{width:120,height:120,margin:15});t.send(s)}var f3,vzt,lkn,Tzt=oe(()=>{f3=we(ki(),1);Dn();vzt=we(yE(),1);Nd();lkn={meta:{key:"baseset",name:"\u2699\uFE0F \u914D\u7F6E",type:3},api:async e=>{e.post("/init",ikn),e.post("/home",akn),e.post("/category",okn),e.post("/detail",ckn),e.get("/proxy/:img",ukn)}}});var bzt={};Bt(bzt,{default:()=>_kn});function fkn(e){return{vod_id:e,vod_content:"",vod_name:e,vod_pic:dkn,vod_remarks:""}}async function hkn(e,t){return{}}async function pkn(e,t){let r=String(e?.body?.clip||e?.body?.id||"").trim();return r&&await o7(r)?"true":"false"}async function mkn(e,t){let r=Array.isArray(e.body.id)?e.body.id:[e.body.id];return{list:await Promise.all(r.map(async s=>{let i=String(s||"").trim(),a=fkn(i);if(!i)return a;let o=qT("detail",{id:i});try{let c=await Pn("push","detail",o,()=>di(i,e),{timeout:15e3});c&&(a.vod_play_from=c.froms,a.vod_play_url=c.urls,Array.isArray(c.links)&&c.links.length>0&&(a.vod_links=c.links))}catch{}return a}))}}async function gkn(e,t){try{let r=function(o){o.statusCode&&o.statusCode==500&&console.error(o)},n=e.server.prefix,s={},i=await e.server.inject().post(`${n}/support`).payload({clip:"https://xx.xx/1.m3u8"}),a=i.json();return s.support=a,r(a),i=await e.server.inject().post(`${n}/detail`).payload({id:"https://xx.xx/1.m3u8"}),a=i.json(),s.detail=a,r(a),i=await e.server.inject().post(`${n}/play`).payload({flag:"xx",id:"https://xx.xx/1.m3u8"}),a=i.json(),s.play=a,r(a),s}catch(r){return console.error(r),t.code(500),{err:r.message,tip:"check debug console output"}}}var dkn,_kn,Izt=oe(()=>{Yu();lE();ta();dkn="https://pic.rmb.bdstatic.com/bjh/1d0b02d0f57f0a42201f92caba5107ed.jpeg";_kn={meta:{key:"push",name:"\u2699\uFE0F \u63A8\u9001",type:4},api:async e=>{e.post("/init",hkn),e.post("/support",pkn),e.post("/detail",mkn),e.post("/play",ti),e.get("/test",gkn),e.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",ws)}}});var Jzt={};Bt(Jzt,{runWorkerProbe:()=>f4n});function g3(e){return{name:e?.name||"Error",message:e?.message||String(e),code:e?.code,stack:String(e?.stack||"").split(` +`).slice(0,6).join(" | ")}}function Xzt(e,t,r=3e4){return new Promise((n,s)=>{let i=setTimeout(()=>s(new Error(`worker timeout ${r}ms`)),r);e.once("message",a=>{clearTimeout(i),n(a)}),e.once("error",a=>{clearTimeout(i),s(a)}),e.once("exit",a=>{clearTimeout(i),s(new Error(`worker exited code=${a} before message`))}),e.postMessage(t)})}async function f4n(){let e={nodeVersion:process.version,platform:process.platform,arch:process.arch,iterations:JW,cpus:null,parallelism:null,moduleLoad:{ok:!1,error:null,exports:[]},main:{ok:!1,ms:null,sample:null,error:null},workerSingle:{ok:!1,ms:null,workerMs:null,sample:null,error:null},workerParallel:{ok:!1,n:0,ms:null,perWorkerMs:null,error:null},speedup:null};try{let a=await import("node:os");e.cpus=a.cpus()?.length??null,e.parallelism=typeof a.availableParallelism=="function"?a.availableParallelism():null}catch(a){e.cpusError=g3(a)}let t;try{t=await import("node:worker_threads"),e.moduleLoad.ok=!0,e.moduleLoad.exports=Object.keys(t).filter(a=>!a.startsWith("_")&&a!=="default")}catch(a){return e.moduleLoad.error=g3(a),e}let{Worker:r}=t;if(typeof r!="function")return e.moduleLoad.error={message:`Worker is not a constructor (typeof=${typeof r})`},e;try{let a=await import("node:crypto"),o=Date.now(),c="";for(let u=0;unew r(Wzt,{eval:!0}));let a=Date.now(),o=await Promise.all(i.map((c,u)=>Xzt(c,{iterations:JW,salt:`${_Le}:${u}`})));e.workerParallel.ms=Date.now()-a,e.workerParallel.n=s,e.workerParallel.perWorkerMs=o.map(c=>c.ms),e.workerParallel.ok=!0}catch(a){e.workerParallel.error=g3(a)}finally{await Promise.all(i.map(async a=>{try{await a.terminate()}catch{}}))}if(e.workerSingle.ok&&e.workerParallel.ok){e.speedup={singleWorkerMs:e.workerSingle.workerMs,parallelTotalMs:e.workerParallel.ms,idealSerialMs:e.workerSingle.workerMs*s,effectiveSpeedup:e.workerParallel.ms>0?Number((e.workerSingle.workerMs*s/e.workerParallel.ms).toFixed(2)):null,verdict:null};let a=e.speedup.effectiveSpeedup;a===null?e.speedup.verdict="unknown":a>=s*.7?e.speedup.verdict=`good (\u2248${a}x of ${s})`:a>=1.5?e.speedup.verdict=`partial (${a}x of ${s}, multi-core but limited)`:e.speedup.verdict=`degenerate (${a}x \u2014 workers likely serialized, not actually parallel)`}return e}var JW,_Le,Wzt,Zzt=oe(()=>{JW=2e5,_Le="probe_2026",Wzt=` +(async () => { + const { parentPort } = await import('node:worker_threads'); + const { createHash } = await import('node:crypto'); + parentPort.on('message', (msg) => { + const { iterations, salt } = msg; + const t0 = Date.now(); + let acc = ''; + for (let i = 0; i < iterations; i += 1) { + acc = createHash('sha256').update(String(i) + salt).digest('hex'); + } + parentPort.postMessage({ ms: Date.now() - t0, sample: acc.slice(0, 12) }); + }); +})(); +`});var eWt=S(xb=>{"use strict";Object.defineProperty(xb,"__esModule",{value:!0});xb.removeTrailingChar=xb.merge=void 0;var p4n=(...e)=>{let t={};return e.forEach(function(r){var n;for(n in r)n in t&&t[n]===null?t[n]=r[n]:n in t&&Array.isArray(t[n])?t[n]=t[n].concat(r[n]):n in t&&typeof t[n]=="object"?t[n]=(0,xb.merge)(t[n],r[n]):t[n]=r[n]}),t};xb.merge=p4n;var m4n=(e,t)=>e.length>1&&e.endsWith(t)?e.substring(0,e.length-1):e;xb.removeTrailingChar=m4n});var tN=S(yy=>{"use strict";Object.defineProperty(yy,"__esModule",{value:!0});yy.DataError=yy.DatabaseError=yy.NestedError=void 0;var _3=class extends Error{inner;id;constructor(t,r,n){super(t),this.inner=n,this.id=r,this.name=this.constructor.name}toString(){let t=this.name+": "+this.message;return this.inner?t+`: +`+this.inner:t}};yy.NestedError=_3;var ELe=class extends _3{};yy.DatabaseError=ELe;var yLe=class extends _3{};yy.DataError=yLe});var ILe=S(cu=>{"use strict";Object.defineProperty(cu,"__esModule",{value:!0});cu.getArrayIndicies=cu.validateArrayIndex=cu.validateArrayIndicies=cu.isInt=cu.ArrayInfo=cu.arrayRegex=void 0;var rX=tN(),g4n=()=>/^([\.0-9a-zA-Z_$\-][0-9a-zA-Z_\-$\.]*)\[((?!(\]|\[)).*|)\]$/gm;cu.arrayRegex=g4n;var vLe={},SLe=class e{property;index=0;append=!1;indicies=[];constructor(t,r){this.property=t;let n=r[0]??0;if(this.append=n===""||r[r.length-1]==="",this.indicies=r,TLe(n))this.index=parseInt(n);else if(!this.append)throw new rX.DataError("Only numerical values accepted for array index",200)}static processArray(t){if(typeof t>"u")return null;if(vLe[t])return vLe[t];let n=(0,cu.arrayRegex)().exec(t.trim());if(n!=null){let s=n[1],i="["+n[2].toString()+"]",a=bLe(i);return tWt(a),vLe[t]=new e(s,a)}return null}getIndex(t,r){if(this.append)return-1;let n=this.index;if(n==-1){let s=r?t:t[this.property];return s.length===0?0:s.length-1}return n}getData(t){if(this.append)throw new rX.DataError("Can't get data when appending",100);let{index:r,dataForProperty:n}=this.getArrayDataAndIndexFromProperty(t);return n[r]}setData(t,r){if(this.append){let n=t[this.property];this.indicies.forEach(s=>{s!==""&&(s=+s,s===-1&&(s=n.length-1),n=n[+s])}),n.push(r)}else{let{index:n,dataForProperty:s}=this.getArrayDataAndIndexFromProperty(t);n===-1?s.push(r):s[n]=r}}delete(t){if(this.append)throw new rX.DataError("Can't delete an appended data",10);let{index:r,dataForProperty:n}=this.getArrayDataAndIndexFromProperty(t);n.splice(r,1)}isValid(t){let{index:r,dataForProperty:n}=this.getArrayDataAndIndexFromProperty(t);return n.hasOwnProperty(r)}getArrayDataAndIndexFromProperty(t){let r=0,n=t instanceof Array?t:t[this.property]??t;if(this.indicies.length>0){r=+this.indicies[this.indicies.length-1];for(let s=0;s1}};cu.ArrayInfo=SLe;function TLe(e){return!isNaN(e)&&Number(e)==e&&!isNaN(parseInt(e,10))}cu.isInt=TLe;function tWt(e){let t=e.filter(r=>r==="");if(t.length>1)throw Error("Only one append index is supported for nested arrays");if(t.length===1&&e[e.length-1]!=="")throw Error("Append index must be at the end of the nested array")}cu.validateArrayIndicies=tWt;function rWt(e){if(e.length!==0&&!TLe(e))throw new rX.DataError("Only numerical values accepted for array index",200)}cu.validateArrayIndex=rWt;function bLe(e){if(e.length===0)return[];if(e.charAt(0)!=="[")throw new Error("Invalid array syntax detected");let t=e.substring(1,e.indexOf("]"));rWt(t);let r=t.length+2;return[t,...bLe(e.substring(r))]}cu.getArrayIndicies=bLe});var iWt=S(nX=>{"use strict";Object.defineProperty(nX,"__esModule",{value:!0});nX.DBParentData=void 0;var nWt=ILe(),sWt=tN(),RLe=class{parent;data;db;dataPath;constructor(t,r,n,s){this.parent=s,this.data=t,this.db=r,this.dataPath=n}checkArray(t=!1){let r=nWt.ArrayInfo.processArray(this.parent);if(r&&(!r.append||t)&&!r.isValid(this.data))throw new sWt.DataError("DataPath: /"+this.dataPath+". Can't find index "+r.index+" in array "+r.property,10);return r}getData(){if(this.parent===void 0)return this.data;let t=this.checkArray();return t?t.getData(this.data):this.data[this.parent]}setData(t){if(this.parent===void 0){this.db.resetData(t);return}let r=nWt.ArrayInfo.processArray(this.parent);if(r){if(!this.data.hasOwnProperty(r.property))this.data[r.property]=[];else if(!Array.isArray(this.data[r.property]))throw new sWt.DataError("DataPath: /"+this.dataPath+". "+r.property+" is not an array.",11);r.setData(this.data,t)}else this.data[this.parent]=t}delete(){if(this.parent===void 0){this.db.resetData({});return}let t=this.checkArray(!0);t?t.delete(this.data):delete this.data[this.parent]}};nX.DBParentData=RLe});var oWt=S((_Ns,aWt)=>{aWt.exports=function(){"use strict";function e(){this.readers=0,this.queue=[]}function t(i,a,o){var c;typeof i!="function"?(s.hasOwnProperty(i)||(s[i]=new e),c=s[i]):(o=a,a=i,c=n),o||(o={});var u=null;o.hasOwnProperty("scope")&&(u=o.scope);var l=function(){var h=!1;return function(){h||(h=!0,c.readers--,c.queue.length&&c.queue[0]())}}();if(c.readers<0||c.queue.length){var d=!1;if(c.queue.push(function(){!d&&c.readers>=0&&(d=!0,c.queue.shift(),c.readers++,a.call(u,l),c.queue.length&&c.queue[0]())}),o.hasOwnProperty("timeout")){var f=null;o.hasOwnProperty("timeoutCallback")&&(f=o.timeoutCallback),setTimeout(function(){d||(d=!0,c.queue.shift(),f&&f.call(o.scope))},o.timeout)}}else c.readers++,a.call(o.scope,l)}function r(i,a,o){var c;typeof i!="function"?(s.hasOwnProperty(i)||(s[i]=new e),c=s[i]):(o=a,a=i,c=n),o||(o={});var u=null;o.hasOwnProperty("scope")&&(u=o.scope);var l=function(){var h=!1;return function(){h||(h=!0,c.readers=0,c.queue.length&&c.queue[0]())}}();if(c.readers||c.queue.length){var d=!1;if(c.queue.push(function(){d||c.readers||(d=!0,c.queue.shift(),c.readers=-1,a.call(o.scope,l))}),o.hasOwnProperty("timeout")){var f=null;o.hasOwnProperty("timeoutCallback")&&(f=o.timeoutCallback),setTimeout(function(){d||(d=!0,c.queue.shift(),f&&f.call(u))},o.timeout)}}else c.readers=-1,a.call(o.scope,l)}var n=new e,s={};this.readLock=t,this.writeLock=r,this.async={readLock:function(i,a,o){typeof i!="function"?t(i,function(c){a.call(this,null,c)},o):(a=i,o=a,t(function(c){a.call(this,null,c)},o))},writeLock:function(i,a,o){typeof i!="function"?r(i,function(c){a.call(this,null,c)},o):(a=i,o=a,r(function(c){a.call(this,null,c)},o))}}}});var cWt=S(sX=>{"use strict";Object.defineProperty(sX,"__esModule",{value:!0});sX.TimeoutError=void 0;var _4n=tN(),CLe=class extends _4n.NestedError{};sX.TimeoutError=CLe});var dWt=S(rN=>{"use strict";Object.defineProperty(rN,"__esModule",{value:!0});rN.writeLockAsync=rN.readLockAsync=void 0;var A4n=oWt(),uWt=cWt(),lWt=new A4n,E4n=(e,t=null)=>{let r={};return t!=null&&(r={timeout:t}),new Promise((n,s)=>{lWt.readLock(async i=>{try{let a=await e();n(a)}catch(a){s(a)}finally{i()}},{...r,timeoutCallback(){s(new uWt.TimeoutError("Timeout",100))}})})};rN.readLockAsync=E4n;var y4n=(e,t=null)=>{let r={};return t!=null&&(r={timeout:t}),new Promise((n,s)=>{lWt.writeLock(async i=>{try{let a=await e();n(a)}catch(a){s(a)}finally{i()}},{...r,timeoutCallback(){s(new uWt.TimeoutError("Timeout",100))}})})};rN.writeLockAsync=y4n});var wLe=S(iX=>{"use strict";Object.defineProperty(iX,"__esModule",{value:!0});iX.JsonAdapter=void 0;var xLe=class{adapter;humanReadable;dateRegex=new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}","m");constructor(t,r=!1){this.adapter=t,this.humanReadable=r}replacer(t,r){return r}reviver(t,r){return typeof r=="string"&&this.dateRegex.exec(r)!=null?new Date(r):r}async readAsync(){let t=await this.adapter.readAsync();return t==null?(await this.writeAsync({}),{}):JSON.parse(t,this.reviver.bind(this))}writeAsync(t){let r="";return this.humanReadable?r=JSON.stringify(t,this.replacer.bind(this),4):r=JSON.stringify(t,this.replacer.bind(this)),this.adapter.writeAsync(r)}};iX.JsonAdapter=xLe});var OLe=S(oX=>{"use strict";Object.defineProperty(oX,"__esModule",{value:!0});oX.FileAdapter=void 0;var aX=require("fs/promises"),v4n=require("path"),NLe=class{filename;fsync;constructor(t,r){this.filename=t,this.fsync=r}async readAsync(){try{return await(0,aX.readFile)(this.filename,{encoding:"utf-8"})}catch(t){if(t.code==="ENOENT")return null;throw t}}async writeAsync(t){let r=null;try{r=await(0,aX.open)(this.filename,"w")}catch(n){if(n.code!=="ENOENT")throw n;let s=v4n.dirname(this.filename);await(0,aX.mkdir)(s,{recursive:!0}),r=await(0,aX.open)(this.filename,"w")}try{await r.writeFile(t,{encoding:"utf-8"}),this.fsync&&await r.sync()}finally{await r.close()}}};oX.FileAdapter=NLe});var fWt=S(nN=>{"use strict";Object.defineProperty(nN,"__esModule",{value:!0});nN.ConfigWithAdapter=nN.Config=void 0;var S4n=require("path"),T4n=wLe(),b4n=OLe(),DLe=class{adapter;filename;saveOnPush;separator;constructor(t,r=!0,n=!1,s="/",i=!1){this.filename=t,S4n.extname(t)===""&&(this.filename+=".json"),this.saveOnPush=r,this.separator=s,this.adapter=new T4n.JsonAdapter(new b4n.FileAdapter(this.filename,i),n)}};nN.Config=DLe;var PLe=class{adapter;saveOnPush;separator;constructor(t,r=!0,n="/"){this.adapter=t,this.saveOnPush=r,this.separator=n}};nN.ConfigWithAdapter=PLe});var gWt=S(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.JsonDB=Ic.FileAdapter=Ic.JsonAdapter=Ic.DataError=Ic.DatabaseError=Ic.ConfigWithAdapter=Ic.Config=void 0;var hWt=eWt(),bc=tN(),I4n=iWt(),R4n=ILe(),LLe=dWt(),pWt=fWt();Object.defineProperty(Ic,"Config",{enumerable:!0,get:function(){return pWt.Config}});Object.defineProperty(Ic,"ConfigWithAdapter",{enumerable:!0,get:function(){return pWt.ConfigWithAdapter}});var mWt=tN();Object.defineProperty(Ic,"DatabaseError",{enumerable:!0,get:function(){return mWt.DatabaseError}});Object.defineProperty(Ic,"DataError",{enumerable:!0,get:function(){return mWt.DataError}});var C4n=wLe();Object.defineProperty(Ic,"JsonAdapter",{enumerable:!0,get:function(){return C4n.JsonAdapter}});var x4n=OLe();Object.defineProperty(Ic,"FileAdapter",{enumerable:!0,get:function(){return x4n.FileAdapter}});var MLe=class{loaded=!1;data={};config;constructor(t){this.config=t}processDataPath(t){if(t===void 0||!t.trim())throw new bc.DataError("The Data Path can't be empty",6);if(t==this.config.separator)return[];t=(0,hWt.removeTrailingChar)(t,this.config.separator);let r=t.split(this.config.separator);return r.shift(),r}async retrieveData(t,r=!1){await this.load();let n=this,s=(i,a)=>{let o=t[a];function c(l=!1){if(i.hasOwnProperty(o))i=i[o];else if(r)l?i[o]=[]:i[o]={},i=i[o];else throw new bc.DataError(`Can't find dataPath: ${n.config.separator}${t.join(n.config.separator)}. Stopped at ${o}`,5)}let u=R4n.ArrayInfo.processArray(o);if(u){if(o=u.property,c(!0),!Array.isArray(i))throw new bc.DataError(`DataPath: ${n.config.separator}${t.join(n.config.separator)}. ${o} is not an array.`,11);let l=u.getIndex(i,!0);if(!u.append&&i.hasOwnProperty(l))i=u.getData(i);else if(r)u.append?(i.push({}),i=i[i.length-1]):(i[l]={},i=i[l]);else throw new bc.DataError(`DataPath: ${n.config.separator}${t.join(n.config.separator)}. . Can't find index ${u.index} in array ${o}`,10)}else c();return t.length==++a?i:s(i,a)};return t.length===0?this.data:s(this.data,0)}async getParentData(t,r){let n=this.processDataPath(t),s=n.pop();return new I4n.DBParentData(await this.retrieveData(n,r),this,t,s)}getData(t){return(0,LLe.readLockAsync)(async()=>{let r=this.processDataPath(t);return this.retrieveData(r,!1)})}getObject(t){return this.getData(t)}async getObjectDefault(t,r){try{return await this.getData(t)}catch(n){if(!(n instanceof bc.DataError)||n.id!=5)throw n;return r}}async exists(t){try{return await this.getData(t),!0}catch(r){if(r instanceof bc.DataError)return!1;throw r}}async count(t){let r=await this.getData(t);if(!Array.isArray(r))throw new bc.DataError(`DataPath: ${t} is not an array.`,11);let n=this.processDataPath(t);return(await this.retrieveData(n,!1)).length}async getIndex(t,r,n="id"){return(await this.getArrayData(t)).map(function(i){return i[n]}).indexOf(r)}async getIndexValue(t,r){return(await this.getArrayData(t)).indexOf(r)}async getArrayData(t){let r=await this.getData(t);if(!Array.isArray(r))throw new bc.DataError(`DataPath: ${t} is not an array.`,11);let n=this.processDataPath(t);return this.retrieveData(n,!1)}async filter(t,r){let n=await this.getData(t);if(Array.isArray(n))return n.filter(r);if(n instanceof Object){let i=Object.entries(n).filter(a=>r(a[1],a[0]));return!i||i.length<1?void 0:i.map(a=>a[1])}throw new bc.DataError("The entry at the path ("+t+") needs to be either an Object or an Array",12)}async find(t,r){let n=await this.getData(t);if(Array.isArray(n))return n.find(r);if(n instanceof Object){let i=Object.entries(n).find(a=>r(a[1],a[0]));return!i||i.length<2?void 0:i[1]}throw new bc.DataError("The entry at the path ("+t+") needs to be either an Object or an Array",12)}async push(t,r,n=!0){return(0,LLe.writeLockAsync)(async()=>{let s=await this.getParentData(t,!0),i=r;if(!n){if(Array.isArray(r)){let a=s.getData();if(a===void 0)a=[];else if(!Array.isArray(a))throw new bc.DataError("Can't merge another type of data with an Array",3);i=a.concat(r)}else if(r===Object(r)){if(Array.isArray(s.getData()))throw new bc.DataError("Can't merge an Array with an Object",4);i=(0,hWt.merge)(s.getData(),r)}}s.setData(i),this.config.saveOnPush&&await this.save()})}async delete(t){await(0,LLe.writeLockAsync)(async()=>{(await this.getParentData(t,!0)).delete(),this.config.saveOnPush&&await this.save()})}resetData(t){this.data=t}async reload(){this.loaded=!1,await this.load()}async load(){if(!this.loaded)try{this.data=await this.config.adapter.readAsync(),this.loaded=!0}catch(t){throw new bc.DatabaseError("Can't Load Database",1,t)}}async save(t){if(t=t||!1,!t&&!this.loaded)throw new bc.DatabaseError("DataBase not loaded. Can't write",7);try{await this.config.adapter.writeAsync(this.data)}catch(r){throw new bc.DatabaseError("Can't save the database",2,r)}}async fromPath(t,r="id"){let[,...n]=t.split("/"),s=n.reduce((a,o,c)=>{if(c%2===0)a[`${o}`]="";else{let l=Object.keys(a);a[`${l[l.length-1]}`]=`${o}`}return a},{}),i=[];for await(let a of Object.keys(s)){i.push(`/${a}`);let o=s[a];try{let c=await this.getIndex(i.join(""),o,r);i.push(`[${c}]`)}catch(c){throw new bc.DataError(`DataPath: ${i.join("")}/${o} not found.`,13,c)}}return i.join("")}};Ic.JsonDB=MLe});var pMe=S((dOs,UWt)=>{"use strict";var{EventEmitter:X4n}=require("node:events"),{inherits:J4n}=require("node:util");function Ob(e){if(typeof e=="string"&&(e=Buffer.from(e)),!Buffer.isBuffer(e))throw new TypeError("The needle has to be a String or a Buffer.");let t=e.length,r=t-1;if(t===0)throw new Error("The needle cannot be an empty String/Buffer.");if(t>256)throw new Error("The needle cannot have a length bigger than 256.");this.maxMatches=1/0,this.matches=0,this._occ=new Uint8Array(256).fill(t),this._lookbehind_size=0,this._needle=e,this._bufpos=0,this._lookbehind=Buffer.alloc(r);for(var n=0;n=0)this.emit("info",!1,this._lookbehind,0,this._lookbehind_size),this._lookbehind_size=0;else{let c=this._lookbehind_size+a;return c>0&&this.emit("info",!1,this._lookbehind,0,c),this._lookbehind_size-=c,this._lookbehind.copy(this._lookbehind,0,c,this._lookbehind_size),e.copy(this._lookbehind,this._lookbehind_size),this._lookbehind_size+=t,this._bufpos=t,t}}if(a=e.indexOf(r,a+this._bufpos),a!==-1)return++this.matches,a===0?this.emit("info",!0):this.emit("info",!0,e,this._bufpos,a),this._bufpos=a+n;for(a=t-s,a<0&&(a=0);a!==t&&(e[a]!==r[0]||Buffer.compare(e.subarray(a+1,t),r.subarray(1,t-a))!==0);)++a;return a!==t&&(e.copy(this._lookbehind,0,a,t),this._lookbehind_size=t-a),a!==0&&this.emit("info",!1,e,this._bufpos,a),this._bufpos=t,t};Ob.prototype._sbmh_lookup_char=function(e,t){return t<0?this._lookbehind[this._lookbehind_size+t]:e[t]};Ob.prototype._sbmh_memcmp=function(e,t,r){for(var n=0;n{"use strict";var Z4n=require("node:util").inherits,FWt=require("node:stream").Readable;function mMe(e){FWt.call(this,e)}Z4n(mMe,FWt);mMe.prototype._read=function(e){};$Wt.exports=mMe});var fX=S((hOs,HWt)=>{"use strict";HWt.exports=function(t,r,n){if(!t||t[r]===void 0||t[r]===null)return n;if(typeof t[r]!="number"||isNaN(t[r]))throw new TypeError("Limit "+r+" is not a valid number");return t[r]}});var GWt=S((pOs,KWt)=>{"use strict";var jWt=require("node:events").EventEmitter,eBn=require("node:util").inherits,VWt=fX(),tBn=pMe(),rBn=Buffer.from(`\r +\r +`),nBn=/\r\n/g,sBn=/^([^:]+):[ \t]?([\x00-\xFF]+)?$/;function iN(e){jWt.call(this),e=e||{};let t=this;this.nread=0,this.maxed=!1,this.npairs=0,this.maxHeaderPairs=VWt(e,"maxHeaderPairs",2e3),this.maxHeaderSize=VWt(e,"maxHeaderSize",80*1024),this.buffer="",this.header={},this.finished=!1,this.ss=new tBn(rBn),this.ss.on("info",function(r,n,s,i){n&&!t.maxed&&(t.nread+i-s>=t.maxHeaderSize?(i=t.maxHeaderSize-t.nread+s,t.nread=t.maxHeaderSize,t.maxed=!0):t.nread+=i-s,t.buffer+=n.toString("binary",s,i)),r&&t._finish()})}eBn(iN,jWt);iN.prototype.push=function(e){let t=this.ss.push(e);if(this.finished)return t};iN.prototype.reset=function(){this.finished=!1,this.buffer="",this.header={},this.ss.reset()};iN.prototype._finish=function(){this.buffer&&this._parseHeader(),this.ss.matches=this.ss.maxMatches;let e=this.header;this.header={},this.buffer="",this.finished=!0,this.nread=this.npairs=0,this.maxed=!1,this.emit("header",e)};iN.prototype._parseHeader=function(){if(this.npairs===this.maxHeaderPairs)return;let e=this.buffer.split(nBn),t=e.length,r,n;for(var s=0;s{"use strict";var gMe=require("node:stream").Writable,iBn=require("node:util").inherits,aBn=pMe(),YWt=qWt(),oBn=GWt(),cBn=45,uBn=Buffer.from("-"),lBn=Buffer.from(`\r +`),dBn=function(){};function P0(e){if(!(this instanceof P0))return new P0(e);if(gMe.call(this,e),!e||!e.headerFirst&&typeof e.boundary!="string")throw new TypeError("Boundary required");typeof e.boundary=="string"?this.setBoundary(e.boundary):this._bparser=void 0,this._headerFirst=e.headerFirst,this._dashes=0,this._parts=0,this._finished=!1,this._realFinish=!1,this._isPreamble=!0,this._justMatched=!1,this._firstWrite=!0,this._inHeader=!0,this._part=void 0,this._cb=void 0,this._ignoreData=!1,this._partOpts={highWaterMark:e.partHwm},this._pause=!1;let t=this;this._hparser=new oBn(e),this._hparser.on("header",function(r){t._inHeader=!1,t._part.emit("header",r)})}iBn(P0,gMe);P0.prototype.emit=function(e){if(e==="finish"&&!this._realFinish){if(!this._finished){let t=this;process.nextTick(function(){if(t.emit("error",new Error("Unexpected end of multipart data")),t._part&&!t._ignoreData){let r=t._isPreamble?"Preamble":"Part";t._part.emit("error",new Error(r+" terminated early due to unexpected end of multipart data")),t._part.push(null),process.nextTick(function(){t._realFinish=!0,t.emit("finish"),t._realFinish=!1});return}t._realFinish=!0,t.emit("finish"),t._realFinish=!1})}}else gMe.prototype.emit.apply(this,arguments)};P0.prototype._write=function(e,t,r){if(!this._hparser&&!this._bparser)return r();if(this._headerFirst&&this._isPreamble){this._part||(this._part=new YWt(this._partOpts),this.listenerCount("preamble")!==0?this.emit("preamble",this._part):this._ignore());let n=this._hparser.push(e);if(!this._inHeader&&n!==void 0&&n{"use strict";var zWt=new TextDecoder("utf-8"),WWt=new Map([["utf-8",zWt],["utf8",zWt]]);function fBn(e){let t;for(;;)switch(e){case"utf-8":case"utf8":return y3.utf8;case"latin1":case"ascii":case"us-ascii":case"iso-8859-1":case"iso8859-1":case"iso88591":case"iso_8859-1":case"windows-1252":case"iso_8859-1:1987":case"cp1252":case"x-cp1252":return y3.latin1;case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return y3.utf16le;case"base64":return y3.base64;default:if(t===void 0){t=!0,e=e.toLowerCase();continue}return y3.other.bind(e)}}var y3={utf8:(e,t)=>e.length===0?"":(typeof e=="string"&&(e=Buffer.from(e,t)),e.utf8Slice(0,e.length)),latin1:(e,t)=>e.length===0?"":typeof e=="string"?e:e.latin1Slice(0,e.length),utf16le:(e,t)=>e.length===0?"":(typeof e=="string"&&(e=Buffer.from(e,t)),e.ucs2Slice(0,e.length)),base64:(e,t)=>e.length===0?"":(typeof e=="string"&&(e=Buffer.from(e,t)),e.base64Slice(0,e.length)),other:(e,t)=>{if(e.length===0)return"";if(typeof e=="string"&&(e=Buffer.from(e,t)),WWt.has(AMe.toString()))try{return WWt.get(AMe).decode(e)}catch{}return typeof e=="string"?e:e.toString()}};function hBn(e,t,r){return e&&fBn(r)(e,t)}XWt.exports=hBn});var yMe=S((gOs,rXt)=>{"use strict";var pX=hX(),JWt=/%[a-fA-F0-9][a-fA-F0-9]/g,pBn={"%00":"\0","%01":"","%02":"","%03":"","%04":"","%05":"","%06":"","%07":"\x07","%08":"\b","%09":" ","%0a":` +`,"%0A":` +`,"%0b":"\v","%0B":"\v","%0c":"\f","%0C":"\f","%0d":"\r","%0D":"\r","%0e":"","%0E":"","%0f":"","%0F":"","%10":"","%11":"","%12":"","%13":"","%14":"","%15":"","%16":"","%17":"","%18":"","%19":"","%1a":"","%1A":"","%1b":"\x1B","%1B":"\x1B","%1c":"","%1C":"","%1d":"","%1D":"","%1e":"","%1E":"","%1f":"","%1F":"","%20":" ","%21":"!","%22":'"',"%23":"#","%24":"$","%25":"%","%26":"&","%27":"'","%28":"(","%29":")","%2a":"*","%2A":"*","%2b":"+","%2B":"+","%2c":",","%2C":",","%2d":"-","%2D":"-","%2e":".","%2E":".","%2f":"/","%2F":"/","%30":"0","%31":"1","%32":"2","%33":"3","%34":"4","%35":"5","%36":"6","%37":"7","%38":"8","%39":"9","%3a":":","%3A":":","%3b":";","%3B":";","%3c":"<","%3C":"<","%3d":"=","%3D":"=","%3e":">","%3E":">","%3f":"?","%3F":"?","%40":"@","%41":"A","%42":"B","%43":"C","%44":"D","%45":"E","%46":"F","%47":"G","%48":"H","%49":"I","%4a":"J","%4A":"J","%4b":"K","%4B":"K","%4c":"L","%4C":"L","%4d":"M","%4D":"M","%4e":"N","%4E":"N","%4f":"O","%4F":"O","%50":"P","%51":"Q","%52":"R","%53":"S","%54":"T","%55":"U","%56":"V","%57":"W","%58":"X","%59":"Y","%5a":"Z","%5A":"Z","%5b":"[","%5B":"[","%5c":"\\","%5C":"\\","%5d":"]","%5D":"]","%5e":"^","%5E":"^","%5f":"_","%5F":"_","%60":"`","%61":"a","%62":"b","%63":"c","%64":"d","%65":"e","%66":"f","%67":"g","%68":"h","%69":"i","%6a":"j","%6A":"j","%6b":"k","%6B":"k","%6c":"l","%6C":"l","%6d":"m","%6D":"m","%6e":"n","%6E":"n","%6f":"o","%6F":"o","%70":"p","%71":"q","%72":"r","%73":"s","%74":"t","%75":"u","%76":"v","%77":"w","%78":"x","%79":"y","%7a":"z","%7A":"z","%7b":"{","%7B":"{","%7c":"|","%7C":"|","%7d":"}","%7D":"}","%7e":"~","%7E":"~","%7f":"\x7F","%7F":"\x7F","%80":"\x80","%81":"\x81","%82":"\x82","%83":"\x83","%84":"\x84","%85":"\x85","%86":"\x86","%87":"\x87","%88":"\x88","%89":"\x89","%8a":"\x8A","%8A":"\x8A","%8b":"\x8B","%8B":"\x8B","%8c":"\x8C","%8C":"\x8C","%8d":"\x8D","%8D":"\x8D","%8e":"\x8E","%8E":"\x8E","%8f":"\x8F","%8F":"\x8F","%90":"\x90","%91":"\x91","%92":"\x92","%93":"\x93","%94":"\x94","%95":"\x95","%96":"\x96","%97":"\x97","%98":"\x98","%99":"\x99","%9a":"\x9A","%9A":"\x9A","%9b":"\x9B","%9B":"\x9B","%9c":"\x9C","%9C":"\x9C","%9d":"\x9D","%9D":"\x9D","%9e":"\x9E","%9E":"\x9E","%9f":"\x9F","%9F":"\x9F","%a0":"\xA0","%A0":"\xA0","%a1":"\xA1","%A1":"\xA1","%a2":"\xA2","%A2":"\xA2","%a3":"\xA3","%A3":"\xA3","%a4":"\xA4","%A4":"\xA4","%a5":"\xA5","%A5":"\xA5","%a6":"\xA6","%A6":"\xA6","%a7":"\xA7","%A7":"\xA7","%a8":"\xA8","%A8":"\xA8","%a9":"\xA9","%A9":"\xA9","%aa":"\xAA","%Aa":"\xAA","%aA":"\xAA","%AA":"\xAA","%ab":"\xAB","%Ab":"\xAB","%aB":"\xAB","%AB":"\xAB","%ac":"\xAC","%Ac":"\xAC","%aC":"\xAC","%AC":"\xAC","%ad":"\xAD","%Ad":"\xAD","%aD":"\xAD","%AD":"\xAD","%ae":"\xAE","%Ae":"\xAE","%aE":"\xAE","%AE":"\xAE","%af":"\xAF","%Af":"\xAF","%aF":"\xAF","%AF":"\xAF","%b0":"\xB0","%B0":"\xB0","%b1":"\xB1","%B1":"\xB1","%b2":"\xB2","%B2":"\xB2","%b3":"\xB3","%B3":"\xB3","%b4":"\xB4","%B4":"\xB4","%b5":"\xB5","%B5":"\xB5","%b6":"\xB6","%B6":"\xB6","%b7":"\xB7","%B7":"\xB7","%b8":"\xB8","%B8":"\xB8","%b9":"\xB9","%B9":"\xB9","%ba":"\xBA","%Ba":"\xBA","%bA":"\xBA","%BA":"\xBA","%bb":"\xBB","%Bb":"\xBB","%bB":"\xBB","%BB":"\xBB","%bc":"\xBC","%Bc":"\xBC","%bC":"\xBC","%BC":"\xBC","%bd":"\xBD","%Bd":"\xBD","%bD":"\xBD","%BD":"\xBD","%be":"\xBE","%Be":"\xBE","%bE":"\xBE","%BE":"\xBE","%bf":"\xBF","%Bf":"\xBF","%bF":"\xBF","%BF":"\xBF","%c0":"\xC0","%C0":"\xC0","%c1":"\xC1","%C1":"\xC1","%c2":"\xC2","%C2":"\xC2","%c3":"\xC3","%C3":"\xC3","%c4":"\xC4","%C4":"\xC4","%c5":"\xC5","%C5":"\xC5","%c6":"\xC6","%C6":"\xC6","%c7":"\xC7","%C7":"\xC7","%c8":"\xC8","%C8":"\xC8","%c9":"\xC9","%C9":"\xC9","%ca":"\xCA","%Ca":"\xCA","%cA":"\xCA","%CA":"\xCA","%cb":"\xCB","%Cb":"\xCB","%cB":"\xCB","%CB":"\xCB","%cc":"\xCC","%Cc":"\xCC","%cC":"\xCC","%CC":"\xCC","%cd":"\xCD","%Cd":"\xCD","%cD":"\xCD","%CD":"\xCD","%ce":"\xCE","%Ce":"\xCE","%cE":"\xCE","%CE":"\xCE","%cf":"\xCF","%Cf":"\xCF","%cF":"\xCF","%CF":"\xCF","%d0":"\xD0","%D0":"\xD0","%d1":"\xD1","%D1":"\xD1","%d2":"\xD2","%D2":"\xD2","%d3":"\xD3","%D3":"\xD3","%d4":"\xD4","%D4":"\xD4","%d5":"\xD5","%D5":"\xD5","%d6":"\xD6","%D6":"\xD6","%d7":"\xD7","%D7":"\xD7","%d8":"\xD8","%D8":"\xD8","%d9":"\xD9","%D9":"\xD9","%da":"\xDA","%Da":"\xDA","%dA":"\xDA","%DA":"\xDA","%db":"\xDB","%Db":"\xDB","%dB":"\xDB","%DB":"\xDB","%dc":"\xDC","%Dc":"\xDC","%dC":"\xDC","%DC":"\xDC","%dd":"\xDD","%Dd":"\xDD","%dD":"\xDD","%DD":"\xDD","%de":"\xDE","%De":"\xDE","%dE":"\xDE","%DE":"\xDE","%df":"\xDF","%Df":"\xDF","%dF":"\xDF","%DF":"\xDF","%e0":"\xE0","%E0":"\xE0","%e1":"\xE1","%E1":"\xE1","%e2":"\xE2","%E2":"\xE2","%e3":"\xE3","%E3":"\xE3","%e4":"\xE4","%E4":"\xE4","%e5":"\xE5","%E5":"\xE5","%e6":"\xE6","%E6":"\xE6","%e7":"\xE7","%E7":"\xE7","%e8":"\xE8","%E8":"\xE8","%e9":"\xE9","%E9":"\xE9","%ea":"\xEA","%Ea":"\xEA","%eA":"\xEA","%EA":"\xEA","%eb":"\xEB","%Eb":"\xEB","%eB":"\xEB","%EB":"\xEB","%ec":"\xEC","%Ec":"\xEC","%eC":"\xEC","%EC":"\xEC","%ed":"\xED","%Ed":"\xED","%eD":"\xED","%ED":"\xED","%ee":"\xEE","%Ee":"\xEE","%eE":"\xEE","%EE":"\xEE","%ef":"\xEF","%Ef":"\xEF","%eF":"\xEF","%EF":"\xEF","%f0":"\xF0","%F0":"\xF0","%f1":"\xF1","%F1":"\xF1","%f2":"\xF2","%F2":"\xF2","%f3":"\xF3","%F3":"\xF3","%f4":"\xF4","%F4":"\xF4","%f5":"\xF5","%F5":"\xF5","%f6":"\xF6","%F6":"\xF6","%f7":"\xF7","%F7":"\xF7","%f8":"\xF8","%F8":"\xF8","%f9":"\xF9","%F9":"\xF9","%fa":"\xFA","%Fa":"\xFA","%fA":"\xFA","%FA":"\xFA","%fb":"\xFB","%Fb":"\xFB","%fB":"\xFB","%FB":"\xFB","%fc":"\xFC","%Fc":"\xFC","%fC":"\xFC","%FC":"\xFC","%fd":"\xFD","%Fd":"\xFD","%fD":"\xFD","%FD":"\xFD","%fe":"\xFE","%Fe":"\xFE","%fE":"\xFE","%FE":"\xFE","%ff":"\xFF","%Ff":"\xFF","%fF":"\xFF","%FF":"\xFF"};function ZWt(e){return pBn[e]}var mX=0,eXt=1,EMe=2,tXt=3;function mBn(e){let t=[],r=mX,n="",s=!1,i=!1,a=0,o="",c=e.length;for(var u=0;u{"use strict";nXt.exports=function(t){if(typeof t!="string")return"";for(var r=t.length-1;r>=0;--r)switch(t.charCodeAt(r)){case 47:case 92:return t=t.slice(r+1),t===".."||t==="."?"":t}return t===".."||t==="."?"":t}});var cXt=S((AOs,oXt)=>{"use strict";var{Readable:aXt}=require("node:stream"),{inherits:gBn}=require("node:util"),_Bn=_Me(),iXt=yMe(),ABn=hX(),EBn=sXt(),Db=fX(),yBn=/^boundary$/i,vBn=/^form-data$/i,SBn=/^charset$/i,TBn=/^filename$/i,bBn=/^name$/i;gX.detect=/^multipart\/form-data/i;function gX(e,t){let r,n,s=this,i,a=t.limits,o=t.isPartAFile||((P,M,L)=>M==="application/octet-stream"||L!==void 0),c=t.parsedConType||[],u=t.defCharset||"utf8",l=t.preservePath,d={highWaterMark:t.fileHwm};for(r=0,n=c.length;r_)return s.parser.removeListener("part",P),s.parser.on("part",aN),e.hitPartsLimit=!0,e.emit("partsLimit"),aN(M);if(b){let L=b;L.emit("end"),L.removeAllListeners("end")}M.on("header",function(L){let U,Y,$,V,W,G,se=0;if(L["content-type"]&&($=iXt(L["content-type"][0]),$[0])){for(U=$[0].toLowerCase(),r=0,n=$.length;rp){let de=p-se+ee.length;de>0&&Q.push(ee.slice(0,de)),Q.truncated=!0,Q.bytesRead=p,M.removeAllListeners("data"),Q.emit("limit");return}else Q.push(ee)||(s._pause=!0);Q.bytesRead=se},te=function(){C=void 0,Q.push(null)}}else{if(v===g)return e.hitFieldsLimit||(e.hitFieldsLimit=!0,e.emit("fieldsLimit")),aN(M);++v,++T;let Q="",ee=!1;b=M,ue=function(de){if((se+=de.length)>h){let B=h-(se-de.length);Q+=de.toString("binary",0,B),ee=!0,M.removeAllListeners("data")}else Q+=de.toString("binary")},te=function(){b=void 0,Q.length&&(Q=ABn(Q,"binary",V)),e.emit("field",Y,Q,!1,ee,W,U),--T,f()}}M._readableState.sync=!1,M.on("data",ue),M.on("end",te)}).on("error",function(L){C&&C.emit("error",L)})}).on("error",function(P){e.emit("error",P)}).on("finish",function(){x=!0,f()})}gX.prototype.write=function(e,t){let r=this.parser.write(e);r&&!this._pause?t():(this._needDrain=!r,this._cb=t)};gX.prototype.end=function(){let e=this;e.parser.writable?e.parser.end():e._boy._done||process.nextTick(function(){e._boy._done=!0,e._boy.emit("finish")})};function aN(e){e.resume()}function vMe(e){aXt.call(this,e),this.bytesRead=0,this.truncated=!1}gBn(vMe,aXt);vMe.prototype._read=function(e){};oXt.exports=gX});var lXt=S((EOs,uXt)=>{"use strict";var IBn=/\+/g,RBn=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];function SMe(){this.buffer=void 0}SMe.prototype.write=function(e){e=e.replace(IBn," ");let t="",r=0,n=0,s=e.length;for(;rn&&(t+=e.substring(n,r),n=r),this.buffer="",++n);return n{"use strict";var CBn=lXt(),oN=hX(),TMe=fX(),xBn=/^charset$/i;_X.detect=/^application\/x-www-form-urlencoded/i;function _X(e,t){let r=t.limits,n=t.parsedConType;this.boy=e,this.fieldSizeLimit=TMe(r,"fieldSize",1*1024*1024),this.fieldNameSizeLimit=TMe(r,"fieldNameSize",100),this.fieldsLimit=TMe(r,"fields",1/0);let s;for(var i=0,a=n.length;ii&&(this._key+=this.decoder.write(e.toString("binary",i,r))),this._state="val",this._hitLimit=!1,this._checkingBytes=!0,this._val="",this._bytesVal=0,this._valTrunc=!1,this.decoder.reset(),i=r+1;else if(n!==void 0){++this._fields;let o,c=this._keyTrunc;if(n>i?o=this._key+=this.decoder.write(e.toString("binary",i,n)):o=this._key,this._hitLimit=!1,this._checkingBytes=!0,this._key="",this._bytesKey=0,this._keyTrunc=!1,this.decoder.reset(),o.length&&this.boy.emit("field",oN(o,"binary",this.charset),"",c,!1),i=n+1,this._fields===this.fieldsLimit)return t()}else this._hitLimit?(s>i&&(this._key+=this.decoder.write(e.toString("binary",i,s))),i=s,(this._bytesKey=this._key.length)===this.fieldNameSizeLimit&&(this._checkingBytes=!1,this._keyTrunc=!0)):(ii&&(this._val+=this.decoder.write(e.toString("binary",i,n))),this.boy.emit("field",oN(this._key,"binary",this.charset),oN(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc),this._state="key",this._hitLimit=!1,this._checkingBytes=!0,this._key="",this._bytesKey=0,this._keyTrunc=!1,this.decoder.reset(),i=n+1,this._fields===this.fieldsLimit)return t()}else this._hitLimit?(s>i&&(this._val+=this.decoder.write(e.toString("binary",i,s))),i=s,(this._val===""&&this.fieldSizeLimit===0||(this._bytesVal=this._val.length)===this.fieldSizeLimit)&&(this._checkingBytes=!1,this._valTrunc=!0)):(i0?this.boy.emit("field",oN(this._key,"binary",this.charset),"",this._keyTrunc,!1):this._state==="val"&&this.boy.emit("field",oN(this._key,"binary",this.charset),oN(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc),this.boy._done=!0,this.boy.emit("finish"))};dXt.exports=_X});var mXt=S((vOs,v3)=>{"use strict";var bMe=require("node:stream").Writable,{inherits:wBn}=require("node:util"),NBn=_Me(),hXt=cXt(),pXt=fXt(),OBn=yMe();function h_(e){if(!(this instanceof h_))return new h_(e);if(typeof e!="object")throw new TypeError("Busboy expected an options-Object.");if(typeof e.headers!="object")throw new TypeError("Busboy expected an options-Object with headers-attribute.");if(typeof e.headers["content-type"]!="string")throw new TypeError("Missing Content-Type-header.");let{headers:t,...r}=e;this.opts={autoDestroy:!1,...r},bMe.call(this,this.opts),this._done=!1,this._parser=this.getParserByHeaders(t),this._finished=!1}wBn(h_,bMe);h_.prototype.emit=function(e){if(e==="finish"){if(this._done){if(this._finished)return}else{this._parser?.end();return}this._finished=!0}bMe.prototype.emit.apply(this,arguments)};h_.prototype.getParserByHeaders=function(e){let t=OBn(e["content-type"]),r={defCharset:this.opts.defCharset,fileHwm:this.opts.fileHwm,headers:e,highWaterMark:this.opts.highWaterMark,isPartAFile:this.opts.isPartAFile,limits:this.opts.limits,parsedConType:t,preservePath:this.opts.preservePath};if(hXt.detect.test(t[0]))return new hXt(this,r);if(pXt.detect.test(t[0]))return new pXt(this,r);throw new Error("Unsupported Content-Type.")};h_.prototype._write=function(e,t,r){this._parser.write(e,r)};v3.exports=h_;v3.exports.default=h_;v3.exports.Busboy=h_;v3.exports.Dicer=NBn});var _Xt=S((SOs,IMe)=>{"use strict";var DBn=/at\s{1}(?:.*\.)?plugin\s{1}.*\n\s*(.*)/,PBn=/(\w*(\.\w*)*)\..*/;IMe.exports=function(t){if(t.name.length>0)return t.name;let r=Error.stackTraceLimit;Error.stackTraceLimit=10;try{throw new Error("anonymous function")}catch(n){return Error.stackTraceLimit=r,gXt(n.stack)}};function gXt(e){let t=e.match(DBn);return t?t[1].split(/[/\\]/).slice(-1)[0].match(PBn)[1]:"anonymous"}IMe.exports.extractPluginName=gXt});var EXt=S((TOs,AXt)=>{"use strict";AXt.exports=function(t){return t[0]==="@"&&(t=t.slice(1).replace("/","-")),t.replace(/-(.)/g,function(n,s){return s.toUpperCase()})}});var yXt=S((bOs,AX)=>{"use strict";var LBn=_Xt(),MBn=EXt(),kBn=0;function RMe(e,t={}){let r=!1;if(typeof e.default<"u"&&(e=e.default),typeof e!="function")throw new TypeError(`fastify-plugin expects a function, instead got a '${typeof e}'`);if(typeof t=="string"&&(t={fastify:t}),typeof t!="object"||Array.isArray(t)||t===null)throw new TypeError("The options object should be an object");if(t.fastify!==void 0&&typeof t.fastify!="string")throw new TypeError(`fastify-plugin expects a version string, instead got '${typeof t.fastify}'`);t.name||(r=!0,t.name=LBn(e)+"-auto-"+kBn++),e[Symbol.for("skip-override")]=t.encapsulate!==!0,e[Symbol.for("fastify.display-name")]=t.name,e[Symbol.for("plugin-meta")]=t,e.default||(e.default=e);let n=MBn(t.name);return!r&&!e[n]&&(e[n]=e),e}AX.exports=RMe;AX.exports.default=RMe;AX.exports.fastifyPlugin=RMe});var TXt=S((IOs,SXt)=>{"use strict";var p_=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"],Pb=Math.random;function vXt(){return p_[255*Pb()|0]+p_[255*Pb()|0]+p_[255*Pb()|0]+p_[255*Pb()|0]+p_[255*Pb()|0]+p_[255*Pb()|0]+p_[255*Pb()|0]}SXt.exports.generateId=function(){let t=0,r=vXt();return function(){return t===255?(r=vXt())+p_[t=0]:r+p_[++t]}}()});var bXt=S((ROs,S3)=>{"use strict";var{format:BBn}=require("node:util");function UBn(){return`${this.name} [${this.code}]: ${this.message}`}var EX=Symbol.for("fastify-error-generic");function cN(e,t,r=500,n=Error,s=cN.captureStackTrace){let i=e===EX;if(i&&(e="FST_ERR"),!e)throw new Error("Fastify error code must not be empty");if(!t)throw new Error("Fastify error message must not be empty");e=e.toUpperCase(),!r&&(r=void 0);let a=Symbol.for(`fastify-error ${e}`);function o(...c){if(!new.target)return new o(...c);this.code=e,this.name="FastifyError",this.statusCode=r;let u=c.length-1;u!==-1&&c[u]&&typeof c[u]=="object"&&"cause"in c[u]&&(this.cause=c.pop().cause),this.message=BBn(t,...c),Error.stackTraceLimit&&s&&Error.captureStackTrace(this,o)}return o.prototype=Object.create(n.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0},[EX]:{value:!0,enumerable:!1,writable:!1,configurable:!1},[a]:{value:!0,enumerable:!1,writable:!1,configurable:!1}}),i?Object.defineProperty(o,Symbol.hasInstance,{value(c){return c&&c[EX]},configurable:!1,writable:!1,enumerable:!1}):Object.defineProperty(o,Symbol.hasInstance,{value(c){return c&&c[a]},configurable:!1,writable:!1,enumerable:!1}),o.prototype[Symbol.toStringTag]="Error",o.prototype.toString=UBn,o}cN.captureStackTrace=!0;var FBn=cN(EX,"Fastify Error",500,Error);S3.exports=cN;S3.exports.FastifyError=FBn;S3.exports.default=cN;S3.exports.createError=cN});var RXt=S((COs,IXt)=>{"use strict";IXt.exports=(e,t)=>new Promise((r,n)=>{if(typeof e.resume!="function"||(e.unpipe&&e.unpipe(),e.resume(),e._readableState&&e._readableState.ended)||!e.readable||e.destroyed)return r();function s(){e.removeListener("end",i),e.removeListener("close",i),e.removeListener("error",a)}function i(){s(),r()}function a(o){s(),t?n(o):r()}e.on("end",i),e.on("close",i),e.on("error",a)})});var xXt=S((xOs,yX)=>{"use strict";var CXt=Object.getPrototypeOf({});function CMe(e){function t(_){return _!=="constructor"&&_!=="prototype"&&_!=="__proto__"}function r(_){let y=0,E=_.length,A=new Array(E);for(y;ytypeof _!="object"||_===null||_ instanceof RegExp||_ instanceof Date||_ instanceof Buffer:_=>typeof _!="object"||_===null||_ instanceof RegExp||_ instanceof Date,f=e&&typeof e.mergeArray=="function"?e.mergeArray({clone:h,deepmerge:m,getKeys:o,isMergeableObject:u}):s;function h(_){return u(_)?Array.isArray(_)?r(_):n(_):_}function p(_,y){let E={},A=o(_),v=o(y),T,C,b;for(T=0,C=A.length;T{"use strict";var $Bn=mXt(),qBn=require("node:os"),HBn=yXt(),{createWriteStream:VBn}=require("node:fs"),{unlink:jBn}=require("node:fs/promises"),wXt=require("node:path"),{generateId:KBn}=TXt(),GBn=require("node:util"),m_=bXt(),YBn=RXt(),QBn=xXt()({all:!0}),{PassThrough:zBn,pipeline:WBn,Readable:XBn}=require("node:stream"),JBn=GBn.promisify(WBn),ZBn=sre(),NMe=Symbol("multipart"),vX=Symbol("multipartHandler"),NXt=m_("FST_PARTS_LIMIT","reach parts limit",413),OXt=m_("FST_FILES_LIMIT","reach files limit",413),DXt=m_("FST_FIELDS_LIMIT","reach fields limit",413),xMe=m_("FST_REQ_FILE_TOO_LARGE","request file too large",413),wMe=m_("FST_PROTO_VIOLATION","prototype property is not allowed as field name",400),PXt=m_("FST_INVALID_MULTIPART_CONTENT_TYPE","the request is not multipart",406),LXt=m_("FST_INVALID_JSON_FIELD_ERROR","a request field is not a valid JSON as declared by its Content-Type",406),MXt=m_("FST_FILE_BUFFER_NOT_FOUND","the file buffer was not found",500),e3n=m_("FST_NO_FORM_DATA","FormData is not available",500);function t3n(e,t,r){e[NMe]=!0,r()}function r3n(e){try{return new $Bn(e)}catch(t){let r=new zBn;return process.nextTick(function(){r.emit("error",t)}),r}}function OMe(e,t,r){t.limits={...t.limits,parts:t.limits?.parts||1e3,fileSize:t.limits?.fileSize||e.initialConfig.bodyLimit};let n=t.attachFieldsToBody;(n===!0||n==="keyValues")&&(typeof t.sharedSchemaId=="string"&&n===!0&&e.addSchema({$id:t.sharedSchemaId,type:"object",properties:{fieldname:{type:"string"},encoding:{type:"string"},filename:{type:"string"},mimetype:{type:"string"}}}),e.addHook("preValidation",async function(h,p){if(h.isMultipart()){for await(let m of h.parts())h.body=m.fields,m.file&&(t.onFile?await t.onFile.call(h,m):await m.toBuffer());if(n==="keyValues"){let m={};if(h.body){let g=Object.keys(h.body);for(let _=0;_{await h.cleanRequestFiles()});function i(){return this[NMe]}function a(h={}){if(!this.isMultipart())throw new PXt;this.log.debug("starting multipart parsing");let p=[],m=null,g=L=>{m?(m(L),m=null):p.push(L)},_=L=>{if(p.length>0){let U=p[0];p=p.slice(1),L(U)}else m=L},y=()=>new Promise((L,U)=>{_(Y=>{Y instanceof Error?Y.message==="Unexpected end of multipart data"?L(null):U(Y):L(Y)})}),E={},A=null,v=null,T=this.raw,C=QBn({headers:T.headers},t,h);this.log.trace({busboyOptions:C},"Providing options to busboy");let b=r3n(C);T.on("close",M),T.on("error",M),b.on("field",x).on("file",w).on("end",M).on("finish",M).on("close",M).on("error",M),b.on("partsLimit",function(){let L=new NXt;P(L),process.nextTick(()=>M(L))}),b.on("filesLimit",function(){let L=new OXt;P(L),process.nextTick(()=>M(L))}),b.on("fieldsLimit",function(){let L=new DXt;P(L),process.nextTick(()=>M(L))}),T.pipe(b);function x(L,U,Y,$,V,W){if(L in Object.prototype){P(new wMe);return}if(W.startsWith("application/json")){if($){P(new LXt);return}try{U=ZBn.parse(U),W="application/json"}catch{P(new LXt);return}}let G={type:"field",fieldname:L,mimetype:W,encoding:V,value:U,fieldnameTruncated:Y,valueTruncated:$,fields:E};E[L]===void 0?E[L]=G:Array.isArray(E[L])?E[L].push(G):E[L]=[E[L],G],g(G)}function w(L,U,Y,$,V){if(L in Object.prototype){YBn(U),P(new wMe);return}let W=typeof h.throwFileSizeLimit=="boolean"?h.throwFileSizeLimit:s,G={type:"file",fieldname:L,filename:Y,encoding:$,mimetype:V,file:U,fields:E,_buf:null,async toBuffer(){if(this._buf)return this._buf;let se=[],ue;for await(let te of this.file)se.push(te),W&&this.file.truncated&&(ue=new xMe,ue.part=this,P(ue),se.length=0);if(ue)throw ue;return this._buf=Buffer.concat(se),this._buf}};W&&U.on("limit",function(){let se=new xMe;se.part=G,P(se)}),E[L]===void 0?E[L]=G:Array.isArray(E[L])?E[L].push(G):E[L]=[E[L],G],v=U,g(G)}function P(L){A=L,v=null}function M(L){T.unpipe(b),(L||T.aborted)&&v&&(v.destroy(),v=null),g(L||A||null)}return y}async function o(h){if(this.savedRequestFiles)return this.savedRequestFiles;let p;if(n===!0){if(!this.body)return[];p=c.call(this,this.body)}else p=await this.files(h);this.savedRequestFiles=[];let m=h&&h.tmpdir||qBn.tmpdir();this.tmpUploads=[];let g=0;for await(let _ of p){let y=wXt.join(m,KBn()+wXt.extname(_.filename||"file"+g++)),E=VBn(y);try{this.tmpUploads.push(y),await JBn(_.file,E),this.savedRequestFiles.push({..._,filepath:y})}catch(A){throw this.log.error({err:A},"save request file"),A}}return this.savedRequestFiles}function*c(h){try{let p=Array.isArray(h)?h:Object.values(h);for(let m=0;m(r.type="string",r.format="binary",delete r.isFile,n=>!!n.file),error:{message:"should be a file"}})}T3.exports=HBn(OMe,{fastify:"4.x",name:"@fastify/multipart"});T3.exports.default=OMe;T3.exports.fastifyMultipart=OMe;T3.exports.ajvFilePlugin=n3n});var m3n={};Bt(m3n,{start:()=>h3n,stop:()=>p3n});module.exports=TZt(m3n);var HXt=we(zQe(),1);var ZW=we(require("fs"),1),eX=we(require("path"),1);Pr();zi();var A4r=["\u5F71\u7247","\u7247\u5B50","\u7247\u82B1","\u7247\u6BB5","\u9884\u544A","\u9884\u544A\u7247","\u82B1\u7D6E","\u5E55\u540E","\u8BBF\u8C08","\u7279\u522B\u7BC7","\u756A\u5916\u7BC7","OVA","OAD","SP","TV\u7248","\u5267\u573A\u7248","\u7535\u5F71\u7248","\u5F71\u7248","\u5267\u7248","\u56FD\u8BED\u7248","\u666E\u901A\u8BDD\u7248","\u7CA4\u8BED\u7248","\u95FD\u5357\u8BED\u7248","\u5BA2\u5BB6\u8BED\u7248","\u5434\u8BED\u7248","\u5DDD\u8BED\u7248","\u6E58\u8BED\u7248","\u8D63\u8BED\u7248","\u7CA4\u8BED\u914D\u97F3\u7248","\u56FD\u8BED\u914D\u97F3\u7248","\u666E\u901A\u8BDD\u914D\u97F3\u7248","\u65B9\u8A00\u7248","\u539F\u7248\u914D\u97F3","\u539F\u97F3\u7248","\u53F0\u8BED\u7248","\u7CA4\u8BED\u4E2D\u5B57\u7248","\u56FD\u8BED\u4E2D\u5B57\u7248","\u666E\u901A\u8BDD\u4E2D\u5B57\u7248","\u7CA4\u8BED\u539F\u58F0\u7248","\u56FD\u8BED\u539F\u58F0\u7248","\u666E\u901A\u8BDD\u539F\u58F0\u7248","\u7CA4\u8BED\u5185\u5D4C\u5B57\u5E55\u7248","\u56FD\u8BED\u5185\u5D4C\u5B57\u5E55\u7248","\u666E\u901A\u8BDD\u5185\u5D4C\u5B57\u5E55\u7248","\u52A8\u753B\u7248","\u771F\u4EBA\u7248","\u6539\u7F16\u7248","\u91CD\u5236\u7248","\u4FEE\u590D\u7248","\u52A0\u957F\u7248","\u672A\u5220\u51CF\u7248","\u5B8C\u6574\u7248","\u5BFC\u6F14\u526A\u8F91\u7248","\u7EC8\u6781\u7248","\u7279\u522B\u7248","\u9650\u5B9A\u7248","\u6536\u85CF\u7248","\u8C6A\u534E\u7248","\u5178\u85CF\u7248","\u9AD8\u6E05\u7248","\u8D85\u6E05\u7248","\u6807\u6E05\u7248","HD\u7248","UHD\u7248","4K\u7248","\u84DD\u5149\u7248","DVD\u7248","BD\u7248","WEB\u7248","TVrip","BDrip","DVDrip","HDrip","WEB-DL","HDTV","DVDRip","BRRip","HDRip","BluRay","TS","TC","CAM","\u62A2\u5148\u7248","\u67AA\u7248","\u5077\u62CD\u7248","\u6CC4\u9732\u7248","\u62A2\u5148\u770B","\u6B63\u7247","\u6B63\u7247\u7247\u6BB5","\u6B63\u7247\u7CBE\u534E","\u82B1\u7D6E\u96C6\u9526","\u5E55\u540E\u82B1\u7D6E","\u5236\u4F5C\u7279\u8F91","\u8BBF\u8C08\u5F55","\u9996\u6620\u793C","\u7EA2\u6BEF\u79C0","\u8DEF\u6F14","\u53D1\u5E03\u4F1A","\u9884\u544A\u7247\u5408\u96C6","\u9884\u544A\u7247\u82B1\u7D6E","\u7247\u82B1\u9884\u544A","\u7CBE\u5F69\u7247\u6BB5","\u7CBE\u5F69\u96C6\u9526","\u7CBE\u9009\u7247\u6BB5","\u9AD8\u80FD\u7247\u6BB5","\u9AD8\u5149\u65F6\u523B","\u526A\u8F91\u7248","\u6DF7\u526A","MV","\u4E3B\u9898\u66F2","\u63D2\u66F2","\u7247\u5C3E\u66F2","\u914D\u4E50","\u539F\u58F0","OST","\u539F\u58F0\u5E26","\u539F\u58F0\u5927\u789F","\u97F3\u4E50\u96C6","\u97F3\u4E50\u4F1A","\u6F14\u5531","Live","Live\u7248","\u73B0\u573A\u7248","\u73B0\u573A\u5F55\u5236","\u821E\u53F0\u7248","\u821E\u53F0\u5267","\u8BDD\u5267","\u6B4C\u5267","\u821E\u5267","\u620F\u66F2","\u4EAC\u5267","\u8D8A\u5267","\u7CA4\u5267","\u8BC4\u5267","\u9EC4\u6885\u620F","\u4E8C\u4EBA\u8F6C","\u76F8\u58F0","\u5C0F\u54C1","\u7EFC\u827A\u79C0","\u771F\u4EBA\u79C0","\u8131\u53E3\u79C0","\u8BBF\u8C08\u8282\u76EE","\u7EAA\u5F55\u7247\u7CFB\u5217","\u4E13\u9898\u7247","\u79D1\u6559\u7247","\u52A8\u753B\u7247","\u52A8\u6F2B\u7247","\u52A8\u753B\u77ED\u7247","\u52A8\u753B\u7535\u5F71","\u52A8\u753B\u7CFB\u5217","\u52A8\u753B\u5267\u96C6","\u52A8\u753B\u8FDE\u7EED\u5267","\u52A8\u753BOVA","\u52A8\u753BOAD","\u52A8\u753BSP","\u52A8\u753B\u7279\u5178","\u52A8\u753B\u5408\u96C6","\u52A8\u753B\u7CBE\u9009","\u7535\u5F71\u5408\u96C6","\u5F71\u7247\u5408\u96C6","\u7CFB\u5217\u5408\u96C6","\u5408\u96C6\u7248","\u5957\u88C5\u7248","\u5957\u88C5\u5408\u96C6","\u5168\u96C6","\u5168\u7CFB\u5217","\u5168\u5B63","\u66F4\u65B0\u4E2D","\u5B8C\u7ED3","\u5B8C\u7ED3\u7BC7","\u5B8C\u7ED3\u5B63","\u6700\u7EC8\u5B63","\u6700\u7EC8\u7AE0","\u7EC8\u7AE0","\u7EC8\u7BC7","\u5927\u7ED3\u5C40","\u5927\u7D50\u5C40","\u7279\u522B\u7BC7\u5B8C\u7ED3","\u756A\u5916\u5B8C\u7ED3","OVA\u5B8C\u7ED3","OAD\u5B8C\u7ED3","SP\u5B8C\u7ED3","\u5168\u5267\u7EC8","\u5B8C\u7ED3\u6492\u82B1","\u5B8C\u7ED3\u7EAA\u5FF5","\u5B8C\u7ED3\u7279\u8F91","\u5B8C\u7ED3\u8BBF\u8C08","\u5B8C\u7ED3\u82B1\u7D6E","\u5B8C\u7ED3\u5408\u96C6","\u5B8C\u7ED3\u7BC7\u5408\u96C6","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6","\u5B8C\u7ED3\u7279\u8F91\u5408\u96C6","\u5B8C\u7ED3\u8BBF\u8C08\u5408\u96C6","\u5B8C\u7ED3\u82B1\u7D6E\u5408\u96C6","\u5B8C\u7ED3\u7EAA\u5FF5\u7279\u8F91","\u5B8C\u7ED3\u7EAA\u5FF5\u8BBF\u8C08","\u5B8C\u7ED3\u7EAA\u5FF5\u82B1\u7D6E","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6\u7279\u8F91","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6\u8BBF\u8C08","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6\u82B1\u7D6E","\u5B8C\u7ED3\u7EAA\u5FF5\u7279\u8F91\u8BBF\u8C08","\u5B8C\u7ED3\u7EAA\u5FF5\u7279\u8F91\u82B1\u7D6E","\u5B8C\u7ED3\u7EAA\u5FF5\u8BBF\u8C08\u82B1\u7D6E","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6\u7279\u8F91\u8BBF\u8C08\u82B1\u7D6E","BD","BDRIP","WEB-DL","HDRip","DVDRip","BDRip","BRRip","Rip","BluRay","IMAX","CAM","HD","HDR","UHD","4K","1080p","720p","2160p","480p","120fps","60fps","x264","x265","H264","HEVC","AAC","dts","ddp","truehd","10bit","8bit","5.1","7.1","\u56FD\u8BED","\u7CA4\u8BED","\u82F1\u8BED","\u65E5\u8BED","\u97E9\u8BED","\u6CF0\u8BED","\u6CD5\u8BED","\u5FB7\u8BED","\u897F\u73ED\u7259\u8BED","\u4FC4\u8BED","\u8461\u8404\u7259\u8BED","\u610F\u5927\u5229\u8BED","\u81FB\u5F69","\u4E2D\u5B57","\u7B80\u4E2D","\u7E41\u4E2D","\u7B80\u7E41\u4E2D\u5B57","\u4E2D\u82F1\u53CC\u5B57","\u5185\u5D4C","\u5185\u5C01","\u675C\u6BD4\u5168\u666F\u58F0","\u675C\u6BD4\u97F3\u6548","\u65E0\u6C34\u5370","\u5B8C\u6574\u7248","\u539F\u58F0\u7248","\u89E3\u8BF4\u7248","\u9884\u544A\u7247","\u672A\u5220\u51CF\u7248","\u52A0\u957F\u7248","\u84DD\u5149","\u62A2\u5148\u7248","TC\u7248","\u62A2\u5148","TC","\u4E24\u5B63\u5168","\u5168\u5B63","\u5168\u96C6","DV","\u538B\u5236","HQ","\u5E27","\u7535\u5F71\u7248","\u8C46\u74E3","\u66F4\u65B0","\u66F4\u65B0\u5230","\u63A8\u8350","\u52A8\u4F5C","\u5192\u9669","\u7231\u60C5","\u79D1\u5E7B","\u60AC\u7591","\u60CA\u609A","\u6050\u6016","\u559C\u5267","\u60B2\u5267","\u5267\u60C5","\u5947\u5E7B","\u72AF\u7F6A","\u6218\u4E89","\u5386\u53F2","\u4F20\u8BB0","\u97F3\u4E50","\u6B4C\u821E","\u5BB6\u5EAD","\u513F\u7AE5","\u4F53\u80B2","\u707E\u96BE","\u4F26\u7406","\u77ED\u7247","\u5FAE\u7535\u5F71","\u9AD8\u6E05","\u8D85\u6E05","\u6807\u6E05","\u62A2\u9C9C\u770B","\u9996\u64AD","\u72EC\u64AD","\u70ED\u64AD","\u8FDE\u8F7D\u4E2D","\u6700\u65B0","\u7ECF\u5178","\u70ED\u95E8","\u83B7\u5956","\u53E3\u7891","\u597D\u8BC4","\u9AD8\u5206","\u8C46\u74E3\u9AD8\u5206","IMDb\u9AD8\u5206","\u672A\u5206\u7EA7","\u9650\u5236\u7EA7","\u5BFC\u6F14\u526A\u8F91","\u52A0\u957F","\u7279\u522B\u52A0\u957F","\u7EC8\u6781\u526A\u8F91","\u6536\u85CF","\u8C6A\u534E","\u7EAA\u5FF5","\u9650\u5B9A","\u91CD\u6620","\u4FEE\u590D","\u6570\u7801\u4FEE\u590D","\u91CD\u5236","\u84DD\u5149\u4FEE\u590D","\u91CD\u5236\u9AD8\u6E05","\u9AD8\u6E05\u91CD\u5236","\u91CD\u7F16","\u91CD\u526A","\u914D\u97F3","\u8BD1\u5236","\u539F\u58F0","\u53CC\u8BED","\u591A\u8BED","\u591A\u58F0\u9053","\u73AF\u7ED5\u58F0","\u5168\u666F\u58F0","3D","VR","\u5168\u666F","360\u5EA6","8K","\u539F\u753B","\u65E0\u635F","\u6709\u635F","\u538B\u7F29","\u672A\u538B\u7F29","\u9AD8\u7801\u7387","\u4F4E\u7801\u7387","\u91CD\u7F16\u7801","\u591A\u5B57\u5E55","\u591A\u97F3\u8F68","\u53CC\u97F3\u8F68","\u591A\u7248\u672C","\u5408\u96C6","\u5957\u88C5","\u7CFB\u5217","\u5B8C\u7ED3\u7248","\u6700\u7EC8\u5B63","\u6700\u7EC8\u7AE0","\u7EC8\u7AE0","\u5927\u7ED3\u5C40","\u7279\u522B\u7BC7","\u756A\u5916\u7BC7","OVA","OAD","SP","\u5267\u573A\u7248","\u7535\u5F71\u7248","\u5F71\u7248","\u5267\u7248","\u52A8\u753B\u7248","\u771F\u4EBA\u7248","\u6539\u7F16\u7248","\u539F\u521B","\u884D\u751F","\u756A\u5916","\u7EED\u96C6","\u524D\u4F20","\u540E\u4F20","\u91CD\u542F","\u7FFB\u62CD","\u91CD\u62CD","\u81F4\u656C","\u7EAA\u5FF5","\u732E\u793C","\u8D3A\u5C81","\u6691\u671F\u6863","\u56FD\u5E86\u6863","\u8D3A\u5C81\u6863","\u6625\u8282\u6863","\u60C5\u4EBA\u8282\u6863","\u4E2D\u79CB\u6863","\u6863\u671F","\u4E0A\u6620","\u5B9A\u6863","\u9996\u6620","\u516C\u6620","\u4E0A\u6620\u65F6\u95F4","\u4E0A\u6620\u65E5\u671F","\u7968\u623F","\u7968\u623F\u51A0\u519B","\u7968\u623F\u699C","\u53E3\u7891\u699C","\u8BC4\u5206\u699C","\u6392\u884C\u699C","\u699C\u5355","\u699C\u5355\u7B2C\u4E00","\u70ED\u95E8\u699C","\u70ED\u641C","\u70ED\u8BAE","\u8BDD\u9898","\u70ED\u8BAE\u8BDD\u9898","\u70ED\u95E8\u8BDD\u9898","\u8BA8\u8BBA\u5EA6","\u5173\u6CE8\u5EA6","\u70ED\u5EA6","\u70ED\u5EA6\u699C","\u70ED\u95E8\u63A8\u8350","\u7CBE\u9009","\u529B\u8350","\u5F3A\u70C8\u63A8\u8350","\u5FC5\u770B","\u4E0D\u53EF\u9519\u8FC7","\u7ECF\u5178\u4E4B\u4F5C","\u795E\u4F5C","\u4F73\u4F5C","\u9AD8\u5206\u4F73\u4F5C","\u9AD8\u5206\u795E\u4F5C","\u70C2\u7247","\u5DEE\u8BC4","\u4F4E\u5206","\u53E3\u7891\u7206\u68DA","\u53E3\u7891\u6251\u8857","\u53E3\u7891\u4E24\u6781","\u53E3\u7891\u5206\u5316","\u4E89\u8BAE","\u70ED\u8BAE\u4E0D\u65AD","\u5907\u53D7\u5173\u6CE8","\u4E07\u4F17\u671F\u5F85","\u671F\u5F85\u5DF2\u4E45","\u4E07\u4F17\u77A9\u76EE","\u5E74\u5EA6\u6700\u4F73","\u5E74\u5EA6\u6700\u5DEE","\u5E74\u5EA6\u4E4B\u4F5C","\u5E74\u5EA6\u9ED1\u9A6C","\u5E74\u5EA6\u60CA\u559C","\u5E74\u5EA6\u5931\u671B","\u538B\u8F74\u4E4B\u4F5C","\u6536\u5B98\u4E4B\u4F5C","\u6536\u5B98","\u6536\u5B98\u5B63","\u6536\u5B98\u6218","\u5927\u7ED3\u5C40\u524D\u7BC7","\u5927\u7ED3\u5C40\u540E\u7BC7","\u6700\u7EC8\u56DE","\u6700\u7EC8\u8BDD","\u6700\u7EC8\u7AE0\u524D\u7BC7","\u6700\u7EC8\u7AE0\u540E\u7BC7"];function E4r(e){return String(e).replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var y4r=new RegExp(A4r.map(E4r).sort((e,t)=>t.length-e.length).join("|"),"ig"),fm=new pt(500,60*60*1e3),Wce=new pt(1e3,60*60*1e3),QJe={\u96F6:0,\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9},zJe={\u5341:10,\u767E:100,\u5343:1e3,\u4E07:1e4,\u4EBF:1e8};function v4r(e){if(!e)return-1;let t=0,r=0,n=0,s=!1;for(let i=0;iString.fromCharCode(parseInt(h,16))).replace(/<[^>]+>/g,"").replace(/&[a-z]+;/gi,"").trim();let a=t.match(/\[([^\]]+)\]/g);if(a&&a.length>=2){let f=t.replace(/\[([^\]]+)\]/g,"").trim();if(!/[\u4e00-\u9fa5]/.test(f))for(let g of a){let _=g.slice(1,-1);if(/[\u4e00-\u9fa5]/.test(_)&&!/全球|封装|字幕|语言|下载/.test(_)){let y=_;if(y.includes(".")){let E=y.split(".").filter(A=>A.trim());for(let A of E)if(/[\u4e00-\u9fa5]/.test(A)&&!/全\d+季/.test(A)){y=A.trim();break}}return fm.set(e,y),y}}let p=a[0].slice(1,-1),m=a[1].slice(1,-1);if(/夸克|百度|迅雷|阿里|天翼|115|下载/.test(p)&&/[\u4e00-\u9fa5]/.test(m))return fm.set(e,m),m}let o=t.indexOf("|"),c=t.lastIndexOf("|");if(o!==-1&&o!==c){let f=t.substring(o+1,c).trim();return fm.set(e,f),f}t=t.replace(/[/g,"[").replace(/]/g,"]"),t=t.replace(/\[([^\]]*)\]/g,(f,h)=>/第[一二三四五六七八九十\d]+季|S\d+|Season\s*\d+/i.test(h)?f:"").trim(),t=t.replace(/[((].*?[))]/g,"").replace(/【.*?】/g,"").trim(),t=t.replace(/\b\d+(\.\d+)?[GMK]B?\b/gi,"").replace(/\b(2160|1080|720|480)[pP]\b/gi,"").replace(/\b(4K|2K|HDR|HD|SD|FHD|UHD)\b/gi,"").replace(/\bx264|x265|H264|HEVC\b/gi,"").replace(/\bAAC|AC3|DTS|FLAC\b/gi,"").replace(/\b(10bit|8bit|60fps|120fps)\b/gi,"").replace(/\bWEB-DL\b/gi,"").replace(/\bWEB-MKV\b/gi,"").replace(/\bWEB-\b/gi,"").replace(/\bWEB\b/gi,"").replace(/\bREMUX\b/gi,"").replace(/S\d+E\d+(-S\d+E\d+)?/gi,"").replace(/完结\s*\d+\s*集/g,"").replace(/更新\s*\d+\s*集/g,"").replace(/更新至\s*\d+\s*集/g,"").replace(/更至\s*\d+\s*集/g,"").replace(/全\s*\d+\s*集/g,"").replace(/第\s*\d+\s*集/g,"").replace(/最新/g,"").replace(/臻彩/g,"").replace(y4r,"").replace(/[\u200E\u200F\u202A-\u202E]/g,"").replace(/\s+/g," ").trim();let u=t.match(/([\u4e00-\u9fa5]{2,})/);if(u){let f=u[1],h=new RegExp(f+"\\d*"+f,"g");t=t.replace(h,f)}if(t=t.replace(/\d{4}$/g,"").trim(),t=t.replace(/[((][))]/g,"").replace(/【】/g,"").replace(/\[\]/g,"").trim(),t.includes(".")){let f=t.split(".").filter(p=>p.trim()),h="";for(let p of f)if(/[\u4e00-\u9fa5]/.test(p)){h=p.trim();break}if(h){let p=h.match(/全\d+季/);if(p)t=h.substring(0,p.index).trim();else{t=h;for(let m of f){let g=m.match(/^S(\d+)$/i);if(g){t=t+" "+g[0];break}}}}}let l=!1;if(t.includes("-")){let f=t.split("-"),h="";for(let p of f)if(/[\u4e00-\u9fa5]/.test(p)){h=p.trim();break}if(h)if(/第[一二三四五六七八九十\d]+季|S\d+|Season\s*\d+/i.test(h))t=h,l=!0;else{let p=t.match(/第[一二三四五六七八九十\d]+季|S(\d+)|Season\s*(\d+)/i);if(p)return t=h+" "+p[0],l=!0,fm.set(e,t),t;t=h,l=!0}}if(t.includes("/")){let f=t.split("/");for(let h of f)if(/[\u4e00-\u9fa5]/.test(h)){t=h.trim();break}}if(!l&&t.includes(" ")){let f=t.split(" ").filter(m=>m.trim());if(f.length>1&&f[0].length===1&&/[a-zA-Z]/.test(f[0])){let m=f.slice(0,2).join(" ");return fm.set(e,m),m}if(f.length===2&&/[\u4e00-\u9fa5]/.test(f[0])&&/^(第[一二三四五六七八九十\d]+季|S\d+|Season\s*\d+)$/i.test(f[1]))return fm.set(e,t),t;let h=[],p=!1;for(let m=0;m0?t=h.join(" "):f.length>0&&(t=f[0])}t=t.replace(/[::·.。]+$/,"").replace(/\.全\d+季$/,"").replace(/\.第[一二三四五六七八九十\d]+季$/,"").replace(/\.$/,"").replace(/未删减版$/,"").replace(/无删减版$/,"").replace(/删减版$/,"").replace(/完整版$/,"").replace(/\s+$/,"").trim();let d=t||e;return fm.set(e,d),d}function S4r(e){if(!e)return"";let t=e,r=t.lastIndexOf(".");return r>0&&(t=t.substring(0,r)),t=t.replace(/\[?\d+(\.\d+)?\s*[GMK]B?\]?/gi," "),t=t.replace(/\b(2160|1080|720|480|360)[pP]\b/gi," ").replace(/\b(4K|2K|HD|SD|FHD|UHD)\b/gi," ").replace(/\b(x264|x265|H\.?264|H\.?265|HEVC|AVC)\b/gi," ").replace(/\b(AAC|AC3|DTS|FLAC|MP3)\b/gi," ").replace(/\b(HDR|DV|Dolby|Atmos)\b/gi," ").replace(/\b(BluRay|WEB-DL|DVDRip|BDRip|HDTV)\b/gi," ").replace(/[\-_.,()\[\]【】]+/g," ").replace(/\s+/g," ").trim(),t}function WJe(e,t,r){let n=t;for(;n>0&&/\d/.test(e[n-1]);)n--;return!!(n>1&&e.substring(n-3,n).match(/[0-9]\.[0-9]*$/)||r999||WJe(e,r,n))return!1;let i=e.substring(Math.max(0,r-10),r),a=e.substring(n,Math.min(e.length,n+10)),o=/(ep|episode|集|话|章|回|期)/i.test(i+a),c=/(gb|mb|kb|p|k|fps|bitrate|码率)/i.test(i+a);return o?!0:c?!1:s>=1&&s<=99}function b4r(e,t,r,n){let s=0,i=parseInt(t,10);return i>=1&&i<=99&&(s+=10),r>0&&/[^\w\u4e00-\u9fa5]/.test(e[r-1])&&(s+=5),n=1&&d<=999){let f=u.index+u[0].indexOf(l),h=f+l.length;WJe(t,f,h)||n.push({number:String(d),start:f,end:h,priority:100})}}}let i=/(?:^|[^a-zA-Z0-9\u4e00-\u9fa5])(\d{1,3})(?![a-zA-Z0-9\u4e00-\u9fa5])/g;i.lastIndex=0;let a;for(;(a=i.exec(t))!==null;){let o=a[1],c=a.index+a[0].indexOf(o),u=c+o.length;if(T4r(t,o,c,u)){let l=b4r(t,o,c,u);n.push({number:o,start:c,end:u,priority:l})}}if(n.length===0){let o=/\b(\d{1,3})\b/g;for(o.lastIndex=0;(a=o.exec(r))!==null;){let c=a[1],u=a.index,l=u+c.length,d=parseInt(c,10);d>=1&&d<=999&&!(d>=1900&&d<=2100)&&n.push({number:c,start:u,end:l,priority:1})}}return n.length>0?(n.sort((o,c)=>c.priority-o.priority||c.start-o.start),n[0].number):"-1"}function I4r(e,t){let r=e.length,n=t.length,s=Array(r+1).fill(null).map(()=>Array(n+1).fill(0));for(let i=0;i<=r;i++)s[i][0]=i;for(let i=0;i<=n;i++)s[0][i]=i;for(let i=1;i<=r;i++)for(let a=1;a<=n;a++)e[i-1]===t[a-1]?s[i][a]=s[i-1][a-1]:s[i][a]=Math.min(s[i-1][a]+1,s[i][a-1]+1,s[i-1][a-1]+1);return s[r][n]}function R4r(e,t){let r=e.length,n=t.length,s=0,i=0,a=Array(r+1).fill(null).map(()=>Array(n+1).fill(0));for(let o=1;o<=r;o++)for(let c=1;c<=n;c++)e[o-1]===t[c-1]&&(a[o][c]=a[o-1][c-1]+1,a[o][c]>s&&(s=a[o][c],i=o));return e.substring(i-s,i)}function UI(e,t){if(!e||!t)return 0;let r=p=>String(p||"").toLowerCase().replace(/\s+/g,"").trim(),n=r(e),s=r(t);if(!n||!s)return 0;let i=ns&&(s=l,n=i)}else o>s&&(s=o,n=i)}return{episode:n,similarity:s}}var XJe=new Set(["xml","json"]);function Wi(e){let t=String(e||"xml").trim().toLowerCase();return XJe.has(t)?t:"xml"}function C4r(e){let t=[];if(!e)return t.push("\u914D\u7F6E\u4E0D\u80FD\u4E3A\u7A7A"),{valid:!1,errors:t};if(!e.address||typeof e.address!="string")t.push("address \u5B57\u6BB5\u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32");else try{let r=new URL(e.address);["http:","https:"].includes(r.protocol)||t.push("address \u5FC5\u987B\u662F http \u6216 https \u534F\u8BAE")}catch{t.push("address \u4E0D\u662F\u6709\u6548\u7684 URL")}return e.name!==void 0&&typeof e.name!="string"&&t.push("name \u5B57\u6BB5\u5FC5\u987B\u662F\u5B57\u7B26\u4E32"),e.enabled!==void 0&&typeof e.enabled!="boolean"&&t.push("enabled \u5B57\u6BB5\u5FC5\u987B\u662F\u5E03\u5C14\u503C"),e.priority!==void 0&&(typeof e.priority!="number"||e.priority<0)&&t.push("priority \u5B57\u6BB5\u5FC5\u987B\u662F\u975E\u8D1F\u6570"),e.timeout!==void 0&&(typeof e.timeout!="number"||e.timeout<1e3||e.timeout>3e4)&&t.push("timeout \u5B57\u6BB5\u5FC5\u987B\u5728 1000-30000 \u4E4B\u95F4"),{valid:t.length===0,errors:t}}function JJe(e){let t=[];if(!e)return t.push("\u914D\u7F6E\u4E0D\u80FD\u4E3A\u7A7A"),{valid:!1,errors:t};if(!e.urls||!Array.isArray(e.urls)?t.push("urls \u5B57\u6BB5\u5FC5\u987B\u662F\u6570\u7EC4"):(e.urls.length===0&&t.push("\u81F3\u5C11\u9700\u8981\u914D\u7F6E\u4E00\u4E2A\u5F39\u5E55\u6E90"),e.urls.forEach((r,n)=>{let s=C4r(r);s.valid||t.push(`\u6E90 #${n+1}: ${s.errors.join(", ")}`)})),e.autoPush!==void 0&&typeof e.autoPush!="boolean"&&t.push("autoPush \u5B57\u6BB5\u5FC5\u987B\u662F\u5E03\u5C14\u503C"),e.format!==void 0){let r=String(e.format||"").trim().toLowerCase();XJe.has(r)||t.push("format \u5B57\u6BB5\u5FC5\u987B\u662F xml \u6216 json")}return e.autoPushBlacklist!==void 0&&(Array.isArray(e.autoPushBlacklist)?e.autoPushBlacklist.forEach((r,n)=>{typeof r!="string"&&t.push(`autoPushBlacklist[${n}] \u5FC5\u987B\u662F\u5B57\u7B26\u4E32`)}):t.push("autoPushBlacklist \u5B57\u6BB5\u5FC5\u987B\u662F\u6570\u7EC4")),{valid:t.length===0,errors:t}}function x4r(e){return{address:e.address.trim().replace(/\/$/,""),name:e.name||new URL(e.address).hostname,enabled:e.enabled!==!1,priority:e.priority||0,timeout:e.timeout||5e3}}function Zce(e){let t={urls:e.urls.map(x4r),format:Wi(e.format),autoPush:e.autoPush!==!1,autoPushBlacklist:e.autoPushBlacklist||[]};return t.urls.sort((r,n)=>n.priority-r.priority),t}hm();zi();var P5=1e4,eZe=5*60*1e3,N4r=0,O4r=.6,D4r=60*60*1e3,tZe=50,rZe=200,tue=new pt(tZe,D4r);function gA(e,t,r,n=null){let s=n||fl(e);if(!s)return;if(!r||!Array.isArray(r.episodes)){Oe.warn(`[DanmuService] \u5C1D\u8BD5\u8BBE\u7F6E\u65E0\u6548\u504F\u597D: anime \u7F3A\u5C11 episodes \u6570\u7EC4\uFF0Ckey=${s}`);return}let i={animeTitle:r.animeTitle,episodes:r.episodes.map(a=>({episodeId:a.episodeId,episodeTitle:a.episodeTitle}))};tue.set(s,{sourceUrl:t,anime:i}),Oe.info(`[DanmuService] \u504F\u597D\u5DF2\u8BB0\u5F55/\u5237\u65B0: ${s} -> ${t} (\u7F13\u5B58: ${tue.size}/${tZe})`)}function ZJe(e){let t=fl(e);return t?tue.get(t):null}var rue=class{constructor(){this.cache=new pt(rZe,eZe)}_generateKey(t,r,n){return`${encodeURIComponent(n)}:${encodeURIComponent(t)}:${r}`}get(t,r,n){let s=this._generateKey(t,r,n);return this.cache.get(s)}set(t,r,n,s){let i=this._generateKey(t,r,n);this.cache.set(i,s)}cleanup(){return this.cache.cleanup()}clear(){this.cache.clear()}get size(){return this.cache.size}getStats(){return this.cache.getStats()}},_2=new rue;setInterval(()=>{let e=_2.cleanup();e>0&&Oe.info(`[DanmuService] \u6E05\u7406\u4E86 ${e} \u4E2A\u8FC7\u671F\u7F13\u5B58\u9879`)},eZe);async function nZe(e,t,r={}){let{timeout:n=P5,retries:s=N4r,signal:i}=r,a=Date.now();try{let o=await Se.get(`${e.address}/api/v2/search/episodes`,{params:{anime:t},timeout:n,signal:i,headers:{"User-Agent":"CatPaw/1.0",Accept:"application/json"}}),c=Date.now()-a;return o.data.success&&o.data.animes&&o.data.animes.length>0?{success:!0,source:e.name,sourceUrl:e.address,data:o.data,duration:c,error:null}:{success:!1,source:e.name,sourceUrl:e.address,data:null,duration:c,error:"\u672A\u627E\u5230\u5339\u914D\u7ED3\u679C"}}catch(o){let c=Date.now()-a;if(Se.isCancel(o)){let u=new Error("Aborted");throw u.name="AbortError",u}return s>0&&(o.code==="ECONNABORTED"||o.code==="ETIMEDOUT")?(Oe.info(`[DanmuService] ${e.name} \u8D85\u65F6\uFF0C\u91CD\u8BD5\u4E2D... (\u5269\u4F59${s}\u6B21)`),nZe(e,t,{timeout:n,retries:s-1,signal:i})):{success:!1,source:e.name,sourceUrl:e.address,data:null,duration:c,error:o.message||"\u8BF7\u6C42\u5931\u8D25"}}}var eue=5;async function P4r(e,t,r={}){let{timeout:n=P5,signal:s,onResult:i,shouldStop:a}=r;if(!e||e.length===0)throw new Error("\u6CA1\u6709\u53EF\u7528\u7684\u5F39\u5E55\u6E90");if(!t||!t.trim())throw new Error("\u52A8\u6F2B\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");Oe.info(`[DanmuService] \u{1F50D} \u5F00\u59CB\u641C\u7D22: "${t}", \u6E90\u6570\u91CF: ${e.length}, \u5E76\u53D1\u6570: ${eue}`);let o=new AbortController,c=()=>o.abort();s?.aborted?o.abort():s?.addEventListener&&s.addEventListener("abort",c,{once:!0});let u=[],l=!1;try{for(let h=0;hnZe(_,t,{timeout:n,signal:o.signal}).then(y=>({ok:!0,result:y})).catch(y=>({ok:!1,error:y}))),g=new Set(m.map((_,y)=>y));for(;g.size>0;){let y=await Promise.race(Array.from(g).map(A=>m[A].then(v=>({idx:A,payload:v}))));if(g.delete(y.idx),!y.payload.ok){let A=y.payload.error;if(A?.name==="AbortError"||o.signal.aborted)continue;Oe.error("[DanmuService] \u274C \u5355\u6E90\u641C\u7D22\u5F02\u5E38:",A?.message||A);continue}let E=y.payload.result;if(u.push(E),typeof i=="function")try{i(E,u)}catch(A){Oe.error("[DanmuService] \u274C onResult \u56DE\u8C03\u5F02\u5E38:",A?.message||A)}if(typeof a=="function"){let A=!1;try{A=!!a(E,u)}catch(v){Oe.error("[DanmuService] \u274C shouldStop \u56DE\u8C03\u5F02\u5E38:",v?.message||v)}if(A){l=!0,o.abort();break}}}if(l)break}}finally{s?.removeEventListener&&s.removeEventListener("abort",c)}let d=u.filter(h=>h.success).length,f=u.length-d;return Oe.info(`[DanmuService] \u{1F4CA} \u641C\u7D22\u5B8C\u6210: \u6210\u529F${d}\u4E2A, \u5931\u8D25${f}\u4E2A${l?" (\u63D0\u524D\u4E2D\u6B62)":""}`),u}async function L4r(e,t,r,n={}){let{timeout:s=P5,useCache:i=!0,minSimilarity:a=O4r,signal:o}=n,c=fl(e);if(!c||c==="undefined"||e==="undefined")throw Oe.error(`[DanmuService] \u274C \u6807\u9898\u65E0\u6548: vodName="${e}", title="${c}"`),new Error("\u65E0\u6CD5\u8BC6\u522B\u89C6\u9891\u6807\u9898\uFF0C\u8BF7\u68C0\u67E5\u89C6\u9891\u6E90");Oe.info(`[DanmuService] \u{1F50D} \u5339\u914D\u5F39\u5E55: vodName="${e}", \u63D0\u53D6\u6807\u9898="${c}", \u96C6\u6570="${t}"`);let u=ZJe(c);if(u){Oe.info(`[DanmuService] \u2B50 \u53D1\u73B0\u504F\u597D\u6E90: ${u.sourceUrl}`);let v=u.anime,T=UI(c,v.animeTitle);if(Oe.info(`[DanmuService] \u{1F50D} \u504F\u597D\u6E90\u6807\u9898\u76F8\u4F3C\u5EA6: ${T.toFixed(4)} (\u5F53\u524D="${c}", \u504F\u597D="${v.animeTitle}")`),T<.5)Oe.info("[DanmuService] \u26A0\uFE0F \u504F\u597D\u6E90\u6807\u9898\u76F8\u4F3C\u5EA6\u8FC7\u4F4E\uFF0C\u8DF3\u8FC7\u504F\u597D\u6E90\uFF0C\u56DE\u9000\u5230\u5168\u91CF\u641C\u7D22");else{Oe.info(`[DanmuService] \u{1F50D} \u5C1D\u8BD5\u5728\u504F\u597D\u6E90\u4E2D\u5339\u914D\u96C6\u6570 (\u5171 ${v.episodes?.length||0} \u96C6)...`);let C=0;for(let P of v.episodes){let M=BI(P.episodeTitle),L=Xce(M),U=Xce(t);if(C++,C<=3&&(Oe.info(`[DanmuService] [\u7CBE\u786E\u5339\u914D ${C}] "${P.episodeTitle}"`),Oe.info(`[DanmuService] \u63D0\u53D6\u96C6\u6570: ${M}, \u6807\u51C6\u5316: ${L}, \u76EE\u6807: ${U}`)),L===U)return Oe.info(`[DanmuService] \u2705 \u504F\u597D\u6E90\u7CBE\u786E\u5339\u914D\u96C6\u6570 ${t} (\u6807\u51C6\u5316: ${L})`),gA(c,u.sourceUrl,v),{success:!0,source:u.sourceUrl,sourceUrl:u.sourceUrl,anime:v,episode:P,similarity:1,fromPreference:!0}}Oe.info("[DanmuService] \u26A0\uFE0F \u504F\u597D\u6E90\u7CBE\u786E\u5339\u914D\u5931\u8D25\uFF0C\u5C1D\u8BD5\u76F8\u4F3C\u5EA6\u5339\u914D...");let{episode:b,similarity:x,matchDetails:w}=Jce(c,v.episodes,t);if(w&&w.length>0){let P=w.sort((M,L)=>L.score-M.score).slice(0,3);Oe.info("[DanmuService] \u524D3\u4E2A\u5019\u9009\u96C6 (\u6309\u5F97\u5206\u6392\u5E8F):"),P.forEach((M,L)=>{Oe.info(`[DanmuService] [${L+1}] "${M.title}"`),Oe.info(`[DanmuService] \u63D0\u53D6\u96C6\u6570: ${M.extractedNum}, \u76F8\u4F3C\u5EA6: ${M.similarity.toFixed(4)}, \u5F97\u5206: ${M.score.toFixed(4)}`)})}if(b)return Oe.info(`[DanmuService] \u2705 \u504F\u597D\u6E90\u76F8\u4F3C\u5EA6\u5339\u914D\u6210\u529F: "${b.episodeTitle}", \u76F8\u4F3C\u5EA6=${x.toFixed(4)}`),gA(c,u.sourceUrl,v),{success:!0,source:u.sourceUrl,sourceUrl:u.sourceUrl,anime:v,episode:b,similarity:x,fromPreference:!0};Oe.info("[DanmuService] \u26A0\uFE0F \u504F\u597D\u6E90\u4E2D\u672A\u627E\u5230\u5339\u914D\uFF0C\u56DE\u9000\u5230\u5168\u91CF\u641C\u7D22")}}if(i)for(let v of r){let T=_2.get(c,t,v.address);if(T){let C=ZJe(c);if(C&&C.sourceUrl!==v.address){Oe.info(`[DanmuService] \u23ED\uFE0F \u7F13\u5B58\u6E90 ${v.address} \u4E0E\u504F\u597D\u6E90 ${C.sourceUrl} \u4E0D\u540C\uFF0C\u8DF3\u8FC7\u7F13\u5B58`);continue}return Oe.info(`[DanmuService] \u{1F4BE} \u547D\u4E2D\u7F13\u5B58: ${v.name}`),gA(c,v.address,T.anime),{success:!0,source:v.name,sourceUrl:v.address,anime:T.anime,episode:T.episode,similarity:T.similarity,fromCache:!0}}}Oe.info("[DanmuService] \u{1F310} \u5F00\u59CB\u5168\u91CF\u641C\u7D22...");let l=.8,d=null,f=0,h=null,p=!1,m=null,g=0,_=0,y=0;Oe.info(`[DanmuService] \u{1F50D} \u5F00\u59CB\u5339\u914D\u5206\u6790 (\u76EE\u6807: "${c}", \u96C6\u6570: "${t}", \u6700\u5C0F\u76F8\u4F3C\u5EA6: ${a}, \u63D0\u524D\u8FD4\u56DE\u9608\u503C: ${l}):`);let E=v=>{if(!(!v.success||!v.data?.animes))for(let T of v.data.animes){g++;let C=T.animeTitle.replace(/\(\d{4}\)/g,"").replace(/【[^】]*】/g,"").replace(/\[[^\]]*\]/g,"").replace(/\s*from\s+\w+/gi,"").replace(/第(\d+)季/g,(L,U)=>{let Y=["","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341"],$=parseInt(U);return $<=10?`\u7B2C${Y[$]}\u5B63`:L}).trim(),b=UI(c,C);if(Oe.info(`[DanmuService] [\u5C1D\u8BD5 ${g}] \u6E90="${v.source}", \u52A8\u6F2B="${T.animeTitle}"`),Oe.info(`[DanmuService] \u6E05\u7406\u540E\u6807\u9898: "${C}"`),Oe.info(`[DanmuService] \u6807\u9898\u76F8\u4F3C\u5EA6: ${b.toFixed(4)} (\u9608\u503C: ${a})`),b0){let L=P.sort((U,Y)=>Y.score-U.score).slice(0,5);Oe.info("[DanmuService] \u524D5\u4E2A\u5019\u9009\u96C6 (\u6309\u5F97\u5206\u6392\u5E8F):"),L.forEach((U,Y)=>{Oe.info(`[DanmuService] [${Y+1}] "${U.title}"`),Oe.info(`[DanmuService] \u63D0\u53D6\u96C6\u6570: ${U.extractedNum}, \u6807\u51C6\u5316: ${U.normalizedNum}, \u76EE\u6807: ${U.normalizedTargetEpisode||"N/A"}`),Oe.info(`[DanmuService] \u76F8\u4F3C\u5EA6: ${U.similarity.toFixed(4)}, \u5F97\u5206: ${U.score.toFixed(4)}`),U.episodeDiff!==void 0&&Oe.info(`[DanmuService] \u96C6\u6570\u5DEE: ${U.episodeDiff}, \u5956\u52B1: ${U.episodeBonus}`)})}continue}let M=b*.6+w*.4;if(Oe.info(`[DanmuService] \u2705 \u627E\u5230\u5339\u914D\u96C6: "${x.episodeTitle}"`),Oe.info(`[DanmuService] \u96C6\u6570\u76F8\u4F3C\u5EA6: ${w.toFixed(4)}, \u7EFC\u5408\u76F8\u4F3C\u5EA6: ${M.toFixed(4)}`),M>f?(f=M,d={anime:T,episode:x},h=v,Oe.info("[DanmuService] \u{1F31F} \u5F53\u524D\u6700\u4F73\u5339\u914D\u5DF2\u66F4\u65B0")):Oe.info(`[DanmuService] \u7EFC\u5408\u76F8\u4F3C\u5EA6\u4F4E\u4E8E\u5F53\u524D\u6700\u4F73 (${f.toFixed(4)})\uFF0C\u8DF3\u8FC7`),M>=l){p=!0,m={source:v.source,sourceUrl:v.sourceUrl,anime:T,episode:x,similarity:M},Oe.info(`[DanmuService] \u26A1 \u63D0\u524D\u8FD4\u56DE\u89E6\u53D1: source="${v.source}", anime="${T.animeTitle}", episode="${x.episodeTitle}", totalSimilarity=${M.toFixed(4)}`);return}}},A=await P4r(r,c,{timeout:s,signal:o,onResult:v=>{v.success&&v.data?.animes?Oe.info(`[DanmuService] \u2705 ${v.source}: \u627E\u5230 ${v.data.animes.length} \u4E2A\u52A8\u6F2B`):Oe.info(`[DanmuService] \u274C ${v.source}: ${v.error||"\u672A\u77E5\u9519\u8BEF"}`),E(v)},shouldStop:()=>p});return Oe.info(`[DanmuService] \u{1F4CA} \u5339\u914D\u7EDF\u8BA1: \u603B\u5C1D\u8BD5=${g}, \u6807\u9898\u8FC7\u6EE4=${_}, \u96C6\u6570\u8FC7\u6EE4=${y}`),p&&m?(gA(c,m.sourceUrl,m.anime),i&&_2.set(c,t,m.sourceUrl,{anime:m.anime,episode:m.episode,similarity:m.similarity}),Oe.info(`[DanmuService] \u2705 \u63D0\u524D\u8FD4\u56DE\u6210\u529F: ${m.anime.animeTitle} - ${m.episode.episodeTitle} (\u76F8\u4F3C\u5EA6: ${m.similarity.toFixed(2)})`),{success:!0,source:m.source,sourceUrl:m.sourceUrl,anime:m.anime,episode:m.episode,similarity:m.similarity,fromCache:!1,earlyReturned:!0,searchResults:A}):d?(gA(c,h.sourceUrl,d.anime),i&&_2.set(c,t,h.sourceUrl,{anime:d.anime,episode:d.episode,similarity:f}),Oe.info(`[DanmuService] \u2705 \u5339\u914D\u6210\u529F: ${d.anime.animeTitle} - ${d.episode.episodeTitle} (\u76F8\u4F3C\u5EA6: ${f.toFixed(2)}, \u7F13\u5B58: ${_2.size}/${rZe})`),{success:!0,source:h.source,sourceUrl:h.sourceUrl,anime:d.anime,episode:d.episode,similarity:f,fromCache:!1}):(Oe.error("[DanmuService] \u274C \u672A\u627E\u5230\u5339\u914D\u7684\u5F39\u5E55"),Oe.error(`[DanmuService] \u8F93\u5165\u6458\u8981: vodName="${e}", \u63D0\u53D6\u6807\u9898="${c}", \u96C6\u6570="${t}"`),Oe.error("[DanmuService] \u53EF\u80FD\u539F\u56E0:"),Oe.error(`[DanmuService] 1. \u6807\u9898\u76F8\u4F3C\u5EA6\u8FC7\u4F4E (\u8FC7\u6EE4\u4E86 ${_} \u4E2A)`),Oe.error(`[DanmuService] 2. \u96C6\u6570\u4E0D\u5339\u914D (\u8FC7\u6EE4\u4E86 ${y} \u4E2A)`),Oe.error("[DanmuService] 3. \u5F39\u5E55\u6E90\u4E2D\u6CA1\u6709\u8BE5\u5267\u96C6"),{success:!1,error:"\u672A\u5339\u914D\u5230\u5F39\u5E55",searchResults:A})}async function sZe(e,t,r,n={}){let s=await L4r(e,t,r,n);if(!s.success)return s;let i=Wi(n.format),a=`${s.sourceUrl}/api/v2/comment/${s.episode.episodeId}?format=${encodeURIComponent(i)}`;return{...s,danmuUrl:a,format:i,matchInfo:{animeTitle:s.anime.animeTitle,episodeTitle:s.episode.episodeTitle,similarity:s.similarity}}}function M4r(e){return Wi(e)==="json"?"application/json,text/plain,*/*":"application/xml,text/plain,*/*"}async function iZe(e,t={}){let{timeout:r=P5,signal:n}=t,s=Wi(t.format);try{Oe.info(`[DanmuService] \u{1F4E5} \u83B7\u53D6\u5F39\u5E55\u5185\u5BB9: format=${s}, url=${e}`);let i=await Se.get(e,{responseType:"text",timeout:r,signal:n,headers:{"User-Agent":"CatPaw/1.0",Accept:M4r(s)}});return Oe.info(`[DanmuService] \u2705 \u5F39\u5E55\u5185\u5BB9\u83B7\u53D6\u6210\u529F: format=${s}`),i.data}catch(i){if(Se.isCancel(i)){let a=new Error("Aborted");throw a.name="AbortError",a}throw Oe.error(`[DanmuService] \u274C \u83B7\u53D6\u5F39\u5E55\u5185\u5BB9\u5931\u8D25: ${i.message}`),new Error(`\u83B7\u53D6\u5F39\u5E55\u5185\u5BB9\u5931\u8D25: ${i.message}`)}}var L5=new Map,nue=new Map;function aZe(e,t,r=10*60*1e3){L5.set(e,t);let n=nue.get(e);n&&clearTimeout(n);let s=setTimeout(()=>{L5.delete(e),nue.delete(e)},r);typeof s?.unref=="function"&&s.unref(),nue.set(e,s)}function oZe(){return L5.entries()}function M5(){return L5.size}hm();var CIt=we(require("net"),1),kS=we(require("path"),1),Bye=we(require("fs"),1);hm();var Rq=9321,xIt=15e3,vGr=300,SGr=process.env.NODE_PATH?kS.default.resolve(process.env.NODE_PATH):process.cwd();function Cq(){return SGr}function TGr(e){if(typeof Oe?.warn=="function"){Oe.warn(e);return}if(typeof Oe?.info=="function"){Oe.info(e);return}console.warn(e)}function wIt(){return kS.default.join(Cq(),"runtime","danmu_api","config",".env")}function bGr(){return kS.default.join(Cq(),"runtime","danmu_api","run","danmu_api.status.json")}function NIt(e){let t=bGr();Bye.default.mkdirSync(kS.default.dirname(t),{recursive:!0}),Bye.default.writeFileSync(t,JSON.stringify(e,null,2),"utf8")}function IGr(e){return new Promise(t=>setTimeout(t,e))}async function OIt(e=Rq,t="127.0.0.1",r=1200){return await new Promise(n=>{let s=CIt.default.createConnection({host:t,port:e}),i=!1,a=o=>{if(!i){i=!0;try{s.destroy()}catch{}n(o)}};s.setTimeout(r),s.once("connect",()=>a(!0)),s.once("timeout",()=>a(!1)),s.once("error",()=>a(!1))})}async function RGr(e=Rq,t=xIt){let r=Date.now();for(;Date.now()-r(RIt(),yGr)),n=r&&typeof r.startDanmuApiServer=="function"?r.startDanmuApiServer:null,s;return n?s=await n({host:"127.0.0.1",proxyHost:"127.0.0.1",port:e}):s={port:e,proxyPort:5321,mode:"side-effect"},NIt({pid:process.pid,port:s?.port||e,proxyPort:s?.proxyPort||5321,envPath:t,startedAt:new Date().toISOString(),entry:kS.default.join(Cq(),"vendor","danmu_api","danmu_api","server.js"),state:"running",mode:n?"in-process":"in-process-side-effect"}),s}async function BS(e={}){let t=Number(e.port||Rq),r=Number(e.timeoutMs||xIt);return await OIt(t)?(NIt({pid:process.pid,port:t,envPath:wIt(),startedAt:new Date().toISOString(),entry:kS.default.join(Cq(),"vendor","danmu_api","danmu_api","server.js"),state:"running",mode:"attached"}),{ok:!0,started:!1,port:t}):(TGr(`[DanmuRuntime] \u68C0\u6D4B\u5230 danmu_api \u672A\u76D1\u542C\uFF0C\u51C6\u5907\u62C9\u8D77: port=${t}`),await CGr(t),await RGr(t,r)?(Oe.info(`[DanmuRuntime] danmu_api \u5DF2\u5C31\u7EEA: port=${t}`),{ok:!0,started:!0,port:t}):(Oe.error(`[DanmuRuntime] danmu_api \u542F\u52A8\u540E\u4ECD\u672A\u76D1\u542C: port=${t}, timeout=${r}ms`),{ok:!1,started:!0,port:t}))}Nd();var xq={updatedAt:0,spiderKey:"",flag:"",id:"",episodeKey:"",vodName:"",episodeName:"",episodeNumber:"",title:""};function LIt(e={}){return xq={...xq,...e,updatedAt:Date.now()},xq}function VA(){return{...xq}}var MIt=we(require("dns"),1),VM=we(require("net"),1),kGr=new Set(["http:","https:"]),BGr=[/^0\./,/^10\./,/^100\.(6[4-9]|[7-9]\d|1[0-1]\d|12[0-7])\./,/^127\./,/^169\.254\./,/^172\.(1[6-9]|2\d|3[0-1])\./,/^192\.0\.0\./,/^192\.0\.2\./,/^192\.88\.99\./,/^192\.168\./,/^198\.(1[8-9]|51\.100)\./,/^203\.0\.113\./,/^(22[4-9]|2[3-5]\d)\./,/^255\.255\.255\.255$/];function Uye(e){return BGr.some(t=>t.test(e))}function kIt(e){let t=String(e||"").toLowerCase();if(!t||t==="::"||t==="::1"||t.startsWith("fc")||t.startsWith("fd")||t.startsWith("fe80:")||t.startsWith("fe9")||t.startsWith("fea")||t.startsWith("feb"))return!0;if(t.startsWith("::ffff:")){let r=t.split(":").pop();if(VM.default.isIPv4(r)&&Uye(r))return!0}return!1}function UGr(e){let t=String(e||"").toLowerCase().trim();return!!(!t||t==="localhost"||t.endsWith(".localhost")||t==="metadata.google.internal"||t.endsWith(".internal")||t.endsWith(".local"))}function FGr(e){if(!e||typeof e!="string")return{ok:!1,reason:"empty url"};let t;try{t=new URL(e)}catch{return{ok:!1,reason:"invalid url"}}if(!kGr.has(t.protocol))return{ok:!1,reason:`protocol not allowed: ${t.protocol}`,parsed:t};let r=t.hostname;return UGr(r)?{ok:!1,reason:`blocked host: ${r}`,host:r,parsed:t}:VM.default.isIPv4(r)&&Uye(r)?{ok:!1,reason:`blocked ipv4: ${r}`,host:r,parsed:t}:VM.default.isIPv6(r)&&kIt(r)?{ok:!1,reason:`blocked ipv6: ${r}`,host:r,parsed:t}:{ok:!0,host:r,parsed:t}}async function jM(e){let t=FGr(e);if(!t.ok||VM.default.isIP(t.host))return t;let r;try{r=await MIt.default.promises.lookup(t.host,{all:!0,verbatim:!0})}catch(n){return{ok:!1,reason:`dns lookup failed: ${n.message}`,host:t.host}}for(let{address:n,family:s}of r){if(s===4&&Uye(n))return{ok:!1,reason:`dns resolves to private ipv4: ${n}`,host:t.host};if(s===6&&kIt(n))return{ok:!1,reason:`dns resolves to private ipv6: ${n}`,host:t.host}}return{ok:!0,host:t.host,parsed:t.parsed,addrs:r}}hm();Nd();function BIt(e){return typeof e!="string"?e:e.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g,"")}function KM(e,t="xml"){if(!e||typeof e!="string")return 0;if(Wi(t)==="json"){try{let n=JSON.parse(e);if(Array.isArray(n?.comments))return n.comments.length;if(Number.isFinite(n?.count))return n.count;if(Array.isArray(n))return n.length}catch{}return 0}let r=e.match(//g);return r?r.length:0}function GM(e="xml"){return Wi(e)==="json"?"application/json; charset=utf-8":"application/xml; charset=utf-8"}function Fye(e="xml"){return Wi(e)==="json"?"application/json,text/plain,*/*":"application/xml,text/plain,*/*"}async function $ye(e,t,r=400,n={}){if(!e.raw.writableEnded){Oe.error(`[DanmuProxy] Error: ${t}`);try{Qr.isAvailable()?(Oe.info(`[DanmuProxy] \u53D1\u9001\u9519\u8BEF\u63D0\u793A: "${t}"`),await Qr.toast(t,{duration:3})===null?Oe.warn("[DanmuProxy] \u9519\u8BEF\u63D0\u793A\u53D1\u9001\u5931\u8D25 (host bridge \u8FD4\u56DE null)"):Oe.info("[DanmuProxy] \u9519\u8BEF\u63D0\u793A\u53D1\u9001\u6210\u529F")):Oe.error("[DanmuProxy] host bridge unavailable (sendError)")}catch(s){Oe.error(`[DanmuProxy] \u53D1\u9001\u9519\u8BEF\u63D0\u793A\u5931\u8D25: ${s.message}`)}Wi(n.format)==="json"?e.code(r).send({error:t}):e.code(r).header("Content-Type",GM("xml")).send('')}}Pr();function UIt(e,t="/"){let r=String(e||"").trim(),n=String(t||"/").trim()||"/";if(!r)throw new Error("invalid danmu source");let s;try{s=new URL(r)}catch{throw new Error(`invalid danmu source: ${r}`)}let i=n.startsWith("/")?n:`/${n}`;return new URL(i,`${s.origin}/`).toString()}function $Gr(e){if(!e)return"unknown error";let t=e?.code||"",r=e?.response?.status,n=e?.config?.timeout,i=[e?.message||String(e)];return t&&i.push(`code=${t}`),r!==void 0&&i.push(`status=${r}`),n!==void 0&&i.push(`timeout=${n}ms`),i.join(", ")}function qGr(e){let t=String(e?.code||"").toUpperCase(),r=String(e?.message||"").toLowerCase();return t==="ECONNABORTED"||t==="ETIMEDOUT"||r.includes("timeout")?"timeout":t==="ECONNREFUSED"?"conn_refused":t==="ECONNRESET"?"conn_reset":t==="ENOTFOUND"||t==="EAI_AGAIN"?"dns_error":String(e?.name||"")==="AbortError"?"aborted":"other"}async function FIt(e,t){let r;try{r=new URL(t)}catch{return{ok:!1,reason:"invalid danmu source url"}}if(r.protocol!=="http:"&&r.protocol!=="https:")return{ok:!1,reason:`protocol not allowed: ${r.protocol}`};let n;try{n=await uh(e)}catch{n=null}let s=new Set(Array.isArray(n?.urls)?n.urls.map(i=>{try{return new URL(i.address).host}catch{return""}}).filter(Boolean):[]);return s.size>0?s.has(r.host)?{ok:!0}:{ok:!1,reason:`danmu source not in allowlist: ${r.host}`}:await jM(t)}function HGr(e){try{return new URL(String(e||""),"http://127.0.0.1").searchParams.get("format")}catch{return""}}var uh=async e=>{let t=await e.db.getObjectDefault("/danmu");return Zce(t||e.config.danmu)},WQe=async(e,t)=>{let r=JJe(t);if(!r.valid)throw new Error(`\u914D\u7F6E\u9A8C\u8BC1\u5931\u8D25: ${r.errors.join("; ")}`);let n=Zce(t);await e.db.push("/danmu",n)},XQe=async e=>{await e.db.delete("/danmu")};async function t5(e){e.get("/setting",async(t,r)=>{r.send({code:0,data:await uh(t.server)})}),e.put("/setting",async(t,r)=>{try{await WQe(t.server,t.body),r.send({code:0,message:"\u914D\u7F6E\u4FDD\u5B58\u6210\u529F"})}catch(n){r.send({code:1,message:n.message})}}),e.delete("/setting",async(t,r)=>{await XQe(t.server),r.send({code:0})}),e.get("/search",async(t,r)=>{let n=Date.now(),{source:s,anime:i}=t.query||{};try{if(!s||!i)return Oe.warn(`[DanmuManualSearch] \u7F3A\u5C11\u53C2\u6570: source="${s||""}", anime="${i||""}"`),r.code(400).send({success:!1,message:"missing source or anime"});let a=await FIt(t.server,s);if(!a.ok)return Oe.warn(`[DanmuManualSearch] \u88AB\u62D2\u7EDD: ${a.reason}`),r.code(403).send({success:!1,message:a.reason});let o=UIt(s,"/api/v2/search/episodes");await BS(),Oe.info(`[DanmuManualSearch] \u8BF7\u6C42\u5F00\u59CB: anime="${i}", source="${s}", target="${o}"`);let c=await Se.get(o,{params:{anime:i},timeout:15e3,headers:{"User-Agent":"CatPaw/1.0",Accept:"application/json"}}),u=Array.isArray(c?.data?.animes)?c.data.animes:[],l=u.slice(0,5).map(d=>d?.animeTitle).filter(Boolean);Oe.info(`[DanmuManualSearch] \u8BF7\u6C42\u6210\u529F: anime="${i}", source="${s}", status=${c.status}, success=${c?.data?.success}, animes=${u.length}, duration=${Date.now()-n}ms, preview=${JSON.stringify(l)}`),r.send(c.data)}catch(a){let o=a?.response?.status||502,c=a?.response?.data;Oe.error(`[DanmuManualSearch] \u8BF7\u6C42\u5931\u8D25: anime="${i||""}", source="${s||""}", status=${o}, duration=${Date.now()-n}ms, message="${a.message||"danmu search proxy failed"}", response=${typeof c=="string"?c.slice(0,300):JSON.stringify(c||{})}`),r.code(o).send({success:!1,message:a.message||"danmu search proxy failed"})}}),e.get("/comment",async(t,r)=>{let n=Date.now(),{source:s,episodeId:i}=t.query||{},a=Wi(t.query?.format);try{if(!s||!i)return Oe.warn(`[DanmuManualComment] \u7F3A\u5C11\u53C2\u6570: source="${s||""}", episodeId="${i||""}", format="${a}"`),r.code(400).send({code:1,message:"missing source or episodeId"});let o=await FIt(t.server,s);if(!o.ok)return Oe.warn(`[DanmuManualComment] \u88AB\u62D2\u7EDD: ${o.reason}`),r.code(403).send({code:1,message:o.reason});let c=UIt(s,`/api/v2/comment/${i}`);await BS(),Oe.info(`[DanmuManualComment] \u8BF7\u6C42\u5F00\u59CB: source="${s}", episodeId="${i}", format="${a}", target="${c}"`);let u=await Se.get(c,{params:{format:a},responseType:"text",timeout:1e4,headers:{"User-Agent":"CatPaw/1.0",Accept:Fye(a)}}),l=typeof u.data=="string"?u.data.length:0,d=KM(u.data,a);Oe.info(`[DanmuManualComment] \u8BF7\u6C42\u6210\u529F: source="${s}", episodeId="${i}", format="${a}", status=${u.status}, contentLength=${l}, danmuCount=${d}, duration=${Date.now()-n}ms`),r.type(GM(a)).send(u.data)}catch(o){let c=o?.response?.status||502,u=o?.response?.data;Oe.error(`[DanmuManualComment] \u8BF7\u6C42\u5931\u8D25: source="${s||""}", episodeId="${i||""}", status=${c}, duration=${Date.now()-n}ms, message="${o.message||"danmu comment proxy failed"}", response=${typeof u=="string"?u.slice(0,300):JSON.stringify(u||{})}`),r.code(c).send({code:1,message:o.message||"danmu comment proxy failed"})}}),e.get("/current-play",async(t,r)=>{r.send({code:0,data:VA()})}),e.post("/push",async(t,r)=>{let{url:n,sourceUrl:s,anime:i,title:a,flag:o,id:c}=t.body,u=Wi(t.body?.format||HGr(n)),l=Date.now(),d=0;Oe.info(`[DanmuManualPush] \u6536\u5230\u63A8\u9001\u8BF7\u6C42: title="${a||""}", sourceUrl="${s||""}", animeTitle="${i?.animeTitle||""}", episodes=${i?.episodes?.length||0}, format="${u}", flag="${o||""}", id="${c||""}", url="${n||""}"`),gA(a,s,i,a);let f=M5();if(Oe.info(`[DanmuManualPush] autoPushContext \u5927\u5C0F: ${f}`),f>0)for(let[p,m]of oZe()){let g=UI(a,m.rawTitle);g>=.5&&(Oe.info(`[DanmuManualPush] \u547D\u4E2D autoPushContext: ctxKey="${p}", rawTitle="${m.rawTitle}", autoKey="${m.autoKey}", score=${g.toFixed(4)}`),gA(m.autoKey,s,i))}let h=/^https?:\/\//i.test(n)?n:`http://127.0.0.1:${t.server.address().port}${n.startsWith("/")?n:`/${n}`}`;Oe.info(`[DanmuDiag][ManualPush] stage=prepare sourceUrl="${s||""}" format="${u}" danmuUrl="${h}" localServerPort=${t.server.address().port}`);try{Oe.info(`[DanmuDiag][ManualPush] stage=fetch_local_proxy_start timeout=10000 url="${h}"`);let p=Date.now(),m=await Se.get(h,{responseType:"text",timeout:1e4,headers:{"User-Agent":"CatPaw/1.0",Accept:Fye(u)}});Oe.info(`[DanmuDiag][ManualPush] stage=fetch_local_proxy_ok status=${m.status} duration=${Date.now()-p}ms url="${h}"`);let g=m.data;d=KM(g,u),Oe.info(`[DanmuManualPush] \u83B7\u53D6\u5F39\u5E55\u6210\u529F: title="${a||""}", sourceUrl="${s||""}", format="${u}", danmuUrl="${h}", danmuCount=${d}, duration=${Date.now()-l}ms`),Oe.info(`[DanmuManualPushFlow] \u51C6\u5907\u63A8\u9001\u5230\u64AD\u653E\u5668: title="${a||""}", format="${u}", url="${h}", danmuCount=${d}`),Oe.info(`[DanmuDiag][ManualPush] stage=player_push_start danmuCount=${d} url="${h}"`);let _=await Qr.pushDanmu(h);Oe.info(`[DanmuDiag][ManualPush] stage=player_push_done result=${_===null?"null":"ok"} url="${h}"`);let y=await Qr.toast(`\u5F39\u5E55\u63A8\u9001\u6210\u529F\uFF08${d}\u6761\uFF09`,{duration:2});Oe.info(`[DanmuDiag][ManualPush] stage=player_toast_done result=${y===null?"null":"ok"} danmuCount=${d}`),Oe.info(`[DanmuManualPushFlow] \u5DF2\u53D1\u9001 danmuPush/toast: title="${a||""}", danmuCount=${d}`)}catch(p){let m=qGr(p),g=$Gr(p),_=p?.response?.status;console.error("[ManualPush] \u83B7\u53D6\u5F39\u5E55\u5931\u8D25:",p.message),Oe.error(`[DanmuDiag][ManualPush] stage=fetch_local_proxy_fail type=${m} detail="${g}" url="${h}" duration=${Date.now()-l}ms`),Oe.error(`[DanmuManualPush] \u83B7\u53D6\u5F39\u5E55\u5931\u8D25: title="${a||""}", sourceUrl="${s||""}", format="${u}", danmuUrl="${h}", duration=${Date.now()-l}ms, message="${p.message}"`),Oe.info(`[DanmuDiag][ManualPush] stage=player_push_fallback_start url="${h}"`);let y=await Qr.pushDanmu(h);Oe.info(`[DanmuDiag][ManualPush] stage=player_push_fallback_done result=${y===null?"null":"ok"} url="${h}"`);let E=_===429?"\u8BF7\u6C42\u8FC7\u4E8E\u9891\u7E41\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5":`\u5F39\u5E55\u83B7\u53D6\u5931\u8D25: ${p.message}`,A=await Qr.toast(E,{duration:2});return Oe.info(`[DanmuDiag][ManualPush] stage=player_toast_fail_done result=${A===null?"null":"ok"} status=${_||0}`),r.send({code:_===429?429:1,danmuCount:0,message:_===429?"\u8BF7\u6C42\u8FC7\u4E8E\u9891\u7E41\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5":p.message||"\u5F39\u5E55\u83B7\u53D6\u5931\u8D25"})}r.send({code:0,danmuCount:d})}),e.get("/bundle.js",(t,r)=>{r.type("application/javascript; charset=utf-8").send(globalThis.danmuBundle||"")}),e.get("/fe",(t,r)=>{r.type("text/html").send(` + + + + + \u5F39\u5E55\u641C\u7D22 + + + + +
+ + + + + + + + + `)})}hm();Nd();function VGr(e){if(!e)return"unknown error";let t=e?.code||"",r=e?.response?.status,n=e?.config?.timeout,i=[e?.message||String(e)];return t&&i.push(`code=${t}`),r!==void 0&&i.push(`status=${r}`),n!==void 0&&i.push(`timeout=${n}ms`),i.join(", ")}function jGr(e){let t=String(e?.code||"").toUpperCase(),r=String(e?.message||"").toLowerCase();return t==="ECONNABORTED"||t==="ETIMEDOUT"||r.includes("timeout")?"timeout":t==="ECONNREFUSED"?"conn_refused":t==="ECONNRESET"?"conn_reset":t==="ENOTFOUND"||t==="EAI_AGAIN"?"dns_error":String(e?.name||"")==="AbortError"?"aborted":"other"}async function wq(e,t,r=400,n="xml"){return $ye(e,t,r,{format:n})}async function KGr(e,t){let r=new AbortController;e.raw.on("aborted",()=>{r.abort(),Oe.info("[DanmuProxy] Client disconnected, aborting danmu processing.")});let n=Date.now(),s=Number(e?.server?.address?.()?.port||0);try{let{name:i,episodeNumber:a}=e.query,o=Wi(e.query?.format);if(!i||!a)return await wq(t,"\u7F3A\u5C11\u5FC5\u8981\u53C2\u6570: name \u548C episodeNumber",400,o);let c=await uh(e.server),u=Wi(e.query?.format||c?.format);if(!c?.urls||c.urls.length===0)return await wq(t,"\u6CA1\u6709\u914D\u7F6E\u5F39\u5E55\u6E90",500,u);Oe.info(`[DanmuDiag][Proxy] stage=request_start name="${i}" extractedTitle="${fl(i)}" episode="${a}" format="${u}" sources=${c.urls.length} localServerPort=${s}`),await BS(),Oe.info(`[DanmuAutoPush] \u81EA\u52A8\u63A8\u9001\u8BF7\u6C42\u5F00\u59CB: rawName="${i}", extractedTitle="${fl(i)}", episode="${a}", format="${u}", sources=${c.urls.length}`),Oe.info(`[DanmuDiag][Proxy] stage=match_start timeout=8000 name="${i}" episode="${a}"`);let l=Date.now(),d=await sZe(i,a,c.urls,{timeout:8e3,useCache:!0,minSimilarity:.5,format:u,signal:r.signal});if(Oe.info(`[DanmuDiag][Proxy] stage=match_done success=${!!d?.success} duration=${Date.now()-l}ms name="${i}" episode="${a}"`),r.signal.aborted)return;if(!d.success)return Oe.error(`[DanmuAutoPush] \u81EA\u52A8\u63A8\u9001\u5339\u914D\u5931\u8D25: rawName="${i}", extractedTitle="${fl(i)}", episode="${a}", error="${d.error||"\u672A\u5339\u914D\u5230\u5F39\u5E55\uFF0C\u8BF7\u624B\u52A8\u63A8\u9001"}"`),Oe.error(`[DanmuDiag][Proxy] stage=match_fail error="${d.error||"\u672A\u5339\u914D\u5230\u5F39\u5E55"}" duration=${Date.now()-n}ms`),await wq(t,d.error||"\u672A\u5339\u914D\u5230\u5F39\u5E55\uFF0C\u8BF7\u624B\u52A8\u63A8\u9001",404,u);Oe.info(`[DanmuAutoPush] \u81EA\u52A8\u63A8\u9001\u5339\u914D\u6210\u529F: rawName="${i}", extractedTitle="${fl(i)}", episode="${a}", format="${u}", animeTitle="${d.matchInfo?.animeTitle||""}", matchedEpisode="${d.matchInfo?.episodeTitle||""}", sourceUrl="${d.sourceUrl||""}", similarity=${d.similarity}`),Oe.info(`[DanmuProxy] Match successful: ${d.danmuUrl}`),Oe.info(`[DanmuDiag][Proxy] stage=fetch_content_start timeout=10000 format="${u}" danmuUrl="${d.danmuUrl}" sourceUrl="${d.sourceUrl||""}"`);let f=Date.now(),h=await iZe(d.danmuUrl,{signal:r.signal,format:u,timeout:1e4});if(Oe.info(`[DanmuDiag][Proxy] stage=fetch_content_done duration=${Date.now()-f}ms format="${u}" danmuUrl="${d.danmuUrl}"`),r.signal.aborted)return;let p=KM(h,u);Oe.info(`[DanmuProxy] Danmu loaded: ${p} items`),Oe.info(`[DanmuAutoPush] \u81EA\u52A8\u63A8\u9001\u5F39\u5E55\u52A0\u8F7D\u6210\u529F: rawName="${i}", episode="${a}", format="${u}", danmuCount=${p}, danmuUrl="${d.danmuUrl}"`);let m="";d.fromPreference?m=`\u5F39\u5E55\u5339\u914D(\u504F\u597D): ${d.matchInfo.animeTitle} ${d.matchInfo.episodeTitle} (${p}\u6761)`:d.fromCache?m=`\u5F39\u5E55\u5339\u914D(\u7F13\u5B58): ${d.matchInfo.animeTitle} ${d.matchInfo.episodeTitle} (${p}\u6761)`:m=`\u5F39\u5E55\u5339\u914D: ${d.matchInfo.animeTitle} ${d.matchInfo.episodeTitle} (${p}\u6761)`,Oe.info(`[DanmuProxy] \u51C6\u5907\u53D1\u9001\u63D0\u793A: "${m}"`);try{Qr.isAvailable()?(Oe.info("[DanmuProxy] \u8C03\u7528 hostBridge.toast..."),await Qr.toast(m,{duration:2})===null?Oe.info("[DanmuProxy] host bridge \u8FD4\u56DE null (\u53EF\u80FD\u662F Dart \u901A\u4FE1\u5931\u8D25)"):Oe.info("[DanmuProxy] Toast \u63D0\u793A\u53D1\u9001\u6210\u529F")):Oe.error("[DanmuProxy] host bridge unavailable")}catch(_){Oe.error("[DanmuProxy] Toast \u63D0\u793A\u53D1\u9001\u5931\u8D25:",_.message)}let g=u==="xml"?BIt(h):h;Oe.info(`[DanmuDiag][Proxy] stage=response_send_ok format="${u}" danmuCount=${p} duration=${Date.now()-n}ms`),t.header("Content-Type",GM(u)).send(g)}catch(i){if(i.name==="AbortError"||r.signal.aborted){Oe.info("[DanmuProxy] Request was aborted, ignoring further processing."),Oe.info(`[DanmuDiag][Proxy] stage=aborted duration=${Date.now()-n}ms`);return}let a=jGr(i),o=VGr(i);Oe.error(`[DanmuAutoPush] \u81EA\u52A8\u63A8\u9001\u5F02\u5E38: rawName="${e?.query?.name||""}", episode="${e?.query?.episodeNumber||""}", message="${i.message}"`),Oe.error(`[DanmuDiag][Proxy] stage=failed type=${a} detail="${o}" duration=${Date.now()-n}ms`),await wq(t,`\u5F39\u5E55\u52A0\u8F7D\u5931\u8D25: ${i.message}`,500,Wi(e?.query?.format))}}var $It=KGr;var qye=async e=>(await e.db.getObjectDefault("/t4",{}))?.list||e.config.t4?.list||[],GGr=async(e,t)=>{await e.db.push("/t4/list",t)},YGr=async e=>{await e.db.delete("/t4/list")};async function Hye(e){e.get("/list",async(t,r)=>{r.send({code:0,data:await qye(t.server)})}),e.put("/list",async(t,r)=>{await GGr(t.server,t.body),r.send({code:0})}),e.delete("/list",async(t,r)=>{await YGr(t.server),r.send({code:0})})}Pr();kr();zi();function Wye(e,t){let u=Wn(),l=Se.create({baseURL:t,timeout:12e3,httpAgent:u.httpAgent,httpsAgent:u.httpsAgent}),d=new pt(200,3e4),f=new Map,h=new pt(200,1e4),p=new Map,m=new pt(200,2e4),g=new Map,_=new pt(200,1e4),y=new Map,E=new pt(200,8e3),A=new Map;function v(G,se,ue=30){if(G.size<=se)return;let te=0;for(let Q of G.keys())if(G.delete(Q),te++,te>=ue)break}function T(G){return G?.body||{}}function C(G,se={}){return JSON.stringify({id:String(G||"").trim(),meta:se&&typeof se=="object"?se:{}})}function b(G){try{let se=JSON.parse(String(G||""));if(se&&typeof se=="object"&&se.id)return{id:String(se.id||"").trim(),meta:se.meta&&typeof se.meta=="object"?se.meta:{}}}catch{}return{id:String(G||"").trim(),meta:{}}}function x(G){return Array.isArray(G?.list)&&(G.list=G.list.map(se=>{let ue=se?.vod_pic||"",te=se?.vod_remarks||"";return{...se,vod_id:C(se?.vod_id||"",{vod_pic:ue,vod_remarks:te})}})),G}function w(G,se){let ue=Object.entries(se||{}).sort(([te],[Q])=>te.localeCompare(Q));return`${G}:${JSON.stringify(ue)}`}async function P(G,se,ue,te,Q){let ee=G.get(ue);if(ee)return ee;if(se.has(ue))return se.get(ue);let de=(async()=>{let B=await Q();return G.set(ue,B),B})();se.set(ue,de),v(se,200);try{return await de}finally{se.get(ue)===de&&se.delete(ue)}}async function M(G,se){try{let{data:ue}=await l.get("",{params:G});return ue||se}catch{return se}}function L(){return{}}async function U(){let G={filter:!0},se=w("home",G);return P(d,f,se,3e4,async()=>M(G,{class:[]}))}async function Y(G){let se=T(G),ue={ac:"detail",t:se.id,pg:se.page||1},te=w("category",ue);return P(h,p,te,1e4,async()=>{let Q=await M(ue,{list:[],page:1,pagecount:1,limit:0,total:0});return x(Q)})}async function $(G){let se=T(G),ue=b(se.id),te={ac:"detail",ids:ue.id},Q=w("detail",te);return P(m,g,Q,2e4,async()=>{let ee=await M(te,{list:[]});return Array.isArray(ee?.list)&&(ee.list=ee.list.map(de=>({...de,vod_pic:ue.meta?.vod_pic||de?.vod_pic||"",vod_remarks:ue.meta?.vod_remarks||de?.vod_remarks||""}))),ee})}async function V(G){let se=T(G),ue=String(se.id||""),te={play:ue,flag:se.flag},Q=w("play",te),ee=await P(E,A,Q,8e3,async()=>M(te,{}));return!ee?.url&&!ee?.urls&&ue.startsWith("http")?{url:ue}:ee}async function W(G){let ue={ac:"list",wd:T(G).wd},te=w("search",ue);return P(_,y,te,1e4,async()=>{let Q=await M(ue,{list:[],page:1,pagecount:1,limit:0,total:0});return x(Q)})}return{meta:{key:e,name:e,type:3,t4:!0},api:async G=>{G.post("/init",L),G.post("/home",U),G.post("/category",Y),G.post("/detail",$),G.post("/play",V),G.post("/search",W)}}}var Xye=async e=>(await e.db.getObjectDefault("/cms",{}))?.list||e.config.cms?.list||[],aYr=async(e,t)=>{await e.db.push("/cms/list",t)},oYr=async e=>{await e.db.delete("/cms/list")};async function Jye(e){e.get("/list",async(t,r)=>{r.send({code:0,data:await Xye(t.server)})}),e.put("/list",async(t,r)=>{await aYr(t.server,t.body),r.send({code:0})}),e.delete("/list",async(t,r)=>{await oYr(t.server),r.send({code:0})})}Pr();Dn();kr();var dYr=1e4,fYr={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"};function Nq(e){return e?.body||{}}function zIt(e){let t=Number.parseInt(e,10);return Number.isFinite(t)&&t>0?t:1}function hYr(){return{class:[],filters:{}}}function Oq(e=1){return{page:e,pagecount:e,limit:0,total:0,list:[]}}function WIt(){return{list:[]}}function XIt(e,t={}){return JSON.stringify({id:String(e||"").trim(),meta:t&&typeof t=="object"?t:{}})}function pYr(e){try{let t=JSON.parse(String(e||""));if(t&&typeof t=="object"&&t.id)return{id:String(t.id||"").trim(),meta:t.meta&&typeof t.meta=="object"?t.meta:{}}}catch{}return{id:String(e||"").trim(),meta:{}}}function mYr(e,t){return e&&typeof e=="object"?e:t}function sve(e,t){let r=Wn(),n=Se.create({baseURL:t,timeout:dYr,headers:fYr,httpAgent:r.httpAgent,httpsAgent:r.httpsAgent,validateStatus:f=>f>=200&&f<400});async function s(f,h){try{let{data:p}=await n.get("",{params:f});return mYr(p,h)}catch{return h}}function i(){return{}}async function a(){let f=Vr("cms",arguments[0]||{}),h=jr(f);if(h)return h;let p=await s({ac:"class"},hYr());return sn(f,p,Rt.semiStatic),p}async function o(f){let h=Nq(f),p=zIt(h.page);if(!h.id)return Oq(p);let m=await s({ac:"detail",t:h.id,pg:p},Oq(p));return Array.isArray(m?.list)&&(m.list=m.list.map(g=>{let _=g?.vod_pic||g?.pic||g?.img||"",y=g?.vod_remarks||g?.remarks||g?.note||"",E=g?.vod_id||g?.id||g?.vid||"";return{...g,vod_id:XIt(E,{vod_pic:_,vod_remarks:y}),vod_pic:_,vod_remarks:y}})),m}async function c(f){let h=Nq(f);if(!h.id)return WIt();let p=pYr(h.id),m=await s({ac:"detail",ids:p.id},WIt());return Array.isArray(m?.list)&&(m.list=m.list.map(g=>({...g,vod_pic:p.meta?.vod_pic||g?.vod_pic||g?.pic||g?.img||"",vod_remarks:p.meta?.vod_remarks||g?.vod_remarks||g?.remarks||g?.note||""}))),m}async function u(f){return{parse:0,url:Nq(f).id||""}}async function l(f){let h=Nq(f),p=zIt(h.page),m=String(h.wd||"").trim();if(!m)return Oq(p);let g=await s({ac:"list",wd:m,pg:p},Oq(p));return Array.isArray(g?.list)&&(g.list=g.list.map(_=>{let y=_?.vod_pic||_?.pic||_?.img||"",E=_?.vod_remarks||_?.remarks||_?.note||"",A=_?.vod_id||_?.id||_?.vid||"";return{..._,vod_id:XIt(A,{vod_pic:y,vod_remarks:E}),vod_pic:y,vod_remarks:E}})),g}return{meta:{key:e,name:e,type:3,cms:!0},api:async f=>{f.post("/init",i),f.post("/home",a),f.post("/category",o),f.post("/detail",c),f.post("/play",u),f.post("/search",l)}}}var ug=we(require("fs"),1),US=we(require("path"),1),ZIt=require("stream"),eRt=require("stream/promises"),FS=US.default.join(process.env.NODE_PATH||".","js"),Dq="/js/order",JIt=5*1024*1024,gYr=20*1024*1024,_Yr=/[\/\\\0-\x1f\x7f]/;function Pq(){try{ug.default.mkdirSync(FS,{recursive:!0})}catch{}}function tRt(){return FS}function tC(){let e=Number(process.env.JS_MAX_UPLOAD_MB||0);if(!Number.isFinite(e)||e<=0)return JIt;let t=Math.floor(e*1024*1024);return t<=0?JIt:Math.min(t,gYr)}function Lq(e=tC()){let t=e/1024/1024;return Number.isInteger(t)?`${t}MB`:`${t.toFixed(1)}MB`}function Mq(e){let t=String(e||"").trim(),r=US.default.basename(t);return!r||r!==t||r==="."||r===".."||_Yr.test(r)||!r.toLowerCase().endsWith(".js")?null:r}function rRt(e){return!e||e<1024?`${e||0}B`:e<1024*1024?`${(e/1024).toFixed(0)}K`:`${(e/1024/1024).toFixed(1)}M`}function nRt(e){return String(e||"").replace(/\.js$/i,"").trim().replace(/^nodejs_/,"").replace(/[^a-zA-Z0-9_\-]/g,"_").replace(/^_+|_+$/g,"")||Buffer.from(e,"utf8").toString("base64url")}function AYr(){Pq();let e=[];try{e=ug.default.readdirSync(FS,{withFileTypes:!0})}catch{return[]}let t=[];for(let r of e){if(!r.isFile()||!r.name.toLowerCase().endsWith(".js"))continue;let n=Mq(r.name);if(!n)continue;let s=US.default.join(FS,n);try{let i=ug.default.statSync(s);if(i.size<=0)continue;t.push({name:n,path:s,size:i.size,size_str:rRt(i.size),mtime:i.mtimeMs,key:nRt(n)})}catch{}}return t}async function ive(e){let t=AYr(),r=new Map(t.map(a=>[a.name,a])),n=[];try{n=await e.db.getObjectDefault(Dq,[])}catch{}let s=new Set,i=[];if(Array.isArray(n))for(let a of n){let o=r.get(a);o&&!s.has(a)&&(i.push(o),s.add(a))}for(let a of t)s.has(a.name)||i.push(a);return i}async function sRt(e){return(await ive(e)).map(r=>({name:r.name.replace(/\.js$/i,""),key:r.key,path:r.path,file:r.name,enabled:!0}))}async function iRt(e,t){let r=Array.isArray(t)?t.filter(n=>Mq(n)):[];await e.db.push(Dq,r)}async function aRt(e,t,r={}){let n=Mq(e);if(!n)throw new Error("\u6587\u4EF6\u540D\u975E\u6CD5\u6216\u540E\u7F00\u4E0D\u662F .js");if(!t||typeof t[Symbol.asyncIterator]!="function")throw new Error("\u4E0A\u4F20\u6D41\u65E0\u6548");Pq();let s=Number(r.maxBytes||tC()),i=US.default.join(FS,n);if(!(r.overwrite===!0||r.overwrite==="1"||r.overwrite==="true")&&ug.default.existsSync(i)){t.destroy?.();let l=new Error("\u6587\u4EF6\u5DF2\u5B58\u5728\uFF0C\u8BF7\u786E\u8BA4\u8986\u76D6");throw l.code="JS_UPLOAD_EXISTS",l.name=n,l}let o=US.default.join(FS,`.upload-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2)}.tmp`),c=0,u=new ZIt.Transform({transform(l,d,f){if(c+=l.length,c>s){let h=new Error(`\u6587\u4EF6\u8D85\u8FC7 ${Lq(s)} \u4E0A\u9650`);h.code="JS_UPLOAD_TOO_LARGE",f(h);return}f(null,l)}});try{if(await(0,eRt.pipeline)(t,u,ug.default.createWriteStream(o,{flags:"wx"})),c<=0)throw new Error("\u6587\u4EF6\u4E3A\u7A7A");return await ug.default.promises.rename(o,i),{name:n,size:c,size_str:rRt(c),key:nRt(n),path:i}}catch(l){t.destroy?.();try{await ug.default.promises.unlink(o)}catch{}throw l}}async function oRt(e,t){let r=Mq(t);if(!r)throw new Error("\u6587\u4EF6\u540D\u975E\u6CD5");let n=US.default.join(FS,r);try{await ug.default.promises.unlink(n)}catch(s){if(s?.code!=="ENOENT")throw s}try{let s=await e.db.getObjectDefault(Dq,[]);Array.isArray(s)&&s.includes(r)&&await e.db.push(Dq,s.filter(i=>i!==r))}catch{}return{name:r}}var cRt=async e=>await sRt(e);async function ave(e){Pq(),e.get("/list",async t=>{let r=await ive(t.server);return{code:0,data:{dir:tRt(),files:r.map(n=>({name:n.name,size:n.size,size_str:n.size_str,mtime:n.mtime,key:n.key}))}}}),e.post("/upload",async(t,r)=>{let n=tC(),s=null;try{s=await t.file({limits:{fileSize:n}})}catch(i){return i?.code==="FST_REQ_FILE_TOO_LARGE"?r.code(413).send({code:-1,message:`\u6587\u4EF6\u8D85\u8FC7 ${Lq(n)} \u4E0A\u9650`}):r.code(400).send({code:-1,message:"\u4E0A\u4F20\u8BFB\u53D6\u5931\u8D25: "+(i?.message||i)})}if(!s)return r.code(400).send({code:-1,message:"\u672A\u6536\u5230\u6587\u4EF6"});try{let i=t.query?.overwrite==="1"||t.query?.overwrite==="true";return{code:0,data:await aRt(s.filename,s.file,{maxBytes:n,overwrite:i})}}catch(i){return i?.code==="FST_REQ_FILE_TOO_LARGE"||i?.code==="JS_UPLOAD_TOO_LARGE"?r.code(413).send({code:-1,message:`\u6587\u4EF6\u8D85\u8FC7 ${Lq(n)} \u4E0A\u9650`}):i?.code==="JS_UPLOAD_EXISTS"?r.code(409).send({code:-1,message:i?.message||"\u6587\u4EF6\u5DF2\u5B58\u5728\uFF0C\u8BF7\u786E\u8BA4\u8986\u76D6",data:{exists:!0,name:i?.name||s.filename}}):r.code(400).send({code:-1,message:i?.message||String(i)})}}),e.delete("/file/:name",async(t,r)=>{let n=decodeURIComponent(String(t.params?.name||""));if(!n)return r.code(400).send({code:-1,message:"\u7F3A\u5C11 name"});try{return{code:0,data:await oRt(t.server,n)}}catch(s){return r.code(400).send({code:-1,message:s?.message||String(s)})}}),e.put("/order",async(t,r)=>{let n=t.body||{},s=Array.isArray(n)?n:n.order;if(!Array.isArray(s))return r.code(400).send({code:-1,message:"\u53C2\u6570\u5E94\u4E3A\u6587\u4EF6\u540D\u6570\u7EC4"});try{return await iRt(t.server,s),{code:0}}catch(i){return r.code(400).send({code:-1,message:i?.message||String(i)})}})}var hK=we(require("fs/promises"),1),Bl=we(require("path"),1),pK=require("url"),fK=we(require("crypto"),1);Pr();Fh();var pRe=we(ki(),1),mRe=we(vOt(),1),gRe=we(require("http2"),1),_Re=we(xOt(),1),ARe=we(wC(),1);Bi();kr();var zTe={};Bt(zTe,{jsonpath:()=>GTe,jsoup:()=>QTe,urljoin:()=>KTe});Fh();var TDt=we(require("vm"),1),$Te=class{add(t,r,n){if(typeof arguments[0]!="string")for(let s in arguments[0])this.add(s,arguments[0][s],arguments[1]);else(Array.isArray(t)?t:[t]).forEach(function(s){this[s]=this[s]||[],r&&this[s][n?"unshift":"push"](r)},this)}run(t,r){this[t]=this[t]||[],this[t].forEach(function(n){n.call(r&&r.context?r.context:r,r)})}},qTe=class{constructor(t){this.jsep=t,this.registered={}}register(...t){t.forEach(r=>{if(typeof r!="object"||!r.name||!r.init)throw new Error("Invalid JSEP plugin format");this.registered[r.name]||(r.init(this.jsep),this.registered[r.name]=r)})}},Hu=class e{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+e.version}static addUnaryOp(t){return e.max_unop_len=Math.max(t.length,e.max_unop_len),e.unary_ops[t]=1,e}static addBinaryOp(t,r,n){return e.max_binop_len=Math.max(t.length,e.max_binop_len),e.binary_ops[t]=r,n?e.right_associative.add(t):e.right_associative.delete(t),e}static addIdentifierChar(t){return e.additional_identifier_chars.add(t),e}static addLiteral(t,r){return e.literals[t]=r,e}static removeUnaryOp(t){return delete e.unary_ops[t],t.length===e.max_unop_len&&(e.max_unop_len=e.getMaxKeyLen(e.unary_ops)),e}static removeAllUnaryOps(){return e.unary_ops={},e.max_unop_len=0,e}static removeIdentifierChar(t){return e.additional_identifier_chars.delete(t),e}static removeBinaryOp(t){return delete e.binary_ops[t],t.length===e.max_binop_len&&(e.max_binop_len=e.getMaxKeyLen(e.binary_ops)),e.right_associative.delete(t),e}static removeAllBinaryOps(){return e.binary_ops={},e.max_binop_len=0,e}static removeLiteral(t){return delete e.literals[t],e}static removeAllLiterals(){return e.literals={},e}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(t){this.expr=t,this.index=0}static parse(t){return new e(t).parse()}static getMaxKeyLen(t){return Math.max(0,...Object.keys(t).map(r=>r.length))}static isDecimalDigit(t){return t>=48&&t<=57}static binaryPrecedence(t){return e.binary_ops[t]||0}static isIdentifierStart(t){return t>=65&&t<=90||t>=97&&t<=122||t>=128&&!e.binary_ops[String.fromCharCode(t)]||e.additional_identifier_chars.has(String.fromCharCode(t))}static isIdentifierPart(t){return e.isIdentifierStart(t)||e.isDecimalDigit(t)}throwError(t){let r=new Error(t+" at character "+this.index);throw r.index=this.index,r.description=t,r}runHook(t,r){if(e.hooks[t]){let n={context:this,node:r};return e.hooks.run(t,n),n.node}return r}searchHook(t){if(e.hooks[t]){let r={context:this};return e.hooks[t].find(function(n){return n.call(r.context,r),r.node}),r.node}}gobbleSpaces(){let t=this.code;for(;t===e.SPACE_CODE||t===e.TAB_CODE||t===e.LF_CODE||t===e.CR_CODE;)t=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let t=this.gobbleExpressions(),r=t.length===1?t[0]:{type:e.COMPOUND,body:t};return this.runHook("after-all",r)}gobbleExpressions(t){let r=[],n,s;for(;this.index0;){if(e.binary_ops.hasOwnProperty(t)&&(!e.isIdentifierStart(this.code)||this.index+t.lengthi.right_a&&d.right_a?n>d.prec:n<=d.prec;for(;s.length>2&&l(s[s.length-2]);)o=s.pop(),r=s.pop().value,a=s.pop(),t={type:e.BINARY_EXP,operator:r,left:a,right:o},s.push(t);t=this.gobbleToken(),t||this.throwError("Expected expression after "+u),s.push(i,t)}for(c=s.length-1,t=s[c];c>1;)t={type:e.BINARY_EXP,operator:s[c-1].value,left:s[c-2],right:t},c-=2;return t}gobbleToken(){let t,r,n,s;if(this.gobbleSpaces(),s=this.searchHook("gobble-token"),s)return this.runHook("after-token",s);if(t=this.code,e.isDecimalDigit(t)||t===e.PERIOD_CODE)return this.gobbleNumericLiteral();if(t===e.SQUOTE_CODE||t===e.DQUOTE_CODE)s=this.gobbleStringLiteral();else if(t===e.OBRACK_CODE)s=this.gobbleArray();else{for(r=this.expr.substr(this.index,e.max_unop_len),n=r.length;n>0;){if(e.unary_ops.hasOwnProperty(r)&&(!e.isIdentifierStart(this.code)||this.index+r.length=r.length&&this.throwError("Unexpected token "+String.fromCharCode(t));break}else if(i===e.COMMA_CODE){if(this.index++,s++,s!==r.length){if(t===e.CPAREN_CODE)this.throwError("Unexpected token ,");else if(t===e.CBRACK_CODE)for(let a=r.length;a":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"});Hu.max_unop_len=Hu.getMaxKeyLen(Hu.unary_ops);Hu.max_binop_len=Hu.getMaxKeyLen(Hu.binary_ops);var vg=e=>new Hu(e).parse(),xen=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(Hu).filter(e=>!xen.includes(e)&&vg[e]===void 0).forEach(e=>{vg[e]=Hu[e]});vg.Jsep=Hu;var wen="ConditionalExpression",Nen={name:"ternary",init(e){e.hooks.add("after-expression",function(r){if(r.node&&this.code===e.QUMARK_CODE){this.index++;let n=r.node,s=this.gobbleExpression();if(s||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let i=this.gobbleExpression();if(i||this.throwError("Expected expression"),r.node={type:wen,test:n,consequent:s,alternate:i},n.operator&&e.binary_ops[n.operator]<=.9){let a=n;for(;a.right.operator&&e.binary_ops[a.right.operator]<=.9;)a=a.right;r.node.test=a.right,a.right=r.node,r.node=n}}else this.throwError("Expected :")}})}};vg.plugins.register(Nen);var SDt=47,Oen=92,Den={name:"regex",init(e){e.hooks.add("gobble-token",function(r){if(this.code===SDt){let n=++this.index,s=!1;for(;this.index=97&&c<=122||c>=65&&c<=90||c>=48&&c<=57)a+=this.char;else break}let o;try{o=new RegExp(i,a)}catch(c){this.throwError(c.message)}return r.node={type:e.LITERAL,value:o,raw:this.expr.slice(n-1,this.index)},r.node=this.gobbleTokenProperty(r.node),r.node}this.code===e.OBRACK_CODE?s=!0:s&&this.code===e.CBRACK_CODE&&(s=!1),this.index+=this.code===Oen?2:1}this.throwError("Unclosed Regex")}})}},FTe=43,Pen=45,NC={name:"assignment",assignmentOperators:new Set(["=","*=","**=","/=","%=","+=","-=","<<=",">>=",">>>=","&=","^=","|=","||=","&&=","??="]),updateOperators:[FTe,Pen],assignmentPrecedence:.9,init(e){let t=[e.IDENTIFIER,e.MEMBER_EXP];NC.assignmentOperators.forEach(n=>e.addBinaryOp(n,NC.assignmentPrecedence,!0)),e.hooks.add("gobble-token",function(s){let i=this.code;NC.updateOperators.some(a=>a===i&&a===this.expr.charCodeAt(this.index+1))&&(this.index+=2,s.node={type:"UpdateExpression",operator:i===FTe?"++":"--",argument:this.gobbleTokenProperty(this.gobbleIdentifier()),prefix:!0},(!s.node.argument||!t.includes(s.node.argument.type))&&this.throwError(`Unexpected ${s.node.operator}`))}),e.hooks.add("after-token",function(s){if(s.node){let i=this.code;NC.updateOperators.some(a=>a===i&&a===this.expr.charCodeAt(this.index+1))&&(t.includes(s.node.type)||this.throwError(`Unexpected ${s.node.operator}`),this.index+=2,s.node={type:"UpdateExpression",operator:i===FTe?"++":"--",argument:s.node,prefix:!1})}}),e.hooks.add("after-expression",function(s){s.node&&r(s.node)});function r(n){NC.assignmentOperators.has(n.operator)?(n.type="AssignmentExpression",r(n.left),r(n.right)):n.operator||Object.values(n).forEach(s=>{s&&typeof s=="object"&&r(s)})}}};vg.plugins.register(Den,NC);vg.addUnaryOp("typeof");vg.addLiteral("null",null);vg.addLiteral("undefined",void 0);var Len=new Set(["constructor","__proto__","__defineGetter__","__defineSetter__"]),ls={evalAst(e,t){switch(e.type){case"BinaryExpression":case"LogicalExpression":return ls.evalBinaryExpression(e,t);case"Compound":return ls.evalCompound(e,t);case"ConditionalExpression":return ls.evalConditionalExpression(e,t);case"Identifier":return ls.evalIdentifier(e,t);case"Literal":return ls.evalLiteral(e,t);case"MemberExpression":return ls.evalMemberExpression(e,t);case"UnaryExpression":return ls.evalUnaryExpression(e,t);case"ArrayExpression":return ls.evalArrayExpression(e,t);case"CallExpression":return ls.evalCallExpression(e,t);case"AssignmentExpression":return ls.evalAssignmentExpression(e,t);default:throw SyntaxError("Unexpected expression",e)}},evalBinaryExpression(e,t){return{"||":(n,s)=>n||s(),"&&":(n,s)=>n&&s(),"|":(n,s)=>n|s(),"^":(n,s)=>n^s(),"&":(n,s)=>n&s(),"==":(n,s)=>n==s(),"!=":(n,s)=>n!=s(),"===":(n,s)=>n===s(),"!==":(n,s)=>n!==s(),"<":(n,s)=>n":(n,s)=>n>s(),"<=":(n,s)=>n<=s(),">=":(n,s)=>n>=s(),"<<":(n,s)=>n<>":(n,s)=>n>>s(),">>>":(n,s)=>n>>>s(),"+":(n,s)=>n+s(),"-":(n,s)=>n-s(),"*":(n,s)=>n*s(),"/":(n,s)=>n/s(),"%":(n,s)=>n%s()}[e.operator](ls.evalAst(e.left,t),()=>ls.evalAst(e.right,t))},evalCompound(e,t){let r;for(let n=0;n-ls.evalAst(n,t),"!":n=>!ls.evalAst(n,t),"~":n=>~ls.evalAst(n,t),"+":n=>+ls.evalAst(n,t),typeof:n=>typeof ls.evalAst(n,t)}[e.operator](e.argument)},evalArrayExpression(e,t){return e.elements.map(r=>ls.evalAst(r,t))},evalCallExpression(e,t){let r=e.arguments.map(s=>ls.evalAst(s,t));return ls.evalAst(e.callee,t)(...r)},evalAssignmentExpression(e,t){if(e.left.type!=="Identifier")throw SyntaxError("Invalid left-hand side in assignment");let r=e.left.name,n=ls.evalAst(e.right,t);return t[r]=n,t[r]}},HTe=class{constructor(t){this.code=t,this.ast=vg(this.code)}runInNewContext(t){let r=Object.assign(Object.create(null),t);return ls.evalAst(this.ast,r)}};function cE(e,t){return e=e.slice(),e.push(t),e}function VTe(e,t){return t=t.slice(),t.unshift(e),t}var jTe=class extends Error{constructor(t){super('JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),this.avoidNew=!0,this.value=t,this.name="NewError"}};function Rn(e,t,r,n,s){if(!(this instanceof Rn))try{return new Rn(e,t,r,n,s)}catch(a){if(!a.avoidNew)throw a;return a.value}typeof e=="string"&&(s=n,n=r,r=t,t=e,e=null);let i=e&&typeof e=="object";if(e=e||{},this.json=e.json||r,this.path=e.path||t,this.resultType=e.resultType||"value",this.flatten=e.flatten||!1,this.wrap=Object.hasOwn(e,"wrap")?e.wrap:!0,this.sandbox=e.sandbox||{},this.eval=e.eval===void 0?"safe":e.eval,this.ignoreEvalErrors=typeof e.ignoreEvalErrors>"u"?!1:e.ignoreEvalErrors,this.parent=e.parent||null,this.parentProperty=e.parentProperty||null,this.callback=e.callback||n||null,this.otherTypeCallback=e.otherTypeCallback||s||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},e.autostart!==!1){let a={path:i?e.path:t};i?"json"in e&&(a.json=e.json):a.json=r;let o=this.evaluate(a);if(!o||typeof o!="object")throw new jTe(o);return o}}Rn.prototype.evaluate=function(e,t,r,n){let s=this.parent,i=this.parentProperty,{flatten:a,wrap:o}=this;if(this.currResultType=this.resultType,this.currEval=this.eval,this.currSandbox=this.sandbox,r=r||this.callback,this.currOtherTypeCallback=n||this.otherTypeCallback,t=t||this.json,e=e||this.path,e&&typeof e=="object"&&!Array.isArray(e)){if(!e.path&&e.path!=="")throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Object.hasOwn(e,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');({json:t}=e),a=Object.hasOwn(e,"flatten")?e.flatten:a,this.currResultType=Object.hasOwn(e,"resultType")?e.resultType:this.currResultType,this.currSandbox=Object.hasOwn(e,"sandbox")?e.sandbox:this.currSandbox,o=Object.hasOwn(e,"wrap")?e.wrap:o,this.currEval=Object.hasOwn(e,"eval")?e.eval:this.currEval,r=Object.hasOwn(e,"callback")?e.callback:r,this.currOtherTypeCallback=Object.hasOwn(e,"otherTypeCallback")?e.otherTypeCallback:this.currOtherTypeCallback,s=Object.hasOwn(e,"parent")?e.parent:s,i=Object.hasOwn(e,"parentProperty")?e.parentProperty:i,e=e.path}if(s=s||null,i=i||null,Array.isArray(e)&&(e=Rn.toPathString(e)),!e&&e!==""||!t)return;let c=Rn.toPathArray(e);c[0]==="$"&&c.length>1&&c.shift(),this._hasParentSelector=null;let u=this._trace(c,t,["$"],s,i,r).filter(function(l){return l&&!l.isParentSelector});return u.length?!o&&u.length===1&&!u[0].hasArrExpr?this._getPreferredOutput(u[0]):u.reduce((l,d)=>{let f=this._getPreferredOutput(d);return a&&Array.isArray(f)?l=l.concat(f):l.push(f),l},[]):o?[]:void 0};Rn.prototype._getPreferredOutput=function(e){let t=this.currResultType;switch(t){case"all":{let r=Array.isArray(e.path)?e.path:Rn.toPathArray(e.path);return e.pointer=Rn.toPointer(r),e.path=typeof e.path=="string"?e.path:Rn.toPathString(e.path),e}case"value":case"parent":case"parentProperty":return e[t];case"path":return Rn.toPathString(e[t]);case"pointer":return Rn.toPointer(e.path);default:throw new TypeError("Unknown result type")}};Rn.prototype._handleCallback=function(e,t,r){if(t){let n=this._getPreferredOutput(e);e.path=typeof e.path=="string"?e.path:Rn.toPathString(e.path),t(n,r,e)}};Rn.prototype._trace=function(e,t,r,n,s,i,a,o){let c;if(!e.length)return c={path:r,value:t,parent:n,parentProperty:s,hasArrExpr:a},this._handleCallback(c,i,"value"),c;let u=e[0],l=e.slice(1),d=[];function f(h){Array.isArray(h)?h.forEach(p=>{d.push(p)}):d.push(h)}if((typeof u!="string"||o)&&t&&Object.hasOwn(t,u))f(this._trace(l,t[u],cE(r,u),t,u,i,a));else if(u==="*")this._walk(t,h=>{f(this._trace(l,t[h],cE(r,h),t,h,i,!0,!0))});else if(u==="..")f(this._trace(l,t,r,n,s,i,a)),this._walk(t,h=>{typeof t[h]=="object"&&f(this._trace(e.slice(),t[h],cE(r,h),t,h,i,!0))});else{if(u==="^")return this._hasParentSelector=!0,{path:r.slice(0,-1),expr:l,isParentSelector:!0};if(u==="~")return c={path:cE(r,u),value:s,parent:n,parentProperty:null},this._handleCallback(c,i,"property"),c;if(u==="$")f(this._trace(l,t,r,null,null,i,a));else if(/^(-?\d*):(-?\d*):?(\d*)$/u.test(u))f(this._slice(u,l,t,r,n,s,i));else if(u.indexOf("?(")===0){if(this.currEval===!1)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");let h=u.replace(/^\?\((.*?)\)$/u,"$1"),p=/@.?([^?]*)[['](\??\(.*?\))(?!.\)\])[\]']/gu.exec(h);p?this._walk(t,m=>{let g=[p[2]],_=p[1]?t[m][p[1]]:t[m];this._trace(g,_,r,n,s,i,!0).length>0&&f(this._trace(l,t[m],cE(r,m),t,m,i,!0))}):this._walk(t,m=>{this._eval(h,t[m],m,r,n,s)&&f(this._trace(l,t[m],cE(r,m),t,m,i,!0))})}else if(u[0]==="("){if(this.currEval===!1)throw new Error("Eval [(expr)] prevented in JSONPath expression.");f(this._trace(VTe(this._eval(u,t,r.at(-1),r.slice(0,-1),n,s),l),t,r,n,s,i,a))}else if(u[0]==="@"){let h=!1,p=u.slice(1,-2);switch(p){case"scalar":(!t||!["object","function"].includes(typeof t))&&(h=!0);break;case"boolean":case"string":case"undefined":case"function":typeof t===p&&(h=!0);break;case"integer":Number.isFinite(t)&&!(t%1)&&(h=!0);break;case"number":Number.isFinite(t)&&(h=!0);break;case"nonFinite":typeof t=="number"&&!Number.isFinite(t)&&(h=!0);break;case"object":t&&typeof t===p&&(h=!0);break;case"array":Array.isArray(t)&&(h=!0);break;case"other":h=this.currOtherTypeCallback(t,r,n,s);break;case"null":t===null&&(h=!0);break;default:throw new TypeError("Unknown value type "+p)}if(h)return c={path:r,value:t,parent:n,parentProperty:s},this._handleCallback(c,i,"value"),c}else if(u[0]==="`"&&t&&Object.hasOwn(t,u.slice(1))){let h=u.slice(1);f(this._trace(l,t[h],cE(r,h),t,h,i,a,!0))}else if(u.includes(",")){let h=u.split(",");for(let p of h)f(this._trace(VTe(p,l),t,r,n,s,i,!0))}else!o&&t&&Object.hasOwn(t,u)&&f(this._trace(l,t[u],cE(r,u),t,u,i,a,!0))}if(this._hasParentSelector)for(let h=0;h{t(r)})};Rn.prototype._slice=function(e,t,r,n,s,i,a){if(!Array.isArray(r))return;let o=r.length,c=e.split(":"),u=c[2]&&Number.parseInt(c[2])||1,l=c[0]&&Number.parseInt(c[0])||0,d=c[1]&&Number.parseInt(c[1])||o;l=l<0?Math.max(0,l+o):Math.min(o,l),d=d<0?Math.max(0,d+o):Math.min(o,d);let f=[];for(let h=l;h{f.push(m)});return f};Rn.prototype._eval=function(e,t,r,n,s,i){this.currSandbox._$_parentProperty=i,this.currSandbox._$_parent=s,this.currSandbox._$_property=r,this.currSandbox._$_root=this.json,this.currSandbox._$_v=t;let a=e.includes("@path");a&&(this.currSandbox._$_path=Rn.toPathString(n.concat([r])));let o=this.currEval+"Script:"+e;if(!Rn.cache[o]){let c=e.replaceAll("@parentProperty","_$_parentProperty").replaceAll("@parent","_$_parent").replaceAll("@property","_$_property").replaceAll("@root","_$_root").replaceAll(/@([.\s)[])/gu,"_$_v$1");if(a&&(c=c.replaceAll("@path","_$_path")),this.currEval==="safe"||this.currEval===!0||this.currEval===void 0)Rn.cache[o]=new this.safeVm.Script(c);else if(this.currEval==="native")Rn.cache[o]=new this.vm.Script(c);else if(typeof this.currEval=="function"&&this.currEval.prototype&&Object.hasOwn(this.currEval.prototype,"runInNewContext")){let u=this.currEval;Rn.cache[o]=new u(c)}else if(typeof this.currEval=="function")Rn.cache[o]={runInNewContext:u=>this.currEval(c,u)};else throw new TypeError(`Unknown "eval" property "${this.currEval}"`)}try{return Rn.cache[o].runInNewContext(this.currSandbox)}catch(c){if(this.ignoreEvalErrors)return!1;throw new Error("jsonPath: "+c.message+": "+e)}};Rn.cache={};Rn.toPathString=function(e){let t=e,r=t.length,n="$";for(let s=1;s{if(e=e||"",t=t||"",!t)return e;if(!e)return t;try{return new URL(t,e).toString()}catch{return t}},GTe={query(e,t){return Rn.JSONPath({path:t,json:e})}},GV=!0,bDt=":eq|:lt|:gt|:first|:last|:not|:even|:odd|:has|:contains|:matches|:empty|^body$|^#",Men="(url|src|href|-original|-src|-play|-url|style)$|^(data-|url-|src-)",ken="^(ftp|magnet|thunder|ws):",YTe=class{constructor(t=""){this.MY_URL=t,this.pdfh_html="",this.pdfa_html="",this.pdfh_doc=null,this.pdfa_doc=null}test(t,r){return!!new RegExp(t,"mi").exec(r)}contains(t,r){return t.indexOf(r)!==-1}parseHikerToJq(t,r=!1){if(this.contains(t,"&&")){let n=t.split("&&"),s=[];for(let i=0;i=n.length-1?s.push(n[i]):s.push(`${n[i]}:eq(0)`)}t=s.join(" ")}else{let n=t.split(" "),s=n[n.length-1];!this.test(bDt,s)&&r&&(t=`${t}:eq(0)`)}return t}getParseInfo(t){let r=[],n=0,s=t;if(this.contains(t,":eq")){s=t.split(":eq")[0];let i=t.split(":eq")[1];this.contains(s,"--")?(r=s.split("--").slice(1),s=s.split("--")[0]):this.contains(i,"--")&&(r=i.split("--").slice(1),i=i.split("--")[0]);try{n=parseInt(i.split("(")[1].split(")")[0])}catch{}}else this.contains(t,"--")&&(s=t.split("--")[0],r=t.split("--").slice(1));return{nparse_rule:s,nparse_index:n,excludes:r}}reorderAdjacentLtAndGt(t){let r=/:gt\((\d+)\):lt\((\d+)\)/,n;for(;(n=r.exec(t))!==null;){let s=`:lt(${n[2]}):gt(${n[1]})`;t=t.substring(0,n.index)+s+t.substring(n.index+n[0].length),r.lastIndex=n.index}return t}parseOneRule(t,r,n){let{nparse_rule:s,nparse_index:i,excludes:a}=this.getParseInfo(r);if(s=this.reorderAdjacentLtAndGt(s),n?n=n.find(s):n=t(s),this.contains(r,":eq")&&(n=n.eq(i)),a.length>0&&n){n=n.clone();for(let o of a)n.find(o).remove()}return n}parseText(t){return t=t.replace(/[\s]+/gm,` +`),t=t.replace(/\n+/g,` +`).replace(/^\s+/,""),t=t.replace(/\n/g," "),t}pdfa(t,r){if(!t||!r)return[];r=this.parseHikerToJq(r);let n;GV&&this.pdfa_html===t&&this.pdfa_doc?n=this.pdfa_doc:(n=Br(t),GV&&(this.pdfa_html=t,this.pdfa_doc=n));let s=r.split(" "),i=null;for(let o of s)if(i=this.parseOneRule(n,o,i),!i)return[];return(i?.toArray()??[]).map(o=>{let c=`${n(o)}`;return c||""})}pdfl(t,r,n,s,i){if(!t||!r)return[];r=this.parseHikerToJq(r,!1);let a=[],o=Br(t),c=r.split(" "),u=null;for(let l of c)if(u=this.parseOneRule(o,l,u),!u)return[];return u.each((l,d)=>{a.push(`${o(d)}`)}),a}pdfh(t,r,n=""){if(!t||!r)return"";let s;if(GV&&this.pdfh_html===t&&this.pdfh_doc?s=this.pdfh_doc:(s=Br(t),GV&&(this.pdfh_html=t,this.pdfh_doc=s)),r==="body&&Text"||r==="Text")return this.parseText(s.text());if(r==="body&&Html"||r==="Html")return s.html();let i;if(this.contains(r,"&&")){let c=r.split("&&");i=c.pop(),r=c.join("&&")}r=this.parseHikerToJq(r,!0);let a=r.split(" "),o=null;for(let c of a)if(o=this.parseOneRule(s,c,o),!o)return"";if(i)switch(i){case"Text":o=o?this.parseText(o.text()):"";break;case"Html":o=o?o.html():"";break;default:let c=o.clone(),u=i.split("||");for(let l of u){if(o=c?.attr(l)||"",this.contains(l.toLowerCase(),"style")&&this.contains(o,"url("))try{o=o.match(/url\((.*?)\)/)[1],o=o.replace(/^['"]|['"]$/g,"")}catch{}if(o&&n&&this.test(Men,l)&&!this.test(ken,o)&&(o=o.includes("http")?o.slice(o.indexOf("http")):KTe(n,o)),o)break}}else o=`${o}`;return o}pd(t,r,n=""){return n||(n=this.MY_URL),this.pdfh(t,r,n)}pq(t){return Br(t)}pjfh(t,r,n=!1){if(!t||!r)return"";try{t=typeof t=="string"?JSON.parse(t):t}catch{return""}r.startsWith("$.")||(r="$."+r);let s="",i=r.split("||");for(let a of i){let o=GTe.query(t,a);if(s=Array.isArray(o)?o[0]||"":o||"",n&&s&&(s=KTe(this.MY_URL,s)),s)break}return s}pj(t,r){return this.pjfh(t,r,!0)}pjfa(t,r){if(!t||!r)return[];try{t=typeof t=="string"?JSON.parse(t):t}catch{return[]}r.startsWith("$.")||(r="$."+r);let n=GTe.query(t,r);return Array.isArray(n)&&Array.isArray(n[0])&&n.length===1?n[0]:n||[]}},QTe=YTe;Dn();Yu();ta();Cs();hRe();zi();var ERe={crypto:{default:fK.default||fK,...fK},axios:{default:Se,...Se},cheerio:{default:WS,...WS},"crypto-js":{default:pRe.default,...pRe.default},"iconv-lite":{default:mRe.default,...mRe.default},http2:{default:gRe.default,...gRe.default},"jpeg-js":{default:_Re.default,..._Re.default},qs:{default:ARe.default,...ARe.default},"runtime-context":UTe,req:zye,htmlParser:zTe,"home-cache":nve,pan:iRe,"concurrency-limiter":lRe,misc:JTe,"m3u8-ad-cleaner":fRe,"lru-cache":{default:pt}};globalThis.__CAT_JS_UTIL=ERe;var Lun=`${Bl.default.sep}spider${Bl.default.sep}video${Bl.default.sep}`;function Mun(e,t){return e&&typeof e=="object"?{...e}:{name:String(e||"").trim(),path:String(t||"").trim()}}function CUt(e){return String(e||"").trim().replace(/^nodejs_/,"").replace(/[^a-zA-Z0-9_\-]/g,"_").replace(/^_+|_+$/g,"")}function kun(e){let t=String(e||"").trim();if(!t)throw new Error("JS \u6587\u4EF6\u8DEF\u5F84\u4E0D\u80FD\u4E3A\u7A7A");if(/^file:\/\//i.test(t))return(0,pK.fileURLToPath)(new URL(t));let r=t.startsWith("~")?Bl.default.join(process.env.HOME||"",t.slice(1)):t;return Bl.default.isAbsolute(r)?r:Bl.default.resolve(process.env.NODE_PATH||process.cwd(),r)}function Bun(e,t){let r=`globalThis.__CAT_JS_UTIL[${JSON.stringify(t)}]`,n=String(e||"").trim(),s=n.match(/^\*\s+as\s+([A-Za-z_$][\w$]*)$/);if(s)return`const ${s[1]} = ${r};`;let i=[],a=null,o=null,c=n.indexOf("{");if(c===-1)n&&(a=n);else{let u=n.slice(0,c).replace(/,\s*$/,"").trim();u&&(a=u);let l=n.indexOf("}",c);o=n.slice(c+1,l)}if(a&&i.push(`const ${a} = ${r}.default;`),o!=null){let u=o.split(",").map(l=>l.trim()).filter(Boolean).map(l=>{let d=l.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);return d?`${d[1]}: ${d[2]}`:l});u.length&&i.push(`const { ${u.join(", ")} } = ${r};`)}return i.join(` +`)}function Uun(e){let t=String(e||"").match(/(?:^|\/)core\/([A-Za-z0-9_-]+)\.js$/);if(t)return{key:t[1],type:"core"};let r=String(e||"").match(/(?:^|\/)util\/([A-Za-z0-9_-]+)\.js$/);return r?{key:r[1],type:"util"}:Object.prototype.hasOwnProperty.call(ERe,e)?{key:e,type:"package"}:null}function Fun(e){let t=[],r=/import\s+(?:[^;]*?\s+from\s+)?(['"])([^'"]+)\1\s*;?/g,n=null;for(;(n=r.exec(e))!==null;)t.push(n[2]);return t}function $un(e){return e.startsWith("./")||e.startsWith("../")}async function qun(e,t){let r=Bl.default.resolve(Bl.default.dirname(e),t),n=Bl.default.extname(r)?[r]:[r,`${r}.js`,Bl.default.join(r,"index.js")];for(let s of n)try{return await hK.default.access(s),!0}catch{}return!1}async function Hun(e,t){if(Bl.default.normalize(e).includes(Lun))return!0;let r=Fun(t);for(let n of r)if($un(n)&&await qun(e,n))return!0;return!1}async function Vun(e){let t=await hK.default.stat(e),r=(0,pK.pathToFileURL)(e);return r.searchParams.set("mtime",String(Math.floor(t.mtimeMs))),await import(r.href)}function jun(e,t){let r=/import\s+([^;]*?)\s+from\s+(['"])([^'"]+)\2\s*;?/g,n=new Set,s=e.replace(r,(i,a,o,c)=>{let u=Uun(c);return u?Object.prototype.hasOwnProperty.call(ERe,u.key)?Bun(a,u.key):((u.type==="util"||u.type==="core")&&n.add(`${u.type}/${u.key}.js`),i):i});return n.size&&console.error(`[js] ${t}: \u4E0A\u4F20\u811A\u672C\u4F9D\u8D56\u672A\u5185\u7F6E\u7684\u6A21\u5757 ${[...n].join("\u3001")}\uFF1B\u8BBE\u5907 bundle \u65E0 src/ \u6E90\u7801\u6811\uFF0C\u9700\u5728 src/spider/video/js.js \u7684 JS_IMPORT_REGISTRY \u8865\u5145\u5BFC\u51FA\u540E\u91CD\u65B0\u6253\u5305\u3002`),s}async function Kun(e,t){let r=e.path||e.file,n=kun(r),s=await hK.default.readFile(n,"utf8");if(await Hun(n,s)){let u=await Vun(n),l=u.default||u;if(!l)throw new Error("JS \u6A21\u5757\u6CA1\u6709\u53EF\u7528\u5BFC\u51FA");return l}let i=jun(s,t),o=await import("data:text/javascript;charset=utf-8,"+encodeURIComponent(i)),c=o.default||o;if(!c)throw new Error("JS \u6A21\u5757\u6CA1\u6709\u53EF\u7528\u5BFC\u51FA");return c}function Gun(e,t){if(!e||typeof e!="object")throw new Error("JS \u6A21\u5757\u5BFC\u51FA\u503C\u4E0D\u662F spider \u5BF9\u8C61");if(!e.meta||typeof e.meta!="object")throw new Error("JS \u6A21\u5757\u7F3A\u5C11 meta");if(typeof e.api!="function")throw new Error("JS \u6A21\u5757\u7F3A\u5C11 api(fastify)");let r={...e.meta},n=CUt(r.key||t.key||t.id||t.name),s=String(r.name||t.name||n||"local_js").trim();if(!n)throw new Error("JS spider key \u4E0D\u80FD\u4E3A\u7A7A");return{...e,meta:{...r,key:n,name:s,type:Number(r.type??t.type??3),js:!0}}}function yRe(e,t){let r=Mun(e,t),n=CUt(r.key||r.id||r.name||Bl.default.basename(String(r.path||r.file||"local_js"),".js")),s=String(r.name||n||"\u672C\u5730JS").trim(),i=null;async function a(){return i||(i=(async()=>{let o=await Kun(r,s),c=typeof o=="function"?await o(s,r):o;return Gun(c,{...r,key:n,name:s})})()),i}return{meta:{key:n,name:s,type:Number(r.type??3),js:!0},api:async o=>{try{return(await a()).api(o)}catch(c){console.error(`[js] \u52A0\u8F7D ${s} \u5931\u8D25:`,c);let u=async(l,d)=>d.code(500).send({code:-1,message:`JS spider \u52A0\u8F7D\u5931\u8D25: ${c?.message||c}`});o.post("/init",u),o.post("/home",u),o.post("/category",u),o.post("/detail",u),o.post("/play",u),o.post("/search",u)}},check:o=>{a().then(c=>c.check?.(o)).catch(c=>console.error(`[js] \u52A0\u8F7D ${s} \u5931\u8D25:`,c))}}}kr();Dn();var mK=we(require("crypto"),1);ta();Cs();var SRe=class{constructor(){this.cache={short:new Map,medium:new Map,long:new Map},this.accessOrder={short:new Map,medium:new Map,long:new Map},this.config={short:{max:1e3,ttl:30*1e3},medium:{max:500,ttl:5*60*1e3},long:{max:200,ttl:30*60*1e3}},this.cleanupTimer=null,this.startCleanupInterval()}get(t,r="medium"){let n=this.cache[r],s=this.accessOrder[r];if(!n)return null;let i=n.get(t);return i?Date.now()>i.expiry?(n.delete(t),s?.delete(t),null):(s?.set(t,Date.now()),i.lastAccess=Date.now(),i.accessCount=(i.accessCount||0)+1,i.value):null}set(t,r,n="medium"){let s=this.cache[n],i=this.accessOrder[n];if(!s)return;let a=this.config[n];s.size>=a.max&&this.evictOldest(n),s.set(t,{value:r,expiry:Date.now()+a.ttl,type:n,setTime:Date.now(),accessCount:0,lastAccess:Date.now()}),i?.set(t,Date.now())}evictOldest(t){let r=this.cache[t],n=this.accessOrder[t],s=null,i=1/0;for(let[a]of r.entries()){let o=n?.get(a)||0;o`${a}=${r[a]}`),i=s.length?`${t}?${s.join("&")}`:t;return i.length>256?mK.default.createHash("md5").update(i).digest("hex"):i}catch{return t}}clear(t=null){t?(this.cache[t]?.clear(),this.accessOrder[t]?.clear()):(Object.values(this.cache).forEach(r=>r.clear()),Object.values(this.accessOrder).forEach(r=>r.clear()))}startCleanupInterval(){this.cleanupTimer=setInterval(()=>this.cleanupExpired(),5*60*1e3),typeof this.cleanupTimer.unref=="function"&&this.cleanupTimer.unref()}cleanupExpired(){let t=Date.now();Object.entries(this.cache).forEach(([r,n])=>{let s=this.accessOrder[r];for(let[i,a]of n.entries())t>a.expiry&&(n.delete(i),s?.delete(i))})}};function Yun(e,t={}){return JSON.stringify({id:String(e||"").trim(),meta:{...t}})}function Qun(e){let t=String(e||"").trim();if(!t)return{id:"",meta:{}};try{let r=JSON.parse(t);return{id:String(r?.id||"").trim(),meta:r?.meta&&typeof r.meta=="object"?r.meta:{}}}catch{return{id:t,meta:{}}}}var TRe=class{constructor(t){this.config=t,this.cache=new SRe,this.queue=[],this.activeCount=0,this.maxConcurrent=t.maxConcurrent||6,this.abortControllers=new Map}async schedule(t,r=null){return this.activeCount{this.queue.push({fn:t,resolve:n,reject:s,requestId:r})})}async execute(t,r){try{return await t()}catch(n){throw n}finally{this.activeCount--,r&&this.abortControllers.delete(r),this.processNext()}}processNext(){if(this.queue.length>0&&this.activeCount{let c=this.config.timeout||1e4,u=null;try{return await Promise.race([t(o.signal),new Promise((l,d)=>{u=setTimeout(()=>{o.abort(),d(new Error(`\u8BF7\u6C42\u8D85\u65F6 (${c}ms)`))},c)})])}finally{u&&clearTimeout(u)}},a)}catch(a){if(s=a,i===r||!this.shouldRetry(a))break;await this.sleep(n*Math.pow(2,i))}throw s}shouldRetry(t){if(!t.response)return!0;let r=t.response.status;return[408,429,500,502,503,504].includes(r)}getCachedResponse(t,r="medium"){let s=[r,...["short","medium","long"].filter(i=>i!==r)];for(let i of s){let a=this.cache.get(t,i);if(a)return a}return null}async cachedGet(t,r={},n="medium"){let s=this.cache.generateKey(t,r.params),i=this.getCachedResponse(s,n);if(i)return i;let a=`${n}:${s}`;return Sx(`emby:${this.config.id}:${a}`,async()=>{try{let o=await this.retryRequest(c=>Ye.get(t,{...r,signal:c}),this.config.retryCount||2);if(o.data){let u=JSON.stringify(o.data).length>1024*100?"long":n;this.cache.set(s,o,u),u!==n&&this.cache.set(s,o,n)}return o}catch(o){let c=this.getCachedResponse(s,n);if(c&&!o.response)return c;throw o}},(this.config.timeout||1e4)*((this.config.retryCount||2)+1)+2e3)}async post(t,r,n={}){return this.retryRequest(s=>Ye.post(t,r,{...n,signal:s}),this.config.retryCount||1)}abortRequest(t){let r=this.abortControllers.get(t);r&&(r.abort(),this.abortControllers.delete(t))}sleep(t){return tr(t)}},bRe=class{constructor(t,r,n,s){this.config=t,this.requestManager=r,this.getHeaderProvider=n,this.urlBuilder=s,this.enablePlaybackReport=t.enablePlaybackReport!==!1,this.playSessions=new Map,this.heartbeatTimer=null,this.maxSessionDuration=7200*1e3,this.maxConcurrentReports=5,this.reportQueue=[]}startHeartbeat(){this.heartbeatTimer||!this.enablePlaybackReport||(this.heartbeatTimer=setInterval(()=>this.tick(),1e4))}stopHeartbeat(){this.heartbeatTimer&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=null)}async tick(){if(!this.enablePlaybackReport||this.playSessions.size===0){this.playSessions.size===0&&this.stopHeartbeat();return}let t=Date.now(),r=[];for(let[n,s]of this.playSessions.entries()){if(t-s.startTime>this.maxSessionDuration){this.playSessions.delete(n);continue}if(!s.isPaused&&t-s.lastReportTime>=3e4){let i=t-s.startTime-s.totalPausedDuration,a=s.initialPositionTicks+Math.floor(i/1e3)*1e7;if(s.positionTicks=a,s.lastReportTime=t,r.push(this.recordPlaybackProgress(n,a,!1)),r.length>=this.maxConcurrentReports)break}}r.length>0&&await Promise.allSettled(r)}async recordPlaybackStart(t,r,n=0){if(!this.enablePlaybackReport)return null;try{let s=await this.getHeaderProvider(),i=`js_${Date.now()}_${Math.floor(Math.random()*1e4)}`,a=n;if(!a)try{let u=this.urlBuilder(`/Users/${this.config.userId}/Items/${t}`),l=await this.requestManager.cachedGet(u,{headers:s,params:{Fields:"UserData"}},"short");l.data?.UserData&&(a=l.data.UserData.PlaybackPositionTicks||0)}catch(u){console.debug("\u83B7\u53D6\u7528\u6237\u6570\u636E\u5931\u8D25:",u.message)}let o={ItemId:t,MediaSourceId:r.Id||r.mediaSourceId,CanSeek:!0,IsPaused:!1,IsMuted:!1,PositionTicks:a,PlayMethod:"DirectStream",PlaySessionId:i,LiveStreamId:null,AudioStreamIndex:1,SubtitleStreamIndex:-1,VolumeLevel:100,PlaybackStartTimeTicks:Math.floor(Date.now()*1e4)},c=await this.requestManager.post(this.urlBuilder("/Sessions/Playing"),o,{headers:s,timeout:5e3}).catch(()=>null);if(c&&(c.status===200||c.status===204))return this.playSessions.set(i,{itemId:t,mediaSource:r,startTime:Date.now(),lastReportTime:Date.now(),initialPositionTicks:a,positionTicks:a,totalPausedDuration:0,isPaused:!1,lastPauseTime:0}),this.startHeartbeat(),i}catch(s){console.debug("\u64AD\u653E\u5F00\u59CB\u8BB0\u5F55\u5931\u8D25:",s.message)}return null}async recordPlaybackProgress(t,r,n=!1){if(!this.enablePlaybackReport||!this.playSessions.has(t))return!1;try{let s=this.playSessions.get(t),i=await this.getHeaderProvider();s.isPaused!==n&&(s.isPaused=n,n?s.lastPauseTime=Date.now():s.lastPauseTime>0&&(s.totalPausedDuration+=Date.now()-s.lastPauseTime,s.lastPauseTime=0)),r!==void 0&&(s.positionTicks=r);let a={ItemId:s.itemId,MediaSourceId:s.mediaSource.Id||s.mediaSource.mediaSourceId,PositionTicks:s.positionTicks,IsPaused:n,PlaySessionId:t,EventName:n?"pause":"timeupdate"},o=await this.requestManager.post(this.urlBuilder("/Sessions/Playing/Progress"),a,{headers:i,timeout:5e3}).catch(()=>null);if(o&&(o.status===200||o.status===204))return s.lastReportTime=Date.now(),!0}catch(s){console.debug("\u64AD\u653E\u8FDB\u5EA6\u8BB0\u5F55\u5931\u8D25:",s.message)}return!1}async recordPlaybackStop(t,r=null){if(!this.playSessions.has(t))return!1;try{let n=this.playSessions.get(t),s=await this.getHeaderProvider(),i;if(r!==null)i=r;else if(n.positionTicks!==void 0)i=n.positionTicks;else{let c=Date.now(),u=c-n.startTime;n.isPaused&&n.lastPauseTime>0&&(n.totalPausedDuration+=c-n.lastPauseTime),u-=n.totalPausedDuration;let l=Math.floor(u/1e3);i=n.initialPositionTicks+l*1e7}let a={ItemId:n.itemId,MediaSourceId:n.mediaSource.Id||n.mediaSource.mediaSourceId,PositionTicks:i,PlaySessionId:t},o=await this.requestManager.post(this.urlBuilder("/Sessions/Playing/Stopped"),a,{headers:s,timeout:5e3}).catch(()=>null);return this.playSessions.delete(t),this.playSessions.size===0&&this.stopHeartbeat(),o&&(o.status===200||o.status===204)}catch(n){this.playSessions.delete(t),this.playSessions.size===0&&this.stopHeartbeat(),console.debug("\u64AD\u653E\u505C\u6B62\u8BB0\u5F55\u5931\u8D25:",n.message)}return!1}async recordPlaybackPause(t,r){if(!this.enablePlaybackReport||!this.playSessions.has(t))return!1;try{let n=this.playSessions.get(t);return n.isPaused=!0,n.lastPauseTime=Date.now(),r!==void 0&&(n.positionTicks=r),await this.recordPlaybackProgress(t,r,!0)}catch(n){console.debug("\u64AD\u653E\u6682\u505C\u8BB0\u5F55\u5931\u8D25:",n.message)}return!1}async recordPlaybackUnpause(t,r){if(!this.enablePlaybackReport||!this.playSessions.has(t))return!1;try{let n=this.playSessions.get(t);return n.isPaused&&n.lastPauseTime>0&&(n.totalPausedDuration+=Date.now()-n.lastPauseTime),n.isPaused=!1,n.lastPauseTime=0,r!==void 0&&(n.positionTicks=r),await this.recordPlaybackProgress(t,r,!1)}catch(n){console.debug("\u64AD\u653E\u6062\u590D\u8BB0\u5F55\u5931\u8D25:",n.message)}return!1}async cleanupAllSessions(){let t=[];for(let r of this.playSessions.keys())t.push(this.recordPlaybackStop(r));return Promise.allSettled(t)}setEnablePlaybackReport(t){this.enablePlaybackReport=t,t||this.cleanupAllSessions()}getSession(t){return this.playSessions.get(t)}},vRe=(e,t,r,n=null,s=null)=>{let i=new URLSearchParams({UserId:s||e.userId,StartTimeTicks:"0",IsPlayback:"true",AutoOpenLiveStream:"true",MaxStreamingBitrate:"7000000","X-Emby-Client":e.client,"X-Emby-Device-Name":e.deviceName,"X-Emby-Device-Id":e.deviceId,"X-Emby-Client-Version":e.clientVersion,"X-Emby-Token":e.token,reqformat:"json"});return n&&i.set("MediaSourceId",n),`${t(`/Items/${r}/PlaybackInfo`)}?${i.toString()}`},zun=(e,t)=>t.DirectStreamUrl?t.DirectStreamUrl.startsWith("http")?t.DirectStreamUrl:e.server+t.DirectStreamUrl:t.Path&&t.Path.startsWith("http")?t.Path:e.isJellyfin?`${e.server}/Videos/${t.Id}/stream?static=true&api_key=${e.token}`:`${e.server}/emby/videos/${t.Id}/original?api_key=${e.token}&Static=true`;function xUt(e){let t={id:e.id,name:e.name||`Emby ${e.id.slice(0,8)}`,server:(e.server||"").replace(/\/$/,""),username:e.username||"",password:e.password||"",token:e.token||"",userId:e.userId||"",deviceId:e.deviceId||mK.default.randomUUID(),deviceName:e.deviceName||"iPhone",client:e.client||"SenPlayer",clientVersion:e.clientVersion||"5.6.3",enablePlaybackReport:e.enablePlaybackReport!==!1,enabled:e.enabled!==!1,timeout:e.timeout||1e4,retryCount:e.retryCount||2,cacheViews:e.cacheViews!==!1,maxConcurrent:e.maxConcurrent||6,isJellyfin:e.isJellyfin||!1,serverType:e.isJellyfin?"jellyfin":"emby"},r=`/config/embyInstances/${t.id}`;function n(te){let Q=t.isJellyfin?"":"/emby";return`${t.server}${Q}${te}`}let s={"User-Agent":`${t.client}/${t.clientVersion}`,"X-Emby-Client":t.client,"X-Emby-Device-Name":t.deviceName,"X-Emby-Client-Version":t.clientVersion,"X-Emby-Device-Id":t.deviceId,...t.isJellyfin?{"X-Jellyfin-Client":t.client,"X-Jellyfin-Client-Version":t.clientVersion,"X-Jellyfin-Device-Id":t.deviceId,"X-Jellyfin-Device-Name":t.deviceName}:{}};async function i(){let te={...s};if(t.token){let Q=`MediaBrowser Token="${t.token}", UserId="${t.userId}", Client="${t.client}", Device="${t.deviceName}", DeviceId="${t.deviceId}", Version="${t.clientVersion}"`;te["X-Emby-Authorization"]=Q,te["X-Emby-Token"]=t.token,t.isJellyfin&&(te["X-Jellyfin-Token"]=t.token,te["X-Jellyfin-Authorization"]=Q.replace("MediaBrowser","MediaBrowser"))}return te}let a=new TRe(t),o=new bRe(t,a,i,n),c=["\u64AD\u653E\u5217\u8868","\u76F8\u673A","Playlists","Collections","Trailers","\u76F4\u64AD"],u=90,l=400,d=30,f=50,h=200,p=3e3;function m(te){let Q=Number.parseInt(te?.IndexNumber,10);return Number.isNaN(Q)?Number.MAX_SAFE_INTEGER:Q}function g(te){if(!te?.IndexNumber)return"";let Q=te.Name||`\u7B2C${te.IndexNumber||0}\u96C6`,ee=te.MediaSources||[];if(ee.length>1){let B=ee.map((k,J)=>{let D=k.Name||`\u7248\u672C${J+1}`,H=`${te.Id}|${k.Id}`;return`${D}$${H}`});return B.length>0?`${Q}@@${B.join("#")}`:""}if(ee.length===1){let B=ee[0],k=B.Name||Q,J=`${te.Id}|${B.Id}`;return`${k}$${J}`}let de=vRe(t,n,te.Id,null,t.userId);return`${Q}$${de}`}function _(te){if(!Array.isArray(te)||te.length===0)return"";let Q=[],ee=[...te].sort((de,B)=>m(de)-m(B));for(let de of ee){let B=g(de);B&&Q.push(B)}return Q.join("#")}function y(te){let Q=Number.parseInt(te,10);return Number.isNaN(Q)?Number.MAX_SAFE_INTEGER:Q}function E(te){let Q=y(te?.ParentIndexNumber),ee=te?.SeasonName||(Q!==Number.MAX_SAFE_INTEGER?`\u7B2C${Q}\u5B63`:"\u7279\u522B\u7BC7"),de=te?.SeasonId||"";return{groupKey:de||`idx_${Q}_${ee}`,seasonId:de,seasonIndex:Q,seasonName:ee}}async function A(te,Q,ee,de="medium"){let B=[],k=0,J=Number.MAX_SAFE_INTEGER;for(;k0)return k}catch(k){console.debug("\u6309\u5267\u96C6\u63A5\u53E3\u83B7\u53D6\u5931\u8D25\uFF0C\u5C1D\u8BD5\u7528\u6237\u63A5\u53E3:",k.message)}let B=n(`/Users/${t.userId}/Items`);return A(B,{ParentId:te,IncludeItemTypes:"Episode",Recursive:!0,Fields:ee,SortBy:"ParentIndexNumber,IndexNumber",SortOrder:"Ascending"},Q,"medium")}function T(){return!(!t.server||!t.token&&!t.username)}async function C(te){if(!t.username||!t.server)return{success:!1,reason:"\u7F3A\u5C11\u767B\u5F55\u51ED\u8BC1"};let Q=t.isJellyfin?"/Users/AuthenticateByName":"/emby/Users/AuthenticateByName",ee=`${t.server}${Q}`,de={Password:t.password||"",Pw:t.password||"",Username:t.username},B=`MediaBrowser Token="", UserId="", Client="${t.client}", Device="${t.deviceName}", DeviceId="${t.deviceId}", Version="${t.clientVersion}"`,k={Host:t.server.replace(/^https?:\/\//,"").replace(/\/$/,""),"Content-Type":"application/json","X-Emby-Authorization":B,Connection:"keep-alive",Accept:"*/*","User-Agent":`${t.client}/${t.clientVersion}`,"Accept-Language":"zh-CN,zh-Hans;q=0.9","Accept-Encoding":"gzip, deflate",...t.isJellyfin?{"X-Jellyfin-Authorization":B,"X-Jellyfin-Client":t.client,"X-Jellyfin-Device-Name":t.deviceName,"X-Jellyfin-Device-Id":t.deviceId,"X-Jellyfin-Client-Version":t.clientVersion}:{}};try{let J=await Ye.post(ee,de,{headers:k,timeout:5e3});if(J.data?.AccessToken)return t.token=J.data.AccessToken,t.userId=J.data.User.Id,te?.server?.db&&await te.server.db.push(r,{token:t.token,userId:t.userId,deviceId:t.deviceId,deviceName:t.deviceName,client:t.client,clientVersion:t.clientVersion}),{success:!0,token:t.token}}catch(J){console.debug("SenPlayer\u683C\u5F0F\u767B\u5F55\u5931\u8D25:",J.message);try{let H=`${t.server}/emby/Users/AuthenticateByName`,K={"Content-Type":"application/json","X-Emby-Client":t.client,"X-Emby-Device-Name":t.deviceName,"X-Emby-Device-Id":t.deviceId,"X-Emby-Client-Version":t.clientVersion,"User-Agent":"Mozilla/5.0"},q=await Ye.post(H,de,{headers:K,timeout:5e3});if(q.data?.AccessToken)return t.token=q.data.AccessToken,t.userId=q.data.User.Id,te?.server?.db&&await te.server.db.push(r,{token:t.token,userId:t.userId,deviceId:t.deviceId,deviceName:t.deviceName,client:t.client,clientVersion:t.clientVersion}),{success:!0,token:t.token}}catch(D){console.debug("Emby\u6807\u51C6\u683C\u5F0F\u767B\u5F55\u5931\u8D25:",D.message)}}return{success:!1,reason:"\u767B\u5F55\u5931\u8D25"}}async function b(te){if(t.token&&t.userId)try{let Q=await i(),ee=n(`/Users/${t.userId}`);return await a.cachedGet(ee,{headers:Q},"short"),!0}catch(Q){Q.response?.status}return(await C(te)).success}async function x(){try{let te=await i();return!!(await a.cachedGet(n("/System/Info"),{headers:te},"short")).data}catch{return!1}}function w(te,Q,ee={}){if(!Q)return"";let{maxWidth:de=l,quality:B=u,imageType:k="Primary"}=ee,J=`/Items/${te}/Images/${k}`,D=`?maxWidth=${de}&tag=${Q}&quality=${B}`;return t.isJellyfin?`${t.server}${J}${D}`:`${t.server}/emby${J}${D}`}function P(te){let Q=String(te?.headers?.["x-forwarded-proto"]||te?.protocol||"http").split(",")[0].trim()||"http",ee=String(te?.headers?.["x-forwarded-host"]||te?.headers?.host||"").split(",")[0].trim();return ee?`${Q}://${ee}`:""}function M(te,Q,ee={},de=null){if(!Q)return"";let{maxWidth:B=l,quality:k=u,imageType:J="Primary"}=ee,D=P(de);if(!D)return w(te,Q,ee);let H=new URL(`${D}/spider/emby_${t.id}/3/proxy/image`);return H.searchParams.set("itemId",String(te||"")),H.searchParams.set("tag",String(Q||"")),H.searchParams.set("imageType",String(J||"Primary")),H.searchParams.set("maxWidth",String(B)),H.searchParams.set("quality",String(k)),H.toString()}async function L(te,Q){if(!await b(te))return Q.code(401).send("\u767B\u5F55\u5931\u8D25");let ee=String(te?.query?.itemId||"").trim(),de=String(te?.query?.tag||"").trim(),B=String(te?.query?.imageType||"Primary").trim()||"Primary",k=Math.max(1,Number.parseInt(te?.query?.maxWidth,10)||l),J=Math.max(1,Number.parseInt(te?.query?.quality,10)||u);if(!ee||!de)return Q.code(400).send("missing image params");try{let D=await i(),H=w(ee,de,{maxWidth:k,quality:J,imageType:B}),K=await Ye.get(H,{headers:{...D,Accept:"image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8"},responseType:"stream",timeout:t.timeout||1e4,validateStatus:()=>!0});return(K.status||500)>=400||!K.data?Q.code(K.status||502).send("fetch image failed"):(K.headers["content-type"]&&Q.header("Content-Type",K.headers["content-type"]),K.headers["content-length"]&&Q.header("Content-Length",K.headers["content-length"]),Q.header("Access-Control-Allow-Origin","*"),Q.header("Cache-Control","public, max-age=300"),Q.send(K.data))}catch{return Q.code(502).send("proxy image error")}}async function U(te,Q){try{if(!T())return{success:!1,error:"\u914D\u7F6E\u4E0D\u5B8C\u6574"};if(te?.server?.db){let ee=await te.server.db.getObjectDefault(r,{});ee?.deviceId&&Object.assign(t,ee)}return(!t.token||!t.userId)&&!await b(te)?{success:!1,error:"\u767B\u5F55\u5931\u8D25"}:{success:!0,name:t.name,server:t.server,serverType:t.serverType}}catch(ee){return{success:!1,error:ee.message}}}async function Y(te,Q){let ee=Vr("emby",{...arguments[0],cacheKeyExtra:t.id}),de=jr(ee);if(de)return de;if(!await b(te))return{class:[],error:"\u767B\u5F55\u5931\u8D25"};try{let B=await i(),k=n(`/Users/${t.userId}/Views`),J=t.cacheViews?"long":"short",H=(await a.cachedGet(k,{headers:B},J)).data.Items||[],K=[],q={};H.filter(Z=>!c.some(ae=>Z.Name.includes(ae))).forEach(Z=>{let ae=Z.Id.toString();K.push({type_id:ae,type_name:Z.Name,type_image:M(Z.Id,Z.ImageTags?.Primary,{maxWidth:200,imageType:"Thumb"},te)});let ne=[{n:"\u6700\u8FD1\u6DFB\u52A0",v:"dateadded"},{n:"\u6700\u8FD1\u53D1\u884C",v:"premieredate_desc"},{n:"\u6700\u8FD1\u64AD\u653E",v:"dateplayed"},{n:"\u5E74\u4EFD\u65B0\u2192\u65E7",v:"year_desc"},{n:"\u5E74\u4EFD\u65E7\u2192\u65B0",v:"year_asc"},{n:"\u8BC4\u5206\u6700\u9AD8",v:"rating"},{n:"\u540D\u79F0A\u2192Z",v:"name"}],ie=[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"}];for(let ce=2025;ce>=2010;ce--)ie.push({n:String(ce),v:String(ce)});let X=[{n:"\u5168\u90E8",v:""},..."ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("").map(ce=>({n:ce,v:ce}))];q[ae]=[{key:"tid",name:"\u6392\u5E8F",init:"dateadded",value:ne},{key:"year",name:"\u5E74\u4EFD",init:"",value:ie},{key:"letter",name:"\u5B57\u6BCD",init:"",value:X}]});let z={class:K,filters:q};return sn(ee,z,Rt.semiStatic),z}catch{return{class:[],error:"\u83B7\u53D6\u9996\u9875\u5931\u8D25"}}}async function $(te,Q){let ee=te.body.id,de=parseInt(te.body.page,10)||1;de<1&&(de=1);let B=d,k=(de-1)*B;if(!await b(te))return{list:[],error:"\u767B\u5F55\u5931\u8D25"};try{let J=await i(),D=n(`/Users/${t.userId}/Items`),H=te.body.filters||{},K=H.tid||"dateadded",q=H.year||"",z=H.letter||"",Z={dateadded:{sortBy:"DateCreated,SortName",sortOrder:"Descending"},premieredate_desc:{sortBy:"PremiereDate,SortName",sortOrder:"Descending"},dateplayed:{sortBy:"DatePlayed,SortName",sortOrder:"Descending"},year_asc:{sortBy:"ProductionYear,SortName",sortOrder:"Ascending"},year_desc:{sortBy:"ProductionYear,SortName",sortOrder:"Descending"},rating:{sortBy:"CommunityRating,SortName",sortOrder:"Descending"},name:{sortBy:"SortName",sortOrder:"Ascending"}},{sortBy:ae,sortOrder:ne}=Z[K]||Z.dateadded,ie={SortBy:ae,SortOrder:ne,ParentId:ee,Recursive:"true",Limit:B,StartIndex:k,Fields:"ProductionYear,Status,DateCreated,CommunityRating,PremiereDate",IncludeItemTypes:"Movie,Series",ImageTypeLimit:1,EnableImageTypes:"Primary,Backdrop",EnableUserData:"true"};if(q){let De=parseInt(q,10);isNaN(De)||(ie.Years=De.toString())}z&&(ie.NameStartsWith=z);let X=await a.cachedGet(D,{headers:J,params:ie},"medium"),ce=X.data.Items||[],me=X.data.TotalRecordCount||0,be=ce.map(De=>{let je=De.CommunityRating?`\u2B50${De.CommunityRating.toFixed(1)}`:"",Ae=De.ProductionYear||"",ge=[je,Ae].filter(Boolean).join(" ");return{vod_id:Yun(De.Id,{vod_pic:M(De.Id,De.ImageTags?.Primary,{},te),vod_remarks:ge}),vod_name:De.Name,vod_pic:M(De.Id,De.ImageTags?.Primary,{},te),vod_remarks:ge,vod_year:Ae,vod_score:De.CommunityRating||0}}),Ne=Math.ceil(me/B);return{list:be,page:de,pagecount:Ne,limit:B,total:me}}catch{return{list:[],error:"\u83B7\u53D6\u5206\u7C7B\u5931\u8D25"}}}async function V(te,Q){let ee=Qun(te.body.id),de=ee.id;if(!await b(te))return{list:[],error:"\u767B\u5F55\u5931\u8D25"};try{let B=await i(),k=n(`/Users/${t.userId}/Items/${de}`),D=(await a.cachedGet(k,{headers:B,params:{Fields:"MediaSources,Overview,Genres,ProductionYear,OfficialRating,RunTimeTicks,People,Studios,Taglines,Type"}},"long")).data,H={vod_id:D.Id,vod_name:D.Name,vod_pic:ee.meta?.vod_pic||M(D.Id,D.ImageTags?.Primary,{},te),vod_type:D.Genres?.join(",")||"",vod_year:D.ProductionYear||"",vod_area:D.ProductionLocation||"",vod_actor:D.People?.filter(z=>z.Type==="Actor").map(z=>z.Name).join(",")||"",vod_director:D.People?.filter(z=>z.Type==="Director").map(z=>z.Name).join(",")||"",vod_content:(D.Overview||"").replace(/\r\n/g," "),vod_remarks:ee.meta?.vod_remarks||D.OfficialRating||"",vod_play_from:"",vod_play_url:""},K=[],q=[];if(D.Type==="Series")try{let z=[];try{let X=n(`/Shows/${de}/Seasons`);z=(await a.cachedGet(X,{headers:B,params:{UserId:t.userId,Fields:"Id,Name,IndexNumber",EnableTotalRecordCount:!1}},"long")).data?.Items||[]}catch(X){console.debug("\u83B7\u53D6\u5B63\u5217\u8868\u5931\u8D25\uFF0C\u7EE7\u7EED\u5C1D\u8BD5\u6279\u91CF\u83B7\u53D6\u5267\u96C6:",X.message)}let Z=await v(de,B),ae=new Map;for(let X of Z){let ce=E(X);ae.has(ce.groupKey)||ae.set(ce.groupKey,{...ce,episodes:[]}),ae.get(ce.groupKey).episodes.push(X)}let ne=[...z].sort((X,ce)=>y(X?.IndexNumber)-y(ce?.IndexNumber));for(let X of ne){let ce=X?.Id||"",me=ce?ae.get(ce):null;if(!me||me.episodes.length===0)continue;let be=_(me.episodes);be&&(K.push(X.Name||me.seasonName||`Season ${X.IndexNumber||ce}`),q.push(be),ae.delete(ce))}let ie=[...ae.values()].sort((X,ce)=>X.seasonIndex!==ce.seasonIndex?X.seasonIndex-ce.seasonIndex:(X.seasonName||"").localeCompare(ce.seasonName||""));for(let X of ie){if(!X.episodes||X.episodes.length===0)continue;let ce=_(X.episodes);ce&&(K.push(X.seasonName||t.name),q.push(ce))}}catch(z){console.debug("\u83B7\u53D6\u5267\u96C6\u4FE1\u606F\u5931\u8D25:",z.message)}else{let z=D.MediaSources||[];if(z.length>0)z.forEach(Z=>{let ae=Z.Name||"\u9ED8\u8BA4\u7EBF\u8DEF";K.push(ae);let ne=vRe(t,n,de,Z.Id,t.userId);q.push(`${D.Name}$${ne}`)});else{K.push(t.name);let Z=vRe(t,n,de,null,t.userId);q.push(`${D.Name}$${Z}`)}}return K.length===0||q.length===0?{list:[],error:"\u65E0\u6CD5\u83B7\u53D6\u64AD\u653E\u5217\u8868"}:(H.vod_play_from=K.join("$$$"),H.vod_play_url=q.join("$$$"),{list:[H]})}catch(B){return console.debug("\u83B7\u53D6\u8BE6\u60C5\u5931\u8D25:",B.message),{list:[],error:"\u83B7\u53D6\u8BE6\u60C5\u5931\u8D25"}}}async function W(te,Q){let ee=te.body.wd?.trim();if(!ee)return{list:[]};if(!await b(te))return{list:[],error:"\u767B\u5F55\u5931\u8D25"};try{let de=await i(),B=n(`/Users/${t.userId}/Items`),k={SearchTerm:ee,IncludeItemTypes:"Movie,Series",Recursive:"true",Limit:f,Fields:"ProductionYear,Type",EnableImageTypes:"Primary",SortBy:"SortName",SortOrder:"Ascending"};return{list:((await a.cachedGet(B,{headers:de,params:k},"short")).data.Items||[]).map(K=>({vod_id:K.Id,vod_name:K.Name,vod_pic:M(K.Id,K.ImageTags?.Primary,{},te),vod_remarks:K.Type==="Series"?"\u5267\u96C6":"\u7535\u5F71",vod_year:K.ProductionYear||""}))}}catch{return{list:[],error:"\u641C\u7D22\u5931\u8D25"}}}async function G(te,Q){let ee=String(te.body?.id||"");if(!ee)return{parse:1,url:"",header:s};if(ee.endsWith("_more")){let k=ee.replace("_more","");return{parse:0,url:`${t.server}/web/index.html#!/details?id=${k}&serverId=${t.server}`,header:s}}let de,B;if(ee.includes("|")){let k=ee.split("|");de=k[0],B=k[1]}else if(ee.includes("/PlaybackInfo?"))try{let k=new URL(ee),J=k.pathname.split("/");de=J[J.length-2],B=k.searchParams.get("MediaSourceId")}catch{return{parse:1,url:ee,header:s}}else return{parse:1,url:ee,header:s};try{let k=await i(),J={DeviceProfile:{MaxStreamingBitrate:14e7,DirectPlayProfiles:[{Container:"mp4,mkv,m4v",Type:"Video"}]}},D=n(`/Items/${de}/PlaybackInfo`),H={UserId:t.userId,MaxStreamingBitrate:14e7};B&&(H.MediaSourceId=B);let q=(await Ye.post(D,J,{headers:{...k,"Content-Type":"application/json"},params:H,timeout:5e3})).data?.MediaSources||[];if(q.length===0)return{error:"\u65E0\u53EF\u7528\u5A92\u4F53\u6E90"};let z=q.find(ie=>ie.Id===B)||q[0],Z=null;t.enablePlaybackReport&&o.recordPlaybackStart(de,z).then(ie=>{Z=ie}).catch(()=>{});let ae=se(z,Z);return ae||{parse:0,url:zun(t,z),header:s,extra:{mediaSourceId:z.Id,playbackSessionId:Z}}}catch(k){return console.debug("\u64AD\u653E\u8BF7\u6C42\u5931\u8D25:",k.message),{parse:0,url:t.isJellyfin?`${t.server}/Videos/${de}/stream?api_key=${t.token}`:`${t.server}/emby/videos/${de}/stream?api_key=${t.token}`,header:s}}}function se(te,Q){return te.DirectStreamUrl?{parse:0,url:te.DirectStreamUrl.startsWith("http")?te.DirectStreamUrl:t.server+te.DirectStreamUrl,header:{...s,Referer:`${t.server}/`,...Q&&{"X-Playback-Session-Id":Q}},extra:{source:te.Name||"\u9ED8\u8BA4",bitrate:te.Bitrate?`${(te.Bitrate/1e6).toFixed(1)}M`:"",mediaSourceId:te.Id,playbackSessionId:Q}}:te.Path&&te.Path.startsWith("http")?{parse:0,url:te.Path,header:s,extra:{mediaSourceId:te.Id,playbackSessionId:Q}}:null}return{meta:{key:`emby_${t.id}`,name:`${t.isJellyfin?"Jellyfin":"Emby"} ${t.name}`,type:3,version:"0.0.3"},api:async te=>{te.get("/proxy/image",L),te.post("/init",U),te.post("/home",Y),te.post("/category",$),te.post("/detail",V),te.post("/play",G),te.post("/search",W)}}}kr();Dn();ju();Fa();var IRe="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",gK=3e4,Wun=1e4,Xun=new Set(["desktop.ini","thumbs.db","readme.md"]),RRe=1e3,Jun=5e3,Zun=/\.(mp4|mkv|avi|mov|flv|wmv|m3u8|ts|rmvb|webm|m4v|mpg|mpeg|3gp|iso)$/i,eln="https://img.icons8.com/color/48/folder-invoices.png",tln="https://img.icons8.com/fluency/96/video-file.png",rln="",wUt="__alist_playlist__",NUt="https://img.icons8.com/fluency/96/playlist.png",nln={mp4:"video/mp4",m4v:"video/mp4",mkv:"video/x-matroska",avi:"video/x-msvideo",mov:"video/quicktime",flv:"video/x-flv",wmv:"video/x-ms-wmv",m3u8:"application/vnd.apple.mpegurl",ts:"video/MP2T",webm:"video/webm",mpg:"video/mpeg",mpeg:"video/mpeg","3gp":"video/3gpp"},sln={srt:"text/plain; charset=utf-8",ass:"text/plain; charset=utf-8",ssa:"text/plain; charset=utf-8",sub:"text/plain; charset=utf-8",idx:"text/plain; charset=utf-8",smi:"text/plain; charset=utf-8",txt:"text/plain; charset=utf-8",vtt:"text/vtt; charset=utf-8"};function iln(e="",t=""){let r=String(e),n=String(t),s=r.match(/(\d+|\D+)/g)||[],i=n.match(/(\d+|\D+)/g)||[],a=Math.min(s.length,i.length);for(let o=0;oe.compare(t,r)}}catch{}return iln}var OUt=aln();function _K(e=""){try{return decodeURIComponent(e)}catch{return e}}function AK(e=""){let r=String(e).trim().replace(/[?#].*$/,"").replace(/\/+$/,"").split("/").filter(Boolean);return r.length>0?r[r.length-1]:""}function oln(e="",t=""){let r=_K(String(e).trim()),n=_K(String(t).trim()),s=AK(r);if(s)return s;let i=AK(n);return i||r||n||"\u672A\u77E5\u89C6\u9891"}function DUt(e=""){return Buffer.from(String(e),"utf8").toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function PUt(e=""){let t=String(e||"").replace(/-/g,"+").replace(/_/g,"/"),r=t+"=".repeat((4-t.length%4)%4);return Buffer.from(r,"base64").toString("utf8")}function LUt(e){let t=String(e?.headers?.["x-forwarded-proto"]||e?.protocol||"http").split(",")[0].trim()||"http",r=String(e?.headers?.["x-forwarded-host"]||e?.headers?.host||"").split(",")[0].trim();return r?`${t}://${r}`:e?.server?.address?.()?.url||""}function MUt(e){return String(e?.server?.prefix||"").replace(/\/+$/,"")}function kUt(e=""){let t=String(e||"").toLowerCase().match(/\.([a-z0-9]+)(?:[?#].*)?$/);return t?t[1]:""}function cln(e=""){return nln[kUt(e)]||"application/octet-stream"}function BUt(e){let t=String(e.id||"unknown"),r=(e.server||"").replace(/\/$/,"");r=r.replace(/:443$/,"").replace(/(:443)\//,"/"),r=r.replace(/^http:\/\/([^:\/]+):80$/,"http://$1"),r=r.replace(/^http:\/\/([^:\/]+):80\//,"http://$1/");let n={id:t,name:e.name||`Alist ${t.slice(0,8)}`,server:r,username:e.username||"",password:e.password||"",token:e.token||"",enabled:e.enabled!==!1},s=n.server,i=null;function a(B,k="",J={}){return JSON.stringify({c:n.id,p:B||"",n:k,...J})}function o(B){try{return JSON.parse(B)}catch{return{c:n.id,p:B||"/",n:""}}}function c(){let B={"Content-Type":"application/json","User-Agent":IRe};return n.token&&(B.Authorization=n.token),B}async function u(){if(!n.username)return null;if(i)return i;i=(async()=>{try{let B=await Ye.post(`${s}/api/auth/login`,{username:n.username,password:n.password||""},{timeout:gK});if(B.data?.code===200&&B.data?.data?.token)return n.token=B.data.data.token,n.token;console.error(`[Alist\u767B\u5F55] \u767B\u5F55\u5931\u8D25: ${n.name}, \u54CD\u5E94\u7801: ${B.data?.code}`)}catch(B){console.error(`[Alist\u767B\u5F55] \u767B\u5F55\u5F02\u5E38: ${n.name}, \u9519\u8BEF: ${B.message}`)}return null})();try{return await i}finally{i=null}}function l(B,k){let J=B?.data?.code||k?.response?.status,D=String(B?.data?.message||k?.response?.data?.message||"").toLowerCase();return J===401||J===403||D.includes("token")||D.includes("unauthorized")}async function d(B,k){let J=()=>Ye.post(`${s}${B}`,k,{headers:c(),timeout:gK});try{let D=await J();return l(D,null)&&n.username&&await u()?await J():D}catch(D){if(n.username&&l(null,D)&&await u())return await J();throw D}}async function f(){return n.token?!0:n.username?!!await u():!0}async function h(B,k=1,J=RRe,D={}){let H=Math.max(1,Number.parseInt(k,10)||1),K=Math.min(RRe,Math.max(1,Number.parseInt(J,10)||RRe)),q=Math.max(K,Number.parseInt(D.maxItems,10)||Jun),z=[],Z=H,ae=0;try{for(;z.length0&&z.length>=ae)break;Z+=1}}catch(ne){console.error(`[Alist\u5217\u8868] \u5F02\u5E38: ${B}, \u9519\u8BEF: ${ne.message}`)}return z.slice(0,q)}async function p(B){try{let k=await d("/api/fs/get",{path:B||"/",password:""});if(k.data?.code===200)return k.data.data;console.error(`[Alist\u6587\u4EF6] \u5931\u8D25: ${B}, \u54CD\u5E94\u7801: ${k.data?.code}, \u6D88\u606F: ${k.data?.message}`)}catch(k){console.error(`[Alist\u6587\u4EF6] \u5F02\u5E38: ${B}, \u9519\u8BEF: ${k.message}`)}return null}function m(B){if(!B)return"";let D=(B.startsWith("/")?B:`/${B}`).split("/").map(H=>H===""?"":encodeURIComponent(H).replace(/%2F/g,"/")).join("/");return`${s}/d${D}`}function g(B,k,J){let D=DUt(JSON.stringify({c:n.id,p:k||"",n:J||""})),H=kUt(J),K=`${MUt(B)}/proxy/media/${D}${H?`.${H}`:""}`,q=LUt(B);return q?`${q}${K}`:K}function _(B=""){let k=T(B);return sln[k]||"text/plain; charset=utf-8"}function y(B,k,J,D=""){let H=T(D||J),K=DUt(JSON.stringify({c:n.id,p:k||"",n:J||"",f:H})),q=`${MUt(B)}/proxy/subtitle/${K}.${H}`,z=LUt(B);return z?`${z}${q}`:q}function E(B,k){let J=String(B||"/");return J==="/"?`/${k}`:`${J}/${k}`}function A(B){return!!B&&Zun.test(B)}function v(B){return Ct(B)}function T(B){return on(B)||String(B||"").toLowerCase().replace(/^\./,"")||"srt"}function C(B){return String(B||"\u64AD\u653E").replace(/\.[^.]+$/,"").replace(/<|>|《|》/g,"").replace(/\$|#/g," ").trim()||"\u64AD\u653E"}function b(B,k=0){let J=Number(k||0);return J>0?`${C(B)} [${U(J)}]`:C(B)}function x(B){return String(B||"/").split("/").filter(Boolean).pop()||"\u6839\u76EE\u5F55"}function w(B){let k=Array.isArray(B)?B.filter(D=>D?.url).map(D=>({url:D.url,name:D.name||"\u5916\u6302\u5B57\u5E55",format:T(D.format||D.name)})):[];if(k.length===0)return{};let J=k[0];return{subt:J.url,subtitle:J.url,subs_urls:k.map(D=>D.url),subs:k,extra:{subt:J.url,subtitle:J.url,subs_urls:k.map(D=>D.url),subs:k}}}function P(B,k){let D=(Array.isArray(B)?B:B?[B]:[]).map(H=>{let K=H?.name||"",q=H?.path||(k==="/"?`/${K}`:`${k}/${K}`);return!K||!q?null:{p:q,n:K,e:T(K)}}).filter(Boolean);return D.length===0?{}:{ss:D}}function M(B,k,J,D,H=0){return a(B,k,{...P(J,D),s:Number(H||0)})}async function L(B){let k=await p(B);return k&&k.raw_url?{fileInfo:k,url:k.raw_url,urlSource:"raw_url"}:k&&k.url?{fileInfo:k,url:k.url,urlSource:"url"}:{fileInfo:k,url:m(B),urlSource:"direct_link"}}function U(B){if(!B||B===0)return"0B";let k=1024,J=["B","KB","MB","GB","TB"],D=Math.floor(Math.log(B)/Math.log(k));return parseFloat((B/Math.pow(k,D)).toFixed(2))+J[D]}async function Y(B,k){try{if(!n.server)return{success:!1,error:"\u670D\u52A1\u5668\u5730\u5740\u672A\u914D\u7F6E"};if(n.username&&!n.token&&!await f())return{success:!1,error:"\u767B\u5F55\u5931\u8D25"};let J=await d("/api/fs/list",{path:"/",password:"",page:1,per_page:1});return J.data?.code!==200?{success:!1,error:J.data?.message||"\u8FDE\u63A5\u6821\u9A8C\u5931\u8D25",message:`\u8FDE\u63A5\u5931\u8D25: ${J.data?.message||"\u8FDE\u63A5\u6821\u9A8C\u5931\u8D25"}`}:{success:!0,name:n.name,message:`\u8FDE\u63A5\u6210\u529F: ${n.name}`}}catch(J){return{success:!1,error:J.message,message:`\u8FDE\u63A5\u5931\u8D25: ${J.message}`}}}async function $(B,k){let J=Vr("alist",arguments[0]||{}),D=jr(J);if(D)return D;let H={class:[{type_id:a("/",""),type_name:n.name,type_flag:"alist"}],filters:{}};return sn(J,H,Rt.semiStatic),H}async function V(B,k){let J=B.body||{},D="/",H=null;J.id&&(H=o(J.id),D=H.p||"/");let K=parseInt(J.page)||1,q=50;if(!await f())return{page:1,pagecount:1,limit:q,total:0,list:[],error:"\u767B\u5F55\u5931\u8D25"};try{let Z=(await h(D,1,1e3)).filter(ge=>{let Ee=ge?.name||"";return Ee&&!Ee.startsWith(".")&&!Xun.has(Ee.toLowerCase())}),ae=[],ne=[],ie=[];Z.forEach(ge=>{let Ee=E(D,ge.name);ge.is_dir?ae.push({...ge,path:Ee,type:"folder"}):(ne.push({...ge,path:Ee,type:"file",isVideo:A(ge.name)}),v(ge.name)&&ie.push({...ge,path:Ee}))}),ae.sort((ge,Ee)=>OUt(ge.name,Ee.name));let X=cr(ne.filter(ge=>ge.isVideo)),ce=new Set(X.map(ge=>ge.path)),me=ne.filter(ge=>!ce.has(ge.path)).sort((ge,Ee)=>OUt(ge.name,Ee.name)),be=[...ae];X.length>1&&be.push({isPlaylist:!0,path:D,name:"\u64AD\u653E\u5217\u8868",count:X.length}),be.push(...X,...me);let Ne=(K-1)*q,De=Ne+q,Ae=be.slice(Ne,De).map(ge=>{if(ge.isPlaylist){let Ee=a(ge.path,wUt,{t:`${x(ge.path)} \u64AD\u653E\u5217\u8868`});return{vod_id:Ee,vod_name:"\u64AD\u653E\u5217\u8868",vod_pic:NUt,vod_remarks:`${ge.count}\u4E2A\u89C6\u9891`,vod_tag:"playlist",vod_content:"",extend:{id:Ee,path:ge.path,type:"playlist"}}}if(ge.is_dir){let Ee=a(ge.path,"");return{vod_id:Ee,type_id:Ee,type_name:ge.name,vod_name:`\u{1F4C1} ${ge.name}`,vod_pic:"https://img.icons8.com/color/48/folder-invoices.png",vod_remarks:"\u6587\u4EF6\u5939",vod_tag:"folder",vod_content:"",cate:{id:Ee,name:ge.name},extend:{id:Ee,path:ge.path,type:"folder"}}}else{let Ee=ge.isVideo?aT(ge.name,ie,Re=>Re?.name||""):[],_e=M(ge.path,ge.name,Ee,D,ge.size),ve=[];return ge.isVideo&&ve.push("\u{1F3AC}"),ge.size&&ve.push(U(ge.size)),{vod_id:_e,vod_name:ge.name,vod_pic:ge.thumb||"",vod_remarks:ve.join(" "),vod_tag:ge.isVideo?"video":"file",vod_content:"",extend:{id:_e,path:ge.path,type:"file",isVideo:ge.isVideo}}}});return{page:K,pagecount:Math.max(1,Math.ceil(be.length/q)),limit:q,total:be.length,list:Ae}}catch(z){return console.error("Alist\u5206\u7C7B\u5931\u8D25:",z),{page:1,pagecount:1,limit:q,total:0,list:[],error:z.message}}}async function W(B,k){let J=B.body||{};if(!J.id)return{list:[],error:"ID\u53C2\u6570\u7F3A\u5931"};if(!await f())return{list:[],error:"\u767B\u5F55\u5931\u8D25"};try{let D=o(J.id);if(!D.n)return{list:[],error:"\u76EE\u5F55\u65E0\u6CD5\u67E5\u770B\u8BE6\u60C5\uFF0C\u8BF7\u4F7F\u7528\u5206\u7C7B\u6D4F\u89C8"};let H=D.p;if(D.n===wUt){let q=await h(H),z=q.filter(ne=>!ne.is_dir&&v(ne.name)).map(ne=>({...ne,path:E(H,ne.name)})),Z=cr(q.filter(ne=>!ne.is_dir&&A(ne.name)).map(ne=>({...ne,path:E(H,ne.name)})));if(Z.length===0)return{list:[],error:"\u6587\u4EF6\u5939\u4E2D\u6CA1\u6709\u89C6\u9891\u6587\u4EF6"};let ae=Z.map(ne=>{let ie=aT(ne.name,z,ce=>ce?.name||""),X=M(ne.path,ne.name,ie,H,ne.size);return`${b(ne.name,ne.size)}$${X}`}).join("#");return{list:[{vod_id:J.id,vod_name:D.t||`${x(H)} \u64AD\u653E\u5217\u8868`,vod_pic:NUt,vod_content:`\u5F53\u524D\u76EE\u5F55: ${H}`,vod_remarks:`\u5171${Z.length}\u4E2A\u89C6\u9891`,vod_play_from:n.name,vod_play_url:ae}]}}let K=await p(H);if(!K)return{list:[],error:"\u6587\u4EF6\u4E0D\u5B58\u5728\u6216\u65E0\u6CD5\u8BBF\u95EE"};if(K.is_dir){let q=await h(H),z=q.filter(ne=>!ne.is_dir&&v(ne.name)).map(ne=>({...ne,path:E(H,ne.name)})),Z=cr(q.filter(ne=>!ne.is_dir&&A(ne.name)).map(ne=>({...ne,path:E(H,ne.name)})));if(Z.length===0)return{list:[],error:"\u6587\u4EF6\u5939\u4E2D\u6CA1\u6709\u89C6\u9891\u6587\u4EF6"};let ae=Z.map(ne=>{let ie=aT(ne.name,z,ce=>ce?.name||""),X=M(ne.path,ne.name,ie,D.p,ne.size);return`${b(ne.name,ne.size)}$${X}`}).join("#");return{list:[{vod_id:J.id,vod_name:D.n,vod_pic:K.thumb||"",vod_content:"",vod_remarks:U(K.size)||"",vod_play_from:n.name,vod_play_url:ae}]}}else{if(!A(K.name))return{list:[],error:"\u4E0D\u662F\u89C6\u9891\u6587\u4EF6"};let q=H.substring(0,H.lastIndexOf("/"))||"/",Z=(await h(q)).filter(X=>!X.is_dir&&v(X.name)).map(X=>({...X,path:E(q,X.name)})),ae=aT(D.n,Z,X=>X?.name||""),ne=M(H,D.n,ae,q,K.size),ie="";return ae.length>0&&(ie=`\u5B57\u5E55\u6587\u4EF6: +${ae.map(ce=>ce.name).join(` +`)}`),{list:[{vod_id:J.id,vod_name:D.n,vod_pic:K.thumb||"",vod_content:ie,vod_remarks:U(K.size)||"",vod_time:K.modified||"",vod_play_from:n.name,vod_play_url:`${b(D.n,K.size)}$${ne}`}]}}}catch(D){return console.error("Alist\u8BE6\u60C5\u5931\u8D25:",D),{list:[],error:D.message}}}async function G(B,k){let J=B.body||{};if(!J.id)return{error:"ID\u53C2\u6570\u7F3A\u5931"};if(!await f())return{error:"\u767B\u5F55\u5931\u8D25"};try{let D=o(J.id),H=D.n||(D.p?D.p.split("/").pop():"")||"";if(!A(H))return{error:"\u4E0D\u662F\u89C6\u9891\u6587\u4EF6\uFF0C\u65E0\u6CD5\u64AD\u653E"};let K=D.p,{url:q,urlSource:z}=await L(K);if(!q)throw new Error("\u65E0\u6CD5\u83B7\u53D6\u64AD\u653E\u5730\u5740");let Z={parse:0,url:g(B,K,H),header:{},extra:{from:n.name,path:K,urlSource:z}},ae=Array.isArray(D.ss)&&D.ss.length>0?D.ss.map(ne=>({path:ne?.p||"",name:ne?.n||"\u5916\u6302\u5B57\u5E55",format:ne?.e||ne?.n||"srt"})).filter(ne=>ne.path):D.sp?[{path:D.sp,name:D.sn||"\u5916\u6302\u5B57\u5E55",format:D.se||D.sn||"srt"}]:[];if(ae.length>0)try{let ne=[];for(let ce of ae)try{let me=y(B,ce.path,ce.name,ce.format);me&&ne.push({url:me,name:ce.name||"\u5916\u6302\u5B57\u5E55",format:ce.format||ce.name||"srt"})}catch(me){console.warn("[Alist\u64AD\u653E] \u5B57\u5E55\u52A0\u8F7D\u5931\u8D25:",me.message)}let ie=w(ne),X={...Z.extra||{},...ie.extra||{}};Object.assign(Z,ie),Z.extra=X}catch(ne){console.warn("[Alist\u64AD\u653E] \u5B57\u5E55\u52A0\u8F7D\u5931\u8D25:",ne.message)}return Z}catch(D){return console.error("[Alist\u64AD\u653E] \u64AD\u653E\u5931\u8D25:",D.message,D.stack),{parse:0,url:"",header:{},error:D.message}}}function se(B,k={}){let J={"User-Agent":IRe,...k},D=String(B).startsWith(`${s}/`);return D&&(J.Referer=s),D&&n.token&&(J.Authorization=n.token.startsWith("Bearer ")?n.token:`Bearer ${n.token}`),J}async function ue(B,k){let J=String(B.params?.encoded||B.params?.["*"]||"").replace(/\.[a-z0-9]+$/i,""),D=null;try{D=JSON.parse(PUt(J))}catch{return k.code(400),"bad media token"}if(!D||D.c!==n.id||!D.p)return k.code(403),"invalid media token";try{let H=String(D.p||""),K=String(D.n||AK(H)||"video"),{url:q}=await L(H);if(!q)return k.code(404),"media url not found";let z=se(q,{Accept:"*/*","Accept-Encoding":"identity",...B.headers?.range?{Range:B.headers.range}:{}}),Z=await Ye.get(q,{responseType:"stream",headers:z,timeout:gK,maxRedirects:5,validateStatus:()=>!0});if(Z.status<200||Z.status>=400)return Z.data&&typeof Z.data.destroy=="function"&&Z.data.destroy(),k.code(Z.status||502),`media fetch failed: ${Z.status||502}`;k.code(Z.status||200);let ae=["content-type","content-length","content-range","accept-ranges","etag","last-modified"];for(let ie of ae){let X=Z.headers?.[ie];X!=null&&k.header(ie,X)}let ne=String(Z.headers?.["content-type"]||"").toLowerCase();return(!ne||ne.includes("application/oct-stream")||ne.includes("application/octet-stream"))&&k.header("Content-Type",cln(K)),k.header("Accept-Ranges",Z.headers?.["accept-ranges"]||"bytes"),k.header("Access-Control-Allow-Origin","*"),k.header("Access-Control-Allow-Headers","Range, Content-Type"),k.header("Access-Control-Expose-Headers","Content-Length, Content-Range, Accept-Ranges"),k.header("Cache-Control","no-store"),k.send(Z.data)}catch(H){return console.error("[Alist\u4EE3\u7406] \u5A92\u4F53\u4EE3\u7406\u5931\u8D25:",H.message),k.code(502),`media proxy failed: ${H.message}`}}async function te(B,k){let J=String(B.params?.encoded||B.params?.["*"]||"").replace(/\.[a-z0-9]+$/i,""),D=null;try{D=JSON.parse(PUt(J))}catch{return k.code(400),"bad subtitle token"}if(!D||D.c!==n.id||!D.p)return k.code(403),"invalid subtitle token";try{let H=String(D.p||""),K=String(D.n||AK(H)||"subtitle.srt"),q=T(D.f||K),{url:z}=await L(H);if(!z)return k.code(404),"subtitle url not found";let Z=await Ye.get(z,{responseType:"stream",headers:se(z,{Accept:"text/plain,text/vtt,*/*","Accept-Encoding":"identity"}),timeout:gK,maxRedirects:5,validateStatus:()=>!0});if(Z.status<200||Z.status>=400)return Z.data&&typeof Z.data.destroy=="function"&&Z.data.destroy(),k.code(Z.status||502),`subtitle fetch failed: ${Z.status||502}`;k.code(Z.status||200);let ae=String(Z.headers?.["content-type"]||"").toLowerCase();return k.header("Content-Type",ae&&!ae.includes("application/octet-stream")?Z.headers["content-type"]:_(q)),Z.headers?.["content-length"]&&k.header("Content-Length",Z.headers["content-length"]),k.header("Access-Control-Allow-Origin","*"),k.header("Access-Control-Allow-Headers","Range, Content-Type"),k.header("Access-Control-Expose-Headers","Content-Length, Content-Range, Accept-Ranges"),k.header("Cache-Control","no-store"),k.send(Z.data)}catch(H){return console.error("[Alist\u4EE3\u7406] \u5B57\u5E55\u4EE3\u7406\u5931\u8D25:",H.message),k.code(502),`subtitle proxy failed: ${H.message}`}}async function Q(B,k){let J=B.body||{},D=J.wd||"",H=parseInt(J.page,10)||1;if(!D.trim())return{page:1,pagecount:1,limit:0,total:0,list:[]};try{let K=`${s}/search?box=${encodeURIComponent(D)}&type=video`,q=await Ye.get(K,{timeout:Wun,headers:{"User-Agent":IRe}});if(!q.data)return{page:1,pagecount:1,limit:0,total:0,list:[]};let Z=new QTe().pq(q.data),ae=[];Z("div ul a").each((ie,X)=>{let ce=X.attribs?.href,me=Z(X).text().trim();ce&&me&&ce.startsWith("/")&&ae.push({path:_K(ce),name:_K(me)})});let ne=ae.map(ie=>{let X=oln(ie.name,ie.path),ce=A(X)||A(ie.path),me=a(ie.path,ce?X:""),be={vod_id:me,vod_name:X,vod_pic:ce?tln:eln,vod_remarks:ce?"\u89C6\u9891\u6587\u4EF6":"\u6587\u4EF6\u5939",vod_tag:ce?"video":"folder",vod_content:ie.path,extend:{id:me,path:ie.path,type:ce?"file":"folder",isVideo:ce}};return ce?(be.vod_play_from=n.name,be.vod_play_url=`${X}$${me}`):(be.type_id=me,be.type_name=X,be.cate={id:me,name:X}),be});return{page:H,pagecount:1,limit:ne.length,total:ne.length,list:ne}}catch(K){return console.error(`[Alist\u641C\u7D22] ${n.name} - \u5931\u8D25:`,K.message),{page:1,pagecount:1,limit:0,total:0,list:[]}}}async function ee(B,k){try{let J=Buffer.from(rln,"base64");return k.header("Content-Type","image/png"),k.header("Content-Length",J.length),k.send(J)}catch{k.code(500).send({error:"Failed to load image"})}}return{meta:{key:`alist_${n.id}`,name:`Alist ${n.name}`,type:3,version:"2.1.0",author:"\u878D\u5408\u7248\u672C",description:`Alist\u6587\u4EF6\u6D4F\u89C8 - ${n.name}`,supportSearch:!0},api:async B=>{B.post("/init",Y),B.post("/home",$),B.post("/category",V),B.post("/detail",W),B.post("/play",G),B.post("/search",Q),B.get("/icon",ee),B.get("/proxy/media/*",ue),B.get("/proxy/subtitle/*",te)}}}kr();Dn();var u$t=we(c$t(),1);ta();zi();Fa();ju();function xNe(e){let t=(e.server||"").replace(/\/$/,"");t=t.replace(/:443$/,"").replace(/(:443)\//,"/"),t=t.replace(/^http:\/\/([^:\/]+):80$/,"http://$1"),t=t.replace(/^http:\/\/([^:\/]+):80\//,"http://$1/");let r={id:e.id,name:e.name||`WebDAV ${e.id.slice(0,8)}`,server:t,path:e.path||"/",username:e.username||"",password:e.password||"",enabled:e.enabled!==!1},n=r.server,s=r.path&&r.path!=="/"?r.path.replace(/\/$/,""):"/",i=15*1e3,a=20*1e3,o=10*1e3,c=200,u=50,l=20,d=2*1024*1024,f="1.3.0",h="webdav@@@",p="__webdav_playlist__",m="https://img.icons8.com/color/48/folder-invoices.png",g="https://i2.100024.xyz/2024/01/13/pptcej.webp",_="https://img.icons8.com/fluency/96/playlist.png",y=new pt(c,i),E=new pt(c,a),A=new pt(c,o),v=`webdav:${r.id}`;async function T(Ae,ge,Ee,_e,ve){let Re=Ae.get(Ee);return Re!==null?Re:Pn(v,ge,Ee,async()=>{let Me=await ve();return Ae.set(Ee,Me),Me},{timeout:3e4})}function C(Ae){let ge=Number.parseInt(Ae,10);return Number.isNaN(ge)||ge<=0?1:ge}function b(Ae,ge="",Ee={}){let _e={c:r.id,p:Ae||"/",n:ge||""};if(Ee&&typeof Ee=="object")for(let[ve,Re]of Object.entries(Ee))["c","p","n"].includes(ve)||Re==null||Re===""||(_e[ve]=Re);return h+Buffer.from(JSON.stringify(_e),"utf8").toString("base64url")}function x(Ae){let ge={c:r.id,p:Ae||"/",n:""};try{let Ee=typeof Ae=="string"?Ae:"";if(!Ee)return ge;if(Ee.includes("%"))try{Ee=decodeURIComponent(Ee)}catch{}return Ee.startsWith(h)?JSON.parse(Buffer.from(Ee.slice(h.length),"base64url").toString("utf8")):Ee.startsWith("{")?JSON.parse(Ee):ge}catch{return ge}}let w=r.username?{Authorization:`Basic ${Buffer.from(`${r.username}:${r.password||""}`).toString("base64")}`,"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}:{};function P(){return{...w}}function M(Ae){let ge=String(Ae||"/").trim();return ge.startsWith("/")||(ge="/"+ge),s&&s!=="/"&&(ge===s||ge.startsWith(s+"/"))&&(ge=ge.substring(s.length)||"/"),ge.startsWith("/")||(ge="/"+ge),ge.replace(/\/+/g,"/")}function L(){return(0,u$t.create)({version:"1.0",encoding:"UTF-8"}).ele("d:propfind",{"xmlns:d":"DAV:"}).ele("d:prop").ele("d:displayname").up().ele("d:getcontentlength").up().ele("d:getcontenttype").up().ele("d:getlastmodified").up().ele("d:resourcetype").up().up().up().end()}let U=L();function Y(Ae,ge){let Ee=[];try{let _e=/<[^:>]+:response>([\s\S]*?)<\/[^:>]+:response>/g,ve;for(;(ve=_e.exec(Ae))!==null;){let Re=ve[1],Me=/<[^:>]+:href>(.*?)<\/[^:>]+:href>/.exec(Re);if(!Me)continue;let Ce=Me[1];try{Ce=decodeURIComponent(Ce)}catch{}let $e=ge.replace(/\/$/,"");if(Ce.replace(/\/$/,"")===$e)continue;let Ue=/<[^:>]+:displayname>(.*?)<\/[^:>]+:displayname>/.exec(Re),ze=Ue?Ue[1]:Ce.split("/").filter(Boolean).pop();if(!ze){let xt=Ce.split("/").filter(Boolean);ze=xt[xt.length-1]||"\u672A\u77E5\u6587\u4EF6"}let Ot=/<[^:>]+:getcontentlength>(.*?)<\/[^:>]+:getcontentlength>/.exec(Re),We=Ot&&Number.parseInt(Ot[1],10)||0,ht=/<[^:>]+:getlastmodified>(.*?)<\/[^:>]+:getlastmodified>/.exec(Re),At=ht?ht[1]:null,Et=/<[^:>]+:collection\s*\/>/.test(Re)||/<[^:>]+:resourcetype><[^:>]+:collection/.test(Re),Tr=M(Ce),Vt=!Et&&G(ze),it=!Et&&se(ze);Ee.push({name:ze,path:Tr,size:We,isDir:Et,isVideo:Vt,isSubtitle:it,lastModified:At})}}catch(_e){console.error("\u89E3\u6790WebDAV\u54CD\u5E94\u5931\u8D25:",_e.message)}return Ee}async function $(Ae){let ge=s==="/"?Ae:s+Ae;ge.startsWith("/")||(ge="/"+ge);let Ee=n+ge,_e=await Ye({method:"PROPFIND",url:Ee,headers:{...P(),Depth:"1","Content-Type":"application/xml"},data:U,timeout:3e4});return Y(_e.data,ge)}async function V(Ae,ge={}){let Ee=`dir:${Ae}`;try{let ve=(ge.noCache?await $(Ae):await T(y,"category",Ee,i,async()=>$(Ae))).slice();if(ge.sortBy==="name"?ve.sort((Re,Me)=>Re.isDir&&!Me.isDir?-1:!Re.isDir&&Me.isDir?1:Re.name.localeCompare(Me.name)):ge.sortBy==="time"&&ge.sortOrder==="desc"&&ve.sort((Re,Me)=>Re.lastModified&&Me.lastModified?new Date(Me.lastModified)-new Date(Re.lastModified):0),ge.filter==="videos"?ve=ve.filter(Re=>Re.isVideo):ge.filter==="folders"&&(ve=ve.filter(Re=>Re.isDir)),ge.page&&ge.pageSize){let Re=(ge.page-1)*ge.pageSize;ve=ve.slice(Re,Re+ge.pageSize)}return ve}catch(_e){throw console.error("WebDAV\u5217\u51FA\u76EE\u5F55\u5931\u8D25:",_e.message),_e}}async function W(Ae){let ge=await V(Ae),Ee=ge.filter(Me=>Me.isDir),_e=ge.filter(Me=>!Me.isDir),ve=_e.filter(Me=>Me.isVideo),Re=_e.filter(Me=>Me.isSubtitle);return{folders:Ee,files:_e,videoFiles:ve,subtitleFiles:Re,total:ge.length}}function G(Ae){return[".mp4",".mkv",".avi",".mov",".flv",".wmv",".m3u8",".ts",".rmvb",".webm",".rm",".mpg",".mpeg",".3gp",".f4v",".vob",".iso"].some(Ee=>Ae.toLowerCase().endsWith(Ee))}function se(Ae){return[".srt",".ass",".ssa",".sub",".idx",".vtt",".smi",".txt"].some(Ee=>Ae.toLowerCase().endsWith(Ee))}function ue(Ae){return/\.[^./\\]+$/.test(String(Ae||""))}function te(Ae){return String(Ae||"\u64AD\u653E").replace(/\.[^.]+$/,"").replace(/<|>|《|》/g,"").replace(/\$|#/g," ").trim()||"\u64AD\u653E"}function Q(Ae,ge=0){let Ee=Number(ge||0);return Ee>0?`${te(Ae)} [${ae(Ee)}]`:te(Ae)}function ee(Ae){let ge=String(Ae||"").toLowerCase().replace(/^\./,"");return["srt","ass","ssa","sub","idx","vtt","smi","txt"].includes(ge)?ge:on(Ae)||"srt"}function de(Ae){let ge=Array.isArray(Ae)?Ae.filter(_e=>_e?.url).map(_e=>({url:_e.url,name:_e.name||"\u5916\u6302\u5B57\u5E55",format:ee(_e.format||_e.name)})):[];if(ge.length===0)return{};let Ee=ge[0];return{subt:Ee.url,subtitle:Ee.url,subs_urls:ge.map(_e=>_e.url),subs:ge,extra:{subt:Ee.url,subtitle:Ee.url,subs_urls:ge.map(_e=>_e.url),subs:ge}}}function B(Ae){return cr(Array.isArray(Ae)?Ae.slice():[])}function k(Ae,ge){return aT(Ae?.name,ge,Ee=>Ee?.name||"")}function J(Ae,ge=[]){let Ee=k(Ae,ge),_e=Ee.length>0?{ss:Ee.map(ve=>({p:ve.path,n:ve.name,e:ee(ve.name)}))}:{};return b(Ae.path,Ae.name,_e)}function D(Ae,ge=[]){return`${Q(Ae.name,Ae.size)}$${J(Ae,ge)}`}function H(Ae,ge=[]){return B(Ae).map(Ee=>`${Q(Ee.name,Ee.size)}$${J(Ee,ge)}`).join("#")}function K(Ae){return Ae.split("/").filter(Boolean).pop()||"\u6839\u76EE\u5F55"}function q(Ae,ge={}){let Ee=s==="/"?Ae:s+Ae;Ee.startsWith("/")||(Ee="/"+Ee);let ve=Ee.split("/").map(Me=>Me===""?"":encodeURIComponent(Me).replace(/%2F/g,"/")).join("/"),Re=n+ve;if(ge.includeCredentialsInUrl&&r.username){let Me=Re.split("://")[0],Ce=Re.split("://")[1];Re=`${Me}://${encodeURIComponent(r.username)}:${encodeURIComponent(r.password||"")}@${Ce}`}return{url:Re,headers:ge.includeCredentialsInUrl?{}:P()}}async function z(Ae,ge=""){let Ee=s==="/"?Ae:s+Ae;Ee.startsWith("/")||(Ee="/"+Ee);let ve=Ee.split("/").map(Qe=>Qe===""?"":encodeURIComponent(Qe).replace(/%2F/g,"/")).join("/"),Re=n+ve,Me=await Ye({method:"GET",url:Re,headers:P(),responseType:"arraybuffer",transformResponse:[Qe=>Qe],maxContentLength:d,maxBodyLength:d,timeout:15e3}),Ce=Buffer.from(Me.data).toString("base64");return`data:${ee(ge)==="vtt"?"text/vtt":"text/plain"};charset=utf-8;base64,${Ce}`}async function Z(){try{return await V("/",{noCache:!0}),!0}catch(Ae){return console.error("WebDAV\u8FDE\u63A5\u6D4B\u8BD5\u5931\u8D25:",Ae.message),!1}}function ae(Ae){return!Ae||Ae===0?"0B":Ae<1024?Ae+"B":Ae<1024*1024?(Ae/1024).toFixed(2)+"KB":Ae<1024*1024*1024?(Ae/1024/1024).toFixed(2)+"MB":(Ae/1024/1024/1024).toFixed(2)+"GB"}function ne(Ae){if(!Ae)return"";try{let ge=new Date(Ae);return ge.toLocaleDateString()+" "+ge.toLocaleTimeString()}catch{return Ae}}async function ie(Ae,ge){try{return r.server?await Z()?{success:!0,name:r.name,version:f}:{success:!1,error:"\u8FDE\u63A5WebDAV\u670D\u52A1\u5668\u5931\u8D25"}:{success:!1,error:"\u670D\u52A1\u5668\u5730\u5740\u672A\u914D\u7F6E"}}catch(Ee){return{success:!1,error:Ee.message}}}async function X(Ae,ge){let Ee=Vr("webdav",arguments[0]||{}),_e=jr(Ee);if(_e)return _e;let ve={class:[{type_id:b("/"),type_name:r.name}]};return sn(Ee,ve,Rt.semiStatic),ve}async function ce(Ae,ge){let Ee=Ae.body||{},_e=C(Ee.pg||Ee.page),ve=u,Re="/";Ee.id&&(Re=x(Ee.id).p||"/");try{let{folders:Me,files:Ce,videoFiles:$e}=await W(Re),Qe=Me.slice().sort((it,xt)=>it.name.localeCompare(xt.name,"zh-CN")),Ue=B($e),ze=new Set(Ue.map(it=>it.path)),Ot=Ce.filter(it=>!ze.has(it.path)).sort((it,xt)=>it.name.localeCompare(xt.name,"zh-CN")),We=[...Qe.map(it=>({...it,isFolder:!0}))];Ue.length>1&&We.push({isPlaylist:!0,path:Re,name:"\u64AD\u653E\u5217\u8868",count:Ue.length}),We.push(...Ue.map(it=>({...it,isFolder:!1})),...Ot.map(it=>({...it,isFolder:!1})));let ht=We.length,At=Math.ceil(ht/ve)||1,Et=(_e-1)*ve,Vt=We.slice(Et,Et+ve).map(it=>{if(it.isPlaylist)return{vod_id:b(it.path,p,{t:`${K(it.path)} \u64AD\u653E\u5217\u8868`}),vod_name:"\u64AD\u653E\u5217\u8868",vod_pic:_,vod_remarks:`${it.count}\u4E2A\u89C6\u9891`,vod_tag:"playlist"};if(it.isFolder){let xt=b(it.path);return{vod_id:xt,type_id:xt,type_name:it.name,vod_name:`\u{1F4C1} ${it.name}`,vod_pic:m,vod_remarks:it.lastModified?ne(it.lastModified):"\u6587\u4EF6\u5939",vod_tag:"folder",cate:{id:xt,name:it.name}}}else{let xt=it.isVideo,ri=it.isSubtitle,Ds=ae(it.size);return xt&&(Ds="\u{1F3AC} "+Ds),ri&&(Ds="\u{1F4DD} "+Ds),{vod_id:b(it.path,it.name,{s:it.size}),vod_name:it.name,vod_pic:xt?g:"",vod_remarks:Ds,vod_tag:xt?"video":ri?"subtitle":"file"}}});return{page:_e,pagecount:At,limit:ve,total:ht,list:Vt}}catch(Me){return console.error("WebDAV\u5206\u7C7B\u5931\u8D25:",Me.message),{page:1,pagecount:1,limit:ve,total:0,list:[],error:Me.message}}}async function me(Ae,ge){let Ee=Ae.body||{};if(!Ee.id)return{list:[]};try{let _e=x(Ee.id),ve=_e.p||"/",Re=_e.n||"";if(Re&&G(Re)){let We=ve.substring(0,ve.lastIndexOf("/"))||"/",{subtitleFiles:ht}=await W(We),At={name:Re,path:ve,size:Number(_e.s||0)},Et=D(At,ht);return{list:[{vod_id:Ee.id,vod_name:te(Re),vod_pic:g,vod_remarks:At.size>0?ae(At.size):"",vod_content:`\u5F53\u524D\u76EE\u5F55: ${We}`,vod_play_from:r.name,vod_play_url:Et}]}}if(Re&&se(Re))return{list:[{vod_id:Ee.id,vod_name:Re,vod_pic:"",vod_remarks:"\u5B57\u5E55\u6587\u4EF6",vod_play_from:r.name,vod_play_url:`${te(Re)}$${Ee.id}`}]};let Me=ve,{videoFiles:Ce,subtitleFiles:$e}=await W(Me);if(Ce.length===0)return{list:[],message:"\u8BE5\u6587\u4EF6\u5939\u4E2D\u6CA1\u6709\u89C6\u9891\u6587\u4EF6"};let Qe=B(Ce),Ue=H(Qe,$e),ze=Re===p,Ot=ze?_e.t||`${K(Me)} \u64AD\u653E\u5217\u8868`:K(Me);return{list:[{vod_id:Ee.id||b(Me),vod_name:Ot,vod_pic:ze?_:g,vod_remarks:Ce.length>1?`\u5171${Ce.length}\u4E2A\u89C6\u9891`:"\u5355\u4E2A\u89C6\u9891",vod_content:`\u5F53\u524D\u76EE\u5F55: ${Me}`,vod_play_from:r.name,vod_play_url:Ue}]}}catch(_e){return console.error("WebDAV\u8BE6\u60C5\u5931\u8D25:",_e.message),{list:[],error:_e.message}}}async function be(Ae,ge){try{return await Ye({method:"HEAD",url:Ae,headers:ge,maxRedirects:0,timeout:5e3}),{url:Ae,headers:ge}}catch(Ee){let _e=Ee.response?.headers?.location;if(_e)return{url:_e,headers:{}}}try{return await Ye({method:"GET",url:Ae,headers:{...ge,Range:"bytes=0-0"},maxRedirects:0,timeout:15e3}),{url:Ae,headers:ge}}catch(Ee){let _e=Ee.response?.headers?.location;return _e?{url:_e,headers:{}}:{url:Ae,headers:ge}}}async function Ne(Ae,ge){let Ee=Ae.body||{};if(!Ee.id)return{error:"\u7F3A\u5C11ID\u53C2\u6570"};try{let _e=x(Ee.id),ve=_e.p||"",Re=_e.n||"";if(Re&&se(Re))return{parse:0,url:await z(ve,Re),header:{},contentType:"text/plain; charset=utf-8"};let{url:Ce,headers:$e}=q(ve),Qe=Re.toLowerCase().endsWith(".m3u8"),Ue=`redirect:${Ce}`,{url:ze,headers:Ot}=await T(A,"play",Ue,o,async()=>be(Ce,$e)),We={parse:0,url:ze,header:Ot};Qe&&(We.extra={format:"m3u8","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"});let ht=Array.isArray(_e.ss)&&_e.ss.length>0?_e.ss.map(At=>({path:At?.p||"",name:At?.n||"\u5916\u6302\u5B57\u5E55",format:At?.e||At?.n||"srt"})).filter(At=>At.path):_e.sp?[{path:_e.sp,name:_e.sn||"\u5916\u6302\u5B57\u5E55",format:_e.se||_e.sn||"srt"}]:[];if(ht.length>0)try{let At=[];for(let Vt of ht)try{let it=ee(Vt.format||Vt.name),xt=await z(Vt.path,it);At.push({url:xt,name:Vt.name||"\u5916\u6302\u5B57\u5E55",format:it})}catch(it){console.warn("[WebDAV\u64AD\u653E] \u5B57\u5E55\u52A0\u8F7D\u5931\u8D25:",it.message)}let Et=de(At),Tr={...We.extra||{},...Et.extra||{}};Object.assign(We,Et),Object.keys(Tr).length>0&&(We.extra=Tr)}catch(At){console.warn("[WebDAV\u64AD\u653E] \u5B57\u5E55\u52A0\u8F7D\u5931\u8D25:",At.message)}return We}catch(_e){return console.error("[WebDAV\u64AD\u653E] \u64AD\u653E\u5931\u8D25:",_e.message,_e.stack),{parse:0,url:"",header:{},error:"\u64AD\u653E\u5931\u8D25: "+_e.message}}}async function De(Ae,ge){let Ee=Ae.body||{},_e=(Ee.wd||"").trim(),ve=C(Ee.pg||Ee.page),Re=l;if(!_e)return{page:1,pagecount:1,limit:Re,total:0,list:[]};try{let Me=`search:${_e}`,Ce=await T(E,"search",Me,a,async()=>{let ht=`${n}${s==="/"?"":s}/SEARCH/${encodeURIComponent(_e)}`,Et=((await Ye({method:"GET",url:ht,headers:P(),timeout:3e4})).data||"").split(` +`).map(Vt=>Vt.trim()).filter(Boolean),Tr=new Map;for(let Vt of Et){let it=Vt.lastIndexOf(" "),xt,ri;it!==-1?(xt=Vt.substring(0,it).trim(),ri=Number.parseInt(Vt.substring(it+1).trim(),10)||0):(xt=Vt.trim(),ri=0),xt&&(xt=M(xt),(!Tr.has(xt)||ri>0)&&Tr.set(xt,{filePath:xt,size:ri}))}return Array.from(Tr.values())}),$e=Ce.length,Qe=Math.ceil($e/Re)||1,Ue=(ve-1)*Re,Ot=Ce.slice(Ue,Ue+Re).map(({filePath:We,size:ht})=>{let At=We.split("/").filter(Boolean).pop()||We,Et=G(At),Tr=se(At),Vt=We.endsWith("/")||ht===0&&!Et&&!Tr&&!ue(At),it=b(We,Vt?"":At,Vt?{}:{s:ht}),xt={vod_id:it,vod_name:Vt?`\u{1F4C1} ${At}`:At,vod_pic:Vt?m:Et?g:"",vod_remarks:Vt?"\u6587\u4EF6\u5939":`${Et?"\u{1F3AC} ":Tr?"\u{1F4DD} ":""}${ae(ht)}`,vod_tag:Vt?"folder":Et?"video":Tr?"subtitle":"file"};return Vt&&(xt.type_id=it,xt.type_name=At,xt.cate={id:it,name:At}),xt});return{page:ve,pagecount:Qe,limit:Re,total:$e,list:Ot}}catch(Me){return console.error("[WebDAV\u641C\u7D22] \u5931\u8D25:",Me.message),{page:ve,pagecount:1,limit:Re,total:0,list:[]}}}async function je(Ae,ge){let Ee=Ae.body||{},_e={server:Ee.server||r.server,path:Ee.path||r.path,username:Ee.username||r.username,password:Ee.password||r.password},ve=xNe({..._e,id:"test"});try{let Re=null;if(await ve.api({post(Ce,$e){Ce==="/init"&&(Re=$e)}}),!Re)throw new Error("WebDAV init route not registered");let Me=await Re({body:{}},ge);return{code:Me.success?0:500,message:Me.success?"\u8FDE\u63A5\u6210\u529F":Me.error||"\u8FDE\u63A5\u5931\u8D25"}}catch(Re){return{code:500,message:`\u8FDE\u63A5\u5931\u8D25: ${Re.message}`}}}return{meta:{key:`webdav_${r.id}`,name:`WebDAV ${r.name}`,type:3,version:f,author:"WebDAV\u589E\u5F3A\u7248",description:"\u652F\u6301\u65E0\u9650\u5C42\u7EA7\u6D4F\u89C8\u3001\u5B57\u5E55\u5339\u914D\u3001\u591A\u65B9\u6848\u64AD\u653E\u7684WebDAV\u9A71\u52A8\u6E90",supportSearch:!0},api:async Ae=>{Ae.post("/init",ie),Ae.post("/home",X),Ae.post("/category",ce),Ae.post("/detail",me),Ae.post("/play",Ne),Ae.post("/search",De),Ae.post("/test-connection",je),Ae.post("/debug",async(ge,Ee)=>{try{let{path:_e="/"}=ge.body||{},ve=await V(_e);return{success:!0,config:{name:r.name,server:r.server,basePath:s,hasAuth:!!r.username},currentPath:_e,totalItems:ve.length,items:ve.slice(0,10),videoCount:ve.filter(Re=>Re.isVideo).length,subtitleCount:ve.filter(Re=>Re.isSubtitle).length,folderCount:ve.filter(Re=>Re.isDir).length}}catch(_e){return{success:!1,error:_e.message,stack:_e.stack}}})}}}kr();var l$t="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",vyn=6e4,Syn=/\.(mp4|mkv|avi|mov|flv|wmv|m3u8|ts|rmvb|webm|m4v|mpg|mpeg|3gp|iso)$/i,Tyn="alist_tvbox",byn="\u{1F3AC} AT",Iyn=new Set(["img1.doubanio.com","img2.doubanio.com","img3.doubanio.com"]);function Ryn(e,t){return e?e.startsWith("http")?e:e.startsWith("/")?`${t}${e}`:`${t}/${e}`:""}function wNe(e,t){if(!e)return"";let r=Ryn(e,t);if(!t||!r.startsWith("http"))return r;try{let n=new URL(r);return Iyn.has(n.hostname)?`${t}/images?url=${r}`:r}catch{return r}}function Cyn(e,t){if(!Array.isArray(e))return e;for(let r of e)!r||typeof r!="object"||(r.vod_pic?r.vod_pic=wNe(r.vod_pic,t):r.VodPic&&(r.VodPic=wNe(r.VodPic,t)));return e}function d$t(e){let t=e||{},r=String(t.base_url||"http://127.0.0.1:4567").replace(/\/$/,""),n=String(t.token||""),s=String(t.custom_classes||""),i=String(t.file_base_url||r.replace(/:4567(?=\/|$)/,":5678")).replace(/\/$/,""),a=`/vod1/${n}`,o=`/play/${n}`;function c(Q){return String(Q||"").replace(/\/+/g,"/")}function u(Q){let ee=c(Q);return ee.startsWith("/")?ee:`/${ee}`}function l(Q){let ee=String(Q||"");try{return decodeURIComponent(ee.replace(/\+/g,"%20"))}catch{return ee}}function d(Q){let ee=String(Q||"").trim(),de=ee.split("$");if(de.length<3){let B=l(ee);B!==ee&&(ee=B,de=ee.split("$"))}return de.length<3?null:{raw:ee,drive:de[0],path:u(l(de[1])),type:de[2],parts:de}}function f(Q){let ee=String(Q||"").trim(),de=d(ee);return!de||de.type!=="1"?ee:(de.parts[1]=de.path,de.parts.join("$")||ee)}function h(Q){return Syn.test(String(Q||"").split(/[?#]/)[0])}function p(Q){let ee=c(String(Q||"")).split("/").filter(Boolean);return ee[ee.length-1]||"\u64AD\u653E"}function m(Q){return u(Q).split("/").map(ee=>ee?encodeURIComponent(ee):"").join("/")}function g(Q){return Q?`${i}/d${m(Q)}`:""}function _(Q,ee){let de=p(ee);return{vod_id:Q,vod_name:de,vod_pic:"",vod_tag:"file",vod_remarks:"",vod_content:ee,vod_play_from:"\u4E2B\u4ED9\u5973",vod_play_url:`${de}$${g(ee)}`}}function y(Q){return!Q||typeof Q!="object"?!1:Q.vod_tag==="folder"||Q.vod_remarks==="\u6587\u4EF6\u5939"||/folder\.png(?:$|[?#])/i.test(String(Q.vod_pic||""))}function E(Q){if(!Array.isArray(Q))return Q;for(let ee of Q){if(!y(ee))continue;let de=f(ee.vod_id||ee.type_id);de&&(ee.vod_id=de,ee.type_id=de,ee.type_name=ee.type_name||"AList\u76EE\u5F55",ee.cate=ee.cate||{})}return Q}function A(Q){return Q&&Q.list&&(E(Q.list),Cyn(Q.list,r)),Q}function v(Q){return Q&&typeof Q=="object"&&!Array.isArray(Q)}function T(Q){if(!Q)return{};if(v(Q))return Q;if(typeof Q=="string")try{let ee=JSON.parse(Q);return v(ee)?ee:{}}catch{return{}}return{}}async function C(Q,ee={}){let de={};for(let[k,J]of Object.entries(ee||{}))J==null||J===""||(de[k]=J);return(await Ye.get(`${r}${Q}`,{params:de,timeout:vyn,headers:{"User-Agent":l$t}})).data}function b(){if(!s)return[];try{let Q=JSON.parse(s);return Array.isArray(Q)?Q:[]}catch{return[]}}function x(Q,ee={}){return JSON.stringify({id:String(Q||"").trim(),meta:ee&&typeof ee=="object"?ee:{}})}function w(Q){try{let ee=JSON.parse(String(Q||""));if(ee&&typeof ee=="object"&&ee.id)return ee}catch{}return{id:String(Q||"").trim(),meta:{}}}function P(Q){if(!Q)return Q;let ee=String(Q).trim().replace(/[?&]sign=(&|$)/,(de,B)=>B==="&"?"&":"");return ee=ee.replace(":5234/",":5678/"),ee}function M(Q){return/^https?:\/\//i.test(String(Q||""))}function L(Q){let ee=P(Q);if(!ee||M(ee))return ee||"";try{return new URL(ee,`${r}/`).toString()}catch{return ee}}function U(Q){if(!Q)return{};if(typeof Q=="string")try{let ee=JSON.parse(Q);return ee&&typeof ee=="object"?ee:{}}catch{return{}}return Q&&typeof Q=="object"?Q:{}}function Y(Q={}){return{"User-Agent":l$t,Accept:"*/*","Accept-Encoding":"identity",Connection:"keep-alive",Referer:r,...Q}}async function $(Q,ee={}){if(!M(Q))return{ok:!0};try{let de=await Ye.get(Q,{timeout:15e3,responseType:"arraybuffer",maxRedirects:5,headers:{...ee,Range:"bytes=0-1023"},validateStatus:()=>!0}),B=String(de.headers?.["content-type"]||"").toLowerCase(),k=Number(de.status||0),J=Buffer.isBuffer(de.data)?de.data.toString("utf8",0,Math.min(de.data.length,512)):String(de.data||"").slice(0,512),D=B.includes("json")&&/"(?:code|status)"\s*:\s*(?:4|5)\d\d|require login|failed link|proxy not allowed/i.test(J),H=k===206||B.startsWith("video/")||B.includes("octet-stream")||B.includes("mpegurl")||B.includes("mp2t");return k>=200&&k<400&&H&&!D?{ok:!0,status:k,contentType:B}:k>=200&&k<400&&!D&&!B.includes("json")?{ok:!0,status:k,contentType:B}:{ok:!1,status:k,contentType:B,message:J||`HTTP ${k}`}}catch(de){return{ok:!1,message:de.message||String(de)}}}async function V(Q,ee){return{}}async function W(Q,ee){try{let de=Q.body.page||1,B=await C(a,{ac:"list",pg:String(de)}),k=b();return k.length>0&&(B.class=k),A(B),B}catch(de){return console.error("[AListTvbox] \u9996\u9875\u83B7\u53D6\u5931\u8D25:",de.message),{class:[],list:[]}}}async function G(Q,ee){try{let de=Q.body||{},B=de.id||de.tid||"",k=de.page||1,J=T(de.extend||de.filters||de.ext),D=Object.keys(J).length>0?JSON.stringify(J):"",H=J.sort||de.sort||"";if(!B)return{page:1,pagecount:0,total:0,list:[]};if(J.dir){let q=String(B).split("$"),z=c(String(J.dir));q.length>=3&&q[2]==="1"&&(q[1]=u(z),B=q.join("$"))}let K=await C(a,{ac:"videolist",t:String(f(B)),f:D,sort:H,pg:String(k)});return A(K),K}catch(de){return console.error("[AListTvbox] \u5206\u7C7B\u83B7\u53D6\u5931\u8D25:",de.message),{page:1,pagecount:0,total:0,list:[]}}}async function se(Q,ee){try{let de=Q.body||{},B=de.wd||"",k=de.page||1;if(!B.trim())return{page:1,pagecount:0,total:0,list:[]};let J=await C(a,{ac:"detail",wd:B,pg:String(k)});return A(J),J}catch(de){return console.error("[AListTvbox] \u641C\u7D22\u5931\u8D25:",de.message),{page:1,pagecount:0,total:0,list:[]}}}async function ue(Q,ee){try{let de=Q.body||{},B=w(de.id),k=f(B.id||"");if(!k)return{list:[]};let J=await C(a,{ac:"detail",ids:k});if(J&&Array.isArray(J.list)&&J.list.length===0){let D=d(k);D?.type==="1"&&h(D.path)&&(J.list=[_(k,D.path)])}if(J&&J.list){E(J.list);for(let D of J.list)if(D.vod_pic&&(D.vod_pic=wNe(D.vod_pic,r)),D.vod_play_from&&D.vod_play_url){let H=D.vod_play_url.split("$$$").map(q=>q.trim()).filter(Boolean),K=[];for(let q=0;qae.trim()).filter(Boolean),Z=[];for(let ae of z)if(ae.split("$").length>=2)Z.push(ae);else if(M(ae)){let ie=D.vod_name||D.name||`\u7B2C${Z.length+1}\u96C6`;Z.push(`${ie}$${ae}`)}else Z.push(ae);K.push(Z.join("#"))}D.vod_play_url=K.join("$$$")}}return J||{list:[]}}catch(de){let B=Q.body||{},k=w(B.id),J=f(k.id||""),D=d(J);return D?.type==="1"&&h(D.path)?{list:[_(J,D.path)]}:(console.error("[AListTvbox] \u8BE6\u60C5\u83B7\u53D6\u5931\u8D25:",de.message),{list:[]})}}async function te(Q,ee){try{let de=Q.body||{},k=w(de.id).id||"";if(!k)return{parse:0,url:"",header:{}};if(M(k)){let Z=L(k),ae=Y(),ne=await $(Z,ae);return ne.ok?{parse:0,url:Z,header:ae}:{parse:0,url:"",header:{},msg:`AListTvbox \u8FD4\u56DE\u7684\u76F4\u94FE\u4E0D\u53EF\u64AD\u653E\uFF1A${ne.message||ne.status||"unknown"}`}}let J=d(k);if(J?.type==="1"&&h(J.path)){let Z=g(J.path),ae=Y(),ne=await $(Z,ae);return ne.ok?{parse:0,url:Z,header:ae}:{parse:0,url:"",header:{},msg:`AListTvbox \u8DEF\u5F84\u76F4\u94FE\u4E0D\u53EF\u64AD\u653E\uFF1A${ne.message||ne.status||"unknown"}`}}let D=await C(o,{id:k}),H=typeof D=="string"?D:D?.url||D?.playUrl||D?.play_url||"",K=L(H),q=Y(U(D?.header));if(!K)return{parse:0,url:"",header:{},msg:D?.msg||D?.message||"AListTvbox \u672A\u8FD4\u56DE\u64AD\u653E\u5730\u5740"};let z=await $(K,q);return z.ok?{parse:0,url:K,header:q}:{parse:0,url:"",header:{},msg:`AListTvbox \u64AD\u653E\u5730\u5740\u4E0D\u53EF\u7528\uFF1A${z.message||z.status||"unknown"}`}}catch(de){return console.error("[AListTvbox] \u64AD\u653E\u5730\u5740\u83B7\u53D6\u5931\u8D25:",de.message),{parse:0,url:"",header:{}}}}return{meta:{key:Tyn,name:byn,type:3,version:"1.0.0",description:"AListTvbox",supportSearch:!0},api:async Q=>{Q.post("/init",V),Q.post("/home",W),Q.post("/category",G),Q.post("/detail",ue),Q.post("/play",te),Q.post("/search",se)}}}function bi(e){return async()=>(await e()).default}function xzt(){return String(process.env.ONLY_SPIDER_KEYS||"").split(",").map(e=>e.trim()).filter(Boolean)}var Rzt=[{match:["douban"],load:bi(()=>Promise.resolve().then(()=>(h$t(),f$t)))},{match:["zhuiju"],load:bi(()=>Promise.resolve().then(()=>(T$t(),S$t)))},{match:["zhuijujuhe"],load:bi(()=>Promise.resolve().then(()=>($$t(),F$t)))},{match:["pansou"],load:bi(()=>Promise.resolve().then(()=>(J$t(),X$t)))},{match:["tgsou"],load:bi(()=>Promise.resolve().then(()=>(a9t(),i9t)))},{match:["bili_all"],load:bi(()=>Promise.resolve().then(()=>(GQ(),yOe)))},{match:["bili_official","bili\u5B98"],load:bi(()=>Promise.resolve().then(()=>(fqt(),dqt)))},{match:["wanoujuhe","\u73A9\u5076\u805A\u5408"],load:bi(()=>Promise.resolve().then(()=>(lHt(),uHt)))},{match:["sharemount"],load:bi(()=>Promise.resolve().then(()=>(_jt(),gjt)))},{match:["mycloud"],load:bi(()=>Promise.resolve().then(()=>(jjt(),Vjt)))},{match:["panlian"],load:bi(()=>Promise.resolve().then(()=>(A2e(),iKt)))},{match:["filejin"],load:bi(()=>Promise.resolve().then(()=>(kz(),O2e)))},{match:["pan1"],load:async()=>(await Promise.resolve().then(()=>(GKt(),KKt))).default()},{match:["guangyaqsxy"],load:async()=>(await Promise.resolve().then(()=>(ZKt(),JKt))).default()},{match:["tgchannel"],load:bi(()=>Promise.resolve().then(()=>(NGt(),wGt)))},{match:["88kanqiu"],load:bi(()=>Promise.resolve().then(()=>(HGt(),qGt)))},{match:["live"],load:bi(()=>Promise.resolve().then(()=>(QGt(),YGt)))},{match:["guazi"],load:bi(()=>Promise.resolve().then(()=>(iQt(),sQt)))},{match:["muxi"],load:bi(()=>Promise.resolve().then(()=>($Qt(),FQt)))},{match:["alist_tvbox"],load:e=>ykn(e,"alist_tvbox",d$t,"AListTvbox")},{match:["dudb"],load:bi(()=>Promise.resolve().then(()=>(_zt(),gzt)))},{match:["js"],load:bi(()=>Promise.resolve().then(()=>(Ezt(),Azt)))},{match:["baseset"],load:bi(()=>Promise.resolve().then(()=>(Tzt(),Szt)))},{match:["push"],load:bi(()=>Promise.resolve().then(()=>(Izt(),bzt)))}];async function Akn(e){let t=xzt(),r=t.length>0?new Set(t):null,n=r?Rzt.filter(s=>s.match.some(i=>r.has(i))):Rzt;return(await Promise.all(n.map(s=>s.load(e)))).filter(Boolean)}async function wzt(){return await bi(()=>Promise.resolve().then(()=>(GQ(),yOe)))()}var XPe="20260712",Ekn={meta:{key:XPe,name:XPe,type:0},api:async e=>{e.get("/",async()=>({code:0,message:`This is the ${XPe} spider - always last in the list`,timestamp:new Date().toISOString(),version:"1.0.0"})),e.get("/home",async()=>({code:0,list:[]})),e.get("/category",async()=>({code:0,list:[]})),e.get("/detail",async()=>({code:0,list:[]})),e.get("/play",async()=>({code:0,url:"",header:{},extra:{}})),e.get("/search",async()=>({code:0,list:[]}))},check:()=>{}};function Czt(e){return`${e}_auto_${Date.now()}_${Math.random().toString(36).slice(2)}`}async function JPe(e,t,r,n){try{let s=await e.db.getObjectDefault(`/config/${t}`,[]);if(Array.isArray(s)&&s.length>0)return s.filter(a=>a&&a.enabled!==!1).map(a=>(a.id||(a.id=Czt(t)),r(a)));let i=e.config?.[t]||[];if(i.length>0){let a=i.map(o=>(o.id||(o.id=Czt(t)),o));return await e.db.push(`/config/${t}`,a),a.filter(o=>o.enabled!==!1).map(r)}}catch(s){console.error(`\u52A0\u8F7D ${n} \u914D\u7F6E\u5931\u8D25:`,s)}return[]}async function ykn(e,t,r,n){try{let s=await e.db.getObjectDefault(`/config/${t}`,null);if(Array.isArray(s)&&(s=s[0]||null,s?await e.db.push(`/config/${t}`,s):await e.db.delete(`/config/${t}`)),s&&typeof s=="object")return r(s);let i=e.config?.[t];if(i&&typeof i=="object"&&!Array.isArray(i))return await e.db.push(`/config/${t}`,i),r(i)}catch(s){console.error(`\u52A0\u8F7D ${n} \u914D\u7F6E\u5931\u8D25:`,s)}return null}async function KW(e){let t=await Akn(e);t.push(...await JPe(e,"emby",xUt,"Emby")),t.push(...await JPe(e,"alist",BUt,"Alist")),t.push(...await JPe(e,"webdav",xNe,"WebDAV")),(await qye(e)).forEach(o=>t.push(Wye(o.name,o.address))),(await Xye(e)).forEach(o=>t.push(sve(o.name,o.address))),(await cRt(e)).filter(o=>o&&o.enabled!==!1).forEach(o=>t.push(yRe(o))),t.push(Ekn);let i=xzt();if(i.length===0)return t;let a=new Set(i);return t.filter(o=>a.has(String(o?.meta?.key||"").trim()))}var GW=async e=>(await e.db.getObjectDefault("/sites",{}))?.list||e.config.sites.list,vkn=async(e,t)=>{await e.db.push("/sites/list",t)},Skn=async e=>{await e.db.delete("/sites/list")};async function ZPe(e){e.get("/list",async(t,r)=>{r.send({code:0,data:await GW(t.server)})}),e.put("/list",async(t,r)=>{await vkn(t.server,t.body.list),r.send({code:0})}),e.delete("/list",async(t,r)=>{await Skn(t.server),r.send({code:0})})}var Tkn="/spider";function bkn(e,t){return e<10?t.video.sites:e<20?t.read.sites:e<30?t.comic.sites:e<40?t.music.sites:e<50?t.pan.sites:null}async function Nzt(e){let t={video:{sites:[]},read:{sites:[]},comic:{sites:[]},music:{sites:[]},pan:{sites:[]},color:e.config?.color||[]};return(await KW(e)).forEach(n=>{let s=Object.assign({},n.meta);s.api=Tkn+"/"+s.key+"/"+s.type,s.key="nodejs_"+s.key;let i=bkn(n.meta.type,t);i&&i.push(s)}),t}function Ozt(e,t,{includeDisabled:r}){let n={};e.forEach(a=>n[a.key]=a);let s={},i=[];return t.forEach(a=>{let o=a.key;if(s[o]=!0,!n[o])return;let c={...n[o],name:a.name||n[o].name};r?i.push({...c,enable:a.enable,t4:a.t4,cms:a.cms}):a.enable&&i.push(c)}),e.forEach(a=>{s[a.key]||(r?i.push({...a,enable:!0,t4:a.t4,cms:a.cms}):i.push(a))}),i}function eLe(e,{key:t,label:r,allowDelete:n}){e.get(`/website/${t}/config`,async s=>{try{let i=await s.server.db.getObjectDefault(`/config/${t}`,[]);return(!i||i.length===0)&&s.server.config?.[t]&&(i=s.server.config[t]),{code:0,data:i}}catch(i){return console.error(`\u83B7\u53D6 ${r} \u914D\u7F6E\u5931\u8D25:`,i),{code:1,message:"\u83B7\u53D6\u914D\u7F6E\u5931\u8D25"}}}),e.put(`/website/${t}/config`,async(s,i)=>{try{await s.server.db.push(`/config/${t}`,s.body),i.send({code:0,message:`${r}\u914D\u7F6E\u4FDD\u5B58\u6210\u529F`})}catch(a){i.send({code:1,message:"\u4FDD\u5B58\u5931\u8D25: "+a.message})}}),n&&e.delete(`/website/${t}/config`,async(s,i)=>{try{await s.server.db.delete(`/config/${t}`),i.send({code:0,message:"\u5DF2\u91CD\u7F6E\u4E3A\u9ED8\u8BA4\u914D\u7F6E"})}catch(a){i.send({code:1,message:a.message})}})}function Ikn(e,{key:t,label:r}){e.get(`/website/${t}/config`,async n=>{try{let s=await n.server.db.getObjectDefault(`/config/${t}`,null);if(Array.isArray(s)&&(s=s[0]||null),!s||typeof s!="object"){let i=n.server.config?.[t];i&&typeof i=="object"&&!Array.isArray(i)?s=i:s={}}return{code:0,data:s}}catch(s){return console.error(`\u83B7\u53D6 ${r} \u914D\u7F6E\u5931\u8D25:`,s),{code:1,message:"\u83B7\u53D6\u914D\u7F6E\u5931\u8D25"}}}),e.put(`/website/${t}/config`,async(n,s)=>{try{let i=n.body||{},a={base_url:String(i.base_url||"").trim(),token:String(i.token||"").trim(),custom_classes:String(i.custom_classes||"").trim()};await n.server.db.push(`/config/${t}`,a),s.send({code:0,message:`${r}\u914D\u7F6E\u4FDD\u5B58\u6210\u529F`})}catch(i){s.send({code:1,message:"\u4FDD\u5B58\u5931\u8D25: "+i.message})}}),e.delete(`/website/${t}/config`,async(n,s)=>{try{await n.server.db.delete(`/config/${t}`),s.send({code:0,message:"\u5DF2\u91CD\u7F6E\u4E3A\u9ED8\u8BA4\u914D\u7F6E"})}catch(i){s.send({code:1,message:i.message})}})}async function tLe(e){e.get("/check",async(t,r)=>{r.send({run:!e.stop,version:"1.0.0",timestamp:new Date().toISOString()})}),e.get("/config",async(t,r)=>{try{let n=await Nzt(t.server),s=await GW(t.server);n.video.sites=Ozt(n.video.sites,s,{includeDisabled:!1}),n.video.danmuSearchUrl=`http://127.0.0.1:${t.server.address().port}/website/danmu/fe`,n.video.internalDanmuUiUrl=`http://127.0.0.1:${t.server.address().port}/internal-danmu/ui`,r.send(n)}catch(n){console.error("\u83B7\u53D6\u914D\u7F6E\u5931\u8D25:",n),r.code(500).send({error:"\u83B7\u53D6\u914D\u7F6E\u5931\u8D25"})}}),e.get("/full-config",async(t,r)=>{try{let n=await Nzt(t.server),s=await GW(t.server);n.video.sites=Ozt(n.video.sites,s,{includeDisabled:!0}),r.send(n)}catch(n){console.error("\u83B7\u53D6\u5B8C\u6574\u914D\u7F6E\u5931\u8D25:",n),r.code(500).send({error:"\u83B7\u53D6\u5B8C\u6574\u914D\u7F6E\u5931\u8D25"})}}),eLe(e,{key:"emby",label:"Emby",allowDelete:!1}),eLe(e,{key:"alist",label:"Alist",allowDelete:!0}),eLe(e,{key:"webdav",label:"WebDAV",allowDelete:!0}),Ikn(e,{key:"alist_tvbox",label:"AListTvbox"})}Pr();function Dzt(e){if(!e)return"";for(let t of[e,(()=>{try{return decodeURIComponent(e)}catch{return""}})()])if(t)try{let r=JSON.parse(t);if(r&&typeof r=="object")return r.url||r.base_url||r.baseUrl||r.backup_url?.[0]||r.backupUrl?.[0]||""}catch{}return""}async function Rkn(e,t){try{let{do:r,url:n,referer:s,aid:i,cid:a,qn:o,video_url:c,audio_url:u,video_track:l,audio_track:d,mode:f,duration:h}=e.query;if(!r)return t.code(400).send("Invalid parameters");if(r==="mpd"){let p=await wzt(),m=c?decodeURIComponent(c):"",g=u?decodeURIComponent(u):"",_=Dzt(l),y=Dzt(d);for(let C of[m,g,_,y]){if(!C)continue;let b=await jM(C);if(!b.ok)return t.code(400).send(`Forbidden upstream: ${b.reason}`)}let{proxy:E}=p,[A,v,T]=await E({do:r,aid:i,cid:a,qn:o,video_url:m,audio_url:g,video_track:l,audio_track:d,mode:f||"dash",duration:h||0});return t.header("Content-Type",v).header("Access-Control-Allow-Origin","*").header("Access-Control-Expose-Headers","Content-Type,Content-Length").code(A),t.send(T)}if(r==="image"){if(!n)return t.code(400).send("missing url");let p;try{p=decodeURIComponent(n)}catch{return t.code(400).send("invalid url encoding")}let m=await jM(p);if(!m.ok)return t.code(403).send(`Forbidden upstream: ${m.reason}`);let g={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",Accept:"image/*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8"};if(s)try{g.Referer=decodeURIComponent(s)}catch{}let _=await Se.get(p,{responseType:"stream",timeout:1e4,maxRedirects:3,headers:g});return _.headers["content-type"]&&t.header("Content-Type",_.headers["content-type"]),_.headers["content-length"]&&t.header("Content-Length",_.headers["content-length"]),_.headers["cache-control"]&&t.header("Cache-Control",_.headers["cache-control"]),t.send(_.data)}return t.code(400).send("Unsupported action")}catch(r){return console.error("\u4EE3\u7406\u9519\u8BEF:",r),t.code(500).send("Proxy error: "+r.message)}}async function rLe(e){e.get("/proxy",Rkn)}Pr();var Tc=we(require("fs"),1),eN=we(require("path"),1);Gt();Nd();jh();hm();sIe();var Ib=DC("router.danmu.video",{maxSize:100,ttl:10*60*1e3}),Cb=DC("router.danmu.episodeIndex",{maxSize:1e4,ttl:10*60*1e3}),l_=new Map,Ckn=8,xkn=800,wkn=400,Lzt=12*1e3,sLe=new rx(200),Pzt=setInterval(()=>{let e=Date.now();for(let[t,r]of l_.entries())e-(r?.createdAt||0)>Lzt*5&&l_.delete(t)},30*1e3);typeof Pzt?.unref=="function"&&Pzt.unref();var iLe={detailRequests:0,playRequests:0,detailCacheStores:0,episodeMappingOverwriteCount:0,episodeIndexHitCount:0,episodeIndexMissCount:0,videoCacheHitCount:0,videoCacheMissCount:0,mappingRebuildCount:0,fallbackUsedCount:0,fallbackSuccessCount:0,fallbackFailedCount:0,danmakuInjectedCount:0,danmakuOverwriteCount:0,invalidTitleSkipCount:0,blacklistSkipCount:0,autoPushDisabledSkipCount:0,proxyRouteSkipCount:0,replySentSkipCount:0,jsonParseErrorCount:0};function Ys(e,t=1){Object.prototype.hasOwnProperty.call(iLe,e)&&(iLe[e]+=t)}function Ey(e){return String(e?.url||"").match(/\/spider\/([^\/]+)\/\d+\/(detail|play)/)?.[1]||"unknown"}function oLe(e){return String(e?.url||"").endsWith("/detail")?"detail":String(e?.url||"").endsWith("/play")?"play":"unknown"}function Mzt(e,t,r){return`${Ey(e)}:${t}_${r}`}function Zw(e,t=""){if(!zW(e))return"";let r=e?.body||{};return`push:${String(r?.url||r?.vod_id||r?.id||r?.wd||t||"").trim()}`}function aLe(e,t=""){let r=`${String(e?.body?.flag||"")}_${String(e?.body?.id||"")}`,n=Zw(e,t);return n?`${n}:${r}`:r}function YW(e,t=""){let r=`${String(e?.body?.flag||"")}_${String(e?.body?.id||"")}`,n=Zw(e,t);return n?`${n}:${r}`:r}function Nkn(e,t=oLe(e)){let r=Ey(e),n=String(e?.body?.flag||""),s=String(e?.body?.id||"");return`${r}:${n}:${s}:${t}`}function Okn(e={}){sLe.push({ts:new Date().toISOString(),...e})}function ts(e,t={}){let r=t.phase||oLe(e);Okn({traceKey:Nkn(e,r),spiderKey:Ey(e),flag:String(e?.body?.flag||""),id:String(e?.body?.id||""),phase:r,status:t.status||"ok",reason:t.reason||"",...t})}function kzt(){let e=sLe.recent(50),t=e.reduce((s,i)=>{let a=String(i?.status||"unknown");return s[a]=(s[a]||0)+1,s},{}),r=e.reduce((s,i)=>{let a=String(i?.reason||i?.action||"unknown");return s[a]=(s[a]||0)+1,s},{}),n=Object.entries(r).sort((s,i)=>i[1]-s[1]).slice(0,10).map(([s,i])=>({reason:s,count:i}));return{cache:{videoCacheSize:Ib.size,episodeIndexCacheSize:Cb.size,autoPushContextSize:M5(),pendingAutoPushTaskCount:l_.size},counters:{...iLe},events:{totalBuffered:sLe.length,recentCount:e.length,statusBuckets:t,topReasons:n},recentEvents:e}}function Bzt(e=""){let t=String(e||"").trim();return t?/^(https?:\/\/|magnet:\?|ed2k:\/\/)/i.test(t)||/(?:pan\.quark\.cn|pan\.baidu\.com|aliyundrive\.com|alipan\.com|115\.com|123pan\.com|cloud\.189\.cn|drive\.uc\.cn)/i.test(t):!1}function Rb(e=""){let t=String(e||"").trim();return!!(!t||t==="undefined"||t==="null"||Bzt(t))}function QW(e=0){return new Promise(t=>setTimeout(t,e))}async function Dkn({maxAttempts:e=1,initialDelayMs:t=0,intervalMs:r=0}={}){let n=null,s=0,i=Date.now();t>0&&await QW(t);for(let a=1;a<=e;a++){s=a;try{let o=await Qr.getPlayInfo(),c=String(o?.title||"").trim();if(!Rb(c))return{title:c,attempts:s,durationMs:Date.now()-i};n=new Error(`empty title on attempt ${a}`)}catch(o){n=o}a0&&await QW(r)}throw Object.assign(n||new Error("play title unavailable"),{attempts:s,durationMs:Date.now()-i})}function zW(e){return Ey(e)==="push"}function nLe(e="",t=""){let r=String(e||"").trim(),n=String(t||"").trim();return!n||!r||r===n||Bzt(r)?!1:fl(r)!==fl(n)}function Pkn(e,t={},r=null){let n=String(e?.body?.flag||"").trim(),s=String(e?.body?.id||"").trim(),i=String(t?.flag||"").trim(),a=String(t?.id||"").trim(),o=r||VA(),c=String(o?.flag||"").trim(),u=String(o?.id||"").trim();return i&&a?i===n&&a===s:c&&u?c===n&&u===s:!1}function va(e,t,r={}){if(!process.env.DEBUG_PUSH_DANMU)return;let n={stage:t,spiderKey:Ey(e),isPushSpider:zW(e),flag:String(e?.body?.flag||""),id:String(e?.body?.id||""),url:String(e?.url||""),...r};Oe.info(`[PUSH_DANMU_TRACE] ${JSON.stringify(n)}`)}function Uzt(e,t,r,n="xml"){let s=Wi(n);return`http://127.0.0.1:${e}/danmu-proxy?name=${encodeURIComponent(t)}&episodeNumber=${encodeURIComponent(r)}&format=${encodeURIComponent(s)}`}function Fzt(e,t,r){let n=YW(e,t),s=fl(t);return aZe(n,{rawTitle:t,autoKey:s,episodeNumber:r.episodeNumber}),Oe.info(`[DanmuAutoPushFlow] \u5DF2\u4FDD\u5B58\u81EA\u52A8\u63A8\u9001\u4E0A\u4E0B\u6587: contextKey="${n}", autoKey="${s}"`),va(e,"auto_push_context_saved",{contextKey:n,autoKey:s,rawTitle:t,episodeNumber:r?.episodeNumber||""}),{contextKey:n,autoKey:s}}function Lkn(e,t="push_detail_reset"){if(Ey(e)!=="push")return;let n=Zw(e),s=0;for(let[o]of Ib.entries())String(o).startsWith("video_push_")&&(Ib.delete(o),s++);let i=0;for(let[o]of Cb.entries())String(o).startsWith("push:")&&(Cb.delete(o),i++);let a=0;for(let[o]of l_.entries())(!n||String(o||"").startsWith(n))&&(l_.delete(o),a++);va(e,"push_state_cleared",{reason:t,pushSessionKey:n,clearedVideoCache:s,clearedEpisodeIndex:i,clearedPendingTasks:a})}function Mkn(e,{episodeKey:t,vodName:r,episodeInfo:n,port:s,playContextSnapshot:i=null,danmuFormat:a="xml"}){let o=aLe(e,r),c=zW(e),u=i?{...i}:null,l=String(u?.title||n?.name||r||"").trim(),d=Date.now(),f=`${o}:${d}:${Math.random().toString(36).slice(2,8)}`;va(e,"deferred_schedule_enter",{taskKey:o,taskToken:f,episodeKey:t,pushSessionKey:Zw(e,r),autoPushContextKey:YW(e,r),vodName:r,episodeName:n?.episodeName||"",episodeNumber:n?.episodeNumber||"",port:s,snapshotTitle:l,snapshotFlag:String(u?.flag||""),snapshotId:String(u?.id||"")}),l_.set(o,{token:f,createdAt:d,episodeKey:t,vodName:r});let h=()=>{let m=l_.get(o);return!m||m.token!==f||Date.now()-d>Lzt},p=(async()=>{Ys("fallbackUsedCount");try{let m="",g=null,_="",y=Ckn,E=xkn,A=wkn;E>0&&await QW(E);for(let b=1;b<=y;b++){if(h()){ts(e,{action:"deferred_push_cancelled",status:"skip",reason:"task_replaced_or_expired",episodeKey:t,vodName:r,taskKey:o,taskToken:f,attempt:b});return}try{let x=await Qr.getPlayInfo(),w=String(x?.title||"").trim(),P=Pkn(e,x,u),M=VA();if(va(e,"deferred_getPlayInfo_candidate",{taskKey:o,taskToken:f,episodeKey:t,vodName:r,episodeNumber:n?.episodeNumber||"",attempt:b,candidateTitle:w,snapshotTitle:l,requestFlag:String(e?.body?.flag||""),requestId:String(e?.body?.id||""),playInfoRaw:x?JSON.stringify(x):"",playInfoFlag:String(x?.flag||""),playInfoId:String(x?.id||""),playInfoMatched:P,localContextRaw:JSON.stringify(M||{}),localFlag:String(M?.flag||""),localId:String(M?.id||""),localTitle:String(M?.title||""),localEpisodeKey:String(M?.episodeKey||""),snapshotContextRaw:JSON.stringify(u||{}),snapshotFlag:String(u?.flag||""),snapshotId:String(u?.id||"")}),!Rb(w))if(c&&!P){if(!Rb(l)&&!nLe(r,l)){m=l,g={attempts:b,durationMs:E+Math.max(0,b-1)*A},_="snapshot_title_on_playinfo_mismatch",va(e,"deferred_getPlayInfo_accept",{taskKey:o,taskToken:f,episodeKey:t,vodName:r,episodeNumber:n?.episodeNumber||"",attempt:b,acceptedTitle:m,acceptReason:_,requestFlag:String(e?.body?.flag||""),requestId:String(e?.body?.id||""),playInfoRaw:x?JSON.stringify(x):"",playInfoFlag:String(x?.flag||""),playInfoId:String(x?.id||""),localContextRaw:JSON.stringify(M||{}),localFlag:String(M?.flag||""),localId:String(M?.id||""),localTitle:String(M?.title||""),snapshotContextRaw:JSON.stringify(u||{}),snapshotFlag:String(u?.flag||""),snapshotId:String(u?.id||""),snapshotTitle:l});break}va(e,"deferred_getPlayInfo_reject_stale",{taskKey:o,taskToken:f,episodeKey:t,vodName:r,episodeNumber:n?.episodeNumber||"",attempt:b,candidateTitle:w,rejectReason:"playinfo_mismatch",requestFlag:String(e?.body?.flag||""),requestId:String(e?.body?.id||""),playInfoRaw:x?JSON.stringify(x):"",playInfoFlag:String(x?.flag||""),playInfoId:String(x?.id||""),localContextRaw:JSON.stringify(M||{}),localFlag:String(M?.flag||""),localId:String(M?.id||""),localTitle:String(M?.title||""),snapshotContextRaw:JSON.stringify(u||{}),snapshotFlag:String(u?.flag||""),snapshotId:String(u?.id||""),snapshotTitle:l}),ts(e,{action:"deferred_push_reject_stale_title",status:"skip",reason:"playinfo_mismatch",episodeKey:t,vodName:r,taskKey:o,rawTitle:w,finalTitle:w,fallbackUsed:!0,fallbackAttempts:b})}else if(c&&nLe(r,w)){if(!Rb(l)&&!nLe(r,l)){m=l,g={attempts:b,durationMs:E+Math.max(0,b-1)*A},_="snapshot_title_on_stale_playinfo",va(e,"deferred_getPlayInfo_accept",{taskKey:o,taskToken:f,episodeKey:t,vodName:r,episodeNumber:n?.episodeNumber||"",attempt:b,acceptedTitle:m,acceptReason:_,requestFlag:String(e?.body?.flag||""),requestId:String(e?.body?.id||""),playInfoRaw:x?JSON.stringify(x):"",playInfoFlag:String(x?.flag||""),playInfoId:String(x?.id||""),localContextRaw:JSON.stringify(M||{}),localFlag:String(M?.flag||""),localId:String(M?.id||""),localTitle:String(M?.title||""),snapshotContextRaw:JSON.stringify(u||{}),snapshotFlag:String(u?.flag||""),snapshotId:String(u?.id||""),snapshotTitle:l});break}va(e,"deferred_getPlayInfo_reject_stale",{taskKey:o,taskToken:f,episodeKey:t,vodName:r,episodeNumber:n?.episodeNumber||"",attempt:b,candidateTitle:w,rejectReason:"stale_title",requestFlag:String(e?.body?.flag||""),requestId:String(e?.body?.id||""),playInfoRaw:x?JSON.stringify(x):"",playInfoFlag:String(x?.flag||""),playInfoId:String(x?.id||""),localContextRaw:JSON.stringify(M||{}),localFlag:String(M?.flag||""),localId:String(M?.id||""),localTitle:String(M?.title||""),snapshotContextRaw:JSON.stringify(u||{}),snapshotFlag:String(u?.flag||""),snapshotId:String(u?.id||""),snapshotTitle:l}),ts(e,{action:"deferred_push_reject_stale_title",status:"skip",reason:"stale_title",episodeKey:t,vodName:r,taskKey:o,rawTitle:w,finalTitle:w,fallbackUsed:!0,fallbackAttempts:b})}else{let L=VA();m=w||String(L?.title||"").trim(),g={attempts:b,durationMs:E+Math.max(0,b-1)*A},_=w?"playInfo_title":"local_context_title",va(e,"deferred_getPlayInfo_accept",{taskKey:o,taskToken:f,episodeKey:t,vodName:r,episodeNumber:n?.episodeNumber||"",attempt:b,acceptedTitle:m,acceptReason:_,requestFlag:String(e?.body?.flag||""),requestId:String(e?.body?.id||""),playInfoRaw:x?JSON.stringify(x):"",playInfoFlag:String(x?.flag||""),playInfoId:String(x?.id||""),localContextRaw:JSON.stringify(L||{}),localFlag:String(L?.flag||""),localId:String(L?.id||""),localTitle:String(L?.title||"")});break}}catch(x){let w=VA();va(e,"deferred_getPlayInfo_error",{taskKey:o,taskToken:f,episodeKey:t,vodName:r,episodeNumber:n?.episodeNumber||"",attempt:b,requestFlag:String(e?.body?.flag||""),requestId:String(e?.body?.id||""),localContextRaw:JSON.stringify(w||{}),localFlag:String(w?.flag||""),localId:String(w?.id||""),localTitle:String(w?.title||""),error:x?.message||String(x||"")})}b0&&await QW(A)}if(!m){let b=VA();throw va(e,"deferred_getPlayInfo_exhausted",{taskKey:o,taskToken:f,episodeKey:t,vodName:r,episodeNumber:n?.episodeNumber||"",maxAttempts:y,requestFlag:String(e?.body?.flag||""),requestId:String(e?.body?.id||""),localContextRaw:JSON.stringify(b||{}),localFlag:String(b?.flag||""),localId:String(b?.id||""),localTitle:String(b?.title||""),exhaustedReason:"no_acceptable_title_after_max_attempts"}),Object.assign(new Error(`empty title on attempt ${y}`),{attempts:y,durationMs:E+Math.max(0,y-1)*A})}if(h()){ts(e,{action:"deferred_push_cancelled",status:"skip",reason:"task_replaced_before_push",episodeKey:t,vodName:r,taskKey:o,taskToken:f});return}let v=String(m||"").trim();n.name=v;let T=Uzt(s,v,n.episodeNumber,a);va(e,"deferred_push_ready",{taskKey:o,taskToken:f,episodeKey:t,vodName:r,episodeNumber:n?.episodeNumber||"",finalName:v,acceptedSource:_,danmuProxyUrl:T,danmuFormat:a}),await Qr.pushDanmu(T),Ys("fallbackSuccessCount");let{autoKey:C}=Fzt(e,v,n);Oe.info(`[DanmuAutoPushFlow] \u540E\u53F0\u8865\u63A8\u5F39\u5E55\u6210\u529F: vodName="${r}", rawTitle="${v}", episodeNumber="${n.episodeNumber}", format="${a}", taskKey="${o}", danmuProxyUrl="${T}"`),ts(e,{action:"deferred_push_success",reason:"deferred_push_success",episodeKey:t,vodName:r,rawTitle:v,finalTitle:v,episodeNumber:n.episodeNumber,autoKey:C,taskKey:o,danmuProxyUrl:T,acceptedSource:_,fallbackUsed:!0,fallbackAttempts:g?.attempts||0,fallbackDurationMs:g?.durationMs||0})}catch(m){Ys("fallbackFailedCount"),Oe.error("[AutoPush] \u540E\u53F0\u8865\u63A8\u83B7\u53D6\u6807\u9898\u5931\u8D25:",m.message),ts(e,{action:"deferred_push_failed",status:"error",reason:"deferred_push_failed",episodeKey:t,vodName:r,error:m.message,taskKey:o,fallbackUsed:!0,fallbackAttempts:m.attempts||0,fallbackDurationMs:m.durationMs||0,fallbackError:m.message})}finally{l_.get(o)?.token===f&&l_.delete(o)}})();ts(e,{action:"deferred_push_scheduled",reason:"deferred_push_scheduled",episodeKey:t,vodName:r,taskKey:o,taskToken:f,episodeNumber:n.episodeNumber})}function kkn(e,t){let r;try{r=JSON.parse(t)}catch(u){return Ys("jsonParseErrorCount"),ts(e,{action:"detail_skip_json_parse_failed",status:"error",reason:"json_parse_failed",error:u.message}),t}let n=r.list?.[0];if(!n)return ts(e,{action:"detail_skip_missing_vodInfo",status:"skip",reason:"missing_vodInfo"}),t;if(!n.vod_play_from||!n.vod_play_url)return ts(e,{action:"detail_skip_missing_play_fields",status:"skip",reason:"missing_play_fields",vodName:n.vod_name}),t;let s=n.vod_name,i=Ey(e);i==="push"&&Lkn(e,"push_detail_enter"),va(e,"detail_enter",{vodName:s,playFrom:String(n.vod_play_from||""),playUrlPreview:String(n.vod_play_url||"").slice(0,300)});let a=`video_${i}_${s}`,o=new Map,c=n.vod_play_from.split("$$$")||[];return n.vod_play_url.split("$$$").filter(Boolean).forEach((u,l)=>{u.split("#").forEach(d=>{let[f,h]=d.split("$"),p=Mzt(e,c[l],h),m=Cb.get(p);m&&m!==s&&(Ys("episodeMappingOverwriteCount"),Oe.info(`[DanmuAutoPushFlow] \u8986\u76D6\u65E7\u5267\u96C6\u6620\u5C04: episodeKey="${p}", from="${m}", to="${s}"`),ts(e,{action:"episode_mapping_overwrite",reason:"mapping_overwrite",episodeKey:p,vodName:s,previousVodName:m,videoCacheKey:a,mappingOverwrite:!0})),o.set(p,{name:s,episodeNumber:BI(f),episodeName:f}),va(e,"detail_episode_mapped",{vodName:s,episodeKey:p,line:c[l],episodeName:f,episodeNumber:BI(f),rawId:h}),Cb.set(p,s)})}),Ib.set(a,o),Ys("detailCacheStores"),Oe.info(`[DanmuAutoPushFlow] \u5DF2\u7F13\u5B58\u8BE6\u60C5\u5267\u96C6\u6620\u5C04: spiderKey="${i}", vodName="${s}", episodeCount=${o.size}`),ts(e,{action:"detail_cache_store",reason:"detail_cache_store",vodName:s,videoCacheKey:a,episodeCount:o.size}),t}async function Bkn(e,t,r="xml"){let n;try{n=JSON.parse(t)}catch(g){return Ys("jsonParseErrorCount"),ts(e,{action:"play_skip_json_parse_failed",status:"error",reason:"json_parse_failed",error:g.message}),t}if(!(n.url||n.url?.length||n.urls?.length))return ts(e,{action:"play_skip_no_media_url",status:"skip",reason:"no_media_url"}),t;let s=Mzt(e,e.body.flag,e.body.id),i=Cb.get(s),a=Ey(e);if(va(e,"play_enter",{episodeKey:s,taskKey:aLe(e,i||""),pushSessionKey:Zw(e,i||""),autoPushContextKey:YW(e,i||""),initialVodName:i||"",requestFlag:String(e?.body?.flag||""),requestId:String(e?.body?.id||"")}),i){Ys("episodeIndexHitCount");let g=Ib.get(`video_${a}_${i}`);g?.has(s)&&Ys("videoCacheHitCount"),g?.has(s)||(Oe.warn(`[AutoPush] \u53D1\u73B0\u5931\u6548\u5267\u96C6\u6620\u5C04\uFF0C\u51C6\u5907\u91CD\u67E5: episodeKey=${s}, vodName=${i}`),i=null)}else Ys("episodeIndexMissCount");if(!i){let g=!1;for(let[_,y]of Ib.entries())if(String(_).startsWith(`video_${a}_`)&&y.has(s)){i=String(_).slice(`video_${a}_`.length),Cb.set(s,i),g=!0,Ys("mappingRebuildCount"),Ys("videoCacheHitCount"),Oe.info(`[DanmuAutoPushFlow] \u901A\u8FC7\u89C6\u9891\u7F13\u5B58\u91CD\u5EFA\u5267\u96C6\u6620\u5C04: episodeKey="${s}", vodName="${i}"`),ts(e,{action:"episode_mapping_rebuild",reason:"mapping_rebuild",episodeKey:s,vodName:i,videoCacheKey:_,mappingRebuilt:!0});break}g||Ys("videoCacheMissCount")}if(!i)return Oe.warn(`[AutoPush] \u672A\u627E\u5230 vodName: episodeKey=${s}`),ts(e,{action:"play_skip_missing_vodName",status:"skip",reason:"missing_vodName",episodeKey:s}),t;let o=`video_${a}_${i}`,c=Ib.get(o);if(!c)return Ys("videoCacheMissCount"),Oe.warn(`[AutoPush] \u89C6\u9891\u7F13\u5B58\u7F3A\u5931: vodName=${i}, videoCacheKey=${o}`),ts(e,{action:"play_skip_missing_videoCache",status:"skip",reason:"missing_videoCache",episodeKey:s,vodName:i,videoCacheKey:o}),t;let u=c.get(s);if(!u)return Oe.warn(`[AutoPush] \u672A\u627E\u5230 episodeInfo: episodeKey=${s}, vodName=${i}`),ts(e,{action:"play_skip_missing_episodeInfo",status:"skip",reason:"missing_episodeInfo",episodeKey:s,vodName:i}),t;va(e,"play_episode_resolved",{episodeKey:s,vodName:i,episodeName:u?.episodeName||"",episodeNumber:u?.episodeNumber||"",cachedName:u?.name||""});let l=LIt({spiderKey:a,flag:String(e?.body?.flag||""),id:String(e?.body?.id||""),episodeKey:s,vodName:String(i||""),episodeName:String(u?.episodeName||""),episodeNumber:String(u?.episodeNumber||""),title:String(u?.name||i||"")});va(e,"play_context_updated",{episodeKey:s,taskKey:aLe(e,i||""),pushSessionKey:Zw(e,i||""),autoPushContextKey:YW(e,i||""),vodName:i,localFlag:String(e?.body?.flag||""),localId:String(e?.body?.id||""),localTitle:String(u?.name||i||"")});let d=String(u.name||"").trim(),f=zW(e);if(!f&&Rb(d)){Ys("fallbackUsedCount");try{let g=await Dkn();Rb(g.title)||(d=g.title,u.name=g.title,Ys("fallbackSuccessCount"),ts(e,{action:"title_fallback_success",reason:"fallback_success",episodeKey:s,vodName:i,rawTitle:g.title,finalTitle:g.title,fallbackUsed:!0,fallbackAttempts:g.attempts,fallbackDurationMs:g.durationMs}))}catch(g){Ys("fallbackFailedCount"),Oe.error("[AutoPush] getPlayInfo \u83B7\u53D6\u6807\u9898\u5931\u8D25:",g.message),ts(e,{action:"title_fallback_failed",status:"error",reason:"fallback_failed",episodeKey:s,vodName:i,error:g.message,fallbackUsed:!0,fallbackAttempts:g.attempts||0,fallbackDurationMs:g.durationMs||0,fallbackError:g.message})}}if(f||Rb(d)){if(n.extra||(n.extra={}),f){va(e,"push_clear_stale_danmaku",{episodeKey:s,vodName:i,oldDanmaku:String(n.extra.danmaku||"")});try{await Qr.clearDanmu()}catch{}n.extra.danmaku=""}return Ys("invalidTitleSkipCount"),Mkn(e,{episodeKey:s,vodName:i,episodeInfo:u,port:e.server.address().port,playContextSnapshot:l,danmuFormat:r}),ts(e,{action:"play_deferred_push_pending_title",status:"skip",reason:f?"push_deferred_only":"invalid_title_deferred",episodeKey:s,vodName:i,rawTitle:d}),t}n.extra||(n.extra={}),n.extra.danmaku&&(Ys("danmakuOverwriteCount"),Oe.info(`[DanmuAutoPushFlow] \u8986\u76D6\u5DF2\u6709 danmaku: episodeKey="${s}", old="${n.extra.danmaku}"`),ts(e,{action:"danmaku_overwrite",reason:"danmaku_overwrite",episodeKey:s,vodName:i,oldDanmaku:n.extra.danmaku,overwroteExistingDanmaku:!0}));let h=e.server.address().port,p=Uzt(h,d,u.episodeNumber,r);Oe.info(`[DanmuAutoPushFlow] \u6CE8\u5165\u5F39\u5E55\u4EE3\u7406: vodName="${i}", rawTitle="${d}", episodeNumber="${u.episodeNumber}", format="${r}", flag="${e.body.flag}", id="${e.body.id}", danmuProxyUrl="${p}"`),n.extra.danmaku=p;let{autoKey:m}=Fzt(e,d,u);return ts(e,{action:"danmaku_injected",reason:"danmaku_injected",episodeKey:s,vodName:i,rawTitle:d,finalTitle:d,episodeNumber:u.episodeNumber,autoKey:m,danmuProxyUrl:p}),JSON.stringify(n)}function cLe(e){e.addHook("onSend",async(t,r,n)=>{try{if(va(t,"hook_enter",{replySent:!!r?.sent,payloadType:typeof n}),!t.url.includes("/spider/"))return ts(t,{action:"hook_skip_non_spider",phase:"unknown",status:"skip",reason:"non_spider_route"}),n;if(t.url.includes("/proxy/"))return Ys("proxyRouteSkipCount"),ts(t,{action:"hook_skip_proxy_route",status:"skip",reason:"proxy_route"}),n;if(r.sent)return Ys("replySentSkipCount"),ts(t,{action:"hook_skip_reply_sent",status:"skip",reason:"reply_sent"}),n;let s=oLe(t);s==="detail"&&Ys("detailRequests"),s==="play"&&Ys("playRequests");let i=await uh(t.server);if(!i||!i.autoPush)return Ys("autoPushDisabledSkipCount"),ts(t,{action:"hook_skip_autoPush_disabled",status:"skip",reason:"autoPush_disabled"}),n;let a=Wi(i.format),o=i.autoPushBlacklist||[],c=t.url.match(/\/spider\/([^\/]+)\/\d+\/(detail|play)/);if(c&&o.includes(c[1]))return Ys("blacklistSkipCount"),ts(t,{action:"hook_skip_blacklisted",status:"skip",reason:"blacklisted"}),n;if(t.url.endsWith("/detail"))return kkn(t,n);if(t.url.endsWith("/play"))return await Bkn(t,n,a)}catch(s){ts(t,{action:"hook_error",status:"error",reason:"hook_error",error:s.message}),Oe.error(s)}return n})}var qzt="127.0.0.1",Hzt=9321,Ukn="87654321",$zt=eN.default.resolve(process.cwd(),"runtime","danmu_api","run","danmu_api.status.json"),Vzt=new Set(["LOCALCACHEVALID","REDISVALID","LOCALREDISVALID","AIVALID"]),jzt=new Set(["DEPLOYPLATFORM"]),Fkn=new Set([...Vzt,...jzt]),$kn={LOCALCACHEVALID:"\u8BE5\u5B57\u6BB5\u4E3A\u8FD0\u884C\u72B6\u6001\uFF0C\u53EA\u8BFB\uFF1B\u672C\u5730\u7F13\u5B58\u53EF\u7528\u6027\u7531\u8FD0\u884C\u65F6\u81EA\u52A8\u63A2\u6D4B\u3002",REDISVALID:"\u8BE5\u5B57\u6BB5\u4E3A\u8FD0\u884C\u72B6\u6001\uFF0C\u53EA\u8BFB\uFF1B\u8BF7\u6539 UPSTASH_REDIS_REST_URL / UPSTASH_REDIS_REST_TOKEN \u6765\u5F71\u54CD Redis \u8FDE\u901A\u6027\u3002",LOCALREDISVALID:"\u8BE5\u5B57\u6BB5\u4E3A\u8FD0\u884C\u72B6\u6001\uFF0C\u53EA\u8BFB\uFF1B\u8BF7\u6539 LOCAL_REDIS_URL \u6765\u5F71\u54CD\u672C\u5730 Redis \u8FDE\u901A\u6027\u3002",AIVALID:"\u8BE5\u5B57\u6BB5\u4E3A\u8FD0\u884C\u72B6\u6001\uFF0C\u53EA\u8BFB\uFF1B\u8BF7\u6539 AI_BASE_URL / AI_MODEL / AI_API_KEY \u540E\u7531\u8FD0\u884C\u65F6\u81EA\u52A8\u9A8C\u8BC1\u3002",DEPLOYPLATFORM:"\u8BE5\u5B57\u6BB5\u4E3A\u8FD0\u884C\u72B6\u6001\uFF0C\u53EA\u8BFB\uFF1B\u5F53\u524D\u503C\u7531\u90E8\u7F72\u73AF\u5883\u51B3\u5B9A\u3002"},qkn=new Set(["PROXY_URL","TMDB_API_KEY","AI_API_KEY","UPSTASH_REDIS_REST_URL","UPSTASH_REDIS_REST_TOKEN","LOCAL_REDIS_URL","DEPLOY_PLATFROM_ACCOUNT","DEPLOY_PLATFROM_PROJECT","DEPLOY_PLATFROM_TOKEN","TOKEN","ADMIN_TOKEN"]);function WW(e){let t=e?.config||{},r=t.danmuBuiltin?.host||qzt,n=t.danmuBuiltin?.port||Hzt;return`http://${r}:${n}`}function Hkn(e){return(e?.config||{}).danmuBuiltin?.host||qzt}function Vkn(e){return(e?.config||{}).danmuBuiltin?.port||Hzt}function wp(e){return(e?.config||{}).danmuBuiltin?.token||Ukn}function Kzt(e,t=""){let r=WW(e),n=wp(e),s=String(t||"").startsWith("/")?t:`/${t}`;return`${r}/${n}${s}`}var jkn=/^[A-Za-z_][A-Za-z0-9_]*$/;function dLe(e){return typeof e=="string"&&jkn.test(e)}function Kkn(){let e=eN.default.dirname(resolveInternalDanmuOverridesPath());return Tc.default.existsSync(e)||Tc.default.mkdirSync(e,{recursive:!0}),e}async function p3(){let e=globalThis.__internalDanmuOverrideDb;if(e&&typeof e.getObjectDefault=="function")try{let r=await e.getObjectDefault("/internalDanmu/overrides",{});return r&&typeof r=="object"?r:{}}catch{return{}}let t=resolveInternalDanmuOverridesPath();if(!Tc.default.existsSync(t))return{};try{let r=Tc.default.readFileSync(t,"utf8");return r.trim()?JSON.parse(r):{}}catch{return{}}}async function Gzt(e){let t=globalThis.__internalDanmuOverrideDb;if(t&&typeof t.push=="function")return await t.push("/internalDanmu/overrides",e,!0),"db:/internalDanmu/overrides";Kkn();let r=resolveInternalDanmuOverridesPath();return Tc.default.writeFileSync(r,JSON.stringify(e,null,2),"utf8"),r}function Gkn(e){if(typeof e!="string")return e;let t=e.trim();if(!t)return e;if(t.startsWith("[")&&t.endsWith("]")||t.startsWith("{")&&t.endsWith("}"))try{return JSON.parse(t)}catch{return e}return t==="true"?!0:t==="false"?!1:/^-?\d+(\.\d+)?$/.test(t)?Number(t):e}function hLe(e){return e==null||e===""?"":Array.isArray(e)?e.join(","):typeof e=="object"?JSON.stringify(e):String(e)}function Ykn(e){let t={};if(!e||!Tc.default.existsSync(e))return t;let r=Tc.default.readFileSync(e,"utf8");for(let n of r.split(/\r?\n/)){let s=n.trim();if(!s||s.startsWith("#"))continue;let i=s.indexOf("=");i!==-1&&(t[s.slice(0,i).trim()]=s.slice(i+1))}return t}function fLe(e,t,r){if(!e||!t)return!1;let n=eN.default.dirname(e);Tc.default.existsSync(n)||Tc.default.mkdirSync(n,{recursive:!0}),Tc.default.existsSync(e)||Tc.default.writeFileSync(e,"","utf8");let i=Tc.default.readFileSync(e,"utf8").split(/\r?\n/),a=r==null||r==="",o=hLe(r),c=!1,u=[];for(let l of i){let d=l.trim();if(!d||d.startsWith("#")){u.push(l);continue}let f=d.match(/^([^=]+)=/);if(f&&f[1].trim()===t){c=!0,a||u.push(`${t}=${o}`);continue}u.push(l)}return!a&&!c&&(u.length&&u[u.length-1]!==""&&u.push(""),u.push(`${t}=${o}`)),Tc.default.writeFileSync(e,u.join(` +`),"utf8"),!0}function Qkn(){try{if(!Tc.default.existsSync($zt))return null;let e=Tc.default.readFileSync($zt,"utf8"),t=e.trim()?JSON.parse(e):null;return t&&typeof t=="object"?t:null}catch{return null}}function pLe(){let e=eN.default.resolve(process.cwd(),"runtime","danmu_api","config",".env"),t=Qkn(),r=typeof t?.envPath=="string"?t.envPath.trim():"";return r&&eN.default.resolve(r)===e?r:e}async function zkn(e){try{let t=pLe(),r=Ykn(t),n=new Set(Object.keys(e||{}));for(let i of n)dLe(i)&&fLe(t,i,e[i]);let s=globalThis.__internalDanmuLastOverrides;if(s&&typeof s=="object")for(let i of Object.keys(s))n.has(i)||Object.prototype.hasOwnProperty.call(r||{},i)&&dLe(i)&&fLe(t,i,"");return globalThis.__internalDanmuLastOverrides={...e||{}},globalThis.__internalDanmuRuntimeEnvPath=t,t}catch{return null}}async function Wkn(e,t,r,n="set"){if(!e||!t)return{ok:!1,skipped:!0,reason:"missing_server_or_key"};let s=n==="del"?"/api/env/del":n==="add"?"/api/env/add":"/api/env/set",i=n==="del"?{key:t}:{key:t,value:hLe(r)};try{let a=await Se({url:Kzt(e,s),method:"POST",data:i,responseType:"json",validateStatus:()=>!0,headers:{"content-type":"application/json"},timeout:8e3});return{ok:a.status>=200&&a.status<300&&a.data?.success!==!1,status:a.status,data:a.data}}catch(a){return{ok:!1,error:a}}}async function Xkn(e){if(!e)return{ok:!1,skipped:!0,reason:"missing_server"};try{let t=await Se({url:Kzt(e,"/api/cache/clear"),method:"POST",data:{},responseType:"json",validateStatus:()=>!0,headers:{"content-type":"application/json"},timeout:8e3});return{ok:t.status>=200&&t.status<300&&t.data?.success!==!1,status:t.status,data:t.data}}catch(t){return{ok:!1,error:t}}}async function XW(){let e=await p3(),t={...qs.env||{}};for(let[r,n]of Object.entries(e))if(!mLe(r)){if(n==null||n===""){delete t[r];continue}t[r]=hLe(n)}return qs.env=t,globalThis.__internalDanmuOverrides=e,await zkn(e),qs.reInit()}async function Jkn(e){let t=await p3();if(!e||typeof e!="object"||!Object.keys(t).length)return e;let r={...e};r.envs={...e.envs||{}},r.originalEnvVars={...e.originalEnvVars||{}},r.categorizedEnvVars={...e.categorizedEnvVars||{}};for(let[n,s]of Object.entries(t))if(!mLe(n)){r.envs[n]=s,r.originalEnvVars[n]=s;for(let i of Object.keys(r.categorizedEnvVars)){let a=Array.isArray(r.categorizedEnvVars[i])?r.categorizedEnvVars[i]:[];r.categorizedEnvVars[i]=a.map(o=>o&&o.key===n?{...o,value:s}:o)}}return r}function Zkn(){let e=globalThis.__internalDanmuOverrideDb;return e&&typeof e.getObjectDefault=="function"?"db:/internalDanmu/overrides":resolveInternalDanmuOverridesPath()}function e4n(){return globalThis.__internalDanmuRuntimeEnvPath||pLe()}var t4n=new Set(["DANMU_OUTPUT_FORMAT","CONVERT_COLOR","COLOR_POOL","CONVERT_TOP_BOTTOM_TO_SCROLL","DANMU_SIMPLIFIED_TRADITIONAL","DANMU_LIMIT","GROUP_MINUTE","DANMU_OFFSET","LIKE_SWITCH","COMMENT_CACHE_MINUTES","SEARCH_CACHE_MINUTES"]);function r4n(e=""){let t=[];return qs.searchCache instanceof Map&&(qs.searchCache=new Map,t.push("searchCache")),qs.commentCache instanceof Map&&(qs.commentCache=new Map,t.push("commentCache")),qs.lastSelectMap instanceof Map&&(qs.lastSelectMap=new Map,t.push("lastSelectMap")),qs.requestHistory instanceof Map&&(qs.requestHistory=new Map,t.push("requestHistory")),t.length&&console.log("[InternalDanmuRoute] cleared runtime caches after env change",{reasonKey:e,cleared:t}),t}function n4n(e){let t=String(e||"").trim().toUpperCase();return!t||!t4n.has(t)?[]:r4n(t)}async function s4n(e){let t=kzt(),r=await p3(),n=await uh(e).catch(()=>null),s={autoPushEnabled:!!(n&&n.autoPush),autoPushBlacklistSize:Array.isArray(n?.autoPushBlacklist)?n.autoPushBlacklist.length:0,internalDanmuHost:Hkn(e),internalDanmuPort:Vkn(e),internalDanmuOverrideCount:Object.keys(r||{}).length,internalDanmuOverridesStore:Zkn(),internalDanmuRuntimeEnvStore:e4n()},i=t?.counters||{},a=t?.cache||{},o=t?.events||{},c=[],u=[];return(i.fallbackFailedCount||0)>0&&(c.push("fallback_failed_detected"),u.push({code:"fallback_failed_detected",severity:"warn",value:i.fallbackFailedCount||0})),(i.jsonParseErrorCount||0)>0&&(c.push("json_parse_errors_detected"),u.push({code:"json_parse_errors_detected",severity:"warn",value:i.jsonParseErrorCount||0})),(i.videoCacheMissCount||0)>(i.videoCacheHitCount||0)&&(i.videoCacheMissCount||0)>3&&(c.push("video_cache_miss_high"),u.push({code:"video_cache_miss_high",severity:"warn",value:i.videoCacheMissCount||0})),(i.episodeIndexMissCount||0)>(i.episodeIndexHitCount||0)&&(i.episodeIndexMissCount||0)>3&&(c.push("episode_index_miss_high"),u.push({code:"episode_index_miss_high",severity:"warn",value:i.episodeIndexMissCount||0})),s.internalDanmuOverrideCount>20&&(c.push("override_count_high"),u.push({code:"override_count_high",severity:"warn",value:s.internalDanmuOverrideCount})),(a.pendingAutoPushTaskCount||0)>5&&(c.push("pending_autopush_tasks_high"),u.push({code:"pending_autopush_tasks_high",severity:"warn",value:a.pendingAutoPushTaskCount||0})),(i.invalidTitleSkipCount||0)>3&&u.push({code:"invalid_title_skip_present",severity:"info",value:i.invalidTitleSkipCount||0}),(i.blacklistSkipCount||0)>0&&u.push({code:"blacklist_skip_present",severity:"info",value:i.blacklistSkipCount||0}),(o.recentCount||0)===0&&u.push({code:"no_recent_events",severity:"info",value:0}),{version:2,enhancer:t,config:s,summary:{requests:{detail:i.detailRequests||0,play:i.playRequests||0},injection:{injected:i.danmakuInjectedCount||0,overwritten:i.danmakuOverwriteCount||0,invalidTitleSkipped:i.invalidTitleSkipCount||0},fallback:{used:i.fallbackUsedCount||0,success:i.fallbackSuccessCount||0,failed:i.fallbackFailedCount||0},cache:a,events:o},health:{status:c.length?"warn":"ok",warnings:c,findings:u}}}async function i4n(e,t){let r=await p3();r[e]=Gkn(t);let n=await Gzt(r);return await XW(),n}async function a4n(e){let t=await p3();delete t[e];let r=await Gzt(t);try{let n=pLe();fLe(n,e,""),globalThis.__internalDanmuRuntimeEnvPath=n}catch{}return qs.env&&typeof qs.env=="object"&&delete qs.env[e],await XW(),r}async function uLe(e,t,r){try{let n=e.body||{},s=n.key,i=n.value;if(!s)return t.code(400).send({success:!1,message:"\u7F3A\u5C11\u73AF\u5883\u53D8\u91CF\u540D\u79F0"});if(!dLe(s))return t.code(400).send({success:!1,message:`\u975E\u6CD5\u73AF\u5883\u53D8\u91CF\u540D\u79F0: ${s}\uFF08\u4EC5\u5141\u8BB8\u5B57\u6BCD/\u6570\u5B57/\u4E0B\u5212\u7EBF\uFF0C\u4E14\u4E0D\u4EE5\u6570\u5B57\u5F00\u5934\uFF09`});if(r!=="del"&&mLe(s))return t.code(400).send({success:!1,readonly:!0,message:u4n(s),key:s});let a=r==="del"?await a4n(s):await i4n(s,i),o=n4n(s),c=await Wkn(e.server,s,i,r),u=null;o.length&&(u=await Xkn(e.server));let l;if(r==="del")try{l={ok:!0,currentValue:(await Yzt(e.server))?.envs?.[s]}}catch(d){l={ok:!1,currentValue:void 0,error:d}}else l=await d4n(e.server,s,i);if(!l.ok){let d=l.reason==="derived_runtime_state"?"\uFF08\u8BE5\u5B57\u6BB5\u5C5E\u4E8E\u8FD0\u884C\u6001\u6D3E\u751F\u72B6\u6001\uFF0Craw config \u4E0D\u4FDD\u8BC1\u76F4\u63A5\u7B49\u4E8E\u8F93\u5165\u503C\uFF09":"";return t.code(202).send({success:!1,pending:!0,message:`\u73AF\u5883\u53D8\u91CF ${s} \u5DF2\u5199\u5165 overrides\uFF0C\u4F46 danmu_api \u8FD0\u884C\u65F6\u5C1A\u672A\u5B8C\u6210\u5237\u65B0${d}`,filePath:a,expectedValue:r==="del"?"":i,currentLiveValue:l.currentValue,liveCheckError:l.error?.message||"",clearedCaches:o,livePush:c,liveCacheClear:u,liveCheckReason:l.reason||""})}return t.send({success:!0,message:r==="del"?`\u73AF\u5883\u53D8\u91CF ${s} \u5220\u9664\u6210\u529F\u5E76\u5DF2\u5B9E\u65F6\u751F\u6548`:`\u73AF\u5883\u53D8\u91CF ${s} ${r==="add"?"\u6DFB\u52A0":"\u8BBE\u7F6E"}\u6210\u529F\u5E76\u5DF2\u5B9E\u65F6\u751F\u6548`,filePath:a,currentLiveValue:l.currentValue,clearedCaches:o,livePush:c,liveCacheClear:u,liveCheckReason:l.reason||""})}catch(n){return t.code(500).send({success:!1,message:`\u73AF\u5883\u53D8\u91CF${r==="del"?"\u5220\u9664":r==="add"?"\u6DFB\u52A0":"\u8BBE\u7F6E"}\u5931\u8D25: ${n.message}`})}}async function h3(e,t){let r=WW(e.server),n=e.raw.url.includes("?")?e.raw.url.slice(e.raw.url.indexOf("?")):"",s=`${r}${t}${n}`,i=e.method||"GET";return await Se({url:s,method:i,data:["GET","HEAD"].includes(i.toUpperCase())?void 0:e.body,responseType:"text",transformResponse:[o=>o],validateStatus:()=>!0,headers:{...e.headers,host:void 0,connection:void 0,"content-length":void 0},timeout:3e4})}async function Yzt(e){let t=WW(e),r=wp(e),n=await Se({url:`${t}/${r}/api/config`,method:"GET",responseType:"json",validateStatus:()=>!0,timeout:5e3});if(n.status!==200||!n.data||typeof n.data!="object")throw new Error(`\u8BFB\u53D6 danmu live config \u5931\u8D25: HTTP ${n.status}`);return n.data}function m3(e){return String(e||"").trim().toUpperCase()}function o4n(e){return typeof e=="string"&&e.length>0&&/^\*+$/.test(e)}function c4n(e){return qkn.has(m3(e))}function Qzt(e){return Vzt.has(m3(e))}function zzt(e){return jzt.has(m3(e))}function mLe(e){return Fkn.has(m3(e))}function u4n(e){return $kn[m3(e)]||"\u8BE5\u5B57\u6BB5\u4E3A\u8FD0\u884C\u72B6\u6001\uFF0C\u53EA\u8BFB\u3002"}function l4n(e,t,r){return t==null||t===""?r==null||r==="":c4n(e)&&o4n(r)?!0:Qzt(e)||zzt(e)?!1:String(r)===String(t)}async function d4n(e,t,r,{timeoutMs:n=4e3,intervalMs:s=150}={}){let i=Date.now()+n,a,o=null;for(;Date.now()setTimeout(c,s))}return{ok:!1,currentValue:a,error:o}}async function lLe(e,t,r){try{let n=WW(e.server),s=e.raw.url.includes("?")?e.raw.url.slice(e.raw.url.indexOf("?")):"",i=`${n}${r}${s}`,a=e.method||"GET",o=a.toUpperCase(),c=!["GET","HEAD"].includes(o),u=c&&e.body!==void 0&&e.body!==null&&!(typeof e.body=="string"&&e.body.length===0),l={};for(let[f,h]of Object.entries(e.headers||{})){let p=String(f).toLowerCase();["host","connection","content-length","accept-encoding","content-type"].includes(p)||h!==void 0&&(l[f]=h)}(u||c)&&(l["content-type"]="application/json");let d=await Se({url:i,method:a,data:c?u?e.body:{}:void 0,responseType:"arraybuffer",validateStatus:()=>!0,headers:l,timeout:3e4});return t.code(d.status),Object.entries(d.headers||{}).forEach(([f,h])=>{if(h===void 0)return;let p=String(f).toLowerCase();["transfer-encoding","content-encoding","connection","content-length"].includes(p)||t.header(f,h)}),t.header("Cache-Control","no-store"),t.send(d.data||Buffer.alloc(0))}catch(n){return t.code(502).send({code:1,message:`internal danmu proxy failed: ${n.message}`})}}async function gLe(e){e.route({method:["GET","POST","PUT","DELETE","OPTIONS"],url:"/internal-danmu/ui-inline.js",handler:async(t,r)=>(r.header("Content-Type","application/javascript; charset=utf-8"),r.header("Cache-Control","no-store"),r.send(`(() => { + const patch = () => { + if (typeof window.checkAdminToken !== 'function') return false; + const original = window.checkAdminToken; + window.checkAdminToken = function patchedCheckAdminToken() { + try { + const path = String(window.location && window.location.pathname || ''); + if (path === '/internal-danmu/ui' || path.startsWith('/internal-danmu/ui/')) { + return true; + } + } catch {} + return original.apply(this, arguments); + }; + + if (typeof window.editEnv === 'function' && !window.editEnv.__internalDanmuPatched) { + const originalEditEnv = window.editEnv; + window.editEnv = function patchedEditEnv(index, clickEvent) { + const safeEvent = clickEvent || window.event || { target: null }; + return originalEditEnv.call(this, index, safeEvent); + }; + window.editEnv.__internalDanmuPatched = true; + } + + if (typeof window.deleteEnv === 'function' && !window.deleteEnv.__internalDanmuPatched) { + const originalDeleteEnv = window.deleteEnv; + window.deleteEnv = function patchedDeleteEnv(index, clickEvent) { + const safeEvent = clickEvent || window.event || { target: null }; + return originalDeleteEnv.call(this, index, safeEvent); + }; + window.deleteEnv.__internalDanmuPatched = true; + } + + if (typeof window.renderEnvList === 'function' && !window.renderEnvList.__internalDanmuPatched) { + const originalRenderEnvList = window.renderEnvList; + window.renderEnvList = function patchedRenderEnvList() { + return originalRenderEnvList.apply(this, arguments); + }; + window.renderEnvList.__internalDanmuPatched = true; + try { window.renderEnvList(); } catch {} + } + + if (typeof window.confirmClearCache === 'function' && !window.confirmClearCache.__internalDanmuPatched) { + window.confirmClearCache = async function patchedConfirmClearCache() { + const configCheck = await window.checkDeployPlatformConfig(); + if (!configCheck.success) { + window.hideClearCacheModal(); + window.customAlert(configCheck.message); + return; + } + + window.hideClearCacheModal(); + window.showLoading('\u6B63\u5728\u6E05\u7406\u7F13\u5B58...', '\u6E05\u9664\u4E2D\uFF0C\u8BF7\u7A0D\u5019'); + window.addLog('\u5F00\u59CB\u6E05\u7406\u7F13\u5B58', 'info'); + + try { + const response = await fetch(window.buildApiUrl('/api/cache/clear', true), { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({}) + }); + const result = await response.json(); + if (result.success) { + window.updateLoadingText('\u6E05\u7406\u5B8C\u6210', '\u7F13\u5B58\u5DF2\u6210\u529F\u6E05\u9664'); + window.addLog('\u7F13\u5B58\u6E05\u7406\u5B8C\u6210', 'success'); + window.addLog('\u2705 \u7F13\u5B58\u6E05\u7406\u6210\u529F\uFF01\u5DF2\u6E05\u7406: ' + JSON.stringify(result.clearedItems), 'success'); + } else { + window.updateLoadingText('\u6E05\u7406\u5931\u8D25', '\u8BF7\u67E5\u770B\u65E5\u5FD7\u4E86\u89E3\u8BE6\u60C5'); + window.addLog('\u7F13\u5B58\u6E05\u7406\u5931\u8D25: ' + result.message, 'error'); + } + } catch (error) { + window.updateLoadingText('\u6E05\u7406\u5931\u8D25', '\u7F51\u7EDC\u9519\u8BEF\u6216\u670D\u52A1\u4E0D\u53EF\u7528'); + window.addLog('\u7F13\u5B58\u6E05\u7406\u8BF7\u6C42\u5931\u8D25: ' + error.message, 'error'); + } finally { + setTimeout(() => window.hideLoading(), 10); + } + }; + window.confirmClearCache.__internalDanmuPatched = true; + } + return true; + }; + + if (!patch()) { + let tries = 0; + const timer = setInterval(() => { + tries += 1; + if (patch() || tries > 80) clearInterval(timer); + }, 100); + } +})();`))}),e.route({method:["GET","POST","PUT","DELETE","OPTIONS"],url:"/internal-danmu/ui",handler:async(t,r)=>{let n=wp(t.server);console.log("[InternalDanmuRoute] hit /internal-danmu/ui",{query:t.query||{},token:n});let s=await h3(t,`/${n}`),i=s.data||"";return typeof i=="string"&&(i=i.replaceAll('onclick="editEnv(${index})"','onclick="editEnv(${index}, event)"').replaceAll('onclick="deleteEnv(${index})"','onclick="deleteEnv(${index}, event)"').replace("function editEnv(index) {","function editEnv(index, clickEvent) {").replace("const editButton = event.target; // \u83B7\u53D6\u5F53\u524D\u70B9\u51FB\u7684\u7F16\u8F91\u6309\u94AE","const editButton = clickEvent?.target || event?.target || null; // \u83B7\u53D6\u5F53\u524D\u70B9\u51FB\u7684\u7F16\u8F91\u6309\u94AE").replace("function deleteEnv(index) {","function deleteEnv(index, clickEvent) {").replace("const deleteButton = event.target; // \u83B7\u53D6\u5F53\u524D\u70B9\u51FB\u7684\u5220\u9664\u6309\u94AE","const deleteButton = clickEvent?.target || event?.target || null; // \u83B7\u53D6\u5F53\u524D\u70B9\u51FB\u7684\u5220\u9664\u6309\u94AE"),i.includes("")&&(i=i.replace("",''))),r.code(s.status||200),Object.entries(s.headers||{}).forEach(([a,o])=>{if(o===void 0)return;let c=String(a).toLowerCase();["transfer-encoding","content-encoding","connection","content-length"].includes(c)||r.header(a,o)}),r.header("Content-Type","text/html; charset=utf-8"),r.send(i)}}),e.route({method:["POST"],url:"/internal-danmu/api/env/set",handler:async(t,r)=>uLe(t,r,"set")}),e.route({method:["POST"],url:"/internal-danmu/api/env/add",handler:async(t,r)=>uLe(t,r,"add")}),e.route({method:["POST"],url:"/internal-danmu/api/env/del",handler:async(t,r)=>uLe(t,r,"del")}),e.route({method:["GET"],url:"/internal-danmu/api/diagnostics",handler:async(t,r)=>r.send({success:!0,data:await s4n(t.server)})}),e.route({method:["GET"],url:"/internal-danmu/api/config",handler:async(t,r)=>{let n=wp(t.server),s=await h3(t,`/${n}/api/config`),i=s.data;try{i=JSON.stringify(await Jkn(JSON.parse(s.data||"{}")))}catch{}return r.code(s.status||200),Object.entries(s.headers||{}).forEach(([a,o])=>{if(o===void 0)return;let c=String(a).toLowerCase();["transfer-encoding","content-encoding","connection","content-length"].includes(c)||r.header(a,o)}),r.header("Content-Type","application/json; charset=utf-8"),r.header("Cache-Control","no-store"),r.send(i)}}),e.route({method:["GET"],url:"/internal-danmu/api/logs",handler:async(t,r)=>{let n=wp(t.server),s=await h3(t,`/${n}/api/logs`);return r.code(s.status||200),Object.entries(s.headers||{}).forEach(([i,a])=>{if(a===void 0)return;let o=String(i).toLowerCase();["transfer-encoding","content-encoding","connection","content-length"].includes(o)||r.header(i,a)}),r.header("Content-Type","text/plain; charset=utf-8"),r.header("Cache-Control","no-store"),r.send(s.data||"")}}),e.route({method:["POST"],url:"/internal-danmu/api/logs/clear",handler:async(t,r)=>{let n=wp(t.server),s=await h3(t,`/${n}/api/logs/clear`);return r.code(s.status||200),Object.entries(s.headers||{}).forEach(([i,a])=>{if(a===void 0)return;let o=String(i).toLowerCase();["transfer-encoding","content-encoding","connection","content-length"].includes(o)||r.header(i,a)}),r.header("Content-Type","application/json; charset=utf-8"),r.header("Cache-Control","no-store"),r.send(s.data||"")}}),e.route({method:["POST"],url:"/internal-danmu/api/cache/clear",handler:async(t,r)=>{let n=wp(t.server),s=await h3(t,`/${n}/api/cache/clear`);return r.code(s.status||200),Object.entries(s.headers||{}).forEach(([i,a])=>{if(a===void 0)return;let o=String(i).toLowerCase();["transfer-encoding","content-encoding","connection","content-length"].includes(o)||r.header(i,a)}),r.header("Content-Type","application/json; charset=utf-8"),r.header("Cache-Control","no-store"),r.send(s.data||"")}}),e.route({method:["GET","POST","PUT","DELETE","OPTIONS"],url:"/internal-danmu/api",handler:async(t,r)=>{let n=wp(t.server);return console.log("[InternalDanmuRoute] hit /internal-danmu/api",{method:t.method,token:n}),lLe(t,r,`/${n}/api`)}}),e.route({method:["GET","POST","PUT","DELETE","OPTIONS"],url:"/:token/api",handler:async(t,r)=>{let n=wp(t.server);return(t.params.token||"")!==n?r.code(404).send({message:`Route ${t.method}:${t.raw.url} not found`,error:"Not Found",statusCode:404}):(console.log("[InternalDanmuRoute] hit /:token/api",{method:t.method,token:n}),lLe(t,r,`/${n}/api`))}}),e.route({method:["GET","POST","PUT","DELETE","OPTIONS"],url:"/:token/api/*",handler:async(t,r)=>{let n=wp(t.server);if((t.params.token||"")!==n)return r.code(404).send({message:`Route ${t.method}:${t.raw.url} not found`,error:"Not Found",statusCode:404});let s=t.params["*"]?`/${n}/api/${t.params["*"]}`:`/${n}/api`;return console.log("[InternalDanmuRoute] hit /:token/api/*",{suffix:s,method:t.method,token:n}),lLe(t,r,s)}})}kr();Dn();ta();async function ALe(e){e.get("/internal/http/agent-stats",async()=>{try{let t=Kye();return{code:0,data:{summary:{https:{totalSockets:Object.values(t.https.sockets).reduce((n,s)=>n+s,0),totalFreeSockets:Object.values(t.https.freeSockets).reduce((n,s)=>n+s,0),totalRequests:Object.values(t.https.requests).reduce((n,s)=>n+s,0),hosts:Object.keys(t.https.sockets).length},http:{totalSockets:Object.values(t.http.sockets).reduce((n,s)=>n+s,0),totalFreeSockets:Object.values(t.http.freeSockets).reduce((n,s)=>n+s,0),totalRequests:Object.values(t.http.requests).reduce((n,s)=>n+s,0),hosts:Object.keys(t.http.sockets).length}},details:t}}}catch(t){return{code:-1,message:t.message}}}),e.get("/internal/cache/stats",async()=>{try{return{code:0,data:tve()}}catch(t){return{code:-1,message:t.message}}}),e.post("/internal/cache/clear",async t=>{try{let{spider:r}=t.query;return eve(r),{code:0,message:r?`Cleared cache for spider: ${r}`:"Cleared all cache"}}catch(r){return{code:-1,message:r.message}}}),e.post("/internal/cache/reset-stats",async()=>{try{return rve(),{code:0,message:"Cache stats reset successfully"}}catch(t){return{code:-1,message:t.message}}}),e.get("/internal/concurrency/stats",async()=>{try{return{code:0,data:uRe()}}catch(t){return{code:-1,message:t.message}}}),e.get("/internal/inflight/stats",async()=>{try{return{code:0,data:Gye()}}catch(t){return{code:-1,message:t.message}}}),e.get("/internal/probe/filejin-pow",async t=>{try{let r=await Promise.resolve().then(()=>(kz(),O2e)),{solvePowChallenge:n,solvePowSync:s,solvePowParallel:i}=r.__test||{};if(!n||!s||!i)return{code:-1,message:"filejin.__test missing solve* exports"};let a="https://www.xn--rhqp87dfoiv9a830g.com",o="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",c=Date.now(),l=await(await fetch(`${a}/`,{headers:{"User-Agent":o}})).text(),d=Date.now()-c,f=l.match(/const json=(\{.*?\});const jss=/s);if(!f)return{code:-1,message:"no PoW payload in HTML",fetchMs:d,htmlLen:l.length};let h=JSON.parse(f[1]),p=String(t.query?.mode||"both"),m={fetchMs:d,diff:h.diff,challengeLen:h.challenge.length,saltLen:h.salt.length};if(p==="sync"||p==="both"){let g=Date.now(),_=s(h.challenge,h.salt,h.diff);m.sync={ms:Date.now()-g,remainingCount:_.remainingCount,nonce:_.nonce}}if(p==="parallel"||p==="both"){let g=Date.now(),_=await i(h.challenge,h.salt,h.diff,2);m.parallel2={ms:Date.now()-g,remainingCount:_.remainingCount,nonce:_.nonce}}return{code:0,data:m}}catch(r){return{code:-1,message:r?.message||String(r),stack:String(r?.stack||"").split(` +`).slice(0,6).join(" | ")}}}),e.get("/internal/probe/worker-threads",async()=>{try{let{runWorkerProbe:t}=await Promise.resolve().then(()=>(Zzt(),Jzt));return{code:0,data:await t()}}catch(t){return{code:-1,message:t?.message||String(t),stack:String(t?.stack||"").split(` +`).slice(0,6).join(" | ")}}}),e.post("/internal/concurrency/reset-stats",async()=>{try{return cRe(),{code:0,message:"Concurrency stats reset successfully"}}catch(t){return{code:-1,message:t.message}}})}ta();var h4n="/spider";async function tX(e,{db:t,config:r}){globalThis.__internalDanmuOverrideDb=t,await XW();let n=process.env.DISABLE_SPIDER_BOOT_CHECKS==="1";e.addHook("preHandler",async a=>{let o=oRe(a.url);if(!o)return;let c=await lK(o).acquire();a.__spiderLimiterRelease=c});let s=a=>{let o=a.__spiderLimiterRelease;if(o){a.__spiderLimiterRelease=null;try{o()}catch{}}};e.addHook("onResponse",async a=>{s(a)}),e.addHook("onError",async a=>{s(a)}),e.addHook("onTimeout",async a=>{s(a)}),e.addHook("onRequestAbort",async a=>{s(a)}),(await KW({db:t,config:r})).forEach(a=>{let o=h4n+"/"+a.meta.key+"/"+a.meta.type;e.register(a.api,{prefix:o}),n||a.check?.(e)}),n&&console.warn("[router] \u5DF2\u7981\u7528\u542F\u52A8\u671F spider.check \u9884\u63A2\u6D3B\uFF08DISABLE_SPIDER_BOOT_CHECKS=1\uFF09"),e.get("/assets/*",async(a,o)=>{let c=String(a.params["*"]||"").replace(/^\/+/,""),u=eX.default.resolve(process.cwd(),"src/website/assets"),l=eX.default.resolve(u,c);return!l.startsWith(u+eX.default.sep)&&l!==u?o.code(403).send({message:"Forbidden"}):!ZW.default.existsSync(l)||!ZW.default.statSync(l).isFile()?o.code(404).send({message:"Not Found"}):o.send(ZW.default.createReadStream(l))}),e.register(tLe),await rLe(e),await gLe(e),await ALe(e),e.get("/danmu-proxy",$It),cLe(e)}var bX=we(gWt(),1);Pr();Pr();var AWt=we(yE(),1),d_=we(ki(),1);Cs();qd();var kLe="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0",_Wt=[],BLe=null,w4n=async e=>{let t=String(e.config?.quark?.cookie||""),r=d_.default.enc.Hex.stringify(d_.default.MD5(t)).toString(),n=await e.db.getObjectDefault("/quark",{});return n[r]?n[r]:t?(await e.db.push(`/quark/${r}`,t),t):""},N4n=async(e,t)=>{let r=d_.default.enc.Hex.stringify(d_.default.MD5(e.config.quark.cookie)).toString();await e.db.push(`/quark/${r}`,t)};async function ULe(e){e.get("/qrcode",async(t,r)=>{let n=await Se.get("https://uop.quark.cn/cas/ajax/getTokenForQrcodeLogin?client_id=532&v=1.2",{headers:{"User-Agent":kLe}});_Wt=n0(n.headers["set-cookie"]),BLe=n.data.data.members.token;let s="https://su.quark.cn/4_eMHBJ?token="+BLe+"&client_id=532&ssb=weblogin&uc_param_str=&uc_biz_str=S%3Acustom%7COPT%3ASAREA%400%7COPT%3AIMMERSIVE%401%7COPT%3ABACK_BTN_STYLE%400",i=await AWt.default.toBuffer(s,{width:300,height:300});r.send(i)}),e.post("/cookie",(t,r)=>{Se.get(`https://uop.quark.cn/cas/ajax/getServiceTicketByQrcodeToken?client_id=532&v=1.2&token=${BLe}`).then(n=>n.data.status===2e6?{data:n.data.data,cookies:_Wt}:Promise.reject(new Error(`service_ticket\u83B7\u53D6\u5931\u8D25: ${n.data.message}`))).then(async({data:n,cookies:s})=>{let i=await Se.get(`https://pan.quark.cn/account/info?st=${n.members.service_ticket}&fr=pc&platform=pc`,{headers:{"User-Agent":kLe,Cookie:s.join("")}});return i.headers["set-cookie"]?s.concat(n0(i.headers["set-cookie"])):Promise.reject(new Error(`\u4E2A\u4EBAPus\u83B7\u53D6\u5931\u8D25\uFF1A${i.data.message}`))}).then(async n=>{let s=await Se.get("https://drive-pc.quark.cn/1/clouddrive/share/sharepage/dir?pr=ucpro&fr=pc&uc_param_str=&aver=1",{headers:{"User-Agent":kLe,Cookie:n.join("")}});if(s.headers["set-cookie"])r.send({code:0,data:n.concat(n0(s.headers["set-cookie"])).join("")});else return Promise.reject(new Error(`\u4E2A\u4EBAPuus\u83B7\u53D6\u5931\u8D25\uFF1A${s.data.message}`))}).catch(n=>{console.error(n),r.send({code:-1,message:n?.message||"\u626B\u7801\u767B\u5F55\u5931\u8D25"})})}),e.get("/cookie",async(t,r)=>{r.send({code:0,data:await w4n(t.server)})}),e.put("/cookie",async(t,r)=>{await N4n(t.server,t.body.cookie),r.send({code:0})}),e.get("/config",async(t,r)=>{try{let n=d_.default.enc.Hex.stringify(d_.default.MD5(t.server.config.quark.cookie)).toString(),s=await t.server.db.getObjectDefault(`/quark/settings/${n}`,{chunkSize:512*1024,poolSize:8,useMultithread:!0,enableFast:!1});r.send({code:0,data:s})}catch(n){console.error("\u83B7\u53D6\u5938\u514B\u5206\u7247\u914D\u7F6E\u5931\u8D25:",n),r.send({code:-1,message:n?.message||"\u83B7\u53D6\u914D\u7F6E\u5931\u8D25"})}}),e.put("/config",async(t,r)=>{try{let n=fE(t.body,{chunkSize:524288,poolSize:8,useMultithread:!0,enableFast:!1},{requireEnableFast:!0});if(!n)return r.send({code:-1,message:"\u53C2\u6570\u683C\u5F0F\u9519\u8BEF"});let s=d_.default.enc.Hex.stringify(d_.default.MD5(t.server.config.quark.cookie)).toString();await t.server.db.push(`/quark/settings/${s}`,n),r.send({code:0,message:"\u914D\u7F6E\u5DF2\u4FDD\u5B58"})}catch(n){console.error("\u4FDD\u5B58\u5938\u514B\u5206\u7247\u914D\u7F6E\u5931\u8D25:",n),r.send({code:-1,message:n?.message||"\u4FDD\u5B58\u914D\u7F6E\u5931\u8D25"})}})}Q1e();Pr();var FLe=we(ki(),1);_4();var EWt=null,O4n=null,cX="token",D4n=async e=>{let t=String(e.config?.uc?.token||""),r=FLe.default.enc.Hex.stringify(FLe.default.MD5(t)).toString(),n=await e.db.getObjectDefault("/uc",{});return n[cX]?n[cX]:n[r]?n[r]:t?(await e.db.push(`/uc/${cX}`,t),t):""},P4n=async(e,t)=>{await e.db.push(`/uc/${cX}`,t)};async function $Le(e){e.get("/qrcode",async(t,r)=>{try{let n="/oauth/authorize",s=Math.floor(Date.now()/1e3).toString()+"000",i=Yc.DeviceID,a=tx(i,s),o=aj("GET",n,s,ei.signKey),c={Accept:"application/json, text/plain, */*","User-Agent":"Mozilla/5.0 (Linux; U; Android 13; zh-cn; M2004J7AC Build/UKQ1.231108.001) AppleWebKit/533.1 (KHTML, like Gecko) Mobile Safari/533.1","x-pan-tm":s,"x-pan-token":o,"x-pan-client-id":ei.clientID,...Yc.AccessToken?{Authorization:`Bearer ${Yc.AccessToken}`}:{}},u=await Se.get(`${ei.api}${n}`,{params:{req_id:a,access_token:Yc.AccessToken,app_ver:ei.appVer,device_id:i,device_brand:"Xiaomi",platform:"tv",device_name:"M2004J7AC",device_model:"M2004J7AC",build_device:"M2004J7AC",build_product:"M2004J7AC",device_gpu:"Adreno (TM) 550",activity_rect:"{}",channel:ei.channel,auth_type:"code",client_id:ei.clientID,scope:"netdisk",qrcode:"1",qr_width:"460",qr_height:"460"},headers:c});if(!u.data)return console.error("[UC Token] No data in response"),r.status(500).send("No data received from API");if(!u.data.qr_data)return console.error("[UC Token] No qr_data in response:",JSON.stringify(u.data)),r.status(500).send("QR code data not available in response");EWt=u.data.query_token,O4n=a,r.type("image/png").send(Buffer.from(u.data.qr_data,"base64"))}catch(n){console.error("[UC Token] Error generating QR code:",n.message),n.response&&(console.error("[UC Token] Error response status:",n.response.status),console.error("[UC Token] Error response data:",JSON.stringify(n.response.data))),r.status(500).send(`Failed to generate QR code: ${n.message}`)}}),e.post("/token",async(t,r)=>{let n="/oauth/code",s=Math.floor(Date.now()/1e3).toString()+"000",i=Yc.DeviceID,a=tx(i,s),o=aj("GET",n,s,ei.signKey),c={Accept:"application/json, text/plain, */*","User-Agent":"Mozilla/5.0 (Linux; U; Android 13; zh-cn; M2004J7AC Build/UKQ1.231108.001) AppleWebKit/533.1 (KHTML, like Gecko) Mobile Safari/533.1","x-pan-tm":s,"x-pan-token":o,"x-pan-client-id":ei.clientID,...Yc.AccessToken?{Authorization:`Bearer ${Yc.AccessToken}`}:{}},u=await Se.get(`${ei.api}${n}`,{params:{req_id:a,access_token:Yc.AccessToken,app_ver:ei.appVer,device_id:i,device_brand:"Xiaomi",platform:"tv",device_name:"M2004J7AC",device_model:"M2004J7AC",build_device:"M2004J7AC",build_product:"M2004J7AC",device_gpu:"Adreno (TM) 550",activity_rect:"{}",channel:ei.channel,client_id:ei.clientID,scope:"netdisk",query_token:EWt},headers:c});if(u.data.status===0){let l="/token",d=Math.floor(Date.now()/1e3).toString()+"000",f=tx(Yc.DeviceID,d),h=JSON.stringify({req_id:f,app_ver:ei.appVer,device_id:Yc.DeviceID,device_brand:"Xiaomi",platform:"tv",device_name:"M2004J7AC",device_model:"M2004J7AC",build_device:"M2004J7AC",build_product:"M2004J7AC",device_gpu:"Adreno (TM) 550",activity_rect:"{}",channel:ei.channel,code:u.data.code}),m=(await Se.post(`${ei.codeApi}${l}`,h,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36",Accept:"application/json, text/plain, */*","Content-Type":"application/json"}})).data;m.code===200?(m.data.refresh_token&&await t.server.db.push("/uc/refresh_token",m.data.refresh_token),r.send({code:0,data:m.data.access_token})):r.send({code:-1,message:m.message??"\u83B7\u53D6token\u5931\u8D25"})}else r.send({code:-1,message:u.data.message??"\u67E5\u8BE2\u626B\u7801\u72B6\u6001\u5931\u8D25"})}),e.get("/token",async(t,r)=>{r.send({code:0,data:await D4n(t.server)})}),e.put("/token",async(t,r)=>{await P4n(t.server,t.body.cookie),r.send({code:0})})}gT();kDe();XDe();POe();var yWt=async(e,t)=>{let n=(await e.db.getObjectDefault("/tyi",{}))?.[t]||"";return!n&&e.config.tianyi&&(t==="cloud_account"?n=e.config.tianyi.username||"":t==="cloud_password"&&(n=e.config.tianyi.password||""),n&&await e.db.push(`/tyi/${t}`,n)),n},qLe=async(e,t,r)=>{await e.db.push(`/tyi/${t}`,r)};async function HLe(e){e.get("/account",async(t,r)=>{let n=await yWt(t.server,"cloud_account"),s=await yWt(t.server,"cloud_password");r.send({code:0,data:{username:n,password:s}})}),e.put("/account",async(t,r)=>{await qLe(t.server,"cloud_account",t.body.username),await qLe(t.server,"cloud_password",t.body.password),await qLe(t.server,"cloud_cookie",""),r.send({code:0})})}xOe();ZNe();var vWt=async(e,t)=>{let n=(await e.db.getObjectDefault("/pan123",{}))?.[t]||"";return!n&&e.config.pan123&&(t==="pan_passport"?n=e.config.pan123.username||"":t==="pan_password"&&(n=e.config.pan123.password||""),n&&await e.db.push(`/pan123/${t}`,n)),n},SWt=async(e,t,r)=>{await e.db.push(`/pan123/${t}`,r)};async function VLe(e){e.get("/account",async(t,r)=>{let n=await vWt(t.server,"pan_passport"),s=await vWt(t.server,"pan_password");r.send({code:0,data:{username:n,password:s}})}),e.put("/account",async(t,r)=>{await SWt(t.server,"pan_passport",t.body.username),await SWt(t.server,"pan_password",t.body.password),r.send({code:0})})}Ij();qd();var jLe=async(e,t)=>{let n=(await e.db.getObjectDefault("/xunlei",{}))?.[t]||"";return!n&&e.config.xunlei&&(t==="username"?n=e.config.xunlei.username||"":t==="password"&&(n=e.config.xunlei.password||""),n&&await e.db.push(`/xunlei/${t}`,n)),n};var RWt=async e=>await e.db.getObjectDefault("/xunlei/verification",{}),L4n=async(e,t={})=>{await e.db.push("/xunlei/verification",t)},M4n=async e=>{await e.db.push("/xunlei/verification",{})},KLe=async e=>{await M4n(e),wb=null},wb=null,GLe=e=>{let t=String(e||"").trim();if(!t)return"";if(t.startsWith("+"))return t;let r=t.replace(/\D/g,"");return r?r.length===11&&!r.startsWith("86")?`+86 ${r}`:r.startsWith("86")?`+${r}`:`+${r}`:t},k4n=(e={})=>{let t=Date.now()+Number(e.expiresIn||300)*1e3;return{phone:e.phone,verificationId:e.verificationId,expiresAt:t,reviewState:e.reviewState||{}}},TWt=(e,t="")=>!e?.verificationId||Number(e?.expiresAt||0)<=Date.now()?!1:t?e.phone===GLe(t):!0,B4n=async(e,t="")=>{let r=GLe(t),n=await RWt(e),s=TWt(wb,r)?wb:null,i=TWt(n,r)?n:null;return s||i||null},U4n=(e,t={})=>{let r=Number(e?.expiresAt||0);return{status:"sent",phone:e?.phone||"",verificationId:e?.verificationId||"",expiresAt:r,expiresIn:Math.max(0,Math.ceil((r-Date.now())/1e3)),selectedChannel:"sms",remaining:null,reviewState:e?.reviewState||{},...t}};var bWt=e=>{let t=e?.data?.verifyUrl||e?.data?.captchaUrl||"";return t?{status:"verify_required",verifyUrl:t,message:e?.message||"\u9700\u8981\u5148\u5B8C\u6210\u5B89\u5168\u9A8C\u8BC1"}:null},IWt=async(e,t)=>{let r=await v4t(e,t,{forceSend:!0});if(r?.autoLoggedIn)return await KLe(e.server),{status:"auto_logged_in",userId:r.userId||"",hasRefreshToken:!!r.hasRefreshToken};if(!r?.verificationId)throw new Error(r?.message||"\u5F53\u524D\u8D26\u53F7\u672A\u8FDB\u5165\u77ED\u4FE1\u9A8C\u8BC1\u7801\u6D41\u7A0B");let n=k4n(r);return await L4n(e.server,n),wb=n,{status:"sent",...r,expiresAt:n.expiresAt}};async function YLe(e){e.get("/config",async(t,r)=>{try{let n=await t.server.db.getObjectDefault("/xunlei/settings",{chunkSize:524288,poolSize:4,useMultithread:!0});r.send({code:0,data:n})}catch(n){console.error("\u83B7\u53D6\u8FC5\u96F7\u5206\u7247\u914D\u7F6E\u5931\u8D25:",n),r.send({code:-1,message:n?.message||"\u83B7\u53D6\u914D\u7F6E\u5931\u8D25"})}}),e.put("/config",async(t,r)=>{try{let n=fE(t.body,{chunkSize:524288,poolSize:4,useMultithread:!0});if(!n)return r.send({code:-1,message:"\u53C2\u6570\u683C\u5F0F\u9519\u8BEF"});await t.server.db.push("/xunlei/settings",n),r.send({code:0,message:"\u914D\u7F6E\u5DF2\u4FDD\u5B58"})}catch(n){console.error("\u4FDD\u5B58\u8FC5\u96F7\u5206\u7247\u914D\u7F6E\u5931\u8D25:",n),r.send({code:-1,message:n?.message||"\u4FDD\u5B58\u914D\u7F6E\u5931\u8D25"})}}),e.get("/verify-callback",async(t,r)=>{r.type("text/html").send(` + + + + + + \u8FC5\u96F7\u5B89\u5168\u9A8C\u8BC1\u5B8C\u6210 + + + +
+

\u5B89\u5168\u9A8C\u8BC1\u5DF2\u8FD4\u56DE

+

\u6B63\u5728\u8865\u53D1\u77ED\u4FE1\u9A8C\u8BC1\u7801\uFF0C\u8BF7\u7A0D\u5019...

+ \u8FD4\u56DE\u914D\u7F6E\u9875 +
+ + + + `)}),e.get("/account",async(t,r)=>{let n=await jLe(t.server,"username"),s=await jLe(t.server,"password"),i=await B4n(t.server,n);r.send({code:0,data:{username:n,password:s,verification:i?U4n(i):null}})}),e.put("/account",async(t,r)=>{try{await v4(t,{username:t.body.username,password:t.body.password}),await KLe(t.server),r.send({code:0})}catch(n){r.send({code:1,message:n?.message||"\u4FDD\u5B58\u5931\u8D25"})}}),e.post("/verification",async(t,r)=>{try{let n=t.body.username||t.body.phone;await v4(t,{username:n,password:t.body.password});let s=await IWt(t,n);r.send({code:0,data:s})}catch(n){let s=bWt(n);if(s){r.send({code:0,data:s});return}r.send({code:1,message:n?.message||"\u53D1\u9001\u9A8C\u8BC1\u7801\u5931\u8D25",data:n?.data||{}})}}),e.post("/verification/retry",async(t,r)=>{try{let n=await jLe(t.server,"username");if(!n)throw new Error("\u8BF7\u5148\u8F93\u5165\u624B\u673A\u53F7\u548C\u5BC6\u7801\uFF0C\u518D\u91CD\u65B0\u53D1\u9001\u9A8C\u8BC1\u7801");let s=await IWt(t,n);r.send({code:0,data:s})}catch(n){let s=bWt(n);if(s){r.send({code:0,data:s});return}r.send({code:1,message:n?.message||"\u53D1\u9001\u9A8C\u8BC1\u7801\u5931\u8D25",data:n?.data||{}})}}),e.post("/login",async(t,r)=>{try{let n=t.body.username||t.body.phone,s=GLe(n),i=await RWt(t.server),a=wb?.phone===s&&Number(wb?.expiresAt||0)>Date.now()?wb:null,o=i?.phone===s&&Number(i?.expiresAt||0)>Date.now()?i:null,c=String(t.body.verificationId||"").trim(),u=(c?[a,o].find(f=>f?.verificationId===c):a||o)||null,l=c||u?.verificationId||"";u?.reviewState&&await p4t(t,u.reviewState);let d=await T4t(t,{username:n,password:t.body.password,verificationId:l,verificationCode:t.body.verificationCode});await KLe(t.server),r.send({code:0,data:d})}catch(n){r.send({code:1,message:n?.message||"\u767B\u5F55\u5931\u8D25",data:n?.data||{}})}}),e.post("/login-web",async(t,r)=>{try{let n=await S4t(t,{username:t.body.username||t.body.phone,password:t.body.password});r.send({code:0,data:n})}catch(n){r.send({code:1,message:n?.message||"\u7F51\u9875\u767B\u5F55\u5931\u8D25",data:n?.data||{}})}}),e.post("/debug-download",async(t,r)=>{try{let n=await U4t(t,t.body||{});r.send({code:0,data:n})}catch(n){r.send({code:1,message:n?.message||"\u8C03\u8BD5\u5931\u8D25",data:n?.data||{}})}}),e.post("/debug-auth",async(t,r)=>{try{let n=await F4t(t);r.send({code:0,data:n})}catch(n){r.send({code:1,message:n?.message||"\u8BA4\u8BC1\u8C03\u8BD5\u5931\u8D25",data:n?.data||{}})}}),e.get("/debug-proxy-trace",async(t,r)=>{r.send({code:0,data:r4t()})}),e.delete("/debug-proxy-trace",async(t,r)=>{n4t(),r.send({code:0})})}Pr();var wWt=we(yE(),1),Nb=we(ki(),1),NWt=we(wC(),1);qd();var F4n="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0",uX={},CWt={chunkSize:512*1024,poolSize:4,useMultithread:!0};function xWt(e){return Nb.default.enc.Hex.stringify(Nb.default.MD5(e.config.ali.token)).toString()}var $4n=async e=>{let t=String(e.config?.ali?.token||""),r=Nb.default.enc.Hex.stringify(Nb.default.MD5(t)).toString(),n=await e.db.getObjectDefault("/ali",{});return n[r]?n[r]:t?(await e.db.push(`/ali/${r}`,t),t):""},q4n=async(e,t)=>{let r=Nb.default.enc.Hex.stringify(Nb.default.MD5(e.config.ali.token)).toString();await e.db.push(`/ali/${r}`,t)};async function QLe(e){e.get("/qrcode",async(t,r)=>{uX=(await Se.get("https://passport.aliyundrive.com/newlogin/qrcode/generate.do?appName=aliyun_drive&fromSite=52&appName=aliyun_drive&appEntrance=web&isMobile=false&lang=zh_CN&returnUrl=&bizParams=&_bx-v=2.2.3",{"User-Agent":F4n})).data.content.data;let s=await wWt.default.toBuffer(uX.codeContent,{width:300,height:300});r.send(s)}),e.post("/token",(t,r)=>{let n="";Se.post("https://passport.aliyundrive.com/newlogin/qrcode/query.do?appName=aliyun_drive&fromSite=52&_bx-v=2.2.3",NWt.default.stringify({t:uX.t,appName:"aliyun_drive",ck:uX.ck,appEntrance:"web",isMobile:"false",lang:"zh_CN",returnUrl:"",navlanguage:"zh-CN",navPlatform:"MacIntel",fromSite:"52",bizParams:""}),{headers:{"content-type":"application/x-www-form-urlencoded"}}).then(async s=>{let i=s.data.content.data;if(i.qrCodeStatus==="CONFIRMED"){let a=decodeURI(atob(i.bizExt)),o=JSON.parse(a).pds_login_result.refreshToken;return o?(n=o,Promise.resolve(o)):Promise.reject(new Error(`\u83B7\u53D6refreshToken\u5931\u8D25: ${s.data.message}`))}else return Promise.reject(new Error(`\u626B\u7801\u72B6\u6001\u68C0\u6D4B\u5931\u8D25: ${s.data.message}`))}).then(async s=>{r.send({code:0,data:{token:s}})}).catch(s=>{console.error(s),r.send({code:-1,message:s?.message||"\u626B\u7801\u767B\u5F55\u5931\u8D25"})})}),e.get("/token",async(t,r)=>{r.send({code:0,data:{token:await $4n(t.server)}})}),e.put("/token",async(t,r)=>{await q4n(t.server,t.body.data.token),r.send({code:0})}),e.get("/config",async(t,r)=>{try{let n=xWt(t.server),s=await t.server.db.getObjectDefault(`/ali/settings/${n}`,CWt);r.send({code:0,data:s})}catch(n){console.error("\u83B7\u53D6\u963F\u91CC\u5206\u7247\u914D\u7F6E\u5931\u8D25:",n),r.send({code:-1,message:n?.message||"\u83B7\u53D6\u914D\u7F6E\u5931\u8D25"})}}),e.put("/config",async(t,r)=>{try{let n=fE(t.body,CWt);if(!n)return r.send({code:-1,message:"\u53C2\u6570\u683C\u5F0F\u9519\u8BEF"});let s=xWt(t.server);await t.server.db.push(`/ali/settings/${s}`,n),r.send({code:0,message:"\u914D\u7F6E\u5DF2\u4FDD\u5B58"})}catch(n){console.error("\u4FDD\u5B58\u963F\u91CC\u5206\u7247\u914D\u7F6E\u5931\u8D25:",n),r.send({code:-1,message:n?.message||"\u4FDD\u5B58\u914D\u7F6E\u5931\u8D25"})}})}Pr();var $Ns=we(yE(),1);Cs();N4();var sN="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",A3={},H4n=async e=>{try{let t=String(e.config?.baidu?.cookie||"");ic.isInitialized()||await ic.init(e.db);let r=ic.get("baidu_cookie")||"";return r||(t?(await ic.set("baidu_cookie",t),t):"")}catch(t){return console.error("\u83B7\u53D6\u767E\u5EA6Cookie\u5931\u8D25:",t),""}},zLe=async(e,t)=>{try{if(ic.isInitialized()||await ic.init(e.db),!t||typeof t!="string")throw new Error("\u65E0\u6548\u7684Cookie\u683C\u5F0F");let r=t.replace(/\r\n/g,"").replace(/\n/g,"").replace(/\s+/g," ").trim();if(!r.includes("BDUSS=")||!r.includes("STOKEN="))throw new Error("Cookie\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u5FC5\u987B\u5305\u542BBDUSS\u548CSTOKEN");if(!await ic.set("baidu_cookie",r))throw new Error("\u4FDD\u5B58Cookie\u5230\u6570\u636E\u5E93\u5931\u8D25");return r}catch(r){throw console.error("\u4FDD\u5B58\u767E\u5EA6Cookie\u5931\u8D25:",r),r}};function V4n(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}async function WLe(e){e.get("/qrcode",async(t,r)=>{try{let n=V4n(),s=new Date().getTime().toString(),i=Math.floor(new Date().getTime()/1e3).toString(),a=`tangram_guid_${s}`,c=(await Se.get("https://passport.baidu.com/v2/api/getqrcode",{params:{lp:"pc",qrloginfrom:"pc",gid:n,callback:a,apiver:"v3",tt:i,tpl:"netdisk",_:s},headers:{"User-Agent":sN,Referer:"https://pan.baidu.com","sec-ch-ua-platform":'"Windows"',"sec-ch-ua":'"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',DNT:"1","sec-ch-ua-mobile":"?0","Sec-Fetch-Site":"same-site","Sec-Fetch-Mode":"no-cors","Sec-Fetch-Dest":"script","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8"}})).data;if(typeof c=="string"){c=c.replace(/^[^(]*\(/,"").replace(/\);?$/,"");let u=JSON.parse(c);if(u.errno===0){A3={sign:u.sign,imgurl:u.imgurl,channel_id:u.channel_id,t1:i,t3:s,requestId:n,callback:a};let l="https://"+u.imgurl,d=await Se.get(l,{responseType:"arraybuffer",headers:{"User-Agent":sN}});r.send(d.data)}else throw new Error(`\u83B7\u53D6\u4E8C\u7EF4\u7801\u5931\u8D25: ${u.errmsg||"\u672A\u77E5\u9519\u8BEF"}`)}else throw new Error("\u54CD\u5E94\u683C\u5F0F\u9519\u8BEF")}catch(n){console.error("\u767E\u5EA6\u4E8C\u7EF4\u7801\u83B7\u53D6\u5931\u8D25:",n),r.status(500).send({code:-1,message:n?.message||"\u83B7\u53D6\u4E8C\u7EF4\u7801\u5931\u8D25"})}}),e.post("/cookie",async(t,r)=>{try{if(!A3.sign)throw new Error("\u8BF7\u5148\u83B7\u53D6\u4E8C\u7EF4\u7801");for(let n=0;n<30;n++){let s=new Date().getTime().toString(),i=`tangram_guid_${s}`,o=(await Se.get("https://passport.baidu.com/channel/unicast",{params:{channel_id:A3.sign,tpl:"netdisk",apiver:"v3",tt:Math.floor(new Date().getTime()/1e3).toString(),callback:i,_:s},headers:{"User-Agent":sN,Referer:"https://pan.baidu.com"}})).data;if(typeof o=="string"){o=o.replace(/^[^(]*\(/,"").replace(/\);?\s*$/,"").trim();let c=JSON.parse(o);if(c.errno===0&&c.channel_v){let u=JSON.parse(c.channel_v);if(u.status===1){await new Promise(l=>setTimeout(l,1e3));continue}if(u.status===0&&u.v){let l=u.v,d=new Date().getTime().toString(),f=Math.floor(new Date().getTime()/1e3).toString(),p=(await Se.get("https://passport.baidu.com/v3/login/main/qrbdusslogin",{params:{v:d,bduss:l,u:"https://pan.baidu.com/disk/main#/index?category=all",loginVersion:"v5",qrcode:"1",tpl:"netdisk",maskId:"",fileId:"",apiver:"v3",tt:d,traceid:"",time:f,alg:"v3",elapsed:"1"},headers:{"User-Agent":sN,Referer:"https://pan.baidu.com/","Accept-Language":"zh-CN,zh;q=0.9"},timeout:3e4})).data;if(typeof p=="string"){p=p.replace(/^[^(]*\(/,"").replace(/\);?\s*$/,"").trim();let m=p.match(/"bduss":\s*"([^"]+)"/),g=p.match(/"stoken":\s*"([^"]+)"/),_=p.match(/"ptoken":\s*"([^"]+)"/),y=p.match(/"ubi":\s*"([^"]+)"/);if(m&&g&&_&&y){let E=m[1],A=g[1],v=_[1],T=encodeURIComponent(y[1]),x=(M=>Object.entries(M).map(([L,U])=>`${L}=${U}`).join("; "))({newlogin:"1",UBI:T,STOKEN:A,BDUSS:E,PTOKEN:v,BDUSS_BFESS:E,STOKEN_BFESS:A,PTOKEN_BFESS:v,UBI_BFESS:T}),P=(await Se.get("https://passport.baidu.com/v3/login/api/auth/?return_type=5&tpl=netdisk&u=https://pan.baidu.com/disk/home",{headers:{"User-Agent":sN,Referer:"https://pan.baidu.com/",Cookie:x},maxRedirects:0,validateStatus:M=>M===302||M===200})).headers.location;if(P){let L=(await Se.get(P,{headers:{"User-Agent":sN,Referer:"https://pan.baidu.com/",Cookie:x},maxRedirects:0,validateStatus:$=>$===302||$===200})).headers["set-cookie"],U="";if(L){let $=L.find(V=>V.toLowerCase().includes("stoken"));$&&(U=$.split(";")[0])}let Y=U?`BDUSS=${E};${U};`:`BDUSS=${E};STOKEN=${A};`;await zLe(t.server,Y),r.send({code:0,data:Y,message:"\u626B\u7801\u6210\u529F"}),A3={};return}else{let M=`BDUSS=${E};STOKEN=${A};`;await zLe(t.server,M),r.send({code:0,data:M,message:"\u626B\u7801\u6210\u529F"}),A3={};return}}else throw new Error("Cookie\u89E3\u6790\u5931\u8D25: \u7F3A\u5C11\u5FC5\u8981\u5B57\u6BB5")}}}else if(c.errno===1){await new Promise(u=>setTimeout(u,1e3));continue}else if(c.errno===2)throw new Error("\u4E8C\u7EF4\u7801\u5DF2\u5931\u6548\uFF0C\u8BF7\u91CD\u65B0\u83B7\u53D6")}}throw new Error("\u626B\u7801\u8D85\u65F6\uFF0C\u8BF7\u91CD\u8BD5")}catch(n){console.error("\u767E\u5EA6\u626B\u7801\u767B\u5F55\u5931\u8D25:",n),r.send({code:-1,message:n?.message||"\u626B\u7801\u767B\u5F55\u5931\u8D25"})}}),e.get("/cookie",async(t,r)=>{try{let n=await H4n(t.server);r.send({code:0,data:n})}catch(n){console.error("\u83B7\u53D6\u767E\u5EA6Cookie\u5931\u8D25:",n),r.send({code:-1,message:"\u83B7\u53D6Cookie\u5931\u8D25"})}}),e.put("/cookie",async(t,r)=>{try{let n=t.body.cookie;if(!n||typeof n!="string")return r.send({code:-1,message:"Cookie\u4E0D\u80FD\u4E3A\u7A7A"});await zLe(t.server,n),r.send({code:0,message:"Cookie\u5DF2\u4FDD\u5B58"})}catch(n){console.error("\u4FDD\u5B58\u767E\u5EA6Cookie\u5931\u8D25:",n),r.send({code:-1,message:n?.message||"\u4FDD\u5B58Cookie\u5931\u8D25"})}})}Wz();Bi();var XLe=[{key:"quark",name:"\u5938\u514B",enable:!0},{key:"tianyi",name:"\u5929\u7FFC",enable:!0},{key:"yidong",name:"\u79FB\u52A8",enable:!0},{key:"123",name:"P123",enable:!0},{key:"115",name:"P115",enable:!0},{key:"uc",name:"UC",enable:!0},{key:"baidu",name:"\u767E\u5EA6",enable:!0},{key:"ali",name:"\u963F\u91CC",enable:!0},{key:"xunlei",name:"\u8FC5\u96F7",enable:!0},{key:"guangya",name:"\u5149\u9E2D",enable:!0},{key:"magnet",name:"115\u4E91\u8F6C\u5B58",enable:!0},{key:"magnet_guangya",name:"\u5149\u9E2D\u4E91\u8F6C\u5B58",enable:!1}],OWt=(e=[])=>{let t=Array.isArray(e)?e.map(n=>({...n})):[];for(let n of t)n?.key==="guangya"&&(n.name="\u5149\u9E2D");let r=t.filter(n=>["magnet","magnet_guangya"].includes(n?.key)&&n.enable!==!1);if(r.length>1){let n=r[r.length-1]?.key;for(let s of t)["magnet","magnet_guangya"].includes(s?.key)&&(s.enable=s.key===n)}return t},JLe=async e=>{let r=(await e.db.getObjectDefault("/pans",{}))?.list||e.config?.pans?.list||[],n=new Set(XLe.map(a=>a.key)),s=new Set,i=[];for(let a of r)!n.has(a.key)||s.has(a.key)||(s.add(a.key),i.push(a));for(let a of XLe)s.has(a.key)||(s.add(a.key),i.push(a));return OWt(i)},j4n=async(e,t)=>{let r=OWt(t);return await e.db.push("/pans/list",r),oE(r),r},K4n=async e=>{await e.db.delete("/pans/list"),oE(XLe)};async function ZLe(e){e.get("/list",async(t,r)=>{r.send({code:0,data:await JLe(t.server)})}),e.put("/list",async(t,r)=>{let n=await j4n(t.server,t.body.list);r.send({code:0,data:n})}),e.delete("/list",async(t,r)=>{await K4n(t.server),r.send({code:0})})}var DWt=we(kk(),1);async function eMe(e){e.get("/",async(t,r)=>{r.header("Content-Disposition",`attachment; filename="config.${(0,DWt.default)().format("YYYY-MM-DD")}.json"`);let n=await t.server.db.getData("/");r.send(JSON.stringify(n,null,4))}),e.put("/",async(t,r)=>{await t.server.db.push("/",t.body),r.send({code:0})})}qOe();xQ();A2e();var tMe=async(e,t,r="")=>(await e.db.getObjectDefault("/panlian",{}))?.[t]??r,f_=async(e,t,r)=>{await e.db.push(`/panlian/${t}`,r)};async function rMe(e){e.get("/config",async(t,r)=>{let n=await tMe(t.server,"username",""),s=await tMe(t.server,"password",""),i=await tMe(t.server,"cookie","");r.send({code:0,data:{username:n,password:s,cookie:i,hasCookie:!!String(i||"").trim()}})}),e.put("/config",async(t,r)=>{let n=t.body||{};Object.prototype.hasOwnProperty.call(n,"username")&&await f_(t.server,"username",n.username||""),Object.prototype.hasOwnProperty.call(n,"password")&&await f_(t.server,"password",n.password||""),Object.prototype.hasOwnProperty.call(n,"cookie")&&await f_(t.server,"cookie",n.cookie||""),r.send({code:0,data:!0})}),e.post("/login",async(t,r)=>{try{let n=t.body||{},s=String(n.username||"").trim(),i=String(n.password||"").trim(),a=n.remember!==!1;if(!s||!i)return r.send({code:-1,message:"\u8D26\u53F7\u548C\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A"});let o=await kB(t,s,i,a);await f_(t.server,"username",s),await f_(t.server,"password",i),await f_(t.server,"cookie",o?.cookie||""),r.send({code:0,data:o})}catch(n){r.send({code:-1,message:n?.message||"\u767B\u5F55\u5931\u8D25"})}}),e.post("/clear",async(t,r)=>{try{await f_(t.server,"username",""),await f_(t.server,"password",""),await f_(t.server,"cookie",""),r.send({code:0,data:!0})}catch(n){r.send({code:-1,message:n?.message||"\u6E05\u7A7A\u5931\u8D25"})}})}kz();var lX=async(e,t,r="")=>(await e.db.getObjectDefault("/filejin",{}))?.[t]??r,Np=async(e,t,r)=>{await e.db.push(`/filejin/${t}`,r)};async function nMe(e){e.get("/config",async(t,r)=>{let n=await lX(t.server,"username",""),s=await lX(t.server,"password",""),i=await lX(t.server,"cookie",""),a=await lX(t.server,"site","");r.send({code:0,data:{username:n,password:s,cookie:i,site:a,hasCookie:!!String(i||"").trim()}})}),e.put("/config",async(t,r)=>{let n=t.body||{};if(Object.prototype.hasOwnProperty.call(n,"username")&&await Np(t.server,"username",n.username||""),Object.prototype.hasOwnProperty.call(n,"password")&&await Np(t.server,"password",n.password||""),Object.prototype.hasOwnProperty.call(n,"cookie")&&await Np(t.server,"cookie",n.cookie||""),Object.prototype.hasOwnProperty.call(n,"site")){let s=String(n.site||"").trim().replace(/\/+$/,"");await Np(t.server,"site",s)}r.send({code:0,data:!0})}),e.post("/login",async(t,r)=>{try{let n=t.body||{},s=String(n.username||"").trim(),i=String(n.password||"").trim(),a=n.remember!==!1;if(!s||!i)return r.send({code:-1,message:"\u8D26\u53F7\u548C\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A"});let o=await Dw(t,s,i,a);await Np(t.server,"username",s),await Np(t.server,"password",i),await Np(t.server,"cookie",o?.cookie||""),r.send({code:0,data:o})}catch(n){r.send({code:-1,message:n?.message||"\u767B\u5F55\u5931\u8D25"})}}),e.post("/clear",async(t,r)=>{try{await Np(t.server,"username",""),await Np(t.server,"password",""),await Np(t.server,"cookie",""),r.send({code:0,data:!0})}catch(n){r.send({code:-1,message:n?.message||"\u6E05\u7A7A\u5931\u8D25"})}})}Pr();var PWt="https://pan1.me",G4n="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",sMe="\u611F\u8C22\u5206\u4EAB\uFF0C\u8F9B\u82E6\u6574\u7406\u4E86";async function LWt(e){let t=await e.db.getObjectDefault("/pan1",{});return{cookie:String(t?.cookie||"").trim(),autoReply:t?.autoReply!==!1,replyMessage:String(t?.replyMessage||sMe).trim()||sMe}}async function dX(e,t,r){await e.db.push(`/pan1/${t}`,r)}function Y4n(e=""){let t=String(e||"").match(/\bvar\s+uid\s*=\s*(\d+)\s*;/i)?.[1]||"0";return{valid:t!=="0"&&!/您所在的用户组权限不足|登录后体验更多功能/.test(String(e||"")),uid:t==="0"?"":t}}async function iMe(e){e.get("/config",async(t,r)=>{let n=await LWt(t.server);r.send({code:0,data:{...n,hasCookie:!!n.cookie,cookieLength:n.cookie.length}})}),e.put("/config",async(t,r)=>{let n=t.body||{};if(Object.prototype.hasOwnProperty.call(n,"cookie")&&await dX(t.server,"cookie",String(n.cookie||"").trim()),Object.prototype.hasOwnProperty.call(n,"autoReply")&&await dX(t.server,"autoReply",n.autoReply!==!1),Object.prototype.hasOwnProperty.call(n,"replyMessage")){let s=String(n.replyMessage||"").trim()||sMe;await dX(t.server,"replyMessage",s)}r.send({code:0,data:!0})}),e.post("/validate",async(t,r)=>{try{let n=await LWt(t.server);if(!n.cookie)return r.send({code:-1,message:"\u8BF7\u5148\u586B\u5199\u5E76\u4FDD\u5B58\u8BBA\u575B Cookie"});let s=await Se.get(`${PWt}/`,{timeout:15e3,validateStatus:()=>!0,headers:{"User-Agent":G4n,Referer:`${PWt}/`,Cookie:n.cookie}});if(s.status>=400)return r.send({code:-1,message:`\u8BBA\u575B\u8FD4\u56DE HTTP ${s.status}`});let i=Y4n(String(s.data||""));if(!i.valid)return r.send({code:-1,message:"Cookie \u5DF2\u5931\u6548\u6216\u8D26\u53F7\u6CA1\u6709\u8D44\u6E90\u7248\u8BBF\u95EE\u6743\u9650"});r.send({code:0,data:{valid:!0,uid:i.uid}})}catch(n){r.send({code:-1,message:n?.message||"Cookie \u9A8C\u8BC1\u5931\u8D25"})}}),e.post("/clear",async(t,r)=>{await dX(t.server,"cookie",""),r.send({code:0,data:!0})})}Pr();var aMe="https://guangya.qsxy.top",Q4n="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36";async function MWt(e){let t=await e.db.getObjectDefault("/guangyaqsxy",{});return{cookie:String(t?.cookie||"").trim()}}function kWt(e=""){let t=String(e||""),r=/]*\blogged-in\b/i.test(t)||/\u9000\u51fa\u767b\u5f55|\u7528\u6237\u4e2d\u5fc3/.test(t),n=/https?:\/\/(?:www\.)?guangyapan\.com\/s\//i.test(t),s=t.match(/]*>([^<]+){let n=await MWt(t.server);r.send({code:0,data:{cookie:n.cookie,hasCookie:!!n.cookie,cookieLength:n.cookie.length}})}),e.put("/config",async(t,r)=>{let n=String(t.body?.cookie||"").trim();await t.server.db.push("/guangyaqsxy/cookie",n),r.send({code:0,data:{hasCookie:!!n,cookieLength:n.length}})}),e.post("/validate",async(t,r)=>{try{let n=await MWt(t.server);if(!n.cookie)return r.send({code:-1,message:"\u8BF7\u5148\u586B\u5199\u5E76\u4FDD\u5B58 Cookie"});let s={timeout:2e4,validateStatus:()=>!0,headers:{"User-Agent":Q4n,Referer:`${aMe}/`,Cookie:n.cookie}},i=await Se.get(`${aMe}/`,s);if(i.status>=400)return r.send({code:-1,message:`\u7AD9\u70B9\u8FD4\u56DE HTTP ${i.status}`});let a=kWt(i.data);if(!a.valid)return r.send({code:-1,message:"Cookie \u5DF2\u5931\u6548\u6216\u672A\u767B\u5F55"});let o=String(i.data||"").match(/href=["'](https:\/\/guangya\.qsxy\.top\/\d+\.html)["']/i)?.[1];if(!o)return r.send({code:-1,message:"\u5DF2\u767B\u5F55\uFF0C\u4F46\u672A\u627E\u5230\u53EF\u9A8C\u8BC1\u7684\u8D44\u6E90\u8BE6\u60C5"});let c=await Se.get(o,{...s,headers:{...s.headers,Referer:`${aMe}/`}});if(c.status>=400)return r.send({code:-1,message:`\u8D44\u6E90\u9875\u8FD4\u56DE HTTP ${c.status}`});let u=kWt(c.data);if(!u.canReadResource)return r.send({code:-1,message:"Cookie \u5DF2\u767B\u5F55\uFF0C\u4F46\u5F53\u524D\u8D26\u53F7\u672A\u89E3\u9501\u8D44\u6E90\u94FE\u63A5"});r.send({code:0,data:{valid:!0,canReadResource:!0,username:a.username||u.username}})}catch(n){r.send({code:-1,message:n?.message||"Cookie \u9A8C\u8BC1\u5931\u8D25"})}}),e.post("/clear",async(t,r)=>{await t.server.db.push("/guangyaqsxy/cookie",""),r.send({code:0,data:!0})})}LQ();oDe();BOe();ZOe();nDe();zOe();KOe();oPe();async function cMe(e){e.get("/config",async(t,r)=>{try{let n=await nW(t.server);return r.send({code:0,data:Array.isArray(n)?n:[]})}catch{return r.send({code:1,message:"\u83B7\u53D6\u914D\u7F6E\u5931\u8D25",data:[]})}}),e.put("/config",async(t,r)=>{try{let n=t.body;if(!Array.isArray(n))return r.send({code:400,message:"\u914D\u7F6E\u6570\u636E\u683C\u5F0F\u9519\u8BEF"});let s=n.filter(i=>!(!i||typeof i!="object"||!i.name||typeof i.name!="string"||i.name.trim()===""||!i.url||typeof i.url!="string"||i.url.trim()==="")).map(i=>({name:i.name.trim(),url:i.url.trim(),ua:i.ua||"okhttp/3.15",enabled:i.enabled!==!1,logoUrl:i.logoUrl||""}));return await t.server.db.push("/config/live",s),r.send({code:0,message:"\u76F4\u64AD\u6E90\u914D\u7F6E\u4FDD\u5B58\u6210\u529F",data:{count:s.length}})}catch{return r.send({code:500,message:"\u4FDD\u5B58\u5931\u8D25"})}}),e.delete("/config",async(t,r)=>{try{return await t.server.db.delete("/config/live"),r.send({code:0,message:"\u76F4\u64AD\u6E90\u914D\u7F6E\u5DF2\u6E05\u7A7A",data:[]})}catch{return r.send({code:500,message:"\u5220\u9664\u5931\u8D25"})}})}dDe();var uMe="/config/zhuiju";function lMe(e){let t=e&&typeof e=="object"?e:{},r=t.classes&&typeof t.classes=="object"?t.classes:{},n={};for(let[s,i]of Object.entries(r))!s||!i||typeof i!="object"||(n[s]={name:typeof i.name=="string"?i.name.trim():"",hidden:i.hidden===!0,order:Number.isFinite(Number(i.order))?Number(i.order):9999});return{classes:n,updatedAt:Number.isFinite(Number(t.updatedAt))?Number(t.updatedAt):0}}async function z4n(e){try{let t=await e.db.getObjectDefault(uMe,{});return lMe(t)}catch{return lMe({})}}async function W4n(e){try{let r=await(await e.inject({method:"POST",url:"/spider/zhuiju/3/home?raw=1",payload:{}})).json();return Array.isArray(r?.class)?r.class:[]}catch{return[]}}async function dMe(e){e.get("/config",async(t,r)=>{try{let n=await z4n(t.server),s=await W4n(t.server);return r.send({code:0,data:{classes:s,config:n}})}catch(n){return r.send({code:1,message:"\u83B7\u53D6\u914D\u7F6E\u5931\u8D25: "+n.message,data:{classes:[],config:{classes:{},updatedAt:0}}})}}),e.put("/config",async(t,r)=>{try{let n=lMe(t.body||{});return n.updatedAt=Date.now(),await t.server.db.push(uMe,n),r.send({code:0,message:"\u8FFD\u5267\u805A\u5408\u5206\u7C7B\u914D\u7F6E\u4FDD\u5B58\u6210\u529F",data:n})}catch(n){return r.send({code:1,message:"\u4FDD\u5B58\u5931\u8D25: "+n.message})}}),e.delete("/config",async(t,r)=>{try{return await t.server.db.delete(uMe),r.send({code:0,message:"\u5DF2\u91CD\u7F6E\u4E3A\u9ED8\u8BA4\u5206\u7C7B\u914D\u7F6E",data:{classes:{},updatedAt:0}})}catch(n){return r.send({code:1,message:"\u91CD\u7F6E\u5931\u8D25: "+n.message})}})}jW();async function fMe(e){Xw(),e.get("/list",async t=>{let r=await VW(t.server);return{code:0,data:{dir:ezt(),files:r.map(n=>({name:n.name,size:n.size,size_str:n.size_str,mtime:n.mtime,key:n.key}))}}}),e.post("/upload",async(t,r)=>{let n=Jw(),s=null;try{s=await t.file({limits:{fileSize:n}})}catch(i){return i?.code==="FST_REQ_FILE_TOO_LARGE"?r.code(413).send({code:-1,message:`\u6587\u4EF6\u8D85\u8FC7 ${$W(n)} \u4E0A\u9650`}):r.code(400).send({code:-1,message:"\u4E0A\u4F20\u8BFB\u53D6\u5931\u8D25: "+(i?.message||i)})}if(!s)return r.code(400).send({code:-1,message:"\u672A\u6536\u5230\u6587\u4EF6"});try{let i=t.query?.overwrite==="1"||t.query?.overwrite==="true";return{code:0,data:await ozt(s.filename,s.file,{maxBytes:n,overwrite:i})}}catch(i){return i?.code==="FST_REQ_FILE_TOO_LARGE"||i?.code==="DUDB_UPLOAD_TOO_LARGE"?r.code(413).send({code:-1,message:`\u6587\u4EF6\u8D85\u8FC7 ${$W(n)} \u4E0A\u9650`}):i?.code==="DUDB_UPLOAD_EXISTS"?r.code(409).send({code:-1,message:i?.message||"\u6587\u4EF6\u5DF2\u5B58\u5728\uFF0C\u8BF7\u786E\u8BA4\u8986\u76D6",data:{exists:!0,name:i?.name||s.filename}}):r.code(400).send({code:-1,message:i?.message||String(i)})}}),e.delete("/file/:name",async(t,r)=>{let n=decodeURIComponent(String(t.params?.name||""));if(!n)return r.code(400).send({code:-1,message:"\u7F3A\u5C11 name"});try{return{code:0,data:await czt(t.server,n)}}catch(s){return r.code(400).send({code:-1,message:s?.message||String(s)})}}),e.put("/order",async(t,r)=>{let n=t.body||{},s=Array.isArray(n)?n:n.order;if(!Array.isArray(s))return r.code(400).send({code:-1,message:"\u53C2\u6570\u5E94\u4E3A\u6587\u4EF6\u540D\u6570\u7EC4"});try{return await azt(t.server,s),{code:0}}catch(i){return r.code(400).send({code:-1,message:i?.message||String(i)})}}),e.get("/settings",async(t,r)=>{try{return{code:0,data:await qW(t.server)}}catch(n){return r.code(400).send({code:-1,message:n?.message||String(n)})}}),e.post("/settings",async(t,r)=>{try{return{code:0,data:await rzt(t.server,t.body||{})}}catch(n){return r.code(400).send({code:-1,message:n?.message||String(n)})}})}var BWt=we(yE(),1);XC();U7();var E3=null;async function hMe(e){e.get("/qrcode",async(t,r)=>{try{E3=await oMt(t.server);let n=await BWt.default.toBuffer(E3.verificationUrl,{width:300,height:300});r.type("image/png").send(n)}catch(n){r.code(500).send({code:-1,message:n?.message||String(n)})}}),e.post("/cookie",async(t,r)=>{if(!E3)return r.send({code:-1,message:"\u8BF7\u5148\u70B9\u51FB\u4E8C\u7EF4\u7801\u751F\u6210\u767B\u5F55\u4F1A\u8BDD"});let n=await cMt(t.server,E3);n.status==="CONFIRMED"&&(E3=null),r.send({code:0,data:n.status})}),e.get("/account",async(t,r)=>{r.send({code:0,data:await aMt(t.server)})}),e.put("/account",async(t,r)=>{await e4(t.server,t.body||{}),r.send({code:0})}),e.get("/cloud/settings",async(t,r)=>{let n={savePath:"root",savePathName:"\u6839\u76EE\u5F55",pollAttempts:20,pollIntervalMs:1500},s=await t.server.db.getObjectDefault("/guangya_cloud_settings",n),i={...n,...s||{}};(!i.savePath||i.savePath==="auto")&&(i.savePath="root",i.savePathName="\u6839\u76EE\u5F55"),r.send({code:0,data:i})}),e.post("/cloud/settings",async(t,r)=>{let n=t.body||{},s=String(n.savePath||"root"),i=!s||s==="auto"?"root":s,a={savePath:i,savePathName:i==="root"?"\u6839\u76EE\u5F55":String(n.savePathName||"").slice(0,200),pollAttempts:Math.max(1,Math.min(50,Number(n.pollAttempts)||20)),pollIntervalMs:Math.max(200,Math.min(1e4,Number(n.pollIntervalMs)||1500))};await t.server.db.push("/guangya_cloud_settings",a),await N1e(t.server),r.send({code:0,data:a})}),e.get("/cloud/folders",async(t,r)=>{try{let n=String(t.query?.parentId||""),i=(await Rg(t.server,n,1,200)).list.filter(a=>Number(a?.resType)===2&&a?.fileId).map(a=>({fileId:String(a.fileId),name:String(a.fileName||a.fileId)}));r.send({code:0,data:i})}catch(n){r.send({code:-1,message:n?.message||"\u8BFB\u53D6\u5149\u9E2D\u76EE\u5F55\u5931\u8D25"})}}),e.post("/cloud/clear",async(t,r)=>{try{let n=t.body?.deleteFiles===!0,s=await lMt(t.server,{deleteFiles:n});await N1e(t.server),r.send({code:0,data:{...s,deleteFiles:n}})}catch(n){console.error("[guangya/cloud/clear]",n?.message),r.send({code:-1,message:n?.message||"\u6E05\u7406\u5149\u9E2D\u4E91\u8F6C\u5B58\u5931\u8D25"})}})}var BXt=we(kXt(),1);jW();async function DMe(e){await e.register(BXt.default,{limits:{fileSize:Math.max(Jw(),tC())}}),e.get("/",(t,r)=>{let n=String(globalThis.websiteBundle||"").replace(/<\/script>/gi,"<\\/script>");r.type("text/html").send(` + + + + + + + + MiraPlay - \u914D\u7F6E + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + `)}),e.register(ULe,{prefix:"/quark"}),e.register(Y1e,{prefix:"/uc"}),e.register($Le,{prefix:"/uc-tv"}),e.register(F7,{prefix:"/115"}),e.register(R0,{prefix:"/sharemount"}),e.register(R0,{prefix:"/115share"}),e.register(R0,{prefix:"/alishare"}),e.register(R0,{prefix:"/quarkshare"}),e.register(R0,{prefix:"/ucshare"}),e.register(R0,{prefix:"/123share"}),e.register(R0,{prefix:"/139share"}),e.register(R0,{prefix:"/baidushare"}),e.register(R0,{prefix:"/smb"}),e.register(WDe,{prefix:"/mycloud"}),e.register(DOe,{prefix:"/muou"}),e.register(HLe,{prefix:"/tianyi"}),e.register(COe,{prefix:"/wogg"}),e.register($Oe,{prefix:"/zhizhen"}),e.register(JNe,{prefix:"/tgsou"}),e.register(VLe,{prefix:"/pan123"}),e.register(YLe,{prefix:"/xunlei"}),e.register(QLe,{prefix:"/ali"}),e.register(WLe,{prefix:"/baidu"}),e.register(zz,{prefix:"/tgchannel"}),e.register(ZPe,{prefix:"/sites"}),e.register(ZLe,{prefix:"/pans"}),e.register(eMe,{prefix:"/backup"}),e.register(t5,{prefix:"/danmu"}),e.register(Hye,{prefix:"/t4"}),e.register(Jye,{prefix:"/cms"}),e.register(ave,{prefix:"/js"}),e.register(CQ,{prefix:"/pansou"}),e.register(rMe,{prefix:"/panlian"}),e.register(nMe,{prefix:"/filejin"}),e.register(iMe,{prefix:"/pan1"}),e.register(oMe,{prefix:"/guangyaqsxy"}),e.register(eOe,{prefix:"/bilibili"}),e.register(jOe,{prefix:"/ouge"}),e.register(QOe,{prefix:"/labi"}),e.register(rDe,{prefix:"/kuaiying"}),e.register(JOe,{prefix:"/huban"}),e.register(kOe,{prefix:"/erxiao"}),e.register(aDe,{prefix:"/duoduo"}),e.register(cMe,{prefix:"/live"}),e.register(lDe,{prefix:"/shandian"}),e.register(dMe,{prefix:"/zhuiju"}),e.register(fMe,{prefix:"/dudb"}),e.register(hMe,{prefix:"/guangya"})}var FXt=we(require("os"),1);function s3n(e){return e&&(e.family==="IPv4"||e.family===4)}function i3n(e){if(typeof e!="string")return!1;if(/^10\./.test(e)||/^192\.168\./.test(e)||/^169\.254\./.test(e))return!0;let t=e.match(/^172\.(\d{1,3})\./);if(!t)return!1;let r=Number(t[1]);return Number.isFinite(r)&&r>=16&&r<=31}function a3n(){return["en0","en1","en2","eth0","eth1","eth2","ens33","ens18","ens160","ens192","enp0s3","enp0s8","enp1s0","wlan0","wlan1","wlp2s0","wlp3s0"]}var o3n=/^(lo|docker|br-|veth|virbr|tun|tap|utun|ipsec|pdp_ip|awdl|llw|anpi|bridge|wg|tailscale|zt|ham|gif|stf|ap\d)/i;function c3n(e){return o3n.test(e)}function UXt(e){return/^192\.168\./.test(e)?0:/^172\.(?:1[6-9]|2\d|3[01])\./.test(e)?1:/^10\./.test(e)?2:3}var $Xt=function(){let e=FXt.default.networkInterfaces(),t=new Set(a3n()),r=[];for(let n of Object.keys(e)){if(c3n(n))continue;let s=e[n];if(Array.isArray(s))for(let i of s)!s3n(i)||i.internal||i3n(i.address)&&r.push({name:n,address:i.address})}return r.length===0?"127.0.0.1":(r.sort((n,s)=>{let i=UXt(n.address),a=UXt(s.address);if(i!==a)return i-a;let o=t.has(n.name)?0:1,c=t.has(s.name)?0:1;return o-c}),r[0].address)};var TX=we(require("fs"),1),BMe=we(require("path"),1),VXt=we(require("util"),1),jXt=we(require("crypto"),1);zQ();Bi();Nd();hm();kr();var Kt=null;function PMe(e){return!!e&&typeof e=="object"&&Object.keys(e).length>0}function qXt(e){return e==null?!0:typeof e=="string"?e.trim()==="":!1}function LMe(e){return jXt.default.createHash("md5").update(String(e??"")).digest("hex")}async function L0(e,t,r){if(qXt(r))return;let n=await e.getObjectDefault(t,"");qXt(n)&&await e.push(t,r)}async function MMe(e){let t=e?.db,r=e?.config||{};if(!t)return;let n=String(r?.ali?.token||"");await L0(t,`/ali/${LMe(n)}`,n);let s=String(r?.quark?.cookie||"");await L0(t,`/quark/${LMe(s)}`,s);let i=String(r?.uc?.cookie||""),a=String(r?.uc?.token||""),o=String(r?.uc?.ut||"");await L0(t,"/uc/cookie",i),await L0(t,"/uc/token",a),await L0(t,"/uc/ut",o);let c=String(r?.baidu?.cookie||"");await L0(t,"/baidu_driver/baidu_cookie",c);let u=String(r?.y115?.cookie||"");await L0(t,`/y115/${LMe(u)}`,u);let l=String(r?.pan123?.username||""),d=String(r?.pan123?.password||"");await L0(t,"/pan123/pan_passport",l),await L0(t,"/pan123/pan_password",d);let f=String(r?.tianyi?.username||""),h=String(r?.tianyi?.password||"");await L0(t,"/tyi/cloud_account",f),await L0(t,"/tyi/cloud_password",h)}var u3n=["duoduo","muou","leijing","wogg","zhizhen","ouge","labi","kuaiying","huban","erxiao","shandian"];async function kMe(e){if(e?.db)for(let r of u3n)await hw(e,r)}var l3n="cat.log",d3n=()=>{let e=String(l3n||"").trim();return e?BMe.default.join(process.env.NODE_PATH||".",e):""},SX=!1,I3=null;function b3(e,t){let r=I3;if(!r||r.destroyed||r.writableEnded)return;let n=new Date().toISOString(),s=VXt.default.format(...t);r.write(`[${n}] [${e}] ${s} +`)}function f3n(){let e=d3n();if(!e){SX||(console.log("Log file disabled (LOG_FILE_NAME is empty)."),SX=!0);return}if(I3){try{I3.end()}catch{}I3=null}try{TX.default.truncateSync(e,0)}catch{}if(I3=TX.default.createWriteStream(e,{flags:"w"}),!SX){let t=console.log,r=console.error,n=console.warn;console.log=(...s)=>{b3("INFO",s),t.apply(console,s)},console.error=(...s)=>{b3("ERROR",s),r.apply(console,s)},console.warn=(...s)=>{b3("WARN",s),n.apply(console,s)},process.on("uncaughtException",s=>{b3("FATAL",[s]),r("Uncaught Exception:",s)}),process.on("unhandledRejection",s=>{b3("ERROR",["Unhandled Rejection:",s]),r("Unhandled Rejection:",s)}),SX=!0}console.log(`Log system initialized. Path: ${e}`)}async function h3n(e){f3n(),console.log("\u5F00\u59CB\u542F\u52A8\u670D\u52A1\u5668...");try{if(Kt=(0,HXt.default)({serverFactory:catServerFactory,forceCloseConnections:!0,logger:process.env.NODE_ENV!=="development",maxParamLength:10240}),!Kt)throw new Error("Server initialization failed");Kt.isReady=!1;let t=new Set,r=1500,n=0;globalThis.messageToDart=Kt.messageToDart=async c=>{let u=c?.action||"unknown",l=Number(catDartServerPort()),d=u==="getPlayInfo"?8e3:u==="queryProfile"||u==="saveProfile"?1500:2500;if(!Number.isFinite(l)||l<=0||u!=="getPlayInfo"&&Date.now()0&&f===l){let g=`self:${u}`;return t.has(g)||(console.warn(`[messageToDart] \u8DF3\u8FC7\u81EA\u8C03\u7528: action=${u}, port=${l}`),t.add(g)),null}let h=["127.0.0.1"],p=null,m=!1;for(let g of h)try{return(await Se.post(`http://${g}:${l}/msg`,c,{timeout:d})).data}catch(_){p=_;let y=_?.response?.status;if(y===400||y===404){let T=`${y}:${u}`;return t.has(T)||(console.warn(`[messageToDart] Dart\u901A\u4FE1\u6682\u672A\u5C31\u7EEA: action=${u}, status=${y}`),t.add(T)),null}let E=_?.code||"",A=_?.message||"";if(E==="ECONNRESET"||E==="ECONNREFUSED"||E==="ECONNABORTED"||A.includes("socket hang up")){m=!0;let T=`transient:${g}:${u}:${E||A}`;t.has(T)||(console.warn(`[messageToDart] Dart\u6865\u63A5\u6682\u4E0D\u53EF\u7528\uFF0C\u5DF2\u964D\u7EA7\u5FFD\u7565: action=${u}, host=${g}, code=${E||"unknown"}, message=${A}`),t.add(T));break}}return m&&(n=Date.now()+r),p&&console.error("[messageToDart] \u5931\u8D25:",p.message),null},typeof Kt.address!="function"&&(Kt.address=function(){if(!this.server)return{port:0,url:"",dynamic:"js2p://_WEB_"};let c=this.server.address();if(!c)return{port:0,url:"",dynamic:"js2p://_WEB_"};let u=$Xt();return c.url=`http://${u}:${c.port}`,c.dynamic="js2p://_WEB_",c}),Kt.addHook("onError",async(c,u,l)=>(console.error("\u670D\u52A1\u5668\u9519\u8BEF:",Nv(l)),l.statusCode||(l.statusCode=500),l)),Kt.stop=!1,Kt.config=e;let s=BMe.default.join(process.env.NODE_PATH||".","test0.db.json"),i=(()=>{try{return TX.default.existsSync(s)}catch{return!1}})();Kt.db=new bX.JsonDB(new bX.Config(s,!0,!0,"/",!0)),Kt.firstRun=!i,Kt.userWroteSinceBoot=!1;try{Kt.firstRun&&PMe(e)&&(await Kt.db.push("/",e),console.log("\u9996\u6B21\u542F\u52A8\uFF1A\u5DF2\u7528 index.config.js \u521D\u59CB\u5316 db")),await MMe(Kt),await kMe(Kt)}catch(c){if(console.warn("\u521D\u59CB\u5316 db \u5931\u8D25\uFF0C\u5C1D\u8BD5\u56DE\u9000\u9ED8\u8BA4\u914D\u7F6E:",c.message),PMe(e))try{await Kt.db.push("/",e),await MMe(Kt),await kMe(Kt)}catch(u){console.error("\u4FDD\u5B58\u9ED8\u8BA4\u914D\u7F6E\u5931\u8D25:",u)}}if((()=>{if(!Kt.db)return;let c=Kt.db.push.bind(Kt.db),u=Kt.db.delete.bind(Kt.db),l=null,d="",f=!1,h=!1,p=async()=>{try{let g=await Kt.db.getData("/"),_=JSON.stringify(g);if(_===d)return;d=_,await Qr.saveProfile(g)}catch(g){console.warn("\u5F02\u6B65\u4FDD\u5B58\u914D\u7F6E\u5931\u8D25:",g.message)}},m=()=>{if(f){h=!0;return}l&&clearTimeout(l),l=setTimeout(async()=>{l=null,f=!0;try{await p()}finally{f=!1,h&&(h=!1,m())}},300)};Kt.db.push=async(...g)=>{let _=g[0];if(typeof _=="string"&&_.includes("juhua_duanju")){console.warn("[\u5B89\u5168\u9632\u62A4] \u5DF2\u62E6\u622A\u53EF\u7591\u8DEF\u5F84\u5199\u5165:",_);return}try{let y=await c(...g);return Kt.userWroteSinceBoot=!0,m(),y}catch(y){throw console.error("\u6570\u636E\u5E93push\u64CD\u4F5C\u5931\u8D25:",y),y}},Kt.db.delete=async(...g)=>{try{let _=await u(...g);return Kt.userWroteSinceBoot=!0,m(),_}catch(_){throw console.error("\u6570\u636E\u5E93delete\u64CD\u4F5C\u5931\u8D25:",_),_}}})(),process.env.SKIP_DANMU_API_BOOT!=="1")try{await BS()}catch(c){console.error("\u542F\u52A8 danmu_api \u5931\u8D25:",c)}try{oE(await JLe(Kt))}catch(c){console.warn("\u521D\u59CB\u5316Pans\u7F13\u5B58\u5931\u8D25:",c.message),oE([])}console.log("\u6CE8\u518C\u8DEF\u7531..."),Kt.register(tX,{db:Kt.db,config:e}),Kt.register(DMe,{prefix:"/website"});let o=c=>{let u=Number(process.env.DEV_HTTP_PORT||c),l=String(process.env.DEV_HTTP_HOST||"0.0.0.0");if(console.log(`\u5C1D\u8BD5\u542F\u52A8\u670D\u52A1\u5668\u5728\u7AEF\u53E3 ${u}...`),!Kt||!Kt.listen){console.error("server \u5BF9\u8C61\u65E0\u6548\uFF0C\u65E0\u6CD5\u542F\u52A8");return}try{Kt.listen({port:u,host:l},(d,f)=>{if(d)if(console.error("\u670D\u52A1\u5668\u542F\u52A8\u9519\u8BEF:",d),d.code==="EADDRINUSE"){if(process.env.DEV_HTTP_PORT){console.error(`\u5F00\u53D1\u7AEF\u53E3 ${u} \u5DF2\u88AB\u5360\u7528\uFF0C\u8BF7\u5148\u91CA\u653E\u540E\u91CD\u8BD5`);return}console.log(`\u7AEF\u53E3 ${u} \u5DF2\u88AB\u5360\u7528\uFF0C\u5C1D\u8BD5\u4E0B\u4E00\u4E2A\u53EF\u7528\u7AEF\u53E3...`),o(c+1)}else setTimeout(()=>{console.log("\u91CD\u65B0\u5C1D\u8BD5\u542F\u52A8\u670D\u52A1\u5668..."),o(c)},2e3);else console.log(`\u670D\u52A1\u5668\u542F\u52A8\u6210\u529F: ${f}`),Kt.isReady=!0,setTimeout(async()=>{try{await Qr.notifyServerStarted(f)}catch(h){console.warn("\u901A\u77E5 Dart \u7AEF\u542F\u52A8\u72B6\u6001\u5931\u8D25:",h.message)}if(Kt.firstRun)try{let h=await Qr.queryProfile();if(!PMe(h))return;if(Kt.userWroteSinceBoot){console.log("\u542F\u52A8\u540E\u5DF2\u53D1\u751F\u7528\u6237\u5199\u5165\uFF0C\u8DF3\u8FC7 Dart profile \u8986\u76D6");return}await Kt.db.push("/",h),await MMe(Kt),await kMe(Kt),console.log("\u5DF2\u7528 Dart profile \u5B8C\u6210\u9996\u6B21\u540C\u6B65")}catch(h){console.warn("\u9996\u6B21\u540C\u6B65 Dart profile \u5931\u8D25:",h?.message||h)}},500)})}catch(d){console.error("\u76D1\u542C\u7AEF\u53E3\u65F6\u53D1\u751F\u5F02\u5E38:",d),setTimeout(()=>{console.log("\u91CD\u65B0\u5C1D\u8BD5\u542F\u52A8\u670D\u52A1\u5668..."),o(c)},2e3)}};o(9988)}catch(t){throw console.error("\u670D\u52A1\u5668\u521D\u59CB\u5316\u5931\u8D25:",t),Kt=null,t}}async function p3n(){if(console.log("\u6B63\u5728\u505C\u6B62\u670D\u52A1\u5668..."),Kt)try{await Kt.close(),console.log("\u670D\u52A1\u5668\u5DF2\u505C\u6B62")}catch(e){console.error("\u505C\u6B62\u670D\u52A1\u5668\u65F6\u51FA\u9519:",e)}finally{Kt.stop=!0,Kt.isReady=!1,Kt=null}else console.warn("server \u5BF9\u8C61\u4E3A null")}0&&(module.exports={start,stop}); +/*! Bundled license information: + +forwarded/index.js: + (*! + * forwarded + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + *) + +proxy-addr/index.js: + (*! + * proxy-addr + * Copyright(c) 2014-2016 Douglas Christopher Wilson + * MIT Licensed + *) + +toad-cache/dist/toad-cache.cjs: + (** + * toad-cache + * + * @copyright 2024 Igor Savin + * @license MIT + * @version 3.7.0 + *) + +cookie/index.js: + (*! + * cookie + * Copyright(c) 2012-2014 Roman Shtylman + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +light-my-request/lib/form-data.js: + (*! formdata-polyfill. MIT License. Jimmy Wärting *) + +mime-db/index.js: + (*! + * mime-db + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015-2022 Douglas Christopher Wilson + * MIT Licensed + *) + +mime-types/index.js: + (*! + * mime-types + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +web-streams-polyfill/dist/ponyfill.es2018.js: + (** + * @license + * web-streams-polyfill v3.3.3 + * Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors. + * This code is released under the MIT license. + * SPDX-License-Identifier: MIT + *) + +fetch-blob/index.js: + (*! fetch-blob. MIT License. Jimmy Wärting *) + +formdata-polyfill/esm.min.js: + (*! formdata-polyfill. MIT License. Jimmy Wärting *) + +node-domexception/index.js: + (*! node-domexception. MIT License. Jimmy Wärting *) + +pako/dist/pako.esm.mjs: + (*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) *) + +chokidar/esm/index.js: + (*! chokidar - MIT License (c) 2012 Paul Miller (paulmillr.com) *) + +crypto-js/ripemd160.js: + (** @preserve + (c) 2012 by Cédric Mesnil. All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *) + +crypto-js/mode-ctr-gladman.js: + (** @preserve + * Counter block mode compatible with Dr Brian Gladman fileenc.c + * derived from CryptoJS.mode.CTR + * Jan Hruby jhruby.web@gmail.com + *) + +hls-parser/index.js: + (*! Copyright Kuu Miyazaki. SPDX-License-Identifier: MIT *) + +sax/lib/sax.js: + (*! http://mths.be/fromcodepoint v0.1.0 by @mathias *) + +node-rsa/src/NodeRSA.js: + (*! + * RSA library for Node.js + * + * Author: rzcoder + * License MIT + *) + +rwlock/lib/lock.js: + (*! ReadWriteLock - v5.0.0 - 2015-01-16 + * Author: Alberto La Rocca (https://github.com/71104) + * Released under the MIT license + * Copyright (c) 2015 Alberto La Rocca *) +*/ + + if (typeof globalThis.__catpawBootLog === 'function') { + var __catpawExportKeys = []; + try { + if (typeof module !== 'undefined' && module && module.exports) { + __catpawExportKeys = Object.keys(module.exports); + } + } catch (_) {} + globalThis.__catpawBootLog('bundle fully loaded module.exports keys=' + __catpawExportKeys.join(',')); + } +} catch (e) { + if (typeof globalThis.__catpawBootLog === 'function') { + var __catpawErr = e && (e.stack || e.message) ? (e.stack || e.message) : e; + globalThis.__catpawBootLog('FATAL bundle eval: ' + __catpawErr); + } + throw e; +} + diff --git a/catvod/Motorola/index.js.md5 b/catvod/Motorola/index.js.md5 new file mode 100644 index 00000000..eb5bded4 --- /dev/null +++ b/catvod/Motorola/index.js.md5 @@ -0,0 +1 @@ +233d31ea88b7cb5437c633bb4b8a7f17 \ No newline at end of file diff --git a/recha18/02.json b/recha18/02.json index 38ac80ae..56b22e17 100644 --- a/recha18/02.json +++ b/recha18/02.json @@ -1,506 +1,3951 @@ ---- -# 變量詳細參考文檔 (Variable Reference) +(async function() { + if (window._mvuFinalStableV110) return; + await waitGlobalInitialized('Mvu'); + console.log('✅ MVU ZOD 最終穩定後處理 v11.1 已啓用'); -生理: # 反映角色身體內部具體生理需求的數值。 - 當前生命值: 代表綜合身體機能的抽象數值。降至0則角色死亡。受傷、疾病、飢餓、脫水等會降低此值。 - 生命值上限: 由腳本自動計算,AI不需任何改動。 - 碳水: 通過進食含有碳水的食物補充。在進行劇烈活動,處於寒冷環境或其他會消耗比基礎代謝更多的熱量的時候。先於脂肪和蛋白質消耗。當碳水超過2000的時候,多餘碳水的75%將會轉換爲脂肪。 - 脂肪: 通過進食富含脂肪的食物補充。超過2000的碳水的75%也會轉換成脂肪。 - 氮平衡: 身體每天消耗和合成蛋白質的平衡,食用富含蛋白質的食物時增加。75以上正氮平衡會獲得1.5倍力量經驗增長,更快從疲勞恢復。 - 蛋白質: 每小時會增加或減少氮平衡值的五分之一。低於2200會導致力量下降,免疫下降,傷口難以癒合,更難恢復耐力或其他缺乏蛋白質的副作用,低於越多副作用越大。 - 維生素: 通過進食水果、蔬菜等補充。低於50會影響免疫力並可能導致疾病。 - 水分: 任何進食行為水分都直接恢復到80。在進行體力活動、處於高溫環境等出汗狀態加速消耗時,進行額外的扣除。低於50會開始影響耐力並造成生命值損傷。0時死亡。喝水或使用富含水分的食物補充,不可超過100的上限。 - 體溫: 核心體溫,正常範圍36.5-37.5。受環境溫度、衣物、活動強度影響。過高或過低都會導致負面狀態。 - 免疫負荷: 代表免疫系統當前承受的壓力。受傷、感染、疾病會增加此值。高於免疫力越多,越容易生病和感染。 - 飽腹感: 只計算進食後增加。當超過100點時會嘔吐,睡眠期間消耗減半。絕對嚴禁睡醒後直接設定飽腹感歸零。 - 排泄欲: 代表膀胱和腸道的充盈程度。隨時間增加,可通過如廁解決。過高會造成不適、降低專注力,極高時會強制排泄並造成清潔度下降和精神損失。 + var _ = window._; + var get = function(o, p) { return _.get(o, p); }; + var set = function(o, p, v) { return _.set(o, p, v); }; -精神: # 反映角色心理和情緒狀態的數值。 - 當前精神值: 代表綜合精神狀態的抽象數值。降至0則角色崩潰。壓力、創傷、孤獨、恐懼等會降低此值。 - 精神值上限: 由腳本自動計算,AI不需任何改動。 - 壓力: 代表心理壓力水平。遭遇危險、疼痛、睡眠不足會增加。過高會持續降低精神值。 - 性慾: 代表當前的性慾強度。看到吸引人的異性、親密接觸、滿月等會增加。過高會影響判斷力並持續降低精神值。可透過自慰、性行為或強烈刺激來宣洩降低。 - 無聊: 長時間無所事事或重複單調活動會增加,代表精神刺激的缺乏程度。過高會降低精神值。娛樂、進行冒險或食用美味的食物會減少。 - 孤獨: 代表社交需求的滿足程度。過高會降低精神值。跟生物交流或互動可降低 - 睡眠: 通過睡眠或休息恢復。過低會導致疲勞並影響所有屬性。0時會強制昏迷。被動消耗已由腳本自動處理。 + var isProcessing = false; + var lastSnapshot = null; + var fixCount = 0; + var delCount = 0; + var lastLogHash = ''; -天賦特性: # 在開局時insert,根據描述影響各種判定。 - # 格式:'天賦特性名': { '描述': '具體描述', '加值': { '加值項目名稱': 數值 } } - # 說明:描述該天賦特性的主要內容,加值為對檢定的加值數據 - # 範例:`{"op":"insert","path":"/天賦特性/夜視","value":{"描述":"在黑暗中也能清晰視物","加值":{"夜間觀察":20}}}` + // ==================== Debug 模式開關 ==================== + var DEBUG_MODE = false; // ← 設為 true 開啟詳細 Log -屬性: # 角色六大主屬性,影響各種檢定和生理、精神屬性。 - # 格式:'屬性名稱': { '等級': 1, '當前經驗': 0, '升級所需經驗': 100 , '加值': 0 } - # 說明:當前經驗每次涉及屬性的檢定無論成功失敗都會增加,增加量為簡單難度+25,中等+50,困難+75。升級所需經驗: 等級*10,加值為生效效果的輔助效果,由腳本自動計算。 - 力量: # 決定負重上限和近戰傷害。 - 敏捷: # 影響閃避、命中和執行精細操作的速度。 - 耐力: # 決定生命值上限、奔跑持久度和對疲勞、疾病的抵抗力。 - 智力: # 影響學習速度、製作複雜物品和解決問題的能力。 - 感知: # 決定發現隱藏物品、蹤跡和察覺危險的能力。 - 意志: # 決定精神值上限和對緊急情況判斷、情感變化耐受度、壓力及疼痛的承受力。另外在緊急情況下沒有逃避而做出判斷,無論結果如何都會增加經驗。在男女感情做出抉擇、抵抗誘惑,又或是成功獲得同伴滿意的決定、色誘或勸誘同伴、調教同伴、欺騙同伴、成功與同伴進行性交等需要進行判定的行為時,無論成功與否都會增加經驗。 + function debugLog() { + if (DEBUG_MODE) { + console.log('[🔍]', ...arguments); + } + } -狀態: # 記錄角色的各種即時狀態和效果。 - 當前負重: 當前所有攜帶物品和裝備的總重量。超過負重上限的50%開始影響行動速度和疲勞,超過越多影響越大,超過負重上限會完全無法移動。 - 負重上限: 由腳本自動計算,AI不需任何改動 - 表皮溼度: 代表皮膚表面的溼潤程度。出汗、淋雨會增加,乾燥環境會降低。影響體感溫度。 - 疲勞: 代表身體的疲憊程度。由體力消耗和睡眠不足累積。在不進行明顯消耗體力的活動(如靜坐、釣魚、休息)時。 - 受傷: 記錄身體的受傷情況,例如:'無'、'輕微擦傷'、'右臂骨折'。會影響相應身體機能和產生疼痛。 - 流血: 流血類型,代表是否存在開放性傷口導致持續失血。會持續降低生命值,需包紮止血。 - 感染: 代表傷口感染程度。100表示身體徹底被感染內臟衰竭,角色死亡。 - 疾病: 疾病名稱,若免疫負荷大於免疫力,在免疫負荷繼續提高的時候獲得。 - 清潔: 代表身體和衣物的清潔度。在骯髒環境活動會降低。過低會增加感染風險和社交負面影響。 - 疼痛: 代表身體感受到的疼痛等級。由受傷程度決定。會持續降低精神值並影響行動。 - 免疫力: 基礎免疫力等於耐力,維生素等的缺乏會降低,綜合計算的抵抗疾病能力。 - 最低舒適溫度: 角色在當前衣物和狀態下不會過冷的最低溫度,越低越抗冷。受到裝備、溼度等元素影響。參考 rimworld。 - 最高舒適溫度: 角色在當前衣物和狀態下不會過熱的最高體感溫度,越高越抗熱。受到裝備、溼度等元素影響。參考 rimworld。 - 生效效果: 角色當前正在生效的狀態效果。會對角色屬性、檢定等產生影響。添加、移除已全部由腳本自動處理,禁止AI使用任何方式更改。 + function keyLog() { + console.log('[📌]', ...arguments); + } + + function errorLog() { + console.error('[❌]', ...arguments); + } -技能: # 對象,一個可擴展的對象,以技能名稱為鍵,記錄角色掌握的各項技能。 - # 格式:'技能名稱': { '等級': 數字, '當前經驗': 數字, '升級所需經驗': 數字 } - # - # 特殊技能 - 好感(對象名稱): - # 用於記錄同伴對特定對象的好感度 - # 經驗值獲取範圍: - # - 日常(關懷、送禮、一起工作):5 ~ 10 - # - 交流(打動對方、深入對話、成功教導):15 ~ 30 - # - 親密(接吻、愛撫、誘惑):25 ~ 50 - # - 感動(犧牲、保護、重大決定):40 ~ 75 - # - 第一次(初吻、初體驗):50 ~ 100 - # 等級範圍:1-20+,對應性愛自訂規則中的階段 - # 範例: "好感(對阿彬)": { "等級": 3, "當前經驗": 120, "升級所需經驗": 300 } - # 說明: - # - 等級:技能等級,新獲得技能時,等級為1 - # - 當前經驗:使用技能時根據難度獲得 +25 ~ +250 - # - 升級所需經驗:1級以上為技能等級 * 100 + // ==================== 整數路徑(根據新設計更新) ==================== + var integerPaths = [ + '生理.當前生命值', '精神.當前精神值', + '生理.碳水', '生理.脂肪', '生理.氮平衡', '生理.蛋白質', '生理.維生素', '生理.水分', '生理.排泄欲', + '精神.壓力', '精神.無聊', '精神.孤獨', '精神.睡眠', '精神.性慾', + '生理.飽腹感', '狀態.表皮溼度', '狀態.疲勞', '狀態.清潔', '生理.免疫負荷', '狀態.免疫力', + '同伴.*.生理狀態.流產風險累積', '同伴.*.生理狀態.流產次數', '同伴.*.生理狀態.上次流產日', '同伴.*.生理狀態.流產待處理' + ]; + var decayRates = [0.06, 0.15, 0.35, 0.8, 2.4]; -裝備: # 記錄角色當前穿戴的裝備,以部位為鍵。 - 限制: 所有裝備都同時只能裝備一件。 - 頭部: 記錄頭部佩戴的裝備信息。 - 頸部: 記錄頸部佩戴的裝備信息。 - 胸部: 記錄胸部佩戴的裝備信息。 - 背部: 記錄背部佩戴的裝備信息。 - 腰部: 記錄腰部佩戴的裝備信息。 - 右手: 記錄右手佩戴的裝備信息。 - 左手: 記錄左手佩戴的裝備信息。 - 腿部: 記錄腿部佩戴的裝備信息。 - 腳部: 記錄腳部佩戴的裝備信息。 - 其他: 記錄佩戴的不適用於已有部位的裝備信息。 + var SEASON_CONFIG = { + SPRING_DAYS: 30, + SUMMER_DAYS: 30, + AUTUMN_DAYS: 30, + WINTER_DAYS: 30, + SEASON_ORDER: ['春季', '夏季', '秋季', '冬季'] + }; - 裝備操作示例_JSON_Patch: - # 穿裝備範例:{"op":"replace","path":"/裝備/背部","value":{"大容量登山包":{"狀態類型":"耐久度","狀態":100,"重量":1.8,"負重加成":1.5,"描述":"..."}}} - # 脫裝備範例:{"op":"replace","path":"/裝備/背部","value":{}} - # 同伴穿裝備範例:{"op":"replace","path":"/同伴/同伴名/裝備/腳部","value":{"簡易涼鞋":{"狀態類型":"耐久度","狀態":100,"重量":0.4,"描述":"..."}}} + var SEASON_GROWTH_BONUS = { + '春季': 15, + '夏季': 20, + '秋季': 0, + '冬季': -50 + }; -攜帶物品: # 對象,以物品名稱為鍵,記錄角色攜帶的物品。根據<模擬規則>中的物品格式說明,新增物品格式示例:'物品名稱': { '數量': 數字, '品質': '', '狀態類型': '耐久度/新鮮度/純淨度', '狀態': 數字, '重量': 數字, '描述': '', '負重加成': 數字, '加值': { '技能': 數字 }, '功能': '' } - 說明: - 數量:物品數量 - 品質:物品的品質等級 - 狀態類型:耐久度/新鮮度/純淨度 - 狀態:物品的當前狀態值 - 重量:單個物品的重量 - 加值:物品的背景加值 - 容量:當物品裝載液體時包含 - 負重加成:攜帶物品的容器如背包時包含 - 功能:該物品的功能說明 - 描述:對物品的描述 + var PREGNANCY_CONFIG = { + STAGES: [ + { name: '懷孕初期', maxDays: 30 }, + { name: '懷孕中期', maxDays: 60 }, + { name: '懷孕後期', maxDays: 90 } + ], + AUTO_BIRTH: true + }; - 範例: - 新增:{"op":"insert","path":"/攜帶物品/野莓","value":{"數量":3,"狀態類型":"新鮮度","狀態":100,"重量":0.05,"描述":"酸甜的野生漿果"}} - 轉移: - 1. { "op": "remove", "path": "/源位置/物品名" } - 2. { "op": "insert", "path": "/目標位置/物品名", "value": { ... } } + var LIVESTOCK_CONFIG = { + GROWTH_STAGES: { + '幼年期': { minAge: 0, maxAge: 3, canBreed: false }, + '成長期': { minAge: 3, maxAge: 12, canBreed: false }, + '成年期': { minAge: 12, maxAge: 72, canBreed: true }, + '老年期': { minAge: 72, maxAge: 999, canBreed: false } + }, + LIFESPAN: { '野雞': 60, '野山羊': 120, '馬鹿': 180, '野兔': 84 }, + SEASON_PRODUCTION_BONUS: { '春季': 10, '夏季': 5, '秋季': 0, '冬季': -20 }, + BREEDING_CONFIG: { + BASE_BREEDING_CHANCE: 0.25, + MIN_BREEDING_AGE: 12, + BREEDING_COOLDOWN: { '野雞': 30, '野山羊': 45, '馬鹿': 60, '野兔': 20 }, + GENDER_RATIO: { male: 0.48, female: 0.52 } + } + }; -環境: # 描述角色當前所處環境的各項參數。 - 當前位置: 當前所在地點名稱。 - 舒適度: 角色在當前環境下的綜合主觀感受,範圍0-100。主要受天氣、溫度、風速及營地/居所設施情況影響。50爲中性,越高越舒適,越低則越感到不適。 - 季節: 當前的季節,每30天變更,影響溫度,天氣,動物行爲等。 - 體感溫度: 角色皮膚感受到的攝氏溫度,受環境溫度、風速、溼度、衣物等綜合影響。 - 天氣: 當前的天氣狀況,由自然環境模擬引擎自動推演。 - 亮度: 當前環境的亮度,由自然環境模擬引擎根據時間和天氣自動推演。 - 風速: 當前的風速狀況,由自然環境模擬引擎自動推演。 - 月相: 當前的月相,由天氣引擎根據經過天數自動計算。滿月夜間亮度提升至微光(晴朗時),新月完全黑暗。 - 天氣趨勢: 天氣即將發生變化的徵兆描述,由天氣引擎自動寫入。AI只讀,禁止修改。 - 氣溫: 環境氣溫(°C),由自然環境模擬引擎自動維護。引擎基於季節、氣團、地理環境、天氣等因素平滑推演氣溫變化。 - -系統: # 遊戲世界的核心數據和任務信息。 - 經過天數: 遊戲經過的天數 - 前次天數: 紀錄上一次的天數 - 當前時間: 24小時制時間,格式爲HH:MM。隨行動和時間流逝而更新。 - 前次時間: 腳本自動計算 - 求生點數: 玩家擁有的求生點數,用來抽取抽卡卡池,每次消耗100點 - 當前存糧天數: 當前剩餘糧食可供消耗的天數(單位:天),由AI根據食物消耗和補充情況更新 - 性愛結果: # 由劇情AI輸出,腳本自動讀取並清除 - 角色: 同伴名稱 - 完成: true/false # true=射精完成,false=中斷 - 內射: true/false - 授精者: 角色名稱 # 新增:內射者的名稱,用於懷孕判定時記錄父親 - 避孕措施: 無/保險套/體外射精/避孕藥/安全期/肛交 - 情境: 情感推進/調教誘騙/武力強迫/被動捲入 - 腳本修正狀態: 記錄腳本修正的狀態 - -商店: # 每日跨日(00:00後)刷新販售物品,每天每個類別僅有一種。 - # 類型:包含材料、工具、奇物、夥伴-技術與後勤、夥伴-戰鬥與探索、夥伴-反派與妖魅、夥伴-純愛與保護控、藥物、盲盒九個類別 - # 每個類別都是單一物件(不是陣列),格式為:{ "名稱": "文字","品階":"N/R/SR/SSR/UR", "描述": "文字", "需求點數": 數字 } - - 材料: 材料的名稱、詳細描述(包含數量與計量單位),如汽(柴)油、礦物、合金、布匹、纖維絲線等。 - 工具: 非一次性使用的工具,如鐵斧、狩獵弓、便攜式瓦斯爐。 - 奇物: 人類無法製造的特殊物品。描述必須列出正式出處(神話、漫畫、動漫、小說、電影等)、功能、特殊效果。 - 藥物: 治療(含恢復健康、體力、解毒、淨化)、提升抗性。強化(臨時大幅強化特定效果、永久性小幅度強化屬性或能力)、毒藥、促進作物生長、特殊功效(春藥、失憶、洗腦、催眠、致幻、誠實)。 - 盲盒: 可能是材料、工具、奇物、夥伴、藥物或點數盲盒,品階均為'?'。 - - 夥伴-技術與後勤: - 描述: 擅長維修、建造、醫療、戰術策劃、資源管理等非戰鬥支援型角色。描述中必須明確列出其正式出處(不可用"某荒野求生漫畫"等不明確作品名稱)、求生優勢、性愛優勢,這些優勢將直接決定該角色的技能、天賦特性及費用。 - 品階: 按照其稀缺性、特殊性、知名度等,綜合評定夥伴的品階高低 - 分類判定標準(滿足任一即可): - - 職業或身份為:科學家、工程師、醫生、護士、機械師、建築師、程式設計師、會計、廚師、裁縫、教師、圖書館員、策劃師等 - - 核心能力為:維修、建造、醫療、戰術策劃、資源管理、情報分析、通訊、研發、生產 - - 性格特質為:理性、謹慎、善於規劃、喜歡待在安全的後方 - - 戰鬥能力為:較弱或非主要強項(即使有戰鬥能力,也以支援為主) - 求生優勢評分側重: 專業技能的不可替代性、資源管理效率、降低團隊消耗的能力 - - 夥伴-戰鬥與探索: - 描述: 擁有卓越戰鬥技巧、偵查、潛行、野地生存等前線作戰能力的角色。描述中必須明確列出其正式出處(不可用"某荒野求生漫畫"等不明確作品名稱)、求生優勢、性愛優勢,這些優勢將直接決定該角色的技能、天賦特性及費用。 - 品階: 按照其稀缺性、特殊性、知名度等,綜合評定夥伴的品階高低 - 分類判定標準(滿足任一即可): - - 職業或身份為:士兵、傭兵、獵人、偵查兵、遊俠、忍者、騎士、警衛、保鏢、格鬥家、運動員等 - - 核心能力為:戰鬥技巧、武器精通、偵查潛行、野地生存、追蹤獵殺、護衛、警戒 - - 性格特質為:果斷、警覺、勇猛、行動派、習慣於危險環境 - - 戰鬥能力為:明顯擅長一對一戰鬥或小規模衝突 - 求生優勢評分側重: 個人戰力強度、野外適應力、偵查與護衛效能 - - 夥伴-反派與妖魅: - 描述: 具有危險氣質、邪惡陣營、或帶有神秘/非人(如妖、魔)魅力的角色。忠誠度可能需要特殊手段維繫。描述中必須明確列出其正式出處(不可用"某荒野求生漫畫"等不明確作品名稱)、求生優勢、性愛優勢,這些優勢將直接決定該角色的技能、天賦特性及費用。 - 品階: 按照其稀缺性、特殊性、知名度等,綜合評定夥伴的品階高低 - 分類判定標準(滿足任一即可): - - 陣營或立場為:反派、惡役、黑道、犯罪者、叛徒、墮落者、被詛咒者 - - 種族或身份為:魔族、妖怪、鬼魂、吸血鬼、狼人、惡魔、邪神眷屬、非人存在 - - 核心能力為:詛咒、下毒、操控、欺騙、脅迫、黑市知識、禁忌力量 - - 性格特質為:邪氣、危險、神秘、傲慢、算計、充滿誘惑力、令人又愛又怕 - - 與主角的關係為:敵對立場、相互利用、或充滿張力的曖昧危險關係 - 求生優勢評分側重: 非常規手段的獨特價值(如用黑市管道取得物資、用恐懼操控他人)、神秘力量的特定情境優勢 - 性愛優勢評分側重: 危險誘惑、邪魅氣質、非人美感、支配/被支配的魅力 - - 夥伴-純愛與保護控: - 描述: 對主角(或特定對象)有極強忠誠、保護慾、或純粹愛慕之情的角色,其驅動力來自情感連結。描述中必須明確列出其正式出處(不可用"某荒野求生漫畫"等不明確作品名稱)、求生優勢、性愛優勢,這些優勢將直接決定該角色的技能、天賦特性及費用。 - 品階: 按照其稀缺性、特殊性、知名度等,綜合評定夥伴的品階高低 - 分類判定標準(滿足任一即可): - - 與主角的關係為:戀人、青梅竹馬、未婚夫妻、暗戀者、前伴侶、命中注定之人 - - 核心驅動力為:對主角的愛、保護慾、佔有慾、忠誠、奉獻 - - 性格特質為:溫柔、專情、執著、體貼、或病嬌、過度保護、跟蹤狂(極端版) - - 行為模式為:以主角為中心行動、將主角安全置於一切之上 - 求生優勢評分側重: 忠誠帶來的可靠性、保護主角的決心(危急時爆發)、情感羈絆帶來的穩定後勤支援 - 性愛優勢評分側重: 純粹愛意、溫柔呵護、或強烈佔有慾帶來的情感張力與獨特魅力 - - 夥伴總則(四個夥伴類別通用): - 1. 查看當前同伴列表,不得抽取同名角色 - 2. 本次抽取不得與歷史紀錄中任何夥伴類別的角色出處相同,操作方式:遍歷'/系統/商店歷史/商品',出處相同即須重新抽取 - 3. 角色的基礎能力應符合當前遊戲進度 - 4. 如果抽到強度過高的角色,請自動降低其能力(過強角色在荒野世界會有一定弱化) - 5. 必定是明確作品中的角色,不要自創素人角色。 - 6. 總需求點數 = 求生優勢 + 性愛優勢 + 知名度,三項各為100~500,知名度可為0 - - 分類衝突時的歸屬優先級(若角色同時符合多個類別): - 1. 純愛與保護控 > 反派與妖魅(即使角色是反派,若對主角有明確的愛/保護/佔有動機,優先歸此類) - 2. 反派與妖魅 > 戰鬥與探索(即使角色戰鬥力很強,若帶有明顯邪氣或非人魅力,優先歸此類) - 3. 技術與後勤 > 戰鬥與探索(即使角色能打,若其核心價值為後勤支援,優先歸此類) - - 每日刷新範例(AI 執行刷新時使用): - {"op":"replace","path":"/商店/材料","value":{"名稱":"新商品名","品階":"N/R/SR/SSR/UR","描述":"...","需求點數":100}} - {"op":"replace","path":"/商店/夥伴-技術與後勤","value":{"名稱":"XXX","品階":"SR","描述":"出自《XXX》,求生優勢:...,性愛優勢:...","需求點數":1000}} - -任務: # 各種類型任務的信息。 - # 格式: { "標題": "任務名稱", "描述": "任務詳細說明", "狀態": "進行中", "完成情況": {"基礎要求完成": false, "進階目標完成": false}, "結算狀態": {"基礎獎勵已發放": false, "進階獎勵已發放": false}, "區域限制": "", "開始時間": "第3天 06:00", "結束時間": "第6天 06:00", "任務要求": { "基礎要求1": { "描述": "...", "進度": 0, "目標": 1, "已完成": false }}, "進階目標": { "進階要求1": { "描述": "...", "進度": 0, "目標": 1, "已完成": false }}, "基礎獎勵": "獎勵描述", "進階獎勵": "獎勵描述" } - 主線: 當前的主線任務,引導玩家生存。有且只有一個,空值時立即生成新的任務。 - 支線: 當前的支線任務,引導玩家進行各種挑戰。有且只有一個,空值時立即生成新的任務。 - 日常: 當前的日常任務,每天可做一次的簡單任務,穩定的求生點數來源。只有一個。 - 羈絆: 用於記錄每位同伴(寵物)的羈絆任務,有幾位同伴就有幾個。 - 背德: 當前的背德任務。 - # 範例 - "背德": { - "標題": "曖昧的界線", - "描述": "千鶴對你的好感升級了,她開始用不同的眼光看你。但這份感情,可能傷害到和也⋯⋯", - "狀態": "進行中", - "完成情況": {"基礎要求完成": false, "進階目標完成": false}, - "結算狀態": {"基礎獎勵已發放": false, "進階獎勵已發放": false}, - "區域限制": "", - "開始時間": "第5天 14:00", - "結束時間": "第8天 14:00", - "任務要求": { "基礎要求1": { "描述": "在千鶴向你暗示好感時,做出選擇(接受/保持距離/拖延)", "進度": 0, "目標": 1, "已完成": false }}, - "進階目標": { "進階要求1": { "描述": "處理好與和也的關係,不讓他知道(或讓他接受)這件事", "進度": 0, "目標": 1, "已完成": false }}, - "基礎獎勵": "求生點數:80,千鶴好感經驗+90", - "進階獎勵": "劇情演出:[事件-千鶴的告白-1-未發放:千鶴在雨夜向你坦白心意]", - "失敗懲罰": "千鶴好感技能經驗-60,和也技能經驗好感-50,團隊氣氛惡化" + var AFFECTION_SYSTEM = { + STAGES: { + 1: { name: '陌生', range: [1,1], 模糊地帶: false, intimacyTolerance: 0, romanticThreshold: 0 }, + 2: { name: '朋友-穩定期', range: [2,2], 模糊地帶: false, intimacyTolerance: 10, romanticThreshold: 10 }, + 3: { name: '朋友-親密臨界區', range: [3,3], 模糊地帶: true, intimacyTolerance: 30, romanticThreshold: 20 }, + 4: { name: '摯友-深度期', range: [4,5], 模糊地帶: false, intimacyTolerance: 40, romanticThreshold: 30 }, + 6: { name: '摯友-戀人臨界區', range: [6,7], 模糊地帶: true, intimacyTolerance: 65, romanticThreshold: 50 }, + 8: { name: '戀人-新晉期', range: [8,8], 模糊地帶: false, intimacyTolerance: 85, romanticThreshold: 70 }, + 9: { name: '戀人-穩定臨界區', range: [9,9], 模糊地帶: true, intimacyTolerance: 95, romanticThreshold: 85 }, + 10: { name: '摯愛', range: [10,999], 模糊地帶: false, intimacyTolerance: 100, romanticThreshold: 100 } + }, + getStage: function(level) { + var l = Number(level); + if (isNaN(l) || l < 1) return this.STAGES[1]; + for (var key in this.STAGES) { + var stage = this.STAGES[key]; + if (l >= stage.range[0] && l <= stage.range[1]) return stage; } - 緊急: 當前的緊急任務,打破玩家的安逸日常,給玩家增加壓力和緊迫感。只有一個。格式與背德任務相同。 + return this.STAGES[10]; + }, + getStageName: function(level) { return this.getStage(level).name; }, + isInGrayZone: function(level) { return this.getStage(level).模糊地帶; } + }; -營地: # 物件,以營地名稱為鍵,記錄角色建立的營地信息。 - 格式:{ "位置": "", "樣式": "", "物品": {}, "食材": {}, "醫藥": {}, "材料": {}, "牲畜": {}, "設施": {}, "奇物": {}, "武器": {} } - 說明: - - 位置:營地的地點及地形 - - 樣式:營地包含的主要建築及型式 - - 物品/食材/醫藥/材料/牲畜/設施/奇物/武器:存放在營地的各類物品 - 操作:insert(新增營地),remove + insert(物品轉入/轉出) - - 【新增營地範例】: - 1. 先建立營地空殼(確保路徑存在) - {"op":"insert","path":"/營地/聆風丘陵營地","value":{"位置":"聆風丘陵河畔","樣式":"簡易營地","物品":{},"食材":{},"醫藥":{},"材料":{},"牲畜":{},"設施":{},"奇物":{},"武器":{}}} - - 2. 再新增物品到對應分類 - {"op":"insert","path":"/營地/聆風丘陵營地/材料/木材","value":{"數量":20,"狀態類型":"耐久度","狀態":100,"重量":2,"描述":"堅硬的河畔楓原木"}} - - 3. 或者,建立營地時直接帶入初始物品(推薦) - {"op":"insert","path":"/營地/聆風丘陵營地","value":{"位置":"聆風丘陵河畔","樣式":"簡易營地","物品":{},"食材":{},"醫藥":{},"材料":{"木材":{"數量":20,"狀態類型":"耐久度","狀態":100,"重量":2,"描述":"..."}},"牲畜":{},"設施":{},"奇物":{},"武器":{}}} + var SEXUAL_CONFIG = { + CORRUPTION_STAGES: { + 0: { name: '初次被迫', minCount: 1, maxCount: 1 }, + 1: { name: '重複暴露', minCount: 2, maxCount: 3 }, + 2: { name: '生理轉折點', minCount: 4, maxCount: 4 }, + 3: { name: '矛盾加劇', minCount: 5, maxCount: 7 }, + 4: { name: '開始沉淪', minCount: 8, maxCount: 999 } + } + }; -遺留物: # 頂層結構,記錄以非正常方式脫離角色身體且未立即放入庫存的裝備或物品。與攜帶物品、營地同級。格式: '遺留物名': { '位置': '', '品質': '', '狀態類型': '耐久度', '狀態': 100, '重量': 0, '描述': '' } - 位置: 遺留物當前所處的環境位置描述(如"野豬屍體旁"、"河邊石頭上"、"戰鬥現場地面")。 - 品質: 遺留物的品質等級(N/R/SR/UR)。 - 狀態類型: 遺留物的狀態類型(耐久度/新鮮度/純淨度等)。 - 狀態: 遺留物的當前狀態值。 - 重量: 遺留物的單個重量。 - 描述: 對遺留物當前狀態和所處情境的描述(如"一把插在野豬屍體上的石制短矛,矛尖沾滿血跡")。 + // ======================== 工具函數 ======================== + function int(v) { return Number.isFinite(v) ? Math.round(v) : v; } + function clamp(v, min, max) { return Math.max(min, Math.min(max, v)); } + function v(val, def) { return Number.isFinite(val) ? val : (Number.isFinite(def) ? def : 0); } + // ========== 🔴 新增:性愛結果格式轉換(向後兼容) ========== +function ensureSexResultArray(vars) { + var raw = get(vars, '系統.性愛結果'); + + // 如果是空值或 undefined,初始化為空陣列 + if (raw === undefined || raw === null) { + set(vars, '系統.性愛結果', []); + return []; + } + + // 如果已經是陣列,直接返回 + if (Array.isArray(raw)) { + return raw; + } + + // 🔴 重點:如果是物件(舊格式),轉換為陣列 + if (typeof raw === 'object' && Object.keys(raw).length > 0) { + // 檢查是否是舊格式(有 角色 字段) + if (raw.角色) { + var migrated = [raw]; + set(vars, '系統.性愛結果', migrated); + keyLog('🔄 性愛結果格式轉換:物件 → 陣列(1筆記錄)'); + return migrated; + } + } + + // 其他情況(空物件或異常),設為空陣列 + set(vars, '系統.性愛結果', []); + return []; +} + function parseTime(str) { + var m = /^(\d{1,2}):(\d{2})$/.exec(str); + return m ? parseInt(m[1]) * 60 + parseInt(m[2]) : null; + } + + function parseFullTime(str) { + var m = /第(\d+)天\s+(\d{1,2}):(\d{2})/.exec(str); + if (!m) return null; + var d = parseInt(m[1]), h = parseInt(m[2]), mm = parseInt(m[3]); + return { day: d, hour: h, minute: mm, total: d * 1440 + h * 60 + mm }; + } + + function getCurrentTime(vars) { + var day = get(vars, '系統.經過天數'), + time = get(vars, '系統.當前時間'); + if (!Number.isFinite(day) || typeof time != 'string') return null; + var m = parseTime(time); + return m === null ? null : { + day: day, + hour: Math.floor(m / 60), + minute: m % 60, + total: day * 1440 + m + }; + } + +function fixTimeFormat(vars) { + var currentTime = get(vars, '系統.當前時間'); + if (!currentTime || typeof currentTime !== 'string') return false; + + // 匹配字串結尾的 HH:MM 或 H:MM + var timePattern = /(\d{1,2}):(\d{2})$/; + var match = timePattern.exec(currentTime); + + if (match) { + var hour = match[1].padStart(2, '0'); + var minute = match[2]; + var formattedTime = hour + ':' + minute; + + // 只有當原本不是純 HH:MM 格式時才修正 + if (currentTime !== formattedTime) { + set(vars, '系統.當前時間', formattedTime); + keyLog('⏰ 時間格式修正: "' + currentTime + '" → "' + formattedTime + '"'); + fixCount++; + return true; + } + } + + return false; +} -同伴: # 物件,以同伴名為鍵,記錄同伴的各種信息。 - # { - # "淪陷": { "強制次數": 0, "當前階段": 0 }, - # "狀態": { - # "當前狀態":"當前人物狀況的簡要說明(18個字內)", - # "疲勞":0, - # "清潔":0, - # "生效效果":{}, - # }, - # "生理": { - # "生命值上限": 100, - # "當前生命值": 100, - # "水分":100, - # "飽腹感":80, - # "排泄欲":0 - # }, - # "精神": { - # "精神值上限": 100, - # "當前精神值": 100, - # "壓力":0, - # "睡眠":100 - # }, - # "關係": "陌生人(8個字內)", - # "屬性": { "力量": {}, "敏捷": {}, "耐力": {}, "智力": {}, "感知": {}, "意志": {} }, - # "技能": { "好感(對阿彬)": { "等級": 1, "當前經驗": 0, "升級所需經驗": 100 } }, - # "裝備": { "頭部": {}, "頸部": {}, "胸部": {}, "背部": {}, "腰部": {}, "左手": {}, "右手": {}, "腿部": {}, "腳部": {} }, - # "天賦特性": {"性愛天才": {"描述": "天生熟悉各種性愛技巧","加值":{"性愛檢定":50}}}, - # "攜帶物品": {}, - # "劇情演出": [], - # "敏感部位": { "耳朵": {"被吹氣": "感覺耳朵的癢會傳導到下體,開始濕潤"}}, - # "基礎信息": { - # "姓名": "", - # "年齡": 0, - # "身份": "", - # "性別": "男性/女性/雙性人", - # "外貌": { - # "身高": 165, - # "髮色": "黑色", - # "髮型": "長直髮/短髮/馬尾/雙馬尾等", - # } - # }, - # "性經驗": { - # "性交經驗": "無/生澀/熟練/專家/天才", - # "口交經驗": "無/生澀/熟練/專家/天才", - # "肛交經驗": "無/生澀/熟練/專家/天才", - # "性幻想對象": "鄰居家的大哥哥", - # "性行為次數": 0, - # "性伴侶數量": 0 - # }, - # "生理狀態": { - # "乳頭狀態": "勃起" - # }, - # "心理狀態": { "當前所想": "" }, - # "性癖好": { "NTR": "從他人處獲得快感" }, - # "性愛人設": "從角色的人設及相關資料分析,寫出85-95字的完整性愛方面的人設", - # "背德經歷": {"初次偷情成功": { "描述": "成功與阿彬做愛,沒讓千鶴知道"}} - # } + function scaleValue(oldVal, oldMax, newMax) { + if (!Number.isFinite(oldVal) || !Number.isFinite(oldMax) || !Number.isFinite(newMax) || oldMax <= 0 || newMax <= 0) return oldVal; + return Math.round(oldVal / oldMax * newMax); + } + + function calculateTimeDifference(time1, time2) { + if (!time1 || !time2) return 0; + var h1 = parseInt(time1.split(':')[0]), m1 = parseInt(time1.split(':')[1]); + var h2 = parseInt(time2.split(':')[0]), m2 = parseInt(time2.split(':')[1]); + var minutes = (h2 * 60 + m2) - (h1 * 60 + m1); + if (minutes < 0) minutes += 1440; + return minutes / 60; + } + +function isItemInvalid(item) { + // 檢查是否為有效物件 + if (!item || typeof item !== 'object') return true; + + // 🔴 空物件直接視為無效 + if (Object.keys(item).length === 0) return true; + + var q = get(item, '數量'), + s = get(item, '狀態'), + w = get(item, '重量'); + + // 有數量欄位但數量無效 + if (q !== undefined && !(Number(q) > 0)) return true; + + // 有狀態欄位但狀態無效 + if (s !== undefined && !(Number(s) > 0)) return true; + + // 有重量欄位但重量無效 + if (w !== undefined && !(Number(w) > 0)) return true; + + // 🔴 沒有任何關鍵欄位(數量、狀態、重量),視為結構異常的無效物品 + if (q === undefined && s === undefined && w === undefined) return true; + + return false; +} + + function tempFactor(t) { + if (t < 0) return 0.1; + if (t < 10) return 0.3; + if (t < 20) return 0.6; + if (t < 30) return 1; + if (t < 40) return 1.5; + return 1.8; + } + + function updateDesc(desc, val) { + var d = desc || ''; + var patterns = [ + new RegExp('(看起來不太新鮮的樣子)$'), + new RegExp('(開始有些變質的跡象)$'), + new RegExp('(明顯變質了,需要儘快處理)$'), + new RegExp('(已經壞了,可能不適合使用)$'), + new RegExp('(腐爛了,使用可能會有危險)$') + ]; + patterns.forEach(function(r) { if (r.test(d)) d = d.replace(r, ''); }); + d = d.trim(); + if (val >= 50) return d; + if (val >= 40) return d + '(看起來不太新鮮的樣子)'; + if (val >= 30) return d + '(開始有些變質的跡象)'; + if (val >= 20) return d + '(明顯變質了,需要儘快處理)'; + if (val >= 10) return d + '(已經壞了,可能不適合使用)'; + return d + '(腐爛了,使用可能會有危險)'; + } + + function checkRequirement(req) { + if (!_.isPlainObject(req)) return req; + if (typeof req.進度 == 'number' && typeof req.目標 == 'number') { + if (req.進度 >= req.目標 && !req.已完成) req.已完成 = true; + else if (req.進度 < req.目標 && req.已完成) req.已完成 = false; + } + return req; + } + + function logChange(action, detail) { + var hash = action + ':' + detail; + if (hash === lastLogHash) return; + lastLogHash = hash; + console.log('🔧 ' + action + ': ' + detail); + } + + function updateStatus(vars, status, msg) { + var display; + switch (status) { + case 'fixed': display = '✅ 已修正'; break; + case 'normal': display = '✅ 無需修正'; break; + case 'skipped': display = '⏭️ 未執行'; break; + case 'error': display = '❌ 有錯誤'; break; + default: display = '🔄 未知'; + } + set(vars, '系統.腳本修正狀態', display); + console.log('📊 腳本狀態: ' + display + ' - ' + msg); + } - # ========== 女性/雙性人 專屬字段(保持不變)========== - # "身體特徵": { - # "類型": "female / hermaphrodite", - # "體型": "幼女型/蘿莉型/少女型/御姐型/豐滿型/肉感型/貧乳型/健美型/年長型/誘惑型", - # "三圍": { - # "胸圍": 0, - # "腰圍": 0, - # "臀圍": 0, - # "罩杯": "" - # }, - # "乳房": { - # "形狀": "圓潤碗型", - # "乳頭顏色": "粉紅色" - # }, - # "私處": { - # "類型": "白虎無毛/肥大陰脣/粉嫩短毛/或ai自行構想(四個字)" - # } - # }, - # "性經驗": { - # "處女": "是/否" - # }, - # "生理狀態": { - # "陰蒂狀態": "正常", - # "月經週期": 1-28, - # "懷孕狀態": "未懷孕/懷孕初期/懷孕中期/懷孕後期", - # "懷孕天數": 0, - # "授精者": "姓名", - # "懷孕日": 0, - # "流產風險累積": 0, - # "流產待處理": false # 布爾值,腳本處理完後自動設為 false, - # "流產次數": 0, - # "上次流產日": 0 - # } - # - # ========== 男性/雙性人專屬字段(保持不變)========== - # "身體特徵": { - # "類型": "male / hermaphrodite", - # "陰莖": { - # "長度": 0, - # "粗度": 0, - # "類型": "包含但不限於:包莖/入珠/巨大/倒鉤/粗大/紋身/短小...等,由AI自行決定", - # } - # }, - # "性經驗": { - # "處男": "是/否" - # }, - # "生理狀態": { - # "勃起狀態": "未勃起", - # "射精狀態": "未射精" - # } +// ==================== 整數化與上下限修正(獨立函數) ==================== +function applyIntegerAndBounds(vars) { + var changed = false; + + var allNumericPaths = [ + '生理.當前生命值', '生理.生命值上限', + '生理.碳水', '生理.脂肪', '生理.氮平衡', '生理.蛋白質', + '生理.維生素', '生理.水分', '生理.排泄欲', '生理.飽腹感', '生理.體溫', + '精神.當前精神值', '精神.精神值上限', + '精神.壓力', '精神.無聊', '精神.孤獨', '精神.睡眠', '精神.性慾', + '狀態.表皮溼度', '狀態.疲勞', '狀態.清潔', '狀態.免疫力', + '生理.免疫負荷', '狀態.當前負重', '狀態.負重上限', + '狀態.疼痛', '狀態.感染', + '系統.求生點數', '系統.奇蹟點數', '系統.經過天數' + ]; + +function toInt(value, allowDecimal) { + if (!Number.isFinite(value)) return value; + if (allowDecimal === 'temp') return Math.round(value * 10) / 10; + if (allowDecimal === 'immune') return Math.round(value); // 免疫負荷直接四捨五入 + return Math.round(value); +} + + allNumericPaths.forEach(function(p) { + var val = get(vars, p); + if (typeof val === 'number' && Number.isFinite(val)) { + var allowDecimal = (p === '生理.體溫') ? 'temp' : false; + var newVal = toInt(val, allowDecimal); + if (newVal !== val) { + set(vars, p, newVal); + logChange('整數化', p + ': ' + val + ' → ' + newVal); + changed = true; + } + } + }); + + // 同伴整數化 + var companions = get(vars, '同伴'); + if (_.isPlainObject(companions)) { + for (var name in companions) { + if (name.startsWith('$')) continue; + var compPaths = [ + '同伴.' + name + '.生理.水分', + '同伴.' + name + '.生理.飽腹感', + '同伴.' + name + '.生理.排泄欲', + '同伴.' + name + '.精神.壓力', + '同伴.' + name + '.精神.睡眠', + '同伴.' + name + '.狀態.疲勞', + '同伴.' + name + '.狀態.清潔', + '同伴.' + name + '.生理.當前生命值', + '同伴.' + name + '.精神.當前精神值' + ]; + compPaths.forEach(function(p) { + var val = get(vars, p); + if (typeof val === 'number' && Number.isFinite(val)) { + var newVal = Math.round(val); + if (newVal !== val) { + set(vars, p, newVal); + logChange('同伴整數化', p + ': ' + val + ' → ' + newVal); + changed = true; + } + } + }); + } + } + + // 🔴 強制修正主角脂肪(新增) + var finalFat = get(vars, '生理.脂肪'); + if (typeof finalFat === 'number' && !Number.isInteger(finalFat)) { + keyLog('⚠️ 警告:整數化後生理.脂肪 仍然是 ' + finalFat); + set(vars, '生理.脂肪', Math.round(finalFat)); + keyLog('🔧 強制修正生理.脂肪: ' + finalFat + ' → ' + Math.round(finalFat)); + changed = true; + } + + // 同時也強制修正其他常見有小數的欄位 + var finalNitrogen = get(vars, '生理.氮平衡'); + if (typeof finalNitrogen === 'number' && !Number.isInteger(finalNitrogen)) { + set(vars, '生理.氮平衡', Math.round(finalNitrogen)); + keyLog('🔧 強制修正生理.氮平衡: ' + finalNitrogen + ' → ' + Math.round(finalNitrogen)); + changed = true; + } + + var finalVitamin = get(vars, '生理.維生素'); + if (typeof finalVitamin === 'number' && !Number.isInteger(finalVitamin)) { + set(vars, '生理.維生素', Math.round(finalVitamin)); + keyLog('🔧 強制修正生理.維生素: ' + finalVitamin + ' → ' + Math.round(finalVitamin)); + changed = true; + } + + var finalExcretion = get(vars, '生理.排泄欲'); + if (typeof finalExcretion === 'number' && !Number.isInteger(finalExcretion)) { + set(vars, '生理.排泄欲', Math.round(finalExcretion)); + keyLog('🔧 強制修正生理.排泄欲: ' + finalExcretion + ' → ' + Math.round(finalExcretion)); + changed = true; + } + + var finalFullness = get(vars, '生理.飽腹感'); + if (typeof finalFullness === 'number' && !Number.isInteger(finalFullness)) { + set(vars, '生理.飽腹感', Math.round(finalFullness)); + keyLog('🔧 強制修正生理.飽腹感: ' + finalFullness + ' → ' + Math.round(finalFullness)); + changed = true; + } + + var finalSleep = get(vars, '精神.睡眠'); + if (typeof finalSleep === 'number' && !Number.isInteger(finalSleep)) { + set(vars, '精神.睡眠', Math.round(finalSleep)); + keyLog('🔧 強制修正精神.睡眠: ' + finalSleep + ' → ' + Math.round(finalSleep)); + changed = true; + } + + var finalFatigue = get(vars, '狀態.疲勞'); + if (typeof finalFatigue === 'number' && !Number.isInteger(finalFatigue)) { + set(vars, '狀態.疲勞', Math.round(finalFatigue)); + keyLog('🔧 強制修正狀態.疲勞: ' + finalFatigue + ' → ' + Math.round(finalFatigue)); + changed = true; + } + + if (changed) { + keyLog('🔧 整數化完成,共修正 ' + fixCount + ' 處'); + } else { + keyLog('🔧 整數化執行完畢,無需修正'); + } + + return changed; +} -子嗣: # 對象,一個可擴展的對象,以子嗣名爲鍵,記錄同伴所生的子女信息。新增子嗣格式: '子嗣名': { '性別': '男'|'女', '母親': '', '父親': '玩家名', '出生日期': 第X天, '年齡階段': '新生兒', '成長天數': 0, '核心狀態': {}, '生理': {}, '狀態': '', '屬性': {}, '技能': {}, '天賦特性': {}, '關係': {}, '依戀度': {} } - 性別: 子嗣的性別,'男'或'女'。 - 母親: 子嗣的母親,對應同伴名。 - 父親: 子嗣的父親,固定爲'玩家'。 - 出生日期: 子嗣出生的遊戲天數。 - 年齡階段: 當前所處的成長階段,'新生兒'、'嬰兒'、'幼兒'、'兒童'、'少年'、'成年'。會根據成長天數自動晉升。 - 成長天數: 當前年齡階段內已度過的累計天數。每天自動累加。當年齡階段達到'成年'且成長天數達到上限時,子嗣將從本結構中移除,並作爲標準同伴插入到同伴結構中,保留屬性、技能、天賦特性,並將依戀度轉換爲對父母的初始好感度。 + // ==================== 擴充輔助函數 ==================== + function rollDice(formula) { + if (!formula || typeof formula !== 'string') return 0; + var m = formula.match(/^(\d+)d(\d+)$/); + if (!m) { var n = parseInt(formula); return isNaN(n) ? 0 : n; } + var count = parseInt(m[1]), sides = parseInt(m[2]); + if (count <= 0 || sides <= 0) return 0; + var total = 0; + for (var i = 0; i < count; i++) total += Math.floor(Math.random() * sides) + 1; + return total; + } - 核心狀態: 子嗣最基礎的生存指標。 - 生命值上限: 初始值由遺傳規則決定,隨年齡階段成長。 - 當前生命值: 範圍0-生命值上限。降至0則子嗣死亡。 - 精神值上限: 初始值由遺傳規則決定,隨年齡階段成長。 - 當前精神值: 範圍0-精神值上限。降至0則子嗣精神崩潰。 + function generateRandomGender() { + return Math.random() < LIVESTOCK_CONFIG.BREEDING_CONFIG.GENDER_RATIO.male ? '雄性' : '雌性'; + } - 生理: 反映子嗣身體內部具體生理需求的數值。 - 飽腹感: 範圍0-100,消耗速度因年齡階段而異(新生兒極快)。 - 水分: 範圍0-100。 + function getAffectionStageForSex(level) { + var stage = AFFECTION_SYSTEM.getStage(level); + var map = { + '陌生': '初階期', + '朋友-穩定期': '初階期', + '朋友-親密臨界區': '初階期', + '摯友-深度期': '中階期', + '摯友-戀人臨界區': '中階期', + '戀人-新晉期': '高階期', + '戀人-穩定臨界區': '高階期', + '摯愛': '頂階頂' + }; + return map[stage.name] || '初階期'; + } - 狀態: 反映子嗣當前的身體和情緒狀態,基於核心狀態、生理和年齡階段動態生成(20字內)描述,如“飢餓哭鬧”、“滿足安睡”、“活潑好動”。 - 屬性: 包含力量、敏捷、耐力、智力、感知、意志六大屬性,初始在出生時根據父母屬性等級及遺傳規則設定。結構和機制與同伴屬性一致。 - 技能: 幼兒期開始可學習技能,結構和機制與同伴技能一致。新生兒和嬰兒期爲空。 - 天賦特性: 出生時基於父母天賦隨機繼承或產生新天賦。結構和機制與同伴天賦特性一致。 - 關係: 記錄與父母的關係,固定包含母親和父親兩個字段。 - 依戀度: 替代好感度的親子紐帶系統,衡量子嗣對照顧者的依賴和信任程度。 - 母親: 範圍0-100,初始較高。通過照料互動提升或下降。 - 父親: 範圍0-100,初始較低,需通過照料來提升。當子嗣成長爲成年後轉爲正式同伴時,依戀度將轉換爲對父母的初始好感度。 + function getSeasonGrowthBonus(season) { + return SEASON_GROWTH_BONUS[season] || 0; + } -# 成年轉換規則:當子嗣年齡階段達到“成年”時,將觸發成年禮。然後將其從子嗣結構中移除,並作爲標準同伴插入到同伴結構中,保留屬性、技能、天賦特性,並將依戀度轉換爲好感度。 + function extractCropBonusFromObject(obj) { + if (!obj || typeof obj !== 'object') return 0; + var bonus = Number(obj['作物加成']); + return (!isNaN(bonus) && bonus > 0) ? bonus : 0; + } -寵物: # 物件,以寵物名為鍵,記錄寵物的各種信息。 - 格式:{ - "背景": "草原中的馬王", - "狀態": "健康", - "騎乘": "true", - "速度加成": 2, #縮短移動時間倍速 - "屬性": {}, - "技能": { "好感(對主角)": { "等級": 1, "當前經驗": 0, "升級所需經驗": 100 } }, - "天賦特性": {}, - "攜帶物品": {}, - "劇情演出": [] - } - 說明:機制和格式參考同伴,但不包含健康度、水分值、飽腹感、排泄欲、淪陷、裝備、敏感部位、服裝、性經驗、生理狀態、心理狀態、性癖好、性愛人設、重要經歷、罪惡感。 - 範例:`{"op":"insert","path":"/寵物/小白","value":{"狀態":"健康","騎乘":true,"速度加成":2,"屬性":{"力量":{"等級":15}},"技能":{"狩獵":{"等級":2}},"天賦特性":{},"劇情演出":[]}}` + function extractCropBonusFromCarriedItems(items) { + if (!_.isPlainObject(items)) return 0; + var total = 0; + for (var name in items) { + if (name.startsWith('$')) continue; + total += extractCropBonusFromObject(items[name]); + } + return total; + } -作物: # 物件,以作物名為鍵,記錄所有種植的作物信息。 - 播種數量:種植的數量 - 品質:普通/優良/稀有 - 種植日期:種植時的當前天數 - 成長週期:需要幾天成長 - 收成日期:種植日期 + 成長週期 - 生長階段:幼苗期0-29%、生長期30-59%、熟成期60-99%、可收割100% - harvestAction:REMOVE(收成後移除)或 RESET(收成後重置) - 格式:`{"播種數量": 數字, "品質": "普通/優良/稀有", "種植日期": 數字, "成長週期": 數字, "收成日期": 數字,"生長階段": "幼苗期/生長期/熟成期/可收割","harvestAction": "REMOVE/RESET"}` - 範例:`{"op":"insert","path":"/作物/小麥","value":{"播種數量":10,"品質":"普通","種植日期":5,"成長週期":10,"收成日期":15,"生長階段":"幼苗期","harvestAction":"REMOVE"}}` + function calculateActualGrowthDays(vars, cropName, baseDays) { + var totalBonus = 0; + var season = get(vars, '環境.季節'); + totalBonus += getSeasonGrowthBonus(season); + + var crops = get(vars, '作物'); + if (_.isPlainObject(crops)) { + for (var name in crops) { + if (name.startsWith('$') || name === cropName) continue; + totalBonus += extractCropBonusFromObject(crops[name]); + } + } + + var companions = get(vars, '同伴'); + if (_.isPlainObject(companions)) { + for (var name in companions) { + if (name.startsWith('$')) continue; + totalBonus += extractCropBonusFromCarriedItems(get(companions[name], '攜帶物品')); + } + } + + if (totalBonus <= 0) return baseDays; + if (totalBonus <= 50) return Math.max(1, baseDays - Math.floor(baseDays * (totalBonus / 100))); + return Math.max(1, Math.floor(baseDays / (1 + totalBonus / 100))); + } -畜牧: # 物件,以牲畜名為鍵,記錄所有飼養的牲畜信息。 - 年齡:以月為單位 - 飼養數量:區分雄性、雌性 - 飼養開始日:飼養時的當前天數 - 產出物:產出的物資,產量格式如"1d2" - 格式:{ "年齡": 數字, "飼養數量": { "雄性": 數字, "雌性": 數字 }, "生長階段": "幼年期/成長期/成年期/老年期", "產出物": { "名稱": "", "週期": 數字, "下次產出日": 數字, "產量": "" }, "飼養開始日": 數字} - # 範例:`{"op":"insert","path":"/畜牧/雞","value":{"年齡":3,"飼養數量":{"雄性":1,"雌性":5},"生長階段":"成年期","產出物":{"名稱":"雞蛋","週期":3,"下次產出日":6,"產量":"1d2"},"飼養開始日":5}}` - # 更新產出:{"op":"replace","path":"/畜牧/雞/產出物/下次產出日","value":7} + function calculateGrowthStage(cropData, currentDay, actualDays) { + var planted = v(cropData.種植日期, 0); + var growthCycle = v(cropData.成長週期, 0); + var hasBonus = extractCropBonusFromObject(cropData) > 0; + if (growthCycle < 0 || hasBonus) return '特殊作物'; + var progress = Math.min(100, Math.round(((currentDay - planted) / actualDays) * 100)); + if (progress < 30) return '幼苗期'; + if (progress < 60) return '生長期'; + if (progress < 100) return '熟成期'; + return '可收割'; + } -捷徑或大型裝置: # 物件,以裝置名為鍵,記錄玩家建造的大型設施、道路、大型陷阱等。格式: '裝置名': {'位置':'地點', '狀態類型': '耐久度', '狀態': 100, '功能':'功能說明', '描述':'物品描述'} - 位置: 捷徑/裝置所在的地點。 - 狀態類型: 物品狀態類型(如'耐久度')。 - 狀態: 物品的當前狀態值。 - 功能: 該物品的功能說明。 - 描述: 對物品的描述。 + function calculateLivestockGrowthStage(data) { + var age = v(data.年齡, 12); + age = Math.max(12, age); + for (var stage in LIVESTOCK_CONFIG.GROWTH_STAGES) { + var cfg = LIVESTOCK_CONFIG.GROWTH_STAGES[stage]; + if (age >= cfg.minAge && age < cfg.maxAge) return stage; + } + return '成年期'; + } -項目: # 對象,一個可擴展的對象,以項目名爲鍵,記錄所有正在進行中的持續性活動。格式: '項目名': { 字段由AI根據項目性質自由決定 } - 【核心字段】 - 位置: 項目進行的地點。 - 類別: 項目的大類,用於快速識別。可選值:建造 / 大型製作 / 採集開採 / 馴養 / 拆解 / 教學。不設枚舉,可根據實際情況自行描述。 - 狀態: 項目的當前狀態。可選值:進行中 / 待檢查 - 當前進度: 已累計的進度值。達到總進度時項目完工。 - 總進度: 完成所需的總進度值。根據項目規模和複雜度設定。簡單50~80,中等100~150,大型200+。 - 描述: 用自然語言描述項目的當前外觀和進展。每次更新進度時同步更新描述。 - 所需材料: 記錄材料名、需投入的總數量和已投入數量。格式: { '材料名': { '所需': 數量, '已消耗': 數量 }, ... }。材料必須從庫存實際扣除後才能更新已投入數量。 - 項目產出: 記錄項目完成後將生成的產物,用自然語言描述產物名稱和基本特徵。生成產物時遵循已有的物品/設施/技能生成規則。如"一座簡易的木結構小屋,約三米見方"。 + function calculateActualProductionCycle(vars, animalName, baseCycle) { + var totalBonus = 0; + var season = get(vars, '環境.季節'); + totalBonus += LIVESTOCK_CONFIG.SEASON_PRODUCTION_BONUS[season] || 0; + + var facilities = get(vars, '營地.設施'); + if (_.isPlainObject(facilities)) { + for (var name in facilities) { + if (name.startsWith('$')) continue; + var bonus = Number(facilities[name].畜牧加成); + if (!isNaN(bonus) && bonus > 0) totalBonus += bonus; + } + } + + if (totalBonus <= 0) return baseCycle; + var reduction = Math.min(totalBonus / 100, 0.5); + return Math.max(1, Math.floor(baseCycle * (1 - reduction))); + } - 【適用活動類型】 - 以下持續性活動適合使用項目系統追蹤進度,不生成中間產物。包含但不限於: - - 建造:房屋、圍牆、橋樑等 - - 大型製作:船隻、複雜器械等(小型一次性製作如削木矛不需要創建項目) - - 採集/開採:大規模砍伐、挖礦等(日常採摘不需要) - - 馴養:馴服野生動物 - - 拆解:拆除廢墟、拆解廢棄設施獲取材料 - - 教學:教同伴或子嗣某項技能 + // ==================== 作物與畜牧保護系統 ==================== + var PROTECTED_CROP_HARVEST_ACTIONS = ['RESET']; + var CROP_REQUIRED_FIELDS = ['種植日期', '收成日期', '生長階段', '成長週期']; - 範例: { "op": "insert", "path": "/項目/瞭望塔地基", "value": { "位置": "楓葉潭營地", "類別": "建造", "當前進度": 0, "總進度": 120, "所需材料": { "硬木": { "所需": 20, "已消耗": 0 }, "石子": { "所需": 30, "已消耗": 0 }}, "項目產出": "一座簡易的木石結構瞭望塔地基,高約一米。", "描述": "一片經過平整的土地,四周堆放著準備用於建造的硬木和石子。" }} + function isSustainableCrop(cropData) { + return cropData && cropData.harvestAction && + PROTECTED_CROP_HARVEST_ACTIONS.indexOf(cropData.harvestAction) !== -1; + } - 【生命週期】 - 創建 → 推進進度(消耗材料、更新描述)→ 完工(生成最終產物,刪除該項目條目)。 - 最終檢查: - - 觸發條件:當前進度 = 100% 且 狀態 = 待檢查 - - 判定成功:完工,生成產物,刪除項目 - - 判定失敗:進度維持100%,狀態保持待檢查,描述缺陷 - 完工後必須從項目對象中移除 + function fixCropData(vars, cropName, cropData, currentDay) { + var changed = false; + var growthCycle = cropData.成長週期 || 30; + var fixedData = {}; + + for (var i = 0; i < CROP_REQUIRED_FIELDS.length; i++) { + var field = CROP_REQUIRED_FIELDS[i]; + var value = cropData[field]; + if (value === undefined || value === null) { + switch(field) { + case '種植日期': + fixedData[field] = currentDay; + logChange('作物修復', cropName + ' 種植日期設為 ' + currentDay); + break; + case '收成日期': + fixedData[field] = currentDay + growthCycle; + logChange('作物修復', cropName + ' 收成日期設為 ' + (currentDay + growthCycle)); + break; + case '生長階段': + fixedData[field] = '幼苗期'; + logChange('作物修復', cropName + ' 生長階段設為 幼苗期'); + break; + case '成長週期': + fixedData[field] = growthCycle; + logChange('作物修復', cropName + ' 成長週期設為 ' + growthCycle); + break; + } + changed = true; + } + } + + if (!cropData.harvestAction || PROTECTED_CROP_HARVEST_ACTIONS.indexOf(cropData.harvestAction) === -1) { + if (isSustainableCrop(cropData) || cropData.harvestAction === 'RESET') { + fixedData.harvestAction = 'RESET'; + logChange('作物修復', cropName + ' harvestAction 設為 RESET'); + changed = true; + } + } + + if (changed) { + for (var key in fixedData) { + set(vars, '作物.' + cropName + '.' + key, fixedData[key]); + } + fixCount++; + return true; + } + return false; + } -研究: # 對象,記錄所有正在進行中的研究項目。格式: '研究': { '類別': { '進行中': {'當前進度':0,'總進度':150,'描述':'...'} } } - 類別: 根據研究性質自行判斷,可參考以下分類: - - '生存科技':工具製作、建築技術、食物加工保存等 - - '自然學識':植物辨識、動物習性、地理氣象、藥用提取等 - - '神祕學':龍族相關、魔法物品、古老符文、靈體感應等 - 進行中: 對象,以研究項名爲鍵,記錄正在進行的項目。 - 當前進度: 已累計的進度值。達到總進度時研究完成。 - 總進度: 完成所需的總進度值。根據研究複雜度和現象深度設定。簡單50~80,中等100~150,高深研究150+。 - 描述: 用自然語言描述當前的研究狀態、發現和瓶頸。每次推進時更新。當研究有突破性進展或深化時,可以在此描述中累積記錄,而不是新建條目。 + function checkAndRestoreSustainableCrops(vars, oldVars) { + if (!oldVars) return false; + var changed = false; + var oldCrops = get(oldVars, '作物') || {}; + var currentCrops = get(vars, '作物') || {}; + var currentDay = v(get(vars, '系統.經過天數'), 0); + + for (var name in oldCrops) { + if (name.startsWith('$')) continue; + var oldCrop = oldCrops[name]; + if (isSustainableCrop(oldCrop) && !currentCrops[name]) { + keyLog('🌱 檢測到永續作物被刪除: ' + name + ',正在恢復...'); + var growthCycle = oldCrop.成長週期 || 30; + var restored = { + 種植日期: currentDay, + 收成日期: currentDay + growthCycle, + 生長階段: '幼苗期', + harvestAction: 'RESET', + 成長週期: growthCycle, + 收穫次數: (oldCrop.收穫次數 || 0) + 1 + }; + set(vars, '作物.' + name, restored); + logChange('作物恢復', name + ' 已恢復,收成次數 +1'); + changed = true; + fixCount++; + } + } + return changed; + } + + function verifyAndFixAllCrops(vars) { + var changed = false; + var crops = get(vars, '作物'); + if (!_.isPlainObject(crops)) return false; + var currentDay = v(get(vars, '系統.經過天數'), 0); + + for (var name in crops) { + if (name.startsWith('$')) continue; + var crop = crops[name]; + if (!_.isPlainObject(crop)) continue; + if (fixCropData(vars, name, crop, currentDay)) changed = true; + if (crop.種植日期 && crop.收成日期 && crop.種植日期 > crop.收成日期) { + var growthCycle = crop.成長週期 || 30; + var newHarvest = crop.種植日期 + growthCycle; + set(vars, '作物.' + name + '.收成日期', newHarvest); + logChange('作物修復', name + ' 收成日期已修正 ' + crop.收成日期 + ' → ' + newHarvest); + changed = true; + fixCount++; + } + if (crop.種植日期 > currentDay) { + set(vars, '作物.' + name + '.種植日期', currentDay); + logChange('作物修復', name + ' 種植日期不能大於當前天數,設為 ' + currentDay); + changed = true; + fixCount++; + } + } + if (changed) debugLog('作物驗證修復完成'); + return changed; + } + + var LIVESTOCK_REQUIRED_FIELDS = ['年齡', '飼養數量', '生長階段', '飼養開始日']; + + function fixLivestockData(vars, animalName, animalData, currentDay) { + var changed = false; + for (var i = 0; i < LIVESTOCK_REQUIRED_FIELDS.length; i++) { + var field = LIVESTOCK_REQUIRED_FIELDS[i]; + var value = animalData[field]; + if (value === undefined || value === null) { + switch(field) { + case '年齡': + set(vars, '畜牧.' + animalName + '.年齡', 12); + logChange('畜牧修復', animalName + ' 年齡設為 12'); + changed = true; + break; + case '飼養數量': + set(vars, '畜牧.' + animalName + '.飼養數量', { 雄性: 1, 雌性: 1 }); + logChange('畜牧修復', animalName + ' 飼養數量設為 雄:1, 雌:1'); + changed = true; + break; + case '生長階段': + set(vars, '畜牧.' + animalName + '.生長階段', '成年期'); + logChange('畜牧修復', animalName + ' 生長階段設為 成年期'); + changed = true; + break; + case '飼養開始日': + set(vars, '畜牧.' + animalName + '.飼養開始日', currentDay - 12); + logChange('畜牧修復', animalName + ' 飼養開始日設為 ' + (currentDay - 12)); + changed = true; + break; + } + } + } + + var livestock = get(vars, '畜牧'); + var animal = livestock[animalName]; + if (animal && animal.飼養數量) { + var males = v(animal.飼養數量.雄性, 0); + var females = v(animal.飼養數量.雌性, 0); + if (males < 0 || females < 0) { + set(vars, '畜牧.' + animalName + '.飼養數量.雄性', Math.max(0, males)); + set(vars, '畜牧.' + animalName + '.飼養數量.雌性', Math.max(0, females)); + logChange('畜牧修復', animalName + ' 數量修正為非負值 雄:' + Math.max(0, males) + ', 雌:' + Math.max(0, females)); + changed = true; + } + } + + var startDay = v(animalData.飼養開始日, currentDay - 12); + if (startDay > currentDay) { + set(vars, '畜牧.' + animalName + '.飼養開始日', currentDay - 12); + logChange('畜牧修復', animalName + ' 飼養開始日修正 ' + startDay + ' → ' + (currentDay - 12)); + changed = true; + } + + var calculatedAge = Math.max(12, 12 + Math.floor((currentDay - startDay) / 30)); + var currentAge = v(animalData.年齡, calculatedAge); + if (Math.abs(currentAge - calculatedAge) > 6) { + set(vars, '畜牧.' + animalName + '.年齡', calculatedAge); + logChange('畜牧修復', animalName + ' 年齡修正 ' + currentAge + ' → ' + calculatedAge); + changed = true; + } + + var expectedStage = calculateLivestockGrowthStage({ 年齡: calculatedAge }); + var currentStage = animalData.生長階段; + if (currentStage && expectedStage && currentStage !== expectedStage) { + set(vars, '畜牧.' + animalName + '.生長階段', expectedStage); + logChange('畜牧修復', animalName + ' 生長階段修正 ' + currentStage + ' → ' + expectedStage); + changed = true; + } + + if (animalData.產出物 && animalData.產出物.週期) { + var cycle = v(animalData.產出物.週期, 7); + if (cycle <= 0) { + set(vars, '畜牧.' + animalName + '.產出物.週期', 7); + logChange('畜牧修復', animalName + ' 產出週期修正為 7'); + changed = true; + } + } + + if (changed) fixCount++; + return changed; + } + + function verifyAndFixAllLivestock(vars) { + var changed = false; + var livestock = get(vars, '畜牧'); + if (!_.isPlainObject(livestock)) return false; + var currentDay = v(get(vars, '系統.經過天數'), 0); + for (var name in livestock) { + if (name.startsWith('$')) continue; + var animal = livestock[name]; + if (!_.isPlainObject(animal)) continue; + if (fixLivestockData(vars, name, animal, currentDay)) changed = true; + } + if (changed) debugLog('畜牧驗證修復完成'); + return changed; + } + +// ==================== 新生兒生成系統(修改版:放在子嗣下) ==================== +function generateNewborn(vars, motherName, motherPath) { + var litter = 1; + var dice = Math.floor(Math.random() * 100) + 1; + if (dice <= 10) { + litter = 2; + keyLog('👶👶 驚喜!' + motherName + ' 生下了雙胞胎!'); + } else { + keyLog('👶 ' + motherName + ' 生下了1個寶寶'); + } + + // ✅ 修改:使用「子嗣」而非「同伴」 + var children = get(vars, '子嗣'); + if (!_.isPlainObject(children)) { + children = {}; + set(vars, '子嗣', children); + } + + var birthCount = get(vars, motherPath + '.生育次數') || 0; + set(vars, motherPath + '.生育次數', birthCount + litter); + + for (var i = 0; i < litter; i++) { + var gender = Math.random() < 0.5 ? '女' : '男'; + + // 計算現有子女數量(只計算同一個母親的孩子) + var existingChildren = 0; + for (var name in children) { + if (name.startsWith('$')) continue; + var data = children[name]; + if (data && data.母親 === motherName) existingChildren++; + } + var childNumber = existingChildren + i + 1; + var childName = motherName + '的孩子' + childNumber; + + var finalName = childName; + var counter = 1; + while (children[finalName]) finalName = childName + '_' + counter++; + + var newborn = { + 人物背景: motherName + ' 的孩子', + 健康度: 80, + 水分值: 100, + 飽腹感: 100, + 疲勞度: 0, + 排泄欲: 0, + 狀態: '新生兒', + 關係: '子女', + 屬性: {}, + 技能: {}, + 天賦特性: {}, + 裝備: { + 頭部: {}, 頸部: {}, 胸部: {}, 其他: {}, 背部: {}, + 左手: {}, 右手: {}, 腰部: {}, 腿部: {}, 腳部: {} + }, + 攜帶物品: {}, + 劇情演出: [], + 敏感部位: {}, + 淪陷: { 強制次數: 0, 當前階段: 0, 抵抗值: 100, 順從值: 0 }, + 心理狀態: { 當前所想: '' }, + 性癖好: [], + 性愛人設: '', + 重要經歷: {}, + 罪惡感: {}, + 生育次數: 0, + 母親: motherName, + 父親: get(vars, motherPath + '.生理狀態.授精者') || '未知' // ✅ 新增:記錄父親 + }; + + if (gender === '女') { + newborn.服裝 = { 上衣: '', 下裝: '', 內衣: '', 內褲: '', 鞋子: '', 絲襪: '' }; + newborn.身體特徵 = { 類型: 'female', 體型: '嬰兒型', 三圍: {}, 乳房: {}, 私處: {} }; + newborn.性經驗 = { 性交經驗: '無', 口交經驗: '無', 肛交經驗: '無', 性行為次數: 0, 性伴侶數量: 0, 處女: '是' }; + newborn.生理狀態 = { 陰蒂狀態: '正常', 子宮狀態: '正常', 月經週期: 1, 懷孕狀態: '未懷孕', 懷孕天數: 0 }; + newborn.性別 = '女'; + } else { + newborn.服裝 = { 上衣: '', 下裝: '', 內衣: '', 內褲: '', 鞋子: '', 襪子: '' }; + newborn.身體特徵 = { 類型: 'male', 陰莖: { 長度: 0, 粗度: 0, 類型: '', 充血程度: '' } }; + newborn.性經驗 = { 性交經驗: '無', 口交經驗: '無', 肛交經驗: '無', 性行為次數: 0, 性伴侶數量: 0, 處男: '是' }; + newborn.生理狀態 = { 勃起狀態: '未勃起', 射精狀態: '未射精' }; + newborn.性別 = '男'; + } + + // ✅ 修改:寫入「子嗣」而非「同伴」 + set(vars, '子嗣.' + finalName, newborn); + logChange('新生兒', motherName + ' 生下 ' + finalName + ' (' + gender + ')'); + } + keyLog('👶 ' + motherName + ' 共生下 ' + litter + ' 個寶寶'); + return litter; +} + + // ======================== 路徑確保 ======================== + function ensurePaths(vars) { + // 強制刪除已廢棄的狀態.飽腹感 +if (get(vars, '狀態.飽腹感') !== undefined) { + _.unset(vars, '狀態.飽腹感'); + console.log('🗑️ 已刪除廢棄路徑: 狀態.飽腹感'); +} + if (!_.isPlainObject(get(vars, '任務'))) { + set(vars, '任務', { 主線: {}, 支線: {}, 日常: {}, 緊急: {}, 羈絆: {} }); + } + + var comps = get(vars, '同伴'); + if (_.isPlainObject(comps)) { + for (var n in comps) { + if (n.startsWith('$')) continue; + // 🔴 確保狀態.生效效果存在 + if (!_.isPlainObject(get(vars, '同伴.' + n + '.狀態'))) { + set(vars, '同伴.' + n + '.狀態', {}); + } + if (!_.isPlainObject(get(vars, '同伴.' + n + '.狀態.生效效果'))) { + set(vars, '同伴.' + n + '.狀態.生效效果', {}); + } + if (!_.isPlainObject(get(vars, '任務.羈絆.' + n))) { + set(vars, '任務.羈絆.' + n, {}); + } + } + } + + var pets = get(vars, '寵物'); + if (_.isPlainObject(pets)) { + for (var n in pets) { + if (n.startsWith('$')) continue; + if (!_.isPlainObject(get(vars, '寵物.' + n + '.攜帶物品'))) { + set(vars, '寵物.' + n + '.攜帶物品', {}); + } + } + } + + var camps = get(vars, '營地'); + if (_.isPlainObject(camps)) { + for (var c in camps) { + if (c.startsWith('$')) continue; + ['位置', '樣式', '物品', '食材', '醫藥', '材料', '牲畜', '設施', '奇物', '武器'].forEach(function(f) { + if (get(vars, '營地.' + c + '.' + f) === undefined) { + set(vars, '營地.' + c + '.' + f, (f === '位置' || f === '樣式') ? '' : {}); + } + }); + } + } + + var equip = get(vars, '裝備'); + if (_.isPlainObject(equip)) { + ['頭部', '頸部', '胸部', '其他', '背部', '左手', '右手', '腰部', '腿部', '腳部'].forEach(function(p) { + if (get(vars, '裝備.' + p) === undefined) set(vars, '裝備.' + p, {}); + }); + } + + if (_.isPlainObject(comps)) { + for (var n in comps) { + if (n.startsWith('$')) continue; + var eq = get(vars, '同伴.' + n + '.裝備'); + if (!_.isPlainObject(eq)) { + eq = {}; + ['頭部', '頸部', '胸部', '其他', '背部', '左手', '右手', '腰部', '腿部', '腳部'].forEach(function(p) { eq[p] = {}; }); + set(vars, '同伴.' + n + '.裝備', eq); + } else { + ['頭部', '頸部', '胸部', '其他', '背部', '左手', '右手', '腰部', '腿部', '腳部'].forEach(function(p) { + if (get(vars, '同伴.' + n + '.裝備.' + p) === undefined) { + set(vars, '同伴.' + n + '.裝備.' + p, {}); + } + }); + } + if (!Array.isArray(get(vars, '同伴.' + n + '.劇情演出'))) { + set(vars, '同伴.' + n + '.劇情演出', []); + } + + var gender = get(vars, '同伴.' + n + '.基礎信息.性別'); + if (gender === '女' || gender === 'female') { + if (get(vars, '同伴.' + n + '.生育次數') === undefined) { + set(vars, '同伴.' + n + '.生育次數', 0); + debugLog('初始化 同伴.' + n + '.生育次數 = 0'); + } + } + } + } + + var userGender = get(vars, '基礎信息.性別'); + if (userGender === '女' || userGender === 'female') { + if (get(vars, '生育次數') === undefined) { + set(vars, '生育次數', 0); + debugLog('初始化 主角.生育次數 = 0'); + } + } + + if (get(vars, '系統.前次時間') === undefined) { + set(vars, '系統.前次時間', '00:00'); + debugLog('初始化 系統.前次時間 = 00:00'); + } + if (get(vars, '系統.前次天數') === undefined) { + set(vars, '系統.前次天數', 1); + debugLog('初始化 系統.前次天數 = 1'); + } + + if (!_.isPlainObject(get(vars, '養殖'))) set(vars, '養殖', {}); + + var shop = get(vars, '商店'); + if (!_.isPlainObject(shop)) set(vars, '商店', {}); + } + + // ======================== 等級升級處理 ======================== + function processLevelUp(vars, basePath) { + var obj = get(vars, basePath); + if (!_.isPlainObject(obj)) return; + var isAttr = basePath.indexOf('屬性') !== -1, + baseExp = isAttr ? 10 : 100; + + for (var k in obj) { + if (k.startsWith('$')) continue; + var item = obj[k]; + if (!_.isPlainObject(item)) continue; + var lv = int(get(item, '等級')) || 0, + exp = int(get(item, '當前經驗')) || 0, + changed = false, + oldLv = lv; + + while (exp >= Math.max(1, lv * baseExp)) { + exp -= lv * baseExp; + lv++; + changed = true; + } + + if (changed) { + set(vars, basePath + '.' + k + '.等級', lv); + set(vars, basePath + '.' + k + '.當前經驗', exp); + logChange('等級提升', basePath + '.' + k + ' ' + oldLv + ' → ' + lv); + fixCount++; + } + + var need = Math.max(1, lv * baseExp); + if (get(item, '升級所需經驗') !== need) { + set(vars, basePath + '.' + k + '.升級所需經驗', need); + } + } + } + + // ======================== 同伴邊界限制 ======================== +function processCompanionLimits(vars) { + var comps = get(vars, '同伴'); + if (_.isPlainObject(comps)) { + for (var n in comps) { + if (n.startsWith('$')) continue; + var base = '同伴.' + n; + + // ========== 邊界修正(更新為正確路徑) ========== + // 生理數值 + var bounds = [ + { p: base + '.生理.水分', min: 0, max: 100 }, + { p: base + '.生理.飽腹感', min: 0, max: 100 }, + { p: base + '.生理.排泄欲', min: 0, max: 100 }, + // 精神數值 + { p: base + '.精神.壓力', min: 0, max: 100 }, + { p: base + '.精神.睡眠', min: 0, max: 100 }, + // 次生屬性 + { p: base + '.狀態.疲勞', min: 0, max: 4 * (get(vars, base + '.屬性.耐力.等級') || 20) }, + { p: base + '.狀態.清潔', min: 0, max: 100 }, + // 核心狀態(生命/精神值) + { p: base + '.生理.當前生命值', min: 0, max: get(vars, base + '.生理.生命值上限') || 100 }, + { p: base + '.精神.當前精神值', min: 0, max: get(vars, base + '.精神.精神值上限') || 100 } + ]; + + bounds.forEach(function(b) { + var val = get(vars, b.p); + if (typeof val === 'number' && Number.isFinite(val)) { + var maxVal = typeof b.max === 'function' ? b.max(vars) : b.max; + var minVal = b.min; + var newVal = clamp(val, minVal, maxVal); + if (!Number.isInteger(newVal)) newVal = Math.round(newVal); + if (newVal !== val) { + set(vars, b.p, newVal); + logChange('同伴邊界修正', b.p + ' ' + val + ' → ' + newVal); + fixCount++; + } + } + }); + + // ========== 技能經驗修正 ========== + var skills = get(vars, base + '.技能'); + if (_.isPlainObject(skills)) { + for (var skillName in skills) { + if (skillName.startsWith('$')) continue; + var exp = get(vars, base + '.技能.' + skillName + '.當前經驗'); + if (typeof exp === 'number' && exp < 0) { + set(vars, base + '.技能.' + skillName + '.當前經驗', 0); + logChange('技能經驗修正', base + '.' + skillName + ' 經驗 ' + exp + ' → 0'); + fixCount++; + } + } + } + + // ✅ 在這裡添加屬性經驗修正(在技能經驗修正之後) + var attrs = ['力量', '敏捷', '耐力', '智力', '感知', '意志']; + for (var i = 0; i < attrs.length; i++) { + var attr = attrs[i]; + var exp = get(vars, base + '.屬性.' + attr + '.當前經驗'); + if (typeof exp === 'number' && exp < 0) { + set(vars, base + '.屬性.' + attr + '.當前經驗', 0); + logChange('同伴屬性經驗修正', base + '.' + attr + ' 經驗 ' + exp + ' → 0'); + fixCount++; + } + } + + // ========== 等級升級 ========== + processLevelUp(vars, base + '.屬性'); + processLevelUp(vars, base + '.技能'); + } + } + + // 寵物邊界修正(如果有的話) + var pets = get(vars, '寵物'); + if (_.isPlainObject(pets)) { + for (var n in pets) { + if (n.startsWith('$')) continue; + var base = '寵物.' + n; + var fav = get(vars, base + '.好感度'); + if (Number.isFinite(fav)) { + var newFav = clamp(fav, 0, 100); + if (!Number.isInteger(newFav)) newFav = Math.round(newFav); + if (newFav !== fav) { + set(vars, base + '.好感度', newFav); + logChange('邊界修正', base + '.好感度 ' + fav + ' → ' + newFav); + fixCount++; + } + } + processLevelUp(vars, base + '.屬性'); + processLevelUp(vars, base + '.技能'); + } + } +} + + // ======================== 物品狀態上限修正 ======================== + function fixItemStatusLimits(vars) { + var paths = ['攜帶物品', '裝備', '捷徑或裝置']; + paths.forEach(function(p) { + var items = get(vars, p); + if (!_.isPlainObject(items)) return; + for (var k in items) { + if (k.startsWith('$')) continue; + var s = get(items[k], '狀態'); + if (Number.isFinite(s) && s > 100) { + set(vars, p + '.' + k + '.狀態', 100); + logChange('物品狀態上限', p + '.' + k + ' ' + s + ' → 100'); + fixCount++; + } + } + }); + + var camps = get(vars, '營地'); + if (_.isPlainObject(camps)) { + for (var c in camps) { + if (c.startsWith('$')) continue; + var cats = ['物品', '食材', '醫藥', '材料', '牲畜', '設施', '奇物', '武器']; + cats.forEach(function(cat) { + var items = get(vars, '營地.' + c + '.' + cat); + if (!_.isPlainObject(items)) return; + for (var k in items) { + if (k.startsWith('$')) continue; + var s = get(items[k], '狀態'); + if (Number.isFinite(s) && s > 100) { + set(vars, '營地.' + c + '.' + cat + '.' + k + '.狀態', 100); + logChange('物品狀態上限', '營地.' + c + '.' + cat + '.' + k + ' ' + s + ' → 100'); + fixCount++; + } + } + }); + } + } + } + + // ======================== 清理無效物品 ======================== +function cleanupAllItems(vars) { + var paths = ['攜帶物品', '捷徑或裝置']; // 🔴 移除 '裝備' + + function fixItemNumbers(item, itemPath) { + if (!_.isPlainObject(item)) return; + var changed = false; + var s = get(item, '狀態'); + if (Number.isFinite(s) && !Number.isInteger(s)) { + var newS = Math.round(s); + set(item, '狀態', newS); + logChange('狀態取整', itemPath + ' 狀態 ' + s + ' → ' + newS); + fixCount++; + changed = true; + } + var w = get(item, '重量'); + if (Number.isFinite(w)) { + var newW = Math.round(w * 100) / 100; + if (newW !== w) { + set(item, '重量', newW); + logChange('重量修正', itemPath + ' 重量 ' + w + ' → ' + newW); + fixCount++; + changed = true; + } + } + var q = get(item, '數量'); + if (Number.isFinite(q)) { + var rounded = Math.round(q); + if (Math.abs(q - rounded) < 1e-10 && rounded !== q) { + set(item, '數量', rounded); + logChange('數量誤差修正', itemPath + ' 數量 ' + q + ' → ' + rounded); + fixCount++; + changed = true; + } + } + return changed; + } + + // 🔴 只處理攜帶物品和捷徑,不處理裝備 + paths.forEach(function(p) { + var items = get(vars, p); + if (!_.isPlainObject(items)) return; + var toDel = []; + for (var k in items) { + if (k.startsWith('$')) continue; + var item = items[k]; + fixItemNumbers(item, p + '.' + k); + if (isItemInvalid(item)) toDel.push(k); + } + if (toDel.length) { + toDel.forEach(function(k) { _.unset(vars, p + '.' + k); }); + logChange('清理異常物品', p + ': ' + toDel.join(', ')); + delCount += toDel.length; + } + }); + + // 營地物品處理(保持不變) + var camps = get(vars, '營地'); + if (_.isPlainObject(camps)) { + for (var c in camps) { + if (c.startsWith('$')) continue; + var cats = ['物品', '食材', '醫藥', '材料', '牲畜', '設施', '奇物', '武器']; + cats.forEach(function(cat) { + var items = get(vars, '營地.' + c + '.' + cat); + if (!_.isPlainObject(items)) return; + var toDel = []; + for (var k in items) { + if (k.startsWith('$')) continue; + var item = items[k]; + fixItemNumbers(item, '營地.' + c + '.' + cat + '.' + k); + if (isItemInvalid(item)) toDel.push(k); + } + if (toDel.length) { + toDel.forEach(function(k) { _.unset(vars, '營地.' + c + '.' + cat + '.' + k); }); + logChange('清理營地異常物品', c + '/' + cat + ': ' + toDel.join(', ')); + delCount += toDel.length; + } + }); + } + } + + // 同伴攜帶物品(保持不變) + var comps = get(vars, '同伴'); + if (_.isPlainObject(comps)) { + for (var n in comps) { + if (n.startsWith('$')) continue; + var items = get(vars, '同伴.' + n + '.攜帶物品'); + if (!_.isPlainObject(items)) continue; + var toDel = []; + for (var k in items) { + if (k.startsWith('$')) continue; + var item = items[k]; + fixItemNumbers(item, '同伴.' + n + '.攜帶物品.' + k); + if (isItemInvalid(item)) toDel.push(k); + } + if (toDel.length) { + toDel.forEach(function(k) { _.unset(vars, '同伴.' + n + '.攜帶物品.' + k); }); + logChange('清理同伴異常物品', n + ': ' + toDel.join(', ')); + delCount += toDel.length; + } + } + } + + // 寵物攜帶物品(保持不變) + var pets = get(vars, '寵物'); + if (_.isPlainObject(pets)) { + for (var n in pets) { + if (n.startsWith('$')) continue; + var items = get(vars, '寵物.' + n + '.攜帶物品'); + if (!_.isPlainObject(items)) continue; + var toDel = []; + for (var k in items) { + if (k.startsWith('$')) continue; + var item = items[k]; + fixItemNumbers(item, '寵物.' + n + '.攜帶物品.' + k); + if (isItemInvalid(item)) toDel.push(k); + } + if (toDel.length) { + toDel.forEach(function(k) { _.unset(vars, '寵物.' + n + '.攜帶物品.' + k); }); + logChange('清理寵物異常物品', n + ': ' + toDel.join(', ')); + delCount += toDel.length; + } + } + } +} + + // ======================== 物品腐敗處理 ======================== + function decayLocation(vars, basePath, hours, factor) { + var items = get(vars, basePath); + if (!_.isPlainObject(items)) return; + + (function walk(path, obj) { + if (!_.isPlainObject(obj)) return; + for (var k in obj) { + if (k.startsWith('$')) continue; + var v = obj[k]; + if (_.isPlainObject(v)) { + var shelf = int(get(v, '保質期')); + if (shelf >= 1 && shelf <= 5) { + var state = int(get(v, '狀態')); + if (state > 0) { + var decay = decayRates[5 - shelf] * hours * factor, + newState = Math.max(0, Math.round(state - decay)); + if (newState !== state) { + set(vars, path + '.' + k + '.狀態', newState); + var desc = get(v, '描述'), + newDesc = updateDesc(desc, newState); + if (newDesc !== desc) set(vars, path + '.' + k + '.描述', newDesc); + } + } + } + walk(path + '.' + k, v); + } + } + })(basePath, items); + } + + function processItemDecay(vars) { + if (!lastSnapshot) return; + var cur = getCurrentTime(vars); + if (!cur) return; + var prevDay = lastSnapshot.day, + prevTime = lastSnapshot.time; + if (!prevDay || !prevTime) return; + var prevMins = prevDay * 1440 + parseTime(prevTime), + curMins = cur.total, + delta = curMins - prevMins; + if (delta <= 0) return; + + var hours = delta / 60, + avgTemp = int(get(vars, '環境.體感溫度')) || 25, + factor = tempFactor(avgTemp); + + ['攜帶物品', '裝備', '捷徑或裝置'].forEach(function(p) { + decayLocation(vars, p, hours, factor); + }); + + var camps = get(vars, '營地'); + if (_.isPlainObject(camps)) { + for (var c in camps) { + if (c.startsWith('$')) continue; + ['物品', '食材', '醫藥', '材料', '奇物', '武器'].forEach(function(cat) { + decayLocation(vars, '營地.' + c + '.' + cat, hours, factor); + }); + } + } + + var comps = get(vars, '同伴'); + if (_.isPlainObject(comps)) { + for (var n in comps) { + if (n.startsWith('$')) continue; + decayLocation(vars, '同伴.' + n + '.攜帶物品', hours, factor); + } + } + + var pets = get(vars, '寵物'); + if (_.isPlainObject(pets)) { + for (var n in pets) { + if (n.startsWith('$')) continue; + decayLocation(vars, '寵物.' + n + '.攜帶物品', hours, factor); + } + } + } + + // ==================== 季節系統 ==================== + function calculateSeason(currentDay) { + var total = SEASON_CONFIG.SPRING_DAYS + SEASON_CONFIG.SUMMER_DAYS + + SEASON_CONFIG.AUTUMN_DAYS + SEASON_CONFIG.WINTER_DAYS; + var pos = currentDay % total; + var acc = 0; + + acc += SEASON_CONFIG.SPRING_DAYS; + if (pos < acc) return '春季'; + acc += SEASON_CONFIG.SUMMER_DAYS; + if (pos < acc) return '夏季'; + acc += SEASON_CONFIG.AUTUMN_DAYS; + if (pos < acc) return '秋季'; + return '冬季'; + } + + function updateSeason(vars) { + var currentDay = v(get(vars, '系統.經過天數'), 0); + var newSeason = calculateSeason(currentDay); + var currentSeason = get(vars, '環境.季節'); + + if (newSeason !== currentSeason) { + set(vars, '環境.季節', newSeason); + keyLog('季節更新: ' + currentSeason + ' → ' + newSeason); + debugLog('季節計算 - 當前天數: ' + currentDay + ', 新季節: ' + newSeason); + logChange('季節更新', currentSeason + ' → ' + newSeason); + fixCount++; + return true; + } + debugLog('季節無變化: ' + currentSeason); + return false; + } + + // ==================== 懷孕系統 ==================== +function updatePregnancyStage(vars, characterPath) { + var prefix = characterPath ? characterPath + '.' : ''; + var pregnant = get(vars, prefix + '生理狀態.懷孕狀態'); + + // 🔴 加入 '流產' 到排除清單 + if (!pregnant || pregnant === '未懷孕' || pregnant === '' || pregnant === '流產') { + return false; + } + + // 🔴 使用計算函數獲取懷孕天數 + var days = calculatePregnancyDays(vars, characterPath); + + // 如果懷孕天數為 0 且懷孕日不存在,可能出了問題 + if (days === 0 && get(vars, prefix + '生理狀態.懷孕日') === undefined) { + // 回退到讀取儲存的天數 + days = get(vars, prefix + '生理狀態.懷孕天數') || 0; + } + + var newStage = null; + if (days <= 30) { + newStage = '懷孕初期'; + } else if (days <= 60) { + newStage = '懷孕中期'; + } else { + newStage = '懷孕後期'; + } + + // 自動分娩(超過 90 天) + if (days > 90) { + var name = characterPath ? characterPath.split('.').pop() : '主角'; + var motherPath = characterPath || '主角'; + + keyLog('🤰 ' + name + ' 懷孕 ' + days + ' 天,自動分娩!'); + var litterCount = generateNewborn(vars, name, motherPath); + + set(vars, prefix + '生理狀態.懷孕狀態', '未懷孕'); + set(vars, prefix + '生理狀態.懷孕天數', 0); + set(vars, prefix + '生理狀態.懷孕日', 0); // 🔴 清空懷孕日 + set(vars, prefix + '生理狀態.月經週期', 1); + logChange('分娩', name + ' 順利分娩,生下 ' + litterCount + ' 胎'); + fixCount++; + return true; + } + + // 更新懷孕狀態 + if (newStage && newStage !== pregnant) { + keyLog('🤰 ' + (characterPath || '主角') + ' 懷孕階段更新: ' + pregnant + ' → ' + newStage + ' (第' + days + '天)'); + set(vars, prefix + '生理狀態.懷孕狀態', newStage); + logChange('懷孕階段', (characterPath || '主角') + ' ' + pregnant + ' → ' + newStage); + fixCount++; + return true; + } + return false; +} + +function advancePregnancy(vars, days) { + // 現在天數由 calculatePregnancyDays 計算,這個函數只需要更新階段 + var changed = false; + + // 更新主角 + if (updatePregnancyStage(vars, '')) changed = true; + + // 更新同伴 + var companions = get(vars, '同伴'); + if (_.isPlainObject(companions)) { + for (var name in companions) { + if (name.startsWith('$')) continue; + if (updatePregnancyStage(vars, '同伴.' + name)) changed = true; + } + } + + return changed; +} + +function calculatePregnancy(vars, characterName, isInternalEjaculation, contraceptive) { + var base = '同伴.' + characterName; + + // 1. 先檢查性別 + var gender = get(vars, base + '.基礎信息.性別'); + if (gender !== '女' && gender !== 'female' && gender !== '女性') { + keyLog('🔍 [2] 性別不符,跳過 (性別=' + gender + ')'); + return false; + } + + // 2. 再檢查懷孕狀態(流產視為未懷孕) + var pregnancyState = get(vars, base + '.生理狀態.懷孕狀態'); + if (pregnancyState && pregnancyState !== '未懷孕' && pregnancyState !== '流產') { + keyLog('🔍 [4] 已懷孕,跳過'); + return false; + } + + // 3. 有效避孕檢查 + if (contraceptive === '保險套' || contraceptive === '避孕藥') { + keyLog('🔍 [5] 有效避孕,懷孕機率=0%'); + set(vars, base + '.生理狀態.懷孕天數', 0); + return false; + } + + // 4. 獲取授精者 + var sexResults = ensureSexResultArray(vars); + var inseminator = '未知'; + for (var i = 0; i < sexResults.length; i++) { + if (sexResults[i].角色 === characterName && sexResults[i].授精者) { + inseminator = sexResults[i].授精者; + break; + } + } + if (inseminator === '未知') { + inseminator = get(vars, '基礎信息.名字') || '未知'; + } + + keyLog('🔍 [1] 懷孕判斷入口: 角色=' + characterName + ', 性別=' + gender); + keyLog('🔍 [6] 通過所有檢查,開始計算機率'); + + var isPullOut = (contraceptive === '體外射精'); + + var cycleDay = get(vars, base + '.生理狀態.月經週期') || 14; + var cyclePhase = '安全期'; + if (cycleDay >= 1 && cycleDay <= 5) cyclePhase = '月經期'; + else if (cycleDay >= 10 && cycleDay <= 16) cyclePhase = '危險期'; + keyLog('🔍 [7] 月經週期: 第' + cycleDay + '天, 階段: ' + cyclePhase); + + var baseChance = 0; + if (cyclePhase === '危險期') { + baseChance = isInternalEjaculation ? 25 : 8; + } else if (cyclePhase === '安全期') { + baseChance = isInternalEjaculation ? 2 : 0.5; + } else { + baseChance = isInternalEjaculation ? 0.3 : 0; + } + keyLog('🔍 [8] 基礎機率: ' + baseChance + '%'); + + if (isPullOut && isInternalEjaculation === false) { + baseChance = Math.floor(baseChance * 0.25); + keyLog('🔍 [9] 體外射精,機率降低至 ' + baseChance + '%'); + } + + if (contraceptive === '安全期') { + var originalChance = baseChance; + baseChance = Math.min(baseChance, 2); + if (originalChance !== baseChance) { + keyLog('🔍 [10] 安全期避孕,機率從 ' + originalChance + '% 限制為 ' + baseChance + '%'); + } + } + + var talentBonus = 0; + var talents = get(vars, base + '.天賦特性'); + if (_.isPlainObject(talents)) { + for (var talentName in talents) { + if (talentName.startsWith('$')) continue; + var talent = talents[talentName]; + if (talent && talent.加值 && talent.加值.懷孕) { + var bonusValue = talent.加值.懷孕; + if (typeof bonusValue === 'number') talentBonus += Math.floor(bonusValue / 10); + } + } + } + keyLog('🔍 [11] 天賦加成: ' + talentBonus + '%'); + + var finalChance = Math.min(99, Math.max(0, baseChance + talentBonus)); + var dice = Math.floor(Math.random() * 100) + 1; + var isPregnant = dice <= finalChance; + + keyLog('🔍 [12] 最終機率: ' + finalChance + '%, 骰子: ' + dice + ', 結果: ' + (isPregnant ? '懷孕' : '未懷孕')); + + if (isPregnant) { + var currentPregnancyState = get(vars, base + '.生理狀態.懷孕狀態'); + if (!currentPregnancyState || currentPregnancyState === '未懷孕' || currentPregnancyState === '流產') { + set(vars, base + '.生理狀態.懷孕狀態', '懷孕初期'); + } + + var currentDay = get(vars, '系統.經過天數') || 0; + set(vars, base + '.生理狀態.懷孕日', currentDay); + var pregnancyDays = 0; + set(vars, base + '.生理狀態.懷孕天數', pregnancyDays); + set(vars, base + '.生理狀態.授精者', inseminator); + + keyLog('🤰 ' + characterName + ' 懷孕了! (懷孕日: 第' + currentDay + '天)'); + logChange('懷孕', characterName + ' 在第 ' + currentDay + ' 天懷孕,授精者: ' + inseminator); + } else { + set(vars, base + '.生理狀態.懷孕天數', 0); + keyLog('❌ ' + characterName + ' 未懷孕 (週期: ' + cyclePhase + ', 機率: ' + finalChance + '%)'); + } + return isPregnant; +} + +// ==================== 計算懷孕天數(基於懷孕日) ==================== +function calculatePregnancyDays(vars, characterPath) { + var prefix = characterPath ? characterPath + '.' : ''; + var pregnant = get(vars, prefix + '生理狀態.懷孕狀態'); + + // 如果沒有懷孕,直接返回 0 + if (!pregnant || pregnant === '未懷孕' || pregnant === '') { + return 0; + } + + var pregnancyDay = get(vars, prefix + '生理狀態.懷孕日'); + var currentDay = get(vars, '系統.經過天數') || 0; + + // 如果沒有懷孕日記錄,回退到原本的懷孕天數 + if (pregnancyDay === undefined || pregnancyDay === null) { + return get(vars, prefix + '生理狀態.懷孕天數') || 0; + } + + // 🔴 計算懷孕天數 = 當前天數 - 懷孕當天數 + var days = Math.max(0, currentDay - pregnancyDay); + + // 同步更新懷孕天數欄位(保持一致性) + set(vars, prefix + '生理狀態.懷孕天數', days); + + return days; +} + +function updateMenstrualCycle(vars) { + var changed = false; + var companions = get(vars, '同伴'); + + if (_.isPlainObject(companions)) { + for (var name in companions) { + if (name.startsWith('$')) continue; + var gender = get(vars, '同伴.' + name + '.基礎信息.性別'); + if (gender === '女' || gender === 'female' || gender === '女性') { + var pregnant = get(vars, '同伴.' + name + '.生理狀態.懷孕狀態'); + var currentCycle = get(vars, '同伴.' + name + '.生理狀態.月經週期'); + var newCycle; + + // 🔴 新增:流產後重置月經週期 + if (pregnant === '流產') { + newCycle = 1; + debugLog('同伴 ' + name + ' 流產,月經週期重置為 1'); + } else if (currentCycle === undefined || currentCycle === null) { + newCycle = Math.floor(Math.random() * 28) + 1; + } else { + newCycle = currentCycle + 1; + if (newCycle > 28) newCycle = 1; + } + set(vars, '同伴.' + name + '.生理狀態.月經週期', newCycle); + changed = true; + } + } + } + + // 主角同理 + var userGender = get(vars, '基礎信息.性別'); + if (userGender === '女' || userGender === 'female') { + var userPregnant = get(vars, '生理狀態.懷孕狀態'); + var userCycle = get(vars, '生理狀態.月經週期'); + var newUserCycle; + + // 🔴 新增:流產後重置月經週期 + if (userPregnant === '流產') { + newUserCycle = 1; + debugLog('主角流產,月經週期重置為 1'); + } else if (userCycle === undefined || userCycle === null) { + newUserCycle = Math.floor(Math.random() * 28) + 1; + } else { + newUserCycle = userCycle + 1; + if (newUserCycle > 28) newUserCycle = 1; + } + set(vars, '生理狀態.月經週期', newUserCycle); + changed = true; + } + + if (changed) debugLog('月經週期更新完成'); + return changed; +} + + // ==================== 作物系統 ==================== + function updateCropGrowthStages(vars) { + var changed = false; + var currentDay = v(get(vars, '系統.經過天數'), 0); + var crops = get(vars, '作物'); + + if (!_.isPlainObject(crops)) return false; + + for (var name in crops) { + if (name.startsWith('$')) continue; + var data = crops[name]; + if (!_.isPlainObject(data)) continue; + + var growthCycle = v(data.成長週期, 0); + var planted = v(data.種植日期, 0); + + if (planted <= 0) continue; + + var actualDays = growthCycle > 0 ? calculateActualGrowthDays(vars, name, growthCycle) : Math.abs(growthCycle); + var stage = calculateGrowthStage(data, currentDay, actualDays); + var currentStage = get(vars, '作物.' + name + '.生長階段'); + + if (stage !== currentStage) { + set(vars, '作物.' + name + '.生長階段', stage); + keyLog('🌱 作物 ' + name + ' 生長階段: ' + currentStage + ' → ' + stage); + changed = true; + + if (stage === '可收割' && !get(vars, '作物.' + name + '.已成熟')) { + set(vars, '作物.' + name + '.已成熟', true); + keyLog('🌾 作物 ' + name + ' 已成熟,可收割!'); + } + } + + if (growthCycle > 0 && planted > 0) { + var maturity = planted + actualDays; + if (get(vars, '作物.' + name + '.收成日期') !== maturity) { + set(vars, '作物.' + name + '.收成日期', maturity); + debugLog('作物 ' + name + ' 收成日期更新: ' + maturity); + changed = true; + } + } + } + + if (changed) debugLog('作物系統更新完成'); + return changed; + } + + // ==================== 畜牧系統 ==================== + function checkAndProcessBreeding(vars, currentDay, specificAnimal) { + var updated = false; + var livestock = get(vars, '畜牧'); + if (!_.isPlainObject(livestock)) return { success: false, updated: false }; + + var bred = []; + var animals = specificAnimal ? [[specificAnimal, livestock[specificAnimal]]] : Object.entries(livestock); + + for (var i = 0; i < animals.length; i++) { + var name = animals[i][0], data = animals[i][1]; + if (name.startsWith('$') || !_.isPlainObject(data)) continue; + if (!data.繁殖 || !data.繁殖.可繁殖) continue; + + var stage = calculateLivestockGrowthStage(data); + if (stage === '幼年期' || stage === '成長期') continue; + + var males = v(data.飼養數量?.雄性, 0), females = v(data.飼養數量?.雌性, 0); + if (males <= 0 || females <= 0) continue; + if (data.繁殖.懷孕中) continue; + + var lastBreed = v(data.繁殖.上次繁殖日, 0); + var cooldown = LIVESTOCK_CONFIG.BREEDING_CONFIG.BREEDING_COOLDOWN[name] || 30; + if (lastBreed > 0 && currentDay - lastBreed < cooldown) continue; + + var chance = LIVESTOCK_CONFIG.BREEDING_CONFIG.BASE_BREEDING_CHANCE; + var ageMonths = v(data.年齡, 12); + if (ageMonths >= 12 && ageMonths < 36) chance = 0.4; + else if (ageMonths >= 36) chance = 0.2; + + if (Math.random() > chance) continue; + + set(vars, '畜牧.' + name + '.繁殖.懷孕中', true); + set(vars, '畜牧.' + name + '.繁殖.上次繁殖日', currentDay); + updated = true; + bred.push(name); + keyLog('🐄 ' + name + ' 成功懷孕!'); + } + + if (updated) logChange('畜牧繁殖', '懷孕動物: ' + bred.join(', ')); + return { success: bred.length > 0, updated: updated, bredAnimals: bred }; + } + + function checkAndProcessBirth(vars, currentDay, specificAnimal) { + var updated = false; + var livestock = get(vars, '畜牧'); + if (!_.isPlainObject(livestock)) return { success: false, updated: false }; + + var birthed = []; + var animals = specificAnimal ? [[specificAnimal, livestock[specificAnimal]]] : Object.entries(livestock); + + for (var i = 0; i < animals.length; i++) { + var name = animals[i][0], data = animals[i][1]; + if (name.startsWith('$') || !_.isPlainObject(data)) continue; + if (!data.繁殖?.懷孕中) continue; + + var lastBreed = v(data.繁殖.上次繁殖日, 0); + var pregnancyCycle = v(data.繁殖.懷孕週期, 0); + if (lastBreed <= 0 || pregnancyCycle <= 0) continue; + + var dueDay = lastBreed + pregnancyCycle; + if (currentDay < dueDay) continue; + + var litter = rollDice(data.繁殖?.每胎數量 || '1d2'); + if (litter <= 0) litter = 1; + + var males = 0, females = 0; + for (var j = 0; j < litter; j++) { + if (generateRandomGender() === '雄性') males++; + else females++; + } + + var curMales = v(data.飼養數量?.雄性, 0); + var curFemales = v(data.飼養數量?.雌性, 0); + set(vars, '畜牧.' + name + '.飼養數量.雄性', curMales + males); + set(vars, '畜牧.' + name + '.飼養數量.雌性', curFemales + females); + set(vars, '畜牧.' + name + '.繁殖.懷孕中', false); + + updated = true; + birthed.push(name); + keyLog('🐣 ' + name + ' 生產了 ' + litter + ' 隻幼崽 (雄:' + males + ', 雌:' + females + ')'); + } + + if (updated) logChange('畜牧生產', '生產動物: ' + birthed.join(', ')); + return { success: birthed.length > 0, updated: updated, birthedAnimals: birthed }; + } + + function updateLivestockStates(vars) { + var changed = false; + var currentDay = v(get(vars, '系統.經過天數'), 0); + var livestock = get(vars, '畜牧'); + + if (!_.isPlainObject(livestock)) return false; + + for (var name in livestock) { + if (name.startsWith('$')) continue; + var data = livestock[name]; + if (!_.isPlainObject(data)) continue; + + var stage = calculateLivestockGrowthStage(data); + if (stage !== get(vars, '畜牧.' + name + '.生長階段')) { + set(vars, '畜牧.' + name + '.生長階段', stage); + keyLog('🐑 ' + name + ' 生長階段: → ' + stage); + changed = true; + } + + var startDay = v(data.飼養開始日, 0); + if (startDay > 0) { + var age = Math.max(12, 12 + Math.floor((currentDay - startDay) / 30)); + if (age !== v(data.年齡, 0)) { + set(vars, '畜牧.' + name + '.年齡', age); + debugLog('畜牧 ' + name + ' 年齡更新: ' + age + '個月'); + changed = true; + } + } + + if (data.產出物 && data.產出物.週期) { + var baseCycle = v(data.產出物.週期, 0); + if (baseCycle > 0) { + var actualCycle = calculateActualProductionCycle(vars, name, baseCycle); + var nextDay = v(data.產出物.下次產出日, 0); + + if (nextDay <= 0 && startDay > 0) { + nextDay = startDay + actualCycle; + set(vars, '畜牧.' + name + '.產出物.下次產出日', nextDay); + debugLog('畜牧 ' + name + ' 初始化產出日: ' + nextDay); + changed = true; + } else if (currentDay > nextDay && nextDay > 0) { + var cycles = Math.floor((currentDay - nextDay) / actualCycle) + 1; + set(vars, '畜牧.' + name + '.產出物.下次產出日', nextDay + cycles * actualCycle); + keyLog('🥚 ' + name + ' 產出物已生產!'); + changed = true; + } + + if (actualCycle !== baseCycle) { + set(vars, '畜牧.' + name + '.產出物.週期', actualCycle); + debugLog('畜牧 ' + name + ' 產出週期更新: ' + baseCycle + ' → ' + actualCycle); + changed = true; + } + } + } + + var breedResult = checkAndProcessBreeding(vars, currentDay, name); + if (breedResult.updated) changed = true; + var birthResult = checkAndProcessBirth(vars, currentDay, name); + if (birthResult.updated) changed = true; + } + + if (changed) debugLog('畜牧系統更新完成'); + return changed; + } + +// ==================== 商店歷史記錄 ==================== +// ==================== 商店歷史記錄 ==================== +function recordShopHistory(vars) { + var shop = get(vars, '商店'); + if (!_.isPlainObject(shop)) return; + + var history = get(vars, '系統.商店歷史'); + // 🔴 更新為 9 個類別(夥伴拆成 4 個獨立類別) + var categories = ['材料', '工具', '奇物', '夥伴-技術與後勤', '夥伴-戰鬥與探索', '夥伴-反派與妖魅', '夥伴-純愛與保護控', '藥物', '盲盒']; + var maxLength = 16; + + // 轉換舊格式(如果還是陣列) + if (Array.isArray(history)) { + var newHistory = { + "材料": [], + "工具": [], + "奇物": [], + "夥伴-技術與後勤": [], + "夥伴-戰鬥與探索": [], + "夥伴-反派與妖魅": [], + "夥伴-純愛與保護控": [], + "藥物": [], + "盲盒": [] + }; + + for (var i = 0; i < history.length; i++) { + var day = history[i]; + if (day.商品 && Array.isArray(day.商品)) { + for (var j = 0; j < day.商品.length; j++) { + var item = day.商品[j]; + var cat = item.類別; + // 🔴 舊版「夥伴」轉換為四個夥伴類別時,需要判斷歸屬,但舊格式沒有子類別資訊 + // 所以統一歸入「夥伴-技術與後勤」作為預設(或可根據名稱關鍵字判斷) + if (cat === '夥伴') { + cat = '夥伴-技術與後勤'; + } + var rawName = item.名稱; + var cleanName = rawName.replace(/\([^)]*\)/g, '').trim(); + + if (newHistory[cat] && newHistory[cat].indexOf(cleanName) === -1) { + newHistory[cat].push(cleanName); + } + } + } + } + + history = newHistory; + set(vars, '系統.商店歷史', history); + keyLog('🔄 舊格式轉換完成(已刪除括弧,夥伴類別已拆分)'); + } + + // 確保格式正確(包含 9 個類別) + if (!_.isPlainObject(history)) { + history = { + "材料": [], + "工具": [], + "奇物": [], + "夥伴-技術與後勤": [], + "夥伴-戰鬥與探索": [], + "夥伴-反派與妖魅": [], + "夥伴-純愛與保護控": [], + "藥物": [], + "盲盒": [] + }; + set(vars, '系統.商店歷史', history); + } + + // 🔴 同一天不重複記錄 + var currentDay = get(vars, '系統.經過天數'); + var lastRecordDay = get(vars, '系統.上次記錄天數'); + + if (currentDay === lastRecordDay) { + debugLog('同一天跳過商店歷史記錄,天數=' + currentDay); + return; + } + + // 記錄當天商品(9 個類別) + var anyChange = false; + + for (var i = 0; i < categories.length; i++) { + var cat = categories[i]; + var item = shop[cat]; + if (item && typeof item === 'object' && item['名稱']) { + var rawName = item['名稱']; + var cleanName = rawName.replace(/\([^)]*\)/g, '').trim(); + + var list = history[cat] || []; + + if (list.length >= maxLength) { + list.shift(); + } + + list.push(cleanName); + history[cat] = list; + anyChange = true; + } + } + + if (anyChange) { + set(vars, '系統.商店歷史', history); + set(vars, '系統.上次記錄天數', currentDay); + keyLog('📜 商店歷史已更新,天數=' + currentDay + ',共9個類別'); + } +} + + // ==================== 性愛系統 ==================== + function calculateVoluntary(affectionLevel, interactionType, statusEffects, comfort, isSudden, hasTrauma, specialStatus) { + var base = 50 + (affectionLevel * 5); + if (interactionType === '情感推進') base += 10; + else if (interactionType === '強制欺騙') base -= 40; + + if (affectionLevel >= 10) base += 20; + else if (affectionLevel >= 7) base += 10; + else if (affectionLevel >= 4) base += 5; + else if (affectionLevel === 1) base -= 10; + + if (statusEffects && statusEffects.indexOf('恐懼') !== -1) base -= 15; + if (statusEffects && statusEffects.indexOf('壓力') !== -1) base -= 10; + if (statusEffects && statusEffects.indexOf('興致') !== -1) base += 15; + + if (comfort > 80) base += 5; + if (comfort < 30) base -= 10; + if (isSudden) base -= 20; + if (hasTrauma) base -= 20; + + if (specialStatus === '自責傾向') base -= 10; + else if (specialStatus === '共犯') base += 20; + + return Math.max(0, Math.min(100, base)); + } + + function getResultGrade(voluntary) { + if (voluntary >= 90) return { grade: '高度自願-主動', description: '主動推進 + 愉悅表現' }; + if (voluntary >= 80) return { grade: '高度自願-積極', description: '積極配合 + 正向反饋' }; + if (voluntary >= 70) return { grade: '高度自願-害羞', description: '害羞但允許 + 輕微緊張' }; + if (voluntary >= 60) return { grade: '矛盾-逐漸接受', description: '初始抗拒→逐漸接受' }; + if (voluntary >= 50) return { grade: '矛盾-明顯猶豫', description: '明顯猶豫 + 內心掙扎' }; + if (voluntary >= 40) return { grade: '矛盾-持續輕拒', description: '持續輕拒 + 不情願' }; + if (voluntary >= 30) return { grade: '非自願-忍耐', description: '被動承受 + 事後懊悔' }; + if (voluntary >= 20) return { grade: '非自願-無力反抗', description: '持續抗拒但漸弱' }; + if (voluntary >= 10) return { grade: '非自願-被迫接受', description: '恐懼服從 + 無奈' }; + return { grade: '非自願-激烈反抗', description: '激烈抗拒 + 創傷反應' }; + } + + function getCorruptionStage(forcedCount, affectionLevel) { + var adj = forcedCount; + if (affectionLevel >= 16) adj += 3; + else if (affectionLevel >= 13) adj += 2; + else if (affectionLevel >= 10) adj += 1; + + for (var stage in SEXUAL_CONFIG.CORRUPTION_STAGES) { + var cfg = SEXUAL_CONFIG.CORRUPTION_STAGES[stage]; + if (adj >= cfg.minCount && adj <= cfg.maxCount) { + return { stage: parseInt(stage), name: cfg.name }; + } + } + return { stage: 4, name: '開始沉淪' }; + } + + function calculateAffectionChange(voluntary, affectionLevel, interactionType, specialStatus, isSuccess) { + var expChange = 0, levelChange = 0, newStatus = specialStatus, trauma = ''; + + if (!isSuccess) { + if (voluntary < 30) { + return { expChange: -999, levelChange: -1, newSpecialStatus: specialStatus, traumaMark: '嚴重創傷' }; + } + return { expChange: 0, levelChange: 0, newSpecialStatus: specialStatus, traumaMark: '' }; + } + + var stage = getAffectionStageForSex(affectionLevel); + var isForced = (interactionType === '強制欺騙' && voluntary < 40); + + if (voluntary >= 70) { + expChange = Math.min(100, 30 + Math.floor(voluntary / 2)); + } else if (voluntary >= 40) { + if (voluntary > 50) expChange = Math.min(50, Math.floor((voluntary - 50) * 5)); + else if (voluntary < 50) expChange = Math.max(-20, Math.floor((voluntary - 50) * 4)); + } + + if (voluntary < 40 && isForced) { + expChange = 0; + if (stage === '初階期') { + levelChange = -1; + trauma = '關係動搖'; + } else if (stage === '中階期') { + levelChange = 0; + trauma = '關係動搖'; + } else if (stage === '高階期') { + expChange = -999; + newStatus = '自責傾向'; + trauma = '自責傾向觸發'; + } else if (stage === '頂階初') { + expChange = 40; + newStatus = '扭曲依賴'; + trauma = '扭曲依賴觸發'; + } else if (stage === '頂階中') { + expChange = 100; + if (Math.random() < 0.1) levelChange = 1; + newStatus = '徹底沉淪'; + trauma = '徹底沉淪觸發'; + } else if (stage === '頂階頂') { + expChange = 150; + levelChange = 1; + newStatus = '共犯'; + trauma = '共犯覺醒觸發'; + } + } + + return { + expChange: expChange, + levelChange: levelChange, + newSpecialStatus: newStatus, + traumaMark: trauma + }; + } + + function processSexualInteraction(vars, data) { + var name = data.characterName; + var base = '同伴.' + name; + var affection = v(get(vars, base + '.技能.好感(對阿彬).等級'), 1); + var affectionExp = v(get(vars, base + '.技能.好感(對阿彬).當前經驗'), 0); + var forced = v(get(vars, base + '.淪陷.強制次數'), 0); + var special = get(vars, base + '.淪陷.特殊狀態') || ''; + + var voluntary = calculateVoluntary( + affection, + data.interactionType || '情感推進', + data.statusEffects || [], + data.comfort || 50, + data.isSudden || false, + special.indexOf('關係動搖') !== -1 || special.indexOf('嚴重創傷') !== -1, + special + ); + + if (special === '徹底沉淪' && data.interactionType === '強制欺騙') { + voluntary = calculateVoluntary(affection, '情感推進', data.statusEffects || [], data.comfort || 50, data.isSudden || false, false, special); + } + + var grade = getResultGrade(voluntary); + var forcedInc = false; + + if (data.interactionType === '強制欺騙' && voluntary < 30 && special !== '徹底沉淪') { + forced++; + forcedInc = true; + } + + var newCorruption = getCorruptionStage(forced, affection); + var change = calculateAffectionChange(voluntary, affection, data.interactionType || '情感推進', special, data.isSuccess !== false); + + var newExp = affectionExp + change.expChange; + var newLevel = affection + change.levelChange; + + if (change.expChange === -999) newExp = 0; + newLevel = Math.max(1, newLevel); + + if (newExp !== affectionExp) set(vars, base + '.技能.好感(對阿彬).當前經驗', newExp); + if (newLevel !== affection) set(vars, base + '.技能.好感(對阿彬).等級', newLevel); + if (forcedInc) set(vars, base + '.淪陷.強制次數', forced); + if (newCorruption.stage !== get(vars, base + '.淪陷.當前階段', 0)) { + set(vars, base + '.淪陷.當前階段', newCorruption.stage); + } + if (change.newSpecialStatus !== special) { + set(vars, base + '.淪陷.特殊狀態', change.newSpecialStatus); + } + + var result = { + 角色: name, + 完成: data.isSuccess !== false ? true : false, // 改為「完成」 + 內射: data.isInternalEjaculation === true, + 避孕措施: data.避孕措施 || '無', + 類型: data.interactionType || '情感推進', + 自願度: voluntary, + 自願分級: grade.grade, + 淪陷階段: { + 階段: newCorruption.stage, + 名稱: newCorruption.name + }, + 關係變化: { + 經驗變化: change.expChange, + 等級變化: change.levelChange + }, + 特殊狀態: change.newSpecialStatus || '無', + 描寫建議: grade.description + }; +// 🔴 改為陣列版本 +var results = ensureSexResultArray(vars); +results.push(result); +set(vars, '系統.性愛結果', results); +keyLog('💕 性愛事件已記錄 (' + results.length + ' 筆)'); + + keyLog('💕 性愛事件 - ' + name + ': 自願度=' + voluntary + ', 結果=' + grade.grade); + logChange('性愛事件', name + ' 自願度=' + voluntary); + + var isInternalEjaculation = data.是否內射 === true; + var isSuccess = data.是否成功 !== false; + + return result; + } + + // ======================== 時間流逝與等級處理 ======================== + function updateDayOnTimePassed(vars) { + keyLog('跨日檢查開始'); + + var prevTime = get(vars, '系統.前次時間'); + var curTime = get(vars, '系統.當前時間'); + var prevDay = get(vars, '系統.前次天數'); + var curDay = get(vars, '系統.經過天數'); + +if (curDay > prevDay) { + keyLog('✓ 偵測到天數外部更新: ' + prevDay + ' → ' + curDay); + advancePregnancy(vars, 1); + updateMenstrualCycle(vars); + updateSeason(vars); + updateCropGrowthStages(vars); + updateLivestockStates(vars); + return true; +} + var prevMinutes = parseTime(prevTime); + var curMinutes = parseTime(curTime); + if (prevMinutes === null || curMinutes === null) return false; + + var isTimeRewind = curMinutes < prevMinutes; + var isSameDay = curDay === prevDay; + +if (isTimeRewind && isSameDay) { + var newDay = curDay + 1; + set(vars, '系統.經過天數', newDay); + keyLog('✓ 跨日成功!天數: ' + curDay + ' → ' + newDay + ' (' + prevTime + ' → ' + curTime + ')'); + logChange('天數修正', curDay + ' → ' + newDay); + fixCount++; + + advancePregnancy(vars, 1); + updateMenstrualCycle(vars); + updateSeason(vars); + updateCropGrowthStages(vars); + updateLivestockStates(vars); + return true; +} + return false; + } + + function processTimeAndLevel(vars, oldVars) { + updateDayOnTimePassed(vars); + processLevelUp(vars, '屬性'); + processLevelUp(vars, '技能'); + +// 主角屬性經驗邊界修正 +var playerAttrs = ['力量', '敏捷', '耐力', '智力', '感知', '意志']; +for (var i = 0; i < playerAttrs.length; i++) { + var attr = playerAttrs[i]; + var exp = get(vars, '屬性.' + attr + '.當前經驗'); + if (typeof exp === 'number' && exp < 0) { + set(vars, '屬性.' + attr + '.當前經驗', 0); + logChange('主角屬性經驗修正', '屬性.' + attr + ' 經驗 ' + exp + ' → 0'); + fixCount++; + } +} + +// 根據生效效果計算屬性加值(正面加成 + 負面減值) +var curEffs = get(vars, '狀態.生效效果') || {}; +var endBonus = 0, strBonus = 0, willBonus = 0, intBonus = 0, perBonus = 0; + +// ==================== 水分 ==================== +if (curEffs.水分) { + switch (curEffs.水分.狀態) { + case '水分充足': endBonus += 2; break; + case '輕微口渴': intBonus -= 2; perBonus -= 2; break; + case '明顯口渴': strBonus -= 5; endBonus -= 5; break; + case '輕度脫水': strBonus -= 10; endBonus -= 10; break; + case '嚴重脫水': strBonus -= 15; endBonus -= 15; break; + } +} + +// ==================== 飽腹感 ==================== +if (curEffs.飽腹感) { + switch (curEffs.飽腹感.狀態) { + case '飽足': endBonus += 2; break; + case '過飽': perBonus -= 5; break; + case '輕微飢餓': intBonus -= 2; perBonus -= 2; break; + case '明顯飢餓': strBonus -= 5; endBonus -= 5; intBonus -= 5; perBonus -= 5; break; + case '極度飢餓': strBonus -= 15; endBonus -= 15; intBonus -= 15; perBonus -= 15; break; + case '虛脫': strBonus -= 25; endBonus -= 25; intBonus -= 25; perBonus -= 25; willBonus -= 25; break; + } +} + +// ==================== 睡眠 ==================== +if (curEffs.睡眠) { + switch (curEffs.睡眠.狀態) { + case '精力充沛': endBonus += 1; intBonus += 5; perBonus += 5; break; + case '疲倦': strBonus -= 5; endBonus -= 5; intBonus -= 5; perBonus -= 5; willBonus -= 5; break; + case '非常疲憊': strBonus -= 15; endBonus -= 15; intBonus -= 15; perBonus -= 15; willBonus -= 15; break; + case '精疲力竭': strBonus -= 30; endBonus -= 30; intBonus -= 30; perBonus -= 30; willBonus -= 30; break; + } +} + +// ==================== 疲勞 ==================== +if (curEffs.疲勞) { + switch (curEffs.疲勞.狀態) { + case '精力十足': strBonus += 2; break; + case '微微出汗': strBonus -= 2; endBonus -= 2; break; + case '有些疲憊': strBonus -= 5; endBonus -= 5; break; + case '相當疲勞': strBonus -= 10; endBonus -= 10; break; + case '筋疲力盡': strBonus -= 15; endBonus -= 15; break; + } +} + +// ==================== 壓力 ==================== +if (curEffs.壓力) { + switch (curEffs.壓力.狀態) { + case '心神沉靜': willBonus += 5; intBonus += 5; break; + case '高度焦慮': willBonus -= 5; intBonus -= 5; break; + case '不堪重負': willBonus -= 10; intBonus -= 10; break; + case '精神崩潰': willBonus -= 20; intBonus -= 20; perBonus -= 10; break; + } +} + +// ==================== 無聊 ==================== +if (curEffs.無聊) { + switch (curEffs.無聊.狀態) { + case '興致盎然': intBonus += 3; perBonus += 3; break; + case '感到無聊': intBonus -= 2; perBonus -= 2; break; + case '非常無聊': intBonus -= 5; perBonus -= 5; break; + case '極度無聊': intBonus -= 10; perBonus -= 10; willBonus -= 5; break; + } +} + +// ==================== 性慾 ==================== +if (curEffs.性慾) { + switch (curEffs.性慾.狀態) { + case '消退期': intBonus += 2; perBonus += 2; break; + case '反應期': break; // 無影響 + case '持續期': intBonus -= 2; perBonus -= 2; break; + case '興奮期': intBonus -= 5; willBonus -= 5; break; + case '高潮期': intBonus -= 10; willBonus -= 10; break; + case '失控期': intBonus -= 20; willBonus -= 20; break; + } +} + +// ==================== 排泄欲 ==================== +if (curEffs.排泄欲) { + switch (curEffs.排泄欲.狀態) { + case '輕微便意': intBonus -= 2; perBonus -= 2; break; + case '明顯便意': intBonus -= 5; perBonus -= 5; break; + case '快拉出來了': intBonus -= 10; perBonus -= 10; willBonus -= 5; break; + case '大小便失禁': intBonus -= 20; perBonus -= 20; willBonus -= 10; break; + } +} + +// ==================== 體溫 ==================== +if (curEffs.體溫) { + switch (curEffs.體溫.狀態) { + case '體溫過低': strBonus -= 5; endBonus -= 5; intBonus -= 5; break; + case '嚴重失溫': strBonus -= 10; endBonus -= 10; intBonus -= 10; willBonus -= 10; break; + case '發燒': strBonus -= 5; endBonus -= 5; intBonus -= 5; willBonus -= 5; break; + case '高熱': strBonus -= 10; endBonus -= 10; intBonus -= 10; willBonus -= 10; break; + } +} + +// ==================== 疼痛 ==================== +if (curEffs.疼痛) { + switch (curEffs.疼痛.狀態) { + case '輕微疼痛': intBonus -= 2; perBonus -= 2; break; + case '劇烈疼痛': strBonus -= 10; endBonus -= 10; intBonus -= 10; perBonus -= 10; willBonus -= 10; break; + case '極度痛苦': strBonus -= 15; endBonus -= 15; intBonus -= 15; perBonus -= 15; willBonus -= 15; break; + } +} + +// ==================== 清潔 ==================== +if (curEffs.清潔) { + switch (curEffs.清潔.狀態) { + case '有點髒': break; // 無屬性影響,主要影響免疫負荷 + case '污穢不堪': break; // 無屬性影響,主要影響免疫負荷 + } +} + +// ==================== 維生素 ==================== +if (curEffs.維生素) { + switch (curEffs.維生素.狀態) { + case '維生素缺乏': endBonus -= 5; intBonus -= 2; break; + case '維生素嚴重缺乏': endBonus -= 10; intBonus -= 5; perBonus -= 5; break; + } +} + +// ==================== 氮平衡 ==================== +if (curEffs.氮平衡) { + switch (curEffs.氮平衡.狀態) { + case '負氮平衡': strBonus -= 5; endBonus -= 5; break; + case '嚴重負氮平衡': strBonus -= 10; endBonus -= 10; break; + } +} + +// 應用屬性加值 +set(vars, '屬性.耐力.加值', clamp(endBonus, -50, 50)); +set(vars, '屬性.力量.加值', clamp(strBonus, -50, 50)); +set(vars, '屬性.意志.加值', clamp(willBonus, -50, 50)); +set(vars, '屬性.智力.加值', clamp(intBonus, -50, 50)); +set(vars, '屬性.感知.加值', clamp(perBonus, -50, 50)); + +debugLog('屬性加值更新 - 力量:' + strBonus + ', 耐力:' + endBonus + ', 意志:' + willBonus + ', 智力:' + intBonus + ', 感知:' + perBonus); + + var end = int(get(vars, '屬性.耐力.等級')) || 20; + var will = int(get(vars, '屬性.意志.等級')) || 20; + var str = int(get(vars, '屬性.力量.等級')) || 20; + + var hpMax = 4 * end, + spMax = 4 * will, + baseCarry = 2 * str, + carryBonus = 0; + + var equip = get(vars, '裝備'); + if (_.isPlainObject(equip)) { + _.forEach(equip, function(slot, slotName) { + if (slotName.startsWith('$')) return; + if (_.isPlainObject(slot)) { + var bonus = int(get(slot, '負重加成')); + if (Number.isFinite(bonus) && bonus > 0) carryBonus += bonus; + } + }); + } + var carryMax = Math.round(baseCarry * (carryBonus > 0 ? carryBonus : 1)); + + if (lastSnapshot && lastSnapshot.hpMax && lastSnapshot.hpMax !== hpMax) { + var newHp = scaleValue(lastSnapshot.hpCur, lastSnapshot.hpMax, hpMax); + if (newHp !== get(vars, '生理.當前生命值')) { + set(vars, '生理.當前生命值', newHp); + logChange('生命值上限變化', '當前生命值按比例調整'); + } + } + + set(vars, '生理.生命值上限', hpMax); + set(vars, '精神.精神值上限', spMax); + set(vars, '狀態.負重上限', carryMax); + + var totalWeight = 0; + var items = get(vars, '攜帶物品'); + if (_.isPlainObject(items)) { + _.forEach(items, function(item, key) { + if (key.startsWith('$')) return; + var q = get(item, '數量'), w = get(item, '重量'); + if (Number.isFinite(q) && Number.isFinite(w) && q > 0 && w > 0) totalWeight += q * w; + }); + } + if (_.isPlainObject(equip)) { + _.forEach(equip, function(slot, slotName) { + if (slotName.startsWith('$')) return; + if (_.isPlainObject(slot)) { + var w = get(slot, '重量'); + if (Number.isFinite(w) && w > 0) totalWeight += w; + } + }); + } + set(vars, '狀態.當前負重', Math.round(totalWeight * 100) / 100); + + var hpCur = get(vars, '生理.當前生命值'); + if (hpCur > hpMax) { + set(vars, '生理.當前生命值', hpMax); + logChange('邊界修正', '當前生命值 ' + hpCur + ' → ' + hpMax); + fixCount++; + } + + var spCur = get(vars, '精神.當前精神值'); + if (spCur > spMax) { + set(vars, '精神.當前精神值', spMax); + logChange('邊界修正', '當前精神值 ' + spCur + ' → ' + spMax); + fixCount++; + } + + var fatigueMax = 4 * end, + fatigue = get(vars, '狀態.疲勞'); + if (fatigue > fatigueMax) { + set(vars, '狀態.疲勞', fatigueMax); + logChange('邊界修正', '疲勞 ' + fatigue + ' → ' + fatigueMax); + fixCount++; + } else if (fatigue < 0) { + set(vars, '狀態.疲勞', 0); + logChange('邊界修正', '疲勞 ' + fatigue + ' → 0'); + fixCount++; + } + + var carbs = get(vars, '生理.碳水'); + if (carbs > 2000) { + var excess = carbs - 2000, + toFat = Math.round(excess * 0.75); + set(vars, '生理.碳水', 2000); + var oldFat = get(vars, '生理.脂肪') || 0; + set(vars, '生理.脂肪', oldFat + toFat); + logChange('碳水轉脂肪', '超出' + excess + 'kcal → +' + toFat + 'kcal脂肪'); + fixCount++; + } + + var bounds = [ + { p: '屬性.力量.加值', min: -50, max: 50 }, + { p: '屬性.敏捷.加值', min: -50, max: 50 }, + { p: '屬性.耐力.加值', min: -50, max: 50 }, + { p: '屬性.智力.加值', min: -50, max: 50 }, + { p: '屬性.感知.加值', min: -50, max: 50 }, + { p: '屬性.意志.加值', min: -50, max: 50 }, + { p: '生理.水分', min: 0, max: 100 }, + { p: '生理.碳水', min: 0, max: 2000 }, + { p: '生理.脂肪', min: 0, max: 100000 }, + { p: '生理.蛋白質', min: 0, max: 2400 }, + { p: '生理.維生素', min: 0, max: 100 }, + { p: '生理.氮平衡', min: -100, max: 100 }, + { p: '生理.免疫負荷', min: 0, max: 100 }, + { p: '生理.體溫', min: 35, max: 40 }, + { p: '生理.排泄欲', min: 0, max: 100 }, + { p: '精神.壓力', min: 0, max: 100 }, + { p: '精神.無聊', min: 0, max: 100 }, + { p: '精神.孤獨', min: 0, max: 100 }, + { p: '精神.睡眠', min: 0, max: 100 }, + { p: '精神.性慾', min: 0, max: 100 }, + { p: '生理.飽腹感', min: 0, max: 100 }, + { p: '狀態.表皮溼度', min: 0, max: 100 }, + { p: '狀態.感染', min: 0, max: 100 }, + { p: '狀態.清潔', min: 0, max: 100 }, + { p: '狀態.疼痛', min: 0, max: 100 }, + { p: '系統.生存點數', min: 0, max: 99999 }, + { p: '系統.奇蹟點數', min: 0, max: 99999 } + ]; + bounds.forEach(function(b) { + var val = get(vars, b.p); + if (Number.isFinite(val)) { + var nv = clamp(val, b.min, b.max); + if (nv !== val) { + set(vars, b.p, nv); + logChange('邊界修正', b.p + ' ' + val + ' → ' + nv); + fixCount++; + } + } + }); + + processCompanionLimits(vars); + } + + // ======================== 狀態效果生成 ======================== + var statusCache = null; + + function processStatusEffects(vars) { + var cur = getCurrentTime(vars); + if (!cur) return; + + var water = int(get(vars, '生理.水分')) || 0; + var excretion = int(get(vars, '生理.排泄欲')) || 0; + var stress = int(get(vars, '精神.壓力')) || 0; + var lust = int(get(vars, '精神.性慾')) || 0; + var boring = int(get(vars, '精神.無聊')) || 0; + var sleep = int(get(vars, '精神.睡眠')) || 0; + var vit = int(get(vars, '生理.維生素')) || 0; + var temp = int(get(vars, '生理.體溫')) || 37; + var full = int(get(vars, '生理.飽腹感')) || 0; + var fatigue = int(get(vars, '狀態.疲勞')) || 0; + var nitrogen = int(get(vars, '生理.氮平衡')) || 0; + var skin = int(get(vars, '狀態.表皮溼度')) || 0; + var clean = int(get(vars, '狀態.清潔')) || 0; + var pain = int(get(vars, '狀態.疼痛')) || 0; + + var end = int(get(vars, '屬性.耐力.等級')) || 20; + var will = int(get(vars, '屬性.意志.等級')) || 20; + var str = int(get(vars, '屬性.力量.等級')) || 20; + var maxFatigue = 4 * end; + var fatiguePerc = maxFatigue > 0 ? fatigue / maxFatigue * 100 : 0; + + var effects = {}; + var statuses = {}; + + function add(k, name, desc) { + effects[k] = { 狀態: name, 效果: desc }; + statuses[k] = { name: name, value: arguments[3] }; + } + + // 排泄欲效果 + if (excretion >= 100) add('排泄欲', '大小便失禁', '達到極限無法控制,直接在原地大小便失禁。', excretion); + else if (excretion >= 71) add('排泄欲', '快拉出來了', '已經到了極限邊緣,頻繁放臭屁、漏尿,急著要找地方解放。', excretion); + else if (excretion >= 51) add('排泄欲', '明顯便意', '腦中都是想要找地方拉屎或放尿,注意力難以集中。', excretion); + else if (excretion >= 31) add('排泄欲', '輕微便意', '有點尿意想上廁所,但是還能忍耐。', excretion); + else add('排泄欲', '消化正常', '無特殊效果。', excretion); + + // 水分 + if (water > 90) add('水分', '水分充足', '身體水分充足,精神飽滿。所有與耐力相關的檢定獲得+5背景加值。', water); + else if (water > 70) add('水分', '狀態正常', '沒什麼特別的感覺。', water); + else if (water > 50) add('水分', '輕微口渴', '喉嚨有點幹,下意識想找水喝,注意力有點不集中。所有智力、感知相關檢定受到-2減值。', water); + else if (water > 30) add('水分', '明顯口渴', '口乾舌燥,感覺有些煩躁,身體在強烈要求補水。所有重體力相關檢定(如力量、耐力)受到-5減值。', water); + else if (water > 10) add('水分', '輕度脫水', '嘴脣乾裂,頭暈乏力,身體因缺水而變得遲鈍。所有重體力相關檢定受到-10減值。', water); + else if (water > 0) add('水分', '嚴重脫水', '嚴重缺水,視野開始模糊,身體機能受到明顯影響,必須立刻補充水分。所有重體力相關檢定受到-15減值。', water); + else add('水分', '瀕死:脫水', '身體因嚴重缺水而瀕臨崩潰。', water); + + // 壓力 + if (stress < 10) add('壓力', '心神沉靜', '思維清晰,內心平靜。所有與意志和智力相關的檢定獲得+5加值', stress); + else if (stress < 50) add('壓力', '狀態正常', '無特殊效果', stress); + else if (stress < 80) add('壓力', '高度焦慮', '壓力極大,內心充滿焦慮和不安。所有檢定受到 -5 減值。', stress); + else if (stress < 100) add('壓力', '不堪重負', '巨大的壓力使你瀕臨崩潰邊緣。所有檢定受到 -10 減值。', stress); + else add('壓力', '精神崩潰', '精神防線徹底崩潰,角色陷入恐慌、偏執或絕望狀態。', stress); + + // 性慾 + if (lust < 10) add('性慾', '消退期', '日常工作狀態,此時專注力提升,反應能力非常好。', lust); + else if (lust < 25) add('性慾', '反應期', '開始會注意異性的身體曲線,被觸碰時會有輕微感覺。', lust); + else if (lust < 45) add('性慾', '持續期', '盯著女性的胸部、臀部看,陰莖時不時半勃起,出現舔唇動作。', lust); + else if (lust < 65) add('性慾', '興奮期', '主動觸碰女性身體,做出親密接觸,渴望更進一步。', lust); + else if (lust < 85) add('性慾', '高潮期', '強烈渴望,克制力降到最低點,只要女性不強烈抗拒就會直接發生性愛。', lust); + else add('性慾', '失控期', '理智幾乎喪失,陰莖硬到發痛。即使女性抗拒也會強行發生性愛。', lust); + + // 無聊 + if (boring < 10) add('無聊', '興致盎然', '對周圍的一切充滿好奇和探索欲。技能經驗獲取幅度提升20%', boring); + else if (boring < 50) add('無聊', '狀態正常', '無特殊效果', boring); + else if (boring < 80) add('無聊', '感到無聊', '缺乏精神刺激讓你感到煩悶。', boring); + else if (boring < 95) add('無聊', '非常無聊', '感到極度乏味,對什麼都提不起興趣。', boring); + else add('無聊', '極度無聊', '單調的生活令人窒息,你迫切需要做點什麼來改變現狀。', boring); + + // 睡眠 + if (sleep > 90) add('睡眠', '精力充沛', '充足的睡眠讓你恢復了所有精力。疲勞恢復速度加倍,精神屬性和技能相關檢定+5', sleep); + else if (sleep > 60) add('睡眠', '狀態正常', '無特殊效果', sleep); + else if (sleep > 30) add('睡眠', '疲倦', '開始感到身體和精神的疲勞。所有屬性檢定受到 -5 減值', sleep); + else if (sleep > 0) add('睡眠', '非常疲憊', '嚴重缺乏睡眠,眼皮沉重,反應遲鈍。所有屬性檢定受到 -15 減值。', sleep); + else add('睡眠', '精疲力竭', '身體達到極限,隨時可能因過度疲勞而昏倒。', sleep); + + // 維生素 + if (vit > 80) add('維生素', '維生素充足', '維生素充足', vit); + else if (vit > 30) add('維生素', '狀態正常', '無特殊效果', vit); + else if (vit > 0) add('維生素', '維生素缺乏', '身體出現多種不良反應,更快疲勞等', vit); + else add('維生素', '維生素嚴重缺乏', '出現壞血病、夜盲症等嚴重疾病', vit); + + // 體溫 + if (temp > 40) add('體溫', '高熱', '身體滾燙,意識模糊,嚴重高燒讓人難以思考。所有屬性檢定-10減值。', temp); + else if (temp > 38) add('體溫', '發燒', '身體發燙,感到乏力、惡寒,身體非常不適。所有屬性檢定-5減值。', temp); + else if (temp > 36) add('體溫', '狀態正常', '體溫正常,沒什麼不適。', temp); + else if (temp > 34) add('體溫', '體溫過低', '身體開始顫抖,手腳冰冷,思維和行動變得遲緩。所有屬性檢定-5減值。', temp); + else add('體溫', '嚴重失溫', '身體劇烈顫抖,意識開始模糊,再這樣下去會有生命危險。所有屬性檢定-10減值。', temp); + + // 飽腹感 + if (full > 95) add('飽腹感', '過飽', '吃撐了,行動有點不方便。所有敏捷和耐力相關檢定受到-5減值。', full); + else if (full > 85) add('飽腹感', '飽足', '吃飽喝足,感覺充滿能量,體力充沛,疲勞感不易累積。', full); + else if (full > 60) add('飽腹感', '狀態正常', '沒什麼特別的感覺。', full); + else if (full > 30) add('飽腹感', '輕微飢餓', '肚子有點空,開始期待下一頓飯。', full); + else if (full > 10) add('飽腹感', '明顯飢餓', '肚子在咕咕叫,有點想吃東西了,注意力難以集中。所有屬性檢定受到-5減值。', full); + else if (full > 0) add('飽腹感', '極度飢餓', '餓得前胸貼後背,身體因爲缺乏能量而感到虛弱,必須儘快進食。所有屬性檢定受到-15減值。', full); + else add('飽腹感', '虛脫', '身體因能量儲備完全耗盡而極度虛弱,各項機能開始下降,身體正在消耗自身以維持生命。必須立即進食以阻止進一步惡化。', full); + + // 疲勞 + if (fatiguePerc < 10) add('疲勞', '精力十足', '渾身是勁,感覺還能再戰三百回合。所有與力量和耐力相關檢定獲得+5背景加值。', fatigue); + else if (fatiguePerc <= 30) add('疲勞', '狀態正常', '身體狀態良好,沒什麼特別的感覺。', fatigue); + else if (fatiguePerc <= 50) add('疲勞', '微微出汗', '身體開始發熱,呼吸稍微加快,但還遠未到累的時候。', fatigue); + else if (fatiguePerc <= 70) add('疲勞', '有些疲憊', '肌肉微微發酸,呼吸比平時稍重,是時候考慮歇一歇了。所有重體力相關檢定受到-5減值。', fatigue); + else if (fatiguePerc <= 90) add('疲勞', '相當疲勞', '身體變得沉重,每一下動作都需要更多力氣,疲倦感十分明顯。所有重體力相關檢定受到-10減值。', fatigue); + else add('疲勞', '筋疲力盡', '身體非常沉重,每一下動作都變得吃力,只想找個地方坐下來喘口氣。所有重體力相關檢定受到-15減值。', fatigue); + + // 氮平衡 + if (nitrogen > 75) add('氮平衡', '正氮平衡', '身體處於合成代謝狀態,有利於組織生長和修復。1.5倍力量經驗增長,更快從疲勞恢復', nitrogen); + else if (nitrogen > -50) add('氮平衡', '狀態正常', '無特殊效果', nitrogen); + else if (nitrogen > -90) add('氮平衡', '負氮平衡', '身體處於分解代謝狀態,肌肉開始流失,感到無力。力量和耐力相關檢定-5減值', nitrogen); + else add('氮平衡', '嚴重負氮平衡', '嚴重的組織蛋白分解,身體虛弱。力量和耐力相關檢定-10減值', nitrogen); + + // 表皮溼度 + if (skin > 80) add('表皮溼度', '全身溼透', '衣物和皮膚完全溼透,非常不適,體溫流失速度加快。在寒冷環境中更容易觸發"體溫過低"狀態', skin); + else if (skin > 40) add('表皮溼度', '潮溼', '皮膚和衣物感到潮溼,略有不適', skin); + else if (skin > 20) add('表皮溼度', '狀態正常', '無特殊效果', skin); + else add('表皮溼度', '皮膚乾燥', '皮膚缺水,感到緊繃和輕微的瘙癢', skin); + + // 清潔 + if (clean > 90) add('清潔', '乾淨整潔', '全身清爽,心情愉悅。精神值自然恢復速度提升10%', clean); + else if (clean > 40) add('清潔', '狀態正常', '無特殊效果', clean); + else if (clean > 10) add('清潔', '有點髒', '身上有污垢或異味,讓人不適。', clean); + else add('清潔', '污穢不堪', '全身骯髒,散發惡臭,大大增加感染疾病的風險。', clean); + + // 疼痛 + if (pain > 90) add('疼痛', '極度痛苦', '難以忍受的劇痛,幾乎無法思考和行動。所有檢定受到-15減值,有概率因劇痛而昏厥', pain); + else if (pain > 50) add('疼痛', '劇烈疼痛', '強烈的疼痛感嚴重干擾了專注力。所有檢定受到-10減值', pain); + else if (pain > 10) add('疼痛', '輕微疼痛', '持續的隱痛讓人煩躁,分散注意力。所有與智力、感知相關的檢定受到-2減值', pain); + else add('疼痛', '狀態正常', '無特殊效果', pain); + + var ignoreList = ['狀態正常', '沒什麼特別的感覺', '無特殊感覺', '無特殊效果', '體溫正常', '皮膚乾燥', '興致盎然', '精力充沛', '心神沉靜', '乾淨整潔']; + for (var k in statuses) { + if (ignoreList.includes(statuses[k].name)) delete statuses[k]; + } + + var curEff = get(vars, '狀態.生效效果') || {}; + for (var k in effects) { + var newEff = effects[k], old = curEff[k]; + if (!old || old.狀態 !== newEff.狀態 || old.效果 !== newEff.效果) { + set(vars, '狀態.生效效果.' + k, newEff); + logChange('生效效果更新', k + ': ' + newEff.狀態); + fixCount++; + } + } + + for (var k in curEff) { + if (k.startsWith('$')) continue; + if (!effects[k] && curEff[k] !== undefined) { + set(vars, '狀態.生效效果.' + k, null); + } + } + + // 持續傷害計算(路徑已更新) + if (statusCache && cur) { + var prev = statusCache.time; + var delta = (cur.total - prev.total) / 60; + if (delta > 0 && statusCache.statuses) { + var oldStats = statusCache.statuses; + var damageStates = [ + '明顯口渴', '輕度脫水', '嚴重脫水', '過飽', + '明顯飢餓', '極度飢餓', '虛脫', '相當疲勞', '筋疲力盡', + '高度焦慮', '不堪重負', '感到無聊', '非常無聊', '極度無聊', + '高熱', '發燒', '體溫過低', '嚴重失溫', + '極度痛苦', '劇烈疼痛', '有點髒', '污穢不堪' + ]; + for (var k in statuses) { + var s = statuses[k], old = oldStats[k]; + var effectiveName = s.name; + if (old && old.name !== s.name && damageStates.includes(old.name)) effectiveName = old.name; + if (damageStates.includes(effectiveName)) { + debugLog('持續傷害觸發: ' + effectiveName + ', 時間差: ' + delta.toFixed(2) + '小時'); + switch(effectiveName) { + case '明顯口渴': + var newSp1 = clamp((get(vars, '精神.當前精神值')||0) - 0.5 * delta, 0, 100); + set(vars, '精神.當前精神值', newSp1); + logChange('持續傷害', '明顯口渴:精神值 -' + (0.5 * delta).toFixed(2) + ' → ' + newSp1.toFixed(2)); + fixCount++; + break; + case '輕度脫水': + var newHp2 = clamp((get(vars, '生理.當前生命值')||0) - 0.5 * delta, 0, 1000); + var newSp2 = clamp((get(vars, '精神.當前精神值')||0) - 0.5 * delta, 0, 100); + set(vars, '生理.當前生命值', newHp2); + set(vars, '精神.當前精神值', newSp2); + logChange('持續傷害', '輕度脫水:生命/精神值各 -' + (0.5 * delta).toFixed(2)); + fixCount++; + break; + case '嚴重脫水': + var newHp3 = clamp((get(vars, '生理.當前生命值')||0) - 1 * delta, 0, 1000); + var newSp3 = clamp((get(vars, '精神.當前精神值')||0) - 1 * delta, 0, 100); + var newLoad3 = clamp(get(vars, '生理.免疫負荷') + 0.5 * delta, 0, 100); + set(vars, '生理.當前生命值', newHp3); + set(vars, '精神.當前精神值', newSp3); + set(vars, '生理.免疫負荷', newLoad3); + logChange('持續傷害', '嚴重脫水:生命/精神值各 -' + (1 * delta).toFixed(2) + ',免疫負荷 +' + (0.5 * delta).toFixed(2)); + fixCount++; + break; + case '過飽': + var newFat4 = clamp(get(vars, '狀態.疲勞') + 1 * delta, 0, 4 * end); + set(vars, '狀態.疲勞', newFat4); + logChange('持續傷害', '過飽:疲勞值 +' + (1 * delta).toFixed(2)); + fixCount++; + break; + case '明顯飢餓': + var newSp5 = clamp((get(vars, '精神.當前精神值')||0) - 0.5 * delta, 0, 100); + set(vars, '精神.當前精神值', newSp5); + logChange('持續傷害', '明顯飢餓:精神值 -' + (0.5 * delta).toFixed(2)); + fixCount++; + break; + case '極度飢餓': + var newHp6 = clamp((get(vars, '生理.當前生命值')||0) - 0.5 * delta, 0, 1000); + var newSp6 = clamp((get(vars, '精神.當前精神值')||0) - 1 * delta, 0, 100); + set(vars, '生理.當前生命值', newHp6); + set(vars, '精神.當前精神值', newSp6); + if (get(vars, '環境.體感溫度') < get(vars, '狀態.最低舒適溫度')) { + var newTemp6 = clamp(get(vars, '生理.體溫') - 0.5 * delta, 35, 40); + set(vars, '生理.體溫', newTemp6); + logChange('持續傷害', '極度飢餓(寒冷環境):生命值 -' + (0.5 * delta).toFixed(2) + ',精神值 -' + (1 * delta).toFixed(2) + ',體溫 -0.5℃'); + } else { + logChange('持續傷害', '極度飢餓:生命值 -' + (0.5 * delta).toFixed(2) + ',精神值 -' + (1 * delta).toFixed(2)); + } + fixCount++; + break; + case '虛脫': + var newHp7 = clamp((get(vars, '生理.當前生命值')||0) - 1 * delta, 0, 1000); + var newSp7 = clamp((get(vars, '精神.當前精神值')||0) - 2 * delta, 0, 100); + set(vars, '生理.當前生命值', newHp7); + set(vars, '精神.當前精神值', newSp7); + if (get(vars, '環境.體感溫度') < get(vars, '狀態.最低舒適溫度')) { + var newTemp7 = clamp(get(vars, '生理.體溫') - 0.5 * delta, 35, 40); + set(vars, '生理.體溫', newTemp7); + logChange('持續傷害', '虛脫(寒冷環境):生命值 -' + (1 * delta).toFixed(2) + ',精神值 -' + (2 * delta).toFixed(2) + ',體溫 -0.5℃'); + } else { + logChange('持續傷害', '虛脫:生命值 -' + (1 * delta).toFixed(2) + ',精神值 -' + (2 * delta).toFixed(2)); + } + fixCount++; + break; + case '相當疲勞': + var newImm8 = clamp(get(vars, '狀態.免疫力') - 0.5 * delta, 0, 100); + set(vars, '狀態.免疫力', newImm8); + logChange('持續傷害', '相當疲勞:免疫力 -' + (0.5 * delta).toFixed(2) + ' → ' + newImm8.toFixed(2)); + fixCount++; + break; + case '筋疲力盡': + var newImm9 = clamp(get(vars, '狀態.免疫力') - 1 * delta, 0, 100); + var newSleep9 = clamp(get(vars, '精神.睡眠') - 0.5 * delta, 0, 100); + set(vars, '狀態.免疫力', newImm9); + set(vars, '精神.睡眠', newSleep9); + logChange('持續傷害', '筋疲力盡:免疫力 -' + (1 * delta).toFixed(2) + ' → ' + newImm9.toFixed(2) + ',睡眠值 -' + (0.5 * delta).toFixed(2) + ' → ' + newSleep9.toFixed(2)); + fixCount++; + break; + case '高度焦慮': + var newSp10 = clamp((get(vars, '精神.當前精神值')||0) - 0.3 * delta, 0, 100); + set(vars, '精神.當前精神值', newSp10); + logChange('持續傷害', '高度焦慮:精神值 -' + (0.3 * delta).toFixed(2) + ' → ' + newSp10.toFixed(2)); + fixCount++; + break; + case '不堪重負': + var newSp11 = clamp((get(vars, '精神.當前精神值')||0) - 0.5 * delta, 0, 100); + set(vars, '精神.當前精神值', newSp11); + logChange('持續傷害', '不堪重負:精神值 -' + (0.5 * delta).toFixed(2) + ' → ' + newSp11.toFixed(2)); + fixCount++; + break; + case '感到無聊': + var newSp12 = clamp((get(vars, '精神.當前精神值')||0) - 0.3 * delta, 0, 100); + set(vars, '精神.當前精神值', newSp12); + logChange('持續傷害', '感到無聊:精神值 -' + (0.3 * delta).toFixed(2) + ' → ' + newSp12.toFixed(2)); + fixCount++; + break; + case '非常無聊': + var newSp13 = clamp((get(vars, '精神.當前精神值')||0) - 0.5 * delta, 0, 100); + set(vars, '精神.當前精神值', newSp13); + logChange('持續傷害', '非常無聊:精神值 -' + (0.5 * delta).toFixed(2) + ' → ' + newSp13.toFixed(2)); + fixCount++; + break; + case '極度無聊': + var newSp14 = clamp((get(vars, '精神.當前精神值')||0) - 0.8 * delta, 0, 100); + set(vars, '精神.當前精神值', newSp14); + logChange('持續傷害', '極度無聊:精神值 -' + (0.8 * delta).toFixed(2) + ' → ' + newSp14.toFixed(2)); + fixCount++; + break; + case '高熱': + var newHp15 = clamp((get(vars, '生理.當前生命值')||0) - 1 * delta, 0, 1000); + var newSp15 = clamp((get(vars, '精神.當前精神值')||0) - 1 * delta, 0, 100); + set(vars, '生理.當前生命值', newHp15); + set(vars, '精神.當前精神值', newSp15); + logChange('持續傷害', '高熱:生命/精神值各 -' + (1 * delta).toFixed(2)); + fixCount++; + break; + case '發燒': + var newHp16 = clamp((get(vars, '生理.當前生命值')||0) - 0.5 * delta, 0, 1000); + var newSp16 = clamp((get(vars, '精神.當前精神值')||0) - 0.5 * delta, 0, 100); + set(vars, '生理.當前生命值', newHp16); + set(vars, '精神.當前精神值', newSp16); + logChange('持續傷害', '發燒:生命/精神值各 -' + (0.5 * delta).toFixed(2)); + fixCount++; + break; + case '體溫過低': + var newFat17 = clamp(get(vars, '狀態.疲勞') + 1.5 * delta, 0, 4 * end); + set(vars, '狀態.疲勞', newFat17); + logChange('持續傷害', '體溫過低:疲勞值 +' + (1.5 * delta).toFixed(2) + ' → ' + newFat17.toFixed(2)); + fixCount++; + break; + case '嚴重失溫': + var newHp18 = clamp((get(vars, '生理.當前生命值')||0) - 1.5 * delta, 0, 1000); + var newFat18 = clamp(get(vars, '狀態.疲勞') + 2.5 * delta, 0, 4 * end); + set(vars, '生理.當前生命值', newHp18); + set(vars, '狀態.疲勞', newFat18); + logChange('持續傷害', '嚴重失溫:生命值 -' + (1.5 * delta).toFixed(2) + ',疲勞值 +' + (2.5 * delta).toFixed(2)); + fixCount++; + break; + case '極度痛苦': + var newSp19 = clamp((get(vars, '精神.當前精神值')||0) - 1.5 * delta, 0, 100); + set(vars, '精神.當前精神值', newSp19); + logChange('持續傷害', '極度痛苦:精神值 -' + (1.5 * delta).toFixed(2) + ' → ' + newSp19.toFixed(2)); + fixCount++; + break; + case '劇烈疼痛': + var newSp20 = clamp((get(vars, '精神.當前精神值')||0) - 0.5 * delta, 0, 100); + set(vars, '精神.當前精神值', newSp20); + logChange('持續傷害', '劇烈疼痛:精神值 -' + (0.5 * delta).toFixed(2) + ' → ' + newSp20.toFixed(2)); + fixCount++; + break; + case '有點髒': + var newLoad21 = clamp(get(vars, '生理.免疫負荷') + 0.3 * delta, 0, 100); + set(vars, '生理.免疫負荷', newLoad21); + logChange('持續傷害', '有點髒:免疫負荷 +' + (0.3 * delta).toFixed(2) + ' → ' + newLoad21.toFixed(2)); + fixCount++; + break; + case '污穢不堪': + var newLoad22 = clamp(get(vars, '生理.免疫負荷') + 0.5 * delta, 0, 100); + set(vars, '生理.免疫負荷', newLoad22); + logChange('持續傷害', '污穢不堪:免疫負荷 +' + (0.5 * delta).toFixed(2) + ' → ' + newLoad22.toFixed(2)); + fixCount++; + break; + } + } + } + } + } + + // 計算最終生命上限和免疫力 + var baseHpMax = 4 * end, immunity = end; + + if (statuses.氮平衡 && statuses.氮平衡.name === '嚴重負氮平衡') { + baseHpMax -= 10; + immunity -= 10; + } + + if (statuses.維生素) { + switch(statuses.維生素.name) { + case '維生素充足': immunity += 5; break; + case '維生素缺乏': immunity -= 5; break; + case '維生素嚴重缺乏': immunity -= 10; break; + } + } + + if (statuses.體溫) { + switch(statuses.體溫.name) { + case '發燒': immunity += 5; break; + case '高熱': immunity += 10; break; + } + } + var oldStatsForImmunity = (statusCache && statusCache.statuses) ? statusCache.statuses : {}; + + if (statuses.疲勞 && statuses.疲勞.name === '相當疲勞' && (!oldStatsForImmunity.疲勞 || oldStatsForImmunity.疲勞.name !== '相當疲勞')) immunity -= 2; + if (statuses.疲勞 && statuses.疲勞.name === '筋疲力盡' && (!oldStatsForImmunity.疲勞 || oldStatsForImmunity.疲勞.name !== '筋疲力盡')) immunity -= 4; + + var spMax = 4 * will; + var spCur2 = get(vars, '精神.當前精神值'); + if (spCur2 > spMax) { + set(vars, '精神.當前精神值', spMax); + logChange('邊界修正', '當前精神值 ' + spCur2 + ' → ' + spMax); + fixCount++; + } + + var immLoadCurr = get(vars, '生理.免疫負荷'); + if (immLoadCurr > 100) { + set(vars, '生理.免疫負荷', 100); + logChange('邊界修正', '免疫負荷 ' + immLoadCurr + ' → 100'); + fixCount++; + } else if (immLoadCurr < 0) { + set(vars, '生理.免疫負荷', 0); + logChange('邊界修正', '免疫負荷 ' + immLoadCurr + ' → 0'); + fixCount++; + } + + var curImmunity = get(vars, '狀態.免疫力'); + var finalImm = clamp(immunity, 0, 100); + if (curImmunity !== finalImm) { + set(vars, '狀態.免疫力', finalImm); + logChange('免疫力修正', curImmunity + ' → ' + finalImm); + fixCount++; + } + + statusCache = { time: cur, statuses: statuses }; + } + + // ======================== 清理已完結的劇情演出 ======================== +function cleanupCompletedPerformances(vars) { + var comps = get(vars, '同伴'); + if (!_.isPlainObject(comps)) return; + + for (var name in comps) { + if (name.startsWith('$')) continue; + + var performances = get(vars, '同伴.' + name + '.劇情演出'); + if (!Array.isArray(performances) || performances.length === 0) continue; + + // 收集需要刪除的主題 + var themesToDelete = {}; + + // 第一遍:分析每個主題的狀態 + for (var i = 0; i < performances.length; i++) { + var perf = performances[i]; + if (typeof perf !== 'string') continue; + + // 解析格式:事件-主題-序號-狀態:描述 + var match = perf.match(/^事件-([^-]+)-(\d+)-(.+?):(.+)$/); + if (!match) continue; + + var theme = match[1]; + var seq = parseInt(match[2]); + var status = match[3]; + var desc = match[4]; + + if (!themesToDelete[theme]) { + themesToDelete[theme] = { + maxSeq: 0, + hasCompleted: false, + indices: [] + }; + } + + themesToDelete[theme].indices.push(i); + if (seq > themesToDelete[theme].maxSeq) { + themesToDelete[theme].maxSeq = seq; + } + if (status === '已完成') { + themesToDelete[theme].hasCompleted = true; + } + } + + // 第二遍:從後往前刪除(避免索引錯亂) + var indicesToRemove = []; + for (var theme in themesToDelete) { + var info = themesToDelete[theme]; + + // 規則:當序號達到 5 且最後一個事件已完成時,刪除整個主題 + if (info.maxSeq >= 5 && info.hasCompleted) { + indicesToRemove.push(...info.indices); + logChange('劇情演出清理', name + ' 主題「' + theme + '」序號已達 ' + info.maxSeq + ',已完結,刪除 ' + info.indices.length + ' 條'); + fixCount++; + } + } + + // 從後往前刪除(保持索引有效) + if (indicesToRemove.length > 0) { + indicesToRemove.sort((a, b) => b - a); + for (var i = 0; i < indicesToRemove.length; i++) { + performances.splice(indicesToRemove[i], 1); + } + set(vars, '同伴.' + name + '.劇情演出', performances); + } + } +} + + // ======================== 任務和商店處理 ======================== +function processTasksAndShop(vars) { + function updateTaskCompletion(tp) { + var task = get(vars, tp); + if (!_.isPlainObject(task) || !task.狀態) return; + var changed = false; + + var baseReqs = get(task, '任務要求'); + if (_.isPlainObject(baseReqs)) { + var allDone = true; + for (var k in baseReqs) { + if (k.startsWith('$')) continue; + var req = baseReqs[k], + newReq = checkRequirement(req); + if (newReq !== req) { + set(vars, tp + '.任務要求.' + k, newReq); + changed = true; + } + if (!newReq.已完成) allDone = false; + } + var curDone = get(task, '完成情況.基礎要求完成'); + if (allDone !== curDone) { + set(vars, tp + '.完成情況.基礎要求完成', allDone); + changed = true; + } + } + + var advReqs = get(task, '進階目標'); + if (_.isPlainObject(advReqs)) { + var allDone = true; + for (var k in advReqs) { + if (k.startsWith('$')) continue; + var req = advReqs[k], + newReq = checkRequirement(req); + if (newReq !== req) { + set(vars, tp + '.進階目標.' + k, newReq); + changed = true; + } + if (!newReq.已完成) allDone = false; + } + var curDone = get(task, '完成情況.進階目標完成'); + if (allDone !== curDone) { + set(vars, tp + '.完成情況.進階目標完成', allDone); + changed = true; + } + } + + return changed; + } + + function updateTaskStatus(tp, type) { + var task = get(vars, tp); + if (!_.isPlainObject(task) || !task.狀態) return; + var status = get(task, '狀態'), + baseDone = get(task, '完成情況.基礎要求完成', false), + advDone = get(task, '完成情況.進階目標完成', false), + hasAdv = _.isPlainObject(get(task, '進階目標')) && + Object.keys(get(task, '進階目標')).filter(function(k) { return !k.startsWith('$'); }).length > 0, + endTimeStr = get(task, '結束時間', ''), + curTime = getCurrentTime(vars); + var correct = status, + endTime = endTimeStr ? parseFullTime(endTimeStr) : null, + expired = endTime && curTime && curTime.total >= endTime.total; + + if (expired) { + if (baseDone) { + correct = '待結算'; + if (hasAdv && !advDone) { + var s = get(task, '結算狀態') || { 基礎獎勵已發放: false, 進階獎勵已發放: false, 失敗懲罰已發放: false }; + if (!s.進階獎勵已發放) set(vars, tp + '.結算狀態', { ...s, 進階獎勵已發放: true }); + } + } else { + if (type === '緊急') { + correct = '已失敗'; + var s = get(task, '結算狀態') || { 基礎獎勵已發放: false, 進階獎勵已發放: false, 失敗懲罰已發放: false }; + if (s.失敗懲罰已發放 === undefined || s.失敗懲罰已發放 === false) { + set(vars, tp + '.結算狀態', { ...s, 失敗懲罰已發放: false }); + } + } else { + correct = '已放棄'; + } + } + } else { + if (!baseDone) correct = '進行中'; + else if (hasAdv && !advDone) correct = '進階中'; + else correct = '待結算'; + } + + if (status !== correct) { + set(vars, tp + '.狀態', correct); + logChange('任務狀態修正', tp + ' ' + status + ' → ' + correct); + } + } + + // ========== 主線、支線、日常、緊急、背德(統一處理) ========== + // 🔴 加入「背德」 + var types = ['主線', '支線', '日常', '緊急', '背德']; + for (var i = 0; i < types.length; i++) { + var t = types[i], p = '任務.' + t; + var task = get(vars, p); + if (_.isPlainObject(task) && task.狀態) { + updateTaskCompletion(p); + updateTaskStatus(p, t); + } + } + + // ========== 羈絆任務(保持原本的獨立迴圈,不做任何修改) ========== + var bond = get(vars, '任務.羈絆'); + if (_.isPlainObject(bond)) { + for (var n in bond) { + if (n.startsWith('$')) continue; + var p = '任務.羈絆.' + n; + var task = bond[n]; + if (_.isPlainObject(task) && task.狀態) { + updateTaskCompletion(p); + updateTaskStatus(p, '羈絆'); + } + } + } + + // ========== 清理 ========== + function cleanup() { + // 清理主類型任務(加入「背德」) + var types = ['主線', '支線', '日常', '緊急', '背德']; + for (var i = 0; i < types.length; i++) { + var t = types[i], p = '任務.' + t; + var task = get(vars, p); + if (!_.isPlainObject(task) || _.isEmpty(task)) continue; + var baseReward = get(task, '結算狀態.基礎獎勵已發放', false); + var advReward = get(task, '結算狀態.進階獎勵已發放', false); + var hasAdv = _.isPlainObject(get(task, '進階目標')) && + Object.keys(get(task, '進階目標')).filter(function(k) { return !k.startsWith('$'); }).length > 0; + var allDone = baseReward && (!hasAdv || advReward); + if (allDone) { + _.set(vars, p, {}); + logChange('任務清理', p + ' 設爲空對象'); + continue; + } + var status = get(task, '狀態'); + if (status === '待結算' && baseReward && (!hasAdv || advReward)) { + _.set(vars, p, {}); + logChange('任務清理', p + ' 設爲空對象'); + } else if (status === '已放棄') { + _.set(vars, p, {}); + logChange('任務清理', p + ' 設爲空對象'); + } else if (status === '已失敗' && get(task, '結算狀態.失敗懲罰已發放', false)) { + _.set(vars, p, {}); + logChange('任務清理', p + ' 設爲空對象'); + } + } + + // 羈絆任務清理(保持原本不變) + var bond2 = get(vars, '任務.羈絆'); + if (_.isPlainObject(bond2)) { + for (var n in bond2) { + if (n.startsWith('$')) continue; + var p = '任務.羈絆.' + n; + var task = bond2[n]; + if (!_.isPlainObject(task) || _.isEmpty(task)) continue; + var baseReward = get(task, '結算狀態.基礎獎勵已發放', false); + var advReward = get(task, '結算狀態.進階獎勵已發放', false); + var hasAdv = _.isPlainObject(get(task, '進階目標')) && + Object.keys(get(task, '進階目標')).filter(function(k) { return !k.startsWith('$'); }).length > 0; + var allDone = baseReward && (!hasAdv || advReward); + if (allDone) { + _.set(vars, p, {}); + logChange('羈絆任務清理', p + ' 設爲空對象'); + continue; + } + var status = get(task, '狀態'); + if (status === '待結算' && baseReward && (!hasAdv || advReward)) { + _.set(vars, p, {}); + logChange('羈絆任務清理', p + ' 設爲空對象'); + } else if (status === '已放棄') { + _.set(vars, p, {}); + logChange('羈絆任務清理', p + ' 設爲空對象'); + } + } + } + } + + cleanup(); +} + +// ======================== 同伴生效效果(改寫版 - 適用你的路徑) ======================== +function processCompanionStatusEffects(vars) { + var comps = get(vars, '同伴'); + if (!_.isPlainObject(comps)) return; - 範例: { "op": "insert", "path": "/研究/生存科技", "value": { "進行中": { "基礎陶器燒製技術": { "當前進度": 0, "總進度": 100, "描述": "研究如何控制窯溫和燒製時間,以提高陶器成品率和硬度。" }}}} - - 【實驗消耗】 - 純觀察/推理類研究不消耗材料。涉及反覆實驗的研究消耗少量材料作爲實驗損耗,不產出成品。消耗量根據研究內容判斷。 - - 【智能聚合】 - AI應避免爲單一物品創建獨立研究項。研究對象應是概括性的技術或知識。對同一技術的深化研究,可替換現有條目的當前進度、總進度、描述,同時視深化程度決定是否更新研究項名稱。只有當研究方向發生本質變化時,才建議新建條目。 - - 【生命週期】 - 創建 → 推進進度 → 完成(從進行中移除,知識寫入知識庫)。 + var cur = getCurrentTime(vars); + if (!cur) return; -知識庫: # 對象,記錄所有已完成研究的成果。格式: '知識庫': { '類別': { '知識名': { '描述': '...' } } } - 類別: 根據知識性質自行分類,可參考以下分類: - - '生存科技':工具製作、建築技術、食物加工保存等 - - '自然學識':植物辨識、動物習性、地理氣象、藥用提取等 - - '神祕學':龍族相關、魔法物品、古老符文、靈體感應等 - 知識名: 具體的知識條目名稱。 - 描述: 用自然語言簡要描述該知識的內容和應用範圍。 + // 獲取主角的維生素和氮平衡(同伴會受影響) + var playerVit = int(get(vars, '生理.維生素')) || 0; + var playerNitro = int(get(vars, '生理.氮平衡')) || 0; + + for (var n in comps) { + if (n.startsWith('$')) continue; + var base = '同伴.' + n; + + // ========== 🔴 1. 初始化 effects 和 statuses(每個同伴獨立) ========== + var effects = {}; + var statuses = {}; + + // ========== 🔴 2. 定義 add 函數(在使用之前) ========== + function add(k, name, desc) { + effects[k] = { 狀態: name, 效果: desc }; + statuses[k] = { name: name }; + } + + // ========== 3. 確保生效效果路徑存在 ========== + var effPath = base + '.狀態.生效效果'; + var curEff = get(vars, effPath); + if (!_.isPlainObject(curEff)) { + set(vars, effPath, {}); + curEff = {}; + debugLog('初始化 ' + n + ' 的生效效果路徑'); + } + + // ========== 4. 讀取數據 ========== + var water = int(get(vars, base + '.生理.水分')) || 0; + var full = int(get(vars, base + '.生理.飽腹感')) || 0; + var excretion = int(get(vars, base + '.生理.排泄欲')) || 0; + + var stress = int(get(vars, base + '.精神.壓力')) || 0; + var sleepVal = int(get(vars, base + '.精神.睡眠')) || 0; + + var fatigue = int(get(vars, base + '.狀態.疲勞')) || 0; + var cleanVal = int(get(vars, base + '.狀態.清潔')) || 0; + + var endLv = int(get(vars, base + '.屬性.耐力.等級')) || 20; + var maxFat = 4 * endLv; + var fatPerc = maxFat > 0 ? fatigue / maxFat * 100 : 0; + + // 生命/精神值(用於持續傷害) + var hpCur = int(get(vars, base + '.生理.當前生命值')) || 100; + var hpMaxV = int(get(vars, base + '.生理.生命值上限')) || 100; + var spCur2 = int(get(vars, base + '.精神.當前精神值')) || 100; + var spMaxV = int(get(vars, base + '.精神.精神值上限')) || 100; + + // ========== 5. 生理週期計算 ========== + var menses = int(get(vars, base + '.生理狀態.月經週期')) || 14; + var pregnant = get(vars, base + '.生理狀態.懷孕狀態'); + var isPregnant = (pregnant && pregnant !== '未懷孕' && pregnant !== '流產'); + var preDays = isPregnant ? (get(vars, base + '.生理狀態.懷孕天數') || 0) : 0; + + var cyclePhase = ''; + var phaseDesc = ''; + if (isPregnant) { + cyclePhase = '懷孕中'; + phaseDesc = '受孕概率較高,部分同伴可能表現出性慾變化(依人設而定)。'; + } else { + var cycleDay = menses; + if (cycleDay >= 1 && cycleDay <= 5) { + cyclePhase = '月經期'; + phaseDesc = '體力消耗+20%。腹部不適,感知檢定-2。情緒敏感,對互動反應可能更易煩躁。'; + } else if (cycleDay >= 10 && cycleDay <= 16) { + cyclePhase = '危險期(易孕期)'; + phaseDesc = '受孕概率較高,部分同伴可能表現出性慾變化(依人設而定)。'; + } else if (cycleDay >= 6 && cycleDay <= 9) { + cyclePhase = '安全期'; + phaseDesc = '受孕概率較低。'; + } else if (cycleDay >= 17 && cycleDay <= 28) { + cyclePhase = '安全期'; + phaseDesc = '受孕概率較低。'; + } else { + cyclePhase = '狀態正常'; + phaseDesc = '無特殊效果。'; + } + } + + // ✅ 現在可以安全使用 add 函數 + if (cyclePhase !== '狀態正常') { + add('生理週期', cyclePhase, phaseDesc); + } + + // 如果懷孕,添加懷孕效果 + if (isPregnant) { + var preStage, preDesc; + if (preDays <= 30) { + preStage = '懷孕初期'; + preDesc = '體力消耗+30%。飽腹感消耗每小時額外+2。全屬性檢定-5減值。排泄需求尿意累積速度+50%。可能出現噁心、食慾變化。'; + } else if (preDays <= 60) { + preStage = '懷孕中期'; + preDesc = '體力消耗+20%。飽腹感消耗每小時額外+3。蛋白質和維生素需求+30%。力量/敏捷檢定-10減值。腹部開始隆起。'; + } else { + preStage = '懷孕後期'; + preDesc = '體力消耗+40%。無法奔跑、無法重體力活動。力量/敏捷檢定-20減值。睡眠恢復效率-30%。尿意累積速度+100%。'; + } + add('懷孕', preStage, preDesc); + + // 移除生理週期效果(懷孕期間) + if (effects['生理週期']) { + delete effects['生理週期']; + delete statuses['生理週期']; + } + } + + // ========== 6. 好感度效果 ========== + var affection = get(vars, base + '.技能.好感(對阿彬).等級') || 1; + var affectionStage = ''; + var affectionDesc = ''; + + if (affection >= 10) { + affectionStage = '夫妻'; + affectionDesc = '完全信賴對方,願意為對方付出一切,對任何要求都會順從,包括特殊性癖和背德行為。'; + } else if (affection == 9) { + affectionStage = '愛侶'; + affectionDesc = '會主動親近、撒嬌、討抱,願意配合正常體位的性行為,對特殊性行為會猶豫但可能嘗試。'; + } else if (affection == 8) { + affectionStage = '伴侶'; + affectionDesc = '會主動親近、撒嬌、討抱,願意配合正常體位的性行為,對特殊性行為明確說不。'; + } else if (affection == 7) { + affectionStage = '熱戀'; + affectionDesc = '渴望更多肢體接觸,不排斥正常體位的性行為(不接受特殊性行為,特殊人設例外)。'; + } else if (affection == 6) { + affectionStage = '戀人'; + affectionDesc = '期待肢體接觸,對性行為半推半就,嘴上拒絕但身體不排斥,需要對方主動引導。'; + } else if (affection == 5) { + affectionStage = '曖昧期'; + affectionDesc = '願意嘗試非插入式性行為(口交、手交、體外摩擦),對插入式性行為仍有猶豫,需要引導。'; + } else if (affection == 4) { + affectionStage = '知己'; + affectionDesc = '會主動靠近對方,享受獨處時光,可以接受愛撫和深吻,但對插入式性行為仍有抗拒。'; + } else if (affection == 3) { + affectionStage = '好友'; + affectionDesc = '會主動開啟話題,回應熱情,願意分享想法,可以接受親吻、牽手、擁抱等肢體接觸。'; + } else if (affection == 2) { + affectionStage = '認識'; + affectionDesc = '願意回應對方,保持基本禮貌距離,不主動展開話題,但對方提問時會回答。'; + } else { + affectionStage = '陌生'; + affectionDesc = '對不熟悉的人保持防備,回應簡短,不主動開啟話題,避免眼神接觸和肢體靠近。'; + } + add('好感度', affectionStage, affectionDesc); + + // ========== 7. 水分 ========== + if (water > 90) add('水分', '水分充足', '身體水分充足,精神飽滿。所有與耐力相關的檢定獲得+5背景加值。'); + else if (water > 70) add('水分', '狀態正常', '沒什麼特別的感覺。'); + else if (water > 50) add('水分', '輕微口渴', '喉嚨有點幹,下意識想找水喝,注意力有點不集中。所有智力、感知相關檢定受到-2減值。'); + else if (water > 30) add('水分', '明顯口渴', '口乾舌燥,感覺有些煩躁,身體在強烈要求補水。所有重體力相關檢定(如力量、耐力)受到-5減值。'); + else if (water > 10) add('水分', '輕度脫水', '嘴脣乾裂,頭暈乏力,身體因缺水而變得遲鈍。所有重體力相關檢定受到-10減值。'); + else if (water > 0) add('水分', '嚴重脫水', '嚴重缺水,視野開始模糊,身體機能受到明顯影響,必須立刻補充水分。所有重體力相關檢定受到-15減值。'); + else add('水分', '瀕死:脫水', '身體因嚴重缺水而瀕臨崩潰。'); + + // ========== 8. 飽腹感 ========== + if (full > 95) add('飽腹感', '過飽', '吃撐了,行動有點不方便。所有敏捷和耐力相關檢定受到-5減值。'); + else if (full > 85) add('飽腹感', '飽足', '吃飽喝足,感覺充滿能量,體力充沛,疲勞感不易累積。'); + else if (full > 60) add('飽腹感', '狀態正常', '沒什麼特別的感覺。'); + else if (full > 30) add('飽腹感', '輕微飢餓', '肚子有點空,開始期待下一頓飯。'); + else if (full > 10) add('飽腹感', '明顯飢餓', '肚子在咕咕叫,有點想吃東西了,注意力難以集中。所有屬性檢定受到-5減值。'); + else if (full > 0) add('飽腹感', '極度飢餓', '餓得前胸貼後背,身體因爲缺乏能量而感到虛弱,必須儘快進食。所有屬性檢定受到-15減值。'); + else add('飽腹感', '虛脫', '身體因能量儲備完全耗盡而極度虛弱,各項機能開始下降,身體正在消耗自身以維持生命。必須立即進食以阻止進一步惡化。'); + + // ========== 9. 疲勞 ========== + if (fatPerc < 10) add('疲勞', '精力十足', '渾身是勁,感覺還能再戰三百回合。所有與力量和敏捷相關檢定獲得+5背景加值。'); + else if (fatPerc <= 30) add('疲勞', '狀態正常', '身體狀態良好,沒什麼特別感覺。'); + else if (fatPerc <= 50) add('疲勞', '微微出汗', '身體開始發熱,呼吸稍微加快,但還遠未到累的時候。'); + else if (fatPerc <= 70) add('疲勞', '有些疲憊', '肌肉微微發酸,呼吸比平時稍重,是時候考慮歇一歇了。所有重體力相關檢定受到-5減值。'); + else if (fatPerc <= 90) add('疲勞', '相當疲勞', '身體變得沉重,每一下動作都需要更多力氣,疲倦感十分明顯。所有重體力相關檢定受到-10減值。'); + else add('疲勞', '筋疲力盡', '身體非常沉重,每一下動作都變得吃力,只想找個地方坐下來喘口氣。所有重體力相關檢定受到-15減值。'); + + // ========== 10. 壓力 ========== + if (stress < 10) add('壓力', '心神沉靜', '思維清晰,內心平靜。意志、智力檢定獲得+5加值。'); + else if (stress < 50) add('壓力', '狀態正常', '無特殊效果。'); + else if (stress < 80) add('壓力', '高度焦慮', '壓力極大,內心充滿焦慮和不安。所有檢定受到-5減值。'); + else if (stress < 100) add('壓力', '不堪重負', '巨大的壓力使她瀕臨崩潰邊緣。所有檢定受到-10減值。'); + else add('壓力', '精神崩潰', '精神防線徹底崩潰,陷入恐慌、偏執或絕望狀態。'); + + // ========== 11. 睡眠 ========== + if (sleepVal > 90) add('睡眠', '精力充沛', '充足的睡眠讓她恢復了所有精力。疲勞恢復速度加倍,精神屬性和技能相關檢定+5。'); + else if (sleepVal > 60) add('睡眠', '狀態正常', '無特殊效果。'); + else if (sleepVal > 30) add('睡眠', '疲倦', '開始感到身體和精神的疲勞。所有屬性檢定受到-5減值。'); + else if (sleepVal > 0) add('睡眠', '非常疲憊', '嚴重缺乏睡眠,眼皮沉重,反應遲鈍。所有屬性檢定受到-15減值。'); + else add('睡眠', '精疲力竭', '身體達到極限,隨時可能因過度疲勞而昏倒。'); + + // ========== 12. 清潔 ========== + if (cleanVal > 90) add('清潔', '乾淨整潔', '全身清爽,心情愉悅。所有與意志、智力相關的檢定獲得+2背景加值。'); + else if (cleanVal > 40) add('清潔', '狀態正常', '無特殊效果。'); + else if (cleanVal > 10) add('清潔', '有點髒', '身上有污垢或異味,讓人不適。'); + else add('清潔', '污穢不堪', '全身骯髒,散發惡臭,大大增加感染疾病的風險。'); + + // ========== 13. 維生素(受主角影響) ========== + if (playerVit > 80) add('維生素', '維生素充足', '維生素充足。'); + else if (playerVit > 30) add('維生素', '狀態正常', '無特殊效果。'); + else if (playerVit > 0) add('維生素', '維生素缺乏', '身體出現多種不良反應,更快疲勞等。'); + else add('維生素', '維生素嚴重缺乏', '出現壞血病、夜盲症等嚴重疾病。'); + + // ========== 14. 氮平衡(受主角影響) ========== + if (playerNitro >= 75) add('氮平衡', '正氮平衡', '蛋白質充足,力量相關檢定效果增強,更快從疲勞恢復。'); + else if (playerNitro >= 0) add('氮平衡', '狀態正常', '無特殊效果。'); + else if (playerNitro >= -50) add('氮平衡', '負氮平衡', '蛋白質不足,肌肉分解流失。力量下降,免疫力下降,傷口難以癒合,更難恢復耐力。'); + else add('氮平衡', '嚴重負氮平衡', '蛋白質嚴重缺乏,身體機能大幅受損。'); + + // ========== 15. 排泄需求(從單一排泄欲轉換) ========== + var pee = excretion; + var poo = excretion; + + var peeStage = '', peeDesc = '', pooStage = '', pooDesc = ''; + if (pee < 20) { peeStage = '狀態正常'; peeDesc = '暫無尿意'; } + else if (pee < 40) { peeStage = '輕微尿意'; peeDesc = '開始有排尿的感覺,尚可忍受'; } + else if (pee < 60) { peeStage = '尿急'; peeDesc = '排尿需求變得強烈,注意力輕微分散(智力、感知檢定-2)'; } + else if (pee < 80) { peeStage = '憋不住'; peeDesc = '排尿需求非常緊迫,難以集中精神(智力、感知檢定-5)'; } + else { peeStage = '快要失禁'; peeDesc = '隨時可能失禁,必須立即排尿(智力、感知檢定-10)'; } + + if (poo < 20) { pooStage = '狀態正常'; pooDesc = '暫無便意'; } + else if (poo < 40) { pooStage = '輕微便意'; pooDesc = '開始有排便的感覺,尚可忍受'; } + else if (poo < 60) { pooStage = '急需排便'; pooDesc = '排便需求強烈,腹部不適(智力、感知檢定-2)'; } + else if (poo < 80) { pooStage = '忍不住'; pooDesc = '排便需求非常緊迫,必須立即解決(智力、感知檢定-5)'; } + else { pooStage = '即將失禁'; pooDesc = '隨時可能失禁,必須立即排便(智力、感知檢定-10)'; } + + var excreteDesc = ''; + if (peeStage === '狀態正常' && pooStage === '狀態正常') { + excreteDesc = '暫無排泄需求,身體感覺輕鬆。'; + } else { + excreteDesc = peeDesc + '。同時,' + pooDesc; + } + var dominant = (pee > poo) ? peeStage : pooStage; + add('排泄需求', dominant, excreteDesc); + + // ========== 16. 寫入生效效果 ========== + var curEff = get(vars, base + '.狀態.生效效果') || {}; + + // 更新或新增效果 + for (var k in effects) { + var newEff = effects[k]; + var old = curEff[k]; + if (!old || old.狀態 !== newEff.狀態 || old.效果 !== newEff.效果) { + set(vars, base + '.狀態.生效效果.' + k, newEff); + debugLog('同伴生效效果更新', n + ': ' + k + ' → ' + newEff.狀態); + fixCount++; + } + } + + // 清理過期的效果(保留懷孕和生理週期,因為已單獨處理) + for (var k in curEff) { + if (k === '懷孕' || k === '生理週期') continue; + if (!effects[k] && curEff[k] !== undefined) { + _.unset(vars, base + '.狀態.生效效果.' + k); + debugLog('同伴生效效果移除', n + ': ' + k); + fixCount++; + } + } + + // ========== 17. 持續傷害計算 ========== + if (statusCache && cur) { + var delta = 0; + try { + var prevT = statusCache.time; + if (prevT && prevT.total) delta = (cur.total - prevT.total) / 60; + } catch(e) {} + + if (delta > 0) { + var damageStates = [ + '明顯口渴', '輕度脫水', '嚴重脫水', '過飽', + '明顯飢餓', '極度飢餓', '虛脫', '相當疲勞', '筋疲力盡', + '高度焦慮', '不堪重負', '有點髒', '污穢不堪', + '維生素缺乏', '維生素嚴重缺乏', '負氮平衡', '嚴重負氮平衡' + ]; + + for (var k in statuses) { + var s = statuses[k]; + if (s && damageStates.includes(s.name)) { + debugLog('[同伴持續傷害] ' + n + ' ' + s.name + ' 時間差:' + delta.toFixed(2) + '小時'); + + switch (s.name) { + case '明顯口渴': + set(vars, base + '.精神.當前精神值', Math.round(clamp(spCur2 - 0.5 * delta, 0, spMaxV))); + break; + case '輕度脫水': + set(vars, base + '.生理.當前生命值', Math.round(clamp(hpCur - 0.5 * delta, 0, hpMaxV))); + set(vars, base + '.精神.當前精神值', Math.round(clamp(spCur2 - 0.5 * delta, 0, spMaxV))); + break; + case '嚴重脫水': + set(vars, base + '.生理.當前生命值', Math.round(clamp(hpCur - 1 * delta, 0, hpMaxV))); + set(vars, base + '.精神.當前精神值', Math.round(clamp(spCur2 - 1 * delta, 0, spMaxV))); + break; + case '過飽': + set(vars, base + '.狀態.疲勞', Math.round(clamp(fatigue + 1 * delta, 0, maxFat))); + break; + case '明顯飢餓': + set(vars, base + '.精神.當前精神值', Math.round(clamp(spCur2 - 0.5 * delta, 0, spMaxV))); + break; + case '極度飢餓': + set(vars, base + '.生理.當前生命值', Math.round(clamp(hpCur - 0.5 * delta, 0, hpMaxV))); + set(vars, base + '.精神.當前精神值', Math.round(clamp(spCur2 - 1 * delta, 0, spMaxV))); + break; + case '虛脫': + set(vars, base + '.生理.當前生命值', Math.round(clamp(hpCur - 1 * delta, 0, hpMaxV))); + set(vars, base + '.精神.當前精神值', Math.round(clamp(spCur2 - 2 * delta, 0, spMaxV))); + break; + case '高度焦慮': + set(vars, base + '.精神.當前精神值', Math.round(clamp(spCur2 - 0.3 * delta, 0, spMaxV))); + break; + case '不堪重負': + set(vars, base + '.精神.當前精神值', Math.round(clamp(spCur2 - 0.5 * delta, 0, spMaxV))); + break; + case '有點髒': + set(vars, base + '.精神.睡眠', Math.round(clamp(sleepVal - 0.2 * delta, 0, 100))); + break; + case '污穢不堪': + set(vars, base + '.精神.睡眠', Math.round(clamp(sleepVal - 0.3 * delta, 0, 100))); + set(vars, base + '.狀態.疲勞', Math.round(clamp(fatigue + 0.3 * delta, 0, maxFat))); + break; + case '維生素缺乏': + set(vars, base + '.狀態.疲勞', Math.round(clamp(fatigue + 0.3 * delta, 0, maxFat))); + break; + case '維生素嚴重缺乏': + set(vars, base + '.狀態.疲勞', Math.round(clamp(fatigue + 0.5 * delta, 0, maxFat))); + set(vars, base + '.生理.當前生命值', Math.round(clamp(hpCur - 0.3 * delta, 0, hpMaxV))); + break; + case '負氮平衡': + set(vars, base + '.狀態.疲勞', Math.round(clamp(fatigue + 0.2 * delta, 0, maxFat))); + break; + case '嚴重負氮平衡': + set(vars, base + '.生理.當前生命值', Math.round(clamp(hpCur - 0.5 * delta, 0, hpMaxV))); + set(vars, base + '.狀態.疲勞', Math.round(clamp(fatigue + 0.5 * delta, 0, maxFat))); + break; + } + } + } + } + } + } +} - 【研究成果的應用】 - 研究完成後,解鎖的知識通過以下方式在敘事中自然體現: - - 觸發技能學習:完成相關研究後,玩家在該領域實踐時更容易觸發技能生成判定。 - - 降低製作難度:相關研究已解鎖的製作項目,檢定難度適當降低。 - - 提升物品品質:知識積累可能讓製作品質更高。 - - 解鎖新研究方向:某些高階研究只有在建立了前置認知後才能觸發。 \ No newline at end of file +// ==================== 流產後續清理 ==================== +function processMiscarriageCleanup(vars) { + var companions = get(vars, '同伴'); + if (!_.isPlainObject(companions)) return; + + var currentDay = get(vars, '系統.經過天數') || 0; + + for (var name in companions) { + if (name.startsWith('$')) continue; + + var pending = get(vars, '同伴.' + name + '.生理狀態.流產待處理'); + if (pending !== true) continue; + + keyLog('💔 檢測到 ' + name + ' 流產待處理,執行後續清理...'); + + // 0. 🔴 新增:月經週期重置(雙重保障) + set(vars, '同伴.' + name + '.生理狀態.月經週期', 1); + keyLog('🔄 ' + name + ' 月經週期重置為 1'); + + // 1. 清除未出生的子嗣(母親 = name 且沒有出生日期) + var children = get(vars, '子嗣'); + if (_.isPlainObject(children)) { + var toRemove = []; + for (var childName in children) { + if (childName.startsWith('$')) continue; + var child = children[childName]; + if (child.母親 === name && !child.出生日期) { + toRemove.push(childName); + } + } + for (var i = 0; i < toRemove.length; i++) { + _.unset(vars, '子嗣.' + toRemove[i]); + keyLog('🗑️ 清除未出生子嗣: ' + toRemove[i]); + } + } + + // 2. 觸發劇情演出(如果有) + var performances = get(vars, '同伴.' + name + '.劇情演出') || []; + var hasEvent = false; + for (var i = 0; i < performances.length; i++) { + if (typeof performances[i] === 'string' && performances[i].indexOf('事件-流產-') !== -1) { + hasEvent = true; + break; + } + } + if (!hasEvent) { + performances.push('事件-流產-1-待觸發:流產後的情感創傷與關係變化'); + set(vars, '同伴.' + name + '.劇情演出', performances); + keyLog('📝 為 ' + name + ' 生成流產劇情演出'); + } + + // 3. 清除待處理標記(避免重複執行) + set(vars, '同伴.' + name + '.生理狀態.流產待處理', false); + + keyLog('✅ ' + name + ' 流產後續清理完成'); + } +} + + // ======================== 主修正函數 ======================== +function applyCorrections(vars, oldVars) { + fixCount = 0; + delCount = 0; + debugLog('修正開始'); + + applyIntegerAndBounds(vars); + + try { + ensurePaths(vars); + fixTimeFormat(vars); + + processStatusEffects(vars); + processCompanionStatusEffects(vars); + processMiscarriageCleanup(vars); + processTimeAndLevel(vars, oldVars); + + // 🔴 每次更新都重新計算懷孕天數和階段 + updatePregnancyStage(vars, ''); // 主角 + var companions = get(vars, '同伴'); + if (_.isPlainObject(companions)) { + for (var name in companions) { + if (name.startsWith('$')) continue; + updatePregnancyStage(vars, '同伴.' + name); + } + } + + fixItemStatusLimits(vars); + cleanupAllItems(vars); + processItemDecay(vars); + + // 時間差計算(每小時更新) + if (lastSnapshot) { + var prevTime = lastSnapshot.time; + var curTime = get(vars, '系統.當前時間'); + if (prevTime && curTime) { + var hoursDiff = calculateTimeDifference(prevTime, curTime); + if (hoursDiff > 0 && hoursDiff < 24) { + debugLog('時間差計算: ' + hoursDiff + ' 小時'); + + // ========== 自動入睡/喚醒規則(22:00-07:00)========== + var currentTime = get(vars, '系統.當前時間'); + if (currentTime && typeof currentTime === 'string') { + var hour = parseInt(currentTime.split(':')[0]); + if (!isNaN(hour)) { + var shouldBeSleeping = (hour >= 22 || hour < 8); + var isCurrentlySleeping = get(vars, '狀態.入睡') === true; + + if (shouldBeSleeping && !isCurrentlySleeping) { + set(vars, '狀態.入睡', true); + keyLog('😴 自動入睡:時間 ' + currentTime + ' 進入睡眠狀態'); + } else if (!shouldBeSleeping && isCurrentlySleeping) { + set(vars, '狀態.入睡', false); + keyLog('⏰ 自動喚醒:時間 ' + currentTime + ' 結束睡眠狀態'); + } + } + } + + var isSleeping = get(vars, '狀態.入睡') === true; + var sleepMultiplier = isSleeping ? 0.5 : 1.0; + + if (isSleeping) { + keyLog('😴 當前為睡眠狀態,消耗減半'); + } + + // 水分消耗 + var water = get(vars, '生理.水分') || 0; + set(vars, '生理.水分', Math.max(0, water - 1.5 * hoursDiff * sleepMultiplier)); + + // 碳水消耗 + var carbs = get(vars, '生理.碳水') || 0; + set(vars, '生理.碳水', Math.max(0, carbs - 100 * hoursDiff * sleepMultiplier)); + + // 脂肪消耗 + var fat = get(vars, '生理.脂肪') || 0; + set(vars, '生理.脂肪', Math.max(0, fat - 100 * hoursDiff * sleepMultiplier)); + + // 氮平衡 + var nitrogen = get(vars, '生理.氮平衡') || 0; + set(vars, '生理.氮平衡', Math.max(-100, nitrogen - 1 * hoursDiff * sleepMultiplier)); + + // 維生素 + var vitamin = get(vars, '生理.維生素') || 0; + set(vars, '生理.維生素', Math.max(0, vitamin - 0.5 * hoursDiff * sleepMultiplier)); + + // 睡眠值 + var sleep = get(vars, '精神.睡眠') || 0; + if (isSleeping) { + set(vars, '精神.睡眠', Math.min(100, sleep + 8 * hoursDiff)); + } else { + set(vars, '精神.睡眠', Math.max(0, sleep - 2 * hoursDiff)); + } + + // 飽腹感 + var fullness = get(vars, '生理.飽腹感') || 0; + set(vars, '生理.飽腹感', Math.max(0, fullness - 4 * hoursDiff * sleepMultiplier)); + + // 疲勞 + var end = int(get(vars, '屬性.耐力.等級')) || 20; + var fatigueMax = 4 * end; + var fatigue = get(vars, '狀態.疲勞') || 0; + if (isSleeping) { + set(vars, '狀態.疲勞', Math.max(0, fatigue - 4 * hoursDiff)); + } else { + set(vars, '狀態.疲勞', Math.min(fatigueMax, fatigue + 2 * hoursDiff)); + } + + // 排泄欲 + var excretionVal = get(vars, '生理.排泄欲') || 0; + set(vars, '生理.排泄欲', Math.min(100, excretionVal + 2 * hoursDiff * sleepMultiplier)); + + // 同伴的日常消耗 + var companions = get(vars, '同伴'); + if (_.isPlainObject(companions)) { + for (var name in companions) { + if (name.startsWith('$')) continue; + + var compEnd = int(get(vars, '同伴.' + name + '.屬性.耐力.等級')) || 20; + var compFatigueMax = 4 * compEnd; + + var compFullness = get(vars, '同伴.' + name + '.生理.飽腹感') || 0; + var compWater = get(vars, '同伴.' + name + '.生理.水分') || 0; + var compExcretion = get(vars, '同伴.' + name + '.生理.排泄欲') || 0; + var compFatigue = get(vars, '同伴.' + name + '.狀態.疲勞') || 0; + var compClean = get(vars, '同伴.' + name + '.狀態.清潔') || 0; + var compSleep = get(vars, '同伴.' + name + '.精神.睡眠') || 100; + var compStress = get(vars, '同伴.' + name + '.精神.壓力') || 0; + + var compIsSleeping = isSleeping; + + var newFullness = compFullness - 4 * hoursDiff * (compIsSleeping ? 0.5 : 1); + set(vars, '同伴.' + name + '.生理.飽腹感', Math.max(0, Math.min(100, newFullness))); + + var newWater = compWater - 1.5 * hoursDiff * (compIsSleeping ? 0.5 : 1); + set(vars, '同伴.' + name + '.生理.水分', Math.max(0, Math.min(100, newWater))); + + var newExcretion = compExcretion + 2 * hoursDiff * (compIsSleeping ? 0.5 : 1); + set(vars, '同伴.' + name + '.生理.排泄欲', Math.min(100, newExcretion)); + + var newFatigue; + if (compIsSleeping) { + newFatigue = compFatigue - 4 * hoursDiff; + set(vars, '同伴.' + name + '.狀態.疲勞', Math.max(0, Math.min(compFatigueMax, newFatigue))); + } else { + newFatigue = compFatigue + 2 * hoursDiff; + set(vars, '同伴.' + name + '.狀態.疲勞', Math.min(compFatigueMax, newFatigue)); + } + + var newClean = compClean - 0.5 * hoursDiff; + set(vars, '同伴.' + name + '.狀態.清潔', Math.max(0, Math.min(100, newClean))); + + var newSleep; + if (compIsSleeping) { + newSleep = compSleep + 8 * hoursDiff; + set(vars, '同伴.' + name + '.精神.睡眠', Math.min(100, newSleep)); + } else { + newSleep = compSleep - 2 * hoursDiff; + set(vars, '同伴.' + name + '.精神.睡眠', Math.max(0, newSleep)); + } + + var newStress = compStress + 0.2 * hoursDiff; + if (newClean < 30) newStress += 0.3 * hoursDiff; + if (newFullness < 30) newStress += 0.3 * hoursDiff; + set(vars, '同伴.' + name + '.精神.壓力', Math.min(100, Math.max(0, newStress))); + } + } + + if (isSleeping) { + keyLog('😴 睡眠狀態消耗 (主角): 水分-' + (1.5 * hoursDiff * sleepMultiplier).toFixed(1) + + ', 飽腹感-' + (4 * hoursDiff * sleepMultiplier).toFixed(1) + + ', 疲勞-' + (4 * hoursDiff).toFixed(1) + ' (恢復)'); + } else { + keyLog('⏰ 自動消耗 (主角): 水分-' + (1.5 * hoursDiff).toFixed(1) + + ', 飽腹感-' + (4 * hoursDiff).toFixed(1) + + ', 疲勞+' + (2 * hoursDiff).toFixed(1)); + } + + var companionCount = 0; + var sampleCompName = ''; + if (_.isPlainObject(companions)) { + for (var name in companions) { + if (name.startsWith('$')) continue; + companionCount++; + if (sampleCompName === '') sampleCompName = name; + } + } + if (companionCount > 0) { + keyLog('👥 同伴消耗 (共 ' + companionCount + ' 位): 以 ' + sampleCompName + ' 為例 - 水分-1.5/時, 飽腹-4/時, 疲勞+' + (isSleeping ? '4(恢復)' : '2') + ', 清潔-0.5/時'); + } + } + } + } + + // 🔴 第二次整數化移到這裡(在所有消耗計算完成之後) + applyIntegerAndBounds(vars); + + updateSeason(vars); + + recordShopHistory(vars); + + updateCropGrowthStages(vars); + updateLivestockStates(vars); + processTasksAndShop(vars); + + processCompanionLimits(vars); + + var currentTime = get(vars, '系統.當前時間'); + var currentDay = get(vars, '系統.經過天數'); + if (currentTime) set(vars, '系統.前次時間', currentTime); + if (currentDay !== undefined) set(vars, '系統.前次天數', currentDay); + + var total = fixCount + delCount; + var status = total > 0 ? 'fixed' : 'normal'; + var msg = total > 0 ? '修正' + fixCount + '處,清理' + delCount + '件物品' : '所有數據均符合規則,無需修正'; + if (total > 0) keyLog('修正完成 - ' + msg); + else debugLog('修正完成 - ' + msg); + + checkAndRestoreSustainableCrops(vars, oldVars); + verifyAndFixAllCrops(vars); + verifyAndFixAllLivestock(vars); + + cleanupCompletedPerformances(vars); + + updateStatus(vars, status, msg); + + } catch(e) { + errorLog('修正錯誤:', e.message); + if (DEBUG_MODE) console.error(e.stack); + updateStatus(vars, 'error', e.message); + } +} + + // ======================== 事件掛載 ======================== + eventOn(Mvu.events.VARIABLE_UPDATE_STARTED, function(vars) { + var d = vars.stat_data; + var currentDay = get(d, '系統.經過天數'); + var currentTime = get(d, '系統.當前時間'); + + lastSnapshot = { + day: currentDay, + time: currentTime, + hpMax: get(d, '生理.生命值上限'), + hpCur: get(d, '生理.當前生命值'), + spMax: get(d, '精神.精神值上限'), + spCur: get(d, '精神.當前精神值') + }; + debugLog('記錄前次狀態: 天數=' + currentDay + ', 時間=' + currentTime); + fixCount = 0; + delCount = 0; + lastLogHash = ''; + }); + +eventOn(Mvu.events.VARIABLE_UPDATE_ENDED, function(newVars, oldVars) { + if (isProcessing) return; + isProcessing = true; + try { + // ========== 1. 執行修正 ========== + applyCorrections(newVars.stat_data, oldVars.stat_data); + var vars = newVars.stat_data; + + // ========== 2. 確保性愛結果是陣列 ========== + var sexResults = ensureSexResultArray(vars); + + // ========== 3. 如果沒有性愛結果,直接結束 ========== + if (sexResults.length === 0) { + return; + } + + // ========== 4. 處理每一筆性愛結果 ========== + var remaining = []; + var INITIAL_COUNTDOWN = 2; + + for (var i = 0; i < sexResults.length; i++) { + var result = sexResults[i]; + + // ============================================= + // 情況 A:新事件(沒有刪除倒數) + // ============================================= + if (result.刪除倒數 === undefined || result.刪除倒數 === null) { + + // ----- 以下:原本的「補充計算」邏輯(完整保留)----- + var name = result.角色; + + if (name) { + var base = '同伴.' + name; + + // 1. 獲取計算參數 + var affection = v(get(vars, base + '.技能.好感(對阿彬).等級'), 1); + var forced = v(get(vars, base + '.淪陷.強制次數'), 0); + var special = get(vars, base + '.淪陷.特殊狀態') || ''; + var comfort = get(vars, '環境.舒適度') || 50; + + var statusEffects = []; + var compEff = get(vars, base + '.狀態.生效效果'); + if (_.isPlainObject(compEff)) { + for (var k in compEff) { + if (k.startsWith('$')) continue; + if (compEff[k] && compEff[k].狀態) { + statusEffects.push(compEff[k].狀態); + } + } + } + + var isSudden = (result.有預警 === false); + var hasTrauma = (special.indexOf('關係動搖') !== -1 || special.indexOf('嚴重創傷') !== -1); + + // 2. 計算自願度 + var voluntary = calculateVoluntary( + affection, + result.情境 || '情感推進', + statusEffects, + comfort, + isSudden, + hasTrauma, + special + ); + var grade = getResultGrade(voluntary); + + // 3. 計算淪陷階段 + var newCorruption = getCorruptionStage(forced, affection); + + // 4. 計算關係變化 + var change = calculateAffectionChange( + voluntary, + affection, + result.情境 || '情感推進', + special, + result.完成 !== false + ); + + // 5. 建立完整的 updatedResult(和原本完全一樣) + var updatedResult = { + 角色: result.角色, + 完成: result.完成, + 內射: result.內射, + 避孕措施: result.避孕措施 || '無', + 情境: result.情境 || '情感推進', + 自願度: voluntary, + 自願分級: grade.grade, + 描寫建議: grade.description, + 淪陷階段: { + 階段: newCorruption.stage, + 名稱: newCorruption.name + }, + 關係變化: { + 經驗變化: change.expChange, + 等級變化: change.levelChange + }, + 特殊狀態: change.newSpecialStatus || '無', + 刪除倒數: INITIAL_COUNTDOWN, + 授精者: result.授精者 || '阿彬' + }; + + // 寫回更新後的結果 + sexResults[i] = updatedResult; + result = updatedResult; + + // 6. 執行懷孕判斷(和原本完全一樣) + if (result.完成 === true && result.內射 === true) { + calculatePregnancy(vars, name, true, result.避孕措施); + } + + // 7. 執行好感度更新(和原本完全一樣) + if (change && (change.expChange !== 0 || change.levelChange !== 0)) { + var currentExp = get(vars, base + '.技能.好感(對阿彬).當前經驗') || 0; + var currentLevel = get(vars, base + '.技能.好感(對阿彬).等級') || 1; + + var newExp = Math.max(0, currentExp + change.expChange); + var newLevel = Math.max(1, currentLevel + change.levelChange); + + if (newExp !== currentExp) { + set(vars, base + '.技能.好感(對阿彬).當前經驗', newExp); + } + if (newLevel !== currentLevel) { + set(vars, base + '.技能.好感(對阿彬).等級', newLevel); + } + } + + // 8. 執行淪陷階段更新(和原本完全一樣) + if (newCorruption.stage !== undefined) { + var currentStage = get(vars, base + '.淪陷.當前階段') || 0; + if (newCorruption.stage !== currentStage) { + set(vars, base + '.淪陷.當前階段', newCorruption.stage); + } + } + + // 9. 執行特殊狀態更新(和原本完全一樣) + if (change.newSpecialStatus && change.newSpecialStatus !== special) { + set(vars, base + '.淪陷.特殊狀態', change.newSpecialStatus); + } + } + + // 保留這筆記錄(倒數還沒歸零) + remaining.push(result); + continue; + } + + // ============================================= + // 情況 B:已有倒數 → 減數或清除 + // ============================================= + result.刪除倒數--; + if (result.刪除倒數 > 0) { + remaining.push(result); + } + // 倒數歸零則不保留(自動清除) + } + + // ========== 5. 寫回更新後的陣列 ========== + set(vars, '系統.性愛結果', remaining); + + } catch(e) { + errorLog('處理錯誤:', e); + if (DEBUG_MODE) console.error(e.stack); + } finally { + isProcessing = false; + } +}); + + window.processSexualInteraction = processSexualInteraction; + window.getResultGrade = getResultGrade; + window.calculateVoluntary = calculateVoluntary; + window.calculatePregnancy = calculatePregnancy; + window.updateAllCrops = function(vars) { return updateCropGrowthStages(vars); }; + window.updateAllLivestock = function(vars) { return updateLivestockStates(vars); }; + window.calculateMoonPhase = calculateMoonPhase; + window.calculateSeason = calculateSeason; + + window._mvuFinalStableV111 = true; + + console.log('✅ 所有擴充功能已載入 (v11.1 路徑更新)'); + console.log('📊 功能模塊: 好感系統 | 性愛系統 | 季節系統 | 作物系統 | 畜牧系統 | 懷孕系統 | 幼兒系統 | 排泄系統 | 任務系統 | 入眠系統 | 狀態效果'); +})(); \ No newline at end of file diff --git a/recha18/jar/aowu-0713.jar b/recha18/jar/aowu-0713.jar new file mode 100644 index 00000000..41e0350d Binary files /dev/null and b/recha18/jar/aowu-0713.jar differ diff --git a/recha18/recha-live.json b/recha18/recha-live.json index 50f90688..c7f0b39f 100644 --- a/recha18/recha-live.json +++ b/recha18/recha-live.json @@ -3,14 +3,6 @@ "logo": "https://p3-pc.douyinpic.com/img/aweme-avatar/tos-cn-i-0813_6e2553f5708c414386eeca88b5f2674a~c5_300x300.jpeg?from=2956013662", "wallpaper": "https://tv.nxog.top/m/t/", "lives": [ - { - "name": "欧华(需32位影视仅港有效)", - "url": "http://dbmlosa.sylu.cc:8080/ouhua.txt", - "playerType": 2, - "epg": "http://epg.52sw.top:668/?ch={name}&date={date}", - "logo": "https://gitee.com/mytv-android/myTVlogo/raw/main/img/{name}.png" - }, - { "name": "四季线上", "url": "http://dreamtv.sylu.cc:2082/vtg4.m3u?token=dbm", @@ -32,14 +24,7 @@ "playerType": 2, "epg": "http://epg.52sw.top:668/?ch={name}&date={date}", "logo": "https://gcore.jsdelivr.net/gh/taksssss/tv/icon/{name}.png" - }, - { - "name": "四季线上", - "url": "http://dreamtv.sylu.cc:2082/vtg4.m3u?token=dbm", - "playerType": 2, - "epg": "http://epg.52sw.top:668/?ch={name}&date={date}", - "logo": "https://gitee.com/mytv-android/myTVlogo/raw/main/img/{name}.png" - }, + }, { "name": "tv123", "type": 0, @@ -82,49 +67,7 @@ "name": "🐬iptv直播", "type": 0, "ua": "okhttp/5.3.2", - "url": "https://wget.la/https://raw.githubusercontent.com/vinkerq/iptv-api/refs/heads/master/iptv.txt" - }, - { - "name": "🐬小新TV", - "type": 0, - "ua": "okhttp/5.3.2", - "url": "https://d.kstore.dev/download/9565/小新TV.txt" - }, - { - "name": "🐬北美长城源", - "type": 0, - "ua": "okhttp", - "url": "https://ha.msbot.dpdns.org/wall.php" - }, - { - "name": "🐬港台", - "type": 0, - "ua": "okhttp", - "url": "https://feer-cdn-bp.xpnb.qzz.io/xnkl.txt" - }, - { - "name": "🐬体育台", - "type": 0, - "ua": "okhttp", - "url": "http://82.156.243.185:33389/fwc.m3u" - }, - { - "name": "🐬裤佬TV", - "type": 0, - "ua": "okhttp", - "url": "https://gh-proxy.org/https://raw.githubusercontent.com/Jsnzkpg/Jsnzkpg/Jsnzkpg/Jsnzkpg1.m3u" - }, - { - "name": "🐬Mytv", - "type": 0, - "ua": "okhttp", - "url": "https://cdn.qd.je/live.m3u" - }, - { - "name": "🐬新加坡(梯子)", - "type": 0, - "ua": "okhttp", - "url": "http://xtvantsc.xyz/新加坡.m3u" + "url": "https://raw.githubusercontent.com/vinkerq/iptv-api/refs/heads/master/iptv.txt" }, { "name": "🐬风云源", @@ -150,13 +93,6 @@ "ua": "okhttp", "url": "https://t.freetv.fun/m3u/playlist_all.txt" }, - { - "name": "🐬4GTV(梯子台湾节点)720p", - "type": 0, - "ua": "okhttp", - "url": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/HKL/refs/heads/main/4gtv.txt" - }, - { "name": "🐬4GTV(免梯子)1080p", "type": 0, @@ -169,12 +105,6 @@ "ua": "okhttp", "url": "https://ha.msbot.dpdns.org/4gtv_api.php" }, - { - "name": "🐬jackTV(梯子)", - "type": 0, - "ua": "okhttp", - "url": "https://php.946985.filegear-sg.me/jackTV.m3u" - }, { "name": "FreeTV.fun", "type": 0, @@ -195,12 +125,6 @@ "logo": "https://epg.112114.xyz/logo/{name}.png", "pass": true }, - { - "name": "香蕉-MYTV", - "url": "https://tv.iill.top/m3u/MyTV", - "epg": "http://epg.112114.xyz/?ch={name}&date={date}&serverTimeZone=Asia/Taipei", - "pass": true - }, { "name": "RobYang| http://RobYang.dpdns.org", "type": 0, @@ -225,7 +149,7 @@ "name": "🔞秘密基地", "type": 0, "ua": "okhttp", - "url": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/FG/refs/heads/main/xxx视频资源" + "url": "https://raw.githubusercontent.com/FGBLH/HKL/refs/heads/main/xxx视频资源.txt" }, { "name": "🔞祕密花園", @@ -238,7 +162,7 @@ }, { "name": "🔞午夜劇場", - "url": "https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/%E5%8D%88%E5%A4%9C%E5%89%A7%E5%9C%BA.txt", + "url": "https://raw.githubusercontent.com/FGBLH/HKL/refs/heads/main/午夜剧场.txt", "type": 0, "timeout": 10, "ua": "okhttp/3.8.1 okhttp/3.15 okhttp/4.12.0 Herissmon/2016 judy/5.2.1 RobYang/5.2.1 Lavf/58.12.100 catvod.com Goiptv/8.8.8 Goiptv/0.0.1 xieanqishiwoerzi/0.0.1 okHttp/Mod-1.0.0", diff --git a/recha18/recha-movie.json b/recha18/recha-movie.json index ee1b44a4..67f06b8e 100644 --- a/recha18/recha-movie.json +++ b/recha18/recha-movie.json @@ -2,7 +2,7 @@ "spider": "./jar/fm.jar;md5;b0adab2fad1de8871b9533527f407cdf", "logo": "https://p3-pc.douyinpic.com/img/aweme-avatar/tos-cn-i-0813_6e2553f5708c414386eeca88b5f2674a~c5_300x300.jpeg?from=2956013662", "wallpaper": "https://gitlab.com/tenrecha/recha/-/raw/main/background.jpg", - "notice": "115.07.12_Ver.2 請群內準備進行測試", + "notice": "115.07.13_Ver.1 請群內開始進行測試", "sites": [ @@ -1122,19 +1122,6 @@ }, "timeout" : 20 }, - { - "key" : "drpyS_听友[听]", - "name" : "🎧|听友|有聲書", - "type" : 4, - "api" : "http://149.118.133.251:5757/api/听友[听]", - "searchable" : 2, - "filterable" : 1, - "quickSearch": 1, - "title" : "听友[听]", - "类型" : "听书", - "lang" : "ds", - "ext" : "" - }, { "key" : "py_愛電影.py", "name" : "🥇|金牌系列-愛電影", @@ -2235,7 +2222,7 @@ }, { "key": "TingShijie", - "name": "🎧|聽世界|有声", + "name": "🎧|聽世界|有声(魚)", "type": 3, "api": "csp_TingShijie", "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", @@ -2247,7 +2234,7 @@ }, { "key": "TingYou", - "name": "🎧|听友|有声", + "name": "🎧|听友|有声(魚)", "type": 3, "api": "csp_TingYou", "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", @@ -2256,10 +2243,23 @@ "style": { "type": "list" } - }, + }, + { + "key" : "drpyS_听友[听]", + "name" : "🎧|听友|有聲(道長)", + "type" : 4, + "api" : "http://149.118.133.251:5757/api/听友[听]", + "searchable" : 2, + "filterable" : 1, + "quickSearch": 1, + "title" : "听友[听]", + "类型" : "听书", + "lang" : "ds", + "ext" : "" + }, { "key": "TingBook", - "name": "📻|六月|有声", + "name": "📻|六月|有声(魚)", "type": 3, "api": "csp_TingBook", "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", @@ -2272,7 +2272,7 @@ }, { "key": "TingBookJinXia", - "name": "📻|堇夏|有声", + "name": "📻|堇夏|有声(魚)", "type": 3, "api": "csp_TingBookJinXia", "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", diff --git a/recha18/test-0713-v2.json b/recha18/test-0713-v2.json new file mode 100644 index 00000000..26aae877 --- /dev/null +++ b/recha18/test-0713-v2.json @@ -0,0 +1,2397 @@ +{ + "spider": "./jar/fm.jar;md5;b0adab2fad1de8871b9533527f407cdf", + "logo": "https://p3-pc.douyinpic.com/img/aweme-avatar/tos-cn-i-0813_6e2553f5708c414386eeca88b5f2674a~c5_300x300.jpeg?from=2956013662", + "wallpaper": "https://gitlab.com/tenrecha/recha/-/raw/main/background.jpg", + "notice": "115.07.13_Ver.8 移除愛影", + "sites": [ + + + { + "key": "豆瓣", + "name": "🇹🇼|熱播排行榜|自動切換", + "type": 3, + "api": "csp_Douban", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 0, + "quickSearch": 1, + "changeable": 1 + }, + { + "key" : "豆瓣-搜索", + "name" : "🇹🇼|熱播排行榜|可選站", + "type": 3, + "api": "csp_Douban", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "indexs": 1, + "searchable": 0, + "quickSearch": 0, + "changeable": 0 + }, + { + "key": "YGP", + "name": "🇹🇼|預告片", + "type": 3, + "api": "csp_YGP", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key" : "YouTube", + "name" : "♓️|YouTube|SO", + "type" : 3, + "api" : "csp_Ytdl", + "searchable" : 1, + "quickSearch": 1, + "playerType" : 2, + "timeout" : 30, + "filterable" : 1, + "style" : {"type": "rect", "ratio": 1.33}, + "jar" : "./lib/Youtube.jar", + "ext" : {"proxy": "", "youtube_txt": "./lib/Youtube.txt"} + }, + { + "key": "聚合短剧", + "name": "📺|聚合短劇", + "type": 3, + "api": "./drpy_js/聚合短剧.js", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "changeable": 1 + }, + { + "key": "csp_瓜皮", + "name": "🐙|瓜皮|只能搜索用", + "type": 3, + "api": "csp_XBPQ", + "playerType": 2, + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "click": "document.querySelector(\"#playleft iframe\").contentWindow.document.querySelector(\"#start\").click();", + "timeout": 60, + "jar": "./jar/xyqxbpq.jar;md5;fd3cefc7302f3a39a442682f802b11e5", + "ext": { + "主页url": "https://www.gpvod.cc", + "副标题": "public-list-prb hide ft2\">&&", + "数组": "class=\"public-list-div public-list-bj\">&&

", + "图片": "data-src=\"&&\"", + "标题": "title=\"&&\"", + "链接": "href=\"&&\"", + "搜索url": "https://www.gpvod.cc/vodsearch.html?wd={wd}", + "搜索数组": "class=\"left public-list-bj\">&&
", + "搜索图片": "data-src=\"&&\"", + "搜索标题": "alt=\"&&封面图\"referrerpolicy", + "搜索链接": "href=\"&&\"", + "搜索副标题": "public-list-prb hide ft2\">&&", + "简介": "class=\"text cor3\">&&
", + "线路数组": "", + "线路标题": "&&&&", + "播放标题": "\">&&", + "分类url": "https://www.gpvod.cc/vodshow/area/{area}/by/{by}/id/{cateId}/page/{catePg}/year/{year}.html", + "分类": "电影$dianying#电视劇$juji#综艺$zongyi#动漫$dongman#短劇$shuangju" + } + }, + { + "key": "金牌影视", + "name": "🏆|金牌|高清", + "type": 3, + "searchable": 1, + "changeable": 1, + "api": "csp_Jpys", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "ext": "https://y2s52n7.com,https://m.hkybqufgh.com,https://m.sizhengxt.com,https://m.9zhoukj.com,https://m.sizhengxt.com,https://m.jiabaide.cn" + }, + { + "key" : "AiGua", + "name" : "🏆|銀牌|高清", + "type" : 3, + "api" : "csp_AiGuaAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1 + }, + { + "key" : "py_aidianying", + "name" : "🏆|鐵牌|藍光", + "type" : 3, + "api" : "./py/aidianying.py", + "searchable": 1, + "filterable": 0, + "changeable": 1 + }, + { + "key": "Qile优视频2", + "name": "🏆|Uvod|藍光◎秒播", + "type": 3, + "searchable": 1, + "changeable": 1, + "api": "csp_Uvod", + "jar": "./jar/custom_spider.jar;md5;5e53c8f9ddd4ede5359c16bee091db93", + "playerType": 2, + "filterable": 1 + }, + { + "key": "Uvod", + "name": "🏆|Uvod|備用", + "type": 3, + "api": "./py/Uvod.py", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "order_num": 0, + "style": { + "type": "rect" + }, + "ext": "" + }, + { + "key": "dttv", + "name": "🏆|蛋塔|高清", + "type": 3, + "api": "./py/蛋挞TV.py" + }, + { + "key" : "Ysp", + "name" : "🏆|優影|高清", + "type" : 3, + "api" : "csp_YspAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1 + }, + { + "key" : "Olyy", + "name" : "🏆|歐樂|高清", + "type" : 3, + "api" : "csp_OlyyAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1 + }, + { + "key" : "py_jieyingshi", + "name": "🏆|異界|高清", + "type": 3, + "api" : "csp_Jys", + "jar" : "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "ext" : "https://www.ndhfiohk.com/", + "searchable": 1, + "quickSearch": 1, + "changeable": 1 + }, + { + "key": "Dubk", + "name": "🏆|獨播庫|", + "type": 3, + "api": "csp_DubkAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "ext": "https://nos.netease.com/youdata-netease/public-utilUpload-dETsDhhkydVym6T7qzn7WB.gz" + }, + { + "key": "Duboku", + "name": "🏆|獨播庫|備用", + "type": 3, + "api": "csp_Duboku", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "searchable": 1, + "filterable": 1, + "changeable": 1 + }, + { + "key" : "php_无水印资源", + "name" : "🏆|無水|(T4)", + "type" : 4, + "api" : "https://php.doube.eu.org/php/", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1, + "ext" : { + "module_name": "CmsSuggest", + "url" : "https://api.wsyzy.net/api.php/provide/vod" + } + }, + { + "key": "知予", + "name": "🏆|知予|高清◎秒播(賭場廣告)", + "api": "csp_AppNox", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1, + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "type": 3, + "ext": "AXa/dhw2PLXN7GTzaamHOCEf9KWdx8b5bp7n8hAmf9Boa6AZrB5/hhb4qGO6kjkz/Oh5Uei9rzPWsZlQhgxQGSu7Zb/ZmT15NpqUP+qEjAXGPyOlfFWZbr4rxW3WZSqH6i+OT49idbNqqJdm1jXPR00G5O44GJb+9H7f1iioaW5GOEXjTbDGfBqd4uVVCz6vPPgb/k1NVY/Ze+bb5AsQMmZyAcHWgow8PEaTln0cVXxkb5VmKMQfj5sEq9ZnWGHbu4/32qI2Jjtkmj6VijcdWZSyxuwW/O1i8QbrqQZMeYyr16m5gwNFIyv3ppAxMfyjSz6P7J9dbMfS5PaT3xL3TKTAnZFjS0KyZIKYrJBLj9lXwgox8aFmPV1fT2CBX5t/dHX6gL8CfkhYGjFj7LnVLZo5se/1WjuMkzPTSZharqLvXySQsKpiGKLhfs8DsgQppW4BP8Lv2wPFDmbwB2op21RJDJNQhJXbOW6Z4rI5uXZJAW6LuvudGVKVD/RF3/yUlM4Boda3iuV/7ER45wPegGXouEiiuS7QHjYCgiMLVmUEiYLVhiTe3qDU6VlHqn5YhP7+1kibrXrRQ7JzyQ0sOxljdVHQw6IIRTQwzSBJLoDiiCddIncVXxYmKuhW6Pxen1bOfQgd723GkDyLB1Y5U9KXbzS9y6+ko37HVfmwUzDEcG+DYyxa2lJTCIXbdPbl8LBGUGMURx1S43wMLh1rurnz41qwPL5/WULQJmx4bt4E30dcTi/KfIBD8EUM8YZk8z7JSG5bi3oyYToXXRJCXK/qNpxaJ5I0s27MfnJRE/xF2k7Pv0YtFPmwdQr6Z3neEzOo/Vt1E5WlC0JiURC2bO+MWqA70m6B5WJkmnd46qPLtaofki6EzbH81AMvgsYAgjf8iAO6nYWFcrVoAsYMMgJkyPExJEUQStc+TB4gvUFUT9VeTHMXNSWiHMrhGkAQIA37PXzfig3c0sAUy+9iNlKXZv/lfbVFRgV9w8k0eDLrcR40Ma1Pmgnwq7v05RqJiSQCngiXOQgzR4wFar5anDJT73LmmP77+zaoJDH0aZeY" + }, + { + "key": "长泽", + "name": "🏆|長澤|高清◎秒播", + "type": 3, + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1, + "api": "csp_App88", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "ext": "Aa+WBBIIxghmbVYkWqlC4wrZvlocl4rSZS9+QyJDF6RgWFfYSb+nEM6WkMHPVbQFva551Srt16FqFroyjNssEXemH+xC5pCMj/ewgFuLEIbY2mXCVJ1bJxWRJAggNgH1f3mjwrBxlZA0kGgfAd0os29Mdi3RNJilSo5VMkPpcQPMeF8/PTbZHNymotiTwtICNcA5Q0WXsqe/wJ3HoLU4gBYQs1lBmYdxtAuvsnte3SbumQEFlaQnygFscx6EGrwKMFZLVcmu9egAXxygsf5PmyzN/xvOr+b+HslccoKqDbHNU/C6yWFwaHBawww0ckXRtoJ8fFbV7Xv4NiRcEf6ePm/cd06xYiZmjRts11gE0r8f7D0vx/TgigmU3v8nrgNYDokUGl/jDdza3o7BXyQumCWRD45wYbmKJ1LKb0ybRvNt" + }, + { + "key": "悯善", + "name": "🏆|憫鄯|高清◎秒播", + "type": 3, + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1, + "api": "csp_App88", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "ext": "AY/LmvuAAyhXffcGv5StyHm1MkGdY4inQLRC3KICnxUJBpq0d5dLhvE0+MW8XruH+M/Q/Ruqd6NayN9rihHGuotzXSTrDHgoZ2/dm2JlJ7GYOYfBorPhMPjuOhTNMg9w/J6oP4DXluvDpXNj9uOKq7g/Cx7vrKF6utOSaE1gUgDQwT251mOGTzGsd3ZrtEeepgI6hOdB2gJ4hHRumNhlbVtWDdpnVMYvhCIuH2HUqJFZWM5T+gEZTMLfeUEJt7ScfaQp90qNZID1YNo/tQOaFLGN12o4CkPtCNoYs+emjhVVqIjJzgfplCPIEyjRADqhur0c48FwCiJyp/XGZFmsMJaPKqvOkO+0H5YMKsR+EMmXCr6n0n1VnwGGpYl3maiq1SB78yDnh16291IjwXdERP1csTe41Vg3ppIixtk6q1etAikUle+6fjSFGvAvDYNr2Q==" + }, + { + "key": "景仪", + "name": "🏆|景仪|高清◎秒播", + "type": 3, + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1, + "api": "csp_App88", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "ext": "AScEBDU8ZGTviWgGR4VE0GGkVwxm9FRojDfGdLd7Uq6yQW7ma68i5+t2StAnXVayevGqI3Kb0rJi2eqa1R3PW9cxHiFDbXAhtGajyY69GUpDZQ615h6l9jBlh/RMkOo3RfAvtXJdZasUTDhxflfJPCn0T5P68L/XHUV9ylgYmABoOSghqLVoMUNWDS5E2PAMVkm39vpIJOyKNEIhVd3EQmPxDSjSoDE56akhNdBPWsT+tZVbLO8rEccdRYGvxYsXmVjhxaXhmzQEoEme5LF/0+x+M2A880NZ5akhrKIl5ZjfREZCgQ6FClx7+L8f8fb2VNiLtFu5538MrSRozjub6WRKe1m5OOdgdOTsAXJXw5QG5IQ/Y/i9VBZTZUjqP+0TpP4h92QjLynjJAFzwSr3bAOOIvEJW2LsK+hocK72wpyVG93vl42XQpU5s95dAVJOOOnbawZUsOq8a0ctuSsSdWQ=" + }, + { + "name" : "🏆|伊外|高清◎秒播", + "key" : "YIys", + "type" : 3, + "api" : "csp_YIysAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1 + }, + { + "name" : "🏆|金牌|高清◎秒播", + "key" : "JinPai", + "type" : 3, + "api" : "csp_JinPaiAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 0 + }, + { + "key" : "py_耐看点播", + "name" : "🏆|耐看|高清◎秒播", + "type" : 3, + "api" : "./py/耐看点播.py", + "searchable": 1, + "filterable": 0, + "changeable": 1 + }, + { + "key" : "py_永乐视频", + "name" : "🏆|永樂|高清◎秒播", + "type" : 3, + "api" : "./py/永乐视频修复搜索.py", + "searchable": 1, + "filterable": 0, + "changeable": 1 + }, + { + "key": "飞飞", + "name": "🏆|飛飛丨高清◎秒播", + "type": 3, + "api": "csp_AppYsV2", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "https://qpcj.69mini.com/api.php/app/" + }, + { + "key": "天堂", + "name": "🏆|天堂|高清◎秒播", + "type": 3, + "api": "csp_AppDrama", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": { + "appName": "电影天堂", + "publicKey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCduNEnfxGaLuQRk5ABzXHhPV43zi00sCHjLo8BYc+Wi6xXm2b4v0i28Sq4WlNCKhseft9fz8kO/qLr6/022o1RcuOU7e4GFL3U9WnNODwRBYSYWd+K8nqpI/tAUDmZEBGRWqjrc7x6aMl3A+xpnWkLbPCLsuhbuuUE3tv09oeOpwIDAQAB", + "dataKey": "D2KREWRIBVNAUJJYEDL4VFHOY2Q0PQ==", + "dataIv": "OC1A06E197EF10CF3F6058CA7A803B5E", + "pkg": "com.dytiantang.one", + "host": "", + "site": "https://dyttandroid04-1372779881.cos.ap-shanghai.myqcloud.com/app_dyttandroid.txt", + "version": "3.0.0.7", + "decrypt": "0" + } + }, + { + "key": "TvDy", + "name": "🏆|天堂|備用", + "type": 3, + "api": "csp_TvDy", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "searchable": 1, + "filterable": 1 + }, + { + "key": "灵虎", + "name": "🏆|靈虎|高清◎秒播", + "type": 3, + "api": "csp_AppGet", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 1, + "changeable": 1, + "ext": { + "site" : "https://bind.315999.xyz/89.txt", + "dataKey": "#getapp@TMD@2025", + "dataIv" : "#getapp@TMD@2025" + } + }, + { + "key" : "Bidys", + "name" : "🏆|哔嘀|2K", + "type" : 3, + "api" : "csp_BidysAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 0, + "ext" : "https://www.xlys02.com,https://xl02.com.de" + }, + { + "key" : "Aiyf", + "name" : "🏆|愛壹帆|", + "type" : 3, + "api" : "csp_AiyfAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 0 + }, + { + "key" : "无极99", + "name": "🏆|無極|?", + "type": 3, + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1, + "api" : "csp_App99", + "jar" : "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "ext" : { + "host": "http://111.170.140.70:19987/app/bn", + "LoginPath": "/app/log", + "version": "", + "appkey": "c403317c2a2946659b0bcbabdd5de43a", + "versionName": "1.0.1", + "name": "无极影视", + "package": "com.wujiys.app", + "buildNumber": "2001", + "buildSignature": "A0859BDC35AD3E81D4051E2A4678C77C62773EDB3423DDF1DEFF94CB331D398E" + } + }, + { + "key": "清沅", + "name": "🏆|清沅|高清◎秒播", + "api": "csp_AppNox", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "type": 3, + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1, + "ext": "ASjKEhQKe/DZHt0fbLID47aB3aYcWUG5aIPwrmTCgGinaSykux5CZpbz57zl1moRZGFkoEXqk7decpKNU6W/p/6OTfj3JWvZtr89yPZSxNyjJm1Il5upXQT68sXR/0WG392H71MN7Q8NC8xkSOuwAq7EfX2cuHMsiqFeCCugzAiINUiEqvboCFdXiI97C6kqqqiaQIS9d+R1r7krr5vQXWtky7XJNsiK5ACjppyTh68cbONYIcgLp5Kg5woh/wj9xmNT6mFGqF2D3j2RUaLoWYf+K1+ltBiuzZ7THWKwrnpBBig8XUAG3lXNXiFhPILyYWfr+1j/UoInhNITzJJ+SSRc88KmOk5kpch+idGzVMzHIq/bLpRRxE0iV8Qdtc2atKF9QUqPXJLrwv21Dl+nxgPEGOZ+71L+gABeQdvXO7xvyzUnd+rOidPJr1mBsfu9ySbcqHkhL5EIEQpGHwRhG/yN3Y5xj0BU+SdSxnDo+CwMC+g+WCts34c2u8h2tz7G5vuTw8QvDF23kF/BZeD2QaoCBAd3SDG9ObAichfuO1nDa938+Ul+iekNOEPtPFr6k5o+px/JJkE7MKYhekE/2JfmIkbkBHdnewJYckdM37/9EKsnAozbDyFKhfKR06Es52KtuAhGyh1B8uyfsj33qFpreAqGam8kjEHdYA0i832o0BtTU2gS3mf3NoijVH/XNmlJRuNXo9yYxdjuip4Eq4iqIgajM16MGAIJ0rumYhxJ5uJUFDlf55b9iS+DvJ8wotnBvfdINpAaeXPPlVc/1JDp1rIOw0qg2XIRAafLL7kzXnW8djs2dPSQU1+j9LIrfQ6u3k4lqUs9gRMW1JhwC/4iqimnwg0KsVValaplt+fxFHhwCCkS45uLf8BaY+UZtp5ZDffbi3Q0EDAK8F210Bzd5l8W8MokURUSj374Z7y2hAROBAAgZ8qWRrFOmBC+I+LUCm7sV4h7Mwdpe8sDAtxBhxOpBAYyV8eACQsDbnQsBvizlafy16ptRrArViG0uB1VSPqvi8gqcFD1zMl+uRo=" + }, + { + "key" : "bubutv", + "name" : "🏆|步步|4K", + "type" : 3, + "api" : "./js/4k.js", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1 + }, + { + "key": "山楂", + "name": "🏆|山楂|?", + "type": 3, + "api": "./py/山楂.py", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "橘汁", + "name": "🏆|橘子|?", + "type": 3, + "api": "csp_AppDrama", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": { + "appName": "橘汁", + "publicKey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCr8SzZhjYy+rsya1K09t8d2K50pWFoBkgUqMpKOiW+3IEVKd4eTdvg9RSOjQ82kypL6R9BnsmrS1V8s4PVDwjQbUtYhTPPC9Hz16qY7rpD6m0d2vr09/UpWQ5uOy9PR0QTrsioveZ+DIe9jc3C+zBCu/kZSY/R8stwJoiitki3gwIDAQAB", + "dataKey": "DGVQRUX5R1LWWDLHTGJSUKG1DJRVPQ==", + "dataIv": "OC1A06E197EF10CF3F6058CA7A803B5E", + "pkg": "com.lxf.snzlcgtzxyx", + "host": "", + "site": "https://123-1349250429.cos.ap-shanghai.myqcloud.com/app.txt", + "version": "3.0.2.1", + "decrypt": "1" + } + }, + { + "key": "星河", + "name": "🏆|星河|4K", + "type": 3, + "api": "csp_AppQi", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 1, + "changeable": 1, + "ext": { + "site": "https://daen-1256234123.cos.ap-shanghai.myqcloud.com/MuQi/mqxhqj.txt", + "dataKey": "kj37zs29q22jk96t", + "dataIv": "kj37zs29q22jk96t", + "init": "initV122", + "ua": "okhttp/3.10.0" + } + }, + { + "key": "星夜", + "name": "🏆|星夜|4K", + "type": 3, + "api": "csp_AppQi", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "changeable": 1, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": { + "url" : "https://qj4.catbb.xyz", + "dataKey": "eecbio48dsq13kkk", + "dataIv" : "eecbio48dsq13kkk", + "init" : "initV122", + "ua" : "Lavf/58.12.100" + } + }, + { + "key" : "顾我99", + "name": "🏆|顾我|3線有賭港廣告", + "type": 3, + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1, + "api" : "csp_App99", + "jar" : "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "ext" : { + "host": "http://117.50.200.113:19987/app/bn", + "LoginPath": "/app/log", + "appkey": "040f9b1bc5e942569b5c3e63943306ab", + "versionName": "4.3.1", + "name": "顾我追剧", + "package": "com.guwozhuijux.app", + "buildNumber": "2001", + "buildSignature": "5AD4436C4730FFE26910C86278B80F3E661C317FFC3616F702D20A729262624A" + } + }, + { + "key" : "听心99", + "name": "🏆|庭馨|?", + "type": 3, + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1, + "api" : "csp_App99", + "jar" : "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "ext" : { + "host": "https://api.12321app.com/api", + "LoginPath": "/app/log", + "appkey": "a0a18659a9977a47e53442cd084b536c", + "versionName": "2.8.1", + "name": "听心视频", + "package": "com.iksp.adsys.jjsp", + "buildNumber": "2001", + "buildSignature": "03DD38CE4C3D62D0F0DEFACC06768D14EB382C7BD77A05B2EBF4D66E154A0D47" + } + }, + { + "name": "🏆|哔嘀|2K", + "key": "Bidys", + "type": 3, + "api": "csp_BidysAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "ext": "https://v.xl01.eu.cc,https://xl02.com.de,https://v.xl02.eu.cc,https://v.xl01.cc.ua" + }, + { + "key": "苹果", + "name": "🏆|苹果|秒播", + "type": 3, + "api": "csp_AppDrama", + "jar" : "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": { + "appName": "小苹果", + "publicKey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCduNEnfxGaLuQRk5ABzXHhPV43zi00sCHjLo8BYc+Wi6xXm2b4v0i28Sq4WlNCKhseft9fz8kO/qLr6/022o1RcuOU7e4GFL3U9WnNODwRBYSYWd+K8nqpI/tAUDmZEBGRWqjrc7x6aMl3A+xpnWkLbPCLsuhbuuUE3tv09oeOpwIDAQAB", + "dataKey": "S0VNDTJHOFHHCNMRAW5IV2TOS2PBPQ==", + "dataIv": "OC1A06E197EF10CF3F6058CA7A803B5E", + "pkg": "com.juechufsh.android.xpg1", + "host": "", + "site": "https://xpgandroid03-1372779881.cos.ap-beijing.myqcloud.com/app_xpg_android.txt", + "version": "1.0.0.3", + "decrypt": "0" + } + }, + { + "key": "爱瓜TV", + "name": "🏆|愛瓜|PHP", + "type": 4, + "api": "http://zhangqun1818.serv00.net/aigua1.php", + "jar": "./jar/pro.jar", + "searchable": 1, + "style": { + "type": "rect", + "ratio": 1.33 + }, + "changeable": 1 + }, + { + "key": "huaisang", + "name": "🥇|怀桑|高清", + "type": 3, + "api": "csp_AppQi", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "searchable": 1, + "changeable": 1, + "ext": "AdYEovlEKsDy77+R58YGahWCxrDZyBxExcQNC2NSeH0n1b5mu6tvh8b4Eh0RCpoPF6eivKdrR1Hsb8X4sSVBS8zF6jkwLW+wze9yh+hSY5iimm4gM9mAtmt0obTi+6Iox/Jp4GCsN4MQyFebMK162SKnILklpXc1UMiJv9gnPOe5aOPUxCftL+x7/UGhBdFYWIegpiHvKeavUtCUkhxtDyC8KqVVPPW0StI5GdmUA3WBbnnrNiKqNc5GBmrffd6pDN+Cf9IIjzNNvos/5KXJmBbe/baAzTLkoafeIoDhO451" + }, + { + "key": "fishhxq", + "name": "🥇|韓圈|備用", + "type": 3, + "api": "csp_FishHxq", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "searchable": 1, + "ext": "http://www.小不点.com/api//2026/fishhxq.php" + }, + { + "key": "枫眠", + "name": "🥇|楓眠|普清◎秒播(線路不穩)", + "type": 3, + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1, + "api": "csp_App88", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "ext": "AdzbT8Ti+fGJ2PrJDEahdT7+zU3sFruyF0fAaUTWAUOCrbG/s0KhC5zQusyXAkmDYai/yhecQAtwKkDfTqbVCQT15T0FDK1GX9GLxT9V3XyFRDT0ATcwcFfw5joxSB+YLlez1nGpT2AW5KomI3yNv3ORTd4B3NqAcM34Cioc6+xwfj3HJ4JO6kQvv4solNApeP7CqF/Ecpt1BCgvvPzswMOr+kgVG/Iu8btrVQFO+pRpY7cfpc/Y59ZqaJlrCTDNLxgwuG20RZ9gVWsW+vd3A9lRgeTiJ39vJPoK46+9LnYGWU9dlDR1qRg4y5ILVQjEnT4el2cKSZexf7nrXHVfF3nOmHH/w/R/OSGllwUB7FCHDMc7eDY7haDYHWAQpEmcn4+BfbC4cipsdZ+nVieVVuuaWSF9s+0xYPWdSYLJMxApplTYkO+/h5z9atdURJUMGQ==" + }, + { + "key": "BuBu", + "name": "🥇|布布|普清◎秒播", + "type": 3, + "api": "csp_BuBu", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "searchable": 1, + "changeable": 1, + "filterable": 1 + }, + { + "name": "🥇|夏天|很慢", + "key": "NewGrV2", + "type": 3, + "api": "csp_NewGrV2Amns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "ext": "e5f15714a2413f05151fea686450950ace809216b88f37b7b1fb4f1ce80eff9fab1b6be3fd1f9df9a5a915365aefecb314d297b5e1747337c20236c3637c2aeaebfce371e9053be3898bb20a9ef20bbf13173fb2ad38b4474346328a3a354451a1b5f96c490cc09840a195bc498f9e11499df11b3946e58e4c705a8457521ed34c879c458a9b27e487496c7a63a7ca8b34133bca4943b0019d982462cc22294e7c4ab447899b0e8bc667c7e635e8291fa544e8e28d8b16b8b702912f2d5ec561e1fb8667cc44bef7cae73f5022c94518cb7f0845d772d44944a88ff71d9a562a6204729a8f1b00c81ba195664482e756859f12048f73e986ad3bb6584935696dff959b0f82055f23d94f6a935103b574a98d54079a0be6647fcaca4db0d177ac3004eb51819a8e539646a141" + }, + { + "name": "🥇|大师兄|秒播", + "key": "AppV6Dxs", + "type": 3, + "api": "csp_AppV6Amns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "ext": "fbe15714a2413f05151fea6864509533510f3a0bb290dd40e3a2c65650bcf144db38b7a8945b776cf8933cb38e93a7d5d36988f5cbd33db73a1432681073eb45b4ce8224060c20ef229653f6b45f4e3a327a40e74bc51f710207b43b74b9bc3f9a2f70608e9c4783ddefc066662fb396be2d3c44dd2df48630d381176fd82e54565eccc47d944de1ff2bad4be0be043beaebd8fdcc0b6df5b1c2c3ec1f7d02b0e3f57e9af680cff3627e68d389379a8d3efdadb70e25135a3c473ddf249277ad12c9fa11002df91d7303627b06ac6bddd67ea082a758c6805628c06dcb22cafb109efad1389006e9c9518c7f85b2ab546315a1005adbf726ffe50d1f679fcf3b40e05f14698f8f5b6d1d829d6871d912056f1eee83cc1df1d9a126422781356e81cf24598a0216206fa59d2645a5812cc73e603190521454e77cc06c3640ea0799b83d60a3a0eaf5e28a7797ab77181d2b91aff50d9e1af419f10b839dc9fc61fb392ce138aaa6126f9eb3be09e94a87b96ac883c72c26d4b81d52de2696f40593b059ddd2279c354dc23d72a1f98150ec0be0dc0a5f6fdb93583b092c768b7fb8dd1bd43b59622810382fd21385606490610364fcd13e908f57a012f26e4cd4d1cee74c000bdc19edf27cb469f085c99cc9b8d9ae0f8b21473240c4a048a7dc8c6e5663258cc9184b1925ad8cb4e377f1cb78f06ee983263f47db396bb64d7118a2bb732d566408125f8ea1cb4158e6b70ac0bcff54ad45274772aaf96ca6183abfa8f0b3606404543823afc801edb734912f6777c30170a8fd0ddc9f69a3dc63885e23014f424e7a9fb8c29572d9d3004ea65a9dcf623f9c5c40abc52dc1c26e22ee9339b1ecdb0a3fe6e015cbeab7b7e091d8e7174fbbebdf82f2e1460ca94a61d3124272394619f9d84ac2b3be2fe70dfb9fa12fa8e153125327cb504b970380bf4bac66bcbf3fc3dd64855698ef82a4b0d88ef29e6bc89fe87a3354c941161e8c04a360402e906d30f095587c46ce26b9b7e1d15f7108cb01ff86c9b5a6c7bdfa9258d92602f04c6a77200754c0d4e8b1b5221e465ee36198100b53eb85eb59558016af86125162a95f24e329f87e371906d7f3fbed0f4994acd9a5b3fc2b206a5fcbc4316152f6fb6ac53b8dcffb65e2fde676f32cc9e24a2a954ade411b5ee92e809a86f8a8ac741aba21ce17a7dfb194a2ad36f5f44240669543e9051dc21c7a887d80f4a5cdfbab54903e7caaa2b7daa9ed00903093e33a95682a8fad5b5361a71a9f14f6917c964870994a6b9bca00732473bd6eed0c9e7d7a068d84cf395ae20639c545a1916786b27e85d5eb3189233da8e3361279a7d76ee6605fade068462ad8387a5be98a90d866807a98506d3efac36846329350701d3d0996f1c35009ac46493a76eccb702fd1762cd10bc50e22f3ea34c8902e2d92f07f9d519768e564c23fda9172b9b359bb8d3b508554bb4bf488f283c30f89a7320a542ba985b2df0ec20401a4ddf120f2cc427604c84d7b9340c323169cfd0a5e17d47991eb1bcc0d031297370df81f4ea242bdd5f4c76caac6f5651ba28683d2623ea5b988d3a5c938f2126bd9b49ee4579227ba7458a61bf7b2f88a0f6879242a1584593ca13d9915ec150110997cf3526d3dbdd70d9b1ef0f9c20ec0b7e394f9ae34d5b3b549805553434e9ad0baff73e8eb2dc58bcc38d2b377bb999dc5f940fed55a97951dfc5cda514c37dcdc88aff46de8617a66cfe1372c55e5bfc7d70634a51f39c665beb4bd95b7de9473da306ad9d3de48a301f01187864ff4682cb6852eb865aabb8bdb7de43daeedba1ebb755aba14d954d4a290fc6ac4e0af70577fe9850b631259eb63dfda69026955a6332fbbf84a63cba9d9253581771a61f2aa108c06e1e449637781d8c830b0e3ac20f10de7088175be90761afd66da37adead8a7241fcb4e2a571885bde71811daa240012cb6effe2fc7380027b3e85cf32c0dd40569775983451603ee7687273eeaad5825d58adec12b9489d5a22e8ba08978984f0274dc53537ecd285e2c12dafec32cd3419dde63a1639794bf70c102b6b53fa1fdff744d757c0d6c05a30a9b561821a8846ce9ef0f26", + "timeout":240 + }, + { + "key" : "三秋影视", + "name": "🥇|三秋|普畫◎秒播", + "type": 3, + "api" : "csp_App3Q", + "jar" : "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a" + }, + { + "key" : "听心99", + "name": "🥇|聽心|高清◎秒播", + "type": 3, + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1, + "api" : "csp_App99", + "jar" : "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "ext" : { + "host": "https://api.12321app.com/api", + "LoginPath": "/app/log", + "appkey": "a0a18659a9977a47e53442cd084b536c", + "versionName": "2.8.1", + "name": "听心视频", + "package": "com.iksp.adsys.jjsp", + "buildNumber": "2001", + "buildSignature": "03DD38CE4C3D62D0F0DEFACC06768D14EB382C7BD77A05B2EBF4D66E154A0D47" + } + }, + { + "key" : "橙子99", + "name": "🥇|橙子丨高清◎秒播", + "type": 3, + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1, + "api" : "csp_App99", + "jar" : "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "ext" : { + "host": "http://113.31.180.218:19987/app/bn", + "LoginPath": "/app/log", + "appkey": "6e8f3764a0644f3686ab5cdd57bcdf48", + "versionName": "4.3.1", + "name": "小橙子", + "package": "com.xchengzix.app", + "buildNumber": "2001", + "buildSignature": "99DA983CF878CEC016616175464A91A94775E20A489F07F76FCDEA1A0F2B6B45" + } + }, + { + "key": "AppV6Dxs", + "name": "🥇|大師|", + "type": 3, + "api": "csp_AppV6Amns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "ext": "fbe15714a2413f05151fea6864509533510f3a0bb290dd40e3a2c65650bcf144db38b7a8945b776cf8933cb38e93a7d5d36988f5cbd33db73a1432681073eb45b4ce8224060c20ef229653f6b45f4e3a327a40e74bc51f710207b43b74b9bc3f9a2f70608e9c4783ddefc066662fb396be2d3c44dd2df48630d381176fd82e54565eccc47d944de1ff2bad4be0be043beaebd8fdcc0b6df5b1c2c3ec1f7d02b0e3f57e9af680cff3627e68d389379a8d3efdadb70e25135a3c473ddf249277ad12c9fa11002df91d7303627b06ac6bddd67ea082a758c6805628c06dcb22cafb109efad1389006e9c9518c7f85b2ab546315a1005adbf726ffe50d1f679fcf3b40e05f14698f8f5b6d1d829d6871d912056f1eee83cc1df1d9a126422781356e81cf24598a0216206fa59d2645a5812cc73e603190521454e77cc06c3640ea0799b83d60a3a0eaf5e28a7797ab77181d2b91aff50d9e1af419f10b839dc9fc61fb392ce138aaa6126f9eb3be09e94a87b96ac883c72c26d4b81d52de2696f40593b059ddd2279c354dc23d72a1f98150ec0be0dc0a5f6fdb93583b092c768b7fb8dd1bd43b59622810382fd21385606490610364fcd13e908f57a012f26e4cd4d1cee74c000bdc19edf27cb469f085c99cc9b8d9ae0f8b21473240c4a048a7dc8c6e5663258cc9184b1925ad8cb4e377f1cb78f06ee983263f47db396bb64d7118a2bb732d566408125f8ea1cb4158e6b70ac0bcff54ad45274772aaf96ca6183abfa8f0b3606404543823afc801edb734912f6777c30170a8fd0ddc9f69a3dc63885e23014f424e7a9fb8c29572d9d3004ea65a9dcf623f9c5c40abc52dc1c26e22ee9339b1ecdb0a3fe6e015cbeab7b7e091d8e7174fbbebdf82f2e1460ca94a61d3124272394619f9d84ac2b3be2fe70dfb9fa12fa8e153125327cb504b970380bf4bac66bcbf3fc3dd64855698ef82a4b0d88ef29e6bc89fe87a3354c941161e8c04a360402e906d30f095587c46ce26b9b7e1d15f7108cb01ff86c9b5a6c7bdfa9258d92602f04c6a77200754c0d4e8b1b5221e465ee36198100b53eb85eb59558016af86125162a95f24e329f87e371906d7f3fbed0f4994acd9a5b3fc2b206a5fcbc4316152f6fb6ac53b8dcffb65e2fde676f32cc9e24a2a954ade411b5ee92e809a86f8a8ac741aba21ce17a7dfb194a2ad36f5f44240669543e9051dc21c7a887d80f4a5cdfbab54903e7caaa2b7daa9ed00903093e33a95682a8fad5b5361a71a9f14f6917c964870994a6b9bca00732473bd6eed0c9e7d7a068d84cf395ae20639c545a1916786b27e85d5eb3189233da8e3361279a7d76ee6605fade068462ad8387a5be98a90d866807a98506d3efac36846329350701d3d0996f1c35009ac46493a76eccb702fd1762cd10bc50e22f3ea34c8902e2d92f07f9d519768e564c23fda9172b9b359bb8d3b508554bb4bf488f283c30f89a7320a542ba985b2df0ec20401a4ddf120f2cc427604c84d7b9340c323169cfd0a5e17d47991eb1bcc0d031297370df81f4ea242bdd5f4c76caac6f5651ba28683d2623ea5b988d3a5c938f2126bd9b49ee4579227ba7458a61bf7b2f88a0f6879242a1584593ca13d9915ec150110997cf3526d3dbdd70d9b1ef0f9c20ec0b7e394f9ae34d5b3b549805553434e9ad0baff73e8eb2dc58bcc38d2b377bb999dc5f940fed55a97951dfc5cda514c37dcdc88aff46de8617a66cfe1372c55e5bfc7d70634a51f39c665beb4bd95b7de9473da306ad9d3de48a301f01187864ff4682cb6852eb865aabb8bdb7de43daeedba1ebb755aba14d954d4a290fc6ac4e0af70577fe9850b631259eb63dfda69026955a6332fbbf84a63cba9d9253581771a61f2aa108c06e1e449637781d8c830b0e3ac20f10de7088175be90761afd66da37adead8a7241fcb4e2a571885bde71811daa240012cb6effe2fc7380027b3e85cf32c0dd40569775983451603ee7687273eeaad5825d58adec12b9489d5a22e8ba08978984f0274dc53537ecd285e2c12dafec32cd3419dde63a1639794bf70c102b6b53fa1fdff744d757c0d6c05a30a9b561821a8846ce9ef0f26", + "timeout":240 + }, + { + "key": "薯条", + "name": "🥇|薯條|高清◎秒播", + "type": 3, + "api": "csp_AppDrama", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": { + "appName": "薯条影视", + "publicKey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCduNEnfxGaLuQRk5ABzXHhPV43zi00sCHjLo8BYc+Wi6xXm2b4v0i28Sq4WlNCKhseft9fz8kO/qLr6/022o1RcuOU7e4GFL3U9WnNODwRBYSYWd+K8nqpI/tAUDmZEBGRWqjrc7x6aMl3A+xpnWkLbPCLsuhbuuUE3tv09oeOpwIDAQAB", + "dataKey": "A1VACZJWDKRZY1P3MFV0DDRAZ3F3PT0=", + "dataIv": "OC1A06E197EF10CF3F6058CA7A803B5E", + "pkg": "com.st.standroid", + "host": "", + "site": "https://dyttandroid-1372779881.cos.ap-guangzhou.myqcloud.com/app_dyttandroid.txt", + "version": "5.0.0.1", + "decrypt": "0" + } + }, + { + "key": "奴娜", + "name": "🥇|奴娜丨高清◎秒播(d線)", + "type": 3, + "api": "csp_AppYsV2", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "https://www.nntv.in/api.php/v1.vod" + }, + { + "key": "云播", + "name": "🥇|云播|高清◎秒播", + "type": 3, + "api": "csp_AppFox", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 1, + "changeable": 1, + "ext": {"host": "http://app.hktvyb.cc"} + }, + { + "key": "蓝鹰", + "name": "🥇|藍鷹|高清◎秒播", + "type": 3, + "api": "csp_AppQi", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 1, + "changeable": 1, + "ext": { + "site" : "https://xinlanyinghb.oss-cn-wuhan-lr.aliyuncs.com/xly.txt", + "dataKey": "ca94b06ca359d80e", + "dataIv" : "ca94b06ca359d80e", + "init" : "initV120", + "ua" : "okhttp/3.10.0" + } + }, + { + "key": "猎豹", + "name": "🥇|獵豹|高清◎秒播", + "type": 3, + "api": "csp_AppGet", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 1, + "changeable": 1, + "ext": { + "url" : "https://444421.xyz", + "dataKey": "#getapp@TMD@2025", + "dataIv" : "#getapp@TMD@2025" + } + }, + { + "key": "秒看", + "name": "🥇|秒看|高清◎秒播", + "type": 3, + "api": "csp_AppGet", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 1, + "changeable": 1, + "ext": { + "site": "https://mk1080.top/get.txt", + "dataKey": "c60d88b2eep53za8", + "dataIv": "c60d88b2eep53za8", + "token": "4181e508e7a17657d6a6246e70b1b13553e5ae9d8d287dc47000fb2df638dffa" + } + }, + { + "key": "茉莉", + "name": "🥇|茉莉|高清◎秒播", + "type": 3, + "api": "csp_AppGet", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 1, + "changeable": 1, + "ext": { + "site" : "https://gitee.com/wmmoliill/wimg/raw/master/img/bk/9.txt", + "dataKey": "88689667dce61725", + "dataIv" : "88689667dce61725" + } + }, + { + "key": "gulu", + "name": "🥇|咕噜|高清◎秒播", + "type": 3, + "api": "csp_AppQi", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "changeable": 1, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": { + "site": "https://mobile-1251126973.cos.ap-guangzhou.myqcloud.com/maccos_config.txt", + "dataKey": "8R33VQSxzmCaHpEX", + "dataIv": "8R33VQSxzmCaHpEX", + "init": "initV122", + "ua": "Lavf/58.12.100" + } + }, + { + "key": "爱影", + "name": "🥇|愛盈|高清◎秒播", + "type": 3, + "api": "csp_AppQi", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "changeable": 1, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": { + "site" : "https://aysappto.oss-cn-chengdu.aliyuncs.com/q23.txt", + "dataKey": "nzEqOgYk3QzHuEP8", + "dataIv" : "nzEqOgYk3QzHuEP8", + "init" : "initV122", + "ua" : "Lavf/58.12.10" + } + }, + { + "key": "大师兄", + "name": "🥇|大師兄|高清◎秒播", + "type": 3, + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1, + "jar": "https://s3plus.meituan.net/opapisdk/op_ticket_1_5677168484_1774853250308_PA5tmo8g_vip.jar;md5;a4f403a000bc5e4ebdd9da27fcb05852", + "api": "csp_AppV6", + "ext": "7lj763gg0939790h44298182lk5j9k99k2g4ih53jl9i376l514k16hilj0443400h9k4jgh8312j1912818glikl7lh1jk9k4222k1kg696igkk32ig6lhj3kl50j08lkl6j0h6gi7k2j31jj0k7i1784l25g757hhkl42i7jg68illihj867l82g53532j62i92kljhj5llh498k24796l57j55ji0ji2g22i501jl541j9j4i68i5j602744l10413k457hl80l91j5l44139j23g64h27k08l5509h202gl84338hi17082hkj5746g298j640i002jk1265h745j289303h6i6j6j15jgkg15485h8g935hk83g9g7j661l4i557jl56h6l0h40i5j9hkiig7066523l2h24gj9k1083g6l2gihh2j5hhgkgij04j8900jhg4l6731hkhij7kk2i594536563674gki85li59jhk79067964197h5k7k2641h03l45074jkkklhik123407146l1i0jk90k1hgl151076ig7i4gi0858h62j37lh8l4hl519ghi7g04h2h900jlj7ll333i736549624gjk8k508g9499gj3jj7050jjhgh4i57326j83301i0kkl88040ih52gj8j0gk0h4g5g7lh561k2gk6k7k56h01598ji23g27k3i17878j92k2gj1l5ih8h0jj73k94g9hl5g7h229i10g099k09l958h3hk18l72h1j43gg7177g4h7ll8987644383606klgh9h4ll42h7293k694kl20j539g6jl17ig655461138jgj7306i1296k3i03586k6l32j5hlik4051187741218271j8j4g3i1h6719877l10k1ijl220i8hlil3j3g129ll3k2i5164lkg12k253kk1h8j5l0gki49jg25hlii704l5ih74439hlj9jih5ki53242ijgh6359i8i5j4h2j2i4581l244j4ij728490hk0k34542916i2lig57836gg7kji3l160234i24hik5g18h790488748j680k5i0l885lj66kjk78j2i57i5021g283ik9g38g62259h1lgi811ihki506k5934g7h737hg9360lll98l4j8i049903l1354lg00019g0934h005h8jjkl60j91k7j74i96h8h26hk59i653209lgj07g1g298k48jllgh00l4i742gi72l27038157gji9j32gh0k5672167k2588h31967l3867g50k503ik403781ki72j47hh4363l0708k4g961k4hl8g4j35ilk143h3424010i165lj612h50k68l61ghl9h80kh874k14ggk2ilg018hi5l1g34262196lkl45ih981jkl42271l4232k93hk8ih3g814i6h63h0g64l300i42il1g0454921j12h4844ii714ih71lg172326009812833h62kj8009kijk5hhg763031235l45h78614l7h9k579h6lj290i98851gll70024834hgj2lg5hk3l905i346gij11kl5j9i7h5j5k12hl061l488k061564g398i2150h9j343901865h7567g874i1gghl5ihg8il8hh0650h6308l2i5053997g8g12g16l3l7h5lhlji71i1i23h0ljl1h14688h7g13987h548h33k34hi6h2i63h424jhl1kik26kl3h60662846j6j0749l8kh95018kl1971j5j5gjk9hg70542391j77hjj65l127627h6h8h0hi003i2hih6h0k9k878lj858k30iljgik0l9248jk25l4h701l6gllhkhi54g24g926jgj884266514056805k2h15hh442i3170ilik20h88i561k0682k04459i154i03ikglg6220i4jii1g32067il925g450k0i1241l3il2jjl6k186gjj53h611il59k650i4kjhi87i798hg6h01g306ig104145ig9h68i092ghhh59jig99j12383792452h44206glk62g67gj204hk874l5li8646g65i9085244i092g70ig9h8657kg0413466ii87k9i32hglh24hi2li7174735i520ik608ilg71292838j5k1h39271ghg5288g930lg6h75626l71h8h5g011k9l9lgk691i04166h7996g452kij4l4l72881k6kl5701jl707hi415j8h3k67576966g2k94k03k0lj31995h2j26hi69jhjji162625l50j7790093hli0jjkh1ll804i3lhh40lk4k240kh48k0k16l544hg033k594gh0l93682l86h35i1i36klhgjg90lkl54746i2k63481h37hilj3ikig52h0j80k5gj6h879lk6g8ll6k616966h59h42l24h824ljj77g6l03kg260i80h2g2k123251j22jg36k5j14781i6197929il9j03k16h4l1i78693g45k64j0jl0k58hj8493h76gj2202470ig12lh2llj2l5k5541k4h506i3hij81lg9i037jgk22i2l3j12j6l394h51ii2ll0022j292h8036767i835k47071jl9illl2gli06524g66984902j6j1h5g788019hl4712032977h41l0k36073ig880g2jgklh26k736180591639h4k2gjk9gl2071h685923kl5363l5lj0ll91901g12kk29hll4280h9h51870j721516j6g66i379g203932726h42g927h19733k237492l8j0jh148gl95048l5524j4j0l2445130153i802169102i14g586h8g64j2lk28492169li3292877837108k7i9557h3jk31il2lklg494lgl4j91jig614216ki68i2j140l1jg03lk16lljg039h21kj313h8jk79h99j2g89j327i7h9052h9hj71721jg927340956k6jl4i7k0430" + }, + { + "key": "zhiqiu", + "name": "🥇|聽風|高清◎挑線路", + "type": 3, + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1, + "api": "csp_zhiqiu", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "ext": "http://www.小不点.com/api//2026/zhiqiu.php" + }, + { + "key" : "顾我99", + "name": "🥇|故我丨普畫◎普速", + "type": 3, + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1, + "api" : "csp_App99", + "jar" : "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "ext" : { + "host": "http://117.50.200.113:19987/app/bn", + "LoginPath": "/app/log", + "appkey": "040f9b1bc5e942569b5c3e63943306ab", + "versionName": "4.3.1", + "name": "顾我追剧", + "package": "com.guwozhuijux.app", + "buildNumber": "2001", + "buildSignature": "5AD4436C4730FFE26910C86278B80F3E661C317FFC3616F702D20A729262624A" + } + }, + { + "key": "Wwys", + "name": "🥇|糯米|影视", + "type": 3, + "api": "csp_Wwys", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "searchable": 1, + "filterable": 1, + "changeable": 1, + "ext": "https://vip.wwgz.cn:5200" + }, + { + "key" : "农民影视", + "name": "🥇|農民|無廣", + "type": 3, + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1, + "api" : "csp_Wwys", + "jar" : "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "ext" : "https://vip.wwgz.cn:5200" + }, + { + "key": "星空2", + "name": "🥇|櫻花|藍光◎無廣", + "type": 3, + "searchable": 1, + "changeable": 1, + "api": "csp_AppGet", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "ext": { + "url" : "https://cms140.yhg.one/", + "dataKey": "bM7iC9eA3oZ1nB7z", + "dataIv" : "bM7iC9eA3oZ1nB7z" + } + }, + { + "key" : "4kmx", + "name" : "🥇|木兮|藍光◎無廣", + "type" : 3, + "api" : "http://itv666.cc/pyplugin/木兮.py", + "searchable" : 1, + "changeable" : 1, + "quickSearch": 1, + "filterable" : 1 + }, + { + "key" : "py_mv4r4", + "name" : "🥇|有兮|高清", + "type" : 3, + "api" : "./py/1.py", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 0 + }, + { + "key" : "bilimd", + "name" : "🎖︎|bilbil|官源", + "type" : 3, + "api" : "csp_Bilimd", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "style" : {"type": "rect", "ratio": 1.433}, + "ext" : { + "cookie": "http://127.0.0.1:9978/file/tvbox/bili_cookie.txt" + }, + "timeout" : 10 + }, + { + "key" : "bili", + "name" : "🎖︎|bilbil合集|", + "type" : 3, + "api" : "csp_Bili", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "style" : {"type": "rect", "ratio": 1.433}, + "ext" : { + "cookie": "http://127.0.0.1:9978/file/tvbox/bili_cookie.txt", + "json" : "./json/哔哩合集.json" + }, + "timeout" : 20 + }, + { + "key" : "py_愛電影.py", + "name" : "🥇|金牌系列-愛電影", + "type" : 3, + "api" : "./py/又是一個金牌.py", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : {"site": "https://www.gs4x7nq4.com"} + }, + { + "key" : "py_文才", + "name" : "🥇|金牌系列-界界", + "type" : 3, + "api" : "./py/又是一個金牌.py", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : { + "site": "https://www.hkybqufgh.com,https://www.sizhengxt.com,https://0996zp.com,https://9zhoukj.com/" + } + }, + { + "key": "wencai", + "name": "🥇|金牌系列-文才", + "type": 3, + "api": "csp_WenCai", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "searchable": 1, + "ext": "https://www.tjrongze.com,https://y2s52n7.com,https://m.hkybqufgh.com,https://m.sizhengxt.com,https://m.9zhoukj.com,https://m.jiabaide.cn" + }, + { + "key" : "py_zjuys.py", + "name" : "🥇|金牌系列-zjuys", + "type" : 3, + "api" : "./py/又是一個金牌.py", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : {"site": "https://zjuys.com/"} + }, + { + "key" : "py_jiabaide", + "name" : "🥇|金牌系列-jiabaide", + "type" : 3, + "api" : "./py/又是一個金牌.py", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : {"site": "https://www.jiabaide.cn"} + }, + { + "key" : "py_cqzuoer", + "name" : "🥇|金牌系列-cqzuoer", + "type" : 3, + "api" : "./py/又是一個金牌.py", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : {"site": "https://cqzuoer.com"} + }, + { + "key" : "py_xiong_di_ying_shi", + "name" : "🥇|兄弟", + "type" : 3, + "api" : "./py/兄弟影视.min.py", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 0, + "changeable" : 0 + }, + { + "key" : "csp_看片狂人", + "name" : "🥇|狂人|藍光(超多線路)", + "type" : 3, + "api" : "csp_XBPQ", + "jar" : "./jar/xyqxbpq.jar;md5;fd3cefc7302f3a39a442682f802b11e5", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : { + "免嗅": "1", + "线路数组": "class=\"fed-drop-btns fed-padding&&", + "线路标题": "data-linename=\"&&\"[不包含:腾讯视频-VIP解析#芒果-VIP解析#超清FM线#超清STP线#超清VH线#超清RP线#超清SW线#超清UP线#超清ST线]", + "搜索url": "https://www.kpkuang.fun/vodsearch/-------------.html?wd={wd}", + "分类url": "https://www.kpkuang.fun/vodshow/{cateId}-{area}-time------{catePg}---{year}--.html", + "分类": "电影$1#连续劇$2#综艺$3#动漫$4", + "地区": "中国大陆&香港&台湾&日本&韩国&泰国&美国&英国&德国&法国||中国大陆&韩国&香港&台湾&日本&美国&泰国&英国&新加坡&其他||香港&台湾&韩国&中国大陆&英国&美国&日本&加拿大&泰国&其它||日本&大陆&中国大陆&中国&美国&台湾&韩国&法国&英国&加拿大" + } + }, + { + "key": "csp_Wwys", + "name": "🥇|农民|高清", + "type": 3, + "quickSearch": 1, + "api": "csp_XYQHiker", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "ext": "./json/农民影视.json" + }, + { + "key" : "csp_If101", + "name" : "️🥇|歐視|高清", + "type" : 3, + "api" : "csp_XBPQ", + "jar" : "./jar/xyqxbpq.jar;md5;fd3cefc7302f3a39a442682f802b11e5", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : { + "简介": "content_desc context clearfix\">&&", + "分类url": "https://www.olehdtv.com/index.php/vod/show/area/{area}/by/{by}/id/{cateId}/page/{catePg}/year/{year}.html", + "分类": "電影$1#電視劇$2#綜藝$3#動漫$4", + "地区": "大陆&香港&台湾&美国&法国&英国&日本&韩国&德国&泰国&印度&意大利&西班牙&加拿大&其他" + } + }, + { + "key" : "csp_歐樂影院ORG", + "name" : "🥇|歐吉|高清", + "type" : 3, + "api" : "csp_XBPQ", + "jar" : "./jar/xyqxbpq.jar;md5;fd3cefc7302f3a39a442682f802b11e5", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : { + "简介": "content_desc context clearfix\">&&", + "分类url": "https://www.oulevod.org/index.php/vod/show/area/{area}/by/{by}/id/{cateId}/page/{catePg}/year/{year}.html", + "分类": "電視劇$2#電影$1#動漫$4#綜藝$3#短劇$53", + "地区": "大陆&香港&台湾&美国&法国&英国&日本&韩国&德国&泰国&印度&意大利&西班牙&加拿大&其他" + } + }, + { + "key" : "csp_YLSP", + "name" : "🥇|永樂|高清", + "type" : 3, + "api" : "csp_XBPQ", + "jar" : "./jar/xyqxbpq.jar;md5;fd3cefc7302f3a39a442682f802b11e5", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : { + "线路数组": "data-dropdown-value=&&

", + "线路标题": "&&[不包含:全球1线]", + "简介": "video-info-item video-info-content vod_content\">&&", + "分类url": "https://ylsp.tv/vodshow/{cateId}-{area}-{by}------{cateIPg}---{year}/", + "分类": "電影$1#電視劇$2#綜藝$3#動漫$4", + "地区": "大陆&香港&台湾&美国&法国&英国&日本&韩国&德国&泰国&印度&意大利&西班牙&加拿大&其他||大陆&香港&台湾&美国&法国&英国&日本&韩国&德国&泰国&印度&意大利&西班牙&加拿大&其他||内地&港台&日韩&欧美||国产&日本&欧美&其他" + } + }, + { + "key" : "永乐影视", + "name": "🥇|永乐|高清", + "type": 3, + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "api" : "csp_XBPQ", + "jar" : "./jar/xyqxbpq.jar;md5;fd3cefc7302f3a39a442682f802b11e5", + "ext" : { + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://www.ylys.tv/vodshow/{cateId}-{area}-{by}-{class}-{lang}-{letter}---{catePg}---{year}.html", + "分类": "电影$1#电视劇$2#综艺$3#动漫$4", + "类型": "动作片$6#喜劇片$7#爱情片$8#科幻片$9#奇幻片$10#恐怖片$11#劇情片$12#战争片$20#动画片$26#悬疑片$22#冒险片$23#犯罪片$24#惊悚片$45#歌舞片$46#灾难片$47#网络片$48||国产劇$13#港台劇$14#日劇$15#韩劇$33#欧美劇$16#泰劇$34#新马劇$35#其他劇$25||内地综艺$27#港台综艺$28#日本综艺$29#韩国综艺$36#欧美综艺$30#新马泰综艺$37#其他综艺$38||国产动漫$31#日本动漫$32#韩国动漫$39#港台动漫$40#新马泰动漫$41#欧美动漫$42#其他动漫$43" + } + }, + { + "key" : "影视天堂", + "name": "🥇|影天|高清", + "type": 3, + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "api" : "csp_XBPQ", + "jar" : "./jar/xyqxbpq.jar;md5;fd3cefc7302f3a39a442682f802b11e5", + "ext" : { + "数组": "[不包含:伦理#情色]", + "标题": "title=\"&&\"", + "图片": "data-src=\"&&\"", + "副标题": "text-white\">&&", + "链接": "href=\"&&\"", + "导演": "导演:&&
", + "主演": "主演:&&
", + "状态": "更新:&&
", + "集数": "集数:&&
", + "TAG": "TAG:&&", + "简介": "劇情:&&", + "线路数组": "", + "线路标题": ">&&", + "播放标题": ">&&", + "播放链接": "href=\"&&\"", + "搜索模式": "1", + "搜索url": "https://ysttv.com/search/index/type/1/keyword/{wd}", + "分类url": "https://ysttv.com/library/index/c/{cateId}/t/all/y/{year}/all/s/1/page/{catePg}", + "分类": "电影$1#电视劇$2#综艺$3#动漫$4#短劇$5" + } + }, + { + "key": "Guazi", + "name": "🥇|瓜子|高清", + "type": 3, + "api": "csp_GuaziAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "ext": { + "sites": "", + "filters": "https://file.icve.com.cn/file_doc/822/528/CD984013F5776F759DFC815995F87BFB.aowu" + } + }, + { + "key" : "py_缘梦_APP", + "name" : "📱|緣夢|APP", + "type" : 3, + "api" : "./py/app/getapp.py", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : { + "host" : "https://www.zipfve.cn", + "api" : "/api.php/getappapi", + "datakey": "1234567890987654", + "dataiv" : "1234567890987654" + } + }, + { + "key" : "py_哇哇APP", + "name" : "📱|哇哇|APP", + "type" : 3, + "api" : "./py/哇哇APP.py", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 0, + "changeable" : 1 + }, + { + "key" : "py_数字_APP", + "name" : "📱|数字|APP", + "type" : 3, + "api" : "./py/app/getapp.py", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : { + "host" : "http://app1-0-0.87333.cc", + "api" : "/api.php/getappapi", + "datakey": "VwsHxkCViDXEExWa", + "dataiv" : "VwsHxkCViDXEExWa" + } + }, + { + "key" : "py_八天_APP", + "name" : "📱|八天|APP", + "type" : 3, + "api" : "./py/app/getapp.py", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : { + "host" : "https://dy.8ttv.cn", + "api" : "/api.php/getappapi", + "datakey": "1111111111111111", + "dataiv" : "1111111111111111" + } + }, + { + "key": "hgdj", + "name": "📺|红果短劇", + "type": 3, + "api": "./py/红果短剧.py" + }, + { + "key": "星芽短剧", + "name": "📺|星芽短劇", + "type": 3, + "api": "https://git.yylx.win/raw.githubusercontent.com/PizazzGY/NewTVBox/main/movie/py/XYDJ.py", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 1, + "changeable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key" : "HHkk", + "name" : "📺|好看短剧", + "type" : 3, + "api" : "csp_HHkkAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 0, + "genre" : "shortdrama" + }, + { + "key" : "Hema", + "name" : "📺|盒马短剧", + "type" : 3, + "api" : "csp_HemaAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 0, + "genre" : "shortdrama" + }, + { + "key" : "Bddj", + "name" : "📺|拜拜短剧", + "type" : 3, + "api" : "csp_BddjAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 0, + "genre" : "shortdrama" + }, + { + "key" : "Wgdj", + "name" : "📺|圍觀短剧", + "type" : 3, + "api" : "csp_WgdjAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 0, + "genre" : "shortdrama" + }, + { + "key" : "Qmdj", + "name" : "📺|喵喵短剧", + "type" : 3, + "api" : "csp_QmdjAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 0, + "genre" : "shortdrama" + }, + { + "key" : "Xydj", + "name" : "📺|星星短剧", + "type" : 3, + "api" : "csp_XydjAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 0, + "genre" : "shortdrama" + }, + { + "key" : "bilitingshu", + "name" : "🎖︎|bili聽書趣", + "type" : 3, + "api" : "csp_Bili", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 1, + "ext" : { + "json": "./json/bili听书.json", + "cookie": "SESSDATA=819d93e8%2C1764426658%2C4ec10%2A61CjA74Z7n0isRlTABldomYIMAwyRBPDvLaJl9ERae-vTzTalKiYoDX6Qu9J0E5fof-h0SVlJfUUE0T1RLaExUQWloSUNBNG9ROEZQazBJX3FDX0VkWUFZQ0t2LXFtbnJmdUI1eEkwUnVJVl96Nk1sZTBDeFYtTkxVUjc5MjZsVjFWSENjR0hnZUVBIIEC;bili_jct=b655010f87e4dcb20ea46a191d23a443;DedeUserID=3546382984022310;DedeUserID__ckMd5=9728526c8c2ad2a5;sid=51az4mji" + }, + "style" : {"type": "rect", "ratio": 1.333} + }, + { + "key" : "bilimanhua", + "name" : "🎖︎|bili漫畫屋", + "type" : 3, + "api" : "csp_Bili", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 1, + "ext" : { + "json": "./json/bili漫画.json", + "cookie": "SESSDATA=819d93e8%2C1764426658%2C4ec10%2A61CjA74Z7n0isRlTABldomYIMAwyRBPDvLaJl9ERae-vTzTalKiYoDX6Qu9J0E5fof-h0SVlJfUUE0T1RLaExUQWloSUNBNG9ROEZQazBJX3FDX0VkWUFZQ0t2LXFtbnJmdUI1eEkwUnVJVl96Nk1sZTBDeFYtTkxVUjc5MjZsVjFWSENjR0hnZUVBIIEC;bili_jct=b655010f87e4dcb20ea46a191d23a443;DedeUserID=3546382984022310;DedeUserID__ckMd5=9728526c8c2ad2a5;sid=51az4mji" + }, + "style" : {"type": "rect", "ratio": 1.333} + }, + { + "key" : "biligequ", + "name" : "🎖︎|bili靜聽歌", + "type" : 3, + "api" : "csp_Bili", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable": 1, + "ext" : { + "json": "./json/bili歌曲.json", + "cookie": "SESSDATA=819d93e8%2C1764426658%2C4ec10%2A61CjA74Z7n0isRlTABldomYIMAwyRBPDvLaJl9ERae-vTzTalKiYoDX6Qu9J0E5fof-h0SVlJfUUE0T1RLaExUQWloSUNBNG9ROEZQazBJX3FDX0VkWUFZQ0t2LXFtbnJmdUI1eEkwUnVJVl96Nk1sZTBDeFYtTkxVUjc5MjZsVjFWSENjR0hnZUVBIIEC;bili_jct=b655010f87e4dcb20ea46a191d23a443;DedeUserID=3546382984022310;DedeUserID__ckMd5=9728526c8c2ad2a5;sid=51az4mji" + }, + "style" : {"type": "rect", "ratio": 1.333} + }, + { + "key" : "py_bi星河影视ili", + "name" : "🎖︎|bili看電影", + "type" : 3, + "api" : "./py/哔哩.py", + "searchable": 1, + "filterable": 0, + "changeable": 0 + }, + { + "key" : "tufun采集", + "name" : "🧲|菠菜|高清", + "type" : 1, + "api" : "https://tyyszyapi.com/api.php/provide/vod/?ac=list", + "playerType": 2, + "searchable": 1, + "changeable": 1 + }, + { + "key" : "vod_蜜雪", + "name" : "🧲|夢想網頁版|嚴禁外流", + "type" : 0, + "api" : "http://www.mixuetv.top/api.php/provide/vod/at/xml", + "categories" : [ + "国产剧", "台灣剧", "日本剧", "美国剧", "短剧", "大陆综艺", "日韩综艺", "港台综艺", + "欧美综艺", "国产动漫", "日韓动漫", "欧美动漫", "奈飞电视剧", "奈飞电影", "動作片", "韓國劇", + "海外劇", "港劇", "恐怖片", "科幻片", "劇情片", "戰爭片", "愛情片" + ], + "searchable" : 1, + "quickSearch": 1 + }, + { + "key": "采集集合", + "name": "🧲|采集集合|PHP", + "type": 4, + "api": "http://zhangqun1818.serv00.net/cj/cjjh.php", + "jar": "./jar/pro.jar", + "searchable": 1, + "style": { + "type": "rect", + "ratio": 1.33 + }, + "ext": "0", + "changeable": 1 + }, + { + "key" : "vod_360", + "name" : "🧲|360|高清", + "type" : 1, + "api" : "https://360zy.com/api.php/provide/vod", + "categories": [ + "国产劇", "短片", "动画片", "香港劇", "韩国劇", "欧美劇", "动作片", "喜劇片", "爱情片", + "科幻片", "恐怖片", "劇情片", "战争片", "NBA", "惊悚片", "家庭篇", "古装片", "历史片", + "悬疑片", "犯罪片", "纪录片", "台湾劇", "大陆综艺", "国产动漫", "日韩动漫", "西部片" + ] + }, + { + "key" : "vod_优质", + "name" : "🧲|優質|高清", + "type" : 1, + "api" : "https://api.1080zyku.com/inc/api_mac10.php", + "searchable" : 1, + "quickSearch": 1 + }, + { + "key" : "vod_天涯", + "name" : "🧲|天涯|高清◎順播", + "type" : 1, + "api" : "https://tyyszyapi.com/api.php/provide/vod/?ac=list", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1 + }, + { + "key" : "vod_豆瓣", + "name" : "🧲|豆瓣|高清◎順播(浮水印廣告)", + "type" : 1, + "api" : "https://caiji.dbzy5.com/api.php/provide/vod/at/josn/", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1 + }, + { + "key": "Ikanbot", + "name": "🧲|愛看機器人", + "type": 3, + "api": "csp_Ikanbot", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "searchable": 1, + "filterable": 0, + "ext": "{\"box\": \"TVBox\", \"danmu\": false}" + }, + { + "key" : "vod_四个圈影视", + "name" : "🧲|四圈|高清(滿版廣告)", + "type" : 1, + "api" : "https://pg.fenwe078.cf/api.php/provide/vod/", + "quickSearch": 1, + "searchable" : 1, + "changeable" : 1, + "categories" : [ + "电影", "连续劇", "国产劇", "韩国劇", "台湾劇", "日本劇", "美国劇", "港台劇", "日韩劇", + "综艺", "国产动漫", "日韩动漫", "短劇" + ] + }, + { + "key" : "vod_极速", + "name" : "🧲|極速|高清(浮水印廣告)", + "type" : 1, + "api" : "https://jszyapi.com/api.php/provide/vod/at/json", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "categories" : [ + "内地劇", "欧美劇", "日劇", "韩劇", "台湾劇", "香港劇", "马泰劇", "悬疑片", "喜劇片", + "动作片", "爱情片", "科幻片", "恐怖片", "劇情片", "战争片", "犯罪片", "记录片", "动画片", + "日本动漫", "欧美动漫", "中国动漫", "大陆综艺", "日韩综艺", "港台综艺", "欧美综艺", "体育赛事" + ] + }, + { + "key" : "vod_豪华", + "name" : "🧲|豪華|高清(浮水印廣告)", + "type" : 1, + "api" : "https://hhzyapi.com/api.php/provide/vod/?ac=list", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "categories" : [ + "动作片", "喜劇片", "爱情片", "科幻片", "恐怖片", "劇情片", "战争片", "悬疑片", "犯罪片", + "奇幻片", "记录片", "动画片", "内地劇", "香港劇", "台湾劇", "日劇", "韩劇", "欧美劇", + "马泰劇", "大陆综艺", "港台综艺", "日韩综艺", "欧美综艺", "中国动漫", "日本动漫", "欧美动漫" + ] + }, + { + "key" : "vod_金鹰", + "name" : "🧲|金鹰|高清(浮水印廣告)", + "type" : 1, + "api" : "https://jyzyapi.com/api.php/provide/vod/", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1 + }, + { + "key" : "vod_飘零", + "name" : "🧲|飘零|高清(浮水印廣告)", + "type" : 1, + "api" : "https://p2100.net/api.php/provide/vod/", + "searchable" : 1, + "quickSearch": 1, + "categories" : [ + "电影", "连续劇", "综艺", "动漫", "动作片", "电影", "喜劇片", "爱情片", "科幻片", + "恐怖片", "劇情片", "战争片", "国产劇", "香港劇", "台湾劇", "日本劇", "韩国劇", "欧美劇", + "海外劇", "纪录片", "动漫电影", "邵氏大片" + ] + }, + { + "key" : "天翼影视", + "name" : "🧲|天翼|普清(浮水印廣告)", + "type" : 1, + "api" : "http://7.qqqtv.top/api.php/provide/vod/", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "categories" : ["推荐", "电影", "电视劇", "综艺", "动漫"] + }, + { + "key" : "vod_虎牙", + "name" : "🧲|虎牙|高清(浮水印廣告)", + "type" : 1, + "api" : "https://www.huyaapi.com/api.php/provide/vod/at/", + "searchable": 1, + "changeable": 1 + }, + { + "key" : "vod_魔都", + "name" : "🧲|魔都|高清(浮水印廣告+成人動畫)", + "type" : 1, + "api" : "https://www.moduzy.com/api.php/provide/vod/?ac=list", + "searchable" : 1, + "changeable" : 1, + "quickSearch": 1, + "filterable" : 1 + }, + { + "key" : "非凡采集资源", + "name" : "🧲|非凡|高清◎速播(賭城廣告+成人)", + "type" : 1, + "api" : "http://api.ffzyapi.com/api.php/provide/vod/", + "playerType": 1, + "searchable": 1, + "changeable": 1 + }, + { + "key" : "量子采集资源", + "name" : "🧲|量子|高清(賭城廣告+成人)", + "type" : 1, + "api" : "https://cj.lziapi.com/api.php/provide/vod/at/json/", + "playerType": 1, + "searchable": 1, + "changeable": 1 + }, + { + "key" : "无忧采集资源", + "name" : "🧲|无忧|高清(賭城廣告+成人)", + "type" : 1, + "api" : "https://www.wyvod.com/api.php/provide/vod/", + "playerType": 1, + "searchable": 1, + "changeable": 1 + }, + { + "key" : "如意采集资源", + "name" : "🧲|如意|高清(賭城廣告+成人)", + "type" : 1, + "api" : "https://cj.rycjapi.com/api.php/provide/vod/at/json/", + "playerType": 1, + "searchable": 1, + "changeable": 1 + }, + { + "key" : "魔抓采集资源", + "name" : "🧲|魔抓|高清◎慢播(賭城廣告)", + "type" : 1, + "api" : "https://mozhuazy.com/api.php/provide/vod/", + "playerType": 1, + "searchable": 1, + "changeable": 1 + }, + { + "key" : "vod_艾旦", + "name" : "🧲|艾旦|高清(浮水印廣告+圖壞)", + "type" : 1, + "api" : "https://lovedan.net/api.php/provide/vod/", + "jar" : "./jar/xyqxbpq.jar;md5;fd3cefc7302f3a39a442682f802b11e5", + "searchable" : 1, + "quickSearch": 1, + "categories" : [ + "动作片", "喜劇片", "爱情片", "科幻片", "恐怖片", "犯罪片", "战争片", "劇情片", "动画电影", + "国产劇", "港台劇", "日韩劇", "欧美劇", "海外劇", "网红主播", "日韩综艺", "港台综艺", "欧美综艺", + "大陆综艺", "国产动漫", "日韩动漫", "欧美动漫", "海外动漫", "海外抖音", "影视解说", "直播" + ] + }, + { + "key" : "vod_索尼", + "name" : "🧲|索尼|高清(浮水印廣告)", + "type" : 1, + "api" : "https://suoniapi.com/api.php/provide/vod/?ac=list", + "searchable" : 1, + "changeable" : 1, + "quickSearch": 1, + "filterable" : 1, + "categories" : [ + "动作片", "喜劇片", "爱情片", "科幻片", "恐怖片", "劇情片", "战争片", "悬疑片", "犯罪片", + "冒险片", "动画片", "惊悚片", "奇幻片", "国产劇", "欧美劇", "韩劇", "日劇", "港劇", + "台劇", "泰劇", "大陆综艺", "日韩综艺", "港台综艺", "欧美综艺", "国产动漫", "日韩动漫", "欧美动漫", + "动画片", "港台动漫", "海外动漫" + ] + }, + { + "key" : "vod_無盡", + "name" : "🧲|無盡|高清(浮水印廣告)", + "type" : 1, + "api" : "https://api.wujinapi.me/api.php/provide/vod/?ac=list", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "categories" : [ + "动作片", "动画片", "喜劇片", "爱情片", "科幻片", "恐怖片", "劇情片", "战争片", "悬疑片", + "犯罪片", "奇幻片", "邵氏电影", "纪录片", "短劇", "国产劇", "香港劇", "台湾劇", "日本劇", + "韩国劇", "美国劇", "泰劇", "海外劇", "大陆综艺", "港台综艺", "日韩综艺", "欧美综艺", "国产动漫", + "日韩动漫", "欧美动漫", "影视解说", "体育赛事" + ] + }, + { + "key" : "vod_优酷", + "name" : "🧲|優酷|高清(浮水印廣告)", + "type" : 1, + "api" : "https://api.ukuapi.com/api.php/provide/vod/", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1 + }, + { + "key" : "vod_順播", + "name" : "🧲|順播|高清(浮水印廣告)", + "type" : 1, + "api" : "https://subocaiji.com/api.php/provide/vod/", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1 + }, + { + "key" : "vod_红牛", + "name" : "🧲|红牛|高清(浮水印廣告)", + "type" : 1, + "api" : "https://www.hongniuzy2.com/api.php/provide/vod/", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1 + }, + { + "key": "drpyS_枫林影视", + "name": "🧲|楓林|高清(浮水印廣告)", + "type": 4, + "api": "http://192.129.140.23:5757/api/枫林影视?pwd=dzyyds", + "searchable": 1, + "quickSearch": 1, + "changeable": 1 + }, + { + "key": "vod_光速", + "name": "🧲|光速|高清◎慢播(浮水印廣告)", + "type": 1, + "api": "https://api.guangsuapi.com/api.php/provide/vod/from/gsm3u8/?ac=list", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "categories": [ + "动作片", "爱情片", "科幻片", "战争片", "劇情片", "恐怖片", "喜劇片", "大陆劇", "港澳劇", + "台湾劇", "欧美劇", "动漫电影", "韩劇", "日劇", "泰劇" + ] + }, + { + "key" : "如意", + "name" : "🧲|如意|高清(各種廣告)", + "type" : 1, + "api" : "https://cj.rycjapi.com/api.php/provide/vod", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1, + "filterable" : 1, + "timeout" : 10, + "categories" : [ + "国产剧", "香港剧", "韩国剧", "欧美剧", "记录片", "台湾剧", "日本剧", "海外剧", "泰国剧", + "动作片", "喜剧片", "爱情片", "科幻片", "恐怖片", "剧情片", "战争片", "大陆综艺", "港台综艺", + "日韩综艺", "欧美综艺", "国产动漫", "日韩动漫", "欧美动漫", "港台动漫", "海外动漫", "体育", "足球", + "篮球", "网球", "斯诺克", "预告片", "短剧", "动画电影" + ] + }, + { + "key" : "py_西瓜卡通", + "name" : "🎡|西瓜", + "type" : 3, + "api" : "./py/西瓜卡通.py", + "searchable": 1, + "filterable": 0, + "changeable": 0 + }, + { + "name" : "🎡|番薯", + "key" : "FanShu", + "type" : 3, + "api" : "csp_FanShuAmns", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 0 + }, + { + "key" : "Dm84", + "name" : "🎡|巴士", + "type" : 3, + "api" : "csp_Dm84Guard", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "timeout" : 10, + "searchable" : 1, + "quickSearch": 1, + "changeable" : 1 + }, + { + "key": "AowuDmAw", + "name": "🎡|嗷嗚", + "type": 3, + "api": "csp_AowuDmAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "ext": "563357143fce50cabe524135fd3fb26e4af09034942cb186addd2322edf17ab6c9b78627645980399087f30260707c8613b0ad40dab539ddb35d7ac9f78fcf015b7e10bc9ca2f37e127890269cdd3efdfa6ce6789494fdc5352c9e544f3b048a43885af6fb083f8545f6bfa3d33291ea4210bb397b004f1b5c2660408febda99840eec91efa7142878bb1e553ad0872a0851f903d7748b0bdee1ad7975b8f4c4838fda079f1bdebb0ab77f51da3dfa8eb30ca3c0bf56e584abfd70e025a03aeff2bca60aa9075588a4953a1b7fef021b" + }, + { + "key": "AowuDmFc", + "name": "🎡|番茶", + "type": 3, + "api": "csp_AowuDmAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "ext": "a2a157143fce50cabe524135fd3fb26e4af09034942cb186addd2360d64a7fb5c9b7ddaede42dd983c638ddd5064f276cfa6afb8c43429de354b19c59f234352d43c095b60cf88bba8346f1b792fdc917ed229f084939e631faf8eed7cc1d53bdfd143be9e1c38ef8228663806c2e74f046ea6dae90f06581eafc6b6a4ee34ae6ac583ae5beb6bc49e710536a49f66feb74afc1950841752c37975c85f1b60cc0408b4f3b4c80e2b187fe843378e7ebfbfcd128e48a2195bfc5d1104cfc58ed98ccf5c17428aafdce4d3b14ada75f28c5c2f8856" + }, + { + "key": "AowuDmMw", + "name": "🎡|喵物", + "type": 3, + "api": "csp_AowuDmAmns", + "jar": "./jar/aowu-0713.jar;md5;dd6fbafde59756e7f5043a20c74b1961", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "ext": "db8b57143fce50cabe524135fd3fb26e4af09034942cb186addd2322edf17ab6c9b7862764598039301c43cf706efcd55499494d72c680001c30550747b3dc5994760e3d6e17208e5ed771b2b4162f65e72b3e530fdd9622474e1c5f8aecda41dcd17901c7ddc61193a63fd8aaa1a96dc8673f93a8116755fd04bb1baaa93215334aaa1327972f2dd7292eb3d593e60cad0b9a3dde2a1158640cfc93dac5af45ddd8f971e3be0ccb5c776752b9b92a7f67dc89375d7ad442bddb0c661554a03c420029010a932d2dd8e65d6dc5" + }, + { + "key": "MiFun", + "name": "🎡|MiFun", + "type": 3, + "api": "./py/MiFun动漫.py" + }, + { + "key" : "py_方舟_APP", + "name" : "🎡|方舟", + "type" : 3, + "api" : "./py/app/getapp.py", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : { + "host" : "https://www.cyfz.vip", + "api" : "/api.php/getappapi", + "datakey": "e72cdfd629e8895d", + "dataiv" : "e72cdfd629e8895d" + } + }, + { + "key" : "py_元咲_APP", + "name" : "🎡|元纓", + "type" : 3, + "api" : "./py/app/getapp.py", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : { + "host" : "http://cic.aicg.fun", + "api" : "/api.php/getappapi", + "datakey": "2c4h36abd96se10u", + "dataiv" : "2c4h36abd96se10u" + } + }, + { + "key" : "py_曼波_APP", + "name" : "🎡|曼波", + "type" : 3, + "api" : "./py/app/getapp.py", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : { + "host" : "https://app.omofun1.top", + "api" : "/api.php/getappapi", + "datakey": "66dc309cbeeca454", + "dataiv" : "66dc309cbeeca454" + } + }, + { + "key" : "py_咕咕_APP", + "name" : "🎡|咕咕", + "type" : 3, + "api" : "./py/app/getapp.py", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : { + "host" : "https://www.gugu3.com", + "api" : "/api.php/getappapi", + "datakey": "nKfZ8KX6JTNWRzTD", + "dataiv" : "nKfZ8KX6JTNWRzTD" + } + }, + { + "key" : "csp_動漫巴士", + "name" : "🎡|動漫巴士", + "type" : 3, + "api" : "csp_XYQHiker", + "jar" : "./jar/xyqxbpq.jar;md5;fd3cefc7302f3a39a442682f802b11e5", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : "./json/動漫巴士.json" + }, + { + "key" : "巴士动漫", + "name": "🎡|巴士动漫", + "type": 3, + "api" : "csp_XYQHiker", + "jar" : "./jar/xyqxbpq.jar;md5;fd3cefc7302f3a39a442682f802b11e5", + "ext" : "./json/巴士动漫.json" + }, + { + "key" : "csp_天天動漫", + "name" : "🎡|天天動漫", + "type" : 3, + "api" : "csp_XBPQ", + "jar" : "./jar/xyqxbpq.jar;md5;fd3cefc7302f3a39a442682f802b11e5", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : { + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "线路二次截取": "class=\"module-tab-items-box&&lass=\"swiper[替换:>>]", + "线路数组": "class=\"module-tab-item tab-item&&", + "线路标题": "&&", + "跳转播放链接": "var player_*\"url\":\"&&\"", + "主页url": "https://www.ttdm.me/vod-type/1/", + "分类url": "https://www.ttdm.me/vod-show/{cateId}--{by}-{class}-----{catePg}---/", + "分类": " 中国动漫$1#日本动漫$2#欧美动漫$3#其他动漫$4#动画电影$5", + "劇情": "玄幻&科幻&武侠&冒险&战斗&搞笑&恋爱&魔幻&竞技&热血&治愈&励志&机战&奇幻&悬疑&日常&校园&真人&推理&历史&经典&美食&偶像" + } + }, + { + "key" : "csp_桵空", + "name" : "🎡|桵空动漫", + "type" : 3, + "api" : "csp_XBPQ", + "jar" : "./jar/xyqxbpq.jar;md5;fd3cefc7302f3a39a442682f802b11e5", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : { + "分类url": "https://www.maigo.cc/vodshow/{cateId}---{class}-----{catePg}---{year}/", + "分类": "电影$84#综艺$91#大陆劇$81#港台劇$82#海外劇$83#纪录片$88#动漫$1#日劇$32#日漫$46#国漫$47#美漫$85" + } + }, + { + "key" : "櫻花動漫2", + "name" : "🎡|櫻花动漫", + "type" : 3, + "api" : "csp_XBPQ", + "jar" : "./jar/xyqxbpq.jar;md5;fd3cefc7302f3a39a442682f802b11e5", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : { + "分类url": "https://www.857kan.com/show/{cateId}--------{catePg}---{year}.html", + "分类": "動漫電影$4#日本動漫$1#大陸動漫$3#歐美動漫$6" + } + }, + { + "key" : "魔都", + "name" : "🎡|魔都动漫", + "type" : 0, + "api" : "https://caiji.moduapi.cc/api.php/provide/vod/at/xml/", + "searchable": 1, + "changeable": 1, + "categories": ["国产动漫", "日韩动漫", "欧美动漫", "港台动漫", "动漫电影", "里番动漫"] + }, + { + "key" : "魔都资源", + "name" : "🎡|魔資动漫", + "type" : 1, + "api" : "https://caiji.moduapi.cc/api.php/provide/vod", + "jar" : "./jar/panda1123.jar;md5;d9004aa2e16f60b04baed361713fb710", + "searchable": 1, + "changeable": 1 + }, + { + "key" : "csp_AG動漫", + "name" : "🎡|AG動漫", + "type" : 3, + "api" : "csp_XBPQ", + "jar" : "./jar/xyqxbpq.jar;md5;fd3cefc7302f3a39a442682f802b11e5", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : { + "分类url": "https://agdm.tv/show/{cateId}/area/{area}/by/{by}/page/{catePg}/year/{year}.html", + "分类": "日本动漫$6#国产动漫$7#欧美动漫$8#海外动漫$21#劇场版$9", + "地区": "日本&大陆&美国" + } + }, + { + "key" : "drpy_js_去看吧", + "name" : "🎡|去看动漫", + "type" : 3, + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "api" : "./drpy_libs/drpy2.min.js", + "ext" : "./drpy_js/去看吧.js" + }, + { + "key" : "好看动漫", + "name" : "🎡|好看动漫", + "type" : 3, + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "api" : "./drpy_libs/drpy2.min.js", + "ext" : "./drpy_js/HKDM.js" + }, + { + "key" : "drpy_js_爱弹幕", + "name" : "🎡|爱动漫", + "type" : 3, + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "api" : "./drpy_libs/drpy2.min.js", + "ext" : "./drpy_js/爱弹幕.js" + }, + { + "key" : "hipy_js_七色番[漫]", + "name" : "🎡|七色番动漫", + "type" : 3, + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "api" : "./drpy_libs/drpy2.min.js", + "ext" : "./drpy_js/七色番[漫].js" + }, + { + "key" : "hipy_js_爱弹幕[漫]", + "name" : "🎡|爱动漫", + "type" : 3, + "api" : "./drpy_libs/drpy2.min.js", + "searchable" : 1, + "quickSearch": 1, + "filterable" : 1, + "ext" : "./drpy_js/爱弹幕[漫].js" + }, + { + "key" : "异世界", + "name" : "🎡|异世界动漫", + "type" : 3, + "api" : "./drpy_libs/drpy2.min.js", + "searchable" : 1, + "quickSearch": 1, + "ext" : "./drpy_js/异世界.js" + }, + { + "key": "虎牙", + "name": "📡|虎牙|Live", + "type": 3, + "api": "http://itv666.cc/星河传媒/py/网络直播.py", + "searchable": 1, + "changeable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "瓜子体育", + "name": "⚽|瓜子|體育", + "type": 3, + "api": "csp_GuaziTY", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "style": { + "type": "list" + } + }, + { + "key": "咖啡", + "name": "⚽|咖啡|體育", + "type": 3, + "api": "http://itv666.cc/星河传媒/py/kafei2.py", + "searchable": 1, + "changeable": 1, + "quickSearch": 1, + "filterable": 1, + "style": { + "type": "list" + } + }, + { + "key": "88看球", + "name": "⚽|88|體育", + "type": 4, + "api": "http://itv666.cc/吼吼吼吼吼/bbkq.php", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "gridview": 3, + "style": { + "type": "list" + } + }, + { + "key": "TingShijie", + "name": "🎧|聽世界|有声(魚)", + "type": 3, + "api": "csp_TingShijie", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "searchable": 1, + "indexs": 0, + "style": { + "type": "list" + } + }, + { + "key": "TingYou", + "name": "🎧|听友|有声(魚)", + "type": 3, + "api": "csp_TingYou", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "searchable": 1, + "indexs": 0, + "style": { + "type": "list" + } + }, + { + "key" : "drpyS_听友[听]", + "name" : "🎧|听友|有聲(道長)", + "type" : 4, + "api" : "http://149.118.133.251:5757/api/听友[听]", + "searchable" : 2, + "filterable" : 1, + "quickSearch": 1, + "title" : "听友[听]", + "类型" : "听书", + "lang" : "ds", + "ext" : "" + }, + { + "key": "TingBook", + "name": "📻|六月|有声(魚)", + "type": 3, + "api": "csp_TingBook", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "searchable": 1, + "indexs": 0, + "ext": "https://app.365ting.com", + "style": { + "type": "list" + } + }, + { + "key": "TingBookJinXia", + "name": "📻|堇夏|有声(魚)", + "type": 3, + "api": "csp_TingBookJinXia", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "searchable": 1, + "filterable": 1, + "indexs": 0, + "ext": "https://m.ting15.com", + "style": { + "type": "list" + } + }, + { + "key": "Buguyy", + "name": "🎧|布谷|音乐", + "type": 3, + "api": "csp_Buguyy", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "searchable": 1, + "filterable": 1, + "changeable": 1 + }, + { + "key": "ChuXin", + "name": "🎧|初心|音乐", + "type": 3, + "api": "csp_ChuXin", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "searchable": 1, + "quickSearch": 1, + "filterable": 0 + }, + { + "key": "aiting", + "name": "🎧|爱听|音乐", + "type": 3, + "api": "csp_AiTingMusic", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "searchable": 1, + "quickSearch": 1, + "filterable": 0 + }, + { + "key": "Music24bit", + "name": "🎧|无损|音乐", + "type": 3, + "api": "csp_Music24bit", + "jar": "./jar/fish07100101.jar;md5;2842ac71d2d05492ed808c4ac9faa533", + "searchable": 1, + "changeable": 1 + }, + { + "key" : "KuGou-1", + "name" : "🎧|酷狗音樂", + "type" : 3, + "api" : "csp_KuGouAmns", + "jar": "./jar/river-fman.jar;md5;ca48f92eac069c85a17e4ccf381d5f0a", + "searchable" : 1, + "quickSearch": 1, + "changeable" : 0, + "genre" : "music" + }, + { + "key" : "网易云音乐", + "name": "🎧|網易雲1", + "type": 3, + "api" : "https://xn--fjq53n.xyz/Ting/yinyue/网易云音乐.py" + }, + { + "key" : "网易云音乐1", + "name": "🎧|網易雲2", + "type": 3, + "api" : "https://xn--fjq53n.xyz/Ting/yinyue/网易云音乐1.py" + } + ], + "parses": [ + {"name": "聚合1", "type": 3, "url": "Demo"}, + {"name": "聚合0", "type": 3, "url": "Web"}, + {"name": "ikun", "type": 0, "url": "https://jx.hls.one/?url="}, + { + "name": "A6", + "type": 0, + "url" : "https://pl.a6club.com/player/analysis.php?v=" + }, + { + "name": "虾米", + "type": 0, + "url" : "https://jx.xmflv.com/?url=", + "ext" : { + "header": { + "user-agent": "Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36" + } + } + }, + { + "name": "云解", + "type": 0, + "url" : "https://yparse.ik9.cc/index.php?url=", + "ext" : { + "header": { + "user-agent": "Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36" + } + } + }, + { + "name": "咸鱼", + "type": 0, + "url" : "https://jx.xymp4.cc/?url=", + "ext" : { + "header": { + "user-agent": "Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36" + } + } + }, + { + "name": "淘片", + "type": 0, + "url" : "https://jx.yparse.com/index.php?url=", + "ext" : { + "header": { + "user-agent": "Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36" + } + } + }, + { + "name": "冰豆", + "type": 0, + "url" : "https://bd.jx.cn/?url=", + "ext" : { + "header": { + "user-agent": "Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36" + } + } + }, + { + "name": "七七", + "type": 0, + "url" : "https://jx.77flv.cc/?url=", + "ext" : { + "header": { + "user-agent": "Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36" + } + } + }, + { + "name": "盘古", + "type": 0, + "url" : "https://www.playm3u8.cn/jiexi.php?url=", + "ext" : { + "header": { + "user-agent": "Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36" + } + } + }, + { + "name": "夜幕", + "type": 0, + "url" : "https://yemu.xyz/?url=", + "ext" : { + "header": { + "user-agent": "Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36" + } + } + }, + {"name": "8090", "type": 0, "url": "https://www.8090g.cn/?url="}, + {"name": "M3u8TV", "type": 0, "url": "https://jx.m3u8.tv/jiexi/?url="}, + {"name": "CK", "type": 0, "url": "https://www.ckplayer.vip/jiexi/?url="}, + {"name": "XY", "type": 0, "url": "https://jx.xymp4.cc/?url="}, + { + "name": "推荐", + "type": 1, + "url" : "https://zy.qiaoji8.com/gouzi.php?url=94b07e0b2c0e8244&url=" + }, + { + "name": "臻享", + "type": 1, + "url" : "https://150.138.78.37:4399/api?key=94b07e0b2c0e8244&url=" + }, + { + "name": "优选", + "type": 1, + "url" : "http://1.94.221.189:88/algorithm.php?url=" + } + ], + "doh": [ + { + "name": "Google", + "url" : "https://dns.google/dns-query", + "ips" : ["8.8.4.4", "8.8.8.8"] + }, + { + "name": "Cloudflare", + "url" : "https://cloudflare-dns.com/dns-query", + "ips" : [ + "1.1.1.1", "1.0.0.1", "2606:4700:4700::1111", + "2606:4700:4700::1001" + ] + }, + { + "name": "AdGuard", + "url" : "https://dns.adguard.com/dns-query", + "ips" : ["94.140.14.140", "94.140.14.141"] + }, + { + "name": "DNSWatch", + "url" : "https://resolver2.dns.watch/dns-query", + "ips" : ["84.200.69.80", "84.200.70.40"] + }, + { + "name": "Quad9", + "url" : "https://dns.quad9.net/dns-quer", + "ips" : ["9.9.9.9", "149.112.112.112"] + } + ], + "ads": ["mozai.4gtv.tv"], + "ijk": [ + { + "group" : "软解码", + "options": [ + {"category": 4, "name": "opensles", "value": "0"}, + {"category": 4, "name": "overlay-format", "value": "842225234"}, + {"category": 4, "name": "framedrop", "value": "1"}, + {"category": 4, "name": "soundtouch", "value": "1"}, + {"category": 4, "name": "start-on-prepared", "value": "1"}, + {"category": 1, "name": "http-detect-range-support", "value": "0"}, + {"category": 1, "name": "fflags", "value": "fastseek"}, + {"category": 2, "name": "skip_loop_filter", "value": "48"}, + {"category": 4, "name": "reconnect", "value": "1"}, + {"category": 4, "name": "enable-accurate-seek", "value": "0"}, + {"category": 4, "name": "mediacodec", "value": "0"}, + {"category": 4, "name": "mediacodec-auto-rotate", "value": "0"}, + { + "category": 4, + "name" : "mediacodec-handle-resolution-change", + "value" : "0" + }, + {"category": 4, "name": "mediacodec-hevc", "value": "0"}, + {"category": 1, "name": "dns_cache_timeout", "value": "600000000"} + ] + }, + { + "group" : "硬解码", + "options": [ + {"category": 4, "name": "opensles", "value": "0"}, + {"category": 4, "name": "overlay-format", "value": "842225234"}, + {"category": 4, "name": "framedrop", "value": "1"}, + {"category": 4, "name": "soundtouch", "value": "1"}, + {"category": 4, "name": "start-on-prepared", "value": "1"}, + {"category": 1, "name": "http-detect-range-support", "value": "0"}, + {"category": 1, "name": "fflags", "value": "fastseek"}, + {"category": 2, "name": "skip_loop_filter", "value": "48"}, + {"category": 4, "name": "reconnect", "value": "1"}, + {"category": 4, "name": "enable-accurate-seek", "value": "0"}, + {"category": 4, "name": "mediacodec", "value": "1"}, + {"category": 4, "name": "mediacodec-auto-rotate", "value": "1"}, + { + "category": 4, + "name" : "mediacodec-handle-resolution-change", + "value" : "1" + }, + {"category": 4, "name": "mediacodec-hevc", "value": "1"}, + {"category": 1, "name": "dns_cache_timeout", "value": "600000000"} + ] + } + ], + "proxy": [ + "raw.githubusercontent.com", + "googlevideo.com", + "cdn.v82u1l.com", + "cdn.iz8qkg.com", + "cdn.kin6c1.com", + "c.biggggg.com", + "c.olddddd.com", + "haiwaikan.com", + "www.histar.tv", + "youtube.com", + "uhibo.com", + ".*boku.*", + ".*nivod.*", + ".*ulivetv.*", + "iill.top" + ], + "rules": [ + { "name": "cl", "hosts": ["magnet"], "regex": ["最 新", "直 播", "更 新"] }, + { "name": "火山嗅探", "hosts": ["huoshan.com"], "regex": ["item_id="] }, + { "name": "抖音嗅探", "hosts": ["douyin.com"], "regex": ["is_play_url="] }, + { "name": "农民嗅探", "hosts": ["toutiaovod.com"], "regex": ["video/tos/cn"] }, + { "name": "七新嗅探", "hosts": ["api.52wyb.com"], "regex": ["m3u8?pt=m3u8"] }, + { + "name" : "夜市", + "hosts" : ["yeslivetv.com"], + "script": [ + "document.getElementsByClassName('vjs-big-play-button')[0].click()" + ] + }, + { + "name" : "毛驴", + "hosts" : ["www.maolvys.com"], + "script": [ + "document.getElementsByClassName('swal-button swal-button--confirm')[0].click()" + ] + }, + { + "name" : "czzy", + "hosts": ["10086.cn"], + "regex": ["/storageWeb/servlet/downloadServlet"] + }, + { + "name" : "bdys", + "hosts" : [ + "bytetos.com", "byteimg.com", "bytednsdoc.com", "pstatp.com" + ], + "regex" : ["/tos-cn"], + "exclude": [".m3u8"] + }, + { + "name" : "bdys10", + "hosts" : ["bdys10.com"], + "regex" : ["/obj/"], + "exclude": [".m3u8"] + } + ] +} diff --git a/tbapi1/PG/api.json b/tbapi1/PG/api.json index f54a94d6..0badbc8f 100644 --- a/tbapi1/PG/api.json +++ b/tbapi1/PG/api.json @@ -41,6 +41,29 @@ "ratio": 1.5 } }, + { + "key":"Youtube", + "name":"Youtube", + "type":3, + "api": "csp_Youtube", + "searchable": 1, + "quickSearch": 0, + "changeable": 0, + "timeout":120, + "ext":{ + "token":"./lib/tokenm.json", + "json":"./lib/youtube.json", + "type":"直播#新闻#剧集#电影#综艺#纪录片#音乐#体育#动物#风光#放松#4K#HDR#movie#music#documentary#bbc documentary#national geographic documentary", + "keywords":"排行榜,HOT,TRENDS,热门话题,热门趋势,热门综艺,热门电影,热门电视剧,小姐姐", + "codecs":"", + "proxy":"proxy", + "danmu":true + }, + "style": { + "type": "rect", + "ratio": 1.77 + } + }, {"key":"Local","name":"本地","type":3,"api":"csp_Local"}, { "key": "FirstAid", @@ -102,50 +125,54 @@ "ratio": 1.77 } }, + {"key":"zmi","name":"蜗牛|网盘","type":3,"api":"csp_Zmi","searchable":1,"quickSearch":1,"filterable":1,"timeout":60, "ext":"./lib/tokenm.json$$$https://zmi.kdns.fr/$$$noproxy$$$1$$$$$$WONIU"}, + {"key":"Mogg","name":"木偶哥哥|网盘","type":3,"api":"csp_Mogg","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$http://123.666291.xyz/$$$noproxy$$$1$$$./lib/wogg.json$$$MOGG"}, + {"key":"PanSouGo","name":"PanSouGo|网盘","type":3,"api":"csp_PanSouGo","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext": + { + "key": "PanSouGo", + "name": "PanSou", + "type": 3, + "api": "csp_PanSouGo", + "searchable": 1, + "changeable": 0, + "ext": { + "token": "./lib/tokenm.json", + "siteurl": "", + "proxy": "noproxy", + "danmu": "0", + "plugins": "all", + "panlist": "all", + "filters": { + "include": [], + "exclude": ["广告", "预告"] + } + } + } + }, { - "key": "光鸭社区", - "name": "光鸭社区", - "type": 3, - "api": "csp_GuangYaShequ", - "searchable": 1, - "quickSearch": 1, - "filterable": 0, - "ext": { - "page_size": 40, - "tmdb_key": "2894d9a1baf7812b451de03c801b0281", - "tmdb_api": "https://api.tmdb.org", - "tmdb_img": "https://images.tmdb.org/t/p", - "cache_file": "/storage/emulated/0/TV/gy_tmdb_pic_cache.json" - } - }, - { - "key": "PanSouGo", - "name": "PanSou", - "type": 3, - "api": "csp_PanSouGo", - "searchable": 1, - "changeable": 0, - "ext": { - "token":"./lib/tokenm.json", - "siteurl": "http://apihost1:8001|http://apihost2:8001", - "proxy": "noproxy", - "danmu": "0", - "plugins": "all", - "panlist": "all", - "filters": { - "include": ["1080p", "4K"], - "exclude": ["广告", "预告"] - } - } - }, - {"key":"Guanying","name":"观影|网盘|磁力","type":3,"api":"csp_Guanying","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://www.xn--74qz10cqsltibh40akss.com/$$$proxy$$$1$$$./lib/guanying.txt$$$GUANYING"}, - {"key":"FourKZN","name":"4K指南|网盘|磁力","type":3,"api":"csp_FourKZN","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://4kzn.com/$$$noproxy$$$1$$$./lib/4kzn.txt$$$4KZN"}, - {"key":"FourKFox","name":"4KFox|网盘|磁力","type":3,"api":"csp_FourKFox","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$http://4kfox.com/$$$noproxy$$$1$$$./lib/4kfox.txt$$$4KFOX"}, - {"key":"FourKFM","name":"4K影库|网盘|磁力","type":3,"api":"csp_FourKFM","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$http://4kfm.com/$$$noproxy$$$1$$$./lib/4kfm.txt$$$4KFM"}, + "key": "光鸭社区", + "name": "光鸭社区", + "type": 3, + "api": "csp_GuangYaShequ", + "searchable": 1, + "quickSearch": 1, + "filterable": 0, + "ext": { + "token":"./lib/tokenm.json", + "page_size": 40, + "tmdb_key": "2894d9a1baf7812b451de03c801b0281", + "tmdb_api": "https://api.tmdb.org", + "tmdb_img": "https://images.tmdb.org/t/p", + "cache_file": "/storage/emulated/0/TV/gy_tmdb_pic_cache.json" + } + }, + {"key":"HuamuCangShare","name":"花木藏|网盘","type":3,"api":"csp_HuamuCangShare","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/token.json$$$https://share.huamucang.top/$$$noproxy$$$1$$$./lib/huamucang.txt$$$HUAMUCANG$$$USER$$$PASS"}, + {"key":"Hema4k","name":"盒马|网盘|磁力","type":3,"api":"csp_Hema4k","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://www.hema4k.com/$$$proxy$$$1$$$./lib/hema4k.txt$$$HEMA4K"}, + {"key":"Guanying","name":"观影|网盘|磁力","type":3,"api":"csp_Guanying","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://www.xn--74qz10cqsltibh40akss.com/$$$noproxy$$$1$$$./lib/guanying.txt$$$GUANYING$$$username$$$password"}, + {"key":"FourKZN","name":"4K指南|网盘|磁力","type":3,"api":"csp_FourKZN","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://4kzn.cc/$$$noproxy$$$1$$$./lib/4kzn.txt$$$4KZN"}, {"key":"校长影视","name":"校长影视|网盘","type":3,"api":"csp_XiaoZhang", "quickSearch":1, "changeable":1, "filterable":1, "timeout":60,"ext":"./lib/tokenm.json$$$https://xzyshd.com$$$proxy$$$1"}, {"key":"Wogg","name":"玩偶哥哥|网盘","type":3,"api":"csp_Wogg","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$http://wogg.888484.xyz/$$$noproxy$$$1$$$./lib/wogg.json$$$WOGG"}, - {"key":"yydsys","name":"玩你老哥|网盘","type":3,"api":"csp_Wobg","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://tv.yydsys.top/$$$proxy$$$1$$$./lib/wogg.json$$$WNLG"}, - {"key":"Mogg","name":"木偶哥哥|网盘","type":3,"api":"csp_Wobg","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$http://123.666291.xyz/$$$noproxy$$$1$$$./lib/wogg.json$$$MOGG"}, + {"key":"蜡笔网盘","name":"蜡笔|网盘","type":3,"api":"csp_Wobg","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://xiaocgege.shop/$$$noproxy$$$1$$$./lib/wogg.json$$$LABI"}, { "key": "至臻|网盘", "name": "至臻|网盘", @@ -157,22 +184,9 @@ "timeout": 60, "ext": "./lib/tokenm.json$$$https://mihdr.top/$$$noproxy$$$1$$$./lib/wogg.json$$$ZHIZHEN" }, - {"key":"Hmxz","name":"海绵|网盘","type":3,"api":"csp_Hmxz","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://haimian.eu.org/$$$noproxy$$$1$$$./lib/hmxz.txt$$$HMXZ", - "style": { - "type": "list", - "ratio": 1.1 - } - }, - {"key":"Leijing","name":"雷鲸|网盘","type":3,"api":"csp_Panta","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://leijing.xyz/$$$noproxy$$$1$$$./lib/leijing.txt$$$LEIJING", - "style": { - "type": "list", - "ratio": 1.1 - } - }, {"key":"LIBVIO","name":"LIBVIO|网盘","type":3,"api":"csp_Libvio","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$http://www.libvio.mov/$$$noproxy$$$1"}, {"key":"Guazi","name":"瓜子|App","type":3,"api":"csp_Guazi","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":""}, {"key":"Moli","name":"HDmoli|网盘","type":3,"api":"csp_Moli","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://www.hdmoli.pro/$$$proxy$$$1$$$./lib/moli.json"}, - {"key":"ddys","name":"低端影视|网盘","type":3,"api":"csp_Ddys","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://ddys.pro/$$$proxy$$$1$$$"}, {"key":"美剧迷","name":"美剧迷|网盘","type":3,"api":"csp_Meijumi", "quickSearch":1, "changeable":1, "filterable":1, "timeout":120,"ext":"./lib/tokenm.json$$$https://www.meijumi.net/$$$proxy$$$1"}, {"key":"WebDAV","name":"WebDAV[jar]","type":3,"api":"csp_WebDAV","searchable":1,"filterable":1,"changeable":1,"timeout":60, "playerType": 2, @@ -535,7 +549,7 @@ "name": "FeiYang牧场", "type": 0, "url": "http://sub.ottiptv.cc/iptv.m3u", - "ua": "okHttp/Mod-1.4.0.0", + "ua": "okHttp/Mod-1.3.0.0", "epg": "http://127.0.0.1:10079/p/0/proxy/http://epg.112114.xyz/?ch={name}&date=DATE1SUB", "logo": "http://127.0.0.1:10079/p/0/proxy/https://epg.112114.xyz/logo/{name}.png", "catchup": { diff --git a/tbapi1/PG/jsm.json b/tbapi1/PG/jsm.json index d6de10fb..7d0d3b7d 100644 --- a/tbapi1/PG/jsm.json +++ b/tbapi1/PG/jsm.json @@ -41,6 +41,29 @@ "ratio": 1.5 } }, + { + "key":"Youtube", + "name":"Youtube", + "type":3, + "api": "csp_Youtube", + "searchable": 1, + "quickSearch": 0, + "changeable": 0, + "timeout":120, + "ext":{ + "token":"./lib/tokenm.json", + "json":"./lib/youtube.json", + "type":"直播#新闻#剧集#电影#综艺#纪录片#音乐#体育#动物#风光#放松#4K#HDR#movie#music#documentary#bbc documentary#national geographic documentary", + "keywords":"排行榜,HOT,TRENDS,热门话题,热门趋势,热门综艺,热门电影,热门电视剧,小姐姐", + "codecs":"", + "proxy":"proxy", + "danmu":true + }, + "style": { + "type": "rect", + "ratio": 1.77 + } + }, {"key":"Local","name":"本地","type":3,"api":"csp_Local"}, { "key": "FirstAid", @@ -102,50 +125,54 @@ "ratio": 1.77 } }, + {"key":"zmi","name":"蜗牛|网盘","type":3,"api":"csp_Zmi","searchable":1,"quickSearch":1,"filterable":1,"timeout":60, "ext":"./lib/tokenm.json$$$https://zmi.kdns.fr/$$$noproxy$$$1$$$$$$WONIU"}, + {"key":"Mogg","name":"木偶哥哥|网盘","type":3,"api":"csp_Mogg","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$http://123.666291.xyz/$$$noproxy$$$1$$$./lib/wogg.json$$$MOGG"}, + {"key":"PanSouGo","name":"PanSouGo|网盘","type":3,"api":"csp_PanSouGo","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext": + { + "key": "PanSouGo", + "name": "PanSou", + "type": 3, + "api": "csp_PanSouGo", + "searchable": 1, + "changeable": 0, + "ext": { + "token": "./lib/tokenm.json", + "siteurl": "", + "proxy": "noproxy", + "danmu": "0", + "plugins": "all", + "panlist": "all", + "filters": { + "include": [], + "exclude": ["广告", "预告"] + } + } + } + }, { - "key": "光鸭社区", - "name": "光鸭社区", - "type": 3, - "api": "csp_GuangYaShequ", - "searchable": 1, - "quickSearch": 1, - "filterable": 0, - "ext": { - "page_size": 40, - "tmdb_key": "2894d9a1baf7812b451de03c801b0281", - "tmdb_api": "https://api.tmdb.org", - "tmdb_img": "https://images.tmdb.org/t/p", - "cache_file": "/storage/emulated/0/TV/gy_tmdb_pic_cache.json" - } - }, - { - "key": "PanSouGo", - "name": "PanSou", - "type": 3, - "api": "csp_PanSouGo", - "searchable": 1, - "changeable": 0, - "ext": { - "token":"./lib/tokenm.json", - "siteurl": "http://apihost1:8001|http://apihost2:8001", - "proxy": "noproxy", - "danmu": "0", - "plugins": "all", - "panlist": "all", - "filters": { - "include": ["1080p", "4K"], - "exclude": ["广告", "预告"] - } - } - }, - {"key":"Guanying","name":"观影|网盘|磁力","type":3,"api":"csp_Guanying","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://www.xn--74qz10cqsltibh40akss.com/$$$proxy$$$1$$$./lib/guanying.txt$$$GUANYING"}, - {"key":"FourKZN","name":"4K指南|网盘|磁力","type":3,"api":"csp_FourKZN","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://4kzn.com/$$$noproxy$$$1$$$./lib/4kzn.txt$$$4KZN"}, - {"key":"FourKFox","name":"4KFox|网盘|磁力","type":3,"api":"csp_FourKFox","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$http://4kfox.com/$$$noproxy$$$1$$$./lib/4kfox.txt$$$4KFOX"}, - {"key":"FourKFM","name":"4K影库|网盘|磁力","type":3,"api":"csp_FourKFM","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$http://4kfm.com/$$$noproxy$$$1$$$./lib/4kfm.txt$$$4KFM"}, + "key": "光鸭社区", + "name": "光鸭社区", + "type": 3, + "api": "csp_GuangYaShequ", + "searchable": 1, + "quickSearch": 1, + "filterable": 0, + "ext": { + "token":"./lib/tokenm.json", + "page_size": 40, + "tmdb_key": "2894d9a1baf7812b451de03c801b0281", + "tmdb_api": "https://api.tmdb.org", + "tmdb_img": "https://images.tmdb.org/t/p", + "cache_file": "/storage/emulated/0/TV/gy_tmdb_pic_cache.json" + } + }, + {"key":"HuamuCangShare","name":"花木藏|网盘","type":3,"api":"csp_HuamuCangShare","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/token.json$$$https://share.huamucang.top/$$$noproxy$$$1$$$./lib/huamucang.txt$$$HUAMUCANG$$$USER$$$PASS"}, + {"key":"Hema4k","name":"盒马|网盘|磁力","type":3,"api":"csp_Hema4k","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://www.hema4k.com/$$$proxy$$$1$$$./lib/hema4k.txt$$$HEMA4K"}, + {"key":"Guanying","name":"观影|网盘|磁力","type":3,"api":"csp_Guanying","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://www.xn--74qz10cqsltibh40akss.com/$$$noproxy$$$1$$$./lib/guanying.txt$$$GUANYING$$$username$$$password"}, + {"key":"FourKZN","name":"4K指南|网盘|磁力","type":3,"api":"csp_FourKZN","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://4kzn.cc/$$$noproxy$$$1$$$./lib/4kzn.txt$$$4KZN"}, {"key":"校长影视","name":"校长影视|网盘","type":3,"api":"csp_XiaoZhang", "quickSearch":1, "changeable":1, "filterable":1, "timeout":60,"ext":"./lib/tokenm.json$$$https://xzyshd.com$$$proxy$$$1"}, {"key":"Wogg","name":"玩偶哥哥|网盘","type":3,"api":"csp_Wogg","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$http://wogg.888484.xyz/$$$noproxy$$$1$$$./lib/wogg.json$$$WOGG"}, - {"key":"yydsys","name":"玩你老哥|网盘","type":3,"api":"csp_Wobg","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://tv.yydsys.top/$$$proxy$$$1$$$./lib/wogg.json$$$WNLG"}, - {"key":"Mogg","name":"木偶哥哥|网盘","type":3,"api":"csp_Wobg","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$http://123.666291.xyz/$$$noproxy$$$1$$$./lib/wogg.json$$$MOGG"}, + {"key":"蜡笔网盘","name":"蜡笔|网盘","type":3,"api":"csp_Wobg","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://xiaocgege.shop/$$$noproxy$$$1$$$./lib/wogg.json$$$LABI"}, { "key": "至臻|网盘", "name": "至臻|网盘", @@ -157,22 +184,9 @@ "timeout": 60, "ext": "./lib/tokenm.json$$$https://mihdr.top/$$$noproxy$$$1$$$./lib/wogg.json$$$ZHIZHEN" }, - {"key":"Hmxz","name":"海绵|网盘","type":3,"api":"csp_Hmxz","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://haimian.eu.org/$$$noproxy$$$1$$$./lib/hmxz.txt$$$HMXZ", - "style": { - "type": "list", - "ratio": 1.1 - } - }, - {"key":"Leijing","name":"雷鲸|网盘","type":3,"api":"csp_Panta","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://leijing.xyz/$$$noproxy$$$1$$$./lib/leijing.txt$$$LEIJING", - "style": { - "type": "list", - "ratio": 1.1 - } - }, {"key":"LIBVIO","name":"LIBVIO|网盘","type":3,"api":"csp_Libvio","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$http://www.libvio.mov/$$$noproxy$$$1"}, {"key":"Guazi","name":"瓜子|App","type":3,"api":"csp_Guazi","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":""}, {"key":"Moli","name":"HDmoli|网盘","type":3,"api":"csp_Moli","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://www.hdmoli.pro/$$$proxy$$$1$$$./lib/moli.json"}, - {"key":"ddys","name":"低端影视|网盘","type":3,"api":"csp_Ddys","quickSearch":1, "changeable":1, "filterable":1, "timeout":60, "ext":"./lib/tokenm.json$$$https://ddys.pro/$$$proxy$$$1$$$"}, {"key":"美剧迷","name":"美剧迷|网盘","type":3,"api":"csp_Meijumi", "quickSearch":1, "changeable":1, "filterable":1, "timeout":120,"ext":"./lib/tokenm.json$$$https://www.meijumi.net/$$$proxy$$$1"}, {"key":"WebDAV","name":"WebDAV[jar]","type":3,"api":"csp_WebDAV","searchable":1,"filterable":1,"changeable":1,"timeout":60, "playerType": 2, diff --git a/tbapi1/PG/lib/allinone.tar.xz b/tbapi1/PG/lib/allinone.tar.xz index 1589c741..a56d40fe 100644 Binary files a/tbapi1/PG/lib/allinone.tar.xz and b/tbapi1/PG/lib/allinone.tar.xz differ diff --git a/tbapi1/PG/lib/allinone.tar.xz.md5 b/tbapi1/PG/lib/allinone.tar.xz.md5 index 9994fac5..a2c84bb1 100644 --- a/tbapi1/PG/lib/allinone.tar.xz.md5 +++ b/tbapi1/PG/lib/allinone.tar.xz.md5 @@ -1 +1 @@ -d43bfdd86531cfd28cd083975f941466 +20b84d6b6d2f6f4e3445efe0cbe3d592 diff --git a/tbapi1/PG/lib/pushshare.txt b/tbapi1/PG/lib/pushshare.txt index 827a5053..8bba3a1c 100644 --- a/tbapi1/PG/lib/pushshare.txt +++ b/tbapi1/PG/lib/pushshare.txt @@ -1,5 +1,6 @@ https://www.alipan.com/s/self 我的阿里云盘 https://pan.quark.cn/s/self 我的夸克云盘 +https://pan.baidu.com/s/self 我的BD云盘 https://drive.uc.cn/s/self 我的UC云盘 https://115.com/s/self 我的115云盘 https://www.123pan.com/s/self 我的123云盘 diff --git a/tbapi1/PG/lib/youtube.json b/tbapi1/PG/lib/youtube.json index 0e83ec5e..fb662790 100644 --- a/tbapi1/PG/lib/youtube.json +++ b/tbapi1/PG/lib/youtube.json @@ -2,11 +2,7 @@ "recommend":"LIST:最新|推薦,官方頻道", "class":[ { - "type_id":"GETTRENDS", - "type_name":"Youtube Trends" - }, - { - "type_id":"LIST:自媒體 We Media,老高與小茉 @laogao,脑洞乌托邦 @NDWTB,自说自话的总裁 @STBoss,纪实说 @C-Documentary,老肉雜談 @老肉雜談,李永樂老師 @TchLiyongle,滇西小哥 @dianxixiaoge,李子柒 Liziqi @cnliziqi,老饭骨 @LaoFanGu,小高姐的 Magic Ingredients @MagicIngredients,小穎美食 @XiaoYingFood,primitivetechnology9550 @primitivetechnology9550,Mr Beast@MrBeast,Airforceproud95 @Airforceproud95,TheGreatWar @TheGreatWar,Mark Rober @MarkRober,不良林,涌哥侃侃 @ygkkk,悟空的日常", + "type_id":"LIST:王志安 @wangzhian,老高與小茉 @laogao,脑洞乌托邦 @NDWTB,自说自话的总裁 @STBoss,纪实说 @C-Documentary,老肉雜談 @老肉雜談,李永樂老師 @TchLiyongle,滇西小哥 @dianxixiaoge,李子柒 Liziqi @cnliziqi,老饭骨 @LaoFanGu,小高姐的 Magic Ingredients @MagicIngredients,小穎美食 @XiaoYingFood,primitivetechnology9550 @primitivetechnology9550,Mr Beast@MrBeast,Airforceproud95 @Airforceproud95,TheGreatWar @TheGreatWar,Mark Rober @MarkRober,不良林,涌哥侃侃 @ygkkk,悟空的日常", "type_name":"自媒體" }, { diff --git a/tbapi1/PG/pg.jar b/tbapi1/PG/pg.jar index 4f95eefe..e5cad3ff 100644 Binary files a/tbapi1/PG/pg.jar and b/tbapi1/PG/pg.jar differ diff --git a/tbapi1/PG/pg.jar.md5 b/tbapi1/PG/pg.jar.md5 index 4f4ac175..0592f051 100644 --- a/tbapi1/PG/pg.jar.md5 +++ b/tbapi1/PG/pg.jar.md5 @@ -1 +1 @@ -b4567e3e546dc2748838e5dba2b89d41 \ No newline at end of file +c567fb249ae6f81fb543cd3f6dc77475 \ No newline at end of file diff --git a/tvbox/lib/iptv.m3u b/tvbox/lib/iptv.m3u index dfd7add8..fe36c504 100755 --- a/tvbox/lib/iptv.m3u +++ b/tvbox/lib/iptv.m3u @@ -6,17 +6,17 @@ http://43.251.226.89:8080/play/926.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="湖南卫视4K" tvg-name="湖南卫视4K" group-title="4K",湖南卫视4K http://8.138.7.223/tv/api.php?id=hnws4k$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="湖南卫视4K" tvg-name="湖南卫视4K" group-title="4K",湖南卫视4K -http://hlsal-ldvt.qing.mgtv.com/nn_live/nn_x64/dWlwPTEyNy4wLjAuMSZ1aWQ9cWluZy1jbXMmbm5fdGltZXpvbmU9OCZjZG5leF9pZD1hbF9obHNfbGR2dCZ1dWlkPTliODY4NmU5ZTM2YzYwMmMmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNWSZGST.m3u8$LR•IPV4•4『线路2』 +http://43.251.226.89:8080/play/920.m3u8$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="湖南卫视4K" tvg-name="湖南卫视4K" group-title="4K",湖南卫视4K -http://43.251.226.89:8080/play/920.m3u8$LR•IPV4•4『线路3』 +http://43.251.226.89:8080/play/921.m3u8$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="湖南卫视4K" tvg-name="湖南卫视4K" group-title="4K",湖南卫视4K -http://43.251.226.89:8080/play/921.m3u8$LR•IPV4•4『线路4』 +http://hlsal-ldvt.qing.mgtv.com/nn_live/nn_x64/dWlwPTEyNy4wLjAuMSZ1aWQ9cWluZy1jbXMmbm5fdGltZXpvbmU9OCZjZG5leF9pZD1hbF9obHNfbGR2dCZ1dWlkPTliODY4NmU5ZTM2YzYwMmMmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNWSZGST.m3u8$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="浙江卫视4K" tvg-name="浙江卫视4K" group-title="4K",浙江卫视4K -https://play-qukan.cztv.com/live/1758879019692345.m3u8$LR•IPV4•3『线路1』 +http://43.251.226.89:8080/play/922.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="浙江卫视4K" tvg-name="浙江卫视4K" group-title="4K",浙江卫视4K -http://43.251.226.89:8080/play/922.m3u8$LR•IPV4•3『线路2』 +http://43.251.226.89:8080/play/923.m3u8$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="浙江卫视4K" tvg-name="浙江卫视4K" group-title="4K",浙江卫视4K -http://43.251.226.89:8080/play/923.m3u8$LR•IPV4•3『线路3』 +https://play-qukan.cztv.com/live/1758879019692345.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="江苏卫视4K" tvg-name="江苏卫视4K" group-title="4K",江苏卫视4K http://8.138.7.223/tv/jsws4k.php$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="江苏卫视4K" tvg-name="江苏卫视4K" group-title="4K",江苏卫视4K @@ -70,19 +70,19 @@ http://106.53.99.30/tv/api.php?id=bjws4k$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" group-title="4K",CCTV4K http://vip1.xinketongxun.fun:8082/tsfile/live/1026_1.m3u8$LR•IPV4•10『线路1』 #EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" group-title="4K",CCTV4K -http://www.520345.xyz:8188/rtp/239.69.1.111:10304?$LR•IPV4•10『线路2』 +http://101.43.145.141:12002/gaoma/cctv4k.m3u8$LR•IPV4•10『线路2』 #EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" group-title="4K",CCTV4K -http://home.amucn.net:8800/udp/239.49.0.82:8000$LR•IPV4•10『线路3』 +http://www.520345.xyz:8188/rtp/239.69.1.111:10304?$LR•IPV4•10『线路3』 #EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" group-title="4K",CCTV4K -http://101.43.145.141:12002/gaoma/cctv4k.m3u8$LR•IPV4•10『线路4』 +http://home.amucn.net:8800/udp/239.49.0.82:8000$LR•IPV4•10『线路4』 #EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" group-title="4K",CCTV4K -https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4k_mbd.m3u8?auth_key=1783958400-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-806d2480e0495252f55416171c6e0333&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•10『线路5』 +http://198.204.240.250:82/live/cctv4k.m3u8$LR•IPV4•10『线路5』 #EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" group-title="4K",CCTV4K -http://192.151.150.154/live/cctv4k.m3u8$LR•IPV4•10『线路6』 +https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4k_mbd.m3u8?auth_key=1783958400-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-806d2480e0495252f55416171c6e0333&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•10『线路6』 #EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" group-title="4K",CCTV4K -http://173.208.212.130:8181/720p/cctv4k.m3u8$LR•IPV4•10『线路7』 +http://192.151.150.154/live/cctv4k.m3u8$LR•IPV4•10『线路7』 #EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" group-title="4K",CCTV4K -http://198.204.240.250:82/live/cctv4k.m3u8$LR•IPV4•10『线路8』 +http://173.208.212.130:8181/720p/cctv4k.m3u8$LR•IPV4•10『线路8』 #EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" group-title="4K",CCTV4K http://fn.tmde.top:35455/nptv/cctv4k.m3u8$LR•IPV4•10『线路9』 #EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" group-title="4K",CCTV4K @@ -108,47 +108,47 @@ http://153.0.171.163:9901/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid=0 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 http://74.91.26.218:82/live/cctv1hd.m3u8$LR•IPV4•25『线路4』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://60.10.139.113:8801/hls/1/index.m3u8$LR•IPV4•25『线路5』 +http://38.75.136.137:98/gslb/dsdqbv/cctv1hd.m3u8?auth=test20251009$LR•IPV4•25『线路5』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000004000002226&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路6』 +http://112.46.105.20:8009/hls/501/index.m3u8$LR•IPV4•25『线路6』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000030810&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路7』 +http://php.jdshipin.com/TVOD/iptv.php?id=rthk33$LR•IPV4•25『线路7』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000018602&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路8』 +https://rthktv33-live.akamaized.net/hls/live/2101641/RTHKTV33/stream04/streamPlaylist.m3u8$LR•IPV4•25『线路8』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000021973&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路9』 +http://60.10.139.113:8801/hls/1/index.m3u8$LR•IPV4•25『线路9』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265001&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路10』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000004000002226&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路10』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=reallive-cctv1&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路11』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000030810&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路11』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000004953&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路12』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000018602&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路12』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://111.29.9.35:6610/000000001000/1000000001000018602/index.m3u8?channel-id=ystenlive&Contentid=1000000001000018602&livemode=1&stbId=3$LR•IPV4•25『线路13』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000021973&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路13』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://111.29.9.33:6610/000000001000/1000000001000021973/index.m3u8?channel-id=bestzb&Contentid=1000000001000021973&livemode=1&stbId=3$LR•IPV4•25『线路14』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265001&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路14』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://38.75.136.137:98/gslb/dsdqbv/cctv1hd.m3u8?auth=test20251009$LR•IPV4•25『线路15』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=reallive-cctv1&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路15』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://112.46.105.20:8009/hls/501/index.m3u8$LR•IPV4•25『线路16』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000004953&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路16』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://php.jdshipin.com/TVOD/iptv.php?id=rthk33$LR•IPV4•25『线路17』 +http://111.29.9.35:6610/000000001000/1000000001000018602/index.m3u8?channel-id=ystenlive&Contentid=1000000001000018602&livemode=1&stbId=3$LR•IPV4•25『线路17』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -https://rthktv33-live.akamaized.net/hls/live/2101641/RTHKTV33/stream04/streamPlaylist.m3u8$LR•IPV4•25『线路18』 +http://111.29.9.33:6610/000000001000/1000000001000021973/index.m3u8?channel-id=bestzb&Contentid=1000000001000021973&livemode=1&stbId=3$LR•IPV4•25『线路18』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226895/1.m3u8?$LR•IPV6•25『线路19』 +http://69.30.245.50/live/cctv1.m3u8$LR•IPV4•25『线路19』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://207.56.13.146:81/cdnlive/cctv1.m3u8$LR•IPV4•25『线路20』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226895/1.m3u8?$LR•IPV6•25『线路20』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://192.151.150.154/live/cctv1hd.m3u8$LR•IPV4•25『线路21』 +http://207.56.13.146:81/cdnlive/cctv1.m3u8$LR•IPV4•25『线路21』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://173.208.212.130:8181/1080p/cctv1.m3u8$LR•IPV4•25『线路22』 +http://192.151.150.154/live/cctv1hd.m3u8$LR•IPV4•25『线路22』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://173.208.212.130:8181/720p/cctv1.m3u8$LR•IPV4•25『线路23』 +http://173.208.212.130:8181/1080p/cctv1.m3u8$LR•IPV4•25『线路23』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://204.12.221.218:8181/3m1080p/cctv1.m3u8$LR•IPV4•25『线路24』 +http://173.208.212.130:8181/720p/cctv1.m3u8$LR•IPV4•25『线路24』 #EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视",CCTV1 -http://69.30.245.50/live/cctv1.m3u8$LR•IPV4•25『线路25』 +http://204.12.221.218:8181/3m1080p/cctv1.m3u8$LR•IPV4•25『线路25』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 http://112.123.243.37:50085/tsfile/live/0002_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•26『线路1』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 @@ -160,31 +160,31 @@ http://207.56.13.146:81/cdnlive/cctv2.m3u8$LR•IPV4•26『线路4』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 http://112.27.235.94:8000/hls/2/index.m3u8$LR•IPV4•26『线路5』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 -http://60.10.139.113:8801/hls/2/index.m3u8$LR•IPV4•26『线路6』 +http://pull-hls-f11.douyincdn.com/media/stream-407062262674621100.m3u8?arch_hrchy=w1&exp_hrchy=w1&expire=1771769775&major_anchor_level=common&sign=98406f42e949db5477a402c85cbee007&t_id=037-20260215221614EEA56BB994BB42D25308-a6AVAz$LR•IPV4•26『线路6』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000031113&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路7』 +http://38.75.136.137:98/gslb/dsdqbv/cctv2hd.m3u8?auth=test20251009$LR•IPV4•26『线路7』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031101&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路8』 +http://112.46.105.20:8009/hls/502/index.m3u8$LR•IPV4•26『线路8』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000012442&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路9』 +http://153.0.171.163:9901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路9』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000023315&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路10』 +http://60.10.139.113:8801/hls/2/index.m3u8$LR•IPV4•26『线路10』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265002&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路11』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000031113&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路11』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 -http://111.29.9.34:6610/000000001000/1000000001000012442/index.m3u8?channel-id=ystenlive&Contentid=1000000001000012442&livemode=1&stbId=3$LR•IPV4•26『线路12』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031101&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路12』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 -http://111.29.9.33:6610/000000001000/1000000001000012442/index.m3u8?channel-id=bestzb&Contentid=1000000001000012442&livemode=1&stbId=3$LR•IPV4•26『线路13』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000012442&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路13』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 -http://pull-hls-f11.douyincdn.com/media/stream-407062262674621100.m3u8?arch_hrchy=w1&exp_hrchy=w1&expire=1771769775&major_anchor_level=common&sign=98406f42e949db5477a402c85cbee007&t_id=037-20260215221614EEA56BB994BB42D25308-a6AVAz$LR•IPV4•26『线路14』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000023315&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路14』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 -http://38.75.136.137:98/gslb/dsdqbv/cctv2hd.m3u8?auth=test20251009$LR•IPV4•26『线路15』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265002&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路15』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 -http://112.46.105.20:8009/hls/502/index.m3u8$LR•IPV4•26『线路16』 +http://111.29.9.34:6610/000000001000/1000000001000012442/index.m3u8?channel-id=ystenlive&Contentid=1000000001000012442&livemode=1&stbId=3$LR•IPV4•26『线路16』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 -http://153.0.171.163:9901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路17』 +http://111.29.9.33:6610/000000001000/1000000001000012442/index.m3u8?channel-id=bestzb&Contentid=1000000001000012442&livemode=1&stbId=3$LR•IPV4•26『线路17』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226893/1.m3u8?$LR•IPV6•26『线路18』 +http://74.91.26.218:82/live/cctv2hd.m3u8$LR•IPV4•26『线路18』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 http://222.169.85.8:9901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路19』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 @@ -194,7 +194,7 @@ http://222.223.41.27:8888/hls/2/index.m3u8$LR•IPV4•26『线路21』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 http://173.208.212.130:8181/720p/cctv2.m3u8$LR•IPV4•26『线路22』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 -http://74.91.26.218:82/live/cctv2hd.m3u8$LR•IPV4•26『线路23』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226893/1.m3u8?$LR•IPV6•26『线路23』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 http://192.151.150.154/live/cctv2hd.m3u8$LR•IPV4•26『线路24』 #EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" group-title="央视",CCTV2 @@ -212,25 +212,25 @@ http://121.57.88.206:898/hls/3/index.m3u8$LR•IPV4•19『线路4』 #EXTINF:-1 tvg-id="CCTV3" tvg-name="CCTV3" group-title="央视",CCTV3 http://74.91.26.218:82/live/cctv3hd.m3u8$LR•IPV4•19『线路5』 #EXTINF:-1 tvg-id="CCTV3" tvg-name="CCTV3" group-title="央视",CCTV3 -http://60.10.139.113:8801/hls/3/index.m3u8$LR•IPV4•19『线路6』 +http://38.75.136.137:98/gslb/dsdqbv/cctv3hd.m3u8?auth=test20251009$LR•IPV4•19『线路6』 #EXTINF:-1 tvg-id="CCTV3" tvg-name="CCTV3" group-title="央视",CCTV3 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000002000020548&livemode=1&stbId=yu&mode=1&$LR•IPV4•19『线路7』 +http://112.46.105.20:8009/hls/3/index.m3u8$LR•IPV4•19『线路7』 #EXTINF:-1 tvg-id="CCTV3" tvg-name="CCTV3" group-title="央视",CCTV3 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000011218&livemode=1&stbId=yu&mode=1&$LR•IPV4•19『线路8』 +http://60.10.139.113:8801/hls/3/index.m3u8$LR•IPV4•19『线路8』 #EXTINF:-1 tvg-id="CCTV3" tvg-name="CCTV3" group-title="央视",CCTV3 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265003&livemode=1&stbId=yu&mode=1&$LR•IPV4•19『线路9』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000002000020548&livemode=1&stbId=yu&mode=1&$LR•IPV4•19『线路9』 #EXTINF:-1 tvg-id="CCTV3" tvg-name="CCTV3" group-title="央视",CCTV3 -http://111.29.9.38:6610/000000001000/1000000001000011218/index.m3u8?channel-id=ystenlive&Contentid=1000000001000011218&livemode=1&stbId=3$LR•IPV4•19『线路10』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000011218&livemode=1&stbId=yu&mode=1&$LR•IPV4•19『线路10』 #EXTINF:-1 tvg-id="CCTV3" tvg-name="CCTV3" group-title="央视",CCTV3 -http://111.29.9.33:6610/000000001000/1000000001000011218/index.m3u8?channel-id=bestzb&Contentid=1000000001000011218&livemode=1&stbId=3$LR•IPV4•19『线路11』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265003&livemode=1&stbId=yu&mode=1&$LR•IPV4•19『线路11』 #EXTINF:-1 tvg-id="CCTV3" tvg-name="CCTV3" group-title="央视",CCTV3 -http://38.75.136.137:98/gslb/dsdqbv/cctv3hd.m3u8?auth=test20251009$LR•IPV4•19『线路12』 +http://111.29.9.38:6610/000000001000/1000000001000011218/index.m3u8?channel-id=ystenlive&Contentid=1000000001000011218&livemode=1&stbId=3$LR•IPV4•19『线路12』 #EXTINF:-1 tvg-id="CCTV3" tvg-name="CCTV3" group-title="央视",CCTV3 -http://112.46.105.20:8009/hls/3/index.m3u8$LR•IPV4•19『线路13』 +http://111.29.9.33:6610/000000001000/1000000001000011218/index.m3u8?channel-id=bestzb&Contentid=1000000001000011218&livemode=1&stbId=3$LR•IPV4•19『线路13』 #EXTINF:-1 tvg-id="CCTV3" tvg-name="CCTV3" group-title="央视",CCTV3 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226471/1.m3u8?$LR•IPV6•19『线路14』 +http://207.56.13.146:81/cdnlive/cctv3.m3u8$LR•IPV4•19『线路14』 #EXTINF:-1 tvg-id="CCTV3" tvg-name="CCTV3" group-title="央视",CCTV3 -http://207.56.13.146:81/cdnlive/cctv3.m3u8$LR•IPV4•19『线路15』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226471/1.m3u8?$LR•IPV6•19『线路15』 #EXTINF:-1 tvg-id="CCTV3" tvg-name="CCTV3" group-title="央视",CCTV3 http://192.151.150.154/live/cctv3hd.m3u8$LR•IPV4•19『线路16』 #EXTINF:-1 tvg-id="CCTV3" tvg-name="CCTV3" group-title="央视",CCTV3 @@ -240,51 +240,53 @@ http://173.208.212.130:8181/720p/cctv3.m3u8$LR•IPV4•19『线路18』 #EXTINF:-1 tvg-id="CCTV3" tvg-name="CCTV3" group-title="央视",CCTV3 http://204.12.221.218:8181/3m1080p/cctv3.m3u8$LR•IPV4•19『线路19』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -https://global.cgtn.cicc.media.caton.cloud/master/cgtn-america.m3u8$LR•IPV4•23『线路1』 +https://global.cgtn.cicc.media.caton.cloud/master/cgtn-america.m3u8$LR•IPV4•24『线路1』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -http://60.10.139.113:8801/hls/4/index.m3u8$LR•IPV4•23『线路2』 +http://74.91.26.218:82/live/cctv4hd.m3u8$LR•IPV4•24『线路2』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000030093&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路3』 +http://38.75.136.137:98/gslb/dsdqbv/cctv4hd.m3u8?auth=test20251009$LR•IPV4•24『线路3』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031102&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路4』 +http://112.46.105.20:8009/hls/4/index.m3u8$LR•IPV4•24『线路4』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000031664&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路5』 +http://153.0.171.163:9901/tsfile/live/0004_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路5』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265004&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路6』 +p3p://167.114.175.6:55331/61244d9c0006885d64b1b7591f6c12a0$LR•IPV4•24『线路6』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -http://111.29.9.40:6610/000000001000/5000000005000030093/index.m3u8?channel-id=bestzb&Contentid=5000000005000030093&livemode=1&stbId=3$LR•IPV4•23『线路7』 +http://60.10.139.113:8801/hls/4/index.m3u8$LR•IPV4•24『线路7』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -http://111.29.9.33:6610/000000001000/1000000002000031664/index.m3u8?channel-id=bestzb&Contentid=1000000002000031664&livemode=1&stbId=3$LR•IPV4•23『线路8』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000030093&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路8』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -http://74.91.26.218:82/live/cctv4hd.m3u8$LR•IPV4•23『线路9』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031102&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路9』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -http://38.75.136.137:98/gslb/dsdqbv/cctv4hd.m3u8?auth=test20251009$LR•IPV4•23『线路10』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000031664&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路10』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -http://112.46.105.20:8009/hls/4/index.m3u8$LR•IPV4•23『线路11』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265004&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路11』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -http://153.0.171.163:9901/tsfile/live/0004_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路12』 +http://111.29.9.40:6610/000000001000/5000000005000030093/index.m3u8?channel-id=bestzb&Contentid=5000000005000030093&livemode=1&stbId=3$LR•IPV4•24『线路12』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -p3p://167.114.175.6:55331/61244d9c0006885d64b1b7591f6c12a0$LR•IPV4•23『线路13』 +http://111.29.9.33:6610/000000001000/1000000002000031664/index.m3u8?channel-id=bestzb&Contentid=1000000002000031664&livemode=1&stbId=3$LR•IPV4•24『线路13』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783958400-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-959a72eda110cbf62c6253396fd9bd72&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•23『线路14』 +https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783972800-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-35eb8d7bdbf4e05db7dad569de4a488f&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•24『线路14』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783926000-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-3a5ada4e3e78e41f69387ee0c7a77164&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•23『线路15』 +https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783926000-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-3a5ada4e3e78e41f69387ee0c7a77164&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•24『线路15』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226335/1.m3u8?$LR•IPV6•23『线路16』 +https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783958400-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-959a72eda110cbf62c6253396fd9bd72&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•24『线路16』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -http://222.223.41.27:8888/hls/4/index.m3u8$LR•IPV4•23『线路17』 +https://dash2.antik.sk/live/test_cctv_tizen/playlist.m3u8$LR•IPV4•24『线路17』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -http://207.56.13.146:81/cdnlive/cctv4.m3u8$LR•IPV4•23『线路18』 +http://222.223.41.27:8888/hls/4/index.m3u8$LR•IPV4•24『线路18』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -http://192.151.150.154/live/cctv4hd.m3u8$LR•IPV4•23『线路19』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226335/1.m3u8?$LR•IPV6•24『线路19』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -http://173.208.212.130:8181/1080p/cctv4.m3u8$LR•IPV4•23『线路20』 +http://207.56.13.146:81/cdnlive/cctv4.m3u8$LR•IPV4•24『线路20』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -http://173.208.212.130:8181/720p/cctv4.m3u8$LR•IPV4•23『线路21』 +http://192.151.150.154/live/cctv4hd.m3u8$LR•IPV4•24『线路21』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -http://204.12.221.218:8181/3m1080p/cctv4.m3u8$LR•IPV4•23『线路22』 +http://173.208.212.130:8181/1080p/cctv4.m3u8$LR•IPV4•24『线路22』 #EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 -https://dash2.antik.sk/live/test_cctv_tizen/playlist.m3u8$LR•IPV4•23『线路23』 +http://173.208.212.130:8181/720p/cctv4.m3u8$LR•IPV4•24『线路23』 +#EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" group-title="央视",CCTV4 +http://204.12.221.218:8181/3m1080p/cctv4.m3u8$LR•IPV4•24『线路24』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 http://1.24.39.180:9003/hls/5/index.m3u8$LR•IPV4•29『线路1』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 @@ -292,25 +294,25 @@ http://153.0.171.163:9901/tsfile/live/0005_1.m3u8?key=txiptv&playlive=1&authid=0 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 http://112.27.235.94:8000/hls/5/index.m3u8$LR•IPV4•29『线路3』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 -http://60.10.139.113:8801/hls/5/index.m3u8$LR•IPV4•29『线路4』 +http://74.91.26.218:82/live/cctv5hd.m3u8$LR•IPV4•29『线路4』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000016619&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路5』 +http://38.75.136.137:98/gslb/dsdqbv/cctv5hd.m3u8?auth=test20251009$LR•IPV4•29『线路5』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000004794&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路6』 +http://112.46.105.20:8009/hls/503/index.m3u8$LR•IPV4•29『线路6』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265005&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路7』 +http://60.10.139.113:8801/hls/5/index.m3u8$LR•IPV4•29『线路7』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 -http://111.29.9.33:6610/000000001000/1000000001000004794/index.m3u8?channel-id=bestzb&Contentid=1000000001000004794&livemode=1&stbId=3$LR•IPV4•29『线路8』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000016619&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路8』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 -http://74.91.26.218:82/live/cctv5hd.m3u8$LR•IPV4•29『线路9』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000004794&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路9』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 -http://38.75.136.137:98/gslb/dsdqbv/cctv5hd.m3u8?auth=test20251009$LR•IPV4•29『线路10』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265005&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路10』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 -http://112.46.105.20:8009/hls/503/index.m3u8$LR•IPV4•29『线路11』 +http://111.29.9.33:6610/000000001000/1000000001000004794/index.m3u8?channel-id=bestzb&Contentid=1000000001000004794&livemode=1&stbId=3$LR•IPV4•29『线路11』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226469/1.m3u8?$LR•IPV6•29『线路12』 +http://222.223.41.27:8888/hls/5/index.m3u8$LR•IPV4•29『线路12』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 -http://222.223.41.27:8888/hls/5/index.m3u8$LR•IPV4•29『线路13』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226469/1.m3u8?$LR•IPV6•29『线路13』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 http://207.56.13.146:81/cdnlive/cctv5.m3u8$LR•IPV4•29『线路14』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 @@ -328,17 +330,17 @@ http://112.27.235.94:8000/hls/6/index.m3u8$LR•IPV4•29『线路20』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 http://112.123.243.37:50085/tsfile/live/0006_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•29『线路21』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000018504&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路22』 +http://74.91.26.218:82/live/cctv5p.m3u8$LR•IPV4•29『线路22』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000020505&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路23』 +http://38.75.136.137:98/gslb/dsdqbv/cctv5p.m3u8?auth=test20251009$LR•IPV4•29『线路23』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 -http://223.112.114.228:50080/newlive/live/hls/180/live.m3u8$LR•IPV4•29『线路24』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000018504&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路24』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 -http://111.29.9.33:6610/000000001000/1000000001000020505/index.m3u8?channel-id=bestzb&Contentid=1000000001000020505&livemode=1&stbId=3$LR•IPV4•29『线路25』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000020505&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路25』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 -http://74.91.26.218:82/live/cctv5p.m3u8$LR•IPV4•29『线路26』 +http://223.112.114.228:50080/newlive/live/hls/180/live.m3u8$LR•IPV4•29『线路26』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 -http://38.75.136.137:98/gslb/dsdqbv/cctv5p.m3u8?auth=test20251009$LR•IPV4•29『线路27』 +http://111.29.9.33:6610/000000001000/1000000001000020505/index.m3u8?channel-id=bestzb&Contentid=1000000001000020505&livemode=1&stbId=3$LR•IPV4•29『线路27』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226894/1.m3u8?$LR•IPV6•29『线路28』 #EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" group-title="央视",CCTV5 @@ -360,25 +362,25 @@ http://221.226.51.220:50081/newlive/live/hls/6/live.m3u8$LR•IPV4•23『线路 #EXTINF:-1 tvg-id="CCTV6" tvg-name="CCTV6" group-title="央视",CCTV6 http://112.27.235.94:8000/hls/7/index.m3u8$LR•IPV4•23『线路8』 #EXTINF:-1 tvg-id="CCTV6" tvg-name="CCTV6" group-title="央视",CCTV6 -http://60.10.139.113:8801/hls/6/index.m3u8$LR•IPV4•23『线路9』 +http://74.91.26.218:82/live/cctv6hd.m3u8$LR•IPV4•23『线路9』 #EXTINF:-1 tvg-id="CCTV6" tvg-name="CCTV6" group-title="央视",CCTV6 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000018433&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路10』 +http://112.46.105.20:8009/hls/6/index.m3u8$LR•IPV4•23『线路10』 #EXTINF:-1 tvg-id="CCTV6" tvg-name="CCTV6" group-title="央视",CCTV6 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000016466&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路11』 +http://60.10.139.113:8801/hls/6/index.m3u8$LR•IPV4•23『线路11』 #EXTINF:-1 tvg-id="CCTV6" tvg-name="CCTV6" group-title="央视",CCTV6 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265006&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路12』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000018433&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路12』 #EXTINF:-1 tvg-id="CCTV6" tvg-name="CCTV6" group-title="央视",CCTV6 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6117099895556651277&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路13』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000016466&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路13』 #EXTINF:-1 tvg-id="CCTV6" tvg-name="CCTV6" group-title="央视",CCTV6 -http://111.29.9.33:6610/000000001000/1000000001000016466/index.m3u8?channel-id=bestzb&Contentid=1000000001000016466&livemode=1&stbId=3$LR•IPV4•23『线路14』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265006&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路14』 #EXTINF:-1 tvg-id="CCTV6" tvg-name="CCTV6" group-title="央视",CCTV6 -http://74.91.26.218:82/live/cctv6hd.m3u8$LR•IPV4•23『线路15』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6117099895556651277&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路15』 #EXTINF:-1 tvg-id="CCTV6" tvg-name="CCTV6" group-title="央视",CCTV6 -http://112.46.105.20:8009/hls/6/index.m3u8$LR•IPV4•23『线路16』 +http://111.29.9.33:6610/000000001000/1000000001000016466/index.m3u8?channel-id=bestzb&Contentid=1000000001000016466&livemode=1&stbId=3$LR•IPV4•23『线路16』 #EXTINF:-1 tvg-id="CCTV6" tvg-name="CCTV6" group-title="央视",CCTV6 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226468/1.m3u8?$LR•IPV6•23『线路17』 +http://69.30.245.50/live/cctv6.m3u8$LR•IPV4•23『线路17』 #EXTINF:-1 tvg-id="CCTV6" tvg-name="CCTV6" group-title="央视",CCTV6 -http://69.30.245.50/live/cctv6.m3u8$LR•IPV4•23『线路18』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226468/1.m3u8?$LR•IPV6•23『线路18』 #EXTINF:-1 tvg-id="CCTV6" tvg-name="CCTV6" group-title="央视",CCTV6 http://207.56.13.146:81/cdnlive/cctv6.m3u8$LR•IPV4•23『线路19』 #EXTINF:-1 tvg-id="CCTV6" tvg-name="CCTV6" group-title="央视",CCTV6 @@ -400,37 +402,37 @@ http://153.0.171.163:9901/tsfile/live/0007_1.m3u8?key=txiptv&playlive=1&authid=0 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 http://112.27.235.94:8000/hls/8/index.m3u8$LR•IPV4•24『线路5』 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 -http://60.10.139.113:8801/hls/7/index.m3u8$LR•IPV4•24『线路6』 +http://74.91.26.218:82/live/cctv7hd.m3u8$LR•IPV4•24『线路6』 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000026715&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路7』 +http://38.75.136.137:98/gslb/dsdqbv/cctv7hd.m3u8?auth=test20251009$LR•IPV4•24『线路7』 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031104&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路8』 +http://112.46.105.20:8009/hls/504/index.m3u8$LR•IPV4•24『线路8』 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000017218&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路9』 +http://60.10.139.113:8801/hls/7/index.m3u8$LR•IPV4•24『线路9』 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000024341&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路10』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000026715&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路10』 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265007&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路11』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031104&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路11』 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=3000000010000011518&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路12』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000017218&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路12』 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 -http://111.29.9.40:6610/000000001000/1000000001000017218/index.m3u8?channel-id=ystenlive&Contentid=1000000001000017218&livemode=1&stbId=3$LR•IPV4•24『线路13』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000024341&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路13』 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 -http://111.29.9.33:6610/000000001000/1000000001000017218/index.m3u8?channel-id=bestzb&Contentid=1000000001000017218&livemode=1&stbId=3$LR•IPV4•24『线路14』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265007&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路14』 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 -http://74.91.26.218:82/live/cctv7hd.m3u8$LR•IPV4•24『线路15』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=3000000010000011518&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路15』 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 -http://38.75.136.137:98/gslb/dsdqbv/cctv7hd.m3u8?auth=test20251009$LR•IPV4•24『线路16』 +http://111.29.9.40:6610/000000001000/1000000001000017218/index.m3u8?channel-id=ystenlive&Contentid=1000000001000017218&livemode=1&stbId=3$LR•IPV4•24『线路16』 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 -http://112.46.105.20:8009/hls/504/index.m3u8$LR•IPV4•24『线路17』 +http://111.29.9.33:6610/000000001000/1000000001000017218/index.m3u8?channel-id=bestzb&Contentid=1000000001000017218&livemode=1&stbId=3$LR•IPV4•24『线路17』 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226946/1.m3u8?$LR•IPV6•24『线路18』 +http://222.223.41.27:8888/hls/7/index.m3u8$LR•IPV4•24『线路18』 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 -http://222.223.41.27:8888/hls/7/index.m3u8$LR•IPV4•24『线路19』 +http://207.56.13.146:81/cdnlive/cctv7.m3u8$LR•IPV4•24『线路19』 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 -http://207.56.13.146:81/cdnlive/cctv7.m3u8$LR•IPV4•24『线路20』 +http://192.151.150.154/live/cctv7hd.m3u8$LR•IPV4•24『线路20』 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 -http://192.151.150.154/live/cctv7hd.m3u8$LR•IPV4•24『线路21』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226946/1.m3u8?$LR•IPV6•24『线路21』 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 http://173.208.212.130:8181/1080p/cctv7.m3u8$LR•IPV4•24『线路22』 #EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" group-title="央视",CCTV7 @@ -446,31 +448,31 @@ http://38.75.136.137:98/gslb/dsdqpub/cctv8hd.m3u8?auth=testpub$LR•IPV4•20『 #EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" group-title="央视",CCTV8 http://112.27.235.94:8000/hls/9/index.m3u8$LR•IPV4•20『线路4』 #EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" group-title="央视",CCTV8 -http://60.10.139.113:8801/hls/8/index.m3u8$LR•IPV4•20『线路5』 +http://38.75.136.137:98/gslb/dsdqbv/cctv8hd.m3u8?auth=test20251009$LR•IPV4•20『线路5』 #EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" group-title="央视",CCTV8 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000003736&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路6』 +http://112.46.105.20:8009/hls/8/index.m3u8$LR•IPV4•20『线路6』 #EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" group-title="央视",CCTV8 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265008&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路7』 +http://153.0.171.163:9901/tsfile/live/1007_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•20『线路7』 #EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" group-title="央视",CCTV8 -http://111.29.9.33:6610/000000001000/1000000001000003736/index.m3u8?channel-id=bestzb&Contentid=1000000001000003736&livemode=1&stbId=3$LR•IPV4•20『线路8』 +http://60.10.139.113:8801/hls/8/index.m3u8$LR•IPV4•20『线路8』 #EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" group-title="央视",CCTV8 -http://38.75.136.137:98/gslb/dsdqbv/cctv8hd.m3u8?auth=test20251009$LR•IPV4•20『线路9』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000003736&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路9』 #EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" group-title="央视",CCTV8 -http://112.46.105.20:8009/hls/8/index.m3u8$LR•IPV4•20『线路10』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265008&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路10』 #EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" group-title="央视",CCTV8 -http://153.0.171.163:9901/tsfile/live/1007_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•20『线路11』 +http://111.29.9.33:6610/000000001000/1000000001000003736/index.m3u8?channel-id=bestzb&Contentid=1000000001000003736&livemode=1&stbId=3$LR•IPV4•20『线路11』 #EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" group-title="央视",CCTV8 http://183.196.25.171:808/hls/77/index.m3u8$LR•IPV4•20『线路12』 #EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" group-title="央视",CCTV8 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226485/1.m3u8?$LR•IPV6•20『线路13』 +http://74.91.26.218:82/live/cctv8hd.m3u8$LR•IPV4•20『线路13』 #EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" group-title="央视",CCTV8 -http://74.91.26.218:82/live/cctv8hd.m3u8$LR•IPV4•20『线路14』 +http://69.30.245.50/live/cctv8.m3u8$LR•IPV4•20『线路14』 #EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" group-title="央视",CCTV8 -http://69.30.245.50/live/cctv8.m3u8$LR•IPV4•20『线路15』 +http://207.56.13.146:81/cdnlive/cctv8.m3u8$LR•IPV4•20『线路15』 #EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" group-title="央视",CCTV8 -http://207.56.13.146:81/cdnlive/cctv8.m3u8$LR•IPV4•20『线路16』 +http://173.208.212.130:8181/1080p/cctv8.m3u8$LR•IPV4•20『线路16』 #EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" group-title="央视",CCTV8 -http://173.208.212.130:8181/1080p/cctv8.m3u8$LR•IPV4•20『线路17』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226485/1.m3u8?$LR•IPV6•20『线路17』 #EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" group-title="央视",CCTV8 http://192.151.150.154/live/cctv8hd.m3u8$LR•IPV4•20『线路18』 #EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" group-title="央视",CCTV8 @@ -478,53 +480,55 @@ http://173.208.212.130:8181/720p/cctv8.m3u8$LR•IPV4•20『线路19』 #EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" group-title="央视",CCTV8 http://204.12.221.218:8181/3m1080p/cctv8.m3u8$LR•IPV4•20『线路20』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://1.24.39.180:9003/hls/9/index.m3u8$LR•IPV4•24『线路1』 +http://1.24.39.180:9003/hls/9/index.m3u8$LR•IPV4•25『线路1』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://124.228.160.210:9901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路2』 +http://124.228.160.210:9901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•25『线路2』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://153.0.171.163:9901/tsfile/live/1008_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路3』 +http://153.0.171.163:9901/tsfile/live/1008_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•25『线路3』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://112.27.235.94:8000/hls/10/index.m3u8$LR•IPV4•24『线路4』 +http://112.27.235.94:8000/hls/10/index.m3u8$LR•IPV4•25『线路4』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://60.10.139.113:8801/hls/9/index.m3u8$LR•IPV4•24『线路5』 +http://74.91.26.218:82/live/cctv9hd.m3u8$LR•IPV4•25『线路5』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000018384&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路6』 +http://38.75.136.137:98/gslb/dsdqbv/cctv9hd.m3u8?auth=test20251009$LR•IPV4•25『线路6』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000288020&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路7』 +http://112.46.105.20:8009/hls/509/index.m3u8$LR•IPV4•25『线路7』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000014583&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路8』 +http://60.10.139.113:8801/hls/9/index.m3u8$LR•IPV4•25『线路8』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000028286&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路9』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000018384&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路9』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265009&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路10』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000288020&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路10』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://111.29.9.33:6610/000000001000/1000000001000028286/index.m3u8?channel-id=ystenlive&Contentid=1000000001000028286&livemode=1&stbId=3$LR•IPV4•24『线路11』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000014583&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路11』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://111.29.9.33:6610/000000001000/1000000001000014583/index.m3u8?channel-id=bestzb&Contentid=1000000001000014583&livemode=1&stbId=3$LR•IPV4•24『线路12』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000028286&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路12』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://74.91.26.218:82/live/cctv9hd.m3u8$LR•IPV4•24『线路13』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265009&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路13』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://38.75.136.137:98/gslb/dsdqbv/cctv9hd.m3u8?auth=test20251009$LR•IPV4•24『线路14』 +http://111.29.9.33:6610/000000001000/1000000001000028286/index.m3u8?channel-id=ystenlive&Contentid=1000000001000028286&livemode=1&stbId=3$LR•IPV4•25『线路14』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://112.46.105.20:8009/hls/509/index.m3u8$LR•IPV4•24『线路15』 +http://111.29.9.33:6610/000000001000/1000000001000014583/index.m3u8?channel-id=bestzb&Contentid=1000000001000014583&livemode=1&stbId=3$LR•IPV4•25『线路15』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -https://v4-e6b1c5baf4e240fe63adbf68dda23435.livehwc4.com/play.kankanlive.com/live/1698423397390920.m3u8?sub_m3u8=true&edge_slice=true&user_session_id=79c26e6f2fb125746b28b6fb2daee9a6$LR•IPV4•24『线路16』 +https://v4-e6b1c5baf4e240fe63adbf68dda23435.livehwc4.com/play.kankanlive.com/live/1698423397390920.m3u8?sub_m3u8=true&edge_slice=true&user_session_id=528f1a6a1cd548ede0e1b7c5313cc9ca$LR•IPV4•25『线路16』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226944/1.m3u8?$LR•IPV6•24『线路17』 +https://v4-e6b1c5baf4e240fe63adbf68dda23435.livehwc4.com/play.kankanlive.com/live/1698423397390920.m3u8?sub_m3u8=true&edge_slice=true&user_session_id=79c26e6f2fb125746b28b6fb2daee9a6$LR•IPV4•25『线路17』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://222.223.41.27:8888/hls/9/index.m3u8$LR•IPV4•24『线路18』 +https://xykt-fix.github.io/Y77.m3u8$LR•IPV4•25『线路18』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://207.56.13.146:81/cdnlive/cctv9.m3u8$LR•IPV4•24『线路19』 +http://222.223.41.27:8888/hls/9/index.m3u8$LR•IPV4•25『线路19』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://192.151.150.154/live/cctv9hd.m3u8$LR•IPV4•24『线路20』 +http://207.56.13.146:81/cdnlive/cctv9.m3u8$LR•IPV4•25『线路20』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://173.208.212.130:8181/1080p/cctv9.m3u8$LR•IPV4•24『线路21』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226944/1.m3u8?$LR•IPV6•25『线路21』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://173.208.212.130:8181/720p/cctv9.m3u8$LR•IPV4•24『线路22』 +http://192.151.150.154/live/cctv9hd.m3u8$LR•IPV4•25『线路22』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -http://204.12.221.218:8181/3m1080p/cctv9.m3u8$LR•IPV4•24『线路23』 +http://173.208.212.130:8181/1080p/cctv9.m3u8$LR•IPV4•25『线路23』 #EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 -https://xykt-fix.github.io/Y77.m3u8$LR•IPV4•24『线路24』 +http://173.208.212.130:8181/720p/cctv9.m3u8$LR•IPV4•25『线路24』 +#EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" group-title="央视",CCTV9 +http://204.12.221.218:8181/3m1080p/cctv9.m3u8$LR•IPV4•25『线路25』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 http://1.24.39.180:9003/hls/10/index.m3u8$LR•IPV4•25『线路1』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 @@ -532,39 +536,39 @@ http://198.204.228.26/live/cctv10hd.m3u8$LR•IPV4•25『线路2』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 http://112.27.235.94:8000/hls/11/index.m3u8$LR•IPV4•25『线路3』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 -http://60.10.139.113:8801/hls/10/index.m3u8$LR•IPV4•25『线路4』 +http://74.91.26.218:82/live/cctv10hd.m3u8$LR•IPV4•25『线路4』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000004000012827&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路5』 +http://38.75.136.137:98/gslb/dsdqbv/cctv10hd.m3u8?auth=test20251009$LR•IPV4•25『线路5』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000016738&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路6』 +http://112.46.105.20:8009/hls/506/index.m3u8$LR•IPV4•25『线路6』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000023734&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路7』 +http://153.0.171.163:9901/tsfile/live/1009_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•25『线路7』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000026367&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路8』 +http://60.10.139.113:8801/hls/10/index.m3u8$LR•IPV4•25『线路8』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265010&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路9』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000004000012827&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路9』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 -http://111.29.9.38:6610/000000001000/1000000001000023734/index.m3u8?channel-id=ystenlive&Contentid=1000000001000023734&livemode=1&stbId=3$LR•IPV4•25『线路10』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000016738&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路10』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 -http://111.29.9.33:6610/000000001000/1000000001000023734/index.m3u8?channel-id=bestzb&Contentid=1000000001000023734&livemode=1&stbId=3$LR•IPV4•25『线路11』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000023734&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路11』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 -http://74.91.26.218:82/live/cctv10hd.m3u8$LR•IPV4•25『线路12』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000026367&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路12』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 -http://38.75.136.137:98/gslb/dsdqbv/cctv10hd.m3u8?auth=test20251009$LR•IPV4•25『线路13』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265010&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路13』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 -http://112.46.105.20:8009/hls/506/index.m3u8$LR•IPV4•25『线路14』 +http://111.29.9.38:6610/000000001000/1000000001000023734/index.m3u8?channel-id=ystenlive&Contentid=1000000001000023734&livemode=1&stbId=3$LR•IPV4•25『线路14』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 -http://153.0.171.163:9901/tsfile/live/1009_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•25『线路15』 +http://111.29.9.33:6610/000000001000/1000000001000023734/index.m3u8?channel-id=bestzb&Contentid=1000000001000023734&livemode=1&stbId=3$LR•IPV4•25『线路15』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226937/1.m3u8?$LR•IPV6•25『线路16』 +https://hwapi.yntv.net/ew265l/z1z6s5.m3u8$LR•IPV4•25『线路16』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 -https://hwapi.yntv.net/ew265l/z1z6s5.m3u8$LR•IPV4•25『线路17』 +http://222.223.41.27:8888/hls/10/index.m3u8$LR•IPV4•25『线路17』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 -http://222.223.41.27:8888/hls/10/index.m3u8$LR•IPV4•25『线路18』 +http://63.141.230.178:82/gslb/zbdq5.m3u8?id=cctv10hd$LR•IPV4•25『线路18』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 -http://63.141.230.178:82/gslb/zbdq5.m3u8?id=cctv10hd$LR•IPV4•25『线路19』 +http://113.25.252.226:9901/tsfile/live/1014_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•25『线路19』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 -http://113.25.252.226:9901/tsfile/live/1014_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•25『线路20』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226937/1.m3u8?$LR•IPV6•25『线路20』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 http://207.56.13.146:81/cdnlive/cctv10.m3u8$LR•IPV4•25『线路21』 #EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" group-title="央视",CCTV10 @@ -588,21 +592,21 @@ http://153.0.171.163:9901/tsfile/live/1010_1.m3u8?key=txiptv&playlive=1&authid=0 #EXTINF:-1 tvg-id="CCTV11" tvg-name="CCTV11" group-title="央视",CCTV11 http://112.27.235.94:8000/hls/12/index.m3u8$LR•IPV4•21『线路6』 #EXTINF:-1 tvg-id="CCTV11" tvg-name="CCTV11" group-title="央视",CCTV11 -http://60.10.139.113:8801/hls/96/index.m3u8$LR•IPV4•21『线路7』 +http://74.91.26.218:82/live/cctv11hd.m3u8$LR•IPV4•21『线路7』 #EXTINF:-1 tvg-id="CCTV11" tvg-name="CCTV11" group-title="央视",CCTV11 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040011&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路8』 +http://38.75.136.137:98/gslb/dsdqbv/cctv11hd.m3u8?auth=test20251009$LR•IPV4•21『线路8』 #EXTINF:-1 tvg-id="CCTV11" tvg-name="CCTV11" group-title="央视",CCTV11 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031106&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路9』 +http://60.10.139.113:8801/hls/96/index.m3u8$LR•IPV4•21『线路9』 #EXTINF:-1 tvg-id="CCTV11" tvg-name="CCTV11" group-title="央视",CCTV11 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000019789&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路10』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040011&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路10』 #EXTINF:-1 tvg-id="CCTV11" tvg-name="CCTV11" group-title="央视",CCTV11 -http://111.29.9.37:6610/000000001000/1000000002000019789/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•21『线路11』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031106&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路11』 #EXTINF:-1 tvg-id="CCTV11" tvg-name="CCTV11" group-title="央视",CCTV11 -http://111.29.9.33:6610/000000001000/1000000002000019789/index.m3u8?channel-id=bestzb&Contentid=1000000002000019789&livemode=1&stbId=3$LR•IPV4•21『线路12』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000019789&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路12』 #EXTINF:-1 tvg-id="CCTV11" tvg-name="CCTV11" group-title="央视",CCTV11 -http://74.91.26.218:82/live/cctv11hd.m3u8$LR•IPV4•21『线路13』 +http://111.29.9.37:6610/000000001000/1000000002000019789/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•21『线路13』 #EXTINF:-1 tvg-id="CCTV11" tvg-name="CCTV11" group-title="央视",CCTV11 -http://38.75.136.137:98/gslb/dsdqbv/cctv11hd.m3u8?auth=test20251009$LR•IPV4•21『线路14』 +http://111.29.9.33:6610/000000001000/1000000002000019789/index.m3u8?channel-id=bestzb&Contentid=1000000002000019789&livemode=1&stbId=3$LR•IPV4•21『线路14』 #EXTINF:-1 tvg-id="CCTV11" tvg-name="CCTV11" group-title="央视",CCTV11 http://183.196.25.171:808/hls/11/index.m3u8$LR•IPV4•21『线路15』 #EXTINF:-1 tvg-id="CCTV11" tvg-name="CCTV11" group-title="央视",CCTV11 @@ -626,27 +630,27 @@ http://153.0.171.163:9901/tsfile/live/1011_1.m3u8?key=txiptv&playlive=1&authid=0 #EXTINF:-1 tvg-id="CCTV12" tvg-name="CCTV12" group-title="央视",CCTV12 http://112.27.235.94:8000/hls/13/index.m3u8$LR•IPV4•20『线路4』 #EXTINF:-1 tvg-id="CCTV12" tvg-name="CCTV12" group-title="央视",CCTV12 -http://60.10.139.113:8801/hls/11/index.m3u8$LR•IPV4•20『线路5』 +http://38.75.136.137:98/gslb/dsdqbv/cctv12hd.m3u8?auth=test20251009$LR•IPV4•20『线路5』 #EXTINF:-1 tvg-id="CCTV12" tvg-name="CCTV12" group-title="央视",CCTV12 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040012&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路6』 +http://112.46.105.20:8009/hls/507/index.m3u8$LR•IPV4•20『线路6』 #EXTINF:-1 tvg-id="CCTV12" tvg-name="CCTV12" group-title="央视",CCTV12 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031107&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路7』 +http://60.10.139.113:8801/hls/11/index.m3u8$LR•IPV4•20『线路7』 #EXTINF:-1 tvg-id="CCTV12" tvg-name="CCTV12" group-title="央视",CCTV12 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000001640&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路8』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040012&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路8』 #EXTINF:-1 tvg-id="CCTV12" tvg-name="CCTV12" group-title="央视",CCTV12 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000032494&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路9』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031107&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路9』 #EXTINF:-1 tvg-id="CCTV12" tvg-name="CCTV12" group-title="央视",CCTV12 -http://111.29.9.39:6610/000000001000/1000000001000032494/index.m3u8?channel-id=ystenlive&Contentid=1000000001000032494&livemode=1&stbId=3$LR•IPV4•20『线路10』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000001640&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路10』 #EXTINF:-1 tvg-id="CCTV12" tvg-name="CCTV12" group-title="央视",CCTV12 -http://111.29.9.33:6610/000000001000/1000000001000001640/index.m3u8?channel-id=bestzb&Contentid=1000000001000001640&livemode=1&stbId=3$LR•IPV4•20『线路11』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000032494&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路11』 #EXTINF:-1 tvg-id="CCTV12" tvg-name="CCTV12" group-title="央视",CCTV12 -http://38.75.136.137:98/gslb/dsdqbv/cctv12hd.m3u8?auth=test20251009$LR•IPV4•20『线路12』 +http://111.29.9.39:6610/000000001000/1000000001000032494/index.m3u8?channel-id=ystenlive&Contentid=1000000001000032494&livemode=1&stbId=3$LR•IPV4•20『线路12』 #EXTINF:-1 tvg-id="CCTV12" tvg-name="CCTV12" group-title="央视",CCTV12 -http://112.46.105.20:8009/hls/507/index.m3u8$LR•IPV4•20『线路13』 +http://111.29.9.33:6610/000000001000/1000000001000001640/index.m3u8?channel-id=bestzb&Contentid=1000000001000001640&livemode=1&stbId=3$LR•IPV4•20『线路13』 #EXTINF:-1 tvg-id="CCTV12" tvg-name="CCTV12" group-title="央视",CCTV12 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226942/1.m3u8?$LR•IPV6•20『线路14』 +http://222.223.41.27:8888/hls/12/index.m3u8$LR•IPV4•20『线路14』 #EXTINF:-1 tvg-id="CCTV12" tvg-name="CCTV12" group-title="央视",CCTV12 -http://222.223.41.27:8888/hls/12/index.m3u8$LR•IPV4•20『线路15』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226942/1.m3u8?$LR•IPV6•20『线路15』 #EXTINF:-1 tvg-id="CCTV12" tvg-name="CCTV12" group-title="央视",CCTV12 http://207.56.13.146:81/cdnlive/cctv12.m3u8$LR•IPV4•20『线路16』 #EXTINF:-1 tvg-id="CCTV12" tvg-name="CCTV12" group-title="央视",CCTV12 @@ -666,39 +670,39 @@ http://153.0.171.163:9901/tsfile/live/1012_1.m3u8?key=txiptv&playlive=1&authid=0 #EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" group-title="央视",CCTV13 http://112.27.235.94:8000/hls/14/index.m3u8$LR•IPV4•21『线路4』 #EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" group-title="央视",CCTV13 -http://60.10.139.113:8801/hls/12/index.m3u8$LR•IPV4•21『线路5』 +http://74.91.26.218:82/live/cctv13hd.m3u8$LR•IPV4•21『线路5』 #EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" group-title="央视",CCTV13 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000001827&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路6』 +http://38.75.136.137:98/gslb/dsdqbv/cctv13hd.m3u8?auth=test20251009$LR•IPV4•21『线路6』 #EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" group-title="央视",CCTV13 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031108&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路7』 +http://60.10.139.113:8801/hls/12/index.m3u8$LR•IPV4•21『线路7』 #EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" group-title="央视",CCTV13 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000021303&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路8』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000001827&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路8』 #EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" group-title="央视",CCTV13 -http://111.29.9.35:6610/000000001000/1000000002000021303/index.m3u8?channel-id=ystenlive&Contentid=1000000002000021303&livemode=1&stbId=3$LR•IPV4•21『线路9』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031108&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路9』 #EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" group-title="央视",CCTV13 -http://111.29.9.33:6610/000000001000/1000000002000021303/index.m3u8?channel-id=bestzb&Contentid=1000000002000021303&livemode=1&stbId=3$LR•IPV4•21『线路10』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000021303&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路10』 #EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" group-title="央视",CCTV13 -http://74.91.26.218:82/live/cctv13hd.m3u8$LR•IPV4•21『线路11』 +http://111.29.9.35:6610/000000001000/1000000002000021303/index.m3u8?channel-id=ystenlive&Contentid=1000000002000021303&livemode=1&stbId=3$LR•IPV4•21『线路11』 #EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" group-title="央视",CCTV13 -http://38.75.136.137:98/gslb/dsdqbv/cctv13hd.m3u8?auth=test20251009$LR•IPV4•21『线路12』 +http://111.29.9.33:6610/000000001000/1000000002000021303/index.m3u8?channel-id=bestzb&Contentid=1000000002000021303&livemode=1&stbId=3$LR•IPV4•21『线路12』 #EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" group-title="央视",CCTV13 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226316/1.m3u8?$LR•IPV6•21『线路13』 +http://go.bkpcp.top/mg/cctv13$LR•IPV4•21『线路13』 #EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" group-title="央视",CCTV13 -https://event.pull.hebtv.com/jishi/cp1.m3u8$LR•IPV4•21『线路14』 +https://cdn3.163189.xyz/163189/cctv13$LR•IPV4•21『线路14』 #EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" group-title="央视",CCTV13 -http://207.56.13.146:81/cdnlive/cctv13.m3u8$LR•IPV4•21『线路15』 +https://event.pull.hebtv.com/jishi/cp1.m3u8$LR•IPV4•21『线路15』 #EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" group-title="央视",CCTV13 -http://192.151.150.154/live/cctv13hd.m3u8$LR•IPV4•21『线路16』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226316/1.m3u8?$LR•IPV6•21『线路16』 #EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" group-title="央视",CCTV13 -http://173.208.212.130:8181/1080p/cctv13.m3u8$LR•IPV4•21『线路17』 +http://207.56.13.146:81/cdnlive/cctv13.m3u8$LR•IPV4•21『线路17』 #EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" group-title="央视",CCTV13 -http://173.208.212.130:8181/720p/cctv13.m3u8$LR•IPV4•21『线路18』 +http://192.151.150.154/live/cctv13hd.m3u8$LR•IPV4•21『线路18』 #EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" group-title="央视",CCTV13 -http://204.12.221.218:8181/3m1080p/cctv13.m3u8$LR•IPV4•21『线路19』 +http://173.208.212.130:8181/1080p/cctv13.m3u8$LR•IPV4•21『线路19』 #EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" group-title="央视",CCTV13 -http://go.bkpcp.top/mg/cctv13$LR•IPV4•21『线路20』 +http://173.208.212.130:8181/720p/cctv13.m3u8$LR•IPV4•21『线路20』 #EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" group-title="央视",CCTV13 -https://cdn3.163189.xyz/163189/cctv13$LR•IPV4•21『线路21』 +http://204.12.221.218:8181/3m1080p/cctv13.m3u8$LR•IPV4•21『线路21』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 http://1.24.39.180:9003/hls/14/index.m3u8$LR•IPV4•24『线路1』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 @@ -710,37 +714,37 @@ http://153.0.171.163:9901/tsfile/live/1013_1.m3u8?key=txiptv&playlive=1&authid=0 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 http://112.27.235.94:8000/hls/15/index.m3u8$LR•IPV4•24『线路5』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 -http://60.10.139.113:8801/hls/13/index.m3u8$LR•IPV4•24『线路6』 +http://74.91.26.218:82/live/cctv14hd.m3u8$LR•IPV4•24『线路6』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000004000006673&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路7』 +http://38.75.136.137:98/gslb/dsdqbv/cctv14hd.m3u8?auth=test20251009$LR•IPV4•24『线路7』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000023358&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路8』 +http://60.10.139.113:8801/hls/13/index.m3u8$LR•IPV4•24『线路8』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000008170&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路9』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000004000006673&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路9』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000021349&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路10』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000023358&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路10』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000000172&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路11』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000008170&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路11』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 -http://111.29.9.36:6610/000000001000/5000000004000006673/index.m3u8?channel-id=bestzb&Contentid=5000000004000006673&livemode=1&stbId=3$LR•IPV4•24『线路12』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000021349&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路12』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 -http://111.29.9.33:6610/000000001000/1000000001000008170/index.m3u8?channel-id=bestzb&Contentid=1000000001000008170&livemode=1&stbId=3$LR•IPV4•24『线路13』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000000172&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路13』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 -http://74.91.26.218:82/live/cctv14hd.m3u8$LR•IPV4•24『线路14』 +http://111.29.9.36:6610/000000001000/5000000004000006673/index.m3u8?channel-id=bestzb&Contentid=5000000004000006673&livemode=1&stbId=3$LR•IPV4•24『线路14』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 -http://38.75.136.137:98/gslb/dsdqbv/cctv14hd.m3u8?auth=test20251009$LR•IPV4•24『线路15』 +http://111.29.9.33:6610/000000001000/1000000001000008170/index.m3u8?channel-id=bestzb&Contentid=1000000001000008170&livemode=1&stbId=3$LR•IPV4•24『线路15』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226947/1.m3u8?$LR•IPV6•24『线路16』 +https://event.pull.hebtv.com/jishi/cp2.m3u8$LR•IPV4•24『线路16』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 -https://event.pull.hebtv.com/jishi/cp2.m3u8$LR•IPV4•24『线路17』 +http://222.223.41.27:8888/hls/14/index.m3u8$LR•IPV4•24『线路17』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 -http://222.223.41.27:8888/hls/14/index.m3u8$LR•IPV4•24『线路18』 +http://204.12.221.218:8181/3m1080p/cctv14.m3u8$LR•IPV4•24『线路18』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 -http://204.12.221.218:8181/3m1080p/cctv14.m3u8$LR•IPV4•24『线路19』 +http://63.141.230.178:82/gslb/zbdq5.m3u8?id=cctv14hd$LR•IPV4•24『线路19』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 -http://63.141.230.178:82/gslb/zbdq5.m3u8?id=cctv14hd$LR•IPV4•24『线路20』 +http://173.208.212.130:8181/720p/cctv14.m3u8$LR•IPV4•24『线路20』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 -http://173.208.212.130:8181/720p/cctv14.m3u8$LR•IPV4•24『线路21』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226947/1.m3u8?$LR•IPV6•24『线路21』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 http://207.56.13.146:81/cdnlive/cctv14.m3u8$LR•IPV4•24『线路22』 #EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" group-title="央视",CCTV14 @@ -760,29 +764,29 @@ http://124.228.160.210:9901/tsfile/live/0015_1.m3u8?key=txiptv&playlive=1&authid #EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" group-title="央视",CCTV15 http://112.27.235.94:8000/hls/16/index.m3u8$LR•IPV4•22『线路6』 #EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" group-title="央视",CCTV15 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000018417&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路7』 +http://74.91.26.218:82/live/cctv15hd.m3u8$LR•IPV4•22『线路7』 #EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" group-title="央视",CCTV15 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031109&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路8』 +http://38.75.136.137:98/gslb/dsdqbv/cctv15hd.m3u8?auth=test20251009$LR•IPV4•22『线路8』 #EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" group-title="央视",CCTV15 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000008163&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路9』 +http://153.0.171.163:9901/tsfile/live/1014_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路9』 #EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" group-title="央视",CCTV15 -http://111.29.9.36:6610/000000001000/1000000002000008163/index.m3u8?channel-id=ystenlive&Contentid=1000000002000008163&livemode=1&stbId=3$LR•IPV4•22『线路10』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000018417&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路10』 #EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" group-title="央视",CCTV15 -http://111.29.9.33:6610/000000001000/1000000002000008163/index.m3u8?channel-id=bestzb&Contentid=1000000002000008163&livemode=1&stbId=3$LR•IPV4•22『线路11』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031109&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路11』 #EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" group-title="央视",CCTV15 -http://74.91.26.218:82/live/cctv15hd.m3u8$LR•IPV4•22『线路12』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000008163&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路12』 #EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" group-title="央视",CCTV15 -http://38.75.136.137:98/gslb/dsdqbv/cctv15hd.m3u8?auth=test20251009$LR•IPV4•22『线路13』 +http://111.29.9.36:6610/000000001000/1000000002000008163/index.m3u8?channel-id=ystenlive&Contentid=1000000002000008163&livemode=1&stbId=3$LR•IPV4•22『线路13』 #EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" group-title="央视",CCTV15 -http://153.0.171.163:9901/tsfile/live/1014_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路14』 +http://111.29.9.33:6610/000000001000/1000000002000008163/index.m3u8?channel-id=bestzb&Contentid=1000000002000008163&livemode=1&stbId=3$LR•IPV4•22『线路14』 #EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" group-title="央视",CCTV15 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226333/1.m3u8?$LR•IPV6•22『线路15』 +https://xykt-fix.github.io/play/a02e/index.m3u8$LR•IPV4•22『线路15』 #EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" group-title="央视",CCTV15 http://222.223.41.27:8888/hls/15/index.m3u8$LR•IPV4•22『线路16』 #EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" group-title="央视",CCTV15 http://173.208.212.130:8181/720p/cctv15.m3u8$LR•IPV4•22『线路17』 #EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" group-title="央视",CCTV15 -https://xykt-fix.github.io/play/a02e/index.m3u8$LR•IPV4•22『线路18』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226333/1.m3u8?$LR•IPV6•22『线路18』 #EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" group-title="央视",CCTV15 http://207.56.13.146:81/cdnlive/cctv15.m3u8$LR•IPV4•22『线路19』 #EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" group-title="央视",CCTV15 @@ -792,29 +796,31 @@ http://173.208.212.130:8181/1080p/cctv15.m3u8$LR•IPV4•22『线路21』 #EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" group-title="央视",CCTV15 http://204.12.221.218:8181/3m1080p/cctv15.m3u8$LR•IPV4•22『线路22』 #EXTINF:-1 tvg-id="CCTV16" tvg-name="CCTV16" group-title="央视",CCTV16 -http://1.24.39.180:9003/hls/60/index.m3u8$LR•IPV4•12『线路1』 +http://1.24.39.180:9003/hls/60/index.m3u8$LR•IPV4•13『线路1』 #EXTINF:-1 tvg-id="CCTV16" tvg-name="CCTV16" group-title="央视",CCTV16 -http://183.11.239.36:808/hls/169/index.m3u8$LR•IPV4•12『线路2』 +http://183.11.239.36:808/hls/169/index.m3u8$LR•IPV4•13『线路2』 #EXTINF:-1 tvg-id="CCTV16" tvg-name="CCTV16" group-title="央视",CCTV16 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000006000233001&livemode=1&stbId=yu&mode=1&$LR•IPV4•12『线路3』 +http://74.91.26.218:82/live/cctv16hd.m3u8$LR•IPV4•13『线路3』 #EXTINF:-1 tvg-id="CCTV16" tvg-name="CCTV16" group-title="央视",CCTV16 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000006000233002&livemode=1&stbId=yu&mode=1&$LR•IPV4•12『线路4』 +http://38.75.136.137:98/gslb/dsdqbv/cctv16hd.m3u8?auth=test20251009$LR•IPV4•13『线路4』 #EXTINF:-1 tvg-id="CCTV16" tvg-name="CCTV16" group-title="央视",CCTV16 -http://74.91.26.218:82/live/cctv16hd.m3u8$LR•IPV4•12『线路5』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000006000233001&livemode=1&stbId=yu&mode=1&$LR•IPV4•13『线路5』 #EXTINF:-1 tvg-id="CCTV16" tvg-name="CCTV16" group-title="央视",CCTV16 -http://38.75.136.137:98/gslb/dsdqbv/cctv16hd.m3u8?auth=test20251009$LR•IPV4•12『线路6』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000006000233002&livemode=1&stbId=yu&mode=1&$LR•IPV4•13『线路6』 #EXTINF:-1 tvg-id="CCTV16" tvg-name="CCTV16" group-title="央视",CCTV16 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227002/1.m3u8?$LR•IPV6•12『线路7』 +https://piccpndks.v.kcdnvip.com/audio/cctv16_2/index.m3u8$LR•IPV4•13『线路7』 #EXTINF:-1 tvg-id="CCTV16" tvg-name="CCTV16" group-title="央视",CCTV16 -http://207.56.13.146:81/cdnlive/cctv16.m3u8$LR•IPV4•12『线路8』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227002/1.m3u8?$LR•IPV6•13『线路8』 #EXTINF:-1 tvg-id="CCTV16" tvg-name="CCTV16" group-title="央视",CCTV16 -http://192.151.150.154/live/cctv16hd.m3u8$LR•IPV4•12『线路9』 +http://207.56.13.146:81/cdnlive/cctv16.m3u8$LR•IPV4•13『线路9』 #EXTINF:-1 tvg-id="CCTV16" tvg-name="CCTV16" group-title="央视",CCTV16 -http://173.208.212.130:8181/1080p/cctv16.m3u8$LR•IPV4•12『线路10』 +http://192.151.150.154/live/cctv16hd.m3u8$LR•IPV4•13『线路10』 #EXTINF:-1 tvg-id="CCTV16" tvg-name="CCTV16" group-title="央视",CCTV16 -http://173.208.212.130:8181/720p/cctv16.m3u8$LR•IPV4•12『线路11』 +http://173.208.212.130:8181/1080p/cctv16.m3u8$LR•IPV4•13『线路11』 #EXTINF:-1 tvg-id="CCTV16" tvg-name="CCTV16" group-title="央视",CCTV16 -http://204.12.221.218:8181/3m1080p/cctv16.m3u8$LR•IPV4•12『线路12』 +http://173.208.212.130:8181/720p/cctv16.m3u8$LR•IPV4•13『线路12』 +#EXTINF:-1 tvg-id="CCTV16" tvg-name="CCTV16" group-title="央视",CCTV16 +http://204.12.221.218:8181/3m1080p/cctv16.m3u8$LR•IPV4•13『线路13』 #EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" group-title="央视",CCTV17 http://1.24.39.180:9003/hls/61/index.m3u8$LR•IPV4•18『线路1』 #EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" group-title="央视",CCTV17 @@ -822,25 +828,25 @@ http://121.57.88.206:898/hls/17/index.m3u8$LR•IPV4•18『线路2』 #EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" group-title="央视",CCTV17 http://222.169.85.8:9901/tsfile/live/0007_1.m3u8$LR•IPV4•18『线路3』 #EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" group-title="央视",CCTV17 -http://60.10.139.113:8801/hls/98/index.m3u8$LR•IPV4•18『线路4』 +http://74.91.26.218:82/live/cctv17hd.m3u8$LR•IPV4•18『线路4』 #EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" group-title="央视",CCTV17 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000288014&livemode=1&stbId=yu&mode=1&$LR•IPV4•18『线路5』 +http://38.75.136.137:98/gslb/dsdqbv/cctv17hd.m3u8?auth=test20251009$LR•IPV4•18『线路5』 #EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" group-title="央视",CCTV17 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000056836&livemode=1&stbId=yu&mode=1&$LR•IPV4•18『线路6』 +http://60.10.139.113:8801/hls/98/index.m3u8$LR•IPV4•18『线路6』 #EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" group-title="央视",CCTV17 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000006000268004&livemode=1&stbId=yu&mode=1&$LR•IPV4•18『线路7』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000288014&livemode=1&stbId=yu&mode=1&$LR•IPV4•18『线路7』 #EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" group-title="央视",CCTV17 -http://111.29.9.33:6610/000000001000/1000000005000056836/index.m3u8?channel-id=bestzb&Contentid=1000000005000056836&livemode=1&stbId=3$LR•IPV4•18『线路8』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000056836&livemode=1&stbId=yu&mode=1&$LR•IPV4•18『线路8』 #EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" group-title="央视",CCTV17 -http://74.91.26.218:82/live/cctv17hd.m3u8$LR•IPV4•18『线路9』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000006000268004&livemode=1&stbId=yu&mode=1&$LR•IPV4•18『线路9』 #EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" group-title="央视",CCTV17 -http://38.75.136.137:98/gslb/dsdqbv/cctv17hd.m3u8?auth=test20251009$LR•IPV4•18『线路10』 +http://111.29.9.33:6610/000000001000/1000000005000056836/index.m3u8?channel-id=bestzb&Contentid=1000000005000056836&livemode=1&stbId=3$LR•IPV4•18『线路10』 #EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" group-title="央视",CCTV17 http://183.196.25.171:808/hls/93/index.m3u8$LR•IPV4•18『线路11』 #EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" group-title="央视",CCTV17 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226318/1.m3u8?$LR•IPV6•18『线路12』 +http://38.75.136.137:98/gslb/dsdqpub/cctv17hd.m3u8?auth=testpub$LR•IPV4•18『线路12』 #EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" group-title="央视",CCTV17 -http://38.75.136.137:98/gslb/dsdqpub/cctv17hd.m3u8?auth=testpub$LR•IPV4•18『线路13』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226318/1.m3u8?$LR•IPV6•18『线路13』 #EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" group-title="央视",CCTV17 http://207.56.13.146:81/cdnlive/cctv17.m3u8$LR•IPV4•18『线路14』 #EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" group-title="央视",CCTV17 @@ -854,11 +860,11 @@ http://204.12.221.218:8181/3m1080p/cctv17.m3u8$LR•IPV4•18『线路18』 #EXTINF:-1 tvg-id="CCTV第一剧场" tvg-name="CCTV第一剧场" group-title="央视",CCTV第一剧场 https://epg.pw/stream/6d7bf281e3d739806a73f5373acaa6e01988ec9739f5ac1355ce54b47a928472.m3u8$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="CCTV第一剧场" tvg-name="CCTV第一剧场" group-title="央视",CCTV第一剧场 -http://60.10.139.113:8801/hls/65/index.m3u8$LR•IPV4•7『线路2』 +http://38.75.136.137:98/gslb/dsdqpub/dyjc.m3u8?auth=testpub$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="CCTV第一剧场" tvg-name="CCTV第一剧场" group-title="央视",CCTV第一剧场 -http://38.75.136.137:98/gslb/dsdqpub/dyjc.m3u8?auth=testpub$LR•IPV4•7『线路3』 +http://xc.mfykeke.top:35455/nptv/dyjc.m3u8$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="CCTV第一剧场" tvg-name="CCTV第一剧场" group-title="央视",CCTV第一剧场 -http://xc.mfykeke.top:35455/nptv/dyjc.m3u8$LR•IPV4•7『线路4』 +http://60.10.139.113:8801/hls/65/index.m3u8$LR•IPV4•7『线路4』 #EXTINF:-1 tvg-id="CCTV第一剧场" tvg-name="CCTV第一剧场" group-title="央视",CCTV第一剧场 http://207.56.13.146:81/cdnlive/dyjc.m3u8$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="CCTV第一剧场" tvg-name="CCTV第一剧场" group-title="央视",CCTV第一剧场 @@ -866,11 +872,11 @@ http://192.151.150.154/live/dyjc.m3u8$LR•IPV4•7『线路6』 #EXTINF:-1 tvg-id="CCTV第一剧场" tvg-name="CCTV第一剧场" group-title="央视",CCTV第一剧场 http://173.208.212.130:8181/720p/dyjc.m3u8$LR•IPV4•7『线路7』 #EXTINF:-1 tvg-id="CCTV怀旧剧场" tvg-name="CCTV怀旧剧场" group-title="央视",CCTV怀旧剧场 -http://60.10.139.113:8801/hls/67/index.m3u8$LR•IPV4•6『线路1』 +http://38.75.136.137:98/gslb/dsdqpub/hjjc.m3u8?auth=testpub$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="CCTV怀旧剧场" tvg-name="CCTV怀旧剧场" group-title="央视",CCTV怀旧剧场 -http://38.75.136.137:98/gslb/dsdqpub/hjjc.m3u8?auth=testpub$LR•IPV4•6『线路2』 +http://xc.mfykeke.top:35455/nptv/hjjc.m3u8$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="CCTV怀旧剧场" tvg-name="CCTV怀旧剧场" group-title="央视",CCTV怀旧剧场 -http://xc.mfykeke.top:35455/nptv/hjjc.m3u8$LR•IPV4•6『线路3』 +http://60.10.139.113:8801/hls/67/index.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="CCTV怀旧剧场" tvg-name="CCTV怀旧剧场" group-title="央视",CCTV怀旧剧场 http://207.56.13.146:81/cdnlive/hjjc.m3u8$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="CCTV怀旧剧场" tvg-name="CCTV怀旧剧场" group-title="央视",CCTV怀旧剧场 @@ -878,11 +884,11 @@ http://192.151.150.154/live/hjjc.m3u8$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="CCTV怀旧剧场" tvg-name="CCTV怀旧剧场" group-title="央视",CCTV怀旧剧场 http://173.208.212.130:8181/720p/hjjc.m3u8$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="CCTV风云剧场" tvg-name="CCTV风云剧场" group-title="央视",CCTV风云剧场 -http://60.10.139.113:8801/hls/66/index.m3u8$LR•IPV4•6『线路1』 +http://38.75.136.137:98/gslb/dsdqpub/fyjc.m3u8?auth=testpub$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="CCTV风云剧场" tvg-name="CCTV风云剧场" group-title="央视",CCTV风云剧场 -http://38.75.136.137:98/gslb/dsdqpub/fyjc.m3u8?auth=testpub$LR•IPV4•6『线路2』 +http://xc.mfykeke.top:35455/nptv/fyjc.m3u8$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="CCTV风云剧场" tvg-name="CCTV风云剧场" group-title="央视",CCTV风云剧场 -http://xc.mfykeke.top:35455/nptv/fyjc.m3u8$LR•IPV4•6『线路3』 +http://60.10.139.113:8801/hls/66/index.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="CCTV风云剧场" tvg-name="CCTV风云剧场" group-title="央视",CCTV风云剧场 http://207.56.13.146:81/cdnlive/fyjc.m3u8$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="CCTV风云剧场" tvg-name="CCTV风云剧场" group-title="央视",CCTV风云剧场 @@ -890,9 +896,9 @@ http://192.151.150.154/live/fyjc.m3u8$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="CCTV风云剧场" tvg-name="CCTV风云剧场" group-title="央视",CCTV风云剧场 http://173.208.212.130:8181/720p/fyjc.m3u8$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="CCTV风云音乐" tvg-name="CCTV风云音乐" group-title="央视",CCTV风云音乐 -http://60.10.139.113:8801/hls/68/index.m3u8$LR•IPV4•5『线路1』 +http://38.75.136.137:98/gslb/dsdqpub/fyyy.m3u8?auth=testpub$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="CCTV风云音乐" tvg-name="CCTV风云音乐" group-title="央视",CCTV风云音乐 -http://38.75.136.137:98/gslb/dsdqpub/fyyy.m3u8?auth=testpub$LR•IPV4•5『线路2』 +http://60.10.139.113:8801/hls/68/index.m3u8$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="CCTV风云音乐" tvg-name="CCTV风云音乐" group-title="央视",CCTV风云音乐 http://207.56.13.146:81/cdnlive/fyyy.m3u8$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="CCTV风云音乐" tvg-name="CCTV风云音乐" group-title="央视",CCTV风云音乐 @@ -900,11 +906,11 @@ http://192.151.150.154/live/fyyy.m3u8$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="CCTV风云音乐" tvg-name="CCTV风云音乐" group-title="央视",CCTV风云音乐 http://173.208.212.130:8181/720p/fyyy.m3u8$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="CCTV兵器科技" tvg-name="CCTV兵器科技" group-title="央视",CCTV兵器科技 -http://60.10.139.113:8801/hls/72/index.m3u8$LR•IPV4•6『线路1』 +http://38.75.136.137:98/gslb/dsdqpub/gfjs.m3u8?auth=testpub$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="CCTV兵器科技" tvg-name="CCTV兵器科技" group-title="央视",CCTV兵器科技 -http://38.75.136.137:98/gslb/dsdqpub/gfjs.m3u8?auth=testpub$LR•IPV4•6『线路2』 +http://38.75.136.137:98/gslb/dsdqpub/bqkj.m3u8?auth=testpub$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="CCTV兵器科技" tvg-name="CCTV兵器科技" group-title="央视",CCTV兵器科技 -http://38.75.136.137:98/gslb/dsdqpub/bqkj.m3u8?auth=testpub$LR•IPV4•6『线路3』 +http://60.10.139.113:8801/hls/72/index.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="CCTV兵器科技" tvg-name="CCTV兵器科技" group-title="央视",CCTV兵器科技 http://207.56.13.146:81/cdnlive/gfjs.m3u8$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="CCTV兵器科技" tvg-name="CCTV兵器科技" group-title="央视",CCTV兵器科技 @@ -912,37 +918,37 @@ http://192.151.150.154/live/gfjs.m3u8$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="CCTV兵器科技" tvg-name="CCTV兵器科技" group-title="央视",CCTV兵器科技 http://173.208.212.130:8181/720p/gfjs.m3u8$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="CCTV风云足球" tvg-name="CCTV风云足球" group-title="央视",CCTV风云足球 -http://60.10.139.113:8801/hls/69/index.m3u8$LR•IPV4•17『线路1』 +http://38.75.136.137:98/gslb/dsdqpub/fyzq.m3u8?auth=testpub$LR•IPV4•17『线路1』 #EXTINF:-1 tvg-id="CCTV风云足球" tvg-name="CCTV风云足球" group-title="央视",CCTV风云足球 http://111.61.236.247:9081/hls/58/index.m3u8$LR•IPV4•17『线路2』 #EXTINF:-1 tvg-id="CCTV风云足球" tvg-name="CCTV风云足球" group-title="央视",CCTV风云足球 -https://epg.pw/stream/ac8062ec9484078061d3bef507c15a423ac57ae4144e3fcc4b0a198dd420f911.m3u8$LR•IPV4•17『线路3』 +http://60.10.139.113:8801/hls/69/index.m3u8$LR•IPV4•17『线路3』 #EXTINF:-1 tvg-id="CCTV风云足球" tvg-name="CCTV风云足球" group-title="央视",CCTV风云足球 -http://38.75.136.137:98/gslb/dsdqpub/fyzq.m3u8?auth=testpub$LR•IPV4•17『线路4』 +https://epg.pw/stream/ac8062ec9484078061d3bef507c15a423ac57ae4144e3fcc4b0a198dd420f911.m3u8$LR•IPV4•17『线路4』 #EXTINF:-1 tvg-id="CCTV风云足球" tvg-name="CCTV风云足球" group-title="央视",CCTV风云足球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5842&tk=a0c4f6cfaba3$LR•IPV4•17『线路5』 +http://www.qfly9236.cn:8888/rtp/239.253.92.110:8061$LR•IPV4•17『线路5』 #EXTINF:-1 tvg-id="CCTV风云足球" tvg-name="CCTV风云足球" group-title="央视",CCTV风云足球 -https://hls-gateway.vpstv.net/streams/708859.m3u8$LR•IPV4•17『线路6』 +http://dl.wifi942.com:66/jsyd/jsyd.php?id=G_FENGSHANGZQ-CQ$LR•IPV4•17『线路6』 #EXTINF:-1 tvg-id="CCTV风云足球" tvg-name="CCTV风云足球" group-title="央视",CCTV风云足球 -http://173.208.212.130:8181/720p/fyzq.m3u8$LR•IPV4•17『线路7』 +https://live.264788.xyz/channel/fengyunzuqiu?streamid=927ac8a2bbea16a44fbdc8cd59deabc8&livekey=01WgOR41rriMmMkzNsd0UoaxJRwetZdxIvtVk$LR•IPV4•17『线路7』 #EXTINF:-1 tvg-id="CCTV风云足球" tvg-name="CCTV风云足球" group-title="央视",CCTV风云足球 -http://[2409:8087:7001:20:2::3]/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226984/index.m3u8$LR•IPV6•17『线路8』 +https://hls-gateway.vpstv.net/streams/708859.m3u8$LR•IPV4•17『线路8』 #EXTINF:-1 tvg-id="CCTV风云足球" tvg-name="CCTV风云足球" group-title="央视",CCTV风云足球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2140&tk=f6cc1e0a0e1a$LR•IPV4•17『线路9』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4934&tk=a0c4f6cfaba3$LR•IPV4•17『线路9』 #EXTINF:-1 tvg-id="CCTV风云足球" tvg-name="CCTV风云足球" group-title="央视",CCTV风云足球 -https://live.goodiptv.club/api/yqgd.php?id=fyzq$LR•IPV4•17『线路10』 +http://207.56.13.146:81/cdnlive/fyzq.m3u8$LR•IPV4•17『线路10』 #EXTINF:-1 tvg-id="CCTV风云足球" tvg-name="CCTV风云足球" group-title="央视",CCTV风云足球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4934&tk=a0c4f6cfaba3$LR•IPV4•17『线路11』 +http://[2409:8087:7001:20:2::3]/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226984/index.m3u8$LR•IPV6•17『线路11』 #EXTINF:-1 tvg-id="CCTV风云足球" tvg-name="CCTV风云足球" group-title="央视",CCTV风云足球 -https://live.264788.xyz/channel/fengyunzuqiu?streamid=927ac8a2bbea16a44fbdc8cd59deabc8&livekey=01WgOR41rriMmMkzNsd0UoaxJRwetZdxIvtVk$LR•IPV4•17『线路12』 +http://173.208.212.130:8181/720p/fyzq.m3u8$LR•IPV4•17『线路12』 #EXTINF:-1 tvg-id="CCTV风云足球" tvg-name="CCTV风云足球" group-title="央视",CCTV风云足球 -http://63.141.230.178:82/gslb/zbdq5.m3u8?id=fyzq$LR•IPV4•17『线路13』 +https://live.goodiptv.club/api/yqgd.php?id=fyzq$LR•IPV4•17『线路13』 #EXTINF:-1 tvg-id="CCTV风云足球" tvg-name="CCTV风云足球" group-title="央视",CCTV风云足球 -http://dl.wifi942.com:66/jsyd/jsyd.php?id=G_FENGSHANGZQ-CQ$LR•IPV4•17『线路14』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2140&tk=f6cc1e0a0e1a$LR•IPV4•17『线路14』 #EXTINF:-1 tvg-id="CCTV风云足球" tvg-name="CCTV风云足球" group-title="央视",CCTV风云足球 -http://www.qfly9236.cn:8888/rtp/239.253.92.110:8061$LR•IPV4•17『线路15』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5842&tk=a0c4f6cfaba3$LR•IPV4•17『线路15』 #EXTINF:-1 tvg-id="CCTV风云足球" tvg-name="CCTV风云足球" group-title="央视",CCTV风云足球 -http://207.56.13.146:81/cdnlive/fyzq.m3u8$LR•IPV4•17『线路16』 +http://63.141.230.178:82/gslb/zbdq5.m3u8?id=fyzq$LR•IPV4•17『线路16』 #EXTINF:-1 tvg-id="CCTV风云足球" tvg-name="CCTV风云足球" group-title="央视",CCTV风云足球 http://192.151.150.154/live/fyzq.m3u8$LR•IPV4•17『线路17』 #EXTINF:-1 tvg-id="CCTV高尔夫网球" tvg-name="CCTV高尔夫网球" group-title="央视",CCTV高尔夫网球 @@ -958,29 +964,29 @@ https://epg.pw/stream/ca9c1cd4b97fb824cedd7fedfd0c7a950afdd7f00751cfbb7c2d89831d #EXTINF:-1 tvg-id="CCTV央视台球" tvg-name="CCTV央视台球" group-title="央视",CCTV央视台球 http://38.75.136.137:98/gslb/dsdqpub/ystq.m3u8?auth=testpub$LR•IPV4•12『线路2』 #EXTINF:-1 tvg-id="CCTV央视台球" tvg-name="CCTV央视台球" group-title="央视",CCTV央视台球 -http://www.qfly9236.cn:8888/rtp/239.253.93.231:6409$LR•IPV4•12『线路3』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5497&tk=a0c4f6cfaba3$LR•IPV4•12『线路3』 #EXTINF:-1 tvg-id="CCTV央视台球" tvg-name="CCTV央视台球" group-title="央视",CCTV央视台球 http://173.208.212.130:8181/720p/ystq.m3u8$LR•IPV4•12『线路4』 #EXTINF:-1 tvg-id="CCTV央视台球" tvg-name="CCTV央视台球" group-title="央视",CCTV央视台球 -https://hls-gateway.vpstv.net/streams/708855.m3u8$LR•IPV4•12『线路5』 +http://dl.wifi942.com:66/jsyd/jsyd.php?id=G_TAIQIU-CQ$LR•IPV4•12『线路5』 #EXTINF:-1 tvg-id="CCTV央视台球" tvg-name="CCTV央视台球" group-title="央视",CCTV央视台球 -http://dl.wifi942.com:66/jsyd/jsyd.php?id=G_TAIQIU-CQ$LR•IPV4•12『线路6』 +http://www.qfly9236.cn:8888/rtp/239.253.93.231:6409$LR•IPV4•12『线路6』 #EXTINF:-1 tvg-id="CCTV央视台球" tvg-name="CCTV央视台球" group-title="央视",CCTV央视台球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5497&tk=a0c4f6cfaba3$LR•IPV4•12『线路7』 +https://epg.pw/stream/25677ac2e8c1f7c3dd6359c43eb5f0f54efb3f5c11f9dda18d01b3e0308ed017.m3u8$LR•IPV4•12『线路7』 #EXTINF:-1 tvg-id="CCTV央视台球" tvg-name="CCTV央视台球" group-title="央视",CCTV央视台球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7711&tk=a0c4f6cfaba3$LR•IPV4•12『线路8』 +https://hls-gateway.vpstv.net/streams/708855.m3u8$LR•IPV4•12『线路8』 #EXTINF:-1 tvg-id="CCTV央视台球" tvg-name="CCTV央视台球" group-title="央视",CCTV央视台球 -http://dassby.qqff.top:99/live/高尔夫网球/index.m3u8$LR•IPV4•12『线路9』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7711&tk=a0c4f6cfaba3$LR•IPV4•12『线路9』 #EXTINF:-1 tvg-id="CCTV央视台球" tvg-name="CCTV央视台球" group-title="央视",CCTV央视台球 http://207.56.13.146:81/cdnlive/ystq.m3u8$LR•IPV4•12『线路10』 #EXTINF:-1 tvg-id="CCTV央视台球" tvg-name="CCTV央视台球" group-title="央视",CCTV央视台球 -https://epg.pw/stream/25677ac2e8c1f7c3dd6359c43eb5f0f54efb3f5c11f9dda18d01b3e0308ed017.m3u8$LR•IPV4•12『线路11』 +http://dassby.qqff.top:99/live/高尔夫网球/index.m3u8$LR•IPV4•12『线路11』 #EXTINF:-1 tvg-id="CCTV央视台球" tvg-name="CCTV央视台球" group-title="央视",CCTV央视台球 http://192.151.150.154/live/ystq.m3u8$LR•IPV4•12『线路12』 #EXTINF:-1 tvg-id="CCTV女性时尚" tvg-name="CCTV女性时尚" group-title="央视",CCTV女性时尚 -http://60.10.139.113:8801/hls/79/index.m3u8$LR•IPV4•5『线路1』 +http://38.75.136.137:98/gslb/dsdqpub/nxss.m3u8?auth=testpub$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="CCTV女性时尚" tvg-name="CCTV女性时尚" group-title="央视",CCTV女性时尚 -http://38.75.136.137:98/gslb/dsdqpub/nxss.m3u8?auth=testpub$LR•IPV4•5『线路2』 +http://60.10.139.113:8801/hls/79/index.m3u8$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="CCTV女性时尚" tvg-name="CCTV女性时尚" group-title="央视",CCTV女性时尚 http://207.56.13.146:81/cdnlive/nxss.m3u8$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="CCTV女性时尚" tvg-name="CCTV女性时尚" group-title="央视",CCTV女性时尚 @@ -988,21 +994,21 @@ http://192.151.150.154/live/nxss.m3u8$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="CCTV女性时尚" tvg-name="CCTV女性时尚" group-title="央视",CCTV女性时尚 http://173.208.212.130:8181/720p/nxss.m3u8$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="CCTV电视指南" tvg-name="CCTV电视指南" group-title="央视",CCTV电视指南 -http://60.10.139.113:8801/hls/64/index.m3u8$LR•IPV4•4『线路1』 +http://38.75.136.137:98/gslb/dsdqpub/dszn.m3u8?auth=testpub$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="CCTV电视指南" tvg-name="CCTV电视指南" group-title="央视",CCTV电视指南 -http://38.75.136.137:98/gslb/dsdqpub/dszn.m3u8?auth=testpub$LR•IPV4•4『线路2』 +http://www.tszhgjj.cn:7000/rtp/239.253.93.249:6427$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="CCTV电视指南" tvg-name="CCTV电视指南" group-title="央视",CCTV电视指南 -http://www.tszhgjj.cn:7000/rtp/239.253.93.249:6427$LR•IPV4•4『线路3』 +http://60.10.139.113:8801/hls/64/index.m3u8$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="CCTV电视指南" tvg-name="CCTV电视指南" group-title="央视",CCTV电视指南 http://192.151.150.154/live/dszn.m3u8$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="CCTV世界地理" tvg-name="CCTV世界地理" group-title="央视",CCTV世界地理 https://shcm-stream-cf1.stream.264788.xyz/cms001/ch00000090990000001620/index.m3u8?streamid=8a034b40397504e25b3775c772237996&streamkey=01vY5fRxC8VyKg4oq30vfikHXTCAKySLP29l6OG91kQlzDttHgzNLkUw5kivm3PfNsVHJv5FgdsPBYFYI2IWpt7tfRCuFHqLT2pvX67ubMds8jl2DHtvOh0&token=1775754349-4f33f4f84a4abeba-0-91687dc8c9325092efa1d00f330d2710$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="CCTV世界地理" tvg-name="CCTV世界地理" group-title="央视",CCTV世界地理 -http://60.10.139.113:8801/hls/73/index.m3u8$LR•IPV4•7『线路2』 +http://38.75.136.137:98/gslb/dsdqpub/sjdl.m3u8?auth=testpub$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="CCTV世界地理" tvg-name="CCTV世界地理" group-title="央视",CCTV世界地理 -http://38.75.136.137:98/gslb/dsdqpub/sjdl.m3u8?auth=testpub$LR•IPV4•7『线路3』 +http://111.61.236.247:9081/hls/62/index.m3u8$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="CCTV世界地理" tvg-name="CCTV世界地理" group-title="央视",CCTV世界地理 -http://111.61.236.247:9081/hls/62/index.m3u8$LR•IPV4•7『线路4』 +http://60.10.139.113:8801/hls/73/index.m3u8$LR•IPV4•7『线路4』 #EXTINF:-1 tvg-id="CCTV世界地理" tvg-name="CCTV世界地理" group-title="央视",CCTV世界地理 http://207.56.13.146:81/cdnlive/sjdl.m3u8$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="CCTV世界地理" tvg-name="CCTV世界地理" group-title="央视",CCTV世界地理 @@ -1018,25 +1024,25 @@ http://192.151.150.154/live/wsjk.m3u8$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="CCTV卫生健康" tvg-name="CCTV卫生健康" group-title="央视",CCTV卫生健康 http://173.208.212.130:8181/720p/wsjk.m3u8$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="CETV1" tvg-name="CETV1" group-title="央视",CETV1 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000027253&livemode=1&stbId=yu&mode=1&$LR•IPV4•6『线路1』 +http://117.161.133.51:81/gitv_live/G_CETV-1/G_CETV-1.m3u8?p=GITV$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="CETV1" tvg-name="CETV1" group-title="央视",CETV1 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000288015&livemode=1&stbId=yu&mode=1&$LR•IPV4•6『线路2』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000027253&livemode=1&stbId=yu&mode=1&$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="CETV1" tvg-name="CETV1" group-title="央视",CETV1 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000002000002652&livemode=1&stbId=yu&mode=1&$LR•IPV4•6『线路3』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000288015&livemode=1&stbId=yu&mode=1&$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="CETV1" tvg-name="CETV1" group-title="央视",CETV1 -http://117.161.133.51:81/gitv_live/G_CETV-1/G_CETV-1.m3u8?p=GITV$LR•IPV4•6『线路4』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000002000002652&livemode=1&stbId=yu&mode=1&$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="CETV1" tvg-name="CETV1" group-title="央视",CETV1 http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226494/1.m3u8?$LR•IPV6•6『线路5』 #EXTINF:-1 tvg-id="CETV1" tvg-name="CETV1" group-title="央视",CETV1 http://111.29.9.33:6610/000000001000/5000000002000002652/index.m3u8?channel-id=bestzb&Contentid=5000000002000002652&livemode=1&stbId=3$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="CETV2" tvg-name="CETV2" group-title="央视",CETV2 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000288017&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路1』 +http://117.161.133.51:81/gitv_live/G_CETV-2/G_CETV-2.m3u8?p=GITV$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="CETV2" tvg-name="CETV2" group-title="央视",CETV2 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000005000266004&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路2』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000288017&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="CETV2" tvg-name="CETV2" group-title="央视",CETV2 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031201&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路3』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000005000266004&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="CETV2" tvg-name="CETV2" group-title="央视",CETV2 -http://117.161.133.51:81/gitv_live/G_CETV-2/G_CETV-2.m3u8?p=GITV$LR•IPV4•5『线路4』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031201&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="CETV2" tvg-name="CETV2" group-title="央视",CETV2 http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226537/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E7AxXs4eTU2oiWrhopr9sHw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNxsM0Bor098BJglrhfEQTl%2CEND$LR•IPV6•5『线路5』 #EXTINF:-1 tvg-id="CETV4" tvg-name="CETV4" group-title="央视",CETV4 @@ -1050,15 +1056,15 @@ http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221 #EXTINF:-1 tvg-id="CETV4" tvg-name="CETV4" group-title="央视",CETV4 http://111.29.9.33:6610/000000001000/5000000011000031126/index.m3u8?channel-id=bestzb&Contentid=5000000011000031126&livemode=1&stbId=3$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="文化精品" tvg-name="文化精品" group-title="央视",文化精品 -http://60.10.139.113:8801/hls/80/index.m3u8$LR•IPV4•5『线路1』 +http://38.75.136.137:98/gslb/dsdqpub/ysjp.m3u8?auth=testpub$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="文化精品" tvg-name="文化精品" group-title="央视",文化精品 -http://207.56.13.146:81/cdnlive/ysjp.m3u8$LR•IPV4•5『线路2』 +http://60.10.139.113:8801/hls/80/index.m3u8$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="文化精品" tvg-name="文化精品" group-title="央视",文化精品 -http://192.151.150.154/live/ysjp.m3u8$LR•IPV4•5『线路3』 +http://207.56.13.146:81/cdnlive/ysjp.m3u8$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="文化精品" tvg-name="文化精品" group-title="央视",文化精品 -http://173.208.212.130:8181/720p/ysjp.m3u8$LR•IPV4•5『线路4』 +http://192.151.150.154/live/ysjp.m3u8$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="文化精品" tvg-name="文化精品" group-title="央视",文化精品 -http://38.75.136.137:98/gslb/dsdqpub/ysjp.m3u8?auth=testpub$LR•IPV4•5『线路5』 +http://173.208.212.130:8181/720p/ysjp.m3u8$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="CGTN英语" tvg-name="CGTN英语" group-title="央视",CGTN英语 https://0472.org/hls/cgtn.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="CGTN记录" tvg-name="CGTN记录" group-title="央视",CGTN记录 @@ -1074,13 +1080,13 @@ https://0472.org/hls/cgtnd.m3u8?3.24.120:5140$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="CGTN俄语" tvg-name="CGTN俄语" group-title="央视",CGTN俄语 https://0472.org/hls/cgtne.m3u8$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="CGTN俄语" tvg-name="CGTN俄语" group-title="央视",CGTN俄语 -https://russian-livews.cgtn.com/hls/LSvexABhNipibK5KRuUkvHZ7220802LSTeze9o8tdFXMHsb1VosgoT220802cd/playlist.m3u8$LR•IPV4•5『线路2』 +p3p://167.114.175.6:55331/60e648570006544872703d417386353f$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="CGTN俄语" tvg-name="CGTN俄语" group-title="央视",CGTN俄语 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000006000280004&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路3』 +https://russian-livews.cgtn.com/hls/LSvexABhNipibK5KRuUkvHZ7220802LSTeze9o8tdFXMHsb1VosgoT220802cd/playlist.m3u8$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="CGTN俄语" tvg-name="CGTN俄语" group-title="央视",CGTN俄语 -https://0472.org/hls/cgtne.m3u8?3.24.170:5140$LR•IPV4•5『线路4』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000006000280004&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="CGTN俄语" tvg-name="CGTN俄语" group-title="央视",CGTN俄语 -p3p://167.114.175.6:55331/60e648570006544872703d417386353f$LR•IPV4•5『线路5』 +https://0472.org/hls/cgtne.m3u8?3.24.170:5140$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="CGTN法语" tvg-name="CGTN法语" group-title="央视",CGTN法语 https://0472.org/hls/cgtnf.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="CGTN法语" tvg-name="CGTN法语" group-title="央视",CGTN法语 @@ -1110,21 +1116,21 @@ https://gcalic.v.myalicdn.com/gc/wgw05_1/index.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="重温经典" tvg-name="重温经典" group-title="卫视",重温经典 http://112.27.235.94:8000/hls/50/index.m3u8$LR•IPV4•9『线路1』 #EXTINF:-1 tvg-id="重温经典" tvg-name="重温经典" group-title="卫视",重温经典 -http://cdn6.163189.xyz/163189/cwjd$LR•IPV4•9『线路2』 +http://php.jdshipin.com/TVOD/iptv.php?id=cwjd$LR•IPV4•9『线路2』 #EXTINF:-1 tvg-id="重温经典" tvg-name="重温经典" group-title="卫视",重温经典 -http://push.cdn1.hls123.de:8080/streams/g0jj471jied/index.m3u8$LR•IPV4•9『线路3』 +http://ali.hlspull.yximgs.com/live/awei_cwjd.flv$LR•IPV4•9『线路3』 #EXTINF:-1 tvg-id="重温经典" tvg-name="重温经典" group-title="卫视",重温经典 -http://php.jdshipin.com/TVOD/iptv.php?id=cwjd$LR•IPV4•9『线路4』 +http://home.kuaidi521.com:35455/bptv/10000100000000050000000003887494.m3u8$LR•IPV4•9『线路4』 #EXTINF:-1 tvg-id="重温经典" tvg-name="重温经典" group-title="卫视",重温经典 -http://ali.hlspull.yximgs.com/live/awei_cwjd.flv$LR•IPV4•9『线路5』 +http://cdn3.132.us.kg/live/cwjd/stream.m3u8$LR•IPV4•9『线路5』 #EXTINF:-1 tvg-id="重温经典" tvg-name="重温经典" group-title="卫视",重温经典 -http://home.kuaidi521.com:35455/bptv/10000100000000050000000003887494.m3u8$LR•IPV4•9『线路6』 +http://43.251.226.89:8080/play/906.m3u8$LR•IPV4•9『线路6』 #EXTINF:-1 tvg-id="重温经典" tvg-name="重温经典" group-title="卫视",重温经典 -http://cdn3.132.us.kg/live/cwjd/stream.m3u8$LR•IPV4•9『线路7』 +p3p://167.114.175.6:55331/65c5064800047df41ad1a47449e93b8b$LR•IPV4•9『线路7』 #EXTINF:-1 tvg-id="重温经典" tvg-name="重温经典" group-title="卫视",重温经典 -http://43.251.226.89:8080/play/906.m3u8$LR•IPV4•9『线路8』 +http://cdn6.163189.xyz/163189/cwjd$LR•IPV4•9『线路8』 #EXTINF:-1 tvg-id="重温经典" tvg-name="重温经典" group-title="卫视",重温经典 -p3p://167.114.175.6:55331/65c5064800047df41ad1a47449e93b8b$LR•IPV4•9『线路9』 +http://push.cdn1.hls123.de:8080/streams/g0jj471jied/index.m3u8$LR•IPV4•9『线路9』 #EXTINF:-1 tvg-id="香港卫视" tvg-name="香港卫视" group-title="卫视",香港卫视 http://webcast.hkstv.tv/livestream/mutfysrq/playlist.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="香港卫视" tvg-name="香港卫视" group-title="卫视",香港卫视 @@ -1146,65 +1152,65 @@ https://stream1.freetv.fun/xing-kong-wei-shi-4.ctv$LR•IPV4•7『线路7』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 http://120.196.232.43:8088/rrs03.hw.gmcc.net/PLTV/651/224/3221226698/1.m3u8$LR•IPV4•29『线路1』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226509/1.m3u8?zoneoffset=480&servicetype=1&icpid=&limitflux=-1&limitdur=-1&tenantId=8601&accountinfo=%7E%7EV2.0%7EIGb_ib7rnBX9_sANRKq9sg%7EpK8OKM5JoJWWbLRyLfPcUMkwWZ90MzSI9S9PDltJsYzd0ZGcS3Tkh7syciNKJa-w60mDOdwtDyoNwCx9aRgzHNH9AUREV_qvNJtXHRPzYw0%7EExtInfo9bj61dxzlMXrsixrqcFYPg%3D%3D%3A20221022013542%2C915973%2C119.123.71.209%2C20221022013542%2C10000100000000050000000003873458%2C915973%2C-1%2C0%2C1%2C%2C%2C2%2C%2C%2C%2C2%2C%2C10000100000000060000000007253514_0%2CEND&GuardEncType=2$LR•IPV6•29『线路2』 +http://112.123.243.37:50085/tsfile/live/1002_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•29『线路2』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://112.123.243.37:50085/tsfile/live/1002_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•29『线路3』 +http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hnwshd$LR•IPV4•29『线路3』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hnwshd$LR•IPV4•29『线路4』 +http://153.0.171.163:9901/tsfile/live/0128_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•29『线路4』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://153.0.171.163:9901/tsfile/live/0128_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•29『线路5』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226509/1.m3u8?zoneoffset=480&servicetype=1&icpid=&limitflux=-1&limitdur=-1&tenantId=8601&accountinfo=%7E%7EV2.0%7EIGb_ib7rnBX9_sANRKq9sg%7EpK8OKM5JoJWWbLRyLfPcUMkwWZ90MzSI9S9PDltJsYzd0ZGcS3Tkh7syciNKJa-w60mDOdwtDyoNwCx9aRgzHNH9AUREV_qvNJtXHRPzYw0%7EExtInfo9bj61dxzlMXrsixrqcFYPg%3D%3D%3A20221022013542%2C915973%2C119.123.71.209%2C20221022013542%2C10000100000000050000000003873458%2C915973%2C-1%2C0%2C1%2C%2C%2C2%2C%2C%2C%2C2%2C%2C10000100000000060000000007253514_0%2CEND&GuardEncType=2$LR•IPV6•29『线路5』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 http://112.27.235.94:8000/hls/31/index.m3u8$LR•IPV4•29『线路6』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://60.10.139.113:8801/hls/17/index.m3u8$LR•IPV4•29『线路7』 +http://38.75.136.137:98/gslb/dsdqpub/hnwshd.m3u8?auth=testpub$LR•IPV4•29『线路7』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://207.56.13.146:81/cdnlive/hnws.m3u8$LR•IPV4•29『线路8』 +http://74.91.26.218:82/live/hnwshd.m3u8$LR•IPV4•29『线路8』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://192.151.150.154/live/hnwshd.m3u8$LR•IPV4•29『线路9』 +https://hlsbkmgsplive.miguvideo.com/wd-hunanhd-2500/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•29『线路9』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://173.208.212.130:8181/1080p/hnws.m3u8$LR•IPV4•29『线路10』 +https://hlsbkmgsplive.miguvideo.com/wd-hunanhd-1200/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•29『线路10』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://173.208.212.130:8181/720p/hnws.m3u8$LR•IPV4•29『线路11』 +http://23.237.228.134/live6/hunan.m3u8$LR•IPV4•29『线路11』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://204.12.221.218:8181/3m1080p/hnws.m3u8$LR•IPV4•29『线路12』 +http://gfr.x3322.net:9901/tsfile/live/1084_1.m3u8$LR•IPV4•29『线路12』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000009115&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路13』 +http://api.kkitv.itv888.cn:8080/hls/hoxiunz7ce/index.m3u8$LR•IPV4•29『线路13』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000032695&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路14』 +https://iptv.catvod.com/catvod.php?id=hunws$LR•IPV4•29『线路14』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265024&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路15』 +https://httop.top/ysp-湖南卫视$LR•IPV4•29『线路15』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6954818217931477266&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路16』 +http://iptv.huuc.edu.cn/hls/hunanhd.m3u8$LR•IPV4•29『线路16』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006692&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路17』 +http://60.10.139.113:8801/hls/17/index.m3u8$LR•IPV4•29『线路17』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000010000030452&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路18』 +http://207.56.13.146:81/cdnlive/hnws.m3u8$LR•IPV4•29『线路18』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://111.29.9.33:6610/000000001000/1000000001000009115/index.m3u8?channel-id=bestzb&Contentid=1000000001000009115&livemode=1&stbId=3$LR•IPV4•29『线路19』 +http://192.151.150.154/live/hnwshd.m3u8$LR•IPV4•29『线路19』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://38.75.136.137:98/gslb/dsdqpub/hnwshd.m3u8?auth=testpub$LR•IPV4•29『线路20』 +http://173.208.212.130:8181/1080p/hnws.m3u8$LR•IPV4•29『线路20』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://74.91.26.218:82/live/hnwshd.m3u8$LR•IPV4•29『线路21』 +http://173.208.212.130:8181/720p/hnws.m3u8$LR•IPV4•29『线路21』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -https://hlsbkmgsplive.miguvideo.com/wd-hunanhd-2500/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•29『线路22』 +http://204.12.221.218:8181/3m1080p/hnws.m3u8$LR•IPV4•29『线路22』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -https://hlsbkmgsplive.miguvideo.com/wd-hunanhd-1200/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•29『线路23』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000009115&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路23』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://23.237.228.134/live6/hunan.m3u8$LR•IPV4•29『线路24』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000032695&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路24』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://gfr.x3322.net:9901/tsfile/live/1084_1.m3u8$LR•IPV4•29『线路25』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265024&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路25』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://api.kkitv.itv888.cn:8080/hls/hoxiunz7ce/index.m3u8$LR•IPV4•29『线路26』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6954818217931477266&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路26』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -https://iptv.catvod.com/catvod.php?id=hunws$LR•IPV4•29『线路27』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006692&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路27』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -https://httop.top/ysp-湖南卫视$LR•IPV4•29『线路28』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000010000030452&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路28』 #EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" group-title="卫视",湖南卫视 -http://iptv.huuc.edu.cn/hls/hunanhd.m3u8$LR•IPV4•29『线路29』 +http://111.29.9.33:6610/000000001000/1000000001000009115/index.m3u8?channel-id=bestzb&Contentid=1000000001000009115&livemode=1&stbId=3$LR•IPV4•29『线路29』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 http://zwebl02.cztv.com/live/channel01720Pnew.m3u8?auth_key=1783518672-abafeb108fad7c478964c0ced1f0b11a-0-54138a5dbacfcbe8c2a5c28b6d569235$LR•IPV4•34『线路1』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226899/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ETYfTgTra_pUx2cPrgZ_BDw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•34『线路2』 +http://39.134.115.163:8080/PLTV/88888910/224/3221225703/index.m3u8$LR•IPV4•34『线路2』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 http://112.123.243.37:50085/tsfile/live/0019_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•34『线路3』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 @@ -1216,61 +1222,61 @@ http://ali-xwl.cztv.com/live/channel01720Plxw.m3u8$LR•IPV4•34『线路6』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 http://36.136.38.87:9901/tsfile/live/0124_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•34『线路7』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://112.27.235.94:8000/hls/29/index.m3u8$LR•IPV4•34『线路8』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226899/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ETYfTgTra_pUx2cPrgZ_BDw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•34『线路8』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://60.10.139.113:8801/hls/18/index.m3u8$LR•IPV4•34『线路9』 +http://112.27.235.94:8000/hls/29/index.m3u8$LR•IPV4•34『线路9』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://207.56.13.146:81/cdnlive/zjws.m3u8$LR•IPV4•34『线路10』 +http://38.75.136.137:98/gslb/dsdqpub/zjwshd.m3u8?auth=testpub$LR•IPV4•34『线路10』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://192.151.150.154/live/zjwshd.m3u8$LR•IPV4•34『线路11』 +http://23.237.228.134/live6/zhejiang.m3u8$LR•IPV4•34『线路11』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://173.208.212.130:8181/1080p/zjws.m3u8$LR•IPV4•34『线路12』 +http://gfr.x3322.net:9901/tsfile/live/1087_1.m3u8$LR•IPV4•34『线路12』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://173.208.212.130:8181/720p/zjws.m3u8$LR•IPV4•34『线路13』 +http://api.kkitv.itv888.cn:8080/hls/urjqjvyf41q/index.m3u8$LR•IPV4•34『线路13』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://204.12.221.218:8181/3m1080p/zjws.m3u8$LR•IPV4•34『线路14』 +https://iptv.catvod.com/catvod.php?id=zjws$LR•IPV4•34『线路14』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000007275&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路15』 +https://httop.top/ysp-浙江卫视$LR•IPV4•34『线路15』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000017320&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路16』 +http://iptv.huuc.edu.cn/hls/zjhd.m3u8$LR•IPV4•34『线路16』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000009806&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路17』 +http://153.0.171.163:9901/tsfile/live/0124_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•34『线路17』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000014260&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路18』 +http://60.10.139.113:8801/hls/18/index.m3u8$LR•IPV4•34『线路18』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=7889730693553663314&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路19』 +http://207.56.13.146:81/cdnlive/zjws.m3u8$LR•IPV4•34『线路19』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8$LR•IPV4•34『线路20』 +http://192.151.150.154/live/zjwshd.m3u8$LR•IPV4•34『线路20』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://ali-m-l.cztv.com:80/channels/lantian/channel001/1080p.m3u8#http://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8#https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8#https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8?#http://ali-m-l.cztv.com:80/channels/lantian/channel001/1080p.m3u8$LR•IPV4•34『线路21』 +http://173.208.212.130:8181/1080p/zjws.m3u8$LR•IPV4•34『线路21』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://183.215.134.239:19901/tsfile/live/0124_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•34『线路22』 +http://173.208.212.130:8181/720p/zjws.m3u8$LR•IPV4•34『线路22』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://ali-m-l.cztv.com/channels/lantian/channel001/720p.m3u8$LR•IPV4•34『线路23』 +http://204.12.221.218:8181/3m1080p/zjws.m3u8$LR•IPV4•34『线路23』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://ali-m-l.cztv.com:80/channels/lantian/channel001/1080p.m3u8$LR•IPV4•34『线路24』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000007275&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路24』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://111.29.9.33:6610/000000001000/1000000001000009806/index.m3u8?channel-id=bestzb&Contentid=1000000001000009806&livemode=1&stbId=3$LR•IPV4•34『线路25』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000017320&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路25』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://38.75.136.137:98/gslb/dsdqpub/zjwshd.m3u8?auth=testpub$LR•IPV4•34『线路26』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000009806&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路26』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://23.237.228.134/live6/zhejiang.m3u8$LR•IPV4•34『线路27』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000014260&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路27』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://gfr.x3322.net:9901/tsfile/live/1087_1.m3u8$LR•IPV4•34『线路28』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=7889730693553663314&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路28』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://api.kkitv.itv888.cn:8080/hls/urjqjvyf41q/index.m3u8$LR•IPV4•34『线路29』 +https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8$LR•IPV4•34『线路29』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -https://iptv.catvod.com/catvod.php?id=zjws$LR•IPV4•34『线路30』 +http://ali-m-l.cztv.com:80/channels/lantian/channel001/1080p.m3u8#http://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8#https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8#https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8?#http://ali-m-l.cztv.com:80/channels/lantian/channel001/1080p.m3u8$LR•IPV4•34『线路30』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -https://httop.top/ysp-浙江卫视$LR•IPV4•34『线路31』 +http://183.215.134.239:19901/tsfile/live/0124_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•34『线路31』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://iptv.huuc.edu.cn/hls/zjhd.m3u8$LR•IPV4•34『线路32』 +http://ali-m-l.cztv.com/channels/lantian/channel001/720p.m3u8$LR•IPV4•34『线路32』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://153.0.171.163:9901/tsfile/live/0124_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•34『线路33』 +http://ali-m-l.cztv.com:80/channels/lantian/channel001/1080p.m3u8$LR•IPV4•34『线路33』 #EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" group-title="卫视",浙江卫视 -http://39.134.115.163:8080/PLTV/88888910/224/3221225703/index.m3u8$LR•IPV4•34『线路34』 +http://111.29.9.33:6610/000000001000/1000000001000009806/index.m3u8?channel-id=bestzb&Contentid=1000000001000009806&livemode=1&stbId=3$LR•IPV4•34『线路34』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226898/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0uh4lyjjBCCN7TCq21vSIQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路1』 +http://118.81.195.79:9003/hls/23/index.m3u8$LR•IPV4•28『线路1』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 http://112.123.243.37:50085/tsfile/live/0124_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•28『线路2』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 @@ -1282,205 +1288,205 @@ https://txmov2.a.kwimgs.com/bs3/video-hls/5219953535631090825_hlsb.m3u8$LR•IPV #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 http://153.0.171.163:9901/tsfile/live/0107_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路6』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://60.10.139.113:8801/hls/22/index.m3u8$LR•IPV4•28『线路7』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226898/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0uh4lyjjBCCN7TCq21vSIQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路7』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://207.56.13.146:81/cdnlive/dfws.m3u8$LR•IPV4•28『线路8』 +http://38.75.136.137:98/gslb/dsdqbv/dfwshd.m3u8?auth=test20251009$LR•IPV4•28『线路8』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://192.151.150.154/live/dfwshd.m3u8$LR•IPV4•28『线路9』 +http://23.237.228.134/live3/dongfang.m3u8$LR•IPV4•28『线路9』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://173.208.212.130:8181/720p/dfws.m3u8$LR•IPV4•28『线路10』 +http://43.251.226.89:8080/play/36.m3u8$LR•IPV4•28『线路10』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://204.12.221.218:8181/3m1080p/dfws.m3u8$LR•IPV4•28『线路11』 +http://gfr.x3322.net:9901/tsfile/live/1085_1.m3u8$LR•IPV4•28『线路11』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000005866&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路12』 +http://api.kkitv.itv888.cn:8080/hls/p269fvbehye/index.m3u8$LR•IPV4•28『线路12』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000030202&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路13』 +https://iptv.catvod.com/catvod.php?id=dfws$LR•IPV4•28『线路13』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6081477947334326291&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路14』 +https://httop.top/ysp-东方卫视$LR•IPV4•28『线路14』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000014098&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路15』 +http://iptv.huuc.edu.cn/hls/dfhd.m3u8$LR•IPV4•28『线路15』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000010000032246&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路16』 +http://mg.hmysapp.cn:177/ckmg/zb.php?id=dfws$LR•IPV4•28『线路16』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://111.29.9.33:6610/000000001000/1000000001000005866/index.m3u8?channel-id=bestzb&Contentid=1000000001000005866&livemode=1&stbId=3$LR•IPV4•28『线路17』 +http://omnix.cn:4000/udp/225.1.8.45:8032$LR•IPV4•28『线路17』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://38.75.136.137:98/gslb/dsdqbv/dfwshd.m3u8?auth=test20251009$LR•IPV4•28『线路18』 +http://60.10.139.113:8801/hls/22/index.m3u8$LR•IPV4•28『线路18』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://23.237.228.134/live3/dongfang.m3u8$LR•IPV4•28『线路19』 +http://207.56.13.146:81/cdnlive/dfws.m3u8$LR•IPV4•28『线路19』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://43.251.226.89:8080/play/36.m3u8$LR•IPV4•28『线路20』 +http://192.151.150.154/live/dfwshd.m3u8$LR•IPV4•28『线路20』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://gfr.x3322.net:9901/tsfile/live/1085_1.m3u8$LR•IPV4•28『线路21』 +http://173.208.212.130:8181/720p/dfws.m3u8$LR•IPV4•28『线路21』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://api.kkitv.itv888.cn:8080/hls/p269fvbehye/index.m3u8$LR•IPV4•28『线路22』 +http://204.12.221.218:8181/3m1080p/dfws.m3u8$LR•IPV4•28『线路22』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -https://iptv.catvod.com/catvod.php?id=dfws$LR•IPV4•28『线路23』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000005866&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路23』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -https://httop.top/ysp-东方卫视$LR•IPV4•28『线路24』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000030202&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路24』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://iptv.huuc.edu.cn/hls/dfhd.m3u8$LR•IPV4•28『线路25』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6081477947334326291&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路25』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://mg.hmysapp.cn:177/ckmg/zb.php?id=dfws$LR•IPV4•28『线路26』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000014098&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路26』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://omnix.cn:4000/udp/225.1.8.45:8032$LR•IPV4•28『线路27』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000010000032246&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路27』 #EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" group-title="卫视",东方卫视 -http://118.81.195.79:9003/hls/23/index.m3u8$LR•IPV4•28『线路28』 +http://111.29.9.33:6610/000000001000/1000000001000005866/index.m3u8?channel-id=bestzb&Contentid=1000000001000005866&livemode=1&stbId=3$LR•IPV4•28『线路28』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226900/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EcYPi33WFyhvd6SjmqUKhJg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•26『线路1』 +http://go.bkpcp.top/mg/bjws$LR•IPV4•26『线路1』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 http://112.123.243.37:50085/tsfile/live/0127_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•26『线路2』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 http://153.0.171.163:9901/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路3』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://112.27.235.94:8000/hls/27/index.m3u8$LR•IPV4•26『线路4』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226900/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EcYPi33WFyhvd6SjmqUKhJg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•26『线路4』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://60.10.139.113:8801/hls/20/index.m3u8$LR•IPV4•26『线路5』 +http://112.27.235.94:8000/hls/27/index.m3u8$LR•IPV4•26『线路5』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://207.56.13.146:81/cdnlive/bjws.m3u8$LR•IPV4•26『线路6』 +http://38.75.136.137:98/gslb/dsdqpub/bjwshd.m3u8?auth=testpub$LR•IPV4•26『线路6』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://192.151.150.154/live/bjwshd.m3u8$LR•IPV4•26『线路7』 +http://23.237.228.134/live3/beijing.m3u8$LR•IPV4•26『线路7』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://173.208.212.130:8181/720p/bjws.m3u8$LR•IPV4•26『线路8』 +http://43.251.226.89:8080/play/40.m3u8$LR•IPV4•26『线路8』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://204.12.221.218:8181/3m1080p/bjws.m3u8$LR•IPV4•26『线路9』 +http://gfr.x3322.net:9901/tsfile/live/1089_1.m3u8$LR•IPV4•26『线路9』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000031556&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路10』 +http://api.kkitv.itv888.cn:8080/hls/h5uud1z84gn/index.m3u8$LR•IPV4•26『线路10』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000011502&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路11』 +https://iptv.catvod.com/catvod.php?id=bjws$LR•IPV4•26『线路11』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000017156&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路12』 +https://httop.top/ysp-北京卫视$LR•IPV4•26『线路12』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000021288&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路13』 +http://iptv.huuc.edu.cn/hls/btv1hd.m3u8$LR•IPV4•26『线路13』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265027&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路14』 +http://60.10.139.113:8801/hls/20/index.m3u8$LR•IPV4•26『线路14』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=8186688740528366039&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路15』 +http://207.56.13.146:81/cdnlive/bjws.m3u8$LR•IPV4•26『线路15』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://111.29.9.42:6610/000000001000/1000000001000017156/index.m3u8?channel-id=ystenlive&Contentid=1000000001000017156&livemode=1&stbId=3$LR•IPV4•26『线路16』 +http://192.151.150.154/live/bjwshd.m3u8$LR•IPV4•26『线路16』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://111.29.9.33:6610/000000001000/1000000001000017156/index.m3u8?channel-id=bestzb&Contentid=1000000001000017156&livemode=1&stbId=3$LR•IPV4•26『线路17』 +http://173.208.212.130:8181/720p/bjws.m3u8$LR•IPV4•26『线路17』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://38.75.136.137:98/gslb/dsdqpub/bjwshd.m3u8?auth=testpub$LR•IPV4•26『线路18』 +http://204.12.221.218:8181/3m1080p/bjws.m3u8$LR•IPV4•26『线路18』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://23.237.228.134/live3/beijing.m3u8$LR•IPV4•26『线路19』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000031556&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路19』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://43.251.226.89:8080/play/40.m3u8$LR•IPV4•26『线路20』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000011502&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路20』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://gfr.x3322.net:9901/tsfile/live/1089_1.m3u8$LR•IPV4•26『线路21』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000017156&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路21』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://api.kkitv.itv888.cn:8080/hls/h5uud1z84gn/index.m3u8$LR•IPV4•26『线路22』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000021288&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路22』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -https://iptv.catvod.com/catvod.php?id=bjws$LR•IPV4•26『线路23』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265027&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路23』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -https://httop.top/ysp-北京卫视$LR•IPV4•26『线路24』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=8186688740528366039&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路24』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://iptv.huuc.edu.cn/hls/btv1hd.m3u8$LR•IPV4•26『线路25』 +http://111.29.9.42:6610/000000001000/1000000001000017156/index.m3u8?channel-id=ystenlive&Contentid=1000000001000017156&livemode=1&stbId=3$LR•IPV4•26『线路25』 #EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" group-title="卫视",北京卫视 -http://go.bkpcp.top/mg/bjws$LR•IPV4•26『线路26』 +http://111.29.9.33:6610/000000001000/1000000001000017156/index.m3u8?channel-id=bestzb&Contentid=1000000001000017156&livemode=1&stbId=3$LR•IPV4•26『线路26』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226897/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0BmO6uHF7WFoTed__Xr3NQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路1』 +http://39.134.24.166/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226200/index.m3u8$LR•IPV4•27『线路1』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 http://112.123.243.37:50085/tsfile/live/0017_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•27『线路2』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 http://36.136.38.87:9901/tsfile/live/0127_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路3』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://112.27.235.94:8000/hls/32/index.m3u8$LR•IPV4•27『线路4』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226897/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0BmO6uHF7WFoTed__Xr3NQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路4』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://60.10.139.113:8801/hls/19/index.m3u8$LR•IPV4•27『线路5』 +http://112.27.235.94:8000/hls/32/index.m3u8$LR•IPV4•27『线路5』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://207.56.13.146:81/cdnlive/jsws.m3u8$LR•IPV4•27『线路6』 +http://38.75.136.137:98/gslb/dsdqbv/jswshd.m3u8?auth=test20251009$LR•IPV4•27『线路6』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://192.151.150.154/live/jswshd.m3u8$LR•IPV4•27『线路7』 +https://hlsbkmgsplive.miguvideo.com/migu/kailu/jswshd265/55/20200407/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•27『线路7』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://173.208.212.130:8181/1080p/jsws.m3u8$LR•IPV4•27『线路8』 +http://23.237.228.134/live3/jiangsu.m3u8$LR•IPV4•27『线路8』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://173.208.212.130:8181/720p/jsws.m3u8$LR•IPV4•27『线路9』 +http://43.251.226.89:8080/play/37.m3u8$LR•IPV4•27『线路9』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://204.12.221.218:8181/3m1080p/jsws.m3u8$LR•IPV4•27『线路10』 +http://gfr.x3322.net:9901/tsfile/live/1086_1.m3u8$LR•IPV4•27『线路10』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000004684&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路11』 +http://api.kkitv.itv888.cn:8080/hls/g1upm1u239/index.m3u8$LR•IPV4•27『线路11』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=4796340999304424198&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路12』 +https://httop.top/ysp-江苏卫视$LR•IPV4•27『线路12』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000019351&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路13』 +http://iptv.huuc.edu.cn/hls/jshd.m3u8$LR•IPV4•27『线路13』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000010000018509&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路14』 +http://mg.hmysapp.cn:177/ckmg/zb.php?id=jsws$LR•IPV4•27『线路14』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000001828&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路15』 +http://60.10.139.113:8801/hls/19/index.m3u8$LR•IPV4•27『线路15』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://111.29.9.42:6610/000000001000/5000000004000019351/index.m3u8?channel-id=bestzb&Contentid=5000000004000019351&livemode=1&stbId=3$LR•IPV4•27『线路16』 +http://207.56.13.146:81/cdnlive/jsws.m3u8$LR•IPV4•27『线路16』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://111.29.9.33:6610/000000001000/1000000001000001828/index.m3u8?channel-id=bestzb&Contentid=1000000001000001828&livemode=1&stbId=3$LR•IPV4•27『线路17』 +http://192.151.150.154/live/jswshd.m3u8$LR•IPV4•27『线路17』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://38.75.136.137:98/gslb/dsdqbv/jswshd.m3u8?auth=test20251009$LR•IPV4•27『线路18』 +http://173.208.212.130:8181/1080p/jsws.m3u8$LR•IPV4•27『线路18』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -https://hlsbkmgsplive.miguvideo.com/migu/kailu/jswshd265/55/20200407/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•27『线路19』 +http://173.208.212.130:8181/720p/jsws.m3u8$LR•IPV4•27『线路19』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://23.237.228.134/live3/jiangsu.m3u8$LR•IPV4•27『线路20』 +http://204.12.221.218:8181/3m1080p/jsws.m3u8$LR•IPV4•27『线路20』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://43.251.226.89:8080/play/37.m3u8$LR•IPV4•27『线路21』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000004684&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路21』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://gfr.x3322.net:9901/tsfile/live/1086_1.m3u8$LR•IPV4•27『线路22』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=4796340999304424198&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路22』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://api.kkitv.itv888.cn:8080/hls/g1upm1u239/index.m3u8$LR•IPV4•27『线路23』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000019351&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路23』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -https://httop.top/ysp-江苏卫视$LR•IPV4•27『线路24』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000010000018509&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路24』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://iptv.huuc.edu.cn/hls/jshd.m3u8$LR•IPV4•27『线路25』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000001828&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路25』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://mg.hmysapp.cn:177/ckmg/zb.php?id=jsws$LR•IPV4•27『线路26』 +http://111.29.9.42:6610/000000001000/5000000004000019351/index.m3u8?channel-id=bestzb&Contentid=5000000004000019351&livemode=1&stbId=3$LR•IPV4•27『线路26』 #EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" group-title="卫视",江苏卫视 -http://39.134.24.166/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226200/index.m3u8$LR•IPV4•27『线路27』 +http://111.29.9.33:6610/000000001000/1000000001000001828/index.m3u8?channel-id=bestzb&Contentid=1000000001000001828&livemode=1&stbId=3$LR•IPV4•27『线路27』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226943/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0QmKQ_slRCwvVVUUfxPVbw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•23『线路1』 +http://112.123.243.37:50085/tsfile/live/0130_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•23『线路1』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://112.123.243.37:50085/tsfile/live/0130_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•23『线路2』 +http://222.90.21.30:9901/hls/25/index.m3u8$LR•IPV4•23『线路2』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://222.90.21.30:9901/hls/25/index.m3u8$LR•IPV4•23『线路3』 +http://153.0.171.163:9901/tsfile/live/0130_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路3』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://153.0.171.163:9901/tsfile/live/0130_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路4』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226943/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0QmKQ_slRCwvVVUUfxPVbw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•23『线路4』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 http://112.27.235.94:8000/hls/26/index.m3u8$LR•IPV4•23『线路5』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://60.10.139.113:8801/hls/99/index.m3u8$LR•IPV4•23『线路6』 +http://23.237.228.134/live8/anhui.m3u8$LR•IPV4•23『线路6』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://207.56.13.146:81/cdnlive/ahws.m3u8$LR•IPV4•23『线路7』 +http://gfr.x3322.net:9901/tsfile/live/1092_1.m3u8$LR•IPV4•23『线路7』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://192.151.150.154/live/ahwshd.m3u8$LR•IPV4•23『线路8』 +http://api.kkitv.itv888.cn:8080/hls/m8hvytneunk/index.m3u8$LR•IPV4•23『线路8』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://173.208.212.130:8181/720p/ahws.m3u8$LR•IPV4•23『线路9』 +https://iptv.catvod.com/catvod.php?id=ahws$LR•IPV4•23『线路9』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://204.12.221.218:8181/3m1080p/ahws.m3u8$LR•IPV4•23『线路10』 +https://httop.top/ysp-安徽卫视$LR•IPV4•23『线路10』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000023002&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路11』 +http://iptv.huuc.edu.cn/hls/ahhd.m3u8$LR•IPV4•23『线路11』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000020780&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路12』 +http://60.10.139.113:8801/hls/99/index.m3u8$LR•IPV4•23『线路12』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000030159&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路13』 +http://207.56.13.146:81/cdnlive/ahws.m3u8$LR•IPV4•23『线路13』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000027288&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路14』 +http://192.151.150.154/live/ahwshd.m3u8$LR•IPV4•23『线路14』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265025&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路15』 +http://173.208.212.130:8181/720p/ahws.m3u8$LR•IPV4•23『线路15』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://111.29.9.34:6610/000000001000/1000000001000020780/index.m3u8?channel-id=ystenlive&Contentid=1000000001000020780&livemode=1&stbId=3$LR•IPV4•23『线路16』 +http://204.12.221.218:8181/3m1080p/ahws.m3u8$LR•IPV4•23『线路16』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://111.29.9.33:6610/000000001000/1000000001000020780/index.m3u8?channel-id=bestzb&Contentid=1000000001000020780&livemode=1&stbId=3$LR•IPV4•23『线路17』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000023002&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路17』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://23.237.228.134/live8/anhui.m3u8$LR•IPV4•23『线路18』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000020780&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路18』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://gfr.x3322.net:9901/tsfile/live/1092_1.m3u8$LR•IPV4•23『线路19』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000030159&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路19』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://api.kkitv.itv888.cn:8080/hls/m8hvytneunk/index.m3u8$LR•IPV4•23『线路20』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000027288&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路20』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -https://iptv.catvod.com/catvod.php?id=ahws$LR•IPV4•23『线路21』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265025&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路21』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -https://httop.top/ysp-安徽卫视$LR•IPV4•23『线路22』 +http://111.29.9.34:6610/000000001000/1000000001000020780/index.m3u8?channel-id=ystenlive&Contentid=1000000001000020780&livemode=1&stbId=3$LR•IPV4•23『线路22』 #EXTINF:-1 tvg-id="安徽卫视" tvg-name="安徽卫视" group-title="卫视",安徽卫视 -http://iptv.huuc.edu.cn/hls/ahhd.m3u8$LR•IPV4•23『线路23』 +http://111.29.9.33:6610/000000001000/1000000001000020780/index.m3u8?channel-id=bestzb&Contentid=1000000001000020780&livemode=1&stbId=3$LR•IPV4•23『线路23』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 http://tmpstream.hyrtv.cn/xwzh/sd/live.m3u8$LR•IPV4•23『线路1』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226963/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EjTXsJprEx2nE38tdvu5lhA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•23『线路2』 +http://118.81.195.79:9003/hls/22/index.m3u8$LR•IPV4•23『线路2』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 http://222.90.21.30:9901/hls/69/index.m3u8$LR•IPV4•23『线路3』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 @@ -1490,83 +1496,85 @@ http://112.123.243.37:50085/tsfile/live/0131_1.m3u8?key=txiptv&playlive=0&authid #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 http://153.0.171.163:9901/tsfile/live/0142_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路6』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 -http://112.27.235.94:8000/hls/36/index.m3u8$LR•IPV4•23『线路7』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226963/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EjTXsJprEx2nE38tdvu5lhA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•23『线路7』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 -http://60.10.139.113:8801/hls/31/index.m3u8$LR•IPV4•23『线路8』 +http://112.27.235.94:8000/hls/36/index.m3u8$LR•IPV4•23『线路8』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 -http://207.56.13.146:81/cdnlive/cqws.m3u8$LR•IPV4•23『线路9』 +http://23.237.228.134/live6/chongqing.m3u8$LR•IPV4•23『线路9』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 -http://192.151.150.154/live/cqwshd.m3u8$LR•IPV4•23『线路10』 +http://43.251.226.89:8080/play/55.m3u8$LR•IPV4•23『线路10』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 -http://204.12.221.218:8181/3m1080p/cqws.m3u8$LR•IPV4•23『线路11』 +http://gfr.x3322.net:9901/tsfile/live/1093_1.m3u8$LR•IPV4•23『线路11』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000025797&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路12』 +http://api.kkitv.itv888.cn:8080/hls/ogh3s6tbw6/index.m3u8$LR•IPV4•23『线路12』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000001096&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路13』 +https://iptv.catvod.com/catvod.php?id=cqws$LR•IPV4•23『线路13』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000018937&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路14』 +https://httop.top/ysp-重庆卫视$LR•IPV4•23『线路14』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 -http://111.29.9.33:6610/000000001000/1000000001000001096/index.m3u8?channel-id=bestzb&Contentid=1000000001000001096&livemode=1&stbId=3$LR•IPV4•23『线路15』 +http://iptv.huuc.edu.cn/hls/cqhd.m3u8$LR•IPV4•23『线路15』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 -http://23.237.228.134/live6/chongqing.m3u8$LR•IPV4•23『线路16』 +http://60.10.139.113:8801/hls/31/index.m3u8$LR•IPV4•23『线路16』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 -http://43.251.226.89:8080/play/55.m3u8$LR•IPV4•23『线路17』 +http://207.56.13.146:81/cdnlive/cqws.m3u8$LR•IPV4•23『线路17』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 -http://gfr.x3322.net:9901/tsfile/live/1093_1.m3u8$LR•IPV4•23『线路18』 +http://192.151.150.154/live/cqwshd.m3u8$LR•IPV4•23『线路18』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 -http://api.kkitv.itv888.cn:8080/hls/ogh3s6tbw6/index.m3u8$LR•IPV4•23『线路19』 +http://204.12.221.218:8181/3m1080p/cqws.m3u8$LR•IPV4•23『线路19』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 -https://iptv.catvod.com/catvod.php?id=cqws$LR•IPV4•23『线路20』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000025797&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路20』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 -https://httop.top/ysp-重庆卫视$LR•IPV4•23『线路21』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000001096&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路21』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 -http://iptv.huuc.edu.cn/hls/cqhd.m3u8$LR•IPV4•23『线路22』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000018937&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路22』 #EXTINF:-1 tvg-id="重庆卫视" tvg-name="重庆卫视" group-title="卫视",重庆卫视 -http://118.81.195.79:9003/hls/22/index.m3u8$LR•IPV4•23『线路23』 +http://111.29.9.33:6610/000000001000/1000000001000001096/index.m3u8?channel-id=bestzb&Contentid=1000000001000001096&livemode=1&stbId=3$LR•IPV4•23『线路23』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226995/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EBQiz3wrGrpG0CUSRIJ-7Jg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•21『线路1』 +https://piccpndks.v.kcdnvip.com/audio/sichuan_2/index.m3u8$LR•IPV4•22『线路1』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://222.90.21.30:9901/hls/45/index.m3u8$LR•IPV4•21『线路2』 +http://39.134.115.163:8080/PLTV/88888910/224/3221225733/index.m3u8$LR•IPV4•22『线路2』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://107.150.60.122/live/scwshd.m3u8$LR•IPV4•21『线路3』 +http://222.90.21.30:9901/hls/45/index.m3u8$LR•IPV4•22『线路3』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://222.169.85.8:9901/tsfile/live/0123_1.m3u8$LR•IPV4•21『线路4』 +http://107.150.60.122/live/scwshd.m3u8$LR•IPV4•22『线路4』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://112.123.243.37:50085/tsfile/live/0139_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•21『线路5』 +http://222.169.85.8:9901/tsfile/live/0123_1.m3u8$LR•IPV4•22『线路5』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://113.25.252.226:9901/tsfile/live/1031_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路6』 +http://112.123.243.37:50085/tsfile/live/0139_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•22『线路6』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://112.27.235.94:8000/hls/35/index.m3u8$LR•IPV4•21『线路7』 +http://113.25.252.226:9901/tsfile/live/1031_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路7』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://60.10.139.113:8801/hls/30/index.m3u8$LR•IPV4•21『线路8』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226995/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EBQiz3wrGrpG0CUSRIJ-7Jg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•22『线路8』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://207.56.13.146:81/cdnlive/scws.m3u8$LR•IPV4•21『线路9』 +http://112.27.235.94:8000/hls/35/index.m3u8$LR•IPV4•22『线路9』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://192.151.150.154/live/scwshd.m3u8$LR•IPV4•21『线路10』 +http://38.75.136.137:98/gslb/dsdqpub/scwshd.m3u8?auth=testpub$LR•IPV4•22『线路10』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://204.12.221.218:8181/3m1080p/scws.m3u8$LR•IPV4•21『线路11』 +http://api.kkitv.itv888.cn:8080/hls/p2npnppn96p/index.m3u8$LR•IPV4•22『线路11』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006119&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路12』 +https://iptv.catvod.com/catvod.php?id=scws$LR•IPV4•22『线路12』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000016825&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路13』 +https://httop.top/ysp-四川卫视$LR•IPV4•22『线路13』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://111.29.9.37:6610/000000001000/1000000002000016825/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•21『线路14』 +http://iptv.huuc.edu.cn/hls/schd.m3u8$LR•IPV4•22『线路14』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://111.29.9.33:6610/000000001000/1000000002000016825/index.m3u8?channel-id=bestzb&Contentid=1000000002000016825&livemode=1&stbId=3$LR•IPV4•21『线路15』 +http://60.10.139.113:8801/hls/30/index.m3u8$LR•IPV4•22『线路15』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://38.75.136.137:98/gslb/dsdqpub/scwshd.m3u8?auth=testpub$LR•IPV4•21『线路16』 +http://207.56.13.146:81/cdnlive/scws.m3u8$LR•IPV4•22『线路16』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://api.kkitv.itv888.cn:8080/hls/p2npnppn96p/index.m3u8$LR•IPV4•21『线路17』 +http://192.151.150.154/live/scwshd.m3u8$LR•IPV4•22『线路17』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -https://iptv.catvod.com/catvod.php?id=scws$LR•IPV4•21『线路18』 +http://204.12.221.218:8181/3m1080p/scws.m3u8$LR•IPV4•22『线路18』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -https://httop.top/ysp-四川卫视$LR•IPV4•21『线路19』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006119&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路19』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://iptv.huuc.edu.cn/hls/schd.m3u8$LR•IPV4•21『线路20』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000016825&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路20』 #EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 -http://39.134.115.163:8080/PLTV/88888910/224/3221225733/index.m3u8$LR•IPV4•21『线路21』 +http://111.29.9.37:6610/000000001000/1000000002000016825/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•22『线路21』 +#EXTINF:-1 tvg-id="四川卫视" tvg-name="四川卫视" group-title="卫视",四川卫视 +http://111.29.9.33:6610/000000001000/1000000002000016825/index.m3u8?channel-id=bestzb&Contentid=1000000002000016825&livemode=1&stbId=3$LR•IPV4•22『线路22』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226991/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQ6F5Mjgs0tJyEArWFL3vQA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路1』 +http://118.81.195.79:9003/hls/24/index.m3u8$LR•IPV4•27『线路1』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 http://live.zohi.tv/video/s10001-fztv-3/index.m3u8$LR•IPV4•27『线路2』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 @@ -1578,103 +1586,105 @@ http://36.136.38.87:9901/tsfile/live/0137_1.m3u8?key=txiptv&playlive=1&authid=0$ #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 http://153.0.171.163:9901/tsfile/live/0137_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路6』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://112.27.235.94:8000/hls/38/index.m3u8$LR•IPV4•27『线路7』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226991/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQ6F5Mjgs0tJyEArWFL3vQA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路7』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://60.10.139.113:8801/hls/21/index.m3u8$LR•IPV4•27『线路8』 +http://112.27.235.94:8000/hls/38/index.m3u8$LR•IPV4•27『线路8』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://207.56.13.146:81/cdnlive/dnws.m3u8$LR•IPV4•27『线路9』 +http://38.75.136.137:98/gslb/dsdqpub/dnwshd.m3u8?auth=testpub$LR•IPV4•27『线路9』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://192.151.150.154/live/dnwshd.m3u8$LR•IPV4•27『线路10』 +https://hlsbkmgsplive.miguvideo.com/migu/kailu/dongnanws/51/20230724/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•27『线路10』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://204.12.221.218:8181/3m1080p/dnws.m3u8$LR•IPV4•27『线路11』 +http://23.237.228.134/live6/dongnan.m3u8$LR•IPV4•27『线路11』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000010584&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路12』 +http://23.237.228.134/live8/gansu.m3u8$LR•IPV4•27『线路12』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000005829&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路13』 +http://43.251.226.89:8080/play/49.m3u8$LR•IPV4•27『线路13』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000009263&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路14』 +http://gfr.x3322.net:9901/tsfile/live/1099_1.m3u8$LR•IPV4•27『线路14』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://111.29.9.37:6610/000000001000/1000000002000009263/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•27『线路15』 +http://api.kkitv.itv888.cn:8080/hls/jjt15bvbl7a/index.m3u8$LR•IPV4•27『线路15』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://111.29.9.33:6610/000000001000/1000000002000009263/index.m3u8?channel-id=bestzb&Contentid=1000000002000009263&livemode=1&stbId=3$LR•IPV4•27『线路16』 +https://iptv.catvod.com/catvod.php?id=dnws$LR•IPV4•27『线路16』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://38.75.136.137:98/gslb/dsdqpub/dnwshd.m3u8?auth=testpub$LR•IPV4•27『线路17』 +https://httop.top/ysp-东南卫视$LR•IPV4•27『线路17』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -https://hlsbkmgsplive.miguvideo.com/migu/kailu/dongnanws/51/20230724/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•27『线路18』 +http://iptv.huuc.edu.cn/hls/dnhd.m3u8$LR•IPV4•27『线路18』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://23.237.228.134/live6/dongnan.m3u8$LR•IPV4•27『线路19』 +http://60.10.139.113:8801/hls/21/index.m3u8$LR•IPV4•27『线路19』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://23.237.228.134/live8/gansu.m3u8$LR•IPV4•27『线路20』 +http://207.56.13.146:81/cdnlive/dnws.m3u8$LR•IPV4•27『线路20』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://43.251.226.89:8080/play/49.m3u8$LR•IPV4•27『线路21』 +http://192.151.150.154/live/dnwshd.m3u8$LR•IPV4•27『线路21』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://gfr.x3322.net:9901/tsfile/live/1099_1.m3u8$LR•IPV4•27『线路22』 +http://204.12.221.218:8181/3m1080p/dnws.m3u8$LR•IPV4•27『线路22』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://api.kkitv.itv888.cn:8080/hls/jjt15bvbl7a/index.m3u8$LR•IPV4•27『线路23』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000010584&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路23』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -https://iptv.catvod.com/catvod.php?id=dnws$LR•IPV4•27『线路24』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000005829&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路24』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -https://httop.top/ysp-东南卫视$LR•IPV4•27『线路25』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000009263&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路25』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://iptv.huuc.edu.cn/hls/dnhd.m3u8$LR•IPV4•27『线路26』 +http://111.29.9.37:6610/000000001000/1000000002000009263/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•27『线路26』 #EXTINF:-1 tvg-id="东南卫视" tvg-name="东南卫视" group-title="卫视",东南卫视 -http://118.81.195.79:9003/hls/24/index.m3u8$LR•IPV4•27『线路27』 +http://111.29.9.33:6610/000000001000/1000000002000009263/index.m3u8?channel-id=bestzb&Contentid=1000000002000009263&livemode=1&stbId=3$LR•IPV4•27『线路27』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226959/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EGrVNEZREjuNVKiTJo2mtwg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路1』 +https://sztv-hls.sztv.com.cn/AxeFRth/500/827hx4F.m3u8?sign=81a984a7a0d86523a2458304ed14d6bb&t=6a4e6457$LR•IPV4•28『线路1』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://112.123.243.37:50085/tsfile/live/1000_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•27『线路2』 +http://112.123.243.37:50085/tsfile/live/1000_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•28『线路2』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://120.202.94.181:9446/tsfile/live/0126_1.m3u8?key=txiptv$LR•IPV4•27『线路3』 +http://120.202.94.181:9446/tsfile/live/0126_1.m3u8?key=txiptv$LR•IPV4•28『线路3』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://173.208.212.130:8181/720p/szws.m3u8$LR•IPV4•27『线路4』 +http://173.208.212.130:8181/720p/szws.m3u8$LR•IPV4•28『线路4』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://207.56.13.146:81/cdnlive/szws.m3u8$LR•IPV4•27『线路5』 +http://207.56.13.146:81/cdnlive/szws.m3u8$LR•IPV4•28『线路5』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://63.141.230.178:82/gslb/zbdq5.m3u8?id=szwshd$LR•IPV4•27『线路6』 +http://63.141.230.178:82/gslb/zbdq5.m3u8?id=szwshd$LR•IPV4•28『线路6』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://36.136.38.87:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路7』 +http://36.136.38.87:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路7』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://153.0.171.163:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路8』 +http://153.0.171.163:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路8』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://112.27.235.94:8000/hls/33/index.m3u8$LR•IPV4•27『线路9』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226959/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EGrVNEZREjuNVKiTJo2mtwg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路9』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://60.10.139.113:8801/hls/24/index.m3u8$LR•IPV4•27『线路10』 +http://112.27.235.94:8000/hls/33/index.m3u8$LR•IPV4•28『线路10』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://192.151.150.154/live/szwshd.m3u8$LR•IPV4•27『线路11』 +http://38.75.136.137:98/gslb/dsdqpub/szwshd.m3u8?auth=testpub$LR•IPV4•28『线路11』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://204.12.221.218:8181/3m1080p/szws.m3u8$LR•IPV4•27『线路12』 +http://23.237.228.134/live6/shenzhen.m3u8$LR•IPV4•28『线路12』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000024026&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路13』 +http://gfr.x3322.net:9901/tsfile/live/1095_1.m3u8$LR•IPV4•28『线路13』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000007410&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路14』 +http://api.kkitv.itv888.cn:8080/hls/iftsd32ykm/index.m3u8$LR•IPV4•28『线路14』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000009227&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路15』 +https://iptv.catvod.com/catvod.php?id=szws$LR•IPV4•28『线路15』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000011645&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路16』 +https://httop.top/ysp-深圳卫视$LR•IPV4•28『线路16』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=5352218613763113657&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路17』 +http://iptv.huuc.edu.cn/hls/szhd.m3u8$LR•IPV4•28『线路17』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://111.29.9.38:6610/000000001000/1000000001000009227/index.m3u8?channel-id=ystenlive&Contentid=1000000001000009227&livemode=1&stbId=3$LR•IPV4•27『线路18』 +http://38.64.72.148:80/hls/modn/list/4007/playlist.m3u8$LR•IPV4•28『线路18』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://111.29.9.33:6610/000000001000/1000000001000009227/index.m3u8?channel-id=bestzb&Contentid=1000000001000009227&livemode=1&stbId=3$LR•IPV4•27『线路19』 +http://60.10.139.113:8801/hls/24/index.m3u8$LR•IPV4•28『线路19』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://38.75.136.137:98/gslb/dsdqpub/szwshd.m3u8?auth=testpub$LR•IPV4•27『线路20』 +http://192.151.150.154/live/szwshd.m3u8$LR•IPV4•28『线路20』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://23.237.228.134/live6/shenzhen.m3u8$LR•IPV4•27『线路21』 +http://204.12.221.218:8181/3m1080p/szws.m3u8$LR•IPV4•28『线路21』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://gfr.x3322.net:9901/tsfile/live/1095_1.m3u8$LR•IPV4•27『线路22』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000024026&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路22』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://api.kkitv.itv888.cn:8080/hls/iftsd32ykm/index.m3u8$LR•IPV4•27『线路23』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000007410&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路23』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -https://iptv.catvod.com/catvod.php?id=szws$LR•IPV4•27『线路24』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000009227&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路24』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -https://httop.top/ysp-深圳卫视$LR•IPV4•27『线路25』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000011645&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路25』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://iptv.huuc.edu.cn/hls/szhd.m3u8$LR•IPV4•27『线路26』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=5352218613763113657&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路26』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 -http://38.64.72.148:80/hls/modn/list/4007/playlist.m3u8$LR•IPV4•27『线路27』 +http://111.29.9.38:6610/000000001000/1000000001000009227/index.m3u8?channel-id=ystenlive&Contentid=1000000001000009227&livemode=1&stbId=3$LR•IPV4•28『线路27』 +#EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="卫视",深圳卫视 +http://111.29.9.33:6610/000000001000/1000000001000009227/index.m3u8?channel-id=bestzb&Contentid=1000000001000009227&livemode=1&stbId=3$LR•IPV4•28『线路28』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226961/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E2MGyx659D_aaDPP0qt3NgA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路1』 +http://118.81.195.79:9003/hls/26/index.m3u8$LR•IPV4•28『线路1』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 http://112.123.243.37:50085/tsfile/live/0135_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•28『线路2』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 @@ -1684,53 +1694,53 @@ http://222.90.21.30:9901/hls/22/index.m3u8$LR•IPV4•28『线路4』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 http://153.0.171.163:9901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路5』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://112.27.235.94:8000/hls/30/index.m3u8$LR•IPV4•28『线路6』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226961/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E2MGyx659D_aaDPP0qt3NgA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路6』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://60.10.139.113:8801/hls/26/index.m3u8$LR•IPV4•28『线路7』 +http://112.27.235.94:8000/hls/30/index.m3u8$LR•IPV4•28『线路7』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://207.56.13.146:81/cdnlive/gdws.m3u8$LR•IPV4•28『线路8』 +http://38.75.136.137:98/gslb/dsdqpub/gdwshd.m3u8?auth=testpub$LR•IPV4•28『线路8』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://192.151.150.154/live/gdwshd.m3u8$LR•IPV4•28『线路9』 +http://23.237.228.134/live6/guangdong.m3u8$LR•IPV4•28『线路9』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://173.208.212.130:8181/720p/gdws.m3u8$LR•IPV4•28『线路10』 +http://43.251.226.89:8080/play/38.m3u8$LR•IPV4•28『线路10』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://204.12.221.218:8181/3m1080p/gdws.m3u8$LR•IPV4•28『线路11』 +http://gfr.x3322.net:9901/tsfile/live/1096_1.m3u8$LR•IPV4•28『线路11』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=5616881981321254555&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路12』 +http://api.kkitv.itv888.cn:8080/hls/qr6872071g/index.m3u8$LR•IPV4•28『线路12』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000030417&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路13』 +https://iptv.catvod.com/catvod.php?id=gdws$LR•IPV4•28『线路13』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000014694&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路14』 +https://httop.top/ysp-广东卫视$LR•IPV4•28『线路14』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000014176&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路15』 +http://iptv.huuc.edu.cn/hls/gdhd.m3u8$LR•IPV4•28『线路15』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000028357&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路16』 +http://mg.hmysapp.cn:177/ckmg/zb.php?id=gdws$LR•IPV4•28『线路16』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://111.29.9.36:6610/000000001000/1000000001000028357/index.m3u8?channel-id=ystenlive&Contentid=1000000001000028357&livemode=1&stbId=3$LR•IPV4•28『线路17』 +http://60.10.139.113:8801/hls/26/index.m3u8$LR•IPV4•28『线路17』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://111.29.9.33:6610/000000001000/1000000001000014176/index.m3u8?channel-id=bestzb&Contentid=1000000001000014176&livemode=1&stbId=3$LR•IPV4•28『线路18』 +http://207.56.13.146:81/cdnlive/gdws.m3u8$LR•IPV4•28『线路18』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://38.75.136.137:98/gslb/dsdqpub/gdwshd.m3u8?auth=testpub$LR•IPV4•28『线路19』 +http://192.151.150.154/live/gdwshd.m3u8$LR•IPV4•28『线路19』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://23.237.228.134/live6/guangdong.m3u8$LR•IPV4•28『线路20』 +http://173.208.212.130:8181/720p/gdws.m3u8$LR•IPV4•28『线路20』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://43.251.226.89:8080/play/38.m3u8$LR•IPV4•28『线路21』 +http://204.12.221.218:8181/3m1080p/gdws.m3u8$LR•IPV4•28『线路21』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://gfr.x3322.net:9901/tsfile/live/1096_1.m3u8$LR•IPV4•28『线路22』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=5616881981321254555&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路22』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://api.kkitv.itv888.cn:8080/hls/qr6872071g/index.m3u8$LR•IPV4•28『线路23』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000030417&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路23』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -https://iptv.catvod.com/catvod.php?id=gdws$LR•IPV4•28『线路24』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000014694&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路24』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -https://httop.top/ysp-广东卫视$LR•IPV4•28『线路25』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000014176&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路25』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://iptv.huuc.edu.cn/hls/gdhd.m3u8$LR•IPV4•28『线路26』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000028357&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路26』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://mg.hmysapp.cn:177/ckmg/zb.php?id=gdws$LR•IPV4•28『线路27』 +http://111.29.9.36:6610/000000001000/1000000001000028357/index.m3u8?channel-id=ystenlive&Contentid=1000000001000028357&livemode=1&stbId=3$LR•IPV4•28『线路27』 #EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" group-title="卫视",广东卫视 -http://118.81.195.79:9003/hls/26/index.m3u8$LR•IPV4•28『线路28』 +http://111.29.9.33:6610/000000001000/1000000001000014176/index.m3u8?channel-id=bestzb&Contentid=1000000001000014176&livemode=1&stbId=3$LR•IPV4•28『线路28』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227010/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkAhb-89sxdm9fz6-heXCuw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•21『线路1』 +http://118.81.195.79:9003/hls/27/index.m3u8$LR•IPV4•21『线路1』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 http://112.123.243.37:50085/tsfile/live/0137_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•21『线路2』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 @@ -1738,55 +1748,55 @@ http://36.136.38.87:9901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0$ #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 http://153.0.171.163:9901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路4』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 -https://hlscdn.liangtv.cn/live/de0f97348eb84f62aa6b7d8cf0430770/dd505d87880c478f901f38560ca4d4e6.m3u8$LR•IPV4•21『线路5』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227010/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkAhb-89sxdm9fz6-heXCuw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•21『线路5』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 -http://60.10.139.113:8801/hls/52/index.m3u8$LR•IPV4•21『线路6』 +https://hlscdn.liangtv.cn/live/de0f97348eb84f62aa6b7d8cf0430770/dd505d87880c478f901f38560ca4d4e6.m3u8$LR•IPV4•21『线路6』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 -http://207.56.13.146:81/cdnlive/gxws.m3u8$LR•IPV4•21『线路7』 +http://38.75.136.137:98/gslb/dsdqpub/gxwshd.m3u8?auth=testpub$LR•IPV4•21『线路7』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 -http://192.151.150.154/live/gxwshd.m3u8$LR•IPV4•21『线路8』 +http://pull-hls-f11.douyincdn.com/media/stream-695314078702240428.m3u8?arch_hrchy=w1&exp_hrchy=w1&expire=1771760950&major_anchor_level=common&sign=d9c21ca1151fa649e68dc18c13ac2e23&t_id=037-2026021519491078C5C8D15B8DDFD19426-OM31JH$LR•IPV4•21『线路8』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031118&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路9』 +http://23.237.228.134/live6/guangxi.m3u8$LR•IPV4•21『线路9』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040014&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路10』 +http://23.237.228.134/live6/guizhou.m3u8$LR•IPV4•21『线路10』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000019837&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路11』 +http://api.kkitv.itv888.cn:8080/hls/yvz4ndj9dqb/index.m3u8$LR•IPV4•21『线路11』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 -http://111.29.9.37:6610/000000001000/1000000002000019837/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•21『线路12』 +https://iptv.catvod.com/catvod.php?id=gxws$LR•IPV4•21『线路12』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 -http://111.29.9.33:6610/000000001000/1000000002000019837/index.m3u8?channel-id=bestzb&Contentid=1000000002000019837&livemode=1&stbId=3$LR•IPV4•21『线路13』 +https://httop.top/ysp-广西卫视$LR•IPV4•21『线路13』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 -http://38.75.136.137:98/gslb/dsdqpub/gxwshd.m3u8?auth=testpub$LR•IPV4•21『线路14』 +http://60.10.139.113:8801/hls/52/index.m3u8$LR•IPV4•21『线路14』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 -http://pull-hls-f11.douyincdn.com/media/stream-695314078702240428.m3u8?arch_hrchy=w1&exp_hrchy=w1&expire=1771760950&major_anchor_level=common&sign=d9c21ca1151fa649e68dc18c13ac2e23&t_id=037-2026021519491078C5C8D15B8DDFD19426-OM31JH$LR•IPV4•21『线路15』 +http://207.56.13.146:81/cdnlive/gxws.m3u8$LR•IPV4•21『线路15』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 -http://23.237.228.134/live6/guangxi.m3u8$LR•IPV4•21『线路16』 +http://192.151.150.154/live/gxwshd.m3u8$LR•IPV4•21『线路16』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 -http://23.237.228.134/live6/guizhou.m3u8$LR•IPV4•21『线路17』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031118&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路17』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 -http://api.kkitv.itv888.cn:8080/hls/yvz4ndj9dqb/index.m3u8$LR•IPV4•21『线路18』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040014&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路18』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 -https://iptv.catvod.com/catvod.php?id=gxws$LR•IPV4•21『线路19』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000019837&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路19』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 -https://httop.top/ysp-广西卫视$LR•IPV4•21『线路20』 +http://111.29.9.37:6610/000000001000/1000000002000019837/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•21『线路20』 #EXTINF:-1 tvg-id="广西卫视" tvg-name="广西卫视" group-title="卫视",广西卫视 -http://118.81.195.79:9003/hls/27/index.m3u8$LR•IPV4•21『线路21』 +http://111.29.9.33:6610/000000001000/1000000002000019837/index.m3u8?channel-id=bestzb&Contentid=1000000002000019837&livemode=1&stbId=3$LR•IPV4•21『线路21』 #EXTINF:-1 tvg-id="厦门卫视" tvg-name="厦门卫视" group-title="卫视",厦门卫视 -http://183.11.239.36:808/hls/17/index.m3u8$LR•IPV4•7『线路1』 +http://223.110.245.159/ott.js.chinamobile.com/PLTV/3/224/3221226996/index.m3u8$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="厦门卫视" tvg-name="厦门卫视" group-title="卫视",厦门卫视 -http://192.151.150.154/live/xmws.m3u8$LR•IPV4•7『线路2』 +http://112.25.48.68/live/program/live/xmws/1300000/mnf.m3u8$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="厦门卫视" tvg-name="厦门卫视" group-title="卫视",厦门卫视 -http://204.12.221.218:8181/3m1080p/xmws.m3u8$LR•IPV4•7『线路3』 +http://183.11.239.36:808/hls/17/index.m3u8$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="厦门卫视" tvg-name="厦门卫视" group-title="卫视",厦门卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000005000266006&livemode=1&stbId=yu&mode=1&$LR•IPV4•7『线路4』 +https://iptv.catvod.com/catvod.php?id=xmws$LR•IPV4•7『线路4』 #EXTINF:-1 tvg-id="厦门卫视" tvg-name="厦门卫视" group-title="卫视",厦门卫视 -https://iptv.catvod.com/catvod.php?id=xmws$LR•IPV4•7『线路5』 +http://192.151.150.154/live/xmws.m3u8$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="厦门卫视" tvg-name="厦门卫视" group-title="卫视",厦门卫视 -http://223.110.245.159/ott.js.chinamobile.com/PLTV/3/224/3221226996/index.m3u8$LR•IPV4•7『线路6』 +http://204.12.221.218:8181/3m1080p/xmws.m3u8$LR•IPV4•7『线路6』 #EXTINF:-1 tvg-id="厦门卫视" tvg-name="厦门卫视" group-title="卫视",厦门卫视 -http://112.25.48.68/live/program/live/xmws/1300000/mnf.m3u8$LR•IPV4•7『线路7』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000005000266006&livemode=1&stbId=yu&mode=1&$LR•IPV4•7『线路7』 #EXTINF:-1 tvg-id="甘肃卫视" tvg-name="甘肃卫视" group-title="卫视",甘肃卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227020/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Err-CLugPnTcUinEM8JeySg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•15『线路1』 +http://118.81.195.79:9003/hls/25/index.m3u8$LR•IPV4•15『线路1』 #EXTINF:-1 tvg-id="甘肃卫视" tvg-name="甘肃卫视" group-title="卫视",甘肃卫视 http://222.90.21.30:9901/hls/36/index.m3u8$LR•IPV4•15『线路2』 #EXTINF:-1 tvg-id="甘肃卫视" tvg-name="甘肃卫视" group-title="卫视",甘肃卫视 @@ -1796,161 +1806,163 @@ http://113.25.252.226:9901/tsfile/live/1047_1.m3u8?key=txiptv&playlive=1&authid= #EXTINF:-1 tvg-id="甘肃卫视" tvg-name="甘肃卫视" group-title="卫视",甘肃卫视 http://192.151.150.154/live/gswshd.m3u8$LR•IPV4•15『线路5』 #EXTINF:-1 tvg-id="甘肃卫视" tvg-name="甘肃卫视" group-title="卫视",甘肃卫视 -http://207.56.13.146:81/cdnlive/gsws.m3u8$LR•IPV4•15『线路6』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227020/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Err-CLugPnTcUinEM8JeySg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•15『线路6』 #EXTINF:-1 tvg-id="甘肃卫视" tvg-name="甘肃卫视" group-title="卫视",甘肃卫视 -http://204.12.221.218:8181/3m1080p/gsws.m3u8$LR•IPV4•15『线路7』 +https://iptv.catvod.com/catvod.php?id=gsws$LR•IPV4•15『线路7』 #EXTINF:-1 tvg-id="甘肃卫视" tvg-name="甘肃卫视" group-title="卫视",甘肃卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031121&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路8』 +https://httop.top/ysp-甘肃卫视$LR•IPV4•15『线路8』 #EXTINF:-1 tvg-id="甘肃卫视" tvg-name="甘肃卫视" group-title="卫视",甘肃卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000017827&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路9』 +http://207.56.13.146:81/cdnlive/gsws.m3u8$LR•IPV4•15『线路9』 #EXTINF:-1 tvg-id="甘肃卫视" tvg-name="甘肃卫视" group-title="卫视",甘肃卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040021&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路10』 +http://204.12.221.218:8181/3m1080p/gsws.m3u8$LR•IPV4•15『线路10』 #EXTINF:-1 tvg-id="甘肃卫视" tvg-name="甘肃卫视" group-title="卫视",甘肃卫视 -http://111.29.9.37:6610/000000001000/1000000002000017827/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•15『线路11』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031121&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路11』 #EXTINF:-1 tvg-id="甘肃卫视" tvg-name="甘肃卫视" group-title="卫视",甘肃卫视 -http://111.29.9.33:6610/000000001000/1000000002000017827/index.m3u8?channel-id=bestzb&Contentid=1000000002000017827&livemode=1&stbId=3$LR•IPV4•15『线路12』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000017827&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路12』 #EXTINF:-1 tvg-id="甘肃卫视" tvg-name="甘肃卫视" group-title="卫视",甘肃卫视 -https://iptv.catvod.com/catvod.php?id=gsws$LR•IPV4•15『线路13』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040021&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路13』 #EXTINF:-1 tvg-id="甘肃卫视" tvg-name="甘肃卫视" group-title="卫视",甘肃卫视 -https://httop.top/ysp-甘肃卫视$LR•IPV4•15『线路14』 +http://111.29.9.37:6610/000000001000/1000000002000017827/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•15『线路14』 #EXTINF:-1 tvg-id="甘肃卫视" tvg-name="甘肃卫视" group-title="卫视",甘肃卫视 -http://118.81.195.79:9003/hls/25/index.m3u8$LR•IPV4•15『线路15』 +http://111.29.9.33:6610/000000001000/1000000002000017827/index.m3u8?channel-id=bestzb&Contentid=1000000002000017827&livemode=1&stbId=3$LR•IPV4•15『线路15』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227012/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EnqBF03rFwPucF8ODtWxLQQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•23『线路1』 +http://183.207.248.71/gitv/live1/G_GUIZHOU/G_GUIZHOU$LR•IPV4•23『线路1』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://112.123.243.37:50085/tsfile/live/0130_2.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•23『线路2』 +http://39.134.115.163:8080/PLTV/88888910/224/3221225728/index.m3u8$LR•IPV4•23『线路2』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://107.150.60.122/live/gzwshd.m3u8$LR•IPV4•23『线路3』 +http://112.123.243.37:50085/tsfile/live/0130_2.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•23『线路3』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://222.90.21.30:9901/hls/34/index.m3u8$LR•IPV4•23『线路4』 +http://107.150.60.122/live/gzwshd.m3u8$LR•IPV4•23『线路4』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -https://gd202.tv1288.xyz/tsfile/live/1023_1.m3u8$LR•IPV4•23『线路5』 +http://222.90.21.30:9901/hls/34/index.m3u8$LR•IPV4•23『线路5』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://153.0.171.163:9901/tsfile/live/0120_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路6』 +https://gd202.tv1288.xyz/tsfile/live/1023_1.m3u8$LR•IPV4•23『线路6』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://112.27.235.94:8000/hls/46/index.m3u8$LR•IPV4•23『线路7』 +http://153.0.171.163:9901/tsfile/live/0120_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路7』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://60.10.139.113:8801/hls/36/index.m3u8$LR•IPV4•23『线路8』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227012/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EnqBF03rFwPucF8ODtWxLQQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•23『线路8』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://207.56.13.146:81/cdnlive/gzws.m3u8$LR•IPV4•23『线路9』 +http://112.27.235.94:8000/hls/46/index.m3u8$LR•IPV4•23『线路9』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://192.151.150.154/live/gzwshd.m3u8$LR•IPV4•23『线路10』 +http://38.75.136.137:98/gslb/dsdqpub/gzwshd.m3u8?auth=testpub$LR•IPV4•23『线路10』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://204.12.221.218:8181/3m1080p/gzws.m3u8$LR•IPV4•23『线路11』 +http://23.237.228.134/live6/hainan.m3u8$LR•IPV4•23『线路11』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000025843&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路12』 +http://gfr.x3322.net:9901/tsfile/live/1100_1.m3u8$LR•IPV4•23『线路12』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000003169&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路13』 +http://api.kkitv.itv888.cn:8080/hls/5dqtpf3arun/index.m3u8$LR•IPV4•23『线路13』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://111.29.9.44:6610/000000001000/5000000004000025843/index.m3u8?channel-id=bestzb&Contentid=5000000004000025843&livemode=1&stbId=3$LR•IPV4•23『线路14』 +https://iptv.catvod.com/catvod.php?id=gzws$LR•IPV4•23『线路14』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://111.29.9.33:6610/000000001000/1000000002000003169/index.m3u8?channel-id=bestzb&Contentid=1000000002000003169&livemode=1&stbId=3$LR•IPV4•23『线路15』 +https://httop.top/ysp-贵州卫视$LR•IPV4•23『线路15』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://38.75.136.137:98/gslb/dsdqpub/gzwshd.m3u8?auth=testpub$LR•IPV4•23『线路16』 +http://60.10.139.113:8801/hls/36/index.m3u8$LR•IPV4•23『线路16』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://23.237.228.134/live6/hainan.m3u8$LR•IPV4•23『线路17』 +http://207.56.13.146:81/cdnlive/gzws.m3u8$LR•IPV4•23『线路17』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://gfr.x3322.net:9901/tsfile/live/1100_1.m3u8$LR•IPV4•23『线路18』 +http://192.151.150.154/live/gzwshd.m3u8$LR•IPV4•23『线路18』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://api.kkitv.itv888.cn:8080/hls/5dqtpf3arun/index.m3u8$LR•IPV4•23『线路19』 +http://204.12.221.218:8181/3m1080p/gzws.m3u8$LR•IPV4•23『线路19』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -https://iptv.catvod.com/catvod.php?id=gzws$LR•IPV4•23『线路20』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000025843&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路20』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -https://httop.top/ysp-贵州卫视$LR•IPV4•23『线路21』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000003169&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路21』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://183.207.248.71/gitv/live1/G_GUIZHOU/G_GUIZHOU$LR•IPV4•23『线路22』 +http://111.29.9.44:6610/000000001000/5000000004000025843/index.m3u8?channel-id=bestzb&Contentid=5000000004000025843&livemode=1&stbId=3$LR•IPV4•23『线路22』 #EXTINF:-1 tvg-id="贵州卫视" tvg-name="贵州卫视" group-title="卫视",贵州卫视 -http://39.134.115.163:8080/PLTV/88888910/224/3221225728/index.m3u8$LR•IPV4•23『线路23』 +http://111.29.9.33:6610/000000001000/1000000002000003169/index.m3u8?channel-id=bestzb&Contentid=1000000002000003169&livemode=1&stbId=3$LR•IPV4•23『线路23』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227014/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ErSGjhI3DMaaAASPrbQJYTg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•21『线路1』 +https://tv.pull.hebtv.com/jishi/nongminpindao.m3u8?t=1783327215&k=768f81548dfa25e1b24b8756b10b0e20$LR•IPV4•22『线路1』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://112.123.243.37:50085/tsfile/live/0018_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•21『线路2』 +http://112.123.243.37:50085/tsfile/live/0018_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•22『线路2』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://222.90.21.30:9901/hls/44/index.m3u8$LR•IPV4•21『线路3』 +http://222.90.21.30:9901/hls/44/index.m3u8$LR•IPV4•22『线路3』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://192.151.150.154/live/hewshd.m3u8$LR•IPV4•21『线路4』 +http://192.151.150.154/live/hewshd.m3u8$LR•IPV4•22『线路4』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://36.136.38.87:9901/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路5』 +http://36.136.38.87:9901/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路5』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://153.0.171.163:9901/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路6』 +http://153.0.171.163:9901/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路6』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://112.27.235.94:8000/hls/39/index.m3u8$LR•IPV4•21『线路7』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227014/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ErSGjhI3DMaaAASPrbQJYTg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•22『线路7』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://60.10.139.113:8801/hls/16/index.m3u8$LR•IPV4•21『线路8』 +http://112.27.235.94:8000/hls/39/index.m3u8$LR•IPV4•22『线路8』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://207.56.13.146:81/cdnlive/hews.m3u8$LR•IPV4•21『线路9』 +http://23.237.228.134/live8/hebei.m3u8$LR•IPV4•22『线路9』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://173.208.212.130:8181/720p/hews.m3u8$LR•IPV4•21『线路10』 +http://43.251.226.89:8080/play/42.m3u8$LR•IPV4•22『线路10』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://204.12.221.218:8181/3m1080p/hews.m3u8$LR•IPV4•21『线路11』 +http://gfr.x3322.net:9901/tsfile/live/1091_1.m3u8$LR•IPV4•22『线路11』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040016&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路12』 +https://iptv.catvod.com/catvod.php?id=hbws$LR•IPV4•22『线路12』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000017118&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路13』 +https://httop.top/ysp-河北卫视$LR•IPV4•22『线路13』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://111.29.9.37:6610/000000001000/1000000002000017118/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•21『线路14』 +http://iptv.huuc.edu.cn/hls/hebhd.m3u8$LR•IPV4•22『线路14』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://111.29.9.33:6610/000000001000/1000000002000017118/index.m3u8?channel-id=bestzb&Contentid=1000000002000017118&livemode=1&stbId=3$LR•IPV4•21『线路15』 +http://60.10.139.113:8801/hls/16/index.m3u8$LR•IPV4•22『线路15』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://23.237.228.134/live8/hebei.m3u8$LR•IPV4•21『线路16』 +http://207.56.13.146:81/cdnlive/hews.m3u8$LR•IPV4•22『线路16』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://43.251.226.89:8080/play/42.m3u8$LR•IPV4•21『线路17』 +http://173.208.212.130:8181/720p/hews.m3u8$LR•IPV4•22『线路17』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://gfr.x3322.net:9901/tsfile/live/1091_1.m3u8$LR•IPV4•21『线路18』 +http://204.12.221.218:8181/3m1080p/hews.m3u8$LR•IPV4•22『线路18』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -https://iptv.catvod.com/catvod.php?id=hbws$LR•IPV4•21『线路19』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040016&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路19』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -https://httop.top/ysp-河北卫视$LR•IPV4•21『线路20』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000017118&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路20』 #EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 -http://iptv.huuc.edu.cn/hls/hebhd.m3u8$LR•IPV4•21『线路21』 +http://111.29.9.37:6610/000000001000/1000000002000017118/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•22『线路21』 +#EXTINF:-1 tvg-id="河北卫视" tvg-name="河北卫视" group-title="卫视",河北卫视 +http://111.29.9.33:6610/000000001000/1000000002000017118/index.m3u8?channel-id=bestzb&Contentid=1000000002000017118&livemode=1&stbId=3$LR•IPV4•22『线路22』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 http://tvcdn.stream3.hndt.com/tv/65c4a6d5017e1000b2b6ea2500000000_transios/playlist.m3u8?wsSecret=3349ed85d315534f17d152a0e8c90f6a&wsTime=1783529303$LR•IPV4•23『线路1』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://222.90.21.30:9901/hls/31/index.m3u8$LR•IPV4•23『线路2』 +http://118.81.195.79:9003/hls/30/index.m3u8$LR•IPV4•23『线路2』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://112.123.243.37:50085/tsfile/live/0121_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•23『线路3』 +http://222.90.21.30:9901/hls/31/index.m3u8$LR•IPV4•23『线路3』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://36.136.38.87:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路4』 +http://112.123.243.37:50085/tsfile/live/0121_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•23『线路4』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://112.27.235.94:8000/hls/37/index.m3u8$LR•IPV4•23『线路5』 +http://36.136.38.87:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路5』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://60.10.139.113:8801/hls/32/index.m3u8$LR•IPV4•23『线路6』 +http://112.27.235.94:8000/hls/37/index.m3u8$LR•IPV4•23『线路6』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://1.94.31.214/php/hntv.php?id=hnws#http://lxajh.top/tv/hn.php?id=hnws$LR•IPV4•23『线路7』 +http://38.75.136.137:98/gslb/dsdqpub/hawshd.m3u8?auth=testpub$LR•IPV4•23『线路7』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://207.56.13.146:81/cdnlive/haws.m3u8$LR•IPV4•23『线路8』 +http://23.237.228.134/live6/henan.m3u8$LR•IPV4•23『线路8』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://192.151.150.154/live/hawshd.m3u8$LR•IPV4•23『线路9』 +http://43.251.226.89:8080/play/44.m3u8$LR•IPV4•23『线路9』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://173.208.212.130:8181/720p/haws.m3u8$LR•IPV4•23『线路10』 +https://iptv.catvod.com/catvod.php?id=hnws$LR•IPV4•23『线路10』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://204.12.221.218:8181/3m1080p/haws.m3u8$LR•IPV4•23『线路11』 +https://httop.top/ysp-河南卫视$LR•IPV4•23『线路11』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000017925&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路12』 +http://153.0.171.163:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路12』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://1.94.31.214/php/hntv.php?id=hnws$LR•IPV4•23『线路13』 +http://60.10.139.113:8801/hls/32/index.m3u8$LR•IPV4•23『线路13』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031119&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路14』 +http://1.94.31.214/php/hntv.php?id=hnws#http://lxajh.top/tv/hn.php?id=hnws$LR•IPV4•23『线路14』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7304224304099543804&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路15』 +http://207.56.13.146:81/cdnlive/haws.m3u8$LR•IPV4•23『线路15』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://111.29.9.33:6610/000000001000/5000000011000031119/index.m3u8?channel-id=bestzb&Contentid=5000000011000031119&livemode=1&stbId=3$LR•IPV4•23『线路16』 +http://192.151.150.154/live/hawshd.m3u8$LR•IPV4•23『线路16』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://38.75.136.137:98/gslb/dsdqpub/hawshd.m3u8?auth=testpub$LR•IPV4•23『线路17』 +http://173.208.212.130:8181/720p/haws.m3u8$LR•IPV4•23『线路17』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://23.237.228.134/live6/henan.m3u8$LR•IPV4•23『线路18』 +http://204.12.221.218:8181/3m1080p/haws.m3u8$LR•IPV4•23『线路18』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://43.251.226.89:8080/play/44.m3u8$LR•IPV4•23『线路19』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000017925&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路19』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -https://iptv.catvod.com/catvod.php?id=hnws$LR•IPV4•23『线路20』 +http://1.94.31.214/php/hntv.php?id=hnws$LR•IPV4•23『线路20』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -https://httop.top/ysp-河南卫视$LR•IPV4•23『线路21』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031119&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路21』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://153.0.171.163:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路22』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7304224304099543804&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路22』 #EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" group-title="卫视",河南卫视 -http://118.81.195.79:9003/hls/30/index.m3u8$LR•IPV4•23『线路23』 +http://111.29.9.33:6610/000000001000/5000000011000031119/index.m3u8?channel-id=bestzb&Contentid=5000000011000031119&livemode=1&stbId=3$LR•IPV4•23『线路23』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226965/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E7UiKL56-L86ihmTWaZ6csw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•24『线路1』 +http://118.81.195.79:9003/hls/31/index.m3u8$LR•IPV4•24『线路1』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 http://112.123.243.37:50085/tsfile/live/0142_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•24『线路2』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 @@ -1960,45 +1972,45 @@ http://107.150.60.122/live/hljwshd.m3u8$LR•IPV4•24『线路4』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 http://36.136.38.87:9901/tsfile/live/0143_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路5』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -http://112.27.235.94:8000/hls/48/index.m3u8$LR•IPV4•24『线路6』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226965/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E7UiKL56-L86ihmTWaZ6csw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•24『线路6』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -http://60.10.139.113:8801/hls/27/index.m3u8$LR•IPV4•24『线路7』 +http://112.27.235.94:8000/hls/48/index.m3u8$LR•IPV4•24『线路7』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -http://207.56.13.146:81/cdnlive/hljws.m3u8$LR•IPV4•24『线路8』 +http://38.75.136.137:98/gslb/dsdqpub/hljwshd.m3u8?auth=testpub$LR•IPV4•24『线路8』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -http://192.151.150.154/live/hljwshd.m3u8$LR•IPV4•24『线路9』 +http://23.237.228.134/live6/heilongjiang.m3u8$LR•IPV4•24『线路9』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -http://204.12.221.218:8181/3m1080p/hljws.m3u8$LR•IPV4•24『线路10』 +http://gfr.x3322.net:9901/tsfile/live/1094_1.m3u8$LR•IPV4•24『线路10』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000025203&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路11』 +http://api.kkitv.itv888.cn:8080/hls/2a24lcvser/index.m3u8$LR•IPV4•24『线路11』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000001925&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路12』 +https://iptv.catvod.com/catvod.php?id=hljws$LR•IPV4•24『线路12』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000031107&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路13』 +https://httop.top/ysp-黑龙江卫视$LR•IPV4•24『线路13』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000009082&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路14』 +http://iptv.huuc.edu.cn/hls/hljhd.m3u8$LR•IPV4•24『线路14』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -https://idclive.hljtv.com:4430/live/hljws_own.m3u8$LR•IPV4•24『线路15』 +http://60.10.139.113:8801/hls/27/index.m3u8$LR•IPV4•24『线路15』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -http://111.29.9.33:6610/000000001000/1000000001000001925/index.m3u8?channel-id=bestzb&Contentid=1000000001000001925&livemode=1&stbId=3$LR•IPV4•24『线路16』 +http://207.56.13.146:81/cdnlive/hljws.m3u8$LR•IPV4•24『线路16』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -http://38.75.136.137:98/gslb/dsdqpub/hljwshd.m3u8?auth=testpub$LR•IPV4•24『线路17』 +http://192.151.150.154/live/hljwshd.m3u8$LR•IPV4•24『线路17』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -http://23.237.228.134/live6/heilongjiang.m3u8$LR•IPV4•24『线路18』 +http://204.12.221.218:8181/3m1080p/hljws.m3u8$LR•IPV4•24『线路18』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -http://gfr.x3322.net:9901/tsfile/live/1094_1.m3u8$LR•IPV4•24『线路19』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000025203&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路19』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -http://api.kkitv.itv888.cn:8080/hls/2a24lcvser/index.m3u8$LR•IPV4•24『线路20』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000001925&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路20』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -https://iptv.catvod.com/catvod.php?id=hljws$LR•IPV4•24『线路21』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000031107&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路21』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -https://httop.top/ysp-黑龙江卫视$LR•IPV4•24『线路22』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000009082&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路22』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -http://iptv.huuc.edu.cn/hls/hljhd.m3u8$LR•IPV4•24『线路23』 +https://idclive.hljtv.com:4430/live/hljws_own.m3u8$LR•IPV4•24『线路23』 #EXTINF:-1 tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" group-title="卫视",黑龙江卫视 -http://118.81.195.79:9003/hls/31/index.m3u8$LR•IPV4•24『线路24』 +http://111.29.9.33:6610/000000001000/1000000001000001925/index.m3u8?channel-id=bestzb&Contentid=1000000001000001925&livemode=1&stbId=3$LR•IPV4•24『线路24』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226952/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EREB40lnZnCEwjRy7LZuhIQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路1』 +http://118.81.195.79:9003/hls/32/index.m3u8$LR•IPV4•27『线路1』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 http://112.123.243.37:50085/tsfile/live/1001_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•27『线路2』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 @@ -2008,53 +2020,53 @@ http://153.0.171.163:9901/tsfile/live/0132_1.m3u8?key=txiptv&playlive=1&authid=0 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 http://153.0.171.163:85/tsfile/live/0132_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路5』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://112.27.235.94:8000/hls/41/index.m3u8$LR•IPV4•27『线路6』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226952/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EREB40lnZnCEwjRy7LZuhIQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路6』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://60.10.139.113:8801/hls/29/index.m3u8$LR•IPV4•27『线路7』 +http://112.27.235.94:8000/hls/41/index.m3u8$LR•IPV4•27『线路7』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://207.56.13.146:81/cdnlive/hbws.m3u8$LR•IPV4•27『线路8』 +http://38.75.136.137:98/gslb/dsdqpub/hbwshd.m3u8?auth=testpub$LR•IPV4•27『线路8』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://192.151.150.154/live/hbwshd.m3u8$LR•IPV4•27『线路9』 +http://23.237.228.134/live6/hubei.m3u8$LR•IPV4•27『线路9』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://204.12.221.218:8181/3m1080p/hbws.m3u8$LR•IPV4•27『线路10』 +http://43.251.226.89:8080/play/46.m3u8$LR•IPV4•27『线路10』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000014954&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路11』 +http://gfr.x3322.net:9901/tsfile/live/1088_1.m3u8$LR•IPV4•27『线路11』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000022140&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路12』 +http://api.kkitv.itv888.cn:8080/hls/qwummpaoaq/index.m3u8$LR•IPV4•27『线路12』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000010355&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路13』 +https://iptv.catvod.com/catvod.php?id=hubws$LR•IPV4•27『线路13』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000024621&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路14』 +https://httop.top/ysp-湖北卫视$LR•IPV4•27『线路14』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265023&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路15』 +http://iptv.huuc.edu.cn/hls/hbhd.m3u8$LR•IPV4•27『线路15』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://111.29.9.33:6610/000000001000/1000000001000010355/index.m3u8?channel-id=bestzb&Contentid=1000000001000010355&livemode=1&stbId=3$LR•IPV4•27『线路16』 +http://mg.hmysapp.cn:177/ckmg/zb.php?id=hubws$LR•IPV4•27『线路16』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://38.75.136.137:98/gslb/dsdqpub/hbwshd.m3u8?auth=testpub$LR•IPV4•27『线路17』 +http://www.745612.xyz:7788/rtp/235.254.198.72:1564$LR•IPV4•27『线路17』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://23.237.228.134/live6/hubei.m3u8$LR•IPV4•27『线路18』 +http://60.10.139.113:8801/hls/29/index.m3u8$LR•IPV4•27『线路18』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://43.251.226.89:8080/play/46.m3u8$LR•IPV4•27『线路19』 +http://207.56.13.146:81/cdnlive/hbws.m3u8$LR•IPV4•27『线路19』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://gfr.x3322.net:9901/tsfile/live/1088_1.m3u8$LR•IPV4•27『线路20』 +http://192.151.150.154/live/hbwshd.m3u8$LR•IPV4•27『线路20』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://api.kkitv.itv888.cn:8080/hls/qwummpaoaq/index.m3u8$LR•IPV4•27『线路21』 +http://204.12.221.218:8181/3m1080p/hbws.m3u8$LR•IPV4•27『线路21』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -https://iptv.catvod.com/catvod.php?id=hubws$LR•IPV4•27『线路22』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000014954&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路22』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -https://httop.top/ysp-湖北卫视$LR•IPV4•27『线路23』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000022140&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路23』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://iptv.huuc.edu.cn/hls/hbhd.m3u8$LR•IPV4•27『线路24』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000010355&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路24』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://mg.hmysapp.cn:177/ckmg/zb.php?id=hubws$LR•IPV4•27『线路25』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000024621&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路25』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://www.745612.xyz:7788/rtp/235.254.198.72:1564$LR•IPV4•27『线路26』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265023&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路26』 #EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" group-title="卫视",湖北卫视 -http://118.81.195.79:9003/hls/32/index.m3u8$LR•IPV4•27『线路27』 +http://111.29.9.33:6610/000000001000/1000000001000010355/index.m3u8?channel-id=bestzb&Contentid=1000000001000010355&livemode=1&stbId=3$LR•IPV4•27『线路27』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 https://jsp-tv-live.jxtvcn.com.cn/live-jsp/tv_jxtv1.m3u8?t=1783399497&token=edd96934-7ba7-4c97-bb1f-f95f21881e75&d=ab911d4c3b794fce91d9b3c326076257$LR•IPV4•26『线路1』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226956/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ei6ZIpVizXlewg-YfGvH8dA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•26『线路2』 +http://39.134.115.163:8080/PLTV/88888910/224/3221225705/index.m3u8$LR•IPV4•26『线路2』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 http://38.75.136.137:98/gslb/dsdqpub/jxwshd.m3u8?auth=testpub$LR•IPV4•26『线路3』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 @@ -2066,45 +2078,45 @@ http://36.136.38.87:9901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0$ #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 http://153.0.171.163:9901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路7』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -http://112.27.235.94:8000/hls/44/index.m3u8$LR•IPV4•26『线路8』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226956/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ei6ZIpVizXlewg-YfGvH8dA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•26『线路8』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -http://60.10.139.113:8801/hls/37/index.m3u8$LR•IPV4•26『线路9』 +http://112.27.235.94:8000/hls/44/index.m3u8$LR•IPV4•26『线路9』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -http://207.56.13.146:81/cdnlive/jxws.m3u8$LR•IPV4•26『线路10』 +http://23.237.228.134/live8/jiangxi.m3u8$LR•IPV4•26『线路10』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -http://192.151.150.154/live/jxwshd.m3u8$LR•IPV4•26『线路11』 +http://43.251.226.89:8080/play/43.m3u8$LR•IPV4•26『线路11』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -http://204.12.221.218:8181/3m1080p/jxws.m3u8$LR•IPV4•26『线路12』 +http://api.kkitv.itv888.cn:8080/hls/pv0np60bpin/index.m3u8$LR•IPV4•26『线路12』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000011210&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路13』 +https://iptv.catvod.com/catvod.php?id=jxws$LR•IPV4•26『线路13』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000013731&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路14』 +https://httop.top/ysp-江西卫视$LR•IPV4•26『线路14』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000006000268001&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路15』 +http://iptv.huuc.edu.cn/hls/jxhd.m3u8$LR•IPV4•26『线路15』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000032154&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路16』 +http://mg.hmysapp.cn:177/ckmg/zb.php?id=jxws$LR•IPV4•26『线路16』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -http://111.29.9.39:6610/000000001000/5000000004000011210/index.m3u8?channel-id=bestzb&Contentid=5000000004000011210&livemode=1&stbId=3$LR•IPV4•26『线路17』 +http://60.10.139.113:8801/hls/37/index.m3u8$LR•IPV4•26『线路17』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -http://111.29.9.33:6610/000000001000/1000000001000013731/index.m3u8?channel-id=bestzb&Contentid=1000000001000013731&livemode=1&stbId=3$LR•IPV4•26『线路18』 +http://207.56.13.146:81/cdnlive/jxws.m3u8$LR•IPV4•26『线路18』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -http://23.237.228.134/live8/jiangxi.m3u8$LR•IPV4•26『线路19』 +http://192.151.150.154/live/jxwshd.m3u8$LR•IPV4•26『线路19』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -http://43.251.226.89:8080/play/43.m3u8$LR•IPV4•26『线路20』 +http://204.12.221.218:8181/3m1080p/jxws.m3u8$LR•IPV4•26『线路20』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -http://api.kkitv.itv888.cn:8080/hls/pv0np60bpin/index.m3u8$LR•IPV4•26『线路21』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000011210&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路21』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -https://iptv.catvod.com/catvod.php?id=jxws$LR•IPV4•26『线路22』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000013731&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路22』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -https://httop.top/ysp-江西卫视$LR•IPV4•26『线路23』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000006000268001&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路23』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -http://iptv.huuc.edu.cn/hls/jxhd.m3u8$LR•IPV4•26『线路24』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000032154&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路24』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -http://mg.hmysapp.cn:177/ckmg/zb.php?id=jxws$LR•IPV4•26『线路25』 +http://111.29.9.39:6610/000000001000/5000000004000011210/index.m3u8?channel-id=bestzb&Contentid=5000000004000011210&livemode=1&stbId=3$LR•IPV4•26『线路25』 #EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" group-title="卫视",江西卫视 -http://39.134.115.163:8080/PLTV/88888910/224/3221225705/index.m3u8$LR•IPV4•26『线路26』 +http://111.29.9.33:6610/000000001000/1000000001000013731/index.m3u8?channel-id=bestzb&Contentid=1000000001000013731&livemode=1&stbId=3$LR•IPV4•26『线路26』 #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227015/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EW5-3AVdwD5KlUpuA4mz7Cg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•22『线路1』 +http://118.81.195.79:9003/hls/34/index.m3u8$LR•IPV4•22『线路1』 #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 http://222.90.21.30:9901/hls/35/index.m3u8$LR•IPV4•22『线路2』 #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 @@ -2118,77 +2130,77 @@ http://113.25.252.226:9901/tsfile/live/1037_1.m3u8?key=txiptv&playlive=1&authid= #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 http://153.0.171.163:9901/tsfile/live/0116_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路7』 #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 -http://cssbyd.imwork.net:8082/hls/41/index.m3u8$LR•IPV4•22『线路8』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227015/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EW5-3AVdwD5KlUpuA4mz7Cg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•22『线路8』 #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 -http://60.10.139.113:8801/hls/38/index.m3u8$LR•IPV4•22『线路9』 +http://cssbyd.imwork.net:8082/hls/41/index.m3u8$LR•IPV4•22『线路9』 #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 -http://207.56.13.146:81/cdnlive/jlws.m3u8$LR•IPV4•22『线路10』 +http://38.75.136.137:98/gslb/dsdqpub/jlwshd.m3u8?auth=testpub$LR•IPV4•22『线路10』 #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 -http://192.151.150.154/live/jlwshd.m3u8$LR•IPV4•22『线路11』 +http://23.237.228.134/live8/jilin.m3u8$LR•IPV4•22『线路11』 #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031117&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路12』 +http://43.251.226.89:8080/play/47.m3u8$LR•IPV4•22『线路12』 #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=6042486520432105075&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路13』 +http://api.kkitv.itv888.cn:8080/hls/b6dl8yuvu/index.m3u$LR•IPV4•22『线路13』 #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040013&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路14』 +https://iptv.catvod.com/catvod.php?id=jlws$LR•IPV4•22『线路14』 #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 -http://111.29.9.33:6610/000000001000/5000000011000031117/index.m3u8?channel-id=bestzb&Contentid=5000000011000031117&livemode=1&stbId=3$LR•IPV4•22『线路15』 +https://httop.top/ysp-吉林卫视$LR•IPV4•22『线路15』 #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 -http://38.75.136.137:98/gslb/dsdqpub/jlwshd.m3u8?auth=testpub$LR•IPV4•22『线路16』 +http://60.10.139.113:8801/hls/38/index.m3u8$LR•IPV4•22『线路16』 #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 -http://23.237.228.134/live8/jilin.m3u8$LR•IPV4•22『线路17』 +http://207.56.13.146:81/cdnlive/jlws.m3u8$LR•IPV4•22『线路17』 #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 -http://43.251.226.89:8080/play/47.m3u8$LR•IPV4•22『线路18』 +http://192.151.150.154/live/jlwshd.m3u8$LR•IPV4•22『线路18』 #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 -http://api.kkitv.itv888.cn:8080/hls/b6dl8yuvu/index.m3u$LR•IPV4•22『线路19』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031117&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路19』 #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 -https://iptv.catvod.com/catvod.php?id=jlws$LR•IPV4•22『线路20』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=6042486520432105075&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路20』 #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 -https://httop.top/ysp-吉林卫视$LR•IPV4•22『线路21』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040013&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路21』 #EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" group-title="卫视",吉林卫视 -http://118.81.195.79:9003/hls/34/index.m3u8$LR•IPV4•22『线路22』 +http://111.29.9.33:6610/000000001000/5000000011000031117/index.m3u8?channel-id=bestzb&Contentid=5000000011000031117&livemode=1&stbId=3$LR•IPV4•22『线路22』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227018/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ErN_hoRDwApMKnJqiNHvn9w%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•20『线路1』 +http://39.134.115.163:8080/PLTV/88888910/224/3221225667/index.m3u8$LR•IPV4•20『线路1』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -http://112.123.243.37:50085/tsfile/live/0118_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•20『线路2』 +http://117.169.120.140:8080/live/neimenggustv/.m3u8$LR•IPV4•20『线路2』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -http://59.39.89.130:60901/tsfile/live/0125_21.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•20『线路3』 +http://183.207.248.71/gitv/live1/G_NEIMENGGU/G_NEIMENGGU$LR•IPV4•20『线路3』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -http://222.90.21.30:9901/hls/40/index.m3u8$LR•IPV4•20『线路4』 +http://223.110.245.173/PLTV/4/224/3221225836/index.m3u8$LR•IPV4•20『线路4』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -http://153.0.171.163:9901/tsfile/live/0109_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•20『线路5』 +http://112.123.243.37:50085/tsfile/live/0118_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•20『线路5』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -http://112.27.235.94:8000/hls/49/index.m3u8$LR•IPV4•20『线路6』 +http://59.39.89.130:60901/tsfile/live/0125_21.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•20『线路6』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -http://60.10.139.113:8801/hls/55/index.m3u8$LR•IPV4•20『线路7』 +http://222.90.21.30:9901/hls/40/index.m3u8$LR•IPV4•20『线路7』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -http://jasonzhangnas.f3322.net:7088/udp/233.18.204.217:5140$LR•IPV4•20『线路8』 +http://153.0.171.163:9901/tsfile/live/0109_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•20『线路8』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -http://207.56.13.146:81/cdnlive/nmgws.m3u8$LR•IPV4•20『线路9』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227018/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ErN_hoRDwApMKnJqiNHvn9w%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•20『线路9』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -http://192.151.150.154/live/nmgws.m3u8$LR•IPV4•20『线路10』 +http://112.27.235.94:8000/hls/49/index.m3u8$LR•IPV4•20『线路10』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -http://204.12.221.218:8181/3m1080p/nmgws.m3u8$LR•IPV4•20『线路11』 +http://23.237.228.134/live8/neimenggu.m3u8$LR•IPV4•20『线路11』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000014080&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路12』 +https://iptv.catvod.com/catvod.php?id=nmws$LR•IPV4•20『线路12』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7331079758781182663&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路13』 +https://httop.top/ysp-内蒙古卫视$LR•IPV4•20『线路13』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -http://23.237.228.134/live8/neimenggu.m3u8$LR•IPV4•20『线路14』 +http://60.10.139.113:8801/hls/55/index.m3u8$LR•IPV4•20『线路14』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -https://iptv.catvod.com/catvod.php?id=nmws$LR•IPV4•20『线路15』 +http://jasonzhangnas.f3322.net:7088/udp/233.18.204.217:5140$LR•IPV4•20『线路15』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -https://httop.top/ysp-内蒙古卫视$LR•IPV4•20『线路16』 +http://207.56.13.146:81/cdnlive/nmgws.m3u8$LR•IPV4•20『线路16』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -http://39.134.115.163:8080/PLTV/88888910/224/3221225667/index.m3u8$LR•IPV4•20『线路17』 +http://192.151.150.154/live/nmgws.m3u8$LR•IPV4•20『线路17』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -http://117.169.120.140:8080/live/neimenggustv/.m3u8$LR•IPV4•20『线路18』 +http://204.12.221.218:8181/3m1080p/nmgws.m3u8$LR•IPV4•20『线路18』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -http://183.207.248.71/gitv/live1/G_NEIMENGGU/G_NEIMENGGU$LR•IPV4•20『线路19』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000014080&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路19』 #EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" group-title="卫视",内蒙古卫视 -http://223.110.245.173/PLTV/4/224/3221225836/index.m3u8$LR•IPV4•20『线路20』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7331079758781182663&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路20』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226966/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E6qJH8Fd-zgCGx3P-Ce86cA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•24『线路1』 +http://39.134.39.37/PLTV/88888888/224/3221226209/index.m3u8$LR•IPV4•24『线路1』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 http://112.123.243.37:50085/tsfile/live/0126_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•24『线路2』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 @@ -2198,45 +2210,45 @@ http://36.136.38.87:9901/tsfile/live/0121_1.m3u8?key=txiptv&playlive=1&authid=0$ #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 http://153.0.171.163:9901/tsfile/live/0121_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路5』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -http://112.27.235.94:8000/hls/47/index.m3u8$LR•IPV4•24『线路6』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226966/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E6qJH8Fd-zgCGx3P-Ce86cA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•24『线路6』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -http://60.10.139.113:8801/hls/28/index.m3u8$LR•IPV4•24『线路7』 +http://112.27.235.94:8000/hls/47/index.m3u8$LR•IPV4•24『线路7』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -http://207.56.13.146:81/cdnlive/lnws.m3u8$LR•IPV4•24『线路8』 +https://hlsbkmgsplive.miguvideo.com/migu/kailu/lnwshd265/54/20200407/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•24『线路8』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -http://192.151.150.154/live/lnwshd.m3u8$LR•IPV4•24『线路9』 +http://23.237.228.134/live8/liaoning.m3u8$LR•IPV4•24『线路9』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -http://204.12.221.218:8181/3m1080p/lnws.m3u8$LR•IPV4•24『线路10』 +http://43.251.226.89:8080/play/41.m3u8$LR•IPV4•24『线路10』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000011671&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路11』 +http://gfr.x3322.net:9901/tsfile/live/1097_1.m3u8$LR•IPV4•24『线路11』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000001945&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路12』 +http://api.kkitv.itv888.cn:8080/hls/iibq0absdjr/index.m3u8$LR•IPV4•24『线路12』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000024033&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路13』 +https://iptv.catvod.com/catvod.php?id=lnws$LR•IPV4•24『线路13』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000008940&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路14』 +https://httop.top/ysp-辽宁卫视$LR•IPV4•24『线路14』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -http://111.29.9.33:6610/000000001000/1000000001000001945/index.m3u8?channel-id=bestzb&Contentid=1000000001000001945&livemode=1&stbId=3$LR•IPV4•24『线路15』 +http://iptv.huuc.edu.cn/hls/lnhd.m3u8$LR•IPV4•24『线路15』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -https://hlsbkmgsplive.miguvideo.com/migu/kailu/lnwshd265/54/20200407/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•24『线路16』 +http://60.10.139.113:8801/hls/28/index.m3u8$LR•IPV4•24『线路16』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -http://23.237.228.134/live8/liaoning.m3u8$LR•IPV4•24『线路17』 +http://207.56.13.146:81/cdnlive/lnws.m3u8$LR•IPV4•24『线路17』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -http://43.251.226.89:8080/play/41.m3u8$LR•IPV4•24『线路18』 +http://192.151.150.154/live/lnwshd.m3u8$LR•IPV4•24『线路18』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -http://gfr.x3322.net:9901/tsfile/live/1097_1.m3u8$LR•IPV4•24『线路19』 +http://204.12.221.218:8181/3m1080p/lnws.m3u8$LR•IPV4•24『线路19』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -http://api.kkitv.itv888.cn:8080/hls/iibq0absdjr/index.m3u8$LR•IPV4•24『线路20』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000011671&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路20』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -https://iptv.catvod.com/catvod.php?id=lnws$LR•IPV4•24『线路21』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000001945&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路21』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -https://httop.top/ysp-辽宁卫视$LR•IPV4•24『线路22』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000024033&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路22』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -http://iptv.huuc.edu.cn/hls/lnhd.m3u8$LR•IPV4•24『线路23』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000008940&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路23』 #EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" group-title="卫视",辽宁卫视 -http://39.134.39.37/PLTV/88888888/224/3221226209/index.m3u8$LR•IPV4•24『线路24』 +http://111.29.9.33:6610/000000001000/1000000001000001945/index.m3u8?channel-id=bestzb&Contentid=1000000001000001945&livemode=1&stbId=3$LR•IPV4•24『线路24』 #EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" group-title="卫视",宁夏卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227003/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ESco1zinvdUYzleEkXYhIvA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•17『线路1』 +http://39.134.115.163:8080/PLTV/88888910/224/3221225726/index.m3u8$LR•IPV4•17『线路1』 #EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" group-title="卫视",宁夏卫视 http://192.151.150.154/live/nxws.m3u8$LR•IPV4•17『线路2』 #EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" group-title="卫视",宁夏卫视 @@ -2246,119 +2258,119 @@ http://58.56.162.102:4466/newlive/live/hls/43/live.m3u8$LR•IPV4•17『线路4 #EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" group-title="卫视",宁夏卫视 http://153.0.171.163:9901/tsfile/live/0112_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•17『线路5』 #EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" group-title="卫视",宁夏卫视 -http://120.76.248.139/live/bfgd/4200000118.m3u8$LR•IPV4•17『线路6』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227003/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ESco1zinvdUYzleEkXYhIvA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•17『线路6』 #EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" group-title="卫视",宁夏卫视 -http://60.10.139.113:8801/hls/57/index.m3u8$LR•IPV4•17『线路7』 +http://120.76.248.139/live/bfgd/4200000118.m3u8$LR•IPV4•17『线路7』 #EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" group-title="卫视",宁夏卫视 -http://jasonzhangnas.f3322.net:7088/udp/233.18.204.230:5140$LR•IPV4•17『线路8』 +http://43.251.226.89:8080/play/54.m3u8$LR•IPV4•17『线路8』 #EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" group-title="卫视",宁夏卫视 -http://207.56.13.146:81/cdnlive/nxws.m3u8$LR•IPV4•17『线路9』 +https://iptv.catvod.com/catvod.php?id=nxws$LR•IPV4•17『线路9』 #EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" group-title="卫视",宁夏卫视 -http://204.12.221.218:8181/3m1080p/nxws.m3u8$LR•IPV4•17『线路10』 +https://httop.top/ysp-宁夏卫视$LR•IPV4•17『线路10』 #EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" group-title="卫视",宁夏卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000031451&livemode=1&stbId=yu&mode=1&$LR•IPV4•17『线路11』 +http://60.10.139.113:8801/hls/57/index.m3u8$LR•IPV4•17『线路11』 #EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" group-title="卫视",宁夏卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040022&livemode=1&stbId=yu&mode=1&$LR•IPV4•17『线路12』 +http://jasonzhangnas.f3322.net:7088/udp/233.18.204.230:5140$LR•IPV4•17『线路12』 #EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" group-title="卫视",宁夏卫视 -http://111.29.9.33:6610/000000001000/1000000002000031451/index.m3u8?channel-id=bestzb&Contentid=1000000002000031451&livemode=1&stbId=3$LR•IPV4•17『线路13』 +http://207.56.13.146:81/cdnlive/nxws.m3u8$LR•IPV4•17『线路13』 #EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" group-title="卫视",宁夏卫视 -http://43.251.226.89:8080/play/54.m3u8$LR•IPV4•17『线路14』 +http://204.12.221.218:8181/3m1080p/nxws.m3u8$LR•IPV4•17『线路14』 #EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" group-title="卫视",宁夏卫视 -https://iptv.catvod.com/catvod.php?id=nxws$LR•IPV4•17『线路15』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000031451&livemode=1&stbId=yu&mode=1&$LR•IPV4•17『线路15』 #EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" group-title="卫视",宁夏卫视 -https://httop.top/ysp-宁夏卫视$LR•IPV4•17『线路16』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040022&livemode=1&stbId=yu&mode=1&$LR•IPV4•17『线路16』 #EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" group-title="卫视",宁夏卫视 -http://39.134.115.163:8080/PLTV/88888910/224/3221225726/index.m3u8$LR•IPV4•17『线路17』 +http://111.29.9.33:6610/000000001000/1000000002000031451/index.m3u8?channel-id=bestzb&Contentid=1000000002000031451&livemode=1&stbId=3$LR•IPV4•17『线路17』 #EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" group-title="卫视",青海卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227017/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EacviHy_ucMT27Ymf2iLtZA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•16『线路1』 +http://live.geermurmt.com/qhws/sd/live.m3u8$LR•IPV4•16『线路1』 #EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" group-title="卫视",青海卫视 http://222.90.21.30:9901/hls/42/index.m3u8$LR•IPV4•16『线路2』 #EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" group-title="卫视",青海卫视 http://153.0.171.163:9901/tsfile/live/0140_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路3』 #EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" group-title="卫视",青海卫视 -http://123.130.84.106:8154/tsfile/live/0140_1.m3u8$LR•IPV4•16『线路4』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227017/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EacviHy_ucMT27Ymf2iLtZA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•16『线路4』 #EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" group-title="卫视",青海卫视 -http://60.10.139.113:8801/hls/56/index.m3u8$LR•IPV4•16『线路5』 +http://123.130.84.106:8154/tsfile/live/0140_1.m3u8$LR•IPV4•16『线路5』 #EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" group-title="卫视",青海卫视 -http://207.56.13.146:81/cdnlive/qhws.m3u8$LR•IPV4•16『线路6』 +http://23.237.228.134/live8/qinghai.m3u8$LR•IPV4•16『线路6』 #EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" group-title="卫视",青海卫视 -http://192.151.150.154/live/qhws.m3u8$LR•IPV4•16『线路7』 +http://43.251.226.89:8080/play/48.m3u8$LR•IPV4•16『线路7』 #EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" group-title="卫视",青海卫视 -http://204.12.221.218:8181/3m1080p/qhws.m3u8$LR•IPV4•16『线路8』 +https://iptv.catvod.com/catvod.php?id=qhws$LR•IPV4•16『线路8』 #EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" group-title="卫视",青海卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040015&livemode=1&stbId=yu&mode=1&$LR•IPV4•16『线路9』 +https://httop.top/ysp-青海卫视$LR•IPV4•16『线路9』 #EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" group-title="卫视",青海卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000013359&livemode=1&stbId=yu&mode=1&$LR•IPV4•16『线路10』 +http://60.10.139.113:8801/hls/56/index.m3u8$LR•IPV4•16『线路10』 #EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" group-title="卫视",青海卫视 -http://111.29.9.33:6610/000000001000/1000000002000013359/index.m3u8?channel-id=bestzb&Contentid=1000000002000013359&livemode=1&stbId=3$LR•IPV4•16『线路11』 +http://207.56.13.146:81/cdnlive/qhws.m3u8$LR•IPV4•16『线路11』 #EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" group-title="卫视",青海卫视 -http://23.237.228.134/live8/qinghai.m3u8$LR•IPV4•16『线路12』 +http://192.151.150.154/live/qhws.m3u8$LR•IPV4•16『线路12』 #EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" group-title="卫视",青海卫视 -http://43.251.226.89:8080/play/48.m3u8$LR•IPV4•16『线路13』 +http://204.12.221.218:8181/3m1080p/qhws.m3u8$LR•IPV4•16『线路13』 #EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" group-title="卫视",青海卫视 -https://iptv.catvod.com/catvod.php?id=qhws$LR•IPV4•16『线路14』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040015&livemode=1&stbId=yu&mode=1&$LR•IPV4•16『线路14』 #EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" group-title="卫视",青海卫视 -https://httop.top/ysp-青海卫视$LR•IPV4•16『线路15』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000013359&livemode=1&stbId=yu&mode=1&$LR•IPV4•16『线路15』 #EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" group-title="卫视",青海卫视 -http://live.geermurmt.com/qhws/sd/live.m3u8$LR•IPV4•16『线路16』 +http://111.29.9.33:6610/000000001000/1000000002000013359/index.m3u8?channel-id=bestzb&Contentid=1000000002000013359&livemode=1&stbId=3$LR•IPV4•16『线路16』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226957/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EjW26v5VaHGy1jQuIA-4EbA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路1』 +http://125.210.152.18:9090/live/SDWSHD_H265.m3u8$LR•IPV4•28『线路1』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://112.123.243.37:50085/tsfile/live/0122_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•28『线路2』 +http://39.134.115.163:8080/PLTV/88888910/224/3221225697/index.m3u8$LR•IPV4•28『线路2』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://36.136.38.87:9901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路3』 +http://112.123.243.37:50085/tsfile/live/0122_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•28『线路3』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://112.27.235.94:8000/hls/34/index.m3u8$LR•IPV4•28『线路4』 +http://36.136.38.87:9901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路4』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://60.10.139.113:8801/hls/25/index.m3u8$LR•IPV4•28『线路5』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226957/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EjW26v5VaHGy1jQuIA-4EbA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路5』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://207.56.13.146:81/cdnlive/sdws.m3u8$LR•IPV4•28『线路6』 +http://112.27.235.94:8000/hls/34/index.m3u8$LR•IPV4•28『线路6』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://192.151.150.154/live/sdwshd.m3u8$LR•IPV4•28『线路7』 +http://38.75.136.137:98/gslb/dsdqpub/sdwshd.m3u8?auth=testpub$LR•IPV4•28『线路7』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://173.208.212.130:8181/720p/sdws.m3u8$LR•IPV4•28『线路8』 +https://hlsbkmgsplive.miguvideo.com/wd_r4/yg/shandongwshd/3000/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•28『线路8』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://204.12.221.218:8181/3m1080p/sdws.m3u8$LR•IPV4•28『线路9』 +https://hlsbkmgsplive.miguvideo.com/wd-shandonghd-1200/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•28『线路9』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000020424&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路10』 +http://23.237.228.134/live8/shandong.m3u8$LR•IPV4•28『线路10』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000012807&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路11』 +http://gfr.x3322.net:9901/tsfile/live/1098_1.m3u8$LR•IPV4•28『线路11』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000016568&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路12』 +http://api.kkitv.itv888.cn:8080/hls/6gcdai13om5/index.m3u8$LR•IPV4•28『线路12』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000027763&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路13』 +https://iptv.catvod.com/catvod.php?id=sdws$LR•IPV4•28『线路13』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=7347081113971056899&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路14』 +https://httop.top/ysp-山东卫视$LR•IPV4•28『线路14』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://111.29.9.37:6610/000000001000/1000000001000012807/index.m3u8?channel-id=ystenlive&Contentid=1000000001000012807&livemode=1&stbId=3$LR•IPV4•28『线路15』 +http://iptv.huuc.edu.cn/hls/sdhd.m3u8$LR•IPV4•28『线路15』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://111.29.9.33:6610/000000001000/1000000001000012807/index.m3u8?channel-id=bestzb&Contentid=1000000001000012807&livemode=1&stbId=3$LR•IPV4•28『线路16』 +http://153.0.171.163:9901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路16』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://38.75.136.137:98/gslb/dsdqpub/sdwshd.m3u8?auth=testpub$LR•IPV4•28『线路17』 +http://60.10.139.113:8801/hls/25/index.m3u8$LR•IPV4•28『线路17』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -https://hlsbkmgsplive.miguvideo.com/wd_r4/yg/shandongwshd/3000/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•28『线路18』 +http://207.56.13.146:81/cdnlive/sdws.m3u8$LR•IPV4•28『线路18』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -https://hlsbkmgsplive.miguvideo.com/wd-shandonghd-1200/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•28『线路19』 +http://192.151.150.154/live/sdwshd.m3u8$LR•IPV4•28『线路19』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://23.237.228.134/live8/shandong.m3u8$LR•IPV4•28『线路20』 +http://173.208.212.130:8181/720p/sdws.m3u8$LR•IPV4•28『线路20』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://gfr.x3322.net:9901/tsfile/live/1098_1.m3u8$LR•IPV4•28『线路21』 +http://204.12.221.218:8181/3m1080p/sdws.m3u8$LR•IPV4•28『线路21』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://api.kkitv.itv888.cn:8080/hls/6gcdai13om5/index.m3u8$LR•IPV4•28『线路22』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000020424&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路22』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -https://iptv.catvod.com/catvod.php?id=sdws$LR•IPV4•28『线路23』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000012807&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路23』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -https://httop.top/ysp-山东卫视$LR•IPV4•28『线路24』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000016568&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路24』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://iptv.huuc.edu.cn/hls/sdhd.m3u8$LR•IPV4•28『线路25』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000027763&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路25』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://153.0.171.163:9901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路26』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=7347081113971056899&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路26』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://125.210.152.18:9090/live/SDWSHD_H265.m3u8$LR•IPV4•28『线路27』 +http://111.29.9.37:6610/000000001000/1000000001000012807/index.m3u8?channel-id=ystenlive&Contentid=1000000001000012807&livemode=1&stbId=3$LR•IPV4•28『线路27』 #EXTINF:-1 tvg-id="山东卫视" tvg-name="山东卫视" group-title="卫视",山东卫视 -http://39.134.115.163:8080/PLTV/88888910/224/3221225697/index.m3u8$LR•IPV4•28『线路28』 +http://111.29.9.33:6610/000000001000/1000000001000012807/index.m3u8?channel-id=bestzb&Contentid=1000000001000012807&livemode=1&stbId=3$LR•IPV4•28『线路28』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226954/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eaf3wyULP1h575eM_4ByMDg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路1』 +http://39.134.115.163:8080/PLTV/88888910/224/3221225698/index.m3u8$LR•IPV4•28『线路1』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 http://112.123.243.37:50085/tsfile/live/0128_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•28『线路2』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 @@ -2374,123 +2386,123 @@ http://36.136.38.87:9901/tsfile/live/0135_1.m3u8?key=txiptv&playlive=1&authid=0$ #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 http://153.0.171.163:9901/tsfile/live/0135_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路8』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://112.27.235.94:8000/hls/42/index.m3u8$LR•IPV4•28『线路9』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226954/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eaf3wyULP1h575eM_4ByMDg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路9』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://60.10.139.113:8801/hls/23/index.m3u8$LR•IPV4•28『线路10』 +http://112.27.235.94:8000/hls/42/index.m3u8$LR•IPV4•28『线路10』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://207.56.13.146:81/cdnlive/tjws.m3u8$LR•IPV4•28『线路11』 +http://23.237.228.134/live8/tianjing.m3u8$LR•IPV4•28『线路11』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://173.208.212.130:8181/720p/tjws.m3u8$LR•IPV4•28『线路12』 +http://gfr.x3322.net:9901/tsfile/live/1090_1.m3u8$LR•IPV4•28『线路12』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://204.12.221.218:8181/3m1080p/tjws.m3u8$LR•IPV4•28『线路13』 +http://api.kkitv.itv888.cn:8080/hls/z2lkdkrb4w/index.m3u8$LR•IPV4•28『线路13』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000001000030788&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路14』 +https://iptv.catvod.com/catvod.php?id=tjws$LR•IPV4•28『线路14』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006827&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路15』 +https://httop.top/ysp-天津卫视$LR•IPV4•28『线路15』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000000831&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路16』 +http://iptv.huuc.edu.cn/hls/tjhd.m3u8$LR•IPV4•28『线路16』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000003475&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路17』 +http://60.10.139.113:8801/hls/23/index.m3u8$LR•IPV4•28『线路17』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265026&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路18』 +http://207.56.13.146:81/cdnlive/tjws.m3u8$LR•IPV4•28『线路18』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6707942579111517572&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路19』 +http://173.208.212.130:8181/720p/tjws.m3u8$LR•IPV4•28『线路19』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://111.29.9.38:6610/000000001000/5000000004000006827/index.m3u8?channel-id=bestzb&Contentid=5000000004000006827&livemode=1&stbId=3$LR•IPV4•28『线路20』 +http://204.12.221.218:8181/3m1080p/tjws.m3u8$LR•IPV4•28『线路20』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://111.29.9.33:6610/000000001000/1000000001000000831/index.m3u8?channel-id=bestzb&Contentid=1000000001000000831&livemode=1&stbId=3$LR•IPV4•28『线路21』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000001000030788&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路21』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://23.237.228.134/live8/tianjing.m3u8$LR•IPV4•28『线路22』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006827&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路22』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://gfr.x3322.net:9901/tsfile/live/1090_1.m3u8$LR•IPV4•28『线路23』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000000831&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路23』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://api.kkitv.itv888.cn:8080/hls/z2lkdkrb4w/index.m3u8$LR•IPV4•28『线路24』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000003475&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路24』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -https://iptv.catvod.com/catvod.php?id=tjws$LR•IPV4•28『线路25』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265026&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路25』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -https://httop.top/ysp-天津卫视$LR•IPV4•28『线路26』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6707942579111517572&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路26』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://iptv.huuc.edu.cn/hls/tjhd.m3u8$LR•IPV4•28『线路27』 +http://111.29.9.38:6610/000000001000/5000000004000006827/index.m3u8?channel-id=bestzb&Contentid=5000000004000006827&livemode=1&stbId=3$LR•IPV4•28『线路27』 #EXTINF:-1 tvg-id="天津卫视" tvg-name="天津卫视" group-title="卫视",天津卫视 -http://39.134.115.163:8080/PLTV/88888910/224/3221225698/index.m3u8$LR•IPV4•28『线路28』 +http://111.29.9.33:6610/000000001000/1000000001000000831/index.m3u8?channel-id=bestzb&Contentid=1000000001000000831&livemode=1&stbId=3$LR•IPV4•28『线路28』 #EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" group-title="卫视",海南卫视 https://livelyws.chinamcache.com/lyws/zb03.m3u8$LR•IPV4•15『线路1』 #EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" group-title="卫视",海南卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227029/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EEuBMjt2kLMD8fAO7QYER7Q%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•15『线路2』 +http://118.81.195.79:9003/hls/28/index.m3u8$LR•IPV4•15『线路2』 #EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" group-title="卫视",海南卫视 http://222.90.21.30:9901/hls/37/index.m3u8$LR•IPV4•15『线路3』 #EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" group-title="卫视",海南卫视 -http://120.76.248.139/live/bfgd/4200000473.m3u8$LR•IPV4•15『线路4』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227029/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EEuBMjt2kLMD8fAO7QYER7Q%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•15『线路4』 #EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" group-title="卫视",海南卫视 -http://nn.7x9d.cn/地方台8563/海南.php?id=hnws$LR•IPV4•15『线路5』 +http://120.76.248.139/live/bfgd/4200000473.m3u8$LR•IPV4•15『线路5』 #EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" group-title="卫视",海南卫视 -http://207.56.13.146:81/cdnlive/lyws.m3u8$LR•IPV4•15『线路6』 +http://43.251.226.89:8080/play/50.m3u8$LR•IPV4•15『线路6』 #EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" group-title="卫视",海南卫视 -http://204.12.221.218:8181/3m1080p/lyws.m3u8$LR•IPV4•15『线路7』 +http://api.kkitv.itv888.cn:8080/hls/c1cajhsgba8/index.m3u8$LR•IPV4•15『线路7』 #EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" group-title="卫视",海南卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006211&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路8』 +https://iptv.catvod.com/catvod.php?id=hinws$LR•IPV4•15『线路8』 #EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" group-title="卫视",海南卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7899627377857656087&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路9』 +https://httop.top/ysp-海南卫视$LR•IPV4•15『线路9』 #EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" group-title="卫视",海南卫视 -http://111.29.9.33:6610/000000001000/5000000004000006211/index.m3u8?channel-id=bestzb&Contentid=5000000004000006211&livemode=1&stbId=3$LR•IPV4•15『线路10』 +http://nn.7x9d.cn/地方台8563/海南.php?id=hnws$LR•IPV4•15『线路10』 #EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" group-title="卫视",海南卫视 -http://43.251.226.89:8080/play/50.m3u8$LR•IPV4•15『线路11』 +http://207.56.13.146:81/cdnlive/lyws.m3u8$LR•IPV4•15『线路11』 #EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" group-title="卫视",海南卫视 -http://api.kkitv.itv888.cn:8080/hls/c1cajhsgba8/index.m3u8$LR•IPV4•15『线路12』 +http://204.12.221.218:8181/3m1080p/lyws.m3u8$LR•IPV4•15『线路12』 #EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" group-title="卫视",海南卫视 -https://iptv.catvod.com/catvod.php?id=hinws$LR•IPV4•15『线路13』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006211&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路13』 #EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" group-title="卫视",海南卫视 -https://httop.top/ysp-海南卫视$LR•IPV4•15『线路14』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7899627377857656087&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路14』 #EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" group-title="卫视",海南卫视 -http://118.81.195.79:9003/hls/28/index.m3u8$LR•IPV4•15『线路15』 +http://111.29.9.33:6610/000000001000/5000000004000006211/index.m3u8?channel-id=bestzb&Contentid=5000000004000006211&livemode=1&stbId=3$LR•IPV4•15『线路15』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227011/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ExAUu61iVvo_xYbANWJhgXw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•22『线路1』 +http://39.134.115.163:8080/PLTV/88888910/224/3221225725/index.m3u8$LR•IPV4•22『线路1』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://218.84.12.186:8001/hls/main/playlist.m3u8?zxinjd;http://218.84.12.186:8001/hls/main/playlist.m3u8zxinjd$LR•IPV4•22『线路2』 +http://183.207.248.71/cntv/live1/xinjiangstv/xinjiangstv$LR•IPV4•22『线路2』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://112.123.243.37:50085/tsfile/live/0143_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•22『线路3』 +http://183.207.248.71/gitv/live1/G_XINJIANG/G_XINJIANG$LR•IPV4•22『线路3』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://59.39.89.130:60901/tsfile/live/0125_17.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路4』 +http://183.207.249.15/PLTV/3/224/3221225523/index.m3u8$LR•IPV4•22『线路4』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://113.25.252.226:9901/tsfile/live/1044_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路5』 +http://223.110.243.136/PLTV/3/224/3221225523/index.m3u8$LR•IPV4•22『线路5』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://live.wjyanghu.com/live/CH1.m3u8$LR•IPV4•22『线路6』 +http://112.25.48.68/live/program/live/xjws/1300000/mnf.m3u8$LR•IPV4•22『线路6』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://58.56.162.102:4466/newlive/live/hls/44/live.m3u8$LR•IPV4•22『线路7』 +http://218.84.12.186:8001/hls/main/playlist.m3u8?zxinjd;http://218.84.12.186:8001/hls/main/playlist.m3u8zxinjd$LR•IPV4•22『线路7』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://jasonzhangnas.f3322.net:7088/udp/233.18.204.220:5140$LR•IPV4•22『线路8』 +http://112.123.243.37:50085/tsfile/live/0143_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•22『线路8』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://207.56.13.146:81/cdnlive/xjws.m3u8$LR•IPV4•22『线路9』 +http://59.39.89.130:60901/tsfile/live/0125_17.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路9』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://192.151.150.154/live/xjws.m3u8$LR•IPV4•22『线路10』 +http://113.25.252.226:9901/tsfile/live/1044_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路10』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://204.12.221.218:8181/3m1080p/xjws.m3u8$LR•IPV4•22『线路11』 +http://live.wjyanghu.com/live/CH1.m3u8$LR•IPV4•22『线路11』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040018&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路12』 +http://58.56.162.102:4466/newlive/live/hls/44/live.m3u8$LR•IPV4•22『线路12』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000029441&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路13』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227011/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ExAUu61iVvo_xYbANWJhgXw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•22『线路13』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://111.29.9.33:6610/000000001000/1000000002000029441/index.m3u8?channel-id=bestzb&Contentid=1000000002000029441&livemode=1&stbId=3$LR•IPV4•22『线路14』 +https://iptv.catvod.com/catvod.php?id=xjws$LR•IPV4•22『线路14』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -https://iptv.catvod.com/catvod.php?id=xjws$LR•IPV4•22『线路15』 +https://httop.top/ysp-新疆卫视$LR•IPV4•22『线路15』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -https://httop.top/ysp-新疆卫视$LR•IPV4•22『线路16』 +http://jasonzhangnas.f3322.net:7088/udp/233.18.204.220:5140$LR•IPV4•22『线路16』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://39.134.115.163:8080/PLTV/88888910/224/3221225725/index.m3u8$LR•IPV4•22『线路17』 +http://207.56.13.146:81/cdnlive/xjws.m3u8$LR•IPV4•22『线路17』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://183.207.248.71/cntv/live1/xinjiangstv/xinjiangstv$LR•IPV4•22『线路18』 +http://192.151.150.154/live/xjws.m3u8$LR•IPV4•22『线路18』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://183.207.248.71/gitv/live1/G_XINJIANG/G_XINJIANG$LR•IPV4•22『线路19』 +http://204.12.221.218:8181/3m1080p/xjws.m3u8$LR•IPV4•22『线路19』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://183.207.249.15/PLTV/3/224/3221225523/index.m3u8$LR•IPV4•22『线路20』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040018&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路20』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://223.110.243.136/PLTV/3/224/3221225523/index.m3u8$LR•IPV4•22『线路21』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000029441&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路21』 #EXTINF:-1 tvg-id="新疆卫视" tvg-name="新疆卫视" group-title="卫视",新疆卫视 -http://112.25.48.68/live/program/live/xjws/1300000/mnf.m3u8$LR•IPV4•22『线路22』 +http://111.29.9.33:6610/000000001000/1000000002000029441/index.m3u8?channel-id=bestzb&Contentid=1000000002000029441&livemode=1&stbId=3$LR•IPV4•22『线路22』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 http://p2.ioioz.com/xgplayer.php?id=https://hwapi.yntv.net/ew265l/z1z6s5.m3u8$LR•IPV4•21『线路1』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227028/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EGfQPqRNVeBjTMsZ48qu0SA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•21『线路2』 +https://hwapi.yunshicloud.com/8xughf/e0bx15.m3u8$LR•IPV4•21『线路2』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 http://112.123.243.37:50085/tsfile/live/0117_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•21『线路3』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 @@ -2498,149 +2510,149 @@ http://36.136.38.87:9901/tsfile/live/0119_1.m3u8?key=txiptv&playlive=1&authid=0$ #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 http://153.0.171.163:9901/tsfile/live/0119_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路5』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 -http://112.27.235.94:8000/hls/40/index.m3u8$LR•IPV4•21『线路6』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227028/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EGfQPqRNVeBjTMsZ48qu0SA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•21『线路6』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 -http://60.10.139.113:8801/hls/51/index.m3u8$LR•IPV4•21『线路7』 +http://112.27.235.94:8000/hls/40/index.m3u8$LR•IPV4•21『线路7』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 -http://207.56.13.146:81/cdnlive/ynws.m3u8$LR•IPV4•21『线路8』 +http://38.75.136.137:98/gslb/dsdqpub/ynwshd.m3u8?auth=testpub$LR•IPV4•21『线路8』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 -http://192.151.150.154/live/ynwshd.m3u8$LR•IPV4•21『线路9』 +http://23.237.228.134/live8/yunnan.m3u8$LR•IPV4•21『线路9』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 -http://204.12.221.218:8181/3m1080p/ynws.m3u8$LR•IPV4•21『线路10』 +https://iptv.catvod.com/catvod.php?id=ynws$LR•IPV4•21『线路10』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031120&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路11』 +https://httop.top/ysp-云南卫视$LR•IPV4•21『线路11』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040019&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路12』 +http://60.10.139.113:8801/hls/51/index.m3u8$LR•IPV4•21『线路12』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000024694&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路13』 +http://207.56.13.146:81/cdnlive/ynws.m3u8$LR•IPV4•21『线路13』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 -http://111.29.9.37:6610/000000001000/1000000002000024694/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•21『线路14』 +http://192.151.150.154/live/ynwshd.m3u8$LR•IPV4•21『线路14』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 -http://111.43.126.240:9003/hls/60/index.m3u8$LR•IPV4•21『线路15』 +http://204.12.221.218:8181/3m1080p/ynws.m3u8$LR•IPV4•21『线路15』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 -http://111.29.9.33:6610/000000001000/1000000002000024694/index.m3u8?channel-id=bestzb&Contentid=1000000002000024694&livemode=1&stbId=3$LR•IPV4•21『线路16』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031120&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路16』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 -http://38.75.136.137:98/gslb/dsdqpub/ynwshd.m3u8?auth=testpub$LR•IPV4•21『线路17』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040019&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路17』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 -http://23.237.228.134/live8/yunnan.m3u8$LR•IPV4•21『线路18』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000024694&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路18』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 -https://iptv.catvod.com/catvod.php?id=ynws$LR•IPV4•21『线路19』 +http://111.29.9.37:6610/000000001000/1000000002000024694/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•21『线路19』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 -https://httop.top/ysp-云南卫视$LR•IPV4•21『线路20』 +http://111.43.126.240:9003/hls/60/index.m3u8$LR•IPV4•21『线路20』 #EXTINF:-1 tvg-id="云南卫视" tvg-name="云南卫视" group-title="卫视",云南卫视 -https://hwapi.yunshicloud.com/8xughf/e0bx15.m3u8$LR•IPV4•21『线路21』 +http://111.29.9.33:6610/000000001000/1000000002000024694/index.m3u8?channel-id=bestzb&Contentid=1000000002000024694&livemode=1&stbId=3$LR•IPV4•21『线路21』 #EXTINF:-1 tvg-id="西藏卫视" tvg-name="西藏卫视" group-title="卫视",西藏卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227033/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EdeTB7OZ9G_VNJk5C3t96fQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•15『线路1』 +http://39.134.115.163:8080/PLTV/88888910/224/3221225723/index.m3u8$LR•IPV4•15『线路1』 #EXTINF:-1 tvg-id="西藏卫视" tvg-name="西藏卫视" group-title="卫视",西藏卫视 -http://107.150.60.122/live/xzws.m3u8$LR•IPV4•15『线路2』 +http://117.169.120.140:8080/live/xizangstv/.m3u8$LR•IPV4•15『线路2』 #EXTINF:-1 tvg-id="西藏卫视" tvg-name="西藏卫视" group-title="卫视",西藏卫视 -http://112.123.243.37:50085/tsfile/live/0141_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•15『线路3』 +http://183.207.249.16/PLTV/3/224/3221225523/index.m3u8$LR•IPV4•15『线路3』 #EXTINF:-1 tvg-id="西藏卫视" tvg-name="西藏卫视" group-title="卫视",西藏卫视 -http://222.90.21.30:9901/hls/90/index.m3u8$LR•IPV4•15『线路4』 +http://107.150.60.122/live/xzws.m3u8$LR•IPV4•15『线路4』 #EXTINF:-1 tvg-id="西藏卫视" tvg-name="西藏卫视" group-title="卫视",西藏卫视 -http://58.56.162.102:4466/newlive/live/hls/45/live.m3u8$LR•IPV4•15『线路5』 +http://112.123.243.37:50085/tsfile/live/0141_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•15『线路5』 #EXTINF:-1 tvg-id="西藏卫视" tvg-name="西藏卫视" group-title="卫视",西藏卫视 -http://cssbyd.imwork.net:8082/hls/46/index.m3u8$LR•IPV4•15『线路6』 +http://222.90.21.30:9901/hls/90/index.m3u8$LR•IPV4•15『线路6』 #EXTINF:-1 tvg-id="西藏卫视" tvg-name="西藏卫视" group-title="卫视",西藏卫视 -http://jasonzhangnas.f3322.net:7088/udp/233.18.204.222:5140$LR•IPV4•15『线路7』 +http://58.56.162.102:4466/newlive/live/hls/45/live.m3u8$LR•IPV4•15『线路7』 #EXTINF:-1 tvg-id="西藏卫视" tvg-name="西藏卫视" group-title="卫视",西藏卫视 -http://207.56.13.146:81/cdnlive/xzws.m3u8$LR•IPV4•15『线路8』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227033/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EdeTB7OZ9G_VNJk5C3t96fQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•15『线路8』 #EXTINF:-1 tvg-id="西藏卫视" tvg-name="西藏卫视" group-title="卫视",西藏卫视 -http://204.12.221.218:8181/3m1080p/xzws.m3u8$LR•IPV4•15『线路9』 +http://cssbyd.imwork.net:8082/hls/46/index.m3u8$LR•IPV4•15『线路9』 #EXTINF:-1 tvg-id="西藏卫视" tvg-name="西藏卫视" group-title="卫视",西藏卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5381760837640571168&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路10』 +https://iptv.catvod.com/catvod.php?id=xzws$LR•IPV4•15『线路10』 #EXTINF:-1 tvg-id="西藏卫视" tvg-name="西藏卫视" group-title="卫视",西藏卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=6603041244077933770&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路11』 +http://jasonzhangnas.f3322.net:7088/udp/233.18.204.222:5140$LR•IPV4•15『线路11』 #EXTINF:-1 tvg-id="西藏卫视" tvg-name="西藏卫视" group-title="卫视",西藏卫视 -https://iptv.catvod.com/catvod.php?id=xzws$LR•IPV4•15『线路12』 +http://207.56.13.146:81/cdnlive/xzws.m3u8$LR•IPV4•15『线路12』 #EXTINF:-1 tvg-id="西藏卫视" tvg-name="西藏卫视" group-title="卫视",西藏卫视 -http://39.134.115.163:8080/PLTV/88888910/224/3221225723/index.m3u8$LR•IPV4•15『线路13』 +http://204.12.221.218:8181/3m1080p/xzws.m3u8$LR•IPV4•15『线路13』 #EXTINF:-1 tvg-id="西藏卫视" tvg-name="西藏卫视" group-title="卫视",西藏卫视 -http://117.169.120.140:8080/live/xizangstv/.m3u8$LR•IPV4•15『线路14』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5381760837640571168&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路14』 #EXTINF:-1 tvg-id="西藏卫视" tvg-name="西藏卫视" group-title="卫视",西藏卫视 -http://183.207.249.16/PLTV/3/224/3221225523/index.m3u8$LR•IPV4•15『线路15』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=6603041244077933770&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路15』 #EXTINF:-1 tvg-id="海峡卫视" tvg-name="海峡卫视" group-title="卫视",海峡卫视 http://38.64.72.148:80/hls/modn/list/4009/chunklist0.m3u8$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="海峡卫视" tvg-name="海峡卫视" group-title="卫视",海峡卫视 -http://8.138.7.223/tv/hxws.m3u8$LR•IPV4•5『线路2』 +http://43.251.226.89:8080/play/51.m3u8$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="海峡卫视" tvg-name="海峡卫视" group-title="卫视",海峡卫视 -http://hlsbkmgsplive.miguvideo.com/migu/kailu/haixiaws/57/20230724/01.m3u8?msisdn=&Channel_ID=&ContentId=&HlsSubType=&HlsProfileId=&encrypt=$LR•IPV4•5『线路3』 +p3p://167.114.175.6:55331/63ec47390001586de42ffc1a7e1856a6$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="海峡卫视" tvg-name="海峡卫视" group-title="卫视",海峡卫视 -http://43.251.226.89:8080/play/51.m3u8$LR•IPV4•5『线路4』 +http://8.138.7.223/tv/hxws.m3u8$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="海峡卫视" tvg-name="海峡卫视" group-title="卫视",海峡卫视 -p3p://167.114.175.6:55331/63ec47390001586de42ffc1a7e1856a6$LR•IPV4•5『线路5』 +http://hlsbkmgsplive.miguvideo.com/migu/kailu/haixiaws/57/20230724/01.m3u8?msisdn=&Channel_ID=&ContentId=&HlsSubType=&HlsProfileId=&encrypt=$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="兵团卫视" tvg-name="兵团卫视" group-title="卫视",兵团卫视 -http://112.123.243.37:50085/tsfile/live/0112_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•14『线路1』 +http://112.25.48.68/live/program/live/btws/1300000/mnf.m3u8$LR•IPV4•14『线路1』 #EXTINF:-1 tvg-id="兵团卫视" tvg-name="兵团卫视" group-title="卫视",兵团卫视 -http://59.39.89.130:60901/tsfile/live/0125_9.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•14『线路2』 +http://112.123.243.37:50085/tsfile/live/0112_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•14『线路2』 #EXTINF:-1 tvg-id="兵团卫视" tvg-name="兵团卫视" group-title="卫视",兵团卫视 -http://222.90.21.30:9901/hls/65/index.m3u8$LR•IPV4•14『线路3』 +http://59.39.89.130:60901/tsfile/live/0125_9.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•14『线路3』 #EXTINF:-1 tvg-id="兵团卫视" tvg-name="兵团卫视" group-title="卫视",兵团卫视 -http://38.75.136.137:98/gslb/dsdqpub/btws.m3u8?auth=testpub$LR•IPV4•14『线路4』 +http://222.90.21.30:9901/hls/65/index.m3u8$LR•IPV4•14『线路4』 #EXTINF:-1 tvg-id="兵团卫视" tvg-name="兵团卫视" group-title="卫视",兵团卫视 -http://218.13.170.98:9901/tsfile/live/0115_1.m3u8$LR•IPV4•14『线路5』 +http://38.75.136.137:98/gslb/dsdqpub/btws.m3u8?auth=testpub$LR•IPV4•14『线路5』 #EXTINF:-1 tvg-id="兵团卫视" tvg-name="兵团卫视" group-title="卫视",兵团卫视 -http://jasonzhangnas.f3322.net:7088/udp/233.18.204.221:5140$LR•IPV4•14『线路6』 +http://218.13.170.98:9901/tsfile/live/0115_1.m3u8$LR•IPV4•14『线路6』 #EXTINF:-1 tvg-id="兵团卫视" tvg-name="兵团卫视" group-title="卫视",兵团卫视 -http://192.151.150.154/live/btws.m3u8$LR•IPV4•14『线路7』 +http://43.251.226.89:8080/play/53.m3u8$LR•IPV4•14『线路7』 #EXTINF:-1 tvg-id="兵团卫视" tvg-name="兵团卫视" group-title="卫视",兵团卫视 -http://204.12.221.218:8181/3m1080p/btws.m3u8$LR•IPV4•14『线路8』 +https://iptv.catvod.com/catvod.php?id=btws$LR•IPV4•14『线路8』 #EXTINF:-1 tvg-id="兵团卫视" tvg-name="兵团卫视" group-title="卫视",兵团卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000005000266005&livemode=1&stbId=yu&mode=1&$LR•IPV4•14『线路9』 +https://httop.top/ysp-兵团卫视$LR•IPV4•14『线路9』 #EXTINF:-1 tvg-id="兵团卫视" tvg-name="兵团卫视" group-title="卫视",兵团卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040020&livemode=1&stbId=yu&mode=1&$LR•IPV4•14『线路10』 +http://jasonzhangnas.f3322.net:7088/udp/233.18.204.221:5140$LR•IPV4•14『线路10』 #EXTINF:-1 tvg-id="兵团卫视" tvg-name="兵团卫视" group-title="卫视",兵团卫视 -http://43.251.226.89:8080/play/53.m3u8$LR•IPV4•14『线路11』 +http://192.151.150.154/live/btws.m3u8$LR•IPV4•14『线路11』 #EXTINF:-1 tvg-id="兵团卫视" tvg-name="兵团卫视" group-title="卫视",兵团卫视 -https://iptv.catvod.com/catvod.php?id=btws$LR•IPV4•14『线路12』 +http://204.12.221.218:8181/3m1080p/btws.m3u8$LR•IPV4•14『线路12』 #EXTINF:-1 tvg-id="兵团卫视" tvg-name="兵团卫视" group-title="卫视",兵团卫视 -https://httop.top/ysp-兵团卫视$LR•IPV4•14『线路13』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000005000266005&livemode=1&stbId=yu&mode=1&$LR•IPV4•14『线路13』 #EXTINF:-1 tvg-id="兵团卫视" tvg-name="兵团卫视" group-title="卫视",兵团卫视 -http://112.25.48.68/live/program/live/btws/1300000/mnf.m3u8$LR•IPV4•14『线路14』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040020&livemode=1&stbId=yu&mode=1&$LR•IPV4•14『线路14』 #EXTINF:-1 tvg-id="安多卫视" tvg-name="安多卫视" group-title="卫视",安多卫视 https://liveout.xntv.tv/a65jur/96iln2.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="安多卫视" tvg-name="安多卫视" group-title="卫视",安多卫视 http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000022124&livemode=1&stbId=yu&mode=1&$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="康巴卫视" tvg-name="康巴卫视" group-title="卫视",康巴卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227027/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkHMvBpWz4rccMxNvSRekpQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•3『线路1』 +http://scgctvshow.sctv.com/hdlive/kangba/1.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="康巴卫视" tvg-name="康巴卫视" group-title="卫视",康巴卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000005000266002&livemode=1&stbId=yu&mode=1&$LR•IPV4•3『线路2』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227027/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkHMvBpWz4rccMxNvSRekpQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•3『线路2』 #EXTINF:-1 tvg-id="康巴卫视" tvg-name="康巴卫视" group-title="卫视",康巴卫视 -http://scgctvshow.sctv.com/hdlive/kangba/1.m3u8$LR•IPV4•3『线路3』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000005000266002&livemode=1&stbId=yu&mode=1&$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="农林卫视" tvg-name="农林卫视" group-title="卫视",农林卫视 http://120.76.248.139/live/bfgd/4200000122.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="农林卫视" tvg-name="农林卫视" group-title="卫视",农林卫视 -http://204.12.221.218:8181/3m1080p/snnl.m3u8$LR•IPV4•4『线路2』 +http://43.251.226.89:8080/play/52.m3u8$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="农林卫视" tvg-name="农林卫视" group-title="卫视",农林卫视 -http://8.138.7.223/%E3%80%90%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E6%A6%B4%E8%8A%92%E7%94%B5%E8%A7%86%E3%80%91/%E5%86%9C%E6%9E%97%E5%8D%AB%E8%A7%86.m3u8$LR•IPV4•4『线路3』 +http://204.12.221.218:8181/3m1080p/snnl.m3u8$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="农林卫视" tvg-name="农林卫视" group-title="卫视",农林卫视 -http://43.251.226.89:8080/play/52.m3u8$LR•IPV4•4『线路4』 +http://8.138.7.223/%E3%80%90%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E6%A6%B4%E8%8A%92%E7%94%B5%E8%A7%86%E3%80%91/%E5%86%9C%E6%9E%97%E5%8D%AB%E8%A7%86.m3u8$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="三沙卫视" tvg-name="三沙卫视" group-title="卫视",三沙卫视 https://srs.ssws.tv/video/sstv-10/index.m3u8$LR•IPV4•9『线路1』 #EXTINF:-1 tvg-id="三沙卫视" tvg-name="三沙卫视" group-title="卫视",三沙卫视 -https://srs.ssws.tv/video/sstv-10/index.m3u8#http://nn.7x9d.cn/地方台8563/海南.php?id=ssws$LR•IPV4•9『线路2』 +http://43.251.226.89:8080/play/56.m3u8$LR•IPV4•9『线路2』 #EXTINF:-1 tvg-id="三沙卫视" tvg-name="三沙卫视" group-title="卫视",三沙卫视 -http://192.151.150.154/live/ssws.m3u8$LR•IPV4•9『线路3』 +https://iptv.catvod.com/catvod.php?id=ssws$LR•IPV4•9『线路3』 #EXTINF:-1 tvg-id="三沙卫视" tvg-name="三沙卫视" group-title="卫视",三沙卫视 -http://204.12.221.218:8181/3m1080p/ssws.m3u8$LR•IPV4•9『线路4』 +https://srs.ssws.tv/video/sstv-10/index.m3u8#http://nn.7x9d.cn/地方台8563/海南.php?id=ssws$LR•IPV4•9『线路4』 #EXTINF:-1 tvg-id="三沙卫视" tvg-name="三沙卫视" group-title="卫视",三沙卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000288016&livemode=1&stbId=yu&mode=1&$LR•IPV4•9『线路5』 +http://192.151.150.154/live/ssws.m3u8$LR•IPV4•9『线路5』 #EXTINF:-1 tvg-id="三沙卫视" tvg-name="三沙卫视" group-title="卫视",三沙卫视 -http://nn.7x9d.cn/地方台8563/海南.php?id=ssws$LR•IPV4•9『线路6』 +http://204.12.221.218:8181/3m1080p/ssws.m3u8$LR•IPV4•9『线路6』 #EXTINF:-1 tvg-id="三沙卫视" tvg-name="三沙卫视" group-title="卫视",三沙卫视 -http://btjg.net:809/hls/142/index.m3u8$LR•IPV4•9『线路7』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000288016&livemode=1&stbId=yu&mode=1&$LR•IPV4•9『线路7』 #EXTINF:-1 tvg-id="三沙卫视" tvg-name="三沙卫视" group-title="卫视",三沙卫视 -http://43.251.226.89:8080/play/56.m3u8$LR•IPV4•9『线路8』 +http://nn.7x9d.cn/地方台8563/海南.php?id=ssws$LR•IPV4•9『线路8』 #EXTINF:-1 tvg-id="三沙卫视" tvg-name="三沙卫视" group-title="卫视",三沙卫视 -https://iptv.catvod.com/catvod.php?id=ssws$LR•IPV4•9『线路9』 +http://btjg.net:809/hls/142/index.m3u8$LR•IPV4•9『线路9』 #EXTINF:-1 tvg-id="延边卫视" tvg-name="延边卫视" group-title="卫视",延边卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227045/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eq0D3NdTUN7FuRzr8eJsbQA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•7『线路1』 +https://srs.iyb983.cn:443/video/CYS/index.m3u8$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="延边卫视" tvg-name="延边卫视" group-title="卫视",延边卫视 -https://srs.iyb983.cn:443/video/CYS/index.m3u8$LR•IPV4•7『线路2』 +https://srs.iyb983.cn/video/CYS/index.m3u8$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="延边卫视" tvg-name="延边卫视" group-title="卫视",延边卫视 -https://srs.iyb983.cn/video/CYS/index.m3u8$LR•IPV4•7『线路3』 +http://222.90.21.30:9901/hls/67/index.m3u8$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="延边卫视" tvg-name="延边卫视" group-title="卫视",延边卫视 -http://222.90.21.30:9901/hls/67/index.m3u8$LR•IPV4•7『线路4』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227045/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eq0D3NdTUN7FuRzr8eJsbQA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•7『线路4』 #EXTINF:-1 tvg-id="延边卫视" tvg-name="延边卫视" group-title="卫视",延边卫视 http://120.76.248.139/live/bfgd/4200000117.m3u8$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="延边卫视" tvg-name="延边卫视" group-title="卫视",延边卫视 @@ -2656,11 +2668,11 @@ http://111.29.9.33:6610/000000001000/1000000001000028380/index.m3u8?channel-id=b #EXTINF:-1 tvg-id="家庭理财" tvg-name="家庭理财" group-title="卫视",家庭理财 http://223.110.245.139/PLTV/4/224/3221227011/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="梨园" tvg-name="梨园" group-title="卫视",梨园 -https://dxtx.hntv.tv/live/lypd.m3u8?txSecret=10c771842a0be59e8b575d765173ec96&txTime=7B923E0A&wsSecret=41543190cdf375f1c73207222bb96542&wsTime=1769313549$LR•IPV4•3『线路1』 +http://60.10.139.113:8801/hls/86/index.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="梨园" tvg-name="梨园" group-title="卫视",梨园 http://1.94.31.214/php/hntv.php?id=hnly$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="梨园" tvg-name="梨园" group-title="卫视",梨园 -http://60.10.139.113:8801/hls/86/index.m3u8$LR•IPV4•3『线路3』 +https://dxtx.hntv.tv/live/lypd.m3u8?txSecret=10c771842a0be59e8b575d765173ec96&txTime=7B923E0A&wsSecret=41543190cdf375f1c73207222bb96542&wsTime=1769313549$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="辽宁公共" tvg-name="辽宁公共" group-title="卫视",辽宁公共 http://120.76.248.139/live/bfgd/4200000481.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="中华特产" tvg-name="中华特产" group-title="卫视",中华特产 @@ -2674,107 +2686,105 @@ http://43.251.226.89:8080/play/928.m3u8$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="河北4K" tvg-name="河北4K" group-title="卫视",河北4K http://106.53.99.30/tv/api.php?id=hebtv4k$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -https://livehhhttps.sxrtv.com/lsdream/q8RVWgs/1000/n1sh84V.m3u8$LR•IPV4•21『线路1』 +http://118.81.195.79:9003/hls/19/index.m3u8$LR•IPV4•20『线路1』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227016/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ESb5Qr3NTpE2ZugIroKoyTw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•21『线路2』 +http://119.39.9.8:9901/tsfile/live/0118_1.m3u8$LR•IPV4•20『线路2』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -http://119.39.9.8:9901/tsfile/live/0118_1.m3u8$LR•IPV4•21『线路3』 +http://107.150.60.122/live/sxwshd.m3u8$LR•IPV4•20『线路3』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -http://107.150.60.122/live/sxwshd.m3u8$LR•IPV4•21『线路4』 +http://112.123.243.37:50085/tsfile/live/0120_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•20『线路4』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -http://112.123.243.37:50085/tsfile/live/0120_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•21『线路5』 +http://59.39.89.130:60901/tsfile/live/0125_20.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•20『线路5』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -http://59.39.89.130:60901/tsfile/live/0125_20.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路6』 +http://222.169.85.8:9901/tsfile/live/0118_1.m3u8$LR•IPV4•20『线路6』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -http://222.169.85.8:9901/tsfile/live/0118_1.m3u8$LR•IPV4•21『线路7』 +http://222.90.21.30:9901/hls/32/index.m3u8$LR•IPV4•20『线路7』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -http://222.90.21.30:9901/hls/32/index.m3u8$LR•IPV4•21『线路8』 +http://153.0.171.163:9901/tsfile/live/0118_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•20『线路8』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -http://153.0.171.163:9901/tsfile/live/0118_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路9』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227016/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ESb5Qr3NTpE2ZugIroKoyTw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•20『线路9』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -http://112.27.235.94:8000/hls/45/index.m3u8$LR•IPV4•21『线路10』 +http://112.27.235.94:8000/hls/45/index.m3u8$LR•IPV4•20『线路10』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -http://60.10.139.113:8801/hls/54/index.m3u8$LR•IPV4•21『线路11』 +http://23.237.228.134/live8/shanxi.m3u8$LR•IPV4•20『线路11』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -http://jasonzhangnas.f3322.net:7088/udp/233.18.204.211:5140$LR•IPV4•21『线路12』 +https://iptv.catvod.com/catvod.php?id=sxiws$LR•IPV4•20『线路12』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -http://207.56.13.146:81/cdnlive/sxws.m3u8$LR•IPV4•21『线路13』 +https://httop.top/ysp-山西卫视$LR•IPV4•20『线路13』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -http://192.151.150.154/live/sxwshd.m3u8$LR•IPV4•21『线路14』 +http://60.10.139.113:8801/hls/54/index.m3u8$LR•IPV4•20『线路14』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -http://204.12.221.218:8181/3m1080p/sxws.m3u8$LR•IPV4•21『线路15』 +http://jasonzhangnas.f3322.net:7088/udp/233.18.204.211:5140$LR•IPV4•20『线路15』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040023&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路16』 +http://207.56.13.146:81/cdnlive/sxws.m3u8$LR•IPV4•20『线路16』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000021220&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路17』 +http://192.151.150.154/live/sxwshd.m3u8$LR•IPV4•20『线路17』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -http://23.237.228.134/live8/shanxi.m3u8$LR•IPV4•21『线路18』 +http://204.12.221.218:8181/3m1080p/sxws.m3u8$LR•IPV4•20『线路18』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -https://iptv.catvod.com/catvod.php?id=sxiws$LR•IPV4•21『线路19』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040023&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路19』 #EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -https://httop.top/ysp-山西卫视$LR•IPV4•21『线路20』 -#EXTINF:-1 tvg-id="山西卫视" tvg-name="山西卫视" group-title="卫视",山西卫视 -http://118.81.195.79:9003/hls/19/index.m3u8$LR•IPV4•21『线路21』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000021220&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路20』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://stream.snrtv.com/sxbc-star-cdxWY0.m3u8$LR•IPV4•27『线路1』 +http://stream.snrtv.com/sxbc-3-kszDIO.m3u8$LR•IPV4•27『线路1』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226999/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EsGLKaSqf0wDZMbAjeQtfyw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路2』 +http://39.134.115.163:8080/PLTV/88888910/224/3221225729/index.m3u8$LR•IPV4•27『线路2』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://38.75.136.137:98/gslb/dsdqpub/snwshd.m3u8?auth=testpub$LR•IPV4•27『线路3』 +http://223.110.245.139/PLTV/4/224/3221227022/index.m3u8$LR•IPV4•27『线路3』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://198.204.228.26/live/snwshd.m3u8$LR•IPV4•27『线路4』 +http://112.25.48.68/live/program/live/sxws/1300000/mnf.m3u8$LR•IPV4•27『线路4』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://112.123.243.37:50085/tsfile/live/0109_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•27『线路5』 +http://38.75.136.137:98/gslb/dsdqpub/snwshd.m3u8?auth=testpub$LR•IPV4•27『线路5』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://59.39.89.130:60901/tsfile/live/0125_23.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路6』 +http://198.204.228.26/live/snwshd.m3u8$LR•IPV4•27『线路6』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://36.136.38.87:9901/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路7』 +http://112.123.243.37:50085/tsfile/live/0109_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•27『线路7』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://153.0.171.163:9901/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路8』 +http://59.39.89.130:60901/tsfile/live/0125_23.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路8』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://58.56.162.102:4466/newlive/live/hls/29/live.m3u8$LR•IPV4•27『线路9』 +http://36.136.38.87:9901/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路9』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://cssbyd.imwork.net:8082/hls/42/index.m3u8$LR•IPV4•27『线路10』 +http://153.0.171.163:9901/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路10』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://112.27.235.94:8000/hls/43/index.m3u8$LR•IPV4•27『线路11』 +http://58.56.162.102:4466/newlive/live/hls/29/live.m3u8$LR•IPV4•27『线路11』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://60.10.139.113:8801/hls/53/index.m3u8$LR•IPV4•27『线路12』 +http://cssbyd.imwork.net:8082/hls/42/index.m3u8$LR•IPV4•27『线路12』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://jasonzhangnas.f3322.net:7088/udp/233.18.204.223:5140$LR•IPV4•27『线路13』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226999/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EsGLKaSqf0wDZMbAjeQtfyw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路13』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://207.56.13.146:81/cdnlive/snws.m3u8$LR•IPV4•27『线路14』 +http://112.27.235.94:8000/hls/43/index.m3u8$LR•IPV4•27『线路14』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://192.151.150.154/live/snwshd.m3u8$LR•IPV4•27『线路15』 +http://38.75.136.137:98/gslb/dsdqpub/sxwshd.m3u8?auth=testpub$LR•IPV4•27『线路15』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://204.12.221.218:8181/3m1080p/snws.m3u8$LR•IPV4•27『线路16』 +http://23.237.228.134/live6/sichuan.m3u8$LR•IPV4•27『线路16』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000007495&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路17』 +http://43.251.226.89:8080/play/45.m3u8$LR•IPV4•27『线路17』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040017&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路18』 +https://iptv.catvod.com/catvod.php?id=sxws$LR•IPV4•27『线路18』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://38.75.136.137:98/gslb/dsdqpub/sxwshd.m3u8?auth=testpub$LR•IPV4•27『线路19』 +https://httop.top/ysp-陕西卫视$LR•IPV4•27『线路19』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://23.237.228.134/live6/sichuan.m3u8$LR•IPV4•27『线路20』 +http://mg.hmysapp.cn:177/ckmg/zb.php?id=sxws$LR•IPV4•27『线路20』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://43.251.226.89:8080/play/45.m3u8$LR•IPV4•27『线路21』 +http://60.10.139.113:8801/hls/53/index.m3u8$LR•IPV4•27『线路21』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -https://iptv.catvod.com/catvod.php?id=sxws$LR•IPV4•27『线路22』 +http://jasonzhangnas.f3322.net:7088/udp/233.18.204.223:5140$LR•IPV4•27『线路22』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -https://httop.top/ysp-陕西卫视$LR•IPV4•27『线路23』 +http://207.56.13.146:81/cdnlive/snws.m3u8$LR•IPV4•27『线路23』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://mg.hmysapp.cn:177/ckmg/zb.php?id=sxws$LR•IPV4•27『线路24』 +http://192.151.150.154/live/snwshd.m3u8$LR•IPV4•27『线路24』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://39.134.115.163:8080/PLTV/88888910/224/3221225729/index.m3u8$LR•IPV4•27『线路25』 +http://204.12.221.218:8181/3m1080p/snws.m3u8$LR•IPV4•27『线路25』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://223.110.245.139/PLTV/4/224/3221227022/index.m3u8$LR•IPV4•27『线路26』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000007495&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路26』 #EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" group-title="卫视",陕西卫视 -http://112.25.48.68/live/program/live/sxws/1300000/mnf.m3u8$LR•IPV4•27『线路27』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040017&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路27』 #EXTINF:-1 tvg-id="CHC影迷电影" tvg-name="CHC影迷电影" group-title="数字",CHC影迷电影 -http://192.151.150.154/live/chchd.m3u8$LR•IPV4•3『线路1』 +p3p://167.114.175.6:55331/63ec4caf00020428e445513c2d902fdb$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="CHC影迷电影" tvg-name="CHC影迷电影" group-title="数字",CHC影迷电影 -http://38.75.136.137:98/gslb/dsdqpub/chchd.m3u8?auth=testpub$LR•IPV4•3『线路2』 +http://192.151.150.154/live/chchd.m3u8$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="CHC影迷电影" tvg-name="CHC影迷电影" group-title="数字",CHC影迷电影 -p3p://167.114.175.6:55331/63ec4caf00020428e445513c2d902fdb$LR•IPV4•3『线路3』 +http://38.75.136.137:98/gslb/dsdqpub/chchd.m3u8?auth=testpub$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="CHC动作电影" tvg-name="CHC动作电影" group-title="数字",CHC动作电影 http://192.151.150.154/live/chcdz.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="CHC动作电影" tvg-name="CHC动作电影" group-title="数字",CHC动作电影 @@ -2788,279 +2798,279 @@ http://38.75.136.137:98/gslb/dsdqpub/chcjt.m3u8?auth=testpub$LR•IPV4•3『线 #EXTINF:-1 tvg-id="睛彩青少" tvg-name="睛彩青少" group-title="数字",睛彩青少 http://47.100.209.208:8100/TVOD/3000000020000011525.m3u8?token=8520$LR•IPV4 #EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" group-title="数字",睛彩竞技 -http://[2409:8087:1a01:df::4061]:80/TVOD/88888888/224/3221225899/main.m3u8$LR•IPV6•18『线路1』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2786&tk=e503191f8e20$LR•IPV4•18『线路1』 #EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" group-title="数字",睛彩竞技 -http://[2409:8087:1a01:df::4061]/TVOD/88888888/224/3221225899/main.m3u8$LR•IPV6•18『线路2』 +https://zby.130519.xyz/PLTV/11/224/3221226116/index.m3u8$LR•IPV4•18『线路2』 #EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" group-title="数字",睛彩竞技 -https://zby.130519.xyz/PLTV/11/224/3221226116/index.m3u8$LR•IPV4•18『线路3』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6620&tk=b53028476470$LR•IPV4•18『线路3』 #EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" group-title="数字",睛彩竞技 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0350&tk=e640d0a1bf70$LR•IPV4•18『线路4』 +http://47.100.209.208:8100/TVOD/3000000020000011528.m3u8?token=8520$LR•IPV4•18『线路4』 #EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" group-title="数字",睛彩竞技 -http://drive.mxmy.net:8888/udp/239.3.1.125:8001$LR•IPV4•18『线路5』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0350&tk=e640d0a1bf70$LR•IPV4•18『线路5』 #EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" group-title="数字",睛彩竞技 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9867&tk=f6cc1e0a0e1a$LR•IPV4•18『线路6』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0026&tk=a0c4f6cfaba3$LR•IPV4•18『线路6』 #EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" group-title="数字",睛彩竞技 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5325&tk=e640d0a1bf70$LR•IPV4•18『线路7』 +http://drive.mxmy.net:8888/udp/239.3.1.125:8001$LR•IPV4•18『线路7』 #EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" group-title="数字",睛彩竞技 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4750&tk=b53028476470$LR•IPV4•18『线路8』 +http://[2409:8087:1a01:df::4061]/TVOD/88888888/224/3221225899/main.m3u8$LR•IPV6•18『线路8』 #EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" group-title="数字",睛彩竞技 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2786&tk=e503191f8e20$LR•IPV4•18『线路9』 +http://[2409:8087:1a01:df::4061]:80/TVOD/88888888/224/3221225899/main.m3u8$LR•IPV6•18『线路9』 #EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" group-title="数字",睛彩竞技 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6620&tk=b53028476470$LR•IPV4•18『线路10』 +http://dl.wifi942.com:66/jsyd/jsyd.php?id=HD-8000k-1080P-miguaoyun2$LR•IPV4•18『线路10』 #EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" group-title="数字",睛彩竞技 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3410&tk=e503191f8e20$LR•IPV4•18『线路11』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4750&tk=b53028476470$LR•IPV4•18『线路11』 #EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" group-title="数字",睛彩竞技 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0026&tk=a0c4f6cfaba3$LR•IPV4•18『线路12』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6879&tk=f6cc1e0a0e1a$LR•IPV4•18『线路12』 #EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" group-title="数字",睛彩竞技 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5735&tk=a0c4f6cfaba3$LR•IPV4•18『线路13』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9867&tk=f6cc1e0a0e1a$LR•IPV4•18『线路13』 #EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" group-title="数字",睛彩竞技 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3983&tk=e640d0a1bf70$LR•IPV4•18『线路14』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3410&tk=e503191f8e20$LR•IPV4•18『线路14』 #EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" group-title="数字",睛彩竞技 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6879&tk=f6cc1e0a0e1a$LR•IPV4•18『线路15』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3983&tk=e640d0a1bf70$LR•IPV4•18『线路15』 #EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" group-title="数字",睛彩竞技 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0168&tk=e503191f8e20$LR•IPV4•18『线路16』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5735&tk=a0c4f6cfaba3$LR•IPV4•18『线路16』 #EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" group-title="数字",睛彩竞技 -http://47.100.209.208:8100/TVOD/3000000020000011528.m3u8?token=8520$LR•IPV4•18『线路17』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5325&tk=e640d0a1bf70$LR•IPV4•18『线路17』 #EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" group-title="数字",睛彩竞技 -http://dl.wifi942.com:66/jsyd/jsyd.php?id=HD-8000k-1080P-miguaoyun2$LR•IPV4•18『线路18』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0168&tk=e503191f8e20$LR•IPV4•18『线路18』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8139&tk=e640d0a1bf70$LR•IPV4•25『线路1』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6178&tk=a0c4f6cfaba3$LR•IPV4•25『线路1』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8352&tk=e503191f8e20$LR•IPV4•25『线路2』 +https://zby.130519.xyz/PLTV/11/224/3221226118/index.m3u8$LR•IPV4•25『线路2』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://lt.hxtre.com:35455/itv/2000000003000000065.m3u8?cdn=hnbblive$LR•IPV4•25『线路3』 +http://home.wwang.pw:35455/itv/2000000003000000061.m3u8?cdn=hnbblive$LR•IPV4•25『线路3』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6178&tk=a0c4f6cfaba3$LR•IPV4•25『线路4』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7674&tk=f6cc1e0a0e1a$LR•IPV4•25『线路4』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://home.wwang.pw:35455/itv/2000000003000000061.m3u8?cdn=hnbblive$LR•IPV4•25『线路5』 +http://[2409:8087:1a01:df::4055]:80/TVOD/88888888/224/3221225901/main.m3u8$LR•IPV6•25『线路5』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://lt.hxtre.com:35455/itv/2000000003000000061.m3u8?cdn=hnbblive$LR•IPV4•25『线路6』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9810&tk=e640d0a1bf70$LR•IPV4•25『线路6』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8104&tk=b53028476470$LR•IPV4•25『线路7』 +http://home.wwang.pw:35455/itv/1000000006000270002.m3u8?cdn=ystenlive$LR•IPV4•25『线路7』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://47.100.209.208:8100/TVOD/3000000020000011529.m3u8?token=8520$LR•IPV4•25『线路8』 +http://lt.hxtre.com:35455/itv/2000000003000000065.m3u8?cdn=hnbblive$LR•IPV4•25『线路8』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://3501776.xyz:35455/itv/2000000003000000061.m3u8?cdn=hnbblive$LR•IPV4•25『线路9』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2153&tk=a0c4f6cfaba3$LR•IPV4•25『线路9』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3724&tk=b53028476470$LR•IPV4•25『线路10』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1010&tk=e503191f8e20$LR•IPV4•25『线路10』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://[2409:8087:1a01:df::4055]:80/TVOD/88888888/224/3221225901/main.m3u8$LR•IPV6•25『线路11』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4363&tk=e503191f8e20$LR•IPV4•25『线路11』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4815&tk=f6cc1e0a0e1a$LR•IPV4•25『线路12』 +http://3501776.xyz:35455/itv/2000000003000000061.m3u8?cdn=hnbblive$LR•IPV4•25『线路12』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9810&tk=e640d0a1bf70$LR•IPV4•25『线路13』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3724&tk=b53028476470$LR•IPV4•25『线路13』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8571&tk=e640d0a1bf70$LR•IPV4•25『线路14』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1735&tk=f6cc1e0a0e1a$LR•IPV4•25『线路14』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://dl.wifi942.com:66/jsyd/jsyd.php?id=HD-8000k-1080P-miguaoyun1$LR•IPV4•25『线路15』 +http://drive.mxmy.net:8888/udp/239.3.1.126:8001$LR•IPV4•25『线路15』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -https://zby.130519.xyz/PLTV/11/224/3221226118/index.m3u8$LR•IPV4•25『线路16』 +http://36.105.100.208:35455/itv/2000000003000000061.m3u8?cdn=hnbblive$LR•IPV4•25『线路16』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1010&tk=e503191f8e20$LR•IPV4•25『线路17』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8352&tk=e503191f8e20$LR•IPV4•25『线路17』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2153&tk=a0c4f6cfaba3$LR•IPV4•25『线路18』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4815&tk=f6cc1e0a0e1a$LR•IPV4•25『线路18』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7674&tk=f6cc1e0a0e1a$LR•IPV4•25『线路19』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8104&tk=b53028476470$LR•IPV4•25『线路19』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://home.wwang.pw:35455/itv/1000000006000270002.m3u8?cdn=ystenlive$LR•IPV4•25『线路20』 +http://47.100.209.208:8100/TVOD/3000000020000011529.m3u8?token=8520$LR•IPV4•25『线路20』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5054&tk=b53028476470$LR•IPV4•25『线路21』 +http://lt.hxtre.com:35455/itv/2000000003000000061.m3u8?cdn=hnbblive$LR•IPV4•25『线路21』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://drive.mxmy.net:8888/udp/239.3.1.126:8001$LR•IPV4•25『线路22』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8571&tk=e640d0a1bf70$LR•IPV4•25『线路22』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1735&tk=f6cc1e0a0e1a$LR•IPV4•25『线路23』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8139&tk=e640d0a1bf70$LR•IPV4•25『线路23』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4363&tk=e503191f8e20$LR•IPV4•25『线路24』 +http://dl.wifi942.com:66/jsyd/jsyd.php?id=HD-8000k-1080P-miguaoyun1$LR•IPV4•25『线路24』 #EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" group-title="数字",睛彩篮球 -http://36.105.100.208:35455/itv/2000000003000000061.m3u8?cdn=hnbblive$LR•IPV4•25『线路25』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5054&tk=b53028476470$LR•IPV4•25『线路25』 #EXTINF:-1 tvg-id="睛彩广场" tvg-name="睛彩广场" group-title="数字",睛彩广场 http://47.100.209.208:8100/TVOD/3000000020000011523.m3u8?token=8520$LR•IPV4 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -https://stream1.freetv.fun/mei-li-zu-qiu-3.m3u8$LR•IPV4•28『线路1』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3624&tk=23a9aca1f79f$LR•IPV4•28『线路1』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -http://111.22.153.159:35455/itv/5000000011000031207.m3u8?cdn=bestzb$LR•IPV4•28『线路2』 +https://www.freetv.top/migu/796070308.m3u8?migutoken=aef1ffa947e5328dd4ec2bb318b58b674fe32113222c6c9eab78bcdc2a9f31cf142a1d60536ea5a5ee039d3753e6bd98bef238d0ba7e3af9153e765e8b77e2a8c28451355b4a426d11c5c304f8$LR•IPV4•28『线路2』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -http://146.56.165.66:7788/TVOD/5000000011000031207/bestzb/index.m3u8$LR•IPV4•28『线路3』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1085&tk=a0c4f6cfaba3$LR•IPV4•28『线路3』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -https://stream1.freetv.fun/mei-li-zu-qiu-2.m3u8$LR•IPV4•28『线路4』 +http://101.43.145.141:12002/migu/796070308.m3u8?migutoken=1730af6437a233f0596951f5d5a2061eaca737e10bcdbcea03fa2a7fa4bc33239ce4566a89ef3fdda6468d4a13966fccece1a98b921a181e5ffe79ab2788b226a9e33caa4f43bcc88a4cb636$LR•IPV4•28『线路4』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -https://stream1.freetv.fun/ipv6-mei-li-zu-qiu-3.m3u8$LR•IPV4•28『线路5』 +http://t.061899.xyz/tl/tl.php?id=mlzq$LR•IPV4•28『线路5』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5943&tk=b53028476470$LR•IPV4•28『线路6』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.133:11111$LR•IPV4•28『线路6』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -https://stream1.freetv.fun/ipv6-mei-li-zu-qiu-4.m3u8$LR•IPV4•28『线路7』 +https://stream1.freetv.fun/ipv6-mei-li-zu-qiu-5.m3u8$LR•IPV4•28『线路7』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8363&tk=e503191f8e20$LR•IPV4•28『线路8』 +https://stream1.freetv.fun/mei-li-zu-qiu-5.ctv$LR•IPV4•28『线路8』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -https://hls-gateway.vpstv.net/streams/708839.m3u8$LR•IPV4•28『线路9』 +http://150.158.112.123/公众号~玉玉软件库/mg.php?id=mlzq$LR•IPV4•28『线路9』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7365&tk=f6cc1e0a0e1a$LR•IPV4•28『线路10』 +https://www.freetv.top/migu/796070308.m3u8?migutoken=f4f71100ed3cd756f336e1f3b6d522c1338ee1ffd14316eea89e461d4e31e29395a265a9f1ec26b947fb0e7dc16296db47ae3bfea73caaee6901d17bfede63775878c0ab44c872939ba5b53baf$LR•IPV4•28『线路10』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -http://36.105.100.208:35455/itv/5000000011000031206.m3u8?cdn=bestzb$LR•IPV4•28『线路11』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0934&tk=e640d0a1bf70$LR•IPV4•28『线路11』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -http://qjrhc.jydjd.top:2911/udp/224.1.100.133:11111$LR•IPV4•28『线路12』 +https://stream1.freetv.fun/ipv6-mei-li-zu-qiu-4.m3u8$LR•IPV4•28『线路12』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -https://www.freetv.top/migu/796070308.m3u8?migutoken=0a72668399c6f96d928c0bf0adbe330bbae95b55cfc10f2da9e830e2e06051b89a0e1db847eaa61f6b897e3efcb05ecc6160c2ce3c8073fb2d90c8ed191845e1ca16f6bcd3aaa13f6538d2074d$LR•IPV4•28『线路13』 +http://111.22.153.159:35455/itv/5000000011000031207.m3u8?cdn=bestzb$LR•IPV4•28『线路13』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -https://stream1.freetv.fun/mei-li-zu-qiu-5.ctv$LR•IPV4•28『线路14』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7365&tk=f6cc1e0a0e1a$LR•IPV4•28『线路14』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -http://dassby.qqff.top:99/live/快乐垂钓/index.m3u8$LR•IPV4•28『线路15』 +https://stream1.freetv.fun/mei-li-zu-qiu-3.m3u8$LR•IPV4•28『线路15』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0934&tk=e640d0a1bf70$LR•IPV4•28『线路16』 +https://stream1.freetv.fun/mei-li-zu-qiu-1.m3u8$LR•IPV4•28『线路16』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1085&tk=a0c4f6cfaba3$LR•IPV4•28『线路17』 +https://www.freetv.top/migu/796070308.m3u8?migutoken=0a72668399c6f96d928c0bf0adbe330bbae95b55cfc10f2da9e830e2e06051b89a0e1db847eaa61f6b897e3efcb05ecc6160c2ce3c8073fb2d90c8ed191845e1ca16f6bcd3aaa13f6538d2074d$LR•IPV4•28『线路17』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -http://150.158.112.123/公众号~玉玉软件库/mg.php?id=mlzq$LR•IPV4•28『线路18』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8920&tk=a0c4f6cfaba3$LR•IPV4•28『线路18』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -https://stream1.freetv.fun/ipv6-mei-li-zu-qiu-5.m3u8$LR•IPV4•28『线路19』 +https://hls-gateway.vpstv.net/streams/708839.m3u8$LR•IPV4•28『线路19』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3624&tk=23a9aca1f79f$LR•IPV4•28『线路20』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5943&tk=b53028476470$LR•IPV4•28『线路20』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -http://101.43.145.141:12002/migu/796070308.m3u8?migutoken=1730af6437a233f0596951f5d5a2061eaca737e10bcdbcea03fa2a7fa4bc33239ce4566a89ef3fdda6468d4a13966fccece1a98b921a181e5ffe79ab2788b226a9e33caa4f43bcc88a4cb636$LR•IPV4•28『线路21』 +http://dassby.qqff.top:99/live/快乐垂钓/index.m3u8$LR•IPV4•28『线路21』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -http://t.061899.xyz/tl/tl.php?id=mlzq$LR•IPV4•28『线路22』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8363&tk=e503191f8e20$LR•IPV4•28『线路22』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2186&tk=e640d0a1bf70$LR•IPV4•28『线路23』 +https://stream1.freetv.fun/mei-li-zu-qiu-2.m3u8$LR•IPV4•28『线路23』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -https://www.freetv.top/migu/796070308.m3u8?migutoken=aef1ffa947e5328dd4ec2bb318b58b674fe32113222c6c9eab78bcdc2a9f31cf142a1d60536ea5a5ee039d3753e6bd98bef238d0ba7e3af9153e765e8b77e2a8c28451355b4a426d11c5c304f8$LR•IPV4•28『线路24』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2186&tk=e640d0a1bf70$LR•IPV4•28『线路24』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -https://www.freetv.top/migu/796070308.m3u8?migutoken=f4f71100ed3cd756f336e1f3b6d522c1338ee1ffd14316eea89e461d4e31e29395a265a9f1ec26b947fb0e7dc16296db47ae3bfea73caaee6901d17bfede63775878c0ab44c872939ba5b53baf$LR•IPV4•28『线路25』 +http://146.56.165.66:7788/TVOD/5000000011000031207/bestzb/index.m3u8$LR•IPV4•28『线路25』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -https://stream1.freetv.fun/mei-li-zu-qiu-4.ctv$LR•IPV4•28『线路26』 +http://36.105.100.208:35455/itv/5000000011000031206.m3u8?cdn=bestzb$LR•IPV4•28『线路26』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8920&tk=a0c4f6cfaba3$LR•IPV4•28『线路27』 +https://stream1.freetv.fun/mei-li-zu-qiu-4.ctv$LR•IPV4•28『线路27』 #EXTINF:-1 tvg-id="SiTV 魅力足球" tvg-name="SiTV 魅力足球" group-title="数字",SiTV 魅力足球 -https://stream1.freetv.fun/mei-li-zu-qiu-1.m3u8$LR•IPV4•28『线路28』 +https://stream1.freetv.fun/ipv6-mei-li-zu-qiu-3.m3u8$LR•IPV4•28『线路28』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://feiyang.ak47s.top:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路1』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2599&tk=e640d0a1bf70$LR•IPV4•25『线路1』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4995&tk=e503191f8e20$LR•IPV4•25『线路2』 +http://feiyang.ak47s.top:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路2』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://qjrhc.jydjd.top:2911/udp/224.1.100.130:11111$LR•IPV4•25『线路3』 +https://www.freetv.top/migu/796071336.m3u8?migutoken=1cc947d86cb584c31c31c88c005d55965238dbfff7ed75fca8451aed0b564786fde7e4b327e93b92dc96ef57e64e3bb56e8a9e921338080cdae817cb6125d8450b687659ecfee06be9c5d53ac6$LR•IPV4•25『线路3』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://111.22.153.159:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路4』 +http://119.32.12.17:2901/udp/224.1.100.129:11111$LR•IPV4•25『线路4』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://3501776.xyz:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路5』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9784&tk=b53028476470$LR•IPV4•25『线路5』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9784&tk=b53028476470$LR•IPV4•25『线路6』 +http://120.198.101.106:9901/tsfile/live/1086_1.m3u8?key=txiptv$LR•IPV4•25『线路6』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0525&tk=23a9aca1f79f$LR•IPV4•25『线路7』 +http://36.105.100.208:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路7』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://qjrhc.jydjd.top:2911/udp/224.1.100.129:11111$LR•IPV4•25『线路8』 +http://111.22.153.159:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路8』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://119.32.12.32:2901/udp/224.1.100.129:11111$LR•IPV4•25『线路9』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6808&tk=a0c4f6cfaba3$LR•IPV4•25『线路9』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://146.56.165.66:7788/TVOD/5000000002000029972/bestzb/index.m3u8$LR•IPV4•25『线路10』 +http://3501776.xyz:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路10』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2599&tk=e640d0a1bf70$LR•IPV4•25『线路11』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4995&tk=e503191f8e20$LR•IPV4•25『线路11』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://t.061899.xyz/tl/tl.php?id=jbty$LR•IPV4•25『线路12』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0525&tk=23a9aca1f79f$LR•IPV4•25『线路12』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3011&tk=a0c4f6cfaba3$LR•IPV4•25『线路13』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7082&tk=f6cc1e0a0e1a$LR•IPV4•25『线路13』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://home.wwang.pw:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路14』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6835&tk=e640d0a1bf70$LR•IPV4•25『线路14』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6808&tk=a0c4f6cfaba3$LR•IPV4•25『线路15』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.130:11111$LR•IPV4•25『线路15』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6835&tk=e640d0a1bf70$LR•IPV4•25『线路16』 +http://120.238.94.82:9901/tsfile/live/1086_1.m3u8$LR•IPV4•25『线路16』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://120.238.94.82:9901/tsfile/live/1086_1.m3u8$LR•IPV4•25『线路17』 +http://146.56.165.66:7788/TVOD/5000000002000029972/bestzb/index.m3u8$LR•IPV4•25『线路17』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://www.zhch682022.cn:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路18』 +http://home.wwang.pw:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路18』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -https://www.freetv.top/migu/796071336.m3u8?migutoken=05144ee4526abc2f6a8d44a41f9e078ef10c1a9f8930d51d7f453315d3577b613eac76898b1e0965789f7010cd3f8a1bca3167ef6e625cb77fc2c575eec35c8d07aaff61dc4b79f75fc67ef667$LR•IPV4•25『线路19』 +http://t.061899.xyz/tl/tl.php?id=jbty$LR•IPV4•25『线路19』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://119.32.12.17:2901/udp/224.1.100.129:11111$LR•IPV4•25『线路20』 +http://119.32.12.32:2901/udp/224.1.100.129:11111$LR•IPV4•25『线路20』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://36.105.100.208:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路21』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.129:11111$LR•IPV4•25『线路21』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://120.198.101.106:9901/tsfile/live/1086_1.m3u8?key=txiptv$LR•IPV4•25『线路22』 +https://www.freetv.top/migu/796071336.m3u8?migutoken=05144ee4526abc2f6a8d44a41f9e078ef10c1a9f8930d51d7f453315d3577b613eac76898b1e0965789f7010cd3f8a1bca3167ef6e625cb77fc2c575eec35c8d07aaff61dc4b79f75fc67ef667$LR•IPV4•25『线路22』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7082&tk=f6cc1e0a0e1a$LR•IPV4•25『线路23』 +http://183.237.95.108:9901/tsfile/live/1074_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•25『线路23』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -http://183.237.95.108:9901/tsfile/live/1074_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•25『线路24』 +http://www.zhch682022.cn:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路24』 #EXTINF:-1 tvg-id="SiTV 劲爆体育" tvg-name="SiTV 劲爆体育" group-title="数字",SiTV 劲爆体育 -https://www.freetv.top/migu/796071336.m3u8?migutoken=1cc947d86cb584c31c31c88c005d55965238dbfff7ed75fca8451aed0b564786fde7e4b327e93b92dc96ef57e64e3bb56e8a9e921338080cdae817cb6125d8450b687659ecfee06be9c5d53ac6$LR•IPV4•25『线路25』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3011&tk=a0c4f6cfaba3$LR•IPV4•25『线路25』 #EXTINF:-1 tvg-id="SiTV动漫秀场" tvg-name="SiTV动漫秀场" group-title="数字",SiTV动漫秀场 http://183.237.95.108:9901/tsfile/live/1104_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-11.m3u8$LR•IPV4•39『线路1』 +https://stream1.freetv.fun/sheng-huo-shi-shang-10.ctv$LR•IPV4•39『线路1』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-4.ctv$LR•IPV4•39『线路2』 +https://stream1.freetv.fun/sheng-huo-shi-shang-11.ctv$LR•IPV4•39『线路2』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-28.m3u8$LR•IPV4•39『线路3』 +https://stream1.freetv.fun/ipv6-sheng-huo-shi-shang-2.m3u8$LR•IPV4•39『线路3』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-12.m3u8$LR•IPV4•39『线路4』 +https://stream1.freetv.fun/sheng-huo-shi-shang-23.ctv$LR•IPV4•39『线路4』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-25.m3u8$LR•IPV4•39『线路5』 +https://stream1.freetv.fun/sheng-huo-shi-shang-20.ctv$LR•IPV4•39『线路5』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -http://nas.hssvm.com:8888/udp/225.1.1.143:5002$LR•IPV4•39『线路6』 +https://stream1.freetv.fun/sheng-huo-shi-shang-25.m3u8$LR•IPV4•39『线路6』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-18.m3u8$LR•IPV4•39『线路7』 +https://stream1.freetv.fun/sheng-huo-shi-shang-2.ctv$LR•IPV4•39『线路7』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/ipv6-sheng-huo-shi-shang-2.m3u8$LR•IPV4•39『线路8』 +http://home.wwang.pw:35455/itv/5000000002000019634.m3u8?cdn=bestzb$LR•IPV4•39『线路8』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-1.ctv$LR•IPV4•39『线路9』 +http://e1.woc.iiiya.cn:8888/rtp/239.61.2.141:8834$LR•IPV4•39『线路9』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -http://e1.woc.iiiya.cn:8888/rtp/239.61.2.141:8834$LR•IPV4•39『线路10』 +http://wouu.net:9977/udp/239.93.42.29:5140$LR•IPV4•39『线路10』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-19.ctv$LR•IPV4•39『线路11』 +https://zby.130519.xyz/PLTV/11/224/3221225768/index.m3u8$LR•IPV4•39『线路11』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 https://stream1.freetv.fun/sheng-huo-shi-shang-26.m3u8$LR•IPV4•39『线路12』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://t.freetv.fun/live/sheng-huo-shi-shang-2.m3u8$LR•IPV4•39『线路13』 +https://stream1.freetv.fun/sheng-huo-shi-shang-9.ctv$LR•IPV4•39『线路13』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/ipv6-sheng-huo-shi-shang-14.m3u8$LR•IPV4•39『线路14』 +https://stream1.freetv.fun/sheng-huo-shi-shang-29.m3u8$LR•IPV4•39『线路14』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -http://111.22.153.159:35455/itv/5000000002000019634.m3u8?cdn=bestzb$LR•IPV4•39『线路15』 +https://stream1.freetv.fun/sheng-huo-shi-shang-14.ctv$LR•IPV4•39『线路15』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-11.ctv$LR•IPV4•39『线路16』 +http://nas.hssvm.com:8888/udp/225.1.1.143:5002$LR•IPV4•39『线路16』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-24.m3u8$LR•IPV4•39『线路17』 +https://stream1.freetv.fun/sheng-huo-shi-shang-9.m3u8$LR•IPV4•39『线路17』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-29.m3u8$LR•IPV4•39『线路18』 +https://stream1.freetv.fun/sheng-huo-shi-shang-18.m3u8$LR•IPV4•39『线路18』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-10.ctv$LR•IPV4•39『线路19』 +https://stream1.freetv.fun/sheng-huo-shi-shang-22.m3u8$LR•IPV4•39『线路19』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-25.ctv$LR•IPV4•39『线路20』 +https://stream1.freetv.fun/ipv6-sheng-huo-shi-shang-5.m3u8$LR•IPV4•39『线路20』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-20.ctv$LR•IPV4•39『线路21』 +https://stream1.freetv.fun/sheng-huo-shi-shang-28.m3u8$LR•IPV4•39『线路21』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-14.ctv$LR•IPV4•39『线路22』 +https://t.freetv.fun/live/sheng-huo-shi-shang-2.m3u8$LR•IPV4•39『线路22』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -http://wouu.net:9977/udp/239.93.42.29:5140$LR•IPV4•39『线路23』 +https://stream1.freetv.fun/ipv6-sheng-huo-shi-shang-7.m3u8$LR•IPV4•39『线路23』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-23.ctv$LR•IPV4•39『线路24』 +https://stream1.freetv.fun/sheng-huo-shi-shang-4.ctv$LR•IPV4•39『线路24』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-13.ctv$LR•IPV4•39『线路25』 +http://146.56.165.66:7788/TVOD/5000000002000019634/bestzb/index.m3u8$LR•IPV4•39『线路25』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-5.ctv$LR•IPV4•39『线路26』 +https://stream1.freetv.fun/ipv6-sheng-huo-shi-shang-14.m3u8$LR•IPV4•39『线路26』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-17.ctv$LR•IPV4•39『线路27』 +http://111.22.153.159:35455/itv/5000000002000019634.m3u8?cdn=bestzb$LR•IPV4•39『线路27』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -http://home.wwang.pw:35455/itv/5000000002000019634.m3u8?cdn=bestzb$LR•IPV4•39『线路28』 +https://stream1.freetv.fun/sheng-huo-shi-shang-11.m3u8$LR•IPV4•39『线路28』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-6.m3u8$LR•IPV4•39『线路29』 +https://stream1.freetv.fun/sheng-huo-shi-shang-25.ctv$LR•IPV4•39『线路29』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/ipv6-sheng-huo-shi-shang-5.m3u8$LR•IPV4•39『线路30』 +https://stream1.freetv.fun/sheng-huo-shi-shang-17.ctv$LR•IPV4•39『线路30』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://zby.130519.xyz/PLTV/11/224/3221225768/index.m3u8$LR•IPV4•39『线路31』 +https://stream1.freetv.fun/sheng-huo-shi-shang-27.m3u8$LR•IPV4•39『线路31』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -http://146.56.165.66:7788/TVOD/5000000002000019634/bestzb/index.m3u8$LR•IPV4•39『线路32』 +https://stream1.freetv.fun/sheng-huo-shi-shang-19.ctv$LR•IPV4•39『线路32』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/ipv6-sheng-huo-shi-shang-7.m3u8$LR•IPV4•39『线路33』 +https://stream1.freetv.fun/sheng-huo-shi-shang-13.m3u8$LR•IPV4•39『线路33』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-2.ctv$LR•IPV4•39『线路34』 +https://stream1.freetv.fun/sheng-huo-shi-shang-24.m3u8$LR•IPV4•39『线路34』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-9.m3u8$LR•IPV4•39『线路35』 +https://stream1.freetv.fun/sheng-huo-shi-shang-13.ctv$LR•IPV4•39『线路35』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-13.m3u8$LR•IPV4•39『线路36』 +https://stream1.freetv.fun/sheng-huo-shi-shang-1.ctv$LR•IPV4•39『线路36』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-9.ctv$LR•IPV4•39『线路37』 +https://stream1.freetv.fun/sheng-huo-shi-shang-12.m3u8$LR•IPV4•39『线路37』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-22.m3u8$LR•IPV4•39『线路38』 +https://stream1.freetv.fun/sheng-huo-shi-shang-6.m3u8$LR•IPV4•39『线路38』 #EXTINF:-1 tvg-id="生活时尚" tvg-name="生活时尚" group-title="数字",生活时尚 -https://stream1.freetv.fun/sheng-huo-shi-shang-27.m3u8$LR•IPV4•39『线路39』 +https://stream1.freetv.fun/sheng-huo-shi-shang-5.ctv$LR•IPV4•39『线路39』 #EXTINF:-1 tvg-id="NewTV黑莓电影" tvg-name="NewTV黑莓电影" group-title="数字",NewTV黑莓电影 http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=8785669936177902664&livemode=1&stbId=yu&mode=1&$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="NewTV黑莓电影" tvg-name="NewTV黑莓电影" group-title="数字",NewTV黑莓电影 @@ -3082,15 +3092,15 @@ http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=100000 #EXTINF:-1 tvg-id="NewTV超级体育" tvg-name="NewTV超级体育" group-title="数字",NewTV超级体育 http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000004000007755&livemode=1&stbId=yu&mode=1&$LR•IPV4•9『线路3』 #EXTINF:-1 tvg-id="NewTV超级体育" tvg-name="NewTV超级体育" group-title="数字",NewTV超级体育 -http://feiyang.ak47s.top:35455/itv/1000000001000009601.m3u8?cdn=ystenlive$LR•IPV4•9『线路4』 +http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225715/index.m3u8$LR•IPV6•9『线路4』 #EXTINF:-1 tvg-id="NewTV超级体育" tvg-name="NewTV超级体育" group-title="数字",NewTV超级体育 -http://39.134.65.66/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225715/index.m3u8$LR•IPV4•9『线路5』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3188&tk=23a9aca1f79f$LR•IPV4•9『线路5』 #EXTINF:-1 tvg-id="NewTV超级体育" tvg-name="NewTV超级体育" group-title="数字",NewTV超级体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3188&tk=23a9aca1f79f$LR•IPV4•9『线路6』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0078&tk=a0c4f6cfaba3$LR•IPV4•9『线路6』 #EXTINF:-1 tvg-id="NewTV超级体育" tvg-name="NewTV超级体育" group-title="数字",NewTV超级体育 -http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225715/index.m3u8$LR•IPV6•9『线路7』 +http://39.134.65.66/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225715/index.m3u8$LR•IPV4•9『线路7』 #EXTINF:-1 tvg-id="NewTV超级体育" tvg-name="NewTV超级体育" group-title="数字",NewTV超级体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0078&tk=a0c4f6cfaba3$LR•IPV4•9『线路8』 +http://feiyang.ak47s.top:35455/itv/1000000001000009601.m3u8?cdn=ystenlive$LR•IPV4•9『线路8』 #EXTINF:-1 tvg-id="NewTV超级体育" tvg-name="NewTV超级体育" group-title="数字",NewTV超级体育 http://111.29.9.33:6610/000000001000/1000000004000007755/index.m3u8?channel-id=bestzb&Contentid=1000000004000007755&livemode=1&stbId=3$LR•IPV4•9『线路9』 #EXTINF:-1 tvg-id="NewTV超级电影" tvg-name="NewTV超级电影" group-title="数字",NewTV超级电影 @@ -3144,17 +3154,17 @@ http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=646038 #EXTINF:-1 tvg-id="NewTV精品体育" tvg-name="NewTV精品体育" group-title="数字",NewTV精品体育 http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000004000014634&livemode=1&stbId=yu&mode=1&$LR•IPV4•8『线路2』 #EXTINF:-1 tvg-id="NewTV精品体育" tvg-name="NewTV精品体育" group-title="数字",NewTV精品体育 -https://epg.pw/stream/94ed0232b61ce8d89883160a4cdfbfc8f3225cae70ef8e17d93eec249a3c8ad6.m3u8$LR•IPV4•8『线路3』 +http://146.56.165.66:7788/TVOD/2000000003000000021/hnbblive/index.m3u8$LR•IPV4•8『线路3』 #EXTINF:-1 tvg-id="NewTV精品体育" tvg-name="NewTV精品体育" group-title="数字",NewTV精品体育 -https://epg.pw/stream/f7556eccd4ae06b0c2991fdc7a4f8388496559f728cc82459a8e50346040e226.m3u8$LR•IPV4•8『线路4』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5739&tk=23a9aca1f79f$LR•IPV4•8『线路4』 #EXTINF:-1 tvg-id="NewTV精品体育" tvg-name="NewTV精品体育" group-title="数字",NewTV精品体育 http://dl.wifi942.com:66/jsyd/jsyd.php?id=GITV-JS-65$LR•IPV4•8『线路5』 #EXTINF:-1 tvg-id="NewTV精品体育" tvg-name="NewTV精品体育" group-title="数字",NewTV精品体育 -http://146.56.165.66:7788/TVOD/2000000003000000021/hnbblive/index.m3u8$LR•IPV4•8『线路6』 +https://epg.pw/stream/866a097a0907c9832440f8df38272dd555abf05200dfbafcc137e214c9b30ca7.m3u8$LR•IPV4•8『线路6』 #EXTINF:-1 tvg-id="NewTV精品体育" tvg-name="NewTV精品体育" group-title="数字",NewTV精品体育 -https://epg.pw/stream/866a097a0907c9832440f8df38272dd555abf05200dfbafcc137e214c9b30ca7.m3u8$LR•IPV4•8『线路7』 +https://epg.pw/stream/f7556eccd4ae06b0c2991fdc7a4f8388496559f728cc82459a8e50346040e226.m3u8$LR•IPV4•8『线路7』 #EXTINF:-1 tvg-id="NewTV精品体育" tvg-name="NewTV精品体育" group-title="数字",NewTV精品体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5739&tk=23a9aca1f79f$LR•IPV4•8『线路8』 +https://epg.pw/stream/94ed0232b61ce8d89883160a4cdfbfc8f3225cae70ef8e17d93eec249a3c8ad6.m3u8$LR•IPV4•8『线路8』 #EXTINF:-1 tvg-id="NewTV家庭剧场" tvg-name="NewTV家庭剧场" group-title="数字",NewTV家庭剧场 http://lvbaiducdnct.inter.ptqy.gitv.tv/tslive/c59_fast_999_1080P_t10/c59_fast_999_1080P_t10.m3u8?d$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="NewTV家庭剧场" tvg-name="NewTV家庭剧场" group-title="数字",NewTV家庭剧场 @@ -3200,23 +3210,23 @@ http://111.29.9.33:6610/000000001000/1000000001000000515/index.m3u8?channel-id=b #EXTINF:-1 tvg-id="NewTV哒啵赛事" tvg-name="NewTV哒啵赛事" group-title="数字",NewTV哒啵赛事 http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5320946857686967621&livemode=1&stbId=yu&mode=1&$LR•IPV4 #EXTINF:-1 tvg-id="卡酷少儿" tvg-name="卡酷少儿" group-title="数字",卡酷少儿 -http://218.13.170.98:9901/tsfile/live/1021_1.m3u8$LR•IPV4•5『线路1』 +http://192.151.150.154/live/btvkk.m3u8$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="卡酷少儿" tvg-name="卡酷少儿" group-title="数字",卡酷少儿 -http://192.151.150.154/live/btvkk.m3u8$LR•IPV4•5『线路2』 +http://204.12.221.218:8181/3m1080p/btvkk.m3u8$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="卡酷少儿" tvg-name="卡酷少儿" group-title="数字",卡酷少儿 -http://204.12.221.218:8181/3m1080p/btvkk.m3u8$LR•IPV4•5『线路3』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7851974109718180595&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="卡酷少儿" tvg-name="卡酷少儿" group-title="数字",卡酷少儿 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7851974109718180595&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路4』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7589856436881630561&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="卡酷少儿" tvg-name="卡酷少儿" group-title="数字",卡酷少儿 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7589856436881630561&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路5』 +http://218.13.170.98:9901/tsfile/live/1021_1.m3u8$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="优漫卡通" tvg-name="优漫卡通" group-title="数字",优漫卡通 -http://192.151.150.154/live/ymkt.m3u8$LR•IPV4•4『线路1』 +http://183.207.249.15/PLTV/4/224/3221225933/index.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="优漫卡通" tvg-name="优漫卡通" group-title="数字",优漫卡通 -http://204.12.221.218:8181/3m1080p/ymkt.m3u8$LR•IPV4•4『线路2』 +http://192.151.150.154/live/ymkt.m3u8$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="优漫卡通" tvg-name="优漫卡通" group-title="数字",优漫卡通 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000010063&livemode=1&stbId=yu&mode=1&$LR•IPV4•4『线路3』 +http://204.12.221.218:8181/3m1080p/ymkt.m3u8$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="优漫卡通" tvg-name="优漫卡通" group-title="数字",优漫卡通 -http://183.207.249.15/PLTV/4/224/3221225933/index.m3u8$LR•IPV4•4『线路4』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000010063&livemode=1&stbId=yu&mode=1&$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="哈哈炫动" tvg-name="哈哈炫动" group-title="数字",哈哈炫动 http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031123&livemode=1&stbId=yu&mode=1&$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="哈哈炫动" tvg-name="哈哈炫动" group-title="数字",哈哈炫动 @@ -3226,309 +3236,309 @@ http://111.29.9.33:6610/000000001000/5000000011000031123/index.m3u8?channel-id=b #EXTINF:-1 tvg-id="哈哈炫动" tvg-name="哈哈炫动" group-title="数字",哈哈炫动 http://223.110.245.139/PLTV/4/224/3221226388/index.m3u8$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="嘉佳卡通" tvg-name="嘉佳卡通" group-title="数字",嘉佳卡通 -http://192.151.150.154/live/gdjjkt.m3u8$LR•IPV4•7『线路1』 +http://223.110.245.139/PLTV/4/224/3221227009/index.m3u8$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="嘉佳卡通" tvg-name="嘉佳卡通" group-title="数字",嘉佳卡通 -http://204.12.221.218:8181/3m1080p/gdjjkt.m3u8$LR•IPV4•7『线路2』 +http://112.25.48.68/live/program/live/jjkt/1300000/mnf.m3u8$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="嘉佳卡通" tvg-name="嘉佳卡通" group-title="数字",嘉佳卡通 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000025964&livemode=1&stbId=yu&mode=1&$LR•IPV4•7『线路3』 +http://192.151.150.154/live/gdjjkt.m3u8$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="嘉佳卡通" tvg-name="嘉佳卡通" group-title="数字",嘉佳卡通 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=4739906347743456369&livemode=1&stbId=yu&mode=1&$LR•IPV4•7『线路4』 +http://204.12.221.218:8181/3m1080p/gdjjkt.m3u8$LR•IPV4•7『线路4』 #EXTINF:-1 tvg-id="嘉佳卡通" tvg-name="嘉佳卡通" group-title="数字",嘉佳卡通 -http://111.29.9.33:6610/000000001000/1000000002000025964/index.m3u8?channel-id=bestzb&Contentid=1000000002000025964&livemode=1&stbId=3$LR•IPV4•7『线路5』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000025964&livemode=1&stbId=yu&mode=1&$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="嘉佳卡通" tvg-name="嘉佳卡通" group-title="数字",嘉佳卡通 -http://223.110.245.139/PLTV/4/224/3221227009/index.m3u8$LR•IPV4•7『线路6』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=4739906347743456369&livemode=1&stbId=yu&mode=1&$LR•IPV4•7『线路6』 #EXTINF:-1 tvg-id="嘉佳卡通" tvg-name="嘉佳卡通" group-title="数字",嘉佳卡通 -http://112.25.48.68/live/program/live/jjkt/1300000/mnf.m3u8$LR•IPV4•7『线路7』 +http://111.29.9.33:6610/000000001000/1000000002000025964/index.m3u8?channel-id=bestzb&Contentid=1000000002000025964&livemode=1&stbId=3$LR•IPV4•7『线路7』 #EXTINF:-1 tvg-id="金鹰卡通" tvg-name="金鹰卡通" group-title="数字",金鹰卡通 http://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2hzPSZkZWY9MSZ1aXA9MTA2LjE0LjM4LjU1JnRlcm09NSZtYWNpZD02ODZlOGNmOGM4OGU3N2VjOWEwNzkzMjg5ZjUzNDg0MmFiZWM0ZjNjJnFpZD0mcmF1dGhfZW5hYmxlPW9mZiZjZG5leF9pZD1hbF9waG9uZTMmZXM9MTc4MzU0NTgwOSZ1dWlkPTkyM2RmZTczN2Y1YmJiMDU1ZjQyODJkYjk0YjYyODczLTZhMGUyNjM3JnM9MTQyMThmNjJmNDk4MDVlNWY3ZGUzMDZiOTgzMTI2NjMmdWlkPSZuZHY9aW9zLTYuNS4wJnY9MiZhcz0wJl9jYXJDb2RlPTA,/KLCDMPP360.m3u8$LR•IPV4•10『线路1』 #EXTINF:-1 tvg-id="金鹰卡通" tvg-name="金鹰卡通" group-title="数字",金鹰卡通 -http://183.11.239.36:808/hls/69/index.m3u8$LR•IPV4•10『线路2』 +http://223.110.245.145/ott.js.chinamobile.com/PLTV/3/224/3221226303/index.m3u8$LR•IPV4•10『线路2』 #EXTINF:-1 tvg-id="金鹰卡通" tvg-name="金鹰卡通" group-title="数字",金鹰卡通 -http://124.228.160.210:9901/tsfile/live/0011_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路3』 +http://183.11.239.36:808/hls/69/index.m3u8$LR•IPV4•10『线路3』 #EXTINF:-1 tvg-id="金鹰卡通" tvg-name="金鹰卡通" group-title="数字",金鹰卡通 -http://204.12.221.218:8181/3m1080p/hnjykt.m3u8$LR•IPV4•10『线路4』 +http://124.228.160.210:9901/tsfile/live/0011_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路4』 #EXTINF:-1 tvg-id="金鹰卡通" tvg-name="金鹰卡通" group-title="数字",金鹰卡通 -https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/JYKTMPP360.m3u8$LR•IPV4•10『线路5』 +http://204.12.221.218:8181/3m1080p/hnjykt.m3u8$LR•IPV4•10『线路5』 #EXTINF:-1 tvg-id="金鹰卡通" tvg-name="金鹰卡通" group-title="数字",金鹰卡通 -http://183.237.95.108:9901/tsfile/live/1099_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•10『线路6』 +https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/JYKTMPP360.m3u8$LR•IPV4•10『线路6』 #EXTINF:-1 tvg-id="金鹰卡通" tvg-name="金鹰卡通" group-title="数字",金鹰卡通 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040024&livemode=1&stbId=yu&mode=1&$LR•IPV4•10『线路7』 +http://183.237.95.108:9901/tsfile/live/1099_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•10『线路7』 #EXTINF:-1 tvg-id="金鹰卡通" tvg-name="金鹰卡通" group-title="数字",金鹰卡通 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000016601&livemode=1&stbId=yu&mode=1&$LR•IPV4•10『线路8』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040024&livemode=1&stbId=yu&mode=1&$LR•IPV4•10『线路8』 #EXTINF:-1 tvg-id="金鹰卡通" tvg-name="金鹰卡通" group-title="数字",金鹰卡通 -http://111.29.9.33:6610/000000001000/5000000006000040024/index.m3u8?channel-id=bestzb&Contentid=5000000006000040024&livemode=1&stbId=3$LR•IPV4•10『线路9』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000016601&livemode=1&stbId=yu&mode=1&$LR•IPV4•10『线路9』 #EXTINF:-1 tvg-id="金鹰卡通" tvg-name="金鹰卡通" group-title="数字",金鹰卡通 -http://223.110.245.145/ott.js.chinamobile.com/PLTV/3/224/3221226303/index.m3u8$LR•IPV4•10『线路10』 +http://111.29.9.33:6610/000000001000/5000000006000040024/index.m3u8?channel-id=bestzb&Contentid=5000000006000040024&livemode=1&stbId=3$LR•IPV4•10『线路10』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/JYJSMPP360.m3u8$LR•IPV4•89『线路1』 +http://iptv.huuc.edu.cn/hls/gedocu.m3u8$LR•IPV4•90『线路1』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://111.29.9.33:6610/000000001000/5000000011000031203/index.m3u8?channel-id=bestzb&Contentid=5000000011000031203&livemode=1&stbId=3$LR•IPV4•89『线路2』 +https://t.freetv.fun/live/jin-ying-ji-shi-7.m3u8$LR•IPV4•90『线路2』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://iptv.huuc.edu.cn/hls/gedocu.m3u8$LR•IPV4•89『线路3』 +https://stream1.freetv.fun/jin-ying-ji-shi-37.ctv$LR•IPV4•90『线路3』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://t.freetv.fun/live/jin-ying-ji-shi-7.m3u8$LR•IPV4•89『线路4』 +https://stream1.freetv.fun/jin-ying-ji-shi-38.m3u8$LR•IPV4•90『线路4』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-32.ctv$LR•IPV4•89『线路5』 +https://stream1.freetv.fun/jin-ying-ji-shi-43.ctv$LR•IPV4•90『线路5』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4677&tk=a0c4f6cfaba3$LR•IPV4•89『线路6』 +https://stream1.freetv.fun/jin-ying-ji-shi-12.m3u8$LR•IPV4•90『线路6』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-30.m3u8$LR•IPV4•89『线路7』 +https://live.264788.xyz/channel/jinyingjishi?streamid=4e14722244f78fc9c49bf260b10b3cad&livekey=01WgOR41rriMmMkzNsd0UoaxJRwetZdxIvtVk$LR•IPV4•90『线路7』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://t.freetv.fun/live/jin-ying-ji-shi-4.m3u8$LR•IPV4•89『线路8』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8115&tk=e640d0a1bf70$LR•IPV4•90『线路8』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2417&tk=e503191f8e20$LR•IPV4•89『线路9』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4465&tk=b53028476470$LR•IPV4•90『线路9』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-14.m3u8$LR•IPV4•89『线路10』 +https://stream1.freetv.fun/jin-ying-ji-shi-33.m3u8$LR•IPV4•90『线路10』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4197&tk=f6cc1e0a0e1a$LR•IPV4•89『线路11』 +https://hls-gateway.vpstv.net/streams/708834.m3u8$LR•IPV4•90『线路11』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-5.ctv$LR•IPV4•89『线路12』 +http://nas.hssvm.com:8888/udp/225.1.1.124:5002$LR•IPV4•90『线路12』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-31.ctv$LR•IPV4•89『线路13』 +https://stream1.freetv.fun/jin-ying-ji-shi-19.ctv$LR•IPV4•90『线路13』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-41.ctv$LR•IPV4•89『线路14』 +https://stream1.freetv.fun/jin-ying-ji-shi-23.m3u8$LR•IPV4•90『线路14』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://183.11.239.36:808/hls/171/index.m3u8$LR•IPV4•89『线路15』 +https://stream1.freetv.fun/jin-ying-ji-shi-24.m3u8$LR•IPV4•90『线路15』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-20.ctv$LR•IPV4•89『线路16』 +https://t.freetv.fun/live/jin-ying-ji-shi-6.m3u8$LR•IPV4•90『线路16』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://36.105.100.208:35455/itv/5000000011000031203.m3u8?cdn=bestzb$LR•IPV4•89『线路17』 +https://stream1.freetv.fun/jin-ying-ji-shi-2.m3u8$LR•IPV4•90『线路17』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-16.m3u8$LR•IPV4•89『线路18』 +https://stream1.freetv.fun/jin-ying-ji-shi-31.m3u8$LR•IPV4•90『线路18』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://nas.hssvm.com:8888/udp/225.1.1.124:5002$LR•IPV4•89『线路19』 +https://stream1.freetv.fun/jin-ying-ji-shi-34.m3u8$LR•IPV4•90『线路19』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-38.m3u8$LR•IPV4•89『线路20』 +https://stream1.freetv.fun/jin-ying-ji-shi-37.m3u8$LR•IPV4•90『线路20』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-23.ctv$LR•IPV4•89『线路21』 +http://home.wwang.pw:35455/itv/5000000011000031203.m3u8?cdn=bestzb$LR•IPV4•90『线路21』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://live.264788.xyz/channel/jinyingjishi?streamid=4e14722244f78fc9c49bf260b10b3cad&livekey=01WgOR41rriMmMkzNsd0UoaxJRwetZdxIvtVk$LR•IPV4•89『线路22』 +https://stream1.freetv.fun/jin-ying-ji-shi-2.ctv$LR•IPV4•90『线路22』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-37.ctv$LR•IPV4•89『线路23』 +http://60.2.190.206:4000/udp/239.253.92.103:6054$LR•IPV4•90『线路23』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-11.m3u8$LR•IPV4•89『线路24』 +https://stream1.freetv.fun/jin-ying-ji-shi-1.ctv$LR•IPV4•90『线路24』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://121.19.134.200:808/tsfile/live/1028_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•89『线路25』 +https://stream1.freetv.fun/ipv6-jin-ying-ji-shi-22.m3u8$LR•IPV4•90『线路25』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-44.m3u8$LR•IPV4•89『线路26』 +https://stream1.freetv.fun/jin-ying-ji-shi-28.ctv$LR•IPV4•90『线路26』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-2.ctv$LR•IPV4•89『线路27』 +http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/JYJSMPP360.m3u8$LR•IPV4•90『线路27』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-1.ctv$LR•IPV4•89『线路28』 +https://stream1.freetv.fun/jin-ying-ji-shi-7.ctv$LR•IPV4•90『线路28』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-41.m3u8$LR•IPV4•89『线路29』 +https://stream1.freetv.fun/jin-ying-ji-shi-26.m3u8$LR•IPV4•90『线路29』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-gao-qing-2.m3u8$LR•IPV4•89『线路30』 +https://stream1.freetv.fun/jin-ying-ji-shi-13.m3u8$LR•IPV4•90『线路30』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-39.ctv$LR•IPV4•89『线路31』 +http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=jyjs$LR•IPV4•90『线路31』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-43.ctv$LR•IPV4•89『线路32』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2417&tk=e503191f8e20$LR•IPV4•90『线路32』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://t.freetv.fun/live/jin-ying-ji-shi.m3u8$LR•IPV4•89『线路33』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4677&tk=a0c4f6cfaba3$LR•IPV4•90『线路33』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-2.m3u8$LR•IPV4•89『线路34』 +http://121.19.134.222:808/tsfile/live/1037_1.m3u8$LR•IPV4•90『线路34』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://60.7.56.33:4000/udp/239.253.92.103:6054$LR•IPV4•89『线路35』 +https://stream1.freetv.fun/jin-ying-ji-shi-30.m3u8$LR•IPV4•90『线路35』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://t.freetv.fun/live/jin-ying-ji-shi-2.m3u8$LR•IPV4•89『线路36』 +https://stream1.freetv.fun/jin-ying-ji-shi-21.ctv$LR•IPV4•90『线路36』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/ipv6-jin-ying-ji-shi-22.m3u8$LR•IPV4•89『线路37』 +https://stream1.freetv.fun/ipv6-jin-ying-ji-shi-20.m3u8$LR•IPV4•90『线路37』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://drive.mxmy.net:8888/udp/239.3.1.58:8156$LR•IPV4•89『线路38』 +https://stream1.freetv.fun/jin-ying-ji-shi-31.ctv$LR•IPV4•90『线路38』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://116.128.242.83:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•89『线路39』 +https://stream1.freetv.fun/jin-ying-ji-shi-32.ctv$LR•IPV4•90『线路39』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-40.m3u8$LR•IPV4•89『线路40』 +https://stream1.freetv.fun/jin-ying-ji-shi-36.ctv$LR•IPV4•90『线路40』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://t.freetv.fun/live/jin-ying-ji-shi-5.m3u8$LR•IPV4•89『线路41』 +https://stream1.freetv.fun/jin-ying-ji-shi-35.m3u8$LR•IPV4•90『线路41』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://hls-gateway.vpstv.net/streams/708834.m3u8$LR•IPV4•89『线路42』 +https://t.freetv.fun/live/jin-ying-ji-shi-4.m3u8$LR•IPV4•90『线路42』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-33.m3u8$LR•IPV4•89『线路43』 +https://stream1.freetv.fun/jin-ying-ji-shi-5.ctv$LR•IPV4•90『线路43』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-19.ctv$LR•IPV4•89『线路44』 +http://e1.woc.iiiya.cn:8888/rtp/239.61.3.7:9560$LR•IPV4•90『线路44』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-12.ctv$LR•IPV4•89『线路45』 +https://stream1.freetv.fun/jin-ying-ji-shi-40.m3u8$LR•IPV4•90『线路45』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/JYJSMPP360.m3u8$LR•IPV4•89『线路46』 +http://183.11.239.36:808/hls/171/index.m3u8$LR•IPV4•90『线路46』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-4.m3u8$LR•IPV4•89『线路47』 +https://stream1.freetv.fun/jin-ying-ji-shi-9.m3u8$LR•IPV4•90『线路47』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://t.freetv.fun/live/jin-ying-ji-shi-3.m3u8$LR•IPV4•89『线路48』 +https://stream1.freetv.fun/jin-ying-ji-shi-gao-qing-2.m3u8$LR•IPV4•90『线路48』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8115&tk=e640d0a1bf70$LR•IPV4•89『线路49』 +https://stream1.freetv.fun/jin-ying-ji-shi-11.m3u8$LR•IPV4•90『线路49』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://t.freetv.fun/live/jin-ying-ji-shi-6.m3u8$LR•IPV4•89『线路50』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6735&tk=e640d0a1bf70$LR•IPV4•90『线路50』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-42.ctv$LR•IPV4•89『线路51』 +https://stream1.freetv.fun/jin-ying-ji-shi-8.m3u8$LR•IPV4•90『线路51』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-34.m3u8$LR•IPV4•89『线路52』 +http://116.128.242.83:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•90『线路52』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=jyjs$LR•IPV4•89『线路53』 +https://stream1.freetv.fun/jin-ying-ji-shi-16.m3u8$LR•IPV4•90『线路53』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4465&tk=b53028476470$LR•IPV4•89『线路54』 +https://stream1.freetv.fun/jin-ying-ji-shi-24.ctv$LR•IPV4•90『线路54』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-28.ctv$LR•IPV4•89『线路55』 +https://stream1.freetv.fun/jin-ying-ji-shi-41.ctv$LR•IPV4•90『线路55』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6241&tk=a0c4f6cfaba3$LR•IPV4•89『线路56』 +http://drive.mxmy.net:8888/udp/239.3.1.58:8156$LR•IPV4•90『线路56』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/ipv6-jin-ying-ji-shi-15.m3u8$LR•IPV4•89『线路57』 +https://stream1.freetv.fun/ipv6-jin-ying-ji-shi-15.m3u8$LR•IPV4•90『线路57』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-13.ctv$LR•IPV4•89『线路58』 +https://stream1.freetv.fun/jin-ying-ji-shi-23.ctv$LR•IPV4•90『线路58』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-8.m3u8$LR•IPV4•89『线路59』 +http://58.57.40.22:9901/tsfile/live/1070_1.m3u8$LR•IPV4•90『线路59』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-37.m3u8$LR•IPV4•89『线路60』 +http://rrs01.hw.gmcc.net:8088/PLTV/81/224/3221226667/1.m3u8$LR•IPV4•90『线路60』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-23.m3u8$LR•IPV4•89『线路61』 +https://stream1.freetv.fun/jin-ying-ji-shi-44.m3u8$LR•IPV4•90『线路61』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-36.ctv$LR•IPV4•89『线路62』 +https://stream1.freetv.fun/jin-ying-ji-shi-22.ctv$LR•IPV4•90『线路62』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-10.ctv$LR•IPV4•89『线路63』 +https://stream1.freetv.fun/jin-ying-ji-shi-10.ctv$LR•IPV4•90『线路63』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6735&tk=e640d0a1bf70$LR•IPV4•89『线路64』 +http://120.238.94.10:9901/tsfile/live/1059_1.m3u8$LR•IPV4•90『线路64』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-22.ctv$LR•IPV4•89『线路65』 +https://stream1.freetv.fun/jin-ying-ji-shi-39.ctv$LR•IPV4•90『线路65』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-12.m3u8$LR•IPV4•89『线路66』 +https://t.freetv.fun/live/jin-ying-ji-shi-2.m3u8$LR•IPV4•90『线路66』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-29.m3u8$LR•IPV4•89『线路67』 +https://stream1.freetv.fun/jin-ying-ji-shi-3.m3u8$LR•IPV4•90『线路67』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-21.ctv$LR•IPV4•89『线路68』 +https://stream1.freetv.fun/jin-ying-ji-shi-14.m3u8$LR•IPV4•90『线路68』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-31.m3u8$LR•IPV4•89『线路69』 +https://stream1.freetv.fun/jin-ying-ji-shi-13.ctv$LR•IPV4•90『线路69』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://rrs01.hw.gmcc.net:8088/PLTV/81/224/3221226667/1.m3u8$LR•IPV4•89『线路70』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6241&tk=a0c4f6cfaba3$LR•IPV4•90『线路70』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://wouu.net:9977/udp/239.93.0.130:5140$LR•IPV4•89『线路71』 +http://1b6467f415.iok.la:9931/tsfile/live/1078_1.m3u8$LR•IPV4•90『线路71』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-24.ctv$LR•IPV4•89『线路72』 +https://t.freetv.fun/live/jin-ying-ji-shi-3.m3u8$LR•IPV4•90『线路72』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-gao-qing-3.m3u8$LR•IPV4•89『线路73』 +https://stream1.freetv.fun/jin-ying-ji-shi-20.ctv$LR•IPV4•90『线路73』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-26.m3u8$LR•IPV4•89『线路74』 +https://stream1.freetv.fun/jin-ying-ji-shi-4.m3u8$LR•IPV4•90『线路74』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-13.m3u8$LR•IPV4•89『线路75』 +http://36.105.100.208:35455/itv/5000000011000031203.m3u8?cdn=bestzb$LR•IPV4•90『线路75』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://121.19.134.222:808/tsfile/live/1037_1.m3u8$LR•IPV4•89『线路76』 +http://121.19.134.200:808/tsfile/live/1028_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•90『线路76』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-7.ctv$LR•IPV4•89『线路77』 +http://wouu.net:9977/udp/239.93.0.130:5140$LR•IPV4•90『线路77』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-3.m3u8$LR•IPV4•89『线路78』 +https://stream1.freetv.fun/jin-ying-ji-shi-6.m3u8$LR•IPV4•90『线路78』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/ipv6-jin-ying-ji-shi-20.m3u8$LR•IPV4•89『线路79』 +https://stream1.freetv.fun/jin-ying-ji-shi-gao-qing-3.m3u8$LR•IPV4•90『线路79』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://58.57.40.22:9901/tsfile/live/1070_1.m3u8$LR•IPV4•89『线路80』 +http://60.7.56.33:4000/udp/239.253.92.103:6054$LR•IPV4•90『线路80』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-24.m3u8$LR•IPV4•89『线路81』 +https://stream1.freetv.fun/jin-ying-ji-shi-42.ctv$LR•IPV4•90『线路81』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-9.m3u8$LR•IPV4•89『线路82』 +https://t.freetv.fun/live/jin-ying-ji-shi.m3u8$LR•IPV4•90『线路82』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://home.wwang.pw:35455/itv/5000000011000031203.m3u8?cdn=bestzb$LR•IPV4•89『线路83』 +https://stream1.freetv.fun/jin-ying-ji-shi-41.m3u8$LR•IPV4•90『线路83』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-6.m3u8$LR•IPV4•89『线路84』 +https://stream1.freetv.fun/jin-ying-ji-shi-29.m3u8$LR•IPV4•90『线路84』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://e1.woc.iiiya.cn:8888/rtp/239.61.3.7:9560$LR•IPV4•89『线路85』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4197&tk=f6cc1e0a0e1a$LR•IPV4•90『线路85』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -https://stream1.freetv.fun/jin-ying-ji-shi-35.m3u8$LR•IPV4•89『线路86』 +https://stream1.freetv.fun/jin-ying-ji-shi-12.ctv$LR•IPV4•90『线路86』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://120.238.94.10:9901/tsfile/live/1059_1.m3u8$LR•IPV4•89『线路87』 +https://t.freetv.fun/live/jin-ying-ji-shi-5.m3u8$LR•IPV4•90『线路87』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://60.2.190.206:4000/udp/239.253.92.103:6054$LR•IPV4•89『线路88』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6268&tk=23a9aca1f79f$LR•IPV4•90『线路88』 #EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6268&tk=23a9aca1f79f$LR•IPV4•89『线路89』 +https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/JYJSMPP360.m3u8$LR•IPV4•90『线路89』 +#EXTINF:-1 tvg-id="金鹰纪实" tvg-name="金鹰纪实" group-title="数字",金鹰纪实 +http://111.29.9.33:6610/000000001000/5000000011000031203/index.m3u8?channel-id=bestzb&Contentid=5000000011000031203&livemode=1&stbId=3$LR•IPV4•90『线路90』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://116.52.173.34:1234/961930263$LR•IPV4•37『线路1』 +http://182.61.15.47:80/961930263$LR•IPV4•36『线路1』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://110.154.192.76:7788/961930263$LR•IPV4•37『线路2』 +http://175.178.243.33:8787/961930263$LR•IPV4•36『线路2』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://111.231.6.102:1234/961930263$LR•IPV4•37『线路3』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4961&tk=b53028476470$LR•IPV4•36『线路3』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://27.12.12.183:1234/961930263$LR•IPV4•37『线路4』 +http://116.236.204.18:1234/961930263$LR•IPV4•36『线路4』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1275&tk=a0c4f6cfaba3$LR•IPV4•37『线路5』 +http://hlsztemgsplive.miguvideo.com:8080/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260713080302&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=171.8.79.254&SecurityKey=20260713080302&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=ab006d6e64da9b2e59016ae902451953&sv=10004&ct=android$LR•IPV4•36『线路5』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -https://migu.188766.xyz/?migutoken=c6b17aba558cf29b13242b5ae063e5ed&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•37『线路6』 +http://e1.woc.iiiya.cn:8888/rtp/239.61.3.8:9566$LR•IPV4•36『线路6』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://home.wwang.pw:35455/itv/5000000011000031206.m3u8?cdn=bestzb$LR•IPV4•37『线路7』 +https://migu.188766.xyz/?migutoken=c6b17aba558cf29b13242b5ae063e5ed&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•36『线路7』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -https://migu.188766.xyz/?migutoken=396182b2a9b61dca2daded3fc6f62311&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•37『线路8』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8454&tk=a0c4f6cfaba3$LR•IPV4•36『线路8』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://101.6.130.52:1234/961930263$LR•IPV4•37『线路9』 +http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/KLCDMPP360.m3u8$LR•IPV4•36『线路9』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://mgsp-hs2.live.miguvideo.com:8088/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260712080232&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=171.8.79.254&SecurityKey=20260712080232&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=0a04f7f5d3a1f6b3ddbfc709022c5a3a&sv=10004&ct=android$LR•IPV4•37『线路10』 +http://8.153.110.51:3020/961930263$LR•IPV4•36『线路10』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://8.153.110.51:3020/961930263$LR•IPV4•37『线路11』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0882&tk=f6cc1e0a0e1a$LR•IPV4•36『线路11』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://116.236.204.18:1234/961930263$LR•IPV4•37『线路12』 +https://migu.188766.xyz/?migutoken=103d22404add9b90cd72174eb1a0108b&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•36『线路12』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://182.61.15.47:80/961930263$LR•IPV4•37『线路13』 +https://hls-gateway.vpstv.net/streams/708835.m3u8$LR•IPV4•36『线路13』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://14.153.176.183:1234/961930263$LR•IPV4•37『线路14』 +http://drive.mxmy.net:8888/udp/239.3.1.164:8001$LR•IPV4•36『线路14』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://gslbmgsplive.miguvideo.com/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=cb5d9a46adc1b49f4caa2f1a773ccdfd&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260712062112&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=39.103.182.111&SecurityKey=20260712062112&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=4551d42960ba4eb706643f7bb5bb4dbe&ddCalcu=e4b5vd5a41abdab452b9b670fb3a446e6b07&sv=10004&ct=android$LR•IPV4•37『线路15』 +http://wouu.net:9977/udp/239.93.1.151:5140$LR•IPV4•36『线路15』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://nas.hssvm.com:8888/udp/225.1.2.18:5002$LR•IPV4•37『线路16』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8530&tk=e503191f8e20$LR•IPV4•36『线路16』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://119.88.243.98:17231/961930263$LR•IPV4•37『线路17』 +http://hlsztemgsplive.miguvideo.com:8080/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260713040256&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=171.8.79.254&SecurityKey=20260713040256&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=27ad6b8a831007d14a9028cc0047a50d&sv=10004&ct=android$LR•IPV4•36『线路17』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -https://hls-gateway.vpstv.net/streams/708835.m3u8$LR•IPV4•37『线路18』 +http://home.wwang.pw:35455/itv/5000000011000031206.m3u8?cdn=bestzb$LR•IPV4•36『线路18』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://e1.woc.iiiya.cn:8888/rtp/239.61.3.8:9566$LR•IPV4•37『线路19』 +http://223.247.25.207:1234/961930263$LR•IPV4•36『线路19』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://223.247.25.207:1234/961930263$LR•IPV4•37『线路20』 +http://nas.hssvm.com:8888/udp/225.1.2.18:5002$LR•IPV4•36『线路20』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://175.178.243.33:8787/961930263$LR•IPV4•37『线路21』 +http://14.153.176.183:1234/961930263$LR•IPV4•36『线路21』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://wouu.net:9977/udp/239.93.1.151:5140$LR•IPV4•37『线路22』 +http://110.154.192.76:7788/961930263$LR•IPV4•36『线路22』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8968&tk=e640d0a1bf70$LR•IPV4•37『线路23』 +http://gslbmgsplive.miguvideo.com/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=a46bb537a908cb676c82f2f68b09e7e2&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260713062120&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=39.103.182.111&SecurityKey=20260713062120&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=146a23bf8df82c43bc5ae3ccd17d1d42&ddCalcu=2144vd6a1aad2a731bdfc8cd3fe8a25cc4b3&sv=10004&ct=android$LR•IPV4•36『线路23』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://drive.mxmy.net:8888/udp/239.3.1.164:8001$LR•IPV4•37『线路24』 +https://migu.188766.xyz/?migutoken=396182b2a9b61dca2daded3fc6f62311&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•36『线路24』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://115.190.247.176:1111/961930263$LR•IPV4•37『线路25』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1275&tk=a0c4f6cfaba3$LR•IPV4•36『线路25』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -https://migu.188766.xyz/?migutoken=103d22404add9b90cd72174eb1a0108b&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•37『线路26』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8968&tk=e640d0a1bf70$LR•IPV4•36『线路26』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4961&tk=b53028476470$LR•IPV4•37『线路27』 +http://115.190.247.176:1111/961930263$LR•IPV4•36『线路27』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://gslbmgsplive.miguvideo.com/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=acac93647b33504cc27d07c187a0f6c1&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260712052113&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=39.103.182.111&SecurityKey=20260712052113&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=0a8073d2b66529751f1842c8a31b1d5b&ddCalcu=b05avd8a10ab7a133da28bc626458219f715&sv=10004&ct=android$LR•IPV4•37『线路28』 +http://119.88.243.98:17231/961930263$LR•IPV4•36『线路28』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0882&tk=f6cc1e0a0e1a$LR•IPV4•37『线路29』 +http://116.52.173.34:1234/961930263$LR•IPV4•36『线路29』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -https://migu.188766.xyz/?migutoken=f4d62cd1f8775b1b837f4232f1051f36&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•37『线路30』 +http://27.12.12.183:1234/961930263$LR•IPV4•36『线路30』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8454&tk=a0c4f6cfaba3$LR•IPV4•37『线路31』 +https://migu.188766.xyz/?migutoken=f4d62cd1f8775b1b837f4232f1051f36&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•36『线路31』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://47.104.178.59:3566/961930263$LR•IPV4•37『线路32』 +http://111.231.6.102:1234/961930263$LR•IPV4•36『线路32』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://hlsztemgsplive.miguvideo.com:8080/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260712040227&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=171.8.79.254&SecurityKey=20260712040227&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=b3b7218ab79ad0c6a49ba6ff93f42c53&sv=10004&ct=android$LR•IPV4•37『线路33』 +http://47.104.178.59:3566/961930263$LR•IPV4•36『线路33』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/KLCDMPP360.m3u8$LR•IPV4•37『线路34』 +http://123.113.205.253:3000/961930263$LR•IPV4•36『线路34』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8530&tk=e503191f8e20$LR•IPV4•37『线路35』 +http://101.6.130.52:1234/961930263$LR•IPV4•36『线路35』 #EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -http://123.113.205.253:3000/961930263$LR•IPV4•37『线路36』 -#EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" group-title="数字",快乐垂钓 -https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/KLCDMPP360.m3u8$LR•IPV4•37『线路37』 +https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/KLCDMPP360.m3u8$LR•IPV4•36『线路36』 #EXTINF:-1 tvg-id="纪实人文" tvg-name="纪实人文" group-title="数字",纪实人文 -http://8.138.7.223/tv/shtv.php?id=xjs$LR•IPV4•2『线路1』 +http://39.135.138.59:18890/PLTV/88888910/224/3221225655/index.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="纪实人文" tvg-name="纪实人文" group-title="数字",纪实人文 -http://39.135.138.59:18890/PLTV/88888910/224/3221225655/index.m3u8$LR•IPV4•2『线路2』 +http://8.138.7.223/tv/shtv.php?id=xjs$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="明星大片" tvg-name="明星大片" group-title="数字",明星大片 http://111.29.9.33:6610/000000001000/1000000004000019008/index.m3u8?channel-id=bestzb&Contentid=1000000004000019008&livemode=1&stbId=3$LR•IPV4 #EXTINF:-1 tvg-id="天元围棋" tvg-name="天元围棋" group-title="数字",天元围棋 http://63.141.230.178:82/gslb/zbdq5.m3u8?id=gztywq$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="天元围棋" tvg-name="天元围棋" group-title="数字",天元围棋 -http://120.76.248.139/live/bfgd/4200000633.m3u8$LR•IPV4•7『线路2』 +http://204.12.221.218:8181/3m1080p/gztywq.m3u8$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="天元围棋" tvg-name="天元围棋" group-title="数字",天元围棋 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8487&tk=a0c4f6cfaba3$LR•IPV4•7『线路3』 +http://120.76.248.139/live/bfgd/4200000633.m3u8$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="天元围棋" tvg-name="天元围棋" group-title="数字",天元围棋 -http://wouu.net:9977/udp/239.93.42.55:5140$LR•IPV4•7『线路4』 +http://dl.wifi942.com:66/jsyd/jsyd.php?id=G_TIANYUANWQ$LR•IPV4•7『线路4』 #EXTINF:-1 tvg-id="天元围棋" tvg-name="天元围棋" group-title="数字",天元围棋 -http://dl.wifi942.com:66/jsyd/jsyd.php?id=G_TIANYUANWQ$LR•IPV4•7『线路5』 +http://wouu.net:9977/udp/239.93.42.55:5140$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="天元围棋" tvg-name="天元围棋" group-title="数字",天元围棋 -http://204.12.221.218:8181/3m1080p/gztywq.m3u8$LR•IPV4•7『线路6』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8487&tk=a0c4f6cfaba3$LR•IPV4•7『线路6』 #EXTINF:-1 tvg-id="天元围棋" tvg-name="天元围棋" group-title="数字",天元围棋 http://192.151.150.154/live/gztywq.m3u8$LR•IPV4•7『线路7』 #EXTINF:-1 tvg-id="弈坛春秋" tvg-name="弈坛春秋" group-title="数字",弈坛春秋 @@ -3538,7 +3548,7 @@ http://111.22.153.159:35455/itv/2000000004000000014.m3u8?cdn=hnbblive$LR•IPV4 #EXTINF:-1 tvg-id="华数4K" tvg-name="华数4K" group-title="数字",华数4K http://home.wwang.pw:35455/itv/2000000004000000014.m3u8?cdn=hnbblive$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="纯享4K" tvg-name="纯享4K" group-title="数字",纯享4K -http://111.29.9.33:6610/000000001000/1000000004000011651/index.m3u8?channel-id=bestzb&Contentid=1000000004000011651&livemode=1&stbId=3$LR•IPV4•6『线路1』 +http://39.134.115.163:8080/PLTV/88888910/224/3221225786/index.m3u8$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="纯享4K" tvg-name="纯享4K" group-title="数字",纯享4K http://101.43.145.141:12002/itv/1000000004000011651.m3u8?cdn=ystenlive$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="纯享4K" tvg-name="纯享4K" group-title="数字",纯享4K @@ -3548,7 +3558,7 @@ https://live.264788.xyz/channel/chunxiang4k?streamid=a12e69928ae928860407d7ec7bf #EXTINF:-1 tvg-id="纯享4K" tvg-name="纯享4K" group-title="数字",纯享4K http://home.wwang.pw:35455/itv/1000000004000011651.m3u8?cdn=ystenlive$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="纯享4K" tvg-name="纯享4K" group-title="数字",纯享4K -http://39.134.115.163:8080/PLTV/88888910/224/3221225786/index.m3u8$LR•IPV4•6『线路6』 +http://111.29.9.33:6610/000000001000/1000000004000011651/index.m3u8?channel-id=bestzb&Contentid=1000000004000011651&livemode=1&stbId=3$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="滁州新闻综合频道" tvg-name="滁州新闻综合频道" group-title="安徽",滁州新闻综合频道 http://183.167.193.45:1935/live/cztvzh/playlist.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="滁州科教频道" tvg-name="滁州科教频道" group-title="安徽",滁州科教频道 @@ -3560,9 +3570,9 @@ https://ls.qingting.fm/live/21303/64k.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="铜陵新闻综合频道" tvg-name="铜陵新闻综合频道" group-title="安徽",铜陵新闻综合频道 http://dstpush1.retalltech.com/app/stream1.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="亳州农村" tvg-name="亳州农村" group-title="安徽",亳州农村 -http://zbbf2.ahbztv.com/live/418.m3u8$LR•IPV4•2『线路1』 +http://220.180.110.101:8083/videos/live/39/13/o4ncrHkSp7q09/o4ncrHkSp7q09.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="亳州农村" tvg-name="亳州农村" group-title="安徽",亳州农村 -http://220.180.110.101:8083/videos/live/39/13/o4ncrHkSp7q09/o4ncrHkSp7q09.m3u8$LR•IPV4•2『线路2』 +http://zbbf2.ahbztv.com/live/418.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="北京财经" tvg-name="北京财经" group-title="北京",北京财经 http://ivi.bupt.edu.cn/hls/btv5.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="北京青年" tvg-name="北京青年" group-title="北京",北京青年 @@ -3584,31 +3594,31 @@ https://31182.hlsplay.aodianyun.com/lms_31182/tv_channel_175.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="南宁影视娱乐" tvg-name="南宁影视娱乐" group-title="广西",南宁影视娱乐 http://hls.nntv.cn/nnlive/YSYL_244.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="邢台综合" tvg-name="邢台综合" group-title="河北",邢台综合 -https://jwplay.hebyun.com.cn:443/live/xtsrmtzs/1500k/tzwj_video.m3u8$LR•IPV4•2『线路1』 +http://222.223.119.21:8888/newlive/live/hls/54/live.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="邢台综合" tvg-name="邢台综合" group-title="河北",邢台综合 -http://222.223.119.21:8888/newlive/live/hls/54/live.m3u8$LR•IPV4•2『线路2』 +https://jwplay.hebyun.com.cn:443/live/xtsrmtzs/1500k/tzwj_video.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="河北都市" tvg-name="河北都市" group-title="河北",河北都市 -http://1.94.31.214/php/hebei.php?id=hbds$LR•IPV4•2『线路1』 +http://121.19.134.246:808/hls/21/index.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="河北都市" tvg-name="河北都市" group-title="河北",河北都市 -http://121.19.134.246:808/hls/21/index.m3u8$LR•IPV4•2『线路2』 +http://1.94.31.214/php/hebei.php?id=hbds$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="河北农民" tvg-name="河北农民" group-title="河北",河北农民 -https://jwcdnqx.hebyun.com.cn/live/clzhpd/1500k/tzwj_video.m3u8?zhebd$LR•IPV4•2『线路1』 +http://121.19.134.246:808/hls/25/index.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="河北农民" tvg-name="河北农民" group-title="河北",河北农民 -http://121.19.134.246:808/hls/25/index.m3u8$LR•IPV4•2『线路2』 +https://jwcdnqx.hebyun.com.cn/live/clzhpd/1500k/tzwj_video.m3u8?zhebd$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="鹿泉一套" tvg-name="鹿泉一套" group-title="河北",鹿泉一套 http://hblq.chinashadt.com:2036/live/stream:luquan1.stream/playlist.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="河北经济" tvg-name="河北经济" group-title="河北",河北经济 -http://1.94.31.214/php/hebei.php?id=jjsh$LR•IPV4•2『线路1』 +http://121.19.134.246:808/hls/20/index.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="河北经济" tvg-name="河北经济" group-title="河北",河北经济 -http://121.19.134.246:808/hls/20/index.m3u8$LR•IPV4•2『线路2』 +http://1.94.31.214/php/hebei.php?id=jjsh$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="河北影视" tvg-name="河北影视" group-title="河北",河北影视 -http://1.94.31.214/php/hebei.php?id=hbys$LR•IPV4•2『线路1』 +http://121.19.134.246:808/hls/22/index.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="河北影视" tvg-name="河北影视" group-title="河北",河北影视 -http://121.19.134.246:808/hls/22/index.m3u8$LR•IPV4•2『线路2』 +http://1.94.31.214/php/hebei.php?id=hbys$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="河北公共" tvg-name="河北公共" group-title="河北",河北公共 -http://1.94.31.214/php/hebei.php?id=hbgg$LR•IPV4•2『线路1』 +http://121.19.134.246:808/hls/24/index.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="河北公共" tvg-name="河北公共" group-title="河北",河北公共 -http://121.19.134.246:808/hls/24/index.m3u8$LR•IPV4•2『线路2』 +http://1.94.31.214/php/hebei.php?id=hbgg$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="鹿泉二套" tvg-name="鹿泉二套" group-title="河北",鹿泉二套 http://hblq.chinashadt.com:2036/live/stream:luquan2.stream/playlist.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="内蒙新闻" tvg-name="内蒙新闻" group-title="内蒙古",内蒙新闻 @@ -3652,341 +3662,343 @@ http://183.207.248.71/gitv/live1/G_NJSB/G_NJSB$LR•IPV4 #EXTINF:-1 tvg-id="江苏体育" tvg-name="江苏体育" group-title="江苏",江苏体育 http://183.207.248.71/gitv/live1/G_JSTY/G_JSTY$LR•IPV4 #EXTINF:-1 tvg-id="南京教科" tvg-name="南京教科" group-title="江苏",南京教科 -http://nklive.nbs.cn/hls/75b3c462-b831-4de7-a34b-5d3221db2069/index.m3u8$LR•IPV4•4『线路1』 +https://live.nbs.cn/channels/njtv/jkpd/m3u8:500k/live.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="南京教科" tvg-name="南京教科" group-title="江苏",南京教科 -https://live.nbs.cn/channels/njtv/jkpd/m3u8:500k/live.m3u8$LR•IPV4•4『线路2』 +http://183.207.248.71/gitv/live1/G_NJJK/G_NJJK$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="南京教科" tvg-name="南京教科" group-title="江苏",南京教科 -http://183.207.248.71/gitv/live1/G_NJJK/G_NJJK$LR•IPV4•4『线路3』 +http://223.110.245.155/ott.js.chinamobile.com/PLTV/3/224/3221227194/index.m3u8$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="南京教科" tvg-name="南京教科" group-title="江苏",南京教科 -http://223.110.245.155/ott.js.chinamobile.com/PLTV/3/224/3221227194/index.m3u8$LR•IPV4•4『线路4』 +http://nklive.nbs.cn/hls/75b3c462-b831-4de7-a34b-5d3221db2069/index.m3u8$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="南京少儿" tvg-name="南京少儿" group-title="江苏",南京少儿 -http://nklive.nbs.cn/hls/e0981f3f-1a20-4a59-b8d1-17feb83a4610/index.m3u8$LR•IPV4•2『线路1』 +https://live.nbs.cn/channels/njtv/sepd/m3u8:500k/live.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="南京少儿" tvg-name="南京少儿" group-title="江苏",南京少儿 -https://live.nbs.cn/channels/njtv/sepd/m3u8:500k/live.m3u8$LR•IPV4•2『线路2』 +http://nklive.nbs.cn/hls/e0981f3f-1a20-4a59-b8d1-17feb83a4610/index.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="苏州4k" tvg-name="苏州4k" group-title="江苏",苏州4k -https://live-auth.51kandianshi.com/szgd/csztv4k_hd.m3u8$LR•IPV4•4『线路1』 +https://live-auth.51kandianshi.com/szgd/csztv4k_hd.m3u8$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="苏州4k" tvg-name="苏州4k" group-title="江苏",苏州4k -http://43.251.226.89:8080/play/927.m3u8$LR•IPV4•4『线路2』 +http://43.251.226.89:8080/play/927.m3u8$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="苏州4k" tvg-name="苏州4k" group-title="江苏",苏州4k -https://tylive.kan0512.com/norecord/csztv4k_4k.m3u8$LR•IPV4•4『线路3』 +https://tylive.kan0512.com/norecord/csztv4k_4k.m3u8$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="苏州4k" tvg-name="苏州4k" group-title="江苏",苏州4k -http://106.53.99.30/tv/api.php?id=sztv4k$LR•IPV4•4『线路4』 +http://106.53.99.30/tv/api.php?id=sztv4k$LR•IPV4•5『线路4』 +#EXTINF:-1 tvg-id="苏州4k" tvg-name="苏州4k" group-title="江苏",苏州4k +http://liveshowbak2.kan0512.com/norecord/csztv4k_4k.m3u8$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8$LR•IPV4•20『线路1』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -http://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8$LR•IPV4•20『线路2』 +https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-3.m3u8$LR•IPV4•20『线路2』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -http://ali-m-l.cztv.com/channels/lantian/channel02/1080p.m3u8$LR•IPV4•20『线路3』 +https://stream1.freetv.fun/bf079ada709563bdd095159c02dfb5afb53c24e643b73f987100b9d25e9c8f41.m3u8$LR•IPV4•20『线路3』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8$LR•IPV4•20『线路4』 +http://ali-m-l.cztv.com/channels/lantian/channel002/720p.m3u8$LR•IPV4•20『线路4』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://stream1.freetv.fun/bf079ada709563bdd095159c02dfb5afb53c24e643b73f987100b9d25e9c8f41.m3u8$LR•IPV4•20『线路5』 +https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-1.m3u8$LR•IPV4•20『线路5』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-4.ctv$LR•IPV4•20『线路6』 +http://ali-xwl.cztv.com/live/channel02720Plxw.m3u8$LR•IPV4•20『线路6』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -http://ali-xwl.cztv.com/live/channel02720Plxw.m3u8$LR•IPV4•20『线路7』 +https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-2.m3u8$LR•IPV4•20『线路7』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -http://120.55.49.231:3095/rtp/233.50.201.132:5140$LR•IPV4•20『线路8』 +https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-5.ctv$LR•IPV4•20『线路8』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-2.m3u8$LR•IPV4•20『线路9』 +http://120.55.49.231:3095/rtp/233.50.201.132:5140$LR•IPV4•20『线路9』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-3.m3u8$LR•IPV4•20『线路10』 +http://ali-m-l.cztv.com/channels/lantian/channel02/1080p.m3u8$LR•IPV4•20『线路10』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi.m3u8$LR•IPV4•20『线路11』 +https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-1.m3u8$LR•IPV4•20『线路11』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -http://ali-xwl.cztv.com/live/channel021080Plxw.m3u8$LR•IPV4•20『线路12』 +https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-2.m3u8$LR•IPV4•20『线路12』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-3.ctv$LR•IPV4•20『线路13』 +https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8\r\n$LR•IPV4•20『线路13』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -http://api3.52tb.xyz/info?id=436&token=20230226bgyszp$LR•IPV4•20『线路14』 +http://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8$LR•IPV4•20『线路14』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-2.m3u8$LR•IPV4•20『线路15』 +https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi.m3u8$LR•IPV4•20『线路15』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8\r\n$LR•IPV4•20『线路16』 +https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-4.ctv$LR•IPV4•20『线路16』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-1.m3u8$LR•IPV4•20『线路17』 +http://ali-xwl.cztv.com/live/channel021080Plxw.m3u8$LR•IPV4•20『线路17』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-1.m3u8$LR•IPV4•20『线路18』 +http://api3.52tb.xyz/info?id=436&token=20230226bgyszp$LR•IPV4•20『线路18』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-5.ctv$LR•IPV4•20『线路19』 +https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-3.ctv$LR•IPV4•20『线路19』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -http://ali-m-l.cztv.com/channels/lantian/channel002/720p.m3u8$LR•IPV4•20『线路20』 +http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8$LR•IPV4•20『线路20』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://ls.qingting.fm/live/1099.m3u8$LR•IPV4•25『线路1』 +http://ali-vl.cztv.com/channels/lantian/channel003/360p.m3u8$LR•IPV4•25『线路1』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8$LR•IPV4•25『线路2』 +https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8\r\n$LR•IPV4•25『线路2』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-8.ctv$LR•IPV4•25『线路3』 +https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-2.ctv$LR•IPV4•25『线路3』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-7.ctv$LR•IPV4•25『线路4』 +https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-3.m3u8$LR•IPV4•25『线路4』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://120.55.49.231:3095/rtp/233.50.201.133:5140$LR•IPV4•25『线路5』 +https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8?$LR•IPV4•25『线路5』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://ali-xwl.cztv.com/live/channel031080Plxw.m3u8$LR•IPV4•25『线路6』 +https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-2.m3u8$LR•IPV4•25『线路6』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-2.ctv$LR•IPV4•25『线路7』 +http://ls.qingting.fm/live/1099.m3u8$LR•IPV4•25『线路7』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-6.m3u8$LR•IPV4•25『线路8』 +http://120.55.49.231:3095/rtp/233.50.201.133:5140$LR•IPV4•25『线路8』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://ali-xwl.cztv.com/live/channel03720Plxw.m3u8$LR•IPV4•25『线路9』 +https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-6.m3u8$LR•IPV4•25『线路9』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://ali-m-l.cztv.com/channels/lantian/channel03/1080p.m3u8$LR•IPV4•25『线路10』 +https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-7.m3u8$LR•IPV4•25『线路10』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://ali-m-l.cztv.com/channels/lantian/channel03/720p.m3u8$LR•IPV4•25『线路11』 +http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8$LR•IPV4•25『线路11』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8?$LR•IPV4•25『线路12』 +https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-6.m3u8$LR•IPV4•25『线路12』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://ali-m-l.cztv.com/channels/lantian/channel003/720p.m3u8$LR•IPV4•25『线路13』 +http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8$LR•IPV4•25『线路13』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-1.m3u8$LR•IPV4•25『线路14』 +http://api3.52tb.xyz/info?id=437&token=20230226bgyszp$LR•IPV4•25『线路14』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-7.m3u8$LR•IPV4•25『线路15』 +https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-1.ctv$LR•IPV4•25『线路15』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8$LR•IPV4•25『线路16』 +http://ali-m-l.cztv.com/channels/lantian/channel003/720p.m3u8$LR•IPV4•25『线路16』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://ali-vl.cztv.com/channels/lantian/channel003/360p.m3u8$LR•IPV4•25『线路17』 +http://ali-xwl.cztv.com/live/channel03720Plxw.m3u8$LR•IPV4•25『线路17』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-5.m3u8$LR•IPV4•25『线路18』 +https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-7.ctv$LR•IPV4•25『线路18』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-3.m3u8$LR•IPV4•25『线路19』 +http://ali-m-l.cztv.com/channels/lantian/channel03/720p.m3u8$LR•IPV4•25『线路19』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-1.ctv$LR•IPV4•25『线路20』 +https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-1.m3u8$LR•IPV4•25『线路20』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-6.m3u8$LR•IPV4•25『线路21』 +http://ali-m-l.cztv.com/channels/lantian/channel03/1080p.m3u8$LR•IPV4•25『线路21』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8\r\n$LR•IPV4•25『线路22』 +https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8$LR•IPV4•25『线路22』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8$LR•IPV4•25『线路23』 +https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-5.m3u8$LR•IPV4•25『线路23』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://api3.52tb.xyz/info?id=437&token=20230226bgyszp$LR•IPV4•25『线路24』 +http://ali-xwl.cztv.com/live/channel031080Plxw.m3u8$LR•IPV4•25『线路24』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-2.m3u8$LR•IPV4•25『线路25』 +https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-8.ctv$LR•IPV4•25『线路25』 #EXTINF:-1 tvg-id="浙江教育" tvg-name="浙江教育" group-title="浙江",浙江教育 -http://ali-m-l.cztv.com/channels/lantian/channel04/720p.m3u8$LR•IPV4•3『线路1』 +https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="浙江教育" tvg-name="浙江教育" group-title="浙江",浙江教育 -https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?$LR•IPV4•3『线路2』 +http://ali-m-l.cztv.com/channels/lantian/channel04/720p.m3u8$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="浙江教育" tvg-name="浙江教育" group-title="浙江",浙江教育 http://120.55.49.231:3095/rtp/233.50.201.134:5140$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8$LR•IPV4•37『线路1』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -http://ali-m-l.cztv.com/channels/lantian/channel06/720p.m3u8$LR•IPV4•37『线路2』 +https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian-4.m3u8$LR•IPV4•37『线路2』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-4.m3u8$LR•IPV4•37『线路3』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-9.ctv$LR•IPV4•37『线路3』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian-4.m3u8$LR•IPV4•37『线路4』 +https://t.freetv.fun/live/zhe-jiang-min-sheng-1-1.m3u8$LR•IPV4•37『线路4』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://stream1.freetv.fun/zhe-jiang-min-sheng-6.ctv$LR•IPV4•37『线路5』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-6.ctv$LR•IPV4•37『线路5』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://stream1.freetv.fun/zhe-jiang-min-sheng-4.ctv$LR•IPV4•37『线路6』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-5.m3u8$LR•IPV4•37『线路6』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8?$LR•IPV4•37『线路7』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-9.m3u8$LR•IPV4•37『线路7』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://t.freetv.fun/live/zhe-jiang-min-sheng-2.m3u8$LR•IPV4•37『线路8』 +https://t.freetv.fun/live/zhe-jiang-min-sheng-1.m3u8$LR•IPV4•37『线路8』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://stream1.freetv.fun/zhe-jiang-min-sheng-2.m3u8$LR•IPV4•37『线路9』 +http://ali-xwl.cztv.com/live/channel061080Plxw.m3u8$LR•IPV4•37『线路9』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian-2.m3u8$LR•IPV4•37『线路10』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-1.m3u8$LR•IPV4•37『线路11』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-4.m3u8$LR•IPV4•37『线路11』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://stream1.freetv.fun/zhe-jiang-min-sheng-9.m3u8$LR•IPV4•37『线路12』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-7.m3u8$LR•IPV4•37『线路12』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://stream1.freetv.fun/zhe-jiang-min-sheng-1.m3u8$LR•IPV4•37『线路13』 +http://ali-m-l.cztv.com/channels/lantian/channel06/720p.m3u8$LR•IPV4•37『线路13』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://stream1.freetv.fun/zhe-jiang-min-sheng-3.m3u8$LR•IPV4•37『线路14』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-10.m3u8$LR•IPV4•37『线路14』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://stream1.freetv.fun/zhe-jiang-min-sheng-4.m3u8$LR•IPV4•37『线路15』 +https://t.freetv.fun/live/zhe-jiang-min-sheng-4.m3u8$LR•IPV4•37『线路15』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://t.freetv.fun/live/zhe-jiang-min-sheng-4.m3u8$LR•IPV4•37『线路16』 +http://120.55.49.231:3095/rtp/233.50.201.136:5140$LR•IPV4•37『线路16』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-2.ctv$LR•IPV4•37『线路17』 +https://t.freetv.fun/live/zhe-jiang-min-sheng.m3u8$LR•IPV4•37『线路17』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://t.freetv.fun/live/zhe-jiang-min-sheng-1-1.m3u8$LR•IPV4•37『线路18』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-3.m3u8$LR•IPV4•37『线路18』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://stream1.freetv.fun/zhe-jiang-min-sheng-5.m3u8$LR•IPV4•37『线路19』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-4.m3u8$LR•IPV4•37『线路19』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://t.freetv.fun/live/zhe-jiang-min-sheng-3.m3u8$LR•IPV4•37『线路20』 +http://ali-xwl.cztv.com/live/channel06720Plxw.m3u8$LR•IPV4•37『线路20』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -http://ali-xwl.cztv.com/live/channel061080Plxw.m3u8$LR•IPV4•37『线路21』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-4.ctv$LR•IPV4•37『线路21』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://t.freetv.fun/live/zhe-jiang-min-sheng-11.m3u8$LR•IPV4•37『线路22』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-2.ctv$LR•IPV4•37『线路22』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -http://ali-m-l.cztv.com/channels/lantian/channel06/1080p.m3u8$LR•IPV4•37『线路23』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-1.m3u8$LR•IPV4•37『线路23』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://stream1.freetv.fun/zhe-jiang-min-sheng-9.ctv$LR•IPV4•37『线路24』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-3.ctv$LR•IPV4•37『线路24』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-6.ctv$LR•IPV4•37『线路25』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-2.m3u8$LR•IPV4•37『线路25』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://t.freetv.fun/live/zhe-jiang-min-sheng-1.m3u8$LR•IPV4•37『线路26』 +http://ali-m-l.cztv.com/channels/lantian/channel06/1080p.m3u8$LR•IPV4•37『线路26』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://stream1.freetv.fun/zhe-jiang-min-sheng-8.m3u8$LR•IPV4•37『线路27』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-1.m3u8$LR•IPV4•37『线路27』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -http://ali-vl.cztv.com/channels/lantian/channel006/360p.m3u8$LR•IPV4•37『线路28』 +https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian.m3u8$LR•IPV4•37『线路28』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://stream1.freetv.fun/zhe-jiang-min-sheng-10.m3u8$LR•IPV4•37『线路29』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-6.ctv$LR•IPV4•37『线路29』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -http://ali-xwl.cztv.com/live/channel06720Plxw.m3u8$LR•IPV4•37『线路30』 +https://t.freetv.fun/live/zhe-jiang-min-sheng-3.m3u8$LR•IPV4•37『线路30』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-5.m3u8$LR•IPV4•37『线路31』 +http://ali-vl.cztv.com/channels/lantian/channel006/360p.m3u8$LR•IPV4•37『线路31』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-3.ctv$LR•IPV4•37『线路32』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-8.m3u8$LR•IPV4•37『线路32』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -http://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8$LR•IPV4•37『线路33』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-5.m3u8$LR•IPV4•37『线路33』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -http://120.55.49.231:3095/rtp/233.50.201.136:5140$LR•IPV4•37『线路34』 +https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8?$LR•IPV4•37『线路34』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://t.freetv.fun/live/zhe-jiang-min-sheng.m3u8$LR•IPV4•37『线路35』 +http://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8$LR•IPV4•37『线路35』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://stream1.freetv.fun/zhe-jiang-min-sheng-7.m3u8$LR•IPV4•37『线路36』 +https://t.freetv.fun/live/zhe-jiang-min-sheng-11.m3u8$LR•IPV4•37『线路36』 #EXTINF:-1 tvg-id="浙江民生" tvg-name="浙江民生" group-title="浙江",浙江民生 -https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian.m3u8$LR•IPV4•37『线路37』 +https://t.freetv.fun/live/zhe-jiang-min-sheng-2.m3u8$LR•IPV4•37『线路37』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8$LR•IPV4•33『线路1』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://ali-m-l.cztv.com/channels/lantian/channel07/720p.m3u8$LR•IPV4•33『线路2』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-11.m3u8$LR•IPV4•33『线路2』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-2.ctv$LR•IPV4•33『线路3』 +https://t.freetv.fun/live/zhe-jiang-xin-wen-1.m3u8$LR•IPV4•33『线路3』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://t.freetv.fun/live/zhe-jiang-xin-wen-1.m3u8$LR•IPV4•33『线路4』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-2.m3u8$LR•IPV4•33『线路4』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-8.m3u8$LR•IPV4•33『线路5』 +http://api3.52tb.xyz/info?id=434&token=20221127jxwhhemby$LR•IPV4•33『线路5』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://t.freetv.fun/live/zhe-jiang-xin-wen-2.m3u8$LR•IPV4•33『线路6』 +http://120.55.49.231:3095/rtp/233.50.201.137:5140$LR•IPV4•33『线路6』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -http://ali-xwl.cztv.com/live/channel07720Plxw.m3u8$LR•IPV4•33『线路7』 +http://ali-m-l.cztv.com/channels/lantian/channel007/720p.m3u8$LR•IPV4•33『线路7』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -http://120.55.49.231:3095/rtp/233.50.201.137:5140$LR•IPV4•33『线路8』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-7.m3u8$LR•IPV4•33『线路8』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8?zzhed$LR•IPV4•33『线路9』 +https://t.freetv.fun/live/zhe-jiang-xin-wen-12.m3u8$LR•IPV4•33『线路9』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -http://api3.52tb.xyz/info?id=434&token=20221127jxwhhemby$LR•IPV4•33『线路10』 +https://t.freetv.fun/live/zhe-jiang-xin-wen-3.m3u8$LR•IPV4•33『线路10』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://t.freetv.fun/live/zhe-jiang-xin-wen-7.m3u8$LR•IPV4•33『线路11』 +http://ali-m-l.cztv.com/channels/lantian/channel07/720p.m3u8$LR•IPV4•33『线路11』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://t.freetv.fun/live/zhe-jiang-xin-wen-12.m3u8$LR•IPV4•33『线路12』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-3.m3u8$LR•IPV4•33『线路12』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 https://stream1.freetv.fun/zhe-jiang-xin-wen-9.m3u8$LR•IPV4•33『线路13』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -http://ali-m-l.cztv.com/channels/lantian/channel07/720p.m3u8$LR•IPV4•33『线路14』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-10.m3u8$LR•IPV4•33『线路14』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8?$LR•IPV4•33『线路15』 +http://ali-xwl.cztv.com/live/channel071080Plxw.m3u8$LR•IPV4•33『线路15』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-5.m3u8$LR•IPV4•33『线路16』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-6.m3u8$LR•IPV4•33『线路16』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -http://ali-vl.cztv.com/channels/lantian/channel007/360p.m3u8$LR•IPV4•33『线路17』 +https://t.freetv.fun/live/zhe-jiang-xin-wen-2.m3u8$LR•IPV4•33『线路17』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://t.freetv.fun/live/zhe-jiang-xin-wen-3.m3u8$LR•IPV4•33『线路18』 +http://ali-vl.cztv.com/channels/lantian/channel007/360p.m3u8$LR•IPV4•33『线路18』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -http://ali-xwl.cztv.com/live/channel071080Plxw.m3u8$LR•IPV4•33『线路19』 +http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8?zzhed$LR•IPV4•33『线路19』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://t.freetv.fun/live/zhe-jiang-xin-wen-6.m3u8$LR•IPV4•33『线路20』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-1.m3u8$LR•IPV4•33『线路20』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-7.m3u8$LR•IPV4•33『线路21』 +https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8?$LR•IPV4•33『线路21』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-1.m3u8$LR•IPV4•33『线路22』 +http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8$LR•IPV4•33『线路22』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-11.m3u8$LR•IPV4•33『线路23』 +https://t.freetv.fun/live/zhe-jiang-xin-wen-6.m3u8$LR•IPV4•33『线路23』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-10.m3u8$LR•IPV4•33『线路24』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-2.ctv$LR•IPV4•33『线路24』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8$LR•IPV4•33『线路25』 +https://ali-m-l.cztv.com/channels/lantian/channel07/1080p.m3u8$LR•IPV4•33『线路25』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 https://t.freetv.fun/live/zhe-jiang-xin-wen.m3u8$LR•IPV4•33『线路26』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -http://ali-m-l.cztv.com/channels/lantian/channel007/720p.m3u8$LR•IPV4•33『线路27』 +https://ali-m-l.cztv.com/channels/lantian/channel07/720p.m3u8$LR•IPV4•33『线路27』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://ali-m-l.cztv.com/channels/lantian/channel07/1080p.m3u8$LR•IPV4•33『线路28』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-5.m3u8$LR•IPV4•33『线路28』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-2.m3u8$LR•IPV4•33『线路29』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-4.m3u8$LR•IPV4•33『线路29』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-6.m3u8$LR•IPV4•33『线路30』 +http://ali-xwl.cztv.com/live/channel07720Plxw.m3u8$LR•IPV4•33『线路30』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-3.m3u8$LR•IPV4•33『线路31』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-8.m3u8$LR•IPV4•33『线路31』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-4.m3u8$LR•IPV4•33『线路32』 +https://stream1.freetv.fun/7fa07158e038a9bae3747a0cb9f8e8ff1aaba32669d28d99a498716f16569c1d.m3u8$LR•IPV4•33『线路32』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/7fa07158e038a9bae3747a0cb9f8e8ff1aaba32669d28d99a498716f16569c1d.m3u8$LR•IPV4•33『线路33』 +https://t.freetv.fun/live/zhe-jiang-xin-wen-7.m3u8$LR•IPV4•33『线路33』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路1』 +http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路1』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路2』 +http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?fbl=$LR•IPV4•18『线路2』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-4.m3u8$LR•IPV4•18『线路3』 +https://stream1.freetv.fun/zhe-jiang-shao-er-11.m3u8$LR•IPV4•18『线路3』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-7.m3u8$LR•IPV4•18『线路4』 +http://ali-xwl.cztv.com/live/channel081080Plxw.m3u8$LR•IPV4•18『线路4』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?$LR•IPV4•18『线路5』 +http://ali-xwl.cztv.com/live/channel08720Plxw.m3u8$LR•IPV4•18『线路5』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://ct-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路6』 +https://stream1.freetv.fun/zhe-jiang-shao-er-7.m3u8$LR•IPV4•18『线路6』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-9.ctv$LR•IPV4•18『线路7』 +https://stream1.freetv.fun/zhe-jiang-shao-er-3.m3u8$LR•IPV4•18『线路7』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8$LR•IPV4•18『线路8』 +https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?$LR•IPV4•18『线路8』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -http://ali-xwl.cztv.com/live/channel081080Plxw.m3u8$LR•IPV4•18『线路9』 +https://stream1.freetv.fun/zhe-jiang-shao-er-10.ctv$LR•IPV4•18『线路9』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-10.ctv$LR•IPV4•18『线路10』 +https://stream1.freetv.fun/zhe-jiang-shao-er-4.m3u8$LR•IPV4•18『线路10』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-2.m3u8$LR•IPV4•18『线路11』 +http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8$LR•IPV4•18『线路11』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -http://ali-xwl.cztv.com/live/channel08720Plxw.m3u8$LR•IPV4•18『线路12』 +https://stream1.freetv.fun/zhe-jiang-shao-er-4.ctv$LR•IPV4•18『线路12』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-6.ctv$LR•IPV4•18『线路13』 +https://stream1.freetv.fun/zhe-jiang-shao-er-2.m3u8$LR•IPV4•18『线路13』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-4.ctv$LR•IPV4•18『线路14』 +https://stream1.freetv.fun/zhe-jiang-shao-er-9.ctv$LR•IPV4•18『线路14』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-3.m3u8$LR•IPV4•18『线路15』 +https://stream1.freetv.fun/zhe-jiang-shao-er-8.m3u8$LR•IPV4•18『线路15』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?fbl=$LR•IPV4•18『线路16』 +https://ct-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路16』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-11.m3u8$LR•IPV4•18『线路17』 +https://stream1.freetv.fun/zhe-jiang-shao-er-6.ctv$LR•IPV4•18『线路17』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-8.m3u8$LR•IPV4•18『线路18』 +https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路18』 #EXTINF:-1 tvg-id="杭州综合" tvg-name="杭州综合" group-title="浙江",杭州综合 -http://www.jeremyoto.com:82/rtp/233.50.201.173:5140$LR•IPV4•6『线路1』 +http://120.55.49.231:3095/rtp/233.50.201.173:5140$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="杭州综合" tvg-name="杭州综合" group-title="浙江",杭州综合 -https://stream1.freetv.fun/hang-zhou-zong-he-2.ctv$LR•IPV4•6『线路2』 +http://www.flyskyman.cn:4022/rtp/233.50.201.173:5140$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="杭州综合" tvg-name="杭州综合" group-title="浙江",杭州综合 -http://www.flyskyman.cn:4022/rtp/233.50.201.173:5140$LR•IPV4•6『线路3』 +https://stream1.freetv.fun/hang-zhou-zong-he-3.ctv$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="杭州综合" tvg-name="杭州综合" group-title="浙江",杭州综合 -http://live.xmcdn.com/live/1845/64.m3u8$LR•IPV4•6『线路4』 +http://www.jeremyoto.com:82/rtp/233.50.201.173:5140$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="杭州综合" tvg-name="杭州综合" group-title="浙江",杭州综合 -http://120.55.49.231:3095/rtp/233.50.201.173:5140$LR•IPV4•6『线路5』 +https://stream1.freetv.fun/hang-zhou-zong-he-2.ctv$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="杭州综合" tvg-name="杭州综合" group-title="浙江",杭州综合 -https://stream1.freetv.fun/hang-zhou-zong-he-3.ctv$LR•IPV4•6『线路6』 +http://live.xmcdn.com/live/1845/64.m3u8$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="杭州明珠" tvg-name="杭州明珠" group-title="浙江",杭州明珠 -https://stream1.freetv.fun/hang-zhou-ming-zhu-2.m3u8$LR•IPV4•7『线路1』 +https://stream1.freetv.fun/hang-zhou-ming-zhu-2.ctv$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="杭州明珠" tvg-name="杭州明珠" group-title="浙江",杭州明珠 -https://stream1.freetv.fun/hang-zhou-ming-zhu-4.m3u8$LR•IPV4•7『线路2』 +http://www.flyskyman.cn:4022/rtp/233.50.201.174:5140$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="杭州明珠" tvg-name="杭州明珠" group-title="浙江",杭州明珠 -http://120.198.101.106:9901/tsfile/live/1008_1.m3u8?key=txiptv$LR•IPV4•7『线路3』 +https://stream1.freetv.fun/hang-zhou-ming-zhu-4.m3u8$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="杭州明珠" tvg-name="杭州明珠" group-title="浙江",杭州明珠 -http://www.flyskyman.cn:4022/rtp/233.50.201.174:5140$LR•IPV4•7『线路4』 +http://www.jeremyoto.com:82/rtp/233.50.201.174:5140$LR•IPV4•7『线路4』 #EXTINF:-1 tvg-id="杭州明珠" tvg-name="杭州明珠" group-title="浙江",杭州明珠 -https://stream1.freetv.fun/hang-zhou-ming-zhu-2.ctv$LR•IPV4•7『线路5』 +https://stream1.freetv.fun/hang-zhou-ming-zhu-2.m3u8$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="杭州明珠" tvg-name="杭州明珠" group-title="浙江",杭州明珠 -http://www.jeremyoto.com:82/rtp/233.50.201.174:5140$LR•IPV4•7『线路6』 +http://120.198.101.106:9901/tsfile/live/1008_1.m3u8?key=txiptv$LR•IPV4•7『线路6』 #EXTINF:-1 tvg-id="杭州明珠" tvg-name="杭州明珠" group-title="浙江",杭州明珠 https://stream1.freetv.fun/hang-zhou-ming-zhu-1.ctv$LR•IPV4•7『线路7』 #EXTINF:-1 tvg-id="杭州生活" tvg-name="杭州生活" group-title="浙江",杭州生活 -http://120.55.49.231:3095/rtp/233.50.201.175:5140$LR•IPV4•6『线路1』 +https://stream1.freetv.fun/hang-zhou-sheng-huo-2.ctv$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="杭州生活" tvg-name="杭州生活" group-title="浙江",杭州生活 -https://stream1.freetv.fun/hang-zhou-sheng-huo-3.ctv$LR•IPV4•6『线路2』 +https://stream1.freetv.fun/hang-zhou-sheng-huo-1.ctv$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="杭州生活" tvg-name="杭州生活" group-title="浙江",杭州生活 -http://www.jeremyoto.com:82/rtp/233.50.201.175:5140$LR•IPV4•6『线路3』 +http://120.55.49.231:3095/rtp/233.50.201.175:5140$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="杭州生活" tvg-name="杭州生活" group-title="浙江",杭州生活 -https://stream1.freetv.fun/hang-zhou-sheng-huo-2.ctv$LR•IPV4•6『线路4』 +https://stream1.freetv.fun/hang-zhou-sheng-huo-3.ctv$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="杭州生活" tvg-name="杭州生活" group-title="浙江",杭州生活 -http://www.flyskyman.cn:4022/rtp/233.50.201.175:5140$LR•IPV4•6『线路5』 +http://www.jeremyoto.com:82/rtp/233.50.201.175:5140$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="杭州生活" tvg-name="杭州生活" group-title="浙江",杭州生活 -https://stream1.freetv.fun/hang-zhou-sheng-huo-1.ctv$LR•IPV4•6『线路6』 +http://www.flyskyman.cn:4022/rtp/233.50.201.175:5140$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="杭州影视" tvg-name="杭州影视" group-title="浙江",杭州影视 -http://www.jeremyoto.com:82/rtp/233.50.201.176:5140$LR•IPV4•3『线路1』 +http://www.flyskyman.cn:4022/rtp/233.50.201.176:5140$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="杭州影视" tvg-name="杭州影视" group-title="浙江",杭州影视 -https://stream1.freetv.fun/hang-zhou-ying-shi-2.ctv$LR•IPV4•3『线路2』 +http://www.jeremyoto.com:82/rtp/233.50.201.176:5140$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="杭州影视" tvg-name="杭州影视" group-title="浙江",杭州影视 -http://www.flyskyman.cn:4022/rtp/233.50.201.176:5140$LR•IPV4•3『线路3』 +https://stream1.freetv.fun/hang-zhou-ying-shi-2.ctv$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="杭州青少" tvg-name="杭州青少" group-title="浙江",杭州青少 http://www.jeremyoto.com:82/rtp/233.50.201.177:5140$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="杭州青少" tvg-name="杭州青少" group-title="浙江",杭州青少 @@ -3998,21 +4010,21 @@ http://www.flyskyman.cn:4022/rtp/233.50.201.182:5140$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="杭州导视" tvg-name="杭州导视" group-title="浙江",杭州导视 http://www.jeremyoto.com:82/rtp/233.50.201.182:5140$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="宁波TV1" tvg-name="宁波TV1" group-title="浙江",宁波TV1 -http://www.flyskyman.cn:4022/rtp/233.50.201.168:5140$LR•IPV4•2『线路1』 +http://www.jeremyoto.com:82/rtp/233.50.201.168:5140$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="宁波TV1" tvg-name="宁波TV1" group-title="浙江",宁波TV1 -http://www.jeremyoto.com:82/rtp/233.50.201.168:5140$LR•IPV4•2『线路2』 +http://www.flyskyman.cn:4022/rtp/233.50.201.168:5140$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="宁波TV2" tvg-name="宁波TV2" group-title="浙江",宁波TV2 -http://www.jeremyoto.com:82/rtp/233.50.201.178:5140$LR•IPV4•2『线路1』 +http://www.flyskyman.cn:4022/rtp/233.50.201.178:5140$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="宁波TV2" tvg-name="宁波TV2" group-title="浙江",宁波TV2 -http://www.flyskyman.cn:4022/rtp/233.50.201.178:5140$LR•IPV4•2『线路2』 +http://www.jeremyoto.com:82/rtp/233.50.201.178:5140$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="宁波TV3" tvg-name="宁波TV3" group-title="浙江",宁波TV3 -http://www.jeremyoto.com:82/rtp/233.50.201.179:5140$LR•IPV4•2『线路1』 +http://www.flyskyman.cn:4022/rtp/233.50.201.179:5140$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="宁波TV3" tvg-name="宁波TV3" group-title="浙江",宁波TV3 -http://www.flyskyman.cn:4022/rtp/233.50.201.179:5140$LR•IPV4•2『线路2』 +http://www.jeremyoto.com:82/rtp/233.50.201.179:5140$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="宁波TV4" tvg-name="宁波TV4" group-title="浙江",宁波TV4 -http://www.jeremyoto.com:82/rtp/233.50.201.180:5140$LR•IPV4•2『线路1』 +http://www.flyskyman.cn:4022/rtp/233.50.201.180:5140$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="宁波TV4" tvg-name="宁波TV4" group-title="浙江",宁波TV4 -http://www.flyskyman.cn:4022/rtp/233.50.201.180:5140$LR•IPV4•2『线路2』 +http://www.jeremyoto.com:82/rtp/233.50.201.180:5140$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="浙江教科" tvg-name="浙江教科" group-title="浙江",浙江教科 https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8$LR•IPV4•10『线路1』 #EXTINF:-1 tvg-id="浙江教科" tvg-name="浙江教科" group-title="浙江",浙江教科 @@ -4024,133 +4036,133 @@ http://zwebl02.cztv.com/live/channel041080P.m3u8?auth_key=2524708799-0-0-f195b80 #EXTINF:-1 tvg-id="浙江教科" tvg-name="浙江教科" group-title="浙江",浙江教科 http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?zzhed$LR•IPV4•10『线路5』 #EXTINF:-1 tvg-id="浙江教科" tvg-name="浙江教科" group-title="浙江",浙江教科 -http://ali-m-l.cztv.com/channels/lantian/channel04/1080p.m3u8$LR•IPV4•10『线路6』 +http://ali-xwl.cztv.com/live/channel04720Plxw.m3u8$LR•IPV4•10『线路6』 #EXTINF:-1 tvg-id="浙江教科" tvg-name="浙江教科" group-title="浙江",浙江教科 -http://ali-xwl.cztv.com/live/channel04720Plxw.m3u8$LR•IPV4•10『线路7』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8242&tk=23a9aca1f79f$LR•IPV4•10『线路7』 #EXTINF:-1 tvg-id="浙江教科" tvg-name="浙江教科" group-title="浙江",浙江教科 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8242&tk=23a9aca1f79f$LR•IPV4•10『线路8』 +http://ali-vl.cztv.com/channels/lantian/channel004/360p.m3u8$LR•IPV4•10『线路8』 #EXTINF:-1 tvg-id="浙江教科" tvg-name="浙江教科" group-title="浙江",浙江教科 -http://ali-xwl.cztv.com/live/channel041080Plxw.m3u8$LR•IPV4•10『线路9』 +http://ali-m-l.cztv.com/channels/lantian/channel04/1080p.m3u8$LR•IPV4•10『线路9』 #EXTINF:-1 tvg-id="浙江教科" tvg-name="浙江教科" group-title="浙江",浙江教科 -http://ali-vl.cztv.com/channels/lantian/channel004/360p.m3u8$LR•IPV4•10『线路10』 +http://ali-xwl.cztv.com/live/channel041080Plxw.m3u8$LR•IPV4•10『线路10』 #EXTINF:-1 tvg-id="浙江经济" tvg-name="浙江经济" group-title="浙江",浙江经济 -http://live.hznet.tv:1935/live/live2/500k/tzwj_video.m3u8$LR•IPV4•3『线路1』 +http://222.179.155.21:1935/ch0.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="浙江经济" tvg-name="浙江经济" group-title="浙江",浙江经济 http://live.hznet.tv:1935/live/live2/500K/tzwj_video.m3u8?shandd$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="浙江经济" tvg-name="浙江经济" group-title="浙江",浙江经济 -http://222.179.155.21:1935/ch0.m3u8$LR•IPV4•3『线路3』 +http://live.hznet.tv:1935/live/live2/500k/tzwj_video.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="之江纪录" tvg-name="之江纪录" group-title="浙江",之江纪录 https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="之江纪录" tvg-name="之江纪录" group-title="浙江",之江纪录 https://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="之江纪录" tvg-name="之江纪录" group-title="浙江",之江纪录 -http://120.55.49.231:3095/rtp/233.50.202.25:5140$LR•IPV4•6『线路3』 +http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="之江纪录" tvg-name="之江纪录" group-title="浙江",之江纪录 -http://ali-m-l.cztv.com/channels/lantian/channel12/1080p.m3u8$LR•IPV4•6『线路4』 +http://zwebl02.cztv.com/live/channel121080P.m3u8?auth_key=2524708799-0-0-c33efdd495bcdd2ddc42e7c408405037$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="之江纪录" tvg-name="之江纪录" group-title="浙江",之江纪录 -http://zwebl02.cztv.com/live/channel121080P.m3u8?auth_key=2524708799-0-0-c33efdd495bcdd2ddc42e7c408405037$LR•IPV4•6『线路5』 +http://ali-m-l.cztv.com/channels/lantian/channel12/1080p.m3u8$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="之江纪录" tvg-name="之江纪录" group-title="浙江",之江纪录 -http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8$LR•IPV4•6『线路6』 +http://120.55.49.231:3095/rtp/233.50.202.25:5140$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路1』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路2』 +http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8?zzhed$LR•IPV4•30『线路2』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-5.ctv$LR•IPV4•30『线路3』 +http://ali-xwl.cztv.com/live/channel101080Plxw.m3u8$LR•IPV4•30『线路3』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://t.freetv.fun/live/zhe-jiang-guo-ji-4.m3u8$LR•IPV4•30『线路4』 +https://t.freetv.fun/live/zhe-jiang-guo-ji-2.m3u8$LR•IPV4•30『线路4』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-9.m3u8$LR•IPV4•30『线路5』 +http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8$LR•IPV4•30『线路5』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-6.m3u8$LR•IPV4•30『线路6』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-5.m3u8$LR•IPV4•30『线路6』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-10.m3u8$LR•IPV4•30『线路7』 +https://t.freetv.fun/live/zhe-jiang-guo-ji-4.m3u8$LR•IPV4•30『线路7』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://t.freetv.fun/live/zhe-jiang-guo-ji-11.m3u8$LR•IPV4•30『线路8』 +https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8?$LR•IPV4•30『线路8』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-11.m3u8$LR•IPV4•30『线路9』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-7.m3u8$LR•IPV4•30『线路9』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8$LR•IPV4•30『线路10』 +https://stream1.freetv.fun/8edc171ba7945fd93cc0f2c9e39b48ba0a94500d0029db9456dfdc2d75f9ea9d.m3u8$LR•IPV4•30『线路10』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-3.ctv$LR•IPV4•30『线路11』 +http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8?a=1000&d=4e3d476240659192311f471b7b63aec2&k=d26568bae9dd23dd781c769c148459b2&t=1683180450$LR•IPV4•30『线路11』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://t.freetv.fun/live/zhe-jiang-guo-ji-10.m3u8$LR•IPV4•30『线路12』 +https://t.freetv.fun/live/zhe-jiang-guo-ji.m3u8$LR•IPV4•30『线路12』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -http://ali-m-l.cztv.com/channels/lantian/channel010/720p.m3u8$LR•IPV4•30『线路13』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-11.m3u8$LR•IPV4•30『线路13』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8?zzhed$LR•IPV4•30『线路14』 +http://ali-m-l.cztv.com/channels/lantian/channel010/720p.m3u8$LR•IPV4•30『线路14』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://qiniup-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路15』 +http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路15』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://ct-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路16』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-6.m3u8$LR•IPV4•30『线路16』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-5.m3u8$LR•IPV4•30『线路17』 +https://ct-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路17』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -http://ali-xwl.cztv.com/live/channel101080Plxw.m3u8$LR•IPV4•30『线路18』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-9.m3u8$LR•IPV4•30『线路18』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-1.m3u8$LR•IPV4•30『线路19』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-8.m3u8$LR•IPV4•30『线路19』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://t.freetv.fun/live/zhe-jiang-guo-ji-6.m3u8$LR•IPV4•30『线路20』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-3.ctv$LR•IPV4•30『线路20』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 http://ali-xwl.cztv.com/live/channel10720Plxw.m3u8$LR•IPV4•30『线路21』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-7.m3u8$LR•IPV4•30『线路22』 +https://t.freetv.fun/live/zhe-jiang-guo-ji-11.m3u8$LR•IPV4•30『线路22』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8?$LR•IPV4•30『线路23』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-1.m3u8$LR•IPV4•30『线路23』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://t.freetv.fun/live/zhe-jiang-guo-ji.m3u8$LR•IPV4•30『线路24』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-10.m3u8$LR•IPV4•30『线路24』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/8edc171ba7945fd93cc0f2c9e39b48ba0a94500d0029db9456dfdc2d75f9ea9d.m3u8$LR•IPV4•30『线路25』 +https://qiniup-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路25』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-8.m3u8$LR•IPV4•30『线路26』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-4.m3u8$LR•IPV4•30『线路26』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://t.freetv.fun/live/zhe-jiang-guo-ji-2.m3u8$LR•IPV4•30『线路27』 +https://t.freetv.fun/live/zhe-jiang-guo-ji-10.m3u8$LR•IPV4•30『线路27』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-2.m3u8$LR•IPV4•30『线路28』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-5.ctv$LR•IPV4•30『线路28』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-4.m3u8$LR•IPV4•30『线路29』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-2.m3u8$LR•IPV4•30『线路29』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8?a=1000&d=4e3d476240659192311f471b7b63aec2&k=d26568bae9dd23dd781c769c148459b2&t=1683180450$LR•IPV4•30『线路30』 +https://t.freetv.fun/live/zhe-jiang-guo-ji-6.m3u8$LR•IPV4•30『线路30』 #EXTINF:-1 tvg-id="嘉兴新闻综合" tvg-name="嘉兴新闻综合" group-title="浙江",嘉兴新闻综合 http://live.zohi.tv/video/s10001-fztv-1/index.m3u8$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="嘉兴新闻综合" tvg-name="嘉兴新闻综合" group-title="浙江",嘉兴新闻综合 -http://tvfile.jyrmt.cn:80/nmip-media/channellive/channel104452/playlist.m3u8$LR•IPV4•5『线路2』 +http://play-sh13.quklive.com/live/1675942165226154.m3u8?auth_key=2028730261-e7db80d294b04dc9ab5c8136b4c88b74-0-f0795306faa59c7edb35860a8ae63528$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="嘉兴新闻综合" tvg-name="嘉兴新闻综合" group-title="浙江",嘉兴新闻综合 -http://play-sh13.quklive.com/live/1675942165226154.m3u8?auth_key=2028730261-e7db80d294b04dc9ab5c8136b4c88b74-0-f0795306faa59c7edb35860a8ae63528$LR•IPV4•5『线路3』 +https://live-auth.51kandianshi.com/szgd/csztv1.m3u8$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="嘉兴新闻综合" tvg-name="嘉兴新闻综合" group-title="浙江",嘉兴新闻综合 -http://live.pzhkai.com/xwzhtl/sd/live.m3u8$LR•IPV4•5『线路4』 +http://tvfile.jyrmt.cn:80/nmip-media/channellive/channel104452/playlist.m3u8$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="嘉兴新闻综合" tvg-name="嘉兴新闻综合" group-title="浙江",嘉兴新闻综合 -https://live-auth.51kandianshi.com/szgd/csztv1.m3u8$LR•IPV4•5『线路5』 +http://live.pzhkai.com/xwzhtl/sd/live.m3u8$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="丽水新闻" tvg-name="丽水新闻" group-title="浙江",丽水新闻 http://120.55.49.231:3095/rtp/233.50.201.162:5140$LR•IPV4 #EXTINF:-1 tvg-id="湖州公共" tvg-name="湖州公共" group-title="浙江",湖州公共 -http://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e$LR•IPV4•9『线路1』 +http://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e&fbl=$LR•IPV4•9『线路1』 #EXTINF:-1 tvg-id="湖州公共" tvg-name="湖州公共" group-title="浙江",湖州公共 -https://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e$LR•IPV4•9『线路2』 +https://t.freetv.fun/live/hu-zhou-gong-gong-6.m3u8$LR•IPV4•9『线路2』 #EXTINF:-1 tvg-id="湖州公共" tvg-name="湖州公共" group-title="浙江",湖州公共 -https://stream1.freetv.fun/hu-zhou-gong-gong-3.m3u8$LR•IPV4•9『线路3』 +https://t.freetv.fun/live/hu-zhou-gong-gong-2.m3u8$LR•IPV4•9『线路3』 #EXTINF:-1 tvg-id="湖州公共" tvg-name="湖州公共" group-title="浙江",湖州公共 -https://t.freetv.fun/live/hu-zhou-gong-gong-2.m3u8$LR•IPV4•9『线路4』 +https://t.freetv.fun/live/hu-zhou-gong-gong-1.m3u8$LR•IPV4•9『线路4』 #EXTINF:-1 tvg-id="湖州公共" tvg-name="湖州公共" group-title="浙江",湖州公共 -https://t.freetv.fun/live/hu-zhou-gong-gong-1.m3u8$LR•IPV4•9『线路5』 +https://stream1.freetv.fun/hu-zhou-gong-gong-3.m3u8$LR•IPV4•9『线路5』 #EXTINF:-1 tvg-id="湖州公共" tvg-name="湖州公共" group-title="浙江",湖州公共 -https://stream1.freetv.fun/hu-zhou-gong-gong-9.m3u8$LR•IPV4•9『线路6』 +https://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e$LR•IPV4•9『线路6』 #EXTINF:-1 tvg-id="湖州公共" tvg-name="湖州公共" group-title="浙江",湖州公共 https://stream1.freetv.fun/hu-zhou-gong-gong-1.m3u8$LR•IPV4•9『线路7』 #EXTINF:-1 tvg-id="湖州公共" tvg-name="湖州公共" group-title="浙江",湖州公共 -http://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e&fbl=$LR•IPV4•9『线路8』 +https://stream1.freetv.fun/hu-zhou-gong-gong-9.m3u8$LR•IPV4•9『线路8』 #EXTINF:-1 tvg-id="湖州公共" tvg-name="湖州公共" group-title="浙江",湖州公共 -https://t.freetv.fun/live/hu-zhou-gong-gong-6.m3u8$LR•IPV4•9『线路9』 +http://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e$LR•IPV4•9『线路9』 #EXTINF:-1 tvg-id="湖州新闻综合" tvg-name="湖州新闻综合" group-title="浙江",湖州新闻综合 -http://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865$LR•IPV4•3『线路1』 +http://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865&fbl=$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="湖州新闻综合" tvg-name="湖州新闻综合" group-title="浙江",湖州新闻综合 -http://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865&fbl=$LR•IPV4•3『线路2』 +https://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="湖州新闻综合" tvg-name="湖州新闻综合" group-title="浙江",湖州新闻综合 -https://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865$LR•IPV4•3『线路3』 +http://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="湖州文化娱乐" tvg-name="湖州文化娱乐" group-title="浙江",湖州文化娱乐 -http://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887$LR•IPV4•3『线路1』 +http://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887&fbl=$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="湖州文化娱乐" tvg-name="湖州文化娱乐" group-title="浙江",湖州文化娱乐 -http://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887&fbl=$LR•IPV4•3『线路2』 +http://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="湖州文化娱乐" tvg-name="湖州文化娱乐" group-title="浙江",湖州文化娱乐 https://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="舟山新闻综合" tvg-name="舟山新闻综合" group-title="浙江",舟山新闻综合 @@ -4158,55 +4170,55 @@ http://play-sh13.quklive.com/live/1699001836208185.m3u8?auth_key=2027429324-c77b #EXTINF:-1 tvg-id="舟山公共" tvg-name="舟山公共" group-title="浙江",舟山公共 http://play-sh13.quklive.com/live/1699002430299200.m3u8?auth_key=2027429366-f4515e585a0347f780a01c73ae293945-0-b3699e931cf04290680745e989c63d86$LR•IPV4 #EXTINF:-1 tvg-id="浙江留学" tvg-name="浙江留学" group-title="浙江",浙江留学 -http://ali-vl.cztv.com/channels/lantian/channel009/360p.m3u8$LR•IPV4•2『线路1』 +https://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="浙江留学" tvg-name="浙江留学" group-title="浙江",浙江留学 -https://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8$LR•IPV4•2『线路2』 +http://ali-vl.cztv.com/channels/lantian/channel009/360p.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="浙江数码时代" tvg-name="浙江数码时代" group-title="浙江",浙江数码时代 -http://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8$LR•IPV4•3『线路1』 +http://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8?zzhed$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="浙江数码时代" tvg-name="浙江数码时代" group-title="浙江",浙江数码时代 https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8\r\n$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="浙江数码时代" tvg-name="浙江数码时代" group-title="浙江",浙江数码时代 -http://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8?zzhed$LR•IPV4•3『线路3』 +http://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="浙江公共新闻" tvg-name="浙江公共新闻" group-title="浙江",浙江公共新闻 -http://ali-m-l.cztv.com/channels/lantian/channel07/1080p.m3u8$LR•IPV4•6『线路1』 +https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-1.ctv$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="浙江公共新闻" tvg-name="浙江公共新闻" group-title="浙江",浙江公共新闻 -https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-1.ctv$LR•IPV4•6『线路2』 +https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-2.ctv$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="浙江公共新闻" tvg-name="浙江公共新闻" group-title="浙江",浙江公共新闻 https://t.freetv.fun/live/zhe-jiang-gong-gong-xin-wen.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="浙江公共新闻" tvg-name="浙江公共新闻" group-title="浙江",浙江公共新闻 -https://t.freetv.fun/live/zhe-jiang-gong-gong-xin-wen-1.m3u8$LR•IPV4•6『线路4』 +https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-1.m3u8$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="浙江公共新闻" tvg-name="浙江公共新闻" group-title="浙江",浙江公共新闻 -https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-2.ctv$LR•IPV4•6『线路5』 +http://ali-m-l.cztv.com/channels/lantian/channel07/1080p.m3u8$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="浙江公共新闻" tvg-name="浙江公共新闻" group-title="浙江",浙江公共新闻 -https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-1.m3u8$LR•IPV4•6『线路6』 +https://t.freetv.fun/live/zhe-jiang-gong-gong-xin-wen-1.m3u8$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="浙江青田" tvg-name="浙江青田" group-title="浙江",浙江青田 http://play-sh13.quklive.com/live/1692755062081192.m3u8?auth_key=2028414252-b15176e05a684b589d12314dfabf6225-0-d175afe86fbea31e2eb167a6dd06cd4f$LR•IPV4 #EXTINF:-1 tvg-id="浙江遂昌" tvg-name="浙江遂昌" group-title="浙江",浙江遂昌 -http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8$LR•IPV4•3『线路1』 +http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="浙江遂昌" tvg-name="浙江遂昌" group-title="浙江",浙江遂昌 http://play-sh13.quklive.com/live/1708426592499070.m3u8?auth_key=2028414342-e92bda8423ad478c987a8b7ae82abe0e-0-c616f7fabb9675e1ed1d84d9edae7e07$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="浙江遂昌" tvg-name="浙江遂昌" group-title="浙江",浙江遂昌 -http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•3『线路3』 +http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="诸暨新闻综合" tvg-name="诸暨新闻综合" group-title="浙江",诸暨新闻综合 http://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8?zzhed$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="诸暨新闻综合" tvg-name="诸暨新闻综合" group-title="浙江",诸暨新闻综合 https://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="龙游生活娱乐" tvg-name="龙游生活娱乐" group-title="浙江",龙游生活娱乐 -https://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8$LR•IPV4•3『线路1』 +http://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="龙游生活娱乐" tvg-name="龙游生活娱乐" group-title="浙江",龙游生活娱乐 -http://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8?zzhed$LR•IPV4•3『线路2』 +https://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="龙游生活娱乐" tvg-name="龙游生活娱乐" group-title="浙江",龙游生活娱乐 -http://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8$LR•IPV4•3『线路3』 +http://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8?zzhed$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="龙游新闻综合" tvg-name="龙游新闻综合" group-title="浙江",龙游新闻综合 https://l.cztvcloud.com/channels/lantian/SXlongyou1/720p.m3u8$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="龙游新闻综合" tvg-name="龙游新闻综合" group-title="浙江",龙游新闻综合 -http://play-sh13.quklive.com/live/1703570877483349.m3u8?auth_key=2028414694-515206b2ec504fa3bc90bb1ec3b0c48e-0-eeeeb3d5a8f8e5415142bf430b916d79$LR•IPV4•5『线路2』 +http://l.cztvcloud.com/channels/lantian/SXlongyou1/720p.m3u8?zzhed$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="龙游新闻综合" tvg-name="龙游新闻综合" group-title="浙江",龙游新闻综合 -http://l.cztvcloud.com/channels/lantian/SXlongyou1/720p.m3u8?zzhed$LR•IPV4•5『线路3』 +http://play-sh13.quklive.com/live/1703570877483349.m3u8?auth_key=2028414694-515206b2ec504fa3bc90bb1ec3b0c48e-0-eeeeb3d5a8f8e5415142bf430b916d79$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="龙游新闻综合" tvg-name="龙游新闻综合" group-title="浙江",龙游新闻综合 -http://l.cztvcloud.com/channels/lantian/SXlongyou1/720p.m3u8$LR•IPV4•5『线路4』 +http://l.cztvcloud.com/channels/lantian/SXlongyou1/720p.m3u8?$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="龙游新闻综合" tvg-name="龙游新闻综合" group-title="浙江",龙游新闻综合 -http://l.cztvcloud.com/channels/lantian/SXlongyou1/720p.m3u8?$LR•IPV4•5『线路5』 +http://l.cztvcloud.com/channels/lantian/SXlongyou1/720p.m3u8$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="龙泉新闻综合" tvg-name="龙泉新闻综合" group-title="浙江",龙泉新闻综合 http://l.cztvcloud.com/channels/lantian/SXlongquan1/720p.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="龙泉新闻综合" tvg-name="龙泉新闻综合" group-title="浙江",龙泉新闻综合 @@ -4220,9 +4232,9 @@ http://pili-publish.yzxw.newaircloud.com/newaircloud-yzxw/yzxw_20190925090936.m3 #EXTINF:-1 tvg-id="鄞州一套" tvg-name="鄞州一套" group-title="浙江",鄞州一套 http://pili-publish.yzxw.newaircloud.com/newaircloud-yzxw/yzxw_20190925090843.m3u8?zzhed$LR•IPV4 #EXTINF:-1 tvg-id="遂昌综合" tvg-name="遂昌综合" group-title="浙江",遂昌综合 -http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?zzhed$LR•IPV4•2『线路1』 +http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8zzhed$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="遂昌综合" tvg-name="遂昌综合" group-title="浙江",遂昌综合 -http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8zzhed$LR•IPV4•2『线路2』 +http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?zzhed$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="象山综合" tvg-name="象山综合" group-title="浙江",象山综合 http://play-sh13.quklive.com/live/1702360350551252.m3u8?auth_key=2037107484-800189c57a5a44d3b823b60cf84f6756-0-a6f6828a62d5c167cff5e68735fa0d39$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="象山综合" tvg-name="象山综合" group-title="浙江",象山综合 @@ -4230,147 +4242,147 @@ http://l.cztvcloud.com/channels/lantian/SXxiangshan1/720p.m3u8$LR•IPV4•3『 #EXTINF:-1 tvg-id="象山综合" tvg-name="象山综合" group-title="浙江",象山综合 http://l.cztvcloud.com/channels/lantian/SXxiangshan1/720p.m3u8?zzhed$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="衢江新闻综合" tvg-name="衢江新闻综合" group-title="浙江",衢江新闻综合 -http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8?zzhed$LR•IPV4•6『线路1』 +https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-1.m3u8$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="衢江新闻综合" tvg-name="衢江新闻综合" group-title="浙江",衢江新闻综合 -https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-2.m3u8$LR•IPV4•6『线路2』 +https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-3.m3u8$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="衢江新闻综合" tvg-name="衢江新闻综合" group-title="浙江",衢江新闻综合 -https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-3.m3u8$LR•IPV4•6『线路3』 +https://t.freetv.fun/live/qu-jiang-xin-wen-zong-he.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="衢江新闻综合" tvg-name="衢江新闻综合" group-title="浙江",衢江新闻综合 -https://t.freetv.fun/live/qu-jiang-xin-wen-zong-he.m3u8$LR•IPV4•6『线路4』 +https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-2.m3u8$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="衢江新闻综合" tvg-name="衢江新闻综合" group-title="浙江",衢江新闻综合 -https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-1.m3u8$LR•IPV4•6『线路5』 +https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-1.ctv$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="衢江新闻综合" tvg-name="衢江新闻综合" group-title="浙江",衢江新闻综合 -https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-1.ctv$LR•IPV4•6『线路6』 +http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8?zzhed$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="萧山生活" tvg-name="萧山生活" group-title="浙江",萧山生活 https://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="萧山生活" tvg-name="萧山生活" group-title="浙江",萧山生活 -http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8?zzhed$LR•IPV4•3『线路2』 +http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8?zzhed?$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="萧山生活" tvg-name="萧山生活" group-title="浙江",萧山生活 -http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8?zzhed?$LR•IPV4•3『线路3』 +http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8?zzhed$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="萧山新闻综合" tvg-name="萧山新闻综合" group-title="浙江",萧山新闻综合 https://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8$LR•IPV4•17『线路1』 #EXTINF:-1 tvg-id="萧山新闻综合" tvg-name="萧山新闻综合" group-title="浙江",萧山新闻综合 -https://t.freetv.fun/live/xiao-shan-xin-wen-zong-he-1.m3u8$LR•IPV4•17『线路2』 +http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•17『线路2』 #EXTINF:-1 tvg-id="萧山新闻综合" tvg-name="萧山新闻综合" group-title="浙江",萧山新闻综合 -http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•17『线路3』 +https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-1.m3u8$LR•IPV4•17『线路3』 #EXTINF:-1 tvg-id="萧山新闻综合" tvg-name="萧山新闻综合" group-title="浙江",萧山新闻综合 -https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-6.m3u8$LR•IPV4•17『线路4』 +https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-2.m3u8$LR•IPV4•17『线路4』 #EXTINF:-1 tvg-id="萧山新闻综合" tvg-name="萧山新闻综合" group-title="浙江",萧山新闻综合 -https://t.freetv.fun/live/xiao-shan-xin-wen-zong-he-2.m3u8$LR•IPV4•17『线路5』 +https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-4.m3u8$LR•IPV4•17『线路5』 #EXTINF:-1 tvg-id="萧山新闻综合" tvg-name="萧山新闻综合" group-title="浙江",萧山新闻综合 -https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-3.m3u8$LR•IPV4•17『线路6』 +https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-9.m3u8$LR•IPV4•17『线路6』 #EXTINF:-1 tvg-id="萧山新闻综合" tvg-name="萧山新闻综合" group-title="浙江",萧山新闻综合 -https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-8.m3u8$LR•IPV4•17『线路7』 +https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-6.m3u8$LR•IPV4•17『线路7』 #EXTINF:-1 tvg-id="萧山新闻综合" tvg-name="萧山新闻综合" group-title="浙江",萧山新闻综合 -https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-7.m3u8$LR•IPV4•17『线路8』 +https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-3.m3u8$LR•IPV4•17『线路8』 #EXTINF:-1 tvg-id="萧山新闻综合" tvg-name="萧山新闻综合" group-title="浙江",萧山新闻综合 -https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-9.m3u8$LR•IPV4•17『线路9』 +https://t.freetv.fun/live/xiao-shan-xin-wen-zong-he-2.m3u8$LR•IPV4•17『线路9』 #EXTINF:-1 tvg-id="萧山新闻综合" tvg-name="萧山新闻综合" group-title="浙江",萧山新闻综合 -https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-1.m3u8$LR•IPV4•17『线路10』 +https://t.freetv.fun/live/xiao-shan-xin-wen-zong-he-1.m3u8$LR•IPV4•17『线路10』 #EXTINF:-1 tvg-id="萧山新闻综合" tvg-name="萧山新闻综合" group-title="浙江",萧山新闻综合 -http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?zzhed$LR•IPV4•17『线路11』 +https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-8.m3u8$LR•IPV4•17『线路11』 #EXTINF:-1 tvg-id="萧山新闻综合" tvg-name="萧山新闻综合" group-title="浙江",萧山新闻综合 -https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-2.m3u8$LR•IPV4•17『线路12』 +https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-7.m3u8$LR•IPV4•17『线路12』 #EXTINF:-1 tvg-id="萧山新闻综合" tvg-name="萧山新闻综合" group-title="浙江",萧山新闻综合 -https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-4.m3u8$LR•IPV4•17『线路13』 +http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?zzhed$LR•IPV4•17『线路13』 #EXTINF:-1 tvg-id="萧山新闻综合" tvg-name="萧山新闻综合" group-title="浙江",萧山新闻综合 http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?zzhed?$LR•IPV4•17『线路14』 #EXTINF:-1 tvg-id="萧山新闻综合" tvg-name="萧山新闻综合" group-title="浙江",萧山新闻综合 -http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8$LR•IPV4•17『线路15』 +http://l.cztvcloud.com/channels/lantian/SXxiaoshan3/720p.m3u8$LR•IPV4•17『线路15』 #EXTINF:-1 tvg-id="萧山新闻综合" tvg-name="萧山新闻综合" group-title="浙江",萧山新闻综合 -http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?$LR•IPV4•17『线路16』 +http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8$LR•IPV4•17『线路16』 #EXTINF:-1 tvg-id="萧山新闻综合" tvg-name="萧山新闻综合" group-title="浙江",萧山新闻综合 -http://l.cztvcloud.com/channels/lantian/SXxiaoshan3/720p.m3u8$LR•IPV4•17『线路17』 +http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?$LR•IPV4•17『线路17』 #EXTINF:-1 tvg-id="苍南新闻综合" tvg-name="苍南新闻综合" group-title="浙江",苍南新闻综合 -https://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8$LR•IPV4•9『线路1』 +https://t.freetv.fun/live/cang-nan-xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路1』 #EXTINF:-1 tvg-id="苍南新闻综合" tvg-name="苍南新闻综合" group-title="浙江",苍南新闻综合 -https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-7.m3u8$LR•IPV4•9『线路2』 +https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-3.m3u8$LR•IPV4•9『线路2』 #EXTINF:-1 tvg-id="苍南新闻综合" tvg-name="苍南新闻综合" group-title="浙江",苍南新闻综合 -https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-4.ctv$LR•IPV4•9『线路3』 +https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路3』 #EXTINF:-1 tvg-id="苍南新闻综合" tvg-name="苍南新闻综合" group-title="浙江",苍南新闻综合 -https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路4』 +https://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8$LR•IPV4•9『线路4』 #EXTINF:-1 tvg-id="苍南新闻综合" tvg-name="苍南新闻综合" group-title="浙江",苍南新闻综合 -https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-5.m3u8$LR•IPV4•9『线路5』 +https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-7.m3u8$LR•IPV4•9『线路5』 #EXTINF:-1 tvg-id="苍南新闻综合" tvg-name="苍南新闻综合" group-title="浙江",苍南新闻综合 -https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路6』 +https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-4.ctv$LR•IPV4•9『线路6』 #EXTINF:-1 tvg-id="苍南新闻综合" tvg-name="苍南新闻综合" group-title="浙江",苍南新闻综合 -https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-3.m3u8$LR•IPV4•9『线路7』 +http://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8?zzhed$LR•IPV4•9『线路7』 #EXTINF:-1 tvg-id="苍南新闻综合" tvg-name="苍南新闻综合" group-title="浙江",苍南新闻综合 -http://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8?zzhed$LR•IPV4•9『线路8』 +https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-5.m3u8$LR•IPV4•9『线路8』 #EXTINF:-1 tvg-id="苍南新闻综合" tvg-name="苍南新闻综合" group-title="浙江",苍南新闻综合 -https://t.freetv.fun/live/cang-nan-xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路9』 +https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路9』 #EXTINF:-1 tvg-id="缙云综合" tvg-name="缙云综合" group-title="浙江",缙云综合 -http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed$LR•IPV4•3『线路1』 +http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed?$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="缙云综合" tvg-name="缙云综合" group-title="浙江",缙云综合 -http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed?$LR•IPV4•3『线路2』 +http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="缙云综合" tvg-name="缙云综合" group-title="浙江",缙云综合 http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed"$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="缙云新闻综合" tvg-name="缙云新闻综合" group-title="浙江",缙云新闻综合 -http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8$LR•IPV4•2『线路1』 +http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?fbl=$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="缙云新闻综合" tvg-name="缙云新闻综合" group-title="浙江",缙云新闻综合 -http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?fbl=$LR•IPV4•2『线路2』 +http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="绍兴电视台公共" tvg-name="绍兴电视台公共" group-title="浙江",绍兴电视台公共 http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="绍兴电视台公共" tvg-name="绍兴电视台公共" group-title="浙江",绍兴电视台公共 http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8?zzhed$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="绍兴新闻综合" tvg-name="绍兴新闻综合" group-title="浙江",绍兴新闻综合 -http://live.shaoxing.com.cn/video/s10001-sxhb/index.m3u8?zzhed$LR•IPV4•9『线路1』 +https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-3.m3u8$LR•IPV4•9『线路1』 #EXTINF:-1 tvg-id="绍兴新闻综合" tvg-name="绍兴新闻综合" group-title="浙江",绍兴新闻综合 -https://t.freetv.fun/live/shao-xing-xin-wen-zong-he-3-1.m3u8$LR•IPV4•9『线路2』 +http://live.shaoxing.com.cn/video/s10001-sxhb/index.m3u8$LR•IPV4•9『线路2』 #EXTINF:-1 tvg-id="绍兴新闻综合" tvg-name="绍兴新闻综合" group-title="浙江",绍兴新闻综合 -https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-4.m3u8$LR•IPV4•9『线路3』 +https://t.freetv.fun/live/shao-xing-xin-wen-zong-he-3-1.m3u8$LR•IPV4•9『线路3』 #EXTINF:-1 tvg-id="绍兴新闻综合" tvg-name="绍兴新闻综合" group-title="浙江",绍兴新闻综合 -https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-3.m3u8$LR•IPV4•9『线路4』 +http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8?zzhed$LR•IPV4•9『线路4』 #EXTINF:-1 tvg-id="绍兴新闻综合" tvg-name="绍兴新闻综合" group-title="浙江",绍兴新闻综合 -https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路5』 +http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8$LR•IPV4•9『线路5』 #EXTINF:-1 tvg-id="绍兴新闻综合" tvg-name="绍兴新闻综合" group-title="浙江",绍兴新闻综合 -http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8$LR•IPV4•9『线路6』 +https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-4.m3u8$LR•IPV4•9『线路6』 #EXTINF:-1 tvg-id="绍兴新闻综合" tvg-name="绍兴新闻综合" group-title="浙江",绍兴新闻综合 -http://live.shaoxing.com.cn/video/s10001-sxhb/index.m3u8$LR•IPV4•9『线路7』 +https://t.freetv.fun/live/shao-xing-xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路7』 #EXTINF:-1 tvg-id="绍兴新闻综合" tvg-name="绍兴新闻综合" group-title="浙江",绍兴新闻综合 -https://t.freetv.fun/live/shao-xing-xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路8』 +https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路8』 #EXTINF:-1 tvg-id="绍兴新闻综合" tvg-name="绍兴新闻综合" group-title="浙江",绍兴新闻综合 -http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8?zzhed$LR•IPV4•9『线路9』 +http://live.shaoxing.com.cn/video/s10001-sxhb/index.m3u8?zzhed$LR•IPV4•9『线路9』 #EXTINF:-1 tvg-id="绍兴文化影院" tvg-name="绍兴文化影院" group-title="浙江",绍兴文化影院 -https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-3.m3u8$LR•IPV4•6『线路1』 +http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8?zzhed$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="绍兴文化影院" tvg-name="绍兴文化影院" group-title="浙江",绍兴文化影院 -http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8?zzhed$LR•IPV4•6『线路2』 +https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-1.m3u8$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="绍兴文化影院" tvg-name="绍兴文化影院" group-title="浙江",绍兴文化影院 -https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-4.m3u8$LR•IPV4•6『线路3』 +https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-3.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="绍兴文化影院" tvg-name="绍兴文化影院" group-title="浙江",绍兴文化影院 -https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-1.m3u8$LR•IPV4•6『线路4』 +https://t.freetv.fun/live/shao-xing-wen-hua-ying-yuan-2.m3u8$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="绍兴文化影院" tvg-name="绍兴文化影院" group-title="浙江",绍兴文化影院 -https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-2.m3u8$LR•IPV4•6『线路5』 +https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-4.m3u8$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="绍兴文化影院" tvg-name="绍兴文化影院" group-title="浙江",绍兴文化影院 -https://t.freetv.fun/live/shao-xing-wen-hua-ying-yuan-2.m3u8$LR•IPV4•6『线路6』 +https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-2.m3u8$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="绍兴文化影视" tvg-name="绍兴文化影视" group-title="浙江",绍兴文化影视 http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="绍兴文化影视" tvg-name="绍兴文化影视" group-title="浙江",绍兴文化影视 -https://stream1.freetv.fun/shao-xing-wen-hua-ying-shi-1.m3u8$LR•IPV4•3『线路2』 +https://t.freetv.fun/live/shao-xing-wen-hua-ying-shi-1.m3u8$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="绍兴文化影视" tvg-name="绍兴文化影视" group-title="浙江",绍兴文化影视 -https://t.freetv.fun/live/shao-xing-wen-hua-ying-shi-1.m3u8$LR•IPV4•3『线路3』 +https://stream1.freetv.fun/shao-xing-wen-hua-ying-shi-1.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="绍兴公共" tvg-name="绍兴公共" group-title="浙江",绍兴公共 -http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8$LR•IPV4•7『线路1』 +https://stream1.freetv.fun/shao-xing-gong-gong-2.m3u8$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="绍兴公共" tvg-name="绍兴公共" group-title="浙江",绍兴公共 -https://stream1.freetv.fun/shao-xing-gong-gong-2.m3u8$LR•IPV4•7『线路2』 +http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="绍兴公共" tvg-name="绍兴公共" group-title="浙江",绍兴公共 -https://stream1.freetv.fun/shao-xing-gong-gong-7.m3u8$LR•IPV4•7『线路3』 +https://stream1.freetv.fun/shao-xing-gong-gong-1.m3u8$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="绍兴公共" tvg-name="绍兴公共" group-title="浙江",绍兴公共 https://stream1.freetv.fun/shao-xing-gong-gong-8.m3u8$LR•IPV4•7『线路4』 #EXTINF:-1 tvg-id="绍兴公共" tvg-name="绍兴公共" group-title="浙江",绍兴公共 https://stream1.freetv.fun/shao-xing-gong-gong-3.m3u8$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="绍兴公共" tvg-name="绍兴公共" group-title="浙江",绍兴公共 -https://stream1.freetv.fun/shao-xing-gong-gong-1.m3u8$LR•IPV4•7『线路6』 +http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8?$LR•IPV4•7『线路6』 #EXTINF:-1 tvg-id="绍兴公共" tvg-name="绍兴公共" group-title="浙江",绍兴公共 -http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8?$LR•IPV4•7『线路7』 +https://stream1.freetv.fun/shao-xing-gong-gong-7.m3u8$LR•IPV4•7『线路7』 #EXTINF:-1 tvg-id="海盐新闻" tvg-name="海盐新闻" group-title="浙江",海盐新闻 http://lived.dmqhyadmin.com/ds/sd/live.m3u8?zzhed$LR•IPV4 #EXTINF:-1 tvg-id="海宁新闻综合" tvg-name="海宁新闻综合" group-title="浙江",海宁新闻综合 -https://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8$LR•IPV4•3『线路1』 +http://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="海宁新闻综合" tvg-name="海宁新闻综合" group-title="浙江",海宁新闻综合 -http://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8$LR•IPV4•3『线路2』 +https://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8?zbid=293304&tpid=1708007815$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="海宁新闻综合" tvg-name="海宁新闻综合" group-title="浙江",海宁新闻综合 -https://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8?zbid=293304&tpid=1708007815$LR•IPV4•3『线路3』 +https://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="洞头综合" tvg-name="洞头综合" group-title="浙江",洞头综合 http://l.cztvcloud.com/channels/lantian/SXdongtou1/720p.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="洞头综合" tvg-name="洞头综合" group-title="浙江",洞头综合 @@ -4378,25 +4390,25 @@ http://l.cztvcloud.com/channels/lantian/SXdongtou1/720p.m3u8?zzhed?$LR•IPV4• #EXTINF:-1 tvg-id="洞头综合" tvg-name="洞头综合" group-title="浙江",洞头综合 http://l.cztvcloud.com/channels/lantian/SXdongtou1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8$LR•IPV4•10『线路1』 +http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed"$LR•IPV4•10『线路1』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed$LR•IPV4•10『线路2』 +https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-3.ctv$LR•IPV4•10『线路2』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -https://t.freetv.fun/live/yong-jia-xin-wen-zong-he.m3u8$LR•IPV4•10『线路3』 +http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed"$LR•IPV4•10『线路3』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路4』 +http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8$LR•IPV4•10『线路4』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -https://t.freetv.fun/live/yong-jia-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路5』 +https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路5』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路6』 +http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed$LR•IPV4•10『线路6』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-3.ctv$LR•IPV4•10『线路7』 +https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-4.m3u8$LR•IPV4•10『线路7』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-4.m3u8$LR•IPV4•10『线路8』 +https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路8』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed"$LR•IPV4•10『线路9』 +https://t.freetv.fun/live/yong-jia-xin-wen-zong-he.m3u8$LR•IPV4•10『线路9』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed"$LR•IPV4•10『线路10』 +https://t.freetv.fun/live/yong-jia-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路10』 #EXTINF:-1 tvg-id="武义新闻综合" tvg-name="武义新闻综合" group-title="浙江",武义新闻综合 http://l.cztvcloud.com/channels/lantian/SXwuyi1/720p.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="武义新闻综合" tvg-name="武义新闻综合" group-title="浙江",武义新闻综合 @@ -4410,13 +4422,13 @@ http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8$LR•IPV4•6『 #EXTINF:-1 tvg-id="松阳综合" tvg-name="松阳综合" group-title="浙江",松阳综合 http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?fbl=$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="松阳综合" tvg-name="松阳综合" group-title="浙江",松阳综合 -http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed$LR•IPV4•6『线路3』 +http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed?$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="松阳综合" tvg-name="松阳综合" group-title="浙江",松阳综合 http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8zzhed$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="松阳综合" tvg-name="松阳综合" group-title="浙江",松阳综合 http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="松阳综合" tvg-name="松阳综合" group-title="浙江",松阳综合 -http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed?$LR•IPV4•6『线路6』 +http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="普陀新闻综合" tvg-name="普陀新闻综合" group-title="浙江",普陀新闻综合 http://l.cztvcloud.com/channels/lantian/SXputuo1/720p.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="普陀新闻综合" tvg-name="普陀新闻综合" group-title="浙江",普陀新闻综合 @@ -4426,33 +4438,33 @@ http://l.cztvcloud.com/channels/lantian/SXputuo1/720p.m3u8?zzhed$LR•IPV4•3 #EXTINF:-1 tvg-id="新昌生活" tvg-name="新昌生活" group-title="浙江",新昌生活 http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="新昌新闻综合" tvg-name="新昌新闻综合" group-title="浙江",新昌新闻综合 -https://l.cztvcloud.com/channels/lantian/SXxinchang1/720p.m3u8$LR•IPV4•7『线路1』 +https://t.freetv.fun/live/xin-chang-xin-wen-zong-he.m3u8$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="新昌新闻综合" tvg-name="新昌新闻综合" group-title="浙江",新昌新闻综合 -https://t.freetv.fun/live/xin-chang-xin-wen-zong-he.m3u8$LR•IPV4•7『线路2』 +https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-5.ctv$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="新昌新闻综合" tvg-name="新昌新闻综合" group-title="浙江",新昌新闻综合 -https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-5.ctv$LR•IPV4•7『线路3』 +https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-4.m3u8$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="新昌新闻综合" tvg-name="新昌新闻综合" group-title="浙江",新昌新闻综合 -https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-1.m3u8$LR•IPV4•7『线路4』 +http://l.cztvcloud.com/channels/lantian/SXxinchang1/720p.m3u8$LR•IPV4•7『线路4』 #EXTINF:-1 tvg-id="新昌新闻综合" tvg-name="新昌新闻综合" group-title="浙江",新昌新闻综合 -http://l.cztvcloud.com/channels/lantian/SXxinchang1/720p.m3u8$LR•IPV4•7『线路5』 +https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-3.m3u8$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="新昌新闻综合" tvg-name="新昌新闻综合" group-title="浙江",新昌新闻综合 -https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-4.m3u8$LR•IPV4•7『线路6』 +https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-1.m3u8$LR•IPV4•7『线路6』 #EXTINF:-1 tvg-id="新昌新闻综合" tvg-name="新昌新闻综合" group-title="浙江",新昌新闻综合 -https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-3.m3u8$LR•IPV4•7『线路7』 +https://l.cztvcloud.com/channels/lantian/SXxinchang1/720p.m3u8$LR•IPV4•7『线路7』 #EXTINF:-1 tvg-id="文成综合" tvg-name="文成综合" group-title="浙江",文成综合 -http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8?zzhed$LR•IPV4•4『线路1』 +http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="文成综合" tvg-name="文成综合" group-title="浙江",文成综合 -http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8$LR•IPV4•4『线路2』 +http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8?zzhed$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="文成综合" tvg-name="文成综合" group-title="浙江",文成综合 http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8?zzhed?$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="文成综合" tvg-name="文成综合" group-title="浙江",文成综合 http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8?fbl=$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="开化新闻综合" tvg-name="开化新闻综合" group-title="浙江",开化新闻综合 -http://l.cztvcloud.com/channels/lantian/SXkaihua1/720p.m3u8?zzhed$LR•IPV4•3『线路1』 +https://stream1.freetv.fun/kai-hua-xin-wen-zong-he-2.ctv$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="开化新闻综合" tvg-name="开化新闻综合" group-title="浙江",开化新闻综合 -https://stream1.freetv.fun/kai-hua-xin-wen-zong-he-1.m3u8$LR•IPV4•3『线路2』 +http://l.cztvcloud.com/channels/lantian/SXkaihua1/720p.m3u8?zzhed$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="开化新闻综合" tvg-name="开化新闻综合" group-title="浙江",开化新闻综合 -https://stream1.freetv.fun/kai-hua-xin-wen-zong-he-2.ctv$LR•IPV4•3『线路3』 +https://stream1.freetv.fun/kai-hua-xin-wen-zong-he-1.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="开化国家公园" tvg-name="开化国家公园" group-title="浙江",开化国家公园 http://l.cztvcloud.com/channels/lantian/SXkaihua2/720p.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="开化国家公园" tvg-name="开化国家公园" group-title="浙江",开化国家公园 @@ -4460,63 +4472,63 @@ http://l.cztvcloud.com/channels/lantian/SXkaihua2/720p.m3u8?zzhed$LR•IPV4•3 #EXTINF:-1 tvg-id="开化国家公园" tvg-name="开化国家公园" group-title="浙江",开化国家公园 http://l.cztvcloud.com/channels/lantian/SXkaihua2/720p.m3u8zzhed$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="庆元综合" tvg-name="庆元综合" group-title="浙江",庆元综合 -http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8$LR•IPV4•6『线路1』 +http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="庆元综合" tvg-name="庆元综合" group-title="浙江",庆元综合 -http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed$LR•IPV4•6『线路2』 +http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed[浙江]洞头综合频道$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="庆元综合" tvg-name="庆元综合" group-title="浙江",庆元综合 -http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed?$LR•IPV4•6『线路3』 +http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?fbl=$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="庆元综合" tvg-name="庆元综合" group-title="浙江",庆元综合 -http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路4』 +http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="庆元综合" tvg-name="庆元综合" group-title="浙江",庆元综合 -http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?fbl=$LR•IPV4•6『线路5』 +http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="庆元综合" tvg-name="庆元综合" group-title="浙江",庆元综合 -http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed[浙江]洞头综合频道$LR•IPV4•6『线路6』 +http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed?$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="平湖新闻综合" tvg-name="平湖新闻综合" group-title="浙江",平湖新闻综合 -http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?zzhed$LR•IPV4•9『线路1』 +http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8$LR•IPV4•9『线路1』 #EXTINF:-1 tvg-id="平湖新闻综合" tvg-name="平湖新闻综合" group-title="浙江",平湖新闻综合 -https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路2』 +https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-5.m3u8$LR•IPV4•9『线路2』 #EXTINF:-1 tvg-id="平湖新闻综合" tvg-name="平湖新闻综合" group-title="浙江",平湖新闻综合 -https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-5.m3u8$LR•IPV4•9『线路3』 +https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路3』 #EXTINF:-1 tvg-id="平湖新闻综合" tvg-name="平湖新闻综合" group-title="浙江",平湖新闻综合 -http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8$LR•IPV4•9『线路4』 +http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•9『线路4』 #EXTINF:-1 tvg-id="平湖新闻综合" tvg-name="平湖新闻综合" group-title="浙江",平湖新闻综合 https://t.freetv.fun/live/ping-hu-xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路5』 #EXTINF:-1 tvg-id="平湖新闻综合" tvg-name="平湖新闻综合" group-title="浙江",平湖新闻综合 -http://play-sh13.quklive.com/live/1690167908295069.m3u8?auth_key=2027466211-f190eec410c24473825cbe1d8541e545-0-f21db57ae1b534802c1cf7be86cc3aef$LR•IPV4•9『线路6』 +https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路6』 #EXTINF:-1 tvg-id="平湖新闻综合" tvg-name="平湖新闻综合" group-title="浙江",平湖新闻综合 -http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•9『线路7』 +http://play-sh13.quklive.com/live/1690167908295069.m3u8?auth_key=2027466211-f190eec410c24473825cbe1d8541e545-0-f21db57ae1b534802c1cf7be86cc3aef$LR•IPV4•9『线路7』 #EXTINF:-1 tvg-id="平湖新闻综合" tvg-name="平湖新闻综合" group-title="浙江",平湖新闻综合 -https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路8』 +http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?zzhed$LR•IPV4•9『线路8』 #EXTINF:-1 tvg-id="平湖新闻综合" tvg-name="平湖新闻综合" group-title="浙江",平湖新闻综合 https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-3.m3u8$LR•IPV4•9『线路9』 #EXTINF:-1 tvg-id="嵊泗综合" tvg-name="嵊泗综合" group-title="浙江",嵊泗综合 -http://l.cztvcloud.com/channels/lantian/SXshengsi1/720p.m3u8$LR•IPV4•8『线路1』 +https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-3.m3u8$LR•IPV4•8『线路1』 #EXTINF:-1 tvg-id="嵊泗综合" tvg-name="嵊泗综合" group-title="浙江",嵊泗综合 -https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-1.m3u8$LR•IPV4•8『线路2』 +http://l.cztvcloud.com/channels/lantian/SXshengsi1/720p.m3u8$LR•IPV4•8『线路2』 #EXTINF:-1 tvg-id="嵊泗综合" tvg-name="嵊泗综合" group-title="浙江",嵊泗综合 -https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-3.m3u8$LR•IPV4•8『线路3』 +http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8$LR•IPV4•8『线路3』 #EXTINF:-1 tvg-id="嵊泗综合" tvg-name="嵊泗综合" group-title="浙江",嵊泗综合 -https://play-sh11.quklive.com/live/1626935015913208.m3u8$LR•IPV4•8『线路4』 +https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-2.ctv$LR•IPV4•8『线路4』 #EXTINF:-1 tvg-id="嵊泗综合" tvg-name="嵊泗综合" group-title="浙江",嵊泗综合 -http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8$LR•IPV4•8『线路5』 +https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-2.m3u8$LR•IPV4•8『线路5』 #EXTINF:-1 tvg-id="嵊泗综合" tvg-name="嵊泗综合" group-title="浙江",嵊泗综合 -http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed$LR•IPV4•8『线路6』 +https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-1.m3u8$LR•IPV4•8『线路6』 #EXTINF:-1 tvg-id="嵊泗综合" tvg-name="嵊泗综合" group-title="浙江",嵊泗综合 -https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-2.m3u8$LR•IPV4•8『线路7』 +https://play-sh11.quklive.com/live/1626935015913208.m3u8$LR•IPV4•8『线路7』 #EXTINF:-1 tvg-id="嵊泗综合" tvg-name="嵊泗综合" group-title="浙江",嵊泗综合 -https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-2.ctv$LR•IPV4•8『线路8』 +http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed$LR•IPV4•8『线路8』 #EXTINF:-1 tvg-id="兰溪新闻综合" tvg-name="兰溪新闻综合" group-title="浙江",兰溪新闻综合 -http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8?zzhed$LR•IPV4•6『线路1』 +https://stream1.freetv.fun/lan-xi-xin-wen-zong-he-3.m3u8$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="兰溪新闻综合" tvg-name="兰溪新闻综合" group-title="浙江",兰溪新闻综合 -https://stream1.freetv.fun/lan-xi-xin-wen-zong-he-3.m3u8$LR•IPV4•6『线路2』 +http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="兰溪新闻综合" tvg-name="兰溪新闻综合" group-title="浙江",兰溪新闻综合 -https://t.freetv.fun/live/lan-xi-xin-wen-zong-he.m3u8$LR•IPV4•6『线路3』 +https://t.freetv.fun/live/lan-xi-xin-wen-zong-he-1.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="兰溪新闻综合" tvg-name="兰溪新闻综合" group-title="浙江",兰溪新闻综合 -http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8$LR•IPV4•6『线路4』 +https://stream1.freetv.fun/lan-xi-xin-wen-zong-he-1.m3u8$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="兰溪新闻综合" tvg-name="兰溪新闻综合" group-title="浙江",兰溪新闻综合 -https://t.freetv.fun/live/lan-xi-xin-wen-zong-he-1.m3u8$LR•IPV4•6『线路5』 +http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8?zzhed$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="兰溪新闻综合" tvg-name="兰溪新闻综合" group-title="浙江",兰溪新闻综合 -https://stream1.freetv.fun/lan-xi-xin-wen-zong-he-1.m3u8$LR•IPV4•6『线路6』 +https://t.freetv.fun/live/lan-xi-xin-wen-zong-he.m3u8$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="余杭综合" tvg-name="余杭综合" group-title="浙江",余杭综合 http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="余杭综合" tvg-name="余杭综合" group-title="浙江",余杭综合 @@ -4528,25 +4540,25 @@ http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8$LR•IPV4•2『线 #EXTINF:-1 tvg-id="余杭未来E" tvg-name="余杭未来E" group-title="浙江",余杭未来E http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8?zzhed$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="余姚综合" tvg-name="余姚综合" group-title="浙江",余姚综合 -https://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8$LR•IPV4•6『线路1』 +http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?zzhed$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="余姚综合" tvg-name="余姚综合" group-title="浙江",余姚综合 -http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8$LR•IPV4•6『线路2』 +http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="余姚综合" tvg-name="余姚综合" group-title="浙江",余姚综合 -http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?zzhed$LR•IPV4•6『线路3』 +http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="余姚综合" tvg-name="余姚综合" group-title="浙江",余姚综合 -http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?$LR•IPV4•6『线路4』 +http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="余姚综合" tvg-name="余姚综合" group-title="浙江",余姚综合 -http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•6『线路5』 +https://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="余姚综合" tvg-name="余姚综合" group-title="浙江",余姚综合 -http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路6』 +http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="余姚姚江文化" tvg-name="余姚姚江文化" group-title="浙江",余姚姚江文化 https://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="余姚姚江文化" tvg-name="余姚姚江文化" group-title="浙江",余姚姚江文化 -http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8zzhed$LR•IPV4•4『线路2』 +http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8?zzhed$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="余姚姚江文化" tvg-name="余姚姚江文化" group-title="浙江",余姚姚江文化 https://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="余姚姚江文化" tvg-name="余姚姚江文化" group-title="浙江",余姚姚江文化 -http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8?zzhed$LR•IPV4•4『线路4』 +http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8zzhed$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="云和新闻综合" tvg-name="云和新闻综合" group-title="浙江",云和新闻综合 http://l.cztvcloud.com/channels/lantian/SXyunhe1/720p.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="云和新闻综合" tvg-name="云和新闻综合" group-title="浙江",云和新闻综合 @@ -4560,385 +4572,385 @@ https://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8?$LR•IPV4•2 #EXTINF:-1 tvg-id="东阳影视生活" tvg-name="东阳影视生活" group-title="浙江",东阳影视生活 http://l.cztvcloud.com/channels/lantian/SXdongyang1/720p.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="上虞新闻综合" tvg-name="上虞新闻综合" group-title="浙江",上虞新闻综合 -http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?zzhed$LR•IPV4•2『线路1』 +http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="上虞新闻综合" tvg-name="上虞新闻综合" group-title="浙江",上虞新闻综合 -http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•2『线路2』 +http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?zzhed$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed$LR•IPV4•11『线路1』 +https://stream1.freetv.fun/shang-yu-xin-shang-du-5.m3u8$LR•IPV4•11『线路1』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8$LR•IPV4•11『线路2』 +http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed$LR•IPV4•11『线路2』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -https://stream1.freetv.fun/shang-yu-xin-shang-du-5.m3u8$LR•IPV4•11『线路3』 +https://stream1.freetv.fun/shang-yu-xin-shang-du-2.m3u8$LR•IPV4•11『线路3』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -https://stream1.freetv.fun/shang-yu-xin-shang-du-2.m3u8$LR•IPV4•11『线路4』 +http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed\r\n$LR•IPV4•11『线路4』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -https://stream1.freetv.fun/shang-yu-xin-shang-du-3.m3u8$LR•IPV4•11『线路5』 +https://t.freetv.fun/live/shang-yu-xin-shang-du-1.m3u8$LR•IPV4•11『线路5』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -https://t.freetv.fun/live/shang-yu-xin-shang-du.m3u8$LR•IPV4•11『线路6』 +https://stream1.freetv.fun/shang-yu-xin-shang-du-4.m3u8$LR•IPV4•11『线路6』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -https://t.freetv.fun/live/shang-yu-xin-shang-du-1.m3u8$LR•IPV4•11『线路7』 +https://stream1.freetv.fun/shang-yu-xin-shang-du-1.m3u8$LR•IPV4•11『线路7』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed\r\n$LR•IPV4•11『线路8』 +https://stream1.freetv.fun/shang-yu-xin-shang-du-3.m3u8$LR•IPV4•11『线路8』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -https://stream1.freetv.fun/shang-yu-xin-shang-du-4.m3u8$LR•IPV4•11『线路9』 +http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed?$LR•IPV4•11『线路9』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -https://stream1.freetv.fun/shang-yu-xin-shang-du-1.m3u8$LR•IPV4•11『线路10』 +https://t.freetv.fun/live/shang-yu-xin-shang-du.m3u8$LR•IPV4•11『线路10』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed?$LR•IPV4•11『线路11』 +http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8$LR•IPV4•11『线路11』 #EXTINF:-1 tvg-id="上虞文化影院" tvg-name="上虞文化影院" group-title="浙江",上虞文化影院 -http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed$LR•IPV4•9『线路1』 +https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-4.ctv$LR•IPV4•9『线路1』 #EXTINF:-1 tvg-id="上虞文化影院" tvg-name="上虞文化影院" group-title="浙江",上虞文化影院 -https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-4.ctv$LR•IPV4•9『线路2』 +http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed$LR•IPV4•9『线路2』 #EXTINF:-1 tvg-id="上虞文化影院" tvg-name="上虞文化影院" group-title="浙江",上虞文化影院 -https://t.freetv.fun/live/shang-yu-wen-hua-ying-yuan.m3u8$LR•IPV4•9『线路3』 +http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8zzhed$LR•IPV4•9『线路3』 #EXTINF:-1 tvg-id="上虞文化影院" tvg-name="上虞文化影院" group-title="浙江",上虞文化影院 -https://t.freetv.fun/live/shang-yu-wen-hua-ying-yuan-2.m3u8zzhed$LR•IPV4•9『线路4』 +https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-2.ctv$LR•IPV4•9『线路4』 #EXTINF:-1 tvg-id="上虞文化影院" tvg-name="上虞文化影院" group-title="浙江",上虞文化影院 -https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-3.ctv$LR•IPV4•9『线路5』 +https://t.freetv.fun/live/shang-yu-wen-hua-ying-yuan.m3u8$LR•IPV4•9『线路5』 #EXTINF:-1 tvg-id="上虞文化影院" tvg-name="上虞文化影院" group-title="浙江",上虞文化影院 -https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-2.ctv$LR•IPV4•9『线路6』 +http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8zzhed$LR•IPV4•9『线路6』 #EXTINF:-1 tvg-id="上虞文化影院" tvg-name="上虞文化影院" group-title="浙江",上虞文化影院 -https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-1.m3u8$LR•IPV4•9『线路7』 +https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-3.ctv$LR•IPV4•9『线路7』 #EXTINF:-1 tvg-id="上虞文化影院" tvg-name="上虞文化影院" group-title="浙江",上虞文化影院 -http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8zzhed$LR•IPV4•9『线路8』 +https://t.freetv.fun/live/shang-yu-wen-hua-ying-yuan-2.m3u8zzhed$LR•IPV4•9『线路8』 #EXTINF:-1 tvg-id="上虞文化影院" tvg-name="上虞文化影院" group-title="浙江",上虞文化影院 -http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8zzhed$LR•IPV4•9『线路9』 +https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-1.m3u8$LR•IPV4•9『线路9』 #EXTINF:-1 tvg-id="民生休闲" tvg-name="民生休闲" group-title="浙江",民生休闲 -http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8$LR•IPV4•2『线路1』 +http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8?zzhed$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="民生休闲" tvg-name="民生休闲" group-title="浙江",民生休闲 -http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8?zzhed$LR•IPV4•2『线路2』 +http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNDSMPP360.m3u8$LR•IPV4•24『线路1』 +https://stream1.freetv.fun/hu-nan-du-shi-6.ctv$LR•IPV4•24『线路1』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7510&tk=23a9aca1f79f$LR•IPV4•24『线路2』 +http://116.128.242.83:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路2』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -https://stream1.freetv.fun/hu-nan-du-shi-4.m3u8$LR•IPV4•24『线路3』 +https://stream1.freetv.fun/hu-nan-du-shi-11.m3u8$LR•IPV4•24『线路3』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -http://www.peanutbar.cn:8099/tsfile/live/1002_1.m3u8?key=txiptv$LR•IPV4•24『线路4』 +http://110.53.218.182:9902/tsfile/live/0127_1.m3u8$LR•IPV4•24『线路4』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -http://116.128.243.121:85/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路5』 +https://stream1.freetv.fun/hu-nan-du-shi-15.m3u8$LR•IPV4•24『线路5』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -https://stream1.freetv.fun/hu-nan-du-shi-14.m3u8$LR•IPV4•24『线路6』 +https://stream1.freetv.fun/hu-nan-du-shi-10.m3u8$LR•IPV4•24『线路6』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -https://stream1.freetv.fun/hu-nan-du-shi-3.m3u8$LR•IPV4•24『线路7』 +https://stream1.freetv.fun/hu-nan-du-shi-4.m3u8$LR•IPV4•24『线路7』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -https://stream1.freetv.fun/hu-nan-du-shi-15.m3u8$LR•IPV4•24『线路8』 +https://stream1.freetv.fun/hu-nan-du-shi-1.m3u8$LR•IPV4•24『线路8』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -https://stream1.freetv.fun/hu-nan-du-shi-11.m3u8$LR•IPV4•24『线路9』 +https://stream1.freetv.fun/hu-nan-du-shi-3.m3u8$LR•IPV4•24『线路9』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -https://stream1.freetv.fun/hu-nan-du-shi-6.m3u8$LR•IPV4•24『线路10』 +https://stream1.freetv.fun/hu-nan-du-shi-gao-qing-3.m3u8$LR•IPV4•24『线路10』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -https://stream1.freetv.fun/hu-nan-du-shi-1.m3u8$LR•IPV4•24『线路11』 +https://stream1.freetv.fun/hu-nan-du-shi-14.m3u8$LR•IPV4•24『线路11』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -http://116.128.242.83:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路12』 +https://stream1.freetv.fun/hu-nan-du-shi-8.m3u8$LR•IPV4•24『线路12』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -https://stream1.freetv.fun/hu-nan-du-shi-13.m3u8$LR•IPV4•24『线路13』 +https://stream1.freetv.fun/hu-nan-du-shi-12.ctv$LR•IPV4•24『线路13』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -http://110.53.218.182:9902/tsfile/live/0127_1.m3u8$LR•IPV4•24『线路14』 +https://stream1.freetv.fun/hu-nan-du-shi-gao-qing-1.m3u8$LR•IPV4•24『线路14』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -https://stream1.freetv.fun/hu-nan-du-shi-7.m3u8$LR•IPV4•24『线路15』 +https://stream1.freetv.fun/hu-nan-du-shi-9.m3u8$LR•IPV4•24『线路15』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -https://stream1.freetv.fun/hu-nan-du-shi-8.m3u8$LR•IPV4•24『线路16』 +https://stream1.freetv.fun/hu-nan-du-shi-7.m3u8$LR•IPV4•24『线路16』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -https://stream1.freetv.fun/hu-nan-du-shi-6.ctv$LR•IPV4•24『线路17』 +http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hnds$LR•IPV4•24『线路17』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -https://stream1.freetv.fun/hu-nan-du-shi-gao-qing-1.m3u8$LR•IPV4•24『线路18』 +http://116.128.243.121:85/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路18』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -https://stream1.freetv.fun/hu-nan-du-shi-10.m3u8$LR•IPV4•24『线路19』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7510&tk=23a9aca1f79f$LR•IPV4•24『线路19』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hnds$LR•IPV4•24『线路20』 +https://stream1.freetv.fun/hu-nan-du-shi-13.m3u8$LR•IPV4•24『线路20』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 https://stream1.freetv.fun/hu-nan-du-shi-5.m3u8$LR•IPV4•24『线路21』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -https://stream1.freetv.fun/hu-nan-du-shi-9.m3u8$LR•IPV4•24『线路22』 +http://www.peanutbar.cn:8099/tsfile/live/1002_1.m3u8?key=txiptv$LR•IPV4•24『线路22』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -https://stream1.freetv.fun/hu-nan-du-shi-12.ctv$LR•IPV4•24『线路23』 +https://stream1.freetv.fun/hu-nan-du-shi-6.m3u8$LR•IPV4•24『线路23』 #EXTINF:-1 tvg-id="湖南都市" tvg-name="湖南都市" group-title="湖南",湖南都市 -https://stream1.freetv.fun/hu-nan-du-shi-gao-qing-3.m3u8$LR•IPV4•24『线路24』 +https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNDSMPP360.m3u8$LR•IPV4•24『线路24』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNJSMPP360.m3u8$LR•IPV4•23『线路1』 +http://116.128.242.83:9901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路1』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -https://stream1.freetv.fun/hu-nan-jing-shi-gao-qing-2.m3u8$LR•IPV4•23『线路2』 +http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hnjs$LR•IPV4•23『线路2』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -https://stream1.freetv.fun/hu-nan-jing-shi-12.m3u8$LR•IPV4•23『线路3』 +https://stream1.freetv.fun/hu-nan-jing-shi-10.ctv$LR•IPV4•23『线路3』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -https://stream1.freetv.fun/hu-nan-jing-shi-11.m3u8$LR•IPV4•23『线路4』 +https://stream1.freetv.fun/hu-nan-jing-shi-6.m3u8$LR•IPV4•23『线路4』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 https://stream1.freetv.fun/hu-nan-jing-shi-14.m3u8$LR•IPV4•23『线路5』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -http://116.128.242.83:9901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路6』 +https://stream1.freetv.fun/hu-nan-jing-shi-12.m3u8$LR•IPV4•23『线路6』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0780&tk=abed47f08529$LR•IPV4•23『线路7』 +https://stream1.freetv.fun/hu-nan-jing-shi-gao-qing-2.m3u8$LR•IPV4•23『线路7』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0241&tk=23a9aca1f79f$LR•IPV4•23『线路8』 +https://stream1.freetv.fun/hu-nan-jing-shi-15.ctv$LR•IPV4•23『线路8』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -http://110.53.218.182:9902/tsfile/live/1004_1.m3u8$LR•IPV4•23『线路9』 +https://stream1.freetv.fun/hu-nan-jing-shi-5.m3u8$LR•IPV4•23『线路9』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -https://stream1.freetv.fun/hu-nan-jing-shi-2.m3u8$LR•IPV4•23『线路10』 +https://stream1.freetv.fun/hu-nan-jing-shi-13.m3u8$LR•IPV4•23『线路10』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -https://stream1.freetv.fun/hu-nan-jing-shi-6.m3u8$LR•IPV4•23『线路11』 +https://stream1.freetv.fun/hu-nan-jing-shi-4.m3u8$LR•IPV4•23『线路11』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hnjs$LR•IPV4•23『线路12』 +http://110.53.218.182:9902/tsfile/live/1004_1.m3u8$LR•IPV4•23『线路12』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -http://116.128.243.121:85/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路13』 +https://stream1.freetv.fun/hu-nan-jing-shi-10.m3u8$LR•IPV4•23『线路13』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -https://stream1.freetv.fun/hu-nan-jing-shi-10.m3u8$LR•IPV4•23『线路14』 +https://stream1.freetv.fun/hu-nan-jing-shi-1.m3u8$LR•IPV4•23『线路14』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -https://stream1.freetv.fun/hu-nan-jing-shi-13.m3u8$LR•IPV4•23『线路15』 +http://www.peanutbar.cn:8099/tsfile/live/1006_1.m3u8?key=txiptv$LR•IPV4•23『线路15』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -https://stream1.freetv.fun/hu-nan-jing-shi-5.m3u8$LR•IPV4•23『线路16』 +http://116.128.242.83:9901/tsfile/live/0131_1.m3u8$LR•IPV4•23『线路16』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -https://stream1.freetv.fun/hu-nan-jing-shi-9.m3u8$LR•IPV4•23『线路17』 +https://stream1.freetv.fun/hu-nan-jing-shi-2.m3u8$LR•IPV4•23『线路17』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -https://stream1.freetv.fun/hu-nan-jing-shi-15.ctv$LR•IPV4•23『线路18』 +https://stream1.freetv.fun/hu-nan-jing-shi-9.m3u8$LR•IPV4•23『线路18』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -http://www.peanutbar.cn:8099/tsfile/live/1006_1.m3u8?key=txiptv$LR•IPV4•23『线路19』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0780&tk=abed47f08529$LR•IPV4•23『线路19』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -https://stream1.freetv.fun/hu-nan-jing-shi-10.ctv$LR•IPV4•23『线路20』 +http://116.128.243.121:85/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路20』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -https://stream1.freetv.fun/hu-nan-jing-shi-4.m3u8$LR•IPV4•23『线路21』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0241&tk=23a9aca1f79f$LR•IPV4•23『线路21』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -https://stream1.freetv.fun/hu-nan-jing-shi-1.m3u8$LR•IPV4•23『线路22』 +https://stream1.freetv.fun/hu-nan-jing-shi-11.m3u8$LR•IPV4•23『线路22』 #EXTINF:-1 tvg-id="湖南经视" tvg-name="湖南经视" group-title="湖南",湖南经视 -http://116.128.242.83:9901/tsfile/live/0131_1.m3u8$LR•IPV4•23『线路23』 +https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNJSMPP360.m3u8$LR•IPV4•23『线路23』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNDSJMPP360.m3u8$LR•IPV4•22『线路1』 +https://stream1.freetv.fun/hu-nan-dian-shi-ju-14.ctv$LR•IPV4•22『线路1』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -http://175.155.106.72:89/live1/live1.m3u8?zsicd 72.会东新闻$LR•IPV4•22『线路2』 +https://stream1.freetv.fun/hu-nan-dian-shi-ju-15.m3u8$LR•IPV4•22『线路2』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -http://php.jdshipin.com:8880/iptv.php?id=hndsj$LR•IPV4•22『线路3』 +https://stream1.freetv.fun/hu-nan-dian-shi-ju-11.m3u8$LR•IPV4•22『线路3』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -https://stream1.freetv.fun/hu-nan-dian-shi-ju-15.m3u8$LR•IPV4•22『线路4』 +http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hndsj$LR•IPV4•22『线路4』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -https://stream1.freetv.fun/hu-nan-dian-shi-ju-1.m3u8$LR•IPV4•22『线路5』 +http://www.peanutbar.cn:8099/tsfile/live/1004_1.m3u8?key=txiptv$LR•IPV4•22『线路5』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -https://stream1.freetv.fun/hu-nan-dian-shi-ju-3.m3u8$LR•IPV4•22『线路6』 +https://stream1.freetv.fun/hu-nan-dian-shi-ju-10.ctv$LR•IPV4•22『线路6』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -http://www.peanutbar.cn:8099/tsfile/live/1004_1.m3u8?key=txiptv$LR•IPV4•22『线路7』 +https://stream1.freetv.fun/hu-nan-dian-shi-ju-8.m3u8$LR•IPV4•22『线路7』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -https://stream1.freetv.fun/hu-nan-dian-shi-ju-8.m3u8$LR•IPV4•22『线路8』 +https://stream1.freetv.fun/hu-nan-dian-shi-ju-7.m3u8$LR•IPV4•22『线路8』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hndsj$LR•IPV4•22『线路9』 +https://stream1.freetv.fun/hu-nan-dian-shi-ju-3.m3u8$LR•IPV4•22『线路9』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9007&tk=23a9aca1f79f$LR•IPV4•22『线路10』 +https://stream1.freetv.fun/hu-nan-dian-shi-ju-4.m3u8$LR•IPV4•22『线路10』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/HNDSJMPP360.m3u8$LR•IPV4•22『线路11』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9007&tk=23a9aca1f79f$LR•IPV4•22『线路11』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -https://stream1.freetv.fun/hu-nan-dian-shi-ju-5.m3u8$LR•IPV4•22『线路12』 +https://stream1.freetv.fun/hu-nan-dian-shi-ju-9.m3u8$LR•IPV4•22『线路12』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -https://stream1.freetv.fun/hu-nan-dian-shi-ju-4.m3u8$LR•IPV4•22『线路13』 +http://175.155.106.72:89/live1/live1.m3u8?zsicd 72.会东新闻$LR•IPV4•22『线路13』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -https://stream1.freetv.fun/hu-nan-dian-shi-ju-14.ctv$LR•IPV4•22『线路14』 +http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/HNDSJMPP360.m3u8$LR•IPV4•22『线路14』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -https://stream1.freetv.fun/hu-nan-dian-shi-ju-gao-qing-1.m3u8$LR•IPV4•22『线路15』 +https://stream1.freetv.fun/hu-nan-dian-shi-ju-5.m3u8$LR•IPV4•22『线路15』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -https://stream1.freetv.fun/hu-nan-dian-shi-ju-2.m3u8$LR•IPV4•22『线路16』 +https://stream1.freetv.fun/hu-nan-dian-shi-ju-gao-qing-1.m3u8$LR•IPV4•22『线路16』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -https://stream1.freetv.fun/hu-nan-dian-shi-ju-12.m3u8$LR•IPV4•22『线路17』 +https://stream1.freetv.fun/hu-nan-dian-shi-ju-1.m3u8$LR•IPV4•22『线路17』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -https://stream1.freetv.fun/hu-nan-dian-shi-ju-9.m3u8$LR•IPV4•22『线路18』 +https://stream1.freetv.fun/hu-nan-dian-shi-ju-12.m3u8$LR•IPV4•22『线路18』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -https://stream1.freetv.fun/hu-nan-dian-shi-ju-11.m3u8$LR•IPV4•22『线路19』 +http://php.jdshipin.com:8880/iptv.php?id=hndsj$LR•IPV4•22『线路19』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -https://stream1.freetv.fun/hu-nan-dian-shi-ju-7.m3u8$LR•IPV4•22『线路20』 +https://stream1.freetv.fun/hu-nan-dian-shi-ju-6.m3u8$LR•IPV4•22『线路20』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -https://stream1.freetv.fun/hu-nan-dian-shi-ju-10.ctv$LR•IPV4•22『线路21』 +https://stream1.freetv.fun/hu-nan-dian-shi-ju-2.m3u8$LR•IPV4•22『线路21』 #EXTINF:-1 tvg-id="湖南电视剧" tvg-name="湖南电视剧" group-title="湖南",湖南电视剧 -https://stream1.freetv.fun/hu-nan-dian-shi-ju-6.m3u8$LR•IPV4•22『线路22』 +https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNDSJMPP360.m3u8$LR•IPV4•22『线路22』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNDYMPP360.m3u8$LR•IPV4•23『线路1』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3631&tk=23a9aca1f79f$LR•IPV4•23『线路1』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -http://php.jdshipin.com:8880/iptv.php$LR•IPV4•23『线路2』 +https://stream1.freetv.fun/hu-nan-dian-ying-3.m3u8$LR•IPV4•23『线路2』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -http://116.128.242.83:9901/tsfile/live/1009_1.m3u8$LR•IPV4•23『线路3』 +https://stream1.freetv.fun/hu-nan-dian-ying-15.m3u8$LR•IPV4•23『线路3』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -https://stream1.freetv.fun/hu-nan-dian-ying-4.m3u8$LR•IPV4•23『线路4』 +https://stream1.freetv.fun/hu-nan-dian-ying-7.m3u8$LR•IPV4•23『线路4』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -https://stream1.freetv.fun/hu-nan-dian-ying-2.m3u8$LR•IPV4•23『线路5』 +https://stream1.freetv.fun/hu-nan-dian-ying-13.m3u8$LR•IPV4•23『线路5』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -https://stream1.freetv.fun/hu-nan-dian-ying-10.m3u8$LR•IPV4•23『线路6』 +https://stream1.freetv.fun/hu-nan-dian-ying-12.m3u8$LR•IPV4•23『线路6』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3631&tk=23a9aca1f79f$LR•IPV4•23『线路7』 +http://www.peanutbar.cn:8099/tsfile/live/1001_1.m3u8?key=txiptv$LR•IPV4•23『线路7』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -https://stream1.freetv.fun/hu-nan-dian-ying-9.m3u8$LR•IPV4•23『线路8』 +https://stream1.freetv.fun/hu-nan-dian-ying-11.m3u8$LR•IPV4•23『线路8』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -https://stream1.freetv.fun/hu-nan-dian-ying-8.m3u8$LR•IPV4•23『线路9』 +https://stream1.freetv.fun/hu-nan-dian-ying-9.m3u8$LR•IPV4•23『线路9』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -https://stream1.freetv.fun/hu-nan-dian-ying-15.m3u8$LR•IPV4•23『线路10』 +http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/HNDYMPP360.m3u8$LR•IPV4•23『线路10』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -https://stream1.freetv.fun/hu-nan-dian-ying-6.m3u8$LR•IPV4•23『线路11』 +http://116.128.242.83:9901/tsfile/live/1009_1.m3u8$LR•IPV4•23『线路11』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -https://stream1.freetv.fun/hu-nan-dian-ying-5.m3u8$LR•IPV4•23『线路12』 +https://stream1.freetv.fun/hu-nan-dian-ying-17.ctv$LR•IPV4•23『线路12』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -https://stream1.freetv.fun/hu-nan-dian-ying-13.m3u8$LR•IPV4•23『线路13』 +https://stream1.freetv.fun/hu-nan-dian-ying-5.m3u8$LR•IPV4•23『线路13』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -https://stream1.freetv.fun/hu-nan-dian-ying-11.m3u8$LR•IPV4•23『线路14』 +https://stream1.freetv.fun/hu-nan-dian-ying-4.m3u8$LR•IPV4•23『线路14』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -https://stream1.freetv.fun/hu-nan-dian-ying-14.m3u8$LR•IPV4•23『线路15』 +https://stream1.freetv.fun/hu-nan-dian-ying-10.m3u8$LR•IPV4•23『线路15』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -https://stream1.freetv.fun/hu-nan-dian-ying-12.m3u8$LR•IPV4•23『线路16』 +https://stream1.freetv.fun/hu-nan-dian-ying-6.m3u8$LR•IPV4•23『线路16』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -https://stream1.freetv.fun/hu-nan-dian-ying-17.ctv$LR•IPV4•23『线路17』 +https://stream1.freetv.fun/hu-nan-dian-ying-2.ctv$LR•IPV4•23『线路17』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -http://www.peanutbar.cn:8099/tsfile/live/1001_1.m3u8?key=txiptv$LR•IPV4•23『线路18』 +https://stream1.freetv.fun/hu-nan-dian-ying-2.m3u8$LR•IPV4•23『线路18』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -https://stream1.freetv.fun/hu-nan-dian-ying-7.m3u8$LR•IPV4•23『线路19』 +https://stream1.freetv.fun/hu-nan-dian-ying-14.m3u8$LR•IPV4•23『线路19』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -http://218.77.84.102:85/tsfile/live/149/2005_1.m3u8?key=txiptv$LR•IPV4•23『线路20』 +https://stream1.freetv.fun/hu-nan-dian-ying-8.m3u8$LR•IPV4•23『线路20』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -https://stream1.freetv.fun/hu-nan-dian-ying-3.m3u8$LR•IPV4•23『线路21』 +http://218.77.84.102:85/tsfile/live/149/2005_1.m3u8?key=txiptv$LR•IPV4•23『线路21』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -https://stream1.freetv.fun/hu-nan-dian-ying-2.ctv$LR•IPV4•23『线路22』 +http://php.jdshipin.com:8880/iptv.php$LR•IPV4•23『线路22』 #EXTINF:-1 tvg-id="湖南电影" tvg-name="湖南电影" group-title="湖南",湖南电影 -http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/HNDYMPP360.m3u8$LR•IPV4•23『线路23』 +https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNDYMPP360.m3u8$LR•IPV4•23『线路23』 #EXTINF:-1 tvg-id="湖南爱晚" tvg-name="湖南爱晚" group-title="湖南",湖南爱晚 -https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNGGMPP360.m3u8$LR•IPV4•6『线路1』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7644&tk=23a9aca1f79f$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="湖南爱晚" tvg-name="湖南爱晚" group-title="湖南",湖南爱晚 -http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hnaw$LR•IPV4•6『线路2』 +http://php.jdshipin.com:8880/iptv.php?id=hngg$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="湖南爱晚" tvg-name="湖南爱晚" group-title="湖南",湖南爱晚 -http://php.jdshipin.com:8880/iptv.php?id=hngg$LR•IPV4•6『线路3』 +http://www.peanutbar.cn:8099/tsfile/live/1003_1.m3u8?key=txiptv$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="湖南爱晚" tvg-name="湖南爱晚" group-title="湖南",湖南爱晚 -http://www.peanutbar.cn:8099/tsfile/live/1003_1.m3u8?key=txiptv$LR•IPV4•6『线路4』 +http://p2.vzan.com/527645544/149039617847513156/live.m3u8$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="湖南爱晚" tvg-name="湖南爱晚" group-title="湖南",湖南爱晚 -http://p2.vzan.com/527645544/149039617847513156/live.m3u8$LR•IPV4•6『线路5』 +http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hnaw$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="湖南爱晚" tvg-name="湖南爱晚" group-title="湖南",湖南爱晚 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7644&tk=23a9aca1f79f$LR•IPV4•6『线路6』 +https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNGGMPP360.m3u8$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="湖南教育" tvg-name="湖南教育" group-title="湖南",湖南教育 -https://stream1.freetv.fun/hu-nan-jiao-yu-5.m3u8$LR•IPV4•6『线路1』 +https://stream1.freetv.fun/hu-nan-jiao-yu-1.m3u8$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="湖南教育" tvg-name="湖南教育" group-title="湖南",湖南教育 -https://stream1.freetv.fun/hu-nan-jiao-yu-2.m3u8$LR•IPV4•6『线路2』 +https://stream1.freetv.fun/hu-nan-jiao-yu-5.m3u8$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="湖南教育" tvg-name="湖南教育" group-title="湖南",湖南教育 -https://stream1.freetv.fun/hu-nan-jiao-yu-6.ctv$LR•IPV4•6『线路3』 +https://stream1.freetv.fun/hu-nan-jiao-yu-2.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="湖南教育" tvg-name="湖南教育" group-title="湖南",湖南教育 -https://stream1.freetv.fun/hu-nan-jiao-yu-4.m3u8$LR•IPV4•6『线路4』 +http://www.peanutbar.cn:8099/tsfile/live/1008_1.m3u8?key=txiptv$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="湖南教育" tvg-name="湖南教育" group-title="湖南",湖南教育 -https://stream1.freetv.fun/hu-nan-jiao-yu-1.m3u8$LR•IPV4•6『线路5』 +https://stream1.freetv.fun/hu-nan-jiao-yu-4.m3u8$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="湖南教育" tvg-name="湖南教育" group-title="湖南",湖南教育 -http://www.peanutbar.cn:8099/tsfile/live/1008_1.m3u8?key=txiptv$LR•IPV4•6『线路6』 +https://stream1.freetv.fun/hu-nan-jiao-yu-6.ctv$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNYLMPP360.m3u8$LR•IPV4•27『线路1』 +https://stream1.freetv.fun/hu-nan-yu-le-7.m3u8$LR•IPV4•27『线路1』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-3.m3u8$LR•IPV4•27『线路2』 +https://stream1.freetv.fun/hu-nan-yu-le-9.m3u8$LR•IPV4•27『线路2』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-16.ctv$LR•IPV4•27『线路3』 +https://stream1.freetv.fun/hu-nan-yu-le-14.m3u8$LR•IPV4•27『线路3』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-2.m3u8$LR•IPV4•27『线路4』 +http://116.128.242.83:9901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路4』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hnyl$LR•IPV4•27『线路5』 +https://stream1.freetv.fun/hu-nan-yu-le-8.m3u8$LR•IPV4•27『线路5』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-1.m3u8$LR•IPV4•27『线路6』 +https://stream1.freetv.fun/hu-nan-yu-le-9.ctv$LR•IPV4•27『线路6』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-10.m3u8$LR•IPV4•27『线路7』 +https://stream1.freetv.fun/hu-nan-yu-le-6.m3u8$LR•IPV4•27『线路7』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-13.m3u8$LR•IPV4•27『线路8』 +https://stream1.freetv.fun/hu-nan-yu-le-5.m3u8$LR•IPV4•27『线路8』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -http://www.peanutbar.cn:8099/tsfile/live/1000_1.m3u8?key=txiptv$LR•IPV4•27『线路9』 +https://stream1.freetv.fun/hu-nan-yu-le-16.m3u8$LR•IPV4•27『线路9』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -http://116.128.243.121:85/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路10』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6594&tk=23a9aca1f79f$LR•IPV4•27『线路10』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-8.m3u8$LR•IPV4•27『线路11』 +http://jf.jxx2023.work:40446/tsfile/live/1011_1.m3u8?key=txiptv$LR•IPV4•27『线路11』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -http://jf.jxx2023.work:40446/tsfile/live/1011_1.m3u8?key=txiptv$LR•IPV4•27『线路12』 +https://stream1.freetv.fun/hu-nan-yu-le-13.m3u8$LR•IPV4•27『线路12』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-16.m3u8$LR•IPV4•27『线路13』 +https://stream1.freetv.fun/hu-nan-yu-le-4.m3u8$LR•IPV4•27『线路13』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-5.m3u8$LR•IPV4•27『线路14』 +https://stream1.freetv.fun/hu-nan-yu-le-3.m3u8$LR•IPV4•27『线路14』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-9.m3u8$LR•IPV4•27『线路15』 +http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hnyl$LR•IPV4•27『线路15』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-9.ctv$LR•IPV4•27『线路16』 +https://stream1.freetv.fun/hu-nan-yu-le-10.m3u8$LR•IPV4•27『线路16』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6594&tk=23a9aca1f79f$LR•IPV4•27『线路17』 +https://stream1.freetv.fun/hu-nan-yu-le-1.m3u8$LR•IPV4•27『线路17』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-6.m3u8$LR•IPV4•27『线路18』 +https://stream1.freetv.fun/hu-nan-yu-le-16.ctv$LR•IPV4•27『线路18』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -http://116.128.242.83:9901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路19』 +http://www.peanutbar.cn:8099/tsfile/live/1000_1.m3u8?key=txiptv$LR•IPV4•27『线路19』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-gao-qing-1.m3u8$LR•IPV4•27『线路20』 +https://stream1.freetv.fun/hu-nan-yu-le-11.m3u8$LR•IPV4•27『线路20』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-11.m3u8$LR•IPV4•27『线路21』 +https://stream1.freetv.fun/hu-nan-yu-le-12.m3u8$LR•IPV4•27『线路21』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-14.m3u8$LR•IPV4•27『线路22』 +https://stream1.freetv.fun/hu-nan-yu-le-gao-qing-1.m3u8$LR•IPV4•27『线路22』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-7.m3u8$LR•IPV4•27『线路23』 +https://stream1.freetv.fun/hu-nan-yu-le-gao-qing-3.m3u8$LR•IPV4•27『线路23』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-4.m3u8$LR•IPV4•27『线路24』 +http://116.128.243.121:85/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路24』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-gao-qing-3.m3u8$LR•IPV4•27『线路25』 +https://stream1.freetv.fun/hu-nan-yu-le-15.m3u8$LR•IPV4•27『线路25』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-12.m3u8$LR•IPV4•27『线路26』 +https://stream1.freetv.fun/hu-nan-yu-le-2.m3u8$LR•IPV4•27『线路26』 #EXTINF:-1 tvg-id="湖南娱乐" tvg-name="湖南娱乐" group-title="湖南",湖南娱乐 -https://stream1.freetv.fun/hu-nan-yu-le-15.m3u8$LR•IPV4•27『线路27』 +https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNYLMPP360.m3u8$LR•IPV4•27『线路27』 #EXTINF:-1 tvg-id="湖南国际" tvg-name="湖南国际" group-title="湖南",湖南国际 -https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNGJMPP360.m3u8$LR•IPV4•16『线路1』 +https://stream1.freetv.fun/hu-nan-guo-ji-7.m3u8$LR•IPV4•16『线路1』 #EXTINF:-1 tvg-id="湖南国际" tvg-name="湖南国际" group-title="湖南",湖南国际 -http://www.peanutbar.cn:8099/tsfile/live/1007_1.m3u8?key=txiptv$LR•IPV4•16『线路2』 +https://stream1.freetv.fun/hu-nan-guo-ji-3.m3u8$LR•IPV4•16『线路2』 #EXTINF:-1 tvg-id="湖南国际" tvg-name="湖南国际" group-title="湖南",湖南国际 -https://stream1.freetv.fun/hu-nan-guo-ji-1.m3u8$LR•IPV4•16『线路3』 +https://stream1.freetv.fun/hu-nan-guo-ji-2.ctv$LR•IPV4•16『线路3』 #EXTINF:-1 tvg-id="湖南国际" tvg-name="湖南国际" group-title="湖南",湖南国际 -http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/HNGJMPP360.m3u8$LR•IPV4•16『线路4』 +https://stream1.freetv.fun/hu-nan-guo-ji-6.m3u8$LR•IPV4•16『线路4』 #EXTINF:-1 tvg-id="湖南国际" tvg-name="湖南国际" group-title="湖南",湖南国际 -https://stream1.freetv.fun/hu-nan-guo-ji-4.ctv$LR•IPV4•16『线路5』 +https://stream1.freetv.fun/hu-nan-guo-ji-12.m3u8$LR•IPV4•16『线路5』 #EXTINF:-1 tvg-id="湖南国际" tvg-name="湖南国际" group-title="湖南",湖南国际 -https://stream1.freetv.fun/hu-nan-guo-ji-2.m3u8$LR•IPV4•16『线路6』 +https://stream1.freetv.fun/hu-nan-guo-ji-1.m3u8$LR•IPV4•16『线路6』 #EXTINF:-1 tvg-id="湖南国际" tvg-name="湖南国际" group-title="湖南",湖南国际 -https://stream1.freetv.fun/hu-nan-guo-ji-10.m3u8$LR•IPV4•16『线路7』 +https://stream1.freetv.fun/hu-nan-guo-ji-4.ctv$LR•IPV4•16『线路7』 #EXTINF:-1 tvg-id="湖南国际" tvg-name="湖南国际" group-title="湖南",湖南国际 -https://stream1.freetv.fun/hu-nan-guo-ji-13.ctv$LR•IPV4•16『线路8』 +https://stream1.freetv.fun/hu-nan-guo-ji-9.m3u8$LR•IPV4•16『线路8』 #EXTINF:-1 tvg-id="湖南国际" tvg-name="湖南国际" group-title="湖南",湖南国际 -https://stream1.freetv.fun/hu-nan-guo-ji-6.m3u8$LR•IPV4•16『线路9』 +https://stream1.freetv.fun/hu-nan-guo-ji-2.m3u8$LR•IPV4•16『线路9』 #EXTINF:-1 tvg-id="湖南国际" tvg-name="湖南国际" group-title="湖南",湖南国际 -https://stream1.freetv.fun/hu-nan-guo-ji-2.ctv$LR•IPV4•16『线路10』 +https://stream1.freetv.fun/hu-nan-guo-ji-10.m3u8$LR•IPV4•16『线路10』 #EXTINF:-1 tvg-id="湖南国际" tvg-name="湖南国际" group-title="湖南",湖南国际 -https://stream1.freetv.fun/hu-nan-guo-ji-12.m3u8$LR•IPV4•16『线路11』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1138&tk=23a9aca1f79f$LR•IPV4•16『线路11』 #EXTINF:-1 tvg-id="湖南国际" tvg-name="湖南国际" group-title="湖南",湖南国际 -https://stream1.freetv.fun/hu-nan-guo-ji-3.m3u8$LR•IPV4•16『线路12』 +https://stream1.freetv.fun/hu-nan-guo-ji-4.m3u8$LR•IPV4•16『线路12』 #EXTINF:-1 tvg-id="湖南国际" tvg-name="湖南国际" group-title="湖南",湖南国际 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1138&tk=23a9aca1f79f$LR•IPV4•16『线路13』 +http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/HNGJMPP360.m3u8$LR•IPV4•16『线路13』 #EXTINF:-1 tvg-id="湖南国际" tvg-name="湖南国际" group-title="湖南",湖南国际 -https://stream1.freetv.fun/hu-nan-guo-ji-4.m3u8$LR•IPV4•16『线路14』 +http://www.peanutbar.cn:8099/tsfile/live/1007_1.m3u8?key=txiptv$LR•IPV4•16『线路14』 #EXTINF:-1 tvg-id="湖南国际" tvg-name="湖南国际" group-title="湖南",湖南国际 -https://stream1.freetv.fun/hu-nan-guo-ji-7.m3u8$LR•IPV4•16『线路15』 +https://stream1.freetv.fun/hu-nan-guo-ji-13.ctv$LR•IPV4•16『线路15』 #EXTINF:-1 tvg-id="湖南国际" tvg-name="湖南国际" group-title="湖南",湖南国际 -https://stream1.freetv.fun/hu-nan-guo-ji-9.m3u8$LR•IPV4•16『线路16』 +https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNGJMPP360.m3u8$LR•IPV4•16『线路16』 #EXTINF:-1 tvg-id="湖南公共" tvg-name="湖南公共" group-title="湖南",湖南公共 -https://stream1.freetv.fun/hu-nan-gong-gong-3.m3u8$LR•IPV4•12『线路1』 +https://stream1.freetv.fun/hu-nan-gong-gong-1.m3u8$LR•IPV4•12『线路1』 #EXTINF:-1 tvg-id="湖南公共" tvg-name="湖南公共" group-title="湖南",湖南公共 -http://116.128.242.83:9901/tsfile/live/0117_1.m3u8$LR•IPV4•12『线路2』 +https://stream1.freetv.fun/hu-nan-gong-gong-7.m3u8$LR•IPV4•12『线路2』 #EXTINF:-1 tvg-id="湖南公共" tvg-name="湖南公共" group-title="湖南",湖南公共 https://stream1.freetv.fun/hu-nan-gong-gong-2.m3u8$LR•IPV4•12『线路3』 #EXTINF:-1 tvg-id="湖南公共" tvg-name="湖南公共" group-title="湖南",湖南公共 -https://stream1.freetv.fun/hu-nan-gong-gong-1.m3u8$LR•IPV4•12『线路4』 +https://stream1.freetv.fun/hu-nan-gong-gong-6.m3u8$LR•IPV4•12『线路4』 #EXTINF:-1 tvg-id="湖南公共" tvg-name="湖南公共" group-title="湖南",湖南公共 -https://stream1.freetv.fun/hu-nan-gong-gong-7.m3u8$LR•IPV4•12『线路5』 +https://stream1.freetv.fun/hu-nan-gong-gong-4.m3u8$LR•IPV4•12『线路5』 #EXTINF:-1 tvg-id="湖南公共" tvg-name="湖南公共" group-title="湖南",湖南公共 -http://116.128.242.83:9901/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•12『线路6』 +http://116.128.242.83:9901/tsfile/live/0117_1.m3u8$LR•IPV4•12『线路6』 #EXTINF:-1 tvg-id="湖南公共" tvg-name="湖南公共" group-title="湖南",湖南公共 https://stream1.freetv.fun/hu-nan-gong-gong-gao-qing-1.m3u8$LR•IPV4•12『线路7』 #EXTINF:-1 tvg-id="湖南公共" tvg-name="湖南公共" group-title="湖南",湖南公共 -https://stream1.freetv.fun/hu-nan-gong-gong-4.m3u8$LR•IPV4•12『线路8』 +https://stream1.freetv.fun/hu-nan-gong-gong-2.ctv$LR•IPV4•12『线路8』 #EXTINF:-1 tvg-id="湖南公共" tvg-name="湖南公共" group-title="湖南",湖南公共 -https://stream1.freetv.fun/hu-nan-gong-gong-7.ctv$LR•IPV4•12『线路9』 +https://stream1.freetv.fun/hu-nan-gong-gong-5.ctv$LR•IPV4•12『线路9』 #EXTINF:-1 tvg-id="湖南公共" tvg-name="湖南公共" group-title="湖南",湖南公共 -https://stream1.freetv.fun/hu-nan-gong-gong-6.m3u8$LR•IPV4•12『线路10』 +https://stream1.freetv.fun/hu-nan-gong-gong-3.m3u8$LR•IPV4•12『线路10』 #EXTINF:-1 tvg-id="湖南公共" tvg-name="湖南公共" group-title="湖南",湖南公共 -https://stream1.freetv.fun/hu-nan-gong-gong-2.ctv$LR•IPV4•12『线路11』 +https://stream1.freetv.fun/hu-nan-gong-gong-7.ctv$LR•IPV4•12『线路11』 #EXTINF:-1 tvg-id="湖南公共" tvg-name="湖南公共" group-title="湖南",湖南公共 -https://stream1.freetv.fun/hu-nan-gong-gong-5.ctv$LR•IPV4•12『线路12』 +http://116.128.242.83:9901/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•12『线路12』 #EXTINF:-1 tvg-id="长沙新闻综合" tvg-name="长沙新闻综合" group-title="湖南",长沙新闻综合 -http://ls.qingting.fm/live/4877.m3u8$LR•IPV4•2『线路1』 +http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/CSXWMPP360.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="长沙新闻综合" tvg-name="长沙新闻综合" group-title="湖南",长沙新闻综合 -http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/CSXWMPP360.m3u8$LR•IPV4•2『线路2』 +http://ls.qingting.fm/live/4877.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="长沙新闻" tvg-name="长沙新闻" group-title="湖南",长沙新闻 -https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/CSXWMPP360.m3u8$LR•IPV4•2『线路1』 +http://35848.hlsplay.aodianyun.com/guangdianyun_35848/tv_channel_346.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="长沙新闻" tvg-name="长沙新闻" group-title="湖南",长沙新闻 -http://35848.hlsplay.aodianyun.com/guangdianyun_35848/tv_channel_346.m3u8$LR•IPV4•2『线路2』 +https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/CSXWMPP360.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="长沙政法" tvg-name="长沙政法" group-title="湖南",长沙政法 -https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/CSZFMPP360.m3u8$LR•IPV4•3『线路1』 +http://35848.hlsplay.aodianyun.com/guangdianyun_35848/tv_channel_348.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="长沙政法" tvg-name="长沙政法" group-title="湖南",长沙政法 http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/CSZFMPP360.m3u8$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="长沙政法" tvg-name="长沙政法" group-title="湖南",长沙政法 -http://35848.hlsplay.aodianyun.com/guangdianyun_35848/tv_channel_348.m3u8$LR•IPV4•3『线路3』 +https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/CSZFMPP360.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="长沙女性" tvg-name="长沙女性" group-title="湖南",长沙女性 http://35848.hlsplay.aodianyun.com/guangdianyun_35848/tv_channel_349.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="衡阳新闻综合" tvg-name="衡阳新闻综合" group-title="湖南",衡阳新闻综合 @@ -4946,353 +4958,353 @@ https://liveplay-srs.voc.com.cn/hls/tv/183_554704.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="湖北综合" tvg-name="湖北综合" group-title="湖北",湖北综合 http://58.19.133.144:9901$LR•IPV4•15『线路1』 #EXTINF:-1 tvg-id="湖北综合" tvg-name="湖北综合" group-title="湖北",湖北综合 -https://stream1.freetv.fun/hu-bei-zong-he-8.m3u8$LR•IPV4•15『线路2』 +https://stream1.freetv.fun/hu-bei-zong-he-11.ctv$LR•IPV4•15『线路2』 #EXTINF:-1 tvg-id="湖北综合" tvg-name="湖北综合" group-title="湖北",湖北综合 -https://stream1.freetv.fun/hu-bei-zong-he-7.m3u8$LR•IPV4•15『线路3』 +https://stream1.freetv.fun/hu-bei-zong-he-9.m3u8$LR•IPV4•15『线路3』 #EXTINF:-1 tvg-id="湖北综合" tvg-name="湖北综合" group-title="湖北",湖北综合 -https://stream1.freetv.fun/hu-bei-zong-he-11.ctv$LR•IPV4•15『线路4』 +http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbzh$LR•IPV4•15『线路4』 #EXTINF:-1 tvg-id="湖北综合" tvg-name="湖北综合" group-title="湖北",湖北综合 -https://stream1.freetv.fun/hu-bei-zong-he-10.m3u8$LR•IPV4•15『线路5』 +http://hbqjdb.chinashadt.com:2035/live/1.stream/playlist.m3u8$LR•IPV4•15『线路5』 #EXTINF:-1 tvg-id="湖北综合" tvg-name="湖北综合" group-title="湖北",湖北综合 -https://stream1.freetv.fun/hu-bei-zong-he-2.m3u8$LR•IPV4•15『线路6』 +https://stream1.freetv.fun/hu-bei-zong-he-6.ctv$LR•IPV4•15『线路6』 #EXTINF:-1 tvg-id="湖北综合" tvg-name="湖北综合" group-title="湖北",湖北综合 -https://stream1.freetv.fun/hu-bei-zong-he-3.m3u8$LR•IPV4•15『线路7』 +http://119.36.148.115:59901/tsfile/live/1005_1.m3u8$LR•IPV4•15『线路7』 #EXTINF:-1 tvg-id="湖北综合" tvg-name="湖北综合" group-title="湖北",湖北综合 -http://119.36.148.115:59901/tsfile/live/1005_1.m3u8$LR•IPV4•15『线路8』 +https://stream1.freetv.fun/hu-bei-zong-he-7.m3u8$LR•IPV4•15『线路8』 #EXTINF:-1 tvg-id="湖北综合" tvg-name="湖北综合" group-title="湖北",湖北综合 -https://stream1.freetv.fun/hu-bei-zong-he-4.ctv$LR•IPV4•15『线路9』 +https://stream1.freetv.fun/hu-bei-zong-he-2.m3u8$LR•IPV4•15『线路9』 #EXTINF:-1 tvg-id="湖北综合" tvg-name="湖北综合" group-title="湖北",湖北综合 -http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbzh$LR•IPV4•15『线路10』 +https://stream1.freetv.fun/hu-bei-zong-he-12.m3u8$LR•IPV4•15『线路10』 #EXTINF:-1 tvg-id="湖北综合" tvg-name="湖北综合" group-title="湖北",湖北综合 https://stream1.freetv.fun/hu-bei-zong-he-13.m3u8$LR•IPV4•15『线路11』 #EXTINF:-1 tvg-id="湖北综合" tvg-name="湖北综合" group-title="湖北",湖北综合 -http://hbqjdb.chinashadt.com:2035/live/1.stream/playlist.m3u8$LR•IPV4•15『线路12』 +https://stream1.freetv.fun/hu-bei-zong-he-10.m3u8$LR•IPV4•15『线路12』 #EXTINF:-1 tvg-id="湖北综合" tvg-name="湖北综合" group-title="湖北",湖北综合 -https://stream1.freetv.fun/hu-bei-zong-he-6.ctv$LR•IPV4•15『线路13』 +https://stream1.freetv.fun/hu-bei-zong-he-8.m3u8$LR•IPV4•15『线路13』 #EXTINF:-1 tvg-id="湖北综合" tvg-name="湖北综合" group-title="湖北",湖北综合 -https://stream1.freetv.fun/hu-bei-zong-he-12.m3u8$LR•IPV4•15『线路14』 +https://stream1.freetv.fun/hu-bei-zong-he-4.ctv$LR•IPV4•15『线路14』 #EXTINF:-1 tvg-id="湖北综合" tvg-name="湖北综合" group-title="湖北",湖北综合 -https://stream1.freetv.fun/hu-bei-zong-he-9.m3u8$LR•IPV4•15『线路15』 +https://stream1.freetv.fun/hu-bei-zong-he-3.m3u8$LR•IPV4•15『线路15』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 https://stream1.freetv.fun/hu-bei-jing-shi-19.ctv$LR•IPV4•26『线路1』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -https://stream1.freetv.fun/hu-bei-jing-shi-20.m3u8$LR•IPV4•26『线路2』 +http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbjs$LR•IPV4•26『线路2』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -https://stream1.freetv.fun/hu-bei-jing-shi-23.m3u8$LR•IPV4•26『线路3』 +http://119.36.148.115:59901/tsfile/live/1004_1.m3u8?key=txiptv$LR•IPV4•26『线路3』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -https://stream1.freetv.fun/hu-bei-jing-shi-18.m3u8$LR•IPV4•26『线路4』 +http://113.57.93.165:9900/tsfile/live/1017_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路4』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -https://stream1.freetv.fun/hu-bei-jing-shi-9.m3u8$LR•IPV4•26『线路5』 +https://stream1.freetv.fun/hu-bei-jing-shi-14.m3u8$LR•IPV4•26『线路5』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 https://stream1.freetv.fun/hu-bei-jing-shi-24.m3u8$LR•IPV4•26『线路6』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -https://stream1.freetv.fun/hu-bei-jing-shi-22.m3u8$LR•IPV4•26『线路7』 +http://58.19.43.46:9901/tsfile/live/1017_1.m3u8$LR•IPV4•26『线路7』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -https://stream1.freetv.fun/hu-bei-jing-shi-19.m3u8$LR•IPV4•26『线路8』 +https://stream1.freetv.fun/hu-bei-jing-shi-1.m3u8$LR•IPV4•26『线路8』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -https://stream1.freetv.fun/hu-bei-jing-shi-8.m3u8$LR•IPV4•26『线路9』 +https://stream1.freetv.fun/hu-bei-jing-shi-12.m3u8$LR•IPV4•26『线路9』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -http://183.94.1.118:8801/tsfile/live/1017_1.m3u8$LR•IPV4•26『线路10』 +https://stream1.freetv.fun/hu-bei-jing-shi-20.m3u8$LR•IPV4•26『线路10』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -https://stream1.freetv.fun/hu-bei-jing-shi-3.m3u8$LR•IPV4•26『线路11』 +https://stream1.freetv.fun/hu-bei-jing-shi-22.m3u8$LR•IPV4•26『线路11』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -https://stream1.freetv.fun/hu-bei-jing-shi-7.m3u8$LR•IPV4•26『线路12』 +https://stream1.freetv.fun/hu-bei-jing-shi-6.m3u8$LR•IPV4•26『线路12』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -https://t.freetv.fun/live/hu-bei-jing-shi-1.m3u8$LR•IPV4•26『线路13』 +https://stream1.freetv.fun/hu-bei-jing-shi-9.m3u8$LR•IPV4•26『线路13』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -https://stream1.freetv.fun/hu-bei-jing-shi-10.m3u8$LR•IPV4•26『线路14』 +https://stream1.freetv.fun/hu-bei-jing-shi-2.ctv$LR•IPV4•26『线路14』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -https://stream1.freetv.fun/hu-bei-jing-shi-6.m3u8$LR•IPV4•26『线路15』 +https://stream1.freetv.fun/hu-bei-jing-shi-23.m3u8$LR•IPV4•26『线路15』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -http://113.57.93.165:9900/tsfile/live/1017_1.m3u8$LR•IPV4•26『线路16』 +https://t.freetv.fun/live/hu-bei-jing-shi-1.m3u8$LR•IPV4•26『线路16』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -https://stream1.freetv.fun/hu-bei-jing-shi-14.m3u8$LR•IPV4•26『线路17』 +https://stream1.freetv.fun/hu-bei-jing-shi-10.m3u8$LR•IPV4•26『线路17』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -https://stream1.freetv.fun/hu-bei-jing-shi-2.ctv$LR•IPV4•26『线路18』 +https://stream1.freetv.fun/hu-bei-jing-shi-18.m3u8$LR•IPV4•26『线路18』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -https://stream1.freetv.fun/hu-bei-jing-shi-12.m3u8$LR•IPV4•26『线路19』 +http://183.94.1.118:8801/tsfile/live/1017_1.m3u8$LR•IPV4•26『线路19』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -http://58.19.43.46:9901/tsfile/live/1017_1.m3u8$LR•IPV4•26『线路20』 +https://stream1.freetv.fun/hu-bei-jing-shi-3.m3u8$LR•IPV4•26『线路20』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -http://113.57.93.165:9900/tsfile/live/1017_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路21』 +https://stream1.freetv.fun/hu-bei-jing-shi-8.m3u8$LR•IPV4•26『线路21』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -http://119.36.148.115:59901/tsfile/live/1004_1.m3u8?key=txiptv$LR•IPV4•26『线路22』 +https://stream1.freetv.fun/hu-bei-jing-shi-19.m3u8$LR•IPV4•26『线路22』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbjs$LR•IPV4•26『线路23』 +https://stream1.freetv.fun/hu-bei-jing-shi-13.m3u8$LR•IPV4•26『线路23』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -https://stream1.freetv.fun/hu-bei-jing-shi-1.m3u8$LR•IPV4•26『线路24』 +https://stream1.freetv.fun/hu-bei-jing-shi-7.m3u8$LR•IPV4•26『线路24』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -https://stream1.freetv.fun/hu-bei-jing-shi-13.m3u8$LR•IPV4•26『线路25』 +https://stream1.freetv.fun/hu-bei-jing-shi-11.m3u8$LR•IPV4•26『线路25』 #EXTINF:-1 tvg-id="湖北经视" tvg-name="湖北经视" group-title="湖北",湖北经视 -https://stream1.freetv.fun/hu-bei-jing-shi-11.m3u8$LR•IPV4•26『线路26』 +http://113.57.93.165:9900/tsfile/live/1017_1.m3u8$LR•IPV4•26『线路26』 #EXTINF:-1 tvg-id="湖北公共" tvg-name="湖北公共" group-title="湖北",湖北公共 -https://stream1.freetv.fun/hu-bei-gong-gong-7.m3u8$LR•IPV4•16『线路1』 +https://stream1.freetv.fun/hu-bei-gong-gong-13.m3u8$LR•IPV4•16『线路1』 #EXTINF:-1 tvg-id="湖北公共" tvg-name="湖北公共" group-title="湖北",湖北公共 -https://stream1.freetv.fun/hu-bei-gong-gong-5.m3u8$LR•IPV4•16『线路2』 +https://stream1.freetv.fun/hu-bei-gong-gong-1.m3u8$LR•IPV4•16『线路2』 #EXTINF:-1 tvg-id="湖北公共" tvg-name="湖北公共" group-title="湖北",湖北公共 -https://stream1.freetv.fun/hu-bei-gong-gong-xin-wen-4.m3u8$LR•IPV4•16『线路3』 +https://stream1.freetv.fun/hu-bei-gong-gong-10.m3u8$LR•IPV4•16『线路3』 #EXTINF:-1 tvg-id="湖北公共" tvg-name="湖北公共" group-title="湖北",湖北公共 -https://stream1.freetv.fun/hu-bei-gong-gong-3.m3u8$LR•IPV4•16『线路4』 +https://stream1.freetv.fun/hu-bei-gong-gong-9.m3u8$LR•IPV4•16『线路4』 #EXTINF:-1 tvg-id="湖北公共" tvg-name="湖北公共" group-title="湖北",湖北公共 https://stream1.freetv.fun/hu-bei-gong-gong-12.m3u8$LR•IPV4•16『线路5』 #EXTINF:-1 tvg-id="湖北公共" tvg-name="湖北公共" group-title="湖北",湖北公共 -https://stream1.freetv.fun/hu-bei-gong-gong-4.m3u8$LR•IPV4•16『线路6』 +https://stream1.freetv.fun/hu-bei-gong-gong-7.m3u8$LR•IPV4•16『线路6』 #EXTINF:-1 tvg-id="湖北公共" tvg-name="湖北公共" group-title="湖北",湖北公共 -https://stream1.freetv.fun/hu-bei-gong-gong-5.ctv$LR•IPV4•16『线路7』 +https://stream1.freetv.fun/hu-bei-gong-gong-4.m3u8$LR•IPV4•16『线路7』 #EXTINF:-1 tvg-id="湖北公共" tvg-name="湖北公共" group-title="湖北",湖北公共 -https://stream1.freetv.fun/hu-bei-gong-gong-xin-wen-2.m3u8$LR•IPV4•16『线路8』 +https://stream1.freetv.fun/hu-bei-gong-gong-2.m3u8$LR•IPV4•16『线路8』 #EXTINF:-1 tvg-id="湖北公共" tvg-name="湖北公共" group-title="湖北",湖北公共 -https://stream1.freetv.fun/hu-bei-gong-gong-9.m3u8$LR•IPV4•16『线路9』 +https://stream1.freetv.fun/hu-bei-gong-gong-3.m3u8$LR•IPV4•16『线路9』 #EXTINF:-1 tvg-id="湖北公共" tvg-name="湖北公共" group-title="湖北",湖北公共 -https://stream1.freetv.fun/hu-bei-gong-gong-1.m3u8$LR•IPV4•16『线路10』 +https://stream1.freetv.fun/hu-bei-gong-gong-5.m3u8$LR•IPV4•16『线路10』 #EXTINF:-1 tvg-id="湖北公共" tvg-name="湖北公共" group-title="湖北",湖北公共 -https://stream1.freetv.fun/hu-bei-gong-gong-xin-wen-3.ctv$LR•IPV4•16『线路11』 +https://stream1.freetv.fun/hu-bei-gong-gong-5.ctv$LR•IPV4•16『线路11』 #EXTINF:-1 tvg-id="湖北公共" tvg-name="湖北公共" group-title="湖北",湖北公共 -https://stream1.freetv.fun/hu-bei-gong-gong-13.m3u8$LR•IPV4•16『线路12』 +https://stream1.freetv.fun/hu-bei-gong-gong-xin-wen-3.ctv$LR•IPV4•16『线路12』 #EXTINF:-1 tvg-id="湖北公共" tvg-name="湖北公共" group-title="湖北",湖北公共 -http://119.36.148.115:59901/tsfile/live/1007_1.m3u8$LR•IPV4•16『线路13』 +https://stream1.freetv.fun/hu-bei-gong-gong-xin-wen-4.m3u8$LR•IPV4•16『线路13』 #EXTINF:-1 tvg-id="湖北公共" tvg-name="湖北公共" group-title="湖北",湖北公共 -https://stream1.freetv.fun/hu-bei-gong-gong-10.m3u8$LR•IPV4•16『线路14』 +https://stream1.freetv.fun/hu-bei-gong-gong-xin-wen-2.m3u8$LR•IPV4•16『线路14』 #EXTINF:-1 tvg-id="湖北公共" tvg-name="湖北公共" group-title="湖北",湖北公共 -https://stream1.freetv.fun/hu-bei-gong-gong-2.m3u8$LR•IPV4•16『线路15』 +http://119.36.148.115:59901/tsfile/live/1007_1.m3u8$LR•IPV4•16『线路15』 #EXTINF:-1 tvg-id="湖北公共" tvg-name="湖北公共" group-title="湖北",湖北公共 https://stream1.freetv.fun/hu-bei-gong-gong-11.m3u8$LR•IPV4•16『线路16』 #EXTINF:-1 tvg-id="湖北生活" tvg-name="湖北生活" group-title="湖北",湖北生活 -https://stream1.freetv.fun/hu-bei-sheng-huo-12.m3u8$LR•IPV4•12『线路1』 +https://satellitepull.cnr.cn/live/wx32hubczshgb/playlist.m3u8$LR•IPV4•12『线路1』 #EXTINF:-1 tvg-id="湖北生活" tvg-name="湖北生活" group-title="湖北",湖北生活 -https://stream1.freetv.fun/hu-bei-sheng-huo-3.ctv$LR•IPV4•12『线路2』 +https://stream1.freetv.fun/hu-bei-sheng-huo-2.m3u8$LR•IPV4•12『线路2』 #EXTINF:-1 tvg-id="湖北生活" tvg-name="湖北生活" group-title="湖北",湖北生活 -https://stream1.freetv.fun/hu-bei-sheng-huo-1.m3u8$LR•IPV4•12『线路3』 +https://stream1.freetv.fun/hu-bei-sheng-huo-4.ctv$LR•IPV4•12『线路3』 #EXTINF:-1 tvg-id="湖北生活" tvg-name="湖北生活" group-title="湖北",湖北生活 -https://stream1.freetv.fun/hu-bei-sheng-huo-4.ctv$LR•IPV4•12『线路4』 +https://stream1.freetv.fun/hu-bei-sheng-huo-3.ctv$LR•IPV4•12『线路4』 #EXTINF:-1 tvg-id="湖北生活" tvg-name="湖北生活" group-title="湖北",湖北生活 -https://stream1.freetv.fun/hu-bei-sheng-huo-11.m3u8$LR•IPV4•12『线路5』 +http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbty$LR•IPV4•12『线路5』 #EXTINF:-1 tvg-id="湖北生活" tvg-name="湖北生活" group-title="湖北",湖北生活 -https://satellitepull.cnr.cn/live/wx32hubczshgb/playlist.m3u8$LR•IPV4•12『线路6』 +https://stream1.freetv.fun/hu-bei-sheng-huo-11.m3u8$LR•IPV4•12『线路6』 #EXTINF:-1 tvg-id="湖北生活" tvg-name="湖北生活" group-title="湖北",湖北生活 -https://stream1.freetv.fun/hu-bei-sheng-huo-5.m3u8$LR•IPV4•12『线路7』 +https://stream1.freetv.fun/hu-bei-sheng-huo-12.m3u8$LR•IPV4•12『线路7』 #EXTINF:-1 tvg-id="湖北生活" tvg-name="湖北生活" group-title="湖北",湖北生活 -http://satellitepull.cnr.cn/live/wx32hubczshgb/playlist.m3u8$LR•IPV4•12『线路8』 +https://stream1.freetv.fun/hu-bei-sheng-huo-5.m3u8$LR•IPV4•12『线路8』 #EXTINF:-1 tvg-id="湖北生活" tvg-name="湖北生活" group-title="湖北",湖北生活 -https://stream1.freetv.fun/hu-bei-sheng-huo-2.m3u8$LR•IPV4•12『线路9』 +http://satellitepull.cnr.cn/live/wx32hubczshgb/playlist.m3u8$LR•IPV4•12『线路9』 #EXTINF:-1 tvg-id="湖北生活" tvg-name="湖北生活" group-title="湖北",湖北生活 -http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbty$LR•IPV4•12『线路10』 +https://stream1.freetv.fun/hu-bei-sheng-huo-1.m3u8$LR•IPV4•12『线路10』 #EXTINF:-1 tvg-id="湖北生活" tvg-name="湖北生活" group-title="湖北",湖北生活 -https://t.freetv.fun/live/hu-bei-sheng-huo.m3u8$LR•IPV4•12『线路11』 +https://stream1.freetv.fun/hu-bei-sheng-huo-12.ctv$LR•IPV4•12『线路11』 #EXTINF:-1 tvg-id="湖北生活" tvg-name="湖北生活" group-title="湖北",湖北生活 -https://stream1.freetv.fun/hu-bei-sheng-huo-12.ctv$LR•IPV4•12『线路12』 +https://t.freetv.fun/live/hu-bei-sheng-huo.m3u8$LR•IPV4•12『线路12』 #EXTINF:-1 tvg-id="湖北教育" tvg-name="湖北教育" group-title="湖北",湖北教育 -https://stream1.freetv.fun/hu-bei-jiao-yu-9.m3u8$LR•IPV4•10『线路1』 +https://stream1.freetv.fun/hu-bei-jiao-yu-2.m3u8$LR•IPV4•10『线路1』 #EXTINF:-1 tvg-id="湖北教育" tvg-name="湖北教育" group-title="湖北",湖北教育 -https://stream1.freetv.fun/hu-bei-jiao-yu-4.ctv$LR•IPV4•10『线路2』 +https://stream1.freetv.fun/hu-bei-jiao-yu-8.m3u8$LR•IPV4•10『线路2』 #EXTINF:-1 tvg-id="湖北教育" tvg-name="湖北教育" group-title="湖北",湖北教育 -http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbjy$LR•IPV4•10『线路3』 +https://stream1.freetv.fun/hu-bei-jiao-yu-13.m3u8$LR•IPV4•10『线路3』 #EXTINF:-1 tvg-id="湖北教育" tvg-name="湖北教育" group-title="湖北",湖北教育 -https://stream1.freetv.fun/hu-bei-jiao-yu-13.m3u8$LR•IPV4•10『线路4』 +https://stream1.freetv.fun/hu-bei-jiao-yu-14.m3u8$LR•IPV4•10『线路4』 #EXTINF:-1 tvg-id="湖北教育" tvg-name="湖北教育" group-title="湖北",湖北教育 -https://stream1.freetv.fun/hu-bei-jiao-yu-1.ctv$LR•IPV4•10『线路5』 +https://stream1.freetv.fun/hu-bei-jiao-yu-4.ctv$LR•IPV4•10『线路5』 #EXTINF:-1 tvg-id="湖北教育" tvg-name="湖北教育" group-title="湖北",湖北教育 -https://stream1.freetv.fun/hu-bei-jiao-yu-14.m3u8$LR•IPV4•10『线路6』 +http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbjy$LR•IPV4•10『线路6』 #EXTINF:-1 tvg-id="湖北教育" tvg-name="湖北教育" group-title="湖北",湖北教育 -https://stream1.freetv.fun/hu-bei-jiao-yu-8.m3u8$LR•IPV4•10『线路7』 +https://stream1.freetv.fun/hu-bei-jiao-yu-10.ctv$LR•IPV4•10『线路7』 #EXTINF:-1 tvg-id="湖北教育" tvg-name="湖北教育" group-title="湖北",湖北教育 -https://stream1.freetv.fun/hu-bei-jiao-yu-10.ctv$LR•IPV4•10『线路8』 +https://t.freetv.fun/live/hu-bei-jiao-yu.m3u8$LR•IPV4•10『线路8』 #EXTINF:-1 tvg-id="湖北教育" tvg-name="湖北教育" group-title="湖北",湖北教育 -https://t.freetv.fun/live/hu-bei-jiao-yu.m3u8$LR•IPV4•10『线路9』 +https://stream1.freetv.fun/hu-bei-jiao-yu-9.m3u8$LR•IPV4•10『线路9』 #EXTINF:-1 tvg-id="湖北教育" tvg-name="湖北教育" group-title="湖北",湖北教育 -https://stream1.freetv.fun/hu-bei-jiao-yu-2.m3u8$LR•IPV4•10『线路10』 +https://stream1.freetv.fun/hu-bei-jiao-yu-1.ctv$LR•IPV4•10『线路10』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -https://stream1.freetv.fun/hu-bei-ying-shi-11.m3u8$LR•IPV4•21『线路1』 +https://stream1.freetv.fun/hu-bei-ying-shi-2.m3u8$LR•IPV4•21『线路1』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -https://stream1.freetv.fun/hu-bei-ying-shi-14.m3u8$LR•IPV4•21『线路2』 +https://stream1.freetv.fun/hu-bei-ying-shi-8.m3u8$LR•IPV4•21『线路2』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -https://stream1.freetv.fun/hu-bei-ying-shi-1.m3u8$LR•IPV4•21『线路3』 +https://stream1.freetv.fun/hu-bei-ying-shi-14.m3u8$LR•IPV4•21『线路3』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -https://stream1.freetv.fun/hu-bei-ying-shi-15.m3u8$LR•IPV4•21『线路4』 +https://stream1.freetv.fun/hu-bei-ying-shi-7.m3u8$LR•IPV4•21『线路4』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -https://stream1.freetv.fun/hu-bei-ying-shi-10.m3u8$LR•IPV4•21『线路5』 +https://stream1.freetv.fun/hu-bei-ying-shi-1.m3u8$LR•IPV4•21『线路5』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -https://stream1.freetv.fun/hu-bei-ying-shi-15.ctv$LR•IPV4•21『线路6』 +https://stream1.freetv.fun/hu-bei-ying-shi-5.m3u8$LR•IPV4•21『线路6』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -https://stream1.freetv.fun/hu-bei-ying-shi-12.m3u8$LR•IPV4•21『线路7』 +https://stream1.freetv.fun/hu-bei-ying-shi-15.m3u8$LR•IPV4•21『线路7』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbys$LR•IPV4•21『线路8』 +https://stream1.freetv.fun/hu-bei-ying-shi-15.ctv$LR•IPV4•21『线路8』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -http://113.57.20.158:9901/tsfile/live/1016_1.m3u8$LR•IPV4•21『线路9』 +https://stream1.freetv.fun/hu-bei-ying-shi-13.m3u8$LR•IPV4•21『线路9』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -https://stream1.freetv.fun/hu-bei-ying-shi-16.m3u8$LR•IPV4•21『线路10』 +https://stream1.freetv.fun/hu-bei-ying-shi-10.m3u8$LR•IPV4•21『线路10』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -https://stream1.freetv.fun/hu-bei-ying-shi-4.m3u8$LR•IPV4•21『线路11』 +http://58.19.43.46:9901/tsfile/live/1016_1.m3u8$LR•IPV4•21『线路11』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -https://stream1.freetv.fun/hu-bei-ying-shi-3.m3u8$LR•IPV4•21『线路12』 +https://stream1.freetv.fun/hu-bei-ying-shi-12.m3u8$LR•IPV4•21『线路12』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -https://stream1.freetv.fun/hu-bei-ying-shi-13.m3u8$LR•IPV4•21『线路13』 +http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbys$LR•IPV4•21『线路13』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -http://58.19.43.46:9901/tsfile/live/1016_1.m3u8$LR•IPV4•21『线路14』 +https://stream1.freetv.fun/hu-bei-ying-shi-4.m3u8$LR•IPV4•21『线路14』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -https://stream1.freetv.fun/hu-bei-ying-shi-7.m3u8$LR•IPV4•21『线路15』 +http://113.57.20.158:9901/tsfile/live/1016_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路15』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -https://stream1.freetv.fun/hu-bei-ying-shi-1.ctv$LR•IPV4•21『线路16』 +http://113.57.20.158:9901/tsfile/live/1016_1.m3u8$LR•IPV4•21『线路16』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -https://stream1.freetv.fun/hu-bei-ying-shi-5.m3u8$LR•IPV4•21『线路17』 +https://stream1.freetv.fun/hu-bei-ying-shi-1.ctv$LR•IPV4•21『线路17』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -http://113.57.20.158:9901/tsfile/live/1016_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路18』 +https://stream1.freetv.fun/hu-bei-ying-shi-3.m3u8$LR•IPV4•21『线路18』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -https://stream1.freetv.fun/hu-bei-ying-shi-8.m3u8$LR•IPV4•21『线路19』 +https://stream1.freetv.fun/hu-bei-ying-shi-16.m3u8$LR•IPV4•21『线路19』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -https://stream1.freetv.fun/hu-bei-ying-shi-6.m3u8$LR•IPV4•21『线路20』 +https://stream1.freetv.fun/hu-bei-ying-shi-11.m3u8$LR•IPV4•21『线路20』 #EXTINF:-1 tvg-id="湖北影视" tvg-name="湖北影视" group-title="湖北",湖北影视 -https://stream1.freetv.fun/hu-bei-ying-shi-2.m3u8$LR•IPV4•21『线路21』 +https://stream1.freetv.fun/hu-bei-ying-shi-6.m3u8$LR•IPV4•21『线路21』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-1.m3u8$LR•IPV4•25『线路1』 +https://stream1.freetv.fun/hu-bei-long-shang-6.m3u8$LR•IPV4•25『线路1』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-6.m3u8$LR•IPV4•25『线路2』 +https://stream1.freetv.fun/hu-bei-long-shang-4.m3u8$LR•IPV4•25『线路2』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-12.m3u8$LR•IPV4•25『线路3』 +https://t.freetv.fun/live/hu-bei-long-shang.m3u8$LR•IPV4•25『线路3』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-10.ctv$LR•IPV4•25『线路4』 +https://stream1.freetv.fun/hu-bei-long-shang-8.m3u8$LR•IPV4•25『线路4』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-17.m3u8$LR•IPV4•25『线路5』 +https://stream1.freetv.fun/hu-bei-long-shang-18.m3u8$LR•IPV4•25『线路5』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -http://58.19.43.46:9901/tsfile/live/1015_1.m3u8$LR•IPV4•25『线路6』 +https://stream1.freetv.fun/hu-bei-long-shang-10.m3u8$LR•IPV4•25『线路6』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-3.m3u8$LR•IPV4•25『线路7』 +https://stream1.freetv.fun/hu-bei-long-shang-16.m3u8$LR•IPV4•25『线路7』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -http://119.36.148.115:59901/tsfile/live/1006_1.m3u8$LR•IPV4•25『线路8』 +https://stream1.freetv.fun/hu-bei-long-shang-15.m3u8$LR•IPV4•25『线路8』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbls$LR•IPV4•25『线路9』 +http://113.57.20.158:9901/tsfile/live/1015_1.m3u8$LR•IPV4•25『线路9』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-15.m3u8$LR•IPV4•25『线路10』 +https://stream1.freetv.fun/hu-bei-long-shang-12.m3u8$LR•IPV4•25『线路10』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-14.m3u8$LR•IPV4•25『线路11』 +http://119.36.148.115:59901/tsfile/live/1006_1.m3u8$LR•IPV4•25『线路11』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-7.m3u8$LR•IPV4•25『线路12』 +https://stream1.freetv.fun/hu-bei-long-shang-17.m3u8$LR•IPV4•25『线路12』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-13.ctv$LR•IPV4•25『线路13』 +https://stream1.freetv.fun/hu-bei-long-shang-13.m3u8$LR•IPV4•25『线路13』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-5.m3u8$LR•IPV4•25『线路14』 +https://stream1.freetv.fun/hu-bei-long-shang-11.m3u8$LR•IPV4•25『线路14』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -http://113.57.20.158:9901/tsfile/live/1015_1.m3u8$LR•IPV4•25『线路15』 +https://stream1.freetv.fun/hu-bei-long-shang-1.m3u8$LR•IPV4•25『线路15』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-1.ctv$LR•IPV4•25『线路16』 +http://113.57.20.158:9901/tsfile/live/1015_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•25『线路16』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-18.m3u8$LR•IPV4•25『线路17』 +https://stream1.freetv.fun/hu-bei-long-shang-3.m3u8$LR•IPV4•25『线路17』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-10.m3u8$LR•IPV4•25『线路18』 +http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbls$LR•IPV4•25『线路18』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://t.freetv.fun/live/hu-bei-long-shang.m3u8$LR•IPV4•25『线路19』 +https://stream1.freetv.fun/hu-bei-long-shang-14.m3u8$LR•IPV4•25『线路19』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-16.m3u8$LR•IPV4•25『线路20』 +https://stream1.freetv.fun/hu-bei-long-shang-7.m3u8$LR•IPV4•25『线路20』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-4.m3u8$LR•IPV4•25『线路21』 +https://stream1.freetv.fun/hu-bei-long-shang-5.m3u8$LR•IPV4•25『线路21』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-8.m3u8$LR•IPV4•25『线路22』 +https://stream1.freetv.fun/hu-bei-long-shang-1.ctv$LR•IPV4•25『线路22』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-11.m3u8$LR•IPV4•25『线路23』 +https://stream1.freetv.fun/hu-bei-long-shang-10.ctv$LR•IPV4•25『线路23』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -http://113.57.20.158:9901/tsfile/live/1015_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•25『线路24』 +http://58.19.43.46:9901/tsfile/live/1015_1.m3u8$LR•IPV4•25『线路24』 #EXTINF:-1 tvg-id="湖北垄上" tvg-name="湖北垄上" group-title="湖北",湖北垄上 -https://stream1.freetv.fun/hu-bei-long-shang-13.m3u8$LR•IPV4•25『线路25』 +https://stream1.freetv.fun/hu-bei-long-shang-13.ctv$LR•IPV4•25『线路25』 #EXTINF:-1 tvg-id="十堰新闻" tvg-name="十堰新闻" group-title="湖北",十堰新闻 -https://p8.vzan.com/slowlive/034028687228317362/live.m3u8$LR•IPV4•8『线路1』 +https://stream1.freetv.fun/shi-yan-xin-wen-3.m3u8$LR•IPV4•8『线路1』 #EXTINF:-1 tvg-id="十堰新闻" tvg-name="十堰新闻" group-title="湖北",十堰新闻 -https://p8.vzan.com/slowlive/034028687228317362/live.m3u8?zbid=351104&amp%3Btpid=868100086$LR•IPV4•8『线路2』 +https://stream1.freetv.fun/shi-yan-xin-wen-1.m3u8$LR•IPV4•8『线路2』 #EXTINF:-1 tvg-id="十堰新闻" tvg-name="十堰新闻" group-title="湖北",十堰新闻 -https://p8.vzan.com/slowlive/034028687228317362/live.m3u8?zbid=351104&tpid=868100086$LR•IPV4•8『线路3』 +https://p8.vzan.com/slowlive/034028687228317362/live.m3u8?zbid=351104&amp%3Btpid=868100086$LR•IPV4•8『线路3』 #EXTINF:-1 tvg-id="十堰新闻" tvg-name="十堰新闻" group-title="湖北",十堰新闻 -https://stream1.freetv.fun/shi-yan-xin-wen-4.m3u8$LR•IPV4•8『线路4』 +https://p8.vzan.com/slowlive/034028687228317362/live.m3u8$LR•IPV4•8『线路4』 #EXTINF:-1 tvg-id="十堰新闻" tvg-name="十堰新闻" group-title="湖北",十堰新闻 -http://p8.vzan.com/slowlive/034028687228317362/live.m3u8$LR•IPV4•8『线路5』 +https://stream1.freetv.fun/shi-yan-xin-wen-4.m3u8$LR•IPV4•8『线路5』 #EXTINF:-1 tvg-id="十堰新闻" tvg-name="十堰新闻" group-title="湖北",十堰新闻 -https://stream1.freetv.fun/shi-yan-xin-wen-3.m3u8$LR•IPV4•8『线路6』 +https://stream1.freetv.fun/shi-yan-xin-wen-2.m3u8$LR•IPV4•8『线路6』 #EXTINF:-1 tvg-id="十堰新闻" tvg-name="十堰新闻" group-title="湖北",十堰新闻 -https://stream1.freetv.fun/shi-yan-xin-wen-1.m3u8$LR•IPV4•8『线路7』 +https://p8.vzan.com/slowlive/034028687228317362/live.m3u8?zbid=351104&tpid=868100086$LR•IPV4•8『线路7』 #EXTINF:-1 tvg-id="十堰新闻" tvg-name="十堰新闻" group-title="湖北",十堰新闻 -https://stream1.freetv.fun/shi-yan-xin-wen-2.m3u8$LR•IPV4•8『线路8』 +http://p8.vzan.com/slowlive/034028687228317362/live.m3u8$LR•IPV4•8『线路8』 #EXTINF:-1 tvg-id="荆门新闻综合" tvg-name="荆门新闻综合" group-title="湖北",荆门新闻综合 -http://stream.jmtv.com.cn/xwzh/sd/live.m3u8$LR•IPV4•14『线路1』 +https://stream.jmtv.com.cn/xwzh/playlist.m3u8?_upt=3e28e7271664278691$LR•IPV4•14『线路1』 #EXTINF:-1 tvg-id="荆门新闻综合" tvg-name="荆门新闻综合" group-title="湖北",荆门新闻综合 -https://stream1.freetv.fun/jing-men-xin-wen-zong-he-2.m3u8$LR•IPV4•14『线路2』 +http://stream.jmtv.com.cn/xwzh/sd/live.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•14『线路2』 #EXTINF:-1 tvg-id="荆门新闻综合" tvg-name="荆门新闻综合" group-title="湖北",荆门新闻综合 -https://t.freetv.fun/live/jing-men-xin-wen-zong-he-1-1.m3u8$LR•IPV4•14『线路3』 +http://stream.jmtv.com.cn/xwzh/sd/live.m3u8$LR•IPV4•14『线路3』 #EXTINF:-1 tvg-id="荆门新闻综合" tvg-name="荆门新闻综合" group-title="湖北",荆门新闻综合 -https://stream1.freetv.fun/jing-men-xin-wen-zong-he-3.m3u8$LR•IPV4•14『线路4』 +https://t.freetv.fun/live/jing-men-xin-wen-zong-he-5.m3u8$LR•IPV4•14『线路4』 #EXTINF:-1 tvg-id="荆门新闻综合" tvg-name="荆门新闻综合" group-title="湖北",荆门新闻综合 -https://t.freetv.fun/live/jing-men-xin-wen-zong-he-5.m3u8$LR•IPV4•14『线路5』 +https://t.freetv.fun/live/jing-men-xin-wen-zong-he.m3u8$LR•IPV4•14『线路5』 #EXTINF:-1 tvg-id="荆门新闻综合" tvg-name="荆门新闻综合" group-title="湖北",荆门新闻综合 -https://stream1.freetv.fun/jing-men-xin-wen-zong-he-6.m3u8$LR•IPV4•14『线路6』 +https://stream1.freetv.fun/jing-men-xin-wen-zong-he-2.m3u8$LR•IPV4•14『线路6』 #EXTINF:-1 tvg-id="荆门新闻综合" tvg-name="荆门新闻综合" group-title="湖北",荆门新闻综合 -https://t.freetv.fun/live/jing-men-xin-wen-zong-he.m3u8$LR•IPV4•14『线路7』 +https://stream1.freetv.fun/jing-men-xin-wen-zong-he-6.m3u8$LR•IPV4•14『线路7』 #EXTINF:-1 tvg-id="荆门新闻综合" tvg-name="荆门新闻综合" group-title="湖北",荆门新闻综合 -https://stream.jmtv.com.cn/xwzh/playlist.m3u8?_upt=3e28e7271664278691$LR•IPV4•14『线路8』 +https://stream1.freetv.fun/jing-men-xin-wen-zong-he-4.m3u8$LR•IPV4•14『线路8』 #EXTINF:-1 tvg-id="荆门新闻综合" tvg-name="荆门新闻综合" group-title="湖北",荆门新闻综合 -https://stream1.freetv.fun/jing-men-xin-wen-zong-he-1.m3u8$LR•IPV4•14『线路9』 +http://stream.jmtv.com.cn/xwzh/sd/live.m3u8?zhubd$LR•IPV4•14『线路9』 #EXTINF:-1 tvg-id="荆门新闻综合" tvg-name="荆门新闻综合" group-title="湖北",荆门新闻综合 -http://stream.jmtv.com.cn/xwzh/sd/live.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•14『线路10』 +https://stream1.freetv.fun/jing-men-xin-wen-zong-he-3.m3u8$LR•IPV4•14『线路10』 #EXTINF:-1 tvg-id="荆门新闻综合" tvg-name="荆门新闻综合" group-title="湖北",荆门新闻综合 -https://stream1.freetv.fun/jing-men-xin-wen-zong-he-4.m3u8$LR•IPV4•14『线路11』 +https://stream1.freetv.fun/jing-men-xin-wen-zong-he-1.m3u8$LR•IPV4•14『线路11』 #EXTINF:-1 tvg-id="荆门新闻综合" tvg-name="荆门新闻综合" group-title="湖北",荆门新闻综合 -http://stream.jmtv.com.cn/xwzh/sd/live.m3u8?zhubd$LR•IPV4•14『线路12』 +https://t.freetv.fun/live/jing-men-xin-wen-zong-he-2.m3u8$LR•IPV4•14『线路12』 #EXTINF:-1 tvg-id="荆门新闻综合" tvg-name="荆门新闻综合" group-title="湖北",荆门新闻综合 -https://t.freetv.fun/live/jing-men-xin-wen-zong-he-2.m3u8$LR•IPV4•14『线路13』 +https://t.freetv.fun/live/jing-men-xin-wen-zong-he-1-1.m3u8$LR•IPV4•14『线路13』 #EXTINF:-1 tvg-id="荆门新闻综合" tvg-name="荆门新闻综合" group-title="湖北",荆门新闻综合 https://stream1.freetv.fun/jing-men-xin-wen-zong-he-5.m3u8$LR•IPV4•14『线路14』 #EXTINF:-1 tvg-id="武汉一台新闻综合" tvg-name="武汉一台新闻综合" group-title="湖北",武汉一台新闻综合 -https://ls.qingting.fm/live/20198/64k.m3u8$LR•IPV4•9『线路1』 +http://stream.appwuhan.com:80/1tzb/sd/live.m3u8$LR•IPV4•9『线路1』 #EXTINF:-1 tvg-id="武汉一台新闻综合" tvg-name="武汉一台新闻综合" group-title="湖北",武汉一台新闻综合 -https://stream1.freetv.fun/wu-yi-1xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路2』 +https://stream1.freetv.fun/wu-yi-xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路2』 #EXTINF:-1 tvg-id="武汉一台新闻综合" tvg-name="武汉一台新闻综合" group-title="湖北",武汉一台新闻综合 -http://stream.appwuhan.com/1tzb/sd/live.m3u8$LR•IPV4•9『线路3』 +https://ls.qingting.fm/live/20198/64k.m3u8$LR•IPV4•9『线路3』 #EXTINF:-1 tvg-id="武汉一台新闻综合" tvg-name="武汉一台新闻综合" group-title="湖北",武汉一台新闻综合 -https://stream1.freetv.fun/wu-yi-1xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路4』 +https://stream1.freetv.fun/wu-yi-xin-wen-zong-he-7.m3u8$LR•IPV4•9『线路4』 #EXTINF:-1 tvg-id="武汉一台新闻综合" tvg-name="武汉一台新闻综合" group-title="湖北",武汉一台新闻综合 -https://stream1.freetv.fun/wu-yi-xin-wen-zong-he-7.m3u8$LR•IPV4•9『线路5』 +https://stream1.freetv.fun/wu-yi-yi-tai-xin-wen-zong-he-4.m3u8$LR•IPV4•9『线路5』 #EXTINF:-1 tvg-id="武汉一台新闻综合" tvg-name="武汉一台新闻综合" group-title="湖北",武汉一台新闻综合 -https://stream1.freetv.fun/wu-yi-yi-tai-xin-wen-zong-he-4.m3u8$LR•IPV4•9『线路6』 +https://stream1.freetv.fun/wu-yi-1xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路6』 #EXTINF:-1 tvg-id="武汉一台新闻综合" tvg-name="武汉一台新闻综合" group-title="湖北",武汉一台新闻综合 -http://stream.appwuhan.com:80/1tzb/sd/live.m3u8$LR•IPV4•9『线路7』 +https://stream1.freetv.fun/wu-yi-yi-tai-xin-wen-zong-he-5.ctv$LR•IPV4•9『线路7』 #EXTINF:-1 tvg-id="武汉一台新闻综合" tvg-name="武汉一台新闻综合" group-title="湖北",武汉一台新闻综合 -https://stream1.freetv.fun/wu-yi-yi-tai-xin-wen-zong-he-5.ctv$LR•IPV4•9『线路8』 +http://stream.appwuhan.com/1tzb/sd/live.m3u8$LR•IPV4•9『线路8』 #EXTINF:-1 tvg-id="武汉一台新闻综合" tvg-name="武汉一台新闻综合" group-title="湖北",武汉一台新闻综合 -https://stream1.freetv.fun/wu-yi-xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路9』 +https://stream1.freetv.fun/wu-yi-1xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路9』 #EXTINF:-1 tvg-id="武汉二台电视剧" tvg-name="武汉二台电视剧" group-title="湖北",武汉二台电视剧 -https://stream1.freetv.fun/wu-yi-er-tai-dian-shi-ju-3.ctv$LR•IPV4•3『线路1』 +https://stream1.freetv.fun/wu-yi-er-tai-dian-shi-ju-1.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="武汉二台电视剧" tvg-name="武汉二台电视剧" group-title="湖北",武汉二台电视剧 -https://stream1.freetv.fun/wu-yi-2dian-shi-ju-1.m3u8$LR•IPV4•3『线路2』 +https://stream1.freetv.fun/wu-yi-er-tai-dian-shi-ju-3.ctv$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="武汉二台电视剧" tvg-name="武汉二台电视剧" group-title="湖北",武汉二台电视剧 -https://stream1.freetv.fun/wu-yi-er-tai-dian-shi-ju-1.m3u8$LR•IPV4•3『线路3』 +https://stream1.freetv.fun/wu-yi-2dian-shi-ju-1.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="武汉四台经济" tvg-name="武汉四台经济" group-title="湖北",武汉四台经济 -https://stream1.freetv.fun/wu-yi-jing-ji-1.m3u8$LR•IPV4•2『线路1』 +http://stream.appwuhan.com/4tzb/sd/live.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="武汉四台经济" tvg-name="武汉四台经济" group-title="湖北",武汉四台经济 -http://stream.appwuhan.com/4tzb/sd/live.m3u8$LR•IPV4•2『线路2』 +https://stream1.freetv.fun/wu-yi-jing-ji-1.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="武汉教育" tvg-name="武汉教育" group-title="湖北",武汉教育 -https://stream1.freetv.fun/wu-yi-jiao-yu-12.m3u8$LR•IPV4•12『线路1』 +https://stream1.freetv.fun/wu-yi-jiao-yu-4.m3u8$LR•IPV4•12『线路1』 #EXTINF:-1 tvg-id="武汉教育" tvg-name="武汉教育" group-title="湖北",武汉教育 -https://stream1.freetv.fun/wu-yi-jiao-yu-8.m3u8$LR•IPV4•12『线路2』 +https://stream1.freetv.fun/wu-yi-jiao-yu-15.m3u8$LR•IPV4•12『线路2』 #EXTINF:-1 tvg-id="武汉教育" tvg-name="武汉教育" group-title="湖北",武汉教育 -https://stream1.freetv.fun/wu-yi-jiao-yu-17.m3u8$LR•IPV4•12『线路3』 +https://stream1.freetv.fun/wu-yi-jiao-yu-5.m3u8$LR•IPV4•12『线路3』 #EXTINF:-1 tvg-id="武汉教育" tvg-name="武汉教育" group-title="湖北",武汉教育 -https://stream1.freetv.fun/wu-yi-jiao-yu-4.m3u8$LR•IPV4•12『线路4』 +https://stream1.freetv.fun/wu-yi-jiao-yu-13.ctv$LR•IPV4•12『线路4』 #EXTINF:-1 tvg-id="武汉教育" tvg-name="武汉教育" group-title="湖北",武汉教育 -https://stream1.freetv.fun/wu-yi-jiao-yu-18.m3u8$LR•IPV4•12『线路5』 +http://stream.appwuhan.com:80/jyzb/sd/live.m3u8$LR•IPV4•12『线路5』 #EXTINF:-1 tvg-id="武汉教育" tvg-name="武汉教育" group-title="湖北",武汉教育 -https://stream1.freetv.fun/wu-yi-jiao-yu-7.m3u8$LR•IPV4•12『线路6』 +https://stream1.freetv.fun/wu-yi-jiao-yu-18.m3u8$LR•IPV4•12『线路6』 #EXTINF:-1 tvg-id="武汉教育" tvg-name="武汉教育" group-title="湖北",武汉教育 -https://stream1.freetv.fun/wu-yi-jiao-yu-5.m3u8$LR•IPV4•12『线路7』 +https://stream1.freetv.fun/wu-yi-jiao-yu-6.m3u8$LR•IPV4•12『线路7』 #EXTINF:-1 tvg-id="武汉教育" tvg-name="武汉教育" group-title="湖北",武汉教育 -https://stream1.freetv.fun/wu-yi-jiao-yu-6.m3u8$LR•IPV4•12『线路8』 +https://stream1.freetv.fun/wu-yi-jiao-yu-8.m3u8$LR•IPV4•12『线路8』 #EXTINF:-1 tvg-id="武汉教育" tvg-name="武汉教育" group-title="湖北",武汉教育 -https://stream1.freetv.fun/wu-yi-jiao-yu-1.m3u8$LR•IPV4•12『线路9』 +https://stream1.freetv.fun/wu-yi-jiao-yu-12.m3u8$LR•IPV4•12『线路9』 #EXTINF:-1 tvg-id="武汉教育" tvg-name="武汉教育" group-title="湖北",武汉教育 -http://stream.appwuhan.com:80/jyzb/sd/live.m3u8$LR•IPV4•12『线路10』 +https://stream1.freetv.fun/wu-yi-jiao-yu-1.m3u8$LR•IPV4•12『线路10』 #EXTINF:-1 tvg-id="武汉教育" tvg-name="武汉教育" group-title="湖北",武汉教育 -https://stream1.freetv.fun/wu-yi-jiao-yu-13.ctv$LR•IPV4•12『线路11』 +https://stream1.freetv.fun/wu-yi-jiao-yu-7.m3u8$LR•IPV4•12『线路11』 #EXTINF:-1 tvg-id="武汉教育" tvg-name="武汉教育" group-title="湖北",武汉教育 -https://stream1.freetv.fun/wu-yi-jiao-yu-15.m3u8$LR•IPV4•12『线路12』 +https://stream1.freetv.fun/wu-yi-jiao-yu-17.m3u8$LR•IPV4•12『线路12』 #EXTINF:-1 tvg-id="江夏新闻综合" tvg-name="江夏新闻综合" group-title="湖北",江夏新闻综合 -http://59.175.226.142:280/gb28181/xwzh.m3u8?zhubd$LR•IPV4•2『线路1』 +http://59.175.226.142:280/gb28181/xwzh.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="江夏新闻综合" tvg-name="江夏新闻综合" group-title="湖北",江夏新闻综合 -http://59.175.226.142:280/gb28181/xwzh.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•2『线路2』 +http://59.175.226.142:280/gb28181/xwzh.m3u8?zhubd$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="甘肃公共" tvg-name="甘肃公共" group-title="甘肃",甘肃公共 https://hls.gstv.com.cn/49048r/3t5xyc.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="辽宁北方" tvg-name="辽宁北方" group-title="辽宁",辽宁北方 @@ -5308,1077 +5320,1065 @@ http://dassby.qqff.top:99/live/辽宁经济/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="辽宁都市" tvg-name="辽宁都市" group-title="辽宁",辽宁都市 http://120.76.248.139/live/bfgd/4200000610.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="辽宁体育" tvg-name="辽宁体育" group-title="辽宁",辽宁体育 -https://stream1.freetv.fun/liao-zhu-ti-yu-3.m3u8$LR•IPV4•3『线路1』 +http://120.76.248.139/live/bfgd/4200000611.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="辽宁体育" tvg-name="辽宁体育" group-title="辽宁",辽宁体育 -http://dassby.qqff.top:99/live/辽宁体育/index.m3u8$LR•IPV4•3『线路2』 +https://stream1.freetv.fun/liao-zhu-ti-yu-3.m3u8$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="辽宁体育" tvg-name="辽宁体育" group-title="辽宁",辽宁体育 -http://120.76.248.139/live/bfgd/4200000611.m3u8$LR•IPV4•3『线路3』 +http://dassby.qqff.top:99/live/辽宁体育/index.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="朝阳新闻综合" tvg-name="朝阳新闻综合" group-title="辽宁",朝阳新闻综合 http://120.76.248.139/live/bfgd/4200000282.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=stxwzh$LR•IPV4•24『线路1』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8978&tk=a0c4f6cfaba3$LR•IPV4•24『线路1』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -https://stream1.freetv.fun/shan-tou-zong-he-9.ctv$LR•IPV4•24『线路2』 +https://stream1.freetv.fun/shan-tou-zong-he-14.ctv$LR•IPV4•24『线路2』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -https://stream1.freetv.fun/shan-tou-zong-he-4.ctv$LR•IPV4•24『线路3』 +https://hls-gateway.vpstv.net/streams/708829.m3u8$LR•IPV4•24『线路3』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=T0lY0G&tk=zUr4K92Dl6kh$LR•IPV4•24『线路4』 +http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=stxwzh$LR•IPV4•24『线路4』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -http://125.89.163.44:8888/udp/239.77.1.130:5146$LR•IPV4•24『线路5』 +https://stream1.freetv.fun/shan-tou-zong-he-7.ctv$LR•IPV4•24『线路5』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7310&tk=a0c4f6cfaba3$LR•IPV4•24『线路6』 +http://125.89.163.44:8888/udp/239.77.1.130:5146$LR•IPV4•24『线路6』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -https://stream1.freetv.fun/shan-tou-zong-he-6.ctv$LR•IPV4•24『线路7』 +https://stream1.freetv.fun/shan-tou-zong-he-18.ctv$LR•IPV4•24『线路7』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -https://stream1.freetv.fun/shan-tou-zong-he-15.ctv$LR•IPV4•24『线路8』 +https://stream1.freetv.fun/shan-tou-zong-he-17.ctv$LR•IPV4•24『线路8』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -https://hls-gateway.vpstv.net/streams/708829.m3u8$LR•IPV4•24『线路9』 +https://stream1.freetv.fun/shan-tou-zong-he-4.ctv$LR•IPV4•24『线路9』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -https://stream1.freetv.fun/shan-tou-zong-he-7.ctv$LR•IPV4•24『线路10』 +http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=T0lY0G&tk=zUr4K92Dl6kh$LR•IPV4•24『线路10』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -https://stream1.freetv.fun/shan-tou-zong-he-18.ctv$LR•IPV4•24『线路11』 +https://stream1.freetv.fun/shan-tou-zong-he-3.ctv$LR•IPV4•24『线路11』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -https://stream1.freetv.fun/shan-tou-zong-he-12.ctv$LR•IPV4•24『线路12』 +https://stream1.freetv.fun/shan-tou-zong-he-1.ctv$LR•IPV4•24『线路12』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -https://stream1.freetv.fun/shan-tou-zong-he-14.ctv$LR•IPV4•24『线路13』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7310&tk=a0c4f6cfaba3$LR•IPV4•24『线路13』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -https://stream1.freetv.fun/shan-tou-zong-he-3.ctv$LR•IPV4•24『线路14』 +https://stream1.freetv.fun/shan-tou-zong-he-9.ctv$LR•IPV4•24『线路14』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -https://stream1.freetv.fun/shan-tou-zong-he-5.ctv$LR•IPV4•24『线路15』 +https://stream1.freetv.fun/shan-tou-zong-he-12.ctv$LR•IPV4•24『线路15』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -https://stream1.freetv.fun/shan-tou-zong-he-1.ctv$LR•IPV4•24『线路16』 +https://stream1.freetv.fun/shan-tou-zong-he-6.ctv$LR•IPV4•24『线路16』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -https://stream1.freetv.fun/shan-tou-zong-he-8.ctv$LR•IPV4•24『线路17』 +https://stream1.freetv.fun/shan-tou-zong-he-13.ctv$LR•IPV4•24『线路17』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 http://120.77.205.62:8087/rtp/239.253.43.30:5146$LR•IPV4•24『线路18』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 https://stream1.freetv.fun/shan-tou-zong-he-10.ctv$LR•IPV4•24『线路19』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -https://stream1.freetv.fun/shan-tou-zong-he-17.ctv$LR•IPV4•24『线路20』 +https://stream1.freetv.fun/shan-tou-zong-he-2.ctv$LR•IPV4•24『线路20』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -https://stream1.freetv.fun/shan-tou-zong-he-2.ctv$LR•IPV4•24『线路21』 +https://stream1.freetv.fun/shan-tou-zong-he-5.ctv$LR•IPV4•24『线路21』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -https://stream1.freetv.fun/shan-tou-zong-he-13.ctv$LR•IPV4•24『线路22』 +https://stream1.freetv.fun/shan-tou-zong-he-8.ctv$LR•IPV4•24『线路22』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 https://stream1.freetv.fun/shan-tou-zong-he-11.ctv$LR•IPV4•24『线路23』 #EXTINF:-1 tvg-id="汕头新闻综合" tvg-name="汕头新闻综合" group-title="广东",汕头新闻综合 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8978&tk=a0c4f6cfaba3$LR•IPV4•24『线路24』 +https://stream1.freetv.fun/shan-tou-zong-he-15.ctv$LR•IPV4•24『线路24』 #EXTINF:-1 tvg-id="汕头经济生活" tvg-name="汕头经济生活" group-title="广东",汕头经济生活 https://stream1.freetv.fun/shan-tou-jing-ji-2.ctv$LR•IPV4•11『线路1』 #EXTINF:-1 tvg-id="汕头经济生活" tvg-name="汕头经济生活" group-title="广东",汕头经济生活 -https://stream1.freetv.fun/shan-tou-jing-ji-3.ctv$LR•IPV4•11『线路2』 +https://stream1.freetv.fun/shan-tou-jing-ji-4.ctv$LR•IPV4•11『线路2』 #EXTINF:-1 tvg-id="汕头经济生活" tvg-name="汕头经济生活" group-title="广东",汕头经济生活 -https://stream1.freetv.fun/shan-tou-jing-ji-5.ctv$LR•IPV4•11『线路3』 +https://stream1.freetv.fun/shan-tou-jing-ji-6.ctv$LR•IPV4•11『线路3』 #EXTINF:-1 tvg-id="汕头经济生活" tvg-name="汕头经济生活" group-title="广东",汕头经济生活 -http://125.89.163.44:8888/udp/239.77.1.131:5146$LR•IPV4•11『线路4』 +http://120.77.205.62:8087/rtp/239.253.43.43:5146$LR•IPV4•11『线路4』 #EXTINF:-1 tvg-id="汕头经济生活" tvg-name="汕头经济生活" group-title="广东",汕头经济生活 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9512&tk=a0c4f6cfaba3$LR•IPV4•11『线路5』 +https://stream1.freetv.fun/shan-tou-jing-ji-3.ctv$LR•IPV4•11『线路5』 #EXTINF:-1 tvg-id="汕头经济生活" tvg-name="汕头经济生活" group-title="广东",汕头经济生活 -http://120.77.205.62:8087/rtp/239.253.43.43:5146$LR•IPV4•11『线路6』 +https://stream1.freetv.fun/shan-tou-jing-ji-5.ctv$LR•IPV4•11『线路6』 #EXTINF:-1 tvg-id="汕头经济生活" tvg-name="汕头经济生活" group-title="广东",汕头经济生活 -http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=LEsjua&tk=zUr4K92Dl6kh$LR•IPV4•11『线路7』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9512&tk=a0c4f6cfaba3$LR•IPV4•11『线路7』 #EXTINF:-1 tvg-id="汕头经济生活" tvg-name="汕头经济生活" group-title="广东",汕头经济生活 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2962&tk=a0c4f6cfaba3$LR•IPV4•11『线路8』 +http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=LEsjua&tk=zUr4K92Dl6kh$LR•IPV4•11『线路8』 #EXTINF:-1 tvg-id="汕头经济生活" tvg-name="汕头经济生活" group-title="广东",汕头经济生活 https://stream1.freetv.fun/shan-tou-jing-ji-1.ctv$LR•IPV4•11『线路9』 #EXTINF:-1 tvg-id="汕头经济生活" tvg-name="汕头经济生活" group-title="广东",汕头经济生活 -https://stream1.freetv.fun/shan-tou-jing-ji-4.ctv$LR•IPV4•11『线路10』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2962&tk=a0c4f6cfaba3$LR•IPV4•11『线路10』 #EXTINF:-1 tvg-id="汕头经济生活" tvg-name="汕头经济生活" group-title="广东",汕头经济生活 -https://stream1.freetv.fun/shan-tou-jing-ji-6.ctv$LR•IPV4•11『线路11』 +http://125.89.163.44:8888/udp/239.77.1.131:5146$LR•IPV4•11『线路11』 #EXTINF:-1 tvg-id="汕头文旅体育" tvg-name="汕头文旅体育" group-title="广东",汕头文旅体育 http://120.77.205.62:8087/rtp/239.253.43.47:5146$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="汕头文旅体育" tvg-name="汕头文旅体育" group-title="广东",汕头文旅体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5771&tk=a0c4f6cfaba3$LR•IPV4•5『线路2』 +http://125.89.163.44:8888/udp/239.77.1.132:5146$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="汕头文旅体育" tvg-name="汕头文旅体育" group-title="广东",汕头文旅体育 -http://125.89.163.44:8888/udp/239.77.1.132:5146$LR•IPV4•5『线路3』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5771&tk=a0c4f6cfaba3$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="汕头文旅体育" tvg-name="汕头文旅体育" group-title="广东",汕头文旅体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0590&tk=a0c4f6cfaba3$LR•IPV4•5『线路4』 +http://120.77.205.62:8087/rtp/239.253.43.44:5146$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="汕头文旅体育" tvg-name="汕头文旅体育" group-title="广东",汕头文旅体育 -http://120.77.205.62:8087/rtp/239.253.43.44:5146$LR•IPV4•5『线路5』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0590&tk=a0c4f6cfaba3$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://cdn2.163189.xyz/live/gdzj/stream.m3u8$LR•IPV4•123『线路1』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-13.m3u8$LR•IPV4•117『线路1』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-10.m3u8$LR•IPV4•123『线路2』 +http://119.32.12.17:2901/udp/224.1.100.23:11111$LR•IPV4•117『线路2』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-3.m3u8$LR•IPV4•123『线路3』 +http://63.141.230.178:82/gslb/zbdq5.m3u8?id=gdzj$LR•IPV4•117『线路3』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://hls-gateway.vpstv.net/streams/709494.m3u8$LR•IPV4•123『线路4』 +https://hk.188766.xyz/?migutoken=34467290b64f0850801479159893a4de&id=gd_gdzj&type=sz$LR•IPV4•117『线路4』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://bxtv.3a.ink/api.php?id=gdzj$LR•IPV4•123『线路5』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-5.m3u8$LR•IPV4•117『线路5』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://[2409:8087:5e00:24::10]:6060/200000001898/460000089800010091/0.m3u8$LR•IPV6•123『线路6』 +https://hls-gateway.vpstv.net/streams/709494.m3u8$LR•IPV4•117『线路6』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-8.m3u8$LR•IPV4•123『线路7』 +https://live.ximalaya.com/radio-first-page-app/live/252/64.m3u8?transcode=ts$LR•IPV4•117『线路7』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://qjrhc.jydjd.top:2911/udp/224.1.100.23:11111$LR•IPV4•123『线路8』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-28.m3u8$LR•IPV4•117『线路8』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://mgsp-cty2.live.miguvideo.com:8088/migu/kailu/szxwzh/51/20250604/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022410&pid=2028597139×tamp=20260712080241&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=639731952&ParentNodeID=-99&assertID=5910022410&client_ip=171.8.79.254&SecurityKey=20260712080241&promotionId=&mvid=5102012610&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=ecc6d98e7128f8bfd6ff2c373ed01803&sv=10004&ct=android$LR•IPV4•123『线路9』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-2.ctv$LR•IPV4•117『线路9』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-23.m3u8$LR•IPV4•123『线路10』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-25.m3u8$LR•IPV4•117『线路10』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://183.237.95.108:9901/tsfile/live/1030_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•123『线路11』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-8.m3u8$LR•IPV4•117『线路11』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-21.m3u8$LR•IPV4•123『线路12』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-gao-qing-1.m3u8$LR•IPV4•117『线路12』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-9.m3u8$LR•IPV4•123『线路13』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-11.m3u8$LR•IPV4•117『线路13』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-10.php$LR•IPV4•123『线路14』 +http://67.220.71.199:2347/livehttpplay?channel_id=20144$LR•IPV4•117『线路14』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-1.m3u8$LR•IPV4•123『线路15』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-26.m3u8$LR•IPV4•117『线路15』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://hk.188766.xyz/?migutoken=34467290b64f0850801479159893a4de&id=gd_gdzj&type=sz$LR•IPV4•123『线路16』 +http://125.89.163.44:8888/udp/239.77.0.1:5146$LR•IPV4•117『线路16』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-7.m3u8$LR•IPV4•123『线路17』 +http://cdn2.163189.xyz/live/gdzj/stream.m3u8$LR•IPV4•117『线路17』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-gao-qing-1.ctv$LR•IPV4•123『线路18』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-20.m3u8$LR•IPV4•117『线路18』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-12.m3u8$LR•IPV4•123『线路19』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-6.m3u8$LR•IPV4•117『线路19』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://67.220.71.199:2347/livehttpplay?channel_id=20144$LR•IPV4•123『线路20』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.23:11111$LR•IPV4•117『线路20』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-2.m3u8$LR•IPV4•123『线路21』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-18.ctv$LR•IPV4•117『线路21』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2277&tk=e640d0a1bf70$LR•IPV4•123『线路22』 +https://stream1.freetv.fun/5f12b986a77ebe5440c508c13895b3e7f8767b2a47c79f3f5fe948097e15337d.m3u8$LR•IPV4•117『线路22』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6340&tk=f6cc1e0a0e1a$LR•IPV4•123『线路23』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-15.m3u8$LR•IPV4•117『线路23』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/468bff09871ed8a1eba7a539f461001a9683ac2cbb084ef2d52449c7f1a52478.m3u8$LR•IPV4•123『线路24』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2277&tk=e640d0a1bf70$LR•IPV4•117『线路24』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0724&tk=a0c4f6cfaba3$LR•IPV4•123『线路25』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-8.m3u8$LR•IPV4•117『线路25』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-15.m3u8$LR•IPV4•123『线路26』 +http://bxtv.3a.ink/api.php?id=gdzj$LR•IPV4•117『线路26』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://121.11.160.7:9901/tsfile/live/0018_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•123『线路27』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-10.ctv$LR•IPV4•117『线路27』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://120.77.205.62:8087/rtp/239.77.0.1:5146$LR•IPV4•123『线路28』 +https://stream1.freetv.fun/967c330a56e8f2fed10ea053ac29b132d29e323680b5e20a53e3af6bcf7b2f54.m3u8$LR•IPV4•117『线路28』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-24.ctv$LR•IPV4•123『线路29』 +https://hls-gateway.vpstv.net/streams/476221.m3u8$LR•IPV4•117『线路29』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-8.m3u8$LR•IPV4•123『线路30』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.191:11111$LR•IPV4•117『线路30』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://119.32.12.17:2901/udp/224.1.100.23:11111$LR•IPV4•123『线路31』 +https://stream1.freetv.fun/3e6c646d717a824425bca6f4f12c9091cc4725ab1afa8227b24b7a5bc6fcb019.m3u8$LR•IPV4•117『线路31』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang.m3u8$LR•IPV4•123『线路32』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-13.m3u8$LR•IPV4•117『线路32』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://107.150.60.122/live/gdzja.m3u8$LR•IPV4•123『线路33』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-10.php$LR•IPV4•117『线路33』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/5f12b986a77ebe5440c508c13895b3e7f8767b2a47c79f3f5fe948097e15337d.m3u8$LR•IPV4•123『线路34』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-12.ctv$LR•IPV4•117『线路34』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-5.ctv$LR•IPV4•123『线路35』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-4.m3u8$LR•IPV4•117『线路35』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing.m3u8$LR•IPV4•123『线路36』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-14.m3u8$LR•IPV4•117『线路36』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://125.89.163.44:8888/udp/239.77.0.1:5146$LR•IPV4•123『线路37』 +http://218.15.183.23:9901/tsfile/live/23009_1.m3u8$LR•IPV4•117『线路37』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://tv.cdn.com.mp/live/gdzj/stream.m3u8$LR•IPV4•123『线路38』 +http://gmxw.7766.org:808/hls/83/index.m3u8$LR•IPV4•117『线路38』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-13.m3u8$LR•IPV4•123『线路39』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-31.m3u8$LR•IPV4•117『线路39』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/ipv6-yan-dong-zhu-jiang-14.m3u8$LR•IPV4•123『线路40』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-25.ctv$LR•IPV4•117『线路40』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-16.ctv$LR•IPV4•123『线路41』 +http://120.238.94.10:9901/tsfile/live/1009_1.m3u8$LR•IPV4•117『线路41』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-28.m3u8$LR•IPV4•123『线路42』 +http://php.jdshipin.com/TVOD/iptv.php?id=gdzj$LR•IPV4•117『线路42』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-31.m3u8$LR•IPV4•123『线路43』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-2.m3u8$LR•IPV4•117『线路43』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-21.ctv$LR•IPV4•123『线路44』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-4.m3u8$LR•IPV4•117『线路44』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-13.m3u8$LR•IPV4•123『线路45』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-11.ctv$LR•IPV4•117『线路45』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/cd093c8b92ae68affb34b3b0f147bbdac575b4eee76ac0410e85d2777d808b6e.m3u8$LR•IPV4•123『线路46』 +http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=XeKpjn&tk=zUr4K92Dl6kh$LR•IPV4•117『线路46』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-18.ctv$LR•IPV4•123『线路47』 +http://home.wwang.pw:35455/itv/2000000003000000033.m3u8?cdn=hnbblive$LR•IPV4•117『线路47』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://63.141.230.178:82/gslb/zbdq5.m3u8?id=gdzja$LR•IPV4•123『线路48』 +http://1b6467f415.iok.la:9931/tsfile/live/1011_1.m3u8$LR•IPV4•117『线路48』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-20.m3u8$LR•IPV4•123『线路49』 +http://www.xzbn.site:35455/itv/2000000003000000033.m3u8?cdn=hnbblive$LR•IPV4•117『线路49』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-2.m3u8$LR•IPV4•123『线路50』 +http://api.mytv666.top/api/hk.php?id=6162313131666165376133396363636237633834663162366130663635663031267469643d74762669643d39$LR•IPV4•117『线路50』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://live.ximalaya.com/radio-first-page-app/live/252/64.m3u8?transcode=ts$LR•IPV4•123『线路51』 +http://120.77.205.62:8087/rtp/239.77.0.1:5146$LR•IPV4•117『线路51』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/3e6c646d717a824425bca6f4f12c9091cc4725ab1afa8227b24b7a5bc6fcb019.m3u8$LR•IPV4•123『线路52』 +http://121.11.160.7:9901/tsfile/live/0018_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•117『线路52』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-5.m3u8$LR•IPV4•123『线路53』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-3.m3u8$LR•IPV4•117『线路53』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-13.m3u8$LR•IPV4•123『线路54』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1463&tk=a0c4f6cfaba3$LR•IPV4•117『线路54』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6065&tk=a0c4f6cfaba3$LR•IPV4•123『线路55』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-4.m3u8$LR•IPV4•117『线路55』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://home.wwang.pw:35455/itv/2000000003000000033.m3u8?cdn=hnbblive$LR•IPV4•123『线路56』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-5.m3u8$LR•IPV4•117『线路56』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/ipv6-yan-dong-zhu-jiang-8.m3u8$LR•IPV4•123『线路57』 +http://36.105.100.208:35455/itv/2000000003000000033.m3u8?cdn=hnbblive$LR•IPV4•117『线路57』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://lu.wqwqwq.sbs/itv/2000000003000000033.m3u8?cdn=hnbblive$LR•IPV4•123『线路58』 +http://live.xmcdn.com/live/252/64.m3u8$LR•IPV4•117『线路58』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-14.m3u8$LR•IPV4•123『线路59』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-22.ctv$LR•IPV4•117『线路59』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-28.ctv$LR•IPV4•123『线路60』 +http://183.3.134.56:9901/tsfile/live/0019_1.m3u8$LR•IPV4•117『线路60』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-25.ctv$LR•IPV4•123『线路61』 +https://t.freetv.fun/live/yan-dong-zhu-jiang.m3u8$LR•IPV4•117『线路61』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://www.xzbn.site:35455/itv/2000000003000000033.m3u8?cdn=hnbblive$LR•IPV4•123『线路62』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing.m3u8$LR•IPV4•117『线路62』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-18.m3u8$LR•IPV4•123『线路63』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-4.ctv$LR•IPV4•117『线路63』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://218.15.183.23:9901/tsfile/live/23009_1.m3u8$LR•IPV4•123『线路64』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-19.ctv$LR•IPV4•117『线路64』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://php.jdshipin.com/TVOD/iptv.php?id=gdzj$LR•IPV4•123『线路65』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7152&tk=b53028476470$LR•IPV4•117『线路65』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://r.jdshipin.com/sE5vO$LR•IPV4•123『线路66』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6065&tk=a0c4f6cfaba3$LR•IPV4•117『线路66』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-13.ctv$LR•IPV4•123『线路67』 +http://63.141.230.178:82/gslb/zbdq5.m3u8?id=gdzja$LR•IPV4•117『线路67』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-22.ctv$LR•IPV4•123『线路68』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-11.m3u8$LR•IPV4•117『线路68』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://1b6467f415.iok.la:9931/tsfile/live/1011_1.m3u8$LR•IPV4•123『线路69』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-10.m3u8$LR•IPV4•117『线路69』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-19.ctv$LR•IPV4•123『线路70』 +http://107.150.60.122/live/gdzja.m3u8$LR•IPV4•117『线路70』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-2.ctv$LR•IPV4•123『线路71』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-24.ctv$LR•IPV4•117『线路71』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://183.3.134.56:9901/tsfile/live/0019_1.m3u8$LR•IPV4•123『线路72』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-7.m3u8$LR•IPV4•117『线路72』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/943a56c1980ac8d65adeb0603437a8cd8da6241b019e93bba89c37ff050946e5.m3u8$LR•IPV4•123『线路73』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-12.m3u8$LR•IPV4•117『线路73』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-8.m3u8$LR•IPV4•123『线路74』 +https://tv.cdn.com.mp/live/gdzj/stream.m3u8$LR•IPV4•117『线路74』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://live.xmcdn.com/live/252/64.m3u8$LR•IPV4•123『线路75』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-17.m3u8$LR•IPV4•117『线路75』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-16.m3u8$LR•IPV4•123『线路76』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-27.ctv$LR•IPV4•117『线路76』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://api.mytv666.top/api/hk.php?id=6162313131666165376133396363636237633834663162366130663635663031267469643d74762669643d39$LR•IPV4•123『线路77』 +https://stream1.freetv.fun/ipv6-yan-dong-zhu-jiang-14.m3u8$LR•IPV4•117『线路77』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-29.ctv$LR•IPV4•123『线路78』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-21.m3u8$LR•IPV4•117『线路78』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/967c330a56e8f2fed10ea053ac29b132d29e323680b5e20a53e3af6bcf7b2f54.m3u8$LR•IPV4•123『线路79』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-8.m3u8$LR•IPV4•117『线路79』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://119.32.12.32:2901/udp/224.1.100.23:11111$LR•IPV4•123『线路80』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-28.ctv$LR•IPV4•117『线路80』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1463&tk=a0c4f6cfaba3$LR•IPV4•123『线路81』 +http://r.jdshipin.com/sE5vO$LR•IPV4•117『线路81』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-25.m3u8$LR•IPV4•123『线路82』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-13.ctv$LR•IPV4•117『线路82』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-4.m3u8$LR•IPV4•123『线路83』 +http://119.32.12.32:2901/udp/224.1.100.23:11111$LR•IPV4•117『线路83』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://gmxw.7766.org:808/hls/83/index.m3u8$LR•IPV4•123『线路84』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-gao-qing-1.ctv$LR•IPV4•117『线路84』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-5.m3u8$LR•IPV4•123『线路85』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-16.m3u8$LR•IPV4•117『线路85』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-4.m3u8$LR•IPV4•123『线路86』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-5.ctv$LR•IPV4•117『线路86』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://qjrhc.jydjd.top:2911/udp/224.1.100.24:11111$LR•IPV4•123『线路87』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-18.m3u8$LR•IPV4•117『线路87』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-27.ctv$LR•IPV4•123『线路88』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-7.m3u8$LR•IPV4•117『线路88』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://36.105.100.208:35455/itv/2000000003000000033.m3u8?cdn=hnbblive$LR•IPV4•123『线路89』 +http://[2409:8087:5e00:24::10]:6060/200000001898/460000089800010091/0.m3u8$LR•IPV6•117『线路89』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://hls-gateway.vpstv.net/streams/476221.m3u8$LR•IPV4•123『线路90』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6340&tk=f6cc1e0a0e1a$LR•IPV4•117『线路90』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-9.ctv$LR•IPV4•123『线路91』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-12.m3u8$LR•IPV4•117『线路91』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-10.ctv$LR•IPV4•123『线路92』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-21.ctv$LR•IPV4•117『线路92』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-17.ctv$LR•IPV4•123『线路93』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-29.ctv$LR•IPV4•117『线路93』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-1.ctv$LR•IPV4•123『线路94』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-6.m3u8$LR•IPV4•117『线路94』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-12.ctv$LR•IPV4•123『线路95』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-1.ctv$LR•IPV4•117『线路95』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-26.m3u8$LR•IPV4•123『线路96』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0724&tk=a0c4f6cfaba3$LR•IPV4•117『线路96』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-4.m3u8$LR•IPV4•123『线路97』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-7.ctv$LR•IPV4•117『线路97』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://gslbmgsplive.miguvideo.com/migu/kailu/szxwzh/51/20250604/index.m3u8?msisdn=e72bd21eecd5af961580c4491fcf6d02&mdspid=&spid=600697&netType=0&sid=5910022410&pid=2028597139×tamp=20260712052109&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=639731952&ParentNodeID=-99&assertID=5910022410&client_ip=39.103.182.111&SecurityKey=20260712052109&promotionId=&mvid=5102012610&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=efde0e472ee6a22588c97f9b291f19aa&ddCalcu=aeafv9da1elf0a1e9427b29efe769ac28285&sv=10004&ct=android$LR•IPV4•123『线路98』 +http://183.11.239.36:808/hls/83/index.m3u8$LR•IPV4•117『线路98』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7152&tk=b53028476470$LR•IPV4•123『线路99』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-17.ctv$LR•IPV4•117『线路99』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://qjrhc.jydjd.top:2911/udp/224.1.100.191:11111$LR•IPV4•123『线路100』 +http://38.75.136.137:98/gslb/dsdqbv/gdzj.m3u8?auth=test20251009$LR•IPV4•117『线路100』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-5.m3u8$LR•IPV4•123『线路101』 +https://stream1.freetv.fun/943a56c1980ac8d65adeb0603437a8cd8da6241b019e93bba89c37ff050946e5.m3u8$LR•IPV4•117『线路101』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-17.m3u8$LR•IPV4•123『线路102』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-30.m3u8$LR•IPV4•117『线路102』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=XeKpjn&tk=zUr4K92Dl6kh$LR•IPV4•123『线路103』 +http://lu.wqwqwq.sbs/itv/2000000003000000033.m3u8?cdn=hnbblive$LR•IPV4•117『线路103』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-14.m3u8$LR•IPV4•123『线路104』 +https://stream1.freetv.fun/ipv6-yan-dong-zhu-jiang-8.m3u8$LR•IPV4•117『线路104』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://[2409:8087:5e08:24::d]:6610/000000001000/1/2000000003000000033/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000003000000033&yang-1989$LR•IPV6•123『线路105』 +http://198.204.228.26/live/gdzj.m3u8$LR•IPV4•117『线路105』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://63.141.230.178:82/gslb/zbdq5.m3u8?id=gdzj$LR•IPV4•123『线路106』 +https://stream1.freetv.fun/468bff09871ed8a1eba7a539f461001a9683ac2cbb084ef2d52449c7f1a52478.m3u8$LR•IPV4•117『线路106』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-6.m3u8$LR•IPV4•123『线路107』 +http://183.237.95.108:9901/tsfile/live/1030_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•117『线路107』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-gao-qing-1.m3u8$LR•IPV4•123『线路108』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-9.m3u8$LR•IPV4•117『线路108』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://38.75.136.137:98/gslb/dsdqbv/gdzj.m3u8?auth=test20251009$LR•IPV4•123『线路109』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-16.ctv$LR•IPV4•117『线路109』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-11.ctv$LR•IPV4•123『线路110』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-3.m3u8$LR•IPV4•117『线路110』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://120.238.94.10:9901/tsfile/live/1009_1.m3u8$LR•IPV4•123『线路111』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.24:11111$LR•IPV4•117『线路111』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-4.ctv$LR•IPV4•123『线路112』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-23.m3u8$LR•IPV4•117『线路112』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-15.m3u8$LR•IPV4•123『线路113』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-9.ctv$LR•IPV4•117『线路113』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-7.m3u8$LR•IPV4•123『线路114』 +https://stream1.freetv.fun/yan-dong-zhu-jiang-13.m3u8$LR•IPV4•117『线路114』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://183.11.239.36:808/hls/83/index.m3u8$LR•IPV4•123『线路115』 +https://stream1.freetv.fun/cd093c8b92ae68affb34b3b0f147bbdac575b4eee76ac0410e85d2777d808b6e.m3u8$LR•IPV4•117『线路115』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -http://198.204.228.26/live/gdzj.m3u8$LR•IPV4•123『线路116』 +https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-15.m3u8$LR•IPV4•117『线路116』 #EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-11.m3u8$LR•IPV4•123『线路117』 -#EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-30.m3u8$LR•IPV4•123『线路118』 -#EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-6.m3u8$LR•IPV4•123『线路119』 -#EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-3.m3u8$LR•IPV4•123『线路120』 -#EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://stream1.freetv.fun/yan-dong-zhu-jiang-7.ctv$LR•IPV4•123『线路121』 -#EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-11.m3u8$LR•IPV4•123『线路122』 -#EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" group-title="广东",广东珠江 -https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-12.m3u8$LR•IPV4•123『线路123』 +http://mgsp-cty2.live.miguvideo.com:8088/migu/kailu/szxwzh/51/20250604/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022410&pid=2028597139×tamp=20260713080310&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=639731952&ParentNodeID=-99&assertID=5910022410&client_ip=171.8.79.254&SecurityKey=20260713080310&promotionId=&mvid=5102012610&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=809d266f77c3d0ecf0c68dcc45ca51f0&sv=10004&ct=android$LR•IPV4•117『线路117』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6559&tk=a0c4f6cfaba3$LR•IPV4•109『线路1』 +https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-17.m3u8$LR•IPV4•109『线路1』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-2.m3u8$LR•IPV4•109『线路2』 +https://stream1.freetv.fun/yan-dong-ti-yu-26.ctv$LR•IPV4•109『线路2』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 https://stream1.freetv.fun/yan-dong-ti-yu-36.m3u8$LR•IPV4•109『线路3』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-3.php$LR•IPV4•109『线路4』 +https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-12.m3u8$LR•IPV4•109『线路4』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-27.m3u8$LR•IPV4•109『线路5』 +http://67.220.71.199:2347/livehttpplay?channel_id=30031$LR•IPV4•109『线路5』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://67.220.71.199:2347/livehttpplay?channel_id=12028$LR•IPV4•109『线路6』 +https://stream1.freetv.fun/yan-dong-ti-yu-38.ctv$LR•IPV4•109『线路6』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-14.m3u8$LR•IPV4•109『线路7』 +https://stream1.freetv.fun/yan-dong-ti-yu-6.ctv$LR•IPV4•109『线路7』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu.m3u8$LR•IPV4•109『线路8』 +http://116.77.239.26:44300/tsfile/live/0124_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•109『线路8』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-17.ctv$LR•IPV4•109『线路9』 +http://120.198.95.220:9901/tsfile/live/1010_1.m3u8?key=txiptv$LR•IPV4•109『线路9』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://120.198.101.106:9901/tsfile/live/1012_1.m3u8?key=txiptv$LR•IPV4•109『线路10』 +https://stream1.freetv.fun/yan-dong-ti-yu-27.m3u8$LR•IPV4•109『线路10』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://67.220.71.199:2347/livehttpplay?channel_id=20130$LR•IPV4•109『线路11』 +https://stream1.freetv.fun/yan-dong-ti-yu-18.ctv$LR•IPV4•109『线路11』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://120.77.205.62:8087/rtp/239.77.0.168:5146$LR•IPV4•109『线路12』 +https://epg.pw/stream/7b470f9fc5c305db0c8622117b7b25ca00eb35ba3e93e865cf0ff9df5c736681.m3u8$LR•IPV4•109『线路12』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-6.ctv$LR•IPV4•109『线路13』 +http://38.75.136.137:98/gslb/dsdqpub/gdty.m3u8?auth=testpub$LR•IPV4•109『线路13』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://r.jdshipin.com/LiYdg$LR•IPV4•109『线路14』 +https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-11.m3u8$LR•IPV4•109『线路14』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-11.ctv$LR•IPV4•109『线路15』 +http://222.128.55.152:9080/live/gdty.m3u8$LR•IPV4•109『线路15』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-4.m3u8$LR•IPV4•109『线路16』 +http://125.89.163.44:8888/udp/239.77.0.112:5146$LR•IPV4•109『线路16』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-35.ctv$LR•IPV4•109『线路17』 +https://stream1.freetv.fun/yan-dong-ti-yu-21.m3u8$LR•IPV4•109『线路17』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://qjrhc.jydjd.top:2911/udp/224.1.100.34:11111$LR•IPV4•109『线路18』 +https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-5.m3u8$LR•IPV4•109『线路18』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-16.m3u8$LR•IPV4•109『线路19』 +https://stream1.freetv.fun/yan-dong-ti-yu-4.m3u8$LR•IPV4•109『线路19』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://hls-gateway.vpstv.net/streams/476954.m3u8$LR•IPV4•109『线路20』 +https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-10.m3u8$LR•IPV4•109『线路20』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-5.ctv$LR•IPV4•109『线路21』 +https://stream1.freetv.fun/yan-dong-ti-yu-10.ctv$LR•IPV4•109『线路21』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://218.15.214.115:10000/udp/239.77.0.112:5146$LR•IPV4•109『线路22』 +http://120.238.94.82:9901/tsfile/live/1012_1.m3u8$LR•IPV4•109『线路22』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-39.m3u8$LR•IPV4•109『线路23』 +https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-16.m3u8$LR•IPV4•109『线路23』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://php.jdshipin.com/TVOD/iptv.php?id=gdty$LR•IPV4•109『线路24』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.33:11111$LR•IPV4•109『线路24』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://120.77.205.62:8087/rtp/239.77.1.97:5146$LR•IPV4•109『线路25』 +http://120.198.101.106:9901/tsfile/live/1012_1.m3u8?key=txiptv$LR•IPV4•109『线路25』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=t3ucOH&tk=zUr4K92Dl6kh$LR•IPV4•109『线路26』 +https://stream1.freetv.fun/yan-dong-ti-yu-8.ctv$LR•IPV4•109『线路26』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-16.ctv$LR•IPV4•109『线路27』 +https://stream1.freetv.fun/yan-dong-ti-yu-17.ctv$LR•IPV4•109『线路27』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-1.m3u8$LR•IPV4•109『线路28』 +http://php.jdshipin.com/TVOD/iptv.php?id=gdty$LR•IPV4•109『线路28』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-10.ctv$LR•IPV4•109『线路29』 +https://stream1.freetv.fun/yan-dong-ti-yu-25.ctv$LR•IPV4•109『线路29』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://qjrhc.jydjd.top:2911/udp/224.1.100.33:11111$LR•IPV4•109『线路30』 +https://t.freetv.fun/live/yan-dong-ti-yu-1.m3u8$LR•IPV4•109『线路30』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-12.ctv$LR•IPV4•109『线路31』 +https://stream1.freetv.fun/yan-dong-ti-yu-1.m3u8$LR•IPV4•109『线路31』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-21.m3u8$LR•IPV4•109『线路32』 +http://183.3.134.56:9901/tsfile/live/0142_1.m3u8$LR•IPV4•109『线路32』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://120.198.95.220:9901/tsfile/live/1010_1.m3u8?key=txiptv$LR•IPV4•109『线路33』 +https://t.freetv.fun/live/yan-dong-ti-yu-4.m3u8$LR•IPV4•109『线路33』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-7.ctv$LR•IPV4•109『线路34』 +https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-14.m3u8$LR•IPV4•109『线路34』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-5.m3u8$LR•IPV4•109『线路35』 +https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-4.m3u8$LR•IPV4•109『线路35』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-15.m3u8$LR•IPV4•109『线路36』 +https://t.freetv.fun/live/yan-dong-ti-yu-11.m3u8$LR•IPV4•109『线路36』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://tv.cdn.com.mp/live/gdty/stream.m3u8$LR•IPV4•109『线路37』 +https://stream1.freetv.fun/yan-dong-ti-yu-12.ctv$LR•IPV4•109『线路37』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://116.77.239.26:44300/tsfile/live/0124_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•109『线路38』 +http://63.141.230.178:82/gslb/zbdq5.m3u8?id=gdty$LR•IPV4•109『线路38』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-34.ctv$LR•IPV4•109『线路39』 +https://stream1.freetv.fun/yan-dong-ti-yu-30.ctv$LR•IPV4•109『线路39』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://api3.52tb.xyz/info?id=413&token=20221127jxwhhemby$LR•IPV4•109『线路40』 +https://stream1.freetv.fun/yan-dong-ti-yu-5.m3u8$LR•IPV4•109『线路40』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://120.238.94.10:9901/tsfile/live/1012_1.m3u8$LR•IPV4•109『线路41』 +https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-13.m3u8$LR•IPV4•109『线路41』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://api2.52tb.xyz/info?id=414&token=20230218jsyklh$LR•IPV4•109『线路42』 +https://stream1.freetv.fun/yan-dong-ti-yu-23.ctv$LR•IPV4•109『线路42』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-38.ctv$LR•IPV4•109『线路43』 +https://stream1.freetv.fun/yan-dong-ti-yu-26.m3u8$LR•IPV4•109『线路43』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-12.m3u8$LR•IPV4•109『线路44』 +https://stream1.freetv.fun/yan-dong-ti-yu-3.m3u8$LR•IPV4•109『线路44』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-17.m3u8$LR•IPV4•109『线路45』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2030&tk=a0c4f6cfaba3$LR•IPV4•109『线路45』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-3.m3u8$LR•IPV4•109『线路46』 +https://stream1.freetv.fun/yan-dong-ti-yu-2.m3u8$LR•IPV4•109『线路46』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-10.m3u8$LR•IPV4•109『线路47』 +https://stream1.freetv.fun/yan-dong-ti-yu-30.m3u8$LR•IPV4•109『线路47』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-23.ctv$LR•IPV4•109『线路48』 +https://t.freetv.fun/live/yan-dong-ti-yu-15.m3u8$LR•IPV4•109『线路48』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://125.89.163.44:8888/udp/239.77.0.112:5146$LR•IPV4•109『线路49』 +https://stream1.freetv.fun/yan-dong-ti-yu-28.ctv$LR•IPV4•109『线路49』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-33.ctv$LR•IPV4•109『线路50』 +http://api2.52tb.xyz/info?id=414&token=20230218jsyklh$LR•IPV4•109『线路50』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://183.3.134.56:9901/tsfile/live/0142_1.m3u8$LR•IPV4•109『线路51』 +https://t.freetv.fun/live/yan-dong-ti-yu-10.m3u8$LR•IPV4•109『线路51』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-9.m3u8$LR•IPV4•109『线路52』 +https://stream1.freetv.fun/yan-dong-ti-yu-14.ctv$LR•IPV4•109『线路52』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-26.ctv$LR•IPV4•109『线路53』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8718&tk=a0c4f6cfaba3$LR•IPV4•109『线路53』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://api.mytv666.top/api/hk.php?id=3635306561306164626438636438373731346432656366353839663866326232267469643d74762669643d3131$LR•IPV4•109『线路54』 +https://stream1.freetv.fun/yan-dong-ti-yu-33.ctv$LR•IPV4•109『线路54』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-26.m3u8$LR•IPV4•109『线路55』 +http://67.220.71.199:2347/livehttpplay?channel_id=12028$LR•IPV4•109『线路55』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-11.m3u8$LR•IPV4•109『线路56』 +https://stream1.freetv.fun/yan-dong-ti-yu-34.ctv$LR•IPV4•109『线路56』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-16.m3u8$LR•IPV4•109『线路57』 +http://183.11.239.36:808/hls/2/index.m3u8$LR•IPV4•109『线路57』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-14.ctv$LR•IPV4•109『线路58』 +http://api.mytv666.top/api/hk.php?id=3635306561306164626438636438373731346432656366353839663866326232267469643d74762669643d3131$LR•IPV4•109『线路58』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://63.141.230.178:82/gslb/zbdq5.m3u8?id=gdty$LR•IPV4•109『线路59』 +http://218.15.214.115:10000/udp/239.77.0.112:5146$LR•IPV4•109『线路59』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-7.m3u8$LR•IPV4•109『线路60』 +https://stream1.freetv.fun/yan-dong-ti-yu-gao-qing-2.m3u8$LR•IPV4•109『线路60』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-6.m3u8$LR•IPV4•109『线路61』 +http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=t3ucOH&tk=zUr4K92Dl6kh$LR•IPV4•109『线路61』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://cdn2.163189.xyz/live/gdty/stream.m3u8$LR•IPV4•109『线路62』 +http://218.15.183.23:9901/tsfile/live/23012_1.m3u8$LR•IPV4•109『线路62』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-17.m3u8$LR•IPV4•109『线路63』 +http://api2.52tb.xyz/info?id=413&token=20230218qkyjia$LR•IPV4•109『线路63』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-24.m3u8$LR•IPV4•109『线路64』 +http://api3.52tb.xyz/info?id=413&token=20221127jxwhhemby$LR•IPV4•109『线路64』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-11.m3u8$LR•IPV4•109『线路65』 +http://119.32.12.17:2901/udp/224.1.100.34:11111$LR•IPV4•109『线路65』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-4.m3u8$LR•IPV4•109『线路66』 +https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing.m3u8$LR•IPV4•109『线路66』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-4.m3u8$LR•IPV4•109『线路67』 +http://218.13.170.98:9901/tsfile/live/0019_1.m3u8$LR•IPV4•109『线路67』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-8.ctv$LR•IPV4•109『线路68』 +https://stream1.freetv.fun/yan-dong-ti-yu-24.ctv$LR•IPV4•109『线路68』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://218.13.170.98:9901/tsfile/live/0019_1.m3u8$LR•IPV4•109『线路69』 +http://120.77.205.62:8087/rtp/239.77.0.112:5146$LR•IPV4•109『线路69』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://epg.pw/stream/7b470f9fc5c305db0c8622117b7b25ca00eb35ba3e93e865cf0ff9df5c736681.m3u8$LR•IPV4•109『线路70』 +http://120.77.205.62:8087/rtp/239.77.1.97:5146$LR•IPV4•109『线路70』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-5.m3u8$LR•IPV4•109『线路71』 +https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-9.m3u8$LR•IPV4•109『线路71』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-25.ctv$LR•IPV4•109『线路72』 +https://stream1.freetv.fun/yan-dong-ti-yu-16.m3u8$LR•IPV4•109『线路72』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-20.m3u8$LR•IPV4•109『线路73』 +https://tv.cdn.com.mp/live/gdty/stream.m3u8$LR•IPV4•109『线路73』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-30.ctv$LR•IPV4•109『线路74』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6559&tk=a0c4f6cfaba3$LR•IPV4•109『线路74』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://38.75.136.137:98/gslb/dsdqpub/gdty.m3u8?auth=testpub$LR•IPV4•109『线路75』 +https://stream1.freetv.fun/yan-dong-ti-yu-16.ctv$LR•IPV4•109『线路75』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://php.jdshipin.com/PLTV/iptv.php?id=gdty$LR•IPV4•109『线路76』 +http://api2.52tb.xyz/info?id=414&token=20230218qkyjia$LR•IPV4•109『线路76』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-8.m3u8$LR•IPV4•109『线路77』 +http://cdn2.163189.xyz/live/gdty/stream.m3u8$LR•IPV4•109『线路77』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://120.77.205.62:8087/rtp/239.77.0.112:5146$LR•IPV4•109『线路78』 +https://t.freetv.fun/live/yan-dong-ti-yu-5.m3u8$LR•IPV4•109『线路78』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-30.m3u8$LR•IPV4•109『线路79』 +https://stream1.freetv.fun/yan-dong-ti-yu-35.ctv$LR•IPV4•109『线路79』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-13.m3u8$LR•IPV4•109『线路80』 +https://stream1.freetv.fun/yan-dong-ti-yu-24.m3u8$LR•IPV4•109『线路80』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-15.ctv$LR•IPV4•109『线路81』 +https://stream1.freetv.fun/yan-dong-ti-yu-5.ctv$LR•IPV4•109『线路81』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://119.32.12.32:2901/udp/224.1.100.34:11111$LR•IPV4•109『线路82』 +http://120.77.205.62:8087/rtp/239.77.0.168:5146$LR•IPV4•109『线路82』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-19.m3u8$LR•IPV4•109『线路83』 +https://t.freetv.fun/live/yan-dong-ti-yu.m3u8$LR•IPV4•109『线路83』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://api2.52tb.xyz/info?id=413&token=20230218qkyjia$LR•IPV4•109『线路84』 +https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-7.m3u8$LR•IPV4•109『线路84』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8718&tk=a0c4f6cfaba3$LR•IPV4•109『线路85』 +https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-3.m3u8$LR•IPV4•109『线路85』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-18.ctv$LR•IPV4•109『线路86』 +https://stream1.freetv.fun/yan-dong-ti-yu-13.m3u8$LR•IPV4•109『线路86』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-4.ctv$LR•IPV4•109『线路87』 +https://stream1.freetv.fun/yan-dong-ti-yu-15.ctv$LR•IPV4•109『线路87』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://218.15.183.23:9901/tsfile/live/23012_1.m3u8$LR•IPV4•109『线路88』 +https://stream1.freetv.fun/yan-dong-ti-yu-19.m3u8$LR•IPV4•109『线路88』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-5.m3u8$LR•IPV4•109『线路89』 +https://stream1.freetv.fun/yan-dong-ti-yu-39.m3u8$LR•IPV4•109『线路89』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-13.m3u8$LR•IPV4•109『线路90』 +http://php.jdshipin.com/PLTV/iptv.php?id=gdty$LR•IPV4•109『线路90』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://120.238.94.82:9901/tsfile/live/1012_1.m3u8$LR•IPV4•109『线路91』 +http://67.220.71.199:2347/livehttpplay?channel_id=20130$LR•IPV4•109『线路91』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-12.m3u8$LR•IPV4•109『线路92』 +https://stream1.freetv.fun/yan-dong-ti-yu-39.ctv$LR•IPV4•109『线路92』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-10.m3u8$LR•IPV4•109『线路93』 +https://stream1.freetv.fun/yan-dong-ti-yu-7.ctv$LR•IPV4•109『线路93』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-39.ctv$LR•IPV4•109『线路94』 +https://stream1.freetv.fun/yan-dong-ti-yu-11.ctv$LR•IPV4•109『线路94』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-gao-qing-2.m3u8$LR•IPV4•109『线路95』 +http://119.32.12.32:2901/udp/224.1.100.34:11111$LR•IPV4•109『线路95』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://183.11.239.36:808/hls/2/index.m3u8$LR•IPV4•109『线路96』 +http://r.jdshipin.com/LiYdg$LR•IPV4•109『线路96』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-24.ctv$LR•IPV4•109『线路97』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.34:11111$LR•IPV4•109『线路97』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing.m3u8$LR•IPV4•109『线路98』 +https://stream1.freetv.fun/yan-dong-ti-yu-4.ctv$LR•IPV4•109『线路98』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-3.m3u8$LR•IPV4•109『线路99』 +https://stream1.freetv.fun/yan-dong-ti-yu-17.m3u8$LR•IPV4•109『线路99』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://119.32.12.17:2901/udp/224.1.100.34:11111$LR•IPV4•109『线路100』 +https://stream1.freetv.fun/yan-dong-ti-yu-12.m3u8$LR•IPV4•109『线路100』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-28.ctv$LR•IPV4•109『线路101』 +https://t.freetv.fun/live/yan-dong-ti-yu-3.php$LR•IPV4•109『线路101』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 http://183.237.95.108:9901/tsfile/live/1033_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•109『线路102』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2030&tk=a0c4f6cfaba3$LR•IPV4•109『线路103』 +https://hls-gateway.vpstv.net/streams/476954.m3u8$LR•IPV4•109『线路103』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://222.128.55.152:9080/live/gdty.m3u8$LR•IPV4•109『线路104』 +https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-6.m3u8$LR•IPV4•109『线路104』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://api2.52tb.xyz/info?id=414&token=20230218qkyjia$LR•IPV4•109『线路105』 +https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-8.m3u8$LR•IPV4•109『线路105』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://67.220.71.199:2347/livehttpplay?channel_id=30031$LR•IPV4•109『线路106』 +http://120.238.94.10:9901/tsfile/live/1012_1.m3u8$LR•IPV4•109『线路106』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -https://stream1.freetv.fun/yan-dong-ti-yu-1.m3u8$LR•IPV4•109『线路107』 +https://stream1.freetv.fun/yan-dong-ti-yu-20.m3u8$LR•IPV4•109『线路107』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://111.221.137.234:44330/tsfile/live/0124_1.m3u8$LR•IPV4•109『线路108』 +http://bxtv.3a.ink/api.php?id=gdty$LR•IPV4•109『线路108』 #EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" group-title="广东",广东体育 -http://bxtv.3a.ink/api.php?id=gdty$LR•IPV4•109『线路109』 +http://111.221.137.234:44330/tsfile/live/0124_1.m3u8$LR•IPV4•109『线路109』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -http://183.11.239.36:808/hls/18/index.m3u8$LR•IPV4•53『线路1』 +http://119.32.12.17:2901/udp/224.1.100.4:11111$LR•IPV4•53『线路1』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-12.ctv$LR•IPV4•53『线路2』 +https://stream1.freetv.fun/yan-dong-min-sheng-10.ctv$LR•IPV4•53『线路2』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-16.ctv$LR•IPV4•53『线路3』 +https://stream1.freetv.fun/yan-dong-min-sheng-1.ctv$LR•IPV4•53『线路3』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://t.freetv.fun/live/yan-dong-min-sheng-6.m3u8$LR•IPV4•53『线路4』 +http://38.75.136.137:98/gslb/dsdqpub/gdgg.m3u8?auth=testpub$LR•IPV4•53『线路4』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-2.ctv$LR•IPV4•53『线路5』 +https://t.freetv.fun/live/yan-dong-min-sheng-1.m3u8$LR•IPV4•53『线路5』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -http://120.77.205.62:8087/rtp/239.77.0.5:5146$LR•IPV4•53『线路6』 +http://119.32.12.32:2901/udp/224.1.100.4:11111$LR•IPV4•53『线路6』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-17.ctv$LR•IPV4•53『线路7』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.4:11111$LR•IPV4•53『线路7』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-22.ctv$LR•IPV4•53『线路8』 +https://stream1.freetv.fun/yan-dong-min-sheng-14.m3u8$LR•IPV4•53『线路8』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -http://192.151.150.154/live/gdgg.m3u8$LR•IPV4•53『线路9』 +https://stream1.freetv.fun/yan-dong-min-sheng-17.ctv$LR•IPV4•53『线路9』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-3.ctv$LR•IPV4•53『线路10』 +https://stream1.freetv.fun/yan-dong-min-sheng-2.m3u8$LR•IPV4•53『线路10』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-36.ctv$LR•IPV4•53『线路11』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1615&tk=a0c4f6cfaba3$LR•IPV4•53『线路11』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://t.freetv.fun/live/yan-dong-min-sheng-1.m3u8$LR•IPV4•53『线路12』 +https://stream1.freetv.fun/yan-dong-min-sheng-39.ctv$LR•IPV4•53『线路12』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-21.ctv$LR•IPV4•53『线路13』 +https://t.freetv.fun/live/yan-dong-min-sheng-7.m3u8$LR•IPV4•53『线路13』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-12.m3u8$LR•IPV4•53『线路14』 +http://120.77.205.62:8087/rtp/239.77.0.5:5146$LR•IPV4•53『线路14』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-40.ctv$LR•IPV4•53『线路15』 +https://stream1.freetv.fun/yan-dong-min-sheng-2.ctv$LR•IPV4•53『线路15』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -http://119.32.12.17:2901/udp/224.1.100.4:11111$LR•IPV4•53『线路16』 +https://t.freetv.fun/live/yan-dong-min-sheng-4.m3u8$LR•IPV4•53『线路16』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -http://121.11.160.7:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•53『线路17』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1648&tk=a0c4f6cfaba3$LR•IPV4•53『线路17』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-35.ctv$LR•IPV4•53『线路18』 +http://125.89.163.44:8888/udp/239.77.0.225:5146$LR•IPV4•53『线路18』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -http://183.237.95.108:9901/tsfile/live/1032_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•53『线路19』 +https://stream1.freetv.fun/yan-dong-min-sheng-13.ctv$LR•IPV4•53『线路19』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-4.ctv$LR•IPV4•53『线路20』 +https://stream1.freetv.fun/yan-dong-min-sheng-6.ctv$LR•IPV4•53『线路20』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://hk.188766.xyz/?migutoken=08f126f29a9e9334c492a23a0f40038f&id=gd_gdms&type=sz$LR•IPV4•53『线路21』 +http://120.77.205.62:8087/rtp/239.77.0.225:5146$LR•IPV4•53『线路21』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-11.ctv$LR•IPV4•53『线路22』 +https://stream1.freetv.fun/yan-dong-min-sheng-27.ctv$LR•IPV4•53『线路22』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -http://120.77.205.62:8087/rtp/239.77.0.225:5146$LR•IPV4•53『线路23』 +https://stream1.freetv.fun/yan-dong-min-sheng-23.ctv$LR•IPV4•53『线路23』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-39.ctv$LR•IPV4•53『线路24』 +https://stream1.freetv.fun/yan-dong-min-sheng-30.ctv$LR•IPV4•53『线路24』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-25.ctv$LR•IPV4•53『线路25』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.152:11111$LR•IPV4•53『线路25』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-20.m3u8$LR•IPV4•53『线路26』 +https://stream1.freetv.fun/yan-dong-min-sheng-21.ctv$LR•IPV4•53『线路26』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1615&tk=a0c4f6cfaba3$LR•IPV4•53『线路27』 +https://stream1.freetv.fun/yan-dong-min-sheng-36.ctv$LR•IPV4•53『线路27』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-23.ctv$LR•IPV4•53『线路28』 +https://stream1.freetv.fun/yan-dong-min-sheng-12.m3u8$LR•IPV4•53『线路28』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-32.ctv$LR•IPV4•53『线路29』 +https://stream1.freetv.fun/yan-dong-min-sheng-35.ctv$LR•IPV4•53『线路29』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-2.m3u8$LR•IPV4•53『线路30』 +https://hk.188766.xyz/?migutoken=08f126f29a9e9334c492a23a0f40038f&id=gd_gdms&type=sz$LR•IPV4•53『线路30』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-10.ctv$LR•IPV4•53『线路31』 +https://stream1.freetv.fun/yan-dong-min-sheng-32.ctv$LR•IPV4•53『线路31』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -http://qjrhc.jydjd.top:2911/udp/224.1.100.152:11111$LR•IPV4•53『线路32』 +https://t.freetv.fun/live/yan-dong-min-sheng-6.m3u8$LR•IPV4•53『线路32』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-18.ctv$LR•IPV4•53『线路33』 +https://stream1.freetv.fun/yan-dong-min-sheng-26.ctv$LR•IPV4•53『线路33』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-13.ctv$LR•IPV4•53『线路34』 +https://stream1.freetv.fun/yan-dong-min-sheng-9.ctv$LR•IPV4•53『线路34』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-27.ctv$LR•IPV4•53『线路35』 +https://stream1.freetv.fun/yan-dong-min-sheng-25.ctv$LR•IPV4•53『线路35』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -http://125.89.163.44:8888/udp/239.77.0.225:5146$LR•IPV4•53『线路36』 +https://stream1.freetv.fun/yan-dong-min-sheng-20.m3u8$LR•IPV4•53『线路36』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-30.ctv$LR•IPV4•53『线路37』 +https://stream1.freetv.fun/yan-dong-min-sheng-31.ctv$LR•IPV4•53『线路37』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1648&tk=a0c4f6cfaba3$LR•IPV4•53『线路38』 +https://stream1.freetv.fun/yan-dong-min-sheng-18.ctv$LR•IPV4•53『线路38』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -http://119.32.12.32:2901/udp/224.1.100.4:11111$LR•IPV4•53『线路39』 +https://stream1.freetv.fun/yan-dong-min-sheng-22.ctv$LR•IPV4•53『线路39』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -http://qjrhc.jydjd.top:2911/udp/224.1.100.4:11111$LR•IPV4•53『线路40』 +http://183.11.239.36:808/hls/18/index.m3u8$LR•IPV4•53『线路40』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://t.freetv.fun/live/yan-dong-min-sheng-4.m3u8$LR•IPV4•53『线路41』 +http://183.237.95.108:9901/tsfile/live/1032_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•53『线路41』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-26.ctv$LR•IPV4•53『线路42』 +https://stream1.freetv.fun/yan-dong-min-sheng-11.ctv$LR•IPV4•53『线路42』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=hedgjP&tk=zUr4K92Dl6kh$LR•IPV4•53『线路43』 +https://stream1.freetv.fun/yan-dong-min-sheng-4.ctv$LR•IPV4•53『线路43』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://t.freetv.fun/live/yan-dong-min-sheng-7.m3u8$LR•IPV4•53『线路44』 +https://stream1.freetv.fun/yan-dong-min-sheng-12.ctv$LR•IPV4•53『线路44』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-1.ctv$LR•IPV4•53『线路45』 +https://stream1.freetv.fun/yan-dong-min-sheng-3.ctv$LR•IPV4•53『线路45』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-29.ctv$LR•IPV4•53『线路46』 +https://stream1.freetv.fun/yan-dong-min-sheng-40.ctv$LR•IPV4•53『线路46』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-24.ctv$LR•IPV4•53『线路47』 +http://121.11.160.7:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•53『线路47』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-31.ctv$LR•IPV4•53『线路48』 +http://192.151.150.154/live/gdgg.m3u8$LR•IPV4•53『线路48』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-14.m3u8$LR•IPV4•53『线路49』 +https://stream1.freetv.fun/yan-dong-min-sheng-29.ctv$LR•IPV4•53『线路49』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -http://38.75.136.137:98/gslb/dsdqpub/gdgg.m3u8?auth=testpub$LR•IPV4•53『线路50』 +https://stream1.freetv.fun/yan-dong-min-sheng-16.ctv$LR•IPV4•53『线路50』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 https://stream1.freetv.fun/yan-dong-min-sheng-34.ctv$LR•IPV4•53『线路51』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-9.ctv$LR•IPV4•53『线路52』 +http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=hedgjP&tk=zUr4K92Dl6kh$LR•IPV4•53『线路52』 #EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" group-title="广东",广东民生 -https://stream1.freetv.fun/yan-dong-min-sheng-6.ctv$LR•IPV4•53『线路53』 +https://stream1.freetv.fun/yan-dong-min-sheng-24.ctv$LR•IPV4•53『线路53』 #EXTINF:-1 tvg-id="广东少儿" tvg-name="广东少儿" group-title="广东",广东少儿 -http://gmxw.7766.org:808/hls/175/index.m3u8$LR•IPV4•2『线路1』 +http://192.151.150.154/live/gdtvs5.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="广东少儿" tvg-name="广东少儿" group-title="广东",广东少儿 -http://192.151.150.154/live/gdtvs5.m3u8$LR•IPV4•2『线路2』 +http://gmxw.7766.org:808/hls/175/index.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="岭南戏曲" tvg-name="岭南戏曲" group-title="广东",岭南戏曲 http://192.151.150.154/live/gdlnxq.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="大湾区卫视" tvg-name="大湾区卫视" group-title="广东",大湾区卫视 http://183.11.239.36:808/hls/132/index.m3u8$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="大湾区卫视" tvg-name="大湾区卫视" group-title="广东",大湾区卫视 -http://192.151.150.154/live/nfws.m3u8$LR•IPV4•6『线路2』 +http://43.251.226.89:8080/play/39.m3u8$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="大湾区卫视" tvg-name="大湾区卫视" group-title="广东",大湾区卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000011619&livemode=1&stbId=yu&mode=1&$LR•IPV4•6『线路3』 +p3p://167.114.175.6:55331/63ec48e000076bf6e43672044d3841bb$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="大湾区卫视" tvg-name="大湾区卫视" group-title="广东",大湾区卫视 -http://gslbserv.itv.cmvideo.cn:80/5000000011000265001/1.m3u8?channel-id=ystenlive&Contentid=1000000002000011619&livemode=1&stbId=toShengfen&mode=1&$LR•IPV4•6『线路4』 +http://192.151.150.154/live/nfws.m3u8$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="大湾区卫视" tvg-name="大湾区卫视" group-title="广东",大湾区卫视 -http://43.251.226.89:8080/play/39.m3u8$LR•IPV4•6『线路5』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000011619&livemode=1&stbId=yu&mode=1&$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="大湾区卫视" tvg-name="大湾区卫视" group-title="广东",大湾区卫视 -p3p://167.114.175.6:55331/63ec48e000076bf6e43672044d3841bb$LR•IPV4•6『线路6』 +http://gslbserv.itv.cmvideo.cn:80/5000000011000265001/1.m3u8?channel-id=ystenlive&Contentid=1000000002000011619&livemode=1&stbId=toShengfen&mode=1&$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -http://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=c8dbe86d6f86eb1a21999ab479fd5667&txTime=18d3c4690e8$LR•IPV4•55『线路1』 +https://stream1.freetv.fun/yan-zhou-zong-he-25.ctv$LR•IPV4•55『线路1』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-29.ctv$LR•IPV4•55『线路2』 +https://stream1.freetv.fun/yan-zhou-zong-he-26.ctv$LR•IPV4•55『线路2』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://tencentplaygsm.gztv.com/live/zonghes.m3u8?txTime=659a5111&txSecret=36b95cb955327d8262812e0e4f772aa5$LR•IPV4•55『线路3』 +http://180.142.144.54:8181/tsfile/live/0115_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•55『线路3』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-22.ctv$LR•IPV4•55『线路4』 +https://stream1.freetv.fun/yan-zhou-zong-he-17.ctv$LR•IPV4•55『线路4』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-11.ctv$LR•IPV4•55『线路5』 +https://t.freetv.fun/live/yan-zhou-zong-he-2.m3u8$LR•IPV4•55『线路5』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://tencentplaygsm.gztv.com/live/zonghes.m3u8?txTime=6594e9b7&txSecret=adb23b34fb694750ac8b8ff14a21a424$LR•IPV4•55『线路6』 +http://125.89.163.44:8888/udp/239.253.43.71:5146$LR•IPV4•55『线路6』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -http://120.77.205.62:8087/rtp/239.253.43.71:5146$LR•IPV4•55『线路7』 +https://stream1.freetv.fun/yan-zhou-zong-he-30.ctv$LR•IPV4•55『线路7』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=439b0fd2cf766b363c93a59cbcbe1370&txTime=18d00acf488$LR•IPV4•55『线路8』 +https://stream1.freetv.fun/yan-zhou-zong-he-2.m3u8$LR•IPV4•55『线路8』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://t.freetv.fun/live/yan-zhou-zong-he-3.m3u8$LR•IPV4•55『线路9』 +https://stream1.freetv.fun/yan-zhou-zong-he-23.ctv$LR•IPV4•55『线路9』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -http://qjrhc.jydjd.top:2911/udp/224.1.100.35:11111$LR•IPV4•55『线路10』 +https://stream1.freetv.fun/yan-zhou-zong-he-19.ctv$LR•IPV4•55『线路10』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-1.m3u8$LR•IPV4•55『线路11』 +http://r.jdshipin.com/snhya$LR•IPV4•55『线路11』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-19.ctv$LR•IPV4•55『线路12』 +http://r.jdshipin.com/iR6Gq$LR•IPV4•55『线路12』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-31.ctv$LR•IPV4•55『线路13』 +https://stream1.freetv.fun/yan-zhou-zong-he-1.m3u8$LR•IPV4•55『线路13』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-12.ctv$LR•IPV4•55『线路14』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.35:11111$LR•IPV4•55『线路14』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-26.ctv$LR•IPV4•55『线路15』 +http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/gztv.js?id=zonghes$LR•IPV4•55『线路15』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://t.freetv.fun/live/yan-zhou-zong-he-2.m3u8$LR•IPV4•55『线路16』 +http://180.143.83.48:8181/tsfile/live/0115_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•55『线路16』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-4.ctv$LR•IPV4•55『线路17』 +https://stream1.freetv.fun/yan-zhou-zong-he-5.ctv$LR•IPV4•55『线路17』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-2.m3u8$LR•IPV4•55『线路18』 +https://stream1.freetv.fun/yan-zhou-zong-he-13.ctv$LR•IPV4•55『线路18』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -http://r.jdshipin.com/snhya$LR•IPV4•55『线路19』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.36:11111$LR•IPV4•55『线路19』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-8.ctv$LR•IPV4•55『线路20』 +https://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=f0147ae6453a80f5989f382368b72aad&txTime=18d00acf487$LR•IPV4•55『线路20』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-27.ctv$LR•IPV4•55『线路21』 +https://stream1.freetv.fun/yan-zhou-zong-he-29.ctv$LR•IPV4•55『线路21』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 https://stream1.freetv.fun/yan-zhou-zong-he-14.ctv$LR•IPV4•55『线路22』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -http://qjrhc.jydjd.top:2911/udp/224.1.100.36:11111$LR•IPV4•55『线路23』 +https://stream1.freetv.fun/yan-zhou-zong-he-3.ctv$LR•IPV4•55『线路23』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=e381ab098841a0badbf7e11f24143cf7&txTime=18e6ff43701$LR•IPV4•55『线路24』 +https://stream1.freetv.fun/yan-zhou-zong-he-24.ctv$LR•IPV4•55『线路24』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -http://125.89.163.44:8888/udp/239.253.43.71:5146$LR•IPV4•55『线路25』 +https://stream1.freetv.fun/yan-zhou-zong-he-4.ctv$LR•IPV4•55『线路25』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-6.m3u8$LR•IPV4•55『线路26』 +https://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=5d7708684007fcea395caff98369084c&txTime=19019c37743$LR•IPV4•55『线路26』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=5d7708684007fcea395caff98369084c&txTime=19019c37743$LR•IPV4•55『线路27』 +https://stream1.freetv.fun/yan-zhou-zong-he-6.m3u8$LR•IPV4•55『线路27』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-24.ctv$LR•IPV4•55『线路28』 +https://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=439b0fd2cf766b363c93a59cbcbe1370&txTime=18d00acf488$LR•IPV4•55『线路28』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -http://119.32.12.17:2901/udp/224.1.100.36:11111$LR•IPV4•55『线路29』 +http://dns.yiandrive.com:15907/gztv/zhonghe$LR•IPV4•55『线路29』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -http://180.143.83.48:8181/tsfile/live/0115_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•55『线路30』 +https://stream1.freetv.fun/yan-zhou-zong-he-8.ctv$LR•IPV4•55『线路30』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-16.ctv$LR•IPV4•55『线路31』 +https://t.freetv.fun/live/yan-zhou-zong-he-3.m3u8$LR•IPV4•55『线路31』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 https://t.freetv.fun/live/yan-zhou-zong-he-7.m3u8$LR•IPV4•55『线路32』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://t.freetv.fun/live/yan-zhou-zong-he-1.m3u8$LR•IPV4•55『线路33』 +https://tencentplaygsm.gztv.com/live/zonghes.m3u8?txTime=659a5111&txSecret=36b95cb955327d8262812e0e4f772aa5$LR•IPV4•55『线路33』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/gztv.js?id=zonghes$LR•IPV4•55『线路34』 +https://stream1.freetv.fun/yan-zhou-zong-he-11.ctv$LR•IPV4•55『线路34』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-30.ctv$LR•IPV4•55『线路35』 +https://t.freetv.fun/live/yan-zhou-zong-he-8.m3u8$LR•IPV4•55『线路35』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://t.freetv.fun/live/yan-zhou-zong-he-5.m3u8$LR•IPV4•55『线路36』 +https://t.freetv.fun/live/yan-zhou-zong-he.php$LR•IPV4•55『线路36』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -http://r.jdshipin.com/iR6Gq$LR•IPV4•55『线路37』 +https://stream1.freetv.fun/yan-zhou-zong-he-18.ctv$LR•IPV4•55『线路37』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=f0147ae6453a80f5989f382368b72aad&txTime=18d00acf487$LR•IPV4•55『线路38』 +https://stream1.freetv.fun/yan-zhou-zong-he-12.ctv$LR•IPV4•55『线路38』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-13.ctv$LR•IPV4•55『线路39』 +https://stream1.freetv.fun/yan-zhou-zong-he-15.ctv$LR•IPV4•55『线路39』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-23.ctv$LR•IPV4•55『线路40』 +http://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=c8dbe86d6f86eb1a21999ab479fd5667&txTime=18d3c4690e8$LR•IPV4•55『线路40』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-17.ctv$LR•IPV4•55『线路41』 +https://stream1.freetv.fun/yan-zhou-zong-he-16.ctv$LR•IPV4•55『线路41』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-25.ctv$LR•IPV4•55『线路42』 +http://119.32.12.32:2901/udp/224.1.100.36:11111$LR•IPV4•55『线路42』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -http://119.32.12.32:2901/udp/224.1.100.36:11111$LR•IPV4•55『线路43』 +https://tencentplaygsm.gztv.com/live/zonghes.m3u8?txTime=6594e9b7&txSecret=adb23b34fb694750ac8b8ff14a21a424$LR•IPV4•55『线路43』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-10.m3u8$LR•IPV4•55『线路44』 +https://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=e381ab098841a0badbf7e11f24143cf7&txTime=18e6ff43701$LR•IPV4•55『线路44』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-5.ctv$LR•IPV4•55『线路45』 +https://t.freetv.fun/live/yan-zhou-zong-he-5.m3u8$LR•IPV4•55『线路45』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-3.ctv$LR•IPV4•55『线路46』 +http://119.32.12.17:2901/udp/224.1.100.36:11111$LR•IPV4•55『线路46』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -http://180.142.144.54:8181/tsfile/live/0115_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•55『线路47』 +https://stream1.freetv.fun/yan-zhou-zong-he-9.ctv$LR•IPV4•55『线路47』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-9.ctv$LR•IPV4•55『线路48』 +https://stream1.freetv.fun/yan-zhou-zong-he-21.ctv$LR•IPV4•55『线路48』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-18.ctv$LR•IPV4•55『线路49』 +https://t.freetv.fun/live/yan-zhou-zong-he-1.m3u8$LR•IPV4•55『线路49』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://t.freetv.fun/live/yan-zhou-zong-he.php$LR•IPV4•55『线路50』 +https://stream1.freetv.fun/yan-zhou-zong-he-10.m3u8$LR•IPV4•55『线路50』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-21.ctv$LR•IPV4•55『线路51』 +http://120.77.205.62:8087/rtp/239.253.43.71:5146$LR•IPV4•55『线路51』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://stream1.freetv.fun/yan-zhou-zong-he-15.ctv$LR•IPV4•55『线路52』 +https://stream1.freetv.fun/yan-zhou-zong-he-27.ctv$LR•IPV4•55『线路52』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -http://120.77.205.62:8087/rtp/239.253.43.66:5146$LR•IPV4•55『线路53』 +https://stream1.freetv.fun/yan-zhou-zong-he-22.ctv$LR•IPV4•55『线路53』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -http://dns.yiandrive.com:15907/gztv/zhonghe$LR•IPV4•55『线路54』 +http://120.77.205.62:8087/rtp/239.253.43.66:5146$LR•IPV4•55『线路54』 #EXTINF:-1 tvg-id="广州综合" tvg-name="广州综合" group-title="广东",广州综合 -https://t.freetv.fun/live/yan-zhou-zong-he-8.m3u8$LR•IPV4•55『线路55』 +https://stream1.freetv.fun/yan-zhou-zong-he-31.ctv$LR•IPV4•55『线路55』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -http://tencentplay.gztv.com/live/xinwen.m3u8?txSecret=d2c2db0b598c02ec1b5623728434d367&txTime=18d57929bd3$LR•IPV4•40『线路1』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.37:11111$LR•IPV4•40『线路1』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-26.ctv$LR•IPV4•40『线路2』 +https://t.freetv.fun/live/yan-zhou-xin-wen-2.m3u8$LR•IPV4•40『线路2』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-27.ctv$LR•IPV4•40『线路3』 +https://tencentplaygsm.gztv.com/live/xinwen.m3u8?txTime=659a511e&txSecret=1a5bbbb41bc728d271c8b99e5482f8e7$LR•IPV4•40『线路3』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-18.ctv$LR•IPV4•40『线路4』 +https://stream1.freetv.fun/yan-zhou-xin-wen-15.ctv$LR•IPV4•40『线路4』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9924&tk=a0c4f6cfaba3$LR•IPV4•40『线路5』 +https://t.freetv.fun/live/yan-zhou-xin-wen.m3u8$LR•IPV4•40『线路5』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-20.ctv$LR•IPV4•40『线路6』 +https://stream1.freetv.fun/yan-zhou-xin-wen-13.ctv$LR•IPV4•40『线路6』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://tencentplaygsm.gztv.com/live/xinwen.m3u8?txTime=659a511e&txSecret=1a5bbbb41bc728d271c8b99e5482f8e7$LR•IPV4•40『线路7』 +https://stream1.freetv.fun/yan-zhou-xin-wen-6.ctv$LR•IPV4•40『线路7』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-13.ctv$LR•IPV4•40『线路8』 +https://stream1.freetv.fun/yan-zhou-xin-wen-20.ctv$LR•IPV4•40『线路8』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-11.m3u8$LR•IPV4•40『线路9』 +http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/gztv.js?id=xinwen$LR•IPV4•40『线路9』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-19.ctv$LR•IPV4•40『线路10』 +https://stream1.freetv.fun/yan-zhou-xin-wen-3.m3u8$LR•IPV4•40『线路10』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/gztv.js?id=xinwen$LR•IPV4•40『线路11』 +http://119.32.12.32:2901/udp/224.1.100.38:11111$LR•IPV4•40『线路11』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-12.ctv$LR•IPV4•40『线路12』 +http://125.89.163.44:8888/udp/239.253.43.72:5146$LR•IPV4•40『线路12』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -http://119.32.12.17:2901/udp/224.1.100.38:11111$LR•IPV4•40『线路13』 +https://stream1.freetv.fun/yan-zhou-xin-wen-5.m3u8$LR•IPV4•40『线路13』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-25.ctv$LR•IPV4•40『线路14』 +https://stream1.freetv.fun/yan-zhou-xin-wen-7.ctv$LR•IPV4•40『线路14』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -http://qjrhc.jydjd.top:2911/udp/224.1.100.37:11111$LR•IPV4•40『线路15』 +https://stream1.freetv.fun/yan-zhou-xin-wen-4.ctv$LR•IPV4•40『线路15』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-2.ctv$LR•IPV4•40『线路16』 +https://stream1.freetv.fun/yan-zhou-xin-wen-23.ctv$LR•IPV4•40『线路16』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-6.ctv$LR•IPV4•40『线路17』 +https://stream1.freetv.fun/yan-zhou-xin-wen-16.ctv$LR•IPV4•40『线路17』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-8.m3u8$LR•IPV4•40『线路18』 +https://stream1.freetv.fun/yan-zhou-xin-wen-25.ctv$LR•IPV4•40『线路18』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-14.ctv$LR•IPV4•40『线路19』 +https://stream1.freetv.fun/yan-zhou-xin-wen-2.ctv$LR•IPV4•40『线路19』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-21.ctv$LR•IPV4•40『线路20』 +https://stream1.freetv.fun/yan-zhou-xin-wen-18.ctv$LR•IPV4•40『线路20』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-16.ctv$LR•IPV4•40『线路21』 +https://tencentplay.gztv.com/live/xinwen.m3u8?txSecret=6f73647cae387d01a3c2132074132a83&txTime=18d00acf487$LR•IPV4•40『线路21』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-23.ctv$LR•IPV4•40『线路22』 +https://stream1.freetv.fun/yan-zhou-xin-wen-14.ctv$LR•IPV4•40『线路22』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://tencentplaygsm.gztv.com/live/xinwen.m3u8?txTime=6594e9c2&txSecret=c5a1adcdef8653b7d9c228d3905b414f$LR•IPV4•40『线路23』 +https://stream1.freetv.fun/yan-zhou-xin-wen-27.ctv$LR•IPV4•40『线路23』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-3.m3u8$LR•IPV4•40『线路24』 +https://stream1.freetv.fun/yan-zhou-xin-wen-19.ctv$LR•IPV4•40『线路24』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-7.ctv$LR•IPV4•40『线路25』 +https://t.freetv.fun/live/yan-zhou-xin-wen-4.php$LR•IPV4•40『线路25』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-15.ctv$LR•IPV4•40『线路26』 +https://tencentplay.gztv.com/live/xinwen.m3u8?txSecret=d217bd6cf85c93e3b47b96504cd2dc1c&txTime=18e6ff29019$LR•IPV4•40『线路26』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://t.freetv.fun/live/yan-zhou-xin-wen-2.m3u8$LR•IPV4•40『线路27』 +https://stream1.freetv.fun/yan-zhou-xin-wen-21.ctv$LR•IPV4•40『线路27』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://tencentplay.gztv.com/live/xinwen.m3u8?txSecret=d217bd6cf85c93e3b47b96504cd2dc1c&txTime=18e6ff29019$LR•IPV4•40『线路28』 +http://119.32.12.17:2901/udp/224.1.100.38:11111$LR•IPV4•40『线路28』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-17.ctv$LR•IPV4•40『线路29』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.38:11111$LR•IPV4•40『线路29』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -http://125.89.163.44:8888/udp/239.253.43.72:5146$LR•IPV4•40『线路30』 +https://stream1.freetv.fun/yan-zhou-xin-wen-26.ctv$LR•IPV4•40『线路30』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -http://dns.yiandrive.com:15907/gztv/xinwen$LR•IPV4•40『线路31』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9924&tk=a0c4f6cfaba3$LR•IPV4•40『线路31』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-4.ctv$LR•IPV4•40『线路32』 +https://stream1.freetv.fun/yan-zhou-xin-wen-8.m3u8$LR•IPV4•40『线路32』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 https://tencentplay.gztv.com/live/xinwen.m3u8?txSecret=f80e5b7654c57c7571a314d94befe320&txTime=19019c051d5$LR•IPV4•40『线路33』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://tencentplay.gztv.com/live/xinwen.m3u8?txSecret=6f73647cae387d01a3c2132074132a83&txTime=18d00acf487$LR•IPV4•40『线路34』 +https://stream1.freetv.fun/yan-zhou-xin-wen-11.m3u8$LR•IPV4•40『线路34』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -http://119.32.12.32:2901/udp/224.1.100.38:11111$LR•IPV4•40『线路35』 +http://tencentplay.gztv.com/live/xinwen.m3u8?txSecret=d2c2db0b598c02ec1b5623728434d367&txTime=18d57929bd3$LR•IPV4•40『线路35』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-5.m3u8$LR•IPV4•40『线路36』 +https://stream1.freetv.fun/yan-zhou-xin-wen-17.ctv$LR•IPV4•40『线路36』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://t.freetv.fun/live/yan-zhou-xin-wen.m3u8$LR•IPV4•40『线路37』 +https://stream1.freetv.fun/yan-zhou-xin-wen-10.ctv$LR•IPV4•40『线路37』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -http://qjrhc.jydjd.top:2911/udp/224.1.100.38:11111$LR•IPV4•40『线路38』 +https://stream1.freetv.fun/yan-zhou-xin-wen-12.ctv$LR•IPV4•40『线路38』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://stream1.freetv.fun/yan-zhou-xin-wen-10.ctv$LR•IPV4•40『线路39』 +https://tencentplaygsm.gztv.com/live/xinwen.m3u8?txTime=6594e9c2&txSecret=c5a1adcdef8653b7d9c228d3905b414f$LR•IPV4•40『线路39』 #EXTINF:-1 tvg-id="广州新闻" tvg-name="广州新闻" group-title="广东",广州新闻 -https://t.freetv.fun/live/yan-zhou-xin-wen-4.php$LR•IPV4•40『线路40』 +http://dns.yiandrive.com:15907/gztv/xinwen$LR•IPV4•40『线路40』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-4.ctv$LR•IPV4•40『线路1』 +https://tencentplaygsm.gztv.com/live/yingshi.m3u8?txTime=659a5117&txSecret=52195f79cab012334aa7ef5c153e8ddd$LR•IPV4•40『线路1』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-21.ctv$LR•IPV4•40『线路2』 +https://stream1.freetv.fun/yan-zhou-ying-shi-7.ctv$LR•IPV4•40『线路2』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-15.ctv$LR•IPV4•40『线路3』 +https://tencentplay.gztv.com/live/yingshi.m3u8?txSecret=7e9bddad7c8911626ed1d2c09fc605d9&txTime=18d00acf487$LR•IPV4•40『线路3』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-20.ctv$LR•IPV4•40『线路4』 +http://180.143.83.48:8181/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•40『线路4』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-18.ctv$LR•IPV4•40『线路5』 +http://r.jdshipin.com/sFw4S$LR•IPV4•40『线路5』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -http://qjrhc.jydjd.top:2911/udp/224.1.100.88:11111$LR•IPV4•40『线路6』 +https://stream1.freetv.fun/yan-zhou-ying-shi-12.ctv$LR•IPV4•40『线路6』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-24.ctv$LR•IPV4•40『线路7』 +https://stream1.freetv.fun/yan-zhou-ying-shi-8.m3u8$LR•IPV4•40『线路7』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-8.m3u8$LR•IPV4•40『线路8』 +https://stream1.freetv.fun/yan-zhou-ying-shi-23.ctv$LR•IPV4•40『线路8』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-2.ctv$LR•IPV4•40『线路9』 +https://stream1.freetv.fun/yan-zhou-ying-shi-11.ctv$LR•IPV4•40『线路9』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://tencentplaygsm.gztv.com/live/yingshi.m3u8?txTime=6594e994&txSecret=52eedb1aafdda80adf996079505cc49d$LR•IPV4•40『线路10』 +https://stream1.freetv.fun/yan-zhou-ying-shi-24.ctv$LR•IPV4•40『线路10』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://tencentplaygsm.gztv.com/live/yingshi.m3u8?txTime=659a5117&txSecret=52195f79cab012334aa7ef5c153e8ddd$LR•IPV4•40『线路11』 +https://stream1.freetv.fun/yan-zhou-ying-shi-2.ctv$LR•IPV4•40『线路11』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-1.m3u8$LR•IPV4•40『线路12』 +http://dns.yiandrive.com:15907/gztv/yingshi$LR•IPV4•40『线路12』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -http://120.77.205.62:8087/rtp/239.253.43.73:5146$LR•IPV4•40『线路13』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.87:11111$LR•IPV4•40『线路13』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-13.ctv$LR•IPV4•40『线路14』 +https://stream1.freetv.fun/yan-zhou-ying-shi-18.ctv$LR•IPV4•40『线路14』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://tencentplay.gztv.com/live/yingshi.m3u8?txSecret=7e9bddad7c8911626ed1d2c09fc605d9&txTime=18d00acf487$LR•IPV4•40『线路15』 +https://stream1.freetv.fun/yan-zhou-ying-shi-3.m3u8$LR•IPV4•40『线路15』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -http://r.jdshipin.com/TcKr2$LR•IPV4•40『线路16』 +https://stream1.freetv.fun/yan-zhou-ying-shi-20.ctv$LR•IPV4•40『线路16』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -http://125.89.163.44:8888/udp/239.253.43.73:5146$LR•IPV4•40『线路17』 +https://stream1.freetv.fun/yan-zhou-ying-shi-22.ctv$LR•IPV4•40『线路17』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-16.m3u8$LR•IPV4•40『线路18』 +https://tencentplaygsm.gztv.com/live/yingshi.m3u8?txTime=6594e994&txSecret=52eedb1aafdda80adf996079505cc49d$LR•IPV4•40『线路18』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-3.m3u8$LR•IPV4•40『线路19』 +https://stream1.freetv.fun/yan-zhou-ying-shi-9.ctv$LR•IPV4•40『线路19』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-10.ctv$LR•IPV4•40『线路20』 +http://125.89.163.44:8888/udp/239.253.43.73:5146$LR•IPV4•40『线路20』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -http://qjrhc.jydjd.top:2911/udp/224.1.100.87:11111$LR•IPV4•40『线路21』 +https://stream1.freetv.fun/yan-zhou-ying-shi-25.m3u8$LR•IPV4•40『线路21』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -http://tencentplay.gztv.com/live/yingshi.m3u8?txSecret=1bd3a1082ab5b89f48c1bff9a3760da4&txTime=18d57929bd4$LR•IPV4•40『线路22』 +https://stream1.freetv.fun/yan-zhou-ying-shi-5.ctv$LR•IPV4•40『线路22』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-7.ctv$LR•IPV4•40『线路23』 +https://stream1.freetv.fun/yan-zhou-ying-shi-28.ctv$LR•IPV4•40『线路23』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -http://120.77.205.62:8087/rtp/239.253.43.68:5146$LR•IPV4•40『线路24』 +https://stream1.freetv.fun/yan-zhou-ying-shi-6.ctv$LR•IPV4•40『线路24』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -http://180.143.83.48:8181/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•40『线路25』 +https://stream1.freetv.fun/yan-zhou-ying-shi-1.m3u8$LR•IPV4•40『线路25』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-12.ctv$LR•IPV4•40『线路26』 +https://stream1.freetv.fun/yan-zhou-ying-shi-19.ctv$LR•IPV4•40『线路26』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-11.ctv$LR•IPV4•40『线路27』 +https://stream1.freetv.fun/yan-zhou-ying-shi-15.ctv$LR•IPV4•40『线路27』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-28.ctv$LR•IPV4•40『线路28』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.88:11111$LR•IPV4•40『线路28』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -http://r.jdshipin.com/sFw4S$LR•IPV4•40『线路29』 +http://183.239.236.91:8088/hls/43/index.m3u8$LR•IPV4•40『线路29』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-22.ctv$LR•IPV4•40『线路30』 +https://stream1.freetv.fun/yan-zhou-ying-shi-16.m3u8$LR•IPV4•40『线路30』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-14.ctv$LR•IPV4•40『线路31』 +https://stream1.freetv.fun/yan-zhou-ying-shi-17.ctv$LR•IPV4•40『线路31』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -http://dns.yiandrive.com:15907/gztv/yingshi$LR•IPV4•40『线路32』 +http://120.77.205.62:8087/rtp/239.253.43.73:5146$LR•IPV4•40『线路32』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-19.ctv$LR•IPV4•40『线路33』 +http://r.jdshipin.com/TcKr2$LR•IPV4•40『线路33』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-25.m3u8$LR•IPV4•40『线路34』 +http://tencentplay.gztv.com/live/yingshi.m3u8?txSecret=1bd3a1082ab5b89f48c1bff9a3760da4&txTime=18d57929bd4$LR•IPV4•40『线路34』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-23.ctv$LR•IPV4•40『线路35』 +https://stream1.freetv.fun/yan-zhou-ying-shi-10.ctv$LR•IPV4•40『线路35』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-17.ctv$LR•IPV4•40『线路36』 +https://stream1.freetv.fun/yan-zhou-ying-shi-13.ctv$LR•IPV4•40『线路36』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-5.ctv$LR•IPV4•40『线路37』 +https://stream1.freetv.fun/yan-zhou-ying-shi-21.ctv$LR•IPV4•40『线路37』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-6.ctv$LR•IPV4•40『线路38』 +http://120.77.205.62:8087/rtp/239.253.43.68:5146$LR•IPV4•40『线路38』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -https://stream1.freetv.fun/yan-zhou-ying-shi-9.ctv$LR•IPV4•40『线路39』 +https://stream1.freetv.fun/yan-zhou-ying-shi-14.ctv$LR•IPV4•40『线路39』 #EXTINF:-1 tvg-id="广州影视" tvg-name="广州影视" group-title="广东",广州影视 -http://183.239.236.91:8088/hls/43/index.m3u8$LR•IPV4•40『线路40』 +https://stream1.freetv.fun/yan-zhou-ying-shi-4.ctv$LR•IPV4•40『线路40』 #EXTINF:-1 tvg-id="广州法治" tvg-name="广州法治" group-title="广东",广州法治 http://tencentplay.gztv.com/live/fazhi.m3u8?txSecret=3e84cd8eba844b5dc2150612295c7a52&txTime=18d578f4493$LR•IPV4 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -http://8.138.7.223/tv/gzjs.m3u8$LR•IPV4•54『线路1』 +https://stream1.freetv.fun/yan-zhou-jing-sai-37.m3u8$LR•IPV4•54『线路1』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-1.m3u8$LR•IPV4•54『线路2』 +https://stream1.freetv.fun/yan-zhou-jing-sai-28.ctv$LR•IPV4•54『线路2』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-4.ctv$LR•IPV4•54『线路3』 +https://stream1.freetv.fun/yan-zhou-jing-sai-33.ctv$LR•IPV4•54『线路3』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://tencentplaygsm.gztv.com/live/jingsai.m3u8?txTime=6594e9c9&txSecret=66dc779a3a36272e652238dd37624bbf$LR•IPV4•54『线路4』 +https://stream1.freetv.fun/yan-zhou-jing-sai-9.ctv$LR•IPV4•54『线路4』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -http://qjrhc.jydjd.top:2911/udp/224.1.100.106:11111$LR•IPV4•54『线路5』 +http://125.89.163.44:8888/udp/239.253.43.75:5146$LR•IPV4•54『线路5』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-30.ctv$LR•IPV4•54『线路6』 +https://stream1.freetv.fun/yan-zhou-jing-sai-6.m3u8$LR•IPV4•54『线路6』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-14.ctv$LR•IPV4•54『线路7』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.106:11111$LR•IPV4•54『线路7』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-25.ctv$LR•IPV4•54『线路8』 +https://tencentplay.gztv.com/live/jingsai.m3u8?txSecret=49c8041461997c7a97dbcc3c7fd11b4f&txTime=18d00acf487$LR•IPV4•54『线路8』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-4.m3u8$LR•IPV4•54『线路9』 +https://tencentplaygsm.gztv.com/live/jingsai.m3u8?txTime=659a5124&txSecret=72dcf9be1f18b8cbb1d96df34dc9a2a9$LR•IPV4•54『线路9』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-13.m3u8$LR•IPV4•54『线路10』 +https://stream1.freetv.fun/yan-zhou-jing-sai-21.ctv$LR•IPV4•54『线路10』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-9.ctv$LR•IPV4•54『线路11』 +https://stream1.freetv.fun/yan-zhou-jing-sai-34.ctv$LR•IPV4•54『线路11』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -http://nn.7x9d.cn/地方台8563/gsw.php?id=gzjs$LR•IPV4•54『线路12』 +https://tencentplaygsm.gztv.com/live/jingsai.m3u8?txTime=6594e9c9&txSecret=66dc779a3a36272e652238dd37624bbf$LR•IPV4•54『线路12』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-6.ctv$LR•IPV4•54『线路13』 +https://stream1.freetv.fun/yan-zhou-jing-sai-18.ctv$LR•IPV4•54『线路13』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -http://119.32.12.32:2901/udp/224.1.100.105:11111$LR•IPV4•54『线路14』 +https://stream1.freetv.fun/yan-zhou-jing-sai-19.ctv$LR•IPV4•54『线路14』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-35.ctv$LR•IPV4•54『线路15』 +https://stream1.freetv.fun/yan-zhou-jing-sai-3.ctv$LR•IPV4•54『线路15』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-3.ctv$LR•IPV4•54『线路16』 +http://nn.7x9d.cn/地方台8563/gsw.php?id=gzjs$LR•IPV4•54『线路16』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-24.ctv$LR•IPV4•54『线路17』 +https://stream1.freetv.fun/yan-zhou-jing-sai-8.m3u8$LR•IPV4•54『线路17』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-22.m3u8$LR•IPV4•54『线路18』 +https://stream1.freetv.fun/yan-zhou-jing-sai-15.ctv$LR•IPV4•54『线路18』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-38.ctv$LR•IPV4•54『线路19』 +https://stream1.freetv.fun/yan-zhou-jing-sai-3.m3u8$LR•IPV4•54『线路19』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-12.ctv$LR•IPV4•54『线路20』 +https://stream1.freetv.fun/yan-zhou-jing-sai-31.ctv$LR•IPV4•54『线路20』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -http://119.32.12.17:2901/udp/224.1.100.105:11111$LR•IPV4•54『线路21』 +https://stream1.freetv.fun/yan-zhou-jing-sai-5.m3u8$LR•IPV4•54『线路21』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-6.m3u8$LR•IPV4•54『线路22』 +http://119.32.12.32:2901/udp/224.1.100.105:11111$LR•IPV4•54『线路22』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-19.ctv$LR•IPV4•54『线路23』 +https://stream1.freetv.fun/yan-zhou-jing-sai-29.ctv$LR•IPV4•54『线路23』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-27.ctv$LR•IPV4•54『线路24』 +https://stream1.freetv.fun/yan-zhou-jing-sai-10.m3u8$LR•IPV4•54『线路24』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -http://qjrhc.jydjd.top:2911/udp/224.1.100.105:11111$LR•IPV4•54『线路25』 +https://stream1.freetv.fun/yan-zhou-jing-sai-23.ctv$LR•IPV4•54『线路25』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-3.m3u8$LR•IPV4•54『线路26』 +https://stream1.freetv.fun/yan-zhou-jing-sai-13.m3u8$LR•IPV4•54『线路26』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-15.ctv$LR•IPV4•54『线路27』 +https://stream1.freetv.fun/yan-zhou-jing-sai-22.m3u8$LR•IPV4•54『线路27』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-34.ctv$LR•IPV4•54『线路28』 +https://stream1.freetv.fun/yan-zhou-jing-sai-26.ctv$LR•IPV4•54『线路28』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -http://125.89.163.44:8888/udp/239.253.43.75:5146$LR•IPV4•54『线路29』 +https://stream1.freetv.fun/yan-zhou-jing-sai-27.ctv$LR•IPV4•54『线路29』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-10.m3u8$LR•IPV4•54『线路30』 +https://stream1.freetv.fun/yan-zhou-jing-sai-36.ctv$LR•IPV4•54『线路30』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-16.ctv$LR•IPV4•54『线路31』 +http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/gztv.js?id=jingsai$LR•IPV4•54『线路31』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-7.ctv$LR•IPV4•54『线路32』 +https://stream1.freetv.fun/yan-zhou-jing-sai-16.ctv$LR•IPV4•54『线路32』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-18.ctv$LR•IPV4•54『线路33』 +https://stream1.freetv.fun/yan-zhou-jing-sai-32.ctv$LR•IPV4•54『线路33』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-33.ctv$LR•IPV4•54『线路34』 +https://stream1.freetv.fun/yan-zhou-jing-sai-1.m3u8$LR•IPV4•54『线路34』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-26.ctv$LR•IPV4•54『线路35』 +https://stream1.freetv.fun/yan-zhou-jing-sai-12.ctv$LR•IPV4•54『线路35』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-28.ctv$LR•IPV4•54『线路36』 +https://stream1.freetv.fun/yan-zhou-jing-sai-24.ctv$LR•IPV4•54『线路36』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/gztv.js?id=jingsai$LR•IPV4•54『线路37』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.105:11111$LR•IPV4•54『线路37』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-5.m3u8$LR•IPV4•54『线路38』 +https://stream1.freetv.fun/yan-zhou-jing-sai-4.m3u8$LR•IPV4•54『线路38』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-21.ctv$LR•IPV4•54『线路39』 +https://stream1.freetv.fun/yan-zhou-jing-sai-35.ctv$LR•IPV4•54『线路39』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-29.ctv$LR•IPV4•54『线路40』 +https://stream1.freetv.fun/yan-zhou-jing-sai-7.m3u8$LR•IPV4•54『线路40』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-12.m3u8$LR•IPV4•54『线路41』 +https://stream1.freetv.fun/yan-zhou-jing-sai-14.ctv$LR•IPV4•54『线路41』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-8.m3u8$LR•IPV4•54『线路42』 +https://stream1.freetv.fun/yan-zhou-jing-sai-2.m3u8$LR•IPV4•54『线路42』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-11.m3u8$LR•IPV4•54『线路43』 +https://stream1.freetv.fun/yan-zhou-jing-sai-20.ctv$LR•IPV4•54『线路43』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-31.ctv$LR•IPV4•54『线路44』 +https://stream1.freetv.fun/yan-zhou-jing-sai-2.ctv$LR•IPV4•54『线路44』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-7.m3u8$LR•IPV4•54『线路45』 +https://stream1.freetv.fun/yan-zhou-jing-sai-12.m3u8$LR•IPV4•54『线路45』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-2.m3u8$LR•IPV4•54『线路46』 +https://stream1.freetv.fun/yan-zhou-jing-sai-30.ctv$LR•IPV4•54『线路46』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-37.m3u8$LR•IPV4•54『线路47』 +https://stream1.freetv.fun/yan-zhou-jing-sai-38.ctv$LR•IPV4•54『线路47』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-23.ctv$LR•IPV4•54『线路48』 +https://stream1.freetv.fun/yan-zhou-jing-sai-6.ctv$LR•IPV4•54『线路48』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-36.ctv$LR•IPV4•54『线路49』 +http://8.138.7.223/tv/gzjs.m3u8$LR•IPV4•54『线路49』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://tencentplay.gztv.com/live/jingsai.m3u8?txSecret=49c8041461997c7a97dbcc3c7fd11b4f&txTime=18d00acf487$LR•IPV4•54『线路50』 +http://119.32.12.17:2901/udp/224.1.100.105:11111$LR•IPV4•54『线路50』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://tencentplaygsm.gztv.com/live/jingsai.m3u8?txTime=659a5124&txSecret=72dcf9be1f18b8cbb1d96df34dc9a2a9$LR•IPV4•54『线路51』 +https://stream1.freetv.fun/yan-zhou-jing-sai-25.ctv$LR•IPV4•54『线路51』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-2.ctv$LR•IPV4•54『线路52』 +https://stream1.freetv.fun/yan-zhou-jing-sai-11.m3u8$LR•IPV4•54『线路52』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-20.ctv$LR•IPV4•54『线路53』 +https://stream1.freetv.fun/yan-zhou-jing-sai-4.ctv$LR•IPV4•54『线路53』 #EXTINF:-1 tvg-id="广州竞赛" tvg-name="广州竞赛" group-title="广东",广州竞赛 -https://stream1.freetv.fun/yan-zhou-jing-sai-32.ctv$LR•IPV4•54『线路54』 +https://stream1.freetv.fun/yan-zhou-jing-sai-7.ctv$LR•IPV4•54『线路54』 #EXTINF:-1 tvg-id="深圳财经生活" tvg-name="深圳财经生活" group-title="广东",深圳财经生活 -http://gmxw.7766.org:808/hls/151/index.m3u8$LR•IPV4•6『线路1』 +https://stream1.freetv.fun/shen-zhen-cai-jing-sheng-huo-4.ctv$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="深圳财经生活" tvg-name="深圳财经生活" group-title="广东",深圳财经生活 -http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=szcjsh$LR•IPV4•6『线路2』 +http://gmxw.7766.org:808/hls/151/index.m3u8$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="深圳财经生活" tvg-name="深圳财经生活" group-title="广东",深圳财经生活 -http://116.77.239.26:44300/tsfile/live/1007_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•6『线路3』 +https://stream1.freetv.fun/shen-zhen-cai-jing-sheng-huo-1.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="深圳财经生活" tvg-name="深圳财经生活" group-title="广东",深圳财经生活 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8853&tk=a0c4f6cfaba3$LR•IPV4•6『线路4』 +http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=szcjsh$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="深圳财经生活" tvg-name="深圳财经生活" group-title="广东",深圳财经生活 -https://stream1.freetv.fun/shen-zhen-cai-jing-sheng-huo-4.ctv$LR•IPV4•6『线路5』 +http://116.77.239.26:44300/tsfile/live/1007_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="深圳财经生活" tvg-name="深圳财经生活" group-title="广东",深圳财经生活 -https://stream1.freetv.fun/shen-zhen-cai-jing-sheng-huo-1.m3u8$LR•IPV4•6『线路6』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8853&tk=a0c4f6cfaba3$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="汕尾新闻综合" tvg-name="汕尾新闻综合" group-title="广东",汕尾新闻综合 -http://58.254.14.61:808/hls/504/index.m3u8$LR•IPV4•4『线路1』 +https://stream1.freetv.fun/shan-wei-xin-wen-zong-he-2.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="汕尾新闻综合" tvg-name="汕尾新闻综合" group-title="广东",汕尾新闻综合 -https://stream1.freetv.fun/shan-wei-xin-wen-zong-he-2.m3u8$LR•IPV4•4『线路2』 +http://58.254.14.61:808/hls/504/index.m3u8$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="汕尾新闻综合" tvg-name="汕尾新闻综合" group-title="广东",汕尾新闻综合 https://stream1.freetv.fun/shan-wei-xin-wen-zong-he-3.ctv$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="汕尾新闻综合" tvg-name="汕尾新闻综合" group-title="广东",汕尾新闻综合 @@ -6388,1291 +6388,1239 @@ http://58.254.14.61:808/hls/131/index.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="汕尾文化生活" tvg-name="汕尾文化生活" group-title="广东",汕尾文化生活 http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2032&tk=a0c4f6cfaba3$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="江门综合" tvg-name="江门综合" group-title="广东",江门综合 -https://stream1.freetv.fun/jiang-men-zong-he-4.ctv$LR•IPV4•18『线路1』 +https://stream1.freetv.fun/jiang-men-zong-he-14.ctv$LR•IPV4•18『线路1』 #EXTINF:-1 tvg-id="江门综合" tvg-name="江门综合" group-title="广东",江门综合 -https://stream1.freetv.fun/jiang-men-zong-he-10.ctv$LR•IPV4•18『线路2』 +http://120.77.205.62:8087/rtp/239.77.0.195:5146$LR•IPV4•18『线路2』 #EXTINF:-1 tvg-id="江门综合" tvg-name="江门综合" group-title="广东",江门综合 -https://stream1.freetv.fun/jiang-men-zong-he-2.ctv$LR•IPV4•18『线路3』 +https://hls-gateway.vpstv.net/streams/708830.m3u8$LR•IPV4•18『线路3』 #EXTINF:-1 tvg-id="江门综合" tvg-name="江门综合" group-title="广东",江门综合 -https://hls-gateway.vpstv.net/streams/708830.m3u8$LR•IPV4•18『线路4』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7006&tk=a0c4f6cfaba3$LR•IPV4•18『线路4』 #EXTINF:-1 tvg-id="江门综合" tvg-name="江门综合" group-title="广东",江门综合 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7006&tk=a0c4f6cfaba3$LR•IPV4•18『线路5』 +https://stream1.freetv.fun/jiang-men-zong-he-8.ctv$LR•IPV4•18『线路5』 #EXTINF:-1 tvg-id="江门综合" tvg-name="江门综合" group-title="广东",江门综合 -https://stream1.freetv.fun/jiang-men-zong-he-13.ctv$LR•IPV4•18『线路6』 +https://stream1.freetv.fun/jiang-men-zong-he-11.ctv$LR•IPV4•18『线路6』 #EXTINF:-1 tvg-id="江门综合" tvg-name="江门综合" group-title="广东",江门综合 -https://stream1.freetv.fun/jiang-men-zong-he-12.ctv$LR•IPV4•18『线路7』 +https://stream1.freetv.fun/jiang-men-zong-he-10.ctv$LR•IPV4•18『线路7』 #EXTINF:-1 tvg-id="江门综合" tvg-name="江门综合" group-title="广东",江门综合 -https://stream1.freetv.fun/jiang-men-zong-he-5.ctv$LR•IPV4•18『线路8』 +https://stream1.freetv.fun/jiang-men-zong-he-12.ctv$LR•IPV4•18『线路8』 #EXTINF:-1 tvg-id="江门综合" tvg-name="江门综合" group-title="广东",江门综合 -http://125.89.163.44:8888/udp/239.77.0.201:5146$LR•IPV4•18『线路9』 +https://stream1.freetv.fun/jiang-men-zong-he-9.ctv$LR•IPV4•18『线路9』 #EXTINF:-1 tvg-id="江门综合" tvg-name="江门综合" group-title="广东",江门综合 -http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=jmzh$LR•IPV4•18『线路10』 +https://stream1.freetv.fun/jiang-men-zong-he-2.ctv$LR•IPV4•18『线路10』 #EXTINF:-1 tvg-id="江门综合" tvg-name="江门综合" group-title="广东",江门综合 -https://stream1.freetv.fun/jiang-men-zong-he-9.ctv$LR•IPV4•18『线路11』 +https://stream1.freetv.fun/jiang-men-zong-he-5.ctv$LR•IPV4•18『线路11』 #EXTINF:-1 tvg-id="江门综合" tvg-name="江门综合" group-title="广东",江门综合 -https://stream1.freetv.fun/jiang-men-zong-he-7.ctv$LR•IPV4•18『线路12』 +http://125.89.163.44:8888/udp/239.77.0.201:5146$LR•IPV4•18『线路12』 #EXTINF:-1 tvg-id="江门综合" tvg-name="江门综合" group-title="广东",江门综合 -https://stream1.freetv.fun/jiang-men-zong-he-8.ctv$LR•IPV4•18『线路13』 +https://stream1.freetv.fun/jiang-men-zong-he-7.ctv$LR•IPV4•18『线路13』 #EXTINF:-1 tvg-id="江门综合" tvg-name="江门综合" group-title="广东",江门综合 -https://stream1.freetv.fun/jiang-men-zong-he-6.ctv$LR•IPV4•18『线路14』 +http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=jmzh$LR•IPV4•18『线路14』 #EXTINF:-1 tvg-id="江门综合" tvg-name="江门综合" group-title="广东",江门综合 -http://120.77.205.62:8087/rtp/239.77.0.195:5146$LR•IPV4•18『线路15』 +https://stream1.freetv.fun/jiang-men-zong-he-1.ctv$LR•IPV4•18『线路15』 #EXTINF:-1 tvg-id="江门综合" tvg-name="江门综合" group-title="广东",江门综合 -https://stream1.freetv.fun/jiang-men-zong-he-1.ctv$LR•IPV4•18『线路16』 +https://stream1.freetv.fun/jiang-men-zong-he-4.ctv$LR•IPV4•18『线路16』 #EXTINF:-1 tvg-id="江门综合" tvg-name="江门综合" group-title="广东",江门综合 -https://stream1.freetv.fun/jiang-men-zong-he-14.ctv$LR•IPV4•18『线路17』 +https://stream1.freetv.fun/jiang-men-zong-he-6.ctv$LR•IPV4•18『线路17』 #EXTINF:-1 tvg-id="江门综合" tvg-name="江门综合" group-title="广东",江门综合 -https://stream1.freetv.fun/jiang-men-zong-he-11.ctv$LR•IPV4•18『线路18』 +https://stream1.freetv.fun/jiang-men-zong-he-13.ctv$LR•IPV4•18『线路18』 #EXTINF:-1 tvg-id="江门侨乡生活" tvg-name="江门侨乡生活" group-title="广东",江门侨乡生活 -http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=jmqxsh$LR•IPV4•4『线路1』 +http://120.77.205.62:8087/rtp/239.77.0.196:5146$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="江门侨乡生活" tvg-name="江门侨乡生活" group-title="广东",江门侨乡生活 http://125.89.163.44:8888/udp/239.77.0.202:5146$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="江门侨乡生活" tvg-name="江门侨乡生活" group-title="广东",江门侨乡生活 -http://120.77.205.62:8087/rtp/239.77.0.196:5146$LR•IPV4•4『线路3』 +http://120.77.205.62:8087/rtp/239.77.0.202:5146$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="江门侨乡生活" tvg-name="江门侨乡生活" group-title="广东",江门侨乡生活 -http://120.77.205.62:8087/rtp/239.77.0.202:5146$LR•IPV4•4『线路4』 +http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=jmqxsh$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="河源综合" tvg-name="河源综合" group-title="广东",河源综合 -https://tmpstream.hyrtv.cn/xwzh/sd/live.m3u8?_upt=f767206b1671099007$LR•IPV4•5『线路1』 +https://tmpstream.hyrtv.cn/xwzh/sd/live.m3u8$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="河源综合" tvg-name="河源综合" group-title="广东",河源综合 -https://tmpstream.hyrtv.cn/xwzh/sd/live.m3u8$LR•IPV4•5『线路2』 +https://tmpstream.hyrtv.cn/xwzh/sd/live.m3u8?_upt=f767206b1671099007$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="河源综合" tvg-name="河源综合" group-title="广东",河源综合 -http://120.234.5.28:6000/udp/239.21.0.48:3532$LR•IPV4•5『线路3』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8947&tk=a0c4f6cfaba3$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="河源综合" tvg-name="河源综合" group-title="广东",河源综合 http://125.89.163.44:8888/udp/239.253.43.213:5146$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="河源综合" tvg-name="河源综合" group-title="广东",河源综合 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8947&tk=a0c4f6cfaba3$LR•IPV4•5『线路5』 +http://120.234.5.28:6000/udp/239.21.0.48:3532$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="河源公共" tvg-name="河源公共" group-title="广东",河源公共 -http://tmpstream.hyrtv.cn/hygg/sd/live.m3u8$LR•IPV4•5『线路1』 +https://tmpstream.hyrtv.cn/hygg/sd/live.m3u8$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="河源公共" tvg-name="河源公共" group-title="广东",河源公共 -http://120.234.5.28:6000/udp/239.21.0.49:3536$LR•IPV4•5『线路2』 +http://tmpstream.hyrtv.cn/hygg/sd/live.m3u8$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="河源公共" tvg-name="河源公共" group-title="广东",河源公共 -http://125.89.163.44:8888/udp/239.253.43.214:5146$LR•IPV4•5『线路3』 +http://1b6467f415.iok.la:9931/tsfile/live/1079_1.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="河源公共" tvg-name="河源公共" group-title="广东",河源公共 -https://tmpstream.hyrtv.cn/hygg/sd/live.m3u8$LR•IPV4•5『线路4』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5263&tk=a0c4f6cfaba3$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="河源公共" tvg-name="河源公共" group-title="广东",河源公共 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5263&tk=a0c4f6cfaba3$LR•IPV4•5『线路5』 +http://120.234.5.28:6000/udp/239.21.0.49:3536$LR•IPV4•6『线路5』 +#EXTINF:-1 tvg-id="河源公共" tvg-name="河源公共" group-title="广东",河源公共 +http://125.89.163.44:8888/udp/239.253.43.214:5146$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="云浮综合" tvg-name="云浮综合" group-title="广东",云浮综合 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6868&tk=a0c4f6cfaba3$LR•IPV4•2『线路1』 +http://125.89.163.44:8888/udp/239.77.0.253:5146$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="云浮综合" tvg-name="云浮综合" group-title="广东",云浮综合 -http://125.89.163.44:8888/udp/239.77.0.253:5146$LR•IPV4•2『线路2』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6868&tk=a0c4f6cfaba3$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="茂名综合" tvg-name="茂名综合" group-title="广东",茂名综合 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9728&tk=a0c4f6cfaba3$LR•IPV4•5『线路1』 +http://120.77.205.62:8087/rtp/239.77.0.206:5146$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="茂名综合" tvg-name="茂名综合" group-title="广东",茂名综合 -http://120.77.205.62:8087/rtp/239.77.0.204:5146$LR•IPV4•5『线路2』 +http://125.89.163.44:8888/udp/239.77.0.206:5146$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="茂名综合" tvg-name="茂名综合" group-title="广东",茂名综合 -http://125.89.163.44:8888/udp/239.77.0.206:5146$LR•IPV4•5『线路3』 +https://hls-gateway.vpstv.net/streams/708982.m3u8$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="茂名综合" tvg-name="茂名综合" group-title="广东",茂名综合 -http://120.77.205.62:8087/rtp/239.77.0.206:5146$LR•IPV4•5『线路4』 +http://120.77.205.62:8087/rtp/239.77.0.204:5146$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="茂名综合" tvg-name="茂名综合" group-title="广东",茂名综合 -https://hls-gateway.vpstv.net/streams/708982.m3u8$LR•IPV4•5『线路5』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9728&tk=a0c4f6cfaba3$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="茂名公共" tvg-name="茂名公共" group-title="广东",茂名公共 http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7418&tk=a0c4f6cfaba3$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="茂名公共" tvg-name="茂名公共" group-title="广东",茂名公共 http://120.77.205.62:8087/rtp/239.77.0.205:5146$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="茂名公共" tvg-name="茂名公共" group-title="广东",茂名公共 -http://125.89.163.44:8888/udp/239.77.0.207:5146$LR•IPV4•4『线路3』 +http://120.77.205.62:8087/rtp/239.77.0.207:5146$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="茂名公共" tvg-name="茂名公共" group-title="广东",茂名公共 -http://120.77.205.62:8087/rtp/239.77.0.207:5146$LR•IPV4•4『线路4』 +http://125.89.163.44:8888/udp/239.77.0.207:5146$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-26.ctv$LR•IPV4•27『线路1』 +https://stream1.freetv.fun/fo-shan-gong-gong-19.ctv$LR•IPV4•27『线路1』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-1.ctv$LR•IPV4•27『线路2』 +https://stream1.freetv.fun/fo-shan-gong-gong-8.ctv$LR•IPV4•27『线路2』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/foshan.js?id=http://p.ytelc.com/169l/gd/foshan.php?id=foshangg$LR•IPV4•27『线路3』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.134:11111$LR•IPV4•27『线路3』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-6.ctv$LR•IPV4•27『线路4』 +https://stream1.freetv.fun/fo-shan-gong-gong-9.ctv$LR•IPV4•27『线路4』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-17.ctv$LR•IPV4•27『线路5』 +http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/foshan.js?id=http://p.ytelc.com/169l/gd/foshan.php?id=foshangg$LR•IPV4•27『线路5』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-4.ctv$LR•IPV4•27『线路6』 +https://stream1.freetv.fun/fo-shan-gong-gong-25.ctv$LR•IPV4•27『线路6』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -http://8.137.59.151:3000/guangdong/foshan.php?id=fsgg$LR•IPV4•27『线路7』 +https://stream1.freetv.fun/fo-shan-gong-gong-4.ctv$LR•IPV4•27『线路7』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-15.ctv$LR•IPV4•27『线路8』 +https://stream1.freetv.fun/fo-shan-gong-gong-26.ctv$LR•IPV4•27『线路8』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-12.ctv$LR•IPV4•27『线路9』 +http://8.137.59.151:3000/guangdong/foshan.php?id=fsgg$LR•IPV4•27『线路9』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 https://stream1.freetv.fun/fo-shan-gong-gong-27.ctv$LR•IPV4•27『线路10』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-18.ctv$LR•IPV4•27『线路11』 +https://stream1.freetv.fun/fo-shan-gong-gong-2.ctv$LR•IPV4•27『线路11』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-2.ctv$LR•IPV4•27『线路12』 +https://stream1.freetv.fun/fo-shan-gong-gong-15.ctv$LR•IPV4•27『线路12』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -http://qjrhc.jydjd.top:2911/udp/224.1.100.134:11111$LR•IPV4•27『线路13』 +https://stream1.freetv.fun/fo-shan-gong-gong-18.ctv$LR•IPV4•27『线路13』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-21.ctv$LR•IPV4•27『线路14』 +https://stream1.freetv.fun/fo-shan-gong-gong-1.ctv$LR•IPV4•27『线路14』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-16.ctv$LR•IPV4•27『线路15』 +https://stream1.freetv.fun/fo-shan-gong-gong-21.ctv$LR•IPV4•27『线路15』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -http://125.89.163.44:8888/udp/239.253.43.53:5146$LR•IPV4•27『线路16』 +https://stream1.freetv.fun/fo-shan-gong-gong-12.ctv$LR•IPV4•27『线路16』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-22.ctv$LR•IPV4•27『线路17』 +https://stream1.freetv.fun/fo-shan-gong-gong-11.ctv$LR•IPV4•27『线路17』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-9.ctv$LR•IPV4•27『线路18』 +https://stream1.freetv.fun/fo-shan-gong-gong-22.ctv$LR•IPV4•27『线路18』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-25.ctv$LR•IPV4•27『线路19』 +https://stream1.freetv.fun/fo-shan-gong-gong-13.ctv$LR•IPV4•27『线路19』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-19.ctv$LR•IPV4•27『线路20』 +https://stream1.freetv.fun/fo-shan-gong-gong-3.ctv$LR•IPV4•27『线路20』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-5.ctv$LR•IPV4•27『线路21』 +https://stream1.freetv.fun/fo-shan-gong-gong-10.ctv$LR•IPV4•27『线路21』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-13.ctv$LR•IPV4•27『线路22』 +https://stream1.freetv.fun/fo-shan-gong-gong-16.ctv$LR•IPV4•27『线路22』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-8.ctv$LR•IPV4•27『线路23』 +https://stream1.freetv.fun/fo-shan-gong-gong-17.ctv$LR•IPV4•27『线路23』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-10.ctv$LR•IPV4•27『线路24』 +http://125.89.163.44:8888/udp/239.253.43.53:5146$LR•IPV4•27『线路24』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4358&tk=a0c4f6cfaba3$LR•IPV4•27『线路25』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-3.ctv$LR•IPV4•27『线路26』 +https://stream1.freetv.fun/fo-shan-gong-gong-6.ctv$LR•IPV4•27『线路26』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="广东",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-11.ctv$LR•IPV4•27『线路27』 +https://stream1.freetv.fun/fo-shan-gong-gong-5.ctv$LR•IPV4•27『线路27』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-22.ctv$LR•IPV4•26『线路1』 +https://stream1.freetv.fun/fo-shan-ying-shi-15.ctv$LR•IPV4•26『线路1』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 https://stream1.freetv.fun/fo-shan-ying-shi-21.ctv$LR•IPV4•26『线路2』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-13.ctv$LR•IPV4•26『线路3』 +http://8.137.59.151:3000/guangdong/foshan.php?id=fsys$LR•IPV4•26『线路3』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -http://125.89.163.44:8888/udp/239.253.43.56:5146$LR•IPV4•26『线路4』 +https://stream1.freetv.fun/fo-shan-ying-shi-17.ctv$LR•IPV4•26『线路4』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-11.ctv$LR•IPV4•26『线路5』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5642&tk=a0c4f6cfaba3$LR•IPV4•26『线路5』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-5.ctv$LR•IPV4•26『线路6』 +https://stream1.freetv.fun/fo-shan-ying-shi-19.ctv$LR•IPV4•26『线路6』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-4.ctv$LR•IPV4•26『线路7』 +https://stream1.freetv.fun/fo-shan-ying-shi-20.ctv$LR•IPV4•26『线路7』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -http://8.137.59.151:3000/guangdong/foshan.php?id=fsys$LR•IPV4•26『线路8』 +https://stream1.freetv.fun/fo-shan-ying-shi-14.ctv$LR•IPV4•26『线路8』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-20.ctv$LR•IPV4•26『线路9』 +http://125.89.163.44:8888/udp/239.253.43.56:5146$LR•IPV4•26『线路9』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-7.ctv$LR•IPV4•26『线路10』 +https://stream1.freetv.fun/fo-shan-ying-shi-1.ctv$LR•IPV4•26『线路10』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-8.ctv$LR•IPV4•26『线路11』 +https://stream1.freetv.fun/fo-shan-ying-shi-4.ctv$LR•IPV4•26『线路11』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-17.ctv$LR•IPV4•26『线路12』 +https://stream1.freetv.fun/fo-shan-ying-shi-11.ctv$LR•IPV4•26『线路12』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-15.ctv$LR•IPV4•26『线路13』 +https://stream1.freetv.fun/fo-shan-ying-shi-22.ctv$LR•IPV4•26『线路13』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-3.ctv$LR•IPV4•26『线路14』 +https://stream1.freetv.fun/fo-shan-ying-shi-10.ctv$LR•IPV4•26『线路14』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-16.ctv$LR•IPV4•26『线路15』 +https://stream1.freetv.fun/fo-shan-ying-shi-6.ctv$LR•IPV4•26『线路15』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-14.ctv$LR•IPV4•26『线路16』 +https://stream1.freetv.fun/fo-shan-ying-shi-3.ctv$LR•IPV4•26『线路16』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-9.ctv$LR•IPV4•26『线路17』 +https://stream1.freetv.fun/fo-shan-ying-shi-13.ctv$LR•IPV4•26『线路17』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-19.ctv$LR•IPV4•26『线路18』 +http://180.143.83.48:8181/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路18』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/foshan.js?id=http://p.ytelc.com/169l/gd/foshan.php?id=foshanys$LR•IPV4•26『线路19』 +https://stream1.freetv.fun/fo-shan-ying-shi-7.ctv$LR•IPV4•26『线路19』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-10.ctv$LR•IPV4•26『线路20』 +https://stream1.freetv.fun/fo-shan-ying-shi-16.ctv$LR•IPV4•26『线路20』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-2.ctv$LR•IPV4•26『线路21』 +http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/foshan.js?id=http://p.ytelc.com/169l/gd/foshan.php?id=foshanys$LR•IPV4•26『线路21』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -http://180.143.83.48:8181/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路22』 +https://stream1.freetv.fun/fo-shan-ying-shi-9.ctv$LR•IPV4•26『线路22』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5642&tk=a0c4f6cfaba3$LR•IPV4•26『线路23』 +https://stream1.freetv.fun/fo-shan-ying-shi-5.ctv$LR•IPV4•26『线路23』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-1.ctv$LR•IPV4•26『线路24』 +https://stream1.freetv.fun/fo-shan-ying-shi-12.ctv$LR•IPV4•26『线路24』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-12.ctv$LR•IPV4•26『线路25』 +https://stream1.freetv.fun/fo-shan-ying-shi-8.ctv$LR•IPV4•26『线路25』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="广东",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-6.ctv$LR•IPV4•26『线路26』 +https://stream1.freetv.fun/fo-shan-ying-shi-2.ctv$LR•IPV4•26『线路26』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-15.ctv$LR•IPV4•27『线路1』 +https://hls-gateway.vpstv.net/streams/708979.m3u8$LR•IPV4•27『线路1』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-24.ctv$LR•IPV4•27『线路2』 +https://stream1.freetv.fun/fo-shan-zong-he-11.ctv$LR•IPV4•27『线路2』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-7.ctv$LR•IPV4•27『线路3』 +https://stream1.freetv.fun/fo-shan-zong-he-12.ctv$LR•IPV4•27『线路3』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-13.ctv$LR•IPV4•27『线路4』 +https://stream1.freetv.fun/fo-shan-zong-he-18.ctv$LR•IPV4•27『线路4』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-16.ctv$LR•IPV4•27『线路5』 +https://stream1.freetv.fun/fo-shan-zong-he-22.ctv$LR•IPV4•27『线路5』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-23.ctv$LR•IPV4•27『线路6』 +https://stream1.freetv.fun/fo-shan-zong-he-15.ctv$LR•IPV4•27『线路6』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://hls-gateway.vpstv.net/streams/708979.m3u8$LR•IPV4•27『线路7』 +https://stream1.freetv.fun/fo-shan-zong-he-5.ctv$LR•IPV4•27『线路7』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-20.ctv$LR•IPV4•27『线路8』 +https://stream1.freetv.fun/fo-shan-zong-he-17.ctv$LR•IPV4•27『线路8』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-11.ctv$LR•IPV4•27『线路9』 +http://8.137.59.151:3000/guangdong/foshan.php?id=fszh$LR•IPV4•27『线路9』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-3.ctv$LR•IPV4•27『线路10』 +https://stream1.freetv.fun/fo-shan-zong-he-13.ctv$LR•IPV4•27『线路10』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-14.ctv$LR•IPV4•27『线路11』 +https://stream1.freetv.fun/fo-shan-zong-he-2.ctv$LR•IPV4•27『线路11』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-9.ctv$LR•IPV4•27『线路12』 +https://stream1.freetv.fun/fo-shan-zong-he-6.ctv$LR•IPV4•27『线路12』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-1.ctv$LR•IPV4•27『线路13』 +https://stream1.freetv.fun/fo-shan-zong-he-16.ctv$LR•IPV4•27『线路13』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-6.ctv$LR•IPV4•27『线路14』 +http://125.89.163.44:8888/udp/239.253.43.57:5146$LR•IPV4•27『线路14』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-8.ctv$LR•IPV4•27『线路15』 +https://stream1.freetv.fun/fo-shan-zong-he-7.ctv$LR•IPV4•27『线路15』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-5.ctv$LR•IPV4•27『线路16』 +https://stream1.freetv.fun/fo-shan-zong-he-1.ctv$LR•IPV4•27『线路16』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-18.ctv$LR•IPV4•27『线路17』 +https://stream1.freetv.fun/fo-shan-zong-he-24.ctv$LR•IPV4•27『线路17』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-17.ctv$LR•IPV4•27『线路18』 +http://120.77.205.62:8087/rtp/239.253.43.57:5146$LR•IPV4•27『线路18』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -http://8.137.59.151:3000/guangdong/foshan.php?id=fszh$LR•IPV4•27『线路19』 +https://stream1.freetv.fun/fo-shan-zong-he-14.ctv$LR•IPV4•27『线路19』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-12.ctv$LR•IPV4•27『线路20』 +https://stream1.freetv.fun/fo-shan-zong-he-9.ctv$LR•IPV4•27『线路20』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -http://120.77.205.62:8087/rtp/239.253.43.57:5146$LR•IPV4•27『线路21』 +https://stream1.freetv.fun/fo-shan-zong-he-8.ctv$LR•IPV4•27『线路21』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-2.ctv$LR•IPV4•27『线路22』 +https://stream1.freetv.fun/fo-shan-zong-he-3.ctv$LR•IPV4•27『线路22』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -http://125.89.163.44:8888/udp/239.253.43.57:5146$LR•IPV4•27『线路23』 +https://stream1.freetv.fun/fo-shan-zong-he-21.ctv$LR•IPV4•27『线路23』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3169&tk=a0c4f6cfaba3$LR•IPV4•27『线路24』 +https://stream1.freetv.fun/fo-shan-zong-he-23.ctv$LR•IPV4•27『线路24』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -http://120.77.205.62:8087/rtp/239.253.43.52:5146$LR•IPV4•27『线路25』 +https://stream1.freetv.fun/fo-shan-zong-he-20.ctv$LR•IPV4•27『线路25』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-22.ctv$LR•IPV4•27『线路26』 +http://120.77.205.62:8087/rtp/239.253.43.52:5146$LR•IPV4•27『线路26』 #EXTINF:-1 tvg-id="佛山综合" tvg-name="佛山综合" group-title="广东",佛山综合 -https://stream1.freetv.fun/fo-shan-zong-he-21.ctv$LR•IPV4•27『线路27』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3169&tk=a0c4f6cfaba3$LR•IPV4•27『线路27』 #EXTINF:-1 tvg-id="东莞新闻综合" tvg-name="东莞新闻综合" group-title="广东",东莞新闻综合 https://stream.sun0769.com/dgrtv1/mp4tv1_800/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="东莞生活资讯" tvg-name="东莞生活资讯" group-title="广东",东莞生活资讯 https://stream.sun0769.com/dgrtv1/mp4tv2_800/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://192.151.150.154/live/gdxwa.m3u8$LR•IPV4•67『线路1』 +http://116.77.239.26:44300/tsfile/live/0107_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•66『线路1』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://125.89.163.44:8888/udp/239.77.0.173:5146$LR•IPV4•67『线路2』 +https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-8.m3u8$LR•IPV4•66『线路2』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://218.15.183.23:9901/tsfile/live/23010_1.m3u8$LR•IPV4•67『线路3』 +https://stream1.freetv.fun/yan-dong-xin-wen-2.m3u8$LR•IPV4•66『线路3』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-8.m3u8$LR•IPV4•67『线路4』 +https://stream1.freetv.fun/yan-dong-xin-wen-8.ctv$LR•IPV4•66『线路4』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-8.m3u8$LR•IPV4•67『线路5』 +http://121.11.160.7:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•66『线路5』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://116.77.239.26:44300/tsfile/live/0107_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•67『线路6』 +https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-17.m3u8$LR•IPV4•66『线路6』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://1b6467f415.iok.la:9931/tsfile/live/1012_1.m3u8$LR•IPV4•67『线路7』 +https://stream1.freetv.fun/yan-dong-xin-wen-19.ctv$LR•IPV4•66『线路7』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://38.75.136.137:98/gslb/dsdqpub/gdxw.m3u8?auth=testpub$LR•IPV4•67『线路8』 +https://stream1.freetv.fun/yan-dong-xin-wen-13.ctv$LR•IPV4•66『线路8』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-24.ctv$LR•IPV4•67『线路9』 +http://125.89.163.44:8888/udp/239.77.0.173:5146$LR•IPV4•66『线路9』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=6y62fU&tk=zUr4K92Dl6kh$LR•IPV4•67『线路10』 +https://stream1.freetv.fun/yan-dong-xin-wen-24.m3u8$LR•IPV4•66『线路10』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-7.m3u8$LR•IPV4•67『线路11』 +http://120.238.94.10:9901/tsfile/live/1010_1.m3u8$LR•IPV4•66『线路11』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://satellitepull.cnr.cn/live/wxgdxwgb/playlist.m3u8$LR•IPV4•67『线路12』 +https://stream1.freetv.fun/yan-dong-xin-wen-12.ctv$LR•IPV4•66『线路12』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-2.m3u8$LR•IPV4•67『线路13』 +https://stream1.freetv.fun/yan-dong-xin-wen-18.m3u8$LR•IPV4•66『线路13』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-17.m3u8$LR•IPV4•67『线路14』 +https://stream1.freetv.fun/yan-dong-xin-wen-14.ctv$LR•IPV4•66『线路14』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://hk.188766.xyz/?migutoken=4254e1ca8dcef82514ec6ce2a8bd39e4&id=gd_gdxw&type=sz$LR•IPV4•67『线路15』 +https://live.ximalaya.com/radio-first-page-app/live/245/64.m3u8?transcode=ts$LR•IPV4•66『线路15』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-5.ctv$LR•IPV4•67『线路16』 +https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-13.m3u8$LR•IPV4•66『线路16』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-25.m3u8$LR•IPV4•67『线路17』 +https://hls-gateway.vpstv.net/streams/708873.m3u8$LR•IPV4•66『线路17』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-23.ctv$LR•IPV4•67『线路18』 +https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-16.m3u8$LR•IPV4•66『线路18』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-27.ctv$LR•IPV4•67『线路19』 +http://183.3.134.56:9901/tsfile/live/1005_1.m3u8$LR•IPV4•66『线路19』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-12.ctv$LR•IPV4•67『线路20』 +https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-11.m3u8$LR•IPV4•66『线路20』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-18.ctv$LR•IPV4•67『线路21』 +https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-14.m3u8$LR•IPV4•66『线路21』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-22.ctv$LR•IPV4•67『线路22』 +http://satellitepull.cnr.cn/live/wxgdxwgb/playlist.m3u8$LR•IPV4•66『线路22』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-14.m3u8$LR•IPV4•67『线路23』 +https://stream1.freetv.fun/yan-dong-xin-wen-7.ctv$LR•IPV4•66『线路23』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-8.ctv$LR•IPV4•67『线路24』 +https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-6.m3u8$LR•IPV4•66『线路24』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-9.m3u8$LR•IPV4•67『线路25』 +https://satellitepull.cnr.cn/live/wxgdxwgb/playlist.m3u8$LR•IPV4•66『线路25』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-19.ctv$LR•IPV4•67『线路26』 +https://stream1.freetv.fun/yan-dong-xin-wen-21.ctv$LR•IPV4•66『线路26』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-13.m3u8$LR•IPV4•67『线路27』 +http://183.237.95.108:9901/tsfile/live/1031_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•66『线路27』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://121.11.160.7:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•67『线路28』 +https://stream1.freetv.fun/yan-dong-xin-wen-20.ctv$LR•IPV4•66『线路28』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-16.m3u8$LR•IPV4•67『线路29』 +https://stream1.freetv.fun/yan-dong-xin-wen-5.ctv$LR•IPV4•66『线路29』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://183.11.239.36:808/hls/5/index.m3u8$LR•IPV4•67『线路30』 +https://stream1.freetv.fun/yan-dong-xin-wen-gao-qing-1.m3u8$LR•IPV4•66『线路30』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://live.ximalaya.com/radio-first-page-app/live/245/64.m3u8?transcode=ts$LR•IPV4•67『线路31』 +https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-15.m3u8$LR•IPV4•66『线路31』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://119.32.12.32:2901/udp/224.1.100.5:11111$LR•IPV4•67『线路32』 +https://stream1.freetv.fun/yan-dong-xin-wen-17.m3u8$LR•IPV4•66『线路32』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://183.3.134.56:9901/tsfile/live/1005_1.m3u8$LR•IPV4•67『线路33』 +https://stream1.freetv.fun/yan-dong-xin-wen-9.ctv$LR•IPV4•66『线路33』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-7.ctv$LR•IPV4•67『线路34』 +https://stream1.freetv.fun/yan-dong-xin-wen-10.m3u8$LR•IPV4•66『线路34』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://183.237.95.108:9901/tsfile/live/1031_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•67『线路35』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8637&tk=a0c4f6cfaba3$LR•IPV4•66『线路35』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://119.32.12.17:2901/udp/224.1.100.5:11111$LR•IPV4•67『线路36』 +https://stream1.freetv.fun/yan-dong-xin-wen-15.ctv$LR•IPV4•66『线路36』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-15.m3u8$LR•IPV4•67『线路37』 +http://192.151.150.154/live/gdxwa.m3u8$LR•IPV4•66『线路37』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-20.ctv$LR•IPV4•67『线路38』 +https://stream1.freetv.fun/yan-dong-xin-wen-8.m3u8$LR•IPV4•66『线路38』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://hls-gateway.vpstv.net/streams/708873.m3u8$LR•IPV4•67『线路39』 +http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=6y62fU&tk=zUr4K92Dl6kh$LR•IPV4•66『线路39』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-9.ctv$LR•IPV4•67『线路40』 +https://stream1.freetv.fun/yan-dong-xin-wen-27.ctv$LR•IPV4•66『线路40』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-24.m3u8$LR•IPV4•67『线路41』 +https://stream1.freetv.fun/yan-dong-xin-wen-18.ctv$LR•IPV4•66『线路41』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8637&tk=a0c4f6cfaba3$LR•IPV4•67『线路42』 +https://stream1.freetv.fun/yan-dong-xin-wen-4.ctv$LR•IPV4•66『线路42』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-25.ctv$LR•IPV4•67『线路43』 +https://stream1.freetv.fun/yan-dong-xin-wen-23.ctv$LR•IPV4•66『线路43』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-10.m3u8$LR•IPV4•67『线路44』 +https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-18.m3u8$LR•IPV4•66『线路44』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://120.238.94.10:9901/tsfile/live/1010_1.m3u8$LR•IPV4•67『线路45』 +https://stream1.freetv.fun/yan-dong-xin-wen-24.ctv$LR•IPV4•66『线路45』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-16.ctv$LR•IPV4•67『线路46』 +https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-9.m3u8$LR•IPV4•66『线路46』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-15.ctv$LR•IPV4•67『线路47』 +http://183.11.239.36:808/hls/5/index.m3u8$LR•IPV4•66『线路47』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-6.m3u8$LR•IPV4•67『线路48』 +https://stream1.freetv.fun/yan-dong-xin-wen-16.m3u8$LR•IPV4•66『线路48』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-16.m3u8$LR•IPV4•67『线路49』 +http://63.141.230.178:82/gslb/zbdq5.m3u8?id=gdxw$LR•IPV4•66『线路49』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-11.m3u8$LR•IPV4•67『线路50』 +http://218.15.183.23:9901/tsfile/live/23010_1.m3u8$LR•IPV4•66『线路50』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-10.m3u8$LR•IPV4•67『线路51』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.5:11111$LR•IPV4•66『线路51』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-2.m3u8$LR•IPV4•67『线路52』 +http://38.75.136.137:98/gslb/dsdqpub/gdxw.m3u8?auth=testpub$LR•IPV4•66『线路52』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://63.141.230.178:82/gslb/zbdq5.m3u8?id=gdxw$LR•IPV4•67『线路53』 +https://stream1.freetv.fun/yan-dong-xin-wen-25.ctv$LR•IPV4•66『线路53』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-18.m3u8$LR•IPV4•67『线路54』 +https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-10.m3u8$LR•IPV4•66『线路54』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://107.150.60.122/live/gdxwa.m3u8$LR•IPV4•67『线路55』 +https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-7.m3u8$LR•IPV4•66『线路55』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-5.m3u8$LR•IPV4•67『线路56』 +https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-5.m3u8$LR•IPV4•66『线路56』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://satellitepull.cnr.cn/live/wxgdxwgb/playlist.m3u8$LR•IPV4•67『线路57』 +https://hk.188766.xyz/?migutoken=4254e1ca8dcef82514ec6ce2a8bd39e4&id=gd_gdxw&type=sz$LR•IPV4•66『线路57』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-17.m3u8$LR•IPV4•67『线路58』 +http://107.150.60.122/live/gdxwa.m3u8$LR•IPV4•66『线路58』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-4.ctv$LR•IPV4•67『线路59』 +https://stream1.freetv.fun/yan-dong-xin-wen-25.m3u8$LR•IPV4•66『线路59』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-21.ctv$LR•IPV4•67『线路60』 +http://119.32.12.32:2901/udp/224.1.100.5:11111$LR•IPV4•66『线路60』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-6.ctv$LR•IPV4•67『线路61』 +http://119.32.12.17:2901/udp/224.1.100.5:11111$LR•IPV4•66『线路61』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-20.m3u8$LR•IPV4•67『线路62』 +https://stream1.freetv.fun/yan-dong-xin-wen-22.ctv$LR•IPV4•66『线路62』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-13.ctv$LR•IPV4•67『线路63』 +https://stream1.freetv.fun/yan-dong-xin-wen-20.m3u8$LR•IPV4•66『线路63』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -http://qjrhc.jydjd.top:2911/udp/224.1.100.5:11111$LR•IPV4•67『线路64』 +http://1b6467f415.iok.la:9931/tsfile/live/1012_1.m3u8$LR•IPV4•66『线路64』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-18.m3u8$LR•IPV4•67『线路65』 +https://stream1.freetv.fun/yan-dong-xin-wen-16.ctv$LR•IPV4•66『线路65』 #EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-14.ctv$LR•IPV4•67『线路66』 -#EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" group-title="广东",广东新闻 -https://stream1.freetv.fun/yan-dong-xin-wen-gao-qing-1.m3u8$LR•IPV4•67『线路67』 +https://stream1.freetv.fun/yan-dong-xin-wen-6.ctv$LR•IPV4•66『线路66』 #EXTINF:-1 tvg-id="南国都市" tvg-name="南国都市" group-title="广东",南国都市 https://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=627498b93bc6f5d6e2460d0823bf81a3&txTime=18e6df74fc2$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="南国都市" tvg-name="南国都市" group-title="广东",南国都市 -http://tencentplaygzrb01.gztv.com/live/nanguodushi.m3u8$LR•IPV4•7『线路2』 +http://r.jdshipin.com/nWaZO$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="南国都市" tvg-name="南国都市" group-title="广东",南国都市 -https://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=c82f82d7a6beda92b2b1ce93753dcacb&txTime=18e4a381d46$LR•IPV4•7『线路3』 +https://tencentplaygsm.gztv.com/live/nanguodushi.m3u8?txTime=6594e9d5&txSecret=e783742d1233ae402ec4566b8537ca17$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="南国都市" tvg-name="南国都市" group-title="广东",南国都市 -http://r.jdshipin.com/nWaZO$LR•IPV4•7『线路4』 +https://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=c82f82d7a6beda92b2b1ce93753dcacb&txTime=18e4a381d46$LR•IPV4•7『线路4』 #EXTINF:-1 tvg-id="南国都市" tvg-name="南国都市" group-title="广东",南国都市 -https://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=59b2d3f371597c07d47815034a0e6e78&txTime=19019c65629$LR•IPV4•7『线路5』 +https://tencentplaygsm.gztv.com/live/nanguodushi.m3u8?txTime=659a5130&txSecret=79b02fdfa77e39b5f5b86cd4bb848a0e$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="南国都市" tvg-name="南国都市" group-title="广东",南国都市 -https://tencentplaygsm.gztv.com/live/nanguodushi.m3u8?txTime=659a5130&txSecret=79b02fdfa77e39b5f5b86cd4bb848a0e$LR•IPV4•7『线路6』 +http://tencentplaygzrb01.gztv.com/live/nanguodushi.m3u8$LR•IPV4•7『线路6』 #EXTINF:-1 tvg-id="南国都市" tvg-name="南国都市" group-title="广东",南国都市 -https://tencentplaygsm.gztv.com/live/nanguodushi.m3u8?txTime=6594e9d5&txSecret=e783742d1233ae402ec4566b8537ca17$LR•IPV4•7『线路7』 +https://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=59b2d3f371597c07d47815034a0e6e78&txTime=19019c65629$LR•IPV4•7『线路7』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -http://www.zhch682022.cn:35455/itv/5000000010000018926.m3u8?cdn=bestzb$LR•IPV4•26『线路1』 +https://stream1.freetv.fun/shang-hai-du-shi-7.m3u8$LR•IPV4•26『线路1』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -https://stream1.freetv.fun/ipv6-shang-hai-du-shi-3.m3u8$LR•IPV4•26『线路2』 +https://stream1.freetv.fun/ipv6-shang-hai-du-shi-1.m3u8$LR•IPV4•26『线路2』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -http://feiyang.ak47s.top:35455/itv/5000000010000018926.m3u8?cdn=bestzb$LR•IPV4•26『线路3』 +https://stream1.freetv.fun/ipv6-shang-hai-du-shi-3.m3u8$LR•IPV4•26『线路3』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -https://zby.130519.xyz/PLTV/11/224/3221225749/index.m3u8$LR•IPV4•26『线路4』 +https://stream1.freetv.fun/ipv6-shang-hai-du-shi-6.m3u8$LR•IPV4•26『线路4』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -https://stream1.freetv.fun/ipv6-shang-hai-du-shi-6.m3u8$LR•IPV4•26『线路5』 +http://api3.52tb.xyz/info?id=372&token=20221127jxwhhemby$LR•IPV4•26『线路5』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6990&tk=23a9aca1f79f$LR•IPV4•26『线路6』 +http://t8622699o8.vicp.fun:60024/itv/5000000010000018926.m3u8?cdn=bestzb$LR•IPV4•26『线路6』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -https://migu.188766.xyz/?migutoken=6d8853cd2a35a94822edc25fb168517a&id=shds&type=sz$LR•IPV4•26『线路7』 +http://bp-livetytv.bestv.cn/ch/bestvdspd.m3u8$LR•IPV4•26『线路7』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -https://stream1.freetv.fun/shang-hai-du-shi-7.m3u8$LR•IPV4•26『线路8』 +http://feiyang.ak47s.top:35455/itv/5000000010000018926.m3u8?cdn=bestzb$LR•IPV4•26『线路8』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 https://stream1.freetv.fun/ipv6-shang-hai-du-shi-10.m3u8$LR•IPV4•26『线路9』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -http://bp-livetytv.bestv.cn/ch/bestvdspd.m3u8$LR•IPV4•26『线路10』 +https://stream1.freetv.fun/ipv6-shang-hai-du-shi-11.m3u8$LR•IPV4•26『线路10』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -https://stream1.freetv.fun/ipv6-shang-hai-du-shi-5.m3u8$LR•IPV4•26『线路11』 +https://stream1.freetv.fun/shang-hai-du-shi-10.m3u8$LR•IPV4•26『线路11』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -http://t8622699o8.vicp.fun:60024/itv/5000000010000018926.m3u8?cdn=bestzb$LR•IPV4•26『线路12』 +https://stream1.freetv.fun/ipv6-shang-hai-du-shi-8.m3u8$LR•IPV4•26『线路12』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3713&tk=bd38c03a3ce1$LR•IPV4•26『线路13』 +http://mvfn.zhch1968.com:35455/itv/5000000010000018926.m3u8?cdn=bestzb$LR•IPV4•26『线路13』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -https://stream1.freetv.fun/shang-hai-du-shi-10.m3u8$LR•IPV4•26『线路14』 +https://stream1.freetv.fun/ipv6-shang-hai-du-shi-5.m3u8$LR•IPV4•26『线路14』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -https://stream1.freetv.fun/ipv6-shang-hai-du-shi-4.m3u8$LR•IPV4•26『线路15』 +https://stream1.freetv.fun/ipv6-shang-hai-du-shi-2.m3u8$LR•IPV4•26『线路15』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -https://stream1.freetv.fun/shang-hai-du-shi-8.m3u8$LR•IPV4•26『线路16』 +https://hls-gateway.vpstv.net/streams/708849.m3u8$LR•IPV4•26『线路16』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -https://stream1.freetv.fun/shang-hai-du-shi-1.m3u8$LR•IPV4•26『线路17』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3713&tk=bd38c03a3ce1$LR•IPV4•26『线路17』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -https://stream1.freetv.fun/ipv6-shang-hai-du-shi-1.m3u8$LR•IPV4•26『线路18』 +http://www.zhch682022.cn:35455/itv/5000000010000018926.m3u8?cdn=bestzb$LR•IPV4•26『线路18』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -https://stream1.freetv.fun/ipv6-shang-hai-du-shi-7.m3u8$LR•IPV4•26『线路19』 +https://zby.130519.xyz/PLTV/11/224/3221225749/index.m3u8$LR•IPV4•26『线路19』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -https://t.freetv.fun/live/shang-hai-du-shi-4.m3u8$LR•IPV4•26『线路20』 +https://migu.188766.xyz/?migutoken=6d8853cd2a35a94822edc25fb168517a&id=shds&type=sz$LR•IPV4•26『线路20』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -https://stream1.freetv.fun/ipv6-shang-hai-du-shi-8.m3u8$LR•IPV4•26『线路21』 +https://stream1.freetv.fun/shang-hai-du-shi-1.m3u8$LR•IPV4•26『线路21』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -https://stream1.freetv.fun/ipv6-shang-hai-du-shi-11.m3u8$LR•IPV4•26『线路22』 +https://stream1.freetv.fun/shang-hai-du-shi-8.m3u8$LR•IPV4•26『线路22』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -http://api3.52tb.xyz/info?id=372&token=20221127jxwhhemby$LR•IPV4•26『线路23』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6990&tk=23a9aca1f79f$LR•IPV4•26『线路23』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -https://hls-gateway.vpstv.net/streams/708849.m3u8$LR•IPV4•26『线路24』 +https://stream1.freetv.fun/ipv6-shang-hai-du-shi-4.m3u8$LR•IPV4•26『线路24』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -https://stream1.freetv.fun/ipv6-shang-hai-du-shi-2.m3u8$LR•IPV4•26『线路25』 +https://stream1.freetv.fun/ipv6-shang-hai-du-shi-7.m3u8$LR•IPV4•26『线路25』 #EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" group-title="上海",上海都市 -http://mvfn.zhch1968.com:35455/itv/5000000010000018926.m3u8?cdn=bestzb$LR•IPV4•26『线路26』 +https://t.freetv.fun/live/shang-hai-du-shi-4.m3u8$LR•IPV4•26『线路26』 #EXTINF:-1 tvg-id="上海外语" tvg-name="上海外语" group-title="上海",上海外语 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2446&tk=e640d0a1bf70$LR•IPV4•7『线路1』 +http://111.22.153.159:35455/itv/2000000002000000001.m3u8?cdn=hnbblive$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="上海外语" tvg-name="上海外语" group-title="上海",上海外语 -http://t.061899.xyz/tl/tl.php?id=shics$LR•IPV4•7『线路2』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1734&tk=b53028476470$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="上海外语" tvg-name="上海外语" group-title="上海",上海外语 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0017&tk=a0c4f6cfaba3$LR•IPV4•7『线路3』 +http://t.061899.xyz/tl/tl.php?id=shics$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="上海外语" tvg-name="上海外语" group-title="上海",上海外语 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6608&tk=e503191f8e20$LR•IPV4•7『线路4』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0017&tk=a0c4f6cfaba3$LR•IPV4•7『线路4』 #EXTINF:-1 tvg-id="上海外语" tvg-name="上海外语" group-title="上海",上海外语 -http://150.158.112.123/公众号~玉玉软件库/mg.php?id=shics$LR•IPV4•7『线路5』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2446&tk=e640d0a1bf70$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="上海外语" tvg-name="上海外语" group-title="上海",上海外语 -http://111.22.153.159:35455/itv/2000000002000000001.m3u8?cdn=hnbblive$LR•IPV4•7『线路6』 +http://150.158.112.123/公众号~玉玉软件库/mg.php?id=shics$LR•IPV4•7『线路6』 #EXTINF:-1 tvg-id="上海外语" tvg-name="上海外语" group-title="上海",上海外语 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1734&tk=b53028476470$LR•IPV4•7『线路7』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6608&tk=e503191f8e20$LR•IPV4•7『线路7』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -http://8.138.7.223/tv/shtv.php?id=wxty$LR•IPV4•44『线路1』 +http://223.110.245.147/ott.js.chinamobile.com/PLTV/3/224/3221226799/index.m3u8$LR•IPV4•44『线路1』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -http://36.105.100.208:35455/itv/5000000010000017540.m3u8?cdn=bestzb$LR•IPV4•44『线路2』 +https://migu.188766.xyz/?migutoken=ed5a02a3b87f3dcc808d4b733daf5cf9&id=%E4%BA%94%E6%98%9F%E4%BD%93%E8%82%B2&pp=1$LR•IPV4•44『线路2』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-14.m3u8$LR•IPV4•44『线路3』 +https://hls-gateway.vpstv.net/streams/636980.m3u8$LR•IPV4•44『线路3』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/wu-xing-ti-yu-11.m3u8$LR•IPV4•44『线路4』 +https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-3.m3u8$LR•IPV4•44『线路4』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-3.m3u8$LR•IPV4•44『线路5』 +https://stream1.freetv.fun/wu-xing-ti-yu-15.m3u8$LR•IPV4•44『线路5』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -http://api2.52tb.xyz/info?id=375&token=20230120rdbtgv$LR•IPV4•44『线路6』 +http://live.xmcdn.com/live/57/64.m3u8$LR•IPV4•44『线路6』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-1.m3u8$LR•IPV4•44『线路7』 +http://101.35.240.114:88/live.php?id=五星体育$LR•IPV4•44『线路7』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-6.m3u8$LR•IPV4•44『线路8』 +https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-14.m3u8$LR•IPV4•44『线路8』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -http://101.35.240.114:88/live.php?id=五星体育$LR•IPV4•44『线路9』 +https://stream1.freetv.fun/wu-xing-ti-yu-4.m3u8$LR•IPV4•44『线路9』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/wu-xing-ti-yu-1.m3u8$LR•IPV4•44『线路10』 +http://bp-livetytv.bestv.cn/ch/bestvwxty.m3u8$LR•IPV4•44『线路10』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-2.m3u8$LR•IPV4•44『线路11』 +https://stream1.freetv.fun/wu-xing-ti-yu-14.m3u8$LR•IPV4•44『线路11』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -http://home.wwang.pw:35455/itv/5000000010000017540.m3u8?cdn=bestzb$LR•IPV4•44『线路12』 +https://t.freetv.fun/live/wu-xing-ti-yu-6.m3u8$LR•IPV4•44『线路12』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/wu-xing-ti-yu-12.m3u8$LR•IPV4•44『线路13』 +https://stream1.freetv.fun/wu-xing-ti-yu-5.m3u8$LR•IPV4•44『线路13』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/wu-xing-ti-yu-5.m3u8$LR•IPV4•44『线路14』 +https://stream1.freetv.fun/wu-xing-ti-yu-6.m3u8$LR•IPV4•44『线路14』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://hls-gateway.vpstv.net/streams/636980.m3u8$LR•IPV4•44『线路15』 +https://t.freetv.fun/live/wu-xing-ti-yu-2.m3u8$LR•IPV4•44『线路15』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://t.freetv.fun/live/wu-xing-ti-yu-2.m3u8$LR•IPV4•44『线路16』 +https://stream1.freetv.fun/wu-xing-ti-yu-10.m3u8$LR•IPV4•44『线路16』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -http://live.xmcdn.com/live/57/64.m3u8$LR•IPV4•44『线路17』 +https://stream1.freetv.fun/wu-xing-ti-yu-12.m3u8$LR•IPV4•44『线路17』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/wu-xing-ti-yu-7.m3u8$LR•IPV4•44『线路18』 +https://stream1.freetv.fun/wu-xing-ti-yu-13.m3u8$LR•IPV4•44『线路18』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/wu-xing-ti-yu-14.m3u8$LR•IPV4•44『线路19』 +http://home.wwang.pw:35455/itv/5000000010000017540.m3u8?cdn=bestzb$LR•IPV4•44『线路19』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/wu-xing-ti-yu-13.m3u8$LR•IPV4•44『线路20』 +https://t.freetv.fun/live/wu-xing-ti-yu-4.m3u8$LR•IPV4•44『线路20』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -http://3501776.xyz:35455/itv/5000000010000017540.m3u8?cdn=bestzb$LR•IPV4•44『线路21』 +https://stream1.freetv.fun/wu-xing-ti-yu-3.m3u8$LR•IPV4•44『线路21』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/wu-xing-ti-yu-9.m3u8$LR•IPV4•44『线路22』 +https://stream1.freetv.fun/wu-xing-ti-yu-13.ctv$LR•IPV4•44『线路22』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-10.m3u8$LR•IPV4•44『线路23』 +https://stream1.freetv.fun/wu-xing-ti-yu-1.m3u8$LR•IPV4•44『线路23』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 https://t.freetv.fun/live/wu-xing-ti-yu.m3u8$LR•IPV4•44『线路24』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/wu-xing-ti-yu-13.ctv$LR•IPV4•44『线路25』 +http://8.138.7.223/tv/shtv.php?id=wxty$LR•IPV4•44『线路25』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://t.freetv.fun/live/wu-xing-ti-yu-4.m3u8$LR•IPV4•44『线路26』 +https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-7.m3u8$LR•IPV4•44『线路26』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/wu-xing-ti-yu-4.m3u8$LR•IPV4•44『线路27』 +https://stream1.freetv.fun/wu-xing-ti-yu-8.m3u8$LR•IPV4•44『线路27』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/wu-xing-ti-yu-8.m3u8$LR•IPV4•44『线路28』 +http://36.105.100.208:35455/itv/5000000010000017540.m3u8?cdn=bestzb$LR•IPV4•44『线路28』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/wu-xing-ti-yu-3.m3u8$LR•IPV4•44『线路29』 +https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-1.m3u8$LR•IPV4•44『线路29』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://other.ottiptv.cc/wxty.m3u8$LR•IPV4•44『线路30』 +https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-10.m3u8$LR•IPV4•44『线路30』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/wu-xing-ti-yu-2.m3u8$LR•IPV4•44『线路31』 +https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-6.m3u8$LR•IPV4•44『线路31』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://t.freetv.fun/live/wu-xing-ti-yu-1.m3u8$LR•IPV4•44『线路32』 +https://zby.130519.xyz/PLTV/11/224/3221225732/index.m3u8$LR•IPV4•44『线路32』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -http://bp-livetytv.bestv.cn/ch/bestvwxty.m3u8$LR•IPV4•44『线路33』 +https://stream1.freetv.fun/wu-xing-ti-yu-7.m3u8$LR•IPV4•44『线路33』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://zby.130519.xyz/PLTV/11/224/3221225732/index.m3u8$LR•IPV4•44『线路34』 +https://stream1.freetv.fun/wu-xing-ti-yu-2.m3u8$LR•IPV4•44『线路34』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://migu.188766.xyz/?migutoken=ed5a02a3b87f3dcc808d4b733daf5cf9&id=%E4%BA%94%E6%98%9F%E4%BD%93%E8%82%B2&pp=1$LR•IPV4•44『线路35』 +https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-2.m3u8$LR•IPV4•44『线路35』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4759&tk=7d4ad8f156e3$LR•IPV4•44『线路36』 +https://stream1.freetv.fun/wu-xing-ti-yu-9.m3u8$LR•IPV4•44『线路36』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/wu-xing-ti-yu-10.m3u8$LR•IPV4•44『线路37』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4759&tk=7d4ad8f156e3$LR•IPV4•44『线路37』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-7.m3u8$LR•IPV4•44『线路38』 +https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-8.m3u8$LR•IPV4•44『线路38』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 http://63.141.230.178:82/gslb/zbdq5.m3u8?id=wxtyhd$LR•IPV4•44『线路39』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/wu-xing-ti-yu-15.m3u8$LR•IPV4•44『线路40』 +http://api2.52tb.xyz/info?id=375&token=20230120rdbtgv$LR•IPV4•44『线路40』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://t.freetv.fun/live/wu-xing-ti-yu-6.m3u8$LR•IPV4•44『线路41』 +https://other.ottiptv.cc/wxty.m3u8$LR•IPV4•44『线路41』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-8.m3u8$LR•IPV4•44『线路42』 +http://3501776.xyz:35455/itv/5000000010000017540.m3u8?cdn=bestzb$LR•IPV4•44『线路42』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -https://stream1.freetv.fun/wu-xing-ti-yu-6.m3u8$LR•IPV4•44『线路43』 +https://stream1.freetv.fun/wu-xing-ti-yu-11.m3u8$LR•IPV4•44『线路43』 #EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" group-title="上海",五星体育 -http://223.110.245.147/ott.js.chinamobile.com/PLTV/3/224/3221226799/index.m3u8$LR•IPV4•44『线路44』 +https://t.freetv.fun/live/wu-xing-ti-yu-1.m3u8$LR•IPV4•44『线路44』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://zby.130519.xyz/PLTV/11/224/3221225744/index.m3u8$LR•IPV4•40『线路1』 +http://t.061899.xyz/tl/tl.php?id=dfys$LR•IPV4•32『线路1』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-6.m3u8$LR•IPV4•40『线路2』 +https://stream1.freetv.fun/dong-fang-ying-shi-4.ctv$LR•IPV4•32『线路2』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -http://110.154.192.76:7788/617290047$LR•IPV4•40『线路3』 +http://150.158.112.123/公众号~玉玉软件库/mg.php?id=dfys$LR•IPV4•32『线路3』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-4.m3u8$LR•IPV4•40『线路4』 +https://stream1.freetv.fun/dong-fang-ying-shi-6.m3u8$LR•IPV4•32『线路4』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -http://14.153.176.183:1234/617290047$LR•IPV4•40『线路5』 +https://stream1.freetv.fun/dong-fang-ying-shi-6.ctv$LR•IPV4•32『线路5』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/dong-fang-ying-shi-12.m3u8$LR•IPV4•40『线路6』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6090&tk=b53028476470$LR•IPV4•32『线路6』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-13.m3u8$LR•IPV4•40『线路7』 +https://t.freetv.fun/live/dong-fang-ying-shi-3.m3u8$LR•IPV4•32『线路7』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/dong-fang-ying-shi-7.m3u8$LR•IPV4•40『线路8』 +https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-6.m3u8$LR•IPV4•32『线路8』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -http://111.22.153.159:35455/itv/5000000010000032212.m3u8?cdn=bestzb$LR•IPV4•40『线路9』 +https://t.freetv.fun/live/dong-fang-ying-shi-2.m3u8$LR•IPV4•32『线路9』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/dong-fang-ying-shi-13.m3u8$LR•IPV4•40『线路10』 +https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-7.m3u8$LR•IPV4•32『线路10』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://t.freetv.fun/live/dong-fang-ying-shi-2.m3u8$LR•IPV4•40『线路11』 +https://stream1.freetv.fun/dong-fang-ying-shi-13.m3u8$LR•IPV4•32『线路11』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2690&tk=e640d0a1bf70$LR•IPV4•40『线路12』 +https://stream1.freetv.fun/dong-fang-ying-shi-2.m3u8$LR•IPV4•32『线路12』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1285&tk=2aca1ad9a849$LR•IPV4•40『线路13』 +https://stream1.freetv.fun/dong-fang-ying-shi-12.m3u8$LR•IPV4•32『线路13』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -http://111.228.4.117:6789/migu720p.php?id=617290047$LR•IPV4•40『线路14』 +https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-2.m3u8$LR•IPV4•32『线路14』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/dong-fang-ying-shi-10.m3u8$LR•IPV4•40『线路15』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1407&tk=e503191f8e20$LR•IPV4•32『线路15』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://www.freetv.top/migu/617290047.m3u8?migutoken=86c02ad0875d5cc49d77bcc8bdb628f2c9d508ffc323b964a03c8f92dde4afafa0345cf5a8fefbdf915c748e3d11c6c18e27ae1e21a609cec31a45e6c437db26a7a243625f9cf35c271171a22c$LR•IPV4•40『线路16』 +https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-4.m3u8$LR•IPV4•32『线路16』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -http://119.88.243.98:17231/617290047$LR•IPV4•40『线路17』 +https://stream1.freetv.fun/dong-fang-ying-shi-7.m3u8$LR•IPV4•32『线路17』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-7.m3u8$LR•IPV4•40『线路18』 +https://stream1.freetv.fun/dong-fang-ying-shi-1.m3u8$LR•IPV4•32『线路18』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://t.freetv.fun/live/dong-fang-ying-shi-3.m3u8$LR•IPV4•40『线路19』 +https://www.freetv.top/migu/617290047.m3u8?migutoken=86c02ad0875d5cc49d77bcc8bdb628f2c9d508ffc323b964a03c8f92dde4afafa0345cf5a8fefbdf915c748e3d11c6c18e27ae1e21a609cec31a45e6c437db26a7a243625f9cf35c271171a22c$LR•IPV4•32『线路19』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -http://223.247.25.207:1234/617290047$LR•IPV4•40『线路20』 +http://111.22.153.159:35455/itv/5000000010000032212.m3u8?cdn=bestzb$LR•IPV4•32『线路20』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-3.m3u8$LR•IPV4•40『线路21』 +https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-8.m3u8$LR•IPV4•32『线路21』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-8.m3u8$LR•IPV4•40『线路22』 +https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-13.m3u8$LR•IPV4•32『线路22』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -http://101.6.130.52:1234/617290047$LR•IPV4•40『线路23』 +https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-3.m3u8$LR•IPV4•32『线路23』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -http://116.52.173.34:1234/617290047$LR•IPV4•40『线路24』 +https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-9.m3u8$LR•IPV4•32『线路24』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -http://t.061899.xyz/tl/tl.php?id=dfys$LR•IPV4•40『线路25』 +https://stream1.freetv.fun/dong-fang-ying-shi-10.m3u8$LR•IPV4•32『线路25』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/dong-fang-ying-shi-4.ctv$LR•IPV4•40『线路26』 +http://111.228.4.117:6789/migu720p.php?id=617290047$LR•IPV4•32『线路26』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/dong-fang-ying-shi-6.m3u8$LR•IPV4•40『线路27』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1285&tk=2aca1ad9a849$LR•IPV4•32『线路27』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -http://150.158.112.123/公众号~玉玉软件库/mg.php?id=dfys$LR•IPV4•40『线路28』 +https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-5.m3u8$LR•IPV4•32『线路28』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/dong-fang-ying-shi-2.m3u8$LR•IPV4•40『线路29』 +https://stream1.freetv.fun/dong-fang-ying-shi-8.m3u8$LR•IPV4•32『线路29』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-5.m3u8$LR•IPV4•40『线路30』 +https://zby.130519.xyz/PLTV/11/224/3221225744/index.m3u8$LR•IPV4•32『线路30』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/dong-fang-ying-shi-8.m3u8$LR•IPV4•40『线路31』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2690&tk=e640d0a1bf70$LR•IPV4•32『线路31』 #EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -http://27.12.12.183:1234/617290047$LR•IPV4•40『线路32』 -#EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-2.m3u8$LR•IPV4•40『线路33』 -#EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6090&tk=b53028476470$LR•IPV4•40『线路34』 -#EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1407&tk=e503191f8e20$LR•IPV4•40『线路35』 -#EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/dong-fang-ying-shi-1.m3u8$LR•IPV4•40『线路36』 -#EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -http://116.236.204.18:1234/617290047$LR•IPV4•40『线路37』 -#EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-9.m3u8$LR•IPV4•40『线路38』 -#EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -https://stream1.freetv.fun/dong-fang-ying-shi-6.ctv$LR•IPV4•40『线路39』 -#EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" group-title="上海",东方影视 -http://43.251.226.89:8080/play/58.m3u8$LR•IPV4•40『线路40』 +http://43.251.226.89:8080/play/58.m3u8$LR•IPV4•32『线路32』 #EXTINF:-1 tvg-id="东方财经" tvg-name="东方财经" group-title="上海",东方财经 -http://e1.woc.iiiya.cn:8888/rtp/239.61.2.76:8450$LR•IPV4•10『线路1』 +http://nas.hssvm.com:8888/udp/225.1.1.87:5002$LR•IPV4•10『线路1』 #EXTINF:-1 tvg-id="东方财经" tvg-name="东方财经" group-title="上海",东方财经 -https://zby.130519.xyz/PLTV/11/224/3221226134/index.m3u8$LR•IPV4•10『线路2』 +http://111.22.153.159:35455/itv/5000000007000010003.m3u8?cdn=bestzb$LR•IPV4•10『线路2』 #EXTINF:-1 tvg-id="东方财经" tvg-name="东方财经" group-title="上海",东方财经 -http://124.248.69.76:26781/douyu/9548279$LR•IPV4•10『线路3』 +http://61.133.118.228:5001/douyu/9548279$LR•IPV4•10『线路3』 #EXTINF:-1 tvg-id="东方财经" tvg-name="东方财经" group-title="上海",东方财经 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4946&tk=97475bb89d45$LR•IPV4•10『线路4』 +http://e1.woc.iiiya.cn:8888/rtp/239.61.2.76:8450$LR•IPV4•10『线路4』 #EXTINF:-1 tvg-id="东方财经" tvg-name="东方财经" group-title="上海",东方财经 -http://61.133.118.228:5001/douyu/9548279$LR•IPV4•10『线路5』 +https://live.264788.xyz/channel/dongfangcaijing?streamid=a031f2386ada4bc1264edce79c80dd18&livekey=01WgOR41rriMmMkzNsd0UoaxJRwetZdxIvtVk$LR•IPV4•10『线路5』 #EXTINF:-1 tvg-id="东方财经" tvg-name="东方财经" group-title="上海",东方财经 -http://wouu.net:9977/udp/239.93.1.165:5140$LR•IPV4•10『线路6』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.141:11111$LR•IPV4•10『线路6』 #EXTINF:-1 tvg-id="东方财经" tvg-name="东方财经" group-title="上海",东方财经 -http://nas.hssvm.com:8888/udp/225.1.1.87:5002$LR•IPV4•10『线路7』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4946&tk=97475bb89d45$LR•IPV4•10『线路7』 #EXTINF:-1 tvg-id="东方财经" tvg-name="东方财经" group-title="上海",东方财经 -http://111.22.153.159:35455/itv/5000000007000010003.m3u8?cdn=bestzb$LR•IPV4•10『线路8』 +https://zby.130519.xyz/PLTV/11/224/3221226134/index.m3u8$LR•IPV4•10『线路8』 #EXTINF:-1 tvg-id="东方财经" tvg-name="东方财经" group-title="上海",东方财经 -https://live.264788.xyz/channel/dongfangcaijing?streamid=a031f2386ada4bc1264edce79c80dd18&livekey=01WgOR41rriMmMkzNsd0UoaxJRwetZdxIvtVk$LR•IPV4•10『线路9』 +http://124.248.69.76:26781/douyu/9548279$LR•IPV4•10『线路9』 #EXTINF:-1 tvg-id="东方财经" tvg-name="东方财经" group-title="上海",东方财经 -http://qjrhc.jydjd.top:2911/udp/224.1.100.141:11111$LR•IPV4•10『线路10』 +http://wouu.net:9977/udp/239.93.1.165:5140$LR•IPV4•10『线路10』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://satellitepull.cnr.cn/live/wx32dycjgb/playlist.m3u8$LR•IPV4•61『线路1』 +https://stream1.freetv.fun/di-yi-cai-jing-6.ctv$LR•IPV4•52『线路1』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://satellitepull.cnr.cn/live/wx32dycjgb/playlist.m3u8$LR•IPV4•61『线路2』 +https://stream1.freetv.fun/di-yi-cai-jing-13.m3u8$LR•IPV4•52『线路2』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://stream1.freetv.fun/di-yi-cai-jing-13.m3u8$LR•IPV4•61『线路3』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0917&tk=2aca1ad9a849$LR•IPV4•52『线路3』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://stream1.freetv.fun/di-yi-cai-jing-10.m3u8$LR•IPV4•61『线路4』 +https://stream1.freetv.fun/di-yi-cai-jing-9.m3u8$LR•IPV4•52『线路4』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://live.xmcdn.com/live/56/64.m3u8$LR•IPV4•61『线路5』 +http://101.43.145.141:12002/itv/5000000010000027146.m3u8?cdn=bestzb$LR•IPV4•52『线路5』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4640&tk=e503191f8e20$LR•IPV4•61『线路6』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4640&tk=e503191f8e20$LR•IPV4•52『线路6』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://zby.130519.xyz/PLTV/11/224/3221225737/index.m3u8$LR•IPV4•61『线路7』 +https://stream1.freetv.fun/ipv6-di-yi-cai-jing-1.ctv$LR•IPV4•52『线路7』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://stream1.freetv.fun/ipv6-di-yi-cai-jing-4.m3u8$LR•IPV4•61『线路8』 +https://stream1.freetv.fun/ipv6-di-yi-cai-jing-11.m3u8$LR•IPV4•52『线路8』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://43.251.226.89:8080/play/59.m3u8$LR•IPV4•61『线路9』 +http://mgsp-zy2.live.miguvideo.com:8088/wd_r1/2018/bestv/dycj/1000/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=699212&netType=0&sid=2201008312&pid=2028597139×tamp=20260713080304&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=608780988&ParentNodeID=-99&assertID=2201008312&client_ip=171.8.79.254&SecurityKey=20260713080304&promotionId=&mvid=2201008312&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=5df679b13a7d9d57e856133928bf767f&sv=10004&ct=android$LR•IPV4•52『线路9』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://a1live.livecdn.yicai.com/live/radio_tv.m3u8$LR•IPV4•61『线路10』 +https://www.freetv.top/migu/608780988.m3u8?migutoken=62e21890acbd9928d0be0b4eae9f5e32e1879604b785ee7ce8751d5001a9ff431d7714025aa03d48a2b190ff214e5115dcb6ba455c3d26b1db0f5b3cb49c5967429ff3b1fe8e96e87cc6146543$LR•IPV4•52『线路10』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4663&tk=f6cc1e0a0e1a$LR•IPV4•61『线路11』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7436&tk=b53028476470$LR•IPV4•52『线路11』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://47.104.178.59:3566/608780988$LR•IPV4•61『线路12』 +http://a1live.livecdn.yicai.com/live/radio_tv.m3u8$LR•IPV4•52『线路12』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://migu.188766.xyz/?migutoken=48076f7837fe4f59da0dbd882998f16d&id=dycj&type=sz$LR•IPV4•61『线路13』 +https://stream1.freetv.fun/ipv6-di-yi-cai-jing-4.m3u8$LR•IPV4•52『线路13』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://stream1.freetv.fun/di-yi-cai-jing-3.m3u8$LR•IPV4•61『线路14』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4810&tk=23a9aca1f79f$LR•IPV4•52『线路14』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://mgsp-zy2.live.miguvideo.com:8088/wd_r1/2018/bestv/dycj/1000/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=699212&netType=0&sid=2201008312&pid=2028597139×tamp=20260712080236&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=608780988&ParentNodeID=-99&assertID=2201008312&client_ip=171.8.79.254&SecurityKey=20260712080236&promotionId=&mvid=2201008312&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=c2df6f34df47646fa2b427c196074126&sv=10004&ct=android$LR•IPV4•61『线路15』 +https://stream1.freetv.fun/di-yi-cai-jing-5.m3u8$LR•IPV4•52『线路15』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://116.52.173.34:1234/608780988$LR•IPV4•61『线路16』 +http://hlszymgsplive.miguvideo.com:8080/wd_r1/2018/bestv/dycj/1000/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=699212&netType=0&sid=2201008312&pid=2028597139×tamp=20260713040259&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=608780988&ParentNodeID=-99&assertID=2201008312&client_ip=171.8.79.254&SecurityKey=20260713040259&promotionId=&mvid=2201008312&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=9e14596712ea1eb3d7fd9d88987a22fe&sv=10004&ct=android$LR•IPV4•52『线路16』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://t.061899.xyz/tl/tl.php?id=dycj$LR•IPV4•61『线路17』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4663&tk=f6cc1e0a0e1a$LR•IPV4•52『线路17』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://stream1.freetv.fun/ipv6-di-yi-cai-jing-5.m3u8$LR•IPV4•61『线路18』 +https://t.freetv.fun/live/di-yi-cai-jing-2.m3u8$LR•IPV4•52『线路18』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://115.190.247.176:1111/608780988$LR•IPV4•61『线路19』 +https://mgtv.ottiptv.cc/migu/608780988.m3u8?migutoken=0c7df30d952e5d120406d3eb259cd5e26ec6aa86037008719de147cc6fbc34e877c3e3d7b9617267f35521bdddc4c5995e6fc0583816a5df1bfe19814868525e736733676761a4b2d4db618e84$LR•IPV4•52『线路19』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://123.113.205.253:3000/608780988$LR•IPV4•61『线路20』 +https://stream1.freetv.fun/di-yi-cai-jing-12.m3u8$LR•IPV4•52『线路20』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://stream1.freetv.fun/di-yi-cai-jing-2.m3u8$LR•IPV4•61『线路21』 +https://stream1.freetv.fun/ipv6-di-yi-cai-jing-6.m3u8$LR•IPV4•52『线路21』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://101.6.130.52:1234/608780988$LR•IPV4•61『线路22』 +https://stream1.freetv.fun/ipv6-di-yi-cai-jing-3.m3u8$LR•IPV4•52『线路22』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://hls-gateway.vpstv.net/streams/708851.m3u8$LR•IPV4•61『线路23』 +https://migu.188766.xyz/?migutoken=20bb1a06124bd6ea328162fe9605882d&id=dycj&type=sz$LR•IPV4•52『线路23』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://www.freetv.top/migu/608780988.m3u8?migutoken=62e21890acbd9928d0be0b4eae9f5e32e1879604b785ee7ce8751d5001a9ff431d7714025aa03d48a2b190ff214e5115dcb6ba455c3d26b1db0f5b3cb49c5967429ff3b1fe8e96e87cc6146543$LR•IPV4•61『线路24』 +https://t.freetv.fun/live/di-yi-cai-jing.m3u8$LR•IPV4•52『线路24』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://stream1.freetv.fun/ipv6-di-yi-cai-jing-7.m3u8$LR•IPV4•61『线路25』 +http://live.xmcdn.com/live/56/64.m3u8$LR•IPV4•52『线路25』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://stream1.freetv.fun/di-yi-cai-jing-12.m3u8$LR•IPV4•61『线路26』 +http://bp-livetytv.bestv.cn/ch/bestvdycj.m3u8$LR•IPV4•52『线路26』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8321&tk=e640d0a1bf70$LR•IPV4•61『线路27』 +https://stream1.freetv.fun/di-yi-cai-jing-3.m3u8$LR•IPV4•52『线路27』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://stream1.freetv.fun/ipv6-di-yi-cai-jing-11.m3u8$LR•IPV4•61『线路28』 +https://migu.188766.xyz/?migutoken=48076f7837fe4f59da0dbd882998f16d&id=dycj&type=sz$LR•IPV4•52『线路28』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://111.228.4.117:6789/migu720p.php?id=608780988$LR•IPV4•61『线路29』 +https://hls-gateway.vpstv.net/streams/708851.m3u8$LR•IPV4•52『线路29』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://stream1.freetv.fun/di-yi-cai-jing-9.m3u8$LR•IPV4•61『线路30』 +https://stream1.freetv.fun/ipv6-di-yi-cai-jing-8.m3u8$LR•IPV4•52『线路30』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://stream1.freetv.fun/di-yi-cai-jing-5.m3u8$LR•IPV4•61『线路31』 +http://8.138.7.223/tv/shtv.php?id=dycj$LR•IPV4•52『线路31』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4810&tk=23a9aca1f79f$LR•IPV4•61『线路32』 +https://www.freetv.top/migu/608780988.m3u8?migutoken=94882e783c75b9369ca6a018f97fe3a3c0018f9da123958e316bb810ef22e907f0672a7d63496e5cb5041eb125b1f1ee6996ac856b0c0c9828348878b8a4101384b9a851fb1dea60a7fafeea35$LR•IPV4•52『线路32』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6806&tk=a0c4f6cfaba3$LR•IPV4•61『线路33』 +http://43.251.226.89:8080/play/59.m3u8$LR•IPV4•52『线路33』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://stream1.freetv.fun/di-yi-cai-jing-6.ctv$LR•IPV4•61『线路34』 +https://satellitepull.cnr.cn/live/wx32dycjgb/playlist.m3u8$LR•IPV4•52『线路34』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://101.43.145.141:12002/itv/5000000010000027146.m3u8?cdn=bestzb$LR•IPV4•61『线路35』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8321&tk=e640d0a1bf70$LR•IPV4•52『线路35』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://t.freetv.fun/live/di-yi-cai-jing-2.m3u8$LR•IPV4•61『线路36』 +http://ls.qingting.fm/live/276.m3u8$LR•IPV4•52『线路36』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://27.12.12.183:1234/608780988$LR•IPV4•61『线路37』 +http://123.113.205.253:3000/608780988$LR•IPV4•52『线路37』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0917&tk=2aca1ad9a849$LR•IPV4•61『线路38』 +https://stream1.freetv.fun/ipv6-di-yi-cai-jing-5.m3u8$LR•IPV4•52『线路38』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://ls.qingting.fm/live/276.m3u8$LR•IPV4•61『线路39』 +http://111.228.4.117:6789/migu720p.php?id=608780988$LR•IPV4•52『线路39』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://www.freetv.top/migu/608780988.m3u8?migutoken=94882e783c75b9369ca6a018f97fe3a3c0018f9da123958e316bb810ef22e907f0672a7d63496e5cb5041eb125b1f1ee6996ac856b0c0c9828348878b8a4101384b9a851fb1dea60a7fafeea35$LR•IPV4•61『线路40』 +http://t.061899.xyz/tl/tl.php?id=dycj$LR•IPV4•52『线路40』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://bp-livetytv.bestv.cn/ch/bestvdycj.m3u8$LR•IPV4•61『线路41』 +https://stream1.freetv.fun/di-yi-cai-jing-7.m3u8$LR•IPV4•52『线路41』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://116.236.204.18:1234/608780988$LR•IPV4•61『线路42』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0771&tk=a0c4f6cfaba3$LR•IPV4•52『线路42』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0771&tk=a0c4f6cfaba3$LR•IPV4•61『线路43』 +http://gslbmgsplive.miguvideo.com/wd_r1/2018/bestv/dycj/1000/index.m3u8?msisdn=2025091908013429b62173a5e24f8ea1f310d5ed32e792&mdspid=&spid=699212&netType=0&sid=2201008312&pid=2028597139×tamp=20250919080134&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=608780988&ParentNodeID=-99&assertID=2201008312&client_ip=106.13.250.88&SecurityKey=20250919080134&promotionId=&mvid=2201008312&mcid=500020&playurlVersion=WX-A1-8.9.1-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=6c828d22c926cc843970f3f1c7455bea&ddCalcu=a6eceb815285804d72c21cf932f60c7c9834$LR•IPV4•52『线路43』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://stream1.freetv.fun/ipv6-di-yi-cai-jing-6.m3u8$LR•IPV4•61『线路44』 +http://satellitepull.cnr.cn/live/wx32dycjgb/playlist.m3u8$LR•IPV4•52『线路44』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://t.freetv.fun/live/di-yi-cai-jing.m3u8$LR•IPV4•61『线路45』 +https://zby.130519.xyz/PLTV/11/224/3221225737/index.m3u8$LR•IPV4•52『线路45』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://stream1.freetv.fun/ipv6-di-yi-cai-jing-3.m3u8$LR•IPV4•61『线路46』 +https://stream1.freetv.fun/ipv6-di-yi-cai-jing-7.m3u8$LR•IPV4•52『线路46』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://110.154.192.76:7788/608780988$LR•IPV4•61『线路47』 +http://47.104.178.59:3566/608780988$LR•IPV4•52『线路47』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://119.88.243.98:17231/608780988$LR•IPV4•61『线路48』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6806&tk=a0c4f6cfaba3$LR•IPV4•52『线路48』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://mgtv.ottiptv.cc/migu/608780988.m3u8?migutoken=0c7df30d952e5d120406d3eb259cd5e26ec6aa86037008719de147cc6fbc34e877c3e3d7b9617267f35521bdddc4c5995e6fc0583816a5df1bfe19814868525e736733676761a4b2d4db618e84$LR•IPV4•61『线路49』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8820&tk=e640d0a1bf70$LR•IPV4•52『线路49』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://gslbmgsplive.miguvideo.com/wd_r1/2018/bestv/dycj/1000/index.m3u8?msisdn=00d0e58c8de7039b211a4835a80e3d6b&mdspid=&spid=699212&netType=0&sid=2201008312&pid=2028597139×tamp=20260712052059&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=608780988&ParentNodeID=-99&assertID=2201008312&client_ip=39.103.182.111&SecurityKey=20260712052059&promotionId=&mvid=2201008312&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=70134db5a05da0e749a80d81f8a330b5&ddCalcu=57b0v01a33l34aad8bf51a80d50d8aa09e47&sv=10004&ct=android$LR•IPV4•61『线路50』 +https://stream1.freetv.fun/di-yi-cai-jing-2.m3u8$LR•IPV4•52『线路50』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://14.153.176.183:1234/608780988$LR•IPV4•61『线路51』 +https://stream1.freetv.fun/di-yi-cai-jing-10.m3u8$LR•IPV4•52『线路51』 #EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://hlsztemgsplive.miguvideo.com:8080/wd_r1/2018/bestv/dycj/1000/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=699212&netType=0&sid=2201008312&pid=2028597139×tamp=20260712040230&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=608780988&ParentNodeID=-99&assertID=2201008312&client_ip=171.8.79.254&SecurityKey=20260712040230&promotionId=&mvid=2201008312&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=85992b1a49b037ab4a689a3ac0533c9a&sv=10004&ct=android$LR•IPV4•61『线路52』 -#EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://stream1.freetv.fun/ipv6-di-yi-cai-jing-8.m3u8$LR•IPV4•61『线路53』 -#EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7436&tk=b53028476470$LR•IPV4•61『线路54』 -#EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://223.247.25.207:1234/608780988$LR•IPV4•61『线路55』 -#EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://migu.188766.xyz/?migutoken=20bb1a06124bd6ea328162fe9605882d&id=dycj&type=sz$LR•IPV4•61『线路56』 -#EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://gslbmgsplive.miguvideo.com/wd_r1/2018/bestv/dycj/1000/index.m3u8?msisdn=2025091908013429b62173a5e24f8ea1f310d5ed32e792&mdspid=&spid=699212&netType=0&sid=2201008312&pid=2028597139×tamp=20250919080134&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=608780988&ParentNodeID=-99&assertID=2201008312&client_ip=106.13.250.88&SecurityKey=20250919080134&promotionId=&mvid=2201008312&mcid=500020&playurlVersion=WX-A1-8.9.1-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=6c828d22c926cc843970f3f1c7455bea&ddCalcu=a6eceb815285804d72c21cf932f60c7c9834$LR•IPV4•61『线路57』 -#EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://stream1.freetv.fun/ipv6-di-yi-cai-jing-1.ctv$LR•IPV4•61『线路58』 -#EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://8.138.7.223/tv/shtv.php?id=dycj$LR•IPV4•61『线路59』 -#EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8820&tk=e640d0a1bf70$LR•IPV4•61『线路60』 -#EXTINF:-1 tvg-id="第一财经" tvg-name="第一财经" group-title="上海",第一财经 -https://stream1.freetv.fun/di-yi-cai-jing-7.m3u8$LR•IPV4•61『线路61』 +http://115.190.247.176:1111/608780988$LR•IPV4•52『线路52』 #EXTINF:-1 tvg-id="上海纪实" tvg-name="上海纪实" group-title="上海",上海纪实 http://iptv.huuc.edu.cn/hls/docuchina.m3u8$LR•IPV4•10『线路1』 #EXTINF:-1 tvg-id="上海纪实" tvg-name="上海纪实" group-title="上海",上海纪实 http://wouu.net:9977/udp/239.93.1.137:5140$LR•IPV4•10『线路2』 #EXTINF:-1 tvg-id="上海纪实" tvg-name="上海纪实" group-title="上海",上海纪实 -https://stream1.freetv.fun/shang-hai-ji-shi-ren-wen-1.m3u8$LR•IPV4•10『线路3』 +http://13457610200.8866.org:2018/live/上海纪实/index.m3u8$LR•IPV4•10『线路3』 #EXTINF:-1 tvg-id="上海纪实" tvg-name="上海纪实" group-title="上海",上海纪实 -http://13457610200.8866.org:2018/live/上海纪实/index.m3u8$LR•IPV4•10『线路4』 +https://stream1.freetv.fun/ipv6-shang-hai-ji-shi-ren-wen-2.m3u8$LR•IPV4•10『线路4』 #EXTINF:-1 tvg-id="上海纪实" tvg-name="上海纪实" group-title="上海",上海纪实 -https://stream1.freetv.fun/ipv6-shang-hai-ji-shi-ren-wen-2.m3u8$LR•IPV4•10『线路5』 +https://hls-gateway.vpstv.net/streams/709570.m3u8$LR•IPV4•10『线路5』 #EXTINF:-1 tvg-id="上海纪实" tvg-name="上海纪实" group-title="上海",上海纪实 -https://hls-gateway.vpstv.net/streams/709570.m3u8$LR•IPV4•10『线路6』 +https://stream1.freetv.fun/ipv6-shang-hai-ji-shi-ren-wen-1.m3u8$LR•IPV4•10『线路6』 #EXTINF:-1 tvg-id="上海纪实" tvg-name="上海纪实" group-title="上海",上海纪实 -https://stream1.freetv.fun/ipv6-shang-hai-ji-shi-ren-wen-3.m3u8$LR•IPV4•10『线路7』 +https://stream1.freetv.fun/shang-hai-ji-shi-ren-wen-1.m3u8$LR•IPV4•10『线路7』 #EXTINF:-1 tvg-id="上海纪实" tvg-name="上海纪实" group-title="上海",上海纪实 -https://stream1.freetv.fun/ipv6-shang-hai-ji-shi-ren-wen-1.m3u8$LR•IPV4•10『线路8』 +https://stream1.freetv.fun/ipv6-shang-hai-ji-shi-ren-wen-5.m3u8$LR•IPV4•10『线路8』 #EXTINF:-1 tvg-id="上海纪实" tvg-name="上海纪实" group-title="上海",上海纪实 http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5196&tk=23a9aca1f79f$LR•IPV4•10『线路9』 #EXTINF:-1 tvg-id="上海纪实" tvg-name="上海纪实" group-title="上海",上海纪实 -https://stream1.freetv.fun/ipv6-shang-hai-ji-shi-ren-wen-5.m3u8$LR•IPV4•10『线路10』 +https://stream1.freetv.fun/ipv6-shang-hai-ji-shi-ren-wen-3.m3u8$LR•IPV4•10『线路10』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed#http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8$LR•IPV4•125『线路1』 +https://stream2.jlntv.cn/baicheng1/sd/live.m3u8$LR•IPV4•117『线路1』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://migu.188766.xyz/?migutoken=779bd2c7e2b23a37be54ec1b50771d47&id=%E4%B8%8A%E6%B5%B7%E6%96%B0%E9%97%BB%E7%BB%BC%E5%90%88&type=yy$LR•IPV4•125『线路2』 +http://live.cztv.cc:85/live/xwpd.m3u8$LR•IPV4•117『线路2』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-12.m3u8$LR•IPV4•125『线路3』 +http://117.156.28.119/270000001111/1110000001/index.m3u8$LR•IPV4•117『线路3』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://116.52.173.34:1234/651632657$LR•IPV4•125『线路4』 +http://pili-live-hls.hebitv.com/hebi/hebi.m3u8$LR•IPV4•117『线路4』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://14.153.176.183:1234/651632657$LR•IPV4•125『线路5』 +https://stream2.jlntv.cn/naxw/sd/live.m3u8$LR•IPV4•117『线路5』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://api2.52tb.xyz/info?id=371&token=20230218qkyjia$LR•IPV4•125『线路6』 +http://uni6rtmp.tulix.tv:1935/vbstv/vbsabr.smil/chunklist_w439903609_b1228800.m3u8$LR•IPV4•117『线路6』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://t.061899.xyz/tl/tl.php?id=shxwzh$LR•IPV4•125『线路7』 +http://221.5.213.4:30000/1111.m3u8$LR•IPV4•117『线路7』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2810&tk=a0c4f6cfaba3$LR•IPV4•125『线路8』 +https://stream2.jlntv.cn/jilin1/sd/live.m3u8$LR•IPV4•117『线路8』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://xatv-yt.xiancity.cn/live/1/index.m3u8$LR•IPV4•125『线路9』 +http://30515.hlsplay.aodianyun.com/lms_30515/tv_channel_239.m3u8$LR•IPV4•117『线路9』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://101.6.130.52:1234/651632657$LR•IPV4•125『线路10』 +https://stream2.jlntv.cn/sptv/sd/live.m3u8$LR•IPV4•117『线路10』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://p2.vzan.com/slowlive/596867413819827251/live.m3u8$LR•IPV4•125『线路11』 +http://live.ahsz.tv/video/s10001-szzh/index.m3u8$LR•IPV4•117『线路11』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2441&tk=e640d0a1bf70$LR•IPV4•125『线路12』 +http://guangshui.live.tempsource.cjyun.org/videotmp/s10146-GSXW.m3u8$LR•IPV4•117『线路12』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://hls-gateway.vpstv.net/streams/708847.m3u8$LR•IPV4•125『线路13』 +https://stream2.jlntv.cn/jlyb/sd/live.m3u8$LR•IPV4•117『线路13』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0708&tk=23a9aca1f79f$LR•IPV4•125『线路14』 +https://stream2.jlntv.cn/sytv/sd/live.m3u8$LR•IPV4•117『线路14』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-10.m3u8$LR•IPV4•125『线路15』 +http://222.179.155.21:1935/ch1.m3u8$LR•IPV4•117『线路15』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5985&tk=e640d0a1bf70$LR•IPV4•125『线路16』 +http://117.172.215.250:8083/videos/live/35/39/GQVbrgob5CGJM/GQVbrgob5CGJM.m3u8$LR•IPV4•117『线路16』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://27.12.12.183:1234/651632657$LR•IPV4•125『线路17』 +http://220.180.110.101:8083/videos/live/36/57/hwEHU4UVQ1Iv5/hwEHU4UVQ1Iv5.m3u8$LR•IPV4•117『线路17』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://live.pzhkai.com/xwzhtl/sd/live.m3u8$LR•IPV4•125『线路18』 +http://live.hnxttv.com:9601/live/xwzh/800K/tzwj_video.m3u8$LR•IPV4•117『线路18』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://115.190.247.176:1111/651632657$LR•IPV4•125『线路19』 +http://stream.bzcm.net/2/sd/live.m3u8$LR•IPV4•117『线路19』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/xin-wen-zong-he-3.m3u8$LR•IPV4•125『线路20』 +http://117.156.28.119/270000001111/1110000145/index.m3u8$LR•IPV4•117『线路20』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://223.247.25.207:1234/651632657$LR•IPV4•125『线路21』 +https://stream2.jlntv.cn/baishan1/sd/live.m3u8$LR•IPV4•117『线路21』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://hlsztemgsplive.miguvideo.com:8080/migu/kailu/xwzhhd265/54/20200407/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022325&pid=2028597139×tamp=20260712080235&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=651632657&ParentNodeID=-99&assertID=5910022325&client_ip=171.8.79.254&SecurityKey=20260712080235&promotionId=&mvid=5100001716&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h265&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=e9c1f4d2a44c38803450b284ab7a4418&sv=10004&ct=android$LR•IPV4•125『线路22』 +http://live1.wuhubtv.com/channel1/sd/live.m3u8$LR•IPV4•117『线路22』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://mgtv.ottiptv.cc/migu/651632657.m3u8?migutoken=348c9164063c2b1df215dd2fa7cd92cb119d8a335ae0edfb5d615a6c714e71b669eee2f5ff1730afa92af7ca41d0aa96e3a280d7e5f2069eb8a3b852f3ebc270147489d7c8bfb08a7c4b9c4d80$LR•IPV4•125『线路23』 +http://palive.patv123.com:8091/live/xwpd_800K.m3u8$LR•IPV4•117『线路23』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://gslbmgsplive.miguvideo.com/wd_r4/dfl/xinwenzonghehd/1200/index.m3u8?msisdn=6d57e7b77eba8fa4c44add2fe56a2c96&mdspid=&spid=600697&netType=0&sid=5910022325&pid=2028597139×tamp=20260712052059&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=651632657&ParentNodeID=-99&assertID=5910022325&client_ip=39.103.182.111&SecurityKey=20260712052059&promotionId=&mvid=5100001716&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=f08dd631d06585abda7bcdfcec4228d4&ddCalcu=4fd0v88a2dw2da46c3e1cdf0d6c5b875aadb&sv=10004&ct=android$LR•IPV4•125『线路24』 +https://stream2.jlntv.cn/liaoyuan1/sd/live.m3u8$LR•IPV4•117『线路24』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5599&tk=2aca1ad9a849$LR•IPV4•125『线路25』 +https://stream1.freetv.fun/ipv6-ji-nan-xin-wen-zong-he-8.m3u8$LR•IPV4•117『线路25』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/xin-wen-zong-he-13.m3u8$LR•IPV4•125『线路26』 +https://stream1.freetv.fun/ji-nan-xin-wen-zong-he-7.m3u8$LR•IPV4•117『线路26』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/ipv6-xin-wen-zong-he-7.m3u8$LR•IPV4•125『线路27』 +http://stream.zztvzd.com/1/sd/live.m3u8?shandd$LR•IPV4•117『线路27』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2394&tk=e503191f8e20$LR•IPV4•125『线路28』 +http://stream.zztvzd.com/1/sd/live.m3u8$LR•IPV4•117『线路28』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-1.m3u8$LR•IPV4•125『线路29』 +https://stream1.freetv.fun/ipv6-wei-fang-xin-wen-zong-he-2.m3u8$LR•IPV4•117『线路29』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://api3.52tb.xyz/info?id=371&token=20221127jxwhhemby$LR•IPV4•125『线路30』 +https://stream1.freetv.fun/ipv6-wei-fang-xin-wen-zong-he-1.m3u8$LR•IPV4•117『线路30』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://43.251.226.89:8080/play/57.m3u8$LR•IPV4•125『线路31』 +http://live.yantaitv.cn/live/3e81a8879da44c5dadf3bd9c10468e1c/9b776d420ee4438199b7657c8eb88f07-1.m3u8$LR•IPV4•117『线路31』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://gslbmgsplive.miguvideo.com/wd_r4/dfl/xinwenzonghehd/1200/index.m3u8?msisdn=20250919080134d0a4f61e680b4d1b8d2460b858ff1fec&mdspid=&spid=699212&netType=0&sid=5500002275&pid=2028597139×tamp=20250919080134&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=651632657&ParentNodeID=-99&assertID=5500002275&client_ip=106.13.250.88&SecurityKey=20250919080134&promotionId=&mvid=5100001716&mcid=500020&playurlVersion=WX-A1-8.9.1-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=c6e37e6787e81aeb250c874ff8533137&ddCalcu=7c36e1e13313705e86f7f8477e88c10a5e2b$LR•IPV4•125『线路32』 +http://live.hznet.tv:1935/live/live1/500K/tzwj_video.m3u8?shandd$LR•IPV4•117『线路32』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://123.113.205.253:3000/651632657$LR•IPV4•125『线路33』 +http://live.hznet.tv:1935/live/live1/500k/tzwj_video.m3u8$LR•IPV4•117『线路33』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/ipv6-shang-hai-xin-wen-zong-he-7.m3u8$LR•IPV4•125『线路34』 +http://115.190.247.176:1111/651632657$LR•IPV4•117『线路34』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://110.154.192.76:7788/651632657$LR•IPV4•125『线路35』 +http://hlsztemgsplive.miguvideo.com:8080/migu/kailu/xwzhhd265/54/20200407/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022325&pid=2028597139×tamp=20260713080304&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=651632657&ParentNodeID=-99&assertID=5910022325&client_ip=171.8.79.254&SecurityKey=20260713080304&promotionId=&mvid=5100001716&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h265&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=fe8fa64a110dbbdcb573fec26cc2cf13&sv=10004&ct=android$LR•IPV4•117『线路35』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://111.228.4.117:6789/migu720p.php?id=651632657$LR•IPV4•125『线路36』 +https://stream1.freetv.fun/ipv6-shang-hai-xin-wen-zong-he-7.m3u8$LR•IPV4•117『线路36』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://47.104.178.59:3566/651632657$LR•IPV4•125『线路37』 +https://stream1.freetv.fun/xin-wen-zong-he-3.m3u8$LR•IPV4•117『线路37』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://bp-livetytv.bestv.cn/ch/bestvxwzh.m3u8$LR•IPV4•125『线路38』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2865&tk=f6cc1e0a0e1a$LR•IPV4•117『线路38』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://qcfile.qcrmt.com/nmip-media/channellive/channel100933/playlist.m3u8$LR•IPV4•125『线路39』 +https://stream1.freetv.fun/xin-wen-zong-he-14.m3u8$LR•IPV4•117『线路39』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://119.88.243.98:17231/651632657$LR•IPV4•125『线路40』 +http://hlszymgsplive.miguvideo.com:8080/migu/kailu/xwzhhd265/54/20200407/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022325&pid=2028597139×tamp=20260713040259&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=651632657&ParentNodeID=-99&assertID=5910022325&client_ip=171.8.79.254&SecurityKey=20260713040259&promotionId=&mvid=5100001716&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h265&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=1bb262b74782bd5cf43bb7e978d2dd7b&sv=10004&ct=android$LR•IPV4•117『线路40』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://www.freetv.top/migu/651632657.m3u8?migutoken=b4a3e55048f55ec1c8fc5b509fbdf32f2dc5d255f5f218e79e84ca9a87fb9f2239927cb11b448f18285b50b81b4cd50a1354e9be5a3283375e85372798c3f3eb3ad60adf45eb5615f68eb4825f$LR•IPV4•125『线路41』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2394&tk=e503191f8e20$LR•IPV4•117『线路41』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://tvpull.dxhmt.cn:9081/tv/10326-1.m3u8$LR•IPV4•125『线路42』 +https://stream1.freetv.fun/ipv6-xin-wen-zong-he-10.m3u8$LR•IPV4•117『线路42』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/ipv6-shang-hai-xin-wen-zong-he-3.m3u8$LR•IPV4•125『线路43』 +http://bp-livetytv.bestv.cn/ch/bestvxwzh.m3u8$LR•IPV4•117『线路43』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://live.wanyuannews.com/wytv/hd/live.m3u8?zsicd$LR•IPV4•125『线路44』 +http://t.061899.xyz/tl/tl.php?id=shxwzh$LR•IPV4•117『线路44』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/ipv6-xin-wen-zong-he-10.m3u8$LR•IPV4•125『线路45』 +https://live.pzhkai.com/xwzhtl/sd/live.m3u8$LR•IPV4•117『线路45』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://116.236.204.18:1234/651632657$LR•IPV4•125『线路46』 +http://111.228.4.117:6789/migu720p.php?id=651632657$LR•IPV4•117『线路46』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/ipv6-xin-wen-zong-he-14.m3u8$LR•IPV4•125『线路47』 +https://xatv-yt.xiancity.cn/live/1/index.m3u8$LR•IPV4•117『线路47』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://cm-live.ntjoy.com/live/4f1.m3u8$LR•IPV4•125『线路48』 +https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-10.m3u8$LR•IPV4•117『线路48』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-8.m3u8$LR•IPV4•125『线路49』 +http://api2.52tb.xyz/info?id=371&token=20230218qkyjia$LR•IPV4•117『线路49』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://gslbmgsplive.miguvideo.com/wd_r4/dfl/xinwenzonghehd/1200/index.m3u8?msisdn=20251023080141ea171d5993054ddd94612bf653be3cfa&mdspid=&spid=699212&netType=0&sid=5500002275&pid=2028597139×tamp=20251023080141&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=651632657&ParentNodeID=-99&assertID=5500002275&client_ip=106.13.250.83&SecurityKey=20251023080141&promotionId=&mvid=5100001716&mcid=500020&playurlVersion=WX-A1-8.9.2-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=4757c0d2f0cd0feb69bcfc7ea14ddd49&ddCalcu=9447ed52d71dc0401da2ef70ccfdc0bf9e6b$LR•IPV4•125『线路50』 +https://stream1.freetv.fun/ipv6-xin-wen-zong-he-7.m3u8$LR•IPV4•117『线路50』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/xin-wen-zong-he-15.m3u8$LR•IPV4•125『线路51』 +https://qcfile.qcrmt.com/nmip-media/channellive/channel100933/playlist.m3u8$LR•IPV4•117『线路51』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://zby.130519.xyz/PLTV/11/224/3221226136/index.m3u8$LR•IPV4•125『线路52』 +https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-12.m3u8$LR•IPV4•117『线路52』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/ipv6-shang-hai-xin-wen-zong-he-6.m3u8$LR•IPV4•125『线路53』 +https://migu.188766.xyz/?migutoken=779bd2c7e2b23a37be54ec1b50771d47&id=%E4%B8%8A%E6%B5%B7%E6%96%B0%E9%97%BB%E7%BB%BC%E5%90%88&type=yy$LR•IPV4•117『线路53』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/xin-wen-zong-he-1.ctv$LR•IPV4•125『线路54』 +http://gslbmgsplive.miguvideo.com/wd_r4/dfl/xinwenzonghehd/1200/index.m3u8?msisdn=20250919080134d0a4f61e680b4d1b8d2460b858ff1fec&mdspid=&spid=699212&netType=0&sid=5500002275&pid=2028597139×tamp=20250919080134&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=651632657&ParentNodeID=-99&assertID=5500002275&client_ip=106.13.250.88&SecurityKey=20250919080134&promotionId=&mvid=5100001716&mcid=500020&playurlVersion=WX-A1-8.9.1-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=c6e37e6787e81aeb250c874ff8533137&ddCalcu=7c36e1e13313705e86f7f8477e88c10a5e2b$LR•IPV4•117『线路54』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/xin-wen-zong-he-14.m3u8$LR•IPV4•125『线路55』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5599&tk=2aca1ad9a849$LR•IPV4•117『线路55』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5014&tk=a0c4f6cfaba3$LR•IPV4•125『线路56』 +https://m3u8channel.yunxya.com/nmip-media/channellive/channel100028/playlist.m3u8$LR•IPV4•117『线路56』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://150.158.112.123/公众号~玉玉软件库/mg.php?id=shxwzh$LR•IPV4•125『线路57』 +http://43.251.226.89:8080/play/57.m3u8$LR•IPV4•117『线路57』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2865&tk=f6cc1e0a0e1a$LR•IPV4•125『线路58』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2441&tk=e640d0a1bf70$LR•IPV4•117『线路58』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://m3u8channel.yunxya.com/nmip-media/channellive/channel100028/playlist.m3u8$LR•IPV4•125『线路59』 +https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-8.m3u8$LR•IPV4•117『线路59』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/xin-wen-zong-he-2.m3u8$LR•IPV4•125『线路60』 +https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-2.m3u8$LR•IPV4•117『线路60』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-2.m3u8$LR•IPV4•125『线路61』 +https://stream1.freetv.fun/ipv6-shang-hai-xin-wen-zong-he-6.m3u8$LR•IPV4•117『线路61』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/xin-wen-zong-he-5.m3u8$LR•IPV4•125『线路62』 +http://150.158.112.123/公众号~玉玉软件库/mg.php?id=shxwzh$LR•IPV4•117『线路62』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://m3u8-channel.lytv.tv/nmip-media/channellive/channel111841/playlist.m3u8$LR•IPV4•125『线路63』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0708&tk=23a9aca1f79f$LR•IPV4•117『线路63』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/xin-wen-zong-he-9.m3u8$LR•IPV4•125『线路64』 +http://123.113.205.253:3000/651632657$LR•IPV4•117『线路64』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://www.freetv.top/migu/651632657.m3u8?migutoken=5ae42e8fda034ab7bf5171dafa0043e70cd12bcd716940c4572fde52ea92b0785f16f1bdbce4c83f5e075b250fe95668f19f8527dda57c27db24f95d412614d99c86a3a2d9341d88b5224b7068$LR•IPV4•125『线路65』 +https://tvfile.scjgtv.cn:443/nmip-media/channellive/channel104126/playlist.m3u8"$LR•IPV4•117『线路65』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0610&tk=b53028476470$LR•IPV4•125『线路66』 +http://live.wanyuannews.com/wytv/hd/live.m3u8?zsicd$LR•IPV4•117『线路66』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://t.freetv.fun/live/shang-hai-xin-wen-zong-he-4.m3u8$LR•IPV4•125『线路67』 +https://hls-gateway.vpstv.net/streams/708847.m3u8$LR•IPV4•117『线路67』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-3.m3u8$LR•IPV4•125『线路68』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2810&tk=a0c4f6cfaba3$LR•IPV4•117『线路68』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://tvfile.scjgtv.cn:443/nmip-media/channellive/channel104126/playlist.m3u8"$LR•IPV4•125『线路69』 +https://stream1.freetv.fun/xin-wen-zong-he-1.ctv$LR•IPV4•117『线路69』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/xin-wen-zong-he-11.ctv$LR•IPV4•125『线路70』 +https://m3u8-channel.lytv.tv/nmip-media/channellive/channel111841/playlist.m3u8$LR•IPV4•117『线路70』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/ipv6-shang-hai-xin-wen-zong-he-2.m3u8$LR•IPV4•125『线路71』 +https://stream1.freetv.fun/ipv6-shang-hai-xin-wen-zong-he-2.m3u8$LR•IPV4•117『线路71』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://stream8.jlntv.cn/shulan/sd/live.m3u8?_upt=332db6421699196585$LR•IPV4•125『线路72』 +https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-3.m3u8$LR•IPV4•117『线路72』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://stream5.jlntv.cn/hn/sd/live.m3u8$LR•IPV4•125『线路73』 +https://cm-live.ntjoy.com/live/4f1.m3u8$LR•IPV4•117『线路73』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://pili-live-hls.ybcxjd.com/jdh-live/2108111201035597.m3u8?zsicd$LR•IPV4•125『线路74』 +https://www.freetv.top/migu/651632657.m3u8?migutoken=b4a3e55048f55ec1c8fc5b509fbdf32f2dc5d255f5f218e79e84ca9a87fb9f2239927cb11b448f18285b50b81b4cd50a1354e9be5a3283375e85372798c3f3eb3ad60adf45eb5615f68eb4825f$LR•IPV4•117『线路74』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://live.spccmc.com:90/live/spxwzh.m3u8$LR•IPV4•125『线路75』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5985&tk=e640d0a1bf70$LR•IPV4•117『线路75』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://live.iwcmt.cn:90/live/zhxw.m3u8$LR•IPV4•125『线路76』 +https://zby.130519.xyz/PLTV/11/224/3221226136/index.m3u8$LR•IPV4•117『线路76』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://live.jinchuanrmt.com:90/live/zhxw.m3u8?zsicd$LR•IPV4•125『线路77』 +http://api3.52tb.xyz/info?id=371&token=20221127jxwhhemby$LR•IPV4•117『线路77』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://play.yunxya.com/channellive/xinwen.m3u8$LR•IPV4•125『线路78』 +https://stream1.freetv.fun/xin-wen-zong-he-13.m3u8$LR•IPV4•117『线路78』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://ls.qingting.fm/live/267.m3u8$LR•IPV4•125『线路79』 +https://stream1.freetv.fun/xin-wen-zong-he-2.m3u8$LR•IPV4•117『线路79』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://hslive.hsnewsnet.com/lsdream/hve9Wjs/1000/live.m3u8?zanhd$LR•IPV4•125『线路80』 +https://t.freetv.fun/live/shang-hai-xin-wen-zong-he-4.m3u8$LR•IPV4•117『线路80』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://p2.vzan.com/slowlive/596867413819827251/live.m3u8?zbid=1725814272&amp;tpid=1516989100&amp;type=0$LR•IPV4•125『线路81』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5014&tk=a0c4f6cfaba3$LR•IPV4•117『线路81』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://uzoiczhh.live.sxmty.com/live/hls/0d41f1480c4042d49927858f01fde707/53130407737b417b9a6259b57246bae3.m3u8?zshanxd$LR•IPV4•125『线路82』 +https://stream1.freetv.fun/ipv6-shang-hai-xin-wen-zong-he-3.m3u8$LR•IPV4•117『线路82』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://ls.qingting.fm/live/5043/64k.m3u8$LR•IPV4•125『线路83』 +https://mgtv.ottiptv.cc/migu/651632657.m3u8?migutoken=348c9164063c2b1df215dd2fa7cd92cb119d8a335ae0edfb5d615a6c714e71b669eee2f5ff1730afa92af7ca41d0aa96e3a280d7e5f2069eb8a3b852f3ebc270147489d7c8bfb08a7c4b9c4d80$LR•IPV4•117『线路83』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://liveout.btzx.com.cn/62ds9e/4nxdih.m3u8?fbl=$LR•IPV4•125『线路84』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0610&tk=b53028476470$LR•IPV4•117『线路84』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://nklive.nbs.cn/hls/d511bc9d-a694-4453-b3a2-4fc842cc97a1/index.m3u8$LR•IPV4•125『线路85』 +https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-1.m3u8$LR•IPV4•117『线路85』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://cm-wshls.homecdn.com/live/2aa50.m3u8$LR•IPV4•125『线路86』 +https://www.freetv.top/migu/651632657.m3u8?migutoken=5ae42e8fda034ab7bf5171dafa0043e70cd12bcd716940c4572fde52ea92b0785f16f1bdbce4c83f5e075b250fe95668f19f8527dda57c27db24f95d412614d99c86a3a2d9341d88b5224b7068$LR•IPV4•117『线路86』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://ls.qingting.fm/live/23797.m3u8$LR•IPV4•125『线路87』 +http://47.104.178.59:3566/651632657$LR•IPV4•117『线路87』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://play.kankanlive.com/live/1720583434627241.m3u8$LR•IPV4•125『线路88』 +http://tvpull.dxhmt.cn:9081/tv/10326-1.m3u8$LR•IPV4•117『线路88』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://ls.qingting.fm/live/4885.m3u8$LR•IPV4•125『线路89』 +https://stream1.freetv.fun/xin-wen-zong-he-15.m3u8$LR•IPV4•117『线路89』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://liveout.xntv.tv/a65jur/96iln2.m3u8?zqinghd$LR•IPV4•125『线路90』 +http://gslbmgsplive.miguvideo.com/wd_r4/dfl/xinwenzonghehd/1200/index.m3u8?msisdn=20251023080141ea171d5993054ddd94612bf653be3cfa&mdspid=&spid=699212&netType=0&sid=5500002275&pid=2028597139×tamp=20251023080141&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=651632657&ParentNodeID=-99&assertID=5500002275&client_ip=106.13.250.83&SecurityKey=20251023080141&promotionId=&mvid=5100001716&mcid=500020&playurlVersion=WX-A1-8.9.2-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=4757c0d2f0cd0feb69bcfc7ea14ddd49&ddCalcu=9447ed52d71dc0401da2ef70ccfdc0bf9e6b$LR•IPV4•117『线路90』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://live.qthnews.org.cn:1935/live/live1/800k/tzwj_video.m3u8$LR•IPV4•125『线路91』 +https://stream1.freetv.fun/xin-wen-zong-he-5.m3u8$LR•IPV4•117『线路91』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://stream.hrbtv.net/xwzh/sd/live.m3u8?zheild$LR•IPV4•125『线路92』 +http://p2.vzan.com/slowlive/596867413819827251/live.m3u8$LR•IPV4•117『线路92』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/ipv6-ji-nan-xin-wen-zong-he-8.m3u8$LR•IPV4•125『线路93』 +https://stream1.freetv.fun/xin-wen-zong-he-9.m3u8$LR•IPV4•117『线路93』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/ji-nan-xin-wen-zong-he-7.m3u8$LR•IPV4•125『线路94』 +https://stream1.freetv.fun/ipv6-xin-wen-zong-he-14.m3u8$LR•IPV4•117『线路94』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://stream.zztvzd.com/1/sd/live.m3u8$LR•IPV4•125『线路95』 +https://stream1.freetv.fun/xin-wen-zong-he-11.ctv$LR•IPV4•117『线路95』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://stream.zztvzd.com/1/sd/live.m3u8?shandd$LR•IPV4•125『线路96』 +http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed#http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8$LR•IPV4•117『线路96』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/ipv6-wei-fang-xin-wen-zong-he-1.m3u8$LR•IPV4•125『线路97』 +http://stream8.jlntv.cn/shulan/sd/live.m3u8?_upt=332db6421699196585$LR•IPV4•117『线路97』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream1.freetv.fun/ipv6-wei-fang-xin-wen-zong-he-2.m3u8$LR•IPV4•125『线路98』 +http://stream5.jlntv.cn/hn/sd/live.m3u8$LR•IPV4•117『线路98』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://live.yantaitv.cn/live/3e81a8879da44c5dadf3bd9c10468e1c/9b776d420ee4438199b7657c8eb88f07-1.m3u8$LR•IPV4•125『线路99』 +http://pili-live-hls.ybcxjd.com/jdh-live/2108111201035597.m3u8?zsicd$LR•IPV4•117『线路99』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://live.hznet.tv:1935/live/live1/500k/tzwj_video.m3u8$LR•IPV4•125『线路100』 +http://live.spccmc.com:90/live/spxwzh.m3u8$LR•IPV4•117『线路100』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://live.hznet.tv:1935/live/live1/500K/tzwj_video.m3u8?shandd$LR•IPV4•125『线路101』 +http://live.iwcmt.cn:90/live/zhxw.m3u8$LR•IPV4•117『线路101』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream2.jlntv.cn/baicheng1/sd/live.m3u8$LR•IPV4•125『线路102』 +http://live.jinchuanrmt.com:90/live/zhxw.m3u8?zsicd$LR•IPV4•117『线路102』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://live.cztv.cc:85/live/xwpd.m3u8$LR•IPV4•125『线路103』 +https://play.yunxya.com/channellive/xinwen.m3u8$LR•IPV4•117『线路103』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://117.156.28.119/270000001111/1110000001/index.m3u8$LR•IPV4•125『线路104』 +http://ls.qingting.fm/live/267.m3u8$LR•IPV4•117『线路104』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://pili-live-hls.hebitv.com/hebi/hebi.m3u8$LR•IPV4•125『线路105』 +http://hslive.hsnewsnet.com/lsdream/hve9Wjs/1000/live.m3u8?zanhd$LR•IPV4•117『线路105』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream2.jlntv.cn/naxw/sd/live.m3u8$LR•IPV4•125『线路106』 +https://p2.vzan.com/slowlive/596867413819827251/live.m3u8?zbid=1725814272&amp;tpid=1516989100&amp;type=0$LR•IPV4•117『线路106』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://uni6rtmp.tulix.tv:1935/vbstv/vbsabr.smil/chunklist_w439903609_b1228800.m3u8$LR•IPV4•125『线路107』 +http://uzoiczhh.live.sxmty.com/live/hls/0d41f1480c4042d49927858f01fde707/53130407737b417b9a6259b57246bae3.m3u8?zshanxd$LR•IPV4•117『线路107』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://221.5.213.4:30000/1111.m3u8$LR•IPV4•125『线路108』 +https://ls.qingting.fm/live/5043/64k.m3u8$LR•IPV4•117『线路108』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream2.jlntv.cn/jilin1/sd/live.m3u8$LR•IPV4•125『线路109』 +http://liveout.btzx.com.cn/62ds9e/4nxdih.m3u8?fbl=$LR•IPV4•117『线路109』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://30515.hlsplay.aodianyun.com/lms_30515/tv_channel_239.m3u8$LR•IPV4•125『线路110』 +http://nklive.nbs.cn/hls/d511bc9d-a694-4453-b3a2-4fc842cc97a1/index.m3u8$LR•IPV4•117『线路110』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream2.jlntv.cn/sptv/sd/live.m3u8$LR•IPV4•125『线路111』 +http://cm-wshls.homecdn.com/live/2aa50.m3u8$LR•IPV4•117『线路111』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://live.ahsz.tv/video/s10001-szzh/index.m3u8$LR•IPV4•125『线路112』 +http://ls.qingting.fm/live/23797.m3u8$LR•IPV4•117『线路112』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://guangshui.live.tempsource.cjyun.org/videotmp/s10146-GSXW.m3u8$LR•IPV4•125『线路113』 +https://play.kankanlive.com/live/1720583434627241.m3u8$LR•IPV4•117『线路113』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream2.jlntv.cn/jlyb/sd/live.m3u8$LR•IPV4•125『线路114』 +http://ls.qingting.fm/live/4885.m3u8$LR•IPV4•117『线路114』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream2.jlntv.cn/sytv/sd/live.m3u8$LR•IPV4•125『线路115』 +https://liveout.xntv.tv/a65jur/96iln2.m3u8?zqinghd$LR•IPV4•117『线路115』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://222.179.155.21:1935/ch1.m3u8$LR•IPV4•125『线路116』 +http://live.qthnews.org.cn:1935/live/live1/800k/tzwj_video.m3u8$LR•IPV4•117『线路116』 #EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://117.172.215.250:8083/videos/live/35/39/GQVbrgob5CGJM/GQVbrgob5CGJM.m3u8$LR•IPV4•125『线路117』 -#EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://220.180.110.101:8083/videos/live/36/57/hwEHU4UVQ1Iv5/hwEHU4UVQ1Iv5.m3u8$LR•IPV4•125『线路118』 -#EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://live.hnxttv.com:9601/live/xwzh/800K/tzwj_video.m3u8$LR•IPV4•125『线路119』 -#EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://stream.bzcm.net/2/sd/live.m3u8$LR•IPV4•125『线路120』 -#EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://117.156.28.119/270000001111/1110000145/index.m3u8$LR•IPV4•125『线路121』 -#EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream2.jlntv.cn/baishan1/sd/live.m3u8$LR•IPV4•125『线路122』 -#EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://live1.wuhubtv.com/channel1/sd/live.m3u8$LR•IPV4•125『线路123』 -#EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -http://palive.patv123.com:8091/live/xwpd_800K.m3u8$LR•IPV4•125『线路124』 -#EXTINF:-1 tvg-id="新闻综合" tvg-name="新闻综合" group-title="上海",新闻综合 -https://stream2.jlntv.cn/liaoyuan1/sd/live.m3u8$LR•IPV4•125『线路125』 +http://stream.hrbtv.net/xwzh/sd/live.m3u8?zheild$LR•IPV4•117『线路117』 #EXTINF:-1 tvg-id="西安新闻" tvg-name="西安新闻" group-title="陕西",西安新闻 -http://112.46.105.20:8009/hls/28/index.m3u8$LR•IPV4•2『线路1』 +http://stream2.xiancity.cn/xatv1/playlist.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="西安新闻" tvg-name="西安新闻" group-title="陕西",西安新闻 -http://stream2.xiancity.cn/xatv1/playlist.m3u8$LR•IPV4•2『线路2』 +http://112.46.105.20:8009/hls/28/index.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="山东少儿" tvg-name="山东少儿" group-title="山东",山东少儿 -https://stream1.freetv.fun/shan-dong-shao-er-8.m3u8$LR•IPV4•16『线路1』 +http://livealone302.iqilu.com/iqilu/sepd.m3u8$LR•IPV4•16『线路1』 #EXTINF:-1 tvg-id="山东少儿" tvg-name="山东少儿" group-title="山东",山东少儿 -https://stream1.freetv.fun/shan-dong-shao-er-2.m3u8$LR•IPV4•16『线路2』 +http://123.132.233.194:352/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路2』 #EXTINF:-1 tvg-id="山东少儿" tvg-name="山东少儿" group-title="山东",山东少儿 -https://stream1.freetv.fun/shan-dong-shao-er-1.m3u8$LR•IPV4•16『线路3』 +https://stream1.freetv.fun/shan-dong-shao-er-4.m3u8$LR•IPV4•16『线路3』 #EXTINF:-1 tvg-id="山东少儿" tvg-name="山东少儿" group-title="山东",山东少儿 -http://221.2.148.205:8154/tsfile/live/1007_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路4』 +https://stream1.freetv.fun/shan-dong-shao-er-10.m3u8$LR•IPV4•16『线路4』 #EXTINF:-1 tvg-id="山东少儿" tvg-name="山东少儿" group-title="山东",山东少儿 -https://stream1.freetv.fun/shan-dong-shao-er-6.m3u8$LR•IPV4•16『线路5』 +http://123.129.70.178:9901/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路5』 #EXTINF:-1 tvg-id="山东少儿" tvg-name="山东少儿" group-title="山东",山东少儿 -https://stream1.freetv.fun/shan-dong-shao-er-5.m3u8$LR•IPV4•16『线路6』 +http://58.57.40.22:9901/tsfile/live/1024_1.m3u8$LR•IPV4•16『线路6』 #EXTINF:-1 tvg-id="山东少儿" tvg-name="山东少儿" group-title="山东",山东少儿 -http://111.14.181.15:9901/tsfile/live/1005_1.m3u8$LR•IPV4•16『线路7』 +https://stream1.freetv.fun/shan-dong-shao-er-5.m3u8$LR•IPV4•16『线路7』 #EXTINF:-1 tvg-id="山东少儿" tvg-name="山东少儿" group-title="山东",山东少儿 -http://58.57.40.22:9901/tsfile/live/1024_1.m3u8$LR•IPV4•16『线路8』 +https://stream1.freetv.fun/shan-dong-shao-er-8.m3u8$LR•IPV4•16『线路8』 #EXTINF:-1 tvg-id="山东少儿" tvg-name="山东少儿" group-title="山东",山东少儿 -https://stream1.freetv.fun/shan-dong-shao-er-10.m3u8$LR•IPV4•16『线路9』 +https://stream1.freetv.fun/shan-dong-shao-er-9.m3u8$LR•IPV4•16『线路9』 #EXTINF:-1 tvg-id="山东少儿" tvg-name="山东少儿" group-title="山东",山东少儿 -http://123.132.233.194:352/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路10』 +https://stream1.freetv.fun/shan-dong-shao-er-7.m3u8$LR•IPV4•16『线路10』 #EXTINF:-1 tvg-id="山东少儿" tvg-name="山东少儿" group-title="山东",山东少儿 -http://111.14.181.15:9901/tsfile/live/1005_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•16『线路11』 +https://stream1.freetv.fun/shan-dong-shao-er-2.m3u8$LR•IPV4•16『线路11』 #EXTINF:-1 tvg-id="山东少儿" tvg-name="山东少儿" group-title="山东",山东少儿 -https://stream1.freetv.fun/shan-dong-shao-er-7.m3u8$LR•IPV4•16『线路12』 +http://111.14.181.15:9901/tsfile/live/1005_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•16『线路12』 #EXTINF:-1 tvg-id="山东少儿" tvg-name="山东少儿" group-title="山东",山东少儿 -https://stream1.freetv.fun/shan-dong-shao-er-9.m3u8$LR•IPV4•16『线路13』 +https://stream1.freetv.fun/shan-dong-shao-er-1.m3u8$LR•IPV4•16『线路13』 #EXTINF:-1 tvg-id="山东少儿" tvg-name="山东少儿" group-title="山东",山东少儿 -http://123.129.70.178:9901/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路14』 +https://stream1.freetv.fun/shan-dong-shao-er-6.m3u8$LR•IPV4•16『线路14』 #EXTINF:-1 tvg-id="山东少儿" tvg-name="山东少儿" group-title="山东",山东少儿 -https://stream1.freetv.fun/shan-dong-shao-er-4.m3u8$LR•IPV4•16『线路15』 +http://221.2.148.205:8154/tsfile/live/1007_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路15』 #EXTINF:-1 tvg-id="山东少儿" tvg-name="山东少儿" group-title="山东",山东少儿 -http://livealone302.iqilu.com/iqilu/sepd.m3u8$LR•IPV4•16『线路16』 +http://111.14.181.15:9901/tsfile/live/1005_1.m3u8$LR•IPV4•16『线路16』 #EXTINF:-1 tvg-id="山东新闻" tvg-name="山东新闻" group-title="山东",山东新闻 -https://stream1.freetv.fun/shan-dong-xin-wen-3.m3u8$LR•IPV4•12『线路1』 +http://livealone302.iqilu.com/iqilu/ggpd.m3u8$LR•IPV4•12『线路1』 #EXTINF:-1 tvg-id="山东新闻" tvg-name="山东新闻" group-title="山东",山东新闻 http://123.129.70.178:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•12『线路2』 #EXTINF:-1 tvg-id="山东新闻" tvg-name="山东新闻" group-title="山东",山东新闻 -https://stream1.freetv.fun/shan-dong-xin-wen-4.m3u8$LR•IPV4•12『线路3』 +https://stream1.freetv.fun/shan-dong-xin-wen-3.m3u8$LR•IPV4•12『线路3』 #EXTINF:-1 tvg-id="山东新闻" tvg-name="山东新闻" group-title="山东",山东新闻 -http://live.xmcdn.com/live/1440/64.m3u8$LR•IPV4•12『线路4』 +http://ls.qingting.fm/live/60180.m3u8$LR•IPV4•12『线路4』 #EXTINF:-1 tvg-id="山东新闻" tvg-name="山东新闻" group-title="山东",山东新闻 -https://stream1.freetv.fun/shan-dong-xin-wen-2.m3u8$LR•IPV4•12『线路5』 +https://stream1.freetv.fun/shan-dong-xin-wen-4.m3u8$LR•IPV4•12『线路5』 #EXTINF:-1 tvg-id="山东新闻" tvg-name="山东新闻" group-title="山东",山东新闻 -https://stream1.freetv.fun/shan-dong-xin-wen-6.m3u8$LR•IPV4•12『线路6』 +https://stream1.freetv.fun/shan-dong-xin-wen-1.m3u8$LR•IPV4•12『线路6』 #EXTINF:-1 tvg-id="山东新闻" tvg-name="山东新闻" group-title="山东",山东新闻 -https://stream1.freetv.fun/shan-dong-xin-wen-10.m3u8$LR•IPV4•12『线路7』 +https://stream1.freetv.fun/shan-dong-xin-wen-6.m3u8$LR•IPV4•12『线路7』 #EXTINF:-1 tvg-id="山东新闻" tvg-name="山东新闻" group-title="山东",山东新闻 https://stream1.freetv.fun/shan-dong-xin-wen-7.m3u8$LR•IPV4•12『线路8』 #EXTINF:-1 tvg-id="山东新闻" tvg-name="山东新闻" group-title="山东",山东新闻 -http://221.2.148.205:8154/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•12『线路9』 +http://live.xmcdn.com/live/1440/64.m3u8$LR•IPV4•12『线路9』 #EXTINF:-1 tvg-id="山东新闻" tvg-name="山东新闻" group-title="山东",山东新闻 -http://ls.qingting.fm/live/60180.m3u8$LR•IPV4•12『线路10』 +http://221.2.148.205:8154/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•12『线路10』 #EXTINF:-1 tvg-id="山东新闻" tvg-name="山东新闻" group-title="山东",山东新闻 -https://stream1.freetv.fun/shan-dong-xin-wen-1.m3u8$LR•IPV4•12『线路11』 +https://stream1.freetv.fun/shan-dong-xin-wen-10.m3u8$LR•IPV4•12『线路11』 #EXTINF:-1 tvg-id="山东新闻" tvg-name="山东新闻" group-title="山东",山东新闻 -http://livealone302.iqilu.com/iqilu/ggpd.m3u8$LR•IPV4•12『线路12』 +https://stream1.freetv.fun/shan-dong-xin-wen-2.m3u8$LR•IPV4•12『线路12』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -https://test1.live.sdetv.com.cn/live/dianshizhibo/playlist.m3u8$LR•IPV4•23『线路1』 +https://test1.live.sdetv.com.cn/live/dianshizhibo/playlist.m3u8$LR•IPV4•22『线路1』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000004097&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路2』 +http://dassby.qqff.top:99/live/山东教育卫视/index.m3u8$LR•IPV4•22『线路2』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7973&tk=a0c4f6cfaba3$LR•IPV4•23『线路3』 +http://47.104.178.59:3566/609154353$LR•IPV4•22『线路3』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://gslbmgsplive.miguvideo.com/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=20251023080146a623a1a467704de1bb9f78bcfbe3cb85&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20251023080146&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=106.13.250.83&SecurityKey=20251023080146&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-8.9.2-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=dac6a2cd92e52b24f75ac42655739371&ddCalcu=1d7ae3c29693a0725c5d69224ec5a25b72f4$LR•IPV4•23『线路4』 +http://gslbmgsplive.miguvideo.com/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=20250927080126244a72fa1b554182ae03568fff35bca7&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20250927080126&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=106.13.250.83&SecurityKey=20250927080126&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-8.9.2-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=41ee1554c91427e91ee78ce8b64f7a33&ddCalcu=3431eae27e9f104565b48ce9c18472e7ee19$LR•IPV4•22『线路4』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://183.11.239.36:808/hls/72/index.m3u8$LR•IPV4•23『线路5』 +http://hlszymgsplive.miguvideo.com:8080/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20260702160222&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=171.8.79.254&SecurityKey=20260702160222&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=e6d806b9dd3969177a5ab7629f97efb1&sv=10004&ct=android$LR•IPV4•22『线路5』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://hlszymgsplive.miguvideo.com:8080/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20260702160222&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=171.8.79.254&SecurityKey=20260702160222&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=e6d806b9dd3969177a5ab7629f97efb1&sv=10004&ct=android$LR•IPV4•23『线路6』 +http://iptv.huuc.edu.cn/hls/sdetv.m3u8$LR•IPV4•22『线路6』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://123.113.205.253:3000/609154353$LR•IPV4•23『线路7』 +http://120.238.94.10:9901/tsfile/live/1062_1.m3u8$LR•IPV4•22『线路7』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://gslbmgsplive.miguvideo.com/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20260712080243&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=171.8.79.254&SecurityKey=20260712080243&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=baeafc48c7d90e2228e2256fc61f7510&ddCalcu=0b1av5ea7abffa1c64c8fc675d2920ee8222&sv=10004&ct=android$LR•IPV4•23『线路8』 +http://115.190.247.176:1111/609154353$LR•IPV4•22『线路8』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://iptv.huuc.edu.cn/hls/sdetv.m3u8$LR•IPV4•23『线路9』 +http://120.238.94.10:9901/tsfile/live/1062_1.m3u8?key=txiptv$LR•IPV4•22『线路9』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://dl.wifi942.com:66/jsyd/jsyd.php?id=G_SDETV$LR•IPV4•23『线路10』 +http://183.11.239.36:808/hls/72/index.m3u8$LR•IPV4•22『线路10』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://gslbmgsplive.miguvideo.com/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=407a55a8205b696fcc9f814013649e5d&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20260712052124&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=39.103.182.111&SecurityKey=20260712052124&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=116fe50ac3e45ff820ec202888d453a1&ddCalcu=11a1v36a5fb4ead5808a8c230e24c5ef0f28&sv=10004&ct=android$LR•IPV4•23『线路11』 +http://112.132.10.54:9901/tsfile/live/1018_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路11』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0563&tk=a0c4f6cfaba3$LR•IPV4•23『线路12』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0563&tk=a0c4f6cfaba3$LR•IPV4•22『线路12』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://112.132.10.54:9901/tsfile/live/1018_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路13』 +http://gslbmgsplive.miguvideo.com/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=20251023080146a623a1a467704de1bb9f78bcfbe3cb85&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20251023080146&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=106.13.250.83&SecurityKey=20251023080146&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-8.9.2-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=dac6a2cd92e52b24f75ac42655739371&ddCalcu=1d7ae3c29693a0725c5d69224ec5a25b72f4$LR•IPV4•22『线路13』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://120.238.94.10:9901/tsfile/live/1062_1.m3u8?key=txiptv$LR•IPV4•23『线路14』 +http://76.5432123.xyz/杂项代理/学习强国.php?id=sdjy$LR•IPV4•22『线路14』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://dassby.qqff.top:99/live/山东教育卫视/index.m3u8$LR•IPV4•23『线路15』 +http://123.113.205.253:3000/609154353$LR•IPV4•22『线路15』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://115.190.247.176:1111/609154353$LR•IPV4•23『线路16』 +http://hlszymgsplive.miguvideo.com:8080/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20260713040307&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=171.8.79.254&SecurityKey=20260713040307&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=a4b9418a915a834615813ea88426d621&sv=10004&ct=android$LR•IPV4•22『线路16』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://gslbmgsplive.miguvideo.com/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=20250927080126244a72fa1b554182ae03568fff35bca7&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20250927080126&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=106.13.250.83&SecurityKey=20250927080126&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-8.9.2-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=41ee1554c91427e91ee78ce8b64f7a33&ddCalcu=3431eae27e9f104565b48ce9c18472e7ee19$LR•IPV4•23『线路17』 +http://dl.wifi942.com:66/jsyd/jsyd.php?id=G_SDETV$LR•IPV4•22『线路17』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -https://migu.188766.xyz/?migutoken=1134813ab83db9f651ce86515f06b7c5&id=%E5%B1%B1%E4%B8%9C%E6%95%99%E8%82%B2&type=yy$LR•IPV4•23『线路18』 +http://mgsp-cty2.live.miguvideo.com:8088/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20260713080311&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=171.8.79.254&SecurityKey=20260713080311&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=857395bf55755069de68c719775cc48e&sv=10004&ct=android$LR•IPV4•22『线路18』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://76.5432123.xyz/杂项代理/学习强国.php?id=sdjy$LR•IPV4•23『线路19』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7973&tk=a0c4f6cfaba3$LR•IPV4•22『线路19』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://121.19.134.222:808/tsfile/live/1033_1.m3u8$LR•IPV4•23『线路20』 +https://migu.188766.xyz/?migutoken=1134813ab83db9f651ce86515f06b7c5&id=%E5%B1%B1%E4%B8%9C%E6%95%99%E8%82%B2&type=yy$LR•IPV4•22『线路20』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://120.238.94.10:9901/tsfile/live/1062_1.m3u8$LR•IPV4•23『线路21』 +http://121.19.134.222:808/tsfile/live/1033_1.m3u8$LR•IPV4•22『线路21』 #EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://hlszymgsplive.miguvideo.com:8080/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20260712040237&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=171.8.79.254&SecurityKey=20260712040237&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=8b6bf53e808f5924769695a49891b0dc&sv=10004&ct=android$LR•IPV4•23『线路22』 -#EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" group-title="山东",山东教育 -http://47.104.178.59:3566/609154353$LR•IPV4•23『线路23』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000004097&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路22』 #EXTINF:-1 tvg-id="山东农科" tvg-name="山东农科" group-title="山东",山东农科 -http://58.57.40.22:9901/tsfile/live/1022_1.m3u8$LR•IPV4•2『线路1』 +http://livealone302.iqilu.com/iqilu/nkpd.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="山东农科" tvg-name="山东农科" group-title="山东",山东农科 -http://livealone302.iqilu.com/iqilu/nkpd.m3u8$LR•IPV4•2『线路2』 +http://58.57.40.22:9901/tsfile/live/1022_1.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="山东齐鲁" tvg-name="山东齐鲁" group-title="山东",山东齐鲁 -http://61.156.228.12:8154/tsfile/live/1001_1.m3u8$LR•IPV4•10『线路1』 +http://livealone302.iqilu.com/iqilu/qlpd.m3u8$LR•IPV4•10『线路1』 #EXTINF:-1 tvg-id="山东齐鲁" tvg-name="山东齐鲁" group-title="山东",山东齐鲁 -http://123.130.84.106:8154/tsfile/live/1001_1.m3u8$LR•IPV4•10『线路2』 +http://111.14.181.15:9901/tsfile/live/1000_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•10『线路2』 #EXTINF:-1 tvg-id="山东齐鲁" tvg-name="山东齐鲁" group-title="山东",山东齐鲁 -http://123.130.84.106:8154/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路3』 +http://123.132.233.194:352/tsfile/live/1019_1.m3u8$LR•IPV4•10『线路3』 #EXTINF:-1 tvg-id="山东齐鲁" tvg-name="山东齐鲁" group-title="山东",山东齐鲁 -http://123.132.233.194:352/tsfile/live/1019_1.m3u8$LR•IPV4•10『线路4』 +http://123.130.84.106:8154/tsfile/live/1001_1.m3u8$LR•IPV4•10『线路4』 #EXTINF:-1 tvg-id="山东齐鲁" tvg-name="山东齐鲁" group-title="山东",山东齐鲁 -http://111.14.181.15:9901/tsfile/live/1000_1.m3u8$LR•IPV4•10『线路5』 +http://61.156.228.12:8154/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路5』 #EXTINF:-1 tvg-id="山东齐鲁" tvg-name="山东齐鲁" group-title="山东",山东齐鲁 -http://61.156.228.12:8154/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路6』 +http://221.2.148.205:8154/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路6』 #EXTINF:-1 tvg-id="山东齐鲁" tvg-name="山东齐鲁" group-title="山东",山东齐鲁 -http://123.129.70.178:9901/tsfile/live/0019_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路7』 +http://111.14.181.15:9901/tsfile/live/1000_1.m3u8$LR•IPV4•10『线路7』 #EXTINF:-1 tvg-id="山东齐鲁" tvg-name="山东齐鲁" group-title="山东",山东齐鲁 -http://221.2.148.205:8154/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路8』 +http://123.129.70.178:9901/tsfile/live/0019_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路8』 #EXTINF:-1 tvg-id="山东齐鲁" tvg-name="山东齐鲁" group-title="山东",山东齐鲁 -http://111.14.181.15:9901/tsfile/live/1000_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•10『线路9』 +http://123.130.84.106:8154/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路9』 #EXTINF:-1 tvg-id="山东齐鲁" tvg-name="山东齐鲁" group-title="山东",山东齐鲁 -http://livealone302.iqilu.com/iqilu/qlpd.m3u8$LR•IPV4•10『线路10』 +http://61.156.228.12:8154/tsfile/live/1001_1.m3u8$LR•IPV4•10『线路10』 #EXTINF:-1 tvg-id="山东生活" tvg-name="山东生活" group-title="山东",山东生活 -http://ls.qingting.fm/live/60260.m3u8$LR•IPV4•7『线路1』 +http://livealone302.iqilu.com/iqilu/shpd.m3u8$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="山东生活" tvg-name="山东生活" group-title="山东",山东生活 -http://58.57.40.22:9901/tsfile/live/1018_1.m3u8$LR•IPV4•7『线路2』 +http://api3.52tb.xyz/info?id=527&token=20221127jxwhhemby$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="山东生活" tvg-name="山东生活" group-title="山东",山东生活 http://221.2.148.205:8154/tsfile/live/1005_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="山东生活" tvg-name="山东生活" group-title="山东",山东生活 -http://123.129.70.178:9901/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•7『线路4』 +http://live.xmcdn.com/live/802/64.m3u8$LR•IPV4•7『线路4』 #EXTINF:-1 tvg-id="山东生活" tvg-name="山东生活" group-title="山东",山东生活 -http://api3.52tb.xyz/info?id=527&token=20221127jxwhhemby$LR•IPV4•7『线路5』 +http://ls.qingting.fm/live/60260.m3u8$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="山东生活" tvg-name="山东生活" group-title="山东",山东生活 -http://live.xmcdn.com/live/802/64.m3u8$LR•IPV4•7『线路6』 +http://123.129.70.178:9901/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•7『线路6』 #EXTINF:-1 tvg-id="山东生活" tvg-name="山东生活" group-title="山东",山东生活 -http://livealone302.iqilu.com/iqilu/shpd.m3u8$LR•IPV4•7『线路7』 +http://58.57.40.22:9901/tsfile/live/1018_1.m3u8$LR•IPV4•7『线路7』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-11.m3u8$LR•IPV4•37『线路1』 +http://livealone302.iqilu.com/iqilu/typd.m3u8$LR•IPV4•37『线路1』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -http://61.156.228.12:8154/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路2』 +http://61.156.228.12:8154/tsfile/live/1006_1.m3u8$LR•IPV4•37『线路2』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-4.m3u8$LR•IPV4•37『线路3』 +https://stream1.freetv.fun/shan-dong-ti-yu-26.m3u8$LR•IPV4•37『线路3』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-6.m3u8$LR•IPV4•37『线路4』 +https://stream1.freetv.fun/shan-dong-ti-yu-15.m3u8$LR•IPV4•37『线路4』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -http://123.132.233.194:352/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路5』 +https://stream1.freetv.fun/shan-dong-ti-yu-23.m3u8$LR•IPV4•37『线路5』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 http://111.14.181.15:9901/tsfile/live/1022_1.m3u8$LR•IPV4•37『线路6』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -http://123.130.84.106:8154/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路7』 +https://stream1.freetv.fun/shan-dong-ti-yu-10.m3u8$LR•IPV4•37『线路7』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-10.m3u8$LR•IPV4•37『线路8』 +https://stream1.freetv.fun/shan-dong-ti-yu-1.m3u8$LR•IPV4•37『线路8』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -http://111.14.181.15:9901/tsfile/live/1022_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•37『线路9』 +https://stream1.freetv.fun/shan-dong-ti-yu-22.m3u8$LR•IPV4•37『线路9』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-5.m3u8$LR•IPV4•37『线路10』 +https://stream1.freetv.fun/shan-dong-ti-yu-13.m3u8$LR•IPV4•37『线路10』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-26.m3u8$LR•IPV4•37『线路11』 +https://stream1.freetv.fun/shan-dong-ti-yu-19.m3u8$LR•IPV4•37『线路11』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://satellitepull.cnr.cn/live/wxsdtyxxgb/playlist.m3u8$LR•IPV4•37『线路12』 +https://stream1.freetv.fun/shan-dong-ti-yu-25.m3u8$LR•IPV4•37『线路12』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-15.m3u8$LR•IPV4•37『线路13』 +https://stream1.freetv.fun/shan-dong-ti-yu-12.m3u8$LR•IPV4•37『线路13』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-12.m3u8$LR•IPV4•37『线路14』 +http://satellitepull.cnr.cn/live/wxsdtyxxgb/playlist.m3u8$LR•IPV4•37『线路14』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-13.m3u8$LR•IPV4•37『线路15』 +http://61.156.228.12:8154/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路15』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -http://221.2.148.205:8154/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路16』 +https://stream1.freetv.fun/shan-dong-ti-yu-2.m3u8$LR•IPV4•37『线路16』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-8.m3u8$LR•IPV4•37『线路17』 +https://stream1.freetv.fun/shan-dong-ti-yu-9.m3u8$LR•IPV4•37『线路17』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-7.m3u8$LR•IPV4•37『线路18』 +https://satellitepull.cnr.cn/live/wxsdtyxxgb/playlist.m3u8$LR•IPV4•37『线路18』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-18.m3u8$LR•IPV4•37『线路19』 +http://123.129.70.178:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路19』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-23.m3u8$LR•IPV4•37『线路20』 +https://stream1.freetv.fun/shan-dong-ti-yu-11.m3u8$LR•IPV4•37『线路20』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-14.m3u8$LR•IPV4•37『线路21』 +http://221.2.148.205:8154/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路21』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-16.m3u8$LR•IPV4•37『线路22』 +https://stream1.freetv.fun/shan-dong-ti-yu-18.m3u8$LR•IPV4•37『线路22』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-3.m3u8$LR•IPV4•37『线路23』 +https://stream1.freetv.fun/shan-dong-ti-yu-6.m3u8$LR•IPV4•37『线路23』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-24.m3u8$LR•IPV4•37『线路24』 +https://stream1.freetv.fun/shan-dong-ti-yu-8.m3u8$LR•IPV4•37『线路24』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -http://livealone302.iqilu.com/iqilu/typd.m3u8$LR•IPV4•37『线路25』 +https://stream1.freetv.fun/shan-dong-ti-yu-5.m3u8$LR•IPV4•37『线路25』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-1.m3u8$LR•IPV4•37『线路26』 +https://stream1.freetv.fun/shan-dong-ti-yu-24.m3u8$LR•IPV4•37『线路26』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-2.m3u8$LR•IPV4•37『线路27』 +http://111.14.181.15:9901/tsfile/live/1022_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•37『线路27』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -http://58.57.40.22:9901/tsfile/live/1020_1.m3u8$LR•IPV4•37『线路28』 +https://stream1.freetv.fun/shan-dong-ti-yu-7.m3u8$LR•IPV4•37『线路28』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -http://live.xmcdn.com/live/805/64.m3u8$LR•IPV4•37『线路29』 +https://stream1.freetv.fun/shan-dong-ti-yu-4.m3u8$LR•IPV4•37『线路29』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -http://123.129.70.178:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路30』 +http://123.130.84.106:8154/tsfile/live/1006_1.m3u8$LR•IPV4•37『线路30』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-9.m3u8$LR•IPV4•37『线路31』 +http://live.xmcdn.com/live/805/64.m3u8$LR•IPV4•37『线路31』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -http://61.156.228.12:8154/tsfile/live/1006_1.m3u8$LR•IPV4•37『线路32』 +https://stream1.freetv.fun/shan-dong-ti-yu-14.m3u8$LR•IPV4•37『线路32』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-19.m3u8$LR•IPV4•37『线路33』 +http://58.57.40.22:9901/tsfile/live/1020_1.m3u8$LR•IPV4•37『线路33』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -http://123.130.84.106:8154/tsfile/live/1006_1.m3u8$LR•IPV4•37『线路34』 +http://123.132.233.194:352/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路34』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-25.m3u8$LR•IPV4•37『线路35』 +https://stream1.freetv.fun/shan-dong-ti-yu-3.m3u8$LR•IPV4•37『线路35』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -http://satellitepull.cnr.cn/live/wxsdtyxxgb/playlist.m3u8$LR•IPV4•37『线路36』 +https://stream1.freetv.fun/shan-dong-ti-yu-16.m3u8$LR•IPV4•37『线路36』 #EXTINF:-1 tvg-id="山东体育" tvg-name="山东体育" group-title="山东",山东体育 -https://stream1.freetv.fun/shan-dong-ti-yu-22.m3u8$LR•IPV4•37『线路37』 +http://123.130.84.106:8154/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路37』 #EXTINF:-1 tvg-id="山东综艺" tvg-name="山东综艺" group-title="山东",山东综艺 -http://123.129.70.178:9901/tsfile/live/1001_1.m3u8$LR•IPV4•6『线路1』 +http://livealone302.iqilu.com/iqilu/zypd.m3u8$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="山东综艺" tvg-name="山东综艺" group-title="山东",山东综艺 -http://123.132.233.194:352/tsfile/live/1000_1.m3u8$LR•IPV4•6『线路2』 +http://123.129.70.178:9901/tsfile/live/1001_1.m3u8$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="山东综艺" tvg-name="山东综艺" group-title="山东",山东综艺 -http://58.57.40.22:9901/tsfile/live/1021_1.m3u8$LR•IPV4•6『线路3』 +http://123.132.233.194:352/tsfile/live/1000_1.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="山东综艺" tvg-name="山东综艺" group-title="山东",山东综艺 http://221.2.148.205:8154/tsfile/live/1003_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="山东综艺" tvg-name="山东综艺" group-title="山东",山东综艺 -http://111.14.181.15:9901/tsfile/live/1004_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•6『线路5』 +http://58.57.40.22:9901/tsfile/live/1021_1.m3u8$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="山东综艺" tvg-name="山东综艺" group-title="山东",山东综艺 -http://livealone302.iqilu.com/iqilu/zypd.m3u8$LR•IPV4•6『线路6』 +http://111.14.181.15:9901/tsfile/live/1004_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="山东文旅" tvg-name="山东文旅" group-title="山东",山东文旅 -http://60.209.125.254:352/tsfile/live/1004_1.m3u8?ace$LR•IPV4•3『线路1』 +http://221.2.148.205:8154/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="山东文旅" tvg-name="山东文旅" group-title="山东",山东文旅 -http://58.57.40.22:9901/tsfile/live/1023_1.m3u8$LR•IPV4•3『线路2』 +http://60.209.125.254:352/tsfile/live/1004_1.m3u8?ace$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="山东文旅" tvg-name="山东文旅" group-title="山东",山东文旅 -http://221.2.148.205:8154/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•3『线路3』 +http://58.57.40.22:9901/tsfile/live/1023_1.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="济南综合" tvg-name="济南综合" group-title="山东",济南综合 -https://stream1.freetv.fun/ji-nan-zong-he-2.m3u8$LR•IPV4•3『线路1』 +https://stream1.freetv.fun/ji-nan-zong-he-1.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="济南综合" tvg-name="济南综合" group-title="山东",济南综合 -https://stream1.freetv.fun/ji-nan-zong-he-1.m3u8$LR•IPV4•3『线路2』 +https://quehuamtyoutlive.ijntv.cn/qsrog5/0szz7q.m3u8$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="济南综合" tvg-name="济南综合" group-title="山东",济南综合 -https://quehuamtyoutlive.ijntv.cn/qsrog5/0szz7q.m3u8$LR•IPV4•3『线路3』 +https://stream1.freetv.fun/ji-nan-zong-he-2.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="济南教育" tvg-name="济南教育" group-title="山东",济南教育 https://stream1.freetv.fun/ji-nan-jiao-yu-1.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="山西影视" tvg-name="山西影视" group-title="山西",山西影视 @@ -7690,203 +7638,203 @@ http://scgctvshow.sctv.com/hdlive/sctv7/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" group-title="港澳台",凤凰中文 http://api.mg.itv888.cn:8080/hls/2f80047f91e/index.m3u8$LR•IPV4•16『线路1』 #EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" group-title="港澳台",凤凰中文 -http://218.206.193.218:8888/hls/66/index.m3u8$LR•IPV4•16『线路2』 +http://223.110.245.139/ott.js.chinamobile.com/PLTV/3/224/3221226922/index.m3u8$LR•IPV4•16『线路2』 #EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" group-title="港澳台",凤凰中文 -http://r.jdshipin.com/cCCzW$LR•IPV4•16『线路3』 +http://218.206.193.218:8888/hls/66/index.m3u8$LR•IPV4•16『线路3』 #EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" group-title="港澳台",凤凰中文 -http://cdn6.163189.xyz/163189/fhzw$LR•IPV4•16『线路4』 +https://k44991.kylintv.tv/live/pxna_iphone.m3u8$LR•IPV4•16『线路4』 #EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" group-title="港澳台",凤凰中文 -http://push.cdn1.hls123.de:8080/streams/a4y2t99pzyi/index.m3u8$LR•IPV4•16『线路5』 +http://tianhewan.top/ZIPP.php?url=http://211.72.65.236:8577/.m3u8$LR•IPV4•16『线路5』 #EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" group-title="港澳台",凤凰中文 -https://flv-play.clouda.com/live/fhzw-6zSJoUiicyU3ovDlMvflVRLQlVCMRCARnyJ0NPlfcs3eWJNeJSDRMAz4VgeQV3Diy6.flv$LR•IPV4•16『线路6』 +http://146.56.153.245:20121/bysid/258$LR•IPV4•16『线路6』 #EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" group-title="港澳台",凤凰中文 -https://k44991.kylintv.tv/live/pxna_iphone.m3u8$LR•IPV4•16『线路7』 +http://e1.woc.iiiya.cn:8888/rtp/239.61.2.184:9092$LR•IPV4•16『线路7』 #EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" group-title="港澳台",凤凰中文 -http://tianhewan.top/ZIPP.php?url=http://211.72.65.236:8577/.m3u8$LR•IPV4•16『线路8』 +http://php.jdshipin.com/TVOD/iptv.php?id=fhzw$LR•IPV4•16『线路8』 #EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" group-title="港澳台",凤凰中文 -http://146.56.153.245:20121/bysid/258$LR•IPV4•16『线路9』 +http://122.117.71.103:8574/http/61.222.53.250:8078/hls/21/80/phoenixch.m3u8$LR•IPV4•16『线路9』 #EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" group-title="港澳台",凤凰中文 -http://e1.woc.iiiya.cn:8888/rtp/239.61.2.184:9092$LR•IPV4•16『线路10』 +http://148.135.93.213:81/phenix.php?id=fhzw$LR•IPV4•16『线路10』 #EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" group-title="港澳台",凤凰中文 -http://php.jdshipin.com/TVOD/iptv.php?id=fhzw$LR•IPV4•16『线路11』 +http://211.75.171.121:8577/http/61.67.128.137:8078/hls/21/80/phoenixch.m3u8$LR•IPV4•16『线路11』 #EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" group-title="港澳台",凤凰中文 -http://122.117.71.103:8574/http/61.222.53.250:8078/hls/21/80/phoenixch.m3u8$LR•IPV4•16『线路12』 +http://43.251.226.89:8080/play/888.m3u8$LR•IPV4•16『线路12』 #EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" group-title="港澳台",凤凰中文 -http://148.135.93.213:81/phenix.php?id=fhzw$LR•IPV4•16『线路13』 +http://push.cdn1.hls123.de:8080/streams/a4y2t99pzyi/index.m3u8$LR•IPV4•16『线路13』 #EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" group-title="港澳台",凤凰中文 -http://211.75.171.121:8577/http/61.67.128.137:8078/hls/21/80/phoenixch.m3u8$LR•IPV4•16『线路14』 +https://flv-play.clouda.com/live/fhzw-6zSJoUiicyU3ovDlMvflVRLQlVCMRCARnyJ0NPlfcs3eWJNeJSDRMAz4VgeQV3Diy6.flv$LR•IPV4•16『线路14』 #EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" group-title="港澳台",凤凰中文 -http://43.251.226.89:8080/play/888.m3u8$LR•IPV4•16『线路15』 +http://r.jdshipin.com/cCCzW$LR•IPV4•16『线路15』 #EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" group-title="港澳台",凤凰中文 -http://223.110.245.139/ott.js.chinamobile.com/PLTV/3/224/3221226922/index.m3u8$LR•IPV4•16『线路16』 +http://cdn6.163189.xyz/163189/fhzw$LR•IPV4•16『线路16』 #EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" group-title="港澳台",凤凰资讯 http://api.mg.itv888.cn:8080/hls/11ef1dc70d8/index.m3u8$LR•IPV4•16『线路1』 #EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" group-title="港澳台",凤凰资讯 -http://221.7.175.154:8445/tsfile/live/1021_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路2』 +http://223.110.245.167/ott.js.chinamobile.com/PLTV/3/224/3221226923/index.m3u8$LR•IPV4•16『线路2』 #EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" group-title="港澳台",凤凰资讯 -http://r.jdshipin.com/0Rp07$LR•IPV4•16『线路3』 +http://221.7.175.154:8445/tsfile/live/1021_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路3』 #EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" group-title="港澳台",凤凰资讯 http://php.jdshipin.com/TVOD/iptv.php?id=fhzx$LR•IPV4•16『线路4』 #EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" group-title="港澳台",凤凰资讯 -http://cdn6.163189.xyz/163189/fhzx$LR•IPV4•16『线路5』 +http://122.117.71.103:8573/http/61.222.53.250:8078/hls/20/80/phoenixif.m3u8$LR•IPV4•16『线路5』 #EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" group-title="港澳台",凤凰资讯 -http://push.cdn1.hls123.de:8080/streams/0u0qd5ovqkg/index.m3u8$LR•IPV4•16『线路6』 +http://e1.woc.iiiya.cn:8888/rtp/239.61.2.183:9086$LR•IPV4•16『线路6』 #EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" group-title="港澳台",凤凰资讯 -https://flv-play.clouda.com/live/fhzx-gCDIOsNFJ7DX5OI8hsebeQNHPm66LAMZgmIcGYcfIIEzXWKCVG2cQgbZdRq2aUVqJR.flv$LR•IPV4•16『线路7』 +http://146.56.153.245:20121/bysid/257$LR•IPV4•16『线路7』 #EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" group-title="港澳台",凤凰资讯 -http://122.117.71.103:8573/http/61.222.53.250:8078/hls/20/80/phoenixif.m3u8$LR•IPV4•16『线路8』 +http://tianhewan.top/ZIPP.php?url=http://211.72.65.236:8576/.m3u8$LR•IPV4•16『线路8』 #EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" group-title="港澳台",凤凰资讯 -http://e1.woc.iiiya.cn:8888/rtp/239.61.2.183:9086$LR•IPV4•16『线路9』 +http://148.135.93.213:81/phenix.php?id=fhzx$LR•IPV4•16『线路9』 #EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" group-title="港澳台",凤凰资讯 -http://146.56.153.245:20121/bysid/257$LR•IPV4•16『线路10』 +http://211.75.171.121:8576/http/61.67.128.137:8078/hls/20/80/phoenixif.m3u8$LR•IPV4•16『线路10』 #EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" group-title="港澳台",凤凰资讯 -http://tianhewan.top/ZIPP.php?url=http://211.72.65.236:8576/.m3u8$LR•IPV4•16『线路11』 +http://43.251.226.89:8080/play/889.m3u8$LR•IPV4•16『线路11』 #EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" group-title="港澳台",凤凰资讯 -http://148.135.93.213:81/phenix.php?id=fhzx$LR•IPV4•16『线路12』 +p3p://167.114.175.6:55331/5fffbf860003807cedf4e1016c3c3ed2$LR•IPV4•16『线路12』 #EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" group-title="港澳台",凤凰资讯 -http://211.75.171.121:8576/http/61.67.128.137:8078/hls/20/80/phoenixif.m3u8$LR•IPV4•16『线路13』 +http://push.cdn1.hls123.de:8080/streams/0u0qd5ovqkg/index.m3u8$LR•IPV4•16『线路13』 #EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" group-title="港澳台",凤凰资讯 -http://43.251.226.89:8080/play/889.m3u8$LR•IPV4•16『线路14』 +https://flv-play.clouda.com/live/fhzx-gCDIOsNFJ7DX5OI8hsebeQNHPm66LAMZgmIcGYcfIIEzXWKCVG2cQgbZdRq2aUVqJR.flv$LR•IPV4•16『线路14』 #EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" group-title="港澳台",凤凰资讯 -p3p://167.114.175.6:55331/5fffbf860003807cedf4e1016c3c3ed2$LR•IPV4•16『线路15』 +http://r.jdshipin.com/0Rp07$LR•IPV4•16『线路15』 #EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" group-title="港澳台",凤凰资讯 -http://223.110.245.167/ott.js.chinamobile.com/PLTV/3/224/3221226923/index.m3u8$LR•IPV4•16『线路16』 +http://cdn6.163189.xyz/163189/fhzx$LR•IPV4•16『线路16』 #EXTINF:-1 tvg-id="凤凰香港" tvg-name="凤凰香港" group-title="港澳台",凤凰香港 -http://122.152.202.33/s/81a8a44f/index.m3u8?id=fhhk$LR•IPV4•12『线路1』 +http://223.110.245.136/PLTV/3/224/3221226975/index.m3u8$LR•IPV4•12『线路1』 #EXTINF:-1 tvg-id="凤凰香港" tvg-name="凤凰香港" group-title="港澳台",凤凰香港 -https://epg.pw/stream/5f16dc7fc8aaaed3205516c63e4a8c24bca9dbba1181684244729cf574505b0e.m3u8$LR•IPV4•12『线路2』 +http://122.152.202.33/s/81a8a44f/index.m3u8?id=fhhk$LR•IPV4•12『线路2』 #EXTINF:-1 tvg-id="凤凰香港" tvg-name="凤凰香港" group-title="港澳台",凤凰香港 -https://epg.pw/stream/8770e89223a086eb1b8a0c931e42296d772a8069ad3eb72540e0c434e7cb3e93.m3u8$LR•IPV4•12『线路3』 +https://epg.pw/stream/5f16dc7fc8aaaed3205516c63e4a8c24bca9dbba1181684244729cf574505b0e.m3u8$LR•IPV4•12『线路3』 #EXTINF:-1 tvg-id="凤凰香港" tvg-name="凤凰香港" group-title="港澳台",凤凰香港 -http://r.jdshipin.com/yDoTN$LR•IPV4•12『线路4』 +https://epg.pw/stream/8770e89223a086eb1b8a0c931e42296d772a8069ad3eb72540e0c434e7cb3e93.m3u8$LR•IPV4•12『线路4』 #EXTINF:-1 tvg-id="凤凰香港" tvg-name="凤凰香港" group-title="港澳台",凤凰香港 -http://php.jdshipin.com/TVOD/iptv.php?id=fhhk$LR•IPV4•12『线路5』 +http://148.135.93.213:81/phenix.php?id=fhhk$LR•IPV4•12『线路5』 #EXTINF:-1 tvg-id="凤凰香港" tvg-name="凤凰香港" group-title="港澳台",凤凰香港 -http://cdn6.163189.xyz/163189/fhhk$LR•IPV4•12『线路6』 +http://43.251.226.89:8080/play/890.m3u8$LR•IPV4•12『线路6』 #EXTINF:-1 tvg-id="凤凰香港" tvg-name="凤凰香港" group-title="港澳台",凤凰香港 -http://push.cdn1.hls123.de:8080/streams/898y722sqjr/index.m3u8$LR•IPV4•12『线路7』 +p3p://167.114.175.6:55331/5fe0b82c000cac9774c17f262e43314d$LR•IPV4•12『线路7』 #EXTINF:-1 tvg-id="凤凰香港" tvg-name="凤凰香港" group-title="港澳台",凤凰香港 -https://flv-play.clouda.com/live/fhxg-s6ZqbJPCkU54D3ojHvlJm4el9wbnzF1VJ6J0oPumsZIfuPtYq1enmIhy43vWcUaaPf4U2xRRWNGOXX5BiusMXxxQ.flv$LR•IPV4•12『线路8』 +http://push.cdn1.hls123.de:8080/streams/898y722sqjr/index.m3u8$LR•IPV4•12『线路8』 #EXTINF:-1 tvg-id="凤凰香港" tvg-name="凤凰香港" group-title="港澳台",凤凰香港 -http://148.135.93.213:81/phenix.php?id=fhhk$LR•IPV4•12『线路9』 +https://flv-play.clouda.com/live/fhxg-s6ZqbJPCkU54D3ojHvlJm4el9wbnzF1VJ6J0oPumsZIfuPtYq1enmIhy43vWcUaaPf4U2xRRWNGOXX5BiusMXxxQ.flv$LR•IPV4•12『线路9』 #EXTINF:-1 tvg-id="凤凰香港" tvg-name="凤凰香港" group-title="港澳台",凤凰香港 -http://43.251.226.89:8080/play/890.m3u8$LR•IPV4•12『线路10』 +http://r.jdshipin.com/yDoTN$LR•IPV4•12『线路10』 #EXTINF:-1 tvg-id="凤凰香港" tvg-name="凤凰香港" group-title="港澳台",凤凰香港 -p3p://167.114.175.6:55331/5fe0b82c000cac9774c17f262e43314d$LR•IPV4•12『线路11』 +http://php.jdshipin.com/TVOD/iptv.php?id=fhhk$LR•IPV4•12『线路11』 #EXTINF:-1 tvg-id="凤凰香港" tvg-name="凤凰香港" group-title="港澳台",凤凰香港 -http://223.110.245.136/PLTV/3/224/3221226975/index.m3u8$LR•IPV4•12『线路12』 +http://cdn6.163189.xyz/163189/fhhk$LR•IPV4•12『线路12』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://cdn9.163189.xyz/smt1.1.php?id=jade_twn$LR•IPV4•35『线路1』 +p3p://167.114.175.6:55331/653e4c02000ea0440c8c63fd3e5d709d$LR•IPV4•35『线路1』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -p3p://167.114.175.6:55331/653e4c02000ea0440c8c63fd3e5d709d$LR•IPV4•35『线路2』 +p3p://167.114.175.6:55331/66c04cec000a20ac2dbf03c71cf661c9$LR•IPV4•35『线路2』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -p3p://167.114.175.6:55331/66c04cec000a20ac2dbf03c71cf661c9$LR•IPV4•35『线路3』 +p3p://108.181.32.169:19673/6533f6560002787f2d01338b57197695$LR•IPV4•35『线路3』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -p3p://108.181.32.169:19673/6533f6560002787f2d01338b57197695$LR•IPV4•35『线路4』 +http://cdn9.163189.xyz/smt1.1.php?id=jade_twn$LR•IPV4•35『线路4』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://php.jdshipin.com/TVOD/iptv.php?id=huali2$LR•IPV4•35『线路5』 +http://php.jdshipin.com:8880/TVOD/iptv.php?id=fct$LR•IPV4•35『线路5』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://php.jdshipin.com:8880/TVOD/iptv.php?id=fct4$LR•IPV4•35『线路6』 +http://php.jdshipin.com/TVOD/iptv.php?id=fct3$LR•IPV4•35『线路6』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://php.jdshipin.com:8880/TVOD/iptv.php?id=j1$LR•IPV4•35『线路7』 +http://php.jdshipin.com/TVOD/iptv.php?id=fct$LR•IPV4•35『线路7』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://124.244.129.167:9004/0.ts$LR•IPV4•35『线路8』 +http://hls.168.us.kg/u/81/master.m3u8$LR•IPV4•35『线路8』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://qingyi.7766.org:9004/0.ts$LR•IPV4•35『线路9』 +http://r.jdshipin.com/62WM7$LR•IPV4•35『线路9』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://push.cdn1.hls123.de:8080/streams/ef5addc0849/index.m3u8$LR•IPV4•35『线路10』 +http://php.jdshipin.com/TVOD/iptv.php?id=fct4$LR•IPV4•35『线路10』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://push.cdn1.hls123.de:8080/streams/n6dnsi33w2e/index.m3u8$LR•IPV4•35『线路11』 +http://php.jdshipin.com:8880/smt.php?id=jade_twn$LR•IPV4•35『线路11』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://php.jdshipin.com:8880/TVOD/iptv.php?id=fct$LR•IPV4•35『线路12』 +http://php.jdshipin.com/smt.php?id=jade_twn$LR•IPV4•35『线路12』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://php.jdshipin.com/TVOD/iptv.php?id=fct3$LR•IPV4•35『线路13』 +http://cdn9.1689.us.kg/smt1.1.php?id=jade_twn$LR•IPV4•35『线路13』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://php.jdshipin.com/TVOD/iptv.php?id=fct$LR•IPV4•35『线路14』 +http://ali.hlspull.yximgs.com/live/l3w1tt2dkzvpukkliu64ah005-golive.flv$LR•IPV4•35『线路14』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://hls.168.us.kg/u/81/master.m3u8$LR•IPV4•35『线路15』 +http://58.250.155.2:8180/TV00000000000000000032@HHZT$LR•IPV4•35『线路15』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://r.jdshipin.com/62WM7$LR•IPV4•35『线路16』 +http://hotelplay.net/live/pmb8krf68n4z/4d8cf4af8de3574c/476935.m3u8$LR•IPV4•35『线路16』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://php.jdshipin.com/TVOD/iptv.php?id=fct4$LR•IPV4•35『线路17』 +http://ali.hlspull.yximgs.com/live/awei_jade.flv$LR•IPV4•35『线路17』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://php.jdshipin.com:8880/smt.php?id=jade_twn$LR•IPV4•35『线路18』 +p3p://167.114.175.6:55331/653e49c20006c60f0c8397f7771b1b7b$LR•IPV4•35『线路18』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://php.jdshipin.com/smt.php?id=jade_twn$LR•IPV4•35『线路19』 +https://hls-gateway.vpstv.net/streams/476929.m3u8$LR•IPV4•35『线路19』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://cdn9.1689.us.kg/smt1.1.php?id=jade_twn$LR•IPV4•35『线路20』 +http://124.244.129.167:9004/0.ts$LR•IPV4•35『线路20』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://ali.hlspull.yximgs.com/live/l3w1tt2dkzvpukkliu64ah005-golive.flv$LR•IPV4•35『线路21』 +http://qingyi.7766.org:9004/0.ts$LR•IPV4•35『线路21』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://58.250.155.2:8180/TV00000000000000000032@HHZT$LR•IPV4•35『线路22』 +http://push.cdn1.hls123.de:8080/streams/ef5addc0849/index.m3u8$LR•IPV4•35『线路22』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://hotelplay.net/live/pmb8krf68n4z/4d8cf4af8de3574c/476935.m3u8$LR•IPV4•35『线路23』 +http://push.cdn1.hls123.de:8080/streams/n6dnsi33w2e/index.m3u8$LR•IPV4•35『线路23』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://ali.hlspull.yximgs.com/live/awei_jade.flv$LR•IPV4•35『线路24』 +http://php.jdshipin.com/TVOD/iptv.php?id=huali2$LR•IPV4•35『线路24』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -p3p://167.114.175.6:55331/653e49c20006c60f0c8397f7771b1b7b$LR•IPV4•35『线路25』 +http://php.jdshipin.com:8880/TVOD/iptv.php?id=fct4$LR•IPV4•35『线路25』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -https://hls-gateway.vpstv.net/streams/476929.m3u8$LR•IPV4•35『线路26』 +http://php.jdshipin.com:8880/TVOD/iptv.php?id=j1$LR•IPV4•35『线路26』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://cdn6.163189.xyz/163189/fct4k$LR•IPV4•35『线路27』 +https://mytv.cdn.loc.cc/o12.php?id=fct$LR•IPV4•35『线路27』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -https://rtmp.play.live.tieba.com/live/FC-jeT4nLMVrUuYYF1zrjAOgphyDowTHE2GMxjLxPqIlRQMJDhcbFPAiSIzDGwPF77NfidpWnLiDqicTmg8mV7ichVA.flv$LR•IPV4•35『线路28』 +http://43.251.226.89:8080/play/867.m3u8$LR•IPV4•35『线路28』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -https://flv-play.clouda.com/live/fc-0StF0ynwlSa7hrv7OF4easlc5FZmZpEjC6AeAaCOogpDCWWipXDZFKTn9DvV3WQiAHjYtcE6ZqmDFmnvRAARmtRA.flv$LR•IPV4•35『线路29』 +http://43.251.226.89:8080/play/868.m3u8$LR•IPV4•35『线路29』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -https://mytv.cdn.loc.cc/o12.php?id=fct$LR•IPV4•35『线路30』 +http://43.251.226.89:8080/play/869.m3u8$LR•IPV4•35『线路30』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://43.251.226.89:8080/play/867.m3u8$LR•IPV4•35『线路31』 +http://43.251.226.89:8080/play/894.m3u8$LR•IPV4•35『线路31』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://43.251.226.89:8080/play/868.m3u8$LR•IPV4•35『线路32』 +http://43.251.226.89:8080/play/895.m3u8$LR•IPV4•35『线路32』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://43.251.226.89:8080/play/869.m3u8$LR•IPV4•35『线路33』 +https://rtmp.play.live.tieba.com/live/FC-jeT4nLMVrUuYYF1zrjAOgphyDowTHE2GMxjLxPqIlRQMJDhcbFPAiSIzDGwPF77NfidpWnLiDqicTmg8mV7ichVA.flv$LR•IPV4•35『线路33』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://43.251.226.89:8080/play/894.m3u8$LR•IPV4•35『线路34』 +https://flv-play.clouda.com/live/fc-0StF0ynwlSa7hrv7OF4easlc5FZmZpEjC6AeAaCOogpDCWWipXDZFKTn9DvV3WQiAHjYtcE6ZqmDFmnvRAARmtRA.flv$LR•IPV4•35『线路34』 #EXTINF:-1 tvg-id="TVB翡翠台" tvg-name="TVB翡翠台" group-title="港澳台",TVB翡翠台 -http://43.251.226.89:8080/play/895.m3u8$LR•IPV4•35『线路35』 +http://cdn6.163189.xyz/163189/fct4k$LR•IPV4•35『线路35』 #EXTINF:-1 tvg-id="TVB明珠台" tvg-name="TVB明珠台" group-title="港澳台",TVB明珠台 -http://cdn9.163189.xyz/smt1.1.php?id=pearl_twn$LR•IPV4•17『线路1』 +http://php.jdshipin.com/TVOD/iptv.php?id=mzt2$LR•IPV4•17『线路1』 #EXTINF:-1 tvg-id="TVB明珠台" tvg-name="TVB明珠台" group-title="港澳台",TVB明珠台 -http://php.jdshipin.com/TVOD/iptv.php?id=mzt2$LR•IPV4•17『线路2』 +http://php.jdshipin.com/PLTV/iptv.php?id=mzt2$LR•IPV4•17『线路2』 #EXTINF:-1 tvg-id="TVB明珠台" tvg-name="TVB明珠台" group-title="港澳台",TVB明珠台 -http://php.jdshipin.com/PLTV/iptv.php?id=mzt2$LR•IPV4•17『线路3』 +http://php.jdshipin.com/PLTV/iptv.php?id=mzt$LR•IPV4•17『线路3』 #EXTINF:-1 tvg-id="TVB明珠台" tvg-name="TVB明珠台" group-title="港澳台",TVB明珠台 -http://php.jdshipin.com/PLTV/iptv.php?id=mzt$LR•IPV4•17『线路4』 +http://php.jdshipin.com/TVOD/iptv.php?id=mzt$LR•IPV4•17『线路4』 #EXTINF:-1 tvg-id="TVB明珠台" tvg-name="TVB明珠台" group-title="港澳台",TVB明珠台 -http://php.jdshipin.com/TVOD/iptv.php?id=mzt$LR•IPV4•17『线路5』 +http://hls.168.us.kg/u/84/master.m3u8$LR•IPV4•17『线路5』 #EXTINF:-1 tvg-id="TVB明珠台" tvg-name="TVB明珠台" group-title="港澳台",TVB明珠台 -http://hls.168.us.kg/u/84/master.m3u8$LR•IPV4•17『线路6』 +p3p://167.114.175.6:55331/611d99f3000116024a845bb9627404c9$LR•IPV4•17『线路6』 #EXTINF:-1 tvg-id="TVB明珠台" tvg-name="TVB明珠台" group-title="港澳台",TVB明珠台 -p3p://167.114.175.6:55331/611d99f3000116024a845bb9627404c9$LR•IPV4•17『线路7』 +http://php.jdshipin.com:8880/smt.php?id=pearl_twn$LR•IPV4•17『线路7』 #EXTINF:-1 tvg-id="TVB明珠台" tvg-name="TVB明珠台" group-title="港澳台",TVB明珠台 -http://php.jdshipin.com:8880/smt.php?id=pearl_twn$LR•IPV4•17『线路8』 +http://cdn9.163189.xyz/smt1.1.php?id=pearl_twn$LR•IPV4•17『线路8』 #EXTINF:-1 tvg-id="TVB明珠台" tvg-name="TVB明珠台" group-title="港澳台",TVB明珠台 -http://push.cdn1.hls123.de:8080/streams/89a8p45a15e/index.m3u8$LR•IPV4•17『线路9』 +https://hls-gateway.vpstv.net/streams/476936.m3u8$LR•IPV4•17『线路9』 #EXTINF:-1 tvg-id="TVB明珠台" tvg-name="TVB明珠台" group-title="港澳台",TVB明珠台 -https://hls-gateway.vpstv.net/streams/476936.m3u8$LR•IPV4•17『线路10』 +http://push.cdn1.hls123.de:8080/streams/89a8p45a15e/index.m3u8$LR•IPV4•17『线路10』 #EXTINF:-1 tvg-id="TVB明珠台" tvg-name="TVB明珠台" group-title="港澳台",TVB明珠台 p3p://167.114.175.6:55331/602f1ba9000814efa6f2970333d309d9$LR•IPV4•17『线路11』 #EXTINF:-1 tvg-id="TVB明珠台" tvg-name="TVB明珠台" group-title="港澳台",TVB明珠台 -https://rtmp.play.live.tieba.com/live//MZ-75gIBwRfJZ3RrMGEzQPAdi3zVypiQ7z9CX7mFFWT0axbBxDJ6LrmKo47NVPt08bBadAZNAmywLSGE4wQwFeuTVwh.flv$LR•IPV4•17『线路12』 +https://mytv.cdn.loc.cc/o12.php?id=mzt$LR•IPV4•17『线路12』 #EXTINF:-1 tvg-id="TVB明珠台" tvg-name="TVB明珠台" group-title="港澳台",TVB明珠台 -https://flv-play.clouda.com/live/mz-X4DYjEwtWNHLlq9hBWs8o4HWYKLq7ChxxavhYKcZOcRlFh0guIp954ka9YGs8MAF9FOJ2gPvg5wcd8Yr7WSISG3g.flv$LR•IPV4•17『线路13』 +http://43.251.226.89:8080/play/871.m3u8$LR•IPV4•17『线路13』 #EXTINF:-1 tvg-id="TVB明珠台" tvg-name="TVB明珠台" group-title="港澳台",TVB明珠台 -https://mytv.cdn.loc.cc/o12.php?id=mzt$LR•IPV4•17『线路14』 +http://43.251.226.89:8080/play/872.m3u8$LR•IPV4•17『线路14』 #EXTINF:-1 tvg-id="TVB明珠台" tvg-name="TVB明珠台" group-title="港澳台",TVB明珠台 -http://43.251.226.89:8080/play/871.m3u8$LR•IPV4•17『线路15』 +http://43.251.226.89:8080/play/897.m3u8$LR•IPV4•17『线路15』 #EXTINF:-1 tvg-id="TVB明珠台" tvg-name="TVB明珠台" group-title="港澳台",TVB明珠台 -http://43.251.226.89:8080/play/872.m3u8$LR•IPV4•17『线路16』 +https://rtmp.play.live.tieba.com/live//MZ-75gIBwRfJZ3RrMGEzQPAdi3zVypiQ7z9CX7mFFWT0axbBxDJ6LrmKo47NVPt08bBadAZNAmywLSGE4wQwFeuTVwh.flv$LR•IPV4•17『线路16』 #EXTINF:-1 tvg-id="TVB明珠台" tvg-name="TVB明珠台" group-title="港澳台",TVB明珠台 -http://43.251.226.89:8080/play/897.m3u8$LR•IPV4•17『线路17』 +https://flv-play.clouda.com/live/mz-X4DYjEwtWNHLlq9hBWs8o4HWYKLq7ChxxavhYKcZOcRlFh0guIp954ka9YGs8MAF9FOJ2gPvg5wcd8Yr7WSISG3g.flv$LR•IPV4•17『线路17』 #EXTINF:-1 tvg-id="TVB无线新闻" tvg-name="TVB无线新闻" group-title="港澳台",TVB无线新闻 -http://cdn9.163189.xyz/smt1.1.php?id=inews_twn$LR•IPV4•16『线路1』 +http://php.jdshipin.com/smt.php?id=inews_twn$LR•IPV4•16『线路1』 #EXTINF:-1 tvg-id="TVB无线新闻" tvg-name="TVB无线新闻" group-title="港澳台",TVB无线新闻 -http://php.jdshipin.com/smt.php?id=inews_twn$LR•IPV4•16『线路2』 +http://php.jdshipin.com/TVOD/iptv.php?id=wxxwt$LR•IPV4•16『线路2』 #EXTINF:-1 tvg-id="TVB无线新闻" tvg-name="TVB无线新闻" group-title="港澳台",TVB无线新闻 -http://php.jdshipin.com/TVOD/iptv.php?id=wxxwt$LR•IPV4•16『线路3』 +http://r.jdshipin.com/CkuBd$LR•IPV4•16『线路3』 #EXTINF:-1 tvg-id="TVB无线新闻" tvg-name="TVB无线新闻" group-title="港澳台",TVB无线新闻 -http://r.jdshipin.com/CkuBd$LR•IPV4•16『线路4』 +http://cdn9.163189.xyz/smt1.1.php?id=inews_twn$LR•IPV4•16『线路4』 #EXTINF:-1 tvg-id="TVB无线新闻" tvg-name="TVB无线新闻" group-title="港澳台",TVB无线新闻 http://74.91.26.218:82/live/inews.m3u8$LR•IPV4•16『线路5』 #EXTINF:-1 tvg-id="TVB无线新闻" tvg-name="TVB无线新闻" group-title="港澳台",TVB无线新闻 @@ -7902,115 +7850,115 @@ p3p://167.114.175.6:55331/66c9c0df00016a4852abc2d358ee0ccb$LR•IPV4•16『线 #EXTINF:-1 tvg-id="TVB无线新闻" tvg-name="TVB无线新闻" group-title="港澳台",TVB无线新闻 p3p://167.114.175.6:55331/653e4818000b73240c7d19181340415e$LR•IPV4•16『线路11』 #EXTINF:-1 tvg-id="TVB无线新闻" tvg-name="TVB无线新闻" group-title="港澳台",TVB无线新闻 -http://php.jdshipin.com/TVOD/iptv.php?id=wxxw$LR•IPV4•16『线路12』 +http://43.251.226.89:8080/play/865.m3u8$LR•IPV4•16『线路12』 #EXTINF:-1 tvg-id="TVB无线新闻" tvg-name="TVB无线新闻" group-title="港澳台",TVB无线新闻 -http://push.cdn1.hls123.de:8080/streams/n66wwnx3l7i/index.m3u8$LR•IPV4•16『线路13』 +http://43.251.226.89:8080/play/893.m3u8$LR•IPV4•16『线路13』 #EXTINF:-1 tvg-id="TVB无线新闻" tvg-name="TVB无线新闻" group-title="港澳台",TVB无线新闻 -http://43.251.226.89:8080/play/865.m3u8$LR•IPV4•16『线路14』 +https://hls-gateway.vpstv.net/streams/708884.m3u8$LR•IPV4•16『线路14』 #EXTINF:-1 tvg-id="TVB无线新闻" tvg-name="TVB无线新闻" group-title="港澳台",TVB无线新闻 -http://43.251.226.89:8080/play/893.m3u8$LR•IPV4•16『线路15』 +http://push.cdn1.hls123.de:8080/streams/n66wwnx3l7i/index.m3u8$LR•IPV4•16『线路15』 #EXTINF:-1 tvg-id="TVB无线新闻" tvg-name="TVB无线新闻" group-title="港澳台",TVB无线新闻 -https://hls-gateway.vpstv.net/streams/708884.m3u8$LR•IPV4•16『线路16』 +http://php.jdshipin.com/TVOD/iptv.php?id=wxxw$LR•IPV4•16『线路16』 #EXTINF:-1 tvg-id="TVB星河" tvg-name="TVB星河" group-title="港澳台",TVB星河 -http://r.jdshipin.com/Voac4$LR•IPV4•16『线路1』 +http://php.jdshipin.com/TVOD/iptv.php?id=xinghe$LR•IPV4•16『线路1』 #EXTINF:-1 tvg-id="TVB星河" tvg-name="TVB星河" group-title="港澳台",TVB星河 -http://push.cdn1.hls123.de:8080/streams/hbiwgswysds/index.m3u8$LR•IPV4•16『线路2』 +http://php.jdshipin.com:8880/smt.php?id=Xinhe$LR•IPV4•16『线路2』 #EXTINF:-1 tvg-id="TVB星河" tvg-name="TVB星河" group-title="港澳台",TVB星河 -https://flv-play.clouda.com/live/13-ut3RFdJxRGEIEn2AMMPEkKK5TfHBIgvlqwcjFuAItD6Y2IgzaDEznMF3EswnXWDb4O.flv$LR•IPV4•16『线路3』 +http://cdn9.1689.us.kg/smt1.1.php?id=Xinhe$LR•IPV4•16『线路3』 #EXTINF:-1 tvg-id="TVB星河" tvg-name="TVB星河" group-title="港澳台",TVB星河 -http://php.jdshipin.com/TVOD/iptv.php?id=xinghe$LR•IPV4•16『线路4』 +http://v2h.jdshipin.com/xinghe_1/xinghe_1.stream/chunklist_w106.m3u8$LR•IPV4•16『线路4』 #EXTINF:-1 tvg-id="TVB星河" tvg-name="TVB星河" group-title="港澳台",TVB星河 -http://php.jdshipin.com:8880/smt.php?id=Xinhe$LR•IPV4•16『线路5』 +http://php.jdshipin.com:8880/TVOD/iptv.php?id=xinghe$LR•IPV4•16『线路5』 #EXTINF:-1 tvg-id="TVB星河" tvg-name="TVB星河" group-title="港澳台",TVB星河 -http://cdn9.1689.us.kg/smt1.1.php?id=Xinhe$LR•IPV4•16『线路6』 +https://tv.mytvsuper.xyz/tvb/xinghe/xinghe.m3u8$LR•IPV4•16『线路6』 #EXTINF:-1 tvg-id="TVB星河" tvg-name="TVB星河" group-title="港澳台",TVB星河 -http://v2h.jdshipin.com/xinghe_1/xinghe_1.stream/chunklist_w106.m3u8$LR•IPV4•16『线路7』 +p3p://167.114.175.6:55331/5fdee23d000b670a6d96428e4c334643$LR•IPV4•16『线路7』 #EXTINF:-1 tvg-id="TVB星河" tvg-name="TVB星河" group-title="港澳台",TVB星河 -http://php.jdshipin.com:8880/TVOD/iptv.php?id=xinghe$LR•IPV4•16『线路8』 +p3p://167.114.175.6:55331/6563174f0002ffaf9c45dd927c7d6df1$LR•IPV4•16『线路8』 #EXTINF:-1 tvg-id="TVB星河" tvg-name="TVB星河" group-title="港澳台",TVB星河 -https://tv.mytvsuper.xyz/tvb/xinghe/xinghe.m3u8$LR•IPV4•16『线路9』 +http://push.cdn1.hls123.de:8080/streams/hbiwgswysds/index.m3u8$LR•IPV4•16『线路9』 #EXTINF:-1 tvg-id="TVB星河" tvg-name="TVB星河" group-title="港澳台",TVB星河 -p3p://167.114.175.6:55331/5fdee23d000b670a6d96428e4c334643$LR•IPV4•16『线路10』 +https://flv-play.clouda.com/live/13-ut3RFdJxRGEIEn2AMMPEkKK5TfHBIgvlqwcjFuAItD6Y2IgzaDEznMF3EswnXWDb4O.flv$LR•IPV4•16『线路10』 #EXTINF:-1 tvg-id="TVB星河" tvg-name="TVB星河" group-title="港澳台",TVB星河 -p3p://167.114.175.6:55331/6563174f0002ffaf9c45dd927c7d6df1$LR•IPV4•16『线路11』 +http://r.jdshipin.com/Voac4$LR•IPV4•16『线路11』 #EXTINF:-1 tvg-id="TVB星河" tvg-name="TVB星河" group-title="港澳台",TVB星河 -https://live.ottiptv.cc/huya/23734169$LR•IPV4•16『线路12』 +http://43.251.226.89:8080/play/876.m3u8$LR•IPV4•16『线路12』 #EXTINF:-1 tvg-id="TVB星河" tvg-name="TVB星河" group-title="港澳台",TVB星河 -http://43.251.226.89:8080/play/876.m3u8$LR•IPV4•16『线路13』 +http://43.251.226.89:8080/play/877.m3u8$LR•IPV4•16『线路13』 #EXTINF:-1 tvg-id="TVB星河" tvg-name="TVB星河" group-title="港澳台",TVB星河 -http://43.251.226.89:8080/play/877.m3u8$LR•IPV4•16『线路14』 +http://43.251.226.89:8080/play/898.m3u8$LR•IPV4•16『线路14』 #EXTINF:-1 tvg-id="TVB星河" tvg-name="TVB星河" group-title="港澳台",TVB星河 -http://43.251.226.89:8080/play/898.m3u8$LR•IPV4•16『线路15』 +https://hls-gateway.vpstv.net/streams/709489.m3u8$LR•IPV4•16『线路15』 #EXTINF:-1 tvg-id="TVB星河" tvg-name="TVB星河" group-title="港澳台",TVB星河 -https://hls-gateway.vpstv.net/streams/709489.m3u8$LR•IPV4•16『线路16』 +https://live.ottiptv.cc/huya/23734169$LR•IPV4•16『线路16』 #EXTINF:-1 tvg-id="TVBS" tvg-name="TVBS" group-title="港澳台",TVBS http://38.64.72.148/hls/modn/list/4005/playlist.m3u8$LR•IPV4•13『线路1』 #EXTINF:-1 tvg-id="TVBS" tvg-name="TVBS" group-title="港澳台",TVBS -http://61.221.215.25:8800/hls/9/index.m3u8$LR•IPV4•13『线路2』 +http://seb.sason.top/sc/tvbsxw_fhd.m3u8$LR•IPV4•13『线路2』 #EXTINF:-1 tvg-id="TVBS" tvg-name="TVBS" group-title="港澳台",TVBS -http://38.64.72.148/hls/modn/list/4005/chunklist0.m3u8$LR•IPV4•13『线路3』 +http://61.221.215.25:8800/hls/9/index.m3u8$LR•IPV4•13『线路3』 #EXTINF:-1 tvg-id="TVBS" tvg-name="TVBS" group-title="港澳台",TVBS -http://38.64.72.148:80/hls/modn/list/4005/chunklist1.m3u8$LR•IPV4•13『线路4』 +http://38.64.72.148/hls/modn/list/4005/chunklist0.m3u8$LR•IPV4•13『线路4』 #EXTINF:-1 tvg-id="TVBS" tvg-name="TVBS" group-title="港澳台",TVBS -http://38.64.72.148:80/hls/modn/list/4005/playlist.m3u8$LR•IPV4•13『线路5』 +http://38.64.72.148:80/hls/modn/list/4005/chunklist1.m3u8$LR•IPV4•13『线路5』 #EXTINF:-1 tvg-id="TVBS" tvg-name="TVBS" group-title="港澳台",TVBS -http://38.64.72.148/hls/modn/list/4005/chunklist1.m3u8$LR•IPV4•13『线路6』 +http://38.64.72.148:80/hls/modn/list/4005/playlist.m3u8$LR•IPV4•13『线路6』 #EXTINF:-1 tvg-id="TVBS" tvg-name="TVBS" group-title="港澳台",TVBS -http://38.64.72.148:80/hls/modn/list/4005/chunklist0.m3u8$LR•IPV4•13『线路7』 +http://38.64.72.148/hls/modn/list/4005/chunklist1.m3u8$LR•IPV4•13『线路7』 #EXTINF:-1 tvg-id="TVBS" tvg-name="TVBS" group-title="港澳台",TVBS -http://125.227.210.55:8188/VideoInput/play.ts$LR•IPV4•13『线路8』 +http://38.64.72.148:80/hls/modn/list/4005/chunklist0.m3u8$LR•IPV4•13『线路8』 #EXTINF:-1 tvg-id="TVBS" tvg-name="TVBS" group-title="港澳台",TVBS -http://125.227.210.55:8186/VideoInput/play.ts$LR•IPV4•13『线路9』 +http://125.227.210.55:8188/VideoInput/play.ts$LR•IPV4•13『线路9』 #EXTINF:-1 tvg-id="TVBS" tvg-name="TVBS" group-title="港澳台",TVBS -http://125.227.210.55:8187/VideoInput/play.ts$LR•IPV4•13『线路10』 +http://125.227.210.55:8186/VideoInput/play.ts$LR•IPV4•13『线路10』 #EXTINF:-1 tvg-id="TVBS" tvg-name="TVBS" group-title="港澳台",TVBS -p3p://167.114.175.6:55331/612ee5ef000f06f58e144b6727ec3efb$LR•IPV4•13『线路11』 +http://125.227.210.55:8187/VideoInput/play.ts$LR•IPV4•13『线路11』 #EXTINF:-1 tvg-id="TVBS" tvg-name="TVBS" group-title="港澳台",TVBS -p3p://167.114.175.6:55331/61efd0a100047e1a7f9fa38d29f5746d$LR•IPV4•13『线路12』 +p3p://167.114.175.6:55331/612ee5ef000f06f58e144b6727ec3efb$LR•IPV4•13『线路12』 #EXTINF:-1 tvg-id="TVBS" tvg-name="TVBS" group-title="港澳台",TVBS -http://seb.sason.top/sc/tvbsxw_fhd.m3u8$LR•IPV4•13『线路13』 +p3p://167.114.175.6:55331/61efd0a100047e1a7f9fa38d29f5746d$LR•IPV4•13『线路13』 #EXTINF:-1 tvg-id="台视" tvg-name="台视" group-title="港澳台",台视 -http://38.64.72.148/hls/modn/list/4013/chunklist1.m3u8$LR•IPV4•12『线路1』 +http://162.19.247.76:22222/live/taishi/index.m3u8$LR•IPV4•12『线路1』 #EXTINF:-1 tvg-id="台视" tvg-name="台视" group-title="港澳台",台视 -http://211.72.174.95:8112/0.ts$LR•IPV4•12『线路2』 +http://74.91.26.218:82/live/ttvcj.m3u8$LR•IPV4•12『线路2』 #EXTINF:-1 tvg-id="台视" tvg-name="台视" group-title="港澳台",台视 -http://220.135.241.47:8315/0.ts$LR•IPV4•12『线路3』 +http://74.91.26.218:82/live/ttvzh.m3u8$LR•IPV4•12『线路3』 #EXTINF:-1 tvg-id="台视" tvg-name="台视" group-title="港澳台",台视 -http://74.91.26.218:82/live/ttvcj.m3u8$LR•IPV4•12『线路4』 +http://38.64.72.148:80/hls/modn/list/4013/chunklist0.m3u8$LR•IPV4•12『线路4』 #EXTINF:-1 tvg-id="台视" tvg-name="台视" group-title="港澳台",台视 -http://74.91.26.218:82/live/ttvzh.m3u8$LR•IPV4•12『线路5』 +http://38.64.72.148:80/hls/modn/list/4013/chunklist1.m3u8$LR•IPV4•12『线路5』 #EXTINF:-1 tvg-id="台视" tvg-name="台视" group-title="港澳台",台视 -http://38.64.72.148:80/hls/modn/list/4013/chunklist0.m3u8$LR•IPV4•12『线路6』 +http://38.64.72.148/hls/modn/list/4013/chunklist0.m3u8$LR•IPV4•12『线路6』 #EXTINF:-1 tvg-id="台视" tvg-name="台视" group-title="港澳台",台视 -http://38.64.72.148:80/hls/modn/list/4013/chunklist1.m3u8$LR•IPV4•12『线路7』 +rtmp://f13h.mine.nu/sat/tv071$LR•IPV4•12『线路7』 #EXTINF:-1 tvg-id="台视" tvg-name="台视" group-title="港澳台",台视 -http://38.64.72.148/hls/modn/list/4013/chunklist0.m3u8$LR•IPV4•12『线路8』 +p3p://167.114.175.6:55331/612ee2240008f3db8e0578dc59406f9e$LR•IPV4•12『线路8』 #EXTINF:-1 tvg-id="台视" tvg-name="台视" group-title="港澳台",台视 -rtmp://f13h.mine.nu/sat/tv071$LR•IPV4•12『线路9』 +p3p://167.114.175.6:55331/6223b571000a13023e78ece5030b5b05$LR•IPV4•12『线路9』 #EXTINF:-1 tvg-id="台视" tvg-name="台视" group-title="港澳台",台视 -p3p://167.114.175.6:55331/612ee2240008f3db8e0578dc59406f9e$LR•IPV4•12『线路10』 +http://211.72.174.95:8112/0.ts$LR•IPV4•12『线路10』 #EXTINF:-1 tvg-id="台视" tvg-name="台视" group-title="港澳台",台视 -p3p://167.114.175.6:55331/6223b571000a13023e78ece5030b5b05$LR•IPV4•12『线路11』 +http://220.135.241.47:8315/0.ts$LR•IPV4•12『线路11』 #EXTINF:-1 tvg-id="台视" tvg-name="台视" group-title="港澳台",台视 -http://162.19.247.76:22222/live/taishi/index.m3u8$LR•IPV4•12『线路12』 +http://38.64.72.148/hls/modn/list/4013/chunklist1.m3u8$LR•IPV4•12『线路12』 #EXTINF:-1 tvg-id="民视新闻" tvg-name="民视新闻" group-title="港澳台",民视新闻 -http://rihou.cc:555/tv/民视新闻$LR•IPV4•6『线路1』 +http://38.64.72.148:80/hls/modn/list/4012/chunklist0.m3u8$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="民视新闻" tvg-name="民视新闻" group-title="港澳台",民视新闻 -http://211.72.174.95:8117/0.ts$LR•IPV4•6『线路2』 +http://38.64.72.148:80/hls/modn/list/4012/chunklist1.m3u8$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="民视新闻" tvg-name="民视新闻" group-title="港澳台",民视新闻 -http://38.64.72.148:80/hls/modn/list/4012/chunklist0.m3u8$LR•IPV4•6『线路3』 +http://38.64.72.148/hls/modn/list/4012/chunklist0.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="民视新闻" tvg-name="民视新闻" group-title="港澳台",民视新闻 -http://38.64.72.148:80/hls/modn/list/4012/chunklist1.m3u8$LR•IPV4•6『线路4』 +http://38.64.72.148/hls/modn/list/4012/chunklist1.m3u8$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="民视新闻" tvg-name="民视新闻" group-title="港澳台",民视新闻 -http://38.64.72.148/hls/modn/list/4012/chunklist0.m3u8$LR•IPV4•6『线路5』 +http://rihou.cc:555/tv/民视新闻$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="民视新闻" tvg-name="民视新闻" group-title="港澳台",民视新闻 -http://38.64.72.148/hls/modn/list/4012/chunklist1.m3u8$LR•IPV4•6『线路6』 +http://211.72.174.95:8117/0.ts$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="耀才财经" tvg-name="耀才财经" group-title="港澳台",耀才财经 -https://v3.mediacast.hk/webcast/bshdlive-pc/chunklist_w99771165.m3u8$LR•IPV4•3『线路1』 +http://202.69.67.66:443/webcast/bshdlive-mobile/playlist.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="耀才财经" tvg-name="耀才财经" group-title="港澳台",耀才财经 https://v3.mediacast.hk/webcast/bshdlive-pc/playlist.m3u8$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="耀才财经" tvg-name="耀才财经" group-title="港澳台",耀才财经 -http://202.69.67.66:443/webcast/bshdlive-mobile/playlist.m3u8$LR•IPV4•3『线路3』 +https://v3.mediacast.hk/webcast/bshdlive-pc/chunklist_w99771165.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="美亚C+" tvg-name="美亚C+" group-title="港澳台",美亚C+ http://ottproxy2.ist.ooo/livehls/MOB-U1-NO/03.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="美亚C+" tvg-name="美亚C+" group-title="港澳台",美亚C+ @@ -8020,21 +7968,21 @@ http://ottproxy2.ist.ooo/livehls/MOB-U1-NO/02.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="数位电影" tvg-name="数位电影" group-title="港澳台",数位电影 p3p://167.114.175.6:55331/6223ae1b0007136f3e5c44280e3300fa$LR•IPV4 #EXTINF:-1 tvg-id="龙华偶像" tvg-name="龙华偶像" group-title="港澳台",龙华偶像 -https://cdn8.163189.xyz/live/lhox/stream.m3u8$LR•IPV4•4『线路1』 +http://43.251.226.89:8080/play/911.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="龙华偶像" tvg-name="龙华偶像" group-title="港澳台",龙华偶像 -http://43.251.226.89:8080/play/911.m3u8$LR•IPV4•4『线路2』 +http://cdn8.163189.xyz/163189/lhox$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="龙华偶像" tvg-name="龙华偶像" group-title="港澳台",龙华偶像 -http://cdn8.163189.xyz/163189/lhox$LR•IPV4•4『线路3』 +p3p://167.114.175.6:55331/609bb1b0000732744f174daa791d3b43$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="龙华偶像" tvg-name="龙华偶像" group-title="港澳台",龙华偶像 -p3p://167.114.175.6:55331/609bb1b0000732744f174daa791d3b43$LR•IPV4•4『线路4』 +https://cdn8.163189.xyz/live/lhox/stream.m3u8$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="龙华经典" tvg-name="龙华经典" group-title="港澳台",龙华经典 -https://cdn8.163189.xyz/live/lhjd/stream.m3u8$LR•IPV4•4『线路1』 +http://43.251.226.89:8080/play/909.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="龙华经典" tvg-name="龙华经典" group-title="港澳台",龙华经典 -http://43.251.226.89:8080/play/909.m3u8$LR•IPV4•4『线路2』 +http://cdn8.163189.xyz/163189/lhjd$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="龙华经典" tvg-name="龙华经典" group-title="港澳台",龙华经典 -http://cdn8.163189.xyz/163189/lhjd$LR•IPV4•4『线路3』 +p3p://167.114.175.6:55331/6223b9d8000ef67e3e8a2073190e36d5$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="龙华经典" tvg-name="龙华经典" group-title="港澳台",龙华经典 -p3p://167.114.175.6:55331/6223b9d8000ef67e3e8a2073190e36d5$LR•IPV4•4『线路4』 +https://cdn8.163189.xyz/live/lhjd/stream.m3u8$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="纬来日本" tvg-name="纬来日本" group-title="港澳台",纬来日本 rtmp://f13h.mine.nu/sat/tv771$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="纬来日本" tvg-name="纬来日本" group-title="港澳台",纬来日本 @@ -8042,47 +7990,47 @@ p3p://167.114.175.6:55331/5fe1add80007bbbd788125c43bf36060$LR•IPV4•2『线 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 https://epg.pw/stream/ab6df63b64d0cc44a1f4f029ed847a26fa54a7aebd455578fb05a63f02c22f4b.m3u8$LR•IPV4•27『线路1』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1978&tk=e640d0a1bf70$LR•IPV4•27『线路2』 +http://aktv_stream1.m16tv.cfd/stream/tuntun/null/AKTV.m3u8$LR•IPV4•27『线路2』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -http://aktv.top/AKTV/live/aktv3/null-1/AKTV.m3u8$LR•IPV4•27『线路3』 +http://api.mytv666.top/api/hk.php?id=3131306433316436386566396535356262303237306166353463653738636565267469643d77696e74763132332669643d3739$LR•IPV4•27『线路3』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2056&tk=e640d0a1bf70$LR•IPV4•27『线路4』 +https://hls-gateway.vpstv.net/streams/477026.m3u8$LR•IPV4•27『线路4』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -https://epg.pw/stream/8855a9936e37e608a0ec8a014cce1673dee9c5d68d560da376cc92e5edef2b25.m3u8$LR•IPV4•27『线路5』 +http://aktv_stream1.m16tv.cfd/stream/aktv3/null-1/AKTV.m3u8$LR•IPV4•27『线路5』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 http://api.mytv666.top/api/qwt.php?t=体育频道&id=纬来体育$LR•IPV4•27『线路6』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -https://hls-gateway.vpstv.net/streams/477026.m3u8$LR•IPV4•27『线路7』 +https://epg.pw/stream/4f18dfe0593db5c686eb64ae8edaf2a9202d4d46bdc9bbde2cee27708e12ea01.m3u8$LR•IPV4•27『线路7』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -https://cdn.iptv8k.top/dl/jrys.php?id=292&time=20240926215313&ip=111.229.253.40$LR•IPV4•27『线路8』 +https://cdn.iptv8k.top/dl/jrys.php?id=291&time=20240926215313&ip=111.229.253.40$LR•IPV4•27『线路8』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -https://smart.pendy.dpdns.org/Smart.php?id=videolandsport$LR•IPV4•27『线路9』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2056&tk=e640d0a1bf70$LR•IPV4•27『线路9』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -https://epg.pw/stream/4f18dfe0593db5c686eb64ae8edaf2a9202d4d46bdc9bbde2cee27708e12ea01.m3u8$LR•IPV4•27『线路10』 +http://122.117.71.103:8562/http/61.222.53.250:8081/hls/67/809/ch28.m3u8$LR•IPV4•27『线路10』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -https://cdn.iptv8k.top/dl/jrys.php?id=292&time=20240926215313&ip=111.229.253.40$LR•IPV4•27『线路11』 +http://zb.xmzb.xyz/123.php?id=⚽马上oppppp一纬来体育$LR•IPV4•27『线路11』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 https://stream1.freetv.fun/wei-lai-ti-yu-3.m3u8$LR•IPV4•27『线路12』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -http://148.135.34.95/mn.php?playurl=http://www.pelotas.org:8278/videolandsport/playlist.m3u8$LR•IPV4•27『线路13』 +https://cdn.iptv8k.top/dl/jrys.php?id=292&time=20240926215313&ip=111.229.253.40$LR•IPV4•27『线路13』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -http://aktv_stream1.m16tv.cfd/stream/tuntun/null/AKTV.m3u8$LR•IPV4•27『线路14』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1978&tk=e640d0a1bf70$LR•IPV4•27『线路14』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -https://hls.iill.top/api/wlty/index.m3u8$LR•IPV4•27『线路15』 +http://aktv.top/AKTV/live/aktv3/null-1/AKTV.m3u8$LR•IPV4•27『线路15』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -http://api3.52tb.xyz/info?id=376&token=20221127jxwhhemby$LR•IPV4•27『线路16』 +https://hls.iill.top/api/wlty/index.m3u8$LR•IPV4•27『线路16』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -http://122.117.71.103:8562/http/61.222.53.250:8081/hls/67/809/ch28.m3u8$LR•IPV4•27『线路17』 +http://148.135.34.95/mn.php?playurl=http://www.pelotas.org:8278/videolandsport/playlist.m3u8$LR•IPV4•27『线路17』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -http://api.mytv666.top/api/hk.php?id=6330343464373162386136666261663835613165633337366136386437306133267469643d74762669643d3737$LR•IPV4•27『线路18』 +https://epg.pw/stream/8855a9936e37e608a0ec8a014cce1673dee9c5d68d560da376cc92e5edef2b25.m3u8$LR•IPV4•27『线路18』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -http://api.mytv666.top/api/hk.php?id=3131306433316436386566396535356262303237306166353463653738636565267469643d77696e74763132332669643d3739$LR•IPV4•27『线路19』 +https://cdn.iptv8k.top/dl/jrys.php?id=292&time=20240926215313&ip=111.229.253.40$LR•IPV4•27『线路19』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -https://cdn.iptv8k.top/dl/jrys.php?id=291&time=20240926215313&ip=111.229.253.40$LR•IPV4•27『线路20』 +https://smart.pendy.dpdns.org/Smart.php?id=videolandsport$LR•IPV4•27『线路20』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -http://aktv_stream1.m16tv.cfd/stream/aktv3/null-1/AKTV.m3u8$LR•IPV4•27『线路21』 +http://api.mytv666.top/api/hk.php?id=6330343464373162386136666261663835613165633337366136386437306133267469643d74762669643d3737$LR•IPV4•27『线路21』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 -http://zb.xmzb.xyz/123.php?id=⚽马上oppppp一纬来体育$LR•IPV4•27『线路22』 +http://api3.52tb.xyz/info?id=376&token=20221127jxwhhemby$LR•IPV4•27『线路22』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 rtmp://f13h.mine.nu:1935/sat/tv721$LR•IPV4•27『线路23』 #EXTINF:-1 tvg-id="纬来体育" tvg-name="纬来体育" group-title="港澳台",纬来体育 @@ -8100,13 +8048,13 @@ https://raw.githubusercontent.com/ChiSheng9/iptv/master/TV09.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="中天娱乐" tvg-name="中天娱乐" group-title="港澳台",中天娱乐 http://61.221.215.25:8800/hls/47/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="中视" tvg-name="中视" group-title="港澳台",中视 -http://220.135.241.47:8301/0.ts$LR•IPV4•4『线路1』 +http://74.91.26.218:82/live/ctv.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="中视" tvg-name="中视" group-title="港澳台",中视 -http://74.91.26.218:82/live/ctv.m3u8$LR•IPV4•4『线路2』 +p3p://167.114.175.6:55331/621dab720008820a26e1e06b75653395$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="中视" tvg-name="中视" group-title="港澳台",中视 -p3p://167.114.175.6:55331/621dab720008820a26e1e06b75653395$LR•IPV4•4『线路3』 +p3p://167.114.175.6:55331/621db1fb0006fbf526fb672712522a46$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="中视" tvg-name="中视" group-title="港澳台",中视 -p3p://167.114.175.6:55331/621db1fb0006fbf526fb672712522a46$LR•IPV4•4『线路4』 +http://220.135.241.47:8301/0.ts$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="非凡新闻" tvg-name="非凡新闻" group-title="港澳台",非凡新闻 rtmp://f13h.mine.nu/sat/tv581$LR•IPV4 #EXTINF:-1 tvg-id="东森新闻" tvg-name="东森新闻" group-title="港澳台",东森新闻 @@ -8116,139 +8064,139 @@ p3p://167.114.175.6:55331/663e9212000a54b4285005cd59217563$LR•IPV4 #EXTINF:-1 tvg-id="tvN" tvg-name="tvN" group-title="港澳台",tvN http://210.210.155.37/dr9445/h/h21/index.m3u8$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="tvN" tvg-name="tvN" group-title="港澳台",tvN -https://stream1.freetv.fun/tvn-3.m3u8$LR•IPV4•6『线路2』 +http://217.26.190.76:8888/play/a0m6/index.m3u8$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="tvN" tvg-name="tvN" group-title="港澳台",tvN -p3p://167.114.175.6:55331/6506c6930009ab3233ac2cd3018a6125$LR•IPV4•6『线路3』 +https://bcovlive-a.akamaihd.net/628aecb4fccb4c52b4f9c8d5cc57fb73/us-west-2/6058004209001/playlist_dvr.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="tvN" tvg-name="tvN" group-title="港澳台",tvN -p3p://167.114.175.6:55331/644f9623000a4051681a72d66bfc0191$LR•IPV4•6『线路4』 +https://stream1.freetv.fun/tvn-3.m3u8$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="tvN" tvg-name="tvN" group-title="港澳台",tvN -http://217.26.190.76:8888/play/a0m6/index.m3u8$LR•IPV4•6『线路5』 +p3p://167.114.175.6:55331/6506c6930009ab3233ac2cd3018a6125$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="tvN" tvg-name="tvN" group-title="港澳台",tvN -https://bcovlive-a.akamaihd.net/628aecb4fccb4c52b4f9c8d5cc57fb73/us-west-2/6058004209001/playlist_dvr.m3u8$LR•IPV4•6『线路6』 +p3p://167.114.175.6:55331/644f9623000a4051681a72d66bfc0191$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="華視" tvg-name="華視" group-title="港澳台",華視 http://seb.sason.top/sc/hsxw_fhd.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="DW" tvg-name="DW" group-title="港澳台",DW https://raw.githubusercontent.com/ChiSheng9/iptv/master/TV08.m3u8$LR•IPV4•9『线路1』 #EXTINF:-1 tvg-id="DW" tvg-name="DW" group-title="港澳台",DW -https://dwamdstream104.akamaized.net/hls/live/2015530/dwstream104/stream04/streamPlaylist.m3u8$LR•IPV4•9『线路2』 +https://dwamdstream103.akamaized.net/hls/live/2015526/dwstream103/master.m3u8$LR•IPV4•9『线路2』 #EXTINF:-1 tvg-id="DW" tvg-name="DW" group-title="港澳台",DW -https://dwamdstream102.akamaized.net/hls/live/2015525/dwstream102/stream05/streamPlaylist.m3u8$LR•IPV4•9『线路3』 +https://amg01644-amg01644c1-amgplt0343.playout.now3.amagi.tv/ts-eu-w1-n2/playlist/amg01644-amg01644c1-amgplt0343/playlist.m3u8$LR•IPV4•9『线路3』 #EXTINF:-1 tvg-id="DW" tvg-name="DW" group-title="港澳台",DW -http://aktv.top/AKTV/live/aktv3/dw/AKTV.m3u8$LR•IPV4•9『线路4』 +https://dwamdstream104.akamaized.net/hls/live/2015530/dwstream104/master.m3u8$LR•IPV4•9『线路4』 #EXTINF:-1 tvg-id="DW" tvg-name="DW" group-title="港澳台",DW -http://37.27.111.214:8080/live/46/hls.m3u8$LR•IPV4•9『线路5』 +https://dwamdstream110.akamaized.net/hls/live/2017971/dwstream110/master.m3u8$LR•IPV4•9『线路5』 #EXTINF:-1 tvg-id="DW" tvg-name="DW" group-title="港澳台",DW -https://dwamdstream103.akamaized.net/hls/live/2015526/dwstream103/master.m3u8$LR•IPV4•9『线路6』 +https://dwamdstream102.akamaized.net/hls/live/2015525/dwstream102/stream05/streamPlaylist.m3u8$LR•IPV4•9『线路6』 #EXTINF:-1 tvg-id="DW" tvg-name="DW" group-title="港澳台",DW -https://amg01644-amg01644c1-amgplt0343.playout.now3.amagi.tv/ts-eu-w1-n2/playlist/amg01644-amg01644c1-amgplt0343/playlist.m3u8$LR•IPV4•9『线路7』 +http://aktv.top/AKTV/live/aktv3/dw/AKTV.m3u8$LR•IPV4•9『线路7』 #EXTINF:-1 tvg-id="DW" tvg-name="DW" group-title="港澳台",DW -https://dwamdstream104.akamaized.net/hls/live/2015530/dwstream104/master.m3u8$LR•IPV4•9『线路8』 +http://37.27.111.214:8080/live/46/hls.m3u8$LR•IPV4•9『线路8』 #EXTINF:-1 tvg-id="DW" tvg-name="DW" group-title="港澳台",DW -https://dwamdstream110.akamaized.net/hls/live/2017971/dwstream110/master.m3u8$LR•IPV4•9『线路9』 +https://dwamdstream104.akamaized.net/hls/live/2015530/dwstream104/stream04/streamPlaylist.m3u8$LR•IPV4•9『线路9』 #EXTINF:-1 tvg-id="France 24" tvg-name="France 24" group-title="港澳台",France 24 -https://amg00106-france24-france24-samsunguk-qvpp8.amagi.tv/playlist/amg00106-france24-france24-samsunguk/playlist.m3u8$LR•IPV4•6『线路1』 +https://live.france24.com/hls/live/2037222-b/F24_AR_HI_HLS/master_5000.m3u8$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="France 24" tvg-name="France 24" group-title="港澳台",France 24 -https://live.france24.com/hls/live/2037222-b/F24_AR_HI_HLS/master_5000.m3u8$LR•IPV4•6『线路2』 +https://live.france24.com/hls/live/2037218-b/F24_EN_HI_HLS/master_5000.m3u8$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="France 24" tvg-name="France 24" group-title="港澳台",France 24 -https://live.france24.com/hls/live/2037218-b/F24_EN_HI_HLS/master_5000.m3u8$LR•IPV4•6『线路3』 +https://live.france24.com/hls/live/2037220-b/F24_ES_HI_HLS/master_5000.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="France 24" tvg-name="France 24" group-title="港澳台",France 24 -https://live.france24.com/hls/live/2037220-b/F24_ES_HI_HLS/master_5000.m3u8$LR•IPV4•6『线路4』 +https://live.france24.com/hls/live/2037179-b/F24_FR_HI_HLS/master_5000.m3u8$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="France 24" tvg-name="France 24" group-title="港澳台",France 24 -https://live.france24.com/hls/live/2037179-b/F24_FR_HI_HLS/master_5000.m3u8$LR•IPV4•6『线路5』 +https://amg00106-amg00106c1-rakuten-uk-4654.playouts.now.amagi.tv/playlist/amg00106-france24fast-france24-rakutenuk/playlist.m3u8$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="France 24" tvg-name="France 24" group-title="港澳台",France 24 -https://amg00106-amg00106c1-rakuten-uk-4654.playouts.now.amagi.tv/playlist/amg00106-france24fast-france24-rakutenuk/playlist.m3u8$LR•IPV4•6『线路6』 +https://amg00106-france24-france24-samsunguk-qvpp8.amagi.tv/playlist/amg00106-france24-france24-samsunguk/playlist.m3u8$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="KIX" tvg-name="KIX" group-title="港澳台",KIX http://210.210.155.37/dr9445/h/h07/index.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="KIX" tvg-name="KIX" group-title="港澳台",KIX -p3p://167.114.175.6:55331/6444e9940006c03f3e688dba67767ffd$LR•IPV4•3『线路2』 +https://liveh34.vtvprime.vn/hls/KIX/04.m3u8$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="KIX" tvg-name="KIX" group-title="港澳台",KIX -https://liveh34.vtvprime.vn/hls/KIX/04.m3u8$LR•IPV4•3『线路3』 +p3p://167.114.175.6:55331/6444e9940006c03f3e688dba67767ffd$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="NHK WorldJapan" tvg-name="NHK WorldJapan" group-title="港澳台",NHK World-Japan -https://media-tyo.hls.nhkworld.jp/hls/w/live/master.m3u8$LR•IPV4•4『线路1』 +https://masterpl.hls.nhkworld.jp/hls/w/live/smarttv.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="NHK WorldJapan" tvg-name="NHK WorldJapan" group-title="港澳台",NHK World-Japan -http://aktv.top/AKTV/live/aktv3/nhkworldjapan/AKTV.m3u8$LR•IPV4•4『线路2』 +https://nhk.lls.pbs.org/index.m3u8$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="NHK WorldJapan" tvg-name="NHK WorldJapan" group-title="港澳台",NHK World-Japan -https://masterpl.hls.nhkworld.jp/hls/w/live/smarttv.m3u8$LR•IPV4•4『线路3』 +http://aktv.top/AKTV/live/aktv3/nhkworldjapan/AKTV.m3u8$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="NHK WorldJapan" tvg-name="NHK WorldJapan" group-title="港澳台",NHK World-Japan -https://nhk.lls.pbs.org/index.m3u8$LR•IPV4•4『线路4』 +https://media-tyo.hls.nhkworld.jp/hls/w/live/master.m3u8$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="Nick Jr" tvg-name="Nick Jr" group-title="港澳台",Nick Jr -http://108.181.20.255:27347/livehttpplay?channel_id=23044$LR•IPV4•13『线路1』 +http://bethoven.af-stream.com:1600/s/kwtlxswl/nick-jr-il/video.m3u8$LR•IPV4•13『线路1』 #EXTINF:-1 tvg-id="Nick Jr" tvg-name="Nick Jr" group-title="港澳台",Nick Jr -http://free.cnlive.club/channel/n75fc9ff7/index.m3u8?q=1752629214236$LR•IPV4•13『线路2』 +https://stream8.cinerama.uz/1501/playlist.m3u8$LR•IPV4•13『线路2』 #EXTINF:-1 tvg-id="Nick Jr" tvg-name="Nick Jr" group-title="港澳台",Nick Jr -http://bethoven.af-stream.com:1600/s/kwtlxswl/nick-jr-il/video.m3u8$LR•IPV4•13『线路3』 +http://40.160.24.55/NICK_JR/index.m3u8$LR•IPV4•13『线路3』 #EXTINF:-1 tvg-id="Nick Jr" tvg-name="Nick Jr" group-title="港澳台",Nick Jr -https://stream8.cinerama.uz/1501/playlist.m3u8$LR•IPV4•13『线路4』 +https://phcornerultralast.qzz.io/hls/laslo-serverless/dr_nickjr/index.m3u8$LR•IPV4•13『线路4』 #EXTINF:-1 tvg-id="Nick Jr" tvg-name="Nick Jr" group-title="港澳台",Nick Jr -http://40.160.24.55/NICK_JR/index.m3u8$LR•IPV4•13『线路5』 +https://jmp2.uk/plu-67f3eb1c443f0671bc03ece8.m3u8$LR•IPV4•13『线路5』 #EXTINF:-1 tvg-id="Nick Jr" tvg-name="Nick Jr" group-title="港澳台",Nick Jr -https://phcornerultralast.qzz.io/hls/laslo-serverless/dr_nickjr/index.m3u8$LR•IPV4•13『线路6』 +https://jmp2.uk/plu-6824ce95f09106f4b18f4114.m3u8$LR•IPV4•13『线路6』 #EXTINF:-1 tvg-id="Nick Jr" tvg-name="Nick Jr" group-title="港澳台",Nick Jr -https://jmp2.uk/plu-67f3eb1c443f0671bc03ece8.m3u8$LR•IPV4•13『线路7』 +https://jmp2.uk/plu-5ddd7cb2cbb9010009b4fe32.m3u8$LR•IPV4•13『线路7』 #EXTINF:-1 tvg-id="Nick Jr" tvg-name="Nick Jr" group-title="港澳台",Nick Jr -https://jmp2.uk/plu-6824ce95f09106f4b18f4114.m3u8$LR•IPV4•13『线路8』 +http://179.60.51.134:8888/NICK-JR/index.m3u8$LR•IPV4•13『线路8』 #EXTINF:-1 tvg-id="Nick Jr" tvg-name="Nick Jr" group-title="港澳台",Nick Jr -https://jmp2.uk/plu-5ddd7cb2cbb9010009b4fe32.m3u8$LR•IPV4•13『线路9』 +https://jmp2.uk/plu-62bdb75c3afd1200079146a6.m3u8$LR•IPV4•13『线路9』 #EXTINF:-1 tvg-id="Nick Jr" tvg-name="Nick Jr" group-title="港澳台",Nick Jr -http://179.60.51.134:8888/NICK-JR/index.m3u8$LR•IPV4•13『线路10』 +https://jmp2.uk/plu-5ca6748a37b88b269472dad9.m3u8$LR•IPV4•13『线路10』 #EXTINF:-1 tvg-id="Nick Jr" tvg-name="Nick Jr" group-title="港澳台",Nick Jr -https://jmp2.uk/plu-62bdb75c3afd1200079146a6.m3u8$LR•IPV4•13『线路11』 +http://103.137.83.62:9090/play/27/index.m3u8$LR•IPV4•13『线路11』 #EXTINF:-1 tvg-id="Nick Jr" tvg-name="Nick Jr" group-title="港澳台",Nick Jr -https://jmp2.uk/plu-5ca6748a37b88b269472dad9.m3u8$LR•IPV4•13『线路12』 +http://free.cnlive.club/channel/n75fc9ff7/index.m3u8?q=1752629214236$LR•IPV4•13『线路12』 #EXTINF:-1 tvg-id="Nick Jr" tvg-name="Nick Jr" group-title="港澳台",Nick Jr -http://103.137.83.62:9090/play/27/index.m3u8$LR•IPV4•13『线路13』 +http://108.181.20.255:27347/livehttpplay?channel_id=23044$LR•IPV4•13『线路13』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -http://free.cnlive.club/channel/n6a165737/index.m3u8?q=1752629214236$LR•IPV4•26『线路1』 +http://213.91.179.28:8000/play/a056$LR•IPV4•26『线路1』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -http://213.91.179.28:8000/play/a056$LR•IPV4•26『线路2』 +https://ma.anixa.tv/clips/stream/nickelodeon/playlist.php$LR•IPV4•26『线路2』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -https://ma.anixa.tv/clips/stream/nickelodeon/playlist.php$LR•IPV4•26『线路3』 +http://151.80.18.177:86/Nickelodeon_FR/index.m3u8$LR•IPV4•26『线路3』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -http://151.80.18.177:86/Nickelodeon_FR/index.m3u8$LR•IPV4•26『线路4』 +http://bethoven.af-stream.com:1600/s/kwtlxswl/yes-nickelodeon-il/video.m3u8$LR•IPV4•26『线路4』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -http://bethoven.af-stream.com:1600/s/kwtlxswl/yes-nickelodeon-il/video.m3u8$LR•IPV4•26『线路5』 +http://193.239.186.231/NICK/index.m3u8$LR•IPV4•26『线路5』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -http://193.239.186.231/NICK/index.m3u8$LR•IPV4•26『线路6』 +http://82.78.243.219:45739/play/a00o/index.m3u8$LR•IPV4•26『线路6』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -http://82.78.243.219:45739/play/a00o/index.m3u8$LR•IPV4•26『线路7』 +http://23.237.104.106:8080/USA_NICKELODEON/index.m3u8$LR•IPV4•26『线路7』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -http://23.237.104.106:8080/USA_NICKELODEON/index.m3u8$LR•IPV4•26『线路8』 +http://202.169.224.202:8800/udp/239.9.1.17:1234$LR•IPV4•26『线路8』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -http://202.169.224.202:8800/udp/239.9.1.17:1234$LR•IPV4•26『线路9』 +https://stream8.cinerama.uz/1500/playlist.m3u8$LR•IPV4•26『线路9』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -https://stream8.cinerama.uz/1500/playlist.m3u8$LR•IPV4•26『线路10』 +https://jmp2.uk/plu-6824cda00101510f9eeaa011.m3u8$LR•IPV4•26『线路10』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -https://jmp2.uk/plu-6824cda00101510f9eeaa011.m3u8$LR•IPV4•26『线路11』 +https://jmp2.uk/plu-6824ce10c5d53e1351ceb8d1.m3u8$LR•IPV4•26『线路11』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -https://jmp2.uk/plu-6824ce10c5d53e1351ceb8d1.m3u8$LR•IPV4•26『线路12』 +https://jmp2.uk/plu-67f3eb800a1beb98767ca748.m3u8$LR•IPV4•26『线路12』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -https://jmp2.uk/plu-67f3eb800a1beb98767ca748.m3u8$LR•IPV4•26『线路13』 +https://jmp2.uk/plu-5d8d08395f39465da6fb3ec4.m3u8$LR•IPV4•26『线路13』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -https://jmp2.uk/plu-5d8d08395f39465da6fb3ec4.m3u8$LR•IPV4•26『线路14』 +http://46.149.191.217:9011/play/a018$LR•IPV4•26『线路14』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -http://46.149.191.217:9011/play/a018$LR•IPV4•26『线路15』 +http://151.80.18.177:86/Nickelodeon_Junior/index.m3u8$LR•IPV4•26『线路15』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -http://151.80.18.177:86/Nickelodeon_Junior/index.m3u8$LR•IPV4•26『线路16』 +http://179.60.51.134:8888/NICK/index.m3u8$LR•IPV4•26『线路16』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -http://179.60.51.134:8888/NICK/index.m3u8$LR•IPV4•26『线路17』 +https://jmp2.uk/plu-5f0d668b872e4400073acc68.m3u8$LR•IPV4•26『线路17』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -https://jmp2.uk/plu-5f0d668b872e4400073acc68.m3u8$LR•IPV4•26『线路18』 +https://jmp2.uk/plu-60f5fabf0721880007cd50e3.m3u8$LR•IPV4•26『线路18』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -https://jmp2.uk/plu-60f5fabf0721880007cd50e3.m3u8$LR•IPV4•26『线路19』 +https://jmp2.uk/plu-5fab09a8749b1a00077d35d2.m3u8$LR•IPV4•26『线路19』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -https://jmp2.uk/plu-5fab09a8749b1a00077d35d2.m3u8$LR•IPV4•26『线路20』 +https://jmp2.uk/plu-5ede448d3d50590007a4419e.m3u8$LR•IPV4•26『线路20』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -https://jmp2.uk/plu-5ede448d3d50590007a4419e.m3u8$LR•IPV4•26『线路21』 +https://jmp2.uk/plu-645951c0e94c38000802d2cb.m3u8$LR•IPV4•26『线路21』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -https://jmp2.uk/plu-645951c0e94c38000802d2cb.m3u8$LR•IPV4•26『线路22』 +https://jmp2.uk/plu-645952687cb4b100084ed52e.m3u8$LR•IPV4•26『线路22』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -https://jmp2.uk/plu-645952687cb4b100084ed52e.m3u8$LR•IPV4•26『线路23』 +https://jmp2.uk/plu-620ff46e0a576e0007dc2f89.m3u8$LR•IPV4•26『线路23』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -https://jmp2.uk/plu-620ff46e0a576e0007dc2f89.m3u8$LR•IPV4•26『线路24』 +https://jmp2.uk/plu-620ff0a01f9e8700076c6f9d.m3u8$LR•IPV4•26『线路24』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -https://jmp2.uk/plu-620ff0a01f9e8700076c6f9d.m3u8$LR•IPV4•26『线路25』 +https://jmp2.uk/plu-5ca673e0d0bd6c2689c94ce3.m3u8$LR•IPV4•26『线路25』 #EXTINF:-1 tvg-id="Nickelodeon" tvg-name="Nickelodeon" group-title="港澳台",Nickelodeon -https://jmp2.uk/plu-5ca673e0d0bd6c2689c94ce3.m3u8$LR•IPV4•26『线路26』 +http://free.cnlive.club/channel/n6a165737/index.m3u8?q=1752629214236$LR•IPV4•26『线路26』 #EXTINF:-1 tvg-id="Thrill" tvg-name="Thrill" group-title="港澳台",Thrill https://cdn10jtedge.indihometv.com/atm/DASH/thrill/manifest.mpd$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="Thrill" tvg-name="Thrill" group-title="港澳台",Thrill @@ -8256,53 +8204,53 @@ https://8c4e8f4f.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/Um9rdV #EXTINF:-1 tvg-id="ZooMoo" tvg-name="ZooMoo" group-title="港澳台",ZooMoo p3p://167.114.175.6:55331/65679bc200084412adeb40284be664e6$LR•IPV4 #EXTINF:-1 tvg-id="华视" tvg-name="华视" group-title="港澳台",华视 -http://220.135.241.47:8318/0.ts$LR•IPV4•7『线路1』 +http://74.91.26.218:82/live/cts.m3u8$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="华视" tvg-name="华视" group-title="港澳台",华视 -http://220.135.241.47:8317/0.ts$LR•IPV4•7『线路2』 +http://74.91.26.218:82/live/ctsjy.m3u8$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="华视" tvg-name="华视" group-title="港澳台",华视 -http://74.91.26.218:82/live/cts.m3u8$LR•IPV4•7『线路3』 +http://74.91.26.218:82/live/ctsnews.m3u8$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="华视" tvg-name="华视" group-title="港澳台",华视 -http://74.91.26.218:82/live/ctsjy.m3u8$LR•IPV4•7『线路4』 +rtmp://f13h.mine.nu/sat/tv111$LR•IPV4•7『线路4』 #EXTINF:-1 tvg-id="华视" tvg-name="华视" group-title="港澳台",华视 -http://74.91.26.218:82/live/ctsnews.m3u8$LR•IPV4•7『线路5』 +p3p://167.114.175.6:55331/61eff95c000bcf35803ebfe7426e2914$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="华视" tvg-name="华视" group-title="港澳台",华视 -rtmp://f13h.mine.nu/sat/tv111$LR•IPV4•7『线路6』 +http://220.135.241.47:8318/0.ts$LR•IPV4•7『线路6』 #EXTINF:-1 tvg-id="华视" tvg-name="华视" group-title="港澳台",华视 -p3p://167.114.175.6:55331/61eff95c000bcf35803ebfe7426e2914$LR•IPV4•7『线路7』 +http://220.135.241.47:8317/0.ts$LR•IPV4•7『线路7』 #EXTINF:-1 tvg-id="寰宇新闻" tvg-name="寰宇新闻" group-title="港澳台",寰宇新闻 https://raw.githubusercontent.com/ChiSheng9/iptv/master/TV02.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="寰宇新闻" tvg-name="寰宇新闻" group-title="港澳台",寰宇新闻 -http://rihou.cc:555/tv/寰宇新闻$LR•IPV4•3『线路2』 +p3p://167.114.175.6:55331/612d7c11000c9faf888ebf9f3276784e$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="寰宇新闻" tvg-name="寰宇新闻" group-title="港澳台",寰宇新闻 -p3p://167.114.175.6:55331/612d7c11000c9faf888ebf9f3276784e$LR•IPV4•3『线路3』 +http://rihou.cc:555/tv/寰宇新闻$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="靖天国际" tvg-name="靖天国际" group-title="港澳台",靖天国际 p3p://167.114.175.6:55331/612db8220006940e897960753ab534e9$LR•IPV4 #EXTINF:-1 tvg-id="镜新闻" tvg-name="镜新闻" group-title="港澳台",镜新闻 p3p://167.114.175.6:55331/63ebd33c0003c437e26ae87279d061f1$LR•IPV4 #EXTINF:-1 tvg-id="龙华卡通" tvg-name="龙华卡通" group-title="港澳台",龙华卡通 -https://cdn8.163189.xyz/live/lhkt/stream.m3u8$LR•IPV4•4『线路1』 +http://43.251.226.89:8080/play/910.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="龙华卡通" tvg-name="龙华卡通" group-title="港澳台",龙华卡通 -http://43.251.226.89:8080/play/910.m3u8$LR•IPV4•4『线路2』 +http://cdn8.163189.xyz/163189/lhkt$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="龙华卡通" tvg-name="龙华卡通" group-title="港澳台",龙华卡通 -http://cdn8.163189.xyz/163189/lhkt$LR•IPV4•4『线路3』 +p3p://167.114.175.6:55331/6264b6e0000669483c6365b319d43878$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="龙华卡通" tvg-name="龙华卡通" group-title="港澳台",龙华卡通 -p3p://167.114.175.6:55331/6264b6e0000669483c6365b319d43878$LR•IPV4•4『线路4』 +https://cdn8.163189.xyz/live/lhkt/stream.m3u8$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="龙华日韩" tvg-name="龙华日韩" group-title="港澳台",龙华日韩 -https://cdn8.163189.xyz/live/lhrh/stream.m3u8$LR•IPV4•4『线路1』 +http://43.251.226.89:8080/play/912.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="龙华日韩" tvg-name="龙华日韩" group-title="港澳台",龙华日韩 -http://43.251.226.89:8080/play/912.m3u8$LR•IPV4•4『线路2』 +http://cdn8.163189.xyz/163189/lhrh$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="龙华日韩" tvg-name="龙华日韩" group-title="港澳台",龙华日韩 -http://cdn8.163189.xyz/163189/lhrh$LR•IPV4•4『线路3』 +p3p://167.114.175.6:55331/621e1d0e00085766289da9bb1d7120af$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="龙华日韩" tvg-name="龙华日韩" group-title="港澳台",龙华日韩 -p3p://167.114.175.6:55331/621e1d0e00085766289da9bb1d7120af$LR•IPV4•4『线路4』 +https://cdn8.163189.xyz/live/lhrh/stream.m3u8$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="龙华洋片" tvg-name="龙华洋片" group-title="港澳台",龙华洋片 -https://cdn8.163189.xyz/live/lhyp/stream.m3u8$LR•IPV4•4『线路1』 +http://43.251.226.89:8080/play/908.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="龙华洋片" tvg-name="龙华洋片" group-title="港澳台",龙华洋片 -http://43.251.226.89:8080/play/908.m3u8$LR•IPV4•4『线路2』 +http://cdn8.163189.xyz/163189/lhyp$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="龙华洋片" tvg-name="龙华洋片" group-title="港澳台",龙华洋片 -http://cdn8.163189.xyz/163189/lhyp$LR•IPV4•4『线路3』 +p3p://167.114.175.6:55331/64c0e1af000875f522a785c0570b06ae$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="龙华洋片" tvg-name="龙华洋片" group-title="港澳台",龙华洋片 -p3p://167.114.175.6:55331/64c0e1af000875f522a785c0570b06ae$LR•IPV4•4『线路4』 +https://cdn8.163189.xyz/live/lhyp/stream.m3u8$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="美亚电影台" tvg-name="美亚电影台" group-title="港澳台",美亚电影台 http://43.251.226.89:8080/play/880.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="美亚电影台" tvg-name="美亚电影台" group-title="港澳台",美亚电影台 @@ -8324,29 +8272,29 @@ p3p://167.114.175.6:55331/602c73500002f4d29c90fa1270f21160$LR•IPV4•2『线 #EXTINF:-1 tvg-id="凤凰卫视" tvg-name="凤凰卫视" group-title="港澳台",凤凰卫视 http://cdn.132.us.kg/live/fhzw/stream.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="Viutv" tvg-name="Viutv" group-title="港澳台",Viutv -http://php.jdshipin.com/TVOD/iptv.php?id=viutv$LR•IPV4•8『线路1』 +https://cdn.163189.xyz/163189/viu$LR•IPV4•8『线路1』 #EXTINF:-1 tvg-id="Viutv" tvg-name="Viutv" group-title="港澳台",Viutv -http://push.cdn1.hls123.de:8080/streams/iewbjlpp9v/index.m3u8$LR•IPV4•8『线路2』 +http://php.jdshipin.com/TVOD/iptv.php?id=viutv$LR•IPV4•8『线路2』 #EXTINF:-1 tvg-id="Viutv" tvg-name="Viutv" group-title="港澳台",Viutv -https://flv-play.clouda.com/live/viu-KpPuan1QZZRGVviEIXnCPhHAPl5lcylGou268vf92HL4JzDULAFZMnej7IiYgC3P6FGEZdmefzRr0259YM76WYOz.flv$LR•IPV4•8『线路3』 +http://php.jdshipin.com:8880/TVOD/iptv.php?id=viutv$LR•IPV4•8『线路3』 #EXTINF:-1 tvg-id="Viutv" tvg-name="Viutv" group-title="港澳台",Viutv -https://cdn.163189.xyz/163189/viu$LR•IPV4•8『线路4』 +http://php.jdshipin.com/PLTV/iptv.php?id=viutv2$LR•IPV4•8『线路4』 #EXTINF:-1 tvg-id="Viutv" tvg-name="Viutv" group-title="港澳台",Viutv -http://php.jdshipin.com:8880/TVOD/iptv.php?id=viutv$LR•IPV4•8『线路5』 +http://rihou.cc:555/tv/[Cx]VIUTV英$LR•IPV4•8『线路5』 #EXTINF:-1 tvg-id="Viutv" tvg-name="Viutv" group-title="港澳台",Viutv -http://php.jdshipin.com/PLTV/iptv.php?id=viutv2$LR•IPV4•8『线路6』 +http://rihou.cc:555/tv/[Cx]VIUTV粤$LR•IPV4•8『线路6』 #EXTINF:-1 tvg-id="Viutv" tvg-name="Viutv" group-title="港澳台",Viutv -http://rihou.cc:555/tv/[Cx]VIUTV英$LR•IPV4•8『线路7』 +http://push.cdn1.hls123.de:8080/streams/iewbjlpp9v/index.m3u8$LR•IPV4•8『线路7』 #EXTINF:-1 tvg-id="Viutv" tvg-name="Viutv" group-title="港澳台",Viutv -http://rihou.cc:555/tv/[Cx]VIUTV粤$LR•IPV4•8『线路8』 +https://flv-play.clouda.com/live/viu-KpPuan1QZZRGVviEIXnCPhHAPl5lcylGou268vf92HL4JzDULAFZMnej7IiYgC3P6FGEZdmefzRr0259YM76WYOz.flv$LR•IPV4•8『线路8』 #EXTINF:-1 tvg-id="Now剧集" tvg-name="Now剧集" group-title="港澳台",Now剧集 p3p://167.114.175.6:55331/63ed3e1500077d30e7f449055a0846ce$LR•IPV4 #EXTINF:-1 tvg-id="民视" tvg-name="民视" group-title="港澳台",民视 https://raw.githubusercontent.com/ChiSheng9/iptv/master/TV17.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="民视" tvg-name="民视" group-title="港澳台",民视 -http://211.72.174.95:8115/0.ts$LR•IPV4•3『线路2』 +rtmp://f13h.mine.nu/sat/tv051$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="民视" tvg-name="民视" group-title="港澳台",民视 -rtmp://f13h.mine.nu/sat/tv051$LR•IPV4•3『线路3』 +http://211.72.174.95:8115/0.ts$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="MoMo综合" tvg-name="MoMo综合" group-title="港澳台",MoMo综合 p3p://167.114.175.6:55331/621e17750005eaa02887cb6e61ea2a58$LR•IPV4 #EXTINF:-1 tvg-id="ELEVEN体育1" tvg-name="ELEVEN体育1" group-title="港澳台",ELEVEN体育1 @@ -8370,11 +8318,11 @@ https://live-hls-web-aje.getaj.net/AJE/02.m3u8$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="半岛新闻" tvg-name="半岛新闻" group-title="港澳台",半岛新闻 https://litv.zapi.us.kg/?id=litv-ftv10$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="now新闻" tvg-name="now新闻" group-title="港澳台",now新闻 -http://push.cdn1.hls123.de:8080/streams/zed7kdzyh1/index.m3u8$LR•IPV4•3『线路1』 +http://cdn.163189.xyz/163189/now$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="now新闻" tvg-name="now新闻" group-title="港澳台",now新闻 -http://cdn.163189.xyz/163189/now$LR•IPV4•3『线路2』 +p3p://167.114.175.6:55331/653e4f3d0003bdbf0c98ffaf583a6e3a$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="now新闻" tvg-name="now新闻" group-title="港澳台",now新闻 -p3p://167.114.175.6:55331/653e4f3d0003bdbf0c98ffaf583a6e3a$LR•IPV4•3『线路3』 +http://push.cdn1.hls123.de:8080/streams/zed7kdzyh1/index.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="有线综合" tvg-name="有线综合" group-title="港澳台",有线综合 http://43.251.226.89:8080/play/891.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="now直播" tvg-name="now直播" group-title="港澳台",now直播 @@ -8412,11 +8360,11 @@ https://raw.githubusercontent.com/ChiSheng9/iptv/master/TV03.m3u8$LR•IPV4•2 #EXTINF:-1 tvg-id="东森财经" tvg-name="东森财经" group-title="港澳台",东森财经 p3p://167.114.175.6:55331/61468bd70005123dea7373f226636dba$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="龙华戏剧" tvg-name="龙华戏剧" group-title="港澳台",龙华戏剧 -https://cdn8.163189.xyz/live/lhxj/stream.m3u8$LR•IPV4•3『线路1』 +http://43.251.226.89:8080/play/913.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="龙华戏剧" tvg-name="龙华戏剧" group-title="港澳台",龙华戏剧 -http://43.251.226.89:8080/play/913.m3u8$LR•IPV4•3『线路2』 +http://cdn8.163189.xyz/163189/lhxj$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="龙华戏剧" tvg-name="龙华戏剧" group-title="港澳台",龙华戏剧 -http://cdn8.163189.xyz/163189/lhxj$LR•IPV4•3『线路3』 +https://cdn8.163189.xyz/live/lhxj/stream.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="靖天育乐" tvg-name="靖天育乐" group-title="港澳台",靖天育乐 p3p://167.114.175.6:55331/6223be04000a57323e9a6b2919b21d76$LR•IPV4 #EXTINF:-1 tvg-id="靖天欢乐" tvg-name="靖天欢乐" group-title="港澳台",靖天欢乐 @@ -8452,75 +8400,75 @@ http://38.64.72.148:80/hls/modn/list/2013/chunklist1.m3u8$LR•IPV4•3『线路 #EXTINF:-1 tvg-id="东森超视" tvg-name="东森超视" group-title="港澳台",东森超视 rtmp://f13h.mine.nu/sat/tv331$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="ROCK Action" tvg-name="ROCK Action" group-title="港澳台",ROCK Action -p3p://167.114.175.6:55331/65ad274400000b46bd92da681fce74f2$LR•IPV4•2『线路1』 +http://nmk.ioapk.com:5050/4gtv-live138/index.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="ROCK Action" tvg-name="ROCK Action" group-title="港澳台",ROCK Action -http://nmk.ioapk.com:5050/4gtv-live138/index.m3u8$LR•IPV4•2『线路2』 +p3p://167.114.175.6:55331/65ad274400000b46bd92da681fce74f2$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="TVB Plus" tvg-name="TVB Plus" group-title="港澳台",TVB Plus http://r.jdshipin.com/Nr5jq$LR•IPV4•10『线路1』 #EXTINF:-1 tvg-id="TVB Plus" tvg-name="TVB Plus" group-title="港澳台",TVB Plus -http://push.cdn1.hls123.de:8080/streams/gw8n98gubb4/index.m3u8$LR•IPV4•10『线路2』 +http://php.jdshipin.com/TVOD/iptv.php?id=j2$LR•IPV4•10『线路2』 #EXTINF:-1 tvg-id="TVB Plus" tvg-name="TVB Plus" group-title="港澳台",TVB Plus -http://php.jdshipin.com/TVOD/iptv.php?id=j2$LR•IPV4•10『线路3』 +http://php.jdshipin.com/PLTV/iptv.php?id=j2$LR•IPV4•10『线路3』 #EXTINF:-1 tvg-id="TVB Plus" tvg-name="TVB Plus" group-title="港澳台",TVB Plus -http://php.jdshipin.com/PLTV/iptv.php?id=j2$LR•IPV4•10『线路4』 +http://cdn.132.us.kg/live/tvbp/stream.m3u8$LR•IPV4•10『线路4』 #EXTINF:-1 tvg-id="TVB Plus" tvg-name="TVB Plus" group-title="港澳台",TVB Plus -http://cdn.132.us.kg/live/tvbp/stream.m3u8$LR•IPV4•10『线路5』 +http://ali.hlspull.yximgs.com/live/l3w1tt2dkzvpukkliu64ah007-golive.flv$LR•IPV4•10『线路5』 #EXTINF:-1 tvg-id="TVB Plus" tvg-name="TVB Plus" group-title="港澳台",TVB Plus -http://ali.hlspull.yximgs.com/live/l3w1tt2dkzvpukkliu64ah007-golive.flv$LR•IPV4•10『线路6』 +http://74.91.26.218:82/live/j2.m3u8$LR•IPV4•10『线路6』 #EXTINF:-1 tvg-id="TVB Plus" tvg-name="TVB Plus" group-title="港澳台",TVB Plus -http://74.91.26.218:82/live/j2.m3u8$LR•IPV4•10『线路7』 +http://rihou.cc:555/tv/[Pd]Plus综合$LR•IPV4•10『线路7』 #EXTINF:-1 tvg-id="TVB Plus" tvg-name="TVB Plus" group-title="港澳台",TVB Plus -http://rihou.cc:555/tv/[Pd]Plus综合$LR•IPV4•10『线路8』 +p3p://167.114.175.6:55331/6649bce20008d56453eeebfc022701f1$LR•IPV4•10『线路8』 #EXTINF:-1 tvg-id="TVB Plus" tvg-name="TVB Plus" group-title="港澳台",TVB Plus -p3p://167.114.175.6:55331/6649bce20008d56453eeebfc022701f1$LR•IPV4•10『线路9』 +p3p://167.114.175.6:55331/653e4d3e000b344f0c91357e73163f82$LR•IPV4•10『线路9』 #EXTINF:-1 tvg-id="TVB Plus" tvg-name="TVB Plus" group-title="港澳台",TVB Plus -p3p://167.114.175.6:55331/653e4d3e000b344f0c91357e73163f82$LR•IPV4•10『线路10』 +http://push.cdn1.hls123.de:8080/streams/gw8n98gubb4/index.m3u8$LR•IPV4•10『线路10』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -p3p://167.114.175.6:55331/66d23a53000d25d573c606e3274f26c5$LR•IPV4•23『线路1』 +http://45.190.28.50/AXN_HD/index.m3u8$LR•IPV4•23『线路1』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -p3p://167.114.175.6:55331/6258ddc5000ee8a40e1bc8f50dec545c$LR•IPV4•23『线路2』 +http://cdn.haititivi.com/AXN/index.m3u8$LR•IPV4•23『线路2』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://45.190.28.50/AXN_HD/index.m3u8$LR•IPV4•23『线路3』 +http://5.57.74.130:8000/play/a0at/index.m3u8$LR•IPV4•23『线路3』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://cdn.haititivi.com/AXN/index.m3u8$LR•IPV4•23『线路4』 +http://85.14.32.26:8800/udp/239.100.10.17:5000$LR•IPV4•23『线路4』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://5.57.74.130:8000/play/a0at/index.m3u8$LR•IPV4•23『线路5』 +http://88.212.15.19/live/test_black/playlist.m3u8$LR•IPV4•23『线路5』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://85.14.32.26:8800/udp/239.100.10.17:5000$LR•IPV4•23『线路6』 +http://82.78.243.219:45739/play/a00e/index.m3u8$LR•IPV4•23『线路6』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://88.212.15.19/live/test_black/playlist.m3u8$LR•IPV4•23『线路7』 +http://46.149.191.217:9009/play/a02d$LR•IPV4•23『线路7』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://82.78.243.219:45739/play/a00e/index.m3u8$LR•IPV4•23『线路8』 +http://85.11.144.9:4222/AXN$LR•IPV4•23『线路8』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://46.149.191.217:9009/play/a02d$LR•IPV4•23『线路9』 +http://88.212.15.19/live/test_axn/playlist.m3u8$LR•IPV4•23『线路9』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://85.11.144.9:4222/AXN$LR•IPV4•23『线路10』 +http://82.78.243.219:45739/play/a01n/index.m3u8$LR•IPV4•23『线路10』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://88.212.15.19/live/test_axn/playlist.m3u8$LR•IPV4•23『线路11』 +http://138.121.15.230:9002/AXN/index.m3u8$LR•IPV4•23『线路11』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://82.78.243.219:45739/play/a01n/index.m3u8$LR•IPV4•23『线路12』 +http://177.234.249.178:8888/AXN/index.m3u8$LR•IPV4•23『线路12』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://138.121.15.230:9002/AXN/index.m3u8$LR•IPV4•23『线路13』 +http://177.245.131.133:8080/AXN/index.m3u8$LR•IPV4•23『线路13』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://177.234.249.178:8888/AXN/index.m3u8$LR•IPV4•23『线路14』 +http://200.91.32.158:8080/axn/index.m3u8$LR•IPV4•23『线路14』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://177.245.131.133:8080/AXN/index.m3u8$LR•IPV4•23『线路15』 +http://50.7.120.34:8080/AXN_BLACK/index.m3u8$LR•IPV4•23『线路15』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://200.91.32.158:8080/axn/index.m3u8$LR•IPV4•23『线路16』 +https://lb.dstvmultimedia.com/AXNSpin/index.m3u8$LR•IPV4•23『线路16』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://50.7.120.34:8080/AXN_BLACK/index.m3u8$LR•IPV4•23『线路17』 +http://82.78.243.219:45739/play/a00n/index.m3u8$LR•IPV4•23『线路17』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -https://lb.dstvmultimedia.com/AXNSpin/index.m3u8$LR•IPV4•23『线路18』 +http://85.14.32.26:8800/udp/239.100.10.18:5000$LR•IPV4•23『线路18』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://82.78.243.219:45739/play/a00n/index.m3u8$LR•IPV4•23『线路19』 +http://88.212.15.19/live/test_white/playlist.m3u8$LR•IPV4•23『线路19』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://85.14.32.26:8800/udp/239.100.10.18:5000$LR•IPV4•23『线路20』 +http://50.7.120.34:8080/AXN_WHITE/index.m3u8$LR•IPV4•23『线路20』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://88.212.15.19/live/test_white/playlist.m3u8$LR•IPV4•23『线路21』 +http://103.137.83.62:9090/play/21/index.m3u8$LR•IPV4•23『线路21』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://50.7.120.34:8080/AXN_WHITE/index.m3u8$LR•IPV4•23『线路22』 +p3p://167.114.175.6:55331/66d23a53000d25d573c606e3274f26c5$LR•IPV4•23『线路22』 #EXTINF:-1 tvg-id="AXN" tvg-name="AXN" group-title="港澳台",AXN -http://103.137.83.62:9090/play/21/index.m3u8$LR•IPV4•23『线路23』 +p3p://167.114.175.6:55331/6258ddc5000ee8a40e1bc8f50dec545c$LR•IPV4•23『线路23』 #EXTINF:-1 tvg-id="娱乐新闻" tvg-name="娱乐新闻" group-title="港澳台",娱乐新闻 https://hls-gateway.vpstv.net/streams/708904.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="澳门卫视" tvg-name="澳门卫视" group-title="港澳台",澳门卫视 @@ -8552,77 +8500,77 @@ https://live.streamingfast.net/osmflivech1.m3u8$LR•IPV4•38『线路1』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good https://live.streamingfast.net/osmflivech2.m3u8$LR•IPV4•38『线路2』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -http://live.streamingfast.net/hls-live/goodtv/_definst_/liveevent/live-ch1-3.m3u8$LR•IPV4•38『线路3』 +https://aajtaklive.vgcdn.net/v1/master/611d79b11b77e2f571934fd80ca1413453772ac7/3196cced-ce29-4219-9809-f07ccdaa02b9/vglive-sk-848805/master.m3u8$LR•IPV4•38『线路3』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -http://live.streamingfast.net/hls-live/goodtv/_definst_/liveevent/live-ch2-3.m3u8$LR•IPV4•38『线路4』 +http://stream1.ai-net.net:1935/gtv1/_definst_/smil:gtv.smil/playlist.m3u8$LR•IPV4•38『线路4』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -p3p://167.114.175.6:55331/63ed9f4900046160e96ffb5b44333476$LR•IPV4•38『线路5』 +https://58c04fb1d143f.streamlock.net/feel_good_radio_1/feel_good_radio_1/playlist.m3u8$LR•IPV4•38『线路5』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://aajtaklive.vgcdn.net/v1/master/611d79b11b77e2f571934fd80ca1413453772ac7/3196cced-ce29-4219-9809-f07ccdaa02b9/vglive-sk-848805/master.m3u8$LR•IPV4•38『线路6』 +https://live.streamingfast.net/osmflivech3.m3u8$LR•IPV4•38『线路6』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -http://stream1.ai-net.net:1935/gtv1/_definst_/smil:gtv.smil/playlist.m3u8$LR•IPV4•38『线路7』 +https://live.streamingfast.net/osmflivech5.m3u8$LR•IPV4•38『线路7』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://58c04fb1d143f.streamlock.net/feel_good_radio_1/feel_good_radio_1/playlist.m3u8$LR•IPV4•38『线路8』 +https://live.streamingfast.net/osmflivech6.m3u8$LR•IPV4•38『线路8』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech3.m3u8$LR•IPV4•38『线路9』 +https://live.streamingfast.net/osmflivech7.m3u8$LR•IPV4•38『线路9』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech5.m3u8$LR•IPV4•38『线路10』 +https://live.streamingfast.net/osmflivech9.m3u8$LR•IPV4•38『线路10』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech6.m3u8$LR•IPV4•38『线路11』 +https://live.streamingfast.net/osmflivech12.m3u8$LR•IPV4•38『线路11』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech7.m3u8$LR•IPV4•38『线路12』 +https://live.streamingfast.net/osmflivech14.m3u8$LR•IPV4•38『线路12』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech9.m3u8$LR•IPV4•38『线路13』 +https://live.streamingfast.net/osmflivech15.m3u8$LR•IPV4•38『线路13』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech12.m3u8$LR•IPV4•38『线路14』 +https://live.streamingfast.net/osmflivech16.m3u8$LR•IPV4•38『线路14』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech14.m3u8$LR•IPV4•38『线路15』 +https://live.streamingfast.net/osmflivech17.m3u8$LR•IPV4•38『线路15』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech15.m3u8$LR•IPV4•38『线路16』 +https://live.streamingfast.net/osmflivech18.m3u8$LR•IPV4•38『线路16』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech16.m3u8$LR•IPV4•38『线路17』 +https://live.streamingfast.net/osmflivech20.m3u8$LR•IPV4•38『线路17』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech17.m3u8$LR•IPV4•38『线路18』 +https://live.streamingfast.net/osmflivech21.m3u8$LR•IPV4•38『线路18』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech18.m3u8$LR•IPV4•38『线路19』 +https://live.streamingfast.net/osmflivech24.m3u8$LR•IPV4•38『线路19』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech20.m3u8$LR•IPV4•38『线路20』 +https://live.streamingfast.net/osmflivech27.m3u8$LR•IPV4•38『线路20』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech21.m3u8$LR•IPV4•38『线路21』 +https://live.streamingfast.net/osmflivech28.m3u8$LR•IPV4•38『线路21』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech24.m3u8$LR•IPV4•38『线路22』 +https://live.streamingfast.net/osmflivech29.m3u8$LR•IPV4•38『线路22』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech27.m3u8$LR•IPV4•38『线路23』 +https://live.streamingfast.net/osmflivech30.m3u8$LR•IPV4•38『线路23』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech28.m3u8$LR•IPV4•38『线路24』 +https://live.streamingfast.net/osmflivech31.m3u8$LR•IPV4•38『线路24』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech29.m3u8$LR•IPV4•38『线路25』 +https://live.streamingfast.net/osmflivech32.m3u8$LR•IPV4•38『线路25』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech30.m3u8$LR•IPV4•38『线路26』 +https://live.streamingfast.net/osmflivech33.m3u8$LR•IPV4•38『线路26』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech31.m3u8$LR•IPV4•38『线路27』 +https://live.streamingfast.net/osmflivech38.m3u8$LR•IPV4•38『线路27』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech32.m3u8$LR•IPV4•38『线路28』 +https://live.streamingfast.net/osmflivech40.m3u8$LR•IPV4•38『线路28』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech33.m3u8$LR•IPV4•38『线路29』 +https://live.streamingfast.net/osmflivech45.m3u8$LR•IPV4•38『线路29』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech38.m3u8$LR•IPV4•38『线路30』 +https://live.streamingfast.net/osmflivech47.m3u8$LR•IPV4•38『线路30』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech40.m3u8$LR•IPV4•38『线路31』 +https://live.streamingfast.net/osmflivech49.m3u8$LR•IPV4•38『线路31』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech45.m3u8$LR•IPV4•38『线路32』 +https://live.streamingfast.net/osmflivech50.m3u8$LR•IPV4•38『线路32』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech47.m3u8$LR•IPV4•38『线路33』 +https://jmp2.uk/plu-65775af3b3801200084a3aa4.m3u8$LR•IPV4•38『线路33』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech49.m3u8$LR•IPV4•38『线路34』 +https://jmp2.uk/plu-685a995b460ac82fa504342c.m3u8$LR•IPV4•38『线路34』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://live.streamingfast.net/osmflivech50.m3u8$LR•IPV4•38『线路35』 +https://amg01448-samsungin-ndtvgoodtimes-samsungin-ad-gp.amagi.tv/playlist/amg01448-samsungin-ndtvgoodtimes-samsungin/playlist.m3u8$LR•IPV4•38『线路35』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://jmp2.uk/plu-65775af3b3801200084a3aa4.m3u8$LR•IPV4•38『线路36』 +http://live.streamingfast.net/hls-live/goodtv/_definst_/liveevent/live-ch1-3.m3u8$LR•IPV4•38『线路36』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://jmp2.uk/plu-685a995b460ac82fa504342c.m3u8$LR•IPV4•38『线路37』 +http://live.streamingfast.net/hls-live/goodtv/_definst_/liveevent/live-ch2-3.m3u8$LR•IPV4•38『线路37』 #EXTINF:-1 tvg-id="Good" tvg-name="Good" group-title="港澳台",Good -https://amg01448-samsungin-ndtvgoodtimes-samsungin-ad-gp.amagi.tv/playlist/amg01448-samsungin-ndtvgoodtimes-samsungin/playlist.m3u8$LR•IPV4•38『线路38』 +p3p://167.114.175.6:55331/63ed9f4900046160e96ffb5b44333476$LR•IPV4•38『线路38』 #EXTINF:-1 tvg-id="Beautiful Life TV" tvg-name="Beautiful Life TV" group-title="港澳台",Beautiful Life TV https://5ddce30eb4b55.streamlock.net/bltvhd/bltv1/playlist.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="Supreme Master TV" tvg-name="Supreme Master TV" group-title="港澳台",Supreme Master TV @@ -8648,35 +8596,35 @@ https://ythls.armelin.one/channel/UC2VmWn8dAqkzlQqvy02E1PA.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="Global News" tvg-name="Global News" group-title="港澳台",Global News https://live.corusdigitaldev.com/groupb/live/3062d0e3-ed4c-4f47-8482-95648250f4b8/live.isml/.m3u8$LR•IPV4•16『线路1』 #EXTINF:-1 tvg-id="Global News" tvg-name="Global News" group-title="港澳台",Global News -http://iptv.zkbhj.com/tv/url/go?id=188da1cd42026cce4e3c6fd900520b5bf2325e82e1723382000c25c9009b1449703a53d8cb741b92224765715d1a7388d43b8da7f422852ecf86f83de913c00f$LR•IPV4•16『线路2』 +https://jmp2.uk/plu-62cbf063257170000724590c.m3u8$LR•IPV4•16『线路2』 #EXTINF:-1 tvg-id="Global News" tvg-name="Global News" group-title="港澳台",Global News -https://jmp2.uk/plu-62cbf063257170000724590c.m3u8$LR•IPV4•16『线路3』 +https://jmp2.uk/plu-62cbf23dcfb48300077f8348.m3u8$LR•IPV4•16『线路3』 #EXTINF:-1 tvg-id="Global News" tvg-name="Global News" group-title="港澳台",Global News -https://jmp2.uk/plu-62cbf23dcfb48300077f8348.m3u8$LR•IPV4•16『线路4』 +https://jmp2.uk/plu-62cbf2de1fba5f0007e47d9c.m3u8$LR•IPV4•16『线路4』 #EXTINF:-1 tvg-id="Global News" tvg-name="Global News" group-title="港澳台",Global News -https://jmp2.uk/plu-62cbf2de1fba5f0007e47d9c.m3u8$LR•IPV4•16『线路5』 +https://jmp2.uk/plu-62cbf398b8e02600071deda5.m3u8$LR•IPV4•16『线路5』 #EXTINF:-1 tvg-id="Global News" tvg-name="Global News" group-title="港澳台",Global News -https://jmp2.uk/plu-62cbf398b8e02600071deda5.m3u8$LR•IPV4•16『线路6』 +https://jmp2.uk/plu-62cbf4964446e2000742073e.m3u8$LR•IPV4•16『线路6』 #EXTINF:-1 tvg-id="Global News" tvg-name="Global News" group-title="港澳台",Global News -https://jmp2.uk/plu-62cbf4964446e2000742073e.m3u8$LR•IPV4•16『线路7』 +https://jmp2.uk/plu-62cbf7439cb58900088dc77b.m3u8$LR•IPV4•16『线路7』 #EXTINF:-1 tvg-id="Global News" tvg-name="Global News" group-title="港澳台",Global News -https://jmp2.uk/plu-62cbf7439cb58900088dc77b.m3u8$LR•IPV4•16『线路8』 +https://jmp2.uk/plu-62cbfbd6ad95670007f567af.m3u8$LR•IPV4•16『线路8』 #EXTINF:-1 tvg-id="Global News" tvg-name="Global News" group-title="港澳台",Global News -https://jmp2.uk/plu-62cbfbd6ad95670007f567af.m3u8$LR•IPV4•16『线路9』 +https://jmp2.uk/plu-62cbef9ebb857100072fc187.m3u8$LR•IPV4•16『线路9』 #EXTINF:-1 tvg-id="Global News" tvg-name="Global News" group-title="港澳台",Global News -https://jmp2.uk/plu-62cbef9ebb857100072fc187.m3u8$LR•IPV4•16『线路10』 +https://jmp2.uk/plu-62cbfc572dc3750007a493ce.m3u8$LR•IPV4•16『线路10』 #EXTINF:-1 tvg-id="Global News" tvg-name="Global News" group-title="港澳台",Global News -https://jmp2.uk/plu-62cbfc572dc3750007a493ce.m3u8$LR•IPV4•16『线路11』 +https://jmp2.uk/plu-62cbfcd8c2db990007861e43.m3u8$LR•IPV4•16『线路11』 #EXTINF:-1 tvg-id="Global News" tvg-name="Global News" group-title="港澳台",Global News -https://jmp2.uk/plu-62cbfcd8c2db990007861e43.m3u8$LR•IPV4•16『线路12』 +https://jmp2.uk/plu-62cbff53ca8f2200080253b5.m3u8$LR•IPV4•16『线路12』 #EXTINF:-1 tvg-id="Global News" tvg-name="Global News" group-title="港澳台",Global News -https://jmp2.uk/plu-62cbff53ca8f2200080253b5.m3u8$LR•IPV4•16『线路13』 +https://jmp2.uk/plu-62cc00359cb58900088dc840.m3u8$LR•IPV4•16『线路13』 #EXTINF:-1 tvg-id="Global News" tvg-name="Global News" group-title="港澳台",Global News -https://jmp2.uk/plu-62cc00359cb58900088dc840.m3u8$LR•IPV4•16『线路14』 +https://jmp2.uk/plu-62cc00b3b821cf00070f82c3.m3u8$LR•IPV4•16『线路14』 #EXTINF:-1 tvg-id="Global News" tvg-name="Global News" group-title="港澳台",Global News -https://jmp2.uk/plu-62cc00b3b821cf00070f82c3.m3u8$LR•IPV4•16『线路15』 +https://jmp2.uk/plu-62cc0120880c890007191016.m3u8$LR•IPV4•16『线路15』 #EXTINF:-1 tvg-id="Global News" tvg-name="Global News" group-title="港澳台",Global News -https://jmp2.uk/plu-62cc0120880c890007191016.m3u8$LR•IPV4•16『线路16』 +http://iptv.zkbhj.com/tv/url/go?id=188da1cd42026cce4e3c6fd900520b5bf2325e82e1723382000c25c9009b1449703a53d8cb741b92224765715d1a7388d43b8da7f422852ecf86f83de913c00f$LR•IPV4•16『线路16』 #EXTINF:-1 tvg-id="SET iNews" tvg-name="SET iNews" group-title="港澳台",SET iNews https://ythls.armelin.one/channel/UCoNYj9OFHZn3ACmmeRCPwbA.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="TTV News" tvg-name="TTV News" group-title="港澳台",TTV News @@ -8706,11 +8654,11 @@ https://ads.its-newid.net/api/manifest.m3u8?ads.service_id=GB17000088V&channel_i #EXTINF:-1 tvg-id="KPop" tvg-name="KPop" group-title="港澳台",KPop https://lotus.stingray.com/manifest/ose-317ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="HOY TV" tvg-name="HOY TV" group-title="港澳台",HOY TV -http://push.cdn1.hls123.de:8080/streams/dguce4v9b69/index.m3u8$LR•IPV4•3『线路1』 +https://hoytv-live-stream.hoy.tv/ch77/index.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="HOY TV" tvg-name="HOY TV" group-title="港澳台",HOY TV p3p://167.114.175.6:55331/62184bc3000cd48f11e47b06202b7e18$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="HOY TV" tvg-name="HOY TV" group-title="港澳台",HOY TV -https://hoytv-live-stream.hoy.tv/ch77/index.m3u8$LR•IPV4•3『线路3』 +http://push.cdn1.hls123.de:8080/streams/dguce4v9b69/index.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="MOMOTV" tvg-name="MOMOTV" group-title="港澳台",MOMOTV rtmp://f13h.mine.nu/sat/tv761$LR•IPV4 #EXTINF:-1 tvg-id="大爱1" tvg-name="大爱1" group-title="港澳台",大爱1 @@ -8778,19 +8726,19 @@ https://d198ro05q94rc4.cloudfront.net/XITE_Rock_On.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="FIGHT SPORTS" tvg-name="FIGHT SPORTS" group-title="港澳台",FIGHT SPORTS p3p://167.114.175.6:55331/65a4480e000eb9449aeb1d5a33663b73$LR•IPV4 #EXTINF:-1 tvg-id="NBA TV" tvg-name="NBA TV" group-title="港澳台",NBA TV -https://stream1.freetv.fun/nba-tv-5.m3u8$LR•IPV4•7『线路1』 +https://amg00556-amg00556c3-firetv-us-6060.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="NBA TV" tvg-name="NBA TV" group-title="港澳台",NBA TV -https://stream1.freetv.fun/nba-tv-7.m3u8$LR•IPV4•7『线路2』 +http://user.scalecdn.co:8080/live/54706135/09221986/3092.m3u8$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="NBA TV" tvg-name="NBA TV" group-title="港澳台",NBA TV https://t.freetv.fun/live/nba-tv.m3u8$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="NBA TV" tvg-name="NBA TV" group-title="港澳台",NBA TV -http://170.yfvodcdn.com:19980/live/nbaTV2/hls.m3u8$LR•IPV4•7『线路4』 +https://stream1.freetv.fun/nba-tv-5.m3u8$LR•IPV4•7『线路4』 #EXTINF:-1 tvg-id="NBA TV" tvg-name="NBA TV" group-title="港澳台",NBA TV -p3p://167.114.175.6:55331/65a587500007bc039fca3566638e69af$LR•IPV4•7『线路5』 +https://stream1.freetv.fun/nba-tv-7.m3u8$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="NBA TV" tvg-name="NBA TV" group-title="港澳台",NBA TV -https://amg00556-amg00556c3-firetv-us-6060.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•7『线路6』 +http://170.yfvodcdn.com:19980/live/nbaTV2/hls.m3u8$LR•IPV4•7『线路6』 #EXTINF:-1 tvg-id="NBA TV" tvg-name="NBA TV" group-title="港澳台",NBA TV -http://user.scalecdn.co:8080/live/54706135/09221986/3092.m3u8$LR•IPV4•7『线路7』 +p3p://167.114.175.6:55331/65a587500007bc039fca3566638e69af$LR•IPV4•7『线路7』 #EXTINF:-1 tvg-id="Sukan" tvg-name="Sukan" group-title="港澳台",Sukan https://d25tgymtnqzu8s.cloudfront.net/smil:sukan/manifest.mpd$LR•IPV4 #EXTINF:-1 tvg-id="TV9" tvg-name="TV9" group-title="港澳台",TV9 @@ -8820,255 +8768,255 @@ https://vs-hls-push-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_news_ch #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC https://aegis-cloudfront-1.tubi.video/bb1fc6ad-9948-42ea-aaf3-20acfcdeecac/playlist.m3u8$LR•IPV4•101『线路2』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://amg00793-amg00793c6-xumo-us-2669.playouts.now.amagi.tv/BBCStudios-BBCEarthA-hls/playlist540p.m3u8$LR•IPV4•101『线路3』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_alba/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路3』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -http://free.cnlive.club/channel/356e7ac6/index.m3u8?q=1752629214236$LR•IPV4•101『线路4』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_channel_islands/pc_hd_abr_v2.mpd$LR•IPV4•101『线路4』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -http://free.cnlive.club/channel/359a630b/index.m3u8?q=1752629214236$LR•IPV4•101『线路5』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_east/pc_hd_abr_v2.mpd$LR•IPV4•101『线路5』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -p3p://167.114.175.6:55331/64026f590000e9663abc652f25176282$LR•IPV4•101『线路6』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_east_yorkshire/pc_hd_abr_v2.mpd$LR•IPV4•101『线路6』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -p3p://167.114.175.6:55331/6444eb2e000921503e6ecfe873cd10b1$LR•IPV4•101『线路7』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_east_midlands/pc_hd_abr_v2.mpd$LR•IPV4•101『线路7』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -http://125.227.210.55:8165/VideoInput/play.ts$LR•IPV4•101『线路8』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_east_midlands/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路8』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://d2vnbkvjbims7j.cloudfront.net/containerA/LTN/playlist.m3u8$LR•IPV4•101『线路9』 +https://vs-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_london/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路9』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_alba/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路10』 +http://193.46.58.239:8080/BBCOneHD/index.m3u8$LR•IPV4•101『线路10』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_channel_islands/pc_hd_abr_v2.mpd$LR•IPV4•101『线路11』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_north_east/pc_hd_abr_v2.mpd$LR•IPV4•101『线路11』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_east/pc_hd_abr_v2.mpd$LR•IPV4•101『线路12』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_north_east/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路12』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_east_yorkshire/pc_hd_abr_v2.mpd$LR•IPV4•101『线路13』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_north_west/pc_hd_abr_v2.mpd$LR•IPV4•101『线路13』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_east_midlands/pc_hd_abr_v2.mpd$LR•IPV4•101『线路14』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_north_west/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路14』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_east_midlands/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路15』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_northern_ireland_hd/pc_hd_abr_v2.mpd$LR•IPV4•101『线路15』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_london/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路16』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_northern_ireland_hd/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路16』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -http://193.46.58.239:8080/BBCOneHD/index.m3u8$LR•IPV4•101『线路17』 +https://vs-hls-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_scotland_hd/pc_hd_abr_v2.m3u8$LR•IPV4•101『线路17』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_north_east/pc_hd_abr_v2.mpd$LR•IPV4•101『线路18』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_scotland_hd/pc_hd_abr_v2.mpd$LR•IPV4•101『线路18』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_north_east/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路19』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_south/pc_hd_abr_v2.mpd$LR•IPV4•101『线路19』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_north_west/pc_hd_abr_v2.mpd$LR•IPV4•101『线路20』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_south_east/pc_hd_abr_v2.mpd$LR•IPV4•101『线路20』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_north_west/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路21』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_south_west/pc_hd_abr_v2.mpd$LR•IPV4•101『线路21』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_northern_ireland_hd/pc_hd_abr_v2.mpd$LR•IPV4•101『线路22』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_wales_hd/pc_hd_abr_v2.mpd$LR•IPV4•101『线路22』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_northern_ireland_hd/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路23』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_west/pc_hd_abr_v2.mpd$LR•IPV4•101『线路23』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-hls-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_scotland_hd/pc_hd_abr_v2.m3u8$LR•IPV4•101『线路24』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_west_midlands/pc_hd_abr_v2.mpd$LR•IPV4•101『线路24』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_scotland_hd/pc_hd_abr_v2.mpd$LR•IPV4•101『线路25』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_yorks/pc_hd_abr_v2.mpd$LR•IPV4•101『线路25』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_south/pc_hd_abr_v2.mpd$LR•IPV4•101『线路26』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_scotland_hd/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路26』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_south_east/pc_hd_abr_v2.mpd$LR•IPV4•101『线路27』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_three_hd/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路27』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_south_west/pc_hd_abr_v2.mpd$LR•IPV4•101『线路28』 +http://193.46.58.239:8080/BBCTwoHD/index.m3u8$LR•IPV4•101『线路28』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_wales_hd/pc_hd_abr_v2.mpd$LR•IPV4•101『线路29』 +https://vs-hls-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_two_northern_ireland_hd/pc_hd_abr_v2.m3u8$LR•IPV4•101『线路29』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_west/pc_hd_abr_v2.mpd$LR•IPV4•101『线路30』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_two_northern_ireland_hd/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路30』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_west_midlands/pc_hd_abr_v2.mpd$LR•IPV4•101『线路31』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_two_wales_digital/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路31』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_yorks/pc_hd_abr_v2.mpd$LR•IPV4•101『线路32』 +https://vs-cmaf-pushb-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_arabic_tv/pc_hd_abr_v2.mpd$LR•IPV4•101『线路32』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_scotland_hd/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路33』 +https://pb-iiczlgfysam0q.akamaized.net/v1/amcnetworks_bbcnews_1/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•101『线路33』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_three_hd/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路34』 +https://vs-cmaf-push-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_news_channel_hd/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路34』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -http://193.46.58.239:8080/BBCTwoHD/index.m3u8$LR•IPV4•101『线路35』 +http://138.121.15.230:9002/BBC-NEWS/index.m3u8$LR•IPV4•101『线路35』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-hls-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_two_northern_ireland_hd/pc_hd_abr_v2.m3u8$LR•IPV4•101『线路36』 +http://23.237.104.106:8080/USA_BBC_NEWS/index.m3u8$LR•IPV4•101『线路36』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_two_northern_ireland_hd/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路37』 +http://45.153.96.44:8001$LR•IPV4•101『线路37』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_two_wales_digital/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路38』 +https://vs-cmaf-pushb-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_persian_tv/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路38』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_arabic_tv/pc_hd_abr_v2.mpd$LR•IPV4•101『线路39』 +http://23.239.31.26:8989/bbcamerica/index.m3u8$LR•IPV4•101『线路39』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://pb-iiczlgfysam0q.akamaized.net/v1/amcnetworks_bbcnews_1/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•101『线路40』 +http://40.160.24.52/BBC_AMERICA/index.m3u8$LR•IPV4•101『线路40』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-push-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_news_channel_hd/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路41』 +http://81.15.109.89:8001/play/BBCBrit$LR•IPV4•101『线路41』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -http://138.121.15.230:9002/BBC-NEWS/index.m3u8$LR•IPV4•101『线路42』 +http://81.15.109.89:8001/play/BBCFirst$LR•IPV4•101『线路42』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -http://23.237.104.106:8080/USA_BBC_NEWS/index.m3u8$LR•IPV4•101『线路43』 +https://d1em2hga7sgumq.cloudfront.net/playlist.m3u8$LR•IPV4•101『线路43』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -http://45.153.96.44:8001$LR•IPV4•101『线路44』 +https://pb-0ix3l1oxmg1fj.akamaized.net/playlist.m3u8$LR•IPV4•101『线路44』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_persian_tv/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路45』 +https://amg00793-amg00793c41-rakuten-it-5445.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路45』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -http://23.239.31.26:8989/bbcamerica/index.m3u8$LR•IPV4•101『线路46』 +https://bbc-impossible-1-us.xumo.wurl.tv/playlist.m3u8$LR•IPV4•101『线路46』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -http://40.160.24.52/BBC_AMERICA/index.m3u8$LR•IPV4•101『线路47』 +https://vs-cmaf-pushb-ww.live.cf.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:bbc_afghan_tv/pc_hd_abr_v2.mpd$LR•IPV4•101『线路47』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -http://81.15.109.89:8001/play/BBCBrit$LR•IPV4•101『线路48』 +https://vs-cmaf-pushb-uk.live.cf.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:red_button_one/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路48』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -http://81.15.109.89:8001/play/BBCFirst$LR•IPV4•101『线路49』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_002/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路49』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://d1em2hga7sgumq.cloudfront.net/playlist.m3u8$LR•IPV4•101『线路50』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_003/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路50』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://pb-0ix3l1oxmg1fj.akamaized.net/playlist.m3u8$LR•IPV4•101『线路51』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_004/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路51』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://amg00793-amg00793c41-rakuten-it-5445.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路52』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_005/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路52』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://bbc-impossible-1-us.xumo.wurl.tv/playlist.m3u8$LR•IPV4•101『线路53』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_006/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路53』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-ww.live.cf.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:bbc_afghan_tv/pc_hd_abr_v2.mpd$LR•IPV4•101『线路54』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路54』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk.live.cf.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:red_button_one/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路55』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_008/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路55』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_002/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路56』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_009/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路56』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_003/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路57』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_010/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路57』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_004/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路58』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_011/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路58』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_005/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路59』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_012/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路59』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_006/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路60』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_013/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路60』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路61』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_014/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路61』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_008/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路62』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_015/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路62』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_009/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路63』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_016/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路63』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_010/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路64』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_017/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路64』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_011/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路65』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_018/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路65』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_012/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路66』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_019/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路66』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_013/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路67』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_020/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路67』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_014/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路68』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_021/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路68』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_015/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路69』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_022/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路69』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_016/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路70』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_023/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路70』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_017/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路71』 +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_024/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路71』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_018/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路72』 +https://jmp2.uk/plu-60dafb9a0df1ba000758d37b.m3u8$LR•IPV4•101『线路72』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_019/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路73』 +https://jmp2.uk/plu-62e7fa5ab5062e0007dcf97d.m3u8$LR•IPV4•101『线路73』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_020/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路74』 +https://amg00793-amg00793c5-xumo-us-2664.playouts.now.amagi.tv/bbcstudios-bbctopgear8min-all/playlist.m3u8$LR•IPV4•101『线路74』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_021/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路75』 +https://amg00793-amg00793c5-firetv-us-4068.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路75』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_022/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路76』 +https://amg00793-amg00793c49-rakuten-fi-5848.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路76』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_023/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路77』 +https://amg00793-amg00793c45-rakuten-fr-5539.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路77』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_024/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路78』 +https://amg00793-amg00793c44-rakuten-de-5538.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路78』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://jmp2.uk/plu-60dafb9a0df1ba000758d37b.m3u8$LR•IPV4•101『线路79』 +https://amg00793-amg00793c43-rakuten-it-5537.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路79』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://jmp2.uk/plu-62e7fa5ab5062e0007dcf97d.m3u8$LR•IPV4•101『线路80』 +https://dmr1h4skdal9h.cloudfront.net/playlist.m3u8$LR•IPV4•101『线路80』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://amg00793-amg00793c5-xumo-us-2664.playouts.now.amagi.tv/bbcstudios-bbctopgear8min-all/playlist.m3u8$LR•IPV4•101『线路81』 +https://bbc-classicdrwho-1-us.roku.wurl.tv/playlist.m3u8$LR•IPV4•101『线路81』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://amg00793-amg00793c5-firetv-us-4068.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路82』 +https://amg00793-amg00793c40-rakuten-es-5444.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路82』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://amg00793-amg00793c49-rakuten-fi-5848.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路83』 +https://d11r33s5i066xh.cloudfront.net/playlist.m3u8$LR•IPV4•101『线路83』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://amg00793-amg00793c45-rakuten-fr-5539.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路84』 +https://cdn4.skygo.mn/live/disk1/BBC_lifestyle/HLSv3-FTA/BBC_lifestyle.m3u8$LR•IPV4•101『线路84』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://amg00793-amg00793c44-rakuten-de-5538.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路85』 +http://81.15.109.89:8001/play/BBCLifestyle$LR•IPV4•101『线路85』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://amg00793-amg00793c43-rakuten-it-5537.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路86』 +https://jmp2.uk/plu-60e4519e6873180007d3cddb.m3u8$LR•IPV4•101『线路86』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://dmr1h4skdal9h.cloudfront.net/playlist.m3u8$LR•IPV4•101『线路87』 +http://81.15.109.89:8001/play/BBCEarth$LR•IPV4•101『线路87』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://bbc-classicdrwho-1-us.roku.wurl.tv/playlist.m3u8$LR•IPV4•101『线路88』 +https://amg00793-amg00793c6-xumo-us-2669.playouts.now.amagi.tv/BBCStudios-BBCEarthA-hls/playlist.m3u8$LR•IPV4•101『线路88』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://amg00793-amg00793c40-rakuten-es-5444.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路89』 +http://185.102.171.218/BBCEarth/index.m3u8$LR•IPV4•101『线路89』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://d11r33s5i066xh.cloudfront.net/playlist.m3u8$LR•IPV4•101『线路90』 +https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_parliament/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路90』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://cdn4.skygo.mn/live/disk1/BBC_lifestyle/HLSv3-FTA/BBC_lifestyle.m3u8$LR•IPV4•101『线路91』 +https://d1e9r0b71zfwk7.cloudfront.net/playlist.m3u8$LR•IPV4•101『线路91』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -http://81.15.109.89:8001/play/BBCLifestyle$LR•IPV4•101『线路92』 +https://vs-cmaf-pushb-uk.live.fastly.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:bbc_four_hd/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路92』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://jmp2.uk/plu-60e4519e6873180007d3cddb.m3u8$LR•IPV4•101『线路93』 +http://193.46.58.239:8080/CbeebiesHD/index.m3u8$LR•IPV4•101『线路93』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -http://81.15.109.89:8001/play/BBCEarth$LR•IPV4•101『线路94』 +http://193.46.58.239:8080/CBBCHD/index.m3u8$LR•IPV4•101『线路94』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://amg00793-amg00793c6-xumo-us-2669.playouts.now.amagi.tv/BBCStudios-BBCEarthA-hls/playlist.m3u8$LR•IPV4•101『线路95』 +http://free.cnlive.club/channel/356e7ac6/index.m3u8?q=1752629214236$LR•IPV4•101『线路95』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -http://185.102.171.218/BBCEarth/index.m3u8$LR•IPV4•101『线路96』 +http://free.cnlive.club/channel/359a630b/index.m3u8?q=1752629214236$LR•IPV4•101『线路96』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_parliament/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路97』 +p3p://167.114.175.6:55331/64026f590000e9663abc652f25176282$LR•IPV4•101『线路97』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://d1e9r0b71zfwk7.cloudfront.net/playlist.m3u8$LR•IPV4•101『线路98』 +p3p://167.114.175.6:55331/6444eb2e000921503e6ecfe873cd10b1$LR•IPV4•101『线路98』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -https://vs-cmaf-pushb-uk.live.fastly.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:bbc_four_hd/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路99』 +http://125.227.210.55:8165/VideoInput/play.ts$LR•IPV4•101『线路99』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -http://193.46.58.239:8080/CbeebiesHD/index.m3u8$LR•IPV4•101『线路100』 +https://d2vnbkvjbims7j.cloudfront.net/containerA/LTN/playlist.m3u8$LR•IPV4•101『线路100』 #EXTINF:-1 tvg-id="BBC" tvg-name="BBC" group-title="港澳台",BBC -http://193.46.58.239:8080/CBBCHD/index.m3u8$LR•IPV4•101『线路101』 +https://amg00793-amg00793c6-xumo-us-2669.playouts.now.amagi.tv/BBCStudios-BBCEarthA-hls/playlist540p.m3u8$LR•IPV4•101『线路101』 #EXTINF:-1 tvg-id="CNA" tvg-name="CNA" group-title="港澳台",CNA https://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index_5.m3u8$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="CNA" tvg-name="CNA" group-title="港澳台",CNA -http://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index_5.m3u8?zshijd$LR•IPV4•6『线路2』 +https://live1.mediadesk.al/cnatvlive.m3u8$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="CNA" tvg-name="CNA" group-title="港澳台",CNA -https://live1.mediadesk.al/cnatvlive.m3u8$LR•IPV4•6『线路3』 +https://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="CNA" tvg-name="CNA" group-title="港澳台",CNA -https://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index.m3u8$LR•IPV4•6『线路4』 +https://live.creacast.com/cna/stream/playlist.m3u8$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="CNA" tvg-name="CNA" group-title="港澳台",CNA -https://live.creacast.com/cna/stream/playlist.m3u8$LR•IPV4•6『线路5』 +https://amg01082-cna-amg01082c1-rlaxx-us-11304.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="CNA" tvg-name="CNA" group-title="港澳台",CNA -https://amg01082-cna-amg01082c1-rlaxx-us-11304.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•6『线路6』 +http://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index_5.m3u8?zshijd$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="CNN" tvg-name="CNN" group-title="港澳台",CNN https://ds2c506obo7m8.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-7zjq3tdqasbg8/index.m3u8$LR•IPV4•12『线路1』 #EXTINF:-1 tvg-id="CNN" tvg-name="CNN" group-title="港澳台",CNN -http://live.cnnindonesia.com/livecnn/smil:cnntv.smil/chunklist_w1285822120_b384000_sleng.m3u8$LR•IPV4•12『线路2』 +http://88.212.15.19/live/test_cnn_pirma_news/playlist.m3u8$LR•IPV4•12『线路2』 #EXTINF:-1 tvg-id="CNN" tvg-name="CNN" group-title="港澳台",CNN -http://88.212.15.19/live/test_cnn_pirma_news/playlist.m3u8$LR•IPV4•12『线路3』 +https://jmp2.uk/plu-66c45c274f25dd00092739ee.m3u8$LR•IPV4•12『线路3』 #EXTINF:-1 tvg-id="CNN" tvg-name="CNN" group-title="港澳台",CNN -https://jmp2.uk/plu-66c45c274f25dd00092739ee.m3u8$LR•IPV4•12『线路4』 +https://jmp2.uk/plu-5421f71da6af422839419cb3.m3u8$LR•IPV4•12『线路4』 #EXTINF:-1 tvg-id="CNN" tvg-name="CNN" group-title="港澳台",CNN -https://jmp2.uk/plu-5421f71da6af422839419cb3.m3u8$LR•IPV4•12『线路5』 +https://jmp2.uk/plu-66337e365a402e00087eccaf.m3u8$LR•IPV4•12『线路5』 #EXTINF:-1 tvg-id="CNN" tvg-name="CNN" group-title="港澳台",CNN -https://jmp2.uk/plu-66337e365a402e00087eccaf.m3u8$LR•IPV4•12『线路6』 +https://jmp2.uk/plu-66c45c0de7f5e80008b82005.m3u8$LR•IPV4•12『线路6』 #EXTINF:-1 tvg-id="CNN" tvg-name="CNN" group-title="港澳台",CNN -https://jmp2.uk/plu-66c45c0de7f5e80008b82005.m3u8$LR•IPV4•12『线路7』 +https://jmp2.uk/plu-66c45b36a72e7b0008a2b291.m3u8$LR•IPV4•12『线路7』 #EXTINF:-1 tvg-id="CNN" tvg-name="CNN" group-title="港澳台",CNN -https://jmp2.uk/plu-66c45b36a72e7b0008a2b291.m3u8$LR•IPV4•12『线路8』 +https://jmp2.uk/plu-66c45ba803e3b20008d8c294.m3u8$LR•IPV4•12『线路8』 #EXTINF:-1 tvg-id="CNN" tvg-name="CNN" group-title="港澳台",CNN -https://jmp2.uk/plu-66c45ba803e3b20008d8c294.m3u8$LR•IPV4•12『线路9』 +https://jmp2.uk/plu-66dff9d46ad04d0008fda4de.m3u8$LR•IPV4•12『线路9』 #EXTINF:-1 tvg-id="CNN" tvg-name="CNN" group-title="港澳台",CNN -https://jmp2.uk/plu-66dff9d46ad04d0008fda4de.m3u8$LR•IPV4•12『线路10』 +https://jmp2.uk/plu-673248f9030a2c0008033af8.m3u8$LR•IPV4•12『线路10』 #EXTINF:-1 tvg-id="CNN" tvg-name="CNN" group-title="港澳台",CNN -https://jmp2.uk/plu-673248f9030a2c0008033af8.m3u8$LR•IPV4•12『线路11』 +https://jmp2.uk/plu-66e0b4536ad04d0008fff4b2.m3u8$LR•IPV4•12『线路11』 #EXTINF:-1 tvg-id="CNN" tvg-name="CNN" group-title="港澳台",CNN -https://jmp2.uk/plu-66e0b4536ad04d0008fff4b2.m3u8$LR•IPV4•12『线路12』 +http://live.cnnindonesia.com/livecnn/smil:cnntv.smil/chunklist_w1285822120_b384000_sleng.m3u8$LR•IPV4•12『线路12』 #EXTINF:-1 tvg-id="CBC News" tvg-name="CBC News" group-title="港澳台",CBC News -https://dbrb49pjoymg4.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod_default_xumo-ams-aws/master.m3u8?ads.xumo_channelId=99991276$LR•IPV4•8『线路1』 +https://d2ny9lo79ujali.cloudfront.net/CBC_News_International.m3u8$LR•IPV4•8『线路1』 #EXTINF:-1 tvg-id="CBC News" tvg-name="CBC News" group-title="港澳台",CBC News -https://d2ny9lo79ujali.cloudfront.net/CBC_News_International.m3u8$LR•IPV4•8『线路2』 +https://jmp2.uk/plu-6536725167bd1a00084481bc.m3u8$LR•IPV4•8『线路2』 #EXTINF:-1 tvg-id="CBC News" tvg-name="CBC News" group-title="港澳台",CBC News -https://jmp2.uk/plu-6536725167bd1a00084481bc.m3u8$LR•IPV4•8『线路3』 +https://amagi-streams.akamaized.net/hls/live/2110960/cbcnewsbc/master.m3u8$LR•IPV4•8『线路3』 #EXTINF:-1 tvg-id="CBC News" tvg-name="CBC News" group-title="港澳台",CBC News -https://amagi-streams.akamaized.net/hls/live/2110960/cbcnewsbc/master.m3u8$LR•IPV4•8『线路4』 +https://jmp2.uk/plu-66a8f01914a2bb00084dd86c.m3u8$LR•IPV4•8『线路4』 #EXTINF:-1 tvg-id="CBC News" tvg-name="CBC News" group-title="港澳台",CBC News -https://jmp2.uk/plu-66a8f01914a2bb00084dd86c.m3u8$LR•IPV4•8『线路5』 +https://amagi-streams.akamaized.net/hls/live/2110962/cbcexplore/master.m3u8$LR•IPV4•8『线路5』 #EXTINF:-1 tvg-id="CBC News" tvg-name="CBC News" group-title="港澳台",CBC News -https://amagi-streams.akamaized.net/hls/live/2110962/cbcexplore/master.m3u8$LR•IPV4•8『线路6』 +https://amagi-streams.akamaized.net/hls/live/2110961/cbctoronto/master.m3u8$LR•IPV4•8『线路6』 #EXTINF:-1 tvg-id="CBC News" tvg-name="CBC News" group-title="港澳台",CBC News -https://amagi-streams.akamaized.net/hls/live/2110961/cbctoronto/master.m3u8$LR•IPV4•8『线路7』 +https://jmp2.uk/plu-6536721dbfbaec00088687c0.m3u8$LR•IPV4•8『线路7』 #EXTINF:-1 tvg-id="CBC News" tvg-name="CBC News" group-title="港澳台",CBC News -https://jmp2.uk/plu-6536721dbfbaec00088687c0.m3u8$LR•IPV4•8『线路8』 +https://dbrb49pjoymg4.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod_default_xumo-ams-aws/master.m3u8?ads.xumo_channelId=99991276$LR•IPV4•8『线路8』 #EXTINF:-1 tvg-id="Sky News" tvg-name="Sky News" group-title="港澳台",Sky News https://d39chvnxm26pgp.cloudfront.net/v1/master/72588bff830dec7b26d7cbbf5f3c24928aec5c03/cc-sthen6ms4vxgv-stage/WNSFO/ABR.m3u8$LR•IPV4•11『线路1』 #EXTINF:-1 tvg-id="Sky News" tvg-name="Sky News" group-title="港澳台",Sky News @@ -9094,21 +9042,21 @@ https://distro001-gb-hls1-prd.delivery.skycdp.com/easel_cdn/ngrp:weather_loop.st #EXTINF:-1 tvg-id="Al Jazeera" tvg-name="Al Jazeera" group-title="港澳台",Al Jazeera https://live-hls-aje-ak.getaj.net/AJE/01.m3u8$LR•IPV4•9『线路1』 #EXTINF:-1 tvg-id="Al Jazeera" tvg-name="Al Jazeera" group-title="港澳台",Al Jazeera -http://live-hls-web-aja.getaj.net/AJA/02.m3u8$LR•IPV4•9『线路2』 +https://live-hls-apps-aja-fa.getaj.net/AJA/01.m3u8$LR•IPV4•9『线路2』 #EXTINF:-1 tvg-id="Al Jazeera" tvg-name="Al Jazeera" group-title="港澳台",Al Jazeera -https://live-hls-apps-aja-fa.getaj.net/AJA/01.m3u8$LR•IPV4•9『线路3』 +https://live-hls-web-aja2-gcp.thehlive.com/AJA2/index.m3u8$LR•IPV4•9『线路3』 #EXTINF:-1 tvg-id="Al Jazeera" tvg-name="Al Jazeera" group-title="港澳台",Al Jazeera -https://live-hls-web-aja2-gcp.thehlive.com/AJA2/index.m3u8$LR•IPV4•9『线路4』 +https://live-hls-apps-aje-fa.getaj.net/AJE/index.m3u8$LR•IPV4•9『线路4』 #EXTINF:-1 tvg-id="Al Jazeera" tvg-name="Al Jazeera" group-title="港澳台",Al Jazeera -https://live-hls-apps-aje-fa.getaj.net/AJE/index.m3u8$LR•IPV4•9『线路5』 +https://live-hls-apps-ajm-fa.getaj.net/AJM/index.m3u8$LR•IPV4•9『线路5』 #EXTINF:-1 tvg-id="Al Jazeera" tvg-name="Al Jazeera" group-title="港澳台",Al Jazeera -https://live-hls-apps-ajm-fa.getaj.net/AJM/index.m3u8$LR•IPV4•9『线路6』 +https://live-hls-apps-ajm24-fa.getaj.net/AJM24/index.m3u8$LR•IPV4•9『线路6』 #EXTINF:-1 tvg-id="Al Jazeera" tvg-name="Al Jazeera" group-title="港澳台",Al Jazeera -https://live-hls-apps-ajm24-fa.getaj.net/AJM24/index.m3u8$LR•IPV4•9『线路7』 +https://live-hls-apps-ajm2-fa.getaj.net/AJM2/index.m3u8$LR•IPV4•9『线路7』 #EXTINF:-1 tvg-id="Al Jazeera" tvg-name="Al Jazeera" group-title="港澳台",Al Jazeera -https://live-hls-apps-ajm2-fa.getaj.net/AJM2/index.m3u8$LR•IPV4•9『线路8』 +https://live-hls-apps-ajd-fa.getaj.net/AJD/index.m3u8$LR•IPV4•9『线路8』 #EXTINF:-1 tvg-id="Al Jazeera" tvg-name="Al Jazeera" group-title="港澳台",Al Jazeera -https://live-hls-apps-ajd-fa.getaj.net/AJD/index.m3u8$LR•IPV4•9『线路9』 +http://live-hls-web-aja.getaj.net/AJA/02.m3u8$LR•IPV4•9『线路9』 #EXTINF:-1 tvg-id="Arirang" tvg-name="Arirang" group-title="港澳台",Arirang https://amdlive-ch01-ctnd-com.akamaized.net/arirang_1ch/smil:arirang_1ch.smil/chunklist_b3256000_sleng.m3u8$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="Arirang" tvg-name="Arirang" group-title="港澳台",Arirang @@ -9132,9 +9080,9 @@ https://86fdc85a.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/TEctZ2 #EXTINF:-1 tvg-id="Bloomberg Originals" tvg-name="Bloomberg Originals" group-title="港澳台",Bloomberg Originals https://bloomberg.com/media-manifest/streams/qt.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="Fashion TV" tvg-name="Fashion TV" group-title="港澳台",Fashion TV -http://free.cnlive.club/channel/n7852a99f/index.m3u8?q=1752629214236$LR•IPV4•2『线路1』 +https://cdn2.invivo.bg/Codefashion_5500/index.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="Fashion TV" tvg-name="Fashion TV" group-title="港澳台",Fashion TV -https://cdn2.invivo.bg/Codefashion_5500/index.m3u8$LR•IPV4•2『线路2』 +http://free.cnlive.club/channel/n7852a99f/index.m3u8?q=1752629214236$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY http://s.rocketdns.info:8080/live/monstercable/Dq6jjknxCr/2188.ts$LR•IPV4•26『线路1』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY @@ -9142,93 +9090,93 @@ http://s.rocketdns.info:8080/live/monstercable/Dq6jjknxCr/2179.ts$LR•IPV4•26 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY http://s.rocketdns.info:8080/live/monstercable/Dq6jjknxCr/2182.ts$LR•IPV4•26『线路3』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -http://nocable.cc:8080//OURTV/OURTV@4806/35241$LR•IPV4•26『线路4』 +https://cdn5.smart-tv-data.com/bluesky/bluesky-live/playlist.m3u8$LR•IPV4•26『线路4』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -http://nocable.cc:8080//OURTV/OURTV@4806/35244$LR•IPV4•26『线路5』 +http://80.194.62.172:50002/stream/channelid/1848745953$LR•IPV4•26『线路5』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001373$LR•IPV4•26『线路6』 +https://primetv-prod.akamaized.net/v1/prime-freeview-aes128.m3u8$LR•IPV4•26『线路6』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -http://nocable.cc:8080//OURTV/OURTV@4806/35240$LR•IPV4•26『线路7』 +https://linear-p.media.skyone.co.nz/primeplus1.clear.m3u8$LR•IPV4•26『线路7』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -http://nocable.cc:8080//OURTV/OURTV@4806/137720$LR•IPV4•26『线路8』 +https://eu.live.skyfolk.mk/live.m3u8$LR•IPV4•26『线路8』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001376$LR•IPV4•26『线路9』 +https://636ffd31f0e12.streamlock.net/RacingStream1/RacingStream1/playlist.m3u8$LR•IPV4•26『线路9』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001378$LR•IPV4•26『线路10』 +https://636ffd31f0e12.streamlock.net/RacingStream2/RacingStream2/playlist.m3u8$LR•IPV4•26『线路10』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001379$LR•IPV4•26『线路11』 +https://skylivetab-new.akamaized.net/hls/live/2038782/stcsd/index.m3u8$LR•IPV4•26『线路11』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -http://nocable.cc:8080//OURTV/OURTV@4806/53705$LR•IPV4•26『线路12』 +http://nocable.cc:8080//OURTV/OURTV@4806/35241$LR•IPV4•26『线路12』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -http://nocable.cc:8080//OURTV/OURTV@4806/35238$LR•IPV4•26『线路13』 +http://nocable.cc:8080//OURTV/OURTV@4806/35244$LR•IPV4•26『线路13』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -http://nocable.cc:8080//OURTV/OURTV@4806/53663$LR•IPV4•26『线路14』 +http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001373$LR•IPV4•26『线路14』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -http://nocable.cc:8080//OURTV/OURTV@4806/45940$LR•IPV4•26『线路15』 +http://nocable.cc:8080//OURTV/OURTV@4806/35240$LR•IPV4•26『线路15』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -http://vocotv.pro//revol/revol/276918$LR•IPV4•26『线路16』 +http://nocable.cc:8080//OURTV/OURTV@4806/137720$LR•IPV4•26『线路16』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -http://vocotv.pro//revol/revol/276924$LR•IPV4•26『线路17』 +http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001376$LR•IPV4•26『线路17』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -http://vocotv.pro//revol/revol/276906$LR•IPV4•26『线路18』 +http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001378$LR•IPV4•26『线路18』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -https://cdn5.smart-tv-data.com/bluesky/bluesky-live/playlist.m3u8$LR•IPV4•26『线路19』 +http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001379$LR•IPV4•26『线路19』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -http://80.194.62.172:50002/stream/channelid/1848745953$LR•IPV4•26『线路20』 +http://nocable.cc:8080//OURTV/OURTV@4806/53705$LR•IPV4•26『线路20』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -https://primetv-prod.akamaized.net/v1/prime-freeview-aes128.m3u8$LR•IPV4•26『线路21』 +http://nocable.cc:8080//OURTV/OURTV@4806/35238$LR•IPV4•26『线路21』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -https://linear-p.media.skyone.co.nz/primeplus1.clear.m3u8$LR•IPV4•26『线路22』 +http://nocable.cc:8080//OURTV/OURTV@4806/53663$LR•IPV4•26『线路22』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -https://eu.live.skyfolk.mk/live.m3u8$LR•IPV4•26『线路23』 +http://nocable.cc:8080//OURTV/OURTV@4806/45940$LR•IPV4•26『线路23』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -https://636ffd31f0e12.streamlock.net/RacingStream1/RacingStream1/playlist.m3u8$LR•IPV4•26『线路24』 +http://vocotv.pro//revol/revol/276918$LR•IPV4•26『线路24』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -https://636ffd31f0e12.streamlock.net/RacingStream2/RacingStream2/playlist.m3u8$LR•IPV4•26『线路25』 +http://vocotv.pro//revol/revol/276924$LR•IPV4•26『线路25』 #EXTINF:-1 tvg-id="SKY" tvg-name="SKY" group-title="港澳台",SKY -https://skylivetab-new.akamaized.net/hls/live/2038782/stcsd/index.m3u8$LR•IPV4•26『线路26』 +http://vocotv.pro//revol/revol/276906$LR•IPV4•26『线路26』 #EXTINF:-1 tvg-id="KBS world" tvg-name="KBS world" group-title="港澳台",KBS world http://31.148.48.15/KBS_World/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="FIFA+" tvg-name="FIFA+" group-title="港澳台",FIFA+ -https://d2w9q46ikgrcwx.cloudfront.net/v1/manifest/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-of5cbk3sav3w5/554c05e7-129a-4758-97ba-aa2292e58973/1.m3u8$LR•IPV4•12『线路1』 +https://jmp2.uk/plu-660c29b5aec9680008f5b4a4.m3u8$LR•IPV4•12『线路1』 #EXTINF:-1 tvg-id="FIFA+" tvg-name="FIFA+" group-title="港澳台",FIFA+ -https://d2w9q46ikgrcwx.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-of5cbk3sav3w5/v1/sysdata_s_p_a_fifa_7/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•12『线路2』 +https://37b4c228.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWZyX0ZJRkFQbHVzRnJlbmNoX0hMUw/playlist.m3u8$LR•IPV4•12『线路2』 #EXTINF:-1 tvg-id="FIFA+" tvg-name="FIFA+" group-title="港澳台",FIFA+ -https://d2w9q46ikgrcwx.cloudfront.net/v1/manifest/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-of5cbk3sav3w5/035f3906-e664-4f1b-83f0-a7547730adce/0.m3u8$LR•IPV4•12『线路3』 +https://4397879b.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWRlX0ZJRkFQbHVzR2VybWFuX0hMUw/playlist.m3u8$LR•IPV4•12『线路3』 #EXTINF:-1 tvg-id="FIFA+" tvg-name="FIFA+" group-title="港澳台",FIFA+ -https://d2w9q46ikgrcwx.cloudfront.net/v1/manifest/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-of5cbk3sav3w5/b31ebba5-b6b6-4083-9426-1c4bd66b7119/0.m3u8$LR•IPV4•12『线路4』 +https://6c849fb3.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/TEctbXhfRklGQVBsdXNTcGFuaXNoLTFfSExT/playlist.m3u8$LR•IPV4•12『线路4』 #EXTINF:-1 tvg-id="FIFA+" tvg-name="FIFA+" group-title="港澳台",FIFA+ -https://jmp2.uk/plu-660c29b5aec9680008f5b4a4.m3u8$LR•IPV4•12『线路5』 +https://5d95f7d7.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWl0X0ZJRkFQbHVzSXRhbGlhbl9ITFM/playlist.m3u8$LR•IPV4•12『线路5』 #EXTINF:-1 tvg-id="FIFA+" tvg-name="FIFA+" group-title="港澳台",FIFA+ -https://37b4c228.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWZyX0ZJRkFQbHVzRnJlbmNoX0hMUw/playlist.m3u8$LR•IPV4•12『线路6』 +https://e3be9ac5.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/TEctYnJfRklGQVBsdXNQb3J0dWd1ZXNlX0hMUw/playlist.m3u8$LR•IPV4•12『线路6』 #EXTINF:-1 tvg-id="FIFA+" tvg-name="FIFA+" group-title="港澳台",FIFA+ -https://4397879b.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWRlX0ZJRkFQbHVzR2VybWFuX0hMUw/playlist.m3u8$LR•IPV4•12『线路7』 +https://d63fabad.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWVzX0ZJRkFQbHVzU3BhbmlzaF9ITFM/playlist.m3u8$LR•IPV4•12『线路7』 #EXTINF:-1 tvg-id="FIFA+" tvg-name="FIFA+" group-title="港澳台",FIFA+ -https://6c849fb3.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/TEctbXhfRklGQVBsdXNTcGFuaXNoLTFfSExT/playlist.m3u8$LR•IPV4•12『线路8』 +https://d2w9q46ikgrcwx.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-of5cbk3sav3w5/v1/sysdata_s_p_a_fifa_7/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•12『线路8』 #EXTINF:-1 tvg-id="FIFA+" tvg-name="FIFA+" group-title="港澳台",FIFA+ -https://5d95f7d7.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWl0X0ZJRkFQbHVzSXRhbGlhbl9ITFM/playlist.m3u8$LR•IPV4•12『线路9』 +https://cffda8ff.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/U2Ftc3VuZy1nYl9GSUZBUGx1c3dvbWVuX0hMUw/playlist.m3u8$LR•IPV4•12『线路9』 #EXTINF:-1 tvg-id="FIFA+" tvg-name="FIFA+" group-title="港澳台",FIFA+ -https://e3be9ac5.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/TEctYnJfRklGQVBsdXNQb3J0dWd1ZXNlX0hMUw/playlist.m3u8$LR•IPV4•12『线路10』 +https://d2w9q46ikgrcwx.cloudfront.net/v1/manifest/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-of5cbk3sav3w5/554c05e7-129a-4758-97ba-aa2292e58973/1.m3u8$LR•IPV4•12『线路10』 #EXTINF:-1 tvg-id="FIFA+" tvg-name="FIFA+" group-title="港澳台",FIFA+ -https://d63fabad.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWVzX0ZJRkFQbHVzU3BhbmlzaF9ITFM/playlist.m3u8$LR•IPV4•12『线路11』 +https://d2w9q46ikgrcwx.cloudfront.net/v1/manifest/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-of5cbk3sav3w5/035f3906-e664-4f1b-83f0-a7547730adce/0.m3u8$LR•IPV4•12『线路11』 #EXTINF:-1 tvg-id="FIFA+" tvg-name="FIFA+" group-title="港澳台",FIFA+ -https://cffda8ff.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/U2Ftc3VuZy1nYl9GSUZBUGx1c3dvbWVuX0hMUw/playlist.m3u8$LR•IPV4•12『线路12』 +https://d2w9q46ikgrcwx.cloudfront.net/v1/manifest/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-of5cbk3sav3w5/b31ebba5-b6b6-4083-9426-1c4bd66b7119/0.m3u8$LR•IPV4•12『线路12』 #EXTINF:-1 tvg-id="Newsmax" tvg-name="Newsmax" group-title="港澳台",Newsmax https://nmx1ota.akamaized.net/hls/live/2107010/Live_1/3.m3u8$LR•IPV4•8『线路1』 #EXTINF:-1 tvg-id="Newsmax" tvg-name="Newsmax" group-title="港澳台",Newsmax -http://nmxlive.akamaized.net/hls/live/529965/Live_1/index.m3u8$LR•IPV4•8『线路2』 +https://2-fss-2.streamhoster.com/pl_120/206858-4404556-1/playlist.m3u8$LR•IPV4•8『线路2』 #EXTINF:-1 tvg-id="Newsmax" tvg-name="Newsmax" group-title="港澳台",Newsmax -https://nmxlive.akamaized.net/hls/live/529965/Live_1/index.m3u8$LR•IPV4•8『线路3』 +https://amg00217-newsmax-newsmax-zeasn-022k9.amagi.tv/playlist.m3u8$LR•IPV4•8『线路3』 #EXTINF:-1 tvg-id="Newsmax" tvg-name="Newsmax" group-title="港澳台",Newsmax -https://2-fss-2.streamhoster.com/pl_120/206858-4404556-1/playlist.m3u8$LR•IPV4•8『线路4』 +https://newsmaxadria.mts-si.tv/newsmaxadria/index.m3u8$LR•IPV4•8『线路4』 #EXTINF:-1 tvg-id="Newsmax" tvg-name="Newsmax" group-title="港澳台",Newsmax -https://amg00217-newsmax-newsmax-zeasn-022k9.amagi.tv/playlist.m3u8$LR•IPV4•8『线路5』 +https://n1ottesorkatv.akamaized.net/hls/live/2113795/Live_1/index.m3u8$LR•IPV4•8『线路5』 #EXTINF:-1 tvg-id="Newsmax" tvg-name="Newsmax" group-title="港澳台",Newsmax -https://newsmaxadria.mts-si.tv/newsmaxadria/index.m3u8$LR•IPV4•8『线路6』 +https://nmx1ota.akamaized.net/hls/live/2107010/Live_1/index.m3u8$LR•IPV4•8『线路6』 #EXTINF:-1 tvg-id="Newsmax" tvg-name="Newsmax" group-title="港澳台",Newsmax -https://n1ottesorkatv.akamaized.net/hls/live/2113795/Live_1/index.m3u8$LR•IPV4•8『线路7』 +http://nmxlive.akamaized.net/hls/live/529965/Live_1/index.m3u8$LR•IPV4•8『线路7』 #EXTINF:-1 tvg-id="Newsmax" tvg-name="Newsmax" group-title="港澳台",Newsmax -https://nmx1ota.akamaized.net/hls/live/2107010/Live_1/index.m3u8$LR•IPV4•8『线路8』 +https://nmxlive.akamaized.net/hls/live/529965/Live_1/index.m3u8$LR•IPV4•8『线路8』 #EXTINF:-1 tvg-id="CBN News" tvg-name="CBN News" group-title="港澳台",CBN News https://fastly.live.brightcove.com/6380396819112/us-east-1/734546207001/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJob3N0IjoiczFpM3ZpLmVncmVzcy50N2M3emwiLCJhY2NvdW50X2lkIjoiNzM0NTQ2MjA3MDAxIiwiZWhuIjoiZmFzdGx5LmxpdmUuYnJpZ2h0Y292ZS5jb20iLCJpc3MiOiJibGl2ZS1wbGF5YmFjay1zb3VyY2UtYXBpIiwic3ViIjoicGF0aG1hcHRva2VuIiwiYXVkIjpbIjczNDU0NjIwNzAwMSJdLCJqdGkiOiI2MzgwMzk2ODE5MTEyIn0.GDYp4IWtzwPkupEWeeOavnioVknO-Ev3UGlHvM1rE6I/playlist-hls.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="GB News" tvg-name="GB News" group-title="港澳台",GB News @@ -9250,21 +9198,21 @@ https://aegis-cloudfront-1.tubi.video/3b6afc3b-97f7-4f22-99f4-7bcff60fc39d/playl #EXTINF:-1 tvg-id="ION" tvg-name="ION" group-title="港澳台",ION https://pb-usmbvsgwcg8pc.akamaized.net/Ion_Mystery_US.m3u8$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="Love Nature" tvg-name="Love Nature" group-title="港澳台",Love Nature -http://rihou.cc:555/tv/LoveNature$LR•IPV4•8『线路1』 +https://amg01515-amg01515c17-xumo-us-2489.playouts.now.amagi.tv/bamus-lovenaturespanish-roku/playlist.m3u8$LR•IPV4•8『线路1』 #EXTINF:-1 tvg-id="Love Nature" tvg-name="Love Nature" group-title="港澳台",Love Nature -p3p://167.114.175.6:55331/655fa9280009c6278edfc1176731425f$LR•IPV4•8『线路2』 +https://aegis-cloudfront-1.tubi.video/6d6d0f24-8445-4b4c-bdf6-44f9e38beaa4/playlist.m3u8$LR•IPV4•8『线路2』 #EXTINF:-1 tvg-id="Love Nature" tvg-name="Love Nature" group-title="港澳台",Love Nature -https://d18dyiwu97wm6q.cloudfront.net/playlist2160p.m3u8$LR•IPV4•8『线路3』 +https://pb-ehs1glsha1juy.akamaized.net/Love_Nature_4K.m3u8$LR•IPV4•8『线路3』 #EXTINF:-1 tvg-id="Love Nature" tvg-name="Love Nature" group-title="港澳台",Love Nature -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1761&tk=f6cc1e0a0e1a$LR•IPV4•8『线路4』 +http://185.246.209.113/LOVENATUREHD/index.m3u8$LR•IPV4•8『线路4』 #EXTINF:-1 tvg-id="Love Nature" tvg-name="Love Nature" group-title="港澳台",Love Nature -https://amg01515-amg01515c17-xumo-us-2489.playouts.now.amagi.tv/bamus-lovenaturespanish-roku/playlist.m3u8$LR•IPV4•8『线路5』 +p3p://167.114.175.6:55331/655fa9280009c6278edfc1176731425f$LR•IPV4•8『线路5』 #EXTINF:-1 tvg-id="Love Nature" tvg-name="Love Nature" group-title="港澳台",Love Nature -https://aegis-cloudfront-1.tubi.video/6d6d0f24-8445-4b4c-bdf6-44f9e38beaa4/playlist.m3u8$LR•IPV4•8『线路6』 +https://d18dyiwu97wm6q.cloudfront.net/playlist2160p.m3u8$LR•IPV4•8『线路6』 #EXTINF:-1 tvg-id="Love Nature" tvg-name="Love Nature" group-title="港澳台",Love Nature -https://pb-ehs1glsha1juy.akamaized.net/Love_Nature_4K.m3u8$LR•IPV4•8『线路7』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1761&tk=f6cc1e0a0e1a$LR•IPV4•8『线路7』 #EXTINF:-1 tvg-id="Love Nature" tvg-name="Love Nature" group-title="港澳台",Love Nature -http://185.246.209.113/LOVENATUREHD/index.m3u8$LR•IPV4•8『线路8』 +http://rihou.cc:555/tv/LoveNature$LR•IPV4•8『线路8』 #EXTINF:-1 tvg-id="Fight Network" tvg-name="Fight Network" group-title="港澳台",Fight Network https://d12a2vxqkkh1bo.cloudfront.net/hls/main.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="Wild Earth" tvg-name="Wild Earth" group-title="港澳台",Wild Earth @@ -9272,59 +9220,59 @@ https://wildearth-plex.amagi.tv/masterR1080p.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="Clarity 4K" tvg-name="Clarity 4K" group-title="港澳台",Clarity 4K https://pb-qyrvophnifz47.akamaized.net/Clarity_4K.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="Stadium" tvg-name="Stadium" group-title="港澳台",Stadium -https://2d006483e2aa43fe812f7b464cb2916d.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/Samsung_Stadium/playlist.m3u8$LR•IPV4•2『线路1』 +https://wurl120sports.global.transmit.live/hls/679a907dce42a042c23ace37/v1/stadium_gracenote/samsung_us/latest/main/hls/playlist.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="Stadium" tvg-name="Stadium" group-title="港澳台",Stadium -https://wurl120sports.global.transmit.live/hls/679a907dce42a042c23ace37/v1/stadium_gracenote/samsung_us/latest/main/hls/playlist.m3u8$LR•IPV4•2『线路2』 +https://2d006483e2aa43fe812f7b464cb2916d.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/Samsung_Stadium/playlist.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -http://bgdc.live:25461/catrinamcdermott/catrinamcdermott/51112$LR•IPV4•25『线路1』 +http://206.212.244.63/139/index.m3u8$LR•IPV4•25『线路1』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -http://206.212.244.63/139/index.m3u8$LR•IPV4•25『线路2』 +https://radio.congoplanet.com/Congo_Planet_TV_Pop.sdp/Congo_Planet_TV_Pop/playlist.m3u8$LR•IPV4•25『线路2』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://radio.congoplanet.com/Congo_Planet_TV_Pop.sdp/Congo_Planet_TV_Pop/playlist.m3u8$LR•IPV4•25『线路3』 +https://d3kmrn2mstrnk5.cloudfront.net/f4acc9ba_daae_4ed0_b836_32126cead919/hls/playlist.m3u8$LR•IPV4•25『线路3』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://d3kmrn2mstrnk5.cloudfront.net/f4acc9ba_daae_4ed0_b836_32126cead919/hls/playlist.m3u8$LR•IPV4•25『线路4』 +https://amg01753-narrativeentert-popkids-lggb-xyy5k.amagi.tv/ts-eu-w1-n2/playlist/amg01753-narrativeentert-popkids-lggb/playlist.m3u8$LR•IPV4•25『线路4』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://amg01753-narrativeentert-popkids-lggb-xyy5k.amagi.tv/ts-eu-w1-n2/playlist/amg01753-narrativeentert-popkids-lggb/playlist.m3u8$LR•IPV4•25『线路5』 +https://stream.ads.ottera.tv/playlist.m3u8?network_id=1086$LR•IPV4•25『线路5』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://stream.ads.ottera.tv/playlist.m3u8?network_id=1086$LR•IPV4•25『线路6』 +https://amg00056-amg00056c7-rakuten-de-3245.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•25『线路6』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://amg00056-amg00056c7-rakuten-de-3245.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•25『线路7』 +https://amg00056-amg00056c8-rakuten-it-3239.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•25『线路7』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://amg00056-amg00056c8-rakuten-it-3239.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•25『线路8』 +https://amg00056-amg00056c10-rakuten-es-3242.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•25『线路8』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://amg00056-amg00056c10-rakuten-es-3242.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•25『线路9』 +https://d2n3779oy6efpi.cloudfront.net/playlist.m3u8$LR•IPV4•25『线路9』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://d2n3779oy6efpi.cloudfront.net/playlist.m3u8$LR•IPV4•25『线路10』 +https://amg00056-amg00056c15-rakuten-it-3241.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•25『线路10』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://amg00056-amg00056c15-rakuten-it-3241.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•25『线路11』 +https://amg01753-amg01753c9-samsung-gb-8005.playouts.now.amagi.tv/ts-eu-w1-n2/playlist/amg01753-narrativeuk-popup-samsunggb/playlist.m3u8$LR•IPV4•25『线路11』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://amg01753-amg01753c9-samsung-gb-8005.playouts.now.amagi.tv/ts-eu-w1-n2/playlist/amg01753-narrativeuk-popup-samsunggb/playlist.m3u8$LR•IPV4•25『线路12』 +https://jmp2.uk/plu-6093f7b5bb49b90007cecaad.m3u8$LR•IPV4•25『线路12』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://jmp2.uk/plu-6093f7b5bb49b90007cecaad.m3u8$LR•IPV4•25『线路13』 +https://amg01753-narrativeuk-amg01753c1-lg-gb-1830.playouts.now.amagi.tv/playlist/amg01753-narrativeuk-tinypop-lggb/playlist.m3u8$LR•IPV4•25『线路13』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://amg01753-narrativeuk-amg01753c1-lg-gb-1830.playouts.now.amagi.tv/playlist/amg01753-narrativeuk-tinypop-lggb/playlist.m3u8$LR•IPV4•25『线路14』 +http://92.114.85.72:8000/play/a08p$LR•IPV4•25『线路14』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -http://92.114.85.72:8000/play/a08p$LR•IPV4•25『线路15』 +https://dogus-live.daioncdn.net/kralpoptv/playlist.m3u8$LR•IPV4•25『线路15』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://dogus-live.daioncdn.net/kralpoptv/playlist.m3u8$LR•IPV4•25『线路16』 +http://rjcf.ofztvxv.top:8080/kang/71267133/99554$LR•IPV4•25『线路16』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -http://rjcf.ofztvxv.top:8080/kang/71267133/99554$LR•IPV4•25『线路17』 +https://jmp2.uk/plu-6047fbdbbb776a0007e7f2ff.m3u8$LR•IPV4•25『线路17』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://jmp2.uk/plu-6047fbdbbb776a0007e7f2ff.m3u8$LR•IPV4•25『线路18』 +https://jmp2.uk/plu-65410176770cf1000866bf31.m3u8$LR•IPV4•25『线路18』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://jmp2.uk/plu-65410176770cf1000866bf31.m3u8$LR•IPV4•25『线路19』 +https://jmp2.uk/plu-6047fabfce6e8e00070bcc9f.m3u8$LR•IPV4•25『线路19』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://jmp2.uk/plu-6047fabfce6e8e00070bcc9f.m3u8$LR•IPV4•25『线路20』 +https://jmp2.uk/plu-5d14fd1a252d35decbc4080c.m3u8$LR•IPV4•25『线路20』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://jmp2.uk/plu-5d14fd1a252d35decbc4080c.m3u8$LR•IPV4•25『线路21』 +https://janus.xpbroadcasting.com:8443/hls/popworld.m3u8$LR•IPV4•25『线路21』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://janus.xpbroadcasting.com:8443/hls/popworld.m3u8$LR•IPV4•25『线路22』 +https://lotus.stingray.com/manifest/ose-104ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•25『线路22』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://lotus.stingray.com/manifest/ose-104ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•25『线路23』 +https://lotus.stingray.com/manifest/ose-190ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•25『线路23』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://lotus.stingray.com/manifest/ose-190ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•25『线路24』 +https://d128y56w6v2kax.cloudfront.net/playlist/amg00056-vevotv-vevopopau-samsungau/playlist.m3u8$LR•IPV4•25『线路24』 #EXTINF:-1 tvg-id="Pop" tvg-name="Pop" group-title="港澳台",Pop -https://d128y56w6v2kax.cloudfront.net/playlist/amg00056-vevotv-vevopopau-samsungau/playlist.m3u8$LR•IPV4•25『线路25』 +http://bgdc.live:25461/catrinamcdermott/catrinamcdermott/51112$LR•IPV4•25『线路25』 #EXTINF:-1 tvg-id="Tastemade" tvg-name="Tastemade" group-title="港澳台",Tastemade https://jmp2.uk/plu-68b88821e542386ab0bf5bef.m3u8$LR•IPV4•15『线路1』 #EXTINF:-1 tvg-id="Tastemade" tvg-name="Tastemade" group-title="港澳台",Tastemade @@ -9368,71 +9316,71 @@ https://jmp2.uk/plu-64a3d96f060e830008af6745.m3u8$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="香港国际财经" tvg-name="香港国际财经" group-title="港澳台",香港国际财经 p3p://167.114.175.6:55331/64838620000cd8ed32fb0d6a414411f7$LR•IPV4 #EXTINF:-1 tvg-id="Bloomberg" tvg-name="Bloomberg" group-title="港澳台",Bloomberg -https://epg.pw/stream/d2edf469b9079064a283f4b0811cbf6f2597ebbb3d08dcf77036a4b5a791b7cf.m3u8$LR•IPV4•17『线路1』 +https://ciner.daioncdn.net/bloomberght/bloomberght.m3u8$LR•IPV4•17『线路1』 #EXTINF:-1 tvg-id="Bloomberg" tvg-name="Bloomberg" group-title="港澳台",Bloomberg -https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg01601-bloomberg-bloombergplus-hls-rakutenjp/playlist.m3u8$LR•IPV4•17『线路2』 +http://23.237.104.106:8080/USA_BLOOMBERG/index.m3u8$LR•IPV4•17『线路2』 #EXTINF:-1 tvg-id="Bloomberg" tvg-name="Bloomberg" group-title="港澳台",Bloomberg -https://bloomberg-bloombergtv-3-nl.samsung.wurl.tv/playlist.m3u8$LR•IPV4•17『线路3』 +https://bloomberg.com/media-manifest/streams/aus.m3u8$LR•IPV4•17『线路3』 #EXTINF:-1 tvg-id="Bloomberg" tvg-name="Bloomberg" group-title="港澳台",Bloomberg -https://bloomberg-bloombergtv-5-eu.plex.wurl.tv/3ea2c48ba0034cc276591c94a5b439c0.m3u8$LR•IPV4•17『线路4』 +http://213.91.179.28:8000/play/a04m$LR•IPV4•17『线路4』 #EXTINF:-1 tvg-id="Bloomberg" tvg-name="Bloomberg" group-title="港澳台",Bloomberg -https://liveprodusphoenixeast.akamaized.net/USPhx-HD/Channel-TX-USPhx-AWS-virginia-1/Source-USPhx-16k-1-s6lk2-BP-07-02-81ykIWnsMsg_live.m3u8$LR•IPV4•17『线路5』 +https://bloomberg.com/media-manifest/streams/eu-event.m3u8$LR•IPV4•17『线路5』 #EXTINF:-1 tvg-id="Bloomberg" tvg-name="Bloomberg" group-title="港澳台",Bloomberg -https://ciner.daioncdn.net/bloomberght/bloomberght.m3u8$LR•IPV4•17『线路6』 +https://bloomberg.com/media-manifest/streams/eu.m3u8$LR•IPV4•17『线路6』 #EXTINF:-1 tvg-id="Bloomberg" tvg-name="Bloomberg" group-title="港澳台",Bloomberg -http://23.237.104.106:8080/USA_BLOOMBERG/index.m3u8$LR•IPV4•17『线路7』 +https://cdn4.skygo.mn/live/disk1/BloombergMon/DASH-FTA/BloombergMon.mpd$LR•IPV4•17『线路7』 #EXTINF:-1 tvg-id="Bloomberg" tvg-name="Bloomberg" group-title="港澳台",Bloomberg -https://bloomberg.com/media-manifest/streams/aus.m3u8$LR•IPV4•17『线路8』 +https://bloomberg.com/media-manifest/streams/us-event.m3u8$LR•IPV4•17『线路8』 #EXTINF:-1 tvg-id="Bloomberg" tvg-name="Bloomberg" group-title="港澳台",Bloomberg -http://213.91.179.28:8000/play/a04m$LR•IPV4•17『线路9』 +https://bloomberg.com/media-manifest/streams/politics.m3u8$LR•IPV4•17『线路9』 #EXTINF:-1 tvg-id="Bloomberg" tvg-name="Bloomberg" group-title="港澳台",Bloomberg -https://bloomberg.com/media-manifest/streams/eu-event.m3u8$LR•IPV4•17『线路10』 +https://d8975dc3.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/U2Ftc3VuZy1nYl9CbG9vbWJlcmdUVlBsdXNfSExT/playlist.m3u8$LR•IPV4•17『线路10』 #EXTINF:-1 tvg-id="Bloomberg" tvg-name="Bloomberg" group-title="港澳台",Bloomberg -https://bloomberg.com/media-manifest/streams/eu.m3u8$LR•IPV4•17『线路11』 +https://86ebec83.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X0Jsb29tYmVyZ1RWUGx1c19ITFM/playlist.m3u8$LR•IPV4•17『线路11』 #EXTINF:-1 tvg-id="Bloomberg" tvg-name="Bloomberg" group-title="港澳台",Bloomberg -https://cdn4.skygo.mn/live/disk1/BloombergMon/DASH-FTA/BloombergMon.mpd$LR•IPV4•17『线路12』 +https://pe-ak-lp01a-9c9media.akamaized.net/live/News1BNNDigi/p/dash/00000001/1bba52dc66e4c68e/manifest.mpd$LR•IPV4•17『线路12』 #EXTINF:-1 tvg-id="Bloomberg" tvg-name="Bloomberg" group-title="港澳台",Bloomberg -https://bloomberg.com/media-manifest/streams/us-event.m3u8$LR•IPV4•17『线路13』 +https://epg.pw/stream/d2edf469b9079064a283f4b0811cbf6f2597ebbb3d08dcf77036a4b5a791b7cf.m3u8$LR•IPV4•17『线路13』 #EXTINF:-1 tvg-id="Bloomberg" tvg-name="Bloomberg" group-title="港澳台",Bloomberg -https://bloomberg.com/media-manifest/streams/politics.m3u8$LR•IPV4•17『线路14』 +https://bloomberg-bloombergtv-3-nl.samsung.wurl.tv/playlist.m3u8$LR•IPV4•17『线路14』 #EXTINF:-1 tvg-id="Bloomberg" tvg-name="Bloomberg" group-title="港澳台",Bloomberg -https://d8975dc3.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/U2Ftc3VuZy1nYl9CbG9vbWJlcmdUVlBsdXNfSExT/playlist.m3u8$LR•IPV4•17『线路15』 +https://bloomberg-bloombergtv-5-eu.plex.wurl.tv/3ea2c48ba0034cc276591c94a5b439c0.m3u8$LR•IPV4•17『线路15』 #EXTINF:-1 tvg-id="Bloomberg" tvg-name="Bloomberg" group-title="港澳台",Bloomberg -https://86ebec83.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X0Jsb29tYmVyZ1RWUGx1c19ITFM/playlist.m3u8$LR•IPV4•17『线路16』 +https://liveprodusphoenixeast.akamaized.net/USPhx-HD/Channel-TX-USPhx-AWS-virginia-1/Source-USPhx-16k-1-s6lk2-BP-07-02-81ykIWnsMsg_live.m3u8$LR•IPV4•17『线路16』 #EXTINF:-1 tvg-id="Bloomberg" tvg-name="Bloomberg" group-title="港澳台",Bloomberg -https://pe-ak-lp01a-9c9media.akamaized.net/live/News1BNNDigi/p/dash/00000001/1bba52dc66e4c68e/manifest.mpd$LR•IPV4•17『线路17』 +https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg01601-bloomberg-bloombergplus-hls-rakutenjp/playlist.m3u8$LR•IPV4•17『线路17』 #EXTINF:-1 tvg-id="CNBC" tvg-name="CNBC" group-title="港澳台",CNBC -http://fl2.moveonjoy.com/CNBC/index.m3u8$LR•IPV4•16『线路1』 +https://cdn4.skygo.mn/live/disk1/CNBC/DASH-FTA/CNBC.mpd$LR•IPV4•16『线路1』 #EXTINF:-1 tvg-id="CNBC" tvg-name="CNBC" group-title="港澳台",CNBC -https://cdn4.skygo.mn/live/disk1/CNBC/DASH-FTA/CNBC.mpd$LR•IPV4•16『线路2』 +https://jmp2.uk/plu-679a973a97782f0008ff4bb6.m3u8$LR•IPV4•16『线路2』 #EXTINF:-1 tvg-id="CNBC" tvg-name="CNBC" group-title="港澳台",CNBC -https://jmp2.uk/plu-679a973a97782f0008ff4bb6.m3u8$LR•IPV4•16『线路3』 +https://amg14891-amg14891c5-amgplt0020.playout.now3.amagi.tv/playlist.m3u8$LR•IPV4•16『线路3』 #EXTINF:-1 tvg-id="CNBC" tvg-name="CNBC" group-title="港澳台",CNBC -https://amg14891-amg14891c5-amgplt0020.playout.now3.amagi.tv/playlist.m3u8$LR•IPV4•16『线路4』 +http://40.160.24.52/CNBC/index.m3u8$LR•IPV4•16『线路4』 #EXTINF:-1 tvg-id="CNBC" tvg-name="CNBC" group-title="港澳台",CNBC -http://40.160.24.52/CNBC/index.m3u8$LR•IPV4•16『线路5』 +https://cnbc-live.akamaized.net/cnbc/master.m3u8$LR•IPV4•16『线路5』 #EXTINF:-1 tvg-id="CNBC" tvg-name="CNBC" group-title="港澳台",CNBC -https://cnbc-live.akamaized.net/cnbc/master.m3u8$LR•IPV4•16『线路6』 +https://liveh34.vtvprime.vn/hls/CNBC/03.m3u8$LR•IPV4•16『线路6』 #EXTINF:-1 tvg-id="CNBC" tvg-name="CNBC" group-title="港澳台",CNBC -https://liveh34.vtvprime.vn/hls/CNBC/03.m3u8$LR•IPV4•16『线路7』 +https://n18syndication.akamaized.net/bpk-tv/CNBC_Awaaz_NW18_MOB/output01/master.m3u8$LR•IPV4•16『线路7』 #EXTINF:-1 tvg-id="CNBC" tvg-name="CNBC" group-title="港澳台",CNBC -https://n18syndication.akamaized.net/bpk-tv/CNBC_Awaaz_NW18_MOB/output01/master.m3u8$LR•IPV4•16『线路8』 +https://n18syndication.akamaized.net/bpk-tv/CNBC_Bazaar_NW18_MOB/output01/master.m3u8$LR•IPV4•16『线路8』 #EXTINF:-1 tvg-id="CNBC" tvg-name="CNBC" group-title="港澳台",CNBC -https://n18syndication.akamaized.net/bpk-tv/CNBC_Bazaar_NW18_MOB/output01/master.m3u8$LR•IPV4•16『线路9』 +https://live.cnbcindonesia.com/livecnbc/smil:cnbctv.smil/master.m3u8$LR•IPV4•16『线路9』 #EXTINF:-1 tvg-id="CNBC" tvg-name="CNBC" group-title="港澳台",CNBC -https://live.cnbcindonesia.com/livecnbc/smil:cnbctv.smil/master.m3u8$LR•IPV4•16『线路10』 +https://n18syndication.akamaized.net/bpk-tv/CNBC_TV18_NW18_MOB/output01/index.m3u8$LR•IPV4•16『线路10』 #EXTINF:-1 tvg-id="CNBC" tvg-name="CNBC" group-title="港澳台",CNBC -https://n18syndication.akamaized.net/bpk-tv/CNBC_TV18_NW18_MOB/output01/index.m3u8$LR•IPV4•16『线路11』 +https://n18syndication.akamaized.net/bpk-tv/CNBC_Tv18_Prime_HD_NW18_MOB/output01/index.m3u8$LR•IPV4•16『线路11』 #EXTINF:-1 tvg-id="CNBC" tvg-name="CNBC" group-title="港澳台",CNBC -https://n18syndication.akamaized.net/bpk-tv/CNBC_Tv18_Prime_HD_NW18_MOB/output01/index.m3u8$LR•IPV4•16『线路12』 +http://206.212.244.63/42/index.m3u8$LR•IPV4•16『线路12』 #EXTINF:-1 tvg-id="CNBC" tvg-name="CNBC" group-title="港澳台",CNBC -http://206.212.244.63/42/index.m3u8$LR•IPV4•16『线路13』 +https://amg01079-nbcuuk-amg01079c2-samsung-gb-1258.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•16『线路13』 #EXTINF:-1 tvg-id="CNBC" tvg-name="CNBC" group-title="港澳台",CNBC -https://amg01079-nbcuuk-amg01079c2-samsung-gb-1258.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•16『线路14』 +https://cdn4.skygo.mn/live/disk1/CNBC/HLSv3-FTA/CNBC.m3u8$LR•IPV4•16『线路14』 #EXTINF:-1 tvg-id="CNBC" tvg-name="CNBC" group-title="港澳台",CNBC -https://cdn4.skygo.mn/live/disk1/CNBC/HLSv3-FTA/CNBC.m3u8$LR•IPV4•16『线路15』 +https://hnpsechtsc.turknet.ercdn.net/xpnvudnlsv/cnbc-e/cnbc-e.m3u8$LR•IPV4•16『线路15』 #EXTINF:-1 tvg-id="CNBC" tvg-name="CNBC" group-title="港澳台",CNBC -https://hnpsechtsc.turknet.ercdn.net/xpnvudnlsv/cnbc-e/cnbc-e.m3u8$LR•IPV4•16『线路16』 +http://fl2.moveonjoy.com/CNBC/index.m3u8$LR•IPV4•16『线路16』 #EXTINF:-1 tvg-id="TV8" tvg-name="TV8" group-title="港澳台",TV8 https://1740288887.rsc.cdn77.org/1740288887/index.m3u8$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="TV8" tvg-name="TV8" group-title="港澳台",TV8 @@ -9446,9 +9394,9 @@ http://91.146.94.234:10001/play/a03b$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="TV8" tvg-name="TV8" group-title="港澳台",TV8 http://315e5a5d.ottrast.com/iptv/8KSD5KFDXA6H88/2454/index.m3u8$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="ViuTV6" tvg-name="ViuTV6" group-title="港澳台",ViuTV6 -https://flv-play.clouda.com/live/viu6-D6pO0qnPgYtsKeTdGr82OSkWEl8zBX3XM1t9ch8UV6mBdTtdTak4E430rwZSou1PWPElll7qSdAUc6WQQb3M0gkb.flv$LR•IPV4•2『线路1』 +http://hls.168.us.kg/u/96/master.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="ViuTV6" tvg-name="ViuTV6" group-title="港澳台",ViuTV6 -http://hls.168.us.kg/u/96/master.m3u8$LR•IPV4•2『线路2』 +https://flv-play.clouda.com/live/viu6-D6pO0qnPgYtsKeTdGr82OSkWEl8zBX3XM1t9ch8UV6mBdTtdTak4E430rwZSou1PWPElll7qSdAUc6WQQb3M0gkb.flv$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="博斯高球1" tvg-name="博斯高球1" group-title="港澳台",博斯高球1 p3p://167.114.175.6:55331/626b4058000aaf3b55ebf11727dd34f5$LR•IPV4 #EXTINF:-1 tvg-id="博斯高球2" tvg-name="博斯高球2" group-title="港澳台",博斯高球2 @@ -9460,21 +9408,21 @@ http://23.237.10.66:16372$LR•IPV4 #EXTINF:-1 tvg-id="澳视澳门" tvg-name="澳视澳门" group-title="港澳台",澳视澳门 https://cdn6.163189.xyz/163189/asam$LR•IPV4•9『线路1』 #EXTINF:-1 tvg-id="澳视澳门" tvg-name="澳视澳门" group-title="港澳台",澳视澳门 -http://push.cdn1.hls123.de:8080/streams/2r8ba88ujh6/index.m3u8$LR•IPV4•9『线路2』 +http://php.jdshipin.com/TVOD/iptv.php?id=asam$LR•IPV4•9『线路2』 #EXTINF:-1 tvg-id="澳视澳门" tvg-name="澳视澳门" group-title="港澳台",澳视澳门 -http://php.jdshipin.com/TVOD/iptv.php?id=asam$LR•IPV4•9『线路3』 +http://php.jdshipin.com/PLTV/iptv.php?id=asam$LR•IPV4•9『线路3』 #EXTINF:-1 tvg-id="澳视澳门" tvg-name="澳视澳门" group-title="港澳台",澳视澳门 -http://php.jdshipin.com/PLTV/iptv.php?id=asam$LR•IPV4•9『线路4』 +http://1b6467f415.iok.la:9931/tsfile/live/1039_1.m3u8$LR•IPV4•9『线路4』 #EXTINF:-1 tvg-id="澳视澳门" tvg-name="澳视澳门" group-title="港澳台",澳视澳门 -http://1b6467f415.iok.la:9931/tsfile/live/1039_1.m3u8$LR•IPV4•9『线路5』 +http://61.244.22.5/ch1/ch1.live/playelist.m3u8$LR•IPV4•9『线路5』 #EXTINF:-1 tvg-id="澳视澳门" tvg-name="澳视澳门" group-title="港澳台",澳视澳门 -http://61.244.22.5/ch1/ch1.live/playelist.m3u8$LR•IPV4•9『线路6』 +http://grandprix2023.asuscomm.com:8891/bysid/91.m3u8$LR•IPV4•9『线路6』 #EXTINF:-1 tvg-id="澳视澳门" tvg-name="澳视澳门" group-title="港澳台",澳视澳门 -http://grandprix2023.asuscomm.com:8891/bysid/91.m3u8$LR•IPV4•9『线路7』 +http://103.233.191.134:1935/ch1/ch1.live/playlist.m3u8$LR•IPV4•9『线路7』 #EXTINF:-1 tvg-id="澳视澳门" tvg-name="澳视澳门" group-title="港澳台",澳视澳门 -http://103.233.191.134:1935/ch1/ch1.live/playlist.m3u8$LR•IPV4•9『线路8』 +http://43.251.226.89:8080/play/900.m3u8$LR•IPV4•9『线路8』 #EXTINF:-1 tvg-id="澳视澳门" tvg-name="澳视澳门" group-title="港澳台",澳视澳门 -http://43.251.226.89:8080/play/900.m3u8$LR•IPV4•9『线路9』 +http://push.cdn1.hls123.de:8080/streams/2r8ba88ujh6/index.m3u8$LR•IPV4•9『线路9』 #EXTINF:-1 tvg-id="TVB J1" tvg-name="TVB J1" group-title="港澳台",TVB J1 p3p://167.114.175.6:55331/63efe0de000858baf2402a646c573e1b$LR•IPV4 #EXTINF:-1 tvg-id="千禧经典" tvg-name="千禧经典" group-title="港澳台",千禧经典 @@ -9482,9 +9430,9 @@ http://cdn9.163189.xyz/smt3.1.1.php?id=Tvbclassic$LR•IPV4 #EXTINF:-1 tvg-id="MOMO TV" tvg-name="MOMO TV" group-title="港澳台",MOMO TV http://free.cnlive.club/channel/5fe8f622/index.m3u8?q=1752629214236$LR•IPV4 #EXTINF:-1 tvg-id="HOY78" tvg-name="HOY78" group-title="港澳台",HOY78 -http://cdn.163189.xyz/live/hoy/stream.m3u8$LR•IPV4•2『线路1』 +http://bziyunshao.synology.me:8891/bysid/78$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="HOY78" tvg-name="HOY78" group-title="港澳台",HOY78 -http://bziyunshao.synology.me:8891/bysid/78$LR•IPV4•2『线路2』 +http://cdn.163189.xyz/live/hoy/stream.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="ASTRO AOD" tvg-name="ASTRO AOD" group-title="港澳台",ASTRO AOD http://php.jdshipin.com/TVOD/iptv.php?id=aod$LR•IPV4 #EXTINF:-1 tvg-id="ELEVEN体育3" tvg-name="ELEVEN体育3" group-title="港澳台",ELEVEN体育3 @@ -9492,13 +9440,13 @@ https://smart.pendy.dpdns.org/Smart.php?id=eltasport3_twn$LR•IPV4 #EXTINF:-1 tvg-id="澳视卫星" tvg-name="澳视卫星" group-title="港澳台",澳视卫星 https://cdn6.163189.xyz/163189/as$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="澳视卫星" tvg-name="澳视卫星" group-title="港澳台",澳视卫星 -http://push.cdn1.hls123.de:8080/streams/gese9d57376/index.m3u8$LR•IPV4•5『线路2』 +http://php.jdshipin.com/TVOD/iptv.php?id=as$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="澳视卫星" tvg-name="澳视卫星" group-title="港澳台",澳视卫星 -http://php.jdshipin.com/TVOD/iptv.php?id=as$LR•IPV4•5『线路3』 +http://103.233.191.134:1935/ch3/ch3.live/playlist.m3u8$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="澳视卫星" tvg-name="澳视卫星" group-title="港澳台",澳视卫星 -http://103.233.191.134:1935/ch3/ch3.live/playlist.m3u8$LR•IPV4•5『线路4』 +http://43.251.226.89:8080/play/901.m3u8$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="澳视卫星" tvg-name="澳视卫星" group-title="港澳台",澳视卫星 -http://43.251.226.89:8080/play/901.m3u8$LR•IPV4•5『线路5』 +http://push.cdn1.hls123.de:8080/streams/gese9d57376/index.m3u8$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="八度空间" tvg-name="八度空间" group-title="港澳台",八度空间 https://cdn6.163189.xyz/163189/8tv$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="八度空间" tvg-name="八度空间" group-title="港澳台",八度空间 @@ -9522,9 +9470,9 @@ http://cdn6.163189.xyz/163189/amty$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="澳门体育" tvg-name="澳门体育" group-title="港澳台",澳门体育 http://43.251.226.89:8080/play/902.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="澳门综艺" tvg-name="澳门综艺" group-title="港澳台",澳门综艺 -http://cdn6.163189.xyz/163189/amzy$LR•IPV4•2『线路1』 +http://43.251.226.89:8080/play/903.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="澳门综艺" tvg-name="澳门综艺" group-title="港澳台",澳门综艺 -http://43.251.226.89:8080/play/903.m3u8$LR•IPV4•2『线路2』 +http://cdn6.163189.xyz/163189/amzy$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="NU2" tvg-name="NU2" group-title="港澳台",NU2 https://raw.githubusercontent.com/ChiSheng9/iptv/master/TV14.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="华视" tvg-name="华视" group-title="港澳台",华视HD @@ -9536,33 +9484,33 @@ p3p://167.114.175.6:55331/643a6b71000a47fb156c2a403510409b$LR•IPV4•2『线 #EXTINF:-1 tvg-id="ABC NEWS" tvg-name="ABC NEWS" group-title="YouTube",ABC NEWS https://d4ybyqrhce41r.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-xumo-linear-nbcu-hlsv3/master.m3u8?ads.channelId=99991626$LR•IPV4•15『线路1』 #EXTINF:-1 tvg-id="ABC NEWS" tvg-name="ABC NEWS" group-title="YouTube",ABC NEWS -https://stream1.freetv.fun/abc-news-australia-1.m3u8$LR•IPV4•15『线路2』 +https://abc-news-dmd-streams-1.akamaized.net/out/v1/701126012d044971b3fa89406a440133/index.m3u8$LR•IPV4•15『线路2』 #EXTINF:-1 tvg-id="ABC NEWS" tvg-name="ABC NEWS" group-title="YouTube",ABC NEWS -https://stream1.freetv.fun/abc-news-australia-2.ctv$LR•IPV4•15『线路3』 +https://pb-0n3n2ej0w8pl9.akamaized.net/ABCNewsLive_Disney.m3u8$LR•IPV4•15『线路3』 #EXTINF:-1 tvg-id="ABC NEWS" tvg-name="ABC NEWS" group-title="YouTube",ABC NEWS -https://abc-news-dmd-streams-1.akamaized.net/out/v1/701126012d044971b3fa89406a440133/index.m3u8$LR•IPV4•15『线路4』 +https://abcnews-streams.akamaized.net/hls/live/2023560/abcnewshudson1/master.m3u8$LR•IPV4•15『线路4』 #EXTINF:-1 tvg-id="ABC NEWS" tvg-name="ABC NEWS" group-title="YouTube",ABC NEWS -https://pb-0n3n2ej0w8pl9.akamaized.net/ABCNewsLive_Disney.m3u8$LR•IPV4•15『线路5』 +https://abcnews-streams.akamaized.net/hls/live/2023561/abcnewshudson2/master.m3u8$LR•IPV4•15『线路5』 #EXTINF:-1 tvg-id="ABC NEWS" tvg-name="ABC NEWS" group-title="YouTube",ABC NEWS -https://abcnews-streams.akamaized.net/hls/live/2023560/abcnewshudson1/master.m3u8$LR•IPV4•15『线路6』 +https://abcnews-streams.akamaized.net/hls/live/2023562/abcnewshudson3/master.m3u8$LR•IPV4•15『线路6』 #EXTINF:-1 tvg-id="ABC NEWS" tvg-name="ABC NEWS" group-title="YouTube",ABC NEWS -https://abcnews-streams.akamaized.net/hls/live/2023561/abcnewshudson2/master.m3u8$LR•IPV4•15『线路7』 +https://abcnews-streams.akamaized.net/hls/live/2023563/abcnewshudson4/master.m3u8$LR•IPV4•15『线路7』 #EXTINF:-1 tvg-id="ABC NEWS" tvg-name="ABC NEWS" group-title="YouTube",ABC NEWS -https://abcnews-streams.akamaized.net/hls/live/2023562/abcnewshudson3/master.m3u8$LR•IPV4•15『线路8』 +https://abcnews-streams.akamaized.net/hls/live/2023564/abcnewshudson5/master.m3u8$LR•IPV4•15『线路8』 #EXTINF:-1 tvg-id="ABC NEWS" tvg-name="ABC NEWS" group-title="YouTube",ABC NEWS -https://abcnews-streams.akamaized.net/hls/live/2023563/abcnewshudson4/master.m3u8$LR•IPV4•15『线路9』 +https://abcnews-streams.akamaized.net/hls/live/2023565/abcnewshudson6/master.m3u8$LR•IPV4•15『线路9』 #EXTINF:-1 tvg-id="ABC NEWS" tvg-name="ABC NEWS" group-title="YouTube",ABC NEWS -https://abcnews-streams.akamaized.net/hls/live/2023564/abcnewshudson5/master.m3u8$LR•IPV4•15『线路10』 +https://abcnews-streams.akamaized.net/hls/live/2023566/abcnewshudson7/master.m3u8$LR•IPV4•15『线路10』 #EXTINF:-1 tvg-id="ABC NEWS" tvg-name="ABC NEWS" group-title="YouTube",ABC NEWS -https://abcnews-streams.akamaized.net/hls/live/2023565/abcnewshudson6/master.m3u8$LR•IPV4•15『线路11』 +https://abcnews-streams.akamaized.net/hls/live/2023567/abcnewshudson8/master.m3u8$LR•IPV4•15『线路11』 #EXTINF:-1 tvg-id="ABC NEWS" tvg-name="ABC NEWS" group-title="YouTube",ABC NEWS -https://abcnews-streams.akamaized.net/hls/live/2023566/abcnewshudson7/master.m3u8$LR•IPV4•15『线路12』 +https://abcnews-streams.akamaized.net/hls/live/2023568/abcnewshudson9/master.m3u8$LR•IPV4•15『线路12』 #EXTINF:-1 tvg-id="ABC NEWS" tvg-name="ABC NEWS" group-title="YouTube",ABC NEWS -https://abcnews-streams.akamaized.net/hls/live/2023567/abcnewshudson8/master.m3u8$LR•IPV4•15『线路13』 +https://abcnews-streams.akamaized.net/hls/live/2023569/abcnewshudson10/master.m3u8$LR•IPV4•15『线路13』 #EXTINF:-1 tvg-id="ABC NEWS" tvg-name="ABC NEWS" group-title="YouTube",ABC NEWS -https://abcnews-streams.akamaized.net/hls/live/2023568/abcnewshudson9/master.m3u8$LR•IPV4•15『线路14』 +https://stream1.freetv.fun/abc-news-australia-1.m3u8$LR•IPV4•15『线路14』 #EXTINF:-1 tvg-id="ABC NEWS" tvg-name="ABC NEWS" group-title="YouTube",ABC NEWS -https://abcnews-streams.akamaized.net/hls/live/2023569/abcnewshudson10/master.m3u8$LR•IPV4•15『线路15』 +https://stream1.freetv.fun/abc-news-australia-2.ctv$LR•IPV4•15『线路15』 #EXTINF:-1 tvg-id="大爱" tvg-name="大爱" group-title="YouTube",大爱 https://pulltv3.wanfudaluye.com/live/tv3.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="INDIA TODAY" tvg-name="INDIA TODAY" group-title="YouTube",INDIA TODAY diff --git a/tvbox/lib/iptv.txt b/tvbox/lib/iptv.txt index bd23350a..f6d9af53 100755 --- a/tvbox/lib/iptv.txt +++ b/tvbox/lib/iptv.txt @@ -3,12 +3,12 @@ 东方卫视4K,http://bp-resource-dfl.bestv.cn/148/3/video.m3u8$LR•IPV4•2『线路1』 东方卫视4K,http://43.251.226.89:8080/play/926.m3u8$LR•IPV4•2『线路2』 湖南卫视4K,http://8.138.7.223/tv/api.php?id=hnws4k$LR•IPV4•4『线路1』 -湖南卫视4K,http://hlsal-ldvt.qing.mgtv.com/nn_live/nn_x64/dWlwPTEyNy4wLjAuMSZ1aWQ9cWluZy1jbXMmbm5fdGltZXpvbmU9OCZjZG5leF9pZD1hbF9obHNfbGR2dCZ1dWlkPTliODY4NmU5ZTM2YzYwMmMmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNWSZGST.m3u8$LR•IPV4•4『线路2』 -湖南卫视4K,http://43.251.226.89:8080/play/920.m3u8$LR•IPV4•4『线路3』 -湖南卫视4K,http://43.251.226.89:8080/play/921.m3u8$LR•IPV4•4『线路4』 -浙江卫视4K,https://play-qukan.cztv.com/live/1758879019692345.m3u8$LR•IPV4•3『线路1』 -浙江卫视4K,http://43.251.226.89:8080/play/922.m3u8$LR•IPV4•3『线路2』 -浙江卫视4K,http://43.251.226.89:8080/play/923.m3u8$LR•IPV4•3『线路3』 +湖南卫视4K,http://43.251.226.89:8080/play/920.m3u8$LR•IPV4•4『线路2』 +湖南卫视4K,http://43.251.226.89:8080/play/921.m3u8$LR•IPV4•4『线路3』 +湖南卫视4K,http://hlsal-ldvt.qing.mgtv.com/nn_live/nn_x64/dWlwPTEyNy4wLjAuMSZ1aWQ9cWluZy1jbXMmbm5fdGltZXpvbmU9OCZjZG5leF9pZD1hbF9obHNfbGR2dCZ1dWlkPTliODY4NmU5ZTM2YzYwMmMmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNWSZGST.m3u8$LR•IPV4•4『线路4』 +浙江卫视4K,http://43.251.226.89:8080/play/922.m3u8$LR•IPV4•3『线路1』 +浙江卫视4K,http://43.251.226.89:8080/play/923.m3u8$LR•IPV4•3『线路2』 +浙江卫视4K,https://play-qukan.cztv.com/live/1758879019692345.m3u8$LR•IPV4•3『线路3』 江苏卫视4K,http://8.138.7.223/tv/jsws4k.php$LR•IPV4•3『线路1』 江苏卫视4K,http://43.251.226.89:8080/play/924.m3u8$LR•IPV4•3『线路2』 江苏卫视4K,http://43.251.226.89:8080/play/925.m3u8$LR•IPV4•3『线路3』 @@ -35,13 +35,13 @@ 北京卫视4K,http://101.35.240.114:88/live.php?id=北京卫视$LR•IPV4•5『线路4』 北京卫视4K,http://106.53.99.30/tv/api.php?id=bjws4k$LR•IPV4•5『线路5』 CCTV4K,http://vip1.xinketongxun.fun:8082/tsfile/live/1026_1.m3u8$LR•IPV4•10『线路1』 -CCTV4K,http://www.520345.xyz:8188/rtp/239.69.1.111:10304?$LR•IPV4•10『线路2』 -CCTV4K,http://home.amucn.net:8800/udp/239.49.0.82:8000$LR•IPV4•10『线路3』 -CCTV4K,http://101.43.145.141:12002/gaoma/cctv4k.m3u8$LR•IPV4•10『线路4』 -CCTV4K,https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4k_mbd.m3u8?auth_key=1783958400-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-806d2480e0495252f55416171c6e0333&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•10『线路5』 -CCTV4K,http://192.151.150.154/live/cctv4k.m3u8$LR•IPV4•10『线路6』 -CCTV4K,http://173.208.212.130:8181/720p/cctv4k.m3u8$LR•IPV4•10『线路7』 -CCTV4K,http://198.204.240.250:82/live/cctv4k.m3u8$LR•IPV4•10『线路8』 +CCTV4K,http://101.43.145.141:12002/gaoma/cctv4k.m3u8$LR•IPV4•10『线路2』 +CCTV4K,http://www.520345.xyz:8188/rtp/239.69.1.111:10304?$LR•IPV4•10『线路3』 +CCTV4K,http://home.amucn.net:8800/udp/239.49.0.82:8000$LR•IPV4•10『线路4』 +CCTV4K,http://198.204.240.250:82/live/cctv4k.m3u8$LR•IPV4•10『线路5』 +CCTV4K,https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4k_mbd.m3u8?auth_key=1783958400-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-806d2480e0495252f55416171c6e0333&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•10『线路6』 +CCTV4K,http://192.151.150.154/live/cctv4k.m3u8$LR•IPV4•10『线路7』 +CCTV4K,http://173.208.212.130:8181/720p/cctv4k.m3u8$LR•IPV4•10『线路8』 CCTV4K,http://fn.tmde.top:35455/nptv/cctv4k.m3u8$LR•IPV4•10『线路9』 CCTV4K,http://xc.mfykeke.top:35455/nptv/cctv4k.m3u8$LR•IPV4•10『线路10』 @@ -58,50 +58,50 @@ CCTV1,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=cctv1hd$LR•IPV4•25『线 CCTV1,http://play.kankanlive.com/live/1698234869325962.m3u8$LR•IPV4•25『线路2』 CCTV1,http://153.0.171.163:9901/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•25『线路3』 CCTV1,http://74.91.26.218:82/live/cctv1hd.m3u8$LR•IPV4•25『线路4』 -CCTV1,http://60.10.139.113:8801/hls/1/index.m3u8$LR•IPV4•25『线路5』 -CCTV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000004000002226&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路6』 -CCTV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000030810&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路7』 -CCTV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000018602&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路8』 -CCTV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000021973&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路9』 -CCTV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265001&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路10』 -CCTV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=reallive-cctv1&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路11』 -CCTV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000004953&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路12』 -CCTV1,http://111.29.9.35:6610/000000001000/1000000001000018602/index.m3u8?channel-id=ystenlive&Contentid=1000000001000018602&livemode=1&stbId=3$LR•IPV4•25『线路13』 -CCTV1,http://111.29.9.33:6610/000000001000/1000000001000021973/index.m3u8?channel-id=bestzb&Contentid=1000000001000021973&livemode=1&stbId=3$LR•IPV4•25『线路14』 -CCTV1,http://38.75.136.137:98/gslb/dsdqbv/cctv1hd.m3u8?auth=test20251009$LR•IPV4•25『线路15』 -CCTV1,http://112.46.105.20:8009/hls/501/index.m3u8$LR•IPV4•25『线路16』 -CCTV1,http://php.jdshipin.com/TVOD/iptv.php?id=rthk33$LR•IPV4•25『线路17』 -CCTV1,https://rthktv33-live.akamaized.net/hls/live/2101641/RTHKTV33/stream04/streamPlaylist.m3u8$LR•IPV4•25『线路18』 -CCTV1,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226895/1.m3u8?$LR•IPV6•25『线路19』 -CCTV1,http://207.56.13.146:81/cdnlive/cctv1.m3u8$LR•IPV4•25『线路20』 -CCTV1,http://192.151.150.154/live/cctv1hd.m3u8$LR•IPV4•25『线路21』 -CCTV1,http://173.208.212.130:8181/1080p/cctv1.m3u8$LR•IPV4•25『线路22』 -CCTV1,http://173.208.212.130:8181/720p/cctv1.m3u8$LR•IPV4•25『线路23』 -CCTV1,http://204.12.221.218:8181/3m1080p/cctv1.m3u8$LR•IPV4•25『线路24』 -CCTV1,http://69.30.245.50/live/cctv1.m3u8$LR•IPV4•25『线路25』 +CCTV1,http://38.75.136.137:98/gslb/dsdqbv/cctv1hd.m3u8?auth=test20251009$LR•IPV4•25『线路5』 +CCTV1,http://112.46.105.20:8009/hls/501/index.m3u8$LR•IPV4•25『线路6』 +CCTV1,http://php.jdshipin.com/TVOD/iptv.php?id=rthk33$LR•IPV4•25『线路7』 +CCTV1,https://rthktv33-live.akamaized.net/hls/live/2101641/RTHKTV33/stream04/streamPlaylist.m3u8$LR•IPV4•25『线路8』 +CCTV1,http://60.10.139.113:8801/hls/1/index.m3u8$LR•IPV4•25『线路9』 +CCTV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000004000002226&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路10』 +CCTV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000030810&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路11』 +CCTV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000018602&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路12』 +CCTV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000021973&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路13』 +CCTV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265001&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路14』 +CCTV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=reallive-cctv1&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路15』 +CCTV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000004953&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路16』 +CCTV1,http://111.29.9.35:6610/000000001000/1000000001000018602/index.m3u8?channel-id=ystenlive&Contentid=1000000001000018602&livemode=1&stbId=3$LR•IPV4•25『线路17』 +CCTV1,http://111.29.9.33:6610/000000001000/1000000001000021973/index.m3u8?channel-id=bestzb&Contentid=1000000001000021973&livemode=1&stbId=3$LR•IPV4•25『线路18』 +CCTV1,http://69.30.245.50/live/cctv1.m3u8$LR•IPV4•25『线路19』 +CCTV1,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226895/1.m3u8?$LR•IPV6•25『线路20』 +CCTV1,http://207.56.13.146:81/cdnlive/cctv1.m3u8$LR•IPV4•25『线路21』 +CCTV1,http://192.151.150.154/live/cctv1hd.m3u8$LR•IPV4•25『线路22』 +CCTV1,http://173.208.212.130:8181/1080p/cctv1.m3u8$LR•IPV4•25『线路23』 +CCTV1,http://173.208.212.130:8181/720p/cctv1.m3u8$LR•IPV4•25『线路24』 +CCTV1,http://204.12.221.218:8181/3m1080p/cctv1.m3u8$LR•IPV4•25『线路25』 CCTV2,http://112.123.243.37:50085/tsfile/live/0002_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•26『线路1』 CCTV2,http://222.169.85.8:9901/tsfile/live/0002_1.m3u8$LR•IPV4•26『线路2』 CCTV2,http://120.202.94.181:9446/tsfile/live/0002_1.m3u8?key=txiptv$LR•IPV4•26『线路3』 CCTV2,http://207.56.13.146:81/cdnlive/cctv2.m3u8$LR•IPV4•26『线路4』 CCTV2,http://112.27.235.94:8000/hls/2/index.m3u8$LR•IPV4•26『线路5』 -CCTV2,http://60.10.139.113:8801/hls/2/index.m3u8$LR•IPV4•26『线路6』 -CCTV2,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000031113&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路7』 -CCTV2,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031101&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路8』 -CCTV2,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000012442&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路9』 -CCTV2,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000023315&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路10』 -CCTV2,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265002&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路11』 -CCTV2,http://111.29.9.34:6610/000000001000/1000000001000012442/index.m3u8?channel-id=ystenlive&Contentid=1000000001000012442&livemode=1&stbId=3$LR•IPV4•26『线路12』 -CCTV2,http://111.29.9.33:6610/000000001000/1000000001000012442/index.m3u8?channel-id=bestzb&Contentid=1000000001000012442&livemode=1&stbId=3$LR•IPV4•26『线路13』 -CCTV2,http://pull-hls-f11.douyincdn.com/media/stream-407062262674621100.m3u8?arch_hrchy=w1&exp_hrchy=w1&expire=1771769775&major_anchor_level=common&sign=98406f42e949db5477a402c85cbee007&t_id=037-20260215221614EEA56BB994BB42D25308-a6AVAz$LR•IPV4•26『线路14』 -CCTV2,http://38.75.136.137:98/gslb/dsdqbv/cctv2hd.m3u8?auth=test20251009$LR•IPV4•26『线路15』 -CCTV2,http://112.46.105.20:8009/hls/502/index.m3u8$LR•IPV4•26『线路16』 -CCTV2,http://153.0.171.163:9901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路17』 -CCTV2,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226893/1.m3u8?$LR•IPV6•26『线路18』 +CCTV2,http://pull-hls-f11.douyincdn.com/media/stream-407062262674621100.m3u8?arch_hrchy=w1&exp_hrchy=w1&expire=1771769775&major_anchor_level=common&sign=98406f42e949db5477a402c85cbee007&t_id=037-20260215221614EEA56BB994BB42D25308-a6AVAz$LR•IPV4•26『线路6』 +CCTV2,http://38.75.136.137:98/gslb/dsdqbv/cctv2hd.m3u8?auth=test20251009$LR•IPV4•26『线路7』 +CCTV2,http://112.46.105.20:8009/hls/502/index.m3u8$LR•IPV4•26『线路8』 +CCTV2,http://153.0.171.163:9901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路9』 +CCTV2,http://60.10.139.113:8801/hls/2/index.m3u8$LR•IPV4•26『线路10』 +CCTV2,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000031113&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路11』 +CCTV2,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031101&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路12』 +CCTV2,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000012442&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路13』 +CCTV2,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000023315&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路14』 +CCTV2,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265002&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路15』 +CCTV2,http://111.29.9.34:6610/000000001000/1000000001000012442/index.m3u8?channel-id=ystenlive&Contentid=1000000001000012442&livemode=1&stbId=3$LR•IPV4•26『线路16』 +CCTV2,http://111.29.9.33:6610/000000001000/1000000001000012442/index.m3u8?channel-id=bestzb&Contentid=1000000001000012442&livemode=1&stbId=3$LR•IPV4•26『线路17』 +CCTV2,http://74.91.26.218:82/live/cctv2hd.m3u8$LR•IPV4•26『线路18』 CCTV2,http://222.169.85.8:9901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路19』 CCTV2,http://116.128.243.121:85/tsfile/live/0002_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•26『线路20』 CCTV2,http://222.223.41.27:8888/hls/2/index.m3u8$LR•IPV4•26『线路21』 CCTV2,http://173.208.212.130:8181/720p/cctv2.m3u8$LR•IPV4•26『线路22』 -CCTV2,http://74.91.26.218:82/live/cctv2hd.m3u8$LR•IPV4•26『线路23』 +CCTV2,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226893/1.m3u8?$LR•IPV6•26『线路23』 CCTV2,http://192.151.150.154/live/cctv2hd.m3u8$LR•IPV4•26『线路24』 CCTV2,http://173.208.212.130:8181/1080p/cctv2.m3u8$LR•IPV4•26『线路25』 CCTV2,http://204.12.221.218:8181/3m1080p/cctv2.m3u8$LR•IPV4•26『线路26』 @@ -110,56 +110,57 @@ CCTV3,http://153.0.171.163:9901/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&au CCTV3,http://222.223.41.27:8888/hls/3/index.m3u8$LR•IPV4•19『线路3』 CCTV3,http://121.57.88.206:898/hls/3/index.m3u8$LR•IPV4•19『线路4』 CCTV3,http://74.91.26.218:82/live/cctv3hd.m3u8$LR•IPV4•19『线路5』 -CCTV3,http://60.10.139.113:8801/hls/3/index.m3u8$LR•IPV4•19『线路6』 -CCTV3,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000002000020548&livemode=1&stbId=yu&mode=1&$LR•IPV4•19『线路7』 -CCTV3,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000011218&livemode=1&stbId=yu&mode=1&$LR•IPV4•19『线路8』 -CCTV3,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265003&livemode=1&stbId=yu&mode=1&$LR•IPV4•19『线路9』 -CCTV3,http://111.29.9.38:6610/000000001000/1000000001000011218/index.m3u8?channel-id=ystenlive&Contentid=1000000001000011218&livemode=1&stbId=3$LR•IPV4•19『线路10』 -CCTV3,http://111.29.9.33:6610/000000001000/1000000001000011218/index.m3u8?channel-id=bestzb&Contentid=1000000001000011218&livemode=1&stbId=3$LR•IPV4•19『线路11』 -CCTV3,http://38.75.136.137:98/gslb/dsdqbv/cctv3hd.m3u8?auth=test20251009$LR•IPV4•19『线路12』 -CCTV3,http://112.46.105.20:8009/hls/3/index.m3u8$LR•IPV4•19『线路13』 -CCTV3,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226471/1.m3u8?$LR•IPV6•19『线路14』 -CCTV3,http://207.56.13.146:81/cdnlive/cctv3.m3u8$LR•IPV4•19『线路15』 +CCTV3,http://38.75.136.137:98/gslb/dsdqbv/cctv3hd.m3u8?auth=test20251009$LR•IPV4•19『线路6』 +CCTV3,http://112.46.105.20:8009/hls/3/index.m3u8$LR•IPV4•19『线路7』 +CCTV3,http://60.10.139.113:8801/hls/3/index.m3u8$LR•IPV4•19『线路8』 +CCTV3,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000002000020548&livemode=1&stbId=yu&mode=1&$LR•IPV4•19『线路9』 +CCTV3,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000011218&livemode=1&stbId=yu&mode=1&$LR•IPV4•19『线路10』 +CCTV3,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265003&livemode=1&stbId=yu&mode=1&$LR•IPV4•19『线路11』 +CCTV3,http://111.29.9.38:6610/000000001000/1000000001000011218/index.m3u8?channel-id=ystenlive&Contentid=1000000001000011218&livemode=1&stbId=3$LR•IPV4•19『线路12』 +CCTV3,http://111.29.9.33:6610/000000001000/1000000001000011218/index.m3u8?channel-id=bestzb&Contentid=1000000001000011218&livemode=1&stbId=3$LR•IPV4•19『线路13』 +CCTV3,http://207.56.13.146:81/cdnlive/cctv3.m3u8$LR•IPV4•19『线路14』 +CCTV3,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226471/1.m3u8?$LR•IPV6•19『线路15』 CCTV3,http://192.151.150.154/live/cctv3hd.m3u8$LR•IPV4•19『线路16』 CCTV3,http://173.208.212.130:8181/1080p/cctv3.m3u8$LR•IPV4•19『线路17』 CCTV3,http://173.208.212.130:8181/720p/cctv3.m3u8$LR•IPV4•19『线路18』 CCTV3,http://204.12.221.218:8181/3m1080p/cctv3.m3u8$LR•IPV4•19『线路19』 -CCTV4,https://global.cgtn.cicc.media.caton.cloud/master/cgtn-america.m3u8$LR•IPV4•23『线路1』 -CCTV4,http://60.10.139.113:8801/hls/4/index.m3u8$LR•IPV4•23『线路2』 -CCTV4,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000030093&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路3』 -CCTV4,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031102&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路4』 -CCTV4,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000031664&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路5』 -CCTV4,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265004&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路6』 -CCTV4,http://111.29.9.40:6610/000000001000/5000000005000030093/index.m3u8?channel-id=bestzb&Contentid=5000000005000030093&livemode=1&stbId=3$LR•IPV4•23『线路7』 -CCTV4,http://111.29.9.33:6610/000000001000/1000000002000031664/index.m3u8?channel-id=bestzb&Contentid=1000000002000031664&livemode=1&stbId=3$LR•IPV4•23『线路8』 -CCTV4,http://74.91.26.218:82/live/cctv4hd.m3u8$LR•IPV4•23『线路9』 -CCTV4,http://38.75.136.137:98/gslb/dsdqbv/cctv4hd.m3u8?auth=test20251009$LR•IPV4•23『线路10』 -CCTV4,http://112.46.105.20:8009/hls/4/index.m3u8$LR•IPV4•23『线路11』 -CCTV4,http://153.0.171.163:9901/tsfile/live/0004_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路12』 -CCTV4,p3p://167.114.175.6:55331/61244d9c0006885d64b1b7591f6c12a0$LR•IPV4•23『线路13』 -CCTV4,https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783958400-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-959a72eda110cbf62c6253396fd9bd72&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•23『线路14』 -CCTV4,https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783926000-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-3a5ada4e3e78e41f69387ee0c7a77164&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•23『线路15』 -CCTV4,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226335/1.m3u8?$LR•IPV6•23『线路16』 -CCTV4,http://222.223.41.27:8888/hls/4/index.m3u8$LR•IPV4•23『线路17』 -CCTV4,http://207.56.13.146:81/cdnlive/cctv4.m3u8$LR•IPV4•23『线路18』 -CCTV4,http://192.151.150.154/live/cctv4hd.m3u8$LR•IPV4•23『线路19』 -CCTV4,http://173.208.212.130:8181/1080p/cctv4.m3u8$LR•IPV4•23『线路20』 -CCTV4,http://173.208.212.130:8181/720p/cctv4.m3u8$LR•IPV4•23『线路21』 -CCTV4,http://204.12.221.218:8181/3m1080p/cctv4.m3u8$LR•IPV4•23『线路22』 -CCTV4,https://dash2.antik.sk/live/test_cctv_tizen/playlist.m3u8$LR•IPV4•23『线路23』 +CCTV4,https://global.cgtn.cicc.media.caton.cloud/master/cgtn-america.m3u8$LR•IPV4•24『线路1』 +CCTV4,http://74.91.26.218:82/live/cctv4hd.m3u8$LR•IPV4•24『线路2』 +CCTV4,http://38.75.136.137:98/gslb/dsdqbv/cctv4hd.m3u8?auth=test20251009$LR•IPV4•24『线路3』 +CCTV4,http://112.46.105.20:8009/hls/4/index.m3u8$LR•IPV4•24『线路4』 +CCTV4,http://153.0.171.163:9901/tsfile/live/0004_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路5』 +CCTV4,p3p://167.114.175.6:55331/61244d9c0006885d64b1b7591f6c12a0$LR•IPV4•24『线路6』 +CCTV4,http://60.10.139.113:8801/hls/4/index.m3u8$LR•IPV4•24『线路7』 +CCTV4,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000030093&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路8』 +CCTV4,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031102&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路9』 +CCTV4,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000031664&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路10』 +CCTV4,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265004&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路11』 +CCTV4,http://111.29.9.40:6610/000000001000/5000000005000030093/index.m3u8?channel-id=bestzb&Contentid=5000000005000030093&livemode=1&stbId=3$LR•IPV4•24『线路12』 +CCTV4,http://111.29.9.33:6610/000000001000/1000000002000031664/index.m3u8?channel-id=bestzb&Contentid=1000000002000031664&livemode=1&stbId=3$LR•IPV4•24『线路13』 +CCTV4,https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783972800-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-35eb8d7bdbf4e05db7dad569de4a488f&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•24『线路14』 +CCTV4,https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783926000-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-3a5ada4e3e78e41f69387ee0c7a77164&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•24『线路15』 +CCTV4,https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783958400-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-959a72eda110cbf62c6253396fd9bd72&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•24『线路16』 +CCTV4,https://dash2.antik.sk/live/test_cctv_tizen/playlist.m3u8$LR•IPV4•24『线路17』 +CCTV4,http://222.223.41.27:8888/hls/4/index.m3u8$LR•IPV4•24『线路18』 +CCTV4,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226335/1.m3u8?$LR•IPV6•24『线路19』 +CCTV4,http://207.56.13.146:81/cdnlive/cctv4.m3u8$LR•IPV4•24『线路20』 +CCTV4,http://192.151.150.154/live/cctv4hd.m3u8$LR•IPV4•24『线路21』 +CCTV4,http://173.208.212.130:8181/1080p/cctv4.m3u8$LR•IPV4•24『线路22』 +CCTV4,http://173.208.212.130:8181/720p/cctv4.m3u8$LR•IPV4•24『线路23』 +CCTV4,http://204.12.221.218:8181/3m1080p/cctv4.m3u8$LR•IPV4•24『线路24』 CCTV5,http://1.24.39.180:9003/hls/5/index.m3u8$LR•IPV4•29『线路1』 CCTV5,http://153.0.171.163:9901/tsfile/live/0005_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•29『线路2』 CCTV5,http://112.27.235.94:8000/hls/5/index.m3u8$LR•IPV4•29『线路3』 -CCTV5,http://60.10.139.113:8801/hls/5/index.m3u8$LR•IPV4•29『线路4』 -CCTV5,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000016619&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路5』 -CCTV5,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000004794&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路6』 -CCTV5,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265005&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路7』 -CCTV5,http://111.29.9.33:6610/000000001000/1000000001000004794/index.m3u8?channel-id=bestzb&Contentid=1000000001000004794&livemode=1&stbId=3$LR•IPV4•29『线路8』 -CCTV5,http://74.91.26.218:82/live/cctv5hd.m3u8$LR•IPV4•29『线路9』 -CCTV5,http://38.75.136.137:98/gslb/dsdqbv/cctv5hd.m3u8?auth=test20251009$LR•IPV4•29『线路10』 -CCTV5,http://112.46.105.20:8009/hls/503/index.m3u8$LR•IPV4•29『线路11』 -CCTV5,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226469/1.m3u8?$LR•IPV6•29『线路12』 -CCTV5,http://222.223.41.27:8888/hls/5/index.m3u8$LR•IPV4•29『线路13』 +CCTV5,http://74.91.26.218:82/live/cctv5hd.m3u8$LR•IPV4•29『线路4』 +CCTV5,http://38.75.136.137:98/gslb/dsdqbv/cctv5hd.m3u8?auth=test20251009$LR•IPV4•29『线路5』 +CCTV5,http://112.46.105.20:8009/hls/503/index.m3u8$LR•IPV4•29『线路6』 +CCTV5,http://60.10.139.113:8801/hls/5/index.m3u8$LR•IPV4•29『线路7』 +CCTV5,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000016619&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路8』 +CCTV5,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000004794&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路9』 +CCTV5,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265005&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路10』 +CCTV5,http://111.29.9.33:6610/000000001000/1000000001000004794/index.m3u8?channel-id=bestzb&Contentid=1000000001000004794&livemode=1&stbId=3$LR•IPV4•29『线路11』 +CCTV5,http://222.223.41.27:8888/hls/5/index.m3u8$LR•IPV4•29『线路12』 +CCTV5,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226469/1.m3u8?$LR•IPV6•29『线路13』 CCTV5,http://207.56.13.146:81/cdnlive/cctv5.m3u8$LR•IPV4•29『线路14』 CCTV5,http://192.151.150.154/live/cctv5hd.m3u8$LR•IPV4•29『线路15』 CCTV5,http://173.208.212.130:8181/1080p/cctv5.m3u8$LR•IPV4•29『线路16』 @@ -168,12 +169,12 @@ CCTV5,http://204.12.221.218:8181/3m1080p/cctv5.m3u8$LR•IPV4•29『线路18』 CCTV5,http://60.10.139.113:8801/hls/15/index.m3u8$LR•IPV4•29『线路19』 CCTV5,http://112.27.235.94:8000/hls/6/index.m3u8$LR•IPV4•29『线路20』 CCTV5,http://112.123.243.37:50085/tsfile/live/0006_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•29『线路21』 -CCTV5,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000018504&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路22』 -CCTV5,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000020505&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路23』 -CCTV5,http://223.112.114.228:50080/newlive/live/hls/180/live.m3u8$LR•IPV4•29『线路24』 -CCTV5,http://111.29.9.33:6610/000000001000/1000000001000020505/index.m3u8?channel-id=bestzb&Contentid=1000000001000020505&livemode=1&stbId=3$LR•IPV4•29『线路25』 -CCTV5,http://74.91.26.218:82/live/cctv5p.m3u8$LR•IPV4•29『线路26』 -CCTV5,http://38.75.136.137:98/gslb/dsdqbv/cctv5p.m3u8?auth=test20251009$LR•IPV4•29『线路27』 +CCTV5,http://74.91.26.218:82/live/cctv5p.m3u8$LR•IPV4•29『线路22』 +CCTV5,http://38.75.136.137:98/gslb/dsdqbv/cctv5p.m3u8?auth=test20251009$LR•IPV4•29『线路23』 +CCTV5,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000018504&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路24』 +CCTV5,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000020505&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路25』 +CCTV5,http://223.112.114.228:50080/newlive/live/hls/180/live.m3u8$LR•IPV4•29『线路26』 +CCTV5,http://111.29.9.33:6610/000000001000/1000000001000020505/index.m3u8?channel-id=bestzb&Contentid=1000000001000020505&livemode=1&stbId=3$LR•IPV4•29『线路27』 CCTV5,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226894/1.m3u8?$LR•IPV6•29『线路28』 CCTV5,http://192.151.150.154/live/cctv5p.m3u8$LR•IPV4•29『线路29』 CCTV6,http://1.24.39.180:9003/hls/6/index.m3u8$LR•IPV4•23『线路1』 @@ -184,16 +185,16 @@ CCTV6,http://107.150.60.122/live/cctv6hd.m3u8$LR•IPV4•23『线路5』 CCTV6,http://119.129.172.22:9901/tsfile/live/0006_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路6』 CCTV6,http://221.226.51.220:50081/newlive/live/hls/6/live.m3u8$LR•IPV4•23『线路7』 CCTV6,http://112.27.235.94:8000/hls/7/index.m3u8$LR•IPV4•23『线路8』 -CCTV6,http://60.10.139.113:8801/hls/6/index.m3u8$LR•IPV4•23『线路9』 -CCTV6,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000018433&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路10』 -CCTV6,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000016466&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路11』 -CCTV6,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265006&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路12』 -CCTV6,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6117099895556651277&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路13』 -CCTV6,http://111.29.9.33:6610/000000001000/1000000001000016466/index.m3u8?channel-id=bestzb&Contentid=1000000001000016466&livemode=1&stbId=3$LR•IPV4•23『线路14』 -CCTV6,http://74.91.26.218:82/live/cctv6hd.m3u8$LR•IPV4•23『线路15』 -CCTV6,http://112.46.105.20:8009/hls/6/index.m3u8$LR•IPV4•23『线路16』 -CCTV6,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226468/1.m3u8?$LR•IPV6•23『线路17』 -CCTV6,http://69.30.245.50/live/cctv6.m3u8$LR•IPV4•23『线路18』 +CCTV6,http://74.91.26.218:82/live/cctv6hd.m3u8$LR•IPV4•23『线路9』 +CCTV6,http://112.46.105.20:8009/hls/6/index.m3u8$LR•IPV4•23『线路10』 +CCTV6,http://60.10.139.113:8801/hls/6/index.m3u8$LR•IPV4•23『线路11』 +CCTV6,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000018433&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路12』 +CCTV6,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000016466&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路13』 +CCTV6,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265006&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路14』 +CCTV6,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6117099895556651277&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路15』 +CCTV6,http://111.29.9.33:6610/000000001000/1000000001000016466/index.m3u8?channel-id=bestzb&Contentid=1000000001000016466&livemode=1&stbId=3$LR•IPV4•23『线路16』 +CCTV6,http://69.30.245.50/live/cctv6.m3u8$LR•IPV4•23『线路17』 +CCTV6,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226468/1.m3u8?$LR•IPV6•23『线路18』 CCTV6,http://207.56.13.146:81/cdnlive/cctv6.m3u8$LR•IPV4•23『线路19』 CCTV6,http://192.151.150.154/live/cctv6hd.m3u8$LR•IPV4•23『线路20』 CCTV6,http://173.208.212.130:8181/1080p/cctv6.m3u8$LR•IPV4•23『线路21』 @@ -204,22 +205,22 @@ CCTV7,http://1.24.39.180:9003/hls/7/index.m3u8$LR•IPV4•24『线路2』 CCTV7,http://38.75.136.137:98/gslb/dsdqpub/cctv7hd.m3u8?auth=testpub$LR•IPV4•24『线路3』 CCTV7,http://153.0.171.163:9901/tsfile/live/0007_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路4』 CCTV7,http://112.27.235.94:8000/hls/8/index.m3u8$LR•IPV4•24『线路5』 -CCTV7,http://60.10.139.113:8801/hls/7/index.m3u8$LR•IPV4•24『线路6』 -CCTV7,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000026715&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路7』 -CCTV7,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031104&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路8』 -CCTV7,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000017218&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路9』 -CCTV7,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000024341&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路10』 -CCTV7,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265007&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路11』 -CCTV7,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=3000000010000011518&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路12』 -CCTV7,http://111.29.9.40:6610/000000001000/1000000001000017218/index.m3u8?channel-id=ystenlive&Contentid=1000000001000017218&livemode=1&stbId=3$LR•IPV4•24『线路13』 -CCTV7,http://111.29.9.33:6610/000000001000/1000000001000017218/index.m3u8?channel-id=bestzb&Contentid=1000000001000017218&livemode=1&stbId=3$LR•IPV4•24『线路14』 -CCTV7,http://74.91.26.218:82/live/cctv7hd.m3u8$LR•IPV4•24『线路15』 -CCTV7,http://38.75.136.137:98/gslb/dsdqbv/cctv7hd.m3u8?auth=test20251009$LR•IPV4•24『线路16』 -CCTV7,http://112.46.105.20:8009/hls/504/index.m3u8$LR•IPV4•24『线路17』 -CCTV7,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226946/1.m3u8?$LR•IPV6•24『线路18』 -CCTV7,http://222.223.41.27:8888/hls/7/index.m3u8$LR•IPV4•24『线路19』 -CCTV7,http://207.56.13.146:81/cdnlive/cctv7.m3u8$LR•IPV4•24『线路20』 -CCTV7,http://192.151.150.154/live/cctv7hd.m3u8$LR•IPV4•24『线路21』 +CCTV7,http://74.91.26.218:82/live/cctv7hd.m3u8$LR•IPV4•24『线路6』 +CCTV7,http://38.75.136.137:98/gslb/dsdqbv/cctv7hd.m3u8?auth=test20251009$LR•IPV4•24『线路7』 +CCTV7,http://112.46.105.20:8009/hls/504/index.m3u8$LR•IPV4•24『线路8』 +CCTV7,http://60.10.139.113:8801/hls/7/index.m3u8$LR•IPV4•24『线路9』 +CCTV7,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000026715&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路10』 +CCTV7,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031104&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路11』 +CCTV7,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000017218&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路12』 +CCTV7,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000024341&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路13』 +CCTV7,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265007&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路14』 +CCTV7,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=3000000010000011518&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路15』 +CCTV7,http://111.29.9.40:6610/000000001000/1000000001000017218/index.m3u8?channel-id=ystenlive&Contentid=1000000001000017218&livemode=1&stbId=3$LR•IPV4•24『线路16』 +CCTV7,http://111.29.9.33:6610/000000001000/1000000001000017218/index.m3u8?channel-id=bestzb&Contentid=1000000001000017218&livemode=1&stbId=3$LR•IPV4•24『线路17』 +CCTV7,http://222.223.41.27:8888/hls/7/index.m3u8$LR•IPV4•24『线路18』 +CCTV7,http://207.56.13.146:81/cdnlive/cctv7.m3u8$LR•IPV4•24『线路19』 +CCTV7,http://192.151.150.154/live/cctv7hd.m3u8$LR•IPV4•24『线路20』 +CCTV7,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226946/1.m3u8?$LR•IPV6•24『线路21』 CCTV7,http://173.208.212.130:8181/1080p/cctv7.m3u8$LR•IPV4•24『线路22』 CCTV7,http://173.208.212.130:8181/720p/cctv7.m3u8$LR•IPV4•24『线路23』 CCTV7,http://204.12.221.218:8181/3m1080p/cctv7.m3u8$LR•IPV4•24『线路24』 @@ -227,66 +228,67 @@ CCTV8,http://120.202.94.181:9446/tsfile/live/0008_1.m3u8?key=txiptv$LR•IPV4• CCTV8,http://222.223.41.27:8888/hls/8/index.m3u8$LR•IPV4•20『线路2』 CCTV8,http://38.75.136.137:98/gslb/dsdqpub/cctv8hd.m3u8?auth=testpub$LR•IPV4•20『线路3』 CCTV8,http://112.27.235.94:8000/hls/9/index.m3u8$LR•IPV4•20『线路4』 -CCTV8,http://60.10.139.113:8801/hls/8/index.m3u8$LR•IPV4•20『线路5』 -CCTV8,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000003736&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路6』 -CCTV8,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265008&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路7』 -CCTV8,http://111.29.9.33:6610/000000001000/1000000001000003736/index.m3u8?channel-id=bestzb&Contentid=1000000001000003736&livemode=1&stbId=3$LR•IPV4•20『线路8』 -CCTV8,http://38.75.136.137:98/gslb/dsdqbv/cctv8hd.m3u8?auth=test20251009$LR•IPV4•20『线路9』 -CCTV8,http://112.46.105.20:8009/hls/8/index.m3u8$LR•IPV4•20『线路10』 -CCTV8,http://153.0.171.163:9901/tsfile/live/1007_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•20『线路11』 +CCTV8,http://38.75.136.137:98/gslb/dsdqbv/cctv8hd.m3u8?auth=test20251009$LR•IPV4•20『线路5』 +CCTV8,http://112.46.105.20:8009/hls/8/index.m3u8$LR•IPV4•20『线路6』 +CCTV8,http://153.0.171.163:9901/tsfile/live/1007_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•20『线路7』 +CCTV8,http://60.10.139.113:8801/hls/8/index.m3u8$LR•IPV4•20『线路8』 +CCTV8,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000003736&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路9』 +CCTV8,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265008&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路10』 +CCTV8,http://111.29.9.33:6610/000000001000/1000000001000003736/index.m3u8?channel-id=bestzb&Contentid=1000000001000003736&livemode=1&stbId=3$LR•IPV4•20『线路11』 CCTV8,http://183.196.25.171:808/hls/77/index.m3u8$LR•IPV4•20『线路12』 -CCTV8,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226485/1.m3u8?$LR•IPV6•20『线路13』 -CCTV8,http://74.91.26.218:82/live/cctv8hd.m3u8$LR•IPV4•20『线路14』 -CCTV8,http://69.30.245.50/live/cctv8.m3u8$LR•IPV4•20『线路15』 -CCTV8,http://207.56.13.146:81/cdnlive/cctv8.m3u8$LR•IPV4•20『线路16』 -CCTV8,http://173.208.212.130:8181/1080p/cctv8.m3u8$LR•IPV4•20『线路17』 +CCTV8,http://74.91.26.218:82/live/cctv8hd.m3u8$LR•IPV4•20『线路13』 +CCTV8,http://69.30.245.50/live/cctv8.m3u8$LR•IPV4•20『线路14』 +CCTV8,http://207.56.13.146:81/cdnlive/cctv8.m3u8$LR•IPV4•20『线路15』 +CCTV8,http://173.208.212.130:8181/1080p/cctv8.m3u8$LR•IPV4•20『线路16』 +CCTV8,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226485/1.m3u8?$LR•IPV6•20『线路17』 CCTV8,http://192.151.150.154/live/cctv8hd.m3u8$LR•IPV4•20『线路18』 CCTV8,http://173.208.212.130:8181/720p/cctv8.m3u8$LR•IPV4•20『线路19』 CCTV8,http://204.12.221.218:8181/3m1080p/cctv8.m3u8$LR•IPV4•20『线路20』 -CCTV9,http://1.24.39.180:9003/hls/9/index.m3u8$LR•IPV4•24『线路1』 -CCTV9,http://124.228.160.210:9901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路2』 -CCTV9,http://153.0.171.163:9901/tsfile/live/1008_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路3』 -CCTV9,http://112.27.235.94:8000/hls/10/index.m3u8$LR•IPV4•24『线路4』 -CCTV9,http://60.10.139.113:8801/hls/9/index.m3u8$LR•IPV4•24『线路5』 -CCTV9,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000018384&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路6』 -CCTV9,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000288020&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路7』 -CCTV9,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000014583&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路8』 -CCTV9,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000028286&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路9』 -CCTV9,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265009&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路10』 -CCTV9,http://111.29.9.33:6610/000000001000/1000000001000028286/index.m3u8?channel-id=ystenlive&Contentid=1000000001000028286&livemode=1&stbId=3$LR•IPV4•24『线路11』 -CCTV9,http://111.29.9.33:6610/000000001000/1000000001000014583/index.m3u8?channel-id=bestzb&Contentid=1000000001000014583&livemode=1&stbId=3$LR•IPV4•24『线路12』 -CCTV9,http://74.91.26.218:82/live/cctv9hd.m3u8$LR•IPV4•24『线路13』 -CCTV9,http://38.75.136.137:98/gslb/dsdqbv/cctv9hd.m3u8?auth=test20251009$LR•IPV4•24『线路14』 -CCTV9,http://112.46.105.20:8009/hls/509/index.m3u8$LR•IPV4•24『线路15』 -CCTV9,https://v4-e6b1c5baf4e240fe63adbf68dda23435.livehwc4.com/play.kankanlive.com/live/1698423397390920.m3u8?sub_m3u8=true&edge_slice=true&user_session_id=79c26e6f2fb125746b28b6fb2daee9a6$LR•IPV4•24『线路16』 -CCTV9,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226944/1.m3u8?$LR•IPV6•24『线路17』 -CCTV9,http://222.223.41.27:8888/hls/9/index.m3u8$LR•IPV4•24『线路18』 -CCTV9,http://207.56.13.146:81/cdnlive/cctv9.m3u8$LR•IPV4•24『线路19』 -CCTV9,http://192.151.150.154/live/cctv9hd.m3u8$LR•IPV4•24『线路20』 -CCTV9,http://173.208.212.130:8181/1080p/cctv9.m3u8$LR•IPV4•24『线路21』 -CCTV9,http://173.208.212.130:8181/720p/cctv9.m3u8$LR•IPV4•24『线路22』 -CCTV9,http://204.12.221.218:8181/3m1080p/cctv9.m3u8$LR•IPV4•24『线路23』 -CCTV9,https://xykt-fix.github.io/Y77.m3u8$LR•IPV4•24『线路24』 +CCTV9,http://1.24.39.180:9003/hls/9/index.m3u8$LR•IPV4•25『线路1』 +CCTV9,http://124.228.160.210:9901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•25『线路2』 +CCTV9,http://153.0.171.163:9901/tsfile/live/1008_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•25『线路3』 +CCTV9,http://112.27.235.94:8000/hls/10/index.m3u8$LR•IPV4•25『线路4』 +CCTV9,http://74.91.26.218:82/live/cctv9hd.m3u8$LR•IPV4•25『线路5』 +CCTV9,http://38.75.136.137:98/gslb/dsdqbv/cctv9hd.m3u8?auth=test20251009$LR•IPV4•25『线路6』 +CCTV9,http://112.46.105.20:8009/hls/509/index.m3u8$LR•IPV4•25『线路7』 +CCTV9,http://60.10.139.113:8801/hls/9/index.m3u8$LR•IPV4•25『线路8』 +CCTV9,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000018384&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路9』 +CCTV9,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000288020&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路10』 +CCTV9,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000014583&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路11』 +CCTV9,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000028286&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路12』 +CCTV9,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265009&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路13』 +CCTV9,http://111.29.9.33:6610/000000001000/1000000001000028286/index.m3u8?channel-id=ystenlive&Contentid=1000000001000028286&livemode=1&stbId=3$LR•IPV4•25『线路14』 +CCTV9,http://111.29.9.33:6610/000000001000/1000000001000014583/index.m3u8?channel-id=bestzb&Contentid=1000000001000014583&livemode=1&stbId=3$LR•IPV4•25『线路15』 +CCTV9,https://v4-e6b1c5baf4e240fe63adbf68dda23435.livehwc4.com/play.kankanlive.com/live/1698423397390920.m3u8?sub_m3u8=true&edge_slice=true&user_session_id=528f1a6a1cd548ede0e1b7c5313cc9ca$LR•IPV4•25『线路16』 +CCTV9,https://v4-e6b1c5baf4e240fe63adbf68dda23435.livehwc4.com/play.kankanlive.com/live/1698423397390920.m3u8?sub_m3u8=true&edge_slice=true&user_session_id=79c26e6f2fb125746b28b6fb2daee9a6$LR•IPV4•25『线路17』 +CCTV9,https://xykt-fix.github.io/Y77.m3u8$LR•IPV4•25『线路18』 +CCTV9,http://222.223.41.27:8888/hls/9/index.m3u8$LR•IPV4•25『线路19』 +CCTV9,http://207.56.13.146:81/cdnlive/cctv9.m3u8$LR•IPV4•25『线路20』 +CCTV9,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226944/1.m3u8?$LR•IPV6•25『线路21』 +CCTV9,http://192.151.150.154/live/cctv9hd.m3u8$LR•IPV4•25『线路22』 +CCTV9,http://173.208.212.130:8181/1080p/cctv9.m3u8$LR•IPV4•25『线路23』 +CCTV9,http://173.208.212.130:8181/720p/cctv9.m3u8$LR•IPV4•25『线路24』 +CCTV9,http://204.12.221.218:8181/3m1080p/cctv9.m3u8$LR•IPV4•25『线路25』 CCTV10,http://1.24.39.180:9003/hls/10/index.m3u8$LR•IPV4•25『线路1』 CCTV10,http://198.204.228.26/live/cctv10hd.m3u8$LR•IPV4•25『线路2』 CCTV10,http://112.27.235.94:8000/hls/11/index.m3u8$LR•IPV4•25『线路3』 -CCTV10,http://60.10.139.113:8801/hls/10/index.m3u8$LR•IPV4•25『线路4』 -CCTV10,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000004000012827&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路5』 -CCTV10,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000016738&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路6』 -CCTV10,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000023734&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路7』 -CCTV10,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000026367&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路8』 -CCTV10,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265010&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路9』 -CCTV10,http://111.29.9.38:6610/000000001000/1000000001000023734/index.m3u8?channel-id=ystenlive&Contentid=1000000001000023734&livemode=1&stbId=3$LR•IPV4•25『线路10』 -CCTV10,http://111.29.9.33:6610/000000001000/1000000001000023734/index.m3u8?channel-id=bestzb&Contentid=1000000001000023734&livemode=1&stbId=3$LR•IPV4•25『线路11』 -CCTV10,http://74.91.26.218:82/live/cctv10hd.m3u8$LR•IPV4•25『线路12』 -CCTV10,http://38.75.136.137:98/gslb/dsdqbv/cctv10hd.m3u8?auth=test20251009$LR•IPV4•25『线路13』 -CCTV10,http://112.46.105.20:8009/hls/506/index.m3u8$LR•IPV4•25『线路14』 -CCTV10,http://153.0.171.163:9901/tsfile/live/1009_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•25『线路15』 -CCTV10,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226937/1.m3u8?$LR•IPV6•25『线路16』 -CCTV10,https://hwapi.yntv.net/ew265l/z1z6s5.m3u8$LR•IPV4•25『线路17』 -CCTV10,http://222.223.41.27:8888/hls/10/index.m3u8$LR•IPV4•25『线路18』 -CCTV10,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=cctv10hd$LR•IPV4•25『线路19』 -CCTV10,http://113.25.252.226:9901/tsfile/live/1014_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•25『线路20』 +CCTV10,http://74.91.26.218:82/live/cctv10hd.m3u8$LR•IPV4•25『线路4』 +CCTV10,http://38.75.136.137:98/gslb/dsdqbv/cctv10hd.m3u8?auth=test20251009$LR•IPV4•25『线路5』 +CCTV10,http://112.46.105.20:8009/hls/506/index.m3u8$LR•IPV4•25『线路6』 +CCTV10,http://153.0.171.163:9901/tsfile/live/1009_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•25『线路7』 +CCTV10,http://60.10.139.113:8801/hls/10/index.m3u8$LR•IPV4•25『线路8』 +CCTV10,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000004000012827&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路9』 +CCTV10,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000016738&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路10』 +CCTV10,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000023734&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路11』 +CCTV10,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000026367&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路12』 +CCTV10,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265010&livemode=1&stbId=yu&mode=1&$LR•IPV4•25『线路13』 +CCTV10,http://111.29.9.38:6610/000000001000/1000000001000023734/index.m3u8?channel-id=ystenlive&Contentid=1000000001000023734&livemode=1&stbId=3$LR•IPV4•25『线路14』 +CCTV10,http://111.29.9.33:6610/000000001000/1000000001000023734/index.m3u8?channel-id=bestzb&Contentid=1000000001000023734&livemode=1&stbId=3$LR•IPV4•25『线路15』 +CCTV10,https://hwapi.yntv.net/ew265l/z1z6s5.m3u8$LR•IPV4•25『线路16』 +CCTV10,http://222.223.41.27:8888/hls/10/index.m3u8$LR•IPV4•25『线路17』 +CCTV10,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=cctv10hd$LR•IPV4•25『线路18』 +CCTV10,http://113.25.252.226:9901/tsfile/live/1014_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•25『线路19』 +CCTV10,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226937/1.m3u8?$LR•IPV6•25『线路20』 CCTV10,http://207.56.13.146:81/cdnlive/cctv10.m3u8$LR•IPV4•25『线路21』 CCTV10,http://192.151.150.154/live/cctv10hd.m3u8$LR•IPV4•25『线路22』 CCTV10,http://173.208.212.130:8181/1080p/cctv10.m3u8$LR•IPV4•25『线路23』 @@ -298,14 +300,14 @@ CCTV11,http://cd-live-stream.news.cctvplus.com/live/smil:CHANNEL1.smil/chunklist CCTV11,http://124.228.160.210:9901/tsfile/live/0011_2.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路4』 CCTV11,http://153.0.171.163:9901/tsfile/live/1010_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路5』 CCTV11,http://112.27.235.94:8000/hls/12/index.m3u8$LR•IPV4•21『线路6』 -CCTV11,http://60.10.139.113:8801/hls/96/index.m3u8$LR•IPV4•21『线路7』 -CCTV11,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040011&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路8』 -CCTV11,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031106&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路9』 -CCTV11,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000019789&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路10』 -CCTV11,http://111.29.9.37:6610/000000001000/1000000002000019789/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•21『线路11』 -CCTV11,http://111.29.9.33:6610/000000001000/1000000002000019789/index.m3u8?channel-id=bestzb&Contentid=1000000002000019789&livemode=1&stbId=3$LR•IPV4•21『线路12』 -CCTV11,http://74.91.26.218:82/live/cctv11hd.m3u8$LR•IPV4•21『线路13』 -CCTV11,http://38.75.136.137:98/gslb/dsdqbv/cctv11hd.m3u8?auth=test20251009$LR•IPV4•21『线路14』 +CCTV11,http://74.91.26.218:82/live/cctv11hd.m3u8$LR•IPV4•21『线路7』 +CCTV11,http://38.75.136.137:98/gslb/dsdqbv/cctv11hd.m3u8?auth=test20251009$LR•IPV4•21『线路8』 +CCTV11,http://60.10.139.113:8801/hls/96/index.m3u8$LR•IPV4•21『线路9』 +CCTV11,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040011&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路10』 +CCTV11,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031106&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路11』 +CCTV11,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000019789&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路12』 +CCTV11,http://111.29.9.37:6610/000000001000/1000000002000019789/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•21『线路13』 +CCTV11,http://111.29.9.33:6610/000000001000/1000000002000019789/index.m3u8?channel-id=bestzb&Contentid=1000000002000019789&livemode=1&stbId=3$LR•IPV4•21『线路14』 CCTV11,http://183.196.25.171:808/hls/11/index.m3u8$LR•IPV4•21『线路15』 CCTV11,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226334/1.m3u8?$LR•IPV6•21『线路16』 CCTV11,http://207.56.13.146:81/cdnlive/cctv11.m3u8$LR•IPV4•21『线路17』 @@ -317,17 +319,17 @@ CCTV12,http://1.24.39.180:9003/hls/12/index.m3u8$LR•IPV4•20『线路1』 CCTV12,http://74.91.26.218:82/live/cctv12hd.m3u8$LR•IPV4•20『线路2』 CCTV12,http://153.0.171.163:9901/tsfile/live/1011_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•20『线路3』 CCTV12,http://112.27.235.94:8000/hls/13/index.m3u8$LR•IPV4•20『线路4』 -CCTV12,http://60.10.139.113:8801/hls/11/index.m3u8$LR•IPV4•20『线路5』 -CCTV12,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040012&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路6』 -CCTV12,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031107&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路7』 -CCTV12,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000001640&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路8』 -CCTV12,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000032494&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路9』 -CCTV12,http://111.29.9.39:6610/000000001000/1000000001000032494/index.m3u8?channel-id=ystenlive&Contentid=1000000001000032494&livemode=1&stbId=3$LR•IPV4•20『线路10』 -CCTV12,http://111.29.9.33:6610/000000001000/1000000001000001640/index.m3u8?channel-id=bestzb&Contentid=1000000001000001640&livemode=1&stbId=3$LR•IPV4•20『线路11』 -CCTV12,http://38.75.136.137:98/gslb/dsdqbv/cctv12hd.m3u8?auth=test20251009$LR•IPV4•20『线路12』 -CCTV12,http://112.46.105.20:8009/hls/507/index.m3u8$LR•IPV4•20『线路13』 -CCTV12,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226942/1.m3u8?$LR•IPV6•20『线路14』 -CCTV12,http://222.223.41.27:8888/hls/12/index.m3u8$LR•IPV4•20『线路15』 +CCTV12,http://38.75.136.137:98/gslb/dsdqbv/cctv12hd.m3u8?auth=test20251009$LR•IPV4•20『线路5』 +CCTV12,http://112.46.105.20:8009/hls/507/index.m3u8$LR•IPV4•20『线路6』 +CCTV12,http://60.10.139.113:8801/hls/11/index.m3u8$LR•IPV4•20『线路7』 +CCTV12,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040012&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路8』 +CCTV12,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031107&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路9』 +CCTV12,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000001640&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路10』 +CCTV12,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000032494&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路11』 +CCTV12,http://111.29.9.39:6610/000000001000/1000000001000032494/index.m3u8?channel-id=ystenlive&Contentid=1000000001000032494&livemode=1&stbId=3$LR•IPV4•20『线路12』 +CCTV12,http://111.29.9.33:6610/000000001000/1000000001000001640/index.m3u8?channel-id=bestzb&Contentid=1000000001000001640&livemode=1&stbId=3$LR•IPV4•20『线路13』 +CCTV12,http://222.223.41.27:8888/hls/12/index.m3u8$LR•IPV4•20『线路14』 +CCTV12,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226942/1.m3u8?$LR•IPV6•20『线路15』 CCTV12,http://207.56.13.146:81/cdnlive/cctv12.m3u8$LR•IPV4•20『线路16』 CCTV12,http://192.151.150.154/live/cctv12hd.m3u8$LR•IPV4•20『线路17』 CCTV12,http://173.208.212.130:8181/1080p/cctv12.m3u8$LR•IPV4•20『线路18』 @@ -337,44 +339,44 @@ CCTV13,http://120.202.94.181:9446/tsfile/live/0013_1.m3u8?key=txiptv$LR•IPV4 CCTV13,http://1.24.39.180:9003/hls/13/index.m3u8$LR•IPV4•21『线路2』 CCTV13,http://153.0.171.163:9901/tsfile/live/1012_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路3』 CCTV13,http://112.27.235.94:8000/hls/14/index.m3u8$LR•IPV4•21『线路4』 -CCTV13,http://60.10.139.113:8801/hls/12/index.m3u8$LR•IPV4•21『线路5』 -CCTV13,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000001827&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路6』 -CCTV13,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031108&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路7』 -CCTV13,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000021303&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路8』 -CCTV13,http://111.29.9.35:6610/000000001000/1000000002000021303/index.m3u8?channel-id=ystenlive&Contentid=1000000002000021303&livemode=1&stbId=3$LR•IPV4•21『线路9』 -CCTV13,http://111.29.9.33:6610/000000001000/1000000002000021303/index.m3u8?channel-id=bestzb&Contentid=1000000002000021303&livemode=1&stbId=3$LR•IPV4•21『线路10』 -CCTV13,http://74.91.26.218:82/live/cctv13hd.m3u8$LR•IPV4•21『线路11』 -CCTV13,http://38.75.136.137:98/gslb/dsdqbv/cctv13hd.m3u8?auth=test20251009$LR•IPV4•21『线路12』 -CCTV13,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226316/1.m3u8?$LR•IPV6•21『线路13』 -CCTV13,https://event.pull.hebtv.com/jishi/cp1.m3u8$LR•IPV4•21『线路14』 -CCTV13,http://207.56.13.146:81/cdnlive/cctv13.m3u8$LR•IPV4•21『线路15』 -CCTV13,http://192.151.150.154/live/cctv13hd.m3u8$LR•IPV4•21『线路16』 -CCTV13,http://173.208.212.130:8181/1080p/cctv13.m3u8$LR•IPV4•21『线路17』 -CCTV13,http://173.208.212.130:8181/720p/cctv13.m3u8$LR•IPV4•21『线路18』 -CCTV13,http://204.12.221.218:8181/3m1080p/cctv13.m3u8$LR•IPV4•21『线路19』 -CCTV13,http://go.bkpcp.top/mg/cctv13$LR•IPV4•21『线路20』 -CCTV13,https://cdn3.163189.xyz/163189/cctv13$LR•IPV4•21『线路21』 +CCTV13,http://74.91.26.218:82/live/cctv13hd.m3u8$LR•IPV4•21『线路5』 +CCTV13,http://38.75.136.137:98/gslb/dsdqbv/cctv13hd.m3u8?auth=test20251009$LR•IPV4•21『线路6』 +CCTV13,http://60.10.139.113:8801/hls/12/index.m3u8$LR•IPV4•21『线路7』 +CCTV13,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000001827&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路8』 +CCTV13,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031108&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路9』 +CCTV13,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000021303&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路10』 +CCTV13,http://111.29.9.35:6610/000000001000/1000000002000021303/index.m3u8?channel-id=ystenlive&Contentid=1000000002000021303&livemode=1&stbId=3$LR•IPV4•21『线路11』 +CCTV13,http://111.29.9.33:6610/000000001000/1000000002000021303/index.m3u8?channel-id=bestzb&Contentid=1000000002000021303&livemode=1&stbId=3$LR•IPV4•21『线路12』 +CCTV13,http://go.bkpcp.top/mg/cctv13$LR•IPV4•21『线路13』 +CCTV13,https://cdn3.163189.xyz/163189/cctv13$LR•IPV4•21『线路14』 +CCTV13,https://event.pull.hebtv.com/jishi/cp1.m3u8$LR•IPV4•21『线路15』 +CCTV13,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226316/1.m3u8?$LR•IPV6•21『线路16』 +CCTV13,http://207.56.13.146:81/cdnlive/cctv13.m3u8$LR•IPV4•21『线路17』 +CCTV13,http://192.151.150.154/live/cctv13hd.m3u8$LR•IPV4•21『线路18』 +CCTV13,http://173.208.212.130:8181/1080p/cctv13.m3u8$LR•IPV4•21『线路19』 +CCTV13,http://173.208.212.130:8181/720p/cctv13.m3u8$LR•IPV4•21『线路20』 +CCTV13,http://204.12.221.218:8181/3m1080p/cctv13.m3u8$LR•IPV4•21『线路21』 CCTV14,http://1.24.39.180:9003/hls/14/index.m3u8$LR•IPV4•24『线路1』 CCTV14,http://120.202.94.181:9446/tsfile/live/0014_1.m3u8?key=txiptv$LR•IPV4•24『线路2』 CCTV14,http://118.193.115.2:9901/tsfile/live/0014_1.m3u8?key=txiptv$LR•IPV4•24『线路3』 CCTV14,http://153.0.171.163:9901/tsfile/live/1013_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路4』 CCTV14,http://112.27.235.94:8000/hls/15/index.m3u8$LR•IPV4•24『线路5』 -CCTV14,http://60.10.139.113:8801/hls/13/index.m3u8$LR•IPV4•24『线路6』 -CCTV14,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000004000006673&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路7』 -CCTV14,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000023358&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路8』 -CCTV14,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000008170&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路9』 -CCTV14,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000021349&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路10』 -CCTV14,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000000172&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路11』 -CCTV14,http://111.29.9.36:6610/000000001000/5000000004000006673/index.m3u8?channel-id=bestzb&Contentid=5000000004000006673&livemode=1&stbId=3$LR•IPV4•24『线路12』 -CCTV14,http://111.29.9.33:6610/000000001000/1000000001000008170/index.m3u8?channel-id=bestzb&Contentid=1000000001000008170&livemode=1&stbId=3$LR•IPV4•24『线路13』 -CCTV14,http://74.91.26.218:82/live/cctv14hd.m3u8$LR•IPV4•24『线路14』 -CCTV14,http://38.75.136.137:98/gslb/dsdqbv/cctv14hd.m3u8?auth=test20251009$LR•IPV4•24『线路15』 -CCTV14,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226947/1.m3u8?$LR•IPV6•24『线路16』 -CCTV14,https://event.pull.hebtv.com/jishi/cp2.m3u8$LR•IPV4•24『线路17』 -CCTV14,http://222.223.41.27:8888/hls/14/index.m3u8$LR•IPV4•24『线路18』 -CCTV14,http://204.12.221.218:8181/3m1080p/cctv14.m3u8$LR•IPV4•24『线路19』 -CCTV14,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=cctv14hd$LR•IPV4•24『线路20』 -CCTV14,http://173.208.212.130:8181/720p/cctv14.m3u8$LR•IPV4•24『线路21』 +CCTV14,http://74.91.26.218:82/live/cctv14hd.m3u8$LR•IPV4•24『线路6』 +CCTV14,http://38.75.136.137:98/gslb/dsdqbv/cctv14hd.m3u8?auth=test20251009$LR•IPV4•24『线路7』 +CCTV14,http://60.10.139.113:8801/hls/13/index.m3u8$LR•IPV4•24『线路8』 +CCTV14,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000004000006673&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路9』 +CCTV14,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000023358&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路10』 +CCTV14,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000008170&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路11』 +CCTV14,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000021349&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路12』 +CCTV14,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000000172&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路13』 +CCTV14,http://111.29.9.36:6610/000000001000/5000000004000006673/index.m3u8?channel-id=bestzb&Contentid=5000000004000006673&livemode=1&stbId=3$LR•IPV4•24『线路14』 +CCTV14,http://111.29.9.33:6610/000000001000/1000000001000008170/index.m3u8?channel-id=bestzb&Contentid=1000000001000008170&livemode=1&stbId=3$LR•IPV4•24『线路15』 +CCTV14,https://event.pull.hebtv.com/jishi/cp2.m3u8$LR•IPV4•24『线路16』 +CCTV14,http://222.223.41.27:8888/hls/14/index.m3u8$LR•IPV4•24『线路17』 +CCTV14,http://204.12.221.218:8181/3m1080p/cctv14.m3u8$LR•IPV4•24『线路18』 +CCTV14,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=cctv14hd$LR•IPV4•24『线路19』 +CCTV14,http://173.208.212.130:8181/720p/cctv14.m3u8$LR•IPV4•24『线路20』 +CCTV14,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226947/1.m3u8?$LR•IPV6•24『线路21』 CCTV14,http://207.56.13.146:81/cdnlive/cctv14.m3u8$LR•IPV4•24『线路22』 CCTV14,http://192.151.150.154/live/cctv14hd.m3u8$LR•IPV4•24『线路23』 CCTV14,http://173.208.212.130:8181/1080p/cctv14.m3u8$LR•IPV4•24『线路24』 @@ -384,98 +386,99 @@ CCTV15,http://60.10.139.113:8801/hls/97/index.m3u8$LR•IPV4•22『线路3』 CCTV15,http://119.129.172.163:9901/tsfile/live/0015_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路4』 CCTV15,http://124.228.160.210:9901/tsfile/live/0015_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路5』 CCTV15,http://112.27.235.94:8000/hls/16/index.m3u8$LR•IPV4•22『线路6』 -CCTV15,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000018417&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路7』 -CCTV15,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031109&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路8』 -CCTV15,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000008163&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路9』 -CCTV15,http://111.29.9.36:6610/000000001000/1000000002000008163/index.m3u8?channel-id=ystenlive&Contentid=1000000002000008163&livemode=1&stbId=3$LR•IPV4•22『线路10』 -CCTV15,http://111.29.9.33:6610/000000001000/1000000002000008163/index.m3u8?channel-id=bestzb&Contentid=1000000002000008163&livemode=1&stbId=3$LR•IPV4•22『线路11』 -CCTV15,http://74.91.26.218:82/live/cctv15hd.m3u8$LR•IPV4•22『线路12』 -CCTV15,http://38.75.136.137:98/gslb/dsdqbv/cctv15hd.m3u8?auth=test20251009$LR•IPV4•22『线路13』 -CCTV15,http://153.0.171.163:9901/tsfile/live/1014_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路14』 -CCTV15,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226333/1.m3u8?$LR•IPV6•22『线路15』 +CCTV15,http://74.91.26.218:82/live/cctv15hd.m3u8$LR•IPV4•22『线路7』 +CCTV15,http://38.75.136.137:98/gslb/dsdqbv/cctv15hd.m3u8?auth=test20251009$LR•IPV4•22『线路8』 +CCTV15,http://153.0.171.163:9901/tsfile/live/1014_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路9』 +CCTV15,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000018417&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路10』 +CCTV15,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000031109&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路11』 +CCTV15,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000008163&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路12』 +CCTV15,http://111.29.9.36:6610/000000001000/1000000002000008163/index.m3u8?channel-id=ystenlive&Contentid=1000000002000008163&livemode=1&stbId=3$LR•IPV4•22『线路13』 +CCTV15,http://111.29.9.33:6610/000000001000/1000000002000008163/index.m3u8?channel-id=bestzb&Contentid=1000000002000008163&livemode=1&stbId=3$LR•IPV4•22『线路14』 +CCTV15,https://xykt-fix.github.io/play/a02e/index.m3u8$LR•IPV4•22『线路15』 CCTV15,http://222.223.41.27:8888/hls/15/index.m3u8$LR•IPV4•22『线路16』 CCTV15,http://173.208.212.130:8181/720p/cctv15.m3u8$LR•IPV4•22『线路17』 -CCTV15,https://xykt-fix.github.io/play/a02e/index.m3u8$LR•IPV4•22『线路18』 +CCTV15,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226333/1.m3u8?$LR•IPV6•22『线路18』 CCTV15,http://207.56.13.146:81/cdnlive/cctv15.m3u8$LR•IPV4•22『线路19』 CCTV15,http://192.151.150.154/live/cctv15hd.m3u8$LR•IPV4•22『线路20』 CCTV15,http://173.208.212.130:8181/1080p/cctv15.m3u8$LR•IPV4•22『线路21』 CCTV15,http://204.12.221.218:8181/3m1080p/cctv15.m3u8$LR•IPV4•22『线路22』 -CCTV16,http://1.24.39.180:9003/hls/60/index.m3u8$LR•IPV4•12『线路1』 -CCTV16,http://183.11.239.36:808/hls/169/index.m3u8$LR•IPV4•12『线路2』 -CCTV16,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000006000233001&livemode=1&stbId=yu&mode=1&$LR•IPV4•12『线路3』 -CCTV16,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000006000233002&livemode=1&stbId=yu&mode=1&$LR•IPV4•12『线路4』 -CCTV16,http://74.91.26.218:82/live/cctv16hd.m3u8$LR•IPV4•12『线路5』 -CCTV16,http://38.75.136.137:98/gslb/dsdqbv/cctv16hd.m3u8?auth=test20251009$LR•IPV4•12『线路6』 -CCTV16,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227002/1.m3u8?$LR•IPV6•12『线路7』 -CCTV16,http://207.56.13.146:81/cdnlive/cctv16.m3u8$LR•IPV4•12『线路8』 -CCTV16,http://192.151.150.154/live/cctv16hd.m3u8$LR•IPV4•12『线路9』 -CCTV16,http://173.208.212.130:8181/1080p/cctv16.m3u8$LR•IPV4•12『线路10』 -CCTV16,http://173.208.212.130:8181/720p/cctv16.m3u8$LR•IPV4•12『线路11』 -CCTV16,http://204.12.221.218:8181/3m1080p/cctv16.m3u8$LR•IPV4•12『线路12』 +CCTV16,http://1.24.39.180:9003/hls/60/index.m3u8$LR•IPV4•13『线路1』 +CCTV16,http://183.11.239.36:808/hls/169/index.m3u8$LR•IPV4•13『线路2』 +CCTV16,http://74.91.26.218:82/live/cctv16hd.m3u8$LR•IPV4•13『线路3』 +CCTV16,http://38.75.136.137:98/gslb/dsdqbv/cctv16hd.m3u8?auth=test20251009$LR•IPV4•13『线路4』 +CCTV16,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000006000233001&livemode=1&stbId=yu&mode=1&$LR•IPV4•13『线路5』 +CCTV16,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000006000233002&livemode=1&stbId=yu&mode=1&$LR•IPV4•13『线路6』 +CCTV16,https://piccpndks.v.kcdnvip.com/audio/cctv16_2/index.m3u8$LR•IPV4•13『线路7』 +CCTV16,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227002/1.m3u8?$LR•IPV6•13『线路8』 +CCTV16,http://207.56.13.146:81/cdnlive/cctv16.m3u8$LR•IPV4•13『线路9』 +CCTV16,http://192.151.150.154/live/cctv16hd.m3u8$LR•IPV4•13『线路10』 +CCTV16,http://173.208.212.130:8181/1080p/cctv16.m3u8$LR•IPV4•13『线路11』 +CCTV16,http://173.208.212.130:8181/720p/cctv16.m3u8$LR•IPV4•13『线路12』 +CCTV16,http://204.12.221.218:8181/3m1080p/cctv16.m3u8$LR•IPV4•13『线路13』 CCTV17,http://1.24.39.180:9003/hls/61/index.m3u8$LR•IPV4•18『线路1』 CCTV17,http://121.57.88.206:898/hls/17/index.m3u8$LR•IPV4•18『线路2』 CCTV17,http://222.169.85.8:9901/tsfile/live/0007_1.m3u8$LR•IPV4•18『线路3』 -CCTV17,http://60.10.139.113:8801/hls/98/index.m3u8$LR•IPV4•18『线路4』 -CCTV17,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000288014&livemode=1&stbId=yu&mode=1&$LR•IPV4•18『线路5』 -CCTV17,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000056836&livemode=1&stbId=yu&mode=1&$LR•IPV4•18『线路6』 -CCTV17,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000006000268004&livemode=1&stbId=yu&mode=1&$LR•IPV4•18『线路7』 -CCTV17,http://111.29.9.33:6610/000000001000/1000000005000056836/index.m3u8?channel-id=bestzb&Contentid=1000000005000056836&livemode=1&stbId=3$LR•IPV4•18『线路8』 -CCTV17,http://74.91.26.218:82/live/cctv17hd.m3u8$LR•IPV4•18『线路9』 -CCTV17,http://38.75.136.137:98/gslb/dsdqbv/cctv17hd.m3u8?auth=test20251009$LR•IPV4•18『线路10』 +CCTV17,http://74.91.26.218:82/live/cctv17hd.m3u8$LR•IPV4•18『线路4』 +CCTV17,http://38.75.136.137:98/gslb/dsdqbv/cctv17hd.m3u8?auth=test20251009$LR•IPV4•18『线路5』 +CCTV17,http://60.10.139.113:8801/hls/98/index.m3u8$LR•IPV4•18『线路6』 +CCTV17,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000011000288014&livemode=1&stbId=yu&mode=1&$LR•IPV4•18『线路7』 +CCTV17,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000056836&livemode=1&stbId=yu&mode=1&$LR•IPV4•18『线路8』 +CCTV17,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000006000268004&livemode=1&stbId=yu&mode=1&$LR•IPV4•18『线路9』 +CCTV17,http://111.29.9.33:6610/000000001000/1000000005000056836/index.m3u8?channel-id=bestzb&Contentid=1000000005000056836&livemode=1&stbId=3$LR•IPV4•18『线路10』 CCTV17,http://183.196.25.171:808/hls/93/index.m3u8$LR•IPV4•18『线路11』 -CCTV17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226318/1.m3u8?$LR•IPV6•18『线路12』 -CCTV17,http://38.75.136.137:98/gslb/dsdqpub/cctv17hd.m3u8?auth=testpub$LR•IPV4•18『线路13』 +CCTV17,http://38.75.136.137:98/gslb/dsdqpub/cctv17hd.m3u8?auth=testpub$LR•IPV4•18『线路12』 +CCTV17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226318/1.m3u8?$LR•IPV6•18『线路13』 CCTV17,http://207.56.13.146:81/cdnlive/cctv17.m3u8$LR•IPV4•18『线路14』 CCTV17,http://192.151.150.154/live/cctv17hd.m3u8$LR•IPV4•18『线路15』 CCTV17,http://173.208.212.130:8181/1080p/cctv17.m3u8$LR•IPV4•18『线路16』 CCTV17,http://173.208.212.130:8181/720p/cctv17.m3u8$LR•IPV4•18『线路17』 CCTV17,http://204.12.221.218:8181/3m1080p/cctv17.m3u8$LR•IPV4•18『线路18』 CCTV第一剧场,https://epg.pw/stream/6d7bf281e3d739806a73f5373acaa6e01988ec9739f5ac1355ce54b47a928472.m3u8$LR•IPV4•7『线路1』 -CCTV第一剧场,http://60.10.139.113:8801/hls/65/index.m3u8$LR•IPV4•7『线路2』 -CCTV第一剧场,http://38.75.136.137:98/gslb/dsdqpub/dyjc.m3u8?auth=testpub$LR•IPV4•7『线路3』 -CCTV第一剧场,http://xc.mfykeke.top:35455/nptv/dyjc.m3u8$LR•IPV4•7『线路4』 +CCTV第一剧场,http://38.75.136.137:98/gslb/dsdqpub/dyjc.m3u8?auth=testpub$LR•IPV4•7『线路2』 +CCTV第一剧场,http://xc.mfykeke.top:35455/nptv/dyjc.m3u8$LR•IPV4•7『线路3』 +CCTV第一剧场,http://60.10.139.113:8801/hls/65/index.m3u8$LR•IPV4•7『线路4』 CCTV第一剧场,http://207.56.13.146:81/cdnlive/dyjc.m3u8$LR•IPV4•7『线路5』 CCTV第一剧场,http://192.151.150.154/live/dyjc.m3u8$LR•IPV4•7『线路6』 CCTV第一剧场,http://173.208.212.130:8181/720p/dyjc.m3u8$LR•IPV4•7『线路7』 -CCTV怀旧剧场,http://60.10.139.113:8801/hls/67/index.m3u8$LR•IPV4•6『线路1』 -CCTV怀旧剧场,http://38.75.136.137:98/gslb/dsdqpub/hjjc.m3u8?auth=testpub$LR•IPV4•6『线路2』 -CCTV怀旧剧场,http://xc.mfykeke.top:35455/nptv/hjjc.m3u8$LR•IPV4•6『线路3』 +CCTV怀旧剧场,http://38.75.136.137:98/gslb/dsdqpub/hjjc.m3u8?auth=testpub$LR•IPV4•6『线路1』 +CCTV怀旧剧场,http://xc.mfykeke.top:35455/nptv/hjjc.m3u8$LR•IPV4•6『线路2』 +CCTV怀旧剧场,http://60.10.139.113:8801/hls/67/index.m3u8$LR•IPV4•6『线路3』 CCTV怀旧剧场,http://207.56.13.146:81/cdnlive/hjjc.m3u8$LR•IPV4•6『线路4』 CCTV怀旧剧场,http://192.151.150.154/live/hjjc.m3u8$LR•IPV4•6『线路5』 CCTV怀旧剧场,http://173.208.212.130:8181/720p/hjjc.m3u8$LR•IPV4•6『线路6』 -CCTV风云剧场,http://60.10.139.113:8801/hls/66/index.m3u8$LR•IPV4•6『线路1』 -CCTV风云剧场,http://38.75.136.137:98/gslb/dsdqpub/fyjc.m3u8?auth=testpub$LR•IPV4•6『线路2』 -CCTV风云剧场,http://xc.mfykeke.top:35455/nptv/fyjc.m3u8$LR•IPV4•6『线路3』 +CCTV风云剧场,http://38.75.136.137:98/gslb/dsdqpub/fyjc.m3u8?auth=testpub$LR•IPV4•6『线路1』 +CCTV风云剧场,http://xc.mfykeke.top:35455/nptv/fyjc.m3u8$LR•IPV4•6『线路2』 +CCTV风云剧场,http://60.10.139.113:8801/hls/66/index.m3u8$LR•IPV4•6『线路3』 CCTV风云剧场,http://207.56.13.146:81/cdnlive/fyjc.m3u8$LR•IPV4•6『线路4』 CCTV风云剧场,http://192.151.150.154/live/fyjc.m3u8$LR•IPV4•6『线路5』 CCTV风云剧场,http://173.208.212.130:8181/720p/fyjc.m3u8$LR•IPV4•6『线路6』 -CCTV风云音乐,http://60.10.139.113:8801/hls/68/index.m3u8$LR•IPV4•5『线路1』 -CCTV风云音乐,http://38.75.136.137:98/gslb/dsdqpub/fyyy.m3u8?auth=testpub$LR•IPV4•5『线路2』 +CCTV风云音乐,http://38.75.136.137:98/gslb/dsdqpub/fyyy.m3u8?auth=testpub$LR•IPV4•5『线路1』 +CCTV风云音乐,http://60.10.139.113:8801/hls/68/index.m3u8$LR•IPV4•5『线路2』 CCTV风云音乐,http://207.56.13.146:81/cdnlive/fyyy.m3u8$LR•IPV4•5『线路3』 CCTV风云音乐,http://192.151.150.154/live/fyyy.m3u8$LR•IPV4•5『线路4』 CCTV风云音乐,http://173.208.212.130:8181/720p/fyyy.m3u8$LR•IPV4•5『线路5』 -CCTV兵器科技,http://60.10.139.113:8801/hls/72/index.m3u8$LR•IPV4•6『线路1』 -CCTV兵器科技,http://38.75.136.137:98/gslb/dsdqpub/gfjs.m3u8?auth=testpub$LR•IPV4•6『线路2』 -CCTV兵器科技,http://38.75.136.137:98/gslb/dsdqpub/bqkj.m3u8?auth=testpub$LR•IPV4•6『线路3』 +CCTV兵器科技,http://38.75.136.137:98/gslb/dsdqpub/gfjs.m3u8?auth=testpub$LR•IPV4•6『线路1』 +CCTV兵器科技,http://38.75.136.137:98/gslb/dsdqpub/bqkj.m3u8?auth=testpub$LR•IPV4•6『线路2』 +CCTV兵器科技,http://60.10.139.113:8801/hls/72/index.m3u8$LR•IPV4•6『线路3』 CCTV兵器科技,http://207.56.13.146:81/cdnlive/gfjs.m3u8$LR•IPV4•6『线路4』 CCTV兵器科技,http://192.151.150.154/live/gfjs.m3u8$LR•IPV4•6『线路5』 CCTV兵器科技,http://173.208.212.130:8181/720p/gfjs.m3u8$LR•IPV4•6『线路6』 -CCTV风云足球,http://60.10.139.113:8801/hls/69/index.m3u8$LR•IPV4•17『线路1』 +CCTV风云足球,http://38.75.136.137:98/gslb/dsdqpub/fyzq.m3u8?auth=testpub$LR•IPV4•17『线路1』 CCTV风云足球,http://111.61.236.247:9081/hls/58/index.m3u8$LR•IPV4•17『线路2』 -CCTV风云足球,https://epg.pw/stream/ac8062ec9484078061d3bef507c15a423ac57ae4144e3fcc4b0a198dd420f911.m3u8$LR•IPV4•17『线路3』 -CCTV风云足球,http://38.75.136.137:98/gslb/dsdqpub/fyzq.m3u8?auth=testpub$LR•IPV4•17『线路4』 -CCTV风云足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5842&tk=a0c4f6cfaba3$LR•IPV4•17『线路5』 -CCTV风云足球,https://hls-gateway.vpstv.net/streams/708859.m3u8$LR•IPV4•17『线路6』 -CCTV风云足球,http://173.208.212.130:8181/720p/fyzq.m3u8$LR•IPV4•17『线路7』 -CCTV风云足球,http://[2409:8087:7001:20:2::3]/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226984/index.m3u8$LR•IPV6•17『线路8』 -CCTV风云足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2140&tk=f6cc1e0a0e1a$LR•IPV4•17『线路9』 -CCTV风云足球,https://live.goodiptv.club/api/yqgd.php?id=fyzq$LR•IPV4•17『线路10』 -CCTV风云足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4934&tk=a0c4f6cfaba3$LR•IPV4•17『线路11』 -CCTV风云足球,https://live.264788.xyz/channel/fengyunzuqiu?streamid=927ac8a2bbea16a44fbdc8cd59deabc8&livekey=01WgOR41rriMmMkzNsd0UoaxJRwetZdxIvtVk$LR•IPV4•17『线路12』 -CCTV风云足球,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=fyzq$LR•IPV4•17『线路13』 -CCTV风云足球,http://dl.wifi942.com:66/jsyd/jsyd.php?id=G_FENGSHANGZQ-CQ$LR•IPV4•17『线路14』 -CCTV风云足球,http://www.qfly9236.cn:8888/rtp/239.253.92.110:8061$LR•IPV4•17『线路15』 -CCTV风云足球,http://207.56.13.146:81/cdnlive/fyzq.m3u8$LR•IPV4•17『线路16』 +CCTV风云足球,http://60.10.139.113:8801/hls/69/index.m3u8$LR•IPV4•17『线路3』 +CCTV风云足球,https://epg.pw/stream/ac8062ec9484078061d3bef507c15a423ac57ae4144e3fcc4b0a198dd420f911.m3u8$LR•IPV4•17『线路4』 +CCTV风云足球,http://www.qfly9236.cn:8888/rtp/239.253.92.110:8061$LR•IPV4•17『线路5』 +CCTV风云足球,http://dl.wifi942.com:66/jsyd/jsyd.php?id=G_FENGSHANGZQ-CQ$LR•IPV4•17『线路6』 +CCTV风云足球,https://live.264788.xyz/channel/fengyunzuqiu?streamid=927ac8a2bbea16a44fbdc8cd59deabc8&livekey=01WgOR41rriMmMkzNsd0UoaxJRwetZdxIvtVk$LR•IPV4•17『线路7』 +CCTV风云足球,https://hls-gateway.vpstv.net/streams/708859.m3u8$LR•IPV4•17『线路8』 +CCTV风云足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4934&tk=a0c4f6cfaba3$LR•IPV4•17『线路9』 +CCTV风云足球,http://207.56.13.146:81/cdnlive/fyzq.m3u8$LR•IPV4•17『线路10』 +CCTV风云足球,http://[2409:8087:7001:20:2::3]/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226984/index.m3u8$LR•IPV6•17『线路11』 +CCTV风云足球,http://173.208.212.130:8181/720p/fyzq.m3u8$LR•IPV4•17『线路12』 +CCTV风云足球,https://live.goodiptv.club/api/yqgd.php?id=fyzq$LR•IPV4•17『线路13』 +CCTV风云足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2140&tk=f6cc1e0a0e1a$LR•IPV4•17『线路14』 +CCTV风云足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5842&tk=a0c4f6cfaba3$LR•IPV4•17『线路15』 +CCTV风云足球,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=fyzq$LR•IPV4•17『线路16』 CCTV风云足球,http://192.151.150.154/live/fyzq.m3u8$LR•IPV4•17『线路17』 CCTV高尔夫网球,http://60.10.139.113:8801/hls/70/index.m3u8$LR•IPV4•4『线路1』 CCTV高尔夫网球,http://207.56.13.146:81/cdnlive/gefwq.m3u8$LR•IPV4•4『线路2』 @@ -483,29 +486,29 @@ CCTV高尔夫网球,http://192.151.150.154/live/gefwq.m3u8$LR•IPV4•4『线 CCTV高尔夫网球,http://173.208.212.130:8181/720p/gefwq.m3u8$LR•IPV4•4『线路4』 CCTV央视台球,https://epg.pw/stream/ca9c1cd4b97fb824cedd7fedfd0c7a950afdd7f00751cfbb7c2d89831d7746a5.m3u8$LR•IPV4•12『线路1』 CCTV央视台球,http://38.75.136.137:98/gslb/dsdqpub/ystq.m3u8?auth=testpub$LR•IPV4•12『线路2』 -CCTV央视台球,http://www.qfly9236.cn:8888/rtp/239.253.93.231:6409$LR•IPV4•12『线路3』 +CCTV央视台球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5497&tk=a0c4f6cfaba3$LR•IPV4•12『线路3』 CCTV央视台球,http://173.208.212.130:8181/720p/ystq.m3u8$LR•IPV4•12『线路4』 -CCTV央视台球,https://hls-gateway.vpstv.net/streams/708855.m3u8$LR•IPV4•12『线路5』 -CCTV央视台球,http://dl.wifi942.com:66/jsyd/jsyd.php?id=G_TAIQIU-CQ$LR•IPV4•12『线路6』 -CCTV央视台球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5497&tk=a0c4f6cfaba3$LR•IPV4•12『线路7』 -CCTV央视台球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7711&tk=a0c4f6cfaba3$LR•IPV4•12『线路8』 -CCTV央视台球,http://dassby.qqff.top:99/live/高尔夫网球/index.m3u8$LR•IPV4•12『线路9』 +CCTV央视台球,http://dl.wifi942.com:66/jsyd/jsyd.php?id=G_TAIQIU-CQ$LR•IPV4•12『线路5』 +CCTV央视台球,http://www.qfly9236.cn:8888/rtp/239.253.93.231:6409$LR•IPV4•12『线路6』 +CCTV央视台球,https://epg.pw/stream/25677ac2e8c1f7c3dd6359c43eb5f0f54efb3f5c11f9dda18d01b3e0308ed017.m3u8$LR•IPV4•12『线路7』 +CCTV央视台球,https://hls-gateway.vpstv.net/streams/708855.m3u8$LR•IPV4•12『线路8』 +CCTV央视台球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7711&tk=a0c4f6cfaba3$LR•IPV4•12『线路9』 CCTV央视台球,http://207.56.13.146:81/cdnlive/ystq.m3u8$LR•IPV4•12『线路10』 -CCTV央视台球,https://epg.pw/stream/25677ac2e8c1f7c3dd6359c43eb5f0f54efb3f5c11f9dda18d01b3e0308ed017.m3u8$LR•IPV4•12『线路11』 +CCTV央视台球,http://dassby.qqff.top:99/live/高尔夫网球/index.m3u8$LR•IPV4•12『线路11』 CCTV央视台球,http://192.151.150.154/live/ystq.m3u8$LR•IPV4•12『线路12』 -CCTV女性时尚,http://60.10.139.113:8801/hls/79/index.m3u8$LR•IPV4•5『线路1』 -CCTV女性时尚,http://38.75.136.137:98/gslb/dsdqpub/nxss.m3u8?auth=testpub$LR•IPV4•5『线路2』 +CCTV女性时尚,http://38.75.136.137:98/gslb/dsdqpub/nxss.m3u8?auth=testpub$LR•IPV4•5『线路1』 +CCTV女性时尚,http://60.10.139.113:8801/hls/79/index.m3u8$LR•IPV4•5『线路2』 CCTV女性时尚,http://207.56.13.146:81/cdnlive/nxss.m3u8$LR•IPV4•5『线路3』 CCTV女性时尚,http://192.151.150.154/live/nxss.m3u8$LR•IPV4•5『线路4』 CCTV女性时尚,http://173.208.212.130:8181/720p/nxss.m3u8$LR•IPV4•5『线路5』 -CCTV电视指南,http://60.10.139.113:8801/hls/64/index.m3u8$LR•IPV4•4『线路1』 -CCTV电视指南,http://38.75.136.137:98/gslb/dsdqpub/dszn.m3u8?auth=testpub$LR•IPV4•4『线路2』 -CCTV电视指南,http://www.tszhgjj.cn:7000/rtp/239.253.93.249:6427$LR•IPV4•4『线路3』 +CCTV电视指南,http://38.75.136.137:98/gslb/dsdqpub/dszn.m3u8?auth=testpub$LR•IPV4•4『线路1』 +CCTV电视指南,http://www.tszhgjj.cn:7000/rtp/239.253.93.249:6427$LR•IPV4•4『线路2』 +CCTV电视指南,http://60.10.139.113:8801/hls/64/index.m3u8$LR•IPV4•4『线路3』 CCTV电视指南,http://192.151.150.154/live/dszn.m3u8$LR•IPV4•4『线路4』 CCTV世界地理,https://shcm-stream-cf1.stream.264788.xyz/cms001/ch00000090990000001620/index.m3u8?streamid=8a034b40397504e25b3775c772237996&streamkey=01vY5fRxC8VyKg4oq30vfikHXTCAKySLP29l6OG91kQlzDttHgzNLkUw5kivm3PfNsVHJv5FgdsPBYFYI2IWpt7tfRCuFHqLT2pvX67ubMds8jl2DHtvOh0&token=1775754349-4f33f4f84a4abeba-0-91687dc8c9325092efa1d00f330d2710$LR•IPV4•7『线路1』 -CCTV世界地理,http://60.10.139.113:8801/hls/73/index.m3u8$LR•IPV4•7『线路2』 -CCTV世界地理,http://38.75.136.137:98/gslb/dsdqpub/sjdl.m3u8?auth=testpub$LR•IPV4•7『线路3』 -CCTV世界地理,http://111.61.236.247:9081/hls/62/index.m3u8$LR•IPV4•7『线路4』 +CCTV世界地理,http://38.75.136.137:98/gslb/dsdqpub/sjdl.m3u8?auth=testpub$LR•IPV4•7『线路2』 +CCTV世界地理,http://111.61.236.247:9081/hls/62/index.m3u8$LR•IPV4•7『线路3』 +CCTV世界地理,http://60.10.139.113:8801/hls/73/index.m3u8$LR•IPV4•7『线路4』 CCTV世界地理,http://207.56.13.146:81/cdnlive/sjdl.m3u8$LR•IPV4•7『线路5』 CCTV世界地理,http://192.151.150.154/live/sjdl.m3u8$LR•IPV4•7『线路6』 CCTV世界地理,http://173.208.212.130:8181/720p/sjdl.m3u8$LR•IPV4•7『线路7』 @@ -513,27 +516,27 @@ CCTV卫生健康,http://38.75.136.137:98/gslb/dsdqpub/wsjk.m3u8?auth=testpub$LR CCTV卫生健康,http://207.56.13.146:81/cdnlive/wsjk.m3u8$LR•IPV4•4『线路2』 CCTV卫生健康,http://192.151.150.154/live/wsjk.m3u8$LR•IPV4•4『线路3』 CCTV卫生健康,http://173.208.212.130:8181/720p/wsjk.m3u8$LR•IPV4•4『线路4』 -CETV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000027253&livemode=1&stbId=yu&mode=1&$LR•IPV4•6『线路1』 -CETV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000288015&livemode=1&stbId=yu&mode=1&$LR•IPV4•6『线路2』 -CETV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000002000002652&livemode=1&stbId=yu&mode=1&$LR•IPV4•6『线路3』 -CETV1,http://117.161.133.51:81/gitv_live/G_CETV-1/G_CETV-1.m3u8?p=GITV$LR•IPV4•6『线路4』 +CETV1,http://117.161.133.51:81/gitv_live/G_CETV-1/G_CETV-1.m3u8?p=GITV$LR•IPV4•6『线路1』 +CETV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000027253&livemode=1&stbId=yu&mode=1&$LR•IPV4•6『线路2』 +CETV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000288015&livemode=1&stbId=yu&mode=1&$LR•IPV4•6『线路3』 +CETV1,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000002000002652&livemode=1&stbId=yu&mode=1&$LR•IPV4•6『线路4』 CETV1,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226494/1.m3u8?$LR•IPV6•6『线路5』 CETV1,http://111.29.9.33:6610/000000001000/5000000002000002652/index.m3u8?channel-id=bestzb&Contentid=5000000002000002652&livemode=1&stbId=3$LR•IPV4•6『线路6』 -CETV2,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000288017&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路1』 -CETV2,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000005000266004&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路2』 -CETV2,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031201&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路3』 -CETV2,http://117.161.133.51:81/gitv_live/G_CETV-2/G_CETV-2.m3u8?p=GITV$LR•IPV4•5『线路4』 +CETV2,http://117.161.133.51:81/gitv_live/G_CETV-2/G_CETV-2.m3u8?p=GITV$LR•IPV4•5『线路1』 +CETV2,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000288017&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路2』 +CETV2,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000005000266004&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路3』 +CETV2,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031201&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路4』 CETV2,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226537/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E7AxXs4eTU2oiWrhopr9sHw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNxsM0Bor098BJglrhfEQTl%2CEND$LR•IPV6•5『线路5』 CETV4,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031126&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路1』 CETV4,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000005000025333&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路2』 CETV4,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000012123&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路3』 CETV4,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226997/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EAw_OvjRgJVjtlaOa0dcgzg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•5『线路4』 CETV4,http://111.29.9.33:6610/000000001000/5000000011000031126/index.m3u8?channel-id=bestzb&Contentid=5000000011000031126&livemode=1&stbId=3$LR•IPV4•5『线路5』 -文化精品,http://60.10.139.113:8801/hls/80/index.m3u8$LR•IPV4•5『线路1』 -文化精品,http://207.56.13.146:81/cdnlive/ysjp.m3u8$LR•IPV4•5『线路2』 -文化精品,http://192.151.150.154/live/ysjp.m3u8$LR•IPV4•5『线路3』 -文化精品,http://173.208.212.130:8181/720p/ysjp.m3u8$LR•IPV4•5『线路4』 -文化精品,http://38.75.136.137:98/gslb/dsdqpub/ysjp.m3u8?auth=testpub$LR•IPV4•5『线路5』 +文化精品,http://38.75.136.137:98/gslb/dsdqpub/ysjp.m3u8?auth=testpub$LR•IPV4•5『线路1』 +文化精品,http://60.10.139.113:8801/hls/80/index.m3u8$LR•IPV4•5『线路2』 +文化精品,http://207.56.13.146:81/cdnlive/ysjp.m3u8$LR•IPV4•5『线路3』 +文化精品,http://192.151.150.154/live/ysjp.m3u8$LR•IPV4•5『线路4』 +文化精品,http://173.208.212.130:8181/720p/ysjp.m3u8$LR•IPV4•5『线路5』 CGTN英语,https://0472.org/hls/cgtn.m3u8$LR•IPV4 CGTN记录,https://0472.org/hls/cgtnd.m3u8$LR•IPV4•5『线路1』 CGTN记录,https://english-livetx.cgtn.com/hls/yypdjlctzb_hd.m3u8$LR•IPV4•5『线路2』 @@ -541,10 +544,10 @@ CGTN记录,https://english-livebkali.cgtn.com/live/doccgtn_0.m3u8$LR•IPV4•5 CGTN记录,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=8428799834696888424&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路4』 CGTN记录,https://0472.org/hls/cgtnd.m3u8?3.24.120:5140$LR•IPV4•5『线路5』 CGTN俄语,https://0472.org/hls/cgtne.m3u8$LR•IPV4•5『线路1』 -CGTN俄语,https://russian-livews.cgtn.com/hls/LSvexABhNipibK5KRuUkvHZ7220802LSTeze9o8tdFXMHsb1VosgoT220802cd/playlist.m3u8$LR•IPV4•5『线路2』 -CGTN俄语,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000006000280004&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路3』 -CGTN俄语,https://0472.org/hls/cgtne.m3u8?3.24.170:5140$LR•IPV4•5『线路4』 -CGTN俄语,p3p://167.114.175.6:55331/60e648570006544872703d417386353f$LR•IPV4•5『线路5』 +CGTN俄语,p3p://167.114.175.6:55331/60e648570006544872703d417386353f$LR•IPV4•5『线路2』 +CGTN俄语,https://russian-livews.cgtn.com/hls/LSvexABhNipibK5KRuUkvHZ7220802LSTeze9o8tdFXMHsb1VosgoT220802cd/playlist.m3u8$LR•IPV4•5『线路3』 +CGTN俄语,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000006000280004&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路4』 +CGTN俄语,https://0472.org/hls/cgtne.m3u8?3.24.170:5140$LR•IPV4•5『线路5』 CGTN法语,https://0472.org/hls/cgtnf.m3u8$LR•IPV4•4『线路1』 CGTN法语,https://francais-livews.cgtn.com/hls/LSvev95OuFZtKLc6CeKEFYXj220802LSTeV6PO0Ut9r71Uq3k5goCA220802cd/playlist.m3u8$LR•IPV4•4『线路2』 CGTN法语,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000006000280003&livemode=1&stbId=yu&mode=1&$LR•IPV4•4『线路3』 @@ -561,14 +564,14 @@ CGTN阿语,https://0472.org/hls/cgtna.m3u8?3.24.160:5140$LR•IPV4•4『线路4 卫视,#genre# 重温经典,http://112.27.235.94:8000/hls/50/index.m3u8$LR•IPV4•9『线路1』 -重温经典,http://cdn6.163189.xyz/163189/cwjd$LR•IPV4•9『线路2』 -重温经典,http://push.cdn1.hls123.de:8080/streams/g0jj471jied/index.m3u8$LR•IPV4•9『线路3』 -重温经典,http://php.jdshipin.com/TVOD/iptv.php?id=cwjd$LR•IPV4•9『线路4』 -重温经典,http://ali.hlspull.yximgs.com/live/awei_cwjd.flv$LR•IPV4•9『线路5』 -重温经典,http://home.kuaidi521.com:35455/bptv/10000100000000050000000003887494.m3u8$LR•IPV4•9『线路6』 -重温经典,http://cdn3.132.us.kg/live/cwjd/stream.m3u8$LR•IPV4•9『线路7』 -重温经典,http://43.251.226.89:8080/play/906.m3u8$LR•IPV4•9『线路8』 -重温经典,p3p://167.114.175.6:55331/65c5064800047df41ad1a47449e93b8b$LR•IPV4•9『线路9』 +重温经典,http://php.jdshipin.com/TVOD/iptv.php?id=cwjd$LR•IPV4•9『线路2』 +重温经典,http://ali.hlspull.yximgs.com/live/awei_cwjd.flv$LR•IPV4•9『线路3』 +重温经典,http://home.kuaidi521.com:35455/bptv/10000100000000050000000003887494.m3u8$LR•IPV4•9『线路4』 +重温经典,http://cdn3.132.us.kg/live/cwjd/stream.m3u8$LR•IPV4•9『线路5』 +重温经典,http://43.251.226.89:8080/play/906.m3u8$LR•IPV4•9『线路6』 +重温经典,p3p://167.114.175.6:55331/65c5064800047df41ad1a47449e93b8b$LR•IPV4•9『线路7』 +重温经典,http://cdn6.163189.xyz/163189/cwjd$LR•IPV4•9『线路8』 +重温经典,http://push.cdn1.hls123.de:8080/streams/g0jj471jied/index.m3u8$LR•IPV4•9『线路9』 香港卫视,http://webcast.hkstv.tv/livestream/mutfysrq/playlist.m3u8$LR•IPV4•2『线路1』 香港卫视,https://hkstv.tv/api/m3u8-proxy?url=http%3A%2F%2Fwebcast.hkstv.tv%2Flivestream%2Fmutfysrq%2Fplaylist.m3u8$LR•IPV4•2『线路2』 星空卫视,http://114.105.187.77:9901/tsfile/live/0117_1.m3u8$LR•IPV4•7『线路1』 @@ -579,613 +582,616 @@ CGTN阿语,https://0472.org/hls/cgtna.m3u8?3.24.160:5140$LR•IPV4•4『线路4 星空卫视,http://171.213.140.54:8123/udp/239.93.1.10:2193$LR•IPV4•7『线路6』 星空卫视,https://stream1.freetv.fun/xing-kong-wei-shi-4.ctv$LR•IPV4•7『线路7』 湖南卫视,http://120.196.232.43:8088/rrs03.hw.gmcc.net/PLTV/651/224/3221226698/1.m3u8$LR•IPV4•29『线路1』 -湖南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226509/1.m3u8?zoneoffset=480&servicetype=1&icpid=&limitflux=-1&limitdur=-1&tenantId=8601&accountinfo=%7E%7EV2.0%7EIGb_ib7rnBX9_sANRKq9sg%7EpK8OKM5JoJWWbLRyLfPcUMkwWZ90MzSI9S9PDltJsYzd0ZGcS3Tkh7syciNKJa-w60mDOdwtDyoNwCx9aRgzHNH9AUREV_qvNJtXHRPzYw0%7EExtInfo9bj61dxzlMXrsixrqcFYPg%3D%3D%3A20221022013542%2C915973%2C119.123.71.209%2C20221022013542%2C10000100000000050000000003873458%2C915973%2C-1%2C0%2C1%2C%2C%2C2%2C%2C%2C%2C2%2C%2C10000100000000060000000007253514_0%2CEND&GuardEncType=2$LR•IPV6•29『线路2』 -湖南卫视,http://112.123.243.37:50085/tsfile/live/1002_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•29『线路3』 -湖南卫视,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hnwshd$LR•IPV4•29『线路4』 -湖南卫视,http://153.0.171.163:9901/tsfile/live/0128_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•29『线路5』 +湖南卫视,http://112.123.243.37:50085/tsfile/live/1002_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•29『线路2』 +湖南卫视,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hnwshd$LR•IPV4•29『线路3』 +湖南卫视,http://153.0.171.163:9901/tsfile/live/0128_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•29『线路4』 +湖南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226509/1.m3u8?zoneoffset=480&servicetype=1&icpid=&limitflux=-1&limitdur=-1&tenantId=8601&accountinfo=%7E%7EV2.0%7EIGb_ib7rnBX9_sANRKq9sg%7EpK8OKM5JoJWWbLRyLfPcUMkwWZ90MzSI9S9PDltJsYzd0ZGcS3Tkh7syciNKJa-w60mDOdwtDyoNwCx9aRgzHNH9AUREV_qvNJtXHRPzYw0%7EExtInfo9bj61dxzlMXrsixrqcFYPg%3D%3D%3A20221022013542%2C915973%2C119.123.71.209%2C20221022013542%2C10000100000000050000000003873458%2C915973%2C-1%2C0%2C1%2C%2C%2C2%2C%2C%2C%2C2%2C%2C10000100000000060000000007253514_0%2CEND&GuardEncType=2$LR•IPV6•29『线路5』 湖南卫视,http://112.27.235.94:8000/hls/31/index.m3u8$LR•IPV4•29『线路6』 -湖南卫视,http://60.10.139.113:8801/hls/17/index.m3u8$LR•IPV4•29『线路7』 -湖南卫视,http://207.56.13.146:81/cdnlive/hnws.m3u8$LR•IPV4•29『线路8』 -湖南卫视,http://192.151.150.154/live/hnwshd.m3u8$LR•IPV4•29『线路9』 -湖南卫视,http://173.208.212.130:8181/1080p/hnws.m3u8$LR•IPV4•29『线路10』 -湖南卫视,http://173.208.212.130:8181/720p/hnws.m3u8$LR•IPV4•29『线路11』 -湖南卫视,http://204.12.221.218:8181/3m1080p/hnws.m3u8$LR•IPV4•29『线路12』 -湖南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000009115&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路13』 -湖南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000032695&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路14』 -湖南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265024&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路15』 -湖南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6954818217931477266&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路16』 -湖南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006692&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路17』 -湖南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000010000030452&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路18』 -湖南卫视,http://111.29.9.33:6610/000000001000/1000000001000009115/index.m3u8?channel-id=bestzb&Contentid=1000000001000009115&livemode=1&stbId=3$LR•IPV4•29『线路19』 -湖南卫视,http://38.75.136.137:98/gslb/dsdqpub/hnwshd.m3u8?auth=testpub$LR•IPV4•29『线路20』 -湖南卫视,http://74.91.26.218:82/live/hnwshd.m3u8$LR•IPV4•29『线路21』 -湖南卫视,https://hlsbkmgsplive.miguvideo.com/wd-hunanhd-2500/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•29『线路22』 -湖南卫视,https://hlsbkmgsplive.miguvideo.com/wd-hunanhd-1200/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•29『线路23』 -湖南卫视,http://23.237.228.134/live6/hunan.m3u8$LR•IPV4•29『线路24』 -湖南卫视,http://gfr.x3322.net:9901/tsfile/live/1084_1.m3u8$LR•IPV4•29『线路25』 -湖南卫视,http://api.kkitv.itv888.cn:8080/hls/hoxiunz7ce/index.m3u8$LR•IPV4•29『线路26』 -湖南卫视,https://iptv.catvod.com/catvod.php?id=hunws$LR•IPV4•29『线路27』 -湖南卫视,https://httop.top/ysp-湖南卫视$LR•IPV4•29『线路28』 -湖南卫视,http://iptv.huuc.edu.cn/hls/hunanhd.m3u8$LR•IPV4•29『线路29』 +湖南卫视,http://38.75.136.137:98/gslb/dsdqpub/hnwshd.m3u8?auth=testpub$LR•IPV4•29『线路7』 +湖南卫视,http://74.91.26.218:82/live/hnwshd.m3u8$LR•IPV4•29『线路8』 +湖南卫视,https://hlsbkmgsplive.miguvideo.com/wd-hunanhd-2500/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•29『线路9』 +湖南卫视,https://hlsbkmgsplive.miguvideo.com/wd-hunanhd-1200/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•29『线路10』 +湖南卫视,http://23.237.228.134/live6/hunan.m3u8$LR•IPV4•29『线路11』 +湖南卫视,http://gfr.x3322.net:9901/tsfile/live/1084_1.m3u8$LR•IPV4•29『线路12』 +湖南卫视,http://api.kkitv.itv888.cn:8080/hls/hoxiunz7ce/index.m3u8$LR•IPV4•29『线路13』 +湖南卫视,https://iptv.catvod.com/catvod.php?id=hunws$LR•IPV4•29『线路14』 +湖南卫视,https://httop.top/ysp-湖南卫视$LR•IPV4•29『线路15』 +湖南卫视,http://iptv.huuc.edu.cn/hls/hunanhd.m3u8$LR•IPV4•29『线路16』 +湖南卫视,http://60.10.139.113:8801/hls/17/index.m3u8$LR•IPV4•29『线路17』 +湖南卫视,http://207.56.13.146:81/cdnlive/hnws.m3u8$LR•IPV4•29『线路18』 +湖南卫视,http://192.151.150.154/live/hnwshd.m3u8$LR•IPV4•29『线路19』 +湖南卫视,http://173.208.212.130:8181/1080p/hnws.m3u8$LR•IPV4•29『线路20』 +湖南卫视,http://173.208.212.130:8181/720p/hnws.m3u8$LR•IPV4•29『线路21』 +湖南卫视,http://204.12.221.218:8181/3m1080p/hnws.m3u8$LR•IPV4•29『线路22』 +湖南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000009115&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路23』 +湖南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000032695&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路24』 +湖南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265024&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路25』 +湖南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6954818217931477266&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路26』 +湖南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006692&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路27』 +湖南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000010000030452&livemode=1&stbId=yu&mode=1&$LR•IPV4•29『线路28』 +湖南卫视,http://111.29.9.33:6610/000000001000/1000000001000009115/index.m3u8?channel-id=bestzb&Contentid=1000000001000009115&livemode=1&stbId=3$LR•IPV4•29『线路29』 浙江卫视,http://zwebl02.cztv.com/live/channel01720Pnew.m3u8?auth_key=1783518672-abafeb108fad7c478964c0ced1f0b11a-0-54138a5dbacfcbe8c2a5c28b6d569235$LR•IPV4•34『线路1』 -浙江卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226899/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ETYfTgTra_pUx2cPrgZ_BDw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•34『线路2』 +浙江卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225703/index.m3u8$LR•IPV4•34『线路2』 浙江卫视,http://112.123.243.37:50085/tsfile/live/0019_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•34『线路3』 浙江卫视,http://ali-xwl.cztv.com/live/channel011080Plxw.m3u8$LR•IPV4•34『线路4』 浙江卫视,http://120.202.94.181:9446/tsfile/live/0124_1.m3u8?key=txiptv$LR•IPV4•34『线路5』 浙江卫视,http://ali-xwl.cztv.com/live/channel01720Plxw.m3u8$LR•IPV4•34『线路6』 浙江卫视,http://36.136.38.87:9901/tsfile/live/0124_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•34『线路7』 -浙江卫视,http://112.27.235.94:8000/hls/29/index.m3u8$LR•IPV4•34『线路8』 -浙江卫视,http://60.10.139.113:8801/hls/18/index.m3u8$LR•IPV4•34『线路9』 -浙江卫视,http://207.56.13.146:81/cdnlive/zjws.m3u8$LR•IPV4•34『线路10』 -浙江卫视,http://192.151.150.154/live/zjwshd.m3u8$LR•IPV4•34『线路11』 -浙江卫视,http://173.208.212.130:8181/1080p/zjws.m3u8$LR•IPV4•34『线路12』 -浙江卫视,http://173.208.212.130:8181/720p/zjws.m3u8$LR•IPV4•34『线路13』 -浙江卫视,http://204.12.221.218:8181/3m1080p/zjws.m3u8$LR•IPV4•34『线路14』 -浙江卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000007275&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路15』 -浙江卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000017320&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路16』 -浙江卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000009806&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路17』 -浙江卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000014260&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路18』 -浙江卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=7889730693553663314&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路19』 -浙江卫视,https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8$LR•IPV4•34『线路20』 -浙江卫视,http://ali-m-l.cztv.com:80/channels/lantian/channel001/1080p.m3u8#http://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8#https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8#https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8?#http://ali-m-l.cztv.com:80/channels/lantian/channel001/1080p.m3u8$LR•IPV4•34『线路21』 -浙江卫视,http://183.215.134.239:19901/tsfile/live/0124_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•34『线路22』 -浙江卫视,http://ali-m-l.cztv.com/channels/lantian/channel001/720p.m3u8$LR•IPV4•34『线路23』 -浙江卫视,http://ali-m-l.cztv.com:80/channels/lantian/channel001/1080p.m3u8$LR•IPV4•34『线路24』 -浙江卫视,http://111.29.9.33:6610/000000001000/1000000001000009806/index.m3u8?channel-id=bestzb&Contentid=1000000001000009806&livemode=1&stbId=3$LR•IPV4•34『线路25』 -浙江卫视,http://38.75.136.137:98/gslb/dsdqpub/zjwshd.m3u8?auth=testpub$LR•IPV4•34『线路26』 -浙江卫视,http://23.237.228.134/live6/zhejiang.m3u8$LR•IPV4•34『线路27』 -浙江卫视,http://gfr.x3322.net:9901/tsfile/live/1087_1.m3u8$LR•IPV4•34『线路28』 -浙江卫视,http://api.kkitv.itv888.cn:8080/hls/urjqjvyf41q/index.m3u8$LR•IPV4•34『线路29』 -浙江卫视,https://iptv.catvod.com/catvod.php?id=zjws$LR•IPV4•34『线路30』 -浙江卫视,https://httop.top/ysp-浙江卫视$LR•IPV4•34『线路31』 -浙江卫视,http://iptv.huuc.edu.cn/hls/zjhd.m3u8$LR•IPV4•34『线路32』 -浙江卫视,http://153.0.171.163:9901/tsfile/live/0124_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•34『线路33』 -浙江卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225703/index.m3u8$LR•IPV4•34『线路34』 -东方卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226898/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0uh4lyjjBCCN7TCq21vSIQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路1』 +浙江卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226899/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ETYfTgTra_pUx2cPrgZ_BDw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•34『线路8』 +浙江卫视,http://112.27.235.94:8000/hls/29/index.m3u8$LR•IPV4•34『线路9』 +浙江卫视,http://38.75.136.137:98/gslb/dsdqpub/zjwshd.m3u8?auth=testpub$LR•IPV4•34『线路10』 +浙江卫视,http://23.237.228.134/live6/zhejiang.m3u8$LR•IPV4•34『线路11』 +浙江卫视,http://gfr.x3322.net:9901/tsfile/live/1087_1.m3u8$LR•IPV4•34『线路12』 +浙江卫视,http://api.kkitv.itv888.cn:8080/hls/urjqjvyf41q/index.m3u8$LR•IPV4•34『线路13』 +浙江卫视,https://iptv.catvod.com/catvod.php?id=zjws$LR•IPV4•34『线路14』 +浙江卫视,https://httop.top/ysp-浙江卫视$LR•IPV4•34『线路15』 +浙江卫视,http://iptv.huuc.edu.cn/hls/zjhd.m3u8$LR•IPV4•34『线路16』 +浙江卫视,http://153.0.171.163:9901/tsfile/live/0124_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•34『线路17』 +浙江卫视,http://60.10.139.113:8801/hls/18/index.m3u8$LR•IPV4•34『线路18』 +浙江卫视,http://207.56.13.146:81/cdnlive/zjws.m3u8$LR•IPV4•34『线路19』 +浙江卫视,http://192.151.150.154/live/zjwshd.m3u8$LR•IPV4•34『线路20』 +浙江卫视,http://173.208.212.130:8181/1080p/zjws.m3u8$LR•IPV4•34『线路21』 +浙江卫视,http://173.208.212.130:8181/720p/zjws.m3u8$LR•IPV4•34『线路22』 +浙江卫视,http://204.12.221.218:8181/3m1080p/zjws.m3u8$LR•IPV4•34『线路23』 +浙江卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000007275&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路24』 +浙江卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000017320&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路25』 +浙江卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000009806&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路26』 +浙江卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000014260&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路27』 +浙江卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=7889730693553663314&livemode=1&stbId=yu&mode=1&$LR•IPV4•34『线路28』 +浙江卫视,https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8$LR•IPV4•34『线路29』 +浙江卫视,http://ali-m-l.cztv.com:80/channels/lantian/channel001/1080p.m3u8#http://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8#https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8#https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8?#http://ali-m-l.cztv.com:80/channels/lantian/channel001/1080p.m3u8$LR•IPV4•34『线路30』 +浙江卫视,http://183.215.134.239:19901/tsfile/live/0124_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•34『线路31』 +浙江卫视,http://ali-m-l.cztv.com/channels/lantian/channel001/720p.m3u8$LR•IPV4•34『线路32』 +浙江卫视,http://ali-m-l.cztv.com:80/channels/lantian/channel001/1080p.m3u8$LR•IPV4•34『线路33』 +浙江卫视,http://111.29.9.33:6610/000000001000/1000000001000009806/index.m3u8?channel-id=bestzb&Contentid=1000000001000009806&livemode=1&stbId=3$LR•IPV4•34『线路34』 +东方卫视,http://118.81.195.79:9003/hls/23/index.m3u8$LR•IPV4•28『线路1』 东方卫视,http://112.123.243.37:50085/tsfile/live/0124_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•28『线路2』 东方卫视,http://bp-resource-dfl.bestv.cn/155/3/video.m3u8$LR•IPV4•28『线路3』 东方卫视,http://222.90.21.30:9901/hls/20/index.m3u8$LR•IPV4•28『线路4』 东方卫视,https://txmov2.a.kwimgs.com/bs3/video-hls/5219953535631090825_hlsb.m3u8$LR•IPV4•28『线路5』 东方卫视,http://153.0.171.163:9901/tsfile/live/0107_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路6』 -东方卫视,http://60.10.139.113:8801/hls/22/index.m3u8$LR•IPV4•28『线路7』 -东方卫视,http://207.56.13.146:81/cdnlive/dfws.m3u8$LR•IPV4•28『线路8』 -东方卫视,http://192.151.150.154/live/dfwshd.m3u8$LR•IPV4•28『线路9』 -东方卫视,http://173.208.212.130:8181/720p/dfws.m3u8$LR•IPV4•28『线路10』 -东方卫视,http://204.12.221.218:8181/3m1080p/dfws.m3u8$LR•IPV4•28『线路11』 -东方卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000005866&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路12』 -东方卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000030202&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路13』 -东方卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6081477947334326291&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路14』 -东方卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000014098&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路15』 -东方卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000010000032246&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路16』 -东方卫视,http://111.29.9.33:6610/000000001000/1000000001000005866/index.m3u8?channel-id=bestzb&Contentid=1000000001000005866&livemode=1&stbId=3$LR•IPV4•28『线路17』 -东方卫视,http://38.75.136.137:98/gslb/dsdqbv/dfwshd.m3u8?auth=test20251009$LR•IPV4•28『线路18』 -东方卫视,http://23.237.228.134/live3/dongfang.m3u8$LR•IPV4•28『线路19』 -东方卫视,http://43.251.226.89:8080/play/36.m3u8$LR•IPV4•28『线路20』 -东方卫视,http://gfr.x3322.net:9901/tsfile/live/1085_1.m3u8$LR•IPV4•28『线路21』 -东方卫视,http://api.kkitv.itv888.cn:8080/hls/p269fvbehye/index.m3u8$LR•IPV4•28『线路22』 -东方卫视,https://iptv.catvod.com/catvod.php?id=dfws$LR•IPV4•28『线路23』 -东方卫视,https://httop.top/ysp-东方卫视$LR•IPV4•28『线路24』 -东方卫视,http://iptv.huuc.edu.cn/hls/dfhd.m3u8$LR•IPV4•28『线路25』 -东方卫视,http://mg.hmysapp.cn:177/ckmg/zb.php?id=dfws$LR•IPV4•28『线路26』 -东方卫视,http://omnix.cn:4000/udp/225.1.8.45:8032$LR•IPV4•28『线路27』 -东方卫视,http://118.81.195.79:9003/hls/23/index.m3u8$LR•IPV4•28『线路28』 -北京卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226900/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EcYPi33WFyhvd6SjmqUKhJg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•26『线路1』 +东方卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226898/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0uh4lyjjBCCN7TCq21vSIQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路7』 +东方卫视,http://38.75.136.137:98/gslb/dsdqbv/dfwshd.m3u8?auth=test20251009$LR•IPV4•28『线路8』 +东方卫视,http://23.237.228.134/live3/dongfang.m3u8$LR•IPV4•28『线路9』 +东方卫视,http://43.251.226.89:8080/play/36.m3u8$LR•IPV4•28『线路10』 +东方卫视,http://gfr.x3322.net:9901/tsfile/live/1085_1.m3u8$LR•IPV4•28『线路11』 +东方卫视,http://api.kkitv.itv888.cn:8080/hls/p269fvbehye/index.m3u8$LR•IPV4•28『线路12』 +东方卫视,https://iptv.catvod.com/catvod.php?id=dfws$LR•IPV4•28『线路13』 +东方卫视,https://httop.top/ysp-东方卫视$LR•IPV4•28『线路14』 +东方卫视,http://iptv.huuc.edu.cn/hls/dfhd.m3u8$LR•IPV4•28『线路15』 +东方卫视,http://mg.hmysapp.cn:177/ckmg/zb.php?id=dfws$LR•IPV4•28『线路16』 +东方卫视,http://omnix.cn:4000/udp/225.1.8.45:8032$LR•IPV4•28『线路17』 +东方卫视,http://60.10.139.113:8801/hls/22/index.m3u8$LR•IPV4•28『线路18』 +东方卫视,http://207.56.13.146:81/cdnlive/dfws.m3u8$LR•IPV4•28『线路19』 +东方卫视,http://192.151.150.154/live/dfwshd.m3u8$LR•IPV4•28『线路20』 +东方卫视,http://173.208.212.130:8181/720p/dfws.m3u8$LR•IPV4•28『线路21』 +东方卫视,http://204.12.221.218:8181/3m1080p/dfws.m3u8$LR•IPV4•28『线路22』 +东方卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000005866&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路23』 +东方卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000030202&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路24』 +东方卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6081477947334326291&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路25』 +东方卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000014098&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路26』 +东方卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000010000032246&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路27』 +东方卫视,http://111.29.9.33:6610/000000001000/1000000001000005866/index.m3u8?channel-id=bestzb&Contentid=1000000001000005866&livemode=1&stbId=3$LR•IPV4•28『线路28』 +北京卫视,http://go.bkpcp.top/mg/bjws$LR•IPV4•26『线路1』 北京卫视,http://112.123.243.37:50085/tsfile/live/0127_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•26『线路2』 北京卫视,http://153.0.171.163:9901/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路3』 -北京卫视,http://112.27.235.94:8000/hls/27/index.m3u8$LR•IPV4•26『线路4』 -北京卫视,http://60.10.139.113:8801/hls/20/index.m3u8$LR•IPV4•26『线路5』 -北京卫视,http://207.56.13.146:81/cdnlive/bjws.m3u8$LR•IPV4•26『线路6』 -北京卫视,http://192.151.150.154/live/bjwshd.m3u8$LR•IPV4•26『线路7』 -北京卫视,http://173.208.212.130:8181/720p/bjws.m3u8$LR•IPV4•26『线路8』 -北京卫视,http://204.12.221.218:8181/3m1080p/bjws.m3u8$LR•IPV4•26『线路9』 -北京卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000031556&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路10』 -北京卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000011502&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路11』 -北京卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000017156&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路12』 -北京卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000021288&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路13』 -北京卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265027&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路14』 -北京卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=8186688740528366039&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路15』 -北京卫视,http://111.29.9.42:6610/000000001000/1000000001000017156/index.m3u8?channel-id=ystenlive&Contentid=1000000001000017156&livemode=1&stbId=3$LR•IPV4•26『线路16』 -北京卫视,http://111.29.9.33:6610/000000001000/1000000001000017156/index.m3u8?channel-id=bestzb&Contentid=1000000001000017156&livemode=1&stbId=3$LR•IPV4•26『线路17』 -北京卫视,http://38.75.136.137:98/gslb/dsdqpub/bjwshd.m3u8?auth=testpub$LR•IPV4•26『线路18』 -北京卫视,http://23.237.228.134/live3/beijing.m3u8$LR•IPV4•26『线路19』 -北京卫视,http://43.251.226.89:8080/play/40.m3u8$LR•IPV4•26『线路20』 -北京卫视,http://gfr.x3322.net:9901/tsfile/live/1089_1.m3u8$LR•IPV4•26『线路21』 -北京卫视,http://api.kkitv.itv888.cn:8080/hls/h5uud1z84gn/index.m3u8$LR•IPV4•26『线路22』 -北京卫视,https://iptv.catvod.com/catvod.php?id=bjws$LR•IPV4•26『线路23』 -北京卫视,https://httop.top/ysp-北京卫视$LR•IPV4•26『线路24』 -北京卫视,http://iptv.huuc.edu.cn/hls/btv1hd.m3u8$LR•IPV4•26『线路25』 -北京卫视,http://go.bkpcp.top/mg/bjws$LR•IPV4•26『线路26』 -江苏卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226897/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0BmO6uHF7WFoTed__Xr3NQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路1』 +北京卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226900/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EcYPi33WFyhvd6SjmqUKhJg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•26『线路4』 +北京卫视,http://112.27.235.94:8000/hls/27/index.m3u8$LR•IPV4•26『线路5』 +北京卫视,http://38.75.136.137:98/gslb/dsdqpub/bjwshd.m3u8?auth=testpub$LR•IPV4•26『线路6』 +北京卫视,http://23.237.228.134/live3/beijing.m3u8$LR•IPV4•26『线路7』 +北京卫视,http://43.251.226.89:8080/play/40.m3u8$LR•IPV4•26『线路8』 +北京卫视,http://gfr.x3322.net:9901/tsfile/live/1089_1.m3u8$LR•IPV4•26『线路9』 +北京卫视,http://api.kkitv.itv888.cn:8080/hls/h5uud1z84gn/index.m3u8$LR•IPV4•26『线路10』 +北京卫视,https://iptv.catvod.com/catvod.php?id=bjws$LR•IPV4•26『线路11』 +北京卫视,https://httop.top/ysp-北京卫视$LR•IPV4•26『线路12』 +北京卫视,http://iptv.huuc.edu.cn/hls/btv1hd.m3u8$LR•IPV4•26『线路13』 +北京卫视,http://60.10.139.113:8801/hls/20/index.m3u8$LR•IPV4•26『线路14』 +北京卫视,http://207.56.13.146:81/cdnlive/bjws.m3u8$LR•IPV4•26『线路15』 +北京卫视,http://192.151.150.154/live/bjwshd.m3u8$LR•IPV4•26『线路16』 +北京卫视,http://173.208.212.130:8181/720p/bjws.m3u8$LR•IPV4•26『线路17』 +北京卫视,http://204.12.221.218:8181/3m1080p/bjws.m3u8$LR•IPV4•26『线路18』 +北京卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000031556&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路19』 +北京卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000011502&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路20』 +北京卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000017156&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路21』 +北京卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000021288&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路22』 +北京卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265027&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路23』 +北京卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=8186688740528366039&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路24』 +北京卫视,http://111.29.9.42:6610/000000001000/1000000001000017156/index.m3u8?channel-id=ystenlive&Contentid=1000000001000017156&livemode=1&stbId=3$LR•IPV4•26『线路25』 +北京卫视,http://111.29.9.33:6610/000000001000/1000000001000017156/index.m3u8?channel-id=bestzb&Contentid=1000000001000017156&livemode=1&stbId=3$LR•IPV4•26『线路26』 +江苏卫视,http://39.134.24.166/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226200/index.m3u8$LR•IPV4•27『线路1』 江苏卫视,http://112.123.243.37:50085/tsfile/live/0017_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•27『线路2』 江苏卫视,http://36.136.38.87:9901/tsfile/live/0127_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路3』 -江苏卫视,http://112.27.235.94:8000/hls/32/index.m3u8$LR•IPV4•27『线路4』 -江苏卫视,http://60.10.139.113:8801/hls/19/index.m3u8$LR•IPV4•27『线路5』 -江苏卫视,http://207.56.13.146:81/cdnlive/jsws.m3u8$LR•IPV4•27『线路6』 -江苏卫视,http://192.151.150.154/live/jswshd.m3u8$LR•IPV4•27『线路7』 -江苏卫视,http://173.208.212.130:8181/1080p/jsws.m3u8$LR•IPV4•27『线路8』 -江苏卫视,http://173.208.212.130:8181/720p/jsws.m3u8$LR•IPV4•27『线路9』 -江苏卫视,http://204.12.221.218:8181/3m1080p/jsws.m3u8$LR•IPV4•27『线路10』 -江苏卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000004684&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路11』 -江苏卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=4796340999304424198&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路12』 -江苏卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000019351&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路13』 -江苏卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000010000018509&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路14』 -江苏卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000001828&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路15』 -江苏卫视,http://111.29.9.42:6610/000000001000/5000000004000019351/index.m3u8?channel-id=bestzb&Contentid=5000000004000019351&livemode=1&stbId=3$LR•IPV4•27『线路16』 -江苏卫视,http://111.29.9.33:6610/000000001000/1000000001000001828/index.m3u8?channel-id=bestzb&Contentid=1000000001000001828&livemode=1&stbId=3$LR•IPV4•27『线路17』 -江苏卫视,http://38.75.136.137:98/gslb/dsdqbv/jswshd.m3u8?auth=test20251009$LR•IPV4•27『线路18』 -江苏卫视,https://hlsbkmgsplive.miguvideo.com/migu/kailu/jswshd265/55/20200407/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•27『线路19』 -江苏卫视,http://23.237.228.134/live3/jiangsu.m3u8$LR•IPV4•27『线路20』 -江苏卫视,http://43.251.226.89:8080/play/37.m3u8$LR•IPV4•27『线路21』 -江苏卫视,http://gfr.x3322.net:9901/tsfile/live/1086_1.m3u8$LR•IPV4•27『线路22』 -江苏卫视,http://api.kkitv.itv888.cn:8080/hls/g1upm1u239/index.m3u8$LR•IPV4•27『线路23』 -江苏卫视,https://httop.top/ysp-江苏卫视$LR•IPV4•27『线路24』 -江苏卫视,http://iptv.huuc.edu.cn/hls/jshd.m3u8$LR•IPV4•27『线路25』 -江苏卫视,http://mg.hmysapp.cn:177/ckmg/zb.php?id=jsws$LR•IPV4•27『线路26』 -江苏卫视,http://39.134.24.166/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226200/index.m3u8$LR•IPV4•27『线路27』 -安徽卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226943/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0QmKQ_slRCwvVVUUfxPVbw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•23『线路1』 -安徽卫视,http://112.123.243.37:50085/tsfile/live/0130_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•23『线路2』 -安徽卫视,http://222.90.21.30:9901/hls/25/index.m3u8$LR•IPV4•23『线路3』 -安徽卫视,http://153.0.171.163:9901/tsfile/live/0130_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路4』 +江苏卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226897/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0BmO6uHF7WFoTed__Xr3NQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路4』 +江苏卫视,http://112.27.235.94:8000/hls/32/index.m3u8$LR•IPV4•27『线路5』 +江苏卫视,http://38.75.136.137:98/gslb/dsdqbv/jswshd.m3u8?auth=test20251009$LR•IPV4•27『线路6』 +江苏卫视,https://hlsbkmgsplive.miguvideo.com/migu/kailu/jswshd265/55/20200407/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•27『线路7』 +江苏卫视,http://23.237.228.134/live3/jiangsu.m3u8$LR•IPV4•27『线路8』 +江苏卫视,http://43.251.226.89:8080/play/37.m3u8$LR•IPV4•27『线路9』 +江苏卫视,http://gfr.x3322.net:9901/tsfile/live/1086_1.m3u8$LR•IPV4•27『线路10』 +江苏卫视,http://api.kkitv.itv888.cn:8080/hls/g1upm1u239/index.m3u8$LR•IPV4•27『线路11』 +江苏卫视,https://httop.top/ysp-江苏卫视$LR•IPV4•27『线路12』 +江苏卫视,http://iptv.huuc.edu.cn/hls/jshd.m3u8$LR•IPV4•27『线路13』 +江苏卫视,http://mg.hmysapp.cn:177/ckmg/zb.php?id=jsws$LR•IPV4•27『线路14』 +江苏卫视,http://60.10.139.113:8801/hls/19/index.m3u8$LR•IPV4•27『线路15』 +江苏卫视,http://207.56.13.146:81/cdnlive/jsws.m3u8$LR•IPV4•27『线路16』 +江苏卫视,http://192.151.150.154/live/jswshd.m3u8$LR•IPV4•27『线路17』 +江苏卫视,http://173.208.212.130:8181/1080p/jsws.m3u8$LR•IPV4•27『线路18』 +江苏卫视,http://173.208.212.130:8181/720p/jsws.m3u8$LR•IPV4•27『线路19』 +江苏卫视,http://204.12.221.218:8181/3m1080p/jsws.m3u8$LR•IPV4•27『线路20』 +江苏卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000004684&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路21』 +江苏卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=4796340999304424198&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路22』 +江苏卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000019351&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路23』 +江苏卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000010000018509&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路24』 +江苏卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000001828&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路25』 +江苏卫视,http://111.29.9.42:6610/000000001000/5000000004000019351/index.m3u8?channel-id=bestzb&Contentid=5000000004000019351&livemode=1&stbId=3$LR•IPV4•27『线路26』 +江苏卫视,http://111.29.9.33:6610/000000001000/1000000001000001828/index.m3u8?channel-id=bestzb&Contentid=1000000001000001828&livemode=1&stbId=3$LR•IPV4•27『线路27』 +安徽卫视,http://112.123.243.37:50085/tsfile/live/0130_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•23『线路1』 +安徽卫视,http://222.90.21.30:9901/hls/25/index.m3u8$LR•IPV4•23『线路2』 +安徽卫视,http://153.0.171.163:9901/tsfile/live/0130_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路3』 +安徽卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226943/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0QmKQ_slRCwvVVUUfxPVbw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•23『线路4』 安徽卫视,http://112.27.235.94:8000/hls/26/index.m3u8$LR•IPV4•23『线路5』 -安徽卫视,http://60.10.139.113:8801/hls/99/index.m3u8$LR•IPV4•23『线路6』 -安徽卫视,http://207.56.13.146:81/cdnlive/ahws.m3u8$LR•IPV4•23『线路7』 -安徽卫视,http://192.151.150.154/live/ahwshd.m3u8$LR•IPV4•23『线路8』 -安徽卫视,http://173.208.212.130:8181/720p/ahws.m3u8$LR•IPV4•23『线路9』 -安徽卫视,http://204.12.221.218:8181/3m1080p/ahws.m3u8$LR•IPV4•23『线路10』 -安徽卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000023002&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路11』 -安徽卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000020780&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路12』 -安徽卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000030159&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路13』 -安徽卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000027288&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路14』 -安徽卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265025&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路15』 -安徽卫视,http://111.29.9.34:6610/000000001000/1000000001000020780/index.m3u8?channel-id=ystenlive&Contentid=1000000001000020780&livemode=1&stbId=3$LR•IPV4•23『线路16』 -安徽卫视,http://111.29.9.33:6610/000000001000/1000000001000020780/index.m3u8?channel-id=bestzb&Contentid=1000000001000020780&livemode=1&stbId=3$LR•IPV4•23『线路17』 -安徽卫视,http://23.237.228.134/live8/anhui.m3u8$LR•IPV4•23『线路18』 -安徽卫视,http://gfr.x3322.net:9901/tsfile/live/1092_1.m3u8$LR•IPV4•23『线路19』 -安徽卫视,http://api.kkitv.itv888.cn:8080/hls/m8hvytneunk/index.m3u8$LR•IPV4•23『线路20』 -安徽卫视,https://iptv.catvod.com/catvod.php?id=ahws$LR•IPV4•23『线路21』 -安徽卫视,https://httop.top/ysp-安徽卫视$LR•IPV4•23『线路22』 -安徽卫视,http://iptv.huuc.edu.cn/hls/ahhd.m3u8$LR•IPV4•23『线路23』 +安徽卫视,http://23.237.228.134/live8/anhui.m3u8$LR•IPV4•23『线路6』 +安徽卫视,http://gfr.x3322.net:9901/tsfile/live/1092_1.m3u8$LR•IPV4•23『线路7』 +安徽卫视,http://api.kkitv.itv888.cn:8080/hls/m8hvytneunk/index.m3u8$LR•IPV4•23『线路8』 +安徽卫视,https://iptv.catvod.com/catvod.php?id=ahws$LR•IPV4•23『线路9』 +安徽卫视,https://httop.top/ysp-安徽卫视$LR•IPV4•23『线路10』 +安徽卫视,http://iptv.huuc.edu.cn/hls/ahhd.m3u8$LR•IPV4•23『线路11』 +安徽卫视,http://60.10.139.113:8801/hls/99/index.m3u8$LR•IPV4•23『线路12』 +安徽卫视,http://207.56.13.146:81/cdnlive/ahws.m3u8$LR•IPV4•23『线路13』 +安徽卫视,http://192.151.150.154/live/ahwshd.m3u8$LR•IPV4•23『线路14』 +安徽卫视,http://173.208.212.130:8181/720p/ahws.m3u8$LR•IPV4•23『线路15』 +安徽卫视,http://204.12.221.218:8181/3m1080p/ahws.m3u8$LR•IPV4•23『线路16』 +安徽卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000023002&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路17』 +安徽卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000020780&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路18』 +安徽卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000030159&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路19』 +安徽卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000027288&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路20』 +安徽卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265025&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路21』 +安徽卫视,http://111.29.9.34:6610/000000001000/1000000001000020780/index.m3u8?channel-id=ystenlive&Contentid=1000000001000020780&livemode=1&stbId=3$LR•IPV4•23『线路22』 +安徽卫视,http://111.29.9.33:6610/000000001000/1000000001000020780/index.m3u8?channel-id=bestzb&Contentid=1000000001000020780&livemode=1&stbId=3$LR•IPV4•23『线路23』 重庆卫视,http://tmpstream.hyrtv.cn/xwzh/sd/live.m3u8$LR•IPV4•23『线路1』 -重庆卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226963/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EjTXsJprEx2nE38tdvu5lhA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•23『线路2』 +重庆卫视,http://118.81.195.79:9003/hls/22/index.m3u8$LR•IPV4•23『线路2』 重庆卫视,http://222.90.21.30:9901/hls/69/index.m3u8$LR•IPV4•23『线路3』 重庆卫视,http://222.90.21.30:9901/hls/29/index.m3u8$LR•IPV4•23『线路4』 重庆卫视,http://112.123.243.37:50085/tsfile/live/0131_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•23『线路5』 重庆卫视,http://153.0.171.163:9901/tsfile/live/0142_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路6』 -重庆卫视,http://112.27.235.94:8000/hls/36/index.m3u8$LR•IPV4•23『线路7』 -重庆卫视,http://60.10.139.113:8801/hls/31/index.m3u8$LR•IPV4•23『线路8』 -重庆卫视,http://207.56.13.146:81/cdnlive/cqws.m3u8$LR•IPV4•23『线路9』 -重庆卫视,http://192.151.150.154/live/cqwshd.m3u8$LR•IPV4•23『线路10』 -重庆卫视,http://204.12.221.218:8181/3m1080p/cqws.m3u8$LR•IPV4•23『线路11』 -重庆卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000025797&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路12』 -重庆卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000001096&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路13』 -重庆卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000018937&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路14』 -重庆卫视,http://111.29.9.33:6610/000000001000/1000000001000001096/index.m3u8?channel-id=bestzb&Contentid=1000000001000001096&livemode=1&stbId=3$LR•IPV4•23『线路15』 -重庆卫视,http://23.237.228.134/live6/chongqing.m3u8$LR•IPV4•23『线路16』 -重庆卫视,http://43.251.226.89:8080/play/55.m3u8$LR•IPV4•23『线路17』 -重庆卫视,http://gfr.x3322.net:9901/tsfile/live/1093_1.m3u8$LR•IPV4•23『线路18』 -重庆卫视,http://api.kkitv.itv888.cn:8080/hls/ogh3s6tbw6/index.m3u8$LR•IPV4•23『线路19』 -重庆卫视,https://iptv.catvod.com/catvod.php?id=cqws$LR•IPV4•23『线路20』 -重庆卫视,https://httop.top/ysp-重庆卫视$LR•IPV4•23『线路21』 -重庆卫视,http://iptv.huuc.edu.cn/hls/cqhd.m3u8$LR•IPV4•23『线路22』 -重庆卫视,http://118.81.195.79:9003/hls/22/index.m3u8$LR•IPV4•23『线路23』 -四川卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226995/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EBQiz3wrGrpG0CUSRIJ-7Jg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•21『线路1』 -四川卫视,http://222.90.21.30:9901/hls/45/index.m3u8$LR•IPV4•21『线路2』 -四川卫视,http://107.150.60.122/live/scwshd.m3u8$LR•IPV4•21『线路3』 -四川卫视,http://222.169.85.8:9901/tsfile/live/0123_1.m3u8$LR•IPV4•21『线路4』 -四川卫视,http://112.123.243.37:50085/tsfile/live/0139_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•21『线路5』 -四川卫视,http://113.25.252.226:9901/tsfile/live/1031_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路6』 -四川卫视,http://112.27.235.94:8000/hls/35/index.m3u8$LR•IPV4•21『线路7』 -四川卫视,http://60.10.139.113:8801/hls/30/index.m3u8$LR•IPV4•21『线路8』 -四川卫视,http://207.56.13.146:81/cdnlive/scws.m3u8$LR•IPV4•21『线路9』 -四川卫视,http://192.151.150.154/live/scwshd.m3u8$LR•IPV4•21『线路10』 -四川卫视,http://204.12.221.218:8181/3m1080p/scws.m3u8$LR•IPV4•21『线路11』 -四川卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006119&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路12』 -四川卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000016825&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路13』 -四川卫视,http://111.29.9.37:6610/000000001000/1000000002000016825/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•21『线路14』 -四川卫视,http://111.29.9.33:6610/000000001000/1000000002000016825/index.m3u8?channel-id=bestzb&Contentid=1000000002000016825&livemode=1&stbId=3$LR•IPV4•21『线路15』 -四川卫视,http://38.75.136.137:98/gslb/dsdqpub/scwshd.m3u8?auth=testpub$LR•IPV4•21『线路16』 -四川卫视,http://api.kkitv.itv888.cn:8080/hls/p2npnppn96p/index.m3u8$LR•IPV4•21『线路17』 -四川卫视,https://iptv.catvod.com/catvod.php?id=scws$LR•IPV4•21『线路18』 -四川卫视,https://httop.top/ysp-四川卫视$LR•IPV4•21『线路19』 -四川卫视,http://iptv.huuc.edu.cn/hls/schd.m3u8$LR•IPV4•21『线路20』 -四川卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225733/index.m3u8$LR•IPV4•21『线路21』 -东南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226991/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQ6F5Mjgs0tJyEArWFL3vQA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路1』 +重庆卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226963/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EjTXsJprEx2nE38tdvu5lhA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•23『线路7』 +重庆卫视,http://112.27.235.94:8000/hls/36/index.m3u8$LR•IPV4•23『线路8』 +重庆卫视,http://23.237.228.134/live6/chongqing.m3u8$LR•IPV4•23『线路9』 +重庆卫视,http://43.251.226.89:8080/play/55.m3u8$LR•IPV4•23『线路10』 +重庆卫视,http://gfr.x3322.net:9901/tsfile/live/1093_1.m3u8$LR•IPV4•23『线路11』 +重庆卫视,http://api.kkitv.itv888.cn:8080/hls/ogh3s6tbw6/index.m3u8$LR•IPV4•23『线路12』 +重庆卫视,https://iptv.catvod.com/catvod.php?id=cqws$LR•IPV4•23『线路13』 +重庆卫视,https://httop.top/ysp-重庆卫视$LR•IPV4•23『线路14』 +重庆卫视,http://iptv.huuc.edu.cn/hls/cqhd.m3u8$LR•IPV4•23『线路15』 +重庆卫视,http://60.10.139.113:8801/hls/31/index.m3u8$LR•IPV4•23『线路16』 +重庆卫视,http://207.56.13.146:81/cdnlive/cqws.m3u8$LR•IPV4•23『线路17』 +重庆卫视,http://192.151.150.154/live/cqwshd.m3u8$LR•IPV4•23『线路18』 +重庆卫视,http://204.12.221.218:8181/3m1080p/cqws.m3u8$LR•IPV4•23『线路19』 +重庆卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000025797&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路20』 +重庆卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000001096&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路21』 +重庆卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000018937&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路22』 +重庆卫视,http://111.29.9.33:6610/000000001000/1000000001000001096/index.m3u8?channel-id=bestzb&Contentid=1000000001000001096&livemode=1&stbId=3$LR•IPV4•23『线路23』 +四川卫视,https://piccpndks.v.kcdnvip.com/audio/sichuan_2/index.m3u8$LR•IPV4•22『线路1』 +四川卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225733/index.m3u8$LR•IPV4•22『线路2』 +四川卫视,http://222.90.21.30:9901/hls/45/index.m3u8$LR•IPV4•22『线路3』 +四川卫视,http://107.150.60.122/live/scwshd.m3u8$LR•IPV4•22『线路4』 +四川卫视,http://222.169.85.8:9901/tsfile/live/0123_1.m3u8$LR•IPV4•22『线路5』 +四川卫视,http://112.123.243.37:50085/tsfile/live/0139_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•22『线路6』 +四川卫视,http://113.25.252.226:9901/tsfile/live/1031_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路7』 +四川卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226995/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EBQiz3wrGrpG0CUSRIJ-7Jg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•22『线路8』 +四川卫视,http://112.27.235.94:8000/hls/35/index.m3u8$LR•IPV4•22『线路9』 +四川卫视,http://38.75.136.137:98/gslb/dsdqpub/scwshd.m3u8?auth=testpub$LR•IPV4•22『线路10』 +四川卫视,http://api.kkitv.itv888.cn:8080/hls/p2npnppn96p/index.m3u8$LR•IPV4•22『线路11』 +四川卫视,https://iptv.catvod.com/catvod.php?id=scws$LR•IPV4•22『线路12』 +四川卫视,https://httop.top/ysp-四川卫视$LR•IPV4•22『线路13』 +四川卫视,http://iptv.huuc.edu.cn/hls/schd.m3u8$LR•IPV4•22『线路14』 +四川卫视,http://60.10.139.113:8801/hls/30/index.m3u8$LR•IPV4•22『线路15』 +四川卫视,http://207.56.13.146:81/cdnlive/scws.m3u8$LR•IPV4•22『线路16』 +四川卫视,http://192.151.150.154/live/scwshd.m3u8$LR•IPV4•22『线路17』 +四川卫视,http://204.12.221.218:8181/3m1080p/scws.m3u8$LR•IPV4•22『线路18』 +四川卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006119&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路19』 +四川卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000016825&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路20』 +四川卫视,http://111.29.9.37:6610/000000001000/1000000002000016825/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•22『线路21』 +四川卫视,http://111.29.9.33:6610/000000001000/1000000002000016825/index.m3u8?channel-id=bestzb&Contentid=1000000002000016825&livemode=1&stbId=3$LR•IPV4•22『线路22』 +东南卫视,http://118.81.195.79:9003/hls/24/index.m3u8$LR•IPV4•27『线路1』 东南卫视,http://live.zohi.tv/video/s10001-fztv-3/index.m3u8$LR•IPV4•27『线路2』 东南卫视,http://222.90.21.30:9901/hls/30/index.m3u8$LR•IPV4•27『线路3』 东南卫视,http://112.123.243.37:50085/tsfile/live/0113_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•27『线路4』 东南卫视,http://36.136.38.87:9901/tsfile/live/0137_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路5』 东南卫视,http://153.0.171.163:9901/tsfile/live/0137_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路6』 -东南卫视,http://112.27.235.94:8000/hls/38/index.m3u8$LR•IPV4•27『线路7』 -东南卫视,http://60.10.139.113:8801/hls/21/index.m3u8$LR•IPV4•27『线路8』 -东南卫视,http://207.56.13.146:81/cdnlive/dnws.m3u8$LR•IPV4•27『线路9』 -东南卫视,http://192.151.150.154/live/dnwshd.m3u8$LR•IPV4•27『线路10』 -东南卫视,http://204.12.221.218:8181/3m1080p/dnws.m3u8$LR•IPV4•27『线路11』 -东南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000010584&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路12』 -东南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000005829&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路13』 -东南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000009263&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路14』 -东南卫视,http://111.29.9.37:6610/000000001000/1000000002000009263/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•27『线路15』 -东南卫视,http://111.29.9.33:6610/000000001000/1000000002000009263/index.m3u8?channel-id=bestzb&Contentid=1000000002000009263&livemode=1&stbId=3$LR•IPV4•27『线路16』 -东南卫视,http://38.75.136.137:98/gslb/dsdqpub/dnwshd.m3u8?auth=testpub$LR•IPV4•27『线路17』 -东南卫视,https://hlsbkmgsplive.miguvideo.com/migu/kailu/dongnanws/51/20230724/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•27『线路18』 -东南卫视,http://23.237.228.134/live6/dongnan.m3u8$LR•IPV4•27『线路19』 -东南卫视,http://23.237.228.134/live8/gansu.m3u8$LR•IPV4•27『线路20』 -东南卫视,http://43.251.226.89:8080/play/49.m3u8$LR•IPV4•27『线路21』 -东南卫视,http://gfr.x3322.net:9901/tsfile/live/1099_1.m3u8$LR•IPV4•27『线路22』 -东南卫视,http://api.kkitv.itv888.cn:8080/hls/jjt15bvbl7a/index.m3u8$LR•IPV4•27『线路23』 -东南卫视,https://iptv.catvod.com/catvod.php?id=dnws$LR•IPV4•27『线路24』 -东南卫视,https://httop.top/ysp-东南卫视$LR•IPV4•27『线路25』 -东南卫视,http://iptv.huuc.edu.cn/hls/dnhd.m3u8$LR•IPV4•27『线路26』 -东南卫视,http://118.81.195.79:9003/hls/24/index.m3u8$LR•IPV4•27『线路27』 -深圳卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226959/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EGrVNEZREjuNVKiTJo2mtwg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路1』 -深圳卫视,http://112.123.243.37:50085/tsfile/live/1000_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•27『线路2』 -深圳卫视,http://120.202.94.181:9446/tsfile/live/0126_1.m3u8?key=txiptv$LR•IPV4•27『线路3』 -深圳卫视,http://173.208.212.130:8181/720p/szws.m3u8$LR•IPV4•27『线路4』 -深圳卫视,http://207.56.13.146:81/cdnlive/szws.m3u8$LR•IPV4•27『线路5』 -深圳卫视,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=szwshd$LR•IPV4•27『线路6』 -深圳卫视,http://36.136.38.87:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路7』 -深圳卫视,http://153.0.171.163:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路8』 -深圳卫视,http://112.27.235.94:8000/hls/33/index.m3u8$LR•IPV4•27『线路9』 -深圳卫视,http://60.10.139.113:8801/hls/24/index.m3u8$LR•IPV4•27『线路10』 -深圳卫视,http://192.151.150.154/live/szwshd.m3u8$LR•IPV4•27『线路11』 -深圳卫视,http://204.12.221.218:8181/3m1080p/szws.m3u8$LR•IPV4•27『线路12』 -深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000024026&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路13』 -深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000007410&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路14』 -深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000009227&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路15』 -深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000011645&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路16』 -深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=5352218613763113657&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路17』 -深圳卫视,http://111.29.9.38:6610/000000001000/1000000001000009227/index.m3u8?channel-id=ystenlive&Contentid=1000000001000009227&livemode=1&stbId=3$LR•IPV4•27『线路18』 -深圳卫视,http://111.29.9.33:6610/000000001000/1000000001000009227/index.m3u8?channel-id=bestzb&Contentid=1000000001000009227&livemode=1&stbId=3$LR•IPV4•27『线路19』 -深圳卫视,http://38.75.136.137:98/gslb/dsdqpub/szwshd.m3u8?auth=testpub$LR•IPV4•27『线路20』 -深圳卫视,http://23.237.228.134/live6/shenzhen.m3u8$LR•IPV4•27『线路21』 -深圳卫视,http://gfr.x3322.net:9901/tsfile/live/1095_1.m3u8$LR•IPV4•27『线路22』 -深圳卫视,http://api.kkitv.itv888.cn:8080/hls/iftsd32ykm/index.m3u8$LR•IPV4•27『线路23』 -深圳卫视,https://iptv.catvod.com/catvod.php?id=szws$LR•IPV4•27『线路24』 -深圳卫视,https://httop.top/ysp-深圳卫视$LR•IPV4•27『线路25』 -深圳卫视,http://iptv.huuc.edu.cn/hls/szhd.m3u8$LR•IPV4•27『线路26』 -深圳卫视,http://38.64.72.148:80/hls/modn/list/4007/playlist.m3u8$LR•IPV4•27『线路27』 -广东卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226961/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E2MGyx659D_aaDPP0qt3NgA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路1』 +东南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226991/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQ6F5Mjgs0tJyEArWFL3vQA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路7』 +东南卫视,http://112.27.235.94:8000/hls/38/index.m3u8$LR•IPV4•27『线路8』 +东南卫视,http://38.75.136.137:98/gslb/dsdqpub/dnwshd.m3u8?auth=testpub$LR•IPV4•27『线路9』 +东南卫视,https://hlsbkmgsplive.miguvideo.com/migu/kailu/dongnanws/51/20230724/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•27『线路10』 +东南卫视,http://23.237.228.134/live6/dongnan.m3u8$LR•IPV4•27『线路11』 +东南卫视,http://23.237.228.134/live8/gansu.m3u8$LR•IPV4•27『线路12』 +东南卫视,http://43.251.226.89:8080/play/49.m3u8$LR•IPV4•27『线路13』 +东南卫视,http://gfr.x3322.net:9901/tsfile/live/1099_1.m3u8$LR•IPV4•27『线路14』 +东南卫视,http://api.kkitv.itv888.cn:8080/hls/jjt15bvbl7a/index.m3u8$LR•IPV4•27『线路15』 +东南卫视,https://iptv.catvod.com/catvod.php?id=dnws$LR•IPV4•27『线路16』 +东南卫视,https://httop.top/ysp-东南卫视$LR•IPV4•27『线路17』 +东南卫视,http://iptv.huuc.edu.cn/hls/dnhd.m3u8$LR•IPV4•27『线路18』 +东南卫视,http://60.10.139.113:8801/hls/21/index.m3u8$LR•IPV4•27『线路19』 +东南卫视,http://207.56.13.146:81/cdnlive/dnws.m3u8$LR•IPV4•27『线路20』 +东南卫视,http://192.151.150.154/live/dnwshd.m3u8$LR•IPV4•27『线路21』 +东南卫视,http://204.12.221.218:8181/3m1080p/dnws.m3u8$LR•IPV4•27『线路22』 +东南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000010584&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路23』 +东南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000005829&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路24』 +东南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000009263&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路25』 +东南卫视,http://111.29.9.37:6610/000000001000/1000000002000009263/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•27『线路26』 +东南卫视,http://111.29.9.33:6610/000000001000/1000000002000009263/index.m3u8?channel-id=bestzb&Contentid=1000000002000009263&livemode=1&stbId=3$LR•IPV4•27『线路27』 +深圳卫视,https://sztv-hls.sztv.com.cn/AxeFRth/500/827hx4F.m3u8?sign=81a984a7a0d86523a2458304ed14d6bb&t=6a4e6457$LR•IPV4•28『线路1』 +深圳卫视,http://112.123.243.37:50085/tsfile/live/1000_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•28『线路2』 +深圳卫视,http://120.202.94.181:9446/tsfile/live/0126_1.m3u8?key=txiptv$LR•IPV4•28『线路3』 +深圳卫视,http://173.208.212.130:8181/720p/szws.m3u8$LR•IPV4•28『线路4』 +深圳卫视,http://207.56.13.146:81/cdnlive/szws.m3u8$LR•IPV4•28『线路5』 +深圳卫视,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=szwshd$LR•IPV4•28『线路6』 +深圳卫视,http://36.136.38.87:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路7』 +深圳卫视,http://153.0.171.163:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路8』 +深圳卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226959/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EGrVNEZREjuNVKiTJo2mtwg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路9』 +深圳卫视,http://112.27.235.94:8000/hls/33/index.m3u8$LR•IPV4•28『线路10』 +深圳卫视,http://38.75.136.137:98/gslb/dsdqpub/szwshd.m3u8?auth=testpub$LR•IPV4•28『线路11』 +深圳卫视,http://23.237.228.134/live6/shenzhen.m3u8$LR•IPV4•28『线路12』 +深圳卫视,http://gfr.x3322.net:9901/tsfile/live/1095_1.m3u8$LR•IPV4•28『线路13』 +深圳卫视,http://api.kkitv.itv888.cn:8080/hls/iftsd32ykm/index.m3u8$LR•IPV4•28『线路14』 +深圳卫视,https://iptv.catvod.com/catvod.php?id=szws$LR•IPV4•28『线路15』 +深圳卫视,https://httop.top/ysp-深圳卫视$LR•IPV4•28『线路16』 +深圳卫视,http://iptv.huuc.edu.cn/hls/szhd.m3u8$LR•IPV4•28『线路17』 +深圳卫视,http://38.64.72.148:80/hls/modn/list/4007/playlist.m3u8$LR•IPV4•28『线路18』 +深圳卫视,http://60.10.139.113:8801/hls/24/index.m3u8$LR•IPV4•28『线路19』 +深圳卫视,http://192.151.150.154/live/szwshd.m3u8$LR•IPV4•28『线路20』 +深圳卫视,http://204.12.221.218:8181/3m1080p/szws.m3u8$LR•IPV4•28『线路21』 +深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000024026&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路22』 +深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000007410&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路23』 +深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000009227&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路24』 +深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000011645&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路25』 +深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=5352218613763113657&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路26』 +深圳卫视,http://111.29.9.38:6610/000000001000/1000000001000009227/index.m3u8?channel-id=ystenlive&Contentid=1000000001000009227&livemode=1&stbId=3$LR•IPV4•28『线路27』 +深圳卫视,http://111.29.9.33:6610/000000001000/1000000001000009227/index.m3u8?channel-id=bestzb&Contentid=1000000001000009227&livemode=1&stbId=3$LR•IPV4•28『线路28』 +广东卫视,http://118.81.195.79:9003/hls/26/index.m3u8$LR•IPV4•28『线路1』 广东卫视,http://112.123.243.37:50085/tsfile/live/0135_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•28『线路2』 广东卫视,http://120.202.94.181:9446/tsfile/live/0125_1.m3u8?key=txiptv$LR•IPV4•28『线路3』 广东卫视,http://222.90.21.30:9901/hls/22/index.m3u8$LR•IPV4•28『线路4』 广东卫视,http://153.0.171.163:9901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路5』 -广东卫视,http://112.27.235.94:8000/hls/30/index.m3u8$LR•IPV4•28『线路6』 -广东卫视,http://60.10.139.113:8801/hls/26/index.m3u8$LR•IPV4•28『线路7』 -广东卫视,http://207.56.13.146:81/cdnlive/gdws.m3u8$LR•IPV4•28『线路8』 -广东卫视,http://192.151.150.154/live/gdwshd.m3u8$LR•IPV4•28『线路9』 -广东卫视,http://173.208.212.130:8181/720p/gdws.m3u8$LR•IPV4•28『线路10』 -广东卫视,http://204.12.221.218:8181/3m1080p/gdws.m3u8$LR•IPV4•28『线路11』 -广东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=5616881981321254555&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路12』 -广东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000030417&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路13』 -广东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000014694&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路14』 -广东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000014176&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路15』 -广东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000028357&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路16』 -广东卫视,http://111.29.9.36:6610/000000001000/1000000001000028357/index.m3u8?channel-id=ystenlive&Contentid=1000000001000028357&livemode=1&stbId=3$LR•IPV4•28『线路17』 -广东卫视,http://111.29.9.33:6610/000000001000/1000000001000014176/index.m3u8?channel-id=bestzb&Contentid=1000000001000014176&livemode=1&stbId=3$LR•IPV4•28『线路18』 -广东卫视,http://38.75.136.137:98/gslb/dsdqpub/gdwshd.m3u8?auth=testpub$LR•IPV4•28『线路19』 -广东卫视,http://23.237.228.134/live6/guangdong.m3u8$LR•IPV4•28『线路20』 -广东卫视,http://43.251.226.89:8080/play/38.m3u8$LR•IPV4•28『线路21』 -广东卫视,http://gfr.x3322.net:9901/tsfile/live/1096_1.m3u8$LR•IPV4•28『线路22』 -广东卫视,http://api.kkitv.itv888.cn:8080/hls/qr6872071g/index.m3u8$LR•IPV4•28『线路23』 -广东卫视,https://iptv.catvod.com/catvod.php?id=gdws$LR•IPV4•28『线路24』 -广东卫视,https://httop.top/ysp-广东卫视$LR•IPV4•28『线路25』 -广东卫视,http://iptv.huuc.edu.cn/hls/gdhd.m3u8$LR•IPV4•28『线路26』 -广东卫视,http://mg.hmysapp.cn:177/ckmg/zb.php?id=gdws$LR•IPV4•28『线路27』 -广东卫视,http://118.81.195.79:9003/hls/26/index.m3u8$LR•IPV4•28『线路28』 -广西卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227010/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkAhb-89sxdm9fz6-heXCuw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•21『线路1』 +广东卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226961/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E2MGyx659D_aaDPP0qt3NgA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路6』 +广东卫视,http://112.27.235.94:8000/hls/30/index.m3u8$LR•IPV4•28『线路7』 +广东卫视,http://38.75.136.137:98/gslb/dsdqpub/gdwshd.m3u8?auth=testpub$LR•IPV4•28『线路8』 +广东卫视,http://23.237.228.134/live6/guangdong.m3u8$LR•IPV4•28『线路9』 +广东卫视,http://43.251.226.89:8080/play/38.m3u8$LR•IPV4•28『线路10』 +广东卫视,http://gfr.x3322.net:9901/tsfile/live/1096_1.m3u8$LR•IPV4•28『线路11』 +广东卫视,http://api.kkitv.itv888.cn:8080/hls/qr6872071g/index.m3u8$LR•IPV4•28『线路12』 +广东卫视,https://iptv.catvod.com/catvod.php?id=gdws$LR•IPV4•28『线路13』 +广东卫视,https://httop.top/ysp-广东卫视$LR•IPV4•28『线路14』 +广东卫视,http://iptv.huuc.edu.cn/hls/gdhd.m3u8$LR•IPV4•28『线路15』 +广东卫视,http://mg.hmysapp.cn:177/ckmg/zb.php?id=gdws$LR•IPV4•28『线路16』 +广东卫视,http://60.10.139.113:8801/hls/26/index.m3u8$LR•IPV4•28『线路17』 +广东卫视,http://207.56.13.146:81/cdnlive/gdws.m3u8$LR•IPV4•28『线路18』 +广东卫视,http://192.151.150.154/live/gdwshd.m3u8$LR•IPV4•28『线路19』 +广东卫视,http://173.208.212.130:8181/720p/gdws.m3u8$LR•IPV4•28『线路20』 +广东卫视,http://204.12.221.218:8181/3m1080p/gdws.m3u8$LR•IPV4•28『线路21』 +广东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=5616881981321254555&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路22』 +广东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000030417&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路23』 +广东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000014694&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路24』 +广东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000014176&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路25』 +广东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000028357&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路26』 +广东卫视,http://111.29.9.36:6610/000000001000/1000000001000028357/index.m3u8?channel-id=ystenlive&Contentid=1000000001000028357&livemode=1&stbId=3$LR•IPV4•28『线路27』 +广东卫视,http://111.29.9.33:6610/000000001000/1000000001000014176/index.m3u8?channel-id=bestzb&Contentid=1000000001000014176&livemode=1&stbId=3$LR•IPV4•28『线路28』 +广西卫视,http://118.81.195.79:9003/hls/27/index.m3u8$LR•IPV4•21『线路1』 广西卫视,http://112.123.243.37:50085/tsfile/live/0137_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•21『线路2』 广西卫视,http://36.136.38.87:9901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路3』 广西卫视,http://153.0.171.163:9901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路4』 -广西卫视,https://hlscdn.liangtv.cn/live/de0f97348eb84f62aa6b7d8cf0430770/dd505d87880c478f901f38560ca4d4e6.m3u8$LR•IPV4•21『线路5』 -广西卫视,http://60.10.139.113:8801/hls/52/index.m3u8$LR•IPV4•21『线路6』 -广西卫视,http://207.56.13.146:81/cdnlive/gxws.m3u8$LR•IPV4•21『线路7』 -广西卫视,http://192.151.150.154/live/gxwshd.m3u8$LR•IPV4•21『线路8』 -广西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031118&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路9』 -广西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040014&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路10』 -广西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000019837&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路11』 -广西卫视,http://111.29.9.37:6610/000000001000/1000000002000019837/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•21『线路12』 -广西卫视,http://111.29.9.33:6610/000000001000/1000000002000019837/index.m3u8?channel-id=bestzb&Contentid=1000000002000019837&livemode=1&stbId=3$LR•IPV4•21『线路13』 -广西卫视,http://38.75.136.137:98/gslb/dsdqpub/gxwshd.m3u8?auth=testpub$LR•IPV4•21『线路14』 -广西卫视,http://pull-hls-f11.douyincdn.com/media/stream-695314078702240428.m3u8?arch_hrchy=w1&exp_hrchy=w1&expire=1771760950&major_anchor_level=common&sign=d9c21ca1151fa649e68dc18c13ac2e23&t_id=037-2026021519491078C5C8D15B8DDFD19426-OM31JH$LR•IPV4•21『线路15』 -广西卫视,http://23.237.228.134/live6/guangxi.m3u8$LR•IPV4•21『线路16』 -广西卫视,http://23.237.228.134/live6/guizhou.m3u8$LR•IPV4•21『线路17』 -广西卫视,http://api.kkitv.itv888.cn:8080/hls/yvz4ndj9dqb/index.m3u8$LR•IPV4•21『线路18』 -广西卫视,https://iptv.catvod.com/catvod.php?id=gxws$LR•IPV4•21『线路19』 -广西卫视,https://httop.top/ysp-广西卫视$LR•IPV4•21『线路20』 -广西卫视,http://118.81.195.79:9003/hls/27/index.m3u8$LR•IPV4•21『线路21』 -厦门卫视,http://183.11.239.36:808/hls/17/index.m3u8$LR•IPV4•7『线路1』 -厦门卫视,http://192.151.150.154/live/xmws.m3u8$LR•IPV4•7『线路2』 -厦门卫视,http://204.12.221.218:8181/3m1080p/xmws.m3u8$LR•IPV4•7『线路3』 -厦门卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000005000266006&livemode=1&stbId=yu&mode=1&$LR•IPV4•7『线路4』 -厦门卫视,https://iptv.catvod.com/catvod.php?id=xmws$LR•IPV4•7『线路5』 -厦门卫视,http://223.110.245.159/ott.js.chinamobile.com/PLTV/3/224/3221226996/index.m3u8$LR•IPV4•7『线路6』 -厦门卫视,http://112.25.48.68/live/program/live/xmws/1300000/mnf.m3u8$LR•IPV4•7『线路7』 -甘肃卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227020/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Err-CLugPnTcUinEM8JeySg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•15『线路1』 +广西卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227010/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkAhb-89sxdm9fz6-heXCuw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•21『线路5』 +广西卫视,https://hlscdn.liangtv.cn/live/de0f97348eb84f62aa6b7d8cf0430770/dd505d87880c478f901f38560ca4d4e6.m3u8$LR•IPV4•21『线路6』 +广西卫视,http://38.75.136.137:98/gslb/dsdqpub/gxwshd.m3u8?auth=testpub$LR•IPV4•21『线路7』 +广西卫视,http://pull-hls-f11.douyincdn.com/media/stream-695314078702240428.m3u8?arch_hrchy=w1&exp_hrchy=w1&expire=1771760950&major_anchor_level=common&sign=d9c21ca1151fa649e68dc18c13ac2e23&t_id=037-2026021519491078C5C8D15B8DDFD19426-OM31JH$LR•IPV4•21『线路8』 +广西卫视,http://23.237.228.134/live6/guangxi.m3u8$LR•IPV4•21『线路9』 +广西卫视,http://23.237.228.134/live6/guizhou.m3u8$LR•IPV4•21『线路10』 +广西卫视,http://api.kkitv.itv888.cn:8080/hls/yvz4ndj9dqb/index.m3u8$LR•IPV4•21『线路11』 +广西卫视,https://iptv.catvod.com/catvod.php?id=gxws$LR•IPV4•21『线路12』 +广西卫视,https://httop.top/ysp-广西卫视$LR•IPV4•21『线路13』 +广西卫视,http://60.10.139.113:8801/hls/52/index.m3u8$LR•IPV4•21『线路14』 +广西卫视,http://207.56.13.146:81/cdnlive/gxws.m3u8$LR•IPV4•21『线路15』 +广西卫视,http://192.151.150.154/live/gxwshd.m3u8$LR•IPV4•21『线路16』 +广西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031118&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路17』 +广西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040014&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路18』 +广西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000019837&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路19』 +广西卫视,http://111.29.9.37:6610/000000001000/1000000002000019837/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•21『线路20』 +广西卫视,http://111.29.9.33:6610/000000001000/1000000002000019837/index.m3u8?channel-id=bestzb&Contentid=1000000002000019837&livemode=1&stbId=3$LR•IPV4•21『线路21』 +厦门卫视,http://223.110.245.159/ott.js.chinamobile.com/PLTV/3/224/3221226996/index.m3u8$LR•IPV4•7『线路1』 +厦门卫视,http://112.25.48.68/live/program/live/xmws/1300000/mnf.m3u8$LR•IPV4•7『线路2』 +厦门卫视,http://183.11.239.36:808/hls/17/index.m3u8$LR•IPV4•7『线路3』 +厦门卫视,https://iptv.catvod.com/catvod.php?id=xmws$LR•IPV4•7『线路4』 +厦门卫视,http://192.151.150.154/live/xmws.m3u8$LR•IPV4•7『线路5』 +厦门卫视,http://204.12.221.218:8181/3m1080p/xmws.m3u8$LR•IPV4•7『线路6』 +厦门卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000005000266006&livemode=1&stbId=yu&mode=1&$LR•IPV4•7『线路7』 +甘肃卫视,http://118.81.195.79:9003/hls/25/index.m3u8$LR•IPV4•15『线路1』 甘肃卫视,http://222.90.21.30:9901/hls/36/index.m3u8$LR•IPV4•15『线路2』 甘肃卫视,http://112.123.243.37:50085/tsfile/live/0123_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•15『线路3』 甘肃卫视,http://113.25.252.226:9901/tsfile/live/1047_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•15『线路4』 甘肃卫视,http://192.151.150.154/live/gswshd.m3u8$LR•IPV4•15『线路5』 -甘肃卫视,http://207.56.13.146:81/cdnlive/gsws.m3u8$LR•IPV4•15『线路6』 -甘肃卫视,http://204.12.221.218:8181/3m1080p/gsws.m3u8$LR•IPV4•15『线路7』 -甘肃卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031121&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路8』 -甘肃卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000017827&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路9』 -甘肃卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040021&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路10』 -甘肃卫视,http://111.29.9.37:6610/000000001000/1000000002000017827/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•15『线路11』 -甘肃卫视,http://111.29.9.33:6610/000000001000/1000000002000017827/index.m3u8?channel-id=bestzb&Contentid=1000000002000017827&livemode=1&stbId=3$LR•IPV4•15『线路12』 -甘肃卫视,https://iptv.catvod.com/catvod.php?id=gsws$LR•IPV4•15『线路13』 -甘肃卫视,https://httop.top/ysp-甘肃卫视$LR•IPV4•15『线路14』 -甘肃卫视,http://118.81.195.79:9003/hls/25/index.m3u8$LR•IPV4•15『线路15』 -贵州卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227012/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EnqBF03rFwPucF8ODtWxLQQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•23『线路1』 -贵州卫视,http://112.123.243.37:50085/tsfile/live/0130_2.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•23『线路2』 -贵州卫视,http://107.150.60.122/live/gzwshd.m3u8$LR•IPV4•23『线路3』 -贵州卫视,http://222.90.21.30:9901/hls/34/index.m3u8$LR•IPV4•23『线路4』 -贵州卫视,https://gd202.tv1288.xyz/tsfile/live/1023_1.m3u8$LR•IPV4•23『线路5』 -贵州卫视,http://153.0.171.163:9901/tsfile/live/0120_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路6』 -贵州卫视,http://112.27.235.94:8000/hls/46/index.m3u8$LR•IPV4•23『线路7』 -贵州卫视,http://60.10.139.113:8801/hls/36/index.m3u8$LR•IPV4•23『线路8』 -贵州卫视,http://207.56.13.146:81/cdnlive/gzws.m3u8$LR•IPV4•23『线路9』 -贵州卫视,http://192.151.150.154/live/gzwshd.m3u8$LR•IPV4•23『线路10』 -贵州卫视,http://204.12.221.218:8181/3m1080p/gzws.m3u8$LR•IPV4•23『线路11』 -贵州卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000025843&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路12』 -贵州卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000003169&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路13』 -贵州卫视,http://111.29.9.44:6610/000000001000/5000000004000025843/index.m3u8?channel-id=bestzb&Contentid=5000000004000025843&livemode=1&stbId=3$LR•IPV4•23『线路14』 -贵州卫视,http://111.29.9.33:6610/000000001000/1000000002000003169/index.m3u8?channel-id=bestzb&Contentid=1000000002000003169&livemode=1&stbId=3$LR•IPV4•23『线路15』 -贵州卫视,http://38.75.136.137:98/gslb/dsdqpub/gzwshd.m3u8?auth=testpub$LR•IPV4•23『线路16』 -贵州卫视,http://23.237.228.134/live6/hainan.m3u8$LR•IPV4•23『线路17』 -贵州卫视,http://gfr.x3322.net:9901/tsfile/live/1100_1.m3u8$LR•IPV4•23『线路18』 -贵州卫视,http://api.kkitv.itv888.cn:8080/hls/5dqtpf3arun/index.m3u8$LR•IPV4•23『线路19』 -贵州卫视,https://iptv.catvod.com/catvod.php?id=gzws$LR•IPV4•23『线路20』 -贵州卫视,https://httop.top/ysp-贵州卫视$LR•IPV4•23『线路21』 -贵州卫视,http://183.207.248.71/gitv/live1/G_GUIZHOU/G_GUIZHOU$LR•IPV4•23『线路22』 -贵州卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225728/index.m3u8$LR•IPV4•23『线路23』 -河北卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227014/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ErSGjhI3DMaaAASPrbQJYTg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•21『线路1』 -河北卫视,http://112.123.243.37:50085/tsfile/live/0018_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•21『线路2』 -河北卫视,http://222.90.21.30:9901/hls/44/index.m3u8$LR•IPV4•21『线路3』 -河北卫视,http://192.151.150.154/live/hewshd.m3u8$LR•IPV4•21『线路4』 -河北卫视,http://36.136.38.87:9901/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路5』 -河北卫视,http://153.0.171.163:9901/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路6』 -河北卫视,http://112.27.235.94:8000/hls/39/index.m3u8$LR•IPV4•21『线路7』 -河北卫视,http://60.10.139.113:8801/hls/16/index.m3u8$LR•IPV4•21『线路8』 -河北卫视,http://207.56.13.146:81/cdnlive/hews.m3u8$LR•IPV4•21『线路9』 -河北卫视,http://173.208.212.130:8181/720p/hews.m3u8$LR•IPV4•21『线路10』 -河北卫视,http://204.12.221.218:8181/3m1080p/hews.m3u8$LR•IPV4•21『线路11』 -河北卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040016&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路12』 -河北卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000017118&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路13』 -河北卫视,http://111.29.9.37:6610/000000001000/1000000002000017118/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•21『线路14』 -河北卫视,http://111.29.9.33:6610/000000001000/1000000002000017118/index.m3u8?channel-id=bestzb&Contentid=1000000002000017118&livemode=1&stbId=3$LR•IPV4•21『线路15』 -河北卫视,http://23.237.228.134/live8/hebei.m3u8$LR•IPV4•21『线路16』 -河北卫视,http://43.251.226.89:8080/play/42.m3u8$LR•IPV4•21『线路17』 -河北卫视,http://gfr.x3322.net:9901/tsfile/live/1091_1.m3u8$LR•IPV4•21『线路18』 -河北卫视,https://iptv.catvod.com/catvod.php?id=hbws$LR•IPV4•21『线路19』 -河北卫视,https://httop.top/ysp-河北卫视$LR•IPV4•21『线路20』 -河北卫视,http://iptv.huuc.edu.cn/hls/hebhd.m3u8$LR•IPV4•21『线路21』 +甘肃卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227020/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Err-CLugPnTcUinEM8JeySg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•15『线路6』 +甘肃卫视,https://iptv.catvod.com/catvod.php?id=gsws$LR•IPV4•15『线路7』 +甘肃卫视,https://httop.top/ysp-甘肃卫视$LR•IPV4•15『线路8』 +甘肃卫视,http://207.56.13.146:81/cdnlive/gsws.m3u8$LR•IPV4•15『线路9』 +甘肃卫视,http://204.12.221.218:8181/3m1080p/gsws.m3u8$LR•IPV4•15『线路10』 +甘肃卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031121&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路11』 +甘肃卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000017827&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路12』 +甘肃卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040021&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路13』 +甘肃卫视,http://111.29.9.37:6610/000000001000/1000000002000017827/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•15『线路14』 +甘肃卫视,http://111.29.9.33:6610/000000001000/1000000002000017827/index.m3u8?channel-id=bestzb&Contentid=1000000002000017827&livemode=1&stbId=3$LR•IPV4•15『线路15』 +贵州卫视,http://183.207.248.71/gitv/live1/G_GUIZHOU/G_GUIZHOU$LR•IPV4•23『线路1』 +贵州卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225728/index.m3u8$LR•IPV4•23『线路2』 +贵州卫视,http://112.123.243.37:50085/tsfile/live/0130_2.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•23『线路3』 +贵州卫视,http://107.150.60.122/live/gzwshd.m3u8$LR•IPV4•23『线路4』 +贵州卫视,http://222.90.21.30:9901/hls/34/index.m3u8$LR•IPV4•23『线路5』 +贵州卫视,https://gd202.tv1288.xyz/tsfile/live/1023_1.m3u8$LR•IPV4•23『线路6』 +贵州卫视,http://153.0.171.163:9901/tsfile/live/0120_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路7』 +贵州卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227012/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EnqBF03rFwPucF8ODtWxLQQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•23『线路8』 +贵州卫视,http://112.27.235.94:8000/hls/46/index.m3u8$LR•IPV4•23『线路9』 +贵州卫视,http://38.75.136.137:98/gslb/dsdqpub/gzwshd.m3u8?auth=testpub$LR•IPV4•23『线路10』 +贵州卫视,http://23.237.228.134/live6/hainan.m3u8$LR•IPV4•23『线路11』 +贵州卫视,http://gfr.x3322.net:9901/tsfile/live/1100_1.m3u8$LR•IPV4•23『线路12』 +贵州卫视,http://api.kkitv.itv888.cn:8080/hls/5dqtpf3arun/index.m3u8$LR•IPV4•23『线路13』 +贵州卫视,https://iptv.catvod.com/catvod.php?id=gzws$LR•IPV4•23『线路14』 +贵州卫视,https://httop.top/ysp-贵州卫视$LR•IPV4•23『线路15』 +贵州卫视,http://60.10.139.113:8801/hls/36/index.m3u8$LR•IPV4•23『线路16』 +贵州卫视,http://207.56.13.146:81/cdnlive/gzws.m3u8$LR•IPV4•23『线路17』 +贵州卫视,http://192.151.150.154/live/gzwshd.m3u8$LR•IPV4•23『线路18』 +贵州卫视,http://204.12.221.218:8181/3m1080p/gzws.m3u8$LR•IPV4•23『线路19』 +贵州卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000025843&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路20』 +贵州卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000003169&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路21』 +贵州卫视,http://111.29.9.44:6610/000000001000/5000000004000025843/index.m3u8?channel-id=bestzb&Contentid=5000000004000025843&livemode=1&stbId=3$LR•IPV4•23『线路22』 +贵州卫视,http://111.29.9.33:6610/000000001000/1000000002000003169/index.m3u8?channel-id=bestzb&Contentid=1000000002000003169&livemode=1&stbId=3$LR•IPV4•23『线路23』 +河北卫视,https://tv.pull.hebtv.com/jishi/nongminpindao.m3u8?t=1783327215&k=768f81548dfa25e1b24b8756b10b0e20$LR•IPV4•22『线路1』 +河北卫视,http://112.123.243.37:50085/tsfile/live/0018_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•22『线路2』 +河北卫视,http://222.90.21.30:9901/hls/44/index.m3u8$LR•IPV4•22『线路3』 +河北卫视,http://192.151.150.154/live/hewshd.m3u8$LR•IPV4•22『线路4』 +河北卫视,http://36.136.38.87:9901/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路5』 +河北卫视,http://153.0.171.163:9901/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路6』 +河北卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227014/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ErSGjhI3DMaaAASPrbQJYTg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•22『线路7』 +河北卫视,http://112.27.235.94:8000/hls/39/index.m3u8$LR•IPV4•22『线路8』 +河北卫视,http://23.237.228.134/live8/hebei.m3u8$LR•IPV4•22『线路9』 +河北卫视,http://43.251.226.89:8080/play/42.m3u8$LR•IPV4•22『线路10』 +河北卫视,http://gfr.x3322.net:9901/tsfile/live/1091_1.m3u8$LR•IPV4•22『线路11』 +河北卫视,https://iptv.catvod.com/catvod.php?id=hbws$LR•IPV4•22『线路12』 +河北卫视,https://httop.top/ysp-河北卫视$LR•IPV4•22『线路13』 +河北卫视,http://iptv.huuc.edu.cn/hls/hebhd.m3u8$LR•IPV4•22『线路14』 +河北卫视,http://60.10.139.113:8801/hls/16/index.m3u8$LR•IPV4•22『线路15』 +河北卫视,http://207.56.13.146:81/cdnlive/hews.m3u8$LR•IPV4•22『线路16』 +河北卫视,http://173.208.212.130:8181/720p/hews.m3u8$LR•IPV4•22『线路17』 +河北卫视,http://204.12.221.218:8181/3m1080p/hews.m3u8$LR•IPV4•22『线路18』 +河北卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040016&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路19』 +河北卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000017118&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路20』 +河北卫视,http://111.29.9.37:6610/000000001000/1000000002000017118/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•22『线路21』 +河北卫视,http://111.29.9.33:6610/000000001000/1000000002000017118/index.m3u8?channel-id=bestzb&Contentid=1000000002000017118&livemode=1&stbId=3$LR•IPV4•22『线路22』 河南卫视,http://tvcdn.stream3.hndt.com/tv/65c4a6d5017e1000b2b6ea2500000000_transios/playlist.m3u8?wsSecret=3349ed85d315534f17d152a0e8c90f6a&wsTime=1783529303$LR•IPV4•23『线路1』 -河南卫视,http://222.90.21.30:9901/hls/31/index.m3u8$LR•IPV4•23『线路2』 -河南卫视,http://112.123.243.37:50085/tsfile/live/0121_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•23『线路3』 -河南卫视,http://36.136.38.87:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路4』 -河南卫视,http://112.27.235.94:8000/hls/37/index.m3u8$LR•IPV4•23『线路5』 -河南卫视,http://60.10.139.113:8801/hls/32/index.m3u8$LR•IPV4•23『线路6』 -河南卫视,http://1.94.31.214/php/hntv.php?id=hnws#http://lxajh.top/tv/hn.php?id=hnws$LR•IPV4•23『线路7』 -河南卫视,http://207.56.13.146:81/cdnlive/haws.m3u8$LR•IPV4•23『线路8』 -河南卫视,http://192.151.150.154/live/hawshd.m3u8$LR•IPV4•23『线路9』 -河南卫视,http://173.208.212.130:8181/720p/haws.m3u8$LR•IPV4•23『线路10』 -河南卫视,http://204.12.221.218:8181/3m1080p/haws.m3u8$LR•IPV4•23『线路11』 -河南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000017925&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路12』 -河南卫视,http://1.94.31.214/php/hntv.php?id=hnws$LR•IPV4•23『线路13』 -河南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031119&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路14』 -河南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7304224304099543804&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路15』 -河南卫视,http://111.29.9.33:6610/000000001000/5000000011000031119/index.m3u8?channel-id=bestzb&Contentid=5000000011000031119&livemode=1&stbId=3$LR•IPV4•23『线路16』 -河南卫视,http://38.75.136.137:98/gslb/dsdqpub/hawshd.m3u8?auth=testpub$LR•IPV4•23『线路17』 -河南卫视,http://23.237.228.134/live6/henan.m3u8$LR•IPV4•23『线路18』 -河南卫视,http://43.251.226.89:8080/play/44.m3u8$LR•IPV4•23『线路19』 -河南卫视,https://iptv.catvod.com/catvod.php?id=hnws$LR•IPV4•23『线路20』 -河南卫视,https://httop.top/ysp-河南卫视$LR•IPV4•23『线路21』 -河南卫视,http://153.0.171.163:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路22』 -河南卫视,http://118.81.195.79:9003/hls/30/index.m3u8$LR•IPV4•23『线路23』 -黑龙江卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226965/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E7UiKL56-L86ihmTWaZ6csw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•24『线路1』 +河南卫视,http://118.81.195.79:9003/hls/30/index.m3u8$LR•IPV4•23『线路2』 +河南卫视,http://222.90.21.30:9901/hls/31/index.m3u8$LR•IPV4•23『线路3』 +河南卫视,http://112.123.243.37:50085/tsfile/live/0121_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•23『线路4』 +河南卫视,http://36.136.38.87:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路5』 +河南卫视,http://112.27.235.94:8000/hls/37/index.m3u8$LR•IPV4•23『线路6』 +河南卫视,http://38.75.136.137:98/gslb/dsdqpub/hawshd.m3u8?auth=testpub$LR•IPV4•23『线路7』 +河南卫视,http://23.237.228.134/live6/henan.m3u8$LR•IPV4•23『线路8』 +河南卫视,http://43.251.226.89:8080/play/44.m3u8$LR•IPV4•23『线路9』 +河南卫视,https://iptv.catvod.com/catvod.php?id=hnws$LR•IPV4•23『线路10』 +河南卫视,https://httop.top/ysp-河南卫视$LR•IPV4•23『线路11』 +河南卫视,http://153.0.171.163:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路12』 +河南卫视,http://60.10.139.113:8801/hls/32/index.m3u8$LR•IPV4•23『线路13』 +河南卫视,http://1.94.31.214/php/hntv.php?id=hnws#http://lxajh.top/tv/hn.php?id=hnws$LR•IPV4•23『线路14』 +河南卫视,http://207.56.13.146:81/cdnlive/haws.m3u8$LR•IPV4•23『线路15』 +河南卫视,http://192.151.150.154/live/hawshd.m3u8$LR•IPV4•23『线路16』 +河南卫视,http://173.208.212.130:8181/720p/haws.m3u8$LR•IPV4•23『线路17』 +河南卫视,http://204.12.221.218:8181/3m1080p/haws.m3u8$LR•IPV4•23『线路18』 +河南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000017925&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路19』 +河南卫视,http://1.94.31.214/php/hntv.php?id=hnws$LR•IPV4•23『线路20』 +河南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031119&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路21』 +河南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7304224304099543804&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路22』 +河南卫视,http://111.29.9.33:6610/000000001000/5000000011000031119/index.m3u8?channel-id=bestzb&Contentid=5000000011000031119&livemode=1&stbId=3$LR•IPV4•23『线路23』 +黑龙江卫视,http://118.81.195.79:9003/hls/31/index.m3u8$LR•IPV4•24『线路1』 黑龙江卫视,http://112.123.243.37:50085/tsfile/live/0142_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•24『线路2』 黑龙江卫视,http://59.39.89.130:60901/tsfile/live/0125_14.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路3』 黑龙江卫视,http://107.150.60.122/live/hljwshd.m3u8$LR•IPV4•24『线路4』 黑龙江卫视,http://36.136.38.87:9901/tsfile/live/0143_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路5』 -黑龙江卫视,http://112.27.235.94:8000/hls/48/index.m3u8$LR•IPV4•24『线路6』 -黑龙江卫视,http://60.10.139.113:8801/hls/27/index.m3u8$LR•IPV4•24『线路7』 -黑龙江卫视,http://207.56.13.146:81/cdnlive/hljws.m3u8$LR•IPV4•24『线路8』 -黑龙江卫视,http://192.151.150.154/live/hljwshd.m3u8$LR•IPV4•24『线路9』 -黑龙江卫视,http://204.12.221.218:8181/3m1080p/hljws.m3u8$LR•IPV4•24『线路10』 -黑龙江卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000025203&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路11』 -黑龙江卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000001925&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路12』 -黑龙江卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000031107&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路13』 -黑龙江卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000009082&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路14』 -黑龙江卫视,https://idclive.hljtv.com:4430/live/hljws_own.m3u8$LR•IPV4•24『线路15』 -黑龙江卫视,http://111.29.9.33:6610/000000001000/1000000001000001925/index.m3u8?channel-id=bestzb&Contentid=1000000001000001925&livemode=1&stbId=3$LR•IPV4•24『线路16』 -黑龙江卫视,http://38.75.136.137:98/gslb/dsdqpub/hljwshd.m3u8?auth=testpub$LR•IPV4•24『线路17』 -黑龙江卫视,http://23.237.228.134/live6/heilongjiang.m3u8$LR•IPV4•24『线路18』 -黑龙江卫视,http://gfr.x3322.net:9901/tsfile/live/1094_1.m3u8$LR•IPV4•24『线路19』 -黑龙江卫视,http://api.kkitv.itv888.cn:8080/hls/2a24lcvser/index.m3u8$LR•IPV4•24『线路20』 -黑龙江卫视,https://iptv.catvod.com/catvod.php?id=hljws$LR•IPV4•24『线路21』 -黑龙江卫视,https://httop.top/ysp-黑龙江卫视$LR•IPV4•24『线路22』 -黑龙江卫视,http://iptv.huuc.edu.cn/hls/hljhd.m3u8$LR•IPV4•24『线路23』 -黑龙江卫视,http://118.81.195.79:9003/hls/31/index.m3u8$LR•IPV4•24『线路24』 -湖北卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226952/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EREB40lnZnCEwjRy7LZuhIQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路1』 +黑龙江卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226965/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E7UiKL56-L86ihmTWaZ6csw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•24『线路6』 +黑龙江卫视,http://112.27.235.94:8000/hls/48/index.m3u8$LR•IPV4•24『线路7』 +黑龙江卫视,http://38.75.136.137:98/gslb/dsdqpub/hljwshd.m3u8?auth=testpub$LR•IPV4•24『线路8』 +黑龙江卫视,http://23.237.228.134/live6/heilongjiang.m3u8$LR•IPV4•24『线路9』 +黑龙江卫视,http://gfr.x3322.net:9901/tsfile/live/1094_1.m3u8$LR•IPV4•24『线路10』 +黑龙江卫视,http://api.kkitv.itv888.cn:8080/hls/2a24lcvser/index.m3u8$LR•IPV4•24『线路11』 +黑龙江卫视,https://iptv.catvod.com/catvod.php?id=hljws$LR•IPV4•24『线路12』 +黑龙江卫视,https://httop.top/ysp-黑龙江卫视$LR•IPV4•24『线路13』 +黑龙江卫视,http://iptv.huuc.edu.cn/hls/hljhd.m3u8$LR•IPV4•24『线路14』 +黑龙江卫视,http://60.10.139.113:8801/hls/27/index.m3u8$LR•IPV4•24『线路15』 +黑龙江卫视,http://207.56.13.146:81/cdnlive/hljws.m3u8$LR•IPV4•24『线路16』 +黑龙江卫视,http://192.151.150.154/live/hljwshd.m3u8$LR•IPV4•24『线路17』 +黑龙江卫视,http://204.12.221.218:8181/3m1080p/hljws.m3u8$LR•IPV4•24『线路18』 +黑龙江卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000025203&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路19』 +黑龙江卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000001925&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路20』 +黑龙江卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000031107&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路21』 +黑龙江卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000009082&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路22』 +黑龙江卫视,https://idclive.hljtv.com:4430/live/hljws_own.m3u8$LR•IPV4•24『线路23』 +黑龙江卫视,http://111.29.9.33:6610/000000001000/1000000001000001925/index.m3u8?channel-id=bestzb&Contentid=1000000001000001925&livemode=1&stbId=3$LR•IPV4•24『线路24』 +湖北卫视,http://118.81.195.79:9003/hls/32/index.m3u8$LR•IPV4•27『线路1』 湖北卫视,http://112.123.243.37:50085/tsfile/live/1001_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•27『线路2』 湖北卫视,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbwshd$LR•IPV4•27『线路3』 湖北卫视,http://153.0.171.163:9901/tsfile/live/0132_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路4』 湖北卫视,http://153.0.171.163:85/tsfile/live/0132_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路5』 -湖北卫视,http://112.27.235.94:8000/hls/41/index.m3u8$LR•IPV4•27『线路6』 -湖北卫视,http://60.10.139.113:8801/hls/29/index.m3u8$LR•IPV4•27『线路7』 -湖北卫视,http://207.56.13.146:81/cdnlive/hbws.m3u8$LR•IPV4•27『线路8』 -湖北卫视,http://192.151.150.154/live/hbwshd.m3u8$LR•IPV4•27『线路9』 -湖北卫视,http://204.12.221.218:8181/3m1080p/hbws.m3u8$LR•IPV4•27『线路10』 -湖北卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000014954&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路11』 -湖北卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000022140&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路12』 -湖北卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000010355&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路13』 -湖北卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000024621&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路14』 -湖北卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265023&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路15』 -湖北卫视,http://111.29.9.33:6610/000000001000/1000000001000010355/index.m3u8?channel-id=bestzb&Contentid=1000000001000010355&livemode=1&stbId=3$LR•IPV4•27『线路16』 -湖北卫视,http://38.75.136.137:98/gslb/dsdqpub/hbwshd.m3u8?auth=testpub$LR•IPV4•27『线路17』 -湖北卫视,http://23.237.228.134/live6/hubei.m3u8$LR•IPV4•27『线路18』 -湖北卫视,http://43.251.226.89:8080/play/46.m3u8$LR•IPV4•27『线路19』 -湖北卫视,http://gfr.x3322.net:9901/tsfile/live/1088_1.m3u8$LR•IPV4•27『线路20』 -湖北卫视,http://api.kkitv.itv888.cn:8080/hls/qwummpaoaq/index.m3u8$LR•IPV4•27『线路21』 -湖北卫视,https://iptv.catvod.com/catvod.php?id=hubws$LR•IPV4•27『线路22』 -湖北卫视,https://httop.top/ysp-湖北卫视$LR•IPV4•27『线路23』 -湖北卫视,http://iptv.huuc.edu.cn/hls/hbhd.m3u8$LR•IPV4•27『线路24』 -湖北卫视,http://mg.hmysapp.cn:177/ckmg/zb.php?id=hubws$LR•IPV4•27『线路25』 -湖北卫视,http://www.745612.xyz:7788/rtp/235.254.198.72:1564$LR•IPV4•27『线路26』 -湖北卫视,http://118.81.195.79:9003/hls/32/index.m3u8$LR•IPV4•27『线路27』 +湖北卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226952/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EREB40lnZnCEwjRy7LZuhIQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路6』 +湖北卫视,http://112.27.235.94:8000/hls/41/index.m3u8$LR•IPV4•27『线路7』 +湖北卫视,http://38.75.136.137:98/gslb/dsdqpub/hbwshd.m3u8?auth=testpub$LR•IPV4•27『线路8』 +湖北卫视,http://23.237.228.134/live6/hubei.m3u8$LR•IPV4•27『线路9』 +湖北卫视,http://43.251.226.89:8080/play/46.m3u8$LR•IPV4•27『线路10』 +湖北卫视,http://gfr.x3322.net:9901/tsfile/live/1088_1.m3u8$LR•IPV4•27『线路11』 +湖北卫视,http://api.kkitv.itv888.cn:8080/hls/qwummpaoaq/index.m3u8$LR•IPV4•27『线路12』 +湖北卫视,https://iptv.catvod.com/catvod.php?id=hubws$LR•IPV4•27『线路13』 +湖北卫视,https://httop.top/ysp-湖北卫视$LR•IPV4•27『线路14』 +湖北卫视,http://iptv.huuc.edu.cn/hls/hbhd.m3u8$LR•IPV4•27『线路15』 +湖北卫视,http://mg.hmysapp.cn:177/ckmg/zb.php?id=hubws$LR•IPV4•27『线路16』 +湖北卫视,http://www.745612.xyz:7788/rtp/235.254.198.72:1564$LR•IPV4•27『线路17』 +湖北卫视,http://60.10.139.113:8801/hls/29/index.m3u8$LR•IPV4•27『线路18』 +湖北卫视,http://207.56.13.146:81/cdnlive/hbws.m3u8$LR•IPV4•27『线路19』 +湖北卫视,http://192.151.150.154/live/hbwshd.m3u8$LR•IPV4•27『线路20』 +湖北卫视,http://204.12.221.218:8181/3m1080p/hbws.m3u8$LR•IPV4•27『线路21』 +湖北卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000014954&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路22』 +湖北卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000022140&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路23』 +湖北卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000010355&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路24』 +湖北卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000024621&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路25』 +湖北卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265023&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路26』 +湖北卫视,http://111.29.9.33:6610/000000001000/1000000001000010355/index.m3u8?channel-id=bestzb&Contentid=1000000001000010355&livemode=1&stbId=3$LR•IPV4•27『线路27』 江西卫视,https://jsp-tv-live.jxtvcn.com.cn/live-jsp/tv_jxtv1.m3u8?t=1783399497&token=edd96934-7ba7-4c97-bb1f-f95f21881e75&d=ab911d4c3b794fce91d9b3c326076257$LR•IPV4•26『线路1』 -江西卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226956/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ei6ZIpVizXlewg-YfGvH8dA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•26『线路2』 +江西卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225705/index.m3u8$LR•IPV4•26『线路2』 江西卫视,http://38.75.136.137:98/gslb/dsdqpub/jxwshd.m3u8?auth=testpub$LR•IPV4•26『线路3』 江西卫视,http://112.123.243.37:50085/tsfile/live/0132_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•26『线路4』 江西卫视,http://124.228.160.210:9901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路5』 江西卫视,http://36.136.38.87:9901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路6』 江西卫视,http://153.0.171.163:9901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路7』 -江西卫视,http://112.27.235.94:8000/hls/44/index.m3u8$LR•IPV4•26『线路8』 -江西卫视,http://60.10.139.113:8801/hls/37/index.m3u8$LR•IPV4•26『线路9』 -江西卫视,http://207.56.13.146:81/cdnlive/jxws.m3u8$LR•IPV4•26『线路10』 -江西卫视,http://192.151.150.154/live/jxwshd.m3u8$LR•IPV4•26『线路11』 -江西卫视,http://204.12.221.218:8181/3m1080p/jxws.m3u8$LR•IPV4•26『线路12』 -江西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000011210&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路13』 -江西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000013731&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路14』 -江西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000006000268001&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路15』 -江西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000032154&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路16』 -江西卫视,http://111.29.9.39:6610/000000001000/5000000004000011210/index.m3u8?channel-id=bestzb&Contentid=5000000004000011210&livemode=1&stbId=3$LR•IPV4•26『线路17』 -江西卫视,http://111.29.9.33:6610/000000001000/1000000001000013731/index.m3u8?channel-id=bestzb&Contentid=1000000001000013731&livemode=1&stbId=3$LR•IPV4•26『线路18』 -江西卫视,http://23.237.228.134/live8/jiangxi.m3u8$LR•IPV4•26『线路19』 -江西卫视,http://43.251.226.89:8080/play/43.m3u8$LR•IPV4•26『线路20』 -江西卫视,http://api.kkitv.itv888.cn:8080/hls/pv0np60bpin/index.m3u8$LR•IPV4•26『线路21』 -江西卫视,https://iptv.catvod.com/catvod.php?id=jxws$LR•IPV4•26『线路22』 -江西卫视,https://httop.top/ysp-江西卫视$LR•IPV4•26『线路23』 -江西卫视,http://iptv.huuc.edu.cn/hls/jxhd.m3u8$LR•IPV4•26『线路24』 -江西卫视,http://mg.hmysapp.cn:177/ckmg/zb.php?id=jxws$LR•IPV4•26『线路25』 -江西卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225705/index.m3u8$LR•IPV4•26『线路26』 -吉林卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227015/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EW5-3AVdwD5KlUpuA4mz7Cg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•22『线路1』 +江西卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226956/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ei6ZIpVizXlewg-YfGvH8dA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•26『线路8』 +江西卫视,http://112.27.235.94:8000/hls/44/index.m3u8$LR•IPV4•26『线路9』 +江西卫视,http://23.237.228.134/live8/jiangxi.m3u8$LR•IPV4•26『线路10』 +江西卫视,http://43.251.226.89:8080/play/43.m3u8$LR•IPV4•26『线路11』 +江西卫视,http://api.kkitv.itv888.cn:8080/hls/pv0np60bpin/index.m3u8$LR•IPV4•26『线路12』 +江西卫视,https://iptv.catvod.com/catvod.php?id=jxws$LR•IPV4•26『线路13』 +江西卫视,https://httop.top/ysp-江西卫视$LR•IPV4•26『线路14』 +江西卫视,http://iptv.huuc.edu.cn/hls/jxhd.m3u8$LR•IPV4•26『线路15』 +江西卫视,http://mg.hmysapp.cn:177/ckmg/zb.php?id=jxws$LR•IPV4•26『线路16』 +江西卫视,http://60.10.139.113:8801/hls/37/index.m3u8$LR•IPV4•26『线路17』 +江西卫视,http://207.56.13.146:81/cdnlive/jxws.m3u8$LR•IPV4•26『线路18』 +江西卫视,http://192.151.150.154/live/jxwshd.m3u8$LR•IPV4•26『线路19』 +江西卫视,http://204.12.221.218:8181/3m1080p/jxws.m3u8$LR•IPV4•26『线路20』 +江西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000011210&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路21』 +江西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000013731&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路22』 +江西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000006000268001&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路23』 +江西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000032154&livemode=1&stbId=yu&mode=1&$LR•IPV4•26『线路24』 +江西卫视,http://111.29.9.39:6610/000000001000/5000000004000011210/index.m3u8?channel-id=bestzb&Contentid=5000000004000011210&livemode=1&stbId=3$LR•IPV4•26『线路25』 +江西卫视,http://111.29.9.33:6610/000000001000/1000000001000013731/index.m3u8?channel-id=bestzb&Contentid=1000000001000013731&livemode=1&stbId=3$LR•IPV4•26『线路26』 +吉林卫视,http://118.81.195.79:9003/hls/34/index.m3u8$LR•IPV4•22『线路1』 吉林卫视,http://222.90.21.30:9901/hls/35/index.m3u8$LR•IPV4•22『线路2』 吉林卫视,http://204.12.221.218:8181/3m1080p/jlws.m3u8$LR•IPV4•22『线路3』 吉林卫视,http://112.123.243.37:50085/tsfile/live/0116_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•22『线路4』 吉林卫视,http://36.136.38.87:9901/tsfile/live/0116_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路5』 吉林卫视,http://113.25.252.226:9901/tsfile/live/1037_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路6』 吉林卫视,http://153.0.171.163:9901/tsfile/live/0116_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路7』 -吉林卫视,http://cssbyd.imwork.net:8082/hls/41/index.m3u8$LR•IPV4•22『线路8』 -吉林卫视,http://60.10.139.113:8801/hls/38/index.m3u8$LR•IPV4•22『线路9』 -吉林卫视,http://207.56.13.146:81/cdnlive/jlws.m3u8$LR•IPV4•22『线路10』 -吉林卫视,http://192.151.150.154/live/jlwshd.m3u8$LR•IPV4•22『线路11』 -吉林卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031117&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路12』 -吉林卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=6042486520432105075&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路13』 -吉林卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040013&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路14』 -吉林卫视,http://111.29.9.33:6610/000000001000/5000000011000031117/index.m3u8?channel-id=bestzb&Contentid=5000000011000031117&livemode=1&stbId=3$LR•IPV4•22『线路15』 -吉林卫视,http://38.75.136.137:98/gslb/dsdqpub/jlwshd.m3u8?auth=testpub$LR•IPV4•22『线路16』 -吉林卫视,http://23.237.228.134/live8/jilin.m3u8$LR•IPV4•22『线路17』 -吉林卫视,http://43.251.226.89:8080/play/47.m3u8$LR•IPV4•22『线路18』 -吉林卫视,http://api.kkitv.itv888.cn:8080/hls/b6dl8yuvu/index.m3u$LR•IPV4•22『线路19』 -吉林卫视,https://iptv.catvod.com/catvod.php?id=jlws$LR•IPV4•22『线路20』 -吉林卫视,https://httop.top/ysp-吉林卫视$LR•IPV4•22『线路21』 -吉林卫视,http://118.81.195.79:9003/hls/34/index.m3u8$LR•IPV4•22『线路22』 -内蒙古卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227018/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ErN_hoRDwApMKnJqiNHvn9w%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•20『线路1』 -内蒙古卫视,http://112.123.243.37:50085/tsfile/live/0118_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•20『线路2』 -内蒙古卫视,http://59.39.89.130:60901/tsfile/live/0125_21.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•20『线路3』 -内蒙古卫视,http://222.90.21.30:9901/hls/40/index.m3u8$LR•IPV4•20『线路4』 -内蒙古卫视,http://153.0.171.163:9901/tsfile/live/0109_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•20『线路5』 -内蒙古卫视,http://112.27.235.94:8000/hls/49/index.m3u8$LR•IPV4•20『线路6』 -内蒙古卫视,http://60.10.139.113:8801/hls/55/index.m3u8$LR•IPV4•20『线路7』 -内蒙古卫视,http://jasonzhangnas.f3322.net:7088/udp/233.18.204.217:5140$LR•IPV4•20『线路8』 -内蒙古卫视,http://207.56.13.146:81/cdnlive/nmgws.m3u8$LR•IPV4•20『线路9』 -内蒙古卫视,http://192.151.150.154/live/nmgws.m3u8$LR•IPV4•20『线路10』 -内蒙古卫视,http://204.12.221.218:8181/3m1080p/nmgws.m3u8$LR•IPV4•20『线路11』 -内蒙古卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000014080&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路12』 -内蒙古卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7331079758781182663&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路13』 -内蒙古卫视,http://23.237.228.134/live8/neimenggu.m3u8$LR•IPV4•20『线路14』 -内蒙古卫视,https://iptv.catvod.com/catvod.php?id=nmws$LR•IPV4•20『线路15』 -内蒙古卫视,https://httop.top/ysp-内蒙古卫视$LR•IPV4•20『线路16』 -内蒙古卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225667/index.m3u8$LR•IPV4•20『线路17』 -内蒙古卫视,http://117.169.120.140:8080/live/neimenggustv/.m3u8$LR•IPV4•20『线路18』 -内蒙古卫视,http://183.207.248.71/gitv/live1/G_NEIMENGGU/G_NEIMENGGU$LR•IPV4•20『线路19』 -内蒙古卫视,http://223.110.245.173/PLTV/4/224/3221225836/index.m3u8$LR•IPV4•20『线路20』 -辽宁卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226966/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E6qJH8Fd-zgCGx3P-Ce86cA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•24『线路1』 +吉林卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227015/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EW5-3AVdwD5KlUpuA4mz7Cg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•22『线路8』 +吉林卫视,http://cssbyd.imwork.net:8082/hls/41/index.m3u8$LR•IPV4•22『线路9』 +吉林卫视,http://38.75.136.137:98/gslb/dsdqpub/jlwshd.m3u8?auth=testpub$LR•IPV4•22『线路10』 +吉林卫视,http://23.237.228.134/live8/jilin.m3u8$LR•IPV4•22『线路11』 +吉林卫视,http://43.251.226.89:8080/play/47.m3u8$LR•IPV4•22『线路12』 +吉林卫视,http://api.kkitv.itv888.cn:8080/hls/b6dl8yuvu/index.m3u$LR•IPV4•22『线路13』 +吉林卫视,https://iptv.catvod.com/catvod.php?id=jlws$LR•IPV4•22『线路14』 +吉林卫视,https://httop.top/ysp-吉林卫视$LR•IPV4•22『线路15』 +吉林卫视,http://60.10.139.113:8801/hls/38/index.m3u8$LR•IPV4•22『线路16』 +吉林卫视,http://207.56.13.146:81/cdnlive/jlws.m3u8$LR•IPV4•22『线路17』 +吉林卫视,http://192.151.150.154/live/jlwshd.m3u8$LR•IPV4•22『线路18』 +吉林卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031117&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路19』 +吉林卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=6042486520432105075&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路20』 +吉林卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040013&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路21』 +吉林卫视,http://111.29.9.33:6610/000000001000/5000000011000031117/index.m3u8?channel-id=bestzb&Contentid=5000000011000031117&livemode=1&stbId=3$LR•IPV4•22『线路22』 +内蒙古卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225667/index.m3u8$LR•IPV4•20『线路1』 +内蒙古卫视,http://117.169.120.140:8080/live/neimenggustv/.m3u8$LR•IPV4•20『线路2』 +内蒙古卫视,http://183.207.248.71/gitv/live1/G_NEIMENGGU/G_NEIMENGGU$LR•IPV4•20『线路3』 +内蒙古卫视,http://223.110.245.173/PLTV/4/224/3221225836/index.m3u8$LR•IPV4•20『线路4』 +内蒙古卫视,http://112.123.243.37:50085/tsfile/live/0118_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•20『线路5』 +内蒙古卫视,http://59.39.89.130:60901/tsfile/live/0125_21.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•20『线路6』 +内蒙古卫视,http://222.90.21.30:9901/hls/40/index.m3u8$LR•IPV4•20『线路7』 +内蒙古卫视,http://153.0.171.163:9901/tsfile/live/0109_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•20『线路8』 +内蒙古卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227018/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ErN_hoRDwApMKnJqiNHvn9w%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•20『线路9』 +内蒙古卫视,http://112.27.235.94:8000/hls/49/index.m3u8$LR•IPV4•20『线路10』 +内蒙古卫视,http://23.237.228.134/live8/neimenggu.m3u8$LR•IPV4•20『线路11』 +内蒙古卫视,https://iptv.catvod.com/catvod.php?id=nmws$LR•IPV4•20『线路12』 +内蒙古卫视,https://httop.top/ysp-内蒙古卫视$LR•IPV4•20『线路13』 +内蒙古卫视,http://60.10.139.113:8801/hls/55/index.m3u8$LR•IPV4•20『线路14』 +内蒙古卫视,http://jasonzhangnas.f3322.net:7088/udp/233.18.204.217:5140$LR•IPV4•20『线路15』 +内蒙古卫视,http://207.56.13.146:81/cdnlive/nmgws.m3u8$LR•IPV4•20『线路16』 +内蒙古卫视,http://192.151.150.154/live/nmgws.m3u8$LR•IPV4•20『线路17』 +内蒙古卫视,http://204.12.221.218:8181/3m1080p/nmgws.m3u8$LR•IPV4•20『线路18』 +内蒙古卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000014080&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路19』 +内蒙古卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7331079758781182663&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路20』 +辽宁卫视,http://39.134.39.37/PLTV/88888888/224/3221226209/index.m3u8$LR•IPV4•24『线路1』 辽宁卫视,http://112.123.243.37:50085/tsfile/live/0126_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•24『线路2』 辽宁卫视,http://38.75.136.137:98/gslb/dsdqpub/lnwshd.m3u8?auth=testpub$LR•IPV4•24『线路3』 辽宁卫视,http://36.136.38.87:9901/tsfile/live/0121_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路4』 辽宁卫视,http://153.0.171.163:9901/tsfile/live/0121_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路5』 -辽宁卫视,http://112.27.235.94:8000/hls/47/index.m3u8$LR•IPV4•24『线路6』 -辽宁卫视,http://60.10.139.113:8801/hls/28/index.m3u8$LR•IPV4•24『线路7』 -辽宁卫视,http://207.56.13.146:81/cdnlive/lnws.m3u8$LR•IPV4•24『线路8』 -辽宁卫视,http://192.151.150.154/live/lnwshd.m3u8$LR•IPV4•24『线路9』 -辽宁卫视,http://204.12.221.218:8181/3m1080p/lnws.m3u8$LR•IPV4•24『线路10』 -辽宁卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000011671&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路11』 -辽宁卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000001945&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路12』 -辽宁卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000024033&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路13』 -辽宁卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000008940&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路14』 -辽宁卫视,http://111.29.9.33:6610/000000001000/1000000001000001945/index.m3u8?channel-id=bestzb&Contentid=1000000001000001945&livemode=1&stbId=3$LR•IPV4•24『线路15』 -辽宁卫视,https://hlsbkmgsplive.miguvideo.com/migu/kailu/lnwshd265/54/20200407/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•24『线路16』 -辽宁卫视,http://23.237.228.134/live8/liaoning.m3u8$LR•IPV4•24『线路17』 -辽宁卫视,http://43.251.226.89:8080/play/41.m3u8$LR•IPV4•24『线路18』 -辽宁卫视,http://gfr.x3322.net:9901/tsfile/live/1097_1.m3u8$LR•IPV4•24『线路19』 -辽宁卫视,http://api.kkitv.itv888.cn:8080/hls/iibq0absdjr/index.m3u8$LR•IPV4•24『线路20』 -辽宁卫视,https://iptv.catvod.com/catvod.php?id=lnws$LR•IPV4•24『线路21』 -辽宁卫视,https://httop.top/ysp-辽宁卫视$LR•IPV4•24『线路22』 -辽宁卫视,http://iptv.huuc.edu.cn/hls/lnhd.m3u8$LR•IPV4•24『线路23』 -辽宁卫视,http://39.134.39.37/PLTV/88888888/224/3221226209/index.m3u8$LR•IPV4•24『线路24』 -宁夏卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227003/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ESco1zinvdUYzleEkXYhIvA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•17『线路1』 +辽宁卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226966/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E6qJH8Fd-zgCGx3P-Ce86cA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•24『线路6』 +辽宁卫视,http://112.27.235.94:8000/hls/47/index.m3u8$LR•IPV4•24『线路7』 +辽宁卫视,https://hlsbkmgsplive.miguvideo.com/migu/kailu/lnwshd265/54/20200407/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•24『线路8』 +辽宁卫视,http://23.237.228.134/live8/liaoning.m3u8$LR•IPV4•24『线路9』 +辽宁卫视,http://43.251.226.89:8080/play/41.m3u8$LR•IPV4•24『线路10』 +辽宁卫视,http://gfr.x3322.net:9901/tsfile/live/1097_1.m3u8$LR•IPV4•24『线路11』 +辽宁卫视,http://api.kkitv.itv888.cn:8080/hls/iibq0absdjr/index.m3u8$LR•IPV4•24『线路12』 +辽宁卫视,https://iptv.catvod.com/catvod.php?id=lnws$LR•IPV4•24『线路13』 +辽宁卫视,https://httop.top/ysp-辽宁卫视$LR•IPV4•24『线路14』 +辽宁卫视,http://iptv.huuc.edu.cn/hls/lnhd.m3u8$LR•IPV4•24『线路15』 +辽宁卫视,http://60.10.139.113:8801/hls/28/index.m3u8$LR•IPV4•24『线路16』 +辽宁卫视,http://207.56.13.146:81/cdnlive/lnws.m3u8$LR•IPV4•24『线路17』 +辽宁卫视,http://192.151.150.154/live/lnwshd.m3u8$LR•IPV4•24『线路18』 +辽宁卫视,http://204.12.221.218:8181/3m1080p/lnws.m3u8$LR•IPV4•24『线路19』 +辽宁卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000011671&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路20』 +辽宁卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000001945&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路21』 +辽宁卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000024033&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路22』 +辽宁卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000001000008940&livemode=1&stbId=yu&mode=1&$LR•IPV4•24『线路23』 +辽宁卫视,http://111.29.9.33:6610/000000001000/1000000001000001945/index.m3u8?channel-id=bestzb&Contentid=1000000001000001945&livemode=1&stbId=3$LR•IPV4•24『线路24』 +宁夏卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225726/index.m3u8$LR•IPV4•17『线路1』 宁夏卫视,http://192.151.150.154/live/nxws.m3u8$LR•IPV4•17『线路2』 宁夏卫视,http://112.123.243.37:50085/tsfile/live/0125_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•17『线路3』 宁夏卫视,http://58.56.162.102:4466/newlive/live/hls/43/live.m3u8$LR•IPV4•17『线路4』 宁夏卫视,http://153.0.171.163:9901/tsfile/live/0112_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•17『线路5』 -宁夏卫视,http://120.76.248.139/live/bfgd/4200000118.m3u8$LR•IPV4•17『线路6』 -宁夏卫视,http://60.10.139.113:8801/hls/57/index.m3u8$LR•IPV4•17『线路7』 -宁夏卫视,http://jasonzhangnas.f3322.net:7088/udp/233.18.204.230:5140$LR•IPV4•17『线路8』 -宁夏卫视,http://207.56.13.146:81/cdnlive/nxws.m3u8$LR•IPV4•17『线路9』 -宁夏卫视,http://204.12.221.218:8181/3m1080p/nxws.m3u8$LR•IPV4•17『线路10』 -宁夏卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000031451&livemode=1&stbId=yu&mode=1&$LR•IPV4•17『线路11』 -宁夏卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040022&livemode=1&stbId=yu&mode=1&$LR•IPV4•17『线路12』 -宁夏卫视,http://111.29.9.33:6610/000000001000/1000000002000031451/index.m3u8?channel-id=bestzb&Contentid=1000000002000031451&livemode=1&stbId=3$LR•IPV4•17『线路13』 -宁夏卫视,http://43.251.226.89:8080/play/54.m3u8$LR•IPV4•17『线路14』 -宁夏卫视,https://iptv.catvod.com/catvod.php?id=nxws$LR•IPV4•17『线路15』 -宁夏卫视,https://httop.top/ysp-宁夏卫视$LR•IPV4•17『线路16』 -宁夏卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225726/index.m3u8$LR•IPV4•17『线路17』 -青海卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227017/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EacviHy_ucMT27Ymf2iLtZA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•16『线路1』 +宁夏卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227003/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ESco1zinvdUYzleEkXYhIvA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•17『线路6』 +宁夏卫视,http://120.76.248.139/live/bfgd/4200000118.m3u8$LR•IPV4•17『线路7』 +宁夏卫视,http://43.251.226.89:8080/play/54.m3u8$LR•IPV4•17『线路8』 +宁夏卫视,https://iptv.catvod.com/catvod.php?id=nxws$LR•IPV4•17『线路9』 +宁夏卫视,https://httop.top/ysp-宁夏卫视$LR•IPV4•17『线路10』 +宁夏卫视,http://60.10.139.113:8801/hls/57/index.m3u8$LR•IPV4•17『线路11』 +宁夏卫视,http://jasonzhangnas.f3322.net:7088/udp/233.18.204.230:5140$LR•IPV4•17『线路12』 +宁夏卫视,http://207.56.13.146:81/cdnlive/nxws.m3u8$LR•IPV4•17『线路13』 +宁夏卫视,http://204.12.221.218:8181/3m1080p/nxws.m3u8$LR•IPV4•17『线路14』 +宁夏卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000031451&livemode=1&stbId=yu&mode=1&$LR•IPV4•17『线路15』 +宁夏卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040022&livemode=1&stbId=yu&mode=1&$LR•IPV4•17『线路16』 +宁夏卫视,http://111.29.9.33:6610/000000001000/1000000002000031451/index.m3u8?channel-id=bestzb&Contentid=1000000002000031451&livemode=1&stbId=3$LR•IPV4•17『线路17』 +青海卫视,http://live.geermurmt.com/qhws/sd/live.m3u8$LR•IPV4•16『线路1』 青海卫视,http://222.90.21.30:9901/hls/42/index.m3u8$LR•IPV4•16『线路2』 青海卫视,http://153.0.171.163:9901/tsfile/live/0140_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路3』 -青海卫视,http://123.130.84.106:8154/tsfile/live/0140_1.m3u8$LR•IPV4•16『线路4』 -青海卫视,http://60.10.139.113:8801/hls/56/index.m3u8$LR•IPV4•16『线路5』 -青海卫视,http://207.56.13.146:81/cdnlive/qhws.m3u8$LR•IPV4•16『线路6』 -青海卫视,http://192.151.150.154/live/qhws.m3u8$LR•IPV4•16『线路7』 -青海卫视,http://204.12.221.218:8181/3m1080p/qhws.m3u8$LR•IPV4•16『线路8』 -青海卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040015&livemode=1&stbId=yu&mode=1&$LR•IPV4•16『线路9』 -青海卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000013359&livemode=1&stbId=yu&mode=1&$LR•IPV4•16『线路10』 -青海卫视,http://111.29.9.33:6610/000000001000/1000000002000013359/index.m3u8?channel-id=bestzb&Contentid=1000000002000013359&livemode=1&stbId=3$LR•IPV4•16『线路11』 -青海卫视,http://23.237.228.134/live8/qinghai.m3u8$LR•IPV4•16『线路12』 -青海卫视,http://43.251.226.89:8080/play/48.m3u8$LR•IPV4•16『线路13』 -青海卫视,https://iptv.catvod.com/catvod.php?id=qhws$LR•IPV4•16『线路14』 -青海卫视,https://httop.top/ysp-青海卫视$LR•IPV4•16『线路15』 -青海卫视,http://live.geermurmt.com/qhws/sd/live.m3u8$LR•IPV4•16『线路16』 -山东卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226957/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EjW26v5VaHGy1jQuIA-4EbA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路1』 -山东卫视,http://112.123.243.37:50085/tsfile/live/0122_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•28『线路2』 -山东卫视,http://36.136.38.87:9901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路3』 -山东卫视,http://112.27.235.94:8000/hls/34/index.m3u8$LR•IPV4•28『线路4』 -山东卫视,http://60.10.139.113:8801/hls/25/index.m3u8$LR•IPV4•28『线路5』 -山东卫视,http://207.56.13.146:81/cdnlive/sdws.m3u8$LR•IPV4•28『线路6』 -山东卫视,http://192.151.150.154/live/sdwshd.m3u8$LR•IPV4•28『线路7』 -山东卫视,http://173.208.212.130:8181/720p/sdws.m3u8$LR•IPV4•28『线路8』 -山东卫视,http://204.12.221.218:8181/3m1080p/sdws.m3u8$LR•IPV4•28『线路9』 -山东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000020424&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路10』 -山东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000012807&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路11』 -山东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000016568&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路12』 -山东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000027763&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路13』 -山东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=7347081113971056899&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路14』 -山东卫视,http://111.29.9.37:6610/000000001000/1000000001000012807/index.m3u8?channel-id=ystenlive&Contentid=1000000001000012807&livemode=1&stbId=3$LR•IPV4•28『线路15』 -山东卫视,http://111.29.9.33:6610/000000001000/1000000001000012807/index.m3u8?channel-id=bestzb&Contentid=1000000001000012807&livemode=1&stbId=3$LR•IPV4•28『线路16』 -山东卫视,http://38.75.136.137:98/gslb/dsdqpub/sdwshd.m3u8?auth=testpub$LR•IPV4•28『线路17』 -山东卫视,https://hlsbkmgsplive.miguvideo.com/wd_r4/yg/shandongwshd/3000/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•28『线路18』 -山东卫视,https://hlsbkmgsplive.miguvideo.com/wd-shandonghd-1200/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•28『线路19』 -山东卫视,http://23.237.228.134/live8/shandong.m3u8$LR•IPV4•28『线路20』 -山东卫视,http://gfr.x3322.net:9901/tsfile/live/1098_1.m3u8$LR•IPV4•28『线路21』 -山东卫视,http://api.kkitv.itv888.cn:8080/hls/6gcdai13om5/index.m3u8$LR•IPV4•28『线路22』 -山东卫视,https://iptv.catvod.com/catvod.php?id=sdws$LR•IPV4•28『线路23』 -山东卫视,https://httop.top/ysp-山东卫视$LR•IPV4•28『线路24』 -山东卫视,http://iptv.huuc.edu.cn/hls/sdhd.m3u8$LR•IPV4•28『线路25』 -山东卫视,http://153.0.171.163:9901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路26』 -山东卫视,http://125.210.152.18:9090/live/SDWSHD_H265.m3u8$LR•IPV4•28『线路27』 -山东卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225697/index.m3u8$LR•IPV4•28『线路28』 -天津卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226954/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eaf3wyULP1h575eM_4ByMDg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路1』 +青海卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227017/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EacviHy_ucMT27Ymf2iLtZA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•16『线路4』 +青海卫视,http://123.130.84.106:8154/tsfile/live/0140_1.m3u8$LR•IPV4•16『线路5』 +青海卫视,http://23.237.228.134/live8/qinghai.m3u8$LR•IPV4•16『线路6』 +青海卫视,http://43.251.226.89:8080/play/48.m3u8$LR•IPV4•16『线路7』 +青海卫视,https://iptv.catvod.com/catvod.php?id=qhws$LR•IPV4•16『线路8』 +青海卫视,https://httop.top/ysp-青海卫视$LR•IPV4•16『线路9』 +青海卫视,http://60.10.139.113:8801/hls/56/index.m3u8$LR•IPV4•16『线路10』 +青海卫视,http://207.56.13.146:81/cdnlive/qhws.m3u8$LR•IPV4•16『线路11』 +青海卫视,http://192.151.150.154/live/qhws.m3u8$LR•IPV4•16『线路12』 +青海卫视,http://204.12.221.218:8181/3m1080p/qhws.m3u8$LR•IPV4•16『线路13』 +青海卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040015&livemode=1&stbId=yu&mode=1&$LR•IPV4•16『线路14』 +青海卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000013359&livemode=1&stbId=yu&mode=1&$LR•IPV4•16『线路15』 +青海卫视,http://111.29.9.33:6610/000000001000/1000000002000013359/index.m3u8?channel-id=bestzb&Contentid=1000000002000013359&livemode=1&stbId=3$LR•IPV4•16『线路16』 +山东卫视,http://125.210.152.18:9090/live/SDWSHD_H265.m3u8$LR•IPV4•28『线路1』 +山东卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225697/index.m3u8$LR•IPV4•28『线路2』 +山东卫视,http://112.123.243.37:50085/tsfile/live/0122_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•28『线路3』 +山东卫视,http://36.136.38.87:9901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路4』 +山东卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226957/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EjW26v5VaHGy1jQuIA-4EbA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路5』 +山东卫视,http://112.27.235.94:8000/hls/34/index.m3u8$LR•IPV4•28『线路6』 +山东卫视,http://38.75.136.137:98/gslb/dsdqpub/sdwshd.m3u8?auth=testpub$LR•IPV4•28『线路7』 +山东卫视,https://hlsbkmgsplive.miguvideo.com/wd_r4/yg/shandongwshd/3000/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•28『线路8』 +山东卫视,https://hlsbkmgsplive.miguvideo.com/wd-shandonghd-1200/01.m3u8?&HlsSubType=&encrypt=$LR•IPV4•28『线路9』 +山东卫视,http://23.237.228.134/live8/shandong.m3u8$LR•IPV4•28『线路10』 +山东卫视,http://gfr.x3322.net:9901/tsfile/live/1098_1.m3u8$LR•IPV4•28『线路11』 +山东卫视,http://api.kkitv.itv888.cn:8080/hls/6gcdai13om5/index.m3u8$LR•IPV4•28『线路12』 +山东卫视,https://iptv.catvod.com/catvod.php?id=sdws$LR•IPV4•28『线路13』 +山东卫视,https://httop.top/ysp-山东卫视$LR•IPV4•28『线路14』 +山东卫视,http://iptv.huuc.edu.cn/hls/sdhd.m3u8$LR•IPV4•28『线路15』 +山东卫视,http://153.0.171.163:9901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路16』 +山东卫视,http://60.10.139.113:8801/hls/25/index.m3u8$LR•IPV4•28『线路17』 +山东卫视,http://207.56.13.146:81/cdnlive/sdws.m3u8$LR•IPV4•28『线路18』 +山东卫视,http://192.151.150.154/live/sdwshd.m3u8$LR•IPV4•28『线路19』 +山东卫视,http://173.208.212.130:8181/720p/sdws.m3u8$LR•IPV4•28『线路20』 +山东卫视,http://204.12.221.218:8181/3m1080p/sdws.m3u8$LR•IPV4•28『线路21』 +山东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000020424&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路22』 +山东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000012807&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路23』 +山东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000016568&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路24』 +山东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000027763&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路25』 +山东卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=7347081113971056899&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路26』 +山东卫视,http://111.29.9.37:6610/000000001000/1000000001000012807/index.m3u8?channel-id=ystenlive&Contentid=1000000001000012807&livemode=1&stbId=3$LR•IPV4•28『线路27』 +山东卫视,http://111.29.9.33:6610/000000001000/1000000001000012807/index.m3u8?channel-id=bestzb&Contentid=1000000001000012807&livemode=1&stbId=3$LR•IPV4•28『线路28』 +天津卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225698/index.m3u8$LR•IPV4•28『线路1』 天津卫视,http://112.123.243.37:50085/tsfile/live/0128_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•28『线路2』 天津卫视,http://198.204.228.26/live/tjwshd.m3u8$LR•IPV4•28『线路3』 天津卫视,http://192.151.150.154/live/tjwshd.m3u8$LR•IPV4•28『线路4』 @@ -1193,140 +1199,140 @@ CGTN阿语,https://0472.org/hls/cgtna.m3u8?3.24.160:5140$LR•IPV4•4『线路4 天津卫视,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=tjwshd$LR•IPV4•28『线路6』 天津卫视,http://36.136.38.87:9901/tsfile/live/0135_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路7』 天津卫视,http://153.0.171.163:9901/tsfile/live/0135_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路8』 -天津卫视,http://112.27.235.94:8000/hls/42/index.m3u8$LR•IPV4•28『线路9』 -天津卫视,http://60.10.139.113:8801/hls/23/index.m3u8$LR•IPV4•28『线路10』 -天津卫视,http://207.56.13.146:81/cdnlive/tjws.m3u8$LR•IPV4•28『线路11』 -天津卫视,http://173.208.212.130:8181/720p/tjws.m3u8$LR•IPV4•28『线路12』 -天津卫视,http://204.12.221.218:8181/3m1080p/tjws.m3u8$LR•IPV4•28『线路13』 -天津卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000001000030788&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路14』 -天津卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006827&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路15』 -天津卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000000831&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路16』 -天津卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000003475&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路17』 -天津卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265026&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路18』 -天津卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6707942579111517572&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路19』 -天津卫视,http://111.29.9.38:6610/000000001000/5000000004000006827/index.m3u8?channel-id=bestzb&Contentid=5000000004000006827&livemode=1&stbId=3$LR•IPV4•28『线路20』 -天津卫视,http://111.29.9.33:6610/000000001000/1000000001000000831/index.m3u8?channel-id=bestzb&Contentid=1000000001000000831&livemode=1&stbId=3$LR•IPV4•28『线路21』 -天津卫视,http://23.237.228.134/live8/tianjing.m3u8$LR•IPV4•28『线路22』 -天津卫视,http://gfr.x3322.net:9901/tsfile/live/1090_1.m3u8$LR•IPV4•28『线路23』 -天津卫视,http://api.kkitv.itv888.cn:8080/hls/z2lkdkrb4w/index.m3u8$LR•IPV4•28『线路24』 -天津卫视,https://iptv.catvod.com/catvod.php?id=tjws$LR•IPV4•28『线路25』 -天津卫视,https://httop.top/ysp-天津卫视$LR•IPV4•28『线路26』 -天津卫视,http://iptv.huuc.edu.cn/hls/tjhd.m3u8$LR•IPV4•28『线路27』 -天津卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225698/index.m3u8$LR•IPV4•28『线路28』 +天津卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226954/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eaf3wyULP1h575eM_4ByMDg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路9』 +天津卫视,http://112.27.235.94:8000/hls/42/index.m3u8$LR•IPV4•28『线路10』 +天津卫视,http://23.237.228.134/live8/tianjing.m3u8$LR•IPV4•28『线路11』 +天津卫视,http://gfr.x3322.net:9901/tsfile/live/1090_1.m3u8$LR•IPV4•28『线路12』 +天津卫视,http://api.kkitv.itv888.cn:8080/hls/z2lkdkrb4w/index.m3u8$LR•IPV4•28『线路13』 +天津卫视,https://iptv.catvod.com/catvod.php?id=tjws$LR•IPV4•28『线路14』 +天津卫视,https://httop.top/ysp-天津卫视$LR•IPV4•28『线路15』 +天津卫视,http://iptv.huuc.edu.cn/hls/tjhd.m3u8$LR•IPV4•28『线路16』 +天津卫视,http://60.10.139.113:8801/hls/23/index.m3u8$LR•IPV4•28『线路17』 +天津卫视,http://207.56.13.146:81/cdnlive/tjws.m3u8$LR•IPV4•28『线路18』 +天津卫视,http://173.208.212.130:8181/720p/tjws.m3u8$LR•IPV4•28『线路19』 +天津卫视,http://204.12.221.218:8181/3m1080p/tjws.m3u8$LR•IPV4•28『线路20』 +天津卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000001000030788&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路21』 +天津卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006827&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路22』 +天津卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000000831&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路23』 +天津卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000003475&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路24』 +天津卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265026&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路25』 +天津卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6707942579111517572&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路26』 +天津卫视,http://111.29.9.38:6610/000000001000/5000000004000006827/index.m3u8?channel-id=bestzb&Contentid=5000000004000006827&livemode=1&stbId=3$LR•IPV4•28『线路27』 +天津卫视,http://111.29.9.33:6610/000000001000/1000000001000000831/index.m3u8?channel-id=bestzb&Contentid=1000000001000000831&livemode=1&stbId=3$LR•IPV4•28『线路28』 海南卫视,https://livelyws.chinamcache.com/lyws/zb03.m3u8$LR•IPV4•15『线路1』 -海南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227029/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EEuBMjt2kLMD8fAO7QYER7Q%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•15『线路2』 +海南卫视,http://118.81.195.79:9003/hls/28/index.m3u8$LR•IPV4•15『线路2』 海南卫视,http://222.90.21.30:9901/hls/37/index.m3u8$LR•IPV4•15『线路3』 -海南卫视,http://120.76.248.139/live/bfgd/4200000473.m3u8$LR•IPV4•15『线路4』 -海南卫视,http://nn.7x9d.cn/地方台8563/海南.php?id=hnws$LR•IPV4•15『线路5』 -海南卫视,http://207.56.13.146:81/cdnlive/lyws.m3u8$LR•IPV4•15『线路6』 -海南卫视,http://204.12.221.218:8181/3m1080p/lyws.m3u8$LR•IPV4•15『线路7』 -海南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006211&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路8』 -海南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7899627377857656087&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路9』 -海南卫视,http://111.29.9.33:6610/000000001000/5000000004000006211/index.m3u8?channel-id=bestzb&Contentid=5000000004000006211&livemode=1&stbId=3$LR•IPV4•15『线路10』 -海南卫视,http://43.251.226.89:8080/play/50.m3u8$LR•IPV4•15『线路11』 -海南卫视,http://api.kkitv.itv888.cn:8080/hls/c1cajhsgba8/index.m3u8$LR•IPV4•15『线路12』 -海南卫视,https://iptv.catvod.com/catvod.php?id=hinws$LR•IPV4•15『线路13』 -海南卫视,https://httop.top/ysp-海南卫视$LR•IPV4•15『线路14』 -海南卫视,http://118.81.195.79:9003/hls/28/index.m3u8$LR•IPV4•15『线路15』 -新疆卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227011/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ExAUu61iVvo_xYbANWJhgXw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•22『线路1』 -新疆卫视,http://218.84.12.186:8001/hls/main/playlist.m3u8?zxinjd;http://218.84.12.186:8001/hls/main/playlist.m3u8zxinjd$LR•IPV4•22『线路2』 -新疆卫视,http://112.123.243.37:50085/tsfile/live/0143_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•22『线路3』 -新疆卫视,http://59.39.89.130:60901/tsfile/live/0125_17.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路4』 -新疆卫视,http://113.25.252.226:9901/tsfile/live/1044_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路5』 -新疆卫视,http://live.wjyanghu.com/live/CH1.m3u8$LR•IPV4•22『线路6』 -新疆卫视,http://58.56.162.102:4466/newlive/live/hls/44/live.m3u8$LR•IPV4•22『线路7』 -新疆卫视,http://jasonzhangnas.f3322.net:7088/udp/233.18.204.220:5140$LR•IPV4•22『线路8』 -新疆卫视,http://207.56.13.146:81/cdnlive/xjws.m3u8$LR•IPV4•22『线路9』 -新疆卫视,http://192.151.150.154/live/xjws.m3u8$LR•IPV4•22『线路10』 -新疆卫视,http://204.12.221.218:8181/3m1080p/xjws.m3u8$LR•IPV4•22『线路11』 -新疆卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040018&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路12』 -新疆卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000029441&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路13』 -新疆卫视,http://111.29.9.33:6610/000000001000/1000000002000029441/index.m3u8?channel-id=bestzb&Contentid=1000000002000029441&livemode=1&stbId=3$LR•IPV4•22『线路14』 -新疆卫视,https://iptv.catvod.com/catvod.php?id=xjws$LR•IPV4•22『线路15』 -新疆卫视,https://httop.top/ysp-新疆卫视$LR•IPV4•22『线路16』 -新疆卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225725/index.m3u8$LR•IPV4•22『线路17』 -新疆卫视,http://183.207.248.71/cntv/live1/xinjiangstv/xinjiangstv$LR•IPV4•22『线路18』 -新疆卫视,http://183.207.248.71/gitv/live1/G_XINJIANG/G_XINJIANG$LR•IPV4•22『线路19』 -新疆卫视,http://183.207.249.15/PLTV/3/224/3221225523/index.m3u8$LR•IPV4•22『线路20』 -新疆卫视,http://223.110.243.136/PLTV/3/224/3221225523/index.m3u8$LR•IPV4•22『线路21』 -新疆卫视,http://112.25.48.68/live/program/live/xjws/1300000/mnf.m3u8$LR•IPV4•22『线路22』 +海南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227029/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EEuBMjt2kLMD8fAO7QYER7Q%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•15『线路4』 +海南卫视,http://120.76.248.139/live/bfgd/4200000473.m3u8$LR•IPV4•15『线路5』 +海南卫视,http://43.251.226.89:8080/play/50.m3u8$LR•IPV4•15『线路6』 +海南卫视,http://api.kkitv.itv888.cn:8080/hls/c1cajhsgba8/index.m3u8$LR•IPV4•15『线路7』 +海南卫视,https://iptv.catvod.com/catvod.php?id=hinws$LR•IPV4•15『线路8』 +海南卫视,https://httop.top/ysp-海南卫视$LR•IPV4•15『线路9』 +海南卫视,http://nn.7x9d.cn/地方台8563/海南.php?id=hnws$LR•IPV4•15『线路10』 +海南卫视,http://207.56.13.146:81/cdnlive/lyws.m3u8$LR•IPV4•15『线路11』 +海南卫视,http://204.12.221.218:8181/3m1080p/lyws.m3u8$LR•IPV4•15『线路12』 +海南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006211&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路13』 +海南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7899627377857656087&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路14』 +海南卫视,http://111.29.9.33:6610/000000001000/5000000004000006211/index.m3u8?channel-id=bestzb&Contentid=5000000004000006211&livemode=1&stbId=3$LR•IPV4•15『线路15』 +新疆卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225725/index.m3u8$LR•IPV4•22『线路1』 +新疆卫视,http://183.207.248.71/cntv/live1/xinjiangstv/xinjiangstv$LR•IPV4•22『线路2』 +新疆卫视,http://183.207.248.71/gitv/live1/G_XINJIANG/G_XINJIANG$LR•IPV4•22『线路3』 +新疆卫视,http://183.207.249.15/PLTV/3/224/3221225523/index.m3u8$LR•IPV4•22『线路4』 +新疆卫视,http://223.110.243.136/PLTV/3/224/3221225523/index.m3u8$LR•IPV4•22『线路5』 +新疆卫视,http://112.25.48.68/live/program/live/xjws/1300000/mnf.m3u8$LR•IPV4•22『线路6』 +新疆卫视,http://218.84.12.186:8001/hls/main/playlist.m3u8?zxinjd;http://218.84.12.186:8001/hls/main/playlist.m3u8zxinjd$LR•IPV4•22『线路7』 +新疆卫视,http://112.123.243.37:50085/tsfile/live/0143_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•22『线路8』 +新疆卫视,http://59.39.89.130:60901/tsfile/live/0125_17.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路9』 +新疆卫视,http://113.25.252.226:9901/tsfile/live/1044_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路10』 +新疆卫视,http://live.wjyanghu.com/live/CH1.m3u8$LR•IPV4•22『线路11』 +新疆卫视,http://58.56.162.102:4466/newlive/live/hls/44/live.m3u8$LR•IPV4•22『线路12』 +新疆卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227011/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ExAUu61iVvo_xYbANWJhgXw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•22『线路13』 +新疆卫视,https://iptv.catvod.com/catvod.php?id=xjws$LR•IPV4•22『线路14』 +新疆卫视,https://httop.top/ysp-新疆卫视$LR•IPV4•22『线路15』 +新疆卫视,http://jasonzhangnas.f3322.net:7088/udp/233.18.204.220:5140$LR•IPV4•22『线路16』 +新疆卫视,http://207.56.13.146:81/cdnlive/xjws.m3u8$LR•IPV4•22『线路17』 +新疆卫视,http://192.151.150.154/live/xjws.m3u8$LR•IPV4•22『线路18』 +新疆卫视,http://204.12.221.218:8181/3m1080p/xjws.m3u8$LR•IPV4•22『线路19』 +新疆卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040018&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路20』 +新疆卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000029441&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路21』 +新疆卫视,http://111.29.9.33:6610/000000001000/1000000002000029441/index.m3u8?channel-id=bestzb&Contentid=1000000002000029441&livemode=1&stbId=3$LR•IPV4•22『线路22』 云南卫视,http://p2.ioioz.com/xgplayer.php?id=https://hwapi.yntv.net/ew265l/z1z6s5.m3u8$LR•IPV4•21『线路1』 -云南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227028/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EGfQPqRNVeBjTMsZ48qu0SA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•21『线路2』 +云南卫视,https://hwapi.yunshicloud.com/8xughf/e0bx15.m3u8$LR•IPV4•21『线路2』 云南卫视,http://112.123.243.37:50085/tsfile/live/0117_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•21『线路3』 云南卫视,http://36.136.38.87:9901/tsfile/live/0119_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路4』 云南卫视,http://153.0.171.163:9901/tsfile/live/0119_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路5』 -云南卫视,http://112.27.235.94:8000/hls/40/index.m3u8$LR•IPV4•21『线路6』 -云南卫视,http://60.10.139.113:8801/hls/51/index.m3u8$LR•IPV4•21『线路7』 -云南卫视,http://207.56.13.146:81/cdnlive/ynws.m3u8$LR•IPV4•21『线路8』 -云南卫视,http://192.151.150.154/live/ynwshd.m3u8$LR•IPV4•21『线路9』 -云南卫视,http://204.12.221.218:8181/3m1080p/ynws.m3u8$LR•IPV4•21『线路10』 -云南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031120&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路11』 -云南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040019&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路12』 -云南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000024694&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路13』 -云南卫视,http://111.29.9.37:6610/000000001000/1000000002000024694/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•21『线路14』 -云南卫视,http://111.43.126.240:9003/hls/60/index.m3u8$LR•IPV4•21『线路15』 -云南卫视,http://111.29.9.33:6610/000000001000/1000000002000024694/index.m3u8?channel-id=bestzb&Contentid=1000000002000024694&livemode=1&stbId=3$LR•IPV4•21『线路16』 -云南卫视,http://38.75.136.137:98/gslb/dsdqpub/ynwshd.m3u8?auth=testpub$LR•IPV4•21『线路17』 -云南卫视,http://23.237.228.134/live8/yunnan.m3u8$LR•IPV4•21『线路18』 -云南卫视,https://iptv.catvod.com/catvod.php?id=ynws$LR•IPV4•21『线路19』 -云南卫视,https://httop.top/ysp-云南卫视$LR•IPV4•21『线路20』 -云南卫视,https://hwapi.yunshicloud.com/8xughf/e0bx15.m3u8$LR•IPV4•21『线路21』 -西藏卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227033/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EdeTB7OZ9G_VNJk5C3t96fQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•15『线路1』 -西藏卫视,http://107.150.60.122/live/xzws.m3u8$LR•IPV4•15『线路2』 -西藏卫视,http://112.123.243.37:50085/tsfile/live/0141_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•15『线路3』 -西藏卫视,http://222.90.21.30:9901/hls/90/index.m3u8$LR•IPV4•15『线路4』 -西藏卫视,http://58.56.162.102:4466/newlive/live/hls/45/live.m3u8$LR•IPV4•15『线路5』 -西藏卫视,http://cssbyd.imwork.net:8082/hls/46/index.m3u8$LR•IPV4•15『线路6』 -西藏卫视,http://jasonzhangnas.f3322.net:7088/udp/233.18.204.222:5140$LR•IPV4•15『线路7』 -西藏卫视,http://207.56.13.146:81/cdnlive/xzws.m3u8$LR•IPV4•15『线路8』 -西藏卫视,http://204.12.221.218:8181/3m1080p/xzws.m3u8$LR•IPV4•15『线路9』 -西藏卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5381760837640571168&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路10』 -西藏卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=6603041244077933770&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路11』 -西藏卫视,https://iptv.catvod.com/catvod.php?id=xzws$LR•IPV4•15『线路12』 -西藏卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225723/index.m3u8$LR•IPV4•15『线路13』 -西藏卫视,http://117.169.120.140:8080/live/xizangstv/.m3u8$LR•IPV4•15『线路14』 -西藏卫视,http://183.207.249.16/PLTV/3/224/3221225523/index.m3u8$LR•IPV4•15『线路15』 +云南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227028/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EGfQPqRNVeBjTMsZ48qu0SA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•21『线路6』 +云南卫视,http://112.27.235.94:8000/hls/40/index.m3u8$LR•IPV4•21『线路7』 +云南卫视,http://38.75.136.137:98/gslb/dsdqpub/ynwshd.m3u8?auth=testpub$LR•IPV4•21『线路8』 +云南卫视,http://23.237.228.134/live8/yunnan.m3u8$LR•IPV4•21『线路9』 +云南卫视,https://iptv.catvod.com/catvod.php?id=ynws$LR•IPV4•21『线路10』 +云南卫视,https://httop.top/ysp-云南卫视$LR•IPV4•21『线路11』 +云南卫视,http://60.10.139.113:8801/hls/51/index.m3u8$LR•IPV4•21『线路12』 +云南卫视,http://207.56.13.146:81/cdnlive/ynws.m3u8$LR•IPV4•21『线路13』 +云南卫视,http://192.151.150.154/live/ynwshd.m3u8$LR•IPV4•21『线路14』 +云南卫视,http://204.12.221.218:8181/3m1080p/ynws.m3u8$LR•IPV4•21『线路15』 +云南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031120&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路16』 +云南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040019&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路17』 +云南卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000002000024694&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路18』 +云南卫视,http://111.29.9.37:6610/000000001000/1000000002000024694/index.m3u8?stbId=3&livemode=1&IASHttpSessionId=OTT$LR•IPV4•21『线路19』 +云南卫视,http://111.43.126.240:9003/hls/60/index.m3u8$LR•IPV4•21『线路20』 +云南卫视,http://111.29.9.33:6610/000000001000/1000000002000024694/index.m3u8?channel-id=bestzb&Contentid=1000000002000024694&livemode=1&stbId=3$LR•IPV4•21『线路21』 +西藏卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225723/index.m3u8$LR•IPV4•15『线路1』 +西藏卫视,http://117.169.120.140:8080/live/xizangstv/.m3u8$LR•IPV4•15『线路2』 +西藏卫视,http://183.207.249.16/PLTV/3/224/3221225523/index.m3u8$LR•IPV4•15『线路3』 +西藏卫视,http://107.150.60.122/live/xzws.m3u8$LR•IPV4•15『线路4』 +西藏卫视,http://112.123.243.37:50085/tsfile/live/0141_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•15『线路5』 +西藏卫视,http://222.90.21.30:9901/hls/90/index.m3u8$LR•IPV4•15『线路6』 +西藏卫视,http://58.56.162.102:4466/newlive/live/hls/45/live.m3u8$LR•IPV4•15『线路7』 +西藏卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227033/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EdeTB7OZ9G_VNJk5C3t96fQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•15『线路8』 +西藏卫视,http://cssbyd.imwork.net:8082/hls/46/index.m3u8$LR•IPV4•15『线路9』 +西藏卫视,https://iptv.catvod.com/catvod.php?id=xzws$LR•IPV4•15『线路10』 +西藏卫视,http://jasonzhangnas.f3322.net:7088/udp/233.18.204.222:5140$LR•IPV4•15『线路11』 +西藏卫视,http://207.56.13.146:81/cdnlive/xzws.m3u8$LR•IPV4•15『线路12』 +西藏卫视,http://204.12.221.218:8181/3m1080p/xzws.m3u8$LR•IPV4•15『线路13』 +西藏卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5381760837640571168&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路14』 +西藏卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=6603041244077933770&livemode=1&stbId=yu&mode=1&$LR•IPV4•15『线路15』 海峡卫视,http://38.64.72.148:80/hls/modn/list/4009/chunklist0.m3u8$LR•IPV4•5『线路1』 -海峡卫视,http://8.138.7.223/tv/hxws.m3u8$LR•IPV4•5『线路2』 -海峡卫视,http://hlsbkmgsplive.miguvideo.com/migu/kailu/haixiaws/57/20230724/01.m3u8?msisdn=&Channel_ID=&ContentId=&HlsSubType=&HlsProfileId=&encrypt=$LR•IPV4•5『线路3』 -海峡卫视,http://43.251.226.89:8080/play/51.m3u8$LR•IPV4•5『线路4』 -海峡卫视,p3p://167.114.175.6:55331/63ec47390001586de42ffc1a7e1856a6$LR•IPV4•5『线路5』 -兵团卫视,http://112.123.243.37:50085/tsfile/live/0112_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•14『线路1』 -兵团卫视,http://59.39.89.130:60901/tsfile/live/0125_9.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•14『线路2』 -兵团卫视,http://222.90.21.30:9901/hls/65/index.m3u8$LR•IPV4•14『线路3』 -兵团卫视,http://38.75.136.137:98/gslb/dsdqpub/btws.m3u8?auth=testpub$LR•IPV4•14『线路4』 -兵团卫视,http://218.13.170.98:9901/tsfile/live/0115_1.m3u8$LR•IPV4•14『线路5』 -兵团卫视,http://jasonzhangnas.f3322.net:7088/udp/233.18.204.221:5140$LR•IPV4•14『线路6』 -兵团卫视,http://192.151.150.154/live/btws.m3u8$LR•IPV4•14『线路7』 -兵团卫视,http://204.12.221.218:8181/3m1080p/btws.m3u8$LR•IPV4•14『线路8』 -兵团卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000005000266005&livemode=1&stbId=yu&mode=1&$LR•IPV4•14『线路9』 -兵团卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040020&livemode=1&stbId=yu&mode=1&$LR•IPV4•14『线路10』 -兵团卫视,http://43.251.226.89:8080/play/53.m3u8$LR•IPV4•14『线路11』 -兵团卫视,https://iptv.catvod.com/catvod.php?id=btws$LR•IPV4•14『线路12』 -兵团卫视,https://httop.top/ysp-兵团卫视$LR•IPV4•14『线路13』 -兵团卫视,http://112.25.48.68/live/program/live/btws/1300000/mnf.m3u8$LR•IPV4•14『线路14』 +海峡卫视,http://43.251.226.89:8080/play/51.m3u8$LR•IPV4•5『线路2』 +海峡卫视,p3p://167.114.175.6:55331/63ec47390001586de42ffc1a7e1856a6$LR•IPV4•5『线路3』 +海峡卫视,http://8.138.7.223/tv/hxws.m3u8$LR•IPV4•5『线路4』 +海峡卫视,http://hlsbkmgsplive.miguvideo.com/migu/kailu/haixiaws/57/20230724/01.m3u8?msisdn=&Channel_ID=&ContentId=&HlsSubType=&HlsProfileId=&encrypt=$LR•IPV4•5『线路5』 +兵团卫视,http://112.25.48.68/live/program/live/btws/1300000/mnf.m3u8$LR•IPV4•14『线路1』 +兵团卫视,http://112.123.243.37:50085/tsfile/live/0112_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•14『线路2』 +兵团卫视,http://59.39.89.130:60901/tsfile/live/0125_9.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•14『线路3』 +兵团卫视,http://222.90.21.30:9901/hls/65/index.m3u8$LR•IPV4•14『线路4』 +兵团卫视,http://38.75.136.137:98/gslb/dsdqpub/btws.m3u8?auth=testpub$LR•IPV4•14『线路5』 +兵团卫视,http://218.13.170.98:9901/tsfile/live/0115_1.m3u8$LR•IPV4•14『线路6』 +兵团卫视,http://43.251.226.89:8080/play/53.m3u8$LR•IPV4•14『线路7』 +兵团卫视,https://iptv.catvod.com/catvod.php?id=btws$LR•IPV4•14『线路8』 +兵团卫视,https://httop.top/ysp-兵团卫视$LR•IPV4•14『线路9』 +兵团卫视,http://jasonzhangnas.f3322.net:7088/udp/233.18.204.221:5140$LR•IPV4•14『线路10』 +兵团卫视,http://192.151.150.154/live/btws.m3u8$LR•IPV4•14『线路11』 +兵团卫视,http://204.12.221.218:8181/3m1080p/btws.m3u8$LR•IPV4•14『线路12』 +兵团卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000005000266005&livemode=1&stbId=yu&mode=1&$LR•IPV4•14『线路13』 +兵团卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040020&livemode=1&stbId=yu&mode=1&$LR•IPV4•14『线路14』 安多卫视,https://liveout.xntv.tv/a65jur/96iln2.m3u8$LR•IPV4•2『线路1』 安多卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000022124&livemode=1&stbId=yu&mode=1&$LR•IPV4•2『线路2』 -康巴卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227027/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkHMvBpWz4rccMxNvSRekpQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•3『线路1』 -康巴卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000005000266002&livemode=1&stbId=yu&mode=1&$LR•IPV4•3『线路2』 -康巴卫视,http://scgctvshow.sctv.com/hdlive/kangba/1.m3u8$LR•IPV4•3『线路3』 +康巴卫视,http://scgctvshow.sctv.com/hdlive/kangba/1.m3u8$LR•IPV4•3『线路1』 +康巴卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227027/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkHMvBpWz4rccMxNvSRekpQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•3『线路2』 +康巴卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000005000266002&livemode=1&stbId=yu&mode=1&$LR•IPV4•3『线路3』 农林卫视,http://120.76.248.139/live/bfgd/4200000122.m3u8$LR•IPV4•4『线路1』 -农林卫视,http://204.12.221.218:8181/3m1080p/snnl.m3u8$LR•IPV4•4『线路2』 -农林卫视,http://8.138.7.223/%E3%80%90%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E6%A6%B4%E8%8A%92%E7%94%B5%E8%A7%86%E3%80%91/%E5%86%9C%E6%9E%97%E5%8D%AB%E8%A7%86.m3u8$LR•IPV4•4『线路3』 -农林卫视,http://43.251.226.89:8080/play/52.m3u8$LR•IPV4•4『线路4』 +农林卫视,http://43.251.226.89:8080/play/52.m3u8$LR•IPV4•4『线路2』 +农林卫视,http://204.12.221.218:8181/3m1080p/snnl.m3u8$LR•IPV4•4『线路3』 +农林卫视,http://8.138.7.223/%E3%80%90%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E6%A6%B4%E8%8A%92%E7%94%B5%E8%A7%86%E3%80%91/%E5%86%9C%E6%9E%97%E5%8D%AB%E8%A7%86.m3u8$LR•IPV4•4『线路4』 三沙卫视,https://srs.ssws.tv/video/sstv-10/index.m3u8$LR•IPV4•9『线路1』 -三沙卫视,https://srs.ssws.tv/video/sstv-10/index.m3u8#http://nn.7x9d.cn/地方台8563/海南.php?id=ssws$LR•IPV4•9『线路2』 -三沙卫视,http://192.151.150.154/live/ssws.m3u8$LR•IPV4•9『线路3』 -三沙卫视,http://204.12.221.218:8181/3m1080p/ssws.m3u8$LR•IPV4•9『线路4』 -三沙卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000288016&livemode=1&stbId=yu&mode=1&$LR•IPV4•9『线路5』 -三沙卫视,http://nn.7x9d.cn/地方台8563/海南.php?id=ssws$LR•IPV4•9『线路6』 -三沙卫视,http://btjg.net:809/hls/142/index.m3u8$LR•IPV4•9『线路7』 -三沙卫视,http://43.251.226.89:8080/play/56.m3u8$LR•IPV4•9『线路8』 -三沙卫视,https://iptv.catvod.com/catvod.php?id=ssws$LR•IPV4•9『线路9』 -延边卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227045/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eq0D3NdTUN7FuRzr8eJsbQA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•7『线路1』 -延边卫视,https://srs.iyb983.cn:443/video/CYS/index.m3u8$LR•IPV4•7『线路2』 -延边卫视,https://srs.iyb983.cn/video/CYS/index.m3u8$LR•IPV4•7『线路3』 -延边卫视,http://222.90.21.30:9901/hls/67/index.m3u8$LR•IPV4•7『线路4』 +三沙卫视,http://43.251.226.89:8080/play/56.m3u8$LR•IPV4•9『线路2』 +三沙卫视,https://iptv.catvod.com/catvod.php?id=ssws$LR•IPV4•9『线路3』 +三沙卫视,https://srs.ssws.tv/video/sstv-10/index.m3u8#http://nn.7x9d.cn/地方台8563/海南.php?id=ssws$LR•IPV4•9『线路4』 +三沙卫视,http://192.151.150.154/live/ssws.m3u8$LR•IPV4•9『线路5』 +三沙卫视,http://204.12.221.218:8181/3m1080p/ssws.m3u8$LR•IPV4•9『线路6』 +三沙卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000288016&livemode=1&stbId=yu&mode=1&$LR•IPV4•9『线路7』 +三沙卫视,http://nn.7x9d.cn/地方台8563/海南.php?id=ssws$LR•IPV4•9『线路8』 +三沙卫视,http://btjg.net:809/hls/142/index.m3u8$LR•IPV4•9『线路9』 +延边卫视,https://srs.iyb983.cn:443/video/CYS/index.m3u8$LR•IPV4•7『线路1』 +延边卫视,https://srs.iyb983.cn/video/CYS/index.m3u8$LR•IPV4•7『线路2』 +延边卫视,http://222.90.21.30:9901/hls/67/index.m3u8$LR•IPV4•7『线路3』 +延边卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227045/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eq0D3NdTUN7FuRzr8eJsbQA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•7『线路4』 延边卫视,http://120.76.248.139/live/bfgd/4200000117.m3u8$LR•IPV4•7『线路5』 延边卫视,http://204.12.221.218:8181/3m1080p/ybws.m3u8$LR•IPV4•7『线路6』 延边卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000005000266008&livemode=1&stbId=yu&mode=1&$LR•IPV4•7『线路7』 @@ -1334,211 +1340,210 @@ CGTN阿语,https://0472.org/hls/cgtna.m3u8?3.24.160:5140$LR•IPV4•4『线路4 上海卫视,http://112.27.235.94:8000/hls/28/index.m3u8$LR•IPV4 北京纪实,http://111.29.9.33:6610/000000001000/1000000001000028380/index.m3u8?channel-id=bestzb&Contentid=1000000001000028380&livemode=1&stbId=3$LR•IPV4 家庭理财,http://223.110.245.139/PLTV/4/224/3221227011/index.m3u8$LR•IPV4 -梨园,https://dxtx.hntv.tv/live/lypd.m3u8?txSecret=10c771842a0be59e8b575d765173ec96&txTime=7B923E0A&wsSecret=41543190cdf375f1c73207222bb96542&wsTime=1769313549$LR•IPV4•3『线路1』 +梨园,http://60.10.139.113:8801/hls/86/index.m3u8$LR•IPV4•3『线路1』 梨园,http://1.94.31.214/php/hntv.php?id=hnly$LR•IPV4•3『线路2』 -梨园,http://60.10.139.113:8801/hls/86/index.m3u8$LR•IPV4•3『线路3』 +梨园,https://dxtx.hntv.tv/live/lypd.m3u8?txSecret=10c771842a0be59e8b575d765173ec96&txTime=7B923E0A&wsSecret=41543190cdf375f1c73207222bb96542&wsTime=1769313549$LR•IPV4•3『线路3』 辽宁公共,http://120.76.248.139/live/bfgd/4200000481.m3u8$LR•IPV4 中华特产,http://120.76.248.139/live/bfgd/4200000158.m3u8$LR•IPV4 河北4K,https://event.pull.hebtv.com:443/live/live101.m3u8$LR•IPV4•4『线路1』 河北4K,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=f56e90&tk=922ba46651d3$LR•IPV4•4『线路2』 河北4K,http://43.251.226.89:8080/play/928.m3u8$LR•IPV4•4『线路3』 河北4K,http://106.53.99.30/tv/api.php?id=hebtv4k$LR•IPV4•4『线路4』 -山西卫视,https://livehhhttps.sxrtv.com/lsdream/q8RVWgs/1000/n1sh84V.m3u8$LR•IPV4•21『线路1』 -山西卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227016/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ESb5Qr3NTpE2ZugIroKoyTw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•21『线路2』 -山西卫视,http://119.39.9.8:9901/tsfile/live/0118_1.m3u8$LR•IPV4•21『线路3』 -山西卫视,http://107.150.60.122/live/sxwshd.m3u8$LR•IPV4•21『线路4』 -山西卫视,http://112.123.243.37:50085/tsfile/live/0120_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•21『线路5』 -山西卫视,http://59.39.89.130:60901/tsfile/live/0125_20.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路6』 -山西卫视,http://222.169.85.8:9901/tsfile/live/0118_1.m3u8$LR•IPV4•21『线路7』 -山西卫视,http://222.90.21.30:9901/hls/32/index.m3u8$LR•IPV4•21『线路8』 -山西卫视,http://153.0.171.163:9901/tsfile/live/0118_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路9』 -山西卫视,http://112.27.235.94:8000/hls/45/index.m3u8$LR•IPV4•21『线路10』 -山西卫视,http://60.10.139.113:8801/hls/54/index.m3u8$LR•IPV4•21『线路11』 -山西卫视,http://jasonzhangnas.f3322.net:7088/udp/233.18.204.211:5140$LR•IPV4•21『线路12』 -山西卫视,http://207.56.13.146:81/cdnlive/sxws.m3u8$LR•IPV4•21『线路13』 -山西卫视,http://192.151.150.154/live/sxwshd.m3u8$LR•IPV4•21『线路14』 -山西卫视,http://204.12.221.218:8181/3m1080p/sxws.m3u8$LR•IPV4•21『线路15』 -山西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040023&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路16』 -山西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000021220&livemode=1&stbId=yu&mode=1&$LR•IPV4•21『线路17』 -山西卫视,http://23.237.228.134/live8/shanxi.m3u8$LR•IPV4•21『线路18』 -山西卫视,https://iptv.catvod.com/catvod.php?id=sxiws$LR•IPV4•21『线路19』 -山西卫视,https://httop.top/ysp-山西卫视$LR•IPV4•21『线路20』 -山西卫视,http://118.81.195.79:9003/hls/19/index.m3u8$LR•IPV4•21『线路21』 -陕西卫视,http://stream.snrtv.com/sxbc-star-cdxWY0.m3u8$LR•IPV4•27『线路1』 -陕西卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226999/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EsGLKaSqf0wDZMbAjeQtfyw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路2』 -陕西卫视,http://38.75.136.137:98/gslb/dsdqpub/snwshd.m3u8?auth=testpub$LR•IPV4•27『线路3』 -陕西卫视,http://198.204.228.26/live/snwshd.m3u8$LR•IPV4•27『线路4』 -陕西卫视,http://112.123.243.37:50085/tsfile/live/0109_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•27『线路5』 -陕西卫视,http://59.39.89.130:60901/tsfile/live/0125_23.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路6』 -陕西卫视,http://36.136.38.87:9901/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路7』 -陕西卫视,http://153.0.171.163:9901/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路8』 -陕西卫视,http://58.56.162.102:4466/newlive/live/hls/29/live.m3u8$LR•IPV4•27『线路9』 -陕西卫视,http://cssbyd.imwork.net:8082/hls/42/index.m3u8$LR•IPV4•27『线路10』 -陕西卫视,http://112.27.235.94:8000/hls/43/index.m3u8$LR•IPV4•27『线路11』 -陕西卫视,http://60.10.139.113:8801/hls/53/index.m3u8$LR•IPV4•27『线路12』 -陕西卫视,http://jasonzhangnas.f3322.net:7088/udp/233.18.204.223:5140$LR•IPV4•27『线路13』 -陕西卫视,http://207.56.13.146:81/cdnlive/snws.m3u8$LR•IPV4•27『线路14』 -陕西卫视,http://192.151.150.154/live/snwshd.m3u8$LR•IPV4•27『线路15』 -陕西卫视,http://204.12.221.218:8181/3m1080p/snws.m3u8$LR•IPV4•27『线路16』 -陕西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000007495&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路17』 -陕西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040017&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路18』 -陕西卫视,http://38.75.136.137:98/gslb/dsdqpub/sxwshd.m3u8?auth=testpub$LR•IPV4•27『线路19』 -陕西卫视,http://23.237.228.134/live6/sichuan.m3u8$LR•IPV4•27『线路20』 -陕西卫视,http://43.251.226.89:8080/play/45.m3u8$LR•IPV4•27『线路21』 -陕西卫视,https://iptv.catvod.com/catvod.php?id=sxws$LR•IPV4•27『线路22』 -陕西卫视,https://httop.top/ysp-陕西卫视$LR•IPV4•27『线路23』 -陕西卫视,http://mg.hmysapp.cn:177/ckmg/zb.php?id=sxws$LR•IPV4•27『线路24』 -陕西卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225729/index.m3u8$LR•IPV4•27『线路25』 -陕西卫视,http://223.110.245.139/PLTV/4/224/3221227022/index.m3u8$LR•IPV4•27『线路26』 -陕西卫视,http://112.25.48.68/live/program/live/sxws/1300000/mnf.m3u8$LR•IPV4•27『线路27』 +山西卫视,http://118.81.195.79:9003/hls/19/index.m3u8$LR•IPV4•20『线路1』 +山西卫视,http://119.39.9.8:9901/tsfile/live/0118_1.m3u8$LR•IPV4•20『线路2』 +山西卫视,http://107.150.60.122/live/sxwshd.m3u8$LR•IPV4•20『线路3』 +山西卫视,http://112.123.243.37:50085/tsfile/live/0120_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•20『线路4』 +山西卫视,http://59.39.89.130:60901/tsfile/live/0125_20.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•20『线路5』 +山西卫视,http://222.169.85.8:9901/tsfile/live/0118_1.m3u8$LR•IPV4•20『线路6』 +山西卫视,http://222.90.21.30:9901/hls/32/index.m3u8$LR•IPV4•20『线路7』 +山西卫视,http://153.0.171.163:9901/tsfile/live/0118_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•20『线路8』 +山西卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227016/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ESb5Qr3NTpE2ZugIroKoyTw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•20『线路9』 +山西卫视,http://112.27.235.94:8000/hls/45/index.m3u8$LR•IPV4•20『线路10』 +山西卫视,http://23.237.228.134/live8/shanxi.m3u8$LR•IPV4•20『线路11』 +山西卫视,https://iptv.catvod.com/catvod.php?id=sxiws$LR•IPV4•20『线路12』 +山西卫视,https://httop.top/ysp-山西卫视$LR•IPV4•20『线路13』 +山西卫视,http://60.10.139.113:8801/hls/54/index.m3u8$LR•IPV4•20『线路14』 +山西卫视,http://jasonzhangnas.f3322.net:7088/udp/233.18.204.211:5140$LR•IPV4•20『线路15』 +山西卫视,http://207.56.13.146:81/cdnlive/sxws.m3u8$LR•IPV4•20『线路16』 +山西卫视,http://192.151.150.154/live/sxwshd.m3u8$LR•IPV4•20『线路17』 +山西卫视,http://204.12.221.218:8181/3m1080p/sxws.m3u8$LR•IPV4•20『线路18』 +山西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040023&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路19』 +山西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000021220&livemode=1&stbId=yu&mode=1&$LR•IPV4•20『线路20』 +陕西卫视,http://stream.snrtv.com/sxbc-3-kszDIO.m3u8$LR•IPV4•27『线路1』 +陕西卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225729/index.m3u8$LR•IPV4•27『线路2』 +陕西卫视,http://223.110.245.139/PLTV/4/224/3221227022/index.m3u8$LR•IPV4•27『线路3』 +陕西卫视,http://112.25.48.68/live/program/live/sxws/1300000/mnf.m3u8$LR•IPV4•27『线路4』 +陕西卫视,http://38.75.136.137:98/gslb/dsdqpub/snwshd.m3u8?auth=testpub$LR•IPV4•27『线路5』 +陕西卫视,http://198.204.228.26/live/snwshd.m3u8$LR•IPV4•27『线路6』 +陕西卫视,http://112.123.243.37:50085/tsfile/live/0109_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•27『线路7』 +陕西卫视,http://59.39.89.130:60901/tsfile/live/0125_23.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路8』 +陕西卫视,http://36.136.38.87:9901/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路9』 +陕西卫视,http://153.0.171.163:9901/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路10』 +陕西卫视,http://58.56.162.102:4466/newlive/live/hls/29/live.m3u8$LR•IPV4•27『线路11』 +陕西卫视,http://cssbyd.imwork.net:8082/hls/42/index.m3u8$LR•IPV4•27『线路12』 +陕西卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226999/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EsGLKaSqf0wDZMbAjeQtfyw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路13』 +陕西卫视,http://112.27.235.94:8000/hls/43/index.m3u8$LR•IPV4•27『线路14』 +陕西卫视,http://38.75.136.137:98/gslb/dsdqpub/sxwshd.m3u8?auth=testpub$LR•IPV4•27『线路15』 +陕西卫视,http://23.237.228.134/live6/sichuan.m3u8$LR•IPV4•27『线路16』 +陕西卫视,http://43.251.226.89:8080/play/45.m3u8$LR•IPV4•27『线路17』 +陕西卫视,https://iptv.catvod.com/catvod.php?id=sxws$LR•IPV4•27『线路18』 +陕西卫视,https://httop.top/ysp-陕西卫视$LR•IPV4•27『线路19』 +陕西卫视,http://mg.hmysapp.cn:177/ckmg/zb.php?id=sxws$LR•IPV4•27『线路20』 +陕西卫视,http://60.10.139.113:8801/hls/53/index.m3u8$LR•IPV4•27『线路21』 +陕西卫视,http://jasonzhangnas.f3322.net:7088/udp/233.18.204.223:5140$LR•IPV4•27『线路22』 +陕西卫视,http://207.56.13.146:81/cdnlive/snws.m3u8$LR•IPV4•27『线路23』 +陕西卫视,http://192.151.150.154/live/snwshd.m3u8$LR•IPV4•27『线路24』 +陕西卫视,http://204.12.221.218:8181/3m1080p/snws.m3u8$LR•IPV4•27『线路25』 +陕西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000007495&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路26』 +陕西卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000006000040017&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路27』 数字,#genre# -CHC影迷电影,http://192.151.150.154/live/chchd.m3u8$LR•IPV4•3『线路1』 -CHC影迷电影,http://38.75.136.137:98/gslb/dsdqpub/chchd.m3u8?auth=testpub$LR•IPV4•3『线路2』 -CHC影迷电影,p3p://167.114.175.6:55331/63ec4caf00020428e445513c2d902fdb$LR•IPV4•3『线路3』 +CHC影迷电影,p3p://167.114.175.6:55331/63ec4caf00020428e445513c2d902fdb$LR•IPV4•3『线路1』 +CHC影迷电影,http://192.151.150.154/live/chchd.m3u8$LR•IPV4•3『线路2』 +CHC影迷电影,http://38.75.136.137:98/gslb/dsdqpub/chchd.m3u8?auth=testpub$LR•IPV4•3『线路3』 CHC动作电影,http://192.151.150.154/live/chcdz.m3u8$LR•IPV4•2『线路1』 CHC动作电影,http://38.75.136.137:98/gslb/dsdqpub/chcdz.m3u8?auth=testpub$LR•IPV4•2『线路2』 CHC家庭影院,http://61.162.52.6:8088/newlive/live/hls/60/live.m3u8$LR•IPV4•3『线路1』 CHC家庭影院,http://192.151.150.154/live/chcjt.m3u8$LR•IPV4•3『线路2』 CHC家庭影院,http://38.75.136.137:98/gslb/dsdqpub/chcjt.m3u8?auth=testpub$LR•IPV4•3『线路3』 睛彩青少,http://47.100.209.208:8100/TVOD/3000000020000011525.m3u8?token=8520$LR•IPV4 -睛彩竞技,http://[2409:8087:1a01:df::4061]:80/TVOD/88888888/224/3221225899/main.m3u8$LR•IPV6•18『线路1』 -睛彩竞技,http://[2409:8087:1a01:df::4061]/TVOD/88888888/224/3221225899/main.m3u8$LR•IPV6•18『线路2』 -睛彩竞技,https://zby.130519.xyz/PLTV/11/224/3221226116/index.m3u8$LR•IPV4•18『线路3』 -睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0350&tk=e640d0a1bf70$LR•IPV4•18『线路4』 -睛彩竞技,http://drive.mxmy.net:8888/udp/239.3.1.125:8001$LR•IPV4•18『线路5』 -睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9867&tk=f6cc1e0a0e1a$LR•IPV4•18『线路6』 -睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5325&tk=e640d0a1bf70$LR•IPV4•18『线路7』 -睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4750&tk=b53028476470$LR•IPV4•18『线路8』 -睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2786&tk=e503191f8e20$LR•IPV4•18『线路9』 -睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6620&tk=b53028476470$LR•IPV4•18『线路10』 -睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3410&tk=e503191f8e20$LR•IPV4•18『线路11』 -睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0026&tk=a0c4f6cfaba3$LR•IPV4•18『线路12』 -睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5735&tk=a0c4f6cfaba3$LR•IPV4•18『线路13』 -睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3983&tk=e640d0a1bf70$LR•IPV4•18『线路14』 -睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6879&tk=f6cc1e0a0e1a$LR•IPV4•18『线路15』 -睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0168&tk=e503191f8e20$LR•IPV4•18『线路16』 -睛彩竞技,http://47.100.209.208:8100/TVOD/3000000020000011528.m3u8?token=8520$LR•IPV4•18『线路17』 -睛彩竞技,http://dl.wifi942.com:66/jsyd/jsyd.php?id=HD-8000k-1080P-miguaoyun2$LR•IPV4•18『线路18』 -睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8139&tk=e640d0a1bf70$LR•IPV4•25『线路1』 -睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8352&tk=e503191f8e20$LR•IPV4•25『线路2』 -睛彩篮球,http://lt.hxtre.com:35455/itv/2000000003000000065.m3u8?cdn=hnbblive$LR•IPV4•25『线路3』 -睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6178&tk=a0c4f6cfaba3$LR•IPV4•25『线路4』 -睛彩篮球,http://home.wwang.pw:35455/itv/2000000003000000061.m3u8?cdn=hnbblive$LR•IPV4•25『线路5』 -睛彩篮球,http://lt.hxtre.com:35455/itv/2000000003000000061.m3u8?cdn=hnbblive$LR•IPV4•25『线路6』 -睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8104&tk=b53028476470$LR•IPV4•25『线路7』 -睛彩篮球,http://47.100.209.208:8100/TVOD/3000000020000011529.m3u8?token=8520$LR•IPV4•25『线路8』 -睛彩篮球,http://3501776.xyz:35455/itv/2000000003000000061.m3u8?cdn=hnbblive$LR•IPV4•25『线路9』 -睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3724&tk=b53028476470$LR•IPV4•25『线路10』 -睛彩篮球,http://[2409:8087:1a01:df::4055]:80/TVOD/88888888/224/3221225901/main.m3u8$LR•IPV6•25『线路11』 -睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4815&tk=f6cc1e0a0e1a$LR•IPV4•25『线路12』 -睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9810&tk=e640d0a1bf70$LR•IPV4•25『线路13』 -睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8571&tk=e640d0a1bf70$LR•IPV4•25『线路14』 -睛彩篮球,http://dl.wifi942.com:66/jsyd/jsyd.php?id=HD-8000k-1080P-miguaoyun1$LR•IPV4•25『线路15』 -睛彩篮球,https://zby.130519.xyz/PLTV/11/224/3221226118/index.m3u8$LR•IPV4•25『线路16』 -睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1010&tk=e503191f8e20$LR•IPV4•25『线路17』 -睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2153&tk=a0c4f6cfaba3$LR•IPV4•25『线路18』 -睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7674&tk=f6cc1e0a0e1a$LR•IPV4•25『线路19』 -睛彩篮球,http://home.wwang.pw:35455/itv/1000000006000270002.m3u8?cdn=ystenlive$LR•IPV4•25『线路20』 -睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5054&tk=b53028476470$LR•IPV4•25『线路21』 -睛彩篮球,http://drive.mxmy.net:8888/udp/239.3.1.126:8001$LR•IPV4•25『线路22』 -睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1735&tk=f6cc1e0a0e1a$LR•IPV4•25『线路23』 -睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4363&tk=e503191f8e20$LR•IPV4•25『线路24』 -睛彩篮球,http://36.105.100.208:35455/itv/2000000003000000061.m3u8?cdn=hnbblive$LR•IPV4•25『线路25』 +睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2786&tk=e503191f8e20$LR•IPV4•18『线路1』 +睛彩竞技,https://zby.130519.xyz/PLTV/11/224/3221226116/index.m3u8$LR•IPV4•18『线路2』 +睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6620&tk=b53028476470$LR•IPV4•18『线路3』 +睛彩竞技,http://47.100.209.208:8100/TVOD/3000000020000011528.m3u8?token=8520$LR•IPV4•18『线路4』 +睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0350&tk=e640d0a1bf70$LR•IPV4•18『线路5』 +睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0026&tk=a0c4f6cfaba3$LR•IPV4•18『线路6』 +睛彩竞技,http://drive.mxmy.net:8888/udp/239.3.1.125:8001$LR•IPV4•18『线路7』 +睛彩竞技,http://[2409:8087:1a01:df::4061]/TVOD/88888888/224/3221225899/main.m3u8$LR•IPV6•18『线路8』 +睛彩竞技,http://[2409:8087:1a01:df::4061]:80/TVOD/88888888/224/3221225899/main.m3u8$LR•IPV6•18『线路9』 +睛彩竞技,http://dl.wifi942.com:66/jsyd/jsyd.php?id=HD-8000k-1080P-miguaoyun2$LR•IPV4•18『线路10』 +睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4750&tk=b53028476470$LR•IPV4•18『线路11』 +睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6879&tk=f6cc1e0a0e1a$LR•IPV4•18『线路12』 +睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9867&tk=f6cc1e0a0e1a$LR•IPV4•18『线路13』 +睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3410&tk=e503191f8e20$LR•IPV4•18『线路14』 +睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3983&tk=e640d0a1bf70$LR•IPV4•18『线路15』 +睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5735&tk=a0c4f6cfaba3$LR•IPV4•18『线路16』 +睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5325&tk=e640d0a1bf70$LR•IPV4•18『线路17』 +睛彩竞技,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0168&tk=e503191f8e20$LR•IPV4•18『线路18』 +睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6178&tk=a0c4f6cfaba3$LR•IPV4•25『线路1』 +睛彩篮球,https://zby.130519.xyz/PLTV/11/224/3221226118/index.m3u8$LR•IPV4•25『线路2』 +睛彩篮球,http://home.wwang.pw:35455/itv/2000000003000000061.m3u8?cdn=hnbblive$LR•IPV4•25『线路3』 +睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7674&tk=f6cc1e0a0e1a$LR•IPV4•25『线路4』 +睛彩篮球,http://[2409:8087:1a01:df::4055]:80/TVOD/88888888/224/3221225901/main.m3u8$LR•IPV6•25『线路5』 +睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9810&tk=e640d0a1bf70$LR•IPV4•25『线路6』 +睛彩篮球,http://home.wwang.pw:35455/itv/1000000006000270002.m3u8?cdn=ystenlive$LR•IPV4•25『线路7』 +睛彩篮球,http://lt.hxtre.com:35455/itv/2000000003000000065.m3u8?cdn=hnbblive$LR•IPV4•25『线路8』 +睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2153&tk=a0c4f6cfaba3$LR•IPV4•25『线路9』 +睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1010&tk=e503191f8e20$LR•IPV4•25『线路10』 +睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4363&tk=e503191f8e20$LR•IPV4•25『线路11』 +睛彩篮球,http://3501776.xyz:35455/itv/2000000003000000061.m3u8?cdn=hnbblive$LR•IPV4•25『线路12』 +睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3724&tk=b53028476470$LR•IPV4•25『线路13』 +睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1735&tk=f6cc1e0a0e1a$LR•IPV4•25『线路14』 +睛彩篮球,http://drive.mxmy.net:8888/udp/239.3.1.126:8001$LR•IPV4•25『线路15』 +睛彩篮球,http://36.105.100.208:35455/itv/2000000003000000061.m3u8?cdn=hnbblive$LR•IPV4•25『线路16』 +睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8352&tk=e503191f8e20$LR•IPV4•25『线路17』 +睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4815&tk=f6cc1e0a0e1a$LR•IPV4•25『线路18』 +睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8104&tk=b53028476470$LR•IPV4•25『线路19』 +睛彩篮球,http://47.100.209.208:8100/TVOD/3000000020000011529.m3u8?token=8520$LR•IPV4•25『线路20』 +睛彩篮球,http://lt.hxtre.com:35455/itv/2000000003000000061.m3u8?cdn=hnbblive$LR•IPV4•25『线路21』 +睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8571&tk=e640d0a1bf70$LR•IPV4•25『线路22』 +睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8139&tk=e640d0a1bf70$LR•IPV4•25『线路23』 +睛彩篮球,http://dl.wifi942.com:66/jsyd/jsyd.php?id=HD-8000k-1080P-miguaoyun1$LR•IPV4•25『线路24』 +睛彩篮球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5054&tk=b53028476470$LR•IPV4•25『线路25』 睛彩广场,http://47.100.209.208:8100/TVOD/3000000020000011523.m3u8?token=8520$LR•IPV4 -SiTV 魅力足球,https://stream1.freetv.fun/mei-li-zu-qiu-3.m3u8$LR•IPV4•28『线路1』 -SiTV 魅力足球,http://111.22.153.159:35455/itv/5000000011000031207.m3u8?cdn=bestzb$LR•IPV4•28『线路2』 -SiTV 魅力足球,http://146.56.165.66:7788/TVOD/5000000011000031207/bestzb/index.m3u8$LR•IPV4•28『线路3』 -SiTV 魅力足球,https://stream1.freetv.fun/mei-li-zu-qiu-2.m3u8$LR•IPV4•28『线路4』 -SiTV 魅力足球,https://stream1.freetv.fun/ipv6-mei-li-zu-qiu-3.m3u8$LR•IPV4•28『线路5』 -SiTV 魅力足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5943&tk=b53028476470$LR•IPV4•28『线路6』 -SiTV 魅力足球,https://stream1.freetv.fun/ipv6-mei-li-zu-qiu-4.m3u8$LR•IPV4•28『线路7』 -SiTV 魅力足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8363&tk=e503191f8e20$LR•IPV4•28『线路8』 -SiTV 魅力足球,https://hls-gateway.vpstv.net/streams/708839.m3u8$LR•IPV4•28『线路9』 -SiTV 魅力足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7365&tk=f6cc1e0a0e1a$LR•IPV4•28『线路10』 -SiTV 魅力足球,http://36.105.100.208:35455/itv/5000000011000031206.m3u8?cdn=bestzb$LR•IPV4•28『线路11』 -SiTV 魅力足球,http://qjrhc.jydjd.top:2911/udp/224.1.100.133:11111$LR•IPV4•28『线路12』 -SiTV 魅力足球,https://www.freetv.top/migu/796070308.m3u8?migutoken=0a72668399c6f96d928c0bf0adbe330bbae95b55cfc10f2da9e830e2e06051b89a0e1db847eaa61f6b897e3efcb05ecc6160c2ce3c8073fb2d90c8ed191845e1ca16f6bcd3aaa13f6538d2074d$LR•IPV4•28『线路13』 -SiTV 魅力足球,https://stream1.freetv.fun/mei-li-zu-qiu-5.ctv$LR•IPV4•28『线路14』 -SiTV 魅力足球,http://dassby.qqff.top:99/live/快乐垂钓/index.m3u8$LR•IPV4•28『线路15』 -SiTV 魅力足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0934&tk=e640d0a1bf70$LR•IPV4•28『线路16』 -SiTV 魅力足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1085&tk=a0c4f6cfaba3$LR•IPV4•28『线路17』 -SiTV 魅力足球,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=mlzq$LR•IPV4•28『线路18』 -SiTV 魅力足球,https://stream1.freetv.fun/ipv6-mei-li-zu-qiu-5.m3u8$LR•IPV4•28『线路19』 -SiTV 魅力足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3624&tk=23a9aca1f79f$LR•IPV4•28『线路20』 -SiTV 魅力足球,http://101.43.145.141:12002/migu/796070308.m3u8?migutoken=1730af6437a233f0596951f5d5a2061eaca737e10bcdbcea03fa2a7fa4bc33239ce4566a89ef3fdda6468d4a13966fccece1a98b921a181e5ffe79ab2788b226a9e33caa4f43bcc88a4cb636$LR•IPV4•28『线路21』 -SiTV 魅力足球,http://t.061899.xyz/tl/tl.php?id=mlzq$LR•IPV4•28『线路22』 -SiTV 魅力足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2186&tk=e640d0a1bf70$LR•IPV4•28『线路23』 -SiTV 魅力足球,https://www.freetv.top/migu/796070308.m3u8?migutoken=aef1ffa947e5328dd4ec2bb318b58b674fe32113222c6c9eab78bcdc2a9f31cf142a1d60536ea5a5ee039d3753e6bd98bef238d0ba7e3af9153e765e8b77e2a8c28451355b4a426d11c5c304f8$LR•IPV4•28『线路24』 -SiTV 魅力足球,https://www.freetv.top/migu/796070308.m3u8?migutoken=f4f71100ed3cd756f336e1f3b6d522c1338ee1ffd14316eea89e461d4e31e29395a265a9f1ec26b947fb0e7dc16296db47ae3bfea73caaee6901d17bfede63775878c0ab44c872939ba5b53baf$LR•IPV4•28『线路25』 -SiTV 魅力足球,https://stream1.freetv.fun/mei-li-zu-qiu-4.ctv$LR•IPV4•28『线路26』 -SiTV 魅力足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8920&tk=a0c4f6cfaba3$LR•IPV4•28『线路27』 -SiTV 魅力足球,https://stream1.freetv.fun/mei-li-zu-qiu-1.m3u8$LR•IPV4•28『线路28』 -SiTV 劲爆体育,http://feiyang.ak47s.top:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路1』 -SiTV 劲爆体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4995&tk=e503191f8e20$LR•IPV4•25『线路2』 -SiTV 劲爆体育,http://qjrhc.jydjd.top:2911/udp/224.1.100.130:11111$LR•IPV4•25『线路3』 -SiTV 劲爆体育,http://111.22.153.159:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路4』 -SiTV 劲爆体育,http://3501776.xyz:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路5』 -SiTV 劲爆体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9784&tk=b53028476470$LR•IPV4•25『线路6』 -SiTV 劲爆体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0525&tk=23a9aca1f79f$LR•IPV4•25『线路7』 -SiTV 劲爆体育,http://qjrhc.jydjd.top:2911/udp/224.1.100.129:11111$LR•IPV4•25『线路8』 -SiTV 劲爆体育,http://119.32.12.32:2901/udp/224.1.100.129:11111$LR•IPV4•25『线路9』 -SiTV 劲爆体育,http://146.56.165.66:7788/TVOD/5000000002000029972/bestzb/index.m3u8$LR•IPV4•25『线路10』 -SiTV 劲爆体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2599&tk=e640d0a1bf70$LR•IPV4•25『线路11』 -SiTV 劲爆体育,http://t.061899.xyz/tl/tl.php?id=jbty$LR•IPV4•25『线路12』 -SiTV 劲爆体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3011&tk=a0c4f6cfaba3$LR•IPV4•25『线路13』 -SiTV 劲爆体育,http://home.wwang.pw:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路14』 -SiTV 劲爆体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6808&tk=a0c4f6cfaba3$LR•IPV4•25『线路15』 -SiTV 劲爆体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6835&tk=e640d0a1bf70$LR•IPV4•25『线路16』 -SiTV 劲爆体育,http://120.238.94.82:9901/tsfile/live/1086_1.m3u8$LR•IPV4•25『线路17』 -SiTV 劲爆体育,http://www.zhch682022.cn:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路18』 -SiTV 劲爆体育,https://www.freetv.top/migu/796071336.m3u8?migutoken=05144ee4526abc2f6a8d44a41f9e078ef10c1a9f8930d51d7f453315d3577b613eac76898b1e0965789f7010cd3f8a1bca3167ef6e625cb77fc2c575eec35c8d07aaff61dc4b79f75fc67ef667$LR•IPV4•25『线路19』 -SiTV 劲爆体育,http://119.32.12.17:2901/udp/224.1.100.129:11111$LR•IPV4•25『线路20』 -SiTV 劲爆体育,http://36.105.100.208:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路21』 -SiTV 劲爆体育,http://120.198.101.106:9901/tsfile/live/1086_1.m3u8?key=txiptv$LR•IPV4•25『线路22』 -SiTV 劲爆体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7082&tk=f6cc1e0a0e1a$LR•IPV4•25『线路23』 -SiTV 劲爆体育,http://183.237.95.108:9901/tsfile/live/1074_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•25『线路24』 -SiTV 劲爆体育,https://www.freetv.top/migu/796071336.m3u8?migutoken=1cc947d86cb584c31c31c88c005d55965238dbfff7ed75fca8451aed0b564786fde7e4b327e93b92dc96ef57e64e3bb56e8a9e921338080cdae817cb6125d8450b687659ecfee06be9c5d53ac6$LR•IPV4•25『线路25』 +SiTV 魅力足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3624&tk=23a9aca1f79f$LR•IPV4•28『线路1』 +SiTV 魅力足球,https://www.freetv.top/migu/796070308.m3u8?migutoken=aef1ffa947e5328dd4ec2bb318b58b674fe32113222c6c9eab78bcdc2a9f31cf142a1d60536ea5a5ee039d3753e6bd98bef238d0ba7e3af9153e765e8b77e2a8c28451355b4a426d11c5c304f8$LR•IPV4•28『线路2』 +SiTV 魅力足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1085&tk=a0c4f6cfaba3$LR•IPV4•28『线路3』 +SiTV 魅力足球,http://101.43.145.141:12002/migu/796070308.m3u8?migutoken=1730af6437a233f0596951f5d5a2061eaca737e10bcdbcea03fa2a7fa4bc33239ce4566a89ef3fdda6468d4a13966fccece1a98b921a181e5ffe79ab2788b226a9e33caa4f43bcc88a4cb636$LR•IPV4•28『线路4』 +SiTV 魅力足球,http://t.061899.xyz/tl/tl.php?id=mlzq$LR•IPV4•28『线路5』 +SiTV 魅力足球,http://qjrhc.jydjd.top:2911/udp/224.1.100.133:11111$LR•IPV4•28『线路6』 +SiTV 魅力足球,https://stream1.freetv.fun/ipv6-mei-li-zu-qiu-5.m3u8$LR•IPV4•28『线路7』 +SiTV 魅力足球,https://stream1.freetv.fun/mei-li-zu-qiu-5.ctv$LR•IPV4•28『线路8』 +SiTV 魅力足球,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=mlzq$LR•IPV4•28『线路9』 +SiTV 魅力足球,https://www.freetv.top/migu/796070308.m3u8?migutoken=f4f71100ed3cd756f336e1f3b6d522c1338ee1ffd14316eea89e461d4e31e29395a265a9f1ec26b947fb0e7dc16296db47ae3bfea73caaee6901d17bfede63775878c0ab44c872939ba5b53baf$LR•IPV4•28『线路10』 +SiTV 魅力足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0934&tk=e640d0a1bf70$LR•IPV4•28『线路11』 +SiTV 魅力足球,https://stream1.freetv.fun/ipv6-mei-li-zu-qiu-4.m3u8$LR•IPV4•28『线路12』 +SiTV 魅力足球,http://111.22.153.159:35455/itv/5000000011000031207.m3u8?cdn=bestzb$LR•IPV4•28『线路13』 +SiTV 魅力足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7365&tk=f6cc1e0a0e1a$LR•IPV4•28『线路14』 +SiTV 魅力足球,https://stream1.freetv.fun/mei-li-zu-qiu-3.m3u8$LR•IPV4•28『线路15』 +SiTV 魅力足球,https://stream1.freetv.fun/mei-li-zu-qiu-1.m3u8$LR•IPV4•28『线路16』 +SiTV 魅力足球,https://www.freetv.top/migu/796070308.m3u8?migutoken=0a72668399c6f96d928c0bf0adbe330bbae95b55cfc10f2da9e830e2e06051b89a0e1db847eaa61f6b897e3efcb05ecc6160c2ce3c8073fb2d90c8ed191845e1ca16f6bcd3aaa13f6538d2074d$LR•IPV4•28『线路17』 +SiTV 魅力足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8920&tk=a0c4f6cfaba3$LR•IPV4•28『线路18』 +SiTV 魅力足球,https://hls-gateway.vpstv.net/streams/708839.m3u8$LR•IPV4•28『线路19』 +SiTV 魅力足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5943&tk=b53028476470$LR•IPV4•28『线路20』 +SiTV 魅力足球,http://dassby.qqff.top:99/live/快乐垂钓/index.m3u8$LR•IPV4•28『线路21』 +SiTV 魅力足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8363&tk=e503191f8e20$LR•IPV4•28『线路22』 +SiTV 魅力足球,https://stream1.freetv.fun/mei-li-zu-qiu-2.m3u8$LR•IPV4•28『线路23』 +SiTV 魅力足球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2186&tk=e640d0a1bf70$LR•IPV4•28『线路24』 +SiTV 魅力足球,http://146.56.165.66:7788/TVOD/5000000011000031207/bestzb/index.m3u8$LR•IPV4•28『线路25』 +SiTV 魅力足球,http://36.105.100.208:35455/itv/5000000011000031206.m3u8?cdn=bestzb$LR•IPV4•28『线路26』 +SiTV 魅力足球,https://stream1.freetv.fun/mei-li-zu-qiu-4.ctv$LR•IPV4•28『线路27』 +SiTV 魅力足球,https://stream1.freetv.fun/ipv6-mei-li-zu-qiu-3.m3u8$LR•IPV4•28『线路28』 +SiTV 劲爆体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2599&tk=e640d0a1bf70$LR•IPV4•25『线路1』 +SiTV 劲爆体育,http://feiyang.ak47s.top:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路2』 +SiTV 劲爆体育,https://www.freetv.top/migu/796071336.m3u8?migutoken=1cc947d86cb584c31c31c88c005d55965238dbfff7ed75fca8451aed0b564786fde7e4b327e93b92dc96ef57e64e3bb56e8a9e921338080cdae817cb6125d8450b687659ecfee06be9c5d53ac6$LR•IPV4•25『线路3』 +SiTV 劲爆体育,http://119.32.12.17:2901/udp/224.1.100.129:11111$LR•IPV4•25『线路4』 +SiTV 劲爆体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9784&tk=b53028476470$LR•IPV4•25『线路5』 +SiTV 劲爆体育,http://120.198.101.106:9901/tsfile/live/1086_1.m3u8?key=txiptv$LR•IPV4•25『线路6』 +SiTV 劲爆体育,http://36.105.100.208:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路7』 +SiTV 劲爆体育,http://111.22.153.159:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路8』 +SiTV 劲爆体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6808&tk=a0c4f6cfaba3$LR•IPV4•25『线路9』 +SiTV 劲爆体育,http://3501776.xyz:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路10』 +SiTV 劲爆体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4995&tk=e503191f8e20$LR•IPV4•25『线路11』 +SiTV 劲爆体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0525&tk=23a9aca1f79f$LR•IPV4•25『线路12』 +SiTV 劲爆体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7082&tk=f6cc1e0a0e1a$LR•IPV4•25『线路13』 +SiTV 劲爆体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6835&tk=e640d0a1bf70$LR•IPV4•25『线路14』 +SiTV 劲爆体育,http://qjrhc.jydjd.top:2911/udp/224.1.100.130:11111$LR•IPV4•25『线路15』 +SiTV 劲爆体育,http://120.238.94.82:9901/tsfile/live/1086_1.m3u8$LR•IPV4•25『线路16』 +SiTV 劲爆体育,http://146.56.165.66:7788/TVOD/5000000002000029972/bestzb/index.m3u8$LR•IPV4•25『线路17』 +SiTV 劲爆体育,http://home.wwang.pw:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路18』 +SiTV 劲爆体育,http://t.061899.xyz/tl/tl.php?id=jbty$LR•IPV4•25『线路19』 +SiTV 劲爆体育,http://119.32.12.32:2901/udp/224.1.100.129:11111$LR•IPV4•25『线路20』 +SiTV 劲爆体育,http://qjrhc.jydjd.top:2911/udp/224.1.100.129:11111$LR•IPV4•25『线路21』 +SiTV 劲爆体育,https://www.freetv.top/migu/796071336.m3u8?migutoken=05144ee4526abc2f6a8d44a41f9e078ef10c1a9f8930d51d7f453315d3577b613eac76898b1e0965789f7010cd3f8a1bca3167ef6e625cb77fc2c575eec35c8d07aaff61dc4b79f75fc67ef667$LR•IPV4•25『线路22』 +SiTV 劲爆体育,http://183.237.95.108:9901/tsfile/live/1074_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•25『线路23』 +SiTV 劲爆体育,http://www.zhch682022.cn:35455/itv/5000000002000029972.m3u8?cdn=bestzb$LR•IPV4•25『线路24』 +SiTV 劲爆体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3011&tk=a0c4f6cfaba3$LR•IPV4•25『线路25』 SiTV动漫秀场,http://183.237.95.108:9901/tsfile/live/1104_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-11.m3u8$LR•IPV4•39『线路1』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-4.ctv$LR•IPV4•39『线路2』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-28.m3u8$LR•IPV4•39『线路3』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-12.m3u8$LR•IPV4•39『线路4』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-25.m3u8$LR•IPV4•39『线路5』 -生活时尚,http://nas.hssvm.com:8888/udp/225.1.1.143:5002$LR•IPV4•39『线路6』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-18.m3u8$LR•IPV4•39『线路7』 -生活时尚,https://stream1.freetv.fun/ipv6-sheng-huo-shi-shang-2.m3u8$LR•IPV4•39『线路8』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-1.ctv$LR•IPV4•39『线路9』 -生活时尚,http://e1.woc.iiiya.cn:8888/rtp/239.61.2.141:8834$LR•IPV4•39『线路10』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-19.ctv$LR•IPV4•39『线路11』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-10.ctv$LR•IPV4•39『线路1』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-11.ctv$LR•IPV4•39『线路2』 +生活时尚,https://stream1.freetv.fun/ipv6-sheng-huo-shi-shang-2.m3u8$LR•IPV4•39『线路3』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-23.ctv$LR•IPV4•39『线路4』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-20.ctv$LR•IPV4•39『线路5』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-25.m3u8$LR•IPV4•39『线路6』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-2.ctv$LR•IPV4•39『线路7』 +生活时尚,http://home.wwang.pw:35455/itv/5000000002000019634.m3u8?cdn=bestzb$LR•IPV4•39『线路8』 +生活时尚,http://e1.woc.iiiya.cn:8888/rtp/239.61.2.141:8834$LR•IPV4•39『线路9』 +生活时尚,http://wouu.net:9977/udp/239.93.42.29:5140$LR•IPV4•39『线路10』 +生活时尚,https://zby.130519.xyz/PLTV/11/224/3221225768/index.m3u8$LR•IPV4•39『线路11』 生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-26.m3u8$LR•IPV4•39『线路12』 -生活时尚,https://t.freetv.fun/live/sheng-huo-shi-shang-2.m3u8$LR•IPV4•39『线路13』 -生活时尚,https://stream1.freetv.fun/ipv6-sheng-huo-shi-shang-14.m3u8$LR•IPV4•39『线路14』 -生活时尚,http://111.22.153.159:35455/itv/5000000002000019634.m3u8?cdn=bestzb$LR•IPV4•39『线路15』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-11.ctv$LR•IPV4•39『线路16』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-24.m3u8$LR•IPV4•39『线路17』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-29.m3u8$LR•IPV4•39『线路18』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-10.ctv$LR•IPV4•39『线路19』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-25.ctv$LR•IPV4•39『线路20』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-20.ctv$LR•IPV4•39『线路21』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-14.ctv$LR•IPV4•39『线路22』 -生活时尚,http://wouu.net:9977/udp/239.93.42.29:5140$LR•IPV4•39『线路23』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-23.ctv$LR•IPV4•39『线路24』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-13.ctv$LR•IPV4•39『线路25』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-5.ctv$LR•IPV4•39『线路26』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-17.ctv$LR•IPV4•39『线路27』 -生活时尚,http://home.wwang.pw:35455/itv/5000000002000019634.m3u8?cdn=bestzb$LR•IPV4•39『线路28』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-6.m3u8$LR•IPV4•39『线路29』 -生活时尚,https://stream1.freetv.fun/ipv6-sheng-huo-shi-shang-5.m3u8$LR•IPV4•39『线路30』 -生活时尚,https://zby.130519.xyz/PLTV/11/224/3221225768/index.m3u8$LR•IPV4•39『线路31』 -生活时尚,http://146.56.165.66:7788/TVOD/5000000002000019634/bestzb/index.m3u8$LR•IPV4•39『线路32』 -生活时尚,https://stream1.freetv.fun/ipv6-sheng-huo-shi-shang-7.m3u8$LR•IPV4•39『线路33』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-2.ctv$LR•IPV4•39『线路34』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-9.m3u8$LR•IPV4•39『线路35』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-13.m3u8$LR•IPV4•39『线路36』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-9.ctv$LR•IPV4•39『线路37』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-22.m3u8$LR•IPV4•39『线路38』 -生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-27.m3u8$LR•IPV4•39『线路39』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-9.ctv$LR•IPV4•39『线路13』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-29.m3u8$LR•IPV4•39『线路14』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-14.ctv$LR•IPV4•39『线路15』 +生活时尚,http://nas.hssvm.com:8888/udp/225.1.1.143:5002$LR•IPV4•39『线路16』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-9.m3u8$LR•IPV4•39『线路17』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-18.m3u8$LR•IPV4•39『线路18』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-22.m3u8$LR•IPV4•39『线路19』 +生活时尚,https://stream1.freetv.fun/ipv6-sheng-huo-shi-shang-5.m3u8$LR•IPV4•39『线路20』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-28.m3u8$LR•IPV4•39『线路21』 +生活时尚,https://t.freetv.fun/live/sheng-huo-shi-shang-2.m3u8$LR•IPV4•39『线路22』 +生活时尚,https://stream1.freetv.fun/ipv6-sheng-huo-shi-shang-7.m3u8$LR•IPV4•39『线路23』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-4.ctv$LR•IPV4•39『线路24』 +生活时尚,http://146.56.165.66:7788/TVOD/5000000002000019634/bestzb/index.m3u8$LR•IPV4•39『线路25』 +生活时尚,https://stream1.freetv.fun/ipv6-sheng-huo-shi-shang-14.m3u8$LR•IPV4•39『线路26』 +生活时尚,http://111.22.153.159:35455/itv/5000000002000019634.m3u8?cdn=bestzb$LR•IPV4•39『线路27』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-11.m3u8$LR•IPV4•39『线路28』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-25.ctv$LR•IPV4•39『线路29』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-17.ctv$LR•IPV4•39『线路30』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-27.m3u8$LR•IPV4•39『线路31』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-19.ctv$LR•IPV4•39『线路32』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-13.m3u8$LR•IPV4•39『线路33』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-24.m3u8$LR•IPV4•39『线路34』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-13.ctv$LR•IPV4•39『线路35』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-1.ctv$LR•IPV4•39『线路36』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-12.m3u8$LR•IPV4•39『线路37』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-6.m3u8$LR•IPV4•39『线路38』 +生活时尚,https://stream1.freetv.fun/sheng-huo-shi-shang-5.ctv$LR•IPV4•39『线路39』 NewTV黑莓电影,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=8785669936177902664&livemode=1&stbId=yu&mode=1&$LR•IPV4•4『线路1』 NewTV黑莓电影,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000004000019624&livemode=1&stbId=yu&mode=1&$LR•IPV4•4『线路2』 NewTV黑莓电影,http://gslbserv.itv.cmvideo.cn:80/000000001000/8785669936177902664/1.m3u8?channel-id=ystenlive&Contentid=8785669936177902664&livemode=1&stbId=003901FF0001181003FC08A5C8C6C037&userToken=85a5a98cdcab4d800a8ec29a9d917e8d10vv&usergroup=g10045200000&version=1.0&owaccmark=8785669936177902664&owchid=ystenlive&owsid=7951969344461621383$LR•IPV4•4『线路3』 @@ -1549,11 +1554,11 @@ NewTV黑莓动画,http://111.29.9.33:6610/000000001000/1000000004000021734/index NewTV超级体育,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000009204&livemode=1&stbId=yu&mode=1&$LR•IPV4•9『线路1』 NewTV超级体育,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000009601&livemode=1&stbId=yu&mode=1&$LR•IPV4•9『线路2』 NewTV超级体育,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000004000007755&livemode=1&stbId=yu&mode=1&$LR•IPV4•9『线路3』 -NewTV超级体育,http://feiyang.ak47s.top:35455/itv/1000000001000009601.m3u8?cdn=ystenlive$LR•IPV4•9『线路4』 -NewTV超级体育,http://39.134.65.66/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225715/index.m3u8$LR•IPV4•9『线路5』 -NewTV超级体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3188&tk=23a9aca1f79f$LR•IPV4•9『线路6』 -NewTV超级体育,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225715/index.m3u8$LR•IPV6•9『线路7』 -NewTV超级体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0078&tk=a0c4f6cfaba3$LR•IPV4•9『线路8』 +NewTV超级体育,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225715/index.m3u8$LR•IPV6•9『线路4』 +NewTV超级体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3188&tk=23a9aca1f79f$LR•IPV4•9『线路5』 +NewTV超级体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0078&tk=a0c4f6cfaba3$LR•IPV4•9『线路6』 +NewTV超级体育,http://39.134.65.66/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225715/index.m3u8$LR•IPV4•9『线路7』 +NewTV超级体育,http://feiyang.ak47s.top:35455/itv/1000000001000009601.m3u8?cdn=ystenlive$LR•IPV4•9『线路8』 NewTV超级体育,http://111.29.9.33:6610/000000001000/1000000004000007755/index.m3u8?channel-id=bestzb&Contentid=1000000004000007755&livemode=1&stbId=3$LR•IPV4•9『线路9』 NewTV超级电影,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000003000012426&livemode=1&stbId=yu&mode=1&$LR•IPV4•4『线路1』 NewTV超级电影,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000004000002120&livemode=1&stbId=yu&mode=1&$LR•IPV4•4『线路2』 @@ -1580,12 +1585,12 @@ NewTV惊悚悬疑,http://111.29.9.33:6610/000000001000/1000000004000024282/index NewTV潮妈辣婆,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=6516734029835465177&livemode=1&stbId=yu&mode=1&$LR•IPV4 NewTV精品体育,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=6460382139625130259&livemode=1&stbId=yu&mode=1&$LR•IPV4•8『线路1』 NewTV精品体育,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000004000014634&livemode=1&stbId=yu&mode=1&$LR•IPV4•8『线路2』 -NewTV精品体育,https://epg.pw/stream/94ed0232b61ce8d89883160a4cdfbfc8f3225cae70ef8e17d93eec249a3c8ad6.m3u8$LR•IPV4•8『线路3』 -NewTV精品体育,https://epg.pw/stream/f7556eccd4ae06b0c2991fdc7a4f8388496559f728cc82459a8e50346040e226.m3u8$LR•IPV4•8『线路4』 +NewTV精品体育,http://146.56.165.66:7788/TVOD/2000000003000000021/hnbblive/index.m3u8$LR•IPV4•8『线路3』 +NewTV精品体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5739&tk=23a9aca1f79f$LR•IPV4•8『线路4』 NewTV精品体育,http://dl.wifi942.com:66/jsyd/jsyd.php?id=GITV-JS-65$LR•IPV4•8『线路5』 -NewTV精品体育,http://146.56.165.66:7788/TVOD/2000000003000000021/hnbblive/index.m3u8$LR•IPV4•8『线路6』 -NewTV精品体育,https://epg.pw/stream/866a097a0907c9832440f8df38272dd555abf05200dfbafcc137e214c9b30ca7.m3u8$LR•IPV4•8『线路7』 -NewTV精品体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5739&tk=23a9aca1f79f$LR•IPV4•8『线路8』 +NewTV精品体育,https://epg.pw/stream/866a097a0907c9832440f8df38272dd555abf05200dfbafcc137e214c9b30ca7.m3u8$LR•IPV4•8『线路6』 +NewTV精品体育,https://epg.pw/stream/f7556eccd4ae06b0c2991fdc7a4f8388496559f728cc82459a8e50346040e226.m3u8$LR•IPV4•8『线路7』 +NewTV精品体育,https://epg.pw/stream/94ed0232b61ce8d89883160a4cdfbfc8f3225cae70ef8e17d93eec249a3c8ad6.m3u8$LR•IPV4•8『线路8』 NewTV家庭剧场,http://lvbaiducdnct.inter.ptqy.gitv.tv/tslive/c59_fast_999_1080P_t10/c59_fast_999_1080P_t10.m3u8?d$LR•IPV4•4『线路1』 NewTV家庭剧场,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=6316377948248689070&livemode=1&stbId=yu&mode=1&$LR•IPV4•4『线路2』 NewTV家庭剧场,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000004000008284&livemode=1&stbId=yu&mode=1&$LR•IPV4•4『线路3』 @@ -1608,181 +1613,181 @@ NewTV农业致富,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLiv NewTV炫舞未来,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000000515&livemode=1&stbId=yu&mode=1&$LR•IPV4•2『线路1』 NewTV炫舞未来,http://111.29.9.33:6610/000000001000/1000000001000000515/index.m3u8?channel-id=bestzb&Contentid=1000000001000000515&livemode=1&stbId=3$LR•IPV4•2『线路2』 NewTV哒啵赛事,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5320946857686967621&livemode=1&stbId=yu&mode=1&$LR•IPV4 -卡酷少儿,http://218.13.170.98:9901/tsfile/live/1021_1.m3u8$LR•IPV4•5『线路1』 -卡酷少儿,http://192.151.150.154/live/btvkk.m3u8$LR•IPV4•5『线路2』 -卡酷少儿,http://204.12.221.218:8181/3m1080p/btvkk.m3u8$LR•IPV4•5『线路3』 -卡酷少儿,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7851974109718180595&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路4』 -卡酷少儿,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7589856436881630561&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路5』 -优漫卡通,http://192.151.150.154/live/ymkt.m3u8$LR•IPV4•4『线路1』 -优漫卡通,http://204.12.221.218:8181/3m1080p/ymkt.m3u8$LR•IPV4•4『线路2』 -优漫卡通,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000010063&livemode=1&stbId=yu&mode=1&$LR•IPV4•4『线路3』 -优漫卡通,http://183.207.249.15/PLTV/4/224/3221225933/index.m3u8$LR•IPV4•4『线路4』 +卡酷少儿,http://192.151.150.154/live/btvkk.m3u8$LR•IPV4•5『线路1』 +卡酷少儿,http://204.12.221.218:8181/3m1080p/btvkk.m3u8$LR•IPV4•5『线路2』 +卡酷少儿,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7851974109718180595&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路3』 +卡酷少儿,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=7589856436881630561&livemode=1&stbId=yu&mode=1&$LR•IPV4•5『线路4』 +卡酷少儿,http://218.13.170.98:9901/tsfile/live/1021_1.m3u8$LR•IPV4•5『线路5』 +优漫卡通,http://183.207.249.15/PLTV/4/224/3221225933/index.m3u8$LR•IPV4•4『线路1』 +优漫卡通,http://192.151.150.154/live/ymkt.m3u8$LR•IPV4•4『线路2』 +优漫卡通,http://204.12.221.218:8181/3m1080p/ymkt.m3u8$LR•IPV4•4『线路3』 +优漫卡通,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000010063&livemode=1&stbId=yu&mode=1&$LR•IPV4•4『线路4』 哈哈炫动,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000011000031123&livemode=1&stbId=yu&mode=1&$LR•IPV4•4『线路1』 哈哈炫动,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000005000031641&livemode=1&stbId=yu&mode=1&$LR•IPV4•4『线路2』 哈哈炫动,http://111.29.9.33:6610/000000001000/5000000011000031123/index.m3u8?channel-id=bestzb&Contentid=5000000011000031123&livemode=1&stbId=3$LR•IPV4•4『线路3』 哈哈炫动,http://223.110.245.139/PLTV/4/224/3221226388/index.m3u8$LR•IPV4•4『线路4』 -嘉佳卡通,http://192.151.150.154/live/gdjjkt.m3u8$LR•IPV4•7『线路1』 -嘉佳卡通,http://204.12.221.218:8181/3m1080p/gdjjkt.m3u8$LR•IPV4•7『线路2』 -嘉佳卡通,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000025964&livemode=1&stbId=yu&mode=1&$LR•IPV4•7『线路3』 -嘉佳卡通,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=4739906347743456369&livemode=1&stbId=yu&mode=1&$LR•IPV4•7『线路4』 -嘉佳卡通,http://111.29.9.33:6610/000000001000/1000000002000025964/index.m3u8?channel-id=bestzb&Contentid=1000000002000025964&livemode=1&stbId=3$LR•IPV4•7『线路5』 -嘉佳卡通,http://223.110.245.139/PLTV/4/224/3221227009/index.m3u8$LR•IPV4•7『线路6』 -嘉佳卡通,http://112.25.48.68/live/program/live/jjkt/1300000/mnf.m3u8$LR•IPV4•7『线路7』 +嘉佳卡通,http://223.110.245.139/PLTV/4/224/3221227009/index.m3u8$LR•IPV4•7『线路1』 +嘉佳卡通,http://112.25.48.68/live/program/live/jjkt/1300000/mnf.m3u8$LR•IPV4•7『线路2』 +嘉佳卡通,http://192.151.150.154/live/gdjjkt.m3u8$LR•IPV4•7『线路3』 +嘉佳卡通,http://204.12.221.218:8181/3m1080p/gdjjkt.m3u8$LR•IPV4•7『线路4』 +嘉佳卡通,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000025964&livemode=1&stbId=yu&mode=1&$LR•IPV4•7『线路5』 +嘉佳卡通,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=4739906347743456369&livemode=1&stbId=yu&mode=1&$LR•IPV4•7『线路6』 +嘉佳卡通,http://111.29.9.33:6610/000000001000/1000000002000025964/index.m3u8?channel-id=bestzb&Contentid=1000000002000025964&livemode=1&stbId=3$LR•IPV4•7『线路7』 金鹰卡通,http://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2hzPSZkZWY9MSZ1aXA9MTA2LjE0LjM4LjU1JnRlcm09NSZtYWNpZD02ODZlOGNmOGM4OGU3N2VjOWEwNzkzMjg5ZjUzNDg0MmFiZWM0ZjNjJnFpZD0mcmF1dGhfZW5hYmxlPW9mZiZjZG5leF9pZD1hbF9waG9uZTMmZXM9MTc4MzU0NTgwOSZ1dWlkPTkyM2RmZTczN2Y1YmJiMDU1ZjQyODJkYjk0YjYyODczLTZhMGUyNjM3JnM9MTQyMThmNjJmNDk4MDVlNWY3ZGUzMDZiOTgzMTI2NjMmdWlkPSZuZHY9aW9zLTYuNS4wJnY9MiZhcz0wJl9jYXJDb2RlPTA,/KLCDMPP360.m3u8$LR•IPV4•10『线路1』 -金鹰卡通,http://183.11.239.36:808/hls/69/index.m3u8$LR•IPV4•10『线路2』 -金鹰卡通,http://124.228.160.210:9901/tsfile/live/0011_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路3』 -金鹰卡通,http://204.12.221.218:8181/3m1080p/hnjykt.m3u8$LR•IPV4•10『线路4』 -金鹰卡通,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/JYKTMPP360.m3u8$LR•IPV4•10『线路5』 -金鹰卡通,http://183.237.95.108:9901/tsfile/live/1099_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•10『线路6』 -金鹰卡通,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040024&livemode=1&stbId=yu&mode=1&$LR•IPV4•10『线路7』 -金鹰卡通,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000016601&livemode=1&stbId=yu&mode=1&$LR•IPV4•10『线路8』 -金鹰卡通,http://111.29.9.33:6610/000000001000/5000000006000040024/index.m3u8?channel-id=bestzb&Contentid=5000000006000040024&livemode=1&stbId=3$LR•IPV4•10『线路9』 -金鹰卡通,http://223.110.245.145/ott.js.chinamobile.com/PLTV/3/224/3221226303/index.m3u8$LR•IPV4•10『线路10』 -金鹰纪实,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/JYJSMPP360.m3u8$LR•IPV4•89『线路1』 -金鹰纪实,http://111.29.9.33:6610/000000001000/5000000011000031203/index.m3u8?channel-id=bestzb&Contentid=5000000011000031203&livemode=1&stbId=3$LR•IPV4•89『线路2』 -金鹰纪实,http://iptv.huuc.edu.cn/hls/gedocu.m3u8$LR•IPV4•89『线路3』 -金鹰纪实,https://t.freetv.fun/live/jin-ying-ji-shi-7.m3u8$LR•IPV4•89『线路4』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-32.ctv$LR•IPV4•89『线路5』 -金鹰纪实,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4677&tk=a0c4f6cfaba3$LR•IPV4•89『线路6』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-30.m3u8$LR•IPV4•89『线路7』 -金鹰纪实,https://t.freetv.fun/live/jin-ying-ji-shi-4.m3u8$LR•IPV4•89『线路8』 -金鹰纪实,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2417&tk=e503191f8e20$LR•IPV4•89『线路9』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-14.m3u8$LR•IPV4•89『线路10』 -金鹰纪实,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4197&tk=f6cc1e0a0e1a$LR•IPV4•89『线路11』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-5.ctv$LR•IPV4•89『线路12』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-31.ctv$LR•IPV4•89『线路13』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-41.ctv$LR•IPV4•89『线路14』 -金鹰纪实,http://183.11.239.36:808/hls/171/index.m3u8$LR•IPV4•89『线路15』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-20.ctv$LR•IPV4•89『线路16』 -金鹰纪实,http://36.105.100.208:35455/itv/5000000011000031203.m3u8?cdn=bestzb$LR•IPV4•89『线路17』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-16.m3u8$LR•IPV4•89『线路18』 -金鹰纪实,http://nas.hssvm.com:8888/udp/225.1.1.124:5002$LR•IPV4•89『线路19』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-38.m3u8$LR•IPV4•89『线路20』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-23.ctv$LR•IPV4•89『线路21』 -金鹰纪实,https://live.264788.xyz/channel/jinyingjishi?streamid=4e14722244f78fc9c49bf260b10b3cad&livekey=01WgOR41rriMmMkzNsd0UoaxJRwetZdxIvtVk$LR•IPV4•89『线路22』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-37.ctv$LR•IPV4•89『线路23』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-11.m3u8$LR•IPV4•89『线路24』 -金鹰纪实,http://121.19.134.200:808/tsfile/live/1028_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•89『线路25』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-44.m3u8$LR•IPV4•89『线路26』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-2.ctv$LR•IPV4•89『线路27』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-1.ctv$LR•IPV4•89『线路28』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-41.m3u8$LR•IPV4•89『线路29』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-gao-qing-2.m3u8$LR•IPV4•89『线路30』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-39.ctv$LR•IPV4•89『线路31』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-43.ctv$LR•IPV4•89『线路32』 -金鹰纪实,https://t.freetv.fun/live/jin-ying-ji-shi.m3u8$LR•IPV4•89『线路33』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-2.m3u8$LR•IPV4•89『线路34』 -金鹰纪实,http://60.7.56.33:4000/udp/239.253.92.103:6054$LR•IPV4•89『线路35』 -金鹰纪实,https://t.freetv.fun/live/jin-ying-ji-shi-2.m3u8$LR•IPV4•89『线路36』 -金鹰纪实,https://stream1.freetv.fun/ipv6-jin-ying-ji-shi-22.m3u8$LR•IPV4•89『线路37』 -金鹰纪实,http://drive.mxmy.net:8888/udp/239.3.1.58:8156$LR•IPV4•89『线路38』 -金鹰纪实,http://116.128.242.83:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•89『线路39』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-40.m3u8$LR•IPV4•89『线路40』 -金鹰纪实,https://t.freetv.fun/live/jin-ying-ji-shi-5.m3u8$LR•IPV4•89『线路41』 -金鹰纪实,https://hls-gateway.vpstv.net/streams/708834.m3u8$LR•IPV4•89『线路42』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-33.m3u8$LR•IPV4•89『线路43』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-19.ctv$LR•IPV4•89『线路44』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-12.ctv$LR•IPV4•89『线路45』 -金鹰纪实,http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/JYJSMPP360.m3u8$LR•IPV4•89『线路46』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-4.m3u8$LR•IPV4•89『线路47』 -金鹰纪实,https://t.freetv.fun/live/jin-ying-ji-shi-3.m3u8$LR•IPV4•89『线路48』 -金鹰纪实,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8115&tk=e640d0a1bf70$LR•IPV4•89『线路49』 -金鹰纪实,https://t.freetv.fun/live/jin-ying-ji-shi-6.m3u8$LR•IPV4•89『线路50』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-42.ctv$LR•IPV4•89『线路51』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-34.m3u8$LR•IPV4•89『线路52』 -金鹰纪实,http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=jyjs$LR•IPV4•89『线路53』 -金鹰纪实,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4465&tk=b53028476470$LR•IPV4•89『线路54』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-28.ctv$LR•IPV4•89『线路55』 -金鹰纪实,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6241&tk=a0c4f6cfaba3$LR•IPV4•89『线路56』 -金鹰纪实,https://stream1.freetv.fun/ipv6-jin-ying-ji-shi-15.m3u8$LR•IPV4•89『线路57』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-13.ctv$LR•IPV4•89『线路58』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-8.m3u8$LR•IPV4•89『线路59』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-37.m3u8$LR•IPV4•89『线路60』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-23.m3u8$LR•IPV4•89『线路61』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-36.ctv$LR•IPV4•89『线路62』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-10.ctv$LR•IPV4•89『线路63』 -金鹰纪实,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6735&tk=e640d0a1bf70$LR•IPV4•89『线路64』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-22.ctv$LR•IPV4•89『线路65』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-12.m3u8$LR•IPV4•89『线路66』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-29.m3u8$LR•IPV4•89『线路67』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-21.ctv$LR•IPV4•89『线路68』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-31.m3u8$LR•IPV4•89『线路69』 -金鹰纪实,http://rrs01.hw.gmcc.net:8088/PLTV/81/224/3221226667/1.m3u8$LR•IPV4•89『线路70』 -金鹰纪实,http://wouu.net:9977/udp/239.93.0.130:5140$LR•IPV4•89『线路71』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-24.ctv$LR•IPV4•89『线路72』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-gao-qing-3.m3u8$LR•IPV4•89『线路73』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-26.m3u8$LR•IPV4•89『线路74』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-13.m3u8$LR•IPV4•89『线路75』 -金鹰纪实,http://121.19.134.222:808/tsfile/live/1037_1.m3u8$LR•IPV4•89『线路76』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-7.ctv$LR•IPV4•89『线路77』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-3.m3u8$LR•IPV4•89『线路78』 -金鹰纪实,https://stream1.freetv.fun/ipv6-jin-ying-ji-shi-20.m3u8$LR•IPV4•89『线路79』 -金鹰纪实,http://58.57.40.22:9901/tsfile/live/1070_1.m3u8$LR•IPV4•89『线路80』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-24.m3u8$LR•IPV4•89『线路81』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-9.m3u8$LR•IPV4•89『线路82』 -金鹰纪实,http://home.wwang.pw:35455/itv/5000000011000031203.m3u8?cdn=bestzb$LR•IPV4•89『线路83』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-6.m3u8$LR•IPV4•89『线路84』 -金鹰纪实,http://e1.woc.iiiya.cn:8888/rtp/239.61.3.7:9560$LR•IPV4•89『线路85』 -金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-35.m3u8$LR•IPV4•89『线路86』 -金鹰纪实,http://120.238.94.10:9901/tsfile/live/1059_1.m3u8$LR•IPV4•89『线路87』 -金鹰纪实,http://60.2.190.206:4000/udp/239.253.92.103:6054$LR•IPV4•89『线路88』 -金鹰纪实,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6268&tk=23a9aca1f79f$LR•IPV4•89『线路89』 -快乐垂钓,http://116.52.173.34:1234/961930263$LR•IPV4•37『线路1』 -快乐垂钓,http://110.154.192.76:7788/961930263$LR•IPV4•37『线路2』 -快乐垂钓,http://111.231.6.102:1234/961930263$LR•IPV4•37『线路3』 -快乐垂钓,http://27.12.12.183:1234/961930263$LR•IPV4•37『线路4』 -快乐垂钓,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1275&tk=a0c4f6cfaba3$LR•IPV4•37『线路5』 -快乐垂钓,https://migu.188766.xyz/?migutoken=c6b17aba558cf29b13242b5ae063e5ed&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•37『线路6』 -快乐垂钓,http://home.wwang.pw:35455/itv/5000000011000031206.m3u8?cdn=bestzb$LR•IPV4•37『线路7』 -快乐垂钓,https://migu.188766.xyz/?migutoken=396182b2a9b61dca2daded3fc6f62311&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•37『线路8』 -快乐垂钓,http://101.6.130.52:1234/961930263$LR•IPV4•37『线路9』 -快乐垂钓,http://mgsp-hs2.live.miguvideo.com:8088/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260712080232&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=171.8.79.254&SecurityKey=20260712080232&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=0a04f7f5d3a1f6b3ddbfc709022c5a3a&sv=10004&ct=android$LR•IPV4•37『线路10』 -快乐垂钓,http://8.153.110.51:3020/961930263$LR•IPV4•37『线路11』 -快乐垂钓,http://116.236.204.18:1234/961930263$LR•IPV4•37『线路12』 -快乐垂钓,http://182.61.15.47:80/961930263$LR•IPV4•37『线路13』 -快乐垂钓,http://14.153.176.183:1234/961930263$LR•IPV4•37『线路14』 -快乐垂钓,http://gslbmgsplive.miguvideo.com/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=cb5d9a46adc1b49f4caa2f1a773ccdfd&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260712062112&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=39.103.182.111&SecurityKey=20260712062112&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=4551d42960ba4eb706643f7bb5bb4dbe&ddCalcu=e4b5vd5a41abdab452b9b670fb3a446e6b07&sv=10004&ct=android$LR•IPV4•37『线路15』 -快乐垂钓,http://nas.hssvm.com:8888/udp/225.1.2.18:5002$LR•IPV4•37『线路16』 -快乐垂钓,http://119.88.243.98:17231/961930263$LR•IPV4•37『线路17』 -快乐垂钓,https://hls-gateway.vpstv.net/streams/708835.m3u8$LR•IPV4•37『线路18』 -快乐垂钓,http://e1.woc.iiiya.cn:8888/rtp/239.61.3.8:9566$LR•IPV4•37『线路19』 -快乐垂钓,http://223.247.25.207:1234/961930263$LR•IPV4•37『线路20』 -快乐垂钓,http://175.178.243.33:8787/961930263$LR•IPV4•37『线路21』 -快乐垂钓,http://wouu.net:9977/udp/239.93.1.151:5140$LR•IPV4•37『线路22』 -快乐垂钓,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8968&tk=e640d0a1bf70$LR•IPV4•37『线路23』 -快乐垂钓,http://drive.mxmy.net:8888/udp/239.3.1.164:8001$LR•IPV4•37『线路24』 -快乐垂钓,http://115.190.247.176:1111/961930263$LR•IPV4•37『线路25』 -快乐垂钓,https://migu.188766.xyz/?migutoken=103d22404add9b90cd72174eb1a0108b&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•37『线路26』 -快乐垂钓,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4961&tk=b53028476470$LR•IPV4•37『线路27』 -快乐垂钓,http://gslbmgsplive.miguvideo.com/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=acac93647b33504cc27d07c187a0f6c1&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260712052113&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=39.103.182.111&SecurityKey=20260712052113&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=0a8073d2b66529751f1842c8a31b1d5b&ddCalcu=b05avd8a10ab7a133da28bc626458219f715&sv=10004&ct=android$LR•IPV4•37『线路28』 -快乐垂钓,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0882&tk=f6cc1e0a0e1a$LR•IPV4•37『线路29』 -快乐垂钓,https://migu.188766.xyz/?migutoken=f4d62cd1f8775b1b837f4232f1051f36&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•37『线路30』 -快乐垂钓,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8454&tk=a0c4f6cfaba3$LR•IPV4•37『线路31』 -快乐垂钓,http://47.104.178.59:3566/961930263$LR•IPV4•37『线路32』 -快乐垂钓,http://hlsztemgsplive.miguvideo.com:8080/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260712040227&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=171.8.79.254&SecurityKey=20260712040227&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=b3b7218ab79ad0c6a49ba6ff93f42c53&sv=10004&ct=android$LR•IPV4•37『线路33』 -快乐垂钓,http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/KLCDMPP360.m3u8$LR•IPV4•37『线路34』 -快乐垂钓,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8530&tk=e503191f8e20$LR•IPV4•37『线路35』 -快乐垂钓,http://123.113.205.253:3000/961930263$LR•IPV4•37『线路36』 -快乐垂钓,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/KLCDMPP360.m3u8$LR•IPV4•37『线路37』 -纪实人文,http://8.138.7.223/tv/shtv.php?id=xjs$LR•IPV4•2『线路1』 -纪实人文,http://39.135.138.59:18890/PLTV/88888910/224/3221225655/index.m3u8$LR•IPV4•2『线路2』 +金鹰卡通,http://223.110.245.145/ott.js.chinamobile.com/PLTV/3/224/3221226303/index.m3u8$LR•IPV4•10『线路2』 +金鹰卡通,http://183.11.239.36:808/hls/69/index.m3u8$LR•IPV4•10『线路3』 +金鹰卡通,http://124.228.160.210:9901/tsfile/live/0011_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路4』 +金鹰卡通,http://204.12.221.218:8181/3m1080p/hnjykt.m3u8$LR•IPV4•10『线路5』 +金鹰卡通,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/JYKTMPP360.m3u8$LR•IPV4•10『线路6』 +金鹰卡通,http://183.237.95.108:9901/tsfile/live/1099_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•10『线路7』 +金鹰卡通,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000006000040024&livemode=1&stbId=yu&mode=1&$LR•IPV4•10『线路8』 +金鹰卡通,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000016601&livemode=1&stbId=yu&mode=1&$LR•IPV4•10『线路9』 +金鹰卡通,http://111.29.9.33:6610/000000001000/5000000006000040024/index.m3u8?channel-id=bestzb&Contentid=5000000006000040024&livemode=1&stbId=3$LR•IPV4•10『线路10』 +金鹰纪实,http://iptv.huuc.edu.cn/hls/gedocu.m3u8$LR•IPV4•90『线路1』 +金鹰纪实,https://t.freetv.fun/live/jin-ying-ji-shi-7.m3u8$LR•IPV4•90『线路2』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-37.ctv$LR•IPV4•90『线路3』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-38.m3u8$LR•IPV4•90『线路4』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-43.ctv$LR•IPV4•90『线路5』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-12.m3u8$LR•IPV4•90『线路6』 +金鹰纪实,https://live.264788.xyz/channel/jinyingjishi?streamid=4e14722244f78fc9c49bf260b10b3cad&livekey=01WgOR41rriMmMkzNsd0UoaxJRwetZdxIvtVk$LR•IPV4•90『线路7』 +金鹰纪实,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8115&tk=e640d0a1bf70$LR•IPV4•90『线路8』 +金鹰纪实,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4465&tk=b53028476470$LR•IPV4•90『线路9』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-33.m3u8$LR•IPV4•90『线路10』 +金鹰纪实,https://hls-gateway.vpstv.net/streams/708834.m3u8$LR•IPV4•90『线路11』 +金鹰纪实,http://nas.hssvm.com:8888/udp/225.1.1.124:5002$LR•IPV4•90『线路12』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-19.ctv$LR•IPV4•90『线路13』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-23.m3u8$LR•IPV4•90『线路14』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-24.m3u8$LR•IPV4•90『线路15』 +金鹰纪实,https://t.freetv.fun/live/jin-ying-ji-shi-6.m3u8$LR•IPV4•90『线路16』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-2.m3u8$LR•IPV4•90『线路17』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-31.m3u8$LR•IPV4•90『线路18』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-34.m3u8$LR•IPV4•90『线路19』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-37.m3u8$LR•IPV4•90『线路20』 +金鹰纪实,http://home.wwang.pw:35455/itv/5000000011000031203.m3u8?cdn=bestzb$LR•IPV4•90『线路21』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-2.ctv$LR•IPV4•90『线路22』 +金鹰纪实,http://60.2.190.206:4000/udp/239.253.92.103:6054$LR•IPV4•90『线路23』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-1.ctv$LR•IPV4•90『线路24』 +金鹰纪实,https://stream1.freetv.fun/ipv6-jin-ying-ji-shi-22.m3u8$LR•IPV4•90『线路25』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-28.ctv$LR•IPV4•90『线路26』 +金鹰纪实,http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/JYJSMPP360.m3u8$LR•IPV4•90『线路27』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-7.ctv$LR•IPV4•90『线路28』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-26.m3u8$LR•IPV4•90『线路29』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-13.m3u8$LR•IPV4•90『线路30』 +金鹰纪实,http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=jyjs$LR•IPV4•90『线路31』 +金鹰纪实,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2417&tk=e503191f8e20$LR•IPV4•90『线路32』 +金鹰纪实,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4677&tk=a0c4f6cfaba3$LR•IPV4•90『线路33』 +金鹰纪实,http://121.19.134.222:808/tsfile/live/1037_1.m3u8$LR•IPV4•90『线路34』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-30.m3u8$LR•IPV4•90『线路35』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-21.ctv$LR•IPV4•90『线路36』 +金鹰纪实,https://stream1.freetv.fun/ipv6-jin-ying-ji-shi-20.m3u8$LR•IPV4•90『线路37』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-31.ctv$LR•IPV4•90『线路38』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-32.ctv$LR•IPV4•90『线路39』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-36.ctv$LR•IPV4•90『线路40』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-35.m3u8$LR•IPV4•90『线路41』 +金鹰纪实,https://t.freetv.fun/live/jin-ying-ji-shi-4.m3u8$LR•IPV4•90『线路42』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-5.ctv$LR•IPV4•90『线路43』 +金鹰纪实,http://e1.woc.iiiya.cn:8888/rtp/239.61.3.7:9560$LR•IPV4•90『线路44』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-40.m3u8$LR•IPV4•90『线路45』 +金鹰纪实,http://183.11.239.36:808/hls/171/index.m3u8$LR•IPV4•90『线路46』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-9.m3u8$LR•IPV4•90『线路47』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-gao-qing-2.m3u8$LR•IPV4•90『线路48』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-11.m3u8$LR•IPV4•90『线路49』 +金鹰纪实,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6735&tk=e640d0a1bf70$LR•IPV4•90『线路50』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-8.m3u8$LR•IPV4•90『线路51』 +金鹰纪实,http://116.128.242.83:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•90『线路52』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-16.m3u8$LR•IPV4•90『线路53』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-24.ctv$LR•IPV4•90『线路54』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-41.ctv$LR•IPV4•90『线路55』 +金鹰纪实,http://drive.mxmy.net:8888/udp/239.3.1.58:8156$LR•IPV4•90『线路56』 +金鹰纪实,https://stream1.freetv.fun/ipv6-jin-ying-ji-shi-15.m3u8$LR•IPV4•90『线路57』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-23.ctv$LR•IPV4•90『线路58』 +金鹰纪实,http://58.57.40.22:9901/tsfile/live/1070_1.m3u8$LR•IPV4•90『线路59』 +金鹰纪实,http://rrs01.hw.gmcc.net:8088/PLTV/81/224/3221226667/1.m3u8$LR•IPV4•90『线路60』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-44.m3u8$LR•IPV4•90『线路61』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-22.ctv$LR•IPV4•90『线路62』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-10.ctv$LR•IPV4•90『线路63』 +金鹰纪实,http://120.238.94.10:9901/tsfile/live/1059_1.m3u8$LR•IPV4•90『线路64』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-39.ctv$LR•IPV4•90『线路65』 +金鹰纪实,https://t.freetv.fun/live/jin-ying-ji-shi-2.m3u8$LR•IPV4•90『线路66』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-3.m3u8$LR•IPV4•90『线路67』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-14.m3u8$LR•IPV4•90『线路68』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-13.ctv$LR•IPV4•90『线路69』 +金鹰纪实,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6241&tk=a0c4f6cfaba3$LR•IPV4•90『线路70』 +金鹰纪实,http://1b6467f415.iok.la:9931/tsfile/live/1078_1.m3u8$LR•IPV4•90『线路71』 +金鹰纪实,https://t.freetv.fun/live/jin-ying-ji-shi-3.m3u8$LR•IPV4•90『线路72』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-20.ctv$LR•IPV4•90『线路73』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-4.m3u8$LR•IPV4•90『线路74』 +金鹰纪实,http://36.105.100.208:35455/itv/5000000011000031203.m3u8?cdn=bestzb$LR•IPV4•90『线路75』 +金鹰纪实,http://121.19.134.200:808/tsfile/live/1028_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•90『线路76』 +金鹰纪实,http://wouu.net:9977/udp/239.93.0.130:5140$LR•IPV4•90『线路77』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-6.m3u8$LR•IPV4•90『线路78』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-gao-qing-3.m3u8$LR•IPV4•90『线路79』 +金鹰纪实,http://60.7.56.33:4000/udp/239.253.92.103:6054$LR•IPV4•90『线路80』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-42.ctv$LR•IPV4•90『线路81』 +金鹰纪实,https://t.freetv.fun/live/jin-ying-ji-shi.m3u8$LR•IPV4•90『线路82』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-41.m3u8$LR•IPV4•90『线路83』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-29.m3u8$LR•IPV4•90『线路84』 +金鹰纪实,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4197&tk=f6cc1e0a0e1a$LR•IPV4•90『线路85』 +金鹰纪实,https://stream1.freetv.fun/jin-ying-ji-shi-12.ctv$LR•IPV4•90『线路86』 +金鹰纪实,https://t.freetv.fun/live/jin-ying-ji-shi-5.m3u8$LR•IPV4•90『线路87』 +金鹰纪实,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6268&tk=23a9aca1f79f$LR•IPV4•90『线路88』 +金鹰纪实,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/JYJSMPP360.m3u8$LR•IPV4•90『线路89』 +金鹰纪实,http://111.29.9.33:6610/000000001000/5000000011000031203/index.m3u8?channel-id=bestzb&Contentid=5000000011000031203&livemode=1&stbId=3$LR•IPV4•90『线路90』 +快乐垂钓,http://182.61.15.47:80/961930263$LR•IPV4•36『线路1』 +快乐垂钓,http://175.178.243.33:8787/961930263$LR•IPV4•36『线路2』 +快乐垂钓,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4961&tk=b53028476470$LR•IPV4•36『线路3』 +快乐垂钓,http://116.236.204.18:1234/961930263$LR•IPV4•36『线路4』 +快乐垂钓,http://hlsztemgsplive.miguvideo.com:8080/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260713080302&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=171.8.79.254&SecurityKey=20260713080302&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=ab006d6e64da9b2e59016ae902451953&sv=10004&ct=android$LR•IPV4•36『线路5』 +快乐垂钓,http://e1.woc.iiiya.cn:8888/rtp/239.61.3.8:9566$LR•IPV4•36『线路6』 +快乐垂钓,https://migu.188766.xyz/?migutoken=c6b17aba558cf29b13242b5ae063e5ed&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•36『线路7』 +快乐垂钓,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8454&tk=a0c4f6cfaba3$LR•IPV4•36『线路8』 +快乐垂钓,http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/KLCDMPP360.m3u8$LR•IPV4•36『线路9』 +快乐垂钓,http://8.153.110.51:3020/961930263$LR•IPV4•36『线路10』 +快乐垂钓,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0882&tk=f6cc1e0a0e1a$LR•IPV4•36『线路11』 +快乐垂钓,https://migu.188766.xyz/?migutoken=103d22404add9b90cd72174eb1a0108b&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•36『线路12』 +快乐垂钓,https://hls-gateway.vpstv.net/streams/708835.m3u8$LR•IPV4•36『线路13』 +快乐垂钓,http://drive.mxmy.net:8888/udp/239.3.1.164:8001$LR•IPV4•36『线路14』 +快乐垂钓,http://wouu.net:9977/udp/239.93.1.151:5140$LR•IPV4•36『线路15』 +快乐垂钓,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8530&tk=e503191f8e20$LR•IPV4•36『线路16』 +快乐垂钓,http://hlsztemgsplive.miguvideo.com:8080/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260713040256&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=171.8.79.254&SecurityKey=20260713040256&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=27ad6b8a831007d14a9028cc0047a50d&sv=10004&ct=android$LR•IPV4•36『线路17』 +快乐垂钓,http://home.wwang.pw:35455/itv/5000000011000031206.m3u8?cdn=bestzb$LR•IPV4•36『线路18』 +快乐垂钓,http://223.247.25.207:1234/961930263$LR•IPV4•36『线路19』 +快乐垂钓,http://nas.hssvm.com:8888/udp/225.1.2.18:5002$LR•IPV4•36『线路20』 +快乐垂钓,http://14.153.176.183:1234/961930263$LR•IPV4•36『线路21』 +快乐垂钓,http://110.154.192.76:7788/961930263$LR•IPV4•36『线路22』 +快乐垂钓,http://gslbmgsplive.miguvideo.com/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=a46bb537a908cb676c82f2f68b09e7e2&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260713062120&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=39.103.182.111&SecurityKey=20260713062120&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=146a23bf8df82c43bc5ae3ccd17d1d42&ddCalcu=2144vd6a1aad2a731bdfc8cd3fe8a25cc4b3&sv=10004&ct=android$LR•IPV4•36『线路23』 +快乐垂钓,https://migu.188766.xyz/?migutoken=396182b2a9b61dca2daded3fc6f62311&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•36『线路24』 +快乐垂钓,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1275&tk=a0c4f6cfaba3$LR•IPV4•36『线路25』 +快乐垂钓,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8968&tk=e640d0a1bf70$LR•IPV4•36『线路26』 +快乐垂钓,http://115.190.247.176:1111/961930263$LR•IPV4•36『线路27』 +快乐垂钓,http://119.88.243.98:17231/961930263$LR•IPV4•36『线路28』 +快乐垂钓,http://116.52.173.34:1234/961930263$LR•IPV4•36『线路29』 +快乐垂钓,http://27.12.12.183:1234/961930263$LR•IPV4•36『线路30』 +快乐垂钓,https://migu.188766.xyz/?migutoken=f4d62cd1f8775b1b837f4232f1051f36&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•36『线路31』 +快乐垂钓,http://111.231.6.102:1234/961930263$LR•IPV4•36『线路32』 +快乐垂钓,http://47.104.178.59:3566/961930263$LR•IPV4•36『线路33』 +快乐垂钓,http://123.113.205.253:3000/961930263$LR•IPV4•36『线路34』 +快乐垂钓,http://101.6.130.52:1234/961930263$LR•IPV4•36『线路35』 +快乐垂钓,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/KLCDMPP360.m3u8$LR•IPV4•36『线路36』 +纪实人文,http://39.135.138.59:18890/PLTV/88888910/224/3221225655/index.m3u8$LR•IPV4•2『线路1』 +纪实人文,http://8.138.7.223/tv/shtv.php?id=xjs$LR•IPV4•2『线路2』 明星大片,http://111.29.9.33:6610/000000001000/1000000004000019008/index.m3u8?channel-id=bestzb&Contentid=1000000004000019008&livemode=1&stbId=3$LR•IPV4 天元围棋,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=gztywq$LR•IPV4•7『线路1』 -天元围棋,http://120.76.248.139/live/bfgd/4200000633.m3u8$LR•IPV4•7『线路2』 -天元围棋,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8487&tk=a0c4f6cfaba3$LR•IPV4•7『线路3』 -天元围棋,http://wouu.net:9977/udp/239.93.42.55:5140$LR•IPV4•7『线路4』 -天元围棋,http://dl.wifi942.com:66/jsyd/jsyd.php?id=G_TIANYUANWQ$LR•IPV4•7『线路5』 -天元围棋,http://204.12.221.218:8181/3m1080p/gztywq.m3u8$LR•IPV4•7『线路6』 +天元围棋,http://204.12.221.218:8181/3m1080p/gztywq.m3u8$LR•IPV4•7『线路2』 +天元围棋,http://120.76.248.139/live/bfgd/4200000633.m3u8$LR•IPV4•7『线路3』 +天元围棋,http://dl.wifi942.com:66/jsyd/jsyd.php?id=G_TIANYUANWQ$LR•IPV4•7『线路4』 +天元围棋,http://wouu.net:9977/udp/239.93.42.55:5140$LR•IPV4•7『线路5』 +天元围棋,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8487&tk=a0c4f6cfaba3$LR•IPV4•7『线路6』 天元围棋,http://192.151.150.154/live/gztywq.m3u8$LR•IPV4•7『线路7』 弈坛春秋,http://223.110.245.139/PLTV/4/224/3221227031/index.m3u8$LR•IPV4 华数4K,http://111.22.153.159:35455/itv/2000000004000000014.m3u8?cdn=hnbblive$LR•IPV4•2『线路1』 华数4K,http://home.wwang.pw:35455/itv/2000000004000000014.m3u8?cdn=hnbblive$LR•IPV4•2『线路2』 -纯享4K,http://111.29.9.33:6610/000000001000/1000000004000011651/index.m3u8?channel-id=bestzb&Contentid=1000000004000011651&livemode=1&stbId=3$LR•IPV4•6『线路1』 +纯享4K,http://39.134.115.163:8080/PLTV/88888910/224/3221225786/index.m3u8$LR•IPV4•6『线路1』 纯享4K,http://101.43.145.141:12002/itv/1000000004000011651.m3u8?cdn=ystenlive$LR•IPV4•6『线路2』 纯享4K,https://live.264788.xyz/channel/chunxiang4k?streamid=c162e99191441b46592808f7f1afe8b0&livekey=01WgOR41rriMmMkzNsd0UoaxJRwetZdxIvtVk$LR•IPV4•6『线路3』 纯享4K,https://live.264788.xyz/channel/chunxiang4k?streamid=a12e69928ae928860407d7ec7bfe4ac8&livekey=01WgOR41rriMmMkzNsd0UoaxJRwetZdxIvtVk$LR•IPV4•6『线路4』 纯享4K,http://home.wwang.pw:35455/itv/1000000004000011651.m3u8?cdn=ystenlive$LR•IPV4•6『线路5』 -纯享4K,http://39.134.115.163:8080/PLTV/88888910/224/3221225786/index.m3u8$LR•IPV4•6『线路6』 +纯享4K,http://111.29.9.33:6610/000000001000/1000000004000011651/index.m3u8?channel-id=bestzb&Contentid=1000000004000011651&livemode=1&stbId=3$LR•IPV4•6『线路6』 安徽,#genre# 滁州新闻综合频道,http://183.167.193.45:1935/live/cztvzh/playlist.m3u8$LR•IPV4 @@ -1790,8 +1795,8 @@ NewTV哒啵赛事,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLiv 滁州公共频道,http://183.167.193.45:1935/live/cztvgg/playlist.m3u8$LR•IPV4 铜陵新闻综合频道,https://ls.qingting.fm/live/21303/64k.m3u8$LR•IPV4•2『线路1』 铜陵新闻综合频道,http://dstpush1.retalltech.com/app/stream1.m3u8$LR•IPV4•2『线路2』 -亳州农村,http://zbbf2.ahbztv.com/live/418.m3u8$LR•IPV4•2『线路1』 -亳州农村,http://220.180.110.101:8083/videos/live/39/13/o4ncrHkSp7q09/o4ncrHkSp7q09.m3u8$LR•IPV4•2『线路2』 +亳州农村,http://220.180.110.101:8083/videos/live/39/13/o4ncrHkSp7q09/o4ncrHkSp7q09.m3u8$LR•IPV4•2『线路1』 +亳州农村,http://zbbf2.ahbztv.com/live/418.m3u8$LR•IPV4•2『线路2』 北京,#genre# 北京财经,http://ivi.bupt.edu.cn/hls/btv5.m3u8$LR•IPV4 @@ -1812,19 +1817,19 @@ NewTV哒啵赛事,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLiv 南宁影视娱乐,http://hls.nntv.cn/nnlive/YSYL_244.m3u8$LR•IPV4 河北,#genre# -邢台综合,https://jwplay.hebyun.com.cn:443/live/xtsrmtzs/1500k/tzwj_video.m3u8$LR•IPV4•2『线路1』 -邢台综合,http://222.223.119.21:8888/newlive/live/hls/54/live.m3u8$LR•IPV4•2『线路2』 -河北都市,http://1.94.31.214/php/hebei.php?id=hbds$LR•IPV4•2『线路1』 -河北都市,http://121.19.134.246:808/hls/21/index.m3u8$LR•IPV4•2『线路2』 -河北农民,https://jwcdnqx.hebyun.com.cn/live/clzhpd/1500k/tzwj_video.m3u8?zhebd$LR•IPV4•2『线路1』 -河北农民,http://121.19.134.246:808/hls/25/index.m3u8$LR•IPV4•2『线路2』 +邢台综合,http://222.223.119.21:8888/newlive/live/hls/54/live.m3u8$LR•IPV4•2『线路1』 +邢台综合,https://jwplay.hebyun.com.cn:443/live/xtsrmtzs/1500k/tzwj_video.m3u8$LR•IPV4•2『线路2』 +河北都市,http://121.19.134.246:808/hls/21/index.m3u8$LR•IPV4•2『线路1』 +河北都市,http://1.94.31.214/php/hebei.php?id=hbds$LR•IPV4•2『线路2』 +河北农民,http://121.19.134.246:808/hls/25/index.m3u8$LR•IPV4•2『线路1』 +河北农民,https://jwcdnqx.hebyun.com.cn/live/clzhpd/1500k/tzwj_video.m3u8?zhebd$LR•IPV4•2『线路2』 鹿泉一套,http://hblq.chinashadt.com:2036/live/stream:luquan1.stream/playlist.m3u8$LR•IPV4 -河北经济,http://1.94.31.214/php/hebei.php?id=jjsh$LR•IPV4•2『线路1』 -河北经济,http://121.19.134.246:808/hls/20/index.m3u8$LR•IPV4•2『线路2』 -河北影视,http://1.94.31.214/php/hebei.php?id=hbys$LR•IPV4•2『线路1』 -河北影视,http://121.19.134.246:808/hls/22/index.m3u8$LR•IPV4•2『线路2』 -河北公共,http://1.94.31.214/php/hebei.php?id=hbgg$LR•IPV4•2『线路1』 -河北公共,http://121.19.134.246:808/hls/24/index.m3u8$LR•IPV4•2『线路2』 +河北经济,http://121.19.134.246:808/hls/20/index.m3u8$LR•IPV4•2『线路1』 +河北经济,http://1.94.31.214/php/hebei.php?id=jjsh$LR•IPV4•2『线路2』 +河北影视,http://121.19.134.246:808/hls/22/index.m3u8$LR•IPV4•2『线路1』 +河北影视,http://1.94.31.214/php/hebei.php?id=hbys$LR•IPV4•2『线路2』 +河北公共,http://121.19.134.246:808/hls/24/index.m3u8$LR•IPV4•2『线路1』 +河北公共,http://1.94.31.214/php/hebei.php?id=hbgg$LR•IPV4•2『线路2』 鹿泉二套,http://hblq.chinashadt.com:2036/live/stream:luquan2.stream/playlist.m3u8$LR•IPV4 内蒙古,#genre# @@ -1850,833 +1855,834 @@ NewTV哒啵赛事,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLiv 江苏教育,http://223.110.245.151/ott.js.chinamobile.com/PLTV/3/224/3221225923/index.m3u8$LR•IPV4 南京十八,http://183.207.248.71/gitv/live1/G_NJSB/G_NJSB$LR•IPV4 江苏体育,http://183.207.248.71/gitv/live1/G_JSTY/G_JSTY$LR•IPV4 -南京教科,http://nklive.nbs.cn/hls/75b3c462-b831-4de7-a34b-5d3221db2069/index.m3u8$LR•IPV4•4『线路1』 -南京教科,https://live.nbs.cn/channels/njtv/jkpd/m3u8:500k/live.m3u8$LR•IPV4•4『线路2』 -南京教科,http://183.207.248.71/gitv/live1/G_NJJK/G_NJJK$LR•IPV4•4『线路3』 -南京教科,http://223.110.245.155/ott.js.chinamobile.com/PLTV/3/224/3221227194/index.m3u8$LR•IPV4•4『线路4』 -南京少儿,http://nklive.nbs.cn/hls/e0981f3f-1a20-4a59-b8d1-17feb83a4610/index.m3u8$LR•IPV4•2『线路1』 -南京少儿,https://live.nbs.cn/channels/njtv/sepd/m3u8:500k/live.m3u8$LR•IPV4•2『线路2』 -苏州4k,https://live-auth.51kandianshi.com/szgd/csztv4k_hd.m3u8$LR•IPV4•4『线路1』 -苏州4k,http://43.251.226.89:8080/play/927.m3u8$LR•IPV4•4『线路2』 -苏州4k,https://tylive.kan0512.com/norecord/csztv4k_4k.m3u8$LR•IPV4•4『线路3』 -苏州4k,http://106.53.99.30/tv/api.php?id=sztv4k$LR•IPV4•4『线路4』 +南京教科,https://live.nbs.cn/channels/njtv/jkpd/m3u8:500k/live.m3u8$LR•IPV4•4『线路1』 +南京教科,http://183.207.248.71/gitv/live1/G_NJJK/G_NJJK$LR•IPV4•4『线路2』 +南京教科,http://223.110.245.155/ott.js.chinamobile.com/PLTV/3/224/3221227194/index.m3u8$LR•IPV4•4『线路3』 +南京教科,http://nklive.nbs.cn/hls/75b3c462-b831-4de7-a34b-5d3221db2069/index.m3u8$LR•IPV4•4『线路4』 +南京少儿,https://live.nbs.cn/channels/njtv/sepd/m3u8:500k/live.m3u8$LR•IPV4•2『线路1』 +南京少儿,http://nklive.nbs.cn/hls/e0981f3f-1a20-4a59-b8d1-17feb83a4610/index.m3u8$LR•IPV4•2『线路2』 +苏州4k,https://live-auth.51kandianshi.com/szgd/csztv4k_hd.m3u8$LR•IPV4•5『线路1』 +苏州4k,http://43.251.226.89:8080/play/927.m3u8$LR•IPV4•5『线路2』 +苏州4k,https://tylive.kan0512.com/norecord/csztv4k_4k.m3u8$LR•IPV4•5『线路3』 +苏州4k,http://106.53.99.30/tv/api.php?id=sztv4k$LR•IPV4•5『线路4』 +苏州4k,http://liveshowbak2.kan0512.com/norecord/csztv4k_4k.m3u8$LR•IPV4•5『线路5』 浙江,#genre# 浙江钱江,https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8$LR•IPV4•20『线路1』 -浙江钱江,http://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8$LR•IPV4•20『线路2』 -浙江钱江,http://ali-m-l.cztv.com/channels/lantian/channel02/1080p.m3u8$LR•IPV4•20『线路3』 -浙江钱江,http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8$LR•IPV4•20『线路4』 -浙江钱江,https://stream1.freetv.fun/bf079ada709563bdd095159c02dfb5afb53c24e643b73f987100b9d25e9c8f41.m3u8$LR•IPV4•20『线路5』 -浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-4.ctv$LR•IPV4•20『线路6』 -浙江钱江,http://ali-xwl.cztv.com/live/channel02720Plxw.m3u8$LR•IPV4•20『线路7』 -浙江钱江,http://120.55.49.231:3095/rtp/233.50.201.132:5140$LR•IPV4•20『线路8』 -浙江钱江,https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-2.m3u8$LR•IPV4•20『线路9』 -浙江钱江,https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-3.m3u8$LR•IPV4•20『线路10』 -浙江钱江,https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi.m3u8$LR•IPV4•20『线路11』 -浙江钱江,http://ali-xwl.cztv.com/live/channel021080Plxw.m3u8$LR•IPV4•20『线路12』 -浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-3.ctv$LR•IPV4•20『线路13』 -浙江钱江,http://api3.52tb.xyz/info?id=436&token=20230226bgyszp$LR•IPV4•20『线路14』 -浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-2.m3u8$LR•IPV4•20『线路15』 -浙江钱江,https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8\r\n$LR•IPV4•20『线路16』 -浙江钱江,https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-1.m3u8$LR•IPV4•20『线路17』 -浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-1.m3u8$LR•IPV4•20『线路18』 -浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-5.ctv$LR•IPV4•20『线路19』 -浙江钱江,http://ali-m-l.cztv.com/channels/lantian/channel002/720p.m3u8$LR•IPV4•20『线路20』 -浙江生活,http://ls.qingting.fm/live/1099.m3u8$LR•IPV4•25『线路1』 -浙江生活,http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8$LR•IPV4•25『线路2』 -浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-8.ctv$LR•IPV4•25『线路3』 -浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-7.ctv$LR•IPV4•25『线路4』 -浙江生活,http://120.55.49.231:3095/rtp/233.50.201.133:5140$LR•IPV4•25『线路5』 -浙江生活,http://ali-xwl.cztv.com/live/channel031080Plxw.m3u8$LR•IPV4•25『线路6』 -浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-2.ctv$LR•IPV4•25『线路7』 -浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-6.m3u8$LR•IPV4•25『线路8』 -浙江生活,http://ali-xwl.cztv.com/live/channel03720Plxw.m3u8$LR•IPV4•25『线路9』 -浙江生活,http://ali-m-l.cztv.com/channels/lantian/channel03/1080p.m3u8$LR•IPV4•25『线路10』 -浙江生活,http://ali-m-l.cztv.com/channels/lantian/channel03/720p.m3u8$LR•IPV4•25『线路11』 -浙江生活,https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8?$LR•IPV4•25『线路12』 -浙江生活,http://ali-m-l.cztv.com/channels/lantian/channel003/720p.m3u8$LR•IPV4•25『线路13』 -浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-1.m3u8$LR•IPV4•25『线路14』 -浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-7.m3u8$LR•IPV4•25『线路15』 -浙江生活,https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8$LR•IPV4•25『线路16』 -浙江生活,http://ali-vl.cztv.com/channels/lantian/channel003/360p.m3u8$LR•IPV4•25『线路17』 -浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-5.m3u8$LR•IPV4•25『线路18』 -浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-3.m3u8$LR•IPV4•25『线路19』 -浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-1.ctv$LR•IPV4•25『线路20』 -浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-6.m3u8$LR•IPV4•25『线路21』 -浙江生活,https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8\r\n$LR•IPV4•25『线路22』 -浙江生活,http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8$LR•IPV4•25『线路23』 -浙江生活,http://api3.52tb.xyz/info?id=437&token=20230226bgyszp$LR•IPV4•25『线路24』 -浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-2.m3u8$LR•IPV4•25『线路25』 -浙江教育,http://ali-m-l.cztv.com/channels/lantian/channel04/720p.m3u8$LR•IPV4•3『线路1』 -浙江教育,https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?$LR•IPV4•3『线路2』 +浙江钱江,https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-3.m3u8$LR•IPV4•20『线路2』 +浙江钱江,https://stream1.freetv.fun/bf079ada709563bdd095159c02dfb5afb53c24e643b73f987100b9d25e9c8f41.m3u8$LR•IPV4•20『线路3』 +浙江钱江,http://ali-m-l.cztv.com/channels/lantian/channel002/720p.m3u8$LR•IPV4•20『线路4』 +浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-1.m3u8$LR•IPV4•20『线路5』 +浙江钱江,http://ali-xwl.cztv.com/live/channel02720Plxw.m3u8$LR•IPV4•20『线路6』 +浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-2.m3u8$LR•IPV4•20『线路7』 +浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-5.ctv$LR•IPV4•20『线路8』 +浙江钱江,http://120.55.49.231:3095/rtp/233.50.201.132:5140$LR•IPV4•20『线路9』 +浙江钱江,http://ali-m-l.cztv.com/channels/lantian/channel02/1080p.m3u8$LR•IPV4•20『线路10』 +浙江钱江,https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-1.m3u8$LR•IPV4•20『线路11』 +浙江钱江,https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-2.m3u8$LR•IPV4•20『线路12』 +浙江钱江,https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8\r\n$LR•IPV4•20『线路13』 +浙江钱江,http://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8$LR•IPV4•20『线路14』 +浙江钱江,https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi.m3u8$LR•IPV4•20『线路15』 +浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-4.ctv$LR•IPV4•20『线路16』 +浙江钱江,http://ali-xwl.cztv.com/live/channel021080Plxw.m3u8$LR•IPV4•20『线路17』 +浙江钱江,http://api3.52tb.xyz/info?id=436&token=20230226bgyszp$LR•IPV4•20『线路18』 +浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-3.ctv$LR•IPV4•20『线路19』 +浙江钱江,http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8$LR•IPV4•20『线路20』 +浙江生活,http://ali-vl.cztv.com/channels/lantian/channel003/360p.m3u8$LR•IPV4•25『线路1』 +浙江生活,https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8\r\n$LR•IPV4•25『线路2』 +浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-2.ctv$LR•IPV4•25『线路3』 +浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-3.m3u8$LR•IPV4•25『线路4』 +浙江生活,https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8?$LR•IPV4•25『线路5』 +浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-2.m3u8$LR•IPV4•25『线路6』 +浙江生活,http://ls.qingting.fm/live/1099.m3u8$LR•IPV4•25『线路7』 +浙江生活,http://120.55.49.231:3095/rtp/233.50.201.133:5140$LR•IPV4•25『线路8』 +浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-6.m3u8$LR•IPV4•25『线路9』 +浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-7.m3u8$LR•IPV4•25『线路10』 +浙江生活,http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8$LR•IPV4•25『线路11』 +浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-6.m3u8$LR•IPV4•25『线路12』 +浙江生活,http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8$LR•IPV4•25『线路13』 +浙江生活,http://api3.52tb.xyz/info?id=437&token=20230226bgyszp$LR•IPV4•25『线路14』 +浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-1.ctv$LR•IPV4•25『线路15』 +浙江生活,http://ali-m-l.cztv.com/channels/lantian/channel003/720p.m3u8$LR•IPV4•25『线路16』 +浙江生活,http://ali-xwl.cztv.com/live/channel03720Plxw.m3u8$LR•IPV4•25『线路17』 +浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-7.ctv$LR•IPV4•25『线路18』 +浙江生活,http://ali-m-l.cztv.com/channels/lantian/channel03/720p.m3u8$LR•IPV4•25『线路19』 +浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-1.m3u8$LR•IPV4•25『线路20』 +浙江生活,http://ali-m-l.cztv.com/channels/lantian/channel03/1080p.m3u8$LR•IPV4•25『线路21』 +浙江生活,https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8$LR•IPV4•25『线路22』 +浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-5.m3u8$LR•IPV4•25『线路23』 +浙江生活,http://ali-xwl.cztv.com/live/channel031080Plxw.m3u8$LR•IPV4•25『线路24』 +浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-8.ctv$LR•IPV4•25『线路25』 +浙江教育,https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?$LR•IPV4•3『线路1』 +浙江教育,http://ali-m-l.cztv.com/channels/lantian/channel04/720p.m3u8$LR•IPV4•3『线路2』 浙江教育,http://120.55.49.231:3095/rtp/233.50.201.134:5140$LR•IPV4•3『线路3』 浙江民生,https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8$LR•IPV4•37『线路1』 -浙江民生,http://ali-m-l.cztv.com/channels/lantian/channel06/720p.m3u8$LR•IPV4•37『线路2』 -浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-4.m3u8$LR•IPV4•37『线路3』 -浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian-4.m3u8$LR•IPV4•37『线路4』 -浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-6.ctv$LR•IPV4•37『线路5』 -浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-4.ctv$LR•IPV4•37『线路6』 -浙江民生,https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8?$LR•IPV4•37『线路7』 -浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng-2.m3u8$LR•IPV4•37『线路8』 -浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-2.m3u8$LR•IPV4•37『线路9』 +浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian-4.m3u8$LR•IPV4•37『线路2』 +浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-9.ctv$LR•IPV4•37『线路3』 +浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng-1-1.m3u8$LR•IPV4•37『线路4』 +浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-6.ctv$LR•IPV4•37『线路5』 +浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-5.m3u8$LR•IPV4•37『线路6』 +浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-9.m3u8$LR•IPV4•37『线路7』 +浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng-1.m3u8$LR•IPV4•37『线路8』 +浙江民生,http://ali-xwl.cztv.com/live/channel061080Plxw.m3u8$LR•IPV4•37『线路9』 浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian-2.m3u8$LR•IPV4•37『线路10』 -浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-1.m3u8$LR•IPV4•37『线路11』 -浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-9.m3u8$LR•IPV4•37『线路12』 -浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-1.m3u8$LR•IPV4•37『线路13』 -浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-3.m3u8$LR•IPV4•37『线路14』 -浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-4.m3u8$LR•IPV4•37『线路15』 -浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng-4.m3u8$LR•IPV4•37『线路16』 -浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-2.ctv$LR•IPV4•37『线路17』 -浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng-1-1.m3u8$LR•IPV4•37『线路18』 -浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-5.m3u8$LR•IPV4•37『线路19』 -浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng-3.m3u8$LR•IPV4•37『线路20』 -浙江民生,http://ali-xwl.cztv.com/live/channel061080Plxw.m3u8$LR•IPV4•37『线路21』 -浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng-11.m3u8$LR•IPV4•37『线路22』 -浙江民生,http://ali-m-l.cztv.com/channels/lantian/channel06/1080p.m3u8$LR•IPV4•37『线路23』 -浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-9.ctv$LR•IPV4•37『线路24』 -浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-6.ctv$LR•IPV4•37『线路25』 -浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng-1.m3u8$LR•IPV4•37『线路26』 -浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-8.m3u8$LR•IPV4•37『线路27』 -浙江民生,http://ali-vl.cztv.com/channels/lantian/channel006/360p.m3u8$LR•IPV4•37『线路28』 -浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-10.m3u8$LR•IPV4•37『线路29』 -浙江民生,http://ali-xwl.cztv.com/live/channel06720Plxw.m3u8$LR•IPV4•37『线路30』 -浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-5.m3u8$LR•IPV4•37『线路31』 -浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-3.ctv$LR•IPV4•37『线路32』 -浙江民生,http://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8$LR•IPV4•37『线路33』 -浙江民生,http://120.55.49.231:3095/rtp/233.50.201.136:5140$LR•IPV4•37『线路34』 -浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng.m3u8$LR•IPV4•37『线路35』 -浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-7.m3u8$LR•IPV4•37『线路36』 -浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian.m3u8$LR•IPV4•37『线路37』 +浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-4.m3u8$LR•IPV4•37『线路11』 +浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-7.m3u8$LR•IPV4•37『线路12』 +浙江民生,http://ali-m-l.cztv.com/channels/lantian/channel06/720p.m3u8$LR•IPV4•37『线路13』 +浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-10.m3u8$LR•IPV4•37『线路14』 +浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng-4.m3u8$LR•IPV4•37『线路15』 +浙江民生,http://120.55.49.231:3095/rtp/233.50.201.136:5140$LR•IPV4•37『线路16』 +浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng.m3u8$LR•IPV4•37『线路17』 +浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-3.m3u8$LR•IPV4•37『线路18』 +浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-4.m3u8$LR•IPV4•37『线路19』 +浙江民生,http://ali-xwl.cztv.com/live/channel06720Plxw.m3u8$LR•IPV4•37『线路20』 +浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-4.ctv$LR•IPV4•37『线路21』 +浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-2.ctv$LR•IPV4•37『线路22』 +浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-1.m3u8$LR•IPV4•37『线路23』 +浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-3.ctv$LR•IPV4•37『线路24』 +浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-2.m3u8$LR•IPV4•37『线路25』 +浙江民生,http://ali-m-l.cztv.com/channels/lantian/channel06/1080p.m3u8$LR•IPV4•37『线路26』 +浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-1.m3u8$LR•IPV4•37『线路27』 +浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian.m3u8$LR•IPV4•37『线路28』 +浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-6.ctv$LR•IPV4•37『线路29』 +浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng-3.m3u8$LR•IPV4•37『线路30』 +浙江民生,http://ali-vl.cztv.com/channels/lantian/channel006/360p.m3u8$LR•IPV4•37『线路31』 +浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-8.m3u8$LR•IPV4•37『线路32』 +浙江民生,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-5.m3u8$LR•IPV4•37『线路33』 +浙江民生,https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8?$LR•IPV4•37『线路34』 +浙江民生,http://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8$LR•IPV4•37『线路35』 +浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng-11.m3u8$LR•IPV4•37『线路36』 +浙江民生,https://t.freetv.fun/live/zhe-jiang-min-sheng-2.m3u8$LR•IPV4•37『线路37』 浙江新闻,https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8$LR•IPV4•33『线路1』 -浙江新闻,https://ali-m-l.cztv.com/channels/lantian/channel07/720p.m3u8$LR•IPV4•33『线路2』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-2.ctv$LR•IPV4•33『线路3』 -浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-1.m3u8$LR•IPV4•33『线路4』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-8.m3u8$LR•IPV4•33『线路5』 -浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-2.m3u8$LR•IPV4•33『线路6』 -浙江新闻,http://ali-xwl.cztv.com/live/channel07720Plxw.m3u8$LR•IPV4•33『线路7』 -浙江新闻,http://120.55.49.231:3095/rtp/233.50.201.137:5140$LR•IPV4•33『线路8』 -浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8?zzhed$LR•IPV4•33『线路9』 -浙江新闻,http://api3.52tb.xyz/info?id=434&token=20221127jxwhhemby$LR•IPV4•33『线路10』 -浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-7.m3u8$LR•IPV4•33『线路11』 -浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-12.m3u8$LR•IPV4•33『线路12』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-11.m3u8$LR•IPV4•33『线路2』 +浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-1.m3u8$LR•IPV4•33『线路3』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-2.m3u8$LR•IPV4•33『线路4』 +浙江新闻,http://api3.52tb.xyz/info?id=434&token=20221127jxwhhemby$LR•IPV4•33『线路5』 +浙江新闻,http://120.55.49.231:3095/rtp/233.50.201.137:5140$LR•IPV4•33『线路6』 +浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel007/720p.m3u8$LR•IPV4•33『线路7』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-7.m3u8$LR•IPV4•33『线路8』 +浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-12.m3u8$LR•IPV4•33『线路9』 +浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-3.m3u8$LR•IPV4•33『线路10』 +浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel07/720p.m3u8$LR•IPV4•33『线路11』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-3.m3u8$LR•IPV4•33『线路12』 浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-9.m3u8$LR•IPV4•33『线路13』 -浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel07/720p.m3u8$LR•IPV4•33『线路14』 -浙江新闻,https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8?$LR•IPV4•33『线路15』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-5.m3u8$LR•IPV4•33『线路16』 -浙江新闻,http://ali-vl.cztv.com/channels/lantian/channel007/360p.m3u8$LR•IPV4•33『线路17』 -浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-3.m3u8$LR•IPV4•33『线路18』 -浙江新闻,http://ali-xwl.cztv.com/live/channel071080Plxw.m3u8$LR•IPV4•33『线路19』 -浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-6.m3u8$LR•IPV4•33『线路20』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-7.m3u8$LR•IPV4•33『线路21』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-1.m3u8$LR•IPV4•33『线路22』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-11.m3u8$LR•IPV4•33『线路23』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-10.m3u8$LR•IPV4•33『线路24』 -浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8$LR•IPV4•33『线路25』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-10.m3u8$LR•IPV4•33『线路14』 +浙江新闻,http://ali-xwl.cztv.com/live/channel071080Plxw.m3u8$LR•IPV4•33『线路15』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-6.m3u8$LR•IPV4•33『线路16』 +浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-2.m3u8$LR•IPV4•33『线路17』 +浙江新闻,http://ali-vl.cztv.com/channels/lantian/channel007/360p.m3u8$LR•IPV4•33『线路18』 +浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8?zzhed$LR•IPV4•33『线路19』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-1.m3u8$LR•IPV4•33『线路20』 +浙江新闻,https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8?$LR•IPV4•33『线路21』 +浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8$LR•IPV4•33『线路22』 +浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-6.m3u8$LR•IPV4•33『线路23』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-2.ctv$LR•IPV4•33『线路24』 +浙江新闻,https://ali-m-l.cztv.com/channels/lantian/channel07/1080p.m3u8$LR•IPV4•33『线路25』 浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen.m3u8$LR•IPV4•33『线路26』 -浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel007/720p.m3u8$LR•IPV4•33『线路27』 -浙江新闻,https://ali-m-l.cztv.com/channels/lantian/channel07/1080p.m3u8$LR•IPV4•33『线路28』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-2.m3u8$LR•IPV4•33『线路29』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-6.m3u8$LR•IPV4•33『线路30』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-3.m3u8$LR•IPV4•33『线路31』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-4.m3u8$LR•IPV4•33『线路32』 -浙江新闻,https://stream1.freetv.fun/7fa07158e038a9bae3747a0cb9f8e8ff1aaba32669d28d99a498716f16569c1d.m3u8$LR•IPV4•33『线路33』 -浙江少儿,https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路1』 -浙江少儿,http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路2』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-4.m3u8$LR•IPV4•18『线路3』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-7.m3u8$LR•IPV4•18『线路4』 -浙江少儿,https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?$LR•IPV4•18『线路5』 -浙江少儿,https://ct-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路6』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-9.ctv$LR•IPV4•18『线路7』 -浙江少儿,http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8$LR•IPV4•18『线路8』 -浙江少儿,http://ali-xwl.cztv.com/live/channel081080Plxw.m3u8$LR•IPV4•18『线路9』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-10.ctv$LR•IPV4•18『线路10』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-2.m3u8$LR•IPV4•18『线路11』 -浙江少儿,http://ali-xwl.cztv.com/live/channel08720Plxw.m3u8$LR•IPV4•18『线路12』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-6.ctv$LR•IPV4•18『线路13』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-4.ctv$LR•IPV4•18『线路14』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-3.m3u8$LR•IPV4•18『线路15』 -浙江少儿,http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?fbl=$LR•IPV4•18『线路16』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-11.m3u8$LR•IPV4•18『线路17』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-8.m3u8$LR•IPV4•18『线路18』 -杭州综合,http://www.jeremyoto.com:82/rtp/233.50.201.173:5140$LR•IPV4•6『线路1』 -杭州综合,https://stream1.freetv.fun/hang-zhou-zong-he-2.ctv$LR•IPV4•6『线路2』 -杭州综合,http://www.flyskyman.cn:4022/rtp/233.50.201.173:5140$LR•IPV4•6『线路3』 -杭州综合,http://live.xmcdn.com/live/1845/64.m3u8$LR•IPV4•6『线路4』 -杭州综合,http://120.55.49.231:3095/rtp/233.50.201.173:5140$LR•IPV4•6『线路5』 -杭州综合,https://stream1.freetv.fun/hang-zhou-zong-he-3.ctv$LR•IPV4•6『线路6』 -杭州明珠,https://stream1.freetv.fun/hang-zhou-ming-zhu-2.m3u8$LR•IPV4•7『线路1』 -杭州明珠,https://stream1.freetv.fun/hang-zhou-ming-zhu-4.m3u8$LR•IPV4•7『线路2』 -杭州明珠,http://120.198.101.106:9901/tsfile/live/1008_1.m3u8?key=txiptv$LR•IPV4•7『线路3』 -杭州明珠,http://www.flyskyman.cn:4022/rtp/233.50.201.174:5140$LR•IPV4•7『线路4』 -杭州明珠,https://stream1.freetv.fun/hang-zhou-ming-zhu-2.ctv$LR•IPV4•7『线路5』 -杭州明珠,http://www.jeremyoto.com:82/rtp/233.50.201.174:5140$LR•IPV4•7『线路6』 +浙江新闻,https://ali-m-l.cztv.com/channels/lantian/channel07/720p.m3u8$LR•IPV4•33『线路27』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-5.m3u8$LR•IPV4•33『线路28』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-4.m3u8$LR•IPV4•33『线路29』 +浙江新闻,http://ali-xwl.cztv.com/live/channel07720Plxw.m3u8$LR•IPV4•33『线路30』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-8.m3u8$LR•IPV4•33『线路31』 +浙江新闻,https://stream1.freetv.fun/7fa07158e038a9bae3747a0cb9f8e8ff1aaba32669d28d99a498716f16569c1d.m3u8$LR•IPV4•33『线路32』 +浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-7.m3u8$LR•IPV4•33『线路33』 +浙江少儿,http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路1』 +浙江少儿,http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?fbl=$LR•IPV4•18『线路2』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-11.m3u8$LR•IPV4•18『线路3』 +浙江少儿,http://ali-xwl.cztv.com/live/channel081080Plxw.m3u8$LR•IPV4•18『线路4』 +浙江少儿,http://ali-xwl.cztv.com/live/channel08720Plxw.m3u8$LR•IPV4•18『线路5』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-7.m3u8$LR•IPV4•18『线路6』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-3.m3u8$LR•IPV4•18『线路7』 +浙江少儿,https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?$LR•IPV4•18『线路8』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-10.ctv$LR•IPV4•18『线路9』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-4.m3u8$LR•IPV4•18『线路10』 +浙江少儿,http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8$LR•IPV4•18『线路11』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-4.ctv$LR•IPV4•18『线路12』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-2.m3u8$LR•IPV4•18『线路13』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-9.ctv$LR•IPV4•18『线路14』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-8.m3u8$LR•IPV4•18『线路15』 +浙江少儿,https://ct-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路16』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-6.ctv$LR•IPV4•18『线路17』 +浙江少儿,https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路18』 +杭州综合,http://120.55.49.231:3095/rtp/233.50.201.173:5140$LR•IPV4•6『线路1』 +杭州综合,http://www.flyskyman.cn:4022/rtp/233.50.201.173:5140$LR•IPV4•6『线路2』 +杭州综合,https://stream1.freetv.fun/hang-zhou-zong-he-3.ctv$LR•IPV4•6『线路3』 +杭州综合,http://www.jeremyoto.com:82/rtp/233.50.201.173:5140$LR•IPV4•6『线路4』 +杭州综合,https://stream1.freetv.fun/hang-zhou-zong-he-2.ctv$LR•IPV4•6『线路5』 +杭州综合,http://live.xmcdn.com/live/1845/64.m3u8$LR•IPV4•6『线路6』 +杭州明珠,https://stream1.freetv.fun/hang-zhou-ming-zhu-2.ctv$LR•IPV4•7『线路1』 +杭州明珠,http://www.flyskyman.cn:4022/rtp/233.50.201.174:5140$LR•IPV4•7『线路2』 +杭州明珠,https://stream1.freetv.fun/hang-zhou-ming-zhu-4.m3u8$LR•IPV4•7『线路3』 +杭州明珠,http://www.jeremyoto.com:82/rtp/233.50.201.174:5140$LR•IPV4•7『线路4』 +杭州明珠,https://stream1.freetv.fun/hang-zhou-ming-zhu-2.m3u8$LR•IPV4•7『线路5』 +杭州明珠,http://120.198.101.106:9901/tsfile/live/1008_1.m3u8?key=txiptv$LR•IPV4•7『线路6』 杭州明珠,https://stream1.freetv.fun/hang-zhou-ming-zhu-1.ctv$LR•IPV4•7『线路7』 -杭州生活,http://120.55.49.231:3095/rtp/233.50.201.175:5140$LR•IPV4•6『线路1』 -杭州生活,https://stream1.freetv.fun/hang-zhou-sheng-huo-3.ctv$LR•IPV4•6『线路2』 -杭州生活,http://www.jeremyoto.com:82/rtp/233.50.201.175:5140$LR•IPV4•6『线路3』 -杭州生活,https://stream1.freetv.fun/hang-zhou-sheng-huo-2.ctv$LR•IPV4•6『线路4』 -杭州生活,http://www.flyskyman.cn:4022/rtp/233.50.201.175:5140$LR•IPV4•6『线路5』 -杭州生活,https://stream1.freetv.fun/hang-zhou-sheng-huo-1.ctv$LR•IPV4•6『线路6』 -杭州影视,http://www.jeremyoto.com:82/rtp/233.50.201.176:5140$LR•IPV4•3『线路1』 -杭州影视,https://stream1.freetv.fun/hang-zhou-ying-shi-2.ctv$LR•IPV4•3『线路2』 -杭州影视,http://www.flyskyman.cn:4022/rtp/233.50.201.176:5140$LR•IPV4•3『线路3』 +杭州生活,https://stream1.freetv.fun/hang-zhou-sheng-huo-2.ctv$LR•IPV4•6『线路1』 +杭州生活,https://stream1.freetv.fun/hang-zhou-sheng-huo-1.ctv$LR•IPV4•6『线路2』 +杭州生活,http://120.55.49.231:3095/rtp/233.50.201.175:5140$LR•IPV4•6『线路3』 +杭州生活,https://stream1.freetv.fun/hang-zhou-sheng-huo-3.ctv$LR•IPV4•6『线路4』 +杭州生活,http://www.jeremyoto.com:82/rtp/233.50.201.175:5140$LR•IPV4•6『线路5』 +杭州生活,http://www.flyskyman.cn:4022/rtp/233.50.201.175:5140$LR•IPV4•6『线路6』 +杭州影视,http://www.flyskyman.cn:4022/rtp/233.50.201.176:5140$LR•IPV4•3『线路1』 +杭州影视,http://www.jeremyoto.com:82/rtp/233.50.201.176:5140$LR•IPV4•3『线路2』 +杭州影视,https://stream1.freetv.fun/hang-zhou-ying-shi-2.ctv$LR•IPV4•3『线路3』 杭州青少,http://www.jeremyoto.com:82/rtp/233.50.201.177:5140$LR•IPV4•3『线路1』 杭州青少,http://www.flyskyman.cn:4022/rtp/233.50.201.177:5140$LR•IPV4•3『线路2』 杭州青少,http://120.55.49.231:3095/rtp/233.50.201.177:5140$LR•IPV4•3『线路3』 杭州导视,http://www.flyskyman.cn:4022/rtp/233.50.201.182:5140$LR•IPV4•2『线路1』 杭州导视,http://www.jeremyoto.com:82/rtp/233.50.201.182:5140$LR•IPV4•2『线路2』 -宁波TV1,http://www.flyskyman.cn:4022/rtp/233.50.201.168:5140$LR•IPV4•2『线路1』 -宁波TV1,http://www.jeremyoto.com:82/rtp/233.50.201.168:5140$LR•IPV4•2『线路2』 -宁波TV2,http://www.jeremyoto.com:82/rtp/233.50.201.178:5140$LR•IPV4•2『线路1』 -宁波TV2,http://www.flyskyman.cn:4022/rtp/233.50.201.178:5140$LR•IPV4•2『线路2』 -宁波TV3,http://www.jeremyoto.com:82/rtp/233.50.201.179:5140$LR•IPV4•2『线路1』 -宁波TV3,http://www.flyskyman.cn:4022/rtp/233.50.201.179:5140$LR•IPV4•2『线路2』 -宁波TV4,http://www.jeremyoto.com:82/rtp/233.50.201.180:5140$LR•IPV4•2『线路1』 -宁波TV4,http://www.flyskyman.cn:4022/rtp/233.50.201.180:5140$LR•IPV4•2『线路2』 +宁波TV1,http://www.jeremyoto.com:82/rtp/233.50.201.168:5140$LR•IPV4•2『线路1』 +宁波TV1,http://www.flyskyman.cn:4022/rtp/233.50.201.168:5140$LR•IPV4•2『线路2』 +宁波TV2,http://www.flyskyman.cn:4022/rtp/233.50.201.178:5140$LR•IPV4•2『线路1』 +宁波TV2,http://www.jeremyoto.com:82/rtp/233.50.201.178:5140$LR•IPV4•2『线路2』 +宁波TV3,http://www.flyskyman.cn:4022/rtp/233.50.201.179:5140$LR•IPV4•2『线路1』 +宁波TV3,http://www.jeremyoto.com:82/rtp/233.50.201.179:5140$LR•IPV4•2『线路2』 +宁波TV4,http://www.flyskyman.cn:4022/rtp/233.50.201.180:5140$LR•IPV4•2『线路1』 +宁波TV4,http://www.jeremyoto.com:82/rtp/233.50.201.180:5140$LR•IPV4•2『线路2』 浙江教科,https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8$LR•IPV4•10『线路1』 浙江教科,http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8$LR•IPV4•10『线路2』 浙江教科,http://api3.52tb.xyz/info?id=432&token=20230226bgyszp$LR•IPV4•10『线路3』 浙江教科,http://zwebl02.cztv.com/live/channel041080P.m3u8?auth_key=2524708799-0-0-f195b808217db133bfd648edc01e91fa$LR•IPV4•10『线路4』 浙江教科,http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?zzhed$LR•IPV4•10『线路5』 -浙江教科,http://ali-m-l.cztv.com/channels/lantian/channel04/1080p.m3u8$LR•IPV4•10『线路6』 -浙江教科,http://ali-xwl.cztv.com/live/channel04720Plxw.m3u8$LR•IPV4•10『线路7』 -浙江教科,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8242&tk=23a9aca1f79f$LR•IPV4•10『线路8』 -浙江教科,http://ali-xwl.cztv.com/live/channel041080Plxw.m3u8$LR•IPV4•10『线路9』 -浙江教科,http://ali-vl.cztv.com/channels/lantian/channel004/360p.m3u8$LR•IPV4•10『线路10』 -浙江经济,http://live.hznet.tv:1935/live/live2/500k/tzwj_video.m3u8$LR•IPV4•3『线路1』 +浙江教科,http://ali-xwl.cztv.com/live/channel04720Plxw.m3u8$LR•IPV4•10『线路6』 +浙江教科,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8242&tk=23a9aca1f79f$LR•IPV4•10『线路7』 +浙江教科,http://ali-vl.cztv.com/channels/lantian/channel004/360p.m3u8$LR•IPV4•10『线路8』 +浙江教科,http://ali-m-l.cztv.com/channels/lantian/channel04/1080p.m3u8$LR•IPV4•10『线路9』 +浙江教科,http://ali-xwl.cztv.com/live/channel041080Plxw.m3u8$LR•IPV4•10『线路10』 +浙江经济,http://222.179.155.21:1935/ch0.m3u8$LR•IPV4•3『线路1』 浙江经济,http://live.hznet.tv:1935/live/live2/500K/tzwj_video.m3u8?shandd$LR•IPV4•3『线路2』 -浙江经济,http://222.179.155.21:1935/ch0.m3u8$LR•IPV4•3『线路3』 +浙江经济,http://live.hznet.tv:1935/live/live2/500k/tzwj_video.m3u8$LR•IPV4•3『线路3』 之江纪录,https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8$LR•IPV4•6『线路1』 之江纪录,https://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8$LR•IPV4•6『线路2』 -之江纪录,http://120.55.49.231:3095/rtp/233.50.202.25:5140$LR•IPV4•6『线路3』 -之江纪录,http://ali-m-l.cztv.com/channels/lantian/channel12/1080p.m3u8$LR•IPV4•6『线路4』 -之江纪录,http://zwebl02.cztv.com/live/channel121080P.m3u8?auth_key=2524708799-0-0-c33efdd495bcdd2ddc42e7c408405037$LR•IPV4•6『线路5』 -之江纪录,http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8$LR•IPV4•6『线路6』 +之江纪录,http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8$LR•IPV4•6『线路3』 +之江纪录,http://zwebl02.cztv.com/live/channel121080P.m3u8?auth_key=2524708799-0-0-c33efdd495bcdd2ddc42e7c408405037$LR•IPV4•6『线路4』 +之江纪录,http://ali-m-l.cztv.com/channels/lantian/channel12/1080p.m3u8$LR•IPV4•6『线路5』 +之江纪录,http://120.55.49.231:3095/rtp/233.50.202.25:5140$LR•IPV4•6『线路6』 浙江国际,https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路1』 -浙江国际,http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路2』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-5.ctv$LR•IPV4•30『线路3』 -浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-4.m3u8$LR•IPV4•30『线路4』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-9.m3u8$LR•IPV4•30『线路5』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-6.m3u8$LR•IPV4•30『线路6』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-10.m3u8$LR•IPV4•30『线路7』 -浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-11.m3u8$LR•IPV4•30『线路8』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-11.m3u8$LR•IPV4•30『线路9』 -浙江国际,http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8$LR•IPV4•30『线路10』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-3.ctv$LR•IPV4•30『线路11』 -浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-10.m3u8$LR•IPV4•30『线路12』 -浙江国际,http://ali-m-l.cztv.com/channels/lantian/channel010/720p.m3u8$LR•IPV4•30『线路13』 -浙江国际,http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8?zzhed$LR•IPV4•30『线路14』 -浙江国际,https://qiniup-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路15』 -浙江国际,https://ct-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路16』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-5.m3u8$LR•IPV4•30『线路17』 -浙江国际,http://ali-xwl.cztv.com/live/channel101080Plxw.m3u8$LR•IPV4•30『线路18』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-1.m3u8$LR•IPV4•30『线路19』 -浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-6.m3u8$LR•IPV4•30『线路20』 +浙江国际,http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8?zzhed$LR•IPV4•30『线路2』 +浙江国际,http://ali-xwl.cztv.com/live/channel101080Plxw.m3u8$LR•IPV4•30『线路3』 +浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-2.m3u8$LR•IPV4•30『线路4』 +浙江国际,http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8$LR•IPV4•30『线路5』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-5.m3u8$LR•IPV4•30『线路6』 +浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-4.m3u8$LR•IPV4•30『线路7』 +浙江国际,https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8?$LR•IPV4•30『线路8』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-7.m3u8$LR•IPV4•30『线路9』 +浙江国际,https://stream1.freetv.fun/8edc171ba7945fd93cc0f2c9e39b48ba0a94500d0029db9456dfdc2d75f9ea9d.m3u8$LR•IPV4•30『线路10』 +浙江国际,http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8?a=1000&d=4e3d476240659192311f471b7b63aec2&k=d26568bae9dd23dd781c769c148459b2&t=1683180450$LR•IPV4•30『线路11』 +浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji.m3u8$LR•IPV4•30『线路12』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-11.m3u8$LR•IPV4•30『线路13』 +浙江国际,http://ali-m-l.cztv.com/channels/lantian/channel010/720p.m3u8$LR•IPV4•30『线路14』 +浙江国际,http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路15』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-6.m3u8$LR•IPV4•30『线路16』 +浙江国际,https://ct-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路17』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-9.m3u8$LR•IPV4•30『线路18』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-8.m3u8$LR•IPV4•30『线路19』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-3.ctv$LR•IPV4•30『线路20』 浙江国际,http://ali-xwl.cztv.com/live/channel10720Plxw.m3u8$LR•IPV4•30『线路21』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-7.m3u8$LR•IPV4•30『线路22』 -浙江国际,https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8?$LR•IPV4•30『线路23』 -浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji.m3u8$LR•IPV4•30『线路24』 -浙江国际,https://stream1.freetv.fun/8edc171ba7945fd93cc0f2c9e39b48ba0a94500d0029db9456dfdc2d75f9ea9d.m3u8$LR•IPV4•30『线路25』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-8.m3u8$LR•IPV4•30『线路26』 -浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-2.m3u8$LR•IPV4•30『线路27』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-2.m3u8$LR•IPV4•30『线路28』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-4.m3u8$LR•IPV4•30『线路29』 -浙江国际,http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8?a=1000&d=4e3d476240659192311f471b7b63aec2&k=d26568bae9dd23dd781c769c148459b2&t=1683180450$LR•IPV4•30『线路30』 +浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-11.m3u8$LR•IPV4•30『线路22』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-1.m3u8$LR•IPV4•30『线路23』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-10.m3u8$LR•IPV4•30『线路24』 +浙江国际,https://qiniup-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路25』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-4.m3u8$LR•IPV4•30『线路26』 +浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-10.m3u8$LR•IPV4•30『线路27』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-5.ctv$LR•IPV4•30『线路28』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-2.m3u8$LR•IPV4•30『线路29』 +浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-6.m3u8$LR•IPV4•30『线路30』 嘉兴新闻综合,http://live.zohi.tv/video/s10001-fztv-1/index.m3u8$LR•IPV4•5『线路1』 -嘉兴新闻综合,http://tvfile.jyrmt.cn:80/nmip-media/channellive/channel104452/playlist.m3u8$LR•IPV4•5『线路2』 -嘉兴新闻综合,http://play-sh13.quklive.com/live/1675942165226154.m3u8?auth_key=2028730261-e7db80d294b04dc9ab5c8136b4c88b74-0-f0795306faa59c7edb35860a8ae63528$LR•IPV4•5『线路3』 -嘉兴新闻综合,http://live.pzhkai.com/xwzhtl/sd/live.m3u8$LR•IPV4•5『线路4』 -嘉兴新闻综合,https://live-auth.51kandianshi.com/szgd/csztv1.m3u8$LR•IPV4•5『线路5』 +嘉兴新闻综合,http://play-sh13.quklive.com/live/1675942165226154.m3u8?auth_key=2028730261-e7db80d294b04dc9ab5c8136b4c88b74-0-f0795306faa59c7edb35860a8ae63528$LR•IPV4•5『线路2』 +嘉兴新闻综合,https://live-auth.51kandianshi.com/szgd/csztv1.m3u8$LR•IPV4•5『线路3』 +嘉兴新闻综合,http://tvfile.jyrmt.cn:80/nmip-media/channellive/channel104452/playlist.m3u8$LR•IPV4•5『线路4』 +嘉兴新闻综合,http://live.pzhkai.com/xwzhtl/sd/live.m3u8$LR•IPV4•5『线路5』 丽水新闻,http://120.55.49.231:3095/rtp/233.50.201.162:5140$LR•IPV4 -湖州公共,http://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e$LR•IPV4•9『线路1』 -湖州公共,https://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e$LR•IPV4•9『线路2』 -湖州公共,https://stream1.freetv.fun/hu-zhou-gong-gong-3.m3u8$LR•IPV4•9『线路3』 -湖州公共,https://t.freetv.fun/live/hu-zhou-gong-gong-2.m3u8$LR•IPV4•9『线路4』 -湖州公共,https://t.freetv.fun/live/hu-zhou-gong-gong-1.m3u8$LR•IPV4•9『线路5』 -湖州公共,https://stream1.freetv.fun/hu-zhou-gong-gong-9.m3u8$LR•IPV4•9『线路6』 +湖州公共,http://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e&fbl=$LR•IPV4•9『线路1』 +湖州公共,https://t.freetv.fun/live/hu-zhou-gong-gong-6.m3u8$LR•IPV4•9『线路2』 +湖州公共,https://t.freetv.fun/live/hu-zhou-gong-gong-2.m3u8$LR•IPV4•9『线路3』 +湖州公共,https://t.freetv.fun/live/hu-zhou-gong-gong-1.m3u8$LR•IPV4•9『线路4』 +湖州公共,https://stream1.freetv.fun/hu-zhou-gong-gong-3.m3u8$LR•IPV4•9『线路5』 +湖州公共,https://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e$LR•IPV4•9『线路6』 湖州公共,https://stream1.freetv.fun/hu-zhou-gong-gong-1.m3u8$LR•IPV4•9『线路7』 -湖州公共,http://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e&fbl=$LR•IPV4•9『线路8』 -湖州公共,https://t.freetv.fun/live/hu-zhou-gong-gong-6.m3u8$LR•IPV4•9『线路9』 -湖州新闻综合,http://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865$LR•IPV4•3『线路1』 -湖州新闻综合,http://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865&fbl=$LR•IPV4•3『线路2』 -湖州新闻综合,https://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865$LR•IPV4•3『线路3』 -湖州文化娱乐,http://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887$LR•IPV4•3『线路1』 -湖州文化娱乐,http://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887&fbl=$LR•IPV4•3『线路2』 +湖州公共,https://stream1.freetv.fun/hu-zhou-gong-gong-9.m3u8$LR•IPV4•9『线路8』 +湖州公共,http://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e$LR•IPV4•9『线路9』 +湖州新闻综合,http://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865&fbl=$LR•IPV4•3『线路1』 +湖州新闻综合,https://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865$LR•IPV4•3『线路2』 +湖州新闻综合,http://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865$LR•IPV4•3『线路3』 +湖州文化娱乐,http://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887&fbl=$LR•IPV4•3『线路1』 +湖州文化娱乐,http://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887$LR•IPV4•3『线路2』 湖州文化娱乐,https://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887$LR•IPV4•3『线路3』 舟山新闻综合,http://play-sh13.quklive.com/live/1699001836208185.m3u8?auth_key=2027429324-c77bb6a7063c4cdea57f09ca22f9ef12-0-39c19a21f73b823db2150ea45b147eb2$LR•IPV4 舟山公共,http://play-sh13.quklive.com/live/1699002430299200.m3u8?auth_key=2027429366-f4515e585a0347f780a01c73ae293945-0-b3699e931cf04290680745e989c63d86$LR•IPV4 -浙江留学,http://ali-vl.cztv.com/channels/lantian/channel009/360p.m3u8$LR•IPV4•2『线路1』 -浙江留学,https://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8$LR•IPV4•2『线路2』 -浙江数码时代,http://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8$LR•IPV4•3『线路1』 +浙江留学,https://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8$LR•IPV4•2『线路1』 +浙江留学,http://ali-vl.cztv.com/channels/lantian/channel009/360p.m3u8$LR•IPV4•2『线路2』 +浙江数码时代,http://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8?zzhed$LR•IPV4•3『线路1』 浙江数码时代,https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8\r\n$LR•IPV4•3『线路2』 -浙江数码时代,http://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8?zzhed$LR•IPV4•3『线路3』 -浙江公共新闻,http://ali-m-l.cztv.com/channels/lantian/channel07/1080p.m3u8$LR•IPV4•6『线路1』 -浙江公共新闻,https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-1.ctv$LR•IPV4•6『线路2』 +浙江数码时代,http://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8$LR•IPV4•3『线路3』 +浙江公共新闻,https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-1.ctv$LR•IPV4•6『线路1』 +浙江公共新闻,https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-2.ctv$LR•IPV4•6『线路2』 浙江公共新闻,https://t.freetv.fun/live/zhe-jiang-gong-gong-xin-wen.m3u8$LR•IPV4•6『线路3』 -浙江公共新闻,https://t.freetv.fun/live/zhe-jiang-gong-gong-xin-wen-1.m3u8$LR•IPV4•6『线路4』 -浙江公共新闻,https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-2.ctv$LR•IPV4•6『线路5』 -浙江公共新闻,https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-1.m3u8$LR•IPV4•6『线路6』 +浙江公共新闻,https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-1.m3u8$LR•IPV4•6『线路4』 +浙江公共新闻,http://ali-m-l.cztv.com/channels/lantian/channel07/1080p.m3u8$LR•IPV4•6『线路5』 +浙江公共新闻,https://t.freetv.fun/live/zhe-jiang-gong-gong-xin-wen-1.m3u8$LR•IPV4•6『线路6』 浙江青田,http://play-sh13.quklive.com/live/1692755062081192.m3u8?auth_key=2028414252-b15176e05a684b589d12314dfabf6225-0-d175afe86fbea31e2eb167a6dd06cd4f$LR•IPV4 -浙江遂昌,http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8$LR•IPV4•3『线路1』 +浙江遂昌,http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•3『线路1』 浙江遂昌,http://play-sh13.quklive.com/live/1708426592499070.m3u8?auth_key=2028414342-e92bda8423ad478c987a8b7ae82abe0e-0-c616f7fabb9675e1ed1d84d9edae7e07$LR•IPV4•3『线路2』 -浙江遂昌,http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•3『线路3』 +浙江遂昌,http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8$LR•IPV4•3『线路3』 诸暨新闻综合,http://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8?zzhed$LR•IPV4•2『线路1』 诸暨新闻综合,https://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8$LR•IPV4•2『线路2』 -龙游生活娱乐,https://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8$LR•IPV4•3『线路1』 -龙游生活娱乐,http://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8?zzhed$LR•IPV4•3『线路2』 -龙游生活娱乐,http://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8$LR•IPV4•3『线路3』 +龙游生活娱乐,http://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8$LR•IPV4•3『线路1』 +龙游生活娱乐,https://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8$LR•IPV4•3『线路2』 +龙游生活娱乐,http://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8?zzhed$LR•IPV4•3『线路3』 龙游新闻综合,https://l.cztvcloud.com/channels/lantian/SXlongyou1/720p.m3u8$LR•IPV4•5『线路1』 -龙游新闻综合,http://play-sh13.quklive.com/live/1703570877483349.m3u8?auth_key=2028414694-515206b2ec504fa3bc90bb1ec3b0c48e-0-eeeeb3d5a8f8e5415142bf430b916d79$LR•IPV4•5『线路2』 -龙游新闻综合,http://l.cztvcloud.com/channels/lantian/SXlongyou1/720p.m3u8?zzhed$LR•IPV4•5『线路3』 -龙游新闻综合,http://l.cztvcloud.com/channels/lantian/SXlongyou1/720p.m3u8$LR•IPV4•5『线路4』 -龙游新闻综合,http://l.cztvcloud.com/channels/lantian/SXlongyou1/720p.m3u8?$LR•IPV4•5『线路5』 +龙游新闻综合,http://l.cztvcloud.com/channels/lantian/SXlongyou1/720p.m3u8?zzhed$LR•IPV4•5『线路2』 +龙游新闻综合,http://play-sh13.quklive.com/live/1703570877483349.m3u8?auth_key=2028414694-515206b2ec504fa3bc90bb1ec3b0c48e-0-eeeeb3d5a8f8e5415142bf430b916d79$LR•IPV4•5『线路3』 +龙游新闻综合,http://l.cztvcloud.com/channels/lantian/SXlongyou1/720p.m3u8?$LR•IPV4•5『线路4』 +龙游新闻综合,http://l.cztvcloud.com/channels/lantian/SXlongyou1/720p.m3u8$LR•IPV4•5『线路5』 龙泉新闻综合,http://l.cztvcloud.com/channels/lantian/SXlongquan1/720p.m3u8$LR•IPV4•3『线路1』 龙泉新闻综合,http://l.cztvcloud.com/channels/lantian/SXlongquan1/720p.m3u8?zzhed"$LR•IPV4•3『线路2』 龙泉新闻综合,http://l.cztvcloud.com/channels/lantian/SXlongquan1/720p.m3u8?zzhed?$LR•IPV4•3『线路3』 青田电视台,http://l.cztvcloud.com/channels/lantian/SXqingtian1/720p.m3u8$LR•IPV4 鄞州二套,http://pili-publish.yzxw.newaircloud.com/newaircloud-yzxw/yzxw_20190925090936.m3u8?zzhed$LR•IPV4 鄞州一套,http://pili-publish.yzxw.newaircloud.com/newaircloud-yzxw/yzxw_20190925090843.m3u8?zzhed$LR•IPV4 -遂昌综合,http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?zzhed$LR•IPV4•2『线路1』 -遂昌综合,http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8zzhed$LR•IPV4•2『线路2』 +遂昌综合,http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8zzhed$LR•IPV4•2『线路1』 +遂昌综合,http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?zzhed$LR•IPV4•2『线路2』 象山综合,http://play-sh13.quklive.com/live/1702360350551252.m3u8?auth_key=2037107484-800189c57a5a44d3b823b60cf84f6756-0-a6f6828a62d5c167cff5e68735fa0d39$LR•IPV4•3『线路1』 象山综合,http://l.cztvcloud.com/channels/lantian/SXxiangshan1/720p.m3u8$LR•IPV4•3『线路2』 象山综合,http://l.cztvcloud.com/channels/lantian/SXxiangshan1/720p.m3u8?zzhed$LR•IPV4•3『线路3』 -衢江新闻综合,http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8?zzhed$LR•IPV4•6『线路1』 -衢江新闻综合,https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-2.m3u8$LR•IPV4•6『线路2』 -衢江新闻综合,https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-3.m3u8$LR•IPV4•6『线路3』 -衢江新闻综合,https://t.freetv.fun/live/qu-jiang-xin-wen-zong-he.m3u8$LR•IPV4•6『线路4』 -衢江新闻综合,https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-1.m3u8$LR•IPV4•6『线路5』 -衢江新闻综合,https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-1.ctv$LR•IPV4•6『线路6』 +衢江新闻综合,https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-1.m3u8$LR•IPV4•6『线路1』 +衢江新闻综合,https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-3.m3u8$LR•IPV4•6『线路2』 +衢江新闻综合,https://t.freetv.fun/live/qu-jiang-xin-wen-zong-he.m3u8$LR•IPV4•6『线路3』 +衢江新闻综合,https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-2.m3u8$LR•IPV4•6『线路4』 +衢江新闻综合,https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-1.ctv$LR•IPV4•6『线路5』 +衢江新闻综合,http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8?zzhed$LR•IPV4•6『线路6』 萧山生活,https://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8$LR•IPV4•3『线路1』 -萧山生活,http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8?zzhed$LR•IPV4•3『线路2』 -萧山生活,http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8?zzhed?$LR•IPV4•3『线路3』 +萧山生活,http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8?zzhed?$LR•IPV4•3『线路2』 +萧山生活,http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8?zzhed$LR•IPV4•3『线路3』 萧山新闻综合,https://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8$LR•IPV4•17『线路1』 -萧山新闻综合,https://t.freetv.fun/live/xiao-shan-xin-wen-zong-he-1.m3u8$LR•IPV4•17『线路2』 -萧山新闻综合,http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•17『线路3』 -萧山新闻综合,https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-6.m3u8$LR•IPV4•17『线路4』 -萧山新闻综合,https://t.freetv.fun/live/xiao-shan-xin-wen-zong-he-2.m3u8$LR•IPV4•17『线路5』 -萧山新闻综合,https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-3.m3u8$LR•IPV4•17『线路6』 -萧山新闻综合,https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-8.m3u8$LR•IPV4•17『线路7』 -萧山新闻综合,https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-7.m3u8$LR•IPV4•17『线路8』 -萧山新闻综合,https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-9.m3u8$LR•IPV4•17『线路9』 -萧山新闻综合,https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-1.m3u8$LR•IPV4•17『线路10』 -萧山新闻综合,http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?zzhed$LR•IPV4•17『线路11』 -萧山新闻综合,https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-2.m3u8$LR•IPV4•17『线路12』 -萧山新闻综合,https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-4.m3u8$LR•IPV4•17『线路13』 +萧山新闻综合,http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•17『线路2』 +萧山新闻综合,https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-1.m3u8$LR•IPV4•17『线路3』 +萧山新闻综合,https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-2.m3u8$LR•IPV4•17『线路4』 +萧山新闻综合,https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-4.m3u8$LR•IPV4•17『线路5』 +萧山新闻综合,https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-9.m3u8$LR•IPV4•17『线路6』 +萧山新闻综合,https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-6.m3u8$LR•IPV4•17『线路7』 +萧山新闻综合,https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-3.m3u8$LR•IPV4•17『线路8』 +萧山新闻综合,https://t.freetv.fun/live/xiao-shan-xin-wen-zong-he-2.m3u8$LR•IPV4•17『线路9』 +萧山新闻综合,https://t.freetv.fun/live/xiao-shan-xin-wen-zong-he-1.m3u8$LR•IPV4•17『线路10』 +萧山新闻综合,https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-8.m3u8$LR•IPV4•17『线路11』 +萧山新闻综合,https://stream1.freetv.fun/xiao-shan-xin-wen-zong-he-7.m3u8$LR•IPV4•17『线路12』 +萧山新闻综合,http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?zzhed$LR•IPV4•17『线路13』 萧山新闻综合,http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?zzhed?$LR•IPV4•17『线路14』 -萧山新闻综合,http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8$LR•IPV4•17『线路15』 -萧山新闻综合,http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?$LR•IPV4•17『线路16』 -萧山新闻综合,http://l.cztvcloud.com/channels/lantian/SXxiaoshan3/720p.m3u8$LR•IPV4•17『线路17』 -苍南新闻综合,https://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8$LR•IPV4•9『线路1』 -苍南新闻综合,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-7.m3u8$LR•IPV4•9『线路2』 -苍南新闻综合,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-4.ctv$LR•IPV4•9『线路3』 -苍南新闻综合,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路4』 -苍南新闻综合,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-5.m3u8$LR•IPV4•9『线路5』 -苍南新闻综合,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路6』 -苍南新闻综合,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-3.m3u8$LR•IPV4•9『线路7』 -苍南新闻综合,http://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8?zzhed$LR•IPV4•9『线路8』 -苍南新闻综合,https://t.freetv.fun/live/cang-nan-xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路9』 -缙云综合,http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed$LR•IPV4•3『线路1』 -缙云综合,http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed?$LR•IPV4•3『线路2』 +萧山新闻综合,http://l.cztvcloud.com/channels/lantian/SXxiaoshan3/720p.m3u8$LR•IPV4•17『线路15』 +萧山新闻综合,http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8$LR•IPV4•17『线路16』 +萧山新闻综合,http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?$LR•IPV4•17『线路17』 +苍南新闻综合,https://t.freetv.fun/live/cang-nan-xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路1』 +苍南新闻综合,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-3.m3u8$LR•IPV4•9『线路2』 +苍南新闻综合,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路3』 +苍南新闻综合,https://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8$LR•IPV4•9『线路4』 +苍南新闻综合,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-7.m3u8$LR•IPV4•9『线路5』 +苍南新闻综合,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-4.ctv$LR•IPV4•9『线路6』 +苍南新闻综合,http://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8?zzhed$LR•IPV4•9『线路7』 +苍南新闻综合,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-5.m3u8$LR•IPV4•9『线路8』 +苍南新闻综合,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路9』 +缙云综合,http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed?$LR•IPV4•3『线路1』 +缙云综合,http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed$LR•IPV4•3『线路2』 缙云综合,http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed"$LR•IPV4•3『线路3』 -缙云新闻综合,http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8$LR•IPV4•2『线路1』 -缙云新闻综合,http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?fbl=$LR•IPV4•2『线路2』 +缙云新闻综合,http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?fbl=$LR•IPV4•2『线路1』 +缙云新闻综合,http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8$LR•IPV4•2『线路2』 绍兴电视台公共,http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•2『线路1』 绍兴电视台公共,http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8?zzhed$LR•IPV4•2『线路2』 -绍兴新闻综合,http://live.shaoxing.com.cn/video/s10001-sxhb/index.m3u8?zzhed$LR•IPV4•9『线路1』 -绍兴新闻综合,https://t.freetv.fun/live/shao-xing-xin-wen-zong-he-3-1.m3u8$LR•IPV4•9『线路2』 -绍兴新闻综合,https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-4.m3u8$LR•IPV4•9『线路3』 -绍兴新闻综合,https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-3.m3u8$LR•IPV4•9『线路4』 -绍兴新闻综合,https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路5』 -绍兴新闻综合,http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8$LR•IPV4•9『线路6』 -绍兴新闻综合,http://live.shaoxing.com.cn/video/s10001-sxhb/index.m3u8$LR•IPV4•9『线路7』 -绍兴新闻综合,https://t.freetv.fun/live/shao-xing-xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路8』 -绍兴新闻综合,http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8?zzhed$LR•IPV4•9『线路9』 -绍兴文化影院,https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-3.m3u8$LR•IPV4•6『线路1』 -绍兴文化影院,http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8?zzhed$LR•IPV4•6『线路2』 -绍兴文化影院,https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-4.m3u8$LR•IPV4•6『线路3』 -绍兴文化影院,https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-1.m3u8$LR•IPV4•6『线路4』 -绍兴文化影院,https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-2.m3u8$LR•IPV4•6『线路5』 -绍兴文化影院,https://t.freetv.fun/live/shao-xing-wen-hua-ying-yuan-2.m3u8$LR•IPV4•6『线路6』 +绍兴新闻综合,https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-3.m3u8$LR•IPV4•9『线路1』 +绍兴新闻综合,http://live.shaoxing.com.cn/video/s10001-sxhb/index.m3u8$LR•IPV4•9『线路2』 +绍兴新闻综合,https://t.freetv.fun/live/shao-xing-xin-wen-zong-he-3-1.m3u8$LR•IPV4•9『线路3』 +绍兴新闻综合,http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8?zzhed$LR•IPV4•9『线路4』 +绍兴新闻综合,http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8$LR•IPV4•9『线路5』 +绍兴新闻综合,https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-4.m3u8$LR•IPV4•9『线路6』 +绍兴新闻综合,https://t.freetv.fun/live/shao-xing-xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路7』 +绍兴新闻综合,https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路8』 +绍兴新闻综合,http://live.shaoxing.com.cn/video/s10001-sxhb/index.m3u8?zzhed$LR•IPV4•9『线路9』 +绍兴文化影院,http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8?zzhed$LR•IPV4•6『线路1』 +绍兴文化影院,https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-1.m3u8$LR•IPV4•6『线路2』 +绍兴文化影院,https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-3.m3u8$LR•IPV4•6『线路3』 +绍兴文化影院,https://t.freetv.fun/live/shao-xing-wen-hua-ying-yuan-2.m3u8$LR•IPV4•6『线路4』 +绍兴文化影院,https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-4.m3u8$LR•IPV4•6『线路5』 +绍兴文化影院,https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-2.m3u8$LR•IPV4•6『线路6』 绍兴文化影视,http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8$LR•IPV4•3『线路1』 -绍兴文化影视,https://stream1.freetv.fun/shao-xing-wen-hua-ying-shi-1.m3u8$LR•IPV4•3『线路2』 -绍兴文化影视,https://t.freetv.fun/live/shao-xing-wen-hua-ying-shi-1.m3u8$LR•IPV4•3『线路3』 -绍兴公共,http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8$LR•IPV4•7『线路1』 -绍兴公共,https://stream1.freetv.fun/shao-xing-gong-gong-2.m3u8$LR•IPV4•7『线路2』 -绍兴公共,https://stream1.freetv.fun/shao-xing-gong-gong-7.m3u8$LR•IPV4•7『线路3』 +绍兴文化影视,https://t.freetv.fun/live/shao-xing-wen-hua-ying-shi-1.m3u8$LR•IPV4•3『线路2』 +绍兴文化影视,https://stream1.freetv.fun/shao-xing-wen-hua-ying-shi-1.m3u8$LR•IPV4•3『线路3』 +绍兴公共,https://stream1.freetv.fun/shao-xing-gong-gong-2.m3u8$LR•IPV4•7『线路1』 +绍兴公共,http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8$LR•IPV4•7『线路2』 +绍兴公共,https://stream1.freetv.fun/shao-xing-gong-gong-1.m3u8$LR•IPV4•7『线路3』 绍兴公共,https://stream1.freetv.fun/shao-xing-gong-gong-8.m3u8$LR•IPV4•7『线路4』 绍兴公共,https://stream1.freetv.fun/shao-xing-gong-gong-3.m3u8$LR•IPV4•7『线路5』 -绍兴公共,https://stream1.freetv.fun/shao-xing-gong-gong-1.m3u8$LR•IPV4•7『线路6』 -绍兴公共,http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8?$LR•IPV4•7『线路7』 +绍兴公共,http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8?$LR•IPV4•7『线路6』 +绍兴公共,https://stream1.freetv.fun/shao-xing-gong-gong-7.m3u8$LR•IPV4•7『线路7』 海盐新闻,http://lived.dmqhyadmin.com/ds/sd/live.m3u8?zzhed$LR•IPV4 -海宁新闻综合,https://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8$LR•IPV4•3『线路1』 -海宁新闻综合,http://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8$LR•IPV4•3『线路2』 -海宁新闻综合,https://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8?zbid=293304&tpid=1708007815$LR•IPV4•3『线路3』 +海宁新闻综合,http://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8$LR•IPV4•3『线路1』 +海宁新闻综合,https://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8?zbid=293304&tpid=1708007815$LR•IPV4•3『线路2』 +海宁新闻综合,https://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8$LR•IPV4•3『线路3』 洞头综合,http://l.cztvcloud.com/channels/lantian/SXdongtou1/720p.m3u8$LR•IPV4•3『线路1』 洞头综合,http://l.cztvcloud.com/channels/lantian/SXdongtou1/720p.m3u8?zzhed?$LR•IPV4•3『线路2』 洞头综合,http://l.cztvcloud.com/channels/lantian/SXdongtou1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•3『线路3』 -永嘉新闻综合,http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8$LR•IPV4•10『线路1』 -永嘉新闻综合,http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed$LR•IPV4•10『线路2』 -永嘉新闻综合,https://t.freetv.fun/live/yong-jia-xin-wen-zong-he.m3u8$LR•IPV4•10『线路3』 -永嘉新闻综合,https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路4』 -永嘉新闻综合,https://t.freetv.fun/live/yong-jia-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路5』 -永嘉新闻综合,https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路6』 -永嘉新闻综合,https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-3.ctv$LR•IPV4•10『线路7』 -永嘉新闻综合,https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-4.m3u8$LR•IPV4•10『线路8』 -永嘉新闻综合,http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed"$LR•IPV4•10『线路9』 -永嘉新闻综合,http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed"$LR•IPV4•10『线路10』 +永嘉新闻综合,http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed"$LR•IPV4•10『线路1』 +永嘉新闻综合,https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-3.ctv$LR•IPV4•10『线路2』 +永嘉新闻综合,http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed"$LR•IPV4•10『线路3』 +永嘉新闻综合,http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8$LR•IPV4•10『线路4』 +永嘉新闻综合,https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路5』 +永嘉新闻综合,http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed$LR•IPV4•10『线路6』 +永嘉新闻综合,https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-4.m3u8$LR•IPV4•10『线路7』 +永嘉新闻综合,https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路8』 +永嘉新闻综合,https://t.freetv.fun/live/yong-jia-xin-wen-zong-he.m3u8$LR•IPV4•10『线路9』 +永嘉新闻综合,https://t.freetv.fun/live/yong-jia-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路10』 武义新闻综合,http://l.cztvcloud.com/channels/lantian/SXwuyi1/720p.m3u8$LR•IPV4•4『线路1』 武义新闻综合,http://l.cztvcloud.com/channels/lantian/SXwuyi1/720p.m3u8?zzhed$LR•IPV4•4『线路2』 武义新闻综合,http://l.cztvcloud.com/channels/lantian/SXwuyi1/720p.m3u8?zzhed\r\n$LR•IPV4•4『线路3』 武义新闻综合,https://stream1.freetv.fun/wu-yi-xin-wen-zong-he-3.m3u8$LR•IPV4•4『线路4』 松阳综合,http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8$LR•IPV4•6『线路1』 松阳综合,http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?fbl=$LR•IPV4•6『线路2』 -松阳综合,http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed$LR•IPV4•6『线路3』 +松阳综合,http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed?$LR•IPV4•6『线路3』 松阳综合,http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8zzhed$LR•IPV4•6『线路4』 松阳综合,http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路5』 -松阳综合,http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed?$LR•IPV4•6『线路6』 +松阳综合,http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed$LR•IPV4•6『线路6』 普陀新闻综合,http://l.cztvcloud.com/channels/lantian/SXputuo1/720p.m3u8$LR•IPV4•3『线路1』 普陀新闻综合,http://l.cztvcloud.com/channels/lantian/SXputuo1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•3『线路2』 普陀新闻综合,http://l.cztvcloud.com/channels/lantian/SXputuo1/720p.m3u8?zzhed$LR•IPV4•3『线路3』 新昌生活,http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8$LR•IPV4 -新昌新闻综合,https://l.cztvcloud.com/channels/lantian/SXxinchang1/720p.m3u8$LR•IPV4•7『线路1』 -新昌新闻综合,https://t.freetv.fun/live/xin-chang-xin-wen-zong-he.m3u8$LR•IPV4•7『线路2』 -新昌新闻综合,https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-5.ctv$LR•IPV4•7『线路3』 -新昌新闻综合,https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-1.m3u8$LR•IPV4•7『线路4』 -新昌新闻综合,http://l.cztvcloud.com/channels/lantian/SXxinchang1/720p.m3u8$LR•IPV4•7『线路5』 -新昌新闻综合,https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-4.m3u8$LR•IPV4•7『线路6』 -新昌新闻综合,https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-3.m3u8$LR•IPV4•7『线路7』 -文成综合,http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8?zzhed$LR•IPV4•4『线路1』 -文成综合,http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8$LR•IPV4•4『线路2』 +新昌新闻综合,https://t.freetv.fun/live/xin-chang-xin-wen-zong-he.m3u8$LR•IPV4•7『线路1』 +新昌新闻综合,https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-5.ctv$LR•IPV4•7『线路2』 +新昌新闻综合,https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-4.m3u8$LR•IPV4•7『线路3』 +新昌新闻综合,http://l.cztvcloud.com/channels/lantian/SXxinchang1/720p.m3u8$LR•IPV4•7『线路4』 +新昌新闻综合,https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-3.m3u8$LR•IPV4•7『线路5』 +新昌新闻综合,https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-1.m3u8$LR•IPV4•7『线路6』 +新昌新闻综合,https://l.cztvcloud.com/channels/lantian/SXxinchang1/720p.m3u8$LR•IPV4•7『线路7』 +文成综合,http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8$LR•IPV4•4『线路1』 +文成综合,http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8?zzhed$LR•IPV4•4『线路2』 文成综合,http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8?zzhed?$LR•IPV4•4『线路3』 文成综合,http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8?fbl=$LR•IPV4•4『线路4』 -开化新闻综合,http://l.cztvcloud.com/channels/lantian/SXkaihua1/720p.m3u8?zzhed$LR•IPV4•3『线路1』 -开化新闻综合,https://stream1.freetv.fun/kai-hua-xin-wen-zong-he-1.m3u8$LR•IPV4•3『线路2』 -开化新闻综合,https://stream1.freetv.fun/kai-hua-xin-wen-zong-he-2.ctv$LR•IPV4•3『线路3』 +开化新闻综合,https://stream1.freetv.fun/kai-hua-xin-wen-zong-he-2.ctv$LR•IPV4•3『线路1』 +开化新闻综合,http://l.cztvcloud.com/channels/lantian/SXkaihua1/720p.m3u8?zzhed$LR•IPV4•3『线路2』 +开化新闻综合,https://stream1.freetv.fun/kai-hua-xin-wen-zong-he-1.m3u8$LR•IPV4•3『线路3』 开化国家公园,http://l.cztvcloud.com/channels/lantian/SXkaihua2/720p.m3u8$LR•IPV4•3『线路1』 开化国家公园,http://l.cztvcloud.com/channels/lantian/SXkaihua2/720p.m3u8?zzhed$LR•IPV4•3『线路2』 开化国家公园,http://l.cztvcloud.com/channels/lantian/SXkaihua2/720p.m3u8zzhed$LR•IPV4•3『线路3』 -庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8$LR•IPV4•6『线路1』 -庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed$LR•IPV4•6『线路2』 -庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed?$LR•IPV4•6『线路3』 -庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路4』 -庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?fbl=$LR•IPV4•6『线路5』 -庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed[浙江]洞头综合频道$LR•IPV4•6『线路6』 -平湖新闻综合,http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?zzhed$LR•IPV4•9『线路1』 -平湖新闻综合,https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路2』 -平湖新闻综合,https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-5.m3u8$LR•IPV4•9『线路3』 -平湖新闻综合,http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8$LR•IPV4•9『线路4』 +庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路1』 +庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed[浙江]洞头综合频道$LR•IPV4•6『线路2』 +庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?fbl=$LR•IPV4•6『线路3』 +庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed$LR•IPV4•6『线路4』 +庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8$LR•IPV4•6『线路5』 +庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed?$LR•IPV4•6『线路6』 +平湖新闻综合,http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8$LR•IPV4•9『线路1』 +平湖新闻综合,https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-5.m3u8$LR•IPV4•9『线路2』 +平湖新闻综合,https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路3』 +平湖新闻综合,http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•9『线路4』 平湖新闻综合,https://t.freetv.fun/live/ping-hu-xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路5』 -平湖新闻综合,http://play-sh13.quklive.com/live/1690167908295069.m3u8?auth_key=2027466211-f190eec410c24473825cbe1d8541e545-0-f21db57ae1b534802c1cf7be86cc3aef$LR•IPV4•9『线路6』 -平湖新闻综合,http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•9『线路7』 -平湖新闻综合,https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路8』 +平湖新闻综合,https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路6』 +平湖新闻综合,http://play-sh13.quklive.com/live/1690167908295069.m3u8?auth_key=2027466211-f190eec410c24473825cbe1d8541e545-0-f21db57ae1b534802c1cf7be86cc3aef$LR•IPV4•9『线路7』 +平湖新闻综合,http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?zzhed$LR•IPV4•9『线路8』 平湖新闻综合,https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-3.m3u8$LR•IPV4•9『线路9』 -嵊泗综合,http://l.cztvcloud.com/channels/lantian/SXshengsi1/720p.m3u8$LR•IPV4•8『线路1』 -嵊泗综合,https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-1.m3u8$LR•IPV4•8『线路2』 -嵊泗综合,https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-3.m3u8$LR•IPV4•8『线路3』 -嵊泗综合,https://play-sh11.quklive.com/live/1626935015913208.m3u8$LR•IPV4•8『线路4』 -嵊泗综合,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8$LR•IPV4•8『线路5』 -嵊泗综合,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed$LR•IPV4•8『线路6』 -嵊泗综合,https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-2.m3u8$LR•IPV4•8『线路7』 -嵊泗综合,https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-2.ctv$LR•IPV4•8『线路8』 -兰溪新闻综合,http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8?zzhed$LR•IPV4•6『线路1』 -兰溪新闻综合,https://stream1.freetv.fun/lan-xi-xin-wen-zong-he-3.m3u8$LR•IPV4•6『线路2』 -兰溪新闻综合,https://t.freetv.fun/live/lan-xi-xin-wen-zong-he.m3u8$LR•IPV4•6『线路3』 -兰溪新闻综合,http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8$LR•IPV4•6『线路4』 -兰溪新闻综合,https://t.freetv.fun/live/lan-xi-xin-wen-zong-he-1.m3u8$LR•IPV4•6『线路5』 -兰溪新闻综合,https://stream1.freetv.fun/lan-xi-xin-wen-zong-he-1.m3u8$LR•IPV4•6『线路6』 +嵊泗综合,https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-3.m3u8$LR•IPV4•8『线路1』 +嵊泗综合,http://l.cztvcloud.com/channels/lantian/SXshengsi1/720p.m3u8$LR•IPV4•8『线路2』 +嵊泗综合,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8$LR•IPV4•8『线路3』 +嵊泗综合,https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-2.ctv$LR•IPV4•8『线路4』 +嵊泗综合,https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-2.m3u8$LR•IPV4•8『线路5』 +嵊泗综合,https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-1.m3u8$LR•IPV4•8『线路6』 +嵊泗综合,https://play-sh11.quklive.com/live/1626935015913208.m3u8$LR•IPV4•8『线路7』 +嵊泗综合,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed$LR•IPV4•8『线路8』 +兰溪新闻综合,https://stream1.freetv.fun/lan-xi-xin-wen-zong-he-3.m3u8$LR•IPV4•6『线路1』 +兰溪新闻综合,http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8$LR•IPV4•6『线路2』 +兰溪新闻综合,https://t.freetv.fun/live/lan-xi-xin-wen-zong-he-1.m3u8$LR•IPV4•6『线路3』 +兰溪新闻综合,https://stream1.freetv.fun/lan-xi-xin-wen-zong-he-1.m3u8$LR•IPV4•6『线路4』 +兰溪新闻综合,http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8?zzhed$LR•IPV4•6『线路5』 +兰溪新闻综合,https://t.freetv.fun/live/lan-xi-xin-wen-zong-he.m3u8$LR•IPV4•6『线路6』 余杭综合,http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8$LR•IPV4•3『线路1』 余杭综合,http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8?zzhed$LR•IPV4•3『线路2』 余杭综合,http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•3『线路3』 余杭未来E,http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8$LR•IPV4•2『线路1』 余杭未来E,http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8?zzhed$LR•IPV4•2『线路2』 -余姚综合,https://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8$LR•IPV4•6『线路1』 -余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8$LR•IPV4•6『线路2』 -余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?zzhed$LR•IPV4•6『线路3』 -余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?$LR•IPV4•6『线路4』 -余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•6『线路5』 -余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路6』 +余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?zzhed$LR•IPV4•6『线路1』 +余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•6『线路2』 +余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?$LR•IPV4•6『线路3』 +余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路4』 +余姚综合,https://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8$LR•IPV4•6『线路5』 +余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8$LR•IPV4•6『线路6』 余姚姚江文化,https://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8$LR•IPV4•4『线路1』 -余姚姚江文化,http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8zzhed$LR•IPV4•4『线路2』 +余姚姚江文化,http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8?zzhed$LR•IPV4•4『线路2』 余姚姚江文化,https://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8$LR•IPV4•4『线路3』 -余姚姚江文化,http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8?zzhed$LR•IPV4•4『线路4』 +余姚姚江文化,http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8zzhed$LR•IPV4•4『线路4』 云和新闻综合,http://l.cztvcloud.com/channels/lantian/SXyunhe1/720p.m3u8$LR•IPV4•2『线路1』 云和新闻综合,http://l.cztvcloud.com/channels/lantian/SXyunhe1/720p.m3u8?zzhed$LR•IPV4•2『线路2』 义乌新闻综合,https://44911.hlsplay.aodianyun.com/tv_radio_44911/tv_channel_1796.m3u8?auth_key=4830573978-0-0-92824c2c03f95906a3c49a4aa28f1709&extra_key=Yc1XsmxOKy2UBoPM4Wy5vCPsEYqnj06taCR2SRB2Xrg2w28NPilH03KdIbbM5wgSql-VBohSnoO9AOKl94q2t2DWMftz-XB-2qUX-UjXcS80StcSZahBFjrKLivXaRjiY5r2NOMKWMKFbv-S0Bz2G6iEXgCK8yGjtrFHDcPfAQEE0pvXq0Bwy34b7We8zARN&ali_ffmpeg_version=mpengine$LR•IPV4 中国蓝新闻,http://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8$LR•IPV4•2『线路1』 中国蓝新闻,https://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8?$LR•IPV4•2『线路2』 东阳影视生活,http://l.cztvcloud.com/channels/lantian/SXdongyang1/720p.m3u8$LR•IPV4 -上虞新闻综合,http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?zzhed$LR•IPV4•2『线路1』 -上虞新闻综合,http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•2『线路2』 -上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed$LR•IPV4•11『线路1』 -上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8$LR•IPV4•11『线路2』 -上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-5.m3u8$LR•IPV4•11『线路3』 -上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-2.m3u8$LR•IPV4•11『线路4』 -上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-3.m3u8$LR•IPV4•11『线路5』 -上虞新商都,https://t.freetv.fun/live/shang-yu-xin-shang-du.m3u8$LR•IPV4•11『线路6』 -上虞新商都,https://t.freetv.fun/live/shang-yu-xin-shang-du-1.m3u8$LR•IPV4•11『线路7』 -上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed\r\n$LR•IPV4•11『线路8』 -上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-4.m3u8$LR•IPV4•11『线路9』 -上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-1.m3u8$LR•IPV4•11『线路10』 -上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed?$LR•IPV4•11『线路11』 -上虞文化影院,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed$LR•IPV4•9『线路1』 -上虞文化影院,https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-4.ctv$LR•IPV4•9『线路2』 -上虞文化影院,https://t.freetv.fun/live/shang-yu-wen-hua-ying-yuan.m3u8$LR•IPV4•9『线路3』 -上虞文化影院,https://t.freetv.fun/live/shang-yu-wen-hua-ying-yuan-2.m3u8zzhed$LR•IPV4•9『线路4』 -上虞文化影院,https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-3.ctv$LR•IPV4•9『线路5』 -上虞文化影院,https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-2.ctv$LR•IPV4•9『线路6』 -上虞文化影院,https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-1.m3u8$LR•IPV4•9『线路7』 -上虞文化影院,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8zzhed$LR•IPV4•9『线路8』 -上虞文化影院,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8zzhed$LR•IPV4•9『线路9』 -民生休闲,http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8$LR•IPV4•2『线路1』 -民生休闲,http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8?zzhed$LR•IPV4•2『线路2』 +上虞新闻综合,http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•2『线路1』 +上虞新闻综合,http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?zzhed$LR•IPV4•2『线路2』 +上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-5.m3u8$LR•IPV4•11『线路1』 +上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed$LR•IPV4•11『线路2』 +上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-2.m3u8$LR•IPV4•11『线路3』 +上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed\r\n$LR•IPV4•11『线路4』 +上虞新商都,https://t.freetv.fun/live/shang-yu-xin-shang-du-1.m3u8$LR•IPV4•11『线路5』 +上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-4.m3u8$LR•IPV4•11『线路6』 +上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-1.m3u8$LR•IPV4•11『线路7』 +上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-3.m3u8$LR•IPV4•11『线路8』 +上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed?$LR•IPV4•11『线路9』 +上虞新商都,https://t.freetv.fun/live/shang-yu-xin-shang-du.m3u8$LR•IPV4•11『线路10』 +上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8$LR•IPV4•11『线路11』 +上虞文化影院,https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-4.ctv$LR•IPV4•9『线路1』 +上虞文化影院,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed$LR•IPV4•9『线路2』 +上虞文化影院,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8zzhed$LR•IPV4•9『线路3』 +上虞文化影院,https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-2.ctv$LR•IPV4•9『线路4』 +上虞文化影院,https://t.freetv.fun/live/shang-yu-wen-hua-ying-yuan.m3u8$LR•IPV4•9『线路5』 +上虞文化影院,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8zzhed$LR•IPV4•9『线路6』 +上虞文化影院,https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-3.ctv$LR•IPV4•9『线路7』 +上虞文化影院,https://t.freetv.fun/live/shang-yu-wen-hua-ying-yuan-2.m3u8zzhed$LR•IPV4•9『线路8』 +上虞文化影院,https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-1.m3u8$LR•IPV4•9『线路9』 +民生休闲,http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8?zzhed$LR•IPV4•2『线路1』 +民生休闲,http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8$LR•IPV4•2『线路2』 湖南,#genre# -湖南都市,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNDSMPP360.m3u8$LR•IPV4•24『线路1』 -湖南都市,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7510&tk=23a9aca1f79f$LR•IPV4•24『线路2』 -湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-4.m3u8$LR•IPV4•24『线路3』 -湖南都市,http://www.peanutbar.cn:8099/tsfile/live/1002_1.m3u8?key=txiptv$LR•IPV4•24『线路4』 -湖南都市,http://116.128.243.121:85/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路5』 -湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-14.m3u8$LR•IPV4•24『线路6』 -湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-3.m3u8$LR•IPV4•24『线路7』 -湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-15.m3u8$LR•IPV4•24『线路8』 -湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-11.m3u8$LR•IPV4•24『线路9』 -湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-6.m3u8$LR•IPV4•24『线路10』 -湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-1.m3u8$LR•IPV4•24『线路11』 -湖南都市,http://116.128.242.83:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路12』 -湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-13.m3u8$LR•IPV4•24『线路13』 -湖南都市,http://110.53.218.182:9902/tsfile/live/0127_1.m3u8$LR•IPV4•24『线路14』 -湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-7.m3u8$LR•IPV4•24『线路15』 -湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-8.m3u8$LR•IPV4•24『线路16』 -湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-6.ctv$LR•IPV4•24『线路17』 -湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-gao-qing-1.m3u8$LR•IPV4•24『线路18』 -湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-10.m3u8$LR•IPV4•24『线路19』 -湖南都市,http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hnds$LR•IPV4•24『线路20』 +湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-6.ctv$LR•IPV4•24『线路1』 +湖南都市,http://116.128.242.83:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路2』 +湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-11.m3u8$LR•IPV4•24『线路3』 +湖南都市,http://110.53.218.182:9902/tsfile/live/0127_1.m3u8$LR•IPV4•24『线路4』 +湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-15.m3u8$LR•IPV4•24『线路5』 +湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-10.m3u8$LR•IPV4•24『线路6』 +湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-4.m3u8$LR•IPV4•24『线路7』 +湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-1.m3u8$LR•IPV4•24『线路8』 +湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-3.m3u8$LR•IPV4•24『线路9』 +湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-gao-qing-3.m3u8$LR•IPV4•24『线路10』 +湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-14.m3u8$LR•IPV4•24『线路11』 +湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-8.m3u8$LR•IPV4•24『线路12』 +湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-12.ctv$LR•IPV4•24『线路13』 +湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-gao-qing-1.m3u8$LR•IPV4•24『线路14』 +湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-9.m3u8$LR•IPV4•24『线路15』 +湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-7.m3u8$LR•IPV4•24『线路16』 +湖南都市,http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hnds$LR•IPV4•24『线路17』 +湖南都市,http://116.128.243.121:85/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•24『线路18』 +湖南都市,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7510&tk=23a9aca1f79f$LR•IPV4•24『线路19』 +湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-13.m3u8$LR•IPV4•24『线路20』 湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-5.m3u8$LR•IPV4•24『线路21』 -湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-9.m3u8$LR•IPV4•24『线路22』 -湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-12.ctv$LR•IPV4•24『线路23』 -湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-gao-qing-3.m3u8$LR•IPV4•24『线路24』 -湖南经视,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNJSMPP360.m3u8$LR•IPV4•23『线路1』 -湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-gao-qing-2.m3u8$LR•IPV4•23『线路2』 -湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-12.m3u8$LR•IPV4•23『线路3』 -湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-11.m3u8$LR•IPV4•23『线路4』 +湖南都市,http://www.peanutbar.cn:8099/tsfile/live/1002_1.m3u8?key=txiptv$LR•IPV4•24『线路22』 +湖南都市,https://stream1.freetv.fun/hu-nan-du-shi-6.m3u8$LR•IPV4•24『线路23』 +湖南都市,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNDSMPP360.m3u8$LR•IPV4•24『线路24』 +湖南经视,http://116.128.242.83:9901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路1』 +湖南经视,http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hnjs$LR•IPV4•23『线路2』 +湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-10.ctv$LR•IPV4•23『线路3』 +湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-6.m3u8$LR•IPV4•23『线路4』 湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-14.m3u8$LR•IPV4•23『线路5』 -湖南经视,http://116.128.242.83:9901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路6』 -湖南经视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0780&tk=abed47f08529$LR•IPV4•23『线路7』 -湖南经视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0241&tk=23a9aca1f79f$LR•IPV4•23『线路8』 -湖南经视,http://110.53.218.182:9902/tsfile/live/1004_1.m3u8$LR•IPV4•23『线路9』 -湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-2.m3u8$LR•IPV4•23『线路10』 -湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-6.m3u8$LR•IPV4•23『线路11』 -湖南经视,http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hnjs$LR•IPV4•23『线路12』 -湖南经视,http://116.128.243.121:85/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路13』 -湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-10.m3u8$LR•IPV4•23『线路14』 -湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-13.m3u8$LR•IPV4•23『线路15』 -湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-5.m3u8$LR•IPV4•23『线路16』 -湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-9.m3u8$LR•IPV4•23『线路17』 -湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-15.ctv$LR•IPV4•23『线路18』 -湖南经视,http://www.peanutbar.cn:8099/tsfile/live/1006_1.m3u8?key=txiptv$LR•IPV4•23『线路19』 -湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-10.ctv$LR•IPV4•23『线路20』 -湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-4.m3u8$LR•IPV4•23『线路21』 -湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-1.m3u8$LR•IPV4•23『线路22』 -湖南经视,http://116.128.242.83:9901/tsfile/live/0131_1.m3u8$LR•IPV4•23『线路23』 -湖南电视剧,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNDSJMPP360.m3u8$LR•IPV4•22『线路1』 -湖南电视剧,http://175.155.106.72:89/live1/live1.m3u8?zsicd 72.会东新闻$LR•IPV4•22『线路2』 -湖南电视剧,http://php.jdshipin.com:8880/iptv.php?id=hndsj$LR•IPV4•22『线路3』 -湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-15.m3u8$LR•IPV4•22『线路4』 -湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-1.m3u8$LR•IPV4•22『线路5』 -湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-3.m3u8$LR•IPV4•22『线路6』 -湖南电视剧,http://www.peanutbar.cn:8099/tsfile/live/1004_1.m3u8?key=txiptv$LR•IPV4•22『线路7』 -湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-8.m3u8$LR•IPV4•22『线路8』 -湖南电视剧,http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hndsj$LR•IPV4•22『线路9』 -湖南电视剧,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9007&tk=23a9aca1f79f$LR•IPV4•22『线路10』 -湖南电视剧,http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/HNDSJMPP360.m3u8$LR•IPV4•22『线路11』 -湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-5.m3u8$LR•IPV4•22『线路12』 -湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-4.m3u8$LR•IPV4•22『线路13』 -湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-14.ctv$LR•IPV4•22『线路14』 -湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-gao-qing-1.m3u8$LR•IPV4•22『线路15』 -湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-2.m3u8$LR•IPV4•22『线路16』 -湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-12.m3u8$LR•IPV4•22『线路17』 -湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-9.m3u8$LR•IPV4•22『线路18』 -湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-11.m3u8$LR•IPV4•22『线路19』 -湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-7.m3u8$LR•IPV4•22『线路20』 -湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-10.ctv$LR•IPV4•22『线路21』 -湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-6.m3u8$LR•IPV4•22『线路22』 -湖南电影,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNDYMPP360.m3u8$LR•IPV4•23『线路1』 -湖南电影,http://php.jdshipin.com:8880/iptv.php$LR•IPV4•23『线路2』 -湖南电影,http://116.128.242.83:9901/tsfile/live/1009_1.m3u8$LR•IPV4•23『线路3』 -湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-4.m3u8$LR•IPV4•23『线路4』 -湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-2.m3u8$LR•IPV4•23『线路5』 -湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-10.m3u8$LR•IPV4•23『线路6』 -湖南电影,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3631&tk=23a9aca1f79f$LR•IPV4•23『线路7』 -湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-9.m3u8$LR•IPV4•23『线路8』 -湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-8.m3u8$LR•IPV4•23『线路9』 -湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-15.m3u8$LR•IPV4•23『线路10』 -湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-6.m3u8$LR•IPV4•23『线路11』 -湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-5.m3u8$LR•IPV4•23『线路12』 -湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-13.m3u8$LR•IPV4•23『线路13』 -湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-11.m3u8$LR•IPV4•23『线路14』 -湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-14.m3u8$LR•IPV4•23『线路15』 -湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-12.m3u8$LR•IPV4•23『线路16』 -湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-17.ctv$LR•IPV4•23『线路17』 -湖南电影,http://www.peanutbar.cn:8099/tsfile/live/1001_1.m3u8?key=txiptv$LR•IPV4•23『线路18』 -湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-7.m3u8$LR•IPV4•23『线路19』 -湖南电影,http://218.77.84.102:85/tsfile/live/149/2005_1.m3u8?key=txiptv$LR•IPV4•23『线路20』 -湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-3.m3u8$LR•IPV4•23『线路21』 -湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-2.ctv$LR•IPV4•23『线路22』 -湖南电影,http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/HNDYMPP360.m3u8$LR•IPV4•23『线路23』 -湖南爱晚,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNGGMPP360.m3u8$LR•IPV4•6『线路1』 -湖南爱晚,http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hnaw$LR•IPV4•6『线路2』 -湖南爱晚,http://php.jdshipin.com:8880/iptv.php?id=hngg$LR•IPV4•6『线路3』 -湖南爱晚,http://www.peanutbar.cn:8099/tsfile/live/1003_1.m3u8?key=txiptv$LR•IPV4•6『线路4』 -湖南爱晚,http://p2.vzan.com/527645544/149039617847513156/live.m3u8$LR•IPV4•6『线路5』 -湖南爱晚,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7644&tk=23a9aca1f79f$LR•IPV4•6『线路6』 -湖南教育,https://stream1.freetv.fun/hu-nan-jiao-yu-5.m3u8$LR•IPV4•6『线路1』 -湖南教育,https://stream1.freetv.fun/hu-nan-jiao-yu-2.m3u8$LR•IPV4•6『线路2』 -湖南教育,https://stream1.freetv.fun/hu-nan-jiao-yu-6.ctv$LR•IPV4•6『线路3』 -湖南教育,https://stream1.freetv.fun/hu-nan-jiao-yu-4.m3u8$LR•IPV4•6『线路4』 -湖南教育,https://stream1.freetv.fun/hu-nan-jiao-yu-1.m3u8$LR•IPV4•6『线路5』 -湖南教育,http://www.peanutbar.cn:8099/tsfile/live/1008_1.m3u8?key=txiptv$LR•IPV4•6『线路6』 -湖南娱乐,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNYLMPP360.m3u8$LR•IPV4•27『线路1』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-3.m3u8$LR•IPV4•27『线路2』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-16.ctv$LR•IPV4•27『线路3』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-2.m3u8$LR•IPV4•27『线路4』 -湖南娱乐,http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hnyl$LR•IPV4•27『线路5』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-1.m3u8$LR•IPV4•27『线路6』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-10.m3u8$LR•IPV4•27『线路7』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-13.m3u8$LR•IPV4•27『线路8』 -湖南娱乐,http://www.peanutbar.cn:8099/tsfile/live/1000_1.m3u8?key=txiptv$LR•IPV4•27『线路9』 -湖南娱乐,http://116.128.243.121:85/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路10』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-8.m3u8$LR•IPV4•27『线路11』 -湖南娱乐,http://jf.jxx2023.work:40446/tsfile/live/1011_1.m3u8?key=txiptv$LR•IPV4•27『线路12』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-16.m3u8$LR•IPV4•27『线路13』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-5.m3u8$LR•IPV4•27『线路14』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-9.m3u8$LR•IPV4•27『线路15』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-9.ctv$LR•IPV4•27『线路16』 -湖南娱乐,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6594&tk=23a9aca1f79f$LR•IPV4•27『线路17』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-6.m3u8$LR•IPV4•27『线路18』 -湖南娱乐,http://116.128.242.83:9901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路19』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-gao-qing-1.m3u8$LR•IPV4•27『线路20』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-11.m3u8$LR•IPV4•27『线路21』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-14.m3u8$LR•IPV4•27『线路22』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-7.m3u8$LR•IPV4•27『线路23』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-4.m3u8$LR•IPV4•27『线路24』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-gao-qing-3.m3u8$LR•IPV4•27『线路25』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-12.m3u8$LR•IPV4•27『线路26』 -湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-15.m3u8$LR•IPV4•27『线路27』 -湖南国际,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNGJMPP360.m3u8$LR•IPV4•16『线路1』 -湖南国际,http://www.peanutbar.cn:8099/tsfile/live/1007_1.m3u8?key=txiptv$LR•IPV4•16『线路2』 -湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-1.m3u8$LR•IPV4•16『线路3』 -湖南国际,http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/HNGJMPP360.m3u8$LR•IPV4•16『线路4』 -湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-4.ctv$LR•IPV4•16『线路5』 -湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-2.m3u8$LR•IPV4•16『线路6』 -湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-10.m3u8$LR•IPV4•16『线路7』 -湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-13.ctv$LR•IPV4•16『线路8』 -湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-6.m3u8$LR•IPV4•16『线路9』 -湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-2.ctv$LR•IPV4•16『线路10』 -湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-12.m3u8$LR•IPV4•16『线路11』 -湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-3.m3u8$LR•IPV4•16『线路12』 -湖南国际,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1138&tk=23a9aca1f79f$LR•IPV4•16『线路13』 -湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-4.m3u8$LR•IPV4•16『线路14』 -湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-7.m3u8$LR•IPV4•16『线路15』 -湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-9.m3u8$LR•IPV4•16『线路16』 -湖南公共,https://stream1.freetv.fun/hu-nan-gong-gong-3.m3u8$LR•IPV4•12『线路1』 -湖南公共,http://116.128.242.83:9901/tsfile/live/0117_1.m3u8$LR•IPV4•12『线路2』 +湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-12.m3u8$LR•IPV4•23『线路6』 +湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-gao-qing-2.m3u8$LR•IPV4•23『线路7』 +湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-15.ctv$LR•IPV4•23『线路8』 +湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-5.m3u8$LR•IPV4•23『线路9』 +湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-13.m3u8$LR•IPV4•23『线路10』 +湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-4.m3u8$LR•IPV4•23『线路11』 +湖南经视,http://110.53.218.182:9902/tsfile/live/1004_1.m3u8$LR•IPV4•23『线路12』 +湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-10.m3u8$LR•IPV4•23『线路13』 +湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-1.m3u8$LR•IPV4•23『线路14』 +湖南经视,http://www.peanutbar.cn:8099/tsfile/live/1006_1.m3u8?key=txiptv$LR•IPV4•23『线路15』 +湖南经视,http://116.128.242.83:9901/tsfile/live/0131_1.m3u8$LR•IPV4•23『线路16』 +湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-2.m3u8$LR•IPV4•23『线路17』 +湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-9.m3u8$LR•IPV4•23『线路18』 +湖南经视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0780&tk=abed47f08529$LR•IPV4•23『线路19』 +湖南经视,http://116.128.243.121:85/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路20』 +湖南经视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0241&tk=23a9aca1f79f$LR•IPV4•23『线路21』 +湖南经视,https://stream1.freetv.fun/hu-nan-jing-shi-11.m3u8$LR•IPV4•23『线路22』 +湖南经视,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNJSMPP360.m3u8$LR•IPV4•23『线路23』 +湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-14.ctv$LR•IPV4•22『线路1』 +湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-15.m3u8$LR•IPV4•22『线路2』 +湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-11.m3u8$LR•IPV4•22『线路3』 +湖南电视剧,http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hndsj$LR•IPV4•22『线路4』 +湖南电视剧,http://www.peanutbar.cn:8099/tsfile/live/1004_1.m3u8?key=txiptv$LR•IPV4•22『线路5』 +湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-10.ctv$LR•IPV4•22『线路6』 +湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-8.m3u8$LR•IPV4•22『线路7』 +湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-7.m3u8$LR•IPV4•22『线路8』 +湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-3.m3u8$LR•IPV4•22『线路9』 +湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-4.m3u8$LR•IPV4•22『线路10』 +湖南电视剧,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9007&tk=23a9aca1f79f$LR•IPV4•22『线路11』 +湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-9.m3u8$LR•IPV4•22『线路12』 +湖南电视剧,http://175.155.106.72:89/live1/live1.m3u8?zsicd 72.会东新闻$LR•IPV4•22『线路13』 +湖南电视剧,http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/HNDSJMPP360.m3u8$LR•IPV4•22『线路14』 +湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-5.m3u8$LR•IPV4•22『线路15』 +湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-gao-qing-1.m3u8$LR•IPV4•22『线路16』 +湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-1.m3u8$LR•IPV4•22『线路17』 +湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-12.m3u8$LR•IPV4•22『线路18』 +湖南电视剧,http://php.jdshipin.com:8880/iptv.php?id=hndsj$LR•IPV4•22『线路19』 +湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-6.m3u8$LR•IPV4•22『线路20』 +湖南电视剧,https://stream1.freetv.fun/hu-nan-dian-shi-ju-2.m3u8$LR•IPV4•22『线路21』 +湖南电视剧,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNDSJMPP360.m3u8$LR•IPV4•22『线路22』 +湖南电影,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3631&tk=23a9aca1f79f$LR•IPV4•23『线路1』 +湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-3.m3u8$LR•IPV4•23『线路2』 +湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-15.m3u8$LR•IPV4•23『线路3』 +湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-7.m3u8$LR•IPV4•23『线路4』 +湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-13.m3u8$LR•IPV4•23『线路5』 +湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-12.m3u8$LR•IPV4•23『线路6』 +湖南电影,http://www.peanutbar.cn:8099/tsfile/live/1001_1.m3u8?key=txiptv$LR•IPV4•23『线路7』 +湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-11.m3u8$LR•IPV4•23『线路8』 +湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-9.m3u8$LR•IPV4•23『线路9』 +湖南电影,http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/HNDYMPP360.m3u8$LR•IPV4•23『线路10』 +湖南电影,http://116.128.242.83:9901/tsfile/live/1009_1.m3u8$LR•IPV4•23『线路11』 +湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-17.ctv$LR•IPV4•23『线路12』 +湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-5.m3u8$LR•IPV4•23『线路13』 +湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-4.m3u8$LR•IPV4•23『线路14』 +湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-10.m3u8$LR•IPV4•23『线路15』 +湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-6.m3u8$LR•IPV4•23『线路16』 +湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-2.ctv$LR•IPV4•23『线路17』 +湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-2.m3u8$LR•IPV4•23『线路18』 +湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-14.m3u8$LR•IPV4•23『线路19』 +湖南电影,https://stream1.freetv.fun/hu-nan-dian-ying-8.m3u8$LR•IPV4•23『线路20』 +湖南电影,http://218.77.84.102:85/tsfile/live/149/2005_1.m3u8?key=txiptv$LR•IPV4•23『线路21』 +湖南电影,http://php.jdshipin.com:8880/iptv.php$LR•IPV4•23『线路22』 +湖南电影,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNDYMPP360.m3u8$LR•IPV4•23『线路23』 +湖南爱晚,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7644&tk=23a9aca1f79f$LR•IPV4•6『线路1』 +湖南爱晚,http://php.jdshipin.com:8880/iptv.php?id=hngg$LR•IPV4•6『线路2』 +湖南爱晚,http://www.peanutbar.cn:8099/tsfile/live/1003_1.m3u8?key=txiptv$LR•IPV4•6『线路3』 +湖南爱晚,http://p2.vzan.com/527645544/149039617847513156/live.m3u8$LR•IPV4•6『线路4』 +湖南爱晚,http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hnaw$LR•IPV4•6『线路5』 +湖南爱晚,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNGGMPP360.m3u8$LR•IPV4•6『线路6』 +湖南教育,https://stream1.freetv.fun/hu-nan-jiao-yu-1.m3u8$LR•IPV4•6『线路1』 +湖南教育,https://stream1.freetv.fun/hu-nan-jiao-yu-5.m3u8$LR•IPV4•6『线路2』 +湖南教育,https://stream1.freetv.fun/hu-nan-jiao-yu-2.m3u8$LR•IPV4•6『线路3』 +湖南教育,http://www.peanutbar.cn:8099/tsfile/live/1008_1.m3u8?key=txiptv$LR•IPV4•6『线路4』 +湖南教育,https://stream1.freetv.fun/hu-nan-jiao-yu-4.m3u8$LR•IPV4•6『线路5』 +湖南教育,https://stream1.freetv.fun/hu-nan-jiao-yu-6.ctv$LR•IPV4•6『线路6』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-7.m3u8$LR•IPV4•27『线路1』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-9.m3u8$LR•IPV4•27『线路2』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-14.m3u8$LR•IPV4•27『线路3』 +湖南娱乐,http://116.128.242.83:9901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路4』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-8.m3u8$LR•IPV4•27『线路5』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-9.ctv$LR•IPV4•27『线路6』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-6.m3u8$LR•IPV4•27『线路7』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-5.m3u8$LR•IPV4•27『线路8』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-16.m3u8$LR•IPV4•27『线路9』 +湖南娱乐,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6594&tk=23a9aca1f79f$LR•IPV4•27『线路10』 +湖南娱乐,http://jf.jxx2023.work:40446/tsfile/live/1011_1.m3u8?key=txiptv$LR•IPV4•27『线路11』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-13.m3u8$LR•IPV4•27『线路12』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-4.m3u8$LR•IPV4•27『线路13』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-3.m3u8$LR•IPV4•27『线路14』 +湖南娱乐,http://156.238.253.62:5555/tvbox/公众号好享生活小助手/湖南.php?id=hnyl$LR•IPV4•27『线路15』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-10.m3u8$LR•IPV4•27『线路16』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-1.m3u8$LR•IPV4•27『线路17』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-16.ctv$LR•IPV4•27『线路18』 +湖南娱乐,http://www.peanutbar.cn:8099/tsfile/live/1000_1.m3u8?key=txiptv$LR•IPV4•27『线路19』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-11.m3u8$LR•IPV4•27『线路20』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-12.m3u8$LR•IPV4•27『线路21』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-gao-qing-1.m3u8$LR•IPV4•27『线路22』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-gao-qing-3.m3u8$LR•IPV4•27『线路23』 +湖南娱乐,http://116.128.243.121:85/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路24』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-15.m3u8$LR•IPV4•27『线路25』 +湖南娱乐,https://stream1.freetv.fun/hu-nan-yu-le-2.m3u8$LR•IPV4•27『线路26』 +湖南娱乐,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNYLMPP360.m3u8$LR•IPV4•27『线路27』 +湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-7.m3u8$LR•IPV4•16『线路1』 +湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-3.m3u8$LR•IPV4•16『线路2』 +湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-2.ctv$LR•IPV4•16『线路3』 +湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-6.m3u8$LR•IPV4•16『线路4』 +湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-12.m3u8$LR•IPV4•16『线路5』 +湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-1.m3u8$LR•IPV4•16『线路6』 +湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-4.ctv$LR•IPV4•16『线路7』 +湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-9.m3u8$LR•IPV4•16『线路8』 +湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-2.m3u8$LR•IPV4•16『线路9』 +湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-10.m3u8$LR•IPV4•16『线路10』 +湖南国际,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1138&tk=23a9aca1f79f$LR•IPV4•16『线路11』 +湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-4.m3u8$LR•IPV4•16『线路12』 +湖南国际,http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/HNGJMPP360.m3u8$LR•IPV4•16『线路13』 +湖南国际,http://www.peanutbar.cn:8099/tsfile/live/1007_1.m3u8?key=txiptv$LR•IPV4•16『线路14』 +湖南国际,https://stream1.freetv.fun/hu-nan-guo-ji-13.ctv$LR•IPV4•16『线路15』 +湖南国际,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNGJMPP360.m3u8$LR•IPV4•16『线路16』 +湖南公共,https://stream1.freetv.fun/hu-nan-gong-gong-1.m3u8$LR•IPV4•12『线路1』 +湖南公共,https://stream1.freetv.fun/hu-nan-gong-gong-7.m3u8$LR•IPV4•12『线路2』 湖南公共,https://stream1.freetv.fun/hu-nan-gong-gong-2.m3u8$LR•IPV4•12『线路3』 -湖南公共,https://stream1.freetv.fun/hu-nan-gong-gong-1.m3u8$LR•IPV4•12『线路4』 -湖南公共,https://stream1.freetv.fun/hu-nan-gong-gong-7.m3u8$LR•IPV4•12『线路5』 -湖南公共,http://116.128.242.83:9901/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•12『线路6』 +湖南公共,https://stream1.freetv.fun/hu-nan-gong-gong-6.m3u8$LR•IPV4•12『线路4』 +湖南公共,https://stream1.freetv.fun/hu-nan-gong-gong-4.m3u8$LR•IPV4•12『线路5』 +湖南公共,http://116.128.242.83:9901/tsfile/live/0117_1.m3u8$LR•IPV4•12『线路6』 湖南公共,https://stream1.freetv.fun/hu-nan-gong-gong-gao-qing-1.m3u8$LR•IPV4•12『线路7』 -湖南公共,https://stream1.freetv.fun/hu-nan-gong-gong-4.m3u8$LR•IPV4•12『线路8』 -湖南公共,https://stream1.freetv.fun/hu-nan-gong-gong-7.ctv$LR•IPV4•12『线路9』 -湖南公共,https://stream1.freetv.fun/hu-nan-gong-gong-6.m3u8$LR•IPV4•12『线路10』 -湖南公共,https://stream1.freetv.fun/hu-nan-gong-gong-2.ctv$LR•IPV4•12『线路11』 -湖南公共,https://stream1.freetv.fun/hu-nan-gong-gong-5.ctv$LR•IPV4•12『线路12』 -长沙新闻综合,http://ls.qingting.fm/live/4877.m3u8$LR•IPV4•2『线路1』 -长沙新闻综合,http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/CSXWMPP360.m3u8$LR•IPV4•2『线路2』 -长沙新闻,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/CSXWMPP360.m3u8$LR•IPV4•2『线路1』 -长沙新闻,http://35848.hlsplay.aodianyun.com/guangdianyun_35848/tv_channel_346.m3u8$LR•IPV4•2『线路2』 -长沙政法,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/CSZFMPP360.m3u8$LR•IPV4•3『线路1』 +湖南公共,https://stream1.freetv.fun/hu-nan-gong-gong-2.ctv$LR•IPV4•12『线路8』 +湖南公共,https://stream1.freetv.fun/hu-nan-gong-gong-5.ctv$LR•IPV4•12『线路9』 +湖南公共,https://stream1.freetv.fun/hu-nan-gong-gong-3.m3u8$LR•IPV4•12『线路10』 +湖南公共,https://stream1.freetv.fun/hu-nan-gong-gong-7.ctv$LR•IPV4•12『线路11』 +湖南公共,http://116.128.242.83:9901/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•12『线路12』 +长沙新闻综合,http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/CSXWMPP360.m3u8$LR•IPV4•2『线路1』 +长沙新闻综合,http://ls.qingting.fm/live/4877.m3u8$LR•IPV4•2『线路2』 +长沙新闻,http://35848.hlsplay.aodianyun.com/guangdianyun_35848/tv_channel_346.m3u8$LR•IPV4•2『线路1』 +长沙新闻,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/CSXWMPP360.m3u8$LR•IPV4•2『线路2』 +长沙政法,http://35848.hlsplay.aodianyun.com/guangdianyun_35848/tv_channel_348.m3u8$LR•IPV4•3『线路1』 长沙政法,http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/CSZFMPP360.m3u8$LR•IPV4•3『线路2』 -长沙政法,http://35848.hlsplay.aodianyun.com/guangdianyun_35848/tv_channel_348.m3u8$LR•IPV4•3『线路3』 +长沙政法,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/CSZFMPP360.m3u8$LR•IPV4•3『线路3』 长沙女性,http://35848.hlsplay.aodianyun.com/guangdianyun_35848/tv_channel_349.m3u8$LR•IPV4 衡阳新闻综合,https://liveplay-srs.voc.com.cn/hls/tv/183_554704.m3u8$LR•IPV4 湖北,#genre# 湖北综合,http://58.19.133.144:9901$LR•IPV4•15『线路1』 -湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-8.m3u8$LR•IPV4•15『线路2』 -湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-7.m3u8$LR•IPV4•15『线路3』 -湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-11.ctv$LR•IPV4•15『线路4』 -湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-10.m3u8$LR•IPV4•15『线路5』 -湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-2.m3u8$LR•IPV4•15『线路6』 -湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-3.m3u8$LR•IPV4•15『线路7』 -湖北综合,http://119.36.148.115:59901/tsfile/live/1005_1.m3u8$LR•IPV4•15『线路8』 -湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-4.ctv$LR•IPV4•15『线路9』 -湖北综合,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbzh$LR•IPV4•15『线路10』 +湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-11.ctv$LR•IPV4•15『线路2』 +湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-9.m3u8$LR•IPV4•15『线路3』 +湖北综合,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbzh$LR•IPV4•15『线路4』 +湖北综合,http://hbqjdb.chinashadt.com:2035/live/1.stream/playlist.m3u8$LR•IPV4•15『线路5』 +湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-6.ctv$LR•IPV4•15『线路6』 +湖北综合,http://119.36.148.115:59901/tsfile/live/1005_1.m3u8$LR•IPV4•15『线路7』 +湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-7.m3u8$LR•IPV4•15『线路8』 +湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-2.m3u8$LR•IPV4•15『线路9』 +湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-12.m3u8$LR•IPV4•15『线路10』 湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-13.m3u8$LR•IPV4•15『线路11』 -湖北综合,http://hbqjdb.chinashadt.com:2035/live/1.stream/playlist.m3u8$LR•IPV4•15『线路12』 -湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-6.ctv$LR•IPV4•15『线路13』 -湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-12.m3u8$LR•IPV4•15『线路14』 -湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-9.m3u8$LR•IPV4•15『线路15』 +湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-10.m3u8$LR•IPV4•15『线路12』 +湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-8.m3u8$LR•IPV4•15『线路13』 +湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-4.ctv$LR•IPV4•15『线路14』 +湖北综合,https://stream1.freetv.fun/hu-bei-zong-he-3.m3u8$LR•IPV4•15『线路15』 湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-19.ctv$LR•IPV4•26『线路1』 -湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-20.m3u8$LR•IPV4•26『线路2』 -湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-23.m3u8$LR•IPV4•26『线路3』 -湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-18.m3u8$LR•IPV4•26『线路4』 -湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-9.m3u8$LR•IPV4•26『线路5』 +湖北经视,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbjs$LR•IPV4•26『线路2』 +湖北经视,http://119.36.148.115:59901/tsfile/live/1004_1.m3u8?key=txiptv$LR•IPV4•26『线路3』 +湖北经视,http://113.57.93.165:9900/tsfile/live/1017_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路4』 +湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-14.m3u8$LR•IPV4•26『线路5』 湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-24.m3u8$LR•IPV4•26『线路6』 -湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-22.m3u8$LR•IPV4•26『线路7』 -湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-19.m3u8$LR•IPV4•26『线路8』 -湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-8.m3u8$LR•IPV4•26『线路9』 -湖北经视,http://183.94.1.118:8801/tsfile/live/1017_1.m3u8$LR•IPV4•26『线路10』 -湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-3.m3u8$LR•IPV4•26『线路11』 -湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-7.m3u8$LR•IPV4•26『线路12』 -湖北经视,https://t.freetv.fun/live/hu-bei-jing-shi-1.m3u8$LR•IPV4•26『线路13』 -湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-10.m3u8$LR•IPV4•26『线路14』 -湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-6.m3u8$LR•IPV4•26『线路15』 -湖北经视,http://113.57.93.165:9900/tsfile/live/1017_1.m3u8$LR•IPV4•26『线路16』 -湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-14.m3u8$LR•IPV4•26『线路17』 -湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-2.ctv$LR•IPV4•26『线路18』 -湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-12.m3u8$LR•IPV4•26『线路19』 -湖北经视,http://58.19.43.46:9901/tsfile/live/1017_1.m3u8$LR•IPV4•26『线路20』 -湖北经视,http://113.57.93.165:9900/tsfile/live/1017_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路21』 -湖北经视,http://119.36.148.115:59901/tsfile/live/1004_1.m3u8?key=txiptv$LR•IPV4•26『线路22』 -湖北经视,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbjs$LR•IPV4•26『线路23』 -湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-1.m3u8$LR•IPV4•26『线路24』 -湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-13.m3u8$LR•IPV4•26『线路25』 -湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-11.m3u8$LR•IPV4•26『线路26』 -湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-7.m3u8$LR•IPV4•16『线路1』 -湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-5.m3u8$LR•IPV4•16『线路2』 -湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-xin-wen-4.m3u8$LR•IPV4•16『线路3』 -湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-3.m3u8$LR•IPV4•16『线路4』 +湖北经视,http://58.19.43.46:9901/tsfile/live/1017_1.m3u8$LR•IPV4•26『线路7』 +湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-1.m3u8$LR•IPV4•26『线路8』 +湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-12.m3u8$LR•IPV4•26『线路9』 +湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-20.m3u8$LR•IPV4•26『线路10』 +湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-22.m3u8$LR•IPV4•26『线路11』 +湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-6.m3u8$LR•IPV4•26『线路12』 +湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-9.m3u8$LR•IPV4•26『线路13』 +湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-2.ctv$LR•IPV4•26『线路14』 +湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-23.m3u8$LR•IPV4•26『线路15』 +湖北经视,https://t.freetv.fun/live/hu-bei-jing-shi-1.m3u8$LR•IPV4•26『线路16』 +湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-10.m3u8$LR•IPV4•26『线路17』 +湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-18.m3u8$LR•IPV4•26『线路18』 +湖北经视,http://183.94.1.118:8801/tsfile/live/1017_1.m3u8$LR•IPV4•26『线路19』 +湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-3.m3u8$LR•IPV4•26『线路20』 +湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-8.m3u8$LR•IPV4•26『线路21』 +湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-19.m3u8$LR•IPV4•26『线路22』 +湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-13.m3u8$LR•IPV4•26『线路23』 +湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-7.m3u8$LR•IPV4•26『线路24』 +湖北经视,https://stream1.freetv.fun/hu-bei-jing-shi-11.m3u8$LR•IPV4•26『线路25』 +湖北经视,http://113.57.93.165:9900/tsfile/live/1017_1.m3u8$LR•IPV4•26『线路26』 +湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-13.m3u8$LR•IPV4•16『线路1』 +湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-1.m3u8$LR•IPV4•16『线路2』 +湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-10.m3u8$LR•IPV4•16『线路3』 +湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-9.m3u8$LR•IPV4•16『线路4』 湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-12.m3u8$LR•IPV4•16『线路5』 -湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-4.m3u8$LR•IPV4•16『线路6』 -湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-5.ctv$LR•IPV4•16『线路7』 -湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-xin-wen-2.m3u8$LR•IPV4•16『线路8』 -湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-9.m3u8$LR•IPV4•16『线路9』 -湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-1.m3u8$LR•IPV4•16『线路10』 -湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-xin-wen-3.ctv$LR•IPV4•16『线路11』 -湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-13.m3u8$LR•IPV4•16『线路12』 -湖北公共,http://119.36.148.115:59901/tsfile/live/1007_1.m3u8$LR•IPV4•16『线路13』 -湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-10.m3u8$LR•IPV4•16『线路14』 -湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-2.m3u8$LR•IPV4•16『线路15』 +湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-7.m3u8$LR•IPV4•16『线路6』 +湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-4.m3u8$LR•IPV4•16『线路7』 +湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-2.m3u8$LR•IPV4•16『线路8』 +湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-3.m3u8$LR•IPV4•16『线路9』 +湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-5.m3u8$LR•IPV4•16『线路10』 +湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-5.ctv$LR•IPV4•16『线路11』 +湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-xin-wen-3.ctv$LR•IPV4•16『线路12』 +湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-xin-wen-4.m3u8$LR•IPV4•16『线路13』 +湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-xin-wen-2.m3u8$LR•IPV4•16『线路14』 +湖北公共,http://119.36.148.115:59901/tsfile/live/1007_1.m3u8$LR•IPV4•16『线路15』 湖北公共,https://stream1.freetv.fun/hu-bei-gong-gong-11.m3u8$LR•IPV4•16『线路16』 -湖北生活,https://stream1.freetv.fun/hu-bei-sheng-huo-12.m3u8$LR•IPV4•12『线路1』 -湖北生活,https://stream1.freetv.fun/hu-bei-sheng-huo-3.ctv$LR•IPV4•12『线路2』 -湖北生活,https://stream1.freetv.fun/hu-bei-sheng-huo-1.m3u8$LR•IPV4•12『线路3』 -湖北生活,https://stream1.freetv.fun/hu-bei-sheng-huo-4.ctv$LR•IPV4•12『线路4』 -湖北生活,https://stream1.freetv.fun/hu-bei-sheng-huo-11.m3u8$LR•IPV4•12『线路5』 -湖北生活,https://satellitepull.cnr.cn/live/wx32hubczshgb/playlist.m3u8$LR•IPV4•12『线路6』 -湖北生活,https://stream1.freetv.fun/hu-bei-sheng-huo-5.m3u8$LR•IPV4•12『线路7』 -湖北生活,http://satellitepull.cnr.cn/live/wx32hubczshgb/playlist.m3u8$LR•IPV4•12『线路8』 -湖北生活,https://stream1.freetv.fun/hu-bei-sheng-huo-2.m3u8$LR•IPV4•12『线路9』 -湖北生活,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbty$LR•IPV4•12『线路10』 -湖北生活,https://t.freetv.fun/live/hu-bei-sheng-huo.m3u8$LR•IPV4•12『线路11』 -湖北生活,https://stream1.freetv.fun/hu-bei-sheng-huo-12.ctv$LR•IPV4•12『线路12』 -湖北教育,https://stream1.freetv.fun/hu-bei-jiao-yu-9.m3u8$LR•IPV4•10『线路1』 -湖北教育,https://stream1.freetv.fun/hu-bei-jiao-yu-4.ctv$LR•IPV4•10『线路2』 -湖北教育,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbjy$LR•IPV4•10『线路3』 -湖北教育,https://stream1.freetv.fun/hu-bei-jiao-yu-13.m3u8$LR•IPV4•10『线路4』 -湖北教育,https://stream1.freetv.fun/hu-bei-jiao-yu-1.ctv$LR•IPV4•10『线路5』 -湖北教育,https://stream1.freetv.fun/hu-bei-jiao-yu-14.m3u8$LR•IPV4•10『线路6』 -湖北教育,https://stream1.freetv.fun/hu-bei-jiao-yu-8.m3u8$LR•IPV4•10『线路7』 -湖北教育,https://stream1.freetv.fun/hu-bei-jiao-yu-10.ctv$LR•IPV4•10『线路8』 -湖北教育,https://t.freetv.fun/live/hu-bei-jiao-yu.m3u8$LR•IPV4•10『线路9』 -湖北教育,https://stream1.freetv.fun/hu-bei-jiao-yu-2.m3u8$LR•IPV4•10『线路10』 -湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-11.m3u8$LR•IPV4•21『线路1』 -湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-14.m3u8$LR•IPV4•21『线路2』 -湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-1.m3u8$LR•IPV4•21『线路3』 -湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-15.m3u8$LR•IPV4•21『线路4』 -湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-10.m3u8$LR•IPV4•21『线路5』 -湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-15.ctv$LR•IPV4•21『线路6』 -湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-12.m3u8$LR•IPV4•21『线路7』 -湖北影视,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbys$LR•IPV4•21『线路8』 -湖北影视,http://113.57.20.158:9901/tsfile/live/1016_1.m3u8$LR•IPV4•21『线路9』 -湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-16.m3u8$LR•IPV4•21『线路10』 -湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-4.m3u8$LR•IPV4•21『线路11』 -湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-3.m3u8$LR•IPV4•21『线路12』 -湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-13.m3u8$LR•IPV4•21『线路13』 -湖北影视,http://58.19.43.46:9901/tsfile/live/1016_1.m3u8$LR•IPV4•21『线路14』 -湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-7.m3u8$LR•IPV4•21『线路15』 -湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-1.ctv$LR•IPV4•21『线路16』 -湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-5.m3u8$LR•IPV4•21『线路17』 -湖北影视,http://113.57.20.158:9901/tsfile/live/1016_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路18』 -湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-8.m3u8$LR•IPV4•21『线路19』 -湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-6.m3u8$LR•IPV4•21『线路20』 -湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-2.m3u8$LR•IPV4•21『线路21』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-1.m3u8$LR•IPV4•25『线路1』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-6.m3u8$LR•IPV4•25『线路2』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-12.m3u8$LR•IPV4•25『线路3』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-10.ctv$LR•IPV4•25『线路4』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-17.m3u8$LR•IPV4•25『线路5』 -湖北垄上,http://58.19.43.46:9901/tsfile/live/1015_1.m3u8$LR•IPV4•25『线路6』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-3.m3u8$LR•IPV4•25『线路7』 -湖北垄上,http://119.36.148.115:59901/tsfile/live/1006_1.m3u8$LR•IPV4•25『线路8』 -湖北垄上,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbls$LR•IPV4•25『线路9』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-15.m3u8$LR•IPV4•25『线路10』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-14.m3u8$LR•IPV4•25『线路11』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-7.m3u8$LR•IPV4•25『线路12』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-13.ctv$LR•IPV4•25『线路13』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-5.m3u8$LR•IPV4•25『线路14』 -湖北垄上,http://113.57.20.158:9901/tsfile/live/1015_1.m3u8$LR•IPV4•25『线路15』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-1.ctv$LR•IPV4•25『线路16』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-18.m3u8$LR•IPV4•25『线路17』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-10.m3u8$LR•IPV4•25『线路18』 -湖北垄上,https://t.freetv.fun/live/hu-bei-long-shang.m3u8$LR•IPV4•25『线路19』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-16.m3u8$LR•IPV4•25『线路20』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-4.m3u8$LR•IPV4•25『线路21』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-8.m3u8$LR•IPV4•25『线路22』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-11.m3u8$LR•IPV4•25『线路23』 -湖北垄上,http://113.57.20.158:9901/tsfile/live/1015_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•25『线路24』 -湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-13.m3u8$LR•IPV4•25『线路25』 -十堰新闻,https://p8.vzan.com/slowlive/034028687228317362/live.m3u8$LR•IPV4•8『线路1』 -十堰新闻,https://p8.vzan.com/slowlive/034028687228317362/live.m3u8?zbid=351104&amp%3Btpid=868100086$LR•IPV4•8『线路2』 -十堰新闻,https://p8.vzan.com/slowlive/034028687228317362/live.m3u8?zbid=351104&tpid=868100086$LR•IPV4•8『线路3』 -十堰新闻,https://stream1.freetv.fun/shi-yan-xin-wen-4.m3u8$LR•IPV4•8『线路4』 -十堰新闻,http://p8.vzan.com/slowlive/034028687228317362/live.m3u8$LR•IPV4•8『线路5』 -十堰新闻,https://stream1.freetv.fun/shi-yan-xin-wen-3.m3u8$LR•IPV4•8『线路6』 -十堰新闻,https://stream1.freetv.fun/shi-yan-xin-wen-1.m3u8$LR•IPV4•8『线路7』 -十堰新闻,https://stream1.freetv.fun/shi-yan-xin-wen-2.m3u8$LR•IPV4•8『线路8』 -荆门新闻综合,http://stream.jmtv.com.cn/xwzh/sd/live.m3u8$LR•IPV4•14『线路1』 -荆门新闻综合,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-2.m3u8$LR•IPV4•14『线路2』 -荆门新闻综合,https://t.freetv.fun/live/jing-men-xin-wen-zong-he-1-1.m3u8$LR•IPV4•14『线路3』 -荆门新闻综合,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-3.m3u8$LR•IPV4•14『线路4』 -荆门新闻综合,https://t.freetv.fun/live/jing-men-xin-wen-zong-he-5.m3u8$LR•IPV4•14『线路5』 -荆门新闻综合,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-6.m3u8$LR•IPV4•14『线路6』 -荆门新闻综合,https://t.freetv.fun/live/jing-men-xin-wen-zong-he.m3u8$LR•IPV4•14『线路7』 -荆门新闻综合,https://stream.jmtv.com.cn/xwzh/playlist.m3u8?_upt=3e28e7271664278691$LR•IPV4•14『线路8』 -荆门新闻综合,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-1.m3u8$LR•IPV4•14『线路9』 -荆门新闻综合,http://stream.jmtv.com.cn/xwzh/sd/live.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•14『线路10』 -荆门新闻综合,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-4.m3u8$LR•IPV4•14『线路11』 -荆门新闻综合,http://stream.jmtv.com.cn/xwzh/sd/live.m3u8?zhubd$LR•IPV4•14『线路12』 -荆门新闻综合,https://t.freetv.fun/live/jing-men-xin-wen-zong-he-2.m3u8$LR•IPV4•14『线路13』 +湖北生活,https://satellitepull.cnr.cn/live/wx32hubczshgb/playlist.m3u8$LR•IPV4•12『线路1』 +湖北生活,https://stream1.freetv.fun/hu-bei-sheng-huo-2.m3u8$LR•IPV4•12『线路2』 +湖北生活,https://stream1.freetv.fun/hu-bei-sheng-huo-4.ctv$LR•IPV4•12『线路3』 +湖北生活,https://stream1.freetv.fun/hu-bei-sheng-huo-3.ctv$LR•IPV4•12『线路4』 +湖北生活,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbty$LR•IPV4•12『线路5』 +湖北生活,https://stream1.freetv.fun/hu-bei-sheng-huo-11.m3u8$LR•IPV4•12『线路6』 +湖北生活,https://stream1.freetv.fun/hu-bei-sheng-huo-12.m3u8$LR•IPV4•12『线路7』 +湖北生活,https://stream1.freetv.fun/hu-bei-sheng-huo-5.m3u8$LR•IPV4•12『线路8』 +湖北生活,http://satellitepull.cnr.cn/live/wx32hubczshgb/playlist.m3u8$LR•IPV4•12『线路9』 +湖北生活,https://stream1.freetv.fun/hu-bei-sheng-huo-1.m3u8$LR•IPV4•12『线路10』 +湖北生活,https://stream1.freetv.fun/hu-bei-sheng-huo-12.ctv$LR•IPV4•12『线路11』 +湖北生活,https://t.freetv.fun/live/hu-bei-sheng-huo.m3u8$LR•IPV4•12『线路12』 +湖北教育,https://stream1.freetv.fun/hu-bei-jiao-yu-2.m3u8$LR•IPV4•10『线路1』 +湖北教育,https://stream1.freetv.fun/hu-bei-jiao-yu-8.m3u8$LR•IPV4•10『线路2』 +湖北教育,https://stream1.freetv.fun/hu-bei-jiao-yu-13.m3u8$LR•IPV4•10『线路3』 +湖北教育,https://stream1.freetv.fun/hu-bei-jiao-yu-14.m3u8$LR•IPV4•10『线路4』 +湖北教育,https://stream1.freetv.fun/hu-bei-jiao-yu-4.ctv$LR•IPV4•10『线路5』 +湖北教育,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbjy$LR•IPV4•10『线路6』 +湖北教育,https://stream1.freetv.fun/hu-bei-jiao-yu-10.ctv$LR•IPV4•10『线路7』 +湖北教育,https://t.freetv.fun/live/hu-bei-jiao-yu.m3u8$LR•IPV4•10『线路8』 +湖北教育,https://stream1.freetv.fun/hu-bei-jiao-yu-9.m3u8$LR•IPV4•10『线路9』 +湖北教育,https://stream1.freetv.fun/hu-bei-jiao-yu-1.ctv$LR•IPV4•10『线路10』 +湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-2.m3u8$LR•IPV4•21『线路1』 +湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-8.m3u8$LR•IPV4•21『线路2』 +湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-14.m3u8$LR•IPV4•21『线路3』 +湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-7.m3u8$LR•IPV4•21『线路4』 +湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-1.m3u8$LR•IPV4•21『线路5』 +湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-5.m3u8$LR•IPV4•21『线路6』 +湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-15.m3u8$LR•IPV4•21『线路7』 +湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-15.ctv$LR•IPV4•21『线路8』 +湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-13.m3u8$LR•IPV4•21『线路9』 +湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-10.m3u8$LR•IPV4•21『线路10』 +湖北影视,http://58.19.43.46:9901/tsfile/live/1016_1.m3u8$LR•IPV4•21『线路11』 +湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-12.m3u8$LR•IPV4•21『线路12』 +湖北影视,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbys$LR•IPV4•21『线路13』 +湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-4.m3u8$LR•IPV4•21『线路14』 +湖北影视,http://113.57.20.158:9901/tsfile/live/1016_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•21『线路15』 +湖北影视,http://113.57.20.158:9901/tsfile/live/1016_1.m3u8$LR•IPV4•21『线路16』 +湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-1.ctv$LR•IPV4•21『线路17』 +湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-3.m3u8$LR•IPV4•21『线路18』 +湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-16.m3u8$LR•IPV4•21『线路19』 +湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-11.m3u8$LR•IPV4•21『线路20』 +湖北影视,https://stream1.freetv.fun/hu-bei-ying-shi-6.m3u8$LR•IPV4•21『线路21』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-6.m3u8$LR•IPV4•25『线路1』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-4.m3u8$LR•IPV4•25『线路2』 +湖北垄上,https://t.freetv.fun/live/hu-bei-long-shang.m3u8$LR•IPV4•25『线路3』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-8.m3u8$LR•IPV4•25『线路4』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-18.m3u8$LR•IPV4•25『线路5』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-10.m3u8$LR•IPV4•25『线路6』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-16.m3u8$LR•IPV4•25『线路7』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-15.m3u8$LR•IPV4•25『线路8』 +湖北垄上,http://113.57.20.158:9901/tsfile/live/1015_1.m3u8$LR•IPV4•25『线路9』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-12.m3u8$LR•IPV4•25『线路10』 +湖北垄上,http://119.36.148.115:59901/tsfile/live/1006_1.m3u8$LR•IPV4•25『线路11』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-17.m3u8$LR•IPV4•25『线路12』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-13.m3u8$LR•IPV4•25『线路13』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-11.m3u8$LR•IPV4•25『线路14』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-1.m3u8$LR•IPV4•25『线路15』 +湖北垄上,http://113.57.20.158:9901/tsfile/live/1015_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•25『线路16』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-3.m3u8$LR•IPV4•25『线路17』 +湖北垄上,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=hbls$LR•IPV4•25『线路18』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-14.m3u8$LR•IPV4•25『线路19』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-7.m3u8$LR•IPV4•25『线路20』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-5.m3u8$LR•IPV4•25『线路21』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-1.ctv$LR•IPV4•25『线路22』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-10.ctv$LR•IPV4•25『线路23』 +湖北垄上,http://58.19.43.46:9901/tsfile/live/1015_1.m3u8$LR•IPV4•25『线路24』 +湖北垄上,https://stream1.freetv.fun/hu-bei-long-shang-13.ctv$LR•IPV4•25『线路25』 +十堰新闻,https://stream1.freetv.fun/shi-yan-xin-wen-3.m3u8$LR•IPV4•8『线路1』 +十堰新闻,https://stream1.freetv.fun/shi-yan-xin-wen-1.m3u8$LR•IPV4•8『线路2』 +十堰新闻,https://p8.vzan.com/slowlive/034028687228317362/live.m3u8?zbid=351104&amp%3Btpid=868100086$LR•IPV4•8『线路3』 +十堰新闻,https://p8.vzan.com/slowlive/034028687228317362/live.m3u8$LR•IPV4•8『线路4』 +十堰新闻,https://stream1.freetv.fun/shi-yan-xin-wen-4.m3u8$LR•IPV4•8『线路5』 +十堰新闻,https://stream1.freetv.fun/shi-yan-xin-wen-2.m3u8$LR•IPV4•8『线路6』 +十堰新闻,https://p8.vzan.com/slowlive/034028687228317362/live.m3u8?zbid=351104&tpid=868100086$LR•IPV4•8『线路7』 +十堰新闻,http://p8.vzan.com/slowlive/034028687228317362/live.m3u8$LR•IPV4•8『线路8』 +荆门新闻综合,https://stream.jmtv.com.cn/xwzh/playlist.m3u8?_upt=3e28e7271664278691$LR•IPV4•14『线路1』 +荆门新闻综合,http://stream.jmtv.com.cn/xwzh/sd/live.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•14『线路2』 +荆门新闻综合,http://stream.jmtv.com.cn/xwzh/sd/live.m3u8$LR•IPV4•14『线路3』 +荆门新闻综合,https://t.freetv.fun/live/jing-men-xin-wen-zong-he-5.m3u8$LR•IPV4•14『线路4』 +荆门新闻综合,https://t.freetv.fun/live/jing-men-xin-wen-zong-he.m3u8$LR•IPV4•14『线路5』 +荆门新闻综合,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-2.m3u8$LR•IPV4•14『线路6』 +荆门新闻综合,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-6.m3u8$LR•IPV4•14『线路7』 +荆门新闻综合,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-4.m3u8$LR•IPV4•14『线路8』 +荆门新闻综合,http://stream.jmtv.com.cn/xwzh/sd/live.m3u8?zhubd$LR•IPV4•14『线路9』 +荆门新闻综合,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-3.m3u8$LR•IPV4•14『线路10』 +荆门新闻综合,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-1.m3u8$LR•IPV4•14『线路11』 +荆门新闻综合,https://t.freetv.fun/live/jing-men-xin-wen-zong-he-2.m3u8$LR•IPV4•14『线路12』 +荆门新闻综合,https://t.freetv.fun/live/jing-men-xin-wen-zong-he-1-1.m3u8$LR•IPV4•14『线路13』 荆门新闻综合,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-5.m3u8$LR•IPV4•14『线路14』 -武汉一台新闻综合,https://ls.qingting.fm/live/20198/64k.m3u8$LR•IPV4•9『线路1』 -武汉一台新闻综合,https://stream1.freetv.fun/wu-yi-1xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路2』 -武汉一台新闻综合,http://stream.appwuhan.com/1tzb/sd/live.m3u8$LR•IPV4•9『线路3』 -武汉一台新闻综合,https://stream1.freetv.fun/wu-yi-1xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路4』 -武汉一台新闻综合,https://stream1.freetv.fun/wu-yi-xin-wen-zong-he-7.m3u8$LR•IPV4•9『线路5』 -武汉一台新闻综合,https://stream1.freetv.fun/wu-yi-yi-tai-xin-wen-zong-he-4.m3u8$LR•IPV4•9『线路6』 -武汉一台新闻综合,http://stream.appwuhan.com:80/1tzb/sd/live.m3u8$LR•IPV4•9『线路7』 -武汉一台新闻综合,https://stream1.freetv.fun/wu-yi-yi-tai-xin-wen-zong-he-5.ctv$LR•IPV4•9『线路8』 -武汉一台新闻综合,https://stream1.freetv.fun/wu-yi-xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路9』 -武汉二台电视剧,https://stream1.freetv.fun/wu-yi-er-tai-dian-shi-ju-3.ctv$LR•IPV4•3『线路1』 -武汉二台电视剧,https://stream1.freetv.fun/wu-yi-2dian-shi-ju-1.m3u8$LR•IPV4•3『线路2』 -武汉二台电视剧,https://stream1.freetv.fun/wu-yi-er-tai-dian-shi-ju-1.m3u8$LR•IPV4•3『线路3』 -武汉四台经济,https://stream1.freetv.fun/wu-yi-jing-ji-1.m3u8$LR•IPV4•2『线路1』 -武汉四台经济,http://stream.appwuhan.com/4tzb/sd/live.m3u8$LR•IPV4•2『线路2』 -武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-12.m3u8$LR•IPV4•12『线路1』 -武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-8.m3u8$LR•IPV4•12『线路2』 -武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-17.m3u8$LR•IPV4•12『线路3』 -武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-4.m3u8$LR•IPV4•12『线路4』 -武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-18.m3u8$LR•IPV4•12『线路5』 -武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-7.m3u8$LR•IPV4•12『线路6』 -武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-5.m3u8$LR•IPV4•12『线路7』 -武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-6.m3u8$LR•IPV4•12『线路8』 -武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-1.m3u8$LR•IPV4•12『线路9』 -武汉教育,http://stream.appwuhan.com:80/jyzb/sd/live.m3u8$LR•IPV4•12『线路10』 -武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-13.ctv$LR•IPV4•12『线路11』 -武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-15.m3u8$LR•IPV4•12『线路12』 -江夏新闻综合,http://59.175.226.142:280/gb28181/xwzh.m3u8?zhubd$LR•IPV4•2『线路1』 -江夏新闻综合,http://59.175.226.142:280/gb28181/xwzh.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•2『线路2』 +武汉一台新闻综合,http://stream.appwuhan.com:80/1tzb/sd/live.m3u8$LR•IPV4•9『线路1』 +武汉一台新闻综合,https://stream1.freetv.fun/wu-yi-xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路2』 +武汉一台新闻综合,https://ls.qingting.fm/live/20198/64k.m3u8$LR•IPV4•9『线路3』 +武汉一台新闻综合,https://stream1.freetv.fun/wu-yi-xin-wen-zong-he-7.m3u8$LR•IPV4•9『线路4』 +武汉一台新闻综合,https://stream1.freetv.fun/wu-yi-yi-tai-xin-wen-zong-he-4.m3u8$LR•IPV4•9『线路5』 +武汉一台新闻综合,https://stream1.freetv.fun/wu-yi-1xin-wen-zong-he-1.m3u8$LR•IPV4•9『线路6』 +武汉一台新闻综合,https://stream1.freetv.fun/wu-yi-yi-tai-xin-wen-zong-he-5.ctv$LR•IPV4•9『线路7』 +武汉一台新闻综合,http://stream.appwuhan.com/1tzb/sd/live.m3u8$LR•IPV4•9『线路8』 +武汉一台新闻综合,https://stream1.freetv.fun/wu-yi-1xin-wen-zong-he-2.m3u8$LR•IPV4•9『线路9』 +武汉二台电视剧,https://stream1.freetv.fun/wu-yi-er-tai-dian-shi-ju-1.m3u8$LR•IPV4•3『线路1』 +武汉二台电视剧,https://stream1.freetv.fun/wu-yi-er-tai-dian-shi-ju-3.ctv$LR•IPV4•3『线路2』 +武汉二台电视剧,https://stream1.freetv.fun/wu-yi-2dian-shi-ju-1.m3u8$LR•IPV4•3『线路3』 +武汉四台经济,http://stream.appwuhan.com/4tzb/sd/live.m3u8$LR•IPV4•2『线路1』 +武汉四台经济,https://stream1.freetv.fun/wu-yi-jing-ji-1.m3u8$LR•IPV4•2『线路2』 +武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-4.m3u8$LR•IPV4•12『线路1』 +武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-15.m3u8$LR•IPV4•12『线路2』 +武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-5.m3u8$LR•IPV4•12『线路3』 +武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-13.ctv$LR•IPV4•12『线路4』 +武汉教育,http://stream.appwuhan.com:80/jyzb/sd/live.m3u8$LR•IPV4•12『线路5』 +武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-18.m3u8$LR•IPV4•12『线路6』 +武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-6.m3u8$LR•IPV4•12『线路7』 +武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-8.m3u8$LR•IPV4•12『线路8』 +武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-12.m3u8$LR•IPV4•12『线路9』 +武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-1.m3u8$LR•IPV4•12『线路10』 +武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-7.m3u8$LR•IPV4•12『线路11』 +武汉教育,https://stream1.freetv.fun/wu-yi-jiao-yu-17.m3u8$LR•IPV4•12『线路12』 +江夏新闻综合,http://59.175.226.142:280/gb28181/xwzh.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•2『线路1』 +江夏新闻综合,http://59.175.226.142:280/gb28181/xwzh.m3u8?zhubd$LR•IPV4•2『线路2』 甘肃,#genre# 甘肃公共,https://hls.gstv.com.cn/49048r/3t5xyc.m3u8$LR•IPV4 @@ -2688,1197 +2694,1165 @@ NewTV哒啵赛事,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLiv 辽宁生活,http://dassby.qqff.top:99/live/辽宁生活/index.m3u8$LR•IPV4 辽宁经济,http://dassby.qqff.top:99/live/辽宁经济/index.m3u8$LR•IPV4 辽宁都市,http://120.76.248.139/live/bfgd/4200000610.m3u8$LR•IPV4 -辽宁体育,https://stream1.freetv.fun/liao-zhu-ti-yu-3.m3u8$LR•IPV4•3『线路1』 -辽宁体育,http://dassby.qqff.top:99/live/辽宁体育/index.m3u8$LR•IPV4•3『线路2』 -辽宁体育,http://120.76.248.139/live/bfgd/4200000611.m3u8$LR•IPV4•3『线路3』 +辽宁体育,http://120.76.248.139/live/bfgd/4200000611.m3u8$LR•IPV4•3『线路1』 +辽宁体育,https://stream1.freetv.fun/liao-zhu-ti-yu-3.m3u8$LR•IPV4•3『线路2』 +辽宁体育,http://dassby.qqff.top:99/live/辽宁体育/index.m3u8$LR•IPV4•3『线路3』 朝阳新闻综合,http://120.76.248.139/live/bfgd/4200000282.m3u8$LR•IPV4 广东,#genre# -汕头新闻综合,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=stxwzh$LR•IPV4•24『线路1』 -汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-9.ctv$LR•IPV4•24『线路2』 -汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-4.ctv$LR•IPV4•24『线路3』 -汕头新闻综合,http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=T0lY0G&tk=zUr4K92Dl6kh$LR•IPV4•24『线路4』 -汕头新闻综合,http://125.89.163.44:8888/udp/239.77.1.130:5146$LR•IPV4•24『线路5』 -汕头新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7310&tk=a0c4f6cfaba3$LR•IPV4•24『线路6』 -汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-6.ctv$LR•IPV4•24『线路7』 -汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-15.ctv$LR•IPV4•24『线路8』 -汕头新闻综合,https://hls-gateway.vpstv.net/streams/708829.m3u8$LR•IPV4•24『线路9』 -汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-7.ctv$LR•IPV4•24『线路10』 -汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-18.ctv$LR•IPV4•24『线路11』 -汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-12.ctv$LR•IPV4•24『线路12』 -汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-14.ctv$LR•IPV4•24『线路13』 -汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-3.ctv$LR•IPV4•24『线路14』 -汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-5.ctv$LR•IPV4•24『线路15』 -汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-1.ctv$LR•IPV4•24『线路16』 -汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-8.ctv$LR•IPV4•24『线路17』 +汕头新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8978&tk=a0c4f6cfaba3$LR•IPV4•24『线路1』 +汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-14.ctv$LR•IPV4•24『线路2』 +汕头新闻综合,https://hls-gateway.vpstv.net/streams/708829.m3u8$LR•IPV4•24『线路3』 +汕头新闻综合,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=stxwzh$LR•IPV4•24『线路4』 +汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-7.ctv$LR•IPV4•24『线路5』 +汕头新闻综合,http://125.89.163.44:8888/udp/239.77.1.130:5146$LR•IPV4•24『线路6』 +汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-18.ctv$LR•IPV4•24『线路7』 +汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-17.ctv$LR•IPV4•24『线路8』 +汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-4.ctv$LR•IPV4•24『线路9』 +汕头新闻综合,http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=T0lY0G&tk=zUr4K92Dl6kh$LR•IPV4•24『线路10』 +汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-3.ctv$LR•IPV4•24『线路11』 +汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-1.ctv$LR•IPV4•24『线路12』 +汕头新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7310&tk=a0c4f6cfaba3$LR•IPV4•24『线路13』 +汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-9.ctv$LR•IPV4•24『线路14』 +汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-12.ctv$LR•IPV4•24『线路15』 +汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-6.ctv$LR•IPV4•24『线路16』 +汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-13.ctv$LR•IPV4•24『线路17』 汕头新闻综合,http://120.77.205.62:8087/rtp/239.253.43.30:5146$LR•IPV4•24『线路18』 汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-10.ctv$LR•IPV4•24『线路19』 -汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-17.ctv$LR•IPV4•24『线路20』 -汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-2.ctv$LR•IPV4•24『线路21』 -汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-13.ctv$LR•IPV4•24『线路22』 +汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-2.ctv$LR•IPV4•24『线路20』 +汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-5.ctv$LR•IPV4•24『线路21』 +汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-8.ctv$LR•IPV4•24『线路22』 汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-11.ctv$LR•IPV4•24『线路23』 -汕头新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8978&tk=a0c4f6cfaba3$LR•IPV4•24『线路24』 +汕头新闻综合,https://stream1.freetv.fun/shan-tou-zong-he-15.ctv$LR•IPV4•24『线路24』 汕头经济生活,https://stream1.freetv.fun/shan-tou-jing-ji-2.ctv$LR•IPV4•11『线路1』 -汕头经济生活,https://stream1.freetv.fun/shan-tou-jing-ji-3.ctv$LR•IPV4•11『线路2』 -汕头经济生活,https://stream1.freetv.fun/shan-tou-jing-ji-5.ctv$LR•IPV4•11『线路3』 -汕头经济生活,http://125.89.163.44:8888/udp/239.77.1.131:5146$LR•IPV4•11『线路4』 -汕头经济生活,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9512&tk=a0c4f6cfaba3$LR•IPV4•11『线路5』 -汕头经济生活,http://120.77.205.62:8087/rtp/239.253.43.43:5146$LR•IPV4•11『线路6』 -汕头经济生活,http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=LEsjua&tk=zUr4K92Dl6kh$LR•IPV4•11『线路7』 -汕头经济生活,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2962&tk=a0c4f6cfaba3$LR•IPV4•11『线路8』 +汕头经济生活,https://stream1.freetv.fun/shan-tou-jing-ji-4.ctv$LR•IPV4•11『线路2』 +汕头经济生活,https://stream1.freetv.fun/shan-tou-jing-ji-6.ctv$LR•IPV4•11『线路3』 +汕头经济生活,http://120.77.205.62:8087/rtp/239.253.43.43:5146$LR•IPV4•11『线路4』 +汕头经济生活,https://stream1.freetv.fun/shan-tou-jing-ji-3.ctv$LR•IPV4•11『线路5』 +汕头经济生活,https://stream1.freetv.fun/shan-tou-jing-ji-5.ctv$LR•IPV4•11『线路6』 +汕头经济生活,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9512&tk=a0c4f6cfaba3$LR•IPV4•11『线路7』 +汕头经济生活,http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=LEsjua&tk=zUr4K92Dl6kh$LR•IPV4•11『线路8』 汕头经济生活,https://stream1.freetv.fun/shan-tou-jing-ji-1.ctv$LR•IPV4•11『线路9』 -汕头经济生活,https://stream1.freetv.fun/shan-tou-jing-ji-4.ctv$LR•IPV4•11『线路10』 -汕头经济生活,https://stream1.freetv.fun/shan-tou-jing-ji-6.ctv$LR•IPV4•11『线路11』 +汕头经济生活,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2962&tk=a0c4f6cfaba3$LR•IPV4•11『线路10』 +汕头经济生活,http://125.89.163.44:8888/udp/239.77.1.131:5146$LR•IPV4•11『线路11』 汕头文旅体育,http://120.77.205.62:8087/rtp/239.253.43.47:5146$LR•IPV4•5『线路1』 -汕头文旅体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5771&tk=a0c4f6cfaba3$LR•IPV4•5『线路2』 -汕头文旅体育,http://125.89.163.44:8888/udp/239.77.1.132:5146$LR•IPV4•5『线路3』 -汕头文旅体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0590&tk=a0c4f6cfaba3$LR•IPV4•5『线路4』 -汕头文旅体育,http://120.77.205.62:8087/rtp/239.253.43.44:5146$LR•IPV4•5『线路5』 -广东珠江,http://cdn2.163189.xyz/live/gdzj/stream.m3u8$LR•IPV4•123『线路1』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-10.m3u8$LR•IPV4•123『线路2』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-3.m3u8$LR•IPV4•123『线路3』 -广东珠江,https://hls-gateway.vpstv.net/streams/709494.m3u8$LR•IPV4•123『线路4』 -广东珠江,http://bxtv.3a.ink/api.php?id=gdzj$LR•IPV4•123『线路5』 -广东珠江,http://[2409:8087:5e00:24::10]:6060/200000001898/460000089800010091/0.m3u8$LR•IPV6•123『线路6』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-8.m3u8$LR•IPV4•123『线路7』 -广东珠江,http://qjrhc.jydjd.top:2911/udp/224.1.100.23:11111$LR•IPV4•123『线路8』 -广东珠江,http://mgsp-cty2.live.miguvideo.com:8088/migu/kailu/szxwzh/51/20250604/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022410&pid=2028597139×tamp=20260712080241&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=639731952&ParentNodeID=-99&assertID=5910022410&client_ip=171.8.79.254&SecurityKey=20260712080241&promotionId=&mvid=5102012610&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=ecc6d98e7128f8bfd6ff2c373ed01803&sv=10004&ct=android$LR•IPV4•123『线路9』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-23.m3u8$LR•IPV4•123『线路10』 -广东珠江,http://183.237.95.108:9901/tsfile/live/1030_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•123『线路11』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-21.m3u8$LR•IPV4•123『线路12』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-9.m3u8$LR•IPV4•123『线路13』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-10.php$LR•IPV4•123『线路14』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-1.m3u8$LR•IPV4•123『线路15』 -广东珠江,https://hk.188766.xyz/?migutoken=34467290b64f0850801479159893a4de&id=gd_gdzj&type=sz$LR•IPV4•123『线路16』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-7.m3u8$LR•IPV4•123『线路17』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-gao-qing-1.ctv$LR•IPV4•123『线路18』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-12.m3u8$LR•IPV4•123『线路19』 -广东珠江,http://67.220.71.199:2347/livehttpplay?channel_id=20144$LR•IPV4•123『线路20』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-2.m3u8$LR•IPV4•123『线路21』 -广东珠江,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2277&tk=e640d0a1bf70$LR•IPV4•123『线路22』 -广东珠江,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6340&tk=f6cc1e0a0e1a$LR•IPV4•123『线路23』 -广东珠江,https://stream1.freetv.fun/468bff09871ed8a1eba7a539f461001a9683ac2cbb084ef2d52449c7f1a52478.m3u8$LR•IPV4•123『线路24』 -广东珠江,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0724&tk=a0c4f6cfaba3$LR•IPV4•123『线路25』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-15.m3u8$LR•IPV4•123『线路26』 -广东珠江,http://121.11.160.7:9901/tsfile/live/0018_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•123『线路27』 -广东珠江,http://120.77.205.62:8087/rtp/239.77.0.1:5146$LR•IPV4•123『线路28』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-24.ctv$LR•IPV4•123『线路29』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-8.m3u8$LR•IPV4•123『线路30』 -广东珠江,http://119.32.12.17:2901/udp/224.1.100.23:11111$LR•IPV4•123『线路31』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang.m3u8$LR•IPV4•123『线路32』 -广东珠江,http://107.150.60.122/live/gdzja.m3u8$LR•IPV4•123『线路33』 -广东珠江,https://stream1.freetv.fun/5f12b986a77ebe5440c508c13895b3e7f8767b2a47c79f3f5fe948097e15337d.m3u8$LR•IPV4•123『线路34』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-5.ctv$LR•IPV4•123『线路35』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing.m3u8$LR•IPV4•123『线路36』 -广东珠江,http://125.89.163.44:8888/udp/239.77.0.1:5146$LR•IPV4•123『线路37』 -广东珠江,https://tv.cdn.com.mp/live/gdzj/stream.m3u8$LR•IPV4•123『线路38』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-13.m3u8$LR•IPV4•123『线路39』 -广东珠江,https://stream1.freetv.fun/ipv6-yan-dong-zhu-jiang-14.m3u8$LR•IPV4•123『线路40』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-16.ctv$LR•IPV4•123『线路41』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-28.m3u8$LR•IPV4•123『线路42』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-31.m3u8$LR•IPV4•123『线路43』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-21.ctv$LR•IPV4•123『线路44』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-13.m3u8$LR•IPV4•123『线路45』 -广东珠江,https://stream1.freetv.fun/cd093c8b92ae68affb34b3b0f147bbdac575b4eee76ac0410e85d2777d808b6e.m3u8$LR•IPV4•123『线路46』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-18.ctv$LR•IPV4•123『线路47』 -广东珠江,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=gdzja$LR•IPV4•123『线路48』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-20.m3u8$LR•IPV4•123『线路49』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-2.m3u8$LR•IPV4•123『线路50』 -广东珠江,https://live.ximalaya.com/radio-first-page-app/live/252/64.m3u8?transcode=ts$LR•IPV4•123『线路51』 -广东珠江,https://stream1.freetv.fun/3e6c646d717a824425bca6f4f12c9091cc4725ab1afa8227b24b7a5bc6fcb019.m3u8$LR•IPV4•123『线路52』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-5.m3u8$LR•IPV4•123『线路53』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-13.m3u8$LR•IPV4•123『线路54』 -广东珠江,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6065&tk=a0c4f6cfaba3$LR•IPV4•123『线路55』 -广东珠江,http://home.wwang.pw:35455/itv/2000000003000000033.m3u8?cdn=hnbblive$LR•IPV4•123『线路56』 -广东珠江,https://stream1.freetv.fun/ipv6-yan-dong-zhu-jiang-8.m3u8$LR•IPV4•123『线路57』 -广东珠江,http://lu.wqwqwq.sbs/itv/2000000003000000033.m3u8?cdn=hnbblive$LR•IPV4•123『线路58』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-14.m3u8$LR•IPV4•123『线路59』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-28.ctv$LR•IPV4•123『线路60』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-25.ctv$LR•IPV4•123『线路61』 -广东珠江,http://www.xzbn.site:35455/itv/2000000003000000033.m3u8?cdn=hnbblive$LR•IPV4•123『线路62』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-18.m3u8$LR•IPV4•123『线路63』 -广东珠江,http://218.15.183.23:9901/tsfile/live/23009_1.m3u8$LR•IPV4•123『线路64』 -广东珠江,http://php.jdshipin.com/TVOD/iptv.php?id=gdzj$LR•IPV4•123『线路65』 -广东珠江,http://r.jdshipin.com/sE5vO$LR•IPV4•123『线路66』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-13.ctv$LR•IPV4•123『线路67』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-22.ctv$LR•IPV4•123『线路68』 -广东珠江,http://1b6467f415.iok.la:9931/tsfile/live/1011_1.m3u8$LR•IPV4•123『线路69』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-19.ctv$LR•IPV4•123『线路70』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-2.ctv$LR•IPV4•123『线路71』 -广东珠江,http://183.3.134.56:9901/tsfile/live/0019_1.m3u8$LR•IPV4•123『线路72』 -广东珠江,https://stream1.freetv.fun/943a56c1980ac8d65adeb0603437a8cd8da6241b019e93bba89c37ff050946e5.m3u8$LR•IPV4•123『线路73』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-8.m3u8$LR•IPV4•123『线路74』 -广东珠江,http://live.xmcdn.com/live/252/64.m3u8$LR•IPV4•123『线路75』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-16.m3u8$LR•IPV4•123『线路76』 -广东珠江,http://api.mytv666.top/api/hk.php?id=6162313131666165376133396363636237633834663162366130663635663031267469643d74762669643d39$LR•IPV4•123『线路77』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-29.ctv$LR•IPV4•123『线路78』 -广东珠江,https://stream1.freetv.fun/967c330a56e8f2fed10ea053ac29b132d29e323680b5e20a53e3af6bcf7b2f54.m3u8$LR•IPV4•123『线路79』 -广东珠江,http://119.32.12.32:2901/udp/224.1.100.23:11111$LR•IPV4•123『线路80』 -广东珠江,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1463&tk=a0c4f6cfaba3$LR•IPV4•123『线路81』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-25.m3u8$LR•IPV4•123『线路82』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-4.m3u8$LR•IPV4•123『线路83』 -广东珠江,http://gmxw.7766.org:808/hls/83/index.m3u8$LR•IPV4•123『线路84』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-5.m3u8$LR•IPV4•123『线路85』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-4.m3u8$LR•IPV4•123『线路86』 -广东珠江,http://qjrhc.jydjd.top:2911/udp/224.1.100.24:11111$LR•IPV4•123『线路87』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-27.ctv$LR•IPV4•123『线路88』 -广东珠江,http://36.105.100.208:35455/itv/2000000003000000033.m3u8?cdn=hnbblive$LR•IPV4•123『线路89』 -广东珠江,https://hls-gateway.vpstv.net/streams/476221.m3u8$LR•IPV4•123『线路90』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-9.ctv$LR•IPV4•123『线路91』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-10.ctv$LR•IPV4•123『线路92』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-17.ctv$LR•IPV4•123『线路93』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-1.ctv$LR•IPV4•123『线路94』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-12.ctv$LR•IPV4•123『线路95』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-26.m3u8$LR•IPV4•123『线路96』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-4.m3u8$LR•IPV4•123『线路97』 -广东珠江,http://gslbmgsplive.miguvideo.com/migu/kailu/szxwzh/51/20250604/index.m3u8?msisdn=e72bd21eecd5af961580c4491fcf6d02&mdspid=&spid=600697&netType=0&sid=5910022410&pid=2028597139×tamp=20260712052109&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=639731952&ParentNodeID=-99&assertID=5910022410&client_ip=39.103.182.111&SecurityKey=20260712052109&promotionId=&mvid=5102012610&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=efde0e472ee6a22588c97f9b291f19aa&ddCalcu=aeafv9da1elf0a1e9427b29efe769ac28285&sv=10004&ct=android$LR•IPV4•123『线路98』 -广东珠江,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7152&tk=b53028476470$LR•IPV4•123『线路99』 -广东珠江,http://qjrhc.jydjd.top:2911/udp/224.1.100.191:11111$LR•IPV4•123『线路100』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-5.m3u8$LR•IPV4•123『线路101』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-17.m3u8$LR•IPV4•123『线路102』 -广东珠江,http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=XeKpjn&tk=zUr4K92Dl6kh$LR•IPV4•123『线路103』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-14.m3u8$LR•IPV4•123『线路104』 -广东珠江,http://[2409:8087:5e08:24::d]:6610/000000001000/1/2000000003000000033/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000003000000033&yang-1989$LR•IPV6•123『线路105』 -广东珠江,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=gdzj$LR•IPV4•123『线路106』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-6.m3u8$LR•IPV4•123『线路107』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-gao-qing-1.m3u8$LR•IPV4•123『线路108』 -广东珠江,http://38.75.136.137:98/gslb/dsdqbv/gdzj.m3u8?auth=test20251009$LR•IPV4•123『线路109』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-11.ctv$LR•IPV4•123『线路110』 -广东珠江,http://120.238.94.10:9901/tsfile/live/1009_1.m3u8$LR•IPV4•123『线路111』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-4.ctv$LR•IPV4•123『线路112』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-15.m3u8$LR•IPV4•123『线路113』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-7.m3u8$LR•IPV4•123『线路114』 -广东珠江,http://183.11.239.36:808/hls/83/index.m3u8$LR•IPV4•123『线路115』 -广东珠江,http://198.204.228.26/live/gdzj.m3u8$LR•IPV4•123『线路116』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-11.m3u8$LR•IPV4•123『线路117』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-30.m3u8$LR•IPV4•123『线路118』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-6.m3u8$LR•IPV4•123『线路119』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-3.m3u8$LR•IPV4•123『线路120』 -广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-7.ctv$LR•IPV4•123『线路121』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-11.m3u8$LR•IPV4•123『线路122』 -广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-12.m3u8$LR•IPV4•123『线路123』 -广东体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6559&tk=a0c4f6cfaba3$LR•IPV4•109『线路1』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-2.m3u8$LR•IPV4•109『线路2』 +汕头文旅体育,http://125.89.163.44:8888/udp/239.77.1.132:5146$LR•IPV4•5『线路2』 +汕头文旅体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5771&tk=a0c4f6cfaba3$LR•IPV4•5『线路3』 +汕头文旅体育,http://120.77.205.62:8087/rtp/239.253.43.44:5146$LR•IPV4•5『线路4』 +汕头文旅体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0590&tk=a0c4f6cfaba3$LR•IPV4•5『线路5』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-13.m3u8$LR•IPV4•117『线路1』 +广东珠江,http://119.32.12.17:2901/udp/224.1.100.23:11111$LR•IPV4•117『线路2』 +广东珠江,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=gdzj$LR•IPV4•117『线路3』 +广东珠江,https://hk.188766.xyz/?migutoken=34467290b64f0850801479159893a4de&id=gd_gdzj&type=sz$LR•IPV4•117『线路4』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-5.m3u8$LR•IPV4•117『线路5』 +广东珠江,https://hls-gateway.vpstv.net/streams/709494.m3u8$LR•IPV4•117『线路6』 +广东珠江,https://live.ximalaya.com/radio-first-page-app/live/252/64.m3u8?transcode=ts$LR•IPV4•117『线路7』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-28.m3u8$LR•IPV4•117『线路8』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-2.ctv$LR•IPV4•117『线路9』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-25.m3u8$LR•IPV4•117『线路10』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-8.m3u8$LR•IPV4•117『线路11』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-gao-qing-1.m3u8$LR•IPV4•117『线路12』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-11.m3u8$LR•IPV4•117『线路13』 +广东珠江,http://67.220.71.199:2347/livehttpplay?channel_id=20144$LR•IPV4•117『线路14』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-26.m3u8$LR•IPV4•117『线路15』 +广东珠江,http://125.89.163.44:8888/udp/239.77.0.1:5146$LR•IPV4•117『线路16』 +广东珠江,http://cdn2.163189.xyz/live/gdzj/stream.m3u8$LR•IPV4•117『线路17』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-20.m3u8$LR•IPV4•117『线路18』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-6.m3u8$LR•IPV4•117『线路19』 +广东珠江,http://qjrhc.jydjd.top:2911/udp/224.1.100.23:11111$LR•IPV4•117『线路20』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-18.ctv$LR•IPV4•117『线路21』 +广东珠江,https://stream1.freetv.fun/5f12b986a77ebe5440c508c13895b3e7f8767b2a47c79f3f5fe948097e15337d.m3u8$LR•IPV4•117『线路22』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-15.m3u8$LR•IPV4•117『线路23』 +广东珠江,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2277&tk=e640d0a1bf70$LR•IPV4•117『线路24』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-8.m3u8$LR•IPV4•117『线路25』 +广东珠江,http://bxtv.3a.ink/api.php?id=gdzj$LR•IPV4•117『线路26』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-10.ctv$LR•IPV4•117『线路27』 +广东珠江,https://stream1.freetv.fun/967c330a56e8f2fed10ea053ac29b132d29e323680b5e20a53e3af6bcf7b2f54.m3u8$LR•IPV4•117『线路28』 +广东珠江,https://hls-gateway.vpstv.net/streams/476221.m3u8$LR•IPV4•117『线路29』 +广东珠江,http://qjrhc.jydjd.top:2911/udp/224.1.100.191:11111$LR•IPV4•117『线路30』 +广东珠江,https://stream1.freetv.fun/3e6c646d717a824425bca6f4f12c9091cc4725ab1afa8227b24b7a5bc6fcb019.m3u8$LR•IPV4•117『线路31』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-13.m3u8$LR•IPV4•117『线路32』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-10.php$LR•IPV4•117『线路33』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-12.ctv$LR•IPV4•117『线路34』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-4.m3u8$LR•IPV4•117『线路35』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-14.m3u8$LR•IPV4•117『线路36』 +广东珠江,http://218.15.183.23:9901/tsfile/live/23009_1.m3u8$LR•IPV4•117『线路37』 +广东珠江,http://gmxw.7766.org:808/hls/83/index.m3u8$LR•IPV4•117『线路38』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-31.m3u8$LR•IPV4•117『线路39』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-25.ctv$LR•IPV4•117『线路40』 +广东珠江,http://120.238.94.10:9901/tsfile/live/1009_1.m3u8$LR•IPV4•117『线路41』 +广东珠江,http://php.jdshipin.com/TVOD/iptv.php?id=gdzj$LR•IPV4•117『线路42』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-2.m3u8$LR•IPV4•117『线路43』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-4.m3u8$LR•IPV4•117『线路44』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-11.ctv$LR•IPV4•117『线路45』 +广东珠江,http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=XeKpjn&tk=zUr4K92Dl6kh$LR•IPV4•117『线路46』 +广东珠江,http://home.wwang.pw:35455/itv/2000000003000000033.m3u8?cdn=hnbblive$LR•IPV4•117『线路47』 +广东珠江,http://1b6467f415.iok.la:9931/tsfile/live/1011_1.m3u8$LR•IPV4•117『线路48』 +广东珠江,http://www.xzbn.site:35455/itv/2000000003000000033.m3u8?cdn=hnbblive$LR•IPV4•117『线路49』 +广东珠江,http://api.mytv666.top/api/hk.php?id=6162313131666165376133396363636237633834663162366130663635663031267469643d74762669643d39$LR•IPV4•117『线路50』 +广东珠江,http://120.77.205.62:8087/rtp/239.77.0.1:5146$LR•IPV4•117『线路51』 +广东珠江,http://121.11.160.7:9901/tsfile/live/0018_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•117『线路52』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-3.m3u8$LR•IPV4•117『线路53』 +广东珠江,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1463&tk=a0c4f6cfaba3$LR•IPV4•117『线路54』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-4.m3u8$LR•IPV4•117『线路55』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-5.m3u8$LR•IPV4•117『线路56』 +广东珠江,http://36.105.100.208:35455/itv/2000000003000000033.m3u8?cdn=hnbblive$LR•IPV4•117『线路57』 +广东珠江,http://live.xmcdn.com/live/252/64.m3u8$LR•IPV4•117『线路58』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-22.ctv$LR•IPV4•117『线路59』 +广东珠江,http://183.3.134.56:9901/tsfile/live/0019_1.m3u8$LR•IPV4•117『线路60』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang.m3u8$LR•IPV4•117『线路61』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing.m3u8$LR•IPV4•117『线路62』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-4.ctv$LR•IPV4•117『线路63』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-19.ctv$LR•IPV4•117『线路64』 +广东珠江,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7152&tk=b53028476470$LR•IPV4•117『线路65』 +广东珠江,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6065&tk=a0c4f6cfaba3$LR•IPV4•117『线路66』 +广东珠江,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=gdzja$LR•IPV4•117『线路67』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-11.m3u8$LR•IPV4•117『线路68』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-10.m3u8$LR•IPV4•117『线路69』 +广东珠江,http://107.150.60.122/live/gdzja.m3u8$LR•IPV4•117『线路70』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-24.ctv$LR•IPV4•117『线路71』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-7.m3u8$LR•IPV4•117『线路72』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-12.m3u8$LR•IPV4•117『线路73』 +广东珠江,https://tv.cdn.com.mp/live/gdzj/stream.m3u8$LR•IPV4•117『线路74』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-17.m3u8$LR•IPV4•117『线路75』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-27.ctv$LR•IPV4•117『线路76』 +广东珠江,https://stream1.freetv.fun/ipv6-yan-dong-zhu-jiang-14.m3u8$LR•IPV4•117『线路77』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-21.m3u8$LR•IPV4•117『线路78』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-8.m3u8$LR•IPV4•117『线路79』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-28.ctv$LR•IPV4•117『线路80』 +广东珠江,http://r.jdshipin.com/sE5vO$LR•IPV4•117『线路81』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-13.ctv$LR•IPV4•117『线路82』 +广东珠江,http://119.32.12.32:2901/udp/224.1.100.23:11111$LR•IPV4•117『线路83』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-gao-qing-1.ctv$LR•IPV4•117『线路84』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-16.m3u8$LR•IPV4•117『线路85』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-5.ctv$LR•IPV4•117『线路86』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-18.m3u8$LR•IPV4•117『线路87』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-7.m3u8$LR•IPV4•117『线路88』 +广东珠江,http://[2409:8087:5e00:24::10]:6060/200000001898/460000089800010091/0.m3u8$LR•IPV6•117『线路89』 +广东珠江,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6340&tk=f6cc1e0a0e1a$LR•IPV4•117『线路90』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-12.m3u8$LR•IPV4•117『线路91』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-21.ctv$LR•IPV4•117『线路92』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-29.ctv$LR•IPV4•117『线路93』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-6.m3u8$LR•IPV4•117『线路94』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-1.ctv$LR•IPV4•117『线路95』 +广东珠江,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0724&tk=a0c4f6cfaba3$LR•IPV4•117『线路96』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-7.ctv$LR•IPV4•117『线路97』 +广东珠江,http://183.11.239.36:808/hls/83/index.m3u8$LR•IPV4•117『线路98』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-17.ctv$LR•IPV4•117『线路99』 +广东珠江,http://38.75.136.137:98/gslb/dsdqbv/gdzj.m3u8?auth=test20251009$LR•IPV4•117『线路100』 +广东珠江,https://stream1.freetv.fun/943a56c1980ac8d65adeb0603437a8cd8da6241b019e93bba89c37ff050946e5.m3u8$LR•IPV4•117『线路101』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-30.m3u8$LR•IPV4•117『线路102』 +广东珠江,http://lu.wqwqwq.sbs/itv/2000000003000000033.m3u8?cdn=hnbblive$LR•IPV4•117『线路103』 +广东珠江,https://stream1.freetv.fun/ipv6-yan-dong-zhu-jiang-8.m3u8$LR•IPV4•117『线路104』 +广东珠江,http://198.204.228.26/live/gdzj.m3u8$LR•IPV4•117『线路105』 +广东珠江,https://stream1.freetv.fun/468bff09871ed8a1eba7a539f461001a9683ac2cbb084ef2d52449c7f1a52478.m3u8$LR•IPV4•117『线路106』 +广东珠江,http://183.237.95.108:9901/tsfile/live/1030_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•117『线路107』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-9.m3u8$LR•IPV4•117『线路108』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-16.ctv$LR•IPV4•117『线路109』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-3.m3u8$LR•IPV4•117『线路110』 +广东珠江,http://qjrhc.jydjd.top:2911/udp/224.1.100.24:11111$LR•IPV4•117『线路111』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-23.m3u8$LR•IPV4•117『线路112』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-9.ctv$LR•IPV4•117『线路113』 +广东珠江,https://stream1.freetv.fun/yan-dong-zhu-jiang-13.m3u8$LR•IPV4•117『线路114』 +广东珠江,https://stream1.freetv.fun/cd093c8b92ae68affb34b3b0f147bbdac575b4eee76ac0410e85d2777d808b6e.m3u8$LR•IPV4•117『线路115』 +广东珠江,https://t.freetv.fun/live/yan-dong-zhu-jiang-gao-qing-15.m3u8$LR•IPV4•117『线路116』 +广东珠江,http://mgsp-cty2.live.miguvideo.com:8088/migu/kailu/szxwzh/51/20250604/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022410&pid=2028597139×tamp=20260713080310&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=639731952&ParentNodeID=-99&assertID=5910022410&client_ip=171.8.79.254&SecurityKey=20260713080310&promotionId=&mvid=5102012610&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=809d266f77c3d0ecf0c68dcc45ca51f0&sv=10004&ct=android$LR•IPV4•117『线路117』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-17.m3u8$LR•IPV4•109『线路1』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-26.ctv$LR•IPV4•109『线路2』 广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-36.m3u8$LR•IPV4•109『线路3』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-3.php$LR•IPV4•109『线路4』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-27.m3u8$LR•IPV4•109『线路5』 -广东体育,http://67.220.71.199:2347/livehttpplay?channel_id=12028$LR•IPV4•109『线路6』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-14.m3u8$LR•IPV4•109『线路7』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu.m3u8$LR•IPV4•109『线路8』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-17.ctv$LR•IPV4•109『线路9』 -广东体育,http://120.198.101.106:9901/tsfile/live/1012_1.m3u8?key=txiptv$LR•IPV4•109『线路10』 -广东体育,http://67.220.71.199:2347/livehttpplay?channel_id=20130$LR•IPV4•109『线路11』 -广东体育,http://120.77.205.62:8087/rtp/239.77.0.168:5146$LR•IPV4•109『线路12』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-6.ctv$LR•IPV4•109『线路13』 -广东体育,http://r.jdshipin.com/LiYdg$LR•IPV4•109『线路14』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-11.ctv$LR•IPV4•109『线路15』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-4.m3u8$LR•IPV4•109『线路16』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-35.ctv$LR•IPV4•109『线路17』 -广东体育,http://qjrhc.jydjd.top:2911/udp/224.1.100.34:11111$LR•IPV4•109『线路18』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-16.m3u8$LR•IPV4•109『线路19』 -广东体育,https://hls-gateway.vpstv.net/streams/476954.m3u8$LR•IPV4•109『线路20』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-5.ctv$LR•IPV4•109『线路21』 -广东体育,http://218.15.214.115:10000/udp/239.77.0.112:5146$LR•IPV4•109『线路22』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-39.m3u8$LR•IPV4•109『线路23』 -广东体育,http://php.jdshipin.com/TVOD/iptv.php?id=gdty$LR•IPV4•109『线路24』 -广东体育,http://120.77.205.62:8087/rtp/239.77.1.97:5146$LR•IPV4•109『线路25』 -广东体育,http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=t3ucOH&tk=zUr4K92Dl6kh$LR•IPV4•109『线路26』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-16.ctv$LR•IPV4•109『线路27』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-1.m3u8$LR•IPV4•109『线路28』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-10.ctv$LR•IPV4•109『线路29』 -广东体育,http://qjrhc.jydjd.top:2911/udp/224.1.100.33:11111$LR•IPV4•109『线路30』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-12.ctv$LR•IPV4•109『线路31』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-21.m3u8$LR•IPV4•109『线路32』 -广东体育,http://120.198.95.220:9901/tsfile/live/1010_1.m3u8?key=txiptv$LR•IPV4•109『线路33』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-7.ctv$LR•IPV4•109『线路34』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-5.m3u8$LR•IPV4•109『线路35』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-15.m3u8$LR•IPV4•109『线路36』 -广东体育,https://tv.cdn.com.mp/live/gdty/stream.m3u8$LR•IPV4•109『线路37』 -广东体育,http://116.77.239.26:44300/tsfile/live/0124_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•109『线路38』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-34.ctv$LR•IPV4•109『线路39』 -广东体育,http://api3.52tb.xyz/info?id=413&token=20221127jxwhhemby$LR•IPV4•109『线路40』 -广东体育,http://120.238.94.10:9901/tsfile/live/1012_1.m3u8$LR•IPV4•109『线路41』 -广东体育,http://api2.52tb.xyz/info?id=414&token=20230218jsyklh$LR•IPV4•109『线路42』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-38.ctv$LR•IPV4•109『线路43』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-12.m3u8$LR•IPV4•109『线路44』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-17.m3u8$LR•IPV4•109『线路45』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-3.m3u8$LR•IPV4•109『线路46』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-10.m3u8$LR•IPV4•109『线路47』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-23.ctv$LR•IPV4•109『线路48』 -广东体育,http://125.89.163.44:8888/udp/239.77.0.112:5146$LR•IPV4•109『线路49』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-33.ctv$LR•IPV4•109『线路50』 -广东体育,http://183.3.134.56:9901/tsfile/live/0142_1.m3u8$LR•IPV4•109『线路51』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-9.m3u8$LR•IPV4•109『线路52』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-26.ctv$LR•IPV4•109『线路53』 -广东体育,http://api.mytv666.top/api/hk.php?id=3635306561306164626438636438373731346432656366353839663866326232267469643d74762669643d3131$LR•IPV4•109『线路54』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-26.m3u8$LR•IPV4•109『线路55』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-11.m3u8$LR•IPV4•109『线路56』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-16.m3u8$LR•IPV4•109『线路57』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-14.ctv$LR•IPV4•109『线路58』 -广东体育,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=gdty$LR•IPV4•109『线路59』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-7.m3u8$LR•IPV4•109『线路60』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-6.m3u8$LR•IPV4•109『线路61』 -广东体育,http://cdn2.163189.xyz/live/gdty/stream.m3u8$LR•IPV4•109『线路62』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-17.m3u8$LR•IPV4•109『线路63』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-24.m3u8$LR•IPV4•109『线路64』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-11.m3u8$LR•IPV4•109『线路65』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-4.m3u8$LR•IPV4•109『线路66』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-4.m3u8$LR•IPV4•109『线路67』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-8.ctv$LR•IPV4•109『线路68』 -广东体育,http://218.13.170.98:9901/tsfile/live/0019_1.m3u8$LR•IPV4•109『线路69』 -广东体育,https://epg.pw/stream/7b470f9fc5c305db0c8622117b7b25ca00eb35ba3e93e865cf0ff9df5c736681.m3u8$LR•IPV4•109『线路70』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-5.m3u8$LR•IPV4•109『线路71』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-25.ctv$LR•IPV4•109『线路72』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-20.m3u8$LR•IPV4•109『线路73』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-30.ctv$LR•IPV4•109『线路74』 -广东体育,http://38.75.136.137:98/gslb/dsdqpub/gdty.m3u8?auth=testpub$LR•IPV4•109『线路75』 -广东体育,http://php.jdshipin.com/PLTV/iptv.php?id=gdty$LR•IPV4•109『线路76』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-8.m3u8$LR•IPV4•109『线路77』 -广东体育,http://120.77.205.62:8087/rtp/239.77.0.112:5146$LR•IPV4•109『线路78』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-30.m3u8$LR•IPV4•109『线路79』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-13.m3u8$LR•IPV4•109『线路80』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-15.ctv$LR•IPV4•109『线路81』 -广东体育,http://119.32.12.32:2901/udp/224.1.100.34:11111$LR•IPV4•109『线路82』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-19.m3u8$LR•IPV4•109『线路83』 -广东体育,http://api2.52tb.xyz/info?id=413&token=20230218qkyjia$LR•IPV4•109『线路84』 -广东体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8718&tk=a0c4f6cfaba3$LR•IPV4•109『线路85』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-18.ctv$LR•IPV4•109『线路86』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-4.ctv$LR•IPV4•109『线路87』 -广东体育,http://218.15.183.23:9901/tsfile/live/23012_1.m3u8$LR•IPV4•109『线路88』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-5.m3u8$LR•IPV4•109『线路89』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-13.m3u8$LR•IPV4•109『线路90』 -广东体育,http://120.238.94.82:9901/tsfile/live/1012_1.m3u8$LR•IPV4•109『线路91』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-12.m3u8$LR•IPV4•109『线路92』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-10.m3u8$LR•IPV4•109『线路93』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-39.ctv$LR•IPV4•109『线路94』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-gao-qing-2.m3u8$LR•IPV4•109『线路95』 -广东体育,http://183.11.239.36:808/hls/2/index.m3u8$LR•IPV4•109『线路96』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-24.ctv$LR•IPV4•109『线路97』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing.m3u8$LR•IPV4•109『线路98』 -广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-3.m3u8$LR•IPV4•109『线路99』 -广东体育,http://119.32.12.17:2901/udp/224.1.100.34:11111$LR•IPV4•109『线路100』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-28.ctv$LR•IPV4•109『线路101』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-12.m3u8$LR•IPV4•109『线路4』 +广东体育,http://67.220.71.199:2347/livehttpplay?channel_id=30031$LR•IPV4•109『线路5』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-38.ctv$LR•IPV4•109『线路6』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-6.ctv$LR•IPV4•109『线路7』 +广东体育,http://116.77.239.26:44300/tsfile/live/0124_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•109『线路8』 +广东体育,http://120.198.95.220:9901/tsfile/live/1010_1.m3u8?key=txiptv$LR•IPV4•109『线路9』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-27.m3u8$LR•IPV4•109『线路10』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-18.ctv$LR•IPV4•109『线路11』 +广东体育,https://epg.pw/stream/7b470f9fc5c305db0c8622117b7b25ca00eb35ba3e93e865cf0ff9df5c736681.m3u8$LR•IPV4•109『线路12』 +广东体育,http://38.75.136.137:98/gslb/dsdqpub/gdty.m3u8?auth=testpub$LR•IPV4•109『线路13』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-11.m3u8$LR•IPV4•109『线路14』 +广东体育,http://222.128.55.152:9080/live/gdty.m3u8$LR•IPV4•109『线路15』 +广东体育,http://125.89.163.44:8888/udp/239.77.0.112:5146$LR•IPV4•109『线路16』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-21.m3u8$LR•IPV4•109『线路17』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-5.m3u8$LR•IPV4•109『线路18』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-4.m3u8$LR•IPV4•109『线路19』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-10.m3u8$LR•IPV4•109『线路20』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-10.ctv$LR•IPV4•109『线路21』 +广东体育,http://120.238.94.82:9901/tsfile/live/1012_1.m3u8$LR•IPV4•109『线路22』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-16.m3u8$LR•IPV4•109『线路23』 +广东体育,http://qjrhc.jydjd.top:2911/udp/224.1.100.33:11111$LR•IPV4•109『线路24』 +广东体育,http://120.198.101.106:9901/tsfile/live/1012_1.m3u8?key=txiptv$LR•IPV4•109『线路25』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-8.ctv$LR•IPV4•109『线路26』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-17.ctv$LR•IPV4•109『线路27』 +广东体育,http://php.jdshipin.com/TVOD/iptv.php?id=gdty$LR•IPV4•109『线路28』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-25.ctv$LR•IPV4•109『线路29』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-1.m3u8$LR•IPV4•109『线路30』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-1.m3u8$LR•IPV4•109『线路31』 +广东体育,http://183.3.134.56:9901/tsfile/live/0142_1.m3u8$LR•IPV4•109『线路32』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-4.m3u8$LR•IPV4•109『线路33』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-14.m3u8$LR•IPV4•109『线路34』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-4.m3u8$LR•IPV4•109『线路35』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-11.m3u8$LR•IPV4•109『线路36』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-12.ctv$LR•IPV4•109『线路37』 +广东体育,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=gdty$LR•IPV4•109『线路38』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-30.ctv$LR•IPV4•109『线路39』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-5.m3u8$LR•IPV4•109『线路40』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-13.m3u8$LR•IPV4•109『线路41』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-23.ctv$LR•IPV4•109『线路42』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-26.m3u8$LR•IPV4•109『线路43』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-3.m3u8$LR•IPV4•109『线路44』 +广东体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2030&tk=a0c4f6cfaba3$LR•IPV4•109『线路45』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-2.m3u8$LR•IPV4•109『线路46』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-30.m3u8$LR•IPV4•109『线路47』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-15.m3u8$LR•IPV4•109『线路48』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-28.ctv$LR•IPV4•109『线路49』 +广东体育,http://api2.52tb.xyz/info?id=414&token=20230218jsyklh$LR•IPV4•109『线路50』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-10.m3u8$LR•IPV4•109『线路51』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-14.ctv$LR•IPV4•109『线路52』 +广东体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8718&tk=a0c4f6cfaba3$LR•IPV4•109『线路53』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-33.ctv$LR•IPV4•109『线路54』 +广东体育,http://67.220.71.199:2347/livehttpplay?channel_id=12028$LR•IPV4•109『线路55』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-34.ctv$LR•IPV4•109『线路56』 +广东体育,http://183.11.239.36:808/hls/2/index.m3u8$LR•IPV4•109『线路57』 +广东体育,http://api.mytv666.top/api/hk.php?id=3635306561306164626438636438373731346432656366353839663866326232267469643d74762669643d3131$LR•IPV4•109『线路58』 +广东体育,http://218.15.214.115:10000/udp/239.77.0.112:5146$LR•IPV4•109『线路59』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-gao-qing-2.m3u8$LR•IPV4•109『线路60』 +广东体育,http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=t3ucOH&tk=zUr4K92Dl6kh$LR•IPV4•109『线路61』 +广东体育,http://218.15.183.23:9901/tsfile/live/23012_1.m3u8$LR•IPV4•109『线路62』 +广东体育,http://api2.52tb.xyz/info?id=413&token=20230218qkyjia$LR•IPV4•109『线路63』 +广东体育,http://api3.52tb.xyz/info?id=413&token=20221127jxwhhemby$LR•IPV4•109『线路64』 +广东体育,http://119.32.12.17:2901/udp/224.1.100.34:11111$LR•IPV4•109『线路65』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing.m3u8$LR•IPV4•109『线路66』 +广东体育,http://218.13.170.98:9901/tsfile/live/0019_1.m3u8$LR•IPV4•109『线路67』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-24.ctv$LR•IPV4•109『线路68』 +广东体育,http://120.77.205.62:8087/rtp/239.77.0.112:5146$LR•IPV4•109『线路69』 +广东体育,http://120.77.205.62:8087/rtp/239.77.1.97:5146$LR•IPV4•109『线路70』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-9.m3u8$LR•IPV4•109『线路71』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-16.m3u8$LR•IPV4•109『线路72』 +广东体育,https://tv.cdn.com.mp/live/gdty/stream.m3u8$LR•IPV4•109『线路73』 +广东体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6559&tk=a0c4f6cfaba3$LR•IPV4•109『线路74』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-16.ctv$LR•IPV4•109『线路75』 +广东体育,http://api2.52tb.xyz/info?id=414&token=20230218qkyjia$LR•IPV4•109『线路76』 +广东体育,http://cdn2.163189.xyz/live/gdty/stream.m3u8$LR•IPV4•109『线路77』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-5.m3u8$LR•IPV4•109『线路78』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-35.ctv$LR•IPV4•109『线路79』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-24.m3u8$LR•IPV4•109『线路80』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-5.ctv$LR•IPV4•109『线路81』 +广东体育,http://120.77.205.62:8087/rtp/239.77.0.168:5146$LR•IPV4•109『线路82』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu.m3u8$LR•IPV4•109『线路83』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-7.m3u8$LR•IPV4•109『线路84』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-3.m3u8$LR•IPV4•109『线路85』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-13.m3u8$LR•IPV4•109『线路86』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-15.ctv$LR•IPV4•109『线路87』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-19.m3u8$LR•IPV4•109『线路88』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-39.m3u8$LR•IPV4•109『线路89』 +广东体育,http://php.jdshipin.com/PLTV/iptv.php?id=gdty$LR•IPV4•109『线路90』 +广东体育,http://67.220.71.199:2347/livehttpplay?channel_id=20130$LR•IPV4•109『线路91』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-39.ctv$LR•IPV4•109『线路92』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-7.ctv$LR•IPV4•109『线路93』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-11.ctv$LR•IPV4•109『线路94』 +广东体育,http://119.32.12.32:2901/udp/224.1.100.34:11111$LR•IPV4•109『线路95』 +广东体育,http://r.jdshipin.com/LiYdg$LR•IPV4•109『线路96』 +广东体育,http://qjrhc.jydjd.top:2911/udp/224.1.100.34:11111$LR•IPV4•109『线路97』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-4.ctv$LR•IPV4•109『线路98』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-17.m3u8$LR•IPV4•109『线路99』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-12.m3u8$LR•IPV4•109『线路100』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-3.php$LR•IPV4•109『线路101』 广东体育,http://183.237.95.108:9901/tsfile/live/1033_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•109『线路102』 -广东体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2030&tk=a0c4f6cfaba3$LR•IPV4•109『线路103』 -广东体育,http://222.128.55.152:9080/live/gdty.m3u8$LR•IPV4•109『线路104』 -广东体育,http://api2.52tb.xyz/info?id=414&token=20230218qkyjia$LR•IPV4•109『线路105』 -广东体育,http://67.220.71.199:2347/livehttpplay?channel_id=30031$LR•IPV4•109『线路106』 -广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-1.m3u8$LR•IPV4•109『线路107』 -广东体育,http://111.221.137.234:44330/tsfile/live/0124_1.m3u8$LR•IPV4•109『线路108』 -广东体育,http://bxtv.3a.ink/api.php?id=gdty$LR•IPV4•109『线路109』 -广东民生,http://183.11.239.36:808/hls/18/index.m3u8$LR•IPV4•53『线路1』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-12.ctv$LR•IPV4•53『线路2』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-16.ctv$LR•IPV4•53『线路3』 -广东民生,https://t.freetv.fun/live/yan-dong-min-sheng-6.m3u8$LR•IPV4•53『线路4』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-2.ctv$LR•IPV4•53『线路5』 -广东民生,http://120.77.205.62:8087/rtp/239.77.0.5:5146$LR•IPV4•53『线路6』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-17.ctv$LR•IPV4•53『线路7』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-22.ctv$LR•IPV4•53『线路8』 -广东民生,http://192.151.150.154/live/gdgg.m3u8$LR•IPV4•53『线路9』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-3.ctv$LR•IPV4•53『线路10』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-36.ctv$LR•IPV4•53『线路11』 -广东民生,https://t.freetv.fun/live/yan-dong-min-sheng-1.m3u8$LR•IPV4•53『线路12』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-21.ctv$LR•IPV4•53『线路13』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-12.m3u8$LR•IPV4•53『线路14』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-40.ctv$LR•IPV4•53『线路15』 -广东民生,http://119.32.12.17:2901/udp/224.1.100.4:11111$LR•IPV4•53『线路16』 -广东民生,http://121.11.160.7:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•53『线路17』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-35.ctv$LR•IPV4•53『线路18』 -广东民生,http://183.237.95.108:9901/tsfile/live/1032_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•53『线路19』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-4.ctv$LR•IPV4•53『线路20』 -广东民生,https://hk.188766.xyz/?migutoken=08f126f29a9e9334c492a23a0f40038f&id=gd_gdms&type=sz$LR•IPV4•53『线路21』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-11.ctv$LR•IPV4•53『线路22』 -广东民生,http://120.77.205.62:8087/rtp/239.77.0.225:5146$LR•IPV4•53『线路23』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-39.ctv$LR•IPV4•53『线路24』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-25.ctv$LR•IPV4•53『线路25』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-20.m3u8$LR•IPV4•53『线路26』 -广东民生,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1615&tk=a0c4f6cfaba3$LR•IPV4•53『线路27』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-23.ctv$LR•IPV4•53『线路28』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-32.ctv$LR•IPV4•53『线路29』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-2.m3u8$LR•IPV4•53『线路30』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-10.ctv$LR•IPV4•53『线路31』 -广东民生,http://qjrhc.jydjd.top:2911/udp/224.1.100.152:11111$LR•IPV4•53『线路32』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-18.ctv$LR•IPV4•53『线路33』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-13.ctv$LR•IPV4•53『线路34』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-27.ctv$LR•IPV4•53『线路35』 -广东民生,http://125.89.163.44:8888/udp/239.77.0.225:5146$LR•IPV4•53『线路36』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-30.ctv$LR•IPV4•53『线路37』 -广东民生,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1648&tk=a0c4f6cfaba3$LR•IPV4•53『线路38』 -广东民生,http://119.32.12.32:2901/udp/224.1.100.4:11111$LR•IPV4•53『线路39』 -广东民生,http://qjrhc.jydjd.top:2911/udp/224.1.100.4:11111$LR•IPV4•53『线路40』 -广东民生,https://t.freetv.fun/live/yan-dong-min-sheng-4.m3u8$LR•IPV4•53『线路41』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-26.ctv$LR•IPV4•53『线路42』 -广东民生,http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=hedgjP&tk=zUr4K92Dl6kh$LR•IPV4•53『线路43』 -广东民生,https://t.freetv.fun/live/yan-dong-min-sheng-7.m3u8$LR•IPV4•53『线路44』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-1.ctv$LR•IPV4•53『线路45』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-29.ctv$LR•IPV4•53『线路46』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-24.ctv$LR•IPV4•53『线路47』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-31.ctv$LR•IPV4•53『线路48』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-14.m3u8$LR•IPV4•53『线路49』 -广东民生,http://38.75.136.137:98/gslb/dsdqpub/gdgg.m3u8?auth=testpub$LR•IPV4•53『线路50』 +广东体育,https://hls-gateway.vpstv.net/streams/476954.m3u8$LR•IPV4•109『线路103』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-6.m3u8$LR•IPV4•109『线路104』 +广东体育,https://t.freetv.fun/live/yan-dong-ti-yu-gao-qing-8.m3u8$LR•IPV4•109『线路105』 +广东体育,http://120.238.94.10:9901/tsfile/live/1012_1.m3u8$LR•IPV4•109『线路106』 +广东体育,https://stream1.freetv.fun/yan-dong-ti-yu-20.m3u8$LR•IPV4•109『线路107』 +广东体育,http://bxtv.3a.ink/api.php?id=gdty$LR•IPV4•109『线路108』 +广东体育,http://111.221.137.234:44330/tsfile/live/0124_1.m3u8$LR•IPV4•109『线路109』 +广东民生,http://119.32.12.17:2901/udp/224.1.100.4:11111$LR•IPV4•53『线路1』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-10.ctv$LR•IPV4•53『线路2』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-1.ctv$LR•IPV4•53『线路3』 +广东民生,http://38.75.136.137:98/gslb/dsdqpub/gdgg.m3u8?auth=testpub$LR•IPV4•53『线路4』 +广东民生,https://t.freetv.fun/live/yan-dong-min-sheng-1.m3u8$LR•IPV4•53『线路5』 +广东民生,http://119.32.12.32:2901/udp/224.1.100.4:11111$LR•IPV4•53『线路6』 +广东民生,http://qjrhc.jydjd.top:2911/udp/224.1.100.4:11111$LR•IPV4•53『线路7』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-14.m3u8$LR•IPV4•53『线路8』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-17.ctv$LR•IPV4•53『线路9』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-2.m3u8$LR•IPV4•53『线路10』 +广东民生,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1615&tk=a0c4f6cfaba3$LR•IPV4•53『线路11』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-39.ctv$LR•IPV4•53『线路12』 +广东民生,https://t.freetv.fun/live/yan-dong-min-sheng-7.m3u8$LR•IPV4•53『线路13』 +广东民生,http://120.77.205.62:8087/rtp/239.77.0.5:5146$LR•IPV4•53『线路14』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-2.ctv$LR•IPV4•53『线路15』 +广东民生,https://t.freetv.fun/live/yan-dong-min-sheng-4.m3u8$LR•IPV4•53『线路16』 +广东民生,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1648&tk=a0c4f6cfaba3$LR•IPV4•53『线路17』 +广东民生,http://125.89.163.44:8888/udp/239.77.0.225:5146$LR•IPV4•53『线路18』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-13.ctv$LR•IPV4•53『线路19』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-6.ctv$LR•IPV4•53『线路20』 +广东民生,http://120.77.205.62:8087/rtp/239.77.0.225:5146$LR•IPV4•53『线路21』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-27.ctv$LR•IPV4•53『线路22』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-23.ctv$LR•IPV4•53『线路23』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-30.ctv$LR•IPV4•53『线路24』 +广东民生,http://qjrhc.jydjd.top:2911/udp/224.1.100.152:11111$LR•IPV4•53『线路25』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-21.ctv$LR•IPV4•53『线路26』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-36.ctv$LR•IPV4•53『线路27』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-12.m3u8$LR•IPV4•53『线路28』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-35.ctv$LR•IPV4•53『线路29』 +广东民生,https://hk.188766.xyz/?migutoken=08f126f29a9e9334c492a23a0f40038f&id=gd_gdms&type=sz$LR•IPV4•53『线路30』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-32.ctv$LR•IPV4•53『线路31』 +广东民生,https://t.freetv.fun/live/yan-dong-min-sheng-6.m3u8$LR•IPV4•53『线路32』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-26.ctv$LR•IPV4•53『线路33』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-9.ctv$LR•IPV4•53『线路34』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-25.ctv$LR•IPV4•53『线路35』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-20.m3u8$LR•IPV4•53『线路36』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-31.ctv$LR•IPV4•53『线路37』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-18.ctv$LR•IPV4•53『线路38』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-22.ctv$LR•IPV4•53『线路39』 +广东民生,http://183.11.239.36:808/hls/18/index.m3u8$LR•IPV4•53『线路40』 +广东民生,http://183.237.95.108:9901/tsfile/live/1032_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•53『线路41』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-11.ctv$LR•IPV4•53『线路42』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-4.ctv$LR•IPV4•53『线路43』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-12.ctv$LR•IPV4•53『线路44』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-3.ctv$LR•IPV4•53『线路45』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-40.ctv$LR•IPV4•53『线路46』 +广东民生,http://121.11.160.7:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•53『线路47』 +广东民生,http://192.151.150.154/live/gdgg.m3u8$LR•IPV4•53『线路48』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-29.ctv$LR•IPV4•53『线路49』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-16.ctv$LR•IPV4•53『线路50』 广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-34.ctv$LR•IPV4•53『线路51』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-9.ctv$LR•IPV4•53『线路52』 -广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-6.ctv$LR•IPV4•53『线路53』 -广东少儿,http://gmxw.7766.org:808/hls/175/index.m3u8$LR•IPV4•2『线路1』 -广东少儿,http://192.151.150.154/live/gdtvs5.m3u8$LR•IPV4•2『线路2』 +广东民生,http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=hedgjP&tk=zUr4K92Dl6kh$LR•IPV4•53『线路52』 +广东民生,https://stream1.freetv.fun/yan-dong-min-sheng-24.ctv$LR•IPV4•53『线路53』 +广东少儿,http://192.151.150.154/live/gdtvs5.m3u8$LR•IPV4•2『线路1』 +广东少儿,http://gmxw.7766.org:808/hls/175/index.m3u8$LR•IPV4•2『线路2』 岭南戏曲,http://192.151.150.154/live/gdlnxq.m3u8$LR•IPV4 大湾区卫视,http://183.11.239.36:808/hls/132/index.m3u8$LR•IPV4•6『线路1』 -大湾区卫视,http://192.151.150.154/live/nfws.m3u8$LR•IPV4•6『线路2』 -大湾区卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000011619&livemode=1&stbId=yu&mode=1&$LR•IPV4•6『线路3』 -大湾区卫视,http://gslbserv.itv.cmvideo.cn:80/5000000011000265001/1.m3u8?channel-id=ystenlive&Contentid=1000000002000011619&livemode=1&stbId=toShengfen&mode=1&$LR•IPV4•6『线路4』 -大湾区卫视,http://43.251.226.89:8080/play/39.m3u8$LR•IPV4•6『线路5』 -大湾区卫视,p3p://167.114.175.6:55331/63ec48e000076bf6e43672044d3841bb$LR•IPV4•6『线路6』 -广州综合,http://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=c8dbe86d6f86eb1a21999ab479fd5667&txTime=18d3c4690e8$LR•IPV4•55『线路1』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-29.ctv$LR•IPV4•55『线路2』 -广州综合,https://tencentplaygsm.gztv.com/live/zonghes.m3u8?txTime=659a5111&txSecret=36b95cb955327d8262812e0e4f772aa5$LR•IPV4•55『线路3』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-22.ctv$LR•IPV4•55『线路4』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-11.ctv$LR•IPV4•55『线路5』 -广州综合,https://tencentplaygsm.gztv.com/live/zonghes.m3u8?txTime=6594e9b7&txSecret=adb23b34fb694750ac8b8ff14a21a424$LR•IPV4•55『线路6』 -广州综合,http://120.77.205.62:8087/rtp/239.253.43.71:5146$LR•IPV4•55『线路7』 -广州综合,https://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=439b0fd2cf766b363c93a59cbcbe1370&txTime=18d00acf488$LR•IPV4•55『线路8』 -广州综合,https://t.freetv.fun/live/yan-zhou-zong-he-3.m3u8$LR•IPV4•55『线路9』 -广州综合,http://qjrhc.jydjd.top:2911/udp/224.1.100.35:11111$LR•IPV4•55『线路10』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-1.m3u8$LR•IPV4•55『线路11』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-19.ctv$LR•IPV4•55『线路12』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-31.ctv$LR•IPV4•55『线路13』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-12.ctv$LR•IPV4•55『线路14』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-26.ctv$LR•IPV4•55『线路15』 -广州综合,https://t.freetv.fun/live/yan-zhou-zong-he-2.m3u8$LR•IPV4•55『线路16』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-4.ctv$LR•IPV4•55『线路17』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-2.m3u8$LR•IPV4•55『线路18』 -广州综合,http://r.jdshipin.com/snhya$LR•IPV4•55『线路19』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-8.ctv$LR•IPV4•55『线路20』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-27.ctv$LR•IPV4•55『线路21』 +大湾区卫视,http://43.251.226.89:8080/play/39.m3u8$LR•IPV4•6『线路2』 +大湾区卫视,p3p://167.114.175.6:55331/63ec48e000076bf6e43672044d3841bb$LR•IPV4•6『线路3』 +大湾区卫视,http://192.151.150.154/live/nfws.m3u8$LR•IPV4•6『线路4』 +大湾区卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000011619&livemode=1&stbId=yu&mode=1&$LR•IPV4•6『线路5』 +大湾区卫视,http://gslbserv.itv.cmvideo.cn:80/5000000011000265001/1.m3u8?channel-id=ystenlive&Contentid=1000000002000011619&livemode=1&stbId=toShengfen&mode=1&$LR•IPV4•6『线路6』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-25.ctv$LR•IPV4•55『线路1』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-26.ctv$LR•IPV4•55『线路2』 +广州综合,http://180.142.144.54:8181/tsfile/live/0115_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•55『线路3』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-17.ctv$LR•IPV4•55『线路4』 +广州综合,https://t.freetv.fun/live/yan-zhou-zong-he-2.m3u8$LR•IPV4•55『线路5』 +广州综合,http://125.89.163.44:8888/udp/239.253.43.71:5146$LR•IPV4•55『线路6』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-30.ctv$LR•IPV4•55『线路7』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-2.m3u8$LR•IPV4•55『线路8』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-23.ctv$LR•IPV4•55『线路9』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-19.ctv$LR•IPV4•55『线路10』 +广州综合,http://r.jdshipin.com/snhya$LR•IPV4•55『线路11』 +广州综合,http://r.jdshipin.com/iR6Gq$LR•IPV4•55『线路12』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-1.m3u8$LR•IPV4•55『线路13』 +广州综合,http://qjrhc.jydjd.top:2911/udp/224.1.100.35:11111$LR•IPV4•55『线路14』 +广州综合,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/gztv.js?id=zonghes$LR•IPV4•55『线路15』 +广州综合,http://180.143.83.48:8181/tsfile/live/0115_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•55『线路16』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-5.ctv$LR•IPV4•55『线路17』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-13.ctv$LR•IPV4•55『线路18』 +广州综合,http://qjrhc.jydjd.top:2911/udp/224.1.100.36:11111$LR•IPV4•55『线路19』 +广州综合,https://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=f0147ae6453a80f5989f382368b72aad&txTime=18d00acf487$LR•IPV4•55『线路20』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-29.ctv$LR•IPV4•55『线路21』 广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-14.ctv$LR•IPV4•55『线路22』 -广州综合,http://qjrhc.jydjd.top:2911/udp/224.1.100.36:11111$LR•IPV4•55『线路23』 -广州综合,https://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=e381ab098841a0badbf7e11f24143cf7&txTime=18e6ff43701$LR•IPV4•55『线路24』 -广州综合,http://125.89.163.44:8888/udp/239.253.43.71:5146$LR•IPV4•55『线路25』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-6.m3u8$LR•IPV4•55『线路26』 -广州综合,https://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=5d7708684007fcea395caff98369084c&txTime=19019c37743$LR•IPV4•55『线路27』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-24.ctv$LR•IPV4•55『线路28』 -广州综合,http://119.32.12.17:2901/udp/224.1.100.36:11111$LR•IPV4•55『线路29』 -广州综合,http://180.143.83.48:8181/tsfile/live/0115_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•55『线路30』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-16.ctv$LR•IPV4•55『线路31』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-3.ctv$LR•IPV4•55『线路23』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-24.ctv$LR•IPV4•55『线路24』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-4.ctv$LR•IPV4•55『线路25』 +广州综合,https://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=5d7708684007fcea395caff98369084c&txTime=19019c37743$LR•IPV4•55『线路26』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-6.m3u8$LR•IPV4•55『线路27』 +广州综合,https://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=439b0fd2cf766b363c93a59cbcbe1370&txTime=18d00acf488$LR•IPV4•55『线路28』 +广州综合,http://dns.yiandrive.com:15907/gztv/zhonghe$LR•IPV4•55『线路29』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-8.ctv$LR•IPV4•55『线路30』 +广州综合,https://t.freetv.fun/live/yan-zhou-zong-he-3.m3u8$LR•IPV4•55『线路31』 广州综合,https://t.freetv.fun/live/yan-zhou-zong-he-7.m3u8$LR•IPV4•55『线路32』 -广州综合,https://t.freetv.fun/live/yan-zhou-zong-he-1.m3u8$LR•IPV4•55『线路33』 -广州综合,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/gztv.js?id=zonghes$LR•IPV4•55『线路34』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-30.ctv$LR•IPV4•55『线路35』 -广州综合,https://t.freetv.fun/live/yan-zhou-zong-he-5.m3u8$LR•IPV4•55『线路36』 -广州综合,http://r.jdshipin.com/iR6Gq$LR•IPV4•55『线路37』 -广州综合,https://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=f0147ae6453a80f5989f382368b72aad&txTime=18d00acf487$LR•IPV4•55『线路38』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-13.ctv$LR•IPV4•55『线路39』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-23.ctv$LR•IPV4•55『线路40』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-17.ctv$LR•IPV4•55『线路41』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-25.ctv$LR•IPV4•55『线路42』 -广州综合,http://119.32.12.32:2901/udp/224.1.100.36:11111$LR•IPV4•55『线路43』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-10.m3u8$LR•IPV4•55『线路44』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-5.ctv$LR•IPV4•55『线路45』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-3.ctv$LR•IPV4•55『线路46』 -广州综合,http://180.142.144.54:8181/tsfile/live/0115_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•55『线路47』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-9.ctv$LR•IPV4•55『线路48』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-18.ctv$LR•IPV4•55『线路49』 -广州综合,https://t.freetv.fun/live/yan-zhou-zong-he.php$LR•IPV4•55『线路50』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-21.ctv$LR•IPV4•55『线路51』 -广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-15.ctv$LR•IPV4•55『线路52』 -广州综合,http://120.77.205.62:8087/rtp/239.253.43.66:5146$LR•IPV4•55『线路53』 -广州综合,http://dns.yiandrive.com:15907/gztv/zhonghe$LR•IPV4•55『线路54』 -广州综合,https://t.freetv.fun/live/yan-zhou-zong-he-8.m3u8$LR•IPV4•55『线路55』 -广州新闻,http://tencentplay.gztv.com/live/xinwen.m3u8?txSecret=d2c2db0b598c02ec1b5623728434d367&txTime=18d57929bd3$LR•IPV4•40『线路1』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-26.ctv$LR•IPV4•40『线路2』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-27.ctv$LR•IPV4•40『线路3』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-18.ctv$LR•IPV4•40『线路4』 -广州新闻,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9924&tk=a0c4f6cfaba3$LR•IPV4•40『线路5』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-20.ctv$LR•IPV4•40『线路6』 -广州新闻,https://tencentplaygsm.gztv.com/live/xinwen.m3u8?txTime=659a511e&txSecret=1a5bbbb41bc728d271c8b99e5482f8e7$LR•IPV4•40『线路7』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-13.ctv$LR•IPV4•40『线路8』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-11.m3u8$LR•IPV4•40『线路9』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-19.ctv$LR•IPV4•40『线路10』 -广州新闻,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/gztv.js?id=xinwen$LR•IPV4•40『线路11』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-12.ctv$LR•IPV4•40『线路12』 -广州新闻,http://119.32.12.17:2901/udp/224.1.100.38:11111$LR•IPV4•40『线路13』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-25.ctv$LR•IPV4•40『线路14』 -广州新闻,http://qjrhc.jydjd.top:2911/udp/224.1.100.37:11111$LR•IPV4•40『线路15』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-2.ctv$LR•IPV4•40『线路16』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-6.ctv$LR•IPV4•40『线路17』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-8.m3u8$LR•IPV4•40『线路18』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-14.ctv$LR•IPV4•40『线路19』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-21.ctv$LR•IPV4•40『线路20』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-16.ctv$LR•IPV4•40『线路21』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-23.ctv$LR•IPV4•40『线路22』 -广州新闻,https://tencentplaygsm.gztv.com/live/xinwen.m3u8?txTime=6594e9c2&txSecret=c5a1adcdef8653b7d9c228d3905b414f$LR•IPV4•40『线路23』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-3.m3u8$LR•IPV4•40『线路24』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-7.ctv$LR•IPV4•40『线路25』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-15.ctv$LR•IPV4•40『线路26』 -广州新闻,https://t.freetv.fun/live/yan-zhou-xin-wen-2.m3u8$LR•IPV4•40『线路27』 -广州新闻,https://tencentplay.gztv.com/live/xinwen.m3u8?txSecret=d217bd6cf85c93e3b47b96504cd2dc1c&txTime=18e6ff29019$LR•IPV4•40『线路28』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-17.ctv$LR•IPV4•40『线路29』 -广州新闻,http://125.89.163.44:8888/udp/239.253.43.72:5146$LR•IPV4•40『线路30』 -广州新闻,http://dns.yiandrive.com:15907/gztv/xinwen$LR•IPV4•40『线路31』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-4.ctv$LR•IPV4•40『线路32』 +广州综合,https://tencentplaygsm.gztv.com/live/zonghes.m3u8?txTime=659a5111&txSecret=36b95cb955327d8262812e0e4f772aa5$LR•IPV4•55『线路33』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-11.ctv$LR•IPV4•55『线路34』 +广州综合,https://t.freetv.fun/live/yan-zhou-zong-he-8.m3u8$LR•IPV4•55『线路35』 +广州综合,https://t.freetv.fun/live/yan-zhou-zong-he.php$LR•IPV4•55『线路36』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-18.ctv$LR•IPV4•55『线路37』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-12.ctv$LR•IPV4•55『线路38』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-15.ctv$LR•IPV4•55『线路39』 +广州综合,http://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=c8dbe86d6f86eb1a21999ab479fd5667&txTime=18d3c4690e8$LR•IPV4•55『线路40』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-16.ctv$LR•IPV4•55『线路41』 +广州综合,http://119.32.12.32:2901/udp/224.1.100.36:11111$LR•IPV4•55『线路42』 +广州综合,https://tencentplaygsm.gztv.com/live/zonghes.m3u8?txTime=6594e9b7&txSecret=adb23b34fb694750ac8b8ff14a21a424$LR•IPV4•55『线路43』 +广州综合,https://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=e381ab098841a0badbf7e11f24143cf7&txTime=18e6ff43701$LR•IPV4•55『线路44』 +广州综合,https://t.freetv.fun/live/yan-zhou-zong-he-5.m3u8$LR•IPV4•55『线路45』 +广州综合,http://119.32.12.17:2901/udp/224.1.100.36:11111$LR•IPV4•55『线路46』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-9.ctv$LR•IPV4•55『线路47』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-21.ctv$LR•IPV4•55『线路48』 +广州综合,https://t.freetv.fun/live/yan-zhou-zong-he-1.m3u8$LR•IPV4•55『线路49』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-10.m3u8$LR•IPV4•55『线路50』 +广州综合,http://120.77.205.62:8087/rtp/239.253.43.71:5146$LR•IPV4•55『线路51』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-27.ctv$LR•IPV4•55『线路52』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-22.ctv$LR•IPV4•55『线路53』 +广州综合,http://120.77.205.62:8087/rtp/239.253.43.66:5146$LR•IPV4•55『线路54』 +广州综合,https://stream1.freetv.fun/yan-zhou-zong-he-31.ctv$LR•IPV4•55『线路55』 +广州新闻,http://qjrhc.jydjd.top:2911/udp/224.1.100.37:11111$LR•IPV4•40『线路1』 +广州新闻,https://t.freetv.fun/live/yan-zhou-xin-wen-2.m3u8$LR•IPV4•40『线路2』 +广州新闻,https://tencentplaygsm.gztv.com/live/xinwen.m3u8?txTime=659a511e&txSecret=1a5bbbb41bc728d271c8b99e5482f8e7$LR•IPV4•40『线路3』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-15.ctv$LR•IPV4•40『线路4』 +广州新闻,https://t.freetv.fun/live/yan-zhou-xin-wen.m3u8$LR•IPV4•40『线路5』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-13.ctv$LR•IPV4•40『线路6』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-6.ctv$LR•IPV4•40『线路7』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-20.ctv$LR•IPV4•40『线路8』 +广州新闻,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/gztv.js?id=xinwen$LR•IPV4•40『线路9』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-3.m3u8$LR•IPV4•40『线路10』 +广州新闻,http://119.32.12.32:2901/udp/224.1.100.38:11111$LR•IPV4•40『线路11』 +广州新闻,http://125.89.163.44:8888/udp/239.253.43.72:5146$LR•IPV4•40『线路12』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-5.m3u8$LR•IPV4•40『线路13』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-7.ctv$LR•IPV4•40『线路14』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-4.ctv$LR•IPV4•40『线路15』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-23.ctv$LR•IPV4•40『线路16』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-16.ctv$LR•IPV4•40『线路17』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-25.ctv$LR•IPV4•40『线路18』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-2.ctv$LR•IPV4•40『线路19』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-18.ctv$LR•IPV4•40『线路20』 +广州新闻,https://tencentplay.gztv.com/live/xinwen.m3u8?txSecret=6f73647cae387d01a3c2132074132a83&txTime=18d00acf487$LR•IPV4•40『线路21』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-14.ctv$LR•IPV4•40『线路22』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-27.ctv$LR•IPV4•40『线路23』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-19.ctv$LR•IPV4•40『线路24』 +广州新闻,https://t.freetv.fun/live/yan-zhou-xin-wen-4.php$LR•IPV4•40『线路25』 +广州新闻,https://tencentplay.gztv.com/live/xinwen.m3u8?txSecret=d217bd6cf85c93e3b47b96504cd2dc1c&txTime=18e6ff29019$LR•IPV4•40『线路26』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-21.ctv$LR•IPV4•40『线路27』 +广州新闻,http://119.32.12.17:2901/udp/224.1.100.38:11111$LR•IPV4•40『线路28』 +广州新闻,http://qjrhc.jydjd.top:2911/udp/224.1.100.38:11111$LR•IPV4•40『线路29』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-26.ctv$LR•IPV4•40『线路30』 +广州新闻,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9924&tk=a0c4f6cfaba3$LR•IPV4•40『线路31』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-8.m3u8$LR•IPV4•40『线路32』 广州新闻,https://tencentplay.gztv.com/live/xinwen.m3u8?txSecret=f80e5b7654c57c7571a314d94befe320&txTime=19019c051d5$LR•IPV4•40『线路33』 -广州新闻,https://tencentplay.gztv.com/live/xinwen.m3u8?txSecret=6f73647cae387d01a3c2132074132a83&txTime=18d00acf487$LR•IPV4•40『线路34』 -广州新闻,http://119.32.12.32:2901/udp/224.1.100.38:11111$LR•IPV4•40『线路35』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-5.m3u8$LR•IPV4•40『线路36』 -广州新闻,https://t.freetv.fun/live/yan-zhou-xin-wen.m3u8$LR•IPV4•40『线路37』 -广州新闻,http://qjrhc.jydjd.top:2911/udp/224.1.100.38:11111$LR•IPV4•40『线路38』 -广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-10.ctv$LR•IPV4•40『线路39』 -广州新闻,https://t.freetv.fun/live/yan-zhou-xin-wen-4.php$LR•IPV4•40『线路40』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-4.ctv$LR•IPV4•40『线路1』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-21.ctv$LR•IPV4•40『线路2』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-15.ctv$LR•IPV4•40『线路3』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-20.ctv$LR•IPV4•40『线路4』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-18.ctv$LR•IPV4•40『线路5』 -广州影视,http://qjrhc.jydjd.top:2911/udp/224.1.100.88:11111$LR•IPV4•40『线路6』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-24.ctv$LR•IPV4•40『线路7』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-8.m3u8$LR•IPV4•40『线路8』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-2.ctv$LR•IPV4•40『线路9』 -广州影视,https://tencentplaygsm.gztv.com/live/yingshi.m3u8?txTime=6594e994&txSecret=52eedb1aafdda80adf996079505cc49d$LR•IPV4•40『线路10』 -广州影视,https://tencentplaygsm.gztv.com/live/yingshi.m3u8?txTime=659a5117&txSecret=52195f79cab012334aa7ef5c153e8ddd$LR•IPV4•40『线路11』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-1.m3u8$LR•IPV4•40『线路12』 -广州影视,http://120.77.205.62:8087/rtp/239.253.43.73:5146$LR•IPV4•40『线路13』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-13.ctv$LR•IPV4•40『线路14』 -广州影视,https://tencentplay.gztv.com/live/yingshi.m3u8?txSecret=7e9bddad7c8911626ed1d2c09fc605d9&txTime=18d00acf487$LR•IPV4•40『线路15』 -广州影视,http://r.jdshipin.com/TcKr2$LR•IPV4•40『线路16』 -广州影视,http://125.89.163.44:8888/udp/239.253.43.73:5146$LR•IPV4•40『线路17』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-16.m3u8$LR•IPV4•40『线路18』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-3.m3u8$LR•IPV4•40『线路19』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-10.ctv$LR•IPV4•40『线路20』 -广州影视,http://qjrhc.jydjd.top:2911/udp/224.1.100.87:11111$LR•IPV4•40『线路21』 -广州影视,http://tencentplay.gztv.com/live/yingshi.m3u8?txSecret=1bd3a1082ab5b89f48c1bff9a3760da4&txTime=18d57929bd4$LR•IPV4•40『线路22』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-7.ctv$LR•IPV4•40『线路23』 -广州影视,http://120.77.205.62:8087/rtp/239.253.43.68:5146$LR•IPV4•40『线路24』 -广州影视,http://180.143.83.48:8181/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•40『线路25』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-12.ctv$LR•IPV4•40『线路26』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-11.ctv$LR•IPV4•40『线路27』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-28.ctv$LR•IPV4•40『线路28』 -广州影视,http://r.jdshipin.com/sFw4S$LR•IPV4•40『线路29』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-22.ctv$LR•IPV4•40『线路30』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-14.ctv$LR•IPV4•40『线路31』 -广州影视,http://dns.yiandrive.com:15907/gztv/yingshi$LR•IPV4•40『线路32』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-19.ctv$LR•IPV4•40『线路33』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-25.m3u8$LR•IPV4•40『线路34』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-23.ctv$LR•IPV4•40『线路35』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-17.ctv$LR•IPV4•40『线路36』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-5.ctv$LR•IPV4•40『线路37』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-6.ctv$LR•IPV4•40『线路38』 -广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-9.ctv$LR•IPV4•40『线路39』 -广州影视,http://183.239.236.91:8088/hls/43/index.m3u8$LR•IPV4•40『线路40』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-11.m3u8$LR•IPV4•40『线路34』 +广州新闻,http://tencentplay.gztv.com/live/xinwen.m3u8?txSecret=d2c2db0b598c02ec1b5623728434d367&txTime=18d57929bd3$LR•IPV4•40『线路35』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-17.ctv$LR•IPV4•40『线路36』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-10.ctv$LR•IPV4•40『线路37』 +广州新闻,https://stream1.freetv.fun/yan-zhou-xin-wen-12.ctv$LR•IPV4•40『线路38』 +广州新闻,https://tencentplaygsm.gztv.com/live/xinwen.m3u8?txTime=6594e9c2&txSecret=c5a1adcdef8653b7d9c228d3905b414f$LR•IPV4•40『线路39』 +广州新闻,http://dns.yiandrive.com:15907/gztv/xinwen$LR•IPV4•40『线路40』 +广州影视,https://tencentplaygsm.gztv.com/live/yingshi.m3u8?txTime=659a5117&txSecret=52195f79cab012334aa7ef5c153e8ddd$LR•IPV4•40『线路1』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-7.ctv$LR•IPV4•40『线路2』 +广州影视,https://tencentplay.gztv.com/live/yingshi.m3u8?txSecret=7e9bddad7c8911626ed1d2c09fc605d9&txTime=18d00acf487$LR•IPV4•40『线路3』 +广州影视,http://180.143.83.48:8181/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•40『线路4』 +广州影视,http://r.jdshipin.com/sFw4S$LR•IPV4•40『线路5』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-12.ctv$LR•IPV4•40『线路6』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-8.m3u8$LR•IPV4•40『线路7』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-23.ctv$LR•IPV4•40『线路8』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-11.ctv$LR•IPV4•40『线路9』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-24.ctv$LR•IPV4•40『线路10』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-2.ctv$LR•IPV4•40『线路11』 +广州影视,http://dns.yiandrive.com:15907/gztv/yingshi$LR•IPV4•40『线路12』 +广州影视,http://qjrhc.jydjd.top:2911/udp/224.1.100.87:11111$LR•IPV4•40『线路13』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-18.ctv$LR•IPV4•40『线路14』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-3.m3u8$LR•IPV4•40『线路15』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-20.ctv$LR•IPV4•40『线路16』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-22.ctv$LR•IPV4•40『线路17』 +广州影视,https://tencentplaygsm.gztv.com/live/yingshi.m3u8?txTime=6594e994&txSecret=52eedb1aafdda80adf996079505cc49d$LR•IPV4•40『线路18』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-9.ctv$LR•IPV4•40『线路19』 +广州影视,http://125.89.163.44:8888/udp/239.253.43.73:5146$LR•IPV4•40『线路20』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-25.m3u8$LR•IPV4•40『线路21』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-5.ctv$LR•IPV4•40『线路22』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-28.ctv$LR•IPV4•40『线路23』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-6.ctv$LR•IPV4•40『线路24』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-1.m3u8$LR•IPV4•40『线路25』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-19.ctv$LR•IPV4•40『线路26』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-15.ctv$LR•IPV4•40『线路27』 +广州影视,http://qjrhc.jydjd.top:2911/udp/224.1.100.88:11111$LR•IPV4•40『线路28』 +广州影视,http://183.239.236.91:8088/hls/43/index.m3u8$LR•IPV4•40『线路29』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-16.m3u8$LR•IPV4•40『线路30』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-17.ctv$LR•IPV4•40『线路31』 +广州影视,http://120.77.205.62:8087/rtp/239.253.43.73:5146$LR•IPV4•40『线路32』 +广州影视,http://r.jdshipin.com/TcKr2$LR•IPV4•40『线路33』 +广州影视,http://tencentplay.gztv.com/live/yingshi.m3u8?txSecret=1bd3a1082ab5b89f48c1bff9a3760da4&txTime=18d57929bd4$LR•IPV4•40『线路34』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-10.ctv$LR•IPV4•40『线路35』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-13.ctv$LR•IPV4•40『线路36』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-21.ctv$LR•IPV4•40『线路37』 +广州影视,http://120.77.205.62:8087/rtp/239.253.43.68:5146$LR•IPV4•40『线路38』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-14.ctv$LR•IPV4•40『线路39』 +广州影视,https://stream1.freetv.fun/yan-zhou-ying-shi-4.ctv$LR•IPV4•40『线路40』 广州法治,http://tencentplay.gztv.com/live/fazhi.m3u8?txSecret=3e84cd8eba844b5dc2150612295c7a52&txTime=18d578f4493$LR•IPV4 -广州竞赛,http://8.138.7.223/tv/gzjs.m3u8$LR•IPV4•54『线路1』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-1.m3u8$LR•IPV4•54『线路2』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-4.ctv$LR•IPV4•54『线路3』 -广州竞赛,https://tencentplaygsm.gztv.com/live/jingsai.m3u8?txTime=6594e9c9&txSecret=66dc779a3a36272e652238dd37624bbf$LR•IPV4•54『线路4』 -广州竞赛,http://qjrhc.jydjd.top:2911/udp/224.1.100.106:11111$LR•IPV4•54『线路5』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-30.ctv$LR•IPV4•54『线路6』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-14.ctv$LR•IPV4•54『线路7』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-25.ctv$LR•IPV4•54『线路8』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-4.m3u8$LR•IPV4•54『线路9』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-13.m3u8$LR•IPV4•54『线路10』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-9.ctv$LR•IPV4•54『线路11』 -广州竞赛,http://nn.7x9d.cn/地方台8563/gsw.php?id=gzjs$LR•IPV4•54『线路12』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-6.ctv$LR•IPV4•54『线路13』 -广州竞赛,http://119.32.12.32:2901/udp/224.1.100.105:11111$LR•IPV4•54『线路14』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-35.ctv$LR•IPV4•54『线路15』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-3.ctv$LR•IPV4•54『线路16』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-24.ctv$LR•IPV4•54『线路17』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-22.m3u8$LR•IPV4•54『线路18』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-38.ctv$LR•IPV4•54『线路19』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-12.ctv$LR•IPV4•54『线路20』 -广州竞赛,http://119.32.12.17:2901/udp/224.1.100.105:11111$LR•IPV4•54『线路21』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-6.m3u8$LR•IPV4•54『线路22』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-19.ctv$LR•IPV4•54『线路23』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-27.ctv$LR•IPV4•54『线路24』 -广州竞赛,http://qjrhc.jydjd.top:2911/udp/224.1.100.105:11111$LR•IPV4•54『线路25』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-3.m3u8$LR•IPV4•54『线路26』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-15.ctv$LR•IPV4•54『线路27』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-34.ctv$LR•IPV4•54『线路28』 -广州竞赛,http://125.89.163.44:8888/udp/239.253.43.75:5146$LR•IPV4•54『线路29』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-10.m3u8$LR•IPV4•54『线路30』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-16.ctv$LR•IPV4•54『线路31』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-7.ctv$LR•IPV4•54『线路32』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-18.ctv$LR•IPV4•54『线路33』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-33.ctv$LR•IPV4•54『线路34』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-26.ctv$LR•IPV4•54『线路35』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-28.ctv$LR•IPV4•54『线路36』 -广州竞赛,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/gztv.js?id=jingsai$LR•IPV4•54『线路37』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-5.m3u8$LR•IPV4•54『线路38』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-21.ctv$LR•IPV4•54『线路39』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-29.ctv$LR•IPV4•54『线路40』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-12.m3u8$LR•IPV4•54『线路41』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-8.m3u8$LR•IPV4•54『线路42』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-11.m3u8$LR•IPV4•54『线路43』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-31.ctv$LR•IPV4•54『线路44』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-7.m3u8$LR•IPV4•54『线路45』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-2.m3u8$LR•IPV4•54『线路46』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-37.m3u8$LR•IPV4•54『线路47』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-23.ctv$LR•IPV4•54『线路48』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-36.ctv$LR•IPV4•54『线路49』 -广州竞赛,https://tencentplay.gztv.com/live/jingsai.m3u8?txSecret=49c8041461997c7a97dbcc3c7fd11b4f&txTime=18d00acf487$LR•IPV4•54『线路50』 -广州竞赛,https://tencentplaygsm.gztv.com/live/jingsai.m3u8?txTime=659a5124&txSecret=72dcf9be1f18b8cbb1d96df34dc9a2a9$LR•IPV4•54『线路51』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-2.ctv$LR•IPV4•54『线路52』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-20.ctv$LR•IPV4•54『线路53』 -广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-32.ctv$LR•IPV4•54『线路54』 -深圳财经生活,http://gmxw.7766.org:808/hls/151/index.m3u8$LR•IPV4•6『线路1』 -深圳财经生活,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=szcjsh$LR•IPV4•6『线路2』 -深圳财经生活,http://116.77.239.26:44300/tsfile/live/1007_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•6『线路3』 -深圳财经生活,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8853&tk=a0c4f6cfaba3$LR•IPV4•6『线路4』 -深圳财经生活,https://stream1.freetv.fun/shen-zhen-cai-jing-sheng-huo-4.ctv$LR•IPV4•6『线路5』 -深圳财经生活,https://stream1.freetv.fun/shen-zhen-cai-jing-sheng-huo-1.m3u8$LR•IPV4•6『线路6』 -汕尾新闻综合,http://58.254.14.61:808/hls/504/index.m3u8$LR•IPV4•4『线路1』 -汕尾新闻综合,https://stream1.freetv.fun/shan-wei-xin-wen-zong-he-2.m3u8$LR•IPV4•4『线路2』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-37.m3u8$LR•IPV4•54『线路1』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-28.ctv$LR•IPV4•54『线路2』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-33.ctv$LR•IPV4•54『线路3』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-9.ctv$LR•IPV4•54『线路4』 +广州竞赛,http://125.89.163.44:8888/udp/239.253.43.75:5146$LR•IPV4•54『线路5』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-6.m3u8$LR•IPV4•54『线路6』 +广州竞赛,http://qjrhc.jydjd.top:2911/udp/224.1.100.106:11111$LR•IPV4•54『线路7』 +广州竞赛,https://tencentplay.gztv.com/live/jingsai.m3u8?txSecret=49c8041461997c7a97dbcc3c7fd11b4f&txTime=18d00acf487$LR•IPV4•54『线路8』 +广州竞赛,https://tencentplaygsm.gztv.com/live/jingsai.m3u8?txTime=659a5124&txSecret=72dcf9be1f18b8cbb1d96df34dc9a2a9$LR•IPV4•54『线路9』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-21.ctv$LR•IPV4•54『线路10』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-34.ctv$LR•IPV4•54『线路11』 +广州竞赛,https://tencentplaygsm.gztv.com/live/jingsai.m3u8?txTime=6594e9c9&txSecret=66dc779a3a36272e652238dd37624bbf$LR•IPV4•54『线路12』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-18.ctv$LR•IPV4•54『线路13』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-19.ctv$LR•IPV4•54『线路14』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-3.ctv$LR•IPV4•54『线路15』 +广州竞赛,http://nn.7x9d.cn/地方台8563/gsw.php?id=gzjs$LR•IPV4•54『线路16』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-8.m3u8$LR•IPV4•54『线路17』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-15.ctv$LR•IPV4•54『线路18』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-3.m3u8$LR•IPV4•54『线路19』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-31.ctv$LR•IPV4•54『线路20』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-5.m3u8$LR•IPV4•54『线路21』 +广州竞赛,http://119.32.12.32:2901/udp/224.1.100.105:11111$LR•IPV4•54『线路22』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-29.ctv$LR•IPV4•54『线路23』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-10.m3u8$LR•IPV4•54『线路24』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-23.ctv$LR•IPV4•54『线路25』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-13.m3u8$LR•IPV4•54『线路26』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-22.m3u8$LR•IPV4•54『线路27』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-26.ctv$LR•IPV4•54『线路28』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-27.ctv$LR•IPV4•54『线路29』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-36.ctv$LR•IPV4•54『线路30』 +广州竞赛,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/gztv.js?id=jingsai$LR•IPV4•54『线路31』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-16.ctv$LR•IPV4•54『线路32』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-32.ctv$LR•IPV4•54『线路33』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-1.m3u8$LR•IPV4•54『线路34』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-12.ctv$LR•IPV4•54『线路35』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-24.ctv$LR•IPV4•54『线路36』 +广州竞赛,http://qjrhc.jydjd.top:2911/udp/224.1.100.105:11111$LR•IPV4•54『线路37』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-4.m3u8$LR•IPV4•54『线路38』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-35.ctv$LR•IPV4•54『线路39』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-7.m3u8$LR•IPV4•54『线路40』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-14.ctv$LR•IPV4•54『线路41』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-2.m3u8$LR•IPV4•54『线路42』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-20.ctv$LR•IPV4•54『线路43』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-2.ctv$LR•IPV4•54『线路44』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-12.m3u8$LR•IPV4•54『线路45』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-30.ctv$LR•IPV4•54『线路46』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-38.ctv$LR•IPV4•54『线路47』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-6.ctv$LR•IPV4•54『线路48』 +广州竞赛,http://8.138.7.223/tv/gzjs.m3u8$LR•IPV4•54『线路49』 +广州竞赛,http://119.32.12.17:2901/udp/224.1.100.105:11111$LR•IPV4•54『线路50』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-25.ctv$LR•IPV4•54『线路51』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-11.m3u8$LR•IPV4•54『线路52』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-4.ctv$LR•IPV4•54『线路53』 +广州竞赛,https://stream1.freetv.fun/yan-zhou-jing-sai-7.ctv$LR•IPV4•54『线路54』 +深圳财经生活,https://stream1.freetv.fun/shen-zhen-cai-jing-sheng-huo-4.ctv$LR•IPV4•6『线路1』 +深圳财经生活,http://gmxw.7766.org:808/hls/151/index.m3u8$LR•IPV4•6『线路2』 +深圳财经生活,https://stream1.freetv.fun/shen-zhen-cai-jing-sheng-huo-1.m3u8$LR•IPV4•6『线路3』 +深圳财经生活,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=szcjsh$LR•IPV4•6『线路4』 +深圳财经生活,http://116.77.239.26:44300/tsfile/live/1007_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•6『线路5』 +深圳财经生活,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8853&tk=a0c4f6cfaba3$LR•IPV4•6『线路6』 +汕尾新闻综合,https://stream1.freetv.fun/shan-wei-xin-wen-zong-he-2.m3u8$LR•IPV4•4『线路1』 +汕尾新闻综合,http://58.254.14.61:808/hls/504/index.m3u8$LR•IPV4•4『线路2』 汕尾新闻综合,https://stream1.freetv.fun/shan-wei-xin-wen-zong-he-3.ctv$LR•IPV4•4『线路3』 汕尾新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8439&tk=a0c4f6cfaba3$LR•IPV4•4『线路4』 汕尾文化生活,http://58.254.14.61:808/hls/131/index.m3u8$LR•IPV4•2『线路1』 汕尾文化生活,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2032&tk=a0c4f6cfaba3$LR•IPV4•2『线路2』 -江门综合,https://stream1.freetv.fun/jiang-men-zong-he-4.ctv$LR•IPV4•18『线路1』 -江门综合,https://stream1.freetv.fun/jiang-men-zong-he-10.ctv$LR•IPV4•18『线路2』 -江门综合,https://stream1.freetv.fun/jiang-men-zong-he-2.ctv$LR•IPV4•18『线路3』 -江门综合,https://hls-gateway.vpstv.net/streams/708830.m3u8$LR•IPV4•18『线路4』 -江门综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7006&tk=a0c4f6cfaba3$LR•IPV4•18『线路5』 -江门综合,https://stream1.freetv.fun/jiang-men-zong-he-13.ctv$LR•IPV4•18『线路6』 -江门综合,https://stream1.freetv.fun/jiang-men-zong-he-12.ctv$LR•IPV4•18『线路7』 -江门综合,https://stream1.freetv.fun/jiang-men-zong-he-5.ctv$LR•IPV4•18『线路8』 -江门综合,http://125.89.163.44:8888/udp/239.77.0.201:5146$LR•IPV4•18『线路9』 -江门综合,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=jmzh$LR•IPV4•18『线路10』 -江门综合,https://stream1.freetv.fun/jiang-men-zong-he-9.ctv$LR•IPV4•18『线路11』 -江门综合,https://stream1.freetv.fun/jiang-men-zong-he-7.ctv$LR•IPV4•18『线路12』 -江门综合,https://stream1.freetv.fun/jiang-men-zong-he-8.ctv$LR•IPV4•18『线路13』 -江门综合,https://stream1.freetv.fun/jiang-men-zong-he-6.ctv$LR•IPV4•18『线路14』 -江门综合,http://120.77.205.62:8087/rtp/239.77.0.195:5146$LR•IPV4•18『线路15』 -江门综合,https://stream1.freetv.fun/jiang-men-zong-he-1.ctv$LR•IPV4•18『线路16』 -江门综合,https://stream1.freetv.fun/jiang-men-zong-he-14.ctv$LR•IPV4•18『线路17』 -江门综合,https://stream1.freetv.fun/jiang-men-zong-he-11.ctv$LR•IPV4•18『线路18』 -江门侨乡生活,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=jmqxsh$LR•IPV4•4『线路1』 +江门综合,https://stream1.freetv.fun/jiang-men-zong-he-14.ctv$LR•IPV4•18『线路1』 +江门综合,http://120.77.205.62:8087/rtp/239.77.0.195:5146$LR•IPV4•18『线路2』 +江门综合,https://hls-gateway.vpstv.net/streams/708830.m3u8$LR•IPV4•18『线路3』 +江门综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7006&tk=a0c4f6cfaba3$LR•IPV4•18『线路4』 +江门综合,https://stream1.freetv.fun/jiang-men-zong-he-8.ctv$LR•IPV4•18『线路5』 +江门综合,https://stream1.freetv.fun/jiang-men-zong-he-11.ctv$LR•IPV4•18『线路6』 +江门综合,https://stream1.freetv.fun/jiang-men-zong-he-10.ctv$LR•IPV4•18『线路7』 +江门综合,https://stream1.freetv.fun/jiang-men-zong-he-12.ctv$LR•IPV4•18『线路8』 +江门综合,https://stream1.freetv.fun/jiang-men-zong-he-9.ctv$LR•IPV4•18『线路9』 +江门综合,https://stream1.freetv.fun/jiang-men-zong-he-2.ctv$LR•IPV4•18『线路10』 +江门综合,https://stream1.freetv.fun/jiang-men-zong-he-5.ctv$LR•IPV4•18『线路11』 +江门综合,http://125.89.163.44:8888/udp/239.77.0.201:5146$LR•IPV4•18『线路12』 +江门综合,https://stream1.freetv.fun/jiang-men-zong-he-7.ctv$LR•IPV4•18『线路13』 +江门综合,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=jmzh$LR•IPV4•18『线路14』 +江门综合,https://stream1.freetv.fun/jiang-men-zong-he-1.ctv$LR•IPV4•18『线路15』 +江门综合,https://stream1.freetv.fun/jiang-men-zong-he-4.ctv$LR•IPV4•18『线路16』 +江门综合,https://stream1.freetv.fun/jiang-men-zong-he-6.ctv$LR•IPV4•18『线路17』 +江门综合,https://stream1.freetv.fun/jiang-men-zong-he-13.ctv$LR•IPV4•18『线路18』 +江门侨乡生活,http://120.77.205.62:8087/rtp/239.77.0.196:5146$LR•IPV4•4『线路1』 江门侨乡生活,http://125.89.163.44:8888/udp/239.77.0.202:5146$LR•IPV4•4『线路2』 -江门侨乡生活,http://120.77.205.62:8087/rtp/239.77.0.196:5146$LR•IPV4•4『线路3』 -江门侨乡生活,http://120.77.205.62:8087/rtp/239.77.0.202:5146$LR•IPV4•4『线路4』 -河源综合,https://tmpstream.hyrtv.cn/xwzh/sd/live.m3u8?_upt=f767206b1671099007$LR•IPV4•5『线路1』 -河源综合,https://tmpstream.hyrtv.cn/xwzh/sd/live.m3u8$LR•IPV4•5『线路2』 -河源综合,http://120.234.5.28:6000/udp/239.21.0.48:3532$LR•IPV4•5『线路3』 +江门侨乡生活,http://120.77.205.62:8087/rtp/239.77.0.202:5146$LR•IPV4•4『线路3』 +江门侨乡生活,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=jmqxsh$LR•IPV4•4『线路4』 +河源综合,https://tmpstream.hyrtv.cn/xwzh/sd/live.m3u8$LR•IPV4•5『线路1』 +河源综合,https://tmpstream.hyrtv.cn/xwzh/sd/live.m3u8?_upt=f767206b1671099007$LR•IPV4•5『线路2』 +河源综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8947&tk=a0c4f6cfaba3$LR•IPV4•5『线路3』 河源综合,http://125.89.163.44:8888/udp/239.253.43.213:5146$LR•IPV4•5『线路4』 -河源综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8947&tk=a0c4f6cfaba3$LR•IPV4•5『线路5』 -河源公共,http://tmpstream.hyrtv.cn/hygg/sd/live.m3u8$LR•IPV4•5『线路1』 -河源公共,http://120.234.5.28:6000/udp/239.21.0.49:3536$LR•IPV4•5『线路2』 -河源公共,http://125.89.163.44:8888/udp/239.253.43.214:5146$LR•IPV4•5『线路3』 -河源公共,https://tmpstream.hyrtv.cn/hygg/sd/live.m3u8$LR•IPV4•5『线路4』 -河源公共,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5263&tk=a0c4f6cfaba3$LR•IPV4•5『线路5』 -云浮综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6868&tk=a0c4f6cfaba3$LR•IPV4•2『线路1』 -云浮综合,http://125.89.163.44:8888/udp/239.77.0.253:5146$LR•IPV4•2『线路2』 -茂名综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9728&tk=a0c4f6cfaba3$LR•IPV4•5『线路1』 -茂名综合,http://120.77.205.62:8087/rtp/239.77.0.204:5146$LR•IPV4•5『线路2』 -茂名综合,http://125.89.163.44:8888/udp/239.77.0.206:5146$LR•IPV4•5『线路3』 -茂名综合,http://120.77.205.62:8087/rtp/239.77.0.206:5146$LR•IPV4•5『线路4』 -茂名综合,https://hls-gateway.vpstv.net/streams/708982.m3u8$LR•IPV4•5『线路5』 +河源综合,http://120.234.5.28:6000/udp/239.21.0.48:3532$LR•IPV4•5『线路5』 +河源公共,https://tmpstream.hyrtv.cn/hygg/sd/live.m3u8$LR•IPV4•6『线路1』 +河源公共,http://tmpstream.hyrtv.cn/hygg/sd/live.m3u8$LR•IPV4•6『线路2』 +河源公共,http://1b6467f415.iok.la:9931/tsfile/live/1079_1.m3u8$LR•IPV4•6『线路3』 +河源公共,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5263&tk=a0c4f6cfaba3$LR•IPV4•6『线路4』 +河源公共,http://120.234.5.28:6000/udp/239.21.0.49:3536$LR•IPV4•6『线路5』 +河源公共,http://125.89.163.44:8888/udp/239.253.43.214:5146$LR•IPV4•6『线路6』 +云浮综合,http://125.89.163.44:8888/udp/239.77.0.253:5146$LR•IPV4•2『线路1』 +云浮综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6868&tk=a0c4f6cfaba3$LR•IPV4•2『线路2』 +茂名综合,http://120.77.205.62:8087/rtp/239.77.0.206:5146$LR•IPV4•5『线路1』 +茂名综合,http://125.89.163.44:8888/udp/239.77.0.206:5146$LR•IPV4•5『线路2』 +茂名综合,https://hls-gateway.vpstv.net/streams/708982.m3u8$LR•IPV4•5『线路3』 +茂名综合,http://120.77.205.62:8087/rtp/239.77.0.204:5146$LR•IPV4•5『线路4』 +茂名综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9728&tk=a0c4f6cfaba3$LR•IPV4•5『线路5』 茂名公共,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7418&tk=a0c4f6cfaba3$LR•IPV4•4『线路1』 茂名公共,http://120.77.205.62:8087/rtp/239.77.0.205:5146$LR•IPV4•4『线路2』 -茂名公共,http://125.89.163.44:8888/udp/239.77.0.207:5146$LR•IPV4•4『线路3』 -茂名公共,http://120.77.205.62:8087/rtp/239.77.0.207:5146$LR•IPV4•4『线路4』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-26.ctv$LR•IPV4•27『线路1』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-1.ctv$LR•IPV4•27『线路2』 -佛山公共,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/foshan.js?id=http://p.ytelc.com/169l/gd/foshan.php?id=foshangg$LR•IPV4•27『线路3』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-6.ctv$LR•IPV4•27『线路4』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-17.ctv$LR•IPV4•27『线路5』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-4.ctv$LR•IPV4•27『线路6』 -佛山公共,http://8.137.59.151:3000/guangdong/foshan.php?id=fsgg$LR•IPV4•27『线路7』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-15.ctv$LR•IPV4•27『线路8』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-12.ctv$LR•IPV4•27『线路9』 +茂名公共,http://120.77.205.62:8087/rtp/239.77.0.207:5146$LR•IPV4•4『线路3』 +茂名公共,http://125.89.163.44:8888/udp/239.77.0.207:5146$LR•IPV4•4『线路4』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-19.ctv$LR•IPV4•27『线路1』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-8.ctv$LR•IPV4•27『线路2』 +佛山公共,http://qjrhc.jydjd.top:2911/udp/224.1.100.134:11111$LR•IPV4•27『线路3』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-9.ctv$LR•IPV4•27『线路4』 +佛山公共,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/foshan.js?id=http://p.ytelc.com/169l/gd/foshan.php?id=foshangg$LR•IPV4•27『线路5』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-25.ctv$LR•IPV4•27『线路6』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-4.ctv$LR•IPV4•27『线路7』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-26.ctv$LR•IPV4•27『线路8』 +佛山公共,http://8.137.59.151:3000/guangdong/foshan.php?id=fsgg$LR•IPV4•27『线路9』 佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-27.ctv$LR•IPV4•27『线路10』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-18.ctv$LR•IPV4•27『线路11』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-2.ctv$LR•IPV4•27『线路12』 -佛山公共,http://qjrhc.jydjd.top:2911/udp/224.1.100.134:11111$LR•IPV4•27『线路13』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-21.ctv$LR•IPV4•27『线路14』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-16.ctv$LR•IPV4•27『线路15』 -佛山公共,http://125.89.163.44:8888/udp/239.253.43.53:5146$LR•IPV4•27『线路16』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-22.ctv$LR•IPV4•27『线路17』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-9.ctv$LR•IPV4•27『线路18』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-25.ctv$LR•IPV4•27『线路19』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-19.ctv$LR•IPV4•27『线路20』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-5.ctv$LR•IPV4•27『线路21』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-13.ctv$LR•IPV4•27『线路22』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-8.ctv$LR•IPV4•27『线路23』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-10.ctv$LR•IPV4•27『线路24』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-2.ctv$LR•IPV4•27『线路11』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-15.ctv$LR•IPV4•27『线路12』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-18.ctv$LR•IPV4•27『线路13』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-1.ctv$LR•IPV4•27『线路14』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-21.ctv$LR•IPV4•27『线路15』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-12.ctv$LR•IPV4•27『线路16』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-11.ctv$LR•IPV4•27『线路17』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-22.ctv$LR•IPV4•27『线路18』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-13.ctv$LR•IPV4•27『线路19』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-3.ctv$LR•IPV4•27『线路20』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-10.ctv$LR•IPV4•27『线路21』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-16.ctv$LR•IPV4•27『线路22』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-17.ctv$LR•IPV4•27『线路23』 +佛山公共,http://125.89.163.44:8888/udp/239.253.43.53:5146$LR•IPV4•27『线路24』 佛山公共,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4358&tk=a0c4f6cfaba3$LR•IPV4•27『线路25』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-3.ctv$LR•IPV4•27『线路26』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-11.ctv$LR•IPV4•27『线路27』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-22.ctv$LR•IPV4•26『线路1』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-6.ctv$LR•IPV4•27『线路26』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-5.ctv$LR•IPV4•27『线路27』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-15.ctv$LR•IPV4•26『线路1』 佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-21.ctv$LR•IPV4•26『线路2』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-13.ctv$LR•IPV4•26『线路3』 -佛山影视,http://125.89.163.44:8888/udp/239.253.43.56:5146$LR•IPV4•26『线路4』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-11.ctv$LR•IPV4•26『线路5』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-5.ctv$LR•IPV4•26『线路6』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-4.ctv$LR•IPV4•26『线路7』 -佛山影视,http://8.137.59.151:3000/guangdong/foshan.php?id=fsys$LR•IPV4•26『线路8』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-20.ctv$LR•IPV4•26『线路9』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-7.ctv$LR•IPV4•26『线路10』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-8.ctv$LR•IPV4•26『线路11』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-17.ctv$LR•IPV4•26『线路12』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-15.ctv$LR•IPV4•26『线路13』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-3.ctv$LR•IPV4•26『线路14』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-16.ctv$LR•IPV4•26『线路15』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-14.ctv$LR•IPV4•26『线路16』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-9.ctv$LR•IPV4•26『线路17』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-19.ctv$LR•IPV4•26『线路18』 -佛山影视,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/foshan.js?id=http://p.ytelc.com/169l/gd/foshan.php?id=foshanys$LR•IPV4•26『线路19』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-10.ctv$LR•IPV4•26『线路20』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-2.ctv$LR•IPV4•26『线路21』 -佛山影视,http://180.143.83.48:8181/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路22』 -佛山影视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5642&tk=a0c4f6cfaba3$LR•IPV4•26『线路23』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-1.ctv$LR•IPV4•26『线路24』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-12.ctv$LR•IPV4•26『线路25』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-6.ctv$LR•IPV4•26『线路26』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-15.ctv$LR•IPV4•27『线路1』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-24.ctv$LR•IPV4•27『线路2』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-7.ctv$LR•IPV4•27『线路3』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-13.ctv$LR•IPV4•27『线路4』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-16.ctv$LR•IPV4•27『线路5』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-23.ctv$LR•IPV4•27『线路6』 -佛山综合,https://hls-gateway.vpstv.net/streams/708979.m3u8$LR•IPV4•27『线路7』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-20.ctv$LR•IPV4•27『线路8』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-11.ctv$LR•IPV4•27『线路9』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-3.ctv$LR•IPV4•27『线路10』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-14.ctv$LR•IPV4•27『线路11』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-9.ctv$LR•IPV4•27『线路12』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-1.ctv$LR•IPV4•27『线路13』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-6.ctv$LR•IPV4•27『线路14』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-8.ctv$LR•IPV4•27『线路15』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-5.ctv$LR•IPV4•27『线路16』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-18.ctv$LR•IPV4•27『线路17』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-17.ctv$LR•IPV4•27『线路18』 -佛山综合,http://8.137.59.151:3000/guangdong/foshan.php?id=fszh$LR•IPV4•27『线路19』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-12.ctv$LR•IPV4•27『线路20』 -佛山综合,http://120.77.205.62:8087/rtp/239.253.43.57:5146$LR•IPV4•27『线路21』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-2.ctv$LR•IPV4•27『线路22』 -佛山综合,http://125.89.163.44:8888/udp/239.253.43.57:5146$LR•IPV4•27『线路23』 -佛山综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3169&tk=a0c4f6cfaba3$LR•IPV4•27『线路24』 -佛山综合,http://120.77.205.62:8087/rtp/239.253.43.52:5146$LR•IPV4•27『线路25』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-22.ctv$LR•IPV4•27『线路26』 -佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-21.ctv$LR•IPV4•27『线路27』 +佛山影视,http://8.137.59.151:3000/guangdong/foshan.php?id=fsys$LR•IPV4•26『线路3』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-17.ctv$LR•IPV4•26『线路4』 +佛山影视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5642&tk=a0c4f6cfaba3$LR•IPV4•26『线路5』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-19.ctv$LR•IPV4•26『线路6』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-20.ctv$LR•IPV4•26『线路7』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-14.ctv$LR•IPV4•26『线路8』 +佛山影视,http://125.89.163.44:8888/udp/239.253.43.56:5146$LR•IPV4•26『线路9』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-1.ctv$LR•IPV4•26『线路10』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-4.ctv$LR•IPV4•26『线路11』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-11.ctv$LR•IPV4•26『线路12』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-22.ctv$LR•IPV4•26『线路13』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-10.ctv$LR•IPV4•26『线路14』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-6.ctv$LR•IPV4•26『线路15』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-3.ctv$LR•IPV4•26『线路16』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-13.ctv$LR•IPV4•26『线路17』 +佛山影视,http://180.143.83.48:8181/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路18』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-7.ctv$LR•IPV4•26『线路19』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-16.ctv$LR•IPV4•26『线路20』 +佛山影视,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/foshan.js?id=http://p.ytelc.com/169l/gd/foshan.php?id=foshanys$LR•IPV4•26『线路21』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-9.ctv$LR•IPV4•26『线路22』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-5.ctv$LR•IPV4•26『线路23』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-12.ctv$LR•IPV4•26『线路24』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-8.ctv$LR•IPV4•26『线路25』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-2.ctv$LR•IPV4•26『线路26』 +佛山综合,https://hls-gateway.vpstv.net/streams/708979.m3u8$LR•IPV4•27『线路1』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-11.ctv$LR•IPV4•27『线路2』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-12.ctv$LR•IPV4•27『线路3』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-18.ctv$LR•IPV4•27『线路4』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-22.ctv$LR•IPV4•27『线路5』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-15.ctv$LR•IPV4•27『线路6』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-5.ctv$LR•IPV4•27『线路7』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-17.ctv$LR•IPV4•27『线路8』 +佛山综合,http://8.137.59.151:3000/guangdong/foshan.php?id=fszh$LR•IPV4•27『线路9』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-13.ctv$LR•IPV4•27『线路10』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-2.ctv$LR•IPV4•27『线路11』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-6.ctv$LR•IPV4•27『线路12』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-16.ctv$LR•IPV4•27『线路13』 +佛山综合,http://125.89.163.44:8888/udp/239.253.43.57:5146$LR•IPV4•27『线路14』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-7.ctv$LR•IPV4•27『线路15』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-1.ctv$LR•IPV4•27『线路16』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-24.ctv$LR•IPV4•27『线路17』 +佛山综合,http://120.77.205.62:8087/rtp/239.253.43.57:5146$LR•IPV4•27『线路18』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-14.ctv$LR•IPV4•27『线路19』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-9.ctv$LR•IPV4•27『线路20』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-8.ctv$LR•IPV4•27『线路21』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-3.ctv$LR•IPV4•27『线路22』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-21.ctv$LR•IPV4•27『线路23』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-23.ctv$LR•IPV4•27『线路24』 +佛山综合,https://stream1.freetv.fun/fo-shan-zong-he-20.ctv$LR•IPV4•27『线路25』 +佛山综合,http://120.77.205.62:8087/rtp/239.253.43.52:5146$LR•IPV4•27『线路26』 +佛山综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3169&tk=a0c4f6cfaba3$LR•IPV4•27『线路27』 东莞新闻综合,https://stream.sun0769.com/dgrtv1/mp4tv1_800/index.m3u8$LR•IPV4 东莞生活资讯,https://stream.sun0769.com/dgrtv1/mp4tv2_800/index.m3u8$LR•IPV4 -广东新闻,http://192.151.150.154/live/gdxwa.m3u8$LR•IPV4•67『线路1』 -广东新闻,http://125.89.163.44:8888/udp/239.77.0.173:5146$LR•IPV4•67『线路2』 -广东新闻,http://218.15.183.23:9901/tsfile/live/23010_1.m3u8$LR•IPV4•67『线路3』 -广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-8.m3u8$LR•IPV4•67『线路4』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-8.m3u8$LR•IPV4•67『线路5』 -广东新闻,http://116.77.239.26:44300/tsfile/live/0107_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•67『线路6』 -广东新闻,http://1b6467f415.iok.la:9931/tsfile/live/1012_1.m3u8$LR•IPV4•67『线路7』 -广东新闻,http://38.75.136.137:98/gslb/dsdqpub/gdxw.m3u8?auth=testpub$LR•IPV4•67『线路8』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-24.ctv$LR•IPV4•67『线路9』 -广东新闻,http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=6y62fU&tk=zUr4K92Dl6kh$LR•IPV4•67『线路10』 -广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-7.m3u8$LR•IPV4•67『线路11』 -广东新闻,https://satellitepull.cnr.cn/live/wxgdxwgb/playlist.m3u8$LR•IPV4•67『线路12』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-2.m3u8$LR•IPV4•67『线路13』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-17.m3u8$LR•IPV4•67『线路14』 -广东新闻,https://hk.188766.xyz/?migutoken=4254e1ca8dcef82514ec6ce2a8bd39e4&id=gd_gdxw&type=sz$LR•IPV4•67『线路15』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-5.ctv$LR•IPV4•67『线路16』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-25.m3u8$LR•IPV4•67『线路17』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-23.ctv$LR•IPV4•67『线路18』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-27.ctv$LR•IPV4•67『线路19』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-12.ctv$LR•IPV4•67『线路20』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-18.ctv$LR•IPV4•67『线路21』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-22.ctv$LR•IPV4•67『线路22』 -广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-14.m3u8$LR•IPV4•67『线路23』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-8.ctv$LR•IPV4•67『线路24』 -广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-9.m3u8$LR•IPV4•67『线路25』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-19.ctv$LR•IPV4•67『线路26』 -广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-13.m3u8$LR•IPV4•67『线路27』 -广东新闻,http://121.11.160.7:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•67『线路28』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-16.m3u8$LR•IPV4•67『线路29』 -广东新闻,http://183.11.239.36:808/hls/5/index.m3u8$LR•IPV4•67『线路30』 -广东新闻,https://live.ximalaya.com/radio-first-page-app/live/245/64.m3u8?transcode=ts$LR•IPV4•67『线路31』 -广东新闻,http://119.32.12.32:2901/udp/224.1.100.5:11111$LR•IPV4•67『线路32』 -广东新闻,http://183.3.134.56:9901/tsfile/live/1005_1.m3u8$LR•IPV4•67『线路33』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-7.ctv$LR•IPV4•67『线路34』 -广东新闻,http://183.237.95.108:9901/tsfile/live/1031_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•67『线路35』 -广东新闻,http://119.32.12.17:2901/udp/224.1.100.5:11111$LR•IPV4•67『线路36』 -广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-15.m3u8$LR•IPV4•67『线路37』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-20.ctv$LR•IPV4•67『线路38』 -广东新闻,https://hls-gateway.vpstv.net/streams/708873.m3u8$LR•IPV4•67『线路39』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-9.ctv$LR•IPV4•67『线路40』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-24.m3u8$LR•IPV4•67『线路41』 -广东新闻,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8637&tk=a0c4f6cfaba3$LR•IPV4•67『线路42』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-25.ctv$LR•IPV4•67『线路43』 -广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-10.m3u8$LR•IPV4•67『线路44』 -广东新闻,http://120.238.94.10:9901/tsfile/live/1010_1.m3u8$LR•IPV4•67『线路45』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-16.ctv$LR•IPV4•67『线路46』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-15.ctv$LR•IPV4•67『线路47』 -广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-6.m3u8$LR•IPV4•67『线路48』 -广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-16.m3u8$LR•IPV4•67『线路49』 -广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-11.m3u8$LR•IPV4•67『线路50』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-10.m3u8$LR•IPV4•67『线路51』 -广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-2.m3u8$LR•IPV4•67『线路52』 -广东新闻,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=gdxw$LR•IPV4•67『线路53』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-18.m3u8$LR•IPV4•67『线路54』 -广东新闻,http://107.150.60.122/live/gdxwa.m3u8$LR•IPV4•67『线路55』 -广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-5.m3u8$LR•IPV4•67『线路56』 -广东新闻,http://satellitepull.cnr.cn/live/wxgdxwgb/playlist.m3u8$LR•IPV4•67『线路57』 -广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-17.m3u8$LR•IPV4•67『线路58』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-4.ctv$LR•IPV4•67『线路59』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-21.ctv$LR•IPV4•67『线路60』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-6.ctv$LR•IPV4•67『线路61』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-20.m3u8$LR•IPV4•67『线路62』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-13.ctv$LR•IPV4•67『线路63』 -广东新闻,http://qjrhc.jydjd.top:2911/udp/224.1.100.5:11111$LR•IPV4•67『线路64』 -广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-18.m3u8$LR•IPV4•67『线路65』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-14.ctv$LR•IPV4•67『线路66』 -广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-gao-qing-1.m3u8$LR•IPV4•67『线路67』 +广东新闻,http://116.77.239.26:44300/tsfile/live/0107_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•66『线路1』 +广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-8.m3u8$LR•IPV4•66『线路2』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-2.m3u8$LR•IPV4•66『线路3』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-8.ctv$LR•IPV4•66『线路4』 +广东新闻,http://121.11.160.7:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•66『线路5』 +广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-17.m3u8$LR•IPV4•66『线路6』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-19.ctv$LR•IPV4•66『线路7』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-13.ctv$LR•IPV4•66『线路8』 +广东新闻,http://125.89.163.44:8888/udp/239.77.0.173:5146$LR•IPV4•66『线路9』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-24.m3u8$LR•IPV4•66『线路10』 +广东新闻,http://120.238.94.10:9901/tsfile/live/1010_1.m3u8$LR•IPV4•66『线路11』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-12.ctv$LR•IPV4•66『线路12』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-18.m3u8$LR•IPV4•66『线路13』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-14.ctv$LR•IPV4•66『线路14』 +广东新闻,https://live.ximalaya.com/radio-first-page-app/live/245/64.m3u8?transcode=ts$LR•IPV4•66『线路15』 +广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-13.m3u8$LR•IPV4•66『线路16』 +广东新闻,https://hls-gateway.vpstv.net/streams/708873.m3u8$LR•IPV4•66『线路17』 +广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-16.m3u8$LR•IPV4•66『线路18』 +广东新闻,http://183.3.134.56:9901/tsfile/live/1005_1.m3u8$LR•IPV4•66『线路19』 +广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-11.m3u8$LR•IPV4•66『线路20』 +广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-14.m3u8$LR•IPV4•66『线路21』 +广东新闻,http://satellitepull.cnr.cn/live/wxgdxwgb/playlist.m3u8$LR•IPV4•66『线路22』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-7.ctv$LR•IPV4•66『线路23』 +广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-6.m3u8$LR•IPV4•66『线路24』 +广东新闻,https://satellitepull.cnr.cn/live/wxgdxwgb/playlist.m3u8$LR•IPV4•66『线路25』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-21.ctv$LR•IPV4•66『线路26』 +广东新闻,http://183.237.95.108:9901/tsfile/live/1031_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•66『线路27』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-20.ctv$LR•IPV4•66『线路28』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-5.ctv$LR•IPV4•66『线路29』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-gao-qing-1.m3u8$LR•IPV4•66『线路30』 +广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-15.m3u8$LR•IPV4•66『线路31』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-17.m3u8$LR•IPV4•66『线路32』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-9.ctv$LR•IPV4•66『线路33』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-10.m3u8$LR•IPV4•66『线路34』 +广东新闻,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8637&tk=a0c4f6cfaba3$LR•IPV4•66『线路35』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-15.ctv$LR•IPV4•66『线路36』 +广东新闻,http://192.151.150.154/live/gdxwa.m3u8$LR•IPV4•66『线路37』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-8.m3u8$LR•IPV4•66『线路38』 +广东新闻,http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=6y62fU&tk=zUr4K92Dl6kh$LR•IPV4•66『线路39』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-27.ctv$LR•IPV4•66『线路40』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-18.ctv$LR•IPV4•66『线路41』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-4.ctv$LR•IPV4•66『线路42』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-23.ctv$LR•IPV4•66『线路43』 +广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-18.m3u8$LR•IPV4•66『线路44』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-24.ctv$LR•IPV4•66『线路45』 +广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-9.m3u8$LR•IPV4•66『线路46』 +广东新闻,http://183.11.239.36:808/hls/5/index.m3u8$LR•IPV4•66『线路47』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-16.m3u8$LR•IPV4•66『线路48』 +广东新闻,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=gdxw$LR•IPV4•66『线路49』 +广东新闻,http://218.15.183.23:9901/tsfile/live/23010_1.m3u8$LR•IPV4•66『线路50』 +广东新闻,http://qjrhc.jydjd.top:2911/udp/224.1.100.5:11111$LR•IPV4•66『线路51』 +广东新闻,http://38.75.136.137:98/gslb/dsdqpub/gdxw.m3u8?auth=testpub$LR•IPV4•66『线路52』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-25.ctv$LR•IPV4•66『线路53』 +广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-10.m3u8$LR•IPV4•66『线路54』 +广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-7.m3u8$LR•IPV4•66『线路55』 +广东新闻,https://t.freetv.fun/live/yan-dong-xin-wen-gao-qing-5.m3u8$LR•IPV4•66『线路56』 +广东新闻,https://hk.188766.xyz/?migutoken=4254e1ca8dcef82514ec6ce2a8bd39e4&id=gd_gdxw&type=sz$LR•IPV4•66『线路57』 +广东新闻,http://107.150.60.122/live/gdxwa.m3u8$LR•IPV4•66『线路58』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-25.m3u8$LR•IPV4•66『线路59』 +广东新闻,http://119.32.12.32:2901/udp/224.1.100.5:11111$LR•IPV4•66『线路60』 +广东新闻,http://119.32.12.17:2901/udp/224.1.100.5:11111$LR•IPV4•66『线路61』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-22.ctv$LR•IPV4•66『线路62』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-20.m3u8$LR•IPV4•66『线路63』 +广东新闻,http://1b6467f415.iok.la:9931/tsfile/live/1012_1.m3u8$LR•IPV4•66『线路64』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-16.ctv$LR•IPV4•66『线路65』 +广东新闻,https://stream1.freetv.fun/yan-dong-xin-wen-6.ctv$LR•IPV4•66『线路66』 南国都市,https://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=627498b93bc6f5d6e2460d0823bf81a3&txTime=18e6df74fc2$LR•IPV4•7『线路1』 -南国都市,http://tencentplaygzrb01.gztv.com/live/nanguodushi.m3u8$LR•IPV4•7『线路2』 -南国都市,https://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=c82f82d7a6beda92b2b1ce93753dcacb&txTime=18e4a381d46$LR•IPV4•7『线路3』 -南国都市,http://r.jdshipin.com/nWaZO$LR•IPV4•7『线路4』 -南国都市,https://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=59b2d3f371597c07d47815034a0e6e78&txTime=19019c65629$LR•IPV4•7『线路5』 -南国都市,https://tencentplaygsm.gztv.com/live/nanguodushi.m3u8?txTime=659a5130&txSecret=79b02fdfa77e39b5f5b86cd4bb848a0e$LR•IPV4•7『线路6』 -南国都市,https://tencentplaygsm.gztv.com/live/nanguodushi.m3u8?txTime=6594e9d5&txSecret=e783742d1233ae402ec4566b8537ca17$LR•IPV4•7『线路7』 +南国都市,http://r.jdshipin.com/nWaZO$LR•IPV4•7『线路2』 +南国都市,https://tencentplaygsm.gztv.com/live/nanguodushi.m3u8?txTime=6594e9d5&txSecret=e783742d1233ae402ec4566b8537ca17$LR•IPV4•7『线路3』 +南国都市,https://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=c82f82d7a6beda92b2b1ce93753dcacb&txTime=18e4a381d46$LR•IPV4•7『线路4』 +南国都市,https://tencentplaygsm.gztv.com/live/nanguodushi.m3u8?txTime=659a5130&txSecret=79b02fdfa77e39b5f5b86cd4bb848a0e$LR•IPV4•7『线路5』 +南国都市,http://tencentplaygzrb01.gztv.com/live/nanguodushi.m3u8$LR•IPV4•7『线路6』 +南国都市,https://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=59b2d3f371597c07d47815034a0e6e78&txTime=19019c65629$LR•IPV4•7『线路7』 上海,#genre# -上海都市,http://www.zhch682022.cn:35455/itv/5000000010000018926.m3u8?cdn=bestzb$LR•IPV4•26『线路1』 -上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-3.m3u8$LR•IPV4•26『线路2』 -上海都市,http://feiyang.ak47s.top:35455/itv/5000000010000018926.m3u8?cdn=bestzb$LR•IPV4•26『线路3』 -上海都市,https://zby.130519.xyz/PLTV/11/224/3221225749/index.m3u8$LR•IPV4•26『线路4』 -上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-6.m3u8$LR•IPV4•26『线路5』 -上海都市,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6990&tk=23a9aca1f79f$LR•IPV4•26『线路6』 -上海都市,https://migu.188766.xyz/?migutoken=6d8853cd2a35a94822edc25fb168517a&id=shds&type=sz$LR•IPV4•26『线路7』 -上海都市,https://stream1.freetv.fun/shang-hai-du-shi-7.m3u8$LR•IPV4•26『线路8』 +上海都市,https://stream1.freetv.fun/shang-hai-du-shi-7.m3u8$LR•IPV4•26『线路1』 +上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-1.m3u8$LR•IPV4•26『线路2』 +上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-3.m3u8$LR•IPV4•26『线路3』 +上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-6.m3u8$LR•IPV4•26『线路4』 +上海都市,http://api3.52tb.xyz/info?id=372&token=20221127jxwhhemby$LR•IPV4•26『线路5』 +上海都市,http://t8622699o8.vicp.fun:60024/itv/5000000010000018926.m3u8?cdn=bestzb$LR•IPV4•26『线路6』 +上海都市,http://bp-livetytv.bestv.cn/ch/bestvdspd.m3u8$LR•IPV4•26『线路7』 +上海都市,http://feiyang.ak47s.top:35455/itv/5000000010000018926.m3u8?cdn=bestzb$LR•IPV4•26『线路8』 上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-10.m3u8$LR•IPV4•26『线路9』 -上海都市,http://bp-livetytv.bestv.cn/ch/bestvdspd.m3u8$LR•IPV4•26『线路10』 -上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-5.m3u8$LR•IPV4•26『线路11』 -上海都市,http://t8622699o8.vicp.fun:60024/itv/5000000010000018926.m3u8?cdn=bestzb$LR•IPV4•26『线路12』 -上海都市,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3713&tk=bd38c03a3ce1$LR•IPV4•26『线路13』 -上海都市,https://stream1.freetv.fun/shang-hai-du-shi-10.m3u8$LR•IPV4•26『线路14』 -上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-4.m3u8$LR•IPV4•26『线路15』 -上海都市,https://stream1.freetv.fun/shang-hai-du-shi-8.m3u8$LR•IPV4•26『线路16』 -上海都市,https://stream1.freetv.fun/shang-hai-du-shi-1.m3u8$LR•IPV4•26『线路17』 -上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-1.m3u8$LR•IPV4•26『线路18』 -上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-7.m3u8$LR•IPV4•26『线路19』 -上海都市,https://t.freetv.fun/live/shang-hai-du-shi-4.m3u8$LR•IPV4•26『线路20』 -上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-8.m3u8$LR•IPV4•26『线路21』 -上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-11.m3u8$LR•IPV4•26『线路22』 -上海都市,http://api3.52tb.xyz/info?id=372&token=20221127jxwhhemby$LR•IPV4•26『线路23』 -上海都市,https://hls-gateway.vpstv.net/streams/708849.m3u8$LR•IPV4•26『线路24』 -上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-2.m3u8$LR•IPV4•26『线路25』 -上海都市,http://mvfn.zhch1968.com:35455/itv/5000000010000018926.m3u8?cdn=bestzb$LR•IPV4•26『线路26』 -上海外语,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2446&tk=e640d0a1bf70$LR•IPV4•7『线路1』 -上海外语,http://t.061899.xyz/tl/tl.php?id=shics$LR•IPV4•7『线路2』 -上海外语,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0017&tk=a0c4f6cfaba3$LR•IPV4•7『线路3』 -上海外语,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6608&tk=e503191f8e20$LR•IPV4•7『线路4』 -上海外语,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=shics$LR•IPV4•7『线路5』 -上海外语,http://111.22.153.159:35455/itv/2000000002000000001.m3u8?cdn=hnbblive$LR•IPV4•7『线路6』 -上海外语,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1734&tk=b53028476470$LR•IPV4•7『线路7』 -五星体育,http://8.138.7.223/tv/shtv.php?id=wxty$LR•IPV4•44『线路1』 -五星体育,http://36.105.100.208:35455/itv/5000000010000017540.m3u8?cdn=bestzb$LR•IPV4•44『线路2』 -五星体育,https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-14.m3u8$LR•IPV4•44『线路3』 -五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-11.m3u8$LR•IPV4•44『线路4』 -五星体育,https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-3.m3u8$LR•IPV4•44『线路5』 -五星体育,http://api2.52tb.xyz/info?id=375&token=20230120rdbtgv$LR•IPV4•44『线路6』 -五星体育,https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-1.m3u8$LR•IPV4•44『线路7』 -五星体育,https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-6.m3u8$LR•IPV4•44『线路8』 -五星体育,http://101.35.240.114:88/live.php?id=五星体育$LR•IPV4•44『线路9』 -五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-1.m3u8$LR•IPV4•44『线路10』 -五星体育,https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-2.m3u8$LR•IPV4•44『线路11』 -五星体育,http://home.wwang.pw:35455/itv/5000000010000017540.m3u8?cdn=bestzb$LR•IPV4•44『线路12』 -五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-12.m3u8$LR•IPV4•44『线路13』 -五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-5.m3u8$LR•IPV4•44『线路14』 -五星体育,https://hls-gateway.vpstv.net/streams/636980.m3u8$LR•IPV4•44『线路15』 -五星体育,https://t.freetv.fun/live/wu-xing-ti-yu-2.m3u8$LR•IPV4•44『线路16』 -五星体育,http://live.xmcdn.com/live/57/64.m3u8$LR•IPV4•44『线路17』 -五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-7.m3u8$LR•IPV4•44『线路18』 -五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-14.m3u8$LR•IPV4•44『线路19』 -五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-13.m3u8$LR•IPV4•44『线路20』 -五星体育,http://3501776.xyz:35455/itv/5000000010000017540.m3u8?cdn=bestzb$LR•IPV4•44『线路21』 -五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-9.m3u8$LR•IPV4•44『线路22』 -五星体育,https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-10.m3u8$LR•IPV4•44『线路23』 +上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-11.m3u8$LR•IPV4•26『线路10』 +上海都市,https://stream1.freetv.fun/shang-hai-du-shi-10.m3u8$LR•IPV4•26『线路11』 +上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-8.m3u8$LR•IPV4•26『线路12』 +上海都市,http://mvfn.zhch1968.com:35455/itv/5000000010000018926.m3u8?cdn=bestzb$LR•IPV4•26『线路13』 +上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-5.m3u8$LR•IPV4•26『线路14』 +上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-2.m3u8$LR•IPV4•26『线路15』 +上海都市,https://hls-gateway.vpstv.net/streams/708849.m3u8$LR•IPV4•26『线路16』 +上海都市,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=3713&tk=bd38c03a3ce1$LR•IPV4•26『线路17』 +上海都市,http://www.zhch682022.cn:35455/itv/5000000010000018926.m3u8?cdn=bestzb$LR•IPV4•26『线路18』 +上海都市,https://zby.130519.xyz/PLTV/11/224/3221225749/index.m3u8$LR•IPV4•26『线路19』 +上海都市,https://migu.188766.xyz/?migutoken=6d8853cd2a35a94822edc25fb168517a&id=shds&type=sz$LR•IPV4•26『线路20』 +上海都市,https://stream1.freetv.fun/shang-hai-du-shi-1.m3u8$LR•IPV4•26『线路21』 +上海都市,https://stream1.freetv.fun/shang-hai-du-shi-8.m3u8$LR•IPV4•26『线路22』 +上海都市,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6990&tk=23a9aca1f79f$LR•IPV4•26『线路23』 +上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-4.m3u8$LR•IPV4•26『线路24』 +上海都市,https://stream1.freetv.fun/ipv6-shang-hai-du-shi-7.m3u8$LR•IPV4•26『线路25』 +上海都市,https://t.freetv.fun/live/shang-hai-du-shi-4.m3u8$LR•IPV4•26『线路26』 +上海外语,http://111.22.153.159:35455/itv/2000000002000000001.m3u8?cdn=hnbblive$LR•IPV4•7『线路1』 +上海外语,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1734&tk=b53028476470$LR•IPV4•7『线路2』 +上海外语,http://t.061899.xyz/tl/tl.php?id=shics$LR•IPV4•7『线路3』 +上海外语,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0017&tk=a0c4f6cfaba3$LR•IPV4•7『线路4』 +上海外语,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2446&tk=e640d0a1bf70$LR•IPV4•7『线路5』 +上海外语,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=shics$LR•IPV4•7『线路6』 +上海外语,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6608&tk=e503191f8e20$LR•IPV4•7『线路7』 +五星体育,http://223.110.245.147/ott.js.chinamobile.com/PLTV/3/224/3221226799/index.m3u8$LR•IPV4•44『线路1』 +五星体育,https://migu.188766.xyz/?migutoken=ed5a02a3b87f3dcc808d4b733daf5cf9&id=%E4%BA%94%E6%98%9F%E4%BD%93%E8%82%B2&pp=1$LR•IPV4•44『线路2』 +五星体育,https://hls-gateway.vpstv.net/streams/636980.m3u8$LR•IPV4•44『线路3』 +五星体育,https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-3.m3u8$LR•IPV4•44『线路4』 +五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-15.m3u8$LR•IPV4•44『线路5』 +五星体育,http://live.xmcdn.com/live/57/64.m3u8$LR•IPV4•44『线路6』 +五星体育,http://101.35.240.114:88/live.php?id=五星体育$LR•IPV4•44『线路7』 +五星体育,https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-14.m3u8$LR•IPV4•44『线路8』 +五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-4.m3u8$LR•IPV4•44『线路9』 +五星体育,http://bp-livetytv.bestv.cn/ch/bestvwxty.m3u8$LR•IPV4•44『线路10』 +五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-14.m3u8$LR•IPV4•44『线路11』 +五星体育,https://t.freetv.fun/live/wu-xing-ti-yu-6.m3u8$LR•IPV4•44『线路12』 +五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-5.m3u8$LR•IPV4•44『线路13』 +五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-6.m3u8$LR•IPV4•44『线路14』 +五星体育,https://t.freetv.fun/live/wu-xing-ti-yu-2.m3u8$LR•IPV4•44『线路15』 +五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-10.m3u8$LR•IPV4•44『线路16』 +五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-12.m3u8$LR•IPV4•44『线路17』 +五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-13.m3u8$LR•IPV4•44『线路18』 +五星体育,http://home.wwang.pw:35455/itv/5000000010000017540.m3u8?cdn=bestzb$LR•IPV4•44『线路19』 +五星体育,https://t.freetv.fun/live/wu-xing-ti-yu-4.m3u8$LR•IPV4•44『线路20』 +五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-3.m3u8$LR•IPV4•44『线路21』 +五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-13.ctv$LR•IPV4•44『线路22』 +五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-1.m3u8$LR•IPV4•44『线路23』 五星体育,https://t.freetv.fun/live/wu-xing-ti-yu.m3u8$LR•IPV4•44『线路24』 -五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-13.ctv$LR•IPV4•44『线路25』 -五星体育,https://t.freetv.fun/live/wu-xing-ti-yu-4.m3u8$LR•IPV4•44『线路26』 -五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-4.m3u8$LR•IPV4•44『线路27』 -五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-8.m3u8$LR•IPV4•44『线路28』 -五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-3.m3u8$LR•IPV4•44『线路29』 -五星体育,https://other.ottiptv.cc/wxty.m3u8$LR•IPV4•44『线路30』 -五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-2.m3u8$LR•IPV4•44『线路31』 -五星体育,https://t.freetv.fun/live/wu-xing-ti-yu-1.m3u8$LR•IPV4•44『线路32』 -五星体育,http://bp-livetytv.bestv.cn/ch/bestvwxty.m3u8$LR•IPV4•44『线路33』 -五星体育,https://zby.130519.xyz/PLTV/11/224/3221225732/index.m3u8$LR•IPV4•44『线路34』 -五星体育,https://migu.188766.xyz/?migutoken=ed5a02a3b87f3dcc808d4b733daf5cf9&id=%E4%BA%94%E6%98%9F%E4%BD%93%E8%82%B2&pp=1$LR•IPV4•44『线路35』 -五星体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4759&tk=7d4ad8f156e3$LR•IPV4•44『线路36』 -五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-10.m3u8$LR•IPV4•44『线路37』 -五星体育,https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-7.m3u8$LR•IPV4•44『线路38』 +五星体育,http://8.138.7.223/tv/shtv.php?id=wxty$LR•IPV4•44『线路25』 +五星体育,https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-7.m3u8$LR•IPV4•44『线路26』 +五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-8.m3u8$LR•IPV4•44『线路27』 +五星体育,http://36.105.100.208:35455/itv/5000000010000017540.m3u8?cdn=bestzb$LR•IPV4•44『线路28』 +五星体育,https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-1.m3u8$LR•IPV4•44『线路29』 +五星体育,https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-10.m3u8$LR•IPV4•44『线路30』 +五星体育,https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-6.m3u8$LR•IPV4•44『线路31』 +五星体育,https://zby.130519.xyz/PLTV/11/224/3221225732/index.m3u8$LR•IPV4•44『线路32』 +五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-7.m3u8$LR•IPV4•44『线路33』 +五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-2.m3u8$LR•IPV4•44『线路34』 +五星体育,https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-2.m3u8$LR•IPV4•44『线路35』 +五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-9.m3u8$LR•IPV4•44『线路36』 +五星体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4759&tk=7d4ad8f156e3$LR•IPV4•44『线路37』 +五星体育,https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-8.m3u8$LR•IPV4•44『线路38』 五星体育,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=wxtyhd$LR•IPV4•44『线路39』 -五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-15.m3u8$LR•IPV4•44『线路40』 -五星体育,https://t.freetv.fun/live/wu-xing-ti-yu-6.m3u8$LR•IPV4•44『线路41』 -五星体育,https://stream1.freetv.fun/ipv6-wu-xing-ti-yu-8.m3u8$LR•IPV4•44『线路42』 -五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-6.m3u8$LR•IPV4•44『线路43』 -五星体育,http://223.110.245.147/ott.js.chinamobile.com/PLTV/3/224/3221226799/index.m3u8$LR•IPV4•44『线路44』 -东方影视,https://zby.130519.xyz/PLTV/11/224/3221225744/index.m3u8$LR•IPV4•40『线路1』 -东方影视,https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-6.m3u8$LR•IPV4•40『线路2』 -东方影视,http://110.154.192.76:7788/617290047$LR•IPV4•40『线路3』 -东方影视,https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-4.m3u8$LR•IPV4•40『线路4』 -东方影视,http://14.153.176.183:1234/617290047$LR•IPV4•40『线路5』 -东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-12.m3u8$LR•IPV4•40『线路6』 -东方影视,https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-13.m3u8$LR•IPV4•40『线路7』 -东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-7.m3u8$LR•IPV4•40『线路8』 -东方影视,http://111.22.153.159:35455/itv/5000000010000032212.m3u8?cdn=bestzb$LR•IPV4•40『线路9』 -东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-13.m3u8$LR•IPV4•40『线路10』 -东方影视,https://t.freetv.fun/live/dong-fang-ying-shi-2.m3u8$LR•IPV4•40『线路11』 -东方影视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2690&tk=e640d0a1bf70$LR•IPV4•40『线路12』 -东方影视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1285&tk=2aca1ad9a849$LR•IPV4•40『线路13』 -东方影视,http://111.228.4.117:6789/migu720p.php?id=617290047$LR•IPV4•40『线路14』 -东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-10.m3u8$LR•IPV4•40『线路15』 -东方影视,https://www.freetv.top/migu/617290047.m3u8?migutoken=86c02ad0875d5cc49d77bcc8bdb628f2c9d508ffc323b964a03c8f92dde4afafa0345cf5a8fefbdf915c748e3d11c6c18e27ae1e21a609cec31a45e6c437db26a7a243625f9cf35c271171a22c$LR•IPV4•40『线路16』 -东方影视,http://119.88.243.98:17231/617290047$LR•IPV4•40『线路17』 -东方影视,https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-7.m3u8$LR•IPV4•40『线路18』 -东方影视,https://t.freetv.fun/live/dong-fang-ying-shi-3.m3u8$LR•IPV4•40『线路19』 -东方影视,http://223.247.25.207:1234/617290047$LR•IPV4•40『线路20』 -东方影视,https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-3.m3u8$LR•IPV4•40『线路21』 -东方影视,https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-8.m3u8$LR•IPV4•40『线路22』 -东方影视,http://101.6.130.52:1234/617290047$LR•IPV4•40『线路23』 -东方影视,http://116.52.173.34:1234/617290047$LR•IPV4•40『线路24』 -东方影视,http://t.061899.xyz/tl/tl.php?id=dfys$LR•IPV4•40『线路25』 -东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-4.ctv$LR•IPV4•40『线路26』 -东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-6.m3u8$LR•IPV4•40『线路27』 -东方影视,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=dfys$LR•IPV4•40『线路28』 -东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-2.m3u8$LR•IPV4•40『线路29』 -东方影视,https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-5.m3u8$LR•IPV4•40『线路30』 -东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-8.m3u8$LR•IPV4•40『线路31』 -东方影视,http://27.12.12.183:1234/617290047$LR•IPV4•40『线路32』 -东方影视,https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-2.m3u8$LR•IPV4•40『线路33』 -东方影视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6090&tk=b53028476470$LR•IPV4•40『线路34』 -东方影视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1407&tk=e503191f8e20$LR•IPV4•40『线路35』 -东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-1.m3u8$LR•IPV4•40『线路36』 -东方影视,http://116.236.204.18:1234/617290047$LR•IPV4•40『线路37』 -东方影视,https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-9.m3u8$LR•IPV4•40『线路38』 -东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-6.ctv$LR•IPV4•40『线路39』 -东方影视,http://43.251.226.89:8080/play/58.m3u8$LR•IPV4•40『线路40』 -东方财经,http://e1.woc.iiiya.cn:8888/rtp/239.61.2.76:8450$LR•IPV4•10『线路1』 -东方财经,https://zby.130519.xyz/PLTV/11/224/3221226134/index.m3u8$LR•IPV4•10『线路2』 -东方财经,http://124.248.69.76:26781/douyu/9548279$LR•IPV4•10『线路3』 -东方财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4946&tk=97475bb89d45$LR•IPV4•10『线路4』 -东方财经,http://61.133.118.228:5001/douyu/9548279$LR•IPV4•10『线路5』 -东方财经,http://wouu.net:9977/udp/239.93.1.165:5140$LR•IPV4•10『线路6』 -东方财经,http://nas.hssvm.com:8888/udp/225.1.1.87:5002$LR•IPV4•10『线路7』 -东方财经,http://111.22.153.159:35455/itv/5000000007000010003.m3u8?cdn=bestzb$LR•IPV4•10『线路8』 -东方财经,https://live.264788.xyz/channel/dongfangcaijing?streamid=a031f2386ada4bc1264edce79c80dd18&livekey=01WgOR41rriMmMkzNsd0UoaxJRwetZdxIvtVk$LR•IPV4•10『线路9』 -东方财经,http://qjrhc.jydjd.top:2911/udp/224.1.100.141:11111$LR•IPV4•10『线路10』 -第一财经,https://satellitepull.cnr.cn/live/wx32dycjgb/playlist.m3u8$LR•IPV4•61『线路1』 -第一财经,http://satellitepull.cnr.cn/live/wx32dycjgb/playlist.m3u8$LR•IPV4•61『线路2』 -第一财经,https://stream1.freetv.fun/di-yi-cai-jing-13.m3u8$LR•IPV4•61『线路3』 -第一财经,https://stream1.freetv.fun/di-yi-cai-jing-10.m3u8$LR•IPV4•61『线路4』 -第一财经,http://live.xmcdn.com/live/56/64.m3u8$LR•IPV4•61『线路5』 -第一财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4640&tk=e503191f8e20$LR•IPV4•61『线路6』 -第一财经,https://zby.130519.xyz/PLTV/11/224/3221225737/index.m3u8$LR•IPV4•61『线路7』 -第一财经,https://stream1.freetv.fun/ipv6-di-yi-cai-jing-4.m3u8$LR•IPV4•61『线路8』 -第一财经,http://43.251.226.89:8080/play/59.m3u8$LR•IPV4•61『线路9』 -第一财经,http://a1live.livecdn.yicai.com/live/radio_tv.m3u8$LR•IPV4•61『线路10』 -第一财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4663&tk=f6cc1e0a0e1a$LR•IPV4•61『线路11』 -第一财经,http://47.104.178.59:3566/608780988$LR•IPV4•61『线路12』 -第一财经,https://migu.188766.xyz/?migutoken=48076f7837fe4f59da0dbd882998f16d&id=dycj&type=sz$LR•IPV4•61『线路13』 -第一财经,https://stream1.freetv.fun/di-yi-cai-jing-3.m3u8$LR•IPV4•61『线路14』 -第一财经,http://mgsp-zy2.live.miguvideo.com:8088/wd_r1/2018/bestv/dycj/1000/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=699212&netType=0&sid=2201008312&pid=2028597139×tamp=20260712080236&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=608780988&ParentNodeID=-99&assertID=2201008312&client_ip=171.8.79.254&SecurityKey=20260712080236&promotionId=&mvid=2201008312&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=c2df6f34df47646fa2b427c196074126&sv=10004&ct=android$LR•IPV4•61『线路15』 -第一财经,http://116.52.173.34:1234/608780988$LR•IPV4•61『线路16』 -第一财经,http://t.061899.xyz/tl/tl.php?id=dycj$LR•IPV4•61『线路17』 -第一财经,https://stream1.freetv.fun/ipv6-di-yi-cai-jing-5.m3u8$LR•IPV4•61『线路18』 -第一财经,http://115.190.247.176:1111/608780988$LR•IPV4•61『线路19』 -第一财经,http://123.113.205.253:3000/608780988$LR•IPV4•61『线路20』 -第一财经,https://stream1.freetv.fun/di-yi-cai-jing-2.m3u8$LR•IPV4•61『线路21』 -第一财经,http://101.6.130.52:1234/608780988$LR•IPV4•61『线路22』 -第一财经,https://hls-gateway.vpstv.net/streams/708851.m3u8$LR•IPV4•61『线路23』 -第一财经,https://www.freetv.top/migu/608780988.m3u8?migutoken=62e21890acbd9928d0be0b4eae9f5e32e1879604b785ee7ce8751d5001a9ff431d7714025aa03d48a2b190ff214e5115dcb6ba455c3d26b1db0f5b3cb49c5967429ff3b1fe8e96e87cc6146543$LR•IPV4•61『线路24』 -第一财经,https://stream1.freetv.fun/ipv6-di-yi-cai-jing-7.m3u8$LR•IPV4•61『线路25』 -第一财经,https://stream1.freetv.fun/di-yi-cai-jing-12.m3u8$LR•IPV4•61『线路26』 -第一财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8321&tk=e640d0a1bf70$LR•IPV4•61『线路27』 -第一财经,https://stream1.freetv.fun/ipv6-di-yi-cai-jing-11.m3u8$LR•IPV4•61『线路28』 -第一财经,http://111.228.4.117:6789/migu720p.php?id=608780988$LR•IPV4•61『线路29』 -第一财经,https://stream1.freetv.fun/di-yi-cai-jing-9.m3u8$LR•IPV4•61『线路30』 -第一财经,https://stream1.freetv.fun/di-yi-cai-jing-5.m3u8$LR•IPV4•61『线路31』 -第一财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4810&tk=23a9aca1f79f$LR•IPV4•61『线路32』 -第一财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6806&tk=a0c4f6cfaba3$LR•IPV4•61『线路33』 -第一财经,https://stream1.freetv.fun/di-yi-cai-jing-6.ctv$LR•IPV4•61『线路34』 -第一财经,http://101.43.145.141:12002/itv/5000000010000027146.m3u8?cdn=bestzb$LR•IPV4•61『线路35』 -第一财经,https://t.freetv.fun/live/di-yi-cai-jing-2.m3u8$LR•IPV4•61『线路36』 -第一财经,http://27.12.12.183:1234/608780988$LR•IPV4•61『线路37』 -第一财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0917&tk=2aca1ad9a849$LR•IPV4•61『线路38』 -第一财经,http://ls.qingting.fm/live/276.m3u8$LR•IPV4•61『线路39』 -第一财经,https://www.freetv.top/migu/608780988.m3u8?migutoken=94882e783c75b9369ca6a018f97fe3a3c0018f9da123958e316bb810ef22e907f0672a7d63496e5cb5041eb125b1f1ee6996ac856b0c0c9828348878b8a4101384b9a851fb1dea60a7fafeea35$LR•IPV4•61『线路40』 -第一财经,http://bp-livetytv.bestv.cn/ch/bestvdycj.m3u8$LR•IPV4•61『线路41』 -第一财经,http://116.236.204.18:1234/608780988$LR•IPV4•61『线路42』 -第一财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0771&tk=a0c4f6cfaba3$LR•IPV4•61『线路43』 -第一财经,https://stream1.freetv.fun/ipv6-di-yi-cai-jing-6.m3u8$LR•IPV4•61『线路44』 -第一财经,https://t.freetv.fun/live/di-yi-cai-jing.m3u8$LR•IPV4•61『线路45』 -第一财经,https://stream1.freetv.fun/ipv6-di-yi-cai-jing-3.m3u8$LR•IPV4•61『线路46』 -第一财经,http://110.154.192.76:7788/608780988$LR•IPV4•61『线路47』 -第一财经,http://119.88.243.98:17231/608780988$LR•IPV4•61『线路48』 -第一财经,https://mgtv.ottiptv.cc/migu/608780988.m3u8?migutoken=0c7df30d952e5d120406d3eb259cd5e26ec6aa86037008719de147cc6fbc34e877c3e3d7b9617267f35521bdddc4c5995e6fc0583816a5df1bfe19814868525e736733676761a4b2d4db618e84$LR•IPV4•61『线路49』 -第一财经,http://gslbmgsplive.miguvideo.com/wd_r1/2018/bestv/dycj/1000/index.m3u8?msisdn=00d0e58c8de7039b211a4835a80e3d6b&mdspid=&spid=699212&netType=0&sid=2201008312&pid=2028597139×tamp=20260712052059&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=608780988&ParentNodeID=-99&assertID=2201008312&client_ip=39.103.182.111&SecurityKey=20260712052059&promotionId=&mvid=2201008312&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=70134db5a05da0e749a80d81f8a330b5&ddCalcu=57b0v01a33l34aad8bf51a80d50d8aa09e47&sv=10004&ct=android$LR•IPV4•61『线路50』 -第一财经,http://14.153.176.183:1234/608780988$LR•IPV4•61『线路51』 -第一财经,http://hlsztemgsplive.miguvideo.com:8080/wd_r1/2018/bestv/dycj/1000/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=699212&netType=0&sid=2201008312&pid=2028597139×tamp=20260712040230&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=608780988&ParentNodeID=-99&assertID=2201008312&client_ip=171.8.79.254&SecurityKey=20260712040230&promotionId=&mvid=2201008312&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=85992b1a49b037ab4a689a3ac0533c9a&sv=10004&ct=android$LR•IPV4•61『线路52』 -第一财经,https://stream1.freetv.fun/ipv6-di-yi-cai-jing-8.m3u8$LR•IPV4•61『线路53』 -第一财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7436&tk=b53028476470$LR•IPV4•61『线路54』 -第一财经,http://223.247.25.207:1234/608780988$LR•IPV4•61『线路55』 -第一财经,https://migu.188766.xyz/?migutoken=20bb1a06124bd6ea328162fe9605882d&id=dycj&type=sz$LR•IPV4•61『线路56』 -第一财经,http://gslbmgsplive.miguvideo.com/wd_r1/2018/bestv/dycj/1000/index.m3u8?msisdn=2025091908013429b62173a5e24f8ea1f310d5ed32e792&mdspid=&spid=699212&netType=0&sid=2201008312&pid=2028597139×tamp=20250919080134&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=608780988&ParentNodeID=-99&assertID=2201008312&client_ip=106.13.250.88&SecurityKey=20250919080134&promotionId=&mvid=2201008312&mcid=500020&playurlVersion=WX-A1-8.9.1-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=6c828d22c926cc843970f3f1c7455bea&ddCalcu=a6eceb815285804d72c21cf932f60c7c9834$LR•IPV4•61『线路57』 -第一财经,https://stream1.freetv.fun/ipv6-di-yi-cai-jing-1.ctv$LR•IPV4•61『线路58』 -第一财经,http://8.138.7.223/tv/shtv.php?id=dycj$LR•IPV4•61『线路59』 -第一财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8820&tk=e640d0a1bf70$LR•IPV4•61『线路60』 -第一财经,https://stream1.freetv.fun/di-yi-cai-jing-7.m3u8$LR•IPV4•61『线路61』 +五星体育,http://api2.52tb.xyz/info?id=375&token=20230120rdbtgv$LR•IPV4•44『线路40』 +五星体育,https://other.ottiptv.cc/wxty.m3u8$LR•IPV4•44『线路41』 +五星体育,http://3501776.xyz:35455/itv/5000000010000017540.m3u8?cdn=bestzb$LR•IPV4•44『线路42』 +五星体育,https://stream1.freetv.fun/wu-xing-ti-yu-11.m3u8$LR•IPV4•44『线路43』 +五星体育,https://t.freetv.fun/live/wu-xing-ti-yu-1.m3u8$LR•IPV4•44『线路44』 +东方影视,http://t.061899.xyz/tl/tl.php?id=dfys$LR•IPV4•32『线路1』 +东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-4.ctv$LR•IPV4•32『线路2』 +东方影视,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=dfys$LR•IPV4•32『线路3』 +东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-6.m3u8$LR•IPV4•32『线路4』 +东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-6.ctv$LR•IPV4•32『线路5』 +东方影视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6090&tk=b53028476470$LR•IPV4•32『线路6』 +东方影视,https://t.freetv.fun/live/dong-fang-ying-shi-3.m3u8$LR•IPV4•32『线路7』 +东方影视,https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-6.m3u8$LR•IPV4•32『线路8』 +东方影视,https://t.freetv.fun/live/dong-fang-ying-shi-2.m3u8$LR•IPV4•32『线路9』 +东方影视,https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-7.m3u8$LR•IPV4•32『线路10』 +东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-13.m3u8$LR•IPV4•32『线路11』 +东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-2.m3u8$LR•IPV4•32『线路12』 +东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-12.m3u8$LR•IPV4•32『线路13』 +东方影视,https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-2.m3u8$LR•IPV4•32『线路14』 +东方影视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1407&tk=e503191f8e20$LR•IPV4•32『线路15』 +东方影视,https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-4.m3u8$LR•IPV4•32『线路16』 +东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-7.m3u8$LR•IPV4•32『线路17』 +东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-1.m3u8$LR•IPV4•32『线路18』 +东方影视,https://www.freetv.top/migu/617290047.m3u8?migutoken=86c02ad0875d5cc49d77bcc8bdb628f2c9d508ffc323b964a03c8f92dde4afafa0345cf5a8fefbdf915c748e3d11c6c18e27ae1e21a609cec31a45e6c437db26a7a243625f9cf35c271171a22c$LR•IPV4•32『线路19』 +东方影视,http://111.22.153.159:35455/itv/5000000010000032212.m3u8?cdn=bestzb$LR•IPV4•32『线路20』 +东方影视,https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-8.m3u8$LR•IPV4•32『线路21』 +东方影视,https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-13.m3u8$LR•IPV4•32『线路22』 +东方影视,https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-3.m3u8$LR•IPV4•32『线路23』 +东方影视,https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-9.m3u8$LR•IPV4•32『线路24』 +东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-10.m3u8$LR•IPV4•32『线路25』 +东方影视,http://111.228.4.117:6789/migu720p.php?id=617290047$LR•IPV4•32『线路26』 +东方影视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1285&tk=2aca1ad9a849$LR•IPV4•32『线路27』 +东方影视,https://stream1.freetv.fun/ipv6-dong-fang-ying-shi-5.m3u8$LR•IPV4•32『线路28』 +东方影视,https://stream1.freetv.fun/dong-fang-ying-shi-8.m3u8$LR•IPV4•32『线路29』 +东方影视,https://zby.130519.xyz/PLTV/11/224/3221225744/index.m3u8$LR•IPV4•32『线路30』 +东方影视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2690&tk=e640d0a1bf70$LR•IPV4•32『线路31』 +东方影视,http://43.251.226.89:8080/play/58.m3u8$LR•IPV4•32『线路32』 +东方财经,http://nas.hssvm.com:8888/udp/225.1.1.87:5002$LR•IPV4•10『线路1』 +东方财经,http://111.22.153.159:35455/itv/5000000007000010003.m3u8?cdn=bestzb$LR•IPV4•10『线路2』 +东方财经,http://61.133.118.228:5001/douyu/9548279$LR•IPV4•10『线路3』 +东方财经,http://e1.woc.iiiya.cn:8888/rtp/239.61.2.76:8450$LR•IPV4•10『线路4』 +东方财经,https://live.264788.xyz/channel/dongfangcaijing?streamid=a031f2386ada4bc1264edce79c80dd18&livekey=01WgOR41rriMmMkzNsd0UoaxJRwetZdxIvtVk$LR•IPV4•10『线路5』 +东方财经,http://qjrhc.jydjd.top:2911/udp/224.1.100.141:11111$LR•IPV4•10『线路6』 +东方财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4946&tk=97475bb89d45$LR•IPV4•10『线路7』 +东方财经,https://zby.130519.xyz/PLTV/11/224/3221226134/index.m3u8$LR•IPV4•10『线路8』 +东方财经,http://124.248.69.76:26781/douyu/9548279$LR•IPV4•10『线路9』 +东方财经,http://wouu.net:9977/udp/239.93.1.165:5140$LR•IPV4•10『线路10』 +第一财经,https://stream1.freetv.fun/di-yi-cai-jing-6.ctv$LR•IPV4•52『线路1』 +第一财经,https://stream1.freetv.fun/di-yi-cai-jing-13.m3u8$LR•IPV4•52『线路2』 +第一财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0917&tk=2aca1ad9a849$LR•IPV4•52『线路3』 +第一财经,https://stream1.freetv.fun/di-yi-cai-jing-9.m3u8$LR•IPV4•52『线路4』 +第一财经,http://101.43.145.141:12002/itv/5000000010000027146.m3u8?cdn=bestzb$LR•IPV4•52『线路5』 +第一财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4640&tk=e503191f8e20$LR•IPV4•52『线路6』 +第一财经,https://stream1.freetv.fun/ipv6-di-yi-cai-jing-1.ctv$LR•IPV4•52『线路7』 +第一财经,https://stream1.freetv.fun/ipv6-di-yi-cai-jing-11.m3u8$LR•IPV4•52『线路8』 +第一财经,http://mgsp-zy2.live.miguvideo.com:8088/wd_r1/2018/bestv/dycj/1000/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=699212&netType=0&sid=2201008312&pid=2028597139×tamp=20260713080304&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=608780988&ParentNodeID=-99&assertID=2201008312&client_ip=171.8.79.254&SecurityKey=20260713080304&promotionId=&mvid=2201008312&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=5df679b13a7d9d57e856133928bf767f&sv=10004&ct=android$LR•IPV4•52『线路9』 +第一财经,https://www.freetv.top/migu/608780988.m3u8?migutoken=62e21890acbd9928d0be0b4eae9f5e32e1879604b785ee7ce8751d5001a9ff431d7714025aa03d48a2b190ff214e5115dcb6ba455c3d26b1db0f5b3cb49c5967429ff3b1fe8e96e87cc6146543$LR•IPV4•52『线路10』 +第一财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7436&tk=b53028476470$LR•IPV4•52『线路11』 +第一财经,http://a1live.livecdn.yicai.com/live/radio_tv.m3u8$LR•IPV4•52『线路12』 +第一财经,https://stream1.freetv.fun/ipv6-di-yi-cai-jing-4.m3u8$LR•IPV4•52『线路13』 +第一财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4810&tk=23a9aca1f79f$LR•IPV4•52『线路14』 +第一财经,https://stream1.freetv.fun/di-yi-cai-jing-5.m3u8$LR•IPV4•52『线路15』 +第一财经,http://hlszymgsplive.miguvideo.com:8080/wd_r1/2018/bestv/dycj/1000/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=699212&netType=0&sid=2201008312&pid=2028597139×tamp=20260713040259&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=608780988&ParentNodeID=-99&assertID=2201008312&client_ip=171.8.79.254&SecurityKey=20260713040259&promotionId=&mvid=2201008312&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=9e14596712ea1eb3d7fd9d88987a22fe&sv=10004&ct=android$LR•IPV4•52『线路16』 +第一财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4663&tk=f6cc1e0a0e1a$LR•IPV4•52『线路17』 +第一财经,https://t.freetv.fun/live/di-yi-cai-jing-2.m3u8$LR•IPV4•52『线路18』 +第一财经,https://mgtv.ottiptv.cc/migu/608780988.m3u8?migutoken=0c7df30d952e5d120406d3eb259cd5e26ec6aa86037008719de147cc6fbc34e877c3e3d7b9617267f35521bdddc4c5995e6fc0583816a5df1bfe19814868525e736733676761a4b2d4db618e84$LR•IPV4•52『线路19』 +第一财经,https://stream1.freetv.fun/di-yi-cai-jing-12.m3u8$LR•IPV4•52『线路20』 +第一财经,https://stream1.freetv.fun/ipv6-di-yi-cai-jing-6.m3u8$LR•IPV4•52『线路21』 +第一财经,https://stream1.freetv.fun/ipv6-di-yi-cai-jing-3.m3u8$LR•IPV4•52『线路22』 +第一财经,https://migu.188766.xyz/?migutoken=20bb1a06124bd6ea328162fe9605882d&id=dycj&type=sz$LR•IPV4•52『线路23』 +第一财经,https://t.freetv.fun/live/di-yi-cai-jing.m3u8$LR•IPV4•52『线路24』 +第一财经,http://live.xmcdn.com/live/56/64.m3u8$LR•IPV4•52『线路25』 +第一财经,http://bp-livetytv.bestv.cn/ch/bestvdycj.m3u8$LR•IPV4•52『线路26』 +第一财经,https://stream1.freetv.fun/di-yi-cai-jing-3.m3u8$LR•IPV4•52『线路27』 +第一财经,https://migu.188766.xyz/?migutoken=48076f7837fe4f59da0dbd882998f16d&id=dycj&type=sz$LR•IPV4•52『线路28』 +第一财经,https://hls-gateway.vpstv.net/streams/708851.m3u8$LR•IPV4•52『线路29』 +第一财经,https://stream1.freetv.fun/ipv6-di-yi-cai-jing-8.m3u8$LR•IPV4•52『线路30』 +第一财经,http://8.138.7.223/tv/shtv.php?id=dycj$LR•IPV4•52『线路31』 +第一财经,https://www.freetv.top/migu/608780988.m3u8?migutoken=94882e783c75b9369ca6a018f97fe3a3c0018f9da123958e316bb810ef22e907f0672a7d63496e5cb5041eb125b1f1ee6996ac856b0c0c9828348878b8a4101384b9a851fb1dea60a7fafeea35$LR•IPV4•52『线路32』 +第一财经,http://43.251.226.89:8080/play/59.m3u8$LR•IPV4•52『线路33』 +第一财经,https://satellitepull.cnr.cn/live/wx32dycjgb/playlist.m3u8$LR•IPV4•52『线路34』 +第一财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8321&tk=e640d0a1bf70$LR•IPV4•52『线路35』 +第一财经,http://ls.qingting.fm/live/276.m3u8$LR•IPV4•52『线路36』 +第一财经,http://123.113.205.253:3000/608780988$LR•IPV4•52『线路37』 +第一财经,https://stream1.freetv.fun/ipv6-di-yi-cai-jing-5.m3u8$LR•IPV4•52『线路38』 +第一财经,http://111.228.4.117:6789/migu720p.php?id=608780988$LR•IPV4•52『线路39』 +第一财经,http://t.061899.xyz/tl/tl.php?id=dycj$LR•IPV4•52『线路40』 +第一财经,https://stream1.freetv.fun/di-yi-cai-jing-7.m3u8$LR•IPV4•52『线路41』 +第一财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0771&tk=a0c4f6cfaba3$LR•IPV4•52『线路42』 +第一财经,http://gslbmgsplive.miguvideo.com/wd_r1/2018/bestv/dycj/1000/index.m3u8?msisdn=2025091908013429b62173a5e24f8ea1f310d5ed32e792&mdspid=&spid=699212&netType=0&sid=2201008312&pid=2028597139×tamp=20250919080134&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=608780988&ParentNodeID=-99&assertID=2201008312&client_ip=106.13.250.88&SecurityKey=20250919080134&promotionId=&mvid=2201008312&mcid=500020&playurlVersion=WX-A1-8.9.1-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=6c828d22c926cc843970f3f1c7455bea&ddCalcu=a6eceb815285804d72c21cf932f60c7c9834$LR•IPV4•52『线路43』 +第一财经,http://satellitepull.cnr.cn/live/wx32dycjgb/playlist.m3u8$LR•IPV4•52『线路44』 +第一财经,https://zby.130519.xyz/PLTV/11/224/3221225737/index.m3u8$LR•IPV4•52『线路45』 +第一财经,https://stream1.freetv.fun/ipv6-di-yi-cai-jing-7.m3u8$LR•IPV4•52『线路46』 +第一财经,http://47.104.178.59:3566/608780988$LR•IPV4•52『线路47』 +第一财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6806&tk=a0c4f6cfaba3$LR•IPV4•52『线路48』 +第一财经,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8820&tk=e640d0a1bf70$LR•IPV4•52『线路49』 +第一财经,https://stream1.freetv.fun/di-yi-cai-jing-2.m3u8$LR•IPV4•52『线路50』 +第一财经,https://stream1.freetv.fun/di-yi-cai-jing-10.m3u8$LR•IPV4•52『线路51』 +第一财经,http://115.190.247.176:1111/608780988$LR•IPV4•52『线路52』 上海纪实,http://iptv.huuc.edu.cn/hls/docuchina.m3u8$LR•IPV4•10『线路1』 上海纪实,http://wouu.net:9977/udp/239.93.1.137:5140$LR•IPV4•10『线路2』 -上海纪实,https://stream1.freetv.fun/shang-hai-ji-shi-ren-wen-1.m3u8$LR•IPV4•10『线路3』 -上海纪实,http://13457610200.8866.org:2018/live/上海纪实/index.m3u8$LR•IPV4•10『线路4』 -上海纪实,https://stream1.freetv.fun/ipv6-shang-hai-ji-shi-ren-wen-2.m3u8$LR•IPV4•10『线路5』 -上海纪实,https://hls-gateway.vpstv.net/streams/709570.m3u8$LR•IPV4•10『线路6』 -上海纪实,https://stream1.freetv.fun/ipv6-shang-hai-ji-shi-ren-wen-3.m3u8$LR•IPV4•10『线路7』 -上海纪实,https://stream1.freetv.fun/ipv6-shang-hai-ji-shi-ren-wen-1.m3u8$LR•IPV4•10『线路8』 +上海纪实,http://13457610200.8866.org:2018/live/上海纪实/index.m3u8$LR•IPV4•10『线路3』 +上海纪实,https://stream1.freetv.fun/ipv6-shang-hai-ji-shi-ren-wen-2.m3u8$LR•IPV4•10『线路4』 +上海纪实,https://hls-gateway.vpstv.net/streams/709570.m3u8$LR•IPV4•10『线路5』 +上海纪实,https://stream1.freetv.fun/ipv6-shang-hai-ji-shi-ren-wen-1.m3u8$LR•IPV4•10『线路6』 +上海纪实,https://stream1.freetv.fun/shang-hai-ji-shi-ren-wen-1.m3u8$LR•IPV4•10『线路7』 +上海纪实,https://stream1.freetv.fun/ipv6-shang-hai-ji-shi-ren-wen-5.m3u8$LR•IPV4•10『线路8』 上海纪实,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5196&tk=23a9aca1f79f$LR•IPV4•10『线路9』 -上海纪实,https://stream1.freetv.fun/ipv6-shang-hai-ji-shi-ren-wen-5.m3u8$LR•IPV4•10『线路10』 -新闻综合,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed#http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8$LR•IPV4•125『线路1』 -新闻综合,https://migu.188766.xyz/?migutoken=779bd2c7e2b23a37be54ec1b50771d47&id=%E4%B8%8A%E6%B5%B7%E6%96%B0%E9%97%BB%E7%BB%BC%E5%90%88&type=yy$LR•IPV4•125『线路2』 -新闻综合,https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-12.m3u8$LR•IPV4•125『线路3』 -新闻综合,http://116.52.173.34:1234/651632657$LR•IPV4•125『线路4』 -新闻综合,http://14.153.176.183:1234/651632657$LR•IPV4•125『线路5』 -新闻综合,http://api2.52tb.xyz/info?id=371&token=20230218qkyjia$LR•IPV4•125『线路6』 -新闻综合,http://t.061899.xyz/tl/tl.php?id=shxwzh$LR•IPV4•125『线路7』 -新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2810&tk=a0c4f6cfaba3$LR•IPV4•125『线路8』 -新闻综合,https://xatv-yt.xiancity.cn/live/1/index.m3u8$LR•IPV4•125『线路9』 -新闻综合,http://101.6.130.52:1234/651632657$LR•IPV4•125『线路10』 -新闻综合,http://p2.vzan.com/slowlive/596867413819827251/live.m3u8$LR•IPV4•125『线路11』 -新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2441&tk=e640d0a1bf70$LR•IPV4•125『线路12』 -新闻综合,https://hls-gateway.vpstv.net/streams/708847.m3u8$LR•IPV4•125『线路13』 -新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0708&tk=23a9aca1f79f$LR•IPV4•125『线路14』 -新闻综合,https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-10.m3u8$LR•IPV4•125『线路15』 -新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5985&tk=e640d0a1bf70$LR•IPV4•125『线路16』 -新闻综合,http://27.12.12.183:1234/651632657$LR•IPV4•125『线路17』 -新闻综合,https://live.pzhkai.com/xwzhtl/sd/live.m3u8$LR•IPV4•125『线路18』 -新闻综合,http://115.190.247.176:1111/651632657$LR•IPV4•125『线路19』 -新闻综合,https://stream1.freetv.fun/xin-wen-zong-he-3.m3u8$LR•IPV4•125『线路20』 -新闻综合,http://223.247.25.207:1234/651632657$LR•IPV4•125『线路21』 -新闻综合,http://hlsztemgsplive.miguvideo.com:8080/migu/kailu/xwzhhd265/54/20200407/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022325&pid=2028597139×tamp=20260712080235&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=651632657&ParentNodeID=-99&assertID=5910022325&client_ip=171.8.79.254&SecurityKey=20260712080235&promotionId=&mvid=5100001716&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h265&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=e9c1f4d2a44c38803450b284ab7a4418&sv=10004&ct=android$LR•IPV4•125『线路22』 -新闻综合,https://mgtv.ottiptv.cc/migu/651632657.m3u8?migutoken=348c9164063c2b1df215dd2fa7cd92cb119d8a335ae0edfb5d615a6c714e71b669eee2f5ff1730afa92af7ca41d0aa96e3a280d7e5f2069eb8a3b852f3ebc270147489d7c8bfb08a7c4b9c4d80$LR•IPV4•125『线路23』 -新闻综合,http://gslbmgsplive.miguvideo.com/wd_r4/dfl/xinwenzonghehd/1200/index.m3u8?msisdn=6d57e7b77eba8fa4c44add2fe56a2c96&mdspid=&spid=600697&netType=0&sid=5910022325&pid=2028597139×tamp=20260712052059&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=651632657&ParentNodeID=-99&assertID=5910022325&client_ip=39.103.182.111&SecurityKey=20260712052059&promotionId=&mvid=5100001716&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=f08dd631d06585abda7bcdfcec4228d4&ddCalcu=4fd0v88a2dw2da46c3e1cdf0d6c5b875aadb&sv=10004&ct=android$LR•IPV4•125『线路24』 -新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5599&tk=2aca1ad9a849$LR•IPV4•125『线路25』 -新闻综合,https://stream1.freetv.fun/xin-wen-zong-he-13.m3u8$LR•IPV4•125『线路26』 -新闻综合,https://stream1.freetv.fun/ipv6-xin-wen-zong-he-7.m3u8$LR•IPV4•125『线路27』 -新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2394&tk=e503191f8e20$LR•IPV4•125『线路28』 -新闻综合,https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-1.m3u8$LR•IPV4•125『线路29』 -新闻综合,http://api3.52tb.xyz/info?id=371&token=20221127jxwhhemby$LR•IPV4•125『线路30』 -新闻综合,http://43.251.226.89:8080/play/57.m3u8$LR•IPV4•125『线路31』 -新闻综合,http://gslbmgsplive.miguvideo.com/wd_r4/dfl/xinwenzonghehd/1200/index.m3u8?msisdn=20250919080134d0a4f61e680b4d1b8d2460b858ff1fec&mdspid=&spid=699212&netType=0&sid=5500002275&pid=2028597139×tamp=20250919080134&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=651632657&ParentNodeID=-99&assertID=5500002275&client_ip=106.13.250.88&SecurityKey=20250919080134&promotionId=&mvid=5100001716&mcid=500020&playurlVersion=WX-A1-8.9.1-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=c6e37e6787e81aeb250c874ff8533137&ddCalcu=7c36e1e13313705e86f7f8477e88c10a5e2b$LR•IPV4•125『线路32』 -新闻综合,http://123.113.205.253:3000/651632657$LR•IPV4•125『线路33』 -新闻综合,https://stream1.freetv.fun/ipv6-shang-hai-xin-wen-zong-he-7.m3u8$LR•IPV4•125『线路34』 -新闻综合,http://110.154.192.76:7788/651632657$LR•IPV4•125『线路35』 -新闻综合,http://111.228.4.117:6789/migu720p.php?id=651632657$LR•IPV4•125『线路36』 -新闻综合,http://47.104.178.59:3566/651632657$LR•IPV4•125『线路37』 -新闻综合,http://bp-livetytv.bestv.cn/ch/bestvxwzh.m3u8$LR•IPV4•125『线路38』 -新闻综合,https://qcfile.qcrmt.com/nmip-media/channellive/channel100933/playlist.m3u8$LR•IPV4•125『线路39』 -新闻综合,http://119.88.243.98:17231/651632657$LR•IPV4•125『线路40』 -新闻综合,https://www.freetv.top/migu/651632657.m3u8?migutoken=b4a3e55048f55ec1c8fc5b509fbdf32f2dc5d255f5f218e79e84ca9a87fb9f2239927cb11b448f18285b50b81b4cd50a1354e9be5a3283375e85372798c3f3eb3ad60adf45eb5615f68eb4825f$LR•IPV4•125『线路41』 -新闻综合,http://tvpull.dxhmt.cn:9081/tv/10326-1.m3u8$LR•IPV4•125『线路42』 -新闻综合,https://stream1.freetv.fun/ipv6-shang-hai-xin-wen-zong-he-3.m3u8$LR•IPV4•125『线路43』 -新闻综合,http://live.wanyuannews.com/wytv/hd/live.m3u8?zsicd$LR•IPV4•125『线路44』 -新闻综合,https://stream1.freetv.fun/ipv6-xin-wen-zong-he-10.m3u8$LR•IPV4•125『线路45』 -新闻综合,http://116.236.204.18:1234/651632657$LR•IPV4•125『线路46』 -新闻综合,https://stream1.freetv.fun/ipv6-xin-wen-zong-he-14.m3u8$LR•IPV4•125『线路47』 -新闻综合,https://cm-live.ntjoy.com/live/4f1.m3u8$LR•IPV4•125『线路48』 -新闻综合,https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-8.m3u8$LR•IPV4•125『线路49』 -新闻综合,http://gslbmgsplive.miguvideo.com/wd_r4/dfl/xinwenzonghehd/1200/index.m3u8?msisdn=20251023080141ea171d5993054ddd94612bf653be3cfa&mdspid=&spid=699212&netType=0&sid=5500002275&pid=2028597139×tamp=20251023080141&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=651632657&ParentNodeID=-99&assertID=5500002275&client_ip=106.13.250.83&SecurityKey=20251023080141&promotionId=&mvid=5100001716&mcid=500020&playurlVersion=WX-A1-8.9.2-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=4757c0d2f0cd0feb69bcfc7ea14ddd49&ddCalcu=9447ed52d71dc0401da2ef70ccfdc0bf9e6b$LR•IPV4•125『线路50』 -新闻综合,https://stream1.freetv.fun/xin-wen-zong-he-15.m3u8$LR•IPV4•125『线路51』 -新闻综合,https://zby.130519.xyz/PLTV/11/224/3221226136/index.m3u8$LR•IPV4•125『线路52』 -新闻综合,https://stream1.freetv.fun/ipv6-shang-hai-xin-wen-zong-he-6.m3u8$LR•IPV4•125『线路53』 -新闻综合,https://stream1.freetv.fun/xin-wen-zong-he-1.ctv$LR•IPV4•125『线路54』 -新闻综合,https://stream1.freetv.fun/xin-wen-zong-he-14.m3u8$LR•IPV4•125『线路55』 -新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5014&tk=a0c4f6cfaba3$LR•IPV4•125『线路56』 -新闻综合,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=shxwzh$LR•IPV4•125『线路57』 -新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2865&tk=f6cc1e0a0e1a$LR•IPV4•125『线路58』 -新闻综合,https://m3u8channel.yunxya.com/nmip-media/channellive/channel100028/playlist.m3u8$LR•IPV4•125『线路59』 -新闻综合,https://stream1.freetv.fun/xin-wen-zong-he-2.m3u8$LR•IPV4•125『线路60』 -新闻综合,https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-2.m3u8$LR•IPV4•125『线路61』 -新闻综合,https://stream1.freetv.fun/xin-wen-zong-he-5.m3u8$LR•IPV4•125『线路62』 -新闻综合,https://m3u8-channel.lytv.tv/nmip-media/channellive/channel111841/playlist.m3u8$LR•IPV4•125『线路63』 -新闻综合,https://stream1.freetv.fun/xin-wen-zong-he-9.m3u8$LR•IPV4•125『线路64』 -新闻综合,https://www.freetv.top/migu/651632657.m3u8?migutoken=5ae42e8fda034ab7bf5171dafa0043e70cd12bcd716940c4572fde52ea92b0785f16f1bdbce4c83f5e075b250fe95668f19f8527dda57c27db24f95d412614d99c86a3a2d9341d88b5224b7068$LR•IPV4•125『线路65』 -新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0610&tk=b53028476470$LR•IPV4•125『线路66』 -新闻综合,https://t.freetv.fun/live/shang-hai-xin-wen-zong-he-4.m3u8$LR•IPV4•125『线路67』 -新闻综合,https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-3.m3u8$LR•IPV4•125『线路68』 -新闻综合,https://tvfile.scjgtv.cn:443/nmip-media/channellive/channel104126/playlist.m3u8"$LR•IPV4•125『线路69』 -新闻综合,https://stream1.freetv.fun/xin-wen-zong-he-11.ctv$LR•IPV4•125『线路70』 -新闻综合,https://stream1.freetv.fun/ipv6-shang-hai-xin-wen-zong-he-2.m3u8$LR•IPV4•125『线路71』 -新闻综合,http://stream8.jlntv.cn/shulan/sd/live.m3u8?_upt=332db6421699196585$LR•IPV4•125『线路72』 -新闻综合,http://stream5.jlntv.cn/hn/sd/live.m3u8$LR•IPV4•125『线路73』 -新闻综合,http://pili-live-hls.ybcxjd.com/jdh-live/2108111201035597.m3u8?zsicd$LR•IPV4•125『线路74』 -新闻综合,http://live.spccmc.com:90/live/spxwzh.m3u8$LR•IPV4•125『线路75』 -新闻综合,http://live.iwcmt.cn:90/live/zhxw.m3u8$LR•IPV4•125『线路76』 -新闻综合,http://live.jinchuanrmt.com:90/live/zhxw.m3u8?zsicd$LR•IPV4•125『线路77』 -新闻综合,https://play.yunxya.com/channellive/xinwen.m3u8$LR•IPV4•125『线路78』 -新闻综合,http://ls.qingting.fm/live/267.m3u8$LR•IPV4•125『线路79』 -新闻综合,http://hslive.hsnewsnet.com/lsdream/hve9Wjs/1000/live.m3u8?zanhd$LR•IPV4•125『线路80』 -新闻综合,https://p2.vzan.com/slowlive/596867413819827251/live.m3u8?zbid=1725814272&amp;tpid=1516989100&amp;type=0$LR•IPV4•125『线路81』 -新闻综合,http://uzoiczhh.live.sxmty.com/live/hls/0d41f1480c4042d49927858f01fde707/53130407737b417b9a6259b57246bae3.m3u8?zshanxd$LR•IPV4•125『线路82』 -新闻综合,https://ls.qingting.fm/live/5043/64k.m3u8$LR•IPV4•125『线路83』 -新闻综合,http://liveout.btzx.com.cn/62ds9e/4nxdih.m3u8?fbl=$LR•IPV4•125『线路84』 -新闻综合,http://nklive.nbs.cn/hls/d511bc9d-a694-4453-b3a2-4fc842cc97a1/index.m3u8$LR•IPV4•125『线路85』 -新闻综合,http://cm-wshls.homecdn.com/live/2aa50.m3u8$LR•IPV4•125『线路86』 -新闻综合,http://ls.qingting.fm/live/23797.m3u8$LR•IPV4•125『线路87』 -新闻综合,https://play.kankanlive.com/live/1720583434627241.m3u8$LR•IPV4•125『线路88』 -新闻综合,http://ls.qingting.fm/live/4885.m3u8$LR•IPV4•125『线路89』 -新闻综合,https://liveout.xntv.tv/a65jur/96iln2.m3u8?zqinghd$LR•IPV4•125『线路90』 -新闻综合,http://live.qthnews.org.cn:1935/live/live1/800k/tzwj_video.m3u8$LR•IPV4•125『线路91』 -新闻综合,http://stream.hrbtv.net/xwzh/sd/live.m3u8?zheild$LR•IPV4•125『线路92』 -新闻综合,https://stream1.freetv.fun/ipv6-ji-nan-xin-wen-zong-he-8.m3u8$LR•IPV4•125『线路93』 -新闻综合,https://stream1.freetv.fun/ji-nan-xin-wen-zong-he-7.m3u8$LR•IPV4•125『线路94』 -新闻综合,http://stream.zztvzd.com/1/sd/live.m3u8$LR•IPV4•125『线路95』 -新闻综合,http://stream.zztvzd.com/1/sd/live.m3u8?shandd$LR•IPV4•125『线路96』 -新闻综合,https://stream1.freetv.fun/ipv6-wei-fang-xin-wen-zong-he-1.m3u8$LR•IPV4•125『线路97』 -新闻综合,https://stream1.freetv.fun/ipv6-wei-fang-xin-wen-zong-he-2.m3u8$LR•IPV4•125『线路98』 -新闻综合,http://live.yantaitv.cn/live/3e81a8879da44c5dadf3bd9c10468e1c/9b776d420ee4438199b7657c8eb88f07-1.m3u8$LR•IPV4•125『线路99』 -新闻综合,http://live.hznet.tv:1935/live/live1/500k/tzwj_video.m3u8$LR•IPV4•125『线路100』 -新闻综合,http://live.hznet.tv:1935/live/live1/500K/tzwj_video.m3u8?shandd$LR•IPV4•125『线路101』 -新闻综合,https://stream2.jlntv.cn/baicheng1/sd/live.m3u8$LR•IPV4•125『线路102』 -新闻综合,http://live.cztv.cc:85/live/xwpd.m3u8$LR•IPV4•125『线路103』 -新闻综合,http://117.156.28.119/270000001111/1110000001/index.m3u8$LR•IPV4•125『线路104』 -新闻综合,http://pili-live-hls.hebitv.com/hebi/hebi.m3u8$LR•IPV4•125『线路105』 -新闻综合,https://stream2.jlntv.cn/naxw/sd/live.m3u8$LR•IPV4•125『线路106』 -新闻综合,http://uni6rtmp.tulix.tv:1935/vbstv/vbsabr.smil/chunklist_w439903609_b1228800.m3u8$LR•IPV4•125『线路107』 -新闻综合,http://221.5.213.4:30000/1111.m3u8$LR•IPV4•125『线路108』 -新闻综合,https://stream2.jlntv.cn/jilin1/sd/live.m3u8$LR•IPV4•125『线路109』 -新闻综合,http://30515.hlsplay.aodianyun.com/lms_30515/tv_channel_239.m3u8$LR•IPV4•125『线路110』 -新闻综合,https://stream2.jlntv.cn/sptv/sd/live.m3u8$LR•IPV4•125『线路111』 -新闻综合,http://live.ahsz.tv/video/s10001-szzh/index.m3u8$LR•IPV4•125『线路112』 -新闻综合,http://guangshui.live.tempsource.cjyun.org/videotmp/s10146-GSXW.m3u8$LR•IPV4•125『线路113』 -新闻综合,https://stream2.jlntv.cn/jlyb/sd/live.m3u8$LR•IPV4•125『线路114』 -新闻综合,https://stream2.jlntv.cn/sytv/sd/live.m3u8$LR•IPV4•125『线路115』 -新闻综合,http://222.179.155.21:1935/ch1.m3u8$LR•IPV4•125『线路116』 -新闻综合,http://117.172.215.250:8083/videos/live/35/39/GQVbrgob5CGJM/GQVbrgob5CGJM.m3u8$LR•IPV4•125『线路117』 -新闻综合,http://220.180.110.101:8083/videos/live/36/57/hwEHU4UVQ1Iv5/hwEHU4UVQ1Iv5.m3u8$LR•IPV4•125『线路118』 -新闻综合,http://live.hnxttv.com:9601/live/xwzh/800K/tzwj_video.m3u8$LR•IPV4•125『线路119』 -新闻综合,http://stream.bzcm.net/2/sd/live.m3u8$LR•IPV4•125『线路120』 -新闻综合,http://117.156.28.119/270000001111/1110000145/index.m3u8$LR•IPV4•125『线路121』 -新闻综合,https://stream2.jlntv.cn/baishan1/sd/live.m3u8$LR•IPV4•125『线路122』 -新闻综合,http://live1.wuhubtv.com/channel1/sd/live.m3u8$LR•IPV4•125『线路123』 -新闻综合,http://palive.patv123.com:8091/live/xwpd_800K.m3u8$LR•IPV4•125『线路124』 -新闻综合,https://stream2.jlntv.cn/liaoyuan1/sd/live.m3u8$LR•IPV4•125『线路125』 +上海纪实,https://stream1.freetv.fun/ipv6-shang-hai-ji-shi-ren-wen-3.m3u8$LR•IPV4•10『线路10』 +新闻综合,https://stream2.jlntv.cn/baicheng1/sd/live.m3u8$LR•IPV4•117『线路1』 +新闻综合,http://live.cztv.cc:85/live/xwpd.m3u8$LR•IPV4•117『线路2』 +新闻综合,http://117.156.28.119/270000001111/1110000001/index.m3u8$LR•IPV4•117『线路3』 +新闻综合,http://pili-live-hls.hebitv.com/hebi/hebi.m3u8$LR•IPV4•117『线路4』 +新闻综合,https://stream2.jlntv.cn/naxw/sd/live.m3u8$LR•IPV4•117『线路5』 +新闻综合,http://uni6rtmp.tulix.tv:1935/vbstv/vbsabr.smil/chunklist_w439903609_b1228800.m3u8$LR•IPV4•117『线路6』 +新闻综合,http://221.5.213.4:30000/1111.m3u8$LR•IPV4•117『线路7』 +新闻综合,https://stream2.jlntv.cn/jilin1/sd/live.m3u8$LR•IPV4•117『线路8』 +新闻综合,http://30515.hlsplay.aodianyun.com/lms_30515/tv_channel_239.m3u8$LR•IPV4•117『线路9』 +新闻综合,https://stream2.jlntv.cn/sptv/sd/live.m3u8$LR•IPV4•117『线路10』 +新闻综合,http://live.ahsz.tv/video/s10001-szzh/index.m3u8$LR•IPV4•117『线路11』 +新闻综合,http://guangshui.live.tempsource.cjyun.org/videotmp/s10146-GSXW.m3u8$LR•IPV4•117『线路12』 +新闻综合,https://stream2.jlntv.cn/jlyb/sd/live.m3u8$LR•IPV4•117『线路13』 +新闻综合,https://stream2.jlntv.cn/sytv/sd/live.m3u8$LR•IPV4•117『线路14』 +新闻综合,http://222.179.155.21:1935/ch1.m3u8$LR•IPV4•117『线路15』 +新闻综合,http://117.172.215.250:8083/videos/live/35/39/GQVbrgob5CGJM/GQVbrgob5CGJM.m3u8$LR•IPV4•117『线路16』 +新闻综合,http://220.180.110.101:8083/videos/live/36/57/hwEHU4UVQ1Iv5/hwEHU4UVQ1Iv5.m3u8$LR•IPV4•117『线路17』 +新闻综合,http://live.hnxttv.com:9601/live/xwzh/800K/tzwj_video.m3u8$LR•IPV4•117『线路18』 +新闻综合,http://stream.bzcm.net/2/sd/live.m3u8$LR•IPV4•117『线路19』 +新闻综合,http://117.156.28.119/270000001111/1110000145/index.m3u8$LR•IPV4•117『线路20』 +新闻综合,https://stream2.jlntv.cn/baishan1/sd/live.m3u8$LR•IPV4•117『线路21』 +新闻综合,http://live1.wuhubtv.com/channel1/sd/live.m3u8$LR•IPV4•117『线路22』 +新闻综合,http://palive.patv123.com:8091/live/xwpd_800K.m3u8$LR•IPV4•117『线路23』 +新闻综合,https://stream2.jlntv.cn/liaoyuan1/sd/live.m3u8$LR•IPV4•117『线路24』 +新闻综合,https://stream1.freetv.fun/ipv6-ji-nan-xin-wen-zong-he-8.m3u8$LR•IPV4•117『线路25』 +新闻综合,https://stream1.freetv.fun/ji-nan-xin-wen-zong-he-7.m3u8$LR•IPV4•117『线路26』 +新闻综合,http://stream.zztvzd.com/1/sd/live.m3u8?shandd$LR•IPV4•117『线路27』 +新闻综合,http://stream.zztvzd.com/1/sd/live.m3u8$LR•IPV4•117『线路28』 +新闻综合,https://stream1.freetv.fun/ipv6-wei-fang-xin-wen-zong-he-2.m3u8$LR•IPV4•117『线路29』 +新闻综合,https://stream1.freetv.fun/ipv6-wei-fang-xin-wen-zong-he-1.m3u8$LR•IPV4•117『线路30』 +新闻综合,http://live.yantaitv.cn/live/3e81a8879da44c5dadf3bd9c10468e1c/9b776d420ee4438199b7657c8eb88f07-1.m3u8$LR•IPV4•117『线路31』 +新闻综合,http://live.hznet.tv:1935/live/live1/500K/tzwj_video.m3u8?shandd$LR•IPV4•117『线路32』 +新闻综合,http://live.hznet.tv:1935/live/live1/500k/tzwj_video.m3u8$LR•IPV4•117『线路33』 +新闻综合,http://115.190.247.176:1111/651632657$LR•IPV4•117『线路34』 +新闻综合,http://hlsztemgsplive.miguvideo.com:8080/migu/kailu/xwzhhd265/54/20200407/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022325&pid=2028597139×tamp=20260713080304&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=651632657&ParentNodeID=-99&assertID=5910022325&client_ip=171.8.79.254&SecurityKey=20260713080304&promotionId=&mvid=5100001716&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h265&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=fe8fa64a110dbbdcb573fec26cc2cf13&sv=10004&ct=android$LR•IPV4•117『线路35』 +新闻综合,https://stream1.freetv.fun/ipv6-shang-hai-xin-wen-zong-he-7.m3u8$LR•IPV4•117『线路36』 +新闻综合,https://stream1.freetv.fun/xin-wen-zong-he-3.m3u8$LR•IPV4•117『线路37』 +新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2865&tk=f6cc1e0a0e1a$LR•IPV4•117『线路38』 +新闻综合,https://stream1.freetv.fun/xin-wen-zong-he-14.m3u8$LR•IPV4•117『线路39』 +新闻综合,http://hlszymgsplive.miguvideo.com:8080/migu/kailu/xwzhhd265/54/20200407/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022325&pid=2028597139×tamp=20260713040259&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=651632657&ParentNodeID=-99&assertID=5910022325&client_ip=171.8.79.254&SecurityKey=20260713040259&promotionId=&mvid=5100001716&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h265&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=1bb262b74782bd5cf43bb7e978d2dd7b&sv=10004&ct=android$LR•IPV4•117『线路40』 +新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2394&tk=e503191f8e20$LR•IPV4•117『线路41』 +新闻综合,https://stream1.freetv.fun/ipv6-xin-wen-zong-he-10.m3u8$LR•IPV4•117『线路42』 +新闻综合,http://bp-livetytv.bestv.cn/ch/bestvxwzh.m3u8$LR•IPV4•117『线路43』 +新闻综合,http://t.061899.xyz/tl/tl.php?id=shxwzh$LR•IPV4•117『线路44』 +新闻综合,https://live.pzhkai.com/xwzhtl/sd/live.m3u8$LR•IPV4•117『线路45』 +新闻综合,http://111.228.4.117:6789/migu720p.php?id=651632657$LR•IPV4•117『线路46』 +新闻综合,https://xatv-yt.xiancity.cn/live/1/index.m3u8$LR•IPV4•117『线路47』 +新闻综合,https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-10.m3u8$LR•IPV4•117『线路48』 +新闻综合,http://api2.52tb.xyz/info?id=371&token=20230218qkyjia$LR•IPV4•117『线路49』 +新闻综合,https://stream1.freetv.fun/ipv6-xin-wen-zong-he-7.m3u8$LR•IPV4•117『线路50』 +新闻综合,https://qcfile.qcrmt.com/nmip-media/channellive/channel100933/playlist.m3u8$LR•IPV4•117『线路51』 +新闻综合,https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-12.m3u8$LR•IPV4•117『线路52』 +新闻综合,https://migu.188766.xyz/?migutoken=779bd2c7e2b23a37be54ec1b50771d47&id=%E4%B8%8A%E6%B5%B7%E6%96%B0%E9%97%BB%E7%BB%BC%E5%90%88&type=yy$LR•IPV4•117『线路53』 +新闻综合,http://gslbmgsplive.miguvideo.com/wd_r4/dfl/xinwenzonghehd/1200/index.m3u8?msisdn=20250919080134d0a4f61e680b4d1b8d2460b858ff1fec&mdspid=&spid=699212&netType=0&sid=5500002275&pid=2028597139×tamp=20250919080134&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=651632657&ParentNodeID=-99&assertID=5500002275&client_ip=106.13.250.88&SecurityKey=20250919080134&promotionId=&mvid=5100001716&mcid=500020&playurlVersion=WX-A1-8.9.1-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=c6e37e6787e81aeb250c874ff8533137&ddCalcu=7c36e1e13313705e86f7f8477e88c10a5e2b$LR•IPV4•117『线路54』 +新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5599&tk=2aca1ad9a849$LR•IPV4•117『线路55』 +新闻综合,https://m3u8channel.yunxya.com/nmip-media/channellive/channel100028/playlist.m3u8$LR•IPV4•117『线路56』 +新闻综合,http://43.251.226.89:8080/play/57.m3u8$LR•IPV4•117『线路57』 +新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2441&tk=e640d0a1bf70$LR•IPV4•117『线路58』 +新闻综合,https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-8.m3u8$LR•IPV4•117『线路59』 +新闻综合,https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-2.m3u8$LR•IPV4•117『线路60』 +新闻综合,https://stream1.freetv.fun/ipv6-shang-hai-xin-wen-zong-he-6.m3u8$LR•IPV4•117『线路61』 +新闻综合,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=shxwzh$LR•IPV4•117『线路62』 +新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0708&tk=23a9aca1f79f$LR•IPV4•117『线路63』 +新闻综合,http://123.113.205.253:3000/651632657$LR•IPV4•117『线路64』 +新闻综合,https://tvfile.scjgtv.cn:443/nmip-media/channellive/channel104126/playlist.m3u8"$LR•IPV4•117『线路65』 +新闻综合,http://live.wanyuannews.com/wytv/hd/live.m3u8?zsicd$LR•IPV4•117『线路66』 +新闻综合,https://hls-gateway.vpstv.net/streams/708847.m3u8$LR•IPV4•117『线路67』 +新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2810&tk=a0c4f6cfaba3$LR•IPV4•117『线路68』 +新闻综合,https://stream1.freetv.fun/xin-wen-zong-he-1.ctv$LR•IPV4•117『线路69』 +新闻综合,https://m3u8-channel.lytv.tv/nmip-media/channellive/channel111841/playlist.m3u8$LR•IPV4•117『线路70』 +新闻综合,https://stream1.freetv.fun/ipv6-shang-hai-xin-wen-zong-he-2.m3u8$LR•IPV4•117『线路71』 +新闻综合,https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-3.m3u8$LR•IPV4•117『线路72』 +新闻综合,https://cm-live.ntjoy.com/live/4f1.m3u8$LR•IPV4•117『线路73』 +新闻综合,https://www.freetv.top/migu/651632657.m3u8?migutoken=b4a3e55048f55ec1c8fc5b509fbdf32f2dc5d255f5f218e79e84ca9a87fb9f2239927cb11b448f18285b50b81b4cd50a1354e9be5a3283375e85372798c3f3eb3ad60adf45eb5615f68eb4825f$LR•IPV4•117『线路74』 +新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5985&tk=e640d0a1bf70$LR•IPV4•117『线路75』 +新闻综合,https://zby.130519.xyz/PLTV/11/224/3221226136/index.m3u8$LR•IPV4•117『线路76』 +新闻综合,http://api3.52tb.xyz/info?id=371&token=20221127jxwhhemby$LR•IPV4•117『线路77』 +新闻综合,https://stream1.freetv.fun/xin-wen-zong-he-13.m3u8$LR•IPV4•117『线路78』 +新闻综合,https://stream1.freetv.fun/xin-wen-zong-he-2.m3u8$LR•IPV4•117『线路79』 +新闻综合,https://t.freetv.fun/live/shang-hai-xin-wen-zong-he-4.m3u8$LR•IPV4•117『线路80』 +新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5014&tk=a0c4f6cfaba3$LR•IPV4•117『线路81』 +新闻综合,https://stream1.freetv.fun/ipv6-shang-hai-xin-wen-zong-he-3.m3u8$LR•IPV4•117『线路82』 +新闻综合,https://mgtv.ottiptv.cc/migu/651632657.m3u8?migutoken=348c9164063c2b1df215dd2fa7cd92cb119d8a335ae0edfb5d615a6c714e71b669eee2f5ff1730afa92af7ca41d0aa96e3a280d7e5f2069eb8a3b852f3ebc270147489d7c8bfb08a7c4b9c4d80$LR•IPV4•117『线路83』 +新闻综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0610&tk=b53028476470$LR•IPV4•117『线路84』 +新闻综合,https://stream1.freetv.fun/shang-hai-xin-wen-zong-he-1.m3u8$LR•IPV4•117『线路85』 +新闻综合,https://www.freetv.top/migu/651632657.m3u8?migutoken=5ae42e8fda034ab7bf5171dafa0043e70cd12bcd716940c4572fde52ea92b0785f16f1bdbce4c83f5e075b250fe95668f19f8527dda57c27db24f95d412614d99c86a3a2d9341d88b5224b7068$LR•IPV4•117『线路86』 +新闻综合,http://47.104.178.59:3566/651632657$LR•IPV4•117『线路87』 +新闻综合,http://tvpull.dxhmt.cn:9081/tv/10326-1.m3u8$LR•IPV4•117『线路88』 +新闻综合,https://stream1.freetv.fun/xin-wen-zong-he-15.m3u8$LR•IPV4•117『线路89』 +新闻综合,http://gslbmgsplive.miguvideo.com/wd_r4/dfl/xinwenzonghehd/1200/index.m3u8?msisdn=20251023080141ea171d5993054ddd94612bf653be3cfa&mdspid=&spid=699212&netType=0&sid=5500002275&pid=2028597139×tamp=20251023080141&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=651632657&ParentNodeID=-99&assertID=5500002275&client_ip=106.13.250.83&SecurityKey=20251023080141&promotionId=&mvid=5100001716&mcid=500020&playurlVersion=WX-A1-8.9.2-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=4757c0d2f0cd0feb69bcfc7ea14ddd49&ddCalcu=9447ed52d71dc0401da2ef70ccfdc0bf9e6b$LR•IPV4•117『线路90』 +新闻综合,https://stream1.freetv.fun/xin-wen-zong-he-5.m3u8$LR•IPV4•117『线路91』 +新闻综合,http://p2.vzan.com/slowlive/596867413819827251/live.m3u8$LR•IPV4•117『线路92』 +新闻综合,https://stream1.freetv.fun/xin-wen-zong-he-9.m3u8$LR•IPV4•117『线路93』 +新闻综合,https://stream1.freetv.fun/ipv6-xin-wen-zong-he-14.m3u8$LR•IPV4•117『线路94』 +新闻综合,https://stream1.freetv.fun/xin-wen-zong-he-11.ctv$LR•IPV4•117『线路95』 +新闻综合,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed#http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8$LR•IPV4•117『线路96』 +新闻综合,http://stream8.jlntv.cn/shulan/sd/live.m3u8?_upt=332db6421699196585$LR•IPV4•117『线路97』 +新闻综合,http://stream5.jlntv.cn/hn/sd/live.m3u8$LR•IPV4•117『线路98』 +新闻综合,http://pili-live-hls.ybcxjd.com/jdh-live/2108111201035597.m3u8?zsicd$LR•IPV4•117『线路99』 +新闻综合,http://live.spccmc.com:90/live/spxwzh.m3u8$LR•IPV4•117『线路100』 +新闻综合,http://live.iwcmt.cn:90/live/zhxw.m3u8$LR•IPV4•117『线路101』 +新闻综合,http://live.jinchuanrmt.com:90/live/zhxw.m3u8?zsicd$LR•IPV4•117『线路102』 +新闻综合,https://play.yunxya.com/channellive/xinwen.m3u8$LR•IPV4•117『线路103』 +新闻综合,http://ls.qingting.fm/live/267.m3u8$LR•IPV4•117『线路104』 +新闻综合,http://hslive.hsnewsnet.com/lsdream/hve9Wjs/1000/live.m3u8?zanhd$LR•IPV4•117『线路105』 +新闻综合,https://p2.vzan.com/slowlive/596867413819827251/live.m3u8?zbid=1725814272&amp;tpid=1516989100&amp;type=0$LR•IPV4•117『线路106』 +新闻综合,http://uzoiczhh.live.sxmty.com/live/hls/0d41f1480c4042d49927858f01fde707/53130407737b417b9a6259b57246bae3.m3u8?zshanxd$LR•IPV4•117『线路107』 +新闻综合,https://ls.qingting.fm/live/5043/64k.m3u8$LR•IPV4•117『线路108』 +新闻综合,http://liveout.btzx.com.cn/62ds9e/4nxdih.m3u8?fbl=$LR•IPV4•117『线路109』 +新闻综合,http://nklive.nbs.cn/hls/d511bc9d-a694-4453-b3a2-4fc842cc97a1/index.m3u8$LR•IPV4•117『线路110』 +新闻综合,http://cm-wshls.homecdn.com/live/2aa50.m3u8$LR•IPV4•117『线路111』 +新闻综合,http://ls.qingting.fm/live/23797.m3u8$LR•IPV4•117『线路112』 +新闻综合,https://play.kankanlive.com/live/1720583434627241.m3u8$LR•IPV4•117『线路113』 +新闻综合,http://ls.qingting.fm/live/4885.m3u8$LR•IPV4•117『线路114』 +新闻综合,https://liveout.xntv.tv/a65jur/96iln2.m3u8?zqinghd$LR•IPV4•117『线路115』 +新闻综合,http://live.qthnews.org.cn:1935/live/live1/800k/tzwj_video.m3u8$LR•IPV4•117『线路116』 +新闻综合,http://stream.hrbtv.net/xwzh/sd/live.m3u8?zheild$LR•IPV4•117『线路117』 陕西,#genre# -西安新闻,http://112.46.105.20:8009/hls/28/index.m3u8$LR•IPV4•2『线路1』 -西安新闻,http://stream2.xiancity.cn/xatv1/playlist.m3u8$LR•IPV4•2『线路2』 +西安新闻,http://stream2.xiancity.cn/xatv1/playlist.m3u8$LR•IPV4•2『线路1』 +西安新闻,http://112.46.105.20:8009/hls/28/index.m3u8$LR•IPV4•2『线路2』 山东,#genre# -山东少儿,https://stream1.freetv.fun/shan-dong-shao-er-8.m3u8$LR•IPV4•16『线路1』 -山东少儿,https://stream1.freetv.fun/shan-dong-shao-er-2.m3u8$LR•IPV4•16『线路2』 -山东少儿,https://stream1.freetv.fun/shan-dong-shao-er-1.m3u8$LR•IPV4•16『线路3』 -山东少儿,http://221.2.148.205:8154/tsfile/live/1007_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路4』 -山东少儿,https://stream1.freetv.fun/shan-dong-shao-er-6.m3u8$LR•IPV4•16『线路5』 -山东少儿,https://stream1.freetv.fun/shan-dong-shao-er-5.m3u8$LR•IPV4•16『线路6』 -山东少儿,http://111.14.181.15:9901/tsfile/live/1005_1.m3u8$LR•IPV4•16『线路7』 -山东少儿,http://58.57.40.22:9901/tsfile/live/1024_1.m3u8$LR•IPV4•16『线路8』 -山东少儿,https://stream1.freetv.fun/shan-dong-shao-er-10.m3u8$LR•IPV4•16『线路9』 -山东少儿,http://123.132.233.194:352/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路10』 -山东少儿,http://111.14.181.15:9901/tsfile/live/1005_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•16『线路11』 -山东少儿,https://stream1.freetv.fun/shan-dong-shao-er-7.m3u8$LR•IPV4•16『线路12』 -山东少儿,https://stream1.freetv.fun/shan-dong-shao-er-9.m3u8$LR•IPV4•16『线路13』 -山东少儿,http://123.129.70.178:9901/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路14』 -山东少儿,https://stream1.freetv.fun/shan-dong-shao-er-4.m3u8$LR•IPV4•16『线路15』 -山东少儿,http://livealone302.iqilu.com/iqilu/sepd.m3u8$LR•IPV4•16『线路16』 -山东新闻,https://stream1.freetv.fun/shan-dong-xin-wen-3.m3u8$LR•IPV4•12『线路1』 +山东少儿,http://livealone302.iqilu.com/iqilu/sepd.m3u8$LR•IPV4•16『线路1』 +山东少儿,http://123.132.233.194:352/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路2』 +山东少儿,https://stream1.freetv.fun/shan-dong-shao-er-4.m3u8$LR•IPV4•16『线路3』 +山东少儿,https://stream1.freetv.fun/shan-dong-shao-er-10.m3u8$LR•IPV4•16『线路4』 +山东少儿,http://123.129.70.178:9901/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路5』 +山东少儿,http://58.57.40.22:9901/tsfile/live/1024_1.m3u8$LR•IPV4•16『线路6』 +山东少儿,https://stream1.freetv.fun/shan-dong-shao-er-5.m3u8$LR•IPV4•16『线路7』 +山东少儿,https://stream1.freetv.fun/shan-dong-shao-er-8.m3u8$LR•IPV4•16『线路8』 +山东少儿,https://stream1.freetv.fun/shan-dong-shao-er-9.m3u8$LR•IPV4•16『线路9』 +山东少儿,https://stream1.freetv.fun/shan-dong-shao-er-7.m3u8$LR•IPV4•16『线路10』 +山东少儿,https://stream1.freetv.fun/shan-dong-shao-er-2.m3u8$LR•IPV4•16『线路11』 +山东少儿,http://111.14.181.15:9901/tsfile/live/1005_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•16『线路12』 +山东少儿,https://stream1.freetv.fun/shan-dong-shao-er-1.m3u8$LR•IPV4•16『线路13』 +山东少儿,https://stream1.freetv.fun/shan-dong-shao-er-6.m3u8$LR•IPV4•16『线路14』 +山东少儿,http://221.2.148.205:8154/tsfile/live/1007_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路15』 +山东少儿,http://111.14.181.15:9901/tsfile/live/1005_1.m3u8$LR•IPV4•16『线路16』 +山东新闻,http://livealone302.iqilu.com/iqilu/ggpd.m3u8$LR•IPV4•12『线路1』 山东新闻,http://123.129.70.178:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•12『线路2』 -山东新闻,https://stream1.freetv.fun/shan-dong-xin-wen-4.m3u8$LR•IPV4•12『线路3』 -山东新闻,http://live.xmcdn.com/live/1440/64.m3u8$LR•IPV4•12『线路4』 -山东新闻,https://stream1.freetv.fun/shan-dong-xin-wen-2.m3u8$LR•IPV4•12『线路5』 -山东新闻,https://stream1.freetv.fun/shan-dong-xin-wen-6.m3u8$LR•IPV4•12『线路6』 -山东新闻,https://stream1.freetv.fun/shan-dong-xin-wen-10.m3u8$LR•IPV4•12『线路7』 +山东新闻,https://stream1.freetv.fun/shan-dong-xin-wen-3.m3u8$LR•IPV4•12『线路3』 +山东新闻,http://ls.qingting.fm/live/60180.m3u8$LR•IPV4•12『线路4』 +山东新闻,https://stream1.freetv.fun/shan-dong-xin-wen-4.m3u8$LR•IPV4•12『线路5』 +山东新闻,https://stream1.freetv.fun/shan-dong-xin-wen-1.m3u8$LR•IPV4•12『线路6』 +山东新闻,https://stream1.freetv.fun/shan-dong-xin-wen-6.m3u8$LR•IPV4•12『线路7』 山东新闻,https://stream1.freetv.fun/shan-dong-xin-wen-7.m3u8$LR•IPV4•12『线路8』 -山东新闻,http://221.2.148.205:8154/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•12『线路9』 -山东新闻,http://ls.qingting.fm/live/60180.m3u8$LR•IPV4•12『线路10』 -山东新闻,https://stream1.freetv.fun/shan-dong-xin-wen-1.m3u8$LR•IPV4•12『线路11』 -山东新闻,http://livealone302.iqilu.com/iqilu/ggpd.m3u8$LR•IPV4•12『线路12』 -山东教育,https://test1.live.sdetv.com.cn/live/dianshizhibo/playlist.m3u8$LR•IPV4•23『线路1』 -山东教育,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000004097&livemode=1&stbId=yu&mode=1&$LR•IPV4•23『线路2』 -山东教育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7973&tk=a0c4f6cfaba3$LR•IPV4•23『线路3』 -山东教育,http://gslbmgsplive.miguvideo.com/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=20251023080146a623a1a467704de1bb9f78bcfbe3cb85&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20251023080146&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=106.13.250.83&SecurityKey=20251023080146&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-8.9.2-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=dac6a2cd92e52b24f75ac42655739371&ddCalcu=1d7ae3c29693a0725c5d69224ec5a25b72f4$LR•IPV4•23『线路4』 -山东教育,http://183.11.239.36:808/hls/72/index.m3u8$LR•IPV4•23『线路5』 -山东教育,http://hlszymgsplive.miguvideo.com:8080/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20260702160222&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=171.8.79.254&SecurityKey=20260702160222&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=e6d806b9dd3969177a5ab7629f97efb1&sv=10004&ct=android$LR•IPV4•23『线路6』 -山东教育,http://123.113.205.253:3000/609154353$LR•IPV4•23『线路7』 -山东教育,http://gslbmgsplive.miguvideo.com/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20260712080243&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=171.8.79.254&SecurityKey=20260712080243&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=baeafc48c7d90e2228e2256fc61f7510&ddCalcu=0b1av5ea7abffa1c64c8fc675d2920ee8222&sv=10004&ct=android$LR•IPV4•23『线路8』 -山东教育,http://iptv.huuc.edu.cn/hls/sdetv.m3u8$LR•IPV4•23『线路9』 -山东教育,http://dl.wifi942.com:66/jsyd/jsyd.php?id=G_SDETV$LR•IPV4•23『线路10』 -山东教育,http://gslbmgsplive.miguvideo.com/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=407a55a8205b696fcc9f814013649e5d&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20260712052124&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=39.103.182.111&SecurityKey=20260712052124&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=116fe50ac3e45ff820ec202888d453a1&ddCalcu=11a1v36a5fb4ead5808a8c230e24c5ef0f28&sv=10004&ct=android$LR•IPV4•23『线路11』 -山东教育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0563&tk=a0c4f6cfaba3$LR•IPV4•23『线路12』 -山东教育,http://112.132.10.54:9901/tsfile/live/1018_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•23『线路13』 -山东教育,http://120.238.94.10:9901/tsfile/live/1062_1.m3u8?key=txiptv$LR•IPV4•23『线路14』 -山东教育,http://dassby.qqff.top:99/live/山东教育卫视/index.m3u8$LR•IPV4•23『线路15』 -山东教育,http://115.190.247.176:1111/609154353$LR•IPV4•23『线路16』 -山东教育,http://gslbmgsplive.miguvideo.com/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=20250927080126244a72fa1b554182ae03568fff35bca7&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20250927080126&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=106.13.250.83&SecurityKey=20250927080126&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-8.9.2-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=41ee1554c91427e91ee78ce8b64f7a33&ddCalcu=3431eae27e9f104565b48ce9c18472e7ee19$LR•IPV4•23『线路17』 -山东教育,https://migu.188766.xyz/?migutoken=1134813ab83db9f651ce86515f06b7c5&id=%E5%B1%B1%E4%B8%9C%E6%95%99%E8%82%B2&type=yy$LR•IPV4•23『线路18』 -山东教育,http://76.5432123.xyz/杂项代理/学习强国.php?id=sdjy$LR•IPV4•23『线路19』 -山东教育,http://121.19.134.222:808/tsfile/live/1033_1.m3u8$LR•IPV4•23『线路20』 -山东教育,http://120.238.94.10:9901/tsfile/live/1062_1.m3u8$LR•IPV4•23『线路21』 -山东教育,http://hlszymgsplive.miguvideo.com:8080/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20260712040237&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=171.8.79.254&SecurityKey=20260712040237&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=8b6bf53e808f5924769695a49891b0dc&sv=10004&ct=android$LR•IPV4•23『线路22』 -山东教育,http://47.104.178.59:3566/609154353$LR•IPV4•23『线路23』 -山东农科,http://58.57.40.22:9901/tsfile/live/1022_1.m3u8$LR•IPV4•2『线路1』 -山东农科,http://livealone302.iqilu.com/iqilu/nkpd.m3u8$LR•IPV4•2『线路2』 -山东齐鲁,http://61.156.228.12:8154/tsfile/live/1001_1.m3u8$LR•IPV4•10『线路1』 -山东齐鲁,http://123.130.84.106:8154/tsfile/live/1001_1.m3u8$LR•IPV4•10『线路2』 -山东齐鲁,http://123.130.84.106:8154/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路3』 -山东齐鲁,http://123.132.233.194:352/tsfile/live/1019_1.m3u8$LR•IPV4•10『线路4』 -山东齐鲁,http://111.14.181.15:9901/tsfile/live/1000_1.m3u8$LR•IPV4•10『线路5』 -山东齐鲁,http://61.156.228.12:8154/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路6』 -山东齐鲁,http://123.129.70.178:9901/tsfile/live/0019_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路7』 -山东齐鲁,http://221.2.148.205:8154/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路8』 -山东齐鲁,http://111.14.181.15:9901/tsfile/live/1000_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•10『线路9』 -山东齐鲁,http://livealone302.iqilu.com/iqilu/qlpd.m3u8$LR•IPV4•10『线路10』 -山东生活,http://ls.qingting.fm/live/60260.m3u8$LR•IPV4•7『线路1』 -山东生活,http://58.57.40.22:9901/tsfile/live/1018_1.m3u8$LR•IPV4•7『线路2』 +山东新闻,http://live.xmcdn.com/live/1440/64.m3u8$LR•IPV4•12『线路9』 +山东新闻,http://221.2.148.205:8154/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•12『线路10』 +山东新闻,https://stream1.freetv.fun/shan-dong-xin-wen-10.m3u8$LR•IPV4•12『线路11』 +山东新闻,https://stream1.freetv.fun/shan-dong-xin-wen-2.m3u8$LR•IPV4•12『线路12』 +山东教育,https://test1.live.sdetv.com.cn/live/dianshizhibo/playlist.m3u8$LR•IPV4•22『线路1』 +山东教育,http://dassby.qqff.top:99/live/山东教育卫视/index.m3u8$LR•IPV4•22『线路2』 +山东教育,http://47.104.178.59:3566/609154353$LR•IPV4•22『线路3』 +山东教育,http://gslbmgsplive.miguvideo.com/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=20250927080126244a72fa1b554182ae03568fff35bca7&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20250927080126&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=106.13.250.83&SecurityKey=20250927080126&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-8.9.2-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=41ee1554c91427e91ee78ce8b64f7a33&ddCalcu=3431eae27e9f104565b48ce9c18472e7ee19$LR•IPV4•22『线路4』 +山东教育,http://hlszymgsplive.miguvideo.com:8080/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20260702160222&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=171.8.79.254&SecurityKey=20260702160222&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=e6d806b9dd3969177a5ab7629f97efb1&sv=10004&ct=android$LR•IPV4•22『线路5』 +山东教育,http://iptv.huuc.edu.cn/hls/sdetv.m3u8$LR•IPV4•22『线路6』 +山东教育,http://120.238.94.10:9901/tsfile/live/1062_1.m3u8$LR•IPV4•22『线路7』 +山东教育,http://115.190.247.176:1111/609154353$LR•IPV4•22『线路8』 +山东教育,http://120.238.94.10:9901/tsfile/live/1062_1.m3u8?key=txiptv$LR•IPV4•22『线路9』 +山东教育,http://183.11.239.36:808/hls/72/index.m3u8$LR•IPV4•22『线路10』 +山东教育,http://112.132.10.54:9901/tsfile/live/1018_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•22『线路11』 +山东教育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0563&tk=a0c4f6cfaba3$LR•IPV4•22『线路12』 +山东教育,http://gslbmgsplive.miguvideo.com/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=20251023080146a623a1a467704de1bb9f78bcfbe3cb85&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20251023080146&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=106.13.250.83&SecurityKey=20251023080146&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-8.9.2-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=dac6a2cd92e52b24f75ac42655739371&ddCalcu=1d7ae3c29693a0725c5d69224ec5a25b72f4$LR•IPV4•22『线路13』 +山东教育,http://76.5432123.xyz/杂项代理/学习强国.php?id=sdjy$LR•IPV4•22『线路14』 +山东教育,http://123.113.205.253:3000/609154353$LR•IPV4•22『线路15』 +山东教育,http://hlszymgsplive.miguvideo.com:8080/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20260713040307&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=171.8.79.254&SecurityKey=20260713040307&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=a4b9418a915a834615813ea88426d621&sv=10004&ct=android$LR•IPV4•22『线路16』 +山东教育,http://dl.wifi942.com:66/jsyd/jsyd.php?id=G_SDETV$LR•IPV4•22『线路17』 +山东教育,http://mgsp-cty2.live.miguvideo.com:8088/migu/kailu/sdjyws/51/20250915/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600697&netType=0&sid=5910022199&pid=2028597139×tamp=20260713080311&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=609154353&ParentNodeID=-99&assertID=5910022199&client_ip=171.8.79.254&SecurityKey=20260713080311&promotionId=&mvid=2200208305&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=857395bf55755069de68c719775cc48e&sv=10004&ct=android$LR•IPV4•22『线路18』 +山东教育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7973&tk=a0c4f6cfaba3$LR•IPV4•22『线路19』 +山东教育,https://migu.188766.xyz/?migutoken=1134813ab83db9f651ce86515f06b7c5&id=%E5%B1%B1%E4%B8%9C%E6%95%99%E8%82%B2&type=yy$LR•IPV4•22『线路20』 +山东教育,http://121.19.134.222:808/tsfile/live/1033_1.m3u8$LR•IPV4•22『线路21』 +山东教育,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000002000004097&livemode=1&stbId=yu&mode=1&$LR•IPV4•22『线路22』 +山东农科,http://livealone302.iqilu.com/iqilu/nkpd.m3u8$LR•IPV4•2『线路1』 +山东农科,http://58.57.40.22:9901/tsfile/live/1022_1.m3u8$LR•IPV4•2『线路2』 +山东齐鲁,http://livealone302.iqilu.com/iqilu/qlpd.m3u8$LR•IPV4•10『线路1』 +山东齐鲁,http://111.14.181.15:9901/tsfile/live/1000_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•10『线路2』 +山东齐鲁,http://123.132.233.194:352/tsfile/live/1019_1.m3u8$LR•IPV4•10『线路3』 +山东齐鲁,http://123.130.84.106:8154/tsfile/live/1001_1.m3u8$LR•IPV4•10『线路4』 +山东齐鲁,http://61.156.228.12:8154/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路5』 +山东齐鲁,http://221.2.148.205:8154/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路6』 +山东齐鲁,http://111.14.181.15:9901/tsfile/live/1000_1.m3u8$LR•IPV4•10『线路7』 +山东齐鲁,http://123.129.70.178:9901/tsfile/live/0019_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路8』 +山东齐鲁,http://123.130.84.106:8154/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•10『线路9』 +山东齐鲁,http://61.156.228.12:8154/tsfile/live/1001_1.m3u8$LR•IPV4•10『线路10』 +山东生活,http://livealone302.iqilu.com/iqilu/shpd.m3u8$LR•IPV4•7『线路1』 +山东生活,http://api3.52tb.xyz/info?id=527&token=20221127jxwhhemby$LR•IPV4•7『线路2』 山东生活,http://221.2.148.205:8154/tsfile/live/1005_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•7『线路3』 -山东生活,http://123.129.70.178:9901/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•7『线路4』 -山东生活,http://api3.52tb.xyz/info?id=527&token=20221127jxwhhemby$LR•IPV4•7『线路5』 -山东生活,http://live.xmcdn.com/live/802/64.m3u8$LR•IPV4•7『线路6』 -山东生活,http://livealone302.iqilu.com/iqilu/shpd.m3u8$LR•IPV4•7『线路7』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-11.m3u8$LR•IPV4•37『线路1』 -山东体育,http://61.156.228.12:8154/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路2』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-4.m3u8$LR•IPV4•37『线路3』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-6.m3u8$LR•IPV4•37『线路4』 -山东体育,http://123.132.233.194:352/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路5』 +山东生活,http://live.xmcdn.com/live/802/64.m3u8$LR•IPV4•7『线路4』 +山东生活,http://ls.qingting.fm/live/60260.m3u8$LR•IPV4•7『线路5』 +山东生活,http://123.129.70.178:9901/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•7『线路6』 +山东生活,http://58.57.40.22:9901/tsfile/live/1018_1.m3u8$LR•IPV4•7『线路7』 +山东体育,http://livealone302.iqilu.com/iqilu/typd.m3u8$LR•IPV4•37『线路1』 +山东体育,http://61.156.228.12:8154/tsfile/live/1006_1.m3u8$LR•IPV4•37『线路2』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-26.m3u8$LR•IPV4•37『线路3』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-15.m3u8$LR•IPV4•37『线路4』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-23.m3u8$LR•IPV4•37『线路5』 山东体育,http://111.14.181.15:9901/tsfile/live/1022_1.m3u8$LR•IPV4•37『线路6』 -山东体育,http://123.130.84.106:8154/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路7』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-10.m3u8$LR•IPV4•37『线路8』 -山东体育,http://111.14.181.15:9901/tsfile/live/1022_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•37『线路9』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-5.m3u8$LR•IPV4•37『线路10』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-26.m3u8$LR•IPV4•37『线路11』 -山东体育,https://satellitepull.cnr.cn/live/wxsdtyxxgb/playlist.m3u8$LR•IPV4•37『线路12』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-15.m3u8$LR•IPV4•37『线路13』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-12.m3u8$LR•IPV4•37『线路14』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-13.m3u8$LR•IPV4•37『线路15』 -山东体育,http://221.2.148.205:8154/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路16』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-8.m3u8$LR•IPV4•37『线路17』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-7.m3u8$LR•IPV4•37『线路18』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-18.m3u8$LR•IPV4•37『线路19』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-23.m3u8$LR•IPV4•37『线路20』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-14.m3u8$LR•IPV4•37『线路21』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-16.m3u8$LR•IPV4•37『线路22』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-3.m3u8$LR•IPV4•37『线路23』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-24.m3u8$LR•IPV4•37『线路24』 -山东体育,http://livealone302.iqilu.com/iqilu/typd.m3u8$LR•IPV4•37『线路25』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-1.m3u8$LR•IPV4•37『线路26』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-2.m3u8$LR•IPV4•37『线路27』 -山东体育,http://58.57.40.22:9901/tsfile/live/1020_1.m3u8$LR•IPV4•37『线路28』 -山东体育,http://live.xmcdn.com/live/805/64.m3u8$LR•IPV4•37『线路29』 -山东体育,http://123.129.70.178:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路30』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-9.m3u8$LR•IPV4•37『线路31』 -山东体育,http://61.156.228.12:8154/tsfile/live/1006_1.m3u8$LR•IPV4•37『线路32』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-19.m3u8$LR•IPV4•37『线路33』 -山东体育,http://123.130.84.106:8154/tsfile/live/1006_1.m3u8$LR•IPV4•37『线路34』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-25.m3u8$LR•IPV4•37『线路35』 -山东体育,http://satellitepull.cnr.cn/live/wxsdtyxxgb/playlist.m3u8$LR•IPV4•37『线路36』 -山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-22.m3u8$LR•IPV4•37『线路37』 -山东综艺,http://123.129.70.178:9901/tsfile/live/1001_1.m3u8$LR•IPV4•6『线路1』 -山东综艺,http://123.132.233.194:352/tsfile/live/1000_1.m3u8$LR•IPV4•6『线路2』 -山东综艺,http://58.57.40.22:9901/tsfile/live/1021_1.m3u8$LR•IPV4•6『线路3』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-10.m3u8$LR•IPV4•37『线路7』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-1.m3u8$LR•IPV4•37『线路8』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-22.m3u8$LR•IPV4•37『线路9』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-13.m3u8$LR•IPV4•37『线路10』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-19.m3u8$LR•IPV4•37『线路11』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-25.m3u8$LR•IPV4•37『线路12』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-12.m3u8$LR•IPV4•37『线路13』 +山东体育,http://satellitepull.cnr.cn/live/wxsdtyxxgb/playlist.m3u8$LR•IPV4•37『线路14』 +山东体育,http://61.156.228.12:8154/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路15』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-2.m3u8$LR•IPV4•37『线路16』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-9.m3u8$LR•IPV4•37『线路17』 +山东体育,https://satellitepull.cnr.cn/live/wxsdtyxxgb/playlist.m3u8$LR•IPV4•37『线路18』 +山东体育,http://123.129.70.178:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路19』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-11.m3u8$LR•IPV4•37『线路20』 +山东体育,http://221.2.148.205:8154/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路21』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-18.m3u8$LR•IPV4•37『线路22』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-6.m3u8$LR•IPV4•37『线路23』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-8.m3u8$LR•IPV4•37『线路24』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-5.m3u8$LR•IPV4•37『线路25』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-24.m3u8$LR•IPV4•37『线路26』 +山东体育,http://111.14.181.15:9901/tsfile/live/1022_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•37『线路27』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-7.m3u8$LR•IPV4•37『线路28』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-4.m3u8$LR•IPV4•37『线路29』 +山东体育,http://123.130.84.106:8154/tsfile/live/1006_1.m3u8$LR•IPV4•37『线路30』 +山东体育,http://live.xmcdn.com/live/805/64.m3u8$LR•IPV4•37『线路31』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-14.m3u8$LR•IPV4•37『线路32』 +山东体育,http://58.57.40.22:9901/tsfile/live/1020_1.m3u8$LR•IPV4•37『线路33』 +山东体育,http://123.132.233.194:352/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路34』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-3.m3u8$LR•IPV4•37『线路35』 +山东体育,https://stream1.freetv.fun/shan-dong-ti-yu-16.m3u8$LR•IPV4•37『线路36』 +山东体育,http://123.130.84.106:8154/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•37『线路37』 +山东综艺,http://livealone302.iqilu.com/iqilu/zypd.m3u8$LR•IPV4•6『线路1』 +山东综艺,http://123.129.70.178:9901/tsfile/live/1001_1.m3u8$LR•IPV4•6『线路2』 +山东综艺,http://123.132.233.194:352/tsfile/live/1000_1.m3u8$LR•IPV4•6『线路3』 山东综艺,http://221.2.148.205:8154/tsfile/live/1003_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•6『线路4』 -山东综艺,http://111.14.181.15:9901/tsfile/live/1004_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•6『线路5』 -山东综艺,http://livealone302.iqilu.com/iqilu/zypd.m3u8$LR•IPV4•6『线路6』 -山东文旅,http://60.209.125.254:352/tsfile/live/1004_1.m3u8?ace$LR•IPV4•3『线路1』 -山东文旅,http://58.57.40.22:9901/tsfile/live/1023_1.m3u8$LR•IPV4•3『线路2』 -山东文旅,http://221.2.148.205:8154/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•3『线路3』 -济南综合,https://stream1.freetv.fun/ji-nan-zong-he-2.m3u8$LR•IPV4•3『线路1』 -济南综合,https://stream1.freetv.fun/ji-nan-zong-he-1.m3u8$LR•IPV4•3『线路2』 -济南综合,https://quehuamtyoutlive.ijntv.cn/qsrog5/0szz7q.m3u8$LR•IPV4•3『线路3』 +山东综艺,http://58.57.40.22:9901/tsfile/live/1021_1.m3u8$LR•IPV4•6『线路5』 +山东综艺,http://111.14.181.15:9901/tsfile/live/1004_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•6『线路6』 +山东文旅,http://221.2.148.205:8154/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•3『线路1』 +山东文旅,http://60.209.125.254:352/tsfile/live/1004_1.m3u8?ace$LR•IPV4•3『线路2』 +山东文旅,http://58.57.40.22:9901/tsfile/live/1023_1.m3u8$LR•IPV4•3『线路3』 +济南综合,https://stream1.freetv.fun/ji-nan-zong-he-1.m3u8$LR•IPV4•3『线路1』 +济南综合,https://quehuamtyoutlive.ijntv.cn/qsrog5/0szz7q.m3u8$LR•IPV4•3『线路2』 +济南综合,https://stream1.freetv.fun/ji-nan-zong-he-2.m3u8$LR•IPV4•3『线路3』 济南教育,https://stream1.freetv.fun/ji-nan-jiao-yu-1.m3u8$LR•IPV4 山西,#genre# @@ -3893,105 +3867,105 @@ NewTV哒啵赛事,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLiv 港澳台,#genre# 凤凰中文,http://api.mg.itv888.cn:8080/hls/2f80047f91e/index.m3u8$LR•IPV4•16『线路1』 -凤凰中文,http://218.206.193.218:8888/hls/66/index.m3u8$LR•IPV4•16『线路2』 -凤凰中文,http://r.jdshipin.com/cCCzW$LR•IPV4•16『线路3』 -凤凰中文,http://cdn6.163189.xyz/163189/fhzw$LR•IPV4•16『线路4』 -凤凰中文,http://push.cdn1.hls123.de:8080/streams/a4y2t99pzyi/index.m3u8$LR•IPV4•16『线路5』 -凤凰中文,https://flv-play.clouda.com/live/fhzw-6zSJoUiicyU3ovDlMvflVRLQlVCMRCARnyJ0NPlfcs3eWJNeJSDRMAz4VgeQV3Diy6.flv$LR•IPV4•16『线路6』 -凤凰中文,https://k44991.kylintv.tv/live/pxna_iphone.m3u8$LR•IPV4•16『线路7』 -凤凰中文,http://tianhewan.top/ZIPP.php?url=http://211.72.65.236:8577/.m3u8$LR•IPV4•16『线路8』 -凤凰中文,http://146.56.153.245:20121/bysid/258$LR•IPV4•16『线路9』 -凤凰中文,http://e1.woc.iiiya.cn:8888/rtp/239.61.2.184:9092$LR•IPV4•16『线路10』 -凤凰中文,http://php.jdshipin.com/TVOD/iptv.php?id=fhzw$LR•IPV4•16『线路11』 -凤凰中文,http://122.117.71.103:8574/http/61.222.53.250:8078/hls/21/80/phoenixch.m3u8$LR•IPV4•16『线路12』 -凤凰中文,http://148.135.93.213:81/phenix.php?id=fhzw$LR•IPV4•16『线路13』 -凤凰中文,http://211.75.171.121:8577/http/61.67.128.137:8078/hls/21/80/phoenixch.m3u8$LR•IPV4•16『线路14』 -凤凰中文,http://43.251.226.89:8080/play/888.m3u8$LR•IPV4•16『线路15』 -凤凰中文,http://223.110.245.139/ott.js.chinamobile.com/PLTV/3/224/3221226922/index.m3u8$LR•IPV4•16『线路16』 +凤凰中文,http://223.110.245.139/ott.js.chinamobile.com/PLTV/3/224/3221226922/index.m3u8$LR•IPV4•16『线路2』 +凤凰中文,http://218.206.193.218:8888/hls/66/index.m3u8$LR•IPV4•16『线路3』 +凤凰中文,https://k44991.kylintv.tv/live/pxna_iphone.m3u8$LR•IPV4•16『线路4』 +凤凰中文,http://tianhewan.top/ZIPP.php?url=http://211.72.65.236:8577/.m3u8$LR•IPV4•16『线路5』 +凤凰中文,http://146.56.153.245:20121/bysid/258$LR•IPV4•16『线路6』 +凤凰中文,http://e1.woc.iiiya.cn:8888/rtp/239.61.2.184:9092$LR•IPV4•16『线路7』 +凤凰中文,http://php.jdshipin.com/TVOD/iptv.php?id=fhzw$LR•IPV4•16『线路8』 +凤凰中文,http://122.117.71.103:8574/http/61.222.53.250:8078/hls/21/80/phoenixch.m3u8$LR•IPV4•16『线路9』 +凤凰中文,http://148.135.93.213:81/phenix.php?id=fhzw$LR•IPV4•16『线路10』 +凤凰中文,http://211.75.171.121:8577/http/61.67.128.137:8078/hls/21/80/phoenixch.m3u8$LR•IPV4•16『线路11』 +凤凰中文,http://43.251.226.89:8080/play/888.m3u8$LR•IPV4•16『线路12』 +凤凰中文,http://push.cdn1.hls123.de:8080/streams/a4y2t99pzyi/index.m3u8$LR•IPV4•16『线路13』 +凤凰中文,https://flv-play.clouda.com/live/fhzw-6zSJoUiicyU3ovDlMvflVRLQlVCMRCARnyJ0NPlfcs3eWJNeJSDRMAz4VgeQV3Diy6.flv$LR•IPV4•16『线路14』 +凤凰中文,http://r.jdshipin.com/cCCzW$LR•IPV4•16『线路15』 +凤凰中文,http://cdn6.163189.xyz/163189/fhzw$LR•IPV4•16『线路16』 凤凰资讯,http://api.mg.itv888.cn:8080/hls/11ef1dc70d8/index.m3u8$LR•IPV4•16『线路1』 -凤凰资讯,http://221.7.175.154:8445/tsfile/live/1021_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路2』 -凤凰资讯,http://r.jdshipin.com/0Rp07$LR•IPV4•16『线路3』 +凤凰资讯,http://223.110.245.167/ott.js.chinamobile.com/PLTV/3/224/3221226923/index.m3u8$LR•IPV4•16『线路2』 +凤凰资讯,http://221.7.175.154:8445/tsfile/live/1021_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路3』 凤凰资讯,http://php.jdshipin.com/TVOD/iptv.php?id=fhzx$LR•IPV4•16『线路4』 -凤凰资讯,http://cdn6.163189.xyz/163189/fhzx$LR•IPV4•16『线路5』 -凤凰资讯,http://push.cdn1.hls123.de:8080/streams/0u0qd5ovqkg/index.m3u8$LR•IPV4•16『线路6』 -凤凰资讯,https://flv-play.clouda.com/live/fhzx-gCDIOsNFJ7DX5OI8hsebeQNHPm66LAMZgmIcGYcfIIEzXWKCVG2cQgbZdRq2aUVqJR.flv$LR•IPV4•16『线路7』 -凤凰资讯,http://122.117.71.103:8573/http/61.222.53.250:8078/hls/20/80/phoenixif.m3u8$LR•IPV4•16『线路8』 -凤凰资讯,http://e1.woc.iiiya.cn:8888/rtp/239.61.2.183:9086$LR•IPV4•16『线路9』 -凤凰资讯,http://146.56.153.245:20121/bysid/257$LR•IPV4•16『线路10』 -凤凰资讯,http://tianhewan.top/ZIPP.php?url=http://211.72.65.236:8576/.m3u8$LR•IPV4•16『线路11』 -凤凰资讯,http://148.135.93.213:81/phenix.php?id=fhzx$LR•IPV4•16『线路12』 -凤凰资讯,http://211.75.171.121:8576/http/61.67.128.137:8078/hls/20/80/phoenixif.m3u8$LR•IPV4•16『线路13』 -凤凰资讯,http://43.251.226.89:8080/play/889.m3u8$LR•IPV4•16『线路14』 -凤凰资讯,p3p://167.114.175.6:55331/5fffbf860003807cedf4e1016c3c3ed2$LR•IPV4•16『线路15』 -凤凰资讯,http://223.110.245.167/ott.js.chinamobile.com/PLTV/3/224/3221226923/index.m3u8$LR•IPV4•16『线路16』 -凤凰香港,http://122.152.202.33/s/81a8a44f/index.m3u8?id=fhhk$LR•IPV4•12『线路1』 -凤凰香港,https://epg.pw/stream/5f16dc7fc8aaaed3205516c63e4a8c24bca9dbba1181684244729cf574505b0e.m3u8$LR•IPV4•12『线路2』 -凤凰香港,https://epg.pw/stream/8770e89223a086eb1b8a0c931e42296d772a8069ad3eb72540e0c434e7cb3e93.m3u8$LR•IPV4•12『线路3』 -凤凰香港,http://r.jdshipin.com/yDoTN$LR•IPV4•12『线路4』 -凤凰香港,http://php.jdshipin.com/TVOD/iptv.php?id=fhhk$LR•IPV4•12『线路5』 -凤凰香港,http://cdn6.163189.xyz/163189/fhhk$LR•IPV4•12『线路6』 -凤凰香港,http://push.cdn1.hls123.de:8080/streams/898y722sqjr/index.m3u8$LR•IPV4•12『线路7』 -凤凰香港,https://flv-play.clouda.com/live/fhxg-s6ZqbJPCkU54D3ojHvlJm4el9wbnzF1VJ6J0oPumsZIfuPtYq1enmIhy43vWcUaaPf4U2xRRWNGOXX5BiusMXxxQ.flv$LR•IPV4•12『线路8』 -凤凰香港,http://148.135.93.213:81/phenix.php?id=fhhk$LR•IPV4•12『线路9』 -凤凰香港,http://43.251.226.89:8080/play/890.m3u8$LR•IPV4•12『线路10』 -凤凰香港,p3p://167.114.175.6:55331/5fe0b82c000cac9774c17f262e43314d$LR•IPV4•12『线路11』 -凤凰香港,http://223.110.245.136/PLTV/3/224/3221226975/index.m3u8$LR•IPV4•12『线路12』 -TVB翡翠台,http://cdn9.163189.xyz/smt1.1.php?id=jade_twn$LR•IPV4•35『线路1』 -TVB翡翠台,p3p://167.114.175.6:55331/653e4c02000ea0440c8c63fd3e5d709d$LR•IPV4•35『线路2』 -TVB翡翠台,p3p://167.114.175.6:55331/66c04cec000a20ac2dbf03c71cf661c9$LR•IPV4•35『线路3』 -TVB翡翠台,p3p://108.181.32.169:19673/6533f6560002787f2d01338b57197695$LR•IPV4•35『线路4』 -TVB翡翠台,http://php.jdshipin.com/TVOD/iptv.php?id=huali2$LR•IPV4•35『线路5』 -TVB翡翠台,http://php.jdshipin.com:8880/TVOD/iptv.php?id=fct4$LR•IPV4•35『线路6』 -TVB翡翠台,http://php.jdshipin.com:8880/TVOD/iptv.php?id=j1$LR•IPV4•35『线路7』 -TVB翡翠台,http://124.244.129.167:9004/0.ts$LR•IPV4•35『线路8』 -TVB翡翠台,http://qingyi.7766.org:9004/0.ts$LR•IPV4•35『线路9』 -TVB翡翠台,http://push.cdn1.hls123.de:8080/streams/ef5addc0849/index.m3u8$LR•IPV4•35『线路10』 -TVB翡翠台,http://push.cdn1.hls123.de:8080/streams/n6dnsi33w2e/index.m3u8$LR•IPV4•35『线路11』 -TVB翡翠台,http://php.jdshipin.com:8880/TVOD/iptv.php?id=fct$LR•IPV4•35『线路12』 -TVB翡翠台,http://php.jdshipin.com/TVOD/iptv.php?id=fct3$LR•IPV4•35『线路13』 -TVB翡翠台,http://php.jdshipin.com/TVOD/iptv.php?id=fct$LR•IPV4•35『线路14』 -TVB翡翠台,http://hls.168.us.kg/u/81/master.m3u8$LR•IPV4•35『线路15』 -TVB翡翠台,http://r.jdshipin.com/62WM7$LR•IPV4•35『线路16』 -TVB翡翠台,http://php.jdshipin.com/TVOD/iptv.php?id=fct4$LR•IPV4•35『线路17』 -TVB翡翠台,http://php.jdshipin.com:8880/smt.php?id=jade_twn$LR•IPV4•35『线路18』 -TVB翡翠台,http://php.jdshipin.com/smt.php?id=jade_twn$LR•IPV4•35『线路19』 -TVB翡翠台,http://cdn9.1689.us.kg/smt1.1.php?id=jade_twn$LR•IPV4•35『线路20』 -TVB翡翠台,http://ali.hlspull.yximgs.com/live/l3w1tt2dkzvpukkliu64ah005-golive.flv$LR•IPV4•35『线路21』 -TVB翡翠台,http://58.250.155.2:8180/TV00000000000000000032@HHZT$LR•IPV4•35『线路22』 -TVB翡翠台,http://hotelplay.net/live/pmb8krf68n4z/4d8cf4af8de3574c/476935.m3u8$LR•IPV4•35『线路23』 -TVB翡翠台,http://ali.hlspull.yximgs.com/live/awei_jade.flv$LR•IPV4•35『线路24』 -TVB翡翠台,p3p://167.114.175.6:55331/653e49c20006c60f0c8397f7771b1b7b$LR•IPV4•35『线路25』 -TVB翡翠台,https://hls-gateway.vpstv.net/streams/476929.m3u8$LR•IPV4•35『线路26』 -TVB翡翠台,http://cdn6.163189.xyz/163189/fct4k$LR•IPV4•35『线路27』 -TVB翡翠台,https://rtmp.play.live.tieba.com/live/FC-jeT4nLMVrUuYYF1zrjAOgphyDowTHE2GMxjLxPqIlRQMJDhcbFPAiSIzDGwPF77NfidpWnLiDqicTmg8mV7ichVA.flv$LR•IPV4•35『线路28』 -TVB翡翠台,https://flv-play.clouda.com/live/fc-0StF0ynwlSa7hrv7OF4easlc5FZmZpEjC6AeAaCOogpDCWWipXDZFKTn9DvV3WQiAHjYtcE6ZqmDFmnvRAARmtRA.flv$LR•IPV4•35『线路29』 -TVB翡翠台,https://mytv.cdn.loc.cc/o12.php?id=fct$LR•IPV4•35『线路30』 -TVB翡翠台,http://43.251.226.89:8080/play/867.m3u8$LR•IPV4•35『线路31』 -TVB翡翠台,http://43.251.226.89:8080/play/868.m3u8$LR•IPV4•35『线路32』 -TVB翡翠台,http://43.251.226.89:8080/play/869.m3u8$LR•IPV4•35『线路33』 -TVB翡翠台,http://43.251.226.89:8080/play/894.m3u8$LR•IPV4•35『线路34』 -TVB翡翠台,http://43.251.226.89:8080/play/895.m3u8$LR•IPV4•35『线路35』 -TVB明珠台,http://cdn9.163189.xyz/smt1.1.php?id=pearl_twn$LR•IPV4•17『线路1』 -TVB明珠台,http://php.jdshipin.com/TVOD/iptv.php?id=mzt2$LR•IPV4•17『线路2』 -TVB明珠台,http://php.jdshipin.com/PLTV/iptv.php?id=mzt2$LR•IPV4•17『线路3』 -TVB明珠台,http://php.jdshipin.com/PLTV/iptv.php?id=mzt$LR•IPV4•17『线路4』 -TVB明珠台,http://php.jdshipin.com/TVOD/iptv.php?id=mzt$LR•IPV4•17『线路5』 -TVB明珠台,http://hls.168.us.kg/u/84/master.m3u8$LR•IPV4•17『线路6』 -TVB明珠台,p3p://167.114.175.6:55331/611d99f3000116024a845bb9627404c9$LR•IPV4•17『线路7』 -TVB明珠台,http://php.jdshipin.com:8880/smt.php?id=pearl_twn$LR•IPV4•17『线路8』 -TVB明珠台,http://push.cdn1.hls123.de:8080/streams/89a8p45a15e/index.m3u8$LR•IPV4•17『线路9』 -TVB明珠台,https://hls-gateway.vpstv.net/streams/476936.m3u8$LR•IPV4•17『线路10』 +凤凰资讯,http://122.117.71.103:8573/http/61.222.53.250:8078/hls/20/80/phoenixif.m3u8$LR•IPV4•16『线路5』 +凤凰资讯,http://e1.woc.iiiya.cn:8888/rtp/239.61.2.183:9086$LR•IPV4•16『线路6』 +凤凰资讯,http://146.56.153.245:20121/bysid/257$LR•IPV4•16『线路7』 +凤凰资讯,http://tianhewan.top/ZIPP.php?url=http://211.72.65.236:8576/.m3u8$LR•IPV4•16『线路8』 +凤凰资讯,http://148.135.93.213:81/phenix.php?id=fhzx$LR•IPV4•16『线路9』 +凤凰资讯,http://211.75.171.121:8576/http/61.67.128.137:8078/hls/20/80/phoenixif.m3u8$LR•IPV4•16『线路10』 +凤凰资讯,http://43.251.226.89:8080/play/889.m3u8$LR•IPV4•16『线路11』 +凤凰资讯,p3p://167.114.175.6:55331/5fffbf860003807cedf4e1016c3c3ed2$LR•IPV4•16『线路12』 +凤凰资讯,http://push.cdn1.hls123.de:8080/streams/0u0qd5ovqkg/index.m3u8$LR•IPV4•16『线路13』 +凤凰资讯,https://flv-play.clouda.com/live/fhzx-gCDIOsNFJ7DX5OI8hsebeQNHPm66LAMZgmIcGYcfIIEzXWKCVG2cQgbZdRq2aUVqJR.flv$LR•IPV4•16『线路14』 +凤凰资讯,http://r.jdshipin.com/0Rp07$LR•IPV4•16『线路15』 +凤凰资讯,http://cdn6.163189.xyz/163189/fhzx$LR•IPV4•16『线路16』 +凤凰香港,http://223.110.245.136/PLTV/3/224/3221226975/index.m3u8$LR•IPV4•12『线路1』 +凤凰香港,http://122.152.202.33/s/81a8a44f/index.m3u8?id=fhhk$LR•IPV4•12『线路2』 +凤凰香港,https://epg.pw/stream/5f16dc7fc8aaaed3205516c63e4a8c24bca9dbba1181684244729cf574505b0e.m3u8$LR•IPV4•12『线路3』 +凤凰香港,https://epg.pw/stream/8770e89223a086eb1b8a0c931e42296d772a8069ad3eb72540e0c434e7cb3e93.m3u8$LR•IPV4•12『线路4』 +凤凰香港,http://148.135.93.213:81/phenix.php?id=fhhk$LR•IPV4•12『线路5』 +凤凰香港,http://43.251.226.89:8080/play/890.m3u8$LR•IPV4•12『线路6』 +凤凰香港,p3p://167.114.175.6:55331/5fe0b82c000cac9774c17f262e43314d$LR•IPV4•12『线路7』 +凤凰香港,http://push.cdn1.hls123.de:8080/streams/898y722sqjr/index.m3u8$LR•IPV4•12『线路8』 +凤凰香港,https://flv-play.clouda.com/live/fhxg-s6ZqbJPCkU54D3ojHvlJm4el9wbnzF1VJ6J0oPumsZIfuPtYq1enmIhy43vWcUaaPf4U2xRRWNGOXX5BiusMXxxQ.flv$LR•IPV4•12『线路9』 +凤凰香港,http://r.jdshipin.com/yDoTN$LR•IPV4•12『线路10』 +凤凰香港,http://php.jdshipin.com/TVOD/iptv.php?id=fhhk$LR•IPV4•12『线路11』 +凤凰香港,http://cdn6.163189.xyz/163189/fhhk$LR•IPV4•12『线路12』 +TVB翡翠台,p3p://167.114.175.6:55331/653e4c02000ea0440c8c63fd3e5d709d$LR•IPV4•35『线路1』 +TVB翡翠台,p3p://167.114.175.6:55331/66c04cec000a20ac2dbf03c71cf661c9$LR•IPV4•35『线路2』 +TVB翡翠台,p3p://108.181.32.169:19673/6533f6560002787f2d01338b57197695$LR•IPV4•35『线路3』 +TVB翡翠台,http://cdn9.163189.xyz/smt1.1.php?id=jade_twn$LR•IPV4•35『线路4』 +TVB翡翠台,http://php.jdshipin.com:8880/TVOD/iptv.php?id=fct$LR•IPV4•35『线路5』 +TVB翡翠台,http://php.jdshipin.com/TVOD/iptv.php?id=fct3$LR•IPV4•35『线路6』 +TVB翡翠台,http://php.jdshipin.com/TVOD/iptv.php?id=fct$LR•IPV4•35『线路7』 +TVB翡翠台,http://hls.168.us.kg/u/81/master.m3u8$LR•IPV4•35『线路8』 +TVB翡翠台,http://r.jdshipin.com/62WM7$LR•IPV4•35『线路9』 +TVB翡翠台,http://php.jdshipin.com/TVOD/iptv.php?id=fct4$LR•IPV4•35『线路10』 +TVB翡翠台,http://php.jdshipin.com:8880/smt.php?id=jade_twn$LR•IPV4•35『线路11』 +TVB翡翠台,http://php.jdshipin.com/smt.php?id=jade_twn$LR•IPV4•35『线路12』 +TVB翡翠台,http://cdn9.1689.us.kg/smt1.1.php?id=jade_twn$LR•IPV4•35『线路13』 +TVB翡翠台,http://ali.hlspull.yximgs.com/live/l3w1tt2dkzvpukkliu64ah005-golive.flv$LR•IPV4•35『线路14』 +TVB翡翠台,http://58.250.155.2:8180/TV00000000000000000032@HHZT$LR•IPV4•35『线路15』 +TVB翡翠台,http://hotelplay.net/live/pmb8krf68n4z/4d8cf4af8de3574c/476935.m3u8$LR•IPV4•35『线路16』 +TVB翡翠台,http://ali.hlspull.yximgs.com/live/awei_jade.flv$LR•IPV4•35『线路17』 +TVB翡翠台,p3p://167.114.175.6:55331/653e49c20006c60f0c8397f7771b1b7b$LR•IPV4•35『线路18』 +TVB翡翠台,https://hls-gateway.vpstv.net/streams/476929.m3u8$LR•IPV4•35『线路19』 +TVB翡翠台,http://124.244.129.167:9004/0.ts$LR•IPV4•35『线路20』 +TVB翡翠台,http://qingyi.7766.org:9004/0.ts$LR•IPV4•35『线路21』 +TVB翡翠台,http://push.cdn1.hls123.de:8080/streams/ef5addc0849/index.m3u8$LR•IPV4•35『线路22』 +TVB翡翠台,http://push.cdn1.hls123.de:8080/streams/n6dnsi33w2e/index.m3u8$LR•IPV4•35『线路23』 +TVB翡翠台,http://php.jdshipin.com/TVOD/iptv.php?id=huali2$LR•IPV4•35『线路24』 +TVB翡翠台,http://php.jdshipin.com:8880/TVOD/iptv.php?id=fct4$LR•IPV4•35『线路25』 +TVB翡翠台,http://php.jdshipin.com:8880/TVOD/iptv.php?id=j1$LR•IPV4•35『线路26』 +TVB翡翠台,https://mytv.cdn.loc.cc/o12.php?id=fct$LR•IPV4•35『线路27』 +TVB翡翠台,http://43.251.226.89:8080/play/867.m3u8$LR•IPV4•35『线路28』 +TVB翡翠台,http://43.251.226.89:8080/play/868.m3u8$LR•IPV4•35『线路29』 +TVB翡翠台,http://43.251.226.89:8080/play/869.m3u8$LR•IPV4•35『线路30』 +TVB翡翠台,http://43.251.226.89:8080/play/894.m3u8$LR•IPV4•35『线路31』 +TVB翡翠台,http://43.251.226.89:8080/play/895.m3u8$LR•IPV4•35『线路32』 +TVB翡翠台,https://rtmp.play.live.tieba.com/live/FC-jeT4nLMVrUuYYF1zrjAOgphyDowTHE2GMxjLxPqIlRQMJDhcbFPAiSIzDGwPF77NfidpWnLiDqicTmg8mV7ichVA.flv$LR•IPV4•35『线路33』 +TVB翡翠台,https://flv-play.clouda.com/live/fc-0StF0ynwlSa7hrv7OF4easlc5FZmZpEjC6AeAaCOogpDCWWipXDZFKTn9DvV3WQiAHjYtcE6ZqmDFmnvRAARmtRA.flv$LR•IPV4•35『线路34』 +TVB翡翠台,http://cdn6.163189.xyz/163189/fct4k$LR•IPV4•35『线路35』 +TVB明珠台,http://php.jdshipin.com/TVOD/iptv.php?id=mzt2$LR•IPV4•17『线路1』 +TVB明珠台,http://php.jdshipin.com/PLTV/iptv.php?id=mzt2$LR•IPV4•17『线路2』 +TVB明珠台,http://php.jdshipin.com/PLTV/iptv.php?id=mzt$LR•IPV4•17『线路3』 +TVB明珠台,http://php.jdshipin.com/TVOD/iptv.php?id=mzt$LR•IPV4•17『线路4』 +TVB明珠台,http://hls.168.us.kg/u/84/master.m3u8$LR•IPV4•17『线路5』 +TVB明珠台,p3p://167.114.175.6:55331/611d99f3000116024a845bb9627404c9$LR•IPV4•17『线路6』 +TVB明珠台,http://php.jdshipin.com:8880/smt.php?id=pearl_twn$LR•IPV4•17『线路7』 +TVB明珠台,http://cdn9.163189.xyz/smt1.1.php?id=pearl_twn$LR•IPV4•17『线路8』 +TVB明珠台,https://hls-gateway.vpstv.net/streams/476936.m3u8$LR•IPV4•17『线路9』 +TVB明珠台,http://push.cdn1.hls123.de:8080/streams/89a8p45a15e/index.m3u8$LR•IPV4•17『线路10』 TVB明珠台,p3p://167.114.175.6:55331/602f1ba9000814efa6f2970333d309d9$LR•IPV4•17『线路11』 -TVB明珠台,https://rtmp.play.live.tieba.com/live//MZ-75gIBwRfJZ3RrMGEzQPAdi3zVypiQ7z9CX7mFFWT0axbBxDJ6LrmKo47NVPt08bBadAZNAmywLSGE4wQwFeuTVwh.flv$LR•IPV4•17『线路12』 -TVB明珠台,https://flv-play.clouda.com/live/mz-X4DYjEwtWNHLlq9hBWs8o4HWYKLq7ChxxavhYKcZOcRlFh0guIp954ka9YGs8MAF9FOJ2gPvg5wcd8Yr7WSISG3g.flv$LR•IPV4•17『线路13』 -TVB明珠台,https://mytv.cdn.loc.cc/o12.php?id=mzt$LR•IPV4•17『线路14』 -TVB明珠台,http://43.251.226.89:8080/play/871.m3u8$LR•IPV4•17『线路15』 -TVB明珠台,http://43.251.226.89:8080/play/872.m3u8$LR•IPV4•17『线路16』 -TVB明珠台,http://43.251.226.89:8080/play/897.m3u8$LR•IPV4•17『线路17』 -TVB无线新闻,http://cdn9.163189.xyz/smt1.1.php?id=inews_twn$LR•IPV4•16『线路1』 -TVB无线新闻,http://php.jdshipin.com/smt.php?id=inews_twn$LR•IPV4•16『线路2』 -TVB无线新闻,http://php.jdshipin.com/TVOD/iptv.php?id=wxxwt$LR•IPV4•16『线路3』 -TVB无线新闻,http://r.jdshipin.com/CkuBd$LR•IPV4•16『线路4』 +TVB明珠台,https://mytv.cdn.loc.cc/o12.php?id=mzt$LR•IPV4•17『线路12』 +TVB明珠台,http://43.251.226.89:8080/play/871.m3u8$LR•IPV4•17『线路13』 +TVB明珠台,http://43.251.226.89:8080/play/872.m3u8$LR•IPV4•17『线路14』 +TVB明珠台,http://43.251.226.89:8080/play/897.m3u8$LR•IPV4•17『线路15』 +TVB明珠台,https://rtmp.play.live.tieba.com/live//MZ-75gIBwRfJZ3RrMGEzQPAdi3zVypiQ7z9CX7mFFWT0axbBxDJ6LrmKo47NVPt08bBadAZNAmywLSGE4wQwFeuTVwh.flv$LR•IPV4•17『线路16』 +TVB明珠台,https://flv-play.clouda.com/live/mz-X4DYjEwtWNHLlq9hBWs8o4HWYKLq7ChxxavhYKcZOcRlFh0guIp954ka9YGs8MAF9FOJ2gPvg5wcd8Yr7WSISG3g.flv$LR•IPV4•17『线路17』 +TVB无线新闻,http://php.jdshipin.com/smt.php?id=inews_twn$LR•IPV4•16『线路1』 +TVB无线新闻,http://php.jdshipin.com/TVOD/iptv.php?id=wxxwt$LR•IPV4•16『线路2』 +TVB无线新闻,http://r.jdshipin.com/CkuBd$LR•IPV4•16『线路3』 +TVB无线新闻,http://cdn9.163189.xyz/smt1.1.php?id=inews_twn$LR•IPV4•16『线路4』 TVB无线新闻,http://74.91.26.218:82/live/inews.m3u8$LR•IPV4•16『线路5』 TVB无线新闻,http://php.jdshipin.com:8880/smt.php?id=inews_twn$LR•IPV4•16『线路6』 TVB无线新闻,http://v2hcdn.jdshipin.com/news/news.stream/chunklist_w1005.m3u8$LR•IPV4•16『线路7』 @@ -3999,97 +3973,97 @@ TVB无线新闻,p3p://167.114.175.6:55331/653e4703000daead0c78dfb07723484e$LR• TVB无线新闻,p3p://108.181.32.169:19673/66c414110003f1f047eb7cb30cd84a38$LR•IPV4•16『线路9』 TVB无线新闻,p3p://167.114.175.6:55331/66c9c0df00016a4852abc2d358ee0ccb$LR•IPV4•16『线路10』 TVB无线新闻,p3p://167.114.175.6:55331/653e4818000b73240c7d19181340415e$LR•IPV4•16『线路11』 -TVB无线新闻,http://php.jdshipin.com/TVOD/iptv.php?id=wxxw$LR•IPV4•16『线路12』 -TVB无线新闻,http://push.cdn1.hls123.de:8080/streams/n66wwnx3l7i/index.m3u8$LR•IPV4•16『线路13』 -TVB无线新闻,http://43.251.226.89:8080/play/865.m3u8$LR•IPV4•16『线路14』 -TVB无线新闻,http://43.251.226.89:8080/play/893.m3u8$LR•IPV4•16『线路15』 -TVB无线新闻,https://hls-gateway.vpstv.net/streams/708884.m3u8$LR•IPV4•16『线路16』 -TVB星河,http://r.jdshipin.com/Voac4$LR•IPV4•16『线路1』 -TVB星河,http://push.cdn1.hls123.de:8080/streams/hbiwgswysds/index.m3u8$LR•IPV4•16『线路2』 -TVB星河,https://flv-play.clouda.com/live/13-ut3RFdJxRGEIEn2AMMPEkKK5TfHBIgvlqwcjFuAItD6Y2IgzaDEznMF3EswnXWDb4O.flv$LR•IPV4•16『线路3』 -TVB星河,http://php.jdshipin.com/TVOD/iptv.php?id=xinghe$LR•IPV4•16『线路4』 -TVB星河,http://php.jdshipin.com:8880/smt.php?id=Xinhe$LR•IPV4•16『线路5』 -TVB星河,http://cdn9.1689.us.kg/smt1.1.php?id=Xinhe$LR•IPV4•16『线路6』 -TVB星河,http://v2h.jdshipin.com/xinghe_1/xinghe_1.stream/chunklist_w106.m3u8$LR•IPV4•16『线路7』 -TVB星河,http://php.jdshipin.com:8880/TVOD/iptv.php?id=xinghe$LR•IPV4•16『线路8』 -TVB星河,https://tv.mytvsuper.xyz/tvb/xinghe/xinghe.m3u8$LR•IPV4•16『线路9』 -TVB星河,p3p://167.114.175.6:55331/5fdee23d000b670a6d96428e4c334643$LR•IPV4•16『线路10』 -TVB星河,p3p://167.114.175.6:55331/6563174f0002ffaf9c45dd927c7d6df1$LR•IPV4•16『线路11』 -TVB星河,https://live.ottiptv.cc/huya/23734169$LR•IPV4•16『线路12』 -TVB星河,http://43.251.226.89:8080/play/876.m3u8$LR•IPV4•16『线路13』 -TVB星河,http://43.251.226.89:8080/play/877.m3u8$LR•IPV4•16『线路14』 -TVB星河,http://43.251.226.89:8080/play/898.m3u8$LR•IPV4•16『线路15』 -TVB星河,https://hls-gateway.vpstv.net/streams/709489.m3u8$LR•IPV4•16『线路16』 +TVB无线新闻,http://43.251.226.89:8080/play/865.m3u8$LR•IPV4•16『线路12』 +TVB无线新闻,http://43.251.226.89:8080/play/893.m3u8$LR•IPV4•16『线路13』 +TVB无线新闻,https://hls-gateway.vpstv.net/streams/708884.m3u8$LR•IPV4•16『线路14』 +TVB无线新闻,http://push.cdn1.hls123.de:8080/streams/n66wwnx3l7i/index.m3u8$LR•IPV4•16『线路15』 +TVB无线新闻,http://php.jdshipin.com/TVOD/iptv.php?id=wxxw$LR•IPV4•16『线路16』 +TVB星河,http://php.jdshipin.com/TVOD/iptv.php?id=xinghe$LR•IPV4•16『线路1』 +TVB星河,http://php.jdshipin.com:8880/smt.php?id=Xinhe$LR•IPV4•16『线路2』 +TVB星河,http://cdn9.1689.us.kg/smt1.1.php?id=Xinhe$LR•IPV4•16『线路3』 +TVB星河,http://v2h.jdshipin.com/xinghe_1/xinghe_1.stream/chunklist_w106.m3u8$LR•IPV4•16『线路4』 +TVB星河,http://php.jdshipin.com:8880/TVOD/iptv.php?id=xinghe$LR•IPV4•16『线路5』 +TVB星河,https://tv.mytvsuper.xyz/tvb/xinghe/xinghe.m3u8$LR•IPV4•16『线路6』 +TVB星河,p3p://167.114.175.6:55331/5fdee23d000b670a6d96428e4c334643$LR•IPV4•16『线路7』 +TVB星河,p3p://167.114.175.6:55331/6563174f0002ffaf9c45dd927c7d6df1$LR•IPV4•16『线路8』 +TVB星河,http://push.cdn1.hls123.de:8080/streams/hbiwgswysds/index.m3u8$LR•IPV4•16『线路9』 +TVB星河,https://flv-play.clouda.com/live/13-ut3RFdJxRGEIEn2AMMPEkKK5TfHBIgvlqwcjFuAItD6Y2IgzaDEznMF3EswnXWDb4O.flv$LR•IPV4•16『线路10』 +TVB星河,http://r.jdshipin.com/Voac4$LR•IPV4•16『线路11』 +TVB星河,http://43.251.226.89:8080/play/876.m3u8$LR•IPV4•16『线路12』 +TVB星河,http://43.251.226.89:8080/play/877.m3u8$LR•IPV4•16『线路13』 +TVB星河,http://43.251.226.89:8080/play/898.m3u8$LR•IPV4•16『线路14』 +TVB星河,https://hls-gateway.vpstv.net/streams/709489.m3u8$LR•IPV4•16『线路15』 +TVB星河,https://live.ottiptv.cc/huya/23734169$LR•IPV4•16『线路16』 TVBS,http://38.64.72.148/hls/modn/list/4005/playlist.m3u8$LR•IPV4•13『线路1』 -TVBS,http://61.221.215.25:8800/hls/9/index.m3u8$LR•IPV4•13『线路2』 -TVBS,http://38.64.72.148/hls/modn/list/4005/chunklist0.m3u8$LR•IPV4•13『线路3』 -TVBS,http://38.64.72.148:80/hls/modn/list/4005/chunklist1.m3u8$LR•IPV4•13『线路4』 -TVBS,http://38.64.72.148:80/hls/modn/list/4005/playlist.m3u8$LR•IPV4•13『线路5』 -TVBS,http://38.64.72.148/hls/modn/list/4005/chunklist1.m3u8$LR•IPV4•13『线路6』 -TVBS,http://38.64.72.148:80/hls/modn/list/4005/chunklist0.m3u8$LR•IPV4•13『线路7』 -TVBS,http://125.227.210.55:8188/VideoInput/play.ts$LR•IPV4•13『线路8』 -TVBS,http://125.227.210.55:8186/VideoInput/play.ts$LR•IPV4•13『线路9』 -TVBS,http://125.227.210.55:8187/VideoInput/play.ts$LR•IPV4•13『线路10』 -TVBS,p3p://167.114.175.6:55331/612ee5ef000f06f58e144b6727ec3efb$LR•IPV4•13『线路11』 -TVBS,p3p://167.114.175.6:55331/61efd0a100047e1a7f9fa38d29f5746d$LR•IPV4•13『线路12』 -TVBS,http://seb.sason.top/sc/tvbsxw_fhd.m3u8$LR•IPV4•13『线路13』 -台视,http://38.64.72.148/hls/modn/list/4013/chunklist1.m3u8$LR•IPV4•12『线路1』 -台视,http://211.72.174.95:8112/0.ts$LR•IPV4•12『线路2』 -台视,http://220.135.241.47:8315/0.ts$LR•IPV4•12『线路3』 -台视,http://74.91.26.218:82/live/ttvcj.m3u8$LR•IPV4•12『线路4』 -台视,http://74.91.26.218:82/live/ttvzh.m3u8$LR•IPV4•12『线路5』 -台视,http://38.64.72.148:80/hls/modn/list/4013/chunklist0.m3u8$LR•IPV4•12『线路6』 -台视,http://38.64.72.148:80/hls/modn/list/4013/chunklist1.m3u8$LR•IPV4•12『线路7』 -台视,http://38.64.72.148/hls/modn/list/4013/chunklist0.m3u8$LR•IPV4•12『线路8』 -台视,rtmp://f13h.mine.nu/sat/tv071$LR•IPV4•12『线路9』 -台视,p3p://167.114.175.6:55331/612ee2240008f3db8e0578dc59406f9e$LR•IPV4•12『线路10』 -台视,p3p://167.114.175.6:55331/6223b571000a13023e78ece5030b5b05$LR•IPV4•12『线路11』 -台视,http://162.19.247.76:22222/live/taishi/index.m3u8$LR•IPV4•12『线路12』 -民视新闻,http://rihou.cc:555/tv/民视新闻$LR•IPV4•6『线路1』 -民视新闻,http://211.72.174.95:8117/0.ts$LR•IPV4•6『线路2』 -民视新闻,http://38.64.72.148:80/hls/modn/list/4012/chunklist0.m3u8$LR•IPV4•6『线路3』 -民视新闻,http://38.64.72.148:80/hls/modn/list/4012/chunklist1.m3u8$LR•IPV4•6『线路4』 -民视新闻,http://38.64.72.148/hls/modn/list/4012/chunklist0.m3u8$LR•IPV4•6『线路5』 -民视新闻,http://38.64.72.148/hls/modn/list/4012/chunklist1.m3u8$LR•IPV4•6『线路6』 -耀才财经,https://v3.mediacast.hk/webcast/bshdlive-pc/chunklist_w99771165.m3u8$LR•IPV4•3『线路1』 +TVBS,http://seb.sason.top/sc/tvbsxw_fhd.m3u8$LR•IPV4•13『线路2』 +TVBS,http://61.221.215.25:8800/hls/9/index.m3u8$LR•IPV4•13『线路3』 +TVBS,http://38.64.72.148/hls/modn/list/4005/chunklist0.m3u8$LR•IPV4•13『线路4』 +TVBS,http://38.64.72.148:80/hls/modn/list/4005/chunklist1.m3u8$LR•IPV4•13『线路5』 +TVBS,http://38.64.72.148:80/hls/modn/list/4005/playlist.m3u8$LR•IPV4•13『线路6』 +TVBS,http://38.64.72.148/hls/modn/list/4005/chunklist1.m3u8$LR•IPV4•13『线路7』 +TVBS,http://38.64.72.148:80/hls/modn/list/4005/chunklist0.m3u8$LR•IPV4•13『线路8』 +TVBS,http://125.227.210.55:8188/VideoInput/play.ts$LR•IPV4•13『线路9』 +TVBS,http://125.227.210.55:8186/VideoInput/play.ts$LR•IPV4•13『线路10』 +TVBS,http://125.227.210.55:8187/VideoInput/play.ts$LR•IPV4•13『线路11』 +TVBS,p3p://167.114.175.6:55331/612ee5ef000f06f58e144b6727ec3efb$LR•IPV4•13『线路12』 +TVBS,p3p://167.114.175.6:55331/61efd0a100047e1a7f9fa38d29f5746d$LR•IPV4•13『线路13』 +台视,http://162.19.247.76:22222/live/taishi/index.m3u8$LR•IPV4•12『线路1』 +台视,http://74.91.26.218:82/live/ttvcj.m3u8$LR•IPV4•12『线路2』 +台视,http://74.91.26.218:82/live/ttvzh.m3u8$LR•IPV4•12『线路3』 +台视,http://38.64.72.148:80/hls/modn/list/4013/chunklist0.m3u8$LR•IPV4•12『线路4』 +台视,http://38.64.72.148:80/hls/modn/list/4013/chunklist1.m3u8$LR•IPV4•12『线路5』 +台视,http://38.64.72.148/hls/modn/list/4013/chunklist0.m3u8$LR•IPV4•12『线路6』 +台视,rtmp://f13h.mine.nu/sat/tv071$LR•IPV4•12『线路7』 +台视,p3p://167.114.175.6:55331/612ee2240008f3db8e0578dc59406f9e$LR•IPV4•12『线路8』 +台视,p3p://167.114.175.6:55331/6223b571000a13023e78ece5030b5b05$LR•IPV4•12『线路9』 +台视,http://211.72.174.95:8112/0.ts$LR•IPV4•12『线路10』 +台视,http://220.135.241.47:8315/0.ts$LR•IPV4•12『线路11』 +台视,http://38.64.72.148/hls/modn/list/4013/chunklist1.m3u8$LR•IPV4•12『线路12』 +民视新闻,http://38.64.72.148:80/hls/modn/list/4012/chunklist0.m3u8$LR•IPV4•6『线路1』 +民视新闻,http://38.64.72.148:80/hls/modn/list/4012/chunklist1.m3u8$LR•IPV4•6『线路2』 +民视新闻,http://38.64.72.148/hls/modn/list/4012/chunklist0.m3u8$LR•IPV4•6『线路3』 +民视新闻,http://38.64.72.148/hls/modn/list/4012/chunklist1.m3u8$LR•IPV4•6『线路4』 +民视新闻,http://rihou.cc:555/tv/民视新闻$LR•IPV4•6『线路5』 +民视新闻,http://211.72.174.95:8117/0.ts$LR•IPV4•6『线路6』 +耀才财经,http://202.69.67.66:443/webcast/bshdlive-mobile/playlist.m3u8$LR•IPV4•3『线路1』 耀才财经,https://v3.mediacast.hk/webcast/bshdlive-pc/playlist.m3u8$LR•IPV4•3『线路2』 -耀才财经,http://202.69.67.66:443/webcast/bshdlive-mobile/playlist.m3u8$LR•IPV4•3『线路3』 +耀才财经,https://v3.mediacast.hk/webcast/bshdlive-pc/chunklist_w99771165.m3u8$LR•IPV4•3『线路3』 美亚C+,http://ottproxy2.ist.ooo/livehls/MOB-U1-NO/03.m3u8$LR•IPV4•3『线路1』 美亚C+,http://ottproxy2.ist.ooo/livehls/MOB-U1-NO/01.m3u8$LR•IPV4•3『线路2』 美亚C+,http://ottproxy2.ist.ooo/livehls/MOB-U1-NO/02.m3u8$LR•IPV4•3『线路3』 数位电影,p3p://167.114.175.6:55331/6223ae1b0007136f3e5c44280e3300fa$LR•IPV4 -龙华偶像,https://cdn8.163189.xyz/live/lhox/stream.m3u8$LR•IPV4•4『线路1』 -龙华偶像,http://43.251.226.89:8080/play/911.m3u8$LR•IPV4•4『线路2』 -龙华偶像,http://cdn8.163189.xyz/163189/lhox$LR•IPV4•4『线路3』 -龙华偶像,p3p://167.114.175.6:55331/609bb1b0000732744f174daa791d3b43$LR•IPV4•4『线路4』 -龙华经典,https://cdn8.163189.xyz/live/lhjd/stream.m3u8$LR•IPV4•4『线路1』 -龙华经典,http://43.251.226.89:8080/play/909.m3u8$LR•IPV4•4『线路2』 -龙华经典,http://cdn8.163189.xyz/163189/lhjd$LR•IPV4•4『线路3』 -龙华经典,p3p://167.114.175.6:55331/6223b9d8000ef67e3e8a2073190e36d5$LR•IPV4•4『线路4』 +龙华偶像,http://43.251.226.89:8080/play/911.m3u8$LR•IPV4•4『线路1』 +龙华偶像,http://cdn8.163189.xyz/163189/lhox$LR•IPV4•4『线路2』 +龙华偶像,p3p://167.114.175.6:55331/609bb1b0000732744f174daa791d3b43$LR•IPV4•4『线路3』 +龙华偶像,https://cdn8.163189.xyz/live/lhox/stream.m3u8$LR•IPV4•4『线路4』 +龙华经典,http://43.251.226.89:8080/play/909.m3u8$LR•IPV4•4『线路1』 +龙华经典,http://cdn8.163189.xyz/163189/lhjd$LR•IPV4•4『线路2』 +龙华经典,p3p://167.114.175.6:55331/6223b9d8000ef67e3e8a2073190e36d5$LR•IPV4•4『线路3』 +龙华经典,https://cdn8.163189.xyz/live/lhjd/stream.m3u8$LR•IPV4•4『线路4』 纬来日本,rtmp://f13h.mine.nu/sat/tv771$LR•IPV4•2『线路1』 纬来日本,p3p://167.114.175.6:55331/5fe1add80007bbbd788125c43bf36060$LR•IPV4•2『线路2』 纬来体育,https://epg.pw/stream/ab6df63b64d0cc44a1f4f029ed847a26fa54a7aebd455578fb05a63f02c22f4b.m3u8$LR•IPV4•27『线路1』 -纬来体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1978&tk=e640d0a1bf70$LR•IPV4•27『线路2』 -纬来体育,http://aktv.top/AKTV/live/aktv3/null-1/AKTV.m3u8$LR•IPV4•27『线路3』 -纬来体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2056&tk=e640d0a1bf70$LR•IPV4•27『线路4』 -纬来体育,https://epg.pw/stream/8855a9936e37e608a0ec8a014cce1673dee9c5d68d560da376cc92e5edef2b25.m3u8$LR•IPV4•27『线路5』 +纬来体育,http://aktv_stream1.m16tv.cfd/stream/tuntun/null/AKTV.m3u8$LR•IPV4•27『线路2』 +纬来体育,http://api.mytv666.top/api/hk.php?id=3131306433316436386566396535356262303237306166353463653738636565267469643d77696e74763132332669643d3739$LR•IPV4•27『线路3』 +纬来体育,https://hls-gateway.vpstv.net/streams/477026.m3u8$LR•IPV4•27『线路4』 +纬来体育,http://aktv_stream1.m16tv.cfd/stream/aktv3/null-1/AKTV.m3u8$LR•IPV4•27『线路5』 纬来体育,http://api.mytv666.top/api/qwt.php?t=体育频道&id=纬来体育$LR•IPV4•27『线路6』 -纬来体育,https://hls-gateway.vpstv.net/streams/477026.m3u8$LR•IPV4•27『线路7』 -纬来体育,https://cdn.iptv8k.top/dl/jrys.php?id=292&time=20240926215313&ip=111.229.253.40$LR•IPV4•27『线路8』 -纬来体育,https://smart.pendy.dpdns.org/Smart.php?id=videolandsport$LR•IPV4•27『线路9』 -纬来体育,https://epg.pw/stream/4f18dfe0593db5c686eb64ae8edaf2a9202d4d46bdc9bbde2cee27708e12ea01.m3u8$LR•IPV4•27『线路10』 -纬来体育,https://cdn.iptv8k.top/dl/jrys.php?id=292&time=20240926215313&ip=111.229.253.40$LR•IPV4•27『线路11』 +纬来体育,https://epg.pw/stream/4f18dfe0593db5c686eb64ae8edaf2a9202d4d46bdc9bbde2cee27708e12ea01.m3u8$LR•IPV4•27『线路7』 +纬来体育,https://cdn.iptv8k.top/dl/jrys.php?id=291&time=20240926215313&ip=111.229.253.40$LR•IPV4•27『线路8』 +纬来体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2056&tk=e640d0a1bf70$LR•IPV4•27『线路9』 +纬来体育,http://122.117.71.103:8562/http/61.222.53.250:8081/hls/67/809/ch28.m3u8$LR•IPV4•27『线路10』 +纬来体育,http://zb.xmzb.xyz/123.php?id=⚽马上oppppp一纬来体育$LR•IPV4•27『线路11』 纬来体育,https://stream1.freetv.fun/wei-lai-ti-yu-3.m3u8$LR•IPV4•27『线路12』 -纬来体育,http://148.135.34.95/mn.php?playurl=http://www.pelotas.org:8278/videolandsport/playlist.m3u8$LR•IPV4•27『线路13』 -纬来体育,http://aktv_stream1.m16tv.cfd/stream/tuntun/null/AKTV.m3u8$LR•IPV4•27『线路14』 -纬来体育,https://hls.iill.top/api/wlty/index.m3u8$LR•IPV4•27『线路15』 -纬来体育,http://api3.52tb.xyz/info?id=376&token=20221127jxwhhemby$LR•IPV4•27『线路16』 -纬来体育,http://122.117.71.103:8562/http/61.222.53.250:8081/hls/67/809/ch28.m3u8$LR•IPV4•27『线路17』 -纬来体育,http://api.mytv666.top/api/hk.php?id=6330343464373162386136666261663835613165633337366136386437306133267469643d74762669643d3737$LR•IPV4•27『线路18』 -纬来体育,http://api.mytv666.top/api/hk.php?id=3131306433316436386566396535356262303237306166353463653738636565267469643d77696e74763132332669643d3739$LR•IPV4•27『线路19』 -纬来体育,https://cdn.iptv8k.top/dl/jrys.php?id=291&time=20240926215313&ip=111.229.253.40$LR•IPV4•27『线路20』 -纬来体育,http://aktv_stream1.m16tv.cfd/stream/aktv3/null-1/AKTV.m3u8$LR•IPV4•27『线路21』 -纬来体育,http://zb.xmzb.xyz/123.php?id=⚽马上oppppp一纬来体育$LR•IPV4•27『线路22』 +纬来体育,https://cdn.iptv8k.top/dl/jrys.php?id=292&time=20240926215313&ip=111.229.253.40$LR•IPV4•27『线路13』 +纬来体育,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1978&tk=e640d0a1bf70$LR•IPV4•27『线路14』 +纬来体育,http://aktv.top/AKTV/live/aktv3/null-1/AKTV.m3u8$LR•IPV4•27『线路15』 +纬来体育,https://hls.iill.top/api/wlty/index.m3u8$LR•IPV4•27『线路16』 +纬来体育,http://148.135.34.95/mn.php?playurl=http://www.pelotas.org:8278/videolandsport/playlist.m3u8$LR•IPV4•27『线路17』 +纬来体育,https://epg.pw/stream/8855a9936e37e608a0ec8a014cce1673dee9c5d68d560da376cc92e5edef2b25.m3u8$LR•IPV4•27『线路18』 +纬来体育,https://cdn.iptv8k.top/dl/jrys.php?id=292&time=20240926215313&ip=111.229.253.40$LR•IPV4•27『线路19』 +纬来体育,https://smart.pendy.dpdns.org/Smart.php?id=videolandsport$LR•IPV4•27『线路20』 +纬来体育,http://api.mytv666.top/api/hk.php?id=6330343464373162386136666261663835613165633337366136386437306133267469643d74762669643d3737$LR•IPV4•27『线路21』 +纬来体育,http://api3.52tb.xyz/info?id=376&token=20221127jxwhhemby$LR•IPV4•27『线路22』 纬来体育,rtmp://f13h.mine.nu:1935/sat/tv721$LR•IPV4•27『线路23』 纬来体育,http://211.72.65.236:8585/.m3u8$LR•IPV4•27『线路24』 纬来体育,rtmp://f13h.mine.nu/sat/tv721$LR•IPV4•27『线路25』 @@ -4098,108 +4072,108 @@ TVBS,http://seb.sason.top/sc/tvbsxw_fhd.m3u8$LR•IPV4•13『线路13』 中视闽南,rtmp://f13h.mine.nu/sat/tv091$LR•IPV4 中视新闻,https://raw.githubusercontent.com/ChiSheng9/iptv/master/TV09.m3u8$LR•IPV4 中天娱乐,http://61.221.215.25:8800/hls/47/index.m3u8$LR•IPV4 -中视,http://220.135.241.47:8301/0.ts$LR•IPV4•4『线路1』 -中视,http://74.91.26.218:82/live/ctv.m3u8$LR•IPV4•4『线路2』 -中视,p3p://167.114.175.6:55331/621dab720008820a26e1e06b75653395$LR•IPV4•4『线路3』 -中视,p3p://167.114.175.6:55331/621db1fb0006fbf526fb672712522a46$LR•IPV4•4『线路4』 +中视,http://74.91.26.218:82/live/ctv.m3u8$LR•IPV4•4『线路1』 +中视,p3p://167.114.175.6:55331/621dab720008820a26e1e06b75653395$LR•IPV4•4『线路2』 +中视,p3p://167.114.175.6:55331/621db1fb0006fbf526fb672712522a46$LR•IPV4•4『线路3』 +中视,http://220.135.241.47:8301/0.ts$LR•IPV4•4『线路4』 非凡新闻,rtmp://f13h.mine.nu/sat/tv581$LR•IPV4 东森新闻,http://38.64.72.148:80/hls/modn/list/2015/chunklist0.m3u8$LR•IPV4 PopC,p3p://167.114.175.6:55331/663e9212000a54b4285005cd59217563$LR•IPV4 tvN,http://210.210.155.37/dr9445/h/h21/index.m3u8$LR•IPV4•6『线路1』 -tvN,https://stream1.freetv.fun/tvn-3.m3u8$LR•IPV4•6『线路2』 -tvN,p3p://167.114.175.6:55331/6506c6930009ab3233ac2cd3018a6125$LR•IPV4•6『线路3』 -tvN,p3p://167.114.175.6:55331/644f9623000a4051681a72d66bfc0191$LR•IPV4•6『线路4』 -tvN,http://217.26.190.76:8888/play/a0m6/index.m3u8$LR•IPV4•6『线路5』 -tvN,https://bcovlive-a.akamaihd.net/628aecb4fccb4c52b4f9c8d5cc57fb73/us-west-2/6058004209001/playlist_dvr.m3u8$LR•IPV4•6『线路6』 +tvN,http://217.26.190.76:8888/play/a0m6/index.m3u8$LR•IPV4•6『线路2』 +tvN,https://bcovlive-a.akamaihd.net/628aecb4fccb4c52b4f9c8d5cc57fb73/us-west-2/6058004209001/playlist_dvr.m3u8$LR•IPV4•6『线路3』 +tvN,https://stream1.freetv.fun/tvn-3.m3u8$LR•IPV4•6『线路4』 +tvN,p3p://167.114.175.6:55331/6506c6930009ab3233ac2cd3018a6125$LR•IPV4•6『线路5』 +tvN,p3p://167.114.175.6:55331/644f9623000a4051681a72d66bfc0191$LR•IPV4•6『线路6』 華視,http://seb.sason.top/sc/hsxw_fhd.m3u8$LR•IPV4 DW,https://raw.githubusercontent.com/ChiSheng9/iptv/master/TV08.m3u8$LR•IPV4•9『线路1』 -DW,https://dwamdstream104.akamaized.net/hls/live/2015530/dwstream104/stream04/streamPlaylist.m3u8$LR•IPV4•9『线路2』 -DW,https://dwamdstream102.akamaized.net/hls/live/2015525/dwstream102/stream05/streamPlaylist.m3u8$LR•IPV4•9『线路3』 -DW,http://aktv.top/AKTV/live/aktv3/dw/AKTV.m3u8$LR•IPV4•9『线路4』 -DW,http://37.27.111.214:8080/live/46/hls.m3u8$LR•IPV4•9『线路5』 -DW,https://dwamdstream103.akamaized.net/hls/live/2015526/dwstream103/master.m3u8$LR•IPV4•9『线路6』 -DW,https://amg01644-amg01644c1-amgplt0343.playout.now3.amagi.tv/ts-eu-w1-n2/playlist/amg01644-amg01644c1-amgplt0343/playlist.m3u8$LR•IPV4•9『线路7』 -DW,https://dwamdstream104.akamaized.net/hls/live/2015530/dwstream104/master.m3u8$LR•IPV4•9『线路8』 -DW,https://dwamdstream110.akamaized.net/hls/live/2017971/dwstream110/master.m3u8$LR•IPV4•9『线路9』 -France 24,https://amg00106-france24-france24-samsunguk-qvpp8.amagi.tv/playlist/amg00106-france24-france24-samsunguk/playlist.m3u8$LR•IPV4•6『线路1』 -France 24,https://live.france24.com/hls/live/2037222-b/F24_AR_HI_HLS/master_5000.m3u8$LR•IPV4•6『线路2』 -France 24,https://live.france24.com/hls/live/2037218-b/F24_EN_HI_HLS/master_5000.m3u8$LR•IPV4•6『线路3』 -France 24,https://live.france24.com/hls/live/2037220-b/F24_ES_HI_HLS/master_5000.m3u8$LR•IPV4•6『线路4』 -France 24,https://live.france24.com/hls/live/2037179-b/F24_FR_HI_HLS/master_5000.m3u8$LR•IPV4•6『线路5』 -France 24,https://amg00106-amg00106c1-rakuten-uk-4654.playouts.now.amagi.tv/playlist/amg00106-france24fast-france24-rakutenuk/playlist.m3u8$LR•IPV4•6『线路6』 +DW,https://dwamdstream103.akamaized.net/hls/live/2015526/dwstream103/master.m3u8$LR•IPV4•9『线路2』 +DW,https://amg01644-amg01644c1-amgplt0343.playout.now3.amagi.tv/ts-eu-w1-n2/playlist/amg01644-amg01644c1-amgplt0343/playlist.m3u8$LR•IPV4•9『线路3』 +DW,https://dwamdstream104.akamaized.net/hls/live/2015530/dwstream104/master.m3u8$LR•IPV4•9『线路4』 +DW,https://dwamdstream110.akamaized.net/hls/live/2017971/dwstream110/master.m3u8$LR•IPV4•9『线路5』 +DW,https://dwamdstream102.akamaized.net/hls/live/2015525/dwstream102/stream05/streamPlaylist.m3u8$LR•IPV4•9『线路6』 +DW,http://aktv.top/AKTV/live/aktv3/dw/AKTV.m3u8$LR•IPV4•9『线路7』 +DW,http://37.27.111.214:8080/live/46/hls.m3u8$LR•IPV4•9『线路8』 +DW,https://dwamdstream104.akamaized.net/hls/live/2015530/dwstream104/stream04/streamPlaylist.m3u8$LR•IPV4•9『线路9』 +France 24,https://live.france24.com/hls/live/2037222-b/F24_AR_HI_HLS/master_5000.m3u8$LR•IPV4•6『线路1』 +France 24,https://live.france24.com/hls/live/2037218-b/F24_EN_HI_HLS/master_5000.m3u8$LR•IPV4•6『线路2』 +France 24,https://live.france24.com/hls/live/2037220-b/F24_ES_HI_HLS/master_5000.m3u8$LR•IPV4•6『线路3』 +France 24,https://live.france24.com/hls/live/2037179-b/F24_FR_HI_HLS/master_5000.m3u8$LR•IPV4•6『线路4』 +France 24,https://amg00106-amg00106c1-rakuten-uk-4654.playouts.now.amagi.tv/playlist/amg00106-france24fast-france24-rakutenuk/playlist.m3u8$LR•IPV4•6『线路5』 +France 24,https://amg00106-france24-france24-samsunguk-qvpp8.amagi.tv/playlist/amg00106-france24-france24-samsunguk/playlist.m3u8$LR•IPV4•6『线路6』 KIX,http://210.210.155.37/dr9445/h/h07/index.m3u8$LR•IPV4•3『线路1』 -KIX,p3p://167.114.175.6:55331/6444e9940006c03f3e688dba67767ffd$LR•IPV4•3『线路2』 -KIX,https://liveh34.vtvprime.vn/hls/KIX/04.m3u8$LR•IPV4•3『线路3』 -NHK World-Japan,https://media-tyo.hls.nhkworld.jp/hls/w/live/master.m3u8$LR•IPV4•4『线路1』 -NHK World-Japan,http://aktv.top/AKTV/live/aktv3/nhkworldjapan/AKTV.m3u8$LR•IPV4•4『线路2』 -NHK World-Japan,https://masterpl.hls.nhkworld.jp/hls/w/live/smarttv.m3u8$LR•IPV4•4『线路3』 -NHK World-Japan,https://nhk.lls.pbs.org/index.m3u8$LR•IPV4•4『线路4』 -Nick Jr,http://108.181.20.255:27347/livehttpplay?channel_id=23044$LR•IPV4•13『线路1』 -Nick Jr,http://free.cnlive.club/channel/n75fc9ff7/index.m3u8?q=1752629214236$LR•IPV4•13『线路2』 -Nick Jr,http://bethoven.af-stream.com:1600/s/kwtlxswl/nick-jr-il/video.m3u8$LR•IPV4•13『线路3』 -Nick Jr,https://stream8.cinerama.uz/1501/playlist.m3u8$LR•IPV4•13『线路4』 -Nick Jr,http://40.160.24.55/NICK_JR/index.m3u8$LR•IPV4•13『线路5』 -Nick Jr,https://phcornerultralast.qzz.io/hls/laslo-serverless/dr_nickjr/index.m3u8$LR•IPV4•13『线路6』 -Nick Jr,https://jmp2.uk/plu-67f3eb1c443f0671bc03ece8.m3u8$LR•IPV4•13『线路7』 -Nick Jr,https://jmp2.uk/plu-6824ce95f09106f4b18f4114.m3u8$LR•IPV4•13『线路8』 -Nick Jr,https://jmp2.uk/plu-5ddd7cb2cbb9010009b4fe32.m3u8$LR•IPV4•13『线路9』 -Nick Jr,http://179.60.51.134:8888/NICK-JR/index.m3u8$LR•IPV4•13『线路10』 -Nick Jr,https://jmp2.uk/plu-62bdb75c3afd1200079146a6.m3u8$LR•IPV4•13『线路11』 -Nick Jr,https://jmp2.uk/plu-5ca6748a37b88b269472dad9.m3u8$LR•IPV4•13『线路12』 -Nick Jr,http://103.137.83.62:9090/play/27/index.m3u8$LR•IPV4•13『线路13』 -Nickelodeon,http://free.cnlive.club/channel/n6a165737/index.m3u8?q=1752629214236$LR•IPV4•26『线路1』 -Nickelodeon,http://213.91.179.28:8000/play/a056$LR•IPV4•26『线路2』 -Nickelodeon,https://ma.anixa.tv/clips/stream/nickelodeon/playlist.php$LR•IPV4•26『线路3』 -Nickelodeon,http://151.80.18.177:86/Nickelodeon_FR/index.m3u8$LR•IPV4•26『线路4』 -Nickelodeon,http://bethoven.af-stream.com:1600/s/kwtlxswl/yes-nickelodeon-il/video.m3u8$LR•IPV4•26『线路5』 -Nickelodeon,http://193.239.186.231/NICK/index.m3u8$LR•IPV4•26『线路6』 -Nickelodeon,http://82.78.243.219:45739/play/a00o/index.m3u8$LR•IPV4•26『线路7』 -Nickelodeon,http://23.237.104.106:8080/USA_NICKELODEON/index.m3u8$LR•IPV4•26『线路8』 -Nickelodeon,http://202.169.224.202:8800/udp/239.9.1.17:1234$LR•IPV4•26『线路9』 -Nickelodeon,https://stream8.cinerama.uz/1500/playlist.m3u8$LR•IPV4•26『线路10』 -Nickelodeon,https://jmp2.uk/plu-6824cda00101510f9eeaa011.m3u8$LR•IPV4•26『线路11』 -Nickelodeon,https://jmp2.uk/plu-6824ce10c5d53e1351ceb8d1.m3u8$LR•IPV4•26『线路12』 -Nickelodeon,https://jmp2.uk/plu-67f3eb800a1beb98767ca748.m3u8$LR•IPV4•26『线路13』 -Nickelodeon,https://jmp2.uk/plu-5d8d08395f39465da6fb3ec4.m3u8$LR•IPV4•26『线路14』 -Nickelodeon,http://46.149.191.217:9011/play/a018$LR•IPV4•26『线路15』 -Nickelodeon,http://151.80.18.177:86/Nickelodeon_Junior/index.m3u8$LR•IPV4•26『线路16』 -Nickelodeon,http://179.60.51.134:8888/NICK/index.m3u8$LR•IPV4•26『线路17』 -Nickelodeon,https://jmp2.uk/plu-5f0d668b872e4400073acc68.m3u8$LR•IPV4•26『线路18』 -Nickelodeon,https://jmp2.uk/plu-60f5fabf0721880007cd50e3.m3u8$LR•IPV4•26『线路19』 -Nickelodeon,https://jmp2.uk/plu-5fab09a8749b1a00077d35d2.m3u8$LR•IPV4•26『线路20』 -Nickelodeon,https://jmp2.uk/plu-5ede448d3d50590007a4419e.m3u8$LR•IPV4•26『线路21』 -Nickelodeon,https://jmp2.uk/plu-645951c0e94c38000802d2cb.m3u8$LR•IPV4•26『线路22』 -Nickelodeon,https://jmp2.uk/plu-645952687cb4b100084ed52e.m3u8$LR•IPV4•26『线路23』 -Nickelodeon,https://jmp2.uk/plu-620ff46e0a576e0007dc2f89.m3u8$LR•IPV4•26『线路24』 -Nickelodeon,https://jmp2.uk/plu-620ff0a01f9e8700076c6f9d.m3u8$LR•IPV4•26『线路25』 -Nickelodeon,https://jmp2.uk/plu-5ca673e0d0bd6c2689c94ce3.m3u8$LR•IPV4•26『线路26』 +KIX,https://liveh34.vtvprime.vn/hls/KIX/04.m3u8$LR•IPV4•3『线路2』 +KIX,p3p://167.114.175.6:55331/6444e9940006c03f3e688dba67767ffd$LR•IPV4•3『线路3』 +NHK World-Japan,https://masterpl.hls.nhkworld.jp/hls/w/live/smarttv.m3u8$LR•IPV4•4『线路1』 +NHK World-Japan,https://nhk.lls.pbs.org/index.m3u8$LR•IPV4•4『线路2』 +NHK World-Japan,http://aktv.top/AKTV/live/aktv3/nhkworldjapan/AKTV.m3u8$LR•IPV4•4『线路3』 +NHK World-Japan,https://media-tyo.hls.nhkworld.jp/hls/w/live/master.m3u8$LR•IPV4•4『线路4』 +Nick Jr,http://bethoven.af-stream.com:1600/s/kwtlxswl/nick-jr-il/video.m3u8$LR•IPV4•13『线路1』 +Nick Jr,https://stream8.cinerama.uz/1501/playlist.m3u8$LR•IPV4•13『线路2』 +Nick Jr,http://40.160.24.55/NICK_JR/index.m3u8$LR•IPV4•13『线路3』 +Nick Jr,https://phcornerultralast.qzz.io/hls/laslo-serverless/dr_nickjr/index.m3u8$LR•IPV4•13『线路4』 +Nick Jr,https://jmp2.uk/plu-67f3eb1c443f0671bc03ece8.m3u8$LR•IPV4•13『线路5』 +Nick Jr,https://jmp2.uk/plu-6824ce95f09106f4b18f4114.m3u8$LR•IPV4•13『线路6』 +Nick Jr,https://jmp2.uk/plu-5ddd7cb2cbb9010009b4fe32.m3u8$LR•IPV4•13『线路7』 +Nick Jr,http://179.60.51.134:8888/NICK-JR/index.m3u8$LR•IPV4•13『线路8』 +Nick Jr,https://jmp2.uk/plu-62bdb75c3afd1200079146a6.m3u8$LR•IPV4•13『线路9』 +Nick Jr,https://jmp2.uk/plu-5ca6748a37b88b269472dad9.m3u8$LR•IPV4•13『线路10』 +Nick Jr,http://103.137.83.62:9090/play/27/index.m3u8$LR•IPV4•13『线路11』 +Nick Jr,http://free.cnlive.club/channel/n75fc9ff7/index.m3u8?q=1752629214236$LR•IPV4•13『线路12』 +Nick Jr,http://108.181.20.255:27347/livehttpplay?channel_id=23044$LR•IPV4•13『线路13』 +Nickelodeon,http://213.91.179.28:8000/play/a056$LR•IPV4•26『线路1』 +Nickelodeon,https://ma.anixa.tv/clips/stream/nickelodeon/playlist.php$LR•IPV4•26『线路2』 +Nickelodeon,http://151.80.18.177:86/Nickelodeon_FR/index.m3u8$LR•IPV4•26『线路3』 +Nickelodeon,http://bethoven.af-stream.com:1600/s/kwtlxswl/yes-nickelodeon-il/video.m3u8$LR•IPV4•26『线路4』 +Nickelodeon,http://193.239.186.231/NICK/index.m3u8$LR•IPV4•26『线路5』 +Nickelodeon,http://82.78.243.219:45739/play/a00o/index.m3u8$LR•IPV4•26『线路6』 +Nickelodeon,http://23.237.104.106:8080/USA_NICKELODEON/index.m3u8$LR•IPV4•26『线路7』 +Nickelodeon,http://202.169.224.202:8800/udp/239.9.1.17:1234$LR•IPV4•26『线路8』 +Nickelodeon,https://stream8.cinerama.uz/1500/playlist.m3u8$LR•IPV4•26『线路9』 +Nickelodeon,https://jmp2.uk/plu-6824cda00101510f9eeaa011.m3u8$LR•IPV4•26『线路10』 +Nickelodeon,https://jmp2.uk/plu-6824ce10c5d53e1351ceb8d1.m3u8$LR•IPV4•26『线路11』 +Nickelodeon,https://jmp2.uk/plu-67f3eb800a1beb98767ca748.m3u8$LR•IPV4•26『线路12』 +Nickelodeon,https://jmp2.uk/plu-5d8d08395f39465da6fb3ec4.m3u8$LR•IPV4•26『线路13』 +Nickelodeon,http://46.149.191.217:9011/play/a018$LR•IPV4•26『线路14』 +Nickelodeon,http://151.80.18.177:86/Nickelodeon_Junior/index.m3u8$LR•IPV4•26『线路15』 +Nickelodeon,http://179.60.51.134:8888/NICK/index.m3u8$LR•IPV4•26『线路16』 +Nickelodeon,https://jmp2.uk/plu-5f0d668b872e4400073acc68.m3u8$LR•IPV4•26『线路17』 +Nickelodeon,https://jmp2.uk/plu-60f5fabf0721880007cd50e3.m3u8$LR•IPV4•26『线路18』 +Nickelodeon,https://jmp2.uk/plu-5fab09a8749b1a00077d35d2.m3u8$LR•IPV4•26『线路19』 +Nickelodeon,https://jmp2.uk/plu-5ede448d3d50590007a4419e.m3u8$LR•IPV4•26『线路20』 +Nickelodeon,https://jmp2.uk/plu-645951c0e94c38000802d2cb.m3u8$LR•IPV4•26『线路21』 +Nickelodeon,https://jmp2.uk/plu-645952687cb4b100084ed52e.m3u8$LR•IPV4•26『线路22』 +Nickelodeon,https://jmp2.uk/plu-620ff46e0a576e0007dc2f89.m3u8$LR•IPV4•26『线路23』 +Nickelodeon,https://jmp2.uk/plu-620ff0a01f9e8700076c6f9d.m3u8$LR•IPV4•26『线路24』 +Nickelodeon,https://jmp2.uk/plu-5ca673e0d0bd6c2689c94ce3.m3u8$LR•IPV4•26『线路25』 +Nickelodeon,http://free.cnlive.club/channel/n6a165737/index.m3u8?q=1752629214236$LR•IPV4•26『线路26』 Thrill,https://cdn10jtedge.indihometv.com/atm/DASH/thrill/manifest.mpd$LR•IPV4•2『线路1』 Thrill,https://8c4e8f4f.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/Um9rdV9DcmltZVRocmlsbEhlcl9ITFM/playlist.m3u8$LR•IPV4•2『线路2』 ZooMoo,p3p://167.114.175.6:55331/65679bc200084412adeb40284be664e6$LR•IPV4 -华视,http://220.135.241.47:8318/0.ts$LR•IPV4•7『线路1』 -华视,http://220.135.241.47:8317/0.ts$LR•IPV4•7『线路2』 -华视,http://74.91.26.218:82/live/cts.m3u8$LR•IPV4•7『线路3』 -华视,http://74.91.26.218:82/live/ctsjy.m3u8$LR•IPV4•7『线路4』 -华视,http://74.91.26.218:82/live/ctsnews.m3u8$LR•IPV4•7『线路5』 -华视,rtmp://f13h.mine.nu/sat/tv111$LR•IPV4•7『线路6』 -华视,p3p://167.114.175.6:55331/61eff95c000bcf35803ebfe7426e2914$LR•IPV4•7『线路7』 +华视,http://74.91.26.218:82/live/cts.m3u8$LR•IPV4•7『线路1』 +华视,http://74.91.26.218:82/live/ctsjy.m3u8$LR•IPV4•7『线路2』 +华视,http://74.91.26.218:82/live/ctsnews.m3u8$LR•IPV4•7『线路3』 +华视,rtmp://f13h.mine.nu/sat/tv111$LR•IPV4•7『线路4』 +华视,p3p://167.114.175.6:55331/61eff95c000bcf35803ebfe7426e2914$LR•IPV4•7『线路5』 +华视,http://220.135.241.47:8318/0.ts$LR•IPV4•7『线路6』 +华视,http://220.135.241.47:8317/0.ts$LR•IPV4•7『线路7』 寰宇新闻,https://raw.githubusercontent.com/ChiSheng9/iptv/master/TV02.m3u8$LR•IPV4•3『线路1』 -寰宇新闻,http://rihou.cc:555/tv/寰宇新闻$LR•IPV4•3『线路2』 -寰宇新闻,p3p://167.114.175.6:55331/612d7c11000c9faf888ebf9f3276784e$LR•IPV4•3『线路3』 +寰宇新闻,p3p://167.114.175.6:55331/612d7c11000c9faf888ebf9f3276784e$LR•IPV4•3『线路2』 +寰宇新闻,http://rihou.cc:555/tv/寰宇新闻$LR•IPV4•3『线路3』 靖天国际,p3p://167.114.175.6:55331/612db8220006940e897960753ab534e9$LR•IPV4 镜新闻,p3p://167.114.175.6:55331/63ebd33c0003c437e26ae87279d061f1$LR•IPV4 -龙华卡通,https://cdn8.163189.xyz/live/lhkt/stream.m3u8$LR•IPV4•4『线路1』 -龙华卡通,http://43.251.226.89:8080/play/910.m3u8$LR•IPV4•4『线路2』 -龙华卡通,http://cdn8.163189.xyz/163189/lhkt$LR•IPV4•4『线路3』 -龙华卡通,p3p://167.114.175.6:55331/6264b6e0000669483c6365b319d43878$LR•IPV4•4『线路4』 -龙华日韩,https://cdn8.163189.xyz/live/lhrh/stream.m3u8$LR•IPV4•4『线路1』 -龙华日韩,http://43.251.226.89:8080/play/912.m3u8$LR•IPV4•4『线路2』 -龙华日韩,http://cdn8.163189.xyz/163189/lhrh$LR•IPV4•4『线路3』 -龙华日韩,p3p://167.114.175.6:55331/621e1d0e00085766289da9bb1d7120af$LR•IPV4•4『线路4』 -龙华洋片,https://cdn8.163189.xyz/live/lhyp/stream.m3u8$LR•IPV4•4『线路1』 -龙华洋片,http://43.251.226.89:8080/play/908.m3u8$LR•IPV4•4『线路2』 -龙华洋片,http://cdn8.163189.xyz/163189/lhyp$LR•IPV4•4『线路3』 -龙华洋片,p3p://167.114.175.6:55331/64c0e1af000875f522a785c0570b06ae$LR•IPV4•4『线路4』 +龙华卡通,http://43.251.226.89:8080/play/910.m3u8$LR•IPV4•4『线路1』 +龙华卡通,http://cdn8.163189.xyz/163189/lhkt$LR•IPV4•4『线路2』 +龙华卡通,p3p://167.114.175.6:55331/6264b6e0000669483c6365b319d43878$LR•IPV4•4『线路3』 +龙华卡通,https://cdn8.163189.xyz/live/lhkt/stream.m3u8$LR•IPV4•4『线路4』 +龙华日韩,http://43.251.226.89:8080/play/912.m3u8$LR•IPV4•4『线路1』 +龙华日韩,http://cdn8.163189.xyz/163189/lhrh$LR•IPV4•4『线路2』 +龙华日韩,p3p://167.114.175.6:55331/621e1d0e00085766289da9bb1d7120af$LR•IPV4•4『线路3』 +龙华日韩,https://cdn8.163189.xyz/live/lhrh/stream.m3u8$LR•IPV4•4『线路4』 +龙华洋片,http://43.251.226.89:8080/play/908.m3u8$LR•IPV4•4『线路1』 +龙华洋片,http://cdn8.163189.xyz/163189/lhyp$LR•IPV4•4『线路2』 +龙华洋片,p3p://167.114.175.6:55331/64c0e1af000875f522a785c0570b06ae$LR•IPV4•4『线路3』 +龙华洋片,https://cdn8.163189.xyz/live/lhyp/stream.m3u8$LR•IPV4•4『线路4』 美亚电影台,http://43.251.226.89:8080/play/880.m3u8$LR•IPV4•3『线路1』 美亚电影台,p3p://167.114.175.6:55331/655f8ccc0007d2578e70f934113a2428$LR•IPV4•3『线路2』 美亚电影台,p3p://167.114.175.6:55331/64c3653f0007f6812c7970122ff43531$LR•IPV4•3『线路3』 @@ -4210,18 +4184,18 @@ ZooMoo,p3p://167.114.175.6:55331/65679bc200084412adeb40284be664e6$LR•IPV4 三立戏剧,http://61.221.215.25:8800/hls/41/index.m3u8$LR•IPV4 凤凰卫视,p3p://167.114.175.6:55331/602c73500002f4d29c90fa1270f21160$LR•IPV4•2『线路1』 凤凰卫视,http://cdn.132.us.kg/live/fhzw/stream.m3u8$LR•IPV4•2『线路2』 -Viutv,http://php.jdshipin.com/TVOD/iptv.php?id=viutv$LR•IPV4•8『线路1』 -Viutv,http://push.cdn1.hls123.de:8080/streams/iewbjlpp9v/index.m3u8$LR•IPV4•8『线路2』 -Viutv,https://flv-play.clouda.com/live/viu-KpPuan1QZZRGVviEIXnCPhHAPl5lcylGou268vf92HL4JzDULAFZMnej7IiYgC3P6FGEZdmefzRr0259YM76WYOz.flv$LR•IPV4•8『线路3』 -Viutv,https://cdn.163189.xyz/163189/viu$LR•IPV4•8『线路4』 -Viutv,http://php.jdshipin.com:8880/TVOD/iptv.php?id=viutv$LR•IPV4•8『线路5』 -Viutv,http://php.jdshipin.com/PLTV/iptv.php?id=viutv2$LR•IPV4•8『线路6』 -Viutv,http://rihou.cc:555/tv/[Cx]VIUTV英$LR•IPV4•8『线路7』 -Viutv,http://rihou.cc:555/tv/[Cx]VIUTV粤$LR•IPV4•8『线路8』 +Viutv,https://cdn.163189.xyz/163189/viu$LR•IPV4•8『线路1』 +Viutv,http://php.jdshipin.com/TVOD/iptv.php?id=viutv$LR•IPV4•8『线路2』 +Viutv,http://php.jdshipin.com:8880/TVOD/iptv.php?id=viutv$LR•IPV4•8『线路3』 +Viutv,http://php.jdshipin.com/PLTV/iptv.php?id=viutv2$LR•IPV4•8『线路4』 +Viutv,http://rihou.cc:555/tv/[Cx]VIUTV英$LR•IPV4•8『线路5』 +Viutv,http://rihou.cc:555/tv/[Cx]VIUTV粤$LR•IPV4•8『线路6』 +Viutv,http://push.cdn1.hls123.de:8080/streams/iewbjlpp9v/index.m3u8$LR•IPV4•8『线路7』 +Viutv,https://flv-play.clouda.com/live/viu-KpPuan1QZZRGVviEIXnCPhHAPl5lcylGou268vf92HL4JzDULAFZMnej7IiYgC3P6FGEZdmefzRr0259YM76WYOz.flv$LR•IPV4•8『线路8』 Now剧集,p3p://167.114.175.6:55331/63ed3e1500077d30e7f449055a0846ce$LR•IPV4 民视,https://raw.githubusercontent.com/ChiSheng9/iptv/master/TV17.m3u8$LR•IPV4•3『线路1』 -民视,http://211.72.174.95:8115/0.ts$LR•IPV4•3『线路2』 -民视,rtmp://f13h.mine.nu/sat/tv051$LR•IPV4•3『线路3』 +民视,rtmp://f13h.mine.nu/sat/tv051$LR•IPV4•3『线路2』 +民视,http://211.72.174.95:8115/0.ts$LR•IPV4•3『线路3』 MoMo综合,p3p://167.114.175.6:55331/621e17750005eaa02887cb6e61ea2a58$LR•IPV4 ELEVEN体育1,https://stream1.freetv.fun/eltaai-er-da-ti-yu--1--wj-1.ctv$LR•IPV4•3『线路1』 ELEVEN体育1,https://smart.pendy.dpdns.org/Smart.php?id=eltasport1_twn$LR•IPV4•3『线路2』 @@ -4233,9 +4207,9 @@ ELEVEN体育2,rtmp://f13h.mine.nu/sat/tv741$LR•IPV4•3『线路3』 半岛新闻,https://live-hls-web-aje.getaj.net/AJE/01.m3u8$LR•IPV4•4『线路2』 半岛新闻,https://live-hls-web-aje.getaj.net/AJE/02.m3u8$LR•IPV4•4『线路3』 半岛新闻,https://litv.zapi.us.kg/?id=litv-ftv10$LR•IPV4•4『线路4』 -now新闻,http://push.cdn1.hls123.de:8080/streams/zed7kdzyh1/index.m3u8$LR•IPV4•3『线路1』 -now新闻,http://cdn.163189.xyz/163189/now$LR•IPV4•3『线路2』 -now新闻,p3p://167.114.175.6:55331/653e4f3d0003bdbf0c98ffaf583a6e3a$LR•IPV4•3『线路3』 +now新闻,http://cdn.163189.xyz/163189/now$LR•IPV4•3『线路1』 +now新闻,p3p://167.114.175.6:55331/653e4f3d0003bdbf0c98ffaf583a6e3a$LR•IPV4•3『线路2』 +now新闻,http://push.cdn1.hls123.de:8080/streams/zed7kdzyh1/index.m3u8$LR•IPV4•3『线路3』 有线综合,http://43.251.226.89:8080/play/891.m3u8$LR•IPV4 now直播,p3p://167.114.175.6:55331/655fa52d000c3fc98ed0353c0e327e63$LR•IPV4 now财经,p3p://167.114.175.6:55331/6256e47a0007a6bb0665fa1971252f50$LR•IPV4 @@ -4254,9 +4228,9 @@ RTHK32,https://cdn5.163189.xyz/live/rthk32/stream.m3u8$LR•IPV4•5『线路5 寰宇财经,p3p://167.114.175.6:55331/64e36edf00052681a99e432a601547f5$LR•IPV4 东森财经,https://raw.githubusercontent.com/ChiSheng9/iptv/master/TV03.m3u8$LR•IPV4•2『线路1』 东森财经,p3p://167.114.175.6:55331/61468bd70005123dea7373f226636dba$LR•IPV4•2『线路2』 -龙华戏剧,https://cdn8.163189.xyz/live/lhxj/stream.m3u8$LR•IPV4•3『线路1』 -龙华戏剧,http://43.251.226.89:8080/play/913.m3u8$LR•IPV4•3『线路2』 -龙华戏剧,http://cdn8.163189.xyz/163189/lhxj$LR•IPV4•3『线路3』 +龙华戏剧,http://43.251.226.89:8080/play/913.m3u8$LR•IPV4•3『线路1』 +龙华戏剧,http://cdn8.163189.xyz/163189/lhxj$LR•IPV4•3『线路2』 +龙华戏剧,https://cdn8.163189.xyz/live/lhxj/stream.m3u8$LR•IPV4•3『线路3』 靖天育乐,p3p://167.114.175.6:55331/6223be04000a57323e9a6b2919b21d76$LR•IPV4 靖天欢乐,p3p://167.114.175.6:55331/6258f7e400070ac10e81d00831393e97$LR•IPV4 靖天综合,p3p://167.114.175.6:55331/6223bd68000c7a903e980a5524d66f67$LR•IPV4 @@ -4274,41 +4248,41 @@ RTHK32,https://cdn5.163189.xyz/live/rthk32/stream.m3u8$LR•IPV4•5『线路5 东森超视,http://38.64.72.148:80/hls/modn/list/2013/chunklist0.m3u8$LR•IPV4•3『线路1』 东森超视,http://38.64.72.148:80/hls/modn/list/2013/chunklist1.m3u8$LR•IPV4•3『线路2』 东森超视,rtmp://f13h.mine.nu/sat/tv331$LR•IPV4•3『线路3』 -ROCK Action,p3p://167.114.175.6:55331/65ad274400000b46bd92da681fce74f2$LR•IPV4•2『线路1』 -ROCK Action,http://nmk.ioapk.com:5050/4gtv-live138/index.m3u8$LR•IPV4•2『线路2』 +ROCK Action,http://nmk.ioapk.com:5050/4gtv-live138/index.m3u8$LR•IPV4•2『线路1』 +ROCK Action,p3p://167.114.175.6:55331/65ad274400000b46bd92da681fce74f2$LR•IPV4•2『线路2』 TVB Plus,http://r.jdshipin.com/Nr5jq$LR•IPV4•10『线路1』 -TVB Plus,http://push.cdn1.hls123.de:8080/streams/gw8n98gubb4/index.m3u8$LR•IPV4•10『线路2』 -TVB Plus,http://php.jdshipin.com/TVOD/iptv.php?id=j2$LR•IPV4•10『线路3』 -TVB Plus,http://php.jdshipin.com/PLTV/iptv.php?id=j2$LR•IPV4•10『线路4』 -TVB Plus,http://cdn.132.us.kg/live/tvbp/stream.m3u8$LR•IPV4•10『线路5』 -TVB Plus,http://ali.hlspull.yximgs.com/live/l3w1tt2dkzvpukkliu64ah007-golive.flv$LR•IPV4•10『线路6』 -TVB Plus,http://74.91.26.218:82/live/j2.m3u8$LR•IPV4•10『线路7』 -TVB Plus,http://rihou.cc:555/tv/[Pd]Plus综合$LR•IPV4•10『线路8』 -TVB Plus,p3p://167.114.175.6:55331/6649bce20008d56453eeebfc022701f1$LR•IPV4•10『线路9』 -TVB Plus,p3p://167.114.175.6:55331/653e4d3e000b344f0c91357e73163f82$LR•IPV4•10『线路10』 -AXN,p3p://167.114.175.6:55331/66d23a53000d25d573c606e3274f26c5$LR•IPV4•23『线路1』 -AXN,p3p://167.114.175.6:55331/6258ddc5000ee8a40e1bc8f50dec545c$LR•IPV4•23『线路2』 -AXN,http://45.190.28.50/AXN_HD/index.m3u8$LR•IPV4•23『线路3』 -AXN,http://cdn.haititivi.com/AXN/index.m3u8$LR•IPV4•23『线路4』 -AXN,http://5.57.74.130:8000/play/a0at/index.m3u8$LR•IPV4•23『线路5』 -AXN,http://85.14.32.26:8800/udp/239.100.10.17:5000$LR•IPV4•23『线路6』 -AXN,http://88.212.15.19/live/test_black/playlist.m3u8$LR•IPV4•23『线路7』 -AXN,http://82.78.243.219:45739/play/a00e/index.m3u8$LR•IPV4•23『线路8』 -AXN,http://46.149.191.217:9009/play/a02d$LR•IPV4•23『线路9』 -AXN,http://85.11.144.9:4222/AXN$LR•IPV4•23『线路10』 -AXN,http://88.212.15.19/live/test_axn/playlist.m3u8$LR•IPV4•23『线路11』 -AXN,http://82.78.243.219:45739/play/a01n/index.m3u8$LR•IPV4•23『线路12』 -AXN,http://138.121.15.230:9002/AXN/index.m3u8$LR•IPV4•23『线路13』 -AXN,http://177.234.249.178:8888/AXN/index.m3u8$LR•IPV4•23『线路14』 -AXN,http://177.245.131.133:8080/AXN/index.m3u8$LR•IPV4•23『线路15』 -AXN,http://200.91.32.158:8080/axn/index.m3u8$LR•IPV4•23『线路16』 -AXN,http://50.7.120.34:8080/AXN_BLACK/index.m3u8$LR•IPV4•23『线路17』 -AXN,https://lb.dstvmultimedia.com/AXNSpin/index.m3u8$LR•IPV4•23『线路18』 -AXN,http://82.78.243.219:45739/play/a00n/index.m3u8$LR•IPV4•23『线路19』 -AXN,http://85.14.32.26:8800/udp/239.100.10.18:5000$LR•IPV4•23『线路20』 -AXN,http://88.212.15.19/live/test_white/playlist.m3u8$LR•IPV4•23『线路21』 -AXN,http://50.7.120.34:8080/AXN_WHITE/index.m3u8$LR•IPV4•23『线路22』 -AXN,http://103.137.83.62:9090/play/21/index.m3u8$LR•IPV4•23『线路23』 +TVB Plus,http://php.jdshipin.com/TVOD/iptv.php?id=j2$LR•IPV4•10『线路2』 +TVB Plus,http://php.jdshipin.com/PLTV/iptv.php?id=j2$LR•IPV4•10『线路3』 +TVB Plus,http://cdn.132.us.kg/live/tvbp/stream.m3u8$LR•IPV4•10『线路4』 +TVB Plus,http://ali.hlspull.yximgs.com/live/l3w1tt2dkzvpukkliu64ah007-golive.flv$LR•IPV4•10『线路5』 +TVB Plus,http://74.91.26.218:82/live/j2.m3u8$LR•IPV4•10『线路6』 +TVB Plus,http://rihou.cc:555/tv/[Pd]Plus综合$LR•IPV4•10『线路7』 +TVB Plus,p3p://167.114.175.6:55331/6649bce20008d56453eeebfc022701f1$LR•IPV4•10『线路8』 +TVB Plus,p3p://167.114.175.6:55331/653e4d3e000b344f0c91357e73163f82$LR•IPV4•10『线路9』 +TVB Plus,http://push.cdn1.hls123.de:8080/streams/gw8n98gubb4/index.m3u8$LR•IPV4•10『线路10』 +AXN,http://45.190.28.50/AXN_HD/index.m3u8$LR•IPV4•23『线路1』 +AXN,http://cdn.haititivi.com/AXN/index.m3u8$LR•IPV4•23『线路2』 +AXN,http://5.57.74.130:8000/play/a0at/index.m3u8$LR•IPV4•23『线路3』 +AXN,http://85.14.32.26:8800/udp/239.100.10.17:5000$LR•IPV4•23『线路4』 +AXN,http://88.212.15.19/live/test_black/playlist.m3u8$LR•IPV4•23『线路5』 +AXN,http://82.78.243.219:45739/play/a00e/index.m3u8$LR•IPV4•23『线路6』 +AXN,http://46.149.191.217:9009/play/a02d$LR•IPV4•23『线路7』 +AXN,http://85.11.144.9:4222/AXN$LR•IPV4•23『线路8』 +AXN,http://88.212.15.19/live/test_axn/playlist.m3u8$LR•IPV4•23『线路9』 +AXN,http://82.78.243.219:45739/play/a01n/index.m3u8$LR•IPV4•23『线路10』 +AXN,http://138.121.15.230:9002/AXN/index.m3u8$LR•IPV4•23『线路11』 +AXN,http://177.234.249.178:8888/AXN/index.m3u8$LR•IPV4•23『线路12』 +AXN,http://177.245.131.133:8080/AXN/index.m3u8$LR•IPV4•23『线路13』 +AXN,http://200.91.32.158:8080/axn/index.m3u8$LR•IPV4•23『线路14』 +AXN,http://50.7.120.34:8080/AXN_BLACK/index.m3u8$LR•IPV4•23『线路15』 +AXN,https://lb.dstvmultimedia.com/AXNSpin/index.m3u8$LR•IPV4•23『线路16』 +AXN,http://82.78.243.219:45739/play/a00n/index.m3u8$LR•IPV4•23『线路17』 +AXN,http://85.14.32.26:8800/udp/239.100.10.18:5000$LR•IPV4•23『线路18』 +AXN,http://88.212.15.19/live/test_white/playlist.m3u8$LR•IPV4•23『线路19』 +AXN,http://50.7.120.34:8080/AXN_WHITE/index.m3u8$LR•IPV4•23『线路20』 +AXN,http://103.137.83.62:9090/play/21/index.m3u8$LR•IPV4•23『线路21』 +AXN,p3p://167.114.175.6:55331/66d23a53000d25d573c606e3274f26c5$LR•IPV4•23『线路22』 +AXN,p3p://167.114.175.6:55331/6258ddc5000ee8a40e1bc8f50dec545c$LR•IPV4•23『线路23』 娱乐新闻,https://hls-gateway.vpstv.net/streams/708904.m3u8$LR•IPV4 澳门卫视,http://61.244.22.4/ch1/ch1.live/playlist.m3u8$LR•IPV4•3『线路1』 澳门卫视,http://php.jdshipin.com:8880/TVOD/iptv.php?id=as$LR•IPV4•3『线路2』 @@ -4324,42 +4298,42 @@ Celestial Movies,http://103.58.160.157:8278/720-CELESTIALMOVIES/playlist.m3u8$LR TVB News,p3p://167.114.175.6:55331/63efe2a100034c82f2470ad419e43975$LR•IPV4 Good,https://live.streamingfast.net/osmflivech1.m3u8$LR•IPV4•38『线路1』 Good,https://live.streamingfast.net/osmflivech2.m3u8$LR•IPV4•38『线路2』 -Good,http://live.streamingfast.net/hls-live/goodtv/_definst_/liveevent/live-ch1-3.m3u8$LR•IPV4•38『线路3』 -Good,http://live.streamingfast.net/hls-live/goodtv/_definst_/liveevent/live-ch2-3.m3u8$LR•IPV4•38『线路4』 -Good,p3p://167.114.175.6:55331/63ed9f4900046160e96ffb5b44333476$LR•IPV4•38『线路5』 -Good,https://aajtaklive.vgcdn.net/v1/master/611d79b11b77e2f571934fd80ca1413453772ac7/3196cced-ce29-4219-9809-f07ccdaa02b9/vglive-sk-848805/master.m3u8$LR•IPV4•38『线路6』 -Good,http://stream1.ai-net.net:1935/gtv1/_definst_/smil:gtv.smil/playlist.m3u8$LR•IPV4•38『线路7』 -Good,https://58c04fb1d143f.streamlock.net/feel_good_radio_1/feel_good_radio_1/playlist.m3u8$LR•IPV4•38『线路8』 -Good,https://live.streamingfast.net/osmflivech3.m3u8$LR•IPV4•38『线路9』 -Good,https://live.streamingfast.net/osmflivech5.m3u8$LR•IPV4•38『线路10』 -Good,https://live.streamingfast.net/osmflivech6.m3u8$LR•IPV4•38『线路11』 -Good,https://live.streamingfast.net/osmflivech7.m3u8$LR•IPV4•38『线路12』 -Good,https://live.streamingfast.net/osmflivech9.m3u8$LR•IPV4•38『线路13』 -Good,https://live.streamingfast.net/osmflivech12.m3u8$LR•IPV4•38『线路14』 -Good,https://live.streamingfast.net/osmflivech14.m3u8$LR•IPV4•38『线路15』 -Good,https://live.streamingfast.net/osmflivech15.m3u8$LR•IPV4•38『线路16』 -Good,https://live.streamingfast.net/osmflivech16.m3u8$LR•IPV4•38『线路17』 -Good,https://live.streamingfast.net/osmflivech17.m3u8$LR•IPV4•38『线路18』 -Good,https://live.streamingfast.net/osmflivech18.m3u8$LR•IPV4•38『线路19』 -Good,https://live.streamingfast.net/osmflivech20.m3u8$LR•IPV4•38『线路20』 -Good,https://live.streamingfast.net/osmflivech21.m3u8$LR•IPV4•38『线路21』 -Good,https://live.streamingfast.net/osmflivech24.m3u8$LR•IPV4•38『线路22』 -Good,https://live.streamingfast.net/osmflivech27.m3u8$LR•IPV4•38『线路23』 -Good,https://live.streamingfast.net/osmflivech28.m3u8$LR•IPV4•38『线路24』 -Good,https://live.streamingfast.net/osmflivech29.m3u8$LR•IPV4•38『线路25』 -Good,https://live.streamingfast.net/osmflivech30.m3u8$LR•IPV4•38『线路26』 -Good,https://live.streamingfast.net/osmflivech31.m3u8$LR•IPV4•38『线路27』 -Good,https://live.streamingfast.net/osmflivech32.m3u8$LR•IPV4•38『线路28』 -Good,https://live.streamingfast.net/osmflivech33.m3u8$LR•IPV4•38『线路29』 -Good,https://live.streamingfast.net/osmflivech38.m3u8$LR•IPV4•38『线路30』 -Good,https://live.streamingfast.net/osmflivech40.m3u8$LR•IPV4•38『线路31』 -Good,https://live.streamingfast.net/osmflivech45.m3u8$LR•IPV4•38『线路32』 -Good,https://live.streamingfast.net/osmflivech47.m3u8$LR•IPV4•38『线路33』 -Good,https://live.streamingfast.net/osmflivech49.m3u8$LR•IPV4•38『线路34』 -Good,https://live.streamingfast.net/osmflivech50.m3u8$LR•IPV4•38『线路35』 -Good,https://jmp2.uk/plu-65775af3b3801200084a3aa4.m3u8$LR•IPV4•38『线路36』 -Good,https://jmp2.uk/plu-685a995b460ac82fa504342c.m3u8$LR•IPV4•38『线路37』 -Good,https://amg01448-samsungin-ndtvgoodtimes-samsungin-ad-gp.amagi.tv/playlist/amg01448-samsungin-ndtvgoodtimes-samsungin/playlist.m3u8$LR•IPV4•38『线路38』 +Good,https://aajtaklive.vgcdn.net/v1/master/611d79b11b77e2f571934fd80ca1413453772ac7/3196cced-ce29-4219-9809-f07ccdaa02b9/vglive-sk-848805/master.m3u8$LR•IPV4•38『线路3』 +Good,http://stream1.ai-net.net:1935/gtv1/_definst_/smil:gtv.smil/playlist.m3u8$LR•IPV4•38『线路4』 +Good,https://58c04fb1d143f.streamlock.net/feel_good_radio_1/feel_good_radio_1/playlist.m3u8$LR•IPV4•38『线路5』 +Good,https://live.streamingfast.net/osmflivech3.m3u8$LR•IPV4•38『线路6』 +Good,https://live.streamingfast.net/osmflivech5.m3u8$LR•IPV4•38『线路7』 +Good,https://live.streamingfast.net/osmflivech6.m3u8$LR•IPV4•38『线路8』 +Good,https://live.streamingfast.net/osmflivech7.m3u8$LR•IPV4•38『线路9』 +Good,https://live.streamingfast.net/osmflivech9.m3u8$LR•IPV4•38『线路10』 +Good,https://live.streamingfast.net/osmflivech12.m3u8$LR•IPV4•38『线路11』 +Good,https://live.streamingfast.net/osmflivech14.m3u8$LR•IPV4•38『线路12』 +Good,https://live.streamingfast.net/osmflivech15.m3u8$LR•IPV4•38『线路13』 +Good,https://live.streamingfast.net/osmflivech16.m3u8$LR•IPV4•38『线路14』 +Good,https://live.streamingfast.net/osmflivech17.m3u8$LR•IPV4•38『线路15』 +Good,https://live.streamingfast.net/osmflivech18.m3u8$LR•IPV4•38『线路16』 +Good,https://live.streamingfast.net/osmflivech20.m3u8$LR•IPV4•38『线路17』 +Good,https://live.streamingfast.net/osmflivech21.m3u8$LR•IPV4•38『线路18』 +Good,https://live.streamingfast.net/osmflivech24.m3u8$LR•IPV4•38『线路19』 +Good,https://live.streamingfast.net/osmflivech27.m3u8$LR•IPV4•38『线路20』 +Good,https://live.streamingfast.net/osmflivech28.m3u8$LR•IPV4•38『线路21』 +Good,https://live.streamingfast.net/osmflivech29.m3u8$LR•IPV4•38『线路22』 +Good,https://live.streamingfast.net/osmflivech30.m3u8$LR•IPV4•38『线路23』 +Good,https://live.streamingfast.net/osmflivech31.m3u8$LR•IPV4•38『线路24』 +Good,https://live.streamingfast.net/osmflivech32.m3u8$LR•IPV4•38『线路25』 +Good,https://live.streamingfast.net/osmflivech33.m3u8$LR•IPV4•38『线路26』 +Good,https://live.streamingfast.net/osmflivech38.m3u8$LR•IPV4•38『线路27』 +Good,https://live.streamingfast.net/osmflivech40.m3u8$LR•IPV4•38『线路28』 +Good,https://live.streamingfast.net/osmflivech45.m3u8$LR•IPV4•38『线路29』 +Good,https://live.streamingfast.net/osmflivech47.m3u8$LR•IPV4•38『线路30』 +Good,https://live.streamingfast.net/osmflivech49.m3u8$LR•IPV4•38『线路31』 +Good,https://live.streamingfast.net/osmflivech50.m3u8$LR•IPV4•38『线路32』 +Good,https://jmp2.uk/plu-65775af3b3801200084a3aa4.m3u8$LR•IPV4•38『线路33』 +Good,https://jmp2.uk/plu-685a995b460ac82fa504342c.m3u8$LR•IPV4•38『线路34』 +Good,https://amg01448-samsungin-ndtvgoodtimes-samsungin-ad-gp.amagi.tv/playlist/amg01448-samsungin-ndtvgoodtimes-samsungin/playlist.m3u8$LR•IPV4•38『线路35』 +Good,http://live.streamingfast.net/hls-live/goodtv/_definst_/liveevent/live-ch1-3.m3u8$LR•IPV4•38『线路36』 +Good,http://live.streamingfast.net/hls-live/goodtv/_definst_/liveevent/live-ch2-3.m3u8$LR•IPV4•38『线路37』 +Good,p3p://167.114.175.6:55331/63ed9f4900046160e96ffb5b44333476$LR•IPV4•38『线路38』 Beautiful Life TV,https://5ddce30eb4b55.streamlock.net/bltvhd/bltv1/playlist.m3u8$LR•IPV4 Supreme Master TV,https://lbs-us1.suprememastertv.com/720p.m3u8$LR•IPV4 Taiwan Plus TV,https://raw.githubusercontent.com/ChiSheng9/iptv/master/TV78.m3u8$LR•IPV4•2『线路1』 @@ -4372,21 +4346,21 @@ EBC YOYO,https://ythls.armelin.one/channel/UCiWRSesvSYmY7YOyz0tv_zQ.m3u8$LR•IP CTi News,https://raw.githubusercontent.com/ChiSheng9/iptv/master/TV28.m3u8$LR•IPV4 FTV News,https://ythls.armelin.one/channel/UC2VmWn8dAqkzlQqvy02E1PA.m3u8$LR•IPV4 Global News,https://live.corusdigitaldev.com/groupb/live/3062d0e3-ed4c-4f47-8482-95648250f4b8/live.isml/.m3u8$LR•IPV4•16『线路1』 -Global News,http://iptv.zkbhj.com/tv/url/go?id=188da1cd42026cce4e3c6fd900520b5bf2325e82e1723382000c25c9009b1449703a53d8cb741b92224765715d1a7388d43b8da7f422852ecf86f83de913c00f$LR•IPV4•16『线路2』 -Global News,https://jmp2.uk/plu-62cbf063257170000724590c.m3u8$LR•IPV4•16『线路3』 -Global News,https://jmp2.uk/plu-62cbf23dcfb48300077f8348.m3u8$LR•IPV4•16『线路4』 -Global News,https://jmp2.uk/plu-62cbf2de1fba5f0007e47d9c.m3u8$LR•IPV4•16『线路5』 -Global News,https://jmp2.uk/plu-62cbf398b8e02600071deda5.m3u8$LR•IPV4•16『线路6』 -Global News,https://jmp2.uk/plu-62cbf4964446e2000742073e.m3u8$LR•IPV4•16『线路7』 -Global News,https://jmp2.uk/plu-62cbf7439cb58900088dc77b.m3u8$LR•IPV4•16『线路8』 -Global News,https://jmp2.uk/plu-62cbfbd6ad95670007f567af.m3u8$LR•IPV4•16『线路9』 -Global News,https://jmp2.uk/plu-62cbef9ebb857100072fc187.m3u8$LR•IPV4•16『线路10』 -Global News,https://jmp2.uk/plu-62cbfc572dc3750007a493ce.m3u8$LR•IPV4•16『线路11』 -Global News,https://jmp2.uk/plu-62cbfcd8c2db990007861e43.m3u8$LR•IPV4•16『线路12』 -Global News,https://jmp2.uk/plu-62cbff53ca8f2200080253b5.m3u8$LR•IPV4•16『线路13』 -Global News,https://jmp2.uk/plu-62cc00359cb58900088dc840.m3u8$LR•IPV4•16『线路14』 -Global News,https://jmp2.uk/plu-62cc00b3b821cf00070f82c3.m3u8$LR•IPV4•16『线路15』 -Global News,https://jmp2.uk/plu-62cc0120880c890007191016.m3u8$LR•IPV4•16『线路16』 +Global News,https://jmp2.uk/plu-62cbf063257170000724590c.m3u8$LR•IPV4•16『线路2』 +Global News,https://jmp2.uk/plu-62cbf23dcfb48300077f8348.m3u8$LR•IPV4•16『线路3』 +Global News,https://jmp2.uk/plu-62cbf2de1fba5f0007e47d9c.m3u8$LR•IPV4•16『线路4』 +Global News,https://jmp2.uk/plu-62cbf398b8e02600071deda5.m3u8$LR•IPV4•16『线路5』 +Global News,https://jmp2.uk/plu-62cbf4964446e2000742073e.m3u8$LR•IPV4•16『线路6』 +Global News,https://jmp2.uk/plu-62cbf7439cb58900088dc77b.m3u8$LR•IPV4•16『线路7』 +Global News,https://jmp2.uk/plu-62cbfbd6ad95670007f567af.m3u8$LR•IPV4•16『线路8』 +Global News,https://jmp2.uk/plu-62cbef9ebb857100072fc187.m3u8$LR•IPV4•16『线路9』 +Global News,https://jmp2.uk/plu-62cbfc572dc3750007a493ce.m3u8$LR•IPV4•16『线路10』 +Global News,https://jmp2.uk/plu-62cbfcd8c2db990007861e43.m3u8$LR•IPV4•16『线路11』 +Global News,https://jmp2.uk/plu-62cbff53ca8f2200080253b5.m3u8$LR•IPV4•16『线路12』 +Global News,https://jmp2.uk/plu-62cc00359cb58900088dc840.m3u8$LR•IPV4•16『线路13』 +Global News,https://jmp2.uk/plu-62cc00b3b821cf00070f82c3.m3u8$LR•IPV4•16『线路14』 +Global News,https://jmp2.uk/plu-62cc0120880c890007191016.m3u8$LR•IPV4•16『线路15』 +Global News,http://iptv.zkbhj.com/tv/url/go?id=188da1cd42026cce4e3c6fd900520b5bf2325e82e1723382000c25c9009b1449703a53d8cb741b92224765715d1a7388d43b8da7f422852ecf86f83de913c00f$LR•IPV4•16『线路16』 SET iNews,https://ythls.armelin.one/channel/UCoNYj9OFHZn3ACmmeRCPwbA.m3u8$LR•IPV4 TTV News,https://ythls.armelin.one/channel/UC8ROUUjHzEQm-ndb69CX8Ww.m3u8$LR•IPV4 mnews,https://ythls.armelin.one/channel/UC4LjkybVKXCDlneVXlKAbmw.m3u8$LR•IPV4 @@ -4401,9 +4375,9 @@ KPop,https://cloud.tvomix.com/KPOPMIX/index.m3u8$LR•IPV4•5『线路2』 KPop,https://ads.its-newid.net/api/manifest.m3u8?ads.service_id=USAJ3000013FJ&channel_id=newid_338&tp=samsung_tvplus$LR•IPV4•5『线路3』 KPop,https://ads.its-newid.net/api/manifest.m3u8?ads.service_id=GB17000088V&channel_id=newid_086&tp=samsung_tvplus$LR•IPV4•5『线路4』 KPop,https://lotus.stingray.com/manifest/ose-317ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•5『线路5』 -HOY TV,http://push.cdn1.hls123.de:8080/streams/dguce4v9b69/index.m3u8$LR•IPV4•3『线路1』 +HOY TV,https://hoytv-live-stream.hoy.tv/ch77/index.m3u8$LR•IPV4•3『线路1』 HOY TV,p3p://167.114.175.6:55331/62184bc3000cd48f11e47b06202b7e18$LR•IPV4•3『线路2』 -HOY TV,https://hoytv-live-stream.hoy.tv/ch77/index.m3u8$LR•IPV4•3『线路3』 +HOY TV,http://push.cdn1.hls123.de:8080/streams/dguce4v9b69/index.m3u8$LR•IPV4•3『线路3』 MOMOTV,rtmp://f13h.mine.nu/sat/tv761$LR•IPV4 大爱1,p3p://167.114.175.6:55331/63ed9fff00076875e972c31c79f4152e$LR•IPV4 大爱2,p3p://167.114.175.6:55331/63eda04a0001f6fae973e6a334696980$LR•IPV4 @@ -4437,13 +4411,13 @@ Xite Hits,https://d726x48n2pd5h.cloudfront.net/v1/master/3722c60a815c199d9c0ef36 Xite Hits,https://amg01243-xitenetworksint-hitsuk-samsunguk-mvovq.amagi.tv/playlist/amg01243-xitenetworksint-hitsuk-samsunguk/playlist.m3u8$LR•IPV4•3『线路3』 Xite Rock,https://d198ro05q94rc4.cloudfront.net/XITE_Rock_On.m3u8$LR•IPV4 FIGHT SPORTS,p3p://167.114.175.6:55331/65a4480e000eb9449aeb1d5a33663b73$LR•IPV4 -NBA TV,https://stream1.freetv.fun/nba-tv-5.m3u8$LR•IPV4•7『线路1』 -NBA TV,https://stream1.freetv.fun/nba-tv-7.m3u8$LR•IPV4•7『线路2』 +NBA TV,https://amg00556-amg00556c3-firetv-us-6060.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•7『线路1』 +NBA TV,http://user.scalecdn.co:8080/live/54706135/09221986/3092.m3u8$LR•IPV4•7『线路2』 NBA TV,https://t.freetv.fun/live/nba-tv.m3u8$LR•IPV4•7『线路3』 -NBA TV,http://170.yfvodcdn.com:19980/live/nbaTV2/hls.m3u8$LR•IPV4•7『线路4』 -NBA TV,p3p://167.114.175.6:55331/65a587500007bc039fca3566638e69af$LR•IPV4•7『线路5』 -NBA TV,https://amg00556-amg00556c3-firetv-us-6060.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•7『线路6』 -NBA TV,http://user.scalecdn.co:8080/live/54706135/09221986/3092.m3u8$LR•IPV4•7『线路7』 +NBA TV,https://stream1.freetv.fun/nba-tv-5.m3u8$LR•IPV4•7『线路4』 +NBA TV,https://stream1.freetv.fun/nba-tv-7.m3u8$LR•IPV4•7『线路5』 +NBA TV,http://170.yfvodcdn.com:19980/live/nbaTV2/hls.m3u8$LR•IPV4•7『线路6』 +NBA TV,p3p://167.114.175.6:55331/65a587500007bc039fca3566638e69af$LR•IPV4•7『线路7』 Sukan,https://d25tgymtnqzu8s.cloudfront.net/smil:sukan/manifest.mpd$LR•IPV4 TV9,https://cdn4.skygo.mn/live/disk1/TV9HD/DASH-FTA/TV9HD.mpd$LR•IPV4•11『线路1』 TV9,https://dyjmyiv3bp2ez.cloudfront.net/pub-iotv9banaen8yq/liveabr/playlist.m3u8$LR•IPV4•11『线路2』 @@ -4458,131 +4432,131 @@ TV9,https://dash4.antik.sk/live/test_tv9/playlist.m3u8$LR•IPV4•11『线路10 TV9,https://5bf7b725107e5.streamlock.net/tv9/tv9/playlist.m3u8$LR•IPV4•11『线路11』 BBC,https://vs-hls-push-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_news_channel_hd/t=3840/v=pv14/b=5070016/main.m3u8$LR•IPV4•101『线路1』 BBC,https://aegis-cloudfront-1.tubi.video/bb1fc6ad-9948-42ea-aaf3-20acfcdeecac/playlist.m3u8$LR•IPV4•101『线路2』 -BBC,https://amg00793-amg00793c6-xumo-us-2669.playouts.now.amagi.tv/BBCStudios-BBCEarthA-hls/playlist540p.m3u8$LR•IPV4•101『线路3』 -BBC,http://free.cnlive.club/channel/356e7ac6/index.m3u8?q=1752629214236$LR•IPV4•101『线路4』 -BBC,http://free.cnlive.club/channel/359a630b/index.m3u8?q=1752629214236$LR•IPV4•101『线路5』 -BBC,p3p://167.114.175.6:55331/64026f590000e9663abc652f25176282$LR•IPV4•101『线路6』 -BBC,p3p://167.114.175.6:55331/6444eb2e000921503e6ecfe873cd10b1$LR•IPV4•101『线路7』 -BBC,http://125.227.210.55:8165/VideoInput/play.ts$LR•IPV4•101『线路8』 -BBC,https://d2vnbkvjbims7j.cloudfront.net/containerA/LTN/playlist.m3u8$LR•IPV4•101『线路9』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_alba/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路10』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_channel_islands/pc_hd_abr_v2.mpd$LR•IPV4•101『线路11』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_east/pc_hd_abr_v2.mpd$LR•IPV4•101『线路12』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_east_yorkshire/pc_hd_abr_v2.mpd$LR•IPV4•101『线路13』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_east_midlands/pc_hd_abr_v2.mpd$LR•IPV4•101『线路14』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_east_midlands/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路15』 -BBC,https://vs-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_london/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路16』 -BBC,http://193.46.58.239:8080/BBCOneHD/index.m3u8$LR•IPV4•101『线路17』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_north_east/pc_hd_abr_v2.mpd$LR•IPV4•101『线路18』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_north_east/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路19』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_north_west/pc_hd_abr_v2.mpd$LR•IPV4•101『线路20』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_north_west/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路21』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_northern_ireland_hd/pc_hd_abr_v2.mpd$LR•IPV4•101『线路22』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_northern_ireland_hd/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路23』 -BBC,https://vs-hls-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_scotland_hd/pc_hd_abr_v2.m3u8$LR•IPV4•101『线路24』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_scotland_hd/pc_hd_abr_v2.mpd$LR•IPV4•101『线路25』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_south/pc_hd_abr_v2.mpd$LR•IPV4•101『线路26』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_south_east/pc_hd_abr_v2.mpd$LR•IPV4•101『线路27』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_south_west/pc_hd_abr_v2.mpd$LR•IPV4•101『线路28』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_wales_hd/pc_hd_abr_v2.mpd$LR•IPV4•101『线路29』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_west/pc_hd_abr_v2.mpd$LR•IPV4•101『线路30』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_west_midlands/pc_hd_abr_v2.mpd$LR•IPV4•101『线路31』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_yorks/pc_hd_abr_v2.mpd$LR•IPV4•101『线路32』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_scotland_hd/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路33』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_three_hd/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路34』 -BBC,http://193.46.58.239:8080/BBCTwoHD/index.m3u8$LR•IPV4•101『线路35』 -BBC,https://vs-hls-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_two_northern_ireland_hd/pc_hd_abr_v2.m3u8$LR•IPV4•101『线路36』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_two_northern_ireland_hd/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路37』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_two_wales_digital/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路38』 -BBC,https://vs-cmaf-pushb-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_arabic_tv/pc_hd_abr_v2.mpd$LR•IPV4•101『线路39』 -BBC,https://pb-iiczlgfysam0q.akamaized.net/v1/amcnetworks_bbcnews_1/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•101『线路40』 -BBC,https://vs-cmaf-push-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_news_channel_hd/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路41』 -BBC,http://138.121.15.230:9002/BBC-NEWS/index.m3u8$LR•IPV4•101『线路42』 -BBC,http://23.237.104.106:8080/USA_BBC_NEWS/index.m3u8$LR•IPV4•101『线路43』 -BBC,http://45.153.96.44:8001$LR•IPV4•101『线路44』 -BBC,https://vs-cmaf-pushb-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_persian_tv/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路45』 -BBC,http://23.239.31.26:8989/bbcamerica/index.m3u8$LR•IPV4•101『线路46』 -BBC,http://40.160.24.52/BBC_AMERICA/index.m3u8$LR•IPV4•101『线路47』 -BBC,http://81.15.109.89:8001/play/BBCBrit$LR•IPV4•101『线路48』 -BBC,http://81.15.109.89:8001/play/BBCFirst$LR•IPV4•101『线路49』 -BBC,https://d1em2hga7sgumq.cloudfront.net/playlist.m3u8$LR•IPV4•101『线路50』 -BBC,https://pb-0ix3l1oxmg1fj.akamaized.net/playlist.m3u8$LR•IPV4•101『线路51』 -BBC,https://amg00793-amg00793c41-rakuten-it-5445.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路52』 -BBC,https://bbc-impossible-1-us.xumo.wurl.tv/playlist.m3u8$LR•IPV4•101『线路53』 -BBC,https://vs-cmaf-pushb-ww.live.cf.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:bbc_afghan_tv/pc_hd_abr_v2.mpd$LR•IPV4•101『线路54』 -BBC,https://vs-cmaf-pushb-uk.live.cf.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:red_button_one/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路55』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_002/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路56』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_003/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路57』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_004/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路58』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_005/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路59』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_006/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路60』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路61』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_008/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路62』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_009/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路63』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_010/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路64』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_011/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路65』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_012/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路66』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_013/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路67』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_014/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路68』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_015/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路69』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_016/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路70』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_017/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路71』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_018/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路72』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_019/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路73』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_020/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路74』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_021/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路75』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_022/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路76』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_023/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路77』 -BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_024/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路78』 -BBC,https://jmp2.uk/plu-60dafb9a0df1ba000758d37b.m3u8$LR•IPV4•101『线路79』 -BBC,https://jmp2.uk/plu-62e7fa5ab5062e0007dcf97d.m3u8$LR•IPV4•101『线路80』 -BBC,https://amg00793-amg00793c5-xumo-us-2664.playouts.now.amagi.tv/bbcstudios-bbctopgear8min-all/playlist.m3u8$LR•IPV4•101『线路81』 -BBC,https://amg00793-amg00793c5-firetv-us-4068.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路82』 -BBC,https://amg00793-amg00793c49-rakuten-fi-5848.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路83』 -BBC,https://amg00793-amg00793c45-rakuten-fr-5539.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路84』 -BBC,https://amg00793-amg00793c44-rakuten-de-5538.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路85』 -BBC,https://amg00793-amg00793c43-rakuten-it-5537.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路86』 -BBC,https://dmr1h4skdal9h.cloudfront.net/playlist.m3u8$LR•IPV4•101『线路87』 -BBC,https://bbc-classicdrwho-1-us.roku.wurl.tv/playlist.m3u8$LR•IPV4•101『线路88』 -BBC,https://amg00793-amg00793c40-rakuten-es-5444.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路89』 -BBC,https://d11r33s5i066xh.cloudfront.net/playlist.m3u8$LR•IPV4•101『线路90』 -BBC,https://cdn4.skygo.mn/live/disk1/BBC_lifestyle/HLSv3-FTA/BBC_lifestyle.m3u8$LR•IPV4•101『线路91』 -BBC,http://81.15.109.89:8001/play/BBCLifestyle$LR•IPV4•101『线路92』 -BBC,https://jmp2.uk/plu-60e4519e6873180007d3cddb.m3u8$LR•IPV4•101『线路93』 -BBC,http://81.15.109.89:8001/play/BBCEarth$LR•IPV4•101『线路94』 -BBC,https://amg00793-amg00793c6-xumo-us-2669.playouts.now.amagi.tv/BBCStudios-BBCEarthA-hls/playlist.m3u8$LR•IPV4•101『线路95』 -BBC,http://185.102.171.218/BBCEarth/index.m3u8$LR•IPV4•101『线路96』 -BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_parliament/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路97』 -BBC,https://d1e9r0b71zfwk7.cloudfront.net/playlist.m3u8$LR•IPV4•101『线路98』 -BBC,https://vs-cmaf-pushb-uk.live.fastly.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:bbc_four_hd/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路99』 -BBC,http://193.46.58.239:8080/CbeebiesHD/index.m3u8$LR•IPV4•101『线路100』 -BBC,http://193.46.58.239:8080/CBBCHD/index.m3u8$LR•IPV4•101『线路101』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_alba/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路3』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_channel_islands/pc_hd_abr_v2.mpd$LR•IPV4•101『线路4』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_east/pc_hd_abr_v2.mpd$LR•IPV4•101『线路5』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_east_yorkshire/pc_hd_abr_v2.mpd$LR•IPV4•101『线路6』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_east_midlands/pc_hd_abr_v2.mpd$LR•IPV4•101『线路7』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_east_midlands/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路8』 +BBC,https://vs-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_london/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路9』 +BBC,http://193.46.58.239:8080/BBCOneHD/index.m3u8$LR•IPV4•101『线路10』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_north_east/pc_hd_abr_v2.mpd$LR•IPV4•101『线路11』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_north_east/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路12』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_north_west/pc_hd_abr_v2.mpd$LR•IPV4•101『线路13』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_north_west/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路14』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_northern_ireland_hd/pc_hd_abr_v2.mpd$LR•IPV4•101『线路15』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_northern_ireland_hd/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路16』 +BBC,https://vs-hls-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_scotland_hd/pc_hd_abr_v2.m3u8$LR•IPV4•101『线路17』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_scotland_hd/pc_hd_abr_v2.mpd$LR•IPV4•101『线路18』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_south/pc_hd_abr_v2.mpd$LR•IPV4•101『线路19』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_south_east/pc_hd_abr_v2.mpd$LR•IPV4•101『线路20』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_south_west/pc_hd_abr_v2.mpd$LR•IPV4•101『线路21』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_wales_hd/pc_hd_abr_v2.mpd$LR•IPV4•101『线路22』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_west/pc_hd_abr_v2.mpd$LR•IPV4•101『线路23』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_west_midlands/pc_hd_abr_v2.mpd$LR•IPV4•101『线路24』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_one_yorks/pc_hd_abr_v2.mpd$LR•IPV4•101『线路25』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_scotland_hd/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路26』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_three_hd/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路27』 +BBC,http://193.46.58.239:8080/BBCTwoHD/index.m3u8$LR•IPV4•101『线路28』 +BBC,https://vs-hls-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_two_northern_ireland_hd/pc_hd_abr_v2.m3u8$LR•IPV4•101『线路29』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_two_northern_ireland_hd/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路30』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_two_wales_digital/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路31』 +BBC,https://vs-cmaf-pushb-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_arabic_tv/pc_hd_abr_v2.mpd$LR•IPV4•101『线路32』 +BBC,https://pb-iiczlgfysam0q.akamaized.net/v1/amcnetworks_bbcnews_1/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•101『线路33』 +BBC,https://vs-cmaf-push-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_news_channel_hd/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路34』 +BBC,http://138.121.15.230:9002/BBC-NEWS/index.m3u8$LR•IPV4•101『线路35』 +BBC,http://23.237.104.106:8080/USA_BBC_NEWS/index.m3u8$LR•IPV4•101『线路36』 +BBC,http://45.153.96.44:8001$LR•IPV4•101『线路37』 +BBC,https://vs-cmaf-pushb-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_persian_tv/hevc_iptv_mse_v0.mpd$LR•IPV4•101『线路38』 +BBC,http://23.239.31.26:8989/bbcamerica/index.m3u8$LR•IPV4•101『线路39』 +BBC,http://40.160.24.52/BBC_AMERICA/index.m3u8$LR•IPV4•101『线路40』 +BBC,http://81.15.109.89:8001/play/BBCBrit$LR•IPV4•101『线路41』 +BBC,http://81.15.109.89:8001/play/BBCFirst$LR•IPV4•101『线路42』 +BBC,https://d1em2hga7sgumq.cloudfront.net/playlist.m3u8$LR•IPV4•101『线路43』 +BBC,https://pb-0ix3l1oxmg1fj.akamaized.net/playlist.m3u8$LR•IPV4•101『线路44』 +BBC,https://amg00793-amg00793c41-rakuten-it-5445.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路45』 +BBC,https://bbc-impossible-1-us.xumo.wurl.tv/playlist.m3u8$LR•IPV4•101『线路46』 +BBC,https://vs-cmaf-pushb-ww.live.cf.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:bbc_afghan_tv/pc_hd_abr_v2.mpd$LR•IPV4•101『线路47』 +BBC,https://vs-cmaf-pushb-uk.live.cf.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:red_button_one/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路48』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_002/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路49』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_003/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路50』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_004/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路51』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_005/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路52』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_006/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路53』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路54』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_008/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路55』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_009/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路56』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_010/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路57』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_011/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路58』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_012/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路59』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_013/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路60』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_014/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路61』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_015/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路62』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_016/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路63』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_017/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路64』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_018/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路65』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_019/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路66』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_020/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路67』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_021/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路68』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_022/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路69』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_023/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路70』 +BBC,https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_024/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路71』 +BBC,https://jmp2.uk/plu-60dafb9a0df1ba000758d37b.m3u8$LR•IPV4•101『线路72』 +BBC,https://jmp2.uk/plu-62e7fa5ab5062e0007dcf97d.m3u8$LR•IPV4•101『线路73』 +BBC,https://amg00793-amg00793c5-xumo-us-2664.playouts.now.amagi.tv/bbcstudios-bbctopgear8min-all/playlist.m3u8$LR•IPV4•101『线路74』 +BBC,https://amg00793-amg00793c5-firetv-us-4068.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路75』 +BBC,https://amg00793-amg00793c49-rakuten-fi-5848.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路76』 +BBC,https://amg00793-amg00793c45-rakuten-fr-5539.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路77』 +BBC,https://amg00793-amg00793c44-rakuten-de-5538.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路78』 +BBC,https://amg00793-amg00793c43-rakuten-it-5537.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路79』 +BBC,https://dmr1h4skdal9h.cloudfront.net/playlist.m3u8$LR•IPV4•101『线路80』 +BBC,https://bbc-classicdrwho-1-us.roku.wurl.tv/playlist.m3u8$LR•IPV4•101『线路81』 +BBC,https://amg00793-amg00793c40-rakuten-es-5444.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•101『线路82』 +BBC,https://d11r33s5i066xh.cloudfront.net/playlist.m3u8$LR•IPV4•101『线路83』 +BBC,https://cdn4.skygo.mn/live/disk1/BBC_lifestyle/HLSv3-FTA/BBC_lifestyle.m3u8$LR•IPV4•101『线路84』 +BBC,http://81.15.109.89:8001/play/BBCLifestyle$LR•IPV4•101『线路85』 +BBC,https://jmp2.uk/plu-60e4519e6873180007d3cddb.m3u8$LR•IPV4•101『线路86』 +BBC,http://81.15.109.89:8001/play/BBCEarth$LR•IPV4•101『线路87』 +BBC,https://amg00793-amg00793c6-xumo-us-2669.playouts.now.amagi.tv/BBCStudios-BBCEarthA-hls/playlist.m3u8$LR•IPV4•101『线路88』 +BBC,http://185.102.171.218/BBCEarth/index.m3u8$LR•IPV4•101『线路89』 +BBC,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_parliament/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路90』 +BBC,https://d1e9r0b71zfwk7.cloudfront.net/playlist.m3u8$LR•IPV4•101『线路91』 +BBC,https://vs-cmaf-pushb-uk.live.fastly.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:bbc_four_hd/iptv_hd_abr_v1.mpd$LR•IPV4•101『线路92』 +BBC,http://193.46.58.239:8080/CbeebiesHD/index.m3u8$LR•IPV4•101『线路93』 +BBC,http://193.46.58.239:8080/CBBCHD/index.m3u8$LR•IPV4•101『线路94』 +BBC,http://free.cnlive.club/channel/356e7ac6/index.m3u8?q=1752629214236$LR•IPV4•101『线路95』 +BBC,http://free.cnlive.club/channel/359a630b/index.m3u8?q=1752629214236$LR•IPV4•101『线路96』 +BBC,p3p://167.114.175.6:55331/64026f590000e9663abc652f25176282$LR•IPV4•101『线路97』 +BBC,p3p://167.114.175.6:55331/6444eb2e000921503e6ecfe873cd10b1$LR•IPV4•101『线路98』 +BBC,http://125.227.210.55:8165/VideoInput/play.ts$LR•IPV4•101『线路99』 +BBC,https://d2vnbkvjbims7j.cloudfront.net/containerA/LTN/playlist.m3u8$LR•IPV4•101『线路100』 +BBC,https://amg00793-amg00793c6-xumo-us-2669.playouts.now.amagi.tv/BBCStudios-BBCEarthA-hls/playlist540p.m3u8$LR•IPV4•101『线路101』 CNA,https://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index_5.m3u8$LR•IPV4•6『线路1』 -CNA,http://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index_5.m3u8?zshijd$LR•IPV4•6『线路2』 -CNA,https://live1.mediadesk.al/cnatvlive.m3u8$LR•IPV4•6『线路3』 -CNA,https://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index.m3u8$LR•IPV4•6『线路4』 -CNA,https://live.creacast.com/cna/stream/playlist.m3u8$LR•IPV4•6『线路5』 -CNA,https://amg01082-cna-amg01082c1-rlaxx-us-11304.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•6『线路6』 +CNA,https://live1.mediadesk.al/cnatvlive.m3u8$LR•IPV4•6『线路2』 +CNA,https://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index.m3u8$LR•IPV4•6『线路3』 +CNA,https://live.creacast.com/cna/stream/playlist.m3u8$LR•IPV4•6『线路4』 +CNA,https://amg01082-cna-amg01082c1-rlaxx-us-11304.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•6『线路5』 +CNA,http://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index_5.m3u8?zshijd$LR•IPV4•6『线路6』 CNN,https://ds2c506obo7m8.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-7zjq3tdqasbg8/index.m3u8$LR•IPV4•12『线路1』 -CNN,http://live.cnnindonesia.com/livecnn/smil:cnntv.smil/chunklist_w1285822120_b384000_sleng.m3u8$LR•IPV4•12『线路2』 -CNN,http://88.212.15.19/live/test_cnn_pirma_news/playlist.m3u8$LR•IPV4•12『线路3』 -CNN,https://jmp2.uk/plu-66c45c274f25dd00092739ee.m3u8$LR•IPV4•12『线路4』 -CNN,https://jmp2.uk/plu-5421f71da6af422839419cb3.m3u8$LR•IPV4•12『线路5』 -CNN,https://jmp2.uk/plu-66337e365a402e00087eccaf.m3u8$LR•IPV4•12『线路6』 -CNN,https://jmp2.uk/plu-66c45c0de7f5e80008b82005.m3u8$LR•IPV4•12『线路7』 -CNN,https://jmp2.uk/plu-66c45b36a72e7b0008a2b291.m3u8$LR•IPV4•12『线路8』 -CNN,https://jmp2.uk/plu-66c45ba803e3b20008d8c294.m3u8$LR•IPV4•12『线路9』 -CNN,https://jmp2.uk/plu-66dff9d46ad04d0008fda4de.m3u8$LR•IPV4•12『线路10』 -CNN,https://jmp2.uk/plu-673248f9030a2c0008033af8.m3u8$LR•IPV4•12『线路11』 -CNN,https://jmp2.uk/plu-66e0b4536ad04d0008fff4b2.m3u8$LR•IPV4•12『线路12』 -CBC News,https://dbrb49pjoymg4.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod_default_xumo-ams-aws/master.m3u8?ads.xumo_channelId=99991276$LR•IPV4•8『线路1』 -CBC News,https://d2ny9lo79ujali.cloudfront.net/CBC_News_International.m3u8$LR•IPV4•8『线路2』 -CBC News,https://jmp2.uk/plu-6536725167bd1a00084481bc.m3u8$LR•IPV4•8『线路3』 -CBC News,https://amagi-streams.akamaized.net/hls/live/2110960/cbcnewsbc/master.m3u8$LR•IPV4•8『线路4』 -CBC News,https://jmp2.uk/plu-66a8f01914a2bb00084dd86c.m3u8$LR•IPV4•8『线路5』 -CBC News,https://amagi-streams.akamaized.net/hls/live/2110962/cbcexplore/master.m3u8$LR•IPV4•8『线路6』 -CBC News,https://amagi-streams.akamaized.net/hls/live/2110961/cbctoronto/master.m3u8$LR•IPV4•8『线路7』 -CBC News,https://jmp2.uk/plu-6536721dbfbaec00088687c0.m3u8$LR•IPV4•8『线路8』 +CNN,http://88.212.15.19/live/test_cnn_pirma_news/playlist.m3u8$LR•IPV4•12『线路2』 +CNN,https://jmp2.uk/plu-66c45c274f25dd00092739ee.m3u8$LR•IPV4•12『线路3』 +CNN,https://jmp2.uk/plu-5421f71da6af422839419cb3.m3u8$LR•IPV4•12『线路4』 +CNN,https://jmp2.uk/plu-66337e365a402e00087eccaf.m3u8$LR•IPV4•12『线路5』 +CNN,https://jmp2.uk/plu-66c45c0de7f5e80008b82005.m3u8$LR•IPV4•12『线路6』 +CNN,https://jmp2.uk/plu-66c45b36a72e7b0008a2b291.m3u8$LR•IPV4•12『线路7』 +CNN,https://jmp2.uk/plu-66c45ba803e3b20008d8c294.m3u8$LR•IPV4•12『线路8』 +CNN,https://jmp2.uk/plu-66dff9d46ad04d0008fda4de.m3u8$LR•IPV4•12『线路9』 +CNN,https://jmp2.uk/plu-673248f9030a2c0008033af8.m3u8$LR•IPV4•12『线路10』 +CNN,https://jmp2.uk/plu-66e0b4536ad04d0008fff4b2.m3u8$LR•IPV4•12『线路11』 +CNN,http://live.cnnindonesia.com/livecnn/smil:cnntv.smil/chunklist_w1285822120_b384000_sleng.m3u8$LR•IPV4•12『线路12』 +CBC News,https://d2ny9lo79ujali.cloudfront.net/CBC_News_International.m3u8$LR•IPV4•8『线路1』 +CBC News,https://jmp2.uk/plu-6536725167bd1a00084481bc.m3u8$LR•IPV4•8『线路2』 +CBC News,https://amagi-streams.akamaized.net/hls/live/2110960/cbcnewsbc/master.m3u8$LR•IPV4•8『线路3』 +CBC News,https://jmp2.uk/plu-66a8f01914a2bb00084dd86c.m3u8$LR•IPV4•8『线路4』 +CBC News,https://amagi-streams.akamaized.net/hls/live/2110962/cbcexplore/master.m3u8$LR•IPV4•8『线路5』 +CBC News,https://amagi-streams.akamaized.net/hls/live/2110961/cbctoronto/master.m3u8$LR•IPV4•8『线路6』 +CBC News,https://jmp2.uk/plu-6536721dbfbaec00088687c0.m3u8$LR•IPV4•8『线路7』 +CBC News,https://dbrb49pjoymg4.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod_default_xumo-ams-aws/master.m3u8?ads.xumo_channelId=99991276$LR•IPV4•8『线路8』 Sky News,https://d39chvnxm26pgp.cloudfront.net/v1/master/72588bff830dec7b26d7cbbf5f3c24928aec5c03/cc-sthen6ms4vxgv-stage/WNSFO/ABR.m3u8$LR•IPV4•11『线路1』 Sky News,http://41.205.77.102/SKYNEWS/index.m3u8$LR•IPV4•11『线路2』 Sky News,https://live-stream.skynewsarabia.com/c-horizontal-channel/horizontal-stream/index.m3u8$LR•IPV4•11『线路3』 @@ -4595,14 +4569,14 @@ Sky News,https://skynewsau-live.akamaized.net/hls/live/2002691/skynewsau-extra3/ Sky News,https://lbgo.bozztv.com/ssh101/ssh101/skynews/playlist.m3u8$LR•IPV4•11『线路10』 Sky News,https://distro001-gb-hls1-prd.delivery.skycdp.com/easel_cdn/ngrp:weather_loop.stream_all/playlist.m3u8$LR•IPV4•11『线路11』 Al Jazeera,https://live-hls-aje-ak.getaj.net/AJE/01.m3u8$LR•IPV4•9『线路1』 -Al Jazeera,http://live-hls-web-aja.getaj.net/AJA/02.m3u8$LR•IPV4•9『线路2』 -Al Jazeera,https://live-hls-apps-aja-fa.getaj.net/AJA/01.m3u8$LR•IPV4•9『线路3』 -Al Jazeera,https://live-hls-web-aja2-gcp.thehlive.com/AJA2/index.m3u8$LR•IPV4•9『线路4』 -Al Jazeera,https://live-hls-apps-aje-fa.getaj.net/AJE/index.m3u8$LR•IPV4•9『线路5』 -Al Jazeera,https://live-hls-apps-ajm-fa.getaj.net/AJM/index.m3u8$LR•IPV4•9『线路6』 -Al Jazeera,https://live-hls-apps-ajm24-fa.getaj.net/AJM24/index.m3u8$LR•IPV4•9『线路7』 -Al Jazeera,https://live-hls-apps-ajm2-fa.getaj.net/AJM2/index.m3u8$LR•IPV4•9『线路8』 -Al Jazeera,https://live-hls-apps-ajd-fa.getaj.net/AJD/index.m3u8$LR•IPV4•9『线路9』 +Al Jazeera,https://live-hls-apps-aja-fa.getaj.net/AJA/01.m3u8$LR•IPV4•9『线路2』 +Al Jazeera,https://live-hls-web-aja2-gcp.thehlive.com/AJA2/index.m3u8$LR•IPV4•9『线路3』 +Al Jazeera,https://live-hls-apps-aje-fa.getaj.net/AJE/index.m3u8$LR•IPV4•9『线路4』 +Al Jazeera,https://live-hls-apps-ajm-fa.getaj.net/AJM/index.m3u8$LR•IPV4•9『线路5』 +Al Jazeera,https://live-hls-apps-ajm24-fa.getaj.net/AJM24/index.m3u8$LR•IPV4•9『线路6』 +Al Jazeera,https://live-hls-apps-ajm2-fa.getaj.net/AJM2/index.m3u8$LR•IPV4•9『线路7』 +Al Jazeera,https://live-hls-apps-ajd-fa.getaj.net/AJD/index.m3u8$LR•IPV4•9『线路8』 +Al Jazeera,http://live-hls-web-aja.getaj.net/AJA/02.m3u8$LR•IPV4•9『线路9』 Arirang,https://amdlive-ch01-ctnd-com.akamaized.net/arirang_1ch/smil:arirang_1ch.smil/chunklist_b3256000_sleng.m3u8$LR•IPV4•5『线路1』 Arirang,http://amdlive-ch01.ctnd.com.edgesuite.net/arirang_3ch/smil:arirang_3ch.smil/playlist.m3u8$LR•IPV4•5『线路2』 Arirang,https://amdlive-ch02-ctnd-com.akamaized.net/arirang_2ch/smil:arirang_2ch.smil/playlist.m3u8$LR•IPV4•5『线路3』 @@ -4614,55 +4588,55 @@ TRT World,https://dash2.antik.sk/live/test_trt_world_atktv/playlist.m3u8$LR•IP Bloomberg Originals,https://e96a7526.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X0Jsb29tYmVyZ09yaWdpbmFsc19ITFM/playlist.m3u8$LR•IPV4•3『线路1』 Bloomberg Originals,https://86fdc85a.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/TEctZ2JfQmxvb21iZXJnT3JpZ2luYWxzX0hMUw/playlist.m3u8$LR•IPV4•3『线路2』 Bloomberg Originals,https://bloomberg.com/media-manifest/streams/qt.m3u8$LR•IPV4•3『线路3』 -Fashion TV,http://free.cnlive.club/channel/n7852a99f/index.m3u8?q=1752629214236$LR•IPV4•2『线路1』 -Fashion TV,https://cdn2.invivo.bg/Codefashion_5500/index.m3u8$LR•IPV4•2『线路2』 +Fashion TV,https://cdn2.invivo.bg/Codefashion_5500/index.m3u8$LR•IPV4•2『线路1』 +Fashion TV,http://free.cnlive.club/channel/n7852a99f/index.m3u8?q=1752629214236$LR•IPV4•2『线路2』 SKY,http://s.rocketdns.info:8080/live/monstercable/Dq6jjknxCr/2188.ts$LR•IPV4•26『线路1』 SKY,http://s.rocketdns.info:8080/live/monstercable/Dq6jjknxCr/2179.ts$LR•IPV4•26『线路2』 SKY,http://s.rocketdns.info:8080/live/monstercable/Dq6jjknxCr/2182.ts$LR•IPV4•26『线路3』 -SKY,http://nocable.cc:8080//OURTV/OURTV@4806/35241$LR•IPV4•26『线路4』 -SKY,http://nocable.cc:8080//OURTV/OURTV@4806/35244$LR•IPV4•26『线路5』 -SKY,http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001373$LR•IPV4•26『线路6』 -SKY,http://nocable.cc:8080//OURTV/OURTV@4806/35240$LR•IPV4•26『线路7』 -SKY,http://nocable.cc:8080//OURTV/OURTV@4806/137720$LR•IPV4•26『线路8』 -SKY,http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001376$LR•IPV4•26『线路9』 -SKY,http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001378$LR•IPV4•26『线路10』 -SKY,http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001379$LR•IPV4•26『线路11』 -SKY,http://nocable.cc:8080//OURTV/OURTV@4806/53705$LR•IPV4•26『线路12』 -SKY,http://nocable.cc:8080//OURTV/OURTV@4806/35238$LR•IPV4•26『线路13』 -SKY,http://nocable.cc:8080//OURTV/OURTV@4806/53663$LR•IPV4•26『线路14』 -SKY,http://nocable.cc:8080//OURTV/OURTV@4806/45940$LR•IPV4•26『线路15』 -SKY,http://vocotv.pro//revol/revol/276918$LR•IPV4•26『线路16』 -SKY,http://vocotv.pro//revol/revol/276924$LR•IPV4•26『线路17』 -SKY,http://vocotv.pro//revol/revol/276906$LR•IPV4•26『线路18』 -SKY,https://cdn5.smart-tv-data.com/bluesky/bluesky-live/playlist.m3u8$LR•IPV4•26『线路19』 -SKY,http://80.194.62.172:50002/stream/channelid/1848745953$LR•IPV4•26『线路20』 -SKY,https://primetv-prod.akamaized.net/v1/prime-freeview-aes128.m3u8$LR•IPV4•26『线路21』 -SKY,https://linear-p.media.skyone.co.nz/primeplus1.clear.m3u8$LR•IPV4•26『线路22』 -SKY,https://eu.live.skyfolk.mk/live.m3u8$LR•IPV4•26『线路23』 -SKY,https://636ffd31f0e12.streamlock.net/RacingStream1/RacingStream1/playlist.m3u8$LR•IPV4•26『线路24』 -SKY,https://636ffd31f0e12.streamlock.net/RacingStream2/RacingStream2/playlist.m3u8$LR•IPV4•26『线路25』 -SKY,https://skylivetab-new.akamaized.net/hls/live/2038782/stcsd/index.m3u8$LR•IPV4•26『线路26』 +SKY,https://cdn5.smart-tv-data.com/bluesky/bluesky-live/playlist.m3u8$LR•IPV4•26『线路4』 +SKY,http://80.194.62.172:50002/stream/channelid/1848745953$LR•IPV4•26『线路5』 +SKY,https://primetv-prod.akamaized.net/v1/prime-freeview-aes128.m3u8$LR•IPV4•26『线路6』 +SKY,https://linear-p.media.skyone.co.nz/primeplus1.clear.m3u8$LR•IPV4•26『线路7』 +SKY,https://eu.live.skyfolk.mk/live.m3u8$LR•IPV4•26『线路8』 +SKY,https://636ffd31f0e12.streamlock.net/RacingStream1/RacingStream1/playlist.m3u8$LR•IPV4•26『线路9』 +SKY,https://636ffd31f0e12.streamlock.net/RacingStream2/RacingStream2/playlist.m3u8$LR•IPV4•26『线路10』 +SKY,https://skylivetab-new.akamaized.net/hls/live/2038782/stcsd/index.m3u8$LR•IPV4•26『线路11』 +SKY,http://nocable.cc:8080//OURTV/OURTV@4806/35241$LR•IPV4•26『线路12』 +SKY,http://nocable.cc:8080//OURTV/OURTV@4806/35244$LR•IPV4•26『线路13』 +SKY,http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001373$LR•IPV4•26『线路14』 +SKY,http://nocable.cc:8080//OURTV/OURTV@4806/35240$LR•IPV4•26『线路15』 +SKY,http://nocable.cc:8080//OURTV/OURTV@4806/137720$LR•IPV4•26『线路16』 +SKY,http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001376$LR•IPV4•26『线路17』 +SKY,http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001378$LR•IPV4•26『线路18』 +SKY,http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001379$LR•IPV4•26『线路19』 +SKY,http://nocable.cc:8080//OURTV/OURTV@4806/53705$LR•IPV4•26『线路20』 +SKY,http://nocable.cc:8080//OURTV/OURTV@4806/35238$LR•IPV4•26『线路21』 +SKY,http://nocable.cc:8080//OURTV/OURTV@4806/53663$LR•IPV4•26『线路22』 +SKY,http://nocable.cc:8080//OURTV/OURTV@4806/45940$LR•IPV4•26『线路23』 +SKY,http://vocotv.pro//revol/revol/276918$LR•IPV4•26『线路24』 +SKY,http://vocotv.pro//revol/revol/276924$LR•IPV4•26『线路25』 +SKY,http://vocotv.pro//revol/revol/276906$LR•IPV4•26『线路26』 KBS world,http://31.148.48.15/KBS_World/index.m3u8$LR•IPV4 -FIFA+,https://d2w9q46ikgrcwx.cloudfront.net/v1/manifest/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-of5cbk3sav3w5/554c05e7-129a-4758-97ba-aa2292e58973/1.m3u8$LR•IPV4•12『线路1』 -FIFA+,https://d2w9q46ikgrcwx.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-of5cbk3sav3w5/v1/sysdata_s_p_a_fifa_7/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•12『线路2』 -FIFA+,https://d2w9q46ikgrcwx.cloudfront.net/v1/manifest/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-of5cbk3sav3w5/035f3906-e664-4f1b-83f0-a7547730adce/0.m3u8$LR•IPV4•12『线路3』 -FIFA+,https://d2w9q46ikgrcwx.cloudfront.net/v1/manifest/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-of5cbk3sav3w5/b31ebba5-b6b6-4083-9426-1c4bd66b7119/0.m3u8$LR•IPV4•12『线路4』 -FIFA+,https://jmp2.uk/plu-660c29b5aec9680008f5b4a4.m3u8$LR•IPV4•12『线路5』 -FIFA+,https://37b4c228.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWZyX0ZJRkFQbHVzRnJlbmNoX0hMUw/playlist.m3u8$LR•IPV4•12『线路6』 -FIFA+,https://4397879b.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWRlX0ZJRkFQbHVzR2VybWFuX0hMUw/playlist.m3u8$LR•IPV4•12『线路7』 -FIFA+,https://6c849fb3.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/TEctbXhfRklGQVBsdXNTcGFuaXNoLTFfSExT/playlist.m3u8$LR•IPV4•12『线路8』 -FIFA+,https://5d95f7d7.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWl0X0ZJRkFQbHVzSXRhbGlhbl9ITFM/playlist.m3u8$LR•IPV4•12『线路9』 -FIFA+,https://e3be9ac5.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/TEctYnJfRklGQVBsdXNQb3J0dWd1ZXNlX0hMUw/playlist.m3u8$LR•IPV4•12『线路10』 -FIFA+,https://d63fabad.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWVzX0ZJRkFQbHVzU3BhbmlzaF9ITFM/playlist.m3u8$LR•IPV4•12『线路11』 -FIFA+,https://cffda8ff.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/U2Ftc3VuZy1nYl9GSUZBUGx1c3dvbWVuX0hMUw/playlist.m3u8$LR•IPV4•12『线路12』 +FIFA+,https://jmp2.uk/plu-660c29b5aec9680008f5b4a4.m3u8$LR•IPV4•12『线路1』 +FIFA+,https://37b4c228.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWZyX0ZJRkFQbHVzRnJlbmNoX0hMUw/playlist.m3u8$LR•IPV4•12『线路2』 +FIFA+,https://4397879b.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWRlX0ZJRkFQbHVzR2VybWFuX0hMUw/playlist.m3u8$LR•IPV4•12『线路3』 +FIFA+,https://6c849fb3.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/TEctbXhfRklGQVBsdXNTcGFuaXNoLTFfSExT/playlist.m3u8$LR•IPV4•12『线路4』 +FIFA+,https://5d95f7d7.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWl0X0ZJRkFQbHVzSXRhbGlhbl9ITFM/playlist.m3u8$LR•IPV4•12『线路5』 +FIFA+,https://e3be9ac5.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/TEctYnJfRklGQVBsdXNQb3J0dWd1ZXNlX0hMUw/playlist.m3u8$LR•IPV4•12『线路6』 +FIFA+,https://d63fabad.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWVzX0ZJRkFQbHVzU3BhbmlzaF9ITFM/playlist.m3u8$LR•IPV4•12『线路7』 +FIFA+,https://d2w9q46ikgrcwx.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-of5cbk3sav3w5/v1/sysdata_s_p_a_fifa_7/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•12『线路8』 +FIFA+,https://cffda8ff.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/U2Ftc3VuZy1nYl9GSUZBUGx1c3dvbWVuX0hMUw/playlist.m3u8$LR•IPV4•12『线路9』 +FIFA+,https://d2w9q46ikgrcwx.cloudfront.net/v1/manifest/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-of5cbk3sav3w5/554c05e7-129a-4758-97ba-aa2292e58973/1.m3u8$LR•IPV4•12『线路10』 +FIFA+,https://d2w9q46ikgrcwx.cloudfront.net/v1/manifest/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-of5cbk3sav3w5/035f3906-e664-4f1b-83f0-a7547730adce/0.m3u8$LR•IPV4•12『线路11』 +FIFA+,https://d2w9q46ikgrcwx.cloudfront.net/v1/manifest/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-of5cbk3sav3w5/b31ebba5-b6b6-4083-9426-1c4bd66b7119/0.m3u8$LR•IPV4•12『线路12』 Newsmax,https://nmx1ota.akamaized.net/hls/live/2107010/Live_1/3.m3u8$LR•IPV4•8『线路1』 -Newsmax,http://nmxlive.akamaized.net/hls/live/529965/Live_1/index.m3u8$LR•IPV4•8『线路2』 -Newsmax,https://nmxlive.akamaized.net/hls/live/529965/Live_1/index.m3u8$LR•IPV4•8『线路3』 -Newsmax,https://2-fss-2.streamhoster.com/pl_120/206858-4404556-1/playlist.m3u8$LR•IPV4•8『线路4』 -Newsmax,https://amg00217-newsmax-newsmax-zeasn-022k9.amagi.tv/playlist.m3u8$LR•IPV4•8『线路5』 -Newsmax,https://newsmaxadria.mts-si.tv/newsmaxadria/index.m3u8$LR•IPV4•8『线路6』 -Newsmax,https://n1ottesorkatv.akamaized.net/hls/live/2113795/Live_1/index.m3u8$LR•IPV4•8『线路7』 -Newsmax,https://nmx1ota.akamaized.net/hls/live/2107010/Live_1/index.m3u8$LR•IPV4•8『线路8』 +Newsmax,https://2-fss-2.streamhoster.com/pl_120/206858-4404556-1/playlist.m3u8$LR•IPV4•8『线路2』 +Newsmax,https://amg00217-newsmax-newsmax-zeasn-022k9.amagi.tv/playlist.m3u8$LR•IPV4•8『线路3』 +Newsmax,https://newsmaxadria.mts-si.tv/newsmaxadria/index.m3u8$LR•IPV4•8『线路4』 +Newsmax,https://n1ottesorkatv.akamaized.net/hls/live/2113795/Live_1/index.m3u8$LR•IPV4•8『线路5』 +Newsmax,https://nmx1ota.akamaized.net/hls/live/2107010/Live_1/index.m3u8$LR•IPV4•8『线路6』 +Newsmax,http://nmxlive.akamaized.net/hls/live/529965/Live_1/index.m3u8$LR•IPV4•8『线路7』 +Newsmax,https://nmxlive.akamaized.net/hls/live/529965/Live_1/index.m3u8$LR•IPV4•8『线路8』 CBN News,https://fastly.live.brightcove.com/6380396819112/us-east-1/734546207001/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJob3N0IjoiczFpM3ZpLmVncmVzcy50N2M3emwiLCJhY2NvdW50X2lkIjoiNzM0NTQ2MjA3MDAxIiwiZWhuIjoiZmFzdGx5LmxpdmUuYnJpZ2h0Y292ZS5jb20iLCJpc3MiOiJibGl2ZS1wbGF5YmFjay1zb3VyY2UtYXBpIiwic3ViIjoicGF0aG1hcHRva2VuIiwiYXVkIjpbIjczNDU0NjIwNzAwMSJdLCJqdGkiOiI2MzgwMzk2ODE5MTEyIn0.GDYp4IWtzwPkupEWeeOavnioVknO-Ev3UGlHvM1rE6I/playlist-hls.m3u8$LR•IPV4 GB News,https://rakutenaa-lightning-gbnews-rakuten-ccoa9.amagi.tv/playlist/rakutenAA-lightning-gbnews-rakuten/playlist.m3u8$LR•IPV4•2『线路1』 GB News,https://amg01076-lightningintern-gbnewsau-samsungau-et7fz.amagi.tv/playlist/amg01076-lightningintern-gbnewsau-samsungau/playlist.m3u8$LR•IPV4•2『线路2』 @@ -4673,44 +4647,44 @@ ION,https://pb-xhb3ic8b61whm.akamaized.net/Ion_US.m3u8$LR•IPV4•5『线路2 ION,https://jmp2.uk/plu-65453f30085df200085883d8.m3u8$LR•IPV4•5『线路3』 ION,https://aegis-cloudfront-1.tubi.video/3b6afc3b-97f7-4f22-99f4-7bcff60fc39d/playlist.m3u8$LR•IPV4•5『线路4』 ION,https://pb-usmbvsgwcg8pc.akamaized.net/Ion_Mystery_US.m3u8$LR•IPV4•5『线路5』 -Love Nature,http://rihou.cc:555/tv/LoveNature$LR•IPV4•8『线路1』 -Love Nature,p3p://167.114.175.6:55331/655fa9280009c6278edfc1176731425f$LR•IPV4•8『线路2』 -Love Nature,https://d18dyiwu97wm6q.cloudfront.net/playlist2160p.m3u8$LR•IPV4•8『线路3』 -Love Nature,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1761&tk=f6cc1e0a0e1a$LR•IPV4•8『线路4』 -Love Nature,https://amg01515-amg01515c17-xumo-us-2489.playouts.now.amagi.tv/bamus-lovenaturespanish-roku/playlist.m3u8$LR•IPV4•8『线路5』 -Love Nature,https://aegis-cloudfront-1.tubi.video/6d6d0f24-8445-4b4c-bdf6-44f9e38beaa4/playlist.m3u8$LR•IPV4•8『线路6』 -Love Nature,https://pb-ehs1glsha1juy.akamaized.net/Love_Nature_4K.m3u8$LR•IPV4•8『线路7』 -Love Nature,http://185.246.209.113/LOVENATUREHD/index.m3u8$LR•IPV4•8『线路8』 +Love Nature,https://amg01515-amg01515c17-xumo-us-2489.playouts.now.amagi.tv/bamus-lovenaturespanish-roku/playlist.m3u8$LR•IPV4•8『线路1』 +Love Nature,https://aegis-cloudfront-1.tubi.video/6d6d0f24-8445-4b4c-bdf6-44f9e38beaa4/playlist.m3u8$LR•IPV4•8『线路2』 +Love Nature,https://pb-ehs1glsha1juy.akamaized.net/Love_Nature_4K.m3u8$LR•IPV4•8『线路3』 +Love Nature,http://185.246.209.113/LOVENATUREHD/index.m3u8$LR•IPV4•8『线路4』 +Love Nature,p3p://167.114.175.6:55331/655fa9280009c6278edfc1176731425f$LR•IPV4•8『线路5』 +Love Nature,https://d18dyiwu97wm6q.cloudfront.net/playlist2160p.m3u8$LR•IPV4•8『线路6』 +Love Nature,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1761&tk=f6cc1e0a0e1a$LR•IPV4•8『线路7』 +Love Nature,http://rihou.cc:555/tv/LoveNature$LR•IPV4•8『线路8』 Fight Network,https://d12a2vxqkkh1bo.cloudfront.net/hls/main.m3u8$LR•IPV4 Wild Earth,https://wildearth-plex.amagi.tv/masterR1080p.m3u8$LR•IPV4 Clarity 4K,https://pb-qyrvophnifz47.akamaized.net/Clarity_4K.m3u8$LR•IPV4 -Stadium,https://2d006483e2aa43fe812f7b464cb2916d.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/Samsung_Stadium/playlist.m3u8$LR•IPV4•2『线路1』 -Stadium,https://wurl120sports.global.transmit.live/hls/679a907dce42a042c23ace37/v1/stadium_gracenote/samsung_us/latest/main/hls/playlist.m3u8$LR•IPV4•2『线路2』 -Pop,http://bgdc.live:25461/catrinamcdermott/catrinamcdermott/51112$LR•IPV4•25『线路1』 -Pop,http://206.212.244.63/139/index.m3u8$LR•IPV4•25『线路2』 -Pop,https://radio.congoplanet.com/Congo_Planet_TV_Pop.sdp/Congo_Planet_TV_Pop/playlist.m3u8$LR•IPV4•25『线路3』 -Pop,https://d3kmrn2mstrnk5.cloudfront.net/f4acc9ba_daae_4ed0_b836_32126cead919/hls/playlist.m3u8$LR•IPV4•25『线路4』 -Pop,https://amg01753-narrativeentert-popkids-lggb-xyy5k.amagi.tv/ts-eu-w1-n2/playlist/amg01753-narrativeentert-popkids-lggb/playlist.m3u8$LR•IPV4•25『线路5』 -Pop,https://stream.ads.ottera.tv/playlist.m3u8?network_id=1086$LR•IPV4•25『线路6』 -Pop,https://amg00056-amg00056c7-rakuten-de-3245.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•25『线路7』 -Pop,https://amg00056-amg00056c8-rakuten-it-3239.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•25『线路8』 -Pop,https://amg00056-amg00056c10-rakuten-es-3242.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•25『线路9』 -Pop,https://d2n3779oy6efpi.cloudfront.net/playlist.m3u8$LR•IPV4•25『线路10』 -Pop,https://amg00056-amg00056c15-rakuten-it-3241.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•25『线路11』 -Pop,https://amg01753-amg01753c9-samsung-gb-8005.playouts.now.amagi.tv/ts-eu-w1-n2/playlist/amg01753-narrativeuk-popup-samsunggb/playlist.m3u8$LR•IPV4•25『线路12』 -Pop,https://jmp2.uk/plu-6093f7b5bb49b90007cecaad.m3u8$LR•IPV4•25『线路13』 -Pop,https://amg01753-narrativeuk-amg01753c1-lg-gb-1830.playouts.now.amagi.tv/playlist/amg01753-narrativeuk-tinypop-lggb/playlist.m3u8$LR•IPV4•25『线路14』 -Pop,http://92.114.85.72:8000/play/a08p$LR•IPV4•25『线路15』 -Pop,https://dogus-live.daioncdn.net/kralpoptv/playlist.m3u8$LR•IPV4•25『线路16』 -Pop,http://rjcf.ofztvxv.top:8080/kang/71267133/99554$LR•IPV4•25『线路17』 -Pop,https://jmp2.uk/plu-6047fbdbbb776a0007e7f2ff.m3u8$LR•IPV4•25『线路18』 -Pop,https://jmp2.uk/plu-65410176770cf1000866bf31.m3u8$LR•IPV4•25『线路19』 -Pop,https://jmp2.uk/plu-6047fabfce6e8e00070bcc9f.m3u8$LR•IPV4•25『线路20』 -Pop,https://jmp2.uk/plu-5d14fd1a252d35decbc4080c.m3u8$LR•IPV4•25『线路21』 -Pop,https://janus.xpbroadcasting.com:8443/hls/popworld.m3u8$LR•IPV4•25『线路22』 -Pop,https://lotus.stingray.com/manifest/ose-104ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•25『线路23』 -Pop,https://lotus.stingray.com/manifest/ose-190ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•25『线路24』 -Pop,https://d128y56w6v2kax.cloudfront.net/playlist/amg00056-vevotv-vevopopau-samsungau/playlist.m3u8$LR•IPV4•25『线路25』 +Stadium,https://wurl120sports.global.transmit.live/hls/679a907dce42a042c23ace37/v1/stadium_gracenote/samsung_us/latest/main/hls/playlist.m3u8$LR•IPV4•2『线路1』 +Stadium,https://2d006483e2aa43fe812f7b464cb2916d.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/Samsung_Stadium/playlist.m3u8$LR•IPV4•2『线路2』 +Pop,http://206.212.244.63/139/index.m3u8$LR•IPV4•25『线路1』 +Pop,https://radio.congoplanet.com/Congo_Planet_TV_Pop.sdp/Congo_Planet_TV_Pop/playlist.m3u8$LR•IPV4•25『线路2』 +Pop,https://d3kmrn2mstrnk5.cloudfront.net/f4acc9ba_daae_4ed0_b836_32126cead919/hls/playlist.m3u8$LR•IPV4•25『线路3』 +Pop,https://amg01753-narrativeentert-popkids-lggb-xyy5k.amagi.tv/ts-eu-w1-n2/playlist/amg01753-narrativeentert-popkids-lggb/playlist.m3u8$LR•IPV4•25『线路4』 +Pop,https://stream.ads.ottera.tv/playlist.m3u8?network_id=1086$LR•IPV4•25『线路5』 +Pop,https://amg00056-amg00056c7-rakuten-de-3245.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•25『线路6』 +Pop,https://amg00056-amg00056c8-rakuten-it-3239.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•25『线路7』 +Pop,https://amg00056-amg00056c10-rakuten-es-3242.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•25『线路8』 +Pop,https://d2n3779oy6efpi.cloudfront.net/playlist.m3u8$LR•IPV4•25『线路9』 +Pop,https://amg00056-amg00056c15-rakuten-it-3241.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•25『线路10』 +Pop,https://amg01753-amg01753c9-samsung-gb-8005.playouts.now.amagi.tv/ts-eu-w1-n2/playlist/amg01753-narrativeuk-popup-samsunggb/playlist.m3u8$LR•IPV4•25『线路11』 +Pop,https://jmp2.uk/plu-6093f7b5bb49b90007cecaad.m3u8$LR•IPV4•25『线路12』 +Pop,https://amg01753-narrativeuk-amg01753c1-lg-gb-1830.playouts.now.amagi.tv/playlist/amg01753-narrativeuk-tinypop-lggb/playlist.m3u8$LR•IPV4•25『线路13』 +Pop,http://92.114.85.72:8000/play/a08p$LR•IPV4•25『线路14』 +Pop,https://dogus-live.daioncdn.net/kralpoptv/playlist.m3u8$LR•IPV4•25『线路15』 +Pop,http://rjcf.ofztvxv.top:8080/kang/71267133/99554$LR•IPV4•25『线路16』 +Pop,https://jmp2.uk/plu-6047fbdbbb776a0007e7f2ff.m3u8$LR•IPV4•25『线路17』 +Pop,https://jmp2.uk/plu-65410176770cf1000866bf31.m3u8$LR•IPV4•25『线路18』 +Pop,https://jmp2.uk/plu-6047fabfce6e8e00070bcc9f.m3u8$LR•IPV4•25『线路19』 +Pop,https://jmp2.uk/plu-5d14fd1a252d35decbc4080c.m3u8$LR•IPV4•25『线路20』 +Pop,https://janus.xpbroadcasting.com:8443/hls/popworld.m3u8$LR•IPV4•25『线路21』 +Pop,https://lotus.stingray.com/manifest/ose-104ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•25『线路22』 +Pop,https://lotus.stingray.com/manifest/ose-190ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•25『线路23』 +Pop,https://d128y56w6v2kax.cloudfront.net/playlist/amg00056-vevotv-vevopopau-samsungau/playlist.m3u8$LR•IPV4•25『线路24』 +Pop,http://bgdc.live:25461/catrinamcdermott/catrinamcdermott/51112$LR•IPV4•25『线路25』 Tastemade,https://jmp2.uk/plu-68b88821e542386ab0bf5bef.m3u8$LR•IPV4•15『线路1』 Tastemade,https://jmp2.uk/plu-68b887c2e77777498226a0de.m3u8$LR•IPV4•15『线路2』 Tastemade,https://d3ca4qxsdzlrju.cloudfront.net/Tastemade_Home.m3u8$LR•IPV4•15『线路3』 @@ -4732,72 +4706,72 @@ MovieSphere,https://amg00353-lionsgatestudio-moviesphere-xumo-zh5u0.amagi.tv/pla MovieSphere,https://amg00353-lionsgatefilmsi-moviesphereaus-samsungau-7qzhf.amagi.tv/playlist/amg00353-lionsgatefilmsi-moviesphereaus-samsungau/playlist.m3u8$LR•IPV4•5『线路4』 MovieSphere,https://jmp2.uk/plu-64a3d96f060e830008af6745.m3u8$LR•IPV4•5『线路5』 香港国际财经,p3p://167.114.175.6:55331/64838620000cd8ed32fb0d6a414411f7$LR•IPV4 -Bloomberg,https://epg.pw/stream/d2edf469b9079064a283f4b0811cbf6f2597ebbb3d08dcf77036a4b5a791b7cf.m3u8$LR•IPV4•17『线路1』 -Bloomberg,https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg01601-bloomberg-bloombergplus-hls-rakutenjp/playlist.m3u8$LR•IPV4•17『线路2』 -Bloomberg,https://bloomberg-bloombergtv-3-nl.samsung.wurl.tv/playlist.m3u8$LR•IPV4•17『线路3』 -Bloomberg,https://bloomberg-bloombergtv-5-eu.plex.wurl.tv/3ea2c48ba0034cc276591c94a5b439c0.m3u8$LR•IPV4•17『线路4』 -Bloomberg,https://liveprodusphoenixeast.akamaized.net/USPhx-HD/Channel-TX-USPhx-AWS-virginia-1/Source-USPhx-16k-1-s6lk2-BP-07-02-81ykIWnsMsg_live.m3u8$LR•IPV4•17『线路5』 -Bloomberg,https://ciner.daioncdn.net/bloomberght/bloomberght.m3u8$LR•IPV4•17『线路6』 -Bloomberg,http://23.237.104.106:8080/USA_BLOOMBERG/index.m3u8$LR•IPV4•17『线路7』 -Bloomberg,https://bloomberg.com/media-manifest/streams/aus.m3u8$LR•IPV4•17『线路8』 -Bloomberg,http://213.91.179.28:8000/play/a04m$LR•IPV4•17『线路9』 -Bloomberg,https://bloomberg.com/media-manifest/streams/eu-event.m3u8$LR•IPV4•17『线路10』 -Bloomberg,https://bloomberg.com/media-manifest/streams/eu.m3u8$LR•IPV4•17『线路11』 -Bloomberg,https://cdn4.skygo.mn/live/disk1/BloombergMon/DASH-FTA/BloombergMon.mpd$LR•IPV4•17『线路12』 -Bloomberg,https://bloomberg.com/media-manifest/streams/us-event.m3u8$LR•IPV4•17『线路13』 -Bloomberg,https://bloomberg.com/media-manifest/streams/politics.m3u8$LR•IPV4•17『线路14』 -Bloomberg,https://d8975dc3.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/U2Ftc3VuZy1nYl9CbG9vbWJlcmdUVlBsdXNfSExT/playlist.m3u8$LR•IPV4•17『线路15』 -Bloomberg,https://86ebec83.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X0Jsb29tYmVyZ1RWUGx1c19ITFM/playlist.m3u8$LR•IPV4•17『线路16』 -Bloomberg,https://pe-ak-lp01a-9c9media.akamaized.net/live/News1BNNDigi/p/dash/00000001/1bba52dc66e4c68e/manifest.mpd$LR•IPV4•17『线路17』 -CNBC,http://fl2.moveonjoy.com/CNBC/index.m3u8$LR•IPV4•16『线路1』 -CNBC,https://cdn4.skygo.mn/live/disk1/CNBC/DASH-FTA/CNBC.mpd$LR•IPV4•16『线路2』 -CNBC,https://jmp2.uk/plu-679a973a97782f0008ff4bb6.m3u8$LR•IPV4•16『线路3』 -CNBC,https://amg14891-amg14891c5-amgplt0020.playout.now3.amagi.tv/playlist.m3u8$LR•IPV4•16『线路4』 -CNBC,http://40.160.24.52/CNBC/index.m3u8$LR•IPV4•16『线路5』 -CNBC,https://cnbc-live.akamaized.net/cnbc/master.m3u8$LR•IPV4•16『线路6』 -CNBC,https://liveh34.vtvprime.vn/hls/CNBC/03.m3u8$LR•IPV4•16『线路7』 -CNBC,https://n18syndication.akamaized.net/bpk-tv/CNBC_Awaaz_NW18_MOB/output01/master.m3u8$LR•IPV4•16『线路8』 -CNBC,https://n18syndication.akamaized.net/bpk-tv/CNBC_Bazaar_NW18_MOB/output01/master.m3u8$LR•IPV4•16『线路9』 -CNBC,https://live.cnbcindonesia.com/livecnbc/smil:cnbctv.smil/master.m3u8$LR•IPV4•16『线路10』 -CNBC,https://n18syndication.akamaized.net/bpk-tv/CNBC_TV18_NW18_MOB/output01/index.m3u8$LR•IPV4•16『线路11』 -CNBC,https://n18syndication.akamaized.net/bpk-tv/CNBC_Tv18_Prime_HD_NW18_MOB/output01/index.m3u8$LR•IPV4•16『线路12』 -CNBC,http://206.212.244.63/42/index.m3u8$LR•IPV4•16『线路13』 -CNBC,https://amg01079-nbcuuk-amg01079c2-samsung-gb-1258.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•16『线路14』 -CNBC,https://cdn4.skygo.mn/live/disk1/CNBC/HLSv3-FTA/CNBC.m3u8$LR•IPV4•16『线路15』 -CNBC,https://hnpsechtsc.turknet.ercdn.net/xpnvudnlsv/cnbc-e/cnbc-e.m3u8$LR•IPV4•16『线路16』 +Bloomberg,https://ciner.daioncdn.net/bloomberght/bloomberght.m3u8$LR•IPV4•17『线路1』 +Bloomberg,http://23.237.104.106:8080/USA_BLOOMBERG/index.m3u8$LR•IPV4•17『线路2』 +Bloomberg,https://bloomberg.com/media-manifest/streams/aus.m3u8$LR•IPV4•17『线路3』 +Bloomberg,http://213.91.179.28:8000/play/a04m$LR•IPV4•17『线路4』 +Bloomberg,https://bloomberg.com/media-manifest/streams/eu-event.m3u8$LR•IPV4•17『线路5』 +Bloomberg,https://bloomberg.com/media-manifest/streams/eu.m3u8$LR•IPV4•17『线路6』 +Bloomberg,https://cdn4.skygo.mn/live/disk1/BloombergMon/DASH-FTA/BloombergMon.mpd$LR•IPV4•17『线路7』 +Bloomberg,https://bloomberg.com/media-manifest/streams/us-event.m3u8$LR•IPV4•17『线路8』 +Bloomberg,https://bloomberg.com/media-manifest/streams/politics.m3u8$LR•IPV4•17『线路9』 +Bloomberg,https://d8975dc3.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/U2Ftc3VuZy1nYl9CbG9vbWJlcmdUVlBsdXNfSExT/playlist.m3u8$LR•IPV4•17『线路10』 +Bloomberg,https://86ebec83.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X0Jsb29tYmVyZ1RWUGx1c19ITFM/playlist.m3u8$LR•IPV4•17『线路11』 +Bloomberg,https://pe-ak-lp01a-9c9media.akamaized.net/live/News1BNNDigi/p/dash/00000001/1bba52dc66e4c68e/manifest.mpd$LR•IPV4•17『线路12』 +Bloomberg,https://epg.pw/stream/d2edf469b9079064a283f4b0811cbf6f2597ebbb3d08dcf77036a4b5a791b7cf.m3u8$LR•IPV4•17『线路13』 +Bloomberg,https://bloomberg-bloombergtv-3-nl.samsung.wurl.tv/playlist.m3u8$LR•IPV4•17『线路14』 +Bloomberg,https://bloomberg-bloombergtv-5-eu.plex.wurl.tv/3ea2c48ba0034cc276591c94a5b439c0.m3u8$LR•IPV4•17『线路15』 +Bloomberg,https://liveprodusphoenixeast.akamaized.net/USPhx-HD/Channel-TX-USPhx-AWS-virginia-1/Source-USPhx-16k-1-s6lk2-BP-07-02-81ykIWnsMsg_live.m3u8$LR•IPV4•17『线路16』 +Bloomberg,https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg01601-bloomberg-bloombergplus-hls-rakutenjp/playlist.m3u8$LR•IPV4•17『线路17』 +CNBC,https://cdn4.skygo.mn/live/disk1/CNBC/DASH-FTA/CNBC.mpd$LR•IPV4•16『线路1』 +CNBC,https://jmp2.uk/plu-679a973a97782f0008ff4bb6.m3u8$LR•IPV4•16『线路2』 +CNBC,https://amg14891-amg14891c5-amgplt0020.playout.now3.amagi.tv/playlist.m3u8$LR•IPV4•16『线路3』 +CNBC,http://40.160.24.52/CNBC/index.m3u8$LR•IPV4•16『线路4』 +CNBC,https://cnbc-live.akamaized.net/cnbc/master.m3u8$LR•IPV4•16『线路5』 +CNBC,https://liveh34.vtvprime.vn/hls/CNBC/03.m3u8$LR•IPV4•16『线路6』 +CNBC,https://n18syndication.akamaized.net/bpk-tv/CNBC_Awaaz_NW18_MOB/output01/master.m3u8$LR•IPV4•16『线路7』 +CNBC,https://n18syndication.akamaized.net/bpk-tv/CNBC_Bazaar_NW18_MOB/output01/master.m3u8$LR•IPV4•16『线路8』 +CNBC,https://live.cnbcindonesia.com/livecnbc/smil:cnbctv.smil/master.m3u8$LR•IPV4•16『线路9』 +CNBC,https://n18syndication.akamaized.net/bpk-tv/CNBC_TV18_NW18_MOB/output01/index.m3u8$LR•IPV4•16『线路10』 +CNBC,https://n18syndication.akamaized.net/bpk-tv/CNBC_Tv18_Prime_HD_NW18_MOB/output01/index.m3u8$LR•IPV4•16『线路11』 +CNBC,http://206.212.244.63/42/index.m3u8$LR•IPV4•16『线路12』 +CNBC,https://amg01079-nbcuuk-amg01079c2-samsung-gb-1258.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•16『线路13』 +CNBC,https://cdn4.skygo.mn/live/disk1/CNBC/HLSv3-FTA/CNBC.m3u8$LR•IPV4•16『线路14』 +CNBC,https://hnpsechtsc.turknet.ercdn.net/xpnvudnlsv/cnbc-e/cnbc-e.m3u8$LR•IPV4•16『线路15』 +CNBC,http://fl2.moveonjoy.com/CNBC/index.m3u8$LR•IPV4•16『线路16』 TV8,https://1740288887.rsc.cdn77.org/1740288887/index.m3u8$LR•IPV4•6『线路1』 TV8,https://k20.usastreams.com:8081/tv8/index.m3u8$LR•IPV4•6『线路2』 TV8,https://cdn4.skygo.mn/live/disk1/TV8HD/DASH-FTA/TV8HD.mpd$LR•IPV4•6『线路3』 TV8,https://panel.tvstream.cl:1936/sdaumqtfqf/sdaumqtfqf/playlist.m3u8$LR•IPV4•6『线路4』 TV8,http://91.146.94.234:10001/play/a03b$LR•IPV4•6『线路5』 TV8,http://315e5a5d.ottrast.com/iptv/8KSD5KFDXA6H88/2454/index.m3u8$LR•IPV4•6『线路6』 -ViuTV6,https://flv-play.clouda.com/live/viu6-D6pO0qnPgYtsKeTdGr82OSkWEl8zBX3XM1t9ch8UV6mBdTtdTak4E430rwZSou1PWPElll7qSdAUc6WQQb3M0gkb.flv$LR•IPV4•2『线路1』 -ViuTV6,http://hls.168.us.kg/u/96/master.m3u8$LR•IPV4•2『线路2』 +ViuTV6,http://hls.168.us.kg/u/96/master.m3u8$LR•IPV4•2『线路1』 +ViuTV6,https://flv-play.clouda.com/live/viu6-D6pO0qnPgYtsKeTdGr82OSkWEl8zBX3XM1t9ch8UV6mBdTtdTak4E430rwZSou1PWPElll7qSdAUc6WQQb3M0gkb.flv$LR•IPV4•2『线路2』 博斯高球1,p3p://167.114.175.6:55331/626b4058000aaf3b55ebf11727dd34f5$LR•IPV4 博斯高球2,p3p://167.114.175.6:55331/6258e1c9000c6f010e2b77e9601b5186$LR•IPV4 博斯魅力,p3p://167.114.175.6:55331/612ee43d000c84ea8e0dab707a8b2e0d$LR•IPV4 中天綜合,http://23.237.10.66:16372$LR•IPV4 澳视澳门,https://cdn6.163189.xyz/163189/asam$LR•IPV4•9『线路1』 -澳视澳门,http://push.cdn1.hls123.de:8080/streams/2r8ba88ujh6/index.m3u8$LR•IPV4•9『线路2』 -澳视澳门,http://php.jdshipin.com/TVOD/iptv.php?id=asam$LR•IPV4•9『线路3』 -澳视澳门,http://php.jdshipin.com/PLTV/iptv.php?id=asam$LR•IPV4•9『线路4』 -澳视澳门,http://1b6467f415.iok.la:9931/tsfile/live/1039_1.m3u8$LR•IPV4•9『线路5』 -澳视澳门,http://61.244.22.5/ch1/ch1.live/playelist.m3u8$LR•IPV4•9『线路6』 -澳视澳门,http://grandprix2023.asuscomm.com:8891/bysid/91.m3u8$LR•IPV4•9『线路7』 -澳视澳门,http://103.233.191.134:1935/ch1/ch1.live/playlist.m3u8$LR•IPV4•9『线路8』 -澳视澳门,http://43.251.226.89:8080/play/900.m3u8$LR•IPV4•9『线路9』 +澳视澳门,http://php.jdshipin.com/TVOD/iptv.php?id=asam$LR•IPV4•9『线路2』 +澳视澳门,http://php.jdshipin.com/PLTV/iptv.php?id=asam$LR•IPV4•9『线路3』 +澳视澳门,http://1b6467f415.iok.la:9931/tsfile/live/1039_1.m3u8$LR•IPV4•9『线路4』 +澳视澳门,http://61.244.22.5/ch1/ch1.live/playelist.m3u8$LR•IPV4•9『线路5』 +澳视澳门,http://grandprix2023.asuscomm.com:8891/bysid/91.m3u8$LR•IPV4•9『线路6』 +澳视澳门,http://103.233.191.134:1935/ch1/ch1.live/playlist.m3u8$LR•IPV4•9『线路7』 +澳视澳门,http://43.251.226.89:8080/play/900.m3u8$LR•IPV4•9『线路8』 +澳视澳门,http://push.cdn1.hls123.de:8080/streams/2r8ba88ujh6/index.m3u8$LR•IPV4•9『线路9』 TVB J1,p3p://167.114.175.6:55331/63efe0de000858baf2402a646c573e1b$LR•IPV4 千禧经典,http://cdn9.163189.xyz/smt3.1.1.php?id=Tvbclassic$LR•IPV4 MOMO TV,http://free.cnlive.club/channel/5fe8f622/index.m3u8?q=1752629214236$LR•IPV4 -HOY78,http://cdn.163189.xyz/live/hoy/stream.m3u8$LR•IPV4•2『线路1』 -HOY78,http://bziyunshao.synology.me:8891/bysid/78$LR•IPV4•2『线路2』 +HOY78,http://bziyunshao.synology.me:8891/bysid/78$LR•IPV4•2『线路1』 +HOY78,http://cdn.163189.xyz/live/hoy/stream.m3u8$LR•IPV4•2『线路2』 ASTRO AOD,http://php.jdshipin.com/TVOD/iptv.php?id=aod$LR•IPV4 ELEVEN体育3,https://smart.pendy.dpdns.org/Smart.php?id=eltasport3_twn$LR•IPV4 澳视卫星,https://cdn6.163189.xyz/163189/as$LR•IPV4•5『线路1』 -澳视卫星,http://push.cdn1.hls123.de:8080/streams/gese9d57376/index.m3u8$LR•IPV4•5『线路2』 -澳视卫星,http://php.jdshipin.com/TVOD/iptv.php?id=as$LR•IPV4•5『线路3』 -澳视卫星,http://103.233.191.134:1935/ch3/ch3.live/playlist.m3u8$LR•IPV4•5『线路4』 -澳视卫星,http://43.251.226.89:8080/play/901.m3u8$LR•IPV4•5『线路5』 +澳视卫星,http://php.jdshipin.com/TVOD/iptv.php?id=as$LR•IPV4•5『线路2』 +澳视卫星,http://103.233.191.134:1935/ch3/ch3.live/playlist.m3u8$LR•IPV4•5『线路3』 +澳视卫星,http://43.251.226.89:8080/play/901.m3u8$LR•IPV4•5『线路4』 +澳视卫星,http://push.cdn1.hls123.de:8080/streams/gese9d57376/index.m3u8$LR•IPV4•5『线路5』 八度空间,https://cdn6.163189.xyz/163189/8tv$LR•IPV4•2『线路1』 八度空间,http://43.251.226.89:8080/play/917.m3u8$LR•IPV4•2『线路2』 CH5,https://cdn6.163189.xyz/163189/ch5$LR•IPV4•2『线路1』 @@ -4809,8 +4783,8 @@ CHU,http://43.251.226.89:8080/play/914.m3u8$LR•IPV4•2『线路2』 NOW NEWS,https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/times-now-news/master.m3u8?ads.vf=yxbqJWPCXd4$LR•IPV4 澳门体育,http://cdn6.163189.xyz/163189/amty$LR•IPV4•2『线路1』 澳门体育,http://43.251.226.89:8080/play/902.m3u8$LR•IPV4•2『线路2』 -澳门综艺,http://cdn6.163189.xyz/163189/amzy$LR•IPV4•2『线路1』 -澳门综艺,http://43.251.226.89:8080/play/903.m3u8$LR•IPV4•2『线路2』 +澳门综艺,http://43.251.226.89:8080/play/903.m3u8$LR•IPV4•2『线路1』 +澳门综艺,http://cdn6.163189.xyz/163189/amzy$LR•IPV4•2『线路2』 NU2,https://raw.githubusercontent.com/ChiSheng9/iptv/master/TV14.m3u8$LR•IPV4 华视HD,https://raw.githubusercontent.com/ChiSheng9/iptv/master/TV12.m3u8$LR•IPV4 @@ -4818,20 +4792,20 @@ YouTube,#genre# 三立INEWS,p3p://167.114.175.6:55331/644f81c10003ba2367cad2610d3a2ab5$LR•IPV4•2『线路1』 三立INEWS,p3p://167.114.175.6:55331/643a6b71000a47fb156c2a403510409b$LR•IPV4•2『线路2』 ABC NEWS,https://d4ybyqrhce41r.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-xumo-linear-nbcu-hlsv3/master.m3u8?ads.channelId=99991626$LR•IPV4•15『线路1』 -ABC NEWS,https://stream1.freetv.fun/abc-news-australia-1.m3u8$LR•IPV4•15『线路2』 -ABC NEWS,https://stream1.freetv.fun/abc-news-australia-2.ctv$LR•IPV4•15『线路3』 -ABC NEWS,https://abc-news-dmd-streams-1.akamaized.net/out/v1/701126012d044971b3fa89406a440133/index.m3u8$LR•IPV4•15『线路4』 -ABC NEWS,https://pb-0n3n2ej0w8pl9.akamaized.net/ABCNewsLive_Disney.m3u8$LR•IPV4•15『线路5』 -ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023560/abcnewshudson1/master.m3u8$LR•IPV4•15『线路6』 -ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023561/abcnewshudson2/master.m3u8$LR•IPV4•15『线路7』 -ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023562/abcnewshudson3/master.m3u8$LR•IPV4•15『线路8』 -ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023563/abcnewshudson4/master.m3u8$LR•IPV4•15『线路9』 -ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023564/abcnewshudson5/master.m3u8$LR•IPV4•15『线路10』 -ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023565/abcnewshudson6/master.m3u8$LR•IPV4•15『线路11』 -ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023566/abcnewshudson7/master.m3u8$LR•IPV4•15『线路12』 -ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023567/abcnewshudson8/master.m3u8$LR•IPV4•15『线路13』 -ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023568/abcnewshudson9/master.m3u8$LR•IPV4•15『线路14』 -ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023569/abcnewshudson10/master.m3u8$LR•IPV4•15『线路15』 +ABC NEWS,https://abc-news-dmd-streams-1.akamaized.net/out/v1/701126012d044971b3fa89406a440133/index.m3u8$LR•IPV4•15『线路2』 +ABC NEWS,https://pb-0n3n2ej0w8pl9.akamaized.net/ABCNewsLive_Disney.m3u8$LR•IPV4•15『线路3』 +ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023560/abcnewshudson1/master.m3u8$LR•IPV4•15『线路4』 +ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023561/abcnewshudson2/master.m3u8$LR•IPV4•15『线路5』 +ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023562/abcnewshudson3/master.m3u8$LR•IPV4•15『线路6』 +ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023563/abcnewshudson4/master.m3u8$LR•IPV4•15『线路7』 +ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023564/abcnewshudson5/master.m3u8$LR•IPV4•15『线路8』 +ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023565/abcnewshudson6/master.m3u8$LR•IPV4•15『线路9』 +ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023566/abcnewshudson7/master.m3u8$LR•IPV4•15『线路10』 +ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023567/abcnewshudson8/master.m3u8$LR•IPV4•15『线路11』 +ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023568/abcnewshudson9/master.m3u8$LR•IPV4•15『线路12』 +ABC NEWS,https://abcnews-streams.akamaized.net/hls/live/2023569/abcnewshudson10/master.m3u8$LR•IPV4•15『线路13』 +ABC NEWS,https://stream1.freetv.fun/abc-news-australia-1.m3u8$LR•IPV4•15『线路14』 +ABC NEWS,https://stream1.freetv.fun/abc-news-australia-2.ctv$LR•IPV4•15『线路15』 大爱,https://pulltv3.wanfudaluye.com/live/tv3.m3u8$LR•IPV4 INDIA TODAY,https://d1rc86nwwc9fag.cloudfront.net/vglive-sk-293160/master.m3u8$LR•IPV4 NBC NEWS,https://livehub-voidnet.onrender.com/cluster/streamcore/us/NBC_REDIS.m3u8$LR•IPV4•3『线路1』 diff --git a/tvbox/lib/iptv_test.m3u b/tvbox/lib/iptv_test.m3u index f999012c..99e53996 100755 --- a/tvbox/lib/iptv_test.m3u +++ b/tvbox/lib/iptv_test.m3u @@ -1,12 +1,12 @@ #EXTM3U #EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" group-title="央视频道",CCTV-4K -https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4k_mbd.m3u8?auth_key=1783958400-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-806d2480e0495252f55416171c6e0333&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•4『线路1』 +http://198.204.240.250:82/live/cctv4k.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" group-title="央视频道",CCTV-4K -http://192.151.150.154/live/cctv4k.m3u8$LR•IPV4•4『线路2』 +https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4k_mbd.m3u8?auth_key=1783958400-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-806d2480e0495252f55416171c6e0333&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" group-title="央视频道",CCTV-4K -http://173.208.212.130:8181/720p/cctv4k.m3u8$LR•IPV4•4『线路3』 +http://192.151.150.154/live/cctv4k.m3u8$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" group-title="央视频道",CCTV-4K -http://198.204.240.250:82/live/cctv4k.m3u8$LR•IPV4•4『线路4』 +http://173.208.212.130:8181/720p/cctv4k.m3u8$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="象山综合" tvg-name="象山综合" group-title="浙江频道",象山综合 http://play-sh13.quklive.com/live/1702360350551252.m3u8?auth_key=2037107484-800189c57a5a44d3b823b60cf84f6756-0-a6f6828a62d5c167cff5e68735fa0d39$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="象山综合" tvg-name="象山综合" group-title="浙江频道",象山综合 @@ -14,27 +14,27 @@ http://l.cztvcloud.com/channels/lantian/SXxiangshan1/720p.m3u8$LR•IPV4•3『 #EXTINF:-1 tvg-id="象山综合" tvg-name="象山综合" group-title="浙江频道",象山综合 http://l.cztvcloud.com/channels/lantian/SXxiangshan1/720p.m3u8?zzhed$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="邵氏影院" tvg-name="邵氏影院" group-title="电影轮播",邵氏影院 -http://www.goodiptv.club/douyu/4246519$LR•IPV4•2『线路1』 +http://zzy789.xyz/douyu1.php?id=4246519$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="邵氏影院" tvg-name="邵氏影院" group-title="电影轮播",邵氏影院 -http://zzy789.xyz/douyu1.php?id=4246519$LR•IPV4•2『线路2』 +http://www.goodiptv.club/douyu/4246519$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="铜梁综合" tvg-name="铜梁综合" group-title="重庆频道",铜梁综合 http://183.64.174.171:40123/ch1.m3u8?zzhongqd$LR•IPV4 #EXTINF:-1 tvg-id="功夫" tvg-name="功夫" group-title="经典小品",功夫 -http://cdn.jdshipin.com:8880/huya.php?id=11352941$LR•IPV4•8『线路1』 +https://ukzy.ukubf4.com/20220407/j3bjFWpb/index.m3u8$LR•IPV4•8『线路1』 #EXTINF:-1 tvg-id="功夫" tvg-name="功夫" group-title="经典小品",功夫 -http://live.metshop.top/huya/11352941?cdn=alicdn$LR•IPV4•8『线路2』 +http://43.251.226.89:8080/play/878.m3u8$LR•IPV4•8『线路2』 #EXTINF:-1 tvg-id="功夫" tvg-name="功夫" group-title="经典小品",功夫 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5897056882324761054&livemode=1&stbId=yu&mode=1&$LR•IPV4•8『线路3』 +http://43.251.226.89:8080/play/899.m3u8$LR•IPV4•8『线路3』 #EXTINF:-1 tvg-id="功夫" tvg-name="功夫" group-title="经典小品",功夫 -https://ukzy.ukubf4.com/20220407/j3bjFWpb/index.m3u8$LR•IPV4•8『线路4』 +https://vip.ffzy-play2.com/20221124/1291_468b2efb/index.m3u8$LR•IPV4•8『线路4』 #EXTINF:-1 tvg-id="功夫" tvg-name="功夫" group-title="经典小品",功夫 -http://43.251.226.89:8080/play/878.m3u8$LR•IPV4•8『线路5』 +https://hls-gateway.vpstv.net/streams/476226.m3u8$LR•IPV4•8『线路5』 #EXTINF:-1 tvg-id="功夫" tvg-name="功夫" group-title="经典小品",功夫 -http://43.251.226.89:8080/play/899.m3u8$LR•IPV4•8『线路6』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5897056882324761054&livemode=1&stbId=yu&mode=1&$LR•IPV4•8『线路6』 #EXTINF:-1 tvg-id="功夫" tvg-name="功夫" group-title="经典小品",功夫 -https://vip.ffzy-play2.com/20221124/1291_468b2efb/index.m3u8$LR•IPV4•8『线路7』 +http://cdn.jdshipin.com:8880/huya.php?id=11352941$LR•IPV4•8『线路7』 #EXTINF:-1 tvg-id="功夫" tvg-name="功夫" group-title="经典小品",功夫 -https://hls-gateway.vpstv.net/streams/476226.m3u8$LR•IPV4•8『线路8』 +http://live.metshop.top/huya/11352941?cdn=alicdn$LR•IPV4•8『线路8』 #EXTINF:-1 tvg-id="小草" tvg-name="小草" group-title="经典小品",小草 https://i.uik.cc/view.php/0bb3de0276d838610d458fd3379b33a0.mp4$LR•IPV4 #EXTINF:-1 tvg-id="东方卫视4K" tvg-name="东方卫视4K" group-title="4K频道",东方卫视4K @@ -44,17 +44,17 @@ http://43.251.226.89:8080/play/926.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="湖南卫视4K" tvg-name="湖南卫视4K" group-title="4K频道",湖南卫视4K http://8.138.7.223/tv/api.php?id=hnws4k$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="湖南卫视4K" tvg-name="湖南卫视4K" group-title="4K频道",湖南卫视4K -http://hlsal-ldvt.qing.mgtv.com/nn_live/nn_x64/dWlwPTEyNy4wLjAuMSZ1aWQ9cWluZy1jbXMmbm5fdGltZXpvbmU9OCZjZG5leF9pZD1hbF9obHNfbGR2dCZ1dWlkPTliODY4NmU5ZTM2YzYwMmMmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNWSZGST.m3u8$LR•IPV4•4『线路2』 +http://43.251.226.89:8080/play/920.m3u8$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="湖南卫视4K" tvg-name="湖南卫视4K" group-title="4K频道",湖南卫视4K -http://43.251.226.89:8080/play/920.m3u8$LR•IPV4•4『线路3』 +http://43.251.226.89:8080/play/921.m3u8$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="湖南卫视4K" tvg-name="湖南卫视4K" group-title="4K频道",湖南卫视4K -http://43.251.226.89:8080/play/921.m3u8$LR•IPV4•4『线路4』 +http://hlsal-ldvt.qing.mgtv.com/nn_live/nn_x64/dWlwPTEyNy4wLjAuMSZ1aWQ9cWluZy1jbXMmbm5fdGltZXpvbmU9OCZjZG5leF9pZD1hbF9obHNfbGR2dCZ1dWlkPTliODY4NmU5ZTM2YzYwMmMmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNWSZGST.m3u8$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="浙江卫视4K" tvg-name="浙江卫视4K" group-title="4K频道",浙江卫视4K -https://play-qukan.cztv.com/live/1758879019692345.m3u8$LR•IPV4•3『线路1』 +http://43.251.226.89:8080/play/922.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="浙江卫视4K" tvg-name="浙江卫视4K" group-title="4K频道",浙江卫视4K -http://43.251.226.89:8080/play/922.m3u8$LR•IPV4•3『线路2』 +http://43.251.226.89:8080/play/923.m3u8$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="浙江卫视4K" tvg-name="浙江卫视4K" group-title="4K频道",浙江卫视4K -http://43.251.226.89:8080/play/923.m3u8$LR•IPV4•3『线路3』 +https://play-qukan.cztv.com/live/1758879019692345.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="江苏卫视4K" tvg-name="江苏卫视4K" group-title="4K频道",江苏卫视4K http://8.138.7.223/tv/jsws4k.php$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="江苏卫视4K" tvg-name="江苏卫视4K" group-title="4K频道",江苏卫视4K @@ -98,11 +98,11 @@ http://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=140110ae3d6c936a77f94 #EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" group-title="4K频道",CCTV4K真4K http://vip1.xinketongxun.fun:8082/tsfile/live/1026_1.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" group-title="央视高清",CCTV4K -http://www.520345.xyz:8188/rtp/239.69.1.111:10304?$LR•IPV4•3『线路1』 +http://101.43.145.141:12002/gaoma/cctv4k.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" group-title="央视高清",CCTV4K -http://home.amucn.net:8800/udp/239.49.0.82:8000$LR•IPV4•3『线路2』 +http://www.520345.xyz:8188/rtp/239.69.1.111:10304?$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="CCTV4K" tvg-name="CCTV4K" group-title="央视高清",CCTV4K -http://101.43.145.141:12002/gaoma/cctv4k.m3u8$LR•IPV4•3『线路3』 +http://home.amucn.net:8800/udp/239.49.0.82:8000$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="CCTV老故事" tvg-name="CCTV老故事" group-title="咪咕央视",CCTV老故事 http://60.10.139.113:8801/hls/74/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="NOW爆谷" tvg-name="NOW爆谷" group-title="BXTV频道",NOW爆谷 @@ -120,25 +120,25 @@ http://ebsonairios.ebs.co.kr/ebsutablet500k/tablet500k/playlist.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="七龙珠" tvg-name="七龙珠" group-title="动画频道",七龙珠 https://live.metshop.top/huya/11601966$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="七龙珠" tvg-name="七龙珠" group-title="动画频道",七龙珠 -https://live.ottiptv.cc/huya/11601966$LR•IPV4•3『线路2』 +http://103.193.151.146/huya.php?id=11601966$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="七龙珠" tvg-name="七龙珠" group-title="动画频道",七龙珠 -http://103.193.151.146/huya.php?id=11601966$LR•IPV4•3『线路3』 +https://live.ottiptv.cc/huya/11601966$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="哆啦A梦" tvg-name="哆啦A梦" group-title="动画频道",哆啦A梦 -https://live.ottiptv.cc/huya/11601963$LR•IPV4•2『线路1』 +http://103.193.151.146/huya.php?id=11601963$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="哆啦A梦" tvg-name="哆啦A梦" group-title="动画频道",哆啦A梦 -http://103.193.151.146/huya.php?id=11601963$LR•IPV4•2『线路2』 +https://live.ottiptv.cc/huya/11601963$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="蜡笔小新" tvg-name="蜡笔小新" group-title="动画频道",蜡笔小新 -https://live.ottiptv.cc/huya/11352970$LR•IPV4•2『线路1』 +http://103.193.151.146/huya.php?id=11352970$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="蜡笔小新" tvg-name="蜡笔小新" group-title="动画频道",蜡笔小新 -http://103.193.151.146/huya.php?id=11352970$LR•IPV4•2『线路2』 +https://live.ottiptv.cc/huya/11352970$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="喜羊羊与灰太狼" tvg-name="喜羊羊与灰太狼" group-title="动画频道",喜羊羊与灰太狼 -https://live.ottiptv.cc/huya/23865080$LR•IPV4•2『线路1』 +http://103.193.151.146/huya.php?id=23865080$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="喜羊羊与灰太狼" tvg-name="喜羊羊与灰太狼" group-title="动画频道",喜羊羊与灰太狼 -http://103.193.151.146/huya.php?id=23865080$LR•IPV4•2『线路2』 +https://live.ottiptv.cc/huya/23865080$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="精灵宝可梦" tvg-name="精灵宝可梦" group-title="动画频道",精灵宝可梦 -https://live.ottiptv.cc/huya/23749096$LR•IPV4•2『线路1』 +http://103.193.151.146/huya.php?id=23749096$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="精灵宝可梦" tvg-name="精灵宝可梦" group-title="动画频道",精灵宝可梦 -http://103.193.151.146/huya.php?id=23749096$LR•IPV4•2『线路2』 +https://live.ottiptv.cc/huya/23749096$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="名侦探柯南" tvg-name="名侦探柯南" group-title="动画频道",名侦探柯南 https://live.ottiptv.cc/huya/30080236$LR•IPV4 #EXTINF:-1 tvg-id="航海王" tvg-name="航海王" group-title="动画频道",航海王 @@ -154,9 +154,9 @@ http://zzy789.xyz/douyu1.php?id=747764$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="刀刀影院" tvg-name="刀刀影院" group-title="斗鱼影视",刀刀影院 http://huanqiuzhibo.cn/manifest/douyu.php?id=747764$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="华语影视" tvg-name="华语影视" group-title="斗鱼影视",华语影视 -http://www.goodiptv.club/douyu/3928$LR•IPV4•2『线路1』 +http://zzy789.xyz/douyu1.php?id=3928$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="华语影视" tvg-name="华语影视" group-title="斗鱼影视",华语影视 -http://zzy789.xyz/douyu1.php?id=3928$LR•IPV4•2『线路2』 +http://www.goodiptv.club/douyu/3928$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="斗鱼港剧" tvg-name="斗鱼港剧" group-title="斗鱼影视",斗鱼港剧 http://www.goodiptv.club/douyu/5061550$LR•IPV4 #EXTINF:-1 tvg-id="橙记港剧" tvg-name="橙记港剧" group-title="斗鱼影视",橙记港剧 @@ -164,9 +164,9 @@ http://www.goodiptv.club/douyu/4549169$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="橙记港剧" tvg-name="橙记港剧" group-title="斗鱼影视",橙记港剧 http://huanqiuzhibo.cn/manifest/douyu.php?id=4549169$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="经典剧集" tvg-name="经典剧集" group-title="斗鱼影视",经典剧集 -http://www.goodiptv.club/douyu/6863367$LR•IPV4•2『线路1』 +http://zzy789.xyz/douyu1.php?id=6863367$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="经典剧集" tvg-name="经典剧集" group-title="斗鱼影视",经典剧集 -http://zzy789.xyz/douyu1.php?id=6863367$LR•IPV4•2『线路2』 +http://www.goodiptv.club/douyu/6863367$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="热门港剧" tvg-name="热门港剧" group-title="斗鱼影视",热门港剧 http://www.goodiptv.club/douyu/5522351$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="热门港剧" tvg-name="热门港剧" group-title="斗鱼影视",热门港剧 @@ -244,9 +244,9 @@ https://live.ottiptv.cc/yy/1354926650$LR•IPV4 #EXTINF:-1 tvg-id="如懿传" tvg-name="如懿传" group-title="电视剧频道",如懿传 https://live.ottiptv.cc/huya/29465868$LR•IPV4 #EXTINF:-1 tvg-id="武林外传" tvg-name="武林外传" group-title="电视剧频道",武林外传 -https://lvbdcdncmn.inter.71edge.com/tslive/l1/c52_lb_553_300_t10/I67sb6wvoWaxfjPEdSuB8xyBShFln4Poub7LGIzPt5oGLcKaLXD21aR_t20nEIxJFmaf_i6EYQ77gA-gLJ3xOTtq6K7hpgCREwLfbuNMXruJdFta9-ai9bYk4cTMbhQgRh9SCkE3yt46X4E0qOVADDdga3TMRSLnFscFYr-_s4Sd2sgykmnFa4-hdgX9599FiW_RX5VYGH9B1jyj748_CAu4VgqqTDwxUx8w556tCWY7mlb1r84RWuip72e4H8-HkUuBUoFeD4aw9m1HOUfgwx7ixDqJUFOmq9F-LeKLTZ2Ap6fobRuaUiaSqHsCWvuy9XWe5KWBiZv6bUJ8oAuqkA/1a6758d872929c8d41a7629db52a831f7/c52_lb_553_300_t10.m3u8?key=0baa5db205ac0d29618a2e8d7964b7e4e&dis_t=1752408084&uuid=6f1d53dc-6873a014-459&qdpv=3&qd_bid=1&qd_sft=0&pv=0.1&cpt=0$LR•IPV4•2『线路1』 +http://live.nctv.top/DJlio/huya.php?id=21059598$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="武林外传" tvg-name="武林外传" group-title="电视剧频道",武林外传 -http://live.nctv.top/DJlio/huya.php?id=21059598$LR•IPV4•2『线路2』 +https://lvbdcdncmn.inter.71edge.com/tslive/l1/c52_lb_553_300_t10/I67sb6wvoWaxfjPEdSuB8xyBShFln4Poub7LGIzPt5oGLcKaLXD21aR_t20nEIxJFmaf_i6EYQ77gA-gLJ3xOTtq6K7hpgCREwLfbuNMXruJdFta9-ai9bYk4cTMbhQgRh9SCkE3yt46X4E0qOVADDdga3TMRSLnFscFYr-_s4Sd2sgykmnFa4-hdgX9599FiW_RX5VYGH9B1jyj748_CAu4VgqqTDwxUx8w556tCWY7mlb1r84RWuip72e4H8-HkUuBUoFeD4aw9m1HOUfgwx7ixDqJUFOmq9F-LeKLTZ2Ap6fobRuaUiaSqHsCWvuy9XWe5KWBiZv6bUJ8oAuqkA/1a6758d872929c8d41a7629db52a831f7/c52_lb_553_300_t10.m3u8?key=0baa5db205ac0d29618a2e8d7964b7e4e&dis_t=1752408084&uuid=6f1d53dc-6873a014-459&qdpv=3&qd_bid=1&qd_sft=0&pv=0.1&cpt=0$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="楚汉骄雄" tvg-name="楚汉骄雄" group-title="埋堆堆频道",楚汉骄雄 http://cdn.jdshipin.com:8880/huya.php?id=29465854$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="楚汉骄雄" tvg-name="楚汉骄雄" group-title="埋堆堆频道",楚汉骄雄 @@ -284,21 +284,21 @@ http://www.flyskyman.cn:4022/rtp/233.50.201.182:5140$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="杭州导视" tvg-name="杭州导视" group-title="☘️浙江频道",杭州导视 http://www.jeremyoto.com:82/rtp/233.50.201.182:5140$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="宁波TV1" tvg-name="宁波TV1" group-title="☘️浙江频道",宁波TV1 -http://www.flyskyman.cn:4022/rtp/233.50.201.168:5140$LR•IPV4•2『线路1』 +http://www.jeremyoto.com:82/rtp/233.50.201.168:5140$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="宁波TV1" tvg-name="宁波TV1" group-title="☘️浙江频道",宁波TV1 -http://www.jeremyoto.com:82/rtp/233.50.201.168:5140$LR•IPV4•2『线路2』 +http://www.flyskyman.cn:4022/rtp/233.50.201.168:5140$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="宁波TV2" tvg-name="宁波TV2" group-title="☘️浙江频道",宁波TV2 -http://www.jeremyoto.com:82/rtp/233.50.201.178:5140$LR•IPV4•2『线路1』 +http://www.flyskyman.cn:4022/rtp/233.50.201.178:5140$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="宁波TV2" tvg-name="宁波TV2" group-title="☘️浙江频道",宁波TV2 -http://www.flyskyman.cn:4022/rtp/233.50.201.178:5140$LR•IPV4•2『线路2』 +http://www.jeremyoto.com:82/rtp/233.50.201.178:5140$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="宁波TV3" tvg-name="宁波TV3" group-title="☘️浙江频道",宁波TV3 -http://www.jeremyoto.com:82/rtp/233.50.201.179:5140$LR•IPV4•2『线路1』 +http://www.flyskyman.cn:4022/rtp/233.50.201.179:5140$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="宁波TV3" tvg-name="宁波TV3" group-title="☘️浙江频道",宁波TV3 -http://www.flyskyman.cn:4022/rtp/233.50.201.179:5140$LR•IPV4•2『线路2』 +http://www.jeremyoto.com:82/rtp/233.50.201.179:5140$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="宁波TV4" tvg-name="宁波TV4" group-title="☘️浙江频道",宁波TV4 -http://www.jeremyoto.com:82/rtp/233.50.201.180:5140$LR•IPV4•2『线路1』 +http://www.flyskyman.cn:4022/rtp/233.50.201.180:5140$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="宁波TV4" tvg-name="宁波TV4" group-title="☘️浙江频道",宁波TV4 -http://www.flyskyman.cn:4022/rtp/233.50.201.180:5140$LR•IPV4•2『线路2』 +http://www.jeremyoto.com:82/rtp/233.50.201.180:5140$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="嘉兴公共" tvg-name="嘉兴公共" group-title="☘️浙江频道",嘉兴公共 http://play-sh13.quklive.com/live/1675149601192103.m3u8?auth_key=2028730429-9ab7f7f0267946e880ec46ce3d57ec9e-0-eb04d7f7e549054293604b04150cefa1$LR•IPV4 #EXTINF:-1 tvg-id="嘉兴文化影视" tvg-name="嘉兴文化影视" group-title="☘️浙江频道",嘉兴文化影视 @@ -314,43 +314,43 @@ http://pili-publish.yzxw.newaircloud.com/newaircloud-yzxw/yzxw_20190925090843.m3 #EXTINF:-1 tvg-id="海盐新闻" tvg-name="海盐新闻" group-title="☘️浙江频道",海盐新闻 http://lived.dmqhyadmin.com/ds/sd/live.m3u8?zzhed$LR•IPV4 #EXTINF:-1 tvg-id="浙江影视" tvg-name="浙江影视" group-title="☘️浙江频道",浙江影视 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0150&tk=b53028476470$LR•IPV4•2『线路1』 +https://ali-m-l.cztv.com/channels/lantian/channel005/1080p.m3u8?$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="浙江影视" tvg-name="浙江影视" group-title="☘️浙江频道",浙江影视 -https://ali-m-l.cztv.com/channels/lantian/channel005/1080p.m3u8?$LR•IPV4•2『线路2』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0150&tk=b53028476470$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="之江记录" tvg-name="之江记录" group-title="☘️浙江频道",之江记录 -https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8$LR•IPV4•2『线路1』 +http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8?$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="之江记录" tvg-name="之江记录" group-title="☘️浙江频道",之江记录 -http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8?$LR•IPV4•2『线路2』 +https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="钱江都市" tvg-name="钱江都市" group-title="☘️浙江频道",钱江都市 -http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8$LR•IPV4•5『线路1』 +https://stream1.freetv.fun/qian-jiang-du-shi-1.m3u8$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="钱江都市" tvg-name="钱江都市" group-title="☘️浙江频道",钱江都市 -https://stream1.freetv.fun/qian-jiang-du-shi-1.m3u8$LR•IPV4•5『线路2』 +http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8?zzhed$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="钱江都市" tvg-name="钱江都市" group-title="☘️浙江频道",钱江都市 -http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8?zzhed$LR•IPV4•5『线路3』 +https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8?$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="钱江都市" tvg-name="钱江都市" group-title="☘️浙江频道",钱江都市 -https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8?$LR•IPV4•5『线路4』 +https://stream1.freetv.fun/qian-jiang-du-shi-2.m3u8$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="钱江都市" tvg-name="钱江都市" group-title="☘️浙江频道",钱江都市 -https://stream1.freetv.fun/qian-jiang-du-shi-2.m3u8$LR•IPV4•5『线路5』 +http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="YMG未来" tvg-name="YMG未来" group-title="☘️浙江频道",YMG未来 http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8?$LR•IPV4 #EXTINF:-1 tvg-id="上虞文化" tvg-name="上虞文化" group-title="☘️浙江频道",上虞文化 -http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed$LR•IPV4•12『线路1』 +https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-4.ctv$LR•IPV4•12『线路1』 #EXTINF:-1 tvg-id="上虞文化" tvg-name="上虞文化" group-title="☘️浙江频道",上虞文化 -https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-4.ctv$LR•IPV4•12『线路2』 +http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed$LR•IPV4•12『线路2』 #EXTINF:-1 tvg-id="上虞文化" tvg-name="上虞文化" group-title="☘️浙江频道",上虞文化 -https://t.freetv.fun/live/shang-yu-wen-hua-ying-yuan.m3u8$LR•IPV4•12『线路3』 +http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8zzhed$LR•IPV4•12『线路3』 #EXTINF:-1 tvg-id="上虞文化" tvg-name="上虞文化" group-title="☘️浙江频道",上虞文化 -https://t.freetv.fun/live/shang-yu-wen-hua-ying-yuan-2.m3u8zzhed$LR•IPV4•12『线路4』 +https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-2.ctv$LR•IPV4•12『线路4』 #EXTINF:-1 tvg-id="上虞文化" tvg-name="上虞文化" group-title="☘️浙江频道",上虞文化 -https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-3.ctv$LR•IPV4•12『线路5』 +https://t.freetv.fun/live/shang-yu-wen-hua-ying-yuan.m3u8$LR•IPV4•12『线路5』 #EXTINF:-1 tvg-id="上虞文化" tvg-name="上虞文化" group-title="☘️浙江频道",上虞文化 -https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-2.ctv$LR•IPV4•12『线路6』 +http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8zzhed$LR•IPV4•12『线路6』 #EXTINF:-1 tvg-id="上虞文化" tvg-name="上虞文化" group-title="☘️浙江频道",上虞文化 -https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-1.m3u8$LR•IPV4•12『线路7』 +https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-3.ctv$LR•IPV4•12『线路7』 #EXTINF:-1 tvg-id="上虞文化" tvg-name="上虞文化" group-title="☘️浙江频道",上虞文化 -http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8zzhed$LR•IPV4•12『线路8』 +https://t.freetv.fun/live/shang-yu-wen-hua-ying-yuan-2.m3u8zzhed$LR•IPV4•12『线路8』 #EXTINF:-1 tvg-id="上虞文化" tvg-name="上虞文化" group-title="☘️浙江频道",上虞文化 -http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8zzhed$LR•IPV4•12『线路9』 +https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-1.m3u8$LR•IPV4•12『线路9』 #EXTINF:-1 tvg-id="上虞文化" tvg-name="上虞文化" group-title="☘️浙江频道",上虞文化 http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8$LR•IPV4•12『线路10』 #EXTINF:-1 tvg-id="上虞文化" tvg-name="上虞文化" group-title="☘️浙江频道",上虞文化 @@ -358,9 +358,9 @@ http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed?$LR•IPV4• #EXTINF:-1 tvg-id="上虞文化" tvg-name="上虞文化" group-title="☘️浙江频道",上虞文化 https://stream1.freetv.fun/shang-yu-wen-hua-1.m3u8$LR•IPV4•12『线路12』 #EXTINF:-1 tvg-id="上虞综合" tvg-name="上虞综合" group-title="☘️浙江频道",上虞综合 -http://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8?zzhed?$LR•IPV4•2『线路1』 +https://stream1.freetv.fun/shang-yu-zong-he-1.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="上虞综合" tvg-name="上虞综合" group-title="☘️浙江频道",上虞综合 -https://stream1.freetv.fun/shang-yu-zong-he-1.m3u8$LR•IPV4•2『线路2』 +http://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8?zzhed?$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="云和新闻" tvg-name="云和新闻" group-title="☘️浙江频道",云和新闻 http://l.cztvcloud.com/channels/lantian/SXyunhe1/720p.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="云和新闻" tvg-name="云和新闻" group-title="☘️浙江频道",云和新闻 @@ -372,71 +372,71 @@ http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8?zzhed?$LR•IPV4 #EXTINF:-1 tvg-id="余杭未来" tvg-name="余杭未来" group-title="☘️浙江频道",余杭未来 http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8?$LR•IPV4 #EXTINF:-1 tvg-id="兰溪新闻" tvg-name="兰溪新闻" group-title="☘️浙江频道",兰溪新闻 -http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8?zzhed$LR•IPV4•7『线路1』 +https://stream1.freetv.fun/lan-xi-xin-wen-zong-he-3.m3u8$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="兰溪新闻" tvg-name="兰溪新闻" group-title="☘️浙江频道",兰溪新闻 -https://stream1.freetv.fun/lan-xi-xin-wen-zong-he-3.m3u8$LR•IPV4•7『线路2』 +http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="兰溪新闻" tvg-name="兰溪新闻" group-title="☘️浙江频道",兰溪新闻 -https://t.freetv.fun/live/lan-xi-xin-wen-zong-he.m3u8$LR•IPV4•7『线路3』 +https://t.freetv.fun/live/lan-xi-xin-wen-zong-he-1.m3u8$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="兰溪新闻" tvg-name="兰溪新闻" group-title="☘️浙江频道",兰溪新闻 -http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8$LR•IPV4•7『线路4』 +https://stream1.freetv.fun/lan-xi-xin-wen-zong-he-1.m3u8$LR•IPV4•7『线路4』 #EXTINF:-1 tvg-id="兰溪新闻" tvg-name="兰溪新闻" group-title="☘️浙江频道",兰溪新闻 -https://t.freetv.fun/live/lan-xi-xin-wen-zong-he-1.m3u8$LR•IPV4•7『线路5』 +http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8?zzhed$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="兰溪新闻" tvg-name="兰溪新闻" group-title="☘️浙江频道",兰溪新闻 -https://stream1.freetv.fun/lan-xi-xin-wen-zong-he-1.m3u8$LR•IPV4•7『线路6』 +https://t.freetv.fun/live/lan-xi-xin-wen-zong-he.m3u8$LR•IPV4•7『线路6』 #EXTINF:-1 tvg-id="兰溪新闻" tvg-name="兰溪新闻" group-title="☘️浙江频道",兰溪新闻 http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8?zzhed?$LR•IPV4•7『线路7』 #EXTINF:-1 tvg-id="姚江文化" tvg-name="姚江文化" group-title="☘️浙江频道",姚江文化 https://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="姚江文化" tvg-name="姚江文化" group-title="☘️浙江频道",姚江文化 -http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8zzhed$LR•IPV4•5『线路2』 +https://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="姚江文化" tvg-name="姚江文化" group-title="☘️浙江频道",姚江文化 -https://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8$LR•IPV4•5『线路3』 +http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8?zzhed$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="姚江文化" tvg-name="姚江文化" group-title="☘️浙江频道",姚江文化 -http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8?zzhed$LR•IPV4•5『线路4』 +http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8zzhed$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="姚江文化" tvg-name="姚江文化" group-title="☘️浙江频道",姚江文化 http://l.cztvcloud.com/channels/lantian/SXqingtian1/720p.m3u8?$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="嵊州新闻" tvg-name="嵊州新闻" group-title="☘️浙江频道",嵊州新闻 -http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed#http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8$LR•IPV4•2『线路1』 +http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed?$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="嵊州新闻" tvg-name="嵊州新闻" group-title="☘️浙江频道",嵊州新闻 -http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed?$LR•IPV4•2『线路2』 +http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed#http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="平湖新闻" tvg-name="平湖新闻" group-title="☘️浙江频道",平湖新闻 -http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?zzhed$LR•IPV4•10『线路1』 +http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8$LR•IPV4•10『线路1』 #EXTINF:-1 tvg-id="平湖新闻" tvg-name="平湖新闻" group-title="☘️浙江频道",平湖新闻 -https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路2』 +https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-5.m3u8$LR•IPV4•10『线路2』 #EXTINF:-1 tvg-id="平湖新闻" tvg-name="平湖新闻" group-title="☘️浙江频道",平湖新闻 -https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-5.m3u8$LR•IPV4•10『线路3』 +https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路3』 #EXTINF:-1 tvg-id="平湖新闻" tvg-name="平湖新闻" group-title="☘️浙江频道",平湖新闻 -http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8$LR•IPV4•10『线路4』 +http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•10『线路4』 #EXTINF:-1 tvg-id="平湖新闻" tvg-name="平湖新闻" group-title="☘️浙江频道",平湖新闻 https://t.freetv.fun/live/ping-hu-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路5』 #EXTINF:-1 tvg-id="平湖新闻" tvg-name="平湖新闻" group-title="☘️浙江频道",平湖新闻 -http://play-sh13.quklive.com/live/1690167908295069.m3u8?auth_key=2027466211-f190eec410c24473825cbe1d8541e545-0-f21db57ae1b534802c1cf7be86cc3aef$LR•IPV4•10『线路6』 +https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路6』 #EXTINF:-1 tvg-id="平湖新闻" tvg-name="平湖新闻" group-title="☘️浙江频道",平湖新闻 -http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•10『线路7』 +http://play-sh13.quklive.com/live/1690167908295069.m3u8?auth_key=2027466211-f190eec410c24473825cbe1d8541e545-0-f21db57ae1b534802c1cf7be86cc3aef$LR•IPV4•10『线路7』 #EXTINF:-1 tvg-id="平湖新闻" tvg-name="平湖新闻" group-title="☘️浙江频道",平湖新闻 -https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路8』 +http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?zzhed$LR•IPV4•10『线路8』 #EXTINF:-1 tvg-id="平湖新闻" tvg-name="平湖新闻" group-title="☘️浙江频道",平湖新闻 https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-3.m3u8$LR•IPV4•10『线路9』 #EXTINF:-1 tvg-id="平湖新闻" tvg-name="平湖新闻" group-title="☘️浙江频道",平湖新闻 http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?zzhed?$LR•IPV4•10『线路10』 #EXTINF:-1 tvg-id="平湖民生" tvg-name="平湖民生" group-title="☘️浙江频道",平湖民生 -http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8$LR•IPV4•3『线路1』 +http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8?zzhed$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="平湖民生" tvg-name="平湖民生" group-title="☘️浙江频道",平湖民生 -http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8?zzhed$LR•IPV4•3『线路2』 +http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="平湖民生" tvg-name="平湖民生" group-title="☘️浙江频道",平湖民生 http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8?zzhed?$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="开化公园" tvg-name="开化公园" group-title="☘️浙江频道",开化公园 http://l.cztvcloud.com/channels/lantian/SXkaihua2/720p.m3u8?zzhed?$LR•IPV4 #EXTINF:-1 tvg-id="开化新闻" tvg-name="开化新闻" group-title="☘️浙江频道",开化新闻 -http://l.cztvcloud.com/channels/lantian/SXkaihua1/720p.m3u8?zzhed$LR•IPV4•5『线路1』 +https://stream1.freetv.fun/kai-hua-xin-wen-zong-he-2.ctv$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="开化新闻" tvg-name="开化新闻" group-title="☘️浙江频道",开化新闻 -https://stream1.freetv.fun/kai-hua-xin-wen-zong-he-1.m3u8$LR•IPV4•5『线路2』 +http://l.cztvcloud.com/channels/lantian/SXkaihua1/720p.m3u8?zzhed$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="开化新闻" tvg-name="开化新闻" group-title="☘️浙江频道",开化新闻 -https://stream1.freetv.fun/kai-hua-xin-wen-zong-he-2.ctv$LR•IPV4•5『线路3』 +https://stream1.freetv.fun/kai-hua-xin-wen-zong-he-1.m3u8$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="开化新闻" tvg-name="开化新闻" group-title="☘️浙江频道",开化新闻 -http://l.cztvcloud.com/channels/lantian/SXkaihua1/720p.m3u8$LR•IPV4•5『线路4』 +http://l.cztvcloud.com/channels/lantian/SXkaihua1/720p.m3u8?zzhed?$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="开化新闻" tvg-name="开化新闻" group-title="☘️浙江频道",开化新闻 -http://l.cztvcloud.com/channels/lantian/SXkaihua1/720p.m3u8?zzhed?$LR•IPV4•5『线路5』 +http://l.cztvcloud.com/channels/lantian/SXkaihua1/720p.m3u8$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="普陀新闻" tvg-name="普陀新闻" group-title="☘️浙江频道",普陀新闻 http://l.cztvcloud.com/channels/lantian/SXputuo1/720p.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="普陀新闻" tvg-name="普陀新闻" group-title="☘️浙江频道",普陀新闻 @@ -446,85 +446,85 @@ http://l.cztvcloud.com/channels/lantian/SXputuo1/720p.m3u8?zzhed$LR•IPV4•4 #EXTINF:-1 tvg-id="普陀新闻" tvg-name="普陀新闻" group-title="☘️浙江频道",普陀新闻 http://l.cztvcloud.com/channels/lantian/SXputuo1/720p.m3u8?zzhed?$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="绍兴文化" tvg-name="绍兴文化" group-title="☘️浙江频道",绍兴文化 -https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-3.m3u8$LR•IPV4•11『线路1』 +http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8?zzhed$LR•IPV4•11『线路1』 #EXTINF:-1 tvg-id="绍兴文化" tvg-name="绍兴文化" group-title="☘️浙江频道",绍兴文化 -http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8?zzhed$LR•IPV4•11『线路2』 +https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-1.m3u8$LR•IPV4•11『线路2』 #EXTINF:-1 tvg-id="绍兴文化" tvg-name="绍兴文化" group-title="☘️浙江频道",绍兴文化 -https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-4.m3u8$LR•IPV4•11『线路3』 +https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-3.m3u8$LR•IPV4•11『线路3』 #EXTINF:-1 tvg-id="绍兴文化" tvg-name="绍兴文化" group-title="☘️浙江频道",绍兴文化 -https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-1.m3u8$LR•IPV4•11『线路4』 +https://t.freetv.fun/live/shao-xing-wen-hua-ying-yuan-2.m3u8$LR•IPV4•11『线路4』 #EXTINF:-1 tvg-id="绍兴文化" tvg-name="绍兴文化" group-title="☘️浙江频道",绍兴文化 -https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-2.m3u8$LR•IPV4•11『线路5』 +https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-4.m3u8$LR•IPV4•11『线路5』 #EXTINF:-1 tvg-id="绍兴文化" tvg-name="绍兴文化" group-title="☘️浙江频道",绍兴文化 -https://t.freetv.fun/live/shao-xing-wen-hua-ying-yuan-2.m3u8$LR•IPV4•11『线路6』 +https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-2.m3u8$LR•IPV4•11『线路6』 #EXTINF:-1 tvg-id="绍兴文化" tvg-name="绍兴文化" group-title="☘️浙江频道",绍兴文化 http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8$LR•IPV4•11『线路7』 #EXTINF:-1 tvg-id="绍兴文化" tvg-name="绍兴文化" group-title="☘️浙江频道",绍兴文化 -https://stream1.freetv.fun/shao-xing-wen-hua-ying-shi-1.m3u8$LR•IPV4•11『线路8』 +https://t.freetv.fun/live/shao-xing-wen-hua-ying-shi-1.m3u8$LR•IPV4•11『线路8』 #EXTINF:-1 tvg-id="绍兴文化" tvg-name="绍兴文化" group-title="☘️浙江频道",绍兴文化 -https://t.freetv.fun/live/shao-xing-wen-hua-ying-shi-1.m3u8$LR•IPV4•11『线路9』 +https://stream1.freetv.fun/shao-xing-wen-hua-ying-shi-1.m3u8$LR•IPV4•11『线路9』 #EXTINF:-1 tvg-id="绍兴文化" tvg-name="绍兴文化" group-title="☘️浙江频道",绍兴文化 -http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8?zzhed?$LR•IPV4•11『线路10』 +https://stream1.freetv.fun/shao-xing-wen-hua-1.m3u8$LR•IPV4•11『线路10』 #EXTINF:-1 tvg-id="绍兴文化" tvg-name="绍兴文化" group-title="☘️浙江频道",绍兴文化 -https://stream1.freetv.fun/shao-xing-wen-hua-1.m3u8$LR•IPV4•11『线路11』 +http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8?zzhed?$LR•IPV4•11『线路11』 #EXTINF:-1 tvg-id="绍兴新闻" tvg-name="绍兴新闻" group-title="☘️浙江频道",绍兴新闻 -http://live.shaoxing.com.cn/video/s10001-sxhb/index.m3u8?zzhed$LR•IPV4•10『线路1』 +https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-3.m3u8$LR•IPV4•10『线路1』 #EXTINF:-1 tvg-id="绍兴新闻" tvg-name="绍兴新闻" group-title="☘️浙江频道",绍兴新闻 -https://t.freetv.fun/live/shao-xing-xin-wen-zong-he-3-1.m3u8$LR•IPV4•10『线路2』 +http://live.shaoxing.com.cn/video/s10001-sxhb/index.m3u8$LR•IPV4•10『线路2』 #EXTINF:-1 tvg-id="绍兴新闻" tvg-name="绍兴新闻" group-title="☘️浙江频道",绍兴新闻 -https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-4.m3u8$LR•IPV4•10『线路3』 +https://t.freetv.fun/live/shao-xing-xin-wen-zong-he-3-1.m3u8$LR•IPV4•10『线路3』 #EXTINF:-1 tvg-id="绍兴新闻" tvg-name="绍兴新闻" group-title="☘️浙江频道",绍兴新闻 -https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-3.m3u8$LR•IPV4•10『线路4』 +http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8?zzhed$LR•IPV4•10『线路4』 #EXTINF:-1 tvg-id="绍兴新闻" tvg-name="绍兴新闻" group-title="☘️浙江频道",绍兴新闻 -https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路5』 +http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8$LR•IPV4•10『线路5』 #EXTINF:-1 tvg-id="绍兴新闻" tvg-name="绍兴新闻" group-title="☘️浙江频道",绍兴新闻 -http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8$LR•IPV4•10『线路6』 +https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-4.m3u8$LR•IPV4•10『线路6』 #EXTINF:-1 tvg-id="绍兴新闻" tvg-name="绍兴新闻" group-title="☘️浙江频道",绍兴新闻 -http://live.shaoxing.com.cn/video/s10001-sxhb/index.m3u8$LR•IPV4•10『线路7』 +https://t.freetv.fun/live/shao-xing-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路7』 #EXTINF:-1 tvg-id="绍兴新闻" tvg-name="绍兴新闻" group-title="☘️浙江频道",绍兴新闻 -https://t.freetv.fun/live/shao-xing-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路8』 +https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路8』 #EXTINF:-1 tvg-id="绍兴新闻" tvg-name="绍兴新闻" group-title="☘️浙江频道",绍兴新闻 -http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8?zzhed$LR•IPV4•10『线路9』 +http://live.shaoxing.com.cn/video/s10001-sxhb/index.m3u8?zzhed$LR•IPV4•10『线路9』 #EXTINF:-1 tvg-id="绍兴新闻" tvg-name="绍兴新闻" group-title="☘️浙江频道",绍兴新闻 http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8?zzhed?$LR•IPV4•10『线路10』 #EXTINF:-1 tvg-id="苍南新闻" tvg-name="苍南新闻" group-title="☘️浙江频道",苍南新闻 -https://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8$LR•IPV4•11『线路1』 +https://t.freetv.fun/live/cang-nan-xin-wen-zong-he-1.m3u8$LR•IPV4•11『线路1』 #EXTINF:-1 tvg-id="苍南新闻" tvg-name="苍南新闻" group-title="☘️浙江频道",苍南新闻 -https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-7.m3u8$LR•IPV4•11『线路2』 +https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-3.m3u8$LR•IPV4•11『线路2』 #EXTINF:-1 tvg-id="苍南新闻" tvg-name="苍南新闻" group-title="☘️浙江频道",苍南新闻 -https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-4.ctv$LR•IPV4•11『线路3』 +https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-1.m3u8$LR•IPV4•11『线路3』 #EXTINF:-1 tvg-id="苍南新闻" tvg-name="苍南新闻" group-title="☘️浙江频道",苍南新闻 -https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-1.m3u8$LR•IPV4•11『线路4』 +https://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8$LR•IPV4•11『线路4』 #EXTINF:-1 tvg-id="苍南新闻" tvg-name="苍南新闻" group-title="☘️浙江频道",苍南新闻 -https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-5.m3u8$LR•IPV4•11『线路5』 +https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-7.m3u8$LR•IPV4•11『线路5』 #EXTINF:-1 tvg-id="苍南新闻" tvg-name="苍南新闻" group-title="☘️浙江频道",苍南新闻 -https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-2.m3u8$LR•IPV4•11『线路6』 +https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-4.ctv$LR•IPV4•11『线路6』 #EXTINF:-1 tvg-id="苍南新闻" tvg-name="苍南新闻" group-title="☘️浙江频道",苍南新闻 -https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-3.m3u8$LR•IPV4•11『线路7』 +http://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8?zzhed$LR•IPV4•11『线路7』 #EXTINF:-1 tvg-id="苍南新闻" tvg-name="苍南新闻" group-title="☘️浙江频道",苍南新闻 -http://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8?zzhed$LR•IPV4•11『线路8』 +https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-5.m3u8$LR•IPV4•11『线路8』 #EXTINF:-1 tvg-id="苍南新闻" tvg-name="苍南新闻" group-title="☘️浙江频道",苍南新闻 -https://t.freetv.fun/live/cang-nan-xin-wen-zong-he-1.m3u8$LR•IPV4•11『线路9』 +https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-2.m3u8$LR•IPV4•11『线路9』 #EXTINF:-1 tvg-id="苍南新闻" tvg-name="苍南新闻" group-title="☘️浙江频道",苍南新闻 http://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8?zzhed?$LR•IPV4•11『线路10』 #EXTINF:-1 tvg-id="苍南新闻" tvg-name="苍南新闻" group-title="☘️浙江频道",苍南新闻 http://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8$LR•IPV4•11『线路11』 #EXTINF:-1 tvg-id="衢江新闻" tvg-name="衢江新闻" group-title="☘️浙江频道",衢江新闻 -http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8?zzhed$LR•IPV4•8『线路1』 +https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-1.m3u8$LR•IPV4•8『线路1』 #EXTINF:-1 tvg-id="衢江新闻" tvg-name="衢江新闻" group-title="☘️浙江频道",衢江新闻 -https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-2.m3u8$LR•IPV4•8『线路2』 +https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-3.m3u8$LR•IPV4•8『线路2』 #EXTINF:-1 tvg-id="衢江新闻" tvg-name="衢江新闻" group-title="☘️浙江频道",衢江新闻 -https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-3.m3u8$LR•IPV4•8『线路3』 +https://t.freetv.fun/live/qu-jiang-xin-wen-zong-he.m3u8$LR•IPV4•8『线路3』 #EXTINF:-1 tvg-id="衢江新闻" tvg-name="衢江新闻" group-title="☘️浙江频道",衢江新闻 -https://t.freetv.fun/live/qu-jiang-xin-wen-zong-he.m3u8$LR•IPV4•8『线路4』 +https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-2.m3u8$LR•IPV4•8『线路4』 #EXTINF:-1 tvg-id="衢江新闻" tvg-name="衢江新闻" group-title="☘️浙江频道",衢江新闻 -https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-1.m3u8$LR•IPV4•8『线路5』 +https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-1.ctv$LR•IPV4•8『线路5』 #EXTINF:-1 tvg-id="衢江新闻" tvg-name="衢江新闻" group-title="☘️浙江频道",衢江新闻 -https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-1.ctv$LR•IPV4•8『线路6』 +http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8?zzhed$LR•IPV4•8『线路6』 #EXTINF:-1 tvg-id="衢江新闻" tvg-name="衢江新闻" group-title="☘️浙江频道",衢江新闻 -http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8$LR•IPV4•8『线路7』 +http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8?zzhed?$LR•IPV4•8『线路7』 #EXTINF:-1 tvg-id="衢江新闻" tvg-name="衢江新闻" group-title="☘️浙江频道",衢江新闻 -http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8?zzhed?$LR•IPV4•8『线路8』 +http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8$LR•IPV4•8『线路8』 #EXTINF:-1 tvg-id="诸暨新闻" tvg-name="诸暨新闻" group-title="☘️浙江频道",诸暨新闻 http://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8?zzhed$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="诸暨新闻" tvg-name="诸暨新闻" group-title="☘️浙江频道",诸暨新闻 @@ -534,9 +534,9 @@ http://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8$LR•IPV4•3『线 #EXTINF:-1 tvg-id="象山新闻" tvg-name="象山新闻" group-title="☘️浙江频道",象山新闻 http://l.cztvcloud.com/channels/lantian/SXxiangshan1/720p.m3u8?zzhed?$LR•IPV4 #EXTINF:-1 tvg-id="青田电视" tvg-name="青田电视" group-title="☘️浙江频道",青田电视 -http://l.cztvcloud.com/channels/lantian/SXqingtian1/720p.m3u8$LR•IPV4•3『线路1』 +http://l.cztvcloud.com/channels/lantian/SXqingtian1/720p.m3u8?zzhed$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="青田电视" tvg-name="青田电视" group-title="☘️浙江频道",青田电视 -http://l.cztvcloud.com/channels/lantian/SXqingtian1/720p.m3u8?zzhed$LR•IPV4•3『线路2』 +http://l.cztvcloud.com/channels/lantian/SXqingtian1/720p.m3u8$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="青田电视" tvg-name="青田电视" group-title="☘️浙江频道",青田电视 http://l.cztvcloud.com/channels/lantian/SXqingtian1/720p.m3u8?zzhed?$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="杭州余杭平安" tvg-name="杭州余杭平安" group-title="☘️浙江频道",杭州余杭平安 @@ -554,199 +554,201 @@ http://35813.hlsplay.aodianyun.com/tv_radio_35813/tv_channel_1287.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="娄底综合" tvg-name="娄底综合" group-title="☘️湖南频道",娄底综合 http://119.39.242.52:1935/live/zonghe/playlist.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="江门侨乡生活" tvg-name="江门侨乡生活" group-title="☘️广东频道",江门侨乡生活 -http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=jmqxsh$LR•IPV4•4『线路1』 +http://120.77.205.62:8087/rtp/239.77.0.196:5146$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="江门侨乡生活" tvg-name="江门侨乡生活" group-title="☘️广东频道",江门侨乡生活 http://125.89.163.44:8888/udp/239.77.0.202:5146$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="江门侨乡生活" tvg-name="江门侨乡生活" group-title="☘️广东频道",江门侨乡生活 -http://120.77.205.62:8087/rtp/239.77.0.196:5146$LR•IPV4•4『线路3』 +http://120.77.205.62:8087/rtp/239.77.0.202:5146$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="江门侨乡生活" tvg-name="江门侨乡生活" group-title="☘️广东频道",江门侨乡生活 -http://120.77.205.62:8087/rtp/239.77.0.202:5146$LR•IPV4•4『线路4』 +http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=jmqxsh$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="汕头文旅" tvg-name="汕头文旅" group-title="☘️广东频道",汕头文旅 http://120.77.205.62:8087/rtp/239.253.43.47:5146$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="汕头文旅" tvg-name="汕头文旅" group-title="☘️广东频道",汕头文旅 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5771&tk=a0c4f6cfaba3$LR•IPV4•5『线路2』 +http://125.89.163.44:8888/udp/239.77.1.132:5146$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="汕头文旅" tvg-name="汕头文旅" group-title="☘️广东频道",汕头文旅 -http://125.89.163.44:8888/udp/239.77.1.132:5146$LR•IPV4•5『线路3』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5771&tk=a0c4f6cfaba3$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="汕头文旅" tvg-name="汕头文旅" group-title="☘️广东频道",汕头文旅 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0590&tk=a0c4f6cfaba3$LR•IPV4•5『线路4』 +http://120.77.205.62:8087/rtp/239.253.43.44:5146$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="汕头文旅" tvg-name="汕头文旅" group-title="☘️广东频道",汕头文旅 -http://120.77.205.62:8087/rtp/239.253.43.44:5146$LR•IPV4•5『线路5』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0590&tk=a0c4f6cfaba3$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="汕尾文化生活" tvg-name="汕尾文化生活" group-title="☘️广东频道",汕尾文化生活 http://58.254.14.61:808/hls/131/index.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="汕尾文化生活" tvg-name="汕尾文化生活" group-title="☘️广东频道",汕尾文化生活 http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2032&tk=a0c4f6cfaba3$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="茂名综合" tvg-name="茂名综合" group-title="☘️广东频道",茂名综合 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9728&tk=a0c4f6cfaba3$LR•IPV4•5『线路1』 +http://120.77.205.62:8087/rtp/239.77.0.206:5146$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="茂名综合" tvg-name="茂名综合" group-title="☘️广东频道",茂名综合 -http://120.77.205.62:8087/rtp/239.77.0.204:5146$LR•IPV4•5『线路2』 +http://125.89.163.44:8888/udp/239.77.0.206:5146$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="茂名综合" tvg-name="茂名综合" group-title="☘️广东频道",茂名综合 -http://125.89.163.44:8888/udp/239.77.0.206:5146$LR•IPV4•5『线路3』 +https://hls-gateway.vpstv.net/streams/708982.m3u8$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="茂名综合" tvg-name="茂名综合" group-title="☘️广东频道",茂名综合 -http://120.77.205.62:8087/rtp/239.77.0.206:5146$LR•IPV4•5『线路4』 +http://120.77.205.62:8087/rtp/239.77.0.204:5146$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="茂名综合" tvg-name="茂名综合" group-title="☘️广东频道",茂名综合 -https://hls-gateway.vpstv.net/streams/708982.m3u8$LR•IPV4•5『线路5』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9728&tk=a0c4f6cfaba3$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="茂名公共" tvg-name="茂名公共" group-title="☘️广东频道",茂名公共 http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7418&tk=a0c4f6cfaba3$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="茂名公共" tvg-name="茂名公共" group-title="☘️广东频道",茂名公共 http://120.77.205.62:8087/rtp/239.77.0.205:5146$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="茂名公共" tvg-name="茂名公共" group-title="☘️广东频道",茂名公共 -http://125.89.163.44:8888/udp/239.77.0.207:5146$LR•IPV4•4『线路3』 +http://120.77.205.62:8087/rtp/239.77.0.207:5146$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="茂名公共" tvg-name="茂名公共" group-title="☘️广东频道",茂名公共 -http://120.77.205.62:8087/rtp/239.77.0.207:5146$LR•IPV4•4『线路4』 +http://125.89.163.44:8888/udp/239.77.0.207:5146$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="深圳东部" tvg-name="深圳东部" group-title="☘️广东频道",深圳东部 http://125.89.163.44:8888/udp/239.77.1.224:5146$LR•IPV4 #EXTINF:-1 tvg-id="深圳少儿" tvg-name="深圳少儿" group-title="☘️广东频道",深圳少儿 -https://stream1.freetv.fun/shen-zhen-shao-er-3.m3u8$LR•IPV4•12『线路1』 +http://125.89.163.44:8888/udp/239.77.1.244:5146$LR•IPV4•12『线路1』 #EXTINF:-1 tvg-id="深圳少儿" tvg-name="深圳少儿" group-title="☘️广东频道",深圳少儿 -http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=szse$LR•IPV4•12『线路2』 +https://stream1.freetv.fun/shen-zhen-shao-er-1.m3u8$LR•IPV4•12『线路2』 #EXTINF:-1 tvg-id="深圳少儿" tvg-name="深圳少儿" group-title="☘️广东频道",深圳少儿 https://stream1.freetv.fun/shen-zhen-shao-er-2.ctv$LR•IPV4•12『线路3』 #EXTINF:-1 tvg-id="深圳少儿" tvg-name="深圳少儿" group-title="☘️广东频道",深圳少儿 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4633&tk=a0c4f6cfaba3$LR•IPV4•12『线路4』 +http://gmxw.7766.org:808/hls/157/index.m3u8$LR•IPV4•12『线路4』 #EXTINF:-1 tvg-id="深圳少儿" tvg-name="深圳少儿" group-title="☘️广东频道",深圳少儿 -https://stream1.freetv.fun/shen-zhen-shao-er-3.ctv$LR•IPV4•12『线路5』 +https://stream1.freetv.fun/shen-zhen-shao-er-7.ctv$LR•IPV4•12『线路5』 #EXTINF:-1 tvg-id="深圳少儿" tvg-name="深圳少儿" group-title="☘️广东频道",深圳少儿 -http://125.89.163.44:8888/udp/239.77.1.244:5146$LR•IPV4•12『线路6』 +http://183.11.239.36:808/hls/157/index.m3u8$LR•IPV4•12『线路6』 #EXTINF:-1 tvg-id="深圳少儿" tvg-name="深圳少儿" group-title="☘️广东频道",深圳少儿 -http://183.11.239.36:808/hls/157/index.m3u8$LR•IPV4•12『线路7』 +https://stream1.freetv.fun/shen-zhen-shao-er-6.ctv$LR•IPV4•12『线路7』 #EXTINF:-1 tvg-id="深圳少儿" tvg-name="深圳少儿" group-title="☘️广东频道",深圳少儿 -https://stream1.freetv.fun/shen-zhen-shao-er-7.ctv$LR•IPV4•12『线路8』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4633&tk=a0c4f6cfaba3$LR•IPV4•12『线路8』 #EXTINF:-1 tvg-id="深圳少儿" tvg-name="深圳少儿" group-title="☘️广东频道",深圳少儿 -https://stream1.freetv.fun/shen-zhen-shao-er-1.m3u8$LR•IPV4•12『线路9』 +https://stream1.freetv.fun/shen-zhen-shao-er-3.m3u8$LR•IPV4•12『线路9』 #EXTINF:-1 tvg-id="深圳少儿" tvg-name="深圳少儿" group-title="☘️广东频道",深圳少儿 -http://gmxw.7766.org:808/hls/157/index.m3u8$LR•IPV4•12『线路10』 +http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=szse$LR•IPV4•12『线路10』 #EXTINF:-1 tvg-id="深圳少儿" tvg-name="深圳少儿" group-title="☘️广东频道",深圳少儿 -https://stream1.freetv.fun/shen-zhen-shao-er-6.ctv$LR•IPV4•12『线路11』 +https://stream1.freetv.fun/shen-zhen-shao-er-3.ctv$LR•IPV4•12『线路11』 #EXTINF:-1 tvg-id="深圳少儿" tvg-name="深圳少儿" group-title="☘️广东频道",深圳少儿 https://stream1.freetv.fun/shen-zhen-shao-er-5.ctv$LR•IPV4•12『线路12』 #EXTINF:-1 tvg-id="深圳移动电视" tvg-name="深圳移动电视" group-title="☘️广东频道",深圳移动电视 -http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=szyd$LR•IPV4•3『线路1』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2250&tk=a0c4f6cfaba3$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="深圳移动电视" tvg-name="深圳移动电视" group-title="☘️广东频道",深圳移动电视 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2250&tk=a0c4f6cfaba3$LR•IPV4•3『线路2』 +http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=szyd$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="深圳移动电视" tvg-name="深圳移动电视" group-title="☘️广东频道",深圳移动电视 http://125.89.163.44:8888/udp/239.77.1.175:5146$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="深圳财经生活" tvg-name="深圳财经生活" group-title="☘️广东频道",深圳财经生活 -http://gmxw.7766.org:808/hls/151/index.m3u8$LR•IPV4•6『线路1』 +https://stream1.freetv.fun/shen-zhen-cai-jing-sheng-huo-4.ctv$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="深圳财经生活" tvg-name="深圳财经生活" group-title="☘️广东频道",深圳财经生活 -http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=szcjsh$LR•IPV4•6『线路2』 +http://gmxw.7766.org:808/hls/151/index.m3u8$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="深圳财经生活" tvg-name="深圳财经生活" group-title="☘️广东频道",深圳财经生活 -http://116.77.239.26:44300/tsfile/live/1007_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•6『线路3』 +https://stream1.freetv.fun/shen-zhen-cai-jing-sheng-huo-1.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="深圳财经生活" tvg-name="深圳财经生活" group-title="☘️广东频道",深圳财经生活 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8853&tk=a0c4f6cfaba3$LR•IPV4•6『线路4』 +http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=szcjsh$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="深圳财经生活" tvg-name="深圳财经生活" group-title="☘️广东频道",深圳财经生活 -https://stream1.freetv.fun/shen-zhen-cai-jing-sheng-huo-4.ctv$LR•IPV4•6『线路5』 +http://116.77.239.26:44300/tsfile/live/1007_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="深圳财经生活" tvg-name="深圳财经生活" group-title="☘️广东频道",深圳财经生活 -https://stream1.freetv.fun/shen-zhen-cai-jing-sheng-huo-1.m3u8$LR•IPV4•6『线路6』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8853&tk=a0c4f6cfaba3$LR•IPV4•6『线路6』 +#EXTINF:-1 tvg-id="丰顺综合" tvg-name="丰顺综合" group-title="☘️广东频道",丰顺综合 +http://1b6467f415.iok.la:9931/tsfile/live/1100_1.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="云浮综合" tvg-name="云浮综合" group-title="☘️广东频道",云浮综合 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6868&tk=a0c4f6cfaba3$LR•IPV4•2『线路1』 +http://125.89.163.44:8888/udp/239.77.0.253:5146$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="云浮综合" tvg-name="云浮综合" group-title="☘️广东频道",云浮综合 -http://125.89.163.44:8888/udp/239.77.0.253:5146$LR•IPV4•2『线路2』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6868&tk=a0c4f6cfaba3$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-26.ctv$LR•IPV4•27『线路1』 +https://stream1.freetv.fun/fo-shan-gong-gong-19.ctv$LR•IPV4•27『线路1』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-1.ctv$LR•IPV4•27『线路2』 +https://stream1.freetv.fun/fo-shan-gong-gong-8.ctv$LR•IPV4•27『线路2』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/foshan.js?id=http://p.ytelc.com/169l/gd/foshan.php?id=foshangg$LR•IPV4•27『线路3』 +http://qjrhc.jydjd.top:2911/udp/224.1.100.134:11111$LR•IPV4•27『线路3』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-6.ctv$LR•IPV4•27『线路4』 +https://stream1.freetv.fun/fo-shan-gong-gong-9.ctv$LR•IPV4•27『线路4』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-17.ctv$LR•IPV4•27『线路5』 +http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/foshan.js?id=http://p.ytelc.com/169l/gd/foshan.php?id=foshangg$LR•IPV4•27『线路5』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-4.ctv$LR•IPV4•27『线路6』 +https://stream1.freetv.fun/fo-shan-gong-gong-25.ctv$LR•IPV4•27『线路6』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -http://8.137.59.151:3000/guangdong/foshan.php?id=fsgg$LR•IPV4•27『线路7』 +https://stream1.freetv.fun/fo-shan-gong-gong-4.ctv$LR•IPV4•27『线路7』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-15.ctv$LR•IPV4•27『线路8』 +https://stream1.freetv.fun/fo-shan-gong-gong-26.ctv$LR•IPV4•27『线路8』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-12.ctv$LR•IPV4•27『线路9』 +http://8.137.59.151:3000/guangdong/foshan.php?id=fsgg$LR•IPV4•27『线路9』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 https://stream1.freetv.fun/fo-shan-gong-gong-27.ctv$LR•IPV4•27『线路10』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-18.ctv$LR•IPV4•27『线路11』 +https://stream1.freetv.fun/fo-shan-gong-gong-2.ctv$LR•IPV4•27『线路11』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-2.ctv$LR•IPV4•27『线路12』 +https://stream1.freetv.fun/fo-shan-gong-gong-15.ctv$LR•IPV4•27『线路12』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -http://qjrhc.jydjd.top:2911/udp/224.1.100.134:11111$LR•IPV4•27『线路13』 +https://stream1.freetv.fun/fo-shan-gong-gong-18.ctv$LR•IPV4•27『线路13』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-21.ctv$LR•IPV4•27『线路14』 +https://stream1.freetv.fun/fo-shan-gong-gong-1.ctv$LR•IPV4•27『线路14』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-16.ctv$LR•IPV4•27『线路15』 +https://stream1.freetv.fun/fo-shan-gong-gong-21.ctv$LR•IPV4•27『线路15』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -http://125.89.163.44:8888/udp/239.253.43.53:5146$LR•IPV4•27『线路16』 +https://stream1.freetv.fun/fo-shan-gong-gong-12.ctv$LR•IPV4•27『线路16』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-22.ctv$LR•IPV4•27『线路17』 +https://stream1.freetv.fun/fo-shan-gong-gong-11.ctv$LR•IPV4•27『线路17』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-9.ctv$LR•IPV4•27『线路18』 +https://stream1.freetv.fun/fo-shan-gong-gong-22.ctv$LR•IPV4•27『线路18』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-25.ctv$LR•IPV4•27『线路19』 +https://stream1.freetv.fun/fo-shan-gong-gong-13.ctv$LR•IPV4•27『线路19』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-19.ctv$LR•IPV4•27『线路20』 +https://stream1.freetv.fun/fo-shan-gong-gong-3.ctv$LR•IPV4•27『线路20』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-5.ctv$LR•IPV4•27『线路21』 +https://stream1.freetv.fun/fo-shan-gong-gong-10.ctv$LR•IPV4•27『线路21』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-13.ctv$LR•IPV4•27『线路22』 +https://stream1.freetv.fun/fo-shan-gong-gong-16.ctv$LR•IPV4•27『线路22』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-8.ctv$LR•IPV4•27『线路23』 +https://stream1.freetv.fun/fo-shan-gong-gong-17.ctv$LR•IPV4•27『线路23』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-10.ctv$LR•IPV4•27『线路24』 +http://125.89.163.44:8888/udp/239.253.43.53:5146$LR•IPV4•27『线路24』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4358&tk=a0c4f6cfaba3$LR•IPV4•27『线路25』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-3.ctv$LR•IPV4•27『线路26』 +https://stream1.freetv.fun/fo-shan-gong-gong-6.ctv$LR•IPV4•27『线路26』 #EXTINF:-1 tvg-id="佛山公共" tvg-name="佛山公共" group-title="☘️广东频道",佛山公共 -https://stream1.freetv.fun/fo-shan-gong-gong-11.ctv$LR•IPV4•27『线路27』 +https://stream1.freetv.fun/fo-shan-gong-gong-5.ctv$LR•IPV4•27『线路27』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-22.ctv$LR•IPV4•26『线路1』 +https://stream1.freetv.fun/fo-shan-ying-shi-15.ctv$LR•IPV4•26『线路1』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 https://stream1.freetv.fun/fo-shan-ying-shi-21.ctv$LR•IPV4•26『线路2』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-13.ctv$LR•IPV4•26『线路3』 +http://8.137.59.151:3000/guangdong/foshan.php?id=fsys$LR•IPV4•26『线路3』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -http://125.89.163.44:8888/udp/239.253.43.56:5146$LR•IPV4•26『线路4』 +https://stream1.freetv.fun/fo-shan-ying-shi-17.ctv$LR•IPV4•26『线路4』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-11.ctv$LR•IPV4•26『线路5』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5642&tk=a0c4f6cfaba3$LR•IPV4•26『线路5』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-5.ctv$LR•IPV4•26『线路6』 +https://stream1.freetv.fun/fo-shan-ying-shi-19.ctv$LR•IPV4•26『线路6』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-4.ctv$LR•IPV4•26『线路7』 +https://stream1.freetv.fun/fo-shan-ying-shi-20.ctv$LR•IPV4•26『线路7』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -http://8.137.59.151:3000/guangdong/foshan.php?id=fsys$LR•IPV4•26『线路8』 +https://stream1.freetv.fun/fo-shan-ying-shi-14.ctv$LR•IPV4•26『线路8』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-20.ctv$LR•IPV4•26『线路9』 +http://125.89.163.44:8888/udp/239.253.43.56:5146$LR•IPV4•26『线路9』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-7.ctv$LR•IPV4•26『线路10』 +https://stream1.freetv.fun/fo-shan-ying-shi-1.ctv$LR•IPV4•26『线路10』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-8.ctv$LR•IPV4•26『线路11』 +https://stream1.freetv.fun/fo-shan-ying-shi-4.ctv$LR•IPV4•26『线路11』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-17.ctv$LR•IPV4•26『线路12』 +https://stream1.freetv.fun/fo-shan-ying-shi-11.ctv$LR•IPV4•26『线路12』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-15.ctv$LR•IPV4•26『线路13』 +https://stream1.freetv.fun/fo-shan-ying-shi-22.ctv$LR•IPV4•26『线路13』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-3.ctv$LR•IPV4•26『线路14』 +https://stream1.freetv.fun/fo-shan-ying-shi-10.ctv$LR•IPV4•26『线路14』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-16.ctv$LR•IPV4•26『线路15』 +https://stream1.freetv.fun/fo-shan-ying-shi-6.ctv$LR•IPV4•26『线路15』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-14.ctv$LR•IPV4•26『线路16』 +https://stream1.freetv.fun/fo-shan-ying-shi-3.ctv$LR•IPV4•26『线路16』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-9.ctv$LR•IPV4•26『线路17』 +https://stream1.freetv.fun/fo-shan-ying-shi-13.ctv$LR•IPV4•26『线路17』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-19.ctv$LR•IPV4•26『线路18』 +http://180.143.83.48:8181/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路18』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/foshan.js?id=http://p.ytelc.com/169l/gd/foshan.php?id=foshanys$LR•IPV4•26『线路19』 +https://stream1.freetv.fun/fo-shan-ying-shi-7.ctv$LR•IPV4•26『线路19』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-10.ctv$LR•IPV4•26『线路20』 +https://stream1.freetv.fun/fo-shan-ying-shi-16.ctv$LR•IPV4•26『线路20』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-2.ctv$LR•IPV4•26『线路21』 +http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/foshan.js?id=http://p.ytelc.com/169l/gd/foshan.php?id=foshanys$LR•IPV4•26『线路21』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -http://180.143.83.48:8181/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路22』 +https://stream1.freetv.fun/fo-shan-ying-shi-9.ctv$LR•IPV4•26『线路22』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5642&tk=a0c4f6cfaba3$LR•IPV4•26『线路23』 +https://stream1.freetv.fun/fo-shan-ying-shi-5.ctv$LR•IPV4•26『线路23』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-1.ctv$LR•IPV4•26『线路24』 +https://stream1.freetv.fun/fo-shan-ying-shi-12.ctv$LR•IPV4•26『线路24』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-12.ctv$LR•IPV4•26『线路25』 +https://stream1.freetv.fun/fo-shan-ying-shi-8.ctv$LR•IPV4•26『线路25』 #EXTINF:-1 tvg-id="佛山影视" tvg-name="佛山影视" group-title="☘️广东频道",佛山影视 -https://stream1.freetv.fun/fo-shan-ying-shi-6.ctv$LR•IPV4•26『线路26』 +https://stream1.freetv.fun/fo-shan-ying-shi-2.ctv$LR•IPV4•26『线路26』 #EXTINF:-1 tvg-id="象视界" tvg-name="象视界" group-title="☘️河南频道",象视界 http://1.94.31.214/php/hntv.php?id=xsj$LR•IPV4 #EXTINF:-1 tvg-id="邯郸新闻" tvg-name="邯郸新闻" group-title="☘️河北频道",邯郸新闻 @@ -764,31 +766,31 @@ http://hbqjdb.chinashadt.com:2035/live/3.stream/playlist.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="荆门科教文旅" tvg-name="荆门科教文旅" group-title="☘️湖北频道",荆门科教文旅 http://stream.jmtv.com.cn/ggsh/sd/live.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="荆门新闻" tvg-name="荆门新闻" group-title="☘️湖北频道",荆门新闻 -http://stream.jmtv.com.cn/xwzh/sd/live.m3u8$LR•IPV4•14『线路1』 +https://stream.jmtv.com.cn/xwzh/playlist.m3u8?_upt=3e28e7271664278691$LR•IPV4•14『线路1』 #EXTINF:-1 tvg-id="荆门新闻" tvg-name="荆门新闻" group-title="☘️湖北频道",荆门新闻 -https://stream1.freetv.fun/jing-men-xin-wen-zong-he-2.m3u8$LR•IPV4•14『线路2』 +http://stream.jmtv.com.cn/xwzh/sd/live.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•14『线路2』 #EXTINF:-1 tvg-id="荆门新闻" tvg-name="荆门新闻" group-title="☘️湖北频道",荆门新闻 -https://t.freetv.fun/live/jing-men-xin-wen-zong-he-1-1.m3u8$LR•IPV4•14『线路3』 +http://stream.jmtv.com.cn/xwzh/sd/live.m3u8$LR•IPV4•14『线路3』 #EXTINF:-1 tvg-id="荆门新闻" tvg-name="荆门新闻" group-title="☘️湖北频道",荆门新闻 -https://stream1.freetv.fun/jing-men-xin-wen-zong-he-3.m3u8$LR•IPV4•14『线路4』 +https://t.freetv.fun/live/jing-men-xin-wen-zong-he-5.m3u8$LR•IPV4•14『线路4』 #EXTINF:-1 tvg-id="荆门新闻" tvg-name="荆门新闻" group-title="☘️湖北频道",荆门新闻 -https://t.freetv.fun/live/jing-men-xin-wen-zong-he-5.m3u8$LR•IPV4•14『线路5』 +https://t.freetv.fun/live/jing-men-xin-wen-zong-he.m3u8$LR•IPV4•14『线路5』 #EXTINF:-1 tvg-id="荆门新闻" tvg-name="荆门新闻" group-title="☘️湖北频道",荆门新闻 -https://stream1.freetv.fun/jing-men-xin-wen-zong-he-6.m3u8$LR•IPV4•14『线路6』 +https://stream1.freetv.fun/jing-men-xin-wen-zong-he-2.m3u8$LR•IPV4•14『线路6』 #EXTINF:-1 tvg-id="荆门新闻" tvg-name="荆门新闻" group-title="☘️湖北频道",荆门新闻 -https://t.freetv.fun/live/jing-men-xin-wen-zong-he.m3u8$LR•IPV4•14『线路7』 +https://stream1.freetv.fun/jing-men-xin-wen-zong-he-6.m3u8$LR•IPV4•14『线路7』 #EXTINF:-1 tvg-id="荆门新闻" tvg-name="荆门新闻" group-title="☘️湖北频道",荆门新闻 -https://stream.jmtv.com.cn/xwzh/playlist.m3u8?_upt=3e28e7271664278691$LR•IPV4•14『线路8』 +https://stream1.freetv.fun/jing-men-xin-wen-zong-he-4.m3u8$LR•IPV4•14『线路8』 #EXTINF:-1 tvg-id="荆门新闻" tvg-name="荆门新闻" group-title="☘️湖北频道",荆门新闻 -https://stream1.freetv.fun/jing-men-xin-wen-zong-he-1.m3u8$LR•IPV4•14『线路9』 +http://stream.jmtv.com.cn/xwzh/sd/live.m3u8?zhubd$LR•IPV4•14『线路9』 #EXTINF:-1 tvg-id="荆门新闻" tvg-name="荆门新闻" group-title="☘️湖北频道",荆门新闻 -http://stream.jmtv.com.cn/xwzh/sd/live.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•14『线路10』 +https://stream1.freetv.fun/jing-men-xin-wen-zong-he-3.m3u8$LR•IPV4•14『线路10』 #EXTINF:-1 tvg-id="荆门新闻" tvg-name="荆门新闻" group-title="☘️湖北频道",荆门新闻 -https://stream1.freetv.fun/jing-men-xin-wen-zong-he-4.m3u8$LR•IPV4•14『线路11』 +https://stream1.freetv.fun/jing-men-xin-wen-zong-he-1.m3u8$LR•IPV4•14『线路11』 #EXTINF:-1 tvg-id="荆门新闻" tvg-name="荆门新闻" group-title="☘️湖北频道",荆门新闻 -http://stream.jmtv.com.cn/xwzh/sd/live.m3u8?zhubd$LR•IPV4•14『线路12』 +https://t.freetv.fun/live/jing-men-xin-wen-zong-he-2.m3u8$LR•IPV4•14『线路12』 #EXTINF:-1 tvg-id="荆门新闻" tvg-name="荆门新闻" group-title="☘️湖北频道",荆门新闻 -https://t.freetv.fun/live/jing-men-xin-wen-zong-he-2.m3u8$LR•IPV4•14『线路13』 +https://t.freetv.fun/live/jing-men-xin-wen-zong-he-1-1.m3u8$LR•IPV4•14『线路13』 #EXTINF:-1 tvg-id="荆门新闻" tvg-name="荆门新闻" group-title="☘️湖北频道",荆门新闻 https://stream1.freetv.fun/jing-men-xin-wen-zong-he-5.m3u8$LR•IPV4•14『线路14』 #EXTINF:-1 tvg-id="1987年春晚" tvg-name="1987年春晚" group-title="春晚频道",1987年春晚 @@ -860,11 +862,11 @@ p3p://167.114.175.6:55331/65bf5e010005226704b84f4f048a4148$LR•IPV4•2『线 #EXTINF:-1 tvg-id="八大戏剧" tvg-name="八大戏剧" group-title="港澳台",八大戏剧 http://61.221.215.25:8800/hls/39/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="澳门莲花" tvg-name="澳门莲花" group-title="港澳台",澳门莲花 -http://push.cdn1.hls123.de:8080/streams/8nsrl4s4evv/index.m3u8$LR•IPV4•3『线路1』 +http://1033946631.cloudvdn.com/a.m3u8?domain=live-hdl.macaulotustv.com&player=1&streamid=lotustv:lotustv/macaulotustv&v3=1$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="澳门莲花" tvg-name="澳门莲花" group-title="港澳台",澳门莲花 -http://1033946631.cloudvdn.com/a.m3u8?domain=live-hdl.macaulotustv.com&player=1&streamid=lotustv:lotustv/macaulotustv&v3=1$LR•IPV4•3『线路2』 +http://43.251.226.89:8080/play/904.m3u8$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="澳门莲花" tvg-name="澳门莲花" group-title="港澳台",澳门莲花 -http://43.251.226.89:8080/play/904.m3u8$LR•IPV4•3『线路3』 +http://push.cdn1.hls123.de:8080/streams/8nsrl4s4evv/index.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="香港卫视" tvg-name="香港卫视" group-title="港澳台",香港卫视 http://webcast.hkstv.tv/livestream/mutfysrq/playlist.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="香港卫视" tvg-name="香港卫视" group-title="港澳台",香港卫视 @@ -872,99 +874,99 @@ https://hkstv.tv/api/m3u8-proxy?url=http%3A%2F%2Fwebcast.hkstv.tv%2Flivestream%2 #EXTINF:-1 tvg-id="凤凰卫视中文台" tvg-name="凤凰卫视中文台" group-title="港澳台",凤凰卫视中文台 http://api.mg.itv888.cn:8080/hls/2f80047f91e/index.m3u8$LR•IPV4•16『线路1』 #EXTINF:-1 tvg-id="凤凰卫视中文台" tvg-name="凤凰卫视中文台" group-title="港澳台",凤凰卫视中文台 -http://218.206.193.218:8888/hls/66/index.m3u8$LR•IPV4•16『线路2』 +http://223.110.245.139/ott.js.chinamobile.com/PLTV/3/224/3221226922/index.m3u8$LR•IPV4•16『线路2』 #EXTINF:-1 tvg-id="凤凰卫视中文台" tvg-name="凤凰卫视中文台" group-title="港澳台",凤凰卫视中文台 -http://r.jdshipin.com/cCCzW$LR•IPV4•16『线路3』 +http://218.206.193.218:8888/hls/66/index.m3u8$LR•IPV4•16『线路3』 #EXTINF:-1 tvg-id="凤凰卫视中文台" tvg-name="凤凰卫视中文台" group-title="港澳台",凤凰卫视中文台 -http://cdn6.163189.xyz/163189/fhzw$LR•IPV4•16『线路4』 +https://k44991.kylintv.tv/live/pxna_iphone.m3u8$LR•IPV4•16『线路4』 #EXTINF:-1 tvg-id="凤凰卫视中文台" tvg-name="凤凰卫视中文台" group-title="港澳台",凤凰卫视中文台 -http://push.cdn1.hls123.de:8080/streams/a4y2t99pzyi/index.m3u8$LR•IPV4•16『线路5』 +http://tianhewan.top/ZIPP.php?url=http://211.72.65.236:8577/.m3u8$LR•IPV4•16『线路5』 #EXTINF:-1 tvg-id="凤凰卫视中文台" tvg-name="凤凰卫视中文台" group-title="港澳台",凤凰卫视中文台 -https://flv-play.clouda.com/live/fhzw-6zSJoUiicyU3ovDlMvflVRLQlVCMRCARnyJ0NPlfcs3eWJNeJSDRMAz4VgeQV3Diy6.flv$LR•IPV4•16『线路6』 +http://146.56.153.245:20121/bysid/258$LR•IPV4•16『线路6』 #EXTINF:-1 tvg-id="凤凰卫视中文台" tvg-name="凤凰卫视中文台" group-title="港澳台",凤凰卫视中文台 -https://k44991.kylintv.tv/live/pxna_iphone.m3u8$LR•IPV4•16『线路7』 +http://e1.woc.iiiya.cn:8888/rtp/239.61.2.184:9092$LR•IPV4•16『线路7』 #EXTINF:-1 tvg-id="凤凰卫视中文台" tvg-name="凤凰卫视中文台" group-title="港澳台",凤凰卫视中文台 -http://tianhewan.top/ZIPP.php?url=http://211.72.65.236:8577/.m3u8$LR•IPV4•16『线路8』 +http://php.jdshipin.com/TVOD/iptv.php?id=fhzw$LR•IPV4•16『线路8』 #EXTINF:-1 tvg-id="凤凰卫视中文台" tvg-name="凤凰卫视中文台" group-title="港澳台",凤凰卫视中文台 -http://146.56.153.245:20121/bysid/258$LR•IPV4•16『线路9』 +http://122.117.71.103:8574/http/61.222.53.250:8078/hls/21/80/phoenixch.m3u8$LR•IPV4•16『线路9』 #EXTINF:-1 tvg-id="凤凰卫视中文台" tvg-name="凤凰卫视中文台" group-title="港澳台",凤凰卫视中文台 -http://e1.woc.iiiya.cn:8888/rtp/239.61.2.184:9092$LR•IPV4•16『线路10』 +http://148.135.93.213:81/phenix.php?id=fhzw$LR•IPV4•16『线路10』 #EXTINF:-1 tvg-id="凤凰卫视中文台" tvg-name="凤凰卫视中文台" group-title="港澳台",凤凰卫视中文台 -http://php.jdshipin.com/TVOD/iptv.php?id=fhzw$LR•IPV4•16『线路11』 +http://211.75.171.121:8577/http/61.67.128.137:8078/hls/21/80/phoenixch.m3u8$LR•IPV4•16『线路11』 #EXTINF:-1 tvg-id="凤凰卫视中文台" tvg-name="凤凰卫视中文台" group-title="港澳台",凤凰卫视中文台 -http://122.117.71.103:8574/http/61.222.53.250:8078/hls/21/80/phoenixch.m3u8$LR•IPV4•16『线路12』 +http://43.251.226.89:8080/play/888.m3u8$LR•IPV4•16『线路12』 #EXTINF:-1 tvg-id="凤凰卫视中文台" tvg-name="凤凰卫视中文台" group-title="港澳台",凤凰卫视中文台 -http://148.135.93.213:81/phenix.php?id=fhzw$LR•IPV4•16『线路13』 +http://push.cdn1.hls123.de:8080/streams/a4y2t99pzyi/index.m3u8$LR•IPV4•16『线路13』 #EXTINF:-1 tvg-id="凤凰卫视中文台" tvg-name="凤凰卫视中文台" group-title="港澳台",凤凰卫视中文台 -http://211.75.171.121:8577/http/61.67.128.137:8078/hls/21/80/phoenixch.m3u8$LR•IPV4•16『线路14』 +https://flv-play.clouda.com/live/fhzw-6zSJoUiicyU3ovDlMvflVRLQlVCMRCARnyJ0NPlfcs3eWJNeJSDRMAz4VgeQV3Diy6.flv$LR•IPV4•16『线路14』 #EXTINF:-1 tvg-id="凤凰卫视中文台" tvg-name="凤凰卫视中文台" group-title="港澳台",凤凰卫视中文台 -http://43.251.226.89:8080/play/888.m3u8$LR•IPV4•16『线路15』 +http://r.jdshipin.com/cCCzW$LR•IPV4•16『线路15』 #EXTINF:-1 tvg-id="凤凰卫视中文台" tvg-name="凤凰卫视中文台" group-title="港澳台",凤凰卫视中文台 -http://223.110.245.139/ott.js.chinamobile.com/PLTV/3/224/3221226922/index.m3u8$LR•IPV4•16『线路16』 +http://cdn6.163189.xyz/163189/fhzw$LR•IPV4•16『线路16』 #EXTINF:-1 tvg-id="凤凰卫视资讯台" tvg-name="凤凰卫视资讯台" group-title="港澳台",凤凰卫视资讯台 http://api.mg.itv888.cn:8080/hls/11ef1dc70d8/index.m3u8$LR•IPV4•16『线路1』 #EXTINF:-1 tvg-id="凤凰卫视资讯台" tvg-name="凤凰卫视资讯台" group-title="港澳台",凤凰卫视资讯台 -http://221.7.175.154:8445/tsfile/live/1021_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路2』 +http://223.110.245.167/ott.js.chinamobile.com/PLTV/3/224/3221226923/index.m3u8$LR•IPV4•16『线路2』 #EXTINF:-1 tvg-id="凤凰卫视资讯台" tvg-name="凤凰卫视资讯台" group-title="港澳台",凤凰卫视资讯台 -http://r.jdshipin.com/0Rp07$LR•IPV4•16『线路3』 +http://221.7.175.154:8445/tsfile/live/1021_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路3』 #EXTINF:-1 tvg-id="凤凰卫视资讯台" tvg-name="凤凰卫视资讯台" group-title="港澳台",凤凰卫视资讯台 http://php.jdshipin.com/TVOD/iptv.php?id=fhzx$LR•IPV4•16『线路4』 #EXTINF:-1 tvg-id="凤凰卫视资讯台" tvg-name="凤凰卫视资讯台" group-title="港澳台",凤凰卫视资讯台 -http://cdn6.163189.xyz/163189/fhzx$LR•IPV4•16『线路5』 +http://122.117.71.103:8573/http/61.222.53.250:8078/hls/20/80/phoenixif.m3u8$LR•IPV4•16『线路5』 #EXTINF:-1 tvg-id="凤凰卫视资讯台" tvg-name="凤凰卫视资讯台" group-title="港澳台",凤凰卫视资讯台 -http://push.cdn1.hls123.de:8080/streams/0u0qd5ovqkg/index.m3u8$LR•IPV4•16『线路6』 +http://e1.woc.iiiya.cn:8888/rtp/239.61.2.183:9086$LR•IPV4•16『线路6』 #EXTINF:-1 tvg-id="凤凰卫视资讯台" tvg-name="凤凰卫视资讯台" group-title="港澳台",凤凰卫视资讯台 -https://flv-play.clouda.com/live/fhzx-gCDIOsNFJ7DX5OI8hsebeQNHPm66LAMZgmIcGYcfIIEzXWKCVG2cQgbZdRq2aUVqJR.flv$LR•IPV4•16『线路7』 +http://146.56.153.245:20121/bysid/257$LR•IPV4•16『线路7』 #EXTINF:-1 tvg-id="凤凰卫视资讯台" tvg-name="凤凰卫视资讯台" group-title="港澳台",凤凰卫视资讯台 -http://122.117.71.103:8573/http/61.222.53.250:8078/hls/20/80/phoenixif.m3u8$LR•IPV4•16『线路8』 +http://tianhewan.top/ZIPP.php?url=http://211.72.65.236:8576/.m3u8$LR•IPV4•16『线路8』 #EXTINF:-1 tvg-id="凤凰卫视资讯台" tvg-name="凤凰卫视资讯台" group-title="港澳台",凤凰卫视资讯台 -http://e1.woc.iiiya.cn:8888/rtp/239.61.2.183:9086$LR•IPV4•16『线路9』 +http://148.135.93.213:81/phenix.php?id=fhzx$LR•IPV4•16『线路9』 #EXTINF:-1 tvg-id="凤凰卫视资讯台" tvg-name="凤凰卫视资讯台" group-title="港澳台",凤凰卫视资讯台 -http://146.56.153.245:20121/bysid/257$LR•IPV4•16『线路10』 +http://211.75.171.121:8576/http/61.67.128.137:8078/hls/20/80/phoenixif.m3u8$LR•IPV4•16『线路10』 #EXTINF:-1 tvg-id="凤凰卫视资讯台" tvg-name="凤凰卫视资讯台" group-title="港澳台",凤凰卫视资讯台 -http://tianhewan.top/ZIPP.php?url=http://211.72.65.236:8576/.m3u8$LR•IPV4•16『线路11』 +http://43.251.226.89:8080/play/889.m3u8$LR•IPV4•16『线路11』 #EXTINF:-1 tvg-id="凤凰卫视资讯台" tvg-name="凤凰卫视资讯台" group-title="港澳台",凤凰卫视资讯台 -http://148.135.93.213:81/phenix.php?id=fhzx$LR•IPV4•16『线路12』 +p3p://167.114.175.6:55331/5fffbf860003807cedf4e1016c3c3ed2$LR•IPV4•16『线路12』 #EXTINF:-1 tvg-id="凤凰卫视资讯台" tvg-name="凤凰卫视资讯台" group-title="港澳台",凤凰卫视资讯台 -http://211.75.171.121:8576/http/61.67.128.137:8078/hls/20/80/phoenixif.m3u8$LR•IPV4•16『线路13』 +http://push.cdn1.hls123.de:8080/streams/0u0qd5ovqkg/index.m3u8$LR•IPV4•16『线路13』 #EXTINF:-1 tvg-id="凤凰卫视资讯台" tvg-name="凤凰卫视资讯台" group-title="港澳台",凤凰卫视资讯台 -http://43.251.226.89:8080/play/889.m3u8$LR•IPV4•16『线路14』 +https://flv-play.clouda.com/live/fhzx-gCDIOsNFJ7DX5OI8hsebeQNHPm66LAMZgmIcGYcfIIEzXWKCVG2cQgbZdRq2aUVqJR.flv$LR•IPV4•16『线路14』 #EXTINF:-1 tvg-id="凤凰卫视资讯台" tvg-name="凤凰卫视资讯台" group-title="港澳台",凤凰卫视资讯台 -p3p://167.114.175.6:55331/5fffbf860003807cedf4e1016c3c3ed2$LR•IPV4•16『线路15』 +http://r.jdshipin.com/0Rp07$LR•IPV4•16『线路15』 #EXTINF:-1 tvg-id="凤凰卫视资讯台" tvg-name="凤凰卫视资讯台" group-title="港澳台",凤凰卫视资讯台 -http://223.110.245.167/ott.js.chinamobile.com/PLTV/3/224/3221226923/index.m3u8$LR•IPV4•16『线路16』 +http://cdn6.163189.xyz/163189/fhzx$LR•IPV4•16『线路16』 #EXTINF:-1 tvg-id="凤凰卫视香港台" tvg-name="凤凰卫视香港台" group-title="港澳台",凤凰卫视香港台 -http://122.152.202.33/s/81a8a44f/index.m3u8?id=fhhk$LR•IPV4•12『线路1』 +http://223.110.245.136/PLTV/3/224/3221226975/index.m3u8$LR•IPV4•12『线路1』 #EXTINF:-1 tvg-id="凤凰卫视香港台" tvg-name="凤凰卫视香港台" group-title="港澳台",凤凰卫视香港台 -https://epg.pw/stream/5f16dc7fc8aaaed3205516c63e4a8c24bca9dbba1181684244729cf574505b0e.m3u8$LR•IPV4•12『线路2』 +http://122.152.202.33/s/81a8a44f/index.m3u8?id=fhhk$LR•IPV4•12『线路2』 #EXTINF:-1 tvg-id="凤凰卫视香港台" tvg-name="凤凰卫视香港台" group-title="港澳台",凤凰卫视香港台 -https://epg.pw/stream/8770e89223a086eb1b8a0c931e42296d772a8069ad3eb72540e0c434e7cb3e93.m3u8$LR•IPV4•12『线路3』 +https://epg.pw/stream/5f16dc7fc8aaaed3205516c63e4a8c24bca9dbba1181684244729cf574505b0e.m3u8$LR•IPV4•12『线路3』 #EXTINF:-1 tvg-id="凤凰卫视香港台" tvg-name="凤凰卫视香港台" group-title="港澳台",凤凰卫视香港台 -http://r.jdshipin.com/yDoTN$LR•IPV4•12『线路4』 +https://epg.pw/stream/8770e89223a086eb1b8a0c931e42296d772a8069ad3eb72540e0c434e7cb3e93.m3u8$LR•IPV4•12『线路4』 #EXTINF:-1 tvg-id="凤凰卫视香港台" tvg-name="凤凰卫视香港台" group-title="港澳台",凤凰卫视香港台 -http://php.jdshipin.com/TVOD/iptv.php?id=fhhk$LR•IPV4•12『线路5』 +http://148.135.93.213:81/phenix.php?id=fhhk$LR•IPV4•12『线路5』 #EXTINF:-1 tvg-id="凤凰卫视香港台" tvg-name="凤凰卫视香港台" group-title="港澳台",凤凰卫视香港台 -http://cdn6.163189.xyz/163189/fhhk$LR•IPV4•12『线路6』 +http://43.251.226.89:8080/play/890.m3u8$LR•IPV4•12『线路6』 #EXTINF:-1 tvg-id="凤凰卫视香港台" tvg-name="凤凰卫视香港台" group-title="港澳台",凤凰卫视香港台 -http://push.cdn1.hls123.de:8080/streams/898y722sqjr/index.m3u8$LR•IPV4•12『线路7』 +p3p://167.114.175.6:55331/5fe0b82c000cac9774c17f262e43314d$LR•IPV4•12『线路7』 #EXTINF:-1 tvg-id="凤凰卫视香港台" tvg-name="凤凰卫视香港台" group-title="港澳台",凤凰卫视香港台 -https://flv-play.clouda.com/live/fhxg-s6ZqbJPCkU54D3ojHvlJm4el9wbnzF1VJ6J0oPumsZIfuPtYq1enmIhy43vWcUaaPf4U2xRRWNGOXX5BiusMXxxQ.flv$LR•IPV4•12『线路8』 +http://push.cdn1.hls123.de:8080/streams/898y722sqjr/index.m3u8$LR•IPV4•12『线路8』 #EXTINF:-1 tvg-id="凤凰卫视香港台" tvg-name="凤凰卫视香港台" group-title="港澳台",凤凰卫视香港台 -http://148.135.93.213:81/phenix.php?id=fhhk$LR•IPV4•12『线路9』 +https://flv-play.clouda.com/live/fhxg-s6ZqbJPCkU54D3ojHvlJm4el9wbnzF1VJ6J0oPumsZIfuPtYq1enmIhy43vWcUaaPf4U2xRRWNGOXX5BiusMXxxQ.flv$LR•IPV4•12『线路9』 #EXTINF:-1 tvg-id="凤凰卫视香港台" tvg-name="凤凰卫视香港台" group-title="港澳台",凤凰卫视香港台 -http://43.251.226.89:8080/play/890.m3u8$LR•IPV4•12『线路10』 +http://r.jdshipin.com/yDoTN$LR•IPV4•12『线路10』 #EXTINF:-1 tvg-id="凤凰卫视香港台" tvg-name="凤凰卫视香港台" group-title="港澳台",凤凰卫视香港台 -p3p://167.114.175.6:55331/5fe0b82c000cac9774c17f262e43314d$LR•IPV4•12『线路11』 +http://php.jdshipin.com/TVOD/iptv.php?id=fhhk$LR•IPV4•12『线路11』 #EXTINF:-1 tvg-id="凤凰卫视香港台" tvg-name="凤凰卫视香港台" group-title="港澳台",凤凰卫视香港台 -http://223.110.245.136/PLTV/3/224/3221226975/index.m3u8$LR•IPV4•12『线路12』 +http://cdn6.163189.xyz/163189/fhhk$LR•IPV4•12『线路12』 #EXTINF:-1 tvg-id="台视新闻" tvg-name="台视新闻" group-title="港澳台",台视新闻 -http://38.64.72.148/hls/modn/list/4013/chunklist1.m3u8$LR•IPV4•4『线路1』 +http://38.64.72.148:80/hls/modn/list/4013/chunklist0.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="台视新闻" tvg-name="台视新闻" group-title="港澳台",台视新闻 -http://38.64.72.148:80/hls/modn/list/4013/chunklist0.m3u8$LR•IPV4•4『线路2』 +http://38.64.72.148:80/hls/modn/list/4013/chunklist1.m3u8$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="台视新闻" tvg-name="台视新闻" group-title="港澳台",台视新闻 -http://38.64.72.148:80/hls/modn/list/4013/chunklist1.m3u8$LR•IPV4•4『线路3』 +http://38.64.72.148/hls/modn/list/4013/chunklist0.m3u8$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="台视新闻" tvg-name="台视新闻" group-title="港澳台",台视新闻 -http://38.64.72.148/hls/modn/list/4013/chunklist0.m3u8$LR•IPV4•4『线路4』 +http://38.64.72.148/hls/modn/list/4013/chunklist1.m3u8$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="万州综合" tvg-name="万州综合" group-title="☘️重庆频道",万州综合 http://123.146.162.24:8013/tslslive/noEX9SG/hls/live_sd.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="荣昌综合" tvg-name="荣昌综合" group-title="☘️重庆频道",荣昌综合 @@ -972,7 +974,7 @@ http://183.64.181.25:40023/rongchang01.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="来宾综合" tvg-name="来宾综合" group-title="☘️广西频道",来宾综合 http://zb.gxlbamc.com:1935/live/lbzh.stream/playlist.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226954/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eaf3wyULP1h575eM_4ByMDg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路1』 +http://39.134.115.163:8080/PLTV/88888910/224/3221225698/index.m3u8$LR•IPV4•28『线路1』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 http://112.123.243.37:50085/tsfile/live/0128_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•28『线路2』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 @@ -988,45 +990,45 @@ http://36.136.38.87:9901/tsfile/live/0135_1.m3u8?key=txiptv&playlive=1&authid=0$ #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 http://153.0.171.163:9901/tsfile/live/0135_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路8』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://112.27.235.94:8000/hls/42/index.m3u8$LR•IPV4•28『线路9』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226954/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eaf3wyULP1h575eM_4ByMDg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路9』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://60.10.139.113:8801/hls/23/index.m3u8$LR•IPV4•28『线路10』 +http://112.27.235.94:8000/hls/42/index.m3u8$LR•IPV4•28『线路10』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://207.56.13.146:81/cdnlive/tjws.m3u8$LR•IPV4•28『线路11』 +http://23.237.228.134/live8/tianjing.m3u8$LR•IPV4•28『线路11』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://173.208.212.130:8181/720p/tjws.m3u8$LR•IPV4•28『线路12』 +http://gfr.x3322.net:9901/tsfile/live/1090_1.m3u8$LR•IPV4•28『线路12』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://204.12.221.218:8181/3m1080p/tjws.m3u8$LR•IPV4•28『线路13』 +http://api.kkitv.itv888.cn:8080/hls/z2lkdkrb4w/index.m3u8$LR•IPV4•28『线路13』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000001000030788&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路14』 +https://iptv.catvod.com/catvod.php?id=tjws$LR•IPV4•28『线路14』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006827&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路15』 +https://httop.top/ysp-天津卫视$LR•IPV4•28『线路15』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000000831&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路16』 +http://iptv.huuc.edu.cn/hls/tjhd.m3u8$LR•IPV4•28『线路16』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000003475&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路17』 +http://60.10.139.113:8801/hls/23/index.m3u8$LR•IPV4•28『线路17』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265026&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路18』 +http://207.56.13.146:81/cdnlive/tjws.m3u8$LR•IPV4•28『线路18』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6707942579111517572&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路19』 +http://173.208.212.130:8181/720p/tjws.m3u8$LR•IPV4•28『线路19』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://111.29.9.38:6610/000000001000/5000000004000006827/index.m3u8?channel-id=bestzb&Contentid=5000000004000006827&livemode=1&stbId=3$LR•IPV4•28『线路20』 +http://204.12.221.218:8181/3m1080p/tjws.m3u8$LR•IPV4•28『线路20』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://111.29.9.33:6610/000000001000/1000000001000000831/index.m3u8?channel-id=bestzb&Contentid=1000000001000000831&livemode=1&stbId=3$LR•IPV4•28『线路21』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000001000030788&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路21』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://23.237.228.134/live8/tianjing.m3u8$LR•IPV4•28『线路22』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006827&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路22』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://gfr.x3322.net:9901/tsfile/live/1090_1.m3u8$LR•IPV4•28『线路23』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000000831&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路23』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://api.kkitv.itv888.cn:8080/hls/z2lkdkrb4w/index.m3u8$LR•IPV4•28『线路24』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000003475&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路24』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -https://iptv.catvod.com/catvod.php?id=tjws$LR•IPV4•28『线路25』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265026&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路25』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -https://httop.top/ysp-天津卫视$LR•IPV4•28『线路26』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6707942579111517572&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路26』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://iptv.huuc.edu.cn/hls/tjhd.m3u8$LR•IPV4•28『线路27』 +http://111.29.9.38:6610/000000001000/5000000004000006827/index.m3u8?channel-id=bestzb&Contentid=5000000004000006827&livemode=1&stbId=3$LR•IPV4•28『线路27』 #EXTINF:-1 tvg-id="天津" tvg-name="天津" group-title="☘️天津频道",天津 -http://39.134.115.163:8080/PLTV/88888910/224/3221225698/index.m3u8$LR•IPV4•28『线路28』 +http://111.29.9.33:6610/000000001000/1000000001000000831/index.m3u8?channel-id=bestzb&Contentid=1000000001000000831&livemode=1&stbId=3$LR•IPV4•28『线路28』 #EXTINF:-1 tvg-id="西峰综合" tvg-name="西峰综合" group-title="☘️甘肃频道",西峰综合 https://play.kankanlive.com/live/1683944827526991.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="渭源新闻" tvg-name="渭源新闻" group-title="☘️甘肃频道",渭源新闻 @@ -1046,13 +1048,13 @@ http://sdqz.chinashadt.com:2036/live/stream:1.stream/playlist.m3u8?shandd$LR•I #EXTINF:-1 tvg-id="青岛城阳" tvg-name="青岛城阳" group-title="☘️山东频道",青岛城阳 http://pili-live-rtmp.56.i2863.com/i2863-56/live_56_307317.m3u8?shandd$LR•IPV4 #EXTINF:-1 tvg-id="济宁公共" tvg-name="济宁公共" group-title="☘️山东频道",济宁公共 -http://lives.jnnews.tv/video/s10001-JNTV3/index.m3u8?shandd$LR•IPV4•4『线路1』 +http://111.14.181.15:9901/tsfile/live/1009_1.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="济宁公共" tvg-name="济宁公共" group-title="☘️山东频道",济宁公共 http://lives.jnnews.tv/video/s10001-JNTV3/index.m3u8$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="济宁公共" tvg-name="济宁公共" group-title="☘️山东频道",济宁公共 http://111.14.181.15:9901/tsfile/live/1009_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="济宁公共" tvg-name="济宁公共" group-title="☘️山东频道",济宁公共 -http://111.14.181.15:9901/tsfile/live/1009_1.m3u8$LR•IPV4•4『线路4』 +http://lives.jnnews.tv/video/s10001-JNTV3/index.m3u8?shandd$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="济宁图文" tvg-name="济宁图文" group-title="☘️山东频道",济宁图文 http://lives.jnnews.tv/video/s10001-JNTV4/index.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="济宁图文" tvg-name="济宁图文" group-title="☘️山东频道",济宁图文 @@ -1062,31 +1064,31 @@ http://lives.jnnews.tv/video/s10001-JNTV-2/index.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="济宁教育" tvg-name="济宁教育" group-title="☘️山东频道",济宁教育 http://lives.jnnews.tv/video/s10001-JNTV-2/index.m3u8?shandd$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="济宁综合" tvg-name="济宁综合" group-title="☘️山东频道",济宁综合 -http://lives.jnnews.tv/video/s10001-JNTV-1/index.m3u8?shandd$LR•IPV4•3『线路1』 +http://111.14.181.15:9901/tsfile/live/1007_1.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="济宁综合" tvg-name="济宁综合" group-title="☘️山东频道",济宁综合 -http://111.14.181.15:9901/tsfile/live/1007_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•3『线路2』 +http://lives.jnnews.tv/video/s10001-JNTV-1/index.m3u8?shandd$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="济宁综合" tvg-name="济宁综合" group-title="☘️山东频道",济宁综合 -http://111.14.181.15:9901/tsfile/live/1007_1.m3u8$LR•IPV4•3『线路3』 +http://111.14.181.15:9901/tsfile/live/1007_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="中华美食" tvg-name="中华美食" group-title="☘️山东频道",中华美食 -http://61.133.118.228:5001/yy/1354930954$LR•IPV4•4『线路1』 +http://nas.hssvm.com:8888/udp/225.1.1.218:5002$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="中华美食" tvg-name="中华美食" group-title="☘️山东频道",中华美食 http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2264&tk=23a9aca1f79f$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="中华美食" tvg-name="中华美食" group-title="☘️山东频道",中华美食 http://qjrhc.jydjd.top:2911/udp/224.1.100.138:11111$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="中华美食" tvg-name="中华美食" group-title="☘️山东频道",中华美食 -http://nas.hssvm.com:8888/udp/225.1.1.218:5002$LR•IPV4•4『线路4』 +http://61.133.118.228:5001/yy/1354930954$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="枣庄公共" tvg-name="枣庄公共" group-title="☘️山东频道",枣庄公共 http://stream.zztvzd.com/3/sd/live.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="枣庄公共" tvg-name="枣庄公共" group-title="☘️山东频道",枣庄公共 -http://stream.zztvzd.com/3/sd/live.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•3『线路2』 +http://stream.zztvzd.com/3/sd/live.m3u8?shandd$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="枣庄公共" tvg-name="枣庄公共" group-title="☘️山东频道",枣庄公共 -http://stream.zztvzd.com/3/sd/live.m3u8?shandd$LR•IPV4•3『线路3』 +http://stream.zztvzd.com/3/sd/live.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="枣庄教育" tvg-name="枣庄教育" group-title="☘️山东频道",枣庄教育 -http://stream.zztvzd.com/2/sd/live.m3u8?shandd$LR•IPV4•3『线路1』 +http://stream.zztvzd.com/2/sd/live.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="枣庄教育" tvg-name="枣庄教育" group-title="☘️山东频道",枣庄教育 http://stream.zztvzd.com/2/sd/live.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="枣庄教育" tvg-name="枣庄教育" group-title="☘️山东频道",枣庄教育 -http://stream.zztvzd.com/2/sd/live.m3u8$LR•IPV4•3『线路3』 +http://stream.zztvzd.com/2/sd/live.m3u8?shandd$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="烟台公共" tvg-name="烟台公共" group-title="☘️山东频道",烟台公共 http://live.yantaitv.cn/live/e50f104a4ffe4a41b2217cbda534146f/d86092e69df94668b33390278b061700-1.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="烟台经济科技" tvg-name="烟台经济科技" group-title="☘️山东频道",烟台经济科技 @@ -1110,21 +1112,21 @@ http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221 #EXTINF:-1 tvg-id="JJ斗地主" tvg-name="JJ斗地主" group-title="🏀体育频道",JJ斗地主 https://live.ottiptv.cc/huya/30814433$LR•IPV4 #EXTINF:-1 tvg-id="CN卡通" tvg-name="CN卡通" group-title="🪁动画频道",CN卡通 -http://23.237.104.106:8080/USA_CARTOON_NETWORK/tracks-v1a1/mono.m3u8$LR•IPV4•4『线路1』 +http://50.7.234.10:8278/momo1_twn/playlist.m3u8?ct=19225&tid=MA0A4898983648989836&tsum=bd109117d126916f203880b1f2063d5e$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="CN卡通" tvg-name="CN卡通" group-title="🪁动画频道",CN卡通 -http://50.7.234.10:8278/momo1_twn/playlist.m3u8?ct=19225&tid=MA0A4898983648989836&tsum=bd109117d126916f203880b1f2063d5e$LR•IPV4•4『线路2』 +http://125.227.210.55:8167/VideoInput/play.ts$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="CN卡通" tvg-name="CN卡通" group-title="🪁动画频道",CN卡通 -http://125.227.210.55:8167/VideoInput/play.ts$LR•IPV4•4『线路3』 +p3p://167.114.175.6:55331/648353bb0006d4d93236315a766b692a$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="CN卡通" tvg-name="CN卡通" group-title="🪁动画频道",CN卡通 -p3p://167.114.175.6:55331/648353bb0006d4d93236315a766b692a$LR•IPV4•4『线路4』 +http://23.237.104.106:8080/USA_CARTOON_NETWORK/tracks-v1a1/mono.m3u8$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="火影忍者" tvg-name="火影忍者" group-title="🪁动画频道",火影忍者 https://live.ottiptv.cc/huya/25567648$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="火影忍者" tvg-name="火影忍者" group-title="🪁动画频道",火影忍者 https://live.ottiptv.cc/huya/29465866$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="海绵宝宝" tvg-name="海绵宝宝" group-title="🪁动画频道",海绵宝宝 -https://live.metshop.top/douyu/3949681$LR•IPV4•2『线路1』 +https://live.ottiptv.cc/huya/11352919$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="海绵宝宝" tvg-name="海绵宝宝" group-title="🪁动画频道",海绵宝宝 -https://live.ottiptv.cc/huya/11352919$LR•IPV4•2『线路2』 +https://live.metshop.top/douyu/3949681$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="音乐现场" tvg-name="音乐现场" group-title="🎵音乐频道",音乐现场 https://satellitepull.cnr.cn/live/wx32nmgyygb/playlist.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="华语影院" tvg-name="华语影院" group-title="百事通",华语影院 @@ -1264,91 +1266,91 @@ https://hlive.ktv.go.kr/live/klive_h.stream/playlist.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="KShopping" tvg-name="KShopping" group-title="•韩国",KShopping https://fhs8036.bd-61.ktcdn.co.kr/klive/smil:klive.smil/playlist.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://stream.chmbc.co.kr/TV/myStream/playlist.m3u8$LR•IPV4•37『线路1』 +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-bollywood/546eb40d7dcf9a209255dd2496903764/index.m3u8$LR•IPV4•37『线路1』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://5c3639aa99149.streamlock.net/live_TV/tv/playlist.m3u8$LR•IPV4•37『线路2』 +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-1/15cf99af5de54063fdabfefe66adc075/index.m3u8$LR•IPV4•37『线路2』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-5/ee6b000cee0629411b666ab26cb13e9b/index.m3u8$LR•IPV4•37『线路3』 +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-1-na/eec141533c90dd34722c503a296dd0d8/index.m3u8$LR•IPV4•37『线路3』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -http://211.33.246.4:32954/cj_live/myStream.sdp/chunklist_w517347500.m3u8$LR•IPV4•37『线路4』 +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-1-usa/fdac3a4fc0473f1f56e07ec1d63a4b7b/index.m3u8$LR•IPV4•37『线路4』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-bollywood/546eb40d7dcf9a209255dd2496903764/index.m3u8$LR•IPV4•37『线路5』 +http://andong.webcasting.co.kr/live/mbc/playlist.m3u8$LR•IPV4•37『线路5』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-1/15cf99af5de54063fdabfefe66adc075/index.m3u8$LR•IPV4•37『线路6』 +https://stream.bsmbc.com/livetv/BusanMBC_TV_onairstream/playlist.m3u8$LR•IPV4•37『线路6』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-1-na/eec141533c90dd34722c503a296dd0d8/index.m3u8$LR•IPV4•37『线路7』 +https://stream.chmbc.co.kr/TV/myStream/playlist.m3u8$LR•IPV4•37『线路7』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-1-usa/fdac3a4fc0473f1f56e07ec1d63a4b7b/index.m3u8$LR•IPV4•37『线路8』 +http://211.33.246.4:32954/cj_live/myStream.sdp/playlist.m3u8$LR•IPV4•37『线路8』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -http://andong.webcasting.co.kr/live/mbc/playlist.m3u8$LR•IPV4•37『线路9』 +https://5ee1ec6f32118.streamlock.net/live/livetv/playlist.m3u8$LR•IPV4•37『线路9』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://stream.bsmbc.com/livetv/BusanMBC_TV_onairstream/playlist.m3u8$LR•IPV4•37『线路10』 +https://ns1.tjmbc.co.kr/live/myStream.sdp/playlist.m3u8$LR•IPV4•37『线路10』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -http://211.33.246.4:32954/cj_live/myStream.sdp/playlist.m3u8$LR•IPV4•37『线路11』 +http://123.254.93.7:1935/tvlive/livestream2/playlist.m3u8$LR•IPV4•37『线路11』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://5ee1ec6f32118.streamlock.net/live/livetv/playlist.m3u8$LR•IPV4•37『线路12』 +https://media.kjmbc.co.kr/hls/live/stream/playlist.m3u8$LR•IPV4•37『线路12』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://ns1.tjmbc.co.kr/live/myStream.sdp/playlist.m3u8$LR•IPV4•37『线路13』 +https://624a79c87201d.streamlock.net/MBCTV/TV1.stream/playlist.m3u8$LR•IPV4•37『线路13』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -http://123.254.93.7:1935/tvlive/livestream2/playlist.m3u8$LR•IPV4•37『线路14』 +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-iraq/e38c44b1b43474e1c39cb5b90203691e/index.m3u8$LR•IPV4•37『线路14』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://media.kjmbc.co.kr/hls/live/stream/playlist.m3u8$LR•IPV4•37『线路15』 +https://wowza.jejumbc.com/live/tv_jejumbc/playlist.m3u8$LR•IPV4•37『线路15』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://624a79c87201d.streamlock.net/MBCTV/TV1.stream/playlist.m3u8$LR•IPV4•37『线路16』 +https://5ee9633b25727.streamlock.net/jmbc_tv/_definst_/jmbc_tv.stream/playlist.m3u8$LR•IPV4•37『线路16』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-iraq/e38c44b1b43474e1c39cb5b90203691e/index.m3u8$LR•IPV4•37『线路17』 +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-masr/956eac069c78a35d47245db6cdbb1575/index.m3u8$LR•IPV4•37『线路17』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://wowza.jejumbc.com/live/tv_jejumbc/playlist.m3u8$LR•IPV4•37『线路18』 +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-masr-2/754931856515075b0aabf0e583495c68/index.m3u8$LR•IPV4•37『线路18』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://5ee9633b25727.streamlock.net/jmbc_tv/_definst_/jmbc_tv.stream/playlist.m3u8$LR•IPV4•37『线路19』 +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-masr-usa/cd8d40acdab28aac0582faa3bd3983f1/index.m3u8$LR•IPV4•37『线路19』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-masr/956eac069c78a35d47245db6cdbb1575/index.m3u8$LR•IPV4•37『线路20』 +http://vod.mpmbc.co.kr:1935/live/encoder-tv/playlist.m3u8$LR•IPV4•37『线路20』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-masr-2/754931856515075b0aabf0e583495c68/index.m3u8$LR•IPV4•37『线路21』 +https://mumt03.tangotv.in/MBCTV/index.m3u8$LR•IPV4•37『线路21』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-masr-usa/cd8d40acdab28aac0582faa3bd3983f1/index.m3u8$LR•IPV4•37『线路22』 +https://5c3639aa99149.streamlock.net/live_TV/tv/playlist.m3u8$LR•IPV4•37『线路22』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -http://vod.mpmbc.co.kr:1935/live/encoder-tv/playlist.m3u8$LR•IPV4•37『线路23』 +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-4/24f134f1cd63db9346439e96b86ca6ed/index.m3u8$LR•IPV4•37『线路23』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://mumt03.tangotv.in/MBCTV/index.m3u8$LR•IPV4•37『线路24』 +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-drama/2c28a458e2f3253e678b07ac7d13fe71/index.m3u8$LR•IPV4•37『线路24』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-4/24f134f1cd63db9346439e96b86ca6ed/index.m3u8$LR•IPV4•37『线路25』 +http://mytv.dothome.co.kr/ch/catv/26.php$LR•IPV4•37『线路25』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-drama/2c28a458e2f3253e678b07ac7d13fe71/index.m3u8$LR•IPV4•37『线路26』 +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-persia/818ee8e4b592dc497608f066d825bfb4/index.m3u8$LR•IPV4•37『线路26』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -http://mytv.dothome.co.kr/ch/catv/26.php$LR•IPV4•37『线路27』 +https://cdn8.fntvchannel.com/v1/master/02eeb1726c343dc9c30c32e93dee82013e157021/FNTV-CHANNEL_CDN77/index.m3u8$LR•IPV4•37『线路27』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-persia/818ee8e4b592dc497608f066d825bfb4/index.m3u8$LR•IPV4•37『线路28』 +http://mytv.dothome.co.kr/ch/catv/28.php$LR•IPV4•37『线路28』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://cdn8.fntvchannel.com/v1/master/02eeb1726c343dc9c30c32e93dee82013e157021/FNTV-CHANNEL_CDN77/index.m3u8$LR•IPV4•37『线路29』 +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-3-usa/5d58265a862a476dc7f97694addb5ded/index.m3u8$LR•IPV4•37『线路29』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -http://mytv.dothome.co.kr/ch/catv/28.php$LR•IPV4•37『线路30』 +https://dbbv9umqcd7cs.cloudfront.net/out/v1/db15b75c3cc0400c91961468d6a232ac/index.m3u8$LR•IPV4•37『线路30』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-3-usa/5d58265a862a476dc7f97694addb5ded/index.m3u8$LR•IPV4•37『线路31』 +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-mood/78367bf48ccdba501d0d014a10c21031/index.m3u8$LR•IPV4•37『线路31』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://dbbv9umqcd7cs.cloudfront.net/out/v1/db15b75c3cc0400c91961468d6a232ac/index.m3u8$LR•IPV4•37『线路32』 +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-wanasah/13e82ea6232fa647c43b26e8a41f173d/index.m3u8$LR•IPV4•37『线路32』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-mood/78367bf48ccdba501d0d014a10c21031/index.m3u8$LR•IPV4•37『线路33』 +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-drama-usa/ea2f5db904aff224b7066e59c7f585a2/index.m3u8$LR•IPV4•37『线路33』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-wanasah/13e82ea6232fa647c43b26e8a41f173d/index.m3u8$LR•IPV4•37『线路34』 +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-masr-drama/567b703c19ede6598222de81b0e4508b/index.m3u8$LR•IPV4•37『线路34』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-drama-usa/ea2f5db904aff224b7066e59c7f585a2/index.m3u8$LR•IPV4•37『线路35』 +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-5/ee6b000cee0629411b666ab26cb13e9b/index.m3u8$LR•IPV4•37『线路35』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-masr-drama/567b703c19ede6598222de81b0e4508b/index.m3u8$LR•IPV4•37『线路36』 +https://cdn-us-east-prod-ingest-infra-dacast-com.akamaized.net/624ff8f9-db18-da92-4d42-896fa2ff3eb3/source/index.m3u8$LR•IPV4•37『线路36』 #EXTINF:-1 tvg-id="MBC" tvg-name="MBC" group-title="•韩国",MBC -https://cdn-us-east-prod-ingest-infra-dacast-com.akamaized.net/624ff8f9-db18-da92-4d42-896fa2ff3eb3/source/index.m3u8$LR•IPV4•37『线路37』 +http://211.33.246.4:32954/cj_live/myStream.sdp/chunklist_w517347500.m3u8$LR•IPV4•37『线路37』 #EXTINF:-1 tvg-id="NBS" tvg-name="NBS" group-title="•韩国",NBS https://media.joycorp.co.kr:4443/live/ngrp:live_all/playlist.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="SBS" tvg-name="SBS" group-title="•韩国",SBS https://ads.its-newid.net/api/manifest.m3u8?tp=lg_channels&channel_name=sbsk-drama&channel_id=newid_008&mpf=c064f5f4-39af1962-7c36be2c&apikey=48230e6b-1cea0097-15975f93-39af1962&auth=474ab4cb-5d47aa0a-84d0cbca-2a3730a6&ads.live=[CONTENT_LIVE]&ads.deviceid=[DEVICE_ID]&ads.ifa=[IFA]&ads.ifatype=[IFA_TYPE]&ads.lat=[LMT]&ads.donotsell=[DNS]&ads.ua=[UA]&ads.ip=[IP]&ads.gdpr=[GDPR]&ads.gdpr_consent=[GDPR_CONSENT]&ads.country=[COUNTRY]&ads.us_privacy=[US_PRIVACY]&ads.appstoreurl=[APP_STOREURL]&ads.bundleid=[APP_BUNDLE]&ads.appname=[APP_NAME]&ads.appversion=[APP_VERSION]&ads.devicetype=[DEVICE_TYPE]&ads.devicemake=[DEVICE_MAKE]&ads.devicemodel=[DEVICE_MODEL]&ads.targetad=[TARGETAD_ALLOWED]&ads.fck=[FCK]&ads.viewsize=[VIEWSIZE]&ads.givn=[NONCE]$LR•IPV4•9『线路1』 #EXTINF:-1 tvg-id="SBS" tvg-name="SBS" group-title="•韩国",SBS -http://61.85.197.53:1935/jtv_live/myStream/playlist.m3u8$LR•IPV4•9『线路2』 +http://1.222.207.80:1935/live/cjbtv/playlist.m3u8$LR•IPV4•9『线路2』 #EXTINF:-1 tvg-id="SBS" tvg-name="SBS" group-title="•韩国",SBS -http://1.222.207.80:1935/live/cjbtv/playlist.m3u8$LR•IPV4•9『线路3』 +http://61.82.49.4:1935/live/_definst_/tv.stream/playlist.m3u8$LR•IPV4•9『线路3』 #EXTINF:-1 tvg-id="SBS" tvg-name="SBS" group-title="•韩国",SBS -http://61.82.49.4:1935/live/_definst_/tv.stream/playlist.m3u8$LR•IPV4•9『线路4』 +http://123.140.197.22/stream/1/play.m3u8$LR•IPV4•9『线路4』 #EXTINF:-1 tvg-id="SBS" tvg-name="SBS" group-title="•韩国",SBS -http://123.140.197.22/stream/1/play.m3u8$LR•IPV4•9『线路5』 +http://61.85.197.53:1935/jtv_live/myStream/playlist.m3u8$LR•IPV4•9『线路5』 #EXTINF:-1 tvg-id="SBS" tvg-name="SBS" group-title="•韩国",SBS https://vod.ikbc.co.kr/KBCTV/tv/playlist.m3u8$LR•IPV4•9『线路6』 #EXTINF:-1 tvg-id="SBS" tvg-name="SBS" group-title="•韩国",SBS @@ -1388,9 +1390,9 @@ https://5cd577a3dd8ec.streamlock.net/CANAL4/smil:CANAL4.smil/playlist.m3u8$LR• #EXTINF:-1 tvg-id="Cartoon Network" tvg-name="Cartoon Network" group-title="•杂货",Cartoon Network http://23.237.104.106:8080/USA_CARTOON_NETWORK/index.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="Cartoon Network" tvg-name="Cartoon Network" group-title="•杂货",Cartoon Network -http://108.181.20.255:27347/livehttpplay?channel_id=23045$LR•IPV4•3『线路2』 +http://free.cnlive.club/channel/n38060fe0/index.m3u8?q=1752629214236$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="Cartoon Network" tvg-name="Cartoon Network" group-title="•杂货",Cartoon Network -http://free.cnlive.club/channel/n38060fe0/index.m3u8?q=1752629214236$LR•IPV4•3『线路3』 +http://108.181.20.255:27347/livehttpplay?channel_id=23045$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="Christian Youth Channel" tvg-name="Christian Youth Channel" group-title="•杂货",Christian Youth Channel http://media3.smc-host.com:1935/cycnow.com/smil:cyc.smil/playlist.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="Cloudflare TV" tvg-name="Cloudflare TV" group-title="•杂货",Cloudflare TV @@ -1466,11 +1468,11 @@ https://stream.realitatea.net/realitatea/plus_md/ts:playlist.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="Reuters" tvg-name="Reuters" group-title="•杂货",Reuters https://dbrb49pjoymg4.cloudfront.net/manifest/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod_default_xumo-ams-aws/e7493ea5-5c1c-4d7a-a3f7-e95516048ad8/3.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="Reuters" tvg-name="Reuters" group-title="•杂货",Reuters -https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg00453-reuters-reuters-hls-rakutenjp/playlist.m3u8$LR•IPV4•4『线路2』 +https://amg00453-reuters-amg00453c1-rakuten-uk-2110.playouts.now.amagi.tv/playlist/amg00453-reuters-reuters-rakutenuk/playlist.m3u8$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="Reuters" tvg-name="Reuters" group-title="•杂货",Reuters -https://amg00453-reuters-amg00453c1-rakuten-uk-2110.playouts.now.amagi.tv/playlist/amg00453-reuters-reuters-rakutenuk/playlist.m3u8$LR•IPV4•4『线路3』 +https://amg00453-amg00453c1-distrotv-us-7691.playouts.now.amagi.tv/playlist/amg00453-reuters-reuters-distrotvus/playlist.m3u8$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="Reuters" tvg-name="Reuters" group-title="•杂货",Reuters -https://amg00453-amg00453c1-distrotv-us-7691.playouts.now.amagi.tv/playlist/amg00453-reuters-reuters-distrotvus/playlist.m3u8$LR•IPV4•4『线路4』 +https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg00453-reuters-reuters-hls-rakutenjp/playlist.m3u8$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="RTV Rijnstreek TV" tvg-name="RTV Rijnstreek TV" group-title="•杂货",RTV Rijnstreek TV https://ms7.mx-cd.net/tv/290-3222276/RTV_Rijnstreek.smil/playlist.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="Ryan and Friends" tvg-name="Ryan and Friends" group-title="•杂货",Ryan and Friends @@ -1506,139 +1508,139 @@ https://live.kh.malimarcdn.com/live/tvk2.stream/playlist.m3u8$LR•IPV4•3『 #EXTINF:-1 tvg-id="TVK" tvg-name="TVK" group-title="•杂货",TVK https://stream.tvkstella.pl/stella/stella.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -http://nocable.cc:8080//OURTV/OURTV@4806/35241$LR•IPV4•53『线路1』 +https://moviesphereuk-samsunguk.amagi.tv/playlist.m3u8$LR•IPV4•53『线路1』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -http://nocable.cc:8080//OURTV/OURTV@4806/35244$LR•IPV4•53『线路2』 +https://0145451975a64b35866170fd2e8fa486.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-5987/master.m3u8$LR•IPV4•53『线路2』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001373$LR•IPV4•53『线路3』 +https://54045f0c40fd442c8b06df076aaf1e85.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6065/master.m3u8$LR•IPV4•53『线路3』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -http://nocable.cc:8080//OURTV/OURTV@4806/35240$LR•IPV4•53『线路4』 +https://9be783d652cd4b099cf63e1dc134c4a3.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6181/master.m3u8$LR•IPV4•53『线路4』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -http://nocable.cc:8080//OURTV/OURTV@4806/137720$LR•IPV4•53『线路5』 +https://fee09fd665814f51b939b6d106cf5f66.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6093/master.m3u8$LR•IPV4•53『线路5』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001376$LR•IPV4•53『线路6』 +http://41.223.30.230/ZEECINEMA/index.m3u8$LR•IPV4•53『线路6』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001378$LR•IPV4•53『线路7』 +https://app.ncare.live/c3VydmVyX8RpbEU9Mi8xNy8yMDE0GIDU6RgzQ6NTAgdEoaeFzbF92YWxIZTO0U0ezN1IzMyfvcGVMZEJCTEFWeVN3PTOmdFsaWRtaW51aiPhnPTI2/atnbanglauk-off.stream/playlist.m3u8$LR•IPV4•53『线路7』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001379$LR•IPV4•53『线路8』 +https://qvcuk-live.akamaized.net/hls/live/2097112/qvc/master.m3u8$LR•IPV4•53『线路8』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -http://nocable.cc:8080//OURTV/OURTV@4806/53705$LR•IPV4•53『线路9』 +https://qvcuk-live.akamaized.net/hls/live/2097112/qby/master.m3u8$LR•IPV4•53『线路9』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -http://nocable.cc:8080//OURTV/OURTV@4806/35238$LR•IPV4•53『线路10』 +https://qvcuk-live.akamaized.net/hls/live/2097112/qex/master.m3u8$LR•IPV4•53『线路10』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -http://nocable.cc:8080//OURTV/OURTV@4806/53663$LR•IPV4•53『线路11』 +https://qvcuk-live.akamaized.net/hls/live/2097112/qst/master.m3u8$LR•IPV4•53『线路11』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -http://nocable.cc:8080//OURTV/OURTV@4806/45940$LR•IPV4•53『线路12』 +http://45.153.96.44:8001$LR•IPV4•53『线路12』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -http://vocotv.pro//revol/revol/276918$LR•IPV4•53『线路13』 +https://mini.allinonereborn.fun/tata.php?id=11783$LR•IPV4•53『线路13』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -http://vocotv.pro//revol/revol/276924$LR•IPV4•53『线路14』 +https://cdn3.wowza.com/5/L1Uzd2FrbVlLRG1W/live/smil:lwukweb.smil/playlist.m3u8$LR•IPV4•53『线路14』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -http://vocotv.pro//revol/revol/276906$LR•IPV4•53『线路15』 +https://d34z4embz0hjf6.cloudfront.net/out/v1/7ac2789ff9a544a49337d1ffc54ce61c/index.m3u8$LR•IPV4•53『线路15』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://moviesphereuk-samsunguk.amagi.tv/playlist.m3u8$LR•IPV4•53『线路16』 +https://jmp2.uk/plu-638e10de75c3a30007092693.m3u8$LR•IPV4•53『线路16』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://0145451975a64b35866170fd2e8fa486.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-5987/master.m3u8$LR•IPV4•53『线路17』 +https://jmp2.uk/plu-62bed7cb3279cb0007735327.m3u8$LR•IPV4•53『线路17』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://54045f0c40fd442c8b06df076aaf1e85.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6065/master.m3u8$LR•IPV4•53『线路18』 +https://d1nn4ic5ci0eid.cloudfront.net/MasterchefUKPoweredbyBanijay_GB.m3u8$LR•IPV4•53『线路18』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://9be783d652cd4b099cf63e1dc134c4a3.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6181/master.m3u8$LR•IPV4•53『线路19』 +https://dvqpty1sb3rry.cloudfront.net/PointlessUKPoweredbyBanijay_GB.m3u8$LR•IPV4•53『线路19』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://fee09fd665814f51b939b6d106cf5f66.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6093/master.m3u8$LR•IPV4•53『线路20』 +https://68f6dfd1f2bd415b9c42f1d383004b69.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6233/master.m3u8$LR•IPV4•53『线路20』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -http://41.223.30.230/ZEECINEMA/index.m3u8$LR•IPV4•53『线路21』 +https://2c88ed8c4df9479aa0c7138dc42115e2.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6194/master.m3u8$LR•IPV4•53『线路21』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://app.ncare.live/c3VydmVyX8RpbEU9Mi8xNy8yMDE0GIDU6RgzQ6NTAgdEoaeFzbF92YWxIZTO0U0ezN1IzMyfvcGVMZEJCTEFWeVN3PTOmdFsaWRtaW51aiPhnPTI2/atnbanglauk-off.stream/playlist.m3u8$LR•IPV4•53『线路22』 +https://sci-fi-rakuten-tv-uk.fast.rakuten.tv/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6241/master.m3u8$LR•IPV4•53『线路22』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://qvcuk-live.akamaized.net/hls/live/2097112/qvc/master.m3u8$LR•IPV4•53『线路23』 +https://thriller-rakuten-tv-uk.fast.rakuten.tv/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6482/master.m3u8$LR•IPV4•53『线路23』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://qvcuk-live.akamaized.net/hls/live/2097112/qby/master.m3u8$LR•IPV4•53『线路24』 +https://live-tbn-ssai.simplestreamcdn.com/v1/master/774d979dd66704abea7c5b62cb34c6815fda0d35/tbn-live/manifest.m3u8$LR•IPV4•53『线路24』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://qvcuk-live.akamaized.net/hls/live/2097112/qex/master.m3u8$LR•IPV4•53『线路25』 +https://amg01131-tracetv-amg01131c5-stirr-us-4389.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•53『线路25』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://qvcuk-live.akamaized.net/hls/live/2097112/qst/master.m3u8$LR•IPV4•53『线路26』 +https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/trace-uk/encrypted.m3u8?ads.vf=cgXMgPi7oBS$LR•IPV4•53『线路26』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -http://45.153.96.44:8001$LR•IPV4•53『线路27』 +https://d2n3779oy6efpi.cloudfront.net/playlist.m3u8$LR•IPV4•53『线路27』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://mini.allinonereborn.fun/tata.php?id=11783$LR•IPV4•53『线路28』 +https://channels.trace.plus/Traceprod/UK_FAST_hd/index.m3u8$LR•IPV4•53『线路28』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://cdn3.wowza.com/5/L1Uzd2FrbVlLRG1W/live/smil:lwukweb.smil/playlist.m3u8$LR•IPV4•53『线路29』 +https://hls.vantagetv.co.uk/vmusicuk_stream/index.m3u8$LR•IPV4•53『线路29』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://d34z4embz0hjf6.cloudfront.net/out/v1/7ac2789ff9a544a49337d1ffc54ce61c/index.m3u8$LR•IPV4•53『线路30』 +https://amg01243-xitenetworksint-hitsuk-samsunguk-mvovq.amagi.tv/playlist/amg01243-xitenetworksint-hitsuk-samsunguk/playlist.m3u8$LR•IPV4•53『线路30』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://jmp2.uk/plu-638e10de75c3a30007092693.m3u8$LR•IPV4•53『线路31』 +https://bbc-antiquesroadshowuk-1-us.roku.wurl.tv/playlist.m3u8$LR•IPV4•53『线路31』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://jmp2.uk/plu-62bed7cb3279cb0007735327.m3u8$LR•IPV4•53『线路32』 +https://jmp2.uk/plu-692edc78d52ea9e4858cf78f.m3u8$LR•IPV4•53『线路32』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://d1nn4ic5ci0eid.cloudfront.net/MasterchefUKPoweredbyBanijay_GB.m3u8$LR•IPV4•53『线路33』 +https://jmp2.uk/plu-692edcff77f0147d69f19498.m3u8$LR•IPV4•53『线路33』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://dvqpty1sb3rry.cloudfront.net/PointlessUKPoweredbyBanijay_GB.m3u8$LR•IPV4•53『线路34』 +https://jmp2.uk/plu-692edd6bdb8695f63e14f3b9.m3u8$LR•IPV4•53『线路34』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://68f6dfd1f2bd415b9c42f1d383004b69.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6233/master.m3u8$LR•IPV4•53『线路35』 +https://b6cca454.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/U2Ftc3VuZy1nYl9UcnVlQ3JpbWVVS2Zyb21DQlNSZWFsaXR5X0hMUw/playlist.m3u8$LR•IPV4•53『线路35』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://2c88ed8c4df9479aa0c7138dc42115e2.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6194/master.m3u8$LR•IPV4•53『线路36』 +https://ntd02.akamaized.net/NTD-UK/index.m3u8$LR•IPV4•53『线路36』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://sci-fi-rakuten-tv-uk.fast.rakuten.tv/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6241/master.m3u8$LR•IPV4•53『线路37』 +https://e3207568b726401995c25670faaf32e4.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6203/master.m3u8$LR•IPV4•53『线路37』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://thriller-rakuten-tv-uk.fast.rakuten.tv/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6482/master.m3u8$LR•IPV4•53『线路38』 +https://1a3566cb46914c5499fbc86fbc4ac87e.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-932-WORBUKENFAST-WHALETVPLUS/932/whaletvplus/hls/master/playlist.m3u8$LR•IPV4•53『线路38』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://live-tbn-ssai.simplestreamcdn.com/v1/master/774d979dd66704abea7c5b62cb34c6815fda0d35/tbn-live/manifest.m3u8$LR•IPV4•53『线路39』 +http://nocable.cc:8080//OURTV/OURTV@4806/35241$LR•IPV4•53『线路39』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://amg01131-tracetv-amg01131c5-stirr-us-4389.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•53『线路40』 +http://nocable.cc:8080//OURTV/OURTV@4806/35244$LR•IPV4•53『线路40』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/trace-uk/encrypted.m3u8?ads.vf=cgXMgPi7oBS$LR•IPV4•53『线路41』 +http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001373$LR•IPV4•53『线路41』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://d2n3779oy6efpi.cloudfront.net/playlist.m3u8$LR•IPV4•53『线路42』 +http://nocable.cc:8080//OURTV/OURTV@4806/35240$LR•IPV4•53『线路42』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://channels.trace.plus/Traceprod/UK_FAST_hd/index.m3u8$LR•IPV4•53『线路43』 +http://nocable.cc:8080//OURTV/OURTV@4806/137720$LR•IPV4•53『线路43』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://hls.vantagetv.co.uk/vmusicuk_stream/index.m3u8$LR•IPV4•53『线路44』 +http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001376$LR•IPV4•53『线路44』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://amg01243-xitenetworksint-hitsuk-samsunguk-mvovq.amagi.tv/playlist/amg01243-xitenetworksint-hitsuk-samsunguk/playlist.m3u8$LR•IPV4•53『线路45』 +http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001378$LR•IPV4•53『线路45』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://bbc-antiquesroadshowuk-1-us.roku.wurl.tv/playlist.m3u8$LR•IPV4•53『线路46』 +http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001379$LR•IPV4•53『线路46』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://jmp2.uk/plu-692edc78d52ea9e4858cf78f.m3u8$LR•IPV4•53『线路47』 +http://nocable.cc:8080//OURTV/OURTV@4806/53705$LR•IPV4•53『线路47』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://jmp2.uk/plu-692edcff77f0147d69f19498.m3u8$LR•IPV4•53『线路48』 +http://nocable.cc:8080//OURTV/OURTV@4806/35238$LR•IPV4•53『线路48』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://jmp2.uk/plu-692edd6bdb8695f63e14f3b9.m3u8$LR•IPV4•53『线路49』 +http://nocable.cc:8080//OURTV/OURTV@4806/53663$LR•IPV4•53『线路49』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://b6cca454.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/U2Ftc3VuZy1nYl9UcnVlQ3JpbWVVS2Zyb21DQlNSZWFsaXR5X0hMUw/playlist.m3u8$LR•IPV4•53『线路50』 +http://nocable.cc:8080//OURTV/OURTV@4806/45940$LR•IPV4•53『线路50』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://ntd02.akamaized.net/NTD-UK/index.m3u8$LR•IPV4•53『线路51』 +http://vocotv.pro//revol/revol/276918$LR•IPV4•53『线路51』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://e3207568b726401995c25670faaf32e4.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6203/master.m3u8$LR•IPV4•53『线路52』 +http://vocotv.pro//revol/revol/276924$LR•IPV4•53『线路52』 #EXTINF:-1 tvg-id="UK" tvg-name="UK" group-title="•杂货",UK -https://1a3566cb46914c5499fbc86fbc4ac87e.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-932-WORBUKENFAST-WHALETVPLUS/932/whaletvplus/hls/master/playlist.m3u8$LR•IPV4•53『线路53』 +http://vocotv.pro//revol/revol/276906$LR•IPV4•53『线路53』 #EXTINF:-1 tvg-id="US" tvg-name="US" group-title="•杂货",US -p3p://167.114.175.6:55331/63efe07e000c1db2f23eb46a4e00518a$LR•IPV4•18『线路1』 +http://138.121.15.230:9002/DEPELICULA/index.m3u8$LR•IPV4•18『线路1』 #EXTINF:-1 tvg-id="US" tvg-name="US" group-title="•杂货",US -p3p://167.114.175.6:55331/63efe0de000858baf2402a646c573e1b$LR•IPV4•18『线路2』 +https://stream.smotrim.ru/hls2/planeta_rtr_usa/playlist_4.m3u8$LR•IPV4•18『线路2』 #EXTINF:-1 tvg-id="US" tvg-name="US" group-title="•杂货",US -p3p://167.114.175.6:55331/63efe252000a7658f245d81113e44b34$LR•IPV4•18『线路3』 +https://amg17233-amg17233c1-wisptv-us-6409.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•18『线路3』 #EXTINF:-1 tvg-id="US" tvg-name="US" group-title="•杂货",US -p3p://167.114.175.6:55331/63efe2e2000d23b5f2480b4125294b9a$LR•IPV4•18『线路4』 +https://jmp2.uk/plu-6304f20c941c5d00089634e7.m3u8$LR•IPV4•18『线路4』 #EXTINF:-1 tvg-id="US" tvg-name="US" group-title="•杂货",US -http://138.121.15.230:9002/DEPELICULA/index.m3u8$LR•IPV4•18『线路5』 +https://jmp2.uk/plu-63988b61c8d285000798a22a.m3u8$LR•IPV4•18『线路5』 #EXTINF:-1 tvg-id="US" tvg-name="US" group-title="•杂货",US -https://stream.smotrim.ru/hls2/planeta_rtr_usa/playlist_4.m3u8$LR•IPV4•18『线路6』 +http://206.212.244.63/641/index.m3u8$LR•IPV4•18『线路6』 #EXTINF:-1 tvg-id="US" tvg-name="US" group-title="•杂货",US -https://amg17233-amg17233c1-wisptv-us-6409.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•18『线路7』 +https://janus.xpbroadcasting.com:8443/hls/xptvUS.m3u8$LR•IPV4•18『线路7』 #EXTINF:-1 tvg-id="US" tvg-name="US" group-title="•杂货",US -https://jmp2.uk/plu-6304f20c941c5d00089634e7.m3u8$LR•IPV4•18『线路8』 +https://bloomberg.com/media-manifest/streams/us-event.m3u8$LR•IPV4•18『线路8』 #EXTINF:-1 tvg-id="US" tvg-name="US" group-title="•杂货",US -https://jmp2.uk/plu-63988b61c8d285000798a22a.m3u8$LR•IPV4•18『线路9』 +https://bloomberg.com/media-manifest/streams/politics.m3u8$LR•IPV4•18『线路9』 #EXTINF:-1 tvg-id="US" tvg-name="US" group-title="•杂货",US -http://206.212.244.63/641/index.m3u8$LR•IPV4•18『线路10』 +https://0b73ace69ebb45eaa249bb87837cb958.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-644-WORBUSENFAST-LG_US/644/lgtv/hls/master/playlist.m3u8$LR•IPV4•18『线路10』 #EXTINF:-1 tvg-id="US" tvg-name="US" group-title="•杂货",US -https://janus.xpbroadcasting.com:8443/hls/xptvUS.m3u8$LR•IPV4•18『线路11』 +p3p://167.114.175.6:55331/63efe07e000c1db2f23eb46a4e00518a$LR•IPV4•18『线路11』 #EXTINF:-1 tvg-id="US" tvg-name="US" group-title="•杂货",US -https://bloomberg.com/media-manifest/streams/us-event.m3u8$LR•IPV4•18『线路12』 +p3p://167.114.175.6:55331/63efe0de000858baf2402a646c573e1b$LR•IPV4•18『线路12』 #EXTINF:-1 tvg-id="US" tvg-name="US" group-title="•杂货",US -https://bloomberg.com/media-manifest/streams/politics.m3u8$LR•IPV4•18『线路13』 +p3p://167.114.175.6:55331/63efe252000a7658f245d81113e44b34$LR•IPV4•18『线路13』 #EXTINF:-1 tvg-id="US" tvg-name="US" group-title="•杂货",US -https://0b73ace69ebb45eaa249bb87837cb958.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-644-WORBUSENFAST-LG_US/644/lgtv/hls/master/playlist.m3u8$LR•IPV4•18『线路14』 +p3p://167.114.175.6:55331/63efe2e2000d23b5f2480b4125294b9a$LR•IPV4•18『线路14』 #EXTINF:-1 tvg-id="US" tvg-name="US" group-title="•杂货",US https://amg01942-amg01942c5-stirr-us-10184.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•18『线路15』 #EXTINF:-1 tvg-id="US" tvg-name="US" group-title="•杂货",US @@ -1684,7 +1686,7 @@ http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="关于本源" tvg-name="关于本源" group-title="更新时间",关于本源(iptv365.org) https://gitlab.com/p2v5/wangtv/-/raw/main/about1080p.mp4$LR•IPV4 #EXTINF:-1 tvg-id="每日一首" tvg-name="每日一首" group-title="更新时间",(百)每日一首 -https://cloud.video.taobao.com//play/u/57349687/p/1/e/6/t/1/240059400880.mp4$LR•IPV4 +https://www.iesdouyin.com/aweme/v1/playwm/?video_id=v0200fg10000ca3eb8rc77ub0tj3kl2g&ratio=720p&line=0$LR•IPV4 #EXTINF:-1 tvg-id="MovieMusic欣赏" tvg-name="MovieMusic欣赏" group-title="更新时间",(宝)MovieMusic欣赏 https://lotus.stingray.com/manifest/cmusic-cme004-montreal/samsungtvplus/dee3e3af-2706-3e77-a952-91b99f6d1819/5711200/manifest.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="AMC音乐" tvg-name="AMC音乐" group-title="更新时间",(箱)AMC音乐 @@ -1716,13 +1718,13 @@ https://txmov2.a.kwimgs.com/upic/2024/01/09/12/BMjAyNDAxMDkxMjA2MDdfMzQ4MzI0MjA1 #EXTINF:-1 tvg-id="潘玮柏精选28首" tvg-name="潘玮柏精选28首" group-title="更新时间",潘玮柏精选28首(1小时) https://txmov2.a.kwimgs.com/upic/2021/02/18/21/BMjAyMTAyMTgyMTI0MzNfODI4NTk1NTQ0XzQ0NTk2NzM2MDU3XzJfMw==_b_B92f3c6849966ee988590af29cfd9237b.mp4?tag=1-1750435163-std-1-6qxcke5wod-82a7afd374de76aa&clientCacheKey=3xabaxhvbd3me8s_b.mp4$LR•IPV4 #EXTINF:-1 tvg-id="SHE精选40首" tvg-name="SHE精选40首" group-title="更新时间",SHE精选40首(2小时) -https://txmov2.a.kwimgs.com/upic/2023/07/30/19/BMjAyMzA3MzAxOTEyNDhfODI4NTk1NTQ0XzEwOTI2ODgxNTQyOF8yXzM=_b_B1770e5ac950c20cda3df1678ded64cbc.mp4?tag=1-1754625871-std-1-9msmgkqnic-492b9eaf83438074&clientCacheKey=3xdck2arwksxhfw_b.mp4&tt=b&di=88ccff4&bp=12681&ali_redirect_ex_hot=66666800&ali_redirect_ex_beacon=1$LR•IPV4•2『线路1』 +https://txmov2.a.kwimgs.com/upic/2023/07/30/19/BMjAyMzA3MzAxOTEyNDhfODI4NTk1NTQ0XzEwOTI2ODgxNTQyOF8yXzM=_b_B1770e5ac950c20cda3df1678ded64cbc.mp4$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="SHE精选40首" tvg-name="SHE精选40首" group-title="更新时间",SHE精选40首(2小时) -https://txmov2.a.kwimgs.com/upic/2023/07/30/19/BMjAyMzA3MzAxOTEyNDhfODI4NTk1NTQ0XzEwOTI2ODgxNTQyOF8yXzM=_b_B1770e5ac950c20cda3df1678ded64cbc.mp4$LR•IPV4•2『线路2』 +https://txmov2.a.kwimgs.com/upic/2023/07/30/19/BMjAyMzA3MzAxOTEyNDhfODI4NTk1NTQ0XzEwOTI2ODgxNTQyOF8yXzM=_b_B1770e5ac950c20cda3df1678ded64cbc.mp4?tag=1-1754625871-std-1-9msmgkqnic-492b9eaf83438074&clientCacheKey=3xdck2arwksxhfw_b.mp4&tt=b&di=88ccff4&bp=12681&ali_redirect_ex_hot=66666800&ali_redirect_ex_beacon=1$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="徐良精选30首" tvg-name="徐良精选30首" group-title="更新时间",徐良精选30首(1小时) -https://txmov2.a.kwimgs.com/upic/2024/05/08/20/BMjAyNDA1MDgyMDAyMjFfMTg1NzcxNTYxOF8xMzE5MDIyNTY0NzNfMl8z_b_B62cb1e50d6a0dea4efc3e6da93662aa4.mp4?tag=1-1754626109-std-1-9zwa2xbfok-40061606b10eb007&clientCacheKey=3xfdxxsd94byium_b.mp4&tt=b&di=739f67b1&bp=12681&ali_redirect_ex_hot=66666800&ali_redirect_ex_beacon=1$LR•IPV4•2『线路1』 +https://alimov2.a.kwimgs.com/upic/2024/05/08/20/BMjAyNDA1MDgyMDAyMjFfMTg1NzcxNTYxOF8xMzE5MDIyNTY0NzNfMl8z_b_B62cb1e50d6a0dea4efc3e6da93662aa4.mp4$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="徐良精选30首" tvg-name="徐良精选30首" group-title="更新时间",徐良精选30首(1小时) -https://alimov2.a.kwimgs.com/upic/2024/05/08/20/BMjAyNDA1MDgyMDAyMjFfMTg1NzcxNTYxOF8xMzE5MDIyNTY0NzNfMl8z_b_B62cb1e50d6a0dea4efc3e6da93662aa4.mp4$LR•IPV4•2『线路2』 +https://txmov2.a.kwimgs.com/upic/2024/05/08/20/BMjAyNDA1MDgyMDAyMjFfMTg1NzcxNTYxOF8xMzE5MDIyNTY0NzNfMl8z_b_B62cb1e50d6a0dea4efc3e6da93662aa4.mp4?tag=1-1754626109-std-1-9zwa2xbfok-40061606b10eb007&clientCacheKey=3xfdxxsd94byium_b.mp4&tt=b&di=739f67b1&bp=12681&ali_redirect_ex_hot=66666800&ali_redirect_ex_beacon=1$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="许嵩精选30首" tvg-name="许嵩精选30首" group-title="更新时间",许嵩精选30首(2小时) https://alimov2.a.kwimgs.com/upic/2020/09/14/21/BMjAyMDA5MTQyMTMzMDdfODI4NTk1NTQ0XzM2MDUzMTE1NjM5XzJfMw==_b_B789c6ea6a87d1b67019f19f16c9f71f7.mp4$LR•IPV4 #EXTINF:-1 tvg-id="汪苏泷精选20首" tvg-name="汪苏泷精选20首" group-title="更新时间",汪苏泷精选20首(1小时) @@ -1768,9 +1770,9 @@ https://txmov2.a.kwimgs.com/upic/2023/08/07/21/BMjAyMzA4MDcyMTAzMzZfMzYxMjUyNDA3 #EXTINF:-1 tvg-id="飞轮海精选30首" tvg-name="飞轮海精选30首" group-title="更新时间",飞轮海精选30首(2小时) https://www.iesdouyin.com/aweme/v1/playwm/?video_id=v0200fg10000cra24sfog65t497nn1o0&ratio=720p&line=0$LR•IPV4 #EXTINF:-1 tvg-id="颜人中精选36首" tvg-name="颜人中精选36首" group-title="更新时间",颜人中精选36首(1小时) -https://www.iesdouyin.com/aweme/v1/playwm/?video_id=v0200fg10000d07m1fnog65i93c1s7qg&ratio=720p&line=0张惠妹精选10首(1小时)$LR•IPV4•2『线路1』 +https://www.iesdouyin.com/aweme/v1/playwm/?video_id=v0200fg10000d07m1fnog65i93c1s7qg&ratio=720p&line=0$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="颜人中精选36首" tvg-name="颜人中精选36首" group-title="更新时间",颜人中精选36首(1小时) -https://www.iesdouyin.com/aweme/v1/playwm/?video_id=v0200fg10000d07m1fnog65i93c1s7qg&ratio=720p&line=0$LR•IPV4•2『线路2』 +https://www.iesdouyin.com/aweme/v1/playwm/?video_id=v0200fg10000d07m1fnog65i93c1s7qg&ratio=720p&line=0张惠妹精选10首(1小时)$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="张惠妹精选10首" tvg-name="张惠妹精选10首" group-title="更新时间",张惠妹精选10首(1小时) https://www.iesdouyin.com/aweme/v1/playwm/?video_id=v0200fg10000cpfe9nfog65hhstjqpn0&ratio=720p&line=0$LR•IPV4 #EXTINF:-1 tvg-id="刘若英精选50首" tvg-name="刘若英精选50首" group-title="更新时间",刘若英精选50首(3小时) @@ -1844,17 +1846,17 @@ https://streamipcfapp.akamaized.net/live/_definst_/live_720/key_b1500.m3u8$LR• #EXTINF:-1 tvg-id="Indigenous TV" tvg-name="Indigenous TV" group-title="Culture",Indigenous TV (720p) http://streamipcf.akamaized.net/live/_definst_/smil:liveabr.smil/playlist.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="睛彩羽毛球" tvg-name="睛彩羽毛球" group-title="体育频道",睛彩羽毛球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7332&tk=e640d0a1bf70$LR•IPV4•6『线路1』 +http://drive.mxmy.net:8888/udp/239.3.1.127:8001$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="睛彩羽毛球" tvg-name="睛彩羽毛球" group-title="体育频道",睛彩羽毛球 http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0009&tk=b53028476470$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="睛彩羽毛球" tvg-name="睛彩羽毛球" group-title="体育频道",睛彩羽毛球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4844&tk=97475bb89d45$LR•IPV4•6『线路3』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7332&tk=e640d0a1bf70$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="睛彩羽毛球" tvg-name="睛彩羽毛球" group-title="体育频道",睛彩羽毛球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1257&tk=f6cc1e0a0e1a$LR•IPV4•6『线路4』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2409&tk=e503191f8e20$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="睛彩羽毛球" tvg-name="睛彩羽毛球" group-title="体育频道",睛彩羽毛球 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2409&tk=e503191f8e20$LR•IPV4•6『线路5』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4844&tk=97475bb89d45$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="睛彩羽毛球" tvg-name="睛彩羽毛球" group-title="体育频道",睛彩羽毛球 -http://drive.mxmy.net:8888/udp/239.3.1.127:8001$LR•IPV4•6『线路6』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1257&tk=f6cc1e0a0e1a$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="JSPORTS1" tvg-name="JSPORTS1" group-title="体育频道",J_SPORTS_1 https://stream01.willfonk.com/live_playlist.m3u8?cid=BS242&r=FHD&ccode=JP&m=d0:20:20:04:35:cc&t=0d6938cb3dcf4b79848bc1753a59daf1$LR•IPV4 #EXTINF:-1 tvg-id="JSPORTS2" tvg-name="JSPORTS2" group-title="体育频道",J_SPORTS_2 @@ -1870,17 +1872,17 @@ https://stream1.freetv.fun/dazn-sport-2-1.ctv$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="DAZN2" tvg-name="DAZN2" group-title="体育频道",DAZN2 http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5145&tk=e640d0a1bf70$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="skysports" tvg-name="skysports" group-title="体育频道",skysports -https://stream1.freetv.fun/skysports-14.ctv$LR•IPV4•8『线路1』 +https://stream1.freetv.fun/skysports-12.ctv$LR•IPV4•8『线路1』 #EXTINF:-1 tvg-id="skysports" tvg-name="skysports" group-title="体育频道",skysports -https://stream1.freetv.fun/skysports-16.ctv$LR•IPV4•8『线路2』 +https://stream1.freetv.fun/skysports-3.ctv$LR•IPV4•8『线路2』 #EXTINF:-1 tvg-id="skysports" tvg-name="skysports" group-title="体育频道",skysports -https://stream1.freetv.fun/skysports-12.ctv$LR•IPV4•8『线路3』 +https://stream1.freetv.fun/skysports-16.ctv$LR•IPV4•8『线路3』 #EXTINF:-1 tvg-id="skysports" tvg-name="skysports" group-title="体育频道",skysports -https://stream1.freetv.fun/skysports-3.ctv$LR•IPV4•8『线路4』 +https://stream1.freetv.fun/skysports-15.ctv$LR•IPV4•8『线路4』 #EXTINF:-1 tvg-id="skysports" tvg-name="skysports" group-title="体育频道",skysports https://stream1.freetv.fun/skysports-7.ctv$LR•IPV4•8『线路5』 #EXTINF:-1 tvg-id="skysports" tvg-name="skysports" group-title="体育频道",skysports -https://stream1.freetv.fun/skysports-15.ctv$LR•IPV4•8『线路6』 +https://stream1.freetv.fun/skysports-14.ctv$LR•IPV4•8『线路6』 #EXTINF:-1 tvg-id="skysports" tvg-name="skysports" group-title="体育频道",skysports https://stream1.freetv.fun/skysports-17.ctv$LR•IPV4•8『线路7』 #EXTINF:-1 tvg-id="skysports" tvg-name="skysports" group-title="体育频道",skysports @@ -1918,31 +1920,31 @@ http://23.237.104.106:8080/USA_HBO/index.m3u8$LR•IPV4•15『线路1』 #EXTINF:-1 tvg-id="HBO" tvg-name="HBO" group-title="💓专享源🅰️",HBO http://23.237.104.106:8080/USA_HBO2/index.m3u8$LR•IPV4•15『线路2』 #EXTINF:-1 tvg-id="HBO" tvg-name="HBO" group-title="💓专享源🅰️",HBO -http://23.237.104.106:8080/USA_HBO/tracks-v1a1/mono.m3u8$LR•IPV4•15『线路3』 +https://live-manifest.production-public.tubi.io/live/9fe78734-1db2-49b4-af7b-3c89f5f256ad/playlist.m3u8$LR•IPV4•15『线路3』 #EXTINF:-1 tvg-id="HBO" tvg-name="HBO" group-title="💓专享源🅰️",HBO -http://23.237.104.106:8080/USA_HBO2/tracks-v1a1/mono.m3u8$LR•IPV4•15『线路4』 +p3p://167.114.175.6:55331/66d22f6b0001f87c739b69c977f063dd$LR•IPV4•15『线路4』 #EXTINF:-1 tvg-id="HBO" tvg-name="HBO" group-title="💓专享源🅰️",HBO -http://23.237.104.106:8080/USA_HBO_COMEDY/tracks-v1a1/mono.m3u8$LR•IPV4•15『线路5』 +p3p://167.114.175.6:55331/623a6e38000091d497395ce957b27132$LR•IPV4•15『线路5』 #EXTINF:-1 tvg-id="HBO" tvg-name="HBO" group-title="💓专享源🅰️",HBO -http://23.237.104.106:8080/USA_HBO_ZONE/tracks-v1a1/mono.m3u8$LR•IPV4•15『线路6』 +p3p://167.114.175.6:55331/623a706d0003edf59741fcc023dc0089$LR•IPV4•15『线路6』 #EXTINF:-1 tvg-id="HBO" tvg-name="HBO" group-title="💓专享源🅰️",HBO -http://108.181.20.255:27347/livehttpplay?channel_id=23049$LR•IPV4•15『线路7』 +p3p://167.114.175.6:55331/623a700000069676974053b555b700d4$LR•IPV4•15『线路7』 #EXTINF:-1 tvg-id="HBO" tvg-name="HBO" group-title="💓专享源🅰️",HBO -p3p://167.114.175.6:55331/66d22f6b0001f87c739b69c977f063dd$LR•IPV4•15『线路8』 +p3p://167.114.175.6:55331/64e364fb000a0212a977a1cd342976da$LR•IPV4•15『线路8』 #EXTINF:-1 tvg-id="HBO" tvg-name="HBO" group-title="💓专享源🅰️",HBO -p3p://167.114.175.6:55331/623a6e38000091d497395ce957b27132$LR•IPV4•15『线路9』 +p3p://167.114.175.6:55331/65d07877000b028d4787830a723c4ce7$LR•IPV4•15『线路9』 #EXTINF:-1 tvg-id="HBO" tvg-name="HBO" group-title="💓专享源🅰️",HBO -p3p://167.114.175.6:55331/623a706d0003edf59741fcc023dc0089$LR•IPV4•15『线路10』 +http://125.227.210.55:8153/VideoInput/play.ts$LR•IPV4•15『线路10』 #EXTINF:-1 tvg-id="HBO" tvg-name="HBO" group-title="💓专享源🅰️",HBO -p3p://167.114.175.6:55331/623a700000069676974053b555b700d4$LR•IPV4•15『线路11』 +http://23.237.104.106:8080/USA_HBO/tracks-v1a1/mono.m3u8$LR•IPV4•15『线路11』 #EXTINF:-1 tvg-id="HBO" tvg-name="HBO" group-title="💓专享源🅰️",HBO -p3p://167.114.175.6:55331/64e364fb000a0212a977a1cd342976da$LR•IPV4•15『线路12』 +http://23.237.104.106:8080/USA_HBO2/tracks-v1a1/mono.m3u8$LR•IPV4•15『线路12』 #EXTINF:-1 tvg-id="HBO" tvg-name="HBO" group-title="💓专享源🅰️",HBO -p3p://167.114.175.6:55331/65d07877000b028d4787830a723c4ce7$LR•IPV4•15『线路13』 +http://23.237.104.106:8080/USA_HBO_COMEDY/tracks-v1a1/mono.m3u8$LR•IPV4•15『线路13』 #EXTINF:-1 tvg-id="HBO" tvg-name="HBO" group-title="💓专享源🅰️",HBO -http://125.227.210.55:8153/VideoInput/play.ts$LR•IPV4•15『线路14』 +http://23.237.104.106:8080/USA_HBO_ZONE/tracks-v1a1/mono.m3u8$LR•IPV4•15『线路14』 #EXTINF:-1 tvg-id="HBO" tvg-name="HBO" group-title="💓专享源🅰️",HBO -https://live-manifest.production-public.tubi.io/live/9fe78734-1db2-49b4-af7b-3c89f5f256ad/playlist.m3u8$LR•IPV4•15『线路15』 +http://108.181.20.255:27347/livehttpplay?channel_id=23049$LR•IPV4•15『线路15』 #EXTINF:-1 tvg-id="▶️哪吒1魔童降世" tvg-name="▶️哪吒1魔童降世" group-title="💓专享源🅰️",▶️哪吒1魔童降世 https://vip.ffzy-play7.com/20221111/3098_4ec0b2e9/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="🔀复仇者联盟1" tvg-name="🔀复仇者联盟1" group-title="💓专享源🅰️",🔀复仇者联盟1 @@ -2272,91 +2274,91 @@ https://cdn-ue1-prod.tsv2.amagi.tv/linear/ldsAAAAAA-timeline-samsungau/playlist. #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY https://9e754fa707344ccca6d84955c8fcaf36.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/RlaxxTV-eu_AutenticHistory/playlist.m3u8$LR•IPV4•45『线路2』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -http://37.27.111.214:8080/live/27/hls.m3u8$LR•IPV4•45『线路3』 +https://d3181anftsyl2u.cloudfront.net/v1/aenetworks_alone_1/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•45『线路3』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -http://free.cnlive.club/channel/n20a85c83/index.m3u8?q=1752629214236$LR•IPV4•45『线路4』 +https://pb-k9ikw6ov8z4qi.akamaized.net/American_Pickers_by_History.m3u8$LR•IPV4•45『线路4』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -p3p://167.114.175.6:55331/6233e1a30007e08d7da4ab21717b3e79$LR•IPV4•45『线路5』 +https://jmp2.uk/plu-62fb9844db5a4a0007ebc2a3.m3u8$LR•IPV4•45『线路5』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://d3181anftsyl2u.cloudfront.net/v1/aenetworks_alone_1/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•45『线路6』 +https://pb-162j8hrspp1iq.akamaized.net/History_365.m3u8$LR•IPV4•45『线路6』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://pb-k9ikw6ov8z4qi.akamaized.net/American_Pickers_by_History.m3u8$LR•IPV4•45『线路7』 +https://jmp2.uk/plu-69dd5d7bfcb9bf5e3063cb16.m3u8$LR•IPV4•45『线路7』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://jmp2.uk/plu-62fb9844db5a4a0007ebc2a3.m3u8$LR•IPV4•45『线路8』 +https://d1nzda2a2b3swt.cloudfront.net/History_Warfare_Now.m3u8$LR•IPV4•45『线路8』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://pb-162j8hrspp1iq.akamaized.net/History_365.m3u8$LR•IPV4•45『线路9』 +https://d28gzbv9fhdm3h.cloudfront.net/playlist/amg00376-magellantv-historyandwarfarenowaunzin-samsungau/playlist.m3u8$LR•IPV4•45『线路9』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://jmp2.uk/plu-69dd5d7bfcb9bf5e3063cb16.m3u8$LR•IPV4•45『线路10』 +https://amg00376-magellan-amg00376c19-samsung-nz-1735.playouts.now.amagi.tv/playlist/amg00376-magellantv-historyandwarfarenowaunzin-samsungnz/playlist.m3u8$LR•IPV4•45『线路10』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://d1nzda2a2b3swt.cloudfront.net/History_Warfare_Now.m3u8$LR•IPV4•45『线路11』 +https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/0NPOY54L3YURIZHAY396/hls3/now,-1m/m.m3u8?ads.vf=qEyxmCFMVta$LR•IPV4•45『线路11』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://d28gzbv9fhdm3h.cloudfront.net/playlist/amg00376-magellantv-historyandwarfarenowaunzin-samsungau/playlist.m3u8$LR•IPV4•45『线路12』 +https://amg00841-amg00841c7-rakuten-uk-2820.playouts.now.amagi.tv/playlist/amg00841-aeemeafast-historyhuntersrakuten-rakutenuk/playlist.m3u8$LR•IPV4•45『线路12』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://amg00376-magellan-amg00376c19-samsung-nz-1735.playouts.now.amagi.tv/playlist/amg00376-magellantv-historyandwarfarenowaunzin-samsungnz/playlist.m3u8$LR•IPV4•45『线路13』 +https://amg00841-amg00841c9-samsung-gb-3032.playouts.now.amagi.tv/playlist/amg00841-aeemeafast-historyhunterssamsung-samsunggb/playlist.m3u8$LR•IPV4•45『线路13』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/0NPOY54L3YURIZHAY396/hls3/now,-1m/m.m3u8?ads.vf=qEyxmCFMVta$LR•IPV4•45『线路14』 +https://jmp2.uk/plu-65819fc1b9adc4000813f37d.m3u8$LR•IPV4•45『线路14』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://amg00841-amg00841c7-rakuten-uk-2820.playouts.now.amagi.tv/playlist/amg00841-aeemeafast-historyhuntersrakuten-rakutenuk/playlist.m3u8$LR•IPV4•45『线路15』 +https://jmp2.uk/plu-65775d29dfed030008cb3db2.m3u8$LR•IPV4•45『线路15』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://amg00841-amg00841c9-samsung-gb-3032.playouts.now.amagi.tv/playlist/amg00841-aeemeafast-historyhunterssamsung-samsunggb/playlist.m3u8$LR•IPV4•45『线路16』 +https://pb-m89wlp8flmjzf.akamaized.net/v1/aenetworks_modernmarvels_1/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•45『线路16』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://jmp2.uk/plu-65819fc1b9adc4000813f37d.m3u8$LR•IPV4•45『线路17』 +https://amg02333-pbs-amg02333c1-samsung-au-1253.playouts.now.amagi.tv/playlist/amg02333-pbsdistributionfast-pbshistory-samsungau/playlist.m3u8$LR•IPV4•45『线路17』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://jmp2.uk/plu-65775d29dfed030008cb3db2.m3u8$LR•IPV4•45『线路18』 +https://amg02333-pbs-amg02333c1-samsung-nz-1254.playouts.now.amagi.tv/playlist/amg02333-pbsdistributionfast-pbshistory-samsungnz/playlist.m3u8$LR•IPV4•45『线路18』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://pb-m89wlp8flmjzf.akamaized.net/v1/aenetworks_modernmarvels_1/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•45『线路19』 +https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/true-history/playlist.m3u8?ads.vf=G1hGexOV3sS$LR•IPV4•45『线路19』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://amg02333-pbs-amg02333c1-samsung-au-1253.playouts.now.amagi.tv/playlist/amg02333-pbsdistributionfast-pbshistory-samsungau/playlist.m3u8$LR•IPV4•45『线路20』 +https://linear-188.frequency.stream/dist/xumo/188/hls/master/playlist.m3u8$LR•IPV4•45『线路20』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://amg02333-pbs-amg02333c1-samsung-nz-1254.playouts.now.amagi.tv/playlist/amg02333-pbsdistributionfast-pbshistory-samsungnz/playlist.m3u8$LR•IPV4•45『线路21』 +https://jmp2.uk/plu-6000a6f4c3f8550008fc9b91.m3u8$LR•IPV4•45『线路21』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/true-history/playlist.m3u8?ads.vf=G1hGexOV3sS$LR•IPV4•45『线路22』 +https://dxagbr7yc4m1d.cloudfront.net/v1/aenetworks_skills_thrills_1/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•45『线路22』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://linear-188.frequency.stream/dist/xumo/188/hls/master/playlist.m3u8$LR•IPV4•45『线路23』 +https://rpn.bozztv.com/gusa/gusa-tvshollywoohistory/index.m3u8$LR•IPV4•45『线路23』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://jmp2.uk/plu-6000a6f4c3f8550008fc9b91.m3u8$LR•IPV4•45『线路24』 +http://213.91.179.28:8000/play/a0c1$LR•IPV4•45『线路24』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://dxagbr7yc4m1d.cloudfront.net/v1/aenetworks_skills_thrills_1/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•45『线路25』 +http://177.52.24.163/HISTORY-HD/index.m3u8$LR•IPV4•45『线路25』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://rpn.bozztv.com/gusa/gusa-tvshollywoohistory/index.m3u8$LR•IPV4•45『线路26』 +http://88.212.15.19/live/test_history/playlist.m3u8$LR•IPV4•45『线路26』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -http://213.91.179.28:8000/play/a0c1$LR•IPV4•45『线路27』 +http://82.78.243.219:45739/play/a01f/index.m3u8$LR•IPV4•45『线路27』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -http://177.52.24.163/HISTORY-HD/index.m3u8$LR•IPV4•45『线路28』 +http://206.212.244.63/91/index.m3u8$LR•IPV4•45『线路28』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -http://88.212.15.19/live/test_history/playlist.m3u8$LR•IPV4•45『线路29』 +http://138.121.15.230:9002/HISTORY-2/index.m3u8$LR•IPV4•45『线路29』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -http://82.78.243.219:45739/play/a01f/index.m3u8$LR•IPV4•45『线路30』 +http://45.162.231.38:7779/History_2/index.m3u8$LR•IPV4•45『线路30』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -http://206.212.244.63/91/index.m3u8$LR•IPV4•45『线路31』 +https://streamer12.xploretv.si/__cl/cg:prod/__c/A1_SI_HISTORYHD_ott/__op/dash-default/__dci/__f/index.m3u8?admin=xploreTv_test_user&redirect=true$LR•IPV4•45『线路31』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -http://138.121.15.230:9002/HISTORY-2/index.m3u8$LR•IPV4•45『线路32』 +https://lds-timeline-rakuten.amagi.tv/playlist.m3u8$LR•IPV4•45『线路32』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -http://45.162.231.38:7779/History_2/index.m3u8$LR•IPV4•45『线路33』 +http://138.121.15.230:9002/HISTORY-CHANNEL/index.m3u8$LR•IPV4•45『线路33』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://streamer12.xploretv.si/__cl/cg:prod/__c/A1_SI_HISTORYHD_ott/__op/dash-default/__dci/__f/index.m3u8?admin=xploreTv_test_user&redirect=true$LR•IPV4•45『线路34』 +http://103.72.101.252:8080/live/1471.m3u8$LR•IPV4•45『线路34』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://lds-timeline-rakuten.amagi.tv/playlist.m3u8$LR•IPV4•45『线路35』 +http://103.154.3.101:5001/live/577.m3u8$LR•IPV4•45『线路35』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -http://138.121.15.230:9002/HISTORY-CHANNEL/index.m3u8$LR•IPV4•45『线路36』 +https://jmp2.uk/plu-5d767b1c126c65d0a307355f.m3u8$LR•IPV4•45『线路36』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -http://103.72.101.252:8080/live/1471.m3u8$LR•IPV4•45『线路37』 +https://jmp2.uk/plu-5d4af1803e7983b391d73b13.m3u8$LR•IPV4•45『线路37』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -http://103.154.3.101:5001/live/577.m3u8$LR•IPV4•45『线路38』 +https://jmp2.uk/plu-5a4d35dfa5c02e717a234f86.m3u8$LR•IPV4•45『线路38』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://jmp2.uk/plu-5d767b1c126c65d0a307355f.m3u8$LR•IPV4•45『线路39』 +http://185.102.171.218/ViasatHistory/index.m3u8$LR•IPV4•45『线路39』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://jmp2.uk/plu-5d4af1803e7983b391d73b13.m3u8$LR•IPV4•45『线路40』 +http://315e5a5d.ottrast.com/iptv/8XFKA8883W9M5K/12101/index.m3u8$LR•IPV4•45『线路40』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://jmp2.uk/plu-5a4d35dfa5c02e717a234f86.m3u8$LR•IPV4•45『线路41』 +https://lb.dstvmultimedia.com/ViasatHistory/index.m3u8$LR•IPV4•45『线路41』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -http://185.102.171.218/ViasatHistory/index.m3u8$LR•IPV4•45『线路42』 +http://178.124.179.122:8080/HistoryHD/index.m3u8$LR•IPV4•45『线路42』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -http://315e5a5d.ottrast.com/iptv/8XFKA8883W9M5K/12101/index.m3u8$LR•IPV4•45『线路43』 +http://37.27.111.214:8080/live/27/hls.m3u8$LR•IPV4•45『线路43』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -https://lb.dstvmultimedia.com/ViasatHistory/index.m3u8$LR•IPV4•45『线路44』 +http://free.cnlive.club/channel/n20a85c83/index.m3u8?q=1752629214236$LR•IPV4•45『线路44』 #EXTINF:-1 tvg-id="HISTORY" tvg-name="HISTORY" group-title="💓台湾台📶",HISTORY -http://178.124.179.122:8080/HistoryHD/index.m3u8$LR•IPV4•45『线路45』 +p3p://167.114.175.6:55331/6233e1a30007e08d7da4ab21717b3e79$LR•IPV4•45『线路45』 #EXTINF:-1 tvg-id="斯诺克" tvg-name="斯诺克" group-title="🏈体育赛事🏆️",斯诺克 https://live.ottiptv.cc/huya/880214$LR•IPV4 #EXTINF:-1 tvg-id="视频8M1080咪视通1" tvg-name="视频8M1080咪视通1" group-title="🏈体育赛事🏆️",视频_8M1080_咪视通-1 @@ -2590,63 +2592,63 @@ https://stream1.freetv.fun/jsports-1-1.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="JSPORTS2" tvg-name="JSPORTS2" group-title="⚽️SPORTS",JSPORTS2 https://stream1.freetv.fun/jsports-2-2.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="MLB NETWORK" tvg-name="MLB NETWORK" group-title="⚽️SPORTS",MLB NETWORK -http://fl2.moveonjoy.com/MLB_NETWORK/index.m3u8$LR•IPV4•2『线路1』 +http://40.160.24.52/MLB_Network/index.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="MLB NETWORK" tvg-name="MLB NETWORK" group-title="⚽️SPORTS",MLB NETWORK -http://40.160.24.52/MLB_Network/index.m3u8$LR•IPV4•2『线路2』 +http://fl2.moveonjoy.com/MLB_NETWORK/index.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="FOX Sports" tvg-name="FOX Sports" group-title="⚽️SPORTS",FOX Sports -http://108.181.20.255:27347/livehttpplay?channel_id=23055$LR•IPV4•10『线路1』 +https://d1jzu95oc8fgt3.cloudfront.net/FOX_Sports.m3u8$LR•IPV4•10『线路1』 #EXTINF:-1 tvg-id="FOX Sports" tvg-name="FOX Sports" group-title="⚽️SPORTS",FOX Sports -https://d1jzu95oc8fgt3.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-zyqcok4bm0lgq/FOX_Sports.m3u8$LR•IPV4•10『线路2』 +https://amg02855-foxsports-amg02855c1-xumo-us-1755.playouts.now.amagi.tv/Fox-Sports-AmazonNews/playlist.m3u8$LR•IPV4•10『线路2』 #EXTINF:-1 tvg-id="FOX Sports" tvg-name="FOX Sports" group-title="⚽️SPORTS",FOX Sports -http://fl2.moveonjoy.com/FOX_Sports_1/index.m3u8$LR•IPV4•10『线路3』 +https://live-manifest.production-public.tubi.io/live/6035c7fd-efff-4ec7-93dc-aa0c7a58ba47/playlist.m3u8$LR•IPV4•10『线路3』 #EXTINF:-1 tvg-id="FOX Sports" tvg-name="FOX Sports" group-title="⚽️SPORTS",FOX Sports -https://d1jzu95oc8fgt3.cloudfront.net/FOX_Sports.m3u8$LR•IPV4•10『线路4』 +http://200.91.32.158:8080/foxsports/index.m3u8$LR•IPV4•10『线路4』 #EXTINF:-1 tvg-id="FOX Sports" tvg-name="FOX Sports" group-title="⚽️SPORTS",FOX Sports -https://amg02855-foxsports-amg02855c1-xumo-us-1755.playouts.now.amagi.tv/Fox-Sports-AmazonNews/playlist.m3u8$LR•IPV4•10『线路5』 +https://streamvidex.qzz.io/videx/fox1usa/index.m3u8$LR•IPV4•10『线路5』 #EXTINF:-1 tvg-id="FOX Sports" tvg-name="FOX Sports" group-title="⚽️SPORTS",FOX Sports -https://live-manifest.production-public.tubi.io/live/6035c7fd-efff-4ec7-93dc-aa0c7a58ba47/playlist.m3u8$LR•IPV4•10『线路6』 +http://200.91.32.158:8080/foxsports2/index.m3u8$LR•IPV4•10『线路6』 #EXTINF:-1 tvg-id="FOX Sports" tvg-name="FOX Sports" group-title="⚽️SPORTS",FOX Sports -http://200.91.32.158:8080/foxsports/index.m3u8$LR•IPV4•10『线路7』 +http://200.91.32.158:8080/foxsports3/index.m3u8$LR•IPV4•10『线路7』 #EXTINF:-1 tvg-id="FOX Sports" tvg-name="FOX Sports" group-title="⚽️SPORTS",FOX Sports -https://streamvidex.qzz.io/videx/fox1usa/index.m3u8$LR•IPV4•10『线路8』 +http://fl2.moveonjoy.com/FOX_Sports_1/index.m3u8$LR•IPV4•10『线路8』 #EXTINF:-1 tvg-id="FOX Sports" tvg-name="FOX Sports" group-title="⚽️SPORTS",FOX Sports -http://200.91.32.158:8080/foxsports2/index.m3u8$LR•IPV4•10『线路9』 +http://108.181.20.255:27347/livehttpplay?channel_id=23055$LR•IPV4•10『线路9』 #EXTINF:-1 tvg-id="FOX Sports" tvg-name="FOX Sports" group-title="⚽️SPORTS",FOX Sports -http://200.91.32.158:8080/foxsports3/index.m3u8$LR•IPV4•10『线路10』 +https://d1jzu95oc8fgt3.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-zyqcok4bm0lgq/FOX_Sports.m3u8$LR•IPV4•10『线路10』 #EXTINF:-1 tvg-id="NBA" tvg-name="NBA" group-title="⚽️SPORTS",NBA -https://stream1.freetv.fun/nba-tv-5.m3u8$LR•IPV4•10『线路1』 +https://live-manifest.production-public.tubi.io/live/553b8d5e-fd2a-4a61-bdfa-73b34c299d75/playlist.m3u8$LR•IPV4•10『线路1』 #EXTINF:-1 tvg-id="NBA" tvg-name="NBA" group-title="⚽️SPORTS",NBA -https://stream1.freetv.fun/nba-tv-7.m3u8$LR•IPV4•10『线路2』 +https://jmp2.uk/plu-6792c30abc03978b9b8bb832.m3u8$LR•IPV4•10『线路2』 #EXTINF:-1 tvg-id="NBA" tvg-name="NBA" group-title="⚽️SPORTS",NBA -https://t.freetv.fun/live/nba-tv.m3u8$LR•IPV4•10『线路3』 +https://amg00556-amg00556c3-firetv-us-6060.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•10『线路3』 #EXTINF:-1 tvg-id="NBA" tvg-name="NBA" group-title="⚽️SPORTS",NBA -http://103.148.44.38:8000/play/a03m/index.m3u8$LR•IPV4•10『线路4』 +http://user.scalecdn.co:8080/live/54706135/09221986/3092.m3u8$LR•IPV4•10『线路4』 #EXTINF:-1 tvg-id="NBA" tvg-name="NBA" group-title="⚽️SPORTS",NBA -http://170.yfvodcdn.com:19980/live/nbaTV2/hls.m3u8$LR•IPV4•10『线路5』 +https://t.freetv.fun/live/nba-tv.m3u8$LR•IPV4•10『线路5』 #EXTINF:-1 tvg-id="NBA" tvg-name="NBA" group-title="⚽️SPORTS",NBA -p3p://167.114.175.6:55331/65a587500007bc039fca3566638e69af$LR•IPV4•10『线路6』 +https://stream1.freetv.fun/nba-tv-5.m3u8$LR•IPV4•10『线路6』 #EXTINF:-1 tvg-id="NBA" tvg-name="NBA" group-title="⚽️SPORTS",NBA -https://live-manifest.production-public.tubi.io/live/553b8d5e-fd2a-4a61-bdfa-73b34c299d75/playlist.m3u8$LR•IPV4•10『线路7』 +https://stream1.freetv.fun/nba-tv-7.m3u8$LR•IPV4•10『线路7』 #EXTINF:-1 tvg-id="NBA" tvg-name="NBA" group-title="⚽️SPORTS",NBA -https://jmp2.uk/plu-6792c30abc03978b9b8bb832.m3u8$LR•IPV4•10『线路8』 +http://170.yfvodcdn.com:19980/live/nbaTV2/hls.m3u8$LR•IPV4•10『线路8』 #EXTINF:-1 tvg-id="NBA" tvg-name="NBA" group-title="⚽️SPORTS",NBA -https://amg00556-amg00556c3-firetv-us-6060.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•10『线路9』 +p3p://167.114.175.6:55331/65a587500007bc039fca3566638e69af$LR•IPV4•10『线路9』 #EXTINF:-1 tvg-id="NBA" tvg-name="NBA" group-title="⚽️SPORTS",NBA -http://user.scalecdn.co:8080/live/54706135/09221986/3092.m3u8$LR•IPV4•10『线路10』 +http://103.148.44.38:8000/play/a03m/index.m3u8$LR•IPV4•10『线路10』 #EXTINF:-1 tvg-id="ESPN" tvg-name="ESPN" group-title="⚽️SPORTS",ESPN -http://200.10.30.241:8000/play/a01r/index.m3u8$LR•IPV4•7『线路1』 +http://181.78.197.59:8000/play/a07z/index.m3u8$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="ESPN" tvg-name="ESPN" group-title="⚽️SPORTS",ESPN -http://41.205.93.154/ESPN/index.m3u8$LR•IPV4•7『线路2』 +http://181.78.197.59:8000/play/a081/index.m3u8$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="ESPN" tvg-name="ESPN" group-title="⚽️SPORTS",ESPN -http://38.96.178.201:80/live/ESPNHD/index.m3u8$LR•IPV4•7『线路3』 +http://181.78.197.59:8000/play/a07n/index.m3u8$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="ESPN" tvg-name="ESPN" group-title="⚽️SPORTS",ESPN -http://181.78.197.59:8000/play/a07z/index.m3u8$LR•IPV4•7『线路4』 +http://40.160.24.58/ESPN_DEPORTES/index.m3u8$LR•IPV4•7『线路4』 #EXTINF:-1 tvg-id="ESPN" tvg-name="ESPN" group-title="⚽️SPORTS",ESPN -http://181.78.197.59:8000/play/a081/index.m3u8$LR•IPV4•7『线路5』 +http://41.205.93.154/ESPN/index.m3u8$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="ESPN" tvg-name="ESPN" group-title="⚽️SPORTS",ESPN -http://181.78.197.59:8000/play/a07n/index.m3u8$LR•IPV4•7『线路6』 +http://38.96.178.201:80/live/ESPNHD/index.m3u8$LR•IPV4•7『线路6』 #EXTINF:-1 tvg-id="ESPN" tvg-name="ESPN" group-title="⚽️SPORTS",ESPN -http://40.160.24.58/ESPN_DEPORTES/index.m3u8$LR•IPV4•7『线路7』 +http://200.10.30.241:8000/play/a01r/index.m3u8$LR•IPV4•7『线路7』 #EXTINF:-1 tvg-id="緯來體育" tvg-name="緯來體育" group-title="⚽️SPORTS",緯來體育 http://live4play.uk/livehttpplay?channel_id=20120$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="緯來體育" tvg-name="緯來體育" group-title="⚽️SPORTS",緯來體育 @@ -2692,9 +2694,9 @@ https://vip.ffzy-play6.com/20221129/9336_58c74ab9/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="火星没事" tvg-name="火星没事" group-title="🎞️电影点播",火星没事 https://vip.ffzy-play2.com/20221021/232_89153806/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="霍元甲" tvg-name="霍元甲" group-title="🎞️电影点播",霍元甲 -https://cfss.cc/api/kg/596581.mp4$LR•IPV4•2『线路1』 +https://vip.ffzy-play2.com/20221021/234_50a8a4b6/index.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="霍元甲" tvg-name="霍元甲" group-title="🎞️电影点播",霍元甲 -https://vip.ffzy-play2.com/20221021/234_50a8a4b6/index.m3u8$LR•IPV4•2『线路2』 +https://cfss.cc/api/kg/596581.mp4$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="急先锋" tvg-name="急先锋" group-title="🎞️电影点播",急先锋 https://vip.ffzy-play6.com/20221113/6503_476b3f6c/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="记忆切割" tvg-name="记忆切割" group-title="🎞️电影点播",记忆切割 @@ -2706,17 +2708,17 @@ https://vip.ffzy-play6.com/20221206/10068_4bfccafe/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="建党伟业" tvg-name="建党伟业" group-title="🎞️电影点播",建党伟业 https://vip.ffzy-play6.com/20221019/168_f44e1477/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="江湖" tvg-name="江湖" group-title="🎞️电影点播",江湖 -http://cdn.jdshipin.com:8880/huya.php?id=23865142$LR•IPV4•6『线路1』 +https://vip.ffzy-play6.com/20221019/84_a64c541f/index.m3u8$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="江湖" tvg-name="江湖" group-title="🎞️电影点播",江湖 -https://vip.ffzy-play6.com/20221019/84_a64c541f/index.m3u8$LR•IPV4•6『线路2』 +https://vip.ffzy-play7.com/20221115/4682_5ffb4872/index.m3u8$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="江湖" tvg-name="江湖" group-title="🎞️电影点播",江湖 -https://vip.ffzy-play7.com/20221115/4682_5ffb4872/index.m3u8$LR•IPV4•6『线路3』 +https://vip.ffzy-play7.com/20230205/13419_960c8951/index.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="江湖" tvg-name="江湖" group-title="🎞️电影点播",江湖 -https://vip.ffzy-play7.com/20230205/13419_960c8951/index.m3u8$LR•IPV4•6『线路4』 +https://vip.ffzy-play7.com/20221115/4681_38b34b56/index.m3u8$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="江湖" tvg-name="江湖" group-title="🎞️电影点播",江湖 -https://vip.ffzy-play7.com/20221115/4681_38b34b56/index.m3u8$LR•IPV4•6『线路5』 +https://vip.ffzy-play.com/20221017/1755_28d3688d/index.m3u8$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="江湖" tvg-name="江湖" group-title="🎞️电影点播",江湖 -https://vip.ffzy-play.com/20221017/1755_28d3688d/index.m3u8$LR•IPV4•6『线路6』 +http://cdn.jdshipin.com:8880/huya.php?id=23865142$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="僵尸先生" tvg-name="僵尸先生" group-title="🎞️电影点播",僵尸先生 https://vip.ffzy-play7.com/20230507/24165_799a7b4a/index.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="僵尸先生" tvg-name="僵尸先生" group-title="🎞️电影点播",僵尸先生 @@ -2774,9 +2776,9 @@ https://vip.ffzy-play7.com/20221115/4538_ddf6020e/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="灵幻至尊" tvg-name="灵幻至尊" group-title="🎞️电影点播",灵幻至尊 https://vip.ffzy-play7.com/20221112/3550_cbc3226a/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="龙拳" tvg-name="龙拳" group-title="🎞️电影点播",龙拳 -https://cfss.cc/api/kg/759385.mp4$LR•IPV4•2『线路1』 +https://vip.ffzy-play6.com/20221128/9052_3612e0ff/index.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="龙拳" tvg-name="龙拳" group-title="🎞️电影点播",龙拳 -https://vip.ffzy-play6.com/20221128/9052_3612e0ff/index.m3u8$LR•IPV4•2『线路2』 +https://cfss.cc/api/kg/759385.mp4$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="龙少爷" tvg-name="龙少爷" group-title="🎞️电影点播",龙少爷 https://vip.ffzy-play7.com/20221115/4703_5132dc98/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="龙的心" tvg-name="龙的心" group-title="🎞️电影点播",龙的心 @@ -2904,9 +2906,9 @@ https://vip.ffzy-play7.com/20221117/5218_ad30347f/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="时来运转" tvg-name="时来运转" group-title="🎞️电影点播",时来运转 https://vip.ffzy-play7.com/20221209/9156_396eac04/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="手机" tvg-name="手机" group-title="🎞️电影点播",手机 -https://cfss.cc/api/kg/756738.mp4$LR•IPV4•2『线路1』 +https://vip.ffzy-play6.com/20221019/107_6107b581/index.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="手机" tvg-name="手机" group-title="🎞️电影点播",手机 -https://vip.ffzy-play6.com/20221019/107_6107b581/index.m3u8$LR•IPV4•2『线路2』 +https://cfss.cc/api/kg/756738.mp4$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="甩皮鬼" tvg-name="甩皮鬼" group-title="🎞️电影点播",甩皮鬼 https://vip.ffzy-play6.com/20221112/6431_ce84a705/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="双龙会" tvg-name="双龙会" group-title="🎞️电影点播",双龙会 @@ -3034,23 +3036,23 @@ http://cdn.jdshipin.com:8880/huya.php?id=23824164$LR•IPV4•11『线路1』 #EXTINF:-1 tvg-id="英雄" tvg-name="英雄" group-title="🎞️电影点播",英雄 https://live.ottiptv.cc/yy/1352475619$LR•IPV4•11『线路2』 #EXTINF:-1 tvg-id="英雄" tvg-name="英雄" group-title="🎞️电影点播",英雄 -https://live.ottiptv.cc/huya/11601980$LR•IPV4•11『线路3』 +https://vip.ffzy-play7.com/20221227/9993_9681b67b/index.m3u8$LR•IPV4•11『线路3』 #EXTINF:-1 tvg-id="英雄" tvg-name="英雄" group-title="🎞️电影点播",英雄 -https://live.ottiptv.cc/huya/660000$LR•IPV4•11『线路4』 +https://vip.ffzy-play.com/20221015/981_2ca5b5f9/index.m3u8$LR•IPV4•11『线路4』 #EXTINF:-1 tvg-id="英雄" tvg-name="英雄" group-title="🎞️电影点播",英雄 -https://live.ottiptv.cc/huya/24318577$LR•IPV4•11『线路5』 +https://vip.ffzy-play6.com/20221207/10694_f9088e66/index.m3u8$LR•IPV4•11『线路5』 #EXTINF:-1 tvg-id="英雄" tvg-name="英雄" group-title="🎞️电影点播",英雄 -https://live.ottiptv.cc/huya/21241839$LR•IPV4•11『线路6』 +https://vip.ffzy-play7.com/20221129/7743_4656dd25/index.m3u8$LR•IPV4•11『线路6』 #EXTINF:-1 tvg-id="英雄" tvg-name="英雄" group-title="🎞️电影点播",英雄 -https://vip.ffzy-play7.com/20221227/9993_9681b67b/index.m3u8$LR•IPV4•11『线路7』 +https://vip.ffzy-play6.com/20221112/6371_9b5bf930/index.m3u8$LR•IPV4•11『线路7』 #EXTINF:-1 tvg-id="英雄" tvg-name="英雄" group-title="🎞️电影点播",英雄 -https://vip.ffzy-play.com/20221015/981_2ca5b5f9/index.m3u8$LR•IPV4•11『线路8』 +https://live.ottiptv.cc/huya/11601980$LR•IPV4•11『线路8』 #EXTINF:-1 tvg-id="英雄" tvg-name="英雄" group-title="🎞️电影点播",英雄 -https://vip.ffzy-play6.com/20221207/10694_f9088e66/index.m3u8$LR•IPV4•11『线路9』 +https://live.ottiptv.cc/huya/660000$LR•IPV4•11『线路9』 #EXTINF:-1 tvg-id="英雄" tvg-name="英雄" group-title="🎞️电影点播",英雄 -https://vip.ffzy-play7.com/20221129/7743_4656dd25/index.m3u8$LR•IPV4•11『线路10』 +https://live.ottiptv.cc/huya/24318577$LR•IPV4•11『线路10』 #EXTINF:-1 tvg-id="英雄" tvg-name="英雄" group-title="🎞️电影点播",英雄 -https://vip.ffzy-play6.com/20221112/6371_9b5bf930/index.m3u8$LR•IPV4•11『线路11』 +https://live.ottiptv.cc/huya/21241839$LR•IPV4•11『线路11』 #EXTINF:-1 tvg-id="赢钱专家" tvg-name="赢钱专家" group-title="🎞️电影点播",赢钱专家 https://vip.ffzy-play6.com/20221113/6794_d514b390/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="有话好好说" tvg-name="有话好好说" group-title="🎞️电影点播",有话好好说 @@ -3254,13 +3256,13 @@ https://cdn4.yzzy-tv-cdn.com/20220606/17341_21dfaf46/index.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="科幻动作" tvg-name="科幻动作" group-title="💓电视剧🔁",科幻动作 https://live.metshop.top/huya/11352964$LR•IPV4 #EXTINF:-1 tvg-id="奇幻片" tvg-name="奇幻片" group-title="💓电视剧🔁",奇幻片 -https://live.ottiptv.cc/huya/26355847$LR•IPV4•2『线路1』 +https://live.metshop.top/huya/16149609$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="奇幻片" tvg-name="奇幻片" group-title="💓电视剧🔁",奇幻片 -https://live.metshop.top/huya/16149609$LR•IPV4•2『线路2』 +https://live.ottiptv.cc/huya/26355847$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="悬疑片" tvg-name="悬疑片" group-title="💓电视剧🔁",悬疑片 -https://live.ottiptv.cc/huya/21059530$LR•IPV4•2『线路1』 +https://live.metshop.top/huya/16099968$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="悬疑片" tvg-name="悬疑片" group-title="💓电视剧🔁",悬疑片 -https://live.metshop.top/huya/16099968$LR•IPV4•2『线路2』 +https://live.ottiptv.cc/huya/21059530$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="贺岁合家欢剧场" tvg-name="贺岁合家欢剧场" group-title="💓电视剧🔁",贺岁合家欢剧场 https://live.metshop.top/huya/11602067$LR•IPV4 #EXTINF:-1 tvg-id="滇军抗战" tvg-name="滇军抗战" group-title="💓电视剧🔁",滇军抗战 @@ -3272,11 +3274,11 @@ https://live.ottiptv.cc/huya/11602081$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="三国" tvg-name="三国" group-title="💓电视剧🔁",三国 https://live.ottiptv.cc/huya/11352944$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="三国" tvg-name="三国" group-title="💓电视剧🔁",三国 -http://live.nctv.top/douyu1.php?id=6122419$LR•IPV4•5『线路3』 +https://live.metshop.top/huya/11352944$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="三国" tvg-name="三国" group-title="💓电视剧🔁",三国 -https://live.metshop.top/huya/11352944$LR•IPV4•5『线路4』 +http://103.193.151.146/huya.php?id=29465871$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="三国" tvg-name="三国" group-title="💓电视剧🔁",三国 -http://103.193.151.146/huya.php?id=29465871$LR•IPV4•5『线路5』 +http://live.nctv.top/douyu1.php?id=6122419$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="雍正皇帝" tvg-name="雍正皇帝" group-title="💓电视剧🔁",雍正皇帝 https://live.metshop.top/huya/11342439$LR•IPV4 #EXTINF:-1 tvg-id="许冠英合集" tvg-name="许冠英合集" group-title="💓电视剧🔁",许冠英合集 @@ -3320,9 +3322,9 @@ http://fmbox.cc/huya.php?id=23652317$LR•IPV4 #EXTINF:-1 tvg-id="搞笑一家人" tvg-name="搞笑一家人" group-title="💓电视剧🔁",搞笑一家人 http://fmbox.cc/huya.php?id=11342402$LR•IPV4 #EXTINF:-1 tvg-id="陈翔六点半" tvg-name="陈翔六点半" group-title="💓电视剧🔁",陈翔六点半 -https://live.ottiptv.cc/huya/11274154$LR•IPV4•2『线路1』 +http://fmbox.cc/huya.php?id=11274154$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="陈翔六点半" tvg-name="陈翔六点半" group-title="💓电视剧🔁",陈翔六点半 -http://fmbox.cc/huya.php?id=11274154$LR•IPV4•2『线路2』 +https://live.ottiptv.cc/huya/11274154$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="情深深雨蒙蒙" tvg-name="情深深雨蒙蒙" group-title="💓电视剧🔁",情深深雨蒙蒙 http://fmbox.cc/huya.php?id=11352885$LR•IPV4 #EXTINF:-1 tvg-id="穿越千年之恋" tvg-name="穿越千年之恋" group-title="💓电视剧🔁",穿越千年之恋 @@ -3338,89 +3340,91 @@ http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/2bdfdad540b342f592f #EXTINF:-1 tvg-id="地理中国" tvg-name="地理中国" group-title="💓优质个源",地理中国 http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c6baf6f74bb944aeacee1065ea72c798/1200.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -https://v4-e6b1c5baf4e240fe63adbf68dda23435.livehwc4.com/play.kankanlive.com/live/1698423397390920.m3u8?sub_m3u8=true&edge_slice=true&user_session_id=79c26e6f2fb125746b28b6fb2daee9a6$LR•IPV4•42『线路1』 +https://v4-e6b1c5baf4e240fe63adbf68dda23435.livehwc4.com/play.kankanlive.com/live/1698423397390920.m3u8?sub_m3u8=true&edge_slice=true&user_session_id=528f1a6a1cd548ede0e1b7c5313cc9ca$LR•IPV4•43『线路1』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -https://rt-doc.rttv.com/dvr/rtdru/rtdru1080.m3u8$LR•IPV4•42『线路2』 +https://v4-e6b1c5baf4e240fe63adbf68dda23435.livehwc4.com/play.kankanlive.com/live/1698423397390920.m3u8?sub_m3u8=true&edge_slice=true&user_session_id=79c26e6f2fb125746b28b6fb2daee9a6$LR•IPV4•43『线路2』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -https://rt-rtd.rttv.com/dvr/rtdoc/playlist_4500Kb.m3u8$LR•IPV4•42『线路3』 +http://free.cnlive.club/channel/n3f497a4c/index.m3u8?q=1752629214236$LR•IPV4•43『线路3』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://lsfb.avap.jilintv.cn/zqvk7vpj/channel/da805d8d77a24db8aaa62328eb6d874e/index.m3u8$LR•IPV4•42『线路4』 +http://free.cnlive.club/channel/2ae73b1a/index.m3u8?q=1752629214236$LR•IPV4•43『线路4』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/n3f497a4c/index.m3u8?q=1752629214236$LR•IPV4•42『线路5』 +http://free.cnlive.club/channel/nb957a7c/index.m3u8?q=1752629214236$LR•IPV4•43『线路5』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/2ae73b1a/index.m3u8?q=1752629214236$LR•IPV4•42『线路6』 +http://free.cnlive.club/channel/n3efbe5af/index.m3u8?q=1752629214236$LR•IPV4•43『线路6』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/nb957a7c/index.m3u8?q=1752629214236$LR•IPV4•42『线路7』 +http://free.cnlive.club/channel/1404dfbd/index.m3u8?q=1752629214236$LR•IPV4•43『线路7』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/n3efbe5af/index.m3u8?q=1752629214236$LR•IPV4•42『线路8』 +http://free.cnlive.club/channel/n3287f647/index.m3u8?q=1752629214236$LR•IPV4•43『线路8』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/1404dfbd/index.m3u8?q=1752629214236$LR•IPV4•42『线路9』 +http://free.cnlive.club/channel/n2517f7dd/index.m3u8?q=1752629214236$LR•IPV4•43『线路9』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/n3287f647/index.m3u8?q=1752629214236$LR•IPV4•42『线路10』 +http://free.cnlive.club/channel/4b914480/index.m3u8?q=1752629214236$LR•IPV4•43『线路10』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/n2517f7dd/index.m3u8?q=1752629214236$LR•IPV4•42『线路11』 +http://free.cnlive.club/channel/6272ba2c/index.m3u8?q=1752629214236$LR•IPV4•43『线路11』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/4b914480/index.m3u8?q=1752629214236$LR•IPV4•42『线路12』 +http://free.cnlive.club/channel/24a7393c/index.m3u8?q=1752629214236$LR•IPV4•43『线路12』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/6272ba2c/index.m3u8?q=1752629214236$LR•IPV4•42『线路13』 +http://free.cnlive.club/channel/n75e57aab/index.m3u8?q=1752629214236$LR•IPV4•43『线路13』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/24a7393c/index.m3u8?q=1752629214236$LR•IPV4•42『线路14』 +http://free.cnlive.club/channel/n7852a99f/index.m3u8?q=1752629214236$LR•IPV4•43『线路14』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/n75e57aab/index.m3u8?q=1752629214236$LR•IPV4•42『线路15』 +http://free.cnlive.club/channel/356e7ac6/index.m3u8?q=1752629214236$LR•IPV4•43『线路15』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/n7852a99f/index.m3u8?q=1752629214236$LR•IPV4•42『线路16』 +http://free.cnlive.club/channel/359a630b/index.m3u8?q=1752629214236$LR•IPV4•43『线路16』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/356e7ac6/index.m3u8?q=1752629214236$LR•IPV4•42『线路17』 +http://free.cnlive.club/channel/n7a0c7aec/index.m3u8?q=1752629214236$LR•IPV4•43『线路17』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/359a630b/index.m3u8?q=1752629214236$LR•IPV4•42『线路18』 +http://free.cnlive.club/channel/n6582cfc7/index.m3u8?q=1752629214236$LR•IPV4•43『线路18』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/n7a0c7aec/index.m3u8?q=1752629214236$LR•IPV4•42『线路19』 +http://free.cnlive.club/channel/n18e58008/index.m3u8?q=1752629214236$LR•IPV4•43『线路19』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/n6582cfc7/index.m3u8?q=1752629214236$LR•IPV4•42『线路20』 +http://free.cnlive.club/channel/6c975854/index.m3u8?q=1752629214236$LR•IPV4•43『线路20』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/n18e58008/index.m3u8?q=1752629214236$LR•IPV4•42『线路21』 +http://free.cnlive.club/channel/n28af27dd/index.m3u8?q=1752629214236$LR•IPV4•43『线路21』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/6c975854/index.m3u8?q=1752629214236$LR•IPV4•42『线路22』 +http://free.cnlive.club/channel/264e2d58/index.m3u8?q=1752629214236$LR•IPV4•43『线路22』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/n28af27dd/index.m3u8?q=1752629214236$LR•IPV4•42『线路23』 +http://free.cnlive.club/channel/2631a9ae/index.m3u8?q=1752629214236$LR•IPV4•43『线路23』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/264e2d58/index.m3u8?q=1752629214236$LR•IPV4•42『线路24』 +https://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8$LR•IPV4•43『线路24』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://free.cnlive.club/channel/2631a9ae/index.m3u8?q=1752629214236$LR•IPV4•42『线路25』 +http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8$LR•IPV4•43『线路25』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -https://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8$LR•IPV4•42『线路26』 +http://zwebl02.cztv.com/live/channel121080P.m3u8?auth_key=2524708799-0-0-c33efdd495bcdd2ddc42e7c408405037$LR•IPV4•43『线路26』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://120.55.49.231:3095/rtp/233.50.202.25:5140$LR•IPV4•42『线路27』 +http://ali-m-l.cztv.com/channels/lantian/channel12/1080p.m3u8$LR•IPV4•43『线路27』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://ali-m-l.cztv.com/channels/lantian/channel12/1080p.m3u8$LR•IPV4•42『线路28』 +http://120.55.49.231:3095/rtp/233.50.202.25:5140$LR•IPV4•43『线路28』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://zwebl02.cztv.com/live/channel121080P.m3u8?auth_key=2524708799-0-0-c33efdd495bcdd2ddc42e7c408405037$LR•IPV4•42『线路29』 +http://lsfb.avap.jilintv.cn/zqvk7vpj/channel/da805d8d77a24db8aaa62328eb6d874e/index.m3u8$LR•IPV4•43『线路29』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8$LR•IPV4•42『线路30』 +https://rt-doc.rttv.com/dvr/rtdru/rtdru1080.m3u8$LR•IPV4•43『线路30』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -p3p://167.114.175.6:55331/623baf7a0004e5d79c2047cd46107be2$LR•IPV4•42『线路31』 +https://rt-rtd.rttv.com/dvr/rtdoc/playlist_4500Kb.m3u8$LR•IPV4•43『线路31』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://23.237.104.106:8080/USA_DISCOVERY/index.m3u8$LR•IPV4•42『线路32』 +p3p://167.114.175.6:55331/623baf7a0004e5d79c2047cd46107be2$LR•IPV4•43『线路32』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -https://jmp2.uk/plu-6400f731d200410008f9b339.m3u8$LR•IPV4•42『线路33』 +http://23.237.104.106:8080/USA_DISCOVERY/index.m3u8$LR•IPV4•43『线路33』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -https://svs.itworkscdn.net/asharqdiscoverylive/asharqd.smil/playlist_dvr.m3u8$LR•IPV4•42『线路34』 +https://jmp2.uk/plu-6400f731d200410008f9b339.m3u8$LR•IPV4•43『线路34』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -p3p://167.114.175.6:55331/62c9a44500000cd3c69dc74b77c62c82$LR•IPV4•42『线路35』 +https://svs.itworkscdn.net/asharqdiscoverylive/asharqd.smil/playlist_dvr.m3u8$LR•IPV4•43『线路35』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://108.181.20.255:27347/livehttpplay?channel_id=23081$LR•IPV4•42『线路36』 +p3p://167.114.175.6:55331/62c9a44500000cd3c69dc74b77c62c82$LR•IPV4•43『线路36』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://40.160.24.53/MTV_LIVE/index.m3u8$LR•IPV4•42『线路37』 +http://40.160.24.53/MTV_LIVE/index.m3u8$LR•IPV4•43『线路37』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -p3p://167.114.175.6:55331/5fe16de700083ba97787607e74d90cb5$LR•IPV4•42『线路38』 +http://108.181.20.255:27347/livehttpplay?channel_id=23081$LR•IPV4•43『线路38』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -http://108.181.20.255:27347/livehttpplay?channel_id=23097$LR•IPV4•42『线路39』 +p3p://167.114.175.6:55331/5fe16de700083ba97787607e74d90cb5$LR•IPV4•43『线路39』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -p3p://167.114.175.6:55331/644518fd0002d5953f21bedc56b6465f$LR•IPV4•42『线路40』 +https://i.mjh.nz/.r/sky-hgtv.m3u8$LR•IPV4•43『线路40』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -https://i.mjh.nz/.r/sky-hgtv.m3u8$LR•IPV4•42『线路41』 +p3p://167.114.175.6:55331/644518fd0002d5953f21bedc56b6465f$LR•IPV4•43『线路41』 #EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 -p3p://167.114.175.6:55331/61e4f963000c710c55474e4e1e2273d9$LR•IPV4•42『线路42』 +http://108.181.20.255:27347/livehttpplay?channel_id=23097$LR•IPV4•43『线路42』 +#EXTINF:-1 tvg-id="纪录" tvg-name="纪录" group-title="💓优质个源",纪录 +p3p://167.114.175.6:55331/61e4f963000c710c55474e4e1e2273d9$LR•IPV4•43『线路43』 #EXTINF:-1 tvg-id="樱桃小丸子剧" tvg-name="樱桃小丸子剧" group-title="💓儿童专享",樱桃小丸子剧 http://103.193.151.146/huya.php?id=11342394$LR•IPV4 #EXTINF:-1 tvg-id="东森幼幼" tvg-name="东森幼幼" group-title="💓儿童专享",东森幼幼 @@ -3440,29 +3444,29 @@ https://xilam-animation-1-fr.samsung.wurl.tv/playlist.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="FanpopTV" tvg-name="FanpopTV" group-title="💓儿童专享",FanpopTV https://streaming-cl.sh1ny.space/memfs/e16d2f72-70b5-4bf5-b9c5-107b6390a10f.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 -http://free.cnlive.club/channel/n59903092/index.m3u8?q=1752629214236$LR•IPV4•27『线路1』 +http://scgctvshow.sctv.com/hdlive/sctv7/index.m3u8$LR•IPV4•27『线路1』 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 -http://free.cnlive.club/channel/33dc4490/index.m3u8?q=1752629214236$LR•IPV4•27『线路2』 +http://free.cnlive.club/channel/n59903092/index.m3u8?q=1752629214236$LR•IPV4•27『线路2』 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 -http://free.cnlive.club/channel/n149d9627/index.m3u8?q=1752629214236$LR•IPV4•27『线路3』 +http://free.cnlive.club/channel/33dc4490/index.m3u8?q=1752629214236$LR•IPV4•27『线路3』 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 -http://free.cnlive.club/channel/5fe8f622/index.m3u8?q=1752629214236$LR•IPV4•27『线路4』 +http://free.cnlive.club/channel/n149d9627/index.m3u8?q=1752629214236$LR•IPV4•27『线路4』 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 -http://free.cnlive.club/channel/7af110c4/index.m3u8?q=1752629214236$LR•IPV4•27『线路5』 +http://free.cnlive.club/channel/5fe8f622/index.m3u8?q=1752629214236$LR•IPV4•27『线路5』 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 -http://free.cnlive.club/channel/18a1ad0/index.m3u8?q=1752629214236$LR•IPV4•27『线路6』 +http://free.cnlive.club/channel/7af110c4/index.m3u8?q=1752629214236$LR•IPV4•27『线路6』 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 -http://free.cnlive.club/channel/n70dedb3e/index.m3u8?q=1752629214236$LR•IPV4•27『线路7』 +http://free.cnlive.club/channel/18a1ad0/index.m3u8?q=1752629214236$LR•IPV4•27『线路7』 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 -http://free.cnlive.club/channel/n6567f5b8/index.m3u8?q=1752629214236$LR•IPV4•27『线路8』 +http://free.cnlive.club/channel/n70dedb3e/index.m3u8?q=1752629214236$LR•IPV4•27『线路8』 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 -http://free.cnlive.club/channel/n6a165737/index.m3u8?q=1752629214236$LR•IPV4•27『线路9』 +http://free.cnlive.club/channel/n6567f5b8/index.m3u8?q=1752629214236$LR•IPV4•27『线路9』 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 -http://free.cnlive.club/channel/n75fc9ff7/index.m3u8?q=1752629214236$LR•IPV4•27『线路10』 +http://free.cnlive.club/channel/n6a165737/index.m3u8?q=1752629214236$LR•IPV4•27『线路10』 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 -p3p://167.114.175.6:55331/6233e0ca0000ca8f7da159a76b755519$LR•IPV4•27『线路11』 +http://free.cnlive.club/channel/n75fc9ff7/index.m3u8?q=1752629214236$LR•IPV4•27『线路11』 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 -http://scgctvshow.sctv.com/hdlive/sctv7/index.m3u8$LR•IPV4•27『线路12』 +p3p://167.114.175.6:55331/6233e0ca0000ca8f7da159a76b755519$LR•IPV4•27『线路12』 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 https://cdn10jtedge.indihometv.com/atm/DASH/cbeebies/manifest.mpd$LR•IPV4•27『线路13』 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 @@ -3486,19 +3490,19 @@ https://trs1.aynaott.com/discoverykids/index.m3u8$LR•IPV4•27『线路22』 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 https://627bb251f23c7.streamlock.net:444/ExtremaKids/ExtremaKids/playlist.m3u8$LR•IPV4•27『线路23』 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 -p3p://167.114.175.6:55331/6506d1a00000a99a33d7555a4b747caa$LR•IPV4•27『线路24』 +https://amg02159-kcglobal-amg02159c1-samsung-in-521.playouts.now.amagi.tv/playlist/amg02159-kcglobal-animax-samsungin/playlist.m3u8$LR•IPV4•27『线路24』 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 -p3p://167.114.175.6:55331/61e0f9f0000ec6db45a9e87848424184$LR•IPV4•27『线路25』 +p3p://167.114.175.6:55331/6506d1a00000a99a33d7555a4b747caa$LR•IPV4•27『线路25』 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 -https://amg02159-kcglobal-amg02159c1-samsung-in-521.playouts.now.amagi.tv/playlist/amg02159-kcglobal-animax-samsungin/playlist.m3u8$LR•IPV4•27『线路26』 +p3p://167.114.175.6:55331/61e0f9f0000ec6db45a9e87848424184$LR•IPV4•27『线路26』 #EXTINF:-1 tvg-id="儿童" tvg-name="儿童" group-title="💓儿童专享",儿童 p3p://167.114.175.6:55331/64bea3f00002bdf919e6522520650b26$LR•IPV4•27『线路27』 #EXTINF:-1 tvg-id="韩国娱乐台" tvg-name="韩国娱乐台" group-title="🍹定制台☕️",韩国娱乐台 https://stream1.freetv.fun/glo-bet-1.ctv$LR•IPV4 #EXTINF:-1 tvg-id="贝爷" tvg-name="贝爷" group-title="🍹定制台☕️",贝爷 -http://www.douzhicloud.site:35455/douyu/4332$LR•IPV4•2『线路1』 +http://epg.112114.xyz/douyu/252802$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="贝爷" tvg-name="贝爷" group-title="🍹定制台☕️",贝爷 -http://epg.112114.xyz/douyu/252802$LR•IPV4•2『线路2』 +http://www.douzhicloud.site:35455/douyu/4332$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="挨饿德•1" tvg-name="挨饿德•1" group-title="🍹定制台☕️",挨饿德•1 https://live.iill.top/huya/20985858$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="挨饿德•1" tvg-name="挨饿德•1" group-title="🍹定制台☕️",挨饿德•1 @@ -3546,9 +3550,9 @@ p3p://167.114.175.6:55331/6427e42c00084703cd0c176f58dd37f1$LR•IPV4 #EXTINF:-1 tvg-id="黄金华剧台" tvg-name="黄金华剧台" group-title="🍹定制台☕️",黄金华剧台 p3p://167.114.175.6:55331/652970de00011277bb14dcd76e301cc0$LR•IPV4 #EXTINF:-1 tvg-id="TiTV" tvg-name="TiTV" group-title="🍹定制台☕️",TiTV -https://hc9lby9bzw8zcar.wcetv.com/hls/titv.m3u8$LR•IPV4•2『线路1』 +p3p://173.208.176.178:31809/64450b180002b23d3eeb784a0aa62e20$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="TiTV" tvg-name="TiTV" group-title="🍹定制台☕️",TiTV -p3p://173.208.176.178:31809/64450b180002b23d3eeb784a0aa62e20$LR•IPV4•2『线路2』 +https://hc9lby9bzw8zcar.wcetv.com/hls/titv.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="IFUN爱放" tvg-name="IFUN爱放" group-title="🍹定制台☕️",IFUN爱放 p3p://167.114.175.6:55331/63ed9c5c0008711fe9648ea407167ba7$LR•IPV4 #EXTINF:-1 tvg-id="无线经典台" tvg-name="无线经典台" group-title="🍹定制P3P☕️",无线经典台 @@ -3590,13 +3594,13 @@ p3p://167.114.175.6:55331/657da67d0006060a0404d5987d1853db$LR•IPV4 #EXTINF:-1 tvg-id="Mytv Super18" tvg-name="Mytv Super18" group-title="🍹定制P3P☕️",Mytv Super18 p3p://167.114.175.6:55331/6506d591000d6d7733e6bdfb4725689e$LR•IPV4 #EXTINF:-1 tvg-id="Star Movies" tvg-name="Star Movies" group-title="🍹定制P3P☕️",Star Movies -p3p://167.114.175.6:55331/6506c5e500027c7f33a9834b5d937568$LR•IPV4•4『线路1』 +http://92.36.202.5:10001/play/a01o$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="Star Movies" tvg-name="Star Movies" group-title="🍹定制P3P☕️",Star Movies -http://92.36.202.5:10001/play/a01o$LR•IPV4•4『线路2』 +http://149.71.34.166:8000/play/a01f/index.m3u8$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="Star Movies" tvg-name="Star Movies" group-title="🍹定制P3P☕️",Star Movies -http://149.71.34.166:8000/play/a01f/index.m3u8$LR•IPV4•4『线路3』 +http://149.71.34.166:8000/play/a01g/index.m3u8$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="Star Movies" tvg-name="Star Movies" group-title="🍹定制P3P☕️",Star Movies -http://149.71.34.166:8000/play/a01g/index.m3u8$LR•IPV4•4『线路4』 +p3p://167.114.175.6:55331/6506c5e500027c7f33a9834b5d937568$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="NOW 668跑马" tvg-name="NOW 668跑马" group-title="🍹定制P3P☕️",NOW 668跑马 p3p://167.114.175.6:55331/6318b7730000b372fb7ca7e170c66e54$LR•IPV4 #EXTINF:-1 tvg-id="Cinemax HK" tvg-name="Cinemax HK" group-title="🍹定制P3P☕️",Cinemax HK @@ -3630,9 +3634,9 @@ p3p://167.114.175.6:55331/667b119a00012c7814a0fd5f0a4144be$LR•IPV4 #EXTINF:-1 tvg-id="Bein Sport 3" tvg-name="Bein Sport 3" group-title="🍹定制P3P☕️",Bein Sport 3 p3p://167.114.175.6:55331/667b130b000bb1a114a6a17a06ea671a$LR•IPV4 #EXTINF:-1 tvg-id="Super Kids" tvg-name="Super Kids" group-title="🍹定制P3P☕️",Super Kids -p3p://167.114.175.6:55331/6506d285000b06bd33dad67a652e2bfd$LR•IPV4•2『线路1』 +https://jmp2.uk/plu-652557d93fd33c000802f995.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="Super Kids" tvg-name="Super Kids" group-title="🍹定制P3P☕️",Super Kids -https://jmp2.uk/plu-652557d93fd33c000802f995.m3u8$LR•IPV4•2『线路2』 +p3p://167.114.175.6:55331/6506d285000b06bd33dad67a652e2bfd$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="创世电视" tvg-name="创世电视" group-title="🍹定制P3P☕️",创世电视 p3p://167.114.175.6:55331/65ac3ff5000d8862ba0b51494dc3254e$LR•IPV4 #EXTINF:-1 tvg-id="面包台" tvg-name="面包台" group-title="🍹定制P3P☕️",面包台 @@ -3672,35 +3676,35 @@ p3p://167.114.175.6:55331/62011f820008c9f3c33ae0231cf86a05$LR•IPV4 #EXTINF:-1 tvg-id="EL生活英语" tvg-name="EL生活英语" group-title="🍹定制P3P☕️",EL生活英语 p3p://167.114.175.6:55331/624888bb000b784ace507da37b7906ea$LR•IPV4 #EXTINF:-1 tvg-id="Z" tvg-name="Z" group-title="🍹定制P3P☕️",Z -http://zbbf2.ahbztv.com/live/418.m3u8$LR•IPV4•15『线路1』 +https://live.artidijitalmedya.com/artidijital_kanalz/kanalz/playlist.m3u8$LR•IPV4•15『线路1』 #EXTINF:-1 tvg-id="Z" tvg-name="Z" group-title="🍹定制P3P☕️",Z -p3p://167.114.175.6:55331/64c7ce3f000afa423db36d3f378c386d$LR•IPV4•15『线路2』 +http://s1.media-planet.sk/live/novezamky/BratuMarian.m3u8$LR•IPV4•15『线路2』 #EXTINF:-1 tvg-id="Z" tvg-name="Z" group-title="🍹定制P3P☕️",Z -https://live.artidijitalmedya.com/artidijital_kanalz/kanalz/playlist.m3u8$LR•IPV4•15『线路3』 +https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/CUXB534IAMTJM7Z4BKKS/hls3/now,-1m/m.m3u8?ads.vf=0RN164SO2bG$LR•IPV4•15『线路3』 #EXTINF:-1 tvg-id="Z" tvg-name="Z" group-title="🍹定制P3P☕️",Z -http://s1.media-planet.sk/live/novezamky/BratuMarian.m3u8$LR•IPV4•15『线路4』 +https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/8WOSAE6HHWJY8KP8BW2C/hls3/now,-1m/m.m3u8?ads.vf=7-VUi572FgK$LR•IPV4•15『线路4』 #EXTINF:-1 tvg-id="Z" tvg-name="Z" group-title="🍹定制P3P☕️",Z -https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/CUXB534IAMTJM7Z4BKKS/hls3/now,-1m/m.m3u8?ads.vf=0RN164SO2bG$LR•IPV4•15『线路5』 +https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/P6T1SCG4XU9MM36TQSB5/hls3/now,-1m/m.m3u8?ads.vf=4TlF3ABNLHW$LR•IPV4•15『线路5』 #EXTINF:-1 tvg-id="Z" tvg-name="Z" group-title="🍹定制P3P☕️",Z -https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/8WOSAE6HHWJY8KP8BW2C/hls3/now,-1m/m.m3u8?ads.vf=7-VUi572FgK$LR•IPV4•15『线路6』 +https://jmp2.uk/plu-68e8fd7c3ede4398bc69af93.m3u8$LR•IPV4•15『线路6』 #EXTINF:-1 tvg-id="Z" tvg-name="Z" group-title="🍹定制P3P☕️",Z -https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/P6T1SCG4XU9MM36TQSB5/hls3/now,-1m/m.m3u8?ads.vf=4TlF3ABNLHW$LR•IPV4•15『线路7』 +https://d39g1vxj2ef6in.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/master.m3u8?ads.xumo_channelId=88883103$LR•IPV4•15『线路7』 #EXTINF:-1 tvg-id="Z" tvg-name="Z" group-title="🍹定制P3P☕️",Z -https://jmp2.uk/plu-68e8fd7c3ede4398bc69af93.m3u8$LR•IPV4•15『线路8』 +https://amg02393-awpg-amg02393c3-rakuten-uk-2462.playouts.now.amagi.tv/playlist/amg02393-awpg-leszamours-rakutenuk/playlist.m3u8$LR•IPV4•15『线路8』 #EXTINF:-1 tvg-id="Z" tvg-name="Z" group-title="🍹定制P3P☕️",Z -https://d39g1vxj2ef6in.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/master.m3u8?ads.xumo_channelId=88883103$LR•IPV4•15『线路9』 +https://jmp2.uk/plu-652d0b756208700008d758ad.m3u8$LR•IPV4•15『线路9』 #EXTINF:-1 tvg-id="Z" tvg-name="Z" group-title="🍹定制P3P☕️",Z -https://amg02393-awpg-amg02393c3-rakuten-uk-2462.playouts.now.amagi.tv/playlist/amg02393-awpg-leszamours-rakutenuk/playlist.m3u8$LR•IPV4•15『线路10』 +https://stream.ztv.zp.ua/hls/live.m3u8$LR•IPV4•15『线路10』 #EXTINF:-1 tvg-id="Z" tvg-name="Z" group-title="🍹定制P3P☕️",Z -https://jmp2.uk/plu-652d0b756208700008d758ad.m3u8$LR•IPV4•15『线路11』 +https://jmp2.uk/plu-66b3af48d2d50d00083d6936.m3u8$LR•IPV4•15『线路11』 #EXTINF:-1 tvg-id="Z" tvg-name="Z" group-title="🍹定制P3P☕️",Z -https://stream.ztv.zp.ua/hls/live.m3u8$LR•IPV4•15『线路12』 +https://d1hz1p2gea2zy4.cloudfront.net/live/rmgtv/RMG-TRENDSZFR-LIVE/index.m3u8$LR•IPV4•15『线路12』 #EXTINF:-1 tvg-id="Z" tvg-name="Z" group-title="🍹定制P3P☕️",Z -https://jmp2.uk/plu-66b3af48d2d50d00083d6936.m3u8$LR•IPV4•15『线路13』 +https://d1hz1p2gea2zy4.cloudfront.net/live/rmgtv/RMG-TRENDSZNL-LIVE/index.m3u8$LR•IPV4•15『线路13』 #EXTINF:-1 tvg-id="Z" tvg-name="Z" group-title="🍹定制P3P☕️",Z -https://d1hz1p2gea2zy4.cloudfront.net/live/rmgtv/RMG-TRENDSZFR-LIVE/index.m3u8$LR•IPV4•15『线路14』 +p3p://167.114.175.6:55331/64c7ce3f000afa423db36d3f378c386d$LR•IPV4•15『线路14』 #EXTINF:-1 tvg-id="Z" tvg-name="Z" group-title="🍹定制P3P☕️",Z -https://d1hz1p2gea2zy4.cloudfront.net/live/rmgtv/RMG-TRENDSZNL-LIVE/index.m3u8$LR•IPV4•15『线路15』 +http://zbbf2.ahbztv.com/live/418.m3u8$LR•IPV4•15『线路15』 #EXTINF:-1 tvg-id="博斯无限1" tvg-name="博斯无限1" group-title="🍹定制P3P☕️",博斯无限1 p3p://167.114.175.6:55331/647cba27000a6f78186e481d11013645$LR•IPV4 #EXTINF:-1 tvg-id="博斯无限2" tvg-name="博斯无限2" group-title="🍹定制P3P☕️",博斯无限2 @@ -3712,69 +3716,69 @@ https://89514e758f814907be6d14bbc0aa66b7.mediatailor.us-west-2.amazonaws.com/v1/ #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS https://9f8e2ffcd87f4c469be7194e48f84874.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-802-UK-SONYONECOMEDYHITS-LG_UK/playlist.m3u8$LR•IPV4•34『线路2』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -http://108.181.20.255:27347/livehttpplay?channel_id=23074$LR•IPV4•34『线路3』 +https://webtvstream.bhtelecom.ba/hls7/filmbox_premium.m3u8$LR•IPV4•34『线路3』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -http://108.181.20.255:27347/livehttpplay?channel_id=23011$LR•IPV4•34『线路4』 +http://88.212.15.19/live/test_film_boxpremium_hd_hevc/playlist.m3u8$LR•IPV4•34『线路4』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -http://37.27.111.214:8080/live/28/hls.m3u8$LR•IPV4•34『线路5』 +http://46.149.191.217:9005/play/a01x$LR•IPV4•34『线路5』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -p3p://167.114.175.6:55331/6233e648000735057db6cf734adf440d$LR•IPV4•34『线路6』 +https://cdn10jtedge.indihometv.com/atm/DASH/hitsmovie/manifest.mpd$LR•IPV4•34『线路6』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://webtvstream.bhtelecom.ba/hls7/filmbox_premium.m3u8$LR•IPV4•34『线路7』 +http://40.160.24.52/EPIX_2/index.m3u8$LR•IPV4•34『线路7』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -http://88.212.15.19/live/test_film_boxpremium_hd_hevc/playlist.m3u8$LR•IPV4•34『线路8』 +https://5098a8b860504a3690fd2e7c0a18d68f.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-817-FR-SONYONEHITSACTION-LG_FR/playlist.m3u8$LR•IPV4•34『线路8』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -http://46.149.191.217:9005/play/a01x$LR•IPV4•34『线路9』 +https://7aa9671895264ec9a384dfed1b992171.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-818-FR-SONYONEHITSCOMDIE-LG_FR/playlist.m3u8$LR•IPV4•34『线路9』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://cdn10jtedge.indihometv.com/atm/DASH/hitsmovie/manifest.mpd$LR•IPV4•34『线路10』 +https://cdn10jtedge.indihometv.com/atm/DASH/hits/manifest.mpd$LR•IPV4•34『线路10』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -http://40.160.24.52/EPIX_2/index.m3u8$LR•IPV4•34『线路11』 +https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/MH8JAMWTLW2AQV5RA55S/hls3/now,-1m/m.m3u8?ads.vf=TGt7I6yRWZC$LR•IPV4•34『线路11』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://5098a8b860504a3690fd2e7c0a18d68f.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-817-FR-SONYONEHITSACTION-LG_FR/playlist.m3u8$LR•IPV4•34『线路12』 +https://stream.ads.ottera.tv/playlist.m3u8?network_id=1058$LR•IPV4•34『线路12』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://7aa9671895264ec9a384dfed1b992171.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-818-FR-SONYONEHITSCOMDIE-LG_FR/playlist.m3u8$LR•IPV4•34『线路13』 +https://mumt03.tangotv.in/CLASSICHITS/index.m3u8$LR•IPV4•34『线路13』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://cdn10jtedge.indihometv.com/atm/DASH/hits/manifest.mpd$LR•IPV4•34『线路14』 +https://mumt02.tangotv.in/EVERGREENHITS/index.m3u8$LR•IPV4•34『线路14』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/MH8JAMWTLW2AQV5RA55S/hls3/now,-1m/m.m3u8?ads.vf=TGt7I6yRWZC$LR•IPV4•34『线路15』 +https://mumt01.tangotv.in/HINDIHITS/index.m3u8$LR•IPV4•34『线路15』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://stream.ads.ottera.tv/playlist.m3u8?network_id=1058$LR•IPV4•34『线路16』 +https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/G7RPZJDZ6V3CRIAWTNFU/hls3/now,-1m/m.m3u8?ads.vf=vc24NGfvvqe$LR•IPV4•34『线路16』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://mumt03.tangotv.in/CLASSICHITS/index.m3u8$LR•IPV4•34『线路17』 +https://lotus.stingray.com/manifest/ose-237ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•34『线路17』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://mumt02.tangotv.in/EVERGREENHITS/index.m3u8$LR•IPV4•34『线路18』 +https://d2tuyivcrvbj81.cloudfront.net/XITE_Christian_Hits.m3u8$LR•IPV4•34『线路18』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://mumt01.tangotv.in/HINDIHITS/index.m3u8$LR•IPV4•34『线路19』 +http://31.148.48.15/Bridge_TV_Dance/index.m3u8$LR•IPV4•34『线路19』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/G7RPZJDZ6V3CRIAWTNFU/hls3/now,-1m/m.m3u8?ads.vf=vc24NGfvvqe$LR•IPV4•34『线路20』 +http://cm.hostlagarto.com:8081/hits360tv/hits360HD.myStream/playlist.m3u8$LR•IPV4•34『线路20』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://lotus.stingray.com/manifest/ose-237ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•34『线路21』 +http://88.212.15.19/live/mb_hits/index.m3u8$LR•IPV4•34『线路21』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://d2tuyivcrvbj81.cloudfront.net/XITE_Christian_Hits.m3u8$LR•IPV4•34『线路22』 +https://test.946985.filegear-sg.me/proxy/a23981548880f405$LR•IPV4•34『线路22』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -http://31.148.48.15/Bridge_TV_Dance/index.m3u8$LR•IPV4•34『线路23』 +https://stream.ottlive.co.in/punjabihits/index.m3u8$LR•IPV4•34『线路23』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -http://cm.hostlagarto.com:8081/hits360tv/hits360HD.myStream/playlist.m3u8$LR•IPV4•34『线路24』 +https://lotus.stingray.com/manifest/ose-214ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•34『线路24』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -http://88.212.15.19/live/mb_hits/index.m3u8$LR•IPV4•34『线路25』 +https://d39g1vxj2ef6in.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/master.m3u8?ads.xumo_channelId=88883053$LR•IPV4•34『线路25』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://test.946985.filegear-sg.me/proxy/a23981548880f405$LR•IPV4•34『线路26』 +https://lotus.stingray.com/manifest/ose-155ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•34『线路26』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://stream.ottlive.co.in/punjabihits/index.m3u8$LR•IPV4•34『线路27』 +https://d39g1vxj2ef6in.cloudfront.net/v1/manifest/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/54947915-6504-4548-aaef-eabd451f8607/1.m3u8$LR•IPV4•34『线路27』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://lotus.stingray.com/manifest/ose-214ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•34『线路28』 +https://vglivessai.akamaized.net/sg/v1/master/611d79b11b77e2f571934fd80ca1413453772ac7/e11b0319-52e8-4190-ab03-3931cc68eac9/index.m3u8$LR•IPV4•34『线路28』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://d39g1vxj2ef6in.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/master.m3u8?ads.xumo_channelId=88883053$LR•IPV4•34『线路29』 +https://d726x48n2pd5h.cloudfront.net/XITE_Hits.m3u8$LR•IPV4•34『线路29』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://lotus.stingray.com/manifest/ose-155ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•34『线路30』 +https://d726x48n2pd5h.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-skxr1pazhltvp/XITE_Hits.m3u8$LR•IPV4•34『线路30』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://d39g1vxj2ef6in.cloudfront.net/v1/manifest/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/54947915-6504-4548-aaef-eabd451f8607/1.m3u8$LR•IPV4•34『线路31』 +http://37.27.111.214:8080/live/28/hls.m3u8$LR•IPV4•34『线路31』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://vglivessai.akamaized.net/sg/v1/master/611d79b11b77e2f571934fd80ca1413453772ac7/e11b0319-52e8-4190-ab03-3931cc68eac9/index.m3u8$LR•IPV4•34『线路32』 +p3p://167.114.175.6:55331/6233e648000735057db6cf734adf440d$LR•IPV4•34『线路32』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://d726x48n2pd5h.cloudfront.net/XITE_Hits.m3u8$LR•IPV4•34『线路33』 +http://108.181.20.255:27347/livehttpplay?channel_id=23074$LR•IPV4•34『线路33』 #EXTINF:-1 tvg-id="HITS" tvg-name="HITS" group-title="🍹定制P3P☕️",HITS -https://d726x48n2pd5h.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-skxr1pazhltvp/XITE_Hits.m3u8$LR•IPV4•34『线路34』 +http://108.181.20.255:27347/livehttpplay?channel_id=23011$LR•IPV4•34『线路34』 #EXTINF:-1 tvg-id="探索亚洲" tvg-name="探索亚洲" group-title="🍹定制P3P☕️",探索亚洲 p3p://167.114.175.6:55331/623bc4f4000da3919c742e942bdb3571$LR•IPV4 #EXTINF:-1 tvg-id="中旺电视" tvg-name="中旺电视" group-title="🍹定制P3P☕️",中旺电视 @@ -3784,17 +3788,17 @@ p3p://167.114.175.6:55331/65e4428e00043fa694d464e62de86858$LR•IPV4 #EXTINF:-1 tvg-id="爱尔达影剧" tvg-name="爱尔达影剧" group-title="🍹定制P3P☕️",爱尔达影剧 p3p://167.114.175.6:55331/644f91780000980d6808346f494d7ec1$LR•IPV4 #EXTINF:-1 tvg-id="公视" tvg-name="公视" group-title="🍹定制P3P☕️",公视 -http://211.72.174.95:8116/0.ts$LR•IPV4•6『线路1』 +http://74.91.26.218:82/live/pts.m3u8$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="公视" tvg-name="公视" group-title="🍹定制P3P☕️",公视 -http://220.135.241.47:8305/0.ts$LR•IPV4•6『线路2』 +http://74.91.26.218:82/live/ptsse.m3u8$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="公视" tvg-name="公视" group-title="🍹定制P3P☕️",公视 -http://74.91.26.218:82/live/pts.m3u8$LR•IPV4•6『线路3』 +http://74.91.26.218:82/live/ptsty.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="公视" tvg-name="公视" group-title="🍹定制P3P☕️",公视 -http://74.91.26.218:82/live/ptsse.m3u8$LR•IPV4•6『线路4』 +p3p://167.114.175.6:55331/63ebf0b7000e7d27e2de13a9113e7096$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="公视" tvg-name="公视" group-title="🍹定制P3P☕️",公视 -http://74.91.26.218:82/live/ptsty.m3u8$LR•IPV4•6『线路5』 +http://211.72.174.95:8116/0.ts$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="公视" tvg-name="公视" group-title="🍹定制P3P☕️",公视 -p3p://167.114.175.6:55331/63ebf0b7000e7d27e2de13a9113e7096$LR•IPV4•6『线路6』 +http://220.135.241.47:8305/0.ts$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="Eleven 1" tvg-name="Eleven 1" group-title="🍹定制P3P☕️",Eleven 1 p3p://167.114.175.6:55331/6027f40400042e0d8b002a1b0af27e77$LR•IPV4 #EXTINF:-1 tvg-id="Eleven 2" tvg-name="Eleven 2" group-title="🍹定制P3P☕️",Eleven 2 @@ -3846,23 +3850,23 @@ p3p://167.114.175.6:55331/6233e2240002d3af7da6a1bf693a1ed5$LR•IPV4 #EXTINF:-1 tvg-id="Trace Sport" tvg-name="Trace Sport" group-title="🍹定制P3P☕️",Trace Sport https://lightning-tracesport-samsungau.amagi.tv/playlist.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="Trace Sport" tvg-name="Trace Sport" group-title="🍹定制P3P☕️",Trace Sport -p3p://167.114.175.6:55331/644faccf000c7b6368730354764b17ed$LR•IPV4•4『线路2』 +https://stream8.cinerama.uz/1274/tracks-v1a1/mono.m3u8$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="Trace Sport" tvg-name="Trace Sport" group-title="🍹定制P3P☕️",Trace Sport -https://stream8.cinerama.uz/1274/tracks-v1a1/mono.m3u8$LR•IPV4•4『线路3』 +https://channels.trace.plus/Traceprod/TRACE_SPORT_STARS_sd/index.m3u8$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="Trace Sport" tvg-name="Trace Sport" group-title="🍹定制P3P☕️",Trace Sport -https://channels.trace.plus/Traceprod/TRACE_SPORT_STARS_sd/index.m3u8$LR•IPV4•4『线路4』 +p3p://167.114.175.6:55331/644faccf000c7b6368730354764b17ed$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="韩国娱乐" tvg-name="韩国娱乐" group-title="🍹定制P3P☕️",韩国娱乐 p3p://167.114.175.6:55331/621e16b0000ec4772884cc295a1614a8$LR•IPV4 #EXTINF:-1 tvg-id="爱尔达娱乐" tvg-name="爱尔达娱乐" group-title="🍹定制P3P☕️",爱尔达娱乐 p3p://167.114.175.6:55331/6655f9670006cadc83bb27fd61065f47$LR•IPV4 #EXTINF:-1 tvg-id="Cinemax" tvg-name="Cinemax" group-title="🍹定制P3P☕️",Cinemax -http://23.237.104.106:8080/USA_CINEMAX/tracks-v1a1/mono.m3u8$LR•IPV4•4『线路1』 +p3p://167.114.175.6:55331/64ce039d0009f00b55f3e422778f3af3$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="Cinemax" tvg-name="Cinemax" group-title="🍹定制P3P☕️",Cinemax -http://23.237.104.106:8080/USA_MOREMAX/mono.m3u8$LR•IPV4•4『线路2』 +http://23.237.104.106:8080/USA_CINEMAX/tracks-v1a1/mono.m3u8$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="Cinemax" tvg-name="Cinemax" group-title="🍹定制P3P☕️",Cinemax -http://23.237.104.106:8080/USA_5STARMAX/tracks-v1a1/mono.m3u8$LR•IPV4•4『线路3』 +http://23.237.104.106:8080/USA_MOREMAX/mono.m3u8$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="Cinemax" tvg-name="Cinemax" group-title="🍹定制P3P☕️",Cinemax -p3p://167.114.175.6:55331/64ce039d0009f00b55f3e422778f3af3$LR•IPV4•4『线路4』 +http://23.237.104.106:8080/USA_5STARMAX/tracks-v1a1/mono.m3u8$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="Catchplay" tvg-name="Catchplay" group-title="🍹定制P3P☕️",Catchplay p3p://167.114.175.6:55331/6258e5c9000dd0d00e3b184c1b9c4f4c$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="Catchplay" tvg-name="Catchplay" group-title="🍹定制P3P☕️",Catchplay @@ -3872,9 +3876,9 @@ p3p://167.114.175.6:55331/6233e8f1000112b17dc1320c7d1c4049$LR•IPV4 #EXTINF:-1 tvg-id="MyCinemaEurope" tvg-name="MyCinemaEurope" group-title="🍹定制P3P☕️",MyCinemaEurope p3p://167.114.175.6:55331/6233fc79000a0ea07e0d7fa1125015d0$LR•IPV4 #EXTINF:-1 tvg-id="Boomerang" tvg-name="Boomerang" group-title="🍹定制P3P☕️",Boomerang -http://23.237.104.106:8080/USA_BOOMERANG/index.m3u8$LR•IPV4•2『线路1』 +p3p://167.114.175.6:55331/621e313f0005594c28ec88582a49029c$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="Boomerang" tvg-name="Boomerang" group-title="🍹定制P3P☕️",Boomerang -p3p://167.114.175.6:55331/621e313f0005594c28ec88582a49029c$LR•IPV4•2『线路2』 +http://23.237.104.106:8080/USA_BOOMERANG/index.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="爱尔达综合" tvg-name="爱尔达综合" group-title="🍹定制P3P☕️",爱尔达综合 p3p://167.114.175.6:55331/644f9341000c1001680f3089032174aa$LR•IPV4 #EXTINF:-1 tvg-id="卫视西片" tvg-name="卫视西片" group-title="🍹定制P3P☕️",卫视西片 @@ -3886,9 +3890,9 @@ p3p://167.114.175.6:55331/6445172e000920783f1aafee754f43e4$LR•IPV4 #EXTINF:-1 tvg-id="Classica古典音乐" tvg-name="Classica古典音乐" group-title="🍹定制P3P☕️",Classica古典音乐 p3p://167.114.175.6:55331/6452b4f1000c38e8744ac80744c33d67$LR•IPV4 #EXTINF:-1 tvg-id="Mezzo Live" tvg-name="Mezzo Live" group-title="🍹定制P3P☕️",Mezzo Live -p3p://167.114.175.6:55331/6452bcb000039d52746907f4476f5e7b$LR•IPV4•2『线路1』 +https://test.946985.filegear-sg.me/proxy/749755700e4ed9c6$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="Mezzo Live" tvg-name="Mezzo Live" group-title="🍹定制P3P☕️",Mezzo Live -https://test.946985.filegear-sg.me/proxy/749755700e4ed9c6$LR•IPV4•2『线路2』 +p3p://167.114.175.6:55331/6452bcb000039d52746907f4476f5e7b$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="UniverseTV" tvg-name="UniverseTV" group-title="🍹定制P3P☕️",UniverseTV p3p://167.114.175.6:55331/644fbb7c0004a5e968ac550c11f72df5$LR•IPV4 #EXTINF:-1 tvg-id="Global Trekker" tvg-name="Global Trekker" group-title="🍹定制P3P☕️",Global Trekker @@ -3906,17 +3910,17 @@ p3p://167.114.175.6:55331/64ce0646000722d755fe479603e64ba8$LR•IPV4 #EXTINF:-1 tvg-id="国会 2" tvg-name="国会 2" group-title="🍹定制P3P☕️",国会 2 p3p://167.114.175.6:55331/64ce06980008b4f755ff884d646a56da$LR•IPV4 #EXTINF:-1 tvg-id="SMART" tvg-name="SMART" group-title="🍹定制P3P☕️",SMART -p3p://167.114.175.6:55331/64e367a800053465a982145d191f168f$LR•IPV4•4『线路1』 +https://raw.githubusercontent.com/Sibprod/streams/main/ressources/dm/py/hls/bsmart.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="SMART" tvg-name="SMART" group-title="🍹定制P3P☕️",SMART -https://raw.githubusercontent.com/Sibprod/streams/main/ressources/dm/py/hls/bsmart.m3u8$LR•IPV4•4『线路2』 +https://amg16109-shgliving-amg16109c1-klowdtv-us-2235.playouts.now.amagi.tv/playlist/amg16109-shglivingnetwork-smarthealthygreenliving-klowdtvus/playlist.m3u8$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="SMART" tvg-name="SMART" group-title="🍹定制P3P☕️",SMART -https://amg16109-shgliving-amg16109c1-klowdtv-us-2235.playouts.now.amagi.tv/playlist/amg16109-shglivingnetwork-smarthealthygreenliving-klowdtvus/playlist.m3u8$LR•IPV4•4『线路3』 +https://brightstar-sls-pull-secure.akamaized.net/brightstarsls/stream.m3u8$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="SMART" tvg-name="SMART" group-title="🍹定制P3P☕️",SMART -https://brightstar-sls-pull-secure.akamaized.net/brightstarsls/stream.m3u8$LR•IPV4•4『线路4』 +p3p://167.114.175.6:55331/64e367a800053465a982145d191f168f$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="CMUSIC" tvg-name="CMUSIC" group-title="🍹定制P3P☕️",CMUSIC -p3p://167.114.175.6:55331/64e368dc000e5b23a986c9d62f9604df$LR•IPV4•2『线路1』 +https://lotus.stingray.com/manifest/cmusic-cme004-montreal/samsungtvplus/master.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="CMUSIC" tvg-name="CMUSIC" group-title="🍹定制P3P☕️",CMUSIC -https://lotus.stingray.com/manifest/cmusic-cme004-montreal/samsungtvplus/master.m3u8$LR•IPV4•2『线路2』 +p3p://167.114.175.6:55331/64e368dc000e5b23a986c9d62f9604df$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="Rock Entertainmen" tvg-name="Rock Entertainmen" group-title="🍹定制P3P☕️",Rock Entertainmen p3p://167.114.175.6:55331/65ad27c7000dfceebd94ddb20bec19f4$LR•IPV4 #EXTINF:-1 tvg-id="台湾戏剧" tvg-name="台湾戏剧" group-title="🍹定制P3P☕️",台湾戏剧 @@ -3932,21 +3936,21 @@ p3p://167.114.175.6:55331/64bbca22000912200ec3b2631bca27c7$LR•IPV4 #EXTINF:-1 tvg-id="凤凰美洲" tvg-name="凤凰美洲" group-title="🍹定制P3P☕️",凤凰美洲 p3p://167.114.175.6:55331/5fe00fca0004e627722fbe5a480a642f$LR•IPV4 #EXTINF:-1 tvg-id="Red Bull TV" tvg-name="Red Bull TV" group-title="💓英语频道",Red Bull TV -https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_1660.m3u8$LR•IPV4•8『线路1』 +https://3ea22335.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWdiX1JlZEJ1bGxUVl9ITFM/playlist.m3u8$LR•IPV4•8『线路1』 #EXTINF:-1 tvg-id="Red Bull TV" tvg-name="Red Bull TV" group-title="💓英语频道",Red Bull TV -http://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_6660.m3u8$LR•IPV4•8『线路2』 +https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master.m3u8$LR•IPV4•8『线路2』 #EXTINF:-1 tvg-id="Red Bull TV" tvg-name="Red Bull TV" group-title="💓英语频道",Red Bull TV -https://3ea22335.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWdiX1JlZEJ1bGxUVl9ITFM/playlist.m3u8$LR•IPV4•8『线路3』 +https://db34cc6127ac459db55cab5f97cd66b9.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-680-WORBAUENFAST-WHALETVPLUS/680/whaletvplus/hls/master/playlist.m3u8$LR•IPV4•8『线路3』 #EXTINF:-1 tvg-id="Red Bull TV" tvg-name="Red Bull TV" group-title="💓英语频道",Red Bull TV -https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master.m3u8$LR•IPV4•8『线路4』 +https://d03ae6b5c6724c24867e97a3dc04934a.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-1026-WORBBRPTFAST-WHALETVPLUS/1026/hls/master/playlist.m3u8$LR•IPV4•8『线路4』 #EXTINF:-1 tvg-id="Red Bull TV" tvg-name="Red Bull TV" group-title="💓英语频道",Red Bull TV -https://db34cc6127ac459db55cab5f97cd66b9.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-680-WORBAUENFAST-WHALETVPLUS/680/whaletvplus/hls/master/playlist.m3u8$LR•IPV4•8『线路5』 +https://46cfeb23c7f74853bba7a256655a3119.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-582-WORBDACHDEFAST-WHALETVPLUS/582/whaletvplus/hls/master/playlist.m3u8$LR•IPV4•8『线路5』 #EXTINF:-1 tvg-id="Red Bull TV" tvg-name="Red Bull TV" group-title="💓英语频道",Red Bull TV -https://d03ae6b5c6724c24867e97a3dc04934a.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-1026-WORBBRPTFAST-WHALETVPLUS/1026/hls/master/playlist.m3u8$LR•IPV4•8『线路6』 +https://886bd3fbc782459f8de7555d32d7e9ce.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-957-WORBLATAMESFAST-WHALETVPLUS/957/whaletvplus/hls/master/playlist.m3u8$LR•IPV4•8『线路6』 #EXTINF:-1 tvg-id="Red Bull TV" tvg-name="Red Bull TV" group-title="💓英语频道",Red Bull TV -https://46cfeb23c7f74853bba7a256655a3119.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-582-WORBDACHDEFAST-WHALETVPLUS/582/whaletvplus/hls/master/playlist.m3u8$LR•IPV4•8『线路7』 +http://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_6660.m3u8$LR•IPV4•8『线路7』 #EXTINF:-1 tvg-id="Red Bull TV" tvg-name="Red Bull TV" group-title="💓英语频道",Red Bull TV -https://886bd3fbc782459f8de7555d32d7e9ce.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-957-WORBLATAMESFAST-WHALETVPLUS/957/whaletvplus/hls/master/playlist.m3u8$LR•IPV4•8『线路8』 +https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_1660.m3u8$LR•IPV4•8『线路8』 #EXTINF:-1 tvg-id="FRANCE24 English" tvg-name="FRANCE24 English" group-title="💓英语频道",FRANCE24 English http://aktv.top/AKTV/live/aktv3/france24/AKTV.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="BAND NEWS" tvg-name="BAND NEWS" group-title="💓英语频道",BAND NEWS @@ -3970,533 +3974,539 @@ https://gdcucc.v1.mk/gdcucc/brtv8k.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="北京纪实8K" tvg-name="北京纪实8K" group-title="💓4K(Auto)",北京纪实8K http://101.35.240.114:88/brtv8k.php$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="北京4K" tvg-name="北京4K" group-title="💓4K(Auto)",北京4K -http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226550/1.m3u8?GuardEncType=2&accountinfo=~~V2.0~e2qS8h6u-xp3gd50vNr1sw~_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPPFD3HVWEytEVyliOxehfe%2CEND$LR•IPV6 +http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226550/1.m3u8?GuardEncType=2&accountinfo=~~V2.0~e2qS8h6u-xp3gd50vNr1sw~_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPPFD3HVWEytEVyliOxehfe%2CEND$LR•IPV6•2『线路1』 +#EXTINF:-1 tvg-id="北京4K" tvg-name="北京4K" group-title="💓4K(Auto)",北京4K +http://ikuai.zlsip.top:4022/rtp/239.3.1.249:8001$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="4K1" tvg-name="4K1" group-title="💓4K(Auto)",4K-1 http://101.43.145.141:12002/itv/3000000010000005180.m3u8?cdn=FifastbLive$LR•IPV4 #EXTINF:-1 tvg-id="4K2" tvg-name="4K2" group-title="💓4K(Auto)",4K-2 http://101.43.145.141:12002/itv/3000000010000015686.m3u8?cdn=FifastbLive$LR•IPV4 #EXTINF:-1 tvg-id="CCTV兵器" tvg-name="CCTV兵器" group-title="🌐央视频道",CCTV兵器 -http://60.10.139.113:8801/hls/72/index.m3u8$LR•IPV4•3『线路1』 +http://38.75.136.137:98/gslb/dsdqpub/gfjs.m3u8?auth=testpub$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="CCTV兵器" tvg-name="CCTV兵器" group-title="🌐央视频道",CCTV兵器 -http://38.75.136.137:98/gslb/dsdqpub/gfjs.m3u8?auth=testpub$LR•IPV4•3『线路2』 +http://38.75.136.137:98/gslb/dsdqpub/bqkj.m3u8?auth=testpub$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="CCTV兵器" tvg-name="CCTV兵器" group-title="🌐央视频道",CCTV兵器 -http://38.75.136.137:98/gslb/dsdqpub/bqkj.m3u8?auth=testpub$LR•IPV4•3『线路3』 +http://60.10.139.113:8801/hls/72/index.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783958400-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-959a72eda110cbf62c6253396fd9bd72&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•229『线路1』 +https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783972800-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-35eb8d7bdbf4e05db7dad569de4a488f&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•231『线路1』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://183.196.25.171:808/hls/77/index.m3u8$LR•IPV4•229『线路2』 +http://183.196.25.171:808/hls/77/index.m3u8$LR•IPV4•231『线路2』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://183.196.25.171:808/hls/11/index.m3u8$LR•IPV4•229『线路3』 +http://183.196.25.171:808/hls/11/index.m3u8$LR•IPV4•231『线路3』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://183.196.25.171:808/hls/93/index.m3u8$LR•IPV4•229『线路4』 +https://piccpndks.v.kcdnvip.com/audio/cctv16_2/index.m3u8$LR•IPV4•231『线路4』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783926000-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-3a5ada4e3e78e41f69387ee0c7a77164&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•229『线路5』 +http://183.196.25.171:808/hls/93/index.m3u8$LR•IPV4•231『线路5』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226895/1.m3u8?$LR•IPV6•229『线路6』 +https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783926000-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-3a5ada4e3e78e41f69387ee0c7a77164&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•231『线路6』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226893/1.m3u8?$LR•IPV6•229『线路7』 +http://69.30.245.50/live/cctv6.m3u8$LR•IPV4•231『线路7』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226471/1.m3u8?$LR•IPV6•229『线路8』 +http://38.75.136.137:98/gslb/dsdqpub/fyjc.m3u8?auth=testpub$LR•IPV4•231『线路8』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226335/1.m3u8?$LR•IPV6•229『线路9』 +http://38.75.136.137:98/gslb/dsdqpub/dyjc.m3u8?auth=testpub$LR•IPV4•231『线路9』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226469/1.m3u8?$LR•IPV6•229『线路10』 +http://69.30.245.50/live/cctv1.m3u8$LR•IPV4•231『线路10』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226468/1.m3u8?$LR•IPV6•229『线路11』 +http://74.91.26.218:82/live/cctv1hd.m3u8$LR•IPV4•231『线路11』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226946/1.m3u8?$LR•IPV6•229『线路12』 +https://global.cgtn.cicc.media.caton.cloud/master/cgtn-america.m3u8$LR•IPV4•231『线路12』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226485/1.m3u8?$LR•IPV6•229『线路13』 +http://74.91.26.218:82/live/cctv4hd.m3u8$LR•IPV4•231『线路13』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226944/1.m3u8?$LR•IPV6•229『线路14』 +https://dash2.antik.sk/live/test_cctv_tizen/playlist.m3u8$LR•IPV4•231『线路14』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226937/1.m3u8?$LR•IPV6•229『线路15』 +http://go.bkpcp.top/mg/cctv13$LR•IPV4•231『线路15』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226334/1.m3u8?$LR•IPV6•229『线路16』 +https://cdn3.163189.xyz/163189/cctv13$LR•IPV4•231『线路16』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226942/1.m3u8?$LR•IPV6•229『线路17』 +http://74.91.26.218:82/live/cctv8hd.m3u8$LR•IPV4•231『线路17』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226316/1.m3u8?$LR•IPV6•229『线路18』 +http://74.91.26.218:82/live/cctv3hd.m3u8$LR•IPV4•231『线路18』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226947/1.m3u8?$LR•IPV6•229『线路19』 +http://192.151.150.154/live/cctv8k.m3u8$LR•IPV4•231『线路19』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226333/1.m3u8?$LR•IPV6•229『线路20』 +http://38.75.136.137:98/gslb/dsdqpub/ysjp.m3u8?auth=testpub$LR•IPV4•231『线路20』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227002/1.m3u8?$LR•IPV6•229『线路21』 +https://solo.disfrutaenlared.com:1936/redcctv/redcctv/playlist.m3u8$LR•IPV4•231『线路21』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226318/1.m3u8?$LR•IPV6•229『线路22』 +http://74.91.26.218:82/live/cctv14hd.m3u8$LR•IPV4•231『线路22』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://222.169.85.8:9901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•229『线路23』 +http://74.91.26.218:82/live/cctv11hd.m3u8$LR•IPV4•231『线路23』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://116.128.243.121:85/tsfile/live/0002_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•229『线路24』 +https://xykt-fix.github.io/play/a02e/index.m3u8$LR•IPV4•231『线路24』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://222.223.41.27:8888/hls/2/index.m3u8$LR•IPV4•229『线路25』 +http://38.75.136.137:98/gslb/dsdqpub/fyyy.m3u8?auth=testpub$LR•IPV4•231『线路25』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv2.m3u8$LR•IPV4•229『线路26』 +http://74.91.26.218:82/live/cctv12hd.m3u8$LR•IPV4•231『线路26』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/cctv3.m3u8$LR•IPV4•229『线路27』 +http://38.75.136.137:98/gslb/dsdqpub/wsjk.m3u8?auth=testpub$LR•IPV4•231『线路27』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://222.223.41.27:8888/hls/4/index.m3u8$LR•IPV4•229『线路28』 +http://38.75.136.137:98/gslb/dsdqpub/nxss.m3u8?auth=testpub$LR•IPV4•231『线路28』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://222.223.41.27:8888/hls/5/index.m3u8$LR•IPV4•229『线路29』 +http://38.75.136.137:98/gslb/dsdqpub/hjjc.m3u8?auth=testpub$LR•IPV4•231『线路29』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://222.223.41.27:8888/hls/7/index.m3u8$LR•IPV4•229『线路30』 +http://74.91.26.218:82/live/cctv16hd.m3u8$LR•IPV4•231『线路30』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://74.91.26.218:82/live/cctv7hd.m3u8$LR•IPV4•229『线路31』 +http://38.75.136.137:98/gslb/dsdqpub/ystq.m3u8?auth=testpub$LR•IPV4•231『线路31』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/cctv7.m3u8$LR•IPV4•229『线路32』 +http://38.75.136.137:98/gslb/dsdqpub/gefwq.m3u8?auth=testpub$LR•IPV4•231『线路32』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://38.75.136.137:98/gslb/dsdqbv/cctv7hd.m3u8?auth=test20251009$LR•IPV4•229『线路33』 +http://38.75.136.137:98/gslb/dsdqpub/fyzq.m3u8?auth=testpub$LR•IPV4•231『线路33』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv7hd.m3u8$LR•IPV4•229『线路34』 +http://74.91.26.218:82/live/cctv2hd.m3u8$LR•IPV4•231『线路34』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://74.91.26.218:82/live/cctv8hd.m3u8$LR•IPV4•229『线路35』 +https://xykt-fix.github.io/Y77.m3u8$LR•IPV4•231『线路35』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://69.30.245.50/live/cctv8.m3u8$LR•IPV4•229『线路36』 +http://74.91.26.218:82/live/cctv7hd.m3u8$LR•IPV4•231『线路36』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/cctv8.m3u8$LR•IPV4•229『线路37』 +http://74.91.26.218:82/live/cctv10hd.m3u8$LR•IPV4•231『线路37』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/1080p/cctv8.m3u8$LR•IPV4•229『线路38』 +http://38.75.136.137:98/gslb/dsdqpub/sjdl.m3u8?auth=testpub$LR•IPV4•231『线路38』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://222.223.41.27:8888/hls/9/index.m3u8$LR•IPV4•229『线路39』 +http://74.91.26.218:82/live/cctv17hd.m3u8$LR•IPV4•231『线路39』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/cctv9.m3u8$LR•IPV4•229『线路40』 +http://222.169.85.8:9901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•231『线路40』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -https://hwapi.yntv.net/ew265l/z1z6s5.m3u8$LR•IPV4•229『线路41』 +http://116.128.243.121:85/tsfile/live/0002_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•231『线路41』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://222.223.41.27:8888/hls/10/index.m3u8$LR•IPV4•229『线路42』 +http://222.223.41.27:8888/hls/2/index.m3u8$LR•IPV4•231『线路42』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://63.141.230.178:82/gslb/zbdq5.m3u8?id=cctv10hd$LR•IPV4•229『线路43』 +http://173.208.212.130:8181/720p/cctv2.m3u8$LR•IPV4•231『线路43』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://113.25.252.226:9901/tsfile/live/1014_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•229『线路44』 +http://207.56.13.146:81/cdnlive/cctv3.m3u8$LR•IPV4•231『线路44』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://74.91.26.218:82/live/cctv11hd.m3u8$LR•IPV4•229『线路45』 +http://222.223.41.27:8888/hls/4/index.m3u8$LR•IPV4•231『线路45』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://222.223.41.27:8888/hls/12/index.m3u8$LR•IPV4•229『线路46』 +http://222.223.41.27:8888/hls/5/index.m3u8$LR•IPV4•231『线路46』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://38.75.136.137:98/gslb/dsdqbv/cctv12hd.m3u8?auth=test20251009$LR•IPV4•229『线路47』 +http://222.223.41.27:8888/hls/7/index.m3u8$LR•IPV4•231『线路47』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -https://event.pull.hebtv.com/jishi/cp1.m3u8$LR•IPV4•229『线路48』 +http://207.56.13.146:81/cdnlive/cctv7.m3u8$LR•IPV4•231『线路48』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://74.91.26.218:82/live/cctv14hd.m3u8$LR•IPV4•229『线路49』 +http://38.75.136.137:98/gslb/dsdqbv/cctv7hd.m3u8?auth=test20251009$LR•IPV4•231『线路49』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -https://event.pull.hebtv.com/jishi/cp2.m3u8$LR•IPV4•229『线路50』 +http://192.151.150.154/live/cctv7hd.m3u8$LR•IPV4•231『线路50』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://222.223.41.27:8888/hls/14/index.m3u8$LR•IPV4•229『线路51』 +http://69.30.245.50/live/cctv8.m3u8$LR•IPV4•231『线路51』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://204.12.221.218:8181/3m1080p/cctv14.m3u8$LR•IPV4•229『线路52』 +http://207.56.13.146:81/cdnlive/cctv8.m3u8$LR•IPV4•231『线路52』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://63.141.230.178:82/gslb/zbdq5.m3u8?id=cctv14hd$LR•IPV4•229『线路53』 +http://173.208.212.130:8181/1080p/cctv8.m3u8$LR•IPV4•231『线路53』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv14.m3u8$LR•IPV4•229『线路54』 +http://222.223.41.27:8888/hls/9/index.m3u8$LR•IPV4•231『线路54』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://222.223.41.27:8888/hls/15/index.m3u8$LR•IPV4•229『线路55』 +http://207.56.13.146:81/cdnlive/cctv9.m3u8$LR•IPV4•231『线路55』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv15.m3u8$LR•IPV4•229『线路56』 +https://hwapi.yntv.net/ew265l/z1z6s5.m3u8$LR•IPV4•231『线路56』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://38.75.136.137:98/gslb/dsdqbv/cctv17hd.m3u8?auth=test20251009$LR•IPV4•229『线路57』 +http://222.223.41.27:8888/hls/10/index.m3u8$LR•IPV4•231『线路57』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://38.75.136.137:98/gslb/dsdqpub/cctv17hd.m3u8?auth=testpub$LR•IPV4•229『线路58』 +http://63.141.230.178:82/gslb/zbdq5.m3u8?id=cctv10hd$LR•IPV4•231『线路58』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -https://shcm-stream-cf1.stream.264788.xyz/cms001/ch00000090990000001620/index.m3u8?streamid=8a034b40397504e25b3775c772237996&streamkey=01vY5fRxC8VyKg4oq30vfikHXTCAKySLP29l6OG91kQlzDttHgzNLkUw5kivm3PfNsVHJv5FgdsPBYFYI2IWpt7tfRCuFHqLT2pvX67ubMds8jl2DHtvOh0&token=1775754349-4f33f4f84a4abeba-0-91687dc8c9325092efa1d00f330d2710$LR•IPV4•229『线路59』 +http://113.25.252.226:9901/tsfile/live/1014_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•231『线路59』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -https://epg.pw/stream/ca9c1cd4b97fb824cedd7fedfd0c7a950afdd7f00751cfbb7c2d89831d7746a5.m3u8$LR•IPV4•229『线路60』 +http://222.223.41.27:8888/hls/12/index.m3u8$LR•IPV4•231『线路60』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -https://epg.pw/stream/6d7bf281e3d739806a73f5373acaa6e01988ec9739f5ac1355ce54b47a928472.m3u8$LR•IPV4•229『线路61』 +http://38.75.136.137:98/gslb/dsdqbv/cctv12hd.m3u8?auth=test20251009$LR•IPV4•231『线路61』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://74.91.26.218:82/live/cctv2hd.m3u8$LR•IPV4•229『线路62』 +https://event.pull.hebtv.com/jishi/cp1.m3u8$LR•IPV4•231『线路62』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://74.91.26.218:82/live/cctv3hd.m3u8$LR•IPV4•229『线路63』 +https://event.pull.hebtv.com/jishi/cp2.m3u8$LR•IPV4•231『线路63』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://69.30.245.50/live/cctv6.m3u8$LR•IPV4•229『线路64』 +http://222.223.41.27:8888/hls/14/index.m3u8$LR•IPV4•231『线路64』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://74.91.26.218:82/live/cctv10hd.m3u8$LR•IPV4•229『线路65』 +http://204.12.221.218:8181/3m1080p/cctv14.m3u8$LR•IPV4•231『线路65』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -https://xykt-fix.github.io/play/a02e/index.m3u8$LR•IPV4•229『线路66』 +http://63.141.230.178:82/gslb/zbdq5.m3u8?id=cctv14hd$LR•IPV4•231『线路66』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://74.91.26.218:82/live/cctv17hd.m3u8$LR•IPV4•229『线路67』 +http://173.208.212.130:8181/720p/cctv14.m3u8$LR•IPV4•231『线路67』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://60.10.139.113:8801/hls/64/index.m3u8$LR•IPV4•229『线路68』 +http://222.223.41.27:8888/hls/15/index.m3u8$LR•IPV4•231『线路68』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://60.10.139.113:8801/hls/65/index.m3u8$LR•IPV4•229『线路69』 +http://173.208.212.130:8181/720p/cctv15.m3u8$LR•IPV4•231『线路69』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://60.10.139.113:8801/hls/66/index.m3u8$LR•IPV4•229『线路70』 +http://38.75.136.137:98/gslb/dsdqbv/cctv17hd.m3u8?auth=test20251009$LR•IPV4•231『线路70』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://60.10.139.113:8801/hls/67/index.m3u8$LR•IPV4•229『线路71』 +http://38.75.136.137:98/gslb/dsdqpub/cctv17hd.m3u8?auth=testpub$LR•IPV4•231『线路71』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://60.10.139.113:8801/hls/68/index.m3u8$LR•IPV4•229『线路72』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226895/1.m3u8?$LR•IPV6•231『线路72』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://60.10.139.113:8801/hls/69/index.m3u8$LR•IPV4•229『线路73』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226893/1.m3u8?$LR•IPV6•231『线路73』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://60.10.139.113:8801/hls/70/index.m3u8$LR•IPV4•229『线路74』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226471/1.m3u8?$LR•IPV6•231『线路74』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://60.10.139.113:8801/hls/79/index.m3u8$LR•IPV4•229『线路75』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226335/1.m3u8?$LR•IPV6•231『线路75』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://60.10.139.113:8801/hls/80/index.m3u8$LR•IPV4•229『线路76』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226469/1.m3u8?$LR•IPV6•231『线路76』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://60.10.139.113:8801/hls/73/index.m3u8$LR•IPV4•229『线路77』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226468/1.m3u8?$LR•IPV6•231『线路77』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/cctv1.m3u8$LR•IPV4•229『线路78』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226946/1.m3u8?$LR•IPV6•231『线路78』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/cctv2.m3u8$LR•IPV4•229『线路79』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226485/1.m3u8?$LR•IPV6•231『线路79』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/cctv4.m3u8$LR•IPV4•229『线路80』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226944/1.m3u8?$LR•IPV6•231『线路80』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/cctv5.m3u8$LR•IPV4•229『线路81』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226937/1.m3u8?$LR•IPV6•231『线路81』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/cctv6.m3u8$LR•IPV4•229『线路82』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226334/1.m3u8?$LR•IPV6•231『线路82』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/cctv10.m3u8$LR•IPV4•229『线路83』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226942/1.m3u8?$LR•IPV6•231『线路83』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/cctv11.m3u8$LR•IPV4•229『线路84』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226316/1.m3u8?$LR•IPV6•231『线路84』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/cctv12.m3u8$LR•IPV4•229『线路85』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226947/1.m3u8?$LR•IPV6•231『线路85』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/cctv13.m3u8$LR•IPV4•229『线路86』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226333/1.m3u8?$LR•IPV6•231『线路86』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/cctv14.m3u8$LR•IPV4•229『线路87』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227002/1.m3u8?$LR•IPV6•231『线路87』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/cctv15.m3u8$LR•IPV4•229『线路88』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226318/1.m3u8?$LR•IPV6•231『线路88』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/cctv16.m3u8$LR•IPV4•229『线路89』 +https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783958400-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-959a72eda110cbf62c6253396fd9bd72&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•231『线路89』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/cctv17.m3u8$LR•IPV4•229『线路90』 +https://shcm-stream-cf1.stream.264788.xyz/cms001/ch00000090990000001620/index.m3u8?streamid=8a034b40397504e25b3775c772237996&streamkey=01vY5fRxC8VyKg4oq30vfikHXTCAKySLP29l6OG91kQlzDttHgzNLkUw5kivm3PfNsVHJv5FgdsPBYFYI2IWpt7tfRCuFHqLT2pvX67ubMds8jl2DHtvOh0&token=1775754349-4f33f4f84a4abeba-0-91687dc8c9325092efa1d00f330d2710$LR•IPV4•231『线路90』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/cctv5p.m3u8$LR•IPV4•229『线路91』 +https://epg.pw/stream/ca9c1cd4b97fb824cedd7fedfd0c7a950afdd7f00751cfbb7c2d89831d7746a5.m3u8$LR•IPV4•231『线路91』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/gfjs.m3u8$LR•IPV4•229『线路92』 +https://epg.pw/stream/6d7bf281e3d739806a73f5373acaa6e01988ec9739f5ac1355ce54b47a928472.m3u8$LR•IPV4•231『线路92』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/nxss.m3u8$LR•IPV4•229『线路93』 +http://38.75.136.137:98/gslb/dsdqpub/dszn.m3u8?auth=testpub$LR•IPV4•231『线路93』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/sjdl.m3u8$LR•IPV4•229『线路94』 +http://111.61.236.247:9081/hls/58/index.m3u8$LR•IPV4•231『线路94』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/wsjk.m3u8$LR•IPV4•229『线路95』 +http://111.61.236.247:9081/hls/62/index.m3u8$LR•IPV4•231『线路95』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/ysjp.m3u8$LR•IPV4•229『线路96』 +http://xc.mfykeke.top:35455/nptv/dyjc.m3u8$LR•IPV4•231『线路96』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/dyjc.m3u8$LR•IPV4•229『线路97』 +http://xc.mfykeke.top:35455/nptv/fyjc.m3u8$LR•IPV4•231『线路97』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/hjjc.m3u8$LR•IPV4•229『线路98』 +http://xc.mfykeke.top:35455/nptv/hjjc.m3u8$LR•IPV4•231『线路98』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/fyjc.m3u8$LR•IPV4•229『线路99』 +http://www.tszhgjj.cn:7000/rtp/239.253.93.249:6427$LR•IPV4•231『线路99』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/fyzq.m3u8$LR•IPV4•229『线路100』 +http://fn.tmde.top:35455/nptv/cctv4k.m3u8$LR•IPV4•231『线路100』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/fyyy.m3u8$LR•IPV4•229『线路101』 +http://fn.tmde.top:35455/nptv/cctv8k.m3u8$LR•IPV4•231『线路101』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/ystq.m3u8$LR•IPV4•229『线路102』 +http://xc.mfykeke.top:35455/nptv/cctv4k.m3u8$LR•IPV4•231『线路102』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://207.56.13.146:81/cdnlive/gefwq.m3u8$LR•IPV4•229『线路103』 +http://xc.mfykeke.top:35455/nptv/cctv8k.m3u8$LR•IPV4•231『线路103』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv1hd.m3u8$LR•IPV4•229『线路104』 +http://60.10.139.113:8801/hls/64/index.m3u8$LR•IPV4•231『线路104』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv2hd.m3u8$LR•IPV4•229『线路105』 +http://60.10.139.113:8801/hls/65/index.m3u8$LR•IPV4•231『线路105』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv3hd.m3u8$LR•IPV4•229『线路106』 +http://60.10.139.113:8801/hls/66/index.m3u8$LR•IPV4•231『线路106』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv4hd.m3u8$LR•IPV4•229『线路107』 +http://60.10.139.113:8801/hls/67/index.m3u8$LR•IPV4•231『线路107』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv5hd.m3u8$LR•IPV4•229『线路108』 +http://60.10.139.113:8801/hls/68/index.m3u8$LR•IPV4•231『线路108』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv5p.m3u8$LR•IPV4•229『线路109』 +http://60.10.139.113:8801/hls/69/index.m3u8$LR•IPV4•231『线路109』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv6hd.m3u8$LR•IPV4•229『线路110』 +http://60.10.139.113:8801/hls/70/index.m3u8$LR•IPV4•231『线路110』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv8hd.m3u8$LR•IPV4•229『线路111』 +http://60.10.139.113:8801/hls/79/index.m3u8$LR•IPV4•231『线路111』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv9hd.m3u8$LR•IPV4•229『线路112』 +http://60.10.139.113:8801/hls/80/index.m3u8$LR•IPV4•231『线路112』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv10hd.m3u8$LR•IPV4•229『线路113』 +http://60.10.139.113:8801/hls/73/index.m3u8$LR•IPV4•231『线路113』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv11hd.m3u8$LR•IPV4•229『线路114』 +http://207.56.13.146:81/cdnlive/cctv1.m3u8$LR•IPV4•231『线路114』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv12hd.m3u8$LR•IPV4•229『线路115』 +http://207.56.13.146:81/cdnlive/cctv2.m3u8$LR•IPV4•231『线路115』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv13hd.m3u8$LR•IPV4•229『线路116』 +http://207.56.13.146:81/cdnlive/cctv4.m3u8$LR•IPV4•231『线路116』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv14hd.m3u8$LR•IPV4•229『线路117』 +http://207.56.13.146:81/cdnlive/cctv5.m3u8$LR•IPV4•231『线路117』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv15hd.m3u8$LR•IPV4•229『线路118』 +http://207.56.13.146:81/cdnlive/cctv6.m3u8$LR•IPV4•231『线路118』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv16hd.m3u8$LR•IPV4•229『线路119』 +http://207.56.13.146:81/cdnlive/cctv10.m3u8$LR•IPV4•231『线路119』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv17hd.m3u8$LR•IPV4•229『线路120』 +http://207.56.13.146:81/cdnlive/cctv11.m3u8$LR•IPV4•231『线路120』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/cctv8k.m3u8$LR•IPV4•229『线路121』 +http://207.56.13.146:81/cdnlive/cctv12.m3u8$LR•IPV4•231『线路121』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/dszn.m3u8$LR•IPV4•229『线路122』 +http://207.56.13.146:81/cdnlive/cctv13.m3u8$LR•IPV4•231『线路122』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/dyjc.m3u8$LR•IPV4•229『线路123』 +http://207.56.13.146:81/cdnlive/cctv14.m3u8$LR•IPV4•231『线路123』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/fyjc.m3u8$LR•IPV4•229『线路124』 +http://207.56.13.146:81/cdnlive/cctv15.m3u8$LR•IPV4•231『线路124』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/fyyy.m3u8$LR•IPV4•229『线路125』 +http://207.56.13.146:81/cdnlive/cctv16.m3u8$LR•IPV4•231『线路125』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/fyzq.m3u8$LR•IPV4•229『线路126』 +http://207.56.13.146:81/cdnlive/cctv17.m3u8$LR•IPV4•231『线路126』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/gefwq.m3u8$LR•IPV4•229『线路127』 +http://207.56.13.146:81/cdnlive/cctv5p.m3u8$LR•IPV4•231『线路127』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/gfjs.m3u8$LR•IPV4•229『线路128』 +http://207.56.13.146:81/cdnlive/gfjs.m3u8$LR•IPV4•231『线路128』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/nxss.m3u8$LR•IPV4•229『线路129』 +http://207.56.13.146:81/cdnlive/nxss.m3u8$LR•IPV4•231『线路129』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/sjdl.m3u8$LR•IPV4•229『线路130』 +http://207.56.13.146:81/cdnlive/sjdl.m3u8$LR•IPV4•231『线路130』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/hjjc.m3u8$LR•IPV4•229『线路131』 +http://207.56.13.146:81/cdnlive/wsjk.m3u8$LR•IPV4•231『线路131』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/ystq.m3u8$LR•IPV4•229『线路132』 +http://207.56.13.146:81/cdnlive/ysjp.m3u8$LR•IPV4•231『线路132』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/ysjp.m3u8$LR•IPV4•229『线路133』 +http://207.56.13.146:81/cdnlive/dyjc.m3u8$LR•IPV4•231『线路133』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://192.151.150.154/live/wsjk.m3u8$LR•IPV4•229『线路134』 +http://207.56.13.146:81/cdnlive/hjjc.m3u8$LR•IPV4•231『线路134』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/1080p/cctv1.m3u8$LR•IPV4•229『线路135』 +http://207.56.13.146:81/cdnlive/fyjc.m3u8$LR•IPV4•231『线路135』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/1080p/cctv2.m3u8$LR•IPV4•229『线路136』 +http://207.56.13.146:81/cdnlive/fyzq.m3u8$LR•IPV4•231『线路136』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/1080p/cctv3.m3u8$LR•IPV4•229『线路137』 +http://207.56.13.146:81/cdnlive/fyyy.m3u8$LR•IPV4•231『线路137』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/1080p/cctv4.m3u8$LR•IPV4•229『线路138』 +http://207.56.13.146:81/cdnlive/ystq.m3u8$LR•IPV4•231『线路138』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/1080p/cctv5.m3u8$LR•IPV4•229『线路139』 +http://207.56.13.146:81/cdnlive/gefwq.m3u8$LR•IPV4•231『线路139』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/1080p/cctv6.m3u8$LR•IPV4•229『线路140』 +http://192.151.150.154/live/cctv1hd.m3u8$LR•IPV4•231『线路140』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/1080p/cctv7.m3u8$LR•IPV4•229『线路141』 +http://192.151.150.154/live/cctv2hd.m3u8$LR•IPV4•231『线路141』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/1080p/cctv9.m3u8$LR•IPV4•229『线路142』 +http://192.151.150.154/live/cctv3hd.m3u8$LR•IPV4•231『线路142』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/1080p/cctv10.m3u8$LR•IPV4•229『线路143』 +http://192.151.150.154/live/cctv4hd.m3u8$LR•IPV4•231『线路143』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/1080p/cctv11.m3u8$LR•IPV4•229『线路144』 +http://192.151.150.154/live/cctv5hd.m3u8$LR•IPV4•231『线路144』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/1080p/cctv12.m3u8$LR•IPV4•229『线路145』 +http://192.151.150.154/live/cctv5p.m3u8$LR•IPV4•231『线路145』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/1080p/cctv13.m3u8$LR•IPV4•229『线路146』 +http://192.151.150.154/live/cctv6hd.m3u8$LR•IPV4•231『线路146』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/1080p/cctv14.m3u8$LR•IPV4•229『线路147』 +http://192.151.150.154/live/cctv8hd.m3u8$LR•IPV4•231『线路147』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/1080p/cctv15.m3u8$LR•IPV4•229『线路148』 +http://192.151.150.154/live/cctv9hd.m3u8$LR•IPV4•231『线路148』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/1080p/cctv16.m3u8$LR•IPV4•229『线路149』 +http://192.151.150.154/live/cctv10hd.m3u8$LR•IPV4•231『线路149』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/1080p/cctv17.m3u8$LR•IPV4•229『线路150』 +http://192.151.150.154/live/cctv11hd.m3u8$LR•IPV4•231『线路150』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/1080p/cctv5p.m3u8$LR•IPV4•229『线路151』 +http://192.151.150.154/live/cctv12hd.m3u8$LR•IPV4•231『线路151』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv1.m3u8$LR•IPV4•229『线路152』 +http://192.151.150.154/live/cctv13hd.m3u8$LR•IPV4•231『线路152』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv3.m3u8$LR•IPV4•229『线路153』 +http://192.151.150.154/live/cctv14hd.m3u8$LR•IPV4•231『线路153』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv4.m3u8$LR•IPV4•229『线路154』 +http://192.151.150.154/live/cctv15hd.m3u8$LR•IPV4•231『线路154』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv5.m3u8$LR•IPV4•229『线路155』 +http://192.151.150.154/live/cctv16hd.m3u8$LR•IPV4•231『线路155』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv6.m3u8$LR•IPV4•229『线路156』 +http://192.151.150.154/live/cctv17hd.m3u8$LR•IPV4•231『线路156』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv7.m3u8$LR•IPV4•229『线路157』 +http://192.151.150.154/live/dszn.m3u8$LR•IPV4•231『线路157』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv8.m3u8$LR•IPV4•229『线路158』 +http://192.151.150.154/live/dyjc.m3u8$LR•IPV4•231『线路158』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv9.m3u8$LR•IPV4•229『线路159』 +http://192.151.150.154/live/fyjc.m3u8$LR•IPV4•231『线路159』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv10.m3u8$LR•IPV4•229『线路160』 +http://192.151.150.154/live/fyyy.m3u8$LR•IPV4•231『线路160』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv11.m3u8$LR•IPV4•229『线路161』 +http://192.151.150.154/live/fyzq.m3u8$LR•IPV4•231『线路161』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv12.m3u8$LR•IPV4•229『线路162』 +http://192.151.150.154/live/gefwq.m3u8$LR•IPV4•231『线路162』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv13.m3u8$LR•IPV4•229『线路163』 +http://192.151.150.154/live/gfjs.m3u8$LR•IPV4•231『线路163』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv16.m3u8$LR•IPV4•229『线路164』 +http://192.151.150.154/live/nxss.m3u8$LR•IPV4•231『线路164』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv17.m3u8$LR•IPV4•229『线路165』 +http://192.151.150.154/live/sjdl.m3u8$LR•IPV4•231『线路165』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv5p.m3u8$LR•IPV4•229『线路166』 +http://192.151.150.154/live/hjjc.m3u8$LR•IPV4•231『线路166』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/cctv8k.m3u8$LR•IPV4•229『线路167』 +http://192.151.150.154/live/ystq.m3u8$LR•IPV4•231『线路167』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/dyjc.m3u8$LR•IPV4•229『线路168』 +http://192.151.150.154/live/ysjp.m3u8$LR•IPV4•231『线路168』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/fyjc.m3u8$LR•IPV4•229『线路169』 +http://192.151.150.154/live/wsjk.m3u8$LR•IPV4•231『线路169』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/hjjc.m3u8$LR•IPV4•229『线路170』 +http://173.208.212.130:8181/1080p/cctv1.m3u8$LR•IPV4•231『线路170』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/gfjs.m3u8$LR•IPV4•229『线路171』 +http://173.208.212.130:8181/1080p/cctv2.m3u8$LR•IPV4•231『线路171』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/nxss.m3u8$LR•IPV4•229『线路172』 +http://173.208.212.130:8181/1080p/cctv3.m3u8$LR•IPV4•231『线路172』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/sjdl.m3u8$LR•IPV4•229『线路173』 +http://173.208.212.130:8181/1080p/cctv4.m3u8$LR•IPV4•231『线路173』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/wsjk.m3u8$LR•IPV4•229『线路174』 +http://173.208.212.130:8181/1080p/cctv5.m3u8$LR•IPV4•231『线路174』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/ysjp.m3u8$LR•IPV4•229『线路175』 +http://173.208.212.130:8181/1080p/cctv6.m3u8$LR•IPV4•231『线路175』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/fyyy.m3u8$LR•IPV4•229『线路176』 +http://173.208.212.130:8181/1080p/cctv7.m3u8$LR•IPV4•231『线路176』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/ystq.m3u8$LR•IPV4•229『线路177』 +http://173.208.212.130:8181/1080p/cctv9.m3u8$LR•IPV4•231『线路177』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/fyzq.m3u8$LR•IPV4•229『线路178』 +http://173.208.212.130:8181/1080p/cctv10.m3u8$LR•IPV4•231『线路178』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://173.208.212.130:8181/720p/gefwq.m3u8$LR•IPV4•229『线路179』 +http://173.208.212.130:8181/1080p/cctv11.m3u8$LR•IPV4•231『线路179』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://204.12.221.218:8181/3m1080p/cctv1.m3u8$LR•IPV4•229『线路180』 +http://173.208.212.130:8181/1080p/cctv12.m3u8$LR•IPV4•231『线路180』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://204.12.221.218:8181/3m1080p/cctv2.m3u8$LR•IPV4•229『线路181』 +http://173.208.212.130:8181/1080p/cctv13.m3u8$LR•IPV4•231『线路181』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://204.12.221.218:8181/3m1080p/cctv3.m3u8$LR•IPV4•229『线路182』 +http://173.208.212.130:8181/1080p/cctv14.m3u8$LR•IPV4•231『线路182』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://204.12.221.218:8181/3m1080p/cctv4.m3u8$LR•IPV4•229『线路183』 +http://173.208.212.130:8181/1080p/cctv15.m3u8$LR•IPV4•231『线路183』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://204.12.221.218:8181/3m1080p/cctv5.m3u8$LR•IPV4•229『线路184』 +http://173.208.212.130:8181/1080p/cctv16.m3u8$LR•IPV4•231『线路184』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://204.12.221.218:8181/3m1080p/cctv6.m3u8$LR•IPV4•229『线路185』 +http://173.208.212.130:8181/1080p/cctv17.m3u8$LR•IPV4•231『线路185』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://204.12.221.218:8181/3m1080p/cctv7.m3u8$LR•IPV4•229『线路186』 +http://173.208.212.130:8181/1080p/cctv5p.m3u8$LR•IPV4•231『线路186』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://204.12.221.218:8181/3m1080p/cctv8.m3u8$LR•IPV4•229『线路187』 +http://173.208.212.130:8181/720p/cctv1.m3u8$LR•IPV4•231『线路187』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://204.12.221.218:8181/3m1080p/cctv9.m3u8$LR•IPV4•229『线路188』 +http://173.208.212.130:8181/720p/cctv3.m3u8$LR•IPV4•231『线路188』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://204.12.221.218:8181/3m1080p/cctv10.m3u8$LR•IPV4•229『线路189』 +http://173.208.212.130:8181/720p/cctv4.m3u8$LR•IPV4•231『线路189』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://204.12.221.218:8181/3m1080p/cctv11.m3u8$LR•IPV4•229『线路190』 +http://173.208.212.130:8181/720p/cctv5.m3u8$LR•IPV4•231『线路190』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://204.12.221.218:8181/3m1080p/cctv12.m3u8$LR•IPV4•229『线路191』 +http://173.208.212.130:8181/720p/cctv6.m3u8$LR•IPV4•231『线路191』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://204.12.221.218:8181/3m1080p/cctv13.m3u8$LR•IPV4•229『线路192』 +http://173.208.212.130:8181/720p/cctv7.m3u8$LR•IPV4•231『线路192』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://204.12.221.218:8181/3m1080p/cctv15.m3u8$LR•IPV4•229『线路193』 +http://173.208.212.130:8181/720p/cctv8.m3u8$LR•IPV4•231『线路193』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://204.12.221.218:8181/3m1080p/cctv16.m3u8$LR•IPV4•229『线路194』 +http://173.208.212.130:8181/720p/cctv9.m3u8$LR•IPV4•231『线路194』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://204.12.221.218:8181/3m1080p/cctv17.m3u8$LR•IPV4•229『线路195』 +http://173.208.212.130:8181/720p/cctv10.m3u8$LR•IPV4•231『线路195』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://111.61.236.247:9081/hls/58/index.m3u8$LR•IPV4•229『线路196』 +http://173.208.212.130:8181/720p/cctv11.m3u8$LR•IPV4•231『线路196』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -https://epg.pw/stream/ac8062ec9484078061d3bef507c15a423ac57ae4144e3fcc4b0a198dd420f911.m3u8$LR•IPV4•229『线路197』 +http://173.208.212.130:8181/720p/cctv12.m3u8$LR•IPV4•231『线路197』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://38.75.136.137:98/gslb/dsdqpub/wsjk.m3u8?auth=testpub$LR•IPV4•229『线路198』 +http://173.208.212.130:8181/720p/cctv13.m3u8$LR•IPV4•231『线路198』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://38.75.136.137:98/gslb/dsdqpub/ystq.m3u8?auth=testpub$LR•IPV4•229『线路199』 +http://173.208.212.130:8181/720p/cctv16.m3u8$LR•IPV4•231『线路199』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://38.75.136.137:98/gslb/dsdqpub/dyjc.m3u8?auth=testpub$LR•IPV4•229『线路200』 +http://173.208.212.130:8181/720p/cctv17.m3u8$LR•IPV4•231『线路200』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://38.75.136.137:98/gslb/dsdqpub/fyjc.m3u8?auth=testpub$LR•IPV4•229『线路201』 +http://173.208.212.130:8181/720p/cctv5p.m3u8$LR•IPV4•231『线路201』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://38.75.136.137:98/gslb/dsdqpub/hjjc.m3u8?auth=testpub$LR•IPV4•229『线路202』 +http://173.208.212.130:8181/720p/cctv8k.m3u8$LR•IPV4•231『线路202』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://38.75.136.137:98/gslb/dsdqpub/fyzq.m3u8?auth=testpub$LR•IPV4•229『线路203』 +http://173.208.212.130:8181/720p/dyjc.m3u8$LR•IPV4•231『线路203』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://38.75.136.137:98/gslb/dsdqpub/fyyy.m3u8?auth=testpub$LR•IPV4•229『线路204』 +http://173.208.212.130:8181/720p/fyjc.m3u8$LR•IPV4•231『线路204』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://38.75.136.137:98/gslb/dsdqpub/sjdl.m3u8?auth=testpub$LR•IPV4•229『线路205』 +http://173.208.212.130:8181/720p/hjjc.m3u8$LR•IPV4•231『线路205』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://38.75.136.137:98/gslb/dsdqpub/dszn.m3u8?auth=testpub$LR•IPV4•229『线路206』 +http://173.208.212.130:8181/720p/gfjs.m3u8$LR•IPV4•231『线路206』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://38.75.136.137:98/gslb/dsdqpub/ysjp.m3u8?auth=testpub$LR•IPV4•229『线路207』 +http://173.208.212.130:8181/720p/nxss.m3u8$LR•IPV4•231『线路207』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://38.75.136.137:98/gslb/dsdqpub/nxss.m3u8?auth=testpub$LR•IPV4•229『线路208』 +http://173.208.212.130:8181/720p/sjdl.m3u8$LR•IPV4•231『线路208』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://111.61.236.247:9081/hls/62/index.m3u8$LR•IPV4•229『线路209』 +http://173.208.212.130:8181/720p/wsjk.m3u8$LR•IPV4•231『线路209』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://xc.mfykeke.top:35455/nptv/dyjc.m3u8$LR•IPV4•229『线路210』 +http://173.208.212.130:8181/720p/ysjp.m3u8$LR•IPV4•231『线路210』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://xc.mfykeke.top:35455/nptv/fyjc.m3u8$LR•IPV4•229『线路211』 +http://173.208.212.130:8181/720p/fyyy.m3u8$LR•IPV4•231『线路211』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://xc.mfykeke.top:35455/nptv/hjjc.m3u8$LR•IPV4•229『线路212』 +http://173.208.212.130:8181/720p/ystq.m3u8$LR•IPV4•231『线路212』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://www.tszhgjj.cn:7000/rtp/239.253.93.249:6427$LR•IPV4•229『线路213』 +http://173.208.212.130:8181/720p/fyzq.m3u8$LR•IPV4•231『线路213』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://fn.tmde.top:35455/nptv/cctv4k.m3u8$LR•IPV4•229『线路214』 +http://173.208.212.130:8181/720p/gefwq.m3u8$LR•IPV4•231『线路214』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://fn.tmde.top:35455/nptv/cctv8k.m3u8$LR•IPV4•229『线路215』 +http://204.12.221.218:8181/3m1080p/cctv1.m3u8$LR•IPV4•231『线路215』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://xc.mfykeke.top:35455/nptv/cctv4k.m3u8$LR•IPV4•229『线路216』 +http://204.12.221.218:8181/3m1080p/cctv2.m3u8$LR•IPV4•231『线路216』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://xc.mfykeke.top:35455/nptv/cctv8k.m3u8$LR•IPV4•229『线路217』 +http://204.12.221.218:8181/3m1080p/cctv3.m3u8$LR•IPV4•231『线路217』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://69.30.245.50/live/cctv1.m3u8$LR•IPV4•229『线路218』 +http://204.12.221.218:8181/3m1080p/cctv4.m3u8$LR•IPV4•231『线路218』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://74.91.26.218:82/live/cctv1hd.m3u8$LR•IPV4•229『线路219』 +http://204.12.221.218:8181/3m1080p/cctv5.m3u8$LR•IPV4•231『线路219』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -https://global.cgtn.cicc.media.caton.cloud/master/cgtn-america.m3u8$LR•IPV4•229『线路220』 +http://204.12.221.218:8181/3m1080p/cctv6.m3u8$LR•IPV4•231『线路220』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://74.91.26.218:82/live/cctv4hd.m3u8$LR•IPV4•229『线路221』 +http://204.12.221.218:8181/3m1080p/cctv7.m3u8$LR•IPV4•231『线路221』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -https://dash2.antik.sk/live/test_cctv_tizen/playlist.m3u8$LR•IPV4•229『线路222』 +http://204.12.221.218:8181/3m1080p/cctv8.m3u8$LR•IPV4•231『线路222』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://go.bkpcp.top/mg/cctv13$LR•IPV4•229『线路223』 +http://204.12.221.218:8181/3m1080p/cctv9.m3u8$LR•IPV4•231『线路223』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -https://cdn3.163189.xyz/163189/cctv13$LR•IPV4•229『线路224』 +http://204.12.221.218:8181/3m1080p/cctv10.m3u8$LR•IPV4•231『线路224』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -https://solo.disfrutaenlared.com:1936/redcctv/redcctv/playlist.m3u8$LR•IPV4•229『线路225』 +http://204.12.221.218:8181/3m1080p/cctv11.m3u8$LR•IPV4•231『线路225』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://74.91.26.218:82/live/cctv12hd.m3u8$LR•IPV4•229『线路226』 +http://204.12.221.218:8181/3m1080p/cctv12.m3u8$LR•IPV4•231『线路226』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://74.91.26.218:82/live/cctv16hd.m3u8$LR•IPV4•229『线路227』 +http://204.12.221.218:8181/3m1080p/cctv13.m3u8$LR•IPV4•231『线路227』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -http://38.75.136.137:98/gslb/dsdqpub/gefwq.m3u8?auth=testpub$LR•IPV4•229『线路228』 +http://204.12.221.218:8181/3m1080p/cctv15.m3u8$LR•IPV4•231『线路228』 #EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV -https://xykt-fix.github.io/Y77.m3u8$LR•IPV4•229『线路229』 +http://204.12.221.218:8181/3m1080p/cctv16.m3u8$LR•IPV4•231『线路229』 +#EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV +http://204.12.221.218:8181/3m1080p/cctv17.m3u8$LR•IPV4•231『线路230』 +#EXTINF:-1 tvg-id="CCTV" tvg-name="CCTV" group-title="🌐央视频道",CCTV +https://epg.pw/stream/ac8062ec9484078061d3bef507c15a423ac57ae4144e3fcc4b0a198dd420f911.m3u8$LR•IPV4•231『线路231』 #EXTINF:-1 tvg-id="周星驰" tvg-name="周星驰" group-title="明星",周星驰 -http://cdn.jdshipin.com:8880/huya.php?id=11342412$LR•IPV4•2『线路1』 +https://live.ottiptv.cc/huya/11336587$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="周星驰" tvg-name="周星驰" group-title="明星",周星驰 -https://live.ottiptv.cc/huya/11336587$LR•IPV4•2『线路2』 +http://cdn.jdshipin.com:8880/huya.php?id=11342412$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="李连杰" tvg-name="李连杰" group-title="明星",李连杰 -http://cdn.jdshipin.com:8880/huya.php?id=11342390$LR•IPV4•2『线路1』 +https://live.ottiptv.cc/huya/11342390$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="李连杰" tvg-name="李连杰" group-title="明星",李连杰 -https://live.ottiptv.cc/huya/11342390$LR•IPV4•2『线路2』 +http://cdn.jdshipin.com:8880/huya.php?id=11342390$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="洪金宝" tvg-name="洪金宝" group-title="明星",洪金宝 https://live.ottiptv.cc/huya/11279251$LR•IPV4 #EXTINF:-1 tvg-id="梁家辉" tvg-name="梁家辉" group-title="明星",梁家辉 -http://live.metshop.top/huya/11342429?cdn=alicdn$LR•IPV4•2『线路1』 +https://live.ottiptv.cc/huya/11342429$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="梁家辉" tvg-name="梁家辉" group-title="明星",梁家辉 -https://live.ottiptv.cc/huya/11342429$LR•IPV4•2『线路2』 +http://live.metshop.top/huya/11342429?cdn=alicdn$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="刘德华" tvg-name="刘德华" group-title="明星",刘德华 -http://cdn.jdshipin.com:8880/huya.php?id=11342424$LR•IPV4•5『线路1』 +http://epg.112114.xyz/douyu/2516864$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="刘德华" tvg-name="刘德华" group-title="明星",刘德华 -http://live.metshop.top/huya/11342424?cdn=alicdn$LR•IPV4•5『线路2』 +https://live.ottiptv.cc/huya/11342424$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="刘德华" tvg-name="刘德华" group-title="明星",刘德华 -https://live.ottiptv.cc/huya/11342424$LR•IPV4•5『线路3』 +https://k0ub7yffy10yfz.djvod.ndcimgs.com/upic/2023/07/25/08/BMjAyMzA3MjUwODU3MzRfMzYxMjUyNDA3MV8xMDg4MTUzNTczMzFfMF8z_b_Bf67605afd92859a39e607f504f43c9f7.mp4$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="刘德华" tvg-name="刘德华" group-title="明星",刘德华 -https://k0ub7yffy10yfz.djvod.ndcimgs.com/upic/2023/07/25/08/BMjAyMzA3MjUwODU3MzRfMzYxMjUyNDA3MV8xMDg4MTUzNTczMzFfMF8z_b_Bf67605afd92859a39e607f504f43c9f7.mp4$LR•IPV4•5『线路4』 +http://cdn.jdshipin.com:8880/huya.php?id=11342424$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="刘德华" tvg-name="刘德华" group-title="明星",刘德华 -http://epg.112114.xyz/douyu/2516864$LR•IPV4•5『线路5』 +http://live.metshop.top/huya/11342424?cdn=alicdn$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="成龙" tvg-name="成龙" group-title="明星",成龙 -http://cdn.jdshipin.com:8880/huya.php?id=11342386$LR•IPV4•3『线路1』 +https://live.ottiptv.cc/huya/11342386$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="成龙" tvg-name="成龙" group-title="明星",成龙 -https://live.ottiptv.cc/huya/11342386$LR•IPV4•3『线路2』 +https://live.ottiptv.cc/huya/11352946$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="成龙" tvg-name="成龙" group-title="明星",成龙 -https://live.ottiptv.cc/huya/11352946$LR•IPV4•3『线路3』 +http://cdn.jdshipin.com:8880/huya.php?id=11342386$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="王晶" tvg-name="王晶" group-title="明星",王晶 -http://cdn.jdshipin.com:8880/huya.php?id=11602058$LR•IPV4•2『线路1』 +https://live.ottiptv.cc/huya/11602058$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="王晶" tvg-name="王晶" group-title="明星",王晶 -https://live.ottiptv.cc/huya/11602058$LR•IPV4•2『线路2』 +http://cdn.jdshipin.com:8880/huya.php?id=11602058$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="黄渤" tvg-name="黄渤" group-title="明星",黄渤 -http://cdn.jdshipin.com:8880/huya.php?id=11352876$LR•IPV4•2『线路1』 +https://live.ottiptv.cc/huya/11352876$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="黄渤" tvg-name="黄渤" group-title="明星",黄渤 -https://live.ottiptv.cc/huya/11352876$LR•IPV4•2『线路2』 +http://cdn.jdshipin.com:8880/huya.php?id=11352876$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="林正英" tvg-name="林正英" group-title="明星",林正英 -http://cdn.jdshipin.com:8880/huya.php?id=11342421$LR•IPV4•4『线路1』 +http://epg.112114.xyz/douyu/218859$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="林正英" tvg-name="林正英" group-title="明星",林正英 -https://live.ottiptv.cc/huya/11342421$LR•IPV4•4『线路2』 +http://zzy789.xyz/douyu1.php?id=7356023$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="林正英" tvg-name="林正英" group-title="明星",林正英 -http://zzy789.xyz/douyu1.php?id=7356023$LR•IPV4•4『线路3』 +https://live.ottiptv.cc/huya/11342421$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="林正英" tvg-name="林正英" group-title="明星",林正英 -http://epg.112114.xyz/douyu/218859$LR•IPV4•4『线路4』 +http://cdn.jdshipin.com:8880/huya.php?id=11342421$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="甄子丹" tvg-name="甄子丹" group-title="明星",甄子丹 -http://cdn.jdshipin.com:8880/huya.php?id=11352935$LR•IPV4•2『线路1』 +https://live.ottiptv.cc/huya/11352935$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="甄子丹" tvg-name="甄子丹" group-title="明星",甄子丹 -https://live.ottiptv.cc/huya/11352935$LR•IPV4•2『线路2』 +http://cdn.jdshipin.com:8880/huya.php?id=11352935$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="灾难片" tvg-name="灾难片" group-title="主题片",灾难片 https://live.ottiptv.cc/huya/23728647$LR•IPV4 #EXTINF:-1 tvg-id="谍战片" tvg-name="谍战片" group-title="主题片",谍战片 https://live.ottiptv.cc/huya/26355810$LR•IPV4 #EXTINF:-1 tvg-id="战争片" tvg-name="战争片" group-title="主题片",战争片 -http://live.metshop.top/huya/21059574?cdn=alicdn$LR•IPV4•2『线路1』 +https://live.ottiptv.cc/huya/21059618$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="战争片" tvg-name="战争片" group-title="主题片",战争片 -https://live.ottiptv.cc/huya/21059618$LR•IPV4•2『线路2』 +http://live.metshop.top/huya/21059574?cdn=alicdn$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="VOA美国之音" tvg-name="VOA美国之音" group-title="国际台",VOA美国之音 https://voa-ingest.akamaized.net/hls/live/2033878/tvmc08/playlist.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="人与自然" tvg-name="人与自然" group-title="纪录片",人与自然 @@ -4532,81 +4542,79 @@ https://amg00143-younghollywoodfast-amg00143c1-cineverse-us-946.playouts.now.ama #EXTINF:-1 tvg-id="YOUNG" tvg-name="YOUNG" group-title="一起看",YOUNG https://s.emisoras.tv:8081/penielkids/index.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://116.52.173.34:1234/961930263$LR•IPV4•38『线路1』 +http://182.61.15.47:80/961930263$LR•IPV4•37『线路1』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://110.154.192.76:7788/961930263$LR•IPV4•38『线路2』 +http://175.178.243.33:8787/961930263$LR•IPV4•37『线路2』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://111.231.6.102:1234/961930263$LR•IPV4•38『线路3』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4961&tk=b53028476470$LR•IPV4•37『线路3』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://27.12.12.183:1234/961930263$LR•IPV4•38『线路4』 +http://116.236.204.18:1234/961930263$LR•IPV4•37『线路4』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1275&tk=a0c4f6cfaba3$LR•IPV4•38『线路5』 +http://hlsztemgsplive.miguvideo.com:8080/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260713080302&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=171.8.79.254&SecurityKey=20260713080302&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=ab006d6e64da9b2e59016ae902451953&sv=10004&ct=android$LR•IPV4•37『线路5』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -https://migu.188766.xyz/?migutoken=c6b17aba558cf29b13242b5ae063e5ed&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•38『线路6』 +http://e1.woc.iiiya.cn:8888/rtp/239.61.3.8:9566$LR•IPV4•37『线路6』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://home.wwang.pw:35455/itv/5000000011000031206.m3u8?cdn=bestzb$LR•IPV4•38『线路7』 +https://migu.188766.xyz/?migutoken=c6b17aba558cf29b13242b5ae063e5ed&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•37『线路7』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -https://migu.188766.xyz/?migutoken=396182b2a9b61dca2daded3fc6f62311&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•38『线路8』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8454&tk=a0c4f6cfaba3$LR•IPV4•37『线路8』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://101.6.130.52:1234/961930263$LR•IPV4•38『线路9』 +http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/KLCDMPP360.m3u8$LR•IPV4•37『线路9』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://mgsp-hs2.live.miguvideo.com:8088/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260712080232&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=171.8.79.254&SecurityKey=20260712080232&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=0a04f7f5d3a1f6b3ddbfc709022c5a3a&sv=10004&ct=android$LR•IPV4•38『线路10』 +http://8.153.110.51:3020/961930263$LR•IPV4•37『线路10』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://8.153.110.51:3020/961930263$LR•IPV4•38『线路11』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0882&tk=f6cc1e0a0e1a$LR•IPV4•37『线路11』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://116.236.204.18:1234/961930263$LR•IPV4•38『线路12』 +https://migu.188766.xyz/?migutoken=103d22404add9b90cd72174eb1a0108b&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•37『线路12』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://182.61.15.47:80/961930263$LR•IPV4•38『线路13』 +https://hls-gateway.vpstv.net/streams/708835.m3u8$LR•IPV4•37『线路13』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://14.153.176.183:1234/961930263$LR•IPV4•38『线路14』 +http://drive.mxmy.net:8888/udp/239.3.1.164:8001$LR•IPV4•37『线路14』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://gslbmgsplive.miguvideo.com/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=cb5d9a46adc1b49f4caa2f1a773ccdfd&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260712062112&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=39.103.182.111&SecurityKey=20260712062112&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=4551d42960ba4eb706643f7bb5bb4dbe&ddCalcu=e4b5vd5a41abdab452b9b670fb3a446e6b07&sv=10004&ct=android$LR•IPV4•38『线路15』 +http://wouu.net:9977/udp/239.93.1.151:5140$LR•IPV4•37『线路15』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://nas.hssvm.com:8888/udp/225.1.2.18:5002$LR•IPV4•38『线路16』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8530&tk=e503191f8e20$LR•IPV4•37『线路16』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://119.88.243.98:17231/961930263$LR•IPV4•38『线路17』 +http://hlsztemgsplive.miguvideo.com:8080/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260713040256&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=171.8.79.254&SecurityKey=20260713040256&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=27ad6b8a831007d14a9028cc0047a50d&sv=10004&ct=android$LR•IPV4•37『线路17』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -https://hls-gateway.vpstv.net/streams/708835.m3u8$LR•IPV4•38『线路18』 +http://home.wwang.pw:35455/itv/5000000011000031206.m3u8?cdn=bestzb$LR•IPV4•37『线路18』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://e1.woc.iiiya.cn:8888/rtp/239.61.3.8:9566$LR•IPV4•38『线路19』 +http://223.247.25.207:1234/961930263$LR•IPV4•37『线路19』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://223.247.25.207:1234/961930263$LR•IPV4•38『线路20』 +http://nas.hssvm.com:8888/udp/225.1.2.18:5002$LR•IPV4•37『线路20』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://175.178.243.33:8787/961930263$LR•IPV4•38『线路21』 +http://14.153.176.183:1234/961930263$LR•IPV4•37『线路21』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://wouu.net:9977/udp/239.93.1.151:5140$LR•IPV4•38『线路22』 +http://110.154.192.76:7788/961930263$LR•IPV4•37『线路22』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8968&tk=e640d0a1bf70$LR•IPV4•38『线路23』 +http://gslbmgsplive.miguvideo.com/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=a46bb537a908cb676c82f2f68b09e7e2&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260713062120&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=39.103.182.111&SecurityKey=20260713062120&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=146a23bf8df82c43bc5ae3ccd17d1d42&ddCalcu=2144vd6a1aad2a731bdfc8cd3fe8a25cc4b3&sv=10004&ct=android$LR•IPV4•37『线路23』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://drive.mxmy.net:8888/udp/239.3.1.164:8001$LR•IPV4•38『线路24』 +https://migu.188766.xyz/?migutoken=396182b2a9b61dca2daded3fc6f62311&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•37『线路24』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://115.190.247.176:1111/961930263$LR•IPV4•38『线路25』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1275&tk=a0c4f6cfaba3$LR•IPV4•37『线路25』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -https://migu.188766.xyz/?migutoken=103d22404add9b90cd72174eb1a0108b&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•38『线路26』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8968&tk=e640d0a1bf70$LR•IPV4•37『线路26』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4961&tk=b53028476470$LR•IPV4•38『线路27』 +http://115.190.247.176:1111/961930263$LR•IPV4•37『线路27』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://gslbmgsplive.miguvideo.com/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=acac93647b33504cc27d07c187a0f6c1&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260712052113&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=39.103.182.111&SecurityKey=20260712052113&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=0a8073d2b66529751f1842c8a31b1d5b&ddCalcu=b05avd8a10ab7a133da28bc626458219f715&sv=10004&ct=android$LR•IPV4•38『线路28』 +http://119.88.243.98:17231/961930263$LR•IPV4•37『线路28』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0882&tk=f6cc1e0a0e1a$LR•IPV4•38『线路29』 +http://116.52.173.34:1234/961930263$LR•IPV4•37『线路29』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -https://migu.188766.xyz/?migutoken=f4d62cd1f8775b1b837f4232f1051f36&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•38『线路30』 +http://27.12.12.183:1234/961930263$LR•IPV4•37『线路30』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8454&tk=a0c4f6cfaba3$LR•IPV4•38『线路31』 +https://migu.188766.xyz/?migutoken=f4d62cd1f8775b1b837f4232f1051f36&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•37『线路31』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://47.104.178.59:3566/961930263$LR•IPV4•38『线路32』 +http://111.231.6.102:1234/961930263$LR•IPV4•37『线路32』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://hlsztemgsplive.miguvideo.com:8080/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260712040227&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=171.8.79.254&SecurityKey=20260712040227&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=b3b7218ab79ad0c6a49ba6ff93f42c53&sv=10004&ct=android$LR•IPV4•38『线路33』 +http://47.104.178.59:3566/961930263$LR•IPV4•37『线路33』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/KLCDMPP360.m3u8$LR•IPV4•38『线路34』 +http://123.113.205.253:3000/961930263$LR•IPV4•37『线路34』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8530&tk=e503191f8e20$LR•IPV4•38『线路35』 +http://101.6.130.52:1234/961930263$LR•IPV4•37『线路35』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -http://123.113.205.253:3000/961930263$LR•IPV4•38『线路36』 +https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/KLCDMPP360.m3u8$LR•IPV4•37『线路36』 #EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/KLCDMPP360.m3u8$LR•IPV4•38『线路37』 -#EXTINF:-1 tvg-id="快乐" tvg-name="快乐" group-title="一起看",快乐 -https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/KLGMPP360.m3u8$LR•IPV4•38『线路38』 +https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/KLGMPP360.m3u8$LR•IPV4•37『线路37』 #EXTINF:-1 tvg-id="天才大熊猫啊" tvg-name="天才大熊猫啊" group-title="一起看",天才大熊猫啊 http://live.nctv.top/douyu1.php?id=10646699$LR•IPV4 #EXTINF:-1 tvg-id="阿斗归来了" tvg-name="阿斗归来了" group-title="原创",阿斗归来了 @@ -4704,247 +4712,247 @@ http://live.nctv.top/douyu1.php?id=8405922$LR•IPV4 #EXTINF:-1 tvg-id="哈利影视" tvg-name="哈利影视" group-title="原创IP",哈利影视 http://live.nctv.top/douyu1.php?id=8475821$LR•IPV4 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8$LR•IPV4•37『线路1』 +https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian-4.m3u8$LR•IPV4•37『线路1』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-4.m3u8$LR•IPV4•37『线路2』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-9.ctv$LR•IPV4•37『线路2』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian-4.m3u8$LR•IPV4•37『线路3』 +https://t.freetv.fun/live/zhe-jiang-min-sheng-1-1.m3u8$LR•IPV4•37『线路3』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://stream1.freetv.fun/zhe-jiang-min-sheng-6.ctv$LR•IPV4•37『线路4』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-6.ctv$LR•IPV4•37『线路4』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://stream1.freetv.fun/zhe-jiang-min-sheng-4.ctv$LR•IPV4•37『线路5』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-5.m3u8$LR•IPV4•37『线路5』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8?$LR•IPV4•37『线路6』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-9.m3u8$LR•IPV4•37『线路6』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://t.freetv.fun/live/zhe-jiang-min-sheng-2.m3u8$LR•IPV4•37『线路7』 +https://t.freetv.fun/live/zhe-jiang-min-sheng-1.m3u8$LR•IPV4•37『线路7』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://stream1.freetv.fun/zhe-jiang-min-sheng-2.m3u8$LR•IPV4•37『线路8』 +http://ali-xwl.cztv.com/live/channel061080Plxw.m3u8$LR•IPV4•37『线路8』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian-2.m3u8$LR•IPV4•37『线路9』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-1.m3u8$LR•IPV4•37『线路10』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-4.m3u8$LR•IPV4•37『线路10』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://stream1.freetv.fun/zhe-jiang-min-sheng-9.m3u8$LR•IPV4•37『线路11』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-7.m3u8$LR•IPV4•37『线路11』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://stream1.freetv.fun/zhe-jiang-min-sheng-1.m3u8$LR•IPV4•37『线路12』 +http://ali-m-l.cztv.com/channels/lantian/channel06/720p.m3u8$LR•IPV4•37『线路12』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://stream1.freetv.fun/zhe-jiang-min-sheng-3.m3u8$LR•IPV4•37『线路13』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-10.m3u8$LR•IPV4•37『线路13』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://stream1.freetv.fun/zhe-jiang-min-sheng-4.m3u8$LR•IPV4•37『线路14』 +https://t.freetv.fun/live/zhe-jiang-min-sheng-4.m3u8$LR•IPV4•37『线路14』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://t.freetv.fun/live/zhe-jiang-min-sheng-4.m3u8$LR•IPV4•37『线路15』 +http://120.55.49.231:3095/rtp/233.50.201.136:5140$LR•IPV4•37『线路15』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-2.ctv$LR•IPV4•37『线路16』 +https://t.freetv.fun/live/zhe-jiang-min-sheng.m3u8$LR•IPV4•37『线路16』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://t.freetv.fun/live/zhe-jiang-min-sheng-1-1.m3u8$LR•IPV4•37『线路17』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-3.m3u8$LR•IPV4•37『线路17』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://stream1.freetv.fun/zhe-jiang-min-sheng-5.m3u8$LR•IPV4•37『线路18』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-4.m3u8$LR•IPV4•37『线路18』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://t.freetv.fun/live/zhe-jiang-min-sheng-3.m3u8$LR•IPV4•37『线路19』 +http://ali-xwl.cztv.com/live/channel06720Plxw.m3u8$LR•IPV4•37『线路19』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -http://ali-xwl.cztv.com/live/channel061080Plxw.m3u8$LR•IPV4•37『线路20』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-4.ctv$LR•IPV4•37『线路20』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://t.freetv.fun/live/zhe-jiang-min-sheng-11.m3u8$LR•IPV4•37『线路21』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-2.ctv$LR•IPV4•37『线路21』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -http://ali-m-l.cztv.com/channels/lantian/channel06/1080p.m3u8$LR•IPV4•37『线路22』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-1.m3u8$LR•IPV4•37『线路22』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://stream1.freetv.fun/zhe-jiang-min-sheng-9.ctv$LR•IPV4•37『线路23』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-3.ctv$LR•IPV4•37『线路23』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-6.ctv$LR•IPV4•37『线路24』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-2.m3u8$LR•IPV4•37『线路24』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://t.freetv.fun/live/zhe-jiang-min-sheng-1.m3u8$LR•IPV4•37『线路25』 +http://ali-m-l.cztv.com/channels/lantian/channel06/1080p.m3u8$LR•IPV4•37『线路25』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://stream1.freetv.fun/zhe-jiang-min-sheng-8.m3u8$LR•IPV4•37『线路26』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-1.m3u8$LR•IPV4•37『线路26』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -http://ali-vl.cztv.com/channels/lantian/channel006/360p.m3u8$LR•IPV4•37『线路27』 +https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian.m3u8$LR•IPV4•37『线路27』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -http://ali-m-l.cztv.com/channels/lantian/channel06/720p.m3u8$LR•IPV4•37『线路28』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-6.ctv$LR•IPV4•37『线路28』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://stream1.freetv.fun/zhe-jiang-min-sheng-10.m3u8$LR•IPV4•37『线路29』 +https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8$LR•IPV4•37『线路29』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -http://ali-xwl.cztv.com/live/channel06720Plxw.m3u8$LR•IPV4•37『线路30』 +https://t.freetv.fun/live/zhe-jiang-min-sheng-3.m3u8$LR•IPV4•37『线路30』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-5.m3u8$LR•IPV4•37『线路31』 +http://ali-vl.cztv.com/channels/lantian/channel006/360p.m3u8$LR•IPV4•37『线路31』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-3.ctv$LR•IPV4•37『线路32』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-8.m3u8$LR•IPV4•37『线路32』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -http://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8$LR•IPV4•37『线路33』 +https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-5.m3u8$LR•IPV4•37『线路33』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -http://120.55.49.231:3095/rtp/233.50.201.136:5140$LR•IPV4•37『线路34』 +https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8?$LR•IPV4•37『线路34』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://t.freetv.fun/live/zhe-jiang-min-sheng.m3u8$LR•IPV4•37『线路35』 +http://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8$LR•IPV4•37『线路35』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://stream1.freetv.fun/zhe-jiang-min-sheng-7.m3u8$LR•IPV4•37『线路36』 +https://t.freetv.fun/live/zhe-jiang-min-sheng-11.m3u8$LR•IPV4•37『线路36』 #EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" group-title="浙江",浙江民生休闲 -https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian.m3u8$LR•IPV4•37『线路37』 +https://t.freetv.fun/live/zhe-jiang-min-sheng-2.m3u8$LR•IPV4•37『线路37』 #EXTINF:-1 tvg-id="浙江教科影院" tvg-name="浙江教科影院" group-title="浙江",浙江教科影院 -http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8$LR•IPV4•2『线路1』 +http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?zzhed$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="浙江教科影院" tvg-name="浙江教科影院" group-title="浙江",浙江教科影院 -http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?zzhed$LR•IPV4•2『线路2』 +http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="舟山新闻综合" tvg-name="舟山新闻综合" group-title="浙江",舟山新闻综合 http://play-sh13.quklive.com/live/1699001836208185.m3u8?auth_key=2027429324-c77bb6a7063c4cdea57f09ca22f9ef12-0-39c19a21f73b823db2150ea45b147eb2$LR•IPV4 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8$LR•IPV4•33『线路1』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://ali-m-l.cztv.com/channels/lantian/channel07/720p.m3u8$LR•IPV4•33『线路2』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-11.m3u8$LR•IPV4•33『线路2』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-2.ctv$LR•IPV4•33『线路3』 +https://t.freetv.fun/live/zhe-jiang-xin-wen-1.m3u8$LR•IPV4•33『线路3』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://t.freetv.fun/live/zhe-jiang-xin-wen-1.m3u8$LR•IPV4•33『线路4』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-2.m3u8$LR•IPV4•33『线路4』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-8.m3u8$LR•IPV4•33『线路5』 +http://api3.52tb.xyz/info?id=434&token=20221127jxwhhemby$LR•IPV4•33『线路5』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://t.freetv.fun/live/zhe-jiang-xin-wen-2.m3u8$LR•IPV4•33『线路6』 +http://120.55.49.231:3095/rtp/233.50.201.137:5140$LR•IPV4•33『线路6』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -http://ali-xwl.cztv.com/live/channel07720Plxw.m3u8$LR•IPV4•33『线路7』 +http://ali-m-l.cztv.com/channels/lantian/channel007/720p.m3u8$LR•IPV4•33『线路7』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -http://120.55.49.231:3095/rtp/233.50.201.137:5140$LR•IPV4•33『线路8』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-7.m3u8$LR•IPV4•33『线路8』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8?zzhed$LR•IPV4•33『线路9』 +https://t.freetv.fun/live/zhe-jiang-xin-wen-12.m3u8$LR•IPV4•33『线路9』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -http://api3.52tb.xyz/info?id=434&token=20221127jxwhhemby$LR•IPV4•33『线路10』 +https://t.freetv.fun/live/zhe-jiang-xin-wen-3.m3u8$LR•IPV4•33『线路10』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://t.freetv.fun/live/zhe-jiang-xin-wen-7.m3u8$LR•IPV4•33『线路11』 +http://ali-m-l.cztv.com/channels/lantian/channel07/720p.m3u8$LR•IPV4•33『线路11』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://t.freetv.fun/live/zhe-jiang-xin-wen-12.m3u8$LR•IPV4•33『线路12』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-3.m3u8$LR•IPV4•33『线路12』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 https://stream1.freetv.fun/zhe-jiang-xin-wen-9.m3u8$LR•IPV4•33『线路13』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -http://ali-m-l.cztv.com/channels/lantian/channel07/720p.m3u8$LR•IPV4•33『线路14』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-10.m3u8$LR•IPV4•33『线路14』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8?$LR•IPV4•33『线路15』 +http://ali-xwl.cztv.com/live/channel071080Plxw.m3u8$LR•IPV4•33『线路15』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-5.m3u8$LR•IPV4•33『线路16』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-6.m3u8$LR•IPV4•33『线路16』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -http://ali-vl.cztv.com/channels/lantian/channel007/360p.m3u8$LR•IPV4•33『线路17』 +https://t.freetv.fun/live/zhe-jiang-xin-wen-2.m3u8$LR•IPV4•33『线路17』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://t.freetv.fun/live/zhe-jiang-xin-wen-3.m3u8$LR•IPV4•33『线路18』 +http://ali-vl.cztv.com/channels/lantian/channel007/360p.m3u8$LR•IPV4•33『线路18』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -http://ali-xwl.cztv.com/live/channel071080Plxw.m3u8$LR•IPV4•33『线路19』 +http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8?zzhed$LR•IPV4•33『线路19』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://t.freetv.fun/live/zhe-jiang-xin-wen-6.m3u8$LR•IPV4•33『线路20』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-1.m3u8$LR•IPV4•33『线路20』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-7.m3u8$LR•IPV4•33『线路21』 +https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8?$LR•IPV4•33『线路21』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-1.m3u8$LR•IPV4•33『线路22』 +http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8$LR•IPV4•33『线路22』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-11.m3u8$LR•IPV4•33『线路23』 +https://t.freetv.fun/live/zhe-jiang-xin-wen-6.m3u8$LR•IPV4•33『线路23』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-10.m3u8$LR•IPV4•33『线路24』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-2.ctv$LR•IPV4•33『线路24』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8$LR•IPV4•33『线路25』 +https://ali-m-l.cztv.com/channels/lantian/channel07/1080p.m3u8$LR•IPV4•33『线路25』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 https://t.freetv.fun/live/zhe-jiang-xin-wen.m3u8$LR•IPV4•33『线路26』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -http://ali-m-l.cztv.com/channels/lantian/channel007/720p.m3u8$LR•IPV4•33『线路27』 +https://ali-m-l.cztv.com/channels/lantian/channel07/720p.m3u8$LR•IPV4•33『线路27』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://ali-m-l.cztv.com/channels/lantian/channel07/1080p.m3u8$LR•IPV4•33『线路28』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-5.m3u8$LR•IPV4•33『线路28』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-2.m3u8$LR•IPV4•33『线路29』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-4.m3u8$LR•IPV4•33『线路29』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-6.m3u8$LR•IPV4•33『线路30』 +http://ali-xwl.cztv.com/live/channel07720Plxw.m3u8$LR•IPV4•33『线路30』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-3.m3u8$LR•IPV4•33『线路31』 +https://stream1.freetv.fun/zhe-jiang-xin-wen-8.m3u8$LR•IPV4•33『线路31』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/zhe-jiang-xin-wen-4.m3u8$LR•IPV4•33『线路32』 +https://stream1.freetv.fun/7fa07158e038a9bae3747a0cb9f8e8ff1aaba32669d28d99a498716f16569c1d.m3u8$LR•IPV4•33『线路32』 #EXTINF:-1 tvg-id="浙江新闻" tvg-name="浙江新闻" group-title="浙江",浙江新闻 -https://stream1.freetv.fun/7fa07158e038a9bae3747a0cb9f8e8ff1aaba32669d28d99a498716f16569c1d.m3u8$LR•IPV4•33『线路33』 +https://t.freetv.fun/live/zhe-jiang-xin-wen-7.m3u8$LR•IPV4•33『线路33』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路1』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路2』 +http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8?zzhed$LR•IPV4•30『线路2』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-5.ctv$LR•IPV4•30『线路3』 +http://ali-xwl.cztv.com/live/channel101080Plxw.m3u8$LR•IPV4•30『线路3』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://t.freetv.fun/live/zhe-jiang-guo-ji-4.m3u8$LR•IPV4•30『线路4』 +https://t.freetv.fun/live/zhe-jiang-guo-ji-2.m3u8$LR•IPV4•30『线路4』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-9.m3u8$LR•IPV4•30『线路5』 +http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8$LR•IPV4•30『线路5』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-6.m3u8$LR•IPV4•30『线路6』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-5.m3u8$LR•IPV4•30『线路6』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-10.m3u8$LR•IPV4•30『线路7』 +https://t.freetv.fun/live/zhe-jiang-guo-ji-4.m3u8$LR•IPV4•30『线路7』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://t.freetv.fun/live/zhe-jiang-guo-ji-11.m3u8$LR•IPV4•30『线路8』 +https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8?$LR•IPV4•30『线路8』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-11.m3u8$LR•IPV4•30『线路9』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-7.m3u8$LR•IPV4•30『线路9』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8$LR•IPV4•30『线路10』 +https://stream1.freetv.fun/8edc171ba7945fd93cc0f2c9e39b48ba0a94500d0029db9456dfdc2d75f9ea9d.m3u8$LR•IPV4•30『线路10』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-3.ctv$LR•IPV4•30『线路11』 +http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8?a=1000&d=4e3d476240659192311f471b7b63aec2&k=d26568bae9dd23dd781c769c148459b2&t=1683180450$LR•IPV4•30『线路11』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://t.freetv.fun/live/zhe-jiang-guo-ji-10.m3u8$LR•IPV4•30『线路12』 +https://t.freetv.fun/live/zhe-jiang-guo-ji.m3u8$LR•IPV4•30『线路12』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -http://ali-m-l.cztv.com/channels/lantian/channel010/720p.m3u8$LR•IPV4•30『线路13』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-11.m3u8$LR•IPV4•30『线路13』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8?zzhed$LR•IPV4•30『线路14』 +http://ali-m-l.cztv.com/channels/lantian/channel010/720p.m3u8$LR•IPV4•30『线路14』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://qiniup-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路15』 +http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路15』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://ct-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路16』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-6.m3u8$LR•IPV4•30『线路16』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-5.m3u8$LR•IPV4•30『线路17』 +https://ct-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路17』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -http://ali-xwl.cztv.com/live/channel101080Plxw.m3u8$LR•IPV4•30『线路18』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-9.m3u8$LR•IPV4•30『线路18』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-1.m3u8$LR•IPV4•30『线路19』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-8.m3u8$LR•IPV4•30『线路19』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://t.freetv.fun/live/zhe-jiang-guo-ji-6.m3u8$LR•IPV4•30『线路20』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-3.ctv$LR•IPV4•30『线路20』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 http://ali-xwl.cztv.com/live/channel10720Plxw.m3u8$LR•IPV4•30『线路21』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-7.m3u8$LR•IPV4•30『线路22』 +https://t.freetv.fun/live/zhe-jiang-guo-ji-11.m3u8$LR•IPV4•30『线路22』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8?$LR•IPV4•30『线路23』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-1.m3u8$LR•IPV4•30『线路23』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://t.freetv.fun/live/zhe-jiang-guo-ji.m3u8$LR•IPV4•30『线路24』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-10.m3u8$LR•IPV4•30『线路24』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/8edc171ba7945fd93cc0f2c9e39b48ba0a94500d0029db9456dfdc2d75f9ea9d.m3u8$LR•IPV4•30『线路25』 +https://qiniup-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路25』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-8.m3u8$LR•IPV4•30『线路26』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-4.m3u8$LR•IPV4•30『线路26』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://t.freetv.fun/live/zhe-jiang-guo-ji-2.m3u8$LR•IPV4•30『线路27』 +https://t.freetv.fun/live/zhe-jiang-guo-ji-10.m3u8$LR•IPV4•30『线路27』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-2.m3u8$LR•IPV4•30『线路28』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-5.ctv$LR•IPV4•30『线路28』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -https://stream1.freetv.fun/zhe-jiang-guo-ji-4.m3u8$LR•IPV4•30『线路29』 +https://stream1.freetv.fun/zhe-jiang-guo-ji-2.m3u8$LR•IPV4•30『线路29』 #EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" group-title="浙江",浙江国际 -http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8?a=1000&d=4e3d476240659192311f471b7b63aec2&k=d26568bae9dd23dd781c769c148459b2&t=1683180450$LR•IPV4•30『线路30』 +https://t.freetv.fun/live/zhe-jiang-guo-ji-6.m3u8$LR•IPV4•30『线路30』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路1』 +http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路1』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路2』 +http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?fbl=$LR•IPV4•18『线路2』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-4.m3u8$LR•IPV4•18『线路3』 +https://stream1.freetv.fun/zhe-jiang-shao-er-11.m3u8$LR•IPV4•18『线路3』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-7.m3u8$LR•IPV4•18『线路4』 +http://ali-xwl.cztv.com/live/channel081080Plxw.m3u8$LR•IPV4•18『线路4』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?$LR•IPV4•18『线路5』 +http://ali-xwl.cztv.com/live/channel08720Plxw.m3u8$LR•IPV4•18『线路5』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://ct-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路6』 +https://stream1.freetv.fun/zhe-jiang-shao-er-7.m3u8$LR•IPV4•18『线路6』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-9.ctv$LR•IPV4•18『线路7』 +https://stream1.freetv.fun/zhe-jiang-shao-er-3.m3u8$LR•IPV4•18『线路7』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8$LR•IPV4•18『线路8』 +https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?$LR•IPV4•18『线路8』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -http://ali-xwl.cztv.com/live/channel081080Plxw.m3u8$LR•IPV4•18『线路9』 +https://stream1.freetv.fun/zhe-jiang-shao-er-10.ctv$LR•IPV4•18『线路9』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-10.ctv$LR•IPV4•18『线路10』 +https://stream1.freetv.fun/zhe-jiang-shao-er-4.m3u8$LR•IPV4•18『线路10』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-2.m3u8$LR•IPV4•18『线路11』 +http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8$LR•IPV4•18『线路11』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -http://ali-xwl.cztv.com/live/channel08720Plxw.m3u8$LR•IPV4•18『线路12』 +https://stream1.freetv.fun/zhe-jiang-shao-er-4.ctv$LR•IPV4•18『线路12』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-6.ctv$LR•IPV4•18『线路13』 +https://stream1.freetv.fun/zhe-jiang-shao-er-2.m3u8$LR•IPV4•18『线路13』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-4.ctv$LR•IPV4•18『线路14』 +https://stream1.freetv.fun/zhe-jiang-shao-er-9.ctv$LR•IPV4•18『线路14』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-3.m3u8$LR•IPV4•18『线路15』 +https://stream1.freetv.fun/zhe-jiang-shao-er-8.m3u8$LR•IPV4•18『线路15』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?fbl=$LR•IPV4•18『线路16』 +https://ct-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路16』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-11.m3u8$LR•IPV4•18『线路17』 +https://stream1.freetv.fun/zhe-jiang-shao-er-6.ctv$LR•IPV4•18『线路17』 #EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" group-title="浙江",浙江少儿 -https://stream1.freetv.fun/zhe-jiang-shao-er-8.m3u8$LR•IPV4•18『线路18』 +https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路18』 #EXTINF:-1 tvg-id="浙江教科" tvg-name="浙江教科" group-title="浙江",浙江教科 https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8$LR•IPV4•8『线路1』 #EXTINF:-1 tvg-id="浙江教科" tvg-name="浙江教科" group-title="浙江",浙江教科 @@ -4952,91 +4960,91 @@ http://api3.52tb.xyz/info?id=432&token=20230226bgyszp$LR•IPV4•8『线路2』 #EXTINF:-1 tvg-id="浙江教科" tvg-name="浙江教科" group-title="浙江",浙江教科 http://zwebl02.cztv.com/live/channel041080P.m3u8?auth_key=2524708799-0-0-f195b808217db133bfd648edc01e91fa$LR•IPV4•8『线路3』 #EXTINF:-1 tvg-id="浙江教科" tvg-name="浙江教科" group-title="浙江",浙江教科 -http://ali-m-l.cztv.com/channels/lantian/channel04/1080p.m3u8$LR•IPV4•8『线路4』 +http://ali-xwl.cztv.com/live/channel04720Plxw.m3u8$LR•IPV4•8『线路4』 #EXTINF:-1 tvg-id="浙江教科" tvg-name="浙江教科" group-title="浙江",浙江教科 -http://ali-xwl.cztv.com/live/channel04720Plxw.m3u8$LR•IPV4•8『线路5』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8242&tk=23a9aca1f79f$LR•IPV4•8『线路5』 #EXTINF:-1 tvg-id="浙江教科" tvg-name="浙江教科" group-title="浙江",浙江教科 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8242&tk=23a9aca1f79f$LR•IPV4•8『线路6』 +http://ali-vl.cztv.com/channels/lantian/channel004/360p.m3u8$LR•IPV4•8『线路6』 #EXTINF:-1 tvg-id="浙江教科" tvg-name="浙江教科" group-title="浙江",浙江教科 -http://ali-xwl.cztv.com/live/channel041080Plxw.m3u8$LR•IPV4•8『线路7』 +http://ali-m-l.cztv.com/channels/lantian/channel04/1080p.m3u8$LR•IPV4•8『线路7』 #EXTINF:-1 tvg-id="浙江教科" tvg-name="浙江教科" group-title="浙江",浙江教科 -http://ali-vl.cztv.com/channels/lantian/channel004/360p.m3u8$LR•IPV4•8『线路8』 +http://ali-xwl.cztv.com/live/channel041080Plxw.m3u8$LR•IPV4•8『线路8』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8$LR•IPV4•19『线路1』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -http://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8$LR•IPV4•19『线路2』 +https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-3.m3u8$LR•IPV4•19『线路2』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -http://ali-m-l.cztv.com/channels/lantian/channel02/1080p.m3u8$LR•IPV4•19『线路3』 +https://stream1.freetv.fun/bf079ada709563bdd095159c02dfb5afb53c24e643b73f987100b9d25e9c8f41.m3u8$LR•IPV4•19『线路3』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://stream1.freetv.fun/bf079ada709563bdd095159c02dfb5afb53c24e643b73f987100b9d25e9c8f41.m3u8$LR•IPV4•19『线路4』 +http://ali-m-l.cztv.com/channels/lantian/channel002/720p.m3u8$LR•IPV4•19『线路4』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-4.ctv$LR•IPV4•19『线路5』 +https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-1.m3u8$LR•IPV4•19『线路5』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 http://ali-xwl.cztv.com/live/channel02720Plxw.m3u8$LR•IPV4•19『线路6』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -http://120.55.49.231:3095/rtp/233.50.201.132:5140$LR•IPV4•19『线路7』 +https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-2.m3u8$LR•IPV4•19『线路7』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-2.m3u8$LR•IPV4•19『线路8』 +https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-5.ctv$LR•IPV4•19『线路8』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-3.m3u8$LR•IPV4•19『线路9』 +http://120.55.49.231:3095/rtp/233.50.201.132:5140$LR•IPV4•19『线路9』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi.m3u8$LR•IPV4•19『线路10』 +http://ali-m-l.cztv.com/channels/lantian/channel02/1080p.m3u8$LR•IPV4•19『线路10』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -http://ali-xwl.cztv.com/live/channel021080Plxw.m3u8$LR•IPV4•19『线路11』 +https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-1.m3u8$LR•IPV4•19『线路11』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-3.ctv$LR•IPV4•19『线路12』 +https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-2.m3u8$LR•IPV4•19『线路12』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -http://api3.52tb.xyz/info?id=436&token=20230226bgyszp$LR•IPV4•19『线路13』 +https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8\r\n$LR•IPV4•19『线路13』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-2.m3u8$LR•IPV4•19『线路14』 +http://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8$LR•IPV4•19『线路14』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8\r\n$LR•IPV4•19『线路15』 +https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi.m3u8$LR•IPV4•19『线路15』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-1.m3u8$LR•IPV4•19『线路16』 +https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-4.ctv$LR•IPV4•19『线路16』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-1.m3u8$LR•IPV4•19『线路17』 +http://ali-xwl.cztv.com/live/channel021080Plxw.m3u8$LR•IPV4•19『线路17』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-5.ctv$LR•IPV4•19『线路18』 +http://api3.52tb.xyz/info?id=436&token=20230226bgyszp$LR•IPV4•19『线路18』 #EXTINF:-1 tvg-id="浙江钱江" tvg-name="浙江钱江" group-title="浙江",浙江钱江 -http://ali-m-l.cztv.com/channels/lantian/channel002/720p.m3u8$LR•IPV4•19『线路19』 +https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-3.ctv$LR•IPV4•19『线路19』 #EXTINF:-1 tvg-id="公共新闻" tvg-name="公共新闻" group-title="浙江",公共新闻 -http://ali-m-l.cztv.com/channels/lantian/channel07/1080p.m3u8$LR•IPV4•6『线路1』 +https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-1.ctv$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="公共新闻" tvg-name="公共新闻" group-title="浙江",公共新闻 -https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-1.ctv$LR•IPV4•6『线路2』 +https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-2.ctv$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="公共新闻" tvg-name="公共新闻" group-title="浙江",公共新闻 https://t.freetv.fun/live/zhe-jiang-gong-gong-xin-wen.m3u8$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="公共新闻" tvg-name="公共新闻" group-title="浙江",公共新闻 -https://t.freetv.fun/live/zhe-jiang-gong-gong-xin-wen-1.m3u8$LR•IPV4•6『线路4』 +https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-1.m3u8$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="公共新闻" tvg-name="公共新闻" group-title="浙江",公共新闻 -https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-2.ctv$LR•IPV4•6『线路5』 +http://ali-m-l.cztv.com/channels/lantian/channel07/1080p.m3u8$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="公共新闻" tvg-name="公共新闻" group-title="浙江",公共新闻 -https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-1.m3u8$LR•IPV4•6『线路6』 +https://t.freetv.fun/live/zhe-jiang-gong-gong-xin-wen-1.m3u8$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="上虞新闻综合" tvg-name="上虞新闻综合" group-title="浙江",上虞新闻综合 -http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?zzhed$LR•IPV4•2『线路1』 +http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="上虞新闻综合" tvg-name="上虞新闻综合" group-title="浙江",上虞新闻综合 -http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•2『线路2』 +http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?zzhed$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed$LR•IPV4•11『线路1』 +https://stream1.freetv.fun/shang-yu-xin-shang-du-5.m3u8$LR•IPV4•11『线路1』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8$LR•IPV4•11『线路2』 +http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed$LR•IPV4•11『线路2』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -https://stream1.freetv.fun/shang-yu-xin-shang-du-5.m3u8$LR•IPV4•11『线路3』 +https://stream1.freetv.fun/shang-yu-xin-shang-du-2.m3u8$LR•IPV4•11『线路3』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -https://stream1.freetv.fun/shang-yu-xin-shang-du-2.m3u8$LR•IPV4•11『线路4』 +http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed\r\n$LR•IPV4•11『线路4』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -https://stream1.freetv.fun/shang-yu-xin-shang-du-3.m3u8$LR•IPV4•11『线路5』 +https://t.freetv.fun/live/shang-yu-xin-shang-du-1.m3u8$LR•IPV4•11『线路5』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -https://t.freetv.fun/live/shang-yu-xin-shang-du.m3u8$LR•IPV4•11『线路6』 +https://stream1.freetv.fun/shang-yu-xin-shang-du-4.m3u8$LR•IPV4•11『线路6』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -https://t.freetv.fun/live/shang-yu-xin-shang-du-1.m3u8$LR•IPV4•11『线路7』 +https://stream1.freetv.fun/shang-yu-xin-shang-du-1.m3u8$LR•IPV4•11『线路7』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed\r\n$LR•IPV4•11『线路8』 +https://stream1.freetv.fun/shang-yu-xin-shang-du-3.m3u8$LR•IPV4•11『线路8』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -https://stream1.freetv.fun/shang-yu-xin-shang-du-4.m3u8$LR•IPV4•11『线路9』 +http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed?$LR•IPV4•11『线路9』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -https://stream1.freetv.fun/shang-yu-xin-shang-du-1.m3u8$LR•IPV4•11『线路10』 +https://t.freetv.fun/live/shang-yu-xin-shang-du.m3u8$LR•IPV4•11『线路10』 #EXTINF:-1 tvg-id="上虞新商都" tvg-name="上虞新商都" group-title="浙江",上虞新商都 -http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed?$LR•IPV4•11『线路11』 +http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8$LR•IPV4•11『线路11』 #EXTINF:-1 tvg-id="开化国家公园" tvg-name="开化国家公园" group-title="浙江",开化国家公园 http://l.cztvcloud.com/channels/lantian/SXkaihua2/720p.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="开化国家公园" tvg-name="开化国家公园" group-title="浙江",开化国家公园 @@ -5044,25 +5052,25 @@ http://l.cztvcloud.com/channels/lantian/SXkaihua2/720p.m3u8?zzhed$LR•IPV4•3 #EXTINF:-1 tvg-id="开化国家公园" tvg-name="开化国家公园" group-title="浙江",开化国家公园 http://l.cztvcloud.com/channels/lantian/SXkaihua2/720p.m3u8zzhed$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8$LR•IPV4•10『线路1』 +http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed"$LR•IPV4•10『线路1』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed$LR•IPV4•10『线路2』 +https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-3.ctv$LR•IPV4•10『线路2』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -https://t.freetv.fun/live/yong-jia-xin-wen-zong-he.m3u8$LR•IPV4•10『线路3』 +http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed"$LR•IPV4•10『线路3』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路4』 +http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8$LR•IPV4•10『线路4』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -https://t.freetv.fun/live/yong-jia-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路5』 +https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路5』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路6』 +http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed$LR•IPV4•10『线路6』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-3.ctv$LR•IPV4•10『线路7』 +https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-4.m3u8$LR•IPV4•10『线路7』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-4.m3u8$LR•IPV4•10『线路8』 +https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路8』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed"$LR•IPV4•10『线路9』 +https://t.freetv.fun/live/yong-jia-xin-wen-zong-he.m3u8$LR•IPV4•10『线路9』 #EXTINF:-1 tvg-id="永嘉新闻综合" tvg-name="永嘉新闻综合" group-title="浙江",永嘉新闻综合 -http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed"$LR•IPV4•10『线路10』 +https://t.freetv.fun/live/yong-jia-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路10』 #EXTINF:-1 tvg-id="萧山生活频道" tvg-name="萧山生活频道" group-title="浙江",萧山生活频道 http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8?zzhed$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="萧山生活频道" tvg-name="萧山生活频道" group-title="浙江",萧山生活频道 @@ -5070,207 +5078,207 @@ https://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8$LR•IPV4•3『 #EXTINF:-1 tvg-id="萧山生活频道" tvg-name="萧山生活频道" group-title="浙江",萧山生活频道 http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8?zzhed?$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="龙游生活娱乐" tvg-name="龙游生活娱乐" group-title="浙江",龙游生活娱乐 -https://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8$LR•IPV4•3『线路1』 +http://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="龙游生活娱乐" tvg-name="龙游生活娱乐" group-title="浙江",龙游生活娱乐 -http://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8?zzhed$LR•IPV4•3『线路2』 +https://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="龙游生活娱乐" tvg-name="龙游生活娱乐" group-title="浙江",龙游生活娱乐 -http://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8$LR•IPV4•3『线路3』 +http://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8?zzhed$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://ls.qingting.fm/live/1099.m3u8$LR•IPV4•25『线路1』 +http://ali-vl.cztv.com/channels/lantian/channel003/360p.m3u8$LR•IPV4•25『线路1』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8$LR•IPV4•25『线路2』 +https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8\r\n$LR•IPV4•25『线路2』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-8.ctv$LR•IPV4•25『线路3』 +https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-2.ctv$LR•IPV4•25『线路3』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-7.ctv$LR•IPV4•25『线路4』 +https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-3.m3u8$LR•IPV4•25『线路4』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://120.55.49.231:3095/rtp/233.50.201.133:5140$LR•IPV4•25『线路5』 +https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8?$LR•IPV4•25『线路5』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://ali-xwl.cztv.com/live/channel031080Plxw.m3u8$LR•IPV4•25『线路6』 +https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-2.m3u8$LR•IPV4•25『线路6』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-2.ctv$LR•IPV4•25『线路7』 +http://ls.qingting.fm/live/1099.m3u8$LR•IPV4•25『线路7』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-6.m3u8$LR•IPV4•25『线路8』 +http://120.55.49.231:3095/rtp/233.50.201.133:5140$LR•IPV4•25『线路8』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://ali-xwl.cztv.com/live/channel03720Plxw.m3u8$LR•IPV4•25『线路9』 +https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-6.m3u8$LR•IPV4•25『线路9』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://ali-m-l.cztv.com/channels/lantian/channel03/1080p.m3u8$LR•IPV4•25『线路10』 +https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-7.m3u8$LR•IPV4•25『线路10』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://ali-m-l.cztv.com/channels/lantian/channel03/720p.m3u8$LR•IPV4•25『线路11』 +http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8$LR•IPV4•25『线路11』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8?$LR•IPV4•25『线路12』 +https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-6.m3u8$LR•IPV4•25『线路12』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://ali-m-l.cztv.com/channels/lantian/channel003/720p.m3u8$LR•IPV4•25『线路13』 +http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8$LR•IPV4•25『线路13』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-1.m3u8$LR•IPV4•25『线路14』 +http://api3.52tb.xyz/info?id=437&token=20230226bgyszp$LR•IPV4•25『线路14』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-7.m3u8$LR•IPV4•25『线路15』 +https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-1.ctv$LR•IPV4•25『线路15』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8$LR•IPV4•25『线路16』 +http://ali-m-l.cztv.com/channels/lantian/channel003/720p.m3u8$LR•IPV4•25『线路16』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://ali-vl.cztv.com/channels/lantian/channel003/360p.m3u8$LR•IPV4•25『线路17』 +http://ali-xwl.cztv.com/live/channel03720Plxw.m3u8$LR•IPV4•25『线路17』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-5.m3u8$LR•IPV4•25『线路18』 +https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-7.ctv$LR•IPV4•25『线路18』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-3.m3u8$LR•IPV4•25『线路19』 +http://ali-m-l.cztv.com/channels/lantian/channel03/720p.m3u8$LR•IPV4•25『线路19』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-1.ctv$LR•IPV4•25『线路20』 +https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-1.m3u8$LR•IPV4•25『线路20』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-6.m3u8$LR•IPV4•25『线路21』 +http://ali-m-l.cztv.com/channels/lantian/channel03/1080p.m3u8$LR•IPV4•25『线路21』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8\r\n$LR•IPV4•25『线路22』 +https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8$LR•IPV4•25『线路22』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8$LR•IPV4•25『线路23』 +https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-5.m3u8$LR•IPV4•25『线路23』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -http://api3.52tb.xyz/info?id=437&token=20230226bgyszp$LR•IPV4•25『线路24』 +http://ali-xwl.cztv.com/live/channel031080Plxw.m3u8$LR•IPV4•25『线路24』 #EXTINF:-1 tvg-id="浙江生活" tvg-name="浙江生活" group-title="浙江",浙江生活 -https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-2.m3u8$LR•IPV4•25『线路25』 +https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-8.ctv$LR•IPV4•25『线路25』 #EXTINF:-1 tvg-id="浙江教育" tvg-name="浙江教育" group-title="浙江",浙江教育 -http://ali-m-l.cztv.com/channels/lantian/channel04/720p.m3u8$LR•IPV4•3『线路1』 +https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="浙江教育" tvg-name="浙江教育" group-title="浙江",浙江教育 -https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?$LR•IPV4•3『线路2』 +http://ali-m-l.cztv.com/channels/lantian/channel04/720p.m3u8$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="浙江教育" tvg-name="浙江教育" group-title="浙江",浙江教育 http://120.55.49.231:3095/rtp/233.50.201.134:5140$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="杭州综合" tvg-name="杭州综合" group-title="浙江",杭州综合 -http://www.jeremyoto.com:82/rtp/233.50.201.173:5140$LR•IPV4•6『线路1』 +http://120.55.49.231:3095/rtp/233.50.201.173:5140$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="杭州综合" tvg-name="杭州综合" group-title="浙江",杭州综合 -https://stream1.freetv.fun/hang-zhou-zong-he-2.ctv$LR•IPV4•6『线路2』 +http://www.flyskyman.cn:4022/rtp/233.50.201.173:5140$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="杭州综合" tvg-name="杭州综合" group-title="浙江",杭州综合 -http://www.flyskyman.cn:4022/rtp/233.50.201.173:5140$LR•IPV4•6『线路3』 +https://stream1.freetv.fun/hang-zhou-zong-he-3.ctv$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="杭州综合" tvg-name="杭州综合" group-title="浙江",杭州综合 -http://live.xmcdn.com/live/1845/64.m3u8$LR•IPV4•6『线路4』 +http://www.jeremyoto.com:82/rtp/233.50.201.173:5140$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="杭州综合" tvg-name="杭州综合" group-title="浙江",杭州综合 -http://120.55.49.231:3095/rtp/233.50.201.173:5140$LR•IPV4•6『线路5』 +https://stream1.freetv.fun/hang-zhou-zong-he-2.ctv$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="杭州综合" tvg-name="杭州综合" group-title="浙江",杭州综合 -https://stream1.freetv.fun/hang-zhou-zong-he-3.ctv$LR•IPV4•6『线路6』 +http://live.xmcdn.com/live/1845/64.m3u8$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="杭州明珠" tvg-name="杭州明珠" group-title="浙江",杭州明珠 -https://stream1.freetv.fun/hang-zhou-ming-zhu-2.m3u8$LR•IPV4•7『线路1』 +https://stream1.freetv.fun/hang-zhou-ming-zhu-2.ctv$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="杭州明珠" tvg-name="杭州明珠" group-title="浙江",杭州明珠 -https://stream1.freetv.fun/hang-zhou-ming-zhu-4.m3u8$LR•IPV4•7『线路2』 +http://www.flyskyman.cn:4022/rtp/233.50.201.174:5140$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="杭州明珠" tvg-name="杭州明珠" group-title="浙江",杭州明珠 -http://120.198.101.106:9901/tsfile/live/1008_1.m3u8?key=txiptv$LR•IPV4•7『线路3』 +https://stream1.freetv.fun/hang-zhou-ming-zhu-4.m3u8$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="杭州明珠" tvg-name="杭州明珠" group-title="浙江",杭州明珠 -http://www.flyskyman.cn:4022/rtp/233.50.201.174:5140$LR•IPV4•7『线路4』 +http://www.jeremyoto.com:82/rtp/233.50.201.174:5140$LR•IPV4•7『线路4』 #EXTINF:-1 tvg-id="杭州明珠" tvg-name="杭州明珠" group-title="浙江",杭州明珠 -https://stream1.freetv.fun/hang-zhou-ming-zhu-2.ctv$LR•IPV4•7『线路5』 +https://stream1.freetv.fun/hang-zhou-ming-zhu-2.m3u8$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="杭州明珠" tvg-name="杭州明珠" group-title="浙江",杭州明珠 -http://www.jeremyoto.com:82/rtp/233.50.201.174:5140$LR•IPV4•7『线路6』 +http://120.198.101.106:9901/tsfile/live/1008_1.m3u8?key=txiptv$LR•IPV4•7『线路6』 #EXTINF:-1 tvg-id="杭州明珠" tvg-name="杭州明珠" group-title="浙江",杭州明珠 https://stream1.freetv.fun/hang-zhou-ming-zhu-1.ctv$LR•IPV4•7『线路7』 #EXTINF:-1 tvg-id="杭州生活" tvg-name="杭州生活" group-title="浙江",杭州生活 -http://120.55.49.231:3095/rtp/233.50.201.175:5140$LR•IPV4•6『线路1』 +https://stream1.freetv.fun/hang-zhou-sheng-huo-2.ctv$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="杭州生活" tvg-name="杭州生活" group-title="浙江",杭州生活 -https://stream1.freetv.fun/hang-zhou-sheng-huo-3.ctv$LR•IPV4•6『线路2』 +https://stream1.freetv.fun/hang-zhou-sheng-huo-1.ctv$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="杭州生活" tvg-name="杭州生活" group-title="浙江",杭州生活 -http://www.jeremyoto.com:82/rtp/233.50.201.175:5140$LR•IPV4•6『线路3』 +http://120.55.49.231:3095/rtp/233.50.201.175:5140$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="杭州生活" tvg-name="杭州生活" group-title="浙江",杭州生活 -https://stream1.freetv.fun/hang-zhou-sheng-huo-2.ctv$LR•IPV4•6『线路4』 +https://stream1.freetv.fun/hang-zhou-sheng-huo-3.ctv$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="杭州生活" tvg-name="杭州生活" group-title="浙江",杭州生活 -http://www.flyskyman.cn:4022/rtp/233.50.201.175:5140$LR•IPV4•6『线路5』 +http://www.jeremyoto.com:82/rtp/233.50.201.175:5140$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="杭州生活" tvg-name="杭州生活" group-title="浙江",杭州生活 -https://stream1.freetv.fun/hang-zhou-sheng-huo-1.ctv$LR•IPV4•6『线路6』 +http://www.flyskyman.cn:4022/rtp/233.50.201.175:5140$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="杭州影视" tvg-name="杭州影视" group-title="浙江",杭州影视 -http://www.jeremyoto.com:82/rtp/233.50.201.176:5140$LR•IPV4•3『线路1』 +http://www.flyskyman.cn:4022/rtp/233.50.201.176:5140$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="杭州影视" tvg-name="杭州影视" group-title="浙江",杭州影视 -https://stream1.freetv.fun/hang-zhou-ying-shi-2.ctv$LR•IPV4•3『线路2』 +http://www.jeremyoto.com:82/rtp/233.50.201.176:5140$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="杭州影视" tvg-name="杭州影视" group-title="浙江",杭州影视 -http://www.flyskyman.cn:4022/rtp/233.50.201.176:5140$LR•IPV4•3『线路3』 +https://stream1.freetv.fun/hang-zhou-ying-shi-2.ctv$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="嘉兴新闻综合" tvg-name="嘉兴新闻综合" group-title="浙江",嘉兴新闻综合 http://live.zohi.tv/video/s10001-fztv-1/index.m3u8$LR•IPV4•5『线路1』 #EXTINF:-1 tvg-id="嘉兴新闻综合" tvg-name="嘉兴新闻综合" group-title="浙江",嘉兴新闻综合 -http://tvfile.jyrmt.cn:80/nmip-media/channellive/channel104452/playlist.m3u8$LR•IPV4•5『线路2』 +http://play-sh13.quklive.com/live/1675942165226154.m3u8?auth_key=2028730261-e7db80d294b04dc9ab5c8136b4c88b74-0-f0795306faa59c7edb35860a8ae63528$LR•IPV4•5『线路2』 #EXTINF:-1 tvg-id="嘉兴新闻综合" tvg-name="嘉兴新闻综合" group-title="浙江",嘉兴新闻综合 -http://play-sh13.quklive.com/live/1675942165226154.m3u8?auth_key=2028730261-e7db80d294b04dc9ab5c8136b4c88b74-0-f0795306faa59c7edb35860a8ae63528$LR•IPV4•5『线路3』 +https://live-auth.51kandianshi.com/szgd/csztv1.m3u8$LR•IPV4•5『线路3』 #EXTINF:-1 tvg-id="嘉兴新闻综合" tvg-name="嘉兴新闻综合" group-title="浙江",嘉兴新闻综合 -http://live.pzhkai.com/xwzhtl/sd/live.m3u8$LR•IPV4•5『线路4』 +http://tvfile.jyrmt.cn:80/nmip-media/channellive/channel104452/playlist.m3u8$LR•IPV4•5『线路4』 #EXTINF:-1 tvg-id="嘉兴新闻综合" tvg-name="嘉兴新闻综合" group-title="浙江",嘉兴新闻综合 -https://live-auth.51kandianshi.com/szgd/csztv1.m3u8$LR•IPV4•5『线路5』 +http://live.pzhkai.com/xwzhtl/sd/live.m3u8$LR•IPV4•5『线路5』 #EXTINF:-1 tvg-id="湖州公共" tvg-name="湖州公共" group-title="浙江",湖州公共 -http://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e$LR•IPV4•9『线路1』 +http://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e&fbl=$LR•IPV4•9『线路1』 #EXTINF:-1 tvg-id="湖州公共" tvg-name="湖州公共" group-title="浙江",湖州公共 -https://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e$LR•IPV4•9『线路2』 +https://t.freetv.fun/live/hu-zhou-gong-gong-6.m3u8$LR•IPV4•9『线路2』 #EXTINF:-1 tvg-id="湖州公共" tvg-name="湖州公共" group-title="浙江",湖州公共 -https://stream1.freetv.fun/hu-zhou-gong-gong-3.m3u8$LR•IPV4•9『线路3』 +https://t.freetv.fun/live/hu-zhou-gong-gong-2.m3u8$LR•IPV4•9『线路3』 #EXTINF:-1 tvg-id="湖州公共" tvg-name="湖州公共" group-title="浙江",湖州公共 -https://t.freetv.fun/live/hu-zhou-gong-gong-2.m3u8$LR•IPV4•9『线路4』 +https://t.freetv.fun/live/hu-zhou-gong-gong-1.m3u8$LR•IPV4•9『线路4』 #EXTINF:-1 tvg-id="湖州公共" tvg-name="湖州公共" group-title="浙江",湖州公共 -https://t.freetv.fun/live/hu-zhou-gong-gong-1.m3u8$LR•IPV4•9『线路5』 +https://stream1.freetv.fun/hu-zhou-gong-gong-3.m3u8$LR•IPV4•9『线路5』 #EXTINF:-1 tvg-id="湖州公共" tvg-name="湖州公共" group-title="浙江",湖州公共 -https://stream1.freetv.fun/hu-zhou-gong-gong-9.m3u8$LR•IPV4•9『线路6』 +https://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e$LR•IPV4•9『线路6』 #EXTINF:-1 tvg-id="湖州公共" tvg-name="湖州公共" group-title="浙江",湖州公共 https://stream1.freetv.fun/hu-zhou-gong-gong-1.m3u8$LR•IPV4•9『线路7』 #EXTINF:-1 tvg-id="湖州公共" tvg-name="湖州公共" group-title="浙江",湖州公共 -http://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e&fbl=$LR•IPV4•9『线路8』 +https://stream1.freetv.fun/hu-zhou-gong-gong-9.m3u8$LR•IPV4•9『线路8』 #EXTINF:-1 tvg-id="湖州公共" tvg-name="湖州公共" group-title="浙江",湖州公共 -https://t.freetv.fun/live/hu-zhou-gong-gong-6.m3u8$LR•IPV4•9『线路9』 +http://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e$LR•IPV4•9『线路9』 #EXTINF:-1 tvg-id="湖州新闻综合" tvg-name="湖州新闻综合" group-title="浙江",湖州新闻综合 -http://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865$LR•IPV4•3『线路1』 +http://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865&fbl=$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="湖州新闻综合" tvg-name="湖州新闻综合" group-title="浙江",湖州新闻综合 -http://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865&fbl=$LR•IPV4•3『线路2』 +https://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="湖州新闻综合" tvg-name="湖州新闻综合" group-title="浙江",湖州新闻综合 -https://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865$LR•IPV4•3『线路3』 +http://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="湖州文化娱乐" tvg-name="湖州文化娱乐" group-title="浙江",湖州文化娱乐 -http://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887$LR•IPV4•3『线路1』 +http://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887&fbl=$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="湖州文化娱乐" tvg-name="湖州文化娱乐" group-title="浙江",湖州文化娱乐 -http://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887&fbl=$LR•IPV4•3『线路2』 +http://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="湖州文化娱乐" tvg-name="湖州文化娱乐" group-title="浙江",湖州文化娱乐 https://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="浙江留学" tvg-name="浙江留学" group-title="浙江",浙江留学 -http://ali-vl.cztv.com/channels/lantian/channel009/360p.m3u8$LR•IPV4•2『线路1』 +https://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="浙江留学" tvg-name="浙江留学" group-title="浙江",浙江留学 -https://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8$LR•IPV4•2『线路2』 +http://ali-vl.cztv.com/channels/lantian/channel009/360p.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="浙江数码时代" tvg-name="浙江数码时代" group-title="浙江",浙江数码时代 -http://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8$LR•IPV4•3『线路1』 +http://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8?zzhed$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="浙江数码时代" tvg-name="浙江数码时代" group-title="浙江",浙江数码时代 https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8\r\n$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="浙江数码时代" tvg-name="浙江数码时代" group-title="浙江",浙江数码时代 -http://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8?zzhed$LR•IPV4•3『线路3』 +http://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="浙江青田" tvg-name="浙江青田" group-title="浙江",浙江青田 http://play-sh13.quklive.com/live/1692755062081192.m3u8?auth_key=2028414252-b15176e05a684b589d12314dfabf6225-0-d175afe86fbea31e2eb167a6dd06cd4f$LR•IPV4 #EXTINF:-1 tvg-id="浙江遂昌" tvg-name="浙江遂昌" group-title="浙江",浙江遂昌 -http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8$LR•IPV4•3『线路1』 +http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="浙江遂昌" tvg-name="浙江遂昌" group-title="浙江",浙江遂昌 http://play-sh13.quklive.com/live/1708426592499070.m3u8?auth_key=2028414342-e92bda8423ad478c987a8b7ae82abe0e-0-c616f7fabb9675e1ed1d84d9edae7e07$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="浙江遂昌" tvg-name="浙江遂昌" group-title="浙江",浙江遂昌 -http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•3『线路3』 +http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="遂昌综合" tvg-name="遂昌综合" group-title="浙江",遂昌综合 -http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?zzhed$LR•IPV4•2『线路1』 +http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8zzhed$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="遂昌综合" tvg-name="遂昌综合" group-title="浙江",遂昌综合 -http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8zzhed$LR•IPV4•2『线路2』 +http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?zzhed$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="缙云综合" tvg-name="缙云综合" group-title="浙江",缙云综合 -http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed$LR•IPV4•3『线路1』 +http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed?$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="缙云综合" tvg-name="缙云综合" group-title="浙江",缙云综合 -http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed?$LR•IPV4•3『线路2』 +http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="缙云综合" tvg-name="缙云综合" group-title="浙江",缙云综合 http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed"$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="缙云新闻综合" tvg-name="缙云新闻综合" group-title="浙江",缙云新闻综合 -http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8$LR•IPV4•2『线路1』 +http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?fbl=$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="缙云新闻综合" tvg-name="缙云新闻综合" group-title="浙江",缙云新闻综合 -http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?fbl=$LR•IPV4•2『线路2』 +http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="绍兴电视台公共" tvg-name="绍兴电视台公共" group-title="浙江",绍兴电视台公共 http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="绍兴电视台公共" tvg-name="绍兴电视台公共" group-title="浙江",绍兴电视台公共 http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8?zzhed$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="绍兴公共" tvg-name="绍兴公共" group-title="浙江",绍兴公共 -http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8$LR•IPV4•7『线路1』 +https://stream1.freetv.fun/shao-xing-gong-gong-2.m3u8$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="绍兴公共" tvg-name="绍兴公共" group-title="浙江",绍兴公共 -https://stream1.freetv.fun/shao-xing-gong-gong-2.m3u8$LR•IPV4•7『线路2』 +http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="绍兴公共" tvg-name="绍兴公共" group-title="浙江",绍兴公共 -https://stream1.freetv.fun/shao-xing-gong-gong-7.m3u8$LR•IPV4•7『线路3』 +https://stream1.freetv.fun/shao-xing-gong-gong-1.m3u8$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="绍兴公共" tvg-name="绍兴公共" group-title="浙江",绍兴公共 https://stream1.freetv.fun/shao-xing-gong-gong-8.m3u8$LR•IPV4•7『线路4』 #EXTINF:-1 tvg-id="绍兴公共" tvg-name="绍兴公共" group-title="浙江",绍兴公共 https://stream1.freetv.fun/shao-xing-gong-gong-3.m3u8$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="绍兴公共" tvg-name="绍兴公共" group-title="浙江",绍兴公共 -https://stream1.freetv.fun/shao-xing-gong-gong-1.m3u8$LR•IPV4•7『线路6』 +http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8?$LR•IPV4•7『线路6』 #EXTINF:-1 tvg-id="绍兴公共" tvg-name="绍兴公共" group-title="浙江",绍兴公共 -http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8?$LR•IPV4•7『线路7』 +https://stream1.freetv.fun/shao-xing-gong-gong-7.m3u8$LR•IPV4•7『线路7』 #EXTINF:-1 tvg-id="海宁新闻综合" tvg-name="海宁新闻综合" group-title="浙江",海宁新闻综合 -https://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8$LR•IPV4•3『线路1』 +http://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="海宁新闻综合" tvg-name="海宁新闻综合" group-title="浙江",海宁新闻综合 -http://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8$LR•IPV4•3『线路2』 +https://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8?zbid=293304&tpid=1708007815$LR•IPV4•3『线路2』 #EXTINF:-1 tvg-id="海宁新闻综合" tvg-name="海宁新闻综合" group-title="浙江",海宁新闻综合 -https://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8?zbid=293304&tpid=1708007815$LR•IPV4•3『线路3』 +https://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8$LR•IPV4•3『线路3』 #EXTINF:-1 tvg-id="洞头综合" tvg-name="洞头综合" group-title="浙江",洞头综合 http://l.cztvcloud.com/channels/lantian/SXdongtou1/720p.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="洞头综合" tvg-name="洞头综合" group-title="浙江",洞头综合 @@ -5290,65 +5298,65 @@ http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8$LR•IPV4•6『 #EXTINF:-1 tvg-id="松阳综合" tvg-name="松阳综合" group-title="浙江",松阳综合 http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?fbl=$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="松阳综合" tvg-name="松阳综合" group-title="浙江",松阳综合 -http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed$LR•IPV4•6『线路3』 +http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed?$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="松阳综合" tvg-name="松阳综合" group-title="浙江",松阳综合 http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8zzhed$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="松阳综合" tvg-name="松阳综合" group-title="浙江",松阳综合 http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="松阳综合" tvg-name="松阳综合" group-title="浙江",松阳综合 -http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed?$LR•IPV4•6『线路6』 +http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="新昌生活" tvg-name="新昌生活" group-title="浙江",新昌生活 http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8$LR•IPV4 #EXTINF:-1 tvg-id="新昌新闻综合" tvg-name="新昌新闻综合" group-title="浙江",新昌新闻综合 -https://l.cztvcloud.com/channels/lantian/SXxinchang1/720p.m3u8$LR•IPV4•7『线路1』 +https://t.freetv.fun/live/xin-chang-xin-wen-zong-he.m3u8$LR•IPV4•7『线路1』 #EXTINF:-1 tvg-id="新昌新闻综合" tvg-name="新昌新闻综合" group-title="浙江",新昌新闻综合 -https://t.freetv.fun/live/xin-chang-xin-wen-zong-he.m3u8$LR•IPV4•7『线路2』 +https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-5.ctv$LR•IPV4•7『线路2』 #EXTINF:-1 tvg-id="新昌新闻综合" tvg-name="新昌新闻综合" group-title="浙江",新昌新闻综合 -https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-5.ctv$LR•IPV4•7『线路3』 +https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-4.m3u8$LR•IPV4•7『线路3』 #EXTINF:-1 tvg-id="新昌新闻综合" tvg-name="新昌新闻综合" group-title="浙江",新昌新闻综合 -https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-1.m3u8$LR•IPV4•7『线路4』 +http://l.cztvcloud.com/channels/lantian/SXxinchang1/720p.m3u8$LR•IPV4•7『线路4』 #EXTINF:-1 tvg-id="新昌新闻综合" tvg-name="新昌新闻综合" group-title="浙江",新昌新闻综合 -http://l.cztvcloud.com/channels/lantian/SXxinchang1/720p.m3u8$LR•IPV4•7『线路5』 +https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-3.m3u8$LR•IPV4•7『线路5』 #EXTINF:-1 tvg-id="新昌新闻综合" tvg-name="新昌新闻综合" group-title="浙江",新昌新闻综合 -https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-4.m3u8$LR•IPV4•7『线路6』 +https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-1.m3u8$LR•IPV4•7『线路6』 #EXTINF:-1 tvg-id="新昌新闻综合" tvg-name="新昌新闻综合" group-title="浙江",新昌新闻综合 -https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-3.m3u8$LR•IPV4•7『线路7』 +https://l.cztvcloud.com/channels/lantian/SXxinchang1/720p.m3u8$LR•IPV4•7『线路7』 #EXTINF:-1 tvg-id="文成综合" tvg-name="文成综合" group-title="浙江",文成综合 -http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8?zzhed$LR•IPV4•4『线路1』 +http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8$LR•IPV4•4『线路1』 #EXTINF:-1 tvg-id="文成综合" tvg-name="文成综合" group-title="浙江",文成综合 -http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8$LR•IPV4•4『线路2』 +http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8?zzhed$LR•IPV4•4『线路2』 #EXTINF:-1 tvg-id="文成综合" tvg-name="文成综合" group-title="浙江",文成综合 http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8?zzhed?$LR•IPV4•4『线路3』 #EXTINF:-1 tvg-id="文成综合" tvg-name="文成综合" group-title="浙江",文成综合 http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8?fbl=$LR•IPV4•4『线路4』 #EXTINF:-1 tvg-id="庆元综合" tvg-name="庆元综合" group-title="浙江",庆元综合 -http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8$LR•IPV4•6『线路1』 +http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="庆元综合" tvg-name="庆元综合" group-title="浙江",庆元综合 -http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed$LR•IPV4•6『线路2』 +http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed[浙江]洞头综合频道$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="庆元综合" tvg-name="庆元综合" group-title="浙江",庆元综合 -http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed?$LR•IPV4•6『线路3』 +http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?fbl=$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="庆元综合" tvg-name="庆元综合" group-title="浙江",庆元综合 -http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路4』 +http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="庆元综合" tvg-name="庆元综合" group-title="浙江",庆元综合 -http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?fbl=$LR•IPV4•6『线路5』 +http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="庆元综合" tvg-name="庆元综合" group-title="浙江",庆元综合 -http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed[浙江]洞头综合频道$LR•IPV4•6『线路6』 +http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed?$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="嵊泗综合" tvg-name="嵊泗综合" group-title="浙江",嵊泗综合 -http://l.cztvcloud.com/channels/lantian/SXshengsi1/720p.m3u8$LR•IPV4•8『线路1』 +https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-3.m3u8$LR•IPV4•8『线路1』 #EXTINF:-1 tvg-id="嵊泗综合" tvg-name="嵊泗综合" group-title="浙江",嵊泗综合 -https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-1.m3u8$LR•IPV4•8『线路2』 +http://l.cztvcloud.com/channels/lantian/SXshengsi1/720p.m3u8$LR•IPV4•8『线路2』 #EXTINF:-1 tvg-id="嵊泗综合" tvg-name="嵊泗综合" group-title="浙江",嵊泗综合 -https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-3.m3u8$LR•IPV4•8『线路3』 +http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8$LR•IPV4•8『线路3』 #EXTINF:-1 tvg-id="嵊泗综合" tvg-name="嵊泗综合" group-title="浙江",嵊泗综合 -https://play-sh11.quklive.com/live/1626935015913208.m3u8$LR•IPV4•8『线路4』 +https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-2.ctv$LR•IPV4•8『线路4』 #EXTINF:-1 tvg-id="嵊泗综合" tvg-name="嵊泗综合" group-title="浙江",嵊泗综合 -http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8$LR•IPV4•8『线路5』 +https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-2.m3u8$LR•IPV4•8『线路5』 #EXTINF:-1 tvg-id="嵊泗综合" tvg-name="嵊泗综合" group-title="浙江",嵊泗综合 -http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed$LR•IPV4•8『线路6』 +https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-1.m3u8$LR•IPV4•8『线路6』 #EXTINF:-1 tvg-id="嵊泗综合" tvg-name="嵊泗综合" group-title="浙江",嵊泗综合 -https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-2.m3u8$LR•IPV4•8『线路7』 +https://play-sh11.quklive.com/live/1626935015913208.m3u8$LR•IPV4•8『线路7』 #EXTINF:-1 tvg-id="嵊泗综合" tvg-name="嵊泗综合" group-title="浙江",嵊泗综合 -https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-2.ctv$LR•IPV4•8『线路8』 +http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed$LR•IPV4•8『线路8』 #EXTINF:-1 tvg-id="余杭综合" tvg-name="余杭综合" group-title="浙江",余杭综合 http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8$LR•IPV4•3『线路1』 #EXTINF:-1 tvg-id="余杭综合" tvg-name="余杭综合" group-title="浙江",余杭综合 @@ -5360,94 +5368,96 @@ http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8$LR•IPV4•2『线 #EXTINF:-1 tvg-id="余杭未来E" tvg-name="余杭未来E" group-title="浙江",余杭未来E http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8?zzhed$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="余姚综合" tvg-name="余姚综合" group-title="浙江",余姚综合 -https://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8$LR•IPV4•6『线路1』 +http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?zzhed$LR•IPV4•6『线路1』 #EXTINF:-1 tvg-id="余姚综合" tvg-name="余姚综合" group-title="浙江",余姚综合 -http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8$LR•IPV4•6『线路2』 +http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•6『线路2』 #EXTINF:-1 tvg-id="余姚综合" tvg-name="余姚综合" group-title="浙江",余姚综合 -http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?zzhed$LR•IPV4•6『线路3』 +http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?$LR•IPV4•6『线路3』 #EXTINF:-1 tvg-id="余姚综合" tvg-name="余姚综合" group-title="浙江",余姚综合 -http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?$LR•IPV4•6『线路4』 +http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路4』 #EXTINF:-1 tvg-id="余姚综合" tvg-name="余姚综合" group-title="浙江",余姚综合 -http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•6『线路5』 +https://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8$LR•IPV4•6『线路5』 #EXTINF:-1 tvg-id="余姚综合" tvg-name="余姚综合" group-title="浙江",余姚综合 -http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路6』 +http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8$LR•IPV4•6『线路6』 #EXTINF:-1 tvg-id="中国蓝新闻" tvg-name="中国蓝新闻" group-title="浙江",中国蓝新闻 http://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8$LR•IPV4•2『线路1』 #EXTINF:-1 tvg-id="中国蓝新闻" tvg-name="中国蓝新闻" group-title="浙江",中国蓝新闻 https://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8?$LR•IPV4•2『线路2』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226959/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EGrVNEZREjuNVKiTJo2mtwg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路1』 +https://sztv-hls.sztv.com.cn/AxeFRth/500/827hx4F.m3u8?sign=81a984a7a0d86523a2458304ed14d6bb&t=6a4e6457$LR•IPV4•28『线路1』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://112.123.243.37:50085/tsfile/live/1000_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•27『线路2』 +http://112.123.243.37:50085/tsfile/live/1000_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•28『线路2』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://120.202.94.181:9446/tsfile/live/0126_1.m3u8?key=txiptv$LR•IPV4•27『线路3』 +http://120.202.94.181:9446/tsfile/live/0126_1.m3u8?key=txiptv$LR•IPV4•28『线路3』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://173.208.212.130:8181/720p/szws.m3u8$LR•IPV4•27『线路4』 +http://173.208.212.130:8181/720p/szws.m3u8$LR•IPV4•28『线路4』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://207.56.13.146:81/cdnlive/szws.m3u8$LR•IPV4•27『线路5』 +http://207.56.13.146:81/cdnlive/szws.m3u8$LR•IPV4•28『线路5』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://63.141.230.178:82/gslb/zbdq5.m3u8?id=szwshd$LR•IPV4•27『线路6』 +http://63.141.230.178:82/gslb/zbdq5.m3u8?id=szwshd$LR•IPV4•28『线路6』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://36.136.38.87:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路7』 +http://36.136.38.87:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路7』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://153.0.171.163:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路8』 +http://153.0.171.163:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路8』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://112.27.235.94:8000/hls/33/index.m3u8$LR•IPV4•27『线路9』 +http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226959/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EGrVNEZREjuNVKiTJo2mtwg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路9』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://60.10.139.113:8801/hls/24/index.m3u8$LR•IPV4•27『线路10』 +http://112.27.235.94:8000/hls/33/index.m3u8$LR•IPV4•28『线路10』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://192.151.150.154/live/szwshd.m3u8$LR•IPV4•27『线路11』 +http://38.75.136.137:98/gslb/dsdqpub/szwshd.m3u8?auth=testpub$LR•IPV4•28『线路11』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://204.12.221.218:8181/3m1080p/szws.m3u8$LR•IPV4•27『线路12』 +http://23.237.228.134/live6/shenzhen.m3u8$LR•IPV4•28『线路12』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000024026&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路13』 +http://gfr.x3322.net:9901/tsfile/live/1095_1.m3u8$LR•IPV4•28『线路13』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000007410&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路14』 +http://api.kkitv.itv888.cn:8080/hls/iftsd32ykm/index.m3u8$LR•IPV4•28『线路14』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000009227&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路15』 +https://iptv.catvod.com/catvod.php?id=szws$LR•IPV4•28『线路15』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000011645&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路16』 +https://httop.top/ysp-深圳卫视$LR•IPV4•28『线路16』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=5352218613763113657&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路17』 +http://iptv.huuc.edu.cn/hls/szhd.m3u8$LR•IPV4•28『线路17』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://111.29.9.38:6610/000000001000/1000000001000009227/index.m3u8?channel-id=ystenlive&Contentid=1000000001000009227&livemode=1&stbId=3$LR•IPV4•27『线路18』 +http://38.64.72.148:80/hls/modn/list/4007/playlist.m3u8$LR•IPV4•28『线路18』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://111.29.9.33:6610/000000001000/1000000001000009227/index.m3u8?channel-id=bestzb&Contentid=1000000001000009227&livemode=1&stbId=3$LR•IPV4•27『线路19』 +http://60.10.139.113:8801/hls/24/index.m3u8$LR•IPV4•28『线路19』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://38.75.136.137:98/gslb/dsdqpub/szwshd.m3u8?auth=testpub$LR•IPV4•27『线路20』 +http://192.151.150.154/live/szwshd.m3u8$LR•IPV4•28『线路20』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://23.237.228.134/live6/shenzhen.m3u8$LR•IPV4•27『线路21』 +http://204.12.221.218:8181/3m1080p/szws.m3u8$LR•IPV4•28『线路21』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://gfr.x3322.net:9901/tsfile/live/1095_1.m3u8$LR•IPV4•27『线路22』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000024026&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路22』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://api.kkitv.itv888.cn:8080/hls/iftsd32ykm/index.m3u8$LR•IPV4•27『线路23』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000007410&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路23』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -https://iptv.catvod.com/catvod.php?id=szws$LR•IPV4•27『线路24』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000009227&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路24』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -https://httop.top/ysp-深圳卫视$LR•IPV4•27『线路25』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000011645&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路25』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://iptv.huuc.edu.cn/hls/szhd.m3u8$LR•IPV4•27『线路26』 +http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=5352218613763113657&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路26』 #EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 -http://38.64.72.148:80/hls/modn/list/4007/playlist.m3u8$LR•IPV4•27『线路27』 +http://111.29.9.38:6610/000000001000/1000000001000009227/index.m3u8?channel-id=ystenlive&Contentid=1000000001000009227&livemode=1&stbId=3$LR•IPV4•28『线路27』 +#EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" group-title="广东",深圳卫视 +http://111.29.9.33:6610/000000001000/1000000001000009227/index.m3u8?channel-id=bestzb&Contentid=1000000001000009227&livemode=1&stbId=3$LR•IPV4•28『线路28』 #EXTINF:-1 tvg-id="汕头经济" tvg-name="汕头经济" group-title="广东",汕头经济 https://stream1.freetv.fun/shan-tou-jing-ji-2.ctv$LR•IPV4•11『线路1』 #EXTINF:-1 tvg-id="汕头经济" tvg-name="汕头经济" group-title="广东",汕头经济 -https://stream1.freetv.fun/shan-tou-jing-ji-3.ctv$LR•IPV4•11『线路2』 +https://stream1.freetv.fun/shan-tou-jing-ji-4.ctv$LR•IPV4•11『线路2』 #EXTINF:-1 tvg-id="汕头经济" tvg-name="汕头经济" group-title="广东",汕头经济 -https://stream1.freetv.fun/shan-tou-jing-ji-5.ctv$LR•IPV4•11『线路3』 +https://stream1.freetv.fun/shan-tou-jing-ji-6.ctv$LR•IPV4•11『线路3』 #EXTINF:-1 tvg-id="汕头经济" tvg-name="汕头经济" group-title="广东",汕头经济 -http://125.89.163.44:8888/udp/239.77.1.131:5146$LR•IPV4•11『线路4』 +http://120.77.205.62:8087/rtp/239.253.43.43:5146$LR•IPV4•11『线路4』 #EXTINF:-1 tvg-id="汕头经济" tvg-name="汕头经济" group-title="广东",汕头经济 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9512&tk=a0c4f6cfaba3$LR•IPV4•11『线路5』 +https://stream1.freetv.fun/shan-tou-jing-ji-3.ctv$LR•IPV4•11『线路5』 #EXTINF:-1 tvg-id="汕头经济" tvg-name="汕头经济" group-title="广东",汕头经济 -http://120.77.205.62:8087/rtp/239.253.43.43:5146$LR•IPV4•11『线路6』 +https://stream1.freetv.fun/shan-tou-jing-ji-5.ctv$LR•IPV4•11『线路6』 #EXTINF:-1 tvg-id="汕头经济" tvg-name="汕头经济" group-title="广东",汕头经济 -http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=LEsjua&tk=zUr4K92Dl6kh$LR•IPV4•11『线路7』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9512&tk=a0c4f6cfaba3$LR•IPV4•11『线路7』 #EXTINF:-1 tvg-id="汕头经济" tvg-name="汕头经济" group-title="广东",汕头经济 -http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2962&tk=a0c4f6cfaba3$LR•IPV4•11『线路8』 +http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=LEsjua&tk=zUr4K92Dl6kh$LR•IPV4•11『线路8』 #EXTINF:-1 tvg-id="汕头经济" tvg-name="汕头经济" group-title="广东",汕头经济 https://stream1.freetv.fun/shan-tou-jing-ji-1.ctv$LR•IPV4•11『线路9』 #EXTINF:-1 tvg-id="汕头经济" tvg-name="汕头经济" group-title="广东",汕头经济 -https://stream1.freetv.fun/shan-tou-jing-ji-4.ctv$LR•IPV4•11『线路10』 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2962&tk=a0c4f6cfaba3$LR•IPV4•11『线路10』 #EXTINF:-1 tvg-id="汕头经济" tvg-name="汕头经济" group-title="广东",汕头经济 -https://stream1.freetv.fun/shan-tou-jing-ji-6.ctv$LR•IPV4•11『线路11』 +http://125.89.163.44:8888/udp/239.77.1.131:5146$LR•IPV4•11『线路11』 diff --git a/tvbox/lib/iptv_test.txt b/tvbox/lib/iptv_test.txt index fa8b3b0f..01d97753 100755 --- a/tvbox/lib/iptv_test.txt +++ b/tvbox/lib/iptv_test.txt @@ -1,9 +1,9 @@ 央视频道,#genre# -CCTV-4K,https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4k_mbd.m3u8?auth_key=1783958400-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-806d2480e0495252f55416171c6e0333&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•4『线路1』 -CCTV-4K,http://192.151.150.154/live/cctv4k.m3u8$LR•IPV4•4『线路2』 -CCTV-4K,http://173.208.212.130:8181/720p/cctv4k.m3u8$LR•IPV4•4『线路3』 -CCTV-4K,http://198.204.240.250:82/live/cctv4k.m3u8$LR•IPV4•4『线路4』 +CCTV-4K,http://198.204.240.250:82/live/cctv4k.m3u8$LR•IPV4•4『线路1』 +CCTV-4K,https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4k_mbd.m3u8?auth_key=1783958400-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-806d2480e0495252f55416171c6e0333&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•4『线路2』 +CCTV-4K,http://192.151.150.154/live/cctv4k.m3u8$LR•IPV4•4『线路3』 +CCTV-4K,http://173.208.212.130:8181/720p/cctv4k.m3u8$LR•IPV4•4『线路4』 浙江频道,#genre# 象山综合,http://play-sh13.quklive.com/live/1702360350551252.m3u8?auth_key=2037107484-800189c57a5a44d3b823b60cf84f6756-0-a6f6828a62d5c167cff5e68735fa0d39$LR•IPV4•3『线路1』 @@ -11,33 +11,33 @@ CCTV-4K,http://198.204.240.250:82/live/cctv4k.m3u8$LR•IPV4•4『线路4』 象山综合,http://l.cztvcloud.com/channels/lantian/SXxiangshan1/720p.m3u8?zzhed$LR•IPV4•3『线路3』 电影轮播,#genre# -邵氏影院,http://www.goodiptv.club/douyu/4246519$LR•IPV4•2『线路1』 -邵氏影院,http://zzy789.xyz/douyu1.php?id=4246519$LR•IPV4•2『线路2』 +邵氏影院,http://zzy789.xyz/douyu1.php?id=4246519$LR•IPV4•2『线路1』 +邵氏影院,http://www.goodiptv.club/douyu/4246519$LR•IPV4•2『线路2』 重庆频道,#genre# 铜梁综合,http://183.64.174.171:40123/ch1.m3u8?zzhongqd$LR•IPV4 经典小品,#genre# -功夫,http://cdn.jdshipin.com:8880/huya.php?id=11352941$LR•IPV4•8『线路1』 -功夫,http://live.metshop.top/huya/11352941?cdn=alicdn$LR•IPV4•8『线路2』 -功夫,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5897056882324761054&livemode=1&stbId=yu&mode=1&$LR•IPV4•8『线路3』 -功夫,https://ukzy.ukubf4.com/20220407/j3bjFWpb/index.m3u8$LR•IPV4•8『线路4』 -功夫,http://43.251.226.89:8080/play/878.m3u8$LR•IPV4•8『线路5』 -功夫,http://43.251.226.89:8080/play/899.m3u8$LR•IPV4•8『线路6』 -功夫,https://vip.ffzy-play2.com/20221124/1291_468b2efb/index.m3u8$LR•IPV4•8『线路7』 -功夫,https://hls-gateway.vpstv.net/streams/476226.m3u8$LR•IPV4•8『线路8』 +功夫,https://ukzy.ukubf4.com/20220407/j3bjFWpb/index.m3u8$LR•IPV4•8『线路1』 +功夫,http://43.251.226.89:8080/play/878.m3u8$LR•IPV4•8『线路2』 +功夫,http://43.251.226.89:8080/play/899.m3u8$LR•IPV4•8『线路3』 +功夫,https://vip.ffzy-play2.com/20221124/1291_468b2efb/index.m3u8$LR•IPV4•8『线路4』 +功夫,https://hls-gateway.vpstv.net/streams/476226.m3u8$LR•IPV4•8『线路5』 +功夫,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5897056882324761054&livemode=1&stbId=yu&mode=1&$LR•IPV4•8『线路6』 +功夫,http://cdn.jdshipin.com:8880/huya.php?id=11352941$LR•IPV4•8『线路7』 +功夫,http://live.metshop.top/huya/11352941?cdn=alicdn$LR•IPV4•8『线路8』 小草,https://i.uik.cc/view.php/0bb3de0276d838610d458fd3379b33a0.mp4$LR•IPV4 4K频道,#genre# 东方卫视4K,http://bp-resource-dfl.bestv.cn/148/3/video.m3u8$LR•IPV4•2『线路1』 东方卫视4K,http://43.251.226.89:8080/play/926.m3u8$LR•IPV4•2『线路2』 湖南卫视4K,http://8.138.7.223/tv/api.php?id=hnws4k$LR•IPV4•4『线路1』 -湖南卫视4K,http://hlsal-ldvt.qing.mgtv.com/nn_live/nn_x64/dWlwPTEyNy4wLjAuMSZ1aWQ9cWluZy1jbXMmbm5fdGltZXpvbmU9OCZjZG5leF9pZD1hbF9obHNfbGR2dCZ1dWlkPTliODY4NmU5ZTM2YzYwMmMmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNWSZGST.m3u8$LR•IPV4•4『线路2』 -湖南卫视4K,http://43.251.226.89:8080/play/920.m3u8$LR•IPV4•4『线路3』 -湖南卫视4K,http://43.251.226.89:8080/play/921.m3u8$LR•IPV4•4『线路4』 -浙江卫视4K,https://play-qukan.cztv.com/live/1758879019692345.m3u8$LR•IPV4•3『线路1』 -浙江卫视4K,http://43.251.226.89:8080/play/922.m3u8$LR•IPV4•3『线路2』 -浙江卫视4K,http://43.251.226.89:8080/play/923.m3u8$LR•IPV4•3『线路3』 +湖南卫视4K,http://43.251.226.89:8080/play/920.m3u8$LR•IPV4•4『线路2』 +湖南卫视4K,http://43.251.226.89:8080/play/921.m3u8$LR•IPV4•4『线路3』 +湖南卫视4K,http://hlsal-ldvt.qing.mgtv.com/nn_live/nn_x64/dWlwPTEyNy4wLjAuMSZ1aWQ9cWluZy1jbXMmbm5fdGltZXpvbmU9OCZjZG5leF9pZD1hbF9obHNfbGR2dCZ1dWlkPTliODY4NmU5ZTM2YzYwMmMmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/HNWSZGST.m3u8$LR•IPV4•4『线路4』 +浙江卫视4K,http://43.251.226.89:8080/play/922.m3u8$LR•IPV4•3『线路1』 +浙江卫视4K,http://43.251.226.89:8080/play/923.m3u8$LR•IPV4•3『线路2』 +浙江卫视4K,https://play-qukan.cztv.com/live/1758879019692345.m3u8$LR•IPV4•3『线路3』 江苏卫视4K,http://8.138.7.223/tv/jsws4k.php$LR•IPV4•3『线路1』 江苏卫视4K,http://43.251.226.89:8080/play/924.m3u8$LR•IPV4•3『线路2』 江苏卫视4K,http://43.251.226.89:8080/play/925.m3u8$LR•IPV4•3『线路3』 @@ -61,9 +61,9 @@ CCTV-4K,http://198.204.240.250:82/live/cctv4k.m3u8$LR•IPV4•4『线路4』 CCTV4K真4K,http://vip1.xinketongxun.fun:8082/tsfile/live/1026_1.m3u8$LR•IPV4 央视高清,#genre# -CCTV4K,http://www.520345.xyz:8188/rtp/239.69.1.111:10304?$LR•IPV4•3『线路1』 -CCTV4K,http://home.amucn.net:8800/udp/239.49.0.82:8000$LR•IPV4•3『线路2』 -CCTV4K,http://101.43.145.141:12002/gaoma/cctv4k.m3u8$LR•IPV4•3『线路3』 +CCTV4K,http://101.43.145.141:12002/gaoma/cctv4k.m3u8$LR•IPV4•3『线路1』 +CCTV4K,http://www.520345.xyz:8188/rtp/239.69.1.111:10304?$LR•IPV4•3『线路2』 +CCTV4K,http://home.amucn.net:8800/udp/239.49.0.82:8000$LR•IPV4•3『线路3』 咪咕央视,#genre# CCTV老故事,http://60.10.139.113:8801/hls/74/index.m3u8$LR•IPV4 @@ -82,16 +82,16 @@ RTHK32,http://php.jdshipin.com:8880/TVOD/iptv.php?id=rthk32$LR•IPV4 动画频道,#genre# 韩国EBS少儿,http://ebsonairios.ebs.co.kr/ebsutablet500k/tablet500k/playlist.m3u8$LR•IPV4 七龙珠,https://live.metshop.top/huya/11601966$LR•IPV4•3『线路1』 -七龙珠,https://live.ottiptv.cc/huya/11601966$LR•IPV4•3『线路2』 -七龙珠,http://103.193.151.146/huya.php?id=11601966$LR•IPV4•3『线路3』 -哆啦A梦,https://live.ottiptv.cc/huya/11601963$LR•IPV4•2『线路1』 -哆啦A梦,http://103.193.151.146/huya.php?id=11601963$LR•IPV4•2『线路2』 -蜡笔小新,https://live.ottiptv.cc/huya/11352970$LR•IPV4•2『线路1』 -蜡笔小新,http://103.193.151.146/huya.php?id=11352970$LR•IPV4•2『线路2』 -喜羊羊与灰太狼,https://live.ottiptv.cc/huya/23865080$LR•IPV4•2『线路1』 -喜羊羊与灰太狼,http://103.193.151.146/huya.php?id=23865080$LR•IPV4•2『线路2』 -精灵宝可梦,https://live.ottiptv.cc/huya/23749096$LR•IPV4•2『线路1』 -精灵宝可梦,http://103.193.151.146/huya.php?id=23749096$LR•IPV4•2『线路2』 +七龙珠,http://103.193.151.146/huya.php?id=11601966$LR•IPV4•3『线路2』 +七龙珠,https://live.ottiptv.cc/huya/11601966$LR•IPV4•3『线路3』 +哆啦A梦,http://103.193.151.146/huya.php?id=11601963$LR•IPV4•2『线路1』 +哆啦A梦,https://live.ottiptv.cc/huya/11601963$LR•IPV4•2『线路2』 +蜡笔小新,http://103.193.151.146/huya.php?id=11352970$LR•IPV4•2『线路1』 +蜡笔小新,https://live.ottiptv.cc/huya/11352970$LR•IPV4•2『线路2』 +喜羊羊与灰太狼,http://103.193.151.146/huya.php?id=23865080$LR•IPV4•2『线路1』 +喜羊羊与灰太狼,https://live.ottiptv.cc/huya/23865080$LR•IPV4•2『线路2』 +精灵宝可梦,http://103.193.151.146/huya.php?id=23749096$LR•IPV4•2『线路1』 +精灵宝可梦,https://live.ottiptv.cc/huya/23749096$LR•IPV4•2『线路2』 名侦探柯南,https://live.ottiptv.cc/huya/30080236$LR•IPV4 航海王,http://103.193.151.146/huya.php?id=16913382$LR•IPV4 @@ -103,13 +103,13 @@ RTHK32,http://php.jdshipin.com:8880/TVOD/iptv.php?id=rthk32$LR•IPV4 冰冰影剧,http://www.goodiptv.club/douyu/74374$LR•IPV4 刀刀影院,http://zzy789.xyz/douyu1.php?id=747764$LR•IPV4•2『线路1』 刀刀影院,http://huanqiuzhibo.cn/manifest/douyu.php?id=747764$LR•IPV4•2『线路2』 -华语影视,http://www.goodiptv.club/douyu/3928$LR•IPV4•2『线路1』 -华语影视,http://zzy789.xyz/douyu1.php?id=3928$LR•IPV4•2『线路2』 +华语影视,http://zzy789.xyz/douyu1.php?id=3928$LR•IPV4•2『线路1』 +华语影视,http://www.goodiptv.club/douyu/3928$LR•IPV4•2『线路2』 斗鱼港剧,http://www.goodiptv.club/douyu/5061550$LR•IPV4 橙记港剧,http://www.goodiptv.club/douyu/4549169$LR•IPV4•2『线路1』 橙记港剧,http://huanqiuzhibo.cn/manifest/douyu.php?id=4549169$LR•IPV4•2『线路2』 -经典剧集,http://www.goodiptv.club/douyu/6863367$LR•IPV4•2『线路1』 -经典剧集,http://zzy789.xyz/douyu1.php?id=6863367$LR•IPV4•2『线路2』 +经典剧集,http://zzy789.xyz/douyu1.php?id=6863367$LR•IPV4•2『线路1』 +经典剧集,http://www.goodiptv.club/douyu/6863367$LR•IPV4•2『线路2』 热门港剧,http://www.goodiptv.club/douyu/5522351$LR•IPV4•3『线路1』 热门港剧,http://zzy789.xyz/douyu1.php?id=5522351$LR•IPV4•3『线路2』 热门港剧,http://huanqiuzhibo.cn/manifest/douyu.php?id=5522351$LR•IPV4•3『线路3』 @@ -150,8 +150,8 @@ RTHK32,http://php.jdshipin.com:8880/TVOD/iptv.php?id=rthk32$LR•IPV4 知否知否,https://live.ottiptv.cc/yy/21881901$LR•IPV4 父母爱情,https://live.ottiptv.cc/yy/1354926650$LR•IPV4 如懿传,https://live.ottiptv.cc/huya/29465868$LR•IPV4 -武林外传,https://lvbdcdncmn.inter.71edge.com/tslive/l1/c52_lb_553_300_t10/I67sb6wvoWaxfjPEdSuB8xyBShFln4Poub7LGIzPt5oGLcKaLXD21aR_t20nEIxJFmaf_i6EYQ77gA-gLJ3xOTtq6K7hpgCREwLfbuNMXruJdFta9-ai9bYk4cTMbhQgRh9SCkE3yt46X4E0qOVADDdga3TMRSLnFscFYr-_s4Sd2sgykmnFa4-hdgX9599FiW_RX5VYGH9B1jyj748_CAu4VgqqTDwxUx8w556tCWY7mlb1r84RWuip72e4H8-HkUuBUoFeD4aw9m1HOUfgwx7ixDqJUFOmq9F-LeKLTZ2Ap6fobRuaUiaSqHsCWvuy9XWe5KWBiZv6bUJ8oAuqkA/1a6758d872929c8d41a7629db52a831f7/c52_lb_553_300_t10.m3u8?key=0baa5db205ac0d29618a2e8d7964b7e4e&dis_t=1752408084&uuid=6f1d53dc-6873a014-459&qdpv=3&qd_bid=1&qd_sft=0&pv=0.1&cpt=0$LR•IPV4•2『线路1』 -武林外传,http://live.nctv.top/DJlio/huya.php?id=21059598$LR•IPV4•2『线路2』 +武林外传,http://live.nctv.top/DJlio/huya.php?id=21059598$LR•IPV4•2『线路1』 +武林外传,https://lvbdcdncmn.inter.71edge.com/tslive/l1/c52_lb_553_300_t10/I67sb6wvoWaxfjPEdSuB8xyBShFln4Poub7LGIzPt5oGLcKaLXD21aR_t20nEIxJFmaf_i6EYQ77gA-gLJ3xOTtq6K7hpgCREwLfbuNMXruJdFta9-ai9bYk4cTMbhQgRh9SCkE3yt46X4E0qOVADDdga3TMRSLnFscFYr-_s4Sd2sgykmnFa4-hdgX9599FiW_RX5VYGH9B1jyj748_CAu4VgqqTDwxUx8w556tCWY7mlb1r84RWuip72e4H8-HkUuBUoFeD4aw9m1HOUfgwx7ixDqJUFOmq9F-LeKLTZ2Ap6fobRuaUiaSqHsCWvuy9XWe5KWBiZv6bUJ8oAuqkA/1a6758d872929c8d41a7629db52a831f7/c52_lb_553_300_t10.m3u8?key=0baa5db205ac0d29618a2e8d7964b7e4e&dis_t=1752408084&uuid=6f1d53dc-6873a014-459&qdpv=3&qd_bid=1&qd_sft=0&pv=0.1&cpt=0$LR•IPV4•2『线路2』 埋堆堆频道,#genre# 楚汉骄雄,http://cdn.jdshipin.com:8880/huya.php?id=29465854$LR•IPV4•2『线路1』 @@ -176,14 +176,14 @@ RTHK32,http://php.jdshipin.com:8880/TVOD/iptv.php?id=rthk32$LR•IPV4 杭州青少,http://120.55.49.231:3095/rtp/233.50.201.177:5140$LR•IPV4•3『线路3』 杭州导视,http://www.flyskyman.cn:4022/rtp/233.50.201.182:5140$LR•IPV4•2『线路1』 杭州导视,http://www.jeremyoto.com:82/rtp/233.50.201.182:5140$LR•IPV4•2『线路2』 -宁波TV1,http://www.flyskyman.cn:4022/rtp/233.50.201.168:5140$LR•IPV4•2『线路1』 -宁波TV1,http://www.jeremyoto.com:82/rtp/233.50.201.168:5140$LR•IPV4•2『线路2』 -宁波TV2,http://www.jeremyoto.com:82/rtp/233.50.201.178:5140$LR•IPV4•2『线路1』 -宁波TV2,http://www.flyskyman.cn:4022/rtp/233.50.201.178:5140$LR•IPV4•2『线路2』 -宁波TV3,http://www.jeremyoto.com:82/rtp/233.50.201.179:5140$LR•IPV4•2『线路1』 -宁波TV3,http://www.flyskyman.cn:4022/rtp/233.50.201.179:5140$LR•IPV4•2『线路2』 -宁波TV4,http://www.jeremyoto.com:82/rtp/233.50.201.180:5140$LR•IPV4•2『线路1』 -宁波TV4,http://www.flyskyman.cn:4022/rtp/233.50.201.180:5140$LR•IPV4•2『线路2』 +宁波TV1,http://www.jeremyoto.com:82/rtp/233.50.201.168:5140$LR•IPV4•2『线路1』 +宁波TV1,http://www.flyskyman.cn:4022/rtp/233.50.201.168:5140$LR•IPV4•2『线路2』 +宁波TV2,http://www.flyskyman.cn:4022/rtp/233.50.201.178:5140$LR•IPV4•2『线路1』 +宁波TV2,http://www.jeremyoto.com:82/rtp/233.50.201.178:5140$LR•IPV4•2『线路2』 +宁波TV3,http://www.flyskyman.cn:4022/rtp/233.50.201.179:5140$LR•IPV4•2『线路1』 +宁波TV3,http://www.jeremyoto.com:82/rtp/233.50.201.179:5140$LR•IPV4•2『线路2』 +宁波TV4,http://www.flyskyman.cn:4022/rtp/233.50.201.180:5140$LR•IPV4•2『线路1』 +宁波TV4,http://www.jeremyoto.com:82/rtp/233.50.201.180:5140$LR•IPV4•2『线路2』 嘉兴公共,http://play-sh13.quklive.com/live/1675149601192103.m3u8?auth_key=2028730429-9ab7f7f0267946e880ec46ce3d57ec9e-0-eb04d7f7e549054293604b04150cefa1$LR•IPV4 嘉兴文化影视,http://play-sh13.quklive.com/live/1675149625220101.m3u8?auth_key=2028730374-3a60eb8e324f416aa3b26dda7679d920-0-22dc7efa8452d0b0665c15eeed83609d$LR•IPV4 丽水新闻,http://120.55.49.231:3095/rtp/233.50.201.162:5140$LR•IPV4 @@ -191,118 +191,118 @@ RTHK32,http://php.jdshipin.com:8880/TVOD/iptv.php?id=rthk32$LR•IPV4 鄞州二套,http://pili-publish.yzxw.newaircloud.com/newaircloud-yzxw/yzxw_20190925090936.m3u8?zzhed$LR•IPV4 鄞州一套,http://pili-publish.yzxw.newaircloud.com/newaircloud-yzxw/yzxw_20190925090843.m3u8?zzhed$LR•IPV4 海盐新闻,http://lived.dmqhyadmin.com/ds/sd/live.m3u8?zzhed$LR•IPV4 -浙江影视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0150&tk=b53028476470$LR•IPV4•2『线路1』 -浙江影视,https://ali-m-l.cztv.com/channels/lantian/channel005/1080p.m3u8?$LR•IPV4•2『线路2』 -之江记录,https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8$LR•IPV4•2『线路1』 -之江记录,http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8?$LR•IPV4•2『线路2』 -钱江都市,http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8$LR•IPV4•5『线路1』 -钱江都市,https://stream1.freetv.fun/qian-jiang-du-shi-1.m3u8$LR•IPV4•5『线路2』 -钱江都市,http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8?zzhed$LR•IPV4•5『线路3』 -钱江都市,https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8?$LR•IPV4•5『线路4』 -钱江都市,https://stream1.freetv.fun/qian-jiang-du-shi-2.m3u8$LR•IPV4•5『线路5』 +浙江影视,https://ali-m-l.cztv.com/channels/lantian/channel005/1080p.m3u8?$LR•IPV4•2『线路1』 +浙江影视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0150&tk=b53028476470$LR•IPV4•2『线路2』 +之江记录,http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8?$LR•IPV4•2『线路1』 +之江记录,https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8$LR•IPV4•2『线路2』 +钱江都市,https://stream1.freetv.fun/qian-jiang-du-shi-1.m3u8$LR•IPV4•5『线路1』 +钱江都市,http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8?zzhed$LR•IPV4•5『线路2』 +钱江都市,https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8?$LR•IPV4•5『线路3』 +钱江都市,https://stream1.freetv.fun/qian-jiang-du-shi-2.m3u8$LR•IPV4•5『线路4』 +钱江都市,http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8$LR•IPV4•5『线路5』 YMG未来,http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8?$LR•IPV4 -上虞文化,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed$LR•IPV4•12『线路1』 -上虞文化,https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-4.ctv$LR•IPV4•12『线路2』 -上虞文化,https://t.freetv.fun/live/shang-yu-wen-hua-ying-yuan.m3u8$LR•IPV4•12『线路3』 -上虞文化,https://t.freetv.fun/live/shang-yu-wen-hua-ying-yuan-2.m3u8zzhed$LR•IPV4•12『线路4』 -上虞文化,https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-3.ctv$LR•IPV4•12『线路5』 -上虞文化,https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-2.ctv$LR•IPV4•12『线路6』 -上虞文化,https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-1.m3u8$LR•IPV4•12『线路7』 -上虞文化,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8zzhed$LR•IPV4•12『线路8』 -上虞文化,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8zzhed$LR•IPV4•12『线路9』 +上虞文化,https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-4.ctv$LR•IPV4•12『线路1』 +上虞文化,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed$LR•IPV4•12『线路2』 +上虞文化,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8zzhed$LR•IPV4•12『线路3』 +上虞文化,https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-2.ctv$LR•IPV4•12『线路4』 +上虞文化,https://t.freetv.fun/live/shang-yu-wen-hua-ying-yuan.m3u8$LR•IPV4•12『线路5』 +上虞文化,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8zzhed$LR•IPV4•12『线路6』 +上虞文化,https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-3.ctv$LR•IPV4•12『线路7』 +上虞文化,https://t.freetv.fun/live/shang-yu-wen-hua-ying-yuan-2.m3u8zzhed$LR•IPV4•12『线路8』 +上虞文化,https://stream1.freetv.fun/shang-yu-wen-hua-ying-yuan-1.m3u8$LR•IPV4•12『线路9』 上虞文化,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8$LR•IPV4•12『线路10』 上虞文化,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed?$LR•IPV4•12『线路11』 上虞文化,https://stream1.freetv.fun/shang-yu-wen-hua-1.m3u8$LR•IPV4•12『线路12』 -上虞综合,http://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8?zzhed?$LR•IPV4•2『线路1』 -上虞综合,https://stream1.freetv.fun/shang-yu-zong-he-1.m3u8$LR•IPV4•2『线路2』 +上虞综合,https://stream1.freetv.fun/shang-yu-zong-he-1.m3u8$LR•IPV4•2『线路1』 +上虞综合,http://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8?zzhed?$LR•IPV4•2『线路2』 云和新闻,http://l.cztvcloud.com/channels/lantian/SXyunhe1/720p.m3u8$LR•IPV4•3『线路1』 云和新闻,http://l.cztvcloud.com/channels/lantian/SXyunhe1/720p.m3u8?zzhed$LR•IPV4•3『线路2』 云和新闻,http://l.cztvcloud.com/channels/lantian/SXyunhe1/720p.m3u8?$LR•IPV4•3『线路3』 余杭新闻,http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8?zzhed?$LR•IPV4 余杭未来,http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8?$LR•IPV4 -兰溪新闻,http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8?zzhed$LR•IPV4•7『线路1』 -兰溪新闻,https://stream1.freetv.fun/lan-xi-xin-wen-zong-he-3.m3u8$LR•IPV4•7『线路2』 -兰溪新闻,https://t.freetv.fun/live/lan-xi-xin-wen-zong-he.m3u8$LR•IPV4•7『线路3』 -兰溪新闻,http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8$LR•IPV4•7『线路4』 -兰溪新闻,https://t.freetv.fun/live/lan-xi-xin-wen-zong-he-1.m3u8$LR•IPV4•7『线路5』 -兰溪新闻,https://stream1.freetv.fun/lan-xi-xin-wen-zong-he-1.m3u8$LR•IPV4•7『线路6』 +兰溪新闻,https://stream1.freetv.fun/lan-xi-xin-wen-zong-he-3.m3u8$LR•IPV4•7『线路1』 +兰溪新闻,http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8$LR•IPV4•7『线路2』 +兰溪新闻,https://t.freetv.fun/live/lan-xi-xin-wen-zong-he-1.m3u8$LR•IPV4•7『线路3』 +兰溪新闻,https://stream1.freetv.fun/lan-xi-xin-wen-zong-he-1.m3u8$LR•IPV4•7『线路4』 +兰溪新闻,http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8?zzhed$LR•IPV4•7『线路5』 +兰溪新闻,https://t.freetv.fun/live/lan-xi-xin-wen-zong-he.m3u8$LR•IPV4•7『线路6』 兰溪新闻,http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8?zzhed?$LR•IPV4•7『线路7』 姚江文化,https://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8$LR•IPV4•5『线路1』 -姚江文化,http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8zzhed$LR•IPV4•5『线路2』 -姚江文化,https://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8$LR•IPV4•5『线路3』 -姚江文化,http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8?zzhed$LR•IPV4•5『线路4』 +姚江文化,https://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8$LR•IPV4•5『线路2』 +姚江文化,http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8?zzhed$LR•IPV4•5『线路3』 +姚江文化,http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8zzhed$LR•IPV4•5『线路4』 姚江文化,http://l.cztvcloud.com/channels/lantian/SXqingtian1/720p.m3u8?$LR•IPV4•5『线路5』 -嵊州新闻,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed#http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8$LR•IPV4•2『线路1』 -嵊州新闻,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed?$LR•IPV4•2『线路2』 -平湖新闻,http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?zzhed$LR•IPV4•10『线路1』 -平湖新闻,https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路2』 -平湖新闻,https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-5.m3u8$LR•IPV4•10『线路3』 -平湖新闻,http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8$LR•IPV4•10『线路4』 +嵊州新闻,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed?$LR•IPV4•2『线路1』 +嵊州新闻,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed#http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8$LR•IPV4•2『线路2』 +平湖新闻,http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8$LR•IPV4•10『线路1』 +平湖新闻,https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-5.m3u8$LR•IPV4•10『线路2』 +平湖新闻,https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路3』 +平湖新闻,http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•10『线路4』 平湖新闻,https://t.freetv.fun/live/ping-hu-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路5』 -平湖新闻,http://play-sh13.quklive.com/live/1690167908295069.m3u8?auth_key=2027466211-f190eec410c24473825cbe1d8541e545-0-f21db57ae1b534802c1cf7be86cc3aef$LR•IPV4•10『线路6』 -平湖新闻,http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•10『线路7』 -平湖新闻,https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路8』 +平湖新闻,https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路6』 +平湖新闻,http://play-sh13.quklive.com/live/1690167908295069.m3u8?auth_key=2027466211-f190eec410c24473825cbe1d8541e545-0-f21db57ae1b534802c1cf7be86cc3aef$LR•IPV4•10『线路7』 +平湖新闻,http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?zzhed$LR•IPV4•10『线路8』 平湖新闻,https://stream1.freetv.fun/ping-hu-xin-wen-zong-he-3.m3u8$LR•IPV4•10『线路9』 平湖新闻,http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?zzhed?$LR•IPV4•10『线路10』 -平湖民生,http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8$LR•IPV4•3『线路1』 -平湖民生,http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8?zzhed$LR•IPV4•3『线路2』 +平湖民生,http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8?zzhed$LR•IPV4•3『线路1』 +平湖民生,http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8$LR•IPV4•3『线路2』 平湖民生,http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8?zzhed?$LR•IPV4•3『线路3』 开化公园,http://l.cztvcloud.com/channels/lantian/SXkaihua2/720p.m3u8?zzhed?$LR•IPV4 -开化新闻,http://l.cztvcloud.com/channels/lantian/SXkaihua1/720p.m3u8?zzhed$LR•IPV4•5『线路1』 -开化新闻,https://stream1.freetv.fun/kai-hua-xin-wen-zong-he-1.m3u8$LR•IPV4•5『线路2』 -开化新闻,https://stream1.freetv.fun/kai-hua-xin-wen-zong-he-2.ctv$LR•IPV4•5『线路3』 -开化新闻,http://l.cztvcloud.com/channels/lantian/SXkaihua1/720p.m3u8$LR•IPV4•5『线路4』 -开化新闻,http://l.cztvcloud.com/channels/lantian/SXkaihua1/720p.m3u8?zzhed?$LR•IPV4•5『线路5』 +开化新闻,https://stream1.freetv.fun/kai-hua-xin-wen-zong-he-2.ctv$LR•IPV4•5『线路1』 +开化新闻,http://l.cztvcloud.com/channels/lantian/SXkaihua1/720p.m3u8?zzhed$LR•IPV4•5『线路2』 +开化新闻,https://stream1.freetv.fun/kai-hua-xin-wen-zong-he-1.m3u8$LR•IPV4•5『线路3』 +开化新闻,http://l.cztvcloud.com/channels/lantian/SXkaihua1/720p.m3u8?zzhed?$LR•IPV4•5『线路4』 +开化新闻,http://l.cztvcloud.com/channels/lantian/SXkaihua1/720p.m3u8$LR•IPV4•5『线路5』 普陀新闻,http://l.cztvcloud.com/channels/lantian/SXputuo1/720p.m3u8$LR•IPV4•4『线路1』 普陀新闻,http://l.cztvcloud.com/channels/lantian/SXputuo1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•4『线路2』 普陀新闻,http://l.cztvcloud.com/channels/lantian/SXputuo1/720p.m3u8?zzhed$LR•IPV4•4『线路3』 普陀新闻,http://l.cztvcloud.com/channels/lantian/SXputuo1/720p.m3u8?zzhed?$LR•IPV4•4『线路4』 -绍兴文化,https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-3.m3u8$LR•IPV4•11『线路1』 -绍兴文化,http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8?zzhed$LR•IPV4•11『线路2』 -绍兴文化,https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-4.m3u8$LR•IPV4•11『线路3』 -绍兴文化,https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-1.m3u8$LR•IPV4•11『线路4』 -绍兴文化,https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-2.m3u8$LR•IPV4•11『线路5』 -绍兴文化,https://t.freetv.fun/live/shao-xing-wen-hua-ying-yuan-2.m3u8$LR•IPV4•11『线路6』 +绍兴文化,http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8?zzhed$LR•IPV4•11『线路1』 +绍兴文化,https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-1.m3u8$LR•IPV4•11『线路2』 +绍兴文化,https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-3.m3u8$LR•IPV4•11『线路3』 +绍兴文化,https://t.freetv.fun/live/shao-xing-wen-hua-ying-yuan-2.m3u8$LR•IPV4•11『线路4』 +绍兴文化,https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-4.m3u8$LR•IPV4•11『线路5』 +绍兴文化,https://stream1.freetv.fun/shao-xing-wen-hua-ying-yuan-2.m3u8$LR•IPV4•11『线路6』 绍兴文化,http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8$LR•IPV4•11『线路7』 -绍兴文化,https://stream1.freetv.fun/shao-xing-wen-hua-ying-shi-1.m3u8$LR•IPV4•11『线路8』 -绍兴文化,https://t.freetv.fun/live/shao-xing-wen-hua-ying-shi-1.m3u8$LR•IPV4•11『线路9』 -绍兴文化,http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8?zzhed?$LR•IPV4•11『线路10』 -绍兴文化,https://stream1.freetv.fun/shao-xing-wen-hua-1.m3u8$LR•IPV4•11『线路11』 -绍兴新闻,http://live.shaoxing.com.cn/video/s10001-sxhb/index.m3u8?zzhed$LR•IPV4•10『线路1』 -绍兴新闻,https://t.freetv.fun/live/shao-xing-xin-wen-zong-he-3-1.m3u8$LR•IPV4•10『线路2』 -绍兴新闻,https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-4.m3u8$LR•IPV4•10『线路3』 -绍兴新闻,https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-3.m3u8$LR•IPV4•10『线路4』 -绍兴新闻,https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路5』 -绍兴新闻,http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8$LR•IPV4•10『线路6』 -绍兴新闻,http://live.shaoxing.com.cn/video/s10001-sxhb/index.m3u8$LR•IPV4•10『线路7』 -绍兴新闻,https://t.freetv.fun/live/shao-xing-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路8』 -绍兴新闻,http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8?zzhed$LR•IPV4•10『线路9』 +绍兴文化,https://t.freetv.fun/live/shao-xing-wen-hua-ying-shi-1.m3u8$LR•IPV4•11『线路8』 +绍兴文化,https://stream1.freetv.fun/shao-xing-wen-hua-ying-shi-1.m3u8$LR•IPV4•11『线路9』 +绍兴文化,https://stream1.freetv.fun/shao-xing-wen-hua-1.m3u8$LR•IPV4•11『线路10』 +绍兴文化,http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8?zzhed?$LR•IPV4•11『线路11』 +绍兴新闻,https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-3.m3u8$LR•IPV4•10『线路1』 +绍兴新闻,http://live.shaoxing.com.cn/video/s10001-sxhb/index.m3u8$LR•IPV4•10『线路2』 +绍兴新闻,https://t.freetv.fun/live/shao-xing-xin-wen-zong-he-3-1.m3u8$LR•IPV4•10『线路3』 +绍兴新闻,http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8?zzhed$LR•IPV4•10『线路4』 +绍兴新闻,http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8$LR•IPV4•10『线路5』 +绍兴新闻,https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-4.m3u8$LR•IPV4•10『线路6』 +绍兴新闻,https://t.freetv.fun/live/shao-xing-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路7』 +绍兴新闻,https://stream1.freetv.fun/shao-xing-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路8』 +绍兴新闻,http://live.shaoxing.com.cn/video/s10001-sxhb/index.m3u8?zzhed$LR•IPV4•10『线路9』 绍兴新闻,http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8?zzhed?$LR•IPV4•10『线路10』 -苍南新闻,https://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8$LR•IPV4•11『线路1』 -苍南新闻,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-7.m3u8$LR•IPV4•11『线路2』 -苍南新闻,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-4.ctv$LR•IPV4•11『线路3』 -苍南新闻,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-1.m3u8$LR•IPV4•11『线路4』 -苍南新闻,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-5.m3u8$LR•IPV4•11『线路5』 -苍南新闻,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-2.m3u8$LR•IPV4•11『线路6』 -苍南新闻,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-3.m3u8$LR•IPV4•11『线路7』 -苍南新闻,http://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8?zzhed$LR•IPV4•11『线路8』 -苍南新闻,https://t.freetv.fun/live/cang-nan-xin-wen-zong-he-1.m3u8$LR•IPV4•11『线路9』 +苍南新闻,https://t.freetv.fun/live/cang-nan-xin-wen-zong-he-1.m3u8$LR•IPV4•11『线路1』 +苍南新闻,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-3.m3u8$LR•IPV4•11『线路2』 +苍南新闻,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-1.m3u8$LR•IPV4•11『线路3』 +苍南新闻,https://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8$LR•IPV4•11『线路4』 +苍南新闻,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-7.m3u8$LR•IPV4•11『线路5』 +苍南新闻,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-4.ctv$LR•IPV4•11『线路6』 +苍南新闻,http://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8?zzhed$LR•IPV4•11『线路7』 +苍南新闻,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-5.m3u8$LR•IPV4•11『线路8』 +苍南新闻,https://stream1.freetv.fun/cang-nan-xin-wen-zong-he-2.m3u8$LR•IPV4•11『线路9』 苍南新闻,http://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8?zzhed?$LR•IPV4•11『线路10』 苍南新闻,http://l.cztvcloud.com/channels/lantian/SXcangnan1/720p.m3u8$LR•IPV4•11『线路11』 -衢江新闻,http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8?zzhed$LR•IPV4•8『线路1』 -衢江新闻,https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-2.m3u8$LR•IPV4•8『线路2』 -衢江新闻,https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-3.m3u8$LR•IPV4•8『线路3』 -衢江新闻,https://t.freetv.fun/live/qu-jiang-xin-wen-zong-he.m3u8$LR•IPV4•8『线路4』 -衢江新闻,https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-1.m3u8$LR•IPV4•8『线路5』 -衢江新闻,https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-1.ctv$LR•IPV4•8『线路6』 -衢江新闻,http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8$LR•IPV4•8『线路7』 -衢江新闻,http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8?zzhed?$LR•IPV4•8『线路8』 +衢江新闻,https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-1.m3u8$LR•IPV4•8『线路1』 +衢江新闻,https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-3.m3u8$LR•IPV4•8『线路2』 +衢江新闻,https://t.freetv.fun/live/qu-jiang-xin-wen-zong-he.m3u8$LR•IPV4•8『线路3』 +衢江新闻,https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-2.m3u8$LR•IPV4•8『线路4』 +衢江新闻,https://stream1.freetv.fun/qu-jiang-xin-wen-zong-he-1.ctv$LR•IPV4•8『线路5』 +衢江新闻,http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8?zzhed$LR•IPV4•8『线路6』 +衢江新闻,http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8?zzhed?$LR•IPV4•8『线路7』 +衢江新闻,http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8$LR•IPV4•8『线路8』 诸暨新闻,http://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8?zzhed$LR•IPV4•3『线路1』 诸暨新闻,https://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8$LR•IPV4•3『线路2』 诸暨新闻,http://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8$LR•IPV4•3『线路3』 象山新闻,http://l.cztvcloud.com/channels/lantian/SXxiangshan1/720p.m3u8?zzhed?$LR•IPV4 -青田电视,http://l.cztvcloud.com/channels/lantian/SXqingtian1/720p.m3u8$LR•IPV4•3『线路1』 -青田电视,http://l.cztvcloud.com/channels/lantian/SXqingtian1/720p.m3u8?zzhed$LR•IPV4•3『线路2』 +青田电视,http://l.cztvcloud.com/channels/lantian/SXqingtian1/720p.m3u8?zzhed$LR•IPV4•3『线路1』 +青田电视,http://l.cztvcloud.com/channels/lantian/SXqingtian1/720p.m3u8$LR•IPV4•3『线路2』 青田电视,http://l.cztvcloud.com/channels/lantian/SXqingtian1/720p.m3u8?zzhed?$LR•IPV4•3『线路3』 杭州余杭平安,http://l.cztvcloud.com/channels/lantian/SXyuhang2/720p.m3u8$LR•IPV4 金华东阳综合,http://l.cztvcloud.com/channels/lantian/SXdongyang1/720p.m3u8$LR•IPV4 @@ -315,103 +315,104 @@ YMG未来,http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8?$LR•IPV4 娄底综合,http://119.39.242.52:1935/live/zonghe/playlist.m3u8$LR•IPV4 ☘️广东频道,#genre# -江门侨乡生活,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=jmqxsh$LR•IPV4•4『线路1』 +江门侨乡生活,http://120.77.205.62:8087/rtp/239.77.0.196:5146$LR•IPV4•4『线路1』 江门侨乡生活,http://125.89.163.44:8888/udp/239.77.0.202:5146$LR•IPV4•4『线路2』 -江门侨乡生活,http://120.77.205.62:8087/rtp/239.77.0.196:5146$LR•IPV4•4『线路3』 -江门侨乡生活,http://120.77.205.62:8087/rtp/239.77.0.202:5146$LR•IPV4•4『线路4』 +江门侨乡生活,http://120.77.205.62:8087/rtp/239.77.0.202:5146$LR•IPV4•4『线路3』 +江门侨乡生活,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=jmqxsh$LR•IPV4•4『线路4』 汕头文旅,http://120.77.205.62:8087/rtp/239.253.43.47:5146$LR•IPV4•5『线路1』 -汕头文旅,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5771&tk=a0c4f6cfaba3$LR•IPV4•5『线路2』 -汕头文旅,http://125.89.163.44:8888/udp/239.77.1.132:5146$LR•IPV4•5『线路3』 -汕头文旅,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0590&tk=a0c4f6cfaba3$LR•IPV4•5『线路4』 -汕头文旅,http://120.77.205.62:8087/rtp/239.253.43.44:5146$LR•IPV4•5『线路5』 +汕头文旅,http://125.89.163.44:8888/udp/239.77.1.132:5146$LR•IPV4•5『线路2』 +汕头文旅,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5771&tk=a0c4f6cfaba3$LR•IPV4•5『线路3』 +汕头文旅,http://120.77.205.62:8087/rtp/239.253.43.44:5146$LR•IPV4•5『线路4』 +汕头文旅,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0590&tk=a0c4f6cfaba3$LR•IPV4•5『线路5』 汕尾文化生活,http://58.254.14.61:808/hls/131/index.m3u8$LR•IPV4•2『线路1』 汕尾文化生活,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2032&tk=a0c4f6cfaba3$LR•IPV4•2『线路2』 -茂名综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9728&tk=a0c4f6cfaba3$LR•IPV4•5『线路1』 -茂名综合,http://120.77.205.62:8087/rtp/239.77.0.204:5146$LR•IPV4•5『线路2』 -茂名综合,http://125.89.163.44:8888/udp/239.77.0.206:5146$LR•IPV4•5『线路3』 -茂名综合,http://120.77.205.62:8087/rtp/239.77.0.206:5146$LR•IPV4•5『线路4』 -茂名综合,https://hls-gateway.vpstv.net/streams/708982.m3u8$LR•IPV4•5『线路5』 +茂名综合,http://120.77.205.62:8087/rtp/239.77.0.206:5146$LR•IPV4•5『线路1』 +茂名综合,http://125.89.163.44:8888/udp/239.77.0.206:5146$LR•IPV4•5『线路2』 +茂名综合,https://hls-gateway.vpstv.net/streams/708982.m3u8$LR•IPV4•5『线路3』 +茂名综合,http://120.77.205.62:8087/rtp/239.77.0.204:5146$LR•IPV4•5『线路4』 +茂名综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9728&tk=a0c4f6cfaba3$LR•IPV4•5『线路5』 茂名公共,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7418&tk=a0c4f6cfaba3$LR•IPV4•4『线路1』 茂名公共,http://120.77.205.62:8087/rtp/239.77.0.205:5146$LR•IPV4•4『线路2』 -茂名公共,http://125.89.163.44:8888/udp/239.77.0.207:5146$LR•IPV4•4『线路3』 -茂名公共,http://120.77.205.62:8087/rtp/239.77.0.207:5146$LR•IPV4•4『线路4』 +茂名公共,http://120.77.205.62:8087/rtp/239.77.0.207:5146$LR•IPV4•4『线路3』 +茂名公共,http://125.89.163.44:8888/udp/239.77.0.207:5146$LR•IPV4•4『线路4』 深圳东部,http://125.89.163.44:8888/udp/239.77.1.224:5146$LR•IPV4 -深圳少儿,https://stream1.freetv.fun/shen-zhen-shao-er-3.m3u8$LR•IPV4•12『线路1』 -深圳少儿,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=szse$LR•IPV4•12『线路2』 +深圳少儿,http://125.89.163.44:8888/udp/239.77.1.244:5146$LR•IPV4•12『线路1』 +深圳少儿,https://stream1.freetv.fun/shen-zhen-shao-er-1.m3u8$LR•IPV4•12『线路2』 深圳少儿,https://stream1.freetv.fun/shen-zhen-shao-er-2.ctv$LR•IPV4•12『线路3』 -深圳少儿,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4633&tk=a0c4f6cfaba3$LR•IPV4•12『线路4』 -深圳少儿,https://stream1.freetv.fun/shen-zhen-shao-er-3.ctv$LR•IPV4•12『线路5』 -深圳少儿,http://125.89.163.44:8888/udp/239.77.1.244:5146$LR•IPV4•12『线路6』 -深圳少儿,http://183.11.239.36:808/hls/157/index.m3u8$LR•IPV4•12『线路7』 -深圳少儿,https://stream1.freetv.fun/shen-zhen-shao-er-7.ctv$LR•IPV4•12『线路8』 -深圳少儿,https://stream1.freetv.fun/shen-zhen-shao-er-1.m3u8$LR•IPV4•12『线路9』 -深圳少儿,http://gmxw.7766.org:808/hls/157/index.m3u8$LR•IPV4•12『线路10』 -深圳少儿,https://stream1.freetv.fun/shen-zhen-shao-er-6.ctv$LR•IPV4•12『线路11』 +深圳少儿,http://gmxw.7766.org:808/hls/157/index.m3u8$LR•IPV4•12『线路4』 +深圳少儿,https://stream1.freetv.fun/shen-zhen-shao-er-7.ctv$LR•IPV4•12『线路5』 +深圳少儿,http://183.11.239.36:808/hls/157/index.m3u8$LR•IPV4•12『线路6』 +深圳少儿,https://stream1.freetv.fun/shen-zhen-shao-er-6.ctv$LR•IPV4•12『线路7』 +深圳少儿,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4633&tk=a0c4f6cfaba3$LR•IPV4•12『线路8』 +深圳少儿,https://stream1.freetv.fun/shen-zhen-shao-er-3.m3u8$LR•IPV4•12『线路9』 +深圳少儿,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=szse$LR•IPV4•12『线路10』 +深圳少儿,https://stream1.freetv.fun/shen-zhen-shao-er-3.ctv$LR•IPV4•12『线路11』 深圳少儿,https://stream1.freetv.fun/shen-zhen-shao-er-5.ctv$LR•IPV4•12『线路12』 -深圳移动电视,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=szyd$LR•IPV4•3『线路1』 -深圳移动电视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2250&tk=a0c4f6cfaba3$LR•IPV4•3『线路2』 +深圳移动电视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2250&tk=a0c4f6cfaba3$LR•IPV4•3『线路1』 +深圳移动电视,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=szyd$LR•IPV4•3『线路2』 深圳移动电视,http://125.89.163.44:8888/udp/239.77.1.175:5146$LR•IPV4•3『线路3』 -深圳财经生活,http://gmxw.7766.org:808/hls/151/index.m3u8$LR•IPV4•6『线路1』 -深圳财经生活,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=szcjsh$LR•IPV4•6『线路2』 -深圳财经生活,http://116.77.239.26:44300/tsfile/live/1007_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•6『线路3』 -深圳财经生活,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8853&tk=a0c4f6cfaba3$LR•IPV4•6『线路4』 -深圳财经生活,https://stream1.freetv.fun/shen-zhen-cai-jing-sheng-huo-4.ctv$LR•IPV4•6『线路5』 -深圳财经生活,https://stream1.freetv.fun/shen-zhen-cai-jing-sheng-huo-1.m3u8$LR•IPV4•6『线路6』 -云浮综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6868&tk=a0c4f6cfaba3$LR•IPV4•2『线路1』 -云浮综合,http://125.89.163.44:8888/udp/239.77.0.253:5146$LR•IPV4•2『线路2』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-26.ctv$LR•IPV4•27『线路1』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-1.ctv$LR•IPV4•27『线路2』 -佛山公共,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/foshan.js?id=http://p.ytelc.com/169l/gd/foshan.php?id=foshangg$LR•IPV4•27『线路3』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-6.ctv$LR•IPV4•27『线路4』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-17.ctv$LR•IPV4•27『线路5』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-4.ctv$LR•IPV4•27『线路6』 -佛山公共,http://8.137.59.151:3000/guangdong/foshan.php?id=fsgg$LR•IPV4•27『线路7』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-15.ctv$LR•IPV4•27『线路8』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-12.ctv$LR•IPV4•27『线路9』 +深圳财经生活,https://stream1.freetv.fun/shen-zhen-cai-jing-sheng-huo-4.ctv$LR•IPV4•6『线路1』 +深圳财经生活,http://gmxw.7766.org:808/hls/151/index.m3u8$LR•IPV4•6『线路2』 +深圳财经生活,https://stream1.freetv.fun/shen-zhen-cai-jing-sheng-huo-1.m3u8$LR•IPV4•6『线路3』 +深圳财经生活,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/shenzhen.js?QUN=酷9-JS交流群424765458&id=szcjsh$LR•IPV4•6『线路4』 +深圳财经生活,http://116.77.239.26:44300/tsfile/live/1007_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•6『线路5』 +深圳财经生活,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8853&tk=a0c4f6cfaba3$LR•IPV4•6『线路6』 +丰顺综合,http://1b6467f415.iok.la:9931/tsfile/live/1100_1.m3u8$LR•IPV4 +云浮综合,http://125.89.163.44:8888/udp/239.77.0.253:5146$LR•IPV4•2『线路1』 +云浮综合,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6868&tk=a0c4f6cfaba3$LR•IPV4•2『线路2』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-19.ctv$LR•IPV4•27『线路1』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-8.ctv$LR•IPV4•27『线路2』 +佛山公共,http://qjrhc.jydjd.top:2911/udp/224.1.100.134:11111$LR•IPV4•27『线路3』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-9.ctv$LR•IPV4•27『线路4』 +佛山公共,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/foshan.js?id=http://p.ytelc.com/169l/gd/foshan.php?id=foshangg$LR•IPV4•27『线路5』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-25.ctv$LR•IPV4•27『线路6』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-4.ctv$LR•IPV4•27『线路7』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-26.ctv$LR•IPV4•27『线路8』 +佛山公共,http://8.137.59.151:3000/guangdong/foshan.php?id=fsgg$LR•IPV4•27『线路9』 佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-27.ctv$LR•IPV4•27『线路10』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-18.ctv$LR•IPV4•27『线路11』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-2.ctv$LR•IPV4•27『线路12』 -佛山公共,http://qjrhc.jydjd.top:2911/udp/224.1.100.134:11111$LR•IPV4•27『线路13』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-21.ctv$LR•IPV4•27『线路14』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-16.ctv$LR•IPV4•27『线路15』 -佛山公共,http://125.89.163.44:8888/udp/239.253.43.53:5146$LR•IPV4•27『线路16』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-22.ctv$LR•IPV4•27『线路17』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-9.ctv$LR•IPV4•27『线路18』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-25.ctv$LR•IPV4•27『线路19』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-19.ctv$LR•IPV4•27『线路20』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-5.ctv$LR•IPV4•27『线路21』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-13.ctv$LR•IPV4•27『线路22』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-8.ctv$LR•IPV4•27『线路23』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-10.ctv$LR•IPV4•27『线路24』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-2.ctv$LR•IPV4•27『线路11』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-15.ctv$LR•IPV4•27『线路12』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-18.ctv$LR•IPV4•27『线路13』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-1.ctv$LR•IPV4•27『线路14』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-21.ctv$LR•IPV4•27『线路15』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-12.ctv$LR•IPV4•27『线路16』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-11.ctv$LR•IPV4•27『线路17』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-22.ctv$LR•IPV4•27『线路18』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-13.ctv$LR•IPV4•27『线路19』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-3.ctv$LR•IPV4•27『线路20』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-10.ctv$LR•IPV4•27『线路21』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-16.ctv$LR•IPV4•27『线路22』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-17.ctv$LR•IPV4•27『线路23』 +佛山公共,http://125.89.163.44:8888/udp/239.253.43.53:5146$LR•IPV4•27『线路24』 佛山公共,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4358&tk=a0c4f6cfaba3$LR•IPV4•27『线路25』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-3.ctv$LR•IPV4•27『线路26』 -佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-11.ctv$LR•IPV4•27『线路27』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-22.ctv$LR•IPV4•26『线路1』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-6.ctv$LR•IPV4•27『线路26』 +佛山公共,https://stream1.freetv.fun/fo-shan-gong-gong-5.ctv$LR•IPV4•27『线路27』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-15.ctv$LR•IPV4•26『线路1』 佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-21.ctv$LR•IPV4•26『线路2』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-13.ctv$LR•IPV4•26『线路3』 -佛山影视,http://125.89.163.44:8888/udp/239.253.43.56:5146$LR•IPV4•26『线路4』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-11.ctv$LR•IPV4•26『线路5』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-5.ctv$LR•IPV4•26『线路6』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-4.ctv$LR•IPV4•26『线路7』 -佛山影视,http://8.137.59.151:3000/guangdong/foshan.php?id=fsys$LR•IPV4•26『线路8』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-20.ctv$LR•IPV4•26『线路9』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-7.ctv$LR•IPV4•26『线路10』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-8.ctv$LR•IPV4•26『线路11』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-17.ctv$LR•IPV4•26『线路12』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-15.ctv$LR•IPV4•26『线路13』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-3.ctv$LR•IPV4•26『线路14』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-16.ctv$LR•IPV4•26『线路15』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-14.ctv$LR•IPV4•26『线路16』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-9.ctv$LR•IPV4•26『线路17』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-19.ctv$LR•IPV4•26『线路18』 -佛山影视,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/foshan.js?id=http://p.ytelc.com/169l/gd/foshan.php?id=foshanys$LR•IPV4•26『线路19』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-10.ctv$LR•IPV4•26『线路20』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-2.ctv$LR•IPV4•26『线路21』 -佛山影视,http://180.143.83.48:8181/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路22』 -佛山影视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5642&tk=a0c4f6cfaba3$LR•IPV4•26『线路23』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-1.ctv$LR•IPV4•26『线路24』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-12.ctv$LR•IPV4•26『线路25』 -佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-6.ctv$LR•IPV4•26『线路26』 +佛山影视,http://8.137.59.151:3000/guangdong/foshan.php?id=fsys$LR•IPV4•26『线路3』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-17.ctv$LR•IPV4•26『线路4』 +佛山影视,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5642&tk=a0c4f6cfaba3$LR•IPV4•26『线路5』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-19.ctv$LR•IPV4•26『线路6』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-20.ctv$LR•IPV4•26『线路7』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-14.ctv$LR•IPV4•26『线路8』 +佛山影视,http://125.89.163.44:8888/udp/239.253.43.56:5146$LR•IPV4•26『线路9』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-1.ctv$LR•IPV4•26『线路10』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-4.ctv$LR•IPV4•26『线路11』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-11.ctv$LR•IPV4•26『线路12』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-22.ctv$LR•IPV4•26『线路13』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-10.ctv$LR•IPV4•26『线路14』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-6.ctv$LR•IPV4•26『线路15』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-3.ctv$LR•IPV4•26『线路16』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-13.ctv$LR•IPV4•26『线路17』 +佛山影视,http://180.143.83.48:8181/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•26『线路18』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-7.ctv$LR•IPV4•26『线路19』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-16.ctv$LR•IPV4•26『线路20』 +佛山影视,http://1.94.31.214/live/live9/channel/js/k-web/PLTV/ku9/js/foshan.js?id=http://p.ytelc.com/169l/gd/foshan.php?id=foshanys$LR•IPV4•26『线路21』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-9.ctv$LR•IPV4•26『线路22』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-5.ctv$LR•IPV4•26『线路23』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-12.ctv$LR•IPV4•26『线路24』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-8.ctv$LR•IPV4•26『线路25』 +佛山影视,https://stream1.freetv.fun/fo-shan-ying-shi-2.ctv$LR•IPV4•26『线路26』 ☘️河南频道,#genre# 象视界,http://1.94.31.214/php/hntv.php?id=xsj$LR•IPV4 @@ -428,19 +429,19 @@ YMG未来,http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8?$LR•IPV4 武汉六台外语,http://stream.appwuhan.com/6tzb/sd/live.m3u8$LR•IPV4 [湖北]潜江综合,http://hbqjdb.chinashadt.com:2035/live/3.stream/playlist.m3u8$LR•IPV4 荆门科教文旅,http://stream.jmtv.com.cn/ggsh/sd/live.m3u8$LR•IPV4 -荆门新闻,http://stream.jmtv.com.cn/xwzh/sd/live.m3u8$LR•IPV4•14『线路1』 -荆门新闻,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-2.m3u8$LR•IPV4•14『线路2』 -荆门新闻,https://t.freetv.fun/live/jing-men-xin-wen-zong-he-1-1.m3u8$LR•IPV4•14『线路3』 -荆门新闻,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-3.m3u8$LR•IPV4•14『线路4』 -荆门新闻,https://t.freetv.fun/live/jing-men-xin-wen-zong-he-5.m3u8$LR•IPV4•14『线路5』 -荆门新闻,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-6.m3u8$LR•IPV4•14『线路6』 -荆门新闻,https://t.freetv.fun/live/jing-men-xin-wen-zong-he.m3u8$LR•IPV4•14『线路7』 -荆门新闻,https://stream.jmtv.com.cn/xwzh/playlist.m3u8?_upt=3e28e7271664278691$LR•IPV4•14『线路8』 -荆门新闻,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-1.m3u8$LR•IPV4•14『线路9』 -荆门新闻,http://stream.jmtv.com.cn/xwzh/sd/live.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•14『线路10』 -荆门新闻,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-4.m3u8$LR•IPV4•14『线路11』 -荆门新闻,http://stream.jmtv.com.cn/xwzh/sd/live.m3u8?zhubd$LR•IPV4•14『线路12』 -荆门新闻,https://t.freetv.fun/live/jing-men-xin-wen-zong-he-2.m3u8$LR•IPV4•14『线路13』 +荆门新闻,https://stream.jmtv.com.cn/xwzh/playlist.m3u8?_upt=3e28e7271664278691$LR•IPV4•14『线路1』 +荆门新闻,http://stream.jmtv.com.cn/xwzh/sd/live.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•14『线路2』 +荆门新闻,http://stream.jmtv.com.cn/xwzh/sd/live.m3u8$LR•IPV4•14『线路3』 +荆门新闻,https://t.freetv.fun/live/jing-men-xin-wen-zong-he-5.m3u8$LR•IPV4•14『线路4』 +荆门新闻,https://t.freetv.fun/live/jing-men-xin-wen-zong-he.m3u8$LR•IPV4•14『线路5』 +荆门新闻,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-2.m3u8$LR•IPV4•14『线路6』 +荆门新闻,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-6.m3u8$LR•IPV4•14『线路7』 +荆门新闻,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-4.m3u8$LR•IPV4•14『线路8』 +荆门新闻,http://stream.jmtv.com.cn/xwzh/sd/live.m3u8?zhubd$LR•IPV4•14『线路9』 +荆门新闻,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-3.m3u8$LR•IPV4•14『线路10』 +荆门新闻,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-1.m3u8$LR•IPV4•14『线路11』 +荆门新闻,https://t.freetv.fun/live/jing-men-xin-wen-zong-he-2.m3u8$LR•IPV4•14『线路12』 +荆门新闻,https://t.freetv.fun/live/jing-men-xin-wen-zong-he-1-1.m3u8$LR•IPV4•14『线路13』 荆门新闻,https://stream1.freetv.fun/jing-men-xin-wen-zong-he-5.m3u8$LR•IPV4•14『线路14』 春晚频道,#genre# @@ -482,59 +483,59 @@ nowsports,p3p://167.114.175.6:55331/65acf008000b26e4bcbb1adc24476b3f$LR•IPV4 Now星影,p3p://167.114.175.6:55331/65423b7b00047dbb1bebd20b45f374d2$LR•IPV4•2『线路1』 Now星影,p3p://167.114.175.6:55331/65bf5e010005226704b84f4f048a4148$LR•IPV4•2『线路2』 八大戏剧,http://61.221.215.25:8800/hls/39/index.m3u8$LR•IPV4 -澳门莲花,http://push.cdn1.hls123.de:8080/streams/8nsrl4s4evv/index.m3u8$LR•IPV4•3『线路1』 -澳门莲花,http://1033946631.cloudvdn.com/a.m3u8?domain=live-hdl.macaulotustv.com&player=1&streamid=lotustv:lotustv/macaulotustv&v3=1$LR•IPV4•3『线路2』 -澳门莲花,http://43.251.226.89:8080/play/904.m3u8$LR•IPV4•3『线路3』 +澳门莲花,http://1033946631.cloudvdn.com/a.m3u8?domain=live-hdl.macaulotustv.com&player=1&streamid=lotustv:lotustv/macaulotustv&v3=1$LR•IPV4•3『线路1』 +澳门莲花,http://43.251.226.89:8080/play/904.m3u8$LR•IPV4•3『线路2』 +澳门莲花,http://push.cdn1.hls123.de:8080/streams/8nsrl4s4evv/index.m3u8$LR•IPV4•3『线路3』 香港卫视,http://webcast.hkstv.tv/livestream/mutfysrq/playlist.m3u8$LR•IPV4•2『线路1』 香港卫视,https://hkstv.tv/api/m3u8-proxy?url=http%3A%2F%2Fwebcast.hkstv.tv%2Flivestream%2Fmutfysrq%2Fplaylist.m3u8$LR•IPV4•2『线路2』 凤凰卫视中文台,http://api.mg.itv888.cn:8080/hls/2f80047f91e/index.m3u8$LR•IPV4•16『线路1』 -凤凰卫视中文台,http://218.206.193.218:8888/hls/66/index.m3u8$LR•IPV4•16『线路2』 -凤凰卫视中文台,http://r.jdshipin.com/cCCzW$LR•IPV4•16『线路3』 -凤凰卫视中文台,http://cdn6.163189.xyz/163189/fhzw$LR•IPV4•16『线路4』 -凤凰卫视中文台,http://push.cdn1.hls123.de:8080/streams/a4y2t99pzyi/index.m3u8$LR•IPV4•16『线路5』 -凤凰卫视中文台,https://flv-play.clouda.com/live/fhzw-6zSJoUiicyU3ovDlMvflVRLQlVCMRCARnyJ0NPlfcs3eWJNeJSDRMAz4VgeQV3Diy6.flv$LR•IPV4•16『线路6』 -凤凰卫视中文台,https://k44991.kylintv.tv/live/pxna_iphone.m3u8$LR•IPV4•16『线路7』 -凤凰卫视中文台,http://tianhewan.top/ZIPP.php?url=http://211.72.65.236:8577/.m3u8$LR•IPV4•16『线路8』 -凤凰卫视中文台,http://146.56.153.245:20121/bysid/258$LR•IPV4•16『线路9』 -凤凰卫视中文台,http://e1.woc.iiiya.cn:8888/rtp/239.61.2.184:9092$LR•IPV4•16『线路10』 -凤凰卫视中文台,http://php.jdshipin.com/TVOD/iptv.php?id=fhzw$LR•IPV4•16『线路11』 -凤凰卫视中文台,http://122.117.71.103:8574/http/61.222.53.250:8078/hls/21/80/phoenixch.m3u8$LR•IPV4•16『线路12』 -凤凰卫视中文台,http://148.135.93.213:81/phenix.php?id=fhzw$LR•IPV4•16『线路13』 -凤凰卫视中文台,http://211.75.171.121:8577/http/61.67.128.137:8078/hls/21/80/phoenixch.m3u8$LR•IPV4•16『线路14』 -凤凰卫视中文台,http://43.251.226.89:8080/play/888.m3u8$LR•IPV4•16『线路15』 -凤凰卫视中文台,http://223.110.245.139/ott.js.chinamobile.com/PLTV/3/224/3221226922/index.m3u8$LR•IPV4•16『线路16』 +凤凰卫视中文台,http://223.110.245.139/ott.js.chinamobile.com/PLTV/3/224/3221226922/index.m3u8$LR•IPV4•16『线路2』 +凤凰卫视中文台,http://218.206.193.218:8888/hls/66/index.m3u8$LR•IPV4•16『线路3』 +凤凰卫视中文台,https://k44991.kylintv.tv/live/pxna_iphone.m3u8$LR•IPV4•16『线路4』 +凤凰卫视中文台,http://tianhewan.top/ZIPP.php?url=http://211.72.65.236:8577/.m3u8$LR•IPV4•16『线路5』 +凤凰卫视中文台,http://146.56.153.245:20121/bysid/258$LR•IPV4•16『线路6』 +凤凰卫视中文台,http://e1.woc.iiiya.cn:8888/rtp/239.61.2.184:9092$LR•IPV4•16『线路7』 +凤凰卫视中文台,http://php.jdshipin.com/TVOD/iptv.php?id=fhzw$LR•IPV4•16『线路8』 +凤凰卫视中文台,http://122.117.71.103:8574/http/61.222.53.250:8078/hls/21/80/phoenixch.m3u8$LR•IPV4•16『线路9』 +凤凰卫视中文台,http://148.135.93.213:81/phenix.php?id=fhzw$LR•IPV4•16『线路10』 +凤凰卫视中文台,http://211.75.171.121:8577/http/61.67.128.137:8078/hls/21/80/phoenixch.m3u8$LR•IPV4•16『线路11』 +凤凰卫视中文台,http://43.251.226.89:8080/play/888.m3u8$LR•IPV4•16『线路12』 +凤凰卫视中文台,http://push.cdn1.hls123.de:8080/streams/a4y2t99pzyi/index.m3u8$LR•IPV4•16『线路13』 +凤凰卫视中文台,https://flv-play.clouda.com/live/fhzw-6zSJoUiicyU3ovDlMvflVRLQlVCMRCARnyJ0NPlfcs3eWJNeJSDRMAz4VgeQV3Diy6.flv$LR•IPV4•16『线路14』 +凤凰卫视中文台,http://r.jdshipin.com/cCCzW$LR•IPV4•16『线路15』 +凤凰卫视中文台,http://cdn6.163189.xyz/163189/fhzw$LR•IPV4•16『线路16』 凤凰卫视资讯台,http://api.mg.itv888.cn:8080/hls/11ef1dc70d8/index.m3u8$LR•IPV4•16『线路1』 -凤凰卫视资讯台,http://221.7.175.154:8445/tsfile/live/1021_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路2』 -凤凰卫视资讯台,http://r.jdshipin.com/0Rp07$LR•IPV4•16『线路3』 +凤凰卫视资讯台,http://223.110.245.167/ott.js.chinamobile.com/PLTV/3/224/3221226923/index.m3u8$LR•IPV4•16『线路2』 +凤凰卫视资讯台,http://221.7.175.154:8445/tsfile/live/1021_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•16『线路3』 凤凰卫视资讯台,http://php.jdshipin.com/TVOD/iptv.php?id=fhzx$LR•IPV4•16『线路4』 -凤凰卫视资讯台,http://cdn6.163189.xyz/163189/fhzx$LR•IPV4•16『线路5』 -凤凰卫视资讯台,http://push.cdn1.hls123.de:8080/streams/0u0qd5ovqkg/index.m3u8$LR•IPV4•16『线路6』 -凤凰卫视资讯台,https://flv-play.clouda.com/live/fhzx-gCDIOsNFJ7DX5OI8hsebeQNHPm66LAMZgmIcGYcfIIEzXWKCVG2cQgbZdRq2aUVqJR.flv$LR•IPV4•16『线路7』 -凤凰卫视资讯台,http://122.117.71.103:8573/http/61.222.53.250:8078/hls/20/80/phoenixif.m3u8$LR•IPV4•16『线路8』 -凤凰卫视资讯台,http://e1.woc.iiiya.cn:8888/rtp/239.61.2.183:9086$LR•IPV4•16『线路9』 -凤凰卫视资讯台,http://146.56.153.245:20121/bysid/257$LR•IPV4•16『线路10』 -凤凰卫视资讯台,http://tianhewan.top/ZIPP.php?url=http://211.72.65.236:8576/.m3u8$LR•IPV4•16『线路11』 -凤凰卫视资讯台,http://148.135.93.213:81/phenix.php?id=fhzx$LR•IPV4•16『线路12』 -凤凰卫视资讯台,http://211.75.171.121:8576/http/61.67.128.137:8078/hls/20/80/phoenixif.m3u8$LR•IPV4•16『线路13』 -凤凰卫视资讯台,http://43.251.226.89:8080/play/889.m3u8$LR•IPV4•16『线路14』 -凤凰卫视资讯台,p3p://167.114.175.6:55331/5fffbf860003807cedf4e1016c3c3ed2$LR•IPV4•16『线路15』 -凤凰卫视资讯台,http://223.110.245.167/ott.js.chinamobile.com/PLTV/3/224/3221226923/index.m3u8$LR•IPV4•16『线路16』 -凤凰卫视香港台,http://122.152.202.33/s/81a8a44f/index.m3u8?id=fhhk$LR•IPV4•12『线路1』 -凤凰卫视香港台,https://epg.pw/stream/5f16dc7fc8aaaed3205516c63e4a8c24bca9dbba1181684244729cf574505b0e.m3u8$LR•IPV4•12『线路2』 -凤凰卫视香港台,https://epg.pw/stream/8770e89223a086eb1b8a0c931e42296d772a8069ad3eb72540e0c434e7cb3e93.m3u8$LR•IPV4•12『线路3』 -凤凰卫视香港台,http://r.jdshipin.com/yDoTN$LR•IPV4•12『线路4』 -凤凰卫视香港台,http://php.jdshipin.com/TVOD/iptv.php?id=fhhk$LR•IPV4•12『线路5』 -凤凰卫视香港台,http://cdn6.163189.xyz/163189/fhhk$LR•IPV4•12『线路6』 -凤凰卫视香港台,http://push.cdn1.hls123.de:8080/streams/898y722sqjr/index.m3u8$LR•IPV4•12『线路7』 -凤凰卫视香港台,https://flv-play.clouda.com/live/fhxg-s6ZqbJPCkU54D3ojHvlJm4el9wbnzF1VJ6J0oPumsZIfuPtYq1enmIhy43vWcUaaPf4U2xRRWNGOXX5BiusMXxxQ.flv$LR•IPV4•12『线路8』 -凤凰卫视香港台,http://148.135.93.213:81/phenix.php?id=fhhk$LR•IPV4•12『线路9』 -凤凰卫视香港台,http://43.251.226.89:8080/play/890.m3u8$LR•IPV4•12『线路10』 -凤凰卫视香港台,p3p://167.114.175.6:55331/5fe0b82c000cac9774c17f262e43314d$LR•IPV4•12『线路11』 -凤凰卫视香港台,http://223.110.245.136/PLTV/3/224/3221226975/index.m3u8$LR•IPV4•12『线路12』 -台视新闻,http://38.64.72.148/hls/modn/list/4013/chunklist1.m3u8$LR•IPV4•4『线路1』 -台视新闻,http://38.64.72.148:80/hls/modn/list/4013/chunklist0.m3u8$LR•IPV4•4『线路2』 -台视新闻,http://38.64.72.148:80/hls/modn/list/4013/chunklist1.m3u8$LR•IPV4•4『线路3』 -台视新闻,http://38.64.72.148/hls/modn/list/4013/chunklist0.m3u8$LR•IPV4•4『线路4』 +凤凰卫视资讯台,http://122.117.71.103:8573/http/61.222.53.250:8078/hls/20/80/phoenixif.m3u8$LR•IPV4•16『线路5』 +凤凰卫视资讯台,http://e1.woc.iiiya.cn:8888/rtp/239.61.2.183:9086$LR•IPV4•16『线路6』 +凤凰卫视资讯台,http://146.56.153.245:20121/bysid/257$LR•IPV4•16『线路7』 +凤凰卫视资讯台,http://tianhewan.top/ZIPP.php?url=http://211.72.65.236:8576/.m3u8$LR•IPV4•16『线路8』 +凤凰卫视资讯台,http://148.135.93.213:81/phenix.php?id=fhzx$LR•IPV4•16『线路9』 +凤凰卫视资讯台,http://211.75.171.121:8576/http/61.67.128.137:8078/hls/20/80/phoenixif.m3u8$LR•IPV4•16『线路10』 +凤凰卫视资讯台,http://43.251.226.89:8080/play/889.m3u8$LR•IPV4•16『线路11』 +凤凰卫视资讯台,p3p://167.114.175.6:55331/5fffbf860003807cedf4e1016c3c3ed2$LR•IPV4•16『线路12』 +凤凰卫视资讯台,http://push.cdn1.hls123.de:8080/streams/0u0qd5ovqkg/index.m3u8$LR•IPV4•16『线路13』 +凤凰卫视资讯台,https://flv-play.clouda.com/live/fhzx-gCDIOsNFJ7DX5OI8hsebeQNHPm66LAMZgmIcGYcfIIEzXWKCVG2cQgbZdRq2aUVqJR.flv$LR•IPV4•16『线路14』 +凤凰卫视资讯台,http://r.jdshipin.com/0Rp07$LR•IPV4•16『线路15』 +凤凰卫视资讯台,http://cdn6.163189.xyz/163189/fhzx$LR•IPV4•16『线路16』 +凤凰卫视香港台,http://223.110.245.136/PLTV/3/224/3221226975/index.m3u8$LR•IPV4•12『线路1』 +凤凰卫视香港台,http://122.152.202.33/s/81a8a44f/index.m3u8?id=fhhk$LR•IPV4•12『线路2』 +凤凰卫视香港台,https://epg.pw/stream/5f16dc7fc8aaaed3205516c63e4a8c24bca9dbba1181684244729cf574505b0e.m3u8$LR•IPV4•12『线路3』 +凤凰卫视香港台,https://epg.pw/stream/8770e89223a086eb1b8a0c931e42296d772a8069ad3eb72540e0c434e7cb3e93.m3u8$LR•IPV4•12『线路4』 +凤凰卫视香港台,http://148.135.93.213:81/phenix.php?id=fhhk$LR•IPV4•12『线路5』 +凤凰卫视香港台,http://43.251.226.89:8080/play/890.m3u8$LR•IPV4•12『线路6』 +凤凰卫视香港台,p3p://167.114.175.6:55331/5fe0b82c000cac9774c17f262e43314d$LR•IPV4•12『线路7』 +凤凰卫视香港台,http://push.cdn1.hls123.de:8080/streams/898y722sqjr/index.m3u8$LR•IPV4•12『线路8』 +凤凰卫视香港台,https://flv-play.clouda.com/live/fhxg-s6ZqbJPCkU54D3ojHvlJm4el9wbnzF1VJ6J0oPumsZIfuPtYq1enmIhy43vWcUaaPf4U2xRRWNGOXX5BiusMXxxQ.flv$LR•IPV4•12『线路9』 +凤凰卫视香港台,http://r.jdshipin.com/yDoTN$LR•IPV4•12『线路10』 +凤凰卫视香港台,http://php.jdshipin.com/TVOD/iptv.php?id=fhhk$LR•IPV4•12『线路11』 +凤凰卫视香港台,http://cdn6.163189.xyz/163189/fhhk$LR•IPV4•12『线路12』 +台视新闻,http://38.64.72.148:80/hls/modn/list/4013/chunklist0.m3u8$LR•IPV4•4『线路1』 +台视新闻,http://38.64.72.148:80/hls/modn/list/4013/chunklist1.m3u8$LR•IPV4•4『线路2』 +台视新闻,http://38.64.72.148/hls/modn/list/4013/chunklist0.m3u8$LR•IPV4•4『线路3』 +台视新闻,http://38.64.72.148/hls/modn/list/4013/chunklist1.m3u8$LR•IPV4•4『线路4』 ☘️重庆频道,#genre# 万州综合,http://123.146.162.24:8013/tslslive/noEX9SG/hls/live_sd.m3u8$LR•IPV4 @@ -544,7 +545,7 @@ Now星影,p3p://167.114.175.6:55331/65bf5e010005226704b84f4f048a4148$LR•IPV4 来宾综合,http://zb.gxlbamc.com:1935/live/lbzh.stream/playlist.m3u8$LR•IPV4 ☘️天津频道,#genre# -天津,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226954/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eaf3wyULP1h575eM_4ByMDg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路1』 +天津,http://39.134.115.163:8080/PLTV/88888910/224/3221225698/index.m3u8$LR•IPV4•28『线路1』 天津,http://112.123.243.37:50085/tsfile/live/0128_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•28『线路2』 天津,http://198.204.228.26/live/tjwshd.m3u8$LR•IPV4•28『线路3』 天津,http://192.151.150.154/live/tjwshd.m3u8$LR•IPV4•28『线路4』 @@ -552,26 +553,26 @@ Now星影,p3p://167.114.175.6:55331/65bf5e010005226704b84f4f048a4148$LR•IPV4 天津,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=tjwshd$LR•IPV4•28『线路6』 天津,http://36.136.38.87:9901/tsfile/live/0135_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路7』 天津,http://153.0.171.163:9901/tsfile/live/0135_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路8』 -天津,http://112.27.235.94:8000/hls/42/index.m3u8$LR•IPV4•28『线路9』 -天津,http://60.10.139.113:8801/hls/23/index.m3u8$LR•IPV4•28『线路10』 -天津,http://207.56.13.146:81/cdnlive/tjws.m3u8$LR•IPV4•28『线路11』 -天津,http://173.208.212.130:8181/720p/tjws.m3u8$LR•IPV4•28『线路12』 -天津,http://204.12.221.218:8181/3m1080p/tjws.m3u8$LR•IPV4•28『线路13』 -天津,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000001000030788&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路14』 -天津,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006827&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路15』 -天津,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000000831&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路16』 -天津,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000003475&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路17』 -天津,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265026&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路18』 -天津,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6707942579111517572&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路19』 -天津,http://111.29.9.38:6610/000000001000/5000000004000006827/index.m3u8?channel-id=bestzb&Contentid=5000000004000006827&livemode=1&stbId=3$LR•IPV4•28『线路20』 -天津,http://111.29.9.33:6610/000000001000/1000000001000000831/index.m3u8?channel-id=bestzb&Contentid=1000000001000000831&livemode=1&stbId=3$LR•IPV4•28『线路21』 -天津,http://23.237.228.134/live8/tianjing.m3u8$LR•IPV4•28『线路22』 -天津,http://gfr.x3322.net:9901/tsfile/live/1090_1.m3u8$LR•IPV4•28『线路23』 -天津,http://api.kkitv.itv888.cn:8080/hls/z2lkdkrb4w/index.m3u8$LR•IPV4•28『线路24』 -天津,https://iptv.catvod.com/catvod.php?id=tjws$LR•IPV4•28『线路25』 -天津,https://httop.top/ysp-天津卫视$LR•IPV4•28『线路26』 -天津,http://iptv.huuc.edu.cn/hls/tjhd.m3u8$LR•IPV4•28『线路27』 -天津,http://39.134.115.163:8080/PLTV/88888910/224/3221225698/index.m3u8$LR•IPV4•28『线路28』 +天津,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226954/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eaf3wyULP1h575eM_4ByMDg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路9』 +天津,http://112.27.235.94:8000/hls/42/index.m3u8$LR•IPV4•28『线路10』 +天津,http://23.237.228.134/live8/tianjing.m3u8$LR•IPV4•28『线路11』 +天津,http://gfr.x3322.net:9901/tsfile/live/1090_1.m3u8$LR•IPV4•28『线路12』 +天津,http://api.kkitv.itv888.cn:8080/hls/z2lkdkrb4w/index.m3u8$LR•IPV4•28『线路13』 +天津,https://iptv.catvod.com/catvod.php?id=tjws$LR•IPV4•28『线路14』 +天津,https://httop.top/ysp-天津卫视$LR•IPV4•28『线路15』 +天津,http://iptv.huuc.edu.cn/hls/tjhd.m3u8$LR•IPV4•28『线路16』 +天津,http://60.10.139.113:8801/hls/23/index.m3u8$LR•IPV4•28『线路17』 +天津,http://207.56.13.146:81/cdnlive/tjws.m3u8$LR•IPV4•28『线路18』 +天津,http://173.208.212.130:8181/720p/tjws.m3u8$LR•IPV4•28『线路19』 +天津,http://204.12.221.218:8181/3m1080p/tjws.m3u8$LR•IPV4•28『线路20』 +天津,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000001000030788&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路21』 +天津,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000006827&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路22』 +天津,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000000831&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路23』 +天津,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000001000003475&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路24』 +天津,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265026&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路25』 +天津,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=6707942579111517572&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路26』 +天津,http://111.29.9.38:6610/000000001000/5000000004000006827/index.m3u8?channel-id=bestzb&Contentid=5000000004000006827&livemode=1&stbId=3$LR•IPV4•28『线路27』 +天津,http://111.29.9.33:6610/000000001000/1000000001000000831/index.m3u8?channel-id=bestzb&Contentid=1000000001000000831&livemode=1&stbId=3$LR•IPV4•28『线路28』 ☘️甘肃频道,#genre# 西峰综合,https://play.kankanlive.com/live/1683944827526991.m3u8$LR•IPV4 @@ -587,27 +588,27 @@ Now星影,p3p://167.114.175.6:55331/65bf5e010005226704b84f4f048a4148$LR•IPV4 青州综合,http://sdqz.chinashadt.com:2036/live/stream:1.stream/playlist.m3u8$LR•IPV4•2『线路1』 青州综合,http://sdqz.chinashadt.com:2036/live/stream:1.stream/playlist.m3u8?shandd$LR•IPV4•2『线路2』 青岛城阳,http://pili-live-rtmp.56.i2863.com/i2863-56/live_56_307317.m3u8?shandd$LR•IPV4 -济宁公共,http://lives.jnnews.tv/video/s10001-JNTV3/index.m3u8?shandd$LR•IPV4•4『线路1』 +济宁公共,http://111.14.181.15:9901/tsfile/live/1009_1.m3u8$LR•IPV4•4『线路1』 济宁公共,http://lives.jnnews.tv/video/s10001-JNTV3/index.m3u8$LR•IPV4•4『线路2』 济宁公共,http://111.14.181.15:9901/tsfile/live/1009_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•4『线路3』 -济宁公共,http://111.14.181.15:9901/tsfile/live/1009_1.m3u8$LR•IPV4•4『线路4』 +济宁公共,http://lives.jnnews.tv/video/s10001-JNTV3/index.m3u8?shandd$LR•IPV4•4『线路4』 济宁图文,http://lives.jnnews.tv/video/s10001-JNTV4/index.m3u8$LR•IPV4•2『线路1』 济宁图文,http://lives.jnnews.tv/video/s10001-JNTV4/index.m3u8?shandd$LR•IPV4•2『线路2』 济宁教育,http://lives.jnnews.tv/video/s10001-JNTV-2/index.m3u8$LR•IPV4•2『线路1』 济宁教育,http://lives.jnnews.tv/video/s10001-JNTV-2/index.m3u8?shandd$LR•IPV4•2『线路2』 -济宁综合,http://lives.jnnews.tv/video/s10001-JNTV-1/index.m3u8?shandd$LR•IPV4•3『线路1』 -济宁综合,http://111.14.181.15:9901/tsfile/live/1007_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•3『线路2』 -济宁综合,http://111.14.181.15:9901/tsfile/live/1007_1.m3u8$LR•IPV4•3『线路3』 -中华美食,http://61.133.118.228:5001/yy/1354930954$LR•IPV4•4『线路1』 +济宁综合,http://111.14.181.15:9901/tsfile/live/1007_1.m3u8$LR•IPV4•3『线路1』 +济宁综合,http://lives.jnnews.tv/video/s10001-JNTV-1/index.m3u8?shandd$LR•IPV4•3『线路2』 +济宁综合,http://111.14.181.15:9901/tsfile/live/1007_1.m3u8?key=tvbox6_com&playlive=1&authid=0$LR•IPV4•3『线路3』 +中华美食,http://nas.hssvm.com:8888/udp/225.1.1.218:5002$LR•IPV4•4『线路1』 中华美食,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2264&tk=23a9aca1f79f$LR•IPV4•4『线路2』 中华美食,http://qjrhc.jydjd.top:2911/udp/224.1.100.138:11111$LR•IPV4•4『线路3』 -中华美食,http://nas.hssvm.com:8888/udp/225.1.1.218:5002$LR•IPV4•4『线路4』 +中华美食,http://61.133.118.228:5001/yy/1354930954$LR•IPV4•4『线路4』 枣庄公共,http://stream.zztvzd.com/3/sd/live.m3u8$LR•IPV4•3『线路1』 -枣庄公共,http://stream.zztvzd.com/3/sd/live.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•3『线路2』 -枣庄公共,http://stream.zztvzd.com/3/sd/live.m3u8?shandd$LR•IPV4•3『线路3』 -枣庄教育,http://stream.zztvzd.com/2/sd/live.m3u8?shandd$LR•IPV4•3『线路1』 +枣庄公共,http://stream.zztvzd.com/3/sd/live.m3u8?shandd$LR•IPV4•3『线路2』 +枣庄公共,http://stream.zztvzd.com/3/sd/live.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•3『线路3』 +枣庄教育,http://stream.zztvzd.com/2/sd/live.m3u8$LR•IPV4•3『线路1』 枣庄教育,http://stream.zztvzd.com/2/sd/live.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•3『线路2』 -枣庄教育,http://stream.zztvzd.com/2/sd/live.m3u8$LR•IPV4•3『线路3』 +枣庄教育,http://stream.zztvzd.com/2/sd/live.m3u8?shandd$LR•IPV4•3『线路3』 烟台公共,http://live.yantaitv.cn/live/e50f104a4ffe4a41b2217cbda534146f/d86092e69df94668b33390278b061700-1.m3u8$LR•IPV4 烟台经济科技,http://live.yantaitv.cn/live/27f84144e95a4652ae9e5c211b2a6b55/405f3e33ba384aa0a16014d0becd1261-1.m3u8$LR•IPV4 菏泽影,http://live.hznet.tv:1935/live/live3/500K/tzwj_video.m3u8?shandd$LR•IPV4 @@ -631,14 +632,14 @@ Now华剧,p3p://167.114.175.6:55331/6519bc200001e7b37dbb01f124075086$LR•IPV4 JJ斗地主,https://live.ottiptv.cc/huya/30814433$LR•IPV4 🪁动画频道,#genre# -CN卡通,http://23.237.104.106:8080/USA_CARTOON_NETWORK/tracks-v1a1/mono.m3u8$LR•IPV4•4『线路1』 -CN卡通,http://50.7.234.10:8278/momo1_twn/playlist.m3u8?ct=19225&tid=MA0A4898983648989836&tsum=bd109117d126916f203880b1f2063d5e$LR•IPV4•4『线路2』 -CN卡通,http://125.227.210.55:8167/VideoInput/play.ts$LR•IPV4•4『线路3』 -CN卡通,p3p://167.114.175.6:55331/648353bb0006d4d93236315a766b692a$LR•IPV4•4『线路4』 +CN卡通,http://50.7.234.10:8278/momo1_twn/playlist.m3u8?ct=19225&tid=MA0A4898983648989836&tsum=bd109117d126916f203880b1f2063d5e$LR•IPV4•4『线路1』 +CN卡通,http://125.227.210.55:8167/VideoInput/play.ts$LR•IPV4•4『线路2』 +CN卡通,p3p://167.114.175.6:55331/648353bb0006d4d93236315a766b692a$LR•IPV4•4『线路3』 +CN卡通,http://23.237.104.106:8080/USA_CARTOON_NETWORK/tracks-v1a1/mono.m3u8$LR•IPV4•4『线路4』 火影忍者,https://live.ottiptv.cc/huya/25567648$LR•IPV4•2『线路1』 火影忍者,https://live.ottiptv.cc/huya/29465866$LR•IPV4•2『线路2』 -海绵宝宝,https://live.metshop.top/douyu/3949681$LR•IPV4•2『线路1』 -海绵宝宝,https://live.ottiptv.cc/huya/11352919$LR•IPV4•2『线路2』 +海绵宝宝,https://live.ottiptv.cc/huya/11352919$LR•IPV4•2『线路1』 +海绵宝宝,https://live.metshop.top/douyu/3949681$LR•IPV4•2『线路2』 🎵音乐频道,#genre# 音乐现场,https://satellitepull.cnr.cn/live/wx32nmgyygb/playlist.m3u8$LR•IPV4 @@ -728,49 +729,49 @@ GS Shop,https://gstv-gsshop.gsshop.com/gsshop_hd/gsshop_hd.stream/playlist.m3u8$ KCTV 광주,http://119.77.96.184:1935/chn05/chn05/playlist.m3u8$LR•IPV4 Korea TV,https://hlive.ktv.go.kr/live/klive_h.stream/playlist.m3u8$LR•IPV4 KShopping,https://fhs8036.bd-61.ktcdn.co.kr/klive/smil:klive.smil/playlist.m3u8$LR•IPV4 -MBC,https://stream.chmbc.co.kr/TV/myStream/playlist.m3u8$LR•IPV4•37『线路1』 -MBC,https://5c3639aa99149.streamlock.net/live_TV/tv/playlist.m3u8$LR•IPV4•37『线路2』 -MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-5/ee6b000cee0629411b666ab26cb13e9b/index.m3u8$LR•IPV4•37『线路3』 -MBC,http://211.33.246.4:32954/cj_live/myStream.sdp/chunklist_w517347500.m3u8$LR•IPV4•37『线路4』 -MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-bollywood/546eb40d7dcf9a209255dd2496903764/index.m3u8$LR•IPV4•37『线路5』 -MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-1/15cf99af5de54063fdabfefe66adc075/index.m3u8$LR•IPV4•37『线路6』 -MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-1-na/eec141533c90dd34722c503a296dd0d8/index.m3u8$LR•IPV4•37『线路7』 -MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-1-usa/fdac3a4fc0473f1f56e07ec1d63a4b7b/index.m3u8$LR•IPV4•37『线路8』 -MBC,http://andong.webcasting.co.kr/live/mbc/playlist.m3u8$LR•IPV4•37『线路9』 -MBC,https://stream.bsmbc.com/livetv/BusanMBC_TV_onairstream/playlist.m3u8$LR•IPV4•37『线路10』 -MBC,http://211.33.246.4:32954/cj_live/myStream.sdp/playlist.m3u8$LR•IPV4•37『线路11』 -MBC,https://5ee1ec6f32118.streamlock.net/live/livetv/playlist.m3u8$LR•IPV4•37『线路12』 -MBC,https://ns1.tjmbc.co.kr/live/myStream.sdp/playlist.m3u8$LR•IPV4•37『线路13』 -MBC,http://123.254.93.7:1935/tvlive/livestream2/playlist.m3u8$LR•IPV4•37『线路14』 -MBC,https://media.kjmbc.co.kr/hls/live/stream/playlist.m3u8$LR•IPV4•37『线路15』 -MBC,https://624a79c87201d.streamlock.net/MBCTV/TV1.stream/playlist.m3u8$LR•IPV4•37『线路16』 -MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-iraq/e38c44b1b43474e1c39cb5b90203691e/index.m3u8$LR•IPV4•37『线路17』 -MBC,https://wowza.jejumbc.com/live/tv_jejumbc/playlist.m3u8$LR•IPV4•37『线路18』 -MBC,https://5ee9633b25727.streamlock.net/jmbc_tv/_definst_/jmbc_tv.stream/playlist.m3u8$LR•IPV4•37『线路19』 -MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-masr/956eac069c78a35d47245db6cdbb1575/index.m3u8$LR•IPV4•37『线路20』 -MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-masr-2/754931856515075b0aabf0e583495c68/index.m3u8$LR•IPV4•37『线路21』 -MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-masr-usa/cd8d40acdab28aac0582faa3bd3983f1/index.m3u8$LR•IPV4•37『线路22』 -MBC,http://vod.mpmbc.co.kr:1935/live/encoder-tv/playlist.m3u8$LR•IPV4•37『线路23』 -MBC,https://mumt03.tangotv.in/MBCTV/index.m3u8$LR•IPV4•37『线路24』 -MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-4/24f134f1cd63db9346439e96b86ca6ed/index.m3u8$LR•IPV4•37『线路25』 -MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-drama/2c28a458e2f3253e678b07ac7d13fe71/index.m3u8$LR•IPV4•37『线路26』 -MBC,http://mytv.dothome.co.kr/ch/catv/26.php$LR•IPV4•37『线路27』 -MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-persia/818ee8e4b592dc497608f066d825bfb4/index.m3u8$LR•IPV4•37『线路28』 -MBC,https://cdn8.fntvchannel.com/v1/master/02eeb1726c343dc9c30c32e93dee82013e157021/FNTV-CHANNEL_CDN77/index.m3u8$LR•IPV4•37『线路29』 -MBC,http://mytv.dothome.co.kr/ch/catv/28.php$LR•IPV4•37『线路30』 -MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-3-usa/5d58265a862a476dc7f97694addb5ded/index.m3u8$LR•IPV4•37『线路31』 -MBC,https://dbbv9umqcd7cs.cloudfront.net/out/v1/db15b75c3cc0400c91961468d6a232ac/index.m3u8$LR•IPV4•37『线路32』 -MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-mood/78367bf48ccdba501d0d014a10c21031/index.m3u8$LR•IPV4•37『线路33』 -MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-wanasah/13e82ea6232fa647c43b26e8a41f173d/index.m3u8$LR•IPV4•37『线路34』 -MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-drama-usa/ea2f5db904aff224b7066e59c7f585a2/index.m3u8$LR•IPV4•37『线路35』 -MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-masr-drama/567b703c19ede6598222de81b0e4508b/index.m3u8$LR•IPV4•37『线路36』 -MBC,https://cdn-us-east-prod-ingest-infra-dacast-com.akamaized.net/624ff8f9-db18-da92-4d42-896fa2ff3eb3/source/index.m3u8$LR•IPV4•37『线路37』 +MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-bollywood/546eb40d7dcf9a209255dd2496903764/index.m3u8$LR•IPV4•37『线路1』 +MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-1/15cf99af5de54063fdabfefe66adc075/index.m3u8$LR•IPV4•37『线路2』 +MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-1-na/eec141533c90dd34722c503a296dd0d8/index.m3u8$LR•IPV4•37『线路3』 +MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-1-usa/fdac3a4fc0473f1f56e07ec1d63a4b7b/index.m3u8$LR•IPV4•37『线路4』 +MBC,http://andong.webcasting.co.kr/live/mbc/playlist.m3u8$LR•IPV4•37『线路5』 +MBC,https://stream.bsmbc.com/livetv/BusanMBC_TV_onairstream/playlist.m3u8$LR•IPV4•37『线路6』 +MBC,https://stream.chmbc.co.kr/TV/myStream/playlist.m3u8$LR•IPV4•37『线路7』 +MBC,http://211.33.246.4:32954/cj_live/myStream.sdp/playlist.m3u8$LR•IPV4•37『线路8』 +MBC,https://5ee1ec6f32118.streamlock.net/live/livetv/playlist.m3u8$LR•IPV4•37『线路9』 +MBC,https://ns1.tjmbc.co.kr/live/myStream.sdp/playlist.m3u8$LR•IPV4•37『线路10』 +MBC,http://123.254.93.7:1935/tvlive/livestream2/playlist.m3u8$LR•IPV4•37『线路11』 +MBC,https://media.kjmbc.co.kr/hls/live/stream/playlist.m3u8$LR•IPV4•37『线路12』 +MBC,https://624a79c87201d.streamlock.net/MBCTV/TV1.stream/playlist.m3u8$LR•IPV4•37『线路13』 +MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-iraq/e38c44b1b43474e1c39cb5b90203691e/index.m3u8$LR•IPV4•37『线路14』 +MBC,https://wowza.jejumbc.com/live/tv_jejumbc/playlist.m3u8$LR•IPV4•37『线路15』 +MBC,https://5ee9633b25727.streamlock.net/jmbc_tv/_definst_/jmbc_tv.stream/playlist.m3u8$LR•IPV4•37『线路16』 +MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-masr/956eac069c78a35d47245db6cdbb1575/index.m3u8$LR•IPV4•37『线路17』 +MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-masr-2/754931856515075b0aabf0e583495c68/index.m3u8$LR•IPV4•37『线路18』 +MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-masr-usa/cd8d40acdab28aac0582faa3bd3983f1/index.m3u8$LR•IPV4•37『线路19』 +MBC,http://vod.mpmbc.co.kr:1935/live/encoder-tv/playlist.m3u8$LR•IPV4•37『线路20』 +MBC,https://mumt03.tangotv.in/MBCTV/index.m3u8$LR•IPV4•37『线路21』 +MBC,https://5c3639aa99149.streamlock.net/live_TV/tv/playlist.m3u8$LR•IPV4•37『线路22』 +MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-4/24f134f1cd63db9346439e96b86ca6ed/index.m3u8$LR•IPV4•37『线路23』 +MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-drama/2c28a458e2f3253e678b07ac7d13fe71/index.m3u8$LR•IPV4•37『线路24』 +MBC,http://mytv.dothome.co.kr/ch/catv/26.php$LR•IPV4•37『线路25』 +MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-persia/818ee8e4b592dc497608f066d825bfb4/index.m3u8$LR•IPV4•37『线路26』 +MBC,https://cdn8.fntvchannel.com/v1/master/02eeb1726c343dc9c30c32e93dee82013e157021/FNTV-CHANNEL_CDN77/index.m3u8$LR•IPV4•37『线路27』 +MBC,http://mytv.dothome.co.kr/ch/catv/28.php$LR•IPV4•37『线路28』 +MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-3-usa/5d58265a862a476dc7f97694addb5ded/index.m3u8$LR•IPV4•37『线路29』 +MBC,https://dbbv9umqcd7cs.cloudfront.net/out/v1/db15b75c3cc0400c91961468d6a232ac/index.m3u8$LR•IPV4•37『线路30』 +MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-mood/78367bf48ccdba501d0d014a10c21031/index.m3u8$LR•IPV4•37『线路31』 +MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-wanasah/13e82ea6232fa647c43b26e8a41f173d/index.m3u8$LR•IPV4•37『线路32』 +MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-drama-usa/ea2f5db904aff224b7066e59c7f585a2/index.m3u8$LR•IPV4•37『线路33』 +MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-masr-drama/567b703c19ede6598222de81b0e4508b/index.m3u8$LR•IPV4•37『线路34』 +MBC,https://shd-gcp-live.edgenextcdn.net/live/bitmovin-mbc-5/ee6b000cee0629411b666ab26cb13e9b/index.m3u8$LR•IPV4•37『线路35』 +MBC,https://cdn-us-east-prod-ingest-infra-dacast-com.akamaized.net/624ff8f9-db18-da92-4d42-896fa2ff3eb3/source/index.m3u8$LR•IPV4•37『线路36』 +MBC,http://211.33.246.4:32954/cj_live/myStream.sdp/chunklist_w517347500.m3u8$LR•IPV4•37『线路37』 NBS,https://media.joycorp.co.kr:4443/live/ngrp:live_all/playlist.m3u8$LR•IPV4 SBS,https://ads.its-newid.net/api/manifest.m3u8?tp=lg_channels&channel_name=sbsk-drama&channel_id=newid_008&mpf=c064f5f4-39af1962-7c36be2c&apikey=48230e6b-1cea0097-15975f93-39af1962&auth=474ab4cb-5d47aa0a-84d0cbca-2a3730a6&ads.live=[CONTENT_LIVE]&ads.deviceid=[DEVICE_ID]&ads.ifa=[IFA]&ads.ifatype=[IFA_TYPE]&ads.lat=[LMT]&ads.donotsell=[DNS]&ads.ua=[UA]&ads.ip=[IP]&ads.gdpr=[GDPR]&ads.gdpr_consent=[GDPR_CONSENT]&ads.country=[COUNTRY]&ads.us_privacy=[US_PRIVACY]&ads.appstoreurl=[APP_STOREURL]&ads.bundleid=[APP_BUNDLE]&ads.appname=[APP_NAME]&ads.appversion=[APP_VERSION]&ads.devicetype=[DEVICE_TYPE]&ads.devicemake=[DEVICE_MAKE]&ads.devicemodel=[DEVICE_MODEL]&ads.targetad=[TARGETAD_ALLOWED]&ads.fck=[FCK]&ads.viewsize=[VIEWSIZE]&ads.givn=[NONCE]$LR•IPV4•9『线路1』 -SBS,http://61.85.197.53:1935/jtv_live/myStream/playlist.m3u8$LR•IPV4•9『线路2』 -SBS,http://1.222.207.80:1935/live/cjbtv/playlist.m3u8$LR•IPV4•9『线路3』 -SBS,http://61.82.49.4:1935/live/_definst_/tv.stream/playlist.m3u8$LR•IPV4•9『线路4』 -SBS,http://123.140.197.22/stream/1/play.m3u8$LR•IPV4•9『线路5』 +SBS,http://1.222.207.80:1935/live/cjbtv/playlist.m3u8$LR•IPV4•9『线路2』 +SBS,http://61.82.49.4:1935/live/_definst_/tv.stream/playlist.m3u8$LR•IPV4•9『线路3』 +SBS,http://123.140.197.22/stream/1/play.m3u8$LR•IPV4•9『线路4』 +SBS,http://61.85.197.53:1935/jtv_live/myStream/playlist.m3u8$LR•IPV4•9『线路5』 SBS,https://vod.ikbc.co.kr/KBCTV/tv/playlist.m3u8$LR•IPV4•9『线路6』 SBS,https://stream1.knn.co.kr/hls/9ly4534y7dm2xfa123r2_tv/index.m3u8$LR•IPV4•9『线路7』 SBS,http://203.251.91.122:1935/on-air-Backup/tv/playlist.m3u8$LR•IPV4•9『线路8』 @@ -794,8 +795,8 @@ Better Life TV,https://tgn.bozztv.com/betterlife/betterlife/betterlife/index.m3u Canal 13 La Rioja,http://arcast.net:1935/mp/mp/playlist.m3u8$LR•IPV4 Canal 4 Jujuy,https://5cd577a3dd8ec.streamlock.net/CANAL4/smil:CANAL4.smil/playlist.m3u8$LR•IPV4 Cartoon Network,http://23.237.104.106:8080/USA_CARTOON_NETWORK/index.m3u8$LR•IPV4•3『线路1』 -Cartoon Network,http://108.181.20.255:27347/livehttpplay?channel_id=23045$LR•IPV4•3『线路2』 -Cartoon Network,http://free.cnlive.club/channel/n38060fe0/index.m3u8?q=1752629214236$LR•IPV4•3『线路3』 +Cartoon Network,http://free.cnlive.club/channel/n38060fe0/index.m3u8?q=1752629214236$LR•IPV4•3『线路2』 +Cartoon Network,http://108.181.20.255:27347/livehttpplay?channel_id=23045$LR•IPV4•3『线路3』 Christian Youth Channel,http://media3.smc-host.com:1935/cycnow.com/smil:cyc.smil/playlist.m3u8$LR•IPV4 Cloudflare TV,https://cloudflare.tv/hls/live.m3u8$LR•IPV4 Clubbing TV,https://d1j2csarxnwazk.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-uze1m6xh4fiyr-ssai-prd/master.m3u8$LR•IPV4•2『线路1』 @@ -833,9 +834,9 @@ Midpen Media Center Government etc Channel 29,https://5c2974786200d.streamlock.n NRBTV,https://stream-us-east-1.getpublica.com/playlist.m3u8?network_id=15811$LR•IPV4 Realitatea Plus,https://stream.realitatea.net/realitatea/plus_md/ts:playlist.m3u8$LR•IPV4 Reuters,https://dbrb49pjoymg4.cloudfront.net/manifest/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod_default_xumo-ams-aws/e7493ea5-5c1c-4d7a-a3f7-e95516048ad8/3.m3u8$LR•IPV4•4『线路1』 -Reuters,https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg00453-reuters-reuters-hls-rakutenjp/playlist.m3u8$LR•IPV4•4『线路2』 -Reuters,https://amg00453-reuters-amg00453c1-rakuten-uk-2110.playouts.now.amagi.tv/playlist/amg00453-reuters-reuters-rakutenuk/playlist.m3u8$LR•IPV4•4『线路3』 -Reuters,https://amg00453-amg00453c1-distrotv-us-7691.playouts.now.amagi.tv/playlist/amg00453-reuters-reuters-distrotvus/playlist.m3u8$LR•IPV4•4『线路4』 +Reuters,https://amg00453-reuters-amg00453c1-rakuten-uk-2110.playouts.now.amagi.tv/playlist/amg00453-reuters-reuters-rakutenuk/playlist.m3u8$LR•IPV4•4『线路2』 +Reuters,https://amg00453-amg00453c1-distrotv-us-7691.playouts.now.amagi.tv/playlist/amg00453-reuters-reuters-distrotvus/playlist.m3u8$LR•IPV4•4『线路3』 +Reuters,https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg00453-reuters-reuters-hls-rakutenjp/playlist.m3u8$LR•IPV4•4『线路4』 RTV Rijnstreek TV,https://ms7.mx-cd.net/tv/290-3222276/RTV_Rijnstreek.smil/playlist.m3u8$LR•IPV4 Ryan and Friends,https://ryanandfriends-samsungau.amagi.tv/playlist.m3u8$LR•IPV4 SEA TV,https://iptv.prosto.tv/ch238/index.m3u8$LR•IPV4 @@ -853,73 +854,73 @@ TV Guará,https://video02.logicahost.com.br/tvguara23/tvguara23/playlist.m3u8$LR TVK,https://live.kh.malimarcdn.com/live/tvk.stream/playlist.m3u8$LR•IPV4•3『线路1』 TVK,https://live.kh.malimarcdn.com/live/tvk2.stream/playlist.m3u8$LR•IPV4•3『线路2』 TVK,https://stream.tvkstella.pl/stella/stella.m3u8$LR•IPV4•3『线路3』 -UK,http://nocable.cc:8080//OURTV/OURTV@4806/35241$LR•IPV4•53『线路1』 -UK,http://nocable.cc:8080//OURTV/OURTV@4806/35244$LR•IPV4•53『线路2』 -UK,http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001373$LR•IPV4•53『线路3』 -UK,http://nocable.cc:8080//OURTV/OURTV@4806/35240$LR•IPV4•53『线路4』 -UK,http://nocable.cc:8080//OURTV/OURTV@4806/137720$LR•IPV4•53『线路5』 -UK,http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001376$LR•IPV4•53『线路6』 -UK,http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001378$LR•IPV4•53『线路7』 -UK,http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001379$LR•IPV4•53『线路8』 -UK,http://nocable.cc:8080//OURTV/OURTV@4806/53705$LR•IPV4•53『线路9』 -UK,http://nocable.cc:8080//OURTV/OURTV@4806/35238$LR•IPV4•53『线路10』 -UK,http://nocable.cc:8080//OURTV/OURTV@4806/53663$LR•IPV4•53『线路11』 -UK,http://nocable.cc:8080//OURTV/OURTV@4806/45940$LR•IPV4•53『线路12』 -UK,http://vocotv.pro//revol/revol/276918$LR•IPV4•53『线路13』 -UK,http://vocotv.pro//revol/revol/276924$LR•IPV4•53『线路14』 -UK,http://vocotv.pro//revol/revol/276906$LR•IPV4•53『线路15』 -UK,https://moviesphereuk-samsunguk.amagi.tv/playlist.m3u8$LR•IPV4•53『线路16』 -UK,https://0145451975a64b35866170fd2e8fa486.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-5987/master.m3u8$LR•IPV4•53『线路17』 -UK,https://54045f0c40fd442c8b06df076aaf1e85.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6065/master.m3u8$LR•IPV4•53『线路18』 -UK,https://9be783d652cd4b099cf63e1dc134c4a3.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6181/master.m3u8$LR•IPV4•53『线路19』 -UK,https://fee09fd665814f51b939b6d106cf5f66.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6093/master.m3u8$LR•IPV4•53『线路20』 -UK,http://41.223.30.230/ZEECINEMA/index.m3u8$LR•IPV4•53『线路21』 -UK,https://app.ncare.live/c3VydmVyX8RpbEU9Mi8xNy8yMDE0GIDU6RgzQ6NTAgdEoaeFzbF92YWxIZTO0U0ezN1IzMyfvcGVMZEJCTEFWeVN3PTOmdFsaWRtaW51aiPhnPTI2/atnbanglauk-off.stream/playlist.m3u8$LR•IPV4•53『线路22』 -UK,https://qvcuk-live.akamaized.net/hls/live/2097112/qvc/master.m3u8$LR•IPV4•53『线路23』 -UK,https://qvcuk-live.akamaized.net/hls/live/2097112/qby/master.m3u8$LR•IPV4•53『线路24』 -UK,https://qvcuk-live.akamaized.net/hls/live/2097112/qex/master.m3u8$LR•IPV4•53『线路25』 -UK,https://qvcuk-live.akamaized.net/hls/live/2097112/qst/master.m3u8$LR•IPV4•53『线路26』 -UK,http://45.153.96.44:8001$LR•IPV4•53『线路27』 -UK,https://mini.allinonereborn.fun/tata.php?id=11783$LR•IPV4•53『线路28』 -UK,https://cdn3.wowza.com/5/L1Uzd2FrbVlLRG1W/live/smil:lwukweb.smil/playlist.m3u8$LR•IPV4•53『线路29』 -UK,https://d34z4embz0hjf6.cloudfront.net/out/v1/7ac2789ff9a544a49337d1ffc54ce61c/index.m3u8$LR•IPV4•53『线路30』 -UK,https://jmp2.uk/plu-638e10de75c3a30007092693.m3u8$LR•IPV4•53『线路31』 -UK,https://jmp2.uk/plu-62bed7cb3279cb0007735327.m3u8$LR•IPV4•53『线路32』 -UK,https://d1nn4ic5ci0eid.cloudfront.net/MasterchefUKPoweredbyBanijay_GB.m3u8$LR•IPV4•53『线路33』 -UK,https://dvqpty1sb3rry.cloudfront.net/PointlessUKPoweredbyBanijay_GB.m3u8$LR•IPV4•53『线路34』 -UK,https://68f6dfd1f2bd415b9c42f1d383004b69.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6233/master.m3u8$LR•IPV4•53『线路35』 -UK,https://2c88ed8c4df9479aa0c7138dc42115e2.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6194/master.m3u8$LR•IPV4•53『线路36』 -UK,https://sci-fi-rakuten-tv-uk.fast.rakuten.tv/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6241/master.m3u8$LR•IPV4•53『线路37』 -UK,https://thriller-rakuten-tv-uk.fast.rakuten.tv/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6482/master.m3u8$LR•IPV4•53『线路38』 -UK,https://live-tbn-ssai.simplestreamcdn.com/v1/master/774d979dd66704abea7c5b62cb34c6815fda0d35/tbn-live/manifest.m3u8$LR•IPV4•53『线路39』 -UK,https://amg01131-tracetv-amg01131c5-stirr-us-4389.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•53『线路40』 -UK,https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/trace-uk/encrypted.m3u8?ads.vf=cgXMgPi7oBS$LR•IPV4•53『线路41』 -UK,https://d2n3779oy6efpi.cloudfront.net/playlist.m3u8$LR•IPV4•53『线路42』 -UK,https://channels.trace.plus/Traceprod/UK_FAST_hd/index.m3u8$LR•IPV4•53『线路43』 -UK,https://hls.vantagetv.co.uk/vmusicuk_stream/index.m3u8$LR•IPV4•53『线路44』 -UK,https://amg01243-xitenetworksint-hitsuk-samsunguk-mvovq.amagi.tv/playlist/amg01243-xitenetworksint-hitsuk-samsunguk/playlist.m3u8$LR•IPV4•53『线路45』 -UK,https://bbc-antiquesroadshowuk-1-us.roku.wurl.tv/playlist.m3u8$LR•IPV4•53『线路46』 -UK,https://jmp2.uk/plu-692edc78d52ea9e4858cf78f.m3u8$LR•IPV4•53『线路47』 -UK,https://jmp2.uk/plu-692edcff77f0147d69f19498.m3u8$LR•IPV4•53『线路48』 -UK,https://jmp2.uk/plu-692edd6bdb8695f63e14f3b9.m3u8$LR•IPV4•53『线路49』 -UK,https://b6cca454.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/U2Ftc3VuZy1nYl9UcnVlQ3JpbWVVS2Zyb21DQlNSZWFsaXR5X0hMUw/playlist.m3u8$LR•IPV4•53『线路50』 -UK,https://ntd02.akamaized.net/NTD-UK/index.m3u8$LR•IPV4•53『线路51』 -UK,https://e3207568b726401995c25670faaf32e4.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6203/master.m3u8$LR•IPV4•53『线路52』 -UK,https://1a3566cb46914c5499fbc86fbc4ac87e.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-932-WORBUKENFAST-WHALETVPLUS/932/whaletvplus/hls/master/playlist.m3u8$LR•IPV4•53『线路53』 -US,p3p://167.114.175.6:55331/63efe07e000c1db2f23eb46a4e00518a$LR•IPV4•18『线路1』 -US,p3p://167.114.175.6:55331/63efe0de000858baf2402a646c573e1b$LR•IPV4•18『线路2』 -US,p3p://167.114.175.6:55331/63efe252000a7658f245d81113e44b34$LR•IPV4•18『线路3』 -US,p3p://167.114.175.6:55331/63efe2e2000d23b5f2480b4125294b9a$LR•IPV4•18『线路4』 -US,http://138.121.15.230:9002/DEPELICULA/index.m3u8$LR•IPV4•18『线路5』 -US,https://stream.smotrim.ru/hls2/planeta_rtr_usa/playlist_4.m3u8$LR•IPV4•18『线路6』 -US,https://amg17233-amg17233c1-wisptv-us-6409.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•18『线路7』 -US,https://jmp2.uk/plu-6304f20c941c5d00089634e7.m3u8$LR•IPV4•18『线路8』 -US,https://jmp2.uk/plu-63988b61c8d285000798a22a.m3u8$LR•IPV4•18『线路9』 -US,http://206.212.244.63/641/index.m3u8$LR•IPV4•18『线路10』 -US,https://janus.xpbroadcasting.com:8443/hls/xptvUS.m3u8$LR•IPV4•18『线路11』 -US,https://bloomberg.com/media-manifest/streams/us-event.m3u8$LR•IPV4•18『线路12』 -US,https://bloomberg.com/media-manifest/streams/politics.m3u8$LR•IPV4•18『线路13』 -US,https://0b73ace69ebb45eaa249bb87837cb958.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-644-WORBUSENFAST-LG_US/644/lgtv/hls/master/playlist.m3u8$LR•IPV4•18『线路14』 +UK,https://moviesphereuk-samsunguk.amagi.tv/playlist.m3u8$LR•IPV4•53『线路1』 +UK,https://0145451975a64b35866170fd2e8fa486.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-5987/master.m3u8$LR•IPV4•53『线路2』 +UK,https://54045f0c40fd442c8b06df076aaf1e85.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6065/master.m3u8$LR•IPV4•53『线路3』 +UK,https://9be783d652cd4b099cf63e1dc134c4a3.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6181/master.m3u8$LR•IPV4•53『线路4』 +UK,https://fee09fd665814f51b939b6d106cf5f66.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6093/master.m3u8$LR•IPV4•53『线路5』 +UK,http://41.223.30.230/ZEECINEMA/index.m3u8$LR•IPV4•53『线路6』 +UK,https://app.ncare.live/c3VydmVyX8RpbEU9Mi8xNy8yMDE0GIDU6RgzQ6NTAgdEoaeFzbF92YWxIZTO0U0ezN1IzMyfvcGVMZEJCTEFWeVN3PTOmdFsaWRtaW51aiPhnPTI2/atnbanglauk-off.stream/playlist.m3u8$LR•IPV4•53『线路7』 +UK,https://qvcuk-live.akamaized.net/hls/live/2097112/qvc/master.m3u8$LR•IPV4•53『线路8』 +UK,https://qvcuk-live.akamaized.net/hls/live/2097112/qby/master.m3u8$LR•IPV4•53『线路9』 +UK,https://qvcuk-live.akamaized.net/hls/live/2097112/qex/master.m3u8$LR•IPV4•53『线路10』 +UK,https://qvcuk-live.akamaized.net/hls/live/2097112/qst/master.m3u8$LR•IPV4•53『线路11』 +UK,http://45.153.96.44:8001$LR•IPV4•53『线路12』 +UK,https://mini.allinonereborn.fun/tata.php?id=11783$LR•IPV4•53『线路13』 +UK,https://cdn3.wowza.com/5/L1Uzd2FrbVlLRG1W/live/smil:lwukweb.smil/playlist.m3u8$LR•IPV4•53『线路14』 +UK,https://d34z4embz0hjf6.cloudfront.net/out/v1/7ac2789ff9a544a49337d1ffc54ce61c/index.m3u8$LR•IPV4•53『线路15』 +UK,https://jmp2.uk/plu-638e10de75c3a30007092693.m3u8$LR•IPV4•53『线路16』 +UK,https://jmp2.uk/plu-62bed7cb3279cb0007735327.m3u8$LR•IPV4•53『线路17』 +UK,https://d1nn4ic5ci0eid.cloudfront.net/MasterchefUKPoweredbyBanijay_GB.m3u8$LR•IPV4•53『线路18』 +UK,https://dvqpty1sb3rry.cloudfront.net/PointlessUKPoweredbyBanijay_GB.m3u8$LR•IPV4•53『线路19』 +UK,https://68f6dfd1f2bd415b9c42f1d383004b69.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6233/master.m3u8$LR•IPV4•53『线路20』 +UK,https://2c88ed8c4df9479aa0c7138dc42115e2.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6194/master.m3u8$LR•IPV4•53『线路21』 +UK,https://sci-fi-rakuten-tv-uk.fast.rakuten.tv/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6241/master.m3u8$LR•IPV4•53『线路22』 +UK,https://thriller-rakuten-tv-uk.fast.rakuten.tv/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6482/master.m3u8$LR•IPV4•53『线路23』 +UK,https://live-tbn-ssai.simplestreamcdn.com/v1/master/774d979dd66704abea7c5b62cb34c6815fda0d35/tbn-live/manifest.m3u8$LR•IPV4•53『线路24』 +UK,https://amg01131-tracetv-amg01131c5-stirr-us-4389.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•53『线路25』 +UK,https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/trace-uk/encrypted.m3u8?ads.vf=cgXMgPi7oBS$LR•IPV4•53『线路26』 +UK,https://d2n3779oy6efpi.cloudfront.net/playlist.m3u8$LR•IPV4•53『线路27』 +UK,https://channels.trace.plus/Traceprod/UK_FAST_hd/index.m3u8$LR•IPV4•53『线路28』 +UK,https://hls.vantagetv.co.uk/vmusicuk_stream/index.m3u8$LR•IPV4•53『线路29』 +UK,https://amg01243-xitenetworksint-hitsuk-samsunguk-mvovq.amagi.tv/playlist/amg01243-xitenetworksint-hitsuk-samsunguk/playlist.m3u8$LR•IPV4•53『线路30』 +UK,https://bbc-antiquesroadshowuk-1-us.roku.wurl.tv/playlist.m3u8$LR•IPV4•53『线路31』 +UK,https://jmp2.uk/plu-692edc78d52ea9e4858cf78f.m3u8$LR•IPV4•53『线路32』 +UK,https://jmp2.uk/plu-692edcff77f0147d69f19498.m3u8$LR•IPV4•53『线路33』 +UK,https://jmp2.uk/plu-692edd6bdb8695f63e14f3b9.m3u8$LR•IPV4•53『线路34』 +UK,https://b6cca454.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/U2Ftc3VuZy1nYl9UcnVlQ3JpbWVVS2Zyb21DQlNSZWFsaXR5X0hMUw/playlist.m3u8$LR•IPV4•53『线路35』 +UK,https://ntd02.akamaized.net/NTD-UK/index.m3u8$LR•IPV4•53『线路36』 +UK,https://e3207568b726401995c25670faaf32e4.mediatailor.eu-west-1.amazonaws.com/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6203/master.m3u8$LR•IPV4•53『线路37』 +UK,https://1a3566cb46914c5499fbc86fbc4ac87e.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-932-WORBUKENFAST-WHALETVPLUS/932/whaletvplus/hls/master/playlist.m3u8$LR•IPV4•53『线路38』 +UK,http://nocable.cc:8080//OURTV/OURTV@4806/35241$LR•IPV4•53『线路39』 +UK,http://nocable.cc:8080//OURTV/OURTV@4806/35244$LR•IPV4•53『线路40』 +UK,http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001373$LR•IPV4•53『线路41』 +UK,http://nocable.cc:8080//OURTV/OURTV@4806/35240$LR•IPV4•53『线路42』 +UK,http://nocable.cc:8080//OURTV/OURTV@4806/137720$LR•IPV4•53『线路43』 +UK,http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001376$LR•IPV4•53『线路44』 +UK,http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001378$LR•IPV4•53『线路45』 +UK,http://ua-iptv.com:8080//zerubassman@yahoo.com/2MR879Z9PL/1001379$LR•IPV4•53『线路46』 +UK,http://nocable.cc:8080//OURTV/OURTV@4806/53705$LR•IPV4•53『线路47』 +UK,http://nocable.cc:8080//OURTV/OURTV@4806/35238$LR•IPV4•53『线路48』 +UK,http://nocable.cc:8080//OURTV/OURTV@4806/53663$LR•IPV4•53『线路49』 +UK,http://nocable.cc:8080//OURTV/OURTV@4806/45940$LR•IPV4•53『线路50』 +UK,http://vocotv.pro//revol/revol/276918$LR•IPV4•53『线路51』 +UK,http://vocotv.pro//revol/revol/276924$LR•IPV4•53『线路52』 +UK,http://vocotv.pro//revol/revol/276906$LR•IPV4•53『线路53』 +US,http://138.121.15.230:9002/DEPELICULA/index.m3u8$LR•IPV4•18『线路1』 +US,https://stream.smotrim.ru/hls2/planeta_rtr_usa/playlist_4.m3u8$LR•IPV4•18『线路2』 +US,https://amg17233-amg17233c1-wisptv-us-6409.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•18『线路3』 +US,https://jmp2.uk/plu-6304f20c941c5d00089634e7.m3u8$LR•IPV4•18『线路4』 +US,https://jmp2.uk/plu-63988b61c8d285000798a22a.m3u8$LR•IPV4•18『线路5』 +US,http://206.212.244.63/641/index.m3u8$LR•IPV4•18『线路6』 +US,https://janus.xpbroadcasting.com:8443/hls/xptvUS.m3u8$LR•IPV4•18『线路7』 +US,https://bloomberg.com/media-manifest/streams/us-event.m3u8$LR•IPV4•18『线路8』 +US,https://bloomberg.com/media-manifest/streams/politics.m3u8$LR•IPV4•18『线路9』 +US,https://0b73ace69ebb45eaa249bb87837cb958.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-644-WORBUSENFAST-LG_US/644/lgtv/hls/master/playlist.m3u8$LR•IPV4•18『线路10』 +US,p3p://167.114.175.6:55331/63efe07e000c1db2f23eb46a4e00518a$LR•IPV4•18『线路11』 +US,p3p://167.114.175.6:55331/63efe0de000858baf2402a646c573e1b$LR•IPV4•18『线路12』 +US,p3p://167.114.175.6:55331/63efe252000a7658f245d81113e44b34$LR•IPV4•18『线路13』 +US,p3p://167.114.175.6:55331/63efe2e2000d23b5f2480b4125294b9a$LR•IPV4•18『线路14』 US,https://amg01942-amg01942c5-stirr-us-10184.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•18『线路15』 US,https://content.uplynk.com/channel/64ca339f04964a5e961c3207a7771bf1.m3u8$LR•IPV4•18『线路16』 US,https://jmp2.uk/plu-62cebd7302478b00073a6b71.m3u8$LR•IPV4•18『线路17』 @@ -946,7 +947,7 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index. 更新时间,#genre# 关于本源(iptv365.org),https://gitlab.com/p2v5/wangtv/-/raw/main/about1080p.mp4$LR•IPV4 -(百)每日一首,https://cloud.video.taobao.com//play/u/57349687/p/1/e/6/t/1/240059400880.mp4$LR•IPV4 +(百)每日一首,https://www.iesdouyin.com/aweme/v1/playwm/?video_id=v0200fg10000ca3eb8rc77ub0tj3kl2g&ratio=720p&line=0$LR•IPV4 (宝)MovieMusic欣赏,https://lotus.stingray.com/manifest/cmusic-cme004-montreal/samsungtvplus/dee3e3af-2706-3e77-a952-91b99f6d1819/5711200/manifest.m3u8$LR•IPV4 (箱)AMC音乐,https://AMChls.wns.live/hls/stream.m3u8$LR•IPV4 (箱)音乐欣赏,http://61.221.215.25:8800/hls/49/index.m3u8$LR•IPV4 @@ -962,10 +963,10 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index. 周杰伦精选120首(8小时),https://txmov2.a.kwimgs.com/upic/2023/06/18/23/BMjAyMzA2MTgyMzE1MjBfMzQ4MzI0MjA1OF8xMDU4Nzc4MzAzNjZfMF8z_b_B386baa1bb2c0c48626a830ff69393771.mp4$LR•IPV4 林俊杰精选81首(5小时),https://txmov2.a.kwimgs.com/upic/2024/01/09/12/BMjAyNDAxMDkxMjA2MDdfMzQ4MzI0MjA1OF8xMjE2Nzg4Mjk4NTZfMF8z_b_Bc9f7d3b0c4b69136e61d8328a8538bd2.mp4?clientCacheKey=3xajh8b4u5j6uva_b.mp4$LR•IPV4 潘玮柏精选28首(1小时),https://txmov2.a.kwimgs.com/upic/2021/02/18/21/BMjAyMTAyMTgyMTI0MzNfODI4NTk1NTQ0XzQ0NTk2NzM2MDU3XzJfMw==_b_B92f3c6849966ee988590af29cfd9237b.mp4?tag=1-1750435163-std-1-6qxcke5wod-82a7afd374de76aa&clientCacheKey=3xabaxhvbd3me8s_b.mp4$LR•IPV4 -SHE精选40首(2小时),https://txmov2.a.kwimgs.com/upic/2023/07/30/19/BMjAyMzA3MzAxOTEyNDhfODI4NTk1NTQ0XzEwOTI2ODgxNTQyOF8yXzM=_b_B1770e5ac950c20cda3df1678ded64cbc.mp4?tag=1-1754625871-std-1-9msmgkqnic-492b9eaf83438074&clientCacheKey=3xdck2arwksxhfw_b.mp4&tt=b&di=88ccff4&bp=12681&ali_redirect_ex_hot=66666800&ali_redirect_ex_beacon=1$LR•IPV4•2『线路1』 -SHE精选40首(2小时),https://txmov2.a.kwimgs.com/upic/2023/07/30/19/BMjAyMzA3MzAxOTEyNDhfODI4NTk1NTQ0XzEwOTI2ODgxNTQyOF8yXzM=_b_B1770e5ac950c20cda3df1678ded64cbc.mp4$LR•IPV4•2『线路2』 -徐良精选30首(1小时),https://txmov2.a.kwimgs.com/upic/2024/05/08/20/BMjAyNDA1MDgyMDAyMjFfMTg1NzcxNTYxOF8xMzE5MDIyNTY0NzNfMl8z_b_B62cb1e50d6a0dea4efc3e6da93662aa4.mp4?tag=1-1754626109-std-1-9zwa2xbfok-40061606b10eb007&clientCacheKey=3xfdxxsd94byium_b.mp4&tt=b&di=739f67b1&bp=12681&ali_redirect_ex_hot=66666800&ali_redirect_ex_beacon=1$LR•IPV4•2『线路1』 -徐良精选30首(1小时),https://alimov2.a.kwimgs.com/upic/2024/05/08/20/BMjAyNDA1MDgyMDAyMjFfMTg1NzcxNTYxOF8xMzE5MDIyNTY0NzNfMl8z_b_B62cb1e50d6a0dea4efc3e6da93662aa4.mp4$LR•IPV4•2『线路2』 +SHE精选40首(2小时),https://txmov2.a.kwimgs.com/upic/2023/07/30/19/BMjAyMzA3MzAxOTEyNDhfODI4NTk1NTQ0XzEwOTI2ODgxNTQyOF8yXzM=_b_B1770e5ac950c20cda3df1678ded64cbc.mp4$LR•IPV4•2『线路1』 +SHE精选40首(2小时),https://txmov2.a.kwimgs.com/upic/2023/07/30/19/BMjAyMzA3MzAxOTEyNDhfODI4NTk1NTQ0XzEwOTI2ODgxNTQyOF8yXzM=_b_B1770e5ac950c20cda3df1678ded64cbc.mp4?tag=1-1754625871-std-1-9msmgkqnic-492b9eaf83438074&clientCacheKey=3xdck2arwksxhfw_b.mp4&tt=b&di=88ccff4&bp=12681&ali_redirect_ex_hot=66666800&ali_redirect_ex_beacon=1$LR•IPV4•2『线路2』 +徐良精选30首(1小时),https://alimov2.a.kwimgs.com/upic/2024/05/08/20/BMjAyNDA1MDgyMDAyMjFfMTg1NzcxNTYxOF8xMzE5MDIyNTY0NzNfMl8z_b_B62cb1e50d6a0dea4efc3e6da93662aa4.mp4$LR•IPV4•2『线路1』 +徐良精选30首(1小时),https://txmov2.a.kwimgs.com/upic/2024/05/08/20/BMjAyNDA1MDgyMDAyMjFfMTg1NzcxNTYxOF8xMzE5MDIyNTY0NzNfMl8z_b_B62cb1e50d6a0dea4efc3e6da93662aa4.mp4?tag=1-1754626109-std-1-9zwa2xbfok-40061606b10eb007&clientCacheKey=3xfdxxsd94byium_b.mp4&tt=b&di=739f67b1&bp=12681&ali_redirect_ex_hot=66666800&ali_redirect_ex_beacon=1$LR•IPV4•2『线路2』 许嵩精选30首(2小时),https://alimov2.a.kwimgs.com/upic/2020/09/14/21/BMjAyMDA5MTQyMTMzMDdfODI4NTk1NTQ0XzM2MDUzMTE1NjM5XzJfMw==_b_B789c6ea6a87d1b67019f19f16c9f71f7.mp4$LR•IPV4 汪苏泷精选20首(1小时),https://txmov2.a.kwimgs.com/upic/2020/09/30/22/BMjAyMDA5MzAyMjA3NDNfODI4NTk1NTQ0XzM2ODY2MzQxNzg4XzJfMw==_b_Bb726df27e24fda5e4d31b724d84ab8d4.mp4$LR•IPV4 陶喆精选30首(2小时),https://txmov2.a.kwimgs.com/upic/2023/08/06/13/BMjAyMzA4MDYxMzEzMzhfODM0NDUzMTQ2XzEwOTgxMDA2NzAyNF8wXzM=_b_B5e5a6bf1ef67081a9a226a2f6145ea2d.mp4$LR•IPV4 @@ -988,8 +989,8 @@ SHE精选40首(2小时),https://txmov2.a.kwimgs.com/upic/2023/07/30/19/BMjAyMzA3 孙燕姿精选30首(2小时),https://txmov2.a.kwimgs.com/upic/2020/07/15/19/BMjAyMDA3MTUxOTA1MzhfNTAyNzg4MTc0XzMyNDIzMzUwMjAyXzJfMw==_b_Bd09b171541ea966fd7a324624cfe6c16.mp4$LR•IPV4 周深精选72首(5小时),https://txmov2.a.kwimgs.com/upic/2023/08/07/21/BMjAyMzA4MDcyMTAzMzZfMzYxMjUyNDA3MV8xMDk5Mjc3MDcwMTFfMF8z_b_B707fdf2100370008b57219d4a1dab568.mp4$LR•IPV4 飞轮海精选30首(2小时),https://www.iesdouyin.com/aweme/v1/playwm/?video_id=v0200fg10000cra24sfog65t497nn1o0&ratio=720p&line=0$LR•IPV4 -颜人中精选36首(1小时),https://www.iesdouyin.com/aweme/v1/playwm/?video_id=v0200fg10000d07m1fnog65i93c1s7qg&ratio=720p&line=0张惠妹精选10首(1小时)$LR•IPV4•2『线路1』 -颜人中精选36首(1小时),https://www.iesdouyin.com/aweme/v1/playwm/?video_id=v0200fg10000d07m1fnog65i93c1s7qg&ratio=720p&line=0$LR•IPV4•2『线路2』 +颜人中精选36首(1小时),https://www.iesdouyin.com/aweme/v1/playwm/?video_id=v0200fg10000d07m1fnog65i93c1s7qg&ratio=720p&line=0$LR•IPV4•2『线路1』 +颜人中精选36首(1小时),https://www.iesdouyin.com/aweme/v1/playwm/?video_id=v0200fg10000d07m1fnog65i93c1s7qg&ratio=720p&line=0张惠妹精选10首(1小时)$LR•IPV4•2『线路2』 张惠妹精选10首(1小时),https://www.iesdouyin.com/aweme/v1/playwm/?video_id=v0200fg10000cpfe9nfog65hhstjqpn0&ratio=720p&line=0$LR•IPV4 刘若英精选50首(3小时),https://www.iesdouyin.com/aweme/v1/playwm/?video_id=v0300fg10000csi2q17og65ogriq3jv0&ratio=720p&line=0$LR•IPV4 Alin精选16首(1小时),https://www.iesdouyin.com/aweme/v1/playwm/?video_id=v0300fg10000cvt3q87og65l7fblbmog&ratio=720p&line=0$LR•IPV4 @@ -1036,12 +1037,12 @@ Indigenous TV (720p),https://streamipcfapp.akamaized.net/live/_definst_/live_720 Indigenous TV (720p),http://streamipcf.akamaized.net/live/_definst_/smil:liveabr.smil/playlist.m3u8$LR•IPV4•2『线路2』 体育频道,#genre# -睛彩羽毛球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7332&tk=e640d0a1bf70$LR•IPV4•6『线路1』 +睛彩羽毛球,http://drive.mxmy.net:8888/udp/239.3.1.127:8001$LR•IPV4•6『线路1』 睛彩羽毛球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0009&tk=b53028476470$LR•IPV4•6『线路2』 -睛彩羽毛球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4844&tk=97475bb89d45$LR•IPV4•6『线路3』 -睛彩羽毛球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1257&tk=f6cc1e0a0e1a$LR•IPV4•6『线路4』 -睛彩羽毛球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2409&tk=e503191f8e20$LR•IPV4•6『线路5』 -睛彩羽毛球,http://drive.mxmy.net:8888/udp/239.3.1.127:8001$LR•IPV4•6『线路6』 +睛彩羽毛球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=7332&tk=e640d0a1bf70$LR•IPV4•6『线路3』 +睛彩羽毛球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2409&tk=e503191f8e20$LR•IPV4•6『线路4』 +睛彩羽毛球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4844&tk=97475bb89d45$LR•IPV4•6『线路5』 +睛彩羽毛球,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1257&tk=f6cc1e0a0e1a$LR•IPV4•6『线路6』 J_SPORTS_1,https://stream01.willfonk.com/live_playlist.m3u8?cid=BS242&r=FHD&ccode=JP&m=d0:20:20:04:35:cc&t=0d6938cb3dcf4b79848bc1753a59daf1$LR•IPV4 J_SPORTS_2,https://stream01.willfonk.com/live_playlist.m3u8?cid=BS243&r=FHD&ccode=JP&m=d0:20:20:04:35:cc&t=0d6938cb3dcf4b79848bc1753a59daf1$LR•IPV4 J_SPORTS_3,https://stream01.willfonk.com/live_playlist.m3u8?cid=BS244&r=FHD&ccode=JP&m=d0:20:20:04:35:cc&t=0d6938cb3dcf4b79848bc1753a59daf1$LR•IPV4 @@ -1049,12 +1050,12 @@ J_SPORTS_4,https://stream01.willfonk.com/live_playlist.m3u8?cid=BS245&r=FHD&ccod DAZN1,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2562&tk=e640d0a1bf70$LR•IPV4 DAZN2,https://stream1.freetv.fun/dazn-sport-2-1.ctv$LR•IPV4•2『线路1』 DAZN2,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=5145&tk=e640d0a1bf70$LR•IPV4•2『线路2』 -skysports,https://stream1.freetv.fun/skysports-14.ctv$LR•IPV4•8『线路1』 -skysports,https://stream1.freetv.fun/skysports-16.ctv$LR•IPV4•8『线路2』 -skysports,https://stream1.freetv.fun/skysports-12.ctv$LR•IPV4•8『线路3』 -skysports,https://stream1.freetv.fun/skysports-3.ctv$LR•IPV4•8『线路4』 +skysports,https://stream1.freetv.fun/skysports-12.ctv$LR•IPV4•8『线路1』 +skysports,https://stream1.freetv.fun/skysports-3.ctv$LR•IPV4•8『线路2』 +skysports,https://stream1.freetv.fun/skysports-16.ctv$LR•IPV4•8『线路3』 +skysports,https://stream1.freetv.fun/skysports-15.ctv$LR•IPV4•8『线路4』 skysports,https://stream1.freetv.fun/skysports-7.ctv$LR•IPV4•8『线路5』 -skysports,https://stream1.freetv.fun/skysports-15.ctv$LR•IPV4•8『线路6』 +skysports,https://stream1.freetv.fun/skysports-14.ctv$LR•IPV4•8『线路6』 skysports,https://stream1.freetv.fun/skysports-17.ctv$LR•IPV4•8『线路7』 skysports,https://stream1.freetv.fun/skysports-2.ctv$LR•IPV4•8『线路8』 @@ -1077,19 +1078,19 @@ zonghe,#genre# 钱塘江,http://gslbmgsplive.miguvideo.com/wd_r3/cnr/qiantangjiang/2000/index.m3u8?msisdn=20250923080124d2a289d7e8424ddd9ea0d2d29a9e0744&mdspid=&spid=800033&netType=0&sid=5500613479&pid=2028597139×tamp=20250923080124&Channel_ID=0116_2600000900-99000-201600010010027&ProgramID=647370520&ParentNodeID=-99&assertID=5500613479&client_ip=106.13.250.83&SecurityKey=20250923080124&promotionId=&mvid=5102115888&mcid=500020&playurlVersion=WX-A1-8.9.1-RELEASE&userid=&jmhm=&videocodec=h264&bean=mgspad&tid=android&conFee=0&puData=a4be52553a643d1013946a49db1f0e09&ddCalcu=9a04eeb20e7f5012b5d5934aa664439d3110$LR•IPV4 HBO,http://23.237.104.106:8080/USA_HBO/index.m3u8$LR•IPV4•15『线路1』 HBO,http://23.237.104.106:8080/USA_HBO2/index.m3u8$LR•IPV4•15『线路2』 -HBO,http://23.237.104.106:8080/USA_HBO/tracks-v1a1/mono.m3u8$LR•IPV4•15『线路3』 -HBO,http://23.237.104.106:8080/USA_HBO2/tracks-v1a1/mono.m3u8$LR•IPV4•15『线路4』 -HBO,http://23.237.104.106:8080/USA_HBO_COMEDY/tracks-v1a1/mono.m3u8$LR•IPV4•15『线路5』 -HBO,http://23.237.104.106:8080/USA_HBO_ZONE/tracks-v1a1/mono.m3u8$LR•IPV4•15『线路6』 -HBO,http://108.181.20.255:27347/livehttpplay?channel_id=23049$LR•IPV4•15『线路7』 -HBO,p3p://167.114.175.6:55331/66d22f6b0001f87c739b69c977f063dd$LR•IPV4•15『线路8』 -HBO,p3p://167.114.175.6:55331/623a6e38000091d497395ce957b27132$LR•IPV4•15『线路9』 -HBO,p3p://167.114.175.6:55331/623a706d0003edf59741fcc023dc0089$LR•IPV4•15『线路10』 -HBO,p3p://167.114.175.6:55331/623a700000069676974053b555b700d4$LR•IPV4•15『线路11』 -HBO,p3p://167.114.175.6:55331/64e364fb000a0212a977a1cd342976da$LR•IPV4•15『线路12』 -HBO,p3p://167.114.175.6:55331/65d07877000b028d4787830a723c4ce7$LR•IPV4•15『线路13』 -HBO,http://125.227.210.55:8153/VideoInput/play.ts$LR•IPV4•15『线路14』 -HBO,https://live-manifest.production-public.tubi.io/live/9fe78734-1db2-49b4-af7b-3c89f5f256ad/playlist.m3u8$LR•IPV4•15『线路15』 +HBO,https://live-manifest.production-public.tubi.io/live/9fe78734-1db2-49b4-af7b-3c89f5f256ad/playlist.m3u8$LR•IPV4•15『线路3』 +HBO,p3p://167.114.175.6:55331/66d22f6b0001f87c739b69c977f063dd$LR•IPV4•15『线路4』 +HBO,p3p://167.114.175.6:55331/623a6e38000091d497395ce957b27132$LR•IPV4•15『线路5』 +HBO,p3p://167.114.175.6:55331/623a706d0003edf59741fcc023dc0089$LR•IPV4•15『线路6』 +HBO,p3p://167.114.175.6:55331/623a700000069676974053b555b700d4$LR•IPV4•15『线路7』 +HBO,p3p://167.114.175.6:55331/64e364fb000a0212a977a1cd342976da$LR•IPV4•15『线路8』 +HBO,p3p://167.114.175.6:55331/65d07877000b028d4787830a723c4ce7$LR•IPV4•15『线路9』 +HBO,http://125.227.210.55:8153/VideoInput/play.ts$LR•IPV4•15『线路10』 +HBO,http://23.237.104.106:8080/USA_HBO/tracks-v1a1/mono.m3u8$LR•IPV4•15『线路11』 +HBO,http://23.237.104.106:8080/USA_HBO2/tracks-v1a1/mono.m3u8$LR•IPV4•15『线路12』 +HBO,http://23.237.104.106:8080/USA_HBO_COMEDY/tracks-v1a1/mono.m3u8$LR•IPV4•15『线路13』 +HBO,http://23.237.104.106:8080/USA_HBO_ZONE/tracks-v1a1/mono.m3u8$LR•IPV4•15『线路14』 +HBO,http://108.181.20.255:27347/livehttpplay?channel_id=23049$LR•IPV4•15『线路15』 ▶️哪吒1魔童降世,https://vip.ffzy-play7.com/20221111/3098_4ec0b2e9/index.m3u8$LR•IPV4 🔀复仇者联盟1,https://bp-resource.bestv.com.cn/material/8e9fd77cb864f2dd5e70d093a4bba368/2021/0426/video/5fd85575e23f40379d319f455fde9351.m3u8$LR•IPV4 🔀复仇者联盟2,https://bp-resource.bestv.com.cn/material/8e9fd77cb864f2dd5e70d093a4bba368/2020/0722/video/bce6e4ce6a3a4c9989837b58486cc777.m3u8$LR•IPV4 @@ -1260,49 +1261,49 @@ TVB生活,p3p://167.114.175.6:55331/6649aff000061a1753bc59f97f596d07$LR•IPV4 生命电视,http://61.216.67.119:1935/lifetv/lifetv.stream/manifest.m3u8$LR•IPV4 HISTORY,https://cdn-ue1-prod.tsv2.amagi.tv/linear/ldsAAAAAA-timeline-samsungau/playlist.m3u8$LR•IPV4•45『线路1』 HISTORY,https://9e754fa707344ccca6d84955c8fcaf36.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/RlaxxTV-eu_AutenticHistory/playlist.m3u8$LR•IPV4•45『线路2』 -HISTORY,http://37.27.111.214:8080/live/27/hls.m3u8$LR•IPV4•45『线路3』 -HISTORY,http://free.cnlive.club/channel/n20a85c83/index.m3u8?q=1752629214236$LR•IPV4•45『线路4』 -HISTORY,p3p://167.114.175.6:55331/6233e1a30007e08d7da4ab21717b3e79$LR•IPV4•45『线路5』 -HISTORY,https://d3181anftsyl2u.cloudfront.net/v1/aenetworks_alone_1/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•45『线路6』 -HISTORY,https://pb-k9ikw6ov8z4qi.akamaized.net/American_Pickers_by_History.m3u8$LR•IPV4•45『线路7』 -HISTORY,https://jmp2.uk/plu-62fb9844db5a4a0007ebc2a3.m3u8$LR•IPV4•45『线路8』 -HISTORY,https://pb-162j8hrspp1iq.akamaized.net/History_365.m3u8$LR•IPV4•45『线路9』 -HISTORY,https://jmp2.uk/plu-69dd5d7bfcb9bf5e3063cb16.m3u8$LR•IPV4•45『线路10』 -HISTORY,https://d1nzda2a2b3swt.cloudfront.net/History_Warfare_Now.m3u8$LR•IPV4•45『线路11』 -HISTORY,https://d28gzbv9fhdm3h.cloudfront.net/playlist/amg00376-magellantv-historyandwarfarenowaunzin-samsungau/playlist.m3u8$LR•IPV4•45『线路12』 -HISTORY,https://amg00376-magellan-amg00376c19-samsung-nz-1735.playouts.now.amagi.tv/playlist/amg00376-magellantv-historyandwarfarenowaunzin-samsungnz/playlist.m3u8$LR•IPV4•45『线路13』 -HISTORY,https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/0NPOY54L3YURIZHAY396/hls3/now,-1m/m.m3u8?ads.vf=qEyxmCFMVta$LR•IPV4•45『线路14』 -HISTORY,https://amg00841-amg00841c7-rakuten-uk-2820.playouts.now.amagi.tv/playlist/amg00841-aeemeafast-historyhuntersrakuten-rakutenuk/playlist.m3u8$LR•IPV4•45『线路15』 -HISTORY,https://amg00841-amg00841c9-samsung-gb-3032.playouts.now.amagi.tv/playlist/amg00841-aeemeafast-historyhunterssamsung-samsunggb/playlist.m3u8$LR•IPV4•45『线路16』 -HISTORY,https://jmp2.uk/plu-65819fc1b9adc4000813f37d.m3u8$LR•IPV4•45『线路17』 -HISTORY,https://jmp2.uk/plu-65775d29dfed030008cb3db2.m3u8$LR•IPV4•45『线路18』 -HISTORY,https://pb-m89wlp8flmjzf.akamaized.net/v1/aenetworks_modernmarvels_1/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•45『线路19』 -HISTORY,https://amg02333-pbs-amg02333c1-samsung-au-1253.playouts.now.amagi.tv/playlist/amg02333-pbsdistributionfast-pbshistory-samsungau/playlist.m3u8$LR•IPV4•45『线路20』 -HISTORY,https://amg02333-pbs-amg02333c1-samsung-nz-1254.playouts.now.amagi.tv/playlist/amg02333-pbsdistributionfast-pbshistory-samsungnz/playlist.m3u8$LR•IPV4•45『线路21』 -HISTORY,https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/true-history/playlist.m3u8?ads.vf=G1hGexOV3sS$LR•IPV4•45『线路22』 -HISTORY,https://linear-188.frequency.stream/dist/xumo/188/hls/master/playlist.m3u8$LR•IPV4•45『线路23』 -HISTORY,https://jmp2.uk/plu-6000a6f4c3f8550008fc9b91.m3u8$LR•IPV4•45『线路24』 -HISTORY,https://dxagbr7yc4m1d.cloudfront.net/v1/aenetworks_skills_thrills_1/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•45『线路25』 -HISTORY,https://rpn.bozztv.com/gusa/gusa-tvshollywoohistory/index.m3u8$LR•IPV4•45『线路26』 -HISTORY,http://213.91.179.28:8000/play/a0c1$LR•IPV4•45『线路27』 -HISTORY,http://177.52.24.163/HISTORY-HD/index.m3u8$LR•IPV4•45『线路28』 -HISTORY,http://88.212.15.19/live/test_history/playlist.m3u8$LR•IPV4•45『线路29』 -HISTORY,http://82.78.243.219:45739/play/a01f/index.m3u8$LR•IPV4•45『线路30』 -HISTORY,http://206.212.244.63/91/index.m3u8$LR•IPV4•45『线路31』 -HISTORY,http://138.121.15.230:9002/HISTORY-2/index.m3u8$LR•IPV4•45『线路32』 -HISTORY,http://45.162.231.38:7779/History_2/index.m3u8$LR•IPV4•45『线路33』 -HISTORY,https://streamer12.xploretv.si/__cl/cg:prod/__c/A1_SI_HISTORYHD_ott/__op/dash-default/__dci/__f/index.m3u8?admin=xploreTv_test_user&redirect=true$LR•IPV4•45『线路34』 -HISTORY,https://lds-timeline-rakuten.amagi.tv/playlist.m3u8$LR•IPV4•45『线路35』 -HISTORY,http://138.121.15.230:9002/HISTORY-CHANNEL/index.m3u8$LR•IPV4•45『线路36』 -HISTORY,http://103.72.101.252:8080/live/1471.m3u8$LR•IPV4•45『线路37』 -HISTORY,http://103.154.3.101:5001/live/577.m3u8$LR•IPV4•45『线路38』 -HISTORY,https://jmp2.uk/plu-5d767b1c126c65d0a307355f.m3u8$LR•IPV4•45『线路39』 -HISTORY,https://jmp2.uk/plu-5d4af1803e7983b391d73b13.m3u8$LR•IPV4•45『线路40』 -HISTORY,https://jmp2.uk/plu-5a4d35dfa5c02e717a234f86.m3u8$LR•IPV4•45『线路41』 -HISTORY,http://185.102.171.218/ViasatHistory/index.m3u8$LR•IPV4•45『线路42』 -HISTORY,http://315e5a5d.ottrast.com/iptv/8XFKA8883W9M5K/12101/index.m3u8$LR•IPV4•45『线路43』 -HISTORY,https://lb.dstvmultimedia.com/ViasatHistory/index.m3u8$LR•IPV4•45『线路44』 -HISTORY,http://178.124.179.122:8080/HistoryHD/index.m3u8$LR•IPV4•45『线路45』 +HISTORY,https://d3181anftsyl2u.cloudfront.net/v1/aenetworks_alone_1/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•45『线路3』 +HISTORY,https://pb-k9ikw6ov8z4qi.akamaized.net/American_Pickers_by_History.m3u8$LR•IPV4•45『线路4』 +HISTORY,https://jmp2.uk/plu-62fb9844db5a4a0007ebc2a3.m3u8$LR•IPV4•45『线路5』 +HISTORY,https://pb-162j8hrspp1iq.akamaized.net/History_365.m3u8$LR•IPV4•45『线路6』 +HISTORY,https://jmp2.uk/plu-69dd5d7bfcb9bf5e3063cb16.m3u8$LR•IPV4•45『线路7』 +HISTORY,https://d1nzda2a2b3swt.cloudfront.net/History_Warfare_Now.m3u8$LR•IPV4•45『线路8』 +HISTORY,https://d28gzbv9fhdm3h.cloudfront.net/playlist/amg00376-magellantv-historyandwarfarenowaunzin-samsungau/playlist.m3u8$LR•IPV4•45『线路9』 +HISTORY,https://amg00376-magellan-amg00376c19-samsung-nz-1735.playouts.now.amagi.tv/playlist/amg00376-magellantv-historyandwarfarenowaunzin-samsungnz/playlist.m3u8$LR•IPV4•45『线路10』 +HISTORY,https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/0NPOY54L3YURIZHAY396/hls3/now,-1m/m.m3u8?ads.vf=qEyxmCFMVta$LR•IPV4•45『线路11』 +HISTORY,https://amg00841-amg00841c7-rakuten-uk-2820.playouts.now.amagi.tv/playlist/amg00841-aeemeafast-historyhuntersrakuten-rakutenuk/playlist.m3u8$LR•IPV4•45『线路12』 +HISTORY,https://amg00841-amg00841c9-samsung-gb-3032.playouts.now.amagi.tv/playlist/amg00841-aeemeafast-historyhunterssamsung-samsunggb/playlist.m3u8$LR•IPV4•45『线路13』 +HISTORY,https://jmp2.uk/plu-65819fc1b9adc4000813f37d.m3u8$LR•IPV4•45『线路14』 +HISTORY,https://jmp2.uk/plu-65775d29dfed030008cb3db2.m3u8$LR•IPV4•45『线路15』 +HISTORY,https://pb-m89wlp8flmjzf.akamaized.net/v1/aenetworks_modernmarvels_1/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•45『线路16』 +HISTORY,https://amg02333-pbs-amg02333c1-samsung-au-1253.playouts.now.amagi.tv/playlist/amg02333-pbsdistributionfast-pbshistory-samsungau/playlist.m3u8$LR•IPV4•45『线路17』 +HISTORY,https://amg02333-pbs-amg02333c1-samsung-nz-1254.playouts.now.amagi.tv/playlist/amg02333-pbsdistributionfast-pbshistory-samsungnz/playlist.m3u8$LR•IPV4•45『线路18』 +HISTORY,https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/true-history/playlist.m3u8?ads.vf=G1hGexOV3sS$LR•IPV4•45『线路19』 +HISTORY,https://linear-188.frequency.stream/dist/xumo/188/hls/master/playlist.m3u8$LR•IPV4•45『线路20』 +HISTORY,https://jmp2.uk/plu-6000a6f4c3f8550008fc9b91.m3u8$LR•IPV4•45『线路21』 +HISTORY,https://dxagbr7yc4m1d.cloudfront.net/v1/aenetworks_skills_thrills_1/samsungheadend_us/latest/main/hls/playlist.m3u8$LR•IPV4•45『线路22』 +HISTORY,https://rpn.bozztv.com/gusa/gusa-tvshollywoohistory/index.m3u8$LR•IPV4•45『线路23』 +HISTORY,http://213.91.179.28:8000/play/a0c1$LR•IPV4•45『线路24』 +HISTORY,http://177.52.24.163/HISTORY-HD/index.m3u8$LR•IPV4•45『线路25』 +HISTORY,http://88.212.15.19/live/test_history/playlist.m3u8$LR•IPV4•45『线路26』 +HISTORY,http://82.78.243.219:45739/play/a01f/index.m3u8$LR•IPV4•45『线路27』 +HISTORY,http://206.212.244.63/91/index.m3u8$LR•IPV4•45『线路28』 +HISTORY,http://138.121.15.230:9002/HISTORY-2/index.m3u8$LR•IPV4•45『线路29』 +HISTORY,http://45.162.231.38:7779/History_2/index.m3u8$LR•IPV4•45『线路30』 +HISTORY,https://streamer12.xploretv.si/__cl/cg:prod/__c/A1_SI_HISTORYHD_ott/__op/dash-default/__dci/__f/index.m3u8?admin=xploreTv_test_user&redirect=true$LR•IPV4•45『线路31』 +HISTORY,https://lds-timeline-rakuten.amagi.tv/playlist.m3u8$LR•IPV4•45『线路32』 +HISTORY,http://138.121.15.230:9002/HISTORY-CHANNEL/index.m3u8$LR•IPV4•45『线路33』 +HISTORY,http://103.72.101.252:8080/live/1471.m3u8$LR•IPV4•45『线路34』 +HISTORY,http://103.154.3.101:5001/live/577.m3u8$LR•IPV4•45『线路35』 +HISTORY,https://jmp2.uk/plu-5d767b1c126c65d0a307355f.m3u8$LR•IPV4•45『线路36』 +HISTORY,https://jmp2.uk/plu-5d4af1803e7983b391d73b13.m3u8$LR•IPV4•45『线路37』 +HISTORY,https://jmp2.uk/plu-5a4d35dfa5c02e717a234f86.m3u8$LR•IPV4•45『线路38』 +HISTORY,http://185.102.171.218/ViasatHistory/index.m3u8$LR•IPV4•45『线路39』 +HISTORY,http://315e5a5d.ottrast.com/iptv/8XFKA8883W9M5K/12101/index.m3u8$LR•IPV4•45『线路40』 +HISTORY,https://lb.dstvmultimedia.com/ViasatHistory/index.m3u8$LR•IPV4•45『线路41』 +HISTORY,http://178.124.179.122:8080/HistoryHD/index.m3u8$LR•IPV4•45『线路42』 +HISTORY,http://37.27.111.214:8080/live/27/hls.m3u8$LR•IPV4•45『线路43』 +HISTORY,http://free.cnlive.club/channel/n20a85c83/index.m3u8?q=1752629214236$LR•IPV4•45『线路44』 +HISTORY,p3p://167.114.175.6:55331/6233e1a30007e08d7da4ab21717b3e79$LR•IPV4•45『线路45』 🏈体育赛事🏆️,#genre# 斯诺克,https://live.ottiptv.cc/huya/880214$LR•IPV4 @@ -1425,35 +1426,35 @@ HISTORY,http://178.124.179.122:8080/HistoryHD/index.m3u8$LR•IPV4•45『线路 HOOPPARK篮球公园,http://lxajh.top/tv/douyu.php?id=10228726$LR•IPV4 JSPORTS1,https://stream1.freetv.fun/jsports-1-1.m3u8$LR•IPV4 JSPORTS2,https://stream1.freetv.fun/jsports-2-2.m3u8$LR•IPV4 -MLB NETWORK,http://fl2.moveonjoy.com/MLB_NETWORK/index.m3u8$LR•IPV4•2『线路1』 -MLB NETWORK,http://40.160.24.52/MLB_Network/index.m3u8$LR•IPV4•2『线路2』 -FOX Sports,http://108.181.20.255:27347/livehttpplay?channel_id=23055$LR•IPV4•10『线路1』 -FOX Sports,https://d1jzu95oc8fgt3.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-zyqcok4bm0lgq/FOX_Sports.m3u8$LR•IPV4•10『线路2』 -FOX Sports,http://fl2.moveonjoy.com/FOX_Sports_1/index.m3u8$LR•IPV4•10『线路3』 -FOX Sports,https://d1jzu95oc8fgt3.cloudfront.net/FOX_Sports.m3u8$LR•IPV4•10『线路4』 -FOX Sports,https://amg02855-foxsports-amg02855c1-xumo-us-1755.playouts.now.amagi.tv/Fox-Sports-AmazonNews/playlist.m3u8$LR•IPV4•10『线路5』 -FOX Sports,https://live-manifest.production-public.tubi.io/live/6035c7fd-efff-4ec7-93dc-aa0c7a58ba47/playlist.m3u8$LR•IPV4•10『线路6』 -FOX Sports,http://200.91.32.158:8080/foxsports/index.m3u8$LR•IPV4•10『线路7』 -FOX Sports,https://streamvidex.qzz.io/videx/fox1usa/index.m3u8$LR•IPV4•10『线路8』 -FOX Sports,http://200.91.32.158:8080/foxsports2/index.m3u8$LR•IPV4•10『线路9』 -FOX Sports,http://200.91.32.158:8080/foxsports3/index.m3u8$LR•IPV4•10『线路10』 -NBA,https://stream1.freetv.fun/nba-tv-5.m3u8$LR•IPV4•10『线路1』 -NBA,https://stream1.freetv.fun/nba-tv-7.m3u8$LR•IPV4•10『线路2』 -NBA,https://t.freetv.fun/live/nba-tv.m3u8$LR•IPV4•10『线路3』 -NBA,http://103.148.44.38:8000/play/a03m/index.m3u8$LR•IPV4•10『线路4』 -NBA,http://170.yfvodcdn.com:19980/live/nbaTV2/hls.m3u8$LR•IPV4•10『线路5』 -NBA,p3p://167.114.175.6:55331/65a587500007bc039fca3566638e69af$LR•IPV4•10『线路6』 -NBA,https://live-manifest.production-public.tubi.io/live/553b8d5e-fd2a-4a61-bdfa-73b34c299d75/playlist.m3u8$LR•IPV4•10『线路7』 -NBA,https://jmp2.uk/plu-6792c30abc03978b9b8bb832.m3u8$LR•IPV4•10『线路8』 -NBA,https://amg00556-amg00556c3-firetv-us-6060.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•10『线路9』 -NBA,http://user.scalecdn.co:8080/live/54706135/09221986/3092.m3u8$LR•IPV4•10『线路10』 -ESPN,http://200.10.30.241:8000/play/a01r/index.m3u8$LR•IPV4•7『线路1』 -ESPN,http://41.205.93.154/ESPN/index.m3u8$LR•IPV4•7『线路2』 -ESPN,http://38.96.178.201:80/live/ESPNHD/index.m3u8$LR•IPV4•7『线路3』 -ESPN,http://181.78.197.59:8000/play/a07z/index.m3u8$LR•IPV4•7『线路4』 -ESPN,http://181.78.197.59:8000/play/a081/index.m3u8$LR•IPV4•7『线路5』 -ESPN,http://181.78.197.59:8000/play/a07n/index.m3u8$LR•IPV4•7『线路6』 -ESPN,http://40.160.24.58/ESPN_DEPORTES/index.m3u8$LR•IPV4•7『线路7』 +MLB NETWORK,http://40.160.24.52/MLB_Network/index.m3u8$LR•IPV4•2『线路1』 +MLB NETWORK,http://fl2.moveonjoy.com/MLB_NETWORK/index.m3u8$LR•IPV4•2『线路2』 +FOX Sports,https://d1jzu95oc8fgt3.cloudfront.net/FOX_Sports.m3u8$LR•IPV4•10『线路1』 +FOX Sports,https://amg02855-foxsports-amg02855c1-xumo-us-1755.playouts.now.amagi.tv/Fox-Sports-AmazonNews/playlist.m3u8$LR•IPV4•10『线路2』 +FOX Sports,https://live-manifest.production-public.tubi.io/live/6035c7fd-efff-4ec7-93dc-aa0c7a58ba47/playlist.m3u8$LR•IPV4•10『线路3』 +FOX Sports,http://200.91.32.158:8080/foxsports/index.m3u8$LR•IPV4•10『线路4』 +FOX Sports,https://streamvidex.qzz.io/videx/fox1usa/index.m3u8$LR•IPV4•10『线路5』 +FOX Sports,http://200.91.32.158:8080/foxsports2/index.m3u8$LR•IPV4•10『线路6』 +FOX Sports,http://200.91.32.158:8080/foxsports3/index.m3u8$LR•IPV4•10『线路7』 +FOX Sports,http://fl2.moveonjoy.com/FOX_Sports_1/index.m3u8$LR•IPV4•10『线路8』 +FOX Sports,http://108.181.20.255:27347/livehttpplay?channel_id=23055$LR•IPV4•10『线路9』 +FOX Sports,https://d1jzu95oc8fgt3.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-zyqcok4bm0lgq/FOX_Sports.m3u8$LR•IPV4•10『线路10』 +NBA,https://live-manifest.production-public.tubi.io/live/553b8d5e-fd2a-4a61-bdfa-73b34c299d75/playlist.m3u8$LR•IPV4•10『线路1』 +NBA,https://jmp2.uk/plu-6792c30abc03978b9b8bb832.m3u8$LR•IPV4•10『线路2』 +NBA,https://amg00556-amg00556c3-firetv-us-6060.playouts.now.amagi.tv/playlist.m3u8$LR•IPV4•10『线路3』 +NBA,http://user.scalecdn.co:8080/live/54706135/09221986/3092.m3u8$LR•IPV4•10『线路4』 +NBA,https://t.freetv.fun/live/nba-tv.m3u8$LR•IPV4•10『线路5』 +NBA,https://stream1.freetv.fun/nba-tv-5.m3u8$LR•IPV4•10『线路6』 +NBA,https://stream1.freetv.fun/nba-tv-7.m3u8$LR•IPV4•10『线路7』 +NBA,http://170.yfvodcdn.com:19980/live/nbaTV2/hls.m3u8$LR•IPV4•10『线路8』 +NBA,p3p://167.114.175.6:55331/65a587500007bc039fca3566638e69af$LR•IPV4•10『线路9』 +NBA,http://103.148.44.38:8000/play/a03m/index.m3u8$LR•IPV4•10『线路10』 +ESPN,http://181.78.197.59:8000/play/a07z/index.m3u8$LR•IPV4•7『线路1』 +ESPN,http://181.78.197.59:8000/play/a081/index.m3u8$LR•IPV4•7『线路2』 +ESPN,http://181.78.197.59:8000/play/a07n/index.m3u8$LR•IPV4•7『线路3』 +ESPN,http://40.160.24.58/ESPN_DEPORTES/index.m3u8$LR•IPV4•7『线路4』 +ESPN,http://41.205.93.154/ESPN/index.m3u8$LR•IPV4•7『线路5』 +ESPN,http://38.96.178.201:80/live/ESPNHD/index.m3u8$LR•IPV4•7『线路6』 +ESPN,http://200.10.30.241:8000/play/a01r/index.m3u8$LR•IPV4•7『线路7』 緯來體育,http://live4play.uk/livehttpplay?channel_id=20120$LR•IPV4•2『线路1』 緯來體育,rtmp://60.248.77.83/sat/tv721$LR•IPV4•2『线路2』 ELTA體育1台,http://50.7.234.10:8278/eltasport_twn/playlist.m3u8?tid=md3567b35401611916221&ct=17874&tsum=be2a069324faa7f0737ca0d396d43745$LR•IPV4 @@ -1478,19 +1479,19 @@ TraceSports,http://209.141.58.162:4994/proxy?url=http%3A//209.141.58.162%3A5050/ 活着,https://vip.ffzy-play.com/20221011/100_192cffb5/index.m3u8$LR•IPV4 火烧岛,https://vip.ffzy-play6.com/20221129/9336_58c74ab9/index.m3u8$LR•IPV4 火星没事,https://vip.ffzy-play2.com/20221021/232_89153806/index.m3u8$LR•IPV4 -霍元甲,https://cfss.cc/api/kg/596581.mp4$LR•IPV4•2『线路1』 -霍元甲,https://vip.ffzy-play2.com/20221021/234_50a8a4b6/index.m3u8$LR•IPV4•2『线路2』 +霍元甲,https://vip.ffzy-play2.com/20221021/234_50a8a4b6/index.m3u8$LR•IPV4•2『线路1』 +霍元甲,https://cfss.cc/api/kg/596581.mp4$LR•IPV4•2『线路2』 急先锋,https://vip.ffzy-play6.com/20221113/6503_476b3f6c/index.m3u8$LR•IPV4 记忆切割,https://vip.ffzy-play.com/20221017/1473_691592bd/index.m3u8$LR•IPV4 没完没了,https://vip.ffzy-play6.com/20221129/9376_7f06747a/index.m3u8$LR•IPV4 甲方乙方,https://vip.ffzy-play6.com/20221206/10068_4bfccafe/index.m3u8$LR•IPV4 建党伟业,https://vip.ffzy-play6.com/20221019/168_f44e1477/index.m3u8$LR•IPV4 -江湖,http://cdn.jdshipin.com:8880/huya.php?id=23865142$LR•IPV4•6『线路1』 -江湖,https://vip.ffzy-play6.com/20221019/84_a64c541f/index.m3u8$LR•IPV4•6『线路2』 -江湖,https://vip.ffzy-play7.com/20221115/4682_5ffb4872/index.m3u8$LR•IPV4•6『线路3』 -江湖,https://vip.ffzy-play7.com/20230205/13419_960c8951/index.m3u8$LR•IPV4•6『线路4』 -江湖,https://vip.ffzy-play7.com/20221115/4681_38b34b56/index.m3u8$LR•IPV4•6『线路5』 -江湖,https://vip.ffzy-play.com/20221017/1755_28d3688d/index.m3u8$LR•IPV4•6『线路6』 +江湖,https://vip.ffzy-play6.com/20221019/84_a64c541f/index.m3u8$LR•IPV4•6『线路1』 +江湖,https://vip.ffzy-play7.com/20221115/4682_5ffb4872/index.m3u8$LR•IPV4•6『线路2』 +江湖,https://vip.ffzy-play7.com/20230205/13419_960c8951/index.m3u8$LR•IPV4•6『线路3』 +江湖,https://vip.ffzy-play7.com/20221115/4681_38b34b56/index.m3u8$LR•IPV4•6『线路4』 +江湖,https://vip.ffzy-play.com/20221017/1755_28d3688d/index.m3u8$LR•IPV4•6『线路5』 +江湖,http://cdn.jdshipin.com:8880/huya.php?id=23865142$LR•IPV4•6『线路6』 僵尸先生,https://vip.ffzy-play7.com/20230507/24165_799a7b4a/index.m3u8$LR•IPV4•2『线路1』 僵尸先生,https://vip.ffzy-play6.com/20221129/9451_47cd067c/index.m3u8$LR•IPV4•2『线路2』 僵尸至尊,https://vip.ffzy-play6.com/20221129/9344_44b64a1a/index.m3u8$LR•IPV4 @@ -1519,8 +1520,8 @@ TraceSports,http://209.141.58.162:4994/proxy?url=http%3A//209.141.58.162%3A5050/ 林世荣,https://vip.ffzy-play7.com/20221209/9096_70ae66c7/index.m3u8$LR•IPV4 灵幻先生,https://vip.ffzy-play7.com/20221115/4538_ddf6020e/index.m3u8$LR•IPV4 灵幻至尊,https://vip.ffzy-play7.com/20221112/3550_cbc3226a/index.m3u8$LR•IPV4 -龙拳,https://cfss.cc/api/kg/759385.mp4$LR•IPV4•2『线路1』 -龙拳,https://vip.ffzy-play6.com/20221128/9052_3612e0ff/index.m3u8$LR•IPV4•2『线路2』 +龙拳,https://vip.ffzy-play6.com/20221128/9052_3612e0ff/index.m3u8$LR•IPV4•2『线路1』 +龙拳,https://cfss.cc/api/kg/759385.mp4$LR•IPV4•2『线路2』 龙少爷,https://vip.ffzy-play7.com/20221115/4703_5132dc98/index.m3u8$LR•IPV4 龙的心,https://vip.ffzy-play7.com/20221115/4539_8b9150f6/index.m3u8$LR•IPV4 龙凤斗,https://vip.ffzy-play2.com/20221019/18_d8d1ad76/index.m3u8$LR•IPV4 @@ -1584,8 +1585,8 @@ TraceSports,http://209.141.58.162:4994/proxy?url=http%3A//209.141.58.162%3A5050/ 十二生肖,https://vip.ffzy-play6.com/20221019/191_dba04d04/index.m3u8$LR•IPV4 十面埋伏,https://vip.ffzy-play7.com/20221117/5218_ad30347f/index.m3u8$LR•IPV4 时来运转,https://vip.ffzy-play7.com/20221209/9156_396eac04/index.m3u8$LR•IPV4 -手机,https://cfss.cc/api/kg/756738.mp4$LR•IPV4•2『线路1』 -手机,https://vip.ffzy-play6.com/20221019/107_6107b581/index.m3u8$LR•IPV4•2『线路2』 +手机,https://vip.ffzy-play6.com/20221019/107_6107b581/index.m3u8$LR•IPV4•2『线路1』 +手机,https://cfss.cc/api/kg/756738.mp4$LR•IPV4•2『线路2』 甩皮鬼,https://vip.ffzy-play6.com/20221112/6431_ce84a705/index.m3u8$LR•IPV4 双龙会,https://vip.ffzy-play6.com/20221112/6064_afbd5214/index.m3u8$LR•IPV4 说出你的秘密,https://vip.ffzy-play6.com/20221112/6077_927afdf1/index.m3u8$LR•IPV4 @@ -1649,15 +1650,15 @@ TraceSports,http://209.141.58.162:4994/proxy?url=http%3A//209.141.58.162%3A5050/ 音乐僵尸,https://vip.ffzy-play6.com/20221207/10627_09b3f2e5/index.m3u8$LR•IPV4 英雄,http://cdn.jdshipin.com:8880/huya.php?id=23824164$LR•IPV4•11『线路1』 英雄,https://live.ottiptv.cc/yy/1352475619$LR•IPV4•11『线路2』 -英雄,https://live.ottiptv.cc/huya/11601980$LR•IPV4•11『线路3』 -英雄,https://live.ottiptv.cc/huya/660000$LR•IPV4•11『线路4』 -英雄,https://live.ottiptv.cc/huya/24318577$LR•IPV4•11『线路5』 -英雄,https://live.ottiptv.cc/huya/21241839$LR•IPV4•11『线路6』 -英雄,https://vip.ffzy-play7.com/20221227/9993_9681b67b/index.m3u8$LR•IPV4•11『线路7』 -英雄,https://vip.ffzy-play.com/20221015/981_2ca5b5f9/index.m3u8$LR•IPV4•11『线路8』 -英雄,https://vip.ffzy-play6.com/20221207/10694_f9088e66/index.m3u8$LR•IPV4•11『线路9』 -英雄,https://vip.ffzy-play7.com/20221129/7743_4656dd25/index.m3u8$LR•IPV4•11『线路10』 -英雄,https://vip.ffzy-play6.com/20221112/6371_9b5bf930/index.m3u8$LR•IPV4•11『线路11』 +英雄,https://vip.ffzy-play7.com/20221227/9993_9681b67b/index.m3u8$LR•IPV4•11『线路3』 +英雄,https://vip.ffzy-play.com/20221015/981_2ca5b5f9/index.m3u8$LR•IPV4•11『线路4』 +英雄,https://vip.ffzy-play6.com/20221207/10694_f9088e66/index.m3u8$LR•IPV4•11『线路5』 +英雄,https://vip.ffzy-play7.com/20221129/7743_4656dd25/index.m3u8$LR•IPV4•11『线路6』 +英雄,https://vip.ffzy-play6.com/20221112/6371_9b5bf930/index.m3u8$LR•IPV4•11『线路7』 +英雄,https://live.ottiptv.cc/huya/11601980$LR•IPV4•11『线路8』 +英雄,https://live.ottiptv.cc/huya/660000$LR•IPV4•11『线路9』 +英雄,https://live.ottiptv.cc/huya/24318577$LR•IPV4•11『线路10』 +英雄,https://live.ottiptv.cc/huya/21241839$LR•IPV4•11『线路11』 赢钱专家,https://vip.ffzy-play6.com/20221113/6794_d514b390/index.m3u8$LR•IPV4 有话好好说,https://vip.ffzy-play7.com/20221112/3406_98dc6f14/index.m3u8$LR•IPV4 与龙共舞,https://vip.ffzy-play6.com/20221207/10859_1b02d27c/index.m3u8$LR•IPV4 @@ -1761,18 +1762,18 @@ A计划,https://vip.ffzy-play7.com/20221115/4412_bf4bdaf6/index.m3u8$LR•IPV4 💓电视剧🔁,#genre# 科幻动作,https://live.metshop.top/huya/11352964$LR•IPV4 -奇幻片,https://live.ottiptv.cc/huya/26355847$LR•IPV4•2『线路1』 -奇幻片,https://live.metshop.top/huya/16149609$LR•IPV4•2『线路2』 -悬疑片,https://live.ottiptv.cc/huya/21059530$LR•IPV4•2『线路1』 -悬疑片,https://live.metshop.top/huya/16099968$LR•IPV4•2『线路2』 +奇幻片,https://live.metshop.top/huya/16149609$LR•IPV4•2『线路1』 +奇幻片,https://live.ottiptv.cc/huya/26355847$LR•IPV4•2『线路2』 +悬疑片,https://live.metshop.top/huya/16099968$LR•IPV4•2『线路1』 +悬疑片,https://live.ottiptv.cc/huya/21059530$LR•IPV4•2『线路2』 贺岁合家欢剧场,https://live.metshop.top/huya/11602067$LR•IPV4 滇军抗战,https://live.metshop.top/huya/11342388$LR•IPV4 联合抗日,https://live.metshop.top/huya/11352910$LR•IPV4 三国,https://live.ottiptv.cc/huya/11602081$LR•IPV4•5『线路1』 三国,https://live.ottiptv.cc/huya/11352944$LR•IPV4•5『线路2』 -三国,http://live.nctv.top/douyu1.php?id=6122419$LR•IPV4•5『线路3』 -三国,https://live.metshop.top/huya/11352944$LR•IPV4•5『线路4』 -三国,http://103.193.151.146/huya.php?id=29465871$LR•IPV4•5『线路5』 +三国,https://live.metshop.top/huya/11352944$LR•IPV4•5『线路3』 +三国,http://103.193.151.146/huya.php?id=29465871$LR•IPV4•5『线路4』 +三国,http://live.nctv.top/douyu1.php?id=6122419$LR•IPV4•5『线路5』 雍正皇帝,https://live.metshop.top/huya/11342439$LR•IPV4 许冠英合集,https://live.metshop.top/huya/11601972$LR•IPV4 未知1,http://58.39.190.143:35455/huya/23734246$LR•IPV4 @@ -1794,8 +1795,8 @@ XXXXXXXXX粤,http://lxajh.top/tv/douyu.php?id=8912325$LR•IPV4 命案十三宗,http://fmbox.cc/huya.php?id=11601981$LR•IPV4 我是大哥大,http://fmbox.cc/huya.php?id=23652317$LR•IPV4 搞笑一家人,http://fmbox.cc/huya.php?id=11342402$LR•IPV4 -陈翔六点半,https://live.ottiptv.cc/huya/11274154$LR•IPV4•2『线路1』 -陈翔六点半,http://fmbox.cc/huya.php?id=11274154$LR•IPV4•2『线路2』 +陈翔六点半,http://fmbox.cc/huya.php?id=11274154$LR•IPV4•2『线路1』 +陈翔六点半,https://live.ottiptv.cc/huya/11274154$LR•IPV4•2『线路2』 情深深雨蒙蒙,http://fmbox.cc/huya.php?id=11352885$LR•IPV4 穿越千年之恋,http://fmbox.cc/huya.php?id=11342398$LR•IPV4 风云雄霸天下,http://fmbox.cc/huya.php?id=21059612$LR•IPV4 @@ -1805,48 +1806,49 @@ XXXXXXXXX粤,http://lxajh.top/tv/douyu.php?id=8912325$LR•IPV4 航拍中国第一季,http://hls.cntv.myhwcdn.cn/asp/hls/4000/0303000a/3/default/8edf3fb6a69148ea9a7dc0b5a9d99fdb/4000.m3u8$LR•IPV4 航拍中国第二季,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/2bdfdad540b342f592f9817cb7f3b79a/4000.m3u8$LR•IPV4 地理中国,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c6baf6f74bb944aeacee1065ea72c798/1200.m3u8$LR•IPV4 -纪录,https://v4-e6b1c5baf4e240fe63adbf68dda23435.livehwc4.com/play.kankanlive.com/live/1698423397390920.m3u8?sub_m3u8=true&edge_slice=true&user_session_id=79c26e6f2fb125746b28b6fb2daee9a6$LR•IPV4•42『线路1』 -纪录,https://rt-doc.rttv.com/dvr/rtdru/rtdru1080.m3u8$LR•IPV4•42『线路2』 -纪录,https://rt-rtd.rttv.com/dvr/rtdoc/playlist_4500Kb.m3u8$LR•IPV4•42『线路3』 -纪录,http://lsfb.avap.jilintv.cn/zqvk7vpj/channel/da805d8d77a24db8aaa62328eb6d874e/index.m3u8$LR•IPV4•42『线路4』 -纪录,http://free.cnlive.club/channel/n3f497a4c/index.m3u8?q=1752629214236$LR•IPV4•42『线路5』 -纪录,http://free.cnlive.club/channel/2ae73b1a/index.m3u8?q=1752629214236$LR•IPV4•42『线路6』 -纪录,http://free.cnlive.club/channel/nb957a7c/index.m3u8?q=1752629214236$LR•IPV4•42『线路7』 -纪录,http://free.cnlive.club/channel/n3efbe5af/index.m3u8?q=1752629214236$LR•IPV4•42『线路8』 -纪录,http://free.cnlive.club/channel/1404dfbd/index.m3u8?q=1752629214236$LR•IPV4•42『线路9』 -纪录,http://free.cnlive.club/channel/n3287f647/index.m3u8?q=1752629214236$LR•IPV4•42『线路10』 -纪录,http://free.cnlive.club/channel/n2517f7dd/index.m3u8?q=1752629214236$LR•IPV4•42『线路11』 -纪录,http://free.cnlive.club/channel/4b914480/index.m3u8?q=1752629214236$LR•IPV4•42『线路12』 -纪录,http://free.cnlive.club/channel/6272ba2c/index.m3u8?q=1752629214236$LR•IPV4•42『线路13』 -纪录,http://free.cnlive.club/channel/24a7393c/index.m3u8?q=1752629214236$LR•IPV4•42『线路14』 -纪录,http://free.cnlive.club/channel/n75e57aab/index.m3u8?q=1752629214236$LR•IPV4•42『线路15』 -纪录,http://free.cnlive.club/channel/n7852a99f/index.m3u8?q=1752629214236$LR•IPV4•42『线路16』 -纪录,http://free.cnlive.club/channel/356e7ac6/index.m3u8?q=1752629214236$LR•IPV4•42『线路17』 -纪录,http://free.cnlive.club/channel/359a630b/index.m3u8?q=1752629214236$LR•IPV4•42『线路18』 -纪录,http://free.cnlive.club/channel/n7a0c7aec/index.m3u8?q=1752629214236$LR•IPV4•42『线路19』 -纪录,http://free.cnlive.club/channel/n6582cfc7/index.m3u8?q=1752629214236$LR•IPV4•42『线路20』 -纪录,http://free.cnlive.club/channel/n18e58008/index.m3u8?q=1752629214236$LR•IPV4•42『线路21』 -纪录,http://free.cnlive.club/channel/6c975854/index.m3u8?q=1752629214236$LR•IPV4•42『线路22』 -纪录,http://free.cnlive.club/channel/n28af27dd/index.m3u8?q=1752629214236$LR•IPV4•42『线路23』 -纪录,http://free.cnlive.club/channel/264e2d58/index.m3u8?q=1752629214236$LR•IPV4•42『线路24』 -纪录,http://free.cnlive.club/channel/2631a9ae/index.m3u8?q=1752629214236$LR•IPV4•42『线路25』 -纪录,https://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8$LR•IPV4•42『线路26』 -纪录,http://120.55.49.231:3095/rtp/233.50.202.25:5140$LR•IPV4•42『线路27』 -纪录,http://ali-m-l.cztv.com/channels/lantian/channel12/1080p.m3u8$LR•IPV4•42『线路28』 -纪录,http://zwebl02.cztv.com/live/channel121080P.m3u8?auth_key=2524708799-0-0-c33efdd495bcdd2ddc42e7c408405037$LR•IPV4•42『线路29』 -纪录,http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8$LR•IPV4•42『线路30』 -纪录,p3p://167.114.175.6:55331/623baf7a0004e5d79c2047cd46107be2$LR•IPV4•42『线路31』 -纪录,http://23.237.104.106:8080/USA_DISCOVERY/index.m3u8$LR•IPV4•42『线路32』 -纪录,https://jmp2.uk/plu-6400f731d200410008f9b339.m3u8$LR•IPV4•42『线路33』 -纪录,https://svs.itworkscdn.net/asharqdiscoverylive/asharqd.smil/playlist_dvr.m3u8$LR•IPV4•42『线路34』 -纪录,p3p://167.114.175.6:55331/62c9a44500000cd3c69dc74b77c62c82$LR•IPV4•42『线路35』 -纪录,http://108.181.20.255:27347/livehttpplay?channel_id=23081$LR•IPV4•42『线路36』 -纪录,http://40.160.24.53/MTV_LIVE/index.m3u8$LR•IPV4•42『线路37』 -纪录,p3p://167.114.175.6:55331/5fe16de700083ba97787607e74d90cb5$LR•IPV4•42『线路38』 -纪录,http://108.181.20.255:27347/livehttpplay?channel_id=23097$LR•IPV4•42『线路39』 -纪录,p3p://167.114.175.6:55331/644518fd0002d5953f21bedc56b6465f$LR•IPV4•42『线路40』 -纪录,https://i.mjh.nz/.r/sky-hgtv.m3u8$LR•IPV4•42『线路41』 -纪录,p3p://167.114.175.6:55331/61e4f963000c710c55474e4e1e2273d9$LR•IPV4•42『线路42』 +纪录,https://v4-e6b1c5baf4e240fe63adbf68dda23435.livehwc4.com/play.kankanlive.com/live/1698423397390920.m3u8?sub_m3u8=true&edge_slice=true&user_session_id=528f1a6a1cd548ede0e1b7c5313cc9ca$LR•IPV4•43『线路1』 +纪录,https://v4-e6b1c5baf4e240fe63adbf68dda23435.livehwc4.com/play.kankanlive.com/live/1698423397390920.m3u8?sub_m3u8=true&edge_slice=true&user_session_id=79c26e6f2fb125746b28b6fb2daee9a6$LR•IPV4•43『线路2』 +纪录,http://free.cnlive.club/channel/n3f497a4c/index.m3u8?q=1752629214236$LR•IPV4•43『线路3』 +纪录,http://free.cnlive.club/channel/2ae73b1a/index.m3u8?q=1752629214236$LR•IPV4•43『线路4』 +纪录,http://free.cnlive.club/channel/nb957a7c/index.m3u8?q=1752629214236$LR•IPV4•43『线路5』 +纪录,http://free.cnlive.club/channel/n3efbe5af/index.m3u8?q=1752629214236$LR•IPV4•43『线路6』 +纪录,http://free.cnlive.club/channel/1404dfbd/index.m3u8?q=1752629214236$LR•IPV4•43『线路7』 +纪录,http://free.cnlive.club/channel/n3287f647/index.m3u8?q=1752629214236$LR•IPV4•43『线路8』 +纪录,http://free.cnlive.club/channel/n2517f7dd/index.m3u8?q=1752629214236$LR•IPV4•43『线路9』 +纪录,http://free.cnlive.club/channel/4b914480/index.m3u8?q=1752629214236$LR•IPV4•43『线路10』 +纪录,http://free.cnlive.club/channel/6272ba2c/index.m3u8?q=1752629214236$LR•IPV4•43『线路11』 +纪录,http://free.cnlive.club/channel/24a7393c/index.m3u8?q=1752629214236$LR•IPV4•43『线路12』 +纪录,http://free.cnlive.club/channel/n75e57aab/index.m3u8?q=1752629214236$LR•IPV4•43『线路13』 +纪录,http://free.cnlive.club/channel/n7852a99f/index.m3u8?q=1752629214236$LR•IPV4•43『线路14』 +纪录,http://free.cnlive.club/channel/356e7ac6/index.m3u8?q=1752629214236$LR•IPV4•43『线路15』 +纪录,http://free.cnlive.club/channel/359a630b/index.m3u8?q=1752629214236$LR•IPV4•43『线路16』 +纪录,http://free.cnlive.club/channel/n7a0c7aec/index.m3u8?q=1752629214236$LR•IPV4•43『线路17』 +纪录,http://free.cnlive.club/channel/n6582cfc7/index.m3u8?q=1752629214236$LR•IPV4•43『线路18』 +纪录,http://free.cnlive.club/channel/n18e58008/index.m3u8?q=1752629214236$LR•IPV4•43『线路19』 +纪录,http://free.cnlive.club/channel/6c975854/index.m3u8?q=1752629214236$LR•IPV4•43『线路20』 +纪录,http://free.cnlive.club/channel/n28af27dd/index.m3u8?q=1752629214236$LR•IPV4•43『线路21』 +纪录,http://free.cnlive.club/channel/264e2d58/index.m3u8?q=1752629214236$LR•IPV4•43『线路22』 +纪录,http://free.cnlive.club/channel/2631a9ae/index.m3u8?q=1752629214236$LR•IPV4•43『线路23』 +纪录,https://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8$LR•IPV4•43『线路24』 +纪录,http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8$LR•IPV4•43『线路25』 +纪录,http://zwebl02.cztv.com/live/channel121080P.m3u8?auth_key=2524708799-0-0-c33efdd495bcdd2ddc42e7c408405037$LR•IPV4•43『线路26』 +纪录,http://ali-m-l.cztv.com/channels/lantian/channel12/1080p.m3u8$LR•IPV4•43『线路27』 +纪录,http://120.55.49.231:3095/rtp/233.50.202.25:5140$LR•IPV4•43『线路28』 +纪录,http://lsfb.avap.jilintv.cn/zqvk7vpj/channel/da805d8d77a24db8aaa62328eb6d874e/index.m3u8$LR•IPV4•43『线路29』 +纪录,https://rt-doc.rttv.com/dvr/rtdru/rtdru1080.m3u8$LR•IPV4•43『线路30』 +纪录,https://rt-rtd.rttv.com/dvr/rtdoc/playlist_4500Kb.m3u8$LR•IPV4•43『线路31』 +纪录,p3p://167.114.175.6:55331/623baf7a0004e5d79c2047cd46107be2$LR•IPV4•43『线路32』 +纪录,http://23.237.104.106:8080/USA_DISCOVERY/index.m3u8$LR•IPV4•43『线路33』 +纪录,https://jmp2.uk/plu-6400f731d200410008f9b339.m3u8$LR•IPV4•43『线路34』 +纪录,https://svs.itworkscdn.net/asharqdiscoverylive/asharqd.smil/playlist_dvr.m3u8$LR•IPV4•43『线路35』 +纪录,p3p://167.114.175.6:55331/62c9a44500000cd3c69dc74b77c62c82$LR•IPV4•43『线路36』 +纪录,http://40.160.24.53/MTV_LIVE/index.m3u8$LR•IPV4•43『线路37』 +纪录,http://108.181.20.255:27347/livehttpplay?channel_id=23081$LR•IPV4•43『线路38』 +纪录,p3p://167.114.175.6:55331/5fe16de700083ba97787607e74d90cb5$LR•IPV4•43『线路39』 +纪录,https://i.mjh.nz/.r/sky-hgtv.m3u8$LR•IPV4•43『线路40』 +纪录,p3p://167.114.175.6:55331/644518fd0002d5953f21bedc56b6465f$LR•IPV4•43『线路41』 +纪录,http://108.181.20.255:27347/livehttpplay?channel_id=23097$LR•IPV4•43『线路42』 +纪录,p3p://167.114.175.6:55331/61e4f963000c710c55474e4e1e2273d9$LR•IPV4•43『线路43』 💓儿童专享,#genre# 樱桃小丸子剧,http://103.193.151.146/huya.php?id=11342394$LR•IPV4 @@ -1858,18 +1860,18 @@ Japanim TV,https://foxkidstv.be:3369/stream/play.m3u8$LR•IPV4 Kuriakos Kids,https://w2.manasat.com/kkids/smil:kkids.smil/playlist.m3u8$LR•IPV4 XilamTV,https://xilam-animation-1-fr.samsung.wurl.tv/playlist.m3u8$LR•IPV4 FanpopTV,https://streaming-cl.sh1ny.space/memfs/e16d2f72-70b5-4bf5-b9c5-107b6390a10f.m3u8$LR•IPV4 -儿童,http://free.cnlive.club/channel/n59903092/index.m3u8?q=1752629214236$LR•IPV4•27『线路1』 -儿童,http://free.cnlive.club/channel/33dc4490/index.m3u8?q=1752629214236$LR•IPV4•27『线路2』 -儿童,http://free.cnlive.club/channel/n149d9627/index.m3u8?q=1752629214236$LR•IPV4•27『线路3』 -儿童,http://free.cnlive.club/channel/5fe8f622/index.m3u8?q=1752629214236$LR•IPV4•27『线路4』 -儿童,http://free.cnlive.club/channel/7af110c4/index.m3u8?q=1752629214236$LR•IPV4•27『线路5』 -儿童,http://free.cnlive.club/channel/18a1ad0/index.m3u8?q=1752629214236$LR•IPV4•27『线路6』 -儿童,http://free.cnlive.club/channel/n70dedb3e/index.m3u8?q=1752629214236$LR•IPV4•27『线路7』 -儿童,http://free.cnlive.club/channel/n6567f5b8/index.m3u8?q=1752629214236$LR•IPV4•27『线路8』 -儿童,http://free.cnlive.club/channel/n6a165737/index.m3u8?q=1752629214236$LR•IPV4•27『线路9』 -儿童,http://free.cnlive.club/channel/n75fc9ff7/index.m3u8?q=1752629214236$LR•IPV4•27『线路10』 -儿童,p3p://167.114.175.6:55331/6233e0ca0000ca8f7da159a76b755519$LR•IPV4•27『线路11』 -儿童,http://scgctvshow.sctv.com/hdlive/sctv7/index.m3u8$LR•IPV4•27『线路12』 +儿童,http://scgctvshow.sctv.com/hdlive/sctv7/index.m3u8$LR•IPV4•27『线路1』 +儿童,http://free.cnlive.club/channel/n59903092/index.m3u8?q=1752629214236$LR•IPV4•27『线路2』 +儿童,http://free.cnlive.club/channel/33dc4490/index.m3u8?q=1752629214236$LR•IPV4•27『线路3』 +儿童,http://free.cnlive.club/channel/n149d9627/index.m3u8?q=1752629214236$LR•IPV4•27『线路4』 +儿童,http://free.cnlive.club/channel/5fe8f622/index.m3u8?q=1752629214236$LR•IPV4•27『线路5』 +儿童,http://free.cnlive.club/channel/7af110c4/index.m3u8?q=1752629214236$LR•IPV4•27『线路6』 +儿童,http://free.cnlive.club/channel/18a1ad0/index.m3u8?q=1752629214236$LR•IPV4•27『线路7』 +儿童,http://free.cnlive.club/channel/n70dedb3e/index.m3u8?q=1752629214236$LR•IPV4•27『线路8』 +儿童,http://free.cnlive.club/channel/n6567f5b8/index.m3u8?q=1752629214236$LR•IPV4•27『线路9』 +儿童,http://free.cnlive.club/channel/n6a165737/index.m3u8?q=1752629214236$LR•IPV4•27『线路10』 +儿童,http://free.cnlive.club/channel/n75fc9ff7/index.m3u8?q=1752629214236$LR•IPV4•27『线路11』 +儿童,p3p://167.114.175.6:55331/6233e0ca0000ca8f7da159a76b755519$LR•IPV4•27『线路12』 儿童,https://cdn10jtedge.indihometv.com/atm/DASH/cbeebies/manifest.mpd$LR•IPV4•27『线路13』 儿童,https://vs-cmaf-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:cbeebies_hd/iptv_hd_abr_v1.mpd$LR•IPV4•27『线路14』 儿童,http://193.46.58.239:8080/CbeebiesHD/index.m3u8$LR•IPV4•27『线路15』 @@ -1881,15 +1883,15 @@ FanpopTV,https://streaming-cl.sh1ny.space/memfs/e16d2f72-70b5-4bf5-b9c5-107b6390 儿童,https://jmp2.uk/plu-60fb01a24795a6000762fe83.m3u8$LR•IPV4•27『线路21』 儿童,https://trs1.aynaott.com/discoverykids/index.m3u8$LR•IPV4•27『线路22』 儿童,https://627bb251f23c7.streamlock.net:444/ExtremaKids/ExtremaKids/playlist.m3u8$LR•IPV4•27『线路23』 -儿童,p3p://167.114.175.6:55331/6506d1a00000a99a33d7555a4b747caa$LR•IPV4•27『线路24』 -儿童,p3p://167.114.175.6:55331/61e0f9f0000ec6db45a9e87848424184$LR•IPV4•27『线路25』 -儿童,https://amg02159-kcglobal-amg02159c1-samsung-in-521.playouts.now.amagi.tv/playlist/amg02159-kcglobal-animax-samsungin/playlist.m3u8$LR•IPV4•27『线路26』 +儿童,https://amg02159-kcglobal-amg02159c1-samsung-in-521.playouts.now.amagi.tv/playlist/amg02159-kcglobal-animax-samsungin/playlist.m3u8$LR•IPV4•27『线路24』 +儿童,p3p://167.114.175.6:55331/6506d1a00000a99a33d7555a4b747caa$LR•IPV4•27『线路25』 +儿童,p3p://167.114.175.6:55331/61e0f9f0000ec6db45a9e87848424184$LR•IPV4•27『线路26』 儿童,p3p://167.114.175.6:55331/64bea3f00002bdf919e6522520650b26$LR•IPV4•27『线路27』 🍹定制台☕️,#genre# 韩国娱乐台,https://stream1.freetv.fun/glo-bet-1.ctv$LR•IPV4 -贝爷,http://www.douzhicloud.site:35455/douyu/4332$LR•IPV4•2『线路1』 -贝爷,http://epg.112114.xyz/douyu/252802$LR•IPV4•2『线路2』 +贝爷,http://epg.112114.xyz/douyu/252802$LR•IPV4•2『线路1』 +贝爷,http://www.douzhicloud.site:35455/douyu/4332$LR•IPV4•2『线路2』 挨饿德•1,https://live.iill.top/huya/20985858$LR•IPV4•2『线路1』 挨饿德•1,http://dns.yiandrive.com:15907/huya/20985858$LR•IPV4•2『线路2』 挨饿德•2,https://live.iill.top/huya/17693860$LR•IPV4 @@ -1913,8 +1915,8 @@ Now Sports 7,p3p://167.114.175.6:55331/63ed990600010efde95784d4529f16d2$LR•IPV Now Sports Prime,p3p://167.114.175.6:55331/644edbcc0004d5a765428da71f967a86$LR•IPV4 Now紫金,p3p://167.114.175.6:55331/6427e42c00084703cd0c176f58dd37f1$LR•IPV4 黄金华剧台,p3p://167.114.175.6:55331/652970de00011277bb14dcd76e301cc0$LR•IPV4 -TiTV,https://hc9lby9bzw8zcar.wcetv.com/hls/titv.m3u8$LR•IPV4•2『线路1』 -TiTV,p3p://173.208.176.178:31809/64450b180002b23d3eeb784a0aa62e20$LR•IPV4•2『线路2』 +TiTV,p3p://173.208.176.178:31809/64450b180002b23d3eeb784a0aa62e20$LR•IPV4•2『线路1』 +TiTV,https://hc9lby9bzw8zcar.wcetv.com/hls/titv.m3u8$LR•IPV4•2『线路2』 IFUN爱放,p3p://167.114.175.6:55331/63ed9c5c0008711fe9648ea407167ba7$LR•IPV4 🍹定制P3P☕️,#genre# @@ -1937,10 +1939,10 @@ Now Golf 2,p3p://167.114.175.6:55331/65ac341b0001d490b9dd02ac4c2c28a0$LR•IPV4 Now Golf 3,p3p://167.114.175.6:55331/65ac34bf000aaf51b9df85914abe0ec4$LR•IPV4 Channel V,p3p://167.114.175.6:55331/657da67d0006060a0404d5987d1853db$LR•IPV4 Mytv Super18,p3p://167.114.175.6:55331/6506d591000d6d7733e6bdfb4725689e$LR•IPV4 -Star Movies,p3p://167.114.175.6:55331/6506c5e500027c7f33a9834b5d937568$LR•IPV4•4『线路1』 -Star Movies,http://92.36.202.5:10001/play/a01o$LR•IPV4•4『线路2』 -Star Movies,http://149.71.34.166:8000/play/a01f/index.m3u8$LR•IPV4•4『线路3』 -Star Movies,http://149.71.34.166:8000/play/a01g/index.m3u8$LR•IPV4•4『线路4』 +Star Movies,http://92.36.202.5:10001/play/a01o$LR•IPV4•4『线路1』 +Star Movies,http://149.71.34.166:8000/play/a01f/index.m3u8$LR•IPV4•4『线路2』 +Star Movies,http://149.71.34.166:8000/play/a01g/index.m3u8$LR•IPV4•4『线路3』 +Star Movies,p3p://167.114.175.6:55331/6506c5e500027c7f33a9834b5d937568$LR•IPV4•4『线路4』 NOW 668跑马,p3p://167.114.175.6:55331/6318b7730000b372fb7ca7e170c66e54$LR•IPV4 Cinemax HK,p3p://167.114.175.6:55331/65b1767d00058cdcce68527c3131148e$LR•IPV4 NOW 报价,p3p://167.114.175.6:55331/65acda400000be11bc6602f779434a76$LR•IPV4 @@ -1957,8 +1959,8 @@ C+,p3p://167.114.175.6:55331/65ac2e740004fbd2b9c6ef2b03744ac0$LR•IPV4•4『 Bein Sport 1,p3p://167.114.175.6:55331/667b10d1000e2b38149def9902d56b98$LR•IPV4 Bein Sport 2,p3p://167.114.175.6:55331/667b119a00012c7814a0fd5f0a4144be$LR•IPV4 Bein Sport 3,p3p://167.114.175.6:55331/667b130b000bb1a114a6a17a06ea671a$LR•IPV4 -Super Kids,p3p://167.114.175.6:55331/6506d285000b06bd33dad67a652e2bfd$LR•IPV4•2『线路1』 -Super Kids,https://jmp2.uk/plu-652557d93fd33c000802f995.m3u8$LR•IPV4•2『线路2』 +Super Kids,https://jmp2.uk/plu-652557d93fd33c000802f995.m3u8$LR•IPV4•2『线路1』 +Super Kids,p3p://167.114.175.6:55331/6506d285000b06bd33dad67a652e2bfd$LR•IPV4•2『线路2』 创世电视,p3p://167.114.175.6:55331/65ac3ff5000d8862ba0b51494dc3254e$LR•IPV4 面包台,p3p://167.114.175.6:55331/64c26e6d0003155c28b54a8561850853$LR•IPV4 神州新闻,p3p://167.114.175.6:55331/655e74f7000953678a2be18968661f5f$LR•IPV4 @@ -1978,68 +1980,68 @@ EYE旅游,p3p://167.114.175.6:55331/64c105a500023b4e2333fd1453e42393$LR•IPV4 尼克JR,p3p://167.114.175.6:55331/6233e05300064fcf7d9f8a39563b6c75$LR•IPV4 达芬奇,p3p://167.114.175.6:55331/62011f820008c9f3c33ae0231cf86a05$LR•IPV4 EL生活英语,p3p://167.114.175.6:55331/624888bb000b784ace507da37b7906ea$LR•IPV4 -Z,http://zbbf2.ahbztv.com/live/418.m3u8$LR•IPV4•15『线路1』 -Z,p3p://167.114.175.6:55331/64c7ce3f000afa423db36d3f378c386d$LR•IPV4•15『线路2』 -Z,https://live.artidijitalmedya.com/artidijital_kanalz/kanalz/playlist.m3u8$LR•IPV4•15『线路3』 -Z,http://s1.media-planet.sk/live/novezamky/BratuMarian.m3u8$LR•IPV4•15『线路4』 -Z,https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/CUXB534IAMTJM7Z4BKKS/hls3/now,-1m/m.m3u8?ads.vf=0RN164SO2bG$LR•IPV4•15『线路5』 -Z,https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/8WOSAE6HHWJY8KP8BW2C/hls3/now,-1m/m.m3u8?ads.vf=7-VUi572FgK$LR•IPV4•15『线路6』 -Z,https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/P6T1SCG4XU9MM36TQSB5/hls3/now,-1m/m.m3u8?ads.vf=4TlF3ABNLHW$LR•IPV4•15『线路7』 -Z,https://jmp2.uk/plu-68e8fd7c3ede4398bc69af93.m3u8$LR•IPV4•15『线路8』 -Z,https://d39g1vxj2ef6in.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/master.m3u8?ads.xumo_channelId=88883103$LR•IPV4•15『线路9』 -Z,https://amg02393-awpg-amg02393c3-rakuten-uk-2462.playouts.now.amagi.tv/playlist/amg02393-awpg-leszamours-rakutenuk/playlist.m3u8$LR•IPV4•15『线路10』 -Z,https://jmp2.uk/plu-652d0b756208700008d758ad.m3u8$LR•IPV4•15『线路11』 -Z,https://stream.ztv.zp.ua/hls/live.m3u8$LR•IPV4•15『线路12』 -Z,https://jmp2.uk/plu-66b3af48d2d50d00083d6936.m3u8$LR•IPV4•15『线路13』 -Z,https://d1hz1p2gea2zy4.cloudfront.net/live/rmgtv/RMG-TRENDSZFR-LIVE/index.m3u8$LR•IPV4•15『线路14』 -Z,https://d1hz1p2gea2zy4.cloudfront.net/live/rmgtv/RMG-TRENDSZNL-LIVE/index.m3u8$LR•IPV4•15『线路15』 +Z,https://live.artidijitalmedya.com/artidijital_kanalz/kanalz/playlist.m3u8$LR•IPV4•15『线路1』 +Z,http://s1.media-planet.sk/live/novezamky/BratuMarian.m3u8$LR•IPV4•15『线路2』 +Z,https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/CUXB534IAMTJM7Z4BKKS/hls3/now,-1m/m.m3u8?ads.vf=0RN164SO2bG$LR•IPV4•15『线路3』 +Z,https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/8WOSAE6HHWJY8KP8BW2C/hls3/now,-1m/m.m3u8?ads.vf=7-VUi572FgK$LR•IPV4•15『线路4』 +Z,https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/P6T1SCG4XU9MM36TQSB5/hls3/now,-1m/m.m3u8?ads.vf=4TlF3ABNLHW$LR•IPV4•15『线路5』 +Z,https://jmp2.uk/plu-68e8fd7c3ede4398bc69af93.m3u8$LR•IPV4•15『线路6』 +Z,https://d39g1vxj2ef6in.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/master.m3u8?ads.xumo_channelId=88883103$LR•IPV4•15『线路7』 +Z,https://amg02393-awpg-amg02393c3-rakuten-uk-2462.playouts.now.amagi.tv/playlist/amg02393-awpg-leszamours-rakutenuk/playlist.m3u8$LR•IPV4•15『线路8』 +Z,https://jmp2.uk/plu-652d0b756208700008d758ad.m3u8$LR•IPV4•15『线路9』 +Z,https://stream.ztv.zp.ua/hls/live.m3u8$LR•IPV4•15『线路10』 +Z,https://jmp2.uk/plu-66b3af48d2d50d00083d6936.m3u8$LR•IPV4•15『线路11』 +Z,https://d1hz1p2gea2zy4.cloudfront.net/live/rmgtv/RMG-TRENDSZFR-LIVE/index.m3u8$LR•IPV4•15『线路12』 +Z,https://d1hz1p2gea2zy4.cloudfront.net/live/rmgtv/RMG-TRENDSZNL-LIVE/index.m3u8$LR•IPV4•15『线路13』 +Z,p3p://167.114.175.6:55331/64c7ce3f000afa423db36d3f378c386d$LR•IPV4•15『线路14』 +Z,http://zbbf2.ahbztv.com/live/418.m3u8$LR•IPV4•15『线路15』 博斯无限1,p3p://167.114.175.6:55331/647cba27000a6f78186e481d11013645$LR•IPV4 博斯无限2,p3p://167.114.175.6:55331/6146901b0006875bea841df772893d7b$LR•IPV4 Star World,p3p://167.114.175.6:55331/621dc4640002052a2743501031f65ed4$LR•IPV4 HITS,https://89514e758f814907be6d14bbc0aa66b7.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-800-UK-SONYONEACTIONHITS-LG_UK/playlist.m3u8$LR•IPV4•34『线路1』 HITS,https://9f8e2ffcd87f4c469be7194e48f84874.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-802-UK-SONYONECOMEDYHITS-LG_UK/playlist.m3u8$LR•IPV4•34『线路2』 -HITS,http://108.181.20.255:27347/livehttpplay?channel_id=23074$LR•IPV4•34『线路3』 -HITS,http://108.181.20.255:27347/livehttpplay?channel_id=23011$LR•IPV4•34『线路4』 -HITS,http://37.27.111.214:8080/live/28/hls.m3u8$LR•IPV4•34『线路5』 -HITS,p3p://167.114.175.6:55331/6233e648000735057db6cf734adf440d$LR•IPV4•34『线路6』 -HITS,https://webtvstream.bhtelecom.ba/hls7/filmbox_premium.m3u8$LR•IPV4•34『线路7』 -HITS,http://88.212.15.19/live/test_film_boxpremium_hd_hevc/playlist.m3u8$LR•IPV4•34『线路8』 -HITS,http://46.149.191.217:9005/play/a01x$LR•IPV4•34『线路9』 -HITS,https://cdn10jtedge.indihometv.com/atm/DASH/hitsmovie/manifest.mpd$LR•IPV4•34『线路10』 -HITS,http://40.160.24.52/EPIX_2/index.m3u8$LR•IPV4•34『线路11』 -HITS,https://5098a8b860504a3690fd2e7c0a18d68f.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-817-FR-SONYONEHITSACTION-LG_FR/playlist.m3u8$LR•IPV4•34『线路12』 -HITS,https://7aa9671895264ec9a384dfed1b992171.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-818-FR-SONYONEHITSCOMDIE-LG_FR/playlist.m3u8$LR•IPV4•34『线路13』 -HITS,https://cdn10jtedge.indihometv.com/atm/DASH/hits/manifest.mpd$LR•IPV4•34『线路14』 -HITS,https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/MH8JAMWTLW2AQV5RA55S/hls3/now,-1m/m.m3u8?ads.vf=TGt7I6yRWZC$LR•IPV4•34『线路15』 -HITS,https://stream.ads.ottera.tv/playlist.m3u8?network_id=1058$LR•IPV4•34『线路16』 -HITS,https://mumt03.tangotv.in/CLASSICHITS/index.m3u8$LR•IPV4•34『线路17』 -HITS,https://mumt02.tangotv.in/EVERGREENHITS/index.m3u8$LR•IPV4•34『线路18』 -HITS,https://mumt01.tangotv.in/HINDIHITS/index.m3u8$LR•IPV4•34『线路19』 -HITS,https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/G7RPZJDZ6V3CRIAWTNFU/hls3/now,-1m/m.m3u8?ads.vf=vc24NGfvvqe$LR•IPV4•34『线路20』 -HITS,https://lotus.stingray.com/manifest/ose-237ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•34『线路21』 -HITS,https://d2tuyivcrvbj81.cloudfront.net/XITE_Christian_Hits.m3u8$LR•IPV4•34『线路22』 -HITS,http://31.148.48.15/Bridge_TV_Dance/index.m3u8$LR•IPV4•34『线路23』 -HITS,http://cm.hostlagarto.com:8081/hits360tv/hits360HD.myStream/playlist.m3u8$LR•IPV4•34『线路24』 -HITS,http://88.212.15.19/live/mb_hits/index.m3u8$LR•IPV4•34『线路25』 -HITS,https://test.946985.filegear-sg.me/proxy/a23981548880f405$LR•IPV4•34『线路26』 -HITS,https://stream.ottlive.co.in/punjabihits/index.m3u8$LR•IPV4•34『线路27』 -HITS,https://lotus.stingray.com/manifest/ose-214ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•34『线路28』 -HITS,https://d39g1vxj2ef6in.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/master.m3u8?ads.xumo_channelId=88883053$LR•IPV4•34『线路29』 -HITS,https://lotus.stingray.com/manifest/ose-155ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•34『线路30』 -HITS,https://d39g1vxj2ef6in.cloudfront.net/v1/manifest/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/54947915-6504-4548-aaef-eabd451f8607/1.m3u8$LR•IPV4•34『线路31』 -HITS,https://vglivessai.akamaized.net/sg/v1/master/611d79b11b77e2f571934fd80ca1413453772ac7/e11b0319-52e8-4190-ab03-3931cc68eac9/index.m3u8$LR•IPV4•34『线路32』 -HITS,https://d726x48n2pd5h.cloudfront.net/XITE_Hits.m3u8$LR•IPV4•34『线路33』 -HITS,https://d726x48n2pd5h.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-skxr1pazhltvp/XITE_Hits.m3u8$LR•IPV4•34『线路34』 +HITS,https://webtvstream.bhtelecom.ba/hls7/filmbox_premium.m3u8$LR•IPV4•34『线路3』 +HITS,http://88.212.15.19/live/test_film_boxpremium_hd_hevc/playlist.m3u8$LR•IPV4•34『线路4』 +HITS,http://46.149.191.217:9005/play/a01x$LR•IPV4•34『线路5』 +HITS,https://cdn10jtedge.indihometv.com/atm/DASH/hitsmovie/manifest.mpd$LR•IPV4•34『线路6』 +HITS,http://40.160.24.52/EPIX_2/index.m3u8$LR•IPV4•34『线路7』 +HITS,https://5098a8b860504a3690fd2e7c0a18d68f.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-817-FR-SONYONEHITSACTION-LG_FR/playlist.m3u8$LR•IPV4•34『线路8』 +HITS,https://7aa9671895264ec9a384dfed1b992171.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-818-FR-SONYONEHITSCOMDIE-LG_FR/playlist.m3u8$LR•IPV4•34『线路9』 +HITS,https://cdn10jtedge.indihometv.com/atm/DASH/hits/manifest.mpd$LR•IPV4•34『线路10』 +HITS,https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/MH8JAMWTLW2AQV5RA55S/hls3/now,-1m/m.m3u8?ads.vf=TGt7I6yRWZC$LR•IPV4•34『线路11』 +HITS,https://stream.ads.ottera.tv/playlist.m3u8?network_id=1058$LR•IPV4•34『线路12』 +HITS,https://mumt03.tangotv.in/CLASSICHITS/index.m3u8$LR•IPV4•34『线路13』 +HITS,https://mumt02.tangotv.in/EVERGREENHITS/index.m3u8$LR•IPV4•34『线路14』 +HITS,https://mumt01.tangotv.in/HINDIHITS/index.m3u8$LR•IPV4•34『线路15』 +HITS,https://d3s7x6kmqcnb6b.cloudfront.net/d/distro001a/G7RPZJDZ6V3CRIAWTNFU/hls3/now,-1m/m.m3u8?ads.vf=vc24NGfvvqe$LR•IPV4•34『线路16』 +HITS,https://lotus.stingray.com/manifest/ose-237ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•34『线路17』 +HITS,https://d2tuyivcrvbj81.cloudfront.net/XITE_Christian_Hits.m3u8$LR•IPV4•34『线路18』 +HITS,http://31.148.48.15/Bridge_TV_Dance/index.m3u8$LR•IPV4•34『线路19』 +HITS,http://cm.hostlagarto.com:8081/hits360tv/hits360HD.myStream/playlist.m3u8$LR•IPV4•34『线路20』 +HITS,http://88.212.15.19/live/mb_hits/index.m3u8$LR•IPV4•34『线路21』 +HITS,https://test.946985.filegear-sg.me/proxy/a23981548880f405$LR•IPV4•34『线路22』 +HITS,https://stream.ottlive.co.in/punjabihits/index.m3u8$LR•IPV4•34『线路23』 +HITS,https://lotus.stingray.com/manifest/ose-214ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•34『线路24』 +HITS,https://d39g1vxj2ef6in.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/master.m3u8?ads.xumo_channelId=88883053$LR•IPV4•34『线路25』 +HITS,https://lotus.stingray.com/manifest/ose-155ads-montreal/samsungtvplus/master.m3u8$LR•IPV4•34『线路26』 +HITS,https://d39g1vxj2ef6in.cloudfront.net/v1/manifest/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/54947915-6504-4548-aaef-eabd451f8607/1.m3u8$LR•IPV4•34『线路27』 +HITS,https://vglivessai.akamaized.net/sg/v1/master/611d79b11b77e2f571934fd80ca1413453772ac7/e11b0319-52e8-4190-ab03-3931cc68eac9/index.m3u8$LR•IPV4•34『线路28』 +HITS,https://d726x48n2pd5h.cloudfront.net/XITE_Hits.m3u8$LR•IPV4•34『线路29』 +HITS,https://d726x48n2pd5h.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-skxr1pazhltvp/XITE_Hits.m3u8$LR•IPV4•34『线路30』 +HITS,http://37.27.111.214:8080/live/28/hls.m3u8$LR•IPV4•34『线路31』 +HITS,p3p://167.114.175.6:55331/6233e648000735057db6cf734adf440d$LR•IPV4•34『线路32』 +HITS,http://108.181.20.255:27347/livehttpplay?channel_id=23074$LR•IPV4•34『线路33』 +HITS,http://108.181.20.255:27347/livehttpplay?channel_id=23011$LR•IPV4•34『线路34』 探索亚洲,p3p://167.114.175.6:55331/623bc4f4000da3919c742e942bdb3571$LR•IPV4 中旺电视,p3p://167.114.175.6:55331/5fe09c570001addf7454c44e021f76be$LR•IPV4 龙华影剧,p3p://167.114.175.6:55331/65e4428e00043fa694d464e62de86858$LR•IPV4 爱尔达影剧,p3p://167.114.175.6:55331/644f91780000980d6808346f494d7ec1$LR•IPV4 -公视,http://211.72.174.95:8116/0.ts$LR•IPV4•6『线路1』 -公视,http://220.135.241.47:8305/0.ts$LR•IPV4•6『线路2』 -公视,http://74.91.26.218:82/live/pts.m3u8$LR•IPV4•6『线路3』 -公视,http://74.91.26.218:82/live/ptsse.m3u8$LR•IPV4•6『线路4』 -公视,http://74.91.26.218:82/live/ptsty.m3u8$LR•IPV4•6『线路5』 -公视,p3p://167.114.175.6:55331/63ebf0b7000e7d27e2de13a9113e7096$LR•IPV4•6『线路6』 +公视,http://74.91.26.218:82/live/pts.m3u8$LR•IPV4•6『线路1』 +公视,http://74.91.26.218:82/live/ptsse.m3u8$LR•IPV4•6『线路2』 +公视,http://74.91.26.218:82/live/ptsty.m3u8$LR•IPV4•6『线路3』 +公视,p3p://167.114.175.6:55331/63ebf0b7000e7d27e2de13a9113e7096$LR•IPV4•6『线路4』 +公视,http://211.72.174.95:8116/0.ts$LR•IPV4•6『线路5』 +公视,http://220.135.241.47:8305/0.ts$LR•IPV4•6『线路6』 Eleven 1,p3p://167.114.175.6:55331/6027f40400042e0d8b002a1b0af27e77$LR•IPV4 Eleven 2,p3p://167.114.175.6:55331/6025f1d0000440c783278efb13a4147e$LR•IPV4 Momo亲子,p3p://167.114.175.6:55331/61e0ffbf000c4e3545c098666cb76c2d$LR•IPV4 @@ -2065,28 +2067,28 @@ Life Time,p3p://167.114.175.6:55331/6233e3870008739f7dac0de912e2311a$LR•IPV4 爱尔达体育4,p3p://167.114.175.6:55331/6561b7fc0008015996e9acc674481614$LR•IPV4 历史2,p3p://167.114.175.6:55331/6233e2240002d3af7da6a1bf693a1ed5$LR•IPV4 Trace Sport,https://lightning-tracesport-samsungau.amagi.tv/playlist.m3u8$LR•IPV4•4『线路1』 -Trace Sport,p3p://167.114.175.6:55331/644faccf000c7b6368730354764b17ed$LR•IPV4•4『线路2』 -Trace Sport,https://stream8.cinerama.uz/1274/tracks-v1a1/mono.m3u8$LR•IPV4•4『线路3』 -Trace Sport,https://channels.trace.plus/Traceprod/TRACE_SPORT_STARS_sd/index.m3u8$LR•IPV4•4『线路4』 +Trace Sport,https://stream8.cinerama.uz/1274/tracks-v1a1/mono.m3u8$LR•IPV4•4『线路2』 +Trace Sport,https://channels.trace.plus/Traceprod/TRACE_SPORT_STARS_sd/index.m3u8$LR•IPV4•4『线路3』 +Trace Sport,p3p://167.114.175.6:55331/644faccf000c7b6368730354764b17ed$LR•IPV4•4『线路4』 韩国娱乐,p3p://167.114.175.6:55331/621e16b0000ec4772884cc295a1614a8$LR•IPV4 爱尔达娱乐,p3p://167.114.175.6:55331/6655f9670006cadc83bb27fd61065f47$LR•IPV4 -Cinemax,http://23.237.104.106:8080/USA_CINEMAX/tracks-v1a1/mono.m3u8$LR•IPV4•4『线路1』 -Cinemax,http://23.237.104.106:8080/USA_MOREMAX/mono.m3u8$LR•IPV4•4『线路2』 -Cinemax,http://23.237.104.106:8080/USA_5STARMAX/tracks-v1a1/mono.m3u8$LR•IPV4•4『线路3』 -Cinemax,p3p://167.114.175.6:55331/64ce039d0009f00b55f3e422778f3af3$LR•IPV4•4『线路4』 +Cinemax,p3p://167.114.175.6:55331/64ce039d0009f00b55f3e422778f3af3$LR•IPV4•4『线路1』 +Cinemax,http://23.237.104.106:8080/USA_CINEMAX/tracks-v1a1/mono.m3u8$LR•IPV4•4『线路2』 +Cinemax,http://23.237.104.106:8080/USA_MOREMAX/mono.m3u8$LR•IPV4•4『线路3』 +Cinemax,http://23.237.104.106:8080/USA_5STARMAX/tracks-v1a1/mono.m3u8$LR•IPV4•4『线路4』 Catchplay,p3p://167.114.175.6:55331/6258e5c9000dd0d00e3b184c1b9c4f4c$LR•IPV4•2『线路1』 Catchplay,p3p://167.114.175.6:55331/624886bd0005941ace48b3ef71407d9e$LR•IPV4•2『线路2』 Cinema World,p3p://167.114.175.6:55331/6233e8f1000112b17dc1320c7d1c4049$LR•IPV4 MyCinemaEurope,p3p://167.114.175.6:55331/6233fc79000a0ea07e0d7fa1125015d0$LR•IPV4 -Boomerang,http://23.237.104.106:8080/USA_BOOMERANG/index.m3u8$LR•IPV4•2『线路1』 -Boomerang,p3p://167.114.175.6:55331/621e313f0005594c28ec88582a49029c$LR•IPV4•2『线路2』 +Boomerang,p3p://167.114.175.6:55331/621e313f0005594c28ec88582a49029c$LR•IPV4•2『线路1』 +Boomerang,http://23.237.104.106:8080/USA_BOOMERANG/index.m3u8$LR•IPV4•2『线路2』 爱尔达综合,p3p://167.114.175.6:55331/644f9341000c1001680f3089032174aa$LR•IPV4 卫视西片,p3p://167.114.175.6:55331/60c79e440000ec5bfaa9367854ba796d$LR•IPV4 原住民电视,p3p://167.114.175.6:55331/64450b180002b23d3eeb784a0aa62e20$LR•IPV4 EVE,p3p://167.114.175.6:55331/6445172e000920783f1aafee754f43e4$LR•IPV4 Classica古典音乐,p3p://167.114.175.6:55331/6452b4f1000c38e8744ac80744c33d67$LR•IPV4 -Mezzo Live,p3p://167.114.175.6:55331/6452bcb000039d52746907f4476f5e7b$LR•IPV4•2『线路1』 -Mezzo Live,https://test.946985.filegear-sg.me/proxy/749755700e4ed9c6$LR•IPV4•2『线路2』 +Mezzo Live,https://test.946985.filegear-sg.me/proxy/749755700e4ed9c6$LR•IPV4•2『线路1』 +Mezzo Live,p3p://167.114.175.6:55331/6452bcb000039d52746907f4476f5e7b$LR•IPV4•2『线路2』 UniverseTV,p3p://167.114.175.6:55331/644fbb7c0004a5e968ac550c11f72df5$LR•IPV4 Global Trekker,p3p://167.114.175.6:55331/644fb34f000f396e688c67ff6b147338$LR•IPV4 高点综合,p3p://167.114.175.6:55331/66451f170007dee141e6b5b207f34f57$LR•IPV4 @@ -2095,12 +2097,12 @@ Global Trekker,p3p://167.114.175.6:55331/644fb34f000f396e688c67ff6b147338$LR•I ELtoday综合,p3p://167.114.175.6:55331/64c7d0cb0005131a3dbd5e9f3e8523f2$LR•IPV4 国会 1,p3p://167.114.175.6:55331/64ce0646000722d755fe479603e64ba8$LR•IPV4 国会 2,p3p://167.114.175.6:55331/64ce06980008b4f755ff884d646a56da$LR•IPV4 -SMART,p3p://167.114.175.6:55331/64e367a800053465a982145d191f168f$LR•IPV4•4『线路1』 -SMART,https://raw.githubusercontent.com/Sibprod/streams/main/ressources/dm/py/hls/bsmart.m3u8$LR•IPV4•4『线路2』 -SMART,https://amg16109-shgliving-amg16109c1-klowdtv-us-2235.playouts.now.amagi.tv/playlist/amg16109-shglivingnetwork-smarthealthygreenliving-klowdtvus/playlist.m3u8$LR•IPV4•4『线路3』 -SMART,https://brightstar-sls-pull-secure.akamaized.net/brightstarsls/stream.m3u8$LR•IPV4•4『线路4』 -CMUSIC,p3p://167.114.175.6:55331/64e368dc000e5b23a986c9d62f9604df$LR•IPV4•2『线路1』 -CMUSIC,https://lotus.stingray.com/manifest/cmusic-cme004-montreal/samsungtvplus/master.m3u8$LR•IPV4•2『线路2』 +SMART,https://raw.githubusercontent.com/Sibprod/streams/main/ressources/dm/py/hls/bsmart.m3u8$LR•IPV4•4『线路1』 +SMART,https://amg16109-shgliving-amg16109c1-klowdtv-us-2235.playouts.now.amagi.tv/playlist/amg16109-shglivingnetwork-smarthealthygreenliving-klowdtvus/playlist.m3u8$LR•IPV4•4『线路2』 +SMART,https://brightstar-sls-pull-secure.akamaized.net/brightstarsls/stream.m3u8$LR•IPV4•4『线路3』 +SMART,p3p://167.114.175.6:55331/64e367a800053465a982145d191f168f$LR•IPV4•4『线路4』 +CMUSIC,https://lotus.stingray.com/manifest/cmusic-cme004-montreal/samsungtvplus/master.m3u8$LR•IPV4•2『线路1』 +CMUSIC,p3p://167.114.175.6:55331/64e368dc000e5b23a986c9d62f9604df$LR•IPV4•2『线路2』 Rock Entertainmen,p3p://167.114.175.6:55331/65ad27c7000dfceebd94ddb20bec19f4$LR•IPV4 台湾戏剧,p3p://167.114.175.6:55331/65db6918000269797243208140f3251f$LR•IPV4 视纳华仁纪实,p3p://167.114.175.6:55331/62c9a3be00088219c69bba2111fd091e$LR•IPV4 @@ -2110,14 +2112,14 @@ Rock Entertainmen,p3p://167.114.175.6:55331/65ad27c7000dfceebd94ddb20bec19f4$LR 凤凰美洲,p3p://167.114.175.6:55331/5fe00fca0004e627722fbe5a480a642f$LR•IPV4 💓英语频道,#genre# -Red Bull TV,https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_1660.m3u8$LR•IPV4•8『线路1』 -Red Bull TV,http://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_6660.m3u8$LR•IPV4•8『线路2』 -Red Bull TV,https://3ea22335.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWdiX1JlZEJ1bGxUVl9ITFM/playlist.m3u8$LR•IPV4•8『线路3』 -Red Bull TV,https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master.m3u8$LR•IPV4•8『线路4』 -Red Bull TV,https://db34cc6127ac459db55cab5f97cd66b9.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-680-WORBAUENFAST-WHALETVPLUS/680/whaletvplus/hls/master/playlist.m3u8$LR•IPV4•8『线路5』 -Red Bull TV,https://d03ae6b5c6724c24867e97a3dc04934a.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-1026-WORBBRPTFAST-WHALETVPLUS/1026/hls/master/playlist.m3u8$LR•IPV4•8『线路6』 -Red Bull TV,https://46cfeb23c7f74853bba7a256655a3119.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-582-WORBDACHDEFAST-WHALETVPLUS/582/whaletvplus/hls/master/playlist.m3u8$LR•IPV4•8『线路7』 -Red Bull TV,https://886bd3fbc782459f8de7555d32d7e9ce.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-957-WORBLATAMESFAST-WHALETVPLUS/957/whaletvplus/hls/master/playlist.m3u8$LR•IPV4•8『线路8』 +Red Bull TV,https://3ea22335.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWdiX1JlZEJ1bGxUVl9ITFM/playlist.m3u8$LR•IPV4•8『线路1』 +Red Bull TV,https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master.m3u8$LR•IPV4•8『线路2』 +Red Bull TV,https://db34cc6127ac459db55cab5f97cd66b9.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-680-WORBAUENFAST-WHALETVPLUS/680/whaletvplus/hls/master/playlist.m3u8$LR•IPV4•8『线路3』 +Red Bull TV,https://d03ae6b5c6724c24867e97a3dc04934a.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-1026-WORBBRPTFAST-WHALETVPLUS/1026/hls/master/playlist.m3u8$LR•IPV4•8『线路4』 +Red Bull TV,https://46cfeb23c7f74853bba7a256655a3119.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-582-WORBDACHDEFAST-WHALETVPLUS/582/whaletvplus/hls/master/playlist.m3u8$LR•IPV4•8『线路5』 +Red Bull TV,https://886bd3fbc782459f8de7555d32d7e9ce.mediatailor.us-west-2.amazonaws.com/v1/master/ba62fe743df0fe93366eba3a257d792884136c7f/LINEAR-957-WORBLATAMESFAST-WHALETVPLUS/957/whaletvplus/hls/master/playlist.m3u8$LR•IPV4•8『线路6』 +Red Bull TV,http://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_6660.m3u8$LR•IPV4•8『线路7』 +Red Bull TV,https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_1660.m3u8$LR•IPV4•8『线路8』 FRANCE24 English,http://aktv.top/AKTV/live/aktv3/france24/AKTV.m3u8$LR•IPV4 BAND NEWS,https://stream1.freetv.fun/band-news-2.ctv$LR•IPV4•2『线路1』 BAND NEWS,https://stream1.freetv.fun/band-news-1.m3u8$LR•IPV4•2『线路2』 @@ -2133,276 +2135,279 @@ Loupe 4K,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4726&tk=f6cc1e0a0e1a$LR•IP 💓4K(Auto),#genre# 北京纪实8K,https://gdcucc.v1.mk/gdcucc/brtv8k.m3u8$LR•IPV4•2『线路1』 北京纪实8K,http://101.35.240.114:88/brtv8k.php$LR•IPV4•2『线路2』 -北京4K,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226550/1.m3u8?GuardEncType=2&accountinfo=~~V2.0~e2qS8h6u-xp3gd50vNr1sw~_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPPFD3HVWEytEVyliOxehfe%2CEND$LR•IPV6 +北京4K,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226550/1.m3u8?GuardEncType=2&accountinfo=~~V2.0~e2qS8h6u-xp3gd50vNr1sw~_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPPFD3HVWEytEVyliOxehfe%2CEND$LR•IPV6•2『线路1』 +北京4K,http://ikuai.zlsip.top:4022/rtp/239.3.1.249:8001$LR•IPV4•2『线路2』 4K-1,http://101.43.145.141:12002/itv/3000000010000005180.m3u8?cdn=FifastbLive$LR•IPV4 4K-2,http://101.43.145.141:12002/itv/3000000010000015686.m3u8?cdn=FifastbLive$LR•IPV4 🌐央视频道,#genre# -CCTV兵器,http://60.10.139.113:8801/hls/72/index.m3u8$LR•IPV4•3『线路1』 -CCTV兵器,http://38.75.136.137:98/gslb/dsdqpub/gfjs.m3u8?auth=testpub$LR•IPV4•3『线路2』 -CCTV兵器,http://38.75.136.137:98/gslb/dsdqpub/bqkj.m3u8?auth=testpub$LR•IPV4•3『线路3』 -CCTV,https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783958400-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-959a72eda110cbf62c6253396fd9bd72&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•229『线路1』 -CCTV,http://183.196.25.171:808/hls/77/index.m3u8$LR•IPV4•229『线路2』 -CCTV,http://183.196.25.171:808/hls/11/index.m3u8$LR•IPV4•229『线路3』 -CCTV,http://183.196.25.171:808/hls/93/index.m3u8$LR•IPV4•229『线路4』 -CCTV,https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783926000-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-3a5ada4e3e78e41f69387ee0c7a77164&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•229『线路5』 -CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226895/1.m3u8?$LR•IPV6•229『线路6』 -CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226893/1.m3u8?$LR•IPV6•229『线路7』 -CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226471/1.m3u8?$LR•IPV6•229『线路8』 -CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226335/1.m3u8?$LR•IPV6•229『线路9』 -CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226469/1.m3u8?$LR•IPV6•229『线路10』 -CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226468/1.m3u8?$LR•IPV6•229『线路11』 -CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226946/1.m3u8?$LR•IPV6•229『线路12』 -CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226485/1.m3u8?$LR•IPV6•229『线路13』 -CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226944/1.m3u8?$LR•IPV6•229『线路14』 -CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226937/1.m3u8?$LR•IPV6•229『线路15』 -CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226334/1.m3u8?$LR•IPV6•229『线路16』 -CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226942/1.m3u8?$LR•IPV6•229『线路17』 -CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226316/1.m3u8?$LR•IPV6•229『线路18』 -CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226947/1.m3u8?$LR•IPV6•229『线路19』 -CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226333/1.m3u8?$LR•IPV6•229『线路20』 -CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227002/1.m3u8?$LR•IPV6•229『线路21』 -CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226318/1.m3u8?$LR•IPV6•229『线路22』 -CCTV,http://222.169.85.8:9901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•229『线路23』 -CCTV,http://116.128.243.121:85/tsfile/live/0002_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•229『线路24』 -CCTV,http://222.223.41.27:8888/hls/2/index.m3u8$LR•IPV4•229『线路25』 -CCTV,http://173.208.212.130:8181/720p/cctv2.m3u8$LR•IPV4•229『线路26』 -CCTV,http://207.56.13.146:81/cdnlive/cctv3.m3u8$LR•IPV4•229『线路27』 -CCTV,http://222.223.41.27:8888/hls/4/index.m3u8$LR•IPV4•229『线路28』 -CCTV,http://222.223.41.27:8888/hls/5/index.m3u8$LR•IPV4•229『线路29』 -CCTV,http://222.223.41.27:8888/hls/7/index.m3u8$LR•IPV4•229『线路30』 -CCTV,http://74.91.26.218:82/live/cctv7hd.m3u8$LR•IPV4•229『线路31』 -CCTV,http://207.56.13.146:81/cdnlive/cctv7.m3u8$LR•IPV4•229『线路32』 -CCTV,http://38.75.136.137:98/gslb/dsdqbv/cctv7hd.m3u8?auth=test20251009$LR•IPV4•229『线路33』 -CCTV,http://192.151.150.154/live/cctv7hd.m3u8$LR•IPV4•229『线路34』 -CCTV,http://74.91.26.218:82/live/cctv8hd.m3u8$LR•IPV4•229『线路35』 -CCTV,http://69.30.245.50/live/cctv8.m3u8$LR•IPV4•229『线路36』 -CCTV,http://207.56.13.146:81/cdnlive/cctv8.m3u8$LR•IPV4•229『线路37』 -CCTV,http://173.208.212.130:8181/1080p/cctv8.m3u8$LR•IPV4•229『线路38』 -CCTV,http://222.223.41.27:8888/hls/9/index.m3u8$LR•IPV4•229『线路39』 -CCTV,http://207.56.13.146:81/cdnlive/cctv9.m3u8$LR•IPV4•229『线路40』 -CCTV,https://hwapi.yntv.net/ew265l/z1z6s5.m3u8$LR•IPV4•229『线路41』 -CCTV,http://222.223.41.27:8888/hls/10/index.m3u8$LR•IPV4•229『线路42』 -CCTV,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=cctv10hd$LR•IPV4•229『线路43』 -CCTV,http://113.25.252.226:9901/tsfile/live/1014_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•229『线路44』 -CCTV,http://74.91.26.218:82/live/cctv11hd.m3u8$LR•IPV4•229『线路45』 -CCTV,http://222.223.41.27:8888/hls/12/index.m3u8$LR•IPV4•229『线路46』 -CCTV,http://38.75.136.137:98/gslb/dsdqbv/cctv12hd.m3u8?auth=test20251009$LR•IPV4•229『线路47』 -CCTV,https://event.pull.hebtv.com/jishi/cp1.m3u8$LR•IPV4•229『线路48』 -CCTV,http://74.91.26.218:82/live/cctv14hd.m3u8$LR•IPV4•229『线路49』 -CCTV,https://event.pull.hebtv.com/jishi/cp2.m3u8$LR•IPV4•229『线路50』 -CCTV,http://222.223.41.27:8888/hls/14/index.m3u8$LR•IPV4•229『线路51』 -CCTV,http://204.12.221.218:8181/3m1080p/cctv14.m3u8$LR•IPV4•229『线路52』 -CCTV,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=cctv14hd$LR•IPV4•229『线路53』 -CCTV,http://173.208.212.130:8181/720p/cctv14.m3u8$LR•IPV4•229『线路54』 -CCTV,http://222.223.41.27:8888/hls/15/index.m3u8$LR•IPV4•229『线路55』 -CCTV,http://173.208.212.130:8181/720p/cctv15.m3u8$LR•IPV4•229『线路56』 -CCTV,http://38.75.136.137:98/gslb/dsdqbv/cctv17hd.m3u8?auth=test20251009$LR•IPV4•229『线路57』 -CCTV,http://38.75.136.137:98/gslb/dsdqpub/cctv17hd.m3u8?auth=testpub$LR•IPV4•229『线路58』 -CCTV,https://shcm-stream-cf1.stream.264788.xyz/cms001/ch00000090990000001620/index.m3u8?streamid=8a034b40397504e25b3775c772237996&streamkey=01vY5fRxC8VyKg4oq30vfikHXTCAKySLP29l6OG91kQlzDttHgzNLkUw5kivm3PfNsVHJv5FgdsPBYFYI2IWpt7tfRCuFHqLT2pvX67ubMds8jl2DHtvOh0&token=1775754349-4f33f4f84a4abeba-0-91687dc8c9325092efa1d00f330d2710$LR•IPV4•229『线路59』 -CCTV,https://epg.pw/stream/ca9c1cd4b97fb824cedd7fedfd0c7a950afdd7f00751cfbb7c2d89831d7746a5.m3u8$LR•IPV4•229『线路60』 -CCTV,https://epg.pw/stream/6d7bf281e3d739806a73f5373acaa6e01988ec9739f5ac1355ce54b47a928472.m3u8$LR•IPV4•229『线路61』 -CCTV,http://74.91.26.218:82/live/cctv2hd.m3u8$LR•IPV4•229『线路62』 -CCTV,http://74.91.26.218:82/live/cctv3hd.m3u8$LR•IPV4•229『线路63』 -CCTV,http://69.30.245.50/live/cctv6.m3u8$LR•IPV4•229『线路64』 -CCTV,http://74.91.26.218:82/live/cctv10hd.m3u8$LR•IPV4•229『线路65』 -CCTV,https://xykt-fix.github.io/play/a02e/index.m3u8$LR•IPV4•229『线路66』 -CCTV,http://74.91.26.218:82/live/cctv17hd.m3u8$LR•IPV4•229『线路67』 -CCTV,http://60.10.139.113:8801/hls/64/index.m3u8$LR•IPV4•229『线路68』 -CCTV,http://60.10.139.113:8801/hls/65/index.m3u8$LR•IPV4•229『线路69』 -CCTV,http://60.10.139.113:8801/hls/66/index.m3u8$LR•IPV4•229『线路70』 -CCTV,http://60.10.139.113:8801/hls/67/index.m3u8$LR•IPV4•229『线路71』 -CCTV,http://60.10.139.113:8801/hls/68/index.m3u8$LR•IPV4•229『线路72』 -CCTV,http://60.10.139.113:8801/hls/69/index.m3u8$LR•IPV4•229『线路73』 -CCTV,http://60.10.139.113:8801/hls/70/index.m3u8$LR•IPV4•229『线路74』 -CCTV,http://60.10.139.113:8801/hls/79/index.m3u8$LR•IPV4•229『线路75』 -CCTV,http://60.10.139.113:8801/hls/80/index.m3u8$LR•IPV4•229『线路76』 -CCTV,http://60.10.139.113:8801/hls/73/index.m3u8$LR•IPV4•229『线路77』 -CCTV,http://207.56.13.146:81/cdnlive/cctv1.m3u8$LR•IPV4•229『线路78』 -CCTV,http://207.56.13.146:81/cdnlive/cctv2.m3u8$LR•IPV4•229『线路79』 -CCTV,http://207.56.13.146:81/cdnlive/cctv4.m3u8$LR•IPV4•229『线路80』 -CCTV,http://207.56.13.146:81/cdnlive/cctv5.m3u8$LR•IPV4•229『线路81』 -CCTV,http://207.56.13.146:81/cdnlive/cctv6.m3u8$LR•IPV4•229『线路82』 -CCTV,http://207.56.13.146:81/cdnlive/cctv10.m3u8$LR•IPV4•229『线路83』 -CCTV,http://207.56.13.146:81/cdnlive/cctv11.m3u8$LR•IPV4•229『线路84』 -CCTV,http://207.56.13.146:81/cdnlive/cctv12.m3u8$LR•IPV4•229『线路85』 -CCTV,http://207.56.13.146:81/cdnlive/cctv13.m3u8$LR•IPV4•229『线路86』 -CCTV,http://207.56.13.146:81/cdnlive/cctv14.m3u8$LR•IPV4•229『线路87』 -CCTV,http://207.56.13.146:81/cdnlive/cctv15.m3u8$LR•IPV4•229『线路88』 -CCTV,http://207.56.13.146:81/cdnlive/cctv16.m3u8$LR•IPV4•229『线路89』 -CCTV,http://207.56.13.146:81/cdnlive/cctv17.m3u8$LR•IPV4•229『线路90』 -CCTV,http://207.56.13.146:81/cdnlive/cctv5p.m3u8$LR•IPV4•229『线路91』 -CCTV,http://207.56.13.146:81/cdnlive/gfjs.m3u8$LR•IPV4•229『线路92』 -CCTV,http://207.56.13.146:81/cdnlive/nxss.m3u8$LR•IPV4•229『线路93』 -CCTV,http://207.56.13.146:81/cdnlive/sjdl.m3u8$LR•IPV4•229『线路94』 -CCTV,http://207.56.13.146:81/cdnlive/wsjk.m3u8$LR•IPV4•229『线路95』 -CCTV,http://207.56.13.146:81/cdnlive/ysjp.m3u8$LR•IPV4•229『线路96』 -CCTV,http://207.56.13.146:81/cdnlive/dyjc.m3u8$LR•IPV4•229『线路97』 -CCTV,http://207.56.13.146:81/cdnlive/hjjc.m3u8$LR•IPV4•229『线路98』 -CCTV,http://207.56.13.146:81/cdnlive/fyjc.m3u8$LR•IPV4•229『线路99』 -CCTV,http://207.56.13.146:81/cdnlive/fyzq.m3u8$LR•IPV4•229『线路100』 -CCTV,http://207.56.13.146:81/cdnlive/fyyy.m3u8$LR•IPV4•229『线路101』 -CCTV,http://207.56.13.146:81/cdnlive/ystq.m3u8$LR•IPV4•229『线路102』 -CCTV,http://207.56.13.146:81/cdnlive/gefwq.m3u8$LR•IPV4•229『线路103』 -CCTV,http://192.151.150.154/live/cctv1hd.m3u8$LR•IPV4•229『线路104』 -CCTV,http://192.151.150.154/live/cctv2hd.m3u8$LR•IPV4•229『线路105』 -CCTV,http://192.151.150.154/live/cctv3hd.m3u8$LR•IPV4•229『线路106』 -CCTV,http://192.151.150.154/live/cctv4hd.m3u8$LR•IPV4•229『线路107』 -CCTV,http://192.151.150.154/live/cctv5hd.m3u8$LR•IPV4•229『线路108』 -CCTV,http://192.151.150.154/live/cctv5p.m3u8$LR•IPV4•229『线路109』 -CCTV,http://192.151.150.154/live/cctv6hd.m3u8$LR•IPV4•229『线路110』 -CCTV,http://192.151.150.154/live/cctv8hd.m3u8$LR•IPV4•229『线路111』 -CCTV,http://192.151.150.154/live/cctv9hd.m3u8$LR•IPV4•229『线路112』 -CCTV,http://192.151.150.154/live/cctv10hd.m3u8$LR•IPV4•229『线路113』 -CCTV,http://192.151.150.154/live/cctv11hd.m3u8$LR•IPV4•229『线路114』 -CCTV,http://192.151.150.154/live/cctv12hd.m3u8$LR•IPV4•229『线路115』 -CCTV,http://192.151.150.154/live/cctv13hd.m3u8$LR•IPV4•229『线路116』 -CCTV,http://192.151.150.154/live/cctv14hd.m3u8$LR•IPV4•229『线路117』 -CCTV,http://192.151.150.154/live/cctv15hd.m3u8$LR•IPV4•229『线路118』 -CCTV,http://192.151.150.154/live/cctv16hd.m3u8$LR•IPV4•229『线路119』 -CCTV,http://192.151.150.154/live/cctv17hd.m3u8$LR•IPV4•229『线路120』 -CCTV,http://192.151.150.154/live/cctv8k.m3u8$LR•IPV4•229『线路121』 -CCTV,http://192.151.150.154/live/dszn.m3u8$LR•IPV4•229『线路122』 -CCTV,http://192.151.150.154/live/dyjc.m3u8$LR•IPV4•229『线路123』 -CCTV,http://192.151.150.154/live/fyjc.m3u8$LR•IPV4•229『线路124』 -CCTV,http://192.151.150.154/live/fyyy.m3u8$LR•IPV4•229『线路125』 -CCTV,http://192.151.150.154/live/fyzq.m3u8$LR•IPV4•229『线路126』 -CCTV,http://192.151.150.154/live/gefwq.m3u8$LR•IPV4•229『线路127』 -CCTV,http://192.151.150.154/live/gfjs.m3u8$LR•IPV4•229『线路128』 -CCTV,http://192.151.150.154/live/nxss.m3u8$LR•IPV4•229『线路129』 -CCTV,http://192.151.150.154/live/sjdl.m3u8$LR•IPV4•229『线路130』 -CCTV,http://192.151.150.154/live/hjjc.m3u8$LR•IPV4•229『线路131』 -CCTV,http://192.151.150.154/live/ystq.m3u8$LR•IPV4•229『线路132』 -CCTV,http://192.151.150.154/live/ysjp.m3u8$LR•IPV4•229『线路133』 -CCTV,http://192.151.150.154/live/wsjk.m3u8$LR•IPV4•229『线路134』 -CCTV,http://173.208.212.130:8181/1080p/cctv1.m3u8$LR•IPV4•229『线路135』 -CCTV,http://173.208.212.130:8181/1080p/cctv2.m3u8$LR•IPV4•229『线路136』 -CCTV,http://173.208.212.130:8181/1080p/cctv3.m3u8$LR•IPV4•229『线路137』 -CCTV,http://173.208.212.130:8181/1080p/cctv4.m3u8$LR•IPV4•229『线路138』 -CCTV,http://173.208.212.130:8181/1080p/cctv5.m3u8$LR•IPV4•229『线路139』 -CCTV,http://173.208.212.130:8181/1080p/cctv6.m3u8$LR•IPV4•229『线路140』 -CCTV,http://173.208.212.130:8181/1080p/cctv7.m3u8$LR•IPV4•229『线路141』 -CCTV,http://173.208.212.130:8181/1080p/cctv9.m3u8$LR•IPV4•229『线路142』 -CCTV,http://173.208.212.130:8181/1080p/cctv10.m3u8$LR•IPV4•229『线路143』 -CCTV,http://173.208.212.130:8181/1080p/cctv11.m3u8$LR•IPV4•229『线路144』 -CCTV,http://173.208.212.130:8181/1080p/cctv12.m3u8$LR•IPV4•229『线路145』 -CCTV,http://173.208.212.130:8181/1080p/cctv13.m3u8$LR•IPV4•229『线路146』 -CCTV,http://173.208.212.130:8181/1080p/cctv14.m3u8$LR•IPV4•229『线路147』 -CCTV,http://173.208.212.130:8181/1080p/cctv15.m3u8$LR•IPV4•229『线路148』 -CCTV,http://173.208.212.130:8181/1080p/cctv16.m3u8$LR•IPV4•229『线路149』 -CCTV,http://173.208.212.130:8181/1080p/cctv17.m3u8$LR•IPV4•229『线路150』 -CCTV,http://173.208.212.130:8181/1080p/cctv5p.m3u8$LR•IPV4•229『线路151』 -CCTV,http://173.208.212.130:8181/720p/cctv1.m3u8$LR•IPV4•229『线路152』 -CCTV,http://173.208.212.130:8181/720p/cctv3.m3u8$LR•IPV4•229『线路153』 -CCTV,http://173.208.212.130:8181/720p/cctv4.m3u8$LR•IPV4•229『线路154』 -CCTV,http://173.208.212.130:8181/720p/cctv5.m3u8$LR•IPV4•229『线路155』 -CCTV,http://173.208.212.130:8181/720p/cctv6.m3u8$LR•IPV4•229『线路156』 -CCTV,http://173.208.212.130:8181/720p/cctv7.m3u8$LR•IPV4•229『线路157』 -CCTV,http://173.208.212.130:8181/720p/cctv8.m3u8$LR•IPV4•229『线路158』 -CCTV,http://173.208.212.130:8181/720p/cctv9.m3u8$LR•IPV4•229『线路159』 -CCTV,http://173.208.212.130:8181/720p/cctv10.m3u8$LR•IPV4•229『线路160』 -CCTV,http://173.208.212.130:8181/720p/cctv11.m3u8$LR•IPV4•229『线路161』 -CCTV,http://173.208.212.130:8181/720p/cctv12.m3u8$LR•IPV4•229『线路162』 -CCTV,http://173.208.212.130:8181/720p/cctv13.m3u8$LR•IPV4•229『线路163』 -CCTV,http://173.208.212.130:8181/720p/cctv16.m3u8$LR•IPV4•229『线路164』 -CCTV,http://173.208.212.130:8181/720p/cctv17.m3u8$LR•IPV4•229『线路165』 -CCTV,http://173.208.212.130:8181/720p/cctv5p.m3u8$LR•IPV4•229『线路166』 -CCTV,http://173.208.212.130:8181/720p/cctv8k.m3u8$LR•IPV4•229『线路167』 -CCTV,http://173.208.212.130:8181/720p/dyjc.m3u8$LR•IPV4•229『线路168』 -CCTV,http://173.208.212.130:8181/720p/fyjc.m3u8$LR•IPV4•229『线路169』 -CCTV,http://173.208.212.130:8181/720p/hjjc.m3u8$LR•IPV4•229『线路170』 -CCTV,http://173.208.212.130:8181/720p/gfjs.m3u8$LR•IPV4•229『线路171』 -CCTV,http://173.208.212.130:8181/720p/nxss.m3u8$LR•IPV4•229『线路172』 -CCTV,http://173.208.212.130:8181/720p/sjdl.m3u8$LR•IPV4•229『线路173』 -CCTV,http://173.208.212.130:8181/720p/wsjk.m3u8$LR•IPV4•229『线路174』 -CCTV,http://173.208.212.130:8181/720p/ysjp.m3u8$LR•IPV4•229『线路175』 -CCTV,http://173.208.212.130:8181/720p/fyyy.m3u8$LR•IPV4•229『线路176』 -CCTV,http://173.208.212.130:8181/720p/ystq.m3u8$LR•IPV4•229『线路177』 -CCTV,http://173.208.212.130:8181/720p/fyzq.m3u8$LR•IPV4•229『线路178』 -CCTV,http://173.208.212.130:8181/720p/gefwq.m3u8$LR•IPV4•229『线路179』 -CCTV,http://204.12.221.218:8181/3m1080p/cctv1.m3u8$LR•IPV4•229『线路180』 -CCTV,http://204.12.221.218:8181/3m1080p/cctv2.m3u8$LR•IPV4•229『线路181』 -CCTV,http://204.12.221.218:8181/3m1080p/cctv3.m3u8$LR•IPV4•229『线路182』 -CCTV,http://204.12.221.218:8181/3m1080p/cctv4.m3u8$LR•IPV4•229『线路183』 -CCTV,http://204.12.221.218:8181/3m1080p/cctv5.m3u8$LR•IPV4•229『线路184』 -CCTV,http://204.12.221.218:8181/3m1080p/cctv6.m3u8$LR•IPV4•229『线路185』 -CCTV,http://204.12.221.218:8181/3m1080p/cctv7.m3u8$LR•IPV4•229『线路186』 -CCTV,http://204.12.221.218:8181/3m1080p/cctv8.m3u8$LR•IPV4•229『线路187』 -CCTV,http://204.12.221.218:8181/3m1080p/cctv9.m3u8$LR•IPV4•229『线路188』 -CCTV,http://204.12.221.218:8181/3m1080p/cctv10.m3u8$LR•IPV4•229『线路189』 -CCTV,http://204.12.221.218:8181/3m1080p/cctv11.m3u8$LR•IPV4•229『线路190』 -CCTV,http://204.12.221.218:8181/3m1080p/cctv12.m3u8$LR•IPV4•229『线路191』 -CCTV,http://204.12.221.218:8181/3m1080p/cctv13.m3u8$LR•IPV4•229『线路192』 -CCTV,http://204.12.221.218:8181/3m1080p/cctv15.m3u8$LR•IPV4•229『线路193』 -CCTV,http://204.12.221.218:8181/3m1080p/cctv16.m3u8$LR•IPV4•229『线路194』 -CCTV,http://204.12.221.218:8181/3m1080p/cctv17.m3u8$LR•IPV4•229『线路195』 -CCTV,http://111.61.236.247:9081/hls/58/index.m3u8$LR•IPV4•229『线路196』 -CCTV,https://epg.pw/stream/ac8062ec9484078061d3bef507c15a423ac57ae4144e3fcc4b0a198dd420f911.m3u8$LR•IPV4•229『线路197』 -CCTV,http://38.75.136.137:98/gslb/dsdqpub/wsjk.m3u8?auth=testpub$LR•IPV4•229『线路198』 -CCTV,http://38.75.136.137:98/gslb/dsdqpub/ystq.m3u8?auth=testpub$LR•IPV4•229『线路199』 -CCTV,http://38.75.136.137:98/gslb/dsdqpub/dyjc.m3u8?auth=testpub$LR•IPV4•229『线路200』 -CCTV,http://38.75.136.137:98/gslb/dsdqpub/fyjc.m3u8?auth=testpub$LR•IPV4•229『线路201』 -CCTV,http://38.75.136.137:98/gslb/dsdqpub/hjjc.m3u8?auth=testpub$LR•IPV4•229『线路202』 -CCTV,http://38.75.136.137:98/gslb/dsdqpub/fyzq.m3u8?auth=testpub$LR•IPV4•229『线路203』 -CCTV,http://38.75.136.137:98/gslb/dsdqpub/fyyy.m3u8?auth=testpub$LR•IPV4•229『线路204』 -CCTV,http://38.75.136.137:98/gslb/dsdqpub/sjdl.m3u8?auth=testpub$LR•IPV4•229『线路205』 -CCTV,http://38.75.136.137:98/gslb/dsdqpub/dszn.m3u8?auth=testpub$LR•IPV4•229『线路206』 -CCTV,http://38.75.136.137:98/gslb/dsdqpub/ysjp.m3u8?auth=testpub$LR•IPV4•229『线路207』 -CCTV,http://38.75.136.137:98/gslb/dsdqpub/nxss.m3u8?auth=testpub$LR•IPV4•229『线路208』 -CCTV,http://111.61.236.247:9081/hls/62/index.m3u8$LR•IPV4•229『线路209』 -CCTV,http://xc.mfykeke.top:35455/nptv/dyjc.m3u8$LR•IPV4•229『线路210』 -CCTV,http://xc.mfykeke.top:35455/nptv/fyjc.m3u8$LR•IPV4•229『线路211』 -CCTV,http://xc.mfykeke.top:35455/nptv/hjjc.m3u8$LR•IPV4•229『线路212』 -CCTV,http://www.tszhgjj.cn:7000/rtp/239.253.93.249:6427$LR•IPV4•229『线路213』 -CCTV,http://fn.tmde.top:35455/nptv/cctv4k.m3u8$LR•IPV4•229『线路214』 -CCTV,http://fn.tmde.top:35455/nptv/cctv8k.m3u8$LR•IPV4•229『线路215』 -CCTV,http://xc.mfykeke.top:35455/nptv/cctv4k.m3u8$LR•IPV4•229『线路216』 -CCTV,http://xc.mfykeke.top:35455/nptv/cctv8k.m3u8$LR•IPV4•229『线路217』 -CCTV,http://69.30.245.50/live/cctv1.m3u8$LR•IPV4•229『线路218』 -CCTV,http://74.91.26.218:82/live/cctv1hd.m3u8$LR•IPV4•229『线路219』 -CCTV,https://global.cgtn.cicc.media.caton.cloud/master/cgtn-america.m3u8$LR•IPV4•229『线路220』 -CCTV,http://74.91.26.218:82/live/cctv4hd.m3u8$LR•IPV4•229『线路221』 -CCTV,https://dash2.antik.sk/live/test_cctv_tizen/playlist.m3u8$LR•IPV4•229『线路222』 -CCTV,http://go.bkpcp.top/mg/cctv13$LR•IPV4•229『线路223』 -CCTV,https://cdn3.163189.xyz/163189/cctv13$LR•IPV4•229『线路224』 -CCTV,https://solo.disfrutaenlared.com:1936/redcctv/redcctv/playlist.m3u8$LR•IPV4•229『线路225』 -CCTV,http://74.91.26.218:82/live/cctv12hd.m3u8$LR•IPV4•229『线路226』 -CCTV,http://74.91.26.218:82/live/cctv16hd.m3u8$LR•IPV4•229『线路227』 -CCTV,http://38.75.136.137:98/gslb/dsdqpub/gefwq.m3u8?auth=testpub$LR•IPV4•229『线路228』 -CCTV,https://xykt-fix.github.io/Y77.m3u8$LR•IPV4•229『线路229』 +CCTV兵器,http://38.75.136.137:98/gslb/dsdqpub/gfjs.m3u8?auth=testpub$LR•IPV4•3『线路1』 +CCTV兵器,http://38.75.136.137:98/gslb/dsdqpub/bqkj.m3u8?auth=testpub$LR•IPV4•3『线路2』 +CCTV兵器,http://60.10.139.113:8801/hls/72/index.m3u8$LR•IPV4•3『线路3』 +CCTV,https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783972800-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-35eb8d7bdbf4e05db7dad569de4a488f&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•231『线路1』 +CCTV,http://183.196.25.171:808/hls/77/index.m3u8$LR•IPV4•231『线路2』 +CCTV,http://183.196.25.171:808/hls/11/index.m3u8$LR•IPV4•231『线路3』 +CCTV,https://piccpndks.v.kcdnvip.com/audio/cctv16_2/index.m3u8$LR•IPV4•231『线路4』 +CCTV,http://183.196.25.171:808/hls/93/index.m3u8$LR•IPV4•231『线路5』 +CCTV,https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783926000-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-3a5ada4e3e78e41f69387ee0c7a77164&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•231『线路6』 +CCTV,http://69.30.245.50/live/cctv6.m3u8$LR•IPV4•231『线路7』 +CCTV,http://38.75.136.137:98/gslb/dsdqpub/fyjc.m3u8?auth=testpub$LR•IPV4•231『线路8』 +CCTV,http://38.75.136.137:98/gslb/dsdqpub/dyjc.m3u8?auth=testpub$LR•IPV4•231『线路9』 +CCTV,http://69.30.245.50/live/cctv1.m3u8$LR•IPV4•231『线路10』 +CCTV,http://74.91.26.218:82/live/cctv1hd.m3u8$LR•IPV4•231『线路11』 +CCTV,https://global.cgtn.cicc.media.caton.cloud/master/cgtn-america.m3u8$LR•IPV4•231『线路12』 +CCTV,http://74.91.26.218:82/live/cctv4hd.m3u8$LR•IPV4•231『线路13』 +CCTV,https://dash2.antik.sk/live/test_cctv_tizen/playlist.m3u8$LR•IPV4•231『线路14』 +CCTV,http://go.bkpcp.top/mg/cctv13$LR•IPV4•231『线路15』 +CCTV,https://cdn3.163189.xyz/163189/cctv13$LR•IPV4•231『线路16』 +CCTV,http://74.91.26.218:82/live/cctv8hd.m3u8$LR•IPV4•231『线路17』 +CCTV,http://74.91.26.218:82/live/cctv3hd.m3u8$LR•IPV4•231『线路18』 +CCTV,http://192.151.150.154/live/cctv8k.m3u8$LR•IPV4•231『线路19』 +CCTV,http://38.75.136.137:98/gslb/dsdqpub/ysjp.m3u8?auth=testpub$LR•IPV4•231『线路20』 +CCTV,https://solo.disfrutaenlared.com:1936/redcctv/redcctv/playlist.m3u8$LR•IPV4•231『线路21』 +CCTV,http://74.91.26.218:82/live/cctv14hd.m3u8$LR•IPV4•231『线路22』 +CCTV,http://74.91.26.218:82/live/cctv11hd.m3u8$LR•IPV4•231『线路23』 +CCTV,https://xykt-fix.github.io/play/a02e/index.m3u8$LR•IPV4•231『线路24』 +CCTV,http://38.75.136.137:98/gslb/dsdqpub/fyyy.m3u8?auth=testpub$LR•IPV4•231『线路25』 +CCTV,http://74.91.26.218:82/live/cctv12hd.m3u8$LR•IPV4•231『线路26』 +CCTV,http://38.75.136.137:98/gslb/dsdqpub/wsjk.m3u8?auth=testpub$LR•IPV4•231『线路27』 +CCTV,http://38.75.136.137:98/gslb/dsdqpub/nxss.m3u8?auth=testpub$LR•IPV4•231『线路28』 +CCTV,http://38.75.136.137:98/gslb/dsdqpub/hjjc.m3u8?auth=testpub$LR•IPV4•231『线路29』 +CCTV,http://74.91.26.218:82/live/cctv16hd.m3u8$LR•IPV4•231『线路30』 +CCTV,http://38.75.136.137:98/gslb/dsdqpub/ystq.m3u8?auth=testpub$LR•IPV4•231『线路31』 +CCTV,http://38.75.136.137:98/gslb/dsdqpub/gefwq.m3u8?auth=testpub$LR•IPV4•231『线路32』 +CCTV,http://38.75.136.137:98/gslb/dsdqpub/fyzq.m3u8?auth=testpub$LR•IPV4•231『线路33』 +CCTV,http://74.91.26.218:82/live/cctv2hd.m3u8$LR•IPV4•231『线路34』 +CCTV,https://xykt-fix.github.io/Y77.m3u8$LR•IPV4•231『线路35』 +CCTV,http://74.91.26.218:82/live/cctv7hd.m3u8$LR•IPV4•231『线路36』 +CCTV,http://74.91.26.218:82/live/cctv10hd.m3u8$LR•IPV4•231『线路37』 +CCTV,http://38.75.136.137:98/gslb/dsdqpub/sjdl.m3u8?auth=testpub$LR•IPV4•231『线路38』 +CCTV,http://74.91.26.218:82/live/cctv17hd.m3u8$LR•IPV4•231『线路39』 +CCTV,http://222.169.85.8:9901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•231『线路40』 +CCTV,http://116.128.243.121:85/tsfile/live/0002_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•231『线路41』 +CCTV,http://222.223.41.27:8888/hls/2/index.m3u8$LR•IPV4•231『线路42』 +CCTV,http://173.208.212.130:8181/720p/cctv2.m3u8$LR•IPV4•231『线路43』 +CCTV,http://207.56.13.146:81/cdnlive/cctv3.m3u8$LR•IPV4•231『线路44』 +CCTV,http://222.223.41.27:8888/hls/4/index.m3u8$LR•IPV4•231『线路45』 +CCTV,http://222.223.41.27:8888/hls/5/index.m3u8$LR•IPV4•231『线路46』 +CCTV,http://222.223.41.27:8888/hls/7/index.m3u8$LR•IPV4•231『线路47』 +CCTV,http://207.56.13.146:81/cdnlive/cctv7.m3u8$LR•IPV4•231『线路48』 +CCTV,http://38.75.136.137:98/gslb/dsdqbv/cctv7hd.m3u8?auth=test20251009$LR•IPV4•231『线路49』 +CCTV,http://192.151.150.154/live/cctv7hd.m3u8$LR•IPV4•231『线路50』 +CCTV,http://69.30.245.50/live/cctv8.m3u8$LR•IPV4•231『线路51』 +CCTV,http://207.56.13.146:81/cdnlive/cctv8.m3u8$LR•IPV4•231『线路52』 +CCTV,http://173.208.212.130:8181/1080p/cctv8.m3u8$LR•IPV4•231『线路53』 +CCTV,http://222.223.41.27:8888/hls/9/index.m3u8$LR•IPV4•231『线路54』 +CCTV,http://207.56.13.146:81/cdnlive/cctv9.m3u8$LR•IPV4•231『线路55』 +CCTV,https://hwapi.yntv.net/ew265l/z1z6s5.m3u8$LR•IPV4•231『线路56』 +CCTV,http://222.223.41.27:8888/hls/10/index.m3u8$LR•IPV4•231『线路57』 +CCTV,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=cctv10hd$LR•IPV4•231『线路58』 +CCTV,http://113.25.252.226:9901/tsfile/live/1014_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•231『线路59』 +CCTV,http://222.223.41.27:8888/hls/12/index.m3u8$LR•IPV4•231『线路60』 +CCTV,http://38.75.136.137:98/gslb/dsdqbv/cctv12hd.m3u8?auth=test20251009$LR•IPV4•231『线路61』 +CCTV,https://event.pull.hebtv.com/jishi/cp1.m3u8$LR•IPV4•231『线路62』 +CCTV,https://event.pull.hebtv.com/jishi/cp2.m3u8$LR•IPV4•231『线路63』 +CCTV,http://222.223.41.27:8888/hls/14/index.m3u8$LR•IPV4•231『线路64』 +CCTV,http://204.12.221.218:8181/3m1080p/cctv14.m3u8$LR•IPV4•231『线路65』 +CCTV,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=cctv14hd$LR•IPV4•231『线路66』 +CCTV,http://173.208.212.130:8181/720p/cctv14.m3u8$LR•IPV4•231『线路67』 +CCTV,http://222.223.41.27:8888/hls/15/index.m3u8$LR•IPV4•231『线路68』 +CCTV,http://173.208.212.130:8181/720p/cctv15.m3u8$LR•IPV4•231『线路69』 +CCTV,http://38.75.136.137:98/gslb/dsdqbv/cctv17hd.m3u8?auth=test20251009$LR•IPV4•231『线路70』 +CCTV,http://38.75.136.137:98/gslb/dsdqpub/cctv17hd.m3u8?auth=testpub$LR•IPV4•231『线路71』 +CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226895/1.m3u8?$LR•IPV6•231『线路72』 +CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226893/1.m3u8?$LR•IPV6•231『线路73』 +CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226471/1.m3u8?$LR•IPV6•231『线路74』 +CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226335/1.m3u8?$LR•IPV6•231『线路75』 +CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226469/1.m3u8?$LR•IPV6•231『线路76』 +CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226468/1.m3u8?$LR•IPV6•231『线路77』 +CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226946/1.m3u8?$LR•IPV6•231『线路78』 +CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226485/1.m3u8?$LR•IPV6•231『线路79』 +CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226944/1.m3u8?$LR•IPV6•231『线路80』 +CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226937/1.m3u8?$LR•IPV6•231『线路81』 +CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226334/1.m3u8?$LR•IPV6•231『线路82』 +CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226942/1.m3u8?$LR•IPV6•231『线路83』 +CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226316/1.m3u8?$LR•IPV6•231『线路84』 +CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226947/1.m3u8?$LR•IPV6•231『线路85』 +CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226333/1.m3u8?$LR•IPV6•231『线路86』 +CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227002/1.m3u8?$LR•IPV6•231『线路87』 +CCTV,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226318/1.m3u8?$LR•IPV6•231『线路88』 +CCTV,https://live-play-hls.cctvnews.cctv.com/CCTVChannel/channel_cctv4_mbd.m3u8?auth_key=1783958400-1-b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c-959a72eda110cbf62c6253396fd9bd72&yid=b59134a2ead43d7f783f943c8f535e7bb80c5169575b2e8efcd5b3ddea21b41c$LR•IPV4•231『线路89』 +CCTV,https://shcm-stream-cf1.stream.264788.xyz/cms001/ch00000090990000001620/index.m3u8?streamid=8a034b40397504e25b3775c772237996&streamkey=01vY5fRxC8VyKg4oq30vfikHXTCAKySLP29l6OG91kQlzDttHgzNLkUw5kivm3PfNsVHJv5FgdsPBYFYI2IWpt7tfRCuFHqLT2pvX67ubMds8jl2DHtvOh0&token=1775754349-4f33f4f84a4abeba-0-91687dc8c9325092efa1d00f330d2710$LR•IPV4•231『线路90』 +CCTV,https://epg.pw/stream/ca9c1cd4b97fb824cedd7fedfd0c7a950afdd7f00751cfbb7c2d89831d7746a5.m3u8$LR•IPV4•231『线路91』 +CCTV,https://epg.pw/stream/6d7bf281e3d739806a73f5373acaa6e01988ec9739f5ac1355ce54b47a928472.m3u8$LR•IPV4•231『线路92』 +CCTV,http://38.75.136.137:98/gslb/dsdqpub/dszn.m3u8?auth=testpub$LR•IPV4•231『线路93』 +CCTV,http://111.61.236.247:9081/hls/58/index.m3u8$LR•IPV4•231『线路94』 +CCTV,http://111.61.236.247:9081/hls/62/index.m3u8$LR•IPV4•231『线路95』 +CCTV,http://xc.mfykeke.top:35455/nptv/dyjc.m3u8$LR•IPV4•231『线路96』 +CCTV,http://xc.mfykeke.top:35455/nptv/fyjc.m3u8$LR•IPV4•231『线路97』 +CCTV,http://xc.mfykeke.top:35455/nptv/hjjc.m3u8$LR•IPV4•231『线路98』 +CCTV,http://www.tszhgjj.cn:7000/rtp/239.253.93.249:6427$LR•IPV4•231『线路99』 +CCTV,http://fn.tmde.top:35455/nptv/cctv4k.m3u8$LR•IPV4•231『线路100』 +CCTV,http://fn.tmde.top:35455/nptv/cctv8k.m3u8$LR•IPV4•231『线路101』 +CCTV,http://xc.mfykeke.top:35455/nptv/cctv4k.m3u8$LR•IPV4•231『线路102』 +CCTV,http://xc.mfykeke.top:35455/nptv/cctv8k.m3u8$LR•IPV4•231『线路103』 +CCTV,http://60.10.139.113:8801/hls/64/index.m3u8$LR•IPV4•231『线路104』 +CCTV,http://60.10.139.113:8801/hls/65/index.m3u8$LR•IPV4•231『线路105』 +CCTV,http://60.10.139.113:8801/hls/66/index.m3u8$LR•IPV4•231『线路106』 +CCTV,http://60.10.139.113:8801/hls/67/index.m3u8$LR•IPV4•231『线路107』 +CCTV,http://60.10.139.113:8801/hls/68/index.m3u8$LR•IPV4•231『线路108』 +CCTV,http://60.10.139.113:8801/hls/69/index.m3u8$LR•IPV4•231『线路109』 +CCTV,http://60.10.139.113:8801/hls/70/index.m3u8$LR•IPV4•231『线路110』 +CCTV,http://60.10.139.113:8801/hls/79/index.m3u8$LR•IPV4•231『线路111』 +CCTV,http://60.10.139.113:8801/hls/80/index.m3u8$LR•IPV4•231『线路112』 +CCTV,http://60.10.139.113:8801/hls/73/index.m3u8$LR•IPV4•231『线路113』 +CCTV,http://207.56.13.146:81/cdnlive/cctv1.m3u8$LR•IPV4•231『线路114』 +CCTV,http://207.56.13.146:81/cdnlive/cctv2.m3u8$LR•IPV4•231『线路115』 +CCTV,http://207.56.13.146:81/cdnlive/cctv4.m3u8$LR•IPV4•231『线路116』 +CCTV,http://207.56.13.146:81/cdnlive/cctv5.m3u8$LR•IPV4•231『线路117』 +CCTV,http://207.56.13.146:81/cdnlive/cctv6.m3u8$LR•IPV4•231『线路118』 +CCTV,http://207.56.13.146:81/cdnlive/cctv10.m3u8$LR•IPV4•231『线路119』 +CCTV,http://207.56.13.146:81/cdnlive/cctv11.m3u8$LR•IPV4•231『线路120』 +CCTV,http://207.56.13.146:81/cdnlive/cctv12.m3u8$LR•IPV4•231『线路121』 +CCTV,http://207.56.13.146:81/cdnlive/cctv13.m3u8$LR•IPV4•231『线路122』 +CCTV,http://207.56.13.146:81/cdnlive/cctv14.m3u8$LR•IPV4•231『线路123』 +CCTV,http://207.56.13.146:81/cdnlive/cctv15.m3u8$LR•IPV4•231『线路124』 +CCTV,http://207.56.13.146:81/cdnlive/cctv16.m3u8$LR•IPV4•231『线路125』 +CCTV,http://207.56.13.146:81/cdnlive/cctv17.m3u8$LR•IPV4•231『线路126』 +CCTV,http://207.56.13.146:81/cdnlive/cctv5p.m3u8$LR•IPV4•231『线路127』 +CCTV,http://207.56.13.146:81/cdnlive/gfjs.m3u8$LR•IPV4•231『线路128』 +CCTV,http://207.56.13.146:81/cdnlive/nxss.m3u8$LR•IPV4•231『线路129』 +CCTV,http://207.56.13.146:81/cdnlive/sjdl.m3u8$LR•IPV4•231『线路130』 +CCTV,http://207.56.13.146:81/cdnlive/wsjk.m3u8$LR•IPV4•231『线路131』 +CCTV,http://207.56.13.146:81/cdnlive/ysjp.m3u8$LR•IPV4•231『线路132』 +CCTV,http://207.56.13.146:81/cdnlive/dyjc.m3u8$LR•IPV4•231『线路133』 +CCTV,http://207.56.13.146:81/cdnlive/hjjc.m3u8$LR•IPV4•231『线路134』 +CCTV,http://207.56.13.146:81/cdnlive/fyjc.m3u8$LR•IPV4•231『线路135』 +CCTV,http://207.56.13.146:81/cdnlive/fyzq.m3u8$LR•IPV4•231『线路136』 +CCTV,http://207.56.13.146:81/cdnlive/fyyy.m3u8$LR•IPV4•231『线路137』 +CCTV,http://207.56.13.146:81/cdnlive/ystq.m3u8$LR•IPV4•231『线路138』 +CCTV,http://207.56.13.146:81/cdnlive/gefwq.m3u8$LR•IPV4•231『线路139』 +CCTV,http://192.151.150.154/live/cctv1hd.m3u8$LR•IPV4•231『线路140』 +CCTV,http://192.151.150.154/live/cctv2hd.m3u8$LR•IPV4•231『线路141』 +CCTV,http://192.151.150.154/live/cctv3hd.m3u8$LR•IPV4•231『线路142』 +CCTV,http://192.151.150.154/live/cctv4hd.m3u8$LR•IPV4•231『线路143』 +CCTV,http://192.151.150.154/live/cctv5hd.m3u8$LR•IPV4•231『线路144』 +CCTV,http://192.151.150.154/live/cctv5p.m3u8$LR•IPV4•231『线路145』 +CCTV,http://192.151.150.154/live/cctv6hd.m3u8$LR•IPV4•231『线路146』 +CCTV,http://192.151.150.154/live/cctv8hd.m3u8$LR•IPV4•231『线路147』 +CCTV,http://192.151.150.154/live/cctv9hd.m3u8$LR•IPV4•231『线路148』 +CCTV,http://192.151.150.154/live/cctv10hd.m3u8$LR•IPV4•231『线路149』 +CCTV,http://192.151.150.154/live/cctv11hd.m3u8$LR•IPV4•231『线路150』 +CCTV,http://192.151.150.154/live/cctv12hd.m3u8$LR•IPV4•231『线路151』 +CCTV,http://192.151.150.154/live/cctv13hd.m3u8$LR•IPV4•231『线路152』 +CCTV,http://192.151.150.154/live/cctv14hd.m3u8$LR•IPV4•231『线路153』 +CCTV,http://192.151.150.154/live/cctv15hd.m3u8$LR•IPV4•231『线路154』 +CCTV,http://192.151.150.154/live/cctv16hd.m3u8$LR•IPV4•231『线路155』 +CCTV,http://192.151.150.154/live/cctv17hd.m3u8$LR•IPV4•231『线路156』 +CCTV,http://192.151.150.154/live/dszn.m3u8$LR•IPV4•231『线路157』 +CCTV,http://192.151.150.154/live/dyjc.m3u8$LR•IPV4•231『线路158』 +CCTV,http://192.151.150.154/live/fyjc.m3u8$LR•IPV4•231『线路159』 +CCTV,http://192.151.150.154/live/fyyy.m3u8$LR•IPV4•231『线路160』 +CCTV,http://192.151.150.154/live/fyzq.m3u8$LR•IPV4•231『线路161』 +CCTV,http://192.151.150.154/live/gefwq.m3u8$LR•IPV4•231『线路162』 +CCTV,http://192.151.150.154/live/gfjs.m3u8$LR•IPV4•231『线路163』 +CCTV,http://192.151.150.154/live/nxss.m3u8$LR•IPV4•231『线路164』 +CCTV,http://192.151.150.154/live/sjdl.m3u8$LR•IPV4•231『线路165』 +CCTV,http://192.151.150.154/live/hjjc.m3u8$LR•IPV4•231『线路166』 +CCTV,http://192.151.150.154/live/ystq.m3u8$LR•IPV4•231『线路167』 +CCTV,http://192.151.150.154/live/ysjp.m3u8$LR•IPV4•231『线路168』 +CCTV,http://192.151.150.154/live/wsjk.m3u8$LR•IPV4•231『线路169』 +CCTV,http://173.208.212.130:8181/1080p/cctv1.m3u8$LR•IPV4•231『线路170』 +CCTV,http://173.208.212.130:8181/1080p/cctv2.m3u8$LR•IPV4•231『线路171』 +CCTV,http://173.208.212.130:8181/1080p/cctv3.m3u8$LR•IPV4•231『线路172』 +CCTV,http://173.208.212.130:8181/1080p/cctv4.m3u8$LR•IPV4•231『线路173』 +CCTV,http://173.208.212.130:8181/1080p/cctv5.m3u8$LR•IPV4•231『线路174』 +CCTV,http://173.208.212.130:8181/1080p/cctv6.m3u8$LR•IPV4•231『线路175』 +CCTV,http://173.208.212.130:8181/1080p/cctv7.m3u8$LR•IPV4•231『线路176』 +CCTV,http://173.208.212.130:8181/1080p/cctv9.m3u8$LR•IPV4•231『线路177』 +CCTV,http://173.208.212.130:8181/1080p/cctv10.m3u8$LR•IPV4•231『线路178』 +CCTV,http://173.208.212.130:8181/1080p/cctv11.m3u8$LR•IPV4•231『线路179』 +CCTV,http://173.208.212.130:8181/1080p/cctv12.m3u8$LR•IPV4•231『线路180』 +CCTV,http://173.208.212.130:8181/1080p/cctv13.m3u8$LR•IPV4•231『线路181』 +CCTV,http://173.208.212.130:8181/1080p/cctv14.m3u8$LR•IPV4•231『线路182』 +CCTV,http://173.208.212.130:8181/1080p/cctv15.m3u8$LR•IPV4•231『线路183』 +CCTV,http://173.208.212.130:8181/1080p/cctv16.m3u8$LR•IPV4•231『线路184』 +CCTV,http://173.208.212.130:8181/1080p/cctv17.m3u8$LR•IPV4•231『线路185』 +CCTV,http://173.208.212.130:8181/1080p/cctv5p.m3u8$LR•IPV4•231『线路186』 +CCTV,http://173.208.212.130:8181/720p/cctv1.m3u8$LR•IPV4•231『线路187』 +CCTV,http://173.208.212.130:8181/720p/cctv3.m3u8$LR•IPV4•231『线路188』 +CCTV,http://173.208.212.130:8181/720p/cctv4.m3u8$LR•IPV4•231『线路189』 +CCTV,http://173.208.212.130:8181/720p/cctv5.m3u8$LR•IPV4•231『线路190』 +CCTV,http://173.208.212.130:8181/720p/cctv6.m3u8$LR•IPV4•231『线路191』 +CCTV,http://173.208.212.130:8181/720p/cctv7.m3u8$LR•IPV4•231『线路192』 +CCTV,http://173.208.212.130:8181/720p/cctv8.m3u8$LR•IPV4•231『线路193』 +CCTV,http://173.208.212.130:8181/720p/cctv9.m3u8$LR•IPV4•231『线路194』 +CCTV,http://173.208.212.130:8181/720p/cctv10.m3u8$LR•IPV4•231『线路195』 +CCTV,http://173.208.212.130:8181/720p/cctv11.m3u8$LR•IPV4•231『线路196』 +CCTV,http://173.208.212.130:8181/720p/cctv12.m3u8$LR•IPV4•231『线路197』 +CCTV,http://173.208.212.130:8181/720p/cctv13.m3u8$LR•IPV4•231『线路198』 +CCTV,http://173.208.212.130:8181/720p/cctv16.m3u8$LR•IPV4•231『线路199』 +CCTV,http://173.208.212.130:8181/720p/cctv17.m3u8$LR•IPV4•231『线路200』 +CCTV,http://173.208.212.130:8181/720p/cctv5p.m3u8$LR•IPV4•231『线路201』 +CCTV,http://173.208.212.130:8181/720p/cctv8k.m3u8$LR•IPV4•231『线路202』 +CCTV,http://173.208.212.130:8181/720p/dyjc.m3u8$LR•IPV4•231『线路203』 +CCTV,http://173.208.212.130:8181/720p/fyjc.m3u8$LR•IPV4•231『线路204』 +CCTV,http://173.208.212.130:8181/720p/hjjc.m3u8$LR•IPV4•231『线路205』 +CCTV,http://173.208.212.130:8181/720p/gfjs.m3u8$LR•IPV4•231『线路206』 +CCTV,http://173.208.212.130:8181/720p/nxss.m3u8$LR•IPV4•231『线路207』 +CCTV,http://173.208.212.130:8181/720p/sjdl.m3u8$LR•IPV4•231『线路208』 +CCTV,http://173.208.212.130:8181/720p/wsjk.m3u8$LR•IPV4•231『线路209』 +CCTV,http://173.208.212.130:8181/720p/ysjp.m3u8$LR•IPV4•231『线路210』 +CCTV,http://173.208.212.130:8181/720p/fyyy.m3u8$LR•IPV4•231『线路211』 +CCTV,http://173.208.212.130:8181/720p/ystq.m3u8$LR•IPV4•231『线路212』 +CCTV,http://173.208.212.130:8181/720p/fyzq.m3u8$LR•IPV4•231『线路213』 +CCTV,http://173.208.212.130:8181/720p/gefwq.m3u8$LR•IPV4•231『线路214』 +CCTV,http://204.12.221.218:8181/3m1080p/cctv1.m3u8$LR•IPV4•231『线路215』 +CCTV,http://204.12.221.218:8181/3m1080p/cctv2.m3u8$LR•IPV4•231『线路216』 +CCTV,http://204.12.221.218:8181/3m1080p/cctv3.m3u8$LR•IPV4•231『线路217』 +CCTV,http://204.12.221.218:8181/3m1080p/cctv4.m3u8$LR•IPV4•231『线路218』 +CCTV,http://204.12.221.218:8181/3m1080p/cctv5.m3u8$LR•IPV4•231『线路219』 +CCTV,http://204.12.221.218:8181/3m1080p/cctv6.m3u8$LR•IPV4•231『线路220』 +CCTV,http://204.12.221.218:8181/3m1080p/cctv7.m3u8$LR•IPV4•231『线路221』 +CCTV,http://204.12.221.218:8181/3m1080p/cctv8.m3u8$LR•IPV4•231『线路222』 +CCTV,http://204.12.221.218:8181/3m1080p/cctv9.m3u8$LR•IPV4•231『线路223』 +CCTV,http://204.12.221.218:8181/3m1080p/cctv10.m3u8$LR•IPV4•231『线路224』 +CCTV,http://204.12.221.218:8181/3m1080p/cctv11.m3u8$LR•IPV4•231『线路225』 +CCTV,http://204.12.221.218:8181/3m1080p/cctv12.m3u8$LR•IPV4•231『线路226』 +CCTV,http://204.12.221.218:8181/3m1080p/cctv13.m3u8$LR•IPV4•231『线路227』 +CCTV,http://204.12.221.218:8181/3m1080p/cctv15.m3u8$LR•IPV4•231『线路228』 +CCTV,http://204.12.221.218:8181/3m1080p/cctv16.m3u8$LR•IPV4•231『线路229』 +CCTV,http://204.12.221.218:8181/3m1080p/cctv17.m3u8$LR•IPV4•231『线路230』 +CCTV,https://epg.pw/stream/ac8062ec9484078061d3bef507c15a423ac57ae4144e3fcc4b0a198dd420f911.m3u8$LR•IPV4•231『线路231』 明星,#genre# -周星驰,http://cdn.jdshipin.com:8880/huya.php?id=11342412$LR•IPV4•2『线路1』 -周星驰,https://live.ottiptv.cc/huya/11336587$LR•IPV4•2『线路2』 -李连杰,http://cdn.jdshipin.com:8880/huya.php?id=11342390$LR•IPV4•2『线路1』 -李连杰,https://live.ottiptv.cc/huya/11342390$LR•IPV4•2『线路2』 +周星驰,https://live.ottiptv.cc/huya/11336587$LR•IPV4•2『线路1』 +周星驰,http://cdn.jdshipin.com:8880/huya.php?id=11342412$LR•IPV4•2『线路2』 +李连杰,https://live.ottiptv.cc/huya/11342390$LR•IPV4•2『线路1』 +李连杰,http://cdn.jdshipin.com:8880/huya.php?id=11342390$LR•IPV4•2『线路2』 洪金宝,https://live.ottiptv.cc/huya/11279251$LR•IPV4 -梁家辉,http://live.metshop.top/huya/11342429?cdn=alicdn$LR•IPV4•2『线路1』 -梁家辉,https://live.ottiptv.cc/huya/11342429$LR•IPV4•2『线路2』 -刘德华,http://cdn.jdshipin.com:8880/huya.php?id=11342424$LR•IPV4•5『线路1』 -刘德华,http://live.metshop.top/huya/11342424?cdn=alicdn$LR•IPV4•5『线路2』 -刘德华,https://live.ottiptv.cc/huya/11342424$LR•IPV4•5『线路3』 -刘德华,https://k0ub7yffy10yfz.djvod.ndcimgs.com/upic/2023/07/25/08/BMjAyMzA3MjUwODU3MzRfMzYxMjUyNDA3MV8xMDg4MTUzNTczMzFfMF8z_b_Bf67605afd92859a39e607f504f43c9f7.mp4$LR•IPV4•5『线路4』 -刘德华,http://epg.112114.xyz/douyu/2516864$LR•IPV4•5『线路5』 -成龙,http://cdn.jdshipin.com:8880/huya.php?id=11342386$LR•IPV4•3『线路1』 -成龙,https://live.ottiptv.cc/huya/11342386$LR•IPV4•3『线路2』 -成龙,https://live.ottiptv.cc/huya/11352946$LR•IPV4•3『线路3』 -王晶,http://cdn.jdshipin.com:8880/huya.php?id=11602058$LR•IPV4•2『线路1』 -王晶,https://live.ottiptv.cc/huya/11602058$LR•IPV4•2『线路2』 -黄渤,http://cdn.jdshipin.com:8880/huya.php?id=11352876$LR•IPV4•2『线路1』 -黄渤,https://live.ottiptv.cc/huya/11352876$LR•IPV4•2『线路2』 -林正英,http://cdn.jdshipin.com:8880/huya.php?id=11342421$LR•IPV4•4『线路1』 -林正英,https://live.ottiptv.cc/huya/11342421$LR•IPV4•4『线路2』 -林正英,http://zzy789.xyz/douyu1.php?id=7356023$LR•IPV4•4『线路3』 -林正英,http://epg.112114.xyz/douyu/218859$LR•IPV4•4『线路4』 -甄子丹,http://cdn.jdshipin.com:8880/huya.php?id=11352935$LR•IPV4•2『线路1』 -甄子丹,https://live.ottiptv.cc/huya/11352935$LR•IPV4•2『线路2』 +梁家辉,https://live.ottiptv.cc/huya/11342429$LR•IPV4•2『线路1』 +梁家辉,http://live.metshop.top/huya/11342429?cdn=alicdn$LR•IPV4•2『线路2』 +刘德华,http://epg.112114.xyz/douyu/2516864$LR•IPV4•5『线路1』 +刘德华,https://live.ottiptv.cc/huya/11342424$LR•IPV4•5『线路2』 +刘德华,https://k0ub7yffy10yfz.djvod.ndcimgs.com/upic/2023/07/25/08/BMjAyMzA3MjUwODU3MzRfMzYxMjUyNDA3MV8xMDg4MTUzNTczMzFfMF8z_b_Bf67605afd92859a39e607f504f43c9f7.mp4$LR•IPV4•5『线路3』 +刘德华,http://cdn.jdshipin.com:8880/huya.php?id=11342424$LR•IPV4•5『线路4』 +刘德华,http://live.metshop.top/huya/11342424?cdn=alicdn$LR•IPV4•5『线路5』 +成龙,https://live.ottiptv.cc/huya/11342386$LR•IPV4•3『线路1』 +成龙,https://live.ottiptv.cc/huya/11352946$LR•IPV4•3『线路2』 +成龙,http://cdn.jdshipin.com:8880/huya.php?id=11342386$LR•IPV4•3『线路3』 +王晶,https://live.ottiptv.cc/huya/11602058$LR•IPV4•2『线路1』 +王晶,http://cdn.jdshipin.com:8880/huya.php?id=11602058$LR•IPV4•2『线路2』 +黄渤,https://live.ottiptv.cc/huya/11352876$LR•IPV4•2『线路1』 +黄渤,http://cdn.jdshipin.com:8880/huya.php?id=11352876$LR•IPV4•2『线路2』 +林正英,http://epg.112114.xyz/douyu/218859$LR•IPV4•4『线路1』 +林正英,http://zzy789.xyz/douyu1.php?id=7356023$LR•IPV4•4『线路2』 +林正英,https://live.ottiptv.cc/huya/11342421$LR•IPV4•4『线路3』 +林正英,http://cdn.jdshipin.com:8880/huya.php?id=11342421$LR•IPV4•4『线路4』 +甄子丹,https://live.ottiptv.cc/huya/11352935$LR•IPV4•2『线路1』 +甄子丹,http://cdn.jdshipin.com:8880/huya.php?id=11352935$LR•IPV4•2『线路2』 主题片,#genre# 灾难片,https://live.ottiptv.cc/huya/23728647$LR•IPV4 谍战片,https://live.ottiptv.cc/huya/26355810$LR•IPV4 -战争片,http://live.metshop.top/huya/21059574?cdn=alicdn$LR•IPV4•2『线路1』 -战争片,https://live.ottiptv.cc/huya/21059618$LR•IPV4•2『线路2』 +战争片,https://live.ottiptv.cc/huya/21059618$LR•IPV4•2『线路1』 +战争片,http://live.metshop.top/huya/21059574?cdn=alicdn$LR•IPV4•2『线路2』 国际台,#genre# VOA美国之音,https://voa-ingest.akamaized.net/hls/live/2033878/tvmc08/playlist.m3u8$LR•IPV4 @@ -2432,44 +2437,43 @@ Cc,https://jmp2.uk/plu-5d4947590ba40f75dc29c26b.m3u8$LR•IPV4•2『线路2』 YOUNG,https://tyt-xumo-us.amagi.tv/hls/amagi_hls_data_tytnetwor-tyt-xumo/CDN/master.m3u8$LR•IPV4•3『线路1』 YOUNG,https://amg00143-younghollywoodfast-amg00143c1-cineverse-us-946.playouts.now.amagi.tv/playlist/amg00143-younghollywoodfast-younghollywood-cineverseus/playlist.m3u8$LR•IPV4•3『线路2』 YOUNG,https://s.emisoras.tv:8081/penielkids/index.m3u8$LR•IPV4•3『线路3』 -快乐,http://116.52.173.34:1234/961930263$LR•IPV4•38『线路1』 -快乐,http://110.154.192.76:7788/961930263$LR•IPV4•38『线路2』 -快乐,http://111.231.6.102:1234/961930263$LR•IPV4•38『线路3』 -快乐,http://27.12.12.183:1234/961930263$LR•IPV4•38『线路4』 -快乐,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1275&tk=a0c4f6cfaba3$LR•IPV4•38『线路5』 -快乐,https://migu.188766.xyz/?migutoken=c6b17aba558cf29b13242b5ae063e5ed&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•38『线路6』 -快乐,http://home.wwang.pw:35455/itv/5000000011000031206.m3u8?cdn=bestzb$LR•IPV4•38『线路7』 -快乐,https://migu.188766.xyz/?migutoken=396182b2a9b61dca2daded3fc6f62311&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•38『线路8』 -快乐,http://101.6.130.52:1234/961930263$LR•IPV4•38『线路9』 -快乐,http://mgsp-hs2.live.miguvideo.com:8088/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260712080232&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=171.8.79.254&SecurityKey=20260712080232&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=0a04f7f5d3a1f6b3ddbfc709022c5a3a&sv=10004&ct=android$LR•IPV4•38『线路10』 -快乐,http://8.153.110.51:3020/961930263$LR•IPV4•38『线路11』 -快乐,http://116.236.204.18:1234/961930263$LR•IPV4•38『线路12』 -快乐,http://182.61.15.47:80/961930263$LR•IPV4•38『线路13』 -快乐,http://14.153.176.183:1234/961930263$LR•IPV4•38『线路14』 -快乐,http://gslbmgsplive.miguvideo.com/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=cb5d9a46adc1b49f4caa2f1a773ccdfd&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260712062112&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=39.103.182.111&SecurityKey=20260712062112&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=4551d42960ba4eb706643f7bb5bb4dbe&ddCalcu=e4b5vd5a41abdab452b9b670fb3a446e6b07&sv=10004&ct=android$LR•IPV4•38『线路15』 -快乐,http://nas.hssvm.com:8888/udp/225.1.2.18:5002$LR•IPV4•38『线路16』 -快乐,http://119.88.243.98:17231/961930263$LR•IPV4•38『线路17』 -快乐,https://hls-gateway.vpstv.net/streams/708835.m3u8$LR•IPV4•38『线路18』 -快乐,http://e1.woc.iiiya.cn:8888/rtp/239.61.3.8:9566$LR•IPV4•38『线路19』 -快乐,http://223.247.25.207:1234/961930263$LR•IPV4•38『线路20』 -快乐,http://175.178.243.33:8787/961930263$LR•IPV4•38『线路21』 -快乐,http://wouu.net:9977/udp/239.93.1.151:5140$LR•IPV4•38『线路22』 -快乐,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8968&tk=e640d0a1bf70$LR•IPV4•38『线路23』 -快乐,http://drive.mxmy.net:8888/udp/239.3.1.164:8001$LR•IPV4•38『线路24』 -快乐,http://115.190.247.176:1111/961930263$LR•IPV4•38『线路25』 -快乐,https://migu.188766.xyz/?migutoken=103d22404add9b90cd72174eb1a0108b&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•38『线路26』 -快乐,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4961&tk=b53028476470$LR•IPV4•38『线路27』 -快乐,http://gslbmgsplive.miguvideo.com/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=acac93647b33504cc27d07c187a0f6c1&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260712052113&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=39.103.182.111&SecurityKey=20260712052113&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=0a8073d2b66529751f1842c8a31b1d5b&ddCalcu=b05avd8a10ab7a133da28bc626458219f715&sv=10004&ct=android$LR•IPV4•38『线路28』 -快乐,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0882&tk=f6cc1e0a0e1a$LR•IPV4•38『线路29』 -快乐,https://migu.188766.xyz/?migutoken=f4d62cd1f8775b1b837f4232f1051f36&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•38『线路30』 -快乐,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8454&tk=a0c4f6cfaba3$LR•IPV4•38『线路31』 -快乐,http://47.104.178.59:3566/961930263$LR•IPV4•38『线路32』 -快乐,http://hlsztemgsplive.miguvideo.com:8080/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260712040227&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=171.8.79.254&SecurityKey=20260712040227&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=b3b7218ab79ad0c6a49ba6ff93f42c53&sv=10004&ct=android$LR•IPV4•38『线路33』 -快乐,http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/KLCDMPP360.m3u8$LR•IPV4•38『线路34』 -快乐,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8530&tk=e503191f8e20$LR•IPV4•38『线路35』 -快乐,http://123.113.205.253:3000/961930263$LR•IPV4•38『线路36』 -快乐,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/KLCDMPP360.m3u8$LR•IPV4•38『线路37』 -快乐,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/KLGMPP360.m3u8$LR•IPV4•38『线路38』 +快乐,http://182.61.15.47:80/961930263$LR•IPV4•37『线路1』 +快乐,http://175.178.243.33:8787/961930263$LR•IPV4•37『线路2』 +快乐,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4961&tk=b53028476470$LR•IPV4•37『线路3』 +快乐,http://116.236.204.18:1234/961930263$LR•IPV4•37『线路4』 +快乐,http://hlsztemgsplive.miguvideo.com:8080/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260713080302&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=171.8.79.254&SecurityKey=20260713080302&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=ab006d6e64da9b2e59016ae902451953&sv=10004&ct=android$LR•IPV4•37『线路5』 +快乐,http://e1.woc.iiiya.cn:8888/rtp/239.61.3.8:9566$LR•IPV4•37『线路6』 +快乐,https://migu.188766.xyz/?migutoken=c6b17aba558cf29b13242b5ae063e5ed&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•37『线路7』 +快乐,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8454&tk=a0c4f6cfaba3$LR•IPV4•37『线路8』 +快乐,http://phonetx.qing.mgtv.com/nn_live/nn_x64/8.8&/KLCDMPP360.m3u8$LR•IPV4•37『线路9』 +快乐,http://8.153.110.51:3020/961930263$LR•IPV4•37『线路10』 +快乐,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=0882&tk=f6cc1e0a0e1a$LR•IPV4•37『线路11』 +快乐,https://migu.188766.xyz/?migutoken=103d22404add9b90cd72174eb1a0108b&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•37『线路12』 +快乐,https://hls-gateway.vpstv.net/streams/708835.m3u8$LR•IPV4•37『线路13』 +快乐,http://drive.mxmy.net:8888/udp/239.3.1.164:8001$LR•IPV4•37『线路14』 +快乐,http://wouu.net:9977/udp/239.93.1.151:5140$LR•IPV4•37『线路15』 +快乐,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8530&tk=e503191f8e20$LR•IPV4•37『线路16』 +快乐,http://hlsztemgsplive.miguvideo.com:8080/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=2be6b2ec9fcf10d2c2457e2c710e172c&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260713040256&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=171.8.79.254&SecurityKey=20260713040256&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&encrypt=27ad6b8a831007d14a9028cc0047a50d&sv=10004&ct=android$LR•IPV4•37『线路17』 +快乐,http://home.wwang.pw:35455/itv/5000000011000031206.m3u8?cdn=bestzb$LR•IPV4•37『线路18』 +快乐,http://223.247.25.207:1234/961930263$LR•IPV4•37『线路19』 +快乐,http://nas.hssvm.com:8888/udp/225.1.2.18:5002$LR•IPV4•37『线路20』 +快乐,http://14.153.176.183:1234/961930263$LR•IPV4•37『线路21』 +快乐,http://110.154.192.76:7788/961930263$LR•IPV4•37『线路22』 +快乐,http://gslbmgsplive.miguvideo.com/migu/kailu/ydcmklcd/51/20251225/index.m3u8?msisdn=a46bb537a908cb676c82f2f68b09e7e2&mdspid=&spid=600603&netType=0&sid=5910022317&pid=2028597139×tamp=20260713062120&Channel_ID=0116_2600034600-99000-201600010010028&ProgramID=961930263&ParentNodeID=-99&assertID=5910022317&client_ip=39.103.182.111&SecurityKey=20260713062120&promotionId=&mvid=5900006783&mcid=500020&playurlVersion=WX-A1-9.6.1.6-SNAPSHOT&userid=&jmhm=&videocodec=h264&appCode=miguvideo_android&bean=mgspad&tid=android&conFee=0&puData=146a23bf8df82c43bc5ae3ccd17d1d42&ddCalcu=2144vd6a1aad2a731bdfc8cd3fe8a25cc4b3&sv=10004&ct=android$LR•IPV4•37『线路23』 +快乐,https://migu.188766.xyz/?migutoken=396182b2a9b61dca2daded3fc6f62311&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•37『线路24』 +快乐,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=1275&tk=a0c4f6cfaba3$LR•IPV4•37『线路25』 +快乐,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8968&tk=e640d0a1bf70$LR•IPV4•37『线路26』 +快乐,http://115.190.247.176:1111/961930263$LR•IPV4•37『线路27』 +快乐,http://119.88.243.98:17231/961930263$LR•IPV4•37『线路28』 +快乐,http://116.52.173.34:1234/961930263$LR•IPV4•37『线路29』 +快乐,http://27.12.12.183:1234/961930263$LR•IPV4•37『线路30』 +快乐,https://migu.188766.xyz/?migutoken=f4d62cd1f8775b1b837f4232f1051f36&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy$LR•IPV4•37『线路31』 +快乐,http://111.231.6.102:1234/961930263$LR•IPV4•37『线路32』 +快乐,http://47.104.178.59:3566/961930263$LR•IPV4•37『线路33』 +快乐,http://123.113.205.253:3000/961930263$LR•IPV4•37『线路34』 +快乐,http://101.6.130.52:1234/961930263$LR•IPV4•37『线路35』 +快乐,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/KLCDMPP360.m3u8$LR•IPV4•37『线路36』 +快乐,https://phoneal.qing.mgtv.com/nn_live/nn_x64/Y2RuZXhfaWQ9YWxfaGxzX2xkdnQmZT02OTE0NjA0JnY9MSZpZD1ITldTWkdTVCZzPTcwN2RiYTc2YzJjNmJmMTQ4MmUyZGYzOWU2NWM3YWFi/KLGMPP360.m3u8$LR•IPV4•37『线路37』 天才大熊猫啊,http://live.nctv.top/douyu1.php?id=10646699$LR•IPV4 原创,#genre# @@ -2524,290 +2528,290 @@ S哥影视,https://live.ottiptv.cc/huya/24720260$LR•IPV4 哈利影视,http://live.nctv.top/douyu1.php?id=8475821$LR•IPV4 浙江,#genre# -浙江民生休闲,https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8$LR•IPV4•37『线路1』 -浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-4.m3u8$LR•IPV4•37『线路2』 -浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian-4.m3u8$LR•IPV4•37『线路3』 -浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-6.ctv$LR•IPV4•37『线路4』 -浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-4.ctv$LR•IPV4•37『线路5』 -浙江民生休闲,https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8?$LR•IPV4•37『线路6』 -浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng-2.m3u8$LR•IPV4•37『线路7』 -浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-2.m3u8$LR•IPV4•37『线路8』 +浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian-4.m3u8$LR•IPV4•37『线路1』 +浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-9.ctv$LR•IPV4•37『线路2』 +浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng-1-1.m3u8$LR•IPV4•37『线路3』 +浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-6.ctv$LR•IPV4•37『线路4』 +浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-5.m3u8$LR•IPV4•37『线路5』 +浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-9.m3u8$LR•IPV4•37『线路6』 +浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng-1.m3u8$LR•IPV4•37『线路7』 +浙江民生休闲,http://ali-xwl.cztv.com/live/channel061080Plxw.m3u8$LR•IPV4•37『线路8』 浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian-2.m3u8$LR•IPV4•37『线路9』 -浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-1.m3u8$LR•IPV4•37『线路10』 -浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-9.m3u8$LR•IPV4•37『线路11』 -浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-1.m3u8$LR•IPV4•37『线路12』 -浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-3.m3u8$LR•IPV4•37『线路13』 -浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-4.m3u8$LR•IPV4•37『线路14』 -浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng-4.m3u8$LR•IPV4•37『线路15』 -浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-2.ctv$LR•IPV4•37『线路16』 -浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng-1-1.m3u8$LR•IPV4•37『线路17』 -浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-5.m3u8$LR•IPV4•37『线路18』 -浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng-3.m3u8$LR•IPV4•37『线路19』 -浙江民生休闲,http://ali-xwl.cztv.com/live/channel061080Plxw.m3u8$LR•IPV4•37『线路20』 -浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng-11.m3u8$LR•IPV4•37『线路21』 -浙江民生休闲,http://ali-m-l.cztv.com/channels/lantian/channel06/1080p.m3u8$LR•IPV4•37『线路22』 -浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-9.ctv$LR•IPV4•37『线路23』 -浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-6.ctv$LR•IPV4•37『线路24』 -浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng-1.m3u8$LR•IPV4•37『线路25』 -浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-8.m3u8$LR•IPV4•37『线路26』 -浙江民生休闲,http://ali-vl.cztv.com/channels/lantian/channel006/360p.m3u8$LR•IPV4•37『线路27』 -浙江民生休闲,http://ali-m-l.cztv.com/channels/lantian/channel06/720p.m3u8$LR•IPV4•37『线路28』 -浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-10.m3u8$LR•IPV4•37『线路29』 -浙江民生休闲,http://ali-xwl.cztv.com/live/channel06720Plxw.m3u8$LR•IPV4•37『线路30』 -浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-5.m3u8$LR•IPV4•37『线路31』 -浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-3.ctv$LR•IPV4•37『线路32』 -浙江民生休闲,http://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8$LR•IPV4•37『线路33』 -浙江民生休闲,http://120.55.49.231:3095/rtp/233.50.201.136:5140$LR•IPV4•37『线路34』 -浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng.m3u8$LR•IPV4•37『线路35』 -浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-7.m3u8$LR•IPV4•37『线路36』 -浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian.m3u8$LR•IPV4•37『线路37』 -浙江教科影院,http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8$LR•IPV4•2『线路1』 -浙江教科影院,http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?zzhed$LR•IPV4•2『线路2』 +浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-4.m3u8$LR•IPV4•37『线路10』 +浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-7.m3u8$LR•IPV4•37『线路11』 +浙江民生休闲,http://ali-m-l.cztv.com/channels/lantian/channel06/720p.m3u8$LR•IPV4•37『线路12』 +浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-10.m3u8$LR•IPV4•37『线路13』 +浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng-4.m3u8$LR•IPV4•37『线路14』 +浙江民生休闲,http://120.55.49.231:3095/rtp/233.50.201.136:5140$LR•IPV4•37『线路15』 +浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng.m3u8$LR•IPV4•37『线路16』 +浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-3.m3u8$LR•IPV4•37『线路17』 +浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-4.m3u8$LR•IPV4•37『线路18』 +浙江民生休闲,http://ali-xwl.cztv.com/live/channel06720Plxw.m3u8$LR•IPV4•37『线路19』 +浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-4.ctv$LR•IPV4•37『线路20』 +浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-2.ctv$LR•IPV4•37『线路21』 +浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-1.m3u8$LR•IPV4•37『线路22』 +浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-3.ctv$LR•IPV4•37『线路23』 +浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-2.m3u8$LR•IPV4•37『线路24』 +浙江民生休闲,http://ali-m-l.cztv.com/channels/lantian/channel06/1080p.m3u8$LR•IPV4•37『线路25』 +浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-1.m3u8$LR•IPV4•37『线路26』 +浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng-xiu-xian.m3u8$LR•IPV4•37『线路27』 +浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-6.ctv$LR•IPV4•37『线路28』 +浙江民生休闲,https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8$LR•IPV4•37『线路29』 +浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng-3.m3u8$LR•IPV4•37『线路30』 +浙江民生休闲,http://ali-vl.cztv.com/channels/lantian/channel006/360p.m3u8$LR•IPV4•37『线路31』 +浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-8.m3u8$LR•IPV4•37『线路32』 +浙江民生休闲,https://stream1.freetv.fun/zhe-jiang-min-sheng-xiu-xian-5.m3u8$LR•IPV4•37『线路33』 +浙江民生休闲,https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8?$LR•IPV4•37『线路34』 +浙江民生休闲,http://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8$LR•IPV4•37『线路35』 +浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng-11.m3u8$LR•IPV4•37『线路36』 +浙江民生休闲,https://t.freetv.fun/live/zhe-jiang-min-sheng-2.m3u8$LR•IPV4•37『线路37』 +浙江教科影院,http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?zzhed$LR•IPV4•2『线路1』 +浙江教科影院,http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8$LR•IPV4•2『线路2』 舟山新闻综合,http://play-sh13.quklive.com/live/1699001836208185.m3u8?auth_key=2027429324-c77bb6a7063c4cdea57f09ca22f9ef12-0-39c19a21f73b823db2150ea45b147eb2$LR•IPV4 浙江新闻,https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8$LR•IPV4•33『线路1』 -浙江新闻,https://ali-m-l.cztv.com/channels/lantian/channel07/720p.m3u8$LR•IPV4•33『线路2』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-2.ctv$LR•IPV4•33『线路3』 -浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-1.m3u8$LR•IPV4•33『线路4』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-8.m3u8$LR•IPV4•33『线路5』 -浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-2.m3u8$LR•IPV4•33『线路6』 -浙江新闻,http://ali-xwl.cztv.com/live/channel07720Plxw.m3u8$LR•IPV4•33『线路7』 -浙江新闻,http://120.55.49.231:3095/rtp/233.50.201.137:5140$LR•IPV4•33『线路8』 -浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8?zzhed$LR•IPV4•33『线路9』 -浙江新闻,http://api3.52tb.xyz/info?id=434&token=20221127jxwhhemby$LR•IPV4•33『线路10』 -浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-7.m3u8$LR•IPV4•33『线路11』 -浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-12.m3u8$LR•IPV4•33『线路12』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-11.m3u8$LR•IPV4•33『线路2』 +浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-1.m3u8$LR•IPV4•33『线路3』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-2.m3u8$LR•IPV4•33『线路4』 +浙江新闻,http://api3.52tb.xyz/info?id=434&token=20221127jxwhhemby$LR•IPV4•33『线路5』 +浙江新闻,http://120.55.49.231:3095/rtp/233.50.201.137:5140$LR•IPV4•33『线路6』 +浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel007/720p.m3u8$LR•IPV4•33『线路7』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-7.m3u8$LR•IPV4•33『线路8』 +浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-12.m3u8$LR•IPV4•33『线路9』 +浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-3.m3u8$LR•IPV4•33『线路10』 +浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel07/720p.m3u8$LR•IPV4•33『线路11』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-3.m3u8$LR•IPV4•33『线路12』 浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-9.m3u8$LR•IPV4•33『线路13』 -浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel07/720p.m3u8$LR•IPV4•33『线路14』 -浙江新闻,https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8?$LR•IPV4•33『线路15』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-5.m3u8$LR•IPV4•33『线路16』 -浙江新闻,http://ali-vl.cztv.com/channels/lantian/channel007/360p.m3u8$LR•IPV4•33『线路17』 -浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-3.m3u8$LR•IPV4•33『线路18』 -浙江新闻,http://ali-xwl.cztv.com/live/channel071080Plxw.m3u8$LR•IPV4•33『线路19』 -浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-6.m3u8$LR•IPV4•33『线路20』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-7.m3u8$LR•IPV4•33『线路21』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-1.m3u8$LR•IPV4•33『线路22』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-11.m3u8$LR•IPV4•33『线路23』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-10.m3u8$LR•IPV4•33『线路24』 -浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8$LR•IPV4•33『线路25』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-10.m3u8$LR•IPV4•33『线路14』 +浙江新闻,http://ali-xwl.cztv.com/live/channel071080Plxw.m3u8$LR•IPV4•33『线路15』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-6.m3u8$LR•IPV4•33『线路16』 +浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-2.m3u8$LR•IPV4•33『线路17』 +浙江新闻,http://ali-vl.cztv.com/channels/lantian/channel007/360p.m3u8$LR•IPV4•33『线路18』 +浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8?zzhed$LR•IPV4•33『线路19』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-1.m3u8$LR•IPV4•33『线路20』 +浙江新闻,https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8?$LR•IPV4•33『线路21』 +浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8$LR•IPV4•33『线路22』 +浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-6.m3u8$LR•IPV4•33『线路23』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-2.ctv$LR•IPV4•33『线路24』 +浙江新闻,https://ali-m-l.cztv.com/channels/lantian/channel07/1080p.m3u8$LR•IPV4•33『线路25』 浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen.m3u8$LR•IPV4•33『线路26』 -浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel007/720p.m3u8$LR•IPV4•33『线路27』 -浙江新闻,https://ali-m-l.cztv.com/channels/lantian/channel07/1080p.m3u8$LR•IPV4•33『线路28』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-2.m3u8$LR•IPV4•33『线路29』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-6.m3u8$LR•IPV4•33『线路30』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-3.m3u8$LR•IPV4•33『线路31』 -浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-4.m3u8$LR•IPV4•33『线路32』 -浙江新闻,https://stream1.freetv.fun/7fa07158e038a9bae3747a0cb9f8e8ff1aaba32669d28d99a498716f16569c1d.m3u8$LR•IPV4•33『线路33』 +浙江新闻,https://ali-m-l.cztv.com/channels/lantian/channel07/720p.m3u8$LR•IPV4•33『线路27』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-5.m3u8$LR•IPV4•33『线路28』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-4.m3u8$LR•IPV4•33『线路29』 +浙江新闻,http://ali-xwl.cztv.com/live/channel07720Plxw.m3u8$LR•IPV4•33『线路30』 +浙江新闻,https://stream1.freetv.fun/zhe-jiang-xin-wen-8.m3u8$LR•IPV4•33『线路31』 +浙江新闻,https://stream1.freetv.fun/7fa07158e038a9bae3747a0cb9f8e8ff1aaba32669d28d99a498716f16569c1d.m3u8$LR•IPV4•33『线路32』 +浙江新闻,https://t.freetv.fun/live/zhe-jiang-xin-wen-7.m3u8$LR•IPV4•33『线路33』 浙江国际,https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路1』 -浙江国际,http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路2』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-5.ctv$LR•IPV4•30『线路3』 -浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-4.m3u8$LR•IPV4•30『线路4』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-9.m3u8$LR•IPV4•30『线路5』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-6.m3u8$LR•IPV4•30『线路6』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-10.m3u8$LR•IPV4•30『线路7』 -浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-11.m3u8$LR•IPV4•30『线路8』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-11.m3u8$LR•IPV4•30『线路9』 -浙江国际,http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8$LR•IPV4•30『线路10』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-3.ctv$LR•IPV4•30『线路11』 -浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-10.m3u8$LR•IPV4•30『线路12』 -浙江国际,http://ali-m-l.cztv.com/channels/lantian/channel010/720p.m3u8$LR•IPV4•30『线路13』 -浙江国际,http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8?zzhed$LR•IPV4•30『线路14』 -浙江国际,https://qiniup-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路15』 -浙江国际,https://ct-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路16』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-5.m3u8$LR•IPV4•30『线路17』 -浙江国际,http://ali-xwl.cztv.com/live/channel101080Plxw.m3u8$LR•IPV4•30『线路18』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-1.m3u8$LR•IPV4•30『线路19』 -浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-6.m3u8$LR•IPV4•30『线路20』 +浙江国际,http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8?zzhed$LR•IPV4•30『线路2』 +浙江国际,http://ali-xwl.cztv.com/live/channel101080Plxw.m3u8$LR•IPV4•30『线路3』 +浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-2.m3u8$LR•IPV4•30『线路4』 +浙江国际,http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8$LR•IPV4•30『线路5』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-5.m3u8$LR•IPV4•30『线路6』 +浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-4.m3u8$LR•IPV4•30『线路7』 +浙江国际,https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8?$LR•IPV4•30『线路8』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-7.m3u8$LR•IPV4•30『线路9』 +浙江国际,https://stream1.freetv.fun/8edc171ba7945fd93cc0f2c9e39b48ba0a94500d0029db9456dfdc2d75f9ea9d.m3u8$LR•IPV4•30『线路10』 +浙江国际,http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8?a=1000&d=4e3d476240659192311f471b7b63aec2&k=d26568bae9dd23dd781c769c148459b2&t=1683180450$LR•IPV4•30『线路11』 +浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji.m3u8$LR•IPV4•30『线路12』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-11.m3u8$LR•IPV4•30『线路13』 +浙江国际,http://ali-m-l.cztv.com/channels/lantian/channel010/720p.m3u8$LR•IPV4•30『线路14』 +浙江国际,http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路15』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-6.m3u8$LR•IPV4•30『线路16』 +浙江国际,https://ct-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路17』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-9.m3u8$LR•IPV4•30『线路18』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-8.m3u8$LR•IPV4•30『线路19』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-3.ctv$LR•IPV4•30『线路20』 浙江国际,http://ali-xwl.cztv.com/live/channel10720Plxw.m3u8$LR•IPV4•30『线路21』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-7.m3u8$LR•IPV4•30『线路22』 -浙江国际,https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8?$LR•IPV4•30『线路23』 -浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji.m3u8$LR•IPV4•30『线路24』 -浙江国际,https://stream1.freetv.fun/8edc171ba7945fd93cc0f2c9e39b48ba0a94500d0029db9456dfdc2d75f9ea9d.m3u8$LR•IPV4•30『线路25』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-8.m3u8$LR•IPV4•30『线路26』 -浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-2.m3u8$LR•IPV4•30『线路27』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-2.m3u8$LR•IPV4•30『线路28』 -浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-4.m3u8$LR•IPV4•30『线路29』 -浙江国际,http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8?a=1000&d=4e3d476240659192311f471b7b63aec2&k=d26568bae9dd23dd781c769c148459b2&t=1683180450$LR•IPV4•30『线路30』 -浙江少儿,https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路1』 -浙江少儿,http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路2』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-4.m3u8$LR•IPV4•18『线路3』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-7.m3u8$LR•IPV4•18『线路4』 -浙江少儿,https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?$LR•IPV4•18『线路5』 -浙江少儿,https://ct-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路6』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-9.ctv$LR•IPV4•18『线路7』 -浙江少儿,http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8$LR•IPV4•18『线路8』 -浙江少儿,http://ali-xwl.cztv.com/live/channel081080Plxw.m3u8$LR•IPV4•18『线路9』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-10.ctv$LR•IPV4•18『线路10』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-2.m3u8$LR•IPV4•18『线路11』 -浙江少儿,http://ali-xwl.cztv.com/live/channel08720Plxw.m3u8$LR•IPV4•18『线路12』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-6.ctv$LR•IPV4•18『线路13』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-4.ctv$LR•IPV4•18『线路14』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-3.m3u8$LR•IPV4•18『线路15』 -浙江少儿,http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?fbl=$LR•IPV4•18『线路16』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-11.m3u8$LR•IPV4•18『线路17』 -浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-8.m3u8$LR•IPV4•18『线路18』 +浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-11.m3u8$LR•IPV4•30『线路22』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-1.m3u8$LR•IPV4•30『线路23』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-10.m3u8$LR•IPV4•30『线路24』 +浙江国际,https://qiniup-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8$LR•IPV4•30『线路25』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-4.m3u8$LR•IPV4•30『线路26』 +浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-10.m3u8$LR•IPV4•30『线路27』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-5.ctv$LR•IPV4•30『线路28』 +浙江国际,https://stream1.freetv.fun/zhe-jiang-guo-ji-2.m3u8$LR•IPV4•30『线路29』 +浙江国际,https://t.freetv.fun/live/zhe-jiang-guo-ji-6.m3u8$LR•IPV4•30『线路30』 +浙江少儿,http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路1』 +浙江少儿,http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?fbl=$LR•IPV4•18『线路2』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-11.m3u8$LR•IPV4•18『线路3』 +浙江少儿,http://ali-xwl.cztv.com/live/channel081080Plxw.m3u8$LR•IPV4•18『线路4』 +浙江少儿,http://ali-xwl.cztv.com/live/channel08720Plxw.m3u8$LR•IPV4•18『线路5』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-7.m3u8$LR•IPV4•18『线路6』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-3.m3u8$LR•IPV4•18『线路7』 +浙江少儿,https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?$LR•IPV4•18『线路8』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-10.ctv$LR•IPV4•18『线路9』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-4.m3u8$LR•IPV4•18『线路10』 +浙江少儿,http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8$LR•IPV4•18『线路11』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-4.ctv$LR•IPV4•18『线路12』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-2.m3u8$LR•IPV4•18『线路13』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-9.ctv$LR•IPV4•18『线路14』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-8.m3u8$LR•IPV4•18『线路15』 +浙江少儿,https://ct-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路16』 +浙江少儿,https://stream1.freetv.fun/zhe-jiang-shao-er-6.ctv$LR•IPV4•18『线路17』 +浙江少儿,https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8$LR•IPV4•18『线路18』 浙江教科,https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8$LR•IPV4•8『线路1』 浙江教科,http://api3.52tb.xyz/info?id=432&token=20230226bgyszp$LR•IPV4•8『线路2』 浙江教科,http://zwebl02.cztv.com/live/channel041080P.m3u8?auth_key=2524708799-0-0-f195b808217db133bfd648edc01e91fa$LR•IPV4•8『线路3』 -浙江教科,http://ali-m-l.cztv.com/channels/lantian/channel04/1080p.m3u8$LR•IPV4•8『线路4』 -浙江教科,http://ali-xwl.cztv.com/live/channel04720Plxw.m3u8$LR•IPV4•8『线路5』 -浙江教科,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8242&tk=23a9aca1f79f$LR•IPV4•8『线路6』 -浙江教科,http://ali-xwl.cztv.com/live/channel041080Plxw.m3u8$LR•IPV4•8『线路7』 -浙江教科,http://ali-vl.cztv.com/channels/lantian/channel004/360p.m3u8$LR•IPV4•8『线路8』 +浙江教科,http://ali-xwl.cztv.com/live/channel04720Plxw.m3u8$LR•IPV4•8『线路4』 +浙江教科,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=8242&tk=23a9aca1f79f$LR•IPV4•8『线路5』 +浙江教科,http://ali-vl.cztv.com/channels/lantian/channel004/360p.m3u8$LR•IPV4•8『线路6』 +浙江教科,http://ali-m-l.cztv.com/channels/lantian/channel04/1080p.m3u8$LR•IPV4•8『线路7』 +浙江教科,http://ali-xwl.cztv.com/live/channel041080Plxw.m3u8$LR•IPV4•8『线路8』 浙江钱江,https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8$LR•IPV4•19『线路1』 -浙江钱江,http://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8$LR•IPV4•19『线路2』 -浙江钱江,http://ali-m-l.cztv.com/channels/lantian/channel02/1080p.m3u8$LR•IPV4•19『线路3』 -浙江钱江,https://stream1.freetv.fun/bf079ada709563bdd095159c02dfb5afb53c24e643b73f987100b9d25e9c8f41.m3u8$LR•IPV4•19『线路4』 -浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-4.ctv$LR•IPV4•19『线路5』 +浙江钱江,https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-3.m3u8$LR•IPV4•19『线路2』 +浙江钱江,https://stream1.freetv.fun/bf079ada709563bdd095159c02dfb5afb53c24e643b73f987100b9d25e9c8f41.m3u8$LR•IPV4•19『线路3』 +浙江钱江,http://ali-m-l.cztv.com/channels/lantian/channel002/720p.m3u8$LR•IPV4•19『线路4』 +浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-1.m3u8$LR•IPV4•19『线路5』 浙江钱江,http://ali-xwl.cztv.com/live/channel02720Plxw.m3u8$LR•IPV4•19『线路6』 -浙江钱江,http://120.55.49.231:3095/rtp/233.50.201.132:5140$LR•IPV4•19『线路7』 -浙江钱江,https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-2.m3u8$LR•IPV4•19『线路8』 -浙江钱江,https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-3.m3u8$LR•IPV4•19『线路9』 -浙江钱江,https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi.m3u8$LR•IPV4•19『线路10』 -浙江钱江,http://ali-xwl.cztv.com/live/channel021080Plxw.m3u8$LR•IPV4•19『线路11』 -浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-3.ctv$LR•IPV4•19『线路12』 -浙江钱江,http://api3.52tb.xyz/info?id=436&token=20230226bgyszp$LR•IPV4•19『线路13』 -浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-2.m3u8$LR•IPV4•19『线路14』 -浙江钱江,https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8\r\n$LR•IPV4•19『线路15』 -浙江钱江,https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-1.m3u8$LR•IPV4•19『线路16』 -浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-1.m3u8$LR•IPV4•19『线路17』 -浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-5.ctv$LR•IPV4•19『线路18』 -浙江钱江,http://ali-m-l.cztv.com/channels/lantian/channel002/720p.m3u8$LR•IPV4•19『线路19』 -公共新闻,http://ali-m-l.cztv.com/channels/lantian/channel07/1080p.m3u8$LR•IPV4•6『线路1』 -公共新闻,https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-1.ctv$LR•IPV4•6『线路2』 +浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-2.m3u8$LR•IPV4•19『线路7』 +浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-5.ctv$LR•IPV4•19『线路8』 +浙江钱江,http://120.55.49.231:3095/rtp/233.50.201.132:5140$LR•IPV4•19『线路9』 +浙江钱江,http://ali-m-l.cztv.com/channels/lantian/channel02/1080p.m3u8$LR•IPV4•19『线路10』 +浙江钱江,https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-1.m3u8$LR•IPV4•19『线路11』 +浙江钱江,https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi-2.m3u8$LR•IPV4•19『线路12』 +浙江钱江,https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8\r\n$LR•IPV4•19『线路13』 +浙江钱江,http://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8$LR•IPV4•19『线路14』 +浙江钱江,https://t.freetv.fun/live/zhe-jiang-qian-jiang-du-shi.m3u8$LR•IPV4•19『线路15』 +浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-4.ctv$LR•IPV4•19『线路16』 +浙江钱江,http://ali-xwl.cztv.com/live/channel021080Plxw.m3u8$LR•IPV4•19『线路17』 +浙江钱江,http://api3.52tb.xyz/info?id=436&token=20230226bgyszp$LR•IPV4•19『线路18』 +浙江钱江,https://stream1.freetv.fun/zhe-jiang-qian-jiang-du-shi-3.ctv$LR•IPV4•19『线路19』 +公共新闻,https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-1.ctv$LR•IPV4•6『线路1』 +公共新闻,https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-2.ctv$LR•IPV4•6『线路2』 公共新闻,https://t.freetv.fun/live/zhe-jiang-gong-gong-xin-wen.m3u8$LR•IPV4•6『线路3』 -公共新闻,https://t.freetv.fun/live/zhe-jiang-gong-gong-xin-wen-1.m3u8$LR•IPV4•6『线路4』 -公共新闻,https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-2.ctv$LR•IPV4•6『线路5』 -公共新闻,https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-1.m3u8$LR•IPV4•6『线路6』 -上虞新闻综合,http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?zzhed$LR•IPV4•2『线路1』 -上虞新闻综合,http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•2『线路2』 -上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed$LR•IPV4•11『线路1』 -上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8$LR•IPV4•11『线路2』 -上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-5.m3u8$LR•IPV4•11『线路3』 -上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-2.m3u8$LR•IPV4•11『线路4』 -上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-3.m3u8$LR•IPV4•11『线路5』 -上虞新商都,https://t.freetv.fun/live/shang-yu-xin-shang-du.m3u8$LR•IPV4•11『线路6』 -上虞新商都,https://t.freetv.fun/live/shang-yu-xin-shang-du-1.m3u8$LR•IPV4•11『线路7』 -上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed\r\n$LR•IPV4•11『线路8』 -上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-4.m3u8$LR•IPV4•11『线路9』 -上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-1.m3u8$LR•IPV4•11『线路10』 -上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed?$LR•IPV4•11『线路11』 +公共新闻,https://stream1.freetv.fun/zhe-jiang-gong-gong-xin-wen-1.m3u8$LR•IPV4•6『线路4』 +公共新闻,http://ali-m-l.cztv.com/channels/lantian/channel07/1080p.m3u8$LR•IPV4•6『线路5』 +公共新闻,https://t.freetv.fun/live/zhe-jiang-gong-gong-xin-wen-1.m3u8$LR•IPV4•6『线路6』 +上虞新闻综合,http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•2『线路1』 +上虞新闻综合,http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?zzhed$LR•IPV4•2『线路2』 +上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-5.m3u8$LR•IPV4•11『线路1』 +上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed$LR•IPV4•11『线路2』 +上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-2.m3u8$LR•IPV4•11『线路3』 +上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed\r\n$LR•IPV4•11『线路4』 +上虞新商都,https://t.freetv.fun/live/shang-yu-xin-shang-du-1.m3u8$LR•IPV4•11『线路5』 +上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-4.m3u8$LR•IPV4•11『线路6』 +上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-1.m3u8$LR•IPV4•11『线路7』 +上虞新商都,https://stream1.freetv.fun/shang-yu-xin-shang-du-3.m3u8$LR•IPV4•11『线路8』 +上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed?$LR•IPV4•11『线路9』 +上虞新商都,https://t.freetv.fun/live/shang-yu-xin-shang-du.m3u8$LR•IPV4•11『线路10』 +上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8$LR•IPV4•11『线路11』 开化国家公园,http://l.cztvcloud.com/channels/lantian/SXkaihua2/720p.m3u8$LR•IPV4•3『线路1』 开化国家公园,http://l.cztvcloud.com/channels/lantian/SXkaihua2/720p.m3u8?zzhed$LR•IPV4•3『线路2』 开化国家公园,http://l.cztvcloud.com/channels/lantian/SXkaihua2/720p.m3u8zzhed$LR•IPV4•3『线路3』 -永嘉新闻综合,http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8$LR•IPV4•10『线路1』 -永嘉新闻综合,http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed$LR•IPV4•10『线路2』 -永嘉新闻综合,https://t.freetv.fun/live/yong-jia-xin-wen-zong-he.m3u8$LR•IPV4•10『线路3』 -永嘉新闻综合,https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路4』 -永嘉新闻综合,https://t.freetv.fun/live/yong-jia-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路5』 -永嘉新闻综合,https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路6』 -永嘉新闻综合,https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-3.ctv$LR•IPV4•10『线路7』 -永嘉新闻综合,https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-4.m3u8$LR•IPV4•10『线路8』 -永嘉新闻综合,http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed"$LR•IPV4•10『线路9』 -永嘉新闻综合,http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed"$LR•IPV4•10『线路10』 +永嘉新闻综合,http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed"$LR•IPV4•10『线路1』 +永嘉新闻综合,https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-3.ctv$LR•IPV4•10『线路2』 +永嘉新闻综合,http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed"$LR•IPV4•10『线路3』 +永嘉新闻综合,http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8$LR•IPV4•10『线路4』 +永嘉新闻综合,https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-2.m3u8$LR•IPV4•10『线路5』 +永嘉新闻综合,http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed$LR•IPV4•10『线路6』 +永嘉新闻综合,https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-4.m3u8$LR•IPV4•10『线路7』 +永嘉新闻综合,https://stream1.freetv.fun/yong-jia-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路8』 +永嘉新闻综合,https://t.freetv.fun/live/yong-jia-xin-wen-zong-he.m3u8$LR•IPV4•10『线路9』 +永嘉新闻综合,https://t.freetv.fun/live/yong-jia-xin-wen-zong-he-1.m3u8$LR•IPV4•10『线路10』 萧山生活频道,http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8?zzhed$LR•IPV4•3『线路1』 萧山生活频道,https://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8$LR•IPV4•3『线路2』 萧山生活频道,http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8?zzhed?$LR•IPV4•3『线路3』 -龙游生活娱乐,https://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8$LR•IPV4•3『线路1』 -龙游生活娱乐,http://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8?zzhed$LR•IPV4•3『线路2』 -龙游生活娱乐,http://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8$LR•IPV4•3『线路3』 -浙江生活,http://ls.qingting.fm/live/1099.m3u8$LR•IPV4•25『线路1』 -浙江生活,http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8$LR•IPV4•25『线路2』 -浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-8.ctv$LR•IPV4•25『线路3』 -浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-7.ctv$LR•IPV4•25『线路4』 -浙江生活,http://120.55.49.231:3095/rtp/233.50.201.133:5140$LR•IPV4•25『线路5』 -浙江生活,http://ali-xwl.cztv.com/live/channel031080Plxw.m3u8$LR•IPV4•25『线路6』 -浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-2.ctv$LR•IPV4•25『线路7』 -浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-6.m3u8$LR•IPV4•25『线路8』 -浙江生活,http://ali-xwl.cztv.com/live/channel03720Plxw.m3u8$LR•IPV4•25『线路9』 -浙江生活,http://ali-m-l.cztv.com/channels/lantian/channel03/1080p.m3u8$LR•IPV4•25『线路10』 -浙江生活,http://ali-m-l.cztv.com/channels/lantian/channel03/720p.m3u8$LR•IPV4•25『线路11』 -浙江生活,https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8?$LR•IPV4•25『线路12』 -浙江生活,http://ali-m-l.cztv.com/channels/lantian/channel003/720p.m3u8$LR•IPV4•25『线路13』 -浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-1.m3u8$LR•IPV4•25『线路14』 -浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-7.m3u8$LR•IPV4•25『线路15』 -浙江生活,https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8$LR•IPV4•25『线路16』 -浙江生活,http://ali-vl.cztv.com/channels/lantian/channel003/360p.m3u8$LR•IPV4•25『线路17』 -浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-5.m3u8$LR•IPV4•25『线路18』 -浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-3.m3u8$LR•IPV4•25『线路19』 -浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-1.ctv$LR•IPV4•25『线路20』 -浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-6.m3u8$LR•IPV4•25『线路21』 -浙江生活,https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8\r\n$LR•IPV4•25『线路22』 -浙江生活,http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8$LR•IPV4•25『线路23』 -浙江生活,http://api3.52tb.xyz/info?id=437&token=20230226bgyszp$LR•IPV4•25『线路24』 -浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-2.m3u8$LR•IPV4•25『线路25』 -浙江教育,http://ali-m-l.cztv.com/channels/lantian/channel04/720p.m3u8$LR•IPV4•3『线路1』 -浙江教育,https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?$LR•IPV4•3『线路2』 +龙游生活娱乐,http://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8$LR•IPV4•3『线路1』 +龙游生活娱乐,https://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8$LR•IPV4•3『线路2』 +龙游生活娱乐,http://l.cztvcloud.com/channels/lantian/SXlongyou2/720p.m3u8?zzhed$LR•IPV4•3『线路3』 +浙江生活,http://ali-vl.cztv.com/channels/lantian/channel003/360p.m3u8$LR•IPV4•25『线路1』 +浙江生活,https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8\r\n$LR•IPV4•25『线路2』 +浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-2.ctv$LR•IPV4•25『线路3』 +浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-3.m3u8$LR•IPV4•25『线路4』 +浙江生活,https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8?$LR•IPV4•25『线路5』 +浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-2.m3u8$LR•IPV4•25『线路6』 +浙江生活,http://ls.qingting.fm/live/1099.m3u8$LR•IPV4•25『线路7』 +浙江生活,http://120.55.49.231:3095/rtp/233.50.201.133:5140$LR•IPV4•25『线路8』 +浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-6.m3u8$LR•IPV4•25『线路9』 +浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-7.m3u8$LR•IPV4•25『线路10』 +浙江生活,http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8$LR•IPV4•25『线路11』 +浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-6.m3u8$LR•IPV4•25『线路12』 +浙江生活,http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8$LR•IPV4•25『线路13』 +浙江生活,http://api3.52tb.xyz/info?id=437&token=20230226bgyszp$LR•IPV4•25『线路14』 +浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-1.ctv$LR•IPV4•25『线路15』 +浙江生活,http://ali-m-l.cztv.com/channels/lantian/channel003/720p.m3u8$LR•IPV4•25『线路16』 +浙江生活,http://ali-xwl.cztv.com/live/channel03720Plxw.m3u8$LR•IPV4•25『线路17』 +浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-7.ctv$LR•IPV4•25『线路18』 +浙江生活,http://ali-m-l.cztv.com/channels/lantian/channel03/720p.m3u8$LR•IPV4•25『线路19』 +浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-1.m3u8$LR•IPV4•25『线路20』 +浙江生活,http://ali-m-l.cztv.com/channels/lantian/channel03/1080p.m3u8$LR•IPV4•25『线路21』 +浙江生活,https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8$LR•IPV4•25『线路22』 +浙江生活,https://t.freetv.fun/live/zhe-jiang-jing-ji-sheng-huo-5.m3u8$LR•IPV4•25『线路23』 +浙江生活,http://ali-xwl.cztv.com/live/channel031080Plxw.m3u8$LR•IPV4•25『线路24』 +浙江生活,https://stream1.freetv.fun/zhe-jiang-jing-ji-sheng-huo-8.ctv$LR•IPV4•25『线路25』 +浙江教育,https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?$LR•IPV4•3『线路1』 +浙江教育,http://ali-m-l.cztv.com/channels/lantian/channel04/720p.m3u8$LR•IPV4•3『线路2』 浙江教育,http://120.55.49.231:3095/rtp/233.50.201.134:5140$LR•IPV4•3『线路3』 -杭州综合,http://www.jeremyoto.com:82/rtp/233.50.201.173:5140$LR•IPV4•6『线路1』 -杭州综合,https://stream1.freetv.fun/hang-zhou-zong-he-2.ctv$LR•IPV4•6『线路2』 -杭州综合,http://www.flyskyman.cn:4022/rtp/233.50.201.173:5140$LR•IPV4•6『线路3』 -杭州综合,http://live.xmcdn.com/live/1845/64.m3u8$LR•IPV4•6『线路4』 -杭州综合,http://120.55.49.231:3095/rtp/233.50.201.173:5140$LR•IPV4•6『线路5』 -杭州综合,https://stream1.freetv.fun/hang-zhou-zong-he-3.ctv$LR•IPV4•6『线路6』 -杭州明珠,https://stream1.freetv.fun/hang-zhou-ming-zhu-2.m3u8$LR•IPV4•7『线路1』 -杭州明珠,https://stream1.freetv.fun/hang-zhou-ming-zhu-4.m3u8$LR•IPV4•7『线路2』 -杭州明珠,http://120.198.101.106:9901/tsfile/live/1008_1.m3u8?key=txiptv$LR•IPV4•7『线路3』 -杭州明珠,http://www.flyskyman.cn:4022/rtp/233.50.201.174:5140$LR•IPV4•7『线路4』 -杭州明珠,https://stream1.freetv.fun/hang-zhou-ming-zhu-2.ctv$LR•IPV4•7『线路5』 -杭州明珠,http://www.jeremyoto.com:82/rtp/233.50.201.174:5140$LR•IPV4•7『线路6』 +杭州综合,http://120.55.49.231:3095/rtp/233.50.201.173:5140$LR•IPV4•6『线路1』 +杭州综合,http://www.flyskyman.cn:4022/rtp/233.50.201.173:5140$LR•IPV4•6『线路2』 +杭州综合,https://stream1.freetv.fun/hang-zhou-zong-he-3.ctv$LR•IPV4•6『线路3』 +杭州综合,http://www.jeremyoto.com:82/rtp/233.50.201.173:5140$LR•IPV4•6『线路4』 +杭州综合,https://stream1.freetv.fun/hang-zhou-zong-he-2.ctv$LR•IPV4•6『线路5』 +杭州综合,http://live.xmcdn.com/live/1845/64.m3u8$LR•IPV4•6『线路6』 +杭州明珠,https://stream1.freetv.fun/hang-zhou-ming-zhu-2.ctv$LR•IPV4•7『线路1』 +杭州明珠,http://www.flyskyman.cn:4022/rtp/233.50.201.174:5140$LR•IPV4•7『线路2』 +杭州明珠,https://stream1.freetv.fun/hang-zhou-ming-zhu-4.m3u8$LR•IPV4•7『线路3』 +杭州明珠,http://www.jeremyoto.com:82/rtp/233.50.201.174:5140$LR•IPV4•7『线路4』 +杭州明珠,https://stream1.freetv.fun/hang-zhou-ming-zhu-2.m3u8$LR•IPV4•7『线路5』 +杭州明珠,http://120.198.101.106:9901/tsfile/live/1008_1.m3u8?key=txiptv$LR•IPV4•7『线路6』 杭州明珠,https://stream1.freetv.fun/hang-zhou-ming-zhu-1.ctv$LR•IPV4•7『线路7』 -杭州生活,http://120.55.49.231:3095/rtp/233.50.201.175:5140$LR•IPV4•6『线路1』 -杭州生活,https://stream1.freetv.fun/hang-zhou-sheng-huo-3.ctv$LR•IPV4•6『线路2』 -杭州生活,http://www.jeremyoto.com:82/rtp/233.50.201.175:5140$LR•IPV4•6『线路3』 -杭州生活,https://stream1.freetv.fun/hang-zhou-sheng-huo-2.ctv$LR•IPV4•6『线路4』 -杭州生活,http://www.flyskyman.cn:4022/rtp/233.50.201.175:5140$LR•IPV4•6『线路5』 -杭州生活,https://stream1.freetv.fun/hang-zhou-sheng-huo-1.ctv$LR•IPV4•6『线路6』 -杭州影视,http://www.jeremyoto.com:82/rtp/233.50.201.176:5140$LR•IPV4•3『线路1』 -杭州影视,https://stream1.freetv.fun/hang-zhou-ying-shi-2.ctv$LR•IPV4•3『线路2』 -杭州影视,http://www.flyskyman.cn:4022/rtp/233.50.201.176:5140$LR•IPV4•3『线路3』 +杭州生活,https://stream1.freetv.fun/hang-zhou-sheng-huo-2.ctv$LR•IPV4•6『线路1』 +杭州生活,https://stream1.freetv.fun/hang-zhou-sheng-huo-1.ctv$LR•IPV4•6『线路2』 +杭州生活,http://120.55.49.231:3095/rtp/233.50.201.175:5140$LR•IPV4•6『线路3』 +杭州生活,https://stream1.freetv.fun/hang-zhou-sheng-huo-3.ctv$LR•IPV4•6『线路4』 +杭州生活,http://www.jeremyoto.com:82/rtp/233.50.201.175:5140$LR•IPV4•6『线路5』 +杭州生活,http://www.flyskyman.cn:4022/rtp/233.50.201.175:5140$LR•IPV4•6『线路6』 +杭州影视,http://www.flyskyman.cn:4022/rtp/233.50.201.176:5140$LR•IPV4•3『线路1』 +杭州影视,http://www.jeremyoto.com:82/rtp/233.50.201.176:5140$LR•IPV4•3『线路2』 +杭州影视,https://stream1.freetv.fun/hang-zhou-ying-shi-2.ctv$LR•IPV4•3『线路3』 嘉兴新闻综合,http://live.zohi.tv/video/s10001-fztv-1/index.m3u8$LR•IPV4•5『线路1』 -嘉兴新闻综合,http://tvfile.jyrmt.cn:80/nmip-media/channellive/channel104452/playlist.m3u8$LR•IPV4•5『线路2』 -嘉兴新闻综合,http://play-sh13.quklive.com/live/1675942165226154.m3u8?auth_key=2028730261-e7db80d294b04dc9ab5c8136b4c88b74-0-f0795306faa59c7edb35860a8ae63528$LR•IPV4•5『线路3』 -嘉兴新闻综合,http://live.pzhkai.com/xwzhtl/sd/live.m3u8$LR•IPV4•5『线路4』 -嘉兴新闻综合,https://live-auth.51kandianshi.com/szgd/csztv1.m3u8$LR•IPV4•5『线路5』 -湖州公共,http://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e$LR•IPV4•9『线路1』 -湖州公共,https://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e$LR•IPV4•9『线路2』 -湖州公共,https://stream1.freetv.fun/hu-zhou-gong-gong-3.m3u8$LR•IPV4•9『线路3』 -湖州公共,https://t.freetv.fun/live/hu-zhou-gong-gong-2.m3u8$LR•IPV4•9『线路4』 -湖州公共,https://t.freetv.fun/live/hu-zhou-gong-gong-1.m3u8$LR•IPV4•9『线路5』 -湖州公共,https://stream1.freetv.fun/hu-zhou-gong-gong-9.m3u8$LR•IPV4•9『线路6』 +嘉兴新闻综合,http://play-sh13.quklive.com/live/1675942165226154.m3u8?auth_key=2028730261-e7db80d294b04dc9ab5c8136b4c88b74-0-f0795306faa59c7edb35860a8ae63528$LR•IPV4•5『线路2』 +嘉兴新闻综合,https://live-auth.51kandianshi.com/szgd/csztv1.m3u8$LR•IPV4•5『线路3』 +嘉兴新闻综合,http://tvfile.jyrmt.cn:80/nmip-media/channellive/channel104452/playlist.m3u8$LR•IPV4•5『线路4』 +嘉兴新闻综合,http://live.pzhkai.com/xwzhtl/sd/live.m3u8$LR•IPV4•5『线路5』 +湖州公共,http://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e&fbl=$LR•IPV4•9『线路1』 +湖州公共,https://t.freetv.fun/live/hu-zhou-gong-gong-6.m3u8$LR•IPV4•9『线路2』 +湖州公共,https://t.freetv.fun/live/hu-zhou-gong-gong-2.m3u8$LR•IPV4•9『线路3』 +湖州公共,https://t.freetv.fun/live/hu-zhou-gong-gong-1.m3u8$LR•IPV4•9『线路4』 +湖州公共,https://stream1.freetv.fun/hu-zhou-gong-gong-3.m3u8$LR•IPV4•9『线路5』 +湖州公共,https://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e$LR•IPV4•9『线路6』 湖州公共,https://stream1.freetv.fun/hu-zhou-gong-gong-1.m3u8$LR•IPV4•9『线路7』 -湖州公共,http://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e&fbl=$LR•IPV4•9『线路8』 -湖州公共,https://t.freetv.fun/live/hu-zhou-gong-gong-6.m3u8$LR•IPV4•9『线路9』 -湖州新闻综合,http://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865$LR•IPV4•3『线路1』 -湖州新闻综合,http://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865&fbl=$LR•IPV4•3『线路2』 -湖州新闻综合,https://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865$LR•IPV4•3『线路3』 -湖州文化娱乐,http://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887$LR•IPV4•3『线路1』 -湖州文化娱乐,http://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887&fbl=$LR•IPV4•3『线路2』 +湖州公共,https://stream1.freetv.fun/hu-zhou-gong-gong-9.m3u8$LR•IPV4•9『线路8』 +湖州公共,http://hzcm-live.media.hugd.com/1e6b554b9ab74513958c0e1ffe664d22/9acaa7634309494cb29a85eb12136607.m3u8?auth_key=2272900830-9a2389b8bf4e49d580d4ad807423d326-0-ea78a5c7a678c436263582d368f5009e$LR•IPV4•9『线路9』 +湖州新闻综合,http://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865&fbl=$LR•IPV4•3『线路1』 +湖州新闻综合,https://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865$LR•IPV4•3『线路2』 +湖州新闻综合,http://hzcm-live.media.hugd.com/3f5fa7d64c7c46a38c6bd8ad35e836cc/65128273761b4731ae53729ea6dcf932.m3u8?auth_key=2277598215-9d21c15111244bea8d298c361d31a72e-0-d031198f58d44b0e91ba2e3f3b188865$LR•IPV4•3『线路3』 +湖州文化娱乐,http://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887&fbl=$LR•IPV4•3『线路1』 +湖州文化娱乐,http://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887$LR•IPV4•3『线路2』 湖州文化娱乐,https://hzcm-live.media.hugd.com/613c47f0ab0d4eaa98b21378d0db6ded/0051d31c9dd543a7825eea4e49675b2a.m3u8?auth_key=2277598059-0a5ebfa1c0dc4671b42a60810fc37039-0-fa625b7d1feab612062453c12e3c8887$LR•IPV4•3『线路3』 -浙江留学,http://ali-vl.cztv.com/channels/lantian/channel009/360p.m3u8$LR•IPV4•2『线路1』 -浙江留学,https://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8$LR•IPV4•2『线路2』 -浙江数码时代,http://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8$LR•IPV4•3『线路1』 +浙江留学,https://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8$LR•IPV4•2『线路1』 +浙江留学,http://ali-vl.cztv.com/channels/lantian/channel009/360p.m3u8$LR•IPV4•2『线路2』 +浙江数码时代,http://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8?zzhed$LR•IPV4•3『线路1』 浙江数码时代,https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8\r\n$LR•IPV4•3『线路2』 -浙江数码时代,http://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8?zzhed$LR•IPV4•3『线路3』 +浙江数码时代,http://ali-m-l.cztv.com/channels/lantian/channel12/720p.m3u8$LR•IPV4•3『线路3』 浙江青田,http://play-sh13.quklive.com/live/1692755062081192.m3u8?auth_key=2028414252-b15176e05a684b589d12314dfabf6225-0-d175afe86fbea31e2eb167a6dd06cd4f$LR•IPV4 -浙江遂昌,http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8$LR•IPV4•3『线路1』 +浙江遂昌,http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•3『线路1』 浙江遂昌,http://play-sh13.quklive.com/live/1708426592499070.m3u8?auth_key=2028414342-e92bda8423ad478c987a8b7ae82abe0e-0-c616f7fabb9675e1ed1d84d9edae7e07$LR•IPV4•3『线路2』 -浙江遂昌,http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•3『线路3』 -遂昌综合,http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?zzhed$LR•IPV4•2『线路1』 -遂昌综合,http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8zzhed$LR•IPV4•2『线路2』 -缙云综合,http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed$LR•IPV4•3『线路1』 -缙云综合,http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed?$LR•IPV4•3『线路2』 +浙江遂昌,http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8$LR•IPV4•3『线路3』 +遂昌综合,http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8zzhed$LR•IPV4•2『线路1』 +遂昌综合,http://l.cztvcloud.com/channels/lantian/SXsuichang1/720p.m3u8?zzhed$LR•IPV4•2『线路2』 +缙云综合,http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed?$LR•IPV4•3『线路1』 +缙云综合,http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed$LR•IPV4•3『线路2』 缙云综合,http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?zzhed"$LR•IPV4•3『线路3』 -缙云新闻综合,http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8$LR•IPV4•2『线路1』 -缙云新闻综合,http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?fbl=$LR•IPV4•2『线路2』 +缙云新闻综合,http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8?fbl=$LR•IPV4•2『线路1』 +缙云新闻综合,http://l.cztvcloud.com/channels/lantian/SXjinyun1/720p.m3u8$LR•IPV4•2『线路2』 绍兴电视台公共,http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•2『线路1』 绍兴电视台公共,http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8?zzhed$LR•IPV4•2『线路2』 -绍兴公共,http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8$LR•IPV4•7『线路1』 -绍兴公共,https://stream1.freetv.fun/shao-xing-gong-gong-2.m3u8$LR•IPV4•7『线路2』 -绍兴公共,https://stream1.freetv.fun/shao-xing-gong-gong-7.m3u8$LR•IPV4•7『线路3』 +绍兴公共,https://stream1.freetv.fun/shao-xing-gong-gong-2.m3u8$LR•IPV4•7『线路1』 +绍兴公共,http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8$LR•IPV4•7『线路2』 +绍兴公共,https://stream1.freetv.fun/shao-xing-gong-gong-1.m3u8$LR•IPV4•7『线路3』 绍兴公共,https://stream1.freetv.fun/shao-xing-gong-gong-8.m3u8$LR•IPV4•7『线路4』 绍兴公共,https://stream1.freetv.fun/shao-xing-gong-gong-3.m3u8$LR•IPV4•7『线路5』 -绍兴公共,https://stream1.freetv.fun/shao-xing-gong-gong-1.m3u8$LR•IPV4•7『线路6』 -绍兴公共,http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8?$LR•IPV4•7『线路7』 -海宁新闻综合,https://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8$LR•IPV4•3『线路1』 -海宁新闻综合,http://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8$LR•IPV4•3『线路2』 -海宁新闻综合,https://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8?zbid=293304&tpid=1708007815$LR•IPV4•3『线路3』 +绍兴公共,http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8?$LR•IPV4•7『线路6』 +绍兴公共,https://stream1.freetv.fun/shao-xing-gong-gong-7.m3u8$LR•IPV4•7『线路7』 +海宁新闻综合,http://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8$LR•IPV4•3『线路1』 +海宁新闻综合,https://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8?zbid=293304&tpid=1708007815$LR•IPV4•3『线路2』 +海宁新闻综合,https://p2hs.vzan.com/slowlive/317913155078575177/live.m3u8$LR•IPV4•3『线路3』 洞头综合,http://l.cztvcloud.com/channels/lantian/SXdongtou1/720p.m3u8$LR•IPV4•3『线路1』 洞头综合,http://l.cztvcloud.com/channels/lantian/SXdongtou1/720p.m3u8?zzhed?$LR•IPV4•3『线路2』 洞头综合,http://l.cztvcloud.com/channels/lantian/SXdongtou1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•3『线路3』 @@ -2817,86 +2821,87 @@ S哥影视,https://live.ottiptv.cc/huya/24720260$LR•IPV4 武义新闻综合,https://stream1.freetv.fun/wu-yi-xin-wen-zong-he-3.m3u8$LR•IPV4•4『线路4』 松阳综合,http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8$LR•IPV4•6『线路1』 松阳综合,http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?fbl=$LR•IPV4•6『线路2』 -松阳综合,http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed$LR•IPV4•6『线路3』 +松阳综合,http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed?$LR•IPV4•6『线路3』 松阳综合,http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8zzhed$LR•IPV4•6『线路4』 松阳综合,http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路5』 -松阳综合,http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed?$LR•IPV4•6『线路6』 +松阳综合,http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?zzhed$LR•IPV4•6『线路6』 新昌生活,http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8$LR•IPV4 -新昌新闻综合,https://l.cztvcloud.com/channels/lantian/SXxinchang1/720p.m3u8$LR•IPV4•7『线路1』 -新昌新闻综合,https://t.freetv.fun/live/xin-chang-xin-wen-zong-he.m3u8$LR•IPV4•7『线路2』 -新昌新闻综合,https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-5.ctv$LR•IPV4•7『线路3』 -新昌新闻综合,https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-1.m3u8$LR•IPV4•7『线路4』 -新昌新闻综合,http://l.cztvcloud.com/channels/lantian/SXxinchang1/720p.m3u8$LR•IPV4•7『线路5』 -新昌新闻综合,https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-4.m3u8$LR•IPV4•7『线路6』 -新昌新闻综合,https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-3.m3u8$LR•IPV4•7『线路7』 -文成综合,http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8?zzhed$LR•IPV4•4『线路1』 -文成综合,http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8$LR•IPV4•4『线路2』 +新昌新闻综合,https://t.freetv.fun/live/xin-chang-xin-wen-zong-he.m3u8$LR•IPV4•7『线路1』 +新昌新闻综合,https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-5.ctv$LR•IPV4•7『线路2』 +新昌新闻综合,https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-4.m3u8$LR•IPV4•7『线路3』 +新昌新闻综合,http://l.cztvcloud.com/channels/lantian/SXxinchang1/720p.m3u8$LR•IPV4•7『线路4』 +新昌新闻综合,https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-3.m3u8$LR•IPV4•7『线路5』 +新昌新闻综合,https://stream1.freetv.fun/xin-chang-xin-wen-zong-he-1.m3u8$LR•IPV4•7『线路6』 +新昌新闻综合,https://l.cztvcloud.com/channels/lantian/SXxinchang1/720p.m3u8$LR•IPV4•7『线路7』 +文成综合,http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8$LR•IPV4•4『线路1』 +文成综合,http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8?zzhed$LR•IPV4•4『线路2』 文成综合,http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8?zzhed?$LR•IPV4•4『线路3』 文成综合,http://l.cztvcloud.com/channels/lantian/SXwencheng1/720p.m3u8?fbl=$LR•IPV4•4『线路4』 -庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8$LR•IPV4•6『线路1』 -庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed$LR•IPV4•6『线路2』 -庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed?$LR•IPV4•6『线路3』 -庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路4』 -庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?fbl=$LR•IPV4•6『线路5』 -庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed[浙江]洞头综合频道$LR•IPV4•6『线路6』 -嵊泗综合,http://l.cztvcloud.com/channels/lantian/SXshengsi1/720p.m3u8$LR•IPV4•8『线路1』 -嵊泗综合,https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-1.m3u8$LR•IPV4•8『线路2』 -嵊泗综合,https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-3.m3u8$LR•IPV4•8『线路3』 -嵊泗综合,https://play-sh11.quklive.com/live/1626935015913208.m3u8$LR•IPV4•8『线路4』 -嵊泗综合,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8$LR•IPV4•8『线路5』 -嵊泗综合,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed$LR•IPV4•8『线路6』 -嵊泗综合,https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-2.m3u8$LR•IPV4•8『线路7』 -嵊泗综合,https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-2.ctv$LR•IPV4•8『线路8』 +庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路1』 +庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed[浙江]洞头综合频道$LR•IPV4•6『线路2』 +庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?fbl=$LR•IPV4•6『线路3』 +庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed$LR•IPV4•6『线路4』 +庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8$LR•IPV4•6『线路5』 +庆元综合,http://l.cztvcloud.com/channels/lantian/SXqingyuan1/720p.m3u8?zzhed?$LR•IPV4•6『线路6』 +嵊泗综合,https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-3.m3u8$LR•IPV4•8『线路1』 +嵊泗综合,http://l.cztvcloud.com/channels/lantian/SXshengsi1/720p.m3u8$LR•IPV4•8『线路2』 +嵊泗综合,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8$LR•IPV4•8『线路3』 +嵊泗综合,https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-2.ctv$LR•IPV4•8『线路4』 +嵊泗综合,https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-2.m3u8$LR•IPV4•8『线路5』 +嵊泗综合,https://stream1.freetv.fun/sheng-zhou-xin-wen-zong-he-1.m3u8$LR•IPV4•8『线路6』 +嵊泗综合,https://play-sh11.quklive.com/live/1626935015913208.m3u8$LR•IPV4•8『线路7』 +嵊泗综合,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed$LR•IPV4•8『线路8』 余杭综合,http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8$LR•IPV4•3『线路1』 余杭综合,http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8?zzhed$LR•IPV4•3『线路2』 余杭综合,http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•3『线路3』 余杭未来E,http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8$LR•IPV4•2『线路1』 余杭未来E,http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8?zzhed$LR•IPV4•2『线路2』 -余姚综合,https://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8$LR•IPV4•6『线路1』 -余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8$LR•IPV4•6『线路2』 -余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?zzhed$LR•IPV4•6『线路3』 -余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?$LR•IPV4•6『线路4』 -余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•6『线路5』 -余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路6』 +余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?zzhed$LR•IPV4•6『线路1』 +余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?cWlkPSZzPTg3OWMwYmMyZDMzYTFhZGY3NDQxMjgyYTg1MmUzNTY0JmVzPTE3MDY2Nzc4NzMmdXVpZD0yMjdiY2MzNGNiNGY0MThlYjRiY2IxYzcwNmZjODNkMS02NzQ3NDY2NyZ2PTImYXM9MCZjZG5leF9pZD10eF9waG9uZV9saXZl$LR•IPV4•6『线路2』 +余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?$LR•IPV4•6『线路3』 +余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]$LR•IPV4•6『线路4』 +余姚综合,https://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8$LR•IPV4•6『线路5』 +余姚综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8$LR•IPV4•6『线路6』 中国蓝新闻,http://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8$LR•IPV4•2『线路1』 中国蓝新闻,https://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8?$LR•IPV4•2『线路2』 广东,#genre# -深圳卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226959/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EGrVNEZREjuNVKiTJo2mtwg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•27『线路1』 -深圳卫视,http://112.123.243.37:50085/tsfile/live/1000_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•27『线路2』 -深圳卫视,http://120.202.94.181:9446/tsfile/live/0126_1.m3u8?key=txiptv$LR•IPV4•27『线路3』 -深圳卫视,http://173.208.212.130:8181/720p/szws.m3u8$LR•IPV4•27『线路4』 -深圳卫视,http://207.56.13.146:81/cdnlive/szws.m3u8$LR•IPV4•27『线路5』 -深圳卫视,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=szwshd$LR•IPV4•27『线路6』 -深圳卫视,http://36.136.38.87:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路7』 -深圳卫视,http://153.0.171.163:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•27『线路8』 -深圳卫视,http://112.27.235.94:8000/hls/33/index.m3u8$LR•IPV4•27『线路9』 -深圳卫视,http://60.10.139.113:8801/hls/24/index.m3u8$LR•IPV4•27『线路10』 -深圳卫视,http://192.151.150.154/live/szwshd.m3u8$LR•IPV4•27『线路11』 -深圳卫视,http://204.12.221.218:8181/3m1080p/szws.m3u8$LR•IPV4•27『线路12』 -深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000024026&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路13』 -深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000007410&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路14』 -深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000009227&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路15』 -深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000011645&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路16』 -深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=5352218613763113657&livemode=1&stbId=yu&mode=1&$LR•IPV4•27『线路17』 -深圳卫视,http://111.29.9.38:6610/000000001000/1000000001000009227/index.m3u8?channel-id=ystenlive&Contentid=1000000001000009227&livemode=1&stbId=3$LR•IPV4•27『线路18』 -深圳卫视,http://111.29.9.33:6610/000000001000/1000000001000009227/index.m3u8?channel-id=bestzb&Contentid=1000000001000009227&livemode=1&stbId=3$LR•IPV4•27『线路19』 -深圳卫视,http://38.75.136.137:98/gslb/dsdqpub/szwshd.m3u8?auth=testpub$LR•IPV4•27『线路20』 -深圳卫视,http://23.237.228.134/live6/shenzhen.m3u8$LR•IPV4•27『线路21』 -深圳卫视,http://gfr.x3322.net:9901/tsfile/live/1095_1.m3u8$LR•IPV4•27『线路22』 -深圳卫视,http://api.kkitv.itv888.cn:8080/hls/iftsd32ykm/index.m3u8$LR•IPV4•27『线路23』 -深圳卫视,https://iptv.catvod.com/catvod.php?id=szws$LR•IPV4•27『线路24』 -深圳卫视,https://httop.top/ysp-深圳卫视$LR•IPV4•27『线路25』 -深圳卫视,http://iptv.huuc.edu.cn/hls/szhd.m3u8$LR•IPV4•27『线路26』 -深圳卫视,http://38.64.72.148:80/hls/modn/list/4007/playlist.m3u8$LR•IPV4•27『线路27』 +深圳卫视,https://sztv-hls.sztv.com.cn/AxeFRth/500/827hx4F.m3u8?sign=81a984a7a0d86523a2458304ed14d6bb&t=6a4e6457$LR•IPV4•28『线路1』 +深圳卫视,http://112.123.243.37:50085/tsfile/live/1000_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4•28『线路2』 +深圳卫视,http://120.202.94.181:9446/tsfile/live/0126_1.m3u8?key=txiptv$LR•IPV4•28『线路3』 +深圳卫视,http://173.208.212.130:8181/720p/szws.m3u8$LR•IPV4•28『线路4』 +深圳卫视,http://207.56.13.146:81/cdnlive/szws.m3u8$LR•IPV4•28『线路5』 +深圳卫视,http://63.141.230.178:82/gslb/zbdq5.m3u8?id=szwshd$LR•IPV4•28『线路6』 +深圳卫视,http://36.136.38.87:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路7』 +深圳卫视,http://153.0.171.163:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4•28『线路8』 +深圳卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226959/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EGrVNEZREjuNVKiTJo2mtwg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND$LR•IPV6•28『线路9』 +深圳卫视,http://112.27.235.94:8000/hls/33/index.m3u8$LR•IPV4•28『线路10』 +深圳卫视,http://38.75.136.137:98/gslb/dsdqpub/szwshd.m3u8?auth=testpub$LR•IPV4•28『线路11』 +深圳卫视,http://23.237.228.134/live6/shenzhen.m3u8$LR•IPV4•28『线路12』 +深圳卫视,http://gfr.x3322.net:9901/tsfile/live/1095_1.m3u8$LR•IPV4•28『线路13』 +深圳卫视,http://api.kkitv.itv888.cn:8080/hls/iftsd32ykm/index.m3u8$LR•IPV4•28『线路14』 +深圳卫视,https://iptv.catvod.com/catvod.php?id=szws$LR•IPV4•28『线路15』 +深圳卫视,https://httop.top/ysp-深圳卫视$LR•IPV4•28『线路16』 +深圳卫视,http://iptv.huuc.edu.cn/hls/szhd.m3u8$LR•IPV4•28『线路17』 +深圳卫视,http://38.64.72.148:80/hls/modn/list/4007/playlist.m3u8$LR•IPV4•28『线路18』 +深圳卫视,http://60.10.139.113:8801/hls/24/index.m3u8$LR•IPV4•28『线路19』 +深圳卫视,http://192.151.150.154/live/szwshd.m3u8$LR•IPV4•28『线路20』 +深圳卫视,http://204.12.221.218:8181/3m1080p/szws.m3u8$LR•IPV4•28『线路21』 +深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=bestzb&Contentid=5000000010000024026&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路22』 +深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=5000000004000007410&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路23』 +深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000009227&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路24』 +深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=FifastbLive&Contentid=1000000001000011645&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路25』 +深圳卫视,http://gslbserv.itv.cmvideo.cn:80/1.m3u8?channel-id=ystenlive&Contentid=5352218613763113657&livemode=1&stbId=yu&mode=1&$LR•IPV4•28『线路26』 +深圳卫视,http://111.29.9.38:6610/000000001000/1000000001000009227/index.m3u8?channel-id=ystenlive&Contentid=1000000001000009227&livemode=1&stbId=3$LR•IPV4•28『线路27』 +深圳卫视,http://111.29.9.33:6610/000000001000/1000000001000009227/index.m3u8?channel-id=bestzb&Contentid=1000000001000009227&livemode=1&stbId=3$LR•IPV4•28『线路28』 汕头经济,https://stream1.freetv.fun/shan-tou-jing-ji-2.ctv$LR•IPV4•11『线路1』 -汕头经济,https://stream1.freetv.fun/shan-tou-jing-ji-3.ctv$LR•IPV4•11『线路2』 -汕头经济,https://stream1.freetv.fun/shan-tou-jing-ji-5.ctv$LR•IPV4•11『线路3』 -汕头经济,http://125.89.163.44:8888/udp/239.77.1.131:5146$LR•IPV4•11『线路4』 -汕头经济,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9512&tk=a0c4f6cfaba3$LR•IPV4•11『线路5』 -汕头经济,http://120.77.205.62:8087/rtp/239.253.43.43:5146$LR•IPV4•11『线路6』 -汕头经济,http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=LEsjua&tk=zUr4K92Dl6kh$LR•IPV4•11『线路7』 -汕头经济,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2962&tk=a0c4f6cfaba3$LR•IPV4•11『线路8』 +汕头经济,https://stream1.freetv.fun/shan-tou-jing-ji-4.ctv$LR•IPV4•11『线路2』 +汕头经济,https://stream1.freetv.fun/shan-tou-jing-ji-6.ctv$LR•IPV4•11『线路3』 +汕头经济,http://120.77.205.62:8087/rtp/239.253.43.43:5146$LR•IPV4•11『线路4』 +汕头经济,https://stream1.freetv.fun/shan-tou-jing-ji-3.ctv$LR•IPV4•11『线路5』 +汕头经济,https://stream1.freetv.fun/shan-tou-jing-ji-5.ctv$LR•IPV4•11『线路6』 +汕头经济,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=9512&tk=a0c4f6cfaba3$LR•IPV4•11『线路7』 +汕头经济,http://bak.dou.ddns-ip.net/api.php?n=cctvxxx&id=LEsjua&tk=zUr4K92Dl6kh$LR•IPV4•11『线路8』 汕头经济,https://stream1.freetv.fun/shan-tou-jing-ji-1.ctv$LR•IPV4•11『线路9』 -汕头经济,https://stream1.freetv.fun/shan-tou-jing-ji-4.ctv$LR•IPV4•11『线路10』 -汕头经济,https://stream1.freetv.fun/shan-tou-jing-ji-6.ctv$LR•IPV4•11『线路11』 +汕头经济,http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=2962&tk=a0c4f6cfaba3$LR•IPV4•11『线路10』 +汕头经济,http://125.89.163.44:8888/udp/239.77.1.131:5146$LR•IPV4•11『线路11』